{"version":3,"file":"app-1a8a1fcde8f405b53bc8.js","mappings":"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","sources":["webpack://main-frontend/./node_modules/browser-lang/dist/index.js","webpack://main-frontend/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://main-frontend/./node_modules/gatsby-react-router-scroll/index.js","webpack://main-frontend/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://main-frontend/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://main-frontend/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://main-frontend/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://main-frontend/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://main-frontend/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://main-frontend/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://main-frontend/./.cache/api-runner-browser-plugins.js","webpack://main-frontend/./.cache/api-runner-browser.js","webpack://main-frontend/./.cache/create-content-digest-browser-shim.js","webpack://main-frontend/./.cache/emitter.js","webpack://main-frontend/./node_modules/mitt/dist/mitt.es.js","webpack://main-frontend/./.cache/normalize-page-path.js","webpack://main-frontend/./.cache/find-path.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://main-frontend/./.cache/slice/server-slice-renderer.js","webpack://main-frontend/./.cache/slice/server-slice.js","webpack://main-frontend/./.cache/slice/inline-slice.js","webpack://main-frontend/./.cache/slice.js","webpack://main-frontend/./.cache/gatsby-browser-entry.js","webpack://main-frontend/./.cache/prefetch.js","webpack://main-frontend/./.cache/loader.js","webpack://main-frontend/./.cache/head/components/fire-callback-in-effect.js","webpack://main-frontend/./.cache/head/constants.js","webpack://main-frontend/./.cache/head/utils.js","webpack://main-frontend/./.cache/head/head-export-handler-for-browser.js","webpack://main-frontend/./.cache/page-renderer.js","webpack://main-frontend/./.cache/route-announcer-props.js","webpack://main-frontend/./.cache/navigation.js","webpack://main-frontend/./node_modules/shallow-compare/es/index.js","webpack://main-frontend/./.cache/ensure-resources.js","webpack://main-frontend/./.cache/production-app.js","webpack://main-frontend/./.cache/public-page-renderer-prod.js","webpack://main-frontend/./.cache/public-page-renderer.js","webpack://main-frontend/./.cache/react-dom-utils.js","webpack://main-frontend/./.cache/redirect-utils.js","webpack://main-frontend/./.cache/register-service-worker.js","webpack://main-frontend/./.cache/slice/context.js","webpack://main-frontend/./.cache/static-query.js","webpack://main-frontend/./.cache/context-utils.js","webpack://main-frontend/./.cache/strip-prefix.js","webpack://main-frontend/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://main-frontend/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://main-frontend/./node_modules/gatsby-plugin-react-i18next/dist/i18nextContext.js","webpack://main-frontend/./node_modules/gatsby-plugin-react-i18next/dist/plugin/wrapPageElement.js","webpack://main-frontend/./node_modules/gatsby-plugin-react-i18next/dist/types.js","webpack://main-frontend/./node_modules/gatsby-plugin-react-i18next/gatsby-browser.js","webpack://main-frontend/./node_modules/i18next/dist/cjs/i18next.js","webpack://main-frontend/./node_modules/invariant/browser.js","webpack://main-frontend/./node_modules/outdent/lib-module/index.js","webpack://main-frontend/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://main-frontend/./node_modules/react-server-dom-webpack/index.js","webpack://main-frontend/./node_modules/void-elements/index.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/createClass.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/extends.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/inherits.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/toArray.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/typeof.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://main-frontend/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://main-frontend/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://main-frontend/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://main-frontend/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://main-frontend/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://main-frontend/./node_modules/gatsby-script/dist/index.modern.mjs","webpack://main-frontend/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://main-frontend/./node_modules/react-i18next/dist/es/utils.js","webpack://main-frontend/./node_modules/react-i18next/dist/es/unescape.js","webpack://main-frontend/./node_modules/react-i18next/dist/es/defaults.js","webpack://main-frontend/./node_modules/react-i18next/dist/es/i18nInstance.js","webpack://main-frontend/./node_modules/react-i18next/dist/es/TransWithoutContext.js","webpack://main-frontend/./node_modules/react-i18next/dist/es/initReactI18next.js","webpack://main-frontend/./node_modules/react-i18next/dist/es/context.js","webpack://main-frontend/./node_modules/react-i18next/dist/es/Trans.js","webpack://main-frontend/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://main-frontend/./node_modules/react-i18next/dist/es/withTranslation.js","webpack://main-frontend/./node_modules/react-i18next/dist/es/Translation.js","webpack://main-frontend/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://main-frontend/./node_modules/react-i18next/dist/es/useSSR.js","webpack://main-frontend/./node_modules/react-i18next/dist/es/withSSR.js","webpack://main-frontend/./node_modules/react-i18next/dist/es/index.js"],"sourcesContent":["\"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;\nconst applyTrailingSlashOption = (input, option = `always`) => {\n const hasHtmlSuffix = input.endsWith(`.html`);\n const hasXmlSuffix = input.endsWith(`.xml`);\n const hasPdfSuffix = input.endsWith(`.pdf`);\n if (input === `/`) return input;\n if (hasHtmlSuffix || hasXmlSuffix || hasPdfSuffix) {\n option = `never`;\n }\n if (option === `always`) {\n return input.endsWith(`/`) ? input : `${input}/`;\n }\n if (option === `never`) {\n return input.endsWith(`/`) ? input.slice(0, -1) : input;\n }\n return input;\n};\nexports.applyTrailingSlashOption = applyTrailingSlashOption;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = exports.ScrollContext = void 0;\nvar _scrollHandler = require(\"./scroll-handler\");\nexports.ScrollContext = _scrollHandler.ScrollHandler;\nvar _useScrollRestoration = require(\"./use-scroll-restoration\");\nexports.useScrollRestoration = _useScrollRestoration.useScrollRestoration;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.ScrollHandler = exports.ScrollContext = void 0;\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _sessionStorage = require(\"./session-storage\");\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); }\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; }\nvar ScrollContext = /*#__PURE__*/React.createContext(new _sessionStorage.SessionStorage());\nexports.ScrollContext = ScrollContext;\nScrollContext.displayName = \"GatsbyScrollContext\";\nvar ScrollHandler = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(ScrollHandler, _React$Component);\n function ScrollHandler() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\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 _this.scrollListener = function () {\n _this._latestKnownScrollY = window.scrollY;\n if (!_this._isTicking) {\n _this._isTicking = true;\n requestAnimationFrame(_this._saveScroll.bind((0, _assertThisInitialized2.default)(_this)));\n }\n };\n _this.windowScroll = function (position, prevProps) {\n if (_this.shouldUpdateScroll(prevProps, _this.props)) {\n window.scrollTo(0, position);\n }\n };\n _this.scrollToHash = function (hash, prevProps) {\n var node = document.getElementById(hash.substring(1));\n if (node && _this.shouldUpdateScroll(prevProps, _this.props)) {\n node.scrollIntoView();\n }\n };\n _this.shouldUpdateScroll = function (prevRouterProps, routerProps) {\n var shouldUpdateScroll = _this.props.shouldUpdateScroll;\n if (!shouldUpdateScroll) {\n return true;\n }\n\n // Hack to allow accessing this._stateStorage.\n return shouldUpdateScroll.call((0, _assertThisInitialized2.default)(_this), prevRouterProps, routerProps);\n };\n return _this;\n }\n var _proto = ScrollHandler.prototype;\n _proto._saveScroll = function _saveScroll() {\n var key = this.props.location.key || null;\n if (key) {\n this._stateStorage.save(this.props.location, key, this._latestKnownScrollY);\n }\n this._isTicking = false;\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 if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\n\n /** If a hash is present in the browser url as the component mounts (i.e. the user is navigating\n * from an external website) then scroll to the hash instead of any previously stored scroll\n * position. */\n if (hash) {\n this.scrollToHash(decodeURI(hash), undefined);\n } else if (scrollPosition) {\n this.windowScroll(scrollPosition, undefined);\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n window.removeEventListener(\"scroll\", this.scrollListener);\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 if (key) {\n scrollPosition = this._stateStorage.read(this.props.location, key);\n }\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 if (hash) {\n this.scrollToHash(decodeURI(hash), prevProps);\n } else {\n this.windowScroll(scrollPosition, prevProps);\n }\n };\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(ScrollContext.Provider, {\n value: this._stateStorage\n }, this.props.children);\n };\n return ScrollHandler;\n}(React.Component);\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\";\nvar SessionStorage = /*#__PURE__*/function () {\n function SessionStorage() {}\n var _proto = SessionStorage.prototype;\n _proto.read = function read(location, key) {\n var stateKey = this.getStateKey(location, key);\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 if (window && window[GATSBY_ROUTER_SCROLL_STATE] && window[GATSBY_ROUTER_SCROLL_STATE][stateKey]) {\n return window[GATSBY_ROUTER_SCROLL_STATE][stateKey];\n }\n return 0;\n }\n };\n _proto.save = function save(location, key, value) {\n var stateKey = this.getStateKey(location, key);\n var storedValue = JSON.stringify(value);\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 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 _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 return SessionStorage;\n}();\nexports.SessionStorage = SessionStorage;","\"use strict\";\n\nexports.__esModule = true;\nexports.useScrollRestoration = useScrollRestoration;\nvar _scrollHandler = require(\"./scroll-handler\");\nvar _react = require(\"react\");\nvar _reachRouter = require(\"@gatsbyjs/reach-router\");\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}","\"use strict\";\n\nexports.__esModule = true;\nexports.onInitialClientRender = void 0;\nvar _gatsbyScript = require(\"gatsby-script\");\nvar _injectPartytownSnippet = require(\"./utils/inject-partytown-snippet\");\n// Makes sure off-main-thread scripts are loaded in `gatsby develop`\nconst onInitialClientRender = () => {\n if (process.env.NODE_ENV !== `development`) {\n return;\n }\n (0, _injectPartytownSnippet.injectPartytownSnippet)(_gatsbyScript.collectedScriptsByPage.get(window.location.pathname));\n\n // Clear scripts after we've used them to avoid leaky behavior\n _gatsbyScript.collectedScriptsByPage.delete(window.location.pathname);\n};\n\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.\nexports.onInitialClientRender = onInitialClientRender;\n//# sourceMappingURL=gatsby-browser.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.getForwards = getForwards;\nfunction getForwards(collectedScripts) {\n return collectedScripts === null || collectedScripts === void 0 ? void 0 : collectedScripts.flatMap(script => (script === null || script === void 0 ? void 0 : script.forward) || []);\n}\n//# sourceMappingURL=get-forwards.js.map","\"use strict\";\n\nexports.__esModule = true;\nexports.injectPartytownSnippet = injectPartytownSnippet;\nvar _integration = require(\"@builder.io/partytown/integration\");\nvar _getForwards = require(\"./get-forwards\");\n// Adapted from https://github.com/BuilderIO/partytown/blob/main/src/react/snippet.tsx to only include CSR logic\nfunction injectPartytownSnippet(collectedScripts) {\n if (!collectedScripts.length) {\n return;\n }\n const existingSnippet = document.querySelector(`script[data-partytown]`);\n const existingSandbox = document.querySelector(`iframe[src*=\"~partytown/partytown-sandbox-sw\"]`);\n if (existingSnippet) {\n existingSnippet.remove();\n }\n if (existingSandbox) {\n existingSandbox.remove();\n }\n const forwards = (0, _getForwards.getForwards)(collectedScripts);\n const snippet = document.createElement(`script`);\n snippet.dataset.partytown = ``;\n snippet.innerHTML = (0, _integration.partytownSnippet)({\n forward: forwards\n });\n document.head.appendChild(snippet);\n}\n//# sourceMappingURL=inject-partytown-snippet.js.map","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-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"icon\":\"src/images/icon.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"6fff78af6e72fb1c4eca6bf7b071287d\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-react-i18next/gatsby-browser.js'),\n options: {\"plugins\":[],\"localeJsonSourceName\":\"locale\",\"languages\":[\"uk\",\"en\"],\"defaultLanguage\":\"uk\",\"siteUrl\":\"https://edopomoga.gov.ua/\",\"i18nextOptions\":{\"interpolation\":{\"escapeValue\":false},\"keySeparator\":false,\"nsSeparator\":false}},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\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","exports.createContentDigest = () => ``\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\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","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\"\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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import React from \"react\"\n\nexport const ServerSliceRenderer = ({ sliceId, children }) => {\n const contents = [\n React.createElement(`slice-start`, {\n id: `${sliceId}-1`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-1`,\n }),\n ]\n\n if (children) {\n // if children exist, we split the slice into a before and after piece\n // see renderSlices in render-html\n contents.push(children)\n contents.push(\n React.createElement(`slice-start`, {\n id: `${sliceId}-2`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-2`,\n })\n )\n }\n\n return contents\n}\n","import React, { useContext } from \"react\"\nimport { createContentDigest } from \"gatsby-core-utils/create-content-digest\"\nimport { SlicesMapContext, SlicesPropsContext } from \"./context\"\nimport { ServerSliceRenderer } from \"./server-slice-renderer\"\n\nconst getSliceId = (sliceName, sliceProps) => {\n if (!Object.keys(sliceProps).length) {\n return sliceName\n }\n\n const propsString = createContentDigest(sliceProps)\n return `${sliceName}-${propsString}`\n}\n\nexport const ServerSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesProps = useContext(SlicesPropsContext)\n const concreteSliceName = slicesMap[sliceName]\n\n if (!concreteSliceName) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n const sliceId = getSliceId(concreteSliceName, sliceProps)\n\n // set props on context object for static-entry to return\n let sliceUsage = slicesProps[sliceId]\n if (!sliceUsage) {\n slicesProps[sliceId] = sliceUsage = {\n props: sliceProps,\n sliceName: concreteSliceName,\n hasChildren: !!children,\n }\n } else {\n if (children) {\n sliceUsage.hasChildren = true\n }\n }\n\n return {children}\n}\n","import React, { useContext } from \"react\"\nimport { SlicesMapContext, SlicesResultsContext } from \"./context\"\n\nexport const InlineSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesResultsMap = useContext(SlicesResultsContext)\n const concreteSliceName = slicesMap[sliceName]\n const slice = slicesResultsMap.get(concreteSliceName)\n\n if (!slice) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n return (\n \n {children}\n \n )\n}\n","\"use client\"\n\nimport React, { useContext } from \"react\"\nimport { ServerSlice } from \"./slice/server-slice\"\nimport { InlineSlice } from \"./slice/inline-slice\"\nimport { SlicesContext } from \"./slice/context\"\n\nexport function Slice(props) {\n if (process.env.GATSBY_SLICES) {\n // we use sliceName internally, so remap alias to sliceName\n const internalProps = {\n ...props,\n sliceName: props.alias,\n }\n delete internalProps.alias\n delete internalProps.__renderedByLocation\n\n const slicesContext = useContext(SlicesContext)\n\n // validate props\n const propErrors = validateSliceProps(props)\n if (Object.keys(propErrors).length) {\n throw new SlicePropsError(\n slicesContext.renderEnvironment === `browser`,\n internalProps.sliceName,\n propErrors,\n props.__renderedByLocation\n )\n }\n\n if (slicesContext.renderEnvironment === `server`) {\n return \n } else if (slicesContext.renderEnvironment === `browser`) {\n // in the browser, we'll just render the component as is\n return \n } else if (\n slicesContext.renderEnvironment === `engines` ||\n slicesContext.renderEnvironment === `dev-ssr`\n ) {\n // if we're in SSR, we'll just render the component as is\n return \n } else if (slicesContext.renderEnvironment === `slices`) {\n // we are not yet supporting nested slices\n\n let additionalContextMessage = ``\n\n // just in case generating additional contextual information fails, we still want the base message to show\n // and not show another cryptic error message\n try {\n additionalContextMessage = `\\n\\nSlice component \"${slicesContext.sliceRoot.name}\" (${slicesContext.sliceRoot.componentPath}) tried to render `\n } catch {\n // don't need to handle it, we will just skip the additional context message if we fail to generate it\n }\n\n throw new Error(\n `Nested slices are not supported.${additionalContextMessage}\\n\\nSee https://gatsbyjs.com/docs/reference/built-in-components/gatsby-slice#nested-slices`\n )\n } else {\n throw new Error(\n `Slice context \"${slicesContext.renderEnvironment}\" is not supported.`\n )\n }\n } else {\n throw new Error(`Slices are disabled.`)\n }\n}\n\nclass SlicePropsError extends Error {\n constructor(inBrowser, sliceName, propErrors, renderedByLocation) {\n const errors = Object.entries(propErrors)\n .map(\n ([key, value]) =>\n `not serializable \"${value}\" type passed to \"${key}\" prop`\n )\n .join(`, `)\n\n const name = `SlicePropsError`\n let stack = ``\n let message = ``\n\n if (inBrowser) {\n // They're just (kinda) kidding, I promise... You can still work here <3\n // https://www.gatsbyjs.com/careers/\n const fullStack =\n React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getCurrentStack()\n\n // remove the first line of the stack trace\n const stackLines = fullStack.trim().split(`\\n`).slice(1)\n stackLines[0] = stackLines[0].trim()\n stack = `\\n` + stackLines.join(`\\n`)\n\n message = `Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n } else {\n // we can't really grab any extra info outside of the browser, so just print what we can\n message = `${name}: Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n const stackLines = new Error().stack.trim().split(`\\n`).slice(2)\n stack = `${message}\\n${stackLines.join(`\\n`)}`\n }\n\n super(message)\n this.name = name\n if (stack) {\n this.stack = stack\n } else {\n Error.captureStackTrace(this, SlicePropsError)\n }\n\n if (renderedByLocation) {\n this.forcedLocation = { ...renderedByLocation, functionName: `Slice` }\n }\n }\n}\n\nconst validateSliceProps = (\n props,\n errors = {},\n seenObjects = [],\n path = null\n) => {\n // recursively validate all props\n for (const [name, value] of Object.entries(props)) {\n if (\n value === undefined ||\n value === null ||\n (!path && name === `children`)\n ) {\n continue\n }\n\n const propPath = path ? `${path}.${name}` : name\n\n if (typeof value === `function`) {\n errors[propPath] = typeof value\n } else if (typeof value === `object` && seenObjects.indexOf(value) <= 0) {\n seenObjects.push(value)\n validateSliceProps(value, errors, seenObjects, propPath)\n }\n }\n\n return errors\n}\n","import loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\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 Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport { StaticQuery, StaticQueryContext, useStaticQuery } from \"./static-query\"\nexport { Slice } from \"./slice\"\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 { createFromReadableStream } from \"react-server-dom-webpack\"\nimport 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 preferDefault = m => (m && m.default) || m\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\n/**\n * Utility to check the path that goes into doFetch for e.g. potential malicious intentions.\n * It checks for \"//\" because with this you could do a fetch request to a different domain.\n */\nconst shouldAbortFetch = rawPath => rawPath.startsWith(`//`)\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 slicesMap: pageData.slicesMap ?? {},\n }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\n }\n}\n\nfunction waitForResponse(response) {\n return new Promise(resolve => {\n try {\n const result = response.readRoot()\n resolve(result)\n } catch (err) {\n if (\n Object.hasOwnProperty.call(err, `_response`) &&\n Object.hasOwnProperty.call(err, `_status`)\n ) {\n setTimeout(() => {\n waitForResponse(response).then(resolve)\n }, 200)\n } else {\n throw err\n }\n }\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.partialHydrationDb = new Map()\n this.slicesDataDb = new Map()\n this.sliceInflightDb = new Map()\n this.slicesDb = 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 fetchPartialHydrationJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath).replace(`.json`, `-rsc.json`)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: responseText,\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.fetchPartialHydrationJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPartialHydrationJson(\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.fetchPartialHydrationJson(\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 loadPartialHydrationJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.partialHydrationDb.has(pagePath)) {\n const pageData = this.partialHydrationDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPartialHydrationJson({ pagePath }).then(pageData => {\n this.partialHydrationDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadSliceDataJson(sliceName) {\n if (this.slicesDataDb.has(sliceName)) {\n const jsonPayload = this.slicesDataDb.get(sliceName)\n return Promise.resolve({ sliceName, jsonPayload })\n }\n\n const url = `${__PATH_PREFIX__}/slice-data/${sliceName}.json`\n return doFetch(url, `GET`).then(res => {\n const jsonPayload = JSON.parse(res.responseText)\n\n this.slicesDataDb.set(sliceName, jsonPayload)\n return { sliceName, jsonPayload }\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 Promise.resolve({\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 loadDataPromises = [\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]\n\n if (global.hasPartialHydration) {\n loadDataPromises.push(this.loadPartialHydrationJson(pagePath))\n }\n\n const inFlightPromise = Promise.all(loadDataPromises).then(allData => {\n const [appDataResponse, pageDataResponse, rscDataResponse] = allData\n\n if (\n pageDataResponse.status === PageResourceStatus.Error ||\n rscDataResponse?.status === PageResourceStatus.Error\n ) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = pageDataResponse.payload\n\n const {\n componentChunkName,\n staticQueryHashes: pageStaticQueryHashes = [],\n slicesMap = {},\n } = pageData\n\n const finalResult = {}\n\n const dedupedSliceNames = Array.from(new Set(Object.values(slicesMap)))\n\n const loadSlice = slice => {\n if (this.slicesDb.has(slice.name)) {\n return this.slicesDb.get(slice.name)\n } else if (this.sliceInflightDb.has(slice.name)) {\n return this.sliceInflightDb.get(slice.name)\n }\n\n const inFlight = this.loadComponent(slice.componentChunkName).then(\n component => {\n return {\n component: preferDefault(component),\n sliceContext: slice.result.sliceContext,\n data: slice.result.data,\n }\n }\n )\n\n this.sliceInflightDb.set(slice.name, inFlight)\n inFlight.then(results => {\n this.slicesDb.set(slice.name, results)\n this.sliceInflightDb.delete(slice.name)\n })\n\n return inFlight\n }\n\n return Promise.all(\n dedupedSliceNames.map(sliceName => this.loadSliceDataJson(sliceName))\n ).then(slicesData => {\n const slices = []\n const dedupedStaticQueryHashes = [...pageStaticQueryHashes]\n\n for (const { jsonPayload, sliceName } of Object.values(slicesData)) {\n slices.push({ name: sliceName, ...jsonPayload })\n for (const staticQueryHash of jsonPayload.staticQueryHashes) {\n if (!dedupedStaticQueryHashes.includes(staticQueryHash)) {\n dedupedStaticQueryHashes.push(staticQueryHash)\n }\n }\n }\n\n const loadChunkPromises = [\n Promise.all(slices.map(loadSlice)),\n this.loadComponent(componentChunkName, `head`),\n ]\n\n if (!global.hasPartialHydration) {\n loadChunkPromises.push(this.loadComponent(componentChunkName))\n }\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 // get list of components to get\n const componentChunkPromises = Promise.all(loadChunkPromises).then(\n components => {\n const [sliceComponents, headComponent, pageComponent] = components\n\n finalResult.createdAt = new Date()\n\n for (const sliceComponent of sliceComponents) {\n if (!sliceComponent || sliceComponent instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = sliceComponent\n }\n }\n\n if (\n !global.hasPartialHydration &&\n (!pageComponent || pageComponent instanceof Error)\n ) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = pageComponent\n }\n\n let pageResources\n\n if (finalResult.status !== PageResourceStatus.Error) {\n finalResult.status = PageResourceStatus.Success\n if (\n pageDataResponse.notFound === true ||\n rscDataResponse?.notFound === true\n ) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appDataResponse\n ? appDataResponse.webpackCompilationHash\n : ``,\n })\n\n if (typeof rscDataResponse?.payload === `string`) {\n pageResources = toPageResources(pageData, null, headComponent)\n\n pageResources.partialHydration = rscDataResponse.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(rscDataResponse.payload))\n },\n pull(controller) {\n // close on next read when queue is empty\n controller.close()\n },\n cancel() {},\n })\n\n return waitForResponse(\n createFromReadableStream(readableStream)\n ).then(result => {\n pageResources.partialHydration = result\n\n return pageResources\n })\n } else {\n pageResources = toPageResources(\n pageData,\n pageComponent,\n headComponent\n )\n }\n }\n\n // undefined if final result is an error\n return pageResources\n }\n )\n\n // get list of static queries to get\n const staticQueryBatchPromise = Promise.all(\n dedupedStaticQueryHashes.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([componentChunkPromises, 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\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\n if (global.hasPartialHydration) {\n return Promise.all([\n 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 prefetchHelper(pageDataUrl.replace(`.json`, `-rsc.json`), {\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.loadPartialHydrationJson(pagePath)\n ),\n ])\n } else {\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\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 if (shouldAbortFetch(rawPath)) {\n return data\n }\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 loadPartialHydrationJson(rawPath) {\n return super.loadPartialHydrationJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\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\nexport function getSliceResults() {\n if (instance) {\n return instance.slicesDb\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 `html`,\n `body`,\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 serverData: input.serverData,\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid function\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 which may have been directly added or introduced by `wrapRootElement`\n * @param {string} tagName\n */\nexport function warnForInvalidTag(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = createWarningForInvalidTag(tagName)\n warnOnce(warning)\n }\n}\n\nfunction createWarningForInvalidTag(tagName) {\n return `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}.\\n\\nAlso make sure that wrapRootElement in gatsby-ssr/gatsby-browser doesn't contain UI elements: https://gatsby.dev/invalid-head-elements`\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\nexport function getValidHeadNodesAndAttributes(\n rootNode,\n htmlAndBodyAttributes = {\n html: {},\n body: {},\n }\n) {\n const seenIds = new Map()\n const validHeadNodes = []\n\n // Filter out non-element nodes before looping since we don't care about them\n for (const node of rootNode.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!isElementType(node)) continue\n\n if (isValidNodeName(nodeName)) {\n // and tags are treated differently, in that we don't render them, we only extract the attributes and apply them separetely\n if (nodeName === `html` || nodeName === `body`) {\n for (const attribute of node.attributes) {\n htmlAndBodyAttributes[nodeName] = {\n ...htmlAndBodyAttributes[nodeName],\n [attribute.name]: attribute.value,\n }\n }\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // // This is hack to make script tags work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n clonedNode = massageScript(clonedNode)\n }\n // Duplicate ids are not allowed in the head, so we need to dedupe them\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[\n indexOfPreviouslyInsertedNode\n ].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n } else {\n warnForInvalidTag(nodeName)\n }\n\n if (node.childNodes.length) {\n validHeadNodes.push(\n ...getValidHeadNodesAndAttributes(node, htmlAndBodyAttributes)\n .validHeadNodes\n )\n }\n }\n\n return { validHeadNodes, htmlAndBodyAttributes }\n}\n\nfunction massageScript(node) {\n const script = document.createElement(`script`)\n for (const attr of node.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = node.innerHTML\n\n return script\n}\n\nexport function isValidNodeName(nodeName) {\n return VALID_NODE_NAMES.includes(nodeName)\n}\n/*\n * For Head, we only care about element nodes(type = 1), so this util is used to skip over non-element nodes\n * For Node type, see https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n */\nexport function isElementType(node) {\n return node.nodeType === 1\n}\n\n/**\n * Removes all the head elements that were added by `Head`\n */\nexport function removePrevHeadElements() {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nexport function applyHtmlAndBodyAttributes(htmlAndBodyAttributes) {\n if (!htmlAndBodyAttributes) return\n\n const { html, body } = htmlAndBodyAttributes\n\n const htmlElement = document.querySelector(`html`)\n if (htmlElement) {\n Object.entries(html).forEach(([attributeName, attributeValue]) => {\n htmlElement.setAttribute(attributeName, attributeValue)\n })\n }\n\n const bodyElement = document.querySelector(`body`)\n if (bodyElement) {\n Object.entries(body).forEach(([attributeName, attributeValue]) => {\n bodyElement.setAttribute(attributeName, attributeValue)\n })\n }\n}\n\nexport function removeHtmlAndBodyAttributes(htmlAndBodyattributeList) {\n if (!htmlAndBodyattributeList) return\n\n const { html, body } = htmlAndBodyattributeList\n\n if (html) {\n const htmlElement = document.querySelector(`html`)\n html.forEach(attributeName => {\n if (htmlElement) {\n htmlElement.removeAttribute(attributeName)\n }\n })\n }\n\n if (body) {\n const bodyElement = document.querySelector(`body`)\n body.forEach(attributeName => {\n if (bodyElement) {\n bodyElement.removeAttribute(attributeName)\n }\n })\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 {\n headExportValidator,\n filterHeadProps,\n diffNodes,\n getValidHeadNodesAndAttributes,\n removePrevHeadElements,\n applyHtmlAndBodyAttributes,\n removeHtmlAndBodyAttributes,\n} from \"./utils\"\nimport { apiRunner } from \"../api-runner-browser\"\n\nconst hiddenRoot = document.createElement(`div`)\nconst keysOfHtmlAndBodyAttributes = {\n html: [],\n body: [],\n}\n\nconst onHeadRendered = () => {\n const { validHeadNodes, htmlAndBodyAttributes } =\n getValidHeadNodesAndAttributes(hiddenRoot)\n\n keysOfHtmlAndBodyAttributes.html = Object.keys(htmlAndBodyAttributes.html)\n keysOfHtmlAndBodyAttributes.body = Object.keys(htmlAndBodyAttributes.body)\n\n applyHtmlAndBodyAttributes(htmlAndBodyAttributes)\n\n /**\n * The rest of the code block below is a diffing mechanism to ensure that\n * the head elements aren't duplicted on every re-render.\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 // sigh ... and elements are not valid descedents of
(our hidden element)\n // react-dom in dev mode will warn about this. There doesn't seem to be a way to render arbitrary\n // user Head without hitting this issue (our hidden element could be just \"new Document()\", but\n // this can only have 1 child, and we don't control what is being rendered so that's not an option)\n // instead we continue to render to
, and just silence warnings for and elements\n // https://github.com/facebook/react/blob/e2424f33b3ad727321fc12e75c5e94838e84c2b5/packages/react-dom-bindings/src/client/validateDOMNesting.js#L498-L520\n const originalConsoleError = console.error.bind(console)\n console.error = (...args) => {\n if (\n Array.isArray(args) &&\n args.length >= 2 &&\n args[0]?.includes?.(`validateDOMNesting(...): %s cannot appear as`) &&\n (args[1] === `` || args[1] === ``)\n ) {\n return undefined\n }\n return originalConsoleError(...args)\n }\n\n /* We set up observer to be able to regenerate after react-refresh\n updates our hidden element.\n */\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 HeadElement = (\n \n )\n\n const WrapHeadElement = apiRunner(\n `wrapRootElement`,\n { element: HeadElement },\n HeadElement,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\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 {WrapHeadElement}\n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n removeHtmlAndBodyAttributes(keysOfHtmlAndBodyAttributes)\n }\n })\n}\n","import React, { Suspense, 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 let pageElement\n if (props.pageResources.partialHydration) {\n pageElement = props.pageResources.partialHydration\n } else {\n pageElement = createElement(preferDefault(props.pageResources.component), {\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 {\n element: pageElement,\n props: pageComponentProps,\n },\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 {\n navigate as reachNavigate,\n globalHistory,\n} from \"@gatsbyjs/reach-router\"\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_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 \"./static-query\"\nimport {\n SlicesMapContext,\n SlicesContext,\n SlicesResultsContext,\n} from \"./slice/context\"\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 getSliceResults,\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 const slicesContext = {\n renderEnvironment: `browser`,\n }\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 const sliceResults = getSliceResults()\n\n return (\n \n \n \n \n \n {children}\n \n \n \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 return\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","const map = new WeakMap()\n\nexport function reactDOMUtils() {\n const reactDomClient = require(`react-dom/client`)\n\n const 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 const hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n\n return { render, hydrate }\n}\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","import React from \"react\"\n\nconst SlicesResultsContext = React.createContext({})\nconst SlicesContext = React.createContext({})\nconst SlicesMapContext = React.createContext({})\nconst SlicesPropsContext = React.createContext({})\n\nexport {\n SlicesResultsContext,\n SlicesContext,\n SlicesMapContext,\n SlicesPropsContext,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { createServerOrClientContext } from \"./context-utils\"\n\nconst StaticQueryContext = createServerOrClientContext(`StaticQuery`, {})\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\nlet warnedAboutStaticQuery = false\n\n// TODO(v6): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n if (process.env.NODE_ENV === `development` && !warnedAboutStaticQuery) {\n console.warn(\n `The component is deprecated and will be removed in Gatsby v6. Use useStaticQuery instead. Refer to the migration guide for more information: https://gatsby.dev/migrating-4-to-5/#staticquery--is-deprecated`\n )\n warnedAboutStaticQuery = true\n }\n\n return (\n \n {staticQueryData => (\n \n )}\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\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n // TODO(v5): Remove since we require React >= 18\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\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\nexport { StaticQuery, StaticQueryContext, useStaticQuery }\n","import React from \"react\"\n\n// Ensure serverContext is not created more than once as React will throw when creating it more than once\n// https://github.com/facebook/react/blob/dd2d6522754f52c70d02c51db25eb7cbd5d1c8eb/packages/react/src/ReactServerContext.js#L101\nconst createServerContext = (name, defaultValue = null) => {\n /* eslint-disable no-undef */\n if (!globalThis.__SERVER_CONTEXT) {\n globalThis.__SERVER_CONTEXT = {}\n }\n\n if (!globalThis.__SERVER_CONTEXT[name]) {\n globalThis.__SERVER_CONTEXT[name] = React.createServerContext(\n name,\n defaultValue\n )\n }\n\n return globalThis.__SERVER_CONTEXT[name]\n}\n\nfunction createServerOrClientContext(name, defaultValue) {\n if (React.createServerContext) {\n return createServerContext(name, defaultValue)\n }\n\n return React.createContext(defaultValue)\n}\n\nexport { createServerOrClientContext }\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","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\";\n\n// when we don't have localisation in our manifest, we tree shake everything away\nexport const onRouteUpdate = function onRouteUpdate({\n location\n}, pluginOptions) {\n if (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n const {\n localize\n } = pluginOptions;\n const manifestFilename = getManifestForPathname(location.pathname, localize, true);\n const manifestEl = document.head.querySelector(`link[rel=\"manifest\"]`);\n if (manifestEl) {\n manifestEl.setAttribute(`href`, withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _gatsby = require(\"gatsby\");\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @param {boolean} shouldPrependPathPrefix\n * @return string\n */\nvar _default = (pathname, localizedManifests, shouldPrependPathPrefix = false) => {\n const defaultFilename = `manifest.webmanifest`;\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n return pathname.startsWith(startUrl);\n });\n if (!localizedManifest) {\n return defaultFilename;\n }\n return `manifest_${localizedManifest.lang}.webmanifest`;\n};\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.I18nextContext = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\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});\nexports.I18nextContext = I18nextContext;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.wrapPageElement = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/taggedTemplateLiteralLoose\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _gatsby = require(\"gatsby\");\nvar _browserLang = _interopRequireDefault(require(\"browser-lang\"));\nvar _types = require(\"../types\");\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\nvar _reactI18next = require(\"react-i18next\");\nvar _i18nextContext = require(\"../i18nextContext\");\nvar _outdent = _interopRequireDefault(require(\"outdent\"));\nvar _templateObject;\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};\nvar removePathPrefix = function removePathPrefix(pathname, stripTrailingSlash) {\n var pathPrefix = (0, _gatsby.withPrefix)('/');\n var result = pathname;\n if (pathname.startsWith(pathPrefix)) {\n result = pathname.replace(pathPrefix, '/');\n }\n if (stripTrailingSlash && result.endsWith('/')) {\n return result.slice(0, -1);\n }\n return result;\n};\nvar wrapPageElement = function wrapPageElement(_ref, _ref2) {\n var _data$localeJsonNodeN, _i18nextOptions$defau;\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 if (isRedirect) {\n var search = location.search;\n\n // Skip build, Browsers only\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 if (!languages.includes(detected)) {\n detected = language;\n }\n window.localStorage.setItem(_types.LANGUAGE_KEY, detected);\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);\n // @ts-ignore\n window.___replace(newUrl);\n return null;\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 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 var namespaces = localeNodes.map(function (_ref3) {\n var node = _ref3.node;\n return node.ns;\n });\n\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 var defaultNS = ((_i18nextOptions$defau = i18nextOptions.defaultNS) === null || _i18nextOptions$defau === void 0 ? void 0 : _i18nextOptions$defau.toString()) || '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 var i18n = _i18next.default.createInstance();\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 if (i18n.language !== language) {\n i18n.changeLanguage(language);\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};\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","'use strict';\n\nvar _typeof = require('@babel/runtime/helpers/typeof');\nvar _classCallCheck = require('@babel/runtime/helpers/classCallCheck');\nvar _createClass = require('@babel/runtime/helpers/createClass');\nvar _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');\nvar _inherits = require('@babel/runtime/helpers/inherits');\nvar _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');\nvar _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _toArray = require('@babel/runtime/helpers/toArray');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);\nvar _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);\nvar _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);\nvar _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);\nvar _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);\nvar _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);\nvar _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _toArray__default = /*#__PURE__*/_interopDefaultLegacy(_toArray);\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, Logger);\n this.init(concreteLogger, options);\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 return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck__default[\"default\"](this, EventEmitter);\n this.observers = {};\n }\n _createClass__default[\"default\"](EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\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 return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ResourceStore = function (_EventEmitter) {\n _inherits__default[\"default\"](ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck__default[\"default\"](this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass__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 if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits__default[\"default\"](Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized__default[\"default\"](_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass__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 if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof__default[\"default\"](options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (_typeof__default[\"default\"](options) === 'object') options = _objectSpread$4({}, options);\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: \"\".concat(namespace).concat(nsSeparator).concat(key),\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck__default[\"default\"](this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\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 if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass__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 if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction deepFindWithDefaults(data, defaultData, key) {\n var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck__default[\"default\"](this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass__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 var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray__default[\"default\"](_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck__default[\"default\"](this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val, opt.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\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) {\n var _this = this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits__default[\"default\"](Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck__default[\"default\"](this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass__default[\"default\"](Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (n) {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof__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 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 return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits__default[\"default\"](I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck__default[\"default\"](this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\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 if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn__default[\"default\"](_this, _assertThisInitialized__default[\"default\"](_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass__default[\"default\"](I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof__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 options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty__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});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nmodule.exports = instance;\n","/**\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","// In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either.\nfunction noop() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n}\nfunction createWeakMap() {\n if (typeof WeakMap !== \"undefined\") {\n return new WeakMap();\n }\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 */\nfunction fakeSetOrMap() {\n return {\n add: noop,\n delete: noop,\n get: noop,\n set: noop,\n has: function (k) {\n return false;\n },\n };\n}\n// Safe hasOwnProperty\nvar hop = Object.prototype.hasOwnProperty;\nvar has = function (obj, prop) {\n return hop.call(obj, prop);\n};\n// Copy all own enumerable properties from source to target\nfunction extend(target, source) {\n for (var prop in source) {\n if (has(source, prop)) {\n target[prop] = source[prop];\n }\n }\n return target;\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]*$/;\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 if (match) {\n indentationLevel = match[1].length;\n }\n var reSource = \"(\\\\r\\\\n|\\\\r|\\\\n).{0,\" + indentationLevel + \"}\";\n var reMatchIndent = new RegExp(reSource, \"g\");\n if (firstInterpolatedValueSetsIndentationLevel) {\n strings = strings.slice(1);\n }\n var newline = options.newline, trimLeadingNewline = options.trimLeadingNewline, 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\");\n // Trim a leading newline from the first string\n if (i === 0 && trimLeadingNewline) {\n v = v.replace(reLeadingNewline, \"\");\n }\n // Trim a trailing newline from the last string\n if (i === l - 1 && trimTrailingNewline) {\n v = v.replace(reTrailingNewline, \"\");\n }\n // Normalize newlines\n if (normalizeNewlines) {\n v = v.replace(/\\r\\n|\\n|\\r/g, function (_) { return newline; });\n }\n return v;\n });\n return outdentedStrings;\n}\nfunction concatStringsAndValues(strings, values) {\n var ret = \"\";\n for (var i = 0, l = strings.length; i < l; i++) {\n ret += strings[i];\n if (i < l - 1) {\n ret += values[i];\n }\n }\n return ret;\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 */\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 var arrayFirstInterpSetsIndentCache = createWeakMap();\n function outdent(stringsOrOptions) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n /* tslint:enable:no-shadowed-variable */\n if (isTemplateStringsArray(stringsOrOptions)) {\n var strings = stringsOrOptions;\n // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace?\n var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) &&\n reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) &&\n reStartsWithNewlineOrIsEmpty.test(strings[1]);\n // Perform outdentation\n var cache = firstInterpolatedValueSetsIndentationLevel\n ? arrayFirstInterpSetsIndentCache\n : arrayAutoIndentCache;\n var renderedArray = cache.get(strings);\n if (!renderedArray) {\n renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options);\n cache.set(strings, renderedArray);\n }\n /** If no interpolated values, skip concatenation step */\n if (values.length === 0) {\n return renderedArray[0];\n }\n /** Concatenate string literals with interpolated values */\n var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values);\n return rendered;\n }\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 var fullOutdent = extend(outdent, {\n string: function (str) {\n return _outdentArray([str], false, options)[0];\n },\n });\n return fullOutdent;\n}\nvar defaultOutdent = createInstance({\n trimLeadingNewline: true,\n trimTrailingNewline: true,\n});\n// Named exports. Simple and preferred.\n// import outdent from 'outdent';\nexport default defaultOutdent;\n// import {outdent} from 'outdent';\nexport { defaultOutdent as outdent };\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\", { value: true });\n defaultOutdent.default = defaultOutdent;\n defaultOutdent.outdent = defaultOutdent;\n }\n catch (e) { }\n}\n//# sourceMappingURL=index.js.map","/**\n * @license React\n * react-server-dom-webpack.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var k=require(\"react\"),l={stream:!0},n=new Map,p=Symbol.for(\"react.element\"),q=Symbol.for(\"react.lazy\"),r=Symbol.for(\"react.default_value\"),t=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ContextRegistry;function u(a){t[a]||(t[a]=k.createServerContext(a,r));return t[a]}function v(a,b,c){this._status=a;this._value=b;this._response=c}v.prototype.then=function(a){0===this._status?(null===this._value&&(this._value=[]),this._value.push(a)):a()};\nfunction w(a){switch(a._status){case 3:return a._value;case 1:var b=JSON.parse(a._value,a._response._fromJSON);a._status=3;return a._value=b;case 2:b=a._value;for(var c=b.chunks,d=0;d arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\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 return self;\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}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\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}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\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 for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\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}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\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 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}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\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}\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}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\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}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\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 return target;\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 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 return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\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 return assertThisInitialized(self);\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}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\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 strings.raw = raw;\n return strings;\n}\nmodule.exports = _taggedTemplateLiteralLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, 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}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\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}\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.7.5 - 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(f,1e4),e.addEventListener(\\\"pt0\\\",w),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):f())))}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.7.5\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function f(n,r){for(w(),i==t&&(o.forward||[]).map((function(e){delete t[e.split(\\\".\\\")[0]]})),n=0;n {\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 `