{"version":3,"file":"app-d071f5987e76467ebbc3.js","mappings":"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","sources":["webpack://sar-website/./node_modules/browser-lang/dist/index.js","webpack://sar-website/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://sar-website/./node_modules/gatsby-react-router-scroll/index.js","webpack://sar-website/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://sar-website/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://sar-website/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://sar-website/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://sar-website/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://sar-website/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://sar-website/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://sar-website/./.cache/api-runner-browser-plugins.js","webpack://sar-website/./.cache/api-runner-browser.js","webpack://sar-website/./.cache/create-content-digest-browser-shim.js","webpack://sar-website/./.cache/emitter.js","webpack://sar-website/./node_modules/mitt/dist/mitt.es.js","webpack://sar-website/./.cache/normalize-page-path.js","webpack://sar-website/./.cache/find-path.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://sar-website/./.cache/slice/server-slice-renderer.js","webpack://sar-website/./.cache/slice/server-slice.js","webpack://sar-website/./.cache/slice/inline-slice.js","webpack://sar-website/./.cache/slice.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://sar-website/./.cache/gatsby-browser-entry.js","webpack://sar-website/./.cache/prefetch.js","webpack://sar-website/./.cache/loader.js","webpack://sar-website/./.cache/head/components/fire-callback-in-effect.js","webpack://sar-website/./.cache/head/constants.js","webpack://sar-website/./.cache/head/utils.js","webpack://sar-website/./.cache/head/head-export-handler-for-browser.js","webpack://sar-website/./.cache/page-renderer.js","webpack://sar-website/./.cache/route-announcer-props.js","webpack://sar-website/./.cache/navigation.js","webpack://sar-website/./node_modules/shallow-compare/es/index.js","webpack://sar-website/./.cache/ensure-resources.js","webpack://sar-website/./.cache/production-app.js","webpack://sar-website/./.cache/public-page-renderer-prod.js","webpack://sar-website/./.cache/public-page-renderer.js","webpack://sar-website/./.cache/react-dom-utils.js","webpack://sar-website/./.cache/redirect-utils.js","webpack://sar-website/./.cache/register-service-worker.js","webpack://sar-website/./.cache/slice/context.js","webpack://sar-website/./.cache/static-query.js","webpack://sar-website/./.cache/context-utils.js","webpack://sar-website/./.cache/strip-prefix.js","webpack://sar-website/./node_modules/gatsby-plugin-breakpoints/BreakpointProvider.js","webpack://sar-website/./node_modules/gatsby-plugin-breakpoints/constants.js","webpack://sar-website/./node_modules/gatsby-plugin-breakpoints/gatsby-browser.js","webpack://sar-website/./node_modules/gatsby-plugin-google-analytics/gatsby-browser.js","webpack://sar-website/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://sar-website/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://sar-website/./node_modules/gatsby-plugin-react-i18next/dist/i18nextContext.js","webpack://sar-website/./node_modules/gatsby-plugin-react-i18next/dist/plugin/wrapPageElement.js","webpack://sar-website/./node_modules/gatsby-plugin-react-i18next/dist/types.js","webpack://sar-website/./node_modules/gatsby-plugin-react-i18next/gatsby-browser.js","webpack://sar-website/./node_modules/i18next/dist/cjs/i18next.js","webpack://sar-website/./node_modules/invariant/browser.js","webpack://sar-website/./node_modules/outdent/lib-module/index.js","webpack://sar-website/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://sar-website/./node_modules/react-i18next/dist/es/Trans.js","webpack://sar-website/./node_modules/react-i18next/dist/es/unescape.js","webpack://sar-website/./node_modules/react-i18next/dist/es/context.js","webpack://sar-website/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://sar-website/./node_modules/react-i18next/dist/es/withTranslation.js","webpack://sar-website/./node_modules/react-i18next/dist/es/Translation.js","webpack://sar-website/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://sar-website/./node_modules/react-i18next/dist/es/useSSR.js","webpack://sar-website/./node_modules/react-i18next/dist/es/withSSR.js","webpack://sar-website/./node_modules/react-i18next/dist/es/index.js","webpack://sar-website/./node_modules/react-i18next/dist/es/utils.js","webpack://sar-website/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://sar-website/./node_modules/react-server-dom-webpack/index.js","webpack://sar-website/./node_modules/void-elements/index.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/createClass.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/extends.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/inherits.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/toArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/typeof.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://sar-website/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://sar-website/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://sar-website/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://sar-website/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://sar-website/./node_modules/gatsby-script/dist/index.modern.mjs"],"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 endsWithSuffixes = (suffixes, input) => {\n for (const suffix of suffixes) {\n if (input.endsWith(suffix)) return true;\n }\n return false;\n};\nconst suffixes = [`.html`, `.json`, `.js`, `.map`, `.txt`, `.xml`, `.pdf`];\nconst applyTrailingSlashOption = (input, option = `always`) => {\n if (input === `/`) return input;\n const hasTrailingSlash = input.endsWith(`/`);\n if (endsWithSuffixes(suffixes, input)) {\n return input;\n }\n if (option === `always`) {\n return hasTrailingSlash ? input : `${input}/`;\n }\n if (option === `never`) {\n return hasTrailingSlash ? 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-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-about-sar-contact-us-js\": () => import(\"./../../../src/pages/about-sar/contact-us.js\" /* webpackChunkName: \"component---src-pages-about-sar-contact-us-js\" */),\n \"component---src-pages-about-sar-disclaimer-js\": () => import(\"./../../../src/pages/about-sar/disclaimer.js\" /* webpackChunkName: \"component---src-pages-about-sar-disclaimer-js\" */),\n \"component---src-pages-about-sar-index-js\": () => import(\"./../../../src/pages/about-sar/index.js\" /* webpackChunkName: \"component---src-pages-about-sar-index-js\" */),\n \"component---src-pages-about-sar-missionvision-js\": () => import(\"./../../../src/pages/about-sar/missionvision.js\" /* webpackChunkName: \"component---src-pages-about-sar-missionvision-js\" */),\n \"component---src-pages-about-sar-ournetwork-js\": () => import(\"./../../../src/pages/about-sar/ournetwork.js\" /* webpackChunkName: \"component---src-pages-about-sar-ournetwork-js\" */),\n \"component---src-pages-about-sar-privacypolicy-2-js\": () => import(\"./../../../src/pages/about-sar/privacypolicy2.js\" /* webpackChunkName: \"component---src-pages-about-sar-privacypolicy-2-js\" */),\n \"component---src-pages-about-sar-privacypolicy-js\": () => import(\"./../../../src/pages/about-sar/privacypolicy.js\" /* webpackChunkName: \"component---src-pages-about-sar-privacypolicy-js\" */),\n \"component---src-pages-about-sar-privacypolicyold-js\": () => import(\"./../../../src/pages/about-sar/privacypolicyold.js\" /* webpackChunkName: \"component---src-pages-about-sar-privacypolicyold-js\" */),\n \"component---src-pages-about-sar-towardsabrightfuture-js\": () => import(\"./../../../src/pages/about-sar/towardsabrightfuture.js\" /* webpackChunkName: \"component---src-pages-about-sar-towardsabrightfuture-js\" */),\n \"component---src-pages-before-you-travel-baggageguide-east-js\": () => import(\"./../../../src/pages/before-you-travel/baggageguide-east.js\" /* webpackChunkName: \"component---src-pages-before-you-travel-baggageguide-east-js\" */),\n \"component---src-pages-before-you-travel-baggageguide-js\": () => import(\"./../../../src/pages/before-you-travel/baggageguide.js\" /* webpackChunkName: \"component---src-pages-before-you-travel-baggageguide-js\" */),\n \"component---src-pages-before-you-travel-baggageguide-north-js\": () => import(\"./../../../src/pages/before-you-travel/baggageguide-north.js\" /* webpackChunkName: \"component---src-pages-before-you-travel-baggageguide-north-js\" */),\n \"component---src-pages-before-you-travel-specialassistance-js\": () => import(\"./../../../src/pages/before-you-travel/specialassistance.js\" /* webpackChunkName: \"component---src-pages-before-you-travel-specialassistance-js\" */),\n \"component---src-pages-before-you-travel-ticketconditions-js\": () => import(\"./../../../src/pages/before-you-travel/ticketconditions.js\" /* webpackChunkName: \"component---src-pages-before-you-travel-ticketconditions-js\" */),\n \"component---src-pages-ext-realestate-js\": () => import(\"./../../../src/pages/ext/realestate.js\" /* webpackChunkName: \"component---src-pages-ext-realestate-js\" */),\n \"component---src-pages-ext-sarnamingrights-js\": () => import(\"./../../../src/pages/ext/sarnamingrights.js\" /* webpackChunkName: \"component---src-pages-ext-sarnamingrights-js\" */),\n \"component---src-pages-ext-vendors-js\": () => import(\"./../../../src/pages/ext/vendors.js\" /* webpackChunkName: \"component---src-pages-ext-vendors-js\" */),\n \"component---src-pages-featured-applepay-js\": () => import(\"./../../../src/pages/featured/applepay.js\" /* webpackChunkName: \"component---src-pages-featured-applepay-js\" */),\n \"component---src-pages-featured-datescarnival-1-js\": () => import(\"./../../../src/pages/featured/datescarnival1.js\" /* webpackChunkName: \"component---src-pages-featured-datescarnival-1-js\" */),\n \"component---src-pages-featured-eid-3-js\": () => import(\"./../../../src/pages/featured/eid3.js\" /* webpackChunkName: \"component---src-pages-featured-eid-3-js\" */),\n \"component---src-pages-featured-eidaladha-js\": () => import(\"./../../../src/pages/featured/eidaladha.js\" /* webpackChunkName: \"component---src-pages-featured-eidaladha-js\" */),\n \"component---src-pages-featured-eidalfitr-1-js\": () => import(\"./../../../src/pages/featured/eidalfitr1.js\" /* webpackChunkName: \"component---src-pages-featured-eidalfitr-1-js\" */),\n \"component---src-pages-featured-foundingday-1-js\": () => import(\"./../../../src/pages/featured/foundingday1.js\" /* webpackChunkName: \"component---src-pages-featured-foundingday-1-js\" */),\n \"component---src-pages-featured-foundingdaycompetition-js\": () => import(\"./../../../src/pages/featured/foundingdaycompetition.js\" /* webpackChunkName: \"component---src-pages-featured-foundingdaycompetition-js\" */),\n \"component---src-pages-featured-foundingdayoffer-1-js\": () => import(\"./../../../src/pages/featured/foundingdayoffer1.js\" /* webpackChunkName: \"component---src-pages-featured-foundingdayoffer-1-js\" */),\n \"component---src-pages-featured-future-projects-forumoffer-1-js\": () => import(\"./../../../src/pages/featured/futureProjectsForumoffer1.js\" /* webpackChunkName: \"component---src-pages-featured-future-projects-forumoffer-1-js\" */),\n \"component---src-pages-featured-jaufoffer-1-js\": () => import(\"./../../../src/pages/featured/jaufoffer1.js\" /* webpackChunkName: \"component---src-pages-featured-jaufoffer-1-js\" */),\n \"component---src-pages-featured-lomihasawi-1-js\": () => import(\"./../../../src/pages/featured/lomihasawi1.js\" /* webpackChunkName: \"component---src-pages-featured-lomihasawi-1-js\" */),\n \"component---src-pages-featured-nationalday-1-js\": () => import(\"./../../../src/pages/featured/nationalday1.js\" /* webpackChunkName: \"component---src-pages-featured-nationalday-1-js\" */),\n \"component---src-pages-featured-parcelramadanoffer-js\": () => import(\"./../../../src/pages/featured/parcelramadanoffer.js\" /* webpackChunkName: \"component---src-pages-featured-parcelramadanoffer-js\" */),\n \"component---src-pages-featured-parcelshipmentqassim-js\": () => import(\"./../../../src/pages/featured/parcelshipmentqassim.js\" /* webpackChunkName: \"component---src-pages-featured-parcelshipmentqassim-js\" */),\n \"component---src-pages-featured-parcelshipments-js\": () => import(\"./../../../src/pages/featured/parcelshipments.js\" /* webpackChunkName: \"component---src-pages-featured-parcelshipments-js\" */),\n \"component---src-pages-featured-ramadan-offer-js\": () => import(\"./../../../src/pages/featured/ramadanOffer.js\" /* webpackChunkName: \"component---src-pages-featured-ramadan-offer-js\" */),\n \"component---src-pages-featured-ramadanbusinessclass-1-js\": () => import(\"./../../../src/pages/featured/ramadanbusinessclass1.js\" /* webpackChunkName: \"component---src-pages-featured-ramadanbusinessclass-1-js\" */),\n \"component---src-pages-featured-ramadanccoffer-1-js\": () => import(\"./../../../src/pages/featured/ramadanccoffer1.js\" /* webpackChunkName: \"component---src-pages-featured-ramadanccoffer-1-js\" */),\n \"component---src-pages-featured-ramadantimeline-js\": () => import(\"./../../../src/pages/featured/ramadantimeline.js\" /* webpackChunkName: \"component---src-pages-featured-ramadantimeline-js\" */),\n \"component---src-pages-featured-roadtoqatar-js\": () => import(\"./../../../src/pages/featured/roadtoqatar.js\" /* webpackChunkName: \"component---src-pages-featured-roadtoqatar-js\" */),\n \"component---src-pages-featured-sarzahra-js\": () => import(\"./../../../src/pages/featured/sarzahra.js\" /* webpackChunkName: \"component---src-pages-featured-sarzahra-js\" */),\n \"component---src-pages-featured-sixt-1-js\": () => import(\"./../../../src/pages/featured/sixt1.js\" /* webpackChunkName: \"component---src-pages-featured-sixt-1-js\" */),\n \"component---src-pages-featured-sleepday-js\": () => import(\"./../../../src/pages/featured/sleepday.js\" /* webpackChunkName: \"component---src-pages-featured-sleepday-js\" */),\n \"component---src-pages-featured-walaone-js\": () => import(\"./../../../src/pages/featured/walaone.js\" /* webpackChunkName: \"component---src-pages-featured-walaone-js\" */),\n \"component---src-pages-featured-whitefriday-js\": () => import(\"./../../../src/pages/featured/whitefriday.js\" /* webpackChunkName: \"component---src-pages-featured-whitefriday-js\" */),\n \"component---src-pages-freight-carcargo-js\": () => import(\"./../../../src/pages/freight/carcargo.js\" /* webpackChunkName: \"component---src-pages-freight-carcargo-js\" */),\n \"component---src-pages-freight-freight-js\": () => import(\"./../../../src/pages/freight/freight.js\" /* webpackChunkName: \"component---src-pages-freight-freight-js\" */),\n \"component---src-pages-freight-index-js\": () => import(\"./../../../src/pages/freight/index.js\" /* webpackChunkName: \"component---src-pages-freight-index-js\" */),\n \"component---src-pages-freight-parcelshipments-js\": () => import(\"./../../../src/pages/freight/parcelshipments.js\" /* webpackChunkName: \"component---src-pages-freight-parcelshipments-js\" */),\n \"component---src-pages-frieght-contact-information-index-js\": () => import(\"./../../../src/pages/frieght-contact-information/index.js\" /* webpackChunkName: \"component---src-pages-frieght-contact-information-index-js\" */),\n \"component---src-pages-help-complainthandlingpolicy-js\": () => import(\"./../../../src/pages/help/complainthandlingpolicy.js\" /* webpackChunkName: \"component---src-pages-help-complainthandlingpolicy-js\" */),\n \"component---src-pages-help-complaintpolicy-js\": () => import(\"./../../../src/pages/help/complaintpolicy.js\" /* webpackChunkName: \"component---src-pages-help-complaintpolicy-js\" */),\n \"component---src-pages-help-customerfeedback-js\": () => import(\"./../../../src/pages/help/customerfeedback.js\" /* webpackChunkName: \"component---src-pages-help-customerfeedback-js\" */),\n \"component---src-pages-help-disabalitypolicy-js\": () => import(\"./../../../src/pages/help/disabalitypolicy.js\" /* webpackChunkName: \"component---src-pages-help-disabalitypolicy-js\" */),\n \"component---src-pages-help-persondisabalitypolicy-js\": () => import(\"./../../../src/pages/help/persondisabalitypolicy.js\" /* webpackChunkName: \"component---src-pages-help-persondisabalitypolicy-js\" */),\n \"component---src-pages-help-refundcompensation-js\": () => import(\"./../../../src/pages/help/refundcompensation.js\" /* webpackChunkName: \"component---src-pages-help-refundcompensation-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-information-mmmp-hajj-awareness-js\": () => import(\"./../../../src/pages/information/MMMP-HajjAwareness.js\" /* webpackChunkName: \"component---src-pages-information-mmmp-hajj-awareness-js\" */),\n \"component---src-pages-sample-sample-js\": () => import(\"./../../../src/pages/sample/sample.js\" /* webpackChunkName: \"component---src-pages-sample-sample-js\" */),\n \"component---src-pages-speak-up-js\": () => import(\"./../../../src/pages/Speak-Up.js\" /* webpackChunkName: \"component---src-pages-speak-up-js\" */),\n \"component---src-pages-stations-js-index-js\": () => import(\"./../../../src/pages/stations.js/index.js\" /* webpackChunkName: \"component---src-pages-stations-js-index-js\" */),\n \"component---src-pages-telgani-index-js\": () => import(\"./../../../src/pages/telgani/index.js\" /* webpackChunkName: \"component---src-pages-telgani-index-js\" */),\n \"component---src-pages-tis-app-js\": () => import(\"./../../../src/pages/TISApp.js\" /* webpackChunkName: \"component---src-pages-tis-app-js\" */),\n \"component---src-pages-travel-information-business-east-js\": () => import(\"./../../../src/pages/travel-information/business-east.js\" /* webpackChunkName: \"component---src-pages-travel-information-business-east-js\" */),\n \"component---src-pages-travel-information-business-north-js\": () => import(\"./../../../src/pages/travel-information/business-north.js\" /* webpackChunkName: \"component---src-pages-travel-information-business-north-js\" */),\n \"component---src-pages-travel-information-carparking-js\": () => import(\"./../../../src/pages/travel-information/carparking.js\" /* webpackChunkName: \"component---src-pages-travel-information-carparking-js\" */),\n \"component---src-pages-travel-information-economy-east-js\": () => import(\"./../../../src/pages/travel-information/economy-east.js\" /* webpackChunkName: \"component---src-pages-travel-information-economy-east-js\" */),\n \"component---src-pages-travel-information-economy-north-js\": () => import(\"./../../../src/pages/travel-information/economy-north.js\" /* webpackChunkName: \"component---src-pages-travel-information-economy-north-js\" */),\n \"component---src-pages-travel-information-foodanddrink-js\": () => import(\"./../../../src/pages/travel-information/foodanddrink.js\" /* webpackChunkName: \"component---src-pages-travel-information-foodanddrink-js\" */),\n \"component---src-pages-travel-information-onboard-food-drink-js\": () => import(\"./../../../src/pages/travel-information/onboard-food-drink.js\" /* webpackChunkName: \"component---src-pages-travel-information-onboard-food-drink-js\" */),\n \"component---src-pages-travel-information-passengercharter-js\": () => import(\"./../../../src/pages/travel-information/passengercharter.js\" /* webpackChunkName: \"component---src-pages-travel-information-passengercharter-js\" */),\n \"component---src-pages-travel-information-privatecabin-js\": () => import(\"./../../../src/pages/travel-information/privatecabin.js\" /* webpackChunkName: \"component---src-pages-travel-information-privatecabin-js\" */),\n \"component---src-pages-travel-information-purchasemethods-js\": () => import(\"./../../../src/pages/travel-information/purchasemethods.js\" /* webpackChunkName: \"component---src-pages-travel-information-purchasemethods-js\" */),\n \"component---src-pages-travel-information-refundmodification-js\": () => import(\"./../../../src/pages/travel-information/refundmodification.js\" /* webpackChunkName: \"component---src-pages-travel-information-refundmodification-js\" */),\n \"component---src-pages-travel-information-seat-selection-js\": () => import(\"./../../../src/pages/travel-information/seat-selection.js\" /* webpackChunkName: \"component---src-pages-travel-information-seat-selection-js\" */),\n \"component---src-pages-travel-information-station-lounges-js\": () => import(\"./../../../src/pages/travel-information/station-lounges.js\" /* webpackChunkName: \"component---src-pages-travel-information-station-lounges-js\" */),\n \"component---src-pages-travel-information-stations-east-js\": () => import(\"./../../../src/pages/travel-information/stations-east.js\" /* webpackChunkName: \"component---src-pages-travel-information-stations-east-js\" */),\n \"component---src-pages-travel-information-stations-js\": () => import(\"./../../../src/pages/travel-information/stations.js\" /* webpackChunkName: \"component---src-pages-travel-information-stations-js\" */),\n \"component---src-pages-travel-information-stations-north-js\": () => import(\"./../../../src/pages/travel-information/stations-north.js\" /* webpackChunkName: \"component---src-pages-travel-information-stations-north-js\" */),\n \"component---src-pages-travel-information-ticketrates-js\": () => import(\"./../../../src/pages/travel-information/ticketrates.js\" /* webpackChunkName: \"component---src-pages-travel-information-ticketrates-js\" */),\n \"component---src-pages-travel-information-tickettypes-east-js\": () => import(\"./../../../src/pages/travel-information/tickettypes-east.js\" /* webpackChunkName: \"component---src-pages-travel-information-tickettypes-east-js\" */),\n \"component---src-pages-travel-information-tickettypes-north-js\": () => import(\"./../../../src/pages/travel-information/tickettypes-north.js\" /* webpackChunkName: \"component---src-pages-travel-information-tickettypes-north-js\" */),\n \"component---src-pages-travel-information-timetable-east-js\": () => import(\"./../../../src/pages/travel-information/timetable-east.js\" /* webpackChunkName: \"component---src-pages-travel-information-timetable-east-js\" */),\n \"component---src-pages-travel-information-timetable-north-js\": () => import(\"./../../../src/pages/travel-information/timetable-north.js\" /* webpackChunkName: \"component---src-pages-travel-information-timetable-north-js\" */),\n \"component---src-pages-travel-information-trainschedule-copy-tsx\": () => import(\"./../../../src/pages/travel-information/trainschedule copy.tsx\" /* webpackChunkName: \"component---src-pages-travel-information-trainschedule-copy-tsx\" */),\n \"component---src-pages-travel-information-trainschedule-old-js\": () => import(\"./../../../src/pages/travel-information/trainschedule.old.js\" /* webpackChunkName: \"component---src-pages-travel-information-trainschedule-old-js\" */),\n \"component---src-pages-travel-information-trainschedule-tsx\": () => import(\"./../../../src/pages/travel-information/trainschedule.tsx\" /* webpackChunkName: \"component---src-pages-travel-information-trainschedule-tsx\" */),\n \"component---src-pages-travel-information-travelclasses-east-js\": () => import(\"./../../../src/pages/travel-information/travelclasses-east.js\" /* webpackChunkName: \"component---src-pages-travel-information-travelclasses-east-js\" */),\n \"component---src-pages-travel-information-travelclasses-js\": () => import(\"./../../../src/pages/travel-information/travelclasses.js\" /* webpackChunkName: \"component---src-pages-travel-information-travelclasses-js\" */),\n \"component---src-pages-travel-information-travelclasses-north-js\": () => import(\"./../../../src/pages/travel-information/travelclasses-north.js\" /* webpackChunkName: \"component---src-pages-travel-information-travelclasses-north-js\" */),\n \"component---src-pages-travel-with-sar-timetable-js\": () => import(\"./../../../src/pages/travel-with-sar/timetable-.js\" /* webpackChunkName: \"component---src-pages-travel-with-sar-timetable-js\" */),\n \"component---src-pages-uber-js\": () => import(\"./../../../src/pages/uber.js\" /* webpackChunkName: \"component---src-pages-uber-js\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-google-analytics/gatsby-browser.js'),\n options: {\"plugins\":[],\"trackingId\":\"UA-100773692-2\",\"head\":false,\"anonymize\":false,\"respectDNT\":false,\"exclude\":[],\"pageTransitionDelay\":0,\"enableWebVitalsTracking\":false},\n },{\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\":\"fc61b41d854468c008c69471855d49f3\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-react-i18next/gatsby-browser.js'),\n options: {\"plugins\":[],\"sourceInstanceName\":\"locale\",\"languages\":[\"ar\",\"en\"],\"defaultLanguage\":\"en\",\"siteUrl\":\"https://sar.com.sa/\",\"i18nextOptions\":{\"interpolation\":{\"escapeValue\":false},\"keySeparator\":false,\"nsSeparator\":false},\"pages\":[{\"matchPath\":\"/:lang?/blog/:uid\",\"getLanguageFromPath\":true},{\"matchPath\":\"/:lang?/sample/\",\"getLanguageFromPath\":true},{\"matchPath\":\"/preview\",\"languages\":[\"ar\"]}]},\n },{\n plugin: require('../node_modules/gatsby-plugin-breakpoints/gatsby-browser.js'),\n options: {\"plugins\":[]},\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","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","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}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\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","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","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 const isStyleAttribute = attribute.name === `style`\n\n // Merge attributes for same nodeName from previous loop iteration\n htmlAndBodyAttributes[nodeName] = {\n ...htmlAndBodyAttributes[nodeName],\n }\n\n if (!isStyleAttribute) {\n htmlAndBodyAttributes[nodeName][attribute.name] = attribute.value\n }\n\n // If there is already a style attribute, we need to merge them as otherwise the last one will \"win\"\n if (isStyleAttribute) {\n htmlAndBodyAttributes[nodeName].style = `${\n htmlAndBodyAttributes[nodeName]?.style\n ? htmlAndBodyAttributes[nodeName].style\n : ``\n }${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(nextProps) {\n if (compareLocationProps(this.props.location, nextProps.location)) {\n onPreRouteUpdate(nextProps.location, this.props.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","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.BreakpointProvider = exports.BreakpointContext = void 0;\nexports.useBreakpoint = useBreakpoint;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _react = _interopRequireWildcard(require(\"react\"));\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nconst defaultValue = {};\nconst BreakpointContext = exports.BreakpointContext = /*#__PURE__*/(0, _react.createContext)(defaultValue);\nconst BreakpointProvider = ({\n children,\n queries\n}) => {\n const [queryMatch, setQueryMatch] = (0, _react.useState)({});\n (0, _react.useEffect)(() => {\n const mediaQueryLists = {};\n const keys = Object.keys(queries);\n let isAttached = false;\n const handleQueryListener = () => {\n const updatedMatches = keys.reduce((acc, media) => {\n acc[media] = !!(mediaQueryLists[media] && mediaQueryLists[media].matches);\n return acc;\n }, {});\n setQueryMatch(updatedMatches);\n };\n if (window && window.matchMedia) {\n const matches = {};\n keys.forEach(media => {\n if (typeof queries[media] === 'string') {\n mediaQueryLists[media] = window.matchMedia(queries[media]);\n matches[media] = mediaQueryLists[media].matches;\n } else {\n matches[media] = false;\n }\n });\n setQueryMatch(matches);\n isAttached = true;\n keys.forEach(media => {\n if (typeof queries[media] === 'string') {\n mediaQueryLists[media].addListener(handleQueryListener);\n }\n });\n }\n return () => {\n if (isAttached) {\n keys.forEach(media => {\n if (typeof queries[media] === 'string') {\n mediaQueryLists[media].removeListener(handleQueryListener);\n }\n });\n }\n };\n }, [queries]);\n return /*#__PURE__*/_react.default.createElement(BreakpointContext.Provider, {\n value: queryMatch\n }, children);\n};\nexports.BreakpointProvider = BreakpointProvider;\nBreakpointProvider.propTypes = {\n children: _propTypes.default.element.isRequired,\n queries: _propTypes.default.object.isRequired\n};\nfunction useBreakpoint() {\n const context = (0, _react.useContext)(BreakpointContext);\n if (context === defaultValue) {\n throw new Error('useBreakpoint must be used within BreakpointProvider');\n }\n return context;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.defaultQueries = void 0;\nconst defaultQueries = exports.defaultQueries = {\n xs: '(max-width: 320px)',\n sm: '(max-width: 720px)',\n md: '(max-width: 1024px)',\n l: '(max-width: 1536px)'\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.wrapRootElement = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _constants = require(\"./constants\");\nvar _BreakpointProvider = require(\"./BreakpointProvider\");\n// eslint-disable-next-line no-unused-vars\n\nconst wrapRootElement = ({\n element\n}, {\n queries = null\n}) => {\n return /*#__PURE__*/_react.default.createElement(_BreakpointProvider.BreakpointProvider, {\n queries: queries !== null ? queries : _constants.defaultQueries\n }, element);\n};\nexports.wrapRootElement = wrapRootElement;","const listOfMetricsSend = new Set();\nfunction debounce(fn, timeout) {\n let timer = null;\n return function (...args) {\n if (timer) {\n clearTimeout(timer);\n }\n timer = setTimeout(fn, timeout, ...args);\n };\n}\nfunction sendWebVitals() {\n function sendData(data) {\n if (listOfMetricsSend.has(data.name)) {\n return;\n }\n listOfMetricsSend.add(data.name);\n sendToGoogleAnalytics(data);\n }\n return import(`web-vitals/base`).then(({\n getLCP,\n getFID,\n getCLS\n }) => {\n const debouncedCLS = debounce(sendData, 3000);\n // we don't need to debounce FID - we send it when it happens\n const debouncedFID = sendData;\n // LCP can occur multiple times so we debounce it\n const debouncedLCP = debounce(sendData, 3000);\n\n // With the true flag, we measure all previous occurences too, in case we start listening to late.\n getCLS(debouncedCLS, true);\n getFID(debouncedFID, true);\n getLCP(debouncedLCP, true);\n });\n}\nfunction sendToGoogleAnalytics({\n name,\n value,\n id\n}) {\n window.ga(`send`, `event`, {\n eventCategory: `Web Vitals`,\n eventAction: name,\n // The `id` value will be unique to the current page load. When sending\n // multiple values from the same page (e.g. for CLS), Google Analytics can\n // compute a total by grouping on this ID (note: requires `eventLabel` to\n // be a dimension in your report).\n eventLabel: id,\n // Google Analytics metrics must be integers, so the value is rounded.\n // For CLS the value is first multiplied by 1000 for greater precision\n // (note: increase the multiplier for greater precision if needed).\n eventValue: Math.round(name === `CLS` ? value * 1000 : value),\n // Use a non-interaction event to avoid affecting bounce rate.\n nonInteraction: true,\n // Use `sendBeacon()` if the browser supports it.\n transport: `beacon`\n });\n}\nexport const onRouteUpdate = ({\n location\n}, pluginOptions = {}) => {\n const ga = window.ga;\n if (process.env.NODE_ENV !== `production` || typeof ga !== `function`) {\n return null;\n }\n const pathIsExcluded = location && typeof window.excludeGAPaths !== `undefined` && window.excludeGAPaths.some(rx => rx.test(location.pathname));\n if (pathIsExcluded) return null;\n\n // wrap inside a timeout to make sure react-helmet is done with it's changes (https://github.com/gatsbyjs/gatsby/issues/9139)\n // reactHelmet is using requestAnimationFrame: https://github.com/nfl/react-helmet/blob/5.2.0/src/HelmetUtils.js#L296-L299\n const sendPageView = () => {\n const pagePath = location ? location.pathname + location.search + location.hash : undefined;\n ga(`set`, `page`, pagePath);\n ga(`send`, `pageview`);\n };\n\n // Minimum delay for reactHelmet's requestAnimationFrame\n const delay = Math.max(32, pluginOptions.pageTransitionDelay || 0);\n setTimeout(sendPageView, delay);\n return null;\n};\nexport function onInitialClientRender(_, pluginOptions) {\n if (process.env.NODE_ENV === `production` && typeof ga === `function` && pluginOptions.enableWebVitalsTracking) {\n sendWebVitals();\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(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass__default['default'](Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread(_objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck__default['default'](this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass__default['default'](EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && 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\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n\n return matched;\n}\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\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); }; }\n\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; } }\n\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n\n current = current[paths[i]];\n }\n\n return current;\n}\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits__default['default'](ResourceStore, _EventEmitter);\n\n var _super = _createSuper(ResourceStore);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck__default['default'](this, ResourceStore);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n\n return _this;\n }\n\n _createClass__default['default'](ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$1(_objectSpread$1({}, pack), resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$1(_objectSpread$1({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\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); }; }\n\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; } }\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits__default['default'](Translator, _EventEmitter);\n\n var _super = _createSuper$1(Translator);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, Translator);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized__default['default'](_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass__default['default'](Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n\n if (key === undefined || key === null) {\n return false;\n }\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof__default['default'](options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n\n if (returnDetails) {\n resolved.res = key;\n return resolved;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$2(_objectSpread$2({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n\n return r;\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$2(_objectSpread$2({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$2(_objectSpread$2({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$2(_objectSpread$2({}, options), {\n interpolation: _objectSpread$2(_objectSpread$2({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$2({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck__default['default'](this, LanguageUtil);\n\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass__default['default'](LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck__default['default'](this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n\n this.rules = createRules();\n }\n\n _createClass__default['default'](PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (!rule) {\n return [];\n }\n\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n\n return this.getSuffixRetroCompatible(rule, count);\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default['default'](this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass__default['default'](Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && options.hasOwnProperty(matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread$3({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray__default['default'](_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\n\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n\n return formatter(val);\n };\n}\n\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck__default['default'](this, Formatter);\n\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, options);\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$4(_objectSpread$4({}, options), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val, options.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, options) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$4({}, options));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n\n _createClass__default['default'](Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n\n var formats = _format.split(this.formatSeparator);\n\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n\n if (_this.formats[formatName]) {\n var formatted = mem;\n\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$4(_objectSpread$4(_objectSpread$4({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n\n return mem;\n }, value);\n return result;\n }\n }]);\n\n return Formatter;\n}();\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\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); }; }\n\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; } }\n\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits__default['default'](Connector, _EventEmitter);\n\n var _super = _createSuper$2(Connector);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck__default['default'](this, Connector);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass__default['default'](Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loaded[l][ns] === undefined) loaded[l][ns] = true;\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n\n this.readingCalls++;\n return this.backend[fcName](lng, ns, function (err, data) {\n _this3.readingCalls--;\n\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread$5(_objectSpread$5({}, options), {}, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof__default['default'](args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof__default['default'](args[2]) === 'object' || _typeof__default['default'](args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\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); }; }\n\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; } }\n\nfunction noop() {}\n\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\n\nvar I18n = function (_EventEmitter) {\n _inherits__default['default'](I18n, _EventEmitter);\n\n var _super = _createSuper$3(I18n);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck__default['default'](this, I18n);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default['default'](_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized__default['default'](_this));\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn__default['default'](_this, _assertThisInitialized__default['default'](_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass__default['default'](I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n\n var defOpts = get();\n this.options = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, defOpts), this.options), transformOptions(options));\n\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread$6(_objectSpread$6({}, defOpts.interpolation), this.options.interpolation);\n }\n\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var formatter;\n\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n\n _this4.setResolvedLanguage(l);\n };\n\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof__default['default'](opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread$6({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, this.options), options), {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread$6({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\n_defineProperty__default['default'](I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\n\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\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","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useContext, isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { getI18n, I18nContext, getDefaults } from './context';\nimport { warn, warnOnce } from './utils';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createContext } from 'react';\nimport { unescape } from './unescape';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nvar i18nInstance;\nexport var I18nContext = createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"forwardedRef\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createElement, forwardRef as forwardRefReact } from 'react';\nimport { useTranslation } from './useTranslation';\nimport { getDisplayName } from './utils';\nexport function withTranslation(ns) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n var forwardedRef = _ref.forwardedRef,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTranslation = useTranslation(ns, _objectSpread(_objectSpread({}, rest), {}, {\n keyPrefix: options.keyPrefix\n })),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return createElement(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? forwardRefReact(forwardRef) : I18nextWithTranslation;\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"ns\", \"children\"];\nimport { useTranslation } from './useTranslation';\nexport function Translation(props) {\n var ns = props.ns,\n children = props.children,\n options = _objectWithoutProperties(props, _excluded);\n\n var _useTranslation = useTranslation(ns, options),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n return children(t, {\n i18n: i18n,\n lng: i18n.language\n }, ready);\n}","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context';\nexport function I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = useMemo(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value: value\n }, children);\n}","import { useContext } from 'react';\nimport { getI18n, I18nContext } from './context';\nexport function useSSR(initialI18nStore, initialLanguage) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n.options && i18n.options.isClone) return;\n\n if (initialI18nStore && !i18n.initializedStoreOnce) {\n i18n.services.resourceStore.data = initialI18nStore;\n i18n.options.ns = Object.values(initialI18nStore).reduce(function (mem, lngResources) {\n Object.keys(lngResources).forEach(function (ns) {\n if (mem.indexOf(ns) < 0) mem.push(ns);\n });\n return mem;\n }, i18n.options.ns);\n i18n.initializedStoreOnce = true;\n i18n.isInitialized = true;\n }\n\n if (initialLanguage && !i18n.initializedLanguageOnce) {\n i18n.changeLanguage(initialLanguage);\n i18n.initializedLanguageOnce = true;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"initialI18nStore\", \"initialLanguage\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createElement } from 'react';\nimport { useSSR } from './useSSR';\nimport { composeInitialProps } from './context';\nimport { getDisplayName } from './utils';\nexport function withSSR() {\n return function Extend(WrappedComponent) {\n function I18nextWithSSR(_ref) {\n var initialI18nStore = _ref.initialI18nStore,\n initialLanguage = _ref.initialLanguage,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n useSSR(initialI18nStore, initialLanguage);\n return createElement(WrappedComponent, _objectSpread({}, rest));\n }\n\n I18nextWithSSR.getInitialProps = composeInitialProps(WrappedComponent);\n I18nextWithSSR.displayName = \"withI18nextSSR(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithSSR.WrappedComponent = WrappedComponent;\n return I18nextWithSSR;\n };\n}","export { Trans } from './Trans';\nexport { useTranslation } from './useTranslation';\nexport { withTranslation } from './withTranslation';\nexport { Translation } from './Translation';\nexport { I18nextProvider } from './I18nextProvider';\nexport { withSSR } from './withSSR';\nexport { useSSR } from './useSSR';\nexport { I18nContext, initReactI18next, setDefaults, getDefaults, setI18n, getI18n, composeInitialProps, getInitialProps } from './context';\nexport var date = function date() {\n return '';\n};\nexport var time = function time() {\n return '';\n};\nexport var number = function number() {\n return '';\n};\nexport var select = function select() {\n return '';\n};\nexport var plural = function plural() {\n return '';\n};\nexport var selectOrdinal = function selectOrdinal() {\n return '';\n};","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","/**\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(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\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(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\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.6 - 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.6\\\":\\\"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 `