{"version":3,"file":"app-27dfa44fdd88c5c1d858.js","mappings":"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KAATA,CAC5B,CCFA,MAAM8oC,GAAgB,gCAEtB,SAASC,GAAgBjZ,GACvB,OAAOkZ,GAAgBlZ,EAAImZ,WAAW,GACxC,CAEA,MAAMD,GAAkB,CACtB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,MACA,MACA,MACA,UACA,MACA,MACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,GACA,GACA,MACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,OACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WCnKF,MACME,GAAqB,CACzBzJ,KAAM,CACJoE,MAAQl1D,GAASA,EAAKyB,OAExByvD,SAAU,CACRgE,MAAQl1D,GAAS,IAAMA,EAAKW,MAG9BowD,SAAU,CACRmE,MAAQl1D,GAAS0D,GAAK1D,EAAKiqD,YAAa,SAE1C+G,oBAAqB,CACnBkE,MAAMl1D,GACJ,MAAMw6D,EAAU,GAAK,IAAK92D,GAAK1D,EAAKkuD,oBAAqB,MAAO,KAC1D9M,EAAS19C,GACb,CACE1D,EAAKoqD,UACL1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","sources":["webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/enums.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/math.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/within.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/createPopper.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/debounce.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/popper.js","webpack://gatsby-starter-default/./node_modules/@popperjs/core/lib/popper-lite.js","webpack://gatsby-starter-default/./node_modules/bootstrap/dist/js/bootstrap.min.js","webpack://gatsby-starter-default/./node_modules/gatsby-page-utils/dist/apply-trailing-slash-option.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/index.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/scroll-handler.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/session-storage.js","webpack://gatsby-starter-default/./node_modules/gatsby-react-router-scroll/use-scroll-restoration.js","webpack://gatsby-starter-default/./node_modules/gatsby/dist/internal-plugins/bundle-optimisations/polyfills/fetch.js","webpack://gatsby-starter-default/./node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js","webpack://gatsby-starter-default/./node_modules/gatsby/dist/internal-plugins/partytown/utils/get-forwards.js","webpack://gatsby-starter-default/./node_modules/gatsby/dist/internal-plugins/partytown/utils/inject-partytown-snippet.js","webpack://gatsby-starter-default/./.cache/_this_is_virtual_fs_path_/$virtual/async-requires.js","webpack://gatsby-starter-default/./.cache/api-runner-browser-plugins.js","webpack://gatsby-starter-default/./.cache/api-runner-browser.js","webpack://gatsby-starter-default/./.cache/create-content-digest-browser-shim.js","webpack://gatsby-starter-default/./.cache/emitter.js","webpack://gatsby-starter-default/./node_modules/mitt/dist/mitt.es.js","webpack://gatsby-starter-default/./.cache/normalize-page-path.js","webpack://gatsby-starter-default/./.cache/find-path.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/construct.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://gatsby-starter-default/./.cache/slice/server-slice-renderer.js","webpack://gatsby-starter-default/./.cache/slice/server-slice.js","webpack://gatsby-starter-default/./.cache/slice/inline-slice.js","webpack://gatsby-starter-default/./.cache/slice.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://gatsby-starter-default/./.cache/gatsby-browser-entry.js","webpack://gatsby-starter-default/./.cache/prefetch.js","webpack://gatsby-starter-default/./.cache/loader.js","webpack://gatsby-starter-default/./.cache/head/components/fire-callback-in-effect.js","webpack://gatsby-starter-default/./.cache/head/constants.js","webpack://gatsby-starter-default/./.cache/head/utils.js","webpack://gatsby-starter-default/./.cache/head/head-export-handler-for-browser.js","webpack://gatsby-starter-default/./.cache/page-renderer.js","webpack://gatsby-starter-default/./.cache/route-announcer-props.js","webpack://gatsby-starter-default/./.cache/navigation.js","webpack://gatsby-starter-default/./node_modules/shallow-compare/es/index.js","webpack://gatsby-starter-default/./.cache/ensure-resources.js","webpack://gatsby-starter-default/./.cache/production-app.js","webpack://gatsby-starter-default/./.cache/public-page-renderer-prod.js","webpack://gatsby-starter-default/./.cache/public-page-renderer.js","webpack://gatsby-starter-default/./.cache/react-dom-utils.js","webpack://gatsby-starter-default/./.cache/redirect-utils.js","webpack://gatsby-starter-default/./.cache/register-service-worker.js","webpack://gatsby-starter-default/./.cache/slice/context.js","webpack://gatsby-starter-default/./.cache/static-query.js","webpack://gatsby-starter-default/./.cache/context-utils.js","webpack://gatsby-starter-default/./.cache/strip-prefix.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/node_modules/tslib/tslib.es6.mjs","webpack://gatsby-starter-default/./node_modules/tslib/tslib.es6.mjs","webpack://gatsby-starter-default/./node_modules/ts-invariant/lib/invariant.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/version.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/globals/maybe.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/globals/global.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/common/makeUniqueId.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/common/stringifyForDisplay.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/globals/invariantWrappers.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/globals/index.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/common/canUse.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/react/context/ApolloContext.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/react/context/ApolloProvider.js","webpack://gatsby-starter-default/./node_modules/zen-observable-ts/module.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/common/objects.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/graphql/fragments.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/graphql/storeUtils.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/graphql/getFromAST.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/core/ApolloLink.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/utils/createOperation.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/utils/transformOperation.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/utils/validateOperation.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/core/execute.js","webpack://gatsby-starter-default/./node_modules/graphql/jsutils/devAssert.mjs","webpack://gatsby-starter-default/./node_modules/graphql/jsutils/inspect.mjs","webpack://gatsby-starter-default/./node_modules/graphql/language/ast.mjs","webpack://gatsby-starter-default/./node_modules/graphql/language/kinds.mjs","webpack://gatsby-starter-default/./node_modules/graphql/language/visitor.mjs","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/graphql/directives.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/http/serializeFetchParameter.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/http/iterators/nodeStream.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/http/iterators/reader.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/http/responseIterator.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/http/iterators/promise.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/common/responseIterator.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/http/iterators/async.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/utils/throwServerError.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/errors/index.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/common/arrays.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/common/mergeDeep.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/common/incrementalResult.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js","webpack://gatsby-starter-default/./node_modules/graphql/language/characterClasses.mjs","webpack://gatsby-starter-default/./node_modules/graphql/language/printString.mjs","webpack://gatsby-starter-default/./node_modules/graphql/language/printer.mjs","webpack://gatsby-starter-default/./node_modules/graphql/language/blockString.mjs","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/graphql/print.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/http/selectHttpOptionsAndBody.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/utils/fromError.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/graphql/transform.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/http/createHttpLink.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/http/checkFetcher.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/http/selectURI.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/utils/filterOperationVariables.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/http/rewriteURIForGET.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/link/http/HttpLink.js","webpack://gatsby-starter-default/./node_modules/@wry/equality/lib/index.js","webpack://gatsby-starter-default/./node_modules/@wry/trie/lib/index.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/cache/inmemory/object-canon.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/graphql/DocumentTransform.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/observables/asyncMap.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/common/errorHandling.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/observables/iteration.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/observables/subclassing.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/observables/Concast.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/core/networkStatus.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/common/compact.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/common/cloneDeep.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/core/equalByQuery.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/core/ObservableQuery.js","webpack://gatsby-starter-default/./node_modules/graphql/language/predicates.mjs","webpack://gatsby-starter-default/./node_modules/optimism/lib/cache.js","webpack://gatsby-starter-default/./node_modules/@wry/context/lib/slot.js","webpack://gatsby-starter-default/./node_modules/@wry/context/lib/index.js","webpack://gatsby-starter-default/./node_modules/optimism/lib/context.js","webpack://gatsby-starter-default/./node_modules/optimism/lib/helpers.js","webpack://gatsby-starter-default/./node_modules/optimism/lib/entry.js","webpack://gatsby-starter-default/./node_modules/optimism/lib/dep.js","webpack://gatsby-starter-default/./node_modules/optimism/lib/index.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/cache/inmemory/reactiveVars.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/core/LocalState.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/core/QueryInfo.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/core/QueryManager.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/common/mergeOptions.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/core/ApolloClient.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/cache/core/cache.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/cache/core/types/common.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/utilities/common/maybeDeepFreeze.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/cache/inmemory/helpers.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/cache/inmemory/entityStore.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/cache/inmemory/readFromStore.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/cache/inmemory/key-extractor.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/cache/inmemory/policies.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/cache/inmemory/writeToStore.js","webpack://gatsby-starter-default/./node_modules/@apollo/client/cache/inmemory/inMemoryCache.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-apollo/gatsby-browser.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-google-gtag/gatsby-browser.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-manifest/gatsby-browser.js","webpack://gatsby-starter-default/./node_modules/gatsby-plugin-manifest/get-manifest-pathname.js","webpack://gatsby-starter-default/./node_modules/invariant/browser.js","webpack://gatsby-starter-default/./node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js","webpack://gatsby-starter-default/./node_modules/react-server-dom-webpack/index.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/inheritsLoose.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://gatsby-starter-default/./node_modules/@builder.io/partytown/integration/index.cjs","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://gatsby-starter-default/./node_modules/@gatsbyjs/reach-router/dist/index.modern.mjs","webpack://gatsby-starter-default/./node_modules/gatsby-link/dist/index.modern.mjs","webpack://gatsby-starter-default/./node_modules/gatsby-script/dist/index.modern.mjs"],"sourcesContent":["export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","/*!\n * Bootstrap v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e(require(\"@popperjs/core\")):\"function\"==typeof define&&define.amd?define([\"@popperjs/core\"],e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.Popper)}(this,(function(t){\"use strict\";function e(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:\"Module\"}});if(t)for(const s in t)if(\"default\"!==s){const i=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(e,s,i.get?i:{enumerable:!0,get:()=>t[s]})}return e.default=t,Object.freeze(e)}const s=e(t),i=new Map,n={set(t,e,s){i.has(t)||i.set(t,new Map);const n=i.get(t);n.has(e)||0===n.size?n.set(e,s):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>i.has(t)&&i.get(t).get(e)||null,remove(t,e){if(!i.has(t))return;const s=i.get(t);s.delete(e),0===s.size&&i.delete(t)}},o=\"transitionend\",r=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\\s\"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),a=t=>{t.dispatchEvent(new Event(o))},l=t=>!(!t||\"object\"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),c=t=>l(t)?t.jquery?t[0]:t:\"string\"==typeof t&&t.length>0?document.querySelector(r(t)):null,h=t=>{if(!l(t)||0===t.getClientRects().length)return!1;const e=\"visible\"===getComputedStyle(t).getPropertyValue(\"visibility\"),s=t.closest(\"details:not([open])\");if(!s)return e;if(s!==t){const e=t.closest(\"summary\");if(e&&e.parentNode!==s)return!1;if(null===e)return!1}return e},d=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains(\"disabled\")||(void 0!==t.disabled?t.disabled:t.hasAttribute(\"disabled\")&&\"false\"!==t.getAttribute(\"disabled\")),u=t=>{if(!document.documentElement.attachShadow)return null;if(\"function\"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?u(t.parentNode):null},_=()=>{},g=t=>{t.offsetHeight},f=()=>window.jQuery&&!document.body.hasAttribute(\"data-bs-no-jquery\")?window.jQuery:null,m=[],p=()=>\"rtl\"===document.documentElement.dir,b=t=>{var e;e=()=>{const e=f();if(e){const s=t.NAME,i=e.fn[s];e.fn[s]=t.jQueryInterface,e.fn[s].Constructor=t,e.fn[s].noConflict=()=>(e.fn[s]=i,t.jQueryInterface)}},\"loading\"===document.readyState?(m.length||document.addEventListener(\"DOMContentLoaded\",(()=>{for(const t of m)t()})),m.push(e)):e()},v=(t,e=[],s=t)=>\"function\"==typeof t?t(...e):s,y=(t,e,s=!0)=>{if(!s)return void v(t);const i=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:s}=window.getComputedStyle(t);const i=Number.parseFloat(e),n=Number.parseFloat(s);return i||n?(e=e.split(\",\")[0],s=s.split(\",\")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(s))):0})(e)+5;let n=!1;const r=({target:s})=>{s===e&&(n=!0,e.removeEventListener(o,r),v(t))};e.addEventListener(o,r),setTimeout((()=>{n||a(e)}),i)},w=(t,e,s,i)=>{const n=t.length;let o=t.indexOf(e);return-1===o?!s&&i?t[n-1]:t[0]:(o+=s?1:-1,i&&(o=(o+n)%n),t[Math.max(0,Math.min(o,n-1))])},A=/[^.]*(?=\\..*)\\.|.*/,E=/\\..*/,C=/::\\d+$/,T={};let k=1;const S={mouseenter:\"mouseover\",mouseleave:\"mouseout\"},L=new Set([\"click\",\"dblclick\",\"mouseup\",\"mousedown\",\"contextmenu\",\"mousewheel\",\"DOMMouseScroll\",\"mouseover\",\"mouseout\",\"mousemove\",\"selectstart\",\"selectend\",\"keydown\",\"keypress\",\"keyup\",\"orientationchange\",\"touchstart\",\"touchmove\",\"touchend\",\"touchcancel\",\"pointerdown\",\"pointermove\",\"pointerup\",\"pointerleave\",\"pointercancel\",\"gesturestart\",\"gesturechange\",\"gestureend\",\"focus\",\"blur\",\"change\",\"reset\",\"select\",\"submit\",\"focusin\",\"focusout\",\"load\",\"unload\",\"beforeunload\",\"resize\",\"move\",\"DOMContentLoaded\",\"readystatechange\",\"error\",\"abort\",\"scroll\"]);function O(t,e){return e&&`${e}::${k++}`||t.uidEvent||k++}function I(t){const e=O(t);return t.uidEvent=e,T[e]=T[e]||{},T[e]}function D(t,e,s=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===s))}function N(t,e,s){const i=\"string\"==typeof e,n=i?s:e||s;let o=j(t);return L.has(o)||(o=t),[i,n,o]}function P(t,e,s,i,n){if(\"string\"!=typeof e||!t)return;let[o,r,a]=N(e,s,i);if(e in S){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=I(t),c=l[a]||(l[a]={}),h=D(c,r,o?s:null);if(h)return void(h.oneOff=h.oneOff&&n);const d=O(r,e.replace(A,\"\")),u=o?function(t,e,s){return function i(n){const o=t.querySelectorAll(e);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return $(n,{delegateTarget:r}),i.oneOff&&F.off(t,n.type,e,s),s.apply(r,[n])}}(t,s,r):function(t,e){return function s(i){return $(i,{delegateTarget:t}),s.oneOff&&F.off(t,i.type,e),e.apply(t,[i])}}(t,r);u.delegationSelector=o?s:null,u.callable=r,u.oneOff=n,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function x(t,e,s,i,n){const o=D(e[s],i,n);o&&(t.removeEventListener(s,o,Boolean(n)),delete e[s][o.uidEvent])}function M(t,e,s,i){const n=e[s]||{};for(const[o,r]of Object.entries(n))o.includes(i)&&x(t,e,s,r.callable,r.delegationSelector)}function j(t){return t=t.replace(E,\"\"),S[t]||t}const F={on(t,e,s,i){P(t,e,s,i,!1)},one(t,e,s,i){P(t,e,s,i,!0)},off(t,e,s,i){if(\"string\"!=typeof e||!t)return;const[n,o,r]=N(e,s,i),a=r!==e,l=I(t),c=l[r]||{},h=e.startsWith(\".\");if(void 0===o){if(h)for(const s of Object.keys(l))M(t,l,s,e.slice(1));for(const[s,i]of Object.entries(c)){const n=s.replace(C,\"\");a&&!e.includes(n)||x(t,l,r,i.callable,i.delegationSelector)}}else{if(!Object.keys(c).length)return;x(t,l,r,o,n?s:null)}},trigger(t,e,s){if(\"string\"!=typeof e||!t)return null;const i=f();let n=null,o=!0,r=!0,a=!1;e!==j(e)&&i&&(n=i.Event(e,s),i(t).trigger(n),o=!n.isPropagationStopped(),r=!n.isImmediatePropagationStopped(),a=n.isDefaultPrevented());const l=$(new Event(e,{bubbles:o,cancelable:!0}),s);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&n&&n.preventDefault(),l}};function $(t,e={}){for(const[s,i]of Object.entries(e))try{t[s]=i}catch(e){Object.defineProperty(t,s,{configurable:!0,get:()=>i})}return t}function z(t){if(\"true\"===t)return!0;if(\"false\"===t)return!1;if(t===Number(t).toString())return Number(t);if(\"\"===t||\"null\"===t)return null;if(\"string\"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function H(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const B={setDataAttribute(t,e,s){t.setAttribute(`data-bs-${H(e)}`,s)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${H(e)}`)},getDataAttributes(t){if(!t)return{};const e={},s=Object.keys(t.dataset).filter((t=>t.startsWith(\"bs\")&&!t.startsWith(\"bsConfig\")));for(const i of s){let s=i.replace(/^bs/,\"\");s=s.charAt(0).toLowerCase()+s.slice(1,s.length),e[s]=z(t.dataset[i])}return e},getDataAttribute:(t,e)=>z(t.getAttribute(`data-bs-${H(e)}`))};class q{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method \"NAME\", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const s=l(e)?B.getDataAttribute(e,\"config\"):{};return{...this.constructor.Default,...\"object\"==typeof s?s:{},...l(e)?B.getDataAttributes(e):{},...\"object\"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[i,n]of Object.entries(e)){const e=t[i],o=l(e)?\"element\":null==(s=e)?`${s}`:Object.prototype.toString.call(s).match(/\\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(n).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option \"${i}\" provided type \"${o}\" but expected type \"${n}\".`)}var s}}class W extends q{constructor(t,e){super(),(t=c(t))&&(this._element=t,this._config=this._getConfig(e),n.set(this._element,this.constructor.DATA_KEY,this))}dispose(){n.remove(this._element,this.constructor.DATA_KEY),F.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,s=!0){y(t,e,s)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return n.get(c(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,\"object\"==typeof e?e:null)}static get VERSION(){return\"5.3.0\"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const R=t=>{let e=t.getAttribute(\"data-bs-target\");if(!e||\"#\"===e){let s=t.getAttribute(\"href\");if(!s||!s.includes(\"#\")&&!s.startsWith(\".\"))return null;s.includes(\"#\")&&!s.startsWith(\"#\")&&(s=`#${s.split(\"#\")[1]}`),e=s&&\"#\"!==s?s.trim():null}return r(e)},K={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const s=[];let i=t.parentNode.closest(e);for(;i;)s.push(i),i=i.parentNode.closest(e);return s},prev(t,e){let s=t.previousElementSibling;for(;s;){if(s.matches(e))return[s];s=s.previousElementSibling}return[]},next(t,e){let s=t.nextElementSibling;for(;s;){if(s.matches(e))return[s];s=s.nextElementSibling}return[]},focusableChildren(t){const e=[\"a\",\"button\",\"input\",\"textarea\",\"select\",\"details\",\"[tabindex]\",'[contenteditable=\"true\"]'].map((t=>`${t}:not([tabindex^=\"-\"])`)).join(\",\");return this.find(e,t).filter((t=>!d(t)&&h(t)))},getSelectorFromElement(t){const e=R(t);return e&&K.findOne(e)?e:null},getElementFromSelector(t){const e=R(t);return e?K.findOne(e):null},getMultipleElementsFromSelector(t){const e=R(t);return e?K.find(e):[]}},V=(t,e=\"hide\")=>{const s=`click.dismiss${t.EVENT_KEY}`,i=t.NAME;F.on(document,s,`[data-bs-dismiss=\"${i}\"]`,(function(s){if([\"A\",\"AREA\"].includes(this.tagName)&&s.preventDefault(),d(this))return;const n=K.getElementFromSelector(this)||this.closest(`.${i}`);t.getOrCreateInstance(n)[e]()}))};class Q extends W{static get NAME(){return\"alert\"}close(){if(F.trigger(this._element,\"close.bs.alert\").defaultPrevented)return;this._element.classList.remove(\"show\");const t=this._element.classList.contains(\"fade\");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),F.trigger(this._element,\"closed.bs.alert\"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if(\"string\"==typeof t){if(void 0===e[t]||t.startsWith(\"_\")||\"constructor\"===t)throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}V(Q,\"close\"),b(Q);const X='[data-bs-toggle=\"button\"]';class Y extends W{static get NAME(){return\"button\"}toggle(){this._element.setAttribute(\"aria-pressed\",this._element.classList.toggle(\"active\"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);\"toggle\"===t&&e[t]()}))}}F.on(document,\"click.bs.button.data-api\",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),b(Y);const U={endCallback:null,leftCallback:null,rightCallback:null},G={endCallback:\"(function|null)\",leftCallback:\"(function|null)\",rightCallback:\"(function|null)\"};class J extends q{constructor(t,e){super(),this._element=t,t&&J.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return U}static get DefaultType(){return G}static get NAME(){return\"swipe\"}dispose(){F.off(this._element,\".bs.swipe\")}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),v(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&v(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(F.on(this._element,\"pointerdown.bs.swipe\",(t=>this._start(t))),F.on(this._element,\"pointerup.bs.swipe\",(t=>this._end(t))),this._element.classList.add(\"pointer-event\")):(F.on(this._element,\"touchstart.bs.swipe\",(t=>this._start(t))),F.on(this._element,\"touchmove.bs.swipe\",(t=>this._move(t))),F.on(this._element,\"touchend.bs.swipe\",(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&(\"pen\"===t.pointerType||\"touch\"===t.pointerType)}static isSupported(){return\"ontouchstart\"in document.documentElement||navigator.maxTouchPoints>0}}const Z=\"next\",tt=\"prev\",et=\"left\",st=\"right\",it=\"slid.bs.carousel\",nt=\"carousel\",ot=\"active\",rt={ArrowLeft:st,ArrowRight:et},at={interval:5e3,keyboard:!0,pause:\"hover\",ride:!1,touch:!0,wrap:!0},lt={interval:\"(number|boolean)\",keyboard:\"boolean\",pause:\"(string|boolean)\",ride:\"(boolean|string)\",touch:\"boolean\",wrap:\"boolean\"};class ct extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=K.findOne(\".carousel-indicators\",this._element),this._addEventListeners(),this._config.ride===nt&&this.cycle()}static get Default(){return at}static get DefaultType(){return lt}static get NAME(){return\"carousel\"}next(){this._slide(Z)}nextWhenVisible(){!document.hidden&&h(this._element)&&this.next()}prev(){this._slide(tt)}pause(){this._isSliding&&a(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?F.one(this._element,it,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void F.one(this._element,it,(()=>this.to(t)));const s=this._getItemIndex(this._getActive());if(s===t)return;const i=t>s?Z:tt;this._slide(i,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&F.on(this._element,\"keydown.bs.carousel\",(t=>this._keydown(t))),\"hover\"===this._config.pause&&(F.on(this._element,\"mouseenter.bs.carousel\",(()=>this.pause())),F.on(this._element,\"mouseleave.bs.carousel\",(()=>this._maybeEnableCycle()))),this._config.touch&&J.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of K.find(\".carousel-item img\",this._element))F.on(t,\"dragstart.bs.carousel\",(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(et)),rightCallback:()=>this._slide(this._directionToOrder(st)),endCallback:()=>{\"hover\"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new J(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=rt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=K.findOne(\".active\",this._indicatorsElement);e.classList.remove(ot),e.removeAttribute(\"aria-current\");const s=K.findOne(`[data-bs-slide-to=\"${t}\"]`,this._indicatorsElement);s&&(s.classList.add(ot),s.setAttribute(\"aria-current\",\"true\"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute(\"data-bs-interval\"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const s=this._getActive(),i=t===Z,n=e||w(this._getItems(),s,i,this._config.wrap);if(n===s)return;const o=this._getItemIndex(n),r=e=>F.trigger(this._element,e,{relatedTarget:n,direction:this._orderToDirection(t),from:this._getItemIndex(s),to:o});if(r(\"slide.bs.carousel\").defaultPrevented)return;if(!s||!n)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=n;const l=i?\"carousel-item-start\":\"carousel-item-end\",c=i?\"carousel-item-next\":\"carousel-item-prev\";n.classList.add(c),g(n),s.classList.add(l),n.classList.add(l),this._queueCallback((()=>{n.classList.remove(l,c),n.classList.add(ot),s.classList.remove(ot,c,l),this._isSliding=!1,r(it)}),s,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains(\"slide\")}_getActive(){return K.findOne(\".active.carousel-item\",this._element)}_getItems(){return K.find(\".carousel-item\",this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===et?tt:Z:t===et?Z:tt}_orderToDirection(t){return p()?t===tt?et:st:t===tt?st:et}static jQueryInterface(t){return this.each((function(){const e=ct.getOrCreateInstance(this,t);if(\"number\"!=typeof t){if(\"string\"==typeof t){if(void 0===e[t]||t.startsWith(\"_\")||\"constructor\"===t)throw new TypeError(`No method named \"${t}\"`);e[t]()}}else e.to(t)}))}}F.on(document,\"click.bs.carousel.data-api\",\"[data-bs-slide], [data-bs-slide-to]\",(function(t){const e=K.getElementFromSelector(this);if(!e||!e.classList.contains(nt))return;t.preventDefault();const s=ct.getOrCreateInstance(e),i=this.getAttribute(\"data-bs-slide-to\");return i?(s.to(i),void s._maybeEnableCycle()):\"next\"===B.getDataAttribute(this,\"slide\")?(s.next(),void s._maybeEnableCycle()):(s.prev(),void s._maybeEnableCycle())})),F.on(window,\"load.bs.carousel.data-api\",(()=>{const t=K.find('[data-bs-ride=\"carousel\"]');for(const e of t)ct.getOrCreateInstance(e)})),b(ct);const ht=\"show\",dt=\"collapse\",ut=\"collapsing\",_t='[data-bs-toggle=\"collapse\"]',gt={parent:null,toggle:!0},ft={parent:\"(null|element)\",toggle:\"boolean\"};class mt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const s=K.find(_t);for(const t of s){const e=K.getSelectorFromElement(t),s=K.find(e).filter((t=>t===this._element));null!==e&&s.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return gt}static get DefaultType(){return ft}static get NAME(){return\"collapse\"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(\".collapse.show, .collapse.collapsing\").filter((t=>t!==this._element)).map((t=>mt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(F.trigger(this._element,\"show.bs.collapse\").defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(dt),this._element.classList.add(ut),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const s=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ut),this._element.classList.add(dt,ht),this._element.style[e]=\"\",F.trigger(this._element,\"shown.bs.collapse\")}),this._element,!0),this._element.style[e]=`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(F.trigger(this._element,\"hide.bs.collapse\").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,g(this._element),this._element.classList.add(ut),this._element.classList.remove(dt,ht);for(const t of this._triggerArray){const e=K.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]=\"\",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ut),this._element.classList.add(dt),F.trigger(this._element,\"hidden.bs.collapse\")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(ht)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=c(t.parent),t}_getDimension(){return this._element.classList.contains(\"collapse-horizontal\")?\"width\":\"height\"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(_t);for(const e of t){const t=K.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=K.find(\":scope .collapse .collapse\",this._config.parent);return K.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const s of t)s.classList.toggle(\"collapsed\",!e),s.setAttribute(\"aria-expanded\",e)}static jQueryInterface(t){const e={};return\"string\"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const s=mt.getOrCreateInstance(this,e);if(\"string\"==typeof t){if(void 0===s[t])throw new TypeError(`No method named \"${t}\"`);s[t]()}}))}}F.on(document,\"click.bs.collapse.data-api\",_t,(function(t){(\"A\"===t.target.tagName||t.delegateTarget&&\"A\"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of K.getMultipleElementsFromSelector(this))mt.getOrCreateInstance(t,{toggle:!1}).toggle()})),b(mt);const pt=\"dropdown\",bt=\"ArrowUp\",vt=\"ArrowDown\",yt=\"click.bs.dropdown.data-api\",wt=\"keydown.bs.dropdown.data-api\",At=\"show\",Et='[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)',Ct=`${Et}.show`,Tt=\".dropdown-menu\",kt=p()?\"top-end\":\"top-start\",St=p()?\"top-start\":\"top-end\",Lt=p()?\"bottom-end\":\"bottom-start\",Ot=p()?\"bottom-start\":\"bottom-end\",It=p()?\"left-start\":\"right-start\",Dt=p()?\"right-start\":\"left-start\",Nt={autoClose:!0,boundary:\"clippingParents\",display:\"dynamic\",offset:[0,2],popperConfig:null,reference:\"toggle\"},Pt={autoClose:\"(boolean|string)\",boundary:\"(string|element)\",display:\"string\",offset:\"(array|string|function)\",popperConfig:\"(null|object|function)\",reference:\"(string|element|object)\"};class xt extends W{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=K.next(this._element,Tt)[0]||K.prev(this._element,Tt)[0]||K.findOne(Tt,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Nt}static get DefaultType(){return Pt}static get NAME(){return pt}toggle(){return this._isShown()?this.hide():this.show()}show(){if(d(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!F.trigger(this._element,\"show.bs.dropdown\",t).defaultPrevented){if(this._createPopper(),\"ontouchstart\"in document.documentElement&&!this._parent.closest(\".navbar-nav\"))for(const t of[].concat(...document.body.children))F.on(t,\"mouseover\",_);this._element.focus(),this._element.setAttribute(\"aria-expanded\",!0),this._menu.classList.add(At),this._element.classList.add(At),F.trigger(this._element,\"shown.bs.dropdown\",t)}}hide(){if(d(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!F.trigger(this._element,\"hide.bs.dropdown\",t).defaultPrevented){if(\"ontouchstart\"in document.documentElement)for(const t of[].concat(...document.body.children))F.off(t,\"mouseover\",_);this._popper&&this._popper.destroy(),this._menu.classList.remove(At),this._element.classList.remove(At),this._element.setAttribute(\"aria-expanded\",\"false\"),B.removeDataAttribute(this._menu,\"popper\"),F.trigger(this._element,\"hidden.bs.dropdown\",t)}}_getConfig(t){if(\"object\"==typeof(t=super._getConfig(t)).reference&&!l(t.reference)&&\"function\"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${pt.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);return t}_createPopper(){if(void 0===s)throw new TypeError(\"Bootstrap's dropdowns require Popper (https://popper.js.org)\");let t=this._element;\"parent\"===this._config.reference?t=this._parent:l(this._config.reference)?t=c(this._config.reference):\"object\"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=s.createPopper(t,this._menu,e)}_isShown(){return this._menu.classList.contains(At)}_getPlacement(){const t=this._parent;if(t.classList.contains(\"dropend\"))return It;if(t.classList.contains(\"dropstart\"))return Dt;if(t.classList.contains(\"dropup-center\"))return\"top\";if(t.classList.contains(\"dropdown-center\"))return\"bottom\";const e=\"end\"===getComputedStyle(this._menu).getPropertyValue(\"--bs-position\").trim();return t.classList.contains(\"dropup\")?e?St:kt:e?Ot:Lt}_detectNavbar(){return null!==this._element.closest(\".navbar\")}_getOffset(){const{offset:t}=this._config;return\"string\"==typeof t?t.split(\",\").map((t=>Number.parseInt(t,10))):\"function\"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:\"preventOverflow\",options:{boundary:this._config.boundary}},{name:\"offset\",options:{offset:this._getOffset()}}]};return(this._inNavbar||\"static\"===this._config.display)&&(B.setDataAttribute(this._menu,\"popper\",\"static\"),t.modifiers=[{name:\"applyStyles\",enabled:!1}]),{...t,...v(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const s=K.find(\".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)\",this._menu).filter((t=>h(t)));s.length&&w(s,e,t===vt,!s.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if(\"string\"==typeof t){if(void 0===e[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}static clearMenus(t){if(2===t.button||\"keyup\"===t.type&&\"Tab\"!==t.key)return;const e=K.find(Ct);for(const s of e){const e=xt.getInstance(s);if(!e||!1===e._config.autoClose)continue;const i=t.composedPath(),n=i.includes(e._menu);if(i.includes(e._element)||\"inside\"===e._config.autoClose&&!n||\"outside\"===e._config.autoClose&&n)continue;if(e._menu.contains(t.target)&&(\"keyup\"===t.type&&\"Tab\"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};\"click\"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),s=\"Escape\"===t.key,i=[bt,vt].includes(t.key);if(!i&&!s)return;if(e&&!s)return;t.preventDefault();const n=this.matches(Et)?this:K.prev(this,Et)[0]||K.next(this,Et)[0]||K.findOne(Et,t.delegateTarget.parentNode),o=xt.getOrCreateInstance(n);if(i)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),n.focus())}}F.on(document,wt,Et,xt.dataApiKeydownHandler),F.on(document,wt,Tt,xt.dataApiKeydownHandler),F.on(document,yt,xt.clearMenus),F.on(document,\"keyup.bs.dropdown.data-api\",xt.clearMenus),F.on(document,yt,Et,(function(t){t.preventDefault(),xt.getOrCreateInstance(this).toggle()})),b(xt);const Mt=\"show\",jt=\"mousedown.bs.backdrop\",Ft={className:\"modal-backdrop\",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:\"body\"},$t={className:\"string\",clickCallback:\"(function|null)\",isAnimated:\"boolean\",isVisible:\"boolean\",rootElement:\"(element|string)\"};class zt extends q{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Ft}static get DefaultType(){return $t}static get NAME(){return\"backdrop\"}show(t){if(!this._config.isVisible)return void v(t);this._append();const e=this._getElement();this._config.isAnimated&&g(e),e.classList.add(Mt),this._emulateAnimation((()=>{v(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Mt),this._emulateAnimation((()=>{this.dispose(),v(t)}))):v(t)}dispose(){this._isAppended&&(F.off(this._element,jt),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement(\"div\");t.className=this._config.className,this._config.isAnimated&&t.classList.add(\"fade\"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=c(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),F.on(t,jt,(()=>{v(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){y(t,this._getElement(),this._config.isAnimated)}}const Ht=\".bs.focustrap\",Bt=\"backward\",qt={autofocus:!0,trapElement:null},Wt={autofocus:\"boolean\",trapElement:\"element\"};class Rt extends q{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return qt}static get DefaultType(){return Wt}static get NAME(){return\"focustrap\"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),F.off(document,Ht),F.on(document,\"focusin.bs.focustrap\",(t=>this._handleFocusin(t))),F.on(document,\"keydown.tab.bs.focustrap\",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,F.off(document,Ht))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const s=K.focusableChildren(e);0===s.length?e.focus():this._lastTabNavDirection===Bt?s[s.length-1].focus():s[0].focus()}_handleKeydown(t){\"Tab\"===t.key&&(this._lastTabNavDirection=t.shiftKey?Bt:\"forward\")}}const Kt=\".fixed-top, .fixed-bottom, .is-fixed, .sticky-top\",Vt=\".sticky-top\",Qt=\"padding-right\",Xt=\"margin-right\";class Yt{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Qt,(e=>e+t)),this._setElementAttributes(Kt,Qt,(e=>e+t)),this._setElementAttributes(Vt,Xt,(e=>e-t))}reset(){this._resetElementAttributes(this._element,\"overflow\"),this._resetElementAttributes(this._element,Qt),this._resetElementAttributes(Kt,Qt),this._resetElementAttributes(Vt,Xt)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,\"overflow\"),this._element.style.overflow=\"hidden\"}_setElementAttributes(t,e,s){const i=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+i)return;this._saveInitialAttribute(t,e);const n=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${s(Number.parseFloat(n))}px`)}))}_saveInitialAttribute(t,e){const s=t.style.getPropertyValue(e);s&&B.setDataAttribute(t,e,s)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const s=B.getDataAttribute(t,e);null!==s?(B.removeDataAttribute(t,e),t.style.setProperty(e,s)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(l(t))e(t);else for(const s of K.find(t,this._element))e(s)}}const Ut=\".bs.modal\",Gt=\"hidden.bs.modal\",Jt=\"show.bs.modal\",Zt=\"modal-open\",te=\"show\",ee=\"modal-static\",se={backdrop:!0,focus:!0,keyboard:!0},ie={backdrop:\"(boolean|string)\",focus:\"boolean\",keyboard:\"boolean\"};class ne extends W{constructor(t,e){super(t,e),this._dialog=K.findOne(\".modal-dialog\",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Yt,this._addEventListeners()}static get Default(){return se}static get DefaultType(){return ie}static get NAME(){return\"modal\"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||F.trigger(this._element,Jt,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Zt),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(F.trigger(this._element,\"hide.bs.modal\").defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(te),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){F.off(window,Ut),F.off(this._dialog,Ut),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new zt({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Rt({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display=\"block\",this._element.removeAttribute(\"aria-hidden\"),this._element.setAttribute(\"aria-modal\",!0),this._element.setAttribute(\"role\",\"dialog\"),this._element.scrollTop=0;const e=K.findOne(\".modal-body\",this._dialog);e&&(e.scrollTop=0),g(this._element),this._element.classList.add(te),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,F.trigger(this._element,\"shown.bs.modal\",{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){F.on(this._element,\"keydown.dismiss.bs.modal\",(t=>{\"Escape\"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),F.on(window,\"resize.bs.modal\",(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),F.on(this._element,\"mousedown.dismiss.bs.modal\",(t=>{F.one(this._element,\"click.dismiss.bs.modal\",(e=>{this._element===t.target&&this._element===e.target&&(\"static\"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display=\"none\",this._element.setAttribute(\"aria-hidden\",!0),this._element.removeAttribute(\"aria-modal\"),this._element.removeAttribute(\"role\"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Zt),this._resetAdjustments(),this._scrollBar.reset(),F.trigger(this._element,Gt)}))}_isAnimated(){return this._element.classList.contains(\"fade\")}_triggerBackdropTransition(){if(F.trigger(this._element,\"hidePrevented.bs.modal\").defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;\"hidden\"===e||this._element.classList.contains(ee)||(t||(this._element.style.overflowY=\"hidden\"),this._element.classList.add(ee),this._queueCallback((()=>{this._element.classList.remove(ee),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),s=e>0;if(s&&!t){const t=p()?\"paddingLeft\":\"paddingRight\";this._element.style[t]=`${e}px`}if(!s&&t){const t=p()?\"paddingRight\":\"paddingLeft\";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft=\"\",this._element.style.paddingRight=\"\"}static jQueryInterface(t,e){return this.each((function(){const s=ne.getOrCreateInstance(this,t);if(\"string\"==typeof t){if(void 0===s[t])throw new TypeError(`No method named \"${t}\"`);s[t](e)}}))}}F.on(document,\"click.bs.modal.data-api\",'[data-bs-toggle=\"modal\"]',(function(t){const e=K.getElementFromSelector(this);[\"A\",\"AREA\"].includes(this.tagName)&&t.preventDefault(),F.one(e,Jt,(t=>{t.defaultPrevented||F.one(e,Gt,(()=>{h(this)&&this.focus()}))}));const s=K.findOne(\".modal.show\");s&&ne.getInstance(s).hide(),ne.getOrCreateInstance(e).toggle(this)})),V(ne),b(ne);const oe=\"show\",re=\"showing\",ae=\"hiding\",le=\".offcanvas.show\",ce=\"hidePrevented.bs.offcanvas\",he=\"hidden.bs.offcanvas\",de={backdrop:!0,keyboard:!0,scroll:!1},ue={backdrop:\"(boolean|string)\",keyboard:\"boolean\",scroll:\"boolean\"};class _e extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return de}static get DefaultType(){return ue}static get NAME(){return\"offcanvas\"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||F.trigger(this._element,\"show.bs.offcanvas\",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Yt).hide(),this._element.setAttribute(\"aria-modal\",!0),this._element.setAttribute(\"role\",\"dialog\"),this._element.classList.add(re),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(oe),this._element.classList.remove(re),F.trigger(this._element,\"shown.bs.offcanvas\",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(F.trigger(this._element,\"hide.bs.offcanvas\").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ae),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(oe,ae),this._element.removeAttribute(\"aria-modal\"),this._element.removeAttribute(\"role\"),this._config.scroll||(new Yt).reset(),F.trigger(this._element,he)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new zt({className:\"offcanvas-backdrop\",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{\"static\"!==this._config.backdrop?this.hide():F.trigger(this._element,ce)}:null})}_initializeFocusTrap(){return new Rt({trapElement:this._element})}_addEventListeners(){F.on(this._element,\"keydown.dismiss.bs.offcanvas\",(t=>{\"Escape\"===t.key&&(this._config.keyboard?this.hide():F.trigger(this._element,ce))}))}static jQueryInterface(t){return this.each((function(){const e=_e.getOrCreateInstance(this,t);if(\"string\"==typeof t){if(void 0===e[t]||t.startsWith(\"_\")||\"constructor\"===t)throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}F.on(document,\"click.bs.offcanvas.data-api\",'[data-bs-toggle=\"offcanvas\"]',(function(t){const e=K.getElementFromSelector(this);if([\"A\",\"AREA\"].includes(this.tagName)&&t.preventDefault(),d(this))return;F.one(e,he,(()=>{h(this)&&this.focus()}));const s=K.findOne(le);s&&s!==e&&_e.getInstance(s).hide(),_e.getOrCreateInstance(e).toggle(this)})),F.on(window,\"load.bs.offcanvas.data-api\",(()=>{for(const t of K.find(le))_e.getOrCreateInstance(t).show()})),F.on(window,\"resize.bs.offcanvas\",(()=>{for(const t of K.find(\"[aria-modal][class*=show][class*=offcanvas-]\"))\"fixed\"!==getComputedStyle(t).position&&_e.getOrCreateInstance(t).hide()})),V(_e),b(_e);const ge={\"*\":[\"class\",\"dir\",\"id\",\"lang\",\"role\",/^aria-[\\w-]*$/i],a:[\"target\",\"href\",\"title\",\"rel\"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:[\"src\",\"srcset\",\"alt\",\"title\",\"width\",\"height\"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},fe=new Set([\"background\",\"cite\",\"href\",\"itemtype\",\"longdesc\",\"poster\",\"src\",\"xlink:href\"]),me=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,pe=(t,e)=>{const s=t.nodeName.toLowerCase();return e.includes(s)?!fe.has(s)||Boolean(me.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(s)))},be={allowList:ge,content:{},extraClass:\"\",html:!1,sanitize:!0,sanitizeFn:null,template:\"
\"},ve={allowList:\"object\",content:\"object\",extraClass:\"(string|function)\",html:\"boolean\",sanitize:\"boolean\",sanitizeFn:\"(null|function)\",template:\"string\"},ye={entry:\"(string|element|function|null)\",selector:\"(string|element)\"};class we extends q{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return be}static get DefaultType(){return ve}static get NAME(){return\"TemplateFactory\"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement(\"div\");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,s]of Object.entries(this._config.content))this._setContent(t,s,e);const e=t.children[0],s=this._resolvePossibleFunction(this._config.extraClass);return s&&e.classList.add(...s.split(\" \")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,s]of Object.entries(t))super._typeCheckConfig({selector:e,entry:s},ye)}_setContent(t,e,s){const i=K.findOne(s,t);i&&((e=this._resolvePossibleFunction(e))?l(e)?this._putElementInTemplate(c(e),i):this._config.html?i.innerHTML=this._maybeSanitize(e):i.textContent=e:i.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,s){if(!t.length)return t;if(s&&\"function\"==typeof s)return s(t);const i=(new window.DOMParser).parseFromString(t,\"text/html\"),n=[].concat(...i.body.querySelectorAll(\"*\"));for(const t of n){const s=t.nodeName.toLowerCase();if(!Object.keys(e).includes(s)){t.remove();continue}const i=[].concat(...t.attributes),n=[].concat(e[\"*\"]||[],e[s]||[]);for(const e of i)pe(e,n)||t.removeAttribute(e.nodeName)}return i.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return v(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML=\"\",void e.append(t);e.textContent=t.textContent}}const Ae=new Set([\"sanitize\",\"allowList\",\"sanitizeFn\"]),Ee=\"fade\",Ce=\"show\",Te=\".modal\",ke=\"hide.bs.modal\",Se=\"hover\",Le=\"focus\",Oe={AUTO:\"auto\",TOP:\"top\",RIGHT:p()?\"left\":\"right\",BOTTOM:\"bottom\",LEFT:p()?\"right\":\"left\"},Ie={allowList:ge,animation:!0,boundary:\"clippingParents\",container:!1,customClass:\"\",delay:0,fallbackPlacements:[\"top\",\"right\",\"bottom\",\"left\"],html:!1,offset:[0,6],placement:\"top\",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'
',title:\"\",trigger:\"hover focus\"},De={allowList:\"object\",animation:\"boolean\",boundary:\"(string|element)\",container:\"(string|element|boolean)\",customClass:\"(string|function)\",delay:\"(number|object)\",fallbackPlacements:\"array\",html:\"boolean\",offset:\"(array|string|function)\",placement:\"(string|function)\",popperConfig:\"(null|object|function)\",sanitize:\"boolean\",sanitizeFn:\"(null|function)\",selector:\"(string|boolean)\",template:\"string\",title:\"(string|element|function)\",trigger:\"string\"};class Ne extends W{constructor(t,e){if(void 0===s)throw new TypeError(\"Bootstrap's tooltips require Popper (https://popper.js.org)\");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Ie}static get DefaultType(){return De}static get NAME(){return\"tooltip\"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),F.off(this._element.closest(Te),ke,this._hideModalHandler),this._element.getAttribute(\"data-bs-original-title\")&&this._element.setAttribute(\"title\",this._element.getAttribute(\"data-bs-original-title\")),this._disposePopper(),super.dispose()}show(){if(\"none\"===this._element.style.display)throw new Error(\"Please use show on visible elements\");if(!this._isWithContent()||!this._isEnabled)return;const t=F.trigger(this._element,this.constructor.eventName(\"show\")),e=(u(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const s=this._getTipElement();this._element.setAttribute(\"aria-describedby\",s.getAttribute(\"id\"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(s),F.trigger(this._element,this.constructor.eventName(\"inserted\"))),this._popper=this._createPopper(s),s.classList.add(Ce),\"ontouchstart\"in document.documentElement)for(const t of[].concat(...document.body.children))F.on(t,\"mouseover\",_);this._queueCallback((()=>{F.trigger(this._element,this.constructor.eventName(\"shown\")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!F.trigger(this._element,this.constructor.eventName(\"hide\")).defaultPrevented){if(this._getTipElement().classList.remove(Ce),\"ontouchstart\"in document.documentElement)for(const t of[].concat(...document.body.children))F.off(t,\"mouseover\",_);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute(\"aria-describedby\"),F.trigger(this._element,this.constructor.eventName(\"hidden\")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Ee,Ce),e.classList.add(`bs-${this.constructor.NAME}-auto`);const s=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute(\"id\",s),this._isAnimated()&&e.classList.add(Ee),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new we({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{\".tooltip-inner\":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute(\"data-bs-original-title\")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Ee)}_isShown(){return this.tip&&this.tip.classList.contains(Ce)}_createPopper(t){const e=v(this._config.placement,[this,t,this._element]),i=Oe[e.toUpperCase()];return s.createPopper(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return\"string\"==typeof t?t.split(\",\").map((t=>Number.parseInt(t,10))):\"function\"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return v(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:\"flip\",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:\"offset\",options:{offset:this._getOffset()}},{name:\"preventOverflow\",options:{boundary:this._config.boundary}},{name:\"arrow\",options:{element:`.${this.constructor.NAME}-arrow`}},{name:\"preSetPlacement\",enabled:!0,phase:\"beforeMain\",fn:t=>{this._getTipElement().setAttribute(\"data-popper-placement\",t.state.placement)}}]};return{...e,...v(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(\" \");for(const e of t)if(\"click\"===e)F.on(this._element,this.constructor.eventName(\"click\"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if(\"manual\"!==e){const t=e===Se?this.constructor.eventName(\"mouseenter\"):this.constructor.eventName(\"focusin\"),s=e===Se?this.constructor.eventName(\"mouseleave\"):this.constructor.eventName(\"focusout\");F.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger[\"focusin\"===t.type?Le:Se]=!0,e._enter()})),F.on(this._element,s,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger[\"focusout\"===t.type?Le:Se]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},F.on(this._element.closest(Te),ke,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute(\"title\");t&&(this._element.getAttribute(\"aria-label\")||this._element.textContent.trim()||this._element.setAttribute(\"aria-label\",t),this._element.setAttribute(\"data-bs-original-title\",t),this._element.removeAttribute(\"title\"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=B.getDataAttributes(this._element);for(const t of Object.keys(e))Ae.has(t)&&delete e[t];return t={...e,...\"object\"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:c(t.container),\"number\"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),\"number\"==typeof t.title&&(t.title=t.title.toString()),\"number\"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,s]of Object.entries(this._config))this.constructor.Default[e]!==s&&(t[e]=s);return t.selector=!1,t.trigger=\"manual\",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=Ne.getOrCreateInstance(this,t);if(\"string\"==typeof t){if(void 0===e[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}b(Ne);const Pe={...Ne.Default,content:\"\",offset:[0,8],placement:\"right\",template:'

',trigger:\"click\"},xe={...Ne.DefaultType,content:\"(null|string|element|function)\"};class Me extends Ne{static get Default(){return Pe}static get DefaultType(){return xe}static get NAME(){return\"popover\"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{\".popover-header\":this._getTitle(),\".popover-body\":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=Me.getOrCreateInstance(this,t);if(\"string\"==typeof t){if(void 0===e[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}b(Me);const je=\"click.bs.scrollspy\",Fe=\"active\",$e=\"[href]\",ze={offset:null,rootMargin:\"0px 0px -25%\",smoothScroll:!1,target:null,threshold:[.1,.5,1]},He={offset:\"(number|null)\",rootMargin:\"string\",smoothScroll:\"boolean\",target:\"element\",threshold:\"array\"};class Be extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=\"visible\"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ze}static get DefaultType(){return He}static get NAME(){return\"scrollspy\"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=c(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,\"string\"==typeof t.threshold&&(t.threshold=t.threshold.split(\",\").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(F.off(this._config.target,je),F.on(this._config.target,je,$e,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const s=this._rootElement||window,i=e.offsetTop-this._element.offsetTop;if(s.scrollTo)return void s.scrollTo({top:i,behavior:\"smooth\"});s.scrollTop=i}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),s=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},i=(this._rootElement||document.documentElement).scrollTop,n=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(n&&t){if(s(o),!i)return}else n||t||s(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=K.find($e,this._config.target);for(const e of t){if(!e.hash||d(e))continue;const t=K.findOne(decodeURI(e.hash),this._element);h(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(Fe),this._activateParents(t),F.trigger(this._element,\"activate.bs.scrollspy\",{relatedTarget:t}))}_activateParents(t){if(t.classList.contains(\"dropdown-item\"))K.findOne(\".dropdown-toggle\",t.closest(\".dropdown\")).classList.add(Fe);else for(const e of K.parents(t,\".nav, .list-group\"))for(const t of K.prev(e,\".nav-link, .nav-item > .nav-link, .list-group-item\"))t.classList.add(Fe)}_clearActiveClass(t){t.classList.remove(Fe);const e=K.find(\"[href].active\",t);for(const t of e)t.classList.remove(Fe)}static jQueryInterface(t){return this.each((function(){const e=Be.getOrCreateInstance(this,t);if(\"string\"==typeof t){if(void 0===e[t]||t.startsWith(\"_\")||\"constructor\"===t)throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}F.on(window,\"load.bs.scrollspy.data-api\",(()=>{for(const t of K.find('[data-bs-spy=\"scroll\"]'))Be.getOrCreateInstance(t)})),b(Be);const qe=\"ArrowLeft\",We=\"ArrowRight\",Re=\"ArrowUp\",Ke=\"ArrowDown\",Ve=\"active\",Qe=\"fade\",Xe=\"show\",Ye='[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]',Ue=`.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role=\"tab\"]:not(.dropdown-toggle), ${Ye}`;class Ge extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role=\"tablist\"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),F.on(this._element,\"keydown.bs.tab\",(t=>this._keydown(t))))}static get NAME(){return\"tab\"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),s=e?F.trigger(e,\"hide.bs.tab\",{relatedTarget:t}):null;F.trigger(t,\"show.bs.tab\",{relatedTarget:e}).defaultPrevented||s&&s.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Ve),this._activate(K.getElementFromSelector(t)),this._queueCallback((()=>{\"tab\"===t.getAttribute(\"role\")?(t.removeAttribute(\"tabindex\"),t.setAttribute(\"aria-selected\",!0),this._toggleDropDown(t,!0),F.trigger(t,\"shown.bs.tab\",{relatedTarget:e})):t.classList.add(Xe)}),t,t.classList.contains(Qe)))}_deactivate(t,e){t&&(t.classList.remove(Ve),t.blur(),this._deactivate(K.getElementFromSelector(t)),this._queueCallback((()=>{\"tab\"===t.getAttribute(\"role\")?(t.setAttribute(\"aria-selected\",!1),t.setAttribute(\"tabindex\",\"-1\"),this._toggleDropDown(t,!1),F.trigger(t,\"hidden.bs.tab\",{relatedTarget:e})):t.classList.remove(Xe)}),t,t.classList.contains(Qe)))}_keydown(t){if(![qe,We,Re,Ke].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=[We,Ke].includes(t.key),s=w(this._getChildren().filter((t=>!d(t))),t.target,e,!0);s&&(s.focus({preventScroll:!0}),Ge.getOrCreateInstance(s).show())}_getChildren(){return K.find(Ue,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,\"role\",\"tablist\");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),s=this._getOuterElement(t);t.setAttribute(\"aria-selected\",e),s!==t&&this._setAttributeIfNotExists(s,\"role\",\"presentation\"),e||t.setAttribute(\"tabindex\",\"-1\"),this._setAttributeIfNotExists(t,\"role\",\"tab\"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=K.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,\"role\",\"tabpanel\"),t.id&&this._setAttributeIfNotExists(e,\"aria-labelledby\",`${t.id}`))}_toggleDropDown(t,e){const s=this._getOuterElement(t);if(!s.classList.contains(\"dropdown\"))return;const i=(t,i)=>{const n=K.findOne(t,s);n&&n.classList.toggle(i,e)};i(\".dropdown-toggle\",Ve),i(\".dropdown-menu\",Xe),s.setAttribute(\"aria-expanded\",e)}_setAttributeIfNotExists(t,e,s){t.hasAttribute(e)||t.setAttribute(e,s)}_elemIsActive(t){return t.classList.contains(Ve)}_getInnerElement(t){return t.matches(Ue)?t:K.findOne(Ue,t)}_getOuterElement(t){return t.closest(\".nav-item, .list-group-item\")||t}static jQueryInterface(t){return this.each((function(){const e=Ge.getOrCreateInstance(this);if(\"string\"==typeof t){if(void 0===e[t]||t.startsWith(\"_\")||\"constructor\"===t)throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}F.on(document,\"click.bs.tab\",Ye,(function(t){[\"A\",\"AREA\"].includes(this.tagName)&&t.preventDefault(),d(this)||Ge.getOrCreateInstance(this).show()})),F.on(window,\"load.bs.tab\",(()=>{for(const t of K.find('.active[data-bs-toggle=\"tab\"], .active[data-bs-toggle=\"pill\"], .active[data-bs-toggle=\"list\"]'))Ge.getOrCreateInstance(t)})),b(Ge);const Je=\"hide\",Ze=\"show\",ts=\"showing\",es={animation:\"boolean\",autohide:\"boolean\",delay:\"number\"},ss={animation:!0,autohide:!0,delay:5e3};class is extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return ss}static get DefaultType(){return es}static get NAME(){return\"toast\"}show(){F.trigger(this._element,\"show.bs.toast\").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add(\"fade\"),this._element.classList.remove(Je),g(this._element),this._element.classList.add(Ze,ts),this._queueCallback((()=>{this._element.classList.remove(ts),F.trigger(this._element,\"shown.bs.toast\"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(F.trigger(this._element,\"hide.bs.toast\").defaultPrevented||(this._element.classList.add(ts),this._queueCallback((()=>{this._element.classList.add(Je),this._element.classList.remove(ts,Ze),F.trigger(this._element,\"hidden.bs.toast\")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Ze),super.dispose()}isShown(){return this._element.classList.contains(Ze)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case\"mouseover\":case\"mouseout\":this._hasMouseInteraction=e;break;case\"focusin\":case\"focusout\":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const s=t.relatedTarget;this._element===s||this._element.contains(s)||this._maybeScheduleHide()}_setListeners(){F.on(this._element,\"mouseover.bs.toast\",(t=>this._onInteraction(t,!0))),F.on(this._element,\"mouseout.bs.toast\",(t=>this._onInteraction(t,!1))),F.on(this._element,\"focusin.bs.toast\",(t=>this._onInteraction(t,!0))),F.on(this._element,\"focusout.bs.toast\",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=is.getOrCreateInstance(this,t);if(\"string\"==typeof t){if(void 0===e[t])throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}return V(is),b(is),{Alert:Q,Button:Y,Carousel:ct,Collapse:mt,Dropdown:xt,Modal:ne,Offcanvas:_e,Popover:Me,ScrollSpy:Be,Tab:Ge,Toast:is,Tooltip:Ne}}));\n//# sourceMappingURL=bootstrap.min.js.map","\"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 = global.fetch;\n//# sourceMappingURL=fetch.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-pages-404-js\": () => import(\"./../../../src/pages/404.js\" /* webpackChunkName: \"component---src-pages-404-js\" */),\n \"component---src-pages-about-mma-india-js\": () => import(\"./../../../src/pages/about-mma-india.js\" /* webpackChunkName: \"component---src-pages-about-mma-india-js\" */),\n \"component---src-pages-digital-partner-js\": () => import(\"./../../../src/pages/digital-partner.js\" /* webpackChunkName: \"component---src-pages-digital-partner-js\" */),\n \"component---src-pages-events-js\": () => import(\"./../../../src/pages/events.js\" /* webpackChunkName: \"component---src-pages-events-js\" */),\n \"component---src-pages-index-js\": () => import(\"./../../../src/pages/index.js\" /* webpackChunkName: \"component---src-pages-index-js\" */),\n \"component---src-pages-mma-js\": () => import(\"./../../../src/pages/mma.js\" /* webpackChunkName: \"component---src-pages-mma-js\" */),\n \"component---src-templates-article-js\": () => import(\"./../../../src/templates/article.js\" /* webpackChunkName: \"component---src-templates-article-js\" */)\n}\n\n","module.exports = [{\n plugin: require('../node_modules/gatsby-plugin-manifest/gatsby-browser.js'),\n options: {\"plugins\":[],\"name\":\"Mixed Martial Arts India\",\"short_name\":\"mma-india\",\"start_url\":\"/\",\"background_color\":\"#663399\",\"display\":\"minimal-ui\",\"icon\":\"src/icons/favicon.svg\",\"legacy\":true,\"theme_color_in_head\":true,\"cache_busting_mode\":\"query\",\"crossOrigin\":\"anonymous\",\"include_favicon\":true,\"cacheDigest\":\"ccac43a5f51529d4e691eabfcc10af4e\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-apollo/gatsby-browser.js'),\n options: {\"plugins\":[],\"uri\":\"https://api.bighit.fans/v14/graphql\"},\n },{\n plugin: require('../node_modules/gatsby-plugin-google-gtag/gatsby-browser.js'),\n options: {\"plugins\":[],\"trackingIds\":[\"G-GTP6N256JC\"],\"pluginConfig\":{\"head\":true,\"respectDNT\":true,\"exclude\":[\"/preview/**\",\"/do-not-track/me/too/\"],\"origin\":\"https://www.googletagmanager.com\",\"delayOnRouteUpdate\":0},\"gtagConfig\":{}},\n },{\n plugin: require('../gatsby-browser.js'),\n options: {\"plugins\":[]},\n },{\n plugin: require('../node_modules/gatsby/dist/internal-plugins/partytown/gatsby-browser.js'),\n options: {\"plugins\":[]},\n }]\n","const plugins = require(`./api-runner-browser-plugins`)\nconst { getResourceURLsForPathname, loadPage, loadPageSync } =\n require(`./loader`).publicLoader\n\nexports.apiRunner = (api, args = {}, defaultReturn, argTransform) => {\n // Hooks for gatsby-cypress's API handler\n if (process.env.CYPRESS_SUPPORT) {\n if (window.___apiHandler) {\n window.___apiHandler(api)\n } else if (window.___resolvedAPIs) {\n window.___resolvedAPIs.push(api)\n } else {\n window.___resolvedAPIs = [api]\n }\n }\n\n let results = plugins.map(plugin => {\n if (!plugin.plugin[api]) {\n return undefined\n }\n\n args.getResourceURLsForPathname = getResourceURLsForPathname\n args.loadPage = loadPage\n args.loadPageSync = loadPageSync\n\n const result = plugin.plugin[api](args, plugin.options)\n if (result && argTransform) {\n args = argTransform({ args, result, plugin })\n }\n return result\n })\n\n // Filter out undefined results.\n results = results.filter(result => typeof result !== `undefined`)\n\n if (results.length > 0) {\n return results\n } else if (defaultReturn) {\n return [defaultReturn]\n } else {\n return []\n }\n}\n\nexports.apiRunnerAsync = (api, args, defaultReturn) =>\n plugins.reduce(\n (previous, next) =>\n next.plugin[api]\n ? previous.then(() => next.plugin[api](args, next.options))\n : previous,\n Promise.resolve()\n )\n","exports.createContentDigest = () => ``\n","import mitt from \"mitt\"\n\nconst emitter = mitt()\nexport default emitter\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","export default pathAndSearch => {\n if (pathAndSearch === undefined) {\n return pathAndSearch\n }\n let [path, search = ``] = pathAndSearch.split(`?`)\n if (search) {\n search = `?` + search\n }\n\n if (path === `/`) {\n return `/` + search\n }\n if (path.charAt(path.length - 1) === `/`) {\n return path.slice(0, -1) + search\n }\n return path + search\n}\n","import { pick } from \"@gatsbyjs/reach-router\"\nimport stripPrefix from \"./strip-prefix\"\nimport normalizePagePath from \"./normalize-page-path\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\n\nconst pathCache = new Map()\nlet matchPaths = []\n\nconst trimPathname = rawPathname => {\n let newRawPathname = rawPathname\n const queryIndex = rawPathname.indexOf(`?`)\n\n if (queryIndex !== -1) {\n const [path, qs] = rawPathname.split(`?`)\n newRawPathname = `${path}?${encodeURIComponent(qs)}`\n }\n\n const pathname = decodeURIComponent(newRawPathname)\n\n // Remove the pathPrefix from the pathname.\n const trimmedPathname = stripPrefix(\n pathname,\n decodeURIComponent(__BASE_PATH__)\n )\n // Remove any hashfragment\n .split(`#`)[0]\n\n return trimmedPathname\n}\n\nfunction absolutify(path) {\n // If it's already absolute, return as-is\n if (\n path.startsWith(`/`) ||\n path.startsWith(`https://`) ||\n path.startsWith(`http://`)\n ) {\n return path\n }\n // Calculate path relative to current location, adding a trailing slash to\n // match behavior of @reach/router\n return new URL(\n path,\n window.location.href + (window.location.href.endsWith(`/`) ? `` : `/`)\n ).pathname\n}\n\n/**\n * Set list of matchPaths\n *\n * @param {Array<{path: string, matchPath: string}>} value collection of matchPaths\n */\nexport const setMatchPaths = value => {\n matchPaths = value\n}\n\n/**\n * Return a matchpath url\n * if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n * `/foo?bar=far` => `/page1`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string|null}\n */\nexport const findMatchPath = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return normalizePagePath(path.route.originalPath)\n }\n\n return null\n}\n\n/**\n * Return a matchpath params from reach/router rules\n * if `match-paths.json` contains `{ \":bar/*foo\" }`, and the path is /baz/zaz/zoo\n * then it returns\n * { bar: baz, foo: zaz/zoo }\n *\n * @param {string} rawPathname A raw pathname\n * @return {object}\n */\nexport const grabMatchParams = rawPathname => {\n const trimmedPathname = cleanPath(rawPathname)\n\n const pickPaths = matchPaths.map(({ path, matchPath }) => {\n return {\n path: matchPath,\n originalPath: path,\n }\n })\n\n const path = pick(pickPaths, trimmedPathname)\n\n if (path) {\n return path.params\n }\n\n return {}\n}\n\n// Given a raw URL path, returns the cleaned version of it (trim off\n// `#` and query params), or if it matches an entry in\n// `match-paths.json`, its matched path is returned\n//\n// E.g. `/foo?bar=far` => `/foo`\n//\n// Or if `match-paths.json` contains `{ \"/foo*\": \"/page1\", ...}`, then\n// `/foo?bar=far` => `/page1`\nexport const findPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n if (pathCache.has(trimmedPathname)) {\n return pathCache.get(trimmedPathname)\n }\n\n const redirect = maybeGetBrowserRedirect(rawPathname)\n if (redirect) {\n return findPath(redirect.toPath)\n }\n\n let foundPath = findMatchPath(trimmedPathname)\n\n if (!foundPath) {\n foundPath = cleanPath(rawPathname)\n }\n\n pathCache.set(trimmedPathname, foundPath)\n\n return foundPath\n}\n\n/**\n * Clean a url and converts /index.html => /\n * E.g. `/foo?bar=far` => `/foo`\n *\n * @param {string} rawPathname A raw pathname\n * @return {string}\n */\nexport const cleanPath = rawPathname => {\n const trimmedPathname = trimPathname(absolutify(rawPathname))\n\n let foundPath = trimmedPathname\n if (foundPath === `/index.html`) {\n foundPath = `/`\n }\n\n foundPath = normalizePagePath(foundPath)\n\n return foundPath\n}\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import React from \"react\"\n\nexport const ServerSliceRenderer = ({ sliceId, children }) => {\n const contents = [\n React.createElement(`slice-start`, {\n id: `${sliceId}-1`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-1`,\n }),\n ]\n\n if (children) {\n // if children exist, we split the slice into a before and after piece\n // see renderSlices in render-html\n contents.push(children)\n contents.push(\n React.createElement(`slice-start`, {\n id: `${sliceId}-2`,\n }),\n React.createElement(`slice-end`, {\n id: `${sliceId}-2`,\n })\n )\n }\n\n return contents\n}\n","import React, { useContext } from \"react\"\nimport { createContentDigest } from \"gatsby-core-utils/create-content-digest\"\nimport { SlicesMapContext, SlicesPropsContext } from \"./context\"\nimport { ServerSliceRenderer } from \"./server-slice-renderer\"\n\nconst getSliceId = (sliceName, sliceProps) => {\n if (!Object.keys(sliceProps).length) {\n return sliceName\n }\n\n const propsString = createContentDigest(sliceProps)\n return `${sliceName}-${propsString}`\n}\n\nexport const ServerSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesProps = useContext(SlicesPropsContext)\n const concreteSliceName = slicesMap[sliceName]\n\n if (!concreteSliceName) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n const sliceId = getSliceId(concreteSliceName, sliceProps)\n\n // set props on context object for static-entry to return\n let sliceUsage = slicesProps[sliceId]\n if (!sliceUsage) {\n slicesProps[sliceId] = sliceUsage = {\n props: sliceProps,\n sliceName: concreteSliceName,\n hasChildren: !!children,\n }\n } else {\n if (children) {\n sliceUsage.hasChildren = true\n }\n }\n\n return {children}\n}\n","import React, { useContext } from \"react\"\nimport { SlicesMapContext, SlicesResultsContext } from \"./context\"\n\nexport const InlineSlice = ({\n sliceName,\n allowEmpty,\n children,\n ...sliceProps\n}) => {\n const slicesMap = useContext(SlicesMapContext)\n const slicesResultsMap = useContext(SlicesResultsContext)\n const concreteSliceName = slicesMap[sliceName]\n const slice = slicesResultsMap.get(concreteSliceName)\n\n if (!slice) {\n if (allowEmpty) {\n return null\n } else {\n throw new Error(\n `Slice \"${concreteSliceName}\" for \"${sliceName}\" slot not found`\n )\n }\n }\n\n return (\n \n {children}\n \n )\n}\n","\"use client\"\n\nimport React, { useContext } from \"react\"\nimport { ServerSlice } from \"./slice/server-slice\"\nimport { InlineSlice } from \"./slice/inline-slice\"\nimport { SlicesContext } from \"./slice/context\"\n\nexport function Slice(props) {\n if (process.env.GATSBY_SLICES) {\n // we use sliceName internally, so remap alias to sliceName\n const internalProps = {\n ...props,\n sliceName: props.alias,\n }\n delete internalProps.alias\n delete internalProps.__renderedByLocation\n\n const slicesContext = useContext(SlicesContext)\n\n // validate props\n const propErrors = validateSliceProps(props)\n if (Object.keys(propErrors).length) {\n throw new SlicePropsError(\n slicesContext.renderEnvironment === `browser`,\n internalProps.sliceName,\n propErrors,\n props.__renderedByLocation\n )\n }\n\n if (slicesContext.renderEnvironment === `server`) {\n return \n } else if (slicesContext.renderEnvironment === `browser`) {\n // in the browser, we'll just render the component as is\n return \n } else if (\n slicesContext.renderEnvironment === `engines` ||\n slicesContext.renderEnvironment === `dev-ssr`\n ) {\n // if we're in SSR, we'll just render the component as is\n return \n } else if (slicesContext.renderEnvironment === `slices`) {\n // we are not yet supporting nested slices\n\n let additionalContextMessage = ``\n\n // just in case generating additional contextual information fails, we still want the base message to show\n // and not show another cryptic error message\n try {\n additionalContextMessage = `\\n\\nSlice component \"${slicesContext.sliceRoot.name}\" (${slicesContext.sliceRoot.componentPath}) tried to render `\n } catch {\n // don't need to handle it, we will just skip the additional context message if we fail to generate it\n }\n\n throw new Error(\n `Nested slices are not supported.${additionalContextMessage}\\n\\nSee https://gatsbyjs.com/docs/reference/built-in-components/gatsby-slice#nested-slices`\n )\n } else {\n throw new Error(\n `Slice context \"${slicesContext.renderEnvironment}\" is not supported.`\n )\n }\n } else {\n throw new Error(`Slices are disabled.`)\n }\n}\n\nclass SlicePropsError extends Error {\n constructor(inBrowser, sliceName, propErrors, renderedByLocation) {\n const errors = Object.entries(propErrors)\n .map(\n ([key, value]) =>\n `not serializable \"${value}\" type passed to \"${key}\" prop`\n )\n .join(`, `)\n\n const name = `SlicePropsError`\n let stack = ``\n let message = ``\n\n if (inBrowser) {\n // They're just (kinda) kidding, I promise... You can still work here <3\n // https://www.gatsbyjs.com/careers/\n const fullStack =\n React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactDebugCurrentFrame.getCurrentStack()\n\n // remove the first line of the stack trace\n const stackLines = fullStack.trim().split(`\\n`).slice(1)\n stackLines[0] = stackLines[0].trim()\n stack = `\\n` + stackLines.join(`\\n`)\n\n message = `Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n } else {\n // we can't really grab any extra info outside of the browser, so just print what we can\n message = `${name}: Slice \"${sliceName}\" was passed props that are not serializable (${errors}).`\n const stackLines = new Error().stack.trim().split(`\\n`).slice(2)\n stack = `${message}\\n${stackLines.join(`\\n`)}`\n }\n\n super(message)\n this.name = name\n if (stack) {\n this.stack = stack\n } else {\n Error.captureStackTrace(this, SlicePropsError)\n }\n\n if (renderedByLocation) {\n this.forcedLocation = { ...renderedByLocation, functionName: `Slice` }\n }\n }\n}\n\nconst validateSliceProps = (\n props,\n errors = {},\n seenObjects = [],\n path = null\n) => {\n // recursively validate all props\n for (const [name, value] of Object.entries(props)) {\n if (\n value === undefined ||\n value === null ||\n (!path && name === `children`)\n ) {\n continue\n }\n\n const propPath = path ? `${path}.${name}` : name\n\n if (typeof value === `function`) {\n errors[propPath] = typeof value\n } else if (typeof value === `object` && seenObjects.indexOf(value) <= 0) {\n seenObjects.push(value)\n validateSliceProps(value, errors, seenObjects, propPath)\n }\n }\n\n return errors\n}\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport { default as PageRenderer } from \"./public-page-renderer\"\nexport { useScrollRestoration } from \"gatsby-react-router-scroll\"\nexport {\n Link,\n withPrefix,\n withAssetPrefix,\n navigate,\n parsePath,\n} from \"gatsby-link\"\n\nexport { graphql, prefetchPathname }\nexport { StaticQuery, StaticQueryContext, useStaticQuery } from \"./static-query\"\nexport { Slice } from \"./slice\"\nexport * from \"gatsby-script\"\n","const support = function (feature) {\n if (typeof document === `undefined`) {\n return false\n }\n const fakeLink = document.createElement(`link`)\n try {\n if (fakeLink.relList && typeof fakeLink.relList.supports === `function`) {\n return fakeLink.relList.supports(feature)\n }\n } catch (err) {\n return false\n }\n return false\n}\n\nconst linkPrefetchStrategy = function (url, options) {\n return new Promise((resolve, reject) => {\n if (typeof document === `undefined`) {\n reject()\n return\n }\n\n const link = document.createElement(`link`)\n link.setAttribute(`rel`, `prefetch`)\n link.setAttribute(`href`, url)\n\n Object.keys(options).forEach(key => {\n link.setAttribute(key, options[key])\n })\n\n link.onload = resolve\n link.onerror = reject\n\n const parentElement =\n document.getElementsByTagName(`head`)[0] ||\n document.getElementsByName(`script`)[0].parentNode\n parentElement.appendChild(link)\n })\n}\n\nconst xhrPrefetchStrategy = function (url) {\n return new Promise((resolve, reject) => {\n const req = new XMLHttpRequest()\n req.open(`GET`, url, true)\n\n req.onload = () => {\n if (req.status === 200) {\n resolve()\n } else {\n reject()\n }\n }\n\n req.send(null)\n })\n}\n\nconst supportedPrefetchStrategy = support(`prefetch`)\n ? linkPrefetchStrategy\n : xhrPrefetchStrategy\n\nconst preFetched = {}\n\nconst prefetch = function (url, options) {\n return new Promise(resolve => {\n if (preFetched[url]) {\n resolve()\n return\n }\n\n supportedPrefetchStrategy(url, options)\n .then(() => {\n resolve()\n preFetched[url] = true\n })\n .catch(() => {}) // 404s are logged to the console anyway\n })\n}\n\nexport default prefetch\n","import { createFromReadableStream } from \"react-server-dom-webpack\"\nimport prefetchHelper from \"./prefetch\"\nimport emitter from \"./emitter\"\nimport { setMatchPaths, findPath, findMatchPath } from \"./find-path\"\n\n/**\n * Available resource loading statuses\n */\nexport const PageResourceStatus = {\n /**\n * At least one of critical resources failed to load\n */\n Error: `error`,\n /**\n * Resources loaded successfully\n */\n Success: `success`,\n}\n\nconst preferDefault = m => (m && m.default) || m\n\nconst stripSurroundingSlashes = s => {\n s = s[0] === `/` ? s.slice(1) : s\n s = s.endsWith(`/`) ? s.slice(0, -1) : s\n return s\n}\n\nconst createPageDataUrl = rawPath => {\n const [path, maybeSearch] = rawPath.split(`?`)\n const fixedPath = path === `/` ? `index` : stripSurroundingSlashes(path)\n return `${__PATH_PREFIX__}/page-data/${fixedPath}/page-data.json${\n maybeSearch ? `?${maybeSearch}` : ``\n }`\n}\n\n/**\n * Utility to check the path that goes into doFetch for e.g. potential malicious intentions.\n * It checks for \"//\" because with this you could do a fetch request to a different domain.\n */\nconst shouldAbortFetch = rawPath => rawPath.startsWith(`//`)\n\nfunction doFetch(url, method = `GET`) {\n return new Promise(resolve => {\n const req = new XMLHttpRequest()\n req.open(method, url, true)\n req.onreadystatechange = () => {\n if (req.readyState == 4) {\n resolve(req)\n }\n }\n req.send(null)\n })\n}\n\nconst doesConnectionSupportPrefetch = () => {\n if (\n `connection` in navigator &&\n typeof navigator.connection !== `undefined`\n ) {\n if ((navigator.connection.effectiveType || ``).includes(`2g`)) {\n return false\n }\n if (navigator.connection.saveData) {\n return false\n }\n }\n return true\n}\n\n// Regex that matches common search crawlers\nconst BOT_REGEX = /bot|crawler|spider|crawling/i\n\nconst toPageResources = (pageData, component = null, head) => {\n const page = {\n componentChunkName: pageData.componentChunkName,\n path: pageData.path,\n webpackCompilationHash: pageData.webpackCompilationHash,\n matchPath: pageData.matchPath,\n staticQueryHashes: pageData.staticQueryHashes,\n getServerDataError: pageData.getServerDataError,\n slicesMap: pageData.slicesMap ?? {},\n }\n\n return {\n component,\n head,\n json: pageData.result,\n page,\n }\n}\n\nfunction waitForResponse(response) {\n return new Promise(resolve => {\n try {\n const result = response.readRoot()\n resolve(result)\n } catch (err) {\n if (\n Object.hasOwnProperty.call(err, `_response`) &&\n Object.hasOwnProperty.call(err, `_status`)\n ) {\n setTimeout(() => {\n waitForResponse(response).then(resolve)\n }, 200)\n } else {\n throw err\n }\n }\n })\n}\n\nexport class BaseLoader {\n constructor(loadComponent, matchPaths) {\n // Map of pagePath -> Page. Where Page is an object with: {\n // status: PageResourceStatus.Success || PageResourceStatus.Error,\n // payload: PageResources, // undefined if PageResourceStatus.Error\n // }\n // PageResources is {\n // component,\n // json: pageData.result,\n // page: {\n // componentChunkName,\n // path,\n // webpackCompilationHash,\n // staticQueryHashes\n // },\n // staticQueryResults\n // }\n this.pageDb = new Map()\n this.inFlightDb = new Map()\n this.staticQueryDb = {}\n this.pageDataDb = new Map()\n this.partialHydrationDb = new Map()\n this.slicesDataDb = new Map()\n this.sliceInflightDb = new Map()\n this.slicesDb = new Map()\n this.isPrefetchQueueRunning = false\n this.prefetchQueued = []\n this.prefetchTriggered = new Set()\n this.prefetchCompleted = new Set()\n this.loadComponent = loadComponent\n setMatchPaths(matchPaths)\n }\n\n inFlightNetworkRequests = new Map()\n\n memoizedGet(url) {\n let inFlightPromise = this.inFlightNetworkRequests.get(url)\n\n if (!inFlightPromise) {\n inFlightPromise = doFetch(url, `GET`)\n this.inFlightNetworkRequests.set(url, inFlightPromise)\n }\n\n // Prefer duplication with then + catch over .finally to prevent problems in ie11 + firefox\n return inFlightPromise\n .then(response => {\n this.inFlightNetworkRequests.delete(url)\n return response\n })\n .catch(err => {\n this.inFlightNetworkRequests.delete(url)\n throw err\n })\n }\n\n setApiRunner(apiRunner) {\n this.apiRunner = apiRunner\n this.prefetchDisabled = apiRunner(`disableCorePrefetching`).some(a => a)\n }\n\n fetchPageDataJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.path === undefined) {\n throw new Error(`not a valid pageData response`)\n }\n\n const maybeSearch = pagePath.split(`?`)[1]\n if (maybeSearch && !jsonPayload.path.includes(maybeSearch)) {\n jsonPayload.path += `?${maybeSearch}`\n }\n\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: jsonPayload,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPageDataJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPageDataJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n fetchPartialHydrationJson(loadObj) {\n const { pagePath, retries = 0 } = loadObj\n const url = createPageDataUrl(pagePath).replace(`.json`, `-rsc.json`)\n return this.memoizedGet(url).then(req => {\n const { status, responseText } = req\n\n // Handle 200\n if (status === 200) {\n try {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Success,\n payload: responseText,\n })\n } catch (err) {\n // continue regardless of error\n }\n }\n\n // Handle 404\n if (status === 404 || status === 200) {\n // If the request was for a 404/500 page and it doesn't exist, we're done\n if (pagePath === `/404.html` || pagePath === `/500.html`) {\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n }\n\n // Need some code here to cache the 404 request. In case\n // multiple loadPageDataJsons result in 404s\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { pagePath: `/404.html`, notFound: true })\n )\n }\n\n // handle 500 response (Unrecoverable)\n if (status === 500) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, {\n pagePath: `/500.html`,\n internalServerError: true,\n })\n )\n }\n\n // Handle everything else, including status === 0, and 503s. Should retry\n if (retries < 3) {\n return this.fetchPartialHydrationJson(\n Object.assign(loadObj, { retries: retries + 1 })\n )\n }\n\n // Retried 3 times already, result is an error.\n return Object.assign(loadObj, {\n status: PageResourceStatus.Error,\n })\n })\n }\n\n loadPageDataJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDataDb.has(pagePath)) {\n const pageData = this.pageDataDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPageDataJson({ pagePath }).then(pageData => {\n this.pageDataDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.partialHydrationDb.has(pagePath)) {\n const pageData = this.partialHydrationDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !pageData.stale) {\n return Promise.resolve(pageData)\n }\n }\n\n return this.fetchPartialHydrationJson({ pagePath }).then(pageData => {\n this.partialHydrationDb.set(pagePath, pageData)\n\n return pageData\n })\n }\n\n loadSliceDataJson(sliceName) {\n if (this.slicesDataDb.has(sliceName)) {\n const jsonPayload = this.slicesDataDb.get(sliceName)\n return Promise.resolve({ sliceName, jsonPayload })\n }\n\n const url = `${__PATH_PREFIX__}/slice-data/${sliceName}.json`\n return doFetch(url, `GET`).then(res => {\n const jsonPayload = JSON.parse(res.responseText)\n\n this.slicesDataDb.set(sliceName, jsonPayload)\n return { sliceName, jsonPayload }\n })\n }\n\n findMatchPath(rawPath) {\n return findMatchPath(rawPath)\n }\n\n // TODO check all uses of this and whether they use undefined for page resources not exist\n loadPage(rawPath) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const page = this.pageDb.get(pagePath)\n if (process.env.BUILD_STAGE !== `develop` || !page.payload.stale) {\n if (page.error) {\n return Promise.resolve({\n error: page.error,\n status: page.status,\n })\n }\n\n return Promise.resolve(page.payload)\n }\n }\n\n if (this.inFlightDb.has(pagePath)) {\n return this.inFlightDb.get(pagePath)\n }\n\n const loadDataPromises = [\n this.loadAppData(),\n this.loadPageDataJson(pagePath),\n ]\n\n if (global.hasPartialHydration) {\n loadDataPromises.push(this.loadPartialHydrationJson(pagePath))\n }\n\n const inFlightPromise = Promise.all(loadDataPromises).then(allData => {\n const [appDataResponse, pageDataResponse, rscDataResponse] = allData\n\n if (\n pageDataResponse.status === PageResourceStatus.Error ||\n rscDataResponse?.status === PageResourceStatus.Error\n ) {\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n let pageData = pageDataResponse.payload\n\n const {\n componentChunkName,\n staticQueryHashes: pageStaticQueryHashes = [],\n slicesMap = {},\n } = pageData\n\n const finalResult = {}\n\n const dedupedSliceNames = Array.from(new Set(Object.values(slicesMap)))\n\n const loadSlice = slice => {\n if (this.slicesDb.has(slice.name)) {\n return this.slicesDb.get(slice.name)\n } else if (this.sliceInflightDb.has(slice.name)) {\n return this.sliceInflightDb.get(slice.name)\n }\n\n const inFlight = this.loadComponent(slice.componentChunkName).then(\n component => {\n return {\n component: preferDefault(component),\n sliceContext: slice.result.sliceContext,\n data: slice.result.data,\n }\n }\n )\n\n this.sliceInflightDb.set(slice.name, inFlight)\n inFlight.then(results => {\n this.slicesDb.set(slice.name, results)\n this.sliceInflightDb.delete(slice.name)\n })\n\n return inFlight\n }\n\n return Promise.all(\n dedupedSliceNames.map(sliceName => this.loadSliceDataJson(sliceName))\n ).then(slicesData => {\n const slices = []\n const dedupedStaticQueryHashes = [...pageStaticQueryHashes]\n\n for (const { jsonPayload, sliceName } of Object.values(slicesData)) {\n slices.push({ name: sliceName, ...jsonPayload })\n for (const staticQueryHash of jsonPayload.staticQueryHashes) {\n if (!dedupedStaticQueryHashes.includes(staticQueryHash)) {\n dedupedStaticQueryHashes.push(staticQueryHash)\n }\n }\n }\n\n const loadChunkPromises = [\n Promise.all(slices.map(loadSlice)),\n this.loadComponent(componentChunkName, `head`),\n ]\n\n if (!global.hasPartialHydration) {\n loadChunkPromises.push(this.loadComponent(componentChunkName))\n }\n\n // In develop we have separate chunks for template and Head components\n // to enable HMR (fast refresh requires single exports).\n // In production we have shared chunk with both exports. Double loadComponent here\n // will be deduped by webpack runtime resulting in single request and single module\n // being loaded for both `component` and `head`.\n // get list of components to get\n const componentChunkPromises = Promise.all(loadChunkPromises).then(\n components => {\n const [sliceComponents, headComponent, pageComponent] = components\n\n finalResult.createdAt = new Date()\n\n for (const sliceComponent of sliceComponents) {\n if (!sliceComponent || sliceComponent instanceof Error) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = sliceComponent\n }\n }\n\n if (\n !global.hasPartialHydration &&\n (!pageComponent || pageComponent instanceof Error)\n ) {\n finalResult.status = PageResourceStatus.Error\n finalResult.error = pageComponent\n }\n\n let pageResources\n\n if (finalResult.status !== PageResourceStatus.Error) {\n finalResult.status = PageResourceStatus.Success\n if (\n pageDataResponse.notFound === true ||\n rscDataResponse?.notFound === true\n ) {\n finalResult.notFound = true\n }\n pageData = Object.assign(pageData, {\n webpackCompilationHash: appDataResponse\n ? appDataResponse.webpackCompilationHash\n : ``,\n })\n\n if (typeof rscDataResponse?.payload === `string`) {\n pageResources = toPageResources(pageData, null, headComponent)\n\n pageResources.partialHydration = rscDataResponse.payload\n\n const readableStream = new ReadableStream({\n start(controller) {\n const te = new TextEncoder()\n controller.enqueue(te.encode(rscDataResponse.payload))\n },\n pull(controller) {\n // close on next read when queue is empty\n controller.close()\n },\n cancel() {},\n })\n\n return waitForResponse(\n createFromReadableStream(readableStream)\n ).then(result => {\n pageResources.partialHydration = result\n\n return pageResources\n })\n } else {\n pageResources = toPageResources(\n pageData,\n pageComponent,\n headComponent\n )\n }\n }\n\n // undefined if final result is an error\n return pageResources\n }\n )\n\n // get list of static queries to get\n const staticQueryBatchPromise = Promise.all(\n dedupedStaticQueryHashes.map(staticQueryHash => {\n // Check for cache in case this static query result has already been loaded\n if (this.staticQueryDb[staticQueryHash]) {\n const jsonPayload = this.staticQueryDb[staticQueryHash]\n return { staticQueryHash, jsonPayload }\n }\n\n return this.memoizedGet(\n `${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json`\n )\n .then(req => {\n const jsonPayload = JSON.parse(req.responseText)\n return { staticQueryHash, jsonPayload }\n })\n .catch(() => {\n throw new Error(\n `We couldn't load \"${__PATH_PREFIX__}/page-data/sq/d/${staticQueryHash}.json\"`\n )\n })\n })\n ).then(staticQueryResults => {\n const staticQueryResultsMap = {}\n\n staticQueryResults.forEach(({ staticQueryHash, jsonPayload }) => {\n staticQueryResultsMap[staticQueryHash] = jsonPayload\n this.staticQueryDb[staticQueryHash] = jsonPayload\n })\n\n return staticQueryResultsMap\n })\n\n return (\n Promise.all([componentChunkPromises, staticQueryBatchPromise])\n .then(([pageResources, staticQueryResults]) => {\n let payload\n if (pageResources) {\n payload = { ...pageResources, staticQueryResults }\n finalResult.payload = payload\n emitter.emit(`onPostLoadPageResources`, {\n page: payload,\n pageResources: payload,\n })\n }\n\n this.pageDb.set(pagePath, finalResult)\n\n if (finalResult.error) {\n return {\n error: finalResult.error,\n status: finalResult.status,\n }\n }\n\n return payload\n })\n // when static-query fail to load we throw a better error\n .catch(err => {\n return {\n error: err,\n status: PageResourceStatus.Error,\n }\n })\n )\n })\n })\n\n inFlightPromise\n .then(() => {\n this.inFlightDb.delete(pagePath)\n })\n .catch(error => {\n this.inFlightDb.delete(pagePath)\n throw error\n })\n\n this.inFlightDb.set(pagePath, inFlightPromise)\n\n return inFlightPromise\n }\n\n // returns undefined if the page does not exists in cache\n loadPageSync(rawPath, options = {}) {\n const pagePath = findPath(rawPath)\n if (this.pageDb.has(pagePath)) {\n const pageData = this.pageDb.get(pagePath)\n\n if (pageData.payload) {\n return pageData.payload\n }\n\n if (options?.withErrorDetails) {\n return {\n error: pageData.error,\n status: pageData.status,\n }\n }\n }\n return undefined\n }\n\n shouldPrefetch(pagePath) {\n // Skip prefetching if we know user is on slow or constrained connection\n if (!doesConnectionSupportPrefetch()) {\n return false\n }\n\n // Don't prefetch if this is a crawler bot\n if (navigator.userAgent && BOT_REGEX.test(navigator.userAgent)) {\n return false\n }\n\n // Check if the page exists.\n if (this.pageDb.has(pagePath)) {\n return false\n }\n\n return true\n }\n\n prefetch(pagePath) {\n if (!this.shouldPrefetch(pagePath)) {\n return {\n then: resolve => resolve(false),\n abort: () => {},\n }\n }\n if (this.prefetchTriggered.has(pagePath)) {\n return {\n then: resolve => resolve(true),\n abort: () => {},\n }\n }\n\n const defer = {\n resolve: null,\n reject: null,\n promise: null,\n }\n defer.promise = new Promise((resolve, reject) => {\n defer.resolve = resolve\n defer.reject = reject\n })\n this.prefetchQueued.push([pagePath, defer])\n const abortC = new AbortController()\n abortC.signal.addEventListener(`abort`, () => {\n const index = this.prefetchQueued.findIndex(([p]) => p === pagePath)\n // remove from the queue\n if (index !== -1) {\n this.prefetchQueued.splice(index, 1)\n }\n })\n\n if (!this.isPrefetchQueueRunning) {\n this.isPrefetchQueueRunning = true\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n }\n\n return {\n then: (resolve, reject) => defer.promise.then(resolve, reject),\n abort: abortC.abort.bind(abortC),\n }\n }\n\n _processNextPrefetchBatch() {\n const idleCallback = window.requestIdleCallback || (cb => setTimeout(cb, 0))\n\n idleCallback(() => {\n const toPrefetch = this.prefetchQueued.splice(0, 4)\n const prefetches = Promise.all(\n toPrefetch.map(([pagePath, dPromise]) => {\n // Tell plugins with custom prefetching logic that they should start\n // prefetching this path.\n if (!this.prefetchTriggered.has(pagePath)) {\n this.apiRunner(`onPrefetchPathname`, { pathname: pagePath })\n this.prefetchTriggered.add(pagePath)\n }\n\n // If a plugin has disabled core prefetching, stop now.\n if (this.prefetchDisabled) {\n return dPromise.resolve(false)\n }\n\n return this.doPrefetch(findPath(pagePath)).then(() => {\n if (!this.prefetchCompleted.has(pagePath)) {\n this.apiRunner(`onPostPrefetchPathname`, { pathname: pagePath })\n this.prefetchCompleted.add(pagePath)\n }\n\n dPromise.resolve(true)\n })\n })\n )\n\n if (this.prefetchQueued.length) {\n prefetches.then(() => {\n setTimeout(() => {\n this._processNextPrefetchBatch()\n }, 3000)\n })\n } else {\n this.isPrefetchQueueRunning = false\n }\n })\n }\n\n doPrefetch(pagePath) {\n const pageDataUrl = createPageDataUrl(pagePath)\n\n if (global.hasPartialHydration) {\n return Promise.all([\n prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n ),\n prefetchHelper(pageDataUrl.replace(`.json`, `-rsc.json`), {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPartialHydrationJson(pagePath)\n ),\n ])\n } else {\n return prefetchHelper(pageDataUrl, {\n crossOrigin: `anonymous`,\n as: `fetch`,\n }).then(() =>\n // This was just prefetched, so will return a response from\n // the cache instead of making another request to the server\n this.loadPageDataJson(pagePath)\n )\n }\n }\n\n hovering(rawPath) {\n this.loadPage(rawPath)\n }\n\n getResourceURLsForPathname(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDataDb.get(pagePath)\n if (page) {\n const pageResources = toPageResources(page.payload)\n\n return [\n ...createComponentUrls(pageResources.page.componentChunkName),\n createPageDataUrl(pagePath),\n ]\n } else {\n return null\n }\n }\n\n isPageNotFound(rawPath) {\n const pagePath = findPath(rawPath)\n const page = this.pageDb.get(pagePath)\n return !page || page.notFound\n }\n\n loadAppData(retries = 0) {\n return this.memoizedGet(`${__PATH_PREFIX__}/page-data/app-data.json`).then(\n req => {\n const { status, responseText } = req\n\n let appData\n\n if (status !== 200 && retries < 3) {\n // Retry 3 times incase of non-200 responses\n return this.loadAppData(retries + 1)\n }\n\n // Handle 200\n if (status === 200) {\n try {\n const jsonPayload = JSON.parse(responseText)\n if (jsonPayload.webpackCompilationHash === undefined) {\n throw new Error(`not a valid app-data response`)\n }\n\n appData = jsonPayload\n } catch (err) {\n // continue regardless of error\n }\n }\n\n return appData\n }\n )\n }\n}\n\nconst createComponentUrls = componentChunkName =>\n (window.___chunkMapping[componentChunkName] || []).map(\n chunk => __PATH_PREFIX__ + chunk\n )\n\nexport class ProdLoader extends BaseLoader {\n constructor(asyncRequires, matchPaths, pageData) {\n const loadComponent = (chunkName, exportType = `components`) => {\n if (!global.hasPartialHydration) {\n exportType = `components`\n }\n\n if (!asyncRequires[exportType][chunkName]) {\n throw new Error(\n `We couldn't find the correct component chunk with the name \"${chunkName}\"`\n )\n }\n\n return (\n asyncRequires[exportType][chunkName]()\n // loader will handle the case when component is error\n .catch(err => err)\n )\n }\n\n super(loadComponent, matchPaths)\n\n if (pageData) {\n this.pageDataDb.set(findPath(pageData.path), {\n pagePath: pageData.path,\n payload: pageData,\n status: `success`,\n })\n }\n }\n\n doPrefetch(pagePath) {\n return super.doPrefetch(pagePath).then(result => {\n if (result.status !== PageResourceStatus.Success) {\n return Promise.resolve()\n }\n const pageData = result.payload\n const chunkName = pageData.componentChunkName\n const componentUrls = createComponentUrls(chunkName)\n return Promise.all(componentUrls.map(prefetchHelper)).then(() => pageData)\n })\n }\n\n loadPageDataJson(rawPath) {\n return super.loadPageDataJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n\n loadPartialHydrationJson(rawPath) {\n return super.loadPartialHydrationJson(rawPath).then(data => {\n if (data.notFound) {\n if (shouldAbortFetch(rawPath)) {\n return data\n }\n // check if html file exist using HEAD request:\n // if it does we should navigate to it instead of showing 404\n return doFetch(rawPath, `HEAD`).then(req => {\n if (req.status === 200) {\n // page (.html file) actually exist (or we asked for 404 )\n // returning page resources status as errored to trigger\n // regular browser navigation to given page\n return {\n status: PageResourceStatus.Error,\n }\n }\n\n // if HEAD request wasn't 200, return notFound result\n // and show 404 page\n return data\n })\n }\n return data\n })\n }\n}\n\nlet instance\n\nexport const setLoader = _loader => {\n instance = _loader\n}\n\nexport const publicLoader = {\n enqueue: rawPath => instance.prefetch(rawPath),\n\n // Real methods\n getResourceURLsForPathname: rawPath =>\n instance.getResourceURLsForPathname(rawPath),\n loadPage: rawPath => instance.loadPage(rawPath),\n // TODO add deprecation to v4 so people use withErrorDetails and then we can remove in v5 and change default behaviour\n loadPageSync: (rawPath, options = {}) =>\n instance.loadPageSync(rawPath, options),\n prefetch: rawPath => instance.prefetch(rawPath),\n isPageNotFound: rawPath => instance.isPageNotFound(rawPath),\n hovering: rawPath => instance.hovering(rawPath),\n loadAppData: () => instance.loadAppData(),\n}\n\nexport default publicLoader\n\nexport function getStaticQueryResults() {\n if (instance) {\n return instance.staticQueryDb\n } else {\n return {}\n }\n}\n\nexport function getSliceResults() {\n if (instance) {\n return instance.slicesDb\n } else {\n return {}\n }\n}\n","import { useEffect } from \"react\"\n\n/*\n * Calls callback in an effect and renders children\n */\nexport function FireCallbackInEffect({ children, callback }) {\n useEffect(() => {\n callback()\n })\n\n return children\n}\n","export const VALID_NODE_NAMES = [\n `link`,\n `meta`,\n `style`,\n `title`,\n `base`,\n `noscript`,\n `script`,\n `html`,\n `body`,\n]\n","import { VALID_NODE_NAMES } from \"./constants\"\n\n/**\n * Filter the props coming from a page down to just the ones that are relevant for head.\n * This e.g. filters out properties that are undefined during SSR.\n */\nexport function filterHeadProps(input) {\n return {\n location: {\n pathname: input.location.pathname,\n },\n params: input.params,\n data: input.data || {},\n serverData: input.serverData,\n pageContext: input.pageContext,\n }\n}\n\n/**\n * Throw error if Head export is not a valid function\n */\nexport function headExportValidator(head) {\n if (typeof head !== `function`)\n throw new Error(\n `Expected \"Head\" export to be a function got \"${typeof head}\".`\n )\n}\n\n/**\n * Warn once for same messsage\n */\nlet warnOnce = _ => {}\nif (process.env.NODE_ENV !== `production`) {\n const warnings = new Set()\n warnOnce = msg => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\n/**\n * Warn for invalid tags in Head which may have been directly added or introduced by `wrapRootElement`\n * @param {string} tagName\n */\nexport function warnForInvalidTag(tagName) {\n if (process.env.NODE_ENV !== `production`) {\n const warning = createWarningForInvalidTag(tagName)\n warnOnce(warning)\n }\n}\n\nfunction createWarningForInvalidTag(tagName) {\n return `<${tagName}> is not a valid head element. Please use one of the following: ${VALID_NODE_NAMES.join(\n `, `\n )}.\\n\\nAlso make sure that wrapRootElement in gatsby-ssr/gatsby-browser doesn't contain UI elements: https://gatsby.dev/invalid-head-elements`\n}\n\n/**\n * When a `nonce` is present on an element, browsers such as Chrome and Firefox strip it out of the\n * actual HTML attributes for security reasons *when the element is added to the document*. Thus,\n * given two equivalent elements that have nonces, `Element,isEqualNode()` will return false if one\n * of those elements gets added to the document. Although the `element.nonce` property will be the\n * same for both elements, the one that was added to the document will return an empty string for\n * its nonce HTML attribute value.\n *\n * This custom `isEqualNode()` function therefore removes the nonce value from the `newTag` before\n * comparing it to `oldTag`, restoring it afterwards.\n *\n * For more information, see:\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1211471#c12\n */\nexport function isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(`nonce`)\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(`nonce`)) {\n const cloneTag = newTag.cloneNode(true)\n cloneTag.setAttribute(`nonce`, ``)\n cloneTag.nonce = nonce\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag)\n }\n }\n\n return oldTag.isEqualNode(newTag)\n}\n\nexport function diffNodes({ oldNodes, newNodes, onStale, onNew }) {\n for (const existingHeadElement of oldNodes) {\n const indexInNewNodes = newNodes.findIndex(e =>\n isEqualNode(e, existingHeadElement)\n )\n\n if (indexInNewNodes === -1) {\n onStale(existingHeadElement)\n } else {\n // this node is re-created as-is, so we keep old node, and remove it from list of new nodes (as we handled it already here)\n newNodes.splice(indexInNewNodes, 1)\n }\n }\n\n // remaing new nodes didn't have matching old node, so need to be added\n for (const newNode of newNodes) {\n onNew(newNode)\n }\n}\n\nexport function getValidHeadNodesAndAttributes(\n rootNode,\n htmlAndBodyAttributes = {\n html: {},\n body: {},\n }\n) {\n const seenIds = new Map()\n const validHeadNodes = []\n\n // Filter out non-element nodes before looping since we don't care about them\n for (const node of rootNode.childNodes) {\n const nodeName = node.nodeName.toLowerCase()\n const id = node.attributes?.id?.value\n\n if (!isElementType(node)) continue\n\n if (isValidNodeName(nodeName)) {\n // and tags are treated differently, in that we don't render them, we only extract the attributes and apply them separetely\n if (nodeName === `html` || nodeName === `body`) {\n for (const attribute of node.attributes) {\n const isStyleAttribute = attribute.name === `style`\n\n // Merge attributes for same nodeName from previous loop iteration\n htmlAndBodyAttributes[nodeName] = {\n ...htmlAndBodyAttributes[nodeName],\n }\n\n if (!isStyleAttribute) {\n htmlAndBodyAttributes[nodeName][attribute.name] = attribute.value\n }\n\n // If there is already a style attribute, we need to merge them as otherwise the last one will \"win\"\n if (isStyleAttribute) {\n htmlAndBodyAttributes[nodeName].style = `${\n htmlAndBodyAttributes[nodeName]?.style\n ? htmlAndBodyAttributes[nodeName].style\n : ``\n }${attribute.value} `\n }\n }\n } else {\n let clonedNode = node.cloneNode(true)\n clonedNode.setAttribute(`data-gatsby-head`, true)\n\n // // This is hack to make script tags work\n if (clonedNode.nodeName.toLowerCase() === `script`) {\n clonedNode = massageScript(clonedNode)\n }\n // Duplicate ids are not allowed in the head, so we need to dedupe them\n if (id) {\n if (!seenIds.has(id)) {\n validHeadNodes.push(clonedNode)\n seenIds.set(id, validHeadNodes.length - 1)\n } else {\n const indexOfPreviouslyInsertedNode = seenIds.get(id)\n validHeadNodes[\n indexOfPreviouslyInsertedNode\n ].parentNode?.removeChild(\n validHeadNodes[indexOfPreviouslyInsertedNode]\n )\n validHeadNodes[indexOfPreviouslyInsertedNode] = clonedNode\n }\n } else {\n validHeadNodes.push(clonedNode)\n }\n }\n } else {\n warnForInvalidTag(nodeName)\n }\n\n if (node.childNodes.length) {\n validHeadNodes.push(\n ...getValidHeadNodesAndAttributes(node, htmlAndBodyAttributes)\n .validHeadNodes\n )\n }\n }\n\n return { validHeadNodes, htmlAndBodyAttributes }\n}\n\nfunction massageScript(node) {\n const script = document.createElement(`script`)\n for (const attr of node.attributes) {\n script.setAttribute(attr.name, attr.value)\n }\n script.innerHTML = node.innerHTML\n\n return script\n}\n\nexport function isValidNodeName(nodeName) {\n return VALID_NODE_NAMES.includes(nodeName)\n}\n/*\n * For Head, we only care about element nodes(type = 1), so this util is used to skip over non-element nodes\n * For Node type, see https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n */\nexport function isElementType(node) {\n return node.nodeType === 1\n}\n\n/**\n * Removes all the head elements that were added by `Head`\n */\nexport function removePrevHeadElements() {\n const prevHeadNodes = document.querySelectorAll(`[data-gatsby-head]`)\n for (const node of prevHeadNodes) {\n node.parentNode.removeChild(node)\n }\n}\n\nexport function applyHtmlAndBodyAttributes(htmlAndBodyAttributes) {\n if (!htmlAndBodyAttributes) return\n\n const { html, body } = htmlAndBodyAttributes\n\n const htmlElement = document.querySelector(`html`)\n if (htmlElement) {\n Object.entries(html).forEach(([attributeName, attributeValue]) => {\n htmlElement.setAttribute(attributeName, attributeValue)\n })\n }\n\n const bodyElement = document.querySelector(`body`)\n if (bodyElement) {\n Object.entries(body).forEach(([attributeName, attributeValue]) => {\n bodyElement.setAttribute(attributeName, attributeValue)\n })\n }\n}\n\nexport function removeHtmlAndBodyAttributes(htmlAndBodyattributeList) {\n if (!htmlAndBodyattributeList) return\n\n const { html, body } = htmlAndBodyattributeList\n\n if (html) {\n const htmlElement = document.querySelector(`html`)\n html.forEach(attributeName => {\n if (htmlElement) {\n htmlElement.removeAttribute(attributeName)\n }\n })\n }\n\n if (body) {\n const bodyElement = document.querySelector(`body`)\n body.forEach(attributeName => {\n if (bodyElement) {\n bodyElement.removeAttribute(attributeName)\n }\n })\n }\n}\n","import React from \"react\"\nimport { useEffect } from \"react\"\nimport { StaticQueryContext } from \"gatsby\"\nimport { LocationProvider } from \"@gatsbyjs/reach-router\"\nimport { reactDOMUtils } from \"../react-dom-utils\"\nimport { FireCallbackInEffect } from \"./components/fire-callback-in-effect\"\nimport {\n headExportValidator,\n filterHeadProps,\n diffNodes,\n getValidHeadNodesAndAttributes,\n removePrevHeadElements,\n applyHtmlAndBodyAttributes,\n removeHtmlAndBodyAttributes,\n} from \"./utils\"\nimport { apiRunner } from \"../api-runner-browser\"\n\nconst hiddenRoot = document.createElement(`div`)\nconst keysOfHtmlAndBodyAttributes = {\n html: [],\n body: [],\n}\n\nconst onHeadRendered = () => {\n const { validHeadNodes, htmlAndBodyAttributes } =\n getValidHeadNodesAndAttributes(hiddenRoot)\n\n keysOfHtmlAndBodyAttributes.html = Object.keys(htmlAndBodyAttributes.html)\n keysOfHtmlAndBodyAttributes.body = Object.keys(htmlAndBodyAttributes.body)\n\n applyHtmlAndBodyAttributes(htmlAndBodyAttributes)\n\n /**\n * The rest of the code block below is a diffing mechanism to ensure that\n * the head elements aren't duplicted on every re-render.\n */\n const existingHeadElements = document.querySelectorAll(`[data-gatsby-head]`)\n\n if (existingHeadElements.length === 0) {\n document.head.append(...validHeadNodes)\n return\n }\n\n const newHeadNodes = []\n diffNodes({\n oldNodes: existingHeadElements,\n newNodes: validHeadNodes,\n onStale: node => node.parentNode.removeChild(node),\n onNew: node => newHeadNodes.push(node),\n })\n\n document.head.append(...newHeadNodes)\n}\n\nif (process.env.BUILD_STAGE === `develop`) {\n // sigh ... and elements are not valid descedents of
(our hidden element)\n // react-dom in dev mode will warn about this. There doesn't seem to be a way to render arbitrary\n // user Head without hitting this issue (our hidden element could be just \"new Document()\", but\n // this can only have 1 child, and we don't control what is being rendered so that's not an option)\n // instead we continue to render to
, and just silence warnings for and elements\n // https://github.com/facebook/react/blob/e2424f33b3ad727321fc12e75c5e94838e84c2b5/packages/react-dom-bindings/src/client/validateDOMNesting.js#L498-L520\n const originalConsoleError = console.error.bind(console)\n console.error = (...args) => {\n if (\n Array.isArray(args) &&\n args.length >= 2 &&\n args[0]?.includes?.(`validateDOMNesting(...): %s cannot appear as`) &&\n (args[1] === `` || args[1] === ``)\n ) {\n return undefined\n }\n return originalConsoleError(...args)\n }\n\n /* We set up observer to be able to regenerate after react-refresh\n updates our hidden element.\n */\n const observer = new MutationObserver(onHeadRendered)\n observer.observe(hiddenRoot, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n })\n}\n\nexport function headHandlerForBrowser({\n pageComponent,\n staticQueryResults,\n pageComponentProps,\n}) {\n useEffect(() => {\n if (pageComponent?.Head) {\n headExportValidator(pageComponent.Head)\n\n const { render } = reactDOMUtils()\n\n const HeadElement = (\n \n )\n\n const WrapHeadElement = apiRunner(\n `wrapRootElement`,\n { element: HeadElement },\n HeadElement,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n render(\n // just a hack to call the callback after react has done first render\n // Note: In dev, we call onHeadRendered twice( in FireCallbackInEffect and after mutualution observer dectects initail render into hiddenRoot) this is for hot reloading\n // In Prod we only call onHeadRendered in FireCallbackInEffect to render to head\n \n \n {WrapHeadElement}\n \n ,\n hiddenRoot\n )\n }\n\n return () => {\n removePrevHeadElements()\n removeHtmlAndBodyAttributes(keysOfHtmlAndBodyAttributes)\n }\n })\n}\n","import React, { Suspense, createElement } from \"react\"\nimport PropTypes from \"prop-types\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport { grabMatchParams } from \"./find-path\"\nimport { headHandlerForBrowser } from \"./head/head-export-handler-for-browser\"\n\n// Renders page\nfunction PageRenderer(props) {\n const pageComponentProps = {\n ...props,\n params: {\n ...grabMatchParams(props.location.pathname),\n ...props.pageResources.json.pageContext.__params,\n },\n }\n\n const preferDefault = m => (m && m.default) || m\n\n let pageElement\n if (props.pageResources.partialHydration) {\n pageElement = props.pageResources.partialHydration\n } else {\n pageElement = createElement(preferDefault(props.pageResources.component), {\n ...pageComponentProps,\n key: props.path || props.pageResources.page.path,\n })\n }\n\n const pageComponent = props.pageResources.head\n\n headHandlerForBrowser({\n pageComponent,\n staticQueryResults: props.pageResources.staticQueryResults,\n pageComponentProps,\n })\n\n const wrappedPage = apiRunner(\n `wrapPageElement`,\n {\n element: pageElement,\n props: pageComponentProps,\n },\n pageElement,\n ({ result }) => {\n return { element: result, props: pageComponentProps }\n }\n ).pop()\n\n return wrappedPage\n}\n\nPageRenderer.propTypes = {\n location: PropTypes.object.isRequired,\n pageResources: PropTypes.object.isRequired,\n data: PropTypes.object,\n pageContext: PropTypes.object.isRequired,\n}\n\nexport default PageRenderer\n","// This is extracted to separate module because it's shared\n// between browser and SSR code\nexport const RouteAnnouncerProps = {\n id: `gatsby-announcer`,\n style: {\n position: `absolute`,\n top: 0,\n width: 1,\n height: 1,\n padding: 0,\n overflow: `hidden`,\n clip: `rect(0, 0, 0, 0)`,\n whiteSpace: `nowrap`,\n border: 0,\n },\n \"aria-live\": `assertive`,\n \"aria-atomic\": `true`,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport { maybeGetBrowserRedirect } from \"./redirect-utils.js\"\nimport { apiRunner } from \"./api-runner-browser\"\nimport emitter from \"./emitter\"\nimport { RouteAnnouncerProps } from \"./route-announcer-props\"\nimport {\n navigate as reachNavigate,\n globalHistory,\n} from \"@gatsbyjs/reach-router\"\nimport { parsePath } from \"gatsby-link\"\n\nfunction maybeRedirect(pathname) {\n const redirect = maybeGetBrowserRedirect(pathname)\n const { hash, search } = window.location\n\n if (redirect != null) {\n window.___replace(redirect.toPath + search + hash)\n return true\n } else {\n return false\n }\n}\n\n// Catch unhandled chunk loading errors and force a restart of the app.\nlet nextRoute = ``\n\nwindow.addEventListener(`unhandledrejection`, event => {\n if (/loading chunk \\d* failed./i.test(event.reason)) {\n if (nextRoute) {\n window.location.pathname = nextRoute\n }\n }\n})\n\nconst onPreRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n nextRoute = location.pathname\n apiRunner(`onPreRouteUpdate`, { location, prevLocation })\n }\n}\n\nconst onRouteUpdate = (location, prevLocation) => {\n if (!maybeRedirect(location.pathname)) {\n apiRunner(`onRouteUpdate`, { location, prevLocation })\n if (\n process.env.GATSBY_QUERY_ON_DEMAND &&\n process.env.GATSBY_QUERY_ON_DEMAND_LOADING_INDICATOR === `true`\n ) {\n emitter.emit(`onRouteUpdate`, { location, prevLocation })\n }\n }\n}\n\nconst navigate = (to, options = {}) => {\n // Support forward/backward navigation with numbers\n // navigate(-2) (jumps back 2 history steps)\n // navigate(2) (jumps forward 2 history steps)\n if (typeof to === `number`) {\n globalHistory.navigate(to)\n return\n }\n\n const { pathname, search, hash } = parsePath(to)\n const redirect = maybeGetBrowserRedirect(pathname)\n\n // If we're redirecting, just replace the passed in pathname\n // to the one we want to redirect to.\n if (redirect) {\n to = redirect.toPath + search + hash\n }\n\n // If we had a service worker update, no matter the path, reload window and\n // reset the pathname whitelist\n if (window.___swUpdated) {\n window.location = pathname + search + hash\n return\n }\n\n // Start a timer to wait for a second before transitioning and showing a\n // loader in case resources aren't around yet.\n const timeoutId = setTimeout(() => {\n emitter.emit(`onDelayedLoadPageResources`, { pathname })\n apiRunner(`onRouteUpdateDelayed`, {\n location: window.location,\n })\n }, 1000)\n\n loader.loadPage(pathname + search).then(pageResources => {\n // If no page resources, then refresh the page\n // Do this, rather than simply `window.location.reload()`, so that\n // pressing the back/forward buttons work - otherwise when pressing\n // back, the browser will just change the URL and expect JS to handle\n // the change, which won't always work since it might not be a Gatsby\n // page.\n if (!pageResources || pageResources.status === PageResourceStatus.Error) {\n window.history.replaceState({}, ``, location.href)\n window.location = pathname\n clearTimeout(timeoutId)\n return\n }\n\n // If the loaded page has a different compilation hash to the\n // window, then a rebuild has occurred on the server. Reload.\n if (process.env.NODE_ENV === `production` && pageResources) {\n if (\n pageResources.page.webpackCompilationHash !==\n window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n window.location = pathname + search + hash\n }\n }\n reachNavigate(to, options)\n clearTimeout(timeoutId)\n })\n}\n\nfunction shouldUpdateScroll(prevRouterProps, { location }) {\n const { pathname, hash } = location\n const results = apiRunner(`shouldUpdateScroll`, {\n prevRouterProps,\n // `pathname` for backwards compatibility\n pathname,\n routerProps: { location },\n getSavedScrollPosition: args => [\n 0,\n // FIXME this is actually a big code smell, we should fix this\n // eslint-disable-next-line @babel/no-invalid-this\n this._stateStorage.read(args, args.key),\n ],\n })\n if (results.length > 0) {\n // Use the latest registered shouldUpdateScroll result, this allows users to override plugin's configuration\n // @see https://github.com/gatsbyjs/gatsby/issues/12038\n return results[results.length - 1]\n }\n\n if (prevRouterProps) {\n const {\n location: { pathname: oldPathname },\n } = prevRouterProps\n if (oldPathname === pathname) {\n // Scroll to element if it exists, if it doesn't, or no hash is provided,\n // scroll to top.\n return hash ? decodeURI(hash.slice(1)) : [0, 0]\n }\n }\n return true\n}\n\nfunction init() {\n // The \"scroll-behavior\" package expects the \"action\" to be on the location\n // object so let's copy it over.\n globalHistory.listen(args => {\n args.location.action = args.action\n })\n\n window.___push = to => navigate(to, { replace: false })\n window.___replace = to => navigate(to, { replace: true })\n window.___navigate = (to, options) => navigate(to, options)\n}\n\nclass RouteAnnouncer extends React.Component {\n constructor(props) {\n super(props)\n this.announcementRef = React.createRef()\n }\n\n componentDidUpdate(prevProps, nextProps) {\n requestAnimationFrame(() => {\n let pageName = `new page at ${this.props.location.pathname}`\n if (document.title) {\n pageName = document.title\n }\n const pageHeadings = document.querySelectorAll(`#gatsby-focus-wrapper h1`)\n if (pageHeadings && pageHeadings.length) {\n pageName = pageHeadings[0].textContent\n }\n const newAnnouncement = `Navigated to ${pageName}`\n if (this.announcementRef.current) {\n const oldAnnouncement = this.announcementRef.current.innerText\n if (oldAnnouncement !== newAnnouncement) {\n this.announcementRef.current.innerText = newAnnouncement\n }\n }\n })\n }\n\n render() {\n return
\n }\n}\n\nconst compareLocationProps = (prevLocation, nextLocation) => {\n if (prevLocation.href !== nextLocation.href) {\n return true\n }\n\n if (prevLocation?.state?.key !== nextLocation?.state?.key) {\n return true\n }\n\n return false\n}\n\n// Fire on(Pre)RouteUpdate APIs\nclass RouteUpdates extends React.Component {\n constructor(props) {\n super(props)\n onPreRouteUpdate(props.location, null)\n }\n\n componentDidMount() {\n onRouteUpdate(this.props.location, null)\n }\n\n shouldComponentUpdate(nextProps) {\n if (compareLocationProps(this.props.location, nextProps.location)) {\n onPreRouteUpdate(nextProps.location, this.props.location)\n return true\n }\n return false\n }\n\n componentDidUpdate(prevProps) {\n if (compareLocationProps(prevProps.location, this.props.location)) {\n onRouteUpdate(this.props.location, prevProps.location)\n }\n }\n\n render() {\n return (\n \n {this.props.children}\n \n \n )\n }\n}\n\nRouteUpdates.propTypes = {\n location: PropTypes.object.isRequired,\n}\n\nexport { init, shouldUpdateScroll, RouteUpdates, maybeGetBrowserRedirect }\n","// Pulled from react-compat\n// https://github.com/developit/preact-compat/blob/7c5de00e7c85e2ffd011bf3af02899b63f699d3a/src/index.js#L349\nfunction shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) return true;\n }for (var _i in b) {\n if (a[_i] !== b[_i]) return true;\n }return false;\n}\n\nexport default (function (instance, nextProps, nextState) {\n return shallowDiffers(instance.props, nextProps) || shallowDiffers(instance.state, nextState);\n});","import React from \"react\"\nimport loader, { PageResourceStatus } from \"./loader\"\nimport shallowCompare from \"shallow-compare\"\n\nclass EnsureResources extends React.Component {\n constructor(props) {\n super()\n const { location, pageResources } = props\n this.state = {\n location: { ...location },\n pageResources:\n pageResources ||\n loader.loadPageSync(location.pathname + location.search, {\n withErrorDetails: true,\n }),\n }\n }\n\n static getDerivedStateFromProps({ location }, prevState) {\n if (prevState.location.href !== location.href) {\n const pageResources = loader.loadPageSync(\n location.pathname + location.search,\n {\n withErrorDetails: true,\n }\n )\n\n return {\n pageResources,\n location: { ...location },\n }\n }\n\n return {\n location: { ...location },\n }\n }\n\n loadResources(rawPath) {\n loader.loadPage(rawPath).then(pageResources => {\n if (pageResources && pageResources.status !== PageResourceStatus.Error) {\n this.setState({\n location: { ...window.location },\n pageResources,\n })\n } else {\n window.history.replaceState({}, ``, location.href)\n window.location = rawPath\n }\n })\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // Always return false if we're missing resources.\n if (!nextState.pageResources) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n if (\n process.env.BUILD_STAGE === `develop` &&\n nextState.pageResources.stale\n ) {\n this.loadResources(\n nextProps.location.pathname + nextProps.location.search\n )\n return false\n }\n\n // Check if the component or json have changed.\n if (this.state.pageResources !== nextState.pageResources) {\n return true\n }\n if (\n this.state.pageResources.component !== nextState.pageResources.component\n ) {\n return true\n }\n\n if (this.state.pageResources.json !== nextState.pageResources.json) {\n return true\n }\n // Check if location has changed on a page using internal routing\n // via matchPath configuration.\n if (\n this.state.location.key !== nextState.location.key &&\n nextState.pageResources.page &&\n (nextState.pageResources.page.matchPath ||\n nextState.pageResources.page.path)\n ) {\n return true\n }\n return shallowCompare(this, nextProps, nextState)\n }\n\n render() {\n if (\n process.env.NODE_ENV !== `production` &&\n (!this.state.pageResources ||\n this.state.pageResources.status === PageResourceStatus.Error)\n ) {\n const message = `EnsureResources was not able to find resources for path: \"${this.props.location.pathname}\"\nThis typically means that an issue occurred building components for that path.\nRun \\`gatsby clean\\` to remove any cached elements.`\n if (this.state.pageResources?.error) {\n console.error(message)\n throw this.state.pageResources.error\n }\n\n throw new Error(message)\n }\n\n return this.props.children(this.state)\n }\n}\n\nexport default EnsureResources\n","import { apiRunner, apiRunnerAsync } from \"./api-runner-browser\"\nimport React from \"react\"\nimport { Router, navigate, Location, BaseContext } from \"@gatsbyjs/reach-router\"\nimport { ScrollContext } from \"gatsby-react-router-scroll\"\nimport { StaticQueryContext } from \"./static-query\"\nimport {\n SlicesMapContext,\n SlicesContext,\n SlicesResultsContext,\n} from \"./slice/context\"\nimport {\n shouldUpdateScroll,\n init as navigationInit,\n RouteUpdates,\n} from \"./navigation\"\nimport emitter from \"./emitter\"\nimport PageRenderer from \"./page-renderer\"\nimport asyncRequires from \"$virtual/async-requires\"\nimport {\n setLoader,\n ProdLoader,\n publicLoader,\n PageResourceStatus,\n getStaticQueryResults,\n getSliceResults,\n} from \"./loader\"\nimport EnsureResources from \"./ensure-resources\"\nimport stripPrefix from \"./strip-prefix\"\n\n// Generated during bootstrap\nimport matchPaths from \"$virtual/match-paths.json\"\nimport { reactDOMUtils } from \"./react-dom-utils\"\n\nconst loader = new ProdLoader(asyncRequires, matchPaths, window.pageData)\nsetLoader(loader)\nloader.setApiRunner(apiRunner)\n\nconst { render, hydrate } = reactDOMUtils()\n\nwindow.asyncRequires = asyncRequires\nwindow.___emitter = emitter\nwindow.___loader = publicLoader\n\nnavigationInit()\n\nconst reloadStorageKey = `gatsby-reload-compilation-hash-match`\n\napiRunnerAsync(`onClientEntry`).then(() => {\n // Let plugins register a service worker. The plugin just needs\n // to return true.\n if (apiRunner(`registerServiceWorker`).filter(Boolean).length > 0) {\n require(`./register-service-worker`)\n }\n\n // In gatsby v2 if Router is used in page using matchPaths\n // paths need to contain full path.\n // For example:\n // - page have `/app/*` matchPath\n // - inside template user needs to use `/app/xyz` as path\n // Resetting `basepath`/`baseuri` keeps current behaviour\n // to not introduce breaking change.\n // Remove this in v3\n const RouteHandler = props => (\n \n \n \n )\n\n const DataContext = React.createContext({})\n\n const slicesContext = {\n renderEnvironment: `browser`,\n }\n\n class GatsbyRoot extends React.Component {\n render() {\n const { children } = this.props\n return (\n \n {({ location }) => (\n \n {({ pageResources, location }) => {\n const staticQueryResults = getStaticQueryResults()\n const sliceResults = getSliceResults()\n\n return (\n \n \n \n \n \n {children}\n \n \n \n \n \n )\n }}\n \n )}\n \n )\n }\n }\n\n class LocationHandler extends React.Component {\n render() {\n return (\n \n {({ pageResources, location }) => (\n \n \n \n \n \n \n \n )}\n \n )\n }\n }\n\n const { pagePath, location: browserLoc } = window\n\n // Explicitly call navigate if the canonical path (window.pagePath)\n // is different to the browser path (window.location.pathname). SSR\n // page paths might include search params, while SSG and DSG won't.\n // If page path include search params we also compare query params.\n // But only if NONE of the following conditions hold:\n //\n // - The url matches a client side route (page.matchPath)\n // - it's a 404 page\n // - it's the offline plugin shell (/offline-plugin-app-shell-fallback/)\n if (\n pagePath &&\n __BASE_PATH__ + pagePath !==\n browserLoc.pathname + (pagePath.includes(`?`) ? browserLoc.search : ``) &&\n !(\n loader.findMatchPath(stripPrefix(browserLoc.pathname, __BASE_PATH__)) ||\n pagePath.match(/^\\/(404|500)(\\/?|.html)$/) ||\n pagePath.match(/^\\/offline-plugin-app-shell-fallback\\/?$/)\n )\n ) {\n navigate(\n __BASE_PATH__ +\n pagePath +\n (!pagePath.includes(`?`) ? browserLoc.search : ``) +\n browserLoc.hash,\n {\n replace: true,\n }\n )\n }\n\n // It's possible that sessionStorage can throw an exception if access is not granted, see https://github.com/gatsbyjs/gatsby/issues/34512\n const getSessionStorage = () => {\n try {\n return sessionStorage\n } catch {\n return null\n }\n }\n\n publicLoader.loadPage(browserLoc.pathname + browserLoc.search).then(page => {\n const sessionStorage = getSessionStorage()\n\n if (\n page?.page?.webpackCompilationHash &&\n page.page.webpackCompilationHash !== window.___webpackCompilationHash\n ) {\n // Purge plugin-offline cache\n if (\n `serviceWorker` in navigator &&\n navigator.serviceWorker.controller !== null &&\n navigator.serviceWorker.controller.state === `activated`\n ) {\n navigator.serviceWorker.controller.postMessage({\n gatsbyApi: `clearPathResources`,\n })\n }\n\n // We have not matching html + js (inlined `window.___webpackCompilationHash`)\n // with our data (coming from `app-data.json` file). This can cause issues such as\n // errors trying to load static queries (as list of static queries is inside `page-data`\n // which might not match to currently loaded `.js` scripts).\n // We are making attempt to reload if hashes don't match, but we also have to handle case\n // when reload doesn't fix it (possibly broken deploy) so we don't end up in infinite reload loop\n if (sessionStorage) {\n const isReloaded = sessionStorage.getItem(reloadStorageKey) === `1`\n\n if (!isReloaded) {\n sessionStorage.setItem(reloadStorageKey, `1`)\n window.location.reload(true)\n return\n }\n }\n }\n\n if (sessionStorage) {\n sessionStorage.removeItem(reloadStorageKey)\n }\n\n if (!page || page.status === PageResourceStatus.Error) {\n const message = `page resources for ${browserLoc.pathname} not found. Not rendering React`\n\n // if the chunk throws an error we want to capture the real error\n // This should help with https://github.com/gatsbyjs/gatsby/issues/19618\n if (page && page.error) {\n console.error(message)\n throw page.error\n }\n\n throw new Error(message)\n }\n\n const SiteRoot = apiRunner(\n `wrapRootElement`,\n { element: },\n ,\n ({ result }) => {\n return { element: result }\n }\n ).pop()\n\n const App = function App() {\n const onClientEntryRanRef = React.useRef(false)\n\n React.useEffect(() => {\n if (!onClientEntryRanRef.current) {\n onClientEntryRanRef.current = true\n if (performance.mark) {\n performance.mark(`onInitialClientRender`)\n }\n\n apiRunner(`onInitialClientRender`)\n }\n }, [])\n\n return {SiteRoot}\n }\n\n const focusEl = document.getElementById(`gatsby-focus-wrapper`)\n\n // Client only pages have any empty body so we just do a normal\n // render to avoid React complaining about hydration mis-matches.\n let defaultRenderer = render\n if (focusEl && focusEl.children.length) {\n defaultRenderer = hydrate\n }\n\n const renderer = apiRunner(\n `replaceHydrateFunction`,\n undefined,\n defaultRenderer\n )[0]\n\n function runRender() {\n const rootElement =\n typeof window !== `undefined`\n ? document.getElementById(`___gatsby`)\n : null\n\n renderer(, rootElement)\n }\n\n // https://github.com/madrobby/zepto/blob/b5ed8d607f67724788ec9ff492be297f64d47dfc/src/zepto.js#L439-L450\n // TODO remove IE 10 support\n const doc = document\n if (\n doc.readyState === `complete` ||\n (doc.readyState !== `loading` && !doc.documentElement.doScroll)\n ) {\n setTimeout(function () {\n runRender()\n }, 0)\n } else {\n const handler = function () {\n doc.removeEventListener(`DOMContentLoaded`, handler, false)\n window.removeEventListener(`load`, handler, false)\n\n runRender()\n }\n\n doc.addEventListener(`DOMContentLoaded`, handler, false)\n window.addEventListener(`load`, handler, false)\n }\n\n return\n })\n})\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport loader from \"./loader\"\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.loadPageSync(location.pathname)\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","const map = new WeakMap()\n\nexport function reactDOMUtils() {\n const reactDomClient = require(`react-dom/client`)\n\n const render = (Component, el) => {\n let root = map.get(el)\n if (!root) {\n map.set(el, (root = reactDomClient.createRoot(el)))\n }\n root.render(Component)\n }\n\n const hydrate = (Component, el) => reactDomClient.hydrateRoot(el, Component)\n\n return { render, hydrate }\n}\n","import redirects from \"./redirects.json\"\n\n// Convert to a map for faster lookup in maybeRedirect()\n\nconst redirectMap = new Map()\nconst redirectIgnoreCaseMap = new Map()\n\nredirects.forEach(redirect => {\n if (redirect.ignoreCase) {\n redirectIgnoreCaseMap.set(redirect.fromPath, redirect)\n } else {\n redirectMap.set(redirect.fromPath, redirect)\n }\n})\n\nexport function maybeGetBrowserRedirect(pathname) {\n let redirect = redirectMap.get(pathname)\n if (!redirect) {\n redirect = redirectIgnoreCaseMap.get(pathname.toLowerCase())\n }\n return redirect\n}\n","import { apiRunner } from \"./api-runner-browser\"\n\nif (\n window.location.protocol !== `https:` &&\n window.location.hostname !== `localhost`\n) {\n console.error(\n `Service workers can only be used over HTTPS, or on localhost for development`\n )\n} else if (`serviceWorker` in navigator) {\n navigator.serviceWorker\n .register(`${__BASE_PATH__}/sw.js`)\n .then(function (reg) {\n reg.addEventListener(`updatefound`, () => {\n apiRunner(`onServiceWorkerUpdateFound`, { serviceWorker: reg })\n // The updatefound event implies that reg.installing is set; see\n // https://w3c.github.io/ServiceWorker/#service-worker-registration-updatefound-event\n const installingWorker = reg.installing\n console.log(`installingWorker`, installingWorker)\n installingWorker.addEventListener(`statechange`, () => {\n switch (installingWorker.state) {\n case `installed`:\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and the fresh content will\n // have been added to the cache.\n\n // We set a flag so Gatsby Link knows to refresh the page on next navigation attempt\n window.___swUpdated = true\n // We call the onServiceWorkerUpdateReady API so users can show update prompts.\n apiRunner(`onServiceWorkerUpdateReady`, { serviceWorker: reg })\n\n // If resources failed for the current page, reload.\n if (window.___failedResources) {\n console.log(`resources failed, SW updated - reloading`)\n window.location.reload()\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a \"Content is cached for offline use.\" message.\n console.log(`Content is now available offline!`)\n\n // Post to service worker that install is complete.\n // Delay to allow time for the event listener to be added --\n // otherwise fetch is called too soon and resources aren't cached.\n apiRunner(`onServiceWorkerInstalled`, { serviceWorker: reg })\n }\n break\n\n case `redundant`:\n console.error(`The installing service worker became redundant.`)\n apiRunner(`onServiceWorkerRedundant`, { serviceWorker: reg })\n break\n\n case `activated`:\n apiRunner(`onServiceWorkerActive`, { serviceWorker: reg })\n break\n }\n })\n })\n })\n .catch(function (e) {\n console.error(`Error during service worker registration:`, e)\n })\n}\n","import React from \"react\"\n\nconst SlicesResultsContext = React.createContext({})\nconst SlicesContext = React.createContext({})\nconst SlicesMapContext = React.createContext({})\nconst SlicesPropsContext = React.createContext({})\n\nexport {\n SlicesResultsContext,\n SlicesContext,\n SlicesMapContext,\n SlicesPropsContext,\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { createServerOrClientContext } from \"./context-utils\"\n\nconst StaticQueryContext = createServerOrClientContext(`StaticQuery`, {})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nlet warnedAboutStaticQuery = false\n\n// TODO(v6): Remove completely\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n if (process.env.NODE_ENV === `development` && !warnedAboutStaticQuery) {\n console.warn(\n `The component is deprecated and will be removed in Gatsby v6. Use useStaticQuery instead. Refer to the migration guide for more information: https://gatsby.dev/migrating-4-to-5/#staticquery--is-deprecated`\n )\n warnedAboutStaticQuery = true\n }\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n // TODO(v5): Remove since we require React >= 18\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n\n const context = React.useContext(StaticQueryContext)\n\n // query is a stringified number like `3303882` when wrapped with graphql, If a user forgets\n // to wrap the query in a grqphql, then casting it to a Number results in `NaN` allowing us to\n // catch the misuse of the API and give proper direction\n if (isNaN(Number(query))) {\n throw new Error(`useStaticQuery was called with a string but expects to be called using \\`graphql\\`. Try this:\n\nimport { useStaticQuery, graphql } from 'gatsby';\n\nuseStaticQuery(graphql\\`${query}\\`);\n`)\n }\n\n if (context[query]?.data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nexport { StaticQuery, StaticQueryContext, useStaticQuery }\n","import React from \"react\"\n\n// Ensure serverContext is not created more than once as React will throw when creating it more than once\n// https://github.com/facebook/react/blob/dd2d6522754f52c70d02c51db25eb7cbd5d1c8eb/packages/react/src/ReactServerContext.js#L101\nconst createServerContext = (name, defaultValue = null) => {\n /* eslint-disable no-undef */\n if (!globalThis.__SERVER_CONTEXT) {\n globalThis.__SERVER_CONTEXT = {}\n }\n\n if (!globalThis.__SERVER_CONTEXT[name]) {\n globalThis.__SERVER_CONTEXT[name] = React.createServerContext(\n name,\n defaultValue\n )\n }\n\n return globalThis.__SERVER_CONTEXT[name]\n}\n\nfunction createServerOrClientContext(name, defaultValue) {\n if (React.createServerContext) {\n return createServerContext(name, defaultValue)\n }\n\n return React.createContext(defaultValue)\n}\n\nexport { createServerOrClientContext }\n","/**\n * Remove a prefix from a string. Return the input string if the given prefix\n * isn't found.\n */\n\nexport default function stripPrefix(str, prefix = ``) {\n if (!prefix) {\n return str\n }\n\n if (str === prefix) {\n return `/`\n }\n\n if (str.startsWith(`${prefix}/`)) {\n return str.slice(prefix.length)\n }\n\n return str\n}\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import { __extends } from \"tslib\";\nvar genericMessage = \"Invariant Violation\";\nvar _a = Object.setPrototypeOf, setPrototypeOf = _a === void 0 ? function (obj, proto) {\n obj.__proto__ = proto;\n return obj;\n} : _a;\nvar InvariantError = /** @class */ (function (_super) {\n __extends(InvariantError, _super);\n function InvariantError(message) {\n if (message === void 0) { message = genericMessage; }\n var _this = _super.call(this, typeof message === \"number\"\n ? genericMessage + \": \" + message + \" (see https://github.com/apollographql/invariant-packages)\"\n : message) || this;\n _this.framesToPop = 1;\n _this.name = genericMessage;\n setPrototypeOf(_this, InvariantError.prototype);\n return _this;\n }\n return InvariantError;\n}(Error));\nexport { InvariantError };\nexport function invariant(condition, message) {\n if (!condition) {\n throw new InvariantError(message);\n }\n}\nvar verbosityLevels = [\"debug\", \"log\", \"warn\", \"error\", \"silent\"];\nvar verbosityLevel = verbosityLevels.indexOf(\"log\");\nfunction wrapConsoleMethod(name) {\n return function () {\n if (verbosityLevels.indexOf(name) >= verbosityLevel) {\n // Default to console.log if this host environment happens not to provide\n // all the console.* methods we need.\n var method = console[name] || console.log;\n return method.apply(console, arguments);\n }\n };\n}\n(function (invariant) {\n invariant.debug = wrapConsoleMethod(\"debug\");\n invariant.log = wrapConsoleMethod(\"log\");\n invariant.warn = wrapConsoleMethod(\"warn\");\n invariant.error = wrapConsoleMethod(\"error\");\n})(invariant || (invariant = {}));\nexport function setVerbosity(level) {\n var old = verbosityLevels[verbosityLevel];\n verbosityLevel = Math.max(0, verbosityLevels.indexOf(level));\n return old;\n}\nexport default invariant;\n//# sourceMappingURL=invariant.js.map","export var version = '3.8.0';\n//# sourceMappingURL=version.js.map","export function maybe(thunk) {\n try {\n return thunk();\n }\n catch (_a) { }\n}\n//# sourceMappingURL=maybe.js.map","import { maybe } from \"./maybe.js\";\nexport default (maybe(function () { return globalThis; }) ||\n maybe(function () { return window; }) ||\n maybe(function () { return self; }) ||\n maybe(function () { return global; }) || maybe(function () { return maybe.constructor(\"return this\")(); }));\n//# sourceMappingURL=global.js.map","var prefixCounts = new Map();\nexport function makeUniqueId(prefix) {\n var count = prefixCounts.get(prefix) || 1;\n prefixCounts.set(prefix, count + 1);\n return \"\".concat(prefix, \":\").concat(count, \":\").concat(Math.random().toString(36).slice(2));\n}\n//# sourceMappingURL=makeUniqueId.js.map","import { makeUniqueId } from \"./makeUniqueId.js\";\nexport function stringifyForDisplay(value, space) {\n if (space === void 0) { space = 0; }\n var undefId = makeUniqueId(\"stringifyForDisplay\");\n return JSON.stringify(value, function (key, value) {\n return value === void 0 ? undefId : value;\n }, space).split(JSON.stringify(undefId)).join(\"\");\n}\n//# sourceMappingURL=stringifyForDisplay.js.map","import { __spreadArray } from \"tslib\";\nimport { invariant as originalInvariant, InvariantError } from \"ts-invariant\";\nimport { version } from \"../../version.js\";\nimport global from \"./global.js\";\nimport { stringifyForDisplay } from \"../common/stringifyForDisplay.js\";\nfunction wrap(fn) {\n return function (message) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n fn.apply(void 0, __spreadArray([typeof message === \"number\" ? getErrorMsg(message) : message], args, false));\n };\n}\nvar invariant = Object.assign(function invariant(condition, message) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n if (!condition) {\n originalInvariant(condition, getErrorMsg(message, args));\n }\n}, {\n debug: wrap(originalInvariant.debug),\n log: wrap(originalInvariant.log),\n warn: wrap(originalInvariant.warn),\n error: wrap(originalInvariant.error),\n});\nfunction newInvariantError(message) {\n var optionalParams = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n optionalParams[_i - 1] = arguments[_i];\n }\n return new InvariantError(getErrorMsg(message, optionalParams));\n}\nvar ApolloErrorMessageHandler = Symbol.for(\"ApolloErrorMessageHandler_\" + version);\nfunction getErrorMsg(message, messageArgs) {\n if (messageArgs === void 0) { messageArgs = []; }\n if (!message)\n return;\n var args = messageArgs.map(function (arg) {\n return typeof arg == \"string\" ? arg : stringifyForDisplay(arg, 2).slice(0, 1000);\n });\n return ((global[ApolloErrorMessageHandler] &&\n global[ApolloErrorMessageHandler](message, args)) ||\n \"An error occured! For more details, see the full error text at https://go.apollo.dev/c/err#\".concat(encodeURIComponent(JSON.stringify({\n version: version,\n message: message,\n args: args,\n }))));\n}\nexport { invariant, InvariantError, newInvariantError, ApolloErrorMessageHandler, };\n//# sourceMappingURL=invariantWrappers.js.map","import { invariant, newInvariantError, InvariantError } from \"./invariantWrappers.js\";\nexport { maybe } from \"./maybe.js\";\nexport { default as global } from \"./global.js\";\nexport { invariant, newInvariantError, InvariantError };\nexport var DEV = globalThis.__DEV__ !== false;\nexport { DEV as __DEV__ };\n//# sourceMappingURL=index.js.map","import { maybe } from \"../globals/index.js\";\nexport var canUseWeakMap = typeof WeakMap === 'function' &&\n maybe(function () { return navigator.product; }) !== 'ReactNative';\nexport var canUseWeakSet = typeof WeakSet === 'function';\nexport var canUseSymbol = typeof Symbol === 'function' &&\n typeof Symbol.for === 'function';\nexport var canUseAsyncIteratorSymbol = canUseSymbol && Symbol.asyncIterator;\nexport var canUseDOM = typeof maybe(function () { return window.document.createElement; }) === \"function\";\nvar usingJSDOM = maybe(function () { return navigator.userAgent.indexOf(\"jsdom\") >= 0; }) || false;\nexport var canUseLayoutEffect = canUseDOM && !usingJSDOM;\n//# sourceMappingURL=canUse.js.map","import * as React from \"react\";\nimport { canUseSymbol } from \"../../utilities/index.js\";\nimport { invariant } from \"../../utilities/globals/index.js\";\nvar contextKey = canUseSymbol\n ? Symbol.for(\"__APOLLO_CONTEXT__\")\n : \"__APOLLO_CONTEXT__\";\nexport function getApolloContext() {\n invariant(\"createContext\" in React, 43);\n var context = React.createContext[contextKey];\n if (!context) {\n Object.defineProperty(React.createContext, contextKey, {\n value: (context = React.createContext({})),\n enumerable: false,\n writable: false,\n configurable: true,\n });\n context.displayName = \"ApolloContext\";\n }\n return context;\n}\nexport var resetApolloContext = getApolloContext;\n//# sourceMappingURL=ApolloContext.js.map","import { __assign } from \"tslib\";\nimport { invariant } from \"../../utilities/globals/index.js\";\nimport * as React from \"react\";\nimport { getApolloContext } from \"./ApolloContext.js\";\nexport var ApolloProvider = function (_a) {\n var client = _a.client, children = _a.children;\n var ApolloContext = getApolloContext();\n var parentContext = React.useContext(ApolloContext);\n var context = React.useMemo(function () {\n return __assign(__assign({}, parentContext), { client: client || parentContext.client });\n }, [parentContext, client]);\n invariant(context.client, 44);\n return (React.createElement(ApolloContext.Provider, { value: context }, children));\n};\n//# sourceMappingURL=ApolloProvider.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n// === Symbol Support ===\nvar hasSymbols = function () {\n return typeof Symbol === 'function';\n};\n\nvar hasSymbol = function (name) {\n return hasSymbols() && Boolean(Symbol[name]);\n};\n\nvar getSymbol = function (name) {\n return hasSymbol(name) ? Symbol[name] : '@@' + name;\n};\n\nif (hasSymbols() && !hasSymbol('observable')) {\n Symbol.observable = Symbol('observable');\n}\n\nvar SymbolIterator = getSymbol('iterator');\nvar SymbolObservable = getSymbol('observable');\nvar SymbolSpecies = getSymbol('species'); // === Abstract Operations ===\n\nfunction getMethod(obj, key) {\n var value = obj[key];\n if (value == null) return undefined;\n if (typeof value !== 'function') throw new TypeError(value + ' is not a function');\n return value;\n}\n\nfunction getSpecies(obj) {\n var ctor = obj.constructor;\n\n if (ctor !== undefined) {\n ctor = ctor[SymbolSpecies];\n\n if (ctor === null) {\n ctor = undefined;\n }\n }\n\n return ctor !== undefined ? ctor : Observable;\n}\n\nfunction isObservable(x) {\n return x instanceof Observable; // SPEC: Brand check\n}\n\nfunction hostReportError(e) {\n if (hostReportError.log) {\n hostReportError.log(e);\n } else {\n setTimeout(function () {\n throw e;\n });\n }\n}\n\nfunction enqueue(fn) {\n Promise.resolve().then(function () {\n try {\n fn();\n } catch (e) {\n hostReportError(e);\n }\n });\n}\n\nfunction cleanupSubscription(subscription) {\n var cleanup = subscription._cleanup;\n if (cleanup === undefined) return;\n subscription._cleanup = undefined;\n\n if (!cleanup) {\n return;\n }\n\n try {\n if (typeof cleanup === 'function') {\n cleanup();\n } else {\n var unsubscribe = getMethod(cleanup, 'unsubscribe');\n\n if (unsubscribe) {\n unsubscribe.call(cleanup);\n }\n }\n } catch (e) {\n hostReportError(e);\n }\n}\n\nfunction closeSubscription(subscription) {\n subscription._observer = undefined;\n subscription._queue = undefined;\n subscription._state = 'closed';\n}\n\nfunction flushSubscription(subscription) {\n var queue = subscription._queue;\n\n if (!queue) {\n return;\n }\n\n subscription._queue = undefined;\n subscription._state = 'ready';\n\n for (var i = 0; i < queue.length; ++i) {\n notifySubscription(subscription, queue[i].type, queue[i].value);\n if (subscription._state === 'closed') break;\n }\n}\n\nfunction notifySubscription(subscription, type, value) {\n subscription._state = 'running';\n var observer = subscription._observer;\n\n try {\n var m = getMethod(observer, type);\n\n switch (type) {\n case 'next':\n if (m) m.call(observer, value);\n break;\n\n case 'error':\n closeSubscription(subscription);\n if (m) m.call(observer, value);else throw value;\n break;\n\n case 'complete':\n closeSubscription(subscription);\n if (m) m.call(observer);\n break;\n }\n } catch (e) {\n hostReportError(e);\n }\n\n if (subscription._state === 'closed') cleanupSubscription(subscription);else if (subscription._state === 'running') subscription._state = 'ready';\n}\n\nfunction onNotify(subscription, type, value) {\n if (subscription._state === 'closed') return;\n\n if (subscription._state === 'buffering') {\n subscription._queue.push({\n type: type,\n value: value\n });\n\n return;\n }\n\n if (subscription._state !== 'ready') {\n subscription._state = 'buffering';\n subscription._queue = [{\n type: type,\n value: value\n }];\n enqueue(function () {\n return flushSubscription(subscription);\n });\n return;\n }\n\n notifySubscription(subscription, type, value);\n}\n\nvar Subscription = /*#__PURE__*/function () {\n function Subscription(observer, subscriber) {\n // ASSERT: observer is an object\n // ASSERT: subscriber is callable\n this._cleanup = undefined;\n this._observer = observer;\n this._queue = undefined;\n this._state = 'initializing';\n var subscriptionObserver = new SubscriptionObserver(this);\n\n try {\n this._cleanup = subscriber.call(undefined, subscriptionObserver);\n } catch (e) {\n subscriptionObserver.error(e);\n }\n\n if (this._state === 'initializing') this._state = 'ready';\n }\n\n var _proto = Subscription.prototype;\n\n _proto.unsubscribe = function unsubscribe() {\n if (this._state !== 'closed') {\n closeSubscription(this);\n cleanupSubscription(this);\n }\n };\n\n _createClass(Subscription, [{\n key: \"closed\",\n get: function () {\n return this._state === 'closed';\n }\n }]);\n\n return Subscription;\n}();\n\nvar SubscriptionObserver = /*#__PURE__*/function () {\n function SubscriptionObserver(subscription) {\n this._subscription = subscription;\n }\n\n var _proto2 = SubscriptionObserver.prototype;\n\n _proto2.next = function next(value) {\n onNotify(this._subscription, 'next', value);\n };\n\n _proto2.error = function error(value) {\n onNotify(this._subscription, 'error', value);\n };\n\n _proto2.complete = function complete() {\n onNotify(this._subscription, 'complete');\n };\n\n _createClass(SubscriptionObserver, [{\n key: \"closed\",\n get: function () {\n return this._subscription._state === 'closed';\n }\n }]);\n\n return SubscriptionObserver;\n}();\n\nvar Observable = /*#__PURE__*/function () {\n function Observable(subscriber) {\n if (!(this instanceof Observable)) throw new TypeError('Observable cannot be called as a function');\n if (typeof subscriber !== 'function') throw new TypeError('Observable initializer must be a function');\n this._subscriber = subscriber;\n }\n\n var _proto3 = Observable.prototype;\n\n _proto3.subscribe = function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n observer = {\n next: observer,\n error: arguments[1],\n complete: arguments[2]\n };\n }\n\n return new Subscription(observer, this._subscriber);\n };\n\n _proto3.forEach = function forEach(fn) {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n if (typeof fn !== 'function') {\n reject(new TypeError(fn + ' is not a function'));\n return;\n }\n\n function done() {\n subscription.unsubscribe();\n resolve();\n }\n\n var subscription = _this.subscribe({\n next: function (value) {\n try {\n fn(value, done);\n } catch (e) {\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n };\n\n _proto3.map = function map(fn) {\n var _this2 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n return _this2.subscribe({\n next: function (value) {\n try {\n value = fn(value);\n } catch (e) {\n return observer.error(e);\n }\n\n observer.next(value);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n observer.complete();\n }\n });\n });\n };\n\n _proto3.filter = function filter(fn) {\n var _this3 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n return _this3.subscribe({\n next: function (value) {\n try {\n if (!fn(value)) return;\n } catch (e) {\n return observer.error(e);\n }\n\n observer.next(value);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n observer.complete();\n }\n });\n });\n };\n\n _proto3.reduce = function reduce(fn) {\n var _this4 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n var hasSeed = arguments.length > 1;\n var hasValue = false;\n var seed = arguments[1];\n var acc = seed;\n return new C(function (observer) {\n return _this4.subscribe({\n next: function (value) {\n var first = !hasValue;\n hasValue = true;\n\n if (!first || hasSeed) {\n try {\n acc = fn(acc, value);\n } catch (e) {\n return observer.error(e);\n }\n } else {\n acc = value;\n }\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n if (!hasValue && !hasSeed) return observer.error(new TypeError('Cannot reduce an empty sequence'));\n observer.next(acc);\n observer.complete();\n }\n });\n });\n };\n\n _proto3.concat = function concat() {\n var _this5 = this;\n\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n var C = getSpecies(this);\n return new C(function (observer) {\n var subscription;\n var index = 0;\n\n function startNext(next) {\n subscription = next.subscribe({\n next: function (v) {\n observer.next(v);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n if (index === sources.length) {\n subscription = undefined;\n observer.complete();\n } else {\n startNext(C.from(sources[index++]));\n }\n }\n });\n }\n\n startNext(_this5);\n return function () {\n if (subscription) {\n subscription.unsubscribe();\n subscription = undefined;\n }\n };\n });\n };\n\n _proto3.flatMap = function flatMap(fn) {\n var _this6 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n var subscriptions = [];\n\n var outer = _this6.subscribe({\n next: function (value) {\n if (fn) {\n try {\n value = fn(value);\n } catch (e) {\n return observer.error(e);\n }\n }\n\n var inner = C.from(value).subscribe({\n next: function (value) {\n observer.next(value);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n var i = subscriptions.indexOf(inner);\n if (i >= 0) subscriptions.splice(i, 1);\n completeIfDone();\n }\n });\n subscriptions.push(inner);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n completeIfDone();\n }\n });\n\n function completeIfDone() {\n if (outer.closed && subscriptions.length === 0) observer.complete();\n }\n\n return function () {\n subscriptions.forEach(function (s) {\n return s.unsubscribe();\n });\n outer.unsubscribe();\n };\n });\n };\n\n _proto3[SymbolObservable] = function () {\n return this;\n };\n\n Observable.from = function from(x) {\n var C = typeof this === 'function' ? this : Observable;\n if (x == null) throw new TypeError(x + ' is not an object');\n var method = getMethod(x, SymbolObservable);\n\n if (method) {\n var observable = method.call(x);\n if (Object(observable) !== observable) throw new TypeError(observable + ' is not an object');\n if (isObservable(observable) && observable.constructor === C) return observable;\n return new C(function (observer) {\n return observable.subscribe(observer);\n });\n }\n\n if (hasSymbol('iterator')) {\n method = getMethod(x, SymbolIterator);\n\n if (method) {\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n\n for (var _iterator = _createForOfIteratorHelperLoose(method.call(x)), _step; !(_step = _iterator()).done;) {\n var item = _step.value;\n observer.next(item);\n if (observer.closed) return;\n }\n\n observer.complete();\n });\n });\n }\n }\n\n if (Array.isArray(x)) {\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n\n for (var i = 0; i < x.length; ++i) {\n observer.next(x[i]);\n if (observer.closed) return;\n }\n\n observer.complete();\n });\n });\n }\n\n throw new TypeError(x + ' is not observable');\n };\n\n Observable.of = function of() {\n for (var _len2 = arguments.length, items = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n items[_key2] = arguments[_key2];\n }\n\n var C = typeof this === 'function' ? this : Observable;\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n\n for (var i = 0; i < items.length; ++i) {\n observer.next(items[i]);\n if (observer.closed) return;\n }\n\n observer.complete();\n });\n });\n };\n\n _createClass(Observable, null, [{\n key: SymbolSpecies,\n get: function () {\n return this;\n }\n }]);\n\n return Observable;\n}();\n\nif (hasSymbols()) {\n Object.defineProperty(Observable, Symbol('extensions'), {\n value: {\n symbol: SymbolObservable,\n hostReportError: hostReportError\n },\n configurable: true\n });\n}\n\nexport { Observable };\n","export function isNonNullObject(obj) {\n return obj !== null && typeof obj === 'object';\n}\nexport function isPlainObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n (Object.getPrototypeOf(obj) === Object.prototype ||\n Object.getPrototypeOf(obj) === null));\n}\n//# sourceMappingURL=objects.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport { invariant, newInvariantError } from '../globals/index.js';\nexport function getFragmentQueryDocument(document, fragmentName) {\n var actualFragmentName = fragmentName;\n var fragments = [];\n document.definitions.forEach(function (definition) {\n if (definition.kind === 'OperationDefinition') {\n throw newInvariantError(\n 68,\n definition.operation,\n definition.name ? \" named '\".concat(definition.name.value, \"'\") : ''\n );\n }\n if (definition.kind === 'FragmentDefinition') {\n fragments.push(definition);\n }\n });\n if (typeof actualFragmentName === 'undefined') {\n invariant(fragments.length === 1, 69, fragments.length);\n actualFragmentName = fragments[0].name.value;\n }\n var query = __assign(__assign({}, document), { definitions: __spreadArray([\n {\n kind: 'OperationDefinition',\n operation: 'query',\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'FragmentSpread',\n name: {\n kind: 'Name',\n value: actualFragmentName,\n },\n },\n ],\n },\n }\n ], document.definitions, true) });\n return query;\n}\nexport function createFragmentMap(fragments) {\n if (fragments === void 0) { fragments = []; }\n var symTable = {};\n fragments.forEach(function (fragment) {\n symTable[fragment.name.value] = fragment;\n });\n return symTable;\n}\nexport function getFragmentFromSelection(selection, fragmentMap) {\n switch (selection.kind) {\n case 'InlineFragment':\n return selection;\n case 'FragmentSpread': {\n var fragmentName = selection.name.value;\n if (typeof fragmentMap === \"function\") {\n return fragmentMap(fragmentName);\n }\n var fragment = fragmentMap && fragmentMap[fragmentName];\n invariant(fragment, 70, fragmentName);\n return fragment || null;\n }\n default:\n return null;\n }\n}\n//# sourceMappingURL=fragments.js.map","import { newInvariantError } from '../globals/index.js';\nimport { isNonNullObject } from '../common/objects.js';\nimport { getFragmentFromSelection } from './fragments.js';\nexport function makeReference(id) {\n return { __ref: String(id) };\n}\nexport function isReference(obj) {\n return Boolean(obj && typeof obj === 'object' && typeof obj.__ref === 'string');\n}\nexport function isDocumentNode(value) {\n return (isNonNullObject(value) &&\n value.kind === \"Document\" &&\n Array.isArray(value.definitions));\n}\nfunction isStringValue(value) {\n return value.kind === 'StringValue';\n}\nfunction isBooleanValue(value) {\n return value.kind === 'BooleanValue';\n}\nfunction isIntValue(value) {\n return value.kind === 'IntValue';\n}\nfunction isFloatValue(value) {\n return value.kind === 'FloatValue';\n}\nfunction isVariable(value) {\n return value.kind === 'Variable';\n}\nfunction isObjectValue(value) {\n return value.kind === 'ObjectValue';\n}\nfunction isListValue(value) {\n return value.kind === 'ListValue';\n}\nfunction isEnumValue(value) {\n return value.kind === 'EnumValue';\n}\nfunction isNullValue(value) {\n return value.kind === 'NullValue';\n}\nexport function valueToObjectRepresentation(argObj, name, value, variables) {\n if (isIntValue(value) || isFloatValue(value)) {\n argObj[name.value] = Number(value.value);\n }\n else if (isBooleanValue(value) || isStringValue(value)) {\n argObj[name.value] = value.value;\n }\n else if (isObjectValue(value)) {\n var nestedArgObj_1 = {};\n value.fields.map(function (obj) {\n return valueToObjectRepresentation(nestedArgObj_1, obj.name, obj.value, variables);\n });\n argObj[name.value] = nestedArgObj_1;\n }\n else if (isVariable(value)) {\n var variableValue = (variables || {})[value.name.value];\n argObj[name.value] = variableValue;\n }\n else if (isListValue(value)) {\n argObj[name.value] = value.values.map(function (listValue) {\n var nestedArgArrayObj = {};\n valueToObjectRepresentation(nestedArgArrayObj, name, listValue, variables);\n return nestedArgArrayObj[name.value];\n });\n }\n else if (isEnumValue(value)) {\n argObj[name.value] = value.value;\n }\n else if (isNullValue(value)) {\n argObj[name.value] = null;\n }\n else {\n throw newInvariantError(79, name.value, value.kind);\n }\n}\nexport function storeKeyNameFromField(field, variables) {\n var directivesObj = null;\n if (field.directives) {\n directivesObj = {};\n field.directives.forEach(function (directive) {\n directivesObj[directive.name.value] = {};\n if (directive.arguments) {\n directive.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(directivesObj[directive.name.value], name, value, variables);\n });\n }\n });\n }\n var argObj = null;\n if (field.arguments && field.arguments.length) {\n argObj = {};\n field.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(argObj, name, value, variables);\n });\n }\n return getStoreKeyName(field.name.value, argObj, directivesObj);\n}\nvar KNOWN_DIRECTIVES = [\n 'connection',\n 'include',\n 'skip',\n 'client',\n 'rest',\n 'export',\n 'nonreactive',\n];\nexport var getStoreKeyName = Object.assign(function (fieldName, args, directives) {\n if (args &&\n directives &&\n directives['connection'] &&\n directives['connection']['key']) {\n if (directives['connection']['filter'] &&\n directives['connection']['filter'].length > 0) {\n var filterKeys = directives['connection']['filter']\n ? directives['connection']['filter']\n : [];\n filterKeys.sort();\n var filteredArgs_1 = {};\n filterKeys.forEach(function (key) {\n filteredArgs_1[key] = args[key];\n });\n return \"\".concat(directives['connection']['key'], \"(\").concat(stringify(filteredArgs_1), \")\");\n }\n else {\n return directives['connection']['key'];\n }\n }\n var completeFieldName = fieldName;\n if (args) {\n var stringifiedArgs = stringify(args);\n completeFieldName += \"(\".concat(stringifiedArgs, \")\");\n }\n if (directives) {\n Object.keys(directives).forEach(function (key) {\n if (KNOWN_DIRECTIVES.indexOf(key) !== -1)\n return;\n if (directives[key] && Object.keys(directives[key]).length) {\n completeFieldName += \"@\".concat(key, \"(\").concat(stringify(directives[key]), \")\");\n }\n else {\n completeFieldName += \"@\".concat(key);\n }\n });\n }\n return completeFieldName;\n}, {\n setStringify: function (s) {\n var previous = stringify;\n stringify = s;\n return previous;\n },\n});\nvar stringify = function defaultStringify(value) {\n return JSON.stringify(value, stringifyReplacer);\n};\nfunction stringifyReplacer(_key, value) {\n if (isNonNullObject(value) && !Array.isArray(value)) {\n value = Object.keys(value).sort().reduce(function (copy, key) {\n copy[key] = value[key];\n return copy;\n }, {});\n }\n return value;\n}\nexport function argumentsObjectFromField(field, variables) {\n if (field.arguments && field.arguments.length) {\n var argObj_1 = {};\n field.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(argObj_1, name, value, variables);\n });\n return argObj_1;\n }\n return null;\n}\nexport function resultKeyNameFromField(field) {\n return field.alias ? field.alias.value : field.name.value;\n}\nexport function getTypenameFromResult(result, selectionSet, fragmentMap) {\n var fragments;\n for (var _i = 0, _a = selectionSet.selections; _i < _a.length; _i++) {\n var selection = _a[_i];\n if (isField(selection)) {\n if (selection.name.value === '__typename') {\n return result[resultKeyNameFromField(selection)];\n }\n }\n else if (fragments) {\n fragments.push(selection);\n }\n else {\n fragments = [selection];\n }\n }\n if (typeof result.__typename === 'string') {\n return result.__typename;\n }\n if (fragments) {\n for (var _b = 0, fragments_1 = fragments; _b < fragments_1.length; _b++) {\n var selection = fragments_1[_b];\n var typename = getTypenameFromResult(result, getFragmentFromSelection(selection, fragmentMap).selectionSet, fragmentMap);\n if (typeof typename === 'string') {\n return typename;\n }\n }\n }\n}\nexport function isField(selection) {\n return selection.kind === 'Field';\n}\nexport function isInlineFragment(selection) {\n return selection.kind === 'InlineFragment';\n}\n//# sourceMappingURL=storeUtils.js.map","import { invariant, newInvariantError } from '../globals/index.js';\nimport { valueToObjectRepresentation } from './storeUtils.js';\nexport function checkDocument(doc) {\n invariant(doc && doc.kind === 'Document', 71);\n var operations = doc.definitions\n .filter(function (d) { return d.kind !== 'FragmentDefinition'; })\n .map(function (definition) {\n if (definition.kind !== 'OperationDefinition') {\n throw newInvariantError(72, definition.kind);\n }\n return definition;\n });\n invariant(operations.length <= 1, 73, operations.length);\n return doc;\n}\nexport function getOperationDefinition(doc) {\n checkDocument(doc);\n return doc.definitions.filter(function (definition) {\n return definition.kind === 'OperationDefinition';\n })[0];\n}\nexport function getOperationName(doc) {\n return (doc.definitions\n .filter(function (definition) {\n return definition.kind === 'OperationDefinition' && !!definition.name;\n })\n .map(function (x) { return x.name.value; })[0] || null);\n}\nexport function getFragmentDefinitions(doc) {\n return doc.definitions.filter(function (definition) {\n return definition.kind === 'FragmentDefinition';\n });\n}\nexport function getQueryDefinition(doc) {\n var queryDef = getOperationDefinition(doc);\n invariant(queryDef && queryDef.operation === 'query', 74);\n return queryDef;\n}\nexport function getFragmentDefinition(doc) {\n invariant(doc.kind === 'Document', 75);\n invariant(doc.definitions.length <= 1, 76);\n var fragmentDef = doc.definitions[0];\n invariant(fragmentDef.kind === 'FragmentDefinition', 77);\n return fragmentDef;\n}\nexport function getMainDefinition(queryDoc) {\n checkDocument(queryDoc);\n var fragmentDefinition;\n for (var _i = 0, _a = queryDoc.definitions; _i < _a.length; _i++) {\n var definition = _a[_i];\n if (definition.kind === 'OperationDefinition') {\n var operation = definition.operation;\n if (operation === 'query' ||\n operation === 'mutation' ||\n operation === 'subscription') {\n return definition;\n }\n }\n if (definition.kind === 'FragmentDefinition' && !fragmentDefinition) {\n fragmentDefinition = definition;\n }\n }\n if (fragmentDefinition) {\n return fragmentDefinition;\n }\n throw newInvariantError(78);\n}\nexport function getDefaultValues(definition) {\n var defaultValues = Object.create(null);\n var defs = definition && definition.variableDefinitions;\n if (defs && defs.length) {\n defs.forEach(function (def) {\n if (def.defaultValue) {\n valueToObjectRepresentation(defaultValues, def.variable.name, def.defaultValue);\n }\n });\n }\n return defaultValues;\n}\n//# sourceMappingURL=getFromAST.js.map","import { newInvariantError, invariant } from '../../utilities/globals/index.js';\nimport { Observable } from '../../utilities/index.js';\nimport { validateOperation, createOperation, transformOperation, } from '../utils/index.js';\nfunction passthrough(op, forward) {\n return (forward ? forward(op) : Observable.of());\n}\nfunction toLink(handler) {\n return typeof handler === 'function' ? new ApolloLink(handler) : handler;\n}\nfunction isTerminating(link) {\n return link.request.length <= 1;\n}\nvar ApolloLink = (function () {\n function ApolloLink(request) {\n if (request)\n this.request = request;\n }\n ApolloLink.empty = function () {\n return new ApolloLink(function () { return Observable.of(); });\n };\n ApolloLink.from = function (links) {\n if (links.length === 0)\n return ApolloLink.empty();\n return links.map(toLink).reduce(function (x, y) { return x.concat(y); });\n };\n ApolloLink.split = function (test, left, right) {\n var leftLink = toLink(left);\n var rightLink = toLink(right || new ApolloLink(passthrough));\n if (isTerminating(leftLink) && isTerminating(rightLink)) {\n return new ApolloLink(function (operation) {\n return test(operation)\n ? leftLink.request(operation) || Observable.of()\n : rightLink.request(operation) || Observable.of();\n });\n }\n else {\n return new ApolloLink(function (operation, forward) {\n return test(operation)\n ? leftLink.request(operation, forward) || Observable.of()\n : rightLink.request(operation, forward) || Observable.of();\n });\n }\n };\n ApolloLink.execute = function (link, operation) {\n return (link.request(createOperation(operation.context, transformOperation(validateOperation(operation)))) || Observable.of());\n };\n ApolloLink.concat = function (first, second) {\n var firstLink = toLink(first);\n if (isTerminating(firstLink)) {\n globalThis.__DEV__ !== false && invariant.warn(33, firstLink);\n return firstLink;\n }\n var nextLink = toLink(second);\n if (isTerminating(nextLink)) {\n return new ApolloLink(function (operation) {\n return firstLink.request(operation, function (op) { return nextLink.request(op) || Observable.of(); }) || Observable.of();\n });\n }\n else {\n return new ApolloLink(function (operation, forward) {\n return (firstLink.request(operation, function (op) {\n return nextLink.request(op, forward) || Observable.of();\n }) || Observable.of());\n });\n }\n };\n ApolloLink.prototype.split = function (test, left, right) {\n return this.concat(ApolloLink.split(test, left, right || new ApolloLink(passthrough)));\n };\n ApolloLink.prototype.concat = function (next) {\n return ApolloLink.concat(this, next);\n };\n ApolloLink.prototype.request = function (operation, forward) {\n throw newInvariantError(34);\n };\n ApolloLink.prototype.onError = function (error, observer) {\n if (observer && observer.error) {\n observer.error(error);\n return false;\n }\n throw error;\n };\n ApolloLink.prototype.setOnError = function (fn) {\n this.onError = fn;\n return this;\n };\n return ApolloLink;\n}());\nexport { ApolloLink };\n//# sourceMappingURL=ApolloLink.js.map","import { __assign } from \"tslib\";\nexport function createOperation(starting, operation) {\n var context = __assign({}, starting);\n var setContext = function (next) {\n if (typeof next === 'function') {\n context = __assign(__assign({}, context), next(context));\n }\n else {\n context = __assign(__assign({}, context), next);\n }\n };\n var getContext = function () { return (__assign({}, context)); };\n Object.defineProperty(operation, 'setContext', {\n enumerable: false,\n value: setContext,\n });\n Object.defineProperty(operation, 'getContext', {\n enumerable: false,\n value: getContext,\n });\n return operation;\n}\n//# sourceMappingURL=createOperation.js.map","import { getOperationName } from '../../utilities/index.js';\nexport function transformOperation(operation) {\n var transformedOperation = {\n variables: operation.variables || {},\n extensions: operation.extensions || {},\n operationName: operation.operationName,\n query: operation.query,\n };\n if (!transformedOperation.operationName) {\n transformedOperation.operationName =\n typeof transformedOperation.query !== 'string'\n ? getOperationName(transformedOperation.query) || undefined\n : '';\n }\n return transformedOperation;\n}\n//# sourceMappingURL=transformOperation.js.map","import { newInvariantError } from '../../utilities/globals/index.js';\nexport function validateOperation(operation) {\n var OPERATION_FIELDS = [\n 'query',\n 'operationName',\n 'variables',\n 'extensions',\n 'context',\n ];\n for (var _i = 0, _a = Object.keys(operation); _i < _a.length; _i++) {\n var key = _a[_i];\n if (OPERATION_FIELDS.indexOf(key) < 0) {\n throw newInvariantError(41, key);\n }\n }\n return operation;\n}\n//# sourceMappingURL=validateOperation.js.map","import { ApolloLink } from './ApolloLink.js';\nexport var execute = ApolloLink.execute;\n//# sourceMappingURL=execute.js.map","export function devAssert(condition, message) {\n const booleanCondition = Boolean(condition);\n\n if (!booleanCondition) {\n throw new Error(message);\n }\n}\n","const MAX_ARRAY_LENGTH = 10;\nconst MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (typeof value) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? `[function ${value.name}]` : '[function]';\n\n case 'object':\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (value === null) {\n return 'null';\n }\n\n if (previouslySeenValues.includes(value)) {\n return '[Circular]';\n }\n\n const seenValues = [...previouslySeenValues, value];\n\n if (isJSONable(value)) {\n const jsonValue = value.toJSON(); // check for infinite recursion\n\n if (jsonValue !== value) {\n return typeof jsonValue === 'string'\n ? jsonValue\n : formatValue(jsonValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction isJSONable(value) {\n return typeof value.toJSON === 'function';\n}\n\nfunction formatObject(object, seenValues) {\n const entries = Object.entries(object);\n\n if (entries.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n const properties = entries.map(\n ([key, value]) => key + ': ' + formatValue(value, seenValues),\n );\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n const len = Math.min(MAX_ARRAY_LENGTH, array.length);\n const remaining = array.length - len;\n const items = [];\n\n for (let i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(`... ${remaining} more items`);\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getObjectTag(object) {\n const tag = Object.prototype.toString\n .call(object)\n .replace(/^\\[object /, '')\n .replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n const name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport class Location {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n constructor(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n get [Symbol.toStringTag]() {\n return 'Location';\n }\n\n toJSON() {\n return {\n start: this.start,\n end: this.end,\n };\n }\n}\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport class Token {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n *\n * Note: is undefined for punctuation tokens, but typed as string for\n * convenience in the parser.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. is always the first node and \n * the last.\n */\n constructor(kind, start, end, line, column, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\n this.value = value;\n this.prev = null;\n this.next = null;\n }\n\n get [Symbol.toStringTag]() {\n return 'Token';\n }\n\n toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column,\n };\n }\n}\n/**\n * The list of all possible AST node types.\n */\n\n/**\n * @internal\n */\nexport const QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: [\n 'name',\n 'variableDefinitions',\n 'directives',\n 'selectionSet',\n ],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: [\n 'name', // Note: fragment variable definitions are deprecated and will removed in v17.0.0\n 'variableDefinitions',\n 'typeCondition',\n 'directives',\n 'selectionSet',\n ],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: [\n 'description',\n 'name',\n 'interfaces',\n 'directives',\n 'fields',\n ],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: [\n 'description',\n 'name',\n 'type',\n 'defaultValue',\n 'directives',\n ],\n InterfaceTypeDefinition: [\n 'description',\n 'name',\n 'interfaces',\n 'directives',\n 'fields',\n ],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields'],\n};\nconst kindValues = new Set(Object.keys(QueryDocumentKeys));\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n const maybeKind =\n maybeNode === null || maybeNode === void 0 ? void 0 : maybeNode.kind;\n return typeof maybeKind === 'string' && kindValues.has(maybeKind);\n}\n/** Name */\n\nvar OperationTypeNode;\n\n(function (OperationTypeNode) {\n OperationTypeNode['QUERY'] = 'query';\n OperationTypeNode['MUTATION'] = 'mutation';\n OperationTypeNode['SUBSCRIPTION'] = 'subscription';\n})(OperationTypeNode || (OperationTypeNode = {}));\n\nexport { OperationTypeNode };\n","/**\n * The set of allowed kind values for AST nodes.\n */\nvar Kind;\n\n(function (Kind) {\n Kind['NAME'] = 'Name';\n Kind['DOCUMENT'] = 'Document';\n Kind['OPERATION_DEFINITION'] = 'OperationDefinition';\n Kind['VARIABLE_DEFINITION'] = 'VariableDefinition';\n Kind['SELECTION_SET'] = 'SelectionSet';\n Kind['FIELD'] = 'Field';\n Kind['ARGUMENT'] = 'Argument';\n Kind['FRAGMENT_SPREAD'] = 'FragmentSpread';\n Kind['INLINE_FRAGMENT'] = 'InlineFragment';\n Kind['FRAGMENT_DEFINITION'] = 'FragmentDefinition';\n Kind['VARIABLE'] = 'Variable';\n Kind['INT'] = 'IntValue';\n Kind['FLOAT'] = 'FloatValue';\n Kind['STRING'] = 'StringValue';\n Kind['BOOLEAN'] = 'BooleanValue';\n Kind['NULL'] = 'NullValue';\n Kind['ENUM'] = 'EnumValue';\n Kind['LIST'] = 'ListValue';\n Kind['OBJECT'] = 'ObjectValue';\n Kind['OBJECT_FIELD'] = 'ObjectField';\n Kind['DIRECTIVE'] = 'Directive';\n Kind['NAMED_TYPE'] = 'NamedType';\n Kind['LIST_TYPE'] = 'ListType';\n Kind['NON_NULL_TYPE'] = 'NonNullType';\n Kind['SCHEMA_DEFINITION'] = 'SchemaDefinition';\n Kind['OPERATION_TYPE_DEFINITION'] = 'OperationTypeDefinition';\n Kind['SCALAR_TYPE_DEFINITION'] = 'ScalarTypeDefinition';\n Kind['OBJECT_TYPE_DEFINITION'] = 'ObjectTypeDefinition';\n Kind['FIELD_DEFINITION'] = 'FieldDefinition';\n Kind['INPUT_VALUE_DEFINITION'] = 'InputValueDefinition';\n Kind['INTERFACE_TYPE_DEFINITION'] = 'InterfaceTypeDefinition';\n Kind['UNION_TYPE_DEFINITION'] = 'UnionTypeDefinition';\n Kind['ENUM_TYPE_DEFINITION'] = 'EnumTypeDefinition';\n Kind['ENUM_VALUE_DEFINITION'] = 'EnumValueDefinition';\n Kind['INPUT_OBJECT_TYPE_DEFINITION'] = 'InputObjectTypeDefinition';\n Kind['DIRECTIVE_DEFINITION'] = 'DirectiveDefinition';\n Kind['SCHEMA_EXTENSION'] = 'SchemaExtension';\n Kind['SCALAR_TYPE_EXTENSION'] = 'ScalarTypeExtension';\n Kind['OBJECT_TYPE_EXTENSION'] = 'ObjectTypeExtension';\n Kind['INTERFACE_TYPE_EXTENSION'] = 'InterfaceTypeExtension';\n Kind['UNION_TYPE_EXTENSION'] = 'UnionTypeExtension';\n Kind['ENUM_TYPE_EXTENSION'] = 'EnumTypeExtension';\n Kind['INPUT_OBJECT_TYPE_EXTENSION'] = 'InputObjectTypeExtension';\n})(Kind || (Kind = {}));\n\nexport { Kind };\n/**\n * The enum type representing the possible kind values of AST nodes.\n *\n * @deprecated Please use `Kind`. Will be remove in v17.\n */\n","import { devAssert } from '../jsutils/devAssert.mjs';\nimport { inspect } from '../jsutils/inspect.mjs';\nimport { isNode, QueryDocumentKeys } from './ast.mjs';\nimport { Kind } from './kinds.mjs';\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n\nexport const BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * ```ts\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n * ```\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to three permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * ```ts\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n * ```\n *\n * 2) Named visitors that trigger upon entering and leaving a node of a specific kind.\n *\n * ```ts\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n * ```\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * ```ts\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n * ```\n */\n\nexport function visit(root, visitor, visitorKeys = QueryDocumentKeys) {\n const enterLeaveMap = new Map();\n\n for (const kind of Object.values(Kind)) {\n enterLeaveMap.set(kind, getEnterLeaveForKind(visitor, kind));\n }\n /* eslint-disable no-undef-init */\n\n let stack = undefined;\n let inArray = Array.isArray(root);\n let keys = [root];\n let index = -1;\n let edits = [];\n let node = root;\n let key = undefined;\n let parent = undefined;\n const path = [];\n const ancestors = [];\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n const isLeaving = index === keys.length;\n const isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n let editOffset = 0;\n\n for (const [editKey, editValue] of edits) {\n const arrayKey = editKey - editOffset;\n\n if (editValue === null) {\n node.splice(arrayKey, 1);\n editOffset++;\n } else {\n node[arrayKey] = editValue;\n }\n }\n } else {\n node = Object.defineProperties(\n {},\n Object.getOwnPropertyDescriptors(node),\n );\n\n for (const [editKey, editValue] of edits) {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else if (parent) {\n key = inArray ? index : keys[index];\n node = parent[key];\n\n if (node === null || node === undefined) {\n continue;\n }\n\n path.push(key);\n }\n\n let result;\n\n if (!Array.isArray(node)) {\n var _enterLeaveMap$get, _enterLeaveMap$get2;\n\n isNode(node) || devAssert(false, `Invalid AST Node: ${inspect(node)}.`);\n const visitFn = isLeaving\n ? (_enterLeaveMap$get = enterLeaveMap.get(node.kind)) === null ||\n _enterLeaveMap$get === void 0\n ? void 0\n : _enterLeaveMap$get.leave\n : (_enterLeaveMap$get2 = enterLeaveMap.get(node.kind)) === null ||\n _enterLeaveMap$get2 === void 0\n ? void 0\n : _enterLeaveMap$get2.enter;\n result =\n visitFn === null || visitFn === void 0\n ? void 0\n : visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _node$kind;\n\n stack = {\n inArray,\n index,\n keys,\n edits,\n prev: stack,\n };\n inArray = Array.isArray(node);\n keys = inArray\n ? node\n : (_node$kind = visitorKeys[node.kind]) !== null &&\n _node$kind !== void 0\n ? _node$kind\n : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n // New root\n return edits[edits.length - 1][1];\n }\n\n return root;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\nexport function visitInParallel(visitors) {\n const skipping = new Array(visitors.length).fill(null);\n const mergedVisitor = Object.create(null);\n\n for (const kind of Object.values(Kind)) {\n let hasVisitor = false;\n const enterList = new Array(visitors.length).fill(undefined);\n const leaveList = new Array(visitors.length).fill(undefined);\n\n for (let i = 0; i < visitors.length; ++i) {\n const { enter, leave } = getEnterLeaveForKind(visitors[i], kind);\n hasVisitor || (hasVisitor = enter != null || leave != null);\n enterList[i] = enter;\n leaveList[i] = leave;\n }\n\n if (!hasVisitor) {\n continue;\n }\n\n const mergedEnterLeave = {\n enter(...args) {\n const node = args[0];\n\n for (let i = 0; i < visitors.length; i++) {\n if (skipping[i] === null) {\n var _enterList$i;\n\n const result =\n (_enterList$i = enterList[i]) === null || _enterList$i === void 0\n ? void 0\n : _enterList$i.apply(visitors[i], args);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n },\n\n leave(...args) {\n const node = args[0];\n\n for (let i = 0; i < visitors.length; i++) {\n if (skipping[i] === null) {\n var _leaveList$i;\n\n const result =\n (_leaveList$i = leaveList[i]) === null || _leaveList$i === void 0\n ? void 0\n : _leaveList$i.apply(visitors[i], args);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n },\n };\n mergedVisitor[kind] = mergedEnterLeave;\n }\n\n return mergedVisitor;\n}\n/**\n * Given a visitor instance and a node kind, return EnterLeaveVisitor for that kind.\n */\n\nexport function getEnterLeaveForKind(visitor, kind) {\n const kindVisitor = visitor[kind];\n\n if (typeof kindVisitor === 'object') {\n // { Kind: { enter() {}, leave() {} } }\n return kindVisitor;\n } else if (typeof kindVisitor === 'function') {\n // { Kind() {} }\n return {\n enter: kindVisitor,\n leave: undefined,\n };\n } // { enter() {}, leave() {} }\n\n return {\n enter: visitor.enter,\n leave: visitor.leave,\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n *\n * @deprecated Please use `getEnterLeaveForKind` instead. Will be removed in v17\n */\n\n/* c8 ignore next 8 */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n const { enter, leave } = getEnterLeaveForKind(visitor, kind);\n return isLeaving ? leave : enter;\n}\n","import { invariant } from '../globals/index.js';\nimport { visit, BREAK, } from 'graphql';\nexport function shouldInclude(_a, variables) {\n var directives = _a.directives;\n if (!directives || !directives.length) {\n return true;\n }\n return getInclusionDirectives(directives).every(function (_a) {\n var directive = _a.directive, ifArgument = _a.ifArgument;\n var evaledValue = false;\n if (ifArgument.value.kind === 'Variable') {\n evaledValue = variables && variables[ifArgument.value.name.value];\n invariant(evaledValue !== void 0, 64, directive.name.value);\n }\n else {\n evaledValue = ifArgument.value.value;\n }\n return directive.name.value === 'skip' ? !evaledValue : evaledValue;\n });\n}\nexport function getDirectiveNames(root) {\n var names = [];\n visit(root, {\n Directive: function (node) {\n names.push(node.name.value);\n },\n });\n return names;\n}\nexport var hasAnyDirectives = function (names, root) { return hasDirectives(names, root, false); };\nexport var hasAllDirectives = function (names, root) { return hasDirectives(names, root, true); };\nexport function hasDirectives(names, root, all) {\n var nameSet = new Set(names);\n var uniqueCount = nameSet.size;\n visit(root, {\n Directive: function (node) {\n if (nameSet.delete(node.name.value) &&\n (!all || !nameSet.size)) {\n return BREAK;\n }\n },\n });\n return all ? !nameSet.size : nameSet.size < uniqueCount;\n}\nexport function hasClientExports(document) {\n return document && hasDirectives(['client', 'export'], document, true);\n}\nfunction isInclusionDirective(_a) {\n var value = _a.name.value;\n return value === 'skip' || value === 'include';\n}\nexport function getInclusionDirectives(directives) {\n var result = [];\n if (directives && directives.length) {\n directives.forEach(function (directive) {\n if (!isInclusionDirective(directive))\n return;\n var directiveArguments = directive.arguments;\n var directiveName = directive.name.value;\n invariant(directiveArguments && directiveArguments.length === 1, 65, directiveName);\n var ifArgument = directiveArguments[0];\n invariant(ifArgument.name && ifArgument.name.value === 'if', 66, directiveName);\n var ifValue = ifArgument.value;\n invariant(ifValue &&\n (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'), 67, directiveName);\n result.push({ directive: directive, ifArgument: ifArgument });\n });\n }\n return result;\n}\n//# sourceMappingURL=directives.js.map","import { newInvariantError } from '../../utilities/globals/index.js';\nexport var serializeFetchParameter = function (p, label) {\n var serialized;\n try {\n serialized = JSON.stringify(p);\n }\n catch (e) {\n var parseError = newInvariantError(37, label, e.message);\n parseError.parseError = e;\n throw parseError;\n }\n return serialized;\n};\n//# sourceMappingURL=serializeFetchParameter.js.map","import { canUseAsyncIteratorSymbol } from \"../../../utilities/index.js\";\nexport default function nodeStreamIterator(stream) {\n var cleanup = null;\n var error = null;\n var done = false;\n var data = [];\n var waiting = [];\n function onData(chunk) {\n if (error)\n return;\n if (waiting.length) {\n var shiftedArr = waiting.shift();\n if (Array.isArray(shiftedArr) && shiftedArr[0]) {\n return shiftedArr[0]({ value: chunk, done: false });\n }\n }\n data.push(chunk);\n }\n function onError(err) {\n error = err;\n var all = waiting.slice();\n all.forEach(function (pair) {\n pair[1](err);\n });\n !cleanup || cleanup();\n }\n function onEnd() {\n done = true;\n var all = waiting.slice();\n all.forEach(function (pair) {\n pair[0]({ value: undefined, done: true });\n });\n !cleanup || cleanup();\n }\n cleanup = function () {\n cleanup = null;\n stream.removeListener(\"data\", onData);\n stream.removeListener(\"error\", onError);\n stream.removeListener(\"end\", onEnd);\n stream.removeListener(\"finish\", onEnd);\n stream.removeListener(\"close\", onEnd);\n };\n stream.on(\"data\", onData);\n stream.on(\"error\", onError);\n stream.on(\"end\", onEnd);\n stream.on(\"finish\", onEnd);\n stream.on(\"close\", onEnd);\n function getNext() {\n return new Promise(function (resolve, reject) {\n if (error)\n return reject(error);\n if (data.length)\n return resolve({ value: data.shift(), done: false });\n if (done)\n return resolve({ value: undefined, done: true });\n waiting.push([resolve, reject]);\n });\n }\n var iterator = {\n next: function () {\n return getNext();\n },\n };\n if (canUseAsyncIteratorSymbol) {\n iterator[Symbol.asyncIterator] = function () {\n return this;\n };\n }\n return iterator;\n}\n//# sourceMappingURL=nodeStream.js.map","import { canUseAsyncIteratorSymbol } from \"../../../utilities/index.js\";\nexport default function readerIterator(reader) {\n var iterator = {\n next: function () {\n return reader.read();\n },\n };\n if (canUseAsyncIteratorSymbol) {\n iterator[Symbol.asyncIterator] = function () {\n return this;\n };\n }\n return iterator;\n}\n//# sourceMappingURL=reader.js.map","import { isAsyncIterableIterator, isBlob, isNodeResponse, isNodeReadableStream, isReadableStream, isStreamableBlob, } from \"../../utilities/index.js\";\nimport asyncIterator from \"./iterators/async.js\";\nimport nodeStreamIterator from \"./iterators/nodeStream.js\";\nimport promiseIterator from \"./iterators/promise.js\";\nimport readerIterator from \"./iterators/reader.js\";\nexport function responseIterator(response) {\n var body = response;\n if (isNodeResponse(response))\n body = response.body;\n if (isAsyncIterableIterator(body))\n return asyncIterator(body);\n if (isReadableStream(body))\n return readerIterator(body.getReader());\n if (isStreamableBlob(body)) {\n return readerIterator(body.stream().getReader());\n }\n if (isBlob(body))\n return promiseIterator(body.arrayBuffer());\n if (isNodeReadableStream(body))\n return nodeStreamIterator(body);\n throw new Error(\"Unknown body type for responseIterator. Please pass a streamable response.\");\n}\n//# sourceMappingURL=responseIterator.js.map","import { canUseAsyncIteratorSymbol } from \"../../../utilities/index.js\";\nexport default function promiseIterator(promise) {\n var resolved = false;\n var iterator = {\n next: function () {\n if (resolved)\n return Promise.resolve({\n value: undefined,\n done: true,\n });\n resolved = true;\n return new Promise(function (resolve, reject) {\n promise\n .then(function (value) {\n resolve({ value: value, done: false });\n })\n .catch(reject);\n });\n },\n };\n if (canUseAsyncIteratorSymbol) {\n iterator[Symbol.asyncIterator] = function () {\n return this;\n };\n }\n return iterator;\n}\n//# sourceMappingURL=promise.js.map","import { canUseAsyncIteratorSymbol } from \"./canUse.js\";\nexport function isNodeResponse(value) {\n return !!value.body;\n}\nexport function isReadableStream(value) {\n return !!value.getReader;\n}\nexport function isAsyncIterableIterator(value) {\n return !!(canUseAsyncIteratorSymbol &&\n value[Symbol.asyncIterator]);\n}\nexport function isStreamableBlob(value) {\n return !!value.stream;\n}\nexport function isBlob(value) {\n return !!value.arrayBuffer;\n}\nexport function isNodeReadableStream(value) {\n return !!value.pipe;\n}\n//# sourceMappingURL=responseIterator.js.map","export default function asyncIterator(source) {\n var _a;\n var iterator = source[Symbol.asyncIterator]();\n return _a = {\n next: function () {\n return iterator.next();\n }\n },\n _a[Symbol.asyncIterator] = function () {\n return this;\n },\n _a;\n}\n//# sourceMappingURL=async.js.map","export var throwServerError = function (response, result, message) {\n var error = new Error(message);\n error.name = 'ServerError';\n error.response = response;\n error.statusCode = response.status;\n error.result = result;\n throw error;\n};\n//# sourceMappingURL=throwServerError.js.map","import { __extends, __spreadArray } from \"tslib\";\nimport '../utilities/globals/index.js';\nimport { isNonNullObject } from '../utilities/index.js';\nexport var PROTOCOL_ERRORS_SYMBOL = Symbol();\nexport function graphQLResultHasProtocolErrors(result) {\n if (result.extensions) {\n return Array.isArray(result.extensions[PROTOCOL_ERRORS_SYMBOL]);\n }\n return false;\n}\nexport function isApolloError(err) {\n return err.hasOwnProperty('graphQLErrors');\n}\nvar generateErrorMessage = function (err) {\n var errors = __spreadArray(__spreadArray(__spreadArray([], err.graphQLErrors, true), err.clientErrors, true), err.protocolErrors, true);\n if (err.networkError)\n errors.push(err.networkError);\n return errors\n .map(function (err) { return isNonNullObject(err) && err.message || 'Error message not found.'; })\n .join('\\n');\n};\nvar ApolloError = (function (_super) {\n __extends(ApolloError, _super);\n function ApolloError(_a) {\n var graphQLErrors = _a.graphQLErrors, protocolErrors = _a.protocolErrors, clientErrors = _a.clientErrors, networkError = _a.networkError, errorMessage = _a.errorMessage, extraInfo = _a.extraInfo;\n var _this = _super.call(this, errorMessage) || this;\n _this.name = 'ApolloError';\n _this.graphQLErrors = graphQLErrors || [];\n _this.protocolErrors = protocolErrors || [];\n _this.clientErrors = clientErrors || [];\n _this.networkError = networkError || null;\n _this.message = errorMessage || generateErrorMessage(_this);\n _this.extraInfo = extraInfo;\n _this.__proto__ = ApolloError.prototype;\n return _this;\n }\n return ApolloError;\n}(Error));\nexport { ApolloError };\n//# sourceMappingURL=index.js.map","export var isArray = Array.isArray;\nexport function isNonEmptyArray(value) {\n return Array.isArray(value) && value.length > 0;\n}\n//# sourceMappingURL=arrays.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport { isNonNullObject } from \"./objects.js\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function mergeDeep() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n return mergeDeepArray(sources);\n}\nexport function mergeDeepArray(sources) {\n var target = sources[0] || {};\n var count = sources.length;\n if (count > 1) {\n var merger = new DeepMerger();\n for (var i = 1; i < count; ++i) {\n target = merger.merge(target, sources[i]);\n }\n }\n return target;\n}\nvar defaultReconciler = function (target, source, property) {\n return this.merge(target[property], source[property]);\n};\nvar DeepMerger = (function () {\n function DeepMerger(reconciler) {\n if (reconciler === void 0) { reconciler = defaultReconciler; }\n this.reconciler = reconciler;\n this.isObject = isNonNullObject;\n this.pastCopies = new Set();\n }\n DeepMerger.prototype.merge = function (target, source) {\n var _this = this;\n var context = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n context[_i - 2] = arguments[_i];\n }\n if (isNonNullObject(source) && isNonNullObject(target)) {\n Object.keys(source).forEach(function (sourceKey) {\n if (hasOwnProperty.call(target, sourceKey)) {\n var targetValue = target[sourceKey];\n if (source[sourceKey] !== targetValue) {\n var result = _this.reconciler.apply(_this, __spreadArray([target, source, sourceKey], context, false));\n if (result !== targetValue) {\n target = _this.shallowCopyForMerge(target);\n target[sourceKey] = result;\n }\n }\n }\n else {\n target = _this.shallowCopyForMerge(target);\n target[sourceKey] = source[sourceKey];\n }\n });\n return target;\n }\n return source;\n };\n DeepMerger.prototype.shallowCopyForMerge = function (value) {\n if (isNonNullObject(value)) {\n if (!this.pastCopies.has(value)) {\n if (Array.isArray(value)) {\n value = value.slice(0);\n }\n else {\n value = __assign({ __proto__: Object.getPrototypeOf(value) }, value);\n }\n this.pastCopies.add(value);\n }\n }\n return value;\n };\n return DeepMerger;\n}());\nexport { DeepMerger };\n//# sourceMappingURL=mergeDeep.js.map","import { isNonNullObject } from \"./objects.js\";\nimport { isNonEmptyArray } from \"./arrays.js\";\nimport { DeepMerger } from \"./mergeDeep.js\";\nexport function isExecutionPatchIncrementalResult(value) {\n return \"incremental\" in value;\n}\nexport function isExecutionPatchInitialResult(value) {\n return \"hasNext\" in value && \"data\" in value;\n}\nexport function isExecutionPatchResult(value) {\n return (isExecutionPatchIncrementalResult(value) ||\n isExecutionPatchInitialResult(value));\n}\nexport function isApolloPayloadResult(value) {\n return isNonNullObject(value) && \"payload\" in value;\n}\nexport function mergeIncrementalData(prevResult, result) {\n var mergedData = prevResult;\n var merger = new DeepMerger();\n if (isExecutionPatchIncrementalResult(result) &&\n isNonEmptyArray(result.incremental)) {\n result.incremental.forEach(function (_a) {\n var data = _a.data, path = _a.path;\n for (var i = path.length - 1; i >= 0; --i) {\n var key = path[i];\n var isNumericKey = !isNaN(+key);\n var parent_1 = isNumericKey ? [] : {};\n parent_1[key] = data;\n data = parent_1;\n }\n mergedData = merger.merge(mergedData, data);\n });\n }\n return mergedData;\n}\n//# sourceMappingURL=incrementalResult.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { responseIterator } from \"./responseIterator.js\";\nimport { throwServerError } from \"../utils/index.js\";\nimport { PROTOCOL_ERRORS_SYMBOL } from '../../errors/index.js';\nimport { isApolloPayloadResult } from '../../utilities/common/incrementalResult.js';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function readMultipartBody(response, nextValue) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var decoder, contentType, delimiter, boundaryVal, boundary, buffer, iterator, running, _b, value, done, chunk, searchFrom, bi, message, i, headers, contentType_1, body, result, next;\n var _c, _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n if (TextDecoder === undefined) {\n throw new Error(\"TextDecoder must be defined in the environment: please import a polyfill.\");\n }\n decoder = new TextDecoder(\"utf-8\");\n contentType = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.get(\"content-type\");\n delimiter = \"boundary=\";\n boundaryVal = (contentType === null || contentType === void 0 ? void 0 : contentType.includes(delimiter))\n ? contentType === null || contentType === void 0 ? void 0 : contentType.substring((contentType === null || contentType === void 0 ? void 0 : contentType.indexOf(delimiter)) + delimiter.length).replace(/['\"]/g, \"\").replace(/\\;(.*)/gm, \"\").trim()\n : \"-\";\n boundary = \"\\r\\n--\".concat(boundaryVal);\n buffer = \"\";\n iterator = responseIterator(response);\n running = true;\n _e.label = 1;\n case 1:\n if (!running) return [3, 3];\n return [4, iterator.next()];\n case 2:\n _b = _e.sent(), value = _b.value, done = _b.done;\n chunk = typeof value === \"string\" ? value : decoder.decode(value);\n searchFrom = buffer.length - boundary.length + 1;\n running = !done;\n buffer += chunk;\n bi = buffer.indexOf(boundary, searchFrom);\n while (bi > -1) {\n message = void 0;\n _c = [\n buffer.slice(0, bi),\n buffer.slice(bi + boundary.length),\n ], message = _c[0], buffer = _c[1];\n i = message.indexOf(\"\\r\\n\\r\\n\");\n headers = parseHeaders(message.slice(0, i));\n contentType_1 = headers[\"content-type\"];\n if (contentType_1 &&\n contentType_1.toLowerCase().indexOf(\"application/json\") === -1) {\n throw new Error(\"Unsupported patch content type: application/json is required.\");\n }\n body = message.slice(i);\n if (body) {\n result = parseJsonBody(response, body);\n if (Object.keys(result).length > 1 ||\n \"data\" in result ||\n \"incremental\" in result ||\n \"errors\" in result ||\n \"payload\" in result) {\n if (isApolloPayloadResult(result)) {\n next = {};\n if (\"payload\" in result) {\n next = __assign({}, result.payload);\n }\n if (\"errors\" in result) {\n next = __assign(__assign({}, next), { extensions: __assign(__assign({}, (\"extensions\" in next ? next.extensions : null)), (_d = {}, _d[PROTOCOL_ERRORS_SYMBOL] = result.errors, _d)) });\n }\n nextValue(next);\n }\n else {\n nextValue(result);\n }\n }\n else if (Object.keys(result).length === 1 &&\n \"hasNext\" in result &&\n !result.hasNext) {\n return [2];\n }\n }\n bi = buffer.indexOf(boundary);\n }\n return [3, 1];\n case 3: return [2];\n }\n });\n });\n}\nexport function parseHeaders(headerText) {\n var headersInit = {};\n headerText.split(\"\\n\").forEach(function (line) {\n var i = line.indexOf(\":\");\n if (i > -1) {\n var name_1 = line.slice(0, i).trim().toLowerCase();\n var value = line.slice(i + 1).trim();\n headersInit[name_1] = value;\n }\n });\n return headersInit;\n}\nexport function parseJsonBody(response, bodyText) {\n if (response.status >= 300) {\n var getResult = function () {\n try {\n return JSON.parse(bodyText);\n }\n catch (err) {\n return bodyText;\n }\n };\n throwServerError(response, getResult(), \"Response not successful: Received status code \".concat(response.status));\n }\n try {\n return JSON.parse(bodyText);\n }\n catch (err) {\n var parseError = err;\n parseError.name = \"ServerParseError\";\n parseError.response = response;\n parseError.statusCode = response.status;\n parseError.bodyText = bodyText;\n throw parseError;\n }\n}\nexport function handleError(err, observer) {\n if (err.result && err.result.errors && err.result.data) {\n observer.next(err.result);\n }\n observer.error(err);\n}\nexport function parseAndCheckHttpResponse(operations) {\n return function (response) {\n return response\n .text()\n .then(function (bodyText) { return parseJsonBody(response, bodyText); })\n .then(function (result) {\n if (response.status >= 300) {\n throwServerError(response, result, \"Response not successful: Received status code \".concat(response.status));\n }\n if (!Array.isArray(result) &&\n !hasOwnProperty.call(result, \"data\") &&\n !hasOwnProperty.call(result, \"errors\")) {\n throwServerError(response, result, \"Server response was missing for query '\".concat(Array.isArray(operations)\n ? operations.map(function (op) { return op.operationName; })\n : operations.operationName, \"'.\"));\n }\n return result;\n });\n };\n}\n//# sourceMappingURL=parseAndCheckHttpResponse.js.map","/**\n * ```\n * WhiteSpace ::\n * - \"Horizontal Tab (U+0009)\"\n * - \"Space (U+0020)\"\n * ```\n * @internal\n */\nexport function isWhiteSpace(code) {\n return code === 0x0009 || code === 0x0020;\n}\n/**\n * ```\n * Digit :: one of\n * - `0` `1` `2` `3` `4` `5` `6` `7` `8` `9`\n * ```\n * @internal\n */\n\nexport function isDigit(code) {\n return code >= 0x0030 && code <= 0x0039;\n}\n/**\n * ```\n * Letter :: one of\n * - `A` `B` `C` `D` `E` `F` `G` `H` `I` `J` `K` `L` `M`\n * - `N` `O` `P` `Q` `R` `S` `T` `U` `V` `W` `X` `Y` `Z`\n * - `a` `b` `c` `d` `e` `f` `g` `h` `i` `j` `k` `l` `m`\n * - `n` `o` `p` `q` `r` `s` `t` `u` `v` `w` `x` `y` `z`\n * ```\n * @internal\n */\n\nexport function isLetter(code) {\n return (\n (code >= 0x0061 && code <= 0x007a) || // A-Z\n (code >= 0x0041 && code <= 0x005a) // a-z\n );\n}\n/**\n * ```\n * NameStart ::\n * - Letter\n * - `_`\n * ```\n * @internal\n */\n\nexport function isNameStart(code) {\n return isLetter(code) || code === 0x005f;\n}\n/**\n * ```\n * NameContinue ::\n * - Letter\n * - Digit\n * - `_`\n * ```\n * @internal\n */\n\nexport function isNameContinue(code) {\n return isLetter(code) || isDigit(code) || code === 0x005f;\n}\n","/**\n * Prints a string as a GraphQL StringValue literal. Replaces control characters\n * and excluded characters (\" U+0022 and \\\\ U+005C) with escape sequences.\n */\nexport function printString(str) {\n return `\"${str.replace(escapedRegExp, escapedReplacer)}\"`;\n} // eslint-disable-next-line no-control-regex\n\nconst escapedRegExp = /[\\x00-\\x1f\\x22\\x5c\\x7f-\\x9f]/g;\n\nfunction escapedReplacer(str) {\n return escapeSequences[str.charCodeAt(0)];\n} // prettier-ignore\n\nconst escapeSequences = [\n '\\\\u0000',\n '\\\\u0001',\n '\\\\u0002',\n '\\\\u0003',\n '\\\\u0004',\n '\\\\u0005',\n '\\\\u0006',\n '\\\\u0007',\n '\\\\b',\n '\\\\t',\n '\\\\n',\n '\\\\u000B',\n '\\\\f',\n '\\\\r',\n '\\\\u000E',\n '\\\\u000F',\n '\\\\u0010',\n '\\\\u0011',\n '\\\\u0012',\n '\\\\u0013',\n '\\\\u0014',\n '\\\\u0015',\n '\\\\u0016',\n '\\\\u0017',\n '\\\\u0018',\n '\\\\u0019',\n '\\\\u001A',\n '\\\\u001B',\n '\\\\u001C',\n '\\\\u001D',\n '\\\\u001E',\n '\\\\u001F',\n '',\n '',\n '\\\\\"',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '', // 2F\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '', // 3F\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '', // 4F\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '\\\\\\\\',\n '',\n '',\n '', // 5F\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '', // 6F\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '\\\\u007F',\n '\\\\u0080',\n '\\\\u0081',\n '\\\\u0082',\n '\\\\u0083',\n '\\\\u0084',\n '\\\\u0085',\n '\\\\u0086',\n '\\\\u0087',\n '\\\\u0088',\n '\\\\u0089',\n '\\\\u008A',\n '\\\\u008B',\n '\\\\u008C',\n '\\\\u008D',\n '\\\\u008E',\n '\\\\u008F',\n '\\\\u0090',\n '\\\\u0091',\n '\\\\u0092',\n '\\\\u0093',\n '\\\\u0094',\n '\\\\u0095',\n '\\\\u0096',\n '\\\\u0097',\n '\\\\u0098',\n '\\\\u0099',\n '\\\\u009A',\n '\\\\u009B',\n '\\\\u009C',\n '\\\\u009D',\n '\\\\u009E',\n '\\\\u009F',\n];\n","import { printBlockString } from './blockString.mjs';\nimport { printString } from './printString.mjs';\nimport { visit } from './visitor.mjs';\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n return visit(ast, printDocASTReducer);\n}\nconst MAX_LINE_LENGTH = 80;\nconst printDocASTReducer = {\n Name: {\n leave: (node) => node.value,\n },\n Variable: {\n leave: (node) => '$' + node.name,\n },\n // Document\n Document: {\n leave: (node) => join(node.definitions, '\\n\\n'),\n },\n OperationDefinition: {\n leave(node) {\n const varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n const prefix = join(\n [\n node.operation,\n join([node.name, varDefs]),\n join(node.directives, ' '),\n ],\n ' ',\n ); // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return (prefix === 'query' ? '' : prefix + ' ') + node.selectionSet;\n },\n },\n VariableDefinition: {\n leave: ({ variable, type, defaultValue, directives }) =>\n variable +\n ': ' +\n type +\n wrap(' = ', defaultValue) +\n wrap(' ', join(directives, ' ')),\n },\n SelectionSet: {\n leave: ({ selections }) => block(selections),\n },\n Field: {\n leave({ alias, name, arguments: args, directives, selectionSet }) {\n const prefix = wrap('', alias, ': ') + name;\n let argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n },\n Argument: {\n leave: ({ name, value }) => name + ': ' + value,\n },\n // Fragments\n FragmentSpread: {\n leave: ({ name, directives }) =>\n '...' + name + wrap(' ', join(directives, ' ')),\n },\n InlineFragment: {\n leave: ({ typeCondition, directives, selectionSet }) =>\n join(\n [\n '...',\n wrap('on ', typeCondition),\n join(directives, ' '),\n selectionSet,\n ],\n ' ',\n ),\n },\n FragmentDefinition: {\n leave: (\n { name, typeCondition, variableDefinitions, directives, selectionSet }, // Note: fragment variable definitions are experimental and may be changed\n ) =>\n // or removed in the future.\n `fragment ${name}${wrap('(', join(variableDefinitions, ', '), ')')} ` +\n `on ${typeCondition} ${wrap('', join(directives, ' '), ' ')}` +\n selectionSet,\n },\n // Value\n IntValue: {\n leave: ({ value }) => value,\n },\n FloatValue: {\n leave: ({ value }) => value,\n },\n StringValue: {\n leave: ({ value, block: isBlockString }) =>\n isBlockString ? printBlockString(value) : printString(value),\n },\n BooleanValue: {\n leave: ({ value }) => (value ? 'true' : 'false'),\n },\n NullValue: {\n leave: () => 'null',\n },\n EnumValue: {\n leave: ({ value }) => value,\n },\n ListValue: {\n leave: ({ values }) => '[' + join(values, ', ') + ']',\n },\n ObjectValue: {\n leave: ({ fields }) => '{' + join(fields, ', ') + '}',\n },\n ObjectField: {\n leave: ({ name, value }) => name + ': ' + value,\n },\n // Directive\n Directive: {\n leave: ({ name, arguments: args }) =>\n '@' + name + wrap('(', join(args, ', '), ')'),\n },\n // Type\n NamedType: {\n leave: ({ name }) => name,\n },\n ListType: {\n leave: ({ type }) => '[' + type + ']',\n },\n NonNullType: {\n leave: ({ type }) => type + '!',\n },\n // Type System Definitions\n SchemaDefinition: {\n leave: ({ description, directives, operationTypes }) =>\n wrap('', description, '\\n') +\n join(['schema', join(directives, ' '), block(operationTypes)], ' '),\n },\n OperationTypeDefinition: {\n leave: ({ operation, type }) => operation + ': ' + type,\n },\n ScalarTypeDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') +\n join(['scalar', name, join(directives, ' ')], ' '),\n },\n ObjectTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n FieldDefinition: {\n leave: ({ description, name, arguments: args, type, directives }) =>\n wrap('', description, '\\n') +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n ': ' +\n type +\n wrap(' ', join(directives, ' ')),\n },\n InputValueDefinition: {\n leave: ({ description, name, type, defaultValue, directives }) =>\n wrap('', description, '\\n') +\n join(\n [name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')],\n ' ',\n ),\n },\n InterfaceTypeDefinition: {\n leave: ({ description, name, interfaces, directives, fields }) =>\n wrap('', description, '\\n') +\n join(\n [\n 'interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n UnionTypeDefinition: {\n leave: ({ description, name, directives, types }) =>\n wrap('', description, '\\n') +\n join(\n ['union', name, join(directives, ' '), wrap('= ', join(types, ' | '))],\n ' ',\n ),\n },\n EnumTypeDefinition: {\n leave: ({ description, name, directives, values }) =>\n wrap('', description, '\\n') +\n join(['enum', name, join(directives, ' '), block(values)], ' '),\n },\n EnumValueDefinition: {\n leave: ({ description, name, directives }) =>\n wrap('', description, '\\n') + join([name, join(directives, ' ')], ' '),\n },\n InputObjectTypeDefinition: {\n leave: ({ description, name, directives, fields }) =>\n wrap('', description, '\\n') +\n join(['input', name, join(directives, ' '), block(fields)], ' '),\n },\n DirectiveDefinition: {\n leave: ({ description, name, arguments: args, repeatable, locations }) =>\n wrap('', description, '\\n') +\n 'directive @' +\n name +\n (hasMultilineItems(args)\n ? wrap('(\\n', indent(join(args, '\\n')), '\\n)')\n : wrap('(', join(args, ', '), ')')) +\n (repeatable ? ' repeatable' : '') +\n ' on ' +\n join(locations, ' | '),\n },\n SchemaExtension: {\n leave: ({ directives, operationTypes }) =>\n join(\n ['extend schema', join(directives, ' '), block(operationTypes)],\n ' ',\n ),\n },\n ScalarTypeExtension: {\n leave: ({ name, directives }) =>\n join(['extend scalar', name, join(directives, ' ')], ' '),\n },\n ObjectTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend type',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n InterfaceTypeExtension: {\n leave: ({ name, interfaces, directives, fields }) =>\n join(\n [\n 'extend interface',\n name,\n wrap('implements ', join(interfaces, ' & ')),\n join(directives, ' '),\n block(fields),\n ],\n ' ',\n ),\n },\n UnionTypeExtension: {\n leave: ({ name, directives, types }) =>\n join(\n [\n 'extend union',\n name,\n join(directives, ' '),\n wrap('= ', join(types, ' | ')),\n ],\n ' ',\n ),\n },\n EnumTypeExtension: {\n leave: ({ name, directives, values }) =>\n join(['extend enum', name, join(directives, ' '), block(values)], ' '),\n },\n InputObjectTypeExtension: {\n leave: ({ name, directives, fields }) =>\n join(['extend input', name, join(directives, ' '), block(fields)], ' '),\n },\n};\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\nfunction join(maybeArray, separator = '') {\n var _maybeArray$filter$jo;\n\n return (_maybeArray$filter$jo =\n maybeArray === null || maybeArray === void 0\n ? void 0\n : maybeArray.filter((x) => x).join(separator)) !== null &&\n _maybeArray$filter$jo !== void 0\n ? _maybeArray$filter$jo\n : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an indented `{ }` block.\n */\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\nfunction wrap(start, maybeString, end = '') {\n return maybeString != null && maybeString !== ''\n ? start + maybeString + end\n : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction hasMultilineItems(maybeArray) {\n var _maybeArray$some;\n\n // FIXME: https://github.com/graphql/graphql-js/issues/2203\n\n /* c8 ignore next */\n return (_maybeArray$some =\n maybeArray === null || maybeArray === void 0\n ? void 0\n : maybeArray.some((str) => str.includes('\\n'))) !== null &&\n _maybeArray$some !== void 0\n ? _maybeArray$some\n : false;\n}\n","import { isWhiteSpace } from './characterClasses.mjs';\n/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\n\nexport function dedentBlockStringLines(lines) {\n var _firstNonEmptyLine2;\n\n let commonIndent = Number.MAX_SAFE_INTEGER;\n let firstNonEmptyLine = null;\n let lastNonEmptyLine = -1;\n\n for (let i = 0; i < lines.length; ++i) {\n var _firstNonEmptyLine;\n\n const line = lines[i];\n const indent = leadingWhitespace(line);\n\n if (indent === line.length) {\n continue; // skip empty lines\n }\n\n firstNonEmptyLine =\n (_firstNonEmptyLine = firstNonEmptyLine) !== null &&\n _firstNonEmptyLine !== void 0\n ? _firstNonEmptyLine\n : i;\n lastNonEmptyLine = i;\n\n if (i !== 0 && indent < commonIndent) {\n commonIndent = indent;\n }\n }\n\n return lines // Remove common indentation from all lines but first.\n .map((line, i) => (i === 0 ? line : line.slice(commonIndent))) // Remove leading and trailing blank lines.\n .slice(\n (_firstNonEmptyLine2 = firstNonEmptyLine) !== null &&\n _firstNonEmptyLine2 !== void 0\n ? _firstNonEmptyLine2\n : 0,\n lastNonEmptyLine + 1,\n );\n}\n\nfunction leadingWhitespace(str) {\n let i = 0;\n\n while (i < str.length && isWhiteSpace(str.charCodeAt(i))) {\n ++i;\n }\n\n return i;\n}\n/**\n * @internal\n */\n\nexport function isPrintableAsBlockString(value) {\n if (value === '') {\n return true; // empty string is printable\n }\n\n let isEmptyLine = true;\n let hasIndent = false;\n let hasCommonIndent = true;\n let seenNonEmptyLine = false;\n\n for (let i = 0; i < value.length; ++i) {\n switch (value.codePointAt(i)) {\n case 0x0000:\n case 0x0001:\n case 0x0002:\n case 0x0003:\n case 0x0004:\n case 0x0005:\n case 0x0006:\n case 0x0007:\n case 0x0008:\n case 0x000b:\n case 0x000c:\n case 0x000e:\n case 0x000f:\n return false;\n // Has non-printable characters\n\n case 0x000d:\n // \\r\n return false;\n // Has \\r or \\r\\n which will be replaced as \\n\n\n case 10:\n // \\n\n if (isEmptyLine && !seenNonEmptyLine) {\n return false; // Has leading new line\n }\n\n seenNonEmptyLine = true;\n isEmptyLine = true;\n hasIndent = false;\n break;\n\n case 9: // \\t\n\n case 32:\n // \n hasIndent || (hasIndent = isEmptyLine);\n break;\n\n default:\n hasCommonIndent && (hasCommonIndent = hasIndent);\n isEmptyLine = false;\n }\n }\n\n if (isEmptyLine) {\n return false; // Has trailing empty lines\n }\n\n if (hasCommonIndent && seenNonEmptyLine) {\n return false; // Has internal indent\n }\n\n return true;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value, options) {\n const escapedValue = value.replace(/\"\"\"/g, '\\\\\"\"\"'); // Expand a block string's raw value into independent lines.\n\n const lines = escapedValue.split(/\\r\\n|[\\n\\r]/g);\n const isSingleLine = lines.length === 1; // If common indentation is found we can fix some of those cases by adding leading new line\n\n const forceLeadingNewLine =\n lines.length > 1 &&\n lines\n .slice(1)\n .every((line) => line.length === 0 || isWhiteSpace(line.charCodeAt(0))); // Trailing triple quotes just looks confusing but doesn't force trailing new line\n\n const hasTrailingTripleQuotes = escapedValue.endsWith('\\\\\"\"\"'); // Trailing quote (single or double) or slash forces trailing new line\n\n const hasTrailingQuote = value.endsWith('\"') && !hasTrailingTripleQuotes;\n const hasTrailingSlash = value.endsWith('\\\\');\n const forceTrailingNewline = hasTrailingQuote || hasTrailingSlash;\n const printAsMultipleLines =\n !(options !== null && options !== void 0 && options.minimize) && // add leading and trailing new lines only if it improves readability\n (!isSingleLine ||\n value.length > 70 ||\n forceTrailingNewline ||\n forceLeadingNewLine ||\n hasTrailingTripleQuotes);\n let result = ''; // Format a multi-line block quote to account for leading space.\n\n const skipLeadingNewLine = isSingleLine && isWhiteSpace(value.charCodeAt(0));\n\n if ((printAsMultipleLines && !skipLeadingNewLine) || forceLeadingNewLine) {\n result += '\\n';\n }\n\n result += escapedValue;\n\n if (printAsMultipleLines || forceTrailingNewline) {\n result += '\\n';\n }\n\n return '\"\"\"' + result + '\"\"\"';\n}\n","import { print as origPrint } from \"graphql\";\nimport { canUseWeakMap } from \"../common/canUse.js\";\nvar printCache = canUseWeakMap ? new WeakMap() : undefined;\nexport var print = function (ast) {\n var result;\n result = printCache === null || printCache === void 0 ? void 0 : printCache.get(ast);\n if (!result) {\n result = origPrint(ast);\n printCache === null || printCache === void 0 ? void 0 : printCache.set(ast, result);\n }\n return result;\n};\n//# sourceMappingURL=print.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport { print } from '../../utilities/index.js';\n;\nvar defaultHttpOptions = {\n includeQuery: true,\n includeExtensions: false,\n preserveHeaderCase: false,\n};\nvar defaultHeaders = {\n accept: '*/*',\n 'content-type': 'application/json',\n};\nvar defaultOptions = {\n method: 'POST',\n};\nexport var fallbackHttpConfig = {\n http: defaultHttpOptions,\n headers: defaultHeaders,\n options: defaultOptions,\n};\nexport var defaultPrinter = function (ast, printer) { return printer(ast); };\nexport function selectHttpOptionsAndBody(operation, fallbackConfig) {\n var configs = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n configs[_i - 2] = arguments[_i];\n }\n configs.unshift(fallbackConfig);\n return selectHttpOptionsAndBodyInternal.apply(void 0, __spreadArray([operation,\n defaultPrinter], configs, false));\n}\nexport function selectHttpOptionsAndBodyInternal(operation, printer) {\n var configs = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n configs[_i - 2] = arguments[_i];\n }\n var options = {};\n var http = {};\n configs.forEach(function (config) {\n options = __assign(__assign(__assign({}, options), config.options), { headers: __assign(__assign({}, options.headers), config.headers) });\n if (config.credentials) {\n options.credentials = config.credentials;\n }\n http = __assign(__assign({}, http), config.http);\n });\n if (options.headers) {\n options.headers = removeDuplicateHeaders(options.headers, http.preserveHeaderCase);\n }\n var operationName = operation.operationName, extensions = operation.extensions, variables = operation.variables, query = operation.query;\n var body = { operationName: operationName, variables: variables };\n if (http.includeExtensions)\n body.extensions = extensions;\n if (http.includeQuery)\n body.query = printer(query, print);\n return {\n options: options,\n body: body,\n };\n}\n;\nfunction removeDuplicateHeaders(headers, preserveHeaderCase) {\n if (!preserveHeaderCase) {\n var normalizedHeaders_1 = Object.create(null);\n Object.keys(Object(headers)).forEach(function (name) {\n normalizedHeaders_1[name.toLowerCase()] = headers[name];\n });\n return normalizedHeaders_1;\n }\n var headerData = Object.create(null);\n Object.keys(Object(headers)).forEach(function (name) {\n headerData[name.toLowerCase()] = { originalName: name, value: headers[name] };\n });\n var normalizedHeaders = Object.create(null);\n Object.keys(headerData).forEach(function (name) {\n normalizedHeaders[headerData[name].originalName] = headerData[name].value;\n });\n return normalizedHeaders;\n}\n//# sourceMappingURL=selectHttpOptionsAndBody.js.map","import { Observable } from '../../utilities/index.js';\nexport function fromError(errorValue) {\n return new Observable(function (observer) {\n observer.error(errorValue);\n });\n}\n//# sourceMappingURL=fromError.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport { invariant } from '../globals/index.js';\nimport { visit, Kind } from 'graphql';\nimport { checkDocument, getOperationDefinition, getFragmentDefinition, getFragmentDefinitions, getMainDefinition, } from './getFromAST.js';\nimport { isField } from './storeUtils.js';\nimport { createFragmentMap } from './fragments.js';\nimport { isArray, isNonEmptyArray } from '../common/arrays.js';\nvar TYPENAME_FIELD = {\n kind: Kind.FIELD,\n name: {\n kind: Kind.NAME,\n value: '__typename',\n },\n};\nfunction isEmpty(op, fragmentMap) {\n return !op || op.selectionSet.selections.every(function (selection) { return selection.kind === Kind.FRAGMENT_SPREAD &&\n isEmpty(fragmentMap[selection.name.value], fragmentMap); });\n}\nfunction nullIfDocIsEmpty(doc) {\n return isEmpty(getOperationDefinition(doc) || getFragmentDefinition(doc), createFragmentMap(getFragmentDefinitions(doc)))\n ? null\n : doc;\n}\nfunction getDirectiveMatcher(configs) {\n var names = new Map();\n var tests = new Map();\n configs.forEach(function (directive) {\n if (directive) {\n if (directive.name) {\n names.set(directive.name, directive);\n }\n else if (directive.test) {\n tests.set(directive.test, directive);\n }\n }\n });\n return function (directive) {\n var config = names.get(directive.name.value);\n if (!config && tests.size) {\n tests.forEach(function (testConfig, test) {\n if (test(directive)) {\n config = testConfig;\n }\n });\n }\n return config;\n };\n}\nfunction makeInUseGetterFunction(defaultKey) {\n var map = new Map();\n return function inUseGetterFunction(key) {\n if (key === void 0) { key = defaultKey; }\n var inUse = map.get(key);\n if (!inUse) {\n map.set(key, inUse = {\n variables: new Set,\n fragmentSpreads: new Set,\n });\n }\n return inUse;\n };\n}\nexport function removeDirectivesFromDocument(directives, doc) {\n checkDocument(doc);\n var getInUseByOperationName = makeInUseGetterFunction(\"\");\n var getInUseByFragmentName = makeInUseGetterFunction(\"\");\n var getInUse = function (ancestors) {\n for (var p = 0, ancestor = void 0; p < ancestors.length && (ancestor = ancestors[p]); ++p) {\n if (isArray(ancestor))\n continue;\n if (ancestor.kind === Kind.OPERATION_DEFINITION) {\n return getInUseByOperationName(ancestor.name && ancestor.name.value);\n }\n if (ancestor.kind === Kind.FRAGMENT_DEFINITION) {\n return getInUseByFragmentName(ancestor.name.value);\n }\n }\n globalThis.__DEV__ !== false && invariant.error(80);\n return null;\n };\n var operationCount = 0;\n for (var i = doc.definitions.length - 1; i >= 0; --i) {\n if (doc.definitions[i].kind === Kind.OPERATION_DEFINITION) {\n ++operationCount;\n }\n }\n var directiveMatcher = getDirectiveMatcher(directives);\n var shouldRemoveField = function (nodeDirectives) { return (isNonEmptyArray(nodeDirectives) &&\n nodeDirectives.map(directiveMatcher).some(function (config) { return config && config.remove; })); };\n var originalFragmentDefsByPath = new Map();\n var firstVisitMadeChanges = false;\n var fieldOrInlineFragmentVisitor = {\n enter: function (node) {\n if (shouldRemoveField(node.directives)) {\n firstVisitMadeChanges = true;\n return null;\n }\n },\n };\n var docWithoutDirectiveSubtrees = visit(doc, {\n Field: fieldOrInlineFragmentVisitor,\n InlineFragment: fieldOrInlineFragmentVisitor,\n VariableDefinition: {\n enter: function () {\n return false;\n },\n },\n Variable: {\n enter: function (node, _key, _parent, _path, ancestors) {\n var inUse = getInUse(ancestors);\n if (inUse) {\n inUse.variables.add(node.name.value);\n }\n },\n },\n FragmentSpread: {\n enter: function (node, _key, _parent, _path, ancestors) {\n if (shouldRemoveField(node.directives)) {\n firstVisitMadeChanges = true;\n return null;\n }\n var inUse = getInUse(ancestors);\n if (inUse) {\n inUse.fragmentSpreads.add(node.name.value);\n }\n },\n },\n FragmentDefinition: {\n enter: function (node, _key, _parent, path) {\n originalFragmentDefsByPath.set(JSON.stringify(path), node);\n },\n leave: function (node, _key, _parent, path) {\n var originalNode = originalFragmentDefsByPath.get(JSON.stringify(path));\n if (node === originalNode) {\n return node;\n }\n if (operationCount > 0 &&\n node.selectionSet.selections.every(function (selection) { return (selection.kind === Kind.FIELD &&\n selection.name.value === '__typename'); })) {\n getInUseByFragmentName(node.name.value).removed = true;\n firstVisitMadeChanges = true;\n return null;\n }\n },\n },\n Directive: {\n leave: function (node) {\n if (directiveMatcher(node)) {\n firstVisitMadeChanges = true;\n return null;\n }\n },\n },\n });\n if (!firstVisitMadeChanges) {\n return doc;\n }\n var populateTransitiveVars = function (inUse) {\n if (!inUse.transitiveVars) {\n inUse.transitiveVars = new Set(inUse.variables);\n if (!inUse.removed) {\n inUse.fragmentSpreads.forEach(function (childFragmentName) {\n populateTransitiveVars(getInUseByFragmentName(childFragmentName)).transitiveVars.forEach(function (varName) {\n inUse.transitiveVars.add(varName);\n });\n });\n }\n }\n return inUse;\n };\n var allFragmentNamesUsed = new Set();\n docWithoutDirectiveSubtrees.definitions.forEach(function (def) {\n if (def.kind === Kind.OPERATION_DEFINITION) {\n populateTransitiveVars(getInUseByOperationName(def.name && def.name.value)).fragmentSpreads.forEach(function (childFragmentName) {\n allFragmentNamesUsed.add(childFragmentName);\n });\n }\n else if (def.kind === Kind.FRAGMENT_DEFINITION &&\n operationCount === 0 &&\n !getInUseByFragmentName(def.name.value).removed) {\n allFragmentNamesUsed.add(def.name.value);\n }\n });\n allFragmentNamesUsed.forEach(function (fragmentName) {\n populateTransitiveVars(getInUseByFragmentName(fragmentName)).fragmentSpreads.forEach(function (childFragmentName) {\n allFragmentNamesUsed.add(childFragmentName);\n });\n });\n var fragmentWillBeRemoved = function (fragmentName) { return !!(!allFragmentNamesUsed.has(fragmentName) ||\n getInUseByFragmentName(fragmentName).removed); };\n var enterVisitor = {\n enter: function (node) {\n if (fragmentWillBeRemoved(node.name.value)) {\n return null;\n }\n },\n };\n return nullIfDocIsEmpty(visit(docWithoutDirectiveSubtrees, {\n FragmentSpread: enterVisitor,\n FragmentDefinition: enterVisitor,\n OperationDefinition: {\n leave: function (node) {\n if (node.variableDefinitions) {\n var usedVariableNames_1 = populateTransitiveVars(getInUseByOperationName(node.name && node.name.value)).transitiveVars;\n if (usedVariableNames_1.size < node.variableDefinitions.length) {\n return __assign(__assign({}, node), { variableDefinitions: node.variableDefinitions.filter(function (varDef) { return usedVariableNames_1.has(varDef.variable.name.value); }) });\n }\n }\n },\n },\n }));\n}\nexport var addTypenameToDocument = Object.assign(function (doc) {\n return visit(doc, {\n SelectionSet: {\n enter: function (node, _key, parent) {\n if (parent &&\n parent.kind === Kind.OPERATION_DEFINITION) {\n return;\n }\n var selections = node.selections;\n if (!selections) {\n return;\n }\n var skip = selections.some(function (selection) {\n return (isField(selection) &&\n (selection.name.value === '__typename' ||\n selection.name.value.lastIndexOf('__', 0) === 0));\n });\n if (skip) {\n return;\n }\n var field = parent;\n if (isField(field) &&\n field.directives &&\n field.directives.some(function (d) { return d.name.value === 'export'; })) {\n return;\n }\n return __assign(__assign({}, node), { selections: __spreadArray(__spreadArray([], selections, true), [TYPENAME_FIELD], false) });\n },\n },\n });\n}, {\n added: function (field) {\n return field === TYPENAME_FIELD;\n },\n});\nvar connectionRemoveConfig = {\n test: function (directive) {\n var willRemove = directive.name.value === 'connection';\n if (willRemove) {\n if (!directive.arguments ||\n !directive.arguments.some(function (arg) { return arg.name.value === 'key'; })) {\n globalThis.__DEV__ !== false && invariant.warn(81);\n }\n }\n return willRemove;\n },\n};\nexport function removeConnectionDirectiveFromDocument(doc) {\n return removeDirectivesFromDocument([connectionRemoveConfig], checkDocument(doc));\n}\nfunction hasDirectivesInSelectionSet(directives, selectionSet, nestedCheck) {\n if (nestedCheck === void 0) { nestedCheck = true; }\n return (!!selectionSet &&\n selectionSet.selections &&\n selectionSet.selections.some(function (selection) {\n return hasDirectivesInSelection(directives, selection, nestedCheck);\n }));\n}\nfunction hasDirectivesInSelection(directives, selection, nestedCheck) {\n if (nestedCheck === void 0) { nestedCheck = true; }\n if (!isField(selection)) {\n return true;\n }\n if (!selection.directives) {\n return false;\n }\n return (selection.directives.some(getDirectiveMatcher(directives)) ||\n (nestedCheck &&\n hasDirectivesInSelectionSet(directives, selection.selectionSet, nestedCheck)));\n}\nfunction getArgumentMatcher(config) {\n return function argumentMatcher(argument) {\n return config.some(function (aConfig) {\n return argument.value &&\n argument.value.kind === Kind.VARIABLE &&\n argument.value.name &&\n (aConfig.name === argument.value.name.value ||\n (aConfig.test && aConfig.test(argument)));\n });\n };\n}\nexport function removeArgumentsFromDocument(config, doc) {\n var argMatcher = getArgumentMatcher(config);\n return nullIfDocIsEmpty(visit(doc, {\n OperationDefinition: {\n enter: function (node) {\n return __assign(__assign({}, node), { variableDefinitions: node.variableDefinitions ? node.variableDefinitions.filter(function (varDef) {\n return !config.some(function (arg) { return arg.name === varDef.variable.name.value; });\n }) : [] });\n },\n },\n Field: {\n enter: function (node) {\n var shouldRemoveField = config.some(function (argConfig) { return argConfig.remove; });\n if (shouldRemoveField) {\n var argMatchCount_1 = 0;\n if (node.arguments) {\n node.arguments.forEach(function (arg) {\n if (argMatcher(arg)) {\n argMatchCount_1 += 1;\n }\n });\n }\n if (argMatchCount_1 === 1) {\n return null;\n }\n }\n },\n },\n Argument: {\n enter: function (node) {\n if (argMatcher(node)) {\n return null;\n }\n },\n },\n }));\n}\nexport function removeFragmentSpreadFromDocument(config, doc) {\n function enter(node) {\n if (config.some(function (def) { return def.name === node.name.value; })) {\n return null;\n }\n }\n return nullIfDocIsEmpty(visit(doc, {\n FragmentSpread: { enter: enter },\n FragmentDefinition: { enter: enter },\n }));\n}\nexport function buildQueryFromSelectionSet(document) {\n var definition = getMainDefinition(document);\n var definitionOperation = definition.operation;\n if (definitionOperation === 'query') {\n return document;\n }\n var modifiedDoc = visit(document, {\n OperationDefinition: {\n enter: function (node) {\n return __assign(__assign({}, node), { operation: 'query' });\n },\n },\n });\n return modifiedDoc;\n}\nexport function removeClientSetsFromDocument(document) {\n checkDocument(document);\n var modifiedDoc = removeDirectivesFromDocument([\n {\n test: function (directive) { return directive.name.value === 'client'; },\n remove: true,\n },\n ], document);\n return modifiedDoc;\n}\n//# sourceMappingURL=transform.js.map","import { __assign, __rest } from \"tslib\";\nimport { invariant } from '../../utilities/globals/index.js';\nimport { ApolloLink } from '../core/index.js';\nimport { Observable, hasDirectives } from '../../utilities/index.js';\nimport { serializeFetchParameter } from './serializeFetchParameter.js';\nimport { selectURI } from './selectURI.js';\nimport { handleError, readMultipartBody, parseAndCheckHttpResponse } from './parseAndCheckHttpResponse.js';\nimport { checkFetcher } from './checkFetcher.js';\nimport { selectHttpOptionsAndBodyInternal, defaultPrinter, fallbackHttpConfig } from './selectHttpOptionsAndBody.js';\nimport { rewriteURIForGET } from './rewriteURIForGET.js';\nimport { fromError, filterOperationVariables } from '../utils/index.js';\nimport { maybe, getMainDefinition, removeClientSetsFromDocument } from '../../utilities/index.js';\nvar backupFetch = maybe(function () { return fetch; });\nexport var createHttpLink = function (linkOptions) {\n if (linkOptions === void 0) { linkOptions = {}; }\n var _a = linkOptions.uri, uri = _a === void 0 ? '/graphql' : _a, preferredFetch = linkOptions.fetch, _b = linkOptions.print, print = _b === void 0 ? defaultPrinter : _b, includeExtensions = linkOptions.includeExtensions, preserveHeaderCase = linkOptions.preserveHeaderCase, useGETForQueries = linkOptions.useGETForQueries, _c = linkOptions.includeUnusedVariables, includeUnusedVariables = _c === void 0 ? false : _c, requestOptions = __rest(linkOptions, [\"uri\", \"fetch\", \"print\", \"includeExtensions\", \"preserveHeaderCase\", \"useGETForQueries\", \"includeUnusedVariables\"]);\n if (globalThis.__DEV__ !== false) {\n checkFetcher(preferredFetch || backupFetch);\n }\n var linkConfig = {\n http: { includeExtensions: includeExtensions, preserveHeaderCase: preserveHeaderCase },\n options: requestOptions.fetchOptions,\n credentials: requestOptions.credentials,\n headers: requestOptions.headers,\n };\n return new ApolloLink(function (operation) {\n var chosenURI = selectURI(operation, uri);\n var context = operation.getContext();\n var clientAwarenessHeaders = {};\n if (context.clientAwareness) {\n var _a = context.clientAwareness, name_1 = _a.name, version = _a.version;\n if (name_1) {\n clientAwarenessHeaders['apollographql-client-name'] = name_1;\n }\n if (version) {\n clientAwarenessHeaders['apollographql-client-version'] = version;\n }\n }\n var contextHeaders = __assign(__assign({}, clientAwarenessHeaders), context.headers);\n var contextConfig = {\n http: context.http,\n options: context.fetchOptions,\n credentials: context.credentials,\n headers: contextHeaders,\n };\n if (hasDirectives(['client'], operation.query)) {\n var transformedQuery = removeClientSetsFromDocument(operation.query);\n if (!transformedQuery) {\n return fromError(new Error('HttpLink: Trying to send a client-only query to the server. To send to the server, ensure a non-client field is added to the query or set the `transformOptions.removeClientFields` option to `true`.'));\n }\n operation.query = transformedQuery;\n }\n var _b = selectHttpOptionsAndBodyInternal(operation, print, fallbackHttpConfig, linkConfig, contextConfig), options = _b.options, body = _b.body;\n if (body.variables && !includeUnusedVariables) {\n body.variables = filterOperationVariables(body.variables, operation.query);\n }\n var controller;\n if (!options.signal && typeof AbortController !== 'undefined') {\n controller = new AbortController();\n options.signal = controller.signal;\n }\n var definitionIsMutation = function (d) {\n return d.kind === 'OperationDefinition' && d.operation === 'mutation';\n };\n var definitionIsSubscription = function (d) {\n return d.kind === 'OperationDefinition' && d.operation === 'subscription';\n };\n var isSubscription = definitionIsSubscription(getMainDefinition(operation.query));\n var hasDefer = hasDirectives(['defer'], operation.query);\n if (useGETForQueries &&\n !operation.query.definitions.some(definitionIsMutation)) {\n options.method = 'GET';\n }\n if (hasDefer || isSubscription) {\n options.headers = options.headers || {};\n var acceptHeader = \"multipart/mixed;\";\n if (isSubscription && hasDefer) {\n globalThis.__DEV__ !== false && invariant.warn(36);\n }\n if (isSubscription) {\n acceptHeader += 'boundary=graphql;subscriptionSpec=1.0,application/json';\n }\n else if (hasDefer) {\n acceptHeader += 'deferSpec=20220824,application/json';\n }\n options.headers.accept = acceptHeader;\n }\n if (options.method === 'GET') {\n var _c = rewriteURIForGET(chosenURI, body), newURI = _c.newURI, parseError = _c.parseError;\n if (parseError) {\n return fromError(parseError);\n }\n chosenURI = newURI;\n }\n else {\n try {\n options.body = serializeFetchParameter(body, 'Payload');\n }\n catch (parseError) {\n return fromError(parseError);\n }\n }\n return new Observable(function (observer) {\n var currentFetch = preferredFetch || maybe(function () { return fetch; }) || backupFetch;\n var observerNext = observer.next.bind(observer);\n currentFetch(chosenURI, options)\n .then(function (response) {\n var _a;\n operation.setContext({ response: response });\n var ctype = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.get('content-type');\n if (ctype !== null && /^multipart\\/mixed/i.test(ctype)) {\n return readMultipartBody(response, observerNext);\n }\n else {\n return parseAndCheckHttpResponse(operation)(response).then(observerNext);\n }\n })\n .then(function () {\n controller = undefined;\n observer.complete();\n })\n .catch(function (err) {\n controller = undefined;\n handleError(err, observer);\n });\n return function () {\n if (controller)\n controller.abort();\n };\n });\n });\n};\n//# sourceMappingURL=createHttpLink.js.map","import { newInvariantError } from '../../utilities/globals/index.js';\nexport var checkFetcher = function (fetcher) {\n if (!fetcher && typeof fetch === 'undefined') {\n throw newInvariantError(35);\n }\n};\n//# sourceMappingURL=checkFetcher.js.map","export var selectURI = function (operation, fallbackURI) {\n var context = operation.getContext();\n var contextURI = context.uri;\n if (contextURI) {\n return contextURI;\n }\n else if (typeof fallbackURI === 'function') {\n return fallbackURI(operation);\n }\n else {\n return fallbackURI || '/graphql';\n }\n};\n//# sourceMappingURL=selectURI.js.map","import { __assign } from \"tslib\";\nimport { visit } from 'graphql';\nexport function filterOperationVariables(variables, query) {\n var result = __assign({}, variables);\n var unusedNames = new Set(Object.keys(variables));\n visit(query, {\n Variable: function (node, _key, parent) {\n if (parent &&\n parent.kind !== 'VariableDefinition') {\n unusedNames.delete(node.name.value);\n }\n },\n });\n unusedNames.forEach(function (name) {\n delete result[name];\n });\n return result;\n}\n//# sourceMappingURL=filterOperationVariables.js.map","import { serializeFetchParameter } from './serializeFetchParameter.js';\nexport function rewriteURIForGET(chosenURI, body) {\n var queryParams = [];\n var addQueryParam = function (key, value) {\n queryParams.push(\"\".concat(key, \"=\").concat(encodeURIComponent(value)));\n };\n if ('query' in body) {\n addQueryParam('query', body.query);\n }\n if (body.operationName) {\n addQueryParam('operationName', body.operationName);\n }\n if (body.variables) {\n var serializedVariables = void 0;\n try {\n serializedVariables = serializeFetchParameter(body.variables, 'Variables map');\n }\n catch (parseError) {\n return { parseError: parseError };\n }\n addQueryParam('variables', serializedVariables);\n }\n if (body.extensions) {\n var serializedExtensions = void 0;\n try {\n serializedExtensions = serializeFetchParameter(body.extensions, 'Extensions map');\n }\n catch (parseError) {\n return { parseError: parseError };\n }\n addQueryParam('extensions', serializedExtensions);\n }\n var fragment = '', preFragment = chosenURI;\n var fragmentStart = chosenURI.indexOf('#');\n if (fragmentStart !== -1) {\n fragment = chosenURI.substr(fragmentStart);\n preFragment = chosenURI.substr(0, fragmentStart);\n }\n var queryParamsPrefix = preFragment.indexOf('?') === -1 ? '?' : '&';\n var newURI = preFragment + queryParamsPrefix + queryParams.join('&') + fragment;\n return { newURI: newURI };\n}\n//# sourceMappingURL=rewriteURIForGET.js.map","import { __extends } from \"tslib\";\nimport { ApolloLink } from '../core/index.js';\nimport { createHttpLink } from './createHttpLink.js';\nvar HttpLink = (function (_super) {\n __extends(HttpLink, _super);\n function HttpLink(options) {\n if (options === void 0) { options = {}; }\n var _this = _super.call(this, createHttpLink(options).request) || this;\n _this.options = options;\n return _this;\n }\n return HttpLink;\n}(ApolloLink));\nexport { HttpLink };\n//# sourceMappingURL=HttpLink.js.map","const { toString, hasOwnProperty } = Object.prototype;\nconst fnToStr = Function.prototype.toString;\nconst previousComparisons = new Map();\n/**\n * Performs a deep equality check on two JavaScript values, tolerating cycles.\n */\nexport function equal(a, b) {\n try {\n return check(a, b);\n }\n finally {\n previousComparisons.clear();\n }\n}\n// Allow default imports as well.\nexport default equal;\nfunction check(a, b) {\n // If the two values are strictly equal, our job is easy.\n if (a === b) {\n return true;\n }\n // Object.prototype.toString returns a representation of the runtime type of\n // the given value that is considerably more precise than typeof.\n const aTag = toString.call(a);\n const bTag = toString.call(b);\n // If the runtime types of a and b are different, they could maybe be equal\n // under some interpretation of equality, but for simplicity and performance\n // we just return false instead.\n if (aTag !== bTag) {\n return false;\n }\n switch (aTag) {\n case '[object Array]':\n // Arrays are a lot like other objects, but we can cheaply compare their\n // lengths as a short-cut before comparing their elements.\n if (a.length !== b.length)\n return false;\n // Fall through to object case...\n case '[object Object]': {\n if (previouslyCompared(a, b))\n return true;\n const aKeys = definedKeys(a);\n const bKeys = definedKeys(b);\n // If `a` and `b` have a different number of enumerable keys, they\n // must be different.\n const keyCount = aKeys.length;\n if (keyCount !== bKeys.length)\n return false;\n // Now make sure they have the same keys.\n for (let k = 0; k < keyCount; ++k) {\n if (!hasOwnProperty.call(b, aKeys[k])) {\n return false;\n }\n }\n // Finally, check deep equality of all child properties.\n for (let k = 0; k < keyCount; ++k) {\n const key = aKeys[k];\n if (!check(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n case '[object Error]':\n return a.name === b.name && a.message === b.message;\n case '[object Number]':\n // Handle NaN, which is !== itself.\n if (a !== a)\n return b !== b;\n // Fall through to shared +a === +b case...\n case '[object Boolean]':\n case '[object Date]':\n return +a === +b;\n case '[object RegExp]':\n case '[object String]':\n return a == `${b}`;\n case '[object Map]':\n case '[object Set]': {\n if (a.size !== b.size)\n return false;\n if (previouslyCompared(a, b))\n return true;\n const aIterator = a.entries();\n const isMap = aTag === '[object Map]';\n while (true) {\n const info = aIterator.next();\n if (info.done)\n break;\n // If a instanceof Set, aValue === aKey.\n const [aKey, aValue] = info.value;\n // So this works the same way for both Set and Map.\n if (!b.has(aKey)) {\n return false;\n }\n // However, we care about deep equality of values only when dealing\n // with Map structures.\n if (isMap && !check(aValue, b.get(aKey))) {\n return false;\n }\n }\n return true;\n }\n case '[object Uint16Array]':\n case '[object Uint8Array]': // Buffer, in Node.js.\n case '[object Uint32Array]':\n case '[object Int32Array]':\n case '[object Int8Array]':\n case '[object Int16Array]':\n case '[object ArrayBuffer]':\n // DataView doesn't need these conversions, but the equality check is\n // otherwise the same.\n a = new Uint8Array(a);\n b = new Uint8Array(b);\n // Fall through...\n case '[object DataView]': {\n let len = a.byteLength;\n if (len === b.byteLength) {\n while (len-- && a[len] === b[len]) {\n // Keep looping as long as the bytes are equal.\n }\n }\n return len === -1;\n }\n case '[object AsyncFunction]':\n case '[object GeneratorFunction]':\n case '[object AsyncGeneratorFunction]':\n case '[object Function]': {\n const aCode = fnToStr.call(a);\n if (aCode !== fnToStr.call(b)) {\n return false;\n }\n // We consider non-native functions equal if they have the same code\n // (native functions require === because their code is censored).\n // Note that this behavior is not entirely sound, since !== function\n // objects with the same code can behave differently depending on\n // their closure scope. However, any function can behave differently\n // depending on the values of its input arguments (including this)\n // and its calling context (including its closure scope), even\n // though the function object is === to itself; and it is entirely\n // possible for functions that are not === to behave exactly the\n // same under all conceivable circumstances. Because none of these\n // factors are statically decidable in JavaScript, JS function\n // equality is not well-defined. This ambiguity allows us to\n // consider the best possible heuristic among various imperfect\n // options, and equating non-native functions that have the same\n // code has enormous practical benefits, such as when comparing\n // functions that are repeatedly passed as fresh function\n // expressions within objects that are otherwise deeply equal. Since\n // any function created from the same syntactic expression (in the\n // same code location) will always stringify to the same code\n // according to fnToStr.call, we can reasonably expect these\n // repeatedly passed function expressions to have the same code, and\n // thus behave \"the same\" (with all the caveats mentioned above),\n // even though the runtime function objects are !== to one another.\n return !endsWith(aCode, nativeCodeSuffix);\n }\n }\n // Otherwise the values are not equal.\n return false;\n}\nfunction definedKeys(obj) {\n // Remember that the second argument to Array.prototype.filter will be\n // used as `this` within the callback function.\n return Object.keys(obj).filter(isDefinedKey, obj);\n}\nfunction isDefinedKey(key) {\n return this[key] !== void 0;\n}\nconst nativeCodeSuffix = \"{ [native code] }\";\nfunction endsWith(full, suffix) {\n const fromIndex = full.length - suffix.length;\n return fromIndex >= 0 &&\n full.indexOf(suffix, fromIndex) === fromIndex;\n}\nfunction previouslyCompared(a, b) {\n // Though cyclic references can make an object graph appear infinite from the\n // perspective of a depth-first traversal, the graph still contains a finite\n // number of distinct object references. We use the previousComparisons cache\n // to avoid comparing the same pair of object references more than once, which\n // guarantees termination (even if we end up comparing every object in one\n // graph to every object in the other graph, which is extremely unlikely),\n // while still allowing weird isomorphic structures (like rings with different\n // lengths) a chance to pass the equality test.\n let bSet = previousComparisons.get(a);\n if (bSet) {\n // Return true here because we can be sure false will be returned somewhere\n // else if the objects are not equivalent.\n if (bSet.has(b))\n return true;\n }\n else {\n previousComparisons.set(a, bSet = new Set);\n }\n bSet.add(b);\n return false;\n}\n//# sourceMappingURL=index.js.map","// A [trie](https://en.wikipedia.org/wiki/Trie) data structure that holds\n// object keys weakly, yet can also hold non-object keys, unlike the\n// native `WeakMap`.\n// If no makeData function is supplied, the looked-up data will be an empty,\n// null-prototype Object.\nconst defaultMakeData = () => Object.create(null);\n// Useful for processing arguments objects as well as arrays.\nconst { forEach, slice } = Array.prototype;\nconst { hasOwnProperty } = Object.prototype;\nexport class Trie {\n constructor(weakness = true, makeData = defaultMakeData) {\n this.weakness = weakness;\n this.makeData = makeData;\n }\n lookup(...array) {\n return this.lookupArray(array);\n }\n lookupArray(array) {\n let node = this;\n forEach.call(array, key => node = node.getChildTrie(key));\n return hasOwnProperty.call(node, \"data\")\n ? node.data\n : node.data = this.makeData(slice.call(array));\n }\n peek(...array) {\n return this.peekArray(array);\n }\n peekArray(array) {\n let node = this;\n for (let i = 0, len = array.length; node && i < len; ++i) {\n const map = this.weakness && isObjRef(array[i]) ? node.weak : node.strong;\n node = map && map.get(array[i]);\n }\n return node && node.data;\n }\n getChildTrie(key) {\n const map = this.weakness && isObjRef(key)\n ? this.weak || (this.weak = new WeakMap())\n : this.strong || (this.strong = new Map());\n let child = map.get(key);\n if (!child)\n map.set(key, child = new Trie(this.weakness, this.makeData));\n return child;\n }\n}\nfunction isObjRef(value) {\n switch (typeof value) {\n case \"object\":\n if (value === null)\n break;\n // Fall through to return true...\n case \"function\":\n return true;\n }\n return false;\n}\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { Trie } from \"@wry/trie\";\nimport { canUseWeakMap, canUseWeakSet, isNonNullObject as isObjectOrArray, } from \"../../utilities/index.js\";\nimport { isArray } from \"./helpers.js\";\nfunction shallowCopy(value) {\n if (isObjectOrArray(value)) {\n return isArray(value)\n ? value.slice(0)\n : __assign({ __proto__: Object.getPrototypeOf(value) }, value);\n }\n return value;\n}\nvar ObjectCanon = (function () {\n function ObjectCanon() {\n this.known = new (canUseWeakSet ? WeakSet : Set)();\n this.pool = new Trie(canUseWeakMap);\n this.passes = new WeakMap();\n this.keysByJSON = new Map();\n this.empty = this.admit({});\n }\n ObjectCanon.prototype.isKnown = function (value) {\n return isObjectOrArray(value) && this.known.has(value);\n };\n ObjectCanon.prototype.pass = function (value) {\n if (isObjectOrArray(value)) {\n var copy = shallowCopy(value);\n this.passes.set(copy, value);\n return copy;\n }\n return value;\n };\n ObjectCanon.prototype.admit = function (value) {\n var _this = this;\n if (isObjectOrArray(value)) {\n var original = this.passes.get(value);\n if (original)\n return original;\n var proto = Object.getPrototypeOf(value);\n switch (proto) {\n case Array.prototype: {\n if (this.known.has(value))\n return value;\n var array = value.map(this.admit, this);\n var node = this.pool.lookupArray(array);\n if (!node.array) {\n this.known.add(node.array = array);\n if (globalThis.__DEV__ !== false) {\n Object.freeze(array);\n }\n }\n return node.array;\n }\n case null:\n case Object.prototype: {\n if (this.known.has(value))\n return value;\n var proto_1 = Object.getPrototypeOf(value);\n var array_1 = [proto_1];\n var keys = this.sortedKeys(value);\n array_1.push(keys.json);\n var firstValueIndex_1 = array_1.length;\n keys.sorted.forEach(function (key) {\n array_1.push(_this.admit(value[key]));\n });\n var node = this.pool.lookupArray(array_1);\n if (!node.object) {\n var obj_1 = node.object = Object.create(proto_1);\n this.known.add(obj_1);\n keys.sorted.forEach(function (key, i) {\n obj_1[key] = array_1[firstValueIndex_1 + i];\n });\n if (globalThis.__DEV__ !== false) {\n Object.freeze(obj_1);\n }\n }\n return node.object;\n }\n }\n }\n return value;\n };\n ObjectCanon.prototype.sortedKeys = function (obj) {\n var keys = Object.keys(obj);\n var node = this.pool.lookupArray(keys);\n if (!node.keys) {\n keys.sort();\n var json = JSON.stringify(keys);\n if (!(node.keys = this.keysByJSON.get(json))) {\n this.keysByJSON.set(json, node.keys = { sorted: keys, json: json });\n }\n }\n return node.keys;\n };\n return ObjectCanon;\n}());\nexport { ObjectCanon };\nexport var canonicalStringify = Object.assign(function (value) {\n if (isObjectOrArray(value)) {\n if (stringifyCanon === void 0) {\n resetCanonicalStringify();\n }\n var canonical = stringifyCanon.admit(value);\n var json = stringifyCache.get(canonical);\n if (json === void 0) {\n stringifyCache.set(canonical, json = JSON.stringify(canonical));\n }\n return json;\n }\n return JSON.stringify(value);\n}, {\n reset: resetCanonicalStringify,\n});\nvar stringifyCanon;\nvar stringifyCache;\nfunction resetCanonicalStringify() {\n stringifyCanon = new ObjectCanon;\n stringifyCache = new (canUseWeakMap ? WeakMap : Map)();\n}\n//# sourceMappingURL=object-canon.js.map","import { Trie } from \"@wry/trie\";\nimport { canUseWeakMap, canUseWeakSet } from \"../common/canUse.js\";\nimport { checkDocument } from \"./getFromAST.js\";\nimport { invariant } from \"../globals/index.js\";\nfunction identity(document) {\n return document;\n}\nvar DocumentTransform = (function () {\n function DocumentTransform(transform, options) {\n if (options === void 0) { options = Object.create(null); }\n this.resultCache = canUseWeakSet\n ? new WeakSet()\n : new Set();\n this.transform = transform;\n if (options.getCacheKey) {\n this.getCacheKey = options.getCacheKey;\n }\n if (options.cache !== false) {\n this.stableCacheKeys = new Trie(canUseWeakMap, function (key) { return ({ key: key }); });\n }\n }\n DocumentTransform.prototype.getCacheKey = function (document) {\n return [document];\n };\n DocumentTransform.identity = function () {\n return new DocumentTransform(identity, { cache: false });\n };\n DocumentTransform.split = function (predicate, left, right) {\n if (right === void 0) { right = DocumentTransform.identity(); }\n return new DocumentTransform(function (document) {\n var documentTransform = predicate(document) ? left : right;\n return documentTransform.transformDocument(document);\n }, { cache: false });\n };\n DocumentTransform.prototype.transformDocument = function (document) {\n if (this.resultCache.has(document)) {\n return document;\n }\n var cacheEntry = this.getStableCacheEntry(document);\n if (cacheEntry && cacheEntry.value) {\n return cacheEntry.value;\n }\n checkDocument(document);\n var transformedDocument = this.transform(document);\n this.resultCache.add(transformedDocument);\n if (cacheEntry) {\n cacheEntry.value = transformedDocument;\n }\n return transformedDocument;\n };\n DocumentTransform.prototype.concat = function (otherTransform) {\n var _this = this;\n return new DocumentTransform(function (document) {\n return otherTransform.transformDocument(_this.transformDocument(document));\n }, { cache: false });\n };\n DocumentTransform.prototype.getStableCacheEntry = function (document) {\n if (!this.stableCacheKeys)\n return;\n var cacheKeys = this.getCacheKey(document);\n if (cacheKeys) {\n invariant(Array.isArray(cacheKeys), 63);\n return this.stableCacheKeys.lookupArray(cacheKeys);\n }\n };\n return DocumentTransform;\n}());\nexport { DocumentTransform };\n//# sourceMappingURL=DocumentTransform.js.map","import { Observable } from \"./Observable.js\";\nexport function asyncMap(observable, mapFn, catchFn) {\n return new Observable(function (observer) {\n var next = observer.next, error = observer.error, complete = observer.complete;\n var activeCallbackCount = 0;\n var completed = false;\n var promiseQueue = {\n then: function (callback) {\n return new Promise(function (resolve) { return resolve(callback()); });\n },\n };\n function makeCallback(examiner, delegate) {\n if (examiner) {\n return function (arg) {\n ++activeCallbackCount;\n var both = function () { return examiner(arg); };\n promiseQueue = promiseQueue.then(both, both).then(function (result) {\n --activeCallbackCount;\n next && next.call(observer, result);\n if (completed) {\n handler.complete();\n }\n }, function (error) {\n --activeCallbackCount;\n throw error;\n }).catch(function (caught) {\n error && error.call(observer, caught);\n });\n };\n }\n else {\n return function (arg) { return delegate && delegate.call(observer, arg); };\n }\n }\n var handler = {\n next: makeCallback(mapFn, next),\n error: makeCallback(catchFn, error),\n complete: function () {\n completed = true;\n if (!activeCallbackCount) {\n complete && complete.call(observer);\n }\n },\n };\n var sub = observable.subscribe(handler);\n return function () { return sub.unsubscribe(); };\n });\n}\n//# sourceMappingURL=asyncMap.js.map","import { isNonEmptyArray } from \"./arrays.js\";\nimport { isExecutionPatchIncrementalResult } from \"./incrementalResult.js\";\nexport function graphQLResultHasError(result) {\n var errors = getGraphQLErrorsFromResult(result);\n return isNonEmptyArray(errors);\n}\nexport function getGraphQLErrorsFromResult(result) {\n var graphQLErrors = isNonEmptyArray(result.errors)\n ? result.errors.slice(0)\n : [];\n if (isExecutionPatchIncrementalResult(result) &&\n isNonEmptyArray(result.incremental)) {\n result.incremental.forEach(function (incrementalResult) {\n if (incrementalResult.errors) {\n graphQLErrors.push.apply(graphQLErrors, incrementalResult.errors);\n }\n });\n }\n return graphQLErrors;\n}\n//# sourceMappingURL=errorHandling.js.map","export function iterateObserversSafely(observers, method, argument) {\n var observersWithMethod = [];\n observers.forEach(function (obs) { return obs[method] && observersWithMethod.push(obs); });\n observersWithMethod.forEach(function (obs) { return obs[method](argument); });\n}\n//# sourceMappingURL=iteration.js.map","import { Observable } from \"./Observable.js\";\nimport { canUseSymbol } from \"../common/canUse.js\";\nexport function fixObservableSubclass(subclass) {\n function set(key) {\n Object.defineProperty(subclass, key, { value: Observable });\n }\n if (canUseSymbol && Symbol.species) {\n set(Symbol.species);\n }\n set(\"@@species\");\n return subclass;\n}\n//# sourceMappingURL=subclassing.js.map","import { __extends } from \"tslib\";\nimport { Observable } from \"./Observable.js\";\nimport { iterateObserversSafely } from \"./iteration.js\";\nimport { fixObservableSubclass } from \"./subclassing.js\";\nfunction isPromiseLike(value) {\n return value && typeof value.then === \"function\";\n}\nvar Concast = (function (_super) {\n __extends(Concast, _super);\n function Concast(sources) {\n var _this = _super.call(this, function (observer) {\n _this.addObserver(observer);\n return function () { return _this.removeObserver(observer); };\n }) || this;\n _this.observers = new Set();\n _this.promise = new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n });\n _this.handlers = {\n next: function (result) {\n if (_this.sub !== null) {\n _this.latest = [\"next\", result];\n _this.notify(\"next\", result);\n iterateObserversSafely(_this.observers, \"next\", result);\n }\n },\n error: function (error) {\n var sub = _this.sub;\n if (sub !== null) {\n if (sub)\n setTimeout(function () { return sub.unsubscribe(); });\n _this.sub = null;\n _this.latest = [\"error\", error];\n _this.reject(error);\n _this.notify(\"error\", error);\n iterateObserversSafely(_this.observers, \"error\", error);\n }\n },\n complete: function () {\n var _a = _this, sub = _a.sub, _b = _a.sources, sources = _b === void 0 ? [] : _b;\n if (sub !== null) {\n var value = sources.shift();\n if (!value) {\n if (sub)\n setTimeout(function () { return sub.unsubscribe(); });\n _this.sub = null;\n if (_this.latest &&\n _this.latest[0] === \"next\") {\n _this.resolve(_this.latest[1]);\n }\n else {\n _this.resolve();\n }\n _this.notify(\"complete\");\n iterateObserversSafely(_this.observers, \"complete\");\n }\n else if (isPromiseLike(value)) {\n value.then(function (obs) { return _this.sub = obs.subscribe(_this.handlers); });\n }\n else {\n _this.sub = value.subscribe(_this.handlers);\n }\n }\n },\n };\n _this.nextResultListeners = new Set();\n _this.cancel = function (reason) {\n _this.reject(reason);\n _this.sources = [];\n _this.handlers.complete();\n };\n _this.promise.catch(function (_) { });\n if (typeof sources === \"function\") {\n sources = [new Observable(sources)];\n }\n if (isPromiseLike(sources)) {\n sources.then(function (iterable) { return _this.start(iterable); }, _this.handlers.error);\n }\n else {\n _this.start(sources);\n }\n return _this;\n }\n Concast.prototype.start = function (sources) {\n if (this.sub !== void 0)\n return;\n this.sources = Array.from(sources);\n this.handlers.complete();\n };\n Concast.prototype.deliverLastMessage = function (observer) {\n if (this.latest) {\n var nextOrError = this.latest[0];\n var method = observer[nextOrError];\n if (method) {\n method.call(observer, this.latest[1]);\n }\n if (this.sub === null &&\n nextOrError === \"next\" &&\n observer.complete) {\n observer.complete();\n }\n }\n };\n Concast.prototype.addObserver = function (observer) {\n if (!this.observers.has(observer)) {\n this.deliverLastMessage(observer);\n this.observers.add(observer);\n }\n };\n Concast.prototype.removeObserver = function (observer) {\n if (this.observers.delete(observer) &&\n this.observers.size < 1) {\n this.handlers.complete();\n }\n };\n Concast.prototype.notify = function (method, arg) {\n var nextResultListeners = this.nextResultListeners;\n if (nextResultListeners.size) {\n this.nextResultListeners = new Set;\n nextResultListeners.forEach(function (listener) { return listener(method, arg); });\n }\n };\n Concast.prototype.beforeNext = function (callback) {\n var called = false;\n this.nextResultListeners.add(function (method, arg) {\n if (!called) {\n called = true;\n callback(method, arg);\n }\n });\n };\n return Concast;\n}(Observable));\nexport { Concast };\nfixObservableSubclass(Concast);\n//# sourceMappingURL=Concast.js.map","export var NetworkStatus;\n(function (NetworkStatus) {\n NetworkStatus[NetworkStatus[\"loading\"] = 1] = \"loading\";\n NetworkStatus[NetworkStatus[\"setVariables\"] = 2] = \"setVariables\";\n NetworkStatus[NetworkStatus[\"fetchMore\"] = 3] = \"fetchMore\";\n NetworkStatus[NetworkStatus[\"refetch\"] = 4] = \"refetch\";\n NetworkStatus[NetworkStatus[\"poll\"] = 6] = \"poll\";\n NetworkStatus[NetworkStatus[\"ready\"] = 7] = \"ready\";\n NetworkStatus[NetworkStatus[\"error\"] = 8] = \"error\";\n})(NetworkStatus || (NetworkStatus = {}));\nexport function isNetworkRequestInFlight(networkStatus) {\n return networkStatus ? networkStatus < 7 : false;\n}\nexport function isNetworkRequestSettled(networkStatus) {\n return networkStatus === 7 || networkStatus === 8;\n}\n//# sourceMappingURL=networkStatus.js.map","export function compact() {\n var objects = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n objects[_i] = arguments[_i];\n }\n var result = Object.create(null);\n objects.forEach(function (obj) {\n if (!obj)\n return;\n Object.keys(obj).forEach(function (key) {\n var value = obj[key];\n if (value !== void 0) {\n result[key] = value;\n }\n });\n });\n return result;\n}\n//# sourceMappingURL=compact.js.map","var toString = Object.prototype.toString;\nexport function cloneDeep(value) {\n return cloneDeepHelper(value);\n}\nfunction cloneDeepHelper(val, seen) {\n switch (toString.call(val)) {\n case \"[object Array]\": {\n seen = seen || new Map;\n if (seen.has(val))\n return seen.get(val);\n var copy_1 = val.slice(0);\n seen.set(val, copy_1);\n copy_1.forEach(function (child, i) {\n copy_1[i] = cloneDeepHelper(child, seen);\n });\n return copy_1;\n }\n case \"[object Object]\": {\n seen = seen || new Map;\n if (seen.has(val))\n return seen.get(val);\n var copy_2 = Object.create(Object.getPrototypeOf(val));\n seen.set(val, copy_2);\n Object.keys(val).forEach(function (key) {\n copy_2[key] = cloneDeepHelper(val[key], seen);\n });\n return copy_2;\n }\n default:\n return val;\n }\n}\n//# sourceMappingURL=cloneDeep.js.map","import { __rest } from \"tslib\";\nimport equal from \"@wry/equality\";\nimport { createFragmentMap, getFragmentDefinitions, getFragmentFromSelection, getMainDefinition, isField, resultKeyNameFromField, shouldInclude, } from \"../utilities/index.js\";\nexport function equalByQuery(query, _a, _b, variables) {\n var aData = _a.data, aRest = __rest(_a, [\"data\"]);\n var bData = _b.data, bRest = __rest(_b, [\"data\"]);\n return (equal(aRest, bRest) &&\n equalBySelectionSet(getMainDefinition(query).selectionSet, aData, bData, {\n fragmentMap: createFragmentMap(getFragmentDefinitions(query)),\n variables: variables,\n }));\n}\nfunction equalBySelectionSet(selectionSet, aResult, bResult, context) {\n if (aResult === bResult) {\n return true;\n }\n var seenSelections = new Set();\n return selectionSet.selections.every(function (selection) {\n if (seenSelections.has(selection))\n return true;\n seenSelections.add(selection);\n if (!shouldInclude(selection, context.variables))\n return true;\n if (selectionHasNonreactiveDirective(selection))\n return true;\n if (isField(selection)) {\n var resultKey = resultKeyNameFromField(selection);\n var aResultChild = aResult && aResult[resultKey];\n var bResultChild = bResult && bResult[resultKey];\n var childSelectionSet = selection.selectionSet;\n if (!childSelectionSet) {\n return equal(aResultChild, bResultChild);\n }\n var aChildIsArray = Array.isArray(aResultChild);\n var bChildIsArray = Array.isArray(bResultChild);\n if (aChildIsArray !== bChildIsArray)\n return false;\n if (aChildIsArray && bChildIsArray) {\n var length_1 = aResultChild.length;\n if (bResultChild.length !== length_1) {\n return false;\n }\n for (var i = 0; i < length_1; ++i) {\n if (!equalBySelectionSet(childSelectionSet, aResultChild[i], bResultChild[i], context)) {\n return false;\n }\n }\n return true;\n }\n return equalBySelectionSet(childSelectionSet, aResultChild, bResultChild, context);\n }\n else {\n var fragment = getFragmentFromSelection(selection, context.fragmentMap);\n if (fragment) {\n if (selectionHasNonreactiveDirective(fragment))\n return true;\n return equalBySelectionSet(fragment.selectionSet, aResult, bResult, context);\n }\n }\n });\n}\nfunction selectionHasNonreactiveDirective(selection) {\n return (!!selection.directives && selection.directives.some(directiveIsNonreactive));\n}\nfunction directiveIsNonreactive(dir) {\n return dir.name.value === \"nonreactive\";\n}\n//# sourceMappingURL=equalByQuery.js.map","import { __assign, __extends } from \"tslib\";\nimport { invariant } from '../utilities/globals/index.js';\nimport { equal } from '@wry/equality';\nimport { NetworkStatus, isNetworkRequestInFlight } from './networkStatus.js';\nimport { cloneDeep, compact, getOperationDefinition, Observable, iterateObserversSafely, fixObservableSubclass, getQueryDefinition, } from '../utilities/index.js';\nimport { equalByQuery } from './equalByQuery.js';\nvar assign = Object.assign, hasOwnProperty = Object.hasOwnProperty;\nvar ObservableQuery = (function (_super) {\n __extends(ObservableQuery, _super);\n function ObservableQuery(_a) {\n var queryManager = _a.queryManager, queryInfo = _a.queryInfo, options = _a.options;\n var _this = _super.call(this, function (observer) {\n try {\n var subObserver = observer._subscription._observer;\n if (subObserver && !subObserver.error) {\n subObserver.error = defaultSubscriptionObserverErrorCallback;\n }\n }\n catch (_a) { }\n var first = !_this.observers.size;\n _this.observers.add(observer);\n var last = _this.last;\n if (last && last.error) {\n observer.error && observer.error(last.error);\n }\n else if (last && last.result) {\n observer.next && observer.next(last.result);\n }\n if (first) {\n _this.reobserve().catch(function () { });\n }\n return function () {\n if (_this.observers.delete(observer) && !_this.observers.size) {\n _this.tearDownQuery();\n }\n };\n }) || this;\n _this.observers = new Set();\n _this.subscriptions = new Set();\n _this.queryInfo = queryInfo;\n _this.queryManager = queryManager;\n _this.waitForOwnResult = skipCacheDataFor(options.fetchPolicy);\n _this.isTornDown = false;\n var _b = queryManager.defaultOptions.watchQuery, _c = _b === void 0 ? {} : _b, _d = _c.fetchPolicy, defaultFetchPolicy = _d === void 0 ? \"cache-first\" : _d;\n var _e = options.fetchPolicy, fetchPolicy = _e === void 0 ? defaultFetchPolicy : _e, _f = options.initialFetchPolicy, initialFetchPolicy = _f === void 0 ? (fetchPolicy === \"standby\" ? defaultFetchPolicy : fetchPolicy) : _f;\n _this.options = __assign(__assign({}, options), { initialFetchPolicy: initialFetchPolicy, fetchPolicy: fetchPolicy });\n _this.queryId = queryInfo.queryId || queryManager.generateQueryId();\n var opDef = getOperationDefinition(_this.query);\n _this.queryName = opDef && opDef.name && opDef.name.value;\n return _this;\n }\n Object.defineProperty(ObservableQuery.prototype, \"query\", {\n get: function () {\n return this.lastQuery || this.options.query;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ObservableQuery.prototype, \"variables\", {\n get: function () {\n return this.options.variables;\n },\n enumerable: false,\n configurable: true\n });\n ObservableQuery.prototype.result = function () {\n var _this = this;\n return new Promise(function (resolve, reject) {\n var observer = {\n next: function (result) {\n resolve(result);\n _this.observers.delete(observer);\n if (!_this.observers.size) {\n _this.queryManager.removeQuery(_this.queryId);\n }\n setTimeout(function () {\n subscription.unsubscribe();\n }, 0);\n },\n error: reject,\n };\n var subscription = _this.subscribe(observer);\n });\n };\n ObservableQuery.prototype.getCurrentResult = function (saveAsLastResult) {\n if (saveAsLastResult === void 0) { saveAsLastResult = true; }\n var lastResult = this.getLastResult(true);\n var networkStatus = this.queryInfo.networkStatus ||\n (lastResult && lastResult.networkStatus) ||\n NetworkStatus.ready;\n var result = __assign(__assign({}, lastResult), { loading: isNetworkRequestInFlight(networkStatus), networkStatus: networkStatus });\n var _a = this.options.fetchPolicy, fetchPolicy = _a === void 0 ? \"cache-first\" : _a;\n if (skipCacheDataFor(fetchPolicy) ||\n this.queryManager.getDocumentInfo(this.query).hasForcedResolvers) {\n }\n else if (this.waitForOwnResult) {\n this.queryInfo['updateWatch']();\n }\n else {\n var diff = this.queryInfo.getDiff();\n if (diff.complete || this.options.returnPartialData) {\n result.data = diff.result;\n }\n if (equal(result.data, {})) {\n result.data = void 0;\n }\n if (diff.complete) {\n delete result.partial;\n if (diff.complete &&\n result.networkStatus === NetworkStatus.loading &&\n (fetchPolicy === 'cache-first' ||\n fetchPolicy === 'cache-only')) {\n result.networkStatus = NetworkStatus.ready;\n result.loading = false;\n }\n }\n else {\n result.partial = true;\n }\n if (globalThis.__DEV__ !== false &&\n !diff.complete &&\n !this.options.partialRefetch &&\n !result.loading &&\n !result.data &&\n !result.error) {\n logMissingFieldErrors(diff.missing);\n }\n }\n if (saveAsLastResult) {\n this.updateLastResult(result);\n }\n return result;\n };\n ObservableQuery.prototype.isDifferentFromLastResult = function (newResult, variables) {\n if (!this.last) {\n return true;\n }\n var resultIsDifferent = this.queryManager.getDocumentInfo(this.query).hasNonreactiveDirective\n ? !equalByQuery(this.query, this.last.result, newResult, this.variables)\n : !equal(this.last.result, newResult);\n return (resultIsDifferent ||\n (variables && !equal(this.last.variables, variables)));\n };\n ObservableQuery.prototype.getLast = function (key, variablesMustMatch) {\n var last = this.last;\n if (last &&\n last[key] &&\n (!variablesMustMatch || equal(last.variables, this.variables))) {\n return last[key];\n }\n };\n ObservableQuery.prototype.getLastResult = function (variablesMustMatch) {\n return this.getLast(\"result\", variablesMustMatch);\n };\n ObservableQuery.prototype.getLastError = function (variablesMustMatch) {\n return this.getLast(\"error\", variablesMustMatch);\n };\n ObservableQuery.prototype.resetLastResults = function () {\n delete this.last;\n this.isTornDown = false;\n };\n ObservableQuery.prototype.resetQueryStoreErrors = function () {\n this.queryManager.resetErrors(this.queryId);\n };\n ObservableQuery.prototype.refetch = function (variables) {\n var _a;\n var reobserveOptions = {\n pollInterval: 0,\n };\n var fetchPolicy = this.options.fetchPolicy;\n if (fetchPolicy === 'cache-and-network') {\n reobserveOptions.fetchPolicy = fetchPolicy;\n }\n else if (fetchPolicy === 'no-cache') {\n reobserveOptions.fetchPolicy = 'no-cache';\n }\n else {\n reobserveOptions.fetchPolicy = 'network-only';\n }\n if (globalThis.__DEV__ !== false && variables && hasOwnProperty.call(variables, \"variables\")) {\n var queryDef = getQueryDefinition(this.query);\n var vars = queryDef.variableDefinitions;\n if (!vars || !vars.some(function (v) { return v.variable.name.value === \"variables\"; })) {\n globalThis.__DEV__ !== false && invariant.warn(\n 18,\n variables,\n ((_a = queryDef.name) === null || _a === void 0 ? void 0 : _a.value) || queryDef\n );\n }\n }\n if (variables && !equal(this.options.variables, variables)) {\n reobserveOptions.variables = this.options.variables = __assign(__assign({}, this.options.variables), variables);\n }\n this.queryInfo.resetLastWrite();\n return this.reobserve(reobserveOptions, NetworkStatus.refetch);\n };\n ObservableQuery.prototype.fetchMore = function (fetchMoreOptions) {\n var _this = this;\n var combinedOptions = __assign(__assign({}, (fetchMoreOptions.query ? fetchMoreOptions : __assign(__assign(__assign(__assign({}, this.options), { query: this.options.query }), fetchMoreOptions), { variables: __assign(__assign({}, this.options.variables), fetchMoreOptions.variables) }))), { fetchPolicy: \"no-cache\" });\n combinedOptions.query = this.transformDocument(combinedOptions.query);\n var qid = this.queryManager.generateQueryId();\n this.lastQuery = fetchMoreOptions.query\n ? this.transformDocument(this.options.query)\n : combinedOptions.query;\n var queryInfo = this.queryInfo;\n var originalNetworkStatus = queryInfo.networkStatus;\n queryInfo.networkStatus = NetworkStatus.fetchMore;\n if (combinedOptions.notifyOnNetworkStatusChange) {\n this.observe();\n }\n var updatedQuerySet = new Set();\n return this.queryManager.fetchQuery(qid, combinedOptions, NetworkStatus.fetchMore).then(function (fetchMoreResult) {\n _this.queryManager.removeQuery(qid);\n if (queryInfo.networkStatus === NetworkStatus.fetchMore) {\n queryInfo.networkStatus = originalNetworkStatus;\n }\n _this.queryManager.cache.batch({\n update: function (cache) {\n var updateQuery = fetchMoreOptions.updateQuery;\n if (updateQuery) {\n cache.updateQuery({\n query: _this.query,\n variables: _this.variables,\n returnPartialData: true,\n optimistic: false,\n }, function (previous) { return updateQuery(previous, {\n fetchMoreResult: fetchMoreResult.data,\n variables: combinedOptions.variables,\n }); });\n }\n else {\n cache.writeQuery({\n query: combinedOptions.query,\n variables: combinedOptions.variables,\n data: fetchMoreResult.data,\n });\n }\n },\n onWatchUpdated: function (watch) {\n updatedQuerySet.add(watch.query);\n },\n });\n return fetchMoreResult;\n }).finally(function () {\n if (!updatedQuerySet.has(_this.query)) {\n reobserveCacheFirst(_this);\n }\n });\n };\n ObservableQuery.prototype.subscribeToMore = function (options) {\n var _this = this;\n var subscription = this.queryManager\n .startGraphQLSubscription({\n query: options.document,\n variables: options.variables,\n context: options.context,\n })\n .subscribe({\n next: function (subscriptionData) {\n var updateQuery = options.updateQuery;\n if (updateQuery) {\n _this.updateQuery(function (previous, _a) {\n var variables = _a.variables;\n return updateQuery(previous, {\n subscriptionData: subscriptionData,\n variables: variables,\n });\n });\n }\n },\n error: function (err) {\n if (options.onError) {\n options.onError(err);\n return;\n }\n globalThis.__DEV__ !== false && invariant.error(19, err);\n },\n });\n this.subscriptions.add(subscription);\n return function () {\n if (_this.subscriptions.delete(subscription)) {\n subscription.unsubscribe();\n }\n };\n };\n ObservableQuery.prototype.setOptions = function (newOptions) {\n return this.reobserve(newOptions);\n };\n ObservableQuery.prototype.silentSetOptions = function (newOptions) {\n var mergedOptions = compact(this.options, newOptions || {});\n assign(this.options, mergedOptions);\n };\n ObservableQuery.prototype.setVariables = function (variables) {\n if (equal(this.variables, variables)) {\n return this.observers.size\n ? this.result()\n : Promise.resolve();\n }\n this.options.variables = variables;\n if (!this.observers.size) {\n return Promise.resolve();\n }\n return this.reobserve({\n fetchPolicy: this.options.initialFetchPolicy,\n variables: variables,\n }, NetworkStatus.setVariables);\n };\n ObservableQuery.prototype.updateQuery = function (mapFn) {\n var queryManager = this.queryManager;\n var result = queryManager.cache.diff({\n query: this.options.query,\n variables: this.variables,\n returnPartialData: true,\n optimistic: false,\n }).result;\n var newResult = mapFn(result, {\n variables: this.variables,\n });\n if (newResult) {\n queryManager.cache.writeQuery({\n query: this.options.query,\n data: newResult,\n variables: this.variables,\n });\n queryManager.broadcastQueries();\n }\n };\n ObservableQuery.prototype.startPolling = function (pollInterval) {\n this.options.pollInterval = pollInterval;\n this.updatePolling();\n };\n ObservableQuery.prototype.stopPolling = function () {\n this.options.pollInterval = 0;\n this.updatePolling();\n };\n ObservableQuery.prototype.applyNextFetchPolicy = function (reason, options) {\n if (options.nextFetchPolicy) {\n var _a = options.fetchPolicy, fetchPolicy = _a === void 0 ? \"cache-first\" : _a, _b = options.initialFetchPolicy, initialFetchPolicy = _b === void 0 ? fetchPolicy : _b;\n if (fetchPolicy === \"standby\") {\n }\n else if (typeof options.nextFetchPolicy === \"function\") {\n options.fetchPolicy = options.nextFetchPolicy(fetchPolicy, {\n reason: reason,\n options: options,\n observable: this,\n initialFetchPolicy: initialFetchPolicy,\n });\n }\n else if (reason === \"variables-changed\") {\n options.fetchPolicy = initialFetchPolicy;\n }\n else {\n options.fetchPolicy = options.nextFetchPolicy;\n }\n }\n return options.fetchPolicy;\n };\n ObservableQuery.prototype.fetch = function (options, newNetworkStatus) {\n this.queryManager.setObservableQuery(this);\n return this.queryManager['fetchConcastWithInfo'](this.queryId, options, newNetworkStatus);\n };\n ObservableQuery.prototype.updatePolling = function () {\n var _this = this;\n if (this.queryManager.ssrMode) {\n return;\n }\n var _a = this, pollingInfo = _a.pollingInfo, pollInterval = _a.options.pollInterval;\n if (!pollInterval) {\n if (pollingInfo) {\n clearTimeout(pollingInfo.timeout);\n delete this.pollingInfo;\n }\n return;\n }\n if (pollingInfo &&\n pollingInfo.interval === pollInterval) {\n return;\n }\n invariant(pollInterval, 20);\n var info = pollingInfo || (this.pollingInfo = {});\n info.interval = pollInterval;\n var maybeFetch = function () {\n if (_this.pollingInfo) {\n if (!isNetworkRequestInFlight(_this.queryInfo.networkStatus)) {\n _this.reobserve({\n fetchPolicy: _this.options.initialFetchPolicy === 'no-cache' ? 'no-cache' : 'network-only',\n }, NetworkStatus.poll).then(poll, poll);\n }\n else {\n poll();\n }\n }\n ;\n };\n var poll = function () {\n var info = _this.pollingInfo;\n if (info) {\n clearTimeout(info.timeout);\n info.timeout = setTimeout(maybeFetch, info.interval);\n }\n };\n poll();\n };\n ObservableQuery.prototype.updateLastResult = function (newResult, variables) {\n if (variables === void 0) { variables = this.variables; }\n var error = this.getLastError();\n if (error && this.last && !equal(variables, this.last.variables)) {\n error = void 0;\n }\n return this.last = __assign({ result: this.queryManager.assumeImmutableResults\n ? newResult\n : cloneDeep(newResult), variables: variables }, (error ? { error: error } : null));\n };\n ObservableQuery.prototype.reobserveAsConcast = function (newOptions, newNetworkStatus) {\n var _this = this;\n this.isTornDown = false;\n var useDisposableConcast = newNetworkStatus === NetworkStatus.refetch ||\n newNetworkStatus === NetworkStatus.fetchMore ||\n newNetworkStatus === NetworkStatus.poll;\n var oldVariables = this.options.variables;\n var oldFetchPolicy = this.options.fetchPolicy;\n var mergedOptions = compact(this.options, newOptions || {});\n var options = useDisposableConcast\n ? mergedOptions\n : assign(this.options, mergedOptions);\n var query = this.transformDocument(options.query);\n this.lastQuery = query;\n if (!useDisposableConcast) {\n this.updatePolling();\n if (newOptions &&\n newOptions.variables &&\n !equal(newOptions.variables, oldVariables) &&\n options.fetchPolicy !== \"standby\" &&\n options.fetchPolicy === oldFetchPolicy) {\n this.applyNextFetchPolicy(\"variables-changed\", options);\n if (newNetworkStatus === void 0) {\n newNetworkStatus = NetworkStatus.setVariables;\n }\n }\n }\n var fetchOptions = query === options.query ? options : __assign(__assign({}, options), { query: query });\n this.waitForOwnResult && (this.waitForOwnResult = skipCacheDataFor(fetchOptions.fetchPolicy));\n var finishWaitingForOwnResult = function () {\n if (_this.concast === concast) {\n _this.waitForOwnResult = false;\n }\n };\n var variables = fetchOptions.variables && __assign({}, fetchOptions.variables);\n var _a = this.fetch(fetchOptions, newNetworkStatus), concast = _a.concast, fromLink = _a.fromLink;\n var observer = {\n next: function (result) {\n finishWaitingForOwnResult();\n _this.reportResult(result, variables);\n },\n error: function (error) {\n finishWaitingForOwnResult();\n _this.reportError(error, variables);\n },\n };\n if (!useDisposableConcast && (fromLink || !this.concast)) {\n if (this.concast && this.observer) {\n this.concast.removeObserver(this.observer);\n }\n this.concast = concast;\n this.observer = observer;\n }\n concast.addObserver(observer);\n return concast;\n };\n ObservableQuery.prototype.reobserve = function (newOptions, newNetworkStatus) {\n return this.reobserveAsConcast(newOptions, newNetworkStatus).promise;\n };\n ObservableQuery.prototype.observe = function () {\n this.reportResult(this.getCurrentResult(false), this.variables);\n };\n ObservableQuery.prototype.reportResult = function (result, variables) {\n var lastError = this.getLastError();\n var isDifferent = this.isDifferentFromLastResult(result, variables);\n if (lastError || !result.partial || this.options.returnPartialData) {\n this.updateLastResult(result, variables);\n }\n if (lastError || isDifferent) {\n iterateObserversSafely(this.observers, \"next\", result);\n }\n };\n ObservableQuery.prototype.reportError = function (error, variables) {\n var errorResult = __assign(__assign({}, this.getLastResult()), { error: error, errors: error.graphQLErrors, networkStatus: NetworkStatus.error, loading: false });\n this.updateLastResult(errorResult, variables);\n iterateObserversSafely(this.observers, 'error', this.last.error = error);\n };\n ObservableQuery.prototype.hasObservers = function () {\n return this.observers.size > 0;\n };\n ObservableQuery.prototype.tearDownQuery = function () {\n if (this.isTornDown)\n return;\n if (this.concast && this.observer) {\n this.concast.removeObserver(this.observer);\n delete this.concast;\n delete this.observer;\n }\n this.stopPolling();\n this.subscriptions.forEach(function (sub) { return sub.unsubscribe(); });\n this.subscriptions.clear();\n this.queryManager.stopQuery(this.queryId);\n this.observers.clear();\n this.isTornDown = true;\n };\n ObservableQuery.prototype.transformDocument = function (document) {\n return this.queryManager.transform(document);\n };\n return ObservableQuery;\n}(Observable));\nexport { ObservableQuery };\nfixObservableSubclass(ObservableQuery);\nexport function reobserveCacheFirst(obsQuery) {\n var _a = obsQuery.options, fetchPolicy = _a.fetchPolicy, nextFetchPolicy = _a.nextFetchPolicy;\n if (fetchPolicy === \"cache-and-network\" ||\n fetchPolicy === \"network-only\") {\n return obsQuery.reobserve({\n fetchPolicy: \"cache-first\",\n nextFetchPolicy: function () {\n this.nextFetchPolicy = nextFetchPolicy;\n if (typeof nextFetchPolicy === \"function\") {\n return nextFetchPolicy.apply(this, arguments);\n }\n return fetchPolicy;\n },\n });\n }\n return obsQuery.reobserve();\n}\nfunction defaultSubscriptionObserverErrorCallback(error) {\n globalThis.__DEV__ !== false && invariant.error(21, error.message, error.stack);\n}\nexport function logMissingFieldErrors(missing) {\n if (globalThis.__DEV__ !== false && missing) {\n globalThis.__DEV__ !== false && invariant.debug(22, missing);\n }\n}\nfunction skipCacheDataFor(fetchPolicy) {\n return fetchPolicy === \"network-only\" || fetchPolicy === \"no-cache\" || fetchPolicy === \"standby\";\n}\n//# sourceMappingURL=ObservableQuery.js.map","import { Kind } from './kinds.mjs';\nexport function isDefinitionNode(node) {\n return (\n isExecutableDefinitionNode(node) ||\n isTypeSystemDefinitionNode(node) ||\n isTypeSystemExtensionNode(node)\n );\n}\nexport function isExecutableDefinitionNode(node) {\n return (\n node.kind === Kind.OPERATION_DEFINITION ||\n node.kind === Kind.FRAGMENT_DEFINITION\n );\n}\nexport function isSelectionNode(node) {\n return (\n node.kind === Kind.FIELD ||\n node.kind === Kind.FRAGMENT_SPREAD ||\n node.kind === Kind.INLINE_FRAGMENT\n );\n}\nexport function isValueNode(node) {\n return (\n node.kind === Kind.VARIABLE ||\n node.kind === Kind.INT ||\n node.kind === Kind.FLOAT ||\n node.kind === Kind.STRING ||\n node.kind === Kind.BOOLEAN ||\n node.kind === Kind.NULL ||\n node.kind === Kind.ENUM ||\n node.kind === Kind.LIST ||\n node.kind === Kind.OBJECT\n );\n}\nexport function isConstValueNode(node) {\n return (\n isValueNode(node) &&\n (node.kind === Kind.LIST\n ? node.values.some(isConstValueNode)\n : node.kind === Kind.OBJECT\n ? node.fields.some((field) => isConstValueNode(field.value))\n : node.kind !== Kind.VARIABLE)\n );\n}\nexport function isTypeNode(node) {\n return (\n node.kind === Kind.NAMED_TYPE ||\n node.kind === Kind.LIST_TYPE ||\n node.kind === Kind.NON_NULL_TYPE\n );\n}\nexport function isTypeSystemDefinitionNode(node) {\n return (\n node.kind === Kind.SCHEMA_DEFINITION ||\n isTypeDefinitionNode(node) ||\n node.kind === Kind.DIRECTIVE_DEFINITION\n );\n}\nexport function isTypeDefinitionNode(node) {\n return (\n node.kind === Kind.SCALAR_TYPE_DEFINITION ||\n node.kind === Kind.OBJECT_TYPE_DEFINITION ||\n node.kind === Kind.INTERFACE_TYPE_DEFINITION ||\n node.kind === Kind.UNION_TYPE_DEFINITION ||\n node.kind === Kind.ENUM_TYPE_DEFINITION ||\n node.kind === Kind.INPUT_OBJECT_TYPE_DEFINITION\n );\n}\nexport function isTypeSystemExtensionNode(node) {\n return node.kind === Kind.SCHEMA_EXTENSION || isTypeExtensionNode(node);\n}\nexport function isTypeExtensionNode(node) {\n return (\n node.kind === Kind.SCALAR_TYPE_EXTENSION ||\n node.kind === Kind.OBJECT_TYPE_EXTENSION ||\n node.kind === Kind.INTERFACE_TYPE_EXTENSION ||\n node.kind === Kind.UNION_TYPE_EXTENSION ||\n node.kind === Kind.ENUM_TYPE_EXTENSION ||\n node.kind === Kind.INPUT_OBJECT_TYPE_EXTENSION\n );\n}\n","function defaultDispose() { }\nexport class Cache {\n constructor(max = Infinity, dispose = defaultDispose) {\n this.max = max;\n this.dispose = dispose;\n this.map = new Map();\n this.newest = null;\n this.oldest = null;\n }\n has(key) {\n return this.map.has(key);\n }\n get(key) {\n const node = this.getNode(key);\n return node && node.value;\n }\n getNode(key) {\n const node = this.map.get(key);\n if (node && node !== this.newest) {\n const { older, newer } = node;\n if (newer) {\n newer.older = older;\n }\n if (older) {\n older.newer = newer;\n }\n node.older = this.newest;\n node.older.newer = node;\n node.newer = null;\n this.newest = node;\n if (node === this.oldest) {\n this.oldest = newer;\n }\n }\n return node;\n }\n set(key, value) {\n let node = this.getNode(key);\n if (node) {\n return node.value = value;\n }\n node = {\n key,\n value,\n newer: null,\n older: this.newest\n };\n if (this.newest) {\n this.newest.newer = node;\n }\n this.newest = node;\n this.oldest = this.oldest || node;\n this.map.set(key, node);\n return node.value;\n }\n clean() {\n while (this.oldest && this.map.size > this.max) {\n this.delete(this.oldest.key);\n }\n }\n delete(key) {\n const node = this.map.get(key);\n if (node) {\n if (node === this.newest) {\n this.newest = node.older;\n }\n if (node === this.oldest) {\n this.oldest = node.newer;\n }\n if (node.newer) {\n node.newer.older = node.older;\n }\n if (node.older) {\n node.older.newer = node.newer;\n }\n this.map.delete(key);\n this.dispose(node.value, key);\n return true;\n }\n return false;\n }\n}\n//# sourceMappingURL=cache.js.map","// This currentContext variable will only be used if the makeSlotClass\n// function is called, which happens only if this is the first copy of the\n// @wry/context package to be imported.\nlet currentContext = null;\n// This unique internal object is used to denote the absence of a value\n// for a given Slot, and is never exposed to outside code.\nconst MISSING_VALUE = {};\nlet idCounter = 1;\n// Although we can't do anything about the cost of duplicated code from\n// accidentally bundling multiple copies of the @wry/context package, we can\n// avoid creating the Slot class more than once using makeSlotClass.\nconst makeSlotClass = () => class Slot {\n constructor() {\n // If you have a Slot object, you can find out its slot.id, but you cannot\n // guess the slot.id of a Slot you don't have access to, thanks to the\n // randomized suffix.\n this.id = [\n \"slot\",\n idCounter++,\n Date.now(),\n Math.random().toString(36).slice(2),\n ].join(\":\");\n }\n hasValue() {\n for (let context = currentContext; context; context = context.parent) {\n // We use the Slot object iself as a key to its value, which means the\n // value cannot be obtained without a reference to the Slot object.\n if (this.id in context.slots) {\n const value = context.slots[this.id];\n if (value === MISSING_VALUE)\n break;\n if (context !== currentContext) {\n // Cache the value in currentContext.slots so the next lookup will\n // be faster. This caching is safe because the tree of contexts and\n // the values of the slots are logically immutable.\n currentContext.slots[this.id] = value;\n }\n return true;\n }\n }\n if (currentContext) {\n // If a value was not found for this Slot, it's never going to be found\n // no matter how many times we look it up, so we might as well cache\n // the absence of the value, too.\n currentContext.slots[this.id] = MISSING_VALUE;\n }\n return false;\n }\n getValue() {\n if (this.hasValue()) {\n return currentContext.slots[this.id];\n }\n }\n withValue(value, callback, \n // Given the prevalence of arrow functions, specifying arguments is likely\n // to be much more common than specifying `this`, hence this ordering:\n args, thisArg) {\n const slots = {\n __proto__: null,\n [this.id]: value,\n };\n const parent = currentContext;\n currentContext = { parent, slots };\n try {\n // Function.prototype.apply allows the arguments array argument to be\n // omitted or undefined, so args! is fine here.\n return callback.apply(thisArg, args);\n }\n finally {\n currentContext = parent;\n }\n }\n // Capture the current context and wrap a callback function so that it\n // reestablishes the captured context when called.\n static bind(callback) {\n const context = currentContext;\n return function () {\n const saved = currentContext;\n try {\n currentContext = context;\n return callback.apply(this, arguments);\n }\n finally {\n currentContext = saved;\n }\n };\n }\n // Immediately run a callback function without any captured context.\n static noContext(callback, \n // Given the prevalence of arrow functions, specifying arguments is likely\n // to be much more common than specifying `this`, hence this ordering:\n args, thisArg) {\n if (currentContext) {\n const saved = currentContext;\n try {\n currentContext = null;\n // Function.prototype.apply allows the arguments array argument to be\n // omitted or undefined, so args! is fine here.\n return callback.apply(thisArg, args);\n }\n finally {\n currentContext = saved;\n }\n }\n else {\n return callback.apply(thisArg, args);\n }\n }\n};\nfunction maybe(fn) {\n try {\n return fn();\n }\n catch (ignored) { }\n}\n// We store a single global implementation of the Slot class as a permanent\n// non-enumerable property of the globalThis object. This obfuscation does\n// nothing to prevent access to the Slot class, but at least it ensures the\n// implementation (i.e. currentContext) cannot be tampered with, and all copies\n// of the @wry/context package (hopefully just one) will share the same Slot\n// implementation. Since the first copy of the @wry/context package to be\n// imported wins, this technique imposes a steep cost for any future breaking\n// changes to the Slot class.\nconst globalKey = \"@wry/context:Slot\";\nconst host = \n// Prefer globalThis when available.\n// https://github.com/benjamn/wryware/issues/347\nmaybe(() => globalThis) ||\n // Fall back to global, which works in Node.js and may be converted by some\n // bundlers to the appropriate identifier (window, self, ...) depending on the\n // bundling target. https://github.com/endojs/endo/issues/576#issuecomment-1178515224\n maybe(() => global) ||\n // Otherwise, use a dummy host that's local to this module. We used to fall\n // back to using the Array constructor as a namespace, but that was flagged in\n // https://github.com/benjamn/wryware/issues/347, and can be avoided.\n Object.create(null);\n// Whichever globalHost we're using, make TypeScript happy about the additional\n// globalKey property.\nconst globalHost = host;\nexport const Slot = globalHost[globalKey] ||\n // Earlier versions of this package stored the globalKey property on the Array\n // constructor, so we check there as well, to prevent Slot class duplication.\n Array[globalKey] ||\n (function (Slot) {\n try {\n Object.defineProperty(globalHost, globalKey, {\n value: Slot,\n enumerable: false,\n writable: false,\n // When it was possible for globalHost to be the Array constructor (a\n // legacy Slot dedup strategy), it was important for the property to be\n // configurable:true so it could be deleted. That does not seem to be as\n // important when globalHost is the global object, but I don't want to\n // cause similar problems again, and configurable:true seems safest.\n // https://github.com/endojs/endo/issues/576#issuecomment-1178274008\n configurable: true\n });\n }\n finally {\n return Slot;\n }\n })(makeSlotClass());\n//# sourceMappingURL=slot.js.map","import { Slot } from \"./slot.js\";\nexport { Slot };\nexport const { bind, noContext } = Slot;\n// Like global.setTimeout, except the callback runs with captured context.\nexport { setTimeoutWithContext as setTimeout };\nfunction setTimeoutWithContext(callback, delay) {\n return setTimeout(bind(callback), delay);\n}\n// Turn any generator function into an async function (using yield instead\n// of await), with context automatically preserved across yields.\nexport function asyncFromGen(genFn) {\n return function () {\n const gen = genFn.apply(this, arguments);\n const boundNext = bind(gen.next);\n const boundThrow = bind(gen.throw);\n return new Promise((resolve, reject) => {\n function invoke(method, argument) {\n try {\n var result = method.call(gen, argument);\n }\n catch (error) {\n return reject(error);\n }\n const next = result.done ? resolve : invokeNext;\n if (isPromiseLike(result.value)) {\n result.value.then(next, result.done ? reject : invokeThrow);\n }\n else {\n next(result.value);\n }\n }\n const invokeNext = (value) => invoke(boundNext, value);\n const invokeThrow = (error) => invoke(boundThrow, error);\n invokeNext();\n });\n };\n}\nfunction isPromiseLike(value) {\n return value && typeof value.then === \"function\";\n}\n// If you use the fibers npm package to implement coroutines in Node.js,\n// you should call this function at least once to ensure context management\n// remains coherent across any yields.\nconst wrappedFibers = [];\nexport function wrapYieldingFiberMethods(Fiber) {\n // There can be only one implementation of Fiber per process, so this array\n // should never grow longer than one element.\n if (wrappedFibers.indexOf(Fiber) < 0) {\n const wrap = (obj, method) => {\n const fn = obj[method];\n obj[method] = function () {\n return noContext(fn, arguments, this);\n };\n };\n // These methods can yield, according to\n // https://github.com/laverdet/node-fibers/blob/ddebed9b8ae3883e57f822e2108e6943e5c8d2a8/fibers.js#L97-L100\n wrap(Fiber, \"yield\");\n wrap(Fiber.prototype, \"run\");\n wrap(Fiber.prototype, \"throwInto\");\n wrappedFibers.push(Fiber);\n }\n return Fiber;\n}\n//# sourceMappingURL=index.js.map","import { Slot } from \"@wry/context\";\nexport const parentEntrySlot = new Slot();\nexport function nonReactive(fn) {\n return parentEntrySlot.withValue(void 0, fn);\n}\nexport { bind as bindContext, noContext, setTimeout, asyncFromGen, } from \"@wry/context\";\n//# sourceMappingURL=context.js.map","export const { hasOwnProperty, } = Object.prototype;\nexport const arrayFromSet = Array.from ||\n function (set) {\n const array = [];\n set.forEach(item => array.push(item));\n return array;\n };\nexport function maybeUnsubscribe(entryOrDep) {\n const { unsubscribe } = entryOrDep;\n if (typeof unsubscribe === \"function\") {\n entryOrDep.unsubscribe = void 0;\n unsubscribe();\n }\n}\n//# sourceMappingURL=helpers.js.map","import { parentEntrySlot } from \"./context.js\";\nimport { maybeUnsubscribe, arrayFromSet } from \"./helpers.js\";\nconst emptySetPool = [];\nconst POOL_TARGET_SIZE = 100;\n// Since this package might be used browsers, we should avoid using the\n// Node built-in assert module.\nfunction assert(condition, optionalMessage) {\n if (!condition) {\n throw new Error(optionalMessage || \"assertion failure\");\n }\n}\nfunction valueIs(a, b) {\n const len = a.length;\n return (\n // Unknown values are not equal to each other.\n len > 0 &&\n // Both values must be ordinary (or both exceptional) to be equal.\n len === b.length &&\n // The underlying value or exception must be the same.\n a[len - 1] === b[len - 1]);\n}\nfunction valueGet(value) {\n switch (value.length) {\n case 0: throw new Error(\"unknown value\");\n case 1: return value[0];\n case 2: throw value[1];\n }\n}\nfunction valueCopy(value) {\n return value.slice(0);\n}\nexport class Entry {\n constructor(fn) {\n this.fn = fn;\n this.parents = new Set();\n this.childValues = new Map();\n // When this Entry has children that are dirty, this property becomes\n // a Set containing other Entry objects, borrowed from emptySetPool.\n // When the set becomes empty, it gets recycled back to emptySetPool.\n this.dirtyChildren = null;\n this.dirty = true;\n this.recomputing = false;\n this.value = [];\n this.deps = null;\n ++Entry.count;\n }\n peek() {\n if (this.value.length === 1 && !mightBeDirty(this)) {\n rememberParent(this);\n return this.value[0];\n }\n }\n // This is the most important method of the Entry API, because it\n // determines whether the cached this.value can be returned immediately,\n // or must be recomputed. The overall performance of the caching system\n // depends on the truth of the following observations: (1) this.dirty is\n // usually false, (2) this.dirtyChildren is usually null/empty, and thus\n // (3) valueGet(this.value) is usually returned without recomputation.\n recompute(args) {\n assert(!this.recomputing, \"already recomputing\");\n rememberParent(this);\n return mightBeDirty(this)\n ? reallyRecompute(this, args)\n : valueGet(this.value);\n }\n setDirty() {\n if (this.dirty)\n return;\n this.dirty = true;\n this.value.length = 0;\n reportDirty(this);\n // We can go ahead and unsubscribe here, since any further dirty\n // notifications we receive will be redundant, and unsubscribing may\n // free up some resources, e.g. file watchers.\n maybeUnsubscribe(this);\n }\n dispose() {\n this.setDirty();\n // Sever any dependency relationships with our own children, so those\n // children don't retain this parent Entry in their child.parents sets,\n // thereby preventing it from being fully garbage collected.\n forgetChildren(this);\n // Because this entry has been kicked out of the cache (in index.js),\n // we've lost the ability to find out if/when this entry becomes dirty,\n // whether that happens through a subscription, because of a direct call\n // to entry.setDirty(), or because one of its children becomes dirty.\n // Because of this loss of future information, we have to assume the\n // worst (that this entry might have become dirty very soon), so we must\n // immediately mark this entry's parents as dirty. Normally we could\n // just call entry.setDirty() rather than calling parent.setDirty() for\n // each parent, but that would leave this entry in parent.childValues\n // and parent.dirtyChildren, which would prevent the child from being\n // truly forgotten.\n eachParent(this, (parent, child) => {\n parent.setDirty();\n forgetChild(parent, this);\n });\n }\n forget() {\n // The code that creates Entry objects in index.ts will replace this method\n // with one that actually removes the Entry from the cache, which will also\n // trigger the entry.dispose method.\n this.dispose();\n }\n dependOn(dep) {\n dep.add(this);\n if (!this.deps) {\n this.deps = emptySetPool.pop() || new Set();\n }\n this.deps.add(dep);\n }\n forgetDeps() {\n if (this.deps) {\n arrayFromSet(this.deps).forEach(dep => dep.delete(this));\n this.deps.clear();\n emptySetPool.push(this.deps);\n this.deps = null;\n }\n }\n}\nEntry.count = 0;\nfunction rememberParent(child) {\n const parent = parentEntrySlot.getValue();\n if (parent) {\n child.parents.add(parent);\n if (!parent.childValues.has(child)) {\n parent.childValues.set(child, []);\n }\n if (mightBeDirty(child)) {\n reportDirtyChild(parent, child);\n }\n else {\n reportCleanChild(parent, child);\n }\n return parent;\n }\n}\nfunction reallyRecompute(entry, args) {\n forgetChildren(entry);\n // Set entry as the parent entry while calling recomputeNewValue(entry).\n parentEntrySlot.withValue(entry, recomputeNewValue, [entry, args]);\n if (maybeSubscribe(entry, args)) {\n // If we successfully recomputed entry.value and did not fail to\n // (re)subscribe, then this Entry is no longer explicitly dirty.\n setClean(entry);\n }\n return valueGet(entry.value);\n}\nfunction recomputeNewValue(entry, args) {\n entry.recomputing = true;\n // Set entry.value as unknown.\n entry.value.length = 0;\n try {\n // If entry.fn succeeds, entry.value will become a normal Value.\n entry.value[0] = entry.fn.apply(null, args);\n }\n catch (e) {\n // If entry.fn throws, entry.value will become exceptional.\n entry.value[1] = e;\n }\n // Either way, this line is always reached.\n entry.recomputing = false;\n}\nfunction mightBeDirty(entry) {\n return entry.dirty || !!(entry.dirtyChildren && entry.dirtyChildren.size);\n}\nfunction setClean(entry) {\n entry.dirty = false;\n if (mightBeDirty(entry)) {\n // This Entry may still have dirty children, in which case we can't\n // let our parents know we're clean just yet.\n return;\n }\n reportClean(entry);\n}\nfunction reportDirty(child) {\n eachParent(child, reportDirtyChild);\n}\nfunction reportClean(child) {\n eachParent(child, reportCleanChild);\n}\nfunction eachParent(child, callback) {\n const parentCount = child.parents.size;\n if (parentCount) {\n const parents = arrayFromSet(child.parents);\n for (let i = 0; i < parentCount; ++i) {\n callback(parents[i], child);\n }\n }\n}\n// Let a parent Entry know that one of its children may be dirty.\nfunction reportDirtyChild(parent, child) {\n // Must have called rememberParent(child) before calling\n // reportDirtyChild(parent, child).\n assert(parent.childValues.has(child));\n assert(mightBeDirty(child));\n const parentWasClean = !mightBeDirty(parent);\n if (!parent.dirtyChildren) {\n parent.dirtyChildren = emptySetPool.pop() || new Set;\n }\n else if (parent.dirtyChildren.has(child)) {\n // If we already know this child is dirty, then we must have already\n // informed our own parents that we are dirty, so we can terminate\n // the recursion early.\n return;\n }\n parent.dirtyChildren.add(child);\n // If parent was clean before, it just became (possibly) dirty (according to\n // mightBeDirty), since we just added child to parent.dirtyChildren.\n if (parentWasClean) {\n reportDirty(parent);\n }\n}\n// Let a parent Entry know that one of its children is no longer dirty.\nfunction reportCleanChild(parent, child) {\n // Must have called rememberChild(child) before calling\n // reportCleanChild(parent, child).\n assert(parent.childValues.has(child));\n assert(!mightBeDirty(child));\n const childValue = parent.childValues.get(child);\n if (childValue.length === 0) {\n parent.childValues.set(child, valueCopy(child.value));\n }\n else if (!valueIs(childValue, child.value)) {\n parent.setDirty();\n }\n removeDirtyChild(parent, child);\n if (mightBeDirty(parent)) {\n return;\n }\n reportClean(parent);\n}\nfunction removeDirtyChild(parent, child) {\n const dc = parent.dirtyChildren;\n if (dc) {\n dc.delete(child);\n if (dc.size === 0) {\n if (emptySetPool.length < POOL_TARGET_SIZE) {\n emptySetPool.push(dc);\n }\n parent.dirtyChildren = null;\n }\n }\n}\n// Removes all children from this entry and returns an array of the\n// removed children.\nfunction forgetChildren(parent) {\n if (parent.childValues.size > 0) {\n parent.childValues.forEach((_value, child) => {\n forgetChild(parent, child);\n });\n }\n // Remove this parent Entry from any sets to which it was added by the\n // addToSet method.\n parent.forgetDeps();\n // After we forget all our children, this.dirtyChildren must be empty\n // and therefore must have been reset to null.\n assert(parent.dirtyChildren === null);\n}\nfunction forgetChild(parent, child) {\n child.parents.delete(parent);\n parent.childValues.delete(child);\n removeDirtyChild(parent, child);\n}\nfunction maybeSubscribe(entry, args) {\n if (typeof entry.subscribe === \"function\") {\n try {\n maybeUnsubscribe(entry); // Prevent double subscriptions.\n entry.unsubscribe = entry.subscribe.apply(null, args);\n }\n catch (e) {\n // If this Entry has a subscribe function and it threw an exception\n // (or an unsubscribe function it previously returned now throws),\n // return false to indicate that we were not able to subscribe (or\n // unsubscribe), and this Entry should remain dirty.\n entry.setDirty();\n return false;\n }\n }\n // Returning true indicates either that there was no entry.subscribe\n // function or that it succeeded.\n return true;\n}\n//# sourceMappingURL=entry.js.map","import { parentEntrySlot } from \"./context.js\";\nimport { hasOwnProperty, maybeUnsubscribe, arrayFromSet, } from \"./helpers.js\";\nconst EntryMethods = {\n setDirty: true,\n dispose: true,\n forget: true, // Fully remove parent Entry from LRU cache and computation graph\n};\nexport function dep(options) {\n const depsByKey = new Map();\n const subscribe = options && options.subscribe;\n function depend(key) {\n const parent = parentEntrySlot.getValue();\n if (parent) {\n let dep = depsByKey.get(key);\n if (!dep) {\n depsByKey.set(key, dep = new Set);\n }\n parent.dependOn(dep);\n if (typeof subscribe === \"function\") {\n maybeUnsubscribe(dep);\n dep.unsubscribe = subscribe(key);\n }\n }\n }\n depend.dirty = function dirty(key, entryMethodName) {\n const dep = depsByKey.get(key);\n if (dep) {\n const m = (entryMethodName &&\n hasOwnProperty.call(EntryMethods, entryMethodName)) ? entryMethodName : \"setDirty\";\n // We have to use arrayFromSet(dep).forEach instead of dep.forEach,\n // because modifying a Set while iterating over it can cause elements in\n // the Set to be removed from the Set before they've been iterated over.\n arrayFromSet(dep).forEach(entry => entry[m]());\n depsByKey.delete(key);\n maybeUnsubscribe(dep);\n }\n };\n return depend;\n}\n//# sourceMappingURL=dep.js.map","import { Trie } from \"@wry/trie\";\nimport { Cache } from \"./cache.js\";\nimport { Entry } from \"./entry.js\";\nimport { parentEntrySlot } from \"./context.js\";\n// These helper functions are important for making optimism work with\n// asynchronous code. In order to register parent-child dependencies,\n// optimism needs to know about any currently active parent computations.\n// In ordinary synchronous code, the parent context is implicit in the\n// execution stack, but asynchronous code requires some extra guidance in\n// order to propagate context from one async task segment to the next.\nexport { bindContext, noContext, nonReactive, setTimeout, asyncFromGen, } from \"./context.js\";\n// A lighter-weight dependency, similar to OptimisticWrapperFunction, except\n// with only one argument, no makeCacheKey, no wrapped function to recompute,\n// and no result value. Useful for representing dependency leaves in the graph\n// of computation. Subscriptions are supported.\nexport { dep } from \"./dep.js\";\n// The defaultMakeCacheKey function is remarkably powerful, because it gives\n// a unique object for any shallow-identical list of arguments. If you need\n// to implement a custom makeCacheKey function, you may find it helpful to\n// delegate the final work to defaultMakeCacheKey, which is why we export it\n// here. However, you may want to avoid defaultMakeCacheKey if your runtime\n// does not support WeakMap, or you have the ability to return a string key.\n// In those cases, just write your own custom makeCacheKey functions.\nlet defaultKeyTrie;\nexport function defaultMakeCacheKey(...args) {\n const trie = defaultKeyTrie || (defaultKeyTrie = new Trie(typeof WeakMap === \"function\"));\n return trie.lookupArray(args);\n}\n// If you're paranoid about memory leaks, or you want to avoid using WeakMap\n// under the hood, but you still need the behavior of defaultMakeCacheKey,\n// import this constructor to create your own tries.\nexport { Trie as KeyTrie };\nconst caches = new Set();\nexport function wrap(originalFunction, { max = Math.pow(2, 16), makeCacheKey = defaultMakeCacheKey, keyArgs, subscribe, } = Object.create(null)) {\n const cache = new Cache(max, entry => entry.dispose());\n const optimistic = function () {\n const key = makeCacheKey.apply(null, keyArgs ? keyArgs.apply(null, arguments) : arguments);\n if (key === void 0) {\n return originalFunction.apply(null, arguments);\n }\n let entry = cache.get(key);\n if (!entry) {\n cache.set(key, entry = new Entry(originalFunction));\n entry.subscribe = subscribe;\n // Give the Entry the ability to trigger cache.delete(key), even though\n // the Entry itself does not know about key or cache.\n entry.forget = () => cache.delete(key);\n }\n const value = entry.recompute(Array.prototype.slice.call(arguments));\n // Move this entry to the front of the least-recently used queue,\n // since we just finished computing its value.\n cache.set(key, entry);\n caches.add(cache);\n // Clean up any excess entries in the cache, but only if there is no\n // active parent entry, meaning we're not in the middle of a larger\n // computation that might be flummoxed by the cleaning.\n if (!parentEntrySlot.hasValue()) {\n caches.forEach(cache => cache.clean());\n caches.clear();\n }\n return value;\n };\n Object.defineProperty(optimistic, \"size\", {\n get() {\n return cache[\"map\"].size;\n },\n configurable: false,\n enumerable: false,\n });\n Object.freeze(optimistic.options = {\n max,\n makeCacheKey,\n keyArgs,\n subscribe,\n });\n function dirtyKey(key) {\n const entry = cache.get(key);\n if (entry) {\n entry.setDirty();\n }\n }\n optimistic.dirtyKey = dirtyKey;\n optimistic.dirty = function dirty() {\n dirtyKey(makeCacheKey.apply(null, arguments));\n };\n function peekKey(key) {\n const entry = cache.get(key);\n if (entry) {\n return entry.peek();\n }\n }\n optimistic.peekKey = peekKey;\n optimistic.peek = function peek() {\n return peekKey(makeCacheKey.apply(null, arguments));\n };\n function forgetKey(key) {\n return cache.delete(key);\n }\n optimistic.forgetKey = forgetKey;\n optimistic.forget = function forget() {\n return forgetKey(makeCacheKey.apply(null, arguments));\n };\n optimistic.makeCacheKey = makeCacheKey;\n optimistic.getKey = keyArgs ? function getKey() {\n return makeCacheKey.apply(null, keyArgs.apply(null, arguments));\n } : makeCacheKey;\n return Object.freeze(optimistic);\n}\n//# sourceMappingURL=index.js.map","import { dep } from \"optimism\";\nimport { Slot } from \"@wry/context\";\nexport var cacheSlot = new Slot();\nvar cacheInfoMap = new WeakMap();\nfunction getCacheInfo(cache) {\n var info = cacheInfoMap.get(cache);\n if (!info) {\n cacheInfoMap.set(cache, info = {\n vars: new Set,\n dep: dep(),\n });\n }\n return info;\n}\nexport function forgetCache(cache) {\n getCacheInfo(cache).vars.forEach(function (rv) { return rv.forgetCache(cache); });\n}\nexport function recallCache(cache) {\n getCacheInfo(cache).vars.forEach(function (rv) { return rv.attachCache(cache); });\n}\nexport function makeVar(value) {\n var caches = new Set();\n var listeners = new Set();\n var rv = function (newValue) {\n if (arguments.length > 0) {\n if (value !== newValue) {\n value = newValue;\n caches.forEach(function (cache) {\n getCacheInfo(cache).dep.dirty(rv);\n broadcast(cache);\n });\n var oldListeners = Array.from(listeners);\n listeners.clear();\n oldListeners.forEach(function (listener) { return listener(value); });\n }\n }\n else {\n var cache = cacheSlot.getValue();\n if (cache) {\n attach(cache);\n getCacheInfo(cache).dep(rv);\n }\n }\n return value;\n };\n rv.onNextChange = function (listener) {\n listeners.add(listener);\n return function () {\n listeners.delete(listener);\n };\n };\n var attach = rv.attachCache = function (cache) {\n caches.add(cache);\n getCacheInfo(cache).vars.add(rv);\n return rv;\n };\n rv.forgetCache = function (cache) { return caches.delete(cache); };\n return rv;\n}\nfunction broadcast(cache) {\n if (cache.broadcastWatches) {\n cache.broadcastWatches();\n }\n}\n//# sourceMappingURL=reactiveVars.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { invariant } from '../utilities/globals/index.js';\nimport { visit, BREAK, isSelectionNode } from 'graphql';\nimport { argumentsObjectFromField, buildQueryFromSelectionSet, createFragmentMap, getFragmentDefinitions, getMainDefinition, hasDirectives, isField, isInlineFragment, mergeDeep, mergeDeepArray, removeClientSetsFromDocument, resultKeyNameFromField, shouldInclude, } from '../utilities/index.js';\nimport { cacheSlot } from '../cache/index.js';\nvar LocalState = (function () {\n function LocalState(_a) {\n var cache = _a.cache, client = _a.client, resolvers = _a.resolvers, fragmentMatcher = _a.fragmentMatcher;\n this.selectionsToResolveCache = new WeakMap();\n this.cache = cache;\n if (client) {\n this.client = client;\n }\n if (resolvers) {\n this.addResolvers(resolvers);\n }\n if (fragmentMatcher) {\n this.setFragmentMatcher(fragmentMatcher);\n }\n }\n LocalState.prototype.addResolvers = function (resolvers) {\n var _this = this;\n this.resolvers = this.resolvers || {};\n if (Array.isArray(resolvers)) {\n resolvers.forEach(function (resolverGroup) {\n _this.resolvers = mergeDeep(_this.resolvers, resolverGroup);\n });\n }\n else {\n this.resolvers = mergeDeep(this.resolvers, resolvers);\n }\n };\n LocalState.prototype.setResolvers = function (resolvers) {\n this.resolvers = {};\n this.addResolvers(resolvers);\n };\n LocalState.prototype.getResolvers = function () {\n return this.resolvers || {};\n };\n LocalState.prototype.runResolvers = function (_a) {\n var document = _a.document, remoteResult = _a.remoteResult, context = _a.context, variables = _a.variables, _b = _a.onlyRunForcedResolvers, onlyRunForcedResolvers = _b === void 0 ? false : _b;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_c) {\n if (document) {\n return [2, this.resolveDocument(document, remoteResult.data, context, variables, this.fragmentMatcher, onlyRunForcedResolvers).then(function (localResult) { return (__assign(__assign({}, remoteResult), { data: localResult.result })); })];\n }\n return [2, remoteResult];\n });\n });\n };\n LocalState.prototype.setFragmentMatcher = function (fragmentMatcher) {\n this.fragmentMatcher = fragmentMatcher;\n };\n LocalState.prototype.getFragmentMatcher = function () {\n return this.fragmentMatcher;\n };\n LocalState.prototype.clientQuery = function (document) {\n if (hasDirectives(['client'], document)) {\n if (this.resolvers) {\n return document;\n }\n }\n return null;\n };\n LocalState.prototype.serverQuery = function (document) {\n return removeClientSetsFromDocument(document);\n };\n LocalState.prototype.prepareContext = function (context) {\n var cache = this.cache;\n return __assign(__assign({}, context), { cache: cache, getCacheKey: function (obj) {\n return cache.identify(obj);\n } });\n };\n LocalState.prototype.addExportedVariables = function (document, variables, context) {\n if (variables === void 0) { variables = {}; }\n if (context === void 0) { context = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (document) {\n return [2, this.resolveDocument(document, this.buildRootValueFromCache(document, variables) || {}, this.prepareContext(context), variables).then(function (data) { return (__assign(__assign({}, variables), data.exportedVariables)); })];\n }\n return [2, __assign({}, variables)];\n });\n });\n };\n LocalState.prototype.shouldForceResolvers = function (document) {\n var forceResolvers = false;\n visit(document, {\n Directive: {\n enter: function (node) {\n if (node.name.value === 'client' && node.arguments) {\n forceResolvers = node.arguments.some(function (arg) {\n return arg.name.value === 'always' &&\n arg.value.kind === 'BooleanValue' &&\n arg.value.value === true;\n });\n if (forceResolvers) {\n return BREAK;\n }\n }\n },\n },\n });\n return forceResolvers;\n };\n LocalState.prototype.buildRootValueFromCache = function (document, variables) {\n return this.cache.diff({\n query: buildQueryFromSelectionSet(document),\n variables: variables,\n returnPartialData: true,\n optimistic: false,\n }).result;\n };\n LocalState.prototype.resolveDocument = function (document, rootValue, context, variables, fragmentMatcher, onlyRunForcedResolvers) {\n if (context === void 0) { context = {}; }\n if (variables === void 0) { variables = {}; }\n if (fragmentMatcher === void 0) { fragmentMatcher = function () { return true; }; }\n if (onlyRunForcedResolvers === void 0) { onlyRunForcedResolvers = false; }\n return __awaiter(this, void 0, void 0, function () {\n var mainDefinition, fragments, fragmentMap, selectionsToResolve, definitionOperation, defaultOperationType, _a, cache, client, execContext, isClientFieldDescendant;\n return __generator(this, function (_b) {\n mainDefinition = getMainDefinition(document);\n fragments = getFragmentDefinitions(document);\n fragmentMap = createFragmentMap(fragments);\n selectionsToResolve = this.collectSelectionsToResolve(mainDefinition, fragmentMap);\n definitionOperation = mainDefinition.operation;\n defaultOperationType = definitionOperation\n ? definitionOperation.charAt(0).toUpperCase() +\n definitionOperation.slice(1)\n : 'Query';\n _a = this, cache = _a.cache, client = _a.client;\n execContext = {\n fragmentMap: fragmentMap,\n context: __assign(__assign({}, context), { cache: cache, client: client }),\n variables: variables,\n fragmentMatcher: fragmentMatcher,\n defaultOperationType: defaultOperationType,\n exportedVariables: {},\n selectionsToResolve: selectionsToResolve,\n onlyRunForcedResolvers: onlyRunForcedResolvers,\n };\n isClientFieldDescendant = false;\n return [2, this.resolveSelectionSet(mainDefinition.selectionSet, isClientFieldDescendant, rootValue, execContext).then(function (result) { return ({\n result: result,\n exportedVariables: execContext.exportedVariables,\n }); })];\n });\n });\n };\n LocalState.prototype.resolveSelectionSet = function (selectionSet, isClientFieldDescendant, rootValue, execContext) {\n return __awaiter(this, void 0, void 0, function () {\n var fragmentMap, context, variables, resultsToMerge, execute;\n var _this = this;\n return __generator(this, function (_a) {\n fragmentMap = execContext.fragmentMap, context = execContext.context, variables = execContext.variables;\n resultsToMerge = [rootValue];\n execute = function (selection) { return __awaiter(_this, void 0, void 0, function () {\n var fragment, typeCondition;\n return __generator(this, function (_a) {\n if (!isClientFieldDescendant && !execContext.selectionsToResolve.has(selection)) {\n return [2];\n }\n if (!shouldInclude(selection, variables)) {\n return [2];\n }\n if (isField(selection)) {\n return [2, this.resolveField(selection, isClientFieldDescendant, rootValue, execContext).then(function (fieldResult) {\n var _a;\n if (typeof fieldResult !== 'undefined') {\n resultsToMerge.push((_a = {},\n _a[resultKeyNameFromField(selection)] = fieldResult,\n _a));\n }\n })];\n }\n if (isInlineFragment(selection)) {\n fragment = selection;\n }\n else {\n fragment = fragmentMap[selection.name.value];\n invariant(fragment, 16, selection.name.value);\n }\n if (fragment && fragment.typeCondition) {\n typeCondition = fragment.typeCondition.name.value;\n if (execContext.fragmentMatcher(rootValue, typeCondition, context)) {\n return [2, this.resolveSelectionSet(fragment.selectionSet, isClientFieldDescendant, rootValue, execContext).then(function (fragmentResult) {\n resultsToMerge.push(fragmentResult);\n })];\n }\n }\n return [2];\n });\n }); };\n return [2, Promise.all(selectionSet.selections.map(execute)).then(function () {\n return mergeDeepArray(resultsToMerge);\n })];\n });\n });\n };\n LocalState.prototype.resolveField = function (field, isClientFieldDescendant, rootValue, execContext) {\n return __awaiter(this, void 0, void 0, function () {\n var variables, fieldName, aliasedFieldName, aliasUsed, defaultResult, resultPromise, resolverType, resolverMap, resolve;\n var _this = this;\n return __generator(this, function (_a) {\n if (!rootValue) {\n return [2, null];\n }\n variables = execContext.variables;\n fieldName = field.name.value;\n aliasedFieldName = resultKeyNameFromField(field);\n aliasUsed = fieldName !== aliasedFieldName;\n defaultResult = rootValue[aliasedFieldName] || rootValue[fieldName];\n resultPromise = Promise.resolve(defaultResult);\n if (!execContext.onlyRunForcedResolvers ||\n this.shouldForceResolvers(field)) {\n resolverType = rootValue.__typename || execContext.defaultOperationType;\n resolverMap = this.resolvers && this.resolvers[resolverType];\n if (resolverMap) {\n resolve = resolverMap[aliasUsed ? fieldName : aliasedFieldName];\n if (resolve) {\n resultPromise = Promise.resolve(cacheSlot.withValue(this.cache, resolve, [\n rootValue,\n argumentsObjectFromField(field, variables),\n execContext.context,\n { field: field, fragmentMap: execContext.fragmentMap },\n ]));\n }\n }\n }\n return [2, resultPromise.then(function (result) {\n var _a, _b;\n if (result === void 0) { result = defaultResult; }\n if (field.directives) {\n field.directives.forEach(function (directive) {\n if (directive.name.value === 'export' && directive.arguments) {\n directive.arguments.forEach(function (arg) {\n if (arg.name.value === 'as' && arg.value.kind === 'StringValue') {\n execContext.exportedVariables[arg.value.value] = result;\n }\n });\n }\n });\n }\n if (!field.selectionSet) {\n return result;\n }\n if (result == null) {\n return result;\n }\n var isClientField = (_b = (_a = field.directives) === null || _a === void 0 ? void 0 : _a.some(function (d) { return d.name.value === 'client'; })) !== null && _b !== void 0 ? _b : false;\n if (Array.isArray(result)) {\n return _this.resolveSubSelectedArray(field, isClientFieldDescendant || isClientField, result, execContext);\n }\n if (field.selectionSet) {\n return _this.resolveSelectionSet(field.selectionSet, isClientFieldDescendant || isClientField, result, execContext);\n }\n })];\n });\n });\n };\n LocalState.prototype.resolveSubSelectedArray = function (field, isClientFieldDescendant, result, execContext) {\n var _this = this;\n return Promise.all(result.map(function (item) {\n if (item === null) {\n return null;\n }\n if (Array.isArray(item)) {\n return _this.resolveSubSelectedArray(field, isClientFieldDescendant, item, execContext);\n }\n if (field.selectionSet) {\n return _this.resolveSelectionSet(field.selectionSet, isClientFieldDescendant, item, execContext);\n }\n }));\n };\n LocalState.prototype.collectSelectionsToResolve = function (mainDefinition, fragmentMap) {\n var isSingleASTNode = function (node) { return !Array.isArray(node); };\n var selectionsToResolveCache = this.selectionsToResolveCache;\n function collectByDefinition(definitionNode) {\n if (!selectionsToResolveCache.has(definitionNode)) {\n var matches_1 = new Set();\n selectionsToResolveCache.set(definitionNode, matches_1);\n visit(definitionNode, {\n Directive: function (node, _, __, ___, ancestors) {\n if (node.name.value === 'client') {\n ancestors.forEach(function (node) {\n if (isSingleASTNode(node) && isSelectionNode(node)) {\n matches_1.add(node);\n }\n });\n }\n },\n FragmentSpread: function (spread, _, __, ___, ancestors) {\n var fragment = fragmentMap[spread.name.value];\n invariant(fragment, 17, spread.name.value);\n var fragmentSelections = collectByDefinition(fragment);\n if (fragmentSelections.size > 0) {\n ancestors.forEach(function (node) {\n if (isSingleASTNode(node) && isSelectionNode(node)) {\n matches_1.add(node);\n }\n });\n matches_1.add(spread);\n fragmentSelections.forEach(function (selection) {\n matches_1.add(selection);\n });\n }\n }\n });\n }\n return selectionsToResolveCache.get(definitionNode);\n }\n return collectByDefinition(mainDefinition);\n };\n return LocalState;\n}());\nexport { LocalState };\n//# sourceMappingURL=LocalState.js.map","import { __assign } from \"tslib\";\nimport { equal } from \"@wry/equality\";\nimport { DeepMerger } from \"../utilities/index.js\";\nimport { mergeIncrementalData } from '../utilities/index.js';\nimport { reobserveCacheFirst } from './ObservableQuery.js';\nimport { isNonEmptyArray, graphQLResultHasError, canUseWeakMap, } from '../utilities/index.js';\nimport { NetworkStatus, isNetworkRequestInFlight, } from './networkStatus.js';\n;\nvar destructiveMethodCounts = new (canUseWeakMap ? WeakMap : Map)();\nfunction wrapDestructiveCacheMethod(cache, methodName) {\n var original = cache[methodName];\n if (typeof original === \"function\") {\n cache[methodName] = function () {\n destructiveMethodCounts.set(cache, (destructiveMethodCounts.get(cache) + 1) % 1e15);\n return original.apply(this, arguments);\n };\n }\n}\nfunction cancelNotifyTimeout(info) {\n if (info[\"notifyTimeout\"]) {\n clearTimeout(info[\"notifyTimeout\"]);\n info[\"notifyTimeout\"] = void 0;\n }\n}\nvar QueryInfo = (function () {\n function QueryInfo(queryManager, queryId) {\n if (queryId === void 0) { queryId = queryManager.generateQueryId(); }\n this.queryId = queryId;\n this.listeners = new Set();\n this.document = null;\n this.lastRequestId = 1;\n this.subscriptions = new Set();\n this.stopped = false;\n this.dirty = false;\n this.observableQuery = null;\n var cache = this.cache = queryManager.cache;\n if (!destructiveMethodCounts.has(cache)) {\n destructiveMethodCounts.set(cache, 0);\n wrapDestructiveCacheMethod(cache, \"evict\");\n wrapDestructiveCacheMethod(cache, \"modify\");\n wrapDestructiveCacheMethod(cache, \"reset\");\n }\n }\n QueryInfo.prototype.init = function (query) {\n var networkStatus = query.networkStatus || NetworkStatus.loading;\n if (this.variables &&\n this.networkStatus !== NetworkStatus.loading &&\n !equal(this.variables, query.variables)) {\n networkStatus = NetworkStatus.setVariables;\n }\n if (!equal(query.variables, this.variables)) {\n this.lastDiff = void 0;\n }\n Object.assign(this, {\n document: query.document,\n variables: query.variables,\n networkError: null,\n graphQLErrors: this.graphQLErrors || [],\n networkStatus: networkStatus,\n });\n if (query.observableQuery) {\n this.setObservableQuery(query.observableQuery);\n }\n if (query.lastRequestId) {\n this.lastRequestId = query.lastRequestId;\n }\n return this;\n };\n QueryInfo.prototype.reset = function () {\n cancelNotifyTimeout(this);\n this.dirty = false;\n };\n QueryInfo.prototype.getDiff = function (variables) {\n if (variables === void 0) { variables = this.variables; }\n var options = this.getDiffOptions(variables);\n if (this.lastDiff && equal(options, this.lastDiff.options)) {\n return this.lastDiff.diff;\n }\n this.updateWatch(this.variables = variables);\n var oq = this.observableQuery;\n if (oq && oq.options.fetchPolicy === \"no-cache\") {\n return { complete: false };\n }\n var diff = this.cache.diff(options);\n this.updateLastDiff(diff, options);\n return diff;\n };\n QueryInfo.prototype.updateLastDiff = function (diff, options) {\n this.lastDiff = diff ? {\n diff: diff,\n options: options || this.getDiffOptions(),\n } : void 0;\n };\n QueryInfo.prototype.getDiffOptions = function (variables) {\n var _a;\n if (variables === void 0) { variables = this.variables; }\n return {\n query: this.document,\n variables: variables,\n returnPartialData: true,\n optimistic: true,\n canonizeResults: (_a = this.observableQuery) === null || _a === void 0 ? void 0 : _a.options.canonizeResults,\n };\n };\n QueryInfo.prototype.setDiff = function (diff) {\n var _this = this;\n var oldDiff = this.lastDiff && this.lastDiff.diff;\n this.updateLastDiff(diff);\n if (!this.dirty &&\n !equal(oldDiff && oldDiff.result, diff && diff.result)) {\n this.dirty = true;\n if (!this.notifyTimeout) {\n this.notifyTimeout = setTimeout(function () { return _this.notify(); }, 0);\n }\n }\n };\n QueryInfo.prototype.setObservableQuery = function (oq) {\n var _this = this;\n if (oq === this.observableQuery)\n return;\n if (this.oqListener) {\n this.listeners.delete(this.oqListener);\n }\n this.observableQuery = oq;\n if (oq) {\n oq[\"queryInfo\"] = this;\n this.listeners.add(this.oqListener = function () {\n var diff = _this.getDiff();\n if (diff.fromOptimisticTransaction) {\n oq[\"observe\"]();\n }\n else {\n reobserveCacheFirst(oq);\n }\n });\n }\n else {\n delete this.oqListener;\n }\n };\n QueryInfo.prototype.notify = function () {\n var _this = this;\n cancelNotifyTimeout(this);\n if (this.shouldNotify()) {\n this.listeners.forEach(function (listener) { return listener(_this); });\n }\n this.dirty = false;\n };\n QueryInfo.prototype.shouldNotify = function () {\n if (!this.dirty || !this.listeners.size) {\n return false;\n }\n if (isNetworkRequestInFlight(this.networkStatus) &&\n this.observableQuery) {\n var fetchPolicy = this.observableQuery.options.fetchPolicy;\n if (fetchPolicy !== \"cache-only\" &&\n fetchPolicy !== \"cache-and-network\") {\n return false;\n }\n }\n return true;\n };\n QueryInfo.prototype.stop = function () {\n if (!this.stopped) {\n this.stopped = true;\n this.reset();\n this.cancel();\n this.cancel = QueryInfo.prototype.cancel;\n this.subscriptions.forEach(function (sub) { return sub.unsubscribe(); });\n var oq = this.observableQuery;\n if (oq)\n oq.stopPolling();\n }\n };\n QueryInfo.prototype.cancel = function () { };\n QueryInfo.prototype.updateWatch = function (variables) {\n var _this = this;\n if (variables === void 0) { variables = this.variables; }\n var oq = this.observableQuery;\n if (oq && oq.options.fetchPolicy === \"no-cache\") {\n return;\n }\n var watchOptions = __assign(__assign({}, this.getDiffOptions(variables)), { watcher: this, callback: function (diff) { return _this.setDiff(diff); } });\n if (!this.lastWatch ||\n !equal(watchOptions, this.lastWatch)) {\n this.cancel();\n this.cancel = this.cache.watch(this.lastWatch = watchOptions);\n }\n };\n QueryInfo.prototype.resetLastWrite = function () {\n this.lastWrite = void 0;\n };\n QueryInfo.prototype.shouldWrite = function (result, variables) {\n var lastWrite = this.lastWrite;\n return !(lastWrite &&\n lastWrite.dmCount === destructiveMethodCounts.get(this.cache) &&\n equal(variables, lastWrite.variables) &&\n equal(result.data, lastWrite.result.data));\n };\n QueryInfo.prototype.markResult = function (result, document, options, cacheWriteBehavior) {\n var _this = this;\n var merger = new DeepMerger();\n var graphQLErrors = isNonEmptyArray(result.errors)\n ? result.errors.slice(0)\n : [];\n this.reset();\n if ('incremental' in result && isNonEmptyArray(result.incremental)) {\n var mergedData = mergeIncrementalData(this.getDiff().result, result);\n result.data = mergedData;\n }\n else if ('hasNext' in result && result.hasNext) {\n var diff = this.getDiff();\n result.data = merger.merge(diff.result, result.data);\n }\n this.graphQLErrors = graphQLErrors;\n if (options.fetchPolicy === 'no-cache') {\n this.updateLastDiff({ result: result.data, complete: true }, this.getDiffOptions(options.variables));\n }\n else if (cacheWriteBehavior !== 0) {\n if (shouldWriteResult(result, options.errorPolicy)) {\n this.cache.performTransaction(function (cache) {\n if (_this.shouldWrite(result, options.variables)) {\n cache.writeQuery({\n query: document,\n data: result.data,\n variables: options.variables,\n overwrite: cacheWriteBehavior === 1,\n });\n _this.lastWrite = {\n result: result,\n variables: options.variables,\n dmCount: destructiveMethodCounts.get(_this.cache),\n };\n }\n else {\n if (_this.lastDiff &&\n _this.lastDiff.diff.complete) {\n result.data = _this.lastDiff.diff.result;\n return;\n }\n }\n var diffOptions = _this.getDiffOptions(options.variables);\n var diff = cache.diff(diffOptions);\n if (!_this.stopped) {\n _this.updateWatch(options.variables);\n }\n _this.updateLastDiff(diff, diffOptions);\n if (diff.complete) {\n result.data = diff.result;\n }\n });\n }\n else {\n this.lastWrite = void 0;\n }\n }\n };\n QueryInfo.prototype.markReady = function () {\n this.networkError = null;\n return this.networkStatus = NetworkStatus.ready;\n };\n QueryInfo.prototype.markError = function (error) {\n this.networkStatus = NetworkStatus.error;\n this.lastWrite = void 0;\n this.reset();\n if (error.graphQLErrors) {\n this.graphQLErrors = error.graphQLErrors;\n }\n if (error.networkError) {\n this.networkError = error.networkError;\n }\n return error;\n };\n return QueryInfo;\n}());\nexport { QueryInfo };\nexport function shouldWriteResult(result, errorPolicy) {\n if (errorPolicy === void 0) { errorPolicy = \"none\"; }\n var ignoreErrors = errorPolicy === \"ignore\" ||\n errorPolicy === \"all\";\n var writeWithErrors = !graphQLResultHasError(result);\n if (!writeWithErrors && ignoreErrors && result.data) {\n writeWithErrors = true;\n }\n return writeWithErrors;\n}\n//# sourceMappingURL=QueryInfo.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { invariant, newInvariantError } from '../utilities/globals/index.js';\nimport { equal } from '@wry/equality';\nimport { execute } from '../link/core/index.js';\nimport { hasDirectives, isExecutionPatchIncrementalResult, isExecutionPatchResult, removeDirectivesFromDocument, } from '../utilities/index.js';\nimport { canonicalStringify } from '../cache/index.js';\nimport { getDefaultValues, getOperationDefinition, getOperationName, hasClientExports, graphQLResultHasError, getGraphQLErrorsFromResult, canUseWeakMap, Observable, asyncMap, isNonEmptyArray, Concast, makeUniqueId, isDocumentNode, isNonNullObject, DocumentTransform, } from '../utilities/index.js';\nimport { mergeIncrementalData } from '../utilities/common/incrementalResult.js';\nimport { ApolloError, isApolloError, graphQLResultHasProtocolErrors } from '../errors/index.js';\nimport { ObservableQuery, logMissingFieldErrors } from './ObservableQuery.js';\nimport { NetworkStatus, isNetworkRequestInFlight } from './networkStatus.js';\nimport { LocalState } from './LocalState.js';\nimport { QueryInfo, shouldWriteResult, } from './QueryInfo.js';\nimport { PROTOCOL_ERRORS_SYMBOL } from '../errors/index.js';\nimport { print } from '../utilities/index.js';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar QueryManager = (function () {\n function QueryManager(_a) {\n var cache = _a.cache, link = _a.link, defaultOptions = _a.defaultOptions, documentTransform = _a.documentTransform, _b = _a.queryDeduplication, queryDeduplication = _b === void 0 ? false : _b, onBroadcast = _a.onBroadcast, _c = _a.ssrMode, ssrMode = _c === void 0 ? false : _c, _d = _a.clientAwareness, clientAwareness = _d === void 0 ? {} : _d, localState = _a.localState, _e = _a.assumeImmutableResults, assumeImmutableResults = _e === void 0 ? !!cache.assumeImmutableResults : _e;\n var _this = this;\n this.clientAwareness = {};\n this.queries = new Map();\n this.fetchCancelFns = new Map();\n this.transformCache = new (canUseWeakMap ? WeakMap : Map)();\n this.queryIdCounter = 1;\n this.requestIdCounter = 1;\n this.mutationIdCounter = 1;\n this.inFlightLinkObservables = new Map();\n var defaultDocumentTransform = new DocumentTransform(function (document) { return _this.cache.transformDocument(document); }, { cache: false });\n this.cache = cache;\n this.link = link;\n this.defaultOptions = defaultOptions || Object.create(null);\n this.queryDeduplication = queryDeduplication;\n this.clientAwareness = clientAwareness;\n this.localState = localState || new LocalState({ cache: cache });\n this.ssrMode = ssrMode;\n this.assumeImmutableResults = assumeImmutableResults;\n this.documentTransform = documentTransform\n ? defaultDocumentTransform\n .concat(documentTransform)\n .concat(defaultDocumentTransform)\n : defaultDocumentTransform;\n if ((this.onBroadcast = onBroadcast)) {\n this.mutationStore = Object.create(null);\n }\n }\n QueryManager.prototype.stop = function () {\n var _this = this;\n this.queries.forEach(function (_info, queryId) {\n _this.stopQueryNoBroadcast(queryId);\n });\n this.cancelPendingFetches(newInvariantError(23));\n };\n QueryManager.prototype.cancelPendingFetches = function (error) {\n this.fetchCancelFns.forEach(function (cancel) { return cancel(error); });\n this.fetchCancelFns.clear();\n };\n QueryManager.prototype.mutate = function (_a) {\n var _b, _c;\n var mutation = _a.mutation, variables = _a.variables, optimisticResponse = _a.optimisticResponse, updateQueries = _a.updateQueries, _d = _a.refetchQueries, refetchQueries = _d === void 0 ? [] : _d, _e = _a.awaitRefetchQueries, awaitRefetchQueries = _e === void 0 ? false : _e, updateWithProxyFn = _a.update, onQueryUpdated = _a.onQueryUpdated, _f = _a.fetchPolicy, fetchPolicy = _f === void 0 ? ((_b = this.defaultOptions.mutate) === null || _b === void 0 ? void 0 : _b.fetchPolicy) || \"network-only\" : _f, _g = _a.errorPolicy, errorPolicy = _g === void 0 ? ((_c = this.defaultOptions.mutate) === null || _c === void 0 ? void 0 : _c.errorPolicy) || \"none\" : _g, keepRootFields = _a.keepRootFields, context = _a.context;\n return __awaiter(this, void 0, void 0, function () {\n var mutationId, hasClientExports, mutationStoreValue, self;\n return __generator(this, function (_h) {\n switch (_h.label) {\n case 0:\n invariant(mutation, 24);\n invariant(fetchPolicy === 'network-only' ||\n fetchPolicy === 'no-cache', 25);\n mutationId = this.generateMutationId();\n mutation = this.cache.transformForLink(this.transform(mutation));\n hasClientExports = this.getDocumentInfo(mutation).hasClientExports;\n variables = this.getVariables(mutation, variables);\n if (!hasClientExports) return [3, 2];\n return [4, this.localState.addExportedVariables(mutation, variables, context)];\n case 1:\n variables = (_h.sent());\n _h.label = 2;\n case 2:\n mutationStoreValue = this.mutationStore &&\n (this.mutationStore[mutationId] = {\n mutation: mutation,\n variables: variables,\n loading: true,\n error: null,\n });\n if (optimisticResponse) {\n this.markMutationOptimistic(optimisticResponse, {\n mutationId: mutationId,\n document: mutation,\n variables: variables,\n fetchPolicy: fetchPolicy,\n errorPolicy: errorPolicy,\n context: context,\n updateQueries: updateQueries,\n update: updateWithProxyFn,\n keepRootFields: keepRootFields,\n });\n }\n this.broadcastQueries();\n self = this;\n return [2, new Promise(function (resolve, reject) {\n return asyncMap(self.getObservableFromLink(mutation, __assign(__assign({}, context), { optimisticResponse: optimisticResponse }), variables, false), function (result) {\n if (graphQLResultHasError(result) && errorPolicy === 'none') {\n throw new ApolloError({\n graphQLErrors: getGraphQLErrorsFromResult(result),\n });\n }\n if (mutationStoreValue) {\n mutationStoreValue.loading = false;\n mutationStoreValue.error = null;\n }\n var storeResult = __assign({}, result);\n if (typeof refetchQueries === \"function\") {\n refetchQueries = refetchQueries(storeResult);\n }\n if (errorPolicy === 'ignore' &&\n graphQLResultHasError(storeResult)) {\n delete storeResult.errors;\n }\n return self.markMutationResult({\n mutationId: mutationId,\n result: storeResult,\n document: mutation,\n variables: variables,\n fetchPolicy: fetchPolicy,\n errorPolicy: errorPolicy,\n context: context,\n update: updateWithProxyFn,\n updateQueries: updateQueries,\n awaitRefetchQueries: awaitRefetchQueries,\n refetchQueries: refetchQueries,\n removeOptimistic: optimisticResponse ? mutationId : void 0,\n onQueryUpdated: onQueryUpdated,\n keepRootFields: keepRootFields,\n });\n }).subscribe({\n next: function (storeResult) {\n self.broadcastQueries();\n if (!('hasNext' in storeResult) || storeResult.hasNext === false) {\n resolve(storeResult);\n }\n },\n error: function (err) {\n if (mutationStoreValue) {\n mutationStoreValue.loading = false;\n mutationStoreValue.error = err;\n }\n if (optimisticResponse) {\n self.cache.removeOptimistic(mutationId);\n }\n self.broadcastQueries();\n reject(err instanceof ApolloError ? err : new ApolloError({\n networkError: err,\n }));\n },\n });\n })];\n }\n });\n });\n };\n QueryManager.prototype.markMutationResult = function (mutation, cache) {\n var _this = this;\n if (cache === void 0) { cache = this.cache; }\n var result = mutation.result;\n var cacheWrites = [];\n var skipCache = mutation.fetchPolicy === \"no-cache\";\n if (!skipCache && shouldWriteResult(result, mutation.errorPolicy)) {\n if (!isExecutionPatchIncrementalResult(result)) {\n cacheWrites.push({\n result: result.data,\n dataId: 'ROOT_MUTATION',\n query: mutation.document,\n variables: mutation.variables,\n });\n }\n if (isExecutionPatchIncrementalResult(result) && isNonEmptyArray(result.incremental)) {\n var diff = cache.diff({\n id: \"ROOT_MUTATION\",\n query: this.getDocumentInfo(mutation.document).asQuery,\n variables: mutation.variables,\n optimistic: false,\n returnPartialData: true,\n });\n var mergedData = void 0;\n if (diff.result) {\n mergedData = mergeIncrementalData(diff.result, result);\n }\n if (typeof mergedData !== 'undefined') {\n result.data = mergedData;\n cacheWrites.push({\n result: mergedData,\n dataId: 'ROOT_MUTATION',\n query: mutation.document,\n variables: mutation.variables,\n });\n }\n }\n var updateQueries_1 = mutation.updateQueries;\n if (updateQueries_1) {\n this.queries.forEach(function (_a, queryId) {\n var observableQuery = _a.observableQuery;\n var queryName = observableQuery && observableQuery.queryName;\n if (!queryName || !hasOwnProperty.call(updateQueries_1, queryName)) {\n return;\n }\n var updater = updateQueries_1[queryName];\n var _b = _this.queries.get(queryId), document = _b.document, variables = _b.variables;\n var _c = cache.diff({\n query: document,\n variables: variables,\n returnPartialData: true,\n optimistic: false,\n }), currentQueryResult = _c.result, complete = _c.complete;\n if (complete && currentQueryResult) {\n var nextQueryResult = updater(currentQueryResult, {\n mutationResult: result,\n queryName: document && getOperationName(document) || void 0,\n queryVariables: variables,\n });\n if (nextQueryResult) {\n cacheWrites.push({\n result: nextQueryResult,\n dataId: 'ROOT_QUERY',\n query: document,\n variables: variables,\n });\n }\n }\n });\n }\n }\n if (cacheWrites.length > 0 ||\n mutation.refetchQueries ||\n mutation.update ||\n mutation.onQueryUpdated ||\n mutation.removeOptimistic) {\n var results_1 = [];\n this.refetchQueries({\n updateCache: function (cache) {\n if (!skipCache) {\n cacheWrites.forEach(function (write) { return cache.write(write); });\n }\n var update = mutation.update;\n var isFinalResult = !isExecutionPatchResult(result) ||\n (isExecutionPatchIncrementalResult(result) && !result.hasNext);\n if (update) {\n if (!skipCache) {\n var diff = cache.diff({\n id: \"ROOT_MUTATION\",\n query: _this.getDocumentInfo(mutation.document).asQuery,\n variables: mutation.variables,\n optimistic: false,\n returnPartialData: true,\n });\n if (diff.complete) {\n result = __assign(__assign({}, result), { data: diff.result });\n if ('incremental' in result) {\n delete result.incremental;\n }\n if ('hasNext' in result) {\n delete result.hasNext;\n }\n }\n }\n if (isFinalResult) {\n update(cache, result, {\n context: mutation.context,\n variables: mutation.variables,\n });\n }\n }\n if (!skipCache && !mutation.keepRootFields && isFinalResult) {\n cache.modify({\n id: 'ROOT_MUTATION',\n fields: function (value, _a) {\n var fieldName = _a.fieldName, DELETE = _a.DELETE;\n return fieldName === \"__typename\" ? value : DELETE;\n },\n });\n }\n },\n include: mutation.refetchQueries,\n optimistic: false,\n removeOptimistic: mutation.removeOptimistic,\n onQueryUpdated: mutation.onQueryUpdated || null,\n }).forEach(function (result) { return results_1.push(result); });\n if (mutation.awaitRefetchQueries || mutation.onQueryUpdated) {\n return Promise.all(results_1).then(function () { return result; });\n }\n }\n return Promise.resolve(result);\n };\n QueryManager.prototype.markMutationOptimistic = function (optimisticResponse, mutation) {\n var _this = this;\n var data = typeof optimisticResponse === \"function\"\n ? optimisticResponse(mutation.variables)\n : optimisticResponse;\n return this.cache.recordOptimisticTransaction(function (cache) {\n try {\n _this.markMutationResult(__assign(__assign({}, mutation), { result: { data: data } }), cache);\n }\n catch (error) {\n globalThis.__DEV__ !== false && invariant.error(error);\n }\n }, mutation.mutationId);\n };\n QueryManager.prototype.fetchQuery = function (queryId, options, networkStatus) {\n return this.fetchConcastWithInfo(queryId, options, networkStatus).concast.promise;\n };\n QueryManager.prototype.getQueryStore = function () {\n var store = Object.create(null);\n this.queries.forEach(function (info, queryId) {\n store[queryId] = {\n variables: info.variables,\n networkStatus: info.networkStatus,\n networkError: info.networkError,\n graphQLErrors: info.graphQLErrors,\n };\n });\n return store;\n };\n QueryManager.prototype.resetErrors = function (queryId) {\n var queryInfo = this.queries.get(queryId);\n if (queryInfo) {\n queryInfo.networkError = undefined;\n queryInfo.graphQLErrors = [];\n }\n };\n QueryManager.prototype.transform = function (document) {\n return this.documentTransform.transformDocument(document);\n };\n QueryManager.prototype.getDocumentInfo = function (document) {\n var transformCache = this.transformCache;\n if (!transformCache.has(document)) {\n var cacheEntry = {\n hasClientExports: hasClientExports(document),\n hasForcedResolvers: this.localState.shouldForceResolvers(document),\n hasNonreactiveDirective: hasDirectives(['nonreactive'], document),\n clientQuery: this.localState.clientQuery(document),\n serverQuery: removeDirectivesFromDocument([\n { name: 'client', remove: true },\n { name: 'connection' },\n { name: 'nonreactive' },\n ], document),\n defaultVars: getDefaultValues(getOperationDefinition(document)),\n asQuery: __assign(__assign({}, document), { definitions: document.definitions.map(function (def) {\n if (def.kind === \"OperationDefinition\" &&\n def.operation !== \"query\") {\n return __assign(__assign({}, def), { operation: \"query\" });\n }\n return def;\n }) })\n };\n transformCache.set(document, cacheEntry);\n }\n return transformCache.get(document);\n };\n QueryManager.prototype.getVariables = function (document, variables) {\n return __assign(__assign({}, this.getDocumentInfo(document).defaultVars), variables);\n };\n QueryManager.prototype.watchQuery = function (options) {\n var query = this.transform(options.query);\n options = __assign(__assign({}, options), { variables: this.getVariables(query, options.variables) });\n if (typeof options.notifyOnNetworkStatusChange === 'undefined') {\n options.notifyOnNetworkStatusChange = false;\n }\n var queryInfo = new QueryInfo(this);\n var observable = new ObservableQuery({\n queryManager: this,\n queryInfo: queryInfo,\n options: options,\n });\n observable['lastQuery'] = query;\n this.queries.set(observable.queryId, queryInfo);\n queryInfo.init({\n document: query,\n observableQuery: observable,\n variables: observable.variables,\n });\n return observable;\n };\n QueryManager.prototype.query = function (options, queryId) {\n var _this = this;\n if (queryId === void 0) { queryId = this.generateQueryId(); }\n invariant(options.query, 26);\n invariant(options.query.kind === 'Document', 27);\n invariant(!options.returnPartialData, 28);\n invariant(!options.pollInterval, 29);\n return this.fetchQuery(queryId, __assign(__assign({}, options), { query: this.transform(options.query) })).finally(function () { return _this.stopQuery(queryId); });\n };\n QueryManager.prototype.generateQueryId = function () {\n return String(this.queryIdCounter++);\n };\n QueryManager.prototype.generateRequestId = function () {\n return this.requestIdCounter++;\n };\n QueryManager.prototype.generateMutationId = function () {\n return String(this.mutationIdCounter++);\n };\n QueryManager.prototype.stopQueryInStore = function (queryId) {\n this.stopQueryInStoreNoBroadcast(queryId);\n this.broadcastQueries();\n };\n QueryManager.prototype.stopQueryInStoreNoBroadcast = function (queryId) {\n var queryInfo = this.queries.get(queryId);\n if (queryInfo)\n queryInfo.stop();\n };\n QueryManager.prototype.clearStore = function (options) {\n if (options === void 0) { options = {\n discardWatches: true,\n }; }\n this.cancelPendingFetches(newInvariantError(30));\n this.queries.forEach(function (queryInfo) {\n if (queryInfo.observableQuery) {\n queryInfo.networkStatus = NetworkStatus.loading;\n }\n else {\n queryInfo.stop();\n }\n });\n if (this.mutationStore) {\n this.mutationStore = Object.create(null);\n }\n return this.cache.reset(options);\n };\n QueryManager.prototype.getObservableQueries = function (include) {\n var _this = this;\n if (include === void 0) { include = \"active\"; }\n var queries = new Map();\n var queryNamesAndDocs = new Map();\n var legacyQueryOptions = new Set();\n if (Array.isArray(include)) {\n include.forEach(function (desc) {\n if (typeof desc === \"string\") {\n queryNamesAndDocs.set(desc, false);\n }\n else if (isDocumentNode(desc)) {\n queryNamesAndDocs.set(_this.transform(desc), false);\n }\n else if (isNonNullObject(desc) && desc.query) {\n legacyQueryOptions.add(desc);\n }\n });\n }\n this.queries.forEach(function (_a, queryId) {\n var oq = _a.observableQuery, document = _a.document;\n if (oq) {\n if (include === \"all\") {\n queries.set(queryId, oq);\n return;\n }\n var queryName = oq.queryName, fetchPolicy = oq.options.fetchPolicy;\n if (fetchPolicy === \"standby\" ||\n (include === \"active\" && !oq.hasObservers())) {\n return;\n }\n if (include === \"active\" ||\n (queryName && queryNamesAndDocs.has(queryName)) ||\n (document && queryNamesAndDocs.has(document))) {\n queries.set(queryId, oq);\n if (queryName)\n queryNamesAndDocs.set(queryName, true);\n if (document)\n queryNamesAndDocs.set(document, true);\n }\n }\n });\n if (legacyQueryOptions.size) {\n legacyQueryOptions.forEach(function (options) {\n var queryId = makeUniqueId(\"legacyOneTimeQuery\");\n var queryInfo = _this.getQuery(queryId).init({\n document: options.query,\n variables: options.variables,\n });\n var oq = new ObservableQuery({\n queryManager: _this,\n queryInfo: queryInfo,\n options: __assign(__assign({}, options), { fetchPolicy: \"network-only\" }),\n });\n invariant(oq.queryId === queryId);\n queryInfo.setObservableQuery(oq);\n queries.set(queryId, oq);\n });\n }\n if (globalThis.__DEV__ !== false && queryNamesAndDocs.size) {\n queryNamesAndDocs.forEach(function (included, nameOrDoc) {\n if (!included) {\n globalThis.__DEV__ !== false && invariant.warn(typeof nameOrDoc === \"string\" ? 31 : 32, nameOrDoc);\n }\n });\n }\n return queries;\n };\n QueryManager.prototype.reFetchObservableQueries = function (includeStandby) {\n var _this = this;\n if (includeStandby === void 0) { includeStandby = false; }\n var observableQueryPromises = [];\n this.getObservableQueries(includeStandby ? \"all\" : \"active\").forEach(function (observableQuery, queryId) {\n var fetchPolicy = observableQuery.options.fetchPolicy;\n observableQuery.resetLastResults();\n if (includeStandby ||\n (fetchPolicy !== \"standby\" &&\n fetchPolicy !== \"cache-only\")) {\n observableQueryPromises.push(observableQuery.refetch());\n }\n _this.getQuery(queryId).setDiff(null);\n });\n this.broadcastQueries();\n return Promise.all(observableQueryPromises);\n };\n QueryManager.prototype.setObservableQuery = function (observableQuery) {\n this.getQuery(observableQuery.queryId).setObservableQuery(observableQuery);\n };\n QueryManager.prototype.startGraphQLSubscription = function (_a) {\n var _this = this;\n var query = _a.query, fetchPolicy = _a.fetchPolicy, errorPolicy = _a.errorPolicy, variables = _a.variables, _b = _a.context, context = _b === void 0 ? {} : _b;\n query = this.transform(query);\n variables = this.getVariables(query, variables);\n var makeObservable = function (variables) {\n return _this.getObservableFromLink(query, context, variables).map(function (result) {\n if (fetchPolicy !== 'no-cache') {\n if (shouldWriteResult(result, errorPolicy)) {\n _this.cache.write({\n query: query,\n result: result.data,\n dataId: 'ROOT_SUBSCRIPTION',\n variables: variables,\n });\n }\n _this.broadcastQueries();\n }\n var hasErrors = graphQLResultHasError(result);\n var hasProtocolErrors = graphQLResultHasProtocolErrors(result);\n if (hasErrors || hasProtocolErrors) {\n var errors = {};\n if (hasErrors) {\n errors.graphQLErrors = result.errors;\n }\n if (hasProtocolErrors) {\n errors.protocolErrors = result.extensions[PROTOCOL_ERRORS_SYMBOL];\n }\n throw new ApolloError(errors);\n }\n return result;\n });\n };\n if (this.getDocumentInfo(query).hasClientExports) {\n var observablePromise_1 = this.localState.addExportedVariables(query, variables, context).then(makeObservable);\n return new Observable(function (observer) {\n var sub = null;\n observablePromise_1.then(function (observable) { return sub = observable.subscribe(observer); }, observer.error);\n return function () { return sub && sub.unsubscribe(); };\n });\n }\n return makeObservable(variables);\n };\n QueryManager.prototype.stopQuery = function (queryId) {\n this.stopQueryNoBroadcast(queryId);\n this.broadcastQueries();\n };\n QueryManager.prototype.stopQueryNoBroadcast = function (queryId) {\n this.stopQueryInStoreNoBroadcast(queryId);\n this.removeQuery(queryId);\n };\n QueryManager.prototype.removeQuery = function (queryId) {\n this.fetchCancelFns.delete(queryId);\n if (this.queries.has(queryId)) {\n this.getQuery(queryId).stop();\n this.queries.delete(queryId);\n }\n };\n QueryManager.prototype.broadcastQueries = function () {\n if (this.onBroadcast)\n this.onBroadcast();\n this.queries.forEach(function (info) { return info.notify(); });\n };\n QueryManager.prototype.getLocalState = function () {\n return this.localState;\n };\n QueryManager.prototype.getObservableFromLink = function (query, context, variables, deduplication) {\n var _this = this;\n var _a;\n if (deduplication === void 0) { deduplication = (_a = context === null || context === void 0 ? void 0 : context.queryDeduplication) !== null && _a !== void 0 ? _a : this.queryDeduplication; }\n var observable;\n var _b = this.getDocumentInfo(query), serverQuery = _b.serverQuery, clientQuery = _b.clientQuery;\n if (serverQuery) {\n var _c = this, inFlightLinkObservables_1 = _c.inFlightLinkObservables, link = _c.link;\n var operation = {\n query: serverQuery,\n variables: variables,\n operationName: getOperationName(serverQuery) || void 0,\n context: this.prepareContext(__assign(__assign({}, context), { forceFetch: !deduplication })),\n };\n context = operation.context;\n if (deduplication) {\n var printedServerQuery_1 = print(serverQuery);\n var byVariables_1 = inFlightLinkObservables_1.get(printedServerQuery_1) || new Map();\n inFlightLinkObservables_1.set(printedServerQuery_1, byVariables_1);\n var varJson_1 = canonicalStringify(variables);\n observable = byVariables_1.get(varJson_1);\n if (!observable) {\n var concast = new Concast([\n execute(link, operation)\n ]);\n byVariables_1.set(varJson_1, observable = concast);\n concast.beforeNext(function () {\n if (byVariables_1.delete(varJson_1) &&\n byVariables_1.size < 1) {\n inFlightLinkObservables_1.delete(printedServerQuery_1);\n }\n });\n }\n }\n else {\n observable = new Concast([\n execute(link, operation)\n ]);\n }\n }\n else {\n observable = new Concast([\n Observable.of({ data: {} })\n ]);\n context = this.prepareContext(context);\n }\n if (clientQuery) {\n observable = asyncMap(observable, function (result) {\n return _this.localState.runResolvers({\n document: clientQuery,\n remoteResult: result,\n context: context,\n variables: variables,\n });\n });\n }\n return observable;\n };\n QueryManager.prototype.getResultsFromLink = function (queryInfo, cacheWriteBehavior, options) {\n var requestId = queryInfo.lastRequestId = this.generateRequestId();\n var linkDocument = this.cache.transformForLink(options.query);\n return asyncMap(this.getObservableFromLink(linkDocument, options.context, options.variables), function (result) {\n var graphQLErrors = getGraphQLErrorsFromResult(result);\n var hasErrors = graphQLErrors.length > 0;\n if (requestId >= queryInfo.lastRequestId) {\n if (hasErrors && options.errorPolicy === \"none\") {\n throw queryInfo.markError(new ApolloError({\n graphQLErrors: graphQLErrors,\n }));\n }\n queryInfo.markResult(result, linkDocument, options, cacheWriteBehavior);\n queryInfo.markReady();\n }\n var aqr = {\n data: result.data,\n loading: false,\n networkStatus: NetworkStatus.ready,\n };\n if (hasErrors && options.errorPolicy !== \"ignore\") {\n aqr.errors = graphQLErrors;\n aqr.networkStatus = NetworkStatus.error;\n }\n return aqr;\n }, function (networkError) {\n var error = isApolloError(networkError)\n ? networkError\n : new ApolloError({ networkError: networkError });\n if (requestId >= queryInfo.lastRequestId) {\n queryInfo.markError(error);\n }\n throw error;\n });\n };\n QueryManager.prototype.fetchConcastWithInfo = function (queryId, options, networkStatus) {\n var _this = this;\n if (networkStatus === void 0) { networkStatus = NetworkStatus.loading; }\n var query = options.query;\n var variables = this.getVariables(query, options.variables);\n var queryInfo = this.getQuery(queryId);\n var defaults = this.defaultOptions.watchQuery;\n var _a = options.fetchPolicy, fetchPolicy = _a === void 0 ? defaults && defaults.fetchPolicy || \"cache-first\" : _a, _b = options.errorPolicy, errorPolicy = _b === void 0 ? defaults && defaults.errorPolicy || \"none\" : _b, _c = options.returnPartialData, returnPartialData = _c === void 0 ? false : _c, _d = options.notifyOnNetworkStatusChange, notifyOnNetworkStatusChange = _d === void 0 ? false : _d, _e = options.context, context = _e === void 0 ? {} : _e;\n var normalized = Object.assign({}, options, {\n query: query,\n variables: variables,\n fetchPolicy: fetchPolicy,\n errorPolicy: errorPolicy,\n returnPartialData: returnPartialData,\n notifyOnNetworkStatusChange: notifyOnNetworkStatusChange,\n context: context,\n });\n var fromVariables = function (variables) {\n normalized.variables = variables;\n var sourcesWithInfo = _this.fetchQueryByPolicy(queryInfo, normalized, networkStatus);\n if (normalized.fetchPolicy !== \"standby\" &&\n sourcesWithInfo.sources.length > 0 &&\n queryInfo.observableQuery) {\n queryInfo.observableQuery[\"applyNextFetchPolicy\"](\"after-fetch\", options);\n }\n return sourcesWithInfo;\n };\n var cleanupCancelFn = function () { return _this.fetchCancelFns.delete(queryId); };\n this.fetchCancelFns.set(queryId, function (reason) {\n cleanupCancelFn();\n setTimeout(function () { return concast.cancel(reason); });\n });\n var concast, containsDataFromLink;\n if (this.getDocumentInfo(normalized.query).hasClientExports) {\n concast = new Concast(this.localState\n .addExportedVariables(normalized.query, normalized.variables, normalized.context)\n .then(fromVariables).then(function (sourcesWithInfo) { return sourcesWithInfo.sources; }));\n containsDataFromLink = true;\n }\n else {\n var sourcesWithInfo = fromVariables(normalized.variables);\n containsDataFromLink = sourcesWithInfo.fromLink;\n concast = new Concast(sourcesWithInfo.sources);\n }\n concast.promise.then(cleanupCancelFn, cleanupCancelFn);\n return {\n concast: concast,\n fromLink: containsDataFromLink,\n };\n };\n QueryManager.prototype.refetchQueries = function (_a) {\n var _this = this;\n var updateCache = _a.updateCache, include = _a.include, _b = _a.optimistic, optimistic = _b === void 0 ? false : _b, _c = _a.removeOptimistic, removeOptimistic = _c === void 0 ? optimistic ? makeUniqueId(\"refetchQueries\") : void 0 : _c, onQueryUpdated = _a.onQueryUpdated;\n var includedQueriesById = new Map();\n if (include) {\n this.getObservableQueries(include).forEach(function (oq, queryId) {\n includedQueriesById.set(queryId, {\n oq: oq,\n lastDiff: _this.getQuery(queryId).getDiff(),\n });\n });\n }\n var results = new Map;\n if (updateCache) {\n this.cache.batch({\n update: updateCache,\n optimistic: optimistic && removeOptimistic || false,\n removeOptimistic: removeOptimistic,\n onWatchUpdated: function (watch, diff, lastDiff) {\n var oq = watch.watcher instanceof QueryInfo &&\n watch.watcher.observableQuery;\n if (oq) {\n if (onQueryUpdated) {\n includedQueriesById.delete(oq.queryId);\n var result = onQueryUpdated(oq, diff, lastDiff);\n if (result === true) {\n result = oq.refetch();\n }\n if (result !== false) {\n results.set(oq, result);\n }\n return result;\n }\n if (onQueryUpdated !== null) {\n includedQueriesById.set(oq.queryId, { oq: oq, lastDiff: lastDiff, diff: diff });\n }\n }\n },\n });\n }\n if (includedQueriesById.size) {\n includedQueriesById.forEach(function (_a, queryId) {\n var oq = _a.oq, lastDiff = _a.lastDiff, diff = _a.diff;\n var result;\n if (onQueryUpdated) {\n if (!diff) {\n var info = oq[\"queryInfo\"];\n info.reset();\n diff = info.getDiff();\n }\n result = onQueryUpdated(oq, diff, lastDiff);\n }\n if (!onQueryUpdated || result === true) {\n result = oq.refetch();\n }\n if (result !== false) {\n results.set(oq, result);\n }\n if (queryId.indexOf(\"legacyOneTimeQuery\") >= 0) {\n _this.stopQueryNoBroadcast(queryId);\n }\n });\n }\n if (removeOptimistic) {\n this.cache.removeOptimistic(removeOptimistic);\n }\n return results;\n };\n QueryManager.prototype.fetchQueryByPolicy = function (queryInfo, _a, networkStatus) {\n var _this = this;\n var query = _a.query, variables = _a.variables, fetchPolicy = _a.fetchPolicy, refetchWritePolicy = _a.refetchWritePolicy, errorPolicy = _a.errorPolicy, returnPartialData = _a.returnPartialData, context = _a.context, notifyOnNetworkStatusChange = _a.notifyOnNetworkStatusChange;\n var oldNetworkStatus = queryInfo.networkStatus;\n queryInfo.init({\n document: query,\n variables: variables,\n networkStatus: networkStatus,\n });\n var readCache = function () { return queryInfo.getDiff(variables); };\n var resultsFromCache = function (diff, networkStatus) {\n if (networkStatus === void 0) { networkStatus = queryInfo.networkStatus || NetworkStatus.loading; }\n var data = diff.result;\n if (globalThis.__DEV__ !== false &&\n !returnPartialData &&\n !equal(data, {})) {\n logMissingFieldErrors(diff.missing);\n }\n var fromData = function (data) { return Observable.of(__assign({ data: data, loading: isNetworkRequestInFlight(networkStatus), networkStatus: networkStatus }, (diff.complete ? null : { partial: true }))); };\n if (data && _this.getDocumentInfo(query).hasForcedResolvers) {\n return _this.localState.runResolvers({\n document: query,\n remoteResult: { data: data },\n context: context,\n variables: variables,\n onlyRunForcedResolvers: true,\n }).then(function (resolved) { return fromData(resolved.data || void 0); });\n }\n if (errorPolicy === 'none' &&\n networkStatus === NetworkStatus.refetch &&\n Array.isArray(diff.missing)) {\n return fromData(void 0);\n }\n return fromData(data);\n };\n var cacheWriteBehavior = fetchPolicy === \"no-cache\" ? 0 :\n (networkStatus === NetworkStatus.refetch &&\n refetchWritePolicy !== \"merge\") ? 1\n : 2;\n var resultsFromLink = function () { return _this.getResultsFromLink(queryInfo, cacheWriteBehavior, {\n query: query,\n variables: variables,\n context: context,\n fetchPolicy: fetchPolicy,\n errorPolicy: errorPolicy,\n }); };\n var shouldNotify = notifyOnNetworkStatusChange &&\n typeof oldNetworkStatus === \"number\" &&\n oldNetworkStatus !== networkStatus &&\n isNetworkRequestInFlight(networkStatus);\n switch (fetchPolicy) {\n default:\n case \"cache-first\": {\n var diff = readCache();\n if (diff.complete) {\n return { fromLink: false, sources: [resultsFromCache(diff, queryInfo.markReady())] };\n }\n if (returnPartialData || shouldNotify) {\n return { fromLink: true, sources: [resultsFromCache(diff), resultsFromLink()] };\n }\n return { fromLink: true, sources: [resultsFromLink()] };\n }\n case \"cache-and-network\": {\n var diff = readCache();\n if (diff.complete || returnPartialData || shouldNotify) {\n return { fromLink: true, sources: [resultsFromCache(diff), resultsFromLink()] };\n }\n return { fromLink: true, sources: [resultsFromLink()] };\n }\n case \"cache-only\":\n return { fromLink: false, sources: [resultsFromCache(readCache(), queryInfo.markReady())] };\n case \"network-only\":\n if (shouldNotify) {\n return { fromLink: true, sources: [resultsFromCache(readCache()), resultsFromLink()] };\n }\n return { fromLink: true, sources: [resultsFromLink()] };\n case \"no-cache\":\n if (shouldNotify) {\n return {\n fromLink: true,\n sources: [\n resultsFromCache(queryInfo.getDiff()),\n resultsFromLink(),\n ],\n };\n }\n return { fromLink: true, sources: [resultsFromLink()] };\n case \"standby\":\n return { fromLink: false, sources: [] };\n }\n };\n QueryManager.prototype.getQuery = function (queryId) {\n if (queryId && !this.queries.has(queryId)) {\n this.queries.set(queryId, new QueryInfo(this, queryId));\n }\n return this.queries.get(queryId);\n };\n QueryManager.prototype.prepareContext = function (context) {\n if (context === void 0) { context = {}; }\n var newContext = this.localState.prepareContext(context);\n return __assign(__assign({}, newContext), { clientAwareness: this.clientAwareness });\n };\n return QueryManager;\n}());\nexport { QueryManager };\n//# sourceMappingURL=QueryManager.js.map","import { __assign } from \"tslib\";\nimport { compact } from \"./compact.js\";\nexport function mergeOptions(defaults, options) {\n return compact(defaults, options, options.variables && {\n variables: compact(__assign(__assign({}, (defaults && defaults.variables)), options.variables)),\n });\n}\n//# sourceMappingURL=mergeOptions.js.map","import { __assign } from \"tslib\";\nimport { invariant, newInvariantError } from '../utilities/globals/index.js';\nimport { ApolloLink, execute } from '../link/core/index.js';\nimport { version } from '../version.js';\nimport { HttpLink } from '../link/http/index.js';\nimport { QueryManager } from './QueryManager.js';\nimport { LocalState } from './LocalState.js';\nvar hasSuggestedDevtools = false;\nimport { mergeOptions } from \"../utilities/index.js\";\nexport { mergeOptions };\nvar ApolloClient = (function () {\n function ApolloClient(options) {\n var _this = this;\n this.resetStoreCallbacks = [];\n this.clearStoreCallbacks = [];\n if (!options.cache) {\n throw newInvariantError(13);\n }\n var uri = options.uri, credentials = options.credentials, headers = options.headers, cache = options.cache, documentTransform = options.documentTransform, _a = options.ssrMode, ssrMode = _a === void 0 ? false : _a, _b = options.ssrForceFetchDelay, ssrForceFetchDelay = _b === void 0 ? 0 : _b, _c = options.connectToDevTools, connectToDevTools = _c === void 0 ? typeof window === 'object' &&\n !window.__APOLLO_CLIENT__ &&\n globalThis.__DEV__ !== false : _c, _d = options.queryDeduplication, queryDeduplication = _d === void 0 ? true : _d, defaultOptions = options.defaultOptions, _e = options.assumeImmutableResults, assumeImmutableResults = _e === void 0 ? cache.assumeImmutableResults : _e, resolvers = options.resolvers, typeDefs = options.typeDefs, fragmentMatcher = options.fragmentMatcher, clientAwarenessName = options.name, clientAwarenessVersion = options.version;\n var link = options.link;\n if (!link) {\n link = uri\n ? new HttpLink({ uri: uri, credentials: credentials, headers: headers })\n : ApolloLink.empty();\n }\n this.link = link;\n this.cache = cache;\n this.disableNetworkFetches = ssrMode || ssrForceFetchDelay > 0;\n this.queryDeduplication = queryDeduplication;\n this.defaultOptions = defaultOptions || Object.create(null);\n this.typeDefs = typeDefs;\n if (ssrForceFetchDelay) {\n setTimeout(function () { return (_this.disableNetworkFetches = false); }, ssrForceFetchDelay);\n }\n this.watchQuery = this.watchQuery.bind(this);\n this.query = this.query.bind(this);\n this.mutate = this.mutate.bind(this);\n this.resetStore = this.resetStore.bind(this);\n this.reFetchObservableQueries = this.reFetchObservableQueries.bind(this);\n if (connectToDevTools && typeof window === 'object') {\n window.__APOLLO_CLIENT__ = this;\n }\n if (!hasSuggestedDevtools && connectToDevTools && globalThis.__DEV__ !== false) {\n hasSuggestedDevtools = true;\n if (typeof window !== 'undefined' &&\n window.document &&\n window.top === window.self &&\n !window.__APOLLO_DEVTOOLS_GLOBAL_HOOK__) {\n var nav = window.navigator;\n var ua = nav && nav.userAgent;\n var url = void 0;\n if (typeof ua === \"string\") {\n if (ua.indexOf(\"Chrome/\") > -1) {\n url = \"https://chrome.google.com/webstore/detail/\" +\n \"apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm\";\n }\n else if (ua.indexOf(\"Firefox/\") > -1) {\n url = \"https://addons.mozilla.org/en-US/firefox/addon/apollo-developer-tools/\";\n }\n }\n if (url) {\n globalThis.__DEV__ !== false && invariant.log(\"Download the Apollo DevTools for a better development \" +\n \"experience: %s\", url);\n }\n }\n }\n this.version = version;\n this.localState = new LocalState({\n cache: cache,\n client: this,\n resolvers: resolvers,\n fragmentMatcher: fragmentMatcher,\n });\n this.queryManager = new QueryManager({\n cache: this.cache,\n link: this.link,\n defaultOptions: this.defaultOptions,\n documentTransform: documentTransform,\n queryDeduplication: queryDeduplication,\n ssrMode: ssrMode,\n clientAwareness: {\n name: clientAwarenessName,\n version: clientAwarenessVersion,\n },\n localState: this.localState,\n assumeImmutableResults: assumeImmutableResults,\n onBroadcast: connectToDevTools ? function () {\n if (_this.devToolsHookCb) {\n _this.devToolsHookCb({\n action: {},\n state: {\n queries: _this.queryManager.getQueryStore(),\n mutations: _this.queryManager.mutationStore || {},\n },\n dataWithOptimisticResults: _this.cache.extract(true),\n });\n }\n } : void 0,\n });\n }\n Object.defineProperty(ApolloClient.prototype, \"documentTransform\", {\n get: function () {\n return this.queryManager.documentTransform;\n },\n enumerable: false,\n configurable: true\n });\n ApolloClient.prototype.stop = function () {\n this.queryManager.stop();\n };\n ApolloClient.prototype.watchQuery = function (options) {\n if (this.defaultOptions.watchQuery) {\n options = mergeOptions(this.defaultOptions.watchQuery, options);\n }\n if (this.disableNetworkFetches &&\n (options.fetchPolicy === 'network-only' ||\n options.fetchPolicy === 'cache-and-network')) {\n options = __assign(__assign({}, options), { fetchPolicy: 'cache-first' });\n }\n return this.queryManager.watchQuery(options);\n };\n ApolloClient.prototype.query = function (options) {\n if (this.defaultOptions.query) {\n options = mergeOptions(this.defaultOptions.query, options);\n }\n invariant(options.fetchPolicy !== 'cache-and-network', 14);\n if (this.disableNetworkFetches && options.fetchPolicy === 'network-only') {\n options = __assign(__assign({}, options), { fetchPolicy: 'cache-first' });\n }\n return this.queryManager.query(options);\n };\n ApolloClient.prototype.mutate = function (options) {\n if (this.defaultOptions.mutate) {\n options = mergeOptions(this.defaultOptions.mutate, options);\n }\n return this.queryManager.mutate(options);\n };\n ApolloClient.prototype.subscribe = function (options) {\n return this.queryManager.startGraphQLSubscription(options);\n };\n ApolloClient.prototype.readQuery = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.cache.readQuery(options, optimistic);\n };\n ApolloClient.prototype.readFragment = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.cache.readFragment(options, optimistic);\n };\n ApolloClient.prototype.writeQuery = function (options) {\n var ref = this.cache.writeQuery(options);\n if (options.broadcast !== false) {\n this.queryManager.broadcastQueries();\n }\n return ref;\n };\n ApolloClient.prototype.writeFragment = function (options) {\n var ref = this.cache.writeFragment(options);\n if (options.broadcast !== false) {\n this.queryManager.broadcastQueries();\n }\n return ref;\n };\n ApolloClient.prototype.__actionHookForDevTools = function (cb) {\n this.devToolsHookCb = cb;\n };\n ApolloClient.prototype.__requestRaw = function (payload) {\n return execute(this.link, payload);\n };\n ApolloClient.prototype.resetStore = function () {\n var _this = this;\n return Promise.resolve()\n .then(function () { return _this.queryManager.clearStore({\n discardWatches: false,\n }); })\n .then(function () { return Promise.all(_this.resetStoreCallbacks.map(function (fn) { return fn(); })); })\n .then(function () { return _this.reFetchObservableQueries(); });\n };\n ApolloClient.prototype.clearStore = function () {\n var _this = this;\n return Promise.resolve()\n .then(function () { return _this.queryManager.clearStore({\n discardWatches: true,\n }); })\n .then(function () { return Promise.all(_this.clearStoreCallbacks.map(function (fn) { return fn(); })); });\n };\n ApolloClient.prototype.onResetStore = function (cb) {\n var _this = this;\n this.resetStoreCallbacks.push(cb);\n return function () {\n _this.resetStoreCallbacks = _this.resetStoreCallbacks.filter(function (c) { return c !== cb; });\n };\n };\n ApolloClient.prototype.onClearStore = function (cb) {\n var _this = this;\n this.clearStoreCallbacks.push(cb);\n return function () {\n _this.clearStoreCallbacks = _this.clearStoreCallbacks.filter(function (c) { return c !== cb; });\n };\n };\n ApolloClient.prototype.reFetchObservableQueries = function (includeStandby) {\n return this.queryManager.reFetchObservableQueries(includeStandby);\n };\n ApolloClient.prototype.refetchQueries = function (options) {\n var map = this.queryManager.refetchQueries(options);\n var queries = [];\n var results = [];\n map.forEach(function (result, obsQuery) {\n queries.push(obsQuery);\n results.push(result);\n });\n var result = Promise.all(results);\n result.queries = queries;\n result.results = results;\n result.catch(function (error) {\n globalThis.__DEV__ !== false && invariant.debug(15, error);\n });\n return result;\n };\n ApolloClient.prototype.getObservableQueries = function (include) {\n if (include === void 0) { include = \"active\"; }\n return this.queryManager.getObservableQueries(include);\n };\n ApolloClient.prototype.extract = function (optimistic) {\n return this.cache.extract(optimistic);\n };\n ApolloClient.prototype.restore = function (serializedState) {\n return this.cache.restore(serializedState);\n };\n ApolloClient.prototype.addResolvers = function (resolvers) {\n this.localState.addResolvers(resolvers);\n };\n ApolloClient.prototype.setResolvers = function (resolvers) {\n this.localState.setResolvers(resolvers);\n };\n ApolloClient.prototype.getResolvers = function () {\n return this.localState.getResolvers();\n };\n ApolloClient.prototype.setLocalStateFragmentMatcher = function (fragmentMatcher) {\n this.localState.setFragmentMatcher(fragmentMatcher);\n };\n ApolloClient.prototype.setLink = function (newLink) {\n this.link = this.queryManager.link = newLink;\n };\n return ApolloClient;\n}());\nexport { ApolloClient };\n//# sourceMappingURL=ApolloClient.js.map","import { __assign, __rest } from \"tslib\";\nimport { wrap } from 'optimism';\nimport { getFragmentQueryDocument, } from '../../utilities/index.js';\nvar ApolloCache = (function () {\n function ApolloCache() {\n this.assumeImmutableResults = false;\n this.getFragmentDoc = wrap(getFragmentQueryDocument);\n }\n ApolloCache.prototype.batch = function (options) {\n var _this = this;\n var optimisticId = typeof options.optimistic === \"string\" ? options.optimistic :\n options.optimistic === false ? null : void 0;\n var updateResult;\n this.performTransaction(function () { return updateResult = options.update(_this); }, optimisticId);\n return updateResult;\n };\n ApolloCache.prototype.recordOptimisticTransaction = function (transaction, optimisticId) {\n this.performTransaction(transaction, optimisticId);\n };\n ApolloCache.prototype.transformDocument = function (document) {\n return document;\n };\n ApolloCache.prototype.transformForLink = function (document) {\n return document;\n };\n ApolloCache.prototype.identify = function (object) {\n return;\n };\n ApolloCache.prototype.gc = function () {\n return [];\n };\n ApolloCache.prototype.modify = function (options) {\n return false;\n };\n ApolloCache.prototype.readQuery = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = !!options.optimistic; }\n return this.read(__assign(__assign({}, options), { rootId: options.id || 'ROOT_QUERY', optimistic: optimistic }));\n };\n ApolloCache.prototype.readFragment = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = !!options.optimistic; }\n return this.read(__assign(__assign({}, options), { query: this.getFragmentDoc(options.fragment, options.fragmentName), rootId: options.id, optimistic: optimistic }));\n };\n ApolloCache.prototype.writeQuery = function (_a) {\n var id = _a.id, data = _a.data, options = __rest(_a, [\"id\", \"data\"]);\n return this.write(Object.assign(options, {\n dataId: id || 'ROOT_QUERY',\n result: data,\n }));\n };\n ApolloCache.prototype.writeFragment = function (_a) {\n var id = _a.id, data = _a.data, fragment = _a.fragment, fragmentName = _a.fragmentName, options = __rest(_a, [\"id\", \"data\", \"fragment\", \"fragmentName\"]);\n return this.write(Object.assign(options, {\n query: this.getFragmentDoc(fragment, fragmentName),\n dataId: id,\n result: data,\n }));\n };\n ApolloCache.prototype.updateQuery = function (options, update) {\n return this.batch({\n update: function (cache) {\n var value = cache.readQuery(options);\n var data = update(value);\n if (data === void 0 || data === null)\n return value;\n cache.writeQuery(__assign(__assign({}, options), { data: data }));\n return data;\n },\n });\n };\n ApolloCache.prototype.updateFragment = function (options, update) {\n return this.batch({\n update: function (cache) {\n var value = cache.readFragment(options);\n var data = update(value);\n if (data === void 0 || data === null)\n return value;\n cache.writeFragment(__assign(__assign({}, options), { data: data }));\n return data;\n },\n });\n };\n return ApolloCache;\n}());\nexport { ApolloCache };\n//# sourceMappingURL=cache.js.map","import { __extends } from \"tslib\";\nvar MissingFieldError = (function (_super) {\n __extends(MissingFieldError, _super);\n function MissingFieldError(message, path, query, variables) {\n var _a;\n var _this = _super.call(this, message) || this;\n _this.message = message;\n _this.path = path;\n _this.query = query;\n _this.variables = variables;\n if (Array.isArray(_this.path)) {\n _this.missing = _this.message;\n for (var i = _this.path.length - 1; i >= 0; --i) {\n _this.missing = (_a = {}, _a[_this.path[i]] = _this.missing, _a);\n }\n }\n else {\n _this.missing = _this.path;\n }\n _this.__proto__ = MissingFieldError.prototype;\n return _this;\n }\n return MissingFieldError;\n}(Error));\nexport { MissingFieldError };\n//# sourceMappingURL=common.js.map","import { isNonNullObject } from './objects.js';\nfunction deepFreeze(value) {\n var workSet = new Set([value]);\n workSet.forEach(function (obj) {\n if (isNonNullObject(obj) && shallowFreeze(obj) === obj) {\n Object.getOwnPropertyNames(obj).forEach(function (name) {\n if (isNonNullObject(obj[name]))\n workSet.add(obj[name]);\n });\n }\n });\n return value;\n}\nfunction shallowFreeze(obj) {\n if (globalThis.__DEV__ !== false && !Object.isFrozen(obj)) {\n try {\n Object.freeze(obj);\n }\n catch (e) {\n if (e instanceof TypeError)\n return null;\n throw e;\n }\n }\n return obj;\n}\nexport function maybeDeepFreeze(obj) {\n if (globalThis.__DEV__ !== false) {\n deepFreeze(obj);\n }\n return obj;\n}\n//# sourceMappingURL=maybeDeepFreeze.js.map","import { isReference, isField, DeepMerger, resultKeyNameFromField, shouldInclude, isNonNullObject, compact, createFragmentMap, getFragmentDefinitions, isArray, } from '../../utilities/index.js';\nexport var hasOwn = Object.prototype.hasOwnProperty;\nexport function isNullish(value) {\n return value === null || value === void 0;\n}\nexport { isArray };\nexport function defaultDataIdFromObject(_a, context) {\n var __typename = _a.__typename, id = _a.id, _id = _a._id;\n if (typeof __typename === \"string\") {\n if (context) {\n context.keyObject =\n !isNullish(id) ? { id: id } :\n !isNullish(_id) ? { _id: _id } :\n void 0;\n }\n if (isNullish(id) && !isNullish(_id)) {\n id = _id;\n }\n if (!isNullish(id)) {\n return \"\".concat(__typename, \":\").concat((typeof id === \"number\" ||\n typeof id === \"string\") ? id : JSON.stringify(id));\n }\n }\n}\nvar defaultConfig = {\n dataIdFromObject: defaultDataIdFromObject,\n addTypename: true,\n resultCaching: true,\n canonizeResults: false,\n};\nexport function normalizeConfig(config) {\n return compact(defaultConfig, config);\n}\nexport function shouldCanonizeResults(config) {\n var value = config.canonizeResults;\n return value === void 0 ? defaultConfig.canonizeResults : value;\n}\nexport function getTypenameFromStoreObject(store, objectOrReference) {\n return isReference(objectOrReference)\n ? store.get(objectOrReference.__ref, \"__typename\")\n : objectOrReference && objectOrReference.__typename;\n}\nexport var TypeOrFieldNameRegExp = /^[_a-z][_0-9a-z]*/i;\nexport function fieldNameFromStoreName(storeFieldName) {\n var match = storeFieldName.match(TypeOrFieldNameRegExp);\n return match ? match[0] : storeFieldName;\n}\nexport function selectionSetMatchesResult(selectionSet, result, variables) {\n if (isNonNullObject(result)) {\n return isArray(result)\n ? result.every(function (item) { return selectionSetMatchesResult(selectionSet, item, variables); })\n : selectionSet.selections.every(function (field) {\n if (isField(field) && shouldInclude(field, variables)) {\n var key = resultKeyNameFromField(field);\n return hasOwn.call(result, key) &&\n (!field.selectionSet ||\n selectionSetMatchesResult(field.selectionSet, result[key], variables));\n }\n return true;\n });\n }\n return false;\n}\nexport function storeValueIsStoreObject(value) {\n return isNonNullObject(value) &&\n !isReference(value) &&\n !isArray(value);\n}\nexport function makeProcessedFieldsMerger() {\n return new DeepMerger;\n}\nexport function extractFragmentContext(document, fragments) {\n var fragmentMap = createFragmentMap(getFragmentDefinitions(document));\n return {\n fragmentMap: fragmentMap,\n lookupFragment: function (name) {\n var def = fragmentMap[name];\n if (!def && fragments) {\n def = fragments.lookup(name);\n }\n return def || null;\n },\n };\n}\n//# sourceMappingURL=helpers.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport { invariant } from '../../utilities/globals/index.js';\nimport { dep } from 'optimism';\nimport { equal } from '@wry/equality';\nimport { Trie } from '@wry/trie';\nimport { isReference, makeReference, DeepMerger, maybeDeepFreeze, canUseWeakMap, isNonNullObject, } from '../../utilities/index.js';\nimport { hasOwn, fieldNameFromStoreName } from './helpers.js';\nvar DELETE = Object.create(null);\nvar delModifier = function () { return DELETE; };\nvar INVALIDATE = Object.create(null);\nvar EntityStore = (function () {\n function EntityStore(policies, group) {\n var _this = this;\n this.policies = policies;\n this.group = group;\n this.data = Object.create(null);\n this.rootIds = Object.create(null);\n this.refs = Object.create(null);\n this.getFieldValue = function (objectOrReference, storeFieldName) { return maybeDeepFreeze(isReference(objectOrReference)\n ? _this.get(objectOrReference.__ref, storeFieldName)\n : objectOrReference && objectOrReference[storeFieldName]); };\n this.canRead = function (objOrRef) {\n return isReference(objOrRef)\n ? _this.has(objOrRef.__ref)\n : typeof objOrRef === \"object\";\n };\n this.toReference = function (objOrIdOrRef, mergeIntoStore) {\n if (typeof objOrIdOrRef === \"string\") {\n return makeReference(objOrIdOrRef);\n }\n if (isReference(objOrIdOrRef)) {\n return objOrIdOrRef;\n }\n var id = _this.policies.identify(objOrIdOrRef)[0];\n if (id) {\n var ref = makeReference(id);\n if (mergeIntoStore) {\n _this.merge(id, objOrIdOrRef);\n }\n return ref;\n }\n };\n }\n EntityStore.prototype.toObject = function () {\n return __assign({}, this.data);\n };\n EntityStore.prototype.has = function (dataId) {\n return this.lookup(dataId, true) !== void 0;\n };\n EntityStore.prototype.get = function (dataId, fieldName) {\n this.group.depend(dataId, fieldName);\n if (hasOwn.call(this.data, dataId)) {\n var storeObject = this.data[dataId];\n if (storeObject && hasOwn.call(storeObject, fieldName)) {\n return storeObject[fieldName];\n }\n }\n if (fieldName === \"__typename\" &&\n hasOwn.call(this.policies.rootTypenamesById, dataId)) {\n return this.policies.rootTypenamesById[dataId];\n }\n if (this instanceof Layer) {\n return this.parent.get(dataId, fieldName);\n }\n };\n EntityStore.prototype.lookup = function (dataId, dependOnExistence) {\n if (dependOnExistence)\n this.group.depend(dataId, \"__exists\");\n if (hasOwn.call(this.data, dataId)) {\n return this.data[dataId];\n }\n if (this instanceof Layer) {\n return this.parent.lookup(dataId, dependOnExistence);\n }\n if (this.policies.rootTypenamesById[dataId]) {\n return Object.create(null);\n }\n };\n EntityStore.prototype.merge = function (older, newer) {\n var _this = this;\n var dataId;\n if (isReference(older))\n older = older.__ref;\n if (isReference(newer))\n newer = newer.__ref;\n var existing = typeof older === \"string\"\n ? this.lookup(dataId = older)\n : older;\n var incoming = typeof newer === \"string\"\n ? this.lookup(dataId = newer)\n : newer;\n if (!incoming)\n return;\n invariant(typeof dataId === \"string\", 1);\n var merged = new DeepMerger(storeObjectReconciler).merge(existing, incoming);\n this.data[dataId] = merged;\n if (merged !== existing) {\n delete this.refs[dataId];\n if (this.group.caching) {\n var fieldsToDirty_1 = Object.create(null);\n if (!existing)\n fieldsToDirty_1.__exists = 1;\n Object.keys(incoming).forEach(function (storeFieldName) {\n if (!existing || existing[storeFieldName] !== merged[storeFieldName]) {\n fieldsToDirty_1[storeFieldName] = 1;\n var fieldName = fieldNameFromStoreName(storeFieldName);\n if (fieldName !== storeFieldName &&\n !_this.policies.hasKeyArgs(merged.__typename, fieldName)) {\n fieldsToDirty_1[fieldName] = 1;\n }\n if (merged[storeFieldName] === void 0 && !(_this instanceof Layer)) {\n delete merged[storeFieldName];\n }\n }\n });\n if (fieldsToDirty_1.__typename &&\n !(existing && existing.__typename) &&\n this.policies.rootTypenamesById[dataId] === merged.__typename) {\n delete fieldsToDirty_1.__typename;\n }\n Object.keys(fieldsToDirty_1).forEach(function (fieldName) { return _this.group.dirty(dataId, fieldName); });\n }\n }\n };\n EntityStore.prototype.modify = function (dataId, fields) {\n var _this = this;\n var storeObject = this.lookup(dataId);\n if (storeObject) {\n var changedFields_1 = Object.create(null);\n var needToMerge_1 = false;\n var allDeleted_1 = true;\n var sharedDetails_1 = {\n DELETE: DELETE,\n INVALIDATE: INVALIDATE,\n isReference: isReference,\n toReference: this.toReference,\n canRead: this.canRead,\n readField: function (fieldNameOrOptions, from) { return _this.policies.readField(typeof fieldNameOrOptions === \"string\" ? {\n fieldName: fieldNameOrOptions,\n from: from || makeReference(dataId),\n } : fieldNameOrOptions, { store: _this }); },\n };\n Object.keys(storeObject).forEach(function (storeFieldName) {\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var fieldValue = storeObject[storeFieldName];\n if (fieldValue === void 0)\n return;\n var modify = typeof fields === \"function\"\n ? fields\n : fields[storeFieldName] || fields[fieldName];\n if (modify) {\n var newValue = modify === delModifier ? DELETE :\n modify(maybeDeepFreeze(fieldValue), __assign(__assign({}, sharedDetails_1), { fieldName: fieldName, storeFieldName: storeFieldName, storage: _this.getStorage(dataId, storeFieldName) }));\n if (newValue === INVALIDATE) {\n _this.group.dirty(dataId, storeFieldName);\n }\n else {\n if (newValue === DELETE)\n newValue = void 0;\n if (newValue !== fieldValue) {\n changedFields_1[storeFieldName] = newValue;\n needToMerge_1 = true;\n fieldValue = newValue;\n }\n }\n }\n if (fieldValue !== void 0) {\n allDeleted_1 = false;\n }\n });\n if (needToMerge_1) {\n this.merge(dataId, changedFields_1);\n if (allDeleted_1) {\n if (this instanceof Layer) {\n this.data[dataId] = void 0;\n }\n else {\n delete this.data[dataId];\n }\n this.group.dirty(dataId, \"__exists\");\n }\n return true;\n }\n }\n return false;\n };\n EntityStore.prototype.delete = function (dataId, fieldName, args) {\n var _a;\n var storeObject = this.lookup(dataId);\n if (storeObject) {\n var typename = this.getFieldValue(storeObject, \"__typename\");\n var storeFieldName = fieldName && args\n ? this.policies.getStoreFieldName({ typename: typename, fieldName: fieldName, args: args })\n : fieldName;\n return this.modify(dataId, storeFieldName ? (_a = {},\n _a[storeFieldName] = delModifier,\n _a) : delModifier);\n }\n return false;\n };\n EntityStore.prototype.evict = function (options, limit) {\n var evicted = false;\n if (options.id) {\n if (hasOwn.call(this.data, options.id)) {\n evicted = this.delete(options.id, options.fieldName, options.args);\n }\n if (this instanceof Layer && this !== limit) {\n evicted = this.parent.evict(options, limit) || evicted;\n }\n if (options.fieldName || evicted) {\n this.group.dirty(options.id, options.fieldName || \"__exists\");\n }\n }\n return evicted;\n };\n EntityStore.prototype.clear = function () {\n this.replace(null);\n };\n EntityStore.prototype.extract = function () {\n var _this = this;\n var obj = this.toObject();\n var extraRootIds = [];\n this.getRootIdSet().forEach(function (id) {\n if (!hasOwn.call(_this.policies.rootTypenamesById, id)) {\n extraRootIds.push(id);\n }\n });\n if (extraRootIds.length) {\n obj.__META = { extraRootIds: extraRootIds.sort() };\n }\n return obj;\n };\n EntityStore.prototype.replace = function (newData) {\n var _this = this;\n Object.keys(this.data).forEach(function (dataId) {\n if (!(newData && hasOwn.call(newData, dataId))) {\n _this.delete(dataId);\n }\n });\n if (newData) {\n var __META = newData.__META, rest_1 = __rest(newData, [\"__META\"]);\n Object.keys(rest_1).forEach(function (dataId) {\n _this.merge(dataId, rest_1[dataId]);\n });\n if (__META) {\n __META.extraRootIds.forEach(this.retain, this);\n }\n }\n };\n EntityStore.prototype.retain = function (rootId) {\n return this.rootIds[rootId] = (this.rootIds[rootId] || 0) + 1;\n };\n EntityStore.prototype.release = function (rootId) {\n if (this.rootIds[rootId] > 0) {\n var count = --this.rootIds[rootId];\n if (!count)\n delete this.rootIds[rootId];\n return count;\n }\n return 0;\n };\n EntityStore.prototype.getRootIdSet = function (ids) {\n if (ids === void 0) { ids = new Set(); }\n Object.keys(this.rootIds).forEach(ids.add, ids);\n if (this instanceof Layer) {\n this.parent.getRootIdSet(ids);\n }\n else {\n Object.keys(this.policies.rootTypenamesById).forEach(ids.add, ids);\n }\n return ids;\n };\n EntityStore.prototype.gc = function () {\n var _this = this;\n var ids = this.getRootIdSet();\n var snapshot = this.toObject();\n ids.forEach(function (id) {\n if (hasOwn.call(snapshot, id)) {\n Object.keys(_this.findChildRefIds(id)).forEach(ids.add, ids);\n delete snapshot[id];\n }\n });\n var idsToRemove = Object.keys(snapshot);\n if (idsToRemove.length) {\n var root_1 = this;\n while (root_1 instanceof Layer)\n root_1 = root_1.parent;\n idsToRemove.forEach(function (id) { return root_1.delete(id); });\n }\n return idsToRemove;\n };\n EntityStore.prototype.findChildRefIds = function (dataId) {\n if (!hasOwn.call(this.refs, dataId)) {\n var found_1 = this.refs[dataId] = Object.create(null);\n var root = this.data[dataId];\n if (!root)\n return found_1;\n var workSet_1 = new Set([root]);\n workSet_1.forEach(function (obj) {\n if (isReference(obj)) {\n found_1[obj.__ref] = true;\n }\n if (isNonNullObject(obj)) {\n Object.keys(obj).forEach(function (key) {\n var child = obj[key];\n if (isNonNullObject(child)) {\n workSet_1.add(child);\n }\n });\n }\n });\n }\n return this.refs[dataId];\n };\n EntityStore.prototype.makeCacheKey = function () {\n return this.group.keyMaker.lookupArray(arguments);\n };\n return EntityStore;\n}());\nexport { EntityStore };\nvar CacheGroup = (function () {\n function CacheGroup(caching, parent) {\n if (parent === void 0) { parent = null; }\n this.caching = caching;\n this.parent = parent;\n this.d = null;\n this.resetCaching();\n }\n CacheGroup.prototype.resetCaching = function () {\n this.d = this.caching ? dep() : null;\n this.keyMaker = new Trie(canUseWeakMap);\n };\n CacheGroup.prototype.depend = function (dataId, storeFieldName) {\n if (this.d) {\n this.d(makeDepKey(dataId, storeFieldName));\n var fieldName = fieldNameFromStoreName(storeFieldName);\n if (fieldName !== storeFieldName) {\n this.d(makeDepKey(dataId, fieldName));\n }\n if (this.parent) {\n this.parent.depend(dataId, storeFieldName);\n }\n }\n };\n CacheGroup.prototype.dirty = function (dataId, storeFieldName) {\n if (this.d) {\n this.d.dirty(makeDepKey(dataId, storeFieldName), storeFieldName === \"__exists\" ? \"forget\" : \"setDirty\");\n }\n };\n return CacheGroup;\n}());\nfunction makeDepKey(dataId, storeFieldName) {\n return storeFieldName + '#' + dataId;\n}\nexport function maybeDependOnExistenceOfEntity(store, entityId) {\n if (supportsResultCaching(store)) {\n store.group.depend(entityId, \"__exists\");\n }\n}\n(function (EntityStore) {\n var Root = (function (_super) {\n __extends(Root, _super);\n function Root(_a) {\n var policies = _a.policies, _b = _a.resultCaching, resultCaching = _b === void 0 ? true : _b, seed = _a.seed;\n var _this = _super.call(this, policies, new CacheGroup(resultCaching)) || this;\n _this.stump = new Stump(_this);\n _this.storageTrie = new Trie(canUseWeakMap);\n if (seed)\n _this.replace(seed);\n return _this;\n }\n Root.prototype.addLayer = function (layerId, replay) {\n return this.stump.addLayer(layerId, replay);\n };\n Root.prototype.removeLayer = function () {\n return this;\n };\n Root.prototype.getStorage = function () {\n return this.storageTrie.lookupArray(arguments);\n };\n return Root;\n }(EntityStore));\n EntityStore.Root = Root;\n})(EntityStore || (EntityStore = {}));\nvar Layer = (function (_super) {\n __extends(Layer, _super);\n function Layer(id, parent, replay, group) {\n var _this = _super.call(this, parent.policies, group) || this;\n _this.id = id;\n _this.parent = parent;\n _this.replay = replay;\n _this.group = group;\n replay(_this);\n return _this;\n }\n Layer.prototype.addLayer = function (layerId, replay) {\n return new Layer(layerId, this, replay, this.group);\n };\n Layer.prototype.removeLayer = function (layerId) {\n var _this = this;\n var parent = this.parent.removeLayer(layerId);\n if (layerId === this.id) {\n if (this.group.caching) {\n Object.keys(this.data).forEach(function (dataId) {\n var ownStoreObject = _this.data[dataId];\n var parentStoreObject = parent[\"lookup\"](dataId);\n if (!parentStoreObject) {\n _this.delete(dataId);\n }\n else if (!ownStoreObject) {\n _this.group.dirty(dataId, \"__exists\");\n Object.keys(parentStoreObject).forEach(function (storeFieldName) {\n _this.group.dirty(dataId, storeFieldName);\n });\n }\n else if (ownStoreObject !== parentStoreObject) {\n Object.keys(ownStoreObject).forEach(function (storeFieldName) {\n if (!equal(ownStoreObject[storeFieldName], parentStoreObject[storeFieldName])) {\n _this.group.dirty(dataId, storeFieldName);\n }\n });\n }\n });\n }\n return parent;\n }\n if (parent === this.parent)\n return this;\n return parent.addLayer(this.id, this.replay);\n };\n Layer.prototype.toObject = function () {\n return __assign(__assign({}, this.parent.toObject()), this.data);\n };\n Layer.prototype.findChildRefIds = function (dataId) {\n var fromParent = this.parent.findChildRefIds(dataId);\n return hasOwn.call(this.data, dataId) ? __assign(__assign({}, fromParent), _super.prototype.findChildRefIds.call(this, dataId)) : fromParent;\n };\n Layer.prototype.getStorage = function () {\n var p = this.parent;\n while (p.parent)\n p = p.parent;\n return p.getStorage.apply(p, arguments);\n };\n return Layer;\n}(EntityStore));\nvar Stump = (function (_super) {\n __extends(Stump, _super);\n function Stump(root) {\n return _super.call(this, \"EntityStore.Stump\", root, function () { }, new CacheGroup(root.group.caching, root.group)) || this;\n }\n Stump.prototype.removeLayer = function () {\n return this;\n };\n Stump.prototype.merge = function () {\n return this.parent.merge.apply(this.parent, arguments);\n };\n return Stump;\n}(Layer));\nfunction storeObjectReconciler(existingObject, incomingObject, property) {\n var existingValue = existingObject[property];\n var incomingValue = incomingObject[property];\n return equal(existingValue, incomingValue) ? existingValue : incomingValue;\n}\nexport function supportsResultCaching(store) {\n return !!(store instanceof EntityStore && store.group.caching);\n}\n//# sourceMappingURL=entityStore.js.map","import { __assign } from \"tslib\";\nimport { invariant, newInvariantError } from '../../utilities/globals/index.js';\nimport { Kind } from 'graphql';\nimport { wrap } from 'optimism';\nimport { isField, resultKeyNameFromField, isReference, makeReference, shouldInclude, addTypenameToDocument, getDefaultValues, getMainDefinition, getQueryDefinition, getFragmentFromSelection, maybeDeepFreeze, mergeDeepArray, DeepMerger, isNonNullObject, canUseWeakMap, compact } from '../../utilities/index.js';\nimport { maybeDependOnExistenceOfEntity, supportsResultCaching } from './entityStore.js';\nimport { isArray, extractFragmentContext, getTypenameFromStoreObject, shouldCanonizeResults } from './helpers.js';\nimport { MissingFieldError } from '../core/types/common.js';\nimport { canonicalStringify, ObjectCanon } from './object-canon.js';\n;\nfunction execSelectionSetKeyArgs(options) {\n return [\n options.selectionSet,\n options.objectOrReference,\n options.context,\n options.context.canonizeResults,\n ];\n}\nvar StoreReader = (function () {\n function StoreReader(config) {\n var _this = this;\n this.knownResults = new (canUseWeakMap ? WeakMap : Map)();\n this.config = compact(config, {\n addTypename: config.addTypename !== false,\n canonizeResults: shouldCanonizeResults(config),\n });\n this.canon = config.canon || new ObjectCanon;\n this.executeSelectionSet = wrap(function (options) {\n var _a;\n var canonizeResults = options.context.canonizeResults;\n var peekArgs = execSelectionSetKeyArgs(options);\n peekArgs[3] = !canonizeResults;\n var other = (_a = _this.executeSelectionSet).peek.apply(_a, peekArgs);\n if (other) {\n if (canonizeResults) {\n return __assign(__assign({}, other), { result: _this.canon.admit(other.result) });\n }\n return other;\n }\n maybeDependOnExistenceOfEntity(options.context.store, options.enclosingRef.__ref);\n return _this.execSelectionSetImpl(options);\n }, {\n max: this.config.resultCacheMaxSize,\n keyArgs: execSelectionSetKeyArgs,\n makeCacheKey: function (selectionSet, parent, context, canonizeResults) {\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(selectionSet, isReference(parent) ? parent.__ref : parent, context.varString, canonizeResults);\n }\n }\n });\n this.executeSubSelectedArray = wrap(function (options) {\n maybeDependOnExistenceOfEntity(options.context.store, options.enclosingRef.__ref);\n return _this.execSubSelectedArrayImpl(options);\n }, {\n max: this.config.resultCacheMaxSize,\n makeCacheKey: function (_a) {\n var field = _a.field, array = _a.array, context = _a.context;\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(field, array, context.varString);\n }\n }\n });\n }\n StoreReader.prototype.resetCanon = function () {\n this.canon = new ObjectCanon;\n };\n StoreReader.prototype.diffQueryAgainstStore = function (_a) {\n var store = _a.store, query = _a.query, _b = _a.rootId, rootId = _b === void 0 ? 'ROOT_QUERY' : _b, variables = _a.variables, _c = _a.returnPartialData, returnPartialData = _c === void 0 ? true : _c, _d = _a.canonizeResults, canonizeResults = _d === void 0 ? this.config.canonizeResults : _d;\n var policies = this.config.cache.policies;\n variables = __assign(__assign({}, getDefaultValues(getQueryDefinition(query))), variables);\n var rootRef = makeReference(rootId);\n var execResult = this.executeSelectionSet({\n selectionSet: getMainDefinition(query).selectionSet,\n objectOrReference: rootRef,\n enclosingRef: rootRef,\n context: __assign({ store: store, query: query, policies: policies, variables: variables, varString: canonicalStringify(variables), canonizeResults: canonizeResults }, extractFragmentContext(query, this.config.fragments)),\n });\n var missing;\n if (execResult.missing) {\n missing = [new MissingFieldError(firstMissing(execResult.missing), execResult.missing, query, variables)];\n if (!returnPartialData) {\n throw missing[0];\n }\n }\n return {\n result: execResult.result,\n complete: !missing,\n missing: missing,\n };\n };\n StoreReader.prototype.isFresh = function (result, parent, selectionSet, context) {\n if (supportsResultCaching(context.store) &&\n this.knownResults.get(result) === selectionSet) {\n var latest = this.executeSelectionSet.peek(selectionSet, parent, context, this.canon.isKnown(result));\n if (latest && result === latest.result) {\n return true;\n }\n }\n return false;\n };\n StoreReader.prototype.execSelectionSetImpl = function (_a) {\n var _this = this;\n var selectionSet = _a.selectionSet, objectOrReference = _a.objectOrReference, enclosingRef = _a.enclosingRef, context = _a.context;\n if (isReference(objectOrReference) &&\n !context.policies.rootTypenamesById[objectOrReference.__ref] &&\n !context.store.has(objectOrReference.__ref)) {\n return {\n result: this.canon.empty,\n missing: \"Dangling reference to missing \".concat(objectOrReference.__ref, \" object\"),\n };\n }\n var variables = context.variables, policies = context.policies, store = context.store;\n var typename = store.getFieldValue(objectOrReference, \"__typename\");\n var objectsToMerge = [];\n var missing;\n var missingMerger = new DeepMerger();\n if (this.config.addTypename &&\n typeof typename === \"string\" &&\n !policies.rootIdsByTypename[typename]) {\n objectsToMerge.push({ __typename: typename });\n }\n function handleMissing(result, resultName) {\n var _a;\n if (result.missing) {\n missing = missingMerger.merge(missing, (_a = {}, _a[resultName] = result.missing, _a));\n }\n return result.result;\n }\n var workSet = new Set(selectionSet.selections);\n workSet.forEach(function (selection) {\n var _a, _b;\n if (!shouldInclude(selection, variables))\n return;\n if (isField(selection)) {\n var fieldValue = policies.readField({\n fieldName: selection.name.value,\n field: selection,\n variables: context.variables,\n from: objectOrReference,\n }, context);\n var resultName = resultKeyNameFromField(selection);\n if (fieldValue === void 0) {\n if (!addTypenameToDocument.added(selection)) {\n missing = missingMerger.merge(missing, (_a = {},\n _a[resultName] = \"Can't find field '\".concat(selection.name.value, \"' on \").concat(isReference(objectOrReference)\n ? objectOrReference.__ref + \" object\"\n : \"object \" + JSON.stringify(objectOrReference, null, 2)),\n _a));\n }\n }\n else if (isArray(fieldValue)) {\n fieldValue = handleMissing(_this.executeSubSelectedArray({\n field: selection,\n array: fieldValue,\n enclosingRef: enclosingRef,\n context: context,\n }), resultName);\n }\n else if (!selection.selectionSet) {\n if (context.canonizeResults) {\n fieldValue = _this.canon.pass(fieldValue);\n }\n }\n else if (fieldValue != null) {\n fieldValue = handleMissing(_this.executeSelectionSet({\n selectionSet: selection.selectionSet,\n objectOrReference: fieldValue,\n enclosingRef: isReference(fieldValue) ? fieldValue : enclosingRef,\n context: context,\n }), resultName);\n }\n if (fieldValue !== void 0) {\n objectsToMerge.push((_b = {}, _b[resultName] = fieldValue, _b));\n }\n }\n else {\n var fragment = getFragmentFromSelection(selection, context.lookupFragment);\n if (!fragment && selection.kind === Kind.FRAGMENT_SPREAD) {\n throw newInvariantError(7, selection.name.value);\n }\n if (fragment && policies.fragmentMatches(fragment, typename)) {\n fragment.selectionSet.selections.forEach(workSet.add, workSet);\n }\n }\n });\n var result = mergeDeepArray(objectsToMerge);\n var finalResult = { result: result, missing: missing };\n var frozen = context.canonizeResults\n ? this.canon.admit(finalResult)\n : maybeDeepFreeze(finalResult);\n if (frozen.result) {\n this.knownResults.set(frozen.result, selectionSet);\n }\n return frozen;\n };\n StoreReader.prototype.execSubSelectedArrayImpl = function (_a) {\n var _this = this;\n var field = _a.field, array = _a.array, enclosingRef = _a.enclosingRef, context = _a.context;\n var missing;\n var missingMerger = new DeepMerger();\n function handleMissing(childResult, i) {\n var _a;\n if (childResult.missing) {\n missing = missingMerger.merge(missing, (_a = {}, _a[i] = childResult.missing, _a));\n }\n return childResult.result;\n }\n if (field.selectionSet) {\n array = array.filter(context.store.canRead);\n }\n array = array.map(function (item, i) {\n if (item === null) {\n return null;\n }\n if (isArray(item)) {\n return handleMissing(_this.executeSubSelectedArray({\n field: field,\n array: item,\n enclosingRef: enclosingRef,\n context: context,\n }), i);\n }\n if (field.selectionSet) {\n return handleMissing(_this.executeSelectionSet({\n selectionSet: field.selectionSet,\n objectOrReference: item,\n enclosingRef: isReference(item) ? item : enclosingRef,\n context: context,\n }), i);\n }\n if (globalThis.__DEV__ !== false) {\n assertSelectionSetForIdValue(context.store, field, item);\n }\n return item;\n });\n return {\n result: context.canonizeResults ? this.canon.admit(array) : array,\n missing: missing,\n };\n };\n return StoreReader;\n}());\nexport { StoreReader };\nfunction firstMissing(tree) {\n try {\n JSON.stringify(tree, function (_, value) {\n if (typeof value === \"string\")\n throw value;\n return value;\n });\n }\n catch (result) {\n return result;\n }\n}\nfunction assertSelectionSetForIdValue(store, field, fieldValue) {\n if (!field.selectionSet) {\n var workSet_1 = new Set([fieldValue]);\n workSet_1.forEach(function (value) {\n if (isNonNullObject(value)) {\n invariant(\n !isReference(value),\n 8,\n getTypenameFromStoreObject(store, value),\n field.name.value\n );\n Object.values(value).forEach(workSet_1.add, workSet_1);\n }\n });\n }\n}\n//# sourceMappingURL=readFromStore.js.map","import { invariant } from \"../../utilities/globals/index.js\";\nimport { argumentsObjectFromField, DeepMerger, isNonEmptyArray, isNonNullObject, } from \"../../utilities/index.js\";\nimport { hasOwn, isArray } from \"./helpers.js\";\nvar specifierInfoCache = Object.create(null);\nfunction lookupSpecifierInfo(spec) {\n var cacheKey = JSON.stringify(spec);\n return specifierInfoCache[cacheKey] ||\n (specifierInfoCache[cacheKey] = Object.create(null));\n}\nexport function keyFieldsFnFromSpecifier(specifier) {\n var info = lookupSpecifierInfo(specifier);\n return info.keyFieldsFn || (info.keyFieldsFn = function (object, context) {\n var extract = function (from, key) { return context.readField(key, from); };\n var keyObject = context.keyObject = collectSpecifierPaths(specifier, function (schemaKeyPath) {\n var extracted = extractKeyPath(context.storeObject, schemaKeyPath, extract);\n if (extracted === void 0 &&\n object !== context.storeObject &&\n hasOwn.call(object, schemaKeyPath[0])) {\n extracted = extractKeyPath(object, schemaKeyPath, extractKey);\n }\n invariant(extracted !== void 0, 2, schemaKeyPath.join('.'), object);\n return extracted;\n });\n return \"\".concat(context.typename, \":\").concat(JSON.stringify(keyObject));\n });\n}\nexport function keyArgsFnFromSpecifier(specifier) {\n var info = lookupSpecifierInfo(specifier);\n return info.keyArgsFn || (info.keyArgsFn = function (args, _a) {\n var field = _a.field, variables = _a.variables, fieldName = _a.fieldName;\n var collected = collectSpecifierPaths(specifier, function (keyPath) {\n var firstKey = keyPath[0];\n var firstChar = firstKey.charAt(0);\n if (firstChar === \"@\") {\n if (field && isNonEmptyArray(field.directives)) {\n var directiveName_1 = firstKey.slice(1);\n var d = field.directives.find(function (d) { return d.name.value === directiveName_1; });\n var directiveArgs = d && argumentsObjectFromField(d, variables);\n return directiveArgs && extractKeyPath(directiveArgs, keyPath.slice(1));\n }\n return;\n }\n if (firstChar === \"$\") {\n var variableName = firstKey.slice(1);\n if (variables && hasOwn.call(variables, variableName)) {\n var varKeyPath = keyPath.slice(0);\n varKeyPath[0] = variableName;\n return extractKeyPath(variables, varKeyPath);\n }\n return;\n }\n if (args) {\n return extractKeyPath(args, keyPath);\n }\n });\n var suffix = JSON.stringify(collected);\n if (args || suffix !== \"{}\") {\n fieldName += \":\" + suffix;\n }\n return fieldName;\n });\n}\nexport function collectSpecifierPaths(specifier, extractor) {\n var merger = new DeepMerger;\n return getSpecifierPaths(specifier).reduce(function (collected, path) {\n var _a;\n var toMerge = extractor(path);\n if (toMerge !== void 0) {\n for (var i = path.length - 1; i >= 0; --i) {\n toMerge = (_a = {}, _a[path[i]] = toMerge, _a);\n }\n collected = merger.merge(collected, toMerge);\n }\n return collected;\n }, Object.create(null));\n}\nexport function getSpecifierPaths(spec) {\n var info = lookupSpecifierInfo(spec);\n if (!info.paths) {\n var paths_1 = info.paths = [];\n var currentPath_1 = [];\n spec.forEach(function (s, i) {\n if (isArray(s)) {\n getSpecifierPaths(s).forEach(function (p) { return paths_1.push(currentPath_1.concat(p)); });\n currentPath_1.length = 0;\n }\n else {\n currentPath_1.push(s);\n if (!isArray(spec[i + 1])) {\n paths_1.push(currentPath_1.slice(0));\n currentPath_1.length = 0;\n }\n }\n });\n }\n return info.paths;\n}\nfunction extractKey(object, key) {\n return object[key];\n}\nexport function extractKeyPath(object, path, extract) {\n extract = extract || extractKey;\n return normalize(path.reduce(function reducer(obj, key) {\n return isArray(obj)\n ? obj.map(function (child) { return reducer(child, key); })\n : obj && extract(obj, key);\n }, object));\n}\nfunction normalize(value) {\n if (isNonNullObject(value)) {\n if (isArray(value)) {\n return value.map(normalize);\n }\n return collectSpecifierPaths(Object.keys(value).sort(), function (path) { return extractKeyPath(value, path); });\n }\n return value;\n}\n//# sourceMappingURL=key-extractor.js.map","import { __assign, __rest } from \"tslib\";\nimport { invariant, newInvariantError } from '../../utilities/globals/index.js';\nimport { storeKeyNameFromField, argumentsObjectFromField, isReference, getStoreKeyName, isNonNullObject, stringifyForDisplay, } from '../../utilities/index.js';\nimport { hasOwn, fieldNameFromStoreName, storeValueIsStoreObject, selectionSetMatchesResult, TypeOrFieldNameRegExp, defaultDataIdFromObject, isArray, } from './helpers.js';\nimport { cacheSlot } from './reactiveVars.js';\nimport { canonicalStringify } from './object-canon.js';\nimport { keyArgsFnFromSpecifier, keyFieldsFnFromSpecifier } from './key-extractor.js';\ngetStoreKeyName.setStringify(canonicalStringify);\nfunction argsFromFieldSpecifier(spec) {\n return spec.args !== void 0 ? spec.args :\n spec.field ? argumentsObjectFromField(spec.field, spec.variables) : null;\n}\nvar nullKeyFieldsFn = function () { return void 0; };\nvar simpleKeyArgsFn = function (_args, context) { return context.fieldName; };\nvar mergeTrueFn = function (existing, incoming, _a) {\n var mergeObjects = _a.mergeObjects;\n return mergeObjects(existing, incoming);\n};\nvar mergeFalseFn = function (_, incoming) { return incoming; };\nvar Policies = (function () {\n function Policies(config) {\n this.config = config;\n this.typePolicies = Object.create(null);\n this.toBeAdded = Object.create(null);\n this.supertypeMap = new Map();\n this.fuzzySubtypes = new Map();\n this.rootIdsByTypename = Object.create(null);\n this.rootTypenamesById = Object.create(null);\n this.usingPossibleTypes = false;\n this.config = __assign({ dataIdFromObject: defaultDataIdFromObject }, config);\n this.cache = this.config.cache;\n this.setRootTypename(\"Query\");\n this.setRootTypename(\"Mutation\");\n this.setRootTypename(\"Subscription\");\n if (config.possibleTypes) {\n this.addPossibleTypes(config.possibleTypes);\n }\n if (config.typePolicies) {\n this.addTypePolicies(config.typePolicies);\n }\n }\n Policies.prototype.identify = function (object, partialContext) {\n var _a;\n var policies = this;\n var typename = partialContext && (partialContext.typename ||\n ((_a = partialContext.storeObject) === null || _a === void 0 ? void 0 : _a.__typename)) || object.__typename;\n if (typename === this.rootTypenamesById.ROOT_QUERY) {\n return [\"ROOT_QUERY\"];\n }\n var storeObject = partialContext && partialContext.storeObject || object;\n var context = __assign(__assign({}, partialContext), { typename: typename, storeObject: storeObject, readField: partialContext && partialContext.readField || function () {\n var options = normalizeReadFieldOptions(arguments, storeObject);\n return policies.readField(options, {\n store: policies.cache[\"data\"],\n variables: options.variables,\n });\n } });\n var id;\n var policy = typename && this.getTypePolicy(typename);\n var keyFn = policy && policy.keyFn || this.config.dataIdFromObject;\n while (keyFn) {\n var specifierOrId = keyFn(__assign(__assign({}, object), storeObject), context);\n if (isArray(specifierOrId)) {\n keyFn = keyFieldsFnFromSpecifier(specifierOrId);\n }\n else {\n id = specifierOrId;\n break;\n }\n }\n id = id ? String(id) : void 0;\n return context.keyObject ? [id, context.keyObject] : [id];\n };\n Policies.prototype.addTypePolicies = function (typePolicies) {\n var _this = this;\n Object.keys(typePolicies).forEach(function (typename) {\n var _a = typePolicies[typename], queryType = _a.queryType, mutationType = _a.mutationType, subscriptionType = _a.subscriptionType, incoming = __rest(_a, [\"queryType\", \"mutationType\", \"subscriptionType\"]);\n if (queryType)\n _this.setRootTypename(\"Query\", typename);\n if (mutationType)\n _this.setRootTypename(\"Mutation\", typename);\n if (subscriptionType)\n _this.setRootTypename(\"Subscription\", typename);\n if (hasOwn.call(_this.toBeAdded, typename)) {\n _this.toBeAdded[typename].push(incoming);\n }\n else {\n _this.toBeAdded[typename] = [incoming];\n }\n });\n };\n Policies.prototype.updateTypePolicy = function (typename, incoming) {\n var _this = this;\n var existing = this.getTypePolicy(typename);\n var keyFields = incoming.keyFields, fields = incoming.fields;\n function setMerge(existing, merge) {\n existing.merge =\n typeof merge === \"function\" ? merge :\n merge === true ? mergeTrueFn :\n merge === false ? mergeFalseFn :\n existing.merge;\n }\n setMerge(existing, incoming.merge);\n existing.keyFn =\n keyFields === false ? nullKeyFieldsFn :\n isArray(keyFields) ? keyFieldsFnFromSpecifier(keyFields) :\n typeof keyFields === \"function\" ? keyFields :\n existing.keyFn;\n if (fields) {\n Object.keys(fields).forEach(function (fieldName) {\n var existing = _this.getFieldPolicy(typename, fieldName, true);\n var incoming = fields[fieldName];\n if (typeof incoming === \"function\") {\n existing.read = incoming;\n }\n else {\n var keyArgs = incoming.keyArgs, read = incoming.read, merge = incoming.merge;\n existing.keyFn =\n keyArgs === false ? simpleKeyArgsFn :\n isArray(keyArgs) ? keyArgsFnFromSpecifier(keyArgs) :\n typeof keyArgs === \"function\" ? keyArgs :\n existing.keyFn;\n if (typeof read === \"function\") {\n existing.read = read;\n }\n setMerge(existing, merge);\n }\n if (existing.read && existing.merge) {\n existing.keyFn = existing.keyFn || simpleKeyArgsFn;\n }\n });\n }\n };\n Policies.prototype.setRootTypename = function (which, typename) {\n if (typename === void 0) { typename = which; }\n var rootId = \"ROOT_\" + which.toUpperCase();\n var old = this.rootTypenamesById[rootId];\n if (typename !== old) {\n invariant(!old || old === which, 3, which);\n if (old)\n delete this.rootIdsByTypename[old];\n this.rootIdsByTypename[typename] = rootId;\n this.rootTypenamesById[rootId] = typename;\n }\n };\n Policies.prototype.addPossibleTypes = function (possibleTypes) {\n var _this = this;\n this.usingPossibleTypes = true;\n Object.keys(possibleTypes).forEach(function (supertype) {\n _this.getSupertypeSet(supertype, true);\n possibleTypes[supertype].forEach(function (subtype) {\n _this.getSupertypeSet(subtype, true).add(supertype);\n var match = subtype.match(TypeOrFieldNameRegExp);\n if (!match || match[0] !== subtype) {\n _this.fuzzySubtypes.set(subtype, new RegExp(subtype));\n }\n });\n });\n };\n Policies.prototype.getTypePolicy = function (typename) {\n var _this = this;\n if (!hasOwn.call(this.typePolicies, typename)) {\n var policy_1 = this.typePolicies[typename] = Object.create(null);\n policy_1.fields = Object.create(null);\n var supertypes_1 = this.supertypeMap.get(typename);\n if (!supertypes_1 && this.fuzzySubtypes.size) {\n supertypes_1 = this.getSupertypeSet(typename, true);\n this.fuzzySubtypes.forEach(function (regExp, fuzzy) {\n if (regExp.test(typename)) {\n var fuzzySupertypes = _this.supertypeMap.get(fuzzy);\n if (fuzzySupertypes) {\n fuzzySupertypes.forEach(function (supertype) { return supertypes_1.add(supertype); });\n }\n }\n });\n }\n if (supertypes_1 && supertypes_1.size) {\n supertypes_1.forEach(function (supertype) {\n var _a = _this.getTypePolicy(supertype), fields = _a.fields, rest = __rest(_a, [\"fields\"]);\n Object.assign(policy_1, rest);\n Object.assign(policy_1.fields, fields);\n });\n }\n }\n var inbox = this.toBeAdded[typename];\n if (inbox && inbox.length) {\n inbox.splice(0).forEach(function (policy) {\n _this.updateTypePolicy(typename, policy);\n });\n }\n return this.typePolicies[typename];\n };\n Policies.prototype.getFieldPolicy = function (typename, fieldName, createIfMissing) {\n if (typename) {\n var fieldPolicies = this.getTypePolicy(typename).fields;\n return fieldPolicies[fieldName] || (createIfMissing && (fieldPolicies[fieldName] = Object.create(null)));\n }\n };\n Policies.prototype.getSupertypeSet = function (subtype, createIfMissing) {\n var supertypeSet = this.supertypeMap.get(subtype);\n if (!supertypeSet && createIfMissing) {\n this.supertypeMap.set(subtype, supertypeSet = new Set());\n }\n return supertypeSet;\n };\n Policies.prototype.fragmentMatches = function (fragment, typename, result, variables) {\n var _this = this;\n if (!fragment.typeCondition)\n return true;\n if (!typename)\n return false;\n var supertype = fragment.typeCondition.name.value;\n if (typename === supertype)\n return true;\n if (this.usingPossibleTypes &&\n this.supertypeMap.has(supertype)) {\n var typenameSupertypeSet = this.getSupertypeSet(typename, true);\n var workQueue_1 = [typenameSupertypeSet];\n var maybeEnqueue_1 = function (subtype) {\n var supertypeSet = _this.getSupertypeSet(subtype, false);\n if (supertypeSet &&\n supertypeSet.size &&\n workQueue_1.indexOf(supertypeSet) < 0) {\n workQueue_1.push(supertypeSet);\n }\n };\n var needToCheckFuzzySubtypes = !!(result && this.fuzzySubtypes.size);\n var checkingFuzzySubtypes = false;\n for (var i = 0; i < workQueue_1.length; ++i) {\n var supertypeSet = workQueue_1[i];\n if (supertypeSet.has(supertype)) {\n if (!typenameSupertypeSet.has(supertype)) {\n if (checkingFuzzySubtypes) {\n globalThis.__DEV__ !== false && invariant.warn(4, typename, supertype);\n }\n typenameSupertypeSet.add(supertype);\n }\n return true;\n }\n supertypeSet.forEach(maybeEnqueue_1);\n if (needToCheckFuzzySubtypes &&\n i === workQueue_1.length - 1 &&\n selectionSetMatchesResult(fragment.selectionSet, result, variables)) {\n needToCheckFuzzySubtypes = false;\n checkingFuzzySubtypes = true;\n this.fuzzySubtypes.forEach(function (regExp, fuzzyString) {\n var match = typename.match(regExp);\n if (match && match[0] === typename) {\n maybeEnqueue_1(fuzzyString);\n }\n });\n }\n }\n }\n return false;\n };\n Policies.prototype.hasKeyArgs = function (typename, fieldName) {\n var policy = this.getFieldPolicy(typename, fieldName, false);\n return !!(policy && policy.keyFn);\n };\n Policies.prototype.getStoreFieldName = function (fieldSpec) {\n var typename = fieldSpec.typename, fieldName = fieldSpec.fieldName;\n var policy = this.getFieldPolicy(typename, fieldName, false);\n var storeFieldName;\n var keyFn = policy && policy.keyFn;\n if (keyFn && typename) {\n var context = {\n typename: typename,\n fieldName: fieldName,\n field: fieldSpec.field || null,\n variables: fieldSpec.variables,\n };\n var args = argsFromFieldSpecifier(fieldSpec);\n while (keyFn) {\n var specifierOrString = keyFn(args, context);\n if (isArray(specifierOrString)) {\n keyFn = keyArgsFnFromSpecifier(specifierOrString);\n }\n else {\n storeFieldName = specifierOrString || fieldName;\n break;\n }\n }\n }\n if (storeFieldName === void 0) {\n storeFieldName = fieldSpec.field\n ? storeKeyNameFromField(fieldSpec.field, fieldSpec.variables)\n : getStoreKeyName(fieldName, argsFromFieldSpecifier(fieldSpec));\n }\n if (storeFieldName === false) {\n return fieldName;\n }\n return fieldName === fieldNameFromStoreName(storeFieldName)\n ? storeFieldName\n : fieldName + \":\" + storeFieldName;\n };\n Policies.prototype.readField = function (options, context) {\n var objectOrReference = options.from;\n if (!objectOrReference)\n return;\n var nameOrField = options.field || options.fieldName;\n if (!nameOrField)\n return;\n if (options.typename === void 0) {\n var typename = context.store.getFieldValue(objectOrReference, \"__typename\");\n if (typename)\n options.typename = typename;\n }\n var storeFieldName = this.getStoreFieldName(options);\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var existing = context.store.getFieldValue(objectOrReference, storeFieldName);\n var policy = this.getFieldPolicy(options.typename, fieldName, false);\n var read = policy && policy.read;\n if (read) {\n var readOptions = makeFieldFunctionOptions(this, objectOrReference, options, context, context.store.getStorage(isReference(objectOrReference)\n ? objectOrReference.__ref\n : objectOrReference, storeFieldName));\n return cacheSlot.withValue(this.cache, read, [existing, readOptions]);\n }\n return existing;\n };\n Policies.prototype.getReadFunction = function (typename, fieldName) {\n var policy = this.getFieldPolicy(typename, fieldName, false);\n return policy && policy.read;\n };\n Policies.prototype.getMergeFunction = function (parentTypename, fieldName, childTypename) {\n var policy = this.getFieldPolicy(parentTypename, fieldName, false);\n var merge = policy && policy.merge;\n if (!merge && childTypename) {\n policy = this.getTypePolicy(childTypename);\n merge = policy && policy.merge;\n }\n return merge;\n };\n Policies.prototype.runMergeFunction = function (existing, incoming, _a, context, storage) {\n var field = _a.field, typename = _a.typename, merge = _a.merge;\n if (merge === mergeTrueFn) {\n return makeMergeObjectsFunction(context.store)(existing, incoming);\n }\n if (merge === mergeFalseFn) {\n return incoming;\n }\n if (context.overwrite) {\n existing = void 0;\n }\n return merge(existing, incoming, makeFieldFunctionOptions(this, void 0, { typename: typename, fieldName: field.name.value, field: field, variables: context.variables }, context, storage || Object.create(null)));\n };\n return Policies;\n}());\nexport { Policies };\nfunction makeFieldFunctionOptions(policies, objectOrReference, fieldSpec, context, storage) {\n var storeFieldName = policies.getStoreFieldName(fieldSpec);\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var variables = fieldSpec.variables || context.variables;\n var _a = context.store, toReference = _a.toReference, canRead = _a.canRead;\n return {\n args: argsFromFieldSpecifier(fieldSpec),\n field: fieldSpec.field || null,\n fieldName: fieldName,\n storeFieldName: storeFieldName,\n variables: variables,\n isReference: isReference,\n toReference: toReference,\n storage: storage,\n cache: policies.cache,\n canRead: canRead,\n readField: function () {\n return policies.readField(normalizeReadFieldOptions(arguments, objectOrReference, variables), context);\n },\n mergeObjects: makeMergeObjectsFunction(context.store),\n };\n}\nexport function normalizeReadFieldOptions(readFieldArgs, objectOrReference, variables) {\n var fieldNameOrOptions = readFieldArgs[0], from = readFieldArgs[1], argc = readFieldArgs.length;\n var options;\n if (typeof fieldNameOrOptions === \"string\") {\n options = {\n fieldName: fieldNameOrOptions,\n from: argc > 1 ? from : objectOrReference,\n };\n }\n else {\n options = __assign({}, fieldNameOrOptions);\n if (!hasOwn.call(options, \"from\")) {\n options.from = objectOrReference;\n }\n }\n if (globalThis.__DEV__ !== false && options.from === void 0) {\n globalThis.__DEV__ !== false && invariant.warn(5, stringifyForDisplay(Array.from(readFieldArgs)));\n }\n if (void 0 === options.variables) {\n options.variables = variables;\n }\n return options;\n}\nfunction makeMergeObjectsFunction(store) {\n return function mergeObjects(existing, incoming) {\n if (isArray(existing) || isArray(incoming)) {\n throw newInvariantError(6);\n }\n if (isNonNullObject(existing) &&\n isNonNullObject(incoming)) {\n var eType = store.getFieldValue(existing, \"__typename\");\n var iType = store.getFieldValue(incoming, \"__typename\");\n var typesDiffer = eType && iType && eType !== iType;\n if (typesDiffer) {\n return incoming;\n }\n if (isReference(existing) &&\n storeValueIsStoreObject(incoming)) {\n store.merge(existing.__ref, incoming);\n return existing;\n }\n if (storeValueIsStoreObject(existing) &&\n isReference(incoming)) {\n store.merge(existing, incoming.__ref);\n return incoming;\n }\n if (storeValueIsStoreObject(existing) &&\n storeValueIsStoreObject(incoming)) {\n return __assign(__assign({}, existing), incoming);\n }\n }\n return incoming;\n };\n}\n//# sourceMappingURL=policies.js.map","import { __assign } from \"tslib\";\nimport { invariant, newInvariantError } from '../../utilities/globals/index.js';\nimport { equal } from '@wry/equality';\nimport { Trie } from '@wry/trie';\nimport { Kind, } from 'graphql';\nimport { getFragmentFromSelection, getDefaultValues, getOperationDefinition, getTypenameFromResult, makeReference, isField, resultKeyNameFromField, isReference, shouldInclude, cloneDeep, addTypenameToDocument, isNonEmptyArray, argumentsObjectFromField, } from '../../utilities/index.js';\nimport { isArray, makeProcessedFieldsMerger, fieldNameFromStoreName, storeValueIsStoreObject, extractFragmentContext } from './helpers.js';\nimport { canonicalStringify } from './object-canon.js';\nimport { normalizeReadFieldOptions } from './policies.js';\n;\nfunction getContextFlavor(context, clientOnly, deferred) {\n var key = \"\".concat(clientOnly).concat(deferred);\n var flavored = context.flavors.get(key);\n if (!flavored) {\n context.flavors.set(key, flavored = (context.clientOnly === clientOnly &&\n context.deferred === deferred) ? context : __assign(__assign({}, context), { clientOnly: clientOnly, deferred: deferred }));\n }\n return flavored;\n}\nvar StoreWriter = (function () {\n function StoreWriter(cache, reader, fragments) {\n this.cache = cache;\n this.reader = reader;\n this.fragments = fragments;\n }\n StoreWriter.prototype.writeToStore = function (store, _a) {\n var _this = this;\n var query = _a.query, result = _a.result, dataId = _a.dataId, variables = _a.variables, overwrite = _a.overwrite;\n var operationDefinition = getOperationDefinition(query);\n var merger = makeProcessedFieldsMerger();\n variables = __assign(__assign({}, getDefaultValues(operationDefinition)), variables);\n var context = __assign(__assign({ store: store, written: Object.create(null), merge: function (existing, incoming) {\n return merger.merge(existing, incoming);\n }, variables: variables, varString: canonicalStringify(variables) }, extractFragmentContext(query, this.fragments)), { overwrite: !!overwrite, incomingById: new Map, clientOnly: false, deferred: false, flavors: new Map });\n var ref = this.processSelectionSet({\n result: result || Object.create(null),\n dataId: dataId,\n selectionSet: operationDefinition.selectionSet,\n mergeTree: { map: new Map },\n context: context,\n });\n if (!isReference(ref)) {\n throw newInvariantError(9, result);\n }\n context.incomingById.forEach(function (_a, dataId) {\n var storeObject = _a.storeObject, mergeTree = _a.mergeTree, fieldNodeSet = _a.fieldNodeSet;\n var entityRef = makeReference(dataId);\n if (mergeTree && mergeTree.map.size) {\n var applied = _this.applyMerges(mergeTree, entityRef, storeObject, context);\n if (isReference(applied)) {\n return;\n }\n storeObject = applied;\n }\n if (globalThis.__DEV__ !== false && !context.overwrite) {\n var fieldsWithSelectionSets_1 = Object.create(null);\n fieldNodeSet.forEach(function (field) {\n if (field.selectionSet) {\n fieldsWithSelectionSets_1[field.name.value] = true;\n }\n });\n var hasSelectionSet_1 = function (storeFieldName) {\n return fieldsWithSelectionSets_1[fieldNameFromStoreName(storeFieldName)] === true;\n };\n var hasMergeFunction_1 = function (storeFieldName) {\n var childTree = mergeTree && mergeTree.map.get(storeFieldName);\n return Boolean(childTree && childTree.info && childTree.info.merge);\n };\n Object.keys(storeObject).forEach(function (storeFieldName) {\n if (hasSelectionSet_1(storeFieldName) &&\n !hasMergeFunction_1(storeFieldName)) {\n warnAboutDataLoss(entityRef, storeObject, storeFieldName, context.store);\n }\n });\n }\n store.merge(dataId, storeObject);\n });\n store.retain(ref.__ref);\n return ref;\n };\n StoreWriter.prototype.processSelectionSet = function (_a) {\n var _this = this;\n var dataId = _a.dataId, result = _a.result, selectionSet = _a.selectionSet, context = _a.context, mergeTree = _a.mergeTree;\n var policies = this.cache.policies;\n var incoming = Object.create(null);\n var typename = (dataId && policies.rootTypenamesById[dataId]) ||\n getTypenameFromResult(result, selectionSet, context.fragmentMap) ||\n (dataId && context.store.get(dataId, \"__typename\"));\n if (\"string\" === typeof typename) {\n incoming.__typename = typename;\n }\n var readField = function () {\n var options = normalizeReadFieldOptions(arguments, incoming, context.variables);\n if (isReference(options.from)) {\n var info = context.incomingById.get(options.from.__ref);\n if (info) {\n var result_1 = policies.readField(__assign(__assign({}, options), { from: info.storeObject }), context);\n if (result_1 !== void 0) {\n return result_1;\n }\n }\n }\n return policies.readField(options, context);\n };\n var fieldNodeSet = new Set();\n this.flattenFields(selectionSet, result, context, typename).forEach(function (context, field) {\n var _a;\n var resultFieldKey = resultKeyNameFromField(field);\n var value = result[resultFieldKey];\n fieldNodeSet.add(field);\n if (value !== void 0) {\n var storeFieldName = policies.getStoreFieldName({\n typename: typename,\n fieldName: field.name.value,\n field: field,\n variables: context.variables,\n });\n var childTree = getChildMergeTree(mergeTree, storeFieldName);\n var incomingValue = _this.processFieldValue(value, field, field.selectionSet\n ? getContextFlavor(context, false, false)\n : context, childTree);\n var childTypename = void 0;\n if (field.selectionSet &&\n (isReference(incomingValue) ||\n storeValueIsStoreObject(incomingValue))) {\n childTypename = readField(\"__typename\", incomingValue);\n }\n var merge = policies.getMergeFunction(typename, field.name.value, childTypename);\n if (merge) {\n childTree.info = {\n field: field,\n typename: typename,\n merge: merge,\n };\n }\n else {\n maybeRecycleChildMergeTree(mergeTree, storeFieldName);\n }\n incoming = context.merge(incoming, (_a = {},\n _a[storeFieldName] = incomingValue,\n _a));\n }\n else if (globalThis.__DEV__ !== false &&\n !context.clientOnly &&\n !context.deferred &&\n !addTypenameToDocument.added(field) &&\n !policies.getReadFunction(typename, field.name.value)) {\n globalThis.__DEV__ !== false && invariant.error(10, resultKeyNameFromField(field), result);\n }\n });\n try {\n var _b = policies.identify(result, {\n typename: typename,\n selectionSet: selectionSet,\n fragmentMap: context.fragmentMap,\n storeObject: incoming,\n readField: readField,\n }), id = _b[0], keyObject = _b[1];\n dataId = dataId || id;\n if (keyObject) {\n incoming = context.merge(incoming, keyObject);\n }\n }\n catch (e) {\n if (!dataId)\n throw e;\n }\n if (\"string\" === typeof dataId) {\n var dataRef = makeReference(dataId);\n var sets = context.written[dataId] || (context.written[dataId] = []);\n if (sets.indexOf(selectionSet) >= 0)\n return dataRef;\n sets.push(selectionSet);\n if (this.reader && this.reader.isFresh(result, dataRef, selectionSet, context)) {\n return dataRef;\n }\n var previous_1 = context.incomingById.get(dataId);\n if (previous_1) {\n previous_1.storeObject = context.merge(previous_1.storeObject, incoming);\n previous_1.mergeTree = mergeMergeTrees(previous_1.mergeTree, mergeTree);\n fieldNodeSet.forEach(function (field) { return previous_1.fieldNodeSet.add(field); });\n }\n else {\n context.incomingById.set(dataId, {\n storeObject: incoming,\n mergeTree: mergeTreeIsEmpty(mergeTree) ? void 0 : mergeTree,\n fieldNodeSet: fieldNodeSet,\n });\n }\n return dataRef;\n }\n return incoming;\n };\n StoreWriter.prototype.processFieldValue = function (value, field, context, mergeTree) {\n var _this = this;\n if (!field.selectionSet || value === null) {\n return globalThis.__DEV__ !== false ? cloneDeep(value) : value;\n }\n if (isArray(value)) {\n return value.map(function (item, i) {\n var value = _this.processFieldValue(item, field, context, getChildMergeTree(mergeTree, i));\n maybeRecycleChildMergeTree(mergeTree, i);\n return value;\n });\n }\n return this.processSelectionSet({\n result: value,\n selectionSet: field.selectionSet,\n context: context,\n mergeTree: mergeTree,\n });\n };\n StoreWriter.prototype.flattenFields = function (selectionSet, result, context, typename) {\n if (typename === void 0) { typename = getTypenameFromResult(result, selectionSet, context.fragmentMap); }\n var fieldMap = new Map();\n var policies = this.cache.policies;\n var limitingTrie = new Trie(false);\n (function flatten(selectionSet, inheritedContext) {\n var visitedNode = limitingTrie.lookup(selectionSet, inheritedContext.clientOnly, inheritedContext.deferred);\n if (visitedNode.visited)\n return;\n visitedNode.visited = true;\n selectionSet.selections.forEach(function (selection) {\n if (!shouldInclude(selection, context.variables))\n return;\n var clientOnly = inheritedContext.clientOnly, deferred = inheritedContext.deferred;\n if (!(clientOnly && deferred) &&\n isNonEmptyArray(selection.directives)) {\n selection.directives.forEach(function (dir) {\n var name = dir.name.value;\n if (name === \"client\")\n clientOnly = true;\n if (name === \"defer\") {\n var args = argumentsObjectFromField(dir, context.variables);\n if (!args || args.if !== false) {\n deferred = true;\n }\n }\n });\n }\n if (isField(selection)) {\n var existing = fieldMap.get(selection);\n if (existing) {\n clientOnly = clientOnly && existing.clientOnly;\n deferred = deferred && existing.deferred;\n }\n fieldMap.set(selection, getContextFlavor(context, clientOnly, deferred));\n }\n else {\n var fragment = getFragmentFromSelection(selection, context.lookupFragment);\n if (!fragment && selection.kind === Kind.FRAGMENT_SPREAD) {\n throw newInvariantError(11, selection.name.value);\n }\n if (fragment &&\n policies.fragmentMatches(fragment, typename, result, context.variables)) {\n flatten(fragment.selectionSet, getContextFlavor(context, clientOnly, deferred));\n }\n }\n });\n })(selectionSet, context);\n return fieldMap;\n };\n StoreWriter.prototype.applyMerges = function (mergeTree, existing, incoming, context, getStorageArgs) {\n var _a;\n var _this = this;\n if (mergeTree.map.size && !isReference(incoming)) {\n var e_1 = (!isArray(incoming) &&\n (isReference(existing) || storeValueIsStoreObject(existing))) ? existing : void 0;\n var i_1 = incoming;\n if (e_1 && !getStorageArgs) {\n getStorageArgs = [isReference(e_1) ? e_1.__ref : e_1];\n }\n var changedFields_1;\n var getValue_1 = function (from, name) {\n return isArray(from)\n ? (typeof name === \"number\" ? from[name] : void 0)\n : context.store.getFieldValue(from, String(name));\n };\n mergeTree.map.forEach(function (childTree, storeFieldName) {\n var eVal = getValue_1(e_1, storeFieldName);\n var iVal = getValue_1(i_1, storeFieldName);\n if (void 0 === iVal)\n return;\n if (getStorageArgs) {\n getStorageArgs.push(storeFieldName);\n }\n var aVal = _this.applyMerges(childTree, eVal, iVal, context, getStorageArgs);\n if (aVal !== iVal) {\n changedFields_1 = changedFields_1 || new Map;\n changedFields_1.set(storeFieldName, aVal);\n }\n if (getStorageArgs) {\n invariant(getStorageArgs.pop() === storeFieldName);\n }\n });\n if (changedFields_1) {\n incoming = (isArray(i_1) ? i_1.slice(0) : __assign({}, i_1));\n changedFields_1.forEach(function (value, name) {\n incoming[name] = value;\n });\n }\n }\n if (mergeTree.info) {\n return this.cache.policies.runMergeFunction(existing, incoming, mergeTree.info, context, getStorageArgs && (_a = context.store).getStorage.apply(_a, getStorageArgs));\n }\n return incoming;\n };\n return StoreWriter;\n}());\nexport { StoreWriter };\nvar emptyMergeTreePool = [];\nfunction getChildMergeTree(_a, name) {\n var map = _a.map;\n if (!map.has(name)) {\n map.set(name, emptyMergeTreePool.pop() || { map: new Map });\n }\n return map.get(name);\n}\nfunction mergeMergeTrees(left, right) {\n if (left === right || !right || mergeTreeIsEmpty(right))\n return left;\n if (!left || mergeTreeIsEmpty(left))\n return right;\n var info = left.info && right.info ? __assign(__assign({}, left.info), right.info) : left.info || right.info;\n var needToMergeMaps = left.map.size && right.map.size;\n var map = needToMergeMaps ? new Map :\n left.map.size ? left.map : right.map;\n var merged = { info: info, map: map };\n if (needToMergeMaps) {\n var remainingRightKeys_1 = new Set(right.map.keys());\n left.map.forEach(function (leftTree, key) {\n merged.map.set(key, mergeMergeTrees(leftTree, right.map.get(key)));\n remainingRightKeys_1.delete(key);\n });\n remainingRightKeys_1.forEach(function (key) {\n merged.map.set(key, mergeMergeTrees(right.map.get(key), left.map.get(key)));\n });\n }\n return merged;\n}\nfunction mergeTreeIsEmpty(tree) {\n return !tree || !(tree.info || tree.map.size);\n}\nfunction maybeRecycleChildMergeTree(_a, name) {\n var map = _a.map;\n var childTree = map.get(name);\n if (childTree && mergeTreeIsEmpty(childTree)) {\n emptyMergeTreePool.push(childTree);\n map.delete(name);\n }\n}\nvar warnings = new Set();\nfunction warnAboutDataLoss(existingRef, incomingObj, storeFieldName, store) {\n var getChild = function (objOrRef) {\n var child = store.getFieldValue(objOrRef, storeFieldName);\n return typeof child === \"object\" && child;\n };\n var existing = getChild(existingRef);\n if (!existing)\n return;\n var incoming = getChild(incomingObj);\n if (!incoming)\n return;\n if (isReference(existing))\n return;\n if (equal(existing, incoming))\n return;\n if (Object.keys(existing).every(function (key) { return store.getFieldValue(incoming, key) !== void 0; })) {\n return;\n }\n var parentType = store.getFieldValue(existingRef, \"__typename\") ||\n store.getFieldValue(incomingObj, \"__typename\");\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var typeDotName = \"\".concat(parentType, \".\").concat(fieldName);\n if (warnings.has(typeDotName))\n return;\n warnings.add(typeDotName);\n var childTypenames = [];\n if (!isArray(existing) &&\n !isArray(incoming)) {\n [existing, incoming].forEach(function (child) {\n var typename = store.getFieldValue(child, \"__typename\");\n if (typeof typename === \"string\" &&\n !childTypenames.includes(typename)) {\n childTypenames.push(typename);\n }\n });\n }\n globalThis.__DEV__ !== false && invariant.warn(12, fieldName, parentType, childTypenames.length\n ? \"either ensure all objects of type \" + childTypenames.join(\" and \") + \" have an ID or a custom merge function, or \"\n : \"\", typeDotName, existing, incoming);\n}\n//# sourceMappingURL=writeToStore.js.map","import { __assign, __extends } from \"tslib\";\nimport { invariant } from '../../utilities/globals/index.js';\nimport './fixPolyfills.js';\nimport { wrap } from 'optimism';\nimport { equal } from '@wry/equality';\nimport { ApolloCache } from '../core/cache.js';\nimport { MissingFieldError } from '../core/types/common.js';\nimport { addTypenameToDocument, isReference, DocumentTransform, } from '../../utilities/index.js';\nimport { StoreReader } from './readFromStore.js';\nimport { StoreWriter } from './writeToStore.js';\nimport { EntityStore, supportsResultCaching } from './entityStore.js';\nimport { makeVar, forgetCache, recallCache } from './reactiveVars.js';\nimport { Policies } from './policies.js';\nimport { hasOwn, normalizeConfig, shouldCanonizeResults } from './helpers.js';\nimport { canonicalStringify } from './object-canon.js';\nvar InMemoryCache = (function (_super) {\n __extends(InMemoryCache, _super);\n function InMemoryCache(config) {\n if (config === void 0) { config = {}; }\n var _this = _super.call(this) || this;\n _this.watches = new Set();\n _this.addTypenameTransform = new DocumentTransform(addTypenameToDocument);\n _this.assumeImmutableResults = true;\n _this.makeVar = makeVar;\n _this.txCount = 0;\n _this.config = normalizeConfig(config);\n _this.addTypename = !!_this.config.addTypename;\n _this.policies = new Policies({\n cache: _this,\n dataIdFromObject: _this.config.dataIdFromObject,\n possibleTypes: _this.config.possibleTypes,\n typePolicies: _this.config.typePolicies,\n });\n _this.init();\n return _this;\n }\n InMemoryCache.prototype.init = function () {\n var rootStore = this.data = new EntityStore.Root({\n policies: this.policies,\n resultCaching: this.config.resultCaching,\n });\n this.optimisticData = rootStore.stump;\n this.resetResultCache();\n };\n InMemoryCache.prototype.resetResultCache = function (resetResultIdentities) {\n var _this = this;\n var previousReader = this.storeReader;\n var fragments = this.config.fragments;\n this.storeWriter = new StoreWriter(this, this.storeReader = new StoreReader({\n cache: this,\n addTypename: this.addTypename,\n resultCacheMaxSize: this.config.resultCacheMaxSize,\n canonizeResults: shouldCanonizeResults(this.config),\n canon: resetResultIdentities\n ? void 0\n : previousReader && previousReader.canon,\n fragments: fragments,\n }), fragments);\n this.maybeBroadcastWatch = wrap(function (c, options) {\n return _this.broadcastWatch(c, options);\n }, {\n max: this.config.resultCacheMaxSize,\n makeCacheKey: function (c) {\n var store = c.optimistic ? _this.optimisticData : _this.data;\n if (supportsResultCaching(store)) {\n var optimistic = c.optimistic, id = c.id, variables = c.variables;\n return store.makeCacheKey(c.query, c.callback, canonicalStringify({ optimistic: optimistic, id: id, variables: variables }));\n }\n }\n });\n new Set([\n this.data.group,\n this.optimisticData.group,\n ]).forEach(function (group) { return group.resetCaching(); });\n };\n InMemoryCache.prototype.restore = function (data) {\n this.init();\n if (data)\n this.data.replace(data);\n return this;\n };\n InMemoryCache.prototype.extract = function (optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return (optimistic ? this.optimisticData : this.data).extract();\n };\n InMemoryCache.prototype.read = function (options) {\n var _a = options.returnPartialData, returnPartialData = _a === void 0 ? false : _a;\n try {\n return this.storeReader.diffQueryAgainstStore(__assign(__assign({}, options), { store: options.optimistic ? this.optimisticData : this.data, config: this.config, returnPartialData: returnPartialData })).result || null;\n }\n catch (e) {\n if (e instanceof MissingFieldError) {\n return null;\n }\n throw e;\n }\n };\n InMemoryCache.prototype.write = function (options) {\n try {\n ++this.txCount;\n return this.storeWriter.writeToStore(this.data, options);\n }\n finally {\n if (!--this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n InMemoryCache.prototype.modify = function (options) {\n if (hasOwn.call(options, \"id\") && !options.id) {\n return false;\n }\n var store = options.optimistic\n ? this.optimisticData\n : this.data;\n try {\n ++this.txCount;\n return store.modify(options.id || \"ROOT_QUERY\", options.fields);\n }\n finally {\n if (!--this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n InMemoryCache.prototype.diff = function (options) {\n return this.storeReader.diffQueryAgainstStore(__assign(__assign({}, options), { store: options.optimistic ? this.optimisticData : this.data, rootId: options.id || \"ROOT_QUERY\", config: this.config }));\n };\n InMemoryCache.prototype.watch = function (watch) {\n var _this = this;\n if (!this.watches.size) {\n recallCache(this);\n }\n this.watches.add(watch);\n if (watch.immediate) {\n this.maybeBroadcastWatch(watch);\n }\n return function () {\n if (_this.watches.delete(watch) && !_this.watches.size) {\n forgetCache(_this);\n }\n _this.maybeBroadcastWatch.forget(watch);\n };\n };\n InMemoryCache.prototype.gc = function (options) {\n canonicalStringify.reset();\n var ids = this.optimisticData.gc();\n if (options && !this.txCount) {\n if (options.resetResultCache) {\n this.resetResultCache(options.resetResultIdentities);\n }\n else if (options.resetResultIdentities) {\n this.storeReader.resetCanon();\n }\n }\n return ids;\n };\n InMemoryCache.prototype.retain = function (rootId, optimistic) {\n return (optimistic ? this.optimisticData : this.data).retain(rootId);\n };\n InMemoryCache.prototype.release = function (rootId, optimistic) {\n return (optimistic ? this.optimisticData : this.data).release(rootId);\n };\n InMemoryCache.prototype.identify = function (object) {\n if (isReference(object))\n return object.__ref;\n try {\n return this.policies.identify(object)[0];\n }\n catch (e) {\n globalThis.__DEV__ !== false && invariant.warn(e);\n }\n };\n InMemoryCache.prototype.evict = function (options) {\n if (!options.id) {\n if (hasOwn.call(options, \"id\")) {\n return false;\n }\n options = __assign(__assign({}, options), { id: \"ROOT_QUERY\" });\n }\n try {\n ++this.txCount;\n return this.optimisticData.evict(options, this.data);\n }\n finally {\n if (!--this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n InMemoryCache.prototype.reset = function (options) {\n var _this = this;\n this.init();\n canonicalStringify.reset();\n if (options && options.discardWatches) {\n this.watches.forEach(function (watch) { return _this.maybeBroadcastWatch.forget(watch); });\n this.watches.clear();\n forgetCache(this);\n }\n else {\n this.broadcastWatches();\n }\n return Promise.resolve();\n };\n InMemoryCache.prototype.removeOptimistic = function (idToRemove) {\n var newOptimisticData = this.optimisticData.removeLayer(idToRemove);\n if (newOptimisticData !== this.optimisticData) {\n this.optimisticData = newOptimisticData;\n this.broadcastWatches();\n }\n };\n InMemoryCache.prototype.batch = function (options) {\n var _this = this;\n var update = options.update, _a = options.optimistic, optimistic = _a === void 0 ? true : _a, removeOptimistic = options.removeOptimistic, onWatchUpdated = options.onWatchUpdated;\n var updateResult;\n var perform = function (layer) {\n var _a = _this, data = _a.data, optimisticData = _a.optimisticData;\n ++_this.txCount;\n if (layer) {\n _this.data = _this.optimisticData = layer;\n }\n try {\n return updateResult = update(_this);\n }\n finally {\n --_this.txCount;\n _this.data = data;\n _this.optimisticData = optimisticData;\n }\n };\n var alreadyDirty = new Set();\n if (onWatchUpdated && !this.txCount) {\n this.broadcastWatches(__assign(__assign({}, options), { onWatchUpdated: function (watch) {\n alreadyDirty.add(watch);\n return false;\n } }));\n }\n if (typeof optimistic === 'string') {\n this.optimisticData = this.optimisticData.addLayer(optimistic, perform);\n }\n else if (optimistic === false) {\n perform(this.data);\n }\n else {\n perform();\n }\n if (typeof removeOptimistic === \"string\") {\n this.optimisticData = this.optimisticData.removeLayer(removeOptimistic);\n }\n if (onWatchUpdated && alreadyDirty.size) {\n this.broadcastWatches(__assign(__assign({}, options), { onWatchUpdated: function (watch, diff) {\n var result = onWatchUpdated.call(this, watch, diff);\n if (result !== false) {\n alreadyDirty.delete(watch);\n }\n return result;\n } }));\n if (alreadyDirty.size) {\n alreadyDirty.forEach(function (watch) { return _this.maybeBroadcastWatch.dirty(watch); });\n }\n }\n else {\n this.broadcastWatches(options);\n }\n return updateResult;\n };\n InMemoryCache.prototype.performTransaction = function (update, optimisticId) {\n return this.batch({\n update: update,\n optimistic: optimisticId || (optimisticId !== null),\n });\n };\n InMemoryCache.prototype.transformDocument = function (document) {\n return this.addTypenameToDocument(this.addFragmentsToDocument(document));\n };\n InMemoryCache.prototype.broadcastWatches = function (options) {\n var _this = this;\n if (!this.txCount) {\n this.watches.forEach(function (c) { return _this.maybeBroadcastWatch(c, options); });\n }\n };\n InMemoryCache.prototype.addFragmentsToDocument = function (document) {\n var fragments = this.config.fragments;\n return fragments\n ? fragments.transform(document)\n : document;\n };\n InMemoryCache.prototype.addTypenameToDocument = function (document) {\n if (this.addTypename) {\n return this.addTypenameTransform.transformDocument(document);\n }\n return document;\n };\n InMemoryCache.prototype.broadcastWatch = function (c, options) {\n var lastDiff = c.lastDiff;\n var diff = this.diff(c);\n if (options) {\n if (c.optimistic &&\n typeof options.optimistic === \"string\") {\n diff.fromOptimisticTransaction = true;\n }\n if (options.onWatchUpdated &&\n options.onWatchUpdated.call(this, c, diff, lastDiff) === false) {\n return;\n }\n }\n if (!lastDiff || !equal(lastDiff.result, diff.result)) {\n c.callback(c.lastDiff = diff, lastDiff);\n }\n };\n return InMemoryCache;\n}(ApolloCache));\nexport { InMemoryCache };\n//# sourceMappingURL=inMemoryCache.js.map","import React from 'react';\nimport client from './src/client';\nimport fetch from 'isomorphic-fetch';\nimport {ApolloClient, ApolloProvider, InMemoryCache} from '@apollo/client';\n\nexport const wrapRootElement = ({element}, options) => (\n \n {element}\n \n);\n","\"use strict\";\n\nexports.onRouteUpdate = function (_ref, pluginOptions) {\n var location = _ref.location;\n if (pluginOptions === void 0) {\n pluginOptions = {};\n }\n if (process.env.NODE_ENV !== \"production\" || typeof gtag !== \"function\") {\n return null;\n }\n var pluginConfig = pluginOptions.pluginConfig || {};\n var pathIsExcluded = location && typeof window.excludeGtagPaths !== \"undefined\" && window.excludeGtagPaths.some(function (rx) {\n return rx.test(location.pathname);\n });\n if (pathIsExcluded) return null;\n\n // wrap inside a timeout to make sure react-helmet is done with its changes (https://github.com/gatsbyjs/gatsby/issues/11592)\n var sendPageView = function sendPageView() {\n var pagePath = location ? location.pathname + location.search + location.hash : undefined;\n window.gtag(\"event\", \"page_view\", {\n page_path: pagePath\n });\n };\n var _pluginConfig$delayOn = pluginConfig.delayOnRouteUpdate,\n delayOnRouteUpdate = _pluginConfig$delayOn === void 0 ? 0 : _pluginConfig$delayOn;\n if (\"requestAnimationFrame\" in window) {\n requestAnimationFrame(function () {\n requestAnimationFrame(function () {\n return setTimeout(sendPageView, delayOnRouteUpdate);\n });\n });\n } else {\n // Delay by 32ms to simulate 2 requestOnAnimationFrame calls\n setTimeout(sendPageView, 32 + delayOnRouteUpdate);\n }\n return null;\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;","/**\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","/**\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 {\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 `