{"version":3,"sources":["webpack:///./node_modules/lazysizes/lazysizes.js"],"names":["window","factory","lazySizes","document","getElementsByClassName","lazysizes","lazySizesConfig","docElem","documentElement","Date","supportPicture","HTMLPictureElement","addEventListener","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","initCustomEvent","dispatchEvent","updatePolyfill","el","full","polyfill","picturefill","pf","reevaluate","elements","src","getCSS","style","getComputedStyle","getWidth","parent","width","offsetWidth","minSize","_lazysizesWidth","parentNode","rAF","running","waiting","firstFns","secondFns","fns","run","runFns","length","shift","rafBatch","queue","apply","this","arguments","push","hidden","_lsFlush","rAFIt","simple","that","args","debounce","func","timeout","timestamp","later","last","now","prop","lazySizesDefaults","lazyClass","loadedClass","loadingClass","preloadClass","errorClass","autosizesClass","srcAttr","srcsetAttr","sizesAttr","customMedia","init","expFactor","hFac","loadMode","loadHidden","ricTimeout","throttleDelay","lazysizesConfig","loader","preloadElems","isCompleted","resetPreloadingTimer","started","eLvW","elvH","eLtop","eLleft","eLright","eLbottom","defaultExpand","preloadExpand","regImg","regIframe","supportScroll","navigator","userAgent","currentExpand","isLoading","lowRuns","resetPreloading","e","target","isNestedVisible","elemExpand","outerRect","visible","body","offsetParent","getBoundingClientRect","left","right","top","bottom","checkElements","eLlen","i","rect","autoLoadElem","loadedSomething","elemNegativeExpand","elemExpandVal","beforeExpandVal","lazyloadElems","expand","clientHeight","clientWidth","_lazyRace","innerWidth","innerHeight","unveilElement","preloadAfterLoad","throttledCheckElements","lastTime","gDelay","rICTimeout","idleCallback","isPriority","delay","throttle","switchLoadingClass","rafSwitchLoadingClass","rafedSwitchLoadingClass","handleSources","source","sourceSrcset","lazyUnveil","isAuto","sizes","isImg","srcset","isPicture","firesLoad","defaultPrevented","nodeName","clearTimeout","call","getElementsByTagName","contentWindow","location","changeIframeSrc","complete","naturalWidth","autoSizer","updateElem","onload","afterScroll","_","MutationObserver","observe","childList","subtree","attributes","setInterval","readyState","checkElems","unveil","autosizesElems","sizeElement","sources","len","dataAttr","getSizeElement","debouncedUpdateElementsSizes","cfg","uP","aC","rC","hC","fire","gW","module","exports"],"mappings":"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","file":"lazysizes.chunks.js","sourcesContent":["(function(window, factory) {\n\tvar lazySizes = factory(window, window.document);\n\twindow.lazySizes = lazySizes;\n\tif(typeof module == 'object' && module.exports){\n\t\tmodule.exports = lazySizes;\n\t}\n}(window, function l(window, document) {\n\t'use strict';\n\t/*jshint eqnull:true */\n\tif(!document.getElementsByClassName){return;}\n\n\tvar lazysizes, lazySizesConfig;\n\n\tvar docElem = document.documentElement;\n\n\tvar Date = window.Date;\n\n\tvar supportPicture = window.HTMLPictureElement;\n\n\tvar _addEventListener = 'addEventListener';\n\n\tvar _getAttribute = 'getAttribute';\n\n\tvar addEventListener = window[_addEventListener];\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\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\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\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\tvar triggerEvent = function(elem, name, detail, noBubbles, noCancelable){\n\t\tvar event = document.createEvent('CustomEvent');\n\n\t\tif(!detail){\n\t\t\tdetail = {};\n\t\t}\n\n\t\tdetail.instance = lazysizes;\n\n\t\tevent.initCustomEvent(name, !noBubbles, !noCancelable, 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 || lazySizesConfig.pf) ) ){\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\tvar getWidth = function(elem, parent, width){\n\t\twidth = width || elem.offsetWidth;\n\n\t\twhile(width < lazySizesConfig.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 = lazySizesConfig.throttleDelay;\n\t\tvar rICTimeout = lazySizesConfig.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 !== lazySizesConfig.ricTimeout){\n\t\t\t\t\trICTimeout = lazySizesConfig.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\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\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\tlazySizesConfig = window.lazySizesConfig || window.lazysizesConfig || {};\n\n\t\tfor(prop in lazySizesDefaults){\n\t\t\tif(!(prop in lazySizesConfig)){\n\t\t\t\tlazySizesConfig[prop] = lazySizesDefaults[prop];\n\t\t\t}\n\t\t}\n\n\t\twindow.lazySizesConfig = lazySizesConfig;\n\n\t\tsetTimeout(function(){\n\t\t\tif(lazySizesConfig.init){\n\t\t\t\tinit();\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;\n\n\t\tvar defaultExpand, preloadExpand, hFac;\n\n\t\tvar regImg = /^img$/i;\n\t\tvar regIframe = /^iframe$/i;\n\n\t\tvar supportScroll = ('onscroll' in window) && !(/glebot/.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 && e.target){\n\t\t\t\taddRemoveLoadEvents(e.target, resetPreloading);\n\t\t\t}\n\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 isNestedVisible = function(elem, elemExpand){\n\t\t\tvar outerRect;\n\t\t\tvar parent = elem;\n\t\t\tvar visible = getCSS(document.body, 'visibility') == 'hidden' || getCSS(elem, 'visibility') != 'hidden';\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, beforeExpandVal;\n\n\t\t\tvar lazyloadElems = lazysizes.elements;\n\n\t\t\tif((loadMode = lazySizesConfig.loadMode) && isLoading < 8 && (eLlen = lazyloadElems.length)){\n\n\t\t\t\ti = 0;\n\n\t\t\t\tlowRuns++;\n\n\t\t\t\tif(preloadExpand == null){\n\t\t\t\t\tif(!('expand' in lazySizesConfig)){\n\t\t\t\t\t\tlazySizesConfig.expand = docElem.clientHeight > 500 && docElem.clientWidth > 500 ? 500 : 370;\n\t\t\t\t\t}\n\n\t\t\t\t\tdefaultExpand = lazySizesConfig.expand;\n\t\t\t\t\tpreloadExpand = defaultExpand * lazySizesConfig.expFactor;\n\t\t\t\t}\n\n\t\t\t\tif(currentExpand < preloadExpand && isLoading < 1 && lowRuns > 2 && loadMode > 2 && !document.hidden){\n\t\t\t\t\tcurrentExpand = preloadExpand;\n\t\t\t\t\tlowRuns = 0;\n\t\t\t\t} else if(loadMode > 1 && lowRuns > 1 && isLoading < 6){\n\t\t\t\t\tcurrentExpand = defaultExpand;\n\t\t\t\t} else {\n\t\t\t\t\tcurrentExpand = shrinkExpand;\n\t\t\t\t}\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){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(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(lazySizesConfig.loadHidden || getCSS(lazyloadElems[i], 'visibility') != 'hidden') &&\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] || lazySizesConfig.preloadAfterLoad) &&\n\t\t\t\t\t\t(preloadElems[0] || (!elemExpandVal && ((eLbottom || eLright || eLleft || eLtop) || lazyloadElems[i][_getAttribute](lazySizesConfig.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\taddClass(e.target, lazySizesConfig.loadedClass);\n\t\t\tremoveClass(e.target, lazySizesConfig.loadingClass);\n\t\t\taddRemoveLoadEvents(e.target, rafSwitchLoadingClass);\n\t\t\ttriggerEvent(e.target, '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\ttry {\n\t\t\t\telem.contentWindow.location.replace(src);\n\t\t\t} catch(e){\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](lazySizesConfig.srcsetAttr);\n\n\t\t\tif( (customMedia = lazySizesConfig.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, lazySizesConfig.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](lazySizesConfig.srcsetAttr);\n\t\t\t\tsrc = elem[_getAttribute](lazySizesConfig.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\tif(firesLoad){\n\t\t\t\t\taddRemoveLoadEvents(elem, resetPreloading, true);\n\t\t\t\t\tclearTimeout(resetPreloadingTimer);\n\t\t\t\t\tresetPreloadingTimer = setTimeout(resetPreloading, 2500);\n\n\t\t\t\t\taddClass(elem, lazySizesConfig.loadingClass);\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, lazySizesConfig.lazyClass);\n\n\t\t\trAF(function(){\n\t\t\t\tif( !firesLoad || (elem.complete && elem.naturalWidth > 1)){\n\t\t\t\t\tif(firesLoad){\n\t\t\t\t\t\tresetPreloading(event);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tisLoading--;\n\t\t\t\t\t}\n\t\t\t\t\tswitchLoadingClass(event);\n\t\t\t\t}\n\t\t\t}, true);\n\t\t});\n\n\t\tvar unveilElement = function (elem){\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](lazySizesConfig.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, lazySizesConfig.errorClass) && hasClass(elem, lazySizesConfig.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 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\t\t\tvar afterScroll = debounce(function(){\n\t\t\t\tlazySizesConfig.loadMode = 3;\n\t\t\t\tthrottledCheckElements();\n\t\t\t});\n\n\t\t\tisCompleted = true;\n\n\t\t\tlazySizesConfig.loadMode = 3;\n\n\t\t\tthrottledCheckElements();\n\n\t\t\taddEventListener('scroll', function(){\n\t\t\t\tif(lazySizesConfig.loadMode == 3){\n\t\t\t\t\tlazySizesConfig.loadMode = 2;\n\t\t\t\t}\n\t\t\t\tafterScroll();\n\t\t\t}, 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(lazySizesConfig.lazyClass);\n\t\t\t\tpreloadElems = document.getElementsByClassName(lazySizesConfig.lazyClass + ' ' + lazySizesConfig.preloadClass);\n\t\t\t\thFac = lazySizesConfig.hFac;\n\n\t\t\t\taddEventListener('scroll', throttledCheckElements, true);\n\n\t\t\t\taddEventListener('resize', throttledCheckElements, true);\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', 'webkitAnimationEnd'].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};\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\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(lazySizesConfig.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){\n\t\t\tinit.i = true;\n\t\t\tautoSizer._();\n\t\t\tloader._();\n\t\t}\n\t};\n\n\tlazysizes = {\n\t\tcfg: lazySizesConfig,\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"],"sourceRoot":""}