{"version":3,"file":"static/chunks/25675-0d3bfe24f08f66b1.js","sources":["webpack://_N_E/./node_modules/next/dist/client/image.js","webpack://_N_E/./node_modules/next/image.js"],"sourceRoot":"","sourcesContent":["\"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 _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 <img>:\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 <img>\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                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        // <Image src=\"i.png\" layout=\"fill\" />\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        // <Image src=\"i.png\" width=\"100\" height=\"100\" />\n        const quotient = heightInt / widthInt;\n        const paddingTop = isNaN(quotient) ? '100%' : `${quotient * 100}%`;\n        if (layout === 'responsive') {\n            // <Image src=\"i.png\" width=\"100\" height=\"100\" layout=\"responsive\" />\n            wrapperStyle.display = 'block';\n            wrapperStyle.position = 'relative';\n            hasSizer = true;\n            sizerStyle.paddingTop = paddingTop;\n        } else if (layout === 'intrinsic') {\n            // <Image src=\"i.png\" width=\"100\" height=\"100\" layout=\"intrinsic\" />\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            // <Image src=\"i.png\" width=\"100\" height=\"100\" layout=\"fixed\" />\n            wrapperStyle.display = 'inline-block';\n            wrapperStyle.position = 'relative';\n            wrapperStyle.width = widthInt;\n            wrapperStyle.height = heightInt;\n        }\n    } else {\n        // <Image src=\"i.png\" />\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        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'client';\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    global.__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, _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};\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/image')\n"],"names":["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","undefined","isStaticImageData","isStaticImport","staticImageData","Error","JSON","stringify","isLazy","startsWith","loadedImageURLs","has","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","imgStyle","assign","blurStyle","backgroundSize","backgroundPosition","filter","backgroundImage","quotient","paddingTop","isNaN","imgAttributes","emptyDataURL","srcSet","generateImgAttrs","srcString","imageSrcSetPropName","imageSizesPropName","linkProps","crossOrigin","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","normalizeSrc","slice","process","Set","Map","loaders","endsWith","dangerouslyAllowSVG","normalizePathTrailingSlash","path","encodeURIComponent","url","URL","params","searchParams","set","getAll","join","get","toString","paramsString","match","viewportWidthRe","percentSizes","exec","push","parseInt","length","smallestRatio","Math","min","widths","s","kind","map","w","find","p","getWidths","last","i","x","loaderProps","ref","loaderKey","load","VALID_LOADERS","handleLoading","img","decode","Promise","resolve","then","parentNode","add","naturalWidth","naturalHeight","onLoad","onError","decoding","useCallback","complete","event","currentTarget","__esModule","module"],"mappings":"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","debug_id":"5b0947d6-3caa-5651-92c3-3caabc7fd6c5"}