{"mappings":"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","sources":["node_modules/lightgallery.js/lib/js/lg-utils.js","node_modules/picturefill/dist/picturefill.js","Assets/Scripts/components/addClassOnScroll/index.ts","Assets/Scripts/utils/debounce.ts","Assets/Scripts/components/carousel/index.ts","node_modules/lightgallery.js/lib/js/lightgallery.js","Assets/Scripts/components/closeMenuOnAnchorClick/index.ts","node_modules/lg-video.js/dist/lg-video.js","Assets/Scripts/components/gallery/index.ts","Assets/Scripts/components/iframeModal/index.ts","Assets/Scripts/components/inViewport/index.ts","Assets/Scripts/components/nav/index.ts","node_modules/rellax/rellax.js","Assets/Scripts/components/parallax/index.ts","Assets/Scripts/components/scrollDown/index.ts","Assets/Scripts/utils/keyCode.ts","Assets/Scripts/components/toggleLocalisation/index.ts","Assets/Scripts/components/toggleNav/index.ts","Assets/Scripts/index.ts"],"sourcesContent":["(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['exports'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(exports);\n } else {\n var mod = {\n exports: {}\n };\n factory(mod.exports);\n global.lgUtils = mod.exports;\n }\n})(this, function (exports) {\n 'use strict';\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n\n var utils = {\n getAttribute: function getAttribute(el, label) {\n return el[label];\n },\n\n setAttribute: function setAttribute(el, label, value) {\n el[label] = value;\n },\n wrap: function wrap(el, className) {\n if (!el) {\n return;\n }\n\n var wrapper = document.createElement('div');\n wrapper.className = className;\n el.parentNode.insertBefore(wrapper, el);\n el.parentNode.removeChild(el);\n wrapper.appendChild(el);\n },\n\n addClass: function addClass(el, className) {\n if (!el) {\n return;\n }\n\n if (el.classList) {\n el.classList.add(className);\n } else {\n el.className += ' ' + className;\n }\n },\n\n removeClass: function removeClass(el, className) {\n if (!el) {\n return;\n }\n\n if (el.classList) {\n el.classList.remove(className);\n } else {\n el.className = el.className.replace(new RegExp('(^|\\\\b)' + className.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n }\n },\n\n hasClass: function hasClass(el, className) {\n if (el.classList) {\n return el.classList.contains(className);\n } else {\n return new RegExp('(^| )' + className + '( |$)', 'gi').test(el.className);\n }\n },\n\n // ex Transform\n // ex TransitionTimingFunction\n setVendor: function setVendor(el, property, value) {\n if (!el) {\n return;\n }\n\n el.style[property.charAt(0).toLowerCase() + property.slice(1)] = value;\n el.style['webkit' + property] = value;\n el.style['moz' + property] = value;\n el.style['ms' + property] = value;\n el.style['o' + property] = value;\n },\n\n trigger: function trigger(el, event) {\n var detail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!el) {\n return;\n }\n\n var customEvent = new CustomEvent(event, {\n detail: detail\n });\n el.dispatchEvent(customEvent);\n },\n\n Listener: {\n uid: 0\n },\n on: function on(el, events, fn) {\n var _this = this;\n\n if (!el) {\n return;\n }\n\n events.split(' ').forEach(function (event) {\n var _id = _this.getAttribute(el, 'lg-event-uid') || '';\n utils.Listener.uid++;\n _id += '&' + utils.Listener.uid;\n _this.setAttribute(el, 'lg-event-uid', _id);\n utils.Listener[event + utils.Listener.uid] = fn;\n el.addEventListener(event.split('.')[0], fn, false);\n });\n },\n\n off: function off(el, event) {\n if (!el) {\n return;\n }\n\n var _id = this.getAttribute(el, 'lg-event-uid');\n if (_id) {\n _id = _id.split('&');\n for (var i = 0; i < _id.length; i++) {\n if (_id[i]) {\n var _event = event + _id[i];\n if (_event.substring(0, 1) === '.') {\n for (var key in utils.Listener) {\n if (utils.Listener.hasOwnProperty(key)) {\n if (key.split('.').indexOf(_event.split('.')[1]) > -1) {\n el.removeEventListener(key.split('.')[0], utils.Listener[key]);\n this.setAttribute(el, 'lg-event-uid', this.getAttribute(el, 'lg-event-uid').replace('&' + _id[i], ''));\n delete utils.Listener[key];\n }\n }\n }\n } else {\n el.removeEventListener(_event.split('.')[0], utils.Listener[_event]);\n this.setAttribute(el, 'lg-event-uid', this.getAttribute(el, 'lg-event-uid').replace('&' + _id[i], ''));\n delete utils.Listener[_event];\n }\n }\n }\n }\n },\n\n param: function param(obj) {\n return Object.keys(obj).map(function (k) {\n return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]);\n }).join('&');\n }\n };\n\n exports.default = utils;\n});","/*! picturefill - v3.0.2 - 2016-02-12\n * https://scottjehl.github.io/picturefill/\n * Copyright (c) 2016 https://github.com/scottjehl/picturefill/blob/master/Authors.txt; Licensed MIT\n */\n/*! Gecko-Picture - v1.0\n * https://github.com/scottjehl/picturefill/tree/3.0/src/plugins/gecko-picture\n * Firefox's early picture implementation (prior to FF41) is static and does\n * not react to viewport changes. This tiny module fixes this.\n */\n(function(window) {\n\t/*jshint eqnull:true */\n\tvar ua = navigator.userAgent;\n\n\tif ( window.HTMLPictureElement && ((/ecko/).test(ua) && ua.match(/rv\\:(\\d+)/) && RegExp.$1 < 45) ) {\n\t\taddEventListener(\"resize\", (function() {\n\t\t\tvar timer;\n\n\t\t\tvar dummySrc = document.createElement(\"source\");\n\n\t\t\tvar fixRespimg = function(img) {\n\t\t\t\tvar source, sizes;\n\t\t\t\tvar picture = img.parentNode;\n\n\t\t\t\tif (picture.nodeName.toUpperCase() === \"PICTURE\") {\n\t\t\t\t\tsource = dummySrc.cloneNode();\n\n\t\t\t\t\tpicture.insertBefore(source, picture.firstElementChild);\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\tpicture.removeChild(source);\n\t\t\t\t\t});\n\t\t\t\t} else if (!img._pfLastSize || img.offsetWidth > img._pfLastSize) {\n\t\t\t\t\timg._pfLastSize = img.offsetWidth;\n\t\t\t\t\tsizes = img.sizes;\n\t\t\t\t\timg.sizes += \",100vw\";\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\timg.sizes = sizes;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tvar findPictureImgs = function() {\n\t\t\t\tvar i;\n\t\t\t\tvar imgs = document.querySelectorAll(\"picture > img, img[srcset][sizes]\");\n\t\t\t\tfor (i = 0; i < imgs.length; i++) {\n\t\t\t\t\tfixRespimg(imgs[i]);\n\t\t\t\t}\n\t\t\t};\n\t\t\tvar onResize = function() {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\ttimer = setTimeout(findPictureImgs, 99);\n\t\t\t};\n\t\t\tvar mq = window.matchMedia && matchMedia(\"(orientation: landscape)\");\n\t\t\tvar init = function() {\n\t\t\t\tonResize();\n\n\t\t\t\tif (mq && mq.addListener) {\n\t\t\t\t\tmq.addListener(onResize);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tdummySrc.srcset = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";\n\n\t\t\tif (/^[c|i]|d$/.test(document.readyState || \"\")) {\n\t\t\t\tinit();\n\t\t\t} else {\n\t\t\t\tdocument.addEventListener(\"DOMContentLoaded\", init);\n\t\t\t}\n\n\t\t\treturn onResize;\n\t\t})());\n\t}\n})(window);\n\n/*! Picturefill - v3.0.2\n * http://scottjehl.github.io/picturefill\n * Copyright (c) 2015 https://github.com/scottjehl/picturefill/blob/master/Authors.txt;\n * License: MIT\n */\n\n(function( window, document, undefined ) {\n\t// Enable strict mode\n\t\"use strict\";\n\n\t// HTML shim|v it for old IE (IE9 will still need the HTML video tag workaround)\n\tdocument.createElement( \"picture\" );\n\n\tvar warn, eminpx, alwaysCheckWDescriptor, evalId;\n\t// local object for method references and testing exposure\n\tvar pf = {};\n\tvar isSupportTestReady = false;\n\tvar noop = function() {};\n\tvar image = document.createElement( \"img\" );\n\tvar getImgAttr = image.getAttribute;\n\tvar setImgAttr = image.setAttribute;\n\tvar removeImgAttr = image.removeAttribute;\n\tvar docElem = document.documentElement;\n\tvar types = {};\n\tvar cfg = {\n\t\t//resource selection:\n\t\talgorithm: \"\"\n\t};\n\tvar srcAttr = \"data-pfsrc\";\n\tvar srcsetAttr = srcAttr + \"set\";\n\t// ua sniffing is done for undetectable img loading features,\n\t// to do some non crucial perf optimizations\n\tvar ua = navigator.userAgent;\n\tvar supportAbort = (/rident/).test(ua) || ((/ecko/).test(ua) && ua.match(/rv\\:(\\d+)/) && RegExp.$1 > 35 );\n\tvar curSrcProp = \"currentSrc\";\n\tvar regWDesc = /\\s+\\+?\\d+(e\\d+)?w/;\n\tvar regSize = /(\\([^)]+\\))?\\s*(.+)/;\n\tvar setOptions = window.picturefillCFG;\n\t/**\n\t * Shortcut property for https://w3c.github.io/webappsec/specs/mixedcontent/#restricts-mixed-content ( for easy overriding in tests )\n\t */\n\t// baseStyle also used by getEmValue (i.e.: width: 1em is important)\n\tvar baseStyle = \"position:absolute;left:0;visibility:hidden;display:block;padding:0;border:none;font-size:1em;width:1em;overflow:hidden;clip:rect(0px, 0px, 0px, 0px)\";\n\tvar fsCss = \"font-size:100%!important;\";\n\tvar isVwDirty = true;\n\n\tvar cssCache = {};\n\tvar sizeLengthCache = {};\n\tvar DPR = window.devicePixelRatio;\n\tvar units = {\n\t\tpx: 1,\n\t\t\"in\": 96\n\t};\n\tvar anchor = document.createElement( \"a\" );\n\t/**\n\t * alreadyRun flag used for setOptions. is it true setOptions will reevaluate\n\t * @type {boolean}\n\t */\n\tvar alreadyRun = false;\n\n\t// Reusable, non-\"g\" Regexes\n\n\t// (Don't use \\s, to avoid matching non-breaking space.)\n\tvar regexLeadingSpaces = /^[ \\t\\n\\r\\u000c]+/,\n\t regexLeadingCommasOrSpaces = /^[, \\t\\n\\r\\u000c]+/,\n\t regexLeadingNotSpaces = /^[^ \\t\\n\\r\\u000c]+/,\n\t regexTrailingCommas = /[,]+$/,\n\t regexNonNegativeInteger = /^\\d+$/,\n\n\t // ( Positive or negative or unsigned integers or decimals, without or without exponents.\n\t // Must include at least one digit.\n\t // According to spec tests any decimal point must be followed by a digit.\n\t // No leading plus sign is allowed.)\n\t // https://html.spec.whatwg.org/multipage/infrastructure.html#valid-floating-point-number\n\t regexFloatingPoint = /^-?(?:[0-9]+|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/;\n\n\tvar on = function(obj, evt, fn, capture) {\n\t\tif ( obj.addEventListener ) {\n\t\t\tobj.addEventListener(evt, fn, capture || false);\n\t\t} else if ( obj.attachEvent ) {\n\t\t\tobj.attachEvent( \"on\" + evt, fn);\n\t\t}\n\t};\n\n\t/**\n\t * simple memoize function:\n\t */\n\n\tvar memoize = function(fn) {\n\t\tvar cache = {};\n\t\treturn function(input) {\n\t\t\tif ( !(input in cache) ) {\n\t\t\t\tcache[ input ] = fn(input);\n\t\t\t}\n\t\t\treturn cache[ input ];\n\t\t};\n\t};\n\n\t// UTILITY FUNCTIONS\n\n\t// Manual is faster than RegEx\n\t// http://jsperf.com/whitespace-character/5\n\tfunction isSpace(c) {\n\t\treturn (c === \"\\u0020\" || // space\n\t\t c === \"\\u0009\" || // horizontal tab\n\t\t c === \"\\u000A\" || // new line\n\t\t c === \"\\u000C\" || // form feed\n\t\t c === \"\\u000D\"); // carriage return\n\t}\n\n\t/**\n\t * gets a mediaquery and returns a boolean or gets a css length and returns a number\n\t * @param css mediaqueries or css length\n\t * @returns {boolean|number}\n\t *\n\t * based on: https://gist.github.com/jonathantneal/db4f77009b155f083738\n\t */\n\tvar evalCSS = (function() {\n\n\t\tvar regLength = /^([\\d\\.]+)(em|vw|px)$/;\n\t\tvar replace = function() {\n\t\t\tvar args = arguments, index = 0, string = args[0];\n\t\t\twhile (++index in args) {\n\t\t\t\tstring = string.replace(args[index], args[++index]);\n\t\t\t}\n\t\t\treturn string;\n\t\t};\n\n\t\tvar buildStr = memoize(function(css) {\n\n\t\t\treturn \"return \" + replace((css || \"\").toLowerCase(),\n\t\t\t\t// interpret `and`\n\t\t\t\t/\\band\\b/g, \"&&\",\n\n\t\t\t\t// interpret `,`\n\t\t\t\t/,/g, \"||\",\n\n\t\t\t\t// interpret `min-` as >=\n\t\t\t\t/min-([a-z-\\s]+):/g, \"e.$1>=\",\n\n\t\t\t\t// interpret `max-` as <=\n\t\t\t\t/max-([a-z-\\s]+):/g, \"e.$1<=\",\n\n\t\t\t\t//calc value\n\t\t\t\t/calc([^)]+)/g, \"($1)\",\n\n\t\t\t\t// interpret css values\n\t\t\t\t/(\\d+[\\.]*[\\d]*)([a-z]+)/g, \"($1 * e.$2)\",\n\t\t\t\t//make eval less evil\n\t\t\t\t/^(?!(e.[a-z]|[0-9\\.&=|><\\+\\-\\*\\(\\)\\/])).*/ig, \"\"\n\t\t\t) + \";\";\n\t\t});\n\n\t\treturn function(css, length) {\n\t\t\tvar parsedLength;\n\t\t\tif (!(css in cssCache)) {\n\t\t\t\tcssCache[css] = false;\n\t\t\t\tif (length && (parsedLength = css.match( regLength ))) {\n\t\t\t\t\tcssCache[css] = parsedLength[ 1 ] * units[parsedLength[ 2 ]];\n\t\t\t\t} else {\n\t\t\t\t\t/*jshint evil:true */\n\t\t\t\t\ttry{\n\t\t\t\t\t\tcssCache[css] = new Function(\"e\", buildStr(css))(units);\n\t\t\t\t\t} catch(e) {}\n\t\t\t\t\t/*jshint evil:false */\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn cssCache[css];\n\t\t};\n\t})();\n\n\tvar setResolution = function( candidate, sizesattr ) {\n\t\tif ( candidate.w ) { // h = means height: || descriptor.type === 'h' do not handle yet...\n\t\t\tcandidate.cWidth = pf.calcListLength( sizesattr || \"100vw\" );\n\t\t\tcandidate.res = candidate.w / candidate.cWidth ;\n\t\t} else {\n\t\t\tcandidate.res = candidate.d;\n\t\t}\n\t\treturn candidate;\n\t};\n\n\t/**\n\t *\n\t * @param opt\n\t */\n\tvar picturefill = function( opt ) {\n\n\t\tif (!isSupportTestReady) {return;}\n\n\t\tvar elements, i, plen;\n\n\t\tvar options = opt || {};\n\n\t\tif ( options.elements && options.elements.nodeType === 1 ) {\n\t\t\tif ( options.elements.nodeName.toUpperCase() === \"IMG\" ) {\n\t\t\t\toptions.elements = [ options.elements ];\n\t\t\t} else {\n\t\t\t\toptions.context = options.elements;\n\t\t\t\toptions.elements = null;\n\t\t\t}\n\t\t}\n\n\t\telements = options.elements || pf.qsa( (options.context || document), ( options.reevaluate || options.reselect ) ? pf.sel : pf.selShort );\n\n\t\tif ( (plen = elements.length) ) {\n\n\t\t\tpf.setupRun( options );\n\t\t\talreadyRun = true;\n\n\t\t\t// Loop through all elements\n\t\t\tfor ( i = 0; i < plen; i++ ) {\n\t\t\t\tpf.fillImg(elements[ i ], options);\n\t\t\t}\n\n\t\t\tpf.teardownRun( options );\n\t\t}\n\t};\n\n\t/**\n\t * outputs a warning for the developer\n\t * @param {message}\n\t * @type {Function}\n\t */\n\twarn = ( window.console && console.warn ) ?\n\t\tfunction( message ) {\n\t\t\tconsole.warn( message );\n\t\t} :\n\t\tnoop\n\t;\n\n\tif ( !(curSrcProp in image) ) {\n\t\tcurSrcProp = \"src\";\n\t}\n\n\t// Add support for standard mime types.\n\ttypes[ \"image/jpeg\" ] = true;\n\ttypes[ \"image/gif\" ] = true;\n\ttypes[ \"image/png\" ] = true;\n\n\tfunction detectTypeSupport( type, typeUri ) {\n\t\t// based on Modernizr's lossless img-webp test\n\t\t// note: asynchronous\n\t\tvar image = new window.Image();\n\t\timage.onerror = function() {\n\t\t\ttypes[ type ] = false;\n\t\t\tpicturefill();\n\t\t};\n\t\timage.onload = function() {\n\t\t\ttypes[ type ] = image.width === 1;\n\t\t\tpicturefill();\n\t\t};\n\t\timage.src = typeUri;\n\t\treturn \"pending\";\n\t}\n\n\t// test svg support\n\ttypes[ \"image/svg+xml\" ] = document.implementation.hasFeature( \"http://www.w3.org/TR/SVG11/feature#Image\", \"1.1\" );\n\n\t/**\n\t * updates the internal vW property with the current viewport width in px\n\t */\n\tfunction updateMetrics() {\n\n\t\tisVwDirty = false;\n\t\tDPR = window.devicePixelRatio;\n\t\tcssCache = {};\n\t\tsizeLengthCache = {};\n\n\t\tpf.DPR = DPR || 1;\n\n\t\tunits.width = Math.max(window.innerWidth || 0, docElem.clientWidth);\n\t\tunits.height = Math.max(window.innerHeight || 0, docElem.clientHeight);\n\n\t\tunits.vw = units.width / 100;\n\t\tunits.vh = units.height / 100;\n\n\t\tevalId = [ units.height, units.width, DPR ].join(\"-\");\n\n\t\tunits.em = pf.getEmValue();\n\t\tunits.rem = units.em;\n\t}\n\n\tfunction chooseLowRes( lowerValue, higherValue, dprValue, isCached ) {\n\t\tvar bonusFactor, tooMuch, bonus, meanDensity;\n\n\t\t//experimental\n\t\tif (cfg.algorithm === \"saveData\" ){\n\t\t\tif ( lowerValue > 2.7 ) {\n\t\t\t\tmeanDensity = dprValue + 1;\n\t\t\t} else {\n\t\t\t\ttooMuch = higherValue - dprValue;\n\t\t\t\tbonusFactor = Math.pow(lowerValue - 0.6, 1.5);\n\n\t\t\t\tbonus = tooMuch * bonusFactor;\n\n\t\t\t\tif (isCached) {\n\t\t\t\t\tbonus += 0.1 * bonusFactor;\n\t\t\t\t}\n\n\t\t\t\tmeanDensity = lowerValue + bonus;\n\t\t\t}\n\t\t} else {\n\t\t\tmeanDensity = (dprValue > 1) ?\n\t\t\t\tMath.sqrt(lowerValue * higherValue) :\n\t\t\t\tlowerValue;\n\t\t}\n\n\t\treturn meanDensity > dprValue;\n\t}\n\n\tfunction applyBestCandidate( img ) {\n\t\tvar srcSetCandidates;\n\t\tvar matchingSet = pf.getSet( img );\n\t\tvar evaluated = false;\n\t\tif ( matchingSet !== \"pending\" ) {\n\t\t\tevaluated = evalId;\n\t\t\tif ( matchingSet ) {\n\t\t\t\tsrcSetCandidates = pf.setRes( matchingSet );\n\t\t\t\tpf.applySetCandidate( srcSetCandidates, img );\n\t\t\t}\n\t\t}\n\t\timg[ pf.ns ].evaled = evaluated;\n\t}\n\n\tfunction ascendingSort( a, b ) {\n\t\treturn a.res - b.res;\n\t}\n\n\tfunction setSrcToCur( img, src, set ) {\n\t\tvar candidate;\n\t\tif ( !set && src ) {\n\t\t\tset = img[ pf.ns ].sets;\n\t\t\tset = set && set[set.length - 1];\n\t\t}\n\n\t\tcandidate = getCandidateForSrc(src, set);\n\n\t\tif ( candidate ) {\n\t\t\tsrc = pf.makeUrl(src);\n\t\t\timg[ pf.ns ].curSrc = src;\n\t\t\timg[ pf.ns ].curCan = candidate;\n\n\t\t\tif ( !candidate.res ) {\n\t\t\t\tsetResolution( candidate, candidate.set.sizes );\n\t\t\t}\n\t\t}\n\t\treturn candidate;\n\t}\n\n\tfunction getCandidateForSrc( src, set ) {\n\t\tvar i, candidate, candidates;\n\t\tif ( src && set ) {\n\t\t\tcandidates = pf.parseSet( set );\n\t\t\tsrc = pf.makeUrl(src);\n\t\t\tfor ( i = 0; i < candidates.length; i++ ) {\n\t\t\t\tif ( src === pf.makeUrl(candidates[ i ].url) ) {\n\t\t\t\t\tcandidate = candidates[ i ];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn candidate;\n\t}\n\n\tfunction getAllSourceElements( picture, candidates ) {\n\t\tvar i, len, source, srcset;\n\n\t\t// SPEC mismatch intended for size and perf:\n\t\t// actually only source elements preceding the img should be used\n\t\t// also note: don't use qsa here, because IE8 sometimes doesn't like source as the key part in a selector\n\t\tvar sources = picture.getElementsByTagName( \"source\" );\n\n\t\tfor ( i = 0, len = sources.length; i < len; i++ ) {\n\t\t\tsource = sources[ i ];\n\t\t\tsource[ pf.ns ] = true;\n\t\t\tsrcset = source.getAttribute( \"srcset\" );\n\n\t\t\t// if source does not have a srcset attribute, skip\n\t\t\tif ( srcset ) {\n\t\t\t\tcandidates.push( {\n\t\t\t\t\tsrcset: srcset,\n\t\t\t\t\tmedia: source.getAttribute( \"media\" ),\n\t\t\t\t\ttype: source.getAttribute( \"type\" ),\n\t\t\t\t\tsizes: source.getAttribute( \"sizes\" )\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Srcset Parser\n\t * By Alex Bell | MIT License\n\t *\n\t * @returns Array [{url: _, d: _, w: _, h:_, set:_(????)}, ...]\n\t *\n\t * Based super duper closely on the reference algorithm at:\n\t * https://html.spec.whatwg.org/multipage/embedded-content.html#parse-a-srcset-attribute\n\t */\n\n\t// 1. Let input be the value passed to this algorithm.\n\t// (TO-DO : Explain what \"set\" argument is here. Maybe choose a more\n\t// descriptive & more searchable name. Since passing the \"set\" in really has\n\t// nothing to do with parsing proper, I would prefer this assignment eventually\n\t// go in an external fn.)\n\tfunction parseSrcset(input, set) {\n\n\t\tfunction collectCharacters(regEx) {\n\t\t\tvar chars,\n\t\t\t match = regEx.exec(input.substring(pos));\n\t\t\tif (match) {\n\t\t\t\tchars = match[ 0 ];\n\t\t\t\tpos += chars.length;\n\t\t\t\treturn chars;\n\t\t\t}\n\t\t}\n\n\t\tvar inputLength = input.length,\n\t\t url,\n\t\t descriptors,\n\t\t currentDescriptor,\n\t\t state,\n\t\t c,\n\n\t\t // 2. Let position be a pointer into input, initially pointing at the start\n\t\t // of the string.\n\t\t pos = 0,\n\n\t\t // 3. Let candidates be an initially empty source set.\n\t\t candidates = [];\n\n\t\t/**\n\t\t* Adds descriptor properties to a candidate, pushes to the candidates array\n\t\t* @return undefined\n\t\t*/\n\t\t// (Declared outside of the while loop so that it's only created once.\n\t\t// (This fn is defined before it is used, in order to pass JSHINT.\n\t\t// Unfortunately this breaks the sequencing of the spec comments. :/ )\n\t\tfunction parseDescriptors() {\n\n\t\t\t// 9. Descriptor parser: Let error be no.\n\t\t\tvar pError = false,\n\n\t\t\t// 10. Let width be absent.\n\t\t\t// 11. Let density be absent.\n\t\t\t// 12. Let future-compat-h be absent. (We're implementing it now as h)\n\t\t\t w, d, h, i,\n\t\t\t candidate = {},\n\t\t\t desc, lastChar, value, intVal, floatVal;\n\n\t\t\t// 13. For each descriptor in descriptors, run the appropriate set of steps\n\t\t\t// from the following list:\n\t\t\tfor (i = 0 ; i < descriptors.length; i++) {\n\t\t\t\tdesc = descriptors[ i ];\n\n\t\t\t\tlastChar = desc[ desc.length - 1 ];\n\t\t\t\tvalue = desc.substring(0, desc.length - 1);\n\t\t\t\tintVal = parseInt(value, 10);\n\t\t\t\tfloatVal = parseFloat(value);\n\n\t\t\t\t// If the descriptor consists of a valid non-negative integer followed by\n\t\t\t\t// a U+0077 LATIN SMALL LETTER W character\n\t\t\t\tif (regexNonNegativeInteger.test(value) && (lastChar === \"w\")) {\n\n\t\t\t\t\t// If width and density are not both absent, then let error be yes.\n\t\t\t\t\tif (w || d) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing non-negative integers to the descriptor.\n\t\t\t\t\t// If the result is zero, let error be yes.\n\t\t\t\t\t// Otherwise, let width be the result.\n\t\t\t\t\tif (intVal === 0) {pError = true;} else {w = intVal;}\n\n\t\t\t\t// If the descriptor consists of a valid floating-point number followed by\n\t\t\t\t// a U+0078 LATIN SMALL LETTER X character\n\t\t\t\t} else if (regexFloatingPoint.test(value) && (lastChar === \"x\")) {\n\n\t\t\t\t\t// If width, density and future-compat-h are not all absent, then let error\n\t\t\t\t\t// be yes.\n\t\t\t\t\tif (w || d || h) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing floating-point number values to the descriptor.\n\t\t\t\t\t// If the result is less than zero, let error be yes. Otherwise, let density\n\t\t\t\t\t// be the result.\n\t\t\t\t\tif (floatVal < 0) {pError = true;} else {d = floatVal;}\n\n\t\t\t\t// If the descriptor consists of a valid non-negative integer followed by\n\t\t\t\t// a U+0068 LATIN SMALL LETTER H character\n\t\t\t\t} else if (regexNonNegativeInteger.test(value) && (lastChar === \"h\")) {\n\n\t\t\t\t\t// If height and density are not both absent, then let error be yes.\n\t\t\t\t\tif (h || d) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing non-negative integers to the descriptor.\n\t\t\t\t\t// If the result is zero, let error be yes. Otherwise, let future-compat-h\n\t\t\t\t\t// be the result.\n\t\t\t\t\tif (intVal === 0) {pError = true;} else {h = intVal;}\n\n\t\t\t\t// Anything else, Let error be yes.\n\t\t\t\t} else {pError = true;}\n\t\t\t} // (close step 13 for loop)\n\n\t\t\t// 15. If error is still no, then append a new image source to candidates whose\n\t\t\t// URL is url, associated with a width width if not absent and a pixel\n\t\t\t// density density if not absent. Otherwise, there is a parse error.\n\t\t\tif (!pError) {\n\t\t\t\tcandidate.url = url;\n\n\t\t\t\tif (w) { candidate.w = w;}\n\t\t\t\tif (d) { candidate.d = d;}\n\t\t\t\tif (h) { candidate.h = h;}\n\t\t\t\tif (!h && !d && !w) {candidate.d = 1;}\n\t\t\t\tif (candidate.d === 1) {set.has1x = true;}\n\t\t\t\tcandidate.set = set;\n\n\t\t\t\tcandidates.push(candidate);\n\t\t\t}\n\t\t} // (close parseDescriptors fn)\n\n\t\t/**\n\t\t* Tokenizes descriptor properties prior to parsing\n\t\t* Returns undefined.\n\t\t* (Again, this fn is defined before it is used, in order to pass JSHINT.\n\t\t* Unfortunately this breaks the logical sequencing of the spec comments. :/ )\n\t\t*/\n\t\tfunction tokenize() {\n\n\t\t\t// 8.1. Descriptor tokeniser: Skip whitespace\n\t\t\tcollectCharacters(regexLeadingSpaces);\n\n\t\t\t// 8.2. Let current descriptor be the empty string.\n\t\t\tcurrentDescriptor = \"\";\n\n\t\t\t// 8.3. Let state be in descriptor.\n\t\t\tstate = \"in descriptor\";\n\n\t\t\twhile (true) {\n\n\t\t\t\t// 8.4. Let c be the character at position.\n\t\t\t\tc = input.charAt(pos);\n\n\t\t\t\t// Do the following depending on the value of state.\n\t\t\t\t// For the purpose of this step, \"EOF\" is a special character representing\n\t\t\t\t// that position is past the end of input.\n\n\t\t\t\t// In descriptor\n\t\t\t\tif (state === \"in descriptor\") {\n\t\t\t\t\t// Do the following, depending on the value of c:\n\n\t\t\t\t // Space character\n\t\t\t\t // If current descriptor is not empty, append current descriptor to\n\t\t\t\t // descriptors and let current descriptor be the empty string.\n\t\t\t\t // Set state to after descriptor.\n\t\t\t\t\tif (isSpace(c)) {\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t\tcurrentDescriptor = \"\";\n\t\t\t\t\t\t\tstate = \"after descriptor\";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// U+002C COMMA (,)\n\t\t\t\t\t// Advance position to the next character in input. If current descriptor\n\t\t\t\t\t// is not empty, append current descriptor to descriptors. Jump to the step\n\t\t\t\t\t// labeled descriptor parser.\n\t\t\t\t\t} else if (c === \",\") {\n\t\t\t\t\t\tpos += 1;\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t// U+0028 LEFT PARENTHESIS (()\n\t\t\t\t\t// Append c to current descriptor. Set state to in parens.\n\t\t\t\t\t} else if (c === \"\\u0028\") {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t\tstate = \"in parens\";\n\n\t\t\t\t\t// EOF\n\t\t\t\t\t// If current descriptor is not empty, append current descriptor to\n\t\t\t\t\t// descriptors. Jump to the step labeled descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t// Anything else\n\t\t\t\t\t// Append c to current descriptor.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t}\n\t\t\t\t// (end \"in descriptor\"\n\n\t\t\t\t// In parens\n\t\t\t\t} else if (state === \"in parens\") {\n\n\t\t\t\t\t// U+0029 RIGHT PARENTHESIS ())\n\t\t\t\t\t// Append c to current descriptor. Set state to in descriptor.\n\t\t\t\t\tif (c === \")\") {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t\tstate = \"in descriptor\";\n\n\t\t\t\t\t// EOF\n\t\t\t\t\t// Append current descriptor to descriptors. Jump to the step labeled\n\t\t\t\t\t// descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t// Anything else\n\t\t\t\t\t// Append c to current descriptor.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t}\n\n\t\t\t\t// After descriptor\n\t\t\t\t} else if (state === \"after descriptor\") {\n\n\t\t\t\t\t// Do the following, depending on the value of c:\n\t\t\t\t\t// Space character: Stay in this state.\n\t\t\t\t\tif (isSpace(c)) {\n\n\t\t\t\t\t// EOF: Jump to the step labeled descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t// Anything else\n\t\t\t\t\t// Set state to in descriptor. Set position to the previous character in input.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate = \"in descriptor\";\n\t\t\t\t\t\tpos -= 1;\n\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Advance position to the next character in input.\n\t\t\t\tpos += 1;\n\n\t\t\t// Repeat this step.\n\t\t\t} // (close while true loop)\n\t\t}\n\n\t\t// 4. Splitting loop: Collect a sequence of characters that are space\n\t\t// characters or U+002C COMMA characters. If any U+002C COMMA characters\n\t\t// were collected, that is a parse error.\n\t\twhile (true) {\n\t\t\tcollectCharacters(regexLeadingCommasOrSpaces);\n\n\t\t\t// 5. If position is past the end of input, return candidates and abort these steps.\n\t\t\tif (pos >= inputLength) {\n\t\t\t\treturn candidates; // (we're done, this is the sole return path)\n\t\t\t}\n\n\t\t\t// 6. Collect a sequence of characters that are not space characters,\n\t\t\t// and let that be url.\n\t\t\turl = collectCharacters(regexLeadingNotSpaces);\n\n\t\t\t// 7. Let descriptors be a new empty list.\n\t\t\tdescriptors = [];\n\n\t\t\t// 8. If url ends with a U+002C COMMA character (,), follow these substeps:\n\t\t\t//\t\t(1). Remove all trailing U+002C COMMA characters from url. If this removed\n\t\t\t// more than one character, that is a parse error.\n\t\t\tif (url.slice(-1) === \",\") {\n\t\t\t\turl = url.replace(regexTrailingCommas, \"\");\n\t\t\t\t// (Jump ahead to step 9 to skip tokenization and just push the candidate).\n\t\t\t\tparseDescriptors();\n\n\t\t\t//\tOtherwise, follow these substeps:\n\t\t\t} else {\n\t\t\t\ttokenize();\n\t\t\t} // (close else of step 8)\n\n\t\t// 16. Return to the step labeled splitting loop.\n\t\t} // (Close of big while loop.)\n\t}\n\n\t/*\n\t * Sizes Parser\n\t *\n\t * By Alex Bell | MIT License\n\t *\n\t * Non-strict but accurate and lightweight JS Parser for the string value \n\t *\n\t * Reference algorithm at:\n\t * https://html.spec.whatwg.org/multipage/embedded-content.html#parse-a-sizes-attribute\n\t *\n\t * Most comments are copied in directly from the spec\n\t * (except for comments in parens).\n\t *\n\t * Grammar is:\n\t * = # [ , ]? | \n\t * = \n\t * = \n\t * http://www.w3.org/html/wg/drafts/html/master/embedded-content.html#attr-img-sizes\n\t *\n\t * E.g. \"(max-width: 30em) 100vw, (max-width: 50em) 70vw, 100vw\"\n\t * or \"(min-width: 30em), calc(30vw - 15px)\" or just \"30vw\"\n\t *\n\t * Returns the first valid with a media condition that evaluates to true,\n\t * or \"100vw\" if all valid media conditions evaluate to false.\n\t *\n\t */\n\n\tfunction parseSizes(strValue) {\n\n\t\t// (Percentage CSS lengths are not allowed in this case, to avoid confusion:\n\t\t// https://html.spec.whatwg.org/multipage/embedded-content.html#valid-source-size-list\n\t\t// CSS allows a single optional plus or minus sign:\n\t\t// http://www.w3.org/TR/CSS2/syndata.html#numbers\n\t\t// CSS is ASCII case-insensitive:\n\t\t// http://www.w3.org/TR/CSS2/syndata.html#characters )\n\t\t// Spec allows exponential notation for type:\n\t\t// http://dev.w3.org/csswg/css-values/#numbers\n\t\tvar regexCssLengthWithUnits = /^(?:[+-]?[0-9]+|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?(?:ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmin|vmax|vw)$/i;\n\n\t\t// (This is a quick and lenient test. Because of optional unlimited-depth internal\n\t\t// grouping parens and strict spacing rules, this could get very complicated.)\n\t\tvar regexCssCalc = /^calc\\((?:[0-9a-z \\.\\+\\-\\*\\/\\(\\)]+)\\)$/i;\n\n\t\tvar i;\n\t\tvar unparsedSizesList;\n\t\tvar unparsedSizesListLength;\n\t\tvar unparsedSize;\n\t\tvar lastComponentValue;\n\t\tvar size;\n\n\t\t// UTILITY FUNCTIONS\n\n\t\t// (Toy CSS parser. The goals here are:\n\t\t// 1) expansive test coverage without the weight of a full CSS parser.\n\t\t// 2) Avoiding regex wherever convenient.\n\t\t// Quick tests: http://jsfiddle.net/gtntL4gr/3/\n\t\t// Returns an array of arrays.)\n\t\tfunction parseComponentValues(str) {\n\t\t\tvar chrctr;\n\t\t\tvar component = \"\";\n\t\t\tvar componentArray = [];\n\t\t\tvar listArray = [];\n\t\t\tvar parenDepth = 0;\n\t\t\tvar pos = 0;\n\t\t\tvar inComment = false;\n\n\t\t\tfunction pushComponent() {\n\t\t\t\tif (component) {\n\t\t\t\t\tcomponentArray.push(component);\n\t\t\t\t\tcomponent = \"\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction pushComponentArray() {\n\t\t\t\tif (componentArray[0]) {\n\t\t\t\t\tlistArray.push(componentArray);\n\t\t\t\t\tcomponentArray = [];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// (Loop forwards from the beginning of the string.)\n\t\t\twhile (true) {\n\t\t\t\tchrctr = str.charAt(pos);\n\n\t\t\t\tif (chrctr === \"\") { // ( End of string reached.)\n\t\t\t\t\tpushComponent();\n\t\t\t\t\tpushComponentArray();\n\t\t\t\t\treturn listArray;\n\t\t\t\t} else if (inComment) {\n\t\t\t\t\tif ((chrctr === \"*\") && (str[pos + 1] === \"/\")) { // (At end of a comment.)\n\t\t\t\t\t\tinComment = false;\n\t\t\t\t\t\tpos += 2;\n\t\t\t\t\t\tpushComponent();\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpos += 1; // (Skip all characters inside comments.)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t} else if (isSpace(chrctr)) {\n\t\t\t\t\t// (If previous character in loop was also a space, or if\n\t\t\t\t\t// at the beginning of the string, do not add space char to\n\t\t\t\t\t// component.)\n\t\t\t\t\tif ( (str.charAt(pos - 1) && isSpace( str.charAt(pos - 1) ) ) || !component ) {\n\t\t\t\t\t\tpos += 1;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else if (parenDepth === 0) {\n\t\t\t\t\t\tpushComponent();\n\t\t\t\t\t\tpos +=1;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// (Replace any space character with a plain space for legibility.)\n\t\t\t\t\t\tchrctr = \" \";\n\t\t\t\t\t}\n\t\t\t\t} else if (chrctr === \"(\") {\n\t\t\t\t\tparenDepth += 1;\n\t\t\t\t} else if (chrctr === \")\") {\n\t\t\t\t\tparenDepth -= 1;\n\t\t\t\t} else if (chrctr === \",\") {\n\t\t\t\t\tpushComponent();\n\t\t\t\t\tpushComponentArray();\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tcontinue;\n\t\t\t\t} else if ( (chrctr === \"/\") && (str.charAt(pos + 1) === \"*\") ) {\n\t\t\t\t\tinComment = true;\n\t\t\t\t\tpos += 2;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcomponent = component + chrctr;\n\t\t\t\tpos += 1;\n\t\t\t}\n\t\t}\n\n\t\tfunction isValidNonNegativeSourceSizeValue(s) {\n\t\t\tif (regexCssLengthWithUnits.test(s) && (parseFloat(s) >= 0)) {return true;}\n\t\t\tif (regexCssCalc.test(s)) {return true;}\n\t\t\t// ( http://www.w3.org/TR/CSS2/syndata.html#numbers says:\n\t\t\t// \"-0 is equivalent to 0 and is not a negative number.\" which means that\n\t\t\t// unitless zero and unitless negative zero must be accepted as special cases.)\n\t\t\tif ((s === \"0\") || (s === \"-0\") || (s === \"+0\")) {return true;}\n\t\t\treturn false;\n\t\t}\n\n\t\t// When asked to parse a sizes attribute from an element, parse a\n\t\t// comma-separated list of component values from the value of the element's\n\t\t// sizes attribute (or the empty string, if the attribute is absent), and let\n\t\t// unparsed sizes list be the result.\n\t\t// http://dev.w3.org/csswg/css-syntax/#parse-comma-separated-list-of-component-values\n\n\t\tunparsedSizesList = parseComponentValues(strValue);\n\t\tunparsedSizesListLength = unparsedSizesList.length;\n\n\t\t// For each unparsed size in unparsed sizes list:\n\t\tfor (i = 0; i < unparsedSizesListLength; i++) {\n\t\t\tunparsedSize = unparsedSizesList[i];\n\n\t\t\t// 1. Remove all consecutive s from the end of unparsed size.\n\t\t\t// ( parseComponentValues() already omits spaces outside of parens. )\n\n\t\t\t// If unparsed size is now empty, that is a parse error; continue to the next\n\t\t\t// iteration of this algorithm.\n\t\t\t// ( parseComponentValues() won't push an empty array. )\n\n\t\t\t// 2. If the last component value in unparsed size is a valid non-negative\n\t\t\t// , let size be its value and remove the component value\n\t\t\t// from unparsed size. Any CSS function other than the calc() function is\n\t\t\t// invalid. Otherwise, there is a parse error; continue to the next iteration\n\t\t\t// of this algorithm.\n\t\t\t// http://dev.w3.org/csswg/css-syntax/#parse-component-value\n\t\t\tlastComponentValue = unparsedSize[unparsedSize.length - 1];\n\n\t\t\tif (isValidNonNegativeSourceSizeValue(lastComponentValue)) {\n\t\t\t\tsize = lastComponentValue;\n\t\t\t\tunparsedSize.pop();\n\t\t\t} else {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// 3. Remove all consecutive s from the end of unparsed\n\t\t\t// size. If unparsed size is now empty, return size and exit this algorithm.\n\t\t\t// If this was not the last item in unparsed sizes list, that is a parse error.\n\t\t\tif (unparsedSize.length === 0) {\n\t\t\t\treturn size;\n\t\t\t}\n\n\t\t\t// 4. Parse the remaining component values in unparsed size as a\n\t\t\t// . If it does not parse correctly, or it does parse\n\t\t\t// correctly but the evaluates to false, continue to the\n\t\t\t// next iteration of this algorithm.\n\t\t\t// (Parsing all possible compound media conditions in JS is heavy, complicated,\n\t\t\t// and the payoff is unclear. Is there ever an situation where the\n\t\t\t// media condition parses incorrectly but still somehow evaluates to true?\n\t\t\t// Can we just rely on the browser/polyfill to do it?)\n\t\t\tunparsedSize = unparsedSize.join(\" \");\n\t\t\tif (!(pf.matchesMedia( unparsedSize ) ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// 5. Return size and exit this algorithm.\n\t\t\treturn size;\n\t\t}\n\n\t\t// If the above algorithm exhausts unparsed sizes list without returning a\n\t\t// size value, return 100vw.\n\t\treturn \"100vw\";\n\t}\n\n\t// namespace\n\tpf.ns = (\"pf\" + new Date().getTime()).substr(0, 9);\n\n\t// srcset support test\n\tpf.supSrcset = \"srcset\" in image;\n\tpf.supSizes = \"sizes\" in image;\n\tpf.supPicture = !!window.HTMLPictureElement;\n\n\t// UC browser does claim to support srcset and picture, but not sizes,\n\t// this extended test reveals the browser does support nothing\n\tif (pf.supSrcset && pf.supPicture && !pf.supSizes) {\n\t\t(function(image2) {\n\t\t\timage.srcset = \"data:,a\";\n\t\t\timage2.src = \"data:,a\";\n\t\t\tpf.supSrcset = image.complete === image2.complete;\n\t\t\tpf.supPicture = pf.supSrcset && pf.supPicture;\n\t\t})(document.createElement(\"img\"));\n\t}\n\n\t// Safari9 has basic support for sizes, but does't expose the `sizes` idl attribute\n\tif (pf.supSrcset && !pf.supSizes) {\n\n\t\t(function() {\n\t\t\tvar width2 = \"data:image/gif;base64,R0lGODlhAgABAPAAAP///wAAACH5BAAAAAAALAAAAAACAAEAAAICBAoAOw==\";\n\t\t\tvar width1 = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";\n\t\t\tvar img = document.createElement(\"img\");\n\t\t\tvar test = function() {\n\t\t\t\tvar width = img.width;\n\n\t\t\t\tif (width === 2) {\n\t\t\t\t\tpf.supSizes = true;\n\t\t\t\t}\n\n\t\t\t\talwaysCheckWDescriptor = pf.supSrcset && !pf.supSizes;\n\n\t\t\t\tisSupportTestReady = true;\n\t\t\t\t// force async\n\t\t\t\tsetTimeout(picturefill);\n\t\t\t};\n\n\t\t\timg.onload = test;\n\t\t\timg.onerror = test;\n\t\t\timg.setAttribute(\"sizes\", \"9px\");\n\n\t\t\timg.srcset = width1 + \" 1w,\" + width2 + \" 9w\";\n\t\t\timg.src = width1;\n\t\t})();\n\n\t} else {\n\t\tisSupportTestReady = true;\n\t}\n\n\t// using pf.qsa instead of dom traversing does scale much better,\n\t// especially on sites mixing responsive and non-responsive images\n\tpf.selShort = \"picture>img,img[srcset]\";\n\tpf.sel = pf.selShort;\n\tpf.cfg = cfg;\n\n\t/**\n\t * Shortcut property for `devicePixelRatio` ( for easy overriding in tests )\n\t */\n\tpf.DPR = (DPR || 1 );\n\tpf.u = units;\n\n\t// container of supported mime types that one might need to qualify before using\n\tpf.types = types;\n\n\tpf.setSize = noop;\n\n\t/**\n\t * Gets a string and returns the absolute URL\n\t * @param src\n\t * @returns {String} absolute URL\n\t */\n\n\tpf.makeUrl = memoize(function(src) {\n\t\tanchor.href = src;\n\t\treturn anchor.href;\n\t});\n\n\t/**\n\t * Gets a DOM element or document and a selctor and returns the found matches\n\t * Can be extended with jQuery/Sizzle for IE7 support\n\t * @param context\n\t * @param sel\n\t * @returns {NodeList|Array}\n\t */\n\tpf.qsa = function(context, sel) {\n\t\treturn ( \"querySelector\" in context ) ? context.querySelectorAll(sel) : [];\n\t};\n\n\t/**\n\t * Shortcut method for matchMedia ( for easy overriding in tests )\n\t * wether native or pf.mMQ is used will be decided lazy on first call\n\t * @returns {boolean}\n\t */\n\tpf.matchesMedia = function() {\n\t\tif ( window.matchMedia && (matchMedia( \"(min-width: 0.1em)\" ) || {}).matches ) {\n\t\t\tpf.matchesMedia = function( media ) {\n\t\t\t\treturn !media || ( matchMedia( media ).matches );\n\t\t\t};\n\t\t} else {\n\t\t\tpf.matchesMedia = pf.mMQ;\n\t\t}\n\n\t\treturn pf.matchesMedia.apply( this, arguments );\n\t};\n\n\t/**\n\t * A simplified matchMedia implementation for IE8 and IE9\n\t * handles only min-width/max-width with px or em values\n\t * @param media\n\t * @returns {boolean}\n\t */\n\tpf.mMQ = function( media ) {\n\t\treturn media ? evalCSS(media) : true;\n\t};\n\n\t/**\n\t * Returns the calculated length in css pixel from the given sourceSizeValue\n\t * http://dev.w3.org/csswg/css-values-3/#length-value\n\t * intended Spec mismatches:\n\t * * Does not check for invalid use of CSS functions\n\t * * Does handle a computed length of 0 the same as a negative and therefore invalid value\n\t * @param sourceSizeValue\n\t * @returns {Number}\n\t */\n\tpf.calcLength = function( sourceSizeValue ) {\n\n\t\tvar value = evalCSS(sourceSizeValue, true) || false;\n\t\tif (value < 0) {\n\t\t\tvalue = false;\n\t\t}\n\n\t\treturn value;\n\t};\n\n\t/**\n\t * Takes a type string and checks if its supported\n\t */\n\n\tpf.supportsType = function( type ) {\n\t\treturn ( type ) ? types[ type ] : true;\n\t};\n\n\t/**\n\t * Parses a sourceSize into mediaCondition (media) and sourceSizeValue (length)\n\t * @param sourceSizeStr\n\t * @returns {*}\n\t */\n\tpf.parseSize = memoize(function( sourceSizeStr ) {\n\t\tvar match = ( sourceSizeStr || \"\" ).match(regSize);\n\t\treturn {\n\t\t\tmedia: match && match[1],\n\t\t\tlength: match && match[2]\n\t\t};\n\t});\n\n\tpf.parseSet = function( set ) {\n\t\tif ( !set.cands ) {\n\t\t\tset.cands = parseSrcset(set.srcset, set);\n\t\t}\n\t\treturn set.cands;\n\t};\n\n\t/**\n\t * returns 1em in css px for html/body default size\n\t * function taken from respondjs\n\t * @returns {*|number}\n\t */\n\tpf.getEmValue = function() {\n\t\tvar body;\n\t\tif ( !eminpx && (body = document.body) ) {\n\t\t\tvar div = document.createElement( \"div\" ),\n\t\t\t\toriginalHTMLCSS = docElem.style.cssText,\n\t\t\t\toriginalBodyCSS = body.style.cssText;\n\n\t\t\tdiv.style.cssText = baseStyle;\n\n\t\t\t// 1em in a media query is the value of the default font size of the browser\n\t\t\t// reset docElem and body to ensure the correct value is returned\n\t\t\tdocElem.style.cssText = fsCss;\n\t\t\tbody.style.cssText = fsCss;\n\n\t\t\tbody.appendChild( div );\n\t\t\teminpx = div.offsetWidth;\n\t\t\tbody.removeChild( div );\n\n\t\t\t//also update eminpx before returning\n\t\t\teminpx = parseFloat( eminpx, 10 );\n\n\t\t\t// restore the original values\n\t\t\tdocElem.style.cssText = originalHTMLCSS;\n\t\t\tbody.style.cssText = originalBodyCSS;\n\n\t\t}\n\t\treturn eminpx || 16;\n\t};\n\n\t/**\n\t * Takes a string of sizes and returns the width in pixels as a number\n\t */\n\tpf.calcListLength = function( sourceSizeListStr ) {\n\t\t// Split up source size list, ie ( max-width: 30em ) 100%, ( max-width: 50em ) 50%, 33%\n\t\t//\n\t\t// or (min-width:30em) calc(30% - 15px)\n\t\tif ( !(sourceSizeListStr in sizeLengthCache) || cfg.uT ) {\n\t\t\tvar winningLength = pf.calcLength( parseSizes( sourceSizeListStr ) );\n\n\t\t\tsizeLengthCache[ sourceSizeListStr ] = !winningLength ? units.width : winningLength;\n\t\t}\n\n\t\treturn sizeLengthCache[ sourceSizeListStr ];\n\t};\n\n\t/**\n\t * Takes a candidate object with a srcset property in the form of url/\n\t * ex. \"images/pic-medium.png 1x, images/pic-medium-2x.png 2x\" or\n\t * \"images/pic-medium.png 400w, images/pic-medium-2x.png 800w\" or\n\t * \"images/pic-small.png\"\n\t * Get an array of image candidates in the form of\n\t * {url: \"/foo/bar.png\", resolution: 1}\n\t * where resolution is http://dev.w3.org/csswg/css-values-3/#resolution-value\n\t * If sizes is specified, res is calculated\n\t */\n\tpf.setRes = function( set ) {\n\t\tvar candidates;\n\t\tif ( set ) {\n\n\t\t\tcandidates = pf.parseSet( set );\n\n\t\t\tfor ( var i = 0, len = candidates.length; i < len; i++ ) {\n\t\t\t\tsetResolution( candidates[ i ], set.sizes );\n\t\t\t}\n\t\t}\n\t\treturn candidates;\n\t};\n\n\tpf.setRes.res = setResolution;\n\n\tpf.applySetCandidate = function( candidates, img ) {\n\t\tif ( !candidates.length ) {return;}\n\t\tvar candidate,\n\t\t\ti,\n\t\t\tj,\n\t\t\tlength,\n\t\t\tbestCandidate,\n\t\t\tcurSrc,\n\t\t\tcurCan,\n\t\t\tcandidateSrc,\n\t\t\tabortCurSrc;\n\n\t\tvar imageData = img[ pf.ns ];\n\t\tvar dpr = pf.DPR;\n\n\t\tcurSrc = imageData.curSrc || img[curSrcProp];\n\n\t\tcurCan = imageData.curCan || setSrcToCur(img, curSrc, candidates[0].set);\n\n\t\t// if we have a current source, we might either become lazy or give this source some advantage\n\t\tif ( curCan && curCan.set === candidates[ 0 ].set ) {\n\n\t\t\t// if browser can abort image request and the image has a higher pixel density than needed\n\t\t\t// and this image isn't downloaded yet, we skip next part and try to save bandwidth\n\t\t\tabortCurSrc = (supportAbort && !img.complete && curCan.res - 0.1 > dpr);\n\n\t\t\tif ( !abortCurSrc ) {\n\t\t\t\tcurCan.cached = true;\n\n\t\t\t\t// if current candidate is \"best\", \"better\" or \"okay\",\n\t\t\t\t// set it to bestCandidate\n\t\t\t\tif ( curCan.res >= dpr ) {\n\t\t\t\t\tbestCandidate = curCan;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( !bestCandidate ) {\n\n\t\t\tcandidates.sort( ascendingSort );\n\n\t\t\tlength = candidates.length;\n\t\t\tbestCandidate = candidates[ length - 1 ];\n\n\t\t\tfor ( i = 0; i < length; i++ ) {\n\t\t\t\tcandidate = candidates[ i ];\n\t\t\t\tif ( candidate.res >= dpr ) {\n\t\t\t\t\tj = i - 1;\n\n\t\t\t\t\t// we have found the perfect candidate,\n\t\t\t\t\t// but let's improve this a little bit with some assumptions ;-)\n\t\t\t\t\tif (candidates[ j ] &&\n\t\t\t\t\t\t(abortCurSrc || curSrc !== pf.makeUrl( candidate.url )) &&\n\t\t\t\t\t\tchooseLowRes(candidates[ j ].res, candidate.res, dpr, candidates[ j ].cached)) {\n\n\t\t\t\t\t\tbestCandidate = candidates[ j ];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbestCandidate = candidate;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( bestCandidate ) {\n\n\t\t\tcandidateSrc = pf.makeUrl( bestCandidate.url );\n\n\t\t\timageData.curSrc = candidateSrc;\n\t\t\timageData.curCan = bestCandidate;\n\n\t\t\tif ( candidateSrc !== curSrc ) {\n\t\t\t\tpf.setSrc( img, bestCandidate );\n\t\t\t}\n\t\t\tpf.setSize( img );\n\t\t}\n\t};\n\n\tpf.setSrc = function( img, bestCandidate ) {\n\t\tvar origWidth;\n\t\timg.src = bestCandidate.url;\n\n\t\t// although this is a specific Safari issue, we don't want to take too much different code paths\n\t\tif ( bestCandidate.set.type === \"image/svg+xml\" ) {\n\t\t\torigWidth = img.style.width;\n\t\t\timg.style.width = (img.offsetWidth + 1) + \"px\";\n\n\t\t\t// next line only should trigger a repaint\n\t\t\t// if... is only done to trick dead code removal\n\t\t\tif ( img.offsetWidth + 1 ) {\n\t\t\t\timg.style.width = origWidth;\n\t\t\t}\n\t\t}\n\t};\n\n\tpf.getSet = function( img ) {\n\t\tvar i, set, supportsType;\n\t\tvar match = false;\n\t\tvar sets = img [ pf.ns ].sets;\n\n\t\tfor ( i = 0; i < sets.length && !match; i++ ) {\n\t\t\tset = sets[i];\n\n\t\t\tif ( !set.srcset || !pf.matchesMedia( set.media ) || !(supportsType = pf.supportsType( set.type )) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif ( supportsType === \"pending\" ) {\n\t\t\t\tset = supportsType;\n\t\t\t}\n\n\t\t\tmatch = set;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn match;\n\t};\n\n\tpf.parseSets = function( element, parent, options ) {\n\t\tvar srcsetAttribute, imageSet, isWDescripor, srcsetParsed;\n\n\t\tvar hasPicture = parent && parent.nodeName.toUpperCase() === \"PICTURE\";\n\t\tvar imageData = element[ pf.ns ];\n\n\t\tif ( imageData.src === undefined || options.src ) {\n\t\t\timageData.src = getImgAttr.call( element, \"src\" );\n\t\t\tif ( imageData.src ) {\n\t\t\t\tsetImgAttr.call( element, srcAttr, imageData.src );\n\t\t\t} else {\n\t\t\t\tremoveImgAttr.call( element, srcAttr );\n\t\t\t}\n\t\t}\n\n\t\tif ( imageData.srcset === undefined || options.srcset || !pf.supSrcset || element.srcset ) {\n\t\t\tsrcsetAttribute = getImgAttr.call( element, \"srcset\" );\n\t\t\timageData.srcset = srcsetAttribute;\n\t\t\tsrcsetParsed = true;\n\t\t}\n\n\t\timageData.sets = [];\n\n\t\tif ( hasPicture ) {\n\t\t\timageData.pic = true;\n\t\t\tgetAllSourceElements( parent, imageData.sets );\n\t\t}\n\n\t\tif ( imageData.srcset ) {\n\t\t\timageSet = {\n\t\t\t\tsrcset: imageData.srcset,\n\t\t\t\tsizes: getImgAttr.call( element, \"sizes\" )\n\t\t\t};\n\n\t\t\timageData.sets.push( imageSet );\n\n\t\t\tisWDescripor = (alwaysCheckWDescriptor || imageData.src) && regWDesc.test(imageData.srcset || \"\");\n\n\t\t\t// add normal src as candidate, if source has no w descriptor\n\t\t\tif ( !isWDescripor && imageData.src && !getCandidateForSrc(imageData.src, imageSet) && !imageSet.has1x ) {\n\t\t\t\timageSet.srcset += \", \" + imageData.src;\n\t\t\t\timageSet.cands.push({\n\t\t\t\t\turl: imageData.src,\n\t\t\t\t\td: 1,\n\t\t\t\t\tset: imageSet\n\t\t\t\t});\n\t\t\t}\n\n\t\t} else if ( imageData.src ) {\n\t\t\timageData.sets.push( {\n\t\t\t\tsrcset: imageData.src,\n\t\t\t\tsizes: null\n\t\t\t} );\n\t\t}\n\n\t\timageData.curCan = null;\n\t\timageData.curSrc = undefined;\n\n\t\t// if img has picture or the srcset was removed or has a srcset and does not support srcset at all\n\t\t// or has a w descriptor (and does not support sizes) set support to false to evaluate\n\t\timageData.supported = !( hasPicture || ( imageSet && !pf.supSrcset ) || (isWDescripor && !pf.supSizes) );\n\n\t\tif ( srcsetParsed && pf.supSrcset && !imageData.supported ) {\n\t\t\tif ( srcsetAttribute ) {\n\t\t\t\tsetImgAttr.call( element, srcsetAttr, srcsetAttribute );\n\t\t\t\telement.srcset = \"\";\n\t\t\t} else {\n\t\t\t\tremoveImgAttr.call( element, srcsetAttr );\n\t\t\t}\n\t\t}\n\n\t\tif (imageData.supported && !imageData.srcset && ((!imageData.src && element.src) || element.src !== pf.makeUrl(imageData.src))) {\n\t\t\tif (imageData.src === null) {\n\t\t\t\telement.removeAttribute(\"src\");\n\t\t\t} else {\n\t\t\t\telement.src = imageData.src;\n\t\t\t}\n\t\t}\n\n\t\timageData.parsed = true;\n\t};\n\n\tpf.fillImg = function(element, options) {\n\t\tvar imageData;\n\t\tvar extreme = options.reselect || options.reevaluate;\n\n\t\t// expando for caching data on the img\n\t\tif ( !element[ pf.ns ] ) {\n\t\t\telement[ pf.ns ] = {};\n\t\t}\n\n\t\timageData = element[ pf.ns ];\n\n\t\t// if the element has already been evaluated, skip it\n\t\t// unless `options.reevaluate` is set to true ( this, for example,\n\t\t// is set to true when running `picturefill` on `resize` ).\n\t\tif ( !extreme && imageData.evaled === evalId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !imageData.parsed || options.reevaluate ) {\n\t\t\tpf.parseSets( element, element.parentNode, options );\n\t\t}\n\n\t\tif ( !imageData.supported ) {\n\t\t\tapplyBestCandidate( element );\n\t\t} else {\n\t\t\timageData.evaled = evalId;\n\t\t}\n\t};\n\n\tpf.setupRun = function() {\n\t\tif ( !alreadyRun || isVwDirty || (DPR !== window.devicePixelRatio) ) {\n\t\t\tupdateMetrics();\n\t\t}\n\t};\n\n\t// If picture is supported, well, that's awesome.\n\tif ( pf.supPicture ) {\n\t\tpicturefill = noop;\n\t\tpf.fillImg = noop;\n\t} else {\n\n\t\t // Set up picture polyfill by polling the document\n\t\t(function() {\n\t\t\tvar isDomReady;\n\t\t\tvar regReady = window.attachEvent ? /d$|^c/ : /d$|^c|^i/;\n\n\t\t\tvar run = function() {\n\t\t\t\tvar readyState = document.readyState || \"\";\n\n\t\t\t\ttimerId = setTimeout(run, readyState === \"loading\" ? 200 : 999);\n\t\t\t\tif ( document.body ) {\n\t\t\t\t\tpf.fillImgs();\n\t\t\t\t\tisDomReady = isDomReady || regReady.test(readyState);\n\t\t\t\t\tif ( isDomReady ) {\n\t\t\t\t\t\tclearTimeout( timerId );\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tvar timerId = setTimeout(run, document.body ? 9 : 99);\n\n\t\t\t// Also attach picturefill on resize and readystatechange\n\t\t\t// http://modernjavascript.blogspot.com/2013/08/building-better-debounce.html\n\t\t\tvar debounce = function(func, wait) {\n\t\t\t\tvar timeout, timestamp;\n\t\t\t\tvar later = function() {\n\t\t\t\t\tvar last = (new Date()) - timestamp;\n\n\t\t\t\t\tif (last < wait) {\n\t\t\t\t\t\ttimeout = setTimeout(later, wait - last);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttimeout = null;\n\t\t\t\t\t\tfunc();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\treturn function() {\n\t\t\t\t\ttimestamp = new Date();\n\n\t\t\t\t\tif (!timeout) {\n\t\t\t\t\t\ttimeout = setTimeout(later, wait);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\t\t\tvar lastClientWidth = docElem.clientHeight;\n\t\t\tvar onResize = function() {\n\t\t\t\tisVwDirty = Math.max(window.innerWidth || 0, docElem.clientWidth) !== units.width || docElem.clientHeight !== lastClientWidth;\n\t\t\t\tlastClientWidth = docElem.clientHeight;\n\t\t\t\tif ( isVwDirty ) {\n\t\t\t\t\tpf.fillImgs();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\ton( window, \"resize\", debounce(onResize, 99 ) );\n\t\t\ton( document, \"readystatechange\", run );\n\t\t})();\n\t}\n\n\tpf.picturefill = picturefill;\n\t//use this internally for easy monkey patching/performance testing\n\tpf.fillImgs = picturefill;\n\tpf.teardownRun = noop;\n\n\t/* expose methods for testing */\n\tpicturefill._ = pf;\n\n\twindow.picturefillCFG = {\n\t\tpf: pf,\n\t\tpush: function(args) {\n\t\t\tvar name = args.shift();\n\t\t\tif (typeof pf[name] === \"function\") {\n\t\t\t\tpf[name].apply(pf, args);\n\t\t\t} else {\n\t\t\t\tcfg[name] = args[0];\n\t\t\t\tif (alreadyRun) {\n\t\t\t\t\tpf.fillImgs( { reselect: true } );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\twhile (setOptions && setOptions.length) {\n\t\twindow.picturefillCFG.push(setOptions.shift());\n\t}\n\n\t/* expose picturefill */\n\twindow.picturefill = picturefill;\n\n\t/* expose picturefill */\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// CommonJS, just export\n\t\tmodule.exports = picturefill;\n\t} else if ( typeof define === \"function\" && define.amd ) {\n\t\t// AMD support\n\t\tdefine( \"picturefill\", function() { return picturefill; } );\n\t}\n\n\t// IE8 evals this sync, so it must be the last thing we do\n\tif ( !pf.supPicture ) {\n\t\ttypes[ \"image/webp\" ] = detectTypeSupport(\"image/webp\", \"data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA==\" );\n\t}\n\n} )( window, document );\n","/**\r\n * Applies a class when page height has been scrolled\r\n */\r\nconst SELECTOR = \".js-add-class-on-scroll\";\r\nconst defaultCSS = \"page-scrolled\";\r\nlet pageHeight: number;\r\nlet $scrollElements: NodeListOf;\r\n\r\nconst scrollBehaviour = () => {\r\n $scrollElements.forEach(($el: Element) => {\r\n const $htmlEl = $el as HTMLElement;\r\n let cssClass = defaultCSS;\r\n\r\n if ($htmlEl.dataset.class) {\r\n cssClass = $htmlEl.dataset.class;\r\n }\r\n\r\n if (window.scrollY > pageHeight) {\r\n $el.classList.add(cssClass);\r\n return;\r\n }\r\n\r\n $el.classList.remove(cssClass);\r\n });\r\n};\r\n\r\nconst addClassOnScroll = () => {\r\n $scrollElements = document.querySelectorAll(SELECTOR);\r\n if (!$scrollElements.length) {\r\n return;\r\n }\r\n\r\n pageHeight = window.innerHeight;\r\n\r\n scrollBehaviour();\r\n\r\n document.addEventListener(\"scroll\", scrollBehaviour);\r\n\r\n window.addEventListener(\"resize\", () => {\r\n pageHeight = window.innerHeight;\r\n });\r\n};\r\n\r\nexport default addClassOnScroll;\r\n","const defaultDelay = 250;\r\n\r\nconst debounce = (fn: () => void, ms: number = defaultDelay) => {\r\n let timeoutId: ReturnType;\r\n\r\n return function (this: any, ...args: []) {\r\n clearTimeout(timeoutId);\r\n timeoutId = setTimeout(() => fn.apply(this, args), ms);\r\n };\r\n};\r\n\r\nexport default debounce;\r\n","/**\r\n * Handles showing multiple featured items within a carousel.\r\n */\r\n\r\nimport debounce from \"../../utils/debounce\";\r\n\r\nconst CSS = {\r\n active: \"is-active\",\r\n};\r\n\r\nconst defaults = {\r\n duration: 5000,\r\n};\r\n\r\nconst instance = ($el: Element) => {\r\n const dom = {\r\n $items: $el.querySelectorAll(\".js-carousel-item\"),\r\n $track: $el.querySelector(\".js-carousel-track\") as HTMLElement,\r\n $nextBtn: $el.querySelector(\".js-next-btn\"),\r\n $prevBtn: $el.querySelector(\".js-prev-btn\"),\r\n $changeBtns: $el.querySelectorAll(\".js-change-to-btn\"),\r\n };\r\n\r\n const itemCount: number = dom.$items.length;\r\n\r\n const configurdDuration: string | null = $el.getAttribute(\"data-duration\");\r\n let duration: number = defaults.duration;\r\n\r\n if (configurdDuration !== null) {\r\n duration = parseInt(configurdDuration, 10);\r\n }\r\n\r\n let activeIndex = 0;\r\n let timer: number;\r\n\r\n const changeTo = (event: Event) => {\r\n const index: string | null = (\r\n event.currentTarget as HTMLButtonElement\r\n ).getAttribute(\"data-index\");\r\n\r\n if (index !== null) {\r\n setActive(parseInt(index, 10));\r\n }\r\n };\r\n\r\n const enableTimer = () => {\r\n if (duration === 0 || dom.$items.length < 2) {\r\n return;\r\n }\r\n\r\n timer = window.setTimeout(() => {\r\n if (activeIndex + 1 === itemCount) {\r\n setActive(0);\r\n return;\r\n }\r\n\r\n setActive(activeIndex + 1);\r\n }, duration);\r\n };\r\n\r\n const next = () => {\r\n setActive(activeIndex + 1);\r\n };\r\n\r\n const previous = () => {\r\n setActive(activeIndex - 1);\r\n };\r\n\r\n const setActive = (index: number) => {\r\n clearTimeout(timer);\r\n const itemWidth = dom.$items[0].clientWidth;\r\n\r\n if (index >= itemCount) {\r\n index = 0;\r\n }\r\n\r\n if (index === -1) {\r\n index = itemCount - 1;\r\n }\r\n\r\n const offset = itemWidth * index * -1;\r\n\r\n dom.$items[activeIndex].classList.remove(CSS.active);\r\n dom.$track.style.transform = `translateX(${offset}px)`;\r\n dom.$items[index].classList.add(CSS.active);\r\n\r\n let parentElement: HTMLElement | null =\r\n dom.$changeBtns[activeIndex].parentElement;\r\n\r\n if (parentElement !== null) {\r\n parentElement.classList.remove(CSS.active);\r\n }\r\n\r\n parentElement = dom.$changeBtns[index].parentElement;\r\n\r\n if (parentElement !== null) {\r\n parentElement.classList.add(CSS.active);\r\n }\r\n\r\n activeIndex = index;\r\n\r\n enableTimer();\r\n };\r\n\r\n if (dom.$nextBtn) {\r\n dom.$nextBtn.addEventListener(\"click\", next);\r\n }\r\n\r\n if (dom.$prevBtn) {\r\n dom.$prevBtn.addEventListener(\"click\", previous);\r\n }\r\n\r\n for (const $btn of dom.$changeBtns) {\r\n $btn.addEventListener(\"click\", changeTo);\r\n }\r\n\r\n window.addEventListener(\r\n \"resize\",\r\n debounce(() => {\r\n // Reset on resize\r\n // (as item width will otherwise cause layout issues)\r\n dom.$track.style.transform = \"translateX(0)\";\r\n })\r\n );\r\n\r\n enableTimer();\r\n};\r\n\r\nconst carousel = () => {\r\n const SELECTOR = \".js-carousel\";\r\n\r\n document.querySelectorAll(SELECTOR).forEach(($el) => {\r\n instance($el);\r\n });\r\n};\r\n\r\nexport default carousel;\r\n","(function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(['./lg-utils'], factory);\n } else if (typeof exports !== \"undefined\") {\n factory(require('./lg-utils'));\n } else {\n var mod = {\n exports: {}\n };\n factory(global.lgUtils);\n global.lightgallery = mod.exports;\n }\n})(this, function (_lgUtils) {\n 'use strict';\n\n var _lgUtils2 = _interopRequireDefault(_lgUtils);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n\n var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n /** Polyfill the CustomEvent() constructor functionality in Internet Explorer 9 and higher */\n (function () {\n\n if (typeof window.CustomEvent === 'function') {\n return false;\n }\n\n function CustomEvent(event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: undefined\n };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n\n CustomEvent.prototype = window.Event.prototype;\n\n window.CustomEvent = CustomEvent;\n })();\n\n window.utils = _lgUtils2.default;\n window.lgData = {\n uid: 0\n };\n\n window.lgModules = {};\n var defaults = {\n\n mode: 'lg-slide',\n\n // Ex : 'ease'\n cssEasing: 'ease',\n\n //'for jquery animation'\n easing: 'linear',\n speed: 600,\n height: '100%',\n width: '100%',\n addClass: '',\n startClass: 'lg-start-zoom',\n backdropDuration: 150,\n\n // Set 0, if u don't want to hide the controls \n hideBarsDelay: 6000,\n\n useLeft: false,\n\n // aria-labelledby attribute fot gallery\n ariaLabelledby: '',\n\n //aria-describedby attribute for gallery\n ariaDescribedby: '',\n\n closable: true,\n loop: true,\n escKey: true,\n keyPress: true,\n controls: true,\n slideEndAnimatoin: true,\n hideControlOnEnd: false,\n mousewheel: false,\n\n getCaptionFromTitleOrAlt: true,\n\n // .lg-item || '.lg-sub-html'\n appendSubHtmlTo: '.lg-sub-html',\n\n subHtmlSelectorRelative: false,\n\n /**\n * @desc number of preload slides\n * will exicute only after the current slide is fully loaded.\n *\n * @ex you clicked on 4th image and if preload = 1 then 3rd slide and 5th\n * slide will be loaded in the background after the 4th slide is fully loaded..\n * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ...\n *\n */\n preload: 1,\n showAfterLoad: true,\n selector: '',\n selectWithin: '',\n nextHtml: '',\n prevHtml: '',\n\n // 0, 1\n index: false,\n\n iframeMaxWidth: '100%',\n\n download: true,\n counter: true,\n appendCounterTo: '.lg-toolbar',\n\n swipeThreshold: 50,\n enableSwipe: true,\n enableDrag: true,\n\n dynamic: false,\n dynamicEl: [],\n galleryId: 1,\n supportLegacyBrowser: true\n };\n\n function Plugin(element, options) {\n\n // Current lightGallery element\n this.el = element;\n\n // lightGallery settings\n this.s = _extends({}, defaults, options);\n\n // When using dynamic mode, ensure dynamicEl is an array\n if (this.s.dynamic && this.s.dynamicEl !== 'undefined' && this.s.dynamicEl.constructor === Array && !this.s.dynamicEl.length) {\n throw 'When using dynamic mode, you must also define dynamicEl as an Array.';\n }\n\n // lightGallery modules\n this.modules = {};\n\n // false when lightgallery complete first slide;\n this.lGalleryOn = false;\n\n this.lgBusy = false;\n\n // Timeout function for hiding controls;\n this.hideBartimeout = false;\n\n // To determine browser supports for touch events;\n this.isTouch = 'ontouchstart' in document.documentElement;\n\n // Disable hideControlOnEnd if sildeEndAnimation is true\n if (this.s.slideEndAnimatoin) {\n this.s.hideControlOnEnd = false;\n }\n\n this.items = [];\n\n // Gallery items\n if (this.s.dynamic) {\n this.items = this.s.dynamicEl;\n } else {\n if (this.s.selector === 'this') {\n this.items.push(this.el);\n } else if (this.s.selector !== '') {\n if (this.s.selectWithin) {\n this.items = document.querySelector(this.s.selectWithin).querySelectorAll(this.s.selector);\n } else {\n this.items = this.el.querySelectorAll(this.s.selector);\n }\n } else {\n this.items = this.el.children;\n }\n }\n\n // .lg-item\n\n this.___slide = '';\n\n // .lg-outer\n this.outer = '';\n\n this.init();\n\n return this;\n }\n\n Plugin.prototype.init = function () {\n\n var _this = this;\n\n // s.preload should not be more than $item.length\n if (_this.s.preload > _this.items.length) {\n _this.s.preload = _this.items.length;\n }\n\n // if dynamic option is enabled execute immediately\n var _hash = window.location.hash;\n if (_hash.indexOf('lg=' + this.s.galleryId) > 0) {\n\n _this.index = parseInt(_hash.split('&slide=')[1], 10);\n\n _lgUtils2.default.addClass(document.body, 'lg-from-hash');\n if (!_lgUtils2.default.hasClass(document.body, 'lg-on')) {\n _lgUtils2.default.addClass(document.body, 'lg-on');\n setTimeout(function () {\n _this.build(_this.index);\n });\n }\n }\n\n if (_this.s.dynamic) {\n\n _lgUtils2.default.trigger(this.el, 'onBeforeOpen');\n\n _this.index = _this.s.index || 0;\n\n // prevent accidental double execution\n if (!_lgUtils2.default.hasClass(document.body, 'lg-on')) {\n _lgUtils2.default.addClass(document.body, 'lg-on');\n setTimeout(function () {\n _this.build(_this.index);\n });\n }\n } else {\n\n for (var i = 0; i < _this.items.length; i++) {\n\n /*jshint loopfunc: true */\n (function (index) {\n\n // Using different namespace for click because click event should not unbind if selector is same object('this')\n _lgUtils2.default.on(_this.items[index], 'click.lgcustom', function (e) {\n\n e.preventDefault();\n\n _lgUtils2.default.trigger(_this.el, 'onBeforeOpen');\n\n _this.index = _this.s.index || index;\n\n if (!_lgUtils2.default.hasClass(document.body, 'lg-on')) {\n _this.build(_this.index);\n _lgUtils2.default.addClass(document.body, 'lg-on');\n }\n });\n })(i);\n }\n }\n };\n\n Plugin.prototype.build = function (index) {\n\n var _this = this;\n\n _this.structure();\n\n for (var key in window.lgModules) {\n _this.modules[key] = new window.lgModules[key](_this.el);\n }\n\n // initiate slide function\n _this.slide(index, false, false);\n\n if (_this.s.keyPress) {\n _this.keyPress();\n }\n\n if (_this.items.length > 1) {\n\n _this.arrow();\n\n setTimeout(function () {\n _this.enableDrag();\n _this.enableSwipe();\n }, 50);\n\n if (_this.s.mousewheel) {\n _this.mousewheel();\n }\n }\n\n _this.counter();\n\n _this.closeGallery();\n\n _lgUtils2.default.trigger(_this.el, 'onAfterOpen');\n\n // Hide controllers if mouse doesn't move for some period\n if (_this.s.hideBarsDelay > 0) {\n\n // Hide controls if user doesn't use mouse or touch after opening gallery\n var initialHideBarTimeout = setTimeout(function () {\n _lgUtils2.default.addClass(_this.outer, 'lg-hide-items');\n }, _this.s.hideBarsDelay);\n _lgUtils2.default.on(_this.outer, 'mousemove.lg click.lg touchstart.lg', function () {\n\n // Cancel initalHideBarTimout if user uses mouse or touch events\n // Before it fires\n clearTimeout(initialHideBarTimeout);\n\n _lgUtils2.default.removeClass(_this.outer, 'lg-hide-items');\n\n clearTimeout(_this.hideBartimeout);\n\n // Timeout will be cleared on each slide movement also\n _this.hideBartimeout = setTimeout(function () {\n _lgUtils2.default.addClass(_this.outer, 'lg-hide-items');\n }, _this.s.hideBarsDelay);\n });\n }\n };\n\n Plugin.prototype.structure = function () {\n var list = '';\n var controls = '';\n var i = 0;\n var subHtmlCont = '';\n var template;\n var _this = this;\n\n document.body.insertAdjacentHTML('beforeend', '');\n _lgUtils2.default.setVendor(document.querySelector('.lg-backdrop'), 'TransitionDuration', this.s.backdropDuration + 'ms');\n\n // Create gallery items\n for (i = 0; i < this.items.length; i++) {\n list += '';\n }\n\n // Create controlls\n if (this.s.controls && this.items.length > 1) {\n controls = '