{"version":3,"file":"e082c069fc58370b4a7167d384ad758ef7db8c74-e8eb13b02b9a19dda112.js","mappings":"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","sources":["webpack://soyio-landing/./node_modules/camelcase/index.js","webpack://soyio-landing/./node_modules/fast-deep-equal/es6/react.js","webpack://soyio-landing/../src/image-utils.ts","webpack://soyio-landing/../src/components/hooks.ts","webpack://soyio-landing/../src/components/layout-wrapper.tsx","webpack://soyio-landing/../src/components/picture.tsx","webpack://soyio-landing/../src/components/placeholder.tsx","webpack://soyio-landing/../src/components/main-image.tsx","webpack://soyio-landing/../src/components/gatsby-image.server.tsx","webpack://soyio-landing/../src/components/gatsby-image.browser.tsx","webpack://soyio-landing/../src/components/static-image.server.tsx","webpack://soyio-landing/../src/components/static-image.tsx","webpack://soyio-landing/./node_modules/react-lottie-player/dist/LottiePlayer.modern.js","webpack://soyio-landing/./src/components/AnimatedLogo/index.js","webpack://soyio-landing/./src/components/Button/index.js","webpack://soyio-landing/./src/components/DynamicBackground/index.js","webpack://soyio-landing/./src/components/VisualEditing/index.js","webpack://soyio-landing/./src/components/Footer/index.js","webpack://soyio-landing/./src/components/StickyHeader/index.js","webpack://soyio-landing/./src/components/NoCookiesBanner/no-cookies.svg","webpack://soyio-landing/./src/components/NoCookiesBanner/close-x-exit.svg","webpack://soyio-landing/./src/components/NoCookiesBanner/index.js","webpack://soyio-landing/./src/components/Layout/index.js","webpack://soyio-landing/./src/components/MobileNavbar/index.js","webpack://soyio-landing/./src/components/NavLinks/index.js","webpack://soyio-landing/./src/components/Navbar/index.js","webpack://soyio-landing/./src/images/LogoDark.svg","webpack://soyio-landing/./src/images/Logo.svg","webpack://soyio-landing/./src/constants/links.js","webpack://soyio-landing/./src/hooks/useFathomEvent/index.js","webpack://soyio-landing/./node_modules/lodash.throttle/index.js","webpack://soyio-landing/./node_modules/react-scroll/modules/components/Button.js","webpack://soyio-landing/./node_modules/react-scroll/modules/components/Element.js","webpack://soyio-landing/./node_modules/react-scroll/modules/components/Link.js","webpack://soyio-landing/./node_modules/react-scroll/modules/index.js","webpack://soyio-landing/./node_modules/react-scroll/modules/mixins/Helpers.js","webpack://soyio-landing/./node_modules/react-scroll/modules/mixins/animate-scroll.js","webpack://soyio-landing/./node_modules/react-scroll/modules/mixins/cancel-events.js","webpack://soyio-landing/./node_modules/react-scroll/modules/mixins/passive-event-listeners.js","webpack://soyio-landing/./node_modules/react-scroll/modules/mixins/scroll-element.js","webpack://soyio-landing/./node_modules/react-scroll/modules/mixins/scroll-events.js","webpack://soyio-landing/./node_modules/react-scroll/modules/mixins/scroll-hash.js","webpack://soyio-landing/./node_modules/react-scroll/modules/mixins/scroll-link.js","webpack://soyio-landing/./node_modules/react-scroll/modules/mixins/scroll-spy.js","webpack://soyio-landing/./node_modules/react-scroll/modules/mixins/scroller.js","webpack://soyio-landing/./node_modules/react-scroll/modules/mixins/smooth.js","webpack://soyio-landing/./node_modules/react-scroll/modules/mixins/utils.js","webpack://soyio-landing/./node_modules/rfdc/default.js","webpack://soyio-landing/./node_modules/rfdc/index.js","webpack://soyio-landing/./node_modules/@sanity/visual-editing/dist/_chunks-es/enableVisualEditing.js"],"sourcesContent":["'use strict';\n\nconst UPPERCASE = /[\\p{Lu}]/u;\nconst LOWERCASE = /[\\p{Ll}]/u;\nconst LEADING_CAPITAL = /^[\\p{Lu}](?![\\p{Lu}])/gu;\nconst IDENTIFIER = /([\\p{Alpha}\\p{N}_]|$)/u;\nconst SEPARATORS = /[_.\\- ]+/;\n\nconst LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);\nconst SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');\nconst NUMBERS_AND_IDENTIFIER = new RegExp('\\\\d+' + IDENTIFIER.source, 'gu');\n\nconst preserveCamelCase = (string, toLowerCase, toUpperCase) => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && UPPERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst preserveConsecutiveUppercase = (input, toLowerCase) => {\n\tLEADING_CAPITAL.lastIndex = 0;\n\n\treturn input.replace(LEADING_CAPITAL, m1 => toLowerCase(m1));\n};\n\nconst postProcess = (input, toUpperCase) => {\n\tSEPARATORS_AND_IDENTIFIER.lastIndex = 0;\n\tNUMBERS_AND_IDENTIFIER.lastIndex = 0;\n\n\treturn input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier))\n\t\t.replace(NUMBERS_AND_IDENTIFIER, m => toUpperCase(m));\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = {\n\t\tpascalCase: false,\n\t\tpreserveConsecutiveUppercase: false,\n\t\t...options\n\t};\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tconst toLowerCase = options.locale === false ?\n\t\tstring => string.toLowerCase() :\n\t\tstring => string.toLocaleLowerCase(options.locale);\n\tconst toUpperCase = options.locale === false ?\n\t\tstring => string.toUpperCase() :\n\t\tstring => string.toLocaleUpperCase(options.locale);\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? toUpperCase(input) : toLowerCase(input);\n\t}\n\n\tconst hasUpperCase = input !== toLowerCase(input);\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input, toLowerCase, toUpperCase);\n\t}\n\n\tinput = input.replace(LEADING_SEPARATORS, '');\n\n\tif (options.preserveConsecutiveUppercase) {\n\t\tinput = preserveConsecutiveUppercase(input, toLowerCase);\n\t} else {\n\t\tinput = toLowerCase(input);\n\t}\n\n\tif (options.pascalCase) {\n\t\tinput = toUpperCase(input.charAt(0)) + input.slice(1);\n\t}\n\n\treturn postProcess(input, toUpperCase);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n var envHasBigInt64Array = typeof BigInt64Array !== 'undefined';\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n if ((a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n for (i of a.entries())\n if (!b.has(i[0])) return false;\n for (i of a.entries())\n if (!equal(i[1], b.get(i[0]))) return false;\n return true;\n }\n\n if ((a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n for (i of a.entries())\n if (!b.has(i[0])) return false;\n return true;\n }\n\n if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n continue;\n }\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","import camelCase from \"camelcase\"\nimport type { IGatsbyImageData } from \"./index\"\n\nconst DEFAULT_PIXEL_DENSITIES = [0.25, 0.5, 1, 2]\nexport const DEFAULT_BREAKPOINTS = [750, 1080, 1366, 1920]\nexport const EVERY_BREAKPOINT = [\n 320, 654, 768, 1024, 1366, 1600, 1920, 2048, 2560, 3440, 3840, 4096,\n]\nconst DEFAULT_FLUID_WIDTH = 800\nconst DEFAULT_FIXED_WIDTH = 800\nconst DEFAULT_ASPECT_RATIO = 4 / 3\n\nexport type Fit = \"cover\" | \"fill\" | \"inside\" | \"outside\" | \"contain\"\n\nexport type Layout = \"fixed\" | \"fullWidth\" | \"constrained\"\nexport type ImageFormat = \"jpg\" | \"png\" | \"webp\" | \"avif\" | \"auto\" | \"\"\n\n/**\n * The minimal required reporter, as we don't want to import it from gatsby-cli\n */\nexport interface IReporter {\n warn(message: string): void\n}\n\nexport interface ISharpGatsbyImageArgs {\n layout?: Layout\n formats?: Array\n placeholder?: \"tracedSVG\" | \"dominantColor\" | \"blurred\" | \"none\"\n tracedSVGOptions?: Record\n width?: number\n height?: number\n aspectRatio?: number\n sizes?: string\n quality?: number\n transformOptions?: {\n fit?: Fit\n cropFocus?: number | string\n duotone?: {\n highlight: string\n shadow: string\n opacity?: number\n }\n grayscale?: boolean\n rotate?: number\n trim?: number\n }\n jpgOptions?: Record\n pngOptions?: Record\n webpOptions?: Record\n avifOptions?: Record\n blurredOptions?: { width?: number; toFormat?: ImageFormat }\n breakpoints?: Array\n outputPixelDensities?: Array\n backgroundColor?: string\n}\n\nexport interface IImageSizeArgs {\n width?: number\n height?: number\n layout?: Layout\n filename: string\n outputPixelDensities?: Array\n breakpoints?: Array\n fit?: Fit\n reporter?: IReporter\n sourceMetadata: { width: number; height: number }\n}\n\nexport interface IImageSizes {\n sizes: Array\n presentationWidth: number\n presentationHeight: number\n aspectRatio: number\n unscaledWidth: number\n}\n\nexport interface IImage {\n src: string\n width: number\n height: number\n format: ImageFormat\n}\n\nexport interface IGatsbyImageHelperArgs {\n pluginName: string\n generateImageSource: (\n filename: string,\n width: number,\n height: number,\n format: ImageFormat,\n fit?: Fit,\n options?: Record\n ) => IImage\n layout?: Layout\n formats?: Array\n filename: string\n placeholderURL?: string\n width?: number\n height?: number\n sizes?: string\n reporter?: IReporter\n sourceMetadata?: { width: number; height: number; format: ImageFormat }\n fit?: Fit\n options?: Record\n breakpoints?: Array\n backgroundColor?: string\n aspectRatio?: number\n}\n\nconst warn = (message: string): void => console.warn(message)\n\nconst sortNumeric = (a: number, b: number): number => a - b\n\nexport const getSizes = (width: number, layout: Layout): string | undefined => {\n switch (layout) {\n // If screen is wider than the max size, image width is the max size,\n // otherwise it's the width of the screen\n case `constrained`:\n return `(min-width: ${width}px) ${width}px, 100vw`\n\n // Image is always the same width, whatever the size of the screen\n case `fixed`:\n return `${width}px`\n\n // Image is always the width of the screen\n case `fullWidth`:\n return `100vw`\n\n default:\n return undefined\n }\n}\n\nexport const getSrcSet = (images: Array): string =>\n images.map(image => `${image.src} ${image.width}w`).join(`,\\n`)\n\nexport function formatFromFilename(filename: string): ImageFormat | undefined {\n const dot = filename.lastIndexOf(`.`)\n if (dot !== -1) {\n const ext = filename.slice(dot + 1)\n if (ext === `jpeg`) {\n return `jpg`\n }\n if (ext.length === 3 || ext.length === 4) {\n return ext as ImageFormat\n }\n }\n return undefined\n}\n\nexport function setDefaultDimensions(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageHelperArgs {\n let {\n layout = `constrained`,\n width,\n height,\n sourceMetadata,\n breakpoints,\n aspectRatio,\n formats = [`auto`, `webp`],\n } = args\n formats = formats.map(format => format.toLowerCase() as ImageFormat)\n layout = camelCase(layout) as Layout\n\n if (width && height) {\n return { ...args, formats, layout, aspectRatio: width / height }\n }\n if (sourceMetadata.width && sourceMetadata.height && !aspectRatio) {\n aspectRatio = sourceMetadata.width / sourceMetadata.height\n }\n\n if (layout === `fullWidth`) {\n width = width || sourceMetadata.width || breakpoints[breakpoints.length - 1]\n height = height || Math.round(width / (aspectRatio || DEFAULT_ASPECT_RATIO))\n } else {\n if (!width) {\n if (height && aspectRatio) {\n width = height * aspectRatio\n } else if (sourceMetadata.width) {\n width = sourceMetadata.width\n } else if (height) {\n width = Math.round(height / DEFAULT_ASPECT_RATIO)\n } else {\n width = DEFAULT_FIXED_WIDTH\n }\n }\n\n if (aspectRatio && !height) {\n height = Math.round(width / aspectRatio)\n } else if (!aspectRatio) {\n aspectRatio = width / height\n }\n }\n return { ...args, width, height, aspectRatio, layout, formats }\n}\n\n/**\n * Use this for getting an image for the blurred placeholder. This ensures the\n * aspect ratio and crop match the main image\n */\nexport function getLowResolutionImageURL(\n args: IGatsbyImageHelperArgs,\n width = 20\n): string {\n args = setDefaultDimensions(args)\n const { generateImageSource, filename, aspectRatio } = args\n return generateImageSource(\n filename,\n width,\n Math.round(width / aspectRatio),\n args.sourceMetadata.format || `jpg`,\n args.fit,\n args.options\n )?.src\n}\n\nexport function generateImageData(\n args: IGatsbyImageHelperArgs\n): IGatsbyImageData {\n args = setDefaultDimensions(args)\n\n let {\n pluginName,\n sourceMetadata,\n generateImageSource,\n layout,\n fit,\n options,\n width,\n height,\n filename,\n reporter = { warn },\n backgroundColor,\n placeholderURL,\n } = args\n\n if (!pluginName) {\n reporter.warn(\n `[gatsby-plugin-image] \"generateImageData\" was not passed a plugin name`\n )\n }\n\n if (typeof generateImageSource !== `function`) {\n throw new Error(`generateImageSource must be a function`)\n }\n\n if (!sourceMetadata || (!sourceMetadata.width && !sourceMetadata.height)) {\n // No metadata means we let the CDN handle max size etc, aspect ratio etc\n sourceMetadata = {\n width,\n height,\n format: sourceMetadata?.format || formatFromFilename(filename) || `auto`,\n }\n } else if (!sourceMetadata.format) {\n sourceMetadata.format = formatFromFilename(filename)\n }\n\n const formats = new Set(args.formats)\n\n if (formats.size === 0 || formats.has(`auto`) || formats.has(``)) {\n formats.delete(`auto`)\n formats.delete(``)\n formats.add(sourceMetadata.format)\n }\n\n if (formats.has(`jpg`) && formats.has(`png`)) {\n reporter.warn(\n `[${pluginName}] Specifying both 'jpg' and 'png' formats is not supported. Using 'auto' instead`\n )\n if (sourceMetadata.format === `jpg`) {\n formats.delete(`png`)\n } else {\n formats.delete(`jpg`)\n }\n }\n\n const imageSizes = calculateImageSizes({ ...args, sourceMetadata })\n\n const result: IGatsbyImageData[\"images\"] = {\n sources: [],\n }\n\n let sizes = args.sizes\n if (!sizes) {\n sizes = getSizes(imageSizes.presentationWidth, layout)\n }\n\n formats.forEach(format => {\n const images = imageSizes.sizes\n .map(size => {\n const imageSrc = generateImageSource(\n filename,\n size,\n Math.round(size / imageSizes.aspectRatio),\n format,\n fit,\n options\n )\n if (\n !imageSrc?.width ||\n !imageSrc.height ||\n !imageSrc.src ||\n !imageSrc.format\n ) {\n reporter.warn(\n `[${pluginName}] The resolver for image ${filename} returned an invalid value.`\n )\n return undefined\n }\n return imageSrc\n })\n .filter(Boolean)\n\n if (format === `jpg` || format === `png` || format === `auto`) {\n const unscaled =\n images.find(img => img.width === imageSizes.unscaledWidth) || images[0]\n\n if (unscaled) {\n result.fallback = {\n src: unscaled.src,\n srcSet: getSrcSet(images),\n sizes,\n }\n }\n } else {\n result.sources?.push({\n srcSet: getSrcSet(images),\n sizes,\n type: `image/${format}`,\n })\n }\n })\n\n const imageProps: Partial = {\n images: result,\n layout,\n backgroundColor,\n }\n\n if (placeholderURL) {\n imageProps.placeholder = { fallback: placeholderURL }\n }\n\n switch (layout) {\n case `fixed`:\n imageProps.width = imageSizes.presentationWidth\n imageProps.height = imageSizes.presentationHeight\n break\n\n case `fullWidth`:\n imageProps.width = 1\n imageProps.height = 1 / imageSizes.aspectRatio\n break\n\n case `constrained`:\n imageProps.width = args.width || imageSizes.presentationWidth || 1\n imageProps.height = (imageProps.width || 1) / imageSizes.aspectRatio\n }\n\n return imageProps as IGatsbyImageData\n}\n\nconst dedupeAndSortDensities = (values: Array): Array =>\n Array.from(new Set([1, ...values])).sort(sortNumeric)\n\nexport function calculateImageSizes(args: IImageSizeArgs): IImageSizes {\n const {\n width,\n height,\n filename,\n layout = `constrained`,\n sourceMetadata: imgDimensions,\n reporter = { warn },\n breakpoints = DEFAULT_BREAKPOINTS,\n } = args\n\n // check that all dimensions provided are positive\n const userDimensions = { width, height }\n const erroneousUserDimensions = Object.entries(userDimensions).filter(\n ([_, size]) => typeof size === `number` && size < 1\n )\n if (erroneousUserDimensions.length) {\n throw new Error(\n `Specified dimensions for images must be positive numbers (> 0). Problem dimensions you have are ${erroneousUserDimensions\n .map(dim => dim.join(`: `))\n .join(`, `)}`\n )\n }\n\n if (layout === `fixed`) {\n return fixedImageSizes(args)\n } else if (layout === `constrained`) {\n return responsiveImageSizes(args)\n } else if (layout === `fullWidth`) {\n return responsiveImageSizes({ breakpoints, ...args })\n } else {\n reporter.warn(\n `No valid layout was provided for the image at ${filename}. Valid image layouts are fixed, fullWidth, and constrained. Found ${layout}`\n )\n return {\n sizes: [imgDimensions.width],\n presentationWidth: imgDimensions.width,\n presentationHeight: imgDimensions.height,\n aspectRatio: imgDimensions.width / imgDimensions.height,\n unscaledWidth: imgDimensions.width,\n }\n }\n}\nexport function fixedImageSizes({\n filename,\n sourceMetadata: imgDimensions,\n width,\n height,\n fit = `cover`,\n outputPixelDensities = DEFAULT_PIXEL_DENSITIES,\n reporter = { warn },\n}: IImageSizeArgs): IImageSizes {\n let aspectRatio = imgDimensions.width / imgDimensions.height\n // Sort, dedupe and ensure there's a 1\n const densities = dedupeAndSortDensities(outputPixelDensities)\n\n // If both are provided then we need to check the fit\n if (width && height) {\n const calculated = getDimensionsAndAspectRatio(imgDimensions, {\n width,\n height,\n fit,\n })\n width = calculated.width\n height = calculated.height\n aspectRatio = calculated.aspectRatio\n }\n\n if (!width) {\n if (!height) {\n width = DEFAULT_FIXED_WIDTH\n } else {\n width = Math.round(height * aspectRatio)\n }\n } else if (!height) {\n height = Math.round(width / aspectRatio)\n }\n\n const originalWidth = width // will use this for presentationWidth, don't want to lose it\n const isTopSizeOverriden =\n imgDimensions.width < width || imgDimensions.height < (height as number)\n\n // If the image is smaller than requested, warn the user that it's being processed as such\n // print out this message with the necessary information before we overwrite it for sizing\n if (isTopSizeOverriden) {\n const fixedDimension = imgDimensions.width < width ? `width` : `height`\n reporter.warn(`\nThe requested ${fixedDimension} \"${\n fixedDimension === `width` ? width : height\n }px\" for the image ${filename} was larger than the actual image ${fixedDimension} of ${\n imgDimensions[fixedDimension]\n }px. If possible, replace the current image with a larger one.`)\n\n if (fixedDimension === `width`) {\n width = imgDimensions.width\n height = Math.round(width / aspectRatio)\n } else {\n height = imgDimensions.height\n width = height * aspectRatio\n }\n }\n\n const sizes = densities\n .filter(size => size >= 1) // remove smaller densities because fixed images don't need them\n .map(density => Math.round(density * (width as number)))\n .filter(size => size <= imgDimensions.width)\n\n return {\n sizes,\n aspectRatio,\n presentationWidth: originalWidth,\n presentationHeight: Math.round(originalWidth / aspectRatio),\n unscaledWidth: width,\n }\n}\n\nexport function responsiveImageSizes({\n sourceMetadata: imgDimensions,\n width,\n height,\n fit = `cover`,\n outputPixelDensities = DEFAULT_PIXEL_DENSITIES,\n breakpoints,\n layout,\n}: IImageSizeArgs): IImageSizes {\n let sizes\n let aspectRatio = imgDimensions.width / imgDimensions.height\n // Sort, dedupe and ensure there's a 1\n const densities = dedupeAndSortDensities(outputPixelDensities)\n\n // If both are provided then we need to check the fit\n if (width && height) {\n const calculated = getDimensionsAndAspectRatio(imgDimensions, {\n width,\n height,\n fit,\n })\n width = calculated.width\n height = calculated.height\n aspectRatio = calculated.aspectRatio\n }\n\n // Case 1: width of height were passed in, make sure it isn't larger than the actual image\n width = width && Math.min(width, imgDimensions.width)\n height = height && Math.min(height, imgDimensions.height)\n\n // Case 2: neither width or height were passed in, use default size\n if (!width && !height) {\n width = Math.min(DEFAULT_FLUID_WIDTH, imgDimensions.width)\n height = width / aspectRatio\n }\n\n // if it still hasn't been found, calculate width from the derived height.\n // TS isn't smart enough to realise the type for height has been narrowed here\n if (!width) {\n width = (height as number) * aspectRatio\n }\n\n const originalWidth = width\n const isTopSizeOverriden =\n imgDimensions.width < width || imgDimensions.height < (height as number)\n if (isTopSizeOverriden) {\n width = imgDimensions.width\n height = imgDimensions.height\n }\n\n width = Math.round(width)\n\n if (breakpoints?.length > 0) {\n sizes = breakpoints.filter(size => size <= imgDimensions.width)\n\n // If a larger breakpoint has been filtered-out, add the actual image width instead\n if (\n sizes.length < breakpoints.length &&\n !sizes.includes(imgDimensions.width)\n ) {\n sizes.push(imgDimensions.width)\n }\n } else {\n sizes = densities.map(density => Math.round(density * (width as number)))\n sizes = sizes.filter(size => size <= imgDimensions.width)\n }\n\n // ensure that the size passed in is included in the final output\n if (layout === `constrained` && !sizes.includes(width)) {\n sizes.push(width)\n }\n sizes = sizes.sort(sortNumeric)\n return {\n sizes,\n aspectRatio,\n presentationWidth: originalWidth,\n presentationHeight: Math.round(originalWidth / aspectRatio),\n unscaledWidth: width,\n }\n}\n\nexport function getDimensionsAndAspectRatio(\n dimensions,\n options\n): { width: number; height: number; aspectRatio: number } {\n // Calculate the eventual width/height of the image.\n const imageAspectRatio = dimensions.width / dimensions.height\n\n let width = options.width\n let height = options.height\n\n switch (options.fit) {\n case `fill`: {\n width = options.width ? options.width : dimensions.width\n height = options.height ? options.height : dimensions.height\n break\n }\n case `inside`: {\n const widthOption = options.width\n ? options.width\n : Number.MAX_SAFE_INTEGER\n const heightOption = options.height\n ? options.height\n : Number.MAX_SAFE_INTEGER\n\n width = Math.min(widthOption, Math.round(heightOption * imageAspectRatio))\n height = Math.min(\n heightOption,\n Math.round(widthOption / imageAspectRatio)\n )\n break\n }\n case `outside`: {\n const widthOption = options.width ? options.width : 0\n const heightOption = options.height ? options.height : 0\n\n width = Math.max(widthOption, Math.round(heightOption * imageAspectRatio))\n height = Math.max(\n heightOption,\n Math.round(widthOption / imageAspectRatio)\n )\n break\n }\n\n default: {\n if (options.width && !options.height) {\n width = options.width\n height = Math.round(options.width / imageAspectRatio)\n }\n\n if (options.height && !options.width) {\n width = Math.round(options.height * imageAspectRatio)\n height = options.height\n }\n }\n }\n\n return {\n width,\n height,\n aspectRatio: width / height,\n }\n}\n","/* global GATSBY___IMAGE */\nimport { generateImageData, EVERY_BREAKPOINT } from \"../image-utils\"\nimport type { CSSProperties, HTMLAttributes, ImgHTMLAttributes } from \"react\"\nimport type { Node } from \"gatsby\"\nimport type { PlaceholderProps } from \"./placeholder\"\nimport type { MainImageProps } from \"./main-image\"\nimport type { IGatsbyImageData } from \"./gatsby-image.browser\"\nimport type {\n IGatsbyImageHelperArgs,\n Layout,\n IImage,\n ImageFormat,\n} from \"../image-utils\"\n\n// Native lazy-loading support: https://addyosmani.com/blog/lazy-loading/\nexport const hasNativeLazyLoadSupport = (): boolean =>\n typeof HTMLImageElement !== `undefined` &&\n `loading` in HTMLImageElement.prototype\n\nexport function gatsbyImageIsInstalled(): boolean {\n return typeof GATSBY___IMAGE !== `undefined` && GATSBY___IMAGE\n}\n\nexport type IGatsbyImageDataParent = T & {\n gatsbyImageData: IGatsbyImageData\n}\nexport type IGatsbyImageParent = T & {\n gatsbyImage: IGatsbyImageData\n}\nexport type FileNode = Partial & {\n childImageSharp?: IGatsbyImageDataParent>\n}\n\nconst isGatsbyImageData = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageData | any\n): node is IGatsbyImageData =>\n // 🦆 check for a deep prop to be sure this is a valid gatsbyImageData object\n Boolean(node?.images?.fallback?.src)\n\nconst isGatsbyImageDataParent = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageDataParent | any\n): node is IGatsbyImageDataParent => Boolean(node?.gatsbyImageData)\n\nconst isGatsbyImageParent = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n node: IGatsbyImageParent | any\n): node is IGatsbyImageParent => Boolean(node?.gatsbyImage)\n\nexport type ImageDataLike =\n | FileNode\n | IGatsbyImageDataParent\n | IGatsbyImageParent\n | IGatsbyImageData\n\nexport const getImage = (\n node: ImageDataLike | null\n): IGatsbyImageData | undefined => {\n // This checks both for gatsbyImageData and gatsbyImage\n if (isGatsbyImageData(node)) {\n return node\n }\n // gatsbyImageData GraphQL field\n if (isGatsbyImageDataParent(node)) {\n return node.gatsbyImageData\n }\n // gatsbyImage GraphQL field for Gatsby's Image CDN service\n if (isGatsbyImageParent(node)) {\n return node.gatsbyImage\n }\n return node?.childImageSharp?.gatsbyImageData\n}\n\nexport const getSrc = (node: ImageDataLike): string | undefined =>\n getImage(node)?.images?.fallback?.src\n\nexport const getSrcSet = (node: ImageDataLike): string | undefined =>\n getImage(node)?.images?.fallback?.srcSet\n\nexport function getWrapperProps(\n width: number,\n height: number,\n layout: Layout\n): Pick, \"className\" | \"style\"> & {\n \"data-gatsby-image-wrapper\": string\n} {\n const wrapperStyle: CSSProperties = {}\n\n let className = `gatsby-image-wrapper`\n\n // If the plugin isn't installed we need to apply the styles inline\n if (!gatsbyImageIsInstalled()) {\n wrapperStyle.position = `relative`\n wrapperStyle.overflow = `hidden`\n }\n\n if (layout === `fixed`) {\n wrapperStyle.width = width\n wrapperStyle.height = height\n } else if (layout === `constrained`) {\n if (!gatsbyImageIsInstalled()) {\n wrapperStyle.display = `inline-block`\n wrapperStyle.verticalAlign = `top`\n }\n className = `gatsby-image-wrapper gatsby-image-wrapper-constrained`\n }\n\n return {\n className,\n \"data-gatsby-image-wrapper\": ``,\n style: wrapperStyle,\n }\n}\n\nexport interface IUrlBuilderArgs {\n width: number\n height: number\n baseUrl: string\n format: ImageFormat\n options: OptionsType\n}\nexport interface IGetImageDataArgs> {\n baseUrl: string\n /**\n * For constrained and fixed images, the size of the image element\n */\n width?: number\n height?: number\n /**\n * If available, pass the source image width and height\n */\n sourceWidth?: number\n sourceHeight?: number\n /**\n * If only one dimension is passed, then this will be used to calculate the other.\n */\n aspectRatio?: number\n layout?: Layout\n /**\n * Returns a URL based on the passed arguments. Should be a pure function\n */\n urlBuilder: (args: IUrlBuilderArgs) => string\n\n /**\n * Should be a data URI\n */\n placeholderURL?: string\n backgroundColor?: string\n /**\n * Used in error messages etc\n */\n pluginName?: string\n\n /**\n * If you do not support auto-format, pass an array of image types here\n */\n formats?: Array\n\n breakpoints?: Array\n\n /**\n * Passed to the urlBuilder function\n */\n options?: OptionsType\n}\n\n/**\n * Use this hook to generate gatsby-plugin-image data in the browser.\n */\nexport function getImageData({\n baseUrl,\n urlBuilder,\n sourceWidth,\n sourceHeight,\n pluginName = `getImageData`,\n formats = [`auto`],\n breakpoints,\n options,\n ...props\n}: IGetImageDataArgs): IGatsbyImageData {\n if (\n !breakpoints?.length &&\n (props.layout === `fullWidth` || (props.layout as string) === `FULL_WIDTH`)\n ) {\n breakpoints = EVERY_BREAKPOINT\n }\n const generateImageSource = (\n baseUrl: string,\n width: number,\n height?: number,\n format?: ImageFormat\n ): IImage => {\n return {\n width,\n height,\n format,\n src: urlBuilder({ baseUrl, width, height, options, format }),\n }\n }\n\n const sourceMetadata: IGatsbyImageHelperArgs[\"sourceMetadata\"] = {\n width: sourceWidth,\n height: sourceHeight,\n format: `auto`,\n }\n\n const args: IGatsbyImageHelperArgs = {\n ...props,\n pluginName,\n generateImageSource,\n filename: baseUrl,\n formats,\n breakpoints,\n sourceMetadata,\n }\n return generateImageData(args)\n}\n\nexport function getMainProps(\n isLoading: boolean,\n isLoaded: boolean,\n images: IGatsbyImageData[\"images\"],\n loading?: \"eager\" | \"lazy\",\n style: CSSProperties = {}\n): Partial {\n // fallback when it's not configured in gatsby-config.\n if (!gatsbyImageIsInstalled()) {\n style = {\n height: `100%`,\n left: 0,\n position: `absolute`,\n top: 0,\n transform: `translateZ(0)`,\n transition: `opacity 250ms linear`,\n width: `100%`,\n willChange: `opacity`,\n ...style,\n }\n }\n\n const result = {\n ...images,\n loading,\n shouldLoad: isLoading,\n \"data-main-image\": ``,\n style: {\n ...style,\n opacity: isLoaded ? 1 : 0,\n },\n }\n\n return result\n}\n\nexport type PlaceholderImageAttrs = ImgHTMLAttributes &\n Pick & {\n \"data-placeholder-image\"?: string\n }\n\nexport function getPlaceholderProps(\n placeholder: PlaceholderImageAttrs | undefined,\n isLoaded: boolean,\n layout: Layout,\n width?: number,\n height?: number,\n backgroundColor?: string,\n objectFit?: CSSProperties[\"objectFit\"],\n objectPosition?: CSSProperties[\"objectPosition\"]\n): PlaceholderImageAttrs {\n const wrapperStyle: CSSProperties = {}\n\n if (backgroundColor) {\n wrapperStyle.backgroundColor = backgroundColor\n\n if (layout === `fixed`) {\n wrapperStyle.width = width\n wrapperStyle.height = height\n wrapperStyle.backgroundColor = backgroundColor\n wrapperStyle.position = `relative`\n } else if (layout === `constrained`) {\n wrapperStyle.position = `absolute`\n wrapperStyle.top = 0\n wrapperStyle.left = 0\n wrapperStyle.bottom = 0\n wrapperStyle.right = 0\n } else if (layout === `fullWidth`) {\n wrapperStyle.position = `absolute`\n wrapperStyle.top = 0\n wrapperStyle.left = 0\n wrapperStyle.bottom = 0\n wrapperStyle.right = 0\n }\n }\n\n if (objectFit) {\n wrapperStyle.objectFit = objectFit\n }\n\n if (objectPosition) {\n wrapperStyle.objectPosition = objectPosition\n }\n const result: PlaceholderImageAttrs = {\n ...placeholder,\n \"aria-hidden\": true,\n \"data-placeholder-image\": ``,\n style: {\n opacity: isLoaded ? 0 : 1,\n transition: `opacity 500ms linear`,\n ...wrapperStyle,\n },\n }\n\n // fallback when it's not configured in gatsby-config.\n if (!gatsbyImageIsInstalled()) {\n result.style = {\n height: `100%`,\n left: 0,\n position: `absolute`,\n top: 0,\n width: `100%`,\n }\n }\n\n return result\n}\n\nexport interface IArtDirectedImage {\n media: string\n image: IGatsbyImageData\n}\n\n/**\n * Generate a Gatsby image data object with multiple, art-directed images that display at different\n * resolutions.\n *\n * @param defaultImage The image displayed when no media query matches.\n * It is also used for all other settings applied to the image, such as width, height and layout.\n * You should pass a className to the component with media queries to adjust the size of the container,\n * as this cannot be adjusted automatically.\n * @param artDirected Array of objects which each contains a `media` string which is a media query\n * such as `(min-width: 320px)`, and the image object to use when that query matches.\n */\nexport function withArtDirection(\n defaultImage: IGatsbyImageData,\n artDirected: Array\n): IGatsbyImageData {\n const { images, placeholder, ...props } = defaultImage\n const output: IGatsbyImageData = {\n ...props,\n images: {\n ...images,\n sources: [],\n },\n placeholder: placeholder && {\n ...placeholder,\n sources: [],\n },\n }\n\n artDirected.forEach(({ media, image }) => {\n if (!media) {\n if (process.env.NODE_ENV === `development`) {\n console.warn(\n \"[gatsby-plugin-image] All art-directed images passed to must have a value set for `media`. Skipping.\"\n )\n }\n return\n }\n\n if (\n image.layout !== defaultImage.layout &&\n process.env.NODE_ENV === `development`\n ) {\n console.warn(\n `[gatsby-plugin-image] Mismatched image layout: expected \"${defaultImage.layout}\" but received \"${image.layout}\". All art-directed images use the same layout as the default image`\n )\n }\n\n output.images.sources.push(\n ...image.images.sources.map(source => {\n return { ...source, media }\n }),\n {\n media,\n srcSet: image.images.fallback.srcSet,\n }\n )\n\n if (!output.placeholder) {\n return\n }\n\n output.placeholder.sources.push({\n media,\n srcSet: image.placeholder.fallback,\n })\n })\n output.images.sources.push(...images.sources)\n if (placeholder?.sources) {\n output.placeholder?.sources.push(...placeholder.sources)\n }\n return output\n}\n","import React, { Fragment, FunctionComponent, PropsWithChildren } from \"react\"\nimport terserMacro from \"../../macros/terser.macro\"\nimport { Layout } from \"../image-utils\"\n\nexport interface ILayoutWrapperProps {\n layout: Layout\n width: number\n height: number\n}\n\nconst NativeScriptLoading: FunctionComponent = () => (\n \n)\n\nexport function getSizer(\n layout: Layout,\n width: number,\n height: number\n): string {\n let sizer = ``\n if (layout === `fullWidth`) {\n sizer = `
`\n }\n\n if (layout === `constrained`) {\n sizer = `
\"\"
`\n }\n\n return sizer\n}\n\nconst Sizer: FunctionComponent = function Sizer({\n layout,\n width,\n height,\n}) {\n if (layout === `fullWidth`) {\n return (\n
\n )\n }\n\n if (layout === `constrained`) {\n return (\n
\n \n
\n )\n }\n\n return null\n}\n\nexport const LayoutWrapper: FunctionComponent<\n PropsWithChildren\n> = function LayoutWrapper({ children, ...props }) {\n return (\n \n \n {children}\n\n {SERVER ? : null}\n \n )\n}\n","import React, { FunctionComponent, ImgHTMLAttributes } from \"react\"\nimport * as PropTypes from \"prop-types\"\n\nexport interface IResponsiveImageProps {\n sizes?: string\n srcSet: string\n}\n\nexport type SourceProps = IResponsiveImageProps &\n (\n | {\n media: string\n type?: string\n }\n | {\n media?: string\n type: string\n }\n )\n\ntype FallbackProps = { src: string } & Partial\n\ntype ImageProps = ImgHTMLAttributes & {\n src: string\n alt: string\n shouldLoad: boolean\n}\n\nexport type PictureProps = ImgHTMLAttributes & {\n fallback?: FallbackProps\n sources?: Array\n alt: string\n shouldLoad?: boolean\n}\n\nconst Image: FunctionComponent = function Image({\n src,\n srcSet,\n loading,\n alt = ``,\n shouldLoad,\n ...props\n}) {\n return (\n \n )\n}\n\nexport const Picture: React.FC = function Picture({\n fallback,\n sources = [],\n shouldLoad = true,\n ...props\n}) {\n const sizes = props.sizes || fallback?.sizes\n const fallbackImage = (\n \n )\n\n if (!sources.length) {\n return fallbackImage\n }\n\n return (\n \n {sources.map(({ media, srcSet, type }) => (\n \n ))}\n {fallbackImage}\n \n )\n}\n\nImage.propTypes = {\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string,\n shouldLoad: PropTypes.bool,\n}\n\nPicture.displayName = `Picture`\nPicture.propTypes = {\n alt: PropTypes.string.isRequired,\n shouldLoad: PropTypes.bool,\n fallback: PropTypes.exact({\n src: PropTypes.string.isRequired,\n srcSet: PropTypes.string,\n sizes: PropTypes.string,\n }),\n sources: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.exact({\n media: PropTypes.string.isRequired,\n type: PropTypes.string,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n PropTypes.exact({\n media: PropTypes.string,\n type: PropTypes.string.isRequired,\n sizes: PropTypes.string,\n srcSet: PropTypes.string.isRequired,\n }),\n ])\n ),\n}\n","import React, { FunctionComponent, ImgHTMLAttributes } from \"react\"\nimport * as PropTypes from \"prop-types\"\nimport { Picture, SourceProps } from \"./picture\"\n\nexport type PlaceholderProps = ImgHTMLAttributes & {\n fallback?: string\n sources?: Array\n}\n\nexport const Placeholder: FunctionComponent =\n function Placeholder({ fallback, ...props }) {\n if (fallback) {\n return (\n \n )\n } else {\n return
\n }\n }\n\nPlaceholder.displayName = `Placeholder`\nPlaceholder.propTypes = {\n fallback: PropTypes.string,\n sources: Picture.propTypes?.sources,\n alt: function (props, propName, componentName): Error | null {\n if (!props[propName]) {\n return null\n }\n\n return new Error(\n `Invalid prop \\`${propName}\\` supplied to \\`${componentName}\\`. Validation failed.`\n )\n },\n}\n","import React from \"react\"\nimport { Picture, PictureProps } from \"./picture\"\n\nexport type MainImageProps = PictureProps\n\nexport const MainImage: React.FC = function MainImage(props) {\n return (\n <>\n \n \n \n )\n}\n\nMainImage.displayName = `MainImage`\nMainImage.propTypes = Picture.propTypes\n","import React from \"react\"\nimport { getWrapperProps, getMainProps, getPlaceholderProps } from \"./hooks\"\nimport { Placeholder } from \"./placeholder\"\nimport { MainImage, MainImageProps } from \"./main-image\"\nimport { LayoutWrapper } from \"./layout-wrapper\"\nimport PropTypes from \"prop-types\"\nimport type { FunctionComponent, WeakValidationMap } from \"react\"\nimport type { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\n\nconst removeNewLines = (str: string): string => str.replace(/\\n/g, ``)\n\nexport const GatsbyImage: FunctionComponent =\n function GatsbyImage({\n as = `div`,\n className,\n class: preactClass,\n style,\n image,\n loading = `lazy`,\n imgClassName,\n imgStyle,\n backgroundColor,\n objectFit,\n objectPosition,\n ...props\n }) {\n if (!image) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n return null\n }\n\n if (preactClass) {\n className = preactClass\n }\n\n imgStyle = {\n objectFit,\n objectPosition,\n backgroundColor,\n ...imgStyle,\n }\n\n const {\n width,\n height,\n layout,\n images,\n placeholder,\n backgroundColor: placeholderBackgroundColor,\n } = image\n\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n\n const cleanedImages: IGatsbyImageData[\"images\"] = {\n fallback: undefined,\n sources: [],\n }\n if (images.fallback) {\n cleanedImages.fallback = {\n ...images.fallback,\n srcSet: images.fallback.srcSet\n ? removeNewLines(images.fallback.srcSet)\n : undefined,\n }\n }\n\n if (images.sources) {\n cleanedImages.sources = images.sources.map(source => {\n return {\n ...source,\n srcSet: removeNewLines(source.srcSet),\n }\n })\n }\n\n return React.createElement(\n as,\n {\n ...wrapperProps,\n style: {\n ...wStyle,\n ...style,\n backgroundColor,\n },\n className: `${wClass}${className ? ` ${className}` : ``}`,\n },\n \n \n\n )}\n // When eager is set we want to start the isLoading state on true (we want to load the img without react)\n {...getMainProps(\n loading === `eager`,\n false,\n cleanedImages,\n loading,\n imgStyle\n )}\n />\n \n )\n }\n\nexport const altValidator: PropTypes.Validator = (\n props: GatsbyImageProps,\n propName,\n componentName,\n ...rest\n): Error | undefined => {\n if (!props.alt && props.alt !== ``) {\n return new Error(\n `The \"alt\" prop is required in ${componentName}. If the image is purely presentational then pass an empty string: e.g. alt=\"\". Learn more: https://a11y-style-guide.com/style-guide/section-media.html`\n )\n }\n\n return PropTypes.string(props, propName, componentName, ...rest)\n}\n\nexport const propTypes = {\n image: PropTypes.object.isRequired,\n alt: altValidator,\n} as WeakValidationMap\n","import {\n createElement,\n memo,\n useMemo,\n useEffect,\n useLayoutEffect,\n useRef,\n} from \"react\"\nimport {\n getWrapperProps,\n gatsbyImageIsInstalled,\n hasNativeLazyLoadSupport,\n} from \"./hooks\"\nimport { getSizer } from \"./layout-wrapper\"\nimport { propTypes } from \"./gatsby-image.server\"\nimport type {\n FC,\n ElementType,\n FunctionComponent,\n ImgHTMLAttributes,\n CSSProperties,\n ReactEventHandler,\n} from \"react\"\nimport type { renderImageToString } from \"./lazy-hydrate\"\nimport type { PlaceholderProps } from \"./placeholder\"\nimport type { MainImageProps } from \"./main-image\"\nimport type { Layout } from \"../image-utils\"\n\nconst imageCache = new Set()\nlet renderImageToStringPromise\nlet renderImage: typeof renderImageToString | undefined\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport interface GatsbyImageProps\n extends Omit<\n ImgHTMLAttributes,\n \"placeholder\" | \"onLoad\" | \"src\" | \"srcSet\" | \"width\" | \"height\"\n > {\n alt: string\n as?: ElementType\n className?: string\n class?: string\n imgClassName?: string\n image: IGatsbyImageData\n imgStyle?: CSSProperties\n backgroundColor?: string\n objectFit?: CSSProperties[\"objectFit\"]\n objectPosition?: CSSProperties[\"objectPosition\"]\n onLoad?: (props: { wasCached: boolean }) => void\n onError?: ReactEventHandler\n onStartLoad?: (props: { wasCached: boolean }) => void\n}\n\nexport interface IGatsbyImageData {\n layout: Layout\n width: number\n height: number\n backgroundColor?: string\n images: Pick\n placeholder?: Pick\n}\n\nconst GatsbyImageHydrator: FC = function GatsbyImageHydrator({\n as = `div`,\n image,\n style,\n backgroundColor,\n className,\n class: preactClass,\n onStartLoad,\n onLoad,\n onError,\n ...props\n}) {\n const { width, height, layout } = image\n const {\n style: wStyle,\n className: wClass,\n ...wrapperProps\n } = getWrapperProps(width, height, layout)\n const root = useRef()\n const cacheKey = useMemo(() => JSON.stringify(image.images), [image.images])\n\n // Preact uses class instead of className so we need to check for both\n if (preactClass) {\n className = preactClass\n }\n\n const sizer = getSizer(layout, width, height)\n\n useEffect(() => {\n if (!renderImageToStringPromise) {\n renderImageToStringPromise = import(`./lazy-hydrate`).then(\n ({ renderImageToString, swapPlaceholderImage }) => {\n renderImage = renderImageToString\n\n return {\n renderImageToString,\n swapPlaceholderImage,\n }\n }\n )\n }\n\n // The plugin image component is a bit special where if it's server-side rendered, we add extra script tags to support lazy-loading without\n // In this case we stop hydration but fire the correct events.\n const ssrImage = root.current.querySelector(\n `[data-gatsby-image-ssr]`\n ) as HTMLImageElement\n if (ssrImage && hasNativeLazyLoadSupport()) {\n if (ssrImage.complete) {\n // Trigger onStartload and onLoad events\n onStartLoad?.({\n wasCached: true,\n })\n onLoad?.({\n wasCached: true,\n })\n\n // remove ssr key for state updates but add delay to not fight with native code snippt of gatsby-ssr\n setTimeout(() => {\n ssrImage.removeAttribute(`data-gatsby-image-ssr`)\n }, 0)\n } else {\n onStartLoad?.({\n wasCached: true,\n })\n\n ssrImage.addEventListener(`load`, function onLoadListener() {\n ssrImage.removeEventListener(`load`, onLoadListener)\n\n onLoad?.({\n wasCached: true,\n })\n // remove ssr key for state updates but add delay to not fight with native code snippt of gatsby-ssr\n setTimeout(() => {\n ssrImage.removeAttribute(`data-gatsby-image-ssr`)\n }, 0)\n })\n }\n\n imageCache.add(cacheKey)\n\n return\n }\n\n if (renderImage && imageCache.has(cacheKey)) {\n return\n }\n\n let animationFrame\n let cleanupCallback\n renderImageToStringPromise.then(\n ({ renderImageToString, swapPlaceholderImage }) => {\n if (!root.current) {\n return\n }\n\n root.current.innerHTML = renderImageToString({\n isLoading: true,\n isLoaded: imageCache.has(cacheKey),\n image,\n ...props,\n })\n\n if (!imageCache.has(cacheKey)) {\n animationFrame = requestAnimationFrame(() => {\n if (root.current) {\n cleanupCallback = swapPlaceholderImage(\n root.current,\n cacheKey,\n imageCache,\n style,\n onStartLoad,\n onLoad,\n onError\n )\n }\n })\n }\n }\n )\n\n // eslint-disable-next-line consistent-return\n return (): void => {\n if (animationFrame) {\n cancelAnimationFrame(animationFrame)\n }\n if (cleanupCallback) {\n cleanupCallback()\n }\n }\n }, [image])\n\n // useLayoutEffect is ran before React commits to the DOM. This allows us to make sure our HTML is using our cached image version\n useLayoutEffect(() => {\n if (imageCache.has(cacheKey) && renderImage) {\n root.current.innerHTML = renderImage({\n isLoading: imageCache.has(cacheKey),\n isLoaded: imageCache.has(cacheKey),\n image,\n ...props,\n })\n\n // Trigger onStartload and onLoad events\n onStartLoad?.({\n wasCached: true,\n })\n onLoad?.({\n wasCached: true,\n })\n }\n }, [image])\n\n // By keeping all props equal React will keep the component in the DOM\n return createElement(as, {\n ...wrapperProps,\n style: {\n ...wStyle,\n ...style,\n backgroundColor,\n },\n className: `${wClass}${className ? ` ${className}` : ``}`,\n ref: root,\n dangerouslySetInnerHTML: {\n __html: sizer,\n },\n suppressHydrationWarning: true,\n })\n}\n\nexport const GatsbyImage: FunctionComponent = memo(\n function GatsbyImage(props) {\n if (!props.image) {\n if (process.env.NODE_ENV === `development`) {\n console.warn(`[gatsby-plugin-image] Missing image prop`)\n }\n\n return null\n }\n\n if (!gatsbyImageIsInstalled() && process.env.NODE_ENV === `development`) {\n console.warn(\n `[gatsby-plugin-image] You're missing out on some cool performance features. Please add \"gatsby-plugin-image\" to your gatsby-config.js`\n )\n }\n\n return createElement(GatsbyImageHydrator, props)\n }\n)\n\nGatsbyImage.propTypes = propTypes\nGatsbyImage.displayName = `GatsbyImage`\n","import React, { FunctionComponent, ReactElement } from \"react\"\nimport {\n altValidator,\n GatsbyImage as GatsbyImageServer,\n} from \"./gatsby-image.server\"\nimport { GatsbyImageProps, IGatsbyImageData } from \"./gatsby-image.browser\"\nimport PropTypes from \"prop-types\"\nimport { ISharpGatsbyImageArgs } from \"../image-utils\"\n\nexport interface IStaticImageProps\n extends Omit,\n Omit {\n src: string\n filename?: string\n}\n\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nexport function _getStaticImage(\n GatsbyImage: FunctionComponent\n): React.FC {\n return function StaticImage({\n src,\n __imageData: imageData,\n __error,\n // We extract these because they're not meant to be passed-down to GatsbyImage\n /* eslint-disable @typescript-eslint/no-unused-vars */\n width,\n height,\n aspectRatio,\n tracedSVGOptions,\n placeholder,\n formats,\n quality,\n transformOptions,\n jpgOptions,\n pngOptions,\n webpOptions,\n avifOptions,\n blurredOptions,\n breakpoints,\n outputPixelDensities,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ...props\n }): ReactElement {\n if (__error) {\n console.warn(__error)\n }\n\n if (imageData) {\n return \n }\n console.warn(`Image not loaded`, src)\n if (!__error && process.env.NODE_ENV === `development`) {\n console.warn(\n `Please ensure that \"gatsby-plugin-image\" is included in the plugins array in gatsby-config.js, and that your version of gatsby is at least 2.24.78`\n )\n }\n return null\n }\n}\n\nconst StaticImage: React.FC =\n _getStaticImage(GatsbyImageServer)\n\nconst checkDimensionProps: PropTypes.Validator = (\n props: IStaticImageProps & IPrivateProps,\n propName: keyof IStaticImageProps & IPrivateProps,\n ...rest\n) => {\n if (\n props.layout === `fullWidth` &&\n (propName === `width` || propName === `height`) &&\n props[propName]\n ) {\n return new Error(\n `\"${propName}\" ${props[propName]} may not be passed when layout is fullWidth.`\n )\n }\n return PropTypes.number(props, propName, ...rest)\n}\n\nconst validLayouts = new Set([`fixed`, `fullWidth`, `constrained`])\n\nexport const propTypes = {\n src: PropTypes.string.isRequired,\n alt: altValidator,\n width: checkDimensionProps,\n height: checkDimensionProps,\n sizes: PropTypes.string,\n layout: (props: IStaticImageProps & IPrivateProps): Error | undefined => {\n if (props.layout === undefined) {\n return undefined\n }\n if (validLayouts.has(props.layout)) {\n return undefined\n }\n\n return new Error(\n `Invalid value ${props.layout}\" provided for prop \"layout\". Defaulting to \"constrained\". Valid values are \"fixed\", \"fullWidth\" or \"constrained\".`\n )\n },\n}\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","import {\n GatsbyImage as GatsbyImageBrowser,\n IGatsbyImageData,\n} from \"./gatsby-image.browser\"\nimport React from \"react\"\nimport {\n _getStaticImage,\n propTypes,\n IStaticImageProps,\n} from \"./static-image.server\"\n// These values are added by Babel. Do not add them manually\ninterface IPrivateProps {\n __imageData?: IGatsbyImageData\n __error?: string\n}\n\nconst StaticImage: React.FC =\n _getStaticImage(GatsbyImageBrowser)\n\nStaticImage.displayName = `StaticImage`\nStaticImage.propTypes = propTypes\n\nexport { StaticImage }\n","import lottie from 'lottie-web';\nimport React, { memo, forwardRef, useRef, useCallback, useState, useEffect } from 'react';\nimport equal from 'fast-deep-equal/es6/react';\nimport clone from 'rfdc/default';\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\n\nvar emptyObject = {};\nvar noOp = function noOp() {\n return undefined;\n};\nvar makeLottiePlayer = function makeLottiePlayer(_ref) {\n var loadAnimation = _ref.loadAnimation;\n var Lottie = memo(forwardRef(function (params, forwardedRef) {\n var _params$play = params.play,\n play = _params$play === void 0 ? null : _params$play,\n _params$speed = params.speed,\n speed = _params$speed === void 0 ? 1 : _params$speed,\n _params$direction = params.direction,\n direction = _params$direction === void 0 ? 1 : _params$direction,\n _params$segments = params.segments,\n segmentsIn = _params$segments === void 0 ? null : _params$segments,\n _params$goTo = params.goTo,\n goTo = _params$goTo === void 0 ? null : _params$goTo,\n _params$useSubframes = params.useSubframes,\n useSubframes = _params$useSubframes === void 0 ? true : _params$useSubframes,\n _params$renderer = params.renderer,\n renderer = _params$renderer === void 0 ? 'svg' : _params$renderer,\n _params$loop = params.loop,\n loop = _params$loop === void 0 ? true : _params$loop,\n _params$rendererSetti = params.rendererSettings,\n rendererSettingsIn = _params$rendererSetti === void 0 ? emptyObject : _params$rendererSetti,\n audioFactory = params.audioFactory,\n _params$onLoad = params.onLoad,\n onLoad = _params$onLoad === void 0 ? noOp : _params$onLoad,\n _params$onComplete = params.onComplete,\n onComplete = _params$onComplete === void 0 ? noOp : _params$onComplete,\n _params$onLoopComplet = params.onLoopComplete,\n onLoopComplete = _params$onLoopComplet === void 0 ? noOp : _params$onLoopComplet,\n _params$onEnterFrame = params.onEnterFrame,\n onEnterFrame = _params$onEnterFrame === void 0 ? noOp : _params$onEnterFrame,\n _params$onSegmentStar = params.onSegmentStart,\n onSegmentStart = _params$onSegmentStar === void 0 ? noOp : _params$onSegmentStar,\n props = _objectWithoutPropertiesLoose(params, [\"play\", \"speed\", \"direction\", \"segments\", \"goTo\", \"useSubframes\", \"renderer\", \"loop\", \"rendererSettings\", \"audioFactory\", \"onLoad\", \"onComplete\", \"onLoopComplete\", \"onEnterFrame\", \"onSegmentStart\"]);\n var propsFiltered = props;\n var animationData;\n var path;\n if ('animationData' in props) {\n var _props = props;\n animationData = _props.animationData;\n propsFiltered = _objectWithoutPropertiesLoose(_props, [\"animationData\"]);\n }\n if ('path' in props) {\n var _props2 = props;\n path = _props2.path;\n propsFiltered = _objectWithoutPropertiesLoose(_props2, [\"path\"]);\n }\n var animElementRef = useRef(null);\n var animRef = useRef();\n var getAnim = useCallback(function () {\n if (animRef.current == null) throw new Error('Lottie ref is not set');\n return animRef.current;\n }, []);\n var _useState = useState(false),\n ready = _useState[0],\n setReady = _useState[1];\n var _useState2 = useState(segmentsIn),\n segments = _useState2[0],\n setSegments = _useState2[1];\n useEffect(function () {\n if (!equal(segments, segmentsIn)) setSegments(segmentsIn);\n }, [segmentsIn, segments]);\n var _useState3 = useState(rendererSettingsIn),\n rendererSettings = _useState3[0],\n setRendererSettings = _useState3[1];\n useEffect(function () {\n if (!equal(rendererSettings, rendererSettingsIn)) setRendererSettings(rendererSettingsIn);\n }, [rendererSettingsIn, rendererSettings]);\n useEffect(function () {\n return function () {\n return getAnim().removeEventListener('complete', onComplete);\n };\n }, [getAnim, onComplete]);\n useEffect(function () {\n return function () {\n return getAnim().removeEventListener('loopComplete', onLoopComplete);\n };\n }, [getAnim, onLoopComplete]);\n useEffect(function () {\n return function () {\n return getAnim().removeEventListener('enterFrame', onEnterFrame);\n };\n }, [getAnim, onEnterFrame]);\n useEffect(function () {\n return function () {\n return getAnim().removeEventListener('segmentStart', onSegmentStart);\n };\n }, [getAnim, onSegmentStart]);\n useEffect(function () {\n return function () {\n return getAnim().removeEventListener('DOMLoaded', onLoad);\n };\n }, [getAnim, onLoad]);\n var setLottieRefs = useCallback(function (newRef) {\n animRef.current = newRef;\n if (typeof forwardedRef === 'function') {\n forwardedRef(newRef);\n } else if (forwardedRef !== undefined && forwardedRef !== null) {\n forwardedRef.current = newRef;\n }\n }, [forwardedRef]);\n useEffect(function () {\n function parseAnimationData() {\n if (animationData == null || typeof animationData !== 'object') return animationData;\n if ('default' in animationData && typeof animationData[\"default\"] === 'object') {\n return clone(animationData[\"default\"]);\n }\n return clone(animationData);\n }\n if (animElementRef.current == null) throw new Error('animElementRef is not set');\n var lottie = loadAnimation(_extends({\n animationData: parseAnimationData(),\n path: path,\n container: animElementRef.current,\n renderer: renderer,\n loop: false,\n autoplay: false,\n rendererSettings: rendererSettings\n }, audioFactory ? {\n audioFactory: audioFactory\n } : {}));\n setLottieRefs(lottie);\n var onDomLoaded = function onDomLoaded() {\n return setReady(true);\n };\n getAnim().addEventListener('DOMLoaded', onDomLoaded);\n return function () {\n getAnim().removeEventListener('DOMLoaded', onDomLoaded);\n setReady(false);\n getAnim().destroy();\n setLottieRefs(undefined);\n };\n }, [loop, renderer, rendererSettings, animationData, path, audioFactory, setLottieRefs, getAnim]);\n useEffect(function () {\n getAnim().addEventListener('DOMLoaded', onLoad);\n }, [getAnim, onLoad]);\n useEffect(function () {\n getAnim().addEventListener('complete', onComplete);\n }, [getAnim, onComplete]);\n useEffect(function () {\n getAnim().addEventListener('loopComplete', onLoopComplete);\n }, [getAnim, onLoopComplete]);\n useEffect(function () {\n getAnim().addEventListener('enterFrame', onEnterFrame);\n }, [getAnim, onEnterFrame]);\n useEffect(function () {\n getAnim().addEventListener('segmentStart', onSegmentStart);\n }, [getAnim, onSegmentStart]);\n useEffect(function () {\n if (!ready) return;\n getAnim().loop = loop;\n }, [ready, loop, getAnim]);\n var wasPlayingSegmentsRef = useRef(false);\n useEffect(function () {\n if (!ready) return;\n function playReverse(lastFrame) {\n getAnim().goToAndPlay(lastFrame, true);\n getAnim().setDirection(direction);\n }\n if (play === true) {\n var force = true;\n if (segments) {\n getAnim().playSegments(segments, force);\n wasPlayingSegmentsRef.current = true;\n if (direction === -1) {\n var lastFrame = typeof segments[1] === 'number' ? segments[1] : segments[1][1];\n playReverse(lastFrame);\n }\n } else {\n if (wasPlayingSegmentsRef.current) getAnim().resetSegments(force);\n wasPlayingSegmentsRef.current = false;\n if (direction === -1) {\n var _lastFrame = getAnim().getDuration(true);\n playReverse(_lastFrame);\n } else {\n getAnim().play();\n }\n }\n } else if (play === false) {\n getAnim().pause();\n }\n }, [play, segments, ready, direction, getAnim]);\n useEffect(function () {\n if (!ready) return;\n if (Number.isNaN(speed)) return;\n getAnim().setSpeed(speed);\n }, [speed, ready, getAnim]);\n useEffect(function () {\n if (!ready) return;\n getAnim().setDirection(direction);\n }, [direction, getAnim, ready]);\n useEffect(function () {\n if (!ready) return;\n if (goTo == null) return;\n var isFrame = true;\n if (play) getAnim().goToAndPlay(goTo, isFrame);else getAnim().goToAndStop(goTo, isFrame);\n }, [getAnim, goTo, play, ready]);\n useEffect(function () {\n if (getAnim().setSubframe) getAnim().setSubframe(useSubframes);\n }, [getAnim, useSubframes]);\n return (\n /*#__PURE__*/\n React.createElement(\"div\", _extends({}, propsFiltered, {\n ref: animElementRef\n }))\n );\n }));\n return Lottie;\n};\n\nvar LottiePlayer = makeLottiePlayer(lottie);\n\nexport default LottiePlayer;\n//# sourceMappingURL=LottiePlayer.modern.js.map\n","import React, { useState, useEffect } from 'react';\nimport Lottie from 'react-lottie-player';\nimport * as logoAnimationData from './Logo-Soyio.json';\n\nconst AnimatedLogo = ({ playerRef, play }) => {\n const [isPlaying, setIsPlaying] = useState(play || false);\n const [direction, setDirection] = useState(1);\n\n useEffect(() => {\n setTimeout(() => {\n setIsPlaying(play || false);\n }, 1000);\n }, [play]);\n\n const handleComplete = () => {\n if(direction === -1) {\n setDirection(1);\n setIsPlaying(false);\n setTimeout(() => {\n setIsPlaying(true);\n }, 4000);\n } else {\n setDirection(-1);\n setIsPlaying(true);\n }\n }\n\n return (\n \n );\n};\n\nexport default AnimatedLogo;\n","import React from 'react';\n\nimport './_styles.scss';\n\nexport default function Button({\n label,\n className,\n children,\n size = 'lg',\n color = 'indigo',\n ...props\n}) {\n const Component = props.href ? 'a' : 'button';\n const classNames = [\n 'button',\n className,\n `button--${size}`,\n `button--${color}`,\n ].join(' ');\n\n return (\n \n {children || label}\n \n );\n}\n","import React, { useEffect, useRef, useState, useCallback, useMemo, memo } from 'react'\n\nimport './_styles.scss'\n\nconst isBrowser = typeof window !== \"undefined\"\n\nconst circleBaseRadius = 60;\n\nfunction getRandomArbitrary(min, max) {\n return Math.random() * (max - min) + min;\n}\n\nconst createCircle = (circles, color) => {\n if(isBrowser){\n circles.push({\n x: Math.random() * window.innerWidth,\n y: -(circleBaseRadius * getRandomArbitrary(2, 15)),\n radius: circleBaseRadius * getRandomArbitrary(2, 15),\n color: color,\n speedX: (1 + Math.random() * 3) * (Math.round(Math.random()) * 2 - 1),\n speedY: (1 + Math.random() * 3) * (Math.round(Math.random()) * 2 - 1)\n })\n }\n}\n\nfunction DynamicBackground({mutedBg, ...props}) {\n const { width = '100%', height = '100%', ...rest } = props;\n const canvasRef = useRef(null);\n const [context, setContext] = useState(null);\n\n const resizeCanvas = (context) => {\n\t\tconst canvas = context.canvas;\n\t\tconst { width, height } = canvas.getBoundingClientRect();\n\n\t\tif (isBrowser && (canvas.width !== width || canvas.height !== height)) {\n\t\t\tconst { devicePixelRatio: ratio = 1 } = window;\n\t\t\tcanvas.width = width * ratio;\n\t\t\tcanvas.height = height * ratio;\n\t\t\tcontext.scale(ratio, ratio);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\n const circles = useMemo(() => {\n const circlesArray = [];\n createCircle(circlesArray, \"#0091ff\");\n createCircle(circlesArray, \"#0091ff\");\n createCircle(circlesArray, \"#393cff\");\n createCircle(circlesArray, \"#87cbff\");\n createCircle(circlesArray, \"#858dff\");\n createCircle(circlesArray, \"#858dff\");\n createCircle(circlesArray, \"#858dff\");\n createCircle(circlesArray, \"#004585\");\n createCircle(circlesArray, \"#b17dff\");\n createCircle(circlesArray, \"#0091ff\");\n createCircle(circlesArray, \"#0091ff\");\n createCircle(circlesArray, \"#87cbff\");\n createCircle(circlesArray, \"#87cbff\");\n createCircle(circlesArray, \"#858dff\");\n createCircle(circlesArray, \"#b17dff\");\n createCircle(circlesArray, \"#b17dff\");\n return circlesArray;\n }, []);\n\n const draw = useCallback(() => {\n const canvas = context.canvas;\n context.clearRect(0, 0, canvas.width, canvas.height); // Clear the canvas\n\n // Update and draw each circle\n for(let i = 0; i < circles.length; i++){\n let circle = circles[i];\n circle.y += circle.speedY; // Update position\n circle.x += circle.speedX; // Update position\n\n // Reset position if it goes beyond the canvas\n if (circle.y - circle.radius > canvas.height) circle.y = -circle.radius * 2;\n if (circle.x - circle.radius > canvas.width) circle.x = -circle.radius * 2;\n if (circle.speedX < 0 && circle.x + circle.radius * 2 < 0) circle.x = canvas.width + circle.radius;\n if (circle.speedY < 0 && circle.y + circle.radius * 2 < 0) circle.y = canvas.height + circle.radius;\n\n // Draw the circle\n context.beginPath()\n context.fillStyle = circle.color;\n context.arc(circle.x, circle.y, circle.radius, 0, 2 * Math.PI);\n context.fill();\n }\n }, [context, circles]);\n\n useEffect(() => {\n if (canvasRef.current) {\n const canvas = canvasRef.current;\n const ctx = canvas.getContext(\"2d\");\n setContext(ctx);\n }\n },[])\n\n useEffect(() => {\n let animationFrameId;\n\n // Check if null context has been replaced on component mount\n if (context) {\n const render = () => {\n resizeCanvas(context);\n draw();\n if(isBrowser) {\n animationFrameId = window.requestAnimationFrame(render);\n }\n };\n render();\n }\n\n return () => {\n if(isBrowser) window.cancelAnimationFrame(animationFrameId);\n };\n }, [context, draw]);\n\n\n return (\n <>\n \n \n \n )\n}\n\nexport default memo(DynamicBackground);\n","import {useEffect} from 'react'\n\nimport { enableVisualEditing } from '@sanity/visual-editing'\n\nexport default function VisualEditing() {\n useEffect(() => {\n const disable = enableVisualEditing({\n // history: {} // recommended, integrate your router here so it works with the URL bar in Presentation\n zIndex: 1000, // optional\n })\n return () => disable()\n }, [])\n\n return null\n}\n","import React from 'react'\nimport { StaticImage } from 'gatsby-plugin-image'\nimport './_styles.scss'\nimport { TYPEFORM_URL } from \"../../constants/links\"\n\nconst LINKS = [\n {\n label: 'Docs',\n href: 'https://docs.soyio.id',\n },\n {\n label: 'Blog',\n href: '/blog',\n },\n {\n label: 'Privacidad',\n href: '/legal/politicas-de-privacidad',\n },\n]\n\nexport default function Footer() {\n return (\n
\n
\n \n
\n
\n
\n \n \n\n
\n
\n

2024-2025 Soyio US. LLC

\n
\n\n
\n \n
\n \n \n \n \n \n \n
\n
\n
\n
\n
\n )\n}\n","import React, { useState, useEffect, useRef } from 'react';\nimport { Link } from 'gatsby';\nimport { Link as ScrollLink } from 'react-scroll';\nimport MobileNavbar from '../MobileNavbar';\n\nimport './_styles.scss';\nimport Button from '../Button';\nimport NavLinks from '../NavLinks';\nimport { TYPEFORM_URL } from \"../../constants/links\";\n\nimport AnimatedLogo from '../AnimatedLogo';\n\nexport default function StickyHeader({ linkToHome }) {\n const [isVisible, setIsVisible] = useState(false);\n const playerRef = useRef(null);\n\n useEffect(() => {\n const handleScroll = () => {\n const heroHeight = window.innerHeight - 120; // Subtract navbar height\n const scrollPosition = window.scrollY;\n\n if(scrollPosition > heroHeight) {\n setIsVisible(true);\n } else {\n setIsVisible(false);\n }\n };\n\n window.addEventListener('scroll', handleScroll);\n return () => window.removeEventListener('scroll', handleScroll);\n }, []);\n\n const LogoWrapper = linkToHome ? (\n \n \n \n ) : (\n \n \n \n );\n\n return (\n
\n \n
\n {LogoWrapper}\n \n \n
\n
\n );\n}\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjMiIGhlaWdodD0iMjMiIHZpZXdCb3g9IjAgMCAyMyAyMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTEuNSIgY3k9IjExLjUiIHI9IjEwLjUiIGZpbGw9IiM3MzY3QjgiIHN0cm9rZT0iIzJEMjM2RSIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxwYXRoIGQ9Ik0xNy42MjE1IDEwLjY4MDlDMTcuNTA0OCAxMC41ODc3IDE3LjM2ODUgMTAuNTIxOSAxNy4yMjI5IDEwLjQ4ODVDMTcuMDc3MiAxMC40NTUxIDE2LjkyNTkgMTAuNDU1IDE2Ljc4MDIgMTAuNDg4MUMxNi41NjIxIDEwLjUzNzQgMTYuMzM1NyAxMC41MzcyIDE2LjExNzcgMTAuNDg3N0MxNS44OTk2IDEwLjQzODIgMTUuNjk1NCAxMC4zNDA1IDE1LjUyIDEwLjIwMThDMTUuMzQ0NSAxMC4wNjMyIDE1LjIwMjMgOS44ODcwNSAxNS4xMDM4IDkuNjg2MzNDMTUuMDA1MiA5LjQ4NTYyIDE0Ljk1MjggOS4yNjU0IDE0Ljk1MDMgOS4wNDE4MUMxNC45NDkxIDguNzc5MDUgMTQuODQ0MiA4LjUyNzM5IDE0LjY1ODQgOC4zNDE1OEMxNC40NzI2IDguMTU1NzcgMTQuMjIxIDguMDUwODQgMTMuOTU4MiA4LjA0OTYyQzEzLjczNDYgOC4wNDcxOCAxMy41MTQ0IDcuOTk0NzYgMTMuMzEzNyA3Ljg5NjJDMTMuMTEyOSA3Ljc5NzY1IDEyLjkzNjggNy42NTU0NCAxMi43OTgxIDcuNDgwMDFDMTIuNjU5NSA3LjMwNDU3IDEyLjU2MTggNy4xMDAzNSAxMi41MTIzIDYuODgyMjlDMTIuNDYyOCA2LjY2NDIyIDEyLjQ2MjYgNi40Mzc4NSAxMi41MTE5IDYuMjE5NzNDMTIuNTQ0NiA2LjA3MzY3IDEyLjU0NDIgNS45MjIxMyAxMi41MTA2IDUuNzc2MjdDMTIuNDc3IDUuNjMwNDEgMTIuNDExMSA1LjQ5Mzk1IDEyLjMxNzggNS4zNzY5MkMxMi4yMjQ0IDUuMjU5OSAxMi4xMDYgNS4xNjUzIDExLjk3MTMgNS4xMDAwOUMxMS44MzY2IDUuMDM0ODggMTEuNjg5IDUuMDAwNzIgMTEuNTM5MyA1LjAwMDEyQzExLjUyNTcgNS4wMDAwNiAxMS41MTI0IDUgMTEuNDk4OCA1QzEwLjIxMTYgNS4wMDAyMyA4Ljk1MzQyIDUuMzgyNjYgNy44ODM3OCA2LjA5ODhDNi44MTQxNSA2LjgxNDk0IDUuOTgxMjMgNy44MzI1NSA1LjQ5MDYyIDkuMDIyNjNDNS4wMDAwMSAxMC4yMTI3IDQuODczOCAxMS41MjE3IDUuMTI3OTkgMTIuNzgzNUM1LjM4MjE4IDE0LjA0NTQgNi4wMDUzMiAxNS4yMDM0IDYuOTE4NDIgMTYuMTEwOEM3LjgzMTUyIDE3LjAxODEgOC45OTM0NiAxNy42MzM5IDEwLjI1NjkgMTcuODhDMTEuNTIwNCAxOC4xMjYyIDEyLjgyODUgMTcuOTkxNyAxNC4wMTU1IDE3LjQ5MzVDMTUuMjAyNCAxNi45OTU0IDE2LjIxNDcgMTYuMTU2IDE2LjkyNDEgMTUuMDgxOUMxNy42MzM0IDE0LjAwNzcgMTguMDA3OCAxMi43NDcxIDE3Ljk5OTkgMTEuNDU5OUMxNy45OTkzIDExLjMxIDE3Ljk2NSAxMS4xNjIxIDE3Ljg5OTUgMTEuMDI3MkMxNy44MzQgMTAuODkyNCAxNy43MzkgMTAuNzc0IDE3LjYyMTUgMTAuNjgwOVpNOC4yMTk4OCA5LjcxOTQyQzguMzI0NzcgOS42MTQ1MyA4LjQ1ODQxIDkuNTQzMSA4LjYwMzkgOS41MTQxNkM4Ljc0OTM4IDkuNDg1MjIgOC45MDAxOCA5LjUwMDA3IDkuMDM3MjMgOS41NTY4NEM5LjE3NDI4IDkuNjEzNjEgOS4yOTE0MSA5LjcwOTc0IDkuMzczODIgOS44MzMwN0M5LjQ1NjIzIDkuOTU2NDEgOS41MDAyMiAxMC4xMDE0IDkuNTAwMjIgMTAuMjQ5OEM5LjUwMDIyIDEwLjM5ODEgOS40NTYyMyAxMC41NDMxIDkuMzczODIgMTAuNjY2NEM5LjI5MTQxIDEwLjc4OTggOS4xNzQyOCAxMC44ODU5IDkuMDM3MjMgMTAuOTQyN0M4LjkwMDE4IDEwLjk5OTQgOC43NDkzOCAxMS4wMTQzIDguNjAzOSAxMC45ODU0QzguNDU4NDEgMTAuOTU2NCA4LjMyNDc3IDEwLjg4NSA4LjIxOTg4IDEwLjc4MDFDOC4wNzkyMyAxMC42Mzk0IDguMDAwMjIgMTAuNDQ4NyA4LjAwMDIyIDEwLjI0OThDOC4wMDAyMiAxMC4wNTA4IDguMDc5MjMgOS44NjAwOCA4LjIxOTg4IDkuNzE5NDJaTTkuNzgwNTUgMTQuMjgwMUM5LjY3NTY2IDE0LjM4NSA5LjU0MjAyIDE0LjQ1NjQgOS4zOTY1MyAxNC40ODU0QzkuMjUxMDUgMTQuNTE0MyA5LjEwMDI1IDE0LjQ5OTQgOC45NjMyIDE0LjQ0MjdDOC44MjYxNSAxNC4zODU5IDguNzA5MDIgMTQuMjg5OCA4LjYyNjYxIDE0LjE2NjRDOC41NDQyIDE0LjA0MzEgOC41MDAyMSAxMy44OTgxIDguNTAwMjEgMTMuNzQ5OEM4LjUwMDIxIDEzLjYwMTQgOC41NDQyIDEzLjQ1NjQgOC42MjY2MSAxMy4zMzMxQzguNzA5MDIgMTMuMjA5NyA4LjgyNjE1IDEzLjExMzYgOC45NjMyIDEzLjA1NjhDOS4xMDAyNSAxMy4wMDAxIDkuMjUxMDUgMTIuOTg1MiA5LjM5NjUzIDEzLjAxNDJDOS41NDIwMiAxMy4wNDMxIDkuNjc1NjYgMTMuMTE0NSA5Ljc4MDU1IDEzLjIxOTRDOS45MjExOSAxMy4zNjAxIDEwLjAwMDIgMTMuNTUwOCAxMC4wMDAyIDEzLjc0OThDMTAuMDAwMiAxMy45NDg3IDkuOTIxMTkgMTQuMTM5NCA5Ljc4MDU1IDE0LjI4MDFaTTExLjQ2OTkgMTEuNzgwMUMxMS4zNjUgMTEuNjc1MiAxMS4yOTM2IDExLjU0MTYgMTEuMjY0NiAxMS4zOTYxQzExLjIzNTcgMTEuMjUwNiAxMS4yNTA1IDExLjA5OTggMTEuMzA3MyAxMC45NjI3QzExLjM2NDEgMTAuODI1NyAxMS40NjAyIDEwLjcwODYgMTEuNTgzNSAxMC42MjYxQzExLjcwNjkgMTAuNTQzNyAxMS44NTE5IDEwLjQ5OTcgMTIuMDAwMiAxMC40OTk3QzEyLjE0ODYgMTAuNDk5NyAxMi4yOTM2IDEwLjU0MzcgMTIuNDE2OSAxMC42MjYxQzEyLjU0MDIgMTAuNzA4NiAxMi42MzY0IDEwLjgyNTcgMTIuNjkzMSAxMC45NjI3QzEyLjc0OTkgMTEuMDk5OCAxMi43NjQ3IDExLjI1MDYgMTIuNzM1OCAxMS4zOTYxQzEyLjcwNjkgMTEuNTQxNiAxMi42MzU0IDExLjY3NTIgMTIuNTMwNSAxMS43ODAxQzEyLjM4OTkgMTEuOTIwNyAxMi4xOTkxIDExLjk5OTggMTIuMDAwMiAxMS45OTk4QzExLjgwMTMgMTEuOTk5OCAxMS42MTA1IDExLjkyMDcgMTEuNDY5OSAxMS43ODAxWk0xMy43ODA1IDE0Ljc4MDFDMTMuNjc1NyAxNC44ODUgMTMuNTQyIDE0Ljk1NjQgMTMuMzk2NSAxNC45ODU0QzEzLjI1MSAxNS4wMTQzIDEzLjEwMDIgMTQuOTk5NCAxMi45NjMyIDE0Ljk0MjdDMTIuODI2MiAxNC44ODU5IDEyLjcwOSAxNC43ODk4IDEyLjYyNjYgMTQuNjY2NEMxMi41NDQyIDE0LjU0MzEgMTIuNTAwMiAxNC4zOTgxIDEyLjUwMDIgMTQuMjQ5OEMxMi41MDAyIDE0LjEwMTQgMTIuNTQ0MiAxMy45NTY0IDEyLjYyNjYgMTMuODMzMUMxMi43MDkgMTMuNzA5NyAxMi44MjYyIDEzLjYxMzYgMTIuOTYzMiAxMy41NTY4QzEzLjEwMDIgMTMuNTAwMSAxMy4yNTEgMTMuNDg1MiAxMy4zOTY1IDEzLjUxNDJDMTMuNTQyIDEzLjU0MzEgMTMuNjc1NyAxMy42MTQ1IDEzLjc4MDUgMTMuNzE5NEMxMy45MjEyIDEzLjg2MDEgMTQuMDAwMiAxNC4wNTA4IDE0LjAwMDIgMTQuMjQ5OEMxNC4wMDAyIDE0LjQ0ODcgMTMuOTIxMiAxNC42Mzk0IDEzLjc4MDUgMTQuNzgwMVoiIGZpbGw9IiNENENERkUiLz4KPGxpbmUgeDE9IjIuNSIgeTE9IjE3LjEwNTQiIHgyPSIyMS41MDMyIiB5Mj0iNi4xMzM4OCIgc3Ryb2tlPSIjMkQyMzZFIiBzdHJva2Utd2lkdGg9IjIiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguOTM5OCA3Ljk5OTg4TDEzLjEzOTggMy44MDY1NUMxMy4yNjUzIDMuNjgxMDEgMTMuMzM1OSAzLjUxMDc1IDEzLjMzNTkgMy4zMzMyMUMxMy4zMzU5IDMuMTU1NjggMTMuMjY1MyAyLjk4NTQyIDEzLjEzOTggMi44NTk4OEMxMy4wMTQzIDIuNzM0MzQgMTIuODQ0IDIuNjYzODIgMTIuNjY2NSAyLjY2MzgyQzEyLjQ4ODkgMi42NjM4MiAxMi4zMTg3IDIuNzM0MzQgMTIuMTkzMSAyLjg1OTg4TDcuOTk5OCA3LjA1OTg4TDMuODA2NDYgMi44NTk4OEMzLjY4MDkzIDIuNzM0MzQgMy41MTA2NiAyLjY2MzgyIDMuMzMzMTMgMi42NjM4MkMzLjE1NTYgMi42NjM4MiAyLjk4NTMzIDIuNzM0MzQgMi44NTk4IDIuODU5ODhDMi43MzQyNiAyLjk4NTQyIDIuNjYzNzQgMy4xNTU2OCAyLjY2Mzc0IDMuMzMzMjFDMi42NjM3NCAzLjUxMDc1IDIuNzM0MjYgMy42ODEwMSAyLjg1OTggMy44MDY1NUw3LjA1OTggNy45OTk4OEwyLjg1OTggMTIuMTkzMkMyLjc5NzMxIDEyLjI1NTIgMi43NDc3MSAxMi4zMjg5IDIuNzEzODcgMTIuNDEwMkMyLjY4MDAyIDEyLjQ5MTQgMi42NjI2IDEyLjU3ODUgMi42NjI2IDEyLjY2NjVDMi42NjI2IDEyLjc1NDYgMi42ODAwMiAxMi44NDE3IDIuNzEzODcgMTIuOTIyOUMyLjc0NzcxIDEzLjAwNDIgMi43OTczMSAxMy4wNzc5IDIuODU5OCAxMy4xMzk5QzIuOTIxNzcgMTMuMjAyNCAyLjk5NTUxIDEzLjI1MiAzLjA3Njc1IDEzLjI4NThDMy4xNTc5OCAxMy4zMTk3IDMuMjQ1MTIgMTMuMzM3MSAzLjMzMzEzIDEzLjMzNzFDMy40MjExNCAxMy4zMzcxIDMuNTA4MjcgMTMuMzE5NyAzLjU4OTUxIDEzLjI4NThDMy42NzA3NSAxMy4yNTIgMy43NDQ0OSAxMy4yMDI0IDMuODA2NDYgMTMuMTM5OUw3Ljk5OTggOC45Mzk4OEwxMi4xOTMxIDEzLjEzOTlDMTIuMjU1MSAxMy4yMDI0IDEyLjMyODggMTMuMjUyIDEyLjQxMDEgMTMuMjg1OEMxMi40OTEzIDEzLjMxOTcgMTIuNTc4NSAxMy4zMzcxIDEyLjY2NjUgMTMuMzM3MUMxMi43NTQ1IDEzLjMzNzEgMTIuODQxNiAxMy4zMTk3IDEyLjkyMjggMTMuMjg1OEMxMy4wMDQxIDEzLjI1MiAxMy4wNzc4IDEzLjIwMjQgMTMuMTM5OCAxMy4xMzk5QzEzLjIwMjMgMTMuMDc3OSAxMy4yNTE5IDEzLjAwNDIgMTMuMjg1NyAxMi45MjI5QzEzLjMxOTYgMTIuODQxNyAxMy4zMzcgMTIuNzU0NiAxMy4zMzcgMTIuNjY2NUMxMy4zMzcgMTIuNTc4NSAxMy4zMTk2IDEyLjQ5MTQgMTMuMjg1NyAxMi40MTAyQzEzLjI1MTkgMTIuMzI4OSAxMy4yMDIzIDEyLjI1NTIgMTMuMTM5OCAxMi4xOTMyTDguOTM5OCA3Ljk5OTg4WiIgZmlsbD0iIzJEMjM2RSIvPgo8L3N2Zz4K\"","import { Link } from 'gatsby'\nimport React, { useState } from 'react'\n\nimport noCookiesLogo from './no-cookies.svg'\nimport closeIcon from './close-x-exit.svg'\nimport useFathomEvent from '../../hooks/useFathomEvent'\n\nimport './_styles.scss'\n\nexport default function NoCookiesBanner() {\n const [showBanner, setShowBanner] = useState(() => {\n if (typeof window !== 'undefined') {\n return window.sessionStorage.getItem('no-cookies-banner-closed') !== 'true'\n } else {\n return true\n }\n })\n\n const trackFathomEvent = useFathomEvent('no-cookies-banner-click')\n\n const onCloseBanner = () => {\n setShowBanner(false)\n if (typeof window !== 'undefined') {\n window.sessionStorage.setItem('no-cookies-banner-closed', 'true')\n }\n }\n\n const handleClick = () => {\n trackFathomEvent()\n onCloseBanner()\n }\n\n return (\n showBanner && (\n
\n \"No\n

