-
Notifications
You must be signed in to change notification settings - Fork 0
/
app-4a0163b774a50bd8c143.js.map
1 lines (1 loc) · 405 KB
/
app-4a0163b774a50bd8c143.js.map
1
{"version":3,"file":"app-4a0163b774a50bd8c143.js","mappings":"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","sources":["webpack://kyoungah-dev-blog/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://kyoungah-dev-blog/./node_modules/gatsby-react-router-scroll/index.js","webpack://kyoungah-dev-blog/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://kyoungah-dev-blog/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://kyoungah-dev-blog/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://kyoungah-dev-blog/./node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/object-assign.js","webpack://kyoungah-dev-blog/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://kyoungah-dev-blog/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://kyoungah-dev-blog/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://kyoungah-dev-blog/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://kyoungah-dev-blog/./.cache/api-runner-browser-plugins.js","webpack://kyoungah-dev-blog/./.cache/api-runner-browser.js","webpack://kyoungah-dev-blog/./.cache/create-content-digest-browser-shim.js","webpack://kyoungah-dev-blog/./.cache/emitter.js","webpack://kyoungah-dev-blog/./node_modules/mitt/dist/mitt.es.js","webpack://kyoungah-dev-blog/./.cache/normalize-page-path.js","webpack://kyoungah-dev-blog/./.cache/find-path.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://kyoungah-dev-blog/./.cache/slice/server-slice-renderer.js","webpack://kyoungah-dev-blog/./.cache/slice/server-slice.js","webpack://kyoungah-dev-blog/./.cache/slice/inline-slice.js","webpack://kyoungah-dev-blog/./.cache/slice.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://kyoungah-dev-blog/./.cache/gatsby-browser-entry.js","webpack://kyoungah-dev-blog/./.cache/prefetch.js","webpack://kyoungah-dev-blog/./.cache/loader.js","webpack://kyoungah-dev-blog/./.cache/head/components/fire-callback-in-effect.js","webpack://kyoungah-dev-blog/./.cache/head/constants.js","webpack://kyoungah-dev-blog/./.cache/head/utils.js","webpack://kyoungah-dev-blog/./.cache/head/head-export-handler-for-browser.js","webpack://kyoungah-dev-blog/./.cache/page-renderer.js","webpack://kyoungah-dev-blog/./.cache/route-announcer-props.js","webpack://kyoungah-dev-blog/./.cache/navigation.js","webpack://kyoungah-dev-blog/./node_modules/shallow-compare/es/index.js","webpack://kyoungah-dev-blog/./.cache/ensure-resources.js","webpack://kyoungah-dev-blog/./.cache/production-app.js","webpack://kyoungah-dev-blog/./.cache/public-page-renderer-prod.js","webpack://kyoungah-dev-blog/./.cache/public-page-renderer.js","webpack://kyoungah-dev-blog/./.cache/react-dom-utils.js","webpack://kyoungah-dev-blog/./.cache/redirect-utils.js","webpack://kyoungah-dev-blog/./.cache/register-service-worker.js","webpack://kyoungah-dev-blog/./.cache/slice/context.js","webpack://kyoungah-dev-blog/./.cache/static-query.js","webpack://kyoungah-dev-blog/./.cache/context-utils.js","webpack://kyoungah-dev-blog/./.cache/strip-prefix.js","webpack://kyoungah-dev-blog/./node_modules/react-helmet/es/Helmet.js","webpack://kyoungah-dev-blog/./node_modules/gatsby-omni-font-loader/components/AsyncFonts.tsx","webpack://kyoungah-dev-blog/./node_modules/gatsby-omni-font-loader/consts/defaults.ts","webpack://kyoungah-dev-blog/./node_modules/gatsby-omni-font-loader/utils/getFontNames.ts","webpack://kyoungah-dev-blog/./node_modules/gatsby-omni-font-loader/utils/fontListener.ts","webpack://kyoungah-dev-blog/./node_modules/gatsby-omni-font-loader/utils/kebabCase.ts","webpack://kyoungah-dev-blog/./node_modules/gatsby-omni-font-loader/gatsby-browser.js","webpack://kyoungah-dev-blog/./node_modules/gatsby-omni-font-loader/utils/getFontFiles.ts","webpack://kyoungah-dev-blog/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://kyoungah-dev-blog/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://kyoungah-dev-blog/./node_modules/gatsby-remark-images/constants.js","webpack://kyoungah-dev-blog/./node_modules/gatsby-remark-images/gatsby-browser.js","webpack://kyoungah-dev-blog/./node_modules/@tanstack/query-core/build/modern/removable.js","webpack://kyoungah-dev-blog/./node_modules/@tanstack/query-core/build/modern/query.js","webpack://kyoungah-dev-blog/./node_modules/@tanstack/query-core/build/modern/queryCache.js","webpack://kyoungah-dev-blog/./node_modules/@tanstack/query-core/build/modern/mutation.js","webpack://kyoungah-dev-blog/./node_modules/@tanstack/query-core/build/modern/mutationCache.js","webpack://kyoungah-dev-blog/./src/shared/libs/react-query/query-client.ts","webpack://kyoungah-dev-blog/./node_modules/@tanstack/query-core/build/modern/queryClient.js","webpack://kyoungah-dev-blog/./src/app/providers/query-client-provider.tsx","webpack://kyoungah-dev-blog/./gatsby-browser.tsx","webpack://kyoungah-dev-blog/./node_modules/invariant/browser.js","webpack://kyoungah-dev-blog/./node_modules/react-fast-compare/index.js","webpack://kyoungah-dev-blog/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://kyoungah-dev-blog/./node_modules/react-server-dom-webpack/index.js","webpack://kyoungah-dev-blog/./node_modules/react-side-effect/lib/index.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://kyoungah-dev-blog/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://kyoungah-dev-blog/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://kyoungah-dev-blog/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://kyoungah-dev-blog/./node_modules/@tanstack/query-core/build/modern/focusManager.js","webpack://kyoungah-dev-blog/./node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","webpack://kyoungah-dev-blog/./node_modules/@tanstack/query-core/build/modern/notifyManager.js","webpack://kyoungah-dev-blog/./node_modules/@tanstack/query-core/build/modern/onlineManager.js","webpack://kyoungah-dev-blog/./node_modules/@tanstack/query-core/build/modern/retryer.js","webpack://kyoungah-dev-blog/./node_modules/@tanstack/query-core/build/modern/subscribable.js","webpack://kyoungah-dev-blog/./node_modules/@tanstack/query-core/build/modern/utils.js","webpack://kyoungah-dev-blog/./node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","webpack://kyoungah-dev-blog/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://kyoungah-dev-blog/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["\"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\nmodule.exports = Object.assign;\n//# sourceMappingURL=object-assign.js.map","\"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-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2018-08-02-reactjs-first-reactjs-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/2018-08-02-reactjs-first-reactjs.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2018-08-02-reactjs-first-reactjs-md\" */),\n \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2018-08-11-html-email-templete-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/2018-08-11-html-email-templete.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2018-08-11-html-email-templete-md\" */),\n \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2018-09-28-reactjs-props-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/2018-09-28-reactjs-props.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2018-09-28-reactjs-props-md\" */),\n \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2019-06-26-front-end-endgame-review-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/2019-06-26-front-end-endgame-review.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2019-06-26-front-end-endgame-review-md\" */),\n \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2019-07-04-blog-migration-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/2019-07-04-blog-migration.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2019-07-04-blog-migration-md\" */),\n \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2019-07-21-blog-migration-2-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/2019-07-21-blog-migration-2.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2019-07-21-blog-migration-2-md\" */),\n \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-03-16-etc-token-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/2020-03-16-etc-token.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-03-16-etc-token-md\" */),\n \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-03-18-json-web-token-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/2020-03-18-json-web-token.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-03-18-json-web-token-md\" */),\n \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-04-01-etc-redux-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/2020-04-01-etc-redux.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-04-01-etc-redux-md\" */),\n \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-07-18-etc-cloude-computer-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/2020-07-18-etc-cloude-computer.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-07-18-etc-cloude-computer-md\" */),\n \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-07-19-etc-aws-iam-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/2020-07-19-etc-aws-iam.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-07-19-etc-aws-iam-md\" */),\n \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-07-25-etc-aws-iam-security-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/2020-07-25-etc-aws-iam-security.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-07-25-etc-aws-iam-security-md\" */),\n \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-07-26-etc-aws-s-3-hosting-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/2020-07-26-etc-aws-s3-hosting.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-07-26-etc-aws-s-3-hosting-md\" */),\n \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-08-30-etc-aws-route-53-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/2020-08-30-etc-aws-route-53.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-08-30-etc-aws-route-53-md\" */),\n \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-test-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/test.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-test-md\" */),\n \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-블로그-리팩토링-하면서-고려한-것들-md\": () => import(\"./../../../src/app/templates/post-template/post-layout.ui.tsx?__contentFilePath=/Users/yookyoung.park/Workspace/kyoungah-dev-blog/posts/블로그-리팩토링-하면서-고려한-것들.md\" /* webpackChunkName: \"component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-블로그-리팩토링-하면서-고려한-것들-md\" */),\n \"component---src-pages-404-tsx\": () => import(\"./../../../src/pages/404.tsx\" /* webpackChunkName: \"component---src-pages-404-tsx\" */),\n \"component---src-pages-about-about-page-ui-tsx\": () => import(\"./../../../src/pages/about/about-page.ui.tsx\" /* webpackChunkName: \"component---src-pages-about-about-page-ui-tsx\" */),\n \"component---src-pages-about-index-tsx\": () => import(\"./../../../src/pages/about/index.tsx\" /* webpackChunkName: \"component---src-pages-about-index-tsx\" */),\n \"component---src-pages-index-tsx\": () => import(\"./../../../src/pages/index.tsx\" /* webpackChunkName: \"component---src-pages-index-tsx\" */),\n \"component---src-pages-tags-index-tsx\": () => import(\"./../../../src/pages/tags/index.tsx\" /* webpackChunkName: \"component---src-pages-tags-index-tsx\" */),\n \"component---src-pages-tags-tags-page-ui-tsx\": () => import(\"./../../../src/pages/tags/tags-page.ui.tsx\" /* webpackChunkName: \"component---src-pages-tags-tags-page-ui-tsx\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"icon\":\"/Users/yookyoung.park/Workspace/kyoungah-dev-blog/static/images/icon.png\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"5cf0da094b93a3481c9edfc50f386caf\"},\n },{\n plugin: require('../node_modules/gatsby-remark-images/gatsby-browser.js'),\n options: {\"plugins\":[],\"showCaptions\":true,\"maxWidth\":650,\"linkImagesToOriginal\":true,\"markdownCaptions\":false,\"backgroundColor\":\"white\",\"quality\":50,\"withWebp\":false,\"withAvif\":false,\"loading\":\"lazy\",\"decoding\":\"async\",\"disableBgImageOnAlpha\":false,\"disableBgImage\":false},\n },{\n plugin: require('../node_modules/gatsby-omni-font-loader/gatsby-browser.js'),\n options: {\"plugins\":[],\"enableListener\":\"\",\"preconnect\":[\"https://fonts.googleapis.com\",\"https://fonts.gstatic.com\"],\"web\":[{\"name\":\"Nanum Gothic\",\"file\":\"https://fonts.googleapis.com/css2?family=Nanum+Gothic:wght@400;700;800&display=swap\"},{\"name\":\"Fira Code\",\"file\":\"https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&display=swap\"}]},\n },{\n plugin: require('../gatsby-browser.tsx'),\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 try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\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 <ServerSliceRenderer sliceId={sliceId}>{children}</ServerSliceRenderer>\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 <slice.component\n sliceContext={slice.sliceContext}\n data={slice.data}\n {...sliceProps}\n >\n {children}\n </slice.component>\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 <ServerSlice {...internalProps} />\n } else if (slicesContext.renderEnvironment === `browser`) {\n // in the browser, we'll just render the component as is\n return <InlineSlice {...internalProps} />\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 <InlineSlice {...internalProps} />\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 <Slice alias=\"${props.alias}\"/>`\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 // <html> and <body> tags are treated differently, in that we don't render them, we only extract the attributes and apply them separetely\n if (nodeName === `html` || nodeName === `body`) {\n for (const attribute of node.attributes) {\n const isStyleAttribute = attribute.name === `style`\n\n // Merge attributes for same nodeName from previous loop iteration\n htmlAndBodyAttributes[nodeName] = {\n ...htmlAndBodyAttributes[nodeName],\n }\n\n if (!isStyleAttribute) {\n htmlAndBodyAttributes[nodeName][attribute.name] = attribute.value\n }\n\n // If there is already a style attribute, we need to merge them as otherwise the last one will \"win\"\n if (isStyleAttribute) {\n htmlAndBodyAttributes[nodeName].style = `${\n htmlAndBodyAttributes[nodeName]?.style\n ? htmlAndBodyAttributes[nodeName].style\n : ``\n }${attribute.value} `\n }\n }\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // // This is hack to make script tags work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n clonedNode = massageScript(clonedNode)\n }\n // Duplicate ids are not allowed in the head, so we need to dedupe them\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[\n indexOfPreviouslyInsertedNode\n ].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n } else {\n warnForInvalidTag(nodeName)\n }\n\n if (node.childNodes.length) {\n validHeadNodes.push(\n ...getValidHeadNodesAndAttributes(node, htmlAndBodyAttributes)\n .validHeadNodes\n )\n }\n }\n\n return { validHeadNodes, htmlAndBodyAttributes }\n}\n\nfunction massageScript(node) {\n const script = document.createElement(`script`)\n for (const attr of node.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = node.innerHTML\n\n return script\n}\n\nexport function isValidNodeName(nodeName) {\n return VALID_NODE_NAMES.includes(nodeName)\n}\n/*\n * For Head, we only care about element nodes(type = 1), so this util is used to skip over non-element nodes\n * For Node type, see https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n */\nexport function isElementType(node) {\n return node.nodeType === 1\n}\n\n/**\n * Removes all the head elements that were added by `Head`\n */\nexport function removePrevHeadElements() {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nexport function applyHtmlAndBodyAttributes(htmlAndBodyAttributes) {\n if (!htmlAndBodyAttributes) return\n\n const { html, body } = htmlAndBodyAttributes\n\n const htmlElement = document.querySelector(`html`)\n if (htmlElement) {\n Object.entries(html).forEach(([attributeName, attributeValue]) => {\n htmlElement.setAttribute(attributeName, attributeValue)\n })\n }\n\n const bodyElement = document.querySelector(`body`)\n if (bodyElement) {\n Object.entries(body).forEach(([attributeName, attributeValue]) => {\n bodyElement.setAttribute(attributeName, attributeValue)\n })\n }\n}\n\nexport function removeHtmlAndBodyAttributes(htmlAndBodyattributeList) {\n if (!htmlAndBodyattributeList) return\n\n const { html, body } = htmlAndBodyattributeList\n\n if (html) {\n const htmlElement = document.querySelector(`html`)\n html.forEach(attributeName => {\n if (htmlElement) {\n htmlElement.removeAttribute(attributeName)\n }\n })\n }\n\n if (body) {\n const bodyElement = document.querySelector(`body`)\n body.forEach(attributeName => {\n if (bodyElement) {\n bodyElement.removeAttribute(attributeName)\n }\n })\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport {\n headExportValidator,\n filterHeadProps,\n diffNodes,\n getValidHeadNodesAndAttributes,\n removePrevHeadElements,\n applyHtmlAndBodyAttributes,\n removeHtmlAndBodyAttributes,\n} from \"./utils\"\nimport { apiRunner } from \"../api-runner-browser\"\n\nconst hiddenRoot = document.createElement(`div`)\nconst keysOfHtmlAndBodyAttributes = {\n html: [],\n body: [],\n}\n\nconst onHeadRendered = () => {\n const { validHeadNodes, htmlAndBodyAttributes } =\n getValidHeadNodesAndAttributes(hiddenRoot)\n\n keysOfHtmlAndBodyAttributes.html = Object.keys(htmlAndBodyAttributes.html)\n keysOfHtmlAndBodyAttributes.body = Object.keys(htmlAndBodyAttributes.body)\n\n applyHtmlAndBodyAttributes(htmlAndBodyAttributes)\n\n /**\n * The rest of the code block below is a diffing mechanism to ensure that\n * the head elements aren't duplicted on every re-render.\n */\n const existingHeadElements = document.querySelectorAll(`[data-gatsby-head]`)\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.parentNode.removeChild(node),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // sigh ... <html> and <body> elements are not valid descedents of <div> (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 <div>, and just silence warnings for <html> and <body> 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] === `<html>` || args[1] === `<body>`)\n ) {\n return undefined\n }\n return originalConsoleError(...args)\n }\n\n /* We set up observer to be able to regenerate <head> 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 <pageComponent.Head {...filterHeadProps(pageComponentProps)} />\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 <FireCallbackInEffect callback={onHeadRendered}>\n <StaticQueryContext.Provider value={staticQueryResults}>\n <LocationProvider>{WrapHeadElement}</LocationProvider>\n </StaticQueryContext.Provider>\n </FireCallbackInEffect>,\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 <div {...RouteAnnouncerProps} ref={this.announcementRef}></div>\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 <React.Fragment>\n {this.props.children}\n <RouteAnnouncer location={location} />\n </React.Fragment>\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 <BaseContext.Provider\n value={{\n baseuri: `/`,\n basepath: `/`,\n }}\n >\n <PageRenderer {...props} />\n </BaseContext.Provider>\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 <Location>\n {({ location }) => (\n <EnsureResources location={location}>\n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n const sliceResults = getSliceResults()\n\n return (\n <StaticQueryContext.Provider value={staticQueryResults}>\n <SlicesContext.Provider value={slicesContext}>\n <SlicesResultsContext.Provider value={sliceResults}>\n <SlicesMapContext.Provider\n value={pageResources.page.slicesMap}\n >\n <DataContext.Provider\n value={{ pageResources, location }}\n >\n {children}\n </DataContext.Provider>\n </SlicesMapContext.Provider>\n </SlicesResultsContext.Provider>\n </SlicesContext.Provider>\n </StaticQueryContext.Provider>\n )\n }}\n </EnsureResources>\n )}\n </Location>\n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n <DataContext.Consumer>\n {({ pageResources, location }) => (\n <RouteUpdates location={location}>\n <ScrollContext\n location={location}\n shouldUpdateScroll={shouldUpdateScroll}\n >\n <Router\n basepath={__BASE_PATH__}\n location={location}\n id=\"gatsby-focus-wrapper\"\n >\n <RouteHandler\n path={\n pageResources.page.path === `/404.html` ||\n pageResources.page.path === `/500.html`\n ? stripPrefix(location.pathname, __BASE_PATH__)\n : encodeURI(\n (\n pageResources.page.matchPath ||\n pageResources.page.path\n ).split(`?`)[0]\n )\n }\n {...this.props}\n location={location}\n pageResources={pageResources}\n {...pageResources.json}\n />\n </Router>\n </ScrollContext>\n </RouteUpdates>\n )}\n </DataContext.Consumer>\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: <LocationHandler /> },\n <LocationHandler />,\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 <GatsbyRoot>{SiteRoot}</GatsbyRoot>\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(<App />, 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 <React.Fragment>\n {finalData && render(finalData)}\n {!finalData && <div>Loading (StaticQuery)</div>}\n </React.Fragment>\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 <StaticQuery /> 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 <StaticQueryContext.Consumer>\n {staticQueryData => (\n <StaticQueryDataRenderer\n data={data}\n query={query}\n render={render || children}\n staticQueryData={staticQueryData}\n />\n )}\n </StaticQueryContext.Consumer>\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","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\n\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\n\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\n\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\n\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\n\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\n\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\n\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\n\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\n\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n }\n // Special case for innerHTML which doesn't work lowercased\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n });\n\n // Update seen tags with tags from this instance\n var keys = Object.keys(instanceSeenTags);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\n\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n\n updateTitle(title, titleAttributes);\n\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n\n var addedTags = {};\n var removedTags = {};\n\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n\n cb && cb();\n\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\");\n\n // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"</\" + type + \">\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps;\n\n // assigning into an array to define toString function on it\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = { __html: content };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, { title: title, titleAttributes: titleAttributes }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}</\" + child.type + \"> ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n\n\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\n\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\n\nexport default HelmetExport;\nexport { HelmetExport as Helmet };\n","import React from \"react\"\nimport { Helmet } from \"react-helmet\"\n\nexport const AsyncFonts: React.FC<{ hrefs: string[] }> = ({ hrefs }) => {\n const links = []\n\n hrefs.forEach(href => {\n const noScript = (\n <noscript\n key={`noscript-${href}`}\n >{`<link rel=\"stylesheet\" href=\"${href}\" />`}</noscript>\n )\n const link = (\n <link\n key={`stylesheet-${href}`}\n rel=\"stylesheet\"\n media=\"all\"\n href={href}\n />\n )\n\n links.push([noScript, link])\n })\n\n return <Helmet>{links}</Helmet>\n}\n","export const MODE_DEFAULT = \"async\";\nexport const SCOPE_DEFAULT = \"body\";\n","export const getFontNames = (allFonts: { name: string }[]) => {\n const fontNames = []\n allFonts.forEach(({ name }) =>\n Array.isArray(name) ? fontNames.push(...name) : fontNames.push(name)\n )\n return fontNames\n}\n","import { kebabCase } from \"../utils\";\n\ndeclare var document: { fonts: any };\n\nexport const fontListener = ({ fontNames, scope }) => {\n const hasFonts = fontNames && Boolean(fontNames.length);\n const targetElement = scope === \"html\" ? \"documentElement\" : \"body\";\n const apiAvailable = \"fonts\" in document;\n\n function handleLoadComplete() {\n addClassName(\"all\");\n }\n\n function handleFontLoad(fontFaces: FontFace[]) {\n fontFaces.forEach((fontFace) => {\n addClassName(fontFace.family);\n })\n }\n\n function fontMapper(fontName) {\n return document.fonts\n .load(`1rem ${fontName}`)\n .then(handleFontLoad)\n .catch(errorFallback);\n }\n\n function loadFonts() {\n const fonts = fontNames.map(fontMapper);\n Promise.all(fonts).then(handleLoadComplete).catch(errorFallback);\n }\n\n function errorFallback() {\n fontNames.forEach(addClassName);\n }\n\n function handleApiError(error) {\n console.info(`document.fonts API error: ${error}`);\n console.info(`Replacing fonts instantly. FOUT handling failed.`);\n errorFallback();\n }\n\n function addClassName(fontName: string) {\n document[targetElement].classList.add(`wf-${kebabCase(fontName)}`);\n }\n\n if (!apiAvailable) {\n handleApiError(\"Font loading API not available\");\n return;\n }\n\n if (hasFonts && apiAvailable) {\n loadFonts();\n }\n};\n","export const kebabCase = (str: string) =>\n str\n .match(/[A-Z]{2,}(?=[A-Z][a-z0-9]*|\\b)|[A-Z]?[a-z0-9]*|[A-Z]|[0-9]+/g)\n .filter(Boolean)\n .map(x => x.toLowerCase())\n .join(\"-\")\n","import React from \"react\";\nimport { AsyncFonts } from \"./components\";\nimport { MODE_DEFAULT, SCOPE_DEFAULT } from \"./consts\";\nimport { getFontFiles, getFontNames } from \"./utils\";\nimport { fontListener } from \"./utils/fontListener\";\n\nexport const onClientEntry = (\n _,\n { custom = [], web = [], enableListener = false, scope = SCOPE_DEFAULT }\n) => {\n if (!enableListener) {\n return;\n }\n\n const allFonts = [...custom, ...web];\n const fontNames = getFontNames(allFonts);\n const listenerProps = { fontNames, scope };\n\n fontListener(listenerProps);\n};\n\nexport const wrapRootElement = (\n { element },\n { custom = [], web = [], mode = MODE_DEFAULT }\n) => {\n if (mode !== \"async\") {\n return element;\n }\n\n const allFonts = [...custom, ...web];\n const fontFiles = getFontFiles(allFonts);\n const fontNames = getFontNames(allFonts);\n const hasFontNames = Boolean(fontNames.length);\n\n return (\n <>\n {hasFontNames && <AsyncFonts hrefs={fontFiles} />}\n {element}\n </>\n );\n};\n","export const getFontFiles = (allFonts: { file: string }[]) =>\n allFonts.map(({ file }) => file)\n","/* global __MANIFEST_PLUGIN_HAS_LOCALISATION__ */\nimport { withPrefix } from \"gatsby\";\nimport getManifestForPathname from \"./get-manifest-pathname\";\n\n// when we don't have localisation in our manifest, we tree shake everything away\nexport const onRouteUpdate = function onRouteUpdate({\n location\n}, pluginOptions) {\n if (__MANIFEST_PLUGIN_HAS_LOCALISATION__) {\n const {\n localize\n } = pluginOptions;\n const manifestFilename = getManifestForPathname(location.pathname, localize, true);\n const manifestEl = document.head.querySelector(`link[rel=\"manifest\"]`);\n if (manifestEl) {\n manifestEl.setAttribute(`href`, withPrefix(manifestFilename));\n }\n }\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _gatsby = require(\"gatsby\");\n/**\n * Get a manifest filename depending on localized pathname\n *\n * @param {string} pathname\n * @param {Array<{start_url: string, lang: string}>} localizedManifests\n * @param {boolean} shouldPrependPathPrefix\n * @return string\n */\nvar _default = (pathname, localizedManifests, shouldPrependPathPrefix = false) => {\n const defaultFilename = `manifest.webmanifest`;\n if (!Array.isArray(localizedManifests)) {\n return defaultFilename;\n }\n const localizedManifest = localizedManifests.find(app => {\n let startUrl = app.start_url;\n if (shouldPrependPathPrefix) {\n startUrl = (0, _gatsby.withPrefix)(startUrl);\n }\n return pathname.startsWith(startUrl);\n });\n if (!localizedManifest) {\n return defaultFilename;\n }\n return `manifest_${localizedManifest.lang}.webmanifest`;\n};\nexports.default = _default;","\"use strict\";\n\nexports.DEFAULT_OPTIONS = {\n maxWidth: 650,\n wrapperStyle: \"\",\n backgroundColor: \"white\",\n linkImagesToOriginal: true,\n showCaptions: false,\n markdownCaptions: false,\n withWebp: false,\n withAvif: false,\n tracedSVG: false,\n loading: \"lazy\",\n decoding: \"async\",\n disableBgImageOnAlpha: false,\n disableBgImage: false\n};\nexports.EMPTY_ALT = \"GATSBY_EMPTY_ALT\";\nexports.imageClass = \"gatsby-resp-image-image\";\nexports.imageWrapperClass = \"gatsby-resp-image-wrapper\";\nexports.imageBackgroundClass = \"gatsby-resp-image-background-image\";","\"use strict\";\n\nvar _require = require(\"./constants\"),\n DEFAULT_OPTIONS = _require.DEFAULT_OPTIONS,\n imageClass = _require.imageClass,\n imageBackgroundClass = _require.imageBackgroundClass,\n imageWrapperClass = _require.imageWrapperClass;\nexports.onRouteUpdate = function (apiCallbackContext, pluginOptions) {\n var options = Object.assign({}, DEFAULT_OPTIONS, pluginOptions);\n var imageWrappers = document.querySelectorAll(\".\" + imageWrapperClass);\n\n // https://css-tricks.com/snippets/javascript/loop-queryselectorall-matches/\n // for cross-browser looping through NodeList without polyfills\n var _loop = function _loop() {\n var imageWrapper = imageWrappers[i];\n var backgroundElement = imageWrapper.querySelector(\".\" + imageBackgroundClass);\n var imageElement = imageWrapper.querySelector(\".\" + imageClass);\n var onImageLoad = function onImageLoad() {\n backgroundElement.style.transition = \"opacity 0.5s 0.5s\";\n imageElement.style.transition = \"opacity 0.5s\";\n onImageComplete();\n };\n var onImageComplete = function onImageComplete() {\n backgroundElement.style.opacity = 0;\n imageElement.style.opacity = 1;\n imageElement.style.color = \"inherit\";\n imageElement.style.boxShadow = \"inset 0px 0px 0px 400px \" + options.backgroundColor;\n imageElement.removeEventListener(\"load\", onImageLoad);\n imageElement.removeEventListener(\"error\", onImageComplete);\n };\n imageElement.style.opacity = 0;\n imageElement.addEventListener(\"load\", onImageLoad);\n imageElement.addEventListener(\"error\", onImageComplete);\n if (imageElement.complete) {\n onImageComplete();\n }\n };\n for (var i = 0; i < imageWrappers.length; i++) {\n _loop();\n }\n};","// src/removable.ts\nimport { isServer, isValidTimeout } from \"./utils.js\";\nvar Removable = class {\n #gcTimeout;\n destroy() {\n this.clearGcTimeout();\n }\n scheduleGc() {\n this.clearGcTimeout();\n if (isValidTimeout(this.gcTime)) {\n this.#gcTimeout = setTimeout(() => {\n this.optionalRemove();\n }, this.gcTime);\n }\n }\n updateGcTime(newGcTime) {\n this.gcTime = Math.max(\n this.gcTime || 0,\n newGcTime ?? (isServer ? Infinity : 5 * 60 * 1e3)\n );\n }\n clearGcTimeout() {\n if (this.#gcTimeout) {\n clearTimeout(this.#gcTimeout);\n this.#gcTimeout = void 0;\n }\n }\n};\nexport {\n Removable\n};\n//# sourceMappingURL=removable.js.map","// src/query.ts\nimport { noop, replaceData, timeUntilStale } from \"./utils.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { canFetch, createRetryer, isCancelledError } from \"./retryer.js\";\nimport { Removable } from \"./removable.js\";\nvar Query = class extends Removable {\n #initialState;\n #revertState;\n #cache;\n #promise;\n #retryer;\n #observers;\n #defaultOptions;\n #abortSignalConsumed;\n constructor(config) {\n super();\n this.#abortSignalConsumed = false;\n this.#defaultOptions = config.defaultOptions;\n this.#setOptions(config.options);\n this.#observers = [];\n this.#cache = config.cache;\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.#initialState = config.state || getDefaultState(this.options);\n this.state = this.#initialState;\n this.scheduleGc();\n }\n get meta() {\n return this.options.meta;\n }\n #setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n }\n optionalRemove() {\n if (!this.#observers.length && this.state.fetchStatus === \"idle\") {\n this.#cache.remove(this);\n }\n }\n setData(newData, options) {\n const data = replaceData(this.state.data, newData, this.options);\n this.#dispatch({\n data,\n type: \"success\",\n dataUpdatedAt: options?.updatedAt,\n manual: options?.manual\n });\n return data;\n }\n setState(state, setStateOptions) {\n this.#dispatch({ type: \"setState\", state, setStateOptions });\n }\n cancel(options) {\n const promise = this.#promise;\n this.#retryer?.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n }\n destroy() {\n super.destroy();\n this.cancel({ silent: true });\n }\n reset() {\n this.destroy();\n this.setState(this.#initialState);\n }\n isActive() {\n return this.#observers.some(\n (observer) => observer.options.enabled !== false\n );\n }\n isDisabled() {\n return this.getObserversCount() > 0 && !this.isActive();\n }\n isStale() {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || this.#observers.some((observer) => observer.getCurrentResult().isStale);\n }\n isStaleByTime(staleTime = 0) {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n }\n onFocus() {\n const observer = this.#observers.find((x) => x.shouldFetchOnWindowFocus());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n onOnline() {\n const observer = this.#observers.find((x) => x.shouldFetchOnReconnect());\n observer?.refetch({ cancelRefetch: false });\n this.#retryer?.continue();\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#cache.notify({ type: \"observerAdded\", query: this, observer });\n }\n }\n removeObserver(observer) {\n if (this.#observers.includes(observer)) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n if (!this.#observers.length) {\n if (this.#retryer) {\n if (this.#abortSignalConsumed) {\n this.#retryer.cancel({ revert: true });\n } else {\n this.#retryer.cancelRetry();\n }\n }\n this.scheduleGc();\n }\n this.#cache.notify({ type: \"observerRemoved\", query: this, observer });\n }\n }\n getObserversCount() {\n return this.#observers.length;\n }\n invalidate() {\n if (!this.state.isInvalidated) {\n this.#dispatch({ type: \"invalidate\" });\n }\n }\n fetch(options, fetchOptions) {\n if (this.state.fetchStatus !== \"idle\") {\n if (this.state.dataUpdatedAt && fetchOptions?.cancelRefetch) {\n this.cancel({ silent: true });\n } else if (this.#promise) {\n this.#retryer?.continueRetry();\n return this.#promise;\n }\n }\n if (options) {\n this.#setOptions(options);\n }\n if (!this.options.queryFn) {\n const observer = this.#observers.find((x) => x.options.queryFn);\n if (observer) {\n this.#setOptions(observer.options);\n }\n }\n if (process.env.NODE_ENV !== \"production\") {\n if (!Array.isArray(this.options.queryKey)) {\n console.error(\n `As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']`\n );\n }\n }\n const abortController = new AbortController();\n const queryFnContext = {\n queryKey: this.queryKey,\n meta: this.meta\n };\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n this.#abortSignalConsumed = true;\n return abortController.signal;\n }\n });\n };\n addSignalProperty(queryFnContext);\n const fetchFn = () => {\n if (!this.options.queryFn) {\n return Promise.reject(\n new Error(`Missing queryFn: '${this.options.queryHash}'`)\n );\n }\n this.#abortSignalConsumed = false;\n if (this.options.persister) {\n return this.options.persister(\n this.options.queryFn,\n queryFnContext,\n this\n );\n }\n return this.options.queryFn(\n queryFnContext\n );\n };\n const context = {\n fetchOptions,\n options: this.options,\n queryKey: this.queryKey,\n state: this.state,\n fetchFn\n };\n addSignalProperty(context);\n this.options.behavior?.onFetch(\n context,\n this\n );\n this.#revertState = this.state;\n if (this.state.fetchStatus === \"idle\" || this.state.fetchMeta !== context.fetchOptions?.meta) {\n this.#dispatch({ type: \"fetch\", meta: context.fetchOptions?.meta });\n }\n const onError = (error) => {\n if (!(isCancelledError(error) && error.silent)) {\n this.#dispatch({\n type: \"error\",\n error\n });\n }\n if (!isCancelledError(error)) {\n this.#cache.config.onError?.(\n error,\n this\n );\n this.#cache.config.onSettled?.(\n this.state.data,\n error,\n this\n );\n }\n if (!this.isFetchingOptimistic) {\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n };\n this.#retryer = createRetryer({\n fn: context.fetchFn,\n abort: abortController.abort.bind(abortController),\n onSuccess: (data) => {\n if (typeof data === \"undefined\") {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\n `Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`\n );\n }\n onError(new Error(`${this.queryHash} data is undefined`));\n return;\n }\n this.setData(data);\n this.#cache.config.onSuccess?.(data, this);\n this.#cache.config.onSettled?.(\n data,\n this.state.error,\n this\n );\n if (!this.isFetchingOptimistic) {\n this.scheduleGc();\n }\n this.isFetchingOptimistic = false;\n },\n onError,\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay,\n networkMode: context.options.networkMode\n });\n this.#promise = this.#retryer.promise;\n return this.#promise;\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n fetchFailureCount: action.failureCount,\n fetchFailureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n fetchStatus: \"paused\"\n };\n case \"continue\":\n return {\n ...state,\n fetchStatus: \"fetching\"\n };\n case \"fetch\":\n return {\n ...state,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: action.meta ?? null,\n fetchStatus: canFetch(this.options.networkMode) ? \"fetching\" : \"paused\",\n ...!state.dataUpdatedAt && {\n error: null,\n status: \"pending\"\n }\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: action.dataUpdatedAt ?? Date.now(),\n error: null,\n isInvalidated: false,\n status: \"success\",\n ...!action.manual && {\n fetchStatus: \"idle\",\n fetchFailureCount: 0,\n fetchFailureReason: null\n }\n };\n case \"error\":\n const error = action.error;\n if (isCancelledError(error) && error.revert && this.#revertState) {\n return { ...this.#revertState, fetchStatus: \"idle\" };\n }\n return {\n ...state,\n error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n fetchFailureReason: error,\n fetchStatus: \"idle\",\n status: \"error\"\n };\n case \"invalidate\":\n return {\n ...state,\n isInvalidated: true\n };\n case \"setState\":\n return {\n ...state,\n ...action.state\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onQueryUpdate();\n });\n this.#cache.notify({ query: this, type: \"updated\", action });\n });\n }\n};\nfunction getDefaultState(options) {\n const data = typeof options.initialData === \"function\" ? options.initialData() : options.initialData;\n const hasData = typeof data !== \"undefined\";\n const initialDataUpdatedAt = hasData ? typeof options.initialDataUpdatedAt === \"function\" ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n return {\n data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt ?? Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchFailureReason: null,\n fetchMeta: null,\n isInvalidated: false,\n status: hasData ? \"success\" : \"pending\",\n fetchStatus: \"idle\"\n };\n}\nexport {\n Query\n};\n//# sourceMappingURL=query.js.map","// src/queryCache.ts\nimport { hashQueryKeyByOptions, matchQuery } from \"./utils.js\";\nimport { Query } from \"./query.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar QueryCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#queries = /* @__PURE__ */ new Map();\n }\n #queries;\n build(client, options, state) {\n const queryKey = options.queryKey;\n const queryHash = options.queryHash ?? hashQueryKeyByOptions(queryKey, options);\n let query = this.get(queryHash);\n if (!query) {\n query = new Query({\n cache: this,\n queryKey,\n queryHash,\n options: client.defaultQueryOptions(options),\n state,\n defaultOptions: client.getQueryDefaults(queryKey)\n });\n this.add(query);\n }\n return query;\n }\n add(query) {\n if (!this.#queries.has(query.queryHash)) {\n this.#queries.set(query.queryHash, query);\n this.notify({\n type: \"added\",\n query\n });\n }\n }\n remove(query) {\n const queryInMap = this.#queries.get(query.queryHash);\n if (queryInMap) {\n query.destroy();\n if (queryInMap === query) {\n this.#queries.delete(query.queryHash);\n }\n this.notify({ type: \"removed\", query });\n }\n }\n clear() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n this.remove(query);\n });\n });\n }\n get(queryHash) {\n return this.#queries.get(queryHash);\n }\n getAll() {\n return [...this.#queries.values()];\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.getAll().find(\n (query) => matchQuery(defaultedFilters, query)\n );\n }\n findAll(filters = {}) {\n const queries = this.getAll();\n return Object.keys(filters).length > 0 ? queries.filter((query) => matchQuery(filters, query)) : queries;\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n onFocus() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onFocus();\n });\n });\n }\n onOnline() {\n notifyManager.batch(() => {\n this.getAll().forEach((query) => {\n query.onOnline();\n });\n });\n }\n};\nexport {\n QueryCache\n};\n//# sourceMappingURL=queryCache.js.map","// src/mutation.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Removable } from \"./removable.js\";\nimport { canFetch, createRetryer } from \"./retryer.js\";\nvar Mutation = class extends Removable {\n #observers;\n #defaultOptions;\n #mutationCache;\n #retryer;\n constructor(config) {\n super();\n this.mutationId = config.mutationId;\n this.#defaultOptions = config.defaultOptions;\n this.#mutationCache = config.mutationCache;\n this.#observers = [];\n this.state = config.state || getDefaultState();\n this.setOptions(config.options);\n this.scheduleGc();\n }\n setOptions(options) {\n this.options = { ...this.#defaultOptions, ...options };\n this.updateGcTime(this.options.gcTime);\n }\n get meta() {\n return this.options.meta;\n }\n addObserver(observer) {\n if (!this.#observers.includes(observer)) {\n this.#observers.push(observer);\n this.clearGcTimeout();\n this.#mutationCache.notify({\n type: \"observerAdded\",\n mutation: this,\n observer\n });\n }\n }\n removeObserver(observer) {\n this.#observers = this.#observers.filter((x) => x !== observer);\n this.scheduleGc();\n this.#mutationCache.notify({\n type: \"observerRemoved\",\n mutation: this,\n observer\n });\n }\n optionalRemove() {\n if (!this.#observers.length) {\n if (this.state.status === \"pending\") {\n this.scheduleGc();\n } else {\n this.#mutationCache.remove(this);\n }\n }\n }\n continue() {\n return this.#retryer?.continue() ?? // continuing a mutation assumes that variables are set, mutation must have been dehydrated before\n this.execute(this.state.variables);\n }\n async execute(variables) {\n const executeMutation = () => {\n this.#retryer = createRetryer({\n fn: () => {\n if (!this.options.mutationFn) {\n return Promise.reject(new Error(\"No mutationFn found\"));\n }\n return this.options.mutationFn(variables);\n },\n onFail: (failureCount, error) => {\n this.#dispatch({ type: \"failed\", failureCount, error });\n },\n onPause: () => {\n this.#dispatch({ type: \"pause\" });\n },\n onContinue: () => {\n this.#dispatch({ type: \"continue\" });\n },\n retry: this.options.retry ?? 0,\n retryDelay: this.options.retryDelay,\n networkMode: this.options.networkMode\n });\n return this.#retryer.promise;\n };\n const restored = this.state.status === \"pending\";\n try {\n if (!restored) {\n this.#dispatch({ type: \"pending\", variables });\n await this.#mutationCache.config.onMutate?.(\n variables,\n this\n );\n const context = await this.options.onMutate?.(variables);\n if (context !== this.state.context) {\n this.#dispatch({\n type: \"pending\",\n context,\n variables\n });\n }\n }\n const data = await executeMutation();\n await this.#mutationCache.config.onSuccess?.(\n data,\n variables,\n this.state.context,\n this\n );\n await this.options.onSuccess?.(data, variables, this.state.context);\n await this.#mutationCache.config.onSettled?.(\n data,\n null,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(data, null, variables, this.state.context);\n this.#dispatch({ type: \"success\", data });\n return data;\n } catch (error) {\n try {\n await this.#mutationCache.config.onError?.(\n error,\n variables,\n this.state.context,\n this\n );\n await this.options.onError?.(\n error,\n variables,\n this.state.context\n );\n await this.#mutationCache.config.onSettled?.(\n void 0,\n error,\n this.state.variables,\n this.state.context,\n this\n );\n await this.options.onSettled?.(\n void 0,\n error,\n variables,\n this.state.context\n );\n throw error;\n } finally {\n this.#dispatch({ type: \"error\", error });\n }\n }\n }\n #dispatch(action) {\n const reducer = (state) => {\n switch (action.type) {\n case \"failed\":\n return {\n ...state,\n failureCount: action.failureCount,\n failureReason: action.error\n };\n case \"pause\":\n return {\n ...state,\n isPaused: true\n };\n case \"continue\":\n return {\n ...state,\n isPaused: false\n };\n case \"pending\":\n return {\n ...state,\n context: action.context,\n data: void 0,\n failureCount: 0,\n failureReason: null,\n error: null,\n isPaused: !canFetch(this.options.networkMode),\n status: \"pending\",\n variables: action.variables,\n submittedAt: Date.now()\n };\n case \"success\":\n return {\n ...state,\n data: action.data,\n failureCount: 0,\n failureReason: null,\n error: null,\n status: \"success\",\n isPaused: false\n };\n case \"error\":\n return {\n ...state,\n data: void 0,\n error: action.error,\n failureCount: state.failureCount + 1,\n failureReason: action.error,\n isPaused: false,\n status: \"error\"\n };\n }\n };\n this.state = reducer(this.state);\n notifyManager.batch(() => {\n this.#observers.forEach((observer) => {\n observer.onMutationUpdate(action);\n });\n this.#mutationCache.notify({\n mutation: this,\n type: \"updated\",\n action\n });\n });\n }\n};\nfunction getDefaultState() {\n return {\n context: void 0,\n data: void 0,\n error: null,\n failureCount: 0,\n failureReason: null,\n isPaused: false,\n status: \"idle\",\n variables: void 0,\n submittedAt: 0\n };\n}\nexport {\n Mutation,\n getDefaultState\n};\n//# sourceMappingURL=mutation.js.map","// src/mutationCache.ts\nimport { notifyManager } from \"./notifyManager.js\";\nimport { Mutation } from \"./mutation.js\";\nimport { matchMutation, noop } from \"./utils.js\";\nimport { Subscribable } from \"./subscribable.js\";\nvar MutationCache = class extends Subscribable {\n constructor(config = {}) {\n super();\n this.config = config;\n this.#mutations = [];\n this.#mutationId = 0;\n }\n #mutations;\n #mutationId;\n #resuming;\n build(client, options, state) {\n const mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.#mutationId,\n options: client.defaultMutationOptions(options),\n state\n });\n this.add(mutation);\n return mutation;\n }\n add(mutation) {\n this.#mutations.push(mutation);\n this.notify({ type: \"added\", mutation });\n }\n remove(mutation) {\n this.#mutations = this.#mutations.filter((x) => x !== mutation);\n this.notify({ type: \"removed\", mutation });\n }\n clear() {\n notifyManager.batch(() => {\n this.#mutations.forEach((mutation) => {\n this.remove(mutation);\n });\n });\n }\n getAll() {\n return this.#mutations;\n }\n find(filters) {\n const defaultedFilters = { exact: true, ...filters };\n return this.#mutations.find(\n (mutation) => matchMutation(defaultedFilters, mutation)\n );\n }\n findAll(filters = {}) {\n return this.#mutations.filter(\n (mutation) => matchMutation(filters, mutation)\n );\n }\n notify(event) {\n notifyManager.batch(() => {\n this.listeners.forEach((listener) => {\n listener(event);\n });\n });\n }\n resumePausedMutations() {\n this.#resuming = (this.#resuming ?? Promise.resolve()).then(() => {\n const pausedMutations = this.#mutations.filter((x) => x.state.isPaused);\n return notifyManager.batch(\n () => pausedMutations.reduce(\n (promise, mutation) => promise.then(() => mutation.continue().catch(noop)),\n Promise.resolve()\n )\n );\n }).then(() => {\n this.#resuming = void 0;\n });\n return this.#resuming;\n }\n};\nexport {\n MutationCache\n};\n//# sourceMappingURL=mutationCache.js.map","import { QueryClient } from \"@tanstack/react-query\";\n\nexport const queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n retry: false,\n refetchOnWindowFocus: false,\n staleTime: Infinity,\n },\n },\n});\n","// src/queryClient.ts\nimport {\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n noop,\n partialMatchKey\n} from \"./utils.js\";\nimport { QueryCache } from \"./queryCache.js\";\nimport { MutationCache } from \"./mutationCache.js\";\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { notifyManager } from \"./notifyManager.js\";\nimport { infiniteQueryBehavior } from \"./infiniteQueryBehavior.js\";\nvar QueryClient = class {\n #queryCache;\n #mutationCache;\n #defaultOptions;\n #queryDefaults;\n #mutationDefaults;\n #mountCount;\n #unsubscribeFocus;\n #unsubscribeOnline;\n constructor(config = {}) {\n this.#queryCache = config.queryCache || new QueryCache();\n this.#mutationCache = config.mutationCache || new MutationCache();\n this.#defaultOptions = config.defaultOptions || {};\n this.#queryDefaults = /* @__PURE__ */ new Map();\n this.#mutationDefaults = /* @__PURE__ */ new Map();\n this.#mountCount = 0;\n }\n mount() {\n this.#mountCount++;\n if (this.#mountCount !== 1)\n return;\n this.#unsubscribeFocus = focusManager.subscribe(() => {\n if (focusManager.isFocused()) {\n this.resumePausedMutations();\n this.#queryCache.onFocus();\n }\n });\n this.#unsubscribeOnline = onlineManager.subscribe(() => {\n if (onlineManager.isOnline()) {\n this.resumePausedMutations();\n this.#queryCache.onOnline();\n }\n });\n }\n unmount() {\n this.#mountCount--;\n if (this.#mountCount !== 0)\n return;\n this.#unsubscribeFocus?.();\n this.#unsubscribeFocus = void 0;\n this.#unsubscribeOnline?.();\n this.#unsubscribeOnline = void 0;\n }\n isFetching(filters) {\n return this.#queryCache.findAll({ ...filters, fetchStatus: \"fetching\" }).length;\n }\n isMutating(filters) {\n return this.#mutationCache.findAll({ ...filters, status: \"pending\" }).length;\n }\n getQueryData(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state.data;\n }\n ensureQueryData(options) {\n const cachedData = this.getQueryData(options.queryKey);\n return cachedData !== void 0 ? Promise.resolve(cachedData) : this.fetchQuery(options);\n }\n getQueriesData(filters) {\n return this.getQueryCache().findAll(filters).map(({ queryKey, state }) => {\n const data = state.data;\n return [queryKey, data];\n });\n }\n setQueryData(queryKey, updater, options) {\n const defaultedOptions = this.defaultQueryOptions({ queryKey });\n const query = this.#queryCache.get(\n defaultedOptions.queryHash\n );\n const prevData = query?.state.data;\n const data = functionalUpdate(updater, prevData);\n if (typeof data === \"undefined\") {\n return void 0;\n }\n return this.#queryCache.build(this, defaultedOptions).setData(data, { ...options, manual: true });\n }\n setQueriesData(filters, updater, options) {\n return notifyManager.batch(\n () => this.getQueryCache().findAll(filters).map(({ queryKey }) => [\n queryKey,\n this.setQueryData(queryKey, updater, options)\n ])\n );\n }\n getQueryState(queryKey) {\n const options = this.defaultQueryOptions({ queryKey });\n return this.#queryCache.get(options.queryHash)?.state;\n }\n removeQueries(filters) {\n const queryCache = this.#queryCache;\n notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n queryCache.remove(query);\n });\n });\n }\n resetQueries(filters, options) {\n const queryCache = this.#queryCache;\n const refetchFilters = {\n type: \"active\",\n ...filters\n };\n return notifyManager.batch(() => {\n queryCache.findAll(filters).forEach((query) => {\n query.reset();\n });\n return this.refetchQueries(refetchFilters, options);\n });\n }\n cancelQueries(filters = {}, cancelOptions = {}) {\n const defaultedCancelOptions = { revert: true, ...cancelOptions };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).map((query) => query.cancel(defaultedCancelOptions))\n );\n return Promise.all(promises).then(noop).catch(noop);\n }\n invalidateQueries(filters = {}, options = {}) {\n return notifyManager.batch(() => {\n this.#queryCache.findAll(filters).forEach((query) => {\n query.invalidate();\n });\n if (filters.refetchType === \"none\") {\n return Promise.resolve();\n }\n const refetchFilters = {\n ...filters,\n type: filters.refetchType ?? filters.type ?? \"active\"\n };\n return this.refetchQueries(refetchFilters, options);\n });\n }\n refetchQueries(filters = {}, options) {\n const fetchOptions = {\n ...options,\n cancelRefetch: options?.cancelRefetch ?? true\n };\n const promises = notifyManager.batch(\n () => this.#queryCache.findAll(filters).filter((query) => !query.isDisabled()).map((query) => {\n let promise = query.fetch(void 0, fetchOptions);\n if (!fetchOptions.throwOnError) {\n promise = promise.catch(noop);\n }\n return query.state.fetchStatus === \"paused\" ? Promise.resolve() : promise;\n })\n );\n return Promise.all(promises).then(noop);\n }\n fetchQuery(options) {\n const defaultedOptions = this.defaultQueryOptions(options);\n if (typeof defaultedOptions.retry === \"undefined\") {\n defaultedOptions.retry = false;\n }\n const query = this.#queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n }\n prefetchQuery(options) {\n return this.fetchQuery(options).then(noop).catch(noop);\n }\n fetchInfiniteQuery(options) {\n options.behavior = infiniteQueryBehavior(options.pages);\n return this.fetchQuery(options);\n }\n prefetchInfiniteQuery(options) {\n return this.fetchInfiniteQuery(options).then(noop).catch(noop);\n }\n resumePausedMutations() {\n return this.#mutationCache.resumePausedMutations();\n }\n getQueryCache() {\n return this.#queryCache;\n }\n getMutationCache() {\n return this.#mutationCache;\n }\n getDefaultOptions() {\n return this.#defaultOptions;\n }\n setDefaultOptions(options) {\n this.#defaultOptions = options;\n }\n setQueryDefaults(queryKey, options) {\n this.#queryDefaults.set(hashKey(queryKey), {\n queryKey,\n defaultOptions: options\n });\n }\n getQueryDefaults(queryKey) {\n const defaults = [...this.#queryDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(queryKey, queryDefault.queryKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n setMutationDefaults(mutationKey, options) {\n this.#mutationDefaults.set(hashKey(mutationKey), {\n mutationKey,\n defaultOptions: options\n });\n }\n getMutationDefaults(mutationKey) {\n const defaults = [...this.#mutationDefaults.values()];\n let result = {};\n defaults.forEach((queryDefault) => {\n if (partialMatchKey(mutationKey, queryDefault.mutationKey)) {\n result = { ...result, ...queryDefault.defaultOptions };\n }\n });\n return result;\n }\n defaultQueryOptions(options) {\n if (options._defaulted) {\n return options;\n }\n const defaultedOptions = {\n ...this.#defaultOptions.queries,\n ...this.getQueryDefaults(options.queryKey),\n ...options,\n _defaulted: true\n };\n if (!defaultedOptions.queryHash) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(\n defaultedOptions.queryKey,\n defaultedOptions\n );\n }\n if (typeof defaultedOptions.refetchOnReconnect === \"undefined\") {\n defaultedOptions.refetchOnReconnect = defaultedOptions.networkMode !== \"always\";\n }\n if (typeof defaultedOptions.throwOnError === \"undefined\") {\n defaultedOptions.throwOnError = !!defaultedOptions.suspense;\n }\n if (typeof defaultedOptions.networkMode === \"undefined\" && defaultedOptions.persister) {\n defaultedOptions.networkMode = \"offlineFirst\";\n }\n return defaultedOptions;\n }\n defaultMutationOptions(options) {\n if (options?._defaulted) {\n return options;\n }\n return {\n ...this.#defaultOptions.mutations,\n ...options?.mutationKey && this.getMutationDefaults(options.mutationKey),\n ...options,\n _defaulted: true\n };\n }\n clear() {\n this.#queryCache.clear();\n this.#mutationCache.clear();\n }\n};\nexport {\n QueryClient\n};\n//# sourceMappingURL=queryClient.js.map","import { QueryClientProvider as TanStackQueryClientProvider } from \"@tanstack/react-query\";\n\nimport { queryClient } from \"../../shared/libs/react-query/query-client\";\n\nimport type { PropsWithChildren } from \"react\";\n\nfunction QueryClientProvider(props: PropsWithChildren) {\n const { children } = props;\n return (\n <TanStackQueryClientProvider client={queryClient}>\n {children}\n </TanStackQueryClientProvider>\n );\n}\n\nexport { QueryClientProvider };\n","import React from \"react\";\nimport { QueryClientProvider } from \"./src/app/providers/query-client-provider\";\n\nimport \"./static/css/prism-one-dark.css\";\nimport \"./src/app/styles/var.css\";\nimport \"./src/app/styles/global.css\";\n\nexport function wrapRootElement({ element }) {\n return <QueryClientProvider>{element}</QueryClientProvider>;\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","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has<Type> &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","/**\n * @license React\n * react-server-dom-webpack.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var k=require(\"react\"),l={stream:!0},n=new Map,p=Symbol.for(\"react.element\"),q=Symbol.for(\"react.lazy\"),r=Symbol.for(\"react.default_value\"),t=k.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ContextRegistry;function u(a){t[a]||(t[a]=k.createServerContext(a,r));return t[a]}function v(a,b,c){this._status=a;this._value=b;this._response=c}v.prototype.then=function(a){0===this._status?(null===this._value&&(this._value=[]),this._value.push(a)):a()};\nfunction w(a){switch(a._status){case 3:return a._value;case 1:var b=JSON.parse(a._value,a._response._fromJSON);a._status=3;return a._value=b;case 2:b=a._value;for(var c=b.chunks,d=0;d<c.length;d++){var e=n.get(c[d]);if(null!==e)throw e;}c=__webpack_require__(b.id);b=\"*\"===b.name?c:\"\"===b.name?c.__esModule?c.default:c:c[b.name];a._status=3;return a._value=b;case 0:throw a;default:throw a._value;}}function x(){var a=y(this,0);return w(a)}function z(a,b){return new v(3,b,a)}\nfunction A(a){if(null!==a)for(var b=0;b<a.length;b++)(0,a[b])()}function C(a,b){if(0===a._status){var c=a._value;a._status=4;a._value=b;A(c)}}function D(a,b){a._chunks.forEach(function(a){C(a,b)})}function y(a,b){var c=a._chunks,d=c.get(b);d||(d=new v(0,null,a),c.set(b,d));return d}\nfunction E(a,b,c){switch(c[0]){case \"$\":if(\"$\"===c)return p;if(\"$\"===c[1]||\"@\"===c[1])return c.substring(1);b=parseInt(c.substring(1),16);a=y(a,b);return w(a);case \"@\":return b=parseInt(c.substring(1),16),a=y(a,b),{$$typeof:q,_payload:a,_init:w}}return c}function F(a){D(a,Error(\"Connection closed.\"))}\nfunction G(a,b){if(\"\"!==b){var c=b[0],d=b.indexOf(\":\",1),e=parseInt(b.substring(1,d),16);d=b.substring(d+1);switch(c){case \"J\":b=a._chunks;(c=b.get(e))?0===c._status&&(a=c._value,c._status=1,c._value=d,A(a)):b.set(e,new v(1,d,a));break;case \"M\":b=a._chunks;c=b.get(e);d=JSON.parse(d,a._fromJSON);var f=a._bundlerConfig;d=f?f[d.id][d.name]:d;f=d.chunks;for(var h=0;h<f.length;h++){var g=f[h];if(void 0===n.get(g)){var B=__webpack_chunk_load__(g),m=n.set.bind(n,g,null),J=n.set.bind(n,g);B.then(m,J);n.set(g,\nB)}}c?0===c._status&&(a=c._value,c._status=2,c._value=d,A(a)):b.set(e,new v(2,d,a));break;case \"P\":a._chunks.set(e,z(a,u(d).Provider));break;case \"S\":c=JSON.parse(d);a._chunks.set(e,z(a,Symbol.for(c)));break;case \"E\":b=JSON.parse(d);c=Error(b.message);c.stack=b.stack;b=a._chunks;(d=b.get(e))?C(d,c):b.set(e,new v(4,c,a));break;default:throw Error(\"Error parsing the data. It's probably an error code or network corruption.\");}}}\nfunction H(a){return function(b,c){return\"string\"===typeof c?E(a,this,c):\"object\"===typeof c&&null!==c?(b=c[0]===p?{$$typeof:p,type:c[1],key:c[2],ref:null,props:c[3],_owner:null}:c,b):c}}function I(a){var b=new TextDecoder,c=new Map;a={_bundlerConfig:a,_chunks:c,readRoot:x,_partialRow:\"\",_stringDecoder:b};a._fromJSON=H(a);return a}\nfunction K(a,b){function c(b){var h=b.value;if(b.done)F(a);else{b=h;h=a._stringDecoder;for(var g=b.indexOf(10);-1<g;){var f=a._partialRow;var m=b.subarray(0,g);m=h.decode(m);G(a,f+m);a._partialRow=\"\";b=b.subarray(g+1);g=b.indexOf(10)}a._partialRow+=h.decode(b,l);return e.read().then(c,d)}}function d(b){D(a,b)}var e=b.getReader();e.read().then(c,d)}exports.createFromFetch=function(a,b){var c=I(b&&b.moduleMap?b.moduleMap:null);a.then(function(a){K(c,a.body)},function(a){D(c,a)});return c};\nexports.createFromReadableStream=function(a,b){b=I(b&&b.moduleMap?b.moduleMap:null);K(b,a);return b};\nexports.createFromXHR=function(a,b){function c(){for(var b=a.responseText,c=f,d=b.indexOf(\"\\n\",c);-1<d;)c=e._partialRow+b.substring(c,d),G(e,c),e._partialRow=\"\",c=d+1,d=b.indexOf(\"\\n\",c);e._partialRow+=b.substring(c);f=b.length}function d(){D(e,new TypeError(\"Network error\"))}var e=I(b&&b.moduleMap?b.moduleMap:null),f=0;a.addEventListener(\"progress\",c);a.addEventListener(\"load\",function(){c();F(e)});a.addEventListener(\"error\",d);a.addEventListener(\"abort\",d);a.addEventListener(\"timeout\",d);return e};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-server-dom-webpack.production.min.js');\n} else {\n module.exports = require('./cjs/react-server-dom-webpack.development.js');\n}\n","'use strict';\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect =\n /*#__PURE__*/\n function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;\n","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;","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 _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;","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nconst PartytownSnippet = \"/* Partytown 0.7.6 - MIT builder.io */\\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\\\"/\\\"==(a=(o.lib||\\\"/~partytown/\\\")+(o.debug?\\\"debug/\\\":\\\"\\\"))[0]&&(s=e.querySelectorAll('script[type=\\\"text/partytown\\\"]'),i!=t?i.dispatchEvent(new CustomEvent(\\\"pt1\\\",{detail:t})):(d=setTimeout(f,1e4),e.addEventListener(\\\"pt0\\\",w),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\\\"partytown-sw.js\\\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\\\"statechange\\\",(function(t){\\\"activated\\\"==t.target.state&&h()}))}),console.error):f())))}function h(t){c=e.createElement(t?\\\"script\\\":\\\"iframe\\\"),t||(c.setAttribute(\\\"style\\\",\\\"display:block;width:0;height:0;border:0;visibility:hidden\\\"),c.setAttribute(\\\"aria-hidden\\\",!0)),c.src=a+\\\"partytown-\\\"+(t?\\\"atomics.js?v=0.7.6\\\":\\\"sandbox-sw.html?\\\"+Date.now()),e.body.appendChild(c)}function f(n,r){for(w(),i==t&&(o.forward||[]).map((function(e){delete t[e.split(\\\".\\\")[0]]})),n=0;n<s.length;n++)(r=e.createElement(\\\"script\\\")).innerHTML=s[n].innerHTML,e.head.appendChild(r);c&&c.parentNode.removeChild(c)}function w(){clearTimeout(d)}o=t.partytown||{},i==t&&(o.forward||[]).map((function(e){p=t,e.split(\\\".\\\").map((function(e,n,i){p=p[i[n]]=n+1<i.length?\\\"push\\\"==i[n+1]?[]:p[i[n]]||{}:function(){(t._ptf=t._ptf||[]).push(i,arguments)}}))})),\\\"complete\\\"==e.readyState?u():(t.addEventListener(\\\"DOMContentLoaded\\\",u),t.addEventListener(\\\"load\\\",u))}(window,document,navigator,top,window.crossOriginIsolated);\";\n\nconst createSnippet = (config, snippetCode) => {\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 `<script>` from executing on the main thread.\n * 2. Is used as a selector so the Partytown library can find all scripts to execute in a web worker.\n *\n * @public\n */\nconst SCRIPT_TYPE = `text/partytown`;\n\n/**\n * Function that returns the Partytown snippet as a string, which can be\n * used as the innerHTML of the inlined Partytown script in the head.\n *\n * @public\n */\nconst partytownSnippet = (config) => createSnippet(config, PartytownSnippet);\n\nexports.SCRIPT_TYPE = SCRIPT_TYPE;\nexports.partytownSnippet = partytownSnippet;\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > 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}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _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}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import*as e from\"react\";import t from\"react\";import r from\"prop-types\";import n from\"invariant\";function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}function a(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)t.indexOf(r=a[n])>=0||(o[r]=e[r]);return o}const s=e=>{const{search:t,hash:r,href:n,origin:o,protocol:a,host:s,hostname:i,port:c}=e.location;let{pathname:l}=e.location;return!l&&n&&u&&(l=new URL(n).pathname),{pathname:encodeURI(decodeURI(l)),search:t,hash:r,href:n,origin:o,protocol:a,host:s,hostname:i,port:c,state:e.history.state,key:e.history.state&&e.history.state.key||\"initial\"}},i=(e,t)=>{let r=[],n=s(e),a=!1,i=()=>{};return{get location(){return n},get transitioning(){return a},_onTransitionComplete(){a=!1,i()},listen(t){r.push(t);const o=()=>{n=s(e),t({location:n,action:\"POP\"})};return e.addEventListener(\"popstate\",o),()=>{e.removeEventListener(\"popstate\",o),r=r.filter(e=>e!==t)}},navigate(t,{state:c,replace:u=!1}={}){if(\"number\"==typeof t)e.history.go(t);else{c=o({},c,{key:Date.now()+\"\"});try{a||u?e.history.replaceState(c,null,t):e.history.pushState(c,null,t)}catch(r){e.location[u?\"replace\":\"assign\"](t)}}n=s(e),a=!0;const l=new Promise(e=>i=e);return r.forEach(e=>e({location:n,action:\"PUSH\"})),l}}},c=(e=\"/\")=>{const t=e.indexOf(\"?\"),r={pathname:t>-1?e.substr(0,t):e,search:t>-1?e.substr(t):\"\"};let n=0;const o=[r],a=[null];return{get location(){return o[n]},addEventListener(e,t){},removeEventListener(e,t){},history:{get entries(){return o},get index(){return n},get state(){return a[n]},pushState(e,t,r){const[s,i=\"\"]=r.split(\"?\");n++,o.push({pathname:s,search:i.length?`?${i}`:i}),a.push(e)},replaceState(e,t,r){const[s,i=\"\"]=r.split(\"?\");o[n]={pathname:s,search:i},a[n]=e},go(e){const t=n+e;t<0||t>a.length-1||(n=t)}}}},u=!(\"undefined\"==typeof window||!window.document||!window.document.createElement),l=i(u?window:c()),{navigate:p}=l;function h(e,r){return t.createServerContext?((e,r=null)=>(globalThis.__SERVER_CONTEXT||(globalThis.__SERVER_CONTEXT={}),globalThis.__SERVER_CONTEXT[e]||(globalThis.__SERVER_CONTEXT[e]=t.createServerContext(e,r)),globalThis.__SERVER_CONTEXT[e]))(e,r):t.createContext(r)}const m=h(\"Base\",{baseuri:\"/\",basepath:\"/\"}),d=h(\"Location\"),f=()=>e.useContext(m),y=()=>e.useContext(d);function E(e){this.uri=e}const g=e=>e instanceof E,v=e=>{throw new E(e)};function b(t){const{to:r,replace:n=!0,state:o,noThrow:a,baseuri:s}=t;e.useEffect(()=>{Promise.resolve().then(()=>{const e=k(r,s);p(P(e,t),{replace:n,state:o})})},[]);const i=k(r,s);return a||v(P(i,t)),null}const R=t=>{const r=y(),{baseuri:n}=f();/*#__PURE__*/return e.createElement(b,o({},r,{baseuri:n},t))};R.propTypes={from:r.string,to:r.string.isRequired};const C=(e,t)=>e.substr(0,t.length)===t,w=(e,t)=>{let r,o;const[a]=t.split(\"?\"),s=N(a),i=\"\"===s[0],c=j(e);for(let e=0,a=c.length;e<a;e++){let a=!1;const u=c[e].route;if(u.default){o={route:u,params:{},uri:t};continue}const l=N(u.path),p={},h=Math.max(s.length,l.length);let m=0;for(;m<h;m++){const e=l[m],t=s[m];if($(e)){p[e.slice(1)||\"*\"]=s.slice(m).map(decodeURIComponent).join(\"/\");break}if(void 0===t){a=!0;break}const r=O.exec(e);if(r&&!i){const e=-1===U.indexOf(r[1]);n(e,`<Router> dynamic segment \"${r[1]}\" is a reserved name. Please use a different name in path \"${u.path}\".`);const o=decodeURIComponent(t);p[r[1]]=o}else if(e!==t){a=!0;break}}if(!a){r={route:u,params:p,uri:\"/\"+s.slice(0,m).join(\"/\")};break}}return r||o||null},x=(e,t)=>w([{path:e}],t),k=(e,t)=>{if(C(e,\"/\"))return e;const[r,n]=e.split(\"?\"),[o]=t.split(\"?\"),a=N(r),s=N(o);if(\"\"===a[0])return L(o,n);if(!C(a[0],\".\")){const e=s.concat(a).join(\"/\");return L((\"/\"===o?\"\":\"/\")+e,n)}const i=s.concat(a),c=[];for(let e=0,t=i.length;e<t;e++){const t=i[e];\"..\"===t?c.pop():\".\"!==t&&c.push(t)}return L(\"/\"+c.join(\"/\"),n)},P=(e,t)=>{const[r,n=\"\"]=e.split(\"?\");let o=\"/\"+N(r).map(e=>{const r=O.exec(e);return r?t[r[1]]:e}).join(\"/\");const{location:{search:a=\"\"}={}}=t,s=a.split(\"?\")[1]||\"\";return o=L(o,n,s),o},T=(e,t)=>{const r=e=>_(e);return N(e).filter(r).sort().join(\"/\")===N(t).filter(r).sort().join(\"/\")},O=/^:(.+)/,_=e=>O.test(e),$=e=>e&&\"*\"===e[0],S=(e,t)=>({route:e,score:e.default?0:N(e.path).reduce((e,t)=>(e+=4,(e=>\"\"===e)(t)?e+=1:_(t)?e+=2:$(t)?e-=5:e+=3,e),0),index:t}),j=e=>e.map(S).sort((e,t)=>e.score<t.score?1:e.score>t.score?-1:e.index-t.index),N=e=>e.replace(/(^\\/+|\\/+$)/g,\"\").split(\"/\"),L=(e,...t)=>e+((t=t.filter(e=>e&&e.length>0))&&t.length>0?`?${t.join(\"&\")}`:\"\"),U=[\"uri\",\"path\"],D=(e,t)=>{const r=Object.keys(e);return r.length===Object.keys(t).length&&r.every(r=>t.hasOwnProperty(r)&&e[r]===t[r])},M=e=>e.replace(/(^\\/+|\\/+$)/g,\"\"),I=t=>r=>{if(!r)return null;if(r.type===e.Fragment&&r.props.children)return e.Children.map(r.props.children,I(t));if(n(r.props.path||r.props.default||r.type===R,`<Router>: Children of <Router> must have a \\`path\\` or \\`default\\` prop, or be a \\`<Redirect>\\`. None found on element type \\`${r.type}\\``),n(!!(r.type!==R||r.props.from&&r.props.to),`<Redirect from=\"${r.props.from}\" to=\"${r.props.to}\"/> requires both \"from\" and \"to\" props when inside a <Router>.`),n(!(r.type===R&&!T(r.props.from,r.props.to)),`<Redirect from=\"${r.props.from} to=\"${r.props.to}\"/> has mismatched dynamic segments, ensure both paths have the exact same dynamic segments.`),r.props.default)return{value:r,default:!0};const o=r.type===R?r.props.from:r.props.path,a=\"/\"===o?t:`${M(t)}/${M(o)}`;return{value:r,default:r.props.default,path:r.props.children?`${M(a)}/*`:a}},V=[\"innerRef\"],q=[\"to\",\"state\",\"replace\",\"getProps\"],X=[\"key\"];let{forwardRef:B}=e;void 0===B&&(B=e=>e);const K=()=>{},A=B((t,r)=>{let{innerRef:n}=t,s=a(t,V);const{baseuri:i}=f(),{location:c}=y(),{to:u,state:l,replace:h,getProps:m=K}=s,d=a(s,q),E=k(u,i),g=encodeURI(E),v=c.pathname===g,b=C(c.pathname,g);/*#__PURE__*/return e.createElement(\"a\",o({ref:r||n,\"aria-current\":v?\"page\":void 0},d,m({isCurrent:v,isPartiallyCurrent:b,href:E,location:c}),{href:E,onClick:e=>{if(d.onClick&&d.onClick(e),(e=>!e.defaultPrevented&&0===e.button&&!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey))(e)){e.preventDefault();let t=h;if(\"boolean\"!=typeof h&&v){const e=a(o({},c.state),X);t=D(o({},l),e)}p(E,{state:l,replace:t})}}}))});A.displayName=\"Link\",A.propTypes={to:r.string.isRequired};class F extends e.Component{constructor(...e){super(...e),this.displayName=\"ReactUseErrorBoundary\"}componentDidCatch(...e){this.setState({}),this.props.onError(...e)}render(){return this.props.children}}const W=e.createContext({componentDidCatch:{current:void 0},error:void 0,setError:()=>!1});function H({children:t}){const[r,n]=e.useState(),o=e.useRef(),a=e.useMemo(()=>({componentDidCatch:o,error:r,setError:n}),[r]);/*#__PURE__*/return e.createElement(W.Provider,{value:a},/*#__PURE__*/e.createElement(F,{error:r,onError:(e,t)=>{n(e),null==o.current||o.current(e,t)}},t))}H.displayName=\"ReactUseErrorBoundaryContext\";const z=function(t){var r,n;function a(r){/*#__PURE__*/return e.createElement(H,null,/*#__PURE__*/e.createElement(t,o({key:\"WrappedComponent\"},r)))}return a.displayName=`WithErrorBoundary(${null!=(r=null!=(n=t.displayName)?n:t.name)?r:\"Component\"})`,a}(({history:t=l,children:r})=>{const{location:n}=t,[o,a]=e.useState({location:n}),[s]=function(t){const r=e.useContext(W);r.componentDidCatch.current=void 0;const n=e.useCallback(()=>{r.setError(void 0)},[]);return[r.error,n]}();if(e.useEffect(()=>{t._onTransitionComplete()},[o.location]),e.useEffect(()=>{let e=!1;const r=t.listen(({location:t})=>{Promise.resolve().then(()=>{requestAnimationFrame(()=>{e||a({location:t})})})});return()=>{e=!0,r()}},[]),s){if(!g(s))throw s;p(s.uri,{replace:!0})}/*#__PURE__*/return e.createElement(d.Provider,{value:o},\"function\"==typeof r?r(o):r||null)}),G=({children:t})=>{const r=y();return r?t(r):/*#__PURE__*/e.createElement(z,null,t)},J=({url:t,children:r})=>{const n=t.indexOf(\"?\");let o,a=\"\";return n>-1?(o=t.substring(0,n),a=t.substring(n)):o=t,/*#__PURE__*/e.createElement(d.Provider,{value:{location:{pathname:o,search:a,hash:\"\"}}},r)},Q=({path:e,children:t})=>{const{baseuri:r}=f(),{location:n}=y(),a=k(e,r),s=x(a,n.pathname);return t({location:n,match:s?o({},s.params,{uri:s.uri,path:e}):null})},Y=[\"uri\",\"location\",\"component\"],Z=[\"children\",\"style\",\"component\",\"uri\",\"location\"],ee=t=>{let{uri:r,location:n,component:s}=t,i=a(t,Y);/*#__PURE__*/return e.createElement(re,o({},i,{component:s,uri:r,location:n}))};let te=0;const re=t=>{let{children:r,style:n,component:s=\"div\",uri:i,location:c}=t,u=a(t,Z);const l=e.useRef(),p=e.useRef(!0),h=e.useRef(i),m=e.useRef(c.pathname),d=e.useRef(!1);e.useEffect(()=>(te++,f(),()=>{te--,0===te&&(p.current=!0)}),[]),e.useEffect(()=>{let e=!1,t=!1;i!==h.current&&(h.current=i,e=!0),c.pathname!==m.current&&(m.current=c.pathname,t=!0),d.current=e||t&&c.pathname===i,d.current&&f()},[i,c]);const f=e.useCallback(()=>{var e;\"test\"!==process.env.NODE_ENV&&(p.current?p.current=!1:(e=l.current,d.current&&e&&e.focus()))},[]);/*#__PURE__*/return e.createElement(s,o({style:o({outline:\"none\"},n),tabIndex:\"-1\",ref:l},u),r)},ne=[\"location\",\"primary\",\"children\",\"basepath\",\"baseuri\",\"component\"],oe=t=>{const r=f(),n=y();/*#__PURE__*/return e.createElement(ae,o({},r,n,t))};function ae(t){const{location:r,primary:n=!0,children:s,basepath:i,component:c=\"div\"}=t,u=a(t,ne),l=e.Children.toArray(s).reduce((e,t)=>{const r=I(i)(t);return e.concat(r)},[]),{pathname:p}=r,h=w(l,p);if(h){const{params:t,uri:a,route:s,route:{value:l}}=h,p=s.default?i:s.path.replace(/\\*$/,\"\"),d=o({},t,{uri:a,location:r}),f=e.cloneElement(l,d,l.props.children?/*#__PURE__*/e.createElement(oe,{location:r,primary:n},l.props.children):void 0),y=n?ee:c,E=n?o({uri:a,location:r,component:c},u):u;/*#__PURE__*/return e.createElement(m.Provider,{value:{baseuri:a,basepath:p}},/*#__PURE__*/e.createElement(y,E,f))}return null}const se=()=>{const e=y();if(!e)throw new Error(\"useLocation hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");return e.location},ie=()=>{throw new Error(\"useNavigate is removed. Use import { navigate } from 'gatsby' instead\")},ce=()=>{const e=f();if(!e)throw new Error(\"useParams hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");const t=se(),r=x(e.basepath,t.pathname);return r?r.params:null},ue=e=>{if(!e)throw new Error(\"useMatch(path: string) requires an argument of a string to match against\");const t=f();if(!t)throw new Error(\"useMatch hook was used but a LocationContext.Provider was not found in the parent tree. Make sure this is used in a component that is a child of Router\");const r=se(),n=k(e,t.baseuri),a=x(n,r.pathname);return a?o({},a.params,{uri:a.uri,path:e}):null};export{m as BaseContext,A as Link,G as Location,d as LocationContext,z as LocationProvider,Q as Match,R as Redirect,oe as Router,J as ServerLocation,i as createHistory,c as createMemorySource,l as globalHistory,P as insertParams,g as isRedirect,x as match,p as navigate,w as pick,v as redirectTo,k as resolve,D as shallowCompare,C as startsWith,f as useBaseContext,se as useLocation,y as useLocationContext,ue as useMatch,ie as useNavigate,ce as useParams,T as validateRedirect};\n//# sourceMappingURL=index.modern.mjs.map\n","// src/focusManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar FocusManager = class extends Subscribable {\n #focused;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onFocus) => {\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus();\n window.addEventListener(\"visibilitychange\", listener, false);\n return () => {\n window.removeEventListener(\"visibilitychange\", listener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup((focused) => {\n if (typeof focused === \"boolean\") {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n setFocused(focused) {\n const changed = this.#focused !== focused;\n if (changed) {\n this.#focused = focused;\n this.onFocus();\n }\n }\n onFocus() {\n this.listeners.forEach((listener) => {\n listener();\n });\n }\n isFocused() {\n if (typeof this.#focused === \"boolean\") {\n return this.#focused;\n }\n return globalThis.document?.visibilityState !== \"hidden\";\n }\n};\nvar focusManager = new FocusManager();\nexport {\n FocusManager,\n focusManager\n};\n//# sourceMappingURL=focusManager.js.map","// src/infiniteQueryBehavior.ts\nimport { addToEnd, addToStart } from \"./utils.js\";\nfunction infiniteQueryBehavior(pages) {\n return {\n onFetch: (context, query) => {\n const fetchFn = async () => {\n const options = context.options;\n const direction = context.fetchOptions?.meta?.fetchMore?.direction;\n const oldPages = context.state.data?.pages || [];\n const oldPageParams = context.state.data?.pageParams || [];\n const empty = { pages: [], pageParams: [] };\n let cancelled = false;\n const addSignalProperty = (object) => {\n Object.defineProperty(object, \"signal\", {\n enumerable: true,\n get: () => {\n if (context.signal.aborted) {\n cancelled = true;\n } else {\n context.signal.addEventListener(\"abort\", () => {\n cancelled = true;\n });\n }\n return context.signal;\n }\n });\n };\n const queryFn = context.options.queryFn || (() => Promise.reject(\n new Error(`Missing queryFn: '${context.options.queryHash}'`)\n ));\n const fetchPage = async (data, param, previous) => {\n if (cancelled) {\n return Promise.reject();\n }\n if (param == null && data.pages.length) {\n return Promise.resolve(data);\n }\n const queryFnContext = {\n queryKey: context.queryKey,\n pageParam: param,\n direction: previous ? \"backward\" : \"forward\",\n meta: context.options.meta\n };\n addSignalProperty(queryFnContext);\n const page = await queryFn(\n queryFnContext\n );\n const { maxPages } = context.options;\n const addTo = previous ? addToStart : addToEnd;\n return {\n pages: addTo(data.pages, page, maxPages),\n pageParams: addTo(data.pageParams, param, maxPages)\n };\n };\n let result;\n if (direction && oldPages.length) {\n const previous = direction === \"backward\";\n const pageParamFn = previous ? getPreviousPageParam : getNextPageParam;\n const oldData = {\n pages: oldPages,\n pageParams: oldPageParams\n };\n const param = pageParamFn(options, oldData);\n result = await fetchPage(oldData, param, previous);\n } else {\n result = await fetchPage(\n empty,\n oldPageParams[0] ?? options.initialPageParam\n );\n const remainingPages = pages ?? oldPages.length;\n for (let i = 1; i < remainingPages; i++) {\n const param = getNextPageParam(options, result);\n result = await fetchPage(result, param);\n }\n }\n return result;\n };\n if (context.options.persister) {\n context.fetchFn = () => {\n return context.options.persister?.(\n fetchFn,\n {\n queryKey: context.queryKey,\n meta: context.options.meta,\n signal: context.signal\n },\n query\n );\n };\n } else {\n context.fetchFn = fetchFn;\n }\n }\n };\n}\nfunction getNextPageParam(options, { pages, pageParams }) {\n const lastIndex = pages.length - 1;\n return options.getNextPageParam(\n pages[lastIndex],\n pages,\n pageParams[lastIndex],\n pageParams\n );\n}\nfunction getPreviousPageParam(options, { pages, pageParams }) {\n return options.getPreviousPageParam?.(\n pages[0],\n pages,\n pageParams[0],\n pageParams\n );\n}\nfunction hasNextPage(options, data) {\n if (!data)\n return false;\n return getNextPageParam(options, data) != null;\n}\nfunction hasPreviousPage(options, data) {\n if (!data || !options.getPreviousPageParam)\n return false;\n return getPreviousPageParam(options, data) != null;\n}\nexport {\n hasNextPage,\n hasPreviousPage,\n infiniteQueryBehavior\n};\n//# sourceMappingURL=infiniteQueryBehavior.js.map","// src/notifyManager.ts\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n let notifyFn = (callback) => {\n callback();\n };\n let batchNotifyFn = (callback) => {\n callback();\n };\n let scheduleFn = (cb) => setTimeout(cb, 0);\n const setScheduler = (fn) => {\n scheduleFn = fn;\n };\n const batch = (callback) => {\n let result;\n transactions++;\n try {\n result = callback();\n } finally {\n transactions--;\n if (!transactions) {\n flush();\n }\n }\n return result;\n };\n const schedule = (callback) => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleFn(() => {\n notifyFn(callback);\n });\n }\n };\n const batchCalls = (callback) => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n };\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n if (originalQueue.length) {\n scheduleFn(() => {\n batchNotifyFn(() => {\n originalQueue.forEach((callback) => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n const setNotifyFunction = (fn) => {\n notifyFn = fn;\n };\n const setBatchNotifyFunction = (fn) => {\n batchNotifyFn = fn;\n };\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction,\n setScheduler\n };\n}\nvar notifyManager = createNotifyManager();\nexport {\n createNotifyManager,\n notifyManager\n};\n//# sourceMappingURL=notifyManager.js.map","// src/onlineManager.ts\nimport { Subscribable } from \"./subscribable.js\";\nimport { isServer } from \"./utils.js\";\nvar OnlineManager = class extends Subscribable {\n #online = true;\n #cleanup;\n #setup;\n constructor() {\n super();\n this.#setup = (onOnline) => {\n if (!isServer && window.addEventListener) {\n const onlineListener = () => onOnline(true);\n const offlineListener = () => onOnline(false);\n window.addEventListener(\"online\", onlineListener, false);\n window.addEventListener(\"offline\", offlineListener, false);\n return () => {\n window.removeEventListener(\"online\", onlineListener);\n window.removeEventListener(\"offline\", offlineListener);\n };\n }\n return;\n };\n }\n onSubscribe() {\n if (!this.#cleanup) {\n this.setEventListener(this.#setup);\n }\n }\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.#cleanup?.();\n this.#cleanup = void 0;\n }\n }\n setEventListener(setup) {\n this.#setup = setup;\n this.#cleanup?.();\n this.#cleanup = setup(this.setOnline.bind(this));\n }\n setOnline(online) {\n const changed = this.#online !== online;\n if (changed) {\n this.#online = online;\n this.listeners.forEach((listener) => {\n listener(online);\n });\n }\n }\n isOnline() {\n return this.#online;\n }\n};\nvar onlineManager = new OnlineManager();\nexport {\n OnlineManager,\n onlineManager\n};\n//# sourceMappingURL=onlineManager.js.map","// src/retryer.ts\nimport { focusManager } from \"./focusManager.js\";\nimport { onlineManager } from \"./onlineManager.js\";\nimport { isServer, sleep } from \"./utils.js\";\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1e3 * 2 ** failureCount, 3e4);\n}\nfunction canFetch(networkMode) {\n return (networkMode ?? \"online\") === \"online\" ? onlineManager.isOnline() : true;\n}\nvar CancelledError = class {\n constructor(options) {\n this.revert = options?.revert;\n this.silent = options?.silent;\n }\n};\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let isResolved = false;\n let continueFn;\n let promiseResolve;\n let promiseReject;\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\n const cancel = (cancelOptions) => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions));\n config.abort?.();\n }\n };\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n const shouldPause = () => !focusManager.isFocused() || config.networkMode !== \"always\" && !onlineManager.isOnline();\n const resolve = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onSuccess?.(value);\n continueFn?.();\n promiseResolve(value);\n }\n };\n const reject = (value) => {\n if (!isResolved) {\n isResolved = true;\n config.onError?.(value);\n continueFn?.();\n promiseReject(value);\n }\n };\n const pause = () => {\n return new Promise((continueResolve) => {\n continueFn = (value) => {\n const canContinue = isResolved || !shouldPause();\n if (canContinue) {\n continueResolve(value);\n }\n return canContinue;\n };\n config.onPause?.();\n }).then(() => {\n continueFn = void 0;\n if (!isResolved) {\n config.onContinue?.();\n }\n });\n };\n const run = () => {\n if (isResolved) {\n return;\n }\n let promiseOrValue;\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n Promise.resolve(promiseOrValue).then(resolve).catch((error) => {\n if (isResolved) {\n return;\n }\n const retry = config.retry ?? (isServer ? 0 : 3);\n const retryDelay = config.retryDelay ?? defaultRetryDelay;\n const delay = typeof retryDelay === \"function\" ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === \"number\" && failureCount < retry || typeof retry === \"function\" && retry(failureCount, error);\n if (isRetryCancelled || !shouldRetry) {\n reject(error);\n return;\n }\n failureCount++;\n config.onFail?.(failureCount, error);\n sleep(delay).then(() => {\n if (shouldPause()) {\n return pause();\n }\n return;\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n };\n if (canFetch(config.networkMode)) {\n run();\n } else {\n pause().then(run);\n }\n return {\n promise,\n cancel,\n continue: () => {\n const didContinue = continueFn?.();\n return didContinue ? promise : Promise.resolve();\n },\n cancelRetry,\n continueRetry\n };\n}\nexport {\n CancelledError,\n canFetch,\n createRetryer,\n isCancelledError\n};\n//# sourceMappingURL=retryer.js.map","// src/subscribable.ts\nvar Subscribable = class {\n constructor() {\n this.listeners = /* @__PURE__ */ new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n subscribe(listener) {\n this.listeners.add(listener);\n this.onSubscribe();\n return () => {\n this.listeners.delete(listener);\n this.onUnsubscribe();\n };\n }\n hasListeners() {\n return this.listeners.size > 0;\n }\n onSubscribe() {\n }\n onUnsubscribe() {\n }\n};\nexport {\n Subscribable\n};\n//# sourceMappingURL=subscribable.js.map","// src/utils.ts\nvar isServer = typeof window === \"undefined\" || \"Deno\" in window;\nfunction noop() {\n return void 0;\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === \"function\" ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === \"number\" && value >= 0 && value !== Infinity;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction matchQuery(filters, query) {\n const {\n type = \"all\",\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n if (queryKey) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n if (type !== \"all\") {\n const isActive = query.isActive();\n if (type === \"active\" && !isActive) {\n return false;\n }\n if (type === \"inactive\" && isActive) {\n return false;\n }\n }\n if (typeof stale === \"boolean\" && query.isStale() !== stale) {\n return false;\n }\n if (typeof fetchStatus !== \"undefined\" && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n if (predicate && !predicate(query)) {\n return false;\n }\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const { exact, status, predicate, mutationKey } = filters;\n if (mutationKey) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n if (exact) {\n if (hashKey(mutation.options.mutationKey) !== hashKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n if (status && mutation.state.status !== status) {\n return false;\n }\n if (predicate && !predicate(mutation)) {\n return false;\n }\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = options?.queryKeyHashFn || hashKey;\n return hashFn(queryKey);\n}\nfunction hashKey(queryKey) {\n return JSON.stringify(\n queryKey,\n (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val\n );\n}\nfunction partialMatchKey(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (a && b && typeof a === \"object\" && typeof b === \"object\") {\n return !Object.keys(b).some((key) => !partialMatchKey(a[key], b[key]));\n }\n return false;\n}\nfunction replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n const array = isPlainArray(a) && isPlainArray(b);\n if (array || isPlainObject(a) && isPlainObject(b)) {\n const aItems = array ? a : Object.keys(a);\n const aSize = aItems.length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n if (!array && a[key] === void 0 && b[key] === void 0 && aItems.includes(key)) {\n copy[key] = void 0;\n equalItems++;\n } else {\n copy[key] = replaceEqualDeep(a[key], b[key]);\n if (copy[key] === a[key] && a[key] !== void 0) {\n equalItems++;\n }\n }\n }\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n return b;\n}\nfunction shallowEqualObjects(a, b) {\n if (!b || Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n}\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n }\n const ctor = o.constructor;\n if (typeof ctor === \"undefined\") {\n return true;\n }\n const prot = ctor.prototype;\n if (!hasObjectPrototype(prot)) {\n return false;\n }\n if (!prot.hasOwnProperty(\"isPrototypeOf\")) {\n return false;\n }\n return true;\n}\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === \"[object Object]\";\n}\nfunction sleep(ms) {\n return new Promise((resolve) => {\n setTimeout(resolve, ms);\n });\n}\nfunction replaceData(prevData, data, options) {\n if (typeof options.structuralSharing === \"function\") {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n return replaceEqualDeep(prevData, data);\n }\n return data;\n}\nfunction keepPreviousData(previousData) {\n return previousData;\n}\nfunction addToEnd(items, item, max = 0) {\n const newItems = [...items, item];\n return max && newItems.length > max ? newItems.slice(1) : newItems;\n}\nfunction addToStart(items, item, max = 0) {\n const newItems = [item, ...items];\n return max && newItems.length > max ? newItems.slice(0, -1) : newItems;\n}\nexport {\n addToEnd,\n addToStart,\n functionalUpdate,\n hashKey,\n hashQueryKeyByOptions,\n isPlainArray,\n isPlainObject,\n isServer,\n isValidTimeout,\n keepPreviousData,\n matchMutation,\n matchQuery,\n noop,\n partialMatchKey,\n replaceData,\n replaceEqualDeep,\n shallowEqualObjects,\n sleep,\n timeUntilStale\n};\n//# sourceMappingURL=utils.js.map","\"use client\";\n\n// src/QueryClientProvider.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar QueryClientContext = React.createContext(\n void 0\n);\nvar useQueryClient = (queryClient) => {\n const client = React.useContext(QueryClientContext);\n if (queryClient) {\n return queryClient;\n }\n if (!client) {\n throw new Error(\"No QueryClient set, use QueryClientProvider to set one\");\n }\n return client;\n};\nvar QueryClientProvider = ({\n client,\n children\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n return /* @__PURE__ */ jsx(QueryClientContext.Provider, { value: client, children });\n};\nexport {\n QueryClientContext,\n QueryClientProvider,\n useQueryClient\n};\n//# sourceMappingURL=QueryClientProvider.js.map","\"use client\"\nimport t from\"prop-types\";import e from\"react\";import{resolve as n,Location as r,Link as o}from\"@gatsbyjs/reach-router\";import{applyTrailingSlashOption as s}from\"gatsby-page-utils/apply-trailing-slash-option\";function i(){return i=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},i.apply(this,arguments)}function a(t){let e=t||\"/\",n=\"\",r=\"\";const o=e.indexOf(\"#\");-1!==o&&(r=e.slice(o),e=e.slice(0,o));const s=e.indexOf(\"?\");return-1!==s&&(n=e.slice(s),e=e.slice(0,s)),{pathname:e,search:\"?\"===n?\"\":n,hash:\"#\"===r?\"\":r}}const c=/^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/,l=t=>{if(\"string\"==typeof t)return!(t=>c.test(t))(t)},p=()=>\"production\"!==process.env.NODE_ENV?\"undefined\"!=typeof __BASE_PATH__?__BASE_PATH__:void 0:__BASE_PATH__,h=()=>\"production\"!==process.env.NODE_ENV?\"undefined\"!=typeof __PATH_PREFIX__?__PATH_PREFIX__:void 0:__PATH_PREFIX__;function f(t,e=p()){var n;if(!l(t))return t;if(t.startsWith(\"./\")||t.startsWith(\"../\"))return t;const r=null!=(n=null!=e?e:h())?n:\"/\";return`${null!=r&&r.endsWith(\"/\")?r.slice(0,-1):r}${t.startsWith(\"/\")?t:`/${t}`}`}const u=t=>null==t?void 0:t.startsWith(\"/\"),_=()=>\"undefined\"!=typeof __TRAILING_SLASH__?__TRAILING_SLASH__:void 0;function d(t,e){const{pathname:n,search:r,hash:o}=a(t);return`${s(n,e)}${r}${o}`}const m=(t,e)=>\"number\"==typeof t?t:l(t)?u(t)?function(t){const e=f(t),n=_();return\"always\"===n||\"never\"===n?d(e,n):e}(t):function(t,e){if(u(t))return t;const r=_(),o=n(t,e);return\"always\"===r||\"never\"===r?d(o,r):o}(t,e):t,y=[\"to\",\"getProps\",\"onClick\",\"onMouseEnter\",\"activeClassName\",\"activeStyle\",\"innerRef\",\"partiallyActive\",\"state\",\"replace\",\"_location\"];function v(t){return f(t,h())}const b={activeClassName:t.string,activeStyle:t.object,partiallyActive:t.bool};function w(t){/*#__PURE__*/return e.createElement(r,null,({location:n})=>/*#__PURE__*/e.createElement(P,i({},t,{_location:n})))}class P extends e.Component{constructor(t){super(t),this.defaultGetProps=({isPartiallyCurrent:t,isCurrent:e})=>(this.props.partiallyActive?t:e)?{className:[this.props.className,this.props.activeClassName].filter(Boolean).join(\" \"),style:i({},this.props.style,this.props.activeStyle)}:null;let e=!1;\"undefined\"!=typeof window&&window.IntersectionObserver&&(e=!0),this.state={IOSupported:e},this.abortPrefetch=null,this.handleRef=this.handleRef.bind(this)}_prefetch(){let t=window.location.pathname+window.location.search;this.props._location&&this.props._location.pathname&&(t=this.props._location.pathname+this.props._location.search);const e=a(m(this.props.to,t)),n=e.pathname+e.search;if(t!==n)return ___loader.enqueue(n)}componentWillUnmount(){if(!this.io)return;const{instance:t,el:e}=this.io;this.abortPrefetch&&this.abortPrefetch.abort(),t.unobserve(e),t.disconnect()}handleRef(t){this.props.innerRef&&Object.prototype.hasOwnProperty.call(this.props.innerRef,\"current\")?this.props.innerRef.current=t:this.props.innerRef&&this.props.innerRef(t),this.state.IOSupported&&t&&(this.io=((t,e)=>{const n=new window.IntersectionObserver(n=>{n.forEach(n=>{t===n.target&&e(n.isIntersecting||n.intersectionRatio>0)})});return n.observe(t),{instance:n,el:t}})(t,t=>{t?this.abortPrefetch=this._prefetch():this.abortPrefetch&&this.abortPrefetch.abort()}))}render(){const t=this.props,{to:n,getProps:r=this.defaultGetProps,onClick:s,onMouseEnter:c,state:p,replace:h,_location:f}=t,u=function(t,e){if(null==t)return{};var n,r,o={},s=Object.keys(t);for(r=0;r<s.length;r++)e.indexOf(n=s[r])>=0||(o[n]=t[n]);return o}(t,y);\"production\"===process.env.NODE_ENV||l(n)||console.warn(`External link ${n} was detected in a Link component. Use the Link component only for internal links. See: https://gatsby.dev/internal-links`);const _=m(n,f.pathname);return l(_)?/*#__PURE__*/e.createElement(o,i({to:_,state:p,getProps:r,innerRef:this.handleRef,onMouseEnter:t=>{c&&c(t);const e=a(_);___loader.hovering(e.pathname+e.search)},onClick:t=>{if(s&&s(t),!(0!==t.button||this.props.target||t.defaultPrevented||t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)){t.preventDefault();let e=h;const n=encodeURI(_)===f.pathname;\"boolean\"!=typeof h&&n&&(e=!0),window.___navigate(_,{state:p,replace:e})}return!0}},u)):/*#__PURE__*/e.createElement(\"a\",i({href:_},u))}}P.propTypes=i({},b,{onClick:t.func,to:t.string.isRequired,replace:t.bool,state:t.object});const E=e.forwardRef((t,n)=>/*#__PURE__*/e.createElement(w,i({innerRef:n},t))),g=(t,e)=>{window.___navigate(m(t,window.location.pathname),e)};export{E as Link,g as navigate,a as parsePath,v as withAssetPrefix,f as withPrefix};\n//# sourceMappingURL=index.modern.mjs.map\n","\"use client\"\nimport t,{useEffect as e}from\"react\";import{Location as n,useLocation as r}from\"@gatsbyjs/reach-router\";function o(){return o=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},o.apply(this,arguments)}const a=new Map,l={get:t=>a.get(t)||[],set(t,e){const n=a.get(t)||[];n.push(e),a.set(t,n)},delete(t){a.delete(t)}},s=\"undefined\"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(t){const e=Date.now();return setTimeout(function(){t({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-e))}})},1)};var c;!function(t){t.postHydrate=\"post-hydrate\",t.idle=\"idle\",t.offMainThread=\"off-main-thread\"}(c||(c={}));const i=new Set([\"src\",\"strategy\",\"dangerouslySetInnerHTML\",\"children\",\"onLoad\",\"onError\"]),u=new Set,d=new Map;function f(e){/*#__PURE__*/return t.createElement(n,null,()=>/*#__PURE__*/t.createElement(p,e))}function p(n){const{src:a,strategy:i=c.postHydrate}=n||{},{pathname:u}=r();if(e(()=>{let t;switch(i){case c.postHydrate:t=y(n);break;case c.idle:s(()=>{t=y(n)});break;case c.offMainThread:{const t=b(n);l.set(u,t)}}return()=>{const{script:e,loadCallback:n,errorCallback:r}=t||{};n&&(null==e||e.removeEventListener(\"load\",n)),r&&(null==e||e.removeEventListener(\"error\",r)),null==e||e.remove()}},[]),i===c.offMainThread){const e=m(n),r=b(n);return\"undefined\"==typeof window&&l.set(u,r),/*#__PURE__*/t.createElement(\"script\",e?o({type:\"text/partytown\",\"data-strategy\":i,crossOrigin:\"anonymous\"},r,{dangerouslySetInnerHTML:{__html:m(n)}}):o({type:\"text/partytown\",src:h(a),\"data-strategy\":i,crossOrigin:\"anonymous\"},r))}return null}function y(t){const{id:e,src:n,strategy:r=c.postHydrate,onLoad:a,onError:l}=t||{},s=e||n,i=[\"load\",\"error\"],f={load:a,error:l};if(s){for(const t of i)if(null!=f&&f[t]){var p;const e=d.get(s)||{},{callbacks:n=[]}=(null==e?void 0:e[t])||{};var y,h;n.push(null==f?void 0:f[t]),null!=e&&null!=(p=e[t])&&p.event?null==f||null==(y=f[t])||y.call(f,null==e||null==(h=e[t])?void 0:h.event):d.set(s,o({},e,{[t]:{callbacks:n}}))}if(u.has(s))return null}const v=m(t),k=b(t),w=document.createElement(\"script\");e&&(w.id=e),w.dataset.strategy=r;for(const[t,e]of Object.entries(k))w.setAttribute(t,e);v&&(w.textContent=v),n&&(w.src=n);const C={};if(s){for(const t of i){const e=e=>g(e,s,t);w.addEventListener(t,e),C[`${t}Callback`]=e}u.add(s)}return document.body.appendChild(w),{script:w,loadCallback:C.loadCallback,errorCallback:C.errorCallback}}function m(t){const{dangerouslySetInnerHTML:e,children:n=\"\"}=t||{},{__html:r=\"\"}=e||{};return r||n}function b(t){const e={};for(const[n,r]of Object.entries(t))i.has(n)||(e[n]=r);return e}function h(t){if(t)return`/__third-party-proxy?url=${encodeURIComponent(t)}`}function g(t,e,n){const r=d.get(e)||{};for(const e of(null==r||null==(o=r[n])?void 0:o.callbacks)||[]){var o;e(t)}d.set(e,{[n]:{event:t}})}export{f as Script,c as ScriptStrategy,l as collectedScriptsByPage,u as scriptCache,d as scriptCallbackCache};\n//# sourceMappingURL=index.modern.mjs.map\n"],"names":["exports","suffixes","input","option","hasTrailingSlash","endsWith","suffix","endsWithSuffixes","slice","_scrollHandler","ScrollHandler","_useScrollRestoration","useScrollRestoration","_interopRequireDefault","__esModule","ScrollContext","_assertThisInitialized2","_inheritsLoose2","React","obj","nodeInterop","default","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_interopRequireWildcard","_propTypes","_sessionStorage","WeakMap","cacheBabelInterop","cacheNodeInterop","createContext","SessionStorage","displayName","_React$Component","_this","_len","arguments","length","args","Array","_key","apply","this","concat","_stateStorage","_isTicking","_latestKnownScrollY","scrollListener","window","scrollY","requestAnimationFrame","_saveScroll","bind","windowScroll","position","prevProps","shouldUpdateScroll","props","scrollTo","scrollToHash","hash","node","document","getElementById","substring","scrollIntoView","prevRouterProps","routerProps","_proto","location","save","componentDidMount","scrollPosition","addEventListener","_this$props$location","read","decodeURI","undefined","componentWillUnmount","removeEventListener","componentDidUpdate","_this$props$location2","render","createElement","Provider","value","children","Component","propTypes","func","element","isRequired","object","GATSBY_ROUTER_SCROLL_STATE","stateKey","getStateKey","sessionStorage","getItem","JSON","parse","e","storedValue","stringify","setItem","stateKeyBase","pathname","identifier","_reachRouter","useLocation","state","_react","useContext","ref","useRef","useLayoutEffect","current","onScroll","scrollTop","module","assign","onInitialClientRender","getForwards","collectedScripts","flatMap","script","forward","injectPartytownSnippet","existingSnippet","querySelector","existingSandbox","remove","forwards","_getForwards","snippet","dataset","partytown","innerHTML","_integration","partytownSnippet","head","appendChild","components","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2018-08-02-reactjs-first-reactjs-md","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2018-08-11-html-email-templete-md","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2018-09-28-reactjs-props-md","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2019-06-26-front-end-endgame-review-md","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2019-07-04-blog-migration-md","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2019-07-21-blog-migration-2-md","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-03-16-etc-token-md","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-03-18-json-web-token-md","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-04-01-etc-redux-md","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-07-18-etc-cloude-computer-md","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-07-19-etc-aws-iam-md","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-07-25-etc-aws-iam-security-md","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-07-26-etc-aws-s-3-hosting-md","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-2020-08-30-etc-aws-route-53-md","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-test-md","component---src-app-templates-post-template-post-layout-ui-tsx-content-file-path-posts-블로그-리팩토링-하면서-고려한-것들-md","component---src-pages-404-tsx","component---src-pages-about-about-page-ui-tsx","component---src-pages-about-index-tsx","component---src-pages-index-tsx","component---src-pages-tags-index-tsx","component---src-pages-tags-tags-page-ui-tsx","plugin","require","options","plugins","getResourceURLsForPathname","loadPage","loadPageSync","api","defaultReturn","argTransform","results","map","result","filter","reduce","previous","next","then","Promise","resolve","all","create","on","type","handler","push","off","splice","indexOf","emit","evt","mitt","pathAndSearch","path","search","split","charAt","pathCache","Map","matchPaths","trimPathname","rawPathname","newRawPathname","qs","encodeURIComponent","decodeURIComponent","stripPrefix","__BASE_PATH__","absolutify","startsWith","URL","href","setMatchPaths","findMatchPath","trimmedPathname","cleanPath","pickPaths","_ref","matchPath","originalPath","pick","normalizePagePath","route","grabMatchParams","_ref2","params","findPath","redirect","maybeGetBrowserRedirect","toPath","foundPath","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_isNativeReflectConstruct","t","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","Class","_cache","fn","Function","toString","TypeError","Wrapper","r","p","constructor","enumerable","writable","configurable","ServerSliceRenderer","sliceId","contents","id","ServerSlice","sliceName","allowEmpty","sliceProps","slicesMap","SlicesMapContext","slicesProps","SlicesPropsContext","concreteSliceName","Error","getSliceId","keys","createContentDigest","sliceUsage","hasChildren","_jsx","InlineSlice","slicesResultsMap","SlicesResultsContext","component","sliceContext","data","Slice","internalProps","alias","__renderedByLocation","slicesContext","SlicesContext","propErrors","validateSliceProps","SlicePropsError","renderEnvironment","additionalContextMessage","sliceRoot","name","componentPath","_Error","inBrowser","renderedByLocation","errors","entries","join","stack","message","stackLines","ReactDebugCurrentFrame","getCurrentStack","trim","captureStackTrace","self","ReferenceError","_assertThisInitialized","forcedLocation","functionName","_inheritsLoose","seenObjects","propPath","prefetchPathname","loader","enqueue","graphql","supportedPrefetchStrategy","feature","fakeLink","relList","supports","err","support","url","reject","link","setAttribute","forEach","onload","onerror","getElementsByTagName","getElementsByName","parentNode","req","XMLHttpRequest","open","status","send","preFetched","catch","PageResourceStatus","Success","createPageDataUrl","rawPath","maybeSearch","s","shouldAbortFetch","doFetch","method","onreadystatechange","readyState","BOT_REGEX","toPageResources","pageData","_pageData$slicesMap","page","componentChunkName","webpackCompilationHash","staticQueryHashes","getServerDataError","json","waitForResponse","response","readRoot","setTimeout","BaseLoader","loadComponent","inFlightNetworkRequests","pageDb","inFlightDb","staticQueryDb","pageDataDb","partialHydrationDb","slicesDataDb","sliceInflightDb","slicesDb","isPrefetchQueueRunning","prefetchQueued","prefetchTriggered","Set","prefetchCompleted","memoizedGet","inFlightPromise","delete","setApiRunner","apiRunner","prefetchDisabled","some","a","fetchPageDataJson","loadObj","pagePath","retries","responseText","jsonPayload","includes","payload","notFound","internalServerError","fetchPartialHydrationJson","replace","loadPageDataJson","loadPartialHydrationJson","loadSliceDataJson","res","error","loadDataPromises","loadAppData","allData","appDataResponse","pageDataResponse","rscDataResponse","pageStaticQueryHashes","finalResult","dedupedSliceNames","from","values","loadSlice","inFlight","m","slicesData","slices","dedupedStaticQueryHashes","_toConsumableArray","staticQueryHash","loadChunkPromises","componentChunkPromises","sliceComponents","headComponent","pageComponent","createdAt","Date","sliceComponent","pageResources","partialHydration","readableStream","ReadableStream","start","controller","te","TextEncoder","encode","pull","close","cancel","createFromReadableStream","staticQueryBatchPromise","staticQueryResults","staticQueryResultsMap","emitter","_options","withErrorDetails","shouldPrefetch","doesConnectionSupportPrefetch","navigator","connection","effectiveType","saveData","userAgent","test","prefetch","abort","defer","promise","abortC","AbortController","signal","index","findIndex","_ref3","_processNextPrefetchBatch","requestIdleCallback","cb","toPrefetch","prefetches","_ref4","dPromise","add","doPrefetch","pageDataUrl","prefetchHelper","crossOrigin","as","hovering","createComponentUrls","isPageNotFound","appData","___chunkMapping","chunk","__PATH_PREFIX__","instance","ProdLoader","_BaseLoader2","asyncRequires","chunkName","exportType","_proto2","componentUrls","setLoader","_loader","publicLoader","getStaticQueryResults","getSliceResults","FireCallbackInEffect","callback","useEffect","VALID_NODE_NAMES","isEqualNode","oldTag","newTag","HTMLElement","nonce","getAttribute","cloneTag","cloneNode","getValidHeadNodesAndAttributes","rootNode","htmlAndBodyAttributes","html","body","seenIds","validHeadNodes","childNodes","_node$attributes","_node$attributes$id","nodeName","toLowerCase","attributes","isElementType","isValidNodeName","attribute","isStyleAttribute","_htmlAndBodyAttribute","style","clonedNode","massageScript","_validHeadNodes$index","indexOfPreviouslyInsertedNode","removeChild","attr","nodeType","hiddenRoot","keysOfHtmlAndBodyAttributes","onHeadRendered","_document$head2","htmlElement","attributeName","attributeValue","bodyElement","applyHtmlAndBodyAttributes","existingHeadElements","querySelectorAll","_document$head","append","newHeadNodes","oldNodes","newNodes","onStale","onNew","existingHeadElement","indexInNewNodes","newNode","diffNodes","headHandlerForBrowser","pageComponentProps","Head","headExportValidator","reactDOMUtils","HeadElement","serverData","pageContext","WrapHeadElement","pop","StaticQueryContext","LocationProvider","prevHeadNodes","removePrevHeadElements","htmlAndBodyattributeList","removeAttribute","removeHtmlAndBodyAttributes","PageRenderer","__params","pageElement","PropTypes","RouteAnnouncerProps","top","width","height","padding","overflow","clip","whiteSpace","border","maybeRedirect","___replace","nextRoute","event","reason","onPreRouteUpdate","prevLocation","onRouteUpdate","navigate","to","globalHistory","parsePath","___swUpdated","timeoutId","history","replaceState","clearTimeout","___webpackCompilationHash","serviceWorker","postMessage","gatsbyApi","reachNavigate","getSavedScrollPosition","oldPathname","RouteAnnouncer","announcementRef","nextProps","pageName","title","pageHeadings","textContent","newAnnouncement","innerText","compareLocationProps","nextLocation","_prevLocation$state","_nextLocation$state","RouteUpdates","_React$Component2","_this2","shouldComponentUpdate","_jsxs","shallowDiffers","b","i","_i","EnsureResources","getDerivedStateFromProps","prevState","loadResources","setState","nextState","shallowCompare","hydrate","___emitter","___loader","listen","action","___push","___navigate","reloadStorageKey","apiRunnerAsync","RouteHandler","BaseContext","baseuri","basepath","DataContext","GatsbyRoot","Location","sliceResults","LocationHandler","Consumer","Router","encodeURI","browserLoc","match","getSessionStorage","_page$page","reload","removeItem","console","SiteRoot","App","onClientEntryRanRef","performance","mark","focusEl","defaultRenderer","renderer","runRender","rootElement","doc","documentElement","doScroll","InternalPageRenderer","reactDomClient","el","root","createRoot","hydrateRoot","redirectMap","redirectIgnoreCaseMap","ignoreCase","fromPath","protocol","hostname","register","reg","installingWorker","installing","log","___failedResources","defaultValue","createServerContext","globalThis","__SERVER_CONTEXT","StaticQueryDataRenderer","staticQueryData","query","finalData","StaticQuery","useStaticQuery","_context$query","context","isNaN","Number","str","prefix","clock","_class","_temp","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","_typeof","Symbol","iterator","createClass","defineProperties","target","descriptor","Constructor","protoProps","staticProps","_extends","source","objectWithoutProperties","encodeSpecialCharacters","String","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","isArray","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","tagAttrs","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","tag","lowerCaseAttributeKey","getTagsFromPropsList","tagName","approvedSeenTags","warn","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","property","rafPolyfill","now","currentTime","cafPolyfill","webkitRequestAnimationFrame","mozRequestAnimationFrame","g","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","newState","baseTag","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","elementTag","helmetAttributeString","helmetAttributes","attributesToRemove","attributeKeys","indexToSave","tags","headElement","tagNodes","indexToDelete","newElement","styleSheet","cssText","createTextNode","existingTag","generateElementAttributesAsString","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","content","dangerouslySetInnerHTML","__html","generateTagsAsReactComponent","attributeHtml","string","tagContent","isSelfClosing","generateTagsAsString","mapStateOnServer","_ref$title","base","meta","noscript","HelmetSideEffects","HelmetExport","HelmetWrapper","classCallCheck","possibleConstructorReturn","subClass","superClass","inherits","mapNestedChildrenToProps","child","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","_child$props","initAttributes","convertReactPropstoHtmlAttributes","_props","canUseDOM","defaultTitle","titleTemplate","defaultProps","peek","rewind","mappedState","renderStatic","AsyncFonts","hrefs","links","noScript","rel","media","Helmet","MODE_DEFAULT","SCOPE_DEFAULT","getFontNames","allFonts","fontNames","fontListener","scope","hasFonts","targetElement","apiAvailable","handleLoadComplete","addClassName","handleFontLoad","fontFaces","fontFace","family","fontMapper","fontName","fonts","load","errorFallback","classList","x","info","loadFonts","onClientEntry","_","custom","web","enableListener","wrapRootElement","mode","fontFiles","file","getFontFiles","hasFontNames","pluginOptions","_gatsby","DEFAULT_OPTIONS","maxWidth","wrapperStyle","backgroundColor","linkImagesToOriginal","showCaptions","markdownCaptions","withWebp","withAvif","tracedSVG","loading","decoding","disableBgImageOnAlpha","disableBgImage","EMPTY_ALT","imageClass","imageWrapperClass","imageBackgroundClass","_require","apiCallbackContext","imageWrappers","_loop","imageWrapper","backgroundElement","imageElement","onImageLoad","transition","onImageComplete","opacity","color","boxShadow","complete","Removable","destroy","clearGcTimeout","scheduleGc","gcTime","optionalRemove","updateGcTime","newGcTime","Math","max","Infinity","Query","config","super","defaultOptions","queryKey","queryHash","initialData","hasData","initialDataUpdatedAt","dataUpdateCount","dataUpdatedAt","errorUpdateCount","errorUpdatedAt","fetchFailureCount","fetchFailureReason","fetchMeta","isInvalidated","fetchStatus","getDefaultState","setData","newData","updatedAt","manual","setStateOptions","silent","reset","isActive","observer","enabled","isDisabled","getObserversCount","isStale","getCurrentResult","isStaleByTime","staleTime","onFocus","find","shouldFetchOnWindowFocus","refetch","cancelRefetch","continue","onOnline","shouldFetchOnReconnect","addObserver","notify","removeObserver","revert","cancelRetry","invalidate","fetch","fetchOptions","continueRetry","queryFn","abortController","queryFnContext","addSignalProperty","fetchFn","persister","behavior","onFetch","onError","onSettled","isFetchingOptimistic","onSuccess","onFail","failureCount","onPause","onContinue","retry","retryDelay","networkMode","reducer","notifyManager","batch","onQueryUpdate","QueryCache","build","client","defaultQueryOptions","getQueryDefaults","queryInMap","clear","getAll","filters","defaultedFilters","exact","findAll","queries","listeners","listener","Mutation","mutationId","mutationCache","failureReason","isPaused","variables","submittedAt","setOptions","mutation","execute","executeMutation","mutationFn","restored","onMutate","onMutationUpdate","MutationCache","defaultMutationOptions","resumePausedMutations","pausedMutations","queryClient","queryCache","mount","focusManager","subscribe","isFocused","onlineManager","isOnline","unmount","isFetching","isMutating","getQueryData","ensureQueryData","cachedData","fetchQuery","getQueriesData","getQueryCache","setQueryData","updater","defaultedOptions","prevData","setQueriesData","getQueryState","removeQueries","resetQueries","refetchFilters","refetchQueries","cancelQueries","cancelOptions","defaultedCancelOptions","promises","invalidateQueries","refetchType","throwOnError","prefetchQuery","fetchInfiniteQuery","infiniteQueryBehavior","pages","prefetchInfiniteQuery","getMutationCache","getDefaultOptions","setDefaultOptions","setQueryDefaults","defaults","queryDefault","setMutationDefaults","mutationKey","getMutationDefaults","_defaulted","refetchOnReconnect","suspense","mutations","refetchOnWindowFocus","QueryClientProvider","TanStackQueryClientProvider","condition","format","c","d","f","argIndex","framesToPop","hasElementType","Element","hasMap","hasSet","hasArrayBuffer","ArrayBuffer","isView","equal","it","size","done","RegExp","flags","$$typeof","k","l","stream","n","for","q","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ContextRegistry","v","_status","_value","_response","w","_fromJSON","chunks","__webpack_require__","y","z","A","C","D","_chunks","F","G","parseInt","_bundlerConfig","h","B","J","u","H","_payload","_init","E","_owner","I","TextDecoder","_partialRow","_stringDecoder","K","getReader","subarray","decode","moduleMap","ex","React__default","_defineProperty","reducePropsToState","handleStateChangeOnClient","WrappedComponent","mountedInstances","emitChange","SideEffect","_PureComponent","recordedState","UNSAFE_componentWillMount","PureComponent","getDisplayName","_setPrototypeOf","SCRIPT_TYPE","snippetCode","filteredConfig","configStr","createSnippet","_arrayLikeToArray","arr","len","arr2","iter","minLen","origin","host","port","transitioning","_onTransitionComplete","go","pushState","substr","uri","noThrow","P","R","N","j","$","O","exec","U","L","T","sort","S","score","every","M","V","X","forwardRef","innerRef","getProps","isCurrent","isPartiallyCurrent","onClick","defaultPrevented","button","metaKey","altKey","ctrlKey","shiftKey","preventDefault","componentDidCatch","W","setError","Q","Y","Z","ee","re","focus","outline","tabIndex","ne","oe","ae","primary","toArray","se","ie","ce","ue","onSubscribe","setEventListener","onUnsubscribe","hasListeners","setup","focused","setFocused","visibilityState","async","direction","fetchMore","oldPages","oldPageParams","pageParams","empty","cancelled","fetchPage","param","pageParam","aborted","maxPages","addTo","oldData","getPreviousPageParam","getNextPageParam","initialPageParam","remainingPages","lastIndex","hasNextPage","hasPreviousPage","queue","transactions","notifyFn","batchNotifyFn","scheduleFn","schedule","flush","originalQueue","batchCalls","setNotifyFunction","setBatchNotifyFunction","setScheduler","createNotifyManager","onlineListener","offlineListener","setOnline","online","defaultRetryDelay","min","canFetch","CancelledError","isCancelledError","createRetryer","continueFn","promiseResolve","promiseReject","isRetryCancelled","isResolved","outerResolve","outerReject","shouldPause","pause","continueResolve","canContinue","run","promiseOrValue","delay","shouldRetry","didContinue","Subscribable","isServer","noop","functionalUpdate","isValidTimeout","timeUntilStale","matchQuery","predicate","stale","hashQueryKeyByOptions","partialMatchKey","matchMutation","hashKey","queryKeyHashFn","val","isPlainObject","replaceEqualDeep","array","isPlainArray","aItems","aSize","bItems","bSize","copy","equalItems","shallowEqualObjects","hasObjectPrototype","ctor","prot","sleep","ms","replaceData","structuralSharing","addToEnd","items","item","newItems","addToStart","QueryClientContext","useQueryClient","jsx","activeClassName","activeStyle","partiallyActive","_location","defaultGetProps","className","IntersectionObserver","IOSupported","abortPrefetch","handleRef","_prefetch","io","unobserve","disconnect","isIntersecting","intersectionRatio","observe","onMouseEnter","didTimeout","timeRemaining","postHydrate","idle","offMainThread","src","strategy","loadCallback","errorCallback","onLoad","callbacks"],"sourceRoot":""}