{"version":3,"file":"static/chunks/755-8338a255740432d5.js","mappings":"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","sources":["webpack://_N_E/./node_modules/next/dist/client/legacy/image.js","webpack://_N_E/./node_modules/next/legacy/image.js","webpack://_N_E/"],"sourcesContent":["\"use client\";\n\"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 _warnOnce = require(\"../../shared/lib/utils/warn-once\");\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 (config.unoptimized) {\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 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, _warnOnce).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, _warnOnce).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, _warnOnce).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, _warnOnce).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, _warnOnce).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, _warnOnce).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, _warnOnce).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/legacy/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 const linkProps = {\n // @ts-expect-error upgrade react types to react 18\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: rest.crossOrigin\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}\n\nfunction normalizeSrc(src) {\n return src[0] === '/' ? src.slice(1) : src;\n}\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 globalThis.__NEXT_IMAGE_IMPORTED = true;\n}\nconst VALID_LOADING_VALUES = [\n 'lazy',\n 'eager',\n undefined\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 || config.remotePatterns)) {\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, config.remotePatterns, 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}\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, _warnOnce).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, _warnOnce).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};\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","module.exports = require('../dist/client/legacy/image')\n","(self[\"webpackChunk_N_E\"] = self[\"webpackChunk_N_E\"] || []).push([[755],{\n\n/***/ 3762:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\"use client\";\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports[\"default\"] = Image;\nvar _extends = (__webpack_require__(6495)/* [\"default\"] */ .Z);\nvar _interop_require_default = (__webpack_require__(2648)/* [\"default\"] */ .Z);\nvar _interop_require_wildcard = (__webpack_require__(1598)/* [\"default\"] */ .Z);\nvar _object_without_properties_loose = (__webpack_require__(7273)/* [\"default\"] */ .Z);\nvar _react = _interop_require_wildcard(__webpack_require__(7294));\nvar _head = _interop_require_default(__webpack_require__(3121));\nvar _imageConfig = __webpack_require__(139);\nvar _useIntersection = __webpack_require__(9246);\nvar _imageConfigContext = __webpack_require__(8730);\nvar _warnOnce = __webpack_require__(7238);\nvar _normalizeTrailingSlash = __webpack_require__(2700);\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 \".concat(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 \".concat(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 ( true && loadedImageURLs.has(src)) {\n isLazy = false;\n }\n if (config.unoptimized) {\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 (false) {}\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(\"'.concat(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%\" : \"\".concat(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\".concat(widthInt, \"%27%20height=%27\").concat(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 (false) {}\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 (false) {}\n const linkProps = {\n // @ts-expect-error upgrade react types to react 18\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: rest.crossOrigin\n };\n const useLayoutEffect = false ? 0 : _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 ? // 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}\nfunction normalizeSrc(src) {\n return src[0] === \"/\" ? src.slice(1) : src;\n}\nconst configEnv = {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false};\nconst loadedImageURLs = new Set();\nconst allImgs = new Map();\nlet perfObserver;\nconst emptyDataURL = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\";\nif (false) {}\nconst VALID_LOADING_VALUES = (/* unused pure expression or super */ null && ([\n \"lazy\",\n \"eager\",\n undefined\n]));\nfunction imgixLoader(param) {\n let { config , src , width , quality } = param;\n // Demo: https://static.imgix.net/daisy.png?auto=format&fit=max&w=300\n const url = new URL(\"\".concat(config.path).concat(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(param) {\n let { config , src , width } = param;\n return \"\".concat(config.path).concat(normalizeSrc(src), \"?imwidth=\").concat(width);\n}\nfunction cloudinaryLoader(param) {\n let { config , src , width , quality } = param;\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 \"\".concat(config.path).concat(paramsString).concat(normalizeSrc(src));\n}\nfunction customLoader(param) {\n let { src } = param;\n throw new Error('Image with src \"'.concat(src, '\" is missing \"loader\" prop.') + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader\");\n}\nfunction defaultLoader(param) {\n let { config , src , width , quality } = param;\n if (false) {}\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 \"\".concat((0, _normalizeTrailingSlash).normalizePathTrailingSlash(config.path), \"?url=\").concat(encodeURIComponent(src), \"&w=\").concat(width, \"&q=\").concat(quality || 75);\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 = (/* unused pure expression or super */ null && ([\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(param, width, layout, sizes) {\n let { deviceSizes , allSizes } = param;\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(// > 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(param) {\n let { config , src , unoptimized , layout , width , quality , sizes , loader } = param;\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)=>\"\".concat(loader({\n config,\n src,\n quality,\n width: w\n }), \" \").concat(kind === \"w\" ? w : i + 1).concat(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: '.concat(_imageConfig.VALID_LOADERS.join(\", \"), \". Received: \").concat(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 (false) { var ref; }\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 (false) {}\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};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=image.js.map\n\n\n/***/ }),\n\n/***/ 8044:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(3762)\n\n\n/***/ })\n\n}]);"],"names":["self","push","module","exports","__webpack_require__","Object","defineProperty","value","_param","sizerSvgUrl","src","sizes","unoptimized","priority","loading","lazyRoot","lazyBoundary","className","quality","width","height","style","objectFit","objectPosition","onLoadingComplete","placeholder","blurDataURL","all","_object_without_properties_loose","configContext","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","undefined","staticImageData","default","concat","JSON","stringify","isLazy","startsWith","loadedImageURLs","has","blurComplete","setBlurComplete","useState","setIntersection","isIntersected","resetIntersected","useIntersection","rootRef","rootMargin","disabled","isVisible","wrapperStyle","boxSizing","display","overflow","background","opacity","border","margin","padding","sizerStyle","hasSizer","widthInt","getInt","heightInt","qualityInt","imgStyle","assign","position","top","left","bottom","right","minWidth","maxWidth","minHeight","maxHeight","blurStyle","backgroundSize","backgroundPosition","filter","backgroundImage","quotient","paddingTop","isNaN","imgAttributes","emptyDataURL","srcSet","generateImgAttrs","srcString","linkProps","imageSrcSet","crossOrigin","useLayoutEffect","_react","onLoadingCompleteRef","useRef","previousImageSrc","useEffect","current","imgElementArgs","noscriptSizes","createElement","Fragment","alt","ImageElement","_head","key","rel","as","href","Z","_interop_require_default","_interop_require_wildcard","_useIntersection","_normalizeTrailingSlash","normalizeSrc","slice","Set","loaders","Map","param","endsWith","dangerouslyAllowSVG","normalizePathTrailingSlash","path","encodeURIComponent","url","URL","params","searchParams","set","getAll","join","get","toString","paramsString","widths","kind","getWidths","viewportWidthRe","percentSizes","match","exec","parseInt","length","smallestRatio","Math","min","s","map","find","p","w","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","__esModule","__unused_webpack_exports"],"sourceRoot":""}