{"version":3,"file":"static/chunks/5718-9cc7d2ecced44938.js","mappings":"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","sources":["webpack://_N_E/./node_modules/@mui/material/useMediaQuery/useMediaQuery.js","webpack://_N_E/./node_modules/@mui/material/utils/useEnhancedEffect.js","webpack://_N_E/./node_modules/@mui/utils/esm/useEnhancedEffect/useEnhancedEffect.js","webpack://_N_E/./node_modules/next/dist/client/image.js","webpack://_N_E/./node_modules/next/dist/client/use-intersection.js","webpack://_N_E/./node_modules/next/image.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getThemeProps, useThemeWithoutDefault as useTheme } from '@mui/system';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\n\n/**\n * @deprecated Not used internally. Use `MediaQueryListEvent` from lib.dom.d.ts instead.\n */\n\n/**\n * @deprecated Not used internally. Use `MediaQueryList` from lib.dom.d.ts instead.\n */\n\n/**\n * @deprecated Not used internally. Use `(event: MediaQueryListEvent) => void` instead.\n */\n\nfunction useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const [match, setMatch] = React.useState(() => {\n if (noSsr && matchMedia) {\n return matchMedia(query).matches;\n }\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n }\n\n // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n return defaultMatches;\n });\n useEnhancedEffect(() => {\n let active = true;\n if (!matchMedia) {\n return undefined;\n }\n const queryList = matchMedia(query);\n const updateMatch = () => {\n // Workaround Safari wrong implementation of matchMedia\n // TODO can we remove it?\n // https://github.com/mui/material-ui/pull/17315#issuecomment-528286677\n if (active) {\n setMatch(queryList.matches);\n }\n };\n updateMatch();\n // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n queryList.addListener(updateMatch);\n return () => {\n active = false;\n queryList.removeListener(updateMatch);\n };\n }, [query, matchMedia]);\n return match;\n}\n\n// eslint-disable-next-line no-useless-concat -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseSyncExternalStore = React['useSyncExternalStore' + ''];\nfunction useMediaQueryNew(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const getDefaultSnapshot = React.useCallback(() => defaultMatches, [defaultMatches]);\n const getServerSnapshot = React.useMemo(() => {\n if (noSsr && matchMedia) {\n return () => matchMedia(query).matches;\n }\n if (ssrMatchMedia !== null) {\n const {\n matches\n } = ssrMatchMedia(query);\n return () => matches;\n }\n return getDefaultSnapshot;\n }, [getDefaultSnapshot, query, ssrMatchMedia, noSsr, matchMedia]);\n const [getSnapshot, subscribe] = React.useMemo(() => {\n if (matchMedia === null) {\n return [getDefaultSnapshot, () => () => {}];\n }\n const mediaQueryList = matchMedia(query);\n return [() => mediaQueryList.matches, notify => {\n // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n mediaQueryList.addListener(notify);\n return () => {\n mediaQueryList.removeListener(notify);\n };\n }];\n }, [getDefaultSnapshot, matchMedia, query]);\n const match = maybeReactUseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return match;\n}\nexport default function useMediaQuery(queryInput, options = {}) {\n const theme = useTheme();\n // Wait for jsdom to support the match media feature.\n // All the browsers MUI support have this built-in.\n // This defensive check is here for simplicity.\n // Most of the time, the match media logic isn't central to people tests.\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const {\n defaultMatches = false,\n matchMedia = supportMatchMedia ? window.matchMedia : null,\n ssrMatchMedia = null,\n noSsr = false\n } = getThemeProps({\n name: 'MuiUseMediaQuery',\n props: options,\n theme\n });\n if (process.env.NODE_ENV !== 'production') {\n if (typeof queryInput === 'function' && theme === null) {\n console.error(['MUI: The `query` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, '');\n\n // TODO: Drop `useMediaQueryOld` and use `use-sync-external-store` shim in `useMediaQueryNew` once the package is stable\n const useMediaQueryImplementation = maybeReactUseSyncExternalStore !== undefined ? useMediaQueryNew : useMediaQueryOld;\n const match = useMediaQueryImplementation(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue({\n query,\n match\n });\n }\n return match;\n}","'use client';\n\nimport { unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';\nexport default useEnhancedEffect;","'use client';\n\nimport * as React from 'react';\n\n/**\n * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.\n * This is useful for effects that are only needed for client-side rendering but not for SSR.\n *\n * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * and confirm it doesn't apply to your use-case.\n */\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nexport default useEnhancedEffect;","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Image;\nvar _extends = require(\"@swc/helpers/lib/_extends.js\").default;\nvar _interop_require_default = require(\"@swc/helpers/lib/_interop_require_default.js\").default;\nvar _interop_require_wildcard = require(\"@swc/helpers/lib/_interop_require_wildcard.js\").default;\nvar _object_without_properties_loose = require(\"@swc/helpers/lib/_object_without_properties_loose.js\").default;\nvar _react = _interop_require_wildcard(require(\"react\"));\nvar _head = _interop_require_default(require(\"../shared/lib/head\"));\nvar _imageConfig = require(\"../shared/lib/image-config\");\nvar _useIntersection = require(\"./use-intersection\");\nvar _imageConfigContext = require(\"../shared/lib/image-config-context\");\nvar _utils = require(\"../shared/lib/utils\");\nvar _normalizeTrailingSlash = require(\"./normalize-trailing-slash\");\nfunction Image(_param) {\n var { src , sizes , unoptimized =false , priority =false , loading , lazyRoot =null , lazyBoundary , className , quality , width , height , style , objectFit , objectPosition , onLoadingComplete , placeholder ='empty' , blurDataURL } = _param, all = _object_without_properties_loose(_param, [\n \"src\",\n \"sizes\",\n \"unoptimized\",\n \"priority\",\n \"loading\",\n \"lazyRoot\",\n \"lazyBoundary\",\n \"className\",\n \"quality\",\n \"width\",\n \"height\",\n \"style\",\n \"objectFit\",\n \"objectPosition\",\n \"onLoadingComplete\",\n \"placeholder\",\n \"blurDataURL\"\n ]);\n const configContext = (0, _react).useContext(_imageConfigContext.ImageConfigContext);\n const config = (0, _react).useMemo(()=>{\n const c = configEnv || configContext || _imageConfig.imageConfigDefault;\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n return _extends({}, c, {\n allSizes,\n deviceSizes\n });\n }, [\n configContext\n ]);\n let rest = all;\n let layout = sizes ? 'responsive' : 'intrinsic';\n if ('layout' in rest) {\n // Override default layout if the user specified one:\n if (rest.layout) layout = rest.layout;\n // Remove property so it's not spread on
:\n delete rest.layout;\n }\n let loader = defaultImageLoader;\n if ('loader' in rest) {\n if (rest.loader) {\n const customImageLoader = rest.loader;\n var _tmp;\n _tmp = (obj)=>{\n const { config: _ } = obj, opts = _object_without_properties_loose(obj, [\n \"config\"\n ]);\n // The config object is internal only so we must\n // not pass it to the user-defined loader()\n return customImageLoader(opts);\n }, loader = _tmp, _tmp;\n }\n // Remove property so it's not spread on
\n delete rest.loader;\n }\n let staticSrc = '';\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src;\n if (!staticImageData.src) {\n throw new Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(staticImageData)}`);\n }\n blurDataURL = blurDataURL || staticImageData.blurDataURL;\n staticSrc = staticImageData.src;\n if (!layout || layout !== 'fill') {\n height = height || staticImageData.height;\n width = width || staticImageData.width;\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(staticImageData)}`);\n }\n }\n }\n src = typeof src === 'string' ? src : staticSrc;\n let isLazy = !priority && (loading === 'lazy' || typeof loading === 'undefined');\n if (src.startsWith('data:') || src.startsWith('blob:')) {\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n if (typeof window !== 'undefined' && loadedImageURLs.has(src)) {\n isLazy = false;\n }\n if (experimentalUnoptimized) {\n unoptimized = true;\n }\n const [blurComplete, setBlurComplete] = (0, _react).useState(false);\n const [setIntersection, isIntersected, resetIntersected] = (0, _useIntersection).useIntersection({\n rootRef: lazyRoot,\n rootMargin: lazyBoundary || '200px',\n disabled: !isLazy\n });\n const isVisible = !isLazy || isIntersected;\n const wrapperStyle = {\n boxSizing: 'border-box',\n display: 'block',\n overflow: 'hidden',\n width: 'initial',\n height: 'initial',\n background: 'none',\n opacity: 1,\n border: 0,\n margin: 0,\n padding: 0\n };\n const sizerStyle = {\n boxSizing: 'border-box',\n display: 'block',\n width: 'initial',\n height: 'initial',\n background: 'none',\n opacity: 1,\n border: 0,\n margin: 0,\n padding: 0\n };\n let hasSizer = false;\n let sizerSvgUrl;\n const layoutStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n boxSizing: 'border-box',\n padding: 0,\n border: 'none',\n margin: 'auto',\n display: 'block',\n width: 0,\n height: 0,\n minWidth: '100%',\n maxWidth: '100%',\n minHeight: '100%',\n maxHeight: '100%',\n objectFit,\n objectPosition\n };\n let widthInt = getInt(width);\n let heightInt = getInt(height);\n const qualityInt = getInt(quality);\n if (process.env.NODE_ENV !== 'production') {\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n widthInt = widthInt || 1;\n heightInt = heightInt || 1;\n unoptimized = true;\n } else {\n if (!VALID_LAYOUT_VALUES.includes(layout)) {\n if (layout === 'raw') {\n throw new Error(`The layout=\"raw\" experiment has been moved to a new module. Please import \\`next/future/image\\` instead.`);\n }\n throw new Error(`Image with src \"${src}\" has invalid \"layout\" property. Provided \"${layout}\" should be one of ${VALID_LAYOUT_VALUES.map(String).join(',')}.`);\n }\n if (typeof widthInt !== 'undefined' && isNaN(widthInt) || typeof heightInt !== 'undefined' && isNaN(heightInt)) {\n throw new Error(`Image with src \"${src}\" has invalid \"width\" or \"height\" property. These should be numeric values.`);\n }\n if (layout === 'fill' && (width || height)) {\n (0, _utils).warnOnce(`Image with src \"${src}\" and \"layout='fill'\" has unused properties assigned. Please remove \"width\" and \"height\".`);\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error(`Image with src \"${src}\" has invalid \"loading\" property. Provided \"${loading}\" should be one of ${VALID_LOADING_VALUES.map(String).join(',')}.`);\n }\n if (priority && loading === 'lazy') {\n throw new Error(`Image with src \"${src}\" has both \"priority\" and \"loading='lazy'\" properties. Only one should be used.`);\n }\n if (sizes && layout !== 'fill' && layout !== 'responsive') {\n (0, _utils).warnOnce(`Image with src \"${src}\" has \"sizes\" property but it will be ignored. Only use \"sizes\" with \"layout='fill'\" or \"layout='responsive'\"`);\n }\n if (placeholder === 'blur') {\n if (layout !== 'fill' && (widthInt || 0) * (heightInt || 0) < 1600) {\n (0, _utils).warnOnce(`Image with src \"${src}\" is smaller than 40x40. Consider removing the \"placeholder='blur'\" property to improve performance.`);\n }\n if (!blurDataURL) {\n const VALID_BLUR_EXT = [\n 'jpeg',\n 'png',\n 'webp',\n 'avif'\n ] // should match next-image-loader\n ;\n throw new Error(`Image with src \"${src}\" has \"placeholder='blur'\" property but is missing the \"blurDataURL\" property.\n Possible solutions:\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\n - Change the \"src\" property to a static import with one of the supported file types: ${VALID_BLUR_EXT.join(',')}\n - Remove the \"placeholder\" property, effectively no blur effect\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url`);\n }\n }\n if ('ref' in rest) {\n (0, _utils).warnOnce(`Image with src \"${src}\" is using unsupported \"ref\" property. Consider using the \"onLoadingComplete\" property instead.`);\n }\n if (!unoptimized && loader !== defaultImageLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75\n });\n let url;\n try {\n url = new URL(urlStr);\n } catch (err) {}\n if (urlStr === src || url && url.pathname === src && !url.search) {\n (0, _utils).warnOnce(`Image with src \"${src}\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.` + `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width`);\n }\n }\n if (style) {\n let overwrittenStyles = Object.keys(style).filter((key)=>key in layoutStyle);\n if (overwrittenStyles.length) {\n (0, _utils).warnOnce(`Image with src ${src} is assigned the following styles, which are overwritten by automatically-generated styles: ${overwrittenStyles.join(', ')}`);\n }\n }\n if (typeof window !== 'undefined' && !perfObserver && window.PerformanceObserver) {\n perfObserver = new PerformanceObserver((entryList)=>{\n for (const entry of entryList.getEntries()){\n var ref;\n // @ts-ignore - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = (entry == null ? void 0 : (ref = entry.element) == null ? void 0 : ref.src) || '';\n const lcpImage = allImgs.get(imgSrc);\n if (lcpImage && !lcpImage.priority && lcpImage.placeholder !== 'blur' && !lcpImage.src.startsWith('data:') && !lcpImage.src.startsWith('blob:')) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n (0, _utils).warnOnce(`Image with src \"${lcpImage.src}\" was detected as the Largest Contentful Paint (LCP). Please add the \"priority\" property if this image is above the fold.` + `\\nRead more: https://nextjs.org/docs/api-reference/next/image#priority`);\n }\n }\n });\n try {\n perfObserver.observe({\n type: 'largest-contentful-paint',\n buffered: true\n });\n } catch (err) {\n // Log error but don't crash the app\n console.error(err);\n }\n }\n }\n }\n const imgStyle = Object.assign({}, style, layoutStyle);\n const blurStyle = placeholder === 'blur' && !blurComplete ? {\n backgroundSize: objectFit || 'cover',\n backgroundPosition: objectPosition || '0% 0%',\n filter: 'blur(20px)',\n backgroundImage: `url(\"${blurDataURL}\")`\n } : {};\n if (layout === 'fill') {\n // \n wrapperStyle.display = 'block';\n wrapperStyle.position = 'absolute';\n wrapperStyle.top = 0;\n wrapperStyle.left = 0;\n wrapperStyle.bottom = 0;\n wrapperStyle.right = 0;\n } else if (typeof widthInt !== 'undefined' && typeof heightInt !== 'undefined') {\n // \n const quotient = heightInt / widthInt;\n const paddingTop = isNaN(quotient) ? '100%' : `${quotient * 100}%`;\n if (layout === 'responsive') {\n // \n wrapperStyle.display = 'block';\n wrapperStyle.position = 'relative';\n hasSizer = true;\n sizerStyle.paddingTop = paddingTop;\n } else if (layout === 'intrinsic') {\n // \n wrapperStyle.display = 'inline-block';\n wrapperStyle.position = 'relative';\n wrapperStyle.maxWidth = '100%';\n hasSizer = true;\n sizerStyle.maxWidth = '100%';\n sizerSvgUrl = `data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27${widthInt}%27%20height=%27${heightInt}%27/%3e`;\n } else if (layout === 'fixed') {\n // \n wrapperStyle.display = 'inline-block';\n wrapperStyle.position = 'relative';\n wrapperStyle.width = widthInt;\n wrapperStyle.height = heightInt;\n }\n } else {\n // \n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`Image with src \"${src}\" must use \"width\" and \"height\" properties or \"layout='fill'\" property.`);\n }\n }\n let imgAttributes = {\n src: emptyDataURL,\n srcSet: undefined,\n sizes: undefined\n };\n if (isVisible) {\n imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n layout,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader\n });\n }\n let srcString = src;\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window !== 'undefined') {\n let fullUrl;\n try {\n fullUrl = new URL(imgAttributes.src);\n } catch (e) {\n fullUrl = new URL(imgAttributes.src, window.location.href);\n }\n allImgs.set(fullUrl.href, {\n src,\n priority,\n placeholder\n });\n }\n }\n let imageSrcSetPropName = 'imagesrcset';\n let imageSizesPropName = 'imagesizes';\n if (process.env.__NEXT_REACT_ROOT) {\n imageSrcSetPropName = 'imageSrcSet';\n imageSizesPropName = 'imageSizes';\n }\n const linkProps = {\n // Note: imagesrcset and imagesizes are not in the link element type with react 17.\n [imageSrcSetPropName]: imgAttributes.srcSet,\n [imageSizesPropName]: imgAttributes.sizes\n };\n const useLayoutEffect = typeof window === 'undefined' ? _react.default.useEffect : _react.default.useLayoutEffect;\n const onLoadingCompleteRef = (0, _react).useRef(onLoadingComplete);\n const previousImageSrc = (0, _react).useRef(src);\n (0, _react).useEffect(()=>{\n onLoadingCompleteRef.current = onLoadingComplete;\n }, [\n onLoadingComplete\n ]);\n useLayoutEffect(()=>{\n if (previousImageSrc.current !== src) {\n resetIntersected();\n previousImageSrc.current = src;\n }\n }, [\n resetIntersected,\n src\n ]);\n const imgElementArgs = _extends({\n isLazy,\n imgAttributes,\n heightInt,\n widthInt,\n qualityInt,\n layout,\n className,\n imgStyle,\n blurStyle,\n loading,\n config,\n unoptimized,\n placeholder,\n loader,\n srcString,\n onLoadingCompleteRef,\n setBlurComplete,\n setIntersection,\n isVisible,\n noscriptSizes: sizes\n }, rest);\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"span\", {\n style: wrapperStyle\n }, hasSizer ? /*#__PURE__*/ _react.default.createElement(\"span\", {\n style: sizerStyle\n }, sizerSvgUrl ? /*#__PURE__*/ _react.default.createElement(\"img\", {\n style: {\n display: 'block',\n maxWidth: '100%',\n width: 'initial',\n height: 'initial',\n background: 'none',\n opacity: 1,\n border: 0,\n margin: 0,\n padding: 0\n },\n alt: \"\",\n \"aria-hidden\": true,\n src: sizerSvgUrl\n }) : null) : null, /*#__PURE__*/ _react.default.createElement(ImageElement, Object.assign({}, imgElementArgs))), priority ? // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would likely cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n /*#__PURE__*/ _react.default.createElement(_head.default, null, /*#__PURE__*/ _react.default.createElement(\"link\", Object.assign({\n key: '__nimg-' + imgAttributes.src + imgAttributes.srcSet + imgAttributes.sizes,\n rel: \"preload\",\n as: \"image\",\n href: imgAttributes.srcSet ? undefined : imgAttributes.src\n }, linkProps))) : null);\n}\nconst { experimentalRemotePatterns =[] , experimentalUnoptimized } = process.env.__NEXT_IMAGE_OPTS || {};\nconst configEnv = process.env.__NEXT_IMAGE_OPTS;\nconst loadedImageURLs = new Set();\nconst allImgs = new Map();\nlet perfObserver;\nconst emptyDataURL = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\nif (typeof window === 'undefined') {\n global.__NEXT_IMAGE_IMPORTED = true;\n}\nconst VALID_LOADING_VALUES = [\n 'lazy',\n 'eager',\n undefined\n];\nconst loaders = new Map([\n [\n 'default',\n defaultLoader\n ],\n [\n 'imgix',\n imgixLoader\n ],\n [\n 'cloudinary',\n cloudinaryLoader\n ],\n [\n 'akamai',\n akamaiLoader\n ],\n [\n 'custom',\n customLoader\n ], \n]);\nconst VALID_LAYOUT_VALUES = [\n 'fill',\n 'fixed',\n 'intrinsic',\n 'responsive',\n undefined, \n];\nfunction isStaticRequire(src) {\n return src.default !== undefined;\n}\nfunction isStaticImageData(src) {\n return src.src !== undefined;\n}\nfunction isStaticImport(src) {\n return typeof src === 'object' && (isStaticRequire(src) || isStaticImageData(src));\n}\nfunction getWidths({ deviceSizes , allSizes }, width, layout, sizes) {\n if (sizes && (layout === 'fill' || layout === 'responsive')) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g;\n const percentSizes = [];\n for(let match; match = viewportWidthRe.exec(sizes); match){\n percentSizes.push(parseInt(match[2]));\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01;\n return {\n widths: allSizes.filter((s)=>s >= deviceSizes[0] * smallestRatio),\n kind: 'w'\n };\n }\n return {\n widths: allSizes,\n kind: 'w'\n };\n }\n if (typeof width !== 'number' || layout === 'fill' || layout === 'responsive') {\n return {\n widths: deviceSizes,\n kind: 'w'\n };\n }\n const widths = [\n ...new Set(// > This means that most OLED screens that say they are 3x resolution,\n // > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [\n width,\n width * 2 /*, width * 3*/ \n ].map((w)=>allSizes.find((p)=>p >= w) || allSizes[allSizes.length - 1])), \n ];\n return {\n widths,\n kind: 'x'\n };\n}\nfunction generateImgAttrs({ config , src , unoptimized , layout , width , quality , sizes , loader }) {\n if (unoptimized) {\n return {\n src,\n srcSet: undefined,\n sizes: undefined\n };\n }\n const { widths , kind } = getWidths(config, width, layout, sizes);\n const last = widths.length - 1;\n return {\n sizes: !sizes && kind === 'w' ? '100vw' : sizes,\n srcSet: widths.map((w, i)=>`${loader({\n config,\n src,\n quality,\n width: w\n })} ${kind === 'w' ? w : i + 1}${kind}`).join(', '),\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({\n config,\n src,\n quality,\n width: widths[last]\n })\n };\n}\nfunction getInt(x) {\n if (typeof x === 'number') {\n return x;\n }\n if (typeof x === 'string') {\n return parseInt(x, 10);\n }\n return undefined;\n}\nfunction defaultImageLoader(loaderProps) {\n var ref;\n const loaderKey = ((ref = loaderProps.config) == null ? void 0 : ref.loader) || 'default';\n const load = loaders.get(loaderKey);\n if (load) {\n return load(loaderProps);\n }\n throw new Error(`Unknown \"loader\" found in \"next.config.js\". Expected: ${_imageConfig.VALID_LOADERS.join(', ')}. Received: ${loaderKey}`);\n}\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(img, src, layout, placeholder, onLoadingCompleteRef, setBlurComplete) {\n if (!img || img.src === emptyDataURL || img['data-loaded-src'] === src) {\n return;\n }\n img['data-loaded-src'] = src;\n const p = 'decode' in img ? img.decode() : Promise.resolve();\n p.catch(()=>{}).then(()=>{\n if (!img.parentNode) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return;\n }\n loadedImageURLs.add(src);\n if (placeholder === 'blur') {\n setBlurComplete(true);\n }\n if (onLoadingCompleteRef == null ? void 0 : onLoadingCompleteRef.current) {\n const { naturalWidth , naturalHeight } = img;\n // Pass back read-only primitive values but not the\n // underlying DOM element because it could be misused.\n onLoadingCompleteRef.current({\n naturalWidth,\n naturalHeight\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n var ref;\n if ((ref = img.parentElement) == null ? void 0 : ref.parentElement) {\n const parent = getComputedStyle(img.parentElement.parentElement);\n if (!parent.position) {\n // The parent has not been rendered to the dom yet and therefore it has no position. Skip the warnings for such cases.\n } else if (layout === 'responsive' && parent.display === 'flex') {\n (0, _utils).warnOnce(`Image with src \"${src}\" may not render properly as a child of a flex container. Consider wrapping the image with a div to configure the width.`);\n } else if (layout === 'fill' && parent.position !== 'relative' && parent.position !== 'fixed' && parent.position !== 'absolute') {\n (0, _utils).warnOnce(`Image with src \"${src}\" may not render properly with a parent using position:\"${parent.position}\". Consider changing the parent style to position:\"relative\" with a width and height.`);\n }\n }\n }\n });\n}\nconst ImageElement = (_param)=>{\n var { imgAttributes , heightInt , widthInt , qualityInt , layout , className , imgStyle , blurStyle , isLazy , placeholder , loading , srcString , config , unoptimized , loader , onLoadingCompleteRef , setBlurComplete , setIntersection , onLoad , onError , isVisible , noscriptSizes } = _param, rest = _object_without_properties_loose(_param, [\n \"imgAttributes\",\n \"heightInt\",\n \"widthInt\",\n \"qualityInt\",\n \"layout\",\n \"className\",\n \"imgStyle\",\n \"blurStyle\",\n \"isLazy\",\n \"placeholder\",\n \"loading\",\n \"srcString\",\n \"config\",\n \"unoptimized\",\n \"loader\",\n \"onLoadingCompleteRef\",\n \"setBlurComplete\",\n \"setIntersection\",\n \"onLoad\",\n \"onError\",\n \"isVisible\",\n \"noscriptSizes\"\n ]);\n loading = isLazy ? 'lazy' : loading;\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"img\", Object.assign({}, rest, imgAttributes, {\n decoding: \"async\",\n \"data-nimg\": layout,\n className: className,\n style: _extends({}, imgStyle, blurStyle),\n ref: (0, _react).useCallback((img)=>{\n if (process.env.NODE_ENV !== 'production') {\n if (img && !srcString) {\n console.error(`Image is missing required \"src\" property:`, img);\n }\n }\n setIntersection(img);\n if (img == null ? void 0 : img.complete) {\n handleLoading(img, srcString, layout, placeholder, onLoadingCompleteRef, setBlurComplete);\n }\n }, [\n setIntersection,\n srcString,\n layout,\n placeholder,\n onLoadingCompleteRef,\n setBlurComplete, \n ]),\n onLoad: (event)=>{\n const img = event.currentTarget;\n handleLoading(img, srcString, layout, placeholder, onLoadingCompleteRef, setBlurComplete);\n if (onLoad) {\n onLoad(event);\n }\n },\n onError: (event)=>{\n if (placeholder === 'blur') {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true);\n }\n if (onError) {\n onError(event);\n }\n }\n })), (isLazy || placeholder === 'blur') && /*#__PURE__*/ _react.default.createElement(\"noscript\", null, /*#__PURE__*/ _react.default.createElement(\"img\", Object.assign({}, rest, generateImgAttrs({\n config,\n src: srcString,\n unoptimized,\n layout,\n width: widthInt,\n quality: qualityInt,\n sizes: noscriptSizes,\n loader\n }), {\n decoding: \"async\",\n \"data-nimg\": layout,\n style: imgStyle,\n className: className,\n // @ts-ignore - TODO: upgrade to `@types/react@17`\n loading: loading\n }))));\n};\nfunction normalizeSrc(src) {\n return src[0] === '/' ? src.slice(1) : src;\n}\nfunction imgixLoader({ config , src , width , quality }) {\n // Demo: https://static.imgix.net/daisy.png?auto=format&fit=max&w=300\n const url = new URL(`${config.path}${normalizeSrc(src)}`);\n const params = url.searchParams;\n // auto params can be combined with comma separation, or reiteration\n params.set('auto', params.getAll('auto').join(',') || 'format');\n params.set('fit', params.get('fit') || 'max');\n params.set('w', params.get('w') || width.toString());\n if (quality) {\n params.set('q', quality.toString());\n }\n return url.href;\n}\nfunction akamaiLoader({ config , src , width }) {\n return `${config.path}${normalizeSrc(src)}?imwidth=${width}`;\n}\nfunction cloudinaryLoader({ config , src , width , quality }) {\n // Demo: https://res.cloudinary.com/demo/image/upload/w_300,c_limit,q_auto/turtles.jpg\n const params = [\n 'f_auto',\n 'c_limit',\n 'w_' + width,\n 'q_' + (quality || 'auto')\n ];\n const paramsString = params.join(',') + '/';\n return `${config.path}${paramsString}${normalizeSrc(src)}`;\n}\nfunction customLoader({ src }) {\n throw new Error(`Image with src \"${src}\" is missing \"loader\" prop.` + `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader`);\n}\nfunction defaultLoader({ config , src , width , quality }) {\n if (process.env.NODE_ENV !== 'production') {\n const missingValues = [];\n // these should always be provided but make sure they are\n if (!src) missingValues.push('src');\n if (!width) missingValues.push('width');\n if (missingValues.length > 0) {\n throw new Error(`Next Image Optimization requires ${missingValues.join(', ')} to be provided. Make sure you pass them as props to the \\`next/image\\` component. Received: ${JSON.stringify({\n src,\n width,\n quality\n })}`);\n }\n if (src.startsWith('//')) {\n throw new Error(`Failed to parse src \"${src}\" on \\`next/image\\`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)`);\n }\n if (!src.startsWith('/') && (config.domains || experimentalRemotePatterns)) {\n let parsedSrc;\n try {\n parsedSrc = new URL(src);\n } catch (err) {\n console.error(err);\n throw new Error(`Failed to parse src \"${src}\" on \\`next/image\\`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)`);\n }\n if (process.env.NODE_ENV !== 'test') {\n // We use dynamic require because this should only error in development\n const { hasMatch } = require('../shared/lib/match-remote-pattern');\n if (!hasMatch(config.domains, experimentalRemotePatterns, parsedSrc)) {\n throw new Error(`Invalid src prop (${src}) on \\`next/image\\`, hostname \"${parsedSrc.hostname}\" is not configured under images in your \\`next.config.js\\`\\n` + `See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host`);\n }\n }\n }\n }\n if (src.endsWith('.svg') && !config.dangerouslyAllowSVG) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n return src;\n }\n return `${(0, _normalizeTrailingSlash).normalizePathTrailingSlash(config.path)}?url=${encodeURIComponent(src)}&w=${width}&q=${quality || 75}`;\n}\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=image.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useIntersection = useIntersection;\nvar _react = require(\"react\");\nvar _requestIdleCallback = require(\"./request-idle-callback\");\nconst hasIntersectionObserver = typeof IntersectionObserver === 'function';\nfunction useIntersection({ rootRef , rootMargin , disabled }) {\n const isDisabled = disabled || !hasIntersectionObserver;\n const unobserve = (0, _react).useRef();\n const [visible, setVisible] = (0, _react).useState(false);\n const [element, setElement] = (0, _react).useState(null);\n (0, _react).useEffect(()=>{\n if (hasIntersectionObserver) {\n if (unobserve.current) {\n unobserve.current();\n unobserve.current = undefined;\n }\n if (isDisabled || visible) return;\n if (element && element.tagName) {\n unobserve.current = observe(element, (isVisible)=>isVisible && setVisible(isVisible), {\n root: rootRef == null ? void 0 : rootRef.current,\n rootMargin\n });\n }\n return ()=>{\n unobserve.current == null ? void 0 : unobserve.current();\n unobserve.current = undefined;\n };\n } else {\n if (!visible) {\n const idleCallback = (0, _requestIdleCallback).requestIdleCallback(()=>setVisible(true));\n return ()=>(0, _requestIdleCallback).cancelIdleCallback(idleCallback);\n }\n }\n }, [\n element,\n isDisabled,\n rootMargin,\n rootRef,\n visible\n ]);\n const resetVisible = (0, _react).useCallback(()=>{\n setVisible(false);\n }, []);\n return [\n setElement,\n visible,\n resetVisible\n ];\n}\nconst observers = new Map();\nconst idList = [];\nfunction observe(element, callback, options) {\n const { id , observer , elements } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element);\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n const index = idList.findIndex((obj)=>obj.root === id.root && obj.margin === id.margin);\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || ''\n };\n const existing = idList.find((obj)=>obj.root === id.root && obj.margin === id.margin);\n let instance;\n if (existing) {\n instance = observers.get(existing);\n if (instance) {\n return instance;\n }\n }\n const elements = new Map();\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n instance = {\n id,\n observer,\n elements\n };\n idList.push(id);\n observers.set(id, instance);\n return instance;\n}\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=use-intersection.js.map","module.exports = require('./dist/client/image')\n"],"names":["useMediaQueryOld","query","defaultMatches","matchMedia","ssrMatchMedia","noSsr","match","setMatch","matches","active","queryList","updateMatch","addListener","removeListener","maybeReactUseSyncExternalStore","useMediaQueryNew","getDefaultSnapshot","getServerSnapshot","getSnapshot","subscribe","mediaQueryList","notify","useMediaQuery","queryInput","options","theme","supportMatchMedia","window","name","props","replace","undefined","useEnhancedEffect","Object","defineProperty","exports","value","_param","src","sizes","unoptimized","priority","loading","lazyRoot","lazyBoundary","className","quality","width","height","style","objectFit","objectPosition","onLoadingComplete","placeholder","blurDataURL","all","_object_without_properties_loose","configContext","_react","useContext","_imageConfigContext","ImageConfigContext","config","useMemo","c","configEnv","_imageConfig","imageConfigDefault","allSizes","deviceSizes","imageSizes","sort","a","b","_extends","rest","layout","loader","defaultImageLoader","customImageLoader","obj","opts","staticSrc","isStaticRequire","isStaticImageData","isStaticImport","staticImageData","default","Error","JSON","stringify","isLazy","startsWith","loadedImageURLs","has","experimentalUnoptimized","sizerSvgUrl","useState","blurComplete","setBlurComplete","_useIntersection","useIntersection","rootRef","rootMargin","disabled","setIntersection","isIntersected","resetIntersected","isVisible","wrapperStyle","boxSizing","display","overflow","background","opacity","border","margin","padding","sizerStyle","hasSizer","layoutStyle","position","top","left","bottom","right","minWidth","maxWidth","minHeight","maxHeight","widthInt","getInt","heightInt","qualityInt","process","imgStyle","assign","blurStyle","backgroundSize","backgroundPosition","filter","backgroundImage","quotient","paddingTop","isNaN","imgAttributes","emptyDataURL","srcSet","generateImgAttrs","srcString","imageSrcSetPropName","imageSizesPropName","linkProps","useLayoutEffect","onLoadingCompleteRef","useRef","previousImageSrc","useEffect","current","imgElementArgs","noscriptSizes","createElement","Fragment","alt","ImageElement","_head","key","rel","as","href","require","_interop_require_default","_interop_require_wildcard","_normalizeTrailingSlash","Set","Map","loaders","endsWith","dangerouslyAllowSVG","encodeURIComponent","normalizePathTrailingSlash","path","url","URL","normalizeSrc","params","searchParams","set","getAll","join","get","toString","paramsString","getWidths","viewportWidthRe","percentSizes","exec","push","parseInt","length","Math","smallestRatio","min","widths","s","kind","map","w","find","p","last","i","x","loaderProps","ref","loaderKey","load","VALID_LOADERS","handleLoading","img","decode","Promise","resolve","catch","then","parentNode","add","naturalWidth","naturalHeight","onLoad","onError","decoding","useCallback","complete","event","currentTarget","slice","__esModule","module","isDisabled","hasIntersectionObserver","unobserve","visible","setVisible","element","setElement","tagName","callback","createObserver","instance","id","root","existing","idList","observers","elements","observer","IntersectionObserver","entries","forEach","entry","target","isIntersecting","intersectionRatio","observe","delete","size","disconnect","index","findIndex","splice","idleCallback","_requestIdleCallback","requestIdleCallback","cancelIdleCallback","resetVisible"],"sourceRoot":""}