{"version":3,"file":"app-dfdc072db79f8cdca016.js","mappings":"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","sources":["webpack://gatsby-template/./node_modules/@gatsbyjs/reach-router/lib/history.js","webpack://gatsby-template/./node_modules/@gatsbyjs/reach-router/lib/utils.js","webpack://gatsby-template/./node_modules/browser-lang/dist/index.js","webpack://gatsby-template/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://gatsby-template/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://gatsby-template/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://gatsby-template/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://gatsby-template/./node_modules/i18next/dist/cjs/i18next.js","webpack://gatsby-template/./node_modules/outdent/lib-module/index.js","webpack://gatsby-template/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://gatsby-template/./node_modules/react-i18next/dist/es/unescape.js","webpack://gatsby-template/./node_modules/react-i18next/dist/es/context.js","webpack://gatsby-template/./node_modules/react-i18next/dist/es/utils.js","webpack://gatsby-template/./node_modules/react-i18next/dist/es/Trans.js","webpack://gatsby-template/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://gatsby-template/./node_modules/react-i18next/dist/es/withTranslation.js","webpack://gatsby-template/./node_modules/react-i18next/dist/es/Translation.js","webpack://gatsby-template/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://gatsby-template/./node_modules/react-i18next/dist/es/useSSR.js","webpack://gatsby-template/./node_modules/react-i18next/dist/es/withSSR.js","webpack://gatsby-template/./node_modules/react-i18next/dist/es/index.js","webpack://gatsby-template/./node_modules/void-elements/index.js","webpack://gatsby-template/./node_modules/core-js/internals/a-callable.js","webpack://gatsby-template/./node_modules/core-js/internals/add-to-unscopables.js","webpack://gatsby-template/./node_modules/core-js/internals/an-object.js","webpack://gatsby-template/./node_modules/core-js/internals/array-includes.js","webpack://gatsby-template/./node_modules/core-js/internals/array-species-constructor.js","webpack://gatsby-template/./node_modules/core-js/internals/array-species-create.js","webpack://gatsby-template/./node_modules/core-js/internals/classof-raw.js","webpack://gatsby-template/./node_modules/core-js/internals/classof.js","webpack://gatsby-template/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://gatsby-template/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://gatsby-template/./node_modules/core-js/internals/create-property-descriptor.js","webpack://gatsby-template/./node_modules/core-js/internals/define-built-in.js","webpack://gatsby-template/./node_modules/core-js/internals/define-global-property.js","webpack://gatsby-template/./node_modules/core-js/internals/descriptors.js","webpack://gatsby-template/./node_modules/core-js/internals/document-create-element.js","webpack://gatsby-template/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://gatsby-template/./node_modules/core-js/internals/engine-user-agent.js","webpack://gatsby-template/./node_modules/core-js/internals/engine-v8-version.js","webpack://gatsby-template/./node_modules/core-js/internals/enum-bug-keys.js","webpack://gatsby-template/./node_modules/core-js/internals/export.js","webpack://gatsby-template/./node_modules/core-js/internals/fails.js","webpack://gatsby-template/./node_modules/core-js/internals/flatten-into-array.js","webpack://gatsby-template/./node_modules/core-js/internals/function-bind-context.js","webpack://gatsby-template/./node_modules/core-js/internals/function-bind-native.js","webpack://gatsby-template/./node_modules/core-js/internals/function-call.js","webpack://gatsby-template/./node_modules/core-js/internals/function-name.js","webpack://gatsby-template/./node_modules/core-js/internals/function-uncurry-this.js","webpack://gatsby-template/./node_modules/core-js/internals/get-built-in.js","webpack://gatsby-template/./node_modules/core-js/internals/get-method.js","webpack://gatsby-template/./node_modules/core-js/internals/global.js","webpack://gatsby-template/./node_modules/core-js/internals/has-own-property.js","webpack://gatsby-template/./node_modules/core-js/internals/hidden-keys.js","webpack://gatsby-template/./node_modules/core-js/internals/html.js","webpack://gatsby-template/./node_modules/core-js/internals/ie8-dom-define.js","webpack://gatsby-template/./node_modules/core-js/internals/indexed-object.js","webpack://gatsby-template/./node_modules/core-js/internals/inspect-source.js","webpack://gatsby-template/./node_modules/core-js/internals/internal-state.js","webpack://gatsby-template/./node_modules/core-js/internals/is-array.js","webpack://gatsby-template/./node_modules/core-js/internals/is-callable.js","webpack://gatsby-template/./node_modules/core-js/internals/is-constructor.js","webpack://gatsby-template/./node_modules/core-js/internals/is-forced.js","webpack://gatsby-template/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://gatsby-template/./node_modules/core-js/internals/is-object.js","webpack://gatsby-template/./node_modules/core-js/internals/is-pure.js","webpack://gatsby-template/./node_modules/core-js/internals/is-symbol.js","webpack://gatsby-template/./node_modules/core-js/internals/length-of-array-like.js","webpack://gatsby-template/./node_modules/core-js/internals/make-built-in.js","webpack://gatsby-template/./node_modules/core-js/internals/math-trunc.js","webpack://gatsby-template/./node_modules/core-js/internals/object-create.js","webpack://gatsby-template/./node_modules/core-js/internals/object-define-properties.js","webpack://gatsby-template/./node_modules/core-js/internals/object-define-property.js","webpack://gatsby-template/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://gatsby-template/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://gatsby-template/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://gatsby-template/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://gatsby-template/./node_modules/core-js/internals/object-keys-internal.js","webpack://gatsby-template/./node_modules/core-js/internals/object-keys.js","webpack://gatsby-template/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://gatsby-template/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://gatsby-template/./node_modules/core-js/internals/own-keys.js","webpack://gatsby-template/./node_modules/core-js/internals/require-object-coercible.js","webpack://gatsby-template/./node_modules/core-js/internals/shared-key.js","webpack://gatsby-template/./node_modules/core-js/internals/shared-store.js","webpack://gatsby-template/./node_modules/core-js/internals/shared.js","webpack://gatsby-template/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://gatsby-template/./node_modules/core-js/internals/to-absolute-index.js","webpack://gatsby-template/./node_modules/core-js/internals/to-indexed-object.js","webpack://gatsby-template/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://gatsby-template/./node_modules/core-js/internals/to-length.js","webpack://gatsby-template/./node_modules/core-js/internals/to-object.js","webpack://gatsby-template/./node_modules/core-js/internals/to-primitive.js","webpack://gatsby-template/./node_modules/core-js/internals/to-property-key.js","webpack://gatsby-template/./node_modules/core-js/internals/to-string-tag-support.js","webpack://gatsby-template/./node_modules/core-js/internals/try-to-string.js","webpack://gatsby-template/./node_modules/core-js/internals/uid.js","webpack://gatsby-template/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://gatsby-template/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://gatsby-template/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://gatsby-template/./node_modules/core-js/internals/well-known-symbol.js","webpack://gatsby-template/./node_modules/core-js/modules/es.array.flat-map.js","webpack://gatsby-template/./node_modules/core-js/modules/es.array.unscopables.flat-map.js","webpack://gatsby-template/./node_modules/gatsby-react-router-scroll/index.js","webpack://gatsby-template/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://gatsby-template/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://gatsby-template/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://gatsby-template/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://gatsby-template/./.cache/api-runner-browser-plugins.js","webpack://gatsby-template/./.cache/api-runner-browser.js","webpack://gatsby-template/./node_modules/mitt/dist/mitt.es.js","webpack://gatsby-template/./.cache/emitter.js","webpack://gatsby-template/./.cache/normalize-page-path.js","webpack://gatsby-template/./.cache/find-path.js","webpack://gatsby-template/./.cache/gatsby-browser-entry.js","webpack://gatsby-template/./.cache/prefetch.js","webpack://gatsby-template/./.cache/loader.js","webpack://gatsby-template/./.cache/head/components/fire-callback-in-effect.js","webpack://gatsby-template/./.cache/head/constants.js","webpack://gatsby-template/./.cache/head/utils.js","webpack://gatsby-template/./.cache/head/head-export-handler-for-browser.js","webpack://gatsby-template/./.cache/page-renderer.js","webpack://gatsby-template/./.cache/route-announcer-props.js","webpack://gatsby-template/./.cache/navigation.js","webpack://gatsby-template/./node_modules/shallow-compare/es/index.js","webpack://gatsby-template/./.cache/ensure-resources.js","webpack://gatsby-template/./.cache/production-app.js","webpack://gatsby-template/./.cache/public-page-renderer-prod.js","webpack://gatsby-template/./.cache/public-page-renderer.js","webpack://gatsby-template/./.cache/react-dom-utils.js","webpack://gatsby-template/./.cache/react-lifecycles-compat.js","webpack://gatsby-template/./.cache/redirect-utils.js","webpack://gatsby-template/./.cache/register-service-worker.js","webpack://gatsby-template/./.cache/strip-prefix.js","webpack://gatsby-template/./node_modules/gatsby-plugin-react-i18next/dist/i18nextContext.js","webpack://gatsby-template/./node_modules/gatsby-plugin-react-i18next/dist/plugin/wrapPageElement.js","webpack://gatsby-template/./node_modules/gatsby-plugin-react-i18next/dist/types.js","webpack://gatsby-template/./node_modules/gatsby-plugin-react-i18next/gatsby-browser.js","webpack://gatsby-template/./node_modules/@gatsbyjs/reach-router/es/lib/utils.js","webpack://gatsby-template/./node_modules/@gatsbyjs/reach-router/es/lib/history.js","webpack://gatsby-template/./node_modules/@gatsbyjs/reach-router/es/index.js","webpack://gatsby-template/./node_modules/invariant/browser.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/createClass.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/extends.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/inherits.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/toArray.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/typeof.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://gatsby-template/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://gatsby-template/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://gatsby-template/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://gatsby-template/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["\"use strict\";\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\n });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + \"\"\n }); // try...catch iOS Safari limits to 100 pushState calls\n\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: \"PUSH\"\n });\n });\n return transition;\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\n\n\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n return {\n get location() {\n return stack[index];\n },\n\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n\n get index() {\n return index;\n },\n\n get state() {\n return states[index];\n },\n\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({\n pathname: pathname,\n search: search.length ? \"?\" + search : search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\n\n\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate; ////////////////////////////////////////////////////////////////////////////////\n\nexports.globalHistory = globalHistory;\nexports.navigate = navigate;\nexports.createHistory = createHistory;\nexports.createMemorySource = createMemorySource;","\"use strict\";\n\nexports.__esModule = true;\nexports.shallowCompare = exports.validateRedirect = exports.insertParams = exports.resolve = exports.match = exports.pick = exports.startsWith = undefined;\n\nvar _invariant = require(\"invariant\");\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n} ////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\n\n\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n}; ////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\n\n\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? (0, _invariant2.default)(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : (0, _invariant2.default)(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\n\n\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n}; ////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\n\n\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname); // ?a=b, /users?b=c => /users?a=b\n\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n } // profile, /users/789 => /users/789/profile\n\n\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n } // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n\n\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n}; ////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\n\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\n\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\n\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n\n\nexports.startsWith = startsWith;\nexports.pick = pick;\nexports.match = match;\nexports.resolve = resolve;\nexports.insertParams = insertParams;\nexports.validateRedirect = validateRedirect;\nexports.shallowCompare = shallowCompare;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction startsWith(string, target, position) {\n var length = string.length;\n position = position == null ? 0 : position;\n\n if (position < 0) {\n position = 0;\n } else if (position > length) {\n position = length;\n }\n\n target = \"\".concat(target);\n return string.slice(position, position + target.length) == target;\n}\n\nfunction getBrowserLang() {\n if (typeof window === \"undefined\") {\n return null;\n }\n\n var lang = window.navigator.languages && window.navigator.languages[0] || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage || window.navigator.systemLanguage || null;\n return lang;\n}\n\nfunction normalizeCode(code) {\n return code.toLowerCase().replace(/-/, \"_\");\n}\n\nfunction getPreferredLanguage(options) {\n if (!options) {\n return getBrowserLang();\n }\n\n var languages = options.languages,\n fallback = options.fallback;\n\n if (!options.languages) {\n return fallback;\n } // some browsers report language as en-US instead of en_US\n\n\n var browserLanguage = normalizeCode(getBrowserLang());\n\n if (!browserLanguage) {\n return fallback;\n }\n\n var match = languages.filter(function (lang) {\n return normalizeCode(lang) === browserLanguage;\n });\n\n if (match.length > 0) {\n return match[0] || fallback;\n } // en == en_US\n\n\n var matchCodeOnly = languages.filter(function (lang) {\n return startsWith(browserLanguage, lang) || startsWith(lang, browserLanguage);\n });\n return matchCodeOnly[0] || fallback;\n}\n\nvar _default = getPreferredLanguage;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0; // TODO(v5): Remove legacy setting and default to \"always\"\n\nvar applyTrailingSlashOption = function applyTrailingSlashOption(input) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"legacy\";\n var hasHtmlSuffix = input.endsWith(\".html\");\n var hasXmlSuffix = input.endsWith(\".xml\");\n var hasPdfSuffix = input.endsWith(\".pdf\");\n if (input === \"/\") return input;\n\n if (hasHtmlSuffix || hasXmlSuffix || hasPdfSuffix) {\n option = \"never\";\n }\n\n if (option === \"always\") {\n return input.endsWith(\"/\") ? input : \"\".concat(input, \"/\");\n }\n\n if (option === \"never\") {\n return input.endsWith(\"/\") ? input.slice(0, -1) : input;\n }\n\n return input;\n};\n\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\n\nvar _gatsbyScript = require(\"gatsby-script\");\n\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\"); // Makes sure off-main-thread scripts are loaded in `gatsby develop`\n\n\nvar onInitialClientRender = function onInitialClientRender() {\n if (process.env.NODE_ENV !== \"development\") {\n return;\n }\n\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname)); // Clear scripts after we've used them to avoid leaky behavior\n\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n}; // Client-side navigation (CSR, e.g. Gatsby Link navigations) are broken upstream in Partytown.\n// We need an official API from Partytown for handling re-configuration and on-demand script loading.\n// Until then, `off-main-thread` scripts load only on server-side navigation (SSR).\n// See https://github.com/BuilderIO/partytown/issues/74 for more details.\n\n\nexports.onInitialClientRender = onInitialClientRender;","\"use strict\";\n\nrequire(\"core-js/modules/es.array.flat-map.js\");\n\nrequire(\"core-js/modules/es.array.unscopables.flat-map.js\");\n\nexports.__esModule = true;\nexports.getForwards = getForwards;\n\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(function (script) {\n return (script === null || script === void 0 ? void 0 : script.forward) || [];\n });\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\n\nvar _integration = require(\"@builder.io/partytown/integration\");\n\nvar _getForwards = require(\"./get-forwards\"); // Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\n\n\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n\n var existingSnippet = document.querySelector(\"script[data-partytown]\");\n var existingSandbox = document.querySelector(\"iframe[src*=\\\"~partytown/partytown-sandbox-sw\\\"]\");\n\n if (existingSnippet) {\n existingSnippet.remove();\n }\n\n if (existingSandbox) {\n existingSandbox.remove();\n }\n\n var forwards = (0, _getForwards.getForwards)(collectedScripts);\n var snippet = document.createElement(\"script\");\n snippet.dataset.partytown = \"\";\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}","'use strict';\n\nvar _typeof = require('@babel/runtime/helpers/typeof');\n\nvar _classCallCheck = require('@babel/runtime/helpers/classCallCheck');\n\nvar _createClass = require('@babel/runtime/helpers/createClass');\n\nvar _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');\n\nvar _inherits = require('@babel/runtime/helpers/inherits');\n\nvar _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');\n\nvar _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');\n\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\n\nvar _toArray = require('@babel/runtime/helpers/toArray');\n\nfunction _interopDefaultLegacy(e) {\n return e && typeof e === 'object' && 'default' in e ? e : {\n 'default': e\n };\n}\n\nvar _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);\n\nvar _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);\n\nvar _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);\n\nvar _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);\n\nvar _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);\n\nvar _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);\n\nvar _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);\n\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\n\nvar _toArray__default = /*#__PURE__*/_interopDefaultLegacy(_toArray);\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty__default['default'](target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass__default['default'](Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread(_objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck__default['default'](this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass__default['default'](EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\n\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\n\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\n\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\n\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\n\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\n\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\n\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\n\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\n\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\n\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\n\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n\n return matched;\n}\n\nfunction ownKeys$1(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$1(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$1(Object(source), true).forEach(function (key) {\n _defineProperty__default['default'](target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$1(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf__default['default'](Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf__default['default'](this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn__default['default'](this, result);\n };\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n\n current = current[paths[i]];\n }\n\n return current;\n}\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits__default['default'](ResourceStore, _EventEmitter);\n\n var _super = _createSuper(ResourceStore);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck__default['default'](this, ResourceStore);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n\n return _this;\n }\n\n _createClass__default['default'](ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$1(_objectSpread$1({}, pack), resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$1(_objectSpread$1({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$2(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$2(Object(source), true).forEach(function (key) {\n _defineProperty__default['default'](target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$2(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _createSuper$1(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct$1();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf__default['default'](Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf__default['default'](this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn__default['default'](this, result);\n };\n}\n\nfunction _isNativeReflectConstruct$1() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits__default['default'](Translator, _EventEmitter);\n\n var _super = _createSuper$1(Translator);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, Translator);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized__default['default'](_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass__default['default'](Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n\n if (key === undefined || key === null) {\n return false;\n }\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof__default['default'](options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n\n if (returnDetails) {\n resolved.res = key;\n return resolved;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$2(_objectSpread$2({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n\n return r;\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$2(_objectSpread$2({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$2(_objectSpread$2({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$2(_objectSpread$2({}, options), {\n interpolation: _objectSpread$2(_objectSpread$2({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$2({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck__default['default'](this, LanguageUtil);\n\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass__default['default'](LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\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__default['default'](this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n\n this.rules = createRules();\n }\n\n _createClass__default['default'](PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (!rule) {\n return [];\n }\n\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n\n return this.getSuffixRetroCompatible(rule, count);\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$3(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$3(Object(source), true).forEach(function (key) {\n _defineProperty__default['default'](target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$3(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default['default'](this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass__default['default'](Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && options.hasOwnProperty(matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread$3({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction ownKeys$4(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$4(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$4(Object(source), true).forEach(function (key) {\n _defineProperty__default['default'](target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$4(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray__default['default'](_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\n\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n\n return formatter(val);\n };\n}\n\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default['default'](this, Formatter);\n\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, options);\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$4(_objectSpread$4({}, options), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val, options.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n\n _createClass__default['default'](Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n\n var formats = _format.split(this.formatSeparator);\n\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n\n if (_this.formats[formatName]) {\n var formatted = mem;\n\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$4(_objectSpread$4(_objectSpread$4({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n\n return mem;\n }, value);\n return result;\n }\n }]);\n\n return Formatter;\n}();\n\nfunction ownKeys$5(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$5(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$5(Object(source), true).forEach(function (key) {\n _defineProperty__default['default'](target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$5(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _createSuper$2(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct$2();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf__default['default'](Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf__default['default'](this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn__default['default'](this, result);\n };\n}\n\nfunction _isNativeReflectConstruct$2() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits__default['default'](Connector, _EventEmitter);\n\n var _super = _createSuper$2(Connector);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck__default['default'](this, Connector);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass__default['default'](Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ;else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loaded[l][ns] === undefined) loaded[l][ns] = true;\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n\n this.readingCalls++;\n return this.backend[fcName](lng, ns, function (err, data) {\n _this3.readingCalls--;\n\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread$5(_objectSpread$5({}, options), {}, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof__default['default'](args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof__default['default'](args[2]) === 'object' || _typeof__default['default'](args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\n\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction ownKeys$6(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread$6(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys$6(Object(source), true).forEach(function (key) {\n _defineProperty__default['default'](target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys$6(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _createSuper$3(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct$3();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf__default['default'](Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf__default['default'](this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn__default['default'](this, result);\n };\n}\n\nfunction _isNativeReflectConstruct$3() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction noop() {}\n\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\n\nvar I18n = function (_EventEmitter) {\n _inherits__default['default'](I18n, _EventEmitter);\n\n var _super = _createSuper$3(I18n);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck__default['default'](this, I18n);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized__default['default'](_this));\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn__default['default'](_this, _assertThisInitialized__default['default'](_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass__default['default'](I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n\n var defOpts = get();\n this.options = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, defOpts), this.options), transformOptions(options));\n\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread$6(_objectSpread$6({}, defOpts.interpolation), this.options.interpolation);\n }\n\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var formatter;\n\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\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 === 'formatter') {\n this.modules.formatter = module;\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n\n _this4.setResolvedLanguage(l);\n };\n\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof__default['default'](opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread$6({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, this.options), options), {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread$6({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\n_defineProperty__default['default'](I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\n\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\nmodule.exports = instance;","// In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either.\nfunction noop() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n}\n\nfunction createWeakMap() {\n if (typeof WeakMap !== \"undefined\") {\n return new WeakMap();\n } else {\n return fakeSetOrMap();\n }\n}\n/**\n * Creates and returns a no-op implementation of a WeakMap / WeakSet that never stores anything.\n */\n\n\nfunction fakeSetOrMap() {\n return {\n add: noop,\n delete: noop,\n get: noop,\n set: noop,\n has: function has(k) {\n return false;\n }\n };\n} // Safe hasOwnProperty\n\n\nvar hop = Object.prototype.hasOwnProperty;\n\nvar has = function has(obj, prop) {\n return hop.call(obj, prop);\n}; // Copy all own enumerable properties from source to target\n\n\nfunction extend(target, source) {\n for (var prop in source) {\n if (has(source, prop)) {\n target[prop] = source[prop];\n }\n }\n\n return target;\n}\n\nvar reLeadingNewline = /^[ \\t]*(?:\\r\\n|\\r|\\n)/;\nvar reTrailingNewline = /(?:\\r\\n|\\r|\\n)[ \\t]*$/;\nvar reStartsWithNewlineOrIsEmpty = /^(?:[\\r\\n]|$)/;\nvar reDetectIndentation = /(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/;\nvar reOnlyWhitespaceWithAtLeastOneNewline = /^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;\n\nfunction _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options) {\n // If first interpolated value is a reference to outdent,\n // determine indentation level from the indentation of the interpolated value.\n var indentationLevel = 0;\n var match = strings[0].match(reDetectIndentation);\n\n if (match) {\n indentationLevel = match[1].length;\n }\n\n var reSource = \"(\\\\r\\\\n|\\\\r|\\\\n).{0,\" + indentationLevel + \"}\";\n var reMatchIndent = new RegExp(reSource, \"g\");\n\n if (firstInterpolatedValueSetsIndentationLevel) {\n strings = strings.slice(1);\n }\n\n var newline = options.newline,\n trimLeadingNewline = options.trimLeadingNewline,\n trimTrailingNewline = options.trimTrailingNewline;\n var normalizeNewlines = typeof newline === \"string\";\n var l = strings.length;\n var outdentedStrings = strings.map(function (v, i) {\n // Remove leading indentation from all lines\n v = v.replace(reMatchIndent, \"$1\"); // Trim a leading newline from the first string\n\n if (i === 0 && trimLeadingNewline) {\n v = v.replace(reLeadingNewline, \"\");\n } // Trim a trailing newline from the last string\n\n\n if (i === l - 1 && trimTrailingNewline) {\n v = v.replace(reTrailingNewline, \"\");\n } // Normalize newlines\n\n\n if (normalizeNewlines) {\n v = v.replace(/\\r\\n|\\n|\\r/g, function (_) {\n return newline;\n });\n }\n\n return v;\n });\n return outdentedStrings;\n}\n\nfunction concatStringsAndValues(strings, values) {\n var ret = \"\";\n\n for (var i = 0, l = strings.length; i < l; i++) {\n ret += strings[i];\n\n if (i < l - 1) {\n ret += values[i];\n }\n }\n\n return ret;\n}\n\nfunction isTemplateStringsArray(v) {\n return has(v, \"raw\") && has(v, \"length\");\n}\n/**\n * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to\n * makeInstance\n * @param options\n * @return {outdent}\n */\n\n\nfunction createInstance(options) {\n /** Cache of pre-processed template literal arrays */\n var arrayAutoIndentCache = createWeakMap();\n /**\n * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent,\n * before interpolated values are injected.\n */\n\n var arrayFirstInterpSetsIndentCache = createWeakMap();\n\n function outdent(stringsOrOptions) {\n var values = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n /* tslint:enable:no-shadowed-variable */\n\n\n if (isTemplateStringsArray(stringsOrOptions)) {\n var strings = stringsOrOptions; // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace?\n\n var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) && reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) && reStartsWithNewlineOrIsEmpty.test(strings[1]); // Perform outdentation\n\n var cache = firstInterpolatedValueSetsIndentationLevel ? arrayFirstInterpSetsIndentCache : arrayAutoIndentCache;\n var renderedArray = cache.get(strings);\n\n if (!renderedArray) {\n renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options);\n cache.set(strings, renderedArray);\n }\n /** If no interpolated values, skip concatenation step */\n\n\n if (values.length === 0) {\n return renderedArray[0];\n }\n /** Concatenate string literals with interpolated values */\n\n\n var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values);\n return rendered;\n } else {\n // Create and return a new instance of outdent with the given options\n return createInstance(extend(extend({}, options), stringsOrOptions || {}));\n }\n }\n\n var fullOutdent = extend(outdent, {\n string: function string(str) {\n return _outdentArray([str], false, options)[0];\n }\n });\n return fullOutdent;\n}\n\nvar defaultOutdent = createInstance({\n trimLeadingNewline: true,\n trimTrailingNewline: true\n}); // Named exports. Simple and preferred.\n// import outdent from 'outdent';\n\nexport default defaultOutdent; // import {outdent} from 'outdent';\n\nexport { defaultOutdent as outdent };\n\nif (typeof module !== \"undefined\") {\n // In webpack harmony-modules environments, module.exports is read-only,\n // so we fail gracefully.\n try {\n module.exports = defaultOutdent;\n Object.defineProperty(defaultOutdent, \"__esModule\", {\n value: true\n });\n defaultOutdent.default = defaultOutdent;\n defaultOutdent.outdent = defaultOutdent;\n } catch (e) {}\n}","import e from \"void-elements\";\nvar t = /\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;\n\nfunction n(n) {\n var r = {\n type: \"tag\",\n name: \"\",\n voidElement: !1,\n attrs: {},\n children: []\n },\n i = n.match(/<\\/?([^\\s]+?)[/\\s>]/);\n\n if (i && (r.name = i[1], (e[i[1]] || \"/\" === n.charAt(n.length - 2)) && (r.voidElement = !0), r.name.startsWith(\"!--\"))) {\n var s = n.indexOf(\"--\\x3e\");\n return {\n type: \"comment\",\n comment: -1 !== s ? n.slice(4, s) : \"\"\n };\n }\n\n for (var a = new RegExp(t), c = null; null !== (c = a.exec(n));) {\n if (c[0].trim()) if (c[1]) {\n var o = c[1].trim(),\n l = [o, \"\"];\n o.indexOf(\"=\") > -1 && (l = o.split(\"=\")), r.attrs[l[0]] = l[1], a.lastIndex--;\n } else c[2] && (r.attrs[c[2]] = c[3].trim().substring(1, c[3].length - 1));\n }\n\n return r;\n}\n\nvar r = /<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,\n i = /^\\s*$/,\n s = Object.create(null);\n\nfunction a(e, t) {\n switch (t.type) {\n case \"text\":\n return e + t.content;\n\n case \"tag\":\n return e += \"<\" + t.name + (t.attrs ? function (e) {\n var t = [];\n\n for (var n in e) {\n t.push(n + '=\"' + e[n] + '\"');\n }\n\n return t.length ? \" \" + t.join(\" \") : \"\";\n }(t.attrs) : \"\") + (t.voidElement ? \"/>\" : \">\"), t.voidElement ? e : e + t.children.reduce(a, \"\") + \"\";\n\n case \"comment\":\n return e + \"\\x3c!--\" + t.comment + \"--\\x3e\";\n }\n}\n\nvar c = {\n parse: function parse(e, t) {\n t || (t = {}), t.components || (t.components = s);\n var a,\n c = [],\n o = [],\n l = -1,\n m = !1;\n\n if (0 !== e.indexOf(\"<\")) {\n var u = e.indexOf(\"<\");\n c.push({\n type: \"text\",\n content: -1 === u ? e : e.substring(0, u)\n });\n }\n\n return e.replace(r, function (r, s) {\n if (m) {\n if (r !== \"\") return;\n m = !1;\n }\n\n var u,\n f = \"/\" !== r.charAt(1),\n h = r.startsWith(\"\\x3c!--\"),\n p = s + r.length,\n d = e.charAt(p);\n\n if (h) {\n var v = n(r);\n return l < 0 ? (c.push(v), c) : ((u = o[l]).children.push(v), c);\n }\n\n if (f && (l++, \"tag\" === (a = n(r)).type && t.components[a.name] && (a.type = \"component\", m = !0), a.voidElement || m || !d || \"<\" === d || a.children.push({\n type: \"text\",\n content: e.slice(p, e.indexOf(\"<\", p))\n }), 0 === l && c.push(a), (u = o[l - 1]) && u.children.push(a), o[l] = a), (!f || a.voidElement) && (l > -1 && (a.voidElement || a.name === r.slice(2, -1)) && (l--, a = -1 === l ? c : o[l]), !m && \"<\" !== d && d)) {\n u = -1 === l ? c : o[l].children;\n var x = e.indexOf(\"<\", p),\n g = e.slice(p, -1 === x ? void 0 : x);\n i.test(g) && (g = \" \"), (x > -1 && l + u.length >= 0 || \" \" !== g) && u.push({\n type: \"text\",\n content: g\n });\n }\n }), c;\n },\n stringify: function stringify(e) {\n return e.reduce(function (e, t) {\n return e + a(\"\", t);\n }, \"\");\n }\n};\nexport default c;","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nimport { createContext } from 'react';\nimport { unescape } from './unescape';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nvar i18nInstance;\nexport var I18nContext = createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nimport { useContext, isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { getI18n, I18nContext, getDefaults } from './context';\nimport { warn, warnOnce } from './utils';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"forwardedRef\"];\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nimport { createElement, forwardRef as forwardRefReact } from 'react';\nimport { useTranslation } from './useTranslation';\nimport { getDisplayName } from './utils';\nexport function withTranslation(ns) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n var forwardedRef = _ref.forwardedRef,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTranslation = useTranslation(ns, _objectSpread(_objectSpread({}, rest), {}, {\n keyPrefix: options.keyPrefix\n })),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return createElement(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? forwardRefReact(forwardRef) : I18nextWithTranslation;\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"ns\", \"children\"];\nimport { useTranslation } from './useTranslation';\nexport function Translation(props) {\n var ns = props.ns,\n children = props.children,\n options = _objectWithoutProperties(props, _excluded);\n\n var _useTranslation = useTranslation(ns, options),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n return children(t, {\n i18n: i18n,\n lng: i18n.language\n }, ready);\n}","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context';\nexport function I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = useMemo(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value: value\n }, children);\n}","import { useContext } from 'react';\nimport { getI18n, I18nContext } from './context';\nexport function useSSR(initialI18nStore, initialLanguage) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n.options && i18n.options.isClone) return;\n\n if (initialI18nStore && !i18n.initializedStoreOnce) {\n i18n.services.resourceStore.data = initialI18nStore;\n i18n.options.ns = Object.values(initialI18nStore).reduce(function (mem, lngResources) {\n Object.keys(lngResources).forEach(function (ns) {\n if (mem.indexOf(ns) < 0) mem.push(ns);\n });\n return mem;\n }, i18n.options.ns);\n i18n.initializedStoreOnce = true;\n i18n.isInitialized = true;\n }\n\n if (initialLanguage && !i18n.initializedLanguageOnce) {\n i18n.changeLanguage(initialLanguage);\n i18n.initializedLanguageOnce = true;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"initialI18nStore\", \"initialLanguage\"];\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nimport { createElement } from 'react';\nimport { useSSR } from './useSSR';\nimport { composeInitialProps } from './context';\nimport { getDisplayName } from './utils';\nexport function withSSR() {\n return function Extend(WrappedComponent) {\n function I18nextWithSSR(_ref) {\n var initialI18nStore = _ref.initialI18nStore,\n initialLanguage = _ref.initialLanguage,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n useSSR(initialI18nStore, initialLanguage);\n return createElement(WrappedComponent, _objectSpread({}, rest));\n }\n\n I18nextWithSSR.getInitialProps = composeInitialProps(WrappedComponent);\n I18nextWithSSR.displayName = \"withI18nextSSR(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithSSR.WrappedComponent = WrappedComponent;\n return I18nextWithSSR;\n };\n}","export { Trans } from './Trans';\nexport { useTranslation } from './useTranslation';\nexport { withTranslation } from './withTranslation';\nexport { Translation } from './Translation';\nexport { I18nextProvider } from './I18nextProvider';\nexport { withSSR } from './withSSR';\nexport { useSSR } from './useSSR';\nexport { I18nContext, initReactI18next, setDefaults, getDefaults, setI18n, getI18n, composeInitialProps, getInitialProps } from './context';\nexport var date = function date() {\n return '';\n};\nexport var time = function time() {\n return '';\n};\nexport var number = function number() {\n return '';\n};\nexport var select = function select() {\n return '';\n};\nexport var plural = function plural() {\n return '';\n};\nexport var selectOrdinal = function selectOrdinal() {\n return '';\n};","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg) : false;\n var element, elementLen;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n elementLen = lengthOfArrayLike(element);\n targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;\n } else {\n doesNotExceedSafeInteger(targetIndex + 1);\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es-x/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es-x/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es-x/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es-x/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\n\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar SPECIAL_DOCUMENT_ALL = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = SPECIAL_DOCUMENT_ALL ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es-x/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es-x/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es-x/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es-x/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es-x/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es-x/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.25.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.25.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es-x/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flatMap` method\n// https://tc39.es/ecma262/#sec-array.prototype.flatmap\n$({ target: 'Array', proto: true }, {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A;\n aCallable(callbackfn);\n A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return A;\n }\n});\n","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flatMap');\n","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nexports.ScrollContext = _scrollHandler.ScrollHandler;\n\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\n\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _sessionStorage = require(\"./session-storage\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\n\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n\n function ScrollHandler() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._stateStorage = new _sessionStorage.SessionStorage();\n _this._isTicking = false;\n _this._latestKnownScrollY = 0;\n\n _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n\n if (!shouldUpdateScroll) {\n return true;\n } // Hack to allow accessing this._stateStorage.\n\n\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n\n return _this;\n }\n\n var _proto = ScrollHandler.prototype;\n\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n\n this._isTicking = false;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n window.addEventListener(\"scroll\", this.scrollListener);\n var scrollPosition;\n var _this$props$location = this.props.location,\n key = _this$props$location.key,\n hash = _this$props$location.hash;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n } else if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props$location2 = this.props.location,\n hash = _this$props$location2.hash,\n key = _this$props$location2.key;\n var scrollPosition;\n\n if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n /** There are two pieces of state: the browser url and\n * history state which keeps track of scroll position\n * Native behaviour prescribes that we ought to restore scroll position\n * when a user navigates back in their browser (this is the `POP` action)\n * Currently, reach router has a bug that prevents this at https://github.com/reach/router/issues/228\n * So we _always_ stick to the url as a source of truth — if the url\n * contains a hash, we scroll to it\n */\n\n\n if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n\n return ScrollHandler;\n}(React.Component);\n\nexports.ScrollHandler = ScrollHandler;\nScrollHandler.propTypes = {\n shouldUpdateScroll: _propTypes.default.func,\n children: _propTypes.default.element.isRequired,\n location: _propTypes.default.object.isRequired\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.SessionStorage = void 0;\nvar STATE_KEY_PREFIX = \"@@scroll|\";\nvar GATSBY_ROUTER_SCROLL_STATE = \"___GATSBY_REACT_ROUTER_SCROLL\";\n\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n\n var _proto = SessionStorage.prototype;\n\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\n\n try {\n var value = window.sessionStorage.getItem(stateKey);\n return value ? JSON.parse(value) : 0;\n } catch (e) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to access sessionStorage; sessionStorage is not available.\");\n }\n\n if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n\n return 0;\n }\n };\n\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\n\n try {\n window.sessionStorage.setItem(stateKey, storedValue);\n } catch (e) {\n if (window && window[GATSBY_ROUTER_SCROLL_STATE]) {\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n } else {\n window[GATSBY_ROUTER_SCROLL_STATE] = {};\n window[GATSBY_ROUTER_SCROLL_STATE][stateKey] = JSON.parse(storedValue);\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"[gatsby-react-router-scroll] Unable to save state in sessionStorage; sessionStorage is not available.\");\n }\n }\n };\n\n _proto.getStateKey = function getStateKey(location, key) {\n var stateKeyBase = \"\" + STATE_KEY_PREFIX + location.pathname;\n return key === null || typeof key === \"undefined\" ? stateKeyBase : stateKeyBase + \"|\" + key;\n };\n\n return SessionStorage;\n}();\n\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\n\nvar _scrollHandler = require(\"./scroll-handler\");\n\nvar _react = require(\"react\");\n\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\n\nfunction useScrollRestoration(identifier) {\n var location = (0, _reachRouter.useLocation)();\n var state = (0, _react.useContext)(_scrollHandler.ScrollContext);\n var ref = (0, _react.useRef)(null);\n (0, _react.useLayoutEffect)(function () {\n if (ref.current) {\n var position = state.read(location, identifier);\n ref.current.scrollTo(0, position || 0);\n }\n }, [location.key]);\n return {\n ref: ref,\n onScroll: function onScroll() {\n if (ref.current) {\n state.save(location, identifier, ref.current.scrollTop);\n }\n }\n };\n}","exports.components = {\n \"component---src-pages-404-tsx\": () => import(\"./../../../src/pages/404.tsx\" /* webpackChunkName: \"component---src-pages-404-tsx\" */),\n \"component---src-pages-index-tsx\": () => import(\"./../../../src/pages/index.tsx\" /* webpackChunkName: \"component---src-pages-index-tsx\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-react-i18next/gatsby-browser.js'),\n options: {\"plugins\":[],\"localeJsonSourceName\":\"locale\",\"languages\":[\"ua\"],\"redirect\":false,\"defaultLanguage\":\"ua\",\"siteUrl\":\"http://localhost:8000/\",\"i18nextOptions\":{\"interpolation\":{\"escapeValue\":false},\"keySeparator\":false,\"nsSeparator\":false}},\n },{\n plugin: require('../node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","const plugins = require(`./api-runner-browser-plugins`)\nconst { getResourceURLsForPathname, loadPage, loadPageSync } =\n require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","export default pathAndSearch => {\n if (pathAndSearch === undefined) {\n return pathAndSearch\n }\n let [path, search = ``] = pathAndSearch.split(`?`)\n if (search) {\n search = `?` + search\n }\n\n if (path === `/`) {\n return `/` + search\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1) + search\n }\n return path + search\n}\n","import { pick } from \"@gatsbyjs/reach-router/lib/utils\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n let newRawPathname = rawPathname\n const queryIndex = rawPathname.indexOf(`?`)\n\n if (queryIndex !== -1) {\n const [path, qs] = rawPathname.split(`?`)\n newRawPathname = `${path}?${encodeURIComponent(qs)}`\n }\n\n const pathname = decodeURIComponent(newRawPathname)\n\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\n .split(`#`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport { default as PageRenderer } from \"./public-page-renderer\"\nexport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nexport {\n default as Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport {\n graphql,\n StaticQueryContext,\n StaticQuery,\n useStaticQuery,\n prefetchPathname,\n}\n\nexport * from \"gatsby-script\"\n","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = rawPath => {\n const [path, maybeSearch] = rawPath.split(`?`)\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json${\n maybeSearch ? `?${maybeSearch}` : ``\n }`\n}\n\nfunction doFetch(url, method = `GET`) {\n return new Promise(resolve => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\n// Regex that matches common search crawlers\nconst BOT_REGEX = /bot|crawler|spider|crawling/i\n\nconst toPageResources = (pageData, component = null, head) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n getServerDataError: pageData.getServerDataError,\n }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\n }\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.isPrefetchQueueRunning = false\n this.prefetchQueued = []\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n const maybeSearch = pagePath.split(`?`)[1]\n if (maybeSearch && !jsonPayload.path.includes(maybeSearch)) {\n jsonPayload.path += `?${maybeSearch}`\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n if (page.error) {\n return {\n error: page.error,\n status: page.status,\n }\n }\n\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const inFlightPromise = Promise.all([\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]).then(allData => {\n const result = allData[1]\n if (result.status === PageResourceStatus.Error) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = result.payload\n const { componentChunkName, staticQueryHashes = [] } = pageData\n\n const finalResult = {}\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n const componentChunkPromise = Promise.all([\n this.loadComponent(componentChunkName),\n this.loadComponent(componentChunkName, `head`),\n ]).then(([component, head]) => {\n finalResult.createdAt = new Date()\n let pageResources\n if (!component || component instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = component\n } else {\n finalResult.status = PageResourceStatus.Success\n if (result.notFound === true) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: allData[0]\n ? allData[0].webpackCompilationHash\n : ``,\n })\n pageResources = toPageResources(pageData, component, head)\n }\n // undefined if final result is an error\n return pageResources\n })\n\n const staticQueryBatchPromise = Promise.all(\n staticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromise, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Don't prefetch if this is a crawler bot\n if (navigator.userAgent && BOT_REGEX.test(navigator.userAgent)) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return {\n then: resolve => resolve(false),\n abort: () => {},\n }\n }\n if (this.prefetchTriggered.has(pagePath)) {\n return {\n then: resolve => resolve(true),\n abort: () => {},\n }\n }\n\n const defer = {\n resolve: null,\n reject: null,\n promise: null,\n }\n defer.promise = new Promise((resolve, reject) => {\n defer.resolve = resolve\n defer.reject = reject\n })\n this.prefetchQueued.push([pagePath, defer])\n const abortC = new AbortController()\n abortC.signal.addEventListener(`abort`, () => {\n const index = this.prefetchQueued.findIndex(([p]) => p === pagePath)\n // remove from the queue\n if (index !== -1) {\n this.prefetchQueued.splice(index, 1)\n }\n })\n\n if (!this.isPrefetchQueueRunning) {\n this.isPrefetchQueueRunning = true\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n }\n\n return {\n then: (resolve, reject) => defer.promise.then(resolve, reject),\n abort: abortC.abort.bind(abortC),\n }\n }\n\n _processNextPrefetchBatch() {\n const idleCallback = window.requestIdleCallback || (cb => setTimeout(cb, 0))\n\n idleCallback(() => {\n const toPrefetch = this.prefetchQueued.splice(0, 4)\n const prefetches = Promise.all(\n toPrefetch.map(([pagePath, dPromise]) => {\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return dPromise.resolve(false)\n }\n\n return this.doPrefetch(findPath(pagePath)).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n\n dPromise.resolve(true)\n })\n })\n )\n\n if (this.prefetchQueued.length) {\n prefetches.then(() => {\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n })\n } else {\n this.isPrefetchQueueRunning = false\n }\n })\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths, pageData) {\n const loadComponent = (chunkName, exportType = `components`) => {\n if (!global.hasPartialHydration) {\n exportType = `components`\n }\n\n if (!asyncRequires[exportType][chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name \"${chunkName}\"`\n )\n }\n\n return (\n asyncRequires[exportType][chunkName]()\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n\n if (pageData) {\n this.pageDataDb.set(findPath(pageData.path), {\n pagePath: pageData.path,\n payload: pageData,\n status: `success`,\n })\n }\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n // TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\n loadPageSync: (rawPath, options = {}) =>\n instance.loadPageSync(rawPath, options),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n","import { useEffect } from \"react\"\n\n/*\n * Calls callback in an effect and renders children\n */\nexport function FireCallbackInEffect({ children, callback }) {\n useEffect(() => {\n callback()\n })\n\n return children\n}\n","export const VALID_NODE_NAMES = [\n `link`,\n `meta`,\n `style`,\n `title`,\n `base`,\n `noscript`,\n `script`,\n]\n","import { VALID_NODE_NAMES } from \"./constants\"\n\n/**\n * Filter the props coming from a page down to just the ones that are relevant for head.\n * This e.g. filters out properties that are undefined during SSR.\n */\nexport function filterHeadProps(input) {\n return {\n location: {\n pathname: input.location.pathname,\n },\n params: input.params,\n data: input.data || {},\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid\n */\nexport function headExportValidator(head) {\n if (typeof head !== `function`)\n throw new Error(\n `Expected \"Head\" export to be a function got \"${typeof head}\".`\n )\n}\n\n/**\n * Warn once for same messsage\n */\nlet warnOnce = _ => {}\nif (process.env.NODE_ENV !== `production`) {\n const warnings = new Set()\n warnOnce = msg => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\n/**\n * Warn for invalid tags in head.\n * @param {string} tagName\n */\nexport function warnForInvalidTags(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}`\n\n warnOnce(warning)\n }\n}\n\n/**\n * When a `nonce` is present on an element, browsers such as Chrome and Firefox strip it out of the\n * actual HTML attributes for security reasons *when the element is added to the document*. Thus,\n * given two equivalent elements that have nonces, `Element,isEqualNode()` will return false if one\n * of those elements gets added to the document. Although the `element.nonce` property will be the\n * same for both elements, the one that was added to the document will return an empty string for\n * its nonce HTML attribute value.\n *\n * This custom `isEqualNode()` function therefore removes the nonce value from the `newTag` before\n * comparing it to `oldTag`, restoring it afterwards.\n *\n * For more information, see:\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1211471#c12\n */\nexport function isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(`nonce`)\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(`nonce`)) {\n const cloneTag = newTag.cloneNode(true)\n cloneTag.setAttribute(`nonce`, ``)\n cloneTag.nonce = nonce\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag)\n }\n }\n\n return oldTag.isEqualNode(newTag)\n}\n\nexport function diffNodes({ oldNodes, newNodes, onStale, onNew }) {\n for (const existingHeadElement of oldNodes) {\n const indexInNewNodes = newNodes.findIndex(e =>\n isEqualNode(e, existingHeadElement)\n )\n\n if (indexInNewNodes === -1) {\n onStale(existingHeadElement)\n } else {\n // this node is re-created as-is, so we keep old node, and remove it from list of new nodes (as we handled it already here)\n newNodes.splice(indexInNewNodes, 1)\n }\n }\n\n // remaing new nodes didn't have matching old node, so need to be added\n for (const newNode of newNodes) {\n onNew(newNode)\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport { VALID_NODE_NAMES } from \"./constants\"\nimport {\n headExportValidator,\n filterHeadProps,\n warnForInvalidTags,\n diffNodes,\n} from \"./utils\"\n\nconst hiddenRoot = document.createElement(`div`)\n\nconst removePrevHeadElements = () => {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nconst onHeadRendered = () => {\n const validHeadNodes = []\n\n const seenIds = new Map()\n for (const node of hiddenRoot.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!VALID_NODE_NAMES.includes(nodeName)) {\n warnForInvalidTags(nodeName)\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // Create an element for scripts to make script work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n const script = document.createElement(`script`)\n for (const attr of clonedNode.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = clonedNode.innerHTML\n clonedNode = script\n }\n\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[indexOfPreviouslyInsertedNode].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n }\n\n const existingHeadElements = document.querySelectorAll(`[data-gatsby-head]`)\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.parentNode.removeChild(node),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // We set up observer to be able to regenerate after react-refresh\n // updates our hidden element.\n const observer = new MutationObserver(onHeadRendered)\n observer.observe(hiddenRoot, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n })\n}\n\nexport function headHandlerForBrowser({\n pageComponent,\n staticQueryResults,\n pageComponentProps,\n}) {\n useEffect(() => {\n if (pageComponent?.Head) {\n headExportValidator(pageComponent.Head)\n\n const { render } = reactDOMUtils()\n\n const Head = pageComponent.Head\n\n render(\n // just a hack to call the callback after react has done first render\n // Note: In dev, we call onHeadRendered twice( in FireCallbackInEffect and after mutualution observer dectects initail render into hiddenRoot) this is for hot reloading\n // In Prod we only call onHeadRendered in FireCallbackInEffect to render to head\n \n \n \n \n \n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n }\n })\n}\n","import { createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n const pageElement = createElement(\n preferDefault(props.pageResources.component),\n {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n }\n )\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n { element: pageElement, props: pageComponentProps },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport { navigate as reachNavigate } from \"@gatsbyjs/reach-router\"\nimport { globalHistory } from \"@gatsbyjs/reach-router/lib/history\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n const { hash, search } = window.location\n\n if (redirect != null) {\n window.___replace(redirect.toPath + search + hash)\n return true\n } else {\n return false\n }\n}\n\n// Catch unhandled chunk loading errors and force a restart of the app.\nlet nextRoute = ``\n\nwindow.addEventListener(`unhandledrejection`, event => {\n if (/loading chunk \\d* failed./i.test(event.reason)) {\n if (nextRoute) {\n window.location.pathname = nextRoute\n }\n }\n})\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n nextRoute = location.pathname\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_EXPERIMENTAL_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n const { pathname, search, hash } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath + search + hash\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname + search + hash\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname + search).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname + search + hash\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onPreRouteUpdate(this.props.location, prevProps.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates, maybeGetBrowserRedirect }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources:\n pageResources ||\n loader.loadPageSync(location.pathname + location.search, {\n withErrorDetails: true,\n }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(\n location.pathname + location.search,\n {\n withErrorDetails: true,\n }\n )\n\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (\n process.env.NODE_ENV !== `production` &&\n (!this.state.pageResources ||\n this.state.pageResources.status === PageResourceStatus.Error)\n ) {\n const message = `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n if (this.state.pageResources?.error) {\n console.error(message)\n throw this.state.pageResources.error\n }\n\n throw new Error(message)\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"gatsby\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\nimport { reactDOMUtils } from \"./react-dom-utils\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths, window.pageData)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nconst { render, hydrate } = reactDOMUtils()\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\nconst reloadStorageKey = `gatsby-reload-compilation-hash-match`\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).filter(Boolean).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n return (\n \n \n {children}\n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n
\n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). SSR\n // page paths might include search params, while SSG and DSG won't.\n // If page path include search params we also compare query params.\n // But only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !==\n browserLoc.pathname + (pagePath.includes(`?`) ? browserLoc.search : ``) &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath.match(/^\\/(404|500)(\\/?|.html)$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(\n __BASE_PATH__ +\n pagePath +\n (!pagePath.includes(`?`) ? browserLoc.search : ``) +\n browserLoc.hash,\n {\n replace: true,\n }\n )\n }\n\n // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512\n const getSessionStorage = () => {\n try {\n return sessionStorage\n } catch {\n return null\n }\n }\n\n publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => {\n const sessionStorage = getSessionStorage()\n\n if (\n page?.page?.webpackCompilationHash &&\n page.page.webpackCompilationHash !== window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n // We have not matching html + js (inlined `window.___webpackCompilationHash`)\n // with our data (coming from `app-data.json` file). This can cause issues such as\n // errors trying to load static queries (as list of static queries is inside `page-data`\n // which might not match to currently loaded `.js` scripts).\n // We are making attempt to reload if hashes don't match, but we also have to handle case\n // when reload doesn't fix it (possibly broken deploy) so we don't end up in infinite reload loop\n if (sessionStorage) {\n const isReloaded = sessionStorage.getItem(reloadStorageKey) === `1`\n\n if (!isReloaded) {\n sessionStorage.setItem(reloadStorageKey, `1`)\n window.location.reload(true)\n return\n }\n }\n }\n\n if (sessionStorage) {\n sessionStorage.removeItem(reloadStorageKey)\n }\n\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n if (performance.mark) {\n performance.mark(`onInitialClientRender`)\n }\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return {SiteRoot}\n }\n\n const focusEl = document.getElementById(`gatsby-focus-wrapper`)\n\n // Client only pages have any empty body so we just do a normal\n // render to avoid React complaining about hydration mis-matches.\n let defaultRenderer = render\n if (focusEl && focusEl.children.length) {\n defaultRenderer = hydrate\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n defaultRenderer\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n renderer(, rootElement)\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","/* global HAS_REACT_18 */\n\nconst map = new WeakMap()\n\n/**\n * Since react 18, render and hydrate moved to react-dom/client\n * returns correct hydrate and render function based on installed react-dom version\n */\n\nexport function reactDOMUtils() {\n let render\n let hydrate\n\n if (HAS_REACT_18) {\n const reactDomClient = require(`react-dom/client`)\n\n render = (Component, el) => {\n let root = map.get(el)\n if (!root) {\n map.set(el, (root = reactDomClient.createRoot(el)))\n }\n root.render(Component)\n }\n\n hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n } else {\n const reactDomClient = require(`react-dom`)\n render = reactDomClient.render\n hydrate = reactDomClient.hydrate\n }\n\n return { render, hydrate }\n}\n","exports.polyfill = Component => Component\n","import redirects from \"./redirects.json\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nexport function maybeGetBrowserRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n return redirect\n}\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.I18nextContext = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar I18nextContext = /*#__PURE__*/_react.default.createContext({\n language: 'en',\n languages: ['en'],\n routed: false,\n defaultLanguage: 'en',\n generateDefaultLanguagePage: false,\n originalPath: '/',\n path: '/'\n});\n\nexports.I18nextContext = I18nextContext;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.wrapPageElement = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/taggedTemplateLiteralLoose\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _gatsby = require(\"gatsby\");\n\nvar _browserLang = _interopRequireDefault(require(\"browser-lang\"));\n\nvar _types = require(\"../types\");\n\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\n\nvar _reactI18next = require(\"react-i18next\");\n\nvar _i18nextContext = require(\"../i18nextContext\");\n\nvar _outdent = _interopRequireDefault(require(\"outdent\"));\n\nvar _templateObject;\n\nvar withI18next = function withI18next(i18n, context) {\n return function (children) {\n return /*#__PURE__*/_react.default.createElement(_reactI18next.I18nextProvider, {\n i18n: i18n\n }, /*#__PURE__*/_react.default.createElement(_i18nextContext.I18nextContext.Provider, {\n value: context\n }, children));\n };\n};\n\nvar removePathPrefix = function removePathPrefix(pathname, stripTrailingSlash) {\n var pathPrefix = (0, _gatsby.withPrefix)('/');\n var result = pathname;\n\n if (pathname.startsWith(pathPrefix)) {\n result = pathname.replace(pathPrefix, '/');\n }\n\n if (stripTrailingSlash && result.endsWith('/')) {\n return result.slice(0, -1);\n }\n\n return result;\n};\n\nvar wrapPageElement = function wrapPageElement(_ref, _ref2) {\n var _data$localeJsonNodeN;\n\n var element = _ref.element,\n props = _ref.props;\n var _ref2$i18nextOptions = _ref2.i18nextOptions,\n i18nextOptions = _ref2$i18nextOptions === void 0 ? {} : _ref2$i18nextOptions,\n _ref2$redirect = _ref2.redirect,\n redirect = _ref2$redirect === void 0 ? true : _ref2$redirect,\n _ref2$generateDefault = _ref2.generateDefaultLanguagePage,\n generateDefaultLanguagePage = _ref2$generateDefault === void 0 ? false : _ref2$generateDefault,\n siteUrl = _ref2.siteUrl,\n _ref2$localeJsonNodeN = _ref2.localeJsonNodeName,\n localeJsonNodeName = _ref2$localeJsonNodeN === void 0 ? 'locales' : _ref2$localeJsonNodeN,\n fallbackLanguage = _ref2.fallbackLanguage,\n trailingSlash = _ref2.trailingSlash;\n if (!props) return;\n var data = props.data,\n pageContext = props.pageContext,\n location = props.location;\n var _pageContext$i18n = pageContext.i18n,\n routed = _pageContext$i18n.routed,\n language = _pageContext$i18n.language,\n languages = _pageContext$i18n.languages,\n originalPath = _pageContext$i18n.originalPath,\n defaultLanguage = _pageContext$i18n.defaultLanguage,\n path = _pageContext$i18n.path;\n var isRedirect = redirect && !routed;\n\n if (isRedirect) {\n var search = location.search; // Skip build, Browsers only\n\n if (typeof window !== 'undefined') {\n var detected = window.localStorage.getItem(_types.LANGUAGE_KEY) || (0, _browserLang.default)({\n languages: languages,\n fallback: fallbackLanguage || language\n });\n\n if (!languages.includes(detected)) {\n detected = language;\n }\n\n window.localStorage.setItem(_types.LANGUAGE_KEY, detected);\n\n if (detected !== defaultLanguage) {\n var queryParams = search || '';\n var stripTrailingSlash = trailingSlash === 'never';\n var newUrl = (0, _gatsby.withPrefix)(\"/\" + detected + removePathPrefix(location.pathname, stripTrailingSlash) + queryParams + location.hash); // @ts-ignore\n\n window.___replace(newUrl);\n\n return null;\n }\n }\n }\n\n var localeNodes = (data === null || data === void 0 ? void 0 : (_data$localeJsonNodeN = data[localeJsonNodeName]) === null || _data$localeJsonNodeN === void 0 ? void 0 : _data$localeJsonNodeN.edges) || [];\n\n if (languages.length > 1 && localeNodes.length === 0 && process.env.NODE_ENV === 'development') {\n console.error((0, _outdent.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"\\n No translations were found in \\\"\", \"\\\" key for \\\"\", \"\\\". \\n You need to add a graphql query to every page like this:\\n \\n export const query = graphql`\\n query($language: String!) {\\n \", \": allLocale(language: {eq: $language}) {\\n edges {\\n node {\\n ns\\n data\\n language\\n }\\n }\\n }\\n }\\n `;\\n \"], [\"\\n No translations were found in \\\"\", \"\\\" key for \\\"\", \"\\\". \\n You need to add a graphql query to every page like this:\\n \\n export const query = graphql\\\\`\\n query($language: String!) {\\n \", \": allLocale(language: {eq: $language}) {\\n edges {\\n node {\\n ns\\n data\\n language\\n }\\n }\\n }\\n }\\n \\\\`;\\n \"])), localeJsonNodeName, originalPath, localeJsonNodeName));\n }\n\n var namespaces = localeNodes.map(function (_ref3) {\n var node = _ref3.node;\n return node.ns;\n }); // We want to set default namespace to a page namespace if it exists\n // and use other namespaces as fallback\n // this way you dont need to specify namespaces in pages\n\n var defaultNS = i18nextOptions.defaultNS || 'translation';\n defaultNS = namespaces.find(function (ns) {\n return ns !== defaultNS;\n }) || defaultNS;\n var fallbackNS = namespaces.filter(function (ns) {\n return ns !== defaultNS;\n });\n var resources = localeNodes.reduce(function (res, _ref4) {\n var node = _ref4.node;\n var parsedData = typeof node.data === 'object' ? node.data : JSON.parse(node.data);\n if (!(node.language in res)) res[node.language] = {};\n res[node.language][node.ns || defaultNS] = parsedData;\n return res;\n }, {});\n\n var i18n = _i18next.default.createInstance();\n\n i18n.init((0, _extends2.default)({}, i18nextOptions, {\n resources: resources,\n lng: language,\n fallbackLng: defaultLanguage,\n defaultNS: defaultNS,\n fallbackNS: fallbackNS,\n react: (0, _extends2.default)({}, i18nextOptions.react, {\n useSuspense: false\n })\n }));\n\n if (i18n.language !== language) {\n i18n.changeLanguage(language);\n }\n\n var context = {\n routed: routed,\n language: language,\n languages: languages,\n originalPath: originalPath,\n defaultLanguage: defaultLanguage,\n generateDefaultLanguagePage: generateDefaultLanguagePage,\n siteUrl: siteUrl,\n path: path\n };\n return withI18next(i18n, context)(element);\n};\n\nexports.wrapPageElement = wrapPageElement;","\"use strict\";\n\nexports.__esModule = true;\nexports.LANGUAGE_KEY = void 0;\nvar LANGUAGE_KEY = 'gatsby-i18next-language';\nexports.LANGUAGE_KEY = LANGUAGE_KEY;","const {wrapPageElement} = require('./dist/plugin/wrapPageElement');\nexports.wrapPageElement = wrapPageElement;\n","import invariant from \"invariant\"; ////////////////////////////////////////////////////////////////////////////////\n// startsWith(string, search) - Check if `string` starts with `search`\n\nvar startsWith = function startsWith(string, search) {\n return string.substr(0, search.length) === search;\n}; ////////////////////////////////////////////////////////////////////////////////\n// pick(routes, uri)\n//\n// Ranks and picks the best route to match. Each segment gets the highest\n// amount of points, then the type of segment gets an additional amount of\n// points where\n//\n// static > dynamic > splat > root\n//\n// This way we don't have to worry about the order of our routes, let the\n// computers do it.\n//\n// A route looks like this\n//\n// { path, default, value }\n//\n// And a returned match looks like:\n//\n// { route, params, uri }\n//\n// I know, I should use TypeScript not comments for these types.\n\n\nvar pick = function pick(routes, uri) {\n var match = void 0;\n var default_ = void 0;\n\n var _uri$split = uri.split(\"?\"),\n uriPathname = _uri$split[0];\n\n var uriSegments = segmentize(uriPathname);\n var isRootUri = uriSegments[0] === \"\";\n var ranked = rankRoutes(routes);\n\n for (var i = 0, l = ranked.length; i < l; i++) {\n var missed = false;\n var route = ranked[i].route;\n\n if (route.default) {\n default_ = {\n route: route,\n params: {},\n uri: uri\n };\n continue;\n }\n\n var routeSegments = segmentize(route.path);\n var params = {};\n var max = Math.max(uriSegments.length, routeSegments.length);\n var index = 0;\n\n for (; index < max; index++) {\n var routeSegment = routeSegments[index];\n var uriSegment = uriSegments[index];\n\n if (isSplat(routeSegment)) {\n // Hit a splat, just grab the rest, and return a match\n // uri: /files/documents/work\n // route: /files/*\n var param = routeSegment.slice(1) || \"*\";\n params[param] = uriSegments.slice(index).map(decodeURIComponent).join(\"/\");\n break;\n }\n\n if (uriSegment === undefined) {\n // URI is shorter than the route, no match\n // uri: /users\n // route: /users/:userId\n missed = true;\n break;\n }\n\n var dynamicMatch = paramRe.exec(routeSegment);\n\n if (dynamicMatch && !isRootUri) {\n var matchIsNotReserved = reservedNames.indexOf(dynamicMatch[1]) === -1;\n !matchIsNotReserved ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" dynamic segment \\\"\" + dynamicMatch[1] + \"\\\" is a reserved name. Please use a different name in path \\\"\" + route.path + \"\\\".\") : invariant(false) : void 0;\n var value = decodeURIComponent(uriSegment);\n params[dynamicMatch[1]] = value;\n } else if (routeSegment !== uriSegment) {\n // Current segments don't match, not dynamic, not splat, so no match\n // uri: /users/123/settings\n // route: /users/:id/profile\n missed = true;\n break;\n }\n }\n\n if (!missed) {\n match = {\n route: route,\n params: params,\n uri: \"/\" + uriSegments.slice(0, index).join(\"/\")\n };\n break;\n }\n }\n\n return match || default_ || null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// match(path, uri) - Matches just one path to a uri, also lol\n\n\nvar match = function match(path, uri) {\n return pick([{\n path: path\n }], uri);\n}; ////////////////////////////////////////////////////////////////////////////////\n// resolve(to, basepath)\n//\n// Resolves URIs as though every path is a directory, no files. Relative URIs\n// in the browser can feel awkward because not only can you be \"in a directory\"\n// you can be \"at a file\", too. For example\n//\n// browserSpecResolve('foo', '/bar/') => /bar/foo\n// browserSpecResolve('foo', '/bar') => /foo\n//\n// But on the command line of a file system, it's not as complicated, you can't\n// `cd` from a file, only directories. This way, links have to know less about\n// their current path. To go deeper you can do this:\n//\n// \n// // instead of\n// \n//\n// Just like `cd`, if you want to go deeper from the command line, you do this:\n//\n// cd deeper\n// # not\n// cd $(pwd)/deeper\n//\n// By treating every path as a directory, linking to relative paths should\n// require less contextual information and (fingers crossed) be more intuitive.\n\n\nvar resolve = function resolve(to, base) {\n // /foo/bar, /baz/qux => /foo/bar\n if (startsWith(to, \"/\")) {\n return to;\n }\n\n var _to$split = to.split(\"?\"),\n toPathname = _to$split[0],\n toQuery = _to$split[1];\n\n var _base$split = base.split(\"?\"),\n basePathname = _base$split[0];\n\n var toSegments = segmentize(toPathname);\n var baseSegments = segmentize(basePathname); // ?a=b, /users?b=c => /users?a=b\n\n if (toSegments[0] === \"\") {\n return addQuery(basePathname, toQuery);\n } // profile, /users/789 => /users/789/profile\n\n\n if (!startsWith(toSegments[0], \".\")) {\n var pathname = baseSegments.concat(toSegments).join(\"/\");\n return addQuery((basePathname === \"/\" ? \"\" : \"/\") + pathname, toQuery);\n } // ./ /users/123 => /users/123\n // ../ /users/123 => /users\n // ../.. /users/123 => /\n // ../../one /a/b/c/d => /a/b/one\n // .././one /a/b/c/d => /a/b/c/one\n\n\n var allSegments = baseSegments.concat(toSegments);\n var segments = [];\n\n for (var i = 0, l = allSegments.length; i < l; i++) {\n var segment = allSegments[i];\n if (segment === \"..\") segments.pop();else if (segment !== \".\") segments.push(segment);\n }\n\n return addQuery(\"/\" + segments.join(\"/\"), toQuery);\n}; ////////////////////////////////////////////////////////////////////////////////\n// insertParams(path, params)\n\n\nvar insertParams = function insertParams(path, params) {\n var _path$split = path.split(\"?\"),\n pathBase = _path$split[0],\n _path$split$ = _path$split[1],\n query = _path$split$ === undefined ? \"\" : _path$split$;\n\n var segments = segmentize(pathBase);\n var constructedPath = \"/\" + segments.map(function (segment) {\n var match = paramRe.exec(segment);\n return match ? params[match[1]] : segment;\n }).join(\"/\");\n var _params$location = params.location;\n _params$location = _params$location === undefined ? {} : _params$location;\n var _params$location$sear = _params$location.search,\n search = _params$location$sear === undefined ? \"\" : _params$location$sear;\n var searchSplit = search.split(\"?\")[1] || \"\";\n constructedPath = addQuery(constructedPath, query, searchSplit);\n return constructedPath;\n};\n\nvar validateRedirect = function validateRedirect(from, to) {\n var filter = function filter(segment) {\n return isDynamic(segment);\n };\n\n var fromString = segmentize(from).filter(filter).sort().join(\"/\");\n var toString = segmentize(to).filter(filter).sort().join(\"/\");\n return fromString === toString;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar paramRe = /^:(.+)/;\nvar SEGMENT_POINTS = 4;\nvar STATIC_POINTS = 3;\nvar DYNAMIC_POINTS = 2;\nvar SPLAT_PENALTY = 1;\nvar ROOT_POINTS = 1;\n\nvar isRootSegment = function isRootSegment(segment) {\n return segment === \"\";\n};\n\nvar isDynamic = function isDynamic(segment) {\n return paramRe.test(segment);\n};\n\nvar isSplat = function isSplat(segment) {\n return segment && segment[0] === \"*\";\n};\n\nvar rankRoute = function rankRoute(route, index) {\n var score = route.default ? 0 : segmentize(route.path).reduce(function (score, segment) {\n score += SEGMENT_POINTS;\n if (isRootSegment(segment)) score += ROOT_POINTS;else if (isDynamic(segment)) score += DYNAMIC_POINTS;else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY;else score += STATIC_POINTS;\n return score;\n }, 0);\n return {\n route: route,\n score: score,\n index: index\n };\n};\n\nvar rankRoutes = function rankRoutes(routes) {\n return routes.map(rankRoute).sort(function (a, b) {\n return a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index;\n });\n};\n\nvar segmentize = function segmentize(uri) {\n return uri // strip starting/ending slashes\n .replace(/(^\\/+|\\/+$)/g, \"\").split(\"/\");\n};\n\nvar addQuery = function addQuery(pathname) {\n for (var _len = arguments.length, query = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n query[_key - 1] = arguments[_key];\n }\n\n query = query.filter(function (q) {\n return q && q.length > 0;\n });\n return pathname + (query && query.length > 0 ? \"?\" + query.join(\"&\") : \"\");\n};\n\nvar reservedNames = [\"uri\", \"path\"];\n/**\n * Shallow compares two objects.\n * @param {Object} obj1 The first object to compare.\n * @param {Object} obj2 The second object to compare.\n */\n\nvar shallowCompare = function shallowCompare(obj1, obj2) {\n var obj1Keys = Object.keys(obj1);\n return obj1Keys.length === Object.keys(obj2).length && obj1Keys.every(function (key) {\n return obj2.hasOwnProperty(key) && obj1[key] === obj2[key];\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n\n\nexport { startsWith, pick, match, resolve, insertParams, validateRedirect, shallowCompare };","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar getLocation = function getLocation(source) {\n var _source$location = source.location,\n search = _source$location.search,\n hash = _source$location.hash,\n href = _source$location.href,\n origin = _source$location.origin,\n protocol = _source$location.protocol,\n host = _source$location.host,\n hostname = _source$location.hostname,\n port = _source$location.port;\n var pathname = source.location.pathname;\n\n if (!pathname && href && canUseDOM) {\n var url = new URL(href);\n pathname = url.pathname;\n }\n\n return {\n pathname: encodeURI(decodeURI(pathname)),\n search: search,\n hash: hash,\n href: href,\n origin: origin,\n protocol: protocol,\n host: host,\n hostname: hostname,\n port: port,\n state: source.history.state,\n key: source.history.state && source.history.state.key || \"initial\"\n };\n};\n\nvar createHistory = function createHistory(source, options) {\n var listeners = [];\n var location = getLocation(source);\n var transitioning = false;\n\n var resolveTransition = function resolveTransition() {};\n\n return {\n get location() {\n return location;\n },\n\n get transitioning() {\n return transitioning;\n },\n\n _onTransitionComplete: function _onTransitionComplete() {\n transitioning = false;\n resolveTransition();\n },\n listen: function listen(listener) {\n listeners.push(listener);\n\n var popstateListener = function popstateListener() {\n location = getLocation(source);\n listener({\n location: location,\n action: \"POP\"\n });\n };\n\n source.addEventListener(\"popstate\", popstateListener);\n return function () {\n source.removeEventListener(\"popstate\", popstateListener);\n listeners = listeners.filter(function (fn) {\n return fn !== listener;\n });\n };\n },\n navigate: function navigate(to) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n state = _ref.state,\n _ref$replace = _ref.replace,\n replace = _ref$replace === undefined ? false : _ref$replace;\n\n if (typeof to === \"number\") {\n source.history.go(to);\n } else {\n state = _extends({}, state, {\n key: Date.now() + \"\"\n }); // try...catch iOS Safari limits to 100 pushState calls\n\n try {\n if (transitioning || replace) {\n source.history.replaceState(state, null, to);\n } else {\n source.history.pushState(state, null, to);\n }\n } catch (e) {\n source.location[replace ? \"replace\" : \"assign\"](to);\n }\n }\n\n location = getLocation(source);\n transitioning = true;\n var transition = new Promise(function (res) {\n return resolveTransition = res;\n });\n listeners.forEach(function (listener) {\n return listener({\n location: location,\n action: \"PUSH\"\n });\n });\n return transition;\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// Stores history entries in memory for testing or other platforms like Native\n\n\nvar createMemorySource = function createMemorySource() {\n var initialPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"/\";\n var searchIndex = initialPath.indexOf(\"?\");\n var initialLocation = {\n pathname: searchIndex > -1 ? initialPath.substr(0, searchIndex) : initialPath,\n search: searchIndex > -1 ? initialPath.substr(searchIndex) : \"\"\n };\n var index = 0;\n var stack = [initialLocation];\n var states = [null];\n return {\n get location() {\n return stack[index];\n },\n\n addEventListener: function addEventListener(name, fn) {},\n removeEventListener: function removeEventListener(name, fn) {},\n history: {\n get entries() {\n return stack;\n },\n\n get index() {\n return index;\n },\n\n get state() {\n return states[index];\n },\n\n pushState: function pushState(state, _, uri) {\n var _uri$split = uri.split(\"?\"),\n pathname = _uri$split[0],\n _uri$split$ = _uri$split[1],\n search = _uri$split$ === undefined ? \"\" : _uri$split$;\n\n index++;\n stack.push({\n pathname: pathname,\n search: search.length ? \"?\" + search : search\n });\n states.push(state);\n },\n replaceState: function replaceState(state, _, uri) {\n var _uri$split2 = uri.split(\"?\"),\n pathname = _uri$split2[0],\n _uri$split2$ = _uri$split2[1],\n search = _uri$split2$ === undefined ? \"\" : _uri$split2$;\n\n stack[index] = {\n pathname: pathname,\n search: search\n };\n states[index] = state;\n },\n go: function go(to) {\n var newIndex = index + to;\n\n if (newIndex < 0 || newIndex > states.length - 1) {\n return;\n }\n\n index = newIndex;\n }\n }\n };\n}; ////////////////////////////////////////////////////////////////////////////////\n// global history - uses window.history as the source if available, otherwise a\n// memory history\n\n\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n\nvar getSource = function getSource() {\n return canUseDOM ? window : createMemorySource();\n};\n\nvar globalHistory = createHistory(getSource());\nvar navigate = globalHistory.navigate; ////////////////////////////////////////////////////////////////////////////////\n\nexport { globalHistory, navigate, createHistory, createMemorySource };","var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n/* eslint-disable jsx-a11y/anchor-has-content */\n\n\nimport React, { useContext, createContext } from \"react\";\nimport invariant from \"invariant\";\nimport { polyfill } from \"react-lifecycles-compat\";\nimport { startsWith, pick, resolve, match, insertParams, validateRedirect, shallowCompare } from \"./lib/utils\";\nimport { globalHistory, navigate, createHistory, createMemorySource } from \"./lib/history\"; ////////////////////////////////////////////////////////////////////////////////\n\nvar createNamedContext = function createNamedContext(name, defaultValue) {\n var Ctx = createContext(defaultValue);\n Ctx.displayName = name;\n return Ctx;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Location Context/Provider\n\n\nvar LocationContext = createNamedContext(\"Location\"); // sets up a listener if there isn't one already so apps don't need to be\n// wrapped in some top level provider\n\nvar Location = function Location(_ref) {\n var children = _ref.children;\n return React.createElement(LocationContext.Consumer, null, function (context) {\n return context ? children(context) : React.createElement(LocationProvider, null, children);\n });\n};\n\nvar LocationProvider = function (_React$Component) {\n _inherits(LocationProvider, _React$Component);\n\n function LocationProvider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, LocationProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n context: _this.getContext(),\n refs: {\n unlisten: null\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n LocationProvider.prototype.getContext = function getContext() {\n var _props$history = this.props.history,\n navigate = _props$history.navigate,\n location = _props$history.location;\n return {\n navigate: navigate,\n location: location\n };\n };\n\n LocationProvider.prototype.componentDidCatch = function componentDidCatch(error, info) {\n if (isRedirect(error)) {\n var _navigate = this.props.history.navigate;\n\n _navigate(error.uri, {\n replace: true\n });\n } else {\n throw error;\n }\n };\n\n LocationProvider.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevState.context.location !== this.state.context.location) {\n this.props.history._onTransitionComplete();\n }\n };\n\n LocationProvider.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n var refs = this.state.refs,\n history = this.props.history;\n\n history._onTransitionComplete();\n\n refs.unlisten = history.listen(function () {\n Promise.resolve().then(function () {\n // TODO: replace rAF with react deferred update API when it's ready https://github.com/facebook/react/issues/13306\n requestAnimationFrame(function () {\n if (!_this2.unmounted) {\n _this2.setState(function () {\n return {\n context: _this2.getContext()\n };\n });\n }\n });\n });\n });\n };\n\n LocationProvider.prototype.componentWillUnmount = function componentWillUnmount() {\n var refs = this.state.refs;\n this.unmounted = true;\n refs.unlisten();\n };\n\n LocationProvider.prototype.render = function render() {\n var context = this.state.context,\n children = this.props.children;\n return React.createElement(LocationContext.Provider, {\n value: context\n }, typeof children === \"function\" ? children(context) : children || null);\n };\n\n return LocationProvider;\n}(React.Component); ////////////////////////////////////////////////////////////////////////////////\n\n\nLocationProvider.defaultProps = {\n history: globalHistory\n};\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\n\nvar ServerLocation = function ServerLocation(_ref2) {\n var url = _ref2.url,\n children = _ref2.children;\n var searchIndex = url.indexOf(\"?\");\n var searchExists = searchIndex > -1;\n var pathname = void 0;\n var search = \"\";\n var hash = \"\";\n\n if (searchExists) {\n pathname = url.substring(0, searchIndex);\n search = url.substring(searchIndex);\n } else {\n pathname = url;\n }\n\n return React.createElement(LocationContext.Provider, {\n value: {\n location: {\n pathname: pathname,\n search: search,\n hash: hash\n },\n navigate: function navigate() {\n throw new Error(\"You can't call navigate on the server.\");\n }\n }\n }, children);\n}; ////////////////////////////////////////////////////////////////////////////////\n// Sets baseuri and basepath for nested routers and links\n\n\nvar BaseContext = createNamedContext(\"Base\", {\n baseuri: \"/\",\n basepath: \"/\",\n navigate: globalHistory.navigate\n}); ////////////////////////////////////////////////////////////////////////////////\n// The main event, welcome to the show everybody.\n\nvar Router = function Router(props) {\n return React.createElement(BaseContext.Consumer, null, function (baseContext) {\n return React.createElement(Location, null, function (locationContext) {\n return React.createElement(RouterImpl, _extends({}, baseContext, locationContext, props));\n });\n });\n};\n\nvar RouterImpl = function (_React$PureComponent) {\n _inherits(RouterImpl, _React$PureComponent);\n\n function RouterImpl() {\n _classCallCheck(this, RouterImpl);\n\n return _possibleConstructorReturn(this, _React$PureComponent.apply(this, arguments));\n }\n\n RouterImpl.prototype.render = function render() {\n var _props = this.props,\n location = _props.location,\n _navigate2 = _props.navigate,\n basepath = _props.basepath,\n primary = _props.primary,\n children = _props.children,\n baseuri = _props.baseuri,\n _props$component = _props.component,\n component = _props$component === undefined ? \"div\" : _props$component,\n domProps = _objectWithoutProperties(_props, [\"location\", \"navigate\", \"basepath\", \"primary\", \"children\", \"baseuri\", \"component\"]);\n\n var routes = React.Children.toArray(children).reduce(function (array, child) {\n var routes = createRoute(basepath)(child);\n return array.concat(routes);\n }, []);\n var pathname = location.pathname;\n var match = pick(routes, pathname);\n\n if (match) {\n var params = match.params,\n uri = match.uri,\n route = match.route,\n element = match.route.value; // remove the /* from the end for child routes relative paths\n\n basepath = route.default ? basepath : route.path.replace(/\\*$/, \"\");\n\n var props = _extends({}, params, {\n uri: uri,\n location: location,\n navigate: function navigate(to, options) {\n return _navigate2(resolve(to, uri), options);\n }\n });\n\n var clone = React.cloneElement(element, props, element.props.children ? React.createElement(Router, {\n location: location,\n primary: primary\n }, element.props.children) : undefined); // using 'div' for < 16.3 support\n\n var FocusWrapper = primary ? FocusHandler : component; // don't pass any props to 'div'\n\n var wrapperProps = primary ? _extends({\n uri: uri,\n location: location,\n component: component\n }, domProps) : domProps;\n return React.createElement(BaseContext.Provider, {\n value: {\n baseuri: uri,\n basepath: basepath,\n navigate: props.navigate\n }\n }, React.createElement(FocusWrapper, wrapperProps, clone));\n } else {\n // Not sure if we want this, would require index routes at every level\n // warning(\n // false,\n // `\\n\\nNothing matched:\\n\\t${\n // location.pathname\n // }\\n\\nPaths checked: \\n\\t${routes\n // .map(route => route.path)\n // .join(\n // \"\\n\\t\"\n // )}\\n\\nTo get rid of this warning, add a default NotFound component as child of Router:\n // \\n\\tlet NotFound = () =>
Not Found!
\n // \\n\\t\\n\\t \\n\\t {/* ... */}\\n\\t`\n // );\n return null;\n }\n };\n\n return RouterImpl;\n}(React.PureComponent);\n\nRouterImpl.defaultProps = {\n primary: true\n};\nvar FocusContext = createNamedContext(\"Focus\");\n\nvar FocusHandler = function FocusHandler(_ref3) {\n var uri = _ref3.uri,\n location = _ref3.location,\n component = _ref3.component,\n domProps = _objectWithoutProperties(_ref3, [\"uri\", \"location\", \"component\"]);\n\n return React.createElement(FocusContext.Consumer, null, function (requestFocus) {\n return React.createElement(FocusHandlerImpl, _extends({}, domProps, {\n component: component,\n requestFocus: requestFocus,\n uri: uri,\n location: location\n }));\n });\n}; // don't focus on initial render\n\n\nvar initialRender = true;\nvar focusHandlerCount = 0;\n\nvar FocusHandlerImpl = function (_React$Component2) {\n _inherits(FocusHandlerImpl, _React$Component2);\n\n function FocusHandlerImpl() {\n var _temp2, _this4, _ret2;\n\n _classCallCheck(this, FocusHandlerImpl);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this4 = _possibleConstructorReturn(this, _React$Component2.call.apply(_React$Component2, [this].concat(args))), _this4), _this4.state = {}, _this4.requestFocus = function (node) {\n if (!_this4.state.shouldFocus && node) {\n node.focus();\n }\n }, _temp2), _possibleConstructorReturn(_this4, _ret2);\n }\n\n FocusHandlerImpl.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var initial = prevState.uri == null;\n\n if (initial) {\n return _extends({\n shouldFocus: true\n }, nextProps);\n } else {\n var myURIChanged = nextProps.uri !== prevState.uri;\n var navigatedUpToMe = prevState.location.pathname !== nextProps.location.pathname && nextProps.location.pathname === nextProps.uri;\n return _extends({\n shouldFocus: myURIChanged || navigatedUpToMe\n }, nextProps);\n }\n };\n\n FocusHandlerImpl.prototype.componentDidMount = function componentDidMount() {\n focusHandlerCount++;\n this.focus();\n };\n\n FocusHandlerImpl.prototype.componentWillUnmount = function componentWillUnmount() {\n focusHandlerCount--;\n\n if (focusHandlerCount === 0) {\n initialRender = true;\n }\n };\n\n FocusHandlerImpl.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (prevProps.location !== this.props.location && this.state.shouldFocus) {\n this.focus();\n }\n };\n\n FocusHandlerImpl.prototype.focus = function focus() {\n if (process.env.NODE_ENV === \"test\") {\n // getting cannot read property focus of null in the tests\n // and that bit of global `initialRender` state causes problems\n // should probably figure it out!\n return;\n }\n\n var requestFocus = this.props.requestFocus;\n\n if (requestFocus) {\n requestFocus(this.node);\n } else {\n if (initialRender) {\n initialRender = false;\n } else if (this.node) {\n // React polyfills [autofocus] and it fires earlier than cDM,\n // so we were stealing focus away, this line prevents that.\n if (!this.node.contains(document.activeElement)) {\n this.node.focus();\n }\n }\n }\n };\n\n FocusHandlerImpl.prototype.render = function render() {\n var _this5 = this;\n\n var _props2 = this.props,\n children = _props2.children,\n style = _props2.style,\n requestFocus = _props2.requestFocus,\n _props2$component = _props2.component,\n Comp = _props2$component === undefined ? \"div\" : _props2$component,\n uri = _props2.uri,\n location = _props2.location,\n domProps = _objectWithoutProperties(_props2, [\"children\", \"style\", \"requestFocus\", \"component\", \"uri\", \"location\"]);\n\n return React.createElement(Comp, _extends({\n style: _extends({\n outline: \"none\"\n }, style),\n tabIndex: \"-1\",\n ref: function ref(n) {\n return _this5.node = n;\n }\n }, domProps), React.createElement(FocusContext.Provider, {\n value: this.requestFocus\n }, this.props.children));\n };\n\n return FocusHandlerImpl;\n}(React.Component);\n\npolyfill(FocusHandlerImpl);\n\nvar k = function k() {}; ////////////////////////////////////////////////////////////////////////////////\n\n\nvar forwardRef = React.forwardRef;\n\nif (typeof forwardRef === \"undefined\") {\n forwardRef = function forwardRef(C) {\n return C;\n };\n}\n\nvar Link = forwardRef(function (_ref4, ref) {\n var innerRef = _ref4.innerRef,\n props = _objectWithoutProperties(_ref4, [\"innerRef\"]);\n\n return React.createElement(BaseContext.Consumer, null, function (_ref5) {\n var basepath = _ref5.basepath,\n baseuri = _ref5.baseuri;\n return React.createElement(Location, null, function (_ref6) {\n var location = _ref6.location,\n navigate = _ref6.navigate;\n\n var to = props.to,\n state = props.state,\n replace = props.replace,\n _props$getProps = props.getProps,\n getProps = _props$getProps === undefined ? k : _props$getProps,\n anchorProps = _objectWithoutProperties(props, [\"to\", \"state\", \"replace\", \"getProps\"]);\n\n var href = resolve(to, baseuri);\n var encodedHref = encodeURI(href);\n var isCurrent = location.pathname === encodedHref;\n var isPartiallyCurrent = startsWith(location.pathname, encodedHref);\n return React.createElement(\"a\", _extends({\n ref: ref || innerRef,\n \"aria-current\": isCurrent ? \"page\" : undefined\n }, anchorProps, getProps({\n isCurrent: isCurrent,\n isPartiallyCurrent: isPartiallyCurrent,\n href: href,\n location: location\n }), {\n href: href,\n onClick: function onClick(event) {\n if (anchorProps.onClick) anchorProps.onClick(event);\n\n if (shouldNavigate(event)) {\n event.preventDefault();\n var shouldReplace = replace;\n\n if (typeof replace !== \"boolean\" && isCurrent) {\n var _location$state = _extends({}, location.state),\n key = _location$state.key,\n restState = _objectWithoutProperties(_location$state, [\"key\"]);\n\n shouldReplace = shallowCompare(_extends({}, state), restState);\n }\n\n navigate(href, {\n state: state,\n replace: shouldReplace\n });\n }\n }\n }));\n });\n });\n});\nLink.displayName = \"Link\";\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0; ////////////////////////////////////////////////////////////////////////////////\n\nfunction RedirectRequest(uri) {\n this.uri = uri;\n}\n\nvar isRedirect = function isRedirect(o) {\n return o instanceof RedirectRequest;\n};\n\nvar redirectTo = function redirectTo(to) {\n throw new RedirectRequest(to);\n};\n\nvar RedirectImpl = function (_React$Component3) {\n _inherits(RedirectImpl, _React$Component3);\n\n function RedirectImpl() {\n _classCallCheck(this, RedirectImpl);\n\n return _possibleConstructorReturn(this, _React$Component3.apply(this, arguments));\n } // Support React < 16 with this hook\n\n\n RedirectImpl.prototype.componentDidMount = function componentDidMount() {\n var _props3 = this.props,\n navigate = _props3.navigate,\n to = _props3.to,\n from = _props3.from,\n _props3$replace = _props3.replace,\n replace = _props3$replace === undefined ? true : _props3$replace,\n state = _props3.state,\n noThrow = _props3.noThrow,\n baseuri = _props3.baseuri,\n props = _objectWithoutProperties(_props3, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n Promise.resolve().then(function () {\n var resolvedTo = resolve(to, baseuri);\n navigate(insertParams(resolvedTo, props), {\n replace: replace,\n state: state\n });\n });\n };\n\n RedirectImpl.prototype.render = function render() {\n var _props4 = this.props,\n navigate = _props4.navigate,\n to = _props4.to,\n from = _props4.from,\n replace = _props4.replace,\n state = _props4.state,\n noThrow = _props4.noThrow,\n baseuri = _props4.baseuri,\n props = _objectWithoutProperties(_props4, [\"navigate\", \"to\", \"from\", \"replace\", \"state\", \"noThrow\", \"baseuri\"]);\n\n var resolvedTo = resolve(to, baseuri);\n if (!noThrow) redirectTo(insertParams(resolvedTo, props));\n return null;\n };\n\n return RedirectImpl;\n}(React.Component);\n\nvar Redirect = function Redirect(props) {\n return React.createElement(BaseContext.Consumer, null, function (_ref7) {\n var baseuri = _ref7.baseuri;\n return React.createElement(Location, null, function (locationContext) {\n return React.createElement(RedirectImpl, _extends({}, locationContext, {\n baseuri: baseuri\n }, props));\n });\n });\n};\n\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0; ////////////////////////////////////////////////////////////////////////////////\n\nvar Match = function Match(_ref8) {\n var path = _ref8.path,\n children = _ref8.children;\n return React.createElement(BaseContext.Consumer, null, function (_ref9) {\n var baseuri = _ref9.baseuri;\n return React.createElement(Location, null, function (_ref10) {\n var navigate = _ref10.navigate,\n location = _ref10.location;\n var resolvedPath = resolve(path, baseuri);\n var result = match(resolvedPath, location.pathname);\n return children({\n navigate: navigate,\n location: location,\n match: result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null\n });\n });\n });\n}; ////////////////////////////////////////////////////////////////////////////////\n// Hooks\n\n\nvar useLocation = function useLocation() {\n var context = useContext(LocationContext);\n\n if (!context) {\n throw new Error(\"useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.location;\n};\n\nvar useNavigate = function useNavigate() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useNavigate hook was used but a BaseContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n return context.navigate;\n};\n\nvar useParams = function useParams() {\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n var results = match(context.basepath, location.pathname);\n return results ? results.params : null;\n};\n\nvar useMatch = function useMatch(path) {\n if (!path) {\n throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");\n }\n\n var context = useContext(BaseContext);\n\n if (!context) {\n throw new Error(\"useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");\n }\n\n var location = useLocation();\n var resolvedPath = resolve(path, context.baseuri);\n var result = match(resolvedPath, location.pathname);\n return result ? _extends({}, result.params, {\n uri: result.uri,\n path: path\n }) : null;\n}; ////////////////////////////////////////////////////////////////////////////////\n// Junk\n\n\nvar stripSlashes = function stripSlashes(str) {\n return str.replace(/(^\\/+|\\/+$)/g, \"\");\n};\n\nvar createRoute = function createRoute(basepath) {\n return function (element) {\n if (!element) {\n return null;\n }\n\n if (element.type === React.Fragment && element.props.children) {\n return React.Children.map(element.props.children, createRoute(basepath));\n }\n\n !(element.props.path || element.props.default || element.type === Redirect) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \": Children of must have a `path` or `default` prop, or be a ``. None found on element type `\" + element.type + \"`\") : invariant(false) : void 0;\n !!(element.type === Redirect && (!element.props.from || !element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" requires both \\\"from\\\" and \\\"to\\\" props when inside a .\") : invariant(false) : void 0;\n !!(element.type === Redirect && !validateRedirect(element.props.from, element.props.to)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \" has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.\") : invariant(false) : void 0;\n\n if (element.props.default) {\n return {\n value: element,\n default: true\n };\n }\n\n var elementPath = element.type === Redirect ? element.props.from : element.props.path;\n var path = elementPath === \"/\" ? basepath : stripSlashes(basepath) + \"/\" + stripSlashes(elementPath);\n return {\n value: element,\n default: element.props.default,\n path: element.props.children ? stripSlashes(path) + \"/*\" : path\n };\n };\n};\n\nvar shouldNavigate = function shouldNavigate(event) {\n return !event.defaultPrevented && event.button === 0 && !(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}; ////////////////////////////////////////////////////////////////////////\n\n\nexport { Link, Location, LocationProvider, Match, Redirect, Router, ServerLocation, createHistory, createMemorySource, isRedirect, navigate, redirectTo, globalHistory, match as matchPath, useLocation, useNavigate, useParams, useMatch, resolve , BaseContext };","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n strings.raw = raw;\n return strings;\n}\n\nmodule.exports = _taggedTemplateLiteralLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\n\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst PartytownSnippet = \"/* Partytown 0.5.4 - MIT builder.io */\\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\\\"/\\\"==(a=(o.lib||\\\"/~partytown/\\\")+(o.debug?\\\"debug/\\\":\\\"\\\"))[0]&&(s=e.querySelectorAll('script[type=\\\"text/partytown\\\"]'),i!=t?i.dispatchEvent(new CustomEvent(\\\"pt1\\\",{detail:t})):(d=setTimeout(w,1e4),e.addEventListener(\\\"pt0\\\",f),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\\\"partytown-sw.js\\\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\\\"statechange\\\",(function(t){\\\"activated\\\"==t.target.state&&h()}))}),console.error):w())))}function h(t){c=e.createElement(t?\\\"script\\\":\\\"iframe\\\"),t||(c.setAttribute(\\\"style\\\",\\\"display:block;width:0;height:0;border:0;visibility:hidden\\\"),c.setAttribute(\\\"aria-hidden\\\",!0)),c.src=a+\\\"partytown-\\\"+(t?\\\"atomics.js?v=0.5.4\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t {\n const { forward = [], ...filteredConfig } = config || {};\n const configStr = JSON.stringify(filteredConfig, (k, v) => {\n if (typeof v === 'function') {\n v = String(v);\n if (v.startsWith(k + '(')) {\n v = 'function ' + v;\n }\n }\n return v;\n });\n return [\n `!(function(w,p,f,c){`,\n Object.keys(filteredConfig).length > 0\n ? `c=w[p]=Object.assign(w[p]||{},${configStr});`\n : `c=w[p]=w[p]||{};`,\n `c[f]=(c[f]||[])`,\n forward.length > 0 ? `.concat(${JSON.stringify(forward)})` : ``,\n `})(window,'partytown','forward');`,\n snippetCode,\n ].join('');\n};\n\n/**\n * The `type` attribute for Partytown scripts, which does two things:\n *\n * 1. Prevents the `