{"version":3,"file":"app-41110851321bddfb4a54.js","mappings":"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","sources":["webpack://gatsby-starter-default/./node_modules/browser-lang/dist/index.js","webpack://gatsby-starter-default/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/index.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://gatsby-starter-default/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://gatsby-starter-default/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://gatsby-starter-default/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://gatsby-starter-default/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://gatsby-starter-default/./.cache/api-runner-browser-plugins.js","webpack://gatsby-starter-default/./.cache/api-runner-browser.js","webpack://gatsby-starter-default/./.cache/create-content-digest-browser-shim.js","webpack://gatsby-starter-default/./.cache/emitter.js","webpack://gatsby-starter-default/./node_modules/mitt/dist/mitt.es.js","webpack://gatsby-starter-default/./.cache/normalize-page-path.js","webpack://gatsby-starter-default/./.cache/find-path.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://gatsby-starter-default/./.cache/slice/server-slice-renderer.js","webpack://gatsby-starter-default/./.cache/slice/server-slice.js","webpack://gatsby-starter-default/./.cache/slice/inline-slice.js","webpack://gatsby-starter-default/./.cache/slice.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://gatsby-starter-default/./.cache/gatsby-browser-entry.js","webpack://gatsby-starter-default/./.cache/prefetch.js","webpack://gatsby-starter-default/./.cache/loader.js","webpack://gatsby-starter-default/./.cache/head/components/fire-callback-in-effect.js","webpack://gatsby-starter-default/./.cache/head/constants.js","webpack://gatsby-starter-default/./.cache/head/utils.js","webpack://gatsby-starter-default/./.cache/head/head-export-handler-for-browser.js","webpack://gatsby-starter-default/./.cache/page-renderer.js","webpack://gatsby-starter-default/./.cache/route-announcer-props.js","webpack://gatsby-starter-default/./.cache/navigation.js","webpack://gatsby-starter-default/./node_modules/shallow-compare/es/index.js","webpack://gatsby-starter-default/./.cache/ensure-resources.js","webpack://gatsby-starter-default/./.cache/production-app.js","webpack://gatsby-starter-default/./.cache/public-page-renderer-prod.js","webpack://gatsby-starter-default/./.cache/public-page-renderer.js","webpack://gatsby-starter-default/./.cache/react-dom-utils.js","webpack://gatsby-starter-default/./.cache/redirect-utils.js","webpack://gatsby-starter-default/./.cache/register-service-worker.js","webpack://gatsby-starter-default/./.cache/slice/context.js","webpack://gatsby-starter-default/./.cache/static-query.js","webpack://gatsby-starter-default/./.cache/context-utils.js","webpack://gatsby-starter-default/./.cache/strip-prefix.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-breadcrumb/components/app-providers.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-breadcrumb/components/breadcrumb-context.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-breadcrumb/components/options-context.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-breadcrumb/gatsby-browser.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-react-i18next/dist/i18nextContext.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-react-i18next/dist/plugin/wrapPageElement.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-react-i18next/dist/types.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-react-i18next/gatsby-browser.js","webpack://gatsby-starter-default/./node_modules/i18next/dist/cjs/i18next.js","webpack://gatsby-starter-default/./node_modules/invariant/browser.js","webpack://gatsby-starter-default/./node_modules/outdent/lib-module/index.js","webpack://gatsby-starter-default/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://gatsby-starter-default/./node_modules/react-server-dom-webpack/index.js","webpack://gatsby-starter-default/./node_modules/void-elements/index.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/createClass.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/extends.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/inherits.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/toArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/typeof.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://gatsby-starter-default/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://gatsby-starter-default/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://gatsby-starter-default/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://gatsby-starter-default/./node_modules/gatsby-script/dist/index.modern.mjs","webpack://gatsby-starter-default/./node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/es/utils.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/es/unescape.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/es/defaults.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/es/i18nInstance.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/es/TransWithoutContext.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/es/initReactI18next.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/es/context.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/es/Trans.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/es/useTranslation.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/es/withTranslation.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/es/Translation.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/es/useSSR.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/es/withSSR.js","webpack://gatsby-starter-default/./node_modules/react-i18next/dist/es/index.js"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction startsWith(string, target, position) {\n var length = string.length;\n position = position == null ? 0 : position;\n\n if (position < 0) {\n position = 0;\n } else if (position > length) {\n position = length;\n }\n\n target = \"\".concat(target);\n return string.slice(position, position + target.length) == target;\n}\n\nfunction getBrowserLang() {\n if (typeof window === \"undefined\") {\n return null;\n }\n\n var lang = window.navigator.languages && window.navigator.languages[0] || window.navigator.language || window.navigator.browserLanguage || window.navigator.userLanguage || window.navigator.systemLanguage || null;\n return lang;\n}\n\nfunction normalizeCode(code) {\n return code.toLowerCase().replace(/-/, \"_\");\n}\n\nfunction getPreferredLanguage(options) {\n if (!options) {\n return getBrowserLang();\n }\n\n var languages = options.languages,\n fallback = options.fallback;\n\n if (!options.languages) {\n return fallback;\n } // some browsers report language as en-US instead of en_US\n\n\n var browserLanguage = normalizeCode(getBrowserLang());\n\n if (!browserLanguage) {\n return fallback;\n }\n\n var match = languages.filter(function (lang) {\n return normalizeCode(lang) === browserLanguage;\n });\n\n if (match.length > 0) {\n return match[0] || fallback;\n } // en == en_US\n\n\n var matchCodeOnly = languages.filter(function (lang) {\n return startsWith(browserLanguage, lang) || startsWith(lang, browserLanguage);\n });\n return matchCodeOnly[0] || fallback;\n}\n\nvar _default = getPreferredLanguage;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.applyTrailingSlashOption = void 0;\nconst 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-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-templates-convert-page-template-js\": () => import(\"./../../../src/templates/convert-page-template.js\" /* webpackChunkName: \"component---src-templates-convert-page-template-js\" */),\n \"component---src-templates-image-watermark-page-template-js\": () => import(\"./../../../src/templates/image-watermark-page-template.js\" /* webpackChunkName: \"component---src-templates-image-watermark-page-template-js\" */),\n \"component---src-templates-merge-page-template-js\": () => import(\"./../../../src/templates/merge-page-template.js\" /* webpackChunkName: \"component---src-templates-merge-page-template-js\" */),\n \"component---src-templates-methods-page-template-js\": () => import(\"./../../../src/templates/methods-page-template.js\" /* webpackChunkName: \"component---src-templates-methods-page-template-js\" */),\n \"component---src-templates-model-page-template-js\": () => import(\"./../../../src/templates/model-page-template.js\" /* webpackChunkName: \"component---src-templates-model-page-template-js\" */),\n \"component---src-templates-post-properties-page-template-js\": () => import(\"./../../../src/templates/post-properties-page-template.js\" /* webpackChunkName: \"component---src-templates-post-properties-page-template-js\" */),\n \"component---src-templates-protect-page-template-js\": () => import(\"./../../../src/templates/protect-page-template.js\" /* webpackChunkName: \"component---src-templates-protect-page-template-js\" */),\n \"component---src-templates-put-properties-page-template-js\": () => import(\"./../../../src/templates/put-properties-page-template.js\" /* webpackChunkName: \"component---src-templates-put-properties-page-template-js\" */),\n \"component---src-templates-split-page-template-js\": () => import(\"./../../../src/templates/split-page-template.js\" /* webpackChunkName: \"component---src-templates-split-page-template-js\" */),\n \"component---src-templates-text-watermark-page-template-js\": () => import(\"./../../../src/templates/text-watermark-page-template.js\" /* webpackChunkName: \"component---src-templates-text-watermark-page-template-js\" */),\n \"component---src-templates-unprotect-page-template-js\": () => import(\"./../../../src/templates/unprotect-page-template.js\" /* webpackChunkName: \"component---src-templates-unprotect-page-template-js\" */),\n \"component---src-templates-video-page-template-js\": () => import(\"./../../../src/templates/video-page-template.js\" /* webpackChunkName: \"component---src-templates-video-page-template-js\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-react-i18next/gatsby-browser.js'),\n options: {\"plugins\":[],\"localeJsonSourceName\":\"locale\",\"languages\":[\"en\",\"de\",\"fr\",\"es\",\"ru\",\"zh\",\"ja\",\"pt\",\"pl\"],\"defaultLanguage\":\"en\",\"siteUrl\":\"https://aspose.conholdate.cloud/slides\",\"i18nextOptions\":{\"interpolation\":{\"escapeValue\":false},\"keySeparator\":false,\"nsSeparator\":false}},\n },{\n plugin: require('../node_modules/gatsby-plugin-breadcrumb/gatsby-browser.js'),\n options: {\"plugins\":[],\"useAutoGen\":true,\"autoGenHomeLabel\":\"Slides\",\"exclude\":[\"**/404/**\",\"**/404.html\"],\"excludeOptions\":{\"separator\":\".\"},\"crumbLabelUpdates\":[],\"trailingSlashes\":true,\"usePathPrefix\":\"/blog\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"name\":\"gatsby-starter-default\",\"short_name\":\"starter\",\"start_url\":\"/\",\"background_color\":\"#663399\",\"display\":\"minimal-ui\",\"icon\":\"src/static/icons/favicon.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"caca6381784c6f4fb8ce59499d0f2a8c\"},\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}","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 setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import React from \"react\"\n\nexport const ServerSliceRenderer = ({ sliceId, children }) => {\n const contents = [\n React.createElement(`slice-start`, {\n id: `${sliceId}-1`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-1`,\n }),\n ]\n\n if (children) {\n // if children exist, we split the slice into a before and after piece\n // see renderSlices in render-html\n contents.push(children)\n contents.push(\n React.createElement(`slice-start`, {\n id: `${sliceId}-2`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-2`,\n })\n )\n }\n\n return contents\n}\n","import React, { useContext } from \"react\"\nimport { createContentDigest } from \"gatsby-core-utils/create-content-digest\"\nimport { SlicesMapContext, SlicesPropsContext } from \"./context\"\nimport { ServerSliceRenderer } from \"./server-slice-renderer\"\n\nconst getSliceId = (sliceName, sliceProps) => {\n if (!Object.keys(sliceProps).length) {\n return sliceName\n }\n\n const propsString = createContentDigest(sliceProps)\n return `${sliceName}-${propsString}`\n}\n\nexport const ServerSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesProps = useContext(SlicesPropsContext)\n const concreteSliceName = slicesMap[sliceName]\n\n if (!concreteSliceName) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n const sliceId = getSliceId(concreteSliceName, sliceProps)\n\n // set props on context object for static-entry to return\n let sliceUsage = slicesProps[sliceId]\n if (!sliceUsage) {\n slicesProps[sliceId] = sliceUsage = {\n props: sliceProps,\n sliceName: concreteSliceName,\n hasChildren: !!children,\n }\n } else {\n if (children) {\n sliceUsage.hasChildren = true\n }\n }\n\n return {children}\n}\n","import React, { useContext } from \"react\"\nimport { SlicesMapContext, SlicesResultsContext } from \"./context\"\n\nexport const InlineSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesResultsMap = useContext(SlicesResultsContext)\n const concreteSliceName = slicesMap[sliceName]\n const slice = slicesResultsMap.get(concreteSliceName)\n\n if (!slice) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n return (\n \n {children}\n \n )\n}\n","\"use client\"\n\nimport React, { useContext } from \"react\"\nimport { ServerSlice } from \"./slice/server-slice\"\nimport { InlineSlice } from \"./slice/inline-slice\"\nimport { SlicesContext } from \"./slice/context\"\n\nexport function Slice(props) {\n if (process.env.GATSBY_SLICES) {\n // we use sliceName internally, so remap alias to sliceName\n const internalProps = {\n ...props,\n sliceName: props.alias,\n }\n delete internalProps.alias\n delete internalProps.__renderedByLocation\n\n const slicesContext = useContext(SlicesContext)\n\n // validate props\n const propErrors = validateSliceProps(props)\n if (Object.keys(propErrors).length) {\n throw new SlicePropsError(\n slicesContext.renderEnvironment === `browser`,\n internalProps.sliceName,\n propErrors,\n props.__renderedByLocation\n )\n }\n\n if (slicesContext.renderEnvironment === `server`) {\n return \n } else if (slicesContext.renderEnvironment === `browser`) {\n // in the browser, we'll just render the component as is\n return \n } else if (\n slicesContext.renderEnvironment === `engines` ||\n slicesContext.renderEnvironment === `dev-ssr`\n ) {\n // if we're in SSR, we'll just render the component as is\n return \n } else if (slicesContext.renderEnvironment === `slices`) {\n // we are not yet supporting nested slices\n\n let additionalContextMessage = ``\n\n // just in case generating additional contextual information fails, we still want the base message to show\n // and not show another cryptic error message\n try {\n additionalContextMessage = `\\n\\nSlice component \"${slicesContext.sliceRoot.name}\" (${slicesContext.sliceRoot.componentPath}) tried to render `\n } catch {\n // don't need to handle it, we will just skip the additional context message if we fail to generate it\n }\n\n throw new Error(\n `Nested slices are not supported.${additionalContextMessage}\\n\\nSee https://gatsbyjs.com/docs/reference/built-in-components/gatsby-slice#nested-slices`\n )\n } else {\n throw new Error(\n `Slice context \"${slicesContext.renderEnvironment}\" is not supported.`\n )\n }\n } else {\n throw new Error(`Slices are disabled.`)\n }\n}\n\nclass SlicePropsError extends Error {\n constructor(inBrowser, sliceName, propErrors, renderedByLocation) {\n const errors = Object.entries(propErrors)\n .map(\n ([key, value]) =>\n `not serializable \"${value}\" type passed to \"${key}\" prop`\n )\n .join(`, `)\n\n const name = `SlicePropsError`\n let stack = ``\n let message = ``\n\n if (inBrowser) {\n // They're just (kinda) kidding, I promise... You can still work here <3\n // https://www.gatsbyjs.com/careers/\n const fullStack =\n React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getCurrentStack()\n\n // remove the first line of the stack trace\n const stackLines = fullStack.trim().split(`\\n`).slice(1)\n stackLines[0] = stackLines[0].trim()\n stack = `\\n` + stackLines.join(`\\n`)\n\n message = `Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n } else {\n // we can't really grab any extra info outside of the browser, so just print what we can\n message = `${name}: Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n const stackLines = new Error().stack.trim().split(`\\n`).slice(2)\n stack = `${message}\\n${stackLines.join(`\\n`)}`\n }\n\n super(message)\n this.name = name\n if (stack) {\n this.stack = stack\n } else {\n Error.captureStackTrace(this, SlicePropsError)\n }\n\n if (renderedByLocation) {\n this.forcedLocation = { ...renderedByLocation, functionName: `Slice` }\n }\n }\n}\n\nconst validateSliceProps = (\n props,\n errors = {},\n seenObjects = [],\n path = null\n) => {\n // recursively validate all props\n for (const [name, value] of Object.entries(props)) {\n if (\n value === undefined ||\n value === null ||\n (!path && name === `children`)\n ) {\n continue\n }\n\n const propPath = path ? `${path}.${name}` : name\n\n if (typeof value === `function`) {\n errors[propPath] = typeof value\n } else if (typeof value === `object` && seenObjects.indexOf(value) <= 0) {\n seenObjects.push(value)\n validateSliceProps(value, errors, seenObjects, propPath)\n }\n }\n\n return errors\n}\n","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 htmlAndBodyAttributes[nodeName] = {\n ...htmlAndBodyAttributes[nodeName],\n [attribute.name]: attribute.value,\n }\n }\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // // This is hack to make script tags work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n clonedNode = massageScript(clonedNode)\n }\n // Duplicate ids are not allowed in the head, so we need to dedupe them\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[\n indexOfPreviouslyInsertedNode\n ].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n } else {\n warnForInvalidTag(nodeName)\n }\n\n if (node.childNodes.length) {\n validHeadNodes.push(\n ...getValidHeadNodesAndAttributes(node, htmlAndBodyAttributes)\n .validHeadNodes\n )\n }\n }\n\n return { validHeadNodes, htmlAndBodyAttributes }\n}\n\nfunction massageScript(node) {\n const script = document.createElement(`script`)\n for (const attr of node.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = node.innerHTML\n\n return script\n}\n\nexport function isValidNodeName(nodeName) {\n return VALID_NODE_NAMES.includes(nodeName)\n}\n/*\n * For Head, we only care about element nodes(type = 1), so this util is used to skip over non-element nodes\n * For Node type, see https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n */\nexport function isElementType(node) {\n return node.nodeType === 1\n}\n\n/**\n * Removes all the head elements that were added by `Head`\n */\nexport function removePrevHeadElements() {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nexport function applyHtmlAndBodyAttributes(htmlAndBodyAttributes) {\n if (!htmlAndBodyAttributes) return\n\n const { html, body } = htmlAndBodyAttributes\n\n const htmlElement = document.querySelector(`html`)\n if (htmlElement) {\n Object.entries(html).forEach(([attributeName, attributeValue]) => {\n htmlElement.setAttribute(attributeName, attributeValue)\n })\n }\n\n const bodyElement = document.querySelector(`body`)\n if (bodyElement) {\n Object.entries(body).forEach(([attributeName, attributeValue]) => {\n bodyElement.setAttribute(attributeName, attributeValue)\n })\n }\n}\n\nexport function removeHtmlAndBodyAttributes(htmlAndBodyattributeList) {\n if (!htmlAndBodyattributeList) return\n\n const { html, body } = htmlAndBodyattributeList\n\n if (html) {\n const htmlElement = document.querySelector(`html`)\n html.forEach(attributeName => {\n if (htmlElement) {\n htmlElement.removeAttribute(attributeName)\n }\n })\n }\n\n if (body) {\n const bodyElement = document.querySelector(`body`)\n body.forEach(attributeName => {\n if (bodyElement) {\n bodyElement.removeAttribute(attributeName)\n }\n })\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport {\n headExportValidator,\n filterHeadProps,\n diffNodes,\n getValidHeadNodesAndAttributes,\n removePrevHeadElements,\n applyHtmlAndBodyAttributes,\n removeHtmlAndBodyAttributes,\n} from \"./utils\"\nimport { apiRunner } from \"../api-runner-browser\"\n\nconst hiddenRoot = document.createElement(`div`)\nconst keysOfHtmlAndBodyAttributes = {\n html: [],\n body: [],\n}\n\nconst onHeadRendered = () => {\n const { validHeadNodes, htmlAndBodyAttributes } =\n getValidHeadNodesAndAttributes(hiddenRoot)\n\n keysOfHtmlAndBodyAttributes.html = Object.keys(htmlAndBodyAttributes.html)\n keysOfHtmlAndBodyAttributes.body = Object.keys(htmlAndBodyAttributes.body)\n\n applyHtmlAndBodyAttributes(htmlAndBodyAttributes)\n\n /**\n * The rest of the code block below is a diffing mechanism to ensure that\n * the head elements aren't duplicted on every re-render.\n */\n const existingHeadElements = document.querySelectorAll(`[data-gatsby-head]`)\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.parentNode.removeChild(node),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // sigh ... and elements are not valid descedents of
(our hidden element)\n // react-dom in dev mode will warn about this. There doesn't seem to be a way to render arbitrary\n // user Head without hitting this issue (our hidden element could be just \"new Document()\", but\n // this can only have 1 child, and we don't control what is being rendered so that's not an option)\n // instead we continue to render to
, and just silence warnings for and elements\n // https://github.com/facebook/react/blob/e2424f33b3ad727321fc12e75c5e94838e84c2b5/packages/react-dom-bindings/src/client/validateDOMNesting.js#L498-L520\n const originalConsoleError = console.error.bind(console)\n console.error = (...args) => {\n if (\n Array.isArray(args) &&\n args.length >= 2 &&\n args[0]?.includes?.(`validateDOMNesting(...): %s cannot appear as`) &&\n (args[1] === `` || args[1] === ``)\n ) {\n return undefined\n }\n return originalConsoleError(...args)\n }\n\n /* We set up observer to be able to regenerate after react-refresh\n updates our hidden element.\n */\n const observer = new MutationObserver(onHeadRendered)\n observer.observe(hiddenRoot, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n })\n}\n\nexport function headHandlerForBrowser({\n pageComponent,\n staticQueryResults,\n pageComponentProps,\n}) {\n useEffect(() => {\n if (pageComponent?.Head) {\n headExportValidator(pageComponent.Head)\n\n const { render } = reactDOMUtils()\n\n const HeadElement = (\n \n )\n\n const WrapHeadElement = apiRunner(\n `wrapRootElement`,\n { element: HeadElement },\n HeadElement,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n render(\n // just a hack to call the callback after react has done first render\n // Note: In dev, we call onHeadRendered twice( in FireCallbackInEffect and after mutualution observer dectects initail render into hiddenRoot) this is for hot reloading\n // In Prod we only call onHeadRendered in FireCallbackInEffect to render to head\n \n \n {WrapHeadElement}\n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n removeHtmlAndBodyAttributes(keysOfHtmlAndBodyAttributes)\n }\n })\n}\n","import React, { Suspense, createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n let pageElement\n if (props.pageResources.partialHydration) {\n pageElement = props.pageResources.partialHydration\n } else {\n pageElement = createElement(preferDefault(props.pageResources.component), {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n })\n }\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n {\n element: pageElement,\n props: pageComponentProps,\n },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport {\n navigate as reachNavigate,\n globalHistory,\n} from \"@gatsbyjs/reach-router\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n const { hash, search } = window.location\n\n if (redirect != null) {\n window.___replace(redirect.toPath + search + hash)\n return true\n } else {\n return false\n }\n}\n\n// Catch unhandled chunk loading errors and force a restart of the app.\nlet nextRoute = ``\n\nwindow.addEventListener(`unhandledrejection`, event => {\n if (/loading chunk \\d* failed./i.test(event.reason)) {\n if (nextRoute) {\n window.location.pathname = nextRoute\n }\n }\n})\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n nextRoute = location.pathname\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n const { pathname, search, hash } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath + search + hash\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname + search + hash\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname + search).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname + search + hash\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(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.AppProviders = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _breadcrumbContext = require(\"./breadcrumb-context\");\nvar _optionsContext = require(\"./options-context\");\n/* eslint-disable import/no-extraneous-dependencies */\n/* eslint-disable import/prefer-default-export */\n/* eslint-disable react/prop-types */\n\nvar AppProviders = function AppProviders(_ref) {\n var element = _ref.element,\n pluginOptions = _ref.pluginOptions;\n var defaultCrumb = pluginOptions.defaultCrumb,\n useClassNames = pluginOptions.useClassNames,\n useAutoGen = pluginOptions.useAutoGen,\n usePathPrefix = pluginOptions.usePathPrefix;\n return /*#__PURE__*/_react.default.createElement(_optionsContext.OptionsProvider, {\n useAutoGen: useAutoGen || false,\n useClassNames: useClassNames || false,\n usePathPrefix: usePathPrefix || null\n }, /*#__PURE__*/_react.default.createElement(_breadcrumbContext.BreadcrumbProvider, {\n defaultCrumb: defaultCrumb || null\n }, element));\n};\nexports.AppProviders = AppProviders;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.BreadcrumbConsumer = exports.BreadcrumbProvider = exports.BreadcrumbContext = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n/* eslint-disable import/no-extraneous-dependencies */\n\nvar BreadcrumbContext = /*#__PURE__*/_react.default.createContext('Breadcrumb');\nexports.BreadcrumbContext = BreadcrumbContext;\nvar BreadcrumbProvider = function BreadcrumbProvider(_ref) {\n var children = _ref.children,\n defaultCrumb = _ref.defaultCrumb;\n var _React$useState = _react.default.useState(defaultCrumb ? [(0, _extends2.default)({\n pathname: defaultCrumb.location.pathname\n }, defaultCrumb)] : []),\n crumbs = _React$useState[0],\n setCrumbs = _React$useState[1];\n var updateCrumbs = function updateCrumbs(_ref2) {\n var location = _ref2.location,\n crumbLabel = _ref2.crumbLabel,\n crumbSeparator = _ref2.crumbSeparator,\n crumbStyle = _ref2.crumbStyle,\n crumbActiveStyle = _ref2.crumbActiveStyle;\n // check to see if the path is already in the breadcrumb\n var indexOfFirstOccurrenceOfCurrentPath = crumbs.findIndex(function (crumb) {\n return crumb.pathname === location.pathname;\n });\n\n // when path exists in breadcrumb we need to remove any crumbs after\n // that pathname\n if (indexOfFirstOccurrenceOfCurrentPath > -1 && indexOfFirstOccurrenceOfCurrentPath < crumbs.length - 1) {\n setCrumbs(crumbs.slice(0, indexOfFirstOccurrenceOfCurrentPath));\n }\n\n // when path does not exist we add it to the end of the breadcrumb\n if (indexOfFirstOccurrenceOfCurrentPath === -1) {\n setCrumbs([].concat(crumbs, [(0, _extends2.default)({}, location, {\n crumbLabel: crumbLabel,\n crumbSeparator: crumbSeparator,\n crumbStyle: crumbStyle,\n crumbActiveStyle: crumbActiveStyle\n })]));\n }\n };\n var crumb = {\n crumbs: crumbs,\n updateCrumbs: updateCrumbs\n };\n return /*#__PURE__*/_react.default.createElement(BreadcrumbContext.Provider, {\n value: crumb\n }, children);\n};\nexports.BreadcrumbProvider = BreadcrumbProvider;\nvar BreadcrumbConsumer = BreadcrumbContext.Consumer;\nexports.BreadcrumbConsumer = BreadcrumbConsumer;\nBreadcrumbProvider.defaultProps = {\n defaultCrumb: null\n};\nBreadcrumbProvider.propTypes = {\n children: _propTypes.default.node.isRequired,\n defaultCrumb: _propTypes.default.shape({\n location: _propTypes.default.shape({\n pathname: _propTypes.default.string\n }),\n crumbLabel: _propTypes.default.string,\n crumbSeparator: _propTypes.default.string,\n crumbStyle: _propTypes.default.shape(),\n crumbActiveStyle: _propTypes.default.shape()\n })\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.OptionsConsumer = exports.OptionsProvider = exports.OptionsContext = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n/* eslint-disable import/no-extraneous-dependencies */\n\nvar OptionsContext = /*#__PURE__*/_react.default.createContext('Options');\nexports.OptionsContext = OptionsContext;\nvar OptionsProvider = function OptionsProvider(_ref) {\n var children = _ref.children,\n _ref$useAutoGen = _ref.useAutoGen,\n useAutoGen = _ref$useAutoGen === void 0 ? false : _ref$useAutoGen,\n _ref$usePathPrefix = _ref.usePathPrefix,\n usePathPrefix = _ref$usePathPrefix === void 0 ? null : _ref$usePathPrefix;\n var options = {\n useAutoGen: useAutoGen,\n usePathPrefix: usePathPrefix\n };\n return /*#__PURE__*/_react.default.createElement(OptionsContext.Provider, {\n value: options\n }, children);\n};\nexports.OptionsProvider = OptionsProvider;\nvar OptionsConsumer = OptionsContext.Consumer;\nexports.OptionsConsumer = OptionsConsumer;\nOptionsProvider.defaultProps = {\n useAutoGen: false,\n usePathPrefix: null\n};\nOptionsProvider.propTypes = {\n children: _propTypes.default.node.isRequired,\n useAutoGen: _propTypes.default.bool,\n usePathPrefix: _propTypes.default.string\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.wrapRootElement = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _appProviders = require(\"./components/app-providers\");\n/* eslint-disable import/no-extraneous-dependencies */\n/* eslint-disable import/prefer-default-export */\n/* eslint-disable react/prop-types */\n\nvar wrapRootElement = function wrapRootElement(_ref, pluginOptions) {\n var element = _ref.element;\n return /*#__PURE__*/_react.default.createElement(_appProviders.AppProviders, {\n element: element,\n pluginOptions: pluginOptions\n });\n};\nexports.wrapRootElement = wrapRootElement;","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\";\n\n// when we don't have localisation in our manifest, we tree shake everything away\nexport const onRouteUpdate = function onRouteUpdate({\n location\n}, pluginOptions) {\n if (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n const {\n localize\n } = pluginOptions;\n const manifestFilename = getManifestForPathname(location.pathname, localize, true);\n const manifestEl = document.head.querySelector(`link[rel=\"manifest\"]`);\n if (manifestEl) {\n manifestEl.setAttribute(`href`, withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _gatsby = require(\"gatsby\");\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @param {boolean} shouldPrependPathPrefix\n * @return string\n */\nvar _default = (pathname, localizedManifests, shouldPrependPathPrefix = false) => {\n const defaultFilename = `manifest.webmanifest`;\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n return pathname.startsWith(startUrl);\n });\n if (!localizedManifest) {\n return defaultFilename;\n }\n return `manifest_${localizedManifest.lang}.webmanifest`;\n};\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.I18nextContext = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar I18nextContext = /*#__PURE__*/_react.default.createContext({\n language: 'en',\n languages: ['en'],\n routed: false,\n defaultLanguage: 'en',\n generateDefaultLanguagePage: false,\n originalPath: '/',\n path: '/'\n});\nexports.I18nextContext = I18nextContext;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nexports.__esModule = true;\nexports.wrapPageElement = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/taggedTemplateLiteralLoose\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _gatsby = require(\"gatsby\");\nvar _browserLang = _interopRequireDefault(require(\"browser-lang\"));\nvar _types = require(\"../types\");\nvar _i18next = _interopRequireDefault(require(\"i18next\"));\nvar _reactI18next = require(\"react-i18next\");\nvar _i18nextContext = require(\"../i18nextContext\");\nvar _outdent = _interopRequireDefault(require(\"outdent\"));\nvar _templateObject;\nvar withI18next = function withI18next(i18n, context) {\n return function (children) {\n return /*#__PURE__*/_react.default.createElement(_reactI18next.I18nextProvider, {\n i18n: i18n\n }, /*#__PURE__*/_react.default.createElement(_i18nextContext.I18nextContext.Provider, {\n value: context\n }, children));\n };\n};\nvar removePathPrefix = function removePathPrefix(pathname, stripTrailingSlash) {\n var pathPrefix = (0, _gatsby.withPrefix)('/');\n var result = pathname;\n if (pathname.startsWith(pathPrefix)) {\n result = pathname.replace(pathPrefix, '/');\n }\n if (stripTrailingSlash && result.endsWith('/')) {\n return result.slice(0, -1);\n }\n return result;\n};\nvar wrapPageElement = function wrapPageElement(_ref, _ref2) {\n var _data$localeJsonNodeN, _i18nextOptions$defau;\n var element = _ref.element,\n props = _ref.props;\n var _ref2$i18nextOptions = _ref2.i18nextOptions,\n i18nextOptions = _ref2$i18nextOptions === void 0 ? {} : _ref2$i18nextOptions,\n _ref2$redirect = _ref2.redirect,\n redirect = _ref2$redirect === void 0 ? true : _ref2$redirect,\n _ref2$generateDefault = _ref2.generateDefaultLanguagePage,\n generateDefaultLanguagePage = _ref2$generateDefault === void 0 ? false : _ref2$generateDefault,\n siteUrl = _ref2.siteUrl,\n _ref2$localeJsonNodeN = _ref2.localeJsonNodeName,\n localeJsonNodeName = _ref2$localeJsonNodeN === void 0 ? 'locales' : _ref2$localeJsonNodeN,\n fallbackLanguage = _ref2.fallbackLanguage,\n trailingSlash = _ref2.trailingSlash;\n if (!props) return;\n var data = props.data,\n pageContext = props.pageContext,\n location = props.location;\n var _pageContext$i18n = pageContext.i18n,\n routed = _pageContext$i18n.routed,\n language = _pageContext$i18n.language,\n languages = _pageContext$i18n.languages,\n originalPath = _pageContext$i18n.originalPath,\n defaultLanguage = _pageContext$i18n.defaultLanguage,\n path = _pageContext$i18n.path;\n var isRedirect = redirect && !routed;\n if (isRedirect) {\n var search = location.search;\n\n // Skip build, Browsers only\n if (typeof window !== 'undefined') {\n var detected = window.localStorage.getItem(_types.LANGUAGE_KEY) || (0, _browserLang.default)({\n languages: languages,\n fallback: fallbackLanguage || language\n });\n if (!languages.includes(detected)) {\n detected = language;\n }\n window.localStorage.setItem(_types.LANGUAGE_KEY, detected);\n if (detected !== defaultLanguage) {\n var queryParams = search || '';\n var stripTrailingSlash = trailingSlash === 'never';\n var newUrl = (0, _gatsby.withPrefix)(\"/\" + detected + removePathPrefix(location.pathname, stripTrailingSlash) + queryParams + location.hash);\n // @ts-ignore\n window.___replace(newUrl);\n return null;\n }\n }\n }\n var localeNodes = (data === null || data === void 0 ? void 0 : (_data$localeJsonNodeN = data[localeJsonNodeName]) === null || _data$localeJsonNodeN === void 0 ? void 0 : _data$localeJsonNodeN.edges) || [];\n if (languages.length > 1 && localeNodes.length === 0 && process.env.NODE_ENV === 'development') {\n console.error((0, _outdent.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"\\n No translations were found in \\\"\", \"\\\" key for \\\"\", \"\\\". \\n You need to add a graphql query to every page like this:\\n \\n export const query = graphql`\\n query($language: String!) {\\n \", \": allLocale(language: {eq: $language}) {\\n edges {\\n node {\\n ns\\n data\\n language\\n }\\n }\\n }\\n }\\n `;\\n \"], [\"\\n No translations were found in \\\"\", \"\\\" key for \\\"\", \"\\\". \\n You need to add a graphql query to every page like this:\\n \\n export const query = graphql\\\\`\\n query($language: String!) {\\n \", \": allLocale(language: {eq: $language}) {\\n edges {\\n node {\\n ns\\n data\\n language\\n }\\n }\\n }\\n }\\n \\\\`;\\n \"])), localeJsonNodeName, originalPath, localeJsonNodeName));\n }\n var namespaces = localeNodes.map(function (_ref3) {\n var node = _ref3.node;\n return node.ns;\n });\n\n // We want to set default namespace to a page namespace if it exists\n // and use other namespaces as fallback\n // this way you dont need to specify namespaces in pages\n var defaultNS = ((_i18nextOptions$defau = i18nextOptions.defaultNS) === null || _i18nextOptions$defau === void 0 ? void 0 : _i18nextOptions$defau.toString()) || 'translation';\n defaultNS = namespaces.find(function (ns) {\n return ns !== defaultNS;\n }) || defaultNS;\n var fallbackNS = namespaces.filter(function (ns) {\n return ns !== defaultNS;\n });\n var resources = localeNodes.reduce(function (res, _ref4) {\n var node = _ref4.node;\n var parsedData = typeof node.data === 'object' ? node.data : JSON.parse(node.data);\n if (!(node.language in res)) res[node.language] = {};\n res[node.language][node.ns || defaultNS] = parsedData;\n return res;\n }, {});\n var i18n = _i18next.default.createInstance();\n i18n.init((0, _extends2.default)({}, i18nextOptions, {\n resources: resources,\n lng: language,\n fallbackLng: defaultLanguage,\n defaultNS: defaultNS,\n fallbackNS: fallbackNS,\n react: (0, _extends2.default)({}, i18nextOptions.react, {\n useSuspense: false\n })\n }));\n if (i18n.language !== language) {\n i18n.changeLanguage(language);\n }\n var context = {\n routed: routed,\n language: language,\n languages: languages,\n originalPath: originalPath,\n defaultLanguage: defaultLanguage,\n generateDefaultLanguagePage: generateDefaultLanguagePage,\n siteUrl: siteUrl,\n path: path\n };\n return withI18next(i18n, context)(element);\n};\nexports.wrapPageElement = wrapPageElement;","\"use strict\";\n\nexports.__esModule = true;\nexports.LANGUAGE_KEY = void 0;\nvar LANGUAGE_KEY = 'gatsby-i18next-language';\nexports.LANGUAGE_KEY = LANGUAGE_KEY;","const {wrapPageElement} = require('./dist/plugin/wrapPageElement');\nexports.wrapPageElement = wrapPageElement;\n","'use strict';\n\nvar _typeof = require('@babel/runtime/helpers/typeof');\nvar _classCallCheck = require('@babel/runtime/helpers/classCallCheck');\nvar _createClass = require('@babel/runtime/helpers/createClass');\nvar _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');\nvar _inherits = require('@babel/runtime/helpers/inherits');\nvar _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');\nvar _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _toArray = require('@babel/runtime/helpers/toArray');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);\nvar _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);\nvar _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);\nvar _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);\nvar _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);\nvar _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);\nvar _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _toArray__default = /*#__PURE__*/_interopDefaultLegacy(_toArray);\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass__default[\"default\"](Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck__default[\"default\"](this, EventEmitter);\n this.observers = {};\n }\n _createClass__default[\"default\"](EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ResourceStore = function (_EventEmitter) {\n _inherits__default[\"default\"](ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck__default[\"default\"](this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass__default[\"default\"](ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits__default[\"default\"](Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized__default[\"default\"](_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass__default[\"default\"](Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof__default[\"default\"](options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (_typeof__default[\"default\"](options) === 'object') options = _objectSpread$4({}, options);\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: \"\".concat(namespace).concat(nsSeparator).concat(key),\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck__default[\"default\"](this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass__default[\"default\"](LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck__default[\"default\"](this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass__default[\"default\"](PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction deepFindWithDefaults(data, defaultData, key) {\n var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck__default[\"default\"](this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass__default[\"default\"](Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray__default[\"default\"](_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck__default[\"default\"](this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val, opt.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass__default[\"default\"](Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng) {\n var _this = this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits__default[\"default\"](Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck__default[\"default\"](this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass__default[\"default\"](Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (n) {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof__default[\"default\"](args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof__default[\"default\"](args[2]) === 'object' || _typeof__default[\"default\"](args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default[\"default\"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default[\"default\"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default[\"default\"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default[\"default\"](this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits__default[\"default\"](I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck__default[\"default\"](this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized__default[\"default\"](_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized__default[\"default\"](_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn__default[\"default\"](_this, _assertThisInitialized__default[\"default\"](_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass__default[\"default\"](I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof__default[\"default\"](opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty__default[\"default\"](I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nmodule.exports = instance;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","// In the absence of a WeakSet or WeakMap implementation, don't break, but don't cache either.\nfunction noop() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n}\nfunction createWeakMap() {\n if (typeof WeakMap !== \"undefined\") {\n return new WeakMap();\n }\n else {\n return fakeSetOrMap();\n }\n}\n/**\n * Creates and returns a no-op implementation of a WeakMap / WeakSet that never stores anything.\n */\nfunction fakeSetOrMap() {\n return {\n add: noop,\n delete: noop,\n get: noop,\n set: noop,\n has: function (k) {\n return false;\n },\n };\n}\n// Safe hasOwnProperty\nvar hop = Object.prototype.hasOwnProperty;\nvar has = function (obj, prop) {\n return hop.call(obj, prop);\n};\n// Copy all own enumerable properties from source to target\nfunction extend(target, source) {\n for (var prop in source) {\n if (has(source, prop)) {\n target[prop] = source[prop];\n }\n }\n return target;\n}\nvar reLeadingNewline = /^[ \\t]*(?:\\r\\n|\\r|\\n)/;\nvar reTrailingNewline = /(?:\\r\\n|\\r|\\n)[ \\t]*$/;\nvar reStartsWithNewlineOrIsEmpty = /^(?:[\\r\\n]|$)/;\nvar reDetectIndentation = /(?:\\r\\n|\\r|\\n)([ \\t]*)(?:[^ \\t\\r\\n]|$)/;\nvar reOnlyWhitespaceWithAtLeastOneNewline = /^[ \\t]*[\\r\\n][ \\t\\r\\n]*$/;\nfunction _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options) {\n // If first interpolated value is a reference to outdent,\n // determine indentation level from the indentation of the interpolated value.\n var indentationLevel = 0;\n var match = strings[0].match(reDetectIndentation);\n if (match) {\n indentationLevel = match[1].length;\n }\n var reSource = \"(\\\\r\\\\n|\\\\r|\\\\n).{0,\" + indentationLevel + \"}\";\n var reMatchIndent = new RegExp(reSource, \"g\");\n if (firstInterpolatedValueSetsIndentationLevel) {\n strings = strings.slice(1);\n }\n var newline = options.newline, trimLeadingNewline = options.trimLeadingNewline, trimTrailingNewline = options.trimTrailingNewline;\n var normalizeNewlines = typeof newline === \"string\";\n var l = strings.length;\n var outdentedStrings = strings.map(function (v, i) {\n // Remove leading indentation from all lines\n v = v.replace(reMatchIndent, \"$1\");\n // Trim a leading newline from the first string\n if (i === 0 && trimLeadingNewline) {\n v = v.replace(reLeadingNewline, \"\");\n }\n // Trim a trailing newline from the last string\n if (i === l - 1 && trimTrailingNewline) {\n v = v.replace(reTrailingNewline, \"\");\n }\n // Normalize newlines\n if (normalizeNewlines) {\n v = v.replace(/\\r\\n|\\n|\\r/g, function (_) { return newline; });\n }\n return v;\n });\n return outdentedStrings;\n}\nfunction concatStringsAndValues(strings, values) {\n var ret = \"\";\n for (var i = 0, l = strings.length; i < l; i++) {\n ret += strings[i];\n if (i < l - 1) {\n ret += values[i];\n }\n }\n return ret;\n}\nfunction isTemplateStringsArray(v) {\n return has(v, \"raw\") && has(v, \"length\");\n}\n/**\n * It is assumed that opts will not change. If this is a problem, clone your options object and pass the clone to\n * makeInstance\n * @param options\n * @return {outdent}\n */\nfunction createInstance(options) {\n /** Cache of pre-processed template literal arrays */\n var arrayAutoIndentCache = createWeakMap();\n /**\n * Cache of pre-processed template literal arrays, where first interpolated value is a reference to outdent,\n * before interpolated values are injected.\n */\n var arrayFirstInterpSetsIndentCache = createWeakMap();\n function outdent(stringsOrOptions) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n /* tslint:enable:no-shadowed-variable */\n if (isTemplateStringsArray(stringsOrOptions)) {\n var strings = stringsOrOptions;\n // Is first interpolated value a reference to outdent, alone on its own line, without any preceding non-whitespace?\n var firstInterpolatedValueSetsIndentationLevel = (values[0] === outdent || values[0] === defaultOutdent) &&\n reOnlyWhitespaceWithAtLeastOneNewline.test(strings[0]) &&\n reStartsWithNewlineOrIsEmpty.test(strings[1]);\n // Perform outdentation\n var cache = firstInterpolatedValueSetsIndentationLevel\n ? arrayFirstInterpSetsIndentCache\n : arrayAutoIndentCache;\n var renderedArray = cache.get(strings);\n if (!renderedArray) {\n renderedArray = _outdentArray(strings, firstInterpolatedValueSetsIndentationLevel, options);\n cache.set(strings, renderedArray);\n }\n /** If no interpolated values, skip concatenation step */\n if (values.length === 0) {\n return renderedArray[0];\n }\n /** Concatenate string literals with interpolated values */\n var rendered = concatStringsAndValues(renderedArray, firstInterpolatedValueSetsIndentationLevel ? values.slice(1) : values);\n return rendered;\n }\n else {\n // Create and return a new instance of outdent with the given options\n return createInstance(extend(extend({}, options), stringsOrOptions || {}));\n }\n }\n var fullOutdent = extend(outdent, {\n string: function (str) {\n return _outdentArray([str], false, options)[0];\n },\n });\n return fullOutdent;\n}\nvar defaultOutdent = createInstance({\n trimLeadingNewline: true,\n trimTrailingNewline: true,\n});\n// Named exports. Simple and preferred.\n// import outdent from 'outdent';\nexport default defaultOutdent;\n// import {outdent} from 'outdent';\nexport { defaultOutdent as outdent };\nif (typeof module !== \"undefined\") {\n // In webpack harmony-modules environments, module.exports is read-only,\n // so we fail gracefully.\n try {\n module.exports = defaultOutdent;\n Object.defineProperty(defaultOutdent, \"__esModule\", { value: true });\n defaultOutdent.default = defaultOutdent;\n defaultOutdent.outdent = defaultOutdent;\n }\n catch (e) { }\n}\n//# sourceMappingURL=index.js.map","/**\n * @license React\n * react-server-dom-webpack.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var k=require(\"react\"),l={stream:!0},n=new Map,p=Symbol.for(\"react.element\"),q=Symbol.for(\"react.lazy\"),r=Symbol.for(\"react.default_value\"),t=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ContextRegistry;function u(a){t[a]||(t[a]=k.createServerContext(a,r));return t[a]}function v(a,b,c){this._status=a;this._value=b;this._response=c}v.prototype.then=function(a){0===this._status?(null===this._value&&(this._value=[]),this._value.push(a)):a()};\nfunction w(a){switch(a._status){case 3:return a._value;case 1:var b=JSON.parse(a._value,a._response._fromJSON);a._status=3;return a._value=b;case 2:b=a._value;for(var c=b.chunks,d=0;d arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _extends() {\n module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _extends.apply(this, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n strings.raw = raw;\n return strings;\n}\nmodule.exports = _taggedTemplateLiteralLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst PartytownSnippet = \"/* Partytown 0.7.5 - MIT builder.io */\\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\\\"/\\\"==(a=(o.lib||\\\"/~partytown/\\\")+(o.debug?\\\"debug/\\\":\\\"\\\"))[0]&&(s=e.querySelectorAll('script[type=\\\"text/partytown\\\"]'),i!=t?i.dispatchEvent(new CustomEvent(\\\"pt1\\\",{detail:t})):(d=setTimeout(f,1e4),e.addEventListener(\\\"pt0\\\",w),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\\\"partytown-sw.js\\\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\\\"statechange\\\",(function(t){\\\"activated\\\"==t.target.state&&h()}))}),console.error):f())))}function h(t){c=e.createElement(t?\\\"script\\\":\\\"iframe\\\"),t||(c.setAttribute(\\\"style\\\",\\\"display:block;width:0;height:0;border:0;visibility:hidden\\\"),c.setAttribute(\\\"aria-hidden\\\",!0)),c.src=a+\\\"partytown-\\\"+(t?\\\"atomics.js?v=0.7.5\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function f(n,r){for(w(),i==t&&(o.forward||[]).map((function(e){delete t[e.split(\\\".\\\")[0]]})),n=0;n {\n const { forward = [], ...filteredConfig } = config || {};\n const configStr = JSON.stringify(filteredConfig, (k, v) => {\n if (typeof v === 'function') {\n v = String(v);\n if (v.startsWith(k + '(')) {\n v = 'function ' + v;\n }\n }\n return v;\n });\n return [\n `!(function(w,p,f,c){`,\n Object.keys(filteredConfig).length > 0\n ? `c=w[p]=Object.assign(w[p]||{},${configStr});`\n : `c=w[p]=w[p]||{};`,\n `c[f]=(c[f]||[])`,\n forward.length > 0 ? `.concat(${JSON.stringify(forward)})` : ``,\n `})(window,'partytown','forward');`,\n snippetCode,\n ].join('');\n};\n\n/**\n * The `type` attribute for Partytown scripts, which does two things:\n *\n * 1. Prevents the `