Acá no usamos cookies. Averigua por qué

\n \n
\n )\n )\n}\n","import React from 'react'\nimport VisualEditing from '../VisualEditing';\nimport Footer from '../Footer';\nimport StickyHeader from '../StickyHeader';\nimport NoCookiesBanner from '../NoCookiesBanner';\n\nexport default function Layout({children, linkToHome, stickyHeader}) {\n return (\n <>\n \n
\n {stickyHeader && }\n
\n {children}\n
\n
\n \n
\n \n )\n}\n","import React, { useState } from 'react';\n\nimport './_styles.scss';\nimport Button from '../Button';\nimport { Link } from 'gatsby';\nimport NavLinks from '../NavLinks';\nimport { TYPEFORM_URL } from \"../../constants/links\";\nimport AnimatedLogo from '../AnimatedLogo';\nimport useFathomEvent from '../../hooks/useFathomEvent';\n\nexport default function MobileNavbar({ linkToHome }) {\n const [isMobileSidebarOpen, setIsMobileSidebarOpen] = useState(false);\n const trackFathomEvent = useFathomEvent('cta-click mobile-navbar')\n\n return (\n \n );\n}\n","import React from 'react';\nimport { Link } from 'gatsby';\nimport useFathomEvent from '../../hooks/useFathomEvent';\n\nimport './_styles.scss';\n\nfunction NavLink({ to, label }) {\n const isExternalLink = to.includes('https://');\n const Component = isExternalLink ? 'a' : Link;\n const props = isExternalLink\n ? { href: to, rel: 'noopener noreferrer', target: '_blank' }\n : { to };\n\n return (\n \n {label}\n \n );\n}\n\nexport default function NavLinks({ className }) {\n const trackFathomEvent = useFathomEvent('docs-click navlinks')\n\n return (\n
    \n
  • \n {\n trackFathomEvent()\n }} />\n
  • \n
  • \n \n
  • \n
  • \n \n
  • \n
