(globalThis.TURBOPACK = globalThis.TURBOPACK || []).push([typeof document === "object" ? document.currentScript : undefined, { "[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; var _global_process, _global_process1; module.exports = ((_global_process = global.process) == null ? void 0 : _global_process.env) && typeof ((_global_process1 = global.process) == null ? void 0 : _global_process1.env) === 'object' ? global.process : __turbopack_context__.r("[project]/node_modules/next/dist/compiled/process/browser.js [app-client] (ecmascript)"); //# sourceMappingURL=process.js.map }}), "[project]/node_modules/next/dist/build/polyfills/polyfill-module.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "trimStart" in String.prototype || (String.prototype.trimStart = String.prototype.trimLeft), "trimEnd" in String.prototype || (String.prototype.trimEnd = String.prototype.trimRight), "description" in Symbol.prototype || Object.defineProperty(Symbol.prototype, "description", { configurable: !0, get: function() { var t = /\((.*)\)/.exec(this.toString()); return t ? t[1] : void 0; } }), Array.prototype.flat || (Array.prototype.flat = function(t, r) { return r = this.concat.apply([], this), t > 1 && r.some(Array.isArray) ? r.flat(t - 1) : r; }, Array.prototype.flatMap = function(t, r) { return this.map(t, r).flat(); }), Promise.prototype.finally || (Promise.prototype.finally = function(t) { if ("function" != typeof t) return this.then(t, t); var r = this.constructor || Promise; return this.then(function(n) { return r.resolve(t()).then(function() { return n; }); }, function(n) { return r.resolve(t()).then(function() { throw n; }); }); }), Object.fromEntries || (Object.fromEntries = function(t) { return Array.from(t).reduce(function(t, r) { return t[r[0]] = r[1], t; }, {}); }), Array.prototype.at || (Array.prototype.at = function(t) { var r = Math.trunc(t) || 0; if (r < 0 && (r += this.length), !(r < 0 || r >= this.length)) return this[r]; }), Object.hasOwn || (Object.hasOwn = function(t, r) { if (null == t) throw new TypeError("Cannot convert undefined or null to object"); return Object.prototype.hasOwnProperty.call(Object(t), r); }), "canParse" in URL || (URL.canParse = function(t, r) { try { return !!new URL(t, r); } catch (t) { return !1; } }); }}), "[project]/node_modules/next/dist/lib/require-instrumentation-client.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { /** * This module imports the client instrumentation hook from the project root. * * The `private-next-instrumentation-client` module is automatically aliased to * the `instrumentation-client.ts` file in the project root by webpack or turbopack. */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); "use strict"; if ("TURBOPACK compile-time truthy", 1) { const measureName = 'Client Instrumentation Hook'; const startTime = performance.now(); module.exports = {}; const endTime = performance.now(); const duration = endTime - startTime; performance.measure(measureName, { start: startTime, end: endTime, detail: 'Client instrumentation initialization' }); // Using 16ms threshold as it represents one frame (1000ms/60fps) // This helps identify if the instrumentation hook initialization // could potentially cause frame drops during development. const THRESHOLD = 16; if (duration > THRESHOLD) { console.log(`[${measureName}] Slow execution detected: ${duration.toFixed(0)}ms (Note: Code download overhead is not included in this measurement)`); } } else { "TURBOPACK unreachable"; } //# sourceMappingURL=require-instrumentation-client.js.map }}), "[project]/node_modules/next/dist/lib/is-error.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { default: null, getProperError: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { /** * Checks whether the given value is a NextError. * This can be used to print a more detailed error message with properties like `code` & `digest`. */ default: function() { return isError; }, getProperError: function() { return getProperError; } }); const _isplainobject = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/is-plain-object.js [app-client] (ecmascript)"); function isError(err) { return typeof err === 'object' && err !== null && 'name' in err && 'message' in err; } function safeStringify(obj) { const seen = new WeakSet(); return JSON.stringify(obj, (_key, value)=>{ // If value is an object and already seen, replace with "[Circular]" if (typeof value === 'object' && value !== null) { if (seen.has(value)) { return '[Circular]'; } seen.add(value); } return value; }); } function getProperError(err) { if (isError(err)) { return err; } if ("TURBOPACK compile-time truthy", 1) { // provide better error for case where `throw undefined` // is called in development if (typeof err === 'undefined') { return Object.defineProperty(new Error('An undefined error was thrown, ' + 'see here for more info: https://nextjs.org/docs/messages/threw-undefined'), "__NEXT_ERROR_CODE", { value: "E98", enumerable: false, configurable: true }); } if (err === null) { return Object.defineProperty(new Error('A null error was thrown, ' + 'see here for more info: https://nextjs.org/docs/messages/threw-undefined'), "__NEXT_ERROR_CODE", { value: "E336", enumerable: false, configurable: true }); } } return Object.defineProperty(new Error((0, _isplainobject.isPlainObject)(err) ? safeStringify(err) : err + ''), "__NEXT_ERROR_CODE", { value: "E394", enumerable: false, configurable: true }); } //# sourceMappingURL=is-error.js.map }}), "[project]/node_modules/next/dist/lib/error-telemetry-utils.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { copyNextErrorCode: null, createDigestWithErrorCode: null, extractNextErrorCode: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { copyNextErrorCode: function() { return copyNextErrorCode; }, createDigestWithErrorCode: function() { return createDigestWithErrorCode; }, extractNextErrorCode: function() { return extractNextErrorCode; } }); const ERROR_CODE_DELIMITER = '@'; const createDigestWithErrorCode = (thrownValue, originalDigest)=>{ if (typeof thrownValue === 'object' && thrownValue !== null && '__NEXT_ERROR_CODE' in thrownValue) { return `${originalDigest}${ERROR_CODE_DELIMITER}${thrownValue.__NEXT_ERROR_CODE}`; } return originalDigest; }; const copyNextErrorCode = (source, target)=>{ const errorCode = extractNextErrorCode(source); if (errorCode && typeof target === 'object' && target !== null) { Object.defineProperty(target, '__NEXT_ERROR_CODE', { value: errorCode, enumerable: false, configurable: true }); } }; const extractNextErrorCode = (error)=>{ if (typeof error === 'object' && error !== null && '__NEXT_ERROR_CODE' in error && typeof error.__NEXT_ERROR_CODE === 'string') { return error.__NEXT_ERROR_CODE; } if (typeof error === 'object' && error !== null && 'digest' in error && typeof error.digest === 'string') { const segments = error.digest.split(ERROR_CODE_DELIMITER); const errorCode = segments.find((segment)=>segment.startsWith('E')); return errorCode; } return undefined; }; //# sourceMappingURL=error-telemetry-utils.js.map }}), "[project]/node_modules/next/dist/lib/metadata/metadata-constants.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { METADATA_BOUNDARY_NAME: null, OUTLET_BOUNDARY_NAME: null, VIEWPORT_BOUNDARY_NAME: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { METADATA_BOUNDARY_NAME: function() { return METADATA_BOUNDARY_NAME; }, OUTLET_BOUNDARY_NAME: function() { return OUTLET_BOUNDARY_NAME; }, VIEWPORT_BOUNDARY_NAME: function() { return VIEWPORT_BOUNDARY_NAME; } }); const METADATA_BOUNDARY_NAME = '__next_metadata_boundary__'; const VIEWPORT_BOUNDARY_NAME = '__next_viewport_boundary__'; const OUTLET_BOUNDARY_NAME = '__next_outlet_boundary__'; //# sourceMappingURL=metadata-constants.js.map }}), "[project]/node_modules/next/dist/lib/scheduler.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { atLeastOneTask: null, scheduleImmediate: null, scheduleOnNextTick: null, waitAtLeastOneReactRenderTask: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { atLeastOneTask: function() { return atLeastOneTask; }, scheduleImmediate: function() { return scheduleImmediate; }, scheduleOnNextTick: function() { return scheduleOnNextTick; }, waitAtLeastOneReactRenderTask: function() { return waitAtLeastOneReactRenderTask; } }); const scheduleOnNextTick = (cb)=>{ // We use Promise.resolve().then() here so that the operation is scheduled at // the end of the promise job queue, we then add it to the next process tick // to ensure it's evaluated afterwards. // // This was inspired by the implementation of the DataLoader interface: https://github.com/graphql/dataloader/blob/d336bd15282664e0be4b4a657cb796f09bafbc6b/src/index.js#L213-L255 // Promise.resolve().then(()=>{ if ("TURBOPACK compile-time falsy", 0) { "TURBOPACK unreachable"; } else { __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].nextTick(cb); } }); }; const scheduleImmediate = (cb)=>{ if ("TURBOPACK compile-time falsy", 0) { "TURBOPACK unreachable"; } else { setImmediate(cb); } }; function atLeastOneTask() { return new Promise((resolve)=>scheduleImmediate(resolve)); } function waitAtLeastOneReactRenderTask() { if ("TURBOPACK compile-time falsy", 0) { "TURBOPACK unreachable"; } else { return new Promise((r)=>setImmediate(r)); } } //# sourceMappingURL=scheduler.js.map }}), "[project]/node_modules/next/dist/shared/lib/is-plain-object.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { getObjectClassLabel: null, isPlainObject: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { getObjectClassLabel: function() { return getObjectClassLabel; }, isPlainObject: function() { return isPlainObject; } }); function getObjectClassLabel(value) { return Object.prototype.toString.call(value); } function isPlainObject(value) { if (getObjectClassLabel(value) !== '[object Object]') { return false; } const prototype = Object.getPrototypeOf(value); /** * this used to be previously: * * `return prototype === null || prototype === Object.prototype` * * but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail. * * It was changed to the current implementation since it's resilient to serialization. */ return prototype === null || prototype.hasOwnProperty('isPrototypeOf'); } //# sourceMappingURL=is-plain-object.js.map }}), "[project]/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "HeadManagerContext", { enumerable: true, get: function() { return HeadManagerContext; } }); const _interop_require_default = __turbopack_context__.r("[project]/node_modules/@swc/helpers/cjs/_interop_require_default.cjs [app-client] (ecmascript)"); const _react = /*#__PURE__*/ _interop_require_default._(__turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)")); const HeadManagerContext = _react.default.createContext({}); if ("TURBOPACK compile-time truthy", 1) { HeadManagerContext.displayName = 'HeadManagerContext'; } //# sourceMappingURL=head-manager-context.shared-runtime.js.map }}), "[project]/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { // This has to be a shared module which is shared between client component error boundary and dynamic component "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { BailoutToCSRError: null, isBailoutToCSRError: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { BailoutToCSRError: function() { return BailoutToCSRError; }, isBailoutToCSRError: function() { return isBailoutToCSRError; } }); const BAILOUT_TO_CSR = 'BAILOUT_TO_CLIENT_SIDE_RENDERING'; class BailoutToCSRError extends Error { constructor(reason){ super("Bail out to client-side rendering: " + reason), this.reason = reason, this.digest = BAILOUT_TO_CSR; } } function isBailoutToCSRError(err) { if (typeof err !== 'object' || err === null || !('digest' in err)) { return false; } return err.digest === BAILOUT_TO_CSR; } //# sourceMappingURL=bailout-to-csr.js.map }}), "[project]/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); 'use client'; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { PathParamsContext: null, PathnameContext: null, SearchParamsContext: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { PathParamsContext: function() { return PathParamsContext; }, PathnameContext: function() { return PathnameContext; }, SearchParamsContext: function() { return SearchParamsContext; } }); const _react = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"); const SearchParamsContext = (0, _react.createContext)(null); const PathnameContext = (0, _react.createContext)(null); const PathParamsContext = (0, _react.createContext)(null); if ("TURBOPACK compile-time truthy", 1) { SearchParamsContext.displayName = 'SearchParamsContext'; PathnameContext.displayName = 'PathnameContext'; PathParamsContext.displayName = 'PathParamsContext'; } //# sourceMappingURL=hooks-client-context.shared-runtime.js.map }}), "[project]/node_modules/next/dist/shared/lib/is-thenable.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { /** * Check to see if a value is Thenable. * * @param promise the maybe-thenable value * @returns true if the value is thenable */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "isThenable", { enumerable: true, get: function() { return isThenable; } }); function isThenable(promise) { return promise !== null && typeof promise === 'object' && 'then' in promise && typeof promise.then === 'function'; } //# sourceMappingURL=is-thenable.js.map }}), "[project]/node_modules/next/dist/shared/lib/hash.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { // http://www.cse.yorku.ca/~oz/hash.html // More specifically, 32-bit hash via djbxor // (ref: https://gist.github.com/eplawless/52813b1d8ad9af510d85?permalink_comment_id=3367765#gistcomment-3367765) // This is due to number type differences between rust for turbopack to js number types, // where rust does not have easy way to repreesnt js's 53-bit float number type for the matching // overflow behavior. This is more `correct` in terms of having canonical hash across different runtime / implementation // as can gaurantee determinstic output from 32bit hash. "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { djb2Hash: null, hexHash: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { djb2Hash: function() { return djb2Hash; }, hexHash: function() { return hexHash; } }); function djb2Hash(str) { let hash = 5381; for(let i = 0; i < str.length; i++){ const char = str.charCodeAt(i); hash = (hash << 5) + hash + char & 0xffffffff; } return hash >>> 0; } function hexHash(str) { return djb2Hash(str).toString(36).slice(0, 5); } //# sourceMappingURL=hash.js.map }}), "[project]/node_modules/next/dist/shared/lib/segment.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { DEFAULT_SEGMENT_KEY: null, PAGE_SEGMENT_KEY: null, addSearchParamsIfPageSegment: null, isGroupSegment: null, isParallelRouteSegment: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { DEFAULT_SEGMENT_KEY: function() { return DEFAULT_SEGMENT_KEY; }, PAGE_SEGMENT_KEY: function() { return PAGE_SEGMENT_KEY; }, addSearchParamsIfPageSegment: function() { return addSearchParamsIfPageSegment; }, isGroupSegment: function() { return isGroupSegment; }, isParallelRouteSegment: function() { return isParallelRouteSegment; } }); function isGroupSegment(segment) { // Use array[0] for performant purpose return segment[0] === '(' && segment.endsWith(')'); } function isParallelRouteSegment(segment) { return segment.startsWith('@') && segment !== '@children'; } function addSearchParamsIfPageSegment(segment, searchParams) { const isPageSegment = segment.includes(PAGE_SEGMENT_KEY); if (isPageSegment) { const stringifiedQuery = JSON.stringify(searchParams); return stringifiedQuery !== '{}' ? PAGE_SEGMENT_KEY + '?' + stringifiedQuery : PAGE_SEGMENT_KEY; } return segment; } const PAGE_SEGMENT_KEY = '__PAGE__'; const DEFAULT_SEGMENT_KEY = '__DEFAULT__'; //# sourceMappingURL=segment.js.map }}), "[project]/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { /** * For a given page path, this function ensures that there is a leading slash. * If there is not a leading slash, one is added, otherwise it is noop. */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "ensureLeadingSlash", { enumerable: true, get: function() { return ensureLeadingSlash; } }); function ensureLeadingSlash(path) { return path.startsWith('/') ? path : "/" + path; } //# sourceMappingURL=ensure-leading-slash.js.map }}), "[project]/node_modules/next/dist/shared/lib/router/utils/app-paths.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { normalizeAppPath: null, normalizeRscURL: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { normalizeAppPath: function() { return normalizeAppPath; }, normalizeRscURL: function() { return normalizeRscURL; } }); const _ensureleadingslash = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js [app-client] (ecmascript)"); const _segment = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/segment.js [app-client] (ecmascript)"); function normalizeAppPath(route) { return (0, _ensureleadingslash.ensureLeadingSlash)(route.split('/').reduce((pathname, segment, index, segments)=>{ // Empty segments are ignored. if (!segment) { return pathname; } // Groups are ignored. if ((0, _segment.isGroupSegment)(segment)) { return pathname; } // Parallel segments are ignored. if (segment[0] === '@') { return pathname; } // The last segment (if it's a leaf) should be ignored. if ((segment === 'page' || segment === 'route') && index === segments.length - 1) { return pathname; } return pathname + "/" + segment; }, '')); } function normalizeRscURL(url) { return url.replace(/\.rsc($|\?)/, '$1'); } //# sourceMappingURL=app-paths.js.map }}), "[project]/node_modules/next/dist/shared/lib/router/utils/interception-routes.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { INTERCEPTION_ROUTE_MARKERS: null, extractInterceptionRouteInformation: null, isInterceptionRouteAppPath: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { INTERCEPTION_ROUTE_MARKERS: function() { return INTERCEPTION_ROUTE_MARKERS; }, extractInterceptionRouteInformation: function() { return extractInterceptionRouteInformation; }, isInterceptionRouteAppPath: function() { return isInterceptionRouteAppPath; } }); const _apppaths = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/app-paths.js [app-client] (ecmascript)"); const INTERCEPTION_ROUTE_MARKERS = [ '(..)(..)', '(.)', '(..)', '(...)' ]; function isInterceptionRouteAppPath(path) { // TODO-APP: add more serious validation return path.split('/').find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined; } function extractInterceptionRouteInformation(path) { let interceptingRoute, marker, interceptedRoute; for (const segment of path.split('/')){ marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m)); if (marker) { ; [interceptingRoute, interceptedRoute] = path.split(marker, 2); break; } } if (!interceptingRoute || !marker || !interceptedRoute) { throw Object.defineProperty(new Error("Invalid interception route: " + path + ". Must be in the format //(..|...|..)(..)/"), "__NEXT_ERROR_CODE", { value: "E269", enumerable: false, configurable: true }); } interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed ; switch(marker){ case '(.)': // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route if (interceptingRoute === '/') { interceptedRoute = "/" + interceptedRoute; } else { interceptedRoute = interceptingRoute + '/' + interceptedRoute; } break; case '(..)': // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route if (interceptingRoute === '/') { throw Object.defineProperty(new Error("Invalid interception route: " + path + ". Cannot use (..) marker at the root level, use (.) instead."), "__NEXT_ERROR_CODE", { value: "E207", enumerable: false, configurable: true }); } interceptedRoute = interceptingRoute.split('/').slice(0, -1).concat(interceptedRoute).join('/'); break; case '(...)': // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route interceptedRoute = '/' + interceptedRoute; break; case '(..)(..)': // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route const splitInterceptingRoute = interceptingRoute.split('/'); if (splitInterceptingRoute.length <= 2) { throw Object.defineProperty(new Error("Invalid interception route: " + path + ". Cannot use (..)(..) marker at the root level or one level up."), "__NEXT_ERROR_CODE", { value: "E486", enumerable: false, configurable: true }); } interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join('/'); break; default: throw Object.defineProperty(new Error('Invariant: unexpected marker'), "__NEXT_ERROR_CODE", { value: "E112", enumerable: false, configurable: true }); } return { interceptingRoute, interceptedRoute }; } //# sourceMappingURL=interception-routes.js.map }}), "[project]/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); 'use client'; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { AppRouterContext: null, GlobalLayoutRouterContext: null, LayoutRouterContext: null, MissingSlotContext: null, TemplateContext: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { AppRouterContext: function() { return AppRouterContext; }, GlobalLayoutRouterContext: function() { return GlobalLayoutRouterContext; }, LayoutRouterContext: function() { return LayoutRouterContext; }, MissingSlotContext: function() { return MissingSlotContext; }, TemplateContext: function() { return TemplateContext; } }); const _interop_require_default = __turbopack_context__.r("[project]/node_modules/@swc/helpers/cjs/_interop_require_default.cjs [app-client] (ecmascript)"); const _react = /*#__PURE__*/ _interop_require_default._(__turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)")); const AppRouterContext = _react.default.createContext(null); const LayoutRouterContext = _react.default.createContext(null); const GlobalLayoutRouterContext = _react.default.createContext(null); const TemplateContext = _react.default.createContext(null); if ("TURBOPACK compile-time truthy", 1) { AppRouterContext.displayName = 'AppRouterContext'; LayoutRouterContext.displayName = 'LayoutRouterContext'; GlobalLayoutRouterContext.displayName = 'GlobalLayoutRouterContext'; TemplateContext.displayName = 'TemplateContext'; } const MissingSlotContext = _react.default.createContext(new Set()); //# sourceMappingURL=app-router-context.shared-runtime.js.map }}), "[project]/node_modules/next/dist/shared/lib/router/utils/html-bots.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { // This regex contains the bots that we need to do a blocking render for and can't safely stream the response // due to how they parse the DOM. For example, they might explicitly check for metadata in the `head` tag, so we can't stream metadata tags after the `head` was sent. "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "HTML_LIMITED_BOT_UA_RE", { enumerable: true, get: function() { return HTML_LIMITED_BOT_UA_RE; } }); const HTML_LIMITED_BOT_UA_RE = /Mediapartners-Google|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti/i; //# sourceMappingURL=html-bots.js.map }}), "[project]/node_modules/next/dist/shared/lib/router/utils/is-bot.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { HTML_LIMITED_BOT_UA_RE: null, HTML_LIMITED_BOT_UA_RE_STRING: null, getBotType: null, isBot: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { HTML_LIMITED_BOT_UA_RE: function() { return _htmlbots.HTML_LIMITED_BOT_UA_RE; }, HTML_LIMITED_BOT_UA_RE_STRING: function() { return HTML_LIMITED_BOT_UA_RE_STRING; }, getBotType: function() { return getBotType; }, isBot: function() { return isBot; } }); const _htmlbots = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/html-bots.js [app-client] (ecmascript)"); // Bot crawler that will spin up a headless browser and execute JS const HEADLESS_BROWSER_BOT_UA_RE = /Googlebot|Google-PageRenderer|AdsBot-Google|googleweblight|Storebot-Google/i; const HTML_LIMITED_BOT_UA_RE_STRING = _htmlbots.HTML_LIMITED_BOT_UA_RE.source; function isDomBotUA(userAgent) { return HEADLESS_BROWSER_BOT_UA_RE.test(userAgent); } function isHtmlLimitedBotUA(userAgent) { return _htmlbots.HTML_LIMITED_BOT_UA_RE.test(userAgent); } function isBot(userAgent) { return isDomBotUA(userAgent) || isHtmlLimitedBotUA(userAgent); } function getBotType(userAgent) { if (isDomBotUA(userAgent)) { return 'dom'; } if (isHtmlLimitedBotUA(userAgent)) { return 'html'; } return undefined; } //# sourceMappingURL=is-bot.js.map }}), "[project]/node_modules/next/dist/shared/lib/router/utils/parse-path.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { /** * Given a path this function will find the pathname, query and hash and return * them. This is useful to parse full paths on the client side. * @param path A path to parse e.g. /foo/bar?id=1#hash */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "parsePath", { enumerable: true, get: function() { return parsePath; } }); function parsePath(path) { const hashIndex = path.indexOf('#'); const queryIndex = path.indexOf('?'); const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex); if (hasQuery || hashIndex > -1) { return { pathname: path.substring(0, hasQuery ? queryIndex : hashIndex), query: hasQuery ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined) : '', hash: hashIndex > -1 ? path.slice(hashIndex) : '' }; } return { pathname: path, query: '', hash: '' }; } //# sourceMappingURL=parse-path.js.map }}), "[project]/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "addPathPrefix", { enumerable: true, get: function() { return addPathPrefix; } }); const _parsepath = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/parse-path.js [app-client] (ecmascript)"); function addPathPrefix(path, prefix) { if (!path.startsWith('/') || !prefix) { return path; } const { pathname, query, hash } = (0, _parsepath.parsePath)(path); return "" + prefix + pathname + query + hash; } //# sourceMappingURL=add-path-prefix.js.map }}), "[project]/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { /** * Removes the trailing slash for a given route or page path. Preserves the * root page. Examples: * - `/foo/bar/` -> `/foo/bar` * - `/foo/bar` -> `/foo/bar` * - `/` -> `/` */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "removeTrailingSlash", { enumerable: true, get: function() { return removeTrailingSlash; } }); function removeTrailingSlash(route) { return route.replace(/\/$/, '') || '/'; } //# sourceMappingURL=remove-trailing-slash.js.map }}), "[project]/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { 'use client'; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { ServerInsertedHTMLContext: null, useServerInsertedHTML: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { ServerInsertedHTMLContext: function() { return ServerInsertedHTMLContext; }, useServerInsertedHTML: function() { return useServerInsertedHTML; } }); const _interop_require_wildcard = __turbopack_context__.r("[project]/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs [app-client] (ecmascript)"); const _react = /*#__PURE__*/ _interop_require_wildcard._(__turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)")); const ServerInsertedHTMLContext = /*#__PURE__*/ _react.default.createContext(null); function useServerInsertedHTML(callback) { const addInsertedServerHTMLCallback = (0, _react.useContext)(ServerInsertedHTMLContext); // Should have no effects on client where there's no flush effects provider if (addInsertedServerHTMLCallback) { addInsertedServerHTMLCallback(callback); } } //# sourceMappingURL=server-inserted-html.shared-runtime.js.map }}), "[project]/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "pathHasPrefix", { enumerable: true, get: function() { return pathHasPrefix; } }); const _parsepath = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/parse-path.js [app-client] (ecmascript)"); function pathHasPrefix(path, prefix) { if (typeof path !== 'string') { return false; } const { pathname } = (0, _parsepath.parsePath)(path); return pathname === prefix || pathname.startsWith(prefix + '/'); } //# sourceMappingURL=path-has-prefix.js.map }}), "[project]/node_modules/next/dist/shared/lib/utils/warn-once.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "warnOnce", { enumerable: true, get: function() { return warnOnce; } }); let warnOnce = (_)=>{}; if ("TURBOPACK compile-time truthy", 1) { const warnings = new Set(); warnOnce = (msg)=>{ if (!warnings.has(msg)) { console.warn(msg); } warnings.add(msg); }; } //# sourceMappingURL=warn-once.js.map }}), "[project]/node_modules/next/dist/shared/lib/magic-identifier.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { MAGIC_IDENTIFIER_REGEX: null, decodeMagicIdentifier: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { MAGIC_IDENTIFIER_REGEX: function() { return MAGIC_IDENTIFIER_REGEX; }, decodeMagicIdentifier: function() { return decodeMagicIdentifier; } }); function decodeHex(hexStr) { if (hexStr.trim() === '') { throw Object.defineProperty(new Error("can't decode empty hex"), "__NEXT_ERROR_CODE", { value: "E19", enumerable: false, configurable: true }); } const num = parseInt(hexStr, 16); if (isNaN(num)) { throw Object.defineProperty(new Error("invalid hex: `" + hexStr + "`"), "__NEXT_ERROR_CODE", { value: "E293", enumerable: false, configurable: true }); } return String.fromCodePoint(num); } const DECODE_REGEX = /^__TURBOPACK__([a-zA-Z0-9_$]+)__$/; function decodeMagicIdentifier(identifier) { const matches = identifier.match(DECODE_REGEX); if (!matches) { return identifier; } const inner = matches[1]; let output = ''; let mode = 0; let buffer = ''; for(let i = 0; i < inner.length; i++){ const char = inner[i]; if (mode === 0) { if (char === '_') { mode = 1; } else if (char === '$') { mode = 2; } else { output += char; } } else if (mode === 1) { if (char === '_') { output += ' '; mode = 0; } else if (char === '$') { output += '_'; mode = 2; } else { output += char; mode = 0; } } else if (mode === 2) { if (buffer.length === 2) { output += decodeHex(buffer); buffer = ''; } if (char === '_') { if (buffer !== '') { throw Object.defineProperty(new Error("invalid hex: `" + buffer + "`"), "__NEXT_ERROR_CODE", { value: "E293", enumerable: false, configurable: true }); } mode = 3; } else if (char === '$') { if (buffer !== '') { throw Object.defineProperty(new Error("invalid hex: `" + buffer + "`"), "__NEXT_ERROR_CODE", { value: "E293", enumerable: false, configurable: true }); } mode = 0; } else { buffer += char; } } else if (mode === 3) { if (char === '_') { throw Object.defineProperty(new Error("invalid hex: `" + (buffer + char) + "`"), "__NEXT_ERROR_CODE", { value: "E244", enumerable: false, configurable: true }); } else if (char === '$') { output += decodeHex(buffer); buffer = ''; mode = 0; } else { buffer += char; } } } return output; } const MAGIC_IDENTIFIER_REGEX = /__TURBOPACK__[a-zA-Z0-9_$]+__/g; //# sourceMappingURL=magic-identifier.js.map }}), "[project]/node_modules/next/dist/shared/lib/error-source.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { decorateServerError: null, getErrorSource: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { decorateServerError: function() { return decorateServerError; }, getErrorSource: function() { return getErrorSource; } }); const symbolError = Symbol.for('NextjsError'); function getErrorSource(error) { return error[symbolError] || null; } function decorateServerError(error, type) { Object.defineProperty(error, symbolError, { writable: false, enumerable: false, configurable: false, value: type }); } //# sourceMappingURL=error-source.js.map }}), "[project]/node_modules/next/dist/shared/lib/errors/constants.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "MISSING_ROOT_TAGS_ERROR", { enumerable: true, get: function() { return MISSING_ROOT_TAGS_ERROR; } }); const MISSING_ROOT_TAGS_ERROR = 'NEXT_MISSING_ROOT_TAGS'; if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=constants.js.map }}), "[project]/node_modules/next/dist/shared/lib/normalized-asset-prefix.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "normalizedAssetPrefix", { enumerable: true, get: function() { return normalizedAssetPrefix; } }); function normalizedAssetPrefix(assetPrefix) { // remove all leading slashes and trailing slashes const escapedAssetPrefix = (assetPrefix == null ? void 0 : assetPrefix.replace(/^\/+|\/+$/g, '')) || false; // if an assetPrefix was '/', we return empty string // because it could be an unnecessary trailing slash if (!escapedAssetPrefix) { return ''; } if (URL.canParse(escapedAssetPrefix)) { const url = new URL(escapedAssetPrefix).toString(); return url.endsWith('/') ? url.slice(0, -1) : url; } // assuming assetPrefix here is a pathname-style, // restore the leading slash return "/" + escapedAssetPrefix; } //# sourceMappingURL=normalized-asset-prefix.js.map }}), "[project]/node_modules/next/dist/shared/lib/server-reference-info.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { extractInfoFromServerReferenceId: null, omitUnusedArgs: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { extractInfoFromServerReferenceId: function() { return extractInfoFromServerReferenceId; }, omitUnusedArgs: function() { return omitUnusedArgs; } }); function extractInfoFromServerReferenceId(id) { const infoByte = parseInt(id.slice(0, 2), 16); const typeBit = infoByte >> 7 & 0x1; const argMask = infoByte >> 1 & 0x3f; const restArgs = infoByte & 0x1; const usedArgs = Array(6); for(let index = 0; index < 6; index++){ const bitPosition = 5 - index; const bit = argMask >> bitPosition & 0x1; usedArgs[index] = bit === 1; } return { type: typeBit === 1 ? 'use-cache' : 'server-action', usedArgs: usedArgs, hasRestArgs: restArgs === 1 }; } function omitUnusedArgs(args, info) { const filteredArgs = new Array(args.length); for(let index = 0; index < args.length; index++){ if (index < 6 && info.usedArgs[index] || // This assumes that the server reference info byte has the restArgs bit // set to 1 if there are more than 6 args. index >= 6 && info.hasRestArgs) { filteredArgs[index] = args[index]; } } return filteredArgs; } //# sourceMappingURL=server-reference-info.js.map }}), "[project]/node_modules/next/dist/server/app-render/async-local-storage.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { bindSnapshot: null, createAsyncLocalStorage: null, createSnapshot: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { bindSnapshot: function() { return bindSnapshot; }, createAsyncLocalStorage: function() { return createAsyncLocalStorage; }, createSnapshot: function() { return createSnapshot; } }); const sharedAsyncLocalStorageNotAvailableError = Object.defineProperty(new Error('Invariant: AsyncLocalStorage accessed in runtime where it is not available'), "__NEXT_ERROR_CODE", { value: "E504", enumerable: false, configurable: true }); class FakeAsyncLocalStorage { disable() { throw sharedAsyncLocalStorageNotAvailableError; } getStore() { // This fake implementation of AsyncLocalStorage always returns `undefined`. return undefined; } run() { throw sharedAsyncLocalStorageNotAvailableError; } exit() { throw sharedAsyncLocalStorageNotAvailableError; } enterWith() { throw sharedAsyncLocalStorageNotAvailableError; } static bind(fn) { return fn; } } const maybeGlobalAsyncLocalStorage = typeof globalThis !== 'undefined' && globalThis.AsyncLocalStorage; function createAsyncLocalStorage() { if (maybeGlobalAsyncLocalStorage) { return new maybeGlobalAsyncLocalStorage(); } return new FakeAsyncLocalStorage(); } function bindSnapshot(fn) { if (maybeGlobalAsyncLocalStorage) { return maybeGlobalAsyncLocalStorage.bind(fn); } return FakeAsyncLocalStorage.bind(fn); } function createSnapshot() { if (maybeGlobalAsyncLocalStorage) { return maybeGlobalAsyncLocalStorage.snapshot(); } return function(fn, ...args) { return fn(...args); }; } //# sourceMappingURL=async-local-storage.js.map }}), "[project]/node_modules/next/dist/server/app-render/work-async-storage-instance.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "workAsyncStorageInstance", { enumerable: true, get: function() { return workAsyncStorageInstance; } }); const _asynclocalstorage = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/async-local-storage.js [app-client] (ecmascript)"); const workAsyncStorageInstance = (0, _asynclocalstorage.createAsyncLocalStorage)(); //# sourceMappingURL=work-async-storage-instance.js.map }}), "[project]/node_modules/next/dist/server/app-render/work-async-storage.external.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "workAsyncStorage", { enumerable: true, get: function() { return _workasyncstorageinstance.workAsyncStorageInstance; } }); const _workasyncstorageinstance = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/work-async-storage-instance.js [app-client] (ecmascript)"); //# sourceMappingURL=work-async-storage.external.js.map }}), "[project]/node_modules/next/dist/server/app-render/action-async-storage-instance.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "actionAsyncStorageInstance", { enumerable: true, get: function() { return actionAsyncStorageInstance; } }); const _asynclocalstorage = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/async-local-storage.js [app-client] (ecmascript)"); const actionAsyncStorageInstance = (0, _asynclocalstorage.createAsyncLocalStorage)(); //# sourceMappingURL=action-async-storage-instance.js.map }}), "[project]/node_modules/next/dist/server/app-render/action-async-storage.external.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "actionAsyncStorage", { enumerable: true, get: function() { return _actionasyncstorageinstance.actionAsyncStorageInstance; } }); const _actionasyncstorageinstance = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/action-async-storage-instance.js [app-client] (ecmascript)"); //# sourceMappingURL=action-async-storage.external.js.map }}), "[project]/node_modules/next/dist/server/dynamic-rendering-utils.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { isHangingPromiseRejectionError: null, makeHangingPromise: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { isHangingPromiseRejectionError: function() { return isHangingPromiseRejectionError; }, makeHangingPromise: function() { return makeHangingPromise; } }); function isHangingPromiseRejectionError(err) { if (typeof err !== 'object' || err === null || !('digest' in err)) { return false; } return err.digest === HANGING_PROMISE_REJECTION; } const HANGING_PROMISE_REJECTION = 'HANGING_PROMISE_REJECTION'; class HangingPromiseRejectionError extends Error { constructor(expression){ super(`During prerendering, ${expression} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${expression} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context.`), this.expression = expression, this.digest = HANGING_PROMISE_REJECTION; } } const abortListenersBySignal = new WeakMap(); function makeHangingPromise(signal, expression) { if (signal.aborted) { return Promise.reject(new HangingPromiseRejectionError(expression)); } else { const hangingPromise = new Promise((_, reject)=>{ const boundRejection = reject.bind(null, new HangingPromiseRejectionError(expression)); let currentListeners = abortListenersBySignal.get(signal); if (currentListeners) { currentListeners.push(boundRejection); } else { const listeners = [ boundRejection ]; abortListenersBySignal.set(signal, listeners); signal.addEventListener('abort', ()=>{ for(let i = 0; i < listeners.length; i++){ listeners[i](); } }, { once: true }); } }); // We are fine if no one actually awaits this promise. We shouldn't consider this an unhandled rejection so // we attach a noop catch handler here to suppress this warning. If you actually await somewhere or construct // your own promise out of it you'll need to ensure you handle the error when it rejects. hangingPromise.catch(ignoreReject); return hangingPromise; } } function ignoreReject() {} //# sourceMappingURL=dynamic-rendering-utils.js.map }}), "[project]/node_modules/next/dist/server/lib/router-utils/is-postpone.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "isPostpone", { enumerable: true, get: function() { return isPostpone; } }); const REACT_POSTPONE_TYPE = Symbol.for('react.postpone'); function isPostpone(error) { return typeof error === 'object' && error !== null && error.$$typeof === REACT_POSTPONE_TYPE; } //# sourceMappingURL=is-postpone.js.map }}), "[project]/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "workUnitAsyncStorageInstance", { enumerable: true, get: function() { return workUnitAsyncStorageInstance; } }); const _asynclocalstorage = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/async-local-storage.js [app-client] (ecmascript)"); const workUnitAsyncStorageInstance = (0, _asynclocalstorage.createAsyncLocalStorage)(); //# sourceMappingURL=work-unit-async-storage-instance.js.map }}), "[project]/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { getDraftModeProviderForCacheScope: null, getExpectedRequestStore: null, getHmrRefreshHash: null, getPrerenderResumeDataCache: null, getRenderResumeDataCache: null, throwForMissingRequestStore: null, workUnitAsyncStorage: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { getDraftModeProviderForCacheScope: function() { return getDraftModeProviderForCacheScope; }, getExpectedRequestStore: function() { return getExpectedRequestStore; }, getHmrRefreshHash: function() { return getHmrRefreshHash; }, getPrerenderResumeDataCache: function() { return getPrerenderResumeDataCache; }, getRenderResumeDataCache: function() { return getRenderResumeDataCache; }, throwForMissingRequestStore: function() { return throwForMissingRequestStore; }, workUnitAsyncStorage: function() { return _workunitasyncstorageinstance.workUnitAsyncStorageInstance; } }); const _workunitasyncstorageinstance = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js [app-client] (ecmascript)"); const _approuterheaders = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/app-router-headers.js [app-client] (ecmascript)"); function getExpectedRequestStore(callingExpression) { const workUnitStore = _workunitasyncstorageinstance.workUnitAsyncStorageInstance.getStore(); if (!workUnitStore) { throwForMissingRequestStore(callingExpression); } switch(workUnitStore.type){ case 'request': return workUnitStore; case 'prerender': case 'prerender-ppr': case 'prerender-legacy': // This should not happen because we should have checked it already. throw Object.defineProperty(new Error(`\`${callingExpression}\` cannot be called inside a prerender. This is a bug in Next.js.`), "__NEXT_ERROR_CODE", { value: "E401", enumerable: false, configurable: true }); case 'cache': throw Object.defineProperty(new Error(`\`${callingExpression}\` cannot be called inside "use cache". Call it outside and pass an argument instead. Read more: https://nextjs.org/docs/messages/next-request-in-use-cache`), "__NEXT_ERROR_CODE", { value: "E37", enumerable: false, configurable: true }); case 'unstable-cache': throw Object.defineProperty(new Error(`\`${callingExpression}\` cannot be called inside unstable_cache. Call it outside and pass an argument instead. Read more: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`), "__NEXT_ERROR_CODE", { value: "E69", enumerable: false, configurable: true }); default: const _exhaustiveCheck = workUnitStore; return _exhaustiveCheck; } } function throwForMissingRequestStore(callingExpression) { throw Object.defineProperty(new Error(`\`${callingExpression}\` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`), "__NEXT_ERROR_CODE", { value: "E251", enumerable: false, configurable: true }); } function getPrerenderResumeDataCache(workUnitStore) { if (workUnitStore.type === 'prerender' || workUnitStore.type === 'prerender-ppr') { return workUnitStore.prerenderResumeDataCache; } return null; } function getRenderResumeDataCache(workUnitStore) { if (workUnitStore.type !== 'prerender-legacy' && workUnitStore.type !== 'cache' && workUnitStore.type !== 'unstable-cache') { if (workUnitStore.type === 'request') { return workUnitStore.renderResumeDataCache; } // We return the mutable resume data cache here as an immutable version of // the cache as it can also be used for reading. return workUnitStore.prerenderResumeDataCache; } return null; } function getHmrRefreshHash(workStore, workUnitStore) { var _workUnitStore_cookies_get; if (!workStore.dev) { return undefined; } return workUnitStore.type === 'cache' || workUnitStore.type === 'prerender' ? workUnitStore.hmrRefreshHash : workUnitStore.type === 'request' ? (_workUnitStore_cookies_get = workUnitStore.cookies.get(_approuterheaders.NEXT_HMR_REFRESH_HASH_COOKIE)) == null ? void 0 : _workUnitStore_cookies_get.value : undefined; } function getDraftModeProviderForCacheScope(workStore, workUnitStore) { if (workStore.isDraftMode) { switch(workUnitStore.type){ case 'cache': case 'unstable-cache': case 'request': return workUnitStore.draftMode; default: return undefined; } } return undefined; } //# sourceMappingURL=work-unit-async-storage.external.js.map }}), "[project]/node_modules/next/dist/server/app-render/dynamic-rendering.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { /** * The functions provided by this module are used to communicate certain properties * about the currently running code so that Next.js can make decisions on how to handle * the current execution in different rendering modes such as pre-rendering, resuming, and SSR. * * Today Next.js treats all code as potentially static. Certain APIs may only make sense when dynamically rendering. * Traditionally this meant deopting the entire render to dynamic however with PPR we can now deopt parts * of a React tree as dynamic while still keeping other parts static. There are really two different kinds of * Dynamic indications. * * The first is simply an intention to be dynamic. unstable_noStore is an example of this where * the currently executing code simply declares that the current scope is dynamic but if you use it * inside unstable_cache it can still be cached. This type of indication can be removed if we ever * make the default dynamic to begin with because the only way you would ever be static is inside * a cache scope which this indication does not affect. * * The second is an indication that a dynamic data source was read. This is a stronger form of dynamic * because it means that it is inappropriate to cache this at all. using a dynamic data source inside * unstable_cache should error. If you want to use some dynamic data inside unstable_cache you should * read that data outside the cache and pass it in as an argument to the cached function. */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { Postpone: null, abortAndThrowOnSynchronousRequestDataAccess: null, abortOnSynchronousPlatformIOAccess: null, accessedDynamicData: null, annotateDynamicAccess: null, consumeDynamicAccess: null, createDynamicTrackingState: null, createDynamicValidationState: null, createHangingInputAbortSignal: null, createPostponedAbortSignal: null, formatDynamicAPIAccesses: null, getFirstDynamicReason: null, isDynamicPostpone: null, isPrerenderInterruptedError: null, markCurrentScopeAsDynamic: null, postponeWithTracking: null, throwIfDisallowedDynamic: null, throwToInterruptStaticGeneration: null, trackAllowedDynamicAccess: null, trackDynamicDataInDynamicRender: null, trackFallbackParamAccessed: null, trackSynchronousPlatformIOAccessInDev: null, trackSynchronousRequestDataAccessInDev: null, useDynamicRouteParams: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { Postpone: function() { return Postpone; }, abortAndThrowOnSynchronousRequestDataAccess: function() { return abortAndThrowOnSynchronousRequestDataAccess; }, abortOnSynchronousPlatformIOAccess: function() { return abortOnSynchronousPlatformIOAccess; }, accessedDynamicData: function() { return accessedDynamicData; }, annotateDynamicAccess: function() { return annotateDynamicAccess; }, consumeDynamicAccess: function() { return consumeDynamicAccess; }, createDynamicTrackingState: function() { return createDynamicTrackingState; }, createDynamicValidationState: function() { return createDynamicValidationState; }, createHangingInputAbortSignal: function() { return createHangingInputAbortSignal; }, createPostponedAbortSignal: function() { return createPostponedAbortSignal; }, formatDynamicAPIAccesses: function() { return formatDynamicAPIAccesses; }, getFirstDynamicReason: function() { return getFirstDynamicReason; }, isDynamicPostpone: function() { return isDynamicPostpone; }, isPrerenderInterruptedError: function() { return isPrerenderInterruptedError; }, markCurrentScopeAsDynamic: function() { return markCurrentScopeAsDynamic; }, postponeWithTracking: function() { return postponeWithTracking; }, throwIfDisallowedDynamic: function() { return throwIfDisallowedDynamic; }, throwToInterruptStaticGeneration: function() { return throwToInterruptStaticGeneration; }, trackAllowedDynamicAccess: function() { return trackAllowedDynamicAccess; }, trackDynamicDataInDynamicRender: function() { return trackDynamicDataInDynamicRender; }, trackFallbackParamAccessed: function() { return trackFallbackParamAccessed; }, trackSynchronousPlatformIOAccessInDev: function() { return trackSynchronousPlatformIOAccessInDev; }, trackSynchronousRequestDataAccessInDev: function() { return trackSynchronousRequestDataAccessInDev; }, useDynamicRouteParams: function() { return useDynamicRouteParams; } }); const _react = /*#__PURE__*/ _interop_require_default(__turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)")); const _hooksservercontext = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/hooks-server-context.js [app-client] (ecmascript)"); const _staticgenerationbailout = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/static-generation-bailout.js [app-client] (ecmascript)"); const _workunitasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js [app-client] (ecmascript)"); const _workasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/work-async-storage.external.js [app-client] (ecmascript)"); const _dynamicrenderingutils = __turbopack_context__.r("[project]/node_modules/next/dist/server/dynamic-rendering-utils.js [app-client] (ecmascript)"); const _metadataconstants = __turbopack_context__.r("[project]/node_modules/next/dist/lib/metadata/metadata-constants.js [app-client] (ecmascript)"); const _scheduler = __turbopack_context__.r("[project]/node_modules/next/dist/lib/scheduler.js [app-client] (ecmascript)"); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const hasPostpone = typeof _react.default.unstable_postpone === 'function'; function createDynamicTrackingState(isDebugDynamicAccesses) { return { isDebugDynamicAccesses, dynamicAccesses: [], syncDynamicExpression: undefined, syncDynamicErrorWithStack: null }; } function createDynamicValidationState() { return { hasSuspendedDynamic: false, hasDynamicMetadata: false, hasDynamicViewport: false, hasSyncDynamicErrors: false, dynamicErrors: [] }; } function getFirstDynamicReason(trackingState) { var _trackingState_dynamicAccesses_; return (_trackingState_dynamicAccesses_ = trackingState.dynamicAccesses[0]) == null ? void 0 : _trackingState_dynamicAccesses_.expression; } function markCurrentScopeAsDynamic(store, workUnitStore, expression) { if (workUnitStore) { if (workUnitStore.type === 'cache' || workUnitStore.type === 'unstable-cache') { // inside cache scopes marking a scope as dynamic has no effect because the outer cache scope // creates a cache boundary. This is subtly different from reading a dynamic data source which is // forbidden inside a cache scope. return; } } // If we're forcing dynamic rendering or we're forcing static rendering, we // don't need to do anything here because the entire page is already dynamic // or it's static and it should not throw or postpone here. if (store.forceDynamic || store.forceStatic) return; if (store.dynamicShouldError) { throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError(`Route ${store.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", { value: "E553", enumerable: false, configurable: true }); } if (workUnitStore) { if (workUnitStore.type === 'prerender-ppr') { postponeWithTracking(store.route, expression, workUnitStore.dynamicTracking); } else if (workUnitStore.type === 'prerender-legacy') { workUnitStore.revalidate = 0; // We aren't prerendering but we are generating a static page. We need to bail out of static generation const err = Object.defineProperty(new _hooksservercontext.DynamicServerError(`Route ${store.route} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`), "__NEXT_ERROR_CODE", { value: "E550", enumerable: false, configurable: true }); store.dynamicUsageDescription = expression; store.dynamicUsageStack = err.stack; throw err; } else if (("TURBOPACK compile-time value", "development") === 'development' && workUnitStore && workUnitStore.type === 'request') { workUnitStore.usedDynamic = true; } } } function trackFallbackParamAccessed(store, expression) { const prerenderStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); if (!prerenderStore || prerenderStore.type !== 'prerender-ppr') return; postponeWithTracking(store.route, expression, prerenderStore.dynamicTracking); } function throwToInterruptStaticGeneration(expression, store, prerenderStore) { // We aren't prerendering but we are generating a static page. We need to bail out of static generation const err = Object.defineProperty(new _hooksservercontext.DynamicServerError(`Route ${store.route} couldn't be rendered statically because it used \`${expression}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`), "__NEXT_ERROR_CODE", { value: "E558", enumerable: false, configurable: true }); prerenderStore.revalidate = 0; store.dynamicUsageDescription = expression; store.dynamicUsageStack = err.stack; throw err; } function trackDynamicDataInDynamicRender(_store, workUnitStore) { if (workUnitStore) { if (workUnitStore.type === 'cache' || workUnitStore.type === 'unstable-cache') { // inside cache scopes marking a scope as dynamic has no effect because the outer cache scope // creates a cache boundary. This is subtly different from reading a dynamic data source which is // forbidden inside a cache scope. return; } if (workUnitStore.type === 'prerender' || workUnitStore.type === 'prerender-legacy') { workUnitStore.revalidate = 0; } if (("TURBOPACK compile-time value", "development") === 'development' && workUnitStore.type === 'request') { workUnitStore.usedDynamic = true; } } } // Despite it's name we don't actually abort unless we have a controller to call abort on // There are times when we let a prerender run long to discover caches where we want the semantics // of tracking dynamic access without terminating the prerender early function abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore) { const reason = `Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`; const error = createPrerenderInterruptedError(reason); prerenderStore.controller.abort(error); const dynamicTracking = prerenderStore.dynamicTracking; if (dynamicTracking) { dynamicTracking.dynamicAccesses.push({ // When we aren't debugging, we don't need to create another error for the // stack trace. stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined, expression }); } } function abortOnSynchronousPlatformIOAccess(route, expression, errorWithStack, prerenderStore) { const dynamicTracking = prerenderStore.dynamicTracking; if (dynamicTracking) { if (dynamicTracking.syncDynamicErrorWithStack === null) { dynamicTracking.syncDynamicExpression = expression; dynamicTracking.syncDynamicErrorWithStack = errorWithStack; } } abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore); } function trackSynchronousPlatformIOAccessInDev(requestStore) { // We don't actually have a controller to abort but we do the semantic equivalent by // advancing the request store out of prerender mode requestStore.prerenderPhase = false; } function abortAndThrowOnSynchronousRequestDataAccess(route, expression, errorWithStack, prerenderStore) { const prerenderSignal = prerenderStore.controller.signal; if (prerenderSignal.aborted === false) { // TODO it would be better to move this aborted check into the callsite so we can avoid making // the error object when it isn't relevant to the aborting of the prerender however // since we need the throw semantics regardless of whether we abort it is easier to land // this way. See how this was handled with `abortOnSynchronousPlatformIOAccess` for a closer // to ideal implementation const dynamicTracking = prerenderStore.dynamicTracking; if (dynamicTracking) { if (dynamicTracking.syncDynamicErrorWithStack === null) { dynamicTracking.syncDynamicExpression = expression; dynamicTracking.syncDynamicErrorWithStack = errorWithStack; if (prerenderStore.validating === true) { // We always log Request Access in dev at the point of calling the function // So we mark the dynamic validation as not requiring it to be printed dynamicTracking.syncDynamicLogged = true; } } } abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore); } throw createPrerenderInterruptedError(`Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`); } const trackSynchronousRequestDataAccessInDev = trackSynchronousPlatformIOAccessInDev; function Postpone({ reason, route }) { const prerenderStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); const dynamicTracking = prerenderStore && prerenderStore.type === 'prerender-ppr' ? prerenderStore.dynamicTracking : null; postponeWithTracking(route, reason, dynamicTracking); } function postponeWithTracking(route, expression, dynamicTracking) { assertPostpone(); if (dynamicTracking) { dynamicTracking.dynamicAccesses.push({ // When we aren't debugging, we don't need to create another error for the // stack trace. stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined, expression }); } _react.default.unstable_postpone(createPostponeReason(route, expression)); } function createPostponeReason(route, expression) { return `Route ${route} needs to bail out of prerendering at this point because it used ${expression}. ` + `React throws this special object to indicate where. It should not be caught by ` + `your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`; } function isDynamicPostpone(err) { if (typeof err === 'object' && err !== null && typeof err.message === 'string') { return isDynamicPostponeReason(err.message); } return false; } function isDynamicPostponeReason(reason) { return reason.includes('needs to bail out of prerendering at this point because it used') && reason.includes('Learn more: https://nextjs.org/docs/messages/ppr-caught-error'); } if (isDynamicPostponeReason(createPostponeReason('%%%', '^^^')) === false) { throw Object.defineProperty(new Error('Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js'), "__NEXT_ERROR_CODE", { value: "E296", enumerable: false, configurable: true }); } const NEXT_PRERENDER_INTERRUPTED = 'NEXT_PRERENDER_INTERRUPTED'; function createPrerenderInterruptedError(message) { const error = Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", { value: "E394", enumerable: false, configurable: true }); error.digest = NEXT_PRERENDER_INTERRUPTED; return error; } function isPrerenderInterruptedError(error) { return typeof error === 'object' && error !== null && error.digest === NEXT_PRERENDER_INTERRUPTED && 'name' in error && 'message' in error && error instanceof Error; } function accessedDynamicData(dynamicAccesses) { return dynamicAccesses.length > 0; } function consumeDynamicAccess(serverDynamic, clientDynamic) { // We mutate because we only call this once we are no longer writing // to the dynamicTrackingState and it's more efficient than creating a new // array. serverDynamic.dynamicAccesses.push(...clientDynamic.dynamicAccesses); return serverDynamic.dynamicAccesses; } function formatDynamicAPIAccesses(dynamicAccesses) { return dynamicAccesses.filter((access)=>typeof access.stack === 'string' && access.stack.length > 0).map(({ expression, stack })=>{ stack = stack.split('\n') // Remove the "Error: " prefix from the first line of the stack trace as // well as the first 4 lines of the stack trace which is the distance // from the user code and the `new Error().stack` call. .slice(4).filter((line)=>{ // Exclude Next.js internals from the stack trace. if (line.includes('node_modules/next/')) { return false; } // Exclude anonymous functions from the stack trace. if (line.includes(' ()')) { return false; } // Exclude Node.js internals from the stack trace. if (line.includes(' (node:')) { return false; } return true; }).join('\n'); return `Dynamic API Usage Debug - ${expression}:\n${stack}`; }); } function assertPostpone() { if (!hasPostpone) { throw Object.defineProperty(new Error(`Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js`), "__NEXT_ERROR_CODE", { value: "E224", enumerable: false, configurable: true }); } } function createPostponedAbortSignal(reason) { assertPostpone(); const controller = new AbortController(); // We get our hands on a postpone instance by calling postpone and catching the throw try { _react.default.unstable_postpone(reason); } catch (x) { controller.abort(x); } return controller.signal; } function createHangingInputAbortSignal(workUnitStore) { const controller = new AbortController(); if (workUnitStore.cacheSignal) { // If we have a cacheSignal it means we're in a prospective render. If the input // we're waiting on is coming from another cache, we do want to wait for it so that // we can resolve this cache entry too. workUnitStore.cacheSignal.inputReady().then(()=>{ controller.abort(); }); } else { // Otherwise we're in the final render and we should already have all our caches // filled. We might still be waiting on some microtasks so we wait one tick before // giving up. When we give up, we still want to render the content of this cache // as deeply as we can so that we can suspend as deeply as possible in the tree // or not at all if we don't end up waiting for the input. (0, _scheduler.scheduleOnNextTick)(()=>controller.abort()); } return controller.signal; } function annotateDynamicAccess(expression, prerenderStore) { const dynamicTracking = prerenderStore.dynamicTracking; if (dynamicTracking) { dynamicTracking.dynamicAccesses.push({ stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined, expression }); } } function useDynamicRouteParams(expression) { const workStore = _workasyncstorageexternal.workAsyncStorage.getStore(); if (workStore && workStore.isStaticGeneration && workStore.fallbackRouteParams && workStore.fallbackRouteParams.size > 0) { // There are fallback route params, we should track these as dynamic // accesses. const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); if (workUnitStore) { // We're prerendering with dynamicIO or PPR or both if (workUnitStore.type === 'prerender') { // We are in a prerender with dynamicIO semantics // We are going to hang here and never resolve. This will cause the currently // rendering component to effectively be a dynamic hole _react.default.use((0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, expression)); } else if (workUnitStore.type === 'prerender-ppr') { // We're prerendering with PPR postponeWithTracking(workStore.route, expression, workUnitStore.dynamicTracking); } else if (workUnitStore.type === 'prerender-legacy') { throwToInterruptStaticGeneration(expression, workStore, workUnitStore); } } } } const hasSuspenseRegex = /\n\s+at Suspense \(\)/; const hasMetadataRegex = new RegExp(`\\n\\s+at ${_metadataconstants.METADATA_BOUNDARY_NAME}[\\n\\s]`); const hasViewportRegex = new RegExp(`\\n\\s+at ${_metadataconstants.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`); const hasOutletRegex = new RegExp(`\\n\\s+at ${_metadataconstants.OUTLET_BOUNDARY_NAME}[\\n\\s]`); function trackAllowedDynamicAccess(route, componentStack, dynamicValidation, serverDynamic, clientDynamic) { if (hasOutletRegex.test(componentStack)) { // We don't need to track that this is dynamic. It is only so when something else is also dynamic. return; } else if (hasMetadataRegex.test(componentStack)) { dynamicValidation.hasDynamicMetadata = true; return; } else if (hasViewportRegex.test(componentStack)) { dynamicValidation.hasDynamicViewport = true; return; } else if (hasSuspenseRegex.test(componentStack)) { dynamicValidation.hasSuspendedDynamic = true; return; } else if (serverDynamic.syncDynamicErrorWithStack || clientDynamic.syncDynamicErrorWithStack) { dynamicValidation.hasSyncDynamicErrors = true; return; } else { const message = `Route "${route}": A component accessed data, headers, params, searchParams, or a short-lived cache without a Suspense boundary nor a "use cache" above it. We don't have the exact line number added to error messages yet but you can see which component in the stack below. See more info: https://nextjs.org/docs/messages/next-prerender-missing-suspense`; const error = createErrorWithComponentStack(message, componentStack); dynamicValidation.dynamicErrors.push(error); return; } } function createErrorWithComponentStack(message, componentStack) { const error = Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", { value: "E394", enumerable: false, configurable: true }); error.stack = 'Error: ' + message + componentStack; return error; } function throwIfDisallowedDynamic(route, dynamicValidation, serverDynamic, clientDynamic) { let syncError; let syncExpression; let syncLogged; if (serverDynamic.syncDynamicErrorWithStack) { syncError = serverDynamic.syncDynamicErrorWithStack; syncExpression = serverDynamic.syncDynamicExpression; syncLogged = serverDynamic.syncDynamicLogged === true; } else if (clientDynamic.syncDynamicErrorWithStack) { syncError = clientDynamic.syncDynamicErrorWithStack; syncExpression = clientDynamic.syncDynamicExpression; syncLogged = clientDynamic.syncDynamicLogged === true; } else { syncError = null; syncExpression = undefined; syncLogged = false; } if (dynamicValidation.hasSyncDynamicErrors && syncError) { if (!syncLogged) { // In dev we already log errors about sync dynamic access. But during builds we need to ensure // the offending sync error is logged before we exit the build console.error(syncError); } // The actual error should have been logged when the sync access ocurred throw new _staticgenerationbailout.StaticGenBailoutError(); } const dynamicErrors = dynamicValidation.dynamicErrors; if (dynamicErrors.length) { for(let i = 0; i < dynamicErrors.length; i++){ console.error(dynamicErrors[i]); } throw new _staticgenerationbailout.StaticGenBailoutError(); } if (!dynamicValidation.hasSuspendedDynamic) { if (dynamicValidation.hasDynamicMetadata) { if (syncError) { console.error(syncError); throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError(`Route "${route}" has a \`generateMetadata\` that could not finish rendering before ${syncExpression} was used. Follow the instructions in the error for this expression to resolve.`), "__NEXT_ERROR_CODE", { value: "E608", enumerable: false, configurable: true }); } throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError(`Route "${route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or external data (\`fetch(...)\`, etc...) but the rest of the route was static or only used cached data (\`"use cache"\`). If you expected this route to be prerenderable update your \`generateMetadata\` to not use Request data and only use cached external data. Otherwise, add \`await connection()\` somewhere within this route to indicate explicitly it should not be prerendered.`), "__NEXT_ERROR_CODE", { value: "E534", enumerable: false, configurable: true }); } else if (dynamicValidation.hasDynamicViewport) { if (syncError) { console.error(syncError); throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError(`Route "${route}" has a \`generateViewport\` that could not finish rendering before ${syncExpression} was used. Follow the instructions in the error for this expression to resolve.`), "__NEXT_ERROR_CODE", { value: "E573", enumerable: false, configurable: true }); } throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError(`Route "${route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or external data (\`fetch(...)\`, etc...) but the rest of the route was static or only used cached data (\`"use cache"\`). If you expected this route to be prerenderable update your \`generateViewport\` to not use Request data and only use cached external data. Otherwise, add \`await connection()\` somewhere within this route to indicate explicitly it should not be prerendered.`), "__NEXT_ERROR_CODE", { value: "E590", enumerable: false, configurable: true }); } } } //# sourceMappingURL=dynamic-rendering.js.map }}), "[project]/node_modules/next/dist/server/dev/hot-reloader-types.js [app-client] (ecmascript)": (function(__turbopack_context__) { var { g: global, __dirname, m: module, e: exports } = __turbopack_context__; { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "HMR_ACTIONS_SENT_TO_BROWSER", { enumerable: true, get: function() { return HMR_ACTIONS_SENT_TO_BROWSER; } }); var HMR_ACTIONS_SENT_TO_BROWSER = /*#__PURE__*/ function(HMR_ACTIONS_SENT_TO_BROWSER) { HMR_ACTIONS_SENT_TO_BROWSER["ADDED_PAGE"] = "addedPage"; HMR_ACTIONS_SENT_TO_BROWSER["REMOVED_PAGE"] = "removedPage"; HMR_ACTIONS_SENT_TO_BROWSER["RELOAD_PAGE"] = "reloadPage"; HMR_ACTIONS_SENT_TO_BROWSER["SERVER_COMPONENT_CHANGES"] = "serverComponentChanges"; HMR_ACTIONS_SENT_TO_BROWSER["MIDDLEWARE_CHANGES"] = "middlewareChanges"; HMR_ACTIONS_SENT_TO_BROWSER["CLIENT_CHANGES"] = "clientChanges"; HMR_ACTIONS_SENT_TO_BROWSER["SERVER_ONLY_CHANGES"] = "serverOnlyChanges"; HMR_ACTIONS_SENT_TO_BROWSER["SYNC"] = "sync"; HMR_ACTIONS_SENT_TO_BROWSER["BUILT"] = "built"; HMR_ACTIONS_SENT_TO_BROWSER["BUILDING"] = "building"; HMR_ACTIONS_SENT_TO_BROWSER["DEV_PAGES_MANIFEST_UPDATE"] = "devPagesManifestUpdate"; HMR_ACTIONS_SENT_TO_BROWSER["TURBOPACK_MESSAGE"] = "turbopack-message"; HMR_ACTIONS_SENT_TO_BROWSER["SERVER_ERROR"] = "serverError"; HMR_ACTIONS_SENT_TO_BROWSER["TURBOPACK_CONNECTED"] = "turbopack-connected"; HMR_ACTIONS_SENT_TO_BROWSER["ISR_MANIFEST"] = "isrManifest"; HMR_ACTIONS_SENT_TO_BROWSER["DEV_INDICATOR"] = "devIndicator"; return HMR_ACTIONS_SENT_TO_BROWSER; }({}); //# sourceMappingURL=hot-reloader-types.js.map }}), }]); //# sourceMappingURL=node_modules_next_dist_2ecbf5fa._.js.map