{"version":3,"sources":["webpack:///./src/components/common/ImageObject/index.tsx","webpack:///./node_modules/lazysizes/lazysizes.js","webpack:///./node_modules/lazysizes/plugins/attrchange/ls.attrchange.js"],"names":["defaultWidths","aspectRatioMap","image","widthSizes","aspectRatio","isDarkened","useFocalPoint","fitType","isLoaded","noAnimate","focalPoint","setFocalPoint","srcset","setSrcset","xPercentile","x","file","details","width","yPercentile","y","height","objectPosition","src","map","size","index","url","Math","ceil","Number","join","classes","push","onLoad","data-sizes","data-srcset","data-src","className","alt","title","style","undefined","window","factory","lazySizes","document","Date","lazysizes","lazySizesCfg","prop","lazySizesDefaults","lazyClass","loadedClass","loadingClass","preloadClass","errorClass","autosizesClass","fastLoadedClass","iframeLoadMode","srcAttr","srcsetAttr","sizesAttr","minSize","customMedia","init","expFactor","hFac","loadMode","loadHidden","ricTimeout","throttleDelay","lazySizesConfig","lazysizesConfig","getElementsByClassName","cfg","noSupport","docElem","documentElement","supportPicture","HTMLPictureElement","addEventListener","bind","setTimeout","requestAnimationFrame","requestIdleCallback","regPicture","loadEvents","regClassCache","forEach","Array","prototype","hasClass","ele","cls","RegExp","test","addClass","setAttribute","trim","removeClass","reg","replace","addRemoveLoadEvents","dom","fn","add","action","evt","triggerEvent","elem","name","detail","noBubbles","noCancelable","event","createEvent","instance","initEvent","dispatchEvent","updatePolyfill","el","full","polyfill","picturefill","pf","reevaluate","elements","getCSS","getComputedStyle","getWidth","parent","offsetWidth","_lazysizesWidth","parentNode","rAF","firstFns","secondFns","fns","run","runFns","length","running","waiting","shift","rafBatch","queue","apply","this","arguments","hidden","_lsFlush","rAFIt","simple","that","args","debounce","func","timeout","timestamp","later","last","now","loader","regImg","regIframe","supportScroll","navigator","userAgent","currentExpand","isLoading","lowRuns","resetPreloading","e","target","isVisible","isBodyHidden","body","isNestedVisible","elemExpand","outerRect","visible","eLtop","eLbottom","eLleft","eLright","offsetParent","getBoundingClientRect","left","right","top","bottom","checkElements","eLlen","i","rect","autoLoadElem","loadedSomething","elemNegativeExpand","elemExpandVal","beforeExpandVal","defaultExpand","preloadExpand","lazyloadElems","_lazyRace","prematureUnveil","unveilElement","expand","clientHeight","clientWidth","_defEx","eLvW","innerWidth","elvH","innerHeight","isCompleted","preloadElems","preloadAfterLoad","throttledCheckElements","lastTime","gDelay","rICTimeout","idleCallback","isPriority","delay","throttle","switchLoadingClass","_lazyCache","rafSwitchLoadingClass","rafedSwitchLoadingClass","handleSources","source","sourceSrcset","lazyUnveil","isAuto","sizes","isImg","isPicture","firesLoad","defaultPrevented","nodeName","clearTimeout","resetPreloadingTimer","call","getElementsByTagName","getAttribute","contentWindow","location","changeIframeSrc","complete","naturalWidth","loading","autoSizer","updateElem","afterScroll","altLoadmodeScrollListner","onload","started","_","persisted","loadingElements","querySelectorAll","img","MutationObserver","observe","childList","subtree","attributes","setInterval","readyState","checkElems","unveil","_aLSL","sizeElement","sources","len","dataAttr","getSizeElement","debouncedUpdateElementsSizes","autosizesElems","uP","aC","rC","hC","fire","gW","module","exports","addObserver","connect","disconnect","observer","connected","runs","modifications","callMutations","lsCfg","regClassTest","setClass","unloadedClass","display","onMutation","mutations","mutation","attributeName","localName","querySelector","attributeFilter","Object","keys","attrName","newValue","removeEventListener"],"mappings":"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","file":"habitat.42.component.js","sourcesContent":["import * as React from 'react';\r\nimport { useState, useEffect } from 'react';\r\nimport { Image as ImageType } from '../../../typings';\r\nimport 'lazysizes';\r\nimport 'lazysizes/plugins/attrchange/ls.attrchange';\r\nimport './styles.scss';\r\n\r\nconst defaultWidths = ['400', '800', '1200', '2400', '4000'];\r\n\r\nconst aspectRatioMap: Record = {\r\n '2x1': 0.5,\r\n '16x9': 0.5625,\r\n '3x2': 0.667,\r\n '4x3': 0.75,\r\n '1x1': 1,\r\n '4x5': 1.2,\r\n '2x3': 1.5,\r\n};\r\n\r\ninterface ImageObjectProps {\r\n image: ImageType;\r\n widthSizes?: string[];\r\n isDarkened?: boolean;\r\n useFocalPoint?: boolean;\r\n fitType?: 'contain' | 'cover'\r\n isLoaded?: () => void;\r\n noAnimate?: boolean;\r\n aspectRatio?: string;\r\n}\r\n\r\ninterface FocalStyle {\r\n objectPosition: string;\r\n}\r\n\r\nconst ImageObject = ({\r\n image,\r\n widthSizes = defaultWidths,\r\n aspectRatio,\r\n isDarkened = false,\r\n useFocalPoint = true,\r\n fitType = 'cover',\r\n isLoaded,\r\n noAnimate,\r\n}: ImageObjectProps) => {\r\n const [focalPoint, setFocalPoint] = useState();\r\n const [srcset, setSrcset] = useState();\r\n\r\n useEffect(() => {\r\n if (image.focalPoint) {\r\n // @ts-ignore\r\n const xPercentile = (image.focalPoint.x / image.file.details?.image?.width) * 100;\r\n // @ts-ignore\r\n const yPercentile = (image.focalPoint.y / image.file.details?.image?.height) * 100;\r\n setFocalPoint({\r\n objectPosition: `${xPercentile}% ${yPercentile}%`,\r\n });\r\n }\r\n\r\n const src = widthSizes\r\n .map((size: string, index: number) => `${image.file.url}?fit=thumb&fl=progressive&w=${size}&h=${aspectRatio ? Math.ceil(Number(widthSizes[index]) * aspectRatioMap[aspectRatio]) : ''} ${size}w`);\r\n\r\n setSrcset(src.join(','));\r\n }, [image]);\r\n\r\n const classes = [\r\n 'image-object',\r\n `image-object--${fitType}`,\r\n 'lazyload',\r\n ];\r\n if (isDarkened) {\r\n classes.push('has-opacity');\r\n }\r\n if (noAnimate) {\r\n classes.push('image-object--no-animate');\r\n }\r\n\r\n return (\r\n isLoaded?.()}\r\n data-sizes=\"auto\"\r\n data-srcset={srcset}\r\n data-src={`${image.file.url}?fit=thumb&fl=progressive&w=${widthSizes[0]}&h=${aspectRatio ? Math.ceil(Number(widthSizes[0]) * aspectRatioMap[aspectRatio]) : ''}`}\r\n className={classes.join(' ')}\r\n alt={image.title ? image.title : 'image with no description'}\r\n style={useFocalPoint ? focalPoint : undefined}\r\n />\r\n );\r\n};\r\n\r\nexport default ImageObject;\r\n","(function(window, factory) {\n\tvar lazySizes = factory(window, window.document, Date);\n\twindow.lazySizes = lazySizes;\n\tif(typeof module == 'object' && module.exports){\n\t\tmodule.exports = lazySizes;\n\t}\n}(typeof window != 'undefined' ?\n window : {}, \n/**\n * import(\"./types/global\")\n * @typedef { import(\"./types/lazysizes-config\").LazySizesConfigPartial } LazySizesConfigPartial\n */\nfunction l(window, document, Date) { // Pass in the window Date function also for SSR because the Date class can be lost\n\t'use strict';\n\t/*jshint eqnull:true */\n\n\tvar lazysizes,\n\t\t/**\n\t\t * @type { LazySizesConfigPartial }\n\t\t */\n\t\tlazySizesCfg;\n\n\t(function(){\n\t\tvar prop;\n\n\t\tvar lazySizesDefaults = {\n\t\t\tlazyClass: 'lazyload',\n\t\t\tloadedClass: 'lazyloaded',\n\t\t\tloadingClass: 'lazyloading',\n\t\t\tpreloadClass: 'lazypreload',\n\t\t\terrorClass: 'lazyerror',\n\t\t\t//strictClass: 'lazystrict',\n\t\t\tautosizesClass: 'lazyautosizes',\n\t\t\tfastLoadedClass: 'ls-is-cached',\n\t\t\tiframeLoadMode: 0,\n\t\t\tsrcAttr: 'data-src',\n\t\t\tsrcsetAttr: 'data-srcset',\n\t\t\tsizesAttr: 'data-sizes',\n\t\t\t//preloadAfterLoad: false,\n\t\t\tminSize: 40,\n\t\t\tcustomMedia: {},\n\t\t\tinit: true,\n\t\t\texpFactor: 1.5,\n\t\t\thFac: 0.8,\n\t\t\tloadMode: 2,\n\t\t\tloadHidden: true,\n\t\t\tricTimeout: 0,\n\t\t\tthrottleDelay: 125,\n\t\t};\n\n\t\tlazySizesCfg = window.lazySizesConfig || window.lazysizesConfig || {};\n\n\t\tfor(prop in lazySizesDefaults){\n\t\t\tif(!(prop in lazySizesCfg)){\n\t\t\t\tlazySizesCfg[prop] = lazySizesDefaults[prop];\n\t\t\t}\n\t\t}\n\t})();\n\n\tif (!document || !document.getElementsByClassName) {\n\t\treturn {\n\t\t\tinit: function () {},\n\t\t\t/**\n\t\t\t * @type { LazySizesConfigPartial }\n\t\t\t */\n\t\t\tcfg: lazySizesCfg,\n\t\t\t/**\n\t\t\t * @type { true }\n\t\t\t */\n\t\t\tnoSupport: true,\n\t\t};\n\t}\n\n\tvar docElem = document.documentElement;\n\n\tvar supportPicture = window.HTMLPictureElement;\n\n\tvar _addEventListener = 'addEventListener';\n\n\tvar _getAttribute = 'getAttribute';\n\n\t/**\n\t * Update to bind to window because 'this' becomes null during SSR\n\t * builds.\n\t */\n\tvar addEventListener = window[_addEventListener].bind(window);\n\n\tvar setTimeout = window.setTimeout;\n\n\tvar requestAnimationFrame = window.requestAnimationFrame || setTimeout;\n\n\tvar requestIdleCallback = window.requestIdleCallback;\n\n\tvar regPicture = /^picture$/i;\n\n\tvar loadEvents = ['load', 'error', 'lazyincluded', '_lazyloaded'];\n\n\tvar regClassCache = {};\n\n\tvar forEach = Array.prototype.forEach;\n\n\t/**\n\t * @param ele {Element}\n\t * @param cls {string}\n\t */\n\tvar hasClass = function(ele, cls) {\n\t\tif(!regClassCache[cls]){\n\t\t\tregClassCache[cls] = new RegExp('(\\\\s|^)'+cls+'(\\\\s|$)');\n\t\t}\n\t\treturn regClassCache[cls].test(ele[_getAttribute]('class') || '') && regClassCache[cls];\n\t};\n\n\t/**\n\t * @param ele {Element}\n\t * @param cls {string}\n\t */\n\tvar addClass = function(ele, cls) {\n\t\tif (!hasClass(ele, cls)){\n\t\t\tele.setAttribute('class', (ele[_getAttribute]('class') || '').trim() + ' ' + cls);\n\t\t}\n\t};\n\n\t/**\n\t * @param ele {Element}\n\t * @param cls {string}\n\t */\n\tvar removeClass = function(ele, cls) {\n\t\tvar reg;\n\t\tif ((reg = hasClass(ele,cls))) {\n\t\t\tele.setAttribute('class', (ele[_getAttribute]('class') || '').replace(reg, ' '));\n\t\t}\n\t};\n\n\tvar addRemoveLoadEvents = function(dom, fn, add){\n\t\tvar action = add ? _addEventListener : 'removeEventListener';\n\t\tif(add){\n\t\t\taddRemoveLoadEvents(dom, fn);\n\t\t}\n\t\tloadEvents.forEach(function(evt){\n\t\t\tdom[action](evt, fn);\n\t\t});\n\t};\n\n\t/**\n\t * @param elem { Element }\n\t * @param name { string }\n\t * @param detail { any }\n\t * @param noBubbles { boolean }\n\t * @param noCancelable { boolean }\n\t * @returns { CustomEvent }\n\t */\n\tvar triggerEvent = function(elem, name, detail, noBubbles, noCancelable){\n\t\tvar event = document.createEvent('Event');\n\n\t\tif(!detail){\n\t\t\tdetail = {};\n\t\t}\n\n\t\tdetail.instance = lazysizes;\n\n\t\tevent.initEvent(name, !noBubbles, !noCancelable);\n\n\t\tevent.detail = detail;\n\n\t\telem.dispatchEvent(event);\n\t\treturn event;\n\t};\n\n\tvar updatePolyfill = function (el, full){\n\t\tvar polyfill;\n\t\tif( !supportPicture && ( polyfill = (window.picturefill || lazySizesCfg.pf) ) ){\n\t\t\tif(full && full.src && !el[_getAttribute]('srcset')){\n\t\t\t\tel.setAttribute('srcset', full.src);\n\t\t\t}\n\t\t\tpolyfill({reevaluate: true, elements: [el]});\n\t\t} else if(full && full.src){\n\t\t\tel.src = full.src;\n\t\t}\n\t};\n\n\tvar getCSS = function (elem, style){\n\t\treturn (getComputedStyle(elem, null) || {})[style];\n\t};\n\n\t/**\n\t *\n\t * @param elem { Element }\n\t * @param parent { Element }\n\t * @param [width] {number}\n\t * @returns {number}\n\t */\n\tvar getWidth = function(elem, parent, width){\n\t\twidth = width || elem.offsetWidth;\n\n\t\twhile(width < lazySizesCfg.minSize && parent && !elem._lazysizesWidth){\n\t\t\twidth = parent.offsetWidth;\n\t\t\tparent = parent.parentNode;\n\t\t}\n\n\t\treturn width;\n\t};\n\n\tvar rAF = (function(){\n\t\tvar running, waiting;\n\t\tvar firstFns = [];\n\t\tvar secondFns = [];\n\t\tvar fns = firstFns;\n\n\t\tvar run = function(){\n\t\t\tvar runFns = fns;\n\n\t\t\tfns = firstFns.length ? secondFns : firstFns;\n\n\t\t\trunning = true;\n\t\t\twaiting = false;\n\n\t\t\twhile(runFns.length){\n\t\t\t\trunFns.shift()();\n\t\t\t}\n\n\t\t\trunning = false;\n\t\t};\n\n\t\tvar rafBatch = function(fn, queue){\n\t\t\tif(running && !queue){\n\t\t\t\tfn.apply(this, arguments);\n\t\t\t} else {\n\t\t\t\tfns.push(fn);\n\n\t\t\t\tif(!waiting){\n\t\t\t\t\twaiting = true;\n\t\t\t\t\t(document.hidden ? setTimeout : requestAnimationFrame)(run);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\trafBatch._lsFlush = run;\n\n\t\treturn rafBatch;\n\t})();\n\n\tvar rAFIt = function(fn, simple){\n\t\treturn simple ?\n\t\t\tfunction() {\n\t\t\t\trAF(fn);\n\t\t\t} :\n\t\t\tfunction(){\n\t\t\t\tvar that = this;\n\t\t\t\tvar args = arguments;\n\t\t\t\trAF(function(){\n\t\t\t\t\tfn.apply(that, args);\n\t\t\t\t});\n\t\t\t}\n\t\t;\n\t};\n\n\tvar throttle = function(fn){\n\t\tvar running;\n\t\tvar lastTime = 0;\n\t\tvar gDelay = lazySizesCfg.throttleDelay;\n\t\tvar rICTimeout = lazySizesCfg.ricTimeout;\n\t\tvar run = function(){\n\t\t\trunning = false;\n\t\t\tlastTime = Date.now();\n\t\t\tfn();\n\t\t};\n\t\tvar idleCallback = requestIdleCallback && rICTimeout > 49 ?\n\t\t\tfunction(){\n\t\t\t\trequestIdleCallback(run, {timeout: rICTimeout});\n\n\t\t\t\tif(rICTimeout !== lazySizesCfg.ricTimeout){\n\t\t\t\t\trICTimeout = lazySizesCfg.ricTimeout;\n\t\t\t\t}\n\t\t\t} :\n\t\t\trAFIt(function(){\n\t\t\t\tsetTimeout(run);\n\t\t\t}, true)\n\t\t;\n\n\t\treturn function(isPriority){\n\t\t\tvar delay;\n\n\t\t\tif((isPriority = isPriority === true)){\n\t\t\t\trICTimeout = 33;\n\t\t\t}\n\n\t\t\tif(running){\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\trunning = true;\n\n\t\t\tdelay = gDelay - (Date.now() - lastTime);\n\n\t\t\tif(delay < 0){\n\t\t\t\tdelay = 0;\n\t\t\t}\n\n\t\t\tif(isPriority || delay < 9){\n\t\t\t\tidleCallback();\n\t\t\t} else {\n\t\t\t\tsetTimeout(idleCallback, delay);\n\t\t\t}\n\t\t};\n\t};\n\n\t//based on http://modernjavascript.blogspot.de/2013/08/building-better-debounce.html\n\tvar debounce = function(func) {\n\t\tvar timeout, timestamp;\n\t\tvar wait = 99;\n\t\tvar run = function(){\n\t\t\ttimeout = null;\n\t\t\tfunc();\n\t\t};\n\t\tvar later = function() {\n\t\t\tvar last = Date.now() - timestamp;\n\n\t\t\tif (last < wait) {\n\t\t\t\tsetTimeout(later, wait - last);\n\t\t\t} else {\n\t\t\t\t(requestIdleCallback || run)(run);\n\t\t\t}\n\t\t};\n\n\t\treturn function() {\n\t\t\ttimestamp = Date.now();\n\n\t\t\tif (!timeout) {\n\t\t\t\ttimeout = setTimeout(later, wait);\n\t\t\t}\n\t\t};\n\t};\n\n\tvar loader = (function(){\n\t\tvar preloadElems, isCompleted, resetPreloadingTimer, loadMode, started;\n\n\t\tvar eLvW, elvH, eLtop, eLleft, eLright, eLbottom, isBodyHidden;\n\n\t\tvar regImg = /^img$/i;\n\t\tvar regIframe = /^iframe$/i;\n\n\t\tvar supportScroll = ('onscroll' in window) && !(/(gle|ing)bot/.test(navigator.userAgent));\n\n\t\tvar shrinkExpand = 0;\n\t\tvar currentExpand = 0;\n\n\t\tvar isLoading = 0;\n\t\tvar lowRuns = -1;\n\n\t\tvar resetPreloading = function(e){\n\t\t\tisLoading--;\n\t\t\tif(!e || isLoading < 0 || !e.target){\n\t\t\t\tisLoading = 0;\n\t\t\t}\n\t\t};\n\n\t\tvar isVisible = function (elem) {\n\t\t\tif (isBodyHidden == null) {\n\t\t\t\tisBodyHidden = getCSS(document.body, 'visibility') == 'hidden';\n\t\t\t}\n\n\t\t\treturn isBodyHidden || !(getCSS(elem.parentNode, 'visibility') == 'hidden' && getCSS(elem, 'visibility') == 'hidden');\n\t\t};\n\n\t\tvar isNestedVisible = function(elem, elemExpand){\n\t\t\tvar outerRect;\n\t\t\tvar parent = elem;\n\t\t\tvar visible = isVisible(elem);\n\n\t\t\teLtop -= elemExpand;\n\t\t\teLbottom += elemExpand;\n\t\t\teLleft -= elemExpand;\n\t\t\teLright += elemExpand;\n\n\t\t\twhile(visible && (parent = parent.offsetParent) && parent != document.body && parent != docElem){\n\t\t\t\tvisible = ((getCSS(parent, 'opacity') || 1) > 0);\n\n\t\t\t\tif(visible && getCSS(parent, 'overflow') != 'visible'){\n\t\t\t\t\touterRect = parent.getBoundingClientRect();\n\t\t\t\t\tvisible = eLright > outerRect.left &&\n\t\t\t\t\t\teLleft < outerRect.right &&\n\t\t\t\t\t\teLbottom > outerRect.top - 1 &&\n\t\t\t\t\t\teLtop < outerRect.bottom + 1\n\t\t\t\t\t;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn visible;\n\t\t};\n\n\t\tvar checkElements = function() {\n\t\t\tvar eLlen, i, rect, autoLoadElem, loadedSomething, elemExpand, elemNegativeExpand, elemExpandVal,\n\t\t\t\tbeforeExpandVal, defaultExpand, preloadExpand, hFac;\n\t\t\tvar lazyloadElems = lazysizes.elements;\n\n\t\t\tif((loadMode = lazySizesCfg.loadMode) && isLoading < 8 && (eLlen = lazyloadElems.length)){\n\n\t\t\t\ti = 0;\n\n\t\t\t\tlowRuns++;\n\n\t\t\t\tfor(; i < eLlen; i++){\n\n\t\t\t\t\tif(!lazyloadElems[i] || lazyloadElems[i]._lazyRace){continue;}\n\n\t\t\t\t\tif(!supportScroll || (lazysizes.prematureUnveil && lazysizes.prematureUnveil(lazyloadElems[i]))){unveilElement(lazyloadElems[i]);continue;}\n\n\t\t\t\t\tif(!(elemExpandVal = lazyloadElems[i][_getAttribute]('data-expand')) || !(elemExpand = elemExpandVal * 1)){\n\t\t\t\t\t\telemExpand = currentExpand;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!defaultExpand) {\n\t\t\t\t\t\tdefaultExpand = (!lazySizesCfg.expand || lazySizesCfg.expand < 1) ?\n\t\t\t\t\t\t\tdocElem.clientHeight > 500 && docElem.clientWidth > 500 ? 500 : 370 :\n\t\t\t\t\t\t\tlazySizesCfg.expand;\n\n\t\t\t\t\t\tlazysizes._defEx = defaultExpand;\n\n\t\t\t\t\t\tpreloadExpand = defaultExpand * lazySizesCfg.expFactor;\n\t\t\t\t\t\thFac = lazySizesCfg.hFac;\n\t\t\t\t\t\tisBodyHidden = null;\n\n\t\t\t\t\t\tif(currentExpand < preloadExpand && isLoading < 1 && lowRuns > 2 && loadMode > 2 && !document.hidden){\n\t\t\t\t\t\t\tcurrentExpand = preloadExpand;\n\t\t\t\t\t\t\tlowRuns = 0;\n\t\t\t\t\t\t} else if(loadMode > 1 && lowRuns > 1 && isLoading < 6){\n\t\t\t\t\t\t\tcurrentExpand = defaultExpand;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcurrentExpand = shrinkExpand;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif(beforeExpandVal !== elemExpand){\n\t\t\t\t\t\teLvW = innerWidth + (elemExpand * hFac);\n\t\t\t\t\t\telvH = innerHeight + elemExpand;\n\t\t\t\t\t\telemNegativeExpand = elemExpand * -1;\n\t\t\t\t\t\tbeforeExpandVal = elemExpand;\n\t\t\t\t\t}\n\n\t\t\t\t\trect = lazyloadElems[i].getBoundingClientRect();\n\n\t\t\t\t\tif ((eLbottom = rect.bottom) >= elemNegativeExpand &&\n\t\t\t\t\t\t(eLtop = rect.top) <= elvH &&\n\t\t\t\t\t\t(eLright = rect.right) >= elemNegativeExpand * hFac &&\n\t\t\t\t\t\t(eLleft = rect.left) <= eLvW &&\n\t\t\t\t\t\t(eLbottom || eLright || eLleft || eLtop) &&\n\t\t\t\t\t\t(lazySizesCfg.loadHidden || isVisible(lazyloadElems[i])) &&\n\t\t\t\t\t\t((isCompleted && isLoading < 3 && !elemExpandVal && (loadMode < 3 || lowRuns < 4)) || isNestedVisible(lazyloadElems[i], elemExpand))){\n\t\t\t\t\t\tunveilElement(lazyloadElems[i]);\n\t\t\t\t\t\tloadedSomething = true;\n\t\t\t\t\t\tif(isLoading > 9){break;}\n\t\t\t\t\t} else if(!loadedSomething && isCompleted && !autoLoadElem &&\n\t\t\t\t\t\tisLoading < 4 && lowRuns < 4 && loadMode > 2 &&\n\t\t\t\t\t\t(preloadElems[0] || lazySizesCfg.preloadAfterLoad) &&\n\t\t\t\t\t\t(preloadElems[0] || (!elemExpandVal && ((eLbottom || eLright || eLleft || eLtop) || lazyloadElems[i][_getAttribute](lazySizesCfg.sizesAttr) != 'auto')))){\n\t\t\t\t\t\tautoLoadElem = preloadElems[0] || lazyloadElems[i];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif(autoLoadElem && !loadedSomething){\n\t\t\t\t\tunveilElement(autoLoadElem);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar throttledCheckElements = throttle(checkElements);\n\n\t\tvar switchLoadingClass = function(e){\n\t\t\tvar elem = e.target;\n\n\t\t\tif (elem._lazyCache) {\n\t\t\t\tdelete elem._lazyCache;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tresetPreloading(e);\n\t\t\taddClass(elem, lazySizesCfg.loadedClass);\n\t\t\tremoveClass(elem, lazySizesCfg.loadingClass);\n\t\t\taddRemoveLoadEvents(elem, rafSwitchLoadingClass);\n\t\t\ttriggerEvent(elem, 'lazyloaded');\n\t\t};\n\t\tvar rafedSwitchLoadingClass = rAFIt(switchLoadingClass);\n\t\tvar rafSwitchLoadingClass = function(e){\n\t\t\trafedSwitchLoadingClass({target: e.target});\n\t\t};\n\n\t\tvar changeIframeSrc = function(elem, src){\n\t\t\tvar loadMode = elem.getAttribute('data-load-mode') || lazySizesCfg.iframeLoadMode;\n\n\t\t\t// loadMode can be also a string!\n\t\t\tif (loadMode == 0) {\n\t\t\t\telem.contentWindow.location.replace(src);\n\t\t\t} else if (loadMode == 1) {\n\t\t\t\telem.src = src;\n\t\t\t}\n\t\t};\n\n\t\tvar handleSources = function(source){\n\t\t\tvar customMedia;\n\n\t\t\tvar sourceSrcset = source[_getAttribute](lazySizesCfg.srcsetAttr);\n\n\t\t\tif( (customMedia = lazySizesCfg.customMedia[source[_getAttribute]('data-media') || source[_getAttribute]('media')]) ){\n\t\t\t\tsource.setAttribute('media', customMedia);\n\t\t\t}\n\n\t\t\tif(sourceSrcset){\n\t\t\t\tsource.setAttribute('srcset', sourceSrcset);\n\t\t\t}\n\t\t};\n\n\t\tvar lazyUnveil = rAFIt(function (elem, detail, isAuto, sizes, isImg){\n\t\t\tvar src, srcset, parent, isPicture, event, firesLoad;\n\n\t\t\tif(!(event = triggerEvent(elem, 'lazybeforeunveil', detail)).defaultPrevented){\n\n\t\t\t\tif(sizes){\n\t\t\t\t\tif(isAuto){\n\t\t\t\t\t\taddClass(elem, lazySizesCfg.autosizesClass);\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem.setAttribute('sizes', sizes);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tsrcset = elem[_getAttribute](lazySizesCfg.srcsetAttr);\n\t\t\t\tsrc = elem[_getAttribute](lazySizesCfg.srcAttr);\n\n\t\t\t\tif(isImg) {\n\t\t\t\t\tparent = elem.parentNode;\n\t\t\t\t\tisPicture = parent && regPicture.test(parent.nodeName || '');\n\t\t\t\t}\n\n\t\t\t\tfiresLoad = detail.firesLoad || (('src' in elem) && (srcset || src || isPicture));\n\n\t\t\t\tevent = {target: elem};\n\n\t\t\t\taddClass(elem, lazySizesCfg.loadingClass);\n\n\t\t\t\tif(firesLoad){\n\t\t\t\t\tclearTimeout(resetPreloadingTimer);\n\t\t\t\t\tresetPreloadingTimer = setTimeout(resetPreloading, 2500);\n\t\t\t\t\taddRemoveLoadEvents(elem, rafSwitchLoadingClass, true);\n\t\t\t\t}\n\n\t\t\t\tif(isPicture){\n\t\t\t\t\tforEach.call(parent.getElementsByTagName('source'), handleSources);\n\t\t\t\t}\n\n\t\t\t\tif(srcset){\n\t\t\t\t\telem.setAttribute('srcset', srcset);\n\t\t\t\t} else if(src && !isPicture){\n\t\t\t\t\tif(regIframe.test(elem.nodeName)){\n\t\t\t\t\t\tchangeIframeSrc(elem, src);\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem.src = src;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif(isImg && (srcset || isPicture)){\n\t\t\t\t\tupdatePolyfill(elem, {src: src});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(elem._lazyRace){\n\t\t\t\tdelete elem._lazyRace;\n\t\t\t}\n\t\t\tremoveClass(elem, lazySizesCfg.lazyClass);\n\n\t\t\trAF(function(){\n\t\t\t\t// Part of this can be removed as soon as this fix is older: https://bugs.chromium.org/p/chromium/issues/detail?id=7731 (2015)\n\t\t\t\tvar isLoaded = elem.complete && elem.naturalWidth > 1;\n\n\t\t\t\tif( !firesLoad || isLoaded){\n\t\t\t\t\tif (isLoaded) {\n\t\t\t\t\t\taddClass(elem, lazySizesCfg.fastLoadedClass);\n\t\t\t\t\t}\n\t\t\t\t\tswitchLoadingClass(event);\n\t\t\t\t\telem._lazyCache = true;\n\t\t\t\t\tsetTimeout(function(){\n\t\t\t\t\t\tif ('_lazyCache' in elem) {\n\t\t\t\t\t\t\tdelete elem._lazyCache;\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 9);\n\t\t\t\t}\n\t\t\t\tif (elem.loading == 'lazy') {\n\t\t\t\t\tisLoading--;\n\t\t\t\t}\n\t\t\t}, true);\n\t\t});\n\n\t\t/**\n\t\t *\n\t\t * @param elem { Element }\n\t\t */\n\t\tvar unveilElement = function (elem){\n\t\t\tif (elem._lazyRace) {return;}\n\t\t\tvar detail;\n\n\t\t\tvar isImg = regImg.test(elem.nodeName);\n\n\t\t\t//allow using sizes=\"auto\", but don't use. it's invalid. Use data-sizes=\"auto\" or a valid value for sizes instead (i.e.: sizes=\"80vw\")\n\t\t\tvar sizes = isImg && (elem[_getAttribute](lazySizesCfg.sizesAttr) || elem[_getAttribute]('sizes'));\n\t\t\tvar isAuto = sizes == 'auto';\n\n\t\t\tif( (isAuto || !isCompleted) && isImg && (elem[_getAttribute]('src') || elem.srcset) && !elem.complete && !hasClass(elem, lazySizesCfg.errorClass) && hasClass(elem, lazySizesCfg.lazyClass)){return;}\n\n\t\t\tdetail = triggerEvent(elem, 'lazyunveilread').detail;\n\n\t\t\tif(isAuto){\n\t\t\t\t autoSizer.updateElem(elem, true, elem.offsetWidth);\n\t\t\t}\n\n\t\t\telem._lazyRace = true;\n\t\t\tisLoading++;\n\n\t\t\tlazyUnveil(elem, detail, isAuto, sizes, isImg);\n\t\t};\n\n\t\tvar afterScroll = debounce(function(){\n\t\t\tlazySizesCfg.loadMode = 3;\n\t\t\tthrottledCheckElements();\n\t\t});\n\n\t\tvar altLoadmodeScrollListner = function(){\n\t\t\tif(lazySizesCfg.loadMode == 3){\n\t\t\t\tlazySizesCfg.loadMode = 2;\n\t\t\t}\n\t\t\tafterScroll();\n\t\t};\n\n\t\tvar onload = function(){\n\t\t\tif(isCompleted){return;}\n\t\t\tif(Date.now() - started < 999){\n\t\t\t\tsetTimeout(onload, 999);\n\t\t\t\treturn;\n\t\t\t}\n\n\n\t\t\tisCompleted = true;\n\n\t\t\tlazySizesCfg.loadMode = 3;\n\n\t\t\tthrottledCheckElements();\n\n\t\t\taddEventListener('scroll', altLoadmodeScrollListner, true);\n\t\t};\n\n\t\treturn {\n\t\t\t_: function(){\n\t\t\t\tstarted = Date.now();\n\n\t\t\t\tlazysizes.elements = document.getElementsByClassName(lazySizesCfg.lazyClass);\n\t\t\t\tpreloadElems = document.getElementsByClassName(lazySizesCfg.lazyClass + ' ' + lazySizesCfg.preloadClass);\n\n\t\t\t\taddEventListener('scroll', throttledCheckElements, true);\n\n\t\t\t\taddEventListener('resize', throttledCheckElements, true);\n\n\t\t\t\taddEventListener('pageshow', function (e) {\n\t\t\t\t\tif (e.persisted) {\n\t\t\t\t\t\tvar loadingElements = document.querySelectorAll('.' + lazySizesCfg.loadingClass);\n\n\t\t\t\t\t\tif (loadingElements.length && loadingElements.forEach) {\n\t\t\t\t\t\t\trequestAnimationFrame(function () {\n\t\t\t\t\t\t\t\tloadingElements.forEach( function (img) {\n\t\t\t\t\t\t\t\t\tif (img.complete) {\n\t\t\t\t\t\t\t\t\t\tunveilElement(img);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif(window.MutationObserver){\n\t\t\t\t\tnew MutationObserver( throttledCheckElements ).observe( docElem, {childList: true, subtree: true, attributes: true} );\n\t\t\t\t} else {\n\t\t\t\t\tdocElem[_addEventListener]('DOMNodeInserted', throttledCheckElements, true);\n\t\t\t\t\tdocElem[_addEventListener]('DOMAttrModified', throttledCheckElements, true);\n\t\t\t\t\tsetInterval(throttledCheckElements, 999);\n\t\t\t\t}\n\n\t\t\t\taddEventListener('hashchange', throttledCheckElements, true);\n\n\t\t\t\t//, 'fullscreenchange'\n\t\t\t\t['focus', 'mouseover', 'click', 'load', 'transitionend', 'animationend'].forEach(function(name){\n\t\t\t\t\tdocument[_addEventListener](name, throttledCheckElements, true);\n\t\t\t\t});\n\n\t\t\t\tif((/d$|^c/.test(document.readyState))){\n\t\t\t\t\tonload();\n\t\t\t\t} else {\n\t\t\t\t\taddEventListener('load', onload);\n\t\t\t\t\tdocument[_addEventListener]('DOMContentLoaded', throttledCheckElements);\n\t\t\t\t\tsetTimeout(onload, 20000);\n\t\t\t\t}\n\n\t\t\t\tif(lazysizes.elements.length){\n\t\t\t\t\tcheckElements();\n\t\t\t\t\trAF._lsFlush();\n\t\t\t\t} else {\n\t\t\t\t\tthrottledCheckElements();\n\t\t\t\t}\n\t\t\t},\n\t\t\tcheckElems: throttledCheckElements,\n\t\t\tunveil: unveilElement,\n\t\t\t_aLSL: altLoadmodeScrollListner,\n\t\t};\n\t})();\n\n\n\tvar autoSizer = (function(){\n\t\tvar autosizesElems;\n\n\t\tvar sizeElement = rAFIt(function(elem, parent, event, width){\n\t\t\tvar sources, i, len;\n\t\t\telem._lazysizesWidth = width;\n\t\t\twidth += 'px';\n\n\t\t\telem.setAttribute('sizes', width);\n\n\t\t\tif(regPicture.test(parent.nodeName || '')){\n\t\t\t\tsources = parent.getElementsByTagName('source');\n\t\t\t\tfor(i = 0, len = sources.length; i < len; i++){\n\t\t\t\t\tsources[i].setAttribute('sizes', width);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(!event.detail.dataAttr){\n\t\t\t\tupdatePolyfill(elem, event.detail);\n\t\t\t}\n\t\t});\n\t\t/**\n\t\t *\n\t\t * @param elem {Element}\n\t\t * @param dataAttr\n\t\t * @param [width] { number }\n\t\t */\n\t\tvar getSizeElement = function (elem, dataAttr, width){\n\t\t\tvar event;\n\t\t\tvar parent = elem.parentNode;\n\n\t\t\tif(parent){\n\t\t\t\twidth = getWidth(elem, parent, width);\n\t\t\t\tevent = triggerEvent(elem, 'lazybeforesizes', {width: width, dataAttr: !!dataAttr});\n\n\t\t\t\tif(!event.defaultPrevented){\n\t\t\t\t\twidth = event.detail.width;\n\n\t\t\t\t\tif(width && width !== elem._lazysizesWidth){\n\t\t\t\t\t\tsizeElement(elem, parent, event, width);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar updateElementsSizes = function(){\n\t\t\tvar i;\n\t\t\tvar len = autosizesElems.length;\n\t\t\tif(len){\n\t\t\t\ti = 0;\n\n\t\t\t\tfor(; i < len; i++){\n\t\t\t\t\tgetSizeElement(autosizesElems[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tvar debouncedUpdateElementsSizes = debounce(updateElementsSizes);\n\n\t\treturn {\n\t\t\t_: function(){\n\t\t\t\tautosizesElems = document.getElementsByClassName(lazySizesCfg.autosizesClass);\n\t\t\t\taddEventListener('resize', debouncedUpdateElementsSizes);\n\t\t\t},\n\t\t\tcheckElems: debouncedUpdateElementsSizes,\n\t\t\tupdateElem: getSizeElement\n\t\t};\n\t})();\n\n\tvar init = function(){\n\t\tif(!init.i && document.getElementsByClassName){\n\t\t\tinit.i = true;\n\t\t\tautoSizer._();\n\t\t\tloader._();\n\t\t}\n\t};\n\n\tsetTimeout(function(){\n\t\tif(lazySizesCfg.init){\n\t\t\tinit();\n\t\t}\n\t});\n\n\tlazysizes = {\n\t\t/**\n\t\t * @type { LazySizesConfigPartial }\n\t\t */\n\t\tcfg: lazySizesCfg,\n\t\tautoSizer: autoSizer,\n\t\tloader: loader,\n\t\tinit: init,\n\t\tuP: updatePolyfill,\n\t\taC: addClass,\n\t\trC: removeClass,\n\t\thC: hasClass,\n\t\tfire: triggerEvent,\n\t\tgW: getWidth,\n\t\trAF: rAF,\n\t};\n\n\treturn lazysizes;\n}\n));\n","(function(window, factory) {\n\tif(!window) {return;}\n\tvar globalInstall = function(){\n\t\tfactory(window.lazySizes);\n\t\twindow.removeEventListener('lazyunveilread', globalInstall, true);\n\t};\n\n\tfactory = factory.bind(null, window, window.document);\n\n\tif(typeof module == 'object' && module.exports){\n\t\tfactory(require('lazysizes'));\n\t} else if (typeof define == 'function' && define.amd) {\n\t\tdefine(['lazysizes'], factory);\n\t} else if(window.lazySizes) {\n\t\tglobalInstall();\n\t} else {\n\t\twindow.addEventListener('lazyunveilread', globalInstall, true);\n\t}\n}(typeof window != 'undefined' ?\n\twindow : 0, function(window, document, lazySizes) {\n\t'use strict';\n\n\tvar addObserver = function(){\n\t\tvar connect, disconnect, observer, connected;\n\t\tvar lsCfg = lazySizes.cfg;\n\t\tvar attributes = {'data-bgset': 1, 'data-include': 1, 'data-poster': 1, 'data-bg': 1, 'data-script': 1};\n\t\tvar regClassTest = '(\\\\s|^)(' + lsCfg.loadedClass;\n\t\tvar docElem = document.documentElement;\n\n\t\tvar setClass = function(target){\n\t\t\tlazySizes.rAF(function(){\n\t\t\t\tlazySizes.rC(target, lsCfg.loadedClass);\n\t\t\t\tif(lsCfg.unloadedClass){\n\t\t\t\t\tlazySizes.rC(target, lsCfg.unloadedClass);\n\t\t\t\t}\n\t\t\t\tlazySizes.aC(target, lsCfg.lazyClass);\n\n\t\t\t\tif(target.style.display == 'none' || (target.parentNode && target.parentNode.style.display == 'none')){\n\t\t\t\t\tsetTimeout(function () {\n\t\t\t\t\t\tlazySizes.loader.unveil(target);\n\t\t\t\t\t}, 0);\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\n\t\tvar onMutation = function(mutations){\n\t\t\tvar i, len, mutation, target;\n\t\t\tfor(i = 0, len = mutations.length; i < len; i++){\n\t\t\t\tmutation = mutations[i];\n\t\t\t\ttarget = mutation.target;\n\n\t\t\t\tif(!target.getAttribute(mutation.attributeName)){continue;}\n\n\t\t\t\tif(target.localName == 'source' && target.parentNode){\n\t\t\t\t\ttarget = target.parentNode.querySelector('img');\n\t\t\t\t}\n\n\t\t\t\tif(target && regClassTest.test(target.className)){\n\t\t\t\t\tsetClass(target);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tif(lsCfg.unloadedClass){\n\t\t\tregClassTest += '|' + lsCfg.unloadedClass;\n\t\t}\n\n\t\tregClassTest += '|' + lsCfg.loadingClass + ')(\\\\s|$)';\n\n\t\tregClassTest = new RegExp(regClassTest);\n\n\t\tattributes[lsCfg.srcAttr] = 1;\n\t\tattributes[lsCfg.srcsetAttr] = 1;\n\n\t\tif(window.MutationObserver){\n\t\t\tobserver = new MutationObserver(onMutation);\n\n\t\t\tconnect = function(){\n\t\t\t\tif(!connected){\n\t\t\t\t\tconnected = true;\n\t\t\t\t\tobserver.observe( docElem, { subtree: true, attributes: true, attributeFilter: Object.keys(attributes)} );\n\t\t\t\t}\n\t\t\t};\n\t\t\tdisconnect = function(){\n\t\t\t\tif(connected){\n\t\t\t\t\tconnected = false;\n\t\t\t\t\tobserver.disconnect();\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\tdocElem.addEventListener('DOMAttrModified', (function(){\n\t\t\t\tvar runs;\n\t\t\t\tvar modifications = [];\n\t\t\t\tvar callMutations = function(){\n\t\t\t\t\tonMutation(modifications);\n\t\t\t\t\tmodifications = [];\n\t\t\t\t\truns = false;\n\t\t\t\t};\n\t\t\t\treturn function(e){\n\t\t\t\t\tif(connected && attributes[e.attrName] && e.newValue){\n\t\t\t\t\t\tmodifications.push({target: e.target, attributeName: e.attrName});\n\t\t\t\t\t\tif(!runs){\n\t\t\t\t\t\t\tsetTimeout(callMutations);\n\t\t\t\t\t\t\truns = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t})(), true);\n\n\t\t\tconnect = function(){\n\t\t\t\tconnected = true;\n\t\t\t};\n\t\t\tdisconnect = function(){\n\t\t\t\tconnected = false;\n\t\t\t};\n\t\t}\n\n\t\taddEventListener('lazybeforeunveil', disconnect, true);\n\t\taddEventListener('lazybeforeunveil', connect);\n\n\t\taddEventListener('lazybeforesizes', disconnect, true);\n\t\taddEventListener('lazybeforesizes', connect);\n\t\tconnect();\n\n\t\tremoveEventListener('lazybeforeunveil', addObserver);\n\t};\n\n\n\taddEventListener('lazybeforeunveil', addObserver);\n}));\n"],"sourceRoot":""}