{"version":3,"file":"static/js/vendors-f372c0fd.693a491a.js","mappings":"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","sources":["../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/utils/useSyncExternalStore.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/utils/shallowEqual.js","../node_modules/react-redux/es/components/connect.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/react-redux/es/index.js","../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-redux/node_modules/react-is/index.js","../node_modules/react-router-dom/dom.ts","../node_modules/react-router-dom/index.tsx","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/deprecations.ts","../node_modules/react-router/lib/components.tsx","../node_modules/react-router/index.ts","../node_modules/react-pdf/node_modules/pdfjs-dist/legacy/build/pdf.worker.js"],"sourcesContent":["// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nlet batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport const setBatch = newBatch => batch = newBatch; // Supply a getter just to skip dealing with ESM bindings\n\nexport const getBatch = () => batch;","import * as React from 'react';\nconst ContextKey = Symbol.for(`react-redux-context`);\nconst gT = typeof globalThis !== \"undefined\" ? globalThis :\n/* fall back to a per-module scope (pre-8.1 behaviour) if `globalThis` is not available */\n{};\n\nfunction getContext() {\n var _gT$ContextKey;\n\n if (!React.createContext) return {};\n const contextMap = (_gT$ContextKey = gT[ContextKey]) != null ? _gT$ContextKey : gT[ContextKey] = new Map();\n let realContext = contextMap.get(React.createContext);\n\n if (!realContext) {\n realContext = React.createContext(null);\n\n if (process.env.NODE_ENV !== 'production') {\n realContext.displayName = 'ReactRedux';\n }\n\n contextMap.set(React.createContext, realContext);\n }\n\n return realContext;\n}\n\nexport const ReactReduxContext = /*#__PURE__*/getContext();\nexport default ReactReduxContext;","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n\n/**\r\n * Hook factory, which creates a `useReduxContext` hook bound to a given context. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useReduxContext` hook bound to the specified context.\r\n */\nexport function createReduxContextHook(context = ReactReduxContext) {\n return function useReduxContext() {\n const contextValue = useContext(context);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a ');\n }\n\n return contextValue;\n };\n}\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const { store } = useReduxContext()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport const useReduxContext = /*#__PURE__*/createReduxContextHook();","import { useCallback, useDebugValue, useRef } from 'react';\nimport { createReduxContextHook, useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { ReactReduxContext } from '../components/Context';\nimport { notInitialized } from '../utils/useSyncExternalStore';\nlet useSyncExternalStoreWithSelector = notInitialized;\nexport const initializeUseSelector = fn => {\n useSyncExternalStoreWithSelector = fn;\n};\n\nconst refEquality = (a, b) => a === b;\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context = ReactReduxContext) {\n const useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : createReduxContextHook(context);\n return function useSelector(selector, equalityFnOrOptions = {}) {\n const {\n equalityFn = refEquality,\n stabilityCheck = undefined,\n noopCheck = undefined\n } = typeof equalityFnOrOptions === 'function' ? {\n equalityFn: equalityFnOrOptions\n } : equalityFnOrOptions;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(`You must pass a selector to useSelector`);\n }\n\n if (typeof selector !== 'function') {\n throw new Error(`You must pass a function as a selector to useSelector`);\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(`You must pass a function as an equality function to useSelector`);\n }\n }\n\n const {\n store,\n subscription,\n getServerState,\n stabilityCheck: globalStabilityCheck,\n noopCheck: globalNoopCheck\n } = useReduxContext();\n const firstRun = useRef(true);\n const wrappedSelector = useCallback({\n [selector.name](state) {\n const selected = selector(state);\n\n if (process.env.NODE_ENV !== 'production') {\n const finalStabilityCheck = typeof stabilityCheck === 'undefined' ? globalStabilityCheck : stabilityCheck;\n\n if (finalStabilityCheck === 'always' || finalStabilityCheck === 'once' && firstRun.current) {\n const toCompare = selector(state);\n\n if (!equalityFn(selected, toCompare)) {\n let stack = undefined;\n\n try {\n throw new Error();\n } catch (e) {\n ;\n ({\n stack\n } = e);\n }\n\n console.warn('Selector ' + (selector.name || 'unknown') + ' returned a different result when called with the same parameters. This can lead to unnecessary rerenders.' + '\\nSelectors that return a new reference (such as an object or an array) should be memoized: https://redux.js.org/usage/deriving-data-selectors#optimizing-selectors-with-memoization', {\n state,\n selected,\n selected2: toCompare,\n stack\n });\n }\n }\n\n const finalNoopCheck = typeof noopCheck === 'undefined' ? globalNoopCheck : noopCheck;\n\n if (finalNoopCheck === 'always' || finalNoopCheck === 'once' && firstRun.current) {\n // @ts-ignore\n if (selected === state) {\n let stack = undefined;\n\n try {\n throw new Error();\n } catch (e) {\n ;\n ({\n stack\n } = e);\n }\n\n console.warn('Selector ' + (selector.name || 'unknown') + ' returned the root state when called. This can lead to unnecessary rerenders.' + '\\nSelectors that return the entire state are almost certainly a mistake, as they will cause a rerender whenever *anything* in state changes.', {\n stack\n });\n }\n }\n\n if (firstRun.current) firstRun.current = false;\n }\n\n return selected;\n }\n\n }[selector.name], [selector, globalStabilityCheck, stabilityCheck]);\n const selectedState = useSyncExternalStoreWithSelector(subscription.addNestedSub, store.getState, getServerState || store.getState, wrappedSelector, equalityFn);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
{counter}
\r\n * }\r\n */\n\nexport const useSelector = /*#__PURE__*/createSelectorHook();","export const notInitialized = () => {\n throw new Error('uSES not initialized!');\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n const batch = getBatch();\n let first = null;\n let last = null;\n return {\n clear() {\n first = null;\n last = null;\n },\n\n notify() {\n batch(() => {\n let listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n\n get() {\n let listeners = [];\n let listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n\n subscribe(callback) {\n let isSubscribed = true;\n let listener = last = {\n callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n\n };\n}\n\nconst nullListeners = {\n notify() {},\n\n get: () => []\n};\nexport function createSubscription(store, parentSub) {\n let unsubscribe;\n let listeners = nullListeners; // Reasons to keep the subscription active\n\n let subscriptionsAmount = 0; // Is this specific subscription subscribed (or only nested ones?)\n\n let selfSubscribed = false;\n\n function addNestedSub(listener) {\n trySubscribe();\n const cleanupListener = listeners.subscribe(listener); // cleanup nested sub\n\n let removed = false;\n return () => {\n if (!removed) {\n removed = true;\n cleanupListener();\n tryUnsubscribe();\n }\n };\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return selfSubscribed;\n }\n\n function trySubscribe() {\n subscriptionsAmount++;\n\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n subscriptionsAmount--;\n\n if (unsubscribe && subscriptionsAmount === 0) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n function trySubscribeSelf() {\n if (!selfSubscribed) {\n selfSubscribed = true;\n trySubscribe();\n }\n }\n\n function tryUnsubscribeSelf() {\n if (selfSubscribed) {\n selfSubscribed = false;\n tryUnsubscribe();\n }\n }\n\n const subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe: trySubscribeSelf,\n tryUnsubscribe: tryUnsubscribeSelf,\n getListeners: () => listeners\n };\n return subscription;\n}","import * as React from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n// Matches logic in React's `shared/ExecutionEnvironment` file\n\nexport const canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\nexport const useIsomorphicLayoutEffect = canUseDOM ? React.useLayoutEffect : React.useEffect;","function is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"reactReduxForwardedRef\"];\n\n/* eslint-disable valid-jsdoc, @typescript-eslint/no-unused-vars */\nimport hoistStatics from 'hoist-non-react-statics';\nimport * as React from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport defaultSelectorFactory from '../connect/selectorFactory';\nimport { mapDispatchToPropsFactory } from '../connect/mapDispatchToProps';\nimport { mapStateToPropsFactory } from '../connect/mapStateToProps';\nimport { mergePropsFactory } from '../connect/mergeProps';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport shallowEqual from '../utils/shallowEqual';\nimport warning from '../utils/warning';\nimport { ReactReduxContext } from './Context';\nimport { notInitialized } from '../utils/useSyncExternalStore';\nlet useSyncExternalStore = notInitialized;\nexport const initializeConnect = fn => {\n useSyncExternalStore = fn;\n}; // Define some constant arrays just to avoid re-creating these\n\nconst EMPTY_ARRAY = [null, 0];\nconst NO_SUBSCRIPTION_ARRAY = [null, null]; // Attempts to stringify whatever not-really-a-component value we were given\n// for logging in an error message\n\nconst stringifyComponent = Comp => {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\n// This is \"just\" a `useLayoutEffect`, but with two modifications:\n// - we need to fall back to `useEffect` in SSR to avoid annoying warnings\n// - we extract this to a separate function to avoid closing over values\n// and causing memory leaks\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(() => effectFunc(...effectArgs), dependencies);\n} // Effect callback, extracted: assign the latest props values to refs for later usage\n\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, // actualChildProps: unknown,\nchildPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n} // Effect callback, extracted: subscribe to the Redux store or nearest connected ancestor,\n// check for updates after dispatched actions, and trigger re-renders.\n\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, // forceComponentUpdateDispatch: React.Dispatch,\nadditionalSubscribeListener) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return () => {}; // Capture values for checking if and when this component unmounts\n\n let didUnsubscribe = false;\n let lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n const checkForUpdates = () => {\n if (didUnsubscribe || !isMounted.current) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n } // TODO We're currently calling getState ourselves here, rather than letting `uSES` do it\n\n\n const latestStoreState = store.getState();\n let newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // TODO This is hacky and not how `uSES` is meant to be used\n // Trigger the React `useSyncExternalStore` subscriber\n\n additionalSubscribeListener();\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n const unsubscribeWrapper = () => {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n} // Reducer initial state creation for our update reducer\n\n\nconst initStateUpdates = () => EMPTY_ARRAY;\n\nfunction strictEqual(a, b) {\n return a === b;\n}\n/**\r\n * Infers the type of props that a connector will inject into a component.\r\n */\n\n\nlet hasWarnedAboutDeprecatedPureOption = false;\n/**\r\n * Connects a React component to a Redux store.\r\n *\r\n * - Without arguments, just wraps the component, without changing the behavior / props\r\n *\r\n * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior\r\n * is to override ownProps (as stated in the docs), so what remains is everything that's\r\n * not a state or dispatch prop\r\n *\r\n * - When 3rd param is passed, we don't know if ownProps propagate and whether they\r\n * should be valid component props, because it depends on mergeProps implementation.\r\n * As such, it is the user's responsibility to extend ownProps interface from state or\r\n * dispatch props or both when applicable\r\n *\r\n * @param mapStateToProps A function that extracts values from state\r\n * @param mapDispatchToProps Setup for dispatching actions\r\n * @param mergeProps Optional callback to merge state and dispatch props together\r\n * @param options Options for configuring the connection\r\n *\r\n */\n\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps, {\n // The `pure` option has been removed, so TS doesn't like us destructuring this to check its existence.\n // @ts-ignore\n pure,\n areStatesEqual = strictEqual,\n areOwnPropsEqual = shallowEqual,\n areStatePropsEqual = shallowEqual,\n areMergedPropsEqual = shallowEqual,\n // use React's forwardRef to expose a ref of the wrapped component\n forwardRef = false,\n // the context consumer to use\n context = ReactReduxContext\n} = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (pure !== undefined && !hasWarnedAboutDeprecatedPureOption) {\n hasWarnedAboutDeprecatedPureOption = true;\n warning('The `pure` option has been removed. `connect` is now always a \"pure/memoized\" component');\n }\n }\n\n const Context = context;\n const initMapStateToProps = mapStateToPropsFactory(mapStateToProps);\n const initMapDispatchToProps = mapDispatchToPropsFactory(mapDispatchToProps);\n const initMergeProps = mergePropsFactory(mergeProps);\n const shouldHandleStateChanges = Boolean(mapStateToProps);\n\n const wrapWithConnect = WrappedComponent => {\n if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n throw new Error(`You must pass a component to the function returned by connect. Instead received ${stringifyComponent(WrappedComponent)}`);\n }\n\n const wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n const displayName = `Connect(${wrappedComponentName})`;\n const selectorFactoryOptions = {\n shouldHandleStateChanges,\n displayName,\n wrappedComponentName,\n WrappedComponent,\n // @ts-ignore\n initMapStateToProps,\n // @ts-ignore\n initMapDispatchToProps,\n initMergeProps,\n areStatesEqual,\n areStatePropsEqual,\n areOwnPropsEqual,\n areMergedPropsEqual\n };\n\n function ConnectFunction(props) {\n const [propsContext, reactReduxForwardedRef, wrapperProps] = React.useMemo(() => {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n const {\n reactReduxForwardedRef\n } = props,\n wrapperProps = _objectWithoutPropertiesLoose(props, _excluded);\n\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]);\n const ContextToUse = React.useMemo(() => {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && // @ts-ignore\n isContextConsumer( /*#__PURE__*/React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n const contextValue = React.useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n const didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n const didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(`Could not find \"store\" in the context of ` + `\"${displayName}\". Either wrap the root component in a , ` + `or pass a custom React context provider to and the corresponding ` + `React context consumer to ${displayName} in connect options.`);\n } // Based on the previous check, one of these must be true\n\n\n const store = didStoreComeFromProps ? props.store : contextValue.store;\n const getServerState = didStoreComeFromContext ? contextValue.getServerState : store.getState;\n const childPropsSelector = React.useMemo(() => {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return defaultSelectorFactory(store.dispatch, selectorFactoryOptions);\n }, [store]);\n const [subscription, notifyNestedSubs] = React.useMemo(() => {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n const subscription = createSubscription(store, didStoreComeFromProps ? undefined : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n const notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]); // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n const overriddenContextValue = React.useMemo(() => {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // Set up refs to coordinate values between the subscription effect and the render logic\n\n const lastChildProps = React.useRef();\n const lastWrapperProps = React.useRef(wrapperProps);\n const childPropsFromStoreUpdate = React.useRef();\n const renderIsScheduled = React.useRef(false);\n const isProcessingDispatch = React.useRef(false);\n const isMounted = React.useRef(false);\n const latestSubscriptionCallbackError = React.useRef();\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n const actualChildPropsSelector = React.useMemo(() => {\n const selector = () => {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n };\n\n return selector;\n }, [store, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n const subscribeForReact = React.useMemo(() => {\n const subscribe = reactListener => {\n if (!subscription) {\n return () => {};\n }\n\n return subscribeUpdates(shouldHandleStateChanges, store, subscription, // @ts-ignore\n childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, reactListener);\n };\n\n return subscribe;\n }, [subscription]);\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, childPropsFromStoreUpdate, notifyNestedSubs]);\n let actualChildProps;\n\n try {\n actualChildProps = useSyncExternalStore( // TODO We're passing through a big wrapper that does a bunch of extra side effects besides subscribing\n subscribeForReact, // TODO This is incredibly hacky. We've already processed the store update and calculated new child props,\n // TODO and we're just passing that through so it triggers a re-render for us rather than relying on `uSES`.\n actualChildPropsSelector, getServerState ? () => childPropsSelector(getServerState(), wrapperProps) : actualChildPropsSelector);\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n ;\n err.message += `\\nThe error may be correlated with this previous error:\\n${latestSubscriptionCallbackError.current.stack}\\n\\n`;\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(() => {\n latestSubscriptionCallbackError.current = undefined;\n childPropsFromStoreUpdate.current = undefined;\n lastChildProps.current = actualChildProps;\n }); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n const renderedWrappedComponent = React.useMemo(() => {\n return (\n /*#__PURE__*/\n // @ts-ignore\n React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: reactReduxForwardedRef\n }))\n );\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n const renderedChild = React.useMemo(() => {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return /*#__PURE__*/React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n }\n\n const _Connect = React.memo(ConnectFunction);\n\n // Add a hacky cast to get the right output type\n const Connect = _Connect;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n\n if (forwardRef) {\n const _forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n // @ts-ignore\n return /*#__PURE__*/React.createElement(Connect, _extends({}, props, {\n reactReduxForwardedRef: ref\n }));\n });\n\n const forwarded = _forwarded;\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n\n return wrapWithConnect;\n}\n\nexport default connect;","import * as React from 'react';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider({\n store,\n context,\n children,\n serverState,\n stabilityCheck = 'once',\n noopCheck = 'once'\n}) {\n const contextValue = React.useMemo(() => {\n const subscription = createSubscription(store);\n return {\n store,\n subscription,\n getServerState: serverState ? () => serverState : undefined,\n stabilityCheck,\n noopCheck\n };\n }, [store, serverState, stabilityCheck, noopCheck]);\n const previousState = React.useMemo(() => store.getState(), [store]);\n useIsomorphicLayoutEffect(() => {\n const {\n subscription\n } = contextValue;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return () => {\n subscription.tryUnsubscribe();\n subscription.onStateChange = undefined;\n };\n }, [contextValue, previousState]);\n const Context = context || ReactReduxContext; // @ts-ignore 'AnyAction' is assignable to the constraint of type 'A', but 'A' could be instantiated with a different subtype\n\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nexport default Provider;","import { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext, createReduxContextHook } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context = ReactReduxContext) {\n const useReduxContext = // @ts-ignore\n context === ReactReduxContext ? useDefaultReduxContext : // @ts-ignore\n createReduxContextHook(context);\n return function useStore() {\n const {\n store\n } = useReduxContext(); // @ts-ignore\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport const useStore = /*#__PURE__*/createStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context = ReactReduxContext) {\n const useStore = // @ts-ignore\n context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n const store = useStore(); // @ts-ignore\n\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
\r\n * {value}\r\n * \r\n *
\r\n * )\r\n * }\r\n */\n\nexport const useDispatch = /*#__PURE__*/createDispatchHook();","// The primary entry point assumes we're working with standard ReactDOM/RN, but\n// older versions that do not include `useSyncExternalStore` (React 16.9 - 17.x).\n// Because of that, the useSyncExternalStore compat shim is needed.\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/with-selector';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch';\nimport { initializeUseSelector } from './hooks/useSelector';\nimport { initializeConnect } from './components/connect';\ninitializeUseSelector(useSyncExternalStoreWithSelector);\ninitializeConnect(useSyncExternalStore); // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };\nexport * from './exports';","/**\n * @license React\n * react-is.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 b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import type {\n FormEncType,\n HTMLFormMethod,\n RelativeRoutingType,\n} from \"@remix-run/router\";\nimport { stripBasename, UNSAFE_warning as warning } from \"@remix-run/router\";\n\nexport const defaultMethod: HTMLFormMethod = \"get\";\nconst defaultEncType: FormEncType = \"application/x-www-form-urlencoded\";\n\nexport function isHtmlElement(object: any): object is HTMLElement {\n return object != null && typeof object.tagName === \"string\";\n}\n\nexport function isButtonElement(object: any): object is HTMLButtonElement {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\n\nexport function isFormElement(object: any): object is HTMLFormElement {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\n\nexport function isInputElement(object: any): object is HTMLInputElement {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\n\ntype LimitedMouseEvent = Pick<\n MouseEvent,\n \"button\" | \"metaKey\" | \"altKey\" | \"ctrlKey\" | \"shiftKey\"\n>;\n\nfunction isModifiedEvent(event: LimitedMouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport function shouldProcessLinkClick(\n event: LimitedMouseEvent,\n target?: string\n) {\n return (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n );\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n\nexport function getSearchParamsForLocation(\n locationSearch: string,\n defaultSearchParams: URLSearchParams | null\n) {\n let searchParams = createSearchParams(locationSearch);\n\n if (defaultSearchParams) {\n // Use `defaultSearchParams.forEach(...)` here instead of iterating of\n // `defaultSearchParams.keys()` to work-around a bug in Firefox related to\n // web extensions. Relevant Bugzilla tickets:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1414602\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1023984\n defaultSearchParams.forEach((_, key) => {\n if (!searchParams.has(key)) {\n defaultSearchParams.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n });\n }\n\n return searchParams;\n}\n\n// Thanks https://github.com/sindresorhus/type-fest!\ntype JsonObject = { [Key in string]: JsonValue } & {\n [Key in string]?: JsonValue | undefined;\n};\ntype JsonArray = JsonValue[] | readonly JsonValue[];\ntype JsonPrimitive = string | number | boolean | null;\ntype JsonValue = JsonPrimitive | JsonObject | JsonArray;\n\nexport type SubmitTarget =\n | HTMLFormElement\n | HTMLButtonElement\n | HTMLInputElement\n | FormData\n | URLSearchParams\n | JsonValue\n | null;\n\n// One-time check for submitter support\nlet _formDataSupportsSubmitter: boolean | null = null;\n\nfunction isFormDataSubmitterSupported() {\n if (_formDataSupportsSubmitter === null) {\n try {\n new FormData(\n document.createElement(\"form\"),\n // @ts-expect-error if FormData supports the submitter parameter, this will throw\n 0\n );\n _formDataSupportsSubmitter = false;\n } catch (e) {\n _formDataSupportsSubmitter = true;\n }\n }\n return _formDataSupportsSubmitter;\n}\n\n/**\n * Submit options shared by both navigations and fetchers\n */\ninterface SharedSubmitOptions {\n /**\n * The HTTP method used to submit the form. Overrides `
`.\n * Defaults to \"GET\".\n */\n method?: HTMLFormMethod;\n\n /**\n * The action URL path used to submit the form. Overrides ``.\n * Defaults to the path of the current route.\n */\n action?: string;\n\n /**\n * The encoding used to submit the form. Overrides ``.\n * Defaults to \"application/x-www-form-urlencoded\".\n */\n encType?: FormEncType;\n\n /**\n * Determines whether the form action is relative to the route hierarchy or\n * the pathname. Use this if you want to opt out of navigating the route\n * hierarchy and want to instead route based on /-delimited URL segments\n */\n relative?: RelativeRoutingType;\n\n /**\n * In browser-based environments, prevent resetting scroll after this\n * navigation when using the component\n */\n preventScrollReset?: boolean;\n\n /**\n * Enable flushSync for this submission's state updates\n */\n flushSync?: boolean;\n}\n\n/**\n * Submit options available to fetchers\n */\nexport interface FetcherSubmitOptions extends SharedSubmitOptions {}\n\n/**\n * Submit options available to navigations\n */\nexport interface SubmitOptions extends FetcherSubmitOptions {\n /**\n * Set `true` to replace the current entry in the browser's history stack\n * instead of creating a new one (i.e. stay on \"the same page\"). Defaults\n * to `false`.\n */\n replace?: boolean;\n\n /**\n * State object to add to the history stack entry for this navigation\n */\n state?: any;\n\n /**\n * Indicate a specific fetcherKey to use when using navigate=false\n */\n fetcherKey?: string;\n\n /**\n * navigate=false will use a fetcher instead of a navigation\n */\n navigate?: boolean;\n\n /**\n * Enable view transitions on this submission navigation\n */\n viewTransition?: boolean;\n}\n\nconst supportedFormEncTypes: Set = new Set([\n \"application/x-www-form-urlencoded\",\n \"multipart/form-data\",\n \"text/plain\",\n]);\n\nfunction getFormEncType(encType: string | null) {\n if (encType != null && !supportedFormEncTypes.has(encType as FormEncType)) {\n warning(\n false,\n `\"${encType}\" is not a valid \\`encType\\` for \\`\\`/\\`\\` ` +\n `and will default to \"${defaultEncType}\"`\n );\n\n return null;\n }\n return encType;\n}\n\nexport function getFormSubmissionInfo(\n target: SubmitTarget,\n basename: string\n): {\n action: string | null;\n method: string;\n encType: string;\n formData: FormData | undefined;\n body: any;\n} {\n let method: string;\n let action: string | null;\n let encType: string;\n let formData: FormData | undefined;\n let body: any;\n\n if (isFormElement(target)) {\n // When grabbing the action from the element, it will have had the basename\n // prefixed to ensure non-JS scenarios work, so strip it since we'll\n // re-prefix in the router\n let attr = target.getAttribute(\"action\");\n action = attr ? stripBasename(attr, basename) : null;\n method = target.getAttribute(\"method\") || defaultMethod;\n encType = getFormEncType(target.getAttribute(\"enctype\")) || defaultEncType;\n\n formData = new FormData(target);\n } else if (\n isButtonElement(target) ||\n (isInputElement(target) &&\n (target.type === \"submit\" || target.type === \"image\"))\n ) {\n let form = target.form;\n\n if (form == null) {\n throw new Error(\n `Cannot submit a