\n );\n}\n","import React from 'react';\nimport { Link as ScrollLink } from 'react-scroll';\n\nimport './_styles.scss';\n\nimport Button from '../Button';\nimport NavLinks from '../NavLinks';\nimport MobileNavbar from '../MobileNavbar';\nimport LogoIcon from '../../images/Logo.svg';\nimport LogoIconDark from '../../images/LogoDark.svg';\nimport { TYPEFORM_URL } from \"../../constants/links\";\nimport useFathomEvent from '../../hooks/useFathomEvent';\nconst Logo = ({ theme }) => (\n \"Soyio\n);\n\nexport default function Navbar({ linkToHome, theme }) {\n const trackFathomEvent = useFathomEvent('cta-click navbar')\n\n return (\n <>\n \n \n \n );\n}\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTc3IiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMTc3IDQ4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE3MiA0LjU3MTQzSDQ4LjAwMDFWNDMuNDI4NkgxNzJWNC41NzE0M1pNNDMuNDI4NyAwVjQ4SDE3Ni41NzJWMEg0My40Mjg3WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OCAwSDBWNDhINDhWMFpNMjguNTcxNCAyNi4zNTk0QzMxLjk1ODIgMjQuNjc2MyAzNC4yODU3IDIxLjE4MTMgMzQuMjg1NyAxNy4xNDI4QzM0LjI4NTcgMTEuNDYyMiAyOS42ODA2IDYuODU3MSAyNCA2Ljg1NzFDMTguMzE5MyA2Ljg1NzEgMTMuNzE0MyAxMS40NjIyIDEzLjcxNDMgMTcuMTQyOEMxMy43MTQzIDIxLjE4MTMgMTYuMDQxOCAyNC42NzYzIDE5LjQyODYgMjYuMzU5NFY0MS4xNDI4SDI4LjU3MTRWMjYuMzU5NFpNMjcuNDI4NiAxNy4xNDI4QzI3LjQyODYgMTkuMDM2NCAyNS44OTM1IDIwLjU3MTQgMjQgMjAuNTcxNEMyMi4xMDY0IDIwLjU3MTQgMjAuNTcxNCAxOS4wMzY0IDIwLjU3MTQgMTcuMTQyOEMyMC41NzE0IDE1LjI0OTMgMjIuMTA2NCAxMy43MTQyIDI0IDEzLjcxNDJDMjUuODkzNSAxMy43MTQyIDI3LjQyODYgMTUuMjQ5MyAyNy40Mjg2IDE3LjE0MjhaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNNjUuNDMyNCAzNS4wODA2QzYxLjQyOSAzNS4wODA2IDU3LjgwMzMgMzQuMDY1NCA1NC44NTc0IDMyLjExMDFMNTcuNzY1NiAyNy4yNTk2QzYwLjI1ODIgMjguODAxMiA2My4wNTMxIDI5LjU1MzIgNjUuMzk0NyAyOS41NTMyQzY2LjIyNTYgMjkuNTUzMiA2Ni42NDEgMjkuMzY1MiA2Ni42NDEgMjguODc2NFYyOC44MDEyQzY2LjY0MSAyOC4zODc2IDY2LjI2MzMgMjguMTI0NCA2NC4xODYxIDI3LjU5OEM1OC45NzQxIDI2LjMxOTUgNTUuNzYzOSAyNC45MjgzIDU1Ljc2MzkgMjAuNjc5M1YyMC42MDQxQzU1Ljc2MzkgMTYuMDkxOSA1OS4zODk2IDEzLjU3MjcgNjQuNzUyNiAxMy41NzI3QzY4LjE1MTcgMTMuNTcyNyA3MS41MTMxIDE0LjQzNzUgNzQuMDA1OCAxNS45NDE1TDcxLjI4NjUgMjEuMDE3N0M2OS4wOTU5IDE5LjgxNDUgNjYuNDUyMiAxOS4xMDAxIDY0LjcxNDkgMTkuMTAwMUM2My44ODQgMTkuMTAwMSA2My41MDYzIDE5LjMyNTcgNjMuNTA2MyAxOS43MzkzVjE5LjgxNDVDNjMuNTA2MyAyMC4yMjgxIDYzLjk1OTUgMjAuNDkxMyA2Ni4wMzY3IDIxLjAxNzdDNzEuMjQ4NyAyMi4yOTYyIDc0LjM4MzUgMjMuNzI1IDc0LjM4MzUgMjcuOTM2NFYyOC4wMTE2Qzc0LjM4MzUgMzIuNDg2MSA3MS4wMjIxIDM1LjA4MDYgNjUuNDMyNCAzNS4wODA2WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTg2LjcxMDYgMzUuMDgwNkM3OS45NTAxIDM1LjA4MDYgNzUuMTUzNiAzMC4xOTI1IDc1LjE1MzYgMjQuNDAxOVYyNC4zMjY2Qzc1LjE1MzYgMTguNTM2IDc5Ljk4NzkgMTMuNTcyNyA4Ni43ODYxIDEzLjU3MjdDOTMuNTQ2NiAxMy41NzI3IDk4LjM0MzEgMTguNDYwOCA5OC4zNDMxIDI0LjI1MTRWMjQuMzI2NkM5OC4zNDMxIDMwLjExNzMgOTMuNTA4OCAzNS4wODA2IDg2LjcxMDYgMzUuMDgwNlpNODYuNzg2MSAyNy45NzRDODguNzEyMyAyNy45NzQgOTAuMTA5NyAyNi4zNTcxIDkwLjEwOTcgMjQuNDAxOVYyNC4zMjY2QzkwLjEwOTcgMjIuMjk2MiA4OC41OTkgMjAuNjc5MyA4Ni43MTA2IDIwLjY3OTNDODQuNzg0NCAyMC42NzkzIDgzLjM4NyAyMi4yOTYyIDgzLjM4NyAyNC4yNTE0VjI0LjMyNjZDODMuMzg3IDI2LjM1NzEgODQuODk3NyAyNy45NzQgODYuNzg2MSAyNy45NzRaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMTA1Ljk3OCA0MS40Mjg1QzEwMi45OTUgNDEuNDI4NSAxMDAuMzEzIDQwLjU2MzcgOTguMDA5NCAzOS4yODUzTDEwMC41MDIgMzMuNDU3QzEwMi4wNTEgMzQuMzIxOSAxMDMuNDc5IDM0LjQ0OTUgMTA0LjI3MiAzNC40NDk1QzEwNC43NjMgMzQuNDQ5NSAxMDUuMjc0IDM0LjMwNzEgMTA1LjY3NiAzMy44MDIyTDk3LjU5MzkgMTQuMDYxNUgxMDYuNDY5TDExMC4wNTcgMjQuODkwN0wxMTMuMzQzIDE0LjA2MTVIMTIyLjA2OEwxMTQuOTI5IDMzLjE2M0MxMTIuOTI4IDM4LjU0IDExMC43MzcgNDEuNDI4NSAxMDUuOTc4IDQxLjQyODVaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMTMwLjc1MyAxMi41OTVWNy4xNDI4MkgxMzkuNjI5VjEyLjU5NUgxMzAuNzUzWk0xMzAuOTA0IDM0LjU5MThWMTQuMDYxNUgxMzkuNDc4VjM0LjU5MThIMTMwLjkwNFoiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xNTMuNTExIDM1LjA4MDZDMTQ2Ljc1IDM1LjA4MDYgMTQxLjk1NCAzMC4xOTI1IDE0MS45NTQgMjQuNDAxOVYyNC4zMjY2QzE0MS45NTQgMTguNTM2IDE0Ni43ODggMTMuNTcyNyAxNTMuNTg2IDEzLjU3MjdDMTYwLjM0NyAxMy41NzI3IDE2NS4xNDMgMTguNDYwOCAxNjUuMTQzIDI0LjI1MTRWMjQuMzI2NkMxNjUuMTQzIDMwLjExNzMgMTYwLjMwOSAzNS4wODA2IDE1My41MTEgMzUuMDgwNlpNMTUzLjU4NiAyNy45NzRDMTU1LjUxMiAyNy45NzQgMTU2LjkxIDI2LjM1NzEgMTU2LjkxIDI0LjQwMTlWMjQuMzI2NkMxNTYuOTEgMjIuMjk2MiAxNTUuMzk5IDIwLjY3OTMgMTUzLjUxMSAyMC42NzkzQzE1MS41ODQgMjAuNjc5MyAxNTAuMTg3IDIyLjI5NjIgMTUwLjE4NyAyNC4yNTE0VjI0LjMyNjZDMTUwLjE4NyAyNi4zNTcxIDE1MS42OTggMjcuOTc0IDE1My41ODYgMjcuOTc0WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTc3IiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMTc3IDQ4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cmVjdCB3aWR0aD0iMTc1IiBoZWlnaHQ9IjQ4IiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE3MiA0LjU3MTQzSDQ3Ljk5OTlWNDMuNDI4NkgxNzJWNC41NzE0M1pNNDMuNDI4NSAwVjQ4SDE3Ni41NzFWMEg0My40Mjg1WiIgZmlsbD0iIzMzNDBDRiIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQ4IDBIMFY0OEg0OFYwWk0yOC41NzE0IDI2LjM1OTRDMzEuOTU4MiAyNC42NzYzIDM0LjI4NTcgMjEuMTgxMyAzNC4yODU3IDE3LjE0MjhDMzQuMjg1NyAxMS40NjIyIDI5LjY4MDYgNi44NTcxIDI0IDYuODU3MUMxOC4zMTkzIDYuODU3MSAxMy43MTQzIDExLjQ2MjIgMTMuNzE0MyAxNy4xNDI4QzEzLjcxNDMgMjEuMTgxMyAxNi4wNDE4IDI0LjY3NjMgMTkuNDI4NiAyNi4zNTk0VjQxLjE0MjhIMjguNTcxNFYyNi4zNTk0Wk0yNy40Mjg2IDE3LjE0MjhDMjcuNDI4NiAxOS4wMzY0IDI1Ljg5MzUgMjAuNTcxNCAyNCAyMC41NzE0QzIyLjEwNjQgMjAuNTcxNCAyMC41NzE0IDE5LjAzNjQgMjAuNTcxNCAxNy4xNDI4QzIwLjU3MTQgMTUuMjQ5MyAyMi4xMDY0IDEzLjcxNDIgMjQgMTMuNzE0MkMyNS44OTM1IDEzLjcxNDIgMjcuNDI4NiAxNS4yNDkzIDI3LjQyODYgMTcuMTQyOFoiIGZpbGw9IiMzMzQwQ0YiLz4KPHBhdGggZD0iTTY1LjQzMjIgMzUuMDgwNkM2MS40Mjg4IDM1LjA4MDYgNTcuODAzMSAzNC4wNjU0IDU0Ljg1NzIgMzIuMTEwMUw1Ny43NjUzIDI3LjI1OTZDNjAuMjU4IDI4LjgwMTIgNjMuMDUyOCAyOS41NTMyIDY1LjM5NDQgMjkuNTUzMkM2Ni4yMjUzIDI5LjU1MzIgNjYuNjQwOCAyOS4zNjUyIDY2LjY0MDggMjguODc2NFYyOC44MDEyQzY2LjY0MDggMjguMzg3NiA2Ni4yNjMxIDI4LjEyNDQgNjQuMTg1OSAyNy41OThDNTguOTczOSAyNi4zMTk1IDU1Ljc2MzYgMjQuOTI4MyA1NS43NjM2IDIwLjY3OTNWMjAuNjA0MUM1NS43NjM2IDE2LjA5MTkgNTkuMzg5MyAxMy41NzI3IDY0Ljc1MjQgMTMuNTcyN0M2OC4xNTE1IDEzLjU3MjcgNzEuNTEyOCAxNC40Mzc1IDc0LjAwNTUgMTUuOTQxNUw3MS4yODYyIDIxLjAxNzdDNjkuMDk1NyAxOS44MTQ1IDY2LjQ1MTkgMTkuMTAwMSA2NC43MTQ2IDE5LjEwMDFDNjMuODgzNyAxOS4xMDAxIDYzLjUwNiAxOS4zMjU3IDYzLjUwNiAxOS43MzkzVjE5LjgxNDVDNjMuNTA2IDIwLjIyODEgNjMuOTU5MyAyMC40OTEzIDY2LjAzNjUgMjEuMDE3N0M3MS4yNDg1IDIyLjI5NjIgNzQuMzgzMiAyMy43MjUgNzQuMzgzMiAyNy45MzY0VjI4LjAxMTZDNzQuMzgzMiAzMi40ODYxIDcxLjAyMTkgMzUuMDgwNiA2NS40MzIyIDM1LjA4MDZaIiBmaWxsPSIjMzM0MENGIi8+CjxwYXRoIGQ9Ik04Ni43MTAzIDM1LjA4MDZDNzkuOTQ5OSAzNS4wODA2IDc1LjE1MzMgMzAuMTkyNSA3NS4xNTMzIDI0LjQwMThWMjQuMzI2NkM3NS4xNTMzIDE4LjUzNiA3OS45ODc2IDEzLjU3MjcgODYuNzg1OCAxMy41NzI3QzkzLjU0NjMgMTMuNTcyNyA5OC4zNDI4IDE4LjQ2MDggOTguMzQyOCAyNC4yNTE0VjI0LjMyNjZDOTguMzQyOCAzMC4xMTczIDkzLjUwODUgMzUuMDgwNiA4Ni43MTAzIDM1LjA4MDZaTTg2Ljc4NTggMjcuOTc0Qzg4LjcxMiAyNy45NzQgOTAuMTA5NCAyNi4zNTcxIDkwLjEwOTQgMjQuNDAxOFYyNC4zMjY2QzkwLjEwOTQgMjIuMjk2MiA4OC41OTg3IDIwLjY3OTMgODYuNzEwMyAyMC42NzkzQzg0Ljc4NDEgMjAuNjc5MyA4My4zODY3IDIyLjI5NjIgODMuMzg2NyAyNC4yNTE0VjI0LjMyNjZDODMuMzg2NyAyNi4zNTcxIDg0Ljg5NzQgMjcuOTc0IDg2Ljc4NTggMjcuOTc0WiIgZmlsbD0iIzMzNDBDRiIvPgo8cGF0aCBkPSJNMTA1Ljk3OCA0MS40Mjg1QzEwMi45OTQgNDEuNDI4NSAxMDAuMzEzIDQwLjU2MzcgOTguMDA5MSAzOS4yODUzTDEwMC41MDIgMzMuNDU3QzEwMi4wNSAzNC4zMjE5IDEwMy40NzkgMzQuNDQ5NSAxMDQuMjcyIDM0LjQ0OTVDMTA0Ljc2MyAzNC40NDk1IDEwNS4yNzQgMzQuMzA3MSAxMDUuNjc2IDMzLjgwMjJMOTcuNTkzNyAxNC4wNjE1SDEwNi40NjlMMTEwLjA1NyAyNC44OTA3TDExMy4zNDMgMTQuMDYxNUgxMjIuMDY3TDExNC45MjkgMzMuMTYzQzExMi45MjcgMzguNTQgMTEwLjczNyA0MS40Mjg1IDEwNS45NzggNDEuNDI4NVoiIGZpbGw9IiMzMzQwQ0YiLz4KPHBhdGggZD0iTTEzMC43NTMgMTIuNTk1VjcuMTQyODJIMTM5LjYyOVYxMi41OTVIMTMwLjc1M1pNMTMwLjkwNCAzNC41OTE4VjE0LjA2MTVIMTM5LjQ3N1YzNC41OTE4SDEzMC45MDRaIiBmaWxsPSIjMzM0MENGIi8+CjxwYXRoIGQ9Ik0xNTMuNTEgMzUuMDgwNkMxNDYuNzUgMzUuMDgwNiAxNDEuOTUzIDMwLjE5MjUgMTQxLjk1MyAyNC40MDE4VjI0LjMyNjZDMTQxLjk1MyAxOC41MzYgMTQ2Ljc4OCAxMy41NzI3IDE1My41ODYgMTMuNTcyN0MxNjAuMzQ2IDEzLjU3MjcgMTY1LjE0MyAxOC40NjA4IDE2NS4xNDMgMjQuMjUxNFYyNC4zMjY2QzE2NS4xNDMgMzAuMTE3MyAxNjAuMzA5IDM1LjA4MDYgMTUzLjUxIDM1LjA4MDZaTTE1My41ODYgMjcuOTc0QzE1NS41MTIgMjcuOTc0IDE1Ni45MDkgMjYuMzU3MSAxNTYuOTA5IDI0LjQwMThWMjQuMzI2NkMxNTYuOTA5IDIyLjI5NjIgMTU1LjM5OSAyMC42NzkzIDE1My41MSAyMC42NzkzQzE1MS41ODQgMjAuNjc5MyAxNTAuMTg3IDIyLjI5NjIgMTUwLjE4NyAyNC4yNTE0VjI0LjMyNjZDMTUwLjE4NyAyNi4zNTcxIDE1MS42OTcgMjcuOTc0IDE1My41ODYgMjcuOTc0WiIgZmlsbD0iIzMzNDBDRiIvPgo8L3N2Zz4K\"","export const TYPEFORM_URL = \"https://soyio.typeform.com/formularioweb\";\n","export default function useFathomEvent(eventName, options = {}, debug = false) {\n // Early return if running in non-browser environment\n if (typeof window === 'undefined') {\n return () => {};\n }\n\n return () => {\n try {\n // Check if Fathom is available\n if (!window.fathom) {\n console.warn('Fathom analytics is not initialized');\n return;\n }\n\n window.fathom.trackEvent(eventName, options);\n\n if (debug) {\n console.log(`[Fathom] Event tracked: ${eventName}`, options);\n }\n } catch (error) {\n console.error('[Fathom] Failed to track event:', error);\n }\n };\n}\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollLink = require('../mixins/scroll-link');\n\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ButtonElement = function (_React$Component) {\n _inherits(ButtonElement, _React$Component);\n\n function ButtonElement() {\n _classCallCheck(this, ButtonElement);\n\n return _possibleConstructorReturn(this, (ButtonElement.__proto__ || Object.getPrototypeOf(ButtonElement)).apply(this, arguments));\n }\n\n _createClass(ButtonElement, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(\n 'button',\n this.props,\n this.props.children\n );\n }\n }]);\n\n return ButtonElement;\n}(_react2.default.Component);\n\n;\n\nexports.default = (0, _scrollLink2.default)(ButtonElement);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollElement = require('../mixins/scroll-element');\n\nvar _scrollElement2 = _interopRequireDefault(_scrollElement);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ElementWrapper = function (_React$Component) {\n _inherits(ElementWrapper, _React$Component);\n\n function ElementWrapper() {\n _classCallCheck(this, ElementWrapper);\n\n return _possibleConstructorReturn(this, (ElementWrapper.__proto__ || Object.getPrototypeOf(ElementWrapper)).apply(this, arguments));\n }\n\n _createClass(ElementWrapper, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n // Remove `parentBindings` and `name` from props\n var newProps = _extends({}, this.props);\n delete newProps.name;\n if (newProps.parentBindings) {\n delete newProps.parentBindings;\n }\n\n return _react2.default.createElement(\n 'div',\n _extends({}, newProps, { ref: function ref(el) {\n _this2.props.parentBindings.domNode = el;\n } }),\n this.props.children\n );\n }\n }]);\n\n return ElementWrapper;\n}(_react2.default.Component);\n\n;\n\nElementWrapper.propTypes = {\n name: _propTypes2.default.string,\n id: _propTypes2.default.string\n};\n\nexports.default = (0, _scrollElement2.default)(ElementWrapper);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollLink = require('../mixins/scroll-link');\n\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar LinkElement = function (_React$Component) {\n _inherits(LinkElement, _React$Component);\n\n function LinkElement() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, LinkElement);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = LinkElement.__proto__ || Object.getPrototypeOf(LinkElement)).call.apply(_ref, [this].concat(args))), _this), _this.render = function () {\n return _react2.default.createElement(\n 'a',\n _this.props,\n _this.props.children\n );\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n return LinkElement;\n}(_react2.default.Component);\n\n;\n\nexports.default = (0, _scrollLink2.default)(LinkElement);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Helpers = exports.ScrollElement = exports.ScrollLink = exports.animateScroll = exports.scrollSpy = exports.Events = exports.scroller = exports.Element = exports.Button = exports.Link = undefined;\n\nvar _Link = require('./components/Link.js');\n\nvar _Link2 = _interopRequireDefault(_Link);\n\nvar _Button = require('./components/Button.js');\n\nvar _Button2 = _interopRequireDefault(_Button);\n\nvar _Element = require('./components/Element.js');\n\nvar _Element2 = _interopRequireDefault(_Element);\n\nvar _scroller = require('./mixins/scroller.js');\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _scrollEvents = require('./mixins/scroll-events.js');\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nvar _scrollSpy = require('./mixins/scroll-spy.js');\n\nvar _scrollSpy2 = _interopRequireDefault(_scrollSpy);\n\nvar _animateScroll = require('./mixins/animate-scroll.js');\n\nvar _animateScroll2 = _interopRequireDefault(_animateScroll);\n\nvar _scrollLink = require('./mixins/scroll-link.js');\n\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\n\nvar _scrollElement = require('./mixins/scroll-element.js');\n\nvar _scrollElement2 = _interopRequireDefault(_scrollElement);\n\nvar _Helpers = require('./mixins/Helpers.js');\n\nvar _Helpers2 = _interopRequireDefault(_Helpers);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.Link = _Link2.default;\nexports.Button = _Button2.default;\nexports.Element = _Element2.default;\nexports.scroller = _scroller2.default;\nexports.Events = _scrollEvents2.default;\nexports.scrollSpy = _scrollSpy2.default;\nexports.animateScroll = _animateScroll2.default;\nexports.ScrollLink = _scrollLink2.default;\nexports.ScrollElement = _scrollElement2.default;\nexports.Helpers = _Helpers2.default;\nexports.default = { Link: _Link2.default, Button: _Button2.default, Element: _Element2.default, scroller: _scroller2.default, Events: _scrollEvents2.default, scrollSpy: _scrollSpy2.default, animateScroll: _animateScroll2.default, ScrollLink: _scrollLink2.default, ScrollElement: _scrollElement2.default, Helpers: _Helpers2.default };","\"use strict\";\n\n/* DEPRECATED */\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar React = require('react');\nvar ReactDOM = require('react-dom');\n\nvar utils = require('./utils');\nvar scrollSpy = require('./scroll-spy');\nvar defaultScroller = require('./scroller');\nvar PropTypes = require('prop-types');\nvar scrollHash = require('./scroll-hash');\n\nvar protoTypes = {\n to: PropTypes.string.isRequired,\n containerId: PropTypes.string,\n container: PropTypes.object,\n activeClass: PropTypes.string,\n spy: PropTypes.bool,\n smooth: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n offset: PropTypes.number,\n delay: PropTypes.number,\n isDynamic: PropTypes.bool,\n onClick: PropTypes.func,\n duration: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n absolute: PropTypes.bool,\n onSetActive: PropTypes.func,\n onSetInactive: PropTypes.func,\n ignoreCancelEvents: PropTypes.bool,\n hashSpy: PropTypes.bool,\n spyThrottle: PropTypes.number\n};\n\nvar Helpers = {\n Scroll: function Scroll(Component, customScroller) {\n\n console.warn(\"Helpers.Scroll is deprecated since v1.7.0\");\n\n var scroller = customScroller || defaultScroller;\n\n var Scroll = function (_React$Component) {\n _inherits(Scroll, _React$Component);\n\n function Scroll(props) {\n _classCallCheck(this, Scroll);\n\n var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n active: false\n };\n return _this;\n }\n\n _createClass(Scroll, [{\n key: 'getScrollSpyContainer',\n value: function getScrollSpyContainer() {\n var containerId = this.props.containerId;\n var container = this.props.container;\n\n if (containerId) {\n return document.getElementById(containerId);\n }\n\n if (container && container.nodeType) {\n return container;\n }\n\n return document;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.spy || this.props.hashSpy) {\n var scrollSpyContainer = this.getScrollSpyContainer();\n\n if (!scrollSpy.isMounted(scrollSpyContainer)) {\n scrollSpy.mount(scrollSpyContainer, this.props.spyThrottle);\n }\n\n if (this.props.hashSpy) {\n if (!scrollHash.isMounted()) {\n scrollHash.mount(scroller);\n }\n scrollHash.mapContainer(this.props.to, scrollSpyContainer);\n }\n\n if (this.props.spy) {\n scrollSpy.addStateHandler(this.stateHandler);\n }\n\n scrollSpy.addSpyHandler(this.spyHandler, scrollSpyContainer);\n\n this.setState({\n container: scrollSpyContainer\n });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n scrollSpy.unmount(this.stateHandler, this.spyHandler);\n }\n }, {\n key: 'render',\n value: function render() {\n var className = \"\";\n\n if (this.state && this.state.active) {\n className = ((this.props.className || \"\") + \" \" + (this.props.activeClass || \"active\")).trim();\n } else {\n className = this.props.className;\n }\n\n var props = _extends({}, this.props);\n\n for (var prop in protoTypes) {\n if (props.hasOwnProperty(prop)) {\n delete props[prop];\n }\n }\n\n props.className = className;\n props.onClick = this.handleClick;\n\n return React.createElement(Component, props);\n }\n }]);\n\n return Scroll;\n }(React.Component);\n\n var _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.scrollTo = function (to, props) {\n scroller.scrollTo(to, _extends({}, _this2.state, props));\n };\n\n this.handleClick = function (event) {\n\n /*\r\n * give the posibility to override onClick\r\n */\n\n if (_this2.props.onClick) {\n _this2.props.onClick(event);\n }\n\n /*\r\n * dont bubble the navigation\r\n */\n\n if (event.stopPropagation) event.stopPropagation();\n if (event.preventDefault) event.preventDefault();\n\n /*\r\n * do the magic!\r\n */\n _this2.scrollTo(_this2.props.to, _this2.props);\n };\n\n this.stateHandler = function () {\n if (scroller.getActiveLink() !== _this2.props.to) {\n if (_this2.state !== null && _this2.state.active && _this2.props.onSetInactive) {\n _this2.props.onSetInactive();\n }\n _this2.setState({ active: false });\n }\n };\n\n this.spyHandler = function (y) {\n\n var scrollSpyContainer = _this2.getScrollSpyContainer();\n\n if (scrollHash.isMounted() && !scrollHash.isInitialized()) {\n return;\n }\n\n var to = _this2.props.to;\n var element = null;\n var elemTopBound = 0;\n var elemBottomBound = 0;\n var containerTop = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var containerCords = scrollSpyContainer.getBoundingClientRect();\n containerTop = containerCords.top;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n if (!element) {\n return;\n }\n\n var cords = element.getBoundingClientRect();\n elemTopBound = cords.top - containerTop + y;\n elemBottomBound = elemTopBound + cords.height;\n }\n\n var offsetY = y - _this2.props.offset;\n var isInside = offsetY >= Math.floor(elemTopBound) && offsetY < Math.floor(elemBottomBound);\n var isOutside = offsetY < Math.floor(elemTopBound) || offsetY >= Math.floor(elemBottomBound);\n var activeLink = scroller.getActiveLink();\n\n if (isOutside) {\n if (to === activeLink) {\n scroller.setActiveLink(void 0);\n }\n\n if (_this2.props.hashSpy && scrollHash.getHash() === to) {\n scrollHash.changeHash();\n }\n\n if (_this2.props.spy && _this2.state.active) {\n _this2.setState({ active: false });\n _this2.props.onSetInactive && _this2.props.onSetInactive();\n }\n\n return scrollSpy.updateStates();\n }\n\n if (isInside && activeLink !== to) {\n scroller.setActiveLink(to);\n\n _this2.props.hashSpy && scrollHash.changeHash(to);\n\n if (_this2.props.spy) {\n _this2.setState({ active: true });\n _this2.props.onSetActive && _this2.props.onSetActive(to);\n }\n return scrollSpy.updateStates();\n }\n };\n };\n\n ;\n\n Scroll.propTypes = protoTypes;\n\n Scroll.defaultProps = { offset: 0 };\n\n return Scroll;\n },\n Element: function Element(Component) {\n\n console.warn(\"Helpers.Element is deprecated since v1.7.0\");\n\n var Element = function (_React$Component2) {\n _inherits(Element, _React$Component2);\n\n function Element(props) {\n _classCallCheck(this, Element);\n\n var _this3 = _possibleConstructorReturn(this, (Element.__proto__ || Object.getPrototypeOf(Element)).call(this, props));\n\n _this3.childBindings = {\n domNode: null\n };\n return _this3;\n }\n\n _createClass(Element, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (typeof window === 'undefined') {\n return false;\n }\n this.registerElems(this.props.name);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n if (this.props.name !== prevProps.name) {\n this.registerElems(this.props.name);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window === 'undefined') {\n return false;\n }\n defaultScroller.unregister(this.props.name);\n }\n }, {\n key: 'registerElems',\n value: function registerElems(name) {\n defaultScroller.register(name, this.childBindings.domNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement(Component, _extends({}, this.props, { parentBindings: this.childBindings }));\n }\n }]);\n\n return Element;\n }(React.Component);\n\n ;\n\n Element.propTypes = {\n name: PropTypes.string,\n id: PropTypes.string\n };\n\n return Element;\n }\n};\n\nmodule.exports = Helpers;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _smooth = require('./smooth');\n\nvar _smooth2 = _interopRequireDefault(_smooth);\n\nvar _cancelEvents = require('./cancel-events');\n\nvar _cancelEvents2 = _interopRequireDefault(_cancelEvents);\n\nvar _scrollEvents = require('./scroll-events');\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*\r\n * Gets the easing type from the smooth prop within options.\r\n */\nvar getAnimationType = function getAnimationType(options) {\n return _smooth2.default[options.smooth] || _smooth2.default.defaultEasing;\n};\n/*\r\n * Function helper\r\n */\nvar functionWrapper = function functionWrapper(value) {\n return typeof value === 'function' ? value : function () {\n return value;\n };\n};\n/*\r\n * Wraps window properties to allow server side rendering\r\n */\nvar currentWindowProperties = function currentWindowProperties() {\n if (typeof window !== 'undefined') {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame;\n }\n};\n\n/*\r\n * Helper function to never extend 60fps on the webpage.\r\n */\nvar requestAnimationFrameHelper = function () {\n return currentWindowProperties() || function (callback, element, delay) {\n window.setTimeout(callback, delay || 1000 / 60, new Date().getTime());\n };\n}();\n\nvar makeData = function makeData() {\n return {\n currentPosition: 0,\n startPosition: 0,\n targetPosition: 0,\n progress: 0,\n duration: 0,\n cancel: false,\n\n target: null,\n containerElement: null,\n to: null,\n start: null,\n delta: null,\n percent: null,\n delayTimeout: null\n };\n};\n\nvar currentPositionX = function currentPositionX(options) {\n var containerElement = options.data.containerElement;\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollLeft;\n } else {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;\n }\n};\n\nvar currentPositionY = function currentPositionY(options) {\n var containerElement = options.data.containerElement;\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollTop;\n } else {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n }\n};\n\nvar scrollContainerWidth = function scrollContainerWidth(options) {\n var containerElement = options.data.containerElement;\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollWidth - containerElement.offsetWidth;\n } else {\n var body = document.body;\n var html = document.documentElement;\n\n return Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);\n }\n};\n\nvar scrollContainerHeight = function scrollContainerHeight(options) {\n var containerElement = options.data.containerElement;\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollHeight - containerElement.offsetHeight;\n } else {\n var body = document.body;\n var html = document.documentElement;\n\n return Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);\n }\n};\n\nvar animateScroll = function animateScroll(easing, options, timestamp) {\n var data = options.data;\n\n // Cancel on specific events\n if (!options.ignoreCancelEvents && data.cancel) {\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPositionY);\n }\n return;\n };\n\n data.delta = Math.round(data.targetPosition - data.startPosition);\n\n if (data.start === null) {\n data.start = timestamp;\n }\n\n data.progress = timestamp - data.start;\n\n data.percent = data.progress >= data.duration ? 1 : easing(data.progress / data.duration);\n\n data.currentPosition = data.startPosition + Math.ceil(data.delta * data.percent);\n\n if (data.containerElement && data.containerElement !== document && data.containerElement !== document.body) {\n if (options.horizontal) {\n data.containerElement.scrollLeft = data.currentPosition;\n } else {\n data.containerElement.scrollTop = data.currentPosition;\n }\n } else {\n if (options.horizontal) {\n window.scrollTo(data.currentPosition, 0);\n } else {\n window.scrollTo(0, data.currentPosition);\n }\n }\n\n if (data.percent < 1) {\n var easedAnimate = animateScroll.bind(null, easing, options);\n requestAnimationFrameHelper.call(window, easedAnimate);\n return;\n }\n\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPosition);\n }\n};\n\nvar setContainer = function setContainer(options) {\n options.data.containerElement = !options ? null : options.containerId ? document.getElementById(options.containerId) : options.container && options.container.nodeType ? options.container : document;\n};\n\nvar animateTopScroll = function animateTopScroll(scrollOffset, options, to, target) {\n options.data = options.data || makeData();\n\n window.clearTimeout(options.data.delayTimeout);\n\n var setCancel = function setCancel() {\n options.data.cancel = true;\n };\n _cancelEvents2.default.subscribe(setCancel);\n\n setContainer(options);\n\n options.data.start = null;\n options.data.cancel = false;\n options.data.startPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n options.data.targetPosition = options.absolute ? scrollOffset : scrollOffset + options.data.startPosition;\n\n if (options.data.startPosition === options.data.targetPosition) {\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](options.data.to, options.data.target, options.data.currentPosition);\n }\n return;\n }\n\n options.data.delta = Math.round(options.data.targetPosition - options.data.startPosition);\n\n options.data.duration = functionWrapper(options.duration)(options.data.delta);\n options.data.duration = isNaN(parseFloat(options.data.duration)) ? 1000 : parseFloat(options.data.duration);\n options.data.to = to;\n options.data.target = target;\n\n var easing = getAnimationType(options);\n var easedAnimate = animateScroll.bind(null, easing, options);\n\n if (options && options.delay > 0) {\n options.data.delayTimeout = window.setTimeout(function () {\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](options.data.to, options.data.target);\n }\n requestAnimationFrameHelper.call(window, easedAnimate);\n }, options.delay);\n return;\n }\n\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](options.data.to, options.data.target);\n }\n requestAnimationFrameHelper.call(window, easedAnimate);\n};\n\nvar proceedOptions = function proceedOptions(options) {\n options = _extends({}, options);\n options.data = options.data || makeData();\n options.absolute = true;\n return options;\n};\n\nvar scrollToTop = function scrollToTop(options) {\n animateTopScroll(0, proceedOptions(options));\n};\n\nvar scrollTo = function scrollTo(toPosition, options) {\n animateTopScroll(toPosition, proceedOptions(options));\n};\n\nvar scrollToBottom = function scrollToBottom(options) {\n options = proceedOptions(options);\n setContainer(options);\n animateTopScroll(options.horizontal ? scrollContainerWidth(options) : scrollContainerHeight(options), options);\n};\n\nvar scrollMore = function scrollMore(toPosition, options) {\n options = proceedOptions(options);\n setContainer(options);\n var currentPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n animateTopScroll(toPosition + currentPosition, options);\n};\n\nexports.default = {\n animateTopScroll: animateTopScroll,\n getAnimationType: getAnimationType,\n scrollToTop: scrollToTop,\n scrollToBottom: scrollToBottom,\n scrollTo: scrollTo,\n scrollMore: scrollMore\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _passiveEventListeners = require('./passive-event-listeners');\n\nvar events = ['mousedown', 'mousewheel', 'touchmove', 'keydown'];\n\nexports.default = {\n subscribe: function subscribe(cancelEvent) {\n return typeof document !== 'undefined' && events.forEach(function (event) {\n return (0, _passiveEventListeners.addPassiveEventListener)(document, event, cancelEvent);\n });\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*\r\n * Tell the browser that the event listener won't prevent a scroll.\r\n * Allowing the browser to continue scrolling without having to\r\n * to wait for the listener to return.\r\n */\nvar addPassiveEventListener = exports.addPassiveEventListener = function addPassiveEventListener(target, eventName, listener) {\n var listenerName = listener.name;\n if (!listenerName) {\n listenerName = eventName;\n console.warn('Listener must be a named function.');\n }\n\n if (!attachedListeners.has(eventName)) attachedListeners.set(eventName, new Set());\n var listeners = attachedListeners.get(eventName);\n if (listeners.has(listenerName)) return;\n\n var supportsPassiveOption = function () {\n var supportsPassiveOption = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassiveOption = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n return supportsPassiveOption;\n }();\n target.addEventListener(eventName, listener, supportsPassiveOption ? { passive: true } : false);\n listeners.add(listenerName);\n};\n\nvar removePassiveEventListener = exports.removePassiveEventListener = function removePassiveEventListener(target, eventName, listener) {\n target.removeEventListener(eventName, listener);\n attachedListeners.get(eventName).delete(listener.name || eventName);\n};\n\nvar attachedListeners = new Map();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _scroller = require('./scroller');\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nexports.default = function (Component) {\n var Element = function (_React$Component) {\n _inherits(Element, _React$Component);\n\n function Element(props) {\n _classCallCheck(this, Element);\n\n var _this = _possibleConstructorReturn(this, (Element.__proto__ || Object.getPrototypeOf(Element)).call(this, props));\n\n _this.childBindings = {\n domNode: null\n };\n return _this;\n }\n\n _createClass(Element, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (typeof window === 'undefined') {\n return false;\n }\n this.registerElems(this.props.name);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n if (this.props.name !== prevProps.name) {\n this.registerElems(this.props.name);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window === 'undefined') {\n return false;\n }\n _scroller2.default.unregister(this.props.name);\n }\n }, {\n key: 'registerElems',\n value: function registerElems(name) {\n _scroller2.default.register(name, this.childBindings.domNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(Component, _extends({}, this.props, { parentBindings: this.childBindings }));\n }\n }]);\n\n return Element;\n }(_react2.default.Component);\n\n ;\n\n Element.propTypes = {\n name: _propTypes2.default.string,\n id: _propTypes2.default.string\n };\n\n return Element;\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar Events = {\n\tregistered: {},\n\tscrollEvent: {\n\t\tregister: function register(evtName, callback) {\n\t\t\tEvents.registered[evtName] = callback;\n\t\t},\n\t\tremove: function remove(evtName) {\n\t\t\tEvents.registered[evtName] = null;\n\t\t}\n\t}\n};\n\nexports.default = Events;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _passiveEventListeners = require('./passive-event-listeners');\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar scrollHash = {\n mountFlag: false,\n initialized: false,\n scroller: null,\n containers: {},\n\n mount: function mount(scroller) {\n this.scroller = scroller;\n\n this.handleHashChange = this.handleHashChange.bind(this);\n window.addEventListener('hashchange', this.handleHashChange);\n\n this.initStateFromHash();\n this.mountFlag = true;\n },\n mapContainer: function mapContainer(to, container) {\n this.containers[to] = container;\n },\n isMounted: function isMounted() {\n return this.mountFlag;\n },\n isInitialized: function isInitialized() {\n return this.initialized;\n },\n initStateFromHash: function initStateFromHash() {\n var _this = this;\n\n var hash = this.getHash();\n if (hash) {\n window.setTimeout(function () {\n _this.scrollTo(hash, true);\n _this.initialized = true;\n }, 10);\n } else {\n this.initialized = true;\n }\n },\n scrollTo: function scrollTo(to, isInit) {\n var scroller = this.scroller;\n var element = scroller.get(to);\n if (element && (isInit || to !== scroller.getActiveLink())) {\n var container = this.containers[to] || document;\n scroller.scrollTo(to, { container: container });\n }\n },\n getHash: function getHash() {\n return _utils2.default.getHash();\n },\n changeHash: function changeHash(to, saveHashHistory) {\n if (this.isInitialized() && _utils2.default.getHash() !== to) {\n _utils2.default.updateHash(to, saveHashHistory);\n }\n },\n handleHashChange: function handleHashChange() {\n this.scrollTo(this.getHash());\n },\n unmount: function unmount() {\n this.scroller = null;\n this.containers = null;\n window.removeEventListener('hashchange', this.handleHashChange);\n }\n};\n\nexports.default = scrollHash;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollSpy = require('./scroll-spy');\n\nvar _scrollSpy2 = _interopRequireDefault(_scrollSpy);\n\nvar _scroller = require('./scroller');\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _scrollHash = require('./scroll-hash');\n\nvar _scrollHash2 = _interopRequireDefault(_scrollHash);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar protoTypes = {\n to: _propTypes2.default.string.isRequired,\n containerId: _propTypes2.default.string,\n container: _propTypes2.default.object,\n activeClass: _propTypes2.default.string,\n activeStyle: _propTypes2.default.object,\n spy: _propTypes2.default.bool,\n horizontal: _propTypes2.default.bool,\n smooth: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string]),\n offset: _propTypes2.default.number,\n delay: _propTypes2.default.number,\n isDynamic: _propTypes2.default.bool,\n onClick: _propTypes2.default.func,\n duration: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n absolute: _propTypes2.default.bool,\n onSetActive: _propTypes2.default.func,\n onSetInactive: _propTypes2.default.func,\n ignoreCancelEvents: _propTypes2.default.bool,\n hashSpy: _propTypes2.default.bool,\n saveHashHistory: _propTypes2.default.bool,\n spyThrottle: _propTypes2.default.number\n};\n\nexports.default = function (Component, customScroller) {\n\n var scroller = customScroller || _scroller2.default;\n\n var Link = function (_React$PureComponent) {\n _inherits(Link, _React$PureComponent);\n\n function Link(props) {\n _classCallCheck(this, Link);\n\n var _this = _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n active: false\n };\n return _this;\n }\n\n _createClass(Link, [{\n key: 'getScrollSpyContainer',\n value: function getScrollSpyContainer() {\n var containerId = this.props.containerId;\n var container = this.props.container;\n\n if (containerId && !container) {\n return document.getElementById(containerId);\n }\n\n if (container && container.nodeType) {\n return container;\n }\n\n return document;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.spy || this.props.hashSpy) {\n var scrollSpyContainer = this.getScrollSpyContainer();\n\n if (!_scrollSpy2.default.isMounted(scrollSpyContainer)) {\n _scrollSpy2.default.mount(scrollSpyContainer, this.props.spyThrottle);\n }\n\n if (this.props.hashSpy) {\n if (!_scrollHash2.default.isMounted()) {\n _scrollHash2.default.mount(scroller);\n }\n _scrollHash2.default.mapContainer(this.props.to, scrollSpyContainer);\n }\n\n _scrollSpy2.default.addSpyHandler(this.spyHandler, scrollSpyContainer);\n\n this.setState({\n container: scrollSpyContainer\n });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _scrollSpy2.default.unmount(this.stateHandler, this.spyHandler);\n }\n }, {\n key: 'render',\n value: function render() {\n var className = \"\";\n\n if (this.state && this.state.active) {\n className = ((this.props.className || \"\") + \" \" + (this.props.activeClass || \"active\")).trim();\n } else {\n className = this.props.className;\n }\n\n var style = {};\n\n if (this.state && this.state.active) {\n style = _extends({}, this.props.style, this.props.activeStyle);\n } else {\n style = _extends({}, this.props.style);\n }\n\n var props = _extends({}, this.props);\n\n for (var prop in protoTypes) {\n if (props.hasOwnProperty(prop)) {\n delete props[prop];\n }\n }\n\n props.className = className;\n props.style = style;\n props.onClick = this.handleClick;\n\n return _react2.default.createElement(Component, props);\n }\n }]);\n\n return Link;\n }(_react2.default.PureComponent);\n\n var _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.scrollTo = function (to, props) {\n scroller.scrollTo(to, _extends({}, _this2.state, props));\n };\n\n this.handleClick = function (event) {\n\n /*\r\n * give the posibility to override onClick\r\n */\n\n if (_this2.props.onClick) {\n _this2.props.onClick(event);\n }\n\n /*\r\n * dont bubble the navigation\r\n */\n\n if (event.stopPropagation) event.stopPropagation();\n if (event.preventDefault) event.preventDefault();\n\n /*\r\n * do the magic!\r\n */\n _this2.scrollTo(_this2.props.to, _this2.props);\n };\n\n this.spyHandler = function (x, y) {\n var scrollSpyContainer = _this2.getScrollSpyContainer();\n\n if (_scrollHash2.default.isMounted() && !_scrollHash2.default.isInitialized()) {\n return;\n }\n\n var horizontal = _this2.props.horizontal;\n\n var to = _this2.props.to;\n var element = null;\n var isInside = void 0;\n var isOutside = void 0;\n\n if (horizontal) {\n var elemLeftBound = 0;\n var elemRightBound = 0;\n var containerLeft = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var containerCords = scrollSpyContainer.getBoundingClientRect();\n containerLeft = containerCords.left;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n if (!element) {\n return;\n }\n\n var cords = element.getBoundingClientRect();\n elemLeftBound = cords.left - containerLeft + x;\n elemRightBound = elemLeftBound + cords.width;\n }\n\n var offsetX = x - _this2.props.offset;\n isInside = offsetX >= Math.floor(elemLeftBound) && offsetX < Math.floor(elemRightBound);\n isOutside = offsetX < Math.floor(elemLeftBound) || offsetX >= Math.floor(elemRightBound);\n } else {\n var elemTopBound = 0;\n var elemBottomBound = 0;\n var containerTop = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var _containerCords = scrollSpyContainer.getBoundingClientRect();\n containerTop = _containerCords.top;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n if (!element) {\n return;\n }\n\n var _cords = element.getBoundingClientRect();\n elemTopBound = _cords.top - containerTop + y;\n elemBottomBound = elemTopBound + _cords.height;\n }\n\n var offsetY = y - _this2.props.offset;\n isInside = offsetY >= Math.floor(elemTopBound) && offsetY < Math.floor(elemBottomBound);\n isOutside = offsetY < Math.floor(elemTopBound) || offsetY >= Math.floor(elemBottomBound);\n }\n\n var activeLink = scroller.getActiveLink();\n\n if (isOutside) {\n if (to === activeLink) {\n scroller.setActiveLink(void 0);\n }\n\n if (_this2.props.hashSpy && _scrollHash2.default.getHash() === to) {\n var _props$saveHashHistor = _this2.props.saveHashHistory,\n saveHashHistory = _props$saveHashHistor === undefined ? false : _props$saveHashHistor;\n\n _scrollHash2.default.changeHash(\"\", saveHashHistory);\n }\n\n if (_this2.props.spy && _this2.state.active) {\n _this2.setState({ active: false });\n _this2.props.onSetInactive && _this2.props.onSetInactive(to, element);\n }\n }\n\n if (isInside && (activeLink !== to || _this2.state.active === false)) {\n scroller.setActiveLink(to);\n\n var _props$saveHashHistor2 = _this2.props.saveHashHistory,\n _saveHashHistory = _props$saveHashHistor2 === undefined ? false : _props$saveHashHistor2;\n\n _this2.props.hashSpy && _scrollHash2.default.changeHash(to, _saveHashHistory);\n\n if (_this2.props.spy) {\n _this2.setState({ active: true });\n _this2.props.onSetActive && _this2.props.onSetActive(to, element);\n }\n }\n };\n };\n\n ;\n\n Link.propTypes = protoTypes;\n\n Link.defaultProps = { offset: 0 };\n\n return Link;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _lodash = require('lodash.throttle');\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _passiveEventListeners = require('./passive-event-listeners');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// The eventHandler will execute at a rate of 15fps by default\nvar eventThrottler = function eventThrottler(eventHandler) {\n var throttleAmount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 66;\n return (0, _lodash2.default)(eventHandler, throttleAmount);\n};\n\nvar scrollSpy = {\n\n spyCallbacks: [],\n spySetState: [],\n scrollSpyContainers: [],\n\n mount: function mount(scrollSpyContainer, throttle) {\n if (scrollSpyContainer) {\n var eventHandler = eventThrottler(function (event) {\n scrollSpy.scrollHandler(scrollSpyContainer);\n }, throttle);\n scrollSpy.scrollSpyContainers.push(scrollSpyContainer);\n (0, _passiveEventListeners.addPassiveEventListener)(scrollSpyContainer, 'scroll', eventHandler);\n }\n },\n isMounted: function isMounted(scrollSpyContainer) {\n return scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer) !== -1;\n },\n currentPositionX: function currentPositionX(scrollSpyContainer) {\n if (scrollSpyContainer === document) {\n var supportPageOffset = window.pageYOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;\n } else {\n return scrollSpyContainer.scrollLeft;\n }\n },\n currentPositionY: function currentPositionY(scrollSpyContainer) {\n if (scrollSpyContainer === document) {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n } else {\n return scrollSpyContainer.scrollTop;\n }\n },\n scrollHandler: function scrollHandler(scrollSpyContainer) {\n var callbacks = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)].spyCallbacks || [];\n callbacks.forEach(function (c) {\n return c(scrollSpy.currentPositionX(scrollSpyContainer), scrollSpy.currentPositionY(scrollSpyContainer));\n });\n },\n addStateHandler: function addStateHandler(handler) {\n scrollSpy.spySetState.push(handler);\n },\n addSpyHandler: function addSpyHandler(handler, scrollSpyContainer) {\n var container = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)];\n\n if (!container.spyCallbacks) {\n container.spyCallbacks = [];\n }\n\n container.spyCallbacks.push(handler);\n\n handler(scrollSpy.currentPositionX(scrollSpyContainer), scrollSpy.currentPositionY(scrollSpyContainer));\n },\n updateStates: function updateStates() {\n scrollSpy.spySetState.forEach(function (s) {\n return s();\n });\n },\n unmount: function unmount(stateHandler, spyHandler) {\n scrollSpy.scrollSpyContainers.forEach(function (c) {\n return c.spyCallbacks && c.spyCallbacks.length && c.spyCallbacks.indexOf(spyHandler) > -1 && c.spyCallbacks.splice(c.spyCallbacks.indexOf(spyHandler), 1);\n });\n\n if (scrollSpy.spySetState && scrollSpy.spySetState.length && scrollSpy.spySetState.indexOf(stateHandler) > -1) {\n scrollSpy.spySetState.splice(scrollSpy.spySetState.indexOf(stateHandler), 1);\n }\n\n document.removeEventListener('scroll', scrollSpy.scrollHandler);\n },\n\n\n update: function update() {\n return scrollSpy.scrollSpyContainers.forEach(function (c) {\n return scrollSpy.scrollHandler(c);\n });\n }\n};\n\nexports.default = scrollSpy;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _animateScroll = require('./animate-scroll');\n\nvar _animateScroll2 = _interopRequireDefault(_animateScroll);\n\nvar _scrollEvents = require('./scroll-events');\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar __mapped = {};\nvar __activeLink = void 0;\n\nexports.default = {\n\n unmount: function unmount() {\n __mapped = {};\n },\n\n register: function register(name, element) {\n __mapped[name] = element;\n },\n\n unregister: function unregister(name) {\n delete __mapped[name];\n },\n\n get: function get(name) {\n return __mapped[name] || document.getElementById(name) || document.getElementsByName(name)[0] || document.getElementsByClassName(name)[0];\n },\n\n setActiveLink: function setActiveLink(link) {\n return __activeLink = link;\n },\n\n getActiveLink: function getActiveLink() {\n return __activeLink;\n },\n\n scrollTo: function scrollTo(to, props) {\n\n var target = this.get(to);\n\n if (!target) {\n console.warn(\"target Element not found\");\n return;\n }\n\n props = _extends({}, props, { absolute: false });\n\n var containerId = props.containerId;\n var container = props.container;\n\n var containerElement = void 0;\n if (containerId) {\n containerElement = document.getElementById(containerId);\n } else if (container && container.nodeType) {\n containerElement = container;\n } else {\n containerElement = document;\n }\n\n props.absolute = true;\n\n var horizontal = props.horizontal;\n var scrollOffset = _utils2.default.scrollOffset(containerElement, target, horizontal) + (props.offset || 0);\n\n /*\r\n * if animate is not provided just scroll into the view\r\n */\n if (!props.smooth) {\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](to, target);\n }\n\n if (containerElement === document) {\n if (props.horizontal) {\n window.scrollTo(scrollOffset, 0);\n } else {\n window.scrollTo(0, scrollOffset);\n }\n } else {\n containerElement.scrollTop = scrollOffset;\n }\n\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](to, target);\n }\n\n return;\n }\n\n /*\r\n * Animate scrolling\r\n */\n\n _animateScroll2.default.animateTopScroll(scrollOffset, props, to, target);\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n /*\r\n * https://github.com/oblador/angular-scroll (duScrollDefaultEasing)\r\n */\n defaultEasing: function defaultEasing(x) {\n if (x < 0.5) {\n return Math.pow(x * 2, 2) / 2;\n }\n return 1 - Math.pow((1 - x) * 2, 2) / 2;\n },\n /*\r\n * https://gist.github.com/gre/1650294\r\n */\n // no easing, no acceleration\n linear: function linear(x) {\n return x;\n },\n // accelerating from zero velocity\n easeInQuad: function easeInQuad(x) {\n return x * x;\n },\n // decelerating to zero velocity\n easeOutQuad: function easeOutQuad(x) {\n return x * (2 - x);\n },\n // acceleration until halfway, then deceleration\n easeInOutQuad: function easeInOutQuad(x) {\n return x < .5 ? 2 * x * x : -1 + (4 - 2 * x) * x;\n },\n // accelerating from zero velocity \n easeInCubic: function easeInCubic(x) {\n return x * x * x;\n },\n // decelerating to zero velocity π\n easeOutCubic: function easeOutCubic(x) {\n return --x * x * x + 1;\n },\n // acceleration until halfway, then deceleration \n easeInOutCubic: function easeInOutCubic(x) {\n return x < .5 ? 4 * x * x * x : (x - 1) * (2 * x - 2) * (2 * x - 2) + 1;\n },\n // accelerating from zero velocity \n easeInQuart: function easeInQuart(x) {\n return x * x * x * x;\n },\n // decelerating to zero velocity \n easeOutQuart: function easeOutQuart(x) {\n return 1 - --x * x * x * x;\n },\n // acceleration until halfway, then deceleration\n easeInOutQuart: function easeInOutQuart(x) {\n return x < .5 ? 8 * x * x * x * x : 1 - 8 * --x * x * x * x;\n },\n // accelerating from zero velocity\n easeInQuint: function easeInQuint(x) {\n return x * x * x * x * x;\n },\n // decelerating to zero velocity\n easeOutQuint: function easeOutQuint(x) {\n return 1 + --x * x * x * x * x;\n },\n // acceleration until halfway, then deceleration \n easeInOutQuint: function easeInOutQuint(x) {\n return x < .5 ? 16 * x * x * x * x * x : 1 + 16 * --x * x * x * x * x;\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar updateHash = function updateHash(hash, historyUpdate) {\n var hashVal = hash.indexOf(\"#\") === 0 ? hash.substring(1) : hash;\n var hashToUpdate = hashVal ? \"#\" + hashVal : \"\";\n var curLoc = window && window.location;\n var urlToPush = hashToUpdate ? curLoc.pathname + curLoc.search + hashToUpdate : curLoc.pathname + curLoc.search;\n historyUpdate ? history.pushState(history.state, \"\", urlToPush) : history.replaceState(history.state, \"\", urlToPush);\n};\n\nvar getHash = function getHash() {\n return window.location.hash.replace(/^#/, \"\");\n};\n\nvar filterElementInContainer = function filterElementInContainer(container) {\n return function (element) {\n return container.contains ? container != element && container.contains(element) : !!(container.compareDocumentPosition(element) & 16);\n };\n};\n\nvar isPositioned = function isPositioned(element) {\n return getComputedStyle(element).position !== \"static\";\n};\n\nvar getElementOffsetInfoUntil = function getElementOffsetInfoUntil(element, predicate) {\n var offsetTop = element.offsetTop;\n var currentOffsetParent = element.offsetParent;\n\n while (currentOffsetParent && !predicate(currentOffsetParent)) {\n offsetTop += currentOffsetParent.offsetTop;\n currentOffsetParent = currentOffsetParent.offsetParent;\n }\n\n return { offsetTop: offsetTop, offsetParent: currentOffsetParent };\n};\n\nvar scrollOffset = function scrollOffset(c, t, horizontal) {\n if (horizontal) {\n return c === document ? t.getBoundingClientRect().left + (window.scrollX || window.pageXOffset) : getComputedStyle(c).position !== \"static\" ? t.offsetLeft : t.offsetLeft - c.offsetLeft;\n } else {\n if (c === document) {\n return t.getBoundingClientRect().top + (window.scrollY || window.pageYOffset);\n }\n\n // The offsetParent of an element, according to MDN, is its nearest positioned\n // (an element whose position is anything other than static) ancestor. The offsetTop\n // of an element is taken with respect to its offsetParent which may not neccessarily\n // be its parentElement except the parent itself is positioned.\n\n // So if containerElement is positioned, then it must be an offsetParent somewhere\n // If it happens that targetElement is a descendant of the containerElement, and there\n // is not intermediate positioned element between the two of them, i.e.\n // targetElement\"s offsetParent is the same as the containerElement, then the\n // distance between the two will be the offsetTop of the targetElement.\n // If, on the other hand, there are intermediate positioned elements between the\n // two entities, the distance between the targetElement and the containerElement\n // will be the accumulation of the offsetTop of the element and that of its\n // subsequent offsetParent until the containerElement is reached, since it\n // will also be an offsetParent at some point due to the fact that it is positioned.\n\n // If the containerElement is not positioned, then it can\"t be an offsetParent,\n // which means that the offsetTop of the targetElement would not be with respect to it.\n // However, if the two of them happen to have the same offsetParent, then\n // the distance between them will be the difference between their offsetTop\n // since they are both taken with respect to the same entity.\n // The last resort would be to accumulate their offsetTop until a common\n // offsetParent is reached (usually the document) and taking the difference\n // between the accumulated offsetTops\n\n if (isPositioned(c)) {\n if (t.offsetParent !== c) {\n var isContainerElementOrDocument = function isContainerElementOrDocument(e) {\n return e === c || e === document;\n };\n\n var _getElementOffsetInfo = getElementOffsetInfoUntil(t, isContainerElementOrDocument),\n offsetTop = _getElementOffsetInfo.offsetTop,\n offsetParent = _getElementOffsetInfo.offsetParent;\n\n if (offsetParent !== c) {\n throw new Error(\"Seems containerElement is not an ancestor of the Element\");\n }\n\n return offsetTop;\n }\n\n return t.offsetTop;\n }\n\n if (t.offsetParent === c.offsetParent) {\n return t.offsetTop - c.offsetTop;\n }\n\n var isDocument = function isDocument(e) {\n return e === document;\n };\n return getElementOffsetInfoUntil(t, isDocument).offsetTop - getElementOffsetInfoUntil(c, isDocument).offsetTop;\n }\n};\n\nexports.default = {\n updateHash: updateHash,\n getHash: getHash,\n filterElementInContainer: filterElementInContainer,\n scrollOffset: scrollOffset\n};","'use strict'\n\nmodule.exports = require('./index.js')()\n","'use strict'\nmodule.exports = rfdc\n\nfunction copyBuffer (cur) {\n if (cur instanceof Buffer) {\n return Buffer.from(cur)\n }\n\n return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length)\n}\n\nfunction rfdc (opts) {\n opts = opts || {}\n\n if (opts.circles) return rfdcCircles(opts)\n return opts.proto ? cloneProto : clone\n\n function cloneArray (a, fn) {\n var keys = Object.keys(a)\n var a2 = new Array(keys.length)\n for (var i = 0; i < keys.length; i++) {\n var k = keys[i]\n var cur = a[k]\n if (typeof cur !== 'object' || cur === null) {\n a2[k] = cur\n } else if (cur instanceof Date) {\n a2[k] = new Date(cur)\n } else if (ArrayBuffer.isView(cur)) {\n a2[k] = copyBuffer(cur)\n } else {\n a2[k] = fn(cur)\n }\n }\n return a2\n }\n\n function clone (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, clone)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone))\n var o2 = {}\n for (var k in o) {\n if (Object.hasOwnProperty.call(o, k) === false) continue\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), clone))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), clone))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n o2[k] = clone(cur)\n }\n }\n return o2\n }\n\n function cloneProto (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, cloneProto)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto))\n var o2 = {}\n for (var k in o) {\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), cloneProto))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), cloneProto))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n o2[k] = cloneProto(cur)\n }\n }\n return o2\n }\n}\n\nfunction rfdcCircles (opts) {\n var refs = []\n var refsNew = []\n\n return opts.proto ? cloneProto : clone\n\n function cloneArray (a, fn) {\n var keys = Object.keys(a)\n var a2 = new Array(keys.length)\n for (var i = 0; i < keys.length; i++) {\n var k = keys[i]\n var cur = a[k]\n if (typeof cur !== 'object' || cur === null) {\n a2[k] = cur\n } else if (cur instanceof Date) {\n a2[k] = new Date(cur)\n } else if (ArrayBuffer.isView(cur)) {\n a2[k] = copyBuffer(cur)\n } else {\n var index = refs.indexOf(cur)\n if (index !== -1) {\n a2[k] = refsNew[index]\n } else {\n a2[k] = fn(cur)\n }\n }\n }\n return a2\n }\n\n function clone (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, clone)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), clone))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), clone))\n var o2 = {}\n refs.push(o)\n refsNew.push(o2)\n for (var k in o) {\n if (Object.hasOwnProperty.call(o, k) === false) continue\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), clone))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), clone))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n var i = refs.indexOf(cur)\n if (i !== -1) {\n o2[k] = refsNew[i]\n } else {\n o2[k] = clone(cur)\n }\n }\n }\n refs.pop()\n refsNew.pop()\n return o2\n }\n\n function cloneProto (o) {\n if (typeof o !== 'object' || o === null) return o\n if (o instanceof Date) return new Date(o)\n if (Array.isArray(o)) return cloneArray(o, cloneProto)\n if (o instanceof Map) return new Map(cloneArray(Array.from(o), cloneProto))\n if (o instanceof Set) return new Set(cloneArray(Array.from(o), cloneProto))\n var o2 = {}\n refs.push(o)\n refsNew.push(o2)\n for (var k in o) {\n var cur = o[k]\n if (typeof cur !== 'object' || cur === null) {\n o2[k] = cur\n } else if (cur instanceof Date) {\n o2[k] = new Date(cur)\n } else if (cur instanceof Map) {\n o2[k] = new Map(cloneArray(Array.from(cur), cloneProto))\n } else if (cur instanceof Set) {\n o2[k] = new Set(cloneArray(Array.from(cur), cloneProto))\n } else if (ArrayBuffer.isView(cur)) {\n o2[k] = copyBuffer(cur)\n } else {\n var i = refs.indexOf(cur)\n if (i !== -1) {\n o2[k] = refsNew[i]\n } else {\n o2[k] = cloneProto(cur)\n }\n }\n }\n refs.pop()\n refsNew.pop()\n return o2\n }\n}\n","import{jsx as e,Fragment as t}from\"react/jsx-runtime\";const n=\"sanity-visual-editing\";let i=null,o=null,l=null;function r(r={}){l&&clearTimeout(l);const d=new AbortController;return Promise.all([import(\"react-dom/client\"),import(\"./VisualEditing.js\")]).then((([l,{VisualEditing:u}])=>{if(!d.signal.aborted){if(i||(i=document.createElement(\"div\"),i.id=n,document.body.appendChild(i)),!o){const{createRoot:e}=\"default\"in l?l.default:l;o=e(i)}o.render(e(t,{children:e(u,{...r})}))}})),()=>{d.abort(),l=window.setTimeout((()=>{o&&(o.unmount(),o=null),i&&(document.body.removeChild(i),i=null)}),1e3)}}export{n as O,r as e};//# sourceMappingURL=enableVisualEditing.js.map\n"],"names":["UPPERCASE","LOWERCASE","LEADING_CAPITAL","IDENTIFIER","SEPARATORS","LEADING_SEPARATORS","RegExp","source","SEPARATORS_AND_IDENTIFIER","NUMBERS_AND_IDENTIFIER","camelCase","input","options","Array","isArray","TypeError","pascalCase","preserveConsecutiveUppercase","map","x","trim","filter","length","join","toLowerCase","locale","string","toLocaleLowerCase","toUpperCase","toLocaleUpperCase","isLastCharLower","isLastCharUpper","isLastLastCharUpper","i","character","test","slice","preserveCamelCase","replace","lastIndex","m1","charAt","_","identifier","m","postProcess","module","exports","equal","a","b","constructor","keys","Map","size","entries","has","get","Set","ArrayBuffer","isView","flags","valueOf","Object","prototype","toString","hasOwnProperty","call","key","$$typeof","g","p","f","w","y","e","console","warn","v","sortNumeric","t","E","getSizes","k","src","width","S","lastIndexOf","M","layout","height","sourceMetadata","s","breakpoints","r","aspectRatio","n","formats","o","l","h","Math","round","N","generateImageSource","filename","format","fit","$","pluginName","d","reporter","c","backgroundColor","u","placeholderURL","Error","delete","add","_ref","_ref2","outputPixelDensities","I","j","sizes","presentationWidth","presentationHeight","unscaledWidth","sources","forEach","Boolean","find","fallback","srcSet","push","type","L","images","placeholder","from","concat","_toConsumableArray","sort","_ref3","min","includes","Number","MAX_SAFE_INTEGER","max","T","W","hasNativeLazyLoadSupport","HTMLImageElement","gatsbyImageData","gatsbyImage","childImageSharp","C","O","z","className","style","D","baseUrl","urlBuilder","sourceWidth","sourceHeight","P","loading","shouldLoad","opacity","A","position","top","left","bottom","right","objectFit","objectPosition","transition","q","_s$images$sources2","_r$sources","_ref4","_s$images$sources","media","image","apply","H","F","_ref5","paddingTop","maxWidth","display","alt","role","G","children","V","B","U","decoding","Y","_ref6","X","propTypes","isRequired","displayName","J","Z","K","Q","ee","te","ae","_len","arguments","_key","ie","se","re","ne","oe","le","de","as","class","onStartLoad","onLoad","onError","JSON","stringify","then","_ref7","renderImageToString","swapPlaceholderImage","current","querySelector","complete","wasCached","setTimeout","removeAttribute","addEventListener","removeEventListener","_ref8","innerHTML","isLoading","isLoaded","requestAnimationFrame","cancelAnimationFrame","ref","dangerouslySetInnerHTML","__html","suppressHydrationWarning","ce","he","ue","__imageData","__error","ge","imgClassName","imgStyle","pe","_len2","_key2","me","fe","we","_extends","assign","bind","target","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","indexOf","loadAnimation","Lottie","emptyObject","noOp","LottiePlayer","memo","forwardRef","params","forwardedRef","animationData","path","_params$play","play","_params$speed","speed","_params$direction","direction","_params$segments","segments","segmentsIn","_params$goTo","goTo","_params$useSubframes","useSubframes","_params$renderer","renderer","_params$loop","loop","_params$rendererSetti","rendererSettings","rendererSettingsIn","audioFactory","_params$onLoad","_params$onComplete","onComplete","_params$onLoopComplet","onLoopComplete","_params$onEnterFrame","onEnterFrame","_params$onSegmentStar","onSegmentStart","props","propsFiltered","_props","_props2","animElementRef","useRef","animRef","getAnim","useCallback","_useState","useState","ready","setReady","_useState2","setSegments","useEffect","_useState3","setRendererSettings","setLottieRefs","newRef","lottie","container","autoplay","onDomLoaded","destroy","undefined","wasPlayingSegmentsRef","force","playSegments","playReverse","resetSegments","getDuration","pause","lastFrame","goToAndPlay","setDirection","isNaN","setSpeed","isFrame","goToAndStop","setSubframe","playerRef","isPlaying","setIsPlaying","React","logoAnimationData","handleComplete","Button","label","color","Component","href","classNames","isBrowser","window","getRandomArbitrary","random","createCircle","circles","innerWidth","radius","speedX","speedY","DynamicBackground","mutedBg","rest","canvasRef","context","setContext","useMemo","circlesArray","draw","canvas","clearRect","circle","beginPath","fillStyle","arc","PI","fill","ctx","getContext","animationFrameId","render","getBoundingClientRect","devicePixelRatio","ratio","scale","resizeCanvas","VisualEditing","disable","enableVisualEditing","zIndex","LINKS","Footer","link","TYPEFORM_URL","rel","StaticImage","require","StickyHeader","linkToHome","isVisible","setIsVisible","handleScroll","heroHeight","innerHeight","scrollPosition","scrollY","LogoWrapper","Link","to","AnimatedLogo","ScrollLink","spy","smooth","offset","duration","MobileNavbar","NavLinks","NoCookiesBanner","showBanner","setShowBanner","sessionStorage","getItem","trackFathomEvent","useFathomEvent","onCloseBanner","setItem","noCookiesLogo","onClick","handleClick","closeIcon","Layout","stickyHeader","isMobileSidebarOpen","setIsMobileSidebarOpen","viewBox","xmlns","NavLink","isExternalLink","Logo","theme","Navbar","eventName","debug","fathom","trackEvent","log","error","FUNC_ERROR_TEXT","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","freeSelf","self","root","Function","objectToString","nativeMax","nativeMin","now","Date","debounce","func","wait","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","args","thisArg","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","remainingWait","debounced","isInvoking","leadingEdge","toNumber","isObject","cancel","clearTimeout","flush","value","isObjectLike","isSymbol","other","isBinary","defineProperty","_createClass","defineProperties","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","_react2","_interopRequireDefault","_scrollLink2","obj","__esModule","default","ButtonElement","_React$Component","instance","_classCallCheck","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","subClass","superClass","create","setPrototypeOf","_inherits","createElement","_scrollElement2","_propTypes2","ElementWrapper","_this2","newProps","name","parentBindings","el","domNode","id","LinkElement","_temp","_this","_Link2","_Button2","_Element2","_scroller2","_scrollEvents2","_scrollSpy2","_animateScroll2","_Helpers2","scrollSpy","defaultScroller","PropTypes","scrollHash","protoTypes","containerId","object","activeClass","bool","oneOfType","number","delay","isDynamic","absolute","onSetActive","onSetInactive","ignoreCancelEvents","hashSpy","spyThrottle","Helpers","Scroll","customScroller","scroller","_initialiseProps","state","active","document","getElementById","nodeType","scrollSpyContainer","getScrollSpyContainer","isMounted","mount","mapContainer","addStateHandler","stateHandler","addSpyHandler","spyHandler","setState","unmount","prop","scrollTo","event","stopPropagation","preventDefault","getActiveLink","isInitialized","element","elemTopBound","elemBottomBound","containerTop","cords","offsetY","isInside","floor","isOutside","activeLink","setActiveLink","getHash","changeHash","updateStates","defaultProps","Element","_React$Component2","_this3","childBindings","registerElems","prevProps","unregister","register","_smooth2","_cancelEvents2","getAnimationType","defaultEasing","requestAnimationFrameHelper","webkitRequestAnimationFrame","currentWindowProperties","callback","getTime","currentPositionX","containerElement","data","body","scrollLeft","supportPageOffset","pageXOffset","isCSS1Compat","compatMode","documentElement","currentPositionY","scrollTop","pageYOffset","animateScroll","easing","timestamp","delta","targetPosition","startPosition","start","progress","percent","currentPosition","ceil","horizontal","easedAnimate","registered","setContainer","animateTopScroll","scrollOffset","delayTimeout","subscribe","parseFloat","proceedOptions","scrollToTop","scrollToBottom","scrollWidth","offsetWidth","html","clientWidth","scrollContainerWidth","scrollHeight","offsetHeight","clientHeight","scrollContainerHeight","toPosition","scrollMore","_passiveEventListeners","events","cancelEvent","addPassiveEventListener","listener","listenerName","attachedListeners","set","listeners","supportsPassiveOption","opts","passive","removePassiveEventListener","Events","scrollEvent","evtName","remove","_utils","_utils2","mountFlag","initialized","containers","handleHashChange","initStateFromHash","hash","isInit","saveHashHistory","updateHash","_scrollHash2","activeStyle","_React$PureComponent","PureComponent","elemLeftBound","elemRightBound","containerLeft","offsetX","_cords","_props$saveHashHistor","_props$saveHashHistor2","_saveHashHistory","_lodash","_lodash2","spyCallbacks","spySetState","scrollSpyContainers","throttle","eventHandler","throttleAmount","eventThrottler","scrollHandler","handler","splice","update","__mapped","__activeLink","getElementsByName","getElementsByClassName","pow","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","getElementOffsetInfoUntil","predicate","offsetTop","currentOffsetParent","offsetParent","historyUpdate","hashVal","substring","hashToUpdate","curLoc","location","urlToPush","pathname","search","history","pushState","replaceState","filterElementInContainer","contains","compareDocumentPosition","scrollX","getComputedStyle","offsetLeft","_getElementOffsetInfo","isDocument","copyBuffer","cur","Buffer","buffer","byteOffset","refs","refsNew","proto","cloneProto","cloneArray","o2","pop","clone","fn","a2","index","rfdcCircles","AbortController","Promise","all","signal","aborted","appendChild","createRoot","abort","removeChild"],"sourceRoot":""}