1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="d070e41c-4ce3-cded-c0f0-29fc1650e6ea")}catch(e){}}(); 2(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push([typeof document === "object" ? document.currentScript : undefined, 3818581, ((__turbopack_context__, module, exports) => { 4"use strict"; 5 6Object.defineProperty(exports, "__esModule", { 7 value: true 8}); 9Object.defineProperty(exports, "useMergedRef", { 10 enumerable: true, 11 get: function() { 12 return useMergedRef; 13 } 14}); 15const _react = __turbopack_context__.r(271645); 16function useMergedRef(refA, refB) { 17 const cleanupA = (0, _react.useRef)(null); 18 const cleanupB = (0, _react.useRef)(null); 19 // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null. 20 // (this happens often if the user doesn't pass a ref to Link/Form/Image) 21 // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`), 22 // and the user might pass that ref into ref-merging library that doesn't support cleanup refs 23 // (because it hasn't been updated for React 19) 24 // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`. 25 // So in practice, it's safer to be defensive and always wrap the ref, even on React 19. 26 return (0, _react.useCallback)((current)=>{ 27 if (current === null) { 28 const cleanupFnA = cleanupA.current; 29 if (cleanupFnA) { 30 cleanupA.current = null; 31 cleanupFnA(); 32 } 33 const cleanupFnB = cleanupB.current; 34 if (cleanupFnB) { 35 cleanupB.current = null; 36 cleanupFnB(); 37 } 38 } else { 39 if (refA) { 40 cleanupA.current = applyRef(refA, current); 41 } 42 if (refB) { 43 cleanupB.current = applyRef(refB, current); 44 } 45 } 46 }, [ 47 refA, 48 refB 49 ]); 50} 51function applyRef(refA, current) { 52 if (typeof refA === 'function') { 53 const cleanup = refA(current); 54 if (typeof cleanup === 'function') { 55 return cleanup; 56 } else { 57 return ()=>refA(null); 58 } 59 } else { 60 refA.current = current; 61 return ()=>{ 62 refA.current = null; 63 }; 64 } 65} 66if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { 67 Object.defineProperty(exports.default, '__esModule', { 68 value: true 69 }); 70 Object.assign(exports.default, exports); 71 module.exports = exports.default; 72} 73}), 74195057, ((__turbopack_context__, module, exports) => { 75"use strict"; 76 77var __TURBOPACK__imported__module__247167__ = /*#__PURE__*/ __turbopack_context__.i(247167); 78// Format function modified from nodejs 79// Copyright Joyent, Inc. and other Node contributors. 80// 81// Permission is hereby granted, free of charge, to any person obtaining a 82// copy of this software and associated documentation files (the 83// "Software"), to deal in the Software without restriction, including 84// without limitation the rights to use, copy, modify, merge, publish, 85// distribute, sublicense, and/or sell copies of the Software, and to permit 86// persons to whom the Software is furnished to do so, subject to the 87// following conditions: 88// 89// The above copyright notice and this permission notice shall be included 90// in all copies or substantial portions of the Software. 91// 92// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 93// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 94// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 95// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 96// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 97// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 98// USE OR OTHER DEALINGS IN THE SOFTWARE. 99"use strict"; 100Object.defineProperty(exports, "__esModule", { 101 value: true 102}); 1030 && (module.exports = { 104 formatUrl: null, 105 formatWithValidation: null, 106 urlObjectKeys: null 107}); 108function _export(target, all) { 109 for(var name in all)Object.defineProperty(target, name, { 110 enumerable: true, 111 get: all[name] 112 }); 113} 114_export(exports, { 115 formatUrl: function() { 116 return formatUrl; 117 }, 118 formatWithValidation: function() { 119 return formatWithValidation; 120 }, 121 urlObjectKeys: function() { 122 return urlObjectKeys; 123 } 124}); 125const _interop_require_wildcard = __turbopack_context__.r(151836); 126const _querystring = /*#__PURE__*/ _interop_require_wildcard._(__turbopack_context__.r(998183)); 127const slashedProtocols = /https?|ftp|gopher|file/; 128function formatUrl(urlObj) { 129 let { auth, hostname } = urlObj; 130 let protocol = urlObj.protocol || ''; 131 let pathname = urlObj.pathname || ''; 132 let hash = urlObj.hash || ''; 133 let query = urlObj.query || ''; 134 let host = false;
135 auth = auth ? encodeURIComponent(auth).replace(/%3A/i, ':') + '@' : ''; 136 if (urlObj.host) { 137 host = auth + urlObj.host; 138 } else if (hostname) { 139 host = auth + (~hostname.indexOf(':') ? "[".concat(hostname, "]") : hostname); 140 if (urlObj.port) { 141 host += ':' + urlObj.port; 142 } 143 } 144 if (query && typeof query === 'object') { 145 query = String(_querystring.urlQueryToSearchParams(query)); 146 } 147 let search = urlObj.search || query && "?".concat(query) || ''; 148 if (protocol && !protocol.endsWith(':')) protocol += ':'; 149 if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) { 150 host = '//' + (host || ''); 151 if (pathname && pathname[0] !== '/') pathname = '/' + pathname; 152 } else if (!host) { 153 host = ''; 154 } 155 if (hash && hash[0] !== '#') hash = '#' + hash; 156 if (search && search[0] !== '?') search = '?' + search; 157 pathname = pathname.replace(/[?#]/g, encodeURIComponent); 158 search = search.replace('#', '%23'); 159 return "".concat(protocol).concat(host).concat(pathname).concat(search).concat(hash); 160} 161const urlObjectKeys = [ 162 'auth', 163 'hash', 164 'host', 165 'hostname', 166 'href', 167 'path', 168 'pathname', 169 'port', 170 'protocol', 171 'query', 172 'search', 173 'slashes' 174]; 175function formatWithValidation(url) { 176 if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable 177 ; 178 return formatUrl(url); 179} 180}), 181573668, ((__turbopack_context__, module, exports) => { 182"use strict"; 183 184Object.defineProperty(exports, "__esModule", { 185 value: true 186}); 187Object.defineProperty(exports, "isLocalURL", { 188 enumerable: true, 189 get: function() { 190 return isLocalURL; 191 } 192}); 193const _utils = __turbopack_context__.r(718967); 194const _hasbasepath = __turbopack_context__.r(652817); 195function isLocalURL(url) { 196 // prevent a hydration mismatch on href for url with anchor refs 197 if (!(0, _utils.isAbsoluteUrl)(url)) return true; 198 try { 199 // absolute urls can be local if they are on the same origin 200 const locationOrigin = (0, _utils.getLocationOrigin)(); 201 const resolved = new URL(url, locationOrigin); 202 return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname); 203 } catch (_) { 204 return false; 205 } 206} 207}), 208284508, ((__turbopack_context__, module, exports) => { 209"use strict"; 210 211var __TURBOPACK__imported__module__247167__ = /*#__PURE__*/ __turbopack_context__.i(247167); 212"use strict"; 213Object.defineProperty(exports, "__esModule", { 214 value: true 215}); 216Object.defineProperty(exports, "errorOnce", { 217 enumerable: true, 218 get: function() { 219 return errorOnce; 220 } 221}); 222let errorOnce = (_)=>{}; 223if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable 224; 225}), 226522016, ((__turbopack_context__, module, exports) => { 227"use strict"; 228 229var __TURBOPACK__imported__module__247167__ = /*#__PURE__*/ __turbopack_context__.i(247167); 230'use client'; 231"use strict"; 232Object.defineProperty(exports, "__esModule", { 233 value: true 234}); 2350 && (module.exports = { 236 default: null, 237 useLinkStatus: null 238}); 239function _export(target, all) { 240 for(var name in all)Object.defineProperty(target, name, { 241 enumerable: true, 242 get: all[name] 243 }); 244} 245_export(exports, { 246 /** 247 * A React component that extends the HTML `<a>` element to provide 248 * [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching) 249 * and client-side navigation. This is the primary way to navigate between routes in Next.js. 250 * 251 * @remarks 252 * - Prefetching is only enabled in production. 253 * 254 * @see https://nextjs.org/docs/app/api-reference/components/link 255 */ default: function() { 256 return LinkComponent; 257 }, 258 useLinkStatus: function() { 259 return useLinkStatus; 260 } 261}); 262const _interop_require_wildcard = __turbopack_context__.r(151836); 263const _jsxruntime = __turbopack_context__.r(843476); 264const _react = /*#__PURE__*/ _interop_require_wildcard._(__turbopack_context__.r(271645)); 265const _formaturl = __turbopack_context__.r(195057); 266const _approutercontextsharedruntime = __turbopack_context__.r(8372); 267const _usemergedref = __turbopack_context__.r(818581); 268const _utils = __turbopack_context__.r(718967); 269const _addbasepath = __turbopack_context__.r(405550); 270const _warnonce = __turbopack_context__.r(233525); 271const _routerreducertypes = __turbopack_context__.r(388540); 272const _links = __turbopack_context__.r(769688); 273const _islocalurl = __turbopack_context__.r(573668); 274const _types = __turbopack_context__.r(509396); 275const _erroronce = __turbopack_context__.r(284508); 276function isModifiedEvent(event) { 277 const eventTarget = event.currentTarget; 278 const target = eventTarget.getAttribute('target'); 279 return target && target !== '_self' || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download 280 event.nativeEvent && event.nativeEvent.which === 2; 281} 282function linkClicked(e, href, linkInstanceRef, replace, scroll, onNavigate, transitionTypes) { 283 if (typeof window !== 'undefined') { 284 const { nodeName } = e.currentTarget; 285 // anchors inside an svg have a lowercase nodeName 286 const isAnchorNodeName = nodeName.toUpperCase() === 'A'; 287 if (isAnchorNodeName && isModifiedEvent(e) || e.currentTarget.hasAttribute('download')) { 288 // ignore click for browserâs default behavior 289 return; 290 } 291 if (!(0, _islocalurl.isLocalURL)(href)) { 292 if (replace) { 293 // browser default behavior does not replace the history state 294 // so we need to do it manually 295 e.preventDefault(); 296 location.replace(href); 297 } 298 // ignore click for browserâs default behavior 299 return; 300 } 301 e.preventDefault(); 302 if (onNavigate) { 303 let isDefaultPrevented = false;
304 onNavigate({ 305 preventDefault: ()=>{ 306 isDefaultPrevented = true; 307 } 308 }); 309 if (isDefaultPrevented) { 310 return; 311 } 312 } 313 const { dispatchNavigateAction } = __turbopack_context__.r(699781); 314 _react.default.startTransition(()=>{ 315 dispatchNavigateAction(href, replace ? 'replace' : 'push', scroll === false ? _routerreducertypes.ScrollBehavior.NoScroll : _routerreducertypes.ScrollBehavior.Default, linkInstanceRef.current, transitionTypes); 316 }); 317 } 318} 319function formatStringOrUrl(urlObjOrString) { 320 if (typeof urlObjOrString === 'string') { 321 return urlObjOrString; 322 } 323 return (0, _formaturl.formatUrl)(urlObjOrString); 324} 325function LinkComponent(props) { 326 const [linkStatus, setOptimisticLinkStatus] = (0, _react.useOptimistic)(_links.IDLE_LINK_STATUS); 327 let children; 328 const linkInstanceRef = (0, _react.useRef)(null); 329 const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, onNavigate, transitionTypes, ref: forwardedRef, unstable_dynamicOnHover, ...restProps } = props; 330 children = childrenProp; 331 if (legacyBehavior && (typeof children === 'string' || typeof children === 'number')) { 332 children = /*#__PURE__*/ (0, _jsxruntime.jsx)("a", { 333 children: children 334 }); 335 } 336 const router = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext); 337 const prefetchEnabled = prefetchProp !== false; 338 const fetchStrategy = prefetchProp !== false ? getFetchStrategyFromPrefetchProp(prefetchProp) : _types.FetchStrategy.PPR; 339 if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable 340 { 341 function createPropError(args) { 342 return Object.defineProperty(new Error("Failed prop type: The prop `".concat(args.key, "` expects a ").concat(args.expected, " in `<Link>`, but got `").concat(args.actual, "` instead.") + (typeof window !== 'undefined' ? "\nOpen your browser's console to view the Component stack trace." : '')), "__NEXT_ERROR_CODE", { 343 value: "E319", 344 enumerable: false, 345 configurable: true 346 }); 347 } 348 /*TURBOPACK member replacement*/ } 349 const resolvedHref = asProp || hrefProp; 350 const formattedHref = formatStringOrUrl(resolvedHref); 351 if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable 352 ; 353 // This will return the first child, if multiple are provided it will throw an error 354 let child; 355 if (legacyBehavior) { 356 if ((children === null || children === void 0 ? void 0 : children.$$typeof) === Symbol.for('react.lazy')) { 357 throw Object.defineProperty(new Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."), "__NEXT_ERROR_CODE", { 358 value: "E863", 359 enumerable: false, 360 configurable: true 361 }); 362 } 363 if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable 364 ; 365 else { 366 child = _react.default.Children.only(children); 367 } 368 } else { 369 if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable 370 ; 371 } 372 const childRef = legacyBehavior ? child && typeof child === 'object' && child.ref : forwardedRef; 373 // Use a callback ref to attach an IntersectionObserver to the anchor tag on 374 // mount. In the future we will also use this to keep track of all the 375 // currently mounted <Link> instances, e.g. so we can re-prefetch them after 376 // a revalidation or refresh. 377 const observeLinkVisibilityOnMount = _react.default.useCallback((element)=>{ 378 if (router !== null) { 379 linkInstanceRef.current = (0, _links.mountLinkInstance)(element, formattedHref, router, fetchStrategy, prefetchEnabled, setOptimisticLinkStatus); 380 } 381 return ()=>{ 382 if (linkInstanceRef.current) { 383 (0, _links.unmountLinkForCurrentNavigation)(linkInstanceRef.current); 384 linkInstanceRef.current = null; 385 } 386 (0, _links.unmountPrefetchableInstance)(element); 387 }; 388 }, [ 389 prefetchEnabled, 390 formattedHref, 391 router, 392 fetchStrategy, 393 setOptimisticLinkStatus 394 ]); 395 const mergedRef = (0, _usemergedref.useMergedRef)(observeLinkVisibilityOnMount, childRef); 396 const childProps = { 397 ref: mergedRef, 398 onClick (e) { 399 if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable 400 ; 401 if (!legacyBehavior && typeof onClick === 'function') { 402 onClick(e); 403 } 404 if (legacyBehavior && child.props && typeof child.props.onClick === 'function') { 405 child.props.onClick(e); 406 } 407 if (!router) { 408 return; 409 } 410 if (e.defaultPrevented) { 411 return; 412 } 413 linkClicked(e, formattedHref, linkInstanceRef, replace, scroll, onNavigate, transitionTypes); 414 }, 415 onMouseEnter (e) { 416 if (!legacyBehavior && typeof onMouseEnterProp === 'function') { 417 onMouseEnterProp(e); 418 } 419 if (legacyBehavior && child.props && typeof child.props.onMouseEnter === 'function') { 420 child.props.onMouseEnter(e); 421 } 422 if (!router) { 423 return; 424 } 425 if (!prefetchEnabled || ("TURBOPACK compile-time value", "production") === 'development') { 426 return; 427 } 428 const upgradeToDynamicPrefetch = unstable_dynamicOnHover === true; 429 (0, _links.onNavigationIntent)(e.currentTarget, upgradeToDynamicPrefetch); 430 }, 431 onTouchStart: ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : function onTouchStart(e) { 432 if (!legacyBehavior && typeof onTouchStartProp === 'function') { 433 onTouchStartProp(e); 434 } 435 if (legacyBehavior && child.props && typeof child.props.onTouchStart === 'function') { 436 child.props.onTouchStart(e); 437 } 438 if (!router) { 439 return; 440 } 441 if (!prefetchEnabled) { 442 return; 443 } 444 const upgradeToDynamicPrefetch = unstable_dynamicOnHover === true; 445 (0, _links.onNavigationIntent)(e.currentTarget, upgradeToDynamicPrefetch); 446 } 447 };
448 // If the url is absolute, we can bypass the logic to prepend the basePath. 449 if ((0, _utils.isAbsoluteUrl)(formattedHref)) { 450 childProps.href = formattedHref; 451 } else if (!legacyBehavior || passHref || child.type === 'a' && !('href' in child.props)) { 452 childProps.href = (0, _addbasepath.addBasePath)(formattedHref); 453 } 454 let link; 455 if (legacyBehavior) { 456 if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable 457 ; 458 link = /*#__PURE__*/ _react.default.cloneElement(child, childProps); 459 } else { 460 link = /*#__PURE__*/ (0, _jsxruntime.jsx)("a", { 461 ...restProps, 462 ...childProps, 463 children: children 464 }); 465 } 466 return /*#__PURE__*/ (0, _jsxruntime.jsx)(LinkStatusContext.Provider, { 467 value: linkStatus, 468 children: link 469 }); 470} 471const LinkStatusContext = /*#__PURE__*/ (0, _react.createContext)(_links.IDLE_LINK_STATUS); 472const useLinkStatus = ()=>{ 473 return (0, _react.useContext)(LinkStatusContext); 474}; 475function getFetchStrategyFromPrefetchProp(prefetchProp) { 476 if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable 477 ; 478 else { 479 return prefetchProp === null || prefetchProp === 'auto' ? _types.FetchStrategy.PPR : // (although invali
479d values should've been filtered out by prop validation in dev) 480 _types.FetchStrategy.Full; 481 } 482} 483if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { 484 Object.defineProperty(exports.default, '__esModule', { 485 value: true 486 }); 487 Object.assign(exports.default, exports); 488 module.exports = exports.default; 489} 490}), 491]); 492 493//# debugId=d070e41c-4ce3-cded-c0f0-29fc1650e6ea
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.