PageSourceSearch

https://iamrye.com/_next/static/chunks/0r_m_next_dist_0r39plp._.js

js iamrye.com collected 2026-10-05 07:10:15 UTC 223,059 bytes, 4,548 lines download raw bytes

1(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push([typeof document === "object" ? document.currentScript : undefined,
2"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/router/utils/disable-smooth-scroll.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
3"use strict";
4
5var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$2$2e$2_$40$babel$2b$core$40$7$2e$29$2e$0_react$2d$dom$40$19$2e$2$2e$4_react$40$19$2e$2$2e$4_$5f$react$40$19$2e$2$2e$4$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
6"use strict";
7Object.defineProperty(exports, "__esModule", {
8    value: true
9});
10Object.defineProperty(exports, "disableSmoothScrollDuringRouteTransition", {
11    enumerable: true,
12    get: function() {
13        return disableSmoothScrollDuringRouteTransition;
14    }
15});
16const _warnonce = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/utils/warn-once.js [app-client] (ecmascript)");
17function disableSmoothScrollDuringRouteTransition(fn, options = {}) {
18    // if only the hash is changed, we don't need to disable smooth scrolling
19    // we only care to prevent smooth scrolling when navigating to a new page to avoid jarring UX
20    if (options.onlyHashChange) {
21        fn();
22        return;
23    }
24    const htmlElement = document.documentElement;
25    const hasDataAttribute = htmlElement.dataset.scrollBehavior === 'smooth';
26    if (!hasDataAttribute) {
27        // Warn if smooth scrolling is detected but no data attribute is present
28        if (("TURBOPACK compile-time value", "development") === 'development' && getComputedStyle(htmlElement).scrollBehavior === 'smooth') {
29            (0, _warnonce.warnOnce)('Detected `scroll-behavior: smooth` on the `<html>` element. To disable smooth scrolling during route transitions, ' + 'add `data-scroll-behavior="smooth"` to your <html> element. ' + 'Learn more: https://nextjs.org/docs/messages/missing-data-scroll-behavior');
30        }
31        // No smooth scrolling configured, run directly without style manipulation
32        fn();
33        return;
34    }
35    // Proceed with temporarily disabling smooth scrolling
36    const existing = htmlElement.style.scrollBehavior;
37    htmlElement.style.scrollBehavior = 'auto';
38    if (!options.dontForceLayout) {
39        // In Chrome-based browsers we need to force reflow before calling `scrollTo`.
40        // Otherwise it will not pickup the change in scrollBehavior
41        // More info here: https://github.com/vercel/next.js/issues/40719#issuecomment-1336248042
42        htmlElement.getClientRects();
43    }
44    fn();
45    htmlElement.style.scrollBehavior = existing;
46}
47}),
48"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/components/bfcache-state-manager.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
49"use strict";
50
51var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$2$2e$2_$40$babel$2b$core$40$7$2e$29$2e$0_react$2d$dom$40$19$2e$2$2e$4_react$40$19$2e$2$2e$4_$5f$react$40$19$2e$2$2e$4$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
52"use strict";
53Object.defineProperty(exports, "__esModule", {
54    value: true
55});
56Object.defineProperty(exports, "useRouterBFCache", {
57    enumerable: true,
58    get: function() {
59        return useRouterBFCache;
60    }
61});
62const _react = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
63// When the flag is disabled, only track the currently active tree
64const MAX_BF_CACHE_ENTRIES = ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : 1;
65function useRouterBFCache(activeTree, activeCacheNode, activeStateKey) {
66    // The currently active entry. The entries form a linked list, sorted in
67    // order of most recently active. This allows us to reuse parts of the list
68    // without cloning, unless there's a reordering or removal.
69    // TODO: Once we start tracking back/forward history at each route level,
70    // we should use the history order instead. In other words, when traversing
71    // to an existing entry as a result of a popstate event, we should maintain
72    // the existing order instead of moving it to the front of the list. I think
73    // an initial implementation of this could be to pass an incrementing id
74    // to history.pushState/replaceState, then use that here for ordering.
75    const [prevActiveEntry, setPrevActiveEntry] = (0, _react.useState)(()=>{
76        const initialEntry = {
77            tree: activeTree,
78            cacheNode: activeCacheNode,
79            stateKey: activeStateKey,
80            next: null
81        };
82        return initialEntry;
83    });
84    if (prevActiveEntry.tree === activeTree) {
85        // Fast path. The active tree hasn't changed, so we can reuse the
86        // existing state.
87        return prevActiveEntry;
88    }
89    // The route tree changed. Note that this doesn't mean that the tree changed
90    // *at this level* — the change may be due to a child route. Either way, we
91    // need to either add or update the router tree in the bfcache.
92    //
93    // The rest of the code looks more complicated than it actually is because we
94    // can't mutate the state in place; we have to copy-on-write.
95    // Create a new entry for the active cache key. This is the head of the new
96    // linked list.
97    const newActiveEntry = {
98        tree: activeTree,
99        cacheNode: activeCacheNode,
100        stateKey: activeStateKey,
101        next: null
102    };
103    // We need to append the old list onto the new list. If the head of the new
104    // list was already present in the cache, then we'll need to clone everything
105    // that came before it. Then we can reuse the rest.
106    let n = 1;
107    let oldEntry = prevActiveEntry;
108    let clonedEntry = newActiveEntry;
109    while(oldEntry !== null && n < MAX_BF_CACHE_ENTRIES){
110        if (oldEntry.stateKey === activeStateKey) {
111            // Fast path. This entry in the old list that corresponds to the key that
112            // is now active. We've already placed a clone of this entry at the front
113            // of the new list. We can reuse the rest of the old list without cloning.
114            // NOTE: We don't need to worry about eviction in this case because we
115            // haven't increased the size of the cache, and we assume the max size
116            // is constant across renders. If we were to change it to a dynamic limit,
117            // then the implementation would need to account for that.
118            clonedEntry.next = oldEntry.next;
119            break;
120        } else {
121            // Clone the entry and append it to the list.
122            n++;
123            const entry = {
124                tree: oldEntry.tree,
125                cacheNode: oldEntry.cacheNode,
126                stateKey: oldEntry.stateKey,
127                next: null
128            };
129            clonedEntry.next = entry;
130            clonedEntry = entry;
131        }
132        oldEntry = oldEntry.next;
133    }
134    setPrevActiveEntry(newActiveEntry);
135    return newActiveEntry;
136}
137if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {
138    Object.defineProperty(exports.default, '__esModule', {
139        value: true
140    });
141    Object.assign(exports.default, exports);
142    module.exports = exports.default;
143}
144}),
145"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/components/layout-router.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
146"use strict";
147
148var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$2$2e$2_$40$babel$2b$core$40$7$2e$29$2e$0_react$2d$dom$40$19$2e$2$2e$4_react$40$19$2e$2$2e$4_$5f$react$40$19$2e$2$2e$4$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
149'use client';
150"use strict";
151Object.defineProperty(exports, "__esModule", {
152    value: true
153});
1540 && (module.exports = {
155    LoadingBoundaryProvider: null,
156    default: null
157});
158function _export(target, all) {
159    for(var name in all)Object.defineProperty(target, name, {
160        enumerable: true,
161        get: all[name]
162    });
163}
164_export(exports, {
165    LoadingBoundaryProvider: function() {
166        return LoadingBoundaryProvider;
167    },
168    /**
169 * OuterLayoutRouter handles the current segment as well as <Offscreen> rendering of other segments.
170 * It can be rendered next to each other with a different `parallelRouterKey`, allowing for Parallel routes.
171 */ default: function() {
172        return OuterLayoutRouter;
173    }
174});
175const _interop_require_default = __turbopack_context__.r("[project]/node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/cjs/_interop_require_default.cjs [app-client] (ecmascript)");
176const _interop_require_wildcard = __turbopack_context__.r("[project]/node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs [app-client] (ecmascript)");
177const _jsxruntime = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
178const _react = /*#__PURE__*/ _interop_require_wildcard._(__turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"));
179const _reactdom = /*#__PURE__*/ _interop_require_default._(__turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/compiled/react-dom/index.js [app-client] (ecmascript)"));
180const _approutercontextsharedruntime = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js [app-client] (ecmascript)");
181const _unresolvedthenable = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/components/unresolved-thenable.js [a
181pp-client] (ecmascript)");
182const _errorboundary = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/components/error-boundary.js [app-client] (ecmascript)");
183const _disablesmoothscroll = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/router/utils/disable-smooth-scroll.js [app-client] (ecmascript)");
184const _redirectboundary = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/components/redirect-boundary.js [app-client] (ecmascript)");
185const _errorboundary1 = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js [app-client] (ecmascript)");
186const _createroutercachekey = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js [app-client] (ecmascript)");
187const _bfcachestatemanager = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/components/bfcache-state-manager.js [app-client] (ecmascript)");
188const _apppaths = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/router/utils/app-paths.js [app-client] (ecmascript)");
189const _hooksclientcontextsharedruntime = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js [app-client] (ecmascript)");
190const _routeparams = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/route-params.js [app-client] (ecmascript)");
191const _pprnavigations = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js [app-client] (ecmascript)");
192const enableNewScrollHandler = ("TURBOPACK compile-time value", false);
193const __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = _reactdom.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
194// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available
195/**
196 * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning
197 */ function findDOMNode(instance) {
198    // Tree-shake for server bundle
199    if (typeof window === 'undefined') return null;
200    // __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode is null during module init.
201    // We need to lazily reference it.
202    const internal_reactDOMfindDOMNode = __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode;
203    return internal_reactDOMfindDOMNode(instance);
204}
205const rectProperties = [
206    'bottom',
207    'height',
208    'left',
209    'right',
210    'top',
211    'width',
212    'x',
213    'y'
214];
215/**
216 * Check if a HTMLElement is hidden or fixed/sticky position
217 */ function shouldSkipElement(element) {
218    // we ignore fixed or sticky positioned elements since they'll likely pass the "in-viewport" check
219    // and will result in a situation we bail on scroll because of something like a fixed nav,
220    // even though the actual page content is offscreen
221    if ([
222        'sticky',
223        'fixed'
224    ].includes(getComputedStyle(element).position)) {
225        return true;
226    }
227    // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent`
228    // because `offsetParent` doesn't consider document/body
229    const rect = element.getBoundingClientRect();
230    return rectProperties.every((item)=>rect[item] === 0);
231}
232/**
233 * Check if the top corner of the HTMLElement is in the viewport.
234 */ function topOfElementInViewport(instance, viewportHeight) {
235    const rects = instance.getClientRects();
236    if (rects.length === 0) {
237        // Just to be explicit.
238        return false;
239    }
240    let elementTop = Number.POSITIVE_INFINITY;
241    for(let i = 0; i < rects.length; i++){
242        const rect = rects[i];
243        if (rect.top < elementTop) {
244            elementTop = rect.top;
245        }
246    }
247    return elementTop >= 0 && elementTop <= viewportHeight;
248}
249/**
250 * Find the DOM node for a hash fragment.
251 * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior.
252 * If the hash fragment is an id, the page has to scroll to the element with that id.
253 * If the hash fragment is a name, the page has to scroll to the first element with that name.
254 */ function getHashFragmentDomNode(hashFragment) {
255    // If the hash fragment is `top` the page has to scroll to the top of the page.
256    if (hashFragment === 'top') {
257        return document.body;
258    }
259    // If the hash fragment is an id, the page has to scroll to the element with that id.
260    return document.getElementById(hashFragment) ?? // If the hash fragment is a name, the page has to scroll to the first element with that name.
261    document.getElementsByName(hashFragment)[0];
262}
263class InnerScrollAndFocusHandlerOld extends _react.default.Component {
264    componentDidMount() {
265        this.handlePotentialScroll();
266    }
267    componentDidUpdate() {
268        this.handlePotentialScroll();
269    }
270    render() {
271        return this.props.children;
272    }
273    constructor(...args){
274        super(...args), this.handlePotentialScroll = ()=>{
275            // Handle scroll and focus, it's only applied once.
276            const { focusAndScrollRef, cacheNode } = this.props;
277            const scrollRef = focusAndScrollRef.forceScroll ? focusAndScrollRef.scrollRef : cacheNode.scrollRef;
278            if (scrollRef === null || !scrollRef.current) return;
279            let domNode = null;
280            const hashFragment = focusAndScrollRef.hashFragment;
281            if (hashFragment) {
282                domNode = getHashFragmentDomNode(hashFragment);
283            }
284            // `findDOMNode` is tricky because it returns just the first child if the component is a fragment.
285            // This already caused a bug where the first child was a <link/> in head.
286            if (!domNode) {
287                domNode = findDOMNode(this);
288            }
289            // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree.
290            if (!(domNode instanceof Element)) {
291                return;
292            }
293            // Verify if the element is a HTMLElement and if we want to consider it for scroll behavior.
294            // If the element is skipped, try to select the next sibling and try again.
295            while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){
296                if ("TURBOPACK compile-time truthy", 1) {
297                    if (domNode.parentElement?.localName === 'head') {
298                    // We enter this state when metadata was rendered as part of the page or via Next.js.
299                    // This is always a bug in Next.js and caused by React hoisting metadata.
300                    // Fixed with `experimental.appNewScrollHandler`
301                    }
302                }
303                // No siblings found that match the criteria are found, so handle scroll higher up in the tree instead.
304                if (domNode.nextElementSibling === null) {
305                    return;
306                }
307                domNode = domNode.nextElementSibling;
308            }
309            // Mark as scrolled so no other segment scrolls for this navigation.
310            scrollRef.current = false;
311            (0, _disablesmoothscroll.disableSmoothScrollDuringRouteTransition)(()=>{
312                // In case of hash scroll, we only need to scroll the element into view
313                if (hashFragment) {
314                    domNode.scrollIntoView();
315                    return;
316                }
317                // Store the current viewport height because reading `clientHeight` causes a reflow,
318                // and it won't change during this function.
319                const htmlElement = document.documentElement;
320                const viewportHeight = htmlElement.clientHeight;
321                // If the element's top edge is already in the viewport, exit early.
322                if (topOfElementInViewport(domNode, viewportHeight)) {
323                    return;
324                }
325                // Otherwise, try scrolling go the top of the document to be backward compatible with pages
326                // scrollIntoView() called on `<html/>` element scrolls horizontally on chrome and firefox (that shouldn't happen)
327                // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left
328                // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically
329                htmlElement.scrollTop = 0;
330                // Scroll to domNode if domNode is not in viewport when scrolled to top of document
331                if (!topOfElementInViewport(domNode, viewportHeight)) {
332                    // Scroll into view doesn't scroll horizontally by default when not needed
333                    domNode.scrollIntoView();
334                }
335            }, {
336                // We will force layout by querying domNode position
337                dontForceLayout: true,
338                onlyHashChange: focusAndScrollRef.onlyHashChange
339            });
340            // Mutate after scrolling so that it can be read by `disableSmoothScrollDuringRouteTransition`
341            focusAndScrollRef.onlyHashChange = false;
342            focusAndScrollRef.hashFragment = null;
343            // Set focus on the element
344            domNode.focus();
345        };
346    }
347}
348/**
349 * Fork of InnerScrollAndFocusHandlerOld using Fragment refs for scrolling.
350 * No longer focuses the first host descendant.
351 */ function InnerScrollHandlerNew(props) {
352    const childrenRef = _react.default.useRef(null);
353    (0, _react.useLayoutEffect)(()=>{
354        const { focusAndScrollRef, cacheNode } = props;
355        const scrollRef = focusAndScrollRef.forceScroll ? focusAndScrollRef.scrollRef : cacheNode.scrollRef;
356        if (scrollRef === null || !scrollRef.current) return;
357        let instance = null;
358        const hashFragment = focusAndScrollRef.hashFragment;
359        if (hashFragment) {
360            instance = getHashFragmentDomNode(hashFragment);
361        }
362        if (!instance) {
363            instance = childrenRef.current;
364        }
365        // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree.
366        if (instance === null) {
367            return;
368        }
369        // Mark as scrolled so no other segment scrolls for this navigation.
370        scrollRef.current = false;
371        const activeElement = document.activeElement;
372        if (activeElement !== null && 'blur' in activeElement && typeof activeElement.blur === 'function') {
373            // Trying to match hard navigations.
374            // Ideally we'd move the internal focus cursor either to the top
375            // or at least before the segment. But there's no DOM API to do that,
376            // so we just blur.
377            // We could workaround this by moving focus to a temporary element in
378            // the body. But adding elements might trigger layout or other effects
379            // so it should be well motivated.
380            activeElement.blur();
381        }
382        (0, _disablesmoothscroll.disableSmoothScrollDuringRouteTransition)(()=>{
383            // In case of hash scroll, we only need to scroll the element into view
384            if (hashFragment) {
385                instance.scrollIntoView();
386                return;
387            }
388            // Store the current viewport height because reading `clientHeight` causes a reflow,
389            // and it won't change during this function.
390            const htmlElement = document.documentElement;
391            const viewportHeight = htmlElement.clientHeight;
392            // If the element's top edge is already in the viewport, exit early.
393            if (topOfElementInViewport(instance, viewportHeight)) {
394                return;
395            }
396            // Otherwise, try scrolling go the top of the document to be backward compatible with pages
397            // scrollIntoView() called on `<html/>` element scrolls horizontally on chrome and firefox (that shouldn't happen)
398            // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left
399            // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically
400            htmlElement.scrollTop = 0;
401            // Scroll to domNode if domNode is not in viewport when scrolled to top of document
402            if (!topOfElementInViewport(instance, viewportHeight)) {
403                // Scroll into view doesn't scroll horizontally by default when not needed
404                instance.scrollIntoView();
405            }
406        }, {
407            // We will force layout by querying domNode position
408            dontForceLayout: true,
409            onlyHashChange: focusAndScrollRef.onlyHashChange
410        });
411        // Mutate after scrolling so that it can be read by `disableSmoothScrollDuringRouteTransition`
412        focusAndScrollRef.onlyHashChange = false;
413        focusAndScrollRef.hashFragment = null;
414    }, // but be prepared for lots of manual testing.
415    undefined);
416    return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Fragment, {
417        ref: childrenRef,
418        children: props.children
419    });
420}
421const InnerScrollAndMaybeFocusHandler = ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : InnerScrollAndFocusHandlerOld;
422function ScrollAndMaybeFocusHandler({ children, cacheNode }) {
423    const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);
424    if (!context) {
425        throw Object.defineProperty(new Error('invariant global layout router not mounted'), "__NEXT_ERROR_CODE", {
426            value: "E473",
427            enumerable: false,
428            configurable: true
429        });
430    }
431    return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndMaybeFocusHandler, {
432        focusAndScrollRef: context.focusAndScrollRef,
433        cacheNode: cacheNode,
434        children: children
435    });
436}
437/**
438 * InnerLayoutRouter handles rendering the provided segment based on the cache.
439 */ function InnerLayoutRouter({ tree, segmentPath, debugNameContext, cacheNode: maybeCacheNode, params, url, isActive }) {
440    const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);
441    const parentNavPromises = (0, _react.useContext)(_hooksclientcontextsharedruntime.NavigationPromisesContext);
442    if (!context) {
443        throw Object.defineProperty(new Error('invariant global layout router not mounted'), "__NEXT_ERROR_CODE", {
444            value: "E473",
445            enumerable: false,
446            configurable: true
447        });
448    }
449    const cacheNode = maybeCacheNode !== null ? maybeCacheNode : // This should only be reachable for inactive/hidden segments, during
450    // prerendering The active segment should always be consistent with the
451    // CacheNode tree. Regardless, if we don't have a matching CacheNode, we
452    // must suspend rather than render nothing, to prevent showing an
453    // inconsistent route.
454    (0, _react.use)(_unresolvedthenable.unresolvedThenable);
455    // `rsc` represents the renderable node for this segment.
456    // If this segment has a `prefetchRsc`, it's the statically prefetched data.
457    // We should use that on initial render instead of `rsc`. Then we'll switch
458    // to `rsc` when the dynamic response streams in.
459    //
460    // If no prefetch data is available, then we go straight to rendering `rsc`.
461    const resolvedPrefetchRsc = cacheNode.prefetchRsc !== null ? cacheNode.prefetchRsc : cacheNode.rsc;
462    // We use `useDeferredValue` to handle switching between the prefetched and
463    // final values. The second argument is returned on initial render, then it
464    // re-renders with the first argument.
465    const rsc = (0, _react.useDeferredValue)(cacheNode.rsc, resolvedPrefetchRsc);
466    // `rsc` is either a React node or a promise for a React node, except we
467    // special case `null` to represent that this segment's data is missing. If
468    // it's a promise, we need to unwrap it so we can determine whether or not the
469    // data is missing.
470    let resolvedRsc;
471    if ((0, _pprnavigations.isDeferredRsc)(rsc)) {
472        const unwrappedRsc = (0, _react.use)(rsc);
473        if (unwrappedRsc === null) {
474            // If the promise was resolved to `null`, it means the data for this
475            // segment was not returned by the server. Suspend indefinitely. When this
476            // happens, the router is responsible for triggering a new state update to
477            // un-suspend this segment.
478            (0, _react.use)(_unresolvedthenable.unresolvedThenable);
479        }
480        resolvedRsc = unwrappedRsc;
481    } else {
482        // This is not a deferred RSC promise. Don't need to unwrap it.
483        if (rsc === null) {
484            (0, _react.use)(_unresolvedthenable.unresolvedThenable);
485        }
486        resolvedRsc = rsc;
487    }
488    // In dev, we create a NavigationPromisesContext containing the instrumented promises that provide
489    // `useSelectedLayoutSegment` and `useSelectedLayoutSegments`.
490    // Promises are cached outside of render to survive suspense retries.
491    let navigationPromises = null;
492    if ("TURBOPACK compile-time truthy", 1) {
493        const { createNestedLayoutNavigationPromises } = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/components/navigation-devtools.js [app-client] (ecmascript)");
494        navigationPromises = createNestedLayoutNavigationPromises(tree, parentNavPromises);
495    }
496    let children = resolvedRsc;
497    if (navigationPromises) {
498        children = /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.NavigationPromisesContext.Provider, {
499            value: navigationPromises,
500            children: resolvedRsc
501        });
502    }
503    children = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {
504        value: {
505            parentTree: tree,
506            parentCacheNode: cacheNode,
507            parentSegmentPath: segmentPath,
508            parentParams: params,
509            // This is always set to null as we enter a child segment. It's
510            // populated by LoadingBoundaryProvider the next time we reach a
511            // loading boundary.
512            parentLoadingData: null,
513            debugNameContext: debugNameContext,
514            // TODO-APP: overriding of url for parallel routes
515            url: url,
516            isActive: isActive
517        },
518        children: children
519    });
520    return children;
521}
522function LoadingBoundaryProvider({ loading, children }) {
523    // Provides the data needed to render a loading.tsx boundary, via context.
524    //
525    // loading.tsx creates a Suspense boundary around each of a layout's child
526    // slots. (Might be bit confusing to think about the data flow, but: if
527    // loading.tsx and layout.tsx are in the same directory, they are assigned
528    // to the same CacheNode.)
529    //
530    // This provider component does not render the Suspense boundary directly;
531    // that's handled by LoadingBoundary.
532    //
533    // TODO: For simplicity, we should combine this provider with LoadingBoundary
534    // and render the Suspense boundary directly. The only real benefit of doing
535    // it separately is so that when there are multiple parallel routes, we only
536    // send the boundary data once, rather than once per child. But that's a
537    // negligible benefit and can be achieved via caching instead.
538    const parentContext = (0, _react.use)(_approutercontextsharedruntime.LayoutRouterContext);
539    if (parentContext === null) {
540        return children;
541    }
542    // All values except for parentLoadingData are the same as the parent context.
543    return /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {
544        value: {
545            parentTree: parentContext.parentTree,
546            parentCacheNode: parentContext.parentCacheNode,
547            parentSegmentPath: parentContext.parentSegmentPath,
548            parentParams: parentContext.parentParams,
549            parentLoadingData: loading,
550            debugNameContext: parentContext.debugNameContext,
551            url: parentContext.url,
552            isActive: parentContext.isActive
553        },
554        children: children
555    });
556}
557/**
558 * Renders suspense boundary with the provided "loading" property as the fallback.
559 * If no loading property is provided it renders the children without a suspense boundary.
560 */ function LoadingBoundary({ name, loading, children }) {
561    // TODO: For LoadingBoundary, and the other built-in boundary types, don't
562    // wrap in an extra function component if no user-defined boundary is
563    // provided. In other words, inline this conditional wrapping logic into
564    // the parent component. More efficient and keeps unnecessary junk out of
565    // the component stack.
566    if (loading !== null) {
567        const loadingRsc = loading[0];
568        const loadingStyles = loading[1];
569        const loadingScripts = loading[2];
570        return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {
571            name: name,
572            fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
573                children: [
574                    loadingStyles,
575                    loadingScripts,
576                    loadingRsc
577                ]
578            }),
579            children: children
580        });
581    }
582    return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
583        children: children
584    });
585}
586function OuterLayoutRouter({ parallelRouterKey, error, errorStyles, errorScripts, templateStyles, templateScripts, template, notFound, forbidden, unauthorized, segmentViewBoundaries }) {
587    const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);
588    if (!context) {
589        throw Object.defineProperty(new Error('invariant expected layout router to be mounted'), "__NEXT_ERROR_CODE", {
590            value: "E56",
591            enumerable: false,
592            configurable: true
593        });
594    }
595    const { parentTree, parentCacheNode, parentSegmentPath, parentParams, parentLoadingData, url, isActive, debugNameContext } = context;
596    // Get the CacheNode for this segment by reading it from the parent segment's
597    // child map.
598    const parentTreeSegment = parentTree[0];
599    const segmentPath = parentSegmentPath === null ? // the code. We should clean this up.
600    [
601        parallelRouterKey
602    ] : parentSegmentPath.concat([
603        parentTreeSegment,
604        parallelRouterKey
605    ]);
606    // The "state" key of a segment is the one passed to React — it represents the
607    // identity of the UI tree. Whenever the state key changes, the tree is
608    // recreated and the state is reset. In the App Router model, search params do
609    // not cause state to be lost, so two segments with the same segment path but
610    // different search params should have the same state key.
611    //
612    // The "cache" key of a segment, however, *does* include the search params, if
613    // it's possible that the segment accessed the search params on the server.
614    // (This only applies to page segments; layout segments cannot access search
615    // params on the server.)
616    const activeTree = parentTree[1][parallelRouterKey];
617    const maybeParentSlots = parentCacheNode.slots;
618    if (activeTree === undefined || maybeParentSlots === null) {
619        // Could not find a matching segment. The client tree is inconsistent with
620        // the server tree. Suspend indefinitely; the router will have already
621        // detected the inconsistency when handling the server response, and
622        // triggered a refresh of the page to recover.
623        (0, _react.use)(_unresolvedthenable.unresolvedThenable);
624    }
625    let maybeValidationBoundaryId = null;
626    if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
627    ;
628    const activeSegment = activeTree[0];
629    const activeCacheNode = maybeParentSlots[parallelRouterKey] ?? null;
630    const activeStateKey = (0, _createroutercachekey.createRouterCacheKey)(activeSegment, true) // no search params
631    ;
632    // At each level of the route tree, not only do we render the currently
633    // active segment — we also render the last N segments that were active at
634    // this level inside a hidden <Activity> boundary, to preserve their state
635    // if or when the user navigates to them again.
636    //
637    // bfcacheEntry is a linked list of FlightRouterStates.
638    let bfcacheEntry = (0, _bfcachestatemanager.useRouterBFCache)(activeTree, activeCacheNode, activeStateKey);
639    let children = [];
640    do {
641        const tree = bfcacheEntry.tree;
642        const cacheNode = bfcacheEntry.cacheNode;
643        const stateKey = bfcacheEntry.stateKey;
644        const segment = tree[0];
645        /*
646    - Error boundary
647      - Only renders error boundary if error component is provided.
648      - Rendered for each segment to ensure they have their own error state.
649      - When gracefully degrade for bots, skip rendering error boundary.
650    - Loading boundary
651      - Only renders suspense boundary if loading components is provided.
652      - Rendered for each segment to ensure they have their own loading state.
653      - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch.
654  */ let segmentBoundaryTriggerNode = null;
655        let segmentViewStateNode = null;
656        if ("TURBOPACK compile-time truthy", 1) {
657            const { SegmentBoundaryTriggerNode, SegmentViewStateNode } = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js [app-client] (ecmascript)");
658            const pagePrefix = (0, _apppaths.normalizeAppPath)(url);
659            segmentViewStateNode = /*#__PURE__*/ (0, _jsxruntime.jsx)(SegmentViewStateNode, {
660                page: pagePrefix
661            }, pagePrefix);
662            segmentBoundaryTriggerNode = /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
663                children: /*#__PURE__*/ (0, _jsxruntime.jsx)(SegmentBoundaryTriggerNode, {})
664            });
665        }
666        let params = parentParams;
667        if (Array.isArray(segment)) {
668            // This segment contains a route param. Accumulate these as we traverse
669            // down the router tree. The result represents the set of params that
670            // the layout/page components are permitted to access below this point.
671            const paramName = segment[0];
672            const paramCacheKey = segment[1];
673            const paramType = segment[2];
674            const paramValue = (0, _routeparams.getParamValueFromCacheKey)(paramCacheKey, paramType);
675            if (paramValue !== null) {
676                params = {
677                    ...parentParams,
678                    [paramName]: paramValue
679                };
680            }
681        }
682        const debugName = getBoundaryDebugNameFromSegment(segment);
683        // `debugNameContext` represents the nearest non-"virtual" parent segment.
684        // `getBoundaryDebugNameFromSegment` returns undefined for virtual segments.
685        // So if `debugName` is undefined, the context is passed through unchanged.
686        const childDebugNameContext = debugName ?? debugNameContext;
687        // In practical terms, clicking this name in the Suspense DevTools
688        // should select the child slots of that layout.
689        //
690        // So the name we apply to the Activity boundary is actually based on
691        // the nearest parent segments.
692        //
693        // We skip over "virtual" parents, i.e. ones inserted by Next.js that
694        // don't correspond to application-defined code.
695        const isVirtual = debugName === undefined;
696        const debugNameToDisplay = isVirtual ? undefined : debugNameContext;
697        let templateValue = /*#__PURE__*/ (0, _jsxruntime.jsxs)(ScrollAndMaybeFocusHandler, {
698            cacheNode: cacheNode,
699            children: [
700                /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {
701                    errorComponent: error,
702                    errorStyles: errorStyles,
703                    errorScripts: errorScripts,
704                    children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, {
705                        name: debugNameToDisplay,
706                        // TODO: The loading module data for a segment is stored on the
707                        // parent, then applied to each of that parent segment's
708                        // parallel route slots. In the simple case where there's only
709                        // one parallel route (the `children` slot), this is no
710                        // different from if the loading module data were stored on the
711                        // child directly. But I'm not sure this actually makes sense
712                        // when there are multiple parallel routes. It's not a huge
713                        // issue because you always have the option to define a narrower
714                        // loading boundary for a particular slot. But this sort of
715                        // smells like an implementation accident to me.
716                        loading: parentLoadingData,
717                        children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary1.HTTPAccessFallbackBoundary, {
718                            notFound: notFound,
719                            forbidden: forbidden,
720                            unauthorized: unauthorized,
721                            children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, {
722                                children: [
723                                    /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, {
724                                        url: url,
725                                        tree: tree,
726                                        params: params,
727                                        cacheNode: cacheNode,
728                                        segmentPath: segmentPath,
729                                        debugNameContext: childDebugNameContext,
730                                        isActive: isActive && stateKey === activeStateKey
731                                    }),
732                                    segmentBoundaryTriggerNode
733                                ]
734                            })
735                        })
736                    })
737                }),
738                segmentViewStateNode
739            ]
740        });
741        if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
742        ;
743        let child = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, {
744            value: templateValue,
745            children: [
746                templateStyles,
747                templateScripts,
748                template
749            ]
750        }, stateKey);
751        if ("TURBOPACK compile-time truthy", 1) {
752            const { SegmentStateProvider } = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js [app-client] (ecmascript)");
753            child = /*#__PURE__*/ (0, _jsxruntime.jsxs)(SegmentStateProvider, {
754                children: [
755                    child,
756                    segmentViewBoundaries
757                ]
758            }, stateKey);
759        }
760        if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
761        ;
762        children.push(child);
763        bfcacheEntry = bfcacheEntry.next;
764    }while (bfcacheEntry !== null)
765    return children;
766}
767function getBoundaryDebugNameFromSegment(segment) {
768    if (segment === '/') {
769        // Reached the root
770        return '/';
771    }
772    if (typeof segment === 'string') {
773        if (isVirtualLayout(segment)) {
774            return undefined;
775        } else {
776            return segment + '/';
777        }
778    }
779    const paramCacheKey = segment[1];
780    return paramCacheKey + '/';
781}
782function isVirtualLayout(segment) {
783    return(// (like __PAGE__ and __DEFAULT__) to avoid collisions with
784    // user-defined route groups.
785    segment === '(__SLOT__)');
786}
787if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {
788    Object.defineProperty(exports.default, '__esModule', {
789        value: true
790    });
791    Object.assign(exports.default, exports);
792    module.exports = exports.default;
793}
794}),
795"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/components/render-from-template-context.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
796"use strict";
797
798Object.defineProperty(exports, "__esModule", {
799    value: true
800});
801Object.defineProperty(exports, "default", {
802    enumerable: true,
803    get: function() {
804        return RenderFromTemplateContext;
805    }
806});
807const _interop_require_wildcard = __turbopack_context__.r("[project]/node_modules/.pnpm/@[email protected]/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs [app-client] (ecmascript)");
808const _jsxruntime = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
809const _react = /*#__PURE__*/ _interop_require_wildcard._(__turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"));
810const _approutercontextsharedruntime = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js [app-client] (ecmascript)");
811function RenderFromTemplateContext() {
812    const children = (0, _react.useContext)(_approutercontextsharedruntime.TemplateContext);
813    return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {
814        children: children
815    });
816}
817if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {
818    Object.defineProperty(exports.default, '__esModule', {
819        value: true
820    });
821    Object.assign(exports.default, exports);
822    module.exports = exports.default;
823}
824}),
825"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
826"use strict";
827
828Object.defineProperty(exports, "__esModule", {
829    value: true
830});
831Object.defineProperty(exports, "ReflectAdapter", {
832    enumerable: true,
833    get: function() {
834        return ReflectAdapter;
835    }
836});
837class ReflectAdapter {
838    static get(target, prop, receiver) {
839        const value = Reflect.get(target, prop, receiver);
840        if (typeof value === 'function') {
841            return value.bind(target);
842        }
843        return value;
844    }
845    static set(target, prop, value, receiver) {
846        return Reflect.set(target, prop, value, receiver);
847    }
848    static has(target, prop) {
849        return Reflect.has(target, prop);
850    }
851    static deleteProperty(target, prop) {
852        return Reflect.deleteProperty(target, prop);
853    }
854}
855}),
856"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
857"use strict";
858
859// This regex will have fast negatives meaning valid identifiers may not pass
860// this test. However this is only used during static generation to provide hints
861// about why a page bailed out of some or all prerendering and we can use bracket notation
862// for example while `ಠ_ಠ` is a valid identifier it's ok to print `searchParams['ಠ_ಠ']`
863// even if this would have been fine too `searchParams.ಠ_ಠ`
864Object.defineProperty(exports, "__esModule", {
865    value: true
866});
8670 && (module.exports = {
868    describeHasCheckingStringProperty: null,
869    describeStringPropertyAccess: null,
870    wellKnownProperties: null
871});
872function _export(target, all) {
873    for(var name in all)Object.defineProperty(target, name, {
874        enumerable: true,
875        get: all[name]
876    });
877}
878_export(exports, {
879    describeHasCheckingStringProperty: function() {
880        return describeHasCheckingStringProperty;
881    },
882    describeStringPropertyAccess: function() {
883        return describeStringPropertyAccess;
884    },
885    wellKnownProperties: function() {
886        return wellKnownProperties;
887    }
888});
889const isDefinitelyAValidIdentifier = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
890function describeStringPropertyAccess(target, prop) {
891    if (isDefinitelyAValidIdentifier.test(prop)) {
892        return `\`${target}.${prop}\``;
893    }
894    return `\`${target}[${JSON.stringify(prop)}]\``;
895}
896function describeHasCheckingStringProperty(target, prop) {
897    const stringifiedProp = JSON.stringify(prop);
898    return `\`Reflect.has(${target}, ${stringifiedProp})\`, \`${stringifiedProp} in ${target}\`, or similar`;
899}
900const wellKnownProperties = new Set([
901    'hasOwnProperty',
902    'isPrototypeOf',
903    'propertyIsEnumerable',
904    'toString',
905    'valueOf',
906    'toLocaleString',
907    // Promise prototype
908    'then',
909    'catch',
910    'finally',
911    // React Promise extension
912    'status',
913    // 'value',
914    // 'error',
915    // React introspection
916    'displayName',
917    '_debugInfo',
918    // Common tested properties
919    'toJSON',
920    '$$typeof',
921    '__esModule',
922    // Tested by flight when checking for iterables
923    '@@iterator'
924]);
925}),
926"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/request/search-params.browser.dev.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
927"use strict";
928
929Object.defineProperty(exports, "__esModule", {
930    value: true
931});
932Object.defineProperty(exports, "createRenderSearchParamsFromClient", {
933    enumerable: true,
934    get: function() {
935        return createRenderSearchParamsFromClient;
936    }
937});
938const _reflect = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)");
939const _reflectutils = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)");
940const CachedSearchParams = new WeakMap();
941function makeUntrackedSearchParamsWithDevWarnings(underlyingSearchParams) {
942    const cachedSearchParams = CachedSearchParams.get(underlyingSearchParams);
943    if (cachedSearchParams) {
944        return cachedSearchParams;
945    }
946    const proxiedProperties = new Set();
947    const promise = Promise.resolve(underlyingSearchParams);
948    Object.keys(underlyingSearchParams).forEach((prop)=>{
949        if (_reflectutils.wellKnownProperties.has(prop)) {
950        // These properties cannot be shadowed because they need to be the
951        // true underlying value for Promises to work correctly at runtime
952        } else {
953            proxiedProperties.add(prop);
954        }
955    });
956    const proxiedPromise = new Proxy(promise, {
957        get (target, prop, receiver) {
958            if (typeof prop === 'string') {
959                if (!_reflectutils.wellKnownProperties.has(prop) && (proxiedProperties.has(prop) || // We are accessing a property that doesn't exist on the promise nor
960                // the underlying searchParams.
961                Reflect.has(target, prop) === false)) {
962                    const expression = (0, _reflectutils.describeStringPropertyAccess)('searchParams', prop);
963                    warnForSyncAccess(expression);
964                }
965            }
966            return _reflect.ReflectAdapter.get(target, prop, receiver);
967        },
968        set (target, prop, value, receiver) {
969            if (typeof prop === 'string') {
970                proxiedProperties.delete(prop);
971            }
972            return Reflect.set(target, prop, value, receiver);
973        },
974        has (target, prop) {
975            if (typeof prop === 'string') {
976                if (!_reflectutils.wellKnownProperties.has(prop) && (proxiedProperties.has(prop) || // We are accessing a property that doesn't exist on the promise nor
977                // the underlying searchParams.
978                Reflect.has(target, prop) === false)) {
979                    const expression = (0, _reflectutils.describeHasCheckingStringProperty)('searchParams', prop);
980                    warnForSyncAccess(expression);
981                }
982            }
983            return Reflect.has(target, prop);
984        },
985        ownKeys (target) {
986            warnForSyncSpread();
987            return Reflect.ownKeys(target);
988        }
989    });
990    CachedSearchParams.set(underlyingSearchParams, proxiedPromise);
991    return proxiedPromise;
992}
993function warnForSyncAccess(expression) {
994    console.error(`A searchParam property was accessed directly with ${expression}. ` + `\`searchParams\` is a Promise and must be unwrapped with \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`);
995}
996function warnForSyncSpread() {
997    console.error(`The keys of \`searchParams\` were accessed directly. ` + `\`searchParams\` is a Promise and must be unwrapped with \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`);
998}
999function createRenderSearchParamsFromClient(underlyingSearchParams) {
1000    return makeUntrackedSearchParamsWithDevWarnings(underlyingSearchParams);
1001}
1002if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {
1003    Object.defineProperty(exports.default, '__esModule', {
1004        value: true
1005    });
1006    Object.assign(exports.default, exports);
1007    module.exports = exports.default;
1008}
1009}),
1010"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/request/search-params.browser.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
1011"use strict";
1012
1013var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$2$2e$2_$40$babel$2b$core$40$7$2e$29$2e$0_react$2d$dom$40$19$2e$2$2e$4_react$40$19$2e$2$2e$4_$5f$react$40$19$2e$2$2e$4$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
1014"use strict";
1015Object.defineProperty(exports, "__esModule", {
1016    value: true
1017});
1018Object.defineProperty(exports, "createRenderSearchParamsFromClient", {
1019    enumerable: true,
1020    get: function() {
1021        return createRenderSearchParamsFromClient;
1022    }
1023});
1024const createRenderSearchParamsFromClient = ("TURBOPACK compile-time truthy", 1) ? __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/request/search-params.browser.dev.js [app-client] (ecmascript)").createRenderSearchParamsFromClient : "TURBOPACK unreachable";
1025if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {
1026    Object.defineProperty(exports.default, '__esModule', {
1027        value: true
1028    });
1029    Object.assign(exports.default, exports);
1030    module.exports = exports.default;
1031}
1032}),
1033"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/request/params.browser.dev.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
1034"use strict";
1035
1036Object.defineProperty(exports, "__esModule", {
1037    value: true
1038});
1039Object.defineProperty(exports, "createRenderParamsFromClient", {
1040    enumerable: true,
1041    get: function() {
1042        return createRenderParamsFromClient;
1043    }
1044});
1045const _reflect = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)");
1046const _reflectutils = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)");
1047const CachedParams = new WeakMap();
1048function makeDynamicallyTrackedParamsWithDevWarnings(underlyingParams) {
1049    const cachedParams = CachedParams.get(underlyingParams);
1050    if (cachedParams) {
1051        return cachedParams;
1052    }
1053    // We don't use makeResolvedReactPromise here because params
1054    // supports copying with spread and we don't want to unnecessarily
1055    // instrument the promise with spreadable properties of ReactPromise.
1056    const promise = Promise.resolve(underlyingParams);
1057    const proxiedProperties = new Set();
1058    Object.keys(underlyingParams).forEach((prop)=>{
1059        if (_reflectutils.wellKnownProperties.has(prop)) {
1060        // These properties cannot be shadowed because they need to be the
1061        // true underlying value for Promises to work correctly at runtime
1062        } else {
1063            proxiedProperties.add(prop);
1064        }
1065    });
1066    const proxiedPromise = new Proxy(promise, {
1067        get (target, prop, receiver) {
1068            if (typeof prop === 'string') {
1069                if (proxiedProperties.has(prop)) {
1070                    const expression = (0, _reflectutils.describeStringPropertyAccess)('params', prop);
1071                    warnForSyncAccess(expression);
1072                }
1073            }
1074            return _reflect.ReflectAdapter.get(target, prop, receiver);
1075        },
1076        set (target, prop, value, receiver) {
1077            if (typeof prop === 'string') {
1078                proxiedProperties.delete(prop);
1079            }
1080            return _reflect.ReflectAdapter.set(target, prop, value, receiver);
1081        },
1082        ownKeys (target) {
1083            warnForEnumeration();
1084            return Reflect.ownKeys(target);
1085        }
1086    });
1087    CachedParams.set(underlyingParams, proxiedPromise);
1088    return proxiedPromise;
1089}
1090function warnForSyncAccess(expression) {
1091    console.error(`A param property was accessed directly with ${expression}. ` + `\`params\` is a Promise and must be unwrapped with \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`);
1092}
1093function warnForEnumeration() {
1094    console.error(`params are being enumerated. ` + `\`params\` is a Promise and must be unwrapped with \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`);
1095}
1096function createRenderParamsFromClient(clientParams) {
1097    return makeDynamicallyTrackedParamsWithDevWarnings(clientParams);
1098}
1099if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {
1100    Object.defineProperty(exports.default, '__esModule', {
1101        value: true
1102    });
1103    Object.assign(exports.default, exports);
1104    module.exports = exports.default;
1105}
1106}),
1107"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/request/params.browser.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
1108"use strict";
1109
1110var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$2$2e$2_$40$babel$2b$core$40$7$2e$29$2e$0_react$2d$dom$40$19$2e$2$2e$4_react$40$19$2e$2$2e$4_$5f$react$40$19$2e$2$2e$4$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
1111"use strict";
1112Object.defineProperty(exports, "__esModule", {
1113    value: true
1114});
1115Object.defineProperty(exports, "createRenderParamsFromClient", {
1116    enumerable: true,
1117    get: function() {
1118        return createRenderParamsFromClient;
1119    }
1120});
1121const createRenderParamsFromClient = ("TURBOPACK compile-time truthy", 1) ? __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/request/params.browser.dev.js [app-client] (ecmascript)").createRenderParamsFromClient : "TURBOPACK unreachable";
1122if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {
1123    Object.defineProperty(exports.default, '__esModule', {
1124        value: true
1125    });
1126    Object.assign(exports.default, exports);
1127    module.exports = exports.default;
1128}
1129}),
1130"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/vary-params.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
1131"use strict";
1132
1133Object.defineProperty(exports, "__esModule", {
1134    value: true
1135});
11360 && (module.exports = {
1137    accumulateRootVaryParam: null,
1138    accumulateVaryParam: null,
1139    createResponseVaryParamsAccumulator: null,
1140    createVaryParamsAccumulator: null,
1141    createVaryingParams: null,
1142    createVaryingSearchParams: null,
1143    emptyVaryParamsAccumulator: null,
1144    finishAccumulatingVaryParams: null,
1145    getMetadataVaryParamsAccumulator: null,
1146    getMetadataVaryParamsThenable: null,
1147    getRootParamsVaryParamsAccumulator: null,
1148    getVaryParamsThenable: null,
1149    getViewportVaryParamsAccumulator: null
1150});
1151function _export(target, all) {
1152    for(var name in all)Object.defineProperty(target, name, {
1153        enumerable: true,
1154        get: all[name]
1155    });
1156}
1157_export(exports, {
1158    accumulateRootVaryParam: function() {
1159        return accumulateRootVaryParam;
1160    },
1161    accumulateVaryParam: function() {
1162        return accumulateVaryParam;
1163    },
1164    createResponseVaryParamsAccumulator: function() {
1165        return createResponseVaryParamsAccumulator;
1166    },
1167    createVaryParamsAccumulator: function() {
1168        return createVaryParamsAccumulator;
1169    },
1170    createVaryingParams: function() {
1171        return createVaryingParams;
1172    },
1173    createVaryingSearchParams: function() {
1174        return createVaryingSearchParams;
1175    },
1176    emptyVaryParamsAccumulator: function() {
1177        return emptyVaryParamsAccumulator;
1178    },
1179    finishAccumulatingVaryParams: function() {
1180        return finishAccumulatingVaryParams;
1181    },
1182    getMetadataVaryParamsAccumulator: function() {
1183        return getMetadataVaryParamsAccumulator;
1184    },
1185    getMetadataVaryParamsThenable: function() {
1186        return getMetadataVaryParamsThenable;
1187    },
1188    getRootParamsVaryParamsAccumulator: function() {
1189        return getRootParamsVaryParamsAccumulator;
1190    },
1191    getVaryParamsThenable: function() {
1192        return getVaryParamsThenable;
1193    },
1194    getViewportVaryParamsAccumulator: function() {
1195        return getViewportVaryParamsAccumulator;
1196    }
1197});
1198const _workunitasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/wor
1198k-unit-async-storage.external.js [app-client] (ecmascript)");
1199function createSegmentVaryParamsAccumulator() {
1200    const accumulator = {
1201        varyParams: new Set(),
1202        status: 'pending',
1203        value: new Set(),
1204        then (onfulfilled) {
1205            if (onfulfilled) {
1206                if (accumulator.status === 'pending') {
1207                    accumulator.resolvers.push(onfulfilled);
1208                } else {
1209                    onfulfilled(accumulator.value);
1210                }
1211            }
1212        },
1213        resolvers: []
1214    };
1215    return accumulator;
1216}
1217/**
1218 * A singleton accumulator that's already resolved to an empty Set. Use this for
1219 * segments where we know upfront that no params will be accessed, such as
1220 * client components or segments without user code.
1221 *
1222 * Benefits:
1223 * - No need to accumulate or resolve later
1224 * - Resilient: resolves correctly even if other tracking fails
1225 * - Memory efficient: reuses the same object
1226 */ const emptySet = new Set();
1227const emptyVaryParamsAccumulator = {
1228    varyParams: emptySet,
1229    status: 'fulfilled',
1230    value: emptySet,
1231    then (onfulfilled) {
1232        if (onfulfilled) {
1233            onfulfilled(emptySet);
1234        }
1235    },
1236    resolvers: []
1237};
1238function createResponseVaryParamsAccumulator() {
1239    // Create the head and rootParams accumulators as top-level fields.
1240    // Segment accumulators are added to the segments set as they are created.
1241    const head = createSegmentVaryParamsAccumulator();
1242    const rootParams = createSegmentVaryParamsAccumulator();
1243    const segments = new Set();
1244    return {
1245        head,
1246        rootParams,
1247        segments
1248    };
1249}
1250function createVaryParamsAccumulator() {
1251    const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
1252    if (workUnitStore) {
1253        switch(workUnitStore.type){
1254            case 'prerender':
1255            case 'prerender-runtime':
1256                {
1257                    const responseAccumulator = workUnitStore.varyParamsAccumulator;
1258                    if (responseAccumulator !== null) {
1259                        const accumulator = createSegmentVaryParamsAccumulator();
1260                        responseAccumulator.segments.add(accumulator);
1261                        return accumulator;
1262                    }
1263                    return null;
1264                }
1265            case 'prerender-ppr':
1266            case 'prerender-legacy':
1267            case 'request':
1268            case 'cache':
1269            case 'private-cache':
1270            case 'prerender-client':
1271            case 'validation-client':
1272            case 'unstable-cache':
1273            case 'generate-static-params':
1274                break;
1275            default:
1276                workUnitStore;
1277        }
1278    }
1279    return null;
1280}
1281function getMetadataVaryParamsAccumulator() {
1282    const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
1283    if (workUnitStore) {
1284        switch(workUnitStore.type){
1285            case 'prerender':
1286            case 'prerender-runtime':
1287                {
1288                    const responseAccumulator = workUnitStore.varyParamsAccumulator;
1289                    if (responseAccumulator !== null) {
1290                        return responseAccumulator.head;
1291                    }
1292                    return null;
1293                }
1294            case 'prerender-ppr':
1295            case 'prerender-legacy':
1296            case 'request':
1297            case 'cache':
1298            case 'private-cache':
1299            case 'prerender-client':
1300            case 'validation-client':
1301            case 'unstable-cache':
1302            case 'generate-static-params':
1303                return null;
1304            default:
1305                workUnitStore;
1306        }
1307    }
1308    return null;
1309}
1310function getVaryParamsThenable(accumulator) {
1311    return accumulator;
1312}
1313function getMetadataVaryParamsThenable() {
1314    const accumulator = getMetadataVaryParamsAccumulator();
1315    if (accumulator !== null) {
1316        return getVaryParamsThenable(accumulator);
1317    }
1318    return null;
1319}
1320const getViewportVaryParamsAccumulator = getMetadataVaryParamsAccumulator;
1321function getRootParamsVaryParamsAccumulator() {
1322    const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
1323    if (workUnitStore) {
1324        switch(workUnitStore.type){
1325            case 'prerender':
1326            case 'prerender-runtime':
1327                {
1328                    const responseAccumulator = workUnitStore.varyParamsAccumulator;
1329                    if (responseAccumulator !== null) {
1330                        return responseAccumulator.rootParams;
1331                    }
1332                    return null;
1333                }
1334            case 'prerender-ppr':
1335            case 'prerender-legacy':
1336            case 'request':
1337            case 'cache':
1338            case 'private-cache':
1339            case 'prerender-client':
1340            case 'validation-client':
1341            case 'unstable-cache':
1342            case 'generate-static-params':
1343                return null;
1344            default:
1345                workUnitStore;
1346        }
1347    }
1348    return null;
1349}
1350function accumulateVaryParam(accumulator, paramName) {
1351    accumulator.varyParams.add(paramName);
1352}
1353function accumulateRootVaryParam(paramName) {
1354    const rootParamsAccumulator = getRootParamsVaryParamsAccumulator();
1355    if (rootParamsAccumulator !== null) {
1356        accumulateVaryParam(rootParamsAccumulator, paramName);
1357    }
1358}
1359function createVaryingParams(accumulator, originalParamsObject, optionalCatchAllParamName) {
1360    if (optionalCatchAllParamName !== null) {
1361        // When there's an optional catch-all param with no value (e.g.,
1362        // [[...slug]] at /), the param doesn't exist as a property on the params
1363        // object. Use a Proxy to track all param access — both existing params
1364        // and the missing optional param — including enumeration patterns like
1365        // Object.keys(), spread, for...in, and `in` checks.
1366        return new Proxy(originalParamsObject, {
1367            get (target, prop, receiver) {
1368                if (typeof prop === 'string') {
1369                    if (prop === optionalCatchAllParamName || Object.prototype.hasOwnProperty.call(target, prop)) {
1370                        accumulateVaryParam(accumulator, prop);
1371                    }
1372                }
1373                return Reflect.get(target, prop, receiver);
1374            },
1375            has (target, prop) {
1376                if (prop === optionalCatchAllParamName) {
1377                    accumulateVaryParam(accumulator, optionalCatchAllParamName);
1378                }
1379                return Reflect.has(target, prop);
1380            },
1381            ownKeys (target) {
1382                // Enumerating the params object means the user's code may depend on
1383                // which params are present, so conservatively track the optional
1384                // param as accessed.
1385                accumulateVaryParam(accumulator, optionalCatchAllParamName);
1386                return Reflect.ownKeys(target);
1387            }
1388        });
1389    }
1390    // When there's no optional catch-all, all params exist as properties on the
1391    // object, so we can use defineProperty getters instead of a Proxy. This is
1392    // faster because the engine can optimize property access on regular objects
1393    // more aggressively than Proxy trap calls.
1394    const underlyingParamsWithVarying = {};
1395    for(const paramName in originalParamsObject){
1396        Object.defineProperty(underlyingParamsWithVarying, paramName, {
1397            get () {
1398                accumulateVaryParam(accumulator, paramName);
1399                return originalParamsObject[paramName];
1400            },
1401            enumerable: true
1402        });
1403    }
1404    return underlyingParamsWithVarying;
1405}
1406function createVaryingSearchParams(accumulator, originalSearchParamsObject) {
1407    const underlyingSearchParamsWithVarying = {};
1408    for(const searchParamName in originalSearchParamsObject){
1409        Object.defineProperty(underlyingSearchParamsWithVarying, searchParamName, {
1410            get () {
1411                // TODO: Unlike path params, we don't vary track each search param
1412                // individually. The entire search string is treated as a single param.
1413                // This may change in the future.
1414                accumulateVaryParam(accumulator, '?');
1415                return originalSearchParamsObject[searchParamName];
1416            },
1417            enumerable: true
1418        });
1419    }
1420    return underlyingSearchParamsWithVarying;
1421}
1422async function finishAccumulatingVaryParams(responseAccumulator) {
1423    const rootVaryParams = responseAccumulator.rootParams.varyParams;
1424    // Resolve head
1425    finishSegmentAccumulator(responseAccumulator.head, rootVaryParams);
1426    // Resolve each segment
1427    for (const segmentAccumulator of responseAccumulator.segments){
1428        finishSegmentAccumulator(segmentAccumulator, rootVaryParams);
1429    }
1430    // Now that the thenables are resolved, Flight should be able to flush the
1431    // vary params into the response stream. This work gets scheduled internally
1432    // by Flight using a microtask as soon as we notify the thenable listeners.
1433    //
1434    // We need to ensure that Flight's pending queues are emptied before this
1435    // function returns; the caller will abort the prerender immediately after.
1436    // We can't use a macrotask, because that would allow dynamic IO to sneak
1437    // into the response. So we use microtasks instead.
1438    //
1439    // The exact number of awaits here isn't important (indeed, one seems to be
1440    // sufficient, at the time of writing), as long as we wait enough ticks for
1441    // Flight to finish writing the response.
1442    //
1443    // Anything that remains in Flight's internal queue after these awaits must
1444    // be actual dynamic IO, not caused by pending vary params tasks. In other
1445    // words, failing to do this would cause us to treat a fully static prerender
1446    // as if it were partially dynamic.
1447    await Promise.resolve();
1448    await Promise.resolve();
1449    await Promise.resolve();
1450}
1451function finishSegmentAccumulator(accumulator, rootVaryParams) {
1452    if (accumulator.status !== 'pending') {
1453        return;
1454    }
1455    const merged = new Set(accumulator.varyParams);
1456    for (const param of rootVaryParams){
1457        merged.add(param);
1458    }
1459    accumulator.value = merged;
1460    accumulator.status = 'fulfilled';
1461    for (const resolver of accumulator.resolvers){
1462        resolver(merged);
1463    }
1464    accumulator.resolvers = [];
1465}
1466}),
1467"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports
1467) => {
1468"use strict";
1469
1470var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$2$2e$2_$40$babel$2b$core$40$7$2e$29$2e$0_react$2d$dom$40$19$2e$2$2e$4_react$40$19$2e$2$2e$4_$5f$react$40$19$2e$2$2e$4$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
1471"use strict";
1472Object.defineProperty(exports, "__esModule", {
1473    value: true
1474});
1475Object.defineProperty(exports, "createDedupedByCallsiteServerErrorLoggerDev", {
1476    enumerable: true,
1477    get: function() {
1478        return createDedupedByCallsiteServerErrorLoggerDev;
1479    }
1480});
1481const _react = /*#__PURE__*/ _interop_require_wildcard(__turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"));
1482function _getRequireWildcardCache(nodeInterop) {
1483    if (typeof WeakMap !== "function") return null;
1484    var cacheBabelInterop = new WeakMap();
1485    var cacheNodeInterop = new WeakMap();
1486    return (_getRequireWildcardCache = function(nodeInterop) {
1487        return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
1488    })(nodeInterop);
1489}
1490function _interop_require_wildcard(obj, nodeInterop) {
1491    if (!nodeInterop && obj && obj.__esModule) {
1492        return obj;
1493    }
1494    if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
1495        return {
1496            default: obj
1497        };
1498    }
1499    var cache = _getRequireWildcardCache(nodeInterop);
1500    if (cache && cache.has(obj)) {
1501        return cache.get(obj);
1502    }
1503    var newObj = {
1504        __proto__: null
1505    };
1506    var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
1507    for(var key in obj){
1508        if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
1509            var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
1510            if (desc && (desc.get || desc.set)) {
1511                Object.defineProperty(newObj, key, desc);
1512            } else {
1513                newObj[key] = obj[key];
1514            }
1515        }
1516    }
1517    newObj.default = obj;
1518    if (cache) {
1519        cache.set(obj, newObj);
1520    }
1521    return newObj;
1522}
1523const errorRef = {
1524    current: null
1525};
1526// React.cache is currently only available in canary/experimental React channels.
1527const cache = typeof _react.cache === 'function' ? _react.cache : (fn)=>fn;
1528// When Cache Components is enabled, we record these as errors so that they
1529// are captured by the dev overlay as it's more critical to fix these
1530// when enabled.
1531const logErrorOrWarn = ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : console.warn;
1532// We don't want to dedupe across requests.
1533// The developer might've just attempted to fix the warning so we should warn again if it still happens.
1534const flushCurrentErrorIfNew = cache((key)=>{
1535    try {
1536        logErrorOrWarn(errorRef.current);
1537    } finally{
1538        errorRef.current = null;
1539    }
1540});
1541function createDedupedByCallsiteServerErrorLoggerDev(getMessage) {
1542    return function logDedupedError(...args) {
1543        const message = getMessage(...args);
1544        if ("TURBOPACK compile-time truthy", 1) {
1545            var _stack;
1546            const callStackFrames = (_stack = new Error().stack) == null ? void 0 : _stack.split('\n');
1547            if (callStackFrames === undefined || callStackFrames.length < 4) {
1548                logErrorOrWarn(message);
1549            } else {
1550                // Error:
1551                //   logDedupedError
1552                //   asyncApiBeingAccessedSynchronously
1553                //   <userland callsite>
1554                // TODO: This breaks if sourcemaps with ignore lists are enabled.
1555                const key = callStackFrames[4];
1556                errorRef.current = message;
1557                flushCurrentErrorIfNew(key);
1558            }
1559        } else //TURBOPACK unreachable
1560        ;
1561    };
1562}
1563}),
1564"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports
1564) => {
1565"use strict";
1566
1567Object.defineProperty(exports, "__esModule", {
1568    value: true
1569});
1570Object.defineProperty(exports, "afterTaskAsyncStorageInstance", {
1571    enumerable: true,
1572    get: function() {
1573        return afterTaskAsyncStorageInstance;
1574    }
1575});
1576const _asynclocalstorage = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/async-local-storage.js [app-client] (ecmascript)");
1577const afterTaskAsyncStorageInstance = (0, _asynclocalstorage.createAsyncLocalStorage)();
1578}),
1579"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/after-task-async-storage.external.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
1580"use strict";
1581
1582Object.defineProperty(exports, "__esModule", {
1583    value: true
1584});
1585Object.defineProperty(exports, "afterTaskAsyncStorage", {
1586    enumerable: true,
1587    get: function() {
1588        return _aftertaskasyncstorageinstance.afterTaskAsyncStorageInstance;
1589    }
1590});
1591const _aftertaskasyncstorageinstance = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js [app-client] (ecmascript)");
1592}),
1593"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/request/utils.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
1594"use strict";
1595
1596Object.defineProperty(exports, "__esModule", {
1597    value: true
1598});
15990 && (module.exports = {
1600    isRequestAPICallableInsideAfter: null,
1601    throwForSearchParamsAccessInUseCache: null,
1602    throwWithStaticGenerationBailoutErrorWithDynamicError: null
1603});
1604function _export(target, all) {
1605    for(var name in all)Object.defineProperty(target, name, {
1606        enumerable: true,
1607        get: all[name]
1608    });
1609}
1610_export(exports, {
1611    isRequestAPICallableInsideAfter: function() {
1612        return isRequestAPICallableInsideAfter;
1613    },
1614    throwForSearchParamsAccessInUseCache: function() {
1615        return throwForSearchParamsAccessInUseCache;
1616    },
1617    throwWithStaticGenerationBailoutErrorWithDynamicError: function() {
1618        return throwWithStaticGenerationBailoutErrorWithDynamicError;
1619    }
1620});
1621const _staticgenerationbailout = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/components/static-generation-bailout.js [app-client] (ecmascript)");
1622const _aftertaskasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/after-task-async-storage.external.js [app-client] (ecmascript)");
1623function throwWithStaticGenerationBailoutErrorWithDynamicError(route, expression) {
1624    throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError(`Route ${route} with \`dynamic = "error"\` couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`), "__NEXT_ERROR_CODE", {
1625        value: "E543",
1626        enumerable: false,
1627        configurable: true
1628    });
1629}
1630function throwForSearchParamsAccessInUseCache(workStore, constructorOpt) {
1631    const error = Object.defineProperty(new Error(`Route ${workStore.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`), "__NEXT_ERROR_CODE", {
1632        value: "E842",
1633        enumerable: false,
1634        configurable: true
1635    });
1636    Error.captureStackTrace(error, constructorOpt);
1637    workStore.invalidDynamicUsageError ??= error;
1638    throw error;
1639}
1640function isRequestAPICallableInsideAfter() {
1641    const afterTaskStore = _aftertaskasyncstorageexternal.afterTaskAsyncStorage.getStore();
1642    return (afterTaskStore == null ? void 0 : afterTaskStore.rootTaskSpawnPhase) === 'action';
1643}
1644}),
1645"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
1646"use strict";
1647
1648var __defProp = Object.defineProperty;
1649var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
1650var __getOwnPropNames = Object.getOwnPropertyNames;
1651var __hasOwnProp = Object.prototype.hasOwnProperty;
1652var __export = (target, all)=>{
1653    for(var name in all)__defProp(target, name, {
1654        get: all[name],
1655        enumerable: true
1656    });
1657};
1658var __copyProps = (to, from, except, desc)=>{
1659    if (from && typeof from === "object" || typeof from === "function") {
1660        for (let key of __getOwnPropNames(from))if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
1661            get: ()=>from[key],
1662            enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
1663        });
1664    }
1665    return to;
1666};
1667var __toCommonJS = (mod)=>__copyProps(__defProp({}, "__esModule", {
1668        value: true
1669    }), mod);
1670// src/index.ts
1671var src_exports = {};
1672__export(src_exports, {
1673    RequestCookies: ()=>RequestCookies,
1674    ResponseCookies: ()=>ResponseCookies,
1675    parseCookie: ()=>parseCookie,
1676    parseSetCookie: ()=>parseSetCookie,
1677    stringifyCookie: ()=>stringifyCookie
1678});
1679module.exports = __toCommonJS(src_exports);
1680// src/serialize.ts
1681function stringifyCookie(c) {
1682    var _a;
1683    const attrs = [
1684        "path" in c && c.path && `Path=${c.path}`,
1685        "expires" in c && (c.expires || c.expires === 0) && `Expires=${(typeof c.expires === "number" ? new Date(c.expires) : c.expires).toUTCString()}`,
1686        "maxAge" in c && typeof c.maxAge === "number" && `Max-Age=${c.maxAge}`,
1687        "domain" in c && c.domain && `Domain=${c.domain}`,
1688        "secure" in c && c.secure && "Secure",
1689        "httpOnly" in c && c.httpOnly && "HttpOnly",
1690        "sameSite" in c && c.sameSite && `SameSite=${c.sameSite}`,
1691        "partitioned" in c && c.partitioned && "Partitioned",
1692        "priority" in c && c.priority && `Priority=${c.priority}`
1693    ].filter(Boolean);
1694    const stringified = `${c.name}=${encodeURIComponent((_a = c.value) != null ? _a : "")}`;
1695    return attrs.length === 0 ? stringified : `${stringified}; ${attrs.join("; ")}`;
1696}
1697function parseCookie(cookie) {
1698    const map = /* @__PURE__ */ new Map();
1699    for (const pair of cookie.split(/; */)){
1700        if (!pair) continue;
1701        const splitAt = pair.indexOf("=");
1702        if (splitAt === -1) {
1703            map.set(pair, "true");
1704            continue;
1705        }
1706        const [key, value] = [
1707            pair.slice(0, splitAt),
1708            pair.slice(splitAt + 1)
1709        ];
1710        try {
1711            map.set(key, decodeURIComponent(value != null ? value : "true"));
1712        } catch  {}
1713    }
1714    return map;
1715}
1716function parseSetCookie(setCookie) {
1717    if (!setCookie) {
1718        return void 0;
1719    }
1720    const [[name, value], ...attributes] = parseCookie(setCookie);
1721    const { domain, expires, httponly, maxage, path, samesite, secure, partitioned, priority } = Object.fromEntries(attributes.map(([key, value2])=>[
1722            key.toLowerCase().replace(/-/g, ""),
1723            value2
1724        ]));
1725    const cookie = {
1726        name,
1727        value: decodeURIComponent(value),
1728        domain,
1729        ...expires && {
1730            expires: new Date(expires)
1731        },
1732        ...httponly && {
1733            httpOnly: true
1734        },
1735        ...typeof maxage === "string" && {
1736            maxAge: Number(maxage)
1737        },
1738        path,
1739        ...samesite && {
1740            sameSite: parseSameSite(samesite)
1741        },
1742        ...secure && {
1743            secure: true
1744        },
1745        ...priority && {
1746            priority: parsePriority(priority)
1747        },
1748        ...partitioned && {
1749            partitioned: true
1750        }
1751    };
1752    return compact(cookie);
1753}
1754function compact(t) {
1755    const newT = {};
1756    for(const key in t){
1757        if (t[key]) {
1758            newT[key] = t[key];
1759        }
1760    }
1761    return newT;
1762}
1763var SAME_SITE = [
1764    "strict",
1765    "lax",
1766    "none"
1767];
1768function parseSameSite(string) {
1769    string = string.toLowerCase();
1770    return SAME_SITE.includes(string) ? string : void 0;
1771}
1772var PRIORITY = [
1773    "low",
1774    "medium",
1775    "high"
1776];
1777function parsePriority(string) {
1778    string = string.toLowerCase();
1779    return PRIORITY.includes(string) ? string : void 0;
1780}
1781function splitCookiesString(cookiesString) {
1782    if (!cookiesString) return [];
1783    var cookiesStrings = [];
1784    var pos = 0;
1785    var start;
1786    var ch;
1787    var lastComma;
1788    var nextStart;
1789    var cookiesSeparatorFound;
1790    function skipWhitespace() {
1791        while(pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))){
1792            pos += 1;
1793        }
1794        return pos < cookiesString.length;
1795    }
1796    function notSpecialChar() {
1797        ch = cookiesString.charAt(pos);
1798        return ch !== "=" && ch !== ";" && ch !== ",";
1799    }
1800    while(pos < cookiesString.length){
1801        start = pos;
1802        cookiesSeparatorFound = false;
1803        while(skipWhitespace()){
1804            ch = cookiesString.charAt(pos);
1805            if (ch === ",") {
1806                lastComma = pos;
1807                pos += 1;
1808                skipWhitespace();
1809                nextStart = pos;
1810                while(pos < cookiesString.length && notSpecialChar()){
1811                    pos += 1;
1812                }
1813                if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") {
1814                    cookiesSeparatorFound = true;
1815                    pos = nextStart;
1816                    cookiesStrings.push(cookiesString.substring(start, lastComma));
1817                    start = pos;
1818                } else {
1819                    pos = lastComma + 1;
1820                }
1821            } else {
1822                pos += 1;
1823            }
1824        }
1825        if (!cookiesSeparatorFound || pos >= cookiesString.length) {
1826            cookiesStrings.push(cookiesString.substring(start, cookiesString.length));
1827        }
1828    }
1829    return cookiesStrings;
1830}
1831// src/request-cookies.ts
1832var RequestCookies = class {
1833    constructor(requestHeaders){
1834        /** @internal */ this._parsed = /* @__PURE__ */ new Map();
1835        this._headers = requestHeaders;
1836        const header = requestHeaders.get("cookie");
1837        if (header) {
1838            const parsed = parseCookie(header);
1839            for (const [name, value] of parsed){
1840                this._parsed.set(name, {
1841                    name,
1842                    value
1843                });
1844            }
1845        }
1846    }
1847    [Symbol.iterator]() {
1848        return this._parsed[Symbol.iterator]();
1849    }
1850    /**
1851   * The amount of cookies received from the client
1852   */ get size() {
1853        return this._parsed.size;
1854    }
1855    get(...args) {
1856        const name = typeof args[0] === "string" ? args[0] : args[0].name;
1857        return this._parsed.get(name);
1858    }
1859    getAll(...args) {
1860        var _a;
1861        const all = Array.from(this._parsed);
1862        if (!args.length) {
1863            return all.map(([_, value])=>value);
1864        }
1865        const name = typeof args[0] === "string" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;
1866        return all.filter(([n])=>n === name).map(([_, value])=>value);
1867    }
1868    has(name) {
1869        return this._parsed.has(name);
1870    }
1871    set(...args) {
1872        const [name, value] = args.length === 1 ? [
1873            args[0].name,
1874            args[0].value
1875        ] : args;
1876        const map = this._parsed;
1877        map.set(name, {
1878            name,
1879            value
1880        });
1881        this._headers.set("cookie", Array.from(map).map(([_, value2])=>stringifyCookie(value2)).join("; "));
1882        return this;
1883    }
1884    /**
1885   * Delete the cookies matching the passed name or names in the request.
1886   */ delete(names) {
1887        const map = this._parsed;
1888        const result = !Array.isArray(names) ? map.delete(names) : names.map((name)=>map.delete(name));
1889        this._headers.set("cookie", Array.from(map).map(([_, value])=>stringifyCookie(value)).join("; "));
1890        return result;
1891    }
1892    /**
1893   * Delete all the cookies in the cookies in the request.
1894   */ clear() {
1895        this.delete(Array.from(this._parsed.keys()));
1896        return this;
1897    }
1898    /**
1899   * Format the cookies in the request as a string for logging
1900   */ [Symbol.for("edge-runtime.inspect.custom")]() {
1901        return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;
1902    }
1903    toString() {
1904        return [
1905            ...this._parsed.values()
1906        ].map((v)=>`${v.name}=${encodeURIComponent(v.value)}`).join("; ");
1907    }
1908};
1909// src/response-cookies.ts
1910var ResponseCookies = class {
1911    constructor(responseHeaders){
1912        /** @internal */ this._parsed = /* @__PURE__ */ new Map();
1913        var _a, _b, _c;
1914        this._headers = responseHeaders;
1915        const setCookie = (_c = (_b = (_a = responseHeaders.getSetCookie) == null ? void 0 : _a.call(responseHeaders)) != null ? _b : responseHeaders.get("set-cookie")) != null ? _c : [];
1916        const cookieStrings = Array.isArray(setCookie) ? setCookie : splitCookiesString(setCookie);
1917        for (const cookieString of cookieStrings){
1918            const parsed = parseSetCookie(cookieString);
1919            if (parsed) this._parsed.set(parsed.name, parsed);
1920        }
1921    }
1922    /**
1923   * {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise.
1924   */ get(...args) {
1925        const key = typeof args[0] === "string" ? args[0] : args[0].name;
1926        return this._parsed.get(key);
1927    }
1928    /**
1929   * {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise.
1930   */ getAll(...args) {
1931        var _a;
1932        const all = Array.from(this._parsed.values());
1933        if (!args.length) {
1934            return all;
1935        }
1936        const key = typeof args[0] === "string" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;
1937        return all.filter((c)=>c.name === key);
1938    }
1939    has(name) {
1940        return this._parsed.has(name);
1941    }
1942    /**
1943   * {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise.
1944   */ set(...args) {
1945        const [name, value, cookie] = args.length === 1 ? [
1946            args[0].name,
1947            args[0].value,
1948            args[0]
1949        ] : args;
1950        const map = this._parsed;
1951        map.set(name, normalizeCookie({
1952            name,
1953            value,
1954            ...cookie
1955        }));
1956        replace(map, this._headers);
1957        return this;
1958    }
1959    /**
1960   * {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise.
1961   */ delete(...args) {
1962        const [name, options] = typeof args[0] === "string" ? [
1963            args[0]
1964        ] : [
1965            args[0].name,
1966            args[0]
1967        ];
1968        return this.set({
1969            ...options,
1970            name,
1971            value: "",
1972            expires: /* @__PURE__ */ new Date(0)
1973        });
1974    }
1975    [Symbol.for("edge-runtime.inspect.custom")]() {
1976        return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;
1977    }
1978    toString() {
1979        return [
1980            ...this._parsed.values()
1981        ].map(stringifyCookie).join("; ");
1982    }
1983};
1984function replace(bag, headers) {
1985    headers.delete("set-cookie");
1986    for (const [, value] of bag){
1987        const serialized = stringifyCookie(value);
1988        headers.append("set-cookie", serialized);
1989    }
1990}
1991function normalizeCookie(cookie = {
1992    name: "",
1993    value: ""
1994}) {
1995    if (typeof cookie.expires === "number") {
1996        cookie.expires = new Date(cookie.expires);
1997    }
1998    if (cookie.maxAge) {
1999        cookie.expires = new Date(Date.now() + cookie.maxAge * 1e3);
2000    }
2001    if (cookie.path === null || cookie.path === void 0) {
2002        cookie.path = "/";
2003    }
2004    return cookie;
2005}
2006// Annotate the CommonJS export names for ESM import in node:
20070 && (module.exports = {
2008    RequestCookies,
2009    ResponseCookies,
2010    parseCookie,
2011    parseSetCookie,
2012    stringifyCookie
2013});
2014}),
2015"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/web/spec-extension/cookies.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
2016"use strict";
2017
2018Object.defineProperty(exports, "__esModule", {
2019    value: true
2020});
20210 && (module.exports = {
2022    RequestCookies: null,
2023    ResponseCookies: null,
2024    stringifyCookie: null
2025});
2026function _export(target, all) {
2027    for(var name in all)Object.defineProperty(target, name, {
2028        enumerable: true,
2029        get: all[name]
2030    });
2031}
2032_export(exports, {
2033    RequestCookies: function() {
2034        return _cookies.RequestCookies;
2035    },
2036    ResponseCookies: function() {
2037        return _cookies.ResponseCookies;
2038    },
2039    stringifyCookie: function() {
2040        return _cookies.stringifyCookie;
2041    }
2042});
2043const _cookies = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js [app-client] (ecmascript)");
2044}),
2045"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
2046"use strict";
2047
2048Object.defineProperty(exports, "__esModule", {
2049    value: true
2050});
20510 && (module.exports = {
2052    MutableRequestCookiesAdapter: null,
2053    ReadonlyRequestCookiesError: null,
2054    RequestCookiesAdapter: null,
2055    appendMutableCookies: null,
2056    areCookiesMutableInCurrentPhase: null,
2057    createCookiesWithMutableAccessCheck: null,
2058    getModifiedCookieValues: null,
2059    responseCookiesToRequestCookies: null
2060});
2061function _export(target, all) {
2062    for(var name in all)Object.defineProperty(target, name, {
2063        enumerable: true,
2064        get: all[name]
2065    });
2066}
2067_export(exports, {
2068    MutableRequestCookiesAdapter: function() {
2069        return MutableRequestCookiesAdapter;
2070    },
2071    ReadonlyRequestCookiesError: function() {
2072        return ReadonlyRequestCookiesError;
2073    },
2074    RequestCookiesAdapter: function() {
2075        return RequestCookiesAdapter;
2076    },
2077    appendMutableCookies: function() {
2078        return appendMutableCookies;
2079    },
2080    areCookiesMutableInCurrentPhase: function() {
2081        return areCookiesMutableInCurrentPhase;
2082    },
2083    createCookiesWithMutableAccessCheck: function() {
2084        return createCookiesWithMutableAccessCheck;
2085    },
2086    getModifiedCookieValues: function() {
2087        return getModifiedCookieValues;
2088    },
2089    responseCookiesToRequestCookies: function() {
2090        return responseCookiesToRequestCookies;
2091    }
2092});
2093const _cookies = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/web/spec-extension/cookies.js [app-client] (ecmascript)");
2094const _reflect = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)");
2095const _workasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/work-async-storage.external.js [app-client] (ecmascript)");
2096const _actionrevalidationkind = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/action-revalidation-kind.js [app-client] (ecmascript)");
2097class ReadonlyRequestCookiesError extends Error {
2098    constructor(){
2099        super('Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options');
2100    }
2101    static callable() {
2102        throw new ReadonlyRequestCookiesError();
2103    }
2104}
2105class RequestCookiesAdapter {
2106    static seal(cookies) {
2107        return new Proxy(cookies, {
2108            get (target, prop, receiver) {
2109                switch(prop){
2110                    case 'clear':
2111                    case 'delete':
2112                    case 'set':
2113                        return ReadonlyRequestCookiesError.callable;
2114                    default:
2115                        return _reflect.ReflectAdapter.get(target, prop, receiver);
2116                }
2117            }
2118        });
2119    }
2120}
2121const SYMBOL_MODIFY_COOKIE_VALUES = Symbol.for('next.mutated.cookies');
2122function getModifiedCookieValues(cookies) {
2123    const modified = cookies[SYMBOL_MODIFY_COOKIE_VALUES];
2124    if (!modified || !Array.isArray(modified) || modified.length === 0) {
2125        return [];
2126    }
2127    return modified;
2128}
2129function appendMutableCookies(headers, mutableCookies) {
2130    const modifiedCookieValues = getModifiedCookieValues(mutableCookies);
2131    if (modifiedCookieValues.length === 0) {
2132        return false;
2133    }
2134    // Return a new response that extends the response with
2135    // the modified cookies as fallbacks. `res` cookies
2136    // will still take precedence.
2137    const resCookies = new _cookies.ResponseCookies(headers);
2138    const returnedCookies = resCookies.getAll();
2139    // Set the modified cookies as fallbacks.
2140    for (const cookie of modifiedCookieValues){
2141        resCookies.set(cookie);
2142    }
2143    // Set the original cookies as the final values.
2144    for (const cookie of returnedCookies){
2145        resCookies.set(cookie);
2146    }
2147    return true;
2148}
2149class MutableRequestCookiesAdapter {
2150    static wrap(cookies, onUpdateCookies) {
2151        const responseCookies = new _cookies.ResponseCookies(new Headers());
2152        for (const cookie of cookies.getAll()){
2153            responseCookies.set(cookie);
2154        }
2155        let modifiedValues = [];
2156        const modifiedCookies = new Set();
2157        const updateResponseCookies = ()=>{
2158            // TODO-APP: change method of getting workStore
2159            const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
2160            if (workStore) {
2161                workStore.pathWasRevalidated = _actionrevalidationkind.ActionDidRevalidateStaticAndDynamic;
2162            }
2163            const allCookies = responseCookies.getAll();
2164            modifiedValues = allCookies.filter((c)=>modifiedCookies.has(c.name));
2165            if (onUpdateCookies) {
2166                const serializedCookies = [];
2167                for (const cookie of modifiedValues){
2168                    const tempCookies = new _cookies.ResponseCookies(new Headers());
2169                    tempCookies.set(cookie);
2170                    serializedCookies.push(tempCookies.toString());
2171                }
2172                onUpdateCookies(serializedCookies);
2173            }
2174        };
2175        const wrappedCookies = new Proxy(responseCookies, {
2176            get (target, prop, receiver) {
2177                switch(prop){
2178                    // A special symbol to get the modified cookie values
2179                    case SYMBOL_MODIFY_COOKIE_VALUES:
2180                        return modifiedValues;
2181                    // TODO: Throw error if trying to set a cookie after the response
2182                    // headers have been set.
2183                    case 'delete':
2184                        return function(...args) {
2185                            modifiedCookies.add(typeof args[0] === 'string' ? args[0] : args[0].name);
2186                            try {
2187                                target.delete(...args);
2188                                return wrappedCookies;
2189                            } finally{
2190                                updateResponseCookies();
2191                            }
2192                        };
2193                    case 'set':
2194                        return function(...args) {
2195                            modifiedCookies.add(typeof args[0] === 'string' ? args[0] : args[0].name);
2196                            try {
2197                                target.set(...args);
2198                                return wrappedCookies;
2199                            } finally{
2200                                updateResponseCookies();
2201                            }
2202                        };
2203                    default:
2204                        return _reflect.ReflectAdapter.get(target, prop, receiver);
2205                }
2206            }
2207        });
2208        return wrappedCookies;
2209    }
2210}
2211function createCookiesWithMutableAccessCheck(requestStore) {
2212    const wrappedCookies = new Proxy(requestStore.mutableCookies, {
2213        get (target, prop, receiver) {
2214            switch(prop){
2215                case 'delete':
2216                    return function(...args) {
2217                        ensureCookiesAreStillMutable(requestStore, 'cookies().delete');
2218                        target.delete(...args);
2219                        return wrappedCookies;
2220                    };
2221                case 'set':
2222                    return function(...args) {
2223                        ensureCookiesAreStillMutable(requestStore, 'cookies().set');
2224                        target.set(...args);
2225                        return wrappedCookies;
2226                    };
2227                default:
2228                    return _reflect.ReflectAdapter.get(target, prop, receiver);
2229            }
2230        }
2231    });
2232    return wrappedCookies;
2233}
2234function areCookiesMutableInCurrentPhase(requestStore) {
2235    return requestStore.phase === 'action';
2236}
2237/** Ensure that cookies() starts throwing on mutation
2238 * if we changed phases and can no longer mutate.
2239 *
2240 * This can happen when going:
2241 *   'render' -> 'after'
2242 *   'action' -> 'render'
2243 * */ function ensureCookiesAreStillMutable(requestStore, _callingExpression) {
2244    if (!areCookiesMutableInCurrentPhase(requestStore)) {
2245        // TODO: maybe we can give a more precise error message based on callingExpression?
2246        throw new ReadonlyRequestCookiesError();
2247    }
2248}
2249function responseCookiesToRequestCookies(responseCookies) {
2250    const requestCookies = new _cookies.RequestCookies(new Headers());
2251    for (const cookie of responseCookies.getAll()){
2252        requestCookies.set(cookie);
2253    }
2254    return requestCookies;
2255}
2256}),
2257"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/web/spec-extension/adapter
2257s/headers.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
2258"use strict";
2259
2260Object.defineProperty(exports, "__esModule", {
2261    value: true
2262});
22630 && (module.exports = {
2264    HeadersAdapter: null,
2265    ReadonlyHeadersError: null
2266});
2267function _export(target, all) {
2268    for(var name in all)Object.defineProperty(target, name, {
2269        enumerable: true,
2270        get: all[name]
2271    });
2272}
2273_export(exports, {
2274    HeadersAdapter: function() {
2275        return HeadersAdapter;
2276    },
2277    ReadonlyHeadersError: function() {
2278        return ReadonlyHeadersError;
2279    }
2280});
2281const _reflect = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)");
2282class ReadonlyHeadersError extends Error {
2283    constructor(){
2284        super('Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers');
2285    }
2286    static callable() {
2287        throw new ReadonlyHeadersError();
2288    }
2289}
2290class HeadersAdapter extends Headers {
2291    constructor(headers){
2292        // We've already overridden the methods that would be called, so we're just
2293        // calling the super constructor to ensure that the instanceof check works.
2294        super();
2295        this.headers = new Proxy(headers, {
2296            get (target, prop, receiver) {
2297                // Because this is just an object, we expect that all "get" operations
2298                // are for properties. If it's a "get" for a symbol, we'll just return
2299                // the symbol.
2300                if (typeof prop === 'symbol') {
2301                    return _reflect.ReflectAdapter.get(target, prop, receiver);
2302                }
2303                const lowercased = prop.toLowerCase();
2304                // Let's find the original casing of the key. This assumes that there is
2305                // no mixed case keys (e.g. "Content-Type" and "content-type") in the
2306                // headers object.
2307                const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);
2308                // If the original casing doesn't exist, return undefined.
2309                if (typeof original === 'undefined') return;
2310                // If the original casing exists, return the value.
2311                return _reflect.ReflectAdapter.get(target, original, receiver);
2312            },
2313            set (target, prop, value, receiver) {
2314                if (typeof prop === 'symbol') {
2315                    return _reflect.ReflectAdapter.set(target, prop, value, receiver);
2316                }
2317                const lowercased = prop.toLowerCase();
2318                // Let's find the original casing of the key. This assumes that there is
2319                // no mixed case keys (e.g. "Content-Type" and "content-type") in the
2320                // headers object.
2321                const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);
2322                // If the original casing doesn't exist, use the prop as the key.
2323                return _reflect.ReflectAdapter.set(target, original ?? prop, value, receiver);
2324            },
2325            has (target, prop) {
2326                if (typeof prop === 'symbol') return _reflect.ReflectAdapter.has(target, prop);
2327                const lowercased = prop.toLowerCase();
2328                // Let's find the original casing of the key. This assumes that there is
2329                // no mixed case keys (e.g. "Content-Type" and "content-type") in the
2330                // headers object.
2331                const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);
2332                // If the original casing doesn't exist, return false.
2333                if (typeof original === 'undefined') return false;
2334                // If the original casing exists, return true.
2335                return _reflect.ReflectAdapter.has(target, original);
2336            },
2337            deleteProperty (target, prop) {
2338                if (typeof prop === 'symbol') return _reflect.ReflectAdapter.deleteProperty(target, prop);
2339                const lowercased = prop.toLowerCase();
2340                // Let's find the original casing of the key. This assumes that there is
2341                // no mixed case keys (e.g. "Content-Type" and "content-type") in the
2342                // headers object.
2343                const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);
2344                // If the original casing doesn't exist, return true.
2345                if (typeof original === 'undefined') return true;
2346                // If the original casing exists, delete the property.
2347                return _reflect.ReflectAdapter.deleteProperty(target, original);
2348            }
2349        });
2350    }
2351    /**
2352   * Seals a Headers instance to prevent modification by throwing an error when
2353   * any mutating method is called.
2354   */ static seal(headers) {
2355        return new Proxy(headers, {
2356            get (target, prop, receiver) {
2357                switch(prop){
2358                    case 'append':
2359                    case 'delete':
2360                    case 'set':
2361                        return ReadonlyHeadersError.callable;
2362                    default:
2363                        return _reflect.ReflectAdapter.get(target, prop, receiver);
2364                }
2365            }
2366        });
2367    }
2368    /**
2369   * Merges a header value into a string. This stores multiple values as an
2370   * array, so we need to merge them into a string.
2371   *
2372   * @param value a header value
2373   * @returns a merged header value (a string)
2374   */ merge(value) {
2375        if (Array.isArray(value)) return value.join(', ');
2376        return value;
2377    }
2378    /**
2379   * Creates a Headers instance from a plain object or a Headers instance.
2380   *
2381   * @param headers a plain object or a Headers instance
2382   * @returns a headers instance
2383   */ static from(headers) {
2384        if (headers instanceof Headers) return headers;
2385        return new HeadersAdapter(headers);
2386    }
2387    append(name, value) {
2388        const existing = this.headers[name];
2389        if (typeof existing === 'string') {
2390            this.headers[name] = [
2391                existing,
2392                value
2393            ];
2394        } else if (Array.isArray(existing)) {
2395            existing.push(value);
2396        } else {
2397            this.headers[name] = value;
2398        }
2399    }
2400    delete(name) {
2401        delete this.headers[name];
2402    }
2403    get(name) {
2404        const value = this.headers[name];
2405        if (typeof value !== 'undefined') return this.merge(value);
2406        return null;
2407    }
2408    has(name) {
2409        return typeof this.headers[name] !== 'undefined';
2410    }
2411    set(name, value) {
2412        this.headers[name] = value;
2413    }
2414    forEach(callbackfn, thisArg) {
2415        for (const [name, value] of this.entries()){
2416            callbackfn.call(thisArg, value, name, this);
2417        }
2418    }
2419    *entries() {
2420        for (const key of Object.keys(this.headers)){
2421            const name = key.toLowerCase();
2422            // We assert here that this is a string because we got it from the
2423            // Object.keys() call above.
2424            const value = this.get(name);
2425            yield [
2426                name,
2427                value
2428            ];
2429        }
2430    }
2431    *keys() {
2432        for (const key of Object.keys(this.headers)){
2433            const name = key.toLowerCase();
2434            yield name;
2435        }
2436    }
2437    *values() {
2438        for (const key of Object.keys(this.headers)){
2439            // We assert here that this is a string because we got it from the
2440            // Object.keys() call above.
2441            const value = this.get(key);
2442            yield value;
2443        }
2444    }
2445    [Symbol.iterator]() {
2446        return this.entries();
2447    }
2448}
2449}),
2450"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
2451"use strict";
2452
2453Object.defineProperty(exports, "__esModule", {
2454    value: true
2455});
24560 && (module.exports = {
2457    getParamProperties: null,
2458    getSegmentParam: null,
2459    isCatchAll: null
2460});
2461function _export(target, all) {
2462    for(var name in all)Object.defineProperty(target, name, {
2463        enumerable: true,
2464        get: all[name]
2465    });
2466}
2467_export(exports, {
2468    getParamProperties: function() {
2469        return getParamProperties;
2470    },
2471    getSegmentParam: function() {
2472        return getSegmentParam;
2473    },
2474    isCatchAll: function() {
2475        return isCatchAll;
2476    }
2477});
2478const _interceptionroutes = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/router/utils/interception-routes.js [app-client] (ecmascript)");
2479function getSegmentParam(segment) {
2480    const interceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((marker)=>segment.startsWith(marker));
2481    // if an interception marker is part of the path segment, we need to jump ahead
2482    // to the relevant portion for param parsing
2483    if (interceptionMarker) {
2484        segment = segment.slice(interceptionMarker.length);
2485    }
2486    if (segment.startsWith('[[...') && segment.endsWith(']]')) {
2487        return {
2488            // TODO-APP: Optional catchall does not currently work with parallel routes,
2489            // so for now aren't handling a potential interception marker.
2490            paramType: 'optional-catchall',
2491            paramName: segment.slice(5, -2)
2492        };
2493    }
2494    if (segment.startsWith('[...') && segment.endsWith(']')) {
2495        return {
2496            paramType: interceptionMarker ? `catchall-intercepted-${interceptionMarker}` : 'catchall',
2497            paramName: segment.slice(4, -1)
2498        };
2499    }
2500    if (segment.startsWith('[') && segment.endsWith(']')) {
2501        return {
2502            paramType: interceptionMarker ? `dynamic-intercepted-${interceptionMarker}` : 'dynamic',
2503            paramName: segment.slice(1, -1)
2504        };
2505    }
2506    return null;
2507}
2508function isCatchAll(type) {
2509    return type === 'catchall' || type === 'catchall-intercepted-(..)(..)' || type === 'catchall-intercepted-(.)' || type === 'catchall-intercepted-(..)' || type === 'catchall-intercepted-(...)' || type === 'optional-catchall';
2510}
2511function getParamProperties(paramType) {
2512    let repeat = false;
2513    let optional = false;
2514    switch(paramType){
2515        case 'catchall':
2516        case 'catchall-intercepted-(..)(..)':
2517        case 'catchall-intercepted-(.)':
2518        case 'catchall-intercepted-(..)':
2519        case 'catchall-intercepted-(...)':
2520            repeat = true;
2521            break;
2522        case 'optional-catchall':
2523            repeat = true;
2524            optional = true;
2525            break;
2526        case 'dynamic':
2527        case 'dynamic-intercepted-(..)(..)':
2528        case 'dynamic-intercepted-(.)':
2529        case 'dynamic-intercepted-(..)':
2530        case 'dynamic-intercepted-(...)':
2531            break;
2532        default:
2533            paramType;
2534    }
2535    return {
2536        repeat,
2537        optional
2538    };
2539}
2540}),
2541"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/utils.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
2542"use strict";
2543
2544var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$2$2e$2_$40$babel$2b$core$40$7$2e$29$2e$0_react$2d$dom$40$19$2e$2$2e$4_react$40$19$2e$2$2e$4_$5f$react$40$19$2e$2$2e$4$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
2545"use strict";
2546Object.defineProperty(exports, "__esModule", {
2547    value: true
2548});
25490 && (module.exports = {
2550    DecodeError: null,
2551    MiddlewareNotFoundError: null,
2552    MissingStaticPage: null,
2553    NormalizeError: null,
2554    PageNotFoundError: null,
2555    SP: null,
2556    ST: null,
2557    WEB_VITALS: null,
2558    execOnce: null,
2559    getDisplayName: null,
2560    getLocationOrigin: null,
2561    getURL: null,
2562    isAbsoluteUrl: null,
2563    isResSent: null,
2564    loadGetInitialProps: null,
2565    normalizeRepeatedSlashes: null,
2566    stringifyError: null
2567});
2568function _export(target, all) {
2569    for(var name in all)Object.defineProperty(target, name, {
2570        enumerable: true,
2571        get: all[name]
2572    });
2573}
2574_export(exports, {
2575    DecodeError: function() {
2576        return DecodeError;
2577    },
2578    MiddlewareNotFoundError: function() {
2579        return MiddlewareNotFoundError;
2580    },
2581    MissingStaticPage: function() {
2582        return MissingStaticPage;
2583    },
2584    NormalizeError: function() {
2585        return NormalizeError;
2586    },
2587    PageNotFoundError: function() {
2588        return PageNotFoundError;
2589    },
2590    SP: function() {
2591        return SP;
2592    },
2593    ST: function() {
2594        return ST;
2595    },
2596    WEB_VITALS: function() {
2597        return WEB_VITALS;
2598    },
2599    execOnce: function() {
2600        return execOnce;
2601    },
2602    getDisplayName: function() {
2603        return getDisplayName;
2604    },
2605    getLocationOrigin: function() {
2606        return getLocationOrigin;
2607    },
2608    getURL: function() {
2609        return getURL;
2610    },
2611    isAbsoluteUrl: function() {
2612        return isAbsoluteUrl;
2613    },
2614    isResSent: function() {
2615        return isResSent;
2616    },
2617    loadGetInitialProps: function() {
2618        return loadGetInitialProps;
2619    },
2620    normalizeRepeatedSlashes: function() {
2621        return normalizeRepeatedSlashes;
2622    },
2623    stringifyError: function() {
2624        return stringifyError;
2625    }
2626});
2627const WEB_VITALS = [
2628    'CLS',
2629    'FCP',
2630    'FID',
2631    'INP',
2632    'LCP',
2633    'TTFB'
2634];
2635function execOnce(fn) {
2636    let used = false;
2637    let result;
2638    return (...args)=>{
2639        if (!used) {
2640            used = true;
2641            result = fn(...args);
2642        }
2643        return result;
2644    };
2645}
2646// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1
2647// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3
2648const ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\d+\-.]*?:/;
2649const isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);
2650function getLocationOrigin() {
2651    const { protocol, hostname, port } = window.location;
2652    return `${protocol}//${hostname}${port ? ':' + port : ''}`;
2653}
2654function getURL() {
2655    const { href } = window.location;
2656    const origin = getLocationOrigin();
2657    return href.substring(origin.length);
2658}
2659function getDisplayName(Component) {
2660    return typeof Component === 'string' ? Component : Component.displayName || Component.name || 'Unknown';
2661}
2662function isResSent(res) {
2663    return res.finished || res.headersSent;
2664}
2665function normalizeRepeatedSlashes(url) {
2666    const urlParts = url.split('?');
2667    const urlNoQuery = urlParts[0];
2668    return urlNoQuery // first we replace any non-encoded backslashes with forward
2669    // then normalize repeated forward slashes
2670    .replace(/\\/g, '/').replace(/\/\/+/g, '/') + (urlParts[1] ? `?${urlParts.slice(1).join('?')}` : '');
2671}
2672async function loadGetInitialProps(App, ctx) {
2673    if ("TURBOPACK compile-time truthy", 1) {
2674        if (App.prototype?.getInitialProps) {
2675            const message = `"${getDisplayName(App)}.getInitialProps()" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.`;
2676            throw Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
2677                value: "E1035",
2678                enumerable: false,
2679                configurable: true
2680            });
2681        }
2682    }
2683    // when called from _app `ctx` is nested in `ctx`
2684    const res = ctx.res || ctx.ctx && ctx.ctx.res;
2685    if (!App.getInitialProps) {
2686        if (ctx.ctx && ctx.Component) {
2687            // @ts-ignore pageProps default
2688            return {
2689                pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)
2690            };
2691        }
2692        return {};
2693    }
2694    const props = await App.getInitialProps(ctx);
2695    if (res && isResSent(res)) {
2696        return props;
2697    }
2698    if (!props) {
2699        const message = `"${getDisplayName(App)}.getInitialProps()" should resolve to an object. But found "${props}" instead.`;
2700        throw Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
2701            value: "E1025",
2702            enumerable: false,
2703            configurable: true
2704        });
2705    }
2706    if ("TURBOPACK compile-time truthy", 1) {
2707        if (Object.keys(props).length === 0 && !ctx.ctx) {
2708            console.warn(`${getDisplayName(App)} returned an empty object from \`getInitialProps\`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps`);
2709        }
2710    }
2711    return props;
2712}
2713const SP = typeof performance !== 'undefined';
2714const ST = SP && [
2715    'mark',
2716    'measure',
2717    'getEntriesByName'
2718].every((method)=>typeof performance[method] === 'function');
2719class DecodeError extends Error {
2720}
2721class NormalizeError extends Error {
2722}
2723class PageNotFoundError extends Error {
2724    constructor(page){
2725        super();
2726        this.code = 'ENOENT';
2727        this.name = 'PageNotFoundError';
2728        this.message = `Cannot find module for page: ${page}`;
2729    }
2730}
2731class MissingStaticPage extends Error {
2732    constructor(page, message){
2733        super();
2734        this.message = `Failed to load static file for page: ${page} ${message}`;
2735    }
2736}
2737class MiddlewareNotFoundError extends Error {
2738    constructor(){
2739        super();
2740        this.code = 'ENOENT';
2741        this.message = `Cannot find the middleware module`;
2742    }
2743}
2744function stringifyError(error) {
2745    return JSON.stringify({
2746        message: error.message,
2747        stack: error.stack
2748    });
2749}
2750}),
2751"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/router/utils/querystring.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
2752"use strict";
2753
2754Object.defineProperty(exports, "__esModule", {
2755    value: true
2756});
27570 && (module.exports = {
2758    assign: null,
2759    searchParamsToUrlQuery: null,
2760    urlQueryToSearchParams: null
2761});
2762function _export(target, all) {
2763    for(var name in all)Object.defineProperty(target, name, {
2764        enumerable: true,
2765        get: all[name]
2766    });
2767}
2768_export(exports, {
2769    assign: function() {
2770        return assign;
2771    },
2772    searchParamsToUrlQuery: function() {
2773        return searchParamsToUrlQuery;
2774    },
2775    urlQueryToSearchParams: function() {
2776        return urlQueryToSearchParams;
2777    }
2778});
2779function searchParamsToUrlQuery(searchParams) {
2780    const query = {};
2781    for (const [key, value] of searchParams.entries()){
2782        const existing = query[key];
2783        if (typeof existing === 'undefined') {
2784            query[key] = value;
2785        } else if (Array.isArray(existing)) {
2786            existing.push(value);
2787        } else {
2788            query[key] = [
2789                existing,
2790                value
2791            ];
2792        }
2793    }
2794    return query;
2795}
2796function stringifyUrlQueryParam(param) {
2797    if (typeof param === 'string') {
2798        return param;
2799    }
2800    if (typeof param === 'number' && !isNaN(param) || typeof param === 'boolean') {
2801        return String(param);
2802    } else {
2803        return '';
2804    }
2805}
2806function urlQueryToSearchParams(query) {
2807    const searchParams = new URLSearchParams();
2808    for (const [key, value] of Object.entries(query)){
2809        if (Array.isArray(value)) {
2810            for (const item of value){
2811                searchParams.append(key, stringifyUrlQueryParam(item));
2812            }
2813        } else {
2814            searchParams.set(key, stringifyUrlQueryParam(value));
2815        }
2816    }
2817    return searchParams;
2818}
2819function assign(target, ...searchParamsList) {
2820    for (const searchParams of searchParamsList){
2821        for (const key of searchParams.keys()){
2822            target.delete(key);
2823        }
2824        for (const [key, value] of searchParams.entries()){
2825            target.append(key, value);
2826        }
2827    }
2828    return target;
2829}
2830}),
2831"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
2832"use strict";
2833
2834Object.defineProperty(exports, "__esModule", {
2835    value: true
2836});
2837Object.defineProperty(exports, "parseRelativeUrl", {
2838    enumerable: true,
2839    get: function() {
2840        return parseRelativeUrl;
2841    }
2842});
2843const _utils = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/utils.js [app-client] (ecmascript)");
2844const _querystring = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/router/utils/querystring.js [app-client] (ecmascript)");
2845function parseRelativeUrl(url, base, parseQuery = true) {
2846    const globalBase = new URL(typeof window === 'undefined' ? 'http://n' : (0, _utils.getLocationOrigin)());
2847    const resolvedBase = base ? new URL(base, globalBase) : url.startsWith('.') ? new URL(typeof window === 'undefined' ? 'http://n' : window.location.href) : globalBase;
2848    const { pathname, searchParams, search, hash, href, origin } = url.startsWith('/') ? // Not using `origin` to support other protocols
2849    new URL(`${resolvedBase.protocol}//${resolvedBase.host}${url}`) : new URL(url, resolvedBase);
2850    if (origin !== globalBase.origin) {
2851        throw Object.defineProperty(new Error(`invariant: invalid relative URL, router received ${url}`), "__NEXT_ERROR_CODE", {
2852            value: "E159",
2853            enumerable: false,
2854            configurable: true
2855        });
2856    }
2857    return {
2858        auth: null,
2859        host: null,
2860        hostname: null,
2861        pathname,
2862        port: null,
2863        protocol: null,
2864        query: parseQuery ? (0, _querystring.searchParamsToUrlQuery)(searchParams) : undefined,
2865        search,
2866        hash,
2867        href: href.slice(origin.length),
2868        // We don't know for relative URLs at this point since we set a custom, internal
2869        // base that isn't surfaced to users.
2870        slashes: null
2871    };
2872}
2873}),
2874"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
2875"use strict";
2876
2877Object.defineProperty(exports, "__esModule", {
2878    value: true
2879});
28800 && (module.exports = {
2881    InstantValidationError: null,
2882    isInstantValidationError: null
2883});
2884function _export(target, all) {
2885    for(var name in all)Object.defineProperty(target, name, {
2886        enumerable: true,
2887        get: all[name]
2888    });
2889}
2890_export(exports, {
2891    InstantValidationError: function() {
2892        return InstantValidationError;
2893    },
2894    isInstantValidationError: function() {
2895        return isInstantValidationError;
2896    }
2897});
2898const INSTANT_VALIDATION_ERROR_DIGEST = 'INSTANT_VALIDATION_ERROR';
2899function isInstantValidationError(err) {
2900    return !!(err && typeof err === 'object' && err instanceof Error && err.digest === INSTANT_VALIDATION_ERROR_DIGEST);
2901}
2902class InstantValidationError extends Error {
2903    constructor(...args){
2904        super(...args), this.digest = INSTANT_VALIDATION_ERROR_DIGEST;
2905    }
2906}
2907}),
2908"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
2909"use strict";
2910
2911Object.defineProperty(exports, "__esModule", {
2912    value: true
2913});
29140 && (module.exports = {
2915    assertRootParamInSamples: null,
2916    createCookiesFromSample: null,
2917    createDraftModeForValidation: null,
2918    createExhaustiveParamsProxy: null,
2919    createExhaustiveSearchParamsProxy: null,
2920    createExhaustiveURLSearchParamsProxy: null,
2921    createHeadersFromSample: null,
2922    createRelativeURLFromSamples: null,
2923    createValidationSampleTracking: null,
2924    trackMissingSampleError: null,
2925    trackMissingSampleErrorAndThrow: null
2926});
2927function _export(target, all) {
2928    for(var name in all)Object.defineProperty(target, name, {
2929        enumerable: true,
2930        get: all[name]
2931    });
2932}
2933_export(exports, {
2934    assertRootParamInSamples: function() {
2935        return assertRootParamInSamples;
2936    },
2937    createCookiesFromSample: function() {
2938        return createCookiesFromSample;
2939    },
2940    createDraftModeForValidation: function() {
2941        return createDraftModeForValidation;
2942    },
2943    createExhaustiveParamsProxy: function() {
2944        return createExhaustiveParamsProxy;
2945    },
2946    createExhaustiveSearchParamsProxy: function() {
2947        return createExhaustiveSearchParamsProxy;
2948    },
2949    createExhaustiveURLSearchParamsProxy: function() {
2950        return createExhaustiveURLSearchParamsProxy;
2951    },
2952    createHeadersFromSample: function() {
2953        return createHeadersFromSample;
2954    },
2955    createRelativeURLFromSamples: function() {
2956        return createRelativeURLFromSamples;
2957    },
2958    createValidationSampleTracking: function() {
2959        return createValidationSampleTracking;
2960    },
2961    trackMissingSampleError: function() {
2962        return trackMissingSampleError;
2963    },
2964    trackMissingSampleErrorAndThrow: function() {
2965        return trackMissingSampleErrorAndThrow;
2966    }
2967});
2968const _cookies = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/web/spec-extension/cookies.js [app-client] (ecmascript)");
2969const _requestcookies = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js [app-client] (ecmascript)");
2970const _headers = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/web/spec-extension/adapters/headers.js [app-client] (ecmascript)");
2971const _getsegmentparam = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js [app-client] (ecmascript)");
2972const _parserelativeurl = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js [app-client] (ecmascript)");
2973const _invarianterror = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/invariant-error.js [app-client] (ecmascript)");
2974const _instantvalidationerror = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js [app-client] (ecmascript)");
2975const _workunitasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js [app-client] (ecmascript)");
2976const _reflectutils = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)");
2977function createValidationSampleTracking() {
2978    return {
2979        missingSampleErrors: []
2980    };
2981}
2982function getExpectedSampleTracking() {
2983    let validationSampleTracking = null;
2984    const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
2985    if (workUnitStore) {
2986        switch(workUnitStore.type){
2987            case 'request':
2988            case 'validation-client':
2989                // TODO(instant-validation-build): do we need any special handling for caches?
2990                validationSampleTracking = workUnitStore.validationSampleTracking ?? null;
2991                break;
2992            case 'cache':
2993            case 'private-cache':
2994            case 'unstable-cache':
2995            case 'prerender-legacy':
2996            case 'prerender-ppr':
2997            case 'prerender-client':
2998            case 'prerender':
2999            case 'prerender-runtime':
3000            case 'generate-static-params':
3001                break;
3002            default:
3003                workUnitStore;
3004        }
3005    }
3006    if (!validationSampleTracking) {
3007        throw Object.defineProperty(new _invarianterror.InvariantError('Expected to have a workUnitStore that provides validationSampleTracking'), "__NEXT_ERROR_CODE", {
3008            value: "E1110",
3009            enumerable: false,
3010            configurable: true
3011        });
3012    }
3013    return validationSampleTracking;
3014}
3015function trackMissingSampleError(error) {
3016    const validationSampleTracking = getExpectedSampleTracking();
3017    validationSampleTracking.missingSampleErrors.push(error);
3018}
3019function trackMissingSampleErrorAndThrow(error) {
3020    // TODO(instant-validation-build): this should abort the render
3021    trackMissingSampleError(error);
3022    throw error;
3023}
3024function createCookiesFromSample(sampleCookies, route) {
3025    const declaredNames = new Set();
3026    const cookies = new _cookies.RequestCookies(new Headers());
3027    if (sampleCookies) {
3028        for (const cookie of sampleCookies){
3029            declaredNames.add(cookie.name);
3030            if (cookie.value !== null) {
3031                cookies.set(cookie.name, cookie.value);
3032            }
3033        }
3034    }
3035    const sealed = _requestcookies.RequestCookiesAdapter.seal(cookies);
3036    return new Proxy(sealed, {
3037        get (target, prop, receiver) {
3038            if (prop === 'has') {
3039                const originalMethod = Reflect.get(target, prop, receiver);
3040                const wrappedMethod = function(name) {
3041                    if (!declaredNames.has(name)) {
3042                        trackMissingSampleErrorAndThrow(createMissingCookieSampleError(route, name));
3043                    }
3044                    return originalMethod.call(target, name);
3045                };
3046                return wrappedMethod;
3047            }
3048            if (prop === 'get') {
3049                const originalMethod = Reflect.get(target, prop, receiver);
3050                const wrappedMethod = function(nameOrCookie) {
3051                    let name;
3052                    if (typeof nameOrCookie === 'string') {
3053                        name = nameOrCookie;
3054                    } else if (nameOrCookie && typeof nameOrCookie === 'object' && typeof nameOrCookie.name === 'string') {
3055                        name = nameOrCookie.name;
3056                    } else {
3057                        // This is an invalid input. Pass it through to the original method so it can error.
3058                        return originalMethod.call(target, nameOrCookie);
3059                    }
3060                    if (!declaredNames.has(name)) {
3061                        trackMissingSampleErrorAndThrow(createMissingCookieSampleError(route, name));
3062                    }
3063                    return originalMethod.call(target, name);
3064                };
3065                return wrappedMethod;
3066            }
3067            // TODO(instant-validation-build): what should getAll do?
3068            // Maybe we should only allow it if there's an array (possibly empty?)
3069            return Reflect.get(target, prop, receiver);
3070        }
3071    });
3072}
3073function createMissingCookieSampleError(route, name) {
3074    return Object.defineProperty(new _instantvalidationerror.InstantValidationError(`Route "${route}" accessed cookie "${name}" which is not defined in the \`samples\` ` + `of \`unstable_instant\`. Add it to the sample's \`cookies\` array, ` + `or \`{ name: "${name}", value: null }\` if it should be absent.`), "__NEXT_ERROR_CODE", {
3075        value: "E1115",
3076        enumerable: false,
3077        configurable: true
3078    });
3079}
3080function createHeadersFromSample(rawSampleHeaders, sampleCookies, route) {
3081    // If we have cookie samples, add a `cookie` header to match.
3082    // Accessing it will be implicitly allowed by the proxy --
3083    // if the user defined some cookies, accessing the "cookie" header is also fine.
3084    const sampleHeaders = rawSampleHeaders ? [
3085        ...rawSampleHeaders
3086    ] : [];
3087    if (sampleHeaders.find(([name])=>name.toLowerCase() === 'cookie')) {
3088        throw Object.defineProperty(new _instantvalidationerror.InstantValidationError('Invalid sample: Defining cookies via a "cookie" header is not supported. Use `cookies: [{ name: ..., value: ... }]` instead.'), "__NEXT_ERROR_CODE", {
3089            value: "E1111",
3090            enumerable: false,
3091            configurable: true
3092        });
3093    }
3094    if (sampleCookies) {
3095        const cookieHeaderValue = sampleCookies.toString();
3096        sampleHeaders.push([
3097            'cookie',
3098            // if the `cookies` samples were empty, or they were all `null`, then we have no cookies,
3099            // and the header isn't present, but should remains readable, so we set it to null.
3100            cookieHeaderValue !== '' ? cookieHeaderValue : null
3101        ]);
3102    }
3103    const declaredNames = new Set();
3104    const headersInit = {};
3105    for (const [name, value] of sampleHeaders){
3106        declaredNames.add(name.toLowerCase());
3107        if (value !== null) {
3108            headersInit[name.toLowerCase()] = value;
3109        }
3110    }
3111    const sealed = _headers.HeadersAdapter.seal(_headers.HeadersAdapter.from(headersInit));
3112    return new Proxy(sealed, {
3113        get (target, prop, receiver) {
3114            if (prop === 'get' || prop === 'has') {
3115                const originalMethod = Reflect.get(target, prop, receiver);
3116                const patchedMethod = function(rawName) {
3117                    const name = rawName.toLowerCase();
3118                    if (!declaredNames.has(name)) {
3119                        trackMissingSampleErrorAndThrow(Object.defineProperty(new _instantval
3119idationerror.InstantValidationError(`Route "${route}" accessed header "${name}" which is not defined in the \`samples\` ` + `of \`unstable_instant\`. Add it to the sample's \`headers\` array, ` + `or \`["${name}", null]\` if it should be absent.`), "__NEXT_ERROR_CODE", {
3120                            value: "E1116",
3121                            enumerable: false,
3122                            configurable: true
3123                        }));
3124                    }
3125                    // typescript can't reconcile a union of functions with a union of return types,
3126                    // so we have to cast the original return type away
3127                    return originalMethod.call(target, name);
3128                };
3129                return patchedMethod;
3130            }
3131            return Reflect.get(target, prop, receiver);
3132        }
3133    });
3134}
3135function createDraftModeForValidation() {
3136    // Create a minimal DraftModeProvider-compatible object
3137    // that always reports draft mode as disabled.
3138    //
3139    // private properties that can't be set from outside the class.
3140    return {
3141        get isEnabled () {
3142            return false;
3143        },
3144        enable () {
3145            throw Object.defineProperty(new Error('Draft mode cannot be enabled during build-time instant validation.'), "__NEXT_ERROR_CODE", {
3146                value: "E1092",
3147                enumerable: false,
3148                configurable: true
3149            });
3150        },
3151        disable () {
3152            throw Object.defineProperty(new Error('Draft mode cannot be disabled during build-time instant validation.'), "__NEXT_ERROR_CODE", {
3153                value: "E1094",
3154                enumerable: false,
3155                configurable: true
3156            });
3157        }
3158    };
3159}
3160function createExhaustiveParamsProxy(underlyingParams, declaredParamNames, route) {
3161    return new Proxy(underlyingParams, {
3162        get (target, prop, receiver) {
3163            if (typeof prop === 'string' && !_reflectutils.wellKnownProperties.has(prop) && // Only error when accessing a param that is part of the route but wasn't provided.
3164            // accessing properties that aren't expected to be a valid param value is fine.
3165            prop in underlyingParams && !declaredParamNames.has(prop)) {
3166                trackMissingSampleErrorAndThrow(Object.defineProperty(new _instantval
3166idationerror.InstantValidationError(`Route "${route}" accessed param "${prop}" which is not defined in the \`samples\` ` + `of \`unstable_instant\`. Add it to the sample's \`params\` object.`), "__NEXT_ERROR_CODE", {
3167                    value: "E1095",
3168                    enumerable: false,
3169                    configurable: true
3170                }));
3171            }
3172            return Reflect.get(target, prop, receiver);
3173        }
3174    });
3175}
3176function createExhaustiveSearchParamsProxy(searchParams, declaredSearchParamNames, route) {
3177    return new Proxy(searchParams, {
3178        get (target, prop, receiver) {
3179            if (typeof prop === 'string' && !_reflectutils.wellKnownProperties.has(prop) && !declaredSearchParamNames.has(prop)) {
3180                trackMissingSampleErrorAndThrow(createMissingSearchParamSampleError(route, prop));
3181            }
3182            return Reflect.get(target, prop, receiver);
3183        },
3184        has (target, prop) {
3185            if (typeof prop === 'string' && !_reflectutils.wellKnownProperties.has(prop) && !declaredSearchParamNames.has(prop)) {
3186                trackMissingSampleErrorAndThrow(createMissingSearchParamSampleError(route, prop));
3187            }
3188            return Reflect.has(target, prop);
3189        }
3190    });
3191}
3192function createExhaustiveURLSearchParamsProxy(searchParams, declaredSearchParamNames, route) {
3193    return new Proxy(searchParams, {
3194        get (target, prop, receiver) {
3195            // Intercept method calls that access specific param names
3196            if (prop === 'get' || prop === 'getAll' || prop === 'has') {
3197                const originalMathod = Reflect.get(target, prop, receiver);
3198                return (name)=>{
3199                    if (typeof name === 'string' && !declaredSearchParamNames.has(name)) {
3200                        trackMissingSampleErrorAndThrow(createMissingSearchParamSampleError(route, name));
3201                    }
3202                    return originalMathod.call(target, name);
3203                };
3204            }
3205            const value = Reflect.get(target, prop, receiver);
3206            // Prevent `TypeError: Value of "this" must be of type URLSearchParams` for methods
3207            if (typeof value === 'function' && !Object.hasOwn(target, prop)) {
3208                return value.bind(target);
3209            }
3210            return value;
3211        }
3212    });
3213}
3214function createMissingSearchParamSampleError(route, name) {
3215    return Object.defineProperty(new _instantvalidationerror.InstantValidationError(`Route "${route}" accessed searchParam "${name}" which is not defined in the \`samples\` ` + `of \`unstable_instant\`. Add it to the sample's \`searchParams\` object, ` + `or \`{ "${name}": null }\` if it should be absent.`), "__NEXT_ERROR_CODE", {
3216        value: "E1098",
3217        enumerable: false,
3218        configurable: true
3219    });
3220}
3221function createRelativeURLFromSamples(route, sampleParams, sampleSearchParams) {
3222    // Build searchParams query object and URL search string from sample
3223    const pathname = createPathnameFromRouteAndSampleParams(route, sampleParams ?? {});
3224    let search = '';
3225    if (sampleSearchParams) {
3226        const qs = createURLSearchParamsFromSample(sampleSearchParams).toString();
3227        if (qs) {
3228            search = '?' + qs;
3229        }
3230    }
3231    return (0, _parserelativeurl.parseRelativeUrl)(pathname + search, undefined, true);
3232}
3233function createURLSearchParamsFromSample(sampleSearchParams) {
3234    const result = new URLSearchParams();
3235    if (sampleSearchParams) {
3236        for (const [key, value] of Object.entries(sampleSearchParams)){
3237            if (value === null || value === undefined) continue;
3238            if (Array.isArray(value)) {
3239                for (const v of value){
3240                    result.append(key, v);
3241                }
3242            } else {
3243                result.set(key, value);
3244            }
3245        }
3246    }
3247    return result;
3248}
3249/**
3250 * Substitute sample params into `workStore.route` to create a plausible pathname.
3251 * TODO(instant-validation-build): this logic is somewhat hacky and likely incomplete,
3252 * but it should be good enough for some initial testing.
3253 */ function createPathnameFromRouteAndSampleParams(route, params) {
3254    let interpolatedSegments = [];
3255    const rawSegments = route.split('/');
3256    for (const rawSegment of rawSegments){
3257        const param = (0, _getsegmentparam.getSegmentParam)(rawSegment);
3258        if (param) {
3259            switch(param.paramType){
3260                case 'catchall':
3261                case 'optional-catchall':
3262                    {
3263                        let paramValue = params[param.paramName];
3264                        if (paramValue === undefined) {
3265                            // The value for the param was not provided. `usePathname` will detect this and throw
3266                            // before this can surface to userspace. Use `[...NAME]` as a placeholder for the param value
3267                            // in case it pops up somewhere unexpectedly.
3268                            paramValue = [
3269                                rawSegment
3270                            ];
3271                        } else if (!Array.isArray(paramValue)) {
3272                            // NOTE: this happens outside of render, so we don't need `trackMissingSampleErrorAndThrow`
3273                            throw Object.defineProperty(new _instantval
3273idationerror.InstantValidationError(`Expected sample param value for segment '${rawSegment}' to be an array of strings, got ${typeof paramValue}`), "__NEXT_ERROR_CODE", {
3274                                value: "E1104",
3275                                enumerable: false,
3276                                configurable: true
3277                            });
3278                        }
3279                        interpolatedSegments.push(...paramValue.map((v)=>encodeURIComponent(v)));
3280                        break;
3281                    }
3282                case 'dynamic':
3283                    {
3284                        let paramValue = params[param.paramName];
3285                        if (paramValue === undefined) {
3286                            // The value for the param was not provided. `usePathname` will detect this and throw
3287                            // before this can surface to userspace. Use `[NAME]` as a placeholder for the param value
3288                            // in case it pops up somewhere unexpectedly.
3289                            paramValue = rawSegment;
3290                        } else if (typeof paramValue !== 'string') {
3291                            // NOTE: this happens outside of render, so we don't need `trackMissingSampleErrorAndThrow`
3292                            throw Object.defineProperty(new _instantval
3292idationerror.InstantValidationError(`Expected sample param value for segment '${rawSegment}' to be a string, got ${typeof paramValue}`), "__NEXT_ERROR_CODE", {
3293                                value: "E1108",
3294                                enumerable: false,
3295                                configurable: true
3296                            });
3297                        }
3298                        interpolatedSegments.push(encodeURIComponent(paramValue));
3299                        break;
3300                    }
3301                case 'catchall-intercepted-(..)(..)':
3302                case 'catchall-intercepted-(.)':
3303                case 'catchall-intercepted-(..)':
3304                case 'catchall-intercepted-(...)':
3305                case 'dynamic-intercepted-(..)(..)':
3306                case 'dynamic-intercepted-(.)':
3307                case 'dynamic-intercepted-(..)':
3308                case 'dynamic-intercepted-(...)':
3309                    {
3310                        // TODO(instant-validation-build): i don't know how these are supposed to work, or if we can even get them here
3311                        throw Object.defineProperty(new _invarianterror.InvariantError('Not implemented: Validation of interception routes'), "__NEXT_ERROR_CODE", {
3312                            value: "E1106",
3313                            enumerable: false,
3314                            configurable: true
3315                        });
3316                    }
3317                default:
3318                    {
3319                        param.paramType;
3320                    }
3321            }
3322        } else {
3323            interpolatedSegments.push(rawSegment);
3324        }
3325    }
3326    return interpolatedSegments.join('/');
3327}
3328function assertRootParamInSamples(workStore, sampleParams, paramName) {
3329    if (sampleParams && paramName in sampleParams) {
3330    // The param is defined in the samples.
3331    } else {
3332        const route = workStore.route;
3333        trackMissingSampleErrorAndThrow(Object.defineProperty(new _instantval
3333idationerror.InstantValidationError(`Route "${route}" accessed root param "${paramName}" which is not defined in the \`samples\` ` + `of \`unstable_instant\`. Add it to the sample's \`params\` object.`), "__NEXT_ERROR_CODE", {
3334            value: "E1114",
3335            enumerable: false,
3336            configurable: true
3337        }));
3338    }
3339}
3340}),
3341"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/request/search-params.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
3342"use strict";
3343
3344var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$2$2e$2_$40$babel$2b$core$40$7$2e$29$2e$0_react$2d$dom$40$19$2e$2$2e$4_react$40$19$2e$2$2e$4_$5f$react$40$19$2e$2$2e$4$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
3345"use strict";
3346Object.defineProperty(exports, "__esModule", {
3347    value: true
3348});
33490 && (module.exports = {
3350    createPrerenderSearchParamsForClientPage: null,
3351    createSearchParamsFromClient: null,
3352    createServerSearchParamsForMetadata: null,
3353    createServerSearchParamsForServerPage: null,
3354    makeErroringSearchParamsForUseCache: null
3355});
3356function _export(target, all) {
3357    for(var name in all)Object.defineProperty(target, name, {
3358        enumerable: true,
3359        get: all[name]
3360    });
3361}
3362_export(exports, {
3363    createPrerenderSearchParamsForClientPage: function() {
3364        return createPrerenderSearchParamsForClientPage;
3365    },
3366    createSearchParamsFromClient: function() {
3367        return createSearchParamsFromClient;
3368    },
3369    createServerSearchParamsForMetadata: function() {
3370        return createServerSearchParamsForMetadata;
3371    },
3372    createServerSearchParamsForServerPage: function() {
3373        return createServerSearchParamsForServerPage;
3374    },
3375    makeErroringSearchParamsForUseCache: function() {
3376        return makeErroringSearchParamsForUseCache;
3377    }
3378});
3379const _workasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/work-async-storage.external.js [app-client] (ecmascript)");
3380const _varyparams = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/vary-params.js [app-client] (ecmascript)");
3381const _reflect = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)");
3382const _dynamicrendering = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/dynamic-rendering.js [app-client] (ecmascript)");
3383const _workunitasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js [app-client] (ecmascript)");
3384const _invarianterror = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/invariant-error.js [app-client] (ecmascript)");
3385const _dynamicrenderingutils = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/dynamic-rendering-utils.js [app-client] (ecmascript)");
3386const _creatededupedbycallsiteservererrorlogger = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js [app-client] (ecmascript)");
3387const _reflectutils = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)");
3388const _utils = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/request/utils.js [app-client] (ecmascript)");
3389const _stagedrendering = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/staged-rendering.js [a
3389pp-client] (ecmascript)");
3390function createSearchParamsFromClient(underlyingSearchParams) {
3391    const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
3392    if (!workStore) {
3393        throw Object.defineProperty(new _invarianterror.InvariantError('Expected workStore to be initialized'), "__NEXT_ERROR_CODE", {
3394            value: "E1068",
3395            enumerable: false,
3396            configurable: true
3397        });
3398    }
3399    const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
3400    if (workUnitStore) {
3401        switch(workUnitStore.type){
3402            case 'prerender':
3403            case 'prerender-client':
3404            case 'prerender-ppr':
3405            case 'prerender-legacy':
3406                return createStaticPrerenderSearchParams(workStore, workUnitStore);
3407            case 'validation-client':
3408                {
3409                    return createClientSearchParamsInValidation(underlyingSearchParams, workStore, workUnitStore);
3410                }
3411            case 'prerender-runtime':
3412                throw Object.defineProperty(new _invarianterror.InvariantError('createSearchParamsFromClient should not be called in a runtime prerender.'), "__NEXT_ERROR_CODE", {
3413                    value: "E769",
3414                    enumerable: false,
3415                    configurable: true
3416                });
3417            case 'cache':
3418            case 'private-cache':
3419            case 'unstable-cache':
3420                throw Object.defineProperty(new _invarianterror.InvariantError('createSearchParamsFromClient should not be called in cache contexts.'), "__NEXT_ERROR_CODE", {
3421                    value: "E739",
3422                    enumerable: false,
3423                    configurable: true
3424                });
3425            case 'generate-static-params':
3426                throw Object.defineProperty(new _invarianterror.InvariantError('createSearchParamsFromClient should not be called inside generateStaticParams.'), "__NEXT_ERROR_CODE", {
3427                    value: "E1133",
3428                    enumerable: false,
3429                    configurable: true
3430                });
3431            case 'request':
3432                // Client searchParams are not runtime prefetchable
3433                const isRuntimePrefetchable = false;
3434                return createRenderSearchParams(underlyingSearchParams, workStore, workUnitStore, isRuntimePrefetchable);
3435            default:
3436                workUnitStore;
3437        }
3438    }
3439    (0, _workunitasyncstorageexternal.throwInvariantForMissingStore)();
3440}
3441function createServerSearchParamsForMetadata(underlyingSearchParams, isRuntimePrefetchable) {
3442    const metadataVaryParamsAccumulator = (0, _varyparams.getMetadataVaryParamsAccumulator)();
3443    return createServerSearchParamsForServerPage(underlyingSearchParams, metadataVaryParamsAccumulator, isRuntimePrefetchable);
3444}
3445function createServerSearchParamsForServerPage(underlyingSearchParams, varyParamsAccumulator, isRuntimePrefetchable) {
3446    const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
3447    if (!workStore) {
3448        throw Object.defineProperty(new _invarianterror.InvariantError('Expected workStore to be initialized'), "__NEXT_ERROR_CODE", {
3449            value: "E1068",
3450            enumerable: false,
3451            configurable: true
3452        });
3453    }
3454    const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
3455    if (workUnitStore) {
3456        switch(workUnitStore.type){
3457            case 'prerender':
3458            case 'prerender-client':
3459            case 'prerender-ppr':
3460            case 'prerender-legacy':
3461                return createStaticPrerenderSearchParams(workStore, workUnitStore);
3462            case 'validation-client':
3463                throw Object.defineProperty(new _invarianterror.InvariantError('createServerSearchParamsForServerPage should not be called in a client validation.'), "__NEXT_ERROR_CODE", {
3464                    value: "E1066",
3465                    enumerable: false,
3466                    configurable: true
3467                });
3468            case 'cache':
3469            case 'private-cache':
3470            case 'unstable-cache':
3471                throw Object.defineProperty(new _invarianterror.InvariantError('createServerSearchParamsForServerPage should not be called in cache contexts.'), "__NEXT_ERROR_CODE", {
3472                    value: "E747",
3473                    enumerable: false,
3474                    configurable: true
3475                });
3476            case 'generate-static-params':
3477                throw Object.defineProperty(new _invarianterror.InvariantError('createServerSearchParamsForServerPage should not be called inside generateStaticParams.'), "__NEXT_ERROR_CODE", {
3478                    value: "E1128",
3479                    enumerable: false,
3480                    configurable: true
3481                });
3482            case 'prerender-runtime':
3483                return createRuntimePrerenderSearchParams(underlyingSearchParams, workUnitStore, varyParamsAccumulator, isRuntimePrefetchable);
3484            case 'request':
3485                return createRenderSearchParams(underlyingSearchParams, workStore, workUnitStore, isRuntimePrefetchable);
3486            default:
3487                workUnitStore;
3488        }
3489    }
3490    (0, _workunitasyncstorageexternal.throwInvariantForMissingStore)();
3491}
3492function createPrerenderSearchParamsForClientPage() {
3493    const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
3494    if (!workStore) {
3495        throw Object.defineProperty(new _invarianterror.InvariantError('Expected workStore to be initialized'), "__NEXT_ERROR_CODE", {
3496            value: "E1068",
3497            enumerable: false,
3498            configurable: true
3499        });
3500    }
3501    if (workStore.forceStatic) {
3502        // When using forceStatic we override all other logic and always just return an empty
3503        // dictionary object.
3504        return Promise.resolve({});
3505    }
3506    const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
3507    if (workUnitStore) {
3508        switch(workUnitStore.type){
3509            case 'prerender':
3510            case 'prerender-client':
3511                // We're prerendering in a mode that aborts (cacheComponents) and should stall
3512                // the promise to ensure the RSC side is considered dynamic
3513                return (0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, workStore.route, '`searchParams`');
3514            case 'validation-client':
3515                throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderSearchParamsForClientPage should not be called in a client validation.'), "__NEXT_ERROR_CODE", {
3516                    value: "E1061",
3517                    enumerable: false,
3518                    configurable: true
3519                });
3520            case 'prerender-runtime':
3521                throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderSearchParamsForClientPage should not be called in a runtime prerender.'), "__NEXT_ERROR_CODE", {
3522                    value: "E768",
3523                    enumerable: false,
3524                    configurable: true
3525                });
3526            case 'cache':
3527            case 'private-cache':
3528            case 'unstable-cache':
3529                throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderSearchParamsForClientPage should not be called in cache contexts.'), "__NEXT_ERROR_CODE", {
3530                    value: "E746",
3531                    enumerable: false,
3532                    configurable: true
3533                });
3534            case 'generate-static-params':
3535                throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderSearchParamsForClientPage should not be called inside generateStaticParams.'), "__NEXT_ERROR_CODE", {
3536                    value: "E1124",
3537                    enumerable: false,
3538                    configurable: true
3539                });
3540            case 'prerender-ppr':
3541            case 'prerender-legacy':
3542            case 'request':
3543                return Promise.resolve({});
3544            default:
3545                workUnitStore;
3546        }
3547    }
3548    (0, _workunitasyncstorageexternal.throwInvariantForMissingStore)();
3549}
3550function createStaticPrerenderSearchParams(workStore, prerenderStore) {
3551    if (workStore.forceStatic) {
3552        // When using forceStatic we override all other logic and always just return an empty
3553        // dictionary object.
3554        return Promise.resolve({});
3555    }
3556    switch(prerenderStore.type){
3557        case 'prerender':
3558        case 'prerender-client':
3559            // We are in a cacheComponents (PPR or otherwise) prerender
3560            return makeHangingSearchParams(workStore, prerenderStore);
3561        case 'prerender-ppr':
3562        case 'prerender-legacy':
3563            // We are in a legacy static generation and need to interrupt the
3564            // prerender when search params are accessed.
3565            return makeErroringSearchParams(workStore, prerenderStore);
3566        default:
3567            return prerenderStore;
3568    }
3569}
3570function createRuntimePrerenderSearchParams(underlyingSearchParams, workUnitStore, varyParamsAccumulator, isRuntimePrefetchable) {
3571    const underlyingSearchParamsWithVarying = varyParamsAccumulator !== null ? (0, _varyparams.createVaryingSearchParams)(varyParamsAccumulator, underlyingSearchParams) : underlyingSearchParams;
3572    const result = makeUntrackedSearchParams(underlyingSearchParamsWithVarying);
3573    const { stagedRendering } = workUnitStore;
3574    if (!stagedRendering) {
3575        return result;
3576    }
3577    const stage = isRuntimePrefetchable ? _stagedrendering.RenderStage.EarlyRuntime : _stagedrendering.RenderStage.Runtime;
3578    return stagedRendering.waitForStage(stage).then(()=>result);
3579}
3580function createRenderSearchParams(underlyingSearchParams, workStore, requestStore, isRuntimePrefetchable) {
3581    if (workStore.forceStatic) {
3582        // When using forceStatic we override all other logic and always just return an empty
3583        // dictionary object.
3584        return Promise.resolve({});
3585    } else {
3586        if ("TURBOPACK compile-time truthy", 1) {
3587            // Semantically we only need the dev tracking when running in `next dev`
3588            // but since you would never use next dev with production NODE_ENV we use this
3589            // as a proxy so we can statically exclude this code from production builds.
3590            return makeUntrackedSearchParamsWithDevWarnings(underlyingSearchParams, workStore, requestStore, isRuntimePrefetchable);
3591        } else //TURBOPACK unreachable
3592        ;
3593    }
3594}
3595const CachedSearchParams = new WeakMap();
3596const CachedSearchParamsForUseCache = new WeakMap();
3597function makeHangingSearchParams(workStore, prerenderStore) {
3598    const cachedSearchParams = CachedSearchParams.get(prerenderStore);
3599    if (cachedSearchParams) {
3600        return cachedSearchParams;
3601    }
3602    const promise = (0, _dynamicrenderingutils.makeHangingPromise)(prerenderStore.renderSignal, workStore.route, '`searchParams`');
3603    const proxiedPromise = new Proxy(promise, {
3604        get (target, prop, receiver) {
3605            if (Object.hasOwn(promise, prop)) {
3606                // The promise has this property directly. we must return it.
3607                // We know it isn't a dynamic access because it can only be something
3608                // that was previously written to the promise and thus not an underlying searchParam value
3609                return _reflect.ReflectAdapter.get(target, prop, receiver);
3610            }
3611            switch(prop){
3612                case 'then':
3613                    {
3614                        const expression = '`await searchParams`, `searchParams.then`, or similar';
3615                        (0, _dynamicrendering.annotateDynamicAccess)(expression, prerenderStore);
3616                        return _reflect.ReflectAdapter.get(target, prop, receiver);
3617                    }
3618                case 'status':
3619                    {
3620                        const expression = '`use(searchParams)`, `searchParams.status`, or similar';
3621                        (0, _dynamicrendering.annotateDynamicAccess)(expression, prerenderStore);
3622                        return _reflect.ReflectAdapter.get(target, prop, receiver);
3623                    }
3624                default:
3625                    {
3626                        return _reflect.ReflectAdapter.get(target, prop, receiver);
3627                    }
3628            }
3629        }
3630    });
3631    CachedSearchParams.set(prerenderStore, proxiedPromise);
3632    return proxiedPromise;
3633}
3634function makeErroringSearchParams(workStore, prerenderStore) {
3635    const cachedSearchParams = CachedSearchParams.get(workStore);
3636    if (cachedSearchParams) {
3637        return cachedSearchParams;
3638    }
3639    const underlyingSearchParams = {};
3640    // For search params we don't construct a ReactPromise because we want to interrupt
3641    // rendering on any property access that was not set from outside and so we only want
3642    // to have properties like value and status if React sets them.
3643    const promise = Promise.resolve(underlyingSearchParams);
3644    const proxiedPromise = new Proxy(promise, {
3645        get (target, prop, receiver) {
3646            if (Object.hasOwn(promise, prop)) {
3647                // The promise has this property directly. we must return it.
3648                // We know it isn't a dynamic access because it can only be something
3649                // that was previously written to the promise and thus not an underlying searchParam value
3650                return _reflect.ReflectAdapter.get(target, prop, receiver);
3651            }
3652            if (typeof prop === 'string' && prop === 'then') {
3653                const expression = '`await searchParams`, `searchParams.then`, or similar';
3654                if (workStore.dynamicShouldError) {
3655                    (0, _utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route, expression);
3656                } else if (prerenderStore.type === 'prerender-ppr') {
3657                    // PPR Prerender (no cacheComponents)
3658                    (0, _dynamicrendering.postponeWithTracking)(workStore.route, expression, prerenderStore.dynamicTracking);
3659                } else {
3660                    // Legacy Prerender
3661                    (0, _dynamicrendering.throwToInterruptStaticGeneration)(expression, workStore, prerenderStore);
3662                }
3663            }
3664            return _reflect.ReflectAdapter.get(target, prop, receiver);
3665        }
3666    });
3667    CachedSearchParams.set(workStore, proxiedPromise);
3668    return proxiedPromise;
3669}
3670function makeErroringSearchParamsForUseCache() {
3671    const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
3672    if (!workStore) {
3673        throw Object.defineProperty(new _invarianterror.InvariantError('Expected workStore to be initialized'), "__NEXT_ERROR_CODE", {
3674            value: "E1068",
3675            enumerable: false,
3676            configurable: true
3677        });
3678    }
3679    const cachedSearchParams = CachedSearchParamsForUseCache.get(workStore);
3680    if (cachedSearchParams) {
3681        return cachedSearchParams;
3682    }
3683    const promise = Promise.resolve({});
3684    const proxiedPromise = new Proxy(promise, {
3685        get: function get(target, prop, receiver) {
3686            if (Object.hasOwn(promise, prop)) {
3687                // The promise has this property directly. we must return it. We know it
3688                // isn't a dynamic access because it can only be something that was
3689                // previously written to the promise and thus not an underlying
3690                // searchParam value
3691                return _reflect.ReflectAdapter.get(target, prop, receiver);
3692            }
3693            if (typeof prop === 'string' && (prop === 'then' || !_reflectutils.wellKnownProperties.has(prop))) {
3694                (0, _utils.throwForSearchParamsAccessInUseCache)(workStore, get);
3695            }
3696            return _reflect.ReflectAdapter.get(target, prop, receiver);
3697        }
3698    });
3699    CachedSearchParamsForUseCache.set(workStore, proxiedPromise);
3700    return proxiedPromise;
3701}
3702function makeUntrackedSearchParams(underlyingSearchParams) {
3703    const cachedSearchParams = CachedSearchParams.get(underlyingSearchParams);
3704    if (cachedSearchParams) {
3705        return cachedSearchParams;
3706    }
3707    const promise = Promise.resolve(underlyingSearchParams);
3708    CachedSearchParams.set(underlyingSearchParams, promise);
3709    return promise;
3710}
3711function makeUntrackedSearchParamsWithDevWarnings(underlyingSearchParams, workStore, requestStore, isRuntimePrefetchable) {
3712    if (requestStore.asyncApiPromises) {
3713        // Do not cache the resulting promise. If we do, we'll only show the first "awaited at"
3714        // across all segments that receive searchParams.
3715        return makeUntrackedSearchParamsWithDevWarningsImpl(underlyingSearchParams, workStore, requestStore, isRuntimePrefetchable);
3716    } else {
3717        const cachedSearchParams = CachedSearchParams.get(underlyingSearchParams);
3718        if (cachedSearchParams) {
3719            return cachedSearchParams;
3720        }
3721        const promise = makeUntrackedSearchParamsWithDevWarningsImpl(underlyingSearchParams, workStore, requestStore, isRuntimePrefetchable);
3722        CachedSearchParams.set(requestStore, promise);
3723        return promise;
3724    }
3725}
3726function makeUntrackedSearchParamsWithDevWarningsImpl(underlyingSearchParams, workStore, requestStore, isRuntimePrefetchable) {
3727    const promiseInitialized = {
3728        current: false
3729    };
3730    const proxiedUnderlying = instrumentSearchParamsObjectWithDevWarnings(underlyingSearchParams, workStore, promiseInitialized);
3731    let promise;
3732    if (requestStore.asyncApiPromises) {
3733        // We wrap each instance of searchParams in a `new Promise()`.
3734        // This is important when all awaits are in third party which would otherwise
3735        // track all the way to the internal params.
3736        const sharedSearchParamsParent = isRuntimePrefetchable ? requestStore.asyncApiPromises.earlySharedSearchParamsParent : requestStore.asyncApiPromises.sharedSearchParamsParent;
3737        promise = new Promise((resolve, reject)=>{
3738            sharedSearchParamsParent.then(()=>resolve(proxiedUnderlying), reject);
3739        });
3740        // @ts-expect-error
3741        promise.displayName = 'searchParams';
3742    } else {
3743        promise = (0, _dynamicrenderingutils.makeDevtoolsIOAwarePromise)(proxiedUnderlying, requestStore, _stagedrendering.RenderStage.Runtime);
3744    }
3745    promise.then(()=>{
3746        promiseInitialized.current = true;
3747    }, // is aborted before it can reach the runtime stage.
3748    // In that case, we have to prevent an unhandled rejection from the promise
3749    // created by this `.then()` call.
3750    // This does not affect the `promiseInitialized` logic above,
3751    // because `proxiedUnderlying` will not be used to resolve the promise,
3752    // so there's no risk of any of its properties being accessed and triggering
3753    // an undesireable warning.
3754    ignoreReject);
3755    return instrumentSearchParamsPromiseWithDevWarnings(underlyingSearchParams, promise, workStore);
3756}
3757function ignoreReject() {}
3758function instrumentSearchParamsObjectWithDevWarnings(underlyingSearchParams, workStore, promiseInitialized) {
3759    // We have an unfortunate sequence of events that requires this initialization logic. We want to instrument the underlying
3760    // searchParams object to detect if you are accessing values in dev. This is used for warnings and for things like the static prerender
3761    // indicator. However when we pass this proxy to our Promise.resolve() below the VM checks if the resolved value is a promise by looking
3762    // at the `.then` property. To our dynamic tracking logic this is indistinguishable from a `then` searchParam and so we would normally trigger
3763    // dynamic tracking. However we know that this .then is not real dynamic access, it's just how thenables resolve in sequence. So we introduce
3764    // this initialization concept so we omit the dynamic check until after we've constructed our resolved promise.
3765    return new Proxy(underlyingSearchParams, {
3766        get (target, prop, receiver) {
3767            if (typeof prop === 'string' && promiseInitialized.current) {
3768                if (workStore.dynamicShouldError) {
3769                    const expression = (0, _reflectutils.describeStringPropertyAccess)('searchParams', prop);
3770                    (0, _utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route, expression);
3771                }
3772            }
3773            return _reflect.ReflectAdapter.get(target, prop, receiver);
3774        },
3775        has (target, prop) {
3776            if (typeof prop === 'string') {
3777                if (workStore.dynamicShouldError) {
3778                    const expression = (0, _reflectutils.describeHasCheckingStringProperty)('searchParams', prop);
3779                    (0, _utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route, expression);
3780                }
3781            }
3782            return Reflect.has(target, prop);
3783        },
3784        ownKeys (target) {
3785            if (workStore.dynamicShouldError) {
3786                const expression = '`{...searchParams}`, `Object.keys(searchParams)`, or similar';
3787                (0, _utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route, expression);
3788            }
3789            return Reflect.ownKeys(target);
3790        }
3791    });
3792}
3793function instrumentSearchParamsPromiseWithDevWarnings(underlyingSearchParams, promise, workStore) {
3794    // Track which properties we should warn for.
3795    const proxiedProperties = new Set();
3796    Object.keys(underlyingSearchParams).forEach((prop)=>{
3797        if (_reflectutils.wellKnownProperties.has(prop)) {
3798        // These properties cannot be shadowed because they need to be the
3799        // true underlying value for Promises to work correctly at runtime
3800        } else {
3801            proxiedProperties.add(prop);
3802        }
3803    });
3804    return new Proxy(promise, {
3805        get (target, prop, receiver) {
3806            if (prop === 'then' && workStore.dynamicShouldError) {
3807                const expression = '`searchParams.then`';
3808                (0, _utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route, expression);
3809            }
3810            if (typeof prop === 'string') {
3811                if (!_reflectutils.wellKnownProperties.has(prop) && (proxiedProperties.has(prop) || // We are accessing a property that doesn't exist on the promise nor
3812                // the underlying searchParams.
3813                Reflect.has(target, prop) === false)) {
3814                    const expression = (0, _reflectutils.describeStringPropertyAccess)('searchParams', prop);
3815                    warnForSyncAccess(workStore.route, expression);
3816                }
3817            }
3818            return _reflect.ReflectAdapter.get(target, prop, receiver);
3819        },
3820        set (target, prop, value, receiver) {
3821            if (typeof prop === 'string') {
3822                proxiedProperties.delete(prop);
3823            }
3824            return Reflect.set(target, prop, value, receiver);
3825        },
3826        has (target, prop) {
3827            if (typeof prop === 'string') {
3828                if (!_reflectutils.wellKnownProperties.has(prop) && (proxiedProperties.has(prop) || // We are accessing a property that doesn't exist on the promise nor
3829                // the underlying searchParams.
3830                Reflect.has(target, prop) === false)) {
3831                    const expression = (0, _reflectutils.describeHasCheckingStringProperty)('searchParams', prop);
3832                    warnForSyncAccess(workStore.route, expression);
3833                }
3834            }
3835            return Reflect.has(target, prop);
3836        },
3837        ownKeys (target) {
3838            const expression = '`Object.keys(searchParams)` or similar';
3839            warnForSyncAccess(workStore.route, expression);
3840            return Reflect.ownKeys(target);
3841        }
3842    });
3843}
3844const warnForSyncAccess = (0, _creatededupedbycallsiteservererrorlogger.createDedupedByCallsiteServerErrorLoggerDev)(createSearchAccessError);
3845function createSearchAccessError(route, expression) {
3846    const prefix = route ? `Route "${route}" ` : 'This route ';
3847    return Object.defineProperty(new Error(`${prefix}used ${expression}. ` + `\`searchParams\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`), "__NEXT_ERROR_CODE", {
3848        value: "E848",
3849        enumerable: false,
3850        configurable: true
3851    });
3852}
3853function createClientSearchParamsInValidation(underlyingSearchParams, workStore, workUnitStore) {
3854    var _workUnitStore_validationSamples;
3855    const { createExhaustiveSearchParamsProxy } = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js [app-client] (ecmascript)");
3856    const declaredKeys = new Set(Object.keys(((_workUnitStore_validationSamples = workUnitStore.validationSamples) == null ? void 0 : _workUnitStore_validationSamples.searchParams) ?? {}));
3857    underlyingSearchParams = createExhaustiveSearchParamsProxy(underlyingSearchParams, declaredKeys, workStore.route);
3858    return Promise.resolve(underlyingSearchParams);
3859}
3860}),
3861"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
3862"use strict";
3863
3864Object.defineProperty(exports, "__esModule", {
3865    value: true
3866});
3867Object.defineProperty(exports, "dynamicAccessAsyncStorageInstance", {
3868    enumerable: true,
3869    get: function() {
3870        return dynamicAccessAsyncStorageInstance;
3871    }
3872});
3873const _asynclocalstorage = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/async-local-storage.js [a
3873pp-client] (ecmascript)");
3874const dynamicAccessAsyncStorageInstance = (0, _asynclocalstorage.createAsyncLocalStorage)();
3875}),
3876"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
3877"use strict";
3878
3879Object.defineProperty(exports, "__esModule", {
3880    value: true
3881});
3882Object.defineProperty(exports, "dynamicAccessAsyncStorage", {
3883    enumerable: true,
3884    get: function() {
3885        return _dynamicaccessasyncstorageinstance.dynamicAccessAsyncStorageInstance;
3886    }
3887});
3888const _dynamicaccessasyncstorageinstance = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js [app-client] (ecmascript)");
3889}),
3890"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/request/params.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
3891"use strict";
3892
3893var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$2$2e$2_$40$babel$2b$core$40$7$2e$29$2e$0_react$2d$dom$40$19$2e$2$2e$4_react$40$19$2e$2$2e$4_$5f$react$40$19$2e$2$2e$4$2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)");
3894"use strict";
3895Object.defineProperty(exports, "__esModule", {
3896    value: true
3897});
38980 && (module.exports = {
3899    createParamsFromClient: null,
3900    createPrerenderParamsForClientSegment: null,
3901    createServerParamsForMetadata: null,
3902    createServerParamsForRoute: null,
3903    createServerParamsForServerSegment: null
3904});
3905function _export(target, all) {
3906    for(var name in all)Object.defineProperty(target, name, {
3907        enumerable: true,
3908        get: all[name]
3909    });
3910}
3911_export(exports, {
3912    createParamsFromClient: function() {
3913        return createParamsFromClient;
3914    },
3915    createPrerenderParamsForClientSegment: function() {
3916        return createPrerenderParamsForClientSegment;
3917    },
3918    createServerParamsForMetadata: function() {
3919        return createServerParamsForMetadata;
3920    },
3921    createServerParamsForRoute: function() {
3922        return createServerParamsForRoute;
3923    },
3924    createServerParamsForServerSegment: function() {
3925        return createServerParamsForServerSegment;
3926    }
3927});
3928const _workasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/work-async-storage.external.js [app-client] (ecmascript)");
3929const _varyparams = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/vary-params.js [app-client] (ecmascript)");
3930const _reflect = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)");
3931const _dynamicrendering = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/dynamic-rendering.js [app-client] (ecmascript)");
3932const _workunitasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js [app-client] (ecmascript)");
3933const _invarianterror = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/invariant-error.js [app-client] (ecmascript)");
3934const _reflectutils = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)");
3935const _dynamicrenderingutils = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/dynamic-rendering-utils.js [app-client] (ecmascript)");
3936const _creatededupedbycallsiteservererrorlogger = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js [app-client] (ecmascript)");
3937const _dynamicaccessasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js [app-client] (ecmascript)");
3938const _stagedrendering = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/staged-rendering.js [a
3938pp-client] (ecmascript)");
3939function createParamsFromClient(underlyingParams) {
3940    const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
3941    if (!workStore) {
3942        throw Object.defineProperty(new _invarianterror.InvariantError('Expected workStore to be initialized'), "__NEXT_ERROR_CODE", {
3943            value: "E1068",
3944            enumerable: false,
3945            configurable: true
3946        });
3947    }
3948    const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
3949    if (workUnitStore) {
3950        switch(workUnitStore.type){
3951            case 'prerender':
3952            case 'prerender-client':
3953            case 'prerender-ppr':
3954            case 'prerender-legacy':
3955                // Client params don't need additional vary tracking because by the
3956                // time they reach the client, the access would have already been
3957                // tracked by the server.
3958                const varyParamsAccumulator = null;
3959                return createStaticPrerenderParams(underlyingParams, null, workStore, workUnitStore, varyParamsAccumulator);
3960            case 'validation-client':
3961                return createClientParamsInInstantValidation(underlyingParams, workStore, workUnitStore.validationSamples);
3962            case 'cache':
3963            case 'private-cache':
3964            case 'unstable-cache':
3965                throw Object.defineProperty(new _invarianterror.InvariantError('createParamsFromClient should not be called in cache contexts.'), "__NEXT_ERROR_CODE", {
3966                    value: "E736",
3967                    enumerable: false,
3968                    configurable: true
3969                });
3970            case 'prerender-runtime':
3971                throw Object.defineProperty(new _invarianterror.InvariantError('createParamsFromClient should not be called in a runtime prerender.'), "__NEXT_ERROR_CODE", {
3972                    value: "E770",
3973                    enumerable: false,
3974                    configurable: true
3975                });
3976            case 'generate-static-params':
3977                throw Object.defineProperty(new _invarianterror.InvariantError('createParamsFromClient should not be called inside generateStaticParams.'), "__NEXT_ERROR_CODE", {
3978                    value: "E1122",
3979                    enumerable: false,
3980                    configurable: true
3981                });
3982            case 'request':
3983                if ("TURBOPACK compile-time truthy", 1) {
3984                    // Semantically we only need the dev tracking when running in `next dev`
3985                    // but since you would never use next dev with production NODE_ENV we use this
3986                    // as a proxy so we can statically exclude this code from production builds.
3987                    const fallbackParams = workUnitStore.fallbackParams;
3988                    // Client params are not runtime prefetchable
3989                    const isRuntimePrefetchable = false;
3990                    return createRenderParamsInDev(underlyingParams, fallbackParams, workStore, workUnitStore, isRuntimePrefetchable);
3991                } else //TURBOPACK unreachable
3992                ;
3993            default:
3994                workUnitStore;
3995        }
3996    }
3997    (0, _workunitasyncstorageexternal.throwInvariantForMissingStore)();
3998}
3999function createServerParamsForMetadata(underlyingParams, optionalCatchAllParamName, isRuntimePrefetchable) {
4000    const metadataVaryParamsAccumulator = (0, _varyparams.getMetadataVaryParamsAccumulator)();
4001    return createServerParamsForServerSegment(underlyingParams, optionalCatchAllParamName, metadataVaryParamsAccumulator, isRuntimePrefetchable);
4002}
4003function createServerParamsForRoute(underlyingParams, varyParamsAccumulator = null) {
4004    const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
4005    if (!workStore) {
4006        throw Object.defineProperty(new _invarianterror.InvariantError('Expected workStore to be initialized'), "__NEXT_ERROR_CODE", {
4007            value: "E1068",
4008            enumerable: false,
4009            configurable: true
4010        });
4011    }
4012    const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
4013    if (workUnitStore) {
4014        switch(workUnitStore.type){
4015            case 'prerender':
4016            case 'prerender-ppr':
4017            case 'prerender-legacy':
4018                return createStaticPrerenderParams(underlyingParams, null, workStore, workUnitStore, varyParamsAccumulator);
4019            case 'prerender-client':
4020            case 'validation-client':
4021                throw Object.defineProperty(new _invarianterror.InvariantError('createServerParamsForRoute should not be called in client contexts.'), "__NEXT_ERROR_CODE", {
4022                    value: "E1064",
4023                    enumerable: false,
4024                    configurable: true
4025                });
4026            case 'cache':
4027            case 'private-cache':
4028            case 'unstable-cache':
4029                throw Object.defineProperty(new _invarianterror.InvariantError('createServerParamsForRoute should not be called in cache contexts.'), "__NEXT_ERROR_CODE", {
4030                    value: "E738",
4031                    enumerable: false,
4032                    configurable: true
4033                });
4034            case 'generate-static-params':
4035                throw Object.defineProperty(new _invarianterror.InvariantError('createServerParamsForRoute should not be called inside generateStaticParams.'), "__NEXT_ERROR_CODE", {
4036                    value: "E1131",
4037                    enumerable: false,
4038                    configurable: true
4039                });
4040            case 'prerender-runtime':
4041                {
4042                    // Route params are not runtime prefetchable
4043                    const isRuntimePrefetchable = false;
4044                    return createRuntimePrerenderParams(underlyingParams, null, workUnitStore, varyParamsAccumulator, isRuntimePrefetchable);
4045                }
4046            case 'request':
4047                if ("TURBOPACK compile-time truthy", 1) {
4048                    // Semantically we only need the dev tracking when running in `next dev`
4049                    // but since you would never use next dev with production NODE_ENV we use this
4050                    // as a proxy so we can statically exclude this code from production builds.
4051                    const fallbackParams = workUnitStore.fallbackParams;
4052                    // Route params are not runtime prefetchable
4053                    const isRuntimePrefetchable = false;
4054                    return createRenderParamsInDev(underlyingParams, fallbackParams, workStore, workUnitStore, isRuntimePrefetchable);
4055                } else //TURBOPACK unreachable
4056                ;
4057            default:
4058                workUnitStore;
4059        }
4060    }
4061    (0, _workunitasyncstorageexternal.throwInvariantForMissingStore)();
4062}
4063function createServerParamsForServerSegment(underlyingParams, optionalCatchAllParamName, varyParamsAccumulator, isRuntimePrefetchable) {
4064    const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
4065    if (!workStore) {
4066        throw Object.defineProperty(new _invarianterror.InvariantError('Expected workStore to be initialized'), "__NEXT_ERROR_CODE", {
4067            value: "E1068",
4068            enumerable: false,
4069            configurable: true
4070        });
4071    }
4072    const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
4073    if (workUnitStore) {
4074        switch(workUnitStore.type){
4075            case 'prerender':
4076            case 'prerender-client':
4077            case 'prerender-ppr':
4078            case 'prerender-legacy':
4079                return createStaticPrerenderParams(underlyingParams, optionalCatchAllParamName, workStore, workUnitStore, varyParamsAccumulator);
4080            case 'validation-client':
4081                throw Object.defineProperty(new _invarianterror.InvariantError('createServerParamsForServerSegment should not be called in client contexts.'), "__NEXT_ERROR_CODE", {
4082                    value: "E1101",
4083                    enumerable: false,
4084                    configurable: true
4085                });
4086            case 'cache':
4087            case 'private-cache':
4088            case 'unstable-cache':
4089                throw Object.defineProperty(new _invarianterror.InvariantError('createServerParamsForServerSegment should not be called in cache contexts.'), "__NEXT_ERROR_CODE", {
4090                    value: "E743",
4091                    enumerable: false,
4092                    configurable: true
4093                });
4094            case 'generate-static-params':
4095                throw Object.defineProperty(new _invarianterror.InvariantError('createServerParamsForServerSegment should not be called inside generateStaticParams.'), "__NEXT_ERROR_CODE", {
4096                    value: "E1120",
4097                    enumerable: false,
4098                    configurable: true
4099                });
4100            case 'prerender-runtime':
4101                return createRuntimePrerenderParams(underlyingParams, optionalCatchAllParamName, workUnitStore, varyParamsAccumulator, isRuntimePrefetchable);
4102            case 'request':
4103                if ("TURBOPACK compile-time truthy", 1) {
4104                    // Semantically we only need the dev tracking when running in `next dev`
4105                    // but since you would never use next dev with production NODE_ENV we use this
4106                    // as a proxy so we can statically exclude this code from production builds.
4107                    const fallbackParams = workUnitStore.fallbackParams;
4108                    return createRenderParamsInDev(underlyingParams, fallbackParams, workStore, workUnitStore, isRuntimePrefetchable);
4109                } else //TURBOPACK unreachable
4110                ;
4111            default:
4112                workUnitStore;
4113        }
4114    }
4115    (0, _workunitasyncstorageexternal.throwInvariantForMissingStore)();
4116}
4117function createPrerenderParamsForClientSegment(underlyingParams) {
4118    const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
4119    if (!workStore) {
4120        throw Object.defineProperty(new _invarianterror.InvariantError('Missing workStore in createPrerenderParamsForClientSegment'), "__NEXT_ERROR_CODE", {
4121            value: "E773",
4122            enumerable: false,
4123            configurable: true
4124        });
4125    }
4126    const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
4127    if (workUnitStore) {
4128        switch(workUnitStore.type){
4129            case 'prerender':
4130            case 'prerender-client':
4131                const fallbackParams = workUnitStore.fallbackRouteParam
4131s;
4132                if (fallbackParams) {
4133                    for(let key in underlyingParams){
4134                        if (fallbackParams.has(key)) {
4135                            // This params object has one or more fallback params, so we need
4136                            // to consider the awaiting of this params object "dynamic". Since
4137                            // we are in cacheComponents mode we encode this as a promise that never
4138                            // resolves.
4139                            return (0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, workStore.route, '`params`');
4140                        }
4141                    }
4142                }
4143                break;
4144            case 'validation-client':
4145                throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderParamsForClientSegment should not be called in validation contexts.'), "__NEXT_ERROR_CODE", {
4146                    value: "E1099",
4147                    enumerable: false,
4148                    configurable: true
4149                });
4150                break;
4151            case 'cache':
4152            case 'private-cache':
4153            case 'unstable-cache':
4154                throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderParamsForClientSegment should not be called in cache contexts.'), "__NEXT_ERROR_CODE", {
4155                    value: "E734",
4156                    enumerable: false,
4157                    configurable: true
4158                });
4159            case 'generate-static-params':
4160                throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderParamsForClientSegment should not be called inside generateStaticParams.'), "__NEXT_ERROR_CODE", {
4161                    value: "E1126",
4162                    enumerable: false,
4163                    configurable: true
4164                });
4165            case 'prerender-ppr':
4166            case 'prerender-legacy':
4167            case 'prerender-runtime':
4168            case 'request':
4169                break;
4170            default:
4171                workUnitStore;
4172        }
4173    }
4174    // We're prerendering in a mode that does not abort. We resolve the promise without
4175    // any tracking because we're just transporting a value from server to client where the tracking
4176    // will be applied.
4177    return Promise.resolve(underlyingParams);
4178}
4179function createStaticPrerenderParams(underlyingParams, optionalCatchAllParamName, workStore, prerenderStore, varyParamsAccumulator) {
4180    const underlyingParamsWithVarying = varyParamsAccumulator !== null ? (0, _varyparams.createVaryingParams)(varyParamsAccumulator, underlyingParams, optionalCatchAllParamName) : underlyingParams;
4181    switch(prerenderStore.type){
4182        case 'prerender':
4183        case 'prerender-client':
4184            {
4185                const fallbackParams = prerenderStore.fallbackRouteParams;
4186                if (fallbackParams) {
4187                    for(const key in underlyingParams){
4188                        if (fallbackParams.has(key)) {
4189                            // This params object has one or more fallback params, so we need
4190                            // to consider the awaiting of this params object "dynamic". Since
4191                            // we are in cacheComponents mode we encode this as a promise that never
4192                            // resolves.
4193                            return makeHangingParams(underlyingParamsWithVarying, workStore, prerenderStore);
4194                        }
4195                    }
4196                }
4197                break;
4198            }
4199        case 'prerender-ppr':
4200            {
4201                const fallbackParams = prerenderStore.fallbackRouteParams;
4202                if (fallbackParams) {
4203                    for(const key in underlyingParams){
4204                        if (fallbackParams.has(key)) {
4205                            return makeErroringParams(underlyingParamsWithVarying, fallbackParams, workStore, prerenderStore);
4206                        }
4207                    }
4208                }
4209                break;
4210            }
4211        case 'prerender-legacy':
4212            break;
4213        default:
4214            prerenderStore;
4215    }
4216    return makeUntrackedParams(underlyingParamsWithVarying);
4217}
4218function createRuntimePrerenderParams(underlyingParams, optionalCatchAllParamName, workUnitStore, varyParamsAccumulator, isRuntimePrefetchable) {
4219    const underlyingParamsWithVarying = varyParamsAccumulator !== null ? (0, _varyparams.createVaryingParams)(varyParamsAccumulator, underlyingParams, optionalCatchAllParamName) : underlyingParams;
4220    const result = makeUntrackedParams(underlyingParamsWithVarying);
4221    const { stagedRendering } = workUnitStore;
4222    if (!stagedRendering) {
4223        return result;
4224    }
4225    const stage = isRuntimePrefetchable ? _stagedrendering.RenderStage.EarlyRuntime : _stagedrendering.RenderStage.Runtime;
4226    return stagedRendering.waitForStage(stage).then(()=>result);
4227}
4228function hasFallbackRouteParams(underlyingParams, fallbackParams) {
4229    if (fallbackParams) {
4230        for(let key in underlyingParams){
4231            if (fallbackParams.has(key)) {
4232                return true;
4233            }
4234        }
4235    }
4236    return false;
4237}
4238function createServerParamsInInstantValidation(underlyingParams, workStore, validationSamples, asyncApiPromises, isRuntimePrefetchable) {
4239    const { createExhaustiveParamsProxy } = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js [app-client] (ecmascript)");
4240    const declaredParams = new Set(Object.keys(validationSamples.params ?? {}));
4241    const proxiedUnderlying = createExhaustiveParamsProxy(underlyingParams, declaredParams, workStore.route);
4242    return (isRuntimePrefetchable ? asyncApiPromises.earlySharedParamsParent : asyncApiPromises.sharedParamsParent).then(()=>proxiedUnderlying);
4243}
4244function createClientParamsInInstantValidation(underlyingParams, workStore, validationSamples) {
4245    const { createExhaustiveParamsProxy } = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js [app-client] (ecmascript)");
4246    const declaredParams = new Set(Object.keys((validationSamples == null ? void 0 : validationSamples.params) ?? {}));
4247    const proxiedUnderlying = createExhaustiveParamsProxy(underlyingParams, declaredParams, workStore.route);
4248    return Promise.resolve(proxiedUnderlying);
4249}
4250function createRenderParamsInProd(underlyingParams) {
4251    return makeUntrackedParams(underlyingParams);
4252}
4253function createRenderParamsInDev(underlyingParams, fallbackParams, workStore, requestStore, isRuntimePrefetchable) {
4254    return makeDynamicallyTrackedParamsWithDevWarnings(underlyingParams, hasFallbackRouteParams(underlyingParams, fallbackParams), workStore, requestStore, isRuntimePrefetchable);
4255}
4256const CachedParams = new WeakMap();
4257const fallbackParamsProxyHandler = {
4258    get: function get(target, prop, receiver) {
4259        if (prop === 'then' || prop === 'catch' || prop === 'finally') {
4260            const originalMethod = _reflect.ReflectAdapter.get(target, prop, receiver);
4261            return ({
4262                [prop]: (...args)=>{
4263                    const store = _dynamicaccessasyncstorageexternal.dynamicAccessAsyncStorage.getStore();
4264                    if (store) {
4265                        store.abortController.abort(Object.defineProperty(new Error(`Accessed fallback \`params\` during prerendering.`), "__NEXT_ERROR_CODE", {
4266                            value: "E691",
4267                            enumerable: false,
4268                            configurable: true
4269                        }));
4270                    }
4271                    return new Proxy(originalMethod.apply(target, args), fallbackParamsProxyHandler);
4272                }
4273            })[prop];
4274        }
4275        return _reflect.ReflectAdapter.get(target, prop, receiver);
4276    }
4277};
4278function makeHangingParams(underlyingParams, workStore, prerenderStore) {
4279    const cachedParams = CachedParams.get(underlyingParams);
4280    if (cachedParams) {
4281        return cachedParams;
4282    }
4283    const promise = new Proxy((0, _dynamicrenderingutils.makeHangingPromise)(prerenderStore.render
4283Signal, workStore.route, '`params`'), fallbackParamsProxyHandler);
4284    CachedParams.set(underlyingParams, promise);
4285    return promise;
4286}
4287function makeErroringParams(underlyingParams, fallbackParams, workStore, prerenderStore) {
4288    const cachedParams = CachedParams.get(underlyingParams);
4289    if (cachedParams) {
4290        return cachedParams;
4291    }
4292    const augmentedUnderlying = {
4293        ...underlyingParams
4294    };
4295    // We don't use makeResolvedReactPromise here because params
4296    // supports copying with spread and we don't want to unnecessarily
4297    // instrument the promise with spreadable properties of ReactPromise.
4298    const promise = Promise.resolve(augmentedUnderlying);
4299    CachedParams.set(underlyingParams, promise);
4300    Object.keys(underlyingParams).forEach((prop)=>{
4301        if (_reflectutils.wellKnownProperties.has(prop)) {
4302        // These properties cannot be shadowed because they need to be the
4303        // true underlying value for Promises to work correctly at runtime
4304        } else {
4305            if (fallbackParams.has(prop)) {
4306                Object.defineProperty(augmentedUnderlying, prop, {
4307                    get () {
4308                        const expression = (0, _reflectutils.describeStringPropertyAccess)('params', prop);
4309                        // In most dynamic APIs we also throw if `dynamic = "error"` however
4310                        // for params is only dynamic when we're generating a fallback shell
4311                        // and even when `dynamic = "error"` we still support generating dynamic
4312                        // fallback shells
4313                        // TODO remove this comment when cacheComponents is the default since there
4314                        // will be no `dynamic = "error"`
4315                        if (prerenderStore.type === 'prerender-ppr') {
4316                            // PPR Prerender (no cacheComponents)
4317                            (0, _dynamicrendering.postponeWithTracking)(workStore.route, expression, prerenderStore.dynamicTracking);
4318                        } else {
4319                            // Legacy Prerender
4320                            (0, _dynamicrendering.throwToInterruptStaticGeneration)(expression, workStore, prerenderStore);
4321                        }
4322                    },
4323                    enumerable: true
4324                });
4325            }
4326        }
4327    });
4328    return promise;
4329}
4330function makeUntrackedParams(underlyingParams) {
4331    const cachedParams = CachedParams.get(underlyingParams);
4332    if (cachedParams) {
4333        return cachedParams;
4334    }
4335    const promise = Promise.resolve(underlyingParams);
4336    CachedParams.set(underlyingParams, promise);
4337    return promise;
4338}
4339function makeDynamicallyTrackedParamsWithDevWarnings(underlyingParams, hasFallbackParams, workStore, requestStore, isRuntimePrefetchable) {
4340    if (requestStore.asyncApiPromises && hasFallbackParams) {
4341        // We wrap each instance of params in a `new Promise()`, because deduping
4342        // them across requests doesn't work anyway and this let us show each
4343        // await a different set of values. This is important when all awaits
4344        // are in third party which would otherwise track all the way to the
4345        // internal params.
4346        const sharedParamsParent = isRuntimePrefetchable ? requestStore.asyncApiPromises.earlySharedParamsParent : requestStore.asyncApiPromises.sharedParamsParent;
4347        const promise = new Promise((resolve, reject)=>{
4348            sharedParamsParent.then(()=>resolve(underlyingParams), reject);
4349        });
4350        // @ts-expect-error
4351        promise.displayName = 'params';
4352        return instrumentParamsPromiseWithDevWarnings(underlyingParams, promise, workStore);
4353    }
4354    const cachedParams = CachedParams.get(underlyingParams);
4355    if (cachedParams) {
4356        return cachedParams;
4357    }
4358    // We don't use makeResolvedReactPromise here because params
4359    // supports copying with spread and we don't want to unnecessarily
4360    // instrument the promise with spreadable properties of ReactPromise.
4361    const promise = hasFallbackParams ? (0, _dynamicrenderingutils.makeDevtoolsIOAwarePromise)(underlyingParams, requestStore, _stagedrendering.RenderStage.Runtime) : Promise.resolve(underlyingParams);
4362    const proxiedPromise = instrumentParamsPromiseWithDevWarnings(underlyingParams, promise, workStore);
4363    CachedParams.set(underlyingParams, proxiedPromise);
4364    return proxiedPromise;
4365}
4366function instrumentParamsPromiseWithDevWarnings(underlyingParams, promise, workStore) {
4367    // Track which properties we should warn for.
4368    const proxiedProperties = new Set();
4369    Object.keys(underlyingParams).forEach((prop)=>{
4370        if (_reflectutils.wellKnownProperties.has(prop)) {
4371        // These properties cannot be shadowed because they need to be the
4372        // true underlying value for Promises to work correctly at runtime
4373        } else {
4374            proxiedProperties.add(prop);
4375        }
4376    });
4377    return new Proxy(promise, {
4378        get (target, prop, receiver) {
4379            if (typeof prop === 'string') {
4380                if (proxiedProperties.has(prop)) {
4381                    const expression = (0, _reflectutils.describeStringPropertyAccess)('params', prop);
4382                    warnForSyncAccess(workStore.route, expression);
4383                }
4384            }
4385            return _reflect.ReflectAdapter.get(target, prop, receiver);
4386        },
4387        set (target, prop, value, receiver) {
4388            if (typeof prop === 'string') {
4389                proxiedProperties.delete(prop);
4390            }
4391            return _reflect.ReflectAdapter.set(target, prop, value, receiver);
4392        },
4393        ownKeys (target) {
4394            const expression = '`...params` or similar expression';
4395            warnForSyncAccess(workStore.route, expression);
4396            return Reflect.ownKeys(target);
4397        }
4398    });
4399}
4400const warnForSyncAccess = (0, _creatededupedbycallsiteservererrorlogger.createDedupedByCallsiteServerErrorLoggerDev)(createParamsAccessError);
4401function createParamsAccessError(route, expression) {
4402    const prefix = route ? `Route "${route}" ` : 'This route ';
4403    return Object.defineProperty(new Error(`${prefix}used ${expression}. ` + `\`params\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`), "__NEXT_ERROR_CODE", {
4404        value: "E834",
4405        enumerable: false,
4406        configurable: true
4407    });
4408}
4409}),
4410"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/components/client-page.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
4411"use strict";
4412
4413Object.defineProperty(exports, "__esModule", {
4414    value: true
4415});
4416Object.defineProperty(exports, "ClientPageRoot", {
4417    enumerable: true,
4418    get: function() {
4419        return ClientPageRoot;
4420    }
4421});
4422const _jsxruntime = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
4423const _approutercontextsharedruntime = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js [app-client] (ecmascript)");
4424const _react = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
4425const _routeparams = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/route-params.js [app-client] (ecmascript)");
4426const _hooksclientcontextsharedruntime = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js [app-client] (ecmascript)");
4427function ClientPageRoot({ Component, serverProvidedParams }) {
4428    let searchParams;
4429    let params;
4430    if (serverProvidedParams !== null) {
4431        searchParams = serverProvidedParams.searchParams;
4432        params = serverProvidedParams.params;
4433    } else {
4434        // When Cache Components is enabled, the server does not pass the params as
4435        // props; they are parsed on the client and passed via context.
4436        const layoutRouterContext = (0, _react.use)(_approutercontextsharedruntime.LayoutRouterContext);
4437        params = layoutRouterContext !== null ? layoutRouterContext.parentParam
4437s : {};
4438        // This is an intentional behavior change: when Cache Components is enabled,
4439        // client segments receive the "canonical" search params, not the
4440        // rewritten ones. Users should either call useSearchParams directly or pass
4441        // the rewritten ones in from a Server Component.
4442        // TODO: Log a deprecation error when this object is accessed
4443        searchParams = (0, _routeparams.urlSearchParamsToParsedUrlQuery)((0, _react.use)(_hooksclientcontextsharedruntime.SearchParamsContext));
4444    }
4445    if (typeof window === 'undefined') {
4446        let clientSearchParams;
4447        let clientParams;
4448        const { createSearchParamsFromClient } = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/request/search-params.js [app-client] (ecmascript)");
4449        clientSearchParams = createSearchParamsFromClient(searchParams);
4450        const { createParamsFromClient } = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/request/params.js [app-client] (ecmascript)");
4451        clientParams = createParamsFromClient(params);
4452        return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {
4453            params: clientParams,
4454            searchParams: clientSearchParams
4455        });
4456    } else {
4457        const { createRenderSearchParamsFromClient } = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/request/search-params.browser.js [app-client] (ecmascript)");
4458        const clientSearchParams = createRenderSearchParamsFromClient(searchParams);
4459        const { createRenderParamsFromClient } = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/request/params.browser.js [app-client] (ecmascript)");
4460        const clientParams = createRenderParamsFromClient(params);
4461        return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {
4462            params: clientParams,
4463            searchParams: clientSearchParams
4464        });
4465    }
4466}
4467if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {
4468    Object.defineProperty(exports.default, '__esModule', {
4469        value: true
4470    });
4471    Object.assign(exports.default, exports);
4472    module.exports = exports.default;
4473}
4474}),
4475"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/components/client-segment.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
4476"use strict";
4477
4478Object.defineProperty(exports, "__esModule", {
4479    value: true
4480});
4481Object.defineProperty(exports, "ClientSegmentRoot", {
4482    enumerable: true,
4483    get: function() {
4484        return ClientSegmentRoot;
4485    }
4486});
4487const _jsxruntime = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
4488const _approutercontextsharedruntime = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js [app-client] (ecmascript)");
4489const _react = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)");
4490function ClientSegmentRoot({ Component, slots, serverProvidedParams }) {
4491    let params;
4492    if (serverProvidedParams !== null) {
4493        params = serverProvidedParams.params;
4494    } else {
4495        // When Cache Components is enabled, the server does not pass the params
4496        // as props; they are parsed on the client and passed via context.
4497        const layoutRouterContext = (0, _react.use)(_approutercontextsharedruntime.LayoutRouterContext);
4498        params = layoutRouterContext !== null ? layoutRouterContext.parentParam
4498s : {};
4499    }
4500    if (typeof window === 'undefined') {
4501        const { createParamsFromClient } = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/server/request/params.js [app-client] (ecmascript)");
4502        const clientParams = createParamsFromClient(params);
4503        return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {
4504            ...slots,
4505            params: clientParams
4506        });
4507    } else {
4508        const { createRenderParamsFromClient } = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/client/request/params.browser.js [app-client] (ecmascript)");
4509        const clientParams = createRenderParamsFromClient(params);
4510        return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {
4511            ...slots,
4512            params: clientParams
4513        });
4514    }
4515}
4516if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') {
4517    Object.defineProperty(exports.default, '__esModule', {
4518        value: true
4519    });
4520    Object.assign(exports.default, exports);
4521    module.exports = exports.default;
4522}
4523}),
4524"[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/lib/metadata/generate/icon-mark.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => {
4525"use strict";
4526
4527Object.defineProperty(exports, "__esModule", {
4528    value: true
4529});
4530Object.defineProperty(exports, "IconMark", {
4531    enumerable: true,
4532    get: function() {
4533        return IconMark;
4534    }
4535});
4536const _jsxruntime = __turbopack_context__.r("[project]/node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)");
4537const IconMark = ()=>{
4538    if (typeof window !== 'undefined') {
4539        return null;
4540    }
4541    return /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", {
4542        name: "\xabnxt-icon\xbb"
4543    });
4544};
4545}),
4546]);
4547
4548//# sourceMappingURL=0r_m_next_dist_0r39plp._.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.