{"version":3,"sources":["../node_modules/lazysizes/lazysizes.js","async.js"],"names":[],"mappings":"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","file":"async.js","sourceRoot":"..","sourcesContent":["(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","import \"lazysizes\";"]}