{"version":3,"file":"static/chunks/9554-1e02f478545362ef.js","mappings":"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","sources":["webpack://_N_E/../../../src/client/app-dir/link.tsx","webpack://_N_E/./components/layout/Grid/Grid.module.scss","webpack://_N_E/./components/display/Card/Card.module.scss","webpack://_N_E/./components/navigation/FeaturedCategories/FeaturedCategories.module.scss"],"sourcesContent":["'use client'\n\nimport type { NextRouter } from '../../shared/lib/router/router'\n\nimport React from 'react'\nimport type { UrlObject } from 'url'\nimport { formatUrl } from '../../shared/lib/router/utils/format-url'\nimport { AppRouterContext } from '../../shared/lib/app-router-context.shared-runtime'\nimport type { AppRouterInstance } from '../../shared/lib/app-router-context.shared-runtime'\nimport { PrefetchKind } from '../components/router-reducer/router-reducer-types'\nimport { useMergedRef } from '../use-merged-ref'\nimport { isAbsoluteUrl } from '../../shared/lib/utils'\nimport { addBasePath } from '../add-base-path'\nimport { warnOnce } from '../../shared/lib/utils/warn-once'\nimport {\n mountLinkInstance,\n onNavigationIntent,\n unmountLinkInstance,\n} from '../components/links'\n\ntype Url = string | UrlObject\ntype RequiredKeys = {\n [K in keyof T]-?: {} extends Pick ? never : K\n}[keyof T]\ntype OptionalKeys = {\n [K in keyof T]-?: {} extends Pick ? K : never\n}[keyof T]\n\ntype InternalLinkProps = {\n /**\n * **Required**. The path or URL to navigate to. It can also be an object (similar to `URL`).\n *\n * @example\n * ```tsx\n * // Navigate to /dashboard:\n * Dashboard\n *\n * // Navigate to /about?name=test:\n * \n * About\n * \n * ```\n *\n * @remarks\n * - For external URLs, use a fully qualified URL such as `https://...`.\n * - In the App Router, dynamic routes must not include bracketed segments in `href`.\n */\n href: Url\n\n /**\n * @deprecated v10.0.0: `href` props pointing to a dynamic route are\n * automatically resolved and no longer require the `as` prop.\n */\n as?: Url\n\n /**\n * Replace the current `history` state instead of adding a new URL into the stack.\n *\n * @defaultValue `false`\n *\n * @example\n * ```tsx\n * \n * About (replaces the history state)\n * \n * ```\n */\n replace?: boolean\n\n /**\n * Whether to override the default scroll behavior. If `true`, Next.js attempts to maintain\n * the scroll position if the newly navigated page is still visible. If not, it scrolls to the top.\n *\n * If `false`, Next.js will not modify the scroll behavior at all.\n *\n * @defaultValue `true`\n *\n * @example\n * ```tsx\n * \n * No auto scroll\n * \n * ```\n */\n scroll?: boolean\n\n /**\n * Update the path of the current page without rerunning data fetching methods\n * like `getStaticProps`, `getServerSideProps`, or `getInitialProps`.\n *\n * @remarks\n * `shallow` only applies to the Pages Router. For the App Router, see the\n * [following documentation](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#using-the-native-history-api).\n *\n * @defaultValue `false`\n *\n * @example\n * ```tsx\n * \n * Shallow navigation\n * \n * ```\n */\n shallow?: boolean\n\n /**\n * Forces `Link` to pass its `href` to the child component. Useful if the child is a custom\n * component that wraps an `` tag, or if you're using certain styling libraries.\n *\n * @defaultValue `false`\n *\n * @example\n * ```tsx\n * \n * Dashboard\n * \n * ```\n */\n passHref?: boolean\n\n /**\n * Prefetch the page in the background.\n * Any `` that is in the viewport (initially or through scroll) will be prefetched.\n * Prefetch can be disabled by passing `prefetch={false}`.\n *\n * @remarks\n * Prefetching is only enabled in production.\n *\n * - In the **App Router**:\n * - `null` (default): Prefetch behavior depends on static vs dynamic routes:\n * - Static routes: fully prefetched\n * - Dynamic routes: partial prefetch to the nearest segment with a `loading.js`\n * - `true`: Always prefetch the full route and data.\n * - `false`: Disable prefetching on both viewport and hover.\n * - In the **Pages Router**:\n * - `true` (default): Prefetches the route and data in the background on viewport or hover.\n * - `false`: Prefetch only on hover, not on viewport.\n *\n * @defaultValue `true` (Pages Router) or `null` (App Router)\n *\n * @example\n * ```tsx\n * \n * Dashboard\n * \n * ```\n */\n prefetch?: boolean | null\n\n /**\n * The active locale is automatically prepended in the Pages Router. `locale` allows for providing\n * a different locale, or can be set to `false` to opt out of automatic locale behavior.\n *\n * @remarks\n * Note: locale only applies in the Pages Router and is ignored in the App Router.\n *\n * @example\n * ```tsx\n * // Use the 'fr' locale:\n * \n * About (French)\n * \n *\n * // Disable locale prefix:\n * \n * About (no locale prefix)\n * \n * ```\n */\n locale?: string | false\n\n /**\n * Enable legacy link behavior, requiring an `` tag to wrap the child content\n * if the child is a string or number.\n *\n * @defaultValue `false`\n * @see https://github.com/vercel/next.js/commit/489e65ed98544e69b0afd7e0cfc3f9f6c2b803b7\n */\n legacyBehavior?: boolean\n\n /**\n * Optional event handler for when the mouse pointer is moved onto the ``.\n */\n onMouseEnter?: React.MouseEventHandler\n\n /**\n * Optional event handler for when the `` is touched.\n */\n onTouchStart?: React.TouchEventHandler\n\n /**\n * Optional event handler for when the `` is clicked.\n */\n onClick?: React.MouseEventHandler\n}\n\n// TODO-APP: Include the full set of Anchor props\n// adding this to the publicly exported type currently breaks existing apps\n\n// `RouteInferType` is a stub here to avoid breaking `typedRoutes` when the type\n// isn't generated yet. It will be replaced when the webpack plugin runs.\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport type LinkProps = InternalLinkProps\ntype LinkPropsRequired = RequiredKeys\ntype LinkPropsOptional = OptionalKeys>\n\nfunction isModifiedEvent(event: React.MouseEvent): boolean {\n const eventTarget = event.currentTarget as HTMLAnchorElement | SVGAElement\n const target = eventTarget.getAttribute('target')\n return (\n (target && target !== '_self') ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey || // triggers resource download\n (event.nativeEvent && event.nativeEvent.which === 2)\n )\n}\n\nfunction linkClicked(\n e: React.MouseEvent,\n router: NextRouter | AppRouterInstance,\n href: string,\n as: string,\n replace?: boolean,\n shallow?: boolean,\n scroll?: boolean\n): void {\n const { nodeName } = e.currentTarget\n\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === 'A'\n\n if (isAnchorNodeName && isModifiedEvent(e)) {\n // ignore click for browser’s default behavior\n return\n }\n\n e.preventDefault()\n\n const navigate = () => {\n // If the router is an NextRouter instance it will have `beforePopState`\n const routerScroll = scroll ?? true\n if ('beforePopState' in router) {\n router[replace ? 'replace' : 'push'](href, as, {\n shallow,\n scroll: routerScroll,\n })\n } else {\n router[replace ? 'replace' : 'push'](as || href, {\n scroll: routerScroll,\n })\n }\n }\n\n React.startTransition(navigate)\n}\n\ntype LinkPropsReal = React.PropsWithChildren<\n Omit, keyof LinkProps> &\n LinkProps\n>\n\nfunction formatStringOrUrl(urlObjOrString: UrlObject | string): string {\n if (typeof urlObjOrString === 'string') {\n return urlObjOrString\n }\n\n return formatUrl(urlObjOrString)\n}\n\n/**\n * A React component that extends the HTML `` element to provide\n * [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)\n * and client-side navigation. This is the primary way to navigate between routes in Next.js.\n *\n * @remarks\n * - Prefetching is only enabled in production.\n *\n * @see https://nextjs.org/docs/app/api-reference/components/link\n */\nconst Link = React.forwardRef(\n function LinkComponent(props, forwardedRef) {\n let children: React.ReactNode\n\n const {\n href: hrefProp,\n as: asProp,\n children: childrenProp,\n prefetch: prefetchProp = null,\n passHref,\n replace,\n shallow,\n scroll,\n onClick,\n onMouseEnter: onMouseEnterProp,\n onTouchStart: onTouchStartProp,\n legacyBehavior = false,\n ...restProps\n } = props\n\n children = childrenProp\n\n if (\n legacyBehavior &&\n (typeof children === 'string' || typeof children === 'number')\n ) {\n children = {children}\n }\n\n const router = React.useContext(AppRouterContext)\n\n const prefetchEnabled = prefetchProp !== false\n /**\n * The possible states for prefetch are:\n * - null: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport\n * - true: we will prefetch if the link is visible and prefetch the full page, not just partially\n * - false: we will not prefetch if in the viewport at all\n */\n const appPrefetchKind =\n prefetchProp === null ? PrefetchKind.AUTO : PrefetchKind.FULL\n\n if (process.env.NODE_ENV !== 'production') {\n function createPropError(args: {\n key: string\n expected: string\n actual: string\n }) {\n return new Error(\n `Failed prop type: The prop \\`${args.key}\\` expects a ${args.expected} in \\`\\`, but got \\`${args.actual}\\` instead.` +\n (typeof window !== 'undefined'\n ? \"\\nOpen your browser's console to view the Component stack trace.\"\n : '')\n )\n }\n\n // TypeScript trick for type-guarding:\n const requiredPropsGuard: Record = {\n href: true,\n } as const\n const requiredProps: LinkPropsRequired[] = Object.keys(\n requiredPropsGuard\n ) as LinkPropsRequired[]\n requiredProps.forEach((key: LinkPropsRequired) => {\n if (key === 'href') {\n if (\n props[key] == null ||\n (typeof props[key] !== 'string' && typeof props[key] !== 'object')\n ) {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key],\n })\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _: never = key\n }\n })\n\n // TypeScript trick for type-guarding:\n const optionalPropsGuard: Record = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true,\n } as const\n const optionalProps: LinkPropsOptional[] = Object.keys(\n optionalPropsGuard\n ) as LinkPropsOptional[]\n optionalProps.forEach((key: LinkPropsOptional) => {\n const valType = typeof props[key]\n\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: valType,\n })\n }\n } else if (\n key === 'onClick' ||\n key === 'onMouseEnter' ||\n key === 'onTouchStart'\n ) {\n if (props[key] && valType !== 'function') {\n throw createPropError({\n key,\n expected: '`function`',\n actual: valType,\n })\n }\n } else if (\n key === 'replace' ||\n key === 'scroll' ||\n key === 'shallow' ||\n key === 'passHref' ||\n key === 'prefetch' ||\n key === 'legacyBehavior'\n ) {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key,\n expected: '`boolean`',\n actual: valType,\n })\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _: never = key\n }\n })\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (props.locale) {\n warnOnce(\n 'The `locale` prop is not supported in `next/link` while using the `app` router. Read more about app router internalization: https://nextjs.org/docs/app/building-your-application/routing/internationalization'\n )\n }\n if (!asProp) {\n let href: string | undefined\n if (typeof hrefProp === 'string') {\n href = hrefProp\n } else if (\n typeof hrefProp === 'object' &&\n typeof hrefProp.pathname === 'string'\n ) {\n href = hrefProp.pathname\n }\n\n if (href) {\n const hasDynamicSegment = href\n .split('/')\n .some((segment) => segment.startsWith('[') && segment.endsWith(']'))\n\n if (hasDynamicSegment) {\n throw new Error(\n `Dynamic href \\`${href}\\` found in while using the \\`/app\\` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href`\n )\n }\n }\n }\n }\n\n const { href, as } = React.useMemo(() => {\n const resolvedHref = formatStringOrUrl(hrefProp)\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref,\n }\n }, [hrefProp, asProp])\n\n // This will return the first child, if multiple are provided it will throw an error\n let child: any\n if (legacyBehavior) {\n if (process.env.NODE_ENV === 'development') {\n if (onClick) {\n console.warn(\n `\"onClick\" was passed to with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link`\n )\n }\n if (onMouseEnterProp) {\n console.warn(\n `\"onMouseEnter\" was passed to with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link`\n )\n }\n try {\n child = React.Children.only(children)\n } catch (err) {\n if (!children) {\n throw new Error(\n `No children were passed to with \\`href\\` of \\`${hrefProp}\\` but one child is required https://nextjs.org/docs/messages/link-no-children`\n )\n }\n throw new Error(\n `Multiple children were passed to with \\`href\\` of \\`${hrefProp}\\` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children` +\n (typeof window !== 'undefined'\n ? \" \\nOpen your browser's console to view the Component stack trace.\"\n : '')\n )\n }\n } else {\n child = React.Children.only(children)\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if ((children as any)?.type === 'a') {\n throw new Error(\n 'Invalid with child. Please remove or use .\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor'\n )\n }\n }\n }\n\n const childRef: any = legacyBehavior\n ? child && typeof child === 'object' && child.ref\n : forwardedRef\n\n // Use a callback ref to attach an IntersectionObserver to the anchor tag on\n // mount. In the future we will also use this to keep track of all the\n // currently mounted instances, e.g. so we can re-prefetch them after\n // a revalidation or refresh.\n const observeLinkVisibilityOnMount = React.useCallback(\n (element: HTMLAnchorElement | SVGAElement) => {\n if (prefetchEnabled && router !== null) {\n mountLinkInstance(element, href, router, appPrefetchKind)\n }\n return () => {\n unmountLinkInstance(element)\n }\n },\n [prefetchEnabled, href, router, appPrefetchKind]\n )\n\n const mergedRef = useMergedRef(observeLinkVisibilityOnMount, childRef)\n\n const childProps: {\n onTouchStart?: React.TouchEventHandler\n onMouseEnter: React.MouseEventHandler\n onClick: React.MouseEventHandler\n href?: string\n ref?: any\n } = {\n ref: mergedRef,\n onClick(e) {\n if (process.env.NODE_ENV !== 'production') {\n if (!e) {\n throw new Error(\n `Component rendered inside next/link has to pass click event to \"onClick\" prop.`\n )\n }\n }\n\n if (!legacyBehavior && typeof onClick === 'function') {\n onClick(e)\n }\n\n if (\n legacyBehavior &&\n child.props &&\n typeof child.props.onClick === 'function'\n ) {\n child.props.onClick(e)\n }\n\n if (!router) {\n return\n }\n\n if (e.defaultPrevented) {\n return\n }\n\n linkClicked(e, router, href, as, replace, shallow, scroll)\n },\n onMouseEnter(e) {\n if (!legacyBehavior && typeof onMouseEnterProp === 'function') {\n onMouseEnterProp(e)\n }\n\n if (\n legacyBehavior &&\n child.props &&\n typeof child.props.onMouseEnter === 'function'\n ) {\n child.props.onMouseEnter(e)\n }\n\n if (!router) {\n return\n }\n\n if (!prefetchEnabled || process.env.NODE_ENV === 'development') {\n return\n }\n\n onNavigationIntent(e.currentTarget as HTMLAnchorElement | SVGAElement)\n },\n onTouchStart: process.env.__NEXT_LINK_NO_TOUCH_START\n ? undefined\n : function onTouchStart(e) {\n if (!legacyBehavior && typeof onTouchStartProp === 'function') {\n onTouchStartProp(e)\n }\n\n if (\n legacyBehavior &&\n child.props &&\n typeof child.props.onTouchStart === 'function'\n ) {\n child.props.onTouchStart(e)\n }\n\n if (!router) {\n return\n }\n\n if (!prefetchEnabled) {\n return\n }\n\n onNavigationIntent(\n e.currentTarget as HTMLAnchorElement | SVGAElement\n )\n },\n }\n\n // If child is an tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user.\n // If the url is absolute, we can bypass the logic to prepend the basePath.\n if (isAbsoluteUrl(as)) {\n childProps.href = as\n } else if (\n !legacyBehavior ||\n passHref ||\n (child.type === 'a' && !('href' in child.props))\n ) {\n childProps.href = addBasePath(as)\n }\n\n return legacyBehavior ? (\n React.cloneElement(child, childProps)\n ) : (\n \n {children}\n \n )\n }\n)\n\nexport default Link\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"span_xs_1\":\"Grid_span_xs_1__A_QNF\",\"xs_1\":\"Grid_xs_1__4S4Zq\",\"gridStart_xs_1\":\"Grid_gridStart_xs_1__rsK3o\",\"gridEnd_xs_1\":\"Grid_gridEnd_xs_1__B_qzT\",\"span_xs_2\":\"Grid_span_xs_2__PaBl6\",\"xs_2\":\"Grid_xs_2__oUUgR\",\"gridStart_xs_2\":\"Grid_gridStart_xs_2__GClVC\",\"gridEnd_xs_2\":\"Grid_gridEnd_xs_2__JYBwd\",\"span_xs_3\":\"Grid_span_xs_3__dFjnA\",\"xs_3\":\"Grid_xs_3__c_QKD\",\"gridStart_xs_3\":\"Grid_gridStart_xs_3__Ih5XL\",\"gridEnd_xs_3\":\"Grid_gridEnd_xs_3__hCrJR\",\"span_xs_4\":\"Grid_span_xs_4__durlL\",\"xs_4\":\"Grid_xs_4__iPD32\",\"gridStart_xs_4\":\"Grid_gridStart_xs_4__5C1Wd\",\"gridEnd_xs_4\":\"Grid_gridEnd_xs_4__vqrBa\",\"span_xs_5\":\"Grid_span_xs_5__DaLiz\",\"xs_5\":\"Grid_xs_5__AtaC2\",\"gridStart_xs_5\":\"Grid_gridStart_xs_5__sCK8t\",\"gridEnd_xs_5\":\"Grid_gridEnd_xs_5__nzacm\",\"span_xs_6\":\"Grid_span_xs_6__hX3_f\",\"xs_6\":\"Grid_xs_6__taEOH\",\"gridStart_xs_6\":\"Grid_gridStart_xs_6__v1Hin\",\"gridEnd_xs_6\":\"Grid_gridEnd_xs_6__n8PP5\",\"span_xs_7\":\"Grid_span_xs_7__8zFPn\",\"xs_7\":\"Grid_xs_7__cSxh1\",\"gridStart_xs_7\":\"Grid_gridStart_xs_7__FVa2x\",\"gridEnd_xs_7\":\"Grid_gridEnd_xs_7__VA3Z_\",\"span_xs_8\":\"Grid_span_xs_8__mf97q\",\"xs_8\":\"Grid_xs_8__ahsdv\",\"gridStart_xs_8\":\"Grid_gridStart_xs_8__qiHoS\",\"gridEnd_xs_8\":\"Grid_gridEnd_xs_8__c0guo\",\"span_xs_9\":\"Grid_span_xs_9__r0_bO\",\"xs_9\":\"Grid_xs_9__38fst\",\"gridStart_xs_9\":\"Grid_gridStart_xs_9__Fv6ZJ\",\"gridEnd_xs_9\":\"Grid_gridEnd_xs_9__Iel6o\",\"span_xs_10\":\"Grid_span_xs_10__UNMBm\",\"xs_10\":\"Grid_xs_10__M00sr\",\"gridStart_xs_10\":\"Grid_gridStart_xs_10__HU8zr\",\"gridEnd_xs_10\":\"Grid_gridEnd_xs_10__4Geio\",\"span_xs_11\":\"Grid_span_xs_11___YqA4\",\"xs_11\":\"Grid_xs_11__xOW7y\",\"gridStart_xs_11\":\"Grid_gridStart_xs_11__k1jv8\",\"gridEnd_xs_11\":\"Grid_gridEnd_xs_11__bHXuJ\",\"span_xs_12\":\"Grid_span_xs_12__RRz5v\",\"xs_12\":\"Grid_xs_12__wvVui\",\"gridStart_xs_12\":\"Grid_gridStart_xs_12__ZRv8j\",\"gridEnd_xs_12\":\"Grid_gridEnd_xs_12__pjHY5\",\"span_xs_13\":\"Grid_span_xs_13__GffQr\",\"xs_13\":\"Grid_xs_13__a_4ic\",\"gridStart_xs_13\":\"Grid_gridStart_xs_13__nAF2P\",\"gridEnd_xs_13\":\"Grid_gridEnd_xs_13__pkhQS\",\"span_xs_14\":\"Grid_span_xs_14__aTjB5\",\"xs_14\":\"Grid_xs_14__Ku9oW\",\"gridStart_xs_14\":\"Grid_gridStart_xs_14__XoEoD\",\"gridEnd_xs_14\":\"Grid_gridEnd_xs_14__GSOPq\",\"span_sm_1\":\"Grid_span_sm_1__UQWin\",\"sm_1\":\"Grid_sm_1__taYeG\",\"gridStart_sm_1\":\"Grid_gridStart_sm_1__lLc6f\",\"gridEnd_sm_1\":\"Grid_gridEnd_sm_1__NlIyN\",\"span_sm_2\":\"Grid_span_sm_2__wd_ZB\",\"sm_2\":\"Grid_sm_2__GPhyc\",\"gridStart_sm_2\":\"Grid_gridStart_sm_2___dOHh\",\"gridEnd_sm_2\":\"Grid_gridEnd_sm_2__2_ixV\",\"span_sm_3\":\"Grid_span_sm_3__EtjU9\",\"sm_3\":\"Grid_sm_3__aXS9_\",\"gridStart_sm_3\":\"Grid_gridStart_sm_3__5eINW\",\"gridEnd_sm_3\":\"Grid_gridEnd_sm_3__H1Exj\",\"span_sm_4\":\"Grid_span_sm_4__4_yno\",\"sm_4\":\"Grid_sm_4__1cgEk\",\"gridStart_sm_4\":\"Grid_gridStart_sm_4__gblb1\",\"gridEnd_sm_4\":\"Grid_gridEnd_sm_4__SjSpU\",\"span_sm_5\":\"Grid_span_sm_5__7BcSE\",\"sm_5\":\"Grid_sm_5__EOV6f\",\"gridStart_sm_5\":\"Grid_gridStart_sm_5__Upo5X\",\"gridEnd_sm_5\":\"Grid_gridEnd_sm_5__0HZUb\",\"span_sm_6\":\"Grid_span_sm_6__Xs_ez\",\"sm_6\":\"Grid_sm_6__DjhWN\",\"gridStart_sm_6\":\"Grid_gridStart_sm_6__HGHuf\",\"gridEnd_sm_6\":\"Grid_gridEnd_sm_6__vir_k\",\"span_sm_7\":\"Grid_span_sm_7__J8uVv\",\"sm_7\":\"Grid_sm_7__b3oTT\",\"gridStart_sm_7\":\"Grid_gridStart_sm_7__xh3NF\",\"gridEnd_sm_7\":\"Grid_gridEnd_sm_7__v_Rf8\",\"span_sm_8\":\"Grid_span_sm_8__eE5Vu\",\"sm_8\":\"Grid_sm_8__ZIIkY\",\"gridStart_sm_8\":\"Grid_gridStart_sm_8__cO4kP\",\"gridEnd_sm_8\":\"Grid_gridEnd_sm_8__B5kbp\",\"span_sm_9\":\"Grid_span_sm_9__NkRhv\",\"sm_9\":\"Grid_sm_9___8vyE\",\"gridStart_sm_9\":\"Grid_gridStart_sm_9__26jBo\",\"gridEnd_sm_9\":\"Grid_gridEnd_sm_9__4FLKx\",\"span_sm_10\":\"Grid_span_sm_10__39MdK\",\"sm_10\":\"Grid_sm_10__cqGCy\",\"gridStart_sm_10\":\"Grid_gridStart_sm_10__U55I9\",\"gridEnd_sm_10\":\"Grid_gridEnd_sm_10__1P6pF\",\"span_sm_11\":\"Grid_span_sm_11__fQecU\",\"sm_11\":\"Grid_sm_11__q3kXI\",\"gridStart_sm_11\":\"Grid_gridStart_sm_11__rEpSC\",\"gridEnd_sm_11\":\"Grid_gridEnd_sm_11__hn6VA\",\"span_sm_12\":\"Grid_span_sm_12__Nj5ro\",\"sm_12\":\"Grid_sm_12__ekT8p\",\"gridStart_sm_12\":\"Grid_gridStart_sm_12__dK_2g\",\"gridEnd_sm_12\":\"Grid_gridEnd_sm_12__o5HNi\",\"span_sm_13\":\"Grid_span_sm_13__vwsgF\",\"sm_13\":\"Grid_sm_13__9PtUq\",\"gridStart_sm_13\":\"Grid_gridStart_sm_13__kU1Bp\",\"gridEnd_sm_13\":\"Grid_gridEnd_sm_13__zsEQf\",\"span_sm_14\":\"Grid_span_sm_14__lpTFI\",\"sm_14\":\"Grid_sm_14__6pIPj\",\"gridStart_sm_14\":\"Grid_gridStart_sm_14__7kKww\",\"gridEnd_sm_14\":\"Grid_gridEnd_sm_14__0yMIb\",\"span_md_1\":\"Grid_span_md_1___7kal\",\"md_1\":\"Grid_md_1__f1Puk\",\"gridStart_md_1\":\"Grid_gridStart_md_1__RIApM\",\"gridEnd_md_1\":\"Grid_gridEnd_md_1__DFoPs\",\"span_md_2\":\"Grid_span_md_2__bdJ9q\",\"md_2\":\"Grid_md_2__L_YGg\",\"gridStart_md_2\":\"Grid_gridStart_md_2__NHDFe\",\"gridEnd_md_2\":\"Grid_gridEnd_md_2__H8LW2\",\"span_md_3\":\"Grid_span_md_3__JW_qj\",\"md_3\":\"Grid_md_3__aMCL_\",\"gridStart_md_3\":\"Grid_gridStart_md_3__Z1X7b\",\"gridEnd_md_3\":\"Grid_gridEnd_md_3__V_62I\",\"span_md_4\":\"Grid_span_md_4__ECepA\",\"md_4\":\"Grid_md_4__XBHmv\",\"gridStart_md_4\":\"Grid_gridStart_md_4__14gMm\",\"gridEnd_md_4\":\"Grid_gridEnd_md_4__h9Zg2\",\"span_md_5\":\"Grid_span_md_5__nSh1M\",\"md_5\":\"Grid_md_5__5OWY5\",\"gridStart_md_5\":\"Grid_gridStart_md_5__8b3ZU\",\"gridEnd_md_5\":\"Grid_gridEnd_md_5__tNdyG\",\"span_md_6\":\"Grid_span_md_6__PwES5\",\"md_6\":\"Grid_md_6__rg6SU\",\"gridStart_md_6\":\"Grid_gridStart_md_6__vB1e8\",\"gridEnd_md_6\":\"Grid_gridEnd_md_6__09WYL\",\"span_md_7\":\"Grid_span_md_7__Ve62P\",\"md_7\":\"Grid_md_7__lZEMK\",\"gridStart_md_7\":\"Grid_gridStart_md_7__E1xc5\",\"gridEnd_md_7\":\"Grid_gridEnd_md_7__o_XTA\",\"span_md_8\":\"Grid_span_md_8__BFYxL\",\"md_8\":\"Grid_md_8__6nr_Q\",\"gridStart_md_8\":\"Grid_gridStart_md_8__RS4cg\",\"gridEnd_md_8\":\"Grid_gridEnd_md_8__0RmzZ\",\"span_md_9\":\"Grid_span_md_9__HIntZ\",\"md_9\":\"Grid_md_9__O2zRy\",\"gridStart_md_9\":\"Grid_gridStart_md_9__4Nu3m\",\"gridEnd_md_9\":\"Grid_gridEnd_md_9__IVEp7\",\"span_md_10\":\"Grid_span_md_10__1X3BF\",\"md_10\":\"Grid_md_10__w_HjW\",\"gridStart_md_10\":\"Grid_gridStart_md_10__AEUc_\",\"gridEnd_md_10\":\"Grid_gridEnd_md_10__G1_KM\",\"span_md_11\":\"Grid_span_md_11__Oc9So\",\"md_11\":\"Grid_md_11__jp0DP\",\"gridStart_md_11\":\"Grid_gridStart_md_11__OqJnh\",\"gridEnd_md_11\":\"Grid_gridEnd_md_11__oqj_d\",\"span_md_12\":\"Grid_span_md_12__QBrGt\",\"md_12\":\"Grid_md_12__zfm12\",\"gridStart_md_12\":\"Grid_gridStart_md_12__5Hkhq\",\"gridEnd_md_12\":\"Grid_gridEnd_md_12__QNjbT\",\"span_md_13\":\"Grid_span_md_13__owlLI\",\"md_13\":\"Grid_md_13__jf18B\",\"gridStart_md_13\":\"Grid_gridStart_md_13__jNh_o\",\"gridEnd_md_13\":\"Grid_gridEnd_md_13__rM3Xc\",\"span_md_14\":\"Grid_span_md_14__M_qNl\",\"md_14\":\"Grid_md_14__0cDCE\",\"gridStart_md_14\":\"Grid_gridStart_md_14__kHk_0\",\"gridEnd_md_14\":\"Grid_gridEnd_md_14__WUu8K\",\"span_lg_1\":\"Grid_span_lg_1__TK8wS\",\"lg_1\":\"Grid_lg_1__fBN1O\",\"gridStart_lg_1\":\"Grid_gridStart_lg_1__OCQvl\",\"gridEnd_lg_1\":\"Grid_gridEnd_lg_1__O06ca\",\"span_lg_2\":\"Grid_span_lg_2__eBDdt\",\"lg_2\":\"Grid_lg_2__QsaBB\",\"gridStart_lg_2\":\"Grid_gridStart_lg_2__Ldtgv\",\"gridEnd_lg_2\":\"Grid_gridEnd_lg_2__UFVpe\",\"span_lg_3\":\"Grid_span_lg_3__Akiyl\",\"lg_3\":\"Grid_lg_3__jq5Zx\",\"gridStart_lg_3\":\"Grid_gridStart_lg_3__7WT8c\",\"gridEnd_lg_3\":\"Grid_gridEnd_lg_3__8nyEk\",\"span_lg_4\":\"Grid_span_lg_4__WGmVY\",\"lg_4\":\"Grid_lg_4__aZlkL\",\"gridStart_lg_4\":\"Grid_gridStart_lg_4__U4YOR\",\"gridEnd_lg_4\":\"Grid_gridEnd_lg_4__QOK_p\",\"span_lg_5\":\"Grid_span_lg_5__vh5ds\",\"lg_5\":\"Grid_lg_5__APZU6\",\"gridStart_lg_5\":\"Grid_gridStart_lg_5__yrwJE\",\"gridEnd_lg_5\":\"Grid_gridEnd_lg_5__3Tx_W\",\"span_lg_6\":\"Grid_span_lg_6__fUAM7\",\"lg_6\":\"Grid_lg_6__ochae\",\"gridStart_lg_6\":\"Grid_gridStart_lg_6__z4CT_\",\"gridEnd_lg_6\":\"Grid_gridEnd_lg_6__CAxL0\",\"span_lg_7\":\"Grid_span_lg_7__F3oK7\",\"lg_7\":\"Grid_lg_7__1e1XA\",\"gridStart_lg_7\":\"Grid_gridStart_lg_7__B_LPa\",\"gridEnd_lg_7\":\"Grid_gridEnd_lg_7__Etuy5\",\"span_lg_8\":\"Grid_span_lg_8__jKsyF\",\"lg_8\":\"Grid_lg_8__PbFoU\",\"gridStart_lg_8\":\"Grid_gridStart_lg_8__zblEt\",\"gridEnd_lg_8\":\"Grid_gridEnd_lg_8__pWj5_\",\"span_lg_9\":\"Grid_span_lg_9__2o7Ro\",\"lg_9\":\"Grid_lg_9__NfJKI\",\"gridStart_lg_9\":\"Grid_gridStart_lg_9__NldiH\",\"gridEnd_lg_9\":\"Grid_gridEnd_lg_9__TlOfq\",\"span_lg_10\":\"Grid_span_lg_10__HSJK4\",\"lg_10\":\"Grid_lg_10__M0CZa\",\"gridStart_lg_10\":\"Grid_gridStart_lg_10__dmrD8\",\"gridEnd_lg_10\":\"Grid_gridEnd_lg_10__Fse2i\",\"span_lg_11\":\"Grid_span_lg_11__AaVqu\",\"lg_11\":\"Grid_lg_11__pjUfQ\",\"gridStart_lg_11\":\"Grid_gridStart_lg_11__lqCk_\",\"gridEnd_lg_11\":\"Grid_gridEnd_lg_11__qDEle\",\"span_lg_12\":\"Grid_span_lg_12__nzKQc\",\"lg_12\":\"Grid_lg_12__bf4D5\",\"gridStart_lg_12\":\"Grid_gridStart_lg_12__18LeM\",\"gridEnd_lg_12\":\"Grid_gridEnd_lg_12__uR0tk\",\"span_lg_13\":\"Grid_span_lg_13__mEOTW\",\"lg_13\":\"Grid_lg_13__hrnfh\",\"gridStart_lg_13\":\"Grid_gridStart_lg_13__lVkER\",\"gridEnd_lg_13\":\"Grid_gridEnd_lg_13__CA4fc\",\"span_lg_14\":\"Grid_span_lg_14__gplEy\",\"lg_14\":\"Grid_lg_14__Y9Bs_\",\"gridStart_lg_14\":\"Grid_gridStart_lg_14__fjrZj\",\"gridEnd_lg_14\":\"Grid_gridEnd_lg_14__wj28L\",\"span_xl_1\":\"Grid_span_xl_1__umjK3\",\"xl_1\":\"Grid_xl_1__PEgf0\",\"gridStart_xl_1\":\"Grid_gridStart_xl_1__JfDVf\",\"gridEnd_xl_1\":\"Grid_gridEnd_xl_1__6_Zmz\",\"span_xl_2\":\"Grid_span_xl_2__Pz_UW\",\"xl_2\":\"Grid_xl_2__1LBrh\",\"gridStart_xl_2\":\"Grid_gridStart_xl_2__GrfeB\",\"gridEnd_xl_2\":\"Grid_gridEnd_xl_2__rjKLq\",\"span_xl_3\":\"Grid_span_xl_3__BZKZ1\",\"xl_3\":\"Grid_xl_3__3_KIJ\",\"gridStart_xl_3\":\"Grid_gridStart_xl_3__vxRsD\",\"gridEnd_xl_3\":\"Grid_gridEnd_xl_3__VUWtb\",\"span_xl_4\":\"Grid_span_xl_4__HGVZu\",\"xl_4\":\"Grid_xl_4__UfJ_k\",\"gridStart_xl_4\":\"Grid_gridStart_xl_4__fa39q\",\"gridEnd_xl_4\":\"Grid_gridEnd_xl_4__oShfU\",\"span_xl_5\":\"Grid_span_xl_5___MAH6\",\"xl_5\":\"Grid_xl_5__iClB_\",\"gridStart_xl_5\":\"Grid_gridStart_xl_5__fQDPY\",\"gridEnd_xl_5\":\"Grid_gridEnd_xl_5__4QSAz\",\"span_xl_6\":\"Grid_span_xl_6__RNgKN\",\"xl_6\":\"Grid_xl_6__WYAH_\",\"gridStart_xl_6\":\"Grid_gridStart_xl_6__RRtx9\",\"gridEnd_xl_6\":\"Grid_gridEnd_xl_6__TJTQL\",\"span_xl_7\":\"Grid_span_xl_7___EdC1\",\"xl_7\":\"Grid_xl_7__FoqWw\",\"gridStart_xl_7\":\"Grid_gridStart_xl_7___ga8O\",\"gridEnd_xl_7\":\"Grid_gridEnd_xl_7__E1Gjz\",\"span_xl_8\":\"Grid_span_xl_8__WHuLv\",\"xl_8\":\"Grid_xl_8__6eSpp\",\"gridStart_xl_8\":\"Grid_gridStart_xl_8__EG8Tm\",\"gridEnd_xl_8\":\"Grid_gridEnd_xl_8__OYQpu\",\"span_xl_9\":\"Grid_span_xl_9__wxdhx\",\"xl_9\":\"Grid_xl_9__4_OEf\",\"gridStart_xl_9\":\"Grid_gridStart_xl_9__OngUU\",\"gridEnd_xl_9\":\"Grid_gridEnd_xl_9__FwZmu\",\"span_xl_10\":\"Grid_span_xl_10__Ll27z\",\"xl_10\":\"Grid_xl_10__CwjNh\",\"gridStart_xl_10\":\"Grid_gridStart_xl_10__0DD7S\",\"gridEnd_xl_10\":\"Grid_gridEnd_xl_10__OvSE1\",\"span_xl_11\":\"Grid_span_xl_11__rvEGs\",\"xl_11\":\"Grid_xl_11__BoTQ3\",\"gridStart_xl_11\":\"Grid_gridStart_xl_11__V1GGf\",\"gridEnd_xl_11\":\"Grid_gridEnd_xl_11__4oeu2\",\"span_xl_12\":\"Grid_span_xl_12__4EA2C\",\"xl_12\":\"Grid_xl_12__E14CE\",\"gridStart_xl_12\":\"Grid_gridStart_xl_12__ZQped\",\"gridEnd_xl_12\":\"Grid_gridEnd_xl_12__wgXbk\",\"span_xl_13\":\"Grid_span_xl_13__d_FWg\",\"xl_13\":\"Grid_xl_13__bITgI\",\"gridStart_xl_13\":\"Grid_gridStart_xl_13__Y06Vm\",\"gridEnd_xl_13\":\"Grid_gridEnd_xl_13__lm0KB\",\"span_xl_14\":\"Grid_span_xl_14__COh_H\",\"xl_14\":\"Grid_xl_14__d9KiS\",\"gridStart_xl_14\":\"Grid_gridStart_xl_14__PDt_6\",\"gridEnd_xl_14\":\"Grid_gridEnd_xl_14__WC9mX\",\"row\":\"Grid_row__xb4It\",\"wrap\":\"Grid_wrap__ybyZU\",\"container\":\"Grid_container__miTvF\",\"alignLeft\":\"Grid_alignLeft__rNFXc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"block\":\"Card_block__2l_31\",\"noMargin\":\"Card_noMargin__YE29B\",\"clear\":\"Card_clear__aj1Y2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"block\":\"FeaturedCategories_block__Q_Txf\",\"card\":\"FeaturedCategories_card__ABBc6\",\"grid\":\"FeaturedCategories_grid__mc1Fw\",\"link\":\"FeaturedCategories_link__f5jR0\",\"image\":\"FeaturedCategories_image__c_is1\",\"name\":\"FeaturedCategories_name__2djT5\"};"],"names":["formatStringOrUrl","urlObjOrString","formatUrl","React","forwardRef","props","forwardedRef","children","child","href","hrefProp","as","asProp","childrenProp","prefetch","prefetchProp","passHref","replace","shallow","scroll","onClick","onMouseEnter","onMouseEnterProp","onTouchStart","onTouchStartProp","legacyBehavior","restProps","a","router","useContext","AppRouterContext","prefetchEnabled","appPrefetchKind","PrefetchKind","AUTO","FULL","useMemo","resolvedHref","only","childRef","ref","observeLinkVisibilityOnMount","useCallback","mountLinkInstance","element","unmountLinkInstance","childProps","useMergedRef","mergedRef","e","defaultPrevented","linkClicked","nodeName","currentTarget","toUpperCase","isModifiedEvent","target","event","getAttribute","metaKey","ctrlKey","shiftKey","altKey","nativeEvent","which","preventDefault","startTransition","navigate","routerScroll","onNavigationIntent","process","env","NODE_ENV","undefined","isAbsoluteUrl","type","addBasePath","cloneElement"],"sourceRoot":""}