{"version":3,"sources":["ls.bgset.js","ls.unveilhooks.js","ls.object-fit.js","ls.respimg.js","ls.config.js","lazysizes.js"],"names":["window","factory","globalInstall","lazySizes","removeEventListener","bind","document","module","exports","require","define","amd","addEventListener","lazySizesCfg","regWhite","regSplitSet","regSource","regType","regBgUrlEscape","allowedBackgroundSize","setTypeOrMedia","proxyLoad","cfg","contain","cover","source","match","typeMatch","setAttribute","customMedia","e","elem","event","target","_lazybgset","image","bg","currentSrc","src","fire","useSrc","test","JSON","stringify","defaultPrevented","style","backgroundImage","detail","_lazybgsetLoading","picture","sizes","ratio","optimumx","set","getAttribute","createElement","alt","firesLoad","sets","img","sizesAttr","parentNode","removeChild","Object","defineProperty","value","writable","replace","split","display","className","lazyClass","length","forEach","srcsetAttr","appendChild","removeAttribute","setTimeout","loader","unveil","rAF","complete","bgSize","instance","dataAttr","getComputedStyle","getPropertyValue","backgroundSize","_lazysizesParentFit","documentElement","width","gW","_lazysizesWidth","bgLoad","uniqueUrls","addStyleScript","insertElem","getElementsByTagName","rel","href","insertBefore","url","cb","onload","onerror","tmp","poster","preload","autoplay","play","er","requestAnimationFrame","aC","requireJs","initialEvent","cloneElementClass","onRead","fitSupport","positionSupport","regCssFit","regCssPosition","blankSrc","positionDefaults","center","50% 50%","initFix","element","config","onChange","addedSrc","styleElementStyle","switchClassesAdded","rC","styleElement","lazysizesCfg","loadingClass","loadedClass","rafedOnChange","fit","prev","hideElement","container","nodeName","toUpperCase","previousElementSibling","hC","position","visibility","objectFitClass","querySelector","cloneNode","curSrc","srcset","autosizesClass","srcAttr","attr","backgroundRepeat","backgroundPosition","_objectFitPolyfilledDisplay","objectFit","objectPosition","content","fontFamily","obj","polyfill","regDescriptors","candidates","regWCandidates","regMultiple","ascendingSort","regPxLength","reduceCandidate","parseWsrcset","createSrcset","getX","matchesMedia","sels","supportSrcset","regHDesc","fixEdgeHDescriptor","Array","prototype","removeHDescriptors","handler","call","addCandidate","candidate","wDescriptor","push","c","u","w","runMatchMedia","timer","matchMediaElems","run","i","len","init","getElementsByClassName","clearTimeout","p","sources","srces","_lazypolyfill","isPicture","supportsType","parseInt","d","sort","cur","cached","type","HTMLPictureElement","hasHDescriptorFix","msElementsFromPoint","picturefill","pf","options","elements","a","b","lowerCandidate","bonusFactor","Math","pow","input","trim","isImage","parsedSet","srcSet","_set","matchMedia","dpr","devicePixelRatio","optimum","min","media","matches","parse","sel","querySelectorAll","join","lazySizesConfig","--sm-up","--md-up","--lg-up","--xl-up","--xxl-up","--xxxl-up","--xs-down","--sm-down","--md-down","--lg-down","--xl-down","--xxl-down","Date","prop","createPicture","loadEvents","regClassCache","hasClass","removeClass","getCSS","getWidth","firstFns","secondFns","rAFIt","debounce","load","resetPreloadingTimer","loadMode","started","eLvW","elvH","eLtop","eLleft","eLright","eLbottom","isBodyHidden","fn","running","lastTime","gDelay","rICTimeout","regIframe","currentExpand","isLoading","lowRuns","throttledCheckElements","rafedSwitchLoadingClass","rafSwitchLoadingClass","lazyUnveil","autosizesElems","sizeElement","debouncedUpdateElementsSizes","minSize","proxyWidth","expFactor","loadHidden","ricTimeout","getBgSize","lazysizesConfig","lazySizesDefaults","cls","ele","reg","add","action","_addEventListener","dom","evt","name","noBubbles","noCancelable","createEvent","initEvent","el","full","supportPicture","_getAttribute","reevaluate","parent","rafBatch","_lsFlush","simple","that","this","args","func","later","last","now","timestamp","requestIdleCallback","timeout","navigator","userAgent","body","checkElements","switchLoadingClass","isAuto","isImg","triggerEvent","regPicture","addClass","resetPreloading","handleSources","changeIframeSrc","contentWindow","location","updatePolyfill","naturalWidth","_lazyCache","loading","_","preloadElems","preloadClass","getCandidate","persisted","loadingElements","unveilElement","observe","docElem","subtree","attributes","setInterval","lazysizes","checkElems","isPriority","delay","idleCallback","regImg","isCompleted","errorClass","autoSizer","_lazyRace","_aLSL","noSupport","updateElem","addRemoveLoadEvents","uP","runFns","fns","waiting","shift","queue","apply","arguments","hidden","css","elemExpand","elemNegativeExpand","elemExpandVal","defaultExpand","preloadExpand","hFac","removePrevClone","lazyloadElems","prematureUnveil","expand","clientHeight","clientWidth","generateStyleClass","beforeExpandVal","getBoundingClientRect","rect","bottom","top","right","isVisible","offsetParent","visible","outerRect","left","preloadAfterLoad","autoLoadElem","loadedSomething","sourceSrcset","afterScroll","altLoadmodeScrollListner","getSizeElement","throttleDelay"],"mappings":"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","file":"../lazysizes.min.js","sourcesContent":["(function(window, factory) {\r\n\tvar globalInstall = function(){\r\n\t\tfactory(window.lazySizes);\r\n\t\twindow.removeEventListener('lazyunveilread', globalInstall, true);\r\n\t};\r\n\r\n\tfactory = factory.bind(null, window, window.document);\r\n\r\n\tif(typeof module == 'object' && module.exports){\r\n\t\tfactory(require('lazysizes'));\r\n\t} else if (typeof define == 'function' && define.amd) {\r\n\t\tdefine(['lazysizes'], factory);\r\n\t} else if(window.lazySizes) {\r\n\t\tglobalInstall();\r\n\t} else {\r\n\t\twindow.addEventListener('lazyunveilread', globalInstall, true);\r\n\t}\r\n}(window, function(window, document, lazySizes) {\r\n\t'use strict';\r\n\tif(!window.addEventListener){return;}\r\n\r\n\tvar lazySizesCfg = lazySizes.cfg;\r\n\tvar regWhite = /\\s+/g;\r\n\tvar regSplitSet = /\\s*\\|\\s+|\\s+\\|\\s*/g;\r\n\tvar regSource = /^(.+?)(?:\\s+\\[\\s*(.+?)\\s*\\])(?:\\s+\\[\\s*(.+?)\\s*\\])?$/;\r\n\tvar regType = /^\\s*\\(*\\s*type\\s*:\\s*(.+?)\\s*\\)*\\s*$/;\r\n\tvar regBgUrlEscape = /\\(|\\)|'/;\r\n\tvar allowedBackgroundSize = {contain: 1, cover: 1};\r\n\tvar proxyWidth = function(elem){\r\n\t\tvar width = lazySizes.gW(elem, elem.parentNode);\r\n\r\n\t\tif(!elem._lazysizesWidth || width > elem._lazysizesWidth){\r\n\t\t\telem._lazysizesWidth = width;\r\n\t\t}\r\n\t\treturn elem._lazysizesWidth;\r\n\t};\r\n\tvar getBgSize = function(elem){\r\n\t\tvar bgSize;\r\n\r\n\t\tbgSize = (getComputedStyle(elem) || {getPropertyValue: function(){}}).getPropertyValue('background-size');\r\n\r\n\t\tif(!allowedBackgroundSize[bgSize] && allowedBackgroundSize[elem.style.backgroundSize]){\r\n\t\t\tbgSize = elem.style.backgroundSize;\r\n\t\t}\r\n\r\n\t\treturn bgSize;\r\n\t};\r\n\tvar setTypeOrMedia = function(source, match){\r\n\t\tif(match){\r\n\t\t\tvar typeMatch = match.match(regType);\r\n\t\t\tif(typeMatch && typeMatch[1]){\r\n\t\t\t\tsource.setAttribute('type', typeMatch[1]);\r\n\t\t\t} else {\r\n\t\t\t\tsource.setAttribute('media', lazySizesCfg.customMedia[match] || match);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tvar createPicture = function(sets, elem, img){\r\n\t\tvar picture = document.createElement('picture');\r\n\t\tvar sizes = elem.getAttribute(lazySizesCfg.sizesAttr);\r\n\t\tvar ratio = elem.getAttribute('data-ratio');\r\n\t\tvar optimumx = elem.getAttribute('data-optimumx');\r\n\r\n\t\tif(elem._lazybgset && elem._lazybgset.parentNode == elem){\r\n\t\t\telem.removeChild(elem._lazybgset);\r\n\t\t}\r\n\r\n\t\tObject.defineProperty(img, '_lazybgset', {\r\n\t\t\tvalue: elem,\r\n\t\t\twritable: true\r\n\t\t});\r\n\t\tObject.defineProperty(elem, '_lazybgset', {\r\n\t\t\tvalue: picture,\r\n\t\t\twritable: true\r\n\t\t});\r\n\r\n\t\tsets = sets.replace(regWhite, ' ').split(regSplitSet);\r\n\r\n\t\tpicture.style.display = 'none';\r\n\t\timg.className = lazySizesCfg.lazyClass;\r\n\r\n\t\tif(sets.length == 1 && !sizes){\r\n\t\t\tsizes = 'auto';\r\n\t\t}\r\n\r\n\t\tsets.forEach(function(set){\r\n\t\t\tvar match;\r\n\t\t\tvar source = document.createElement('source');\r\n\r\n\t\t\tif(sizes && sizes != 'auto'){\r\n\t\t\t\tsource.setAttribute('sizes', sizes);\r\n\t\t\t}\r\n\r\n\t\t\tif((match = set.match(regSource))){\r\n\t\t\t\tsource.setAttribute(lazySizesCfg.srcsetAttr, match[1]);\r\n\r\n\t\t\t\tsetTypeOrMedia(source, match[2]);\r\n\t\t\t\tsetTypeOrMedia(source, match[3]);\r\n\t\t\t} else {\r\n\t\t\t\tsource.setAttribute(lazySizesCfg.srcsetAttr, set);\r\n\t\t\t}\r\n\r\n\t\t\tpicture.appendChild(source);\r\n\t\t});\r\n\r\n\t\tif(sizes){\r\n\t\t\timg.setAttribute(lazySizesCfg.sizesAttr, sizes);\r\n\t\t\telem.removeAttribute(lazySizesCfg.sizesAttr);\r\n\t\t\telem.removeAttribute('sizes');\r\n\t\t}\r\n\t\tif(optimumx){\r\n\t\t\timg.setAttribute('data-optimumx', optimumx);\r\n\t\t}\r\n\t\tif(ratio) {\r\n\t\t\timg.setAttribute('data-ratio', ratio);\r\n\t\t}\r\n\r\n\t\tpicture.appendChild(img);\r\n\r\n\t\telem.appendChild(picture);\r\n\t};\r\n\r\n\tvar proxyLoad = function(e){\r\n\t\tif(!e.target._lazybgset){return;}\r\n\r\n\t\tvar image = e.target;\r\n\t\tvar elem = image._lazybgset;\r\n\t\tvar bg = image.currentSrc || image.src;\r\n\r\n\r\n\t\tif(bg){\r\n\t\t\tvar event = lazySizes.fire(elem, 'bgsetproxy', {\r\n\t\t\t\tsrc: bg,\r\n\t\t\t\tuseSrc: regBgUrlEscape.test(bg) ? JSON.stringify(bg) : bg,\r\n\t\t\t});\r\n\r\n\t\t\tif(!event.defaultPrevented){\r\n\t\t\t\telem.style.backgroundImage = 'url(' + event.detail.useSrc + ')';\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif(image._lazybgsetLoading){\r\n\t\t\tlazySizes.fire(elem, '_lazyloaded', {}, false, true);\r\n\t\t\tdelete image._lazybgsetLoading;\r\n\t\t}\r\n\t};\r\n\r\n\taddEventListener('lazybeforeunveil', function(e){\r\n\t\tvar set, image, elem;\r\n\r\n\t\tif(e.defaultPrevented || !(set = e.target.getAttribute('data-bgset'))){return;}\r\n\r\n\t\telem = e.target;\r\n\t\timage = document.createElement('img');\r\n\r\n\t\timage.alt = '';\r\n\r\n\t\timage._lazybgsetLoading = true;\r\n\t\te.detail.firesLoad = true;\r\n\r\n\t\tcreatePicture(set, elem, image);\r\n\r\n\t\tsetTimeout(function(){\r\n\t\t\tlazySizes.loader.unveil(image);\r\n\r\n\t\t\tlazySizes.rAF(function(){\r\n\t\t\t\tlazySizes.fire(image, '_lazyloaded', {}, true, true);\r\n\t\t\t\tif(image.complete) {\r\n\t\t\t\t\tproxyLoad({target: image});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t});\r\n\r\n\tdocument.addEventListener('load', proxyLoad, true);\r\n\r\n\twindow.addEventListener('lazybeforesizes', function(e){\r\n\t\tif(e.detail.instance != lazySizes){return;}\r\n\t\tif(e.target._lazybgset && e.detail.dataAttr){\r\n\t\t\tvar elem = e.target._lazybgset;\r\n\t\t\tvar bgSize = getBgSize(elem);\r\n\r\n\t\t\tif(allowedBackgroundSize[bgSize]){\r\n\t\t\t\te.target._lazysizesParentFit = bgSize;\r\n\r\n\t\t\t\tlazySizes.rAF(function(){\r\n\t\t\t\t\te.target.setAttribute('data-parent-fit', bgSize);\r\n\t\t\t\t\tif(e.target._lazysizesParentFit){\r\n\t\t\t\t\t\tdelete e.target._lazysizesParentFit;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}, true);\r\n\r\n\tdocument.documentElement.addEventListener('lazybeforesizes', function(e){\r\n\t\tif(e.defaultPrevented || !e.target._lazybgset || e.detail.instance != lazySizes){return;}\r\n\t\te.detail.width = proxyWidth(e.target._lazybgset);\r\n\t});\r\n}));\r\n","/*\r\nThis plugin extends lazySizes to lazyLoad:\r\nbackground images, videos/posters and scripts\r\n\r\nBackground-Image:\r\nFor background images, use data-bg attribute:\r\n
\r\n\r\n Video:\r\n For video/audio use data-poster and preload=\"none\":\r\n \r\n\r\n For video that plays automatically if in view:\r\n \r\n\r\n Scripts:\r\n For scripts use data-script:\r\n \r\n\r\n\r\n Script modules using require:\r\n For modules using require use data-require:\r\n \r\n*/\r\n\r\n(function(window, factory) {\r\n\tvar globalInstall = function(){\r\n\t\tfactory(window.lazySizes);\r\n\t\twindow.removeEventListener('lazyunveilread', globalInstall, true);\r\n\t};\r\n\r\n\tfactory = factory.bind(null, window, window.document);\r\n\r\n\tif(typeof module == 'object' && module.exports){\r\n\t\tfactory(require('lazysizes'));\r\n\t} else if (typeof define == 'function' && define.amd) {\r\n\t\tdefine(['lazysizes'], factory);\r\n\t} else if(window.lazySizes) {\r\n\t\tglobalInstall();\r\n\t} else {\r\n\t\twindow.addEventListener('lazyunveilread', globalInstall, true);\r\n\t}\r\n}(window, function(window, document, lazySizes) {\r\n\t/*jshint eqnull:true */\r\n\t'use strict';\r\n\tvar bgLoad, regBgUrlEscape;\r\n\tvar uniqueUrls = {};\r\n\r\n\tif(document.addEventListener){\r\n\t\tregBgUrlEscape = /\\(|\\)|\\s|'/;\r\n\r\n\t\tbgLoad = function (url, cb){\r\n\t\t\tvar img = document.createElement('img');\r\n\t\t\timg.onload = function(){\r\n\t\t\t\timg.onload = null;\r\n\t\t\t\timg.onerror = null;\r\n\t\t\t\timg = null;\r\n\t\t\t\tcb();\r\n\t\t\t};\r\n\t\t\timg.onerror = img.onload;\r\n\r\n\t\t\timg.src = url;\r\n\r\n\t\t\tif(img && img.complete && img.onload){\r\n\t\t\t\timg.onload();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\taddEventListener('lazybeforeunveil', function(e){\r\n\t\t\tif(e.detail.instance != lazySizes){return;}\r\n\r\n\t\t\tvar tmp, load, bg, poster;\r\n\t\t\tif(!e.defaultPrevented) {\r\n\r\n\t\t\t\tvar target = e.target;\r\n\r\n\t\t\t\tif(target.preload == 'none'){\r\n\t\t\t\t\ttarget.preload = target.getAttribute('data-preload') || 'auto';\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (target.getAttribute('data-autoplay') != null) {\r\n\t\t\t\t\tif (target.getAttribute('data-expand') && !target.autoplay) {\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\ttarget.play();\r\n\t\t\t\t\t\t} catch (er) {}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\trequestAnimationFrame(function () {\r\n\t\t\t\t\t\t\ttarget.setAttribute('data-expand', '-10');\r\n\t\t\t\t\t\t\tlazySizes.aC(target, lazySizes.cfg.lazyClass);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttmp = target.getAttribute('data-link');\r\n\t\t\t\tif(tmp){\r\n\t\t\t\t\taddStyleScript(tmp, true);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// handle data-script\r\n\t\t\t\ttmp = target.getAttribute('data-script');\r\n\t\t\t\tif(tmp){\r\n\t\t\t\t\taddStyleScript(tmp);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// handle data-require\r\n\t\t\t\ttmp = target.getAttribute('data-require');\r\n\t\t\t\tif(tmp){\r\n\t\t\t\t\tif(lazySizes.cfg.requireJs){\r\n\t\t\t\t\t\tlazySizes.cfg.requireJs([tmp]);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\taddStyleScript(tmp);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// handle data-bg\r\n\t\t\t\tbg = target.getAttribute('data-bg');\r\n\t\t\t\tif (bg) {\r\n\t\t\t\t\te.detail.firesLoad = true;\r\n\t\t\t\t\tload = function(){\r\n\t\t\t\t\t\ttarget.style.backgroundImage = 'url(' + (regBgUrlEscape.test(bg) ? JSON.stringify(bg) : bg ) + ')';\r\n\t\t\t\t\t\te.detail.firesLoad = false;\r\n\t\t\t\t\t\tlazySizes.fire(target, '_lazyloaded', {}, true, true);\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tbgLoad(bg, load);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// handle data-poster\r\n\t\t\t\tposter = target.getAttribute('data-poster');\r\n\t\t\t\tif(poster){\r\n\t\t\t\t\te.detail.firesLoad = true;\r\n\t\t\t\t\tload = function(){\r\n\t\t\t\t\t\ttarget.poster = poster;\r\n\t\t\t\t\t\te.detail.firesLoad = false;\r\n\t\t\t\t\t\tlazySizes.fire(target, '_lazyloaded', {}, true, true);\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tbgLoad(poster, load);\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, false);\r\n\r\n\t}\r\n\r\n\tfunction addStyleScript(src, style){\r\n\t\tif(uniqueUrls[src]){\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar elem = document.createElement(style ? 'link' : 'script');\r\n\t\tvar insertElem = document.getElementsByTagName('script')[0];\r\n\r\n\t\tif(style){\r\n\t\t\telem.rel = 'stylesheet';\r\n\t\t\telem.href = src;\r\n\t\t} else {\r\n\t\t\telem.src = src;\r\n\t\t}\r\n\t\tuniqueUrls[src] = true;\r\n\t\tuniqueUrls[elem.src || elem.href] = true;\r\n\t\tinsertElem.parentNode.insertBefore(elem, insertElem);\r\n\t}\r\n}));\r\n","(function(window, factory) {\r\n\tif(!window) {return;}\r\n\tvar globalInstall = function(initialEvent){\r\n\t\tfactory(window.lazySizes, initialEvent);\r\n\t\twindow.removeEventListener('lazyunveilread', globalInstall, true);\r\n\t};\r\n\r\n\tfactory = factory.bind(null, window, window.document);\r\n\r\n\tif(typeof module == 'object' && module.exports){\r\n\t\tfactory(require('lazysizes'));\r\n\t} else if (typeof define == 'function' && define.amd) {\r\n\t\tdefine(['lazysizes'], factory);\r\n\t} else if(window.lazySizes) {\r\n\t\tglobalInstall();\r\n\t} else {\r\n\t\twindow.addEventListener('lazyunveilread', globalInstall, true);\r\n\t}\r\n}(typeof window != 'undefined' ?\r\n\twindow : 0, function(window, document, lazySizes, initialEvent) {\r\n\t'use strict';\r\n\tvar cloneElementClass;\r\n\tvar style = document.createElement('a').style;\r\n\tvar fitSupport = 'objectFit' in style;\r\n\tvar positionSupport = fitSupport && 'objectPosition' in style;\r\n\tvar regCssFit = /object-fit[\"']*\\s*:\\s*[\"']*(contain|cover)/;\r\n\tvar regCssPosition = /object-position[\"']*\\s*:\\s*[\"']*(.+?)(?=($|,|'|\"|;))/;\r\n\tvar blankSrc = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\r\n\tvar regBgUrlEscape = /\\(|\\)|'/;\r\n\tvar positionDefaults = {\r\n\t\tcenter: 'center',\r\n\t\t'50% 50%': 'center',\r\n\t};\r\n\r\n\tfunction getObject(element){\r\n\t\tvar css = (getComputedStyle(element, null) || {});\r\n\t\tvar content = css.fontFamily || '';\r\n\t\tvar objectFit = content.match(regCssFit) || '';\r\n\t\tvar objectPosition = objectFit && content.match(regCssPosition) || '';\r\n\r\n\t\tif(objectPosition){\r\n\t\t\tobjectPosition = objectPosition[1];\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tfit: objectFit && objectFit[1] || '',\r\n\t\t\tposition: positionDefaults[objectPosition] || objectPosition || 'center',\r\n\t\t};\r\n\t}\r\n\r\n\tfunction generateStyleClass() {\r\n\t\tif (cloneElementClass) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar styleElement = document.createElement('style');\r\n\r\n\t\tcloneElementClass = lazySizes.cfg.objectFitClass || 'lazysizes-display-clone';\r\n\r\n\t\tdocument.querySelector('head').appendChild(styleElement);\r\n\t}\r\n\r\n\tfunction removePrevClone(element) {\r\n\t\tvar prev = element.previousElementSibling;\r\n\r\n\t\tif (prev && lazySizes.hC(prev, cloneElementClass)) {\r\n\t\t\tprev.parentNode.removeChild(prev);\r\n\t\t\telement.style.position = prev.getAttribute('data-position') || '';\r\n\t\t\telement.style.visibility = prev.getAttribute('data-visibility') || '';\r\n\t\t}\r\n\t}\r\n\r\n\tfunction initFix(element, config){\r\n\t\tvar switchClassesAdded, addedSrc, styleElement, styleElementStyle;\r\n\t\tvar lazysizesCfg = lazySizes.cfg;\r\n\r\n\t\tvar onChange = function(){\r\n\t\t\tvar src = element.currentSrc || element.src;\r\n\r\n\t\t\tif(src && addedSrc !== src){\r\n\t\t\t\taddedSrc = src;\r\n\t\t\t\tstyleElementStyle.backgroundImage = 'url(' + (regBgUrlEscape.test(src) ? JSON.stringify(src) : src ) + ')';\r\n\r\n\t\t\t\tif(!switchClassesAdded){\r\n\t\t\t\t\tswitchClassesAdded = true;\r\n\t\t\t\t\tlazySizes.rC(styleElement, lazysizesCfg.loadingClass);\r\n\t\t\t\t\tlazySizes.aC(styleElement, lazysizesCfg.loadedClass);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t\tvar rafedOnChange = function(){\r\n\t\t\tlazySizes.rAF(onChange);\r\n\t\t};\r\n\r\n\t\telement._lazysizesParentFit = config.fit;\r\n\r\n\t\telement.addEventListener('lazyloaded', rafedOnChange, true);\r\n\t\telement.addEventListener('load', rafedOnChange, true);\r\n\r\n\t\tlazySizes.rAF(function(){\r\n\r\n\t\t\tvar hideElement = element;\r\n\t\t\tvar container = element.parentNode;\r\n\r\n\t\t\tif(container.nodeName.toUpperCase() == 'PICTURE'){\r\n\t\t\t\thideElement = container;\r\n\t\t\t\tcontainer = container.parentNode;\r\n\t\t\t}\r\n\r\n\t\t\tremovePrevClone(hideElement);\r\n\r\n\t\t\tif (!cloneElementClass) {\r\n\t\t\t\tgenerateStyleClass();\r\n\t\t\t}\r\n\r\n\t\t\tstyleElement = element.cloneNode(false);\r\n\t\t\tstyleElementStyle = styleElement.style;\r\n\r\n\t\t\tstyleElement.addEventListener('load', function(){\r\n\t\t\t\tvar curSrc = styleElement.currentSrc || styleElement.src;\r\n\r\n\t\t\t\tif(curSrc && curSrc != blankSrc){\r\n\t\t\t\t\tstyleElement.src = blankSrc;\r\n\t\t\t\t\tstyleElement.srcset = '';\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tlazySizes.rC(styleElement, lazysizesCfg.loadedClass);\r\n\t\t\tlazySizes.rC(styleElement, lazysizesCfg.lazyClass);\r\n\t\t\tlazySizes.rC(styleElement, lazysizesCfg.autosizesClass);\r\n\t\t\tlazySizes.aC(styleElement, lazysizesCfg.loadingClass);\r\n\t\t\tlazySizes.aC(styleElement, cloneElementClass);\r\n\r\n\t\t\t['data-parent-fit', 'data-parent-container', 'data-object-fit-polyfilled',\r\n\t\t\t\tlazysizesCfg.srcsetAttr, lazysizesCfg.srcAttr].forEach(function(attr) {\r\n\t\t\t\tstyleElement.removeAttribute(attr);\r\n\t\t\t});\r\n\r\n\t\t\tstyleElement.src = blankSrc;\r\n\t\t\tstyleElement.srcset = '';\r\n\r\n\t\t\tstyleElementStyle.backgroundRepeat = 'no-repeat';\r\n\t\t\tstyleElementStyle.backgroundPosition = config.position;\r\n\t\t\tstyleElementStyle.backgroundSize = config.fit;\r\n\r\n\t\t\tstyleElement.setAttribute('data-position', hideElement.style.position);\r\n\t\t\tstyleElement.setAttribute('data-visibility', hideElement.style.visibility);\r\n\r\n\t\t\thideElement.style.visibility = 'hidden';\r\n\t\t\thideElement.style.position = 'absolute';\r\n\r\n\t\t\telement.setAttribute('data-parent-fit', config.fit);\r\n\t\t\telement.setAttribute('data-parent-container', 'prev');\r\n\t\t\telement.setAttribute('data-object-fit-polyfilled', '');\r\n\t\t\telement._objectFitPolyfilledDisplay = styleElement;\r\n\r\n\t\t\tcontainer.insertBefore(styleElement, hideElement);\r\n\r\n\t\t\tif(element._lazysizesParentFit){\r\n\t\t\t\tdelete element._lazysizesParentFit;\r\n\t\t\t}\r\n\r\n\t\t\tif(element.complete){\r\n\t\t\t\tonChange();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tif(!fitSupport || !positionSupport){\r\n\t\tvar onRead = function(e){\r\n\t\t\tif(e.detail.instance != lazySizes){return;}\r\n\r\n\t\t\tvar element = e.target;\r\n\t\t\tvar obj = getObject(element);\r\n\r\n\t\t\tif(obj.fit && (!fitSupport || (obj.position != 'center'))){\r\n\t\t\t\tinitFix(element, obj);\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t};\r\n\r\n\t\twindow.addEventListener('lazybeforesizes', function(e) {\r\n\t\t\tif(e.detail.instance != lazySizes){return;}\r\n\t\t\tvar element = e.target;\r\n\r\n\t\t\tif (element.getAttribute('data-object-fit-polyfilled') != null && !element._objectFitPolyfilledDisplay) {\r\n\t\t\t\tif(!onRead(e)){\r\n\t\t\t\t\tlazySizes.rAF(function () {\r\n\t\t\t\t\t\telement.removeAttribute('data-object-fit-polyfilled');\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\twindow.addEventListener('lazyunveilread', onRead, true);\r\n\r\n\t\tif(initialEvent && initialEvent.detail){\r\n\t\t\tonRead(initialEvent);\r\n\t\t}\r\n\t}\r\n}));\r\n","(function(window, factory) {\r\n\tif(!window) {return;}\r\n\tvar globalInstall = function(){\r\n\t\tfactory(window.lazySizes);\r\n\t\twindow.removeEventListener('lazyunveilread', globalInstall, true);\r\n\t};\r\n\r\n\tfactory = factory.bind(null, window, window.document);\r\n\r\n\tif(typeof module == 'object' && module.exports){\r\n\t\tfactory(require('lazysizes'));\r\n\t} else if (typeof define == 'function' && define.amd) {\r\n\t\tdefine(['lazysizes'], factory);\r\n\t} else if(window.lazySizes) {\r\n\t\tglobalInstall();\r\n\t} else {\r\n\t\twindow.addEventListener('lazyunveilread', globalInstall, true);\r\n\t}\r\n}(typeof window != 'undefined' ?\r\n\twindow : 0, function(window, document, lazySizes) {\r\n\t/*jshint eqnull:true */\r\n\t'use strict';\r\n\tvar polyfill;\r\n\tvar lazySizesCfg = lazySizes.cfg;\r\n\tvar img = document.createElement('img');\r\n\tvar supportSrcset = ('sizes' in img) && ('srcset' in img);\r\n\tvar regHDesc = /\\s+\\d+h/g;\r\n\tvar fixEdgeHDescriptor = (function(){\r\n\t\tvar regDescriptors = /\\s+(\\d+)(w|h)\\s+(\\d+)(w|h)/;\r\n\t\tvar forEach = Array.prototype.forEach;\r\n\r\n\t\treturn function(){\r\n\t\t\tvar img = document.createElement('img');\r\n\t\t\tvar removeHDescriptors = function(source){\r\n\t\t\t\tvar ratio, match;\r\n\t\t\t\tvar srcset = source.getAttribute(lazySizesCfg.srcsetAttr);\r\n\t\t\t\tif(srcset){\r\n\t\t\t\t\tif((match = srcset.match(regDescriptors))){\r\n\t\t\t\t\t\tif(match[2] == 'w'){\r\n\t\t\t\t\t\t\tratio = match[1] / match[3];\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tratio = match[3] / match[1];\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif(ratio){\r\n\t\t\t\t\t\t\tsource.setAttribute('data-aspectratio', ratio);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tsource.setAttribute(lazySizesCfg.srcsetAttr, srcset.replace(regHDesc, ''));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tvar handler = function(e){\r\n\t\t\t\tif(e.detail.instance != lazySizes){return;}\r\n\t\t\t\tvar picture = e.target.parentNode;\r\n\r\n\t\t\t\tif(picture && picture.nodeName == 'PICTURE'){\r\n\t\t\t\t\tforEach.call(picture.getElementsByTagName('source'), removeHDescriptors);\r\n\t\t\t\t}\r\n\t\t\t\tremoveHDescriptors(e.target);\r\n\t\t\t};\r\n\r\n\t\t\tvar test = function(){\r\n\t\t\t\tif(!!img.currentSrc){\r\n\t\t\t\t\tdocument.removeEventListener('lazybeforeunveil', handler);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tdocument.addEventListener('lazybeforeunveil', handler);\r\n\r\n\t\t\timg.onload = test;\r\n\t\t\timg.onerror = test;\r\n\r\n\t\t\timg.srcset = 'data:,a 1w 1h';\r\n\r\n\t\t\tif(img.complete){\r\n\t\t\t\ttest();\r\n\t\t\t}\r\n\t\t};\r\n\t})();\r\n\r\n\tif(!lazySizesCfg.supportsType){\r\n\t\tlazySizesCfg.supportsType = function(type/*, elem*/){\r\n\t\t\treturn !type;\r\n\t\t};\r\n\t}\r\n\r\n\tif (window.HTMLPictureElement && supportSrcset) {\r\n\t\tif(!lazySizes.hasHDescriptorFix && document.msElementsFromPoint){\r\n\t\t\tlazySizes.hasHDescriptorFix = true;\r\n\t\t\tfixEdgeHDescriptor();\r\n\t\t}\r\n\t\treturn;\r\n\t}\r\n\r\n\tif(window.picturefill || lazySizesCfg.pf){return;}\r\n\r\n\tlazySizesCfg.pf = function(options){\r\n\t\tvar i, len;\r\n\t\tif(window.picturefill){return;}\r\n\t\tfor(i = 0, len = options.elements.length; i < len; i++){\r\n\t\t\tpolyfill(options.elements[i]);\r\n\t\t}\r\n\t};\r\n\r\n\t// partial polyfill\r\n\tpolyfill = (function(){\r\n\t\tvar ascendingSort = function( a, b ) {\r\n\t\t\treturn a.w - b.w;\r\n\t\t};\r\n\t\tvar regPxLength = /^\\s*\\d+\\.*\\d*px\\s*$/;\r\n\t\tvar reduceCandidate = function (srces) {\r\n\t\t\tvar lowerCandidate, bonusFactor;\r\n\t\t\tvar len = srces.length;\r\n\t\t\tvar candidate = srces[len -1];\r\n\t\t\tvar i = 0;\r\n\r\n\t\t\tfor(i; i < len;i++){\r\n\t\t\t\tcandidate = srces[i];\r\n\t\t\t\tcandidate.d = candidate.w / srces.w;\r\n\r\n\t\t\t\tif(candidate.d >= srces.d){\r\n\t\t\t\t\tif(!candidate.cached && (lowerCandidate = srces[i - 1]) &&\r\n\t\t\t\t\t\tlowerCandidate.d > srces.d - (0.13 * Math.pow(srces.d, 2.2))){\r\n\r\n\t\t\t\t\t\tbonusFactor = Math.pow(lowerCandidate.d - 0.6, 1.6);\r\n\r\n\t\t\t\t\t\tif(lowerCandidate.cached) {\r\n\t\t\t\t\t\t\tlowerCandidate.d += 0.15 * bonusFactor;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif(lowerCandidate.d + ((candidate.d - srces.d) * bonusFactor) > srces.d){\r\n\t\t\t\t\t\t\tcandidate = lowerCandidate;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn candidate;\r\n\t\t};\r\n\r\n\t\tvar parseWsrcset = (function(){\r\n\t\t\tvar candidates;\r\n\t\t\tvar regWCandidates = /(([^,\\s].[^\\s]+)\\s+(\\d+)w)/g;\r\n\t\t\tvar regMultiple = /\\s/;\r\n\t\t\tvar addCandidate = function(match, candidate, url, wDescriptor){\r\n\t\t\t\tcandidates.push({\r\n\t\t\t\t\tc: candidate,\r\n\t\t\t\t\tu: url,\r\n\t\t\t\t\tw: wDescriptor * 1\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\treturn function(input){\r\n\t\t\t\tcandidates = [];\r\n\t\t\t\tinput = input.trim();\r\n\t\t\t\tinput\r\n\t\t\t\t\t.replace(regHDesc, '')\r\n\t\t\t\t\t.replace(regWCandidates, addCandidate)\r\n\t\t\t\t;\r\n\r\n\t\t\t\tif(!candidates.length && input && !regMultiple.test(input)){\r\n\t\t\t\t\tcandidates.push({\r\n\t\t\t\t\t\tc: input,\r\n\t\t\t\t\t\tu: input,\r\n\t\t\t\t\t\tw: 99\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn candidates;\r\n\t\t\t};\r\n\t\t})();\r\n\r\n\t\tvar runMatchMedia = function(){\r\n\t\t\tif(runMatchMedia.init){return;}\r\n\r\n\t\t\trunMatchMedia.init = true;\r\n\t\t\taddEventListener('resize', (function(){\r\n\t\t\t\tvar timer;\r\n\t\t\t\tvar matchMediaElems = document.getElementsByClassName('lazymatchmedia');\r\n\t\t\t\tvar run = function(){\r\n\t\t\t\t\tvar i, len;\r\n\t\t\t\t\tfor(i = 0, len = matchMediaElems.length; i < len; i++){\r\n\t\t\t\t\t\tpolyfill(matchMediaElems[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\treturn function(){\r\n\t\t\t\t\tclearTimeout(timer);\r\n\t\t\t\t\ttimer = setTimeout(run, 66);\r\n\t\t\t\t};\r\n\t\t\t})());\r\n\t\t};\r\n\r\n\t\tvar createSrcset = function(elem, isImage){\r\n\t\t\tvar parsedSet;\r\n\t\t\tvar srcSet = elem.getAttribute('srcset') || elem.getAttribute(lazySizesCfg.srcsetAttr);\r\n\r\n\t\t\tif(!srcSet && isImage){\r\n\t\t\t\tsrcSet = !elem._lazypolyfill ?\r\n\t\t\t\t\t(elem.getAttribute(lazySizesCfg.srcAttr) || elem.getAttribute('src')) :\r\n\t\t\t\t\telem._lazypolyfill._set\r\n\t\t\t\t;\r\n\t\t\t}\r\n\r\n\t\t\tif(!elem._lazypolyfill || elem._lazypolyfill._set != srcSet){\r\n\r\n\t\t\t\tparsedSet = parseWsrcset( srcSet || '' );\r\n\t\t\t\tif(isImage && elem.parentNode){\r\n\t\t\t\t\tparsedSet.isPicture = elem.parentNode.nodeName.toUpperCase() == 'PICTURE';\r\n\r\n\t\t\t\t\tif(parsedSet.isPicture){\r\n\t\t\t\t\t\tif(window.matchMedia){\r\n\t\t\t\t\t\t\tlazySizes.aC(elem, 'lazymatchmedia');\r\n\t\t\t\t\t\t\trunMatchMedia();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tparsedSet._set = srcSet;\r\n\t\t\t\tObject.defineProperty(elem, '_lazypolyfill', {\r\n\t\t\t\t\tvalue: parsedSet,\r\n\t\t\t\t\twritable: true\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvar getX = function(elem){\r\n\t\t\tvar dpr = window.devicePixelRatio || 1;\r\n\t\t\tvar optimum = lazySizes.getX && lazySizes.getX(elem);\r\n\t\t\treturn Math.min(optimum || dpr, 2.5, dpr);\r\n\t\t};\r\n\r\n\t\tvar matchesMedia = function(media){\r\n\t\t\tif(window.matchMedia){\r\n\t\t\t\tmatchesMedia = function(media){\r\n\t\t\t\t\treturn !media || (matchMedia(media) || {}).matches;\r\n\t\t\t\t};\r\n\t\t\t} else {\r\n\t\t\t\treturn !media;\r\n\t\t\t}\r\n\r\n\t\t\treturn matchesMedia(media);\r\n\t\t};\r\n\r\n\t\tvar getCandidate = function(elem){\r\n\t\t\tvar sources, i, len, media, source, srces, src, width;\r\n\r\n\t\t\tsource = elem;\r\n\t\t\tcreateSrcset(source, true);\r\n\t\t\tsrces = source._lazypolyfill;\r\n\r\n\t\t\tif(srces.isPicture){\r\n\t\t\t\tfor(i = 0, sources = elem.parentNode.getElementsByTagName('source'), len = sources.length; i < len; i++){\r\n\t\t\t\t\tif( lazySizesCfg.supportsType(sources[i].getAttribute('type'), elem) && matchesMedia( sources[i].getAttribute('media')) ){\r\n\t\t\t\t\t\tsource = sources[i];\r\n\t\t\t\t\t\tcreateSrcset(source);\r\n\t\t\t\t\t\tsrces = source._lazypolyfill;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif(srces.length > 1){\r\n\t\t\t\twidth = source.getAttribute('sizes') || '';\r\n\t\t\t\twidth = regPxLength.test(width) && parseInt(width, 10) || lazySizes.gW(elem, elem.parentNode);\r\n\t\t\t\tsrces.d = getX(elem);\r\n\t\t\t\tif(!srces.src || !srces.w || srces.w < width){\r\n\t\t\t\t\tsrces.w = width;\r\n\t\t\t\t\tsrc = reduceCandidate(srces.sort(ascendingSort));\r\n\t\t\t\t\tsrces.src = src;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsrc = srces.src;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tsrc = srces[0];\r\n\t\t\t}\r\n\r\n\t\t\treturn src;\r\n\t\t};\r\n\r\n\t\tvar p = function(elem){\r\n\t\t\tif(supportSrcset && elem.parentNode && elem.parentNode.nodeName.toUpperCase() != 'PICTURE'){return;}\r\n\t\t\tvar candidate = getCandidate(elem);\r\n\r\n\t\t\tif(candidate && candidate.u && elem._lazypolyfill.cur != candidate.u){\r\n\t\t\t\telem._lazypolyfill.cur = candidate.u;\r\n\t\t\t\tcandidate.cached = true;\r\n\t\t\t\telem.setAttribute(lazySizesCfg.srcAttr, candidate.u);\r\n\t\t\t\telem.setAttribute('src', candidate.u);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tp.parse = parseWsrcset;\r\n\r\n\t\treturn p;\r\n\t})();\r\n\r\n\tif(lazySizesCfg.loadedClass && lazySizesCfg.loadingClass){\r\n\t\t(function(){\r\n\t\t\tvar sels = [];\r\n\t\t\t['img[sizes$=\"px\"][srcset].', 'picture > img:not([srcset]).'].forEach(function(sel){\r\n\t\t\t\tsels.push(sel + lazySizesCfg.loadedClass);\r\n\t\t\t\tsels.push(sel + lazySizesCfg.loadingClass);\r\n\t\t\t});\r\n\t\t\tlazySizesCfg.pf({\r\n\t\t\t\telements: document.querySelectorAll(sels.join(', '))\r\n\t\t\t});\r\n\t\t})();\r\n\r\n\t}\r\n}));\r\n","window.lazySizesConfig = window.lazySizesConfig || {};\r\nwindow.lazySizesConfig.customMedia = {\r\n '--sm-up': '(min-width: 576px)',\r\n '--md-up': '(min-width: 768px)',\r\n '--lg-up': '(min-width: 992px)',\r\n '--xl-up': '(min-width: 1200px)',\r\n '--xxl-up': '(min-width: 1400px)',\r\n '--xxxl-up': '(min-width: 1600px)',\r\n '--xs-down': '(max-width: 575.98px)',\r\n '--sm-down': '(max-width: 767.98px)',\r\n '--md-down': '(max-width: 991.98px)',\r\n '--lg-down': '(max-width: 1199.98px)',\r\n '--xl-down': '(max-width: 1399.98px)',\r\n '--xxl-down': '(max-width: 1599.98px)',\r\n};\r\n","(function (window, factory) {\r\n var lazySizes = factory(window, window.document, Date);\r\n window.lazySizes = lazySizes;\r\n if (typeof module == 'object' && module.exports) {\r\n module.exports = lazySizes;\r\n }\r\n})(\r\n typeof window != 'undefined' ? window : {},\r\n function l(window, document, Date) {\r\n // Pass in the windoe Date function also for SSR because the Date class can be lost\r\n 'use strict';\r\n /*jshint eqnull:true */\r\n\r\n var lazysizes, lazySizesCfg;\r\n\r\n (function () {\r\n var prop;\r\n\r\n var lazySizesDefaults = {\r\n lazyClass: 'lazyload',\r\n loadedClass: 'lazyloaded',\r\n loadingClass: 'lazyloading',\r\n preloadClass: 'lazypreload',\r\n errorClass: 'lazyerror',\r\n //strictClass: 'lazystrict',\r\n autosizesClass: 'lazyautosizes',\r\n srcAttr: 'data-src',\r\n srcsetAttr: 'data-srcset',\r\n sizesAttr: 'data-sizes',\r\n //preloadAfterLoad: false,\r\n minSize: 40,\r\n customMedia: {},\r\n init: true,\r\n expFactor: 1.5,\r\n hFac: 0.8,\r\n loadMode: 2,\r\n loadHidden: true,\r\n ricTimeout: 0,\r\n throttleDelay: 125,\r\n };\r\n\r\n lazySizesCfg = window.lazySizesConfig || window.lazysizesConfig || {};\r\n\r\n for (prop in lazySizesDefaults) {\r\n if (!(prop in lazySizesCfg)) {\r\n lazySizesCfg[prop] = lazySizesDefaults[prop];\r\n }\r\n }\r\n })();\r\n\r\n if (!document || !document.getElementsByClassName) {\r\n return {\r\n init: function () {},\r\n cfg: lazySizesCfg,\r\n noSupport: true,\r\n };\r\n }\r\n\r\n var docElem = document.documentElement;\r\n\r\n var supportPicture = window.HTMLPictureElement;\r\n\r\n var _addEventListener = 'addEventListener';\r\n\r\n var _getAttribute = 'getAttribute';\r\n\r\n /**\r\n * Update to bind to window because 'this' becomes null during SSR\r\n * builds.\r\n */\r\n var addEventListener = window[_addEventListener].bind(window);\r\n\r\n var setTimeout = window.setTimeout;\r\n\r\n var requestAnimationFrame = window.requestAnimationFrame || setTimeout;\r\n\r\n var requestIdleCallback = window.requestIdleCallback;\r\n\r\n var regPicture = /^picture$/i;\r\n\r\n var loadEvents = ['load', 'error', 'lazyincluded', '_lazyloaded'];\r\n\r\n var regClassCache = {};\r\n\r\n var forEach = Array.prototype.forEach;\r\n\r\n var hasClass = function (ele, cls) {\r\n if (!regClassCache[cls]) {\r\n regClassCache[cls] = new RegExp('(\\\\s|^)' + cls + '(\\\\s|$)');\r\n }\r\n return (\r\n regClassCache[cls].test(ele[_getAttribute]('class') || '') &&\r\n regClassCache[cls]\r\n );\r\n };\r\n\r\n var addClass = function (ele, cls) {\r\n if (!hasClass(ele, cls)) {\r\n ele.setAttribute(\r\n 'class',\r\n (ele[_getAttribute]('class') || '').trim() + ' ' + cls\r\n );\r\n }\r\n };\r\n\r\n var removeClass = function (ele, cls) {\r\n var reg;\r\n if ((reg = hasClass(ele, cls))) {\r\n ele.setAttribute(\r\n 'class',\r\n (ele[_getAttribute]('class') || '').replace(reg, ' ')\r\n );\r\n }\r\n };\r\n\r\n var addRemoveLoadEvents = function (dom, fn, add) {\r\n var action = add ? _addEventListener : 'removeEventListener';\r\n if (add) {\r\n addRemoveLoadEvents(dom, fn);\r\n }\r\n loadEvents.forEach(function (evt) {\r\n dom[action](evt, fn);\r\n });\r\n };\r\n\r\n var triggerEvent = function (elem, name, detail, noBubbles, noCancelable) {\r\n var event = document.createEvent('Event');\r\n\r\n if (!detail) {\r\n detail = {};\r\n }\r\n\r\n detail.instance = lazysizes;\r\n\r\n event.initEvent(name, !noBubbles, !noCancelable);\r\n\r\n event.detail = detail;\r\n\r\n elem.dispatchEvent(event);\r\n return event;\r\n };\r\n\r\n var updatePolyfill = function (el, full) {\r\n var polyfill;\r\n if (\r\n !supportPicture &&\r\n (polyfill = window.picturefill || lazySizesCfg.pf)\r\n ) {\r\n if (full && full.src && !el[_getAttribute]('srcset')) {\r\n el.setAttribute('srcset', full.src);\r\n }\r\n polyfill({ reevaluate: true, elements: [el] });\r\n } else if (full && full.src) {\r\n el.src = full.src;\r\n }\r\n };\r\n\r\n var getCSS = function (elem, style) {\r\n return (getComputedStyle(elem, null) || {})[style];\r\n };\r\n\r\n var getWidth = function (elem, parent, width) {\r\n width = width || elem.offsetWidth;\r\n\r\n while (width < lazySizesCfg.minSize && parent && !elem._lazysizesWidth) {\r\n width = parent.offsetWidth;\r\n parent = parent.parentNode;\r\n }\r\n\r\n return width;\r\n };\r\n\r\n var rAF = (function () {\r\n var running, waiting;\r\n var firstFns = [];\r\n var secondFns = [];\r\n var fns = firstFns;\r\n\r\n var run = function () {\r\n var runFns = fns;\r\n\r\n fns = firstFns.length ? secondFns : firstFns;\r\n\r\n running = true;\r\n waiting = false;\r\n\r\n while (runFns.length) {\r\n runFns.shift()();\r\n }\r\n\r\n running = false;\r\n };\r\n\r\n var rafBatch = function (fn, queue) {\r\n if (running && !queue) {\r\n fn.apply(this, arguments);\r\n } else {\r\n fns.push(fn);\r\n\r\n if (!waiting) {\r\n waiting = true;\r\n (document.hidden ? setTimeout : requestAnimationFrame)(run);\r\n }\r\n }\r\n };\r\n\r\n rafBatch._lsFlush = run;\r\n\r\n return rafBatch;\r\n })();\r\n\r\n var rAFIt = function (fn, simple) {\r\n return simple\r\n ? function () {\r\n rAF(fn);\r\n }\r\n : function () {\r\n var that = this;\r\n var args = arguments;\r\n rAF(function () {\r\n fn.apply(that, args);\r\n });\r\n };\r\n };\r\n\r\n var throttle = function (fn) {\r\n var running;\r\n var lastTime = 0;\r\n var gDelay = lazySizesCfg.throttleDelay;\r\n var rICTimeout = lazySizesCfg.ricTimeout;\r\n var run = function () {\r\n running = false;\r\n lastTime = Date.now();\r\n fn();\r\n };\r\n var idleCallback =\r\n requestIdleCallback && rICTimeout > 49\r\n ? function () {\r\n requestIdleCallback(run, { timeout: rICTimeout });\r\n\r\n if (rICTimeout !== lazySizesCfg.ricTimeout) {\r\n rICTimeout = lazySizesCfg.ricTimeout;\r\n }\r\n }\r\n : rAFIt(function () {\r\n setTimeout(run);\r\n }, true);\r\n return function (isPriority) {\r\n var delay;\r\n\r\n if ((isPriority = isPriority === true)) {\r\n rICTimeout = 33;\r\n }\r\n\r\n if (running) {\r\n return;\r\n }\r\n\r\n running = true;\r\n\r\n delay = gDelay - (Date.now() - lastTime);\r\n\r\n if (delay < 0) {\r\n delay = 0;\r\n }\r\n\r\n if (isPriority || delay < 9) {\r\n idleCallback();\r\n } else {\r\n setTimeout(idleCallback, delay);\r\n }\r\n };\r\n };\r\n\r\n //based on http://modernjavascript.blogspot.de/2013/08/building-better-debounce.html\r\n var debounce = function (func) {\r\n var timeout, timestamp;\r\n var wait = 99;\r\n var run = function () {\r\n timeout = null;\r\n func();\r\n };\r\n var later = function () {\r\n var last = Date.now() - timestamp;\r\n\r\n if (last < wait) {\r\n setTimeout(later, wait - last);\r\n } else {\r\n (requestIdleCallback || run)(run);\r\n }\r\n };\r\n\r\n return function () {\r\n timestamp = Date.now();\r\n\r\n if (!timeout) {\r\n timeout = setTimeout(later, wait);\r\n }\r\n };\r\n };\r\n\r\n var loader = (function () {\r\n var preloadElems, isCompleted, resetPreloadingTimer, loadMode, started;\r\n\r\n var eLvW, elvH, eLtop, eLleft, eLright, eLbottom, isBodyHidden;\r\n\r\n var regImg = /^img$/i;\r\n var regIframe = /^iframe$/i;\r\n\r\n var supportScroll =\r\n 'onscroll' in window && !/(gle|ing)bot/.test(navigator.userAgent);\r\n\r\n var shrinkExpand = 0;\r\n var currentExpand = 0;\r\n\r\n var isLoading = 0;\r\n var lowRuns = -1;\r\n\r\n var resetPreloading = function (e) {\r\n isLoading--;\r\n if (!e || isLoading < 0 || !e.target) {\r\n isLoading = 0;\r\n }\r\n };\r\n\r\n var isVisible = function (elem) {\r\n if (isBodyHidden == null) {\r\n isBodyHidden = getCSS(document.body, 'visibility') == 'hidden';\r\n }\r\n\r\n return (\r\n isBodyHidden ||\r\n !(\r\n getCSS(elem.parentNode, 'visibility') == 'hidden' &&\r\n getCSS(elem, 'visibility') == 'hidden'\r\n )\r\n );\r\n };\r\n\r\n var isNestedVisible = function (elem, elemExpand) {\r\n var outerRect;\r\n var parent = elem;\r\n var visible = isVisible(elem);\r\n\r\n eLtop -= elemExpand;\r\n eLbottom += elemExpand;\r\n eLleft -= elemExpand;\r\n eLright += elemExpand;\r\n\r\n while (\r\n visible &&\r\n (parent = parent.offsetParent) &&\r\n parent != document.body &&\r\n parent != docElem\r\n ) {\r\n visible = (getCSS(parent, 'opacity') || 1) > 0;\r\n\r\n if (visible && getCSS(parent, 'overflow') != 'visible') {\r\n outerRect = parent.getBoundingClientRect();\r\n visible =\r\n eLright > outerRect.left &&\r\n eLleft < outerRect.right &&\r\n eLbottom > outerRect.top - 1 &&\r\n eLtop < outerRect.bottom + 1;\r\n }\r\n }\r\n\r\n return visible;\r\n };\r\n\r\n var checkElements = function () {\r\n var eLlen,\r\n i,\r\n rect,\r\n autoLoadElem,\r\n loadedSomething,\r\n elemExpand,\r\n elemNegativeExpand,\r\n elemExpandVal,\r\n beforeExpandVal,\r\n defaultExpand,\r\n preloadExpand,\r\n hFac;\r\n var lazyloadElems = lazysizes.elements;\r\n\r\n if (\r\n (loadMode = lazySizesCfg.loadMode) &&\r\n isLoading < 8 &&\r\n (eLlen = lazyloadElems.length)\r\n ) {\r\n i = 0;\r\n\r\n lowRuns++;\r\n\r\n for (; i < eLlen; i++) {\r\n if (!lazyloadElems[i] || lazyloadElems[i]._lazyRace) {\r\n continue;\r\n }\r\n\r\n if (\r\n !supportScroll ||\r\n (lazysizes.prematureUnveil &&\r\n lazysizes.prematureUnveil(lazyloadElems[i]))\r\n ) {\r\n unveilElement(lazyloadElems[i]);\r\n continue;\r\n }\r\n\r\n if (\r\n !(elemExpandVal =\r\n lazyloadElems[i][_getAttribute]('data-expand')) ||\r\n !(elemExpand = elemExpandVal * 1)\r\n ) {\r\n elemExpand = currentExpand;\r\n }\r\n\r\n if (!defaultExpand) {\r\n defaultExpand =\r\n !lazySizesCfg.expand || lazySizesCfg.expand < 1\r\n ? docElem.clientHeight > 500 && docElem.clientWidth > 500\r\n ? 500\r\n : 370\r\n : lazySizesCfg.expand;\r\n\r\n lazysizes._defEx = defaultExpand;\r\n\r\n preloadExpand = defaultExpand * lazySizesCfg.expFactor;\r\n hFac = lazySizesCfg.hFac;\r\n isBodyHidden = null;\r\n\r\n if (\r\n currentExpand < preloadExpand &&\r\n isLoading < 1 &&\r\n lowRuns > 2 &&\r\n loadMode > 2 &&\r\n !document.hidden\r\n ) {\r\n currentExpand = preloadExpand;\r\n lowRuns = 0;\r\n } else if (loadMode > 1 && lowRuns > 1 && isLoading < 6) {\r\n currentExpand = defaultExpand;\r\n } else {\r\n currentExpand = shrinkExpand;\r\n }\r\n }\r\n\r\n if (beforeExpandVal !== elemExpand) {\r\n eLvW = innerWidth + elemExpand * hFac;\r\n elvH = innerHeight + elemExpand;\r\n elemNegativeExpand = elemExpand * -1;\r\n beforeExpandVal = elemExpand;\r\n }\r\n\r\n rect = lazyloadElems[i].getBoundingClientRect();\r\n\r\n if (\r\n (eLbottom = rect.bottom) >= elemNegativeExpand &&\r\n (eLtop = rect.top) <= elvH &&\r\n (eLright = rect.right) >= elemNegativeExpand * hFac &&\r\n (eLleft = rect.left) <= eLvW &&\r\n (eLbottom || eLright || eLleft || eLtop) &&\r\n (lazySizesCfg.loadHidden || isVisible(lazyloadElems[i])) &&\r\n ((isCompleted &&\r\n isLoading < 3 &&\r\n !elemExpandVal &&\r\n (loadMode < 3 || lowRuns < 4)) ||\r\n isNestedVisible(lazyloadElems[i], elemExpand))\r\n ) {\r\n unveilElement(lazyloadElems[i]);\r\n loadedSomething = true;\r\n if (isLoading > 9) {\r\n break;\r\n }\r\n } else if (\r\n !loadedSomething &&\r\n isCompleted &&\r\n !autoLoadElem &&\r\n isLoading < 4 &&\r\n lowRuns < 4 &&\r\n loadMode > 2 &&\r\n (preloadElems[0] || lazySizesCfg.preloadAfterLoad) &&\r\n (preloadElems[0] ||\r\n (!elemExpandVal &&\r\n (eLbottom ||\r\n eLright ||\r\n eLleft ||\r\n eLtop ||\r\n lazyloadElems[i][_getAttribute](lazySizesCfg.sizesAttr) !=\r\n 'auto')))\r\n ) {\r\n autoLoadElem = preloadElems[0] || lazyloadElems[i];\r\n }\r\n }\r\n\r\n if (autoLoadElem && !loadedSomething) {\r\n unveilElement(autoLoadElem);\r\n }\r\n }\r\n };\r\n\r\n var throttledCheckElements = throttle(checkElements);\r\n\r\n var switchLoadingClass = function (e) {\r\n var elem = e.target;\r\n\r\n if (elem._lazyCache) {\r\n delete elem._lazyCache;\r\n return;\r\n }\r\n\r\n resetPreloading(e);\r\n addClass(elem, lazySizesCfg.loadedClass);\r\n removeClass(elem, lazySizesCfg.loadingClass);\r\n addRemoveLoadEvents(elem, rafSwitchLoadingClass);\r\n triggerEvent(elem, 'lazyloaded');\r\n };\r\n var rafedSwitchLoadingClass = rAFIt(switchLoadingClass);\r\n var rafSwitchLoadingClass = function (e) {\r\n rafedSwitchLoadingClass({ target: e.target });\r\n };\r\n\r\n var changeIframeSrc = function (elem, src) {\r\n try {\r\n elem.contentWindow.location.replace(src);\r\n } catch (e) {\r\n elem.src = src;\r\n }\r\n };\r\n\r\n var handleSources = function (source) {\r\n var customMedia;\r\n\r\n var sourceSrcset = source[_getAttribute](lazySizesCfg.srcsetAttr);\r\n\r\n if (\r\n (customMedia =\r\n lazySizesCfg.customMedia[\r\n source[_getAttribute]('data-media') ||\r\n source[_getAttribute]('media')\r\n ])\r\n ) {\r\n source.setAttribute('media', customMedia);\r\n }\r\n\r\n if (sourceSrcset) {\r\n source.setAttribute('srcset', sourceSrcset);\r\n }\r\n };\r\n\r\n var lazyUnveil = rAFIt(function (elem, detail, isAuto, sizes, isImg) {\r\n var src, srcset, parent, isPicture, event, firesLoad;\r\n\r\n if (\r\n !(event = triggerEvent(elem, 'lazybeforeunveil', detail))\r\n .defaultPrevented\r\n ) {\r\n if (sizes) {\r\n if (isAuto) {\r\n addClass(elem, lazySizesCfg.autosizesClass);\r\n } else {\r\n elem.setAttribute('sizes', sizes);\r\n }\r\n }\r\n\r\n srcset = elem[_getAttribute](lazySizesCfg.srcsetAttr);\r\n src = elem[_getAttribute](lazySizesCfg.srcAttr);\r\n\r\n if (isImg) {\r\n parent = elem.parentNode;\r\n isPicture = parent && regPicture.test(parent.nodeName || '');\r\n }\r\n\r\n firesLoad =\r\n detail.firesLoad || ('src' in elem && (srcset || src || isPicture));\r\n\r\n event = { target: elem };\r\n\r\n addClass(elem, lazySizesCfg.loadingClass);\r\n\r\n if (firesLoad) {\r\n clearTimeout(resetPreloadingTimer);\r\n resetPreloadingTimer = setTimeout(resetPreloading, 2500);\r\n addRemoveLoadEvents(elem, rafSwitchLoadingClass, true);\r\n }\r\n\r\n if (isPicture) {\r\n forEach.call(parent.getElementsByTagName('source'), handleSources);\r\n }\r\n\r\n if (srcset) {\r\n elem.setAttribute('srcset', srcset);\r\n } else if (src && !isPicture) {\r\n if (regIframe.test(elem.nodeName)) {\r\n changeIframeSrc(elem, src);\r\n } else {\r\n elem.src = src;\r\n }\r\n }\r\n\r\n if (isImg && (srcset || isPicture)) {\r\n updatePolyfill(elem, { src: src });\r\n }\r\n }\r\n\r\n if (elem._lazyRace) {\r\n delete elem._lazyRace;\r\n }\r\n removeClass(elem, lazySizesCfg.lazyClass);\r\n\r\n rAF(function () {\r\n // Part of this can be removed as soon as this fix is older: https://bugs.chromium.org/p/chromium/issues/detail?id=7731 (2015)\r\n var isLoaded = elem.complete && elem.naturalWidth > 1;\r\n\r\n if (!firesLoad || isLoaded) {\r\n if (isLoaded) {\r\n addClass(elem, 'ls-is-cached');\r\n }\r\n switchLoadingClass(event);\r\n elem._lazyCache = true;\r\n setTimeout(function () {\r\n if ('_lazyCache' in elem) {\r\n delete elem._lazyCache;\r\n }\r\n }, 9);\r\n }\r\n if (elem.loading == 'lazy') {\r\n isLoading--;\r\n }\r\n }, true);\r\n });\r\n\r\n var unveilElement = function (elem) {\r\n if (elem._lazyRace) {\r\n return;\r\n }\r\n var detail;\r\n\r\n var isImg = regImg.test(elem.nodeName);\r\n\r\n //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\")\r\n var sizes =\r\n isImg &&\r\n (elem[_getAttribute](lazySizesCfg.sizesAttr) ||\r\n elem[_getAttribute]('sizes'));\r\n var isAuto = sizes == 'auto';\r\n\r\n if (\r\n (isAuto || !isCompleted) &&\r\n isImg &&\r\n (elem[_getAttribute]('src') || elem.srcset) &&\r\n !elem.complete &&\r\n !hasClass(elem, lazySizesCfg.errorClass) &&\r\n hasClass(elem, lazySizesCfg.lazyClass)\r\n ) {\r\n return;\r\n }\r\n\r\n detail = triggerEvent(elem, 'lazyunveilread').detail;\r\n\r\n if (isAuto) {\r\n autoSizer.updateElem(elem, true, elem.offsetWidth);\r\n }\r\n\r\n elem._lazyRace = true;\r\n isLoading++;\r\n\r\n lazyUnveil(elem, detail, isAuto, sizes, isImg);\r\n };\r\n\r\n var afterScroll = debounce(function () {\r\n lazySizesCfg.loadMode = 3;\r\n throttledCheckElements();\r\n });\r\n\r\n var altLoadmodeScrollListner = function () {\r\n if (lazySizesCfg.loadMode == 3) {\r\n lazySizesCfg.loadMode = 2;\r\n }\r\n afterScroll();\r\n };\r\n\r\n var onload = function () {\r\n if (isCompleted) {\r\n return;\r\n }\r\n if (Date.now() - started < 999) {\r\n setTimeout(onload, 999);\r\n return;\r\n }\r\n\r\n isCompleted = true;\r\n\r\n lazySizesCfg.loadMode = 3;\r\n\r\n throttledCheckElements();\r\n\r\n addEventListener('scroll', altLoadmodeScrollListner, true);\r\n };\r\n\r\n return {\r\n _: function () {\r\n started = Date.now();\r\n\r\n lazysizes.elements = document.getElementsByClassName(\r\n lazySizesCfg.lazyClass\r\n );\r\n preloadElems = document.getElementsByClassName(\r\n lazySizesCfg.lazyClass + ' ' + lazySizesCfg.preloadClass\r\n );\r\n\r\n addEventListener('scroll', throttledCheckElements, true);\r\n\r\n addEventListener('resize', throttledCheckElements, true);\r\n\r\n addEventListener('pageshow', function (e) {\r\n if (e.persisted) {\r\n var loadingElements = document.querySelectorAll(\r\n '.' + lazySizesCfg.loadingClass\r\n );\r\n\r\n if (loadingElements.length && loadingElements.forEach) {\r\n requestAnimationFrame(function () {\r\n loadingElements.forEach(function (img) {\r\n if (img.complete) {\r\n unveilElement(img);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n });\r\n\r\n if (window.MutationObserver) {\r\n new MutationObserver(throttledCheckElements).observe(docElem, {\r\n childList: true,\r\n subtree: true,\r\n attributes: true,\r\n });\r\n } else {\r\n docElem[_addEventListener](\r\n 'DOMNodeInserted',\r\n throttledCheckElements,\r\n true\r\n );\r\n docElem[_addEventListener](\r\n 'DOMAttrModified',\r\n throttledCheckElements,\r\n true\r\n );\r\n setInterval(throttledCheckElements, 999);\r\n }\r\n\r\n addEventListener('hashchange', throttledCheckElements, true);\r\n\r\n //, 'fullscreenchange'\r\n [\r\n 'focus',\r\n 'mouseover',\r\n 'click',\r\n 'load',\r\n 'transitionend',\r\n 'animationend',\r\n ].forEach(function (name) {\r\n document[_addEventListener](name, throttledCheckElements, true);\r\n });\r\n\r\n if (/d$|^c/.test(document.readyState)) {\r\n onload();\r\n } else {\r\n addEventListener('load', onload);\r\n document[_addEventListener](\r\n 'DOMContentLoaded',\r\n throttledCheckElements\r\n );\r\n setTimeout(onload, 20000);\r\n }\r\n\r\n if (lazysizes.elements.length) {\r\n checkElements();\r\n rAF._lsFlush();\r\n } else {\r\n throttledCheckElements();\r\n }\r\n },\r\n checkElems: throttledCheckElements,\r\n unveil: unveilElement,\r\n _aLSL: altLoadmodeScrollListner,\r\n };\r\n })();\r\n\r\n var autoSizer = (function () {\r\n var autosizesElems;\r\n\r\n var sizeElement = rAFIt(function (elem, parent, event, width) {\r\n var sources, i, len;\r\n elem._lazysizesWidth = width;\r\n width += 'px';\r\n\r\n elem.setAttribute('sizes', width);\r\n\r\n if (regPicture.test(parent.nodeName || '')) {\r\n sources = parent.getElementsByTagName('source');\r\n for (i = 0, len = sources.length; i < len; i++) {\r\n sources[i].setAttribute('sizes', width);\r\n }\r\n }\r\n\r\n if (!event.detail.dataAttr) {\r\n updatePolyfill(elem, event.detail);\r\n }\r\n });\r\n var getSizeElement = function (elem, dataAttr, width) {\r\n var event;\r\n var parent = elem.parentNode;\r\n\r\n if (parent) {\r\n width = getWidth(elem, parent, width);\r\n event = triggerEvent(elem, 'lazybeforesizes', {\r\n width: width,\r\n dataAttr: !!dataAttr,\r\n });\r\n\r\n if (!event.defaultPrevented) {\r\n width = event.detail.width;\r\n\r\n if (width && width !== elem._lazysizesWidth) {\r\n sizeElement(elem, parent, event, width);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var updateElementsSizes = function () {\r\n var i;\r\n var len = autosizesElems.length;\r\n if (len) {\r\n i = 0;\r\n\r\n for (; i < len; i++) {\r\n getSizeElement(autosizesElems[i]);\r\n }\r\n }\r\n };\r\n\r\n var debouncedUpdateElementsSizes = debounce(updateElementsSizes);\r\n\r\n return {\r\n _: function () {\r\n autosizesElems = document.getElementsByClassName(\r\n lazySizesCfg.autosizesClass\r\n );\r\n addEventListener('resize', debouncedUpdateElementsSizes);\r\n },\r\n checkElems: debouncedUpdateElementsSizes,\r\n updateElem: getSizeElement,\r\n };\r\n })();\r\n\r\n var init = function () {\r\n if (!init.i && document.getElementsByClassName) {\r\n init.i = true;\r\n autoSizer._();\r\n loader._();\r\n }\r\n };\r\n\r\n setTimeout(function () {\r\n if (lazySizesCfg.init) {\r\n init();\r\n }\r\n });\r\n\r\n lazysizes = {\r\n cfg: lazySizesCfg,\r\n autoSizer: autoSizer,\r\n loader: loader,\r\n init: init,\r\n uP: updatePolyfill,\r\n aC: addClass,\r\n rC: removeClass,\r\n hC: hasClass,\r\n fire: triggerEvent,\r\n gW: getWidth,\r\n rAF: rAF,\r\n };\r\n\r\n return lazysizes;\r\n }\r\n);\r\n"]}