vendor: 21,284 bytes, lines 1-317
1/* 2 _ _ _ _ 3 ___| (_) ___| | __ (_)___ 4/ __| | |/ __| |/ / | / __| 5\__ \ | | (__| < _ | \__ \ 6|___/_|_|\___|_|\_(_)/ |___/ 7 |__/ 8 Version: 1.9.0 9 Author: Ken Wheeler 10 Website: http://kenwheeler.github.io 11 Docs: http://kenwheeler.github.io/slick 12 Repo: http://github.com/kenwheeler/slick 13 Issues: http://github.com/kenwheeler/slick/issues 14 */ 15/* global window, document, define, jQuery, setInterval, clearInterval */ 16! function(a) { 17 "use strict"; 18 "function" == typeof define && define.amd ? define(["jquery"], a) : "undefined" != typeof exports ? module.exports = a(require("jquery")) : a(jQuery) 19}(function(a) { 20 "use strict"; 21 var b = window.Slick || {}; 22 b = function() { 23 function c(c, d) { 24 var f, e = this; 25 e.defaults = { 26 accessibility: !0, 27 adaptiveHeight: !1, 28 appendArrows: a(c), 29 appendDots: a(c), 30 arrows: !0, 31 asNavFor: null, 32 prevArrow: '<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>', 33 nextArrow: '<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>', 34 autoplay: !1, 35 autoplaySpeed: 3e3, 36 centerMode: !1, 37 centerPadding: "50px", 38 cssEase: "ease", 39 customPaging: function(b, c) { 40 return a('<button type="button" data-role="none" role="button" tabindex="0" />').text(c + 1) 41 }, 42 dots: !1, 43 dotsClass: "slick-dots", 44 draggable: !0, 45 easing: "linear", 46 edgeFriction: .35, 47 fade: !1, 48 focusOnSelect: !1, 49 infinite: !0, 50 initialSlide: 0, 51 lazyLoad: "ondemand", 52 mobileFirst: !1, 53 pauseOnHover: !0, 54 pauseOnFocus: !0, 55 pauseOnDotsHover: !1, 56 respondTo: "window", 57 responsive: null, 58 rows: 1, 59 rtl: !1, 60 slide: "", 61 slidesPerRow: 1, 62 slidesToShow: 1, 63 slidesToScroll: 1, 64 speed: 500, 65 swipe: !0, 66 swipeToSlide: !1, 67 touchMove: !0, 68 touchThreshold: 5, 69 useCSS: !0, 70 useTransform: !0, 71 variableWidth: !1, 72 vertical: !1, 73 verticalSwiping: !1, 74 waitForAnimate: !0, 75 zIndex: 1e3 76 }, e.initials = { 77 animating: !1, 78 dragging: !1, 79 autoPlayTimer: null, 80 currentDirection: 0, 81 currentLeft: null, 82 currentSlide: 0, 83 direction: 1, 84 $dots: null, 85 listWidth: null, 86 listHeight: null, 87 loadIndex: 0, 88 $nextArrow: null, 89 $prevArrow: null, 90 slideCount: null, 91 slideWidth: null, 92 $slideTrack: null, 93 $slides: null, 94 sliding: !1, 95 slideOffset: 0, 96 swipeLeft: null, 97 $list: null, 98 touchObject: {}, 99 transformsEnabled: !1, 100 unslicked: !1 101 }, a.extend(e, e.initials), e.activeBreakpoint = null, e.animType = null, e.animProp = null, e.breakpoints = [], e.breakpointSettings = [], e.cssTransitions = !1, e.focussed = !1, e.interrupted = !1, e.hidden = "hidden", e.paused = !0, e.positionProp = null, e.respondTo = null, e.rowCount = 1, e.shouldClick = !0, e.$slider = a(c), e.$slidesCache = null, e.transformType = null, e.transitionType = null, e.visibilityChange = "visibilitychange", e.windowWidth = 0, e.windowTimer = null, f = a(c).data("slick") || {}, e.options = a.extend({}, e.defaults, d, f), e.currentSlide = e.options.initialSlide, e.originalSettings = e.options, "undefined" != typeof document.mozHidden ? (e.hidden = "mozHidden", e.visibilityChange = "mozvisibilitychange") : "undefined" != typeof document.webkitHidden && (e.hidden = "webkitHidden", e.visibilityChange = "webkitvisibilitychange"), e.autoPlay = a.proxy(e.autoPlay, e), e.autoPlayClear = a.proxy(e.autoPlayClear, e), e.autoPlayIterator = a.proxy(e.autoPlayIterator, e), e.changeSlide = a.proxy(e.changeSlide, e), e.clickHandler = a.proxy(e.clickHandler, e), e.selectHandler = a.proxy(e.selectHandler, e), e.setPosition = a.proxy(e.setPosition, e), e.swipeHandler = a.proxy(e.swipeHandler, e), e.dragHandler = a.proxy(e.dragHandler, e), e.keyHandler = a.proxy(e.keyHandler, e), e.instanceUid = b++, e.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/, e.registerBreakpoints(), e.init(!0) 102 } 103 var b = 0; 104 return c 105 }(), b.prototype.activateADA = function() { 106 var a = this; 107 a.$slideTrack.find(".slick-active").attr({ 108 "aria-hidden": "false" 109 }).find("a, input, button, select").attr({ 110 tabindex: "0" 111 }) 112 }, b.prototype.addSlide = b.prototype.slickAdd = function(b, c, d) { 113 var e = this; 114 if ("boolean" == typeof c) d = c, c = null; 115 else if (0 > c || c >= e.slideCount) return !1; 116 e.unload(), "number" == typeof c ? 0 === c && 0 === e.$slides.length ? a(b).appendTo(e.$slideTrack) : d ? a(b).insertBefore(e.$slides.eq(c)) : a(b).insertAfter(e.$slides.eq(c)) : d === !0 ? a(b).prependTo(e.$slideTrack) : a(b).appendTo(e.$slideTrack), e.$slides = e.$slideTrack.children(this.options.slide), e.$slideTrack.children(this.options.slide).detach(), e.$slideTrack.append(e.$slides), e.$slides.each(function(b, c) { 117 a(c).attr("data-slick-index", b) 118 }), e.$slidesCache = e.$slides, e.reinit() 119 }, b.prototype.animateHeight = function() { 120 var a = this; 121 if (1 === a.options.slidesToShow && a.options.adaptiveHeight === !0 && a.options.vertical === !1) { 122 var b = a.$slides.eq(a.currentSlide).outerHeight(!0); 123 a.$list.animate({ 124 height: b 125 }, a.options.speed) 126 } 127 }, b.prototype.animateSlide = function(b, c) { 128 var d = {}, 129 e = this; 130 e.animateHeight(), e.options.rtl === !0 && e.options.vertical === !1 && (b = -b), e.transformsEnabled === !1 ? e.options.vertical === !1 ? e.$slideTrack.animate({ 131 left: b 132 }, e.options.speed, e.options.easing, c) : e.$slideTrack.animate({ 133 top: b 134 }, e.options.speed, e.options.easing, c) : e.cssTransitions === !1 ? (e.options.rtl === !0 && (e.currentLeft = -e.currentLeft), a({ 135 animStart: e.currentLeft 136 }).animate({ 137 animStart: b 138 }, { 139 duration: e.options.speed, 140 easing: e.options.easing, 141 step: function(a) { 142 a = Math.ceil(a), e.options.vertical === !1 ? (d[e.animType] = "translate(" + a + "px, 0px)", e.$slideTrack.css(d)) : (d[e.animType] = "translate(0px," + a + "px)", e.$slideTrack.css(d)) 143 }, 144 complete: function() { 145 c && c.call() 146 } 147 })) : (e.applyTransition(), b = Math.ceil(b), e.options.vertical === !1 ? d[e.animType] = "translate3d(" + b + "px, 0px, 0px)" : d[e.animType] = "translate3d(0px," + b + "px, 0px)", e.$slideTrack.css(d), c && setTimeout(function() { 148 e.disableTransition(), c.call() 149 }, e.options.speed)) 150 }, b.prototype.getNavTarget = function() { 151 var b = this, 152 c = b.options.asNavFor; 153 return c && null !== c && (c = a(c).not(b.$slider)), c 154 }, b.prototype.asNavFor = function(b) { 155 var c = this, 156 d = c.getNavTarget(); 157 null !== d && "object" == typeof d && d.each(function() { 158 var c = a(this).slick("getSlick"); 159 c.unslicked || c.slideHandler(b, !0) 160 }) 161 }, b.prototype.applyTransition = function(a) { 162 var b = this, 163 c = {}; 164 b.options.fade === !1 ? c[b.transitionType] = b.transformType + " " + b.options.speed + "ms " + b.options.cssEase : c[b.transitionType] = "opacity " + b.options.speed + "ms " + b.options.cssEase, b.options.fade === !1 ? b.$slideTrack.css(c) : b.$slides.eq(a).css(c) 165 }, b.prototype.autoPlay = function() { 166 var a = this; 167 a.autoPlayClear(), a.slideCount > a.options.slidesToShow && (a.autoPlayTimer = setInterval(a.autoPlayIterator, a.options.autoplaySpeed)) 168 }, b.prototype.autoPlayClear = function() { 169 var a = this; 170 a.autoPlayTimer && clearInterval(a.autoPlayTimer) 171 }, b.prototype.autoPlayIterator = function() { 172 var a = this, 173 b = a.currentSlide + a.options.slidesToScroll; 174 a.paused || a.interrupted || a.focussed || (a.options.infinite === !1 && (1 === a.direction && a.currentSlide + 1 === a.slideCount - 1 ? a.direction = 0 : 0 === a.direction && (b = a.currentSlide - a.options.slidesToScroll, a.currentSlide - 1 === 0 && (a.direction = 1))), a.slideHandler(b)) 175 }, b.prototype.buildArrows = function() { 176 var b = this; 177 b.options.arrows === !0 && (b.$prevArrow = a(b.options.prevArrow).addClass("slick-arrow"), b.$nextArrow = a(b.options.nextArrow).addClass("slick-arrow"), b.slideCount > b.options.slidesToShow ? (b.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), b.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), b.htmlExpr.test(b.options.prevArrow) && b.$prevArrow.prependTo(b.options.appendArrows), b.htmlExpr.test(b.options.nextArrow) && b.$nextArrow.appendTo(b.options.appendArrows), b.options.infinite !== !0 && b.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true")) : b.$prevArrow.add(b.$nextArrow).addClass("slick-hidden").attr({ 178 "aria-disabled": "true", 179 tabindex: "-1" 180 })) 181 }, b.prototype.buildDots = function() { 182 var c, d, b = this; 183 if (b.options.dots === !0 && b.slideCount > b.options.slidesToShow) { 184 for (b.$slider.addClass("slick-dotted"), d = a("<ul />").addClass(b.options.dotsClass), c = 0; c <= b.getDotCount(); c += 1) d.append(a("<li />").append(b.options.customPaging.call(this, b, c))); 185 b.$dots = d.appendTo(b.options.appendDots), b.$dots.find("li").first().addClass("slick-active").attr("aria-hidden", "false") 186 } 187 }, b.prototype.buildOut = function() { 188 var b = this; 189 b.$slides = b.$slider.children(b.options.slide + ":not(.slick-cloned)").addClass("slick-slide"), b.slideCount = b.$slides.length, b.$slides.each(function(b, c) { 190 a(c).attr("data-slick-index", b).data("originalStyling", a(c).attr("style") || "") 191 }), b.$slider.addClass("slick-slider"), b.$slideTrack = 0 === b.slideCount ? a('<div class="slick-track"/>').appendTo(b.$slider) : b.$slides.wrapAll('<div class="slick-track"/>').parent(), b.$list = b.$slideTrack.wrap('<div aria-live="polite" class="slick-list"/>').parent(), b.$slideTrack.css("opacity", 0), (b.options.centerMode === !0 || b.options.swipeToSlide === !0) && (b.options.slidesToScroll = 1), a("img[data-lazy]", b.$slider).not("[src]").addClass("slick-loading"), b.setupInfinite(), b.buildArrows(), b.buildDots(), b.updateDots(), b.setSlideClasses("number" == typeof b.currentSlide ? b.currentSlide : 0), b.options.draggable === !0 && b.$list.addClass("draggable") 192 }, b.prototype.buildRows = function() { 193 var b, c, d, e, f, g, h, a = this; 194 if (e = document.createDocumentFragment(), g = a.$slider.children(), a.options.rows > 1) { 195 for (h = a.options.slidesPerRow * a.options.rows, f = Math.ceil(g.length / h), b = 0; f > b; b++) { 196 var i = document.createElement("div"); 197 for (c = 0; c < a.options.rows; c++) { 198 var j = document.createElement("div"); 199 for (d = 0; d < a.options.slidesPerRow; d++) { 200 var k = b * h + (c * a.options.slidesPerRow + d); 201 g.get(k) && j.appendChild(g.get(k)) 202 } 203 i.appendChild(j) 204 } 205 e.appendChild(i) 206 } 207 a.$slider.empty().append(e), a.$slider.children().children().children().css({ 208 width: 100 / a.options.slidesPerRow + "%", 209 display: "inline-block" 210 }) 211 } 212 }, b.prototype.checkResponsive = function(b, c) { 213 var e, f, g, d = this, 214 h = !1, 215 i = d.$slider.width(), 216 j = window.innerWidth || a(window).width(); 217 if ("window" === d.respondTo ? g = j : "slider" === d.respondTo ? g = i : "min" === d.respondTo && (g = Math.min(j, i)), d.options.responsive && d.options.responsive.length && null !== d.options.responsive) { 218 f = null; 219 for (e in d.breakpoints) d.breakpoints.hasOwnProperty(e) && (d.originalSettings.mobileFirst === !1 ? g < d.breakpoints[e] && (f = d.breakpoints[e]) : g > d.breakpoints[e] && (f = d.breakpoints[e])); 220 null !== f ? null !== d.activeBreakpoint ? (f !== d.activeBreakpoint || c) && (d.activeBreakpoint = f, "unslick" === d.breakpointSettings[f] ? d.unslick(f) : (d.options = a.extend({}, d.originalSettings, d.breakpointSettings[f]), b === !0 && (d.currentSlide = d.options.initialSlide), d.refresh(b)), h = f) : (d.activeBreakpoint = f, "unslick" === d.breakpointSettings[f] ? d.unslick(f) : (d.options = a.extend({}, d.originalSettings, d.breakpointSettings[f]), b === !0 && (d.currentSlide = d.options.initialSlide), d.refresh(b)), h = f) : null !== d.activeBreakpoint && (d.activeBreakpoint = null, d.options = d.originalSettings, b === !0 && (d.currentSlide = d.options.initialSlide), d.refresh(b), h = f), b || h === !1 || d.$slider.trigger("breakpoint", [d, h]) 221 } 222 }, b.prototype.changeSlide = function(b, c) { 223 var f, g, h, d = this, 224 e = a(b.currentTarget); 225 switch (e.is("a") && b.preventDefault(), e.is("li") || (e = e.closest("li")), h = d.slideCount % d.options.slidesToScroll !== 0, f = h ? 0 : (d.slideCount - d.currentSlide) % d.options.slidesToScroll, b.data.message) { 226 case "previous": 227 g = 0 === f ? d.options.slidesToScroll : d.options.slidesToShow - f, d.slideCount > d.options.slidesToShow && d.slideHandler(d.currentSlide - g, !1, c); 228 break; 229 case "next": 230 g = 0 === f ? d.options.slidesToScroll : f, d.slideCount > d.options.slidesToShow && d.slideHandler(d.currentSlide + g, !1, c); 231 break; 232 case "index": 233 var i = 0 === b.data.index ? 0 : b.data.index || e.index() * d.options.slidesToScroll; 234 d.slideHandler(d.checkNavigable(i), !1, c), e.children().trigger("focus"); 235 break; 236 default: 237 return 238 } 239 }, b.prototype.checkNavigable = function(a) { 240 var c, d, b = this; 241 if (c = b.getNavigableIndexes(), d = 0, a > c[c.length - 1]) a = c[c.length - 1]; 242 else 243 for (var e in c) { 244 if (a < c[e]) { 245 a = d; 246 break 247 } 248 d = c[e] 249 } 250 return a 251 }, b.prototype.cleanUpEvents = function() { 252 var b = this; 253 b.options.dots && null !== b.$dots && a("li", b.$dots).off("click.slick", b.changeSlide).off("mouseenter.slick", a.proxy(b.interrupt, b, !0)).off("mouseleave.slick", a.proxy(b.interrupt, b, !1)), b.$slider.off("focus.slick blur.slick"), b.options.arrows === !0 && b.slideCount > b.options.slidesToShow && (b.$prevArrow && b.$prevArrow.off("click.slick", b.changeSlide), b.$nextArrow && b.$nextArrow.off("click.slick", b.changeSlide)), b.$list.off("touchstart.slick mousedown.slick", b.swipeHandler), b.$list.off("touchmove.slick mousemove.slick", b.swipeHandler), b.$list.off("touchend.slick mouseup.slick", b.swipeHandler), b.$list.off("touchcancel.slick mouseleave.slick", b.swipeHandler), b.$list.off("click.slick", b.clickHandler), a(document).off(b.visibilityChange, b.visibility), b.cleanUpSlideEvents(), b.options.accessibility === !0 && b.$list.off("keydown.slick", b.keyHandler), b.options.focusOnSelect === !0 && a(b.$slideTrack).children().off("click.slick", b.selectHandler), a(window).off("orientationchange.slick.slick-" + b.instanceUid, b.orientationChange), a(window).off("resize.slick.slick-" + b.instanceUid, b.resize), a("[draggable!=true]", b.$slideTrack).off("dragstart", b.preventDefault), a(window).off("load.slick.slick-" + b.instanceUid, b.setPosition), a(document).off("ready.slick.slick-" + b.instanceUid, b.setPosition) 254 }, b.prototype.cleanUpSlideEvents = function() { 255 var b = this; 256 b.$list.off("mouseenter.slick", a.proxy(b.interrupt, b, !0)), b.$list.off("mouseleave.slick", a.proxy(b.interrupt, b, !1)) 257 }, b.prototype.cleanUpRows = function() { 258 var b, a = this; 259 a.options.rows > 1 && (b = a.$slides.children().children(), b.removeAttr("style"), a.$slider.empty().append(b)) 260 }, b.prototype.clickHandler = function(a) { 261 var b = this; 262 b.shouldClick === !1 && (a.stopImmediatePropagation(), a.stopPropagation(), a.preventDefault()) 263 }, b.prototype.destroy = function(b) { 264 var c = this; 265 c.autoPlayClear(), c.touchObject = {}, c.cleanUpEvents(), a(".slick-cloned", c.$slider).detach(), c.$dots && c.$dots.remove(), c.$prevArrow && c.$prevArrow.length && (c.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), c.htmlExpr.test(c.options.prevArrow) && c.$prevArrow.remove()), c.$nextArrow && c.$nextArrow.length && (c.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), c.htmlExpr.test(c.options.nextArrow) && c.$nextArrow.remove()), c.$slides && (c.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function() { 266 a(this).attr("style", a(this).data("originalStyling")) 267 }), c.$slideTrack.children(this.options.slide).detach(), c.$slideTrack.detach(), c.$list.detach(), c.$slider.append(c.$slides)), c.cleanUpRows(), c.$slider.removeClass("slick-slider"), c.$slider.removeClass("slick-initialized"), c.$slider.removeClass("slick-dotted"), c.unslicked = !0, b || c.$slider.trigger("destroy", [c]) 268 }, b.prototype.disableTransition = function(a) { 269 var b = this, 270 c = {}; 271 c[b.transitionType] = "", b.options.fade === !1 ? b.$slideTrack.css(c) : b.$slides.eq(a).css(c) 272 }, b.prototype.fadeSlide = function(a, b) { 273 var c = this; 274 c.cssTransitions === !1 ? (c.$slides.eq(a).css({ 275 zIndex: c.options.zIndex 276 }), c.$slides.eq(a).animate({ 277 opacity: 1 278 }, c.options.speed, c.options.easing, b)) : (c.applyTransition(a), c.$slides.eq(a).css({ 279 opacity: 1, 280 zIndex: c.options.zIndex 281 }), b && setTimeout(function() { 282 c.disableTransition(a), b.call() 283 }, c.options.speed)) 284 }, b.prototype.fadeSlideOut = function(a) { 285 var b = this; 286 b.cssTransitions === !1 ? b.$slides.eq(a).animate({ 287 opacity: 0, 288 zIndex: b.options.zIndex - 2 289 }, b.options.speed, b.options.easing) : (b.applyTransition(a), b.$slides.eq(a).css({ 290 opacity: 0, 291 zIndex: b.options.zIndex - 2 292 })) 293 }, b.prototype.filterSlides = b.prototype.slickFilter = function(a) { 294 var b = this; 295 null !== a && (b.$slidesCache = b.$slides, b.unload(), b.$slideTrack.children(this.options.slide).detach(), b.$slidesCache.filter(a).appendTo(b.$slideTrack), b.reinit()) 296 }, b.prototype.focusHandler = function() { 297 var b = this; 298 b.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*:not(.slick-arrow)", function(c) { 299 c.stopImmediatePropagation(); 300 var d = a(this); 301 setTimeout(function() { 302 b.options.pauseOnFocus && (b.focussed = d.is(":focus"), b.autoPlay()) 303 }, 0) 304 }) 305 }, b.prototype.getCurrent = b.prototype.slickCurrentSlide = function() { 306 var a = this; 307 return a.currentSlide 308 }, b.prototype.getDotCount = function() { 309 var a = this, 310 b = 0, 311 c = 0, 312 d = 0; 313 if (a.options.infinite === !0) 314 for (; b < a.slideCount;) ++d, b = c + a.options.slidesToScroll, c += a.options.slidesToScroll <= a.options.slidesToShow ? a.options.slidesToScroll : a.options.slidesToShow; 315 else if (a.options.centerMode === !0) d = a.slideCount; 316 else if (a.options.asNavFor) 317 for (; b < a.slideCount;) ++d, b = c + a.options.slidesToScroll, c += a.options.slidesToScroll <= a.options.slidesToShow ? a.options.slidesToScroll : a.options.slidesToShow;
318 else d = 1 + Math.ceil((a.slideCount - a.options.slidesToShow) / a.options.slidesToScroll); 319 return d - 1 320 }, b.prototype.getLeft = function(a) { 321 var c, d, f, b = this, 322 e = 0; 323 return b.slideOffset = 0, d = b.$slides.first().outerHeight(!0), b.options.infinite === !0 ? (b.slideCount > b.options.slidesToShow && (b.slideOffset = b.slideWidth * b.options.slidesToShow * -1, e = d * b.options.slidesToShow * -1), b.slideCount % b.options.slidesToScroll !== 0 && a + b.options.slidesToScroll > b.slideCount && b.slideCount > b.options.slidesToShow && (a > b.slideCount ? (b.slideOffset = (b.options.slidesToShow - (a - b.slideCount)) * b.slideWidth * -1, e = (b.options.slidesToShow - (a - b.slideCount)) * d * -1) : (b.slideOffset = b.slideCount % b.options.slidesToScroll * b.slideWidth * -1, e = b.slideCount % b.options.slidesToScroll * d * -1))) : a + b.options.slidesToShow > b.slideCount && (b.slideOffset = (a + b.options.slidesToShow - b.slideCount) * b.slideWidth, e = (a + b.options.slidesToShow - b.slideCount) * d), b.slideCount <= b.options.slidesToShow && (b.slideOffset = 0, e = 0), b.options.centerMode === !0 && b.options.infinite === !0 ? b.slideOffset += b.slideWidth * Math.floor(b.options.slidesToShow / 2) - b.slideWidth : b.options.centerMode === !0 && (b.slideOffset = 0, b.slideOffset += b.slideWidth * Math.floor(b.options.slidesToShow / 2)), c = b.options.vertical === !1 ? a * b.slideWidth * -1 + b.slideOffset : a * d * -1 + e, b.options.variableWidth === !0 && (f = b.slideCount <= b.options.slidesToShow || b.options.infinite === !1 ? b.$slideTrack.children(".slick-slide").eq(a) : b.$slideTrack.children(".slick-slide").eq(a + b.options.slidesToShow), c = b.options.rtl === !0 ? f[0] ? -1 * (b.$slideTrack.width() - f[0].offsetLeft - f.width()) : 0 : f[0] ? -1 * f[0].offsetLeft : 0, b.options.centerMode === !0 && (f = b.slideCount <= b.options.slidesToShow || b.options.infinite === !1 ? b.$slideTrack.children(".slick-slide").eq(a) : b.$slideTrack.children(".slick-slide").eq(a + b.options.slidesToShow + 1), c = b.options.rtl === !0 ? f[0] ? -1 * (b.$slideTrack.width() - f[0].offsetLeft - f.width()) : 0 : f[0] ? -1 * f[0].offsetLeft : 0, c += (b.$list.width() - f.outerWidth()) / 2)), c 324 }, b.prototype.getOption = b.prototype.slickGetOption = function(a) { 325 var b = this; 326 return b.options[a] 327 }, b.prototype.getNavigableIndexes = function() { 328 var e, a = this, 329 b = 0, 330 c = 0, 331 d = []; 332 for (a.options.infinite === !1 ? e = a.slideCount : (b = -1 * a.options.slidesToScroll, c = -1 * a.options.slidesToScroll, e = 2 * a.slideCount); e > b;) d.push(b), b = c + a.options.slidesToScroll, c += a.options.slidesToScroll <= a.options.slidesToShow ? a.options.slidesToScroll : a.options.slidesToShow; 333 return d 334 }, b.prototype.getSlick = function() { 335 return this 336 }, b.prototype.getSlideCount = function() { 337 var c, d, e, b = this; 338 return e = b.options.centerMode === !0 ? b.slideWidth * Math.floor(b.options.slidesToShow / 2) : 0, b.options.swipeToSlide === !0 ? (b.$slideTrack.find(".slick-slide").each(function(c, f) { 339 return f.offsetLeft - e + a(f).outerWidth() / 2 > -1 * b.swipeLeft ? (d = f, !1) : void 0 340 }), c = Math.abs(a(d).attr("data-slick-index") - b.currentSlide) || 1) : b.options.slidesToScroll 341 }, b.prototype.goTo = b.prototype.slickGoTo = function(a, b) { 342 var c = this; 343 c.changeSlide({ 344 data: { 345 message: "index", 346 index: parseInt(a) 347 } 348 }, b) 349 }, b.prototype.init = function(b) { 350 var c = this; 351 a(c.$slider).hasClass("slick-initialized") || (a(c.$slider).addClass("slick-initialized"), c.buildRows(), c.buildOut(), c.setProps(), c.startLoad(), c.loadSlider(), c.initializeEvents(), c.updateArrows(), c.updateDots(), c.checkResponsive(!0), c.focusHandler()), b && c.$slider.trigger("init", [c]), c.options.accessibility === !0 && c.initADA(), c.options.autoplay && (c.paused = !1, c.autoPlay()) 352 }, b.prototype.initADA = function() { 353 var b = this; 354 b.$slides.add(b.$slideTrack.find(".slick-cloned")).attr({ 355 "aria-hidden": "true", 356 tabindex: "-1" 357 }).find("a, input, button, select").attr({ 358 tabindex: "-1" 359 }), b.$slideTrack.attr("role", "listbox"), b.$slides.not(b.$slideTrack.find(".slick-cloned")).each(function(c) { 360 a(this).attr({ 361 role: "option", 362 "aria-describedby": "slick-slide" + b.instanceUid + c 363 }) 364 }), null !== b.$dots && b.$dots.attr("role", "tablist").find("li").each(function(c) { 365 a(this).attr({ 366 role: "presentation", 367 "aria-selected": "false", 368 "aria-controls": "navigation" + b.instanceUid + c, 369 id: "slick-slide" + b.instanceUid + c 370 }) 371 }).first().attr("aria-selected", "true").end().find("button").attr("role", "button").end().closest("div").attr("role", "toolbar"), b.activateADA() 372 }, b.prototype.initArrowEvents = function() { 373 var a = this; 374 a.options.arrows === !0 && a.slideCount > a.options.slidesToShow && (a.$prevArrow.off("click.slick").on("click.slick", { 375 message: "previous" 376 }, a.changeSlide), a.$nextArrow.off("click.slick").on("click.slick", { 377 message: "next" 378 }, a.changeSlide)) 379 }, b.prototype.initDotEvents = function() { 380 var b = this; 381 b.options.dots === !0 && b.slideCount > b.options.slidesToShow && a("li", b.$dots).on("click.slick", { 382 message: "index" 383 }, b.changeSlide), b.options.dots === !0 && b.options.pauseOnDotsHover === !0 && a("li", b.$dots).on("mouseenter.slick", a.proxy(b.interrupt, b, !0)).on("mouseleave.
vendor: 25,034 bytes, lines 383-653
383slick", a.proxy(b.interrupt, b, !1)) 384 }, b.prototype.initSlideEvents = function() { 385 var b = this; 386 b.options.pauseOnHover && (b.$list.on("mouseenter.slick", a.proxy(b.interrupt, b, !0)), b.$list.on("mouseleave.slick", a.proxy(b.interrupt, b, !1))) 387 }, b.prototype.initializeEvents = function() { 388 var b = this; 389 b.initArrowEvents(), b.initDotEvents(), b.initSlideEvents(), b.$list.on("touchstart.slick mousedown.slick", { 390 action: "start" 391 }, b.swipeHandler), b.$list.on("touchmove.slick mousemove.slick", { 392 action: "move" 393 }, b.swipeHandler), b.$list.on("touchend.slick mouseup.slick", { 394 action: "end" 395 }, b.swipeHandler), b.$list.on("touchcancel.slick mouseleave.slick", { 396 action: "end" 397 }, b.swipeHandler), b.$list.on("click.slick", b.clickHandler), a(document).on(b.visibilityChange, a.proxy(b.visibility, b)), b.options.accessibility === !0 && b.$list.on("keydown.slick", b.keyHandler), b.options.focusOnSelect === !0 && a(b.$slideTrack).children().on("click.slick", b.selectHandler), a(window).on("orientationchange.slick.slick-" + b.instanceUid, a.proxy(b.orientationChange, b)), a(window).on("resize.slick.slick-" + b.instanceUid, a.proxy(b.resize, b)), a("[draggable!=true]", b.$slideTrack).on("dragstart", b.preventDefault), a(window).on("load.slick.slick-" + b.instanceUid, b.setPosition), a(document).on("ready.slick.slick-" + b.instanceUid, b.setPosition) 398 }, b.prototype.initUI = function() { 399 var a = this; 400 a.options.arrows === !0 && a.slideCount > a.options.slidesToShow && (a.$prevArrow.show(), a.$nextArrow.show()), a.options.dots === !0 && a.slideCount > a.options.slidesToShow && a.$dots.show() 401 }, b.prototype.keyHandler = function(a) { 402 var b = this; 403 a.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === a.keyCode && b.options.accessibility === !0 ? b.changeSlide({ 404 data: { 405 message: b.options.rtl === !0 ? "next" : "previous" 406 } 407 }) : 39 === a.keyCode && b.options.accessibility === !0 && b.changeSlide({ 408 data: { 409 message: b.options.rtl === !0 ? "previous" : "next" 410 } 411 })) 412 }, b.prototype.lazyLoad = function() { 413 function g(c) { 414 a("img[data-lazy]", c).each(function() { 415 var c = a(this), 416 d = a(this).attr("data-lazy"), 417 e = document.createElement("img"); 418 e.onload = function() { 419 c.animate({ 420 opacity: 0 421 }, 100, function() { 422 c.attr("src", d).animate({ 423 opacity: 1 424 }, 200, function() { 425 c.removeAttr("data-lazy").removeClass("slick-loading") 426 }), b.$slider.trigger("lazyLoaded", [b, c, d]) 427 }) 428 }, e.onerror = function() { 429 c.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), b.$slider.trigger("lazyLoadError", [b, c, d]) 430 }, e.src = d 431 }) 432 } 433 var c, d, e, f, b = this; 434 b.options.centerMode === !0 ? b.options.infinite === !0 ? (e = b.currentSlide + (b.options.slidesToShow / 2 + 1), f = e + b.options.slidesToShow + 2) : (e = Math.max(0, b.currentSlide - (b.options.slidesToShow / 2 + 1)), f = 2 + (b.options.slidesToShow / 2 + 1) + b.currentSlide) : (e = b.options.infinite ? b.options.slidesToShow + b.currentSlide : b.currentSlide, f = Math.ceil(e + b.options.slidesToShow), b.options.fade === !0 && (e > 0 && e--, f <= b.slideCount && f++)), c = b.$slider.find(".slick-slide").slice(e, f), g(c), b.slideCount <= b.options.slidesToShow ? (d = b.$slider.find(".slick-slide"), g(d)) : b.currentSlide >= b.slideCount - b.options.slidesToShow ? (d = b.$slider.find(".slick-cloned").slice(0, b.options.slidesToShow), g(d)) : 0 === b.currentSlide && (d = b.$slider.find(".slick-cloned").slice(-1 * b.options.slidesToShow), g(d)) 435 }, b.prototype.loadSlider = function() { 436 var a = this; 437 a.setPosition(), a.$slideTrack.css({ 438 opacity: 1 439 }), a.$slider.removeClass("slick-loading"), a.initUI(), "progressive" === a.options.lazyLoad && a.progressiveLazyLoad() 440 }, b.prototype.next = b.prototype.slickNext = function() { 441 var a = this; 442 a.changeSlide({ 443 data: { 444 message: "next" 445 } 446 }) 447 }, b.prototype.orientationChange = function() { 448 var a = this; 449 a.checkResponsive(), a.setPosition() 450 }, b.prototype.pause = b.prototype.slickPause = function() { 451 var a = this; 452 a.autoPlayClear(), a.paused = !0 453 }, b.prototype.play = b.prototype.slickPlay = function() { 454 var a = this; 455 a.autoPlay(), a.options.autoplay = !0, a.paused = !1, a.focussed = !1, a.interrupted = !1 456 }, b.prototype.postSlide = function(a) { 457 var b = this; 458 b.unslicked || (b.$slider.trigger("afterChange", [b, a]), b.animating = !1, b.setPosition(), b.swipeLeft = null, b.options.autoplay && b.autoPlay(), b.options.accessibility === !0 && b.initADA()) 459 }, b.prototype.prev = b.prototype.slickPrev = function() { 460 var a = this; 461 a.changeSlide({ 462 data: { 463 message: "previous" 464 } 465 }) 466 }, b.prototype.preventDefault = function(a) { 467 a.preventDefault() 468 }, b.prototype.progressiveLazyLoad = function(b) { 469 b = b || 1; 470 var e, f, g, c = this, 471 d = a("img[data-lazy]", c.$slider); 472 d.length ? (e = d.first(), f = e.attr("data-lazy"), g = document.createElement("img"), g.onload = function() { 473 e.attr("src", f).removeAttr("data-lazy").removeClass("slick-loading"), c.options.adaptiveHeight === !0 && c.setPosition(), c.$slider.trigger("lazyLoaded", [c, e, f]), c.progressiveLazyLoad() 474 }, g.onerror = function() { 475 3 > b ? setTimeout(function() { 476 c.progressiveLazyLoad(b + 1) 477 }, 500) : (e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), c.$slider.trigger("lazyLoadError", [c, e, f]), c.progressiveLazyLoad()) 478 }, g.src = f) : c.$slider.trigger("allImagesLoaded", [c]) 479 }, b.prototype.refresh = function(b) { 480 var d, e, c = this; 481 e = c.slideCount - c.options.slidesToShow, !c.options.infinite && c.currentSlide > e && (c.currentSlide = e), c.slideCount <= c.options.slidesToShow && (c.currentSlide = 0), d = c.currentSlide, c.destroy(!0), a.extend(c, c.initials, { 482 currentSlide: d 483 }), c.init(), b || c.changeSlide({ 484 data: { 485 message: "index", 486 index: d 487 } 488 }, !1) 489 }, b.prototype.registerBreakpoints = function() { 490 var c, d, e, b = this, 491 f = b.options.responsive || null; 492 if ("array" === a.type(f) && f.length) { 493 b.respondTo = b.options.respondTo || "window"; 494 for (c in f) 495 if (e = b.breakpoints.length - 1, d = f[c].breakpoint, f.hasOwnProperty(c)) { 496 for (; e >= 0;) b.breakpoints[e] && b.breakpoints[e] === d && b.breakpoints.splice(e, 1), e--; 497 b.breakpoints.push(d), b.breakpointSettings[d] = f[c].settings 498 } 499 b.breakpoints.sort(function(a, c) { 500 return b.options.mobileFirst ? a - c : c - a 501 }) 502 } 503 }, b.prototype.reinit = function() { 504 var b = this; 505 b.$slides = b.$slideTrack.children(b.options.slide).addClass("slick-slide"), b.slideCount = b.$slides.length, b.currentSlide >= b.slideCount && 0 !== b.currentSlide && (b.currentSlide = b.currentSlide - b.options.slidesToScroll), b.slideCount <= b.options.slidesToShow && (b.currentSlide = 0), b.registerBreakpoints(), b.setProps(), b.setupInfinite(), b.buildArrows(), b.updateArrows(), b.initArrowEvents(), b.buildDots(), b.updateDots(), b.initDotEvents(), b.cleanUpSlideEvents(), b.initSlideEvents(), b.checkResponsive(!1, !0), b.options.focusOnSelect === !0 && a(b.$slideTrack).children().on("click.slick", b.selectHandler), b.setSlideClasses("number" == typeof b.currentSlide ? b.currentSlide : 0), b.setPosition(), b.focusHandler(), b.paused = !b.options.autoplay, b.autoPlay(), b.$slider.trigger("reInit", [b]) 506 }, b.prototype.resize = function() { 507 var b = this; 508 a(window).width() !== b.windowWidth && (clearTimeout(b.windowDelay), b.windowDelay = window.setTimeout(function() { 509 b.windowWidth = a(window).width(), b.checkResponsive(), b.unslicked || b.setPosition() 510 }, 50)) 511 }, b.prototype.removeSlide = b.prototype.slickRemove = function(a, b, c) { 512 var d = this; 513 return "boolean" == typeof a ? (b = a, a = b === !0 ? 0 : d.slideCount - 1) : a = b === !0 ? --a : a, d.slideCount < 1 || 0 > a || a > d.slideCount - 1 ? !1 : (d.unload(), c === !0 ? d.$slideTrack.children().remove() : d.$slideTrack.children(this.options.slide).eq(a).remove(), d.$slides = d.$slideTrack.children(this.options.slide), d.$slideTrack.children(this.options.slide).detach(), d.$slideTrack.append(d.$slides), d.$slidesCache = d.$slides, void d.reinit()) 514 }, b.prototype.setCSS = function(a) { 515 var d, e, b = this, 516 c = {}; 517 b.options.rtl === !0 && (a = -a), d = "left" == b.positionProp ? Math.ceil(a) + "px" : "0px", e = "top" == b.positionProp ? Math.ceil(a) + "px" : "0px", c[b.positionProp] = a, b.transformsEnabled === !1 ? b.$slideTrack.css(c) : (c = {}, b.cssTransitions === !1 ? (c[b.animType] = "translate(" + d + ", " + e + ")", b.$slideTrack.css(c)) : (c[b.animType] = "translate3d(" + d + ", " + e + ", 0px)", b.$slideTrack.css(c))) 518 }, b.prototype.setDimensions = function() { 519 var a = this; 520 a.options.vertical === !1 ? a.options.centerMode === !0 && a.$list.css({ 521 padding: "0px " + a.options.centerPadding 522 }) : (a.$list.height(a.$slides.first().outerHeight(!0) * a.options.slidesToShow), a.options.centerMode === !0 && a.$list.css({ 523 padding: a.options.centerPadding + " 0px" 524 })), a.listWidth = a.$list.width(), a.listHeight = a.$list.height(), a.options.vertical === !1 && a.options.variableWidth === !1 ? (a.slideWidth = Math.ceil(a.listWidth / a.options.slidesToShow), a.$slideTrack.width(Math.ceil(a.slideWidth * a.$slideTrack.children(".slick-slide").length))) : a.options.variableWidth === !0 ? a.$slideTrack.width(5e3 * a.slideCount) : (a.slideWidth = Math.ceil(a.listWidth), a.$slideTrack.height(Math.ceil(a.$slides.first().outerHeight(!0) * a.$slideTrack.children(".slick-slide").length))); 525 var b = a.$slides.first().outerWidth(!0) - a.$slides.first().width(); 526 a.options.variableWidth === !1 && a.$slideTrack.children(".slick-slide").width(a.slideWidth - b) 527 }, b.prototype.setFade = function() { 528 var c, b = this; 529 b.$slides.each(function(d, e) { 530 c = b.slideWidth * d * -1, b.options.rtl === !0 ? a(e).css({ 531 position: "relative", 532 right: c, 533 top: 0, 534 zIndex: b.options.zIndex - 2, 535 opacity: 0 536 }) : a(e).css({ 537 position: "relative", 538 left: c, 539 top: 0, 540 zIndex: b.options.zIndex - 2, 541 opacity: 0 542 }) 543 }), b.$slides.eq(b.currentSlide).css({ 544 zIndex: b.options.zIndex - 1, 545 opacity: 1 546 }) 547 }, b.prototype.setHeight = function() { 548 var a = this; 549 if (1 === a.options.slidesToShow && a.options.adaptiveHeight === !0 && a.options.vertical === !1) { 550 var b = a.$slides.eq(a.currentSlide).outerHeight(!0); 551 a.$list.css("height", b) 552 } 553 }, b.prototype.setOption = b.prototype.slickSetOption = function() { 554 var c, d, e, f, h, b = this, 555 g = !1; 556 if ("object" === a.type(arguments[0]) ? (e = arguments[0], g = arguments[1], h = "multiple") : "string" === a.type(arguments[0]) && (e = arguments[0], f = arguments[1], g = arguments[2], "responsive" === arguments[0] && "array" === a.type(arguments[1]) ? h = "responsive" : "undefined" != typeof arguments[1] && (h = "single")), "single" === h) b.options[e] = f; 557 else if ("multiple" === h) a.each(e, function(a, c) { 558 b.options[a] = c 559 }); 560 else if ("responsive" === h) 561 for (d in f) 562 if ("array" !== a.type(b.options.responsive)) b.options.responsive = [f[d]]; 563 else { 564 for (c = b.options.responsive.length - 1; c >= 0;) b.options.responsive[c].breakpoint === f[d].breakpoint && b.options.responsive.splice(c, 1), c--; 565 b.options.responsive.push(f[d]) 566 } 567 g && (b.unload(), b.reinit()) 568 }, b.prototype.setPosition = function() { 569 var a = this; 570 a.setDimensions(), a.setHeight(), a.options.fade === !1 ? a.setCSS(a.getLeft(a.currentSlide)) : a.setFade(), a.$slider.trigger("setPosition", [a]) 571 }, b.prototype.setProps = function() { 572 var a = this, 573 b = document.body.style; 574 a.positionProp = a.options.vertical === !0 ? "top" : "left", "top" === a.positionProp ? a.$slider.addClass("slick-vertical") : a.$slider.removeClass("slick-vertical"), (void 0 !== b.WebkitTransition || void 0 !== b.MozTransition || void 0 !== b.msTransition) && a.options.useCSS === !0 && (a.cssTransitions = !0), a.options.fade && ("number" == typeof a.options.zIndex ? a.options.zIndex < 3 && (a.options.zIndex = 3) : a.options.zIndex = a.defaults.zIndex), void 0 !== b.OTransform && (a.animType = "OTransform", a.transformType = "-o-transform", a.transitionType = "OTransition", void 0 === b.perspectiveProperty && void 0 === b.webkitPerspective && (a.animType = !1)), void 0 !== b.MozTransform && (a.animType = "MozTransform", a.transformType = "-moz-transform", a.transitionType = "MozTransition", void 0 === b.perspectiveProperty && void 0 === b.MozPerspective && (a.animType = !1)), void 0 !== b.webkitTransform && (a.animType = "webkitTransform", a.transformType = "-webkit-transform", a.transitionType = "webkitTransition", void 0 === b.perspectiveProperty && void 0 === b.webkitPerspective && (a.animType = !1)), void 0 !== b.msTransform && (a.animType = "msTransform", a.transformType = "-ms-transform", a.transitionType = "msTransition", void 0 === b.msTransform && (a.animType = !1)), void 0 !== b.transform && a.animType !== !1 && (a.animType = "transform", a.transformType = "transform", a.transitionType = "transition"), a.transformsEnabled = a.options.useTransform && null !== a.animType && a.animType !== !1 575 }, b.prototype.setSlideClasses = function(a) { 576 var c, d, e, f, b = this; 577 d = b.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true"), b.$slides.eq(a).addClass("slick-current"), b.options.centerMode === !0 ? (c = Math.floor(b.options.slidesToShow / 2), b.options.infinite === !0 && (a >= c && a <= b.slideCount - 1 - c ? b.$slides.slice(a - c, a + c + 1).addClass("slick-active").attr("aria-hidden", "false") : (e = b.options.slidesToShow + a, 578 d.slice(e - c + 1, e + c + 2).addClass("slick-active").attr("aria-hidden", "false")), 0 === a ? d.eq(d.length - 1 - b.options.slidesToShow).addClass("slick-center") : a === b.slideCount - 1 && d.eq(b.options.slidesToShow).addClass("slick-center")), b.$slides.eq(a).addClass("slick-center")) : a >= 0 && a <= b.slideCount - b.options.slidesToShow ? b.$slides.slice(a, a + b.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false") : d.length <= b.options.slidesToShow ? d.addClass("slick-active").attr("aria-hidden", "false") : (f = b.slideCount % b.options.slidesToShow, e = b.options.infinite === !0 ? b.options.slidesToShow + a : a, b.options.slidesToShow == b.options.slidesToScroll && b.slideCount - a < b.options.slidesToShow ? d.slice(e - (b.options.slidesToShow - f), e + f).addClass("slick-active").attr("aria-hidden", "false") : d.slice(e, e + b.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false")), "ondemand" === b.options.lazyLoad && b.lazyLoad() 579 }, b.prototype.setupInfinite = function() { 580 var c, d, e, b = this; 581 if (b.options.fade === !0 && (b.options.centerMode = !1), b.options.infinite === !0 && b.options.fade === !1 && (d = null, b.slideCount > b.options.slidesToShow)) { 582 for (e = b.options.centerMode === !0 ? b.options.slidesToShow + 1 : b.options.slidesToShow, c = b.slideCount; c > b.slideCount - e; c -= 1) d = c - 1, a(b.$slides[d]).clone(!0).attr("id", "").attr("data-slick-index", d - b.slideCount).prependTo(b.$slideTrack).addClass("slick-cloned"); 583 for (c = 0; e > c; c += 1) d = c, a(b.$slides[d]).clone(!0).attr("id", "").attr("data-slick-index", d + b.slideCount).appendTo(b.$slideTrack).addClass("slick-cloned"); 584 b.$slideTrack.find(".slick-cloned").find("[id]").each(function() { 585 a(this).attr("id", "") 586 }) 587 } 588 }, b.prototype.interrupt = function(a) { 589 var b = this; 590 a || b.autoPlay(), b.interrupted = a 591 }, b.prototype.selectHandler = function(b) { 592 var c = this, 593 d = a(b.target).is(".slick-slide") ? a(b.target) : a(b.target).parents(".slick-slide"), 594 e = parseInt(d.attr("data-slick-index")); 595 return e || (e = 0), c.slideCount <= c.options.slidesToShow ? (c.setSlideClasses(e), void c.asNavFor(e)) : void c.slideHandler(e) 596 }, b.prototype.slideHandler = function(a, b, c) { 597 var d, e, f, g, j, h = null, 598 i = this; 599 return b = b || !1, i.animating === !0 && i.options.waitForAnimate === !0 || i.options.fade === !0 && i.currentSlide === a || i.slideCount <= i.options.slidesToShow ? void 0 : (b === !1 && i.asNavFor(a), d = a, h = i.getLeft(d), g = i.getLeft(i.currentSlide), i.currentLeft = null === i.swipeLeft ? g : i.swipeLeft, i.options.infinite === !1 && i.options.centerMode === !1 && (0 > a || a > i.getDotCount() * i.options.slidesToScroll) ? void(i.options.fade === !1 && (d = i.currentSlide, c !== !0 ? i.animateSlide(g, function() { 600 i.postSlide(d) 601 }) : i.postSlide(d))) : i.options.infinite === !1 && i.options.centerMode === !0 && (0 > a || a > i.slideCount - i.options.slidesToScroll) ? void(i.options.fade === !1 && (d = i.currentSlide, c !== !0 ? i.animateSlide(g, function() { 602 i.postSlide(d) 603 }) : i.postSlide(d))) : (i.options.autoplay && clearInterval(i.autoPlayTimer), e = 0 > d ? i.slideCount % i.options.slidesToScroll !== 0 ? i.slideCount - i.slideCount % i.options.slidesToScroll : i.slideCount + d : d >= i.slideCount ? i.slideCount % i.options.slidesToScroll !== 0 ? 0 : d - i.slideCount : d, i.animating = !0, i.$slider.trigger("beforeChange", [i, i.currentSlide, e]), f = i.currentSlide, i.currentSlide = e, i.setSlideClasses(i.currentSlide), i.options.asNavFor && (j = i.getNavTarget(), j = j.slick("getSlick"), j.slideCount <= j.options.slidesToShow && j.setSlideClasses(i.currentSlide)), i.updateDots(), i.updateArrows(), i.options.fade === !0 ? (c !== !0 ? (i.fadeSlideOut(f), i.fadeSlide(e, function() { 604 i.postSlide(e) 605 })) : i.postSlide(e), void i.animateHeight()) : void(c !== !0 ? i.animateSlide(h, function() { 606 i.postSlide(e) 607 }) : i.postSlide(e)))) 608 }, b.prototype.startLoad = function() { 609 var a = this; 610 a.options.arrows === !0 && a.slideCount > a.options.slidesToShow && (a.$prevArrow.hide(), a.$nextArrow.hide()), a.options.dots === !0 && a.slideCount > a.options.slidesToShow && a.$dots.hide(), a.$slider.addClass("slick-loading") 611 }, b.prototype.swipeDirection = function() { 612 var a, b, c, d, e = this; 613 return a = e.touchObject.startX - e.touchObject.curX, b = e.touchObject.startY - e.touchObject.curY, c = Math.atan2(b, a), d = Math.round(180 * c / Math.PI), 0 > d && (d = 360 - Math.abs(d)), 45 >= d && d >= 0 ? e.options.rtl === !1 ? "left" : "right" : 360 >= d && d >= 315 ? e.options.rtl === !1 ? "left" : "right" : d >= 135 && 225 >= d ? e.options.rtl === !1 ? "right" : "left" : e.options.verticalSwiping === !0 ? d >= 35 && 135 >= d ? "down" : "up" : "vertical" 614 }, b.prototype.swipeEnd = function(a) { 615 var c, d, b = this; 616 if (b.dragging = !1, b.interrupted = !1, b.shouldClick = b.touchObject.swipeLength > 10 ? !1 : !0, void 0 === b.touchObject.curX) return !1; 617 if (b.touchObject.edgeHit === !0 && b.$slider.trigger("edge", [b, b.swipeDirection()]), b.touchObject.swipeLength >= b.touchObject.minSwipe) { 618 switch (d = b.swipeDirection()) { 619 case "left": 620 case "down": 621 c = b.options.swipeToSlide ? b.checkNavigable(b.currentSlide + b.getSlideCount()) : b.currentSlide + b.getSlideCount(), b.currentDirection = 0; 622 break; 623 case "right": 624 case "up": 625 c = b.options.swipeToSlide ? b.checkNavigable(b.currentSlide - b.getSlideCount()) : b.currentSlide - b.getSlideCount(), b.currentDirection = 1 626 } 627 "vertical" != d && (b.slideHandler(c), b.touchObject = {}, b.$slider.trigger("swipe", [b, d])) 628 } else b.touchObject.startX !== b.touchObject.curX && (b.slideHandler(b.currentSlide), b.touchObject = {}) 629 }, b.prototype.swipeHandler = function(a) { 630 var b = this; 631 if (!(b.options.swipe === !1 || "ontouchend" in document && b.options.swipe === !1 || b.options.draggable === !1 && -1 !== a.type.indexOf("mouse"))) switch (b.touchObject.fingerCount = a.originalEvent && void 0 !== a.originalEvent.touches ? a.originalEvent.touches.length : 1, b.touchObject.minSwipe = b.listWidth / b.options.touchThreshold, b.options.verticalSwiping === !0 && (b.touchObject.minSwipe = b.listHeight / b.options.touchThreshold), a.data.action) { 632 case "start": 633 b.swipeStart(a); 634 break; 635 case "move": 636 b.swipeMove(a); 637 break; 638 case "end": 639 b.swipeEnd(a) 640 } 641 }, b.prototype.swipeMove = function(a) { 642 var d, e, f, g, h, b = this; 643 return h = void 0 !== a.originalEvent ? a.originalEvent.touches : null, !b.dragging || h && 1 !== h.length ? !1 : (d = b.getLeft(b.currentSlide), b.touchObject.curX = void 0 !== h ? h[0].pageX : a.clientX, b.touchObject.curY = void 0 !== h ? h[0].pageY : a.clientY, b.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(b.touchObject.curX - b.touchObject.startX, 2))), b.options.verticalSwiping === !0 && (b.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(b.touchObject.curY - b.touchObject.startY, 2)))), e = b.swipeDirection(), "vertical" !== e ? (void 0 !== a.originalEvent && b.touchObject.swipeLength > 4 && a.preventDefault(), g = (b.options.rtl === !1 ? 1 : -1) * (b.touchObject.curX > b.touchObject.startX ? 1 : -1), b.options.verticalSwiping === !0 && (g = b.touchObject.curY > b.touchObject.startY ? 1 : -1), f = b.touchObject.swipeLength, b.touchObject.edgeHit = !1, b.options.infinite === !1 && (0 === b.currentSlide && "right" === e || b.currentSlide >= b.getDotCount() && "left" === e) && (f = b.touchObject.swipeLength * b.options.edgeFriction, b.touchObject.edgeHit = !0), b.options.vertical === !1 ? b.swipeLeft = d + f * g : b.swipeLeft = d + f * (b.$list.height() / b.listWidth) * g, b.options.verticalSwiping === !0 && (b.swipeLeft = d + f * g), b.options.fade === !0 || b.options.touchMove === !1 ? !1 : b.animating === !0 ? (b.swipeLeft = null, !1) : void b.setCSS(b.swipeLeft)) : void 0) 644 }, b.prototype.swipeStart = function(a) { 645 var c, b = this; 646 return b.interrupted = !0, 1 !== b.touchObject.fingerCount || b.slideCount <= b.options.slidesToShow ? (b.touchObject = {}, !1) : (void 0 !== a.originalEvent && void 0 !== a.originalEvent.touches && (c = a.originalEvent.touches[0]), b.touchObject.startX = b.touchObject.curX = void 0 !== c ? c.pageX : a.clientX, b.touchObject.startY = b.touchObject.curY = void 0 !== c ? c.pageY : a.clientY, void(b.dragging = !0)) 647 }, b.prototype.unfilterSlides = b.prototype.slickUnfilter = function() { 648 var a = this; 649 null !== a.$slidesCache && (a.unload(), a.$slideTrack.children(this.options.slide).detach(), a.$slidesCache.appendTo(a.$slideTrack), a.reinit()) 650 }, b.prototype.unload = function() { 651 var b = this; 652 a(".slick-cloned", b.$slider).remove(), b.$dots && b.$dots.remove(), b.$prevArrow && b.htmlExpr.test(b.options.prevArrow) && b.$prevArrow.remove(), b.$nextArrow && b.htmlExpr.test(b.options.nextArrow) && b.$nextArrow.remove(), b.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "") 653 }
653, b.prototype.unslick = function(a) { 654 var b = this; 655 b.$slider.trigger("unslick", [b, a]), b.destroy() 656 }, b.prototype.updateArrows = function() { 657 var b, a = this; 658 b = Math.floor(a.options.slidesToShow / 2), a.options.arrows === !0 && a.slideCount > a.options.slidesToShow && !a.options.infinite && (a.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), a.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), 0 === a.currentSlide ? (a.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"), a.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : a.currentSlide >= a.slideCount - a.options.slidesToShow && a.options.centerMode === !1 ? (a.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), a.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : a.currentSlide >= a.slideCount - 1 && a.options.centerMode === !0 && (a.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), a.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"))) 659 }, b.prototype.updateDots = function() { 660 var a = this; 661 null !== a.$dots && (a.$dots.find("li").removeClass("slick-active").attr("aria-hidden", "true"), a.$dots.find("li").eq(Math.floor(a.currentSlide / a.options.slidesToScroll)).addClass("slick-active").attr("aria-hidden", "false")) 662 }, b.prototype.visibility = function() { 663 var a = this; 664 a.options.autoplay && (document[a.hidden] ? a.interrupted = !0 : a.interrupted = !1) 665 }, a.fn.slick = function() { 666 var f, g, a = this, 667 c = arguments[0], 668 d = Array.prototype.slice.call(arguments, 1), 669 e = a.length; 670 for (f = 0; e > f; f++) 671 if ("object" == typeof c || "undefined" == typeof c ? a[f].slick = new b(a[f], c) : g = a[f].slick[c].apply(a[f].slick, d), "undefined" != typeof g) return g; 672 return a 673 } 674}); 675 676/* 677 By André Rinas, www.andrerinas.de 678 Available for use under the MIT License 679 1.13.0 680*/ 681;( function( $, window, document, undefined ) 682{ 683 'use strict'; 684 685$.fn.simpleLightbox = function( options ) 686{ 687 688 var options = $.extend({ 689 sourceAttr: 'href', 690 overlay: true, 691 spinner: true, 692 nav: true, 693 navText: ['â¹', 'âº'], 694 captions: true, 695 captionDelay: 0, 696 captionSelector: 'div', 697 captionType: 'attr', 698 captionsData: 'title', 699 captionPosition: 'bottom', 700 captionClass: '', 701 close: true, 702 closeText: 'X', 703 swipeClose: true, 704 showCounter: true, 705 fileExt: 'png|jpg|jpeg|gif', 706 animationSlide: true, 707 animationSpeed: 250, 708 preloading: true, 709 enableKeyboard: true, 710 loop: true, 711 rel: false, 712 docClose: true, 713 swipeTolerance: 50, 714 className: 'simple-lightbox', 715 widthRatio: 0.8, 716 heightRatio: 0.9, 717 scaleImageToRatio: false, 718 disableRightClick: false, 719 disableScroll: true, 720 alertError: true, 721 alertErrorMessage: 'Image not found, next image will be loaded', 722 additionalHtml: false, 723 history: true 724 }, options); 725 726 // global variables 727 var touchDevice = ( 'ontouchstart' in window ), 728 pointerEnabled = window.navigator.pointerEnabled || window.navigator.msPointerEnabled, 729 touched = function( event ){ 730 if( touchDevice ) return true; 731 if( !pointerEnabled || typeof event === 'undefined' || typeof event.pointerType === 'undefined' ) return false; 732 if( typeof event.MSPOINTER_TYPE_MOUSE !== 'undefined' ) { 733 if( event.MSPOINTER_TYPE_MOUSE != event.pointerType ) return true; 734 } 735 else { 736 if( event.pointerType != 'mouse' ) return true; 737 } 738 return false; 739 }, 740 swipeDiff = 0, 741 swipeYDiff = 0, 742 curImg = $(), 743 transPrefix = function(){ 744 var s = document.body || document.documentElement; 745 s = s.style; 746 if( s.WebkitTransition === '' ) return '-webkit-'; 747 if( s.MozTransition === '' ) return '-moz-'; 748 if( s.OTransition === '' ) return '-o-'; 749 if( s.transition === '' ) return ''; 750 return false; 751 }, 752 opened = false, 753 loaded = [], 754 getRelated = function(rel, jqObj) { 755 var $related = jqObj.filter(function () { 756 return ($(this).attr('rel') === rel); 757 }); 758 return $related; 759 }, 760 objects = (options.rel && options.rel !== false) ? getRelated(options.rel, $(this)) : this, 761 transPrefix = transPrefix(), 762 globalScrollbarwidth = 0, 763 canTransisions = (transPrefix !== false) ? true : false, 764 supportsPushState = ('pushState' in history), 765 historyhasChanged = false, 766 historyUpdateTimeout, 767 winLoc = window.location, 768 getHash = function(){ 769 return winLoc.hash.substring(1); 770 }, 771 initialHash = getHash(), 772 updateHash = function(){ 773 var hash = getHash(), 774 newHash = 'pid='+(index+1); 775 var newURL = winLoc.href.split('#')[0] + '#' + newHash; 776 777 if(supportsPushState){ 778 history[historyhasChanged ? 'replaceState' : 'pushState']('', document.title, newURL); 779 }else { 780 if(historyhasChanged) { 781 winLoc.replace( newURL ); 782 } else { 783 winLoc.hash = newHash; 784 } 785 } 786 historyhasChanged = true; 787 }, 788 resetHash = function() { 789 if (supportsPushState) { 790 history.pushState('', document.title, winLoc.pathname + winLoc.search ); 791 } else { 792 winLoc.hash = ''; 793 } 794 clearTimeout(historyUpdateTimeout); 795 796 }, 797 updateURL = function(){ 798 if(!historyhasChanged) { 799 updateHash(); // first time 800 } else { 801 historyUpdateTimeout = setTimeout(updateHash, 800); 802 } 803 }, 804 prefix = 'simplelb',
805 overlay = $('<div>').addClass('sl-overlay'), 806 closeBtn = $('<button>').addClass('sl-close').html(options.closeText), 807 spinner = $('<div>').addClass('sl-spinner').html('<div></div>'), 808 nav = $('<div>').addClass('sl-navigation').html('<button class="sl-prev">'+options.navText[0]+'</button><button class="sl-next">'+options.navText[1]+'</button>'), 809 counter = $('<div>').addClass('sl-counter').html('<span class="sl-current"></span>/<span class="sl-total"></span>'), 810 animating = false, 811 index = 0, 812 caption = $('<div>').addClass('sl-caption '+options.captionClass+' pos-'+options.captionPosition), 813 image = $('<div>').addClass('sl-image'), 814 wrapper = $('<div>').addClass('sl-wrapper').addClass(options.className), 815 isValidLink = function( element ){ 816 if(!options.fileExt) return true; 817 var filEext = /\.([0-9a-z]+)(?=[?#])|(\.)(?:[\w]+)$/gmi; 818 var testExt = $( element ).attr( options.sourceAttr ).match(filEext); 819 return testExt && $( element ).prop( 'tagName' ).toLowerCase() == 'a' && ( new RegExp( '\.(' + options.fileExt + ')$', 'i' ) ).test( testExt ); 820 }, 821 setup = function(){ 822 if(options.close) closeBtn.appendTo(wrapper); 823 if(options.showCounter){ 824 if(objects.length > 1){ 825 counter.appendTo(wrapper); 826 counter.find('.sl-total').text(objects.length); 827 } 828 } 829 if(options.nav) nav.appendTo(wrapper); 830 if(options.spinner) spinner.appendTo(wrapper); 831 }, 832 openImage = function(elem){ 833 elem.trigger($.Event('show.simplelightbox')); 834 if(options.disableScroll) globalScrollbarwidth = handleScrollbar('hide'); 835 wrapper.appendTo('body'); 836 image.appendTo(wrapper); 837 if(options.overlay) overlay.appendTo($('body')); 838 animating = true; 839 index = objects.index(elem); 840 curImg = $( '<img/>' ) 841 .hide() 842 .attr('src', elem.attr(options.sourceAttr)); 843 if(loaded.indexOf(elem.attr(options.sourceAttr)) == -1){ 844 loaded.push(elem.attr(options.sourceAttr)); 845 } 846 image.html('').attr('style',''); 847 curImg.appendTo(image); 848 addEvents(); 849 overlay.fadeIn('fast'); 850 $('.sl-close').fadeIn('fast'); 851 spinner.show(); 852 nav.fadeIn('fast'); 853 $('.sl-wrapper .sl-counter .sl-current').text(index +1); 854 counter.fadeIn('fast'); 855 adjustImage(); 856 if(options.preloading) preload(); 857 setTimeout( function(){ elem.trigger($.Event('shown.simplelightbox')); } ,options.animationSpeed); 858 }, 859 adjustImage = function(dir){ 860 if(!curImg.length) return; 861 var tmpImage = new Image(), 862 windowWidth = $( window ).width() * options.widthRatio, 863 windowHeight = $( window ).height() * options.heightRatio; 864 tmpImage.src = curImg.attr( 'src' ); 865 866 $(tmpImage).on('error',function(ev){ 867 //no image was found 868 objects.eq(index).trigger($.Event('error.simplelightbox')); 869 animating = false; 870 opened = true; 871 spinner.hide(); 872 if(options.alertError){ 873 alert(options.alertErrorMessage); 874 } 875 if(dir == 1 || dir == -1){ 876 loadImage(dir); 877 } else { 878 loadImage(1); 879 } 880 return; 881 }); 882 883 884 tmpImage.onload = function() { 885 if (typeof dir !== 'undefined') { 886 objects.eq(index) 887 .trigger($.Event('changed.simplelightbox')) 888 .trigger($.Event( (dir===1?'nextDone':'prevDone')+'.simplelightbox')); 889 } 890 891 // history 892 if(options.history){ 893 updateURL(); 894 } 895 896 if(loaded.indexOf(curImg.attr( 'src' )) == -1){ 897 loaded.push(curImg.attr( 'src' )); 898 } 899 var imageWidth = tmpImage.width, 900 imageHeight = tmpImage.height; 901 902 if( options.scaleImageToRatio || imageWidth > windowWidth || imageHeight > windowHeight ){ 903 var ratio = imageWidth / imageHeight > windowWidth / windowHeight ? imageWidth / windowWidth : imageHeight / windowHeight; 904 imageWidth /= ratio; 905 imageHeight /= ratio; 906 } 907 908 $('.sl-image').css({ 909 'top': ( $( window ).height() - imageHeight ) / 2 + 'px', 910 'left': ( $( window ).width() - imageWidth - globalScrollbarwidth)/ 2 + 'px' 911 }); 912 spinner.hide(); 913 curImg 914 .css({ 915 'width': imageWidth + 'px', 916 'height': imageHeight + 'px' 917 }) 918 .fadeIn('fast'); 919 opened = true; 920 var cSel = (options.captionSelector == 'self') ? objects.eq(index) : objects.eq(index).find(options.captionSelector); 921 922 var captionText; 923 if(options.captionType == 'data'){ 924 captionText = cSel.data(options.captionsData); 925 } else if(options.captionType == 'text'){ 926 captionText = cSel.html(); 927 } else { 928 captionText = cSel.prop(options.captionsData); 929 } 930 931 if(!options.loop) { 932 if(index === 0){ $('.sl-prev').hide();} 933 if(index >= objects.length -1) {$('.sl-next').hide();} 934 if(index > 0){ $('.sl-prev').show(); } 935 if(index < objects.length -1){ $('.sl-next').show(); } 936 } 937 938 if(objects.length == 1) $('.sl-prev, .sl-next').hide(); 939 940 if(dir == 1 || dir == -1){ 941 var css = { 'opacity': 1.0 }; 942 if( options.animationSlide ) { 943 if( canTransisions ) { 944 slide(0, 100 * dir + 'px'); 945 setTimeout( function(){ slide( options.animationSpeed / 1000, 0 + 'px'); }, 50 ); 946 } 947 else { 948 css.left = parseInt( $('.sl-image').css( 'left' ) ) + 100 * dir + 'px'; 949 } 950 } 951 952 $('.sl-image').animate( css, options.animationSpeed, function(){ 953 animating = false;
954 setCaption(captionText); 955 }); 956 } else { 957 animating = false; 958 setCaption(captionText); 959 } 960 if(options.additionalHtml && $('.sl-additional-html').length === 0){ 961 $('<div>').html(options.additionalHtml).addClass('sl-additional-html').appendTo($('.sl-image')); 962 } 963 }; 964 }, 965 setCaption = function(captiontext){ 966 var cSel = (options.captionSelector == 'self') ? objects.eq(index) : objects.eq(index).find(options.captionSelector); 967 var captionHref = cSel.attr('data-href'); 968 if(captiontext !== '' && typeof captiontext !== "undefined" && options.captions){ 969 if(captionHref =="undefined"){ 970 caption.html(captiontext).hide().appendTo($('.sl-image')).delay(options.captionDelay).fadeIn('fast'); 971 } else { 972 caption.html('<a href="'+captionHref+'">' + captiontext + '</a>').hide().appendTo($('.sl-image')).delay(options.captionDelay).fadeIn('fast'); 973 } 974} 975 }, 976 slide = function(speed, pos){ 977 var styles = {}; 978 styles[transPrefix + 'transform'] = 'translateX(' + pos + ')'; 979 styles[transPrefix + 'transition'] = transPrefix + 'transform ' + speed + 's linear'; 980 $('.sl-image').css(styles); 981 }, 982 addEvents = function(){ 983 // resize/responsive 984 $( window ).on( 'resize.'+prefix, adjustImage ); 985 986 // close lightbox on close btn 987 $( document ).on('click.'+prefix+ ' touchstart.'+prefix, '.sl-close', function(e){ 988 e.preventDefault(); 989 if(opened){ close();} 990 }); 991 992 if(options.history){ 993 setTimeout(function() { 994 $(window).on('hashchange.'+prefix,function(){ 995 if(opened){ 996 if(getHash() === initialHash) { 997 close(); 998 return; 999 } 1000 } 1001 }); 1002 }, 40); 1003 } 1004 1005 // nav-buttons 1006 nav.on('click.'+prefix, 'button', function(e){ 1007 e.preventDefault(); 1008 swipeDiff = 0; 1009 loadImage( $(this).hasClass('sl-next') ? 1 : -1 ); 1010 }); 1011 1012 // touchcontrols 1013 var swipeStart = 0, 1014 swipeEnd = 0, 1015 swipeYStart = 0, 1016 swipeYEnd = 0, 1017 mousedown = false, 1018 imageLeft = 0; 1019 1020 image 1021 .on( 'touchstart.'+prefix+' mousedown.'+prefix, function(e) 1022 { 1023 if(mousedown) return true; 1024 if( canTransisions ) imageLeft = parseInt( image.css( 'left' ) ); 1025 mousedown = true; 1026 swipeDiff = 0; 1027 swipeYDiff = 0; 1028 swipeStart = e.originalEvent.pageX || e.originalEvent.touches[ 0 ].pageX; 1029 swipeYStart = e.originalEvent.pageY || e.originalEvent.touches[ 0 ].pageY; 1030 return false; 1031 }) 1032 .on( 'touchmove.'+prefix+' mousemove.'+prefix+' pointermove MSPointerMove', function(e) 1033 { 1034 if(!mousedown) return true; 1035 e.preventDefault(); 1036 swipeEnd = e.originalEvent.pageX || e.originalEvent.touches[ 0 ].pageX; 1037 swipeYEnd = e.originalEvent.pageY || e.originalEvent.touches[ 0 ].pageY; 1038 swipeDiff = swipeStart - swipeEnd; 1039 swipeYDiff = swipeYStart - swipeYEnd; 1040 if( options.animationSlide ) { 1041 if( canTransisions ) slide( 0, -swipeDiff + 'px' ); 1042 else image.css( 'left', imageLeft - swipeDiff + 'px' ); 1043 } 1044 }) 1045 .on( 'touchend.'+prefix+' mouseup.'+prefix+' touchcancel.'+prefix+' mouseleave.'+prefix+' pointerup pointercancel MSPointerUp MSPointerCancel',function(e) 1046 { 1047 if(mousedown){ 1048 mousedown = false; 1049 var possibleDir = true; 1050 if(!options.loop) { 1051 if(index === 0 && swipeDiff < 0){ possibleDir = false; } 1052 if(index >= objects.length -1 && swipeDiff > 0) { possibleDir = false; } 1053 } 1054 if( Math.abs( swipeDiff ) > options.swipeTolerance && possibleDir ) { 1055 loadImage( swipeDiff > 0 ? 1 : -1 ); 1056 } 1057 else if( options.animationSlide ) 1058 { 1059 if( canTransisions ) slide( options.animationSpeed / 1000, 0 + 'px' ); 1060 else image.animate({ 'left': imageLeft + 'px' }, options.animationSpeed / 2 ); 1061 } 1062 1063 if( options.swipeClose && Math.abs(swipeYDiff) > 50 && Math.abs( swipeDiff ) < options.swipeTolerance) { 1064 close(); 1065 } 1066 } 1067 }); 1068 }, 1069 removeEvents = function(){ 1070 nav.off('click', 'button'); 1071 $( document ).off('click.'+prefix, '.sl-close'); 1072 $( window ).off( 'resize.'+prefix); 1073 $( window ).off( 'hashchange.'+prefix); 1074 }, 1075 preload = function(){ 1076 var next = (index+1 < 0) ? objects.length -1: (index+1 >= objects.length -1) ? 0 : index+1, 1077 prev = (index-1 < 0) ? objects.length -1: (index-1 >= objects.length -1) ? 0 : index-1; 1078 $( '<img />' ).attr( 'src', objects.eq(next).attr( options.sourceAttr ) ).on('load', function(){ 1079 if(loaded.indexOf($(this).attr('src')) == -1){ 1080 loaded.push($(this).attr('src')); 1081 } 1082 objects.eq(index).trigger($.Event('nextImageLoaded.simplelightbox')); 1083 }); 1084 $( '<img />' ).attr( 'src', objects.eq(prev).attr( options.sourceAttr ) ).on('load', function(){ 1085 if(loaded.indexOf($(this).attr('src')) == -1){ 1086 loaded.push($(this).attr('src')); 1087 } 1088 objects.eq(index).trigger($.Event('prevImageLoaded.simplelightbox')); 1089 }); 1090 1091 }, 1092 loadImage = function(dir){ 1093 objects.eq(index) 1094 .trigger($.Event('change.simplelightbox')) 1095 .trigger($.Event( (dir===1?'next':'prev')+'.simplelightbox')); 1096 1097 var newIndex = index + dir; 1098 if(animating || (newIndex < 0 || newIndex >= objects.length) && options.loop === false ) return; 1099 index = (newIndex < 0) ? objects.length -1: (newIndex > objects.length -1) ? 0 : newIndex; 1100 $('.sl-wrapper .sl-counter .sl-current').text(index +1); 1101 var css = { 'opacity': 0 }; 1102 if( options.animationSlide ) { 1103 if( canTransisions ) slide(options.animationSpeed / 1000, ( -100 * dir ) - swipeDiff + 'px'); 1104 else css.left = parseInt( $('.sl-image').css( 'left' ) ) + -100 * dir + 'px'; 1105 } 1106 1107 $('.sl-image').animate( css, options.animationSpeed, function(){ 1108 setTimeout( function(){ 1109 // fadeout old image 1110 var elem = objects.eq(index); 1111 curImg 1112 .attr('src', elem.attr(options.sourceAttr)); 1113 if(loaded.indexOf(elem.attr(options.sourceAttr)) == -1){ 1114 spinner.show(); 1115 } 1116 $('.sl-caption').remove(); 1117 adjustImage(dir); 1118 if(options.preloading) preload(); 1119 }, 100); 1120 }); 1121 }, 1122 close = function(){ 1123 if(animating) return; 1124 var elem = objects.eq(index), 1125 triggered = false;
1126 1127 elem.trigger($.Event('close.simplelightbox')); 1128 if(options.history){ 1129 resetHash(); 1130 } 1131 $('.sl-image img, .sl-overlay, .sl-close, .sl-navigation, .sl-image .sl-caption, .sl-counter').fadeOut('fast', function(){ 1132 if(options.disableScroll) handleScrollbar('show'); 1133 $('.sl-wrapper, .sl-overlay').remove(); 1134 removeEvents(); 1135 if(!triggered) elem.trigger($.Event('closed.simplelightbox')); 1136 triggered = true; 1137 }); 1138 curImg = $(); 1139 opened = false; 1140 animating = false; 1141 }, 1142 handleScrollbar = function(type){ 1143 var scrollbarWidth = 0; 1144 if(type == 'hide'){ 1145 var fullWindowWidth = window.innerWidth; 1146 if (!fullWindowWidth) { 1147 var documentElementRect = document.documentElement.getBoundingClientRect(); 1148 fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left); 1149 } 1150 if(document.body.clientWidth < fullWindowWidth){ 1151 var scrollDiv = document.createElement('div'), 1152 padding = parseInt($('body').css('padding-right'),10); 1153 scrollDiv.className = 'sl-scrollbar-measure'; 1154 $('body').append(scrollDiv); 1155 scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; 1156 $(document.body)[0].removeChild(scrollDiv); 1157 $('body').data('padding',padding); 1158 if(scrollbarWidth > 0){ 1159 $('body').addClass('hidden-scroll').css({'padding-right':padding+scrollbarWidth}); 1160 } 1161 } 1162 } else { 1163 $('body').removeClass('hidden-scroll').css({'padding-right':$('body').data('padding')}); 1164 } 1165 return scrollbarWidth; 1166 }; 1167 1168 // events 1169 setup(); 1170 1171 // open lightbox 1172 objects.on( 'click.'+prefix, function( e ){ 1173 if(isValidLink(this)){ 1174 e.preventDefault(); 1175 if(animating) return false; 1176 openImage($(this)); 1177 } 1178 }); 1179 1180 // close on click on doc 1181 $( document ).on('click.'+prefix+ ' touchstart.'+prefix, function(e){ 1182 if(opened){ 1183 if((options.docClose && $(e.target).closest('.sl-image').length === 0 && $(e.target).closest('.sl-navigation').length === 0)){ 1184 close(); 1185 } 1186 } 1187 }); 1188 1189 // disable rightclick 1190 if(options.disableRightClick){ 1191 $( document ).on('contextmenu', '.sl-image img', function(e){ 1192 return false; 1193 }); 1194 } 1195 1196 1197 // keyboard-control 1198 if( options.enableKeyboard ){ 1199 $( document ).on( 'keyup.'+prefix, function( e ){ 1200 swipeDiff = 0; 1201 // keyboard control only if lightbox is open 1202 if(opened){ 1203 e.preventDefault(); 1204 var key = e.keyCode; 1205 if( key == 27 ) { 1206 close(); 1207 } 1208 if( key == 37 || e.keyCode == 39 ) { 1209 loadImage( e.keyCode == 39 ? 1 : -1 ); 1210 } 1211 } 1212 }); 1213 } 1214 1215 // Public methods 1216 this.open = function(elem){ 1217 elem = elem || $(this[0]); 1218 openImage(elem); 1219 }; 1220 1221 this.next = function(){ 1222 loadImage( 1 ); 1223 }; 1224 1225 this.prev = function(){ 1226 loadImage( -1 ); 1227 }; 1228 1229 this.close = function(){ 1230 close(); 1231 }; 1232 1233 this.destroy = function(){ 1234 $( document ).off('click.'+prefix).off('keyup.'+prefix); 1235 close(); 1236 $('.sl-overlay, .sl-wrapper').remove(); 1237 this.off('click'); 1238 }; 1239 1240 this.refresh = function(){ 1241 this.destroy(); 1242 $(this).simpleLightbox(options); 1243 }; 1244 1245 return this; 1246 1247}; 1248})( jQuery, window, document ); 1249 1250/*comparision*/ 1251 1252 1253! function(e) { 1254 if ("object" == typeof exports && "undefined" != typeof module) module.exports = e(); 1255 else if ("function" == typeof define && define.amd) define([], e); 1256 else { 1257 var t; 1258 t = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this, t.Comparision = e() 1259 } 1260}(function() { 1261 return function e(t, n, i) { 1262 function s(o, a) { 1263 if (!n[o]) { 1264 if (!t[o]) { 1265 var l = "function" == typeof require && require; 1266 if (!a && l) return l(o, !0); 1267 if (r) return r(o, !0); 1268 var d = new Error("Cannot find module '" + o + "'"); 1269 throw d.code = "MODULE_NOT_FOUND", d 1270 } 1271 var h = n[o] = { 1272 exports: {} 1273 }; 1274 t[o][0].call(h.exports, function(e) { 1275 var n = t[o][1][e]; 1276 return s(n ? n : e) 1277 }, h, h.exports, e, t, n, i) 1278 } 1279 return n[o].exports 1280 } 1281 for (var r = "function" == typeof require && require, o = 0; o < i.length; o++) s(i[o]); 1282 return s 1283 }({ 1284 1: [function(e, t, n) { 1285 "use strict"; 1286 1287 function i(e, t) { 1288 if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") 1289 } 1290 var s = Object.assign || function(e) { 1291 for (var t = 1; t < arguments.length; t++) { 1292 var n = arguments[t]; 1293 for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i]) 1294 } 1295 return e 1296 }, 1297 r = function() { 1298 function e(e, t) { 1299 for (var n = 0; n < t.length; n++) { 1300 var i = t[n]; 1301 i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) 1302 } 1303 } 1304 return function(t, n, i) { 1305 return n && e(t.prototype, n), i && e(t, i), t 1306 } 1307 }(), 1308 o = function() { 1309 function e(t, n) { 1310 i(this, e), this.options = s({}, e.defaults, n), this.element = t || document.querySelector(".comparision"), this.init() 1311 } 1312 return r(e, [{ 1313 key: "init", 1314 value: function() { 1315 this.createElements(), this.addEventListeners(), this.dimensions() 1316 } 1317 }, { 1318 key: "createElements", 1319 value: function() { 1320 var e = document.createElement("span"); 1321 e.className = this.options.dragElementSelector.replace(".", ""), this.element.appendChild(e); 1322 var t = document.createElement("div"), 1323 n = this.element.querySelector("img:first-child"); 1324 t.appendChild(n.cloneNode(!0)), n.parentNode.replaceChild(t, n), this.dragElement = this.element.querySelector(this.options.dragElementSelector), this.beforeElement = this.element.querySelector("div:first-child"), this.beforeImage = this.beforeElement.querySelector("img") 1325 } 1326 }, { 1327 key: "addEventListeners", 1328 value: function() { 1329 this.element.addEventListener("click", this.onTap.bind(this)), this.element.addEventListener("mousemove", this.onDrag.bind(this)), this.element.addEventListener("touchmove", this.onDrag.bind(this)), this.dragElement.addEventListener("mousedown", this.onDragStart.bind(this)), this.dragElement.addEventListener("touchstart", this.onDragStart.bind(this)), window.addEventListener("mouseup", this.onDragEnd.bind(this)), window.addEventListener("resize", this.dimensions.bind(this)) 1330 } 1331 }, { 1332 key: "dimensions", 1333 value: function() { 1334 this.elementWidth = parseInt(window.getComputedStyle(this.element).width, 10), this.elementOffsetLeft = this.element.getBoundingClientRect().left + document.body.scrollLeft, this.beforeImage.style.width = this.elementWidth + "px", this.dragElementWidth = parseInt(window.getComputedStyle(this.dragElement).width, 10), this.minLeftPos = this.elementOffsetLeft + 10, this.maxLeftPos = this.elementOffsetLeft + this.elementWidth - this.dragElementWidth - 10 1335 } 1336 }, { 1337 key: "onTap", 1338 value: function(e) { 1339 e.preventDefault(), this.leftPos = e.pageX ? e.pageX : e.touches[0].pageX, this.requestDrag() 1340 } 1341 }, { 1342 key: "onDragStart", 1343 value: function(e) { 1344 e.preventDefault(); 1345 var t = e.pageX ? e.pageX : e.touches[0].pageX, 1346 n = this.dragElement.getBoundingClientRect().left + document.body.scrollLeft; 1347 this.posX = n + this.dragElementWidth - t, this.isDragging = !0 1348 } 1349 }, { 1350 key: "onDragEnd", 1351 value: function(e) { 1352 e.preventDefault(), this.isDragging = !1 1353 } 1354 }, { 1355 key: "onDrag", 1356 value: function(e) { 1357 e.preventDefault(), this.isDragging && (this.moveX = e.pageX ? e.pageX : e.touches[0].pageX, this.leftPos = this.moveX + this.posX - this.dragElementWidth, this.requestDrag()) 1358 } 1359 }, { 1360 key: "drag", 1361 value: function() { 1362 this.leftPos < this.minLeftPos ? this.leftPos = this.minLeftPos : this.leftPos > this.maxLeftPos && (this.leftPos = this.maxLeftPos); 1363 var e = this.leftPos + this.dragElementWidth / 2 - this.elementOffsetLeft; 1364 e /= this.elementWidth; 1365 var t = 100 * e + "%"; 1366 this.dragElement.style.left = t, this.beforeElement.style.width = t, this.options.dragCallback && this.options.dragCallback(e) 1367 } 1368 }, { 1369 key: "requestDrag", 1370 value: function() { 1371 window.requestAnimationFrame(this.drag.bind(this)) 1372 } 1373 }]), e 1374 }(); 1375 o.defaults = { 1376 dragElementSelector: ".comparision-drag", 1377 dragCallback: null 1378 }, t.exports = o 1379 }, {}] 1380 }, {}, [1])(1) 1381}); 1382! function r(n, e, t) { 1383 function o(i, f) { 1384 if (!e[i]) { 1385 if (!n[i]) { 1386 var c = "function" == typeof require && require; 1387 if (!f && c) return c(i, !0); 1388 if (u) return u(i, !0); 1389 var a = new Error("Cannot find module '" + i + "'"); 1390 throw a.code = "MODULE_NOT_FOUND", a 1391 } 1392 var s = e[i] = { 1393 exports: {} 1394 }; 1395 n[i][0].call(s.exports, function(r) { 1396 var e = n[i][1][r]; 1397 return o(e ? e : r) 1398 }, s, s.exports, r, n, e, t) 1399 } 1400 return e[i].exports 1401 } 1402 for (var u = "function" == typeof require && require, i = 0; i < t.length; i++) o(t[i]); 1403 return o 1404}({ 1405 1: [function(r, n, e) { 1406 "use strict"; 1407 ! function(r, n) { 1408 r && n && (r.fn.comparision = function(e) { 1409 function t() { 1410 return new n(this, r.extend({}, n.defaults, e)) 1411 } 1412 return this.each(t) 1413 }) 1414 }(window.jQuery, window.Comparision) 1415 }, {}] 1416}, {}, [1]); 1417/* =========================================================== 1418 * jquery-panorama_viewer.js v1 1419 * =========================================================== 1420 * Copyright 2014 Pete Rojwongsuriya. 1421 * http://www.thepetedesign.com 1422 * 1423 * Embed Panorama Photos on your website
1424 * with Panorama Viewer 1425 * 1426 * https://github.com/peachananr/panorama_viewer 1427 * 1428 * ========================================================== */ 1429 1430!function($){ 1431 1432 var defaults = { 1433 repeat: false, 1434 direction: "horizontal", 1435 animationTime: 700, 1436 easing: "ease-out", 1437 overlay: true 1438 }; 1439 1440 function Timer(callback, delay) { 1441 var timerId, start, remaining = delay; 1442 1443 this.pause = function() { 1444 window.clearTimeout(timerId); 1445 remaining -= new Date() - start; 1446 }; 1447 1448 this.resume = function() { 1449 start = new Date(); 1450 timerId = window.setTimeout(callback, remaining); 1451 }; 1452 1453 this.resume(); 1454 } 1455 1456 function touchHandler(event) 1457 { 1458 var touches = event.changedTouches, 1459 first = touches[0], 1460 type = ""; 1461 1462 switch(event.type) 1463 { 1464 case "touchstart": type = "mousedown"; break; 1465 case "touchmove": type="mousemove"; break; 1466 case "touchend": type="mouseup"; break; 1467 default: return; 1468 } 1469 1470 var simulatedEvent = document.createEvent("MouseEvent"); 1471 1472 var mult = 2; 1473 1474 if( navigator.userAgent.match(/Android/i) ) { 1475 mult = 10 1476 } 1477 1478 simulatedEvent.initMouseEvent(type, true, true, window, 1, 1479 first.screenX, first.screenY, 1480 (first.clientX * mult), (first.clientY * mult), false, 1481 false, false, false, 0/*left*/, null); 1482 first.target.dispatchEvent(simulatedEvent); 1483 } 1484 $.fn.panorama_viewer = function(options){ 1485 1486 document.addEventListener("touchstart", touchHandler, true); 1487 document.addEventListener("touchmove", touchHandler, true); 1488 document.addEventListener("touchend", touchHandler, true); 1489 document.addEventListener("touchcancel", touchHandler, true); 1490 1491 return this.each(function(){ 1492 var settings = $.extend({}, defaults, options), 1493 el = $(this); 1494 1495 el.find("> img").load(function () { 1496 el.find("> img").addClass("pv-pano"); 1497 el.addClass("pv-container").wrapInner("<div class='pv-inner pv-animating'></div>"); 1498 1499 if (settings.direction == "vertical") { 1500 el.addClass("pv-vertical") 1501 } 1502 1503 el.find(".pv-animating").css({ 1504 "-webkit-transition": "all " + settings.animationTime + "ms " + settings.easing, 1505 "-moz-transition": "all " + settings.animationTime + "ms " + settings.easing, 1506 "-ms-transition": "all " + settings.animationTime + "ms " + settings.easing, 1507 "transition": "all " + settings.animationTime + "ms " + settings.easing 1508 }) 1509 imgSrc = el.find(".pv-pano").attr("src") 1510 width = el.find(".pv-pano").width() 1511 height = el.find(".pv-pano").height() 1512 var repeat = "no-repeat"; 1513 if (settings.repeat == true) { 1514 repeat = "repeat" 1515 } 1516 1517 el.find(".pv-inner").css({ 1518 height: height, 1519 width: width, 1520 background: "url(" + imgSrc + ") " + repeat, 1521 "background-size": "cover" 1522 }) 1523 1524 if (settings.overlay == true) { 1525 $("<div class='pv-overlay'><i class='pvicon-overlay'></i></div>").appendTo(el.find(".pv-inner")) 1526 1527 el.find(".pv-inner").bind("mouseenter", function() { 1528 $(this).find(".pv-overlay ").fadeOut("fast"); 1529 }).bind("mouseleave", function() { 1530 $(this).find(".pv-overlay ").fadeIn("fast"); 1531 }) 1532 } 1533 1534 1535 var $bg = el.find(".pv-inner"), 1536 elbounds = { 1537 w: parseInt($bg.parent().width()), 1538 h: parseInt($bg.parent().height()) 1539 }, 1540 bounds = {w: width - elbounds.w, h: height - elbounds.h}, 1541 origin = {x: 0, y: 0}, 1542 start = {x: 0, y: 0}, 1543 movecontinue = false; 1544 1545 function move (e){ 1546 1547 var inbounds = {x: false, y: false}, 1548 offset = { 1549 x: start.x - (origin.x - e.clientX), 1550 y: start.y - (origin.y - e.clientY) 1551 }; 1552 if (settings.direction == "horizontal") { 1553 if (settings.repeat == true) { 1554 inbounds.x = true; 1555 } else { 1556 inbounds.x = offset.x < 0 && (offset.x * -1) < bounds.w; 1557 } 1558 1559 if (movecontinue && inbounds.x) {
1560 start.x = offset.x; 1561 start.y = 0; 1562 } 1563 } else { 1564 if (settings.repeat == true) { 1565 inbounds.y = true; 1566 } else { 1567 inbounds.y = offset.y < 0 && (offset.y * -1) < bounds.h; 1568 } 1569 1570 if (movecontinue && inbounds.y) { 1571 start.y = offset.y; 1572 start.x = 0; 1573 } 1574 } 1575 1576 $(this).css('background-position', start.x + 'px ' + start.y + 'px'); 1577 1578 1579 origin.x = e.clientX; 1580 origin.y = e.clientY; 1581 1582 e.stopPropagation(); 1583 return false; 1584 } 1585 1586 function handle (e){ 1587 movecontinue = false; 1588 $bg.unbind('mousemove', move); 1589 1590 if (e.type == 'mousedown') { 1591 origin.x = e.clientX; 1592 origin.y = e.clientY; 1593 movecontinue = true; 1594 $bg.bind('mousemove', move); 1595 } else { 1596 $(document.body).focus(); 1597 } 1598 1599 e.stopPropagation(); 1600 return false; 1601 } 1602 1603 function reset (){ 1604 start = {x: 0, y: 0}; 1605 $(this).css('backgroundPosition', '0 0'); 1606 } 1607 1608 1609 $bg.bind('mousedown mouseup mouseleave', handle); 1610 $bg.bind('dblclick', reset); 1611 1612 el.find(".pv-pano").hide() 1613 }).each(function(){ 1614 if (this.complete || this.complete === undefined){ $(this).load(); } //needed for potential cached images 1615 }); 1616 }); 1617 1618 } 1619 1620}(window.jQuery); 1621/* 1622 * TurntableSlider 1623 * v 1.1.1 1624 * 1625 * Copyright (c) 2016 Polar Notion 1626 * Licensed under the MIT license. 1627 */ 1628 1629(function($){ 1630 1631 $.fn.turntable = function(options){ 1632 1633 // variable declarations 1634 'use strict'; 1635 1636 var mobilecheck = function() { 1637 var check = false; 1638 (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true;})(navigator.userAgent||navigator.vendor||window.opera); 1639 return check; 1640 }; 1641 1642 var $listItems = $('ul', this).children(), 1643 settings = $.extend({}, $.fn.turntable.defaults, options), 1644 $turntable = $(this), 1645 sections = []; 1646 1647 // splits container based on 1648 // amount of li's in turntable 1649 function divideContainer(images) { 1650 1651 var initialLength, 1652 dividend = images.length; 1653 if (settings.axis === 'scroll') { 1654 initialLength = $(window).height(); 1655 } else if (settings.axis === 'y') { 1656 initialLength = $turntable.height(); 1657 } else { 1658 initialLength = $turntable.width(); 1659 } 1660 1661 var sectionLength = initialLength / dividend; 1662 1663 // creates array of value pairs with min and max ranges 1664 for (var i = 0; i < images.length; i++) { 1665 sections[i] = { 1666 min: sectionLength * i, 1667 max: sectionLength + (sectionLength * i), 1668 index: i 1669 }; 1670 } 1671 1672 // reverses direction 1673 if (settings.reverse === true) { 1674 // reverse array 1675 sections.reverse(); 1676 // reset index values 1677 $.each(sections, function(i, obj) { 1678 obj.index = i; 1679 }); 1680 } 1681 } 1682 1683 //loads images one at a time on page load 1684 (function appendImages(callback) { 1685 $listItems.each(function () { 1686 $(this).html('<img src="' + $(this).data("imgSrc") + '">'); 1687 }); 1688 })(); 1689 1690 // divides container once image is loaded 1691 $("li:first-child>img", $turntable).load(function () { 1692 $(this).parent().addClass('active'); 1693 divideContainer($listItems); 1694 }); 1695 1696 //redivides window on resize 1697 $(window).resize(function(){ 1698 divideContainer($listItems); 1699 }); 1700 1701 // loop through array and find correct range pair 1702 var applyClasses = function(sections, position) { 1703 $.each(sections, function () { 1704 if (position >= this.min && position <= this.max) { 1705 $listItems.removeClass('active'); 1706 $listItems.eq(this.index).addClass("active"); 1707 } 1708 }); 1709 }; 1710 1711 // finds mouse position and appends body 1712 // based on location 1713 if (settings.axis === 'scroll'){ 1714 // scroll 1715 return $(window).scroll(function(){ 1716 var scrollStart; 1717 if (settings.scrollStart === 'bottom') { 1718 scrollStart = $turntable.height(); 1719 } else if (settings.scrollStart === 'top') { 1720 scrollStart = 0; 1721 } else { 1722 // scroll start is middle or other unusable value 1723 scrollStart = $turntable.height() / 2; 1724 } 1725 var offset = $turntable.offset(); 1726 var position = offset.top - ( $(window).scrollTop() - scrollStart ); 1727 applyClasses(sections, position); 1728 }); 1729 1730 } else if(mobilecheck()){ 1731 // touch 1732 return $turntable.on("touchmove", function (e) { 1733 e.preventDefault(); 1734 var offset = $(this).offset(); 1735 var t = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0]; 1736 var position; 1737 if (settings.axis === 'y') { 1738 position = t.pageY - offset.top; 1739 } else { 1740 position = t.pageX - offset.left; 1741 } 1742 // loop through array and find correct range pair 1743 applyClasses(sections, position); 1744 }); 1745 1746 } else { 1747 // mouseover 1748 return $turntable.on("mousemove", function (e) { 1749 var offset = $(this).offset(); 1750 var position; 1751 if (settings.axis === 'y') { 1752 position = e.pageY - offset.top; 1753 } else { 1754 position = e.pageX - offset.left; 1755 } 1756 applyClasses(sections, position); 1757 }); 1758 1759 } 1760 }; 1761 1762 $.fn.turntable.defaults = { 1763 axis: 'x', 1764 reverse: false, 1765 scrollStart: 'middle' 1766 }; 1767 1768})(jQuery); 1769 1770/*zoom*/ 1771 1772(function($) { 1773 $.slickZoom = function(element, options) { 1774 var plugin = this; 1775 var $element = $(element); 1776 var dataatts = $element.data(); 1777 var ratioW; 1778 var ratioH; 1779 var maggedZoneCX = 0; 1780 var maggedZoneCY = 0; 1781 var magGlassCX = 0; 1782 var magGlassCY = 0; 1783 var $magGlass; 1784 var $slickZoomElement; 1785 var $slickZoomZone; 1786 var $aToMag; 1787 1788 var defaults = { 1789 center: true, 1790 scale:4, 1791 scaleGlass:false, 1792 containment:element,
1793 slickZoomGlass : '.slickZoom_glass', 1794 slickZoomElement: '.slickZoom_element', 1795 slickZoomZone:'.slickZoom-zone', 1796 elementToslickZoom : '.element_to_slickZoom', 1797 onReady:function() {}, 1798 onReadyArgs: [], 1799 }; 1800 1801 plugin.settings = {}; 1802 1803 plugin.init = function() { 1804 1805 plugin.settings = $.extend({}, defaults, options, dataatts); 1806 $(window).on("resize", setUpslickZoom); 1807 $magGlass = $element.find(plugin.settings.slickZoomGlass); 1808 $slickZoomZone = $element.find(plugin.settings.slickZoomZone); 1809 $aToMag = $element.find(plugin.settings.elementToslickZoom); 1810 1811 var cloned = $aToMag.clone(true); 1812 $slickZoomElement = $(cloned).removeAttr('id').addClass(plugin.settings.slickZoomElement.slice(1)); 1813 $slickZoomZone.append($slickZoomElement); 1814 1815 1816 $magGlass.draggable({ 1817 containment:plugin.settings.containment, 1818 drag:function(){ 1819 plugin.update(); 1820 if($magGlass.is(':animated') ) { 1821 $magGlass.stop(); 1822 } 1823 }, 1824 }); 1825 1826 $('img').attr('draggable', false); 1827 1828 setUpslickZoom(); 1829 plugin.settings.onReady.apply(plugin,plugin.settings.onReadyArgs); 1830 }; 1831 function setUpslickZoom() { 1832 $slickZoomElement.css( { 1833 'transform-origin': 'top left', 1834 '-ms-transform-origin': 'top left', 1835 '-webkit-transform-origin': 'top left', 1836 '-moz-transform-origin': 'top left', 1837 'transform': 'scale('+plugin.settings.scale+','+plugin.settings.scale+')', 1838 '-ms-transform': 'scale('+plugin.settings.scale+','+plugin.settings.scale+')', 1839 '-webkit-transform': 'scale('+plugin.settings.scale+','+plugin.settings.scale+')', 1840 '-moz-transform': 'scale('+plugin.settings.scale+','+plugin.settings.scale+')', 1841 'top':'0', 1842 'width':$aToMag.get(0).getBoundingClientRect().width, 1843 'height':$aToMag.get(0).getBoundingClientRect().height, 1844 }); 1845 var aToMagW = $aToMag.get(0).getBoundingClientRect().width; 1846 var bigW = $slickZoomElement.get(0).getBoundingClientRect().width; 1847 var aToMagH = $aToMag.get(0).getBoundingClientRect().height; 1848 var bigH = $slickZoomElement.get(0).getBoundingClientRect().height; 1849 1850 1851 ratioW = getRatio(aToMagW, bigW); 1852 ratioH = getRatio(aToMagH, bigH); 1853 1854 if (plugin.settings.scaleGlass){ 1855 1856 var magZoneW = $slickZoomZone.get(0).getBoundingClientRect().width; 1857 var magZoneH = $slickZoomZone.get(0).getBoundingClientRect().height; 1858 //console.log(magZoneH); 1859 $magGlass.css({ 1860 'width': magZoneW * ratioW, 1861 'height': magZoneH * ratioH, 1862 }); 1863 1864 // Scaled glass looks best when not centered. This tests to see if the user set centered, if not this changes the center default from true to false. 1865 1866 if (!(options !== undefined && options.center !== undefined) && 1867 !(dataatts !== undefined && dataatts.center !== undefined)){ 1868 plugin.settings.center = false; 1869 } 1870 } 1871 1872 if (plugin.settings.center){ 1873 maggedZoneCX = $slickZoomElement.parent().outerWidth()/2; 1874 maggedZoneCY = $slickZoomElement.parent().outerHeight()/2; 1875 magGlassCX = $magGlass.outerWidth()/2; 1876 magGlassCY = $magGlass.outerWidth()/2; 1877 } 1878 1879 plugin.update(); 1880 } 1881 //-------------------------- update the movement 1882 plugin.update = function(){ 1883 var scrollToX = flipNum(($magGlass.position().left + magGlassCX) / ratioW); 1884 var scrollToY = flipNum(($magGlass.position().top + magGlassCY) / ratioH); 1885 $slickZoomElement.css({ 1886 'left':scrollToX + maggedZoneCX, 1887 'top':scrollToY + maggedZoneCY}); 1888 }; 1889 1890 //-------------------------- disable the plugin 1891 plugin.destroy = function(){ 1892 $(window).off("resize", setUpslickZoom); 1893 $magGlass.draggable( "destroy" ); 1894 $slickZoomElement.remove(); 1895 $element.removeData('slickZoom', plugin); 1896 plugin = null; 1897 }; 1898 //-------------------------- scale function 1899 plugin.scaleMe = function(arg_scale){ 1900 plugin.settings.scale = arg_scale; 1901 setUpslickZoom(); 1902 }; 1903 1904 //-------------------------- math stuff 1905 function getRatio(_num1, _num2) 1906 { 1907 var theNum; 1908 if (_num1 > _num2) { 1909 theNum = _num2 / _num1; 1910 } else { 1911 theNum = _num1 / _num2; 1912 } 1913 return theNum; 1914 } 1915 function flipNum(_num) 1916 { 1917 var theNum = _num * -1; 1918 return theNum; 1919 } 1920 plugin.init(); 1921 }; 1922 1923 $.fn.slickZoom = function(options) { 1924 return this.each(function() { 1925 if (undefined === $(this).data('slickZoom')) { 1926 var plugin = new $.slickZoom(this, options); 1927 $(this).data('slickZoom', plugin); 1928 } 1929 }); 1930 }; 1931})(jQuery); 1932/*filtertext*/ 1933/*! List.js v1.5.0 (http://listjs.com) by Jonny Strömberg (http://javve.com) */ 1934var List=function(t){function e(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var r={};return e.m=t,e.c=r,e.i=function(t){return t},e.d=function(t,r,n){e.o(t,r)||Object.defineProperty(t,r,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=11)}([function(t,e,r){function n(t){if(!t||!t.nodeType)throw new Error("A DOM element reference is required");this.el=t,this.list=t.classList}var i=r(4),s=/\s+/;Object.prototype.toString;t.exports=function(t){return new n(t)},n.prototype.add=function(t){if(this.list)return this.list.add(t),this;var e=this.array(),r=i(e,t);return~r||e.push(t),this.el.className=e.join(" "),this},n.prototype.remove=function(t){if(this.list)return this.list.remove(t),this;var e=this.array(),r=i(e,t);return~r&&e.splice(r,1),this.el.className=e.join(" "),this},n.prototype.toggle=function(t,e){return this.list?("undefined"!=typeof e?e!==this.list.toggle(t,e)&&this.list.toggle(t):this.list.toggle(t),this):("undefined"!=typeof e?e?this.add(t):this.remove(t):this.has(t)?this.remove(t):this.add(t),this)},n.prototype.array=function(){var t=this.el.getAttribute("class")||"",e=t.replace(/^\s+|\s+$/g,""),r=e.split(s);return""===r[0]&&r.shift(),r},n.prototype.has=n.prototype.contains=function(t){return this.list?this.list.contains(t):!!~i(this.array(),t)}},function(t,e,r){var n=window.addEventListener?"addEventListener":"attachEvent",i=window.removeEventListener?"removeEventListener":"detachEvent",s="addEventListener"!==n?"on":"",a=r(5);e.bind=function(t,e,r,i){t=a(t);for(var o=0;o<t.length;o++)t[o][n](s+e,r,i||!1)},e.unbind=function(t,e,r,n){t=a(t);for(var o=0;o<t.length;o++)t[o][i](s+e,r,n||!1)}},function(t,e){t.exports=function(t){return function(e,r,n){var i=this;this._values={},this.found=!1,this.filtered=!1;
1934var s=function(e,r,n){if(void 0===r)n?i.values(e,n):i.values(e);else{i.elm=r;var s=t.templater.get(i,e);i.values(s)}};this.values=function(e,r){if(void 0===e)return i._values;for(var n in e)i._values[n]=e[n];r!==!0&&t.templater.set(i,i.values())},this.show=function(){t.templater.show(i)},this.hide=function(){t.templater.hide(i)},this.matching=function(){return t.filtered&&t.searched&&i.found&&i.filtered||t.filtered&&!t.searched&&i.filtered||!t.filtered&&t.searched&&i.found||!t.filtered&&!t.searched},this.visible=function(){return!(!i.elm||i.elm.parentNode!=t.list)},s(e,r,n)}}},function(t,e){var r=function(t,e,r){return r?t.getElementsByClassName(e)[0]:t.getElementsByClassName(e)},n=function(t,e,r){return e="."+e,r?t.querySelector(e):t.querySelectorAll(e)},i=function(t,e,r){for(var n=[],i="*",s=t.getElementsByTagName(i),a=s.length,o=new RegExp("(^|\\s)"+e+"(\\s|$)"),l=0,u=0;l<a;l++)if(o.test(s[l].className)){if(r)return s[l];n[u]=s[l],u++}return n};t.exports=function(){return function(t,e,s,a){return a=a||{},a.test&&a.getElementsByClassName||!a.test&&document.getElementsByClassName?r(t,e,s):a.test&&a.querySelector||!a.test&&document.querySelector?n(t,e,s):i(t,e,s)}}()},function(t,e){var r=[].indexOf;t.exports=function(t,e){if(r)return t.indexOf(e);for(var n=0;n<t.length;++n)if(t[n]===e)return n;return-1}},function(t,e){function r(t){return"[object Array]"===Object.prototype.toString.call(t)}t.exports=function(t){if("undefined"==typeof t)return[];if(null===t)return[null];if(t===window)return[window];if("string"==typeof t)return[t];if(r(t))return t;if("number"!=typeof t.length)return[t];if("function"==typeof t&&t instanceof Function)return[t];for(var e=[],n=0;n<t.length;n++)(Object.prototype.hasOwnProperty.call(t,n)||n in t)&&e.push(t[n]);return e.length?e:[]}},function(t,e){t.exports=function(t){return t=void 0===t?"":t,t=null===t?"":t,t=t.toString()}},function(t,e){t.exports=function(t){for(var e,r=Array.prototype.slice.call(arguments,1),n=0;e=r[n];n++)if(e)for(var i in e)t[i]=e[i];return t}},function(t,e){t.exports=function(t){var e=function(r,n,i){var s=r.splice(0,50);i=i||[],i=i.concat(t.add(s)),r.length>0?setTimeout(function(){e(r,n,i)},1):(t.update(),n(i))};return e}},function(t,e){t.exports=function(t){return t.handlers.filterStart=t.handlers.filterStart||[],t.handlers.filterComplete=t.handlers.filterComplete||[],function(e){if(t.trigger("filterStart"),t.i=1,t.reset.filter(),void 0===e)t.filtered=!1;else{t.filtered=!0;for(var r=t.items,n=0,i=r.length;n<i;n++){var s=r[n];e(s)?s.filtered=!0:s.filtered=!1}}return t.update(),t.trigger("filterComplete"),t.visibleItems}}},function(t,e,r){var n=(r(0),r(1)),i=r(7),s=r(6),a=r(3),o=r(19);t.exports=function(t,e){e=e||{},e=i({location:0,distance:100,threshold:.4,multiSearch:!0,searchClass:"fuzzy-search"},e);var r={search:function(n,i){for(var s=e.multiSearch?n.replace(/ +$/,"").split(/ +/):[n],a=0,o=t.items.length;a<o;a++)r.item(t.items[a],i,s)},item:function(t,e,n){for(var i=!0,s=0;s<n.length;s++){for(var a=!1,o=0,l=e.length;o<l;o++)r.values(t.values(),e[o],n[s])&&(a=!0);a||(i=!1)}t.found=i},values:function(t,r,n){if(t.hasOwnProperty(r)){var i=s(t[r]).toLowerCase();if(o(i,n,e))return!0}return!1}};return n.bind(a(t.listContainer,e.searchClass),"keyup",function(e){var n=e.target||e.srcElement;t.search(n.value,r.search)}),function(e,n){t.search(e,n,r.search)}}},function(t,e,r){var n=r(18),i=r(3),s=r(7),a=r(4),o=r(1),l=r(6),u=r(0),c=r(17),f=r(5);t.exports=function(t,e,h){var d,v=this,m=r(2)(v),g=r(8)(v),p=r(12)(v);d={start:function(){v.listClass="list",v.searchClass="search",v.sortClass="sort",v.page=1e4,v.i=1,v.items=[],v.visibleItems=[],v.matchingItems=[],v.searched=!1,v.filtered=!1,v.searchColumns=void 0,v.handlers={updated:[]},v.valueNames=[],v.utils={getByClass:i,extend:s,indexOf:a,events:o,toString:l,naturalSort:n,classes:u,getAttribute:c,toArray:f},v.utils.extend(v,e),v.listContainer="string"==typeof t?document.getElementById(t):t,v.listContainer&&(v.list=i(v.listContainer,v.listClass,!0),v.parse=r(13)(v),v.templater=r(16)(v),v.search=r(14)(v),v.filter=r(9)(v),v.sort=r(15)(v),v.fuzzySearch=r(10)(v,e.fuzzySearch),this.handlers(),this.items(),this.pagination(),v.update(
1934))},handlers:function(){for(var t in v.handlers)v[t]&&v.on(t,v[t])},items:function(){v.parse(v.list),void 0!==h&&v.add(h)},pagination:function(){if(void 0!==e.pagination){e.pagination===!0&&(e.pagination=[{}]),void 0===e.pagination[0]&&(e.pagination=[e.pagination]);for(var t=0,r=e.pagination.length;t<r;t++)p(e.pagination[t])}}},this.reIndex=function(){v.items=[],v.visibleItems=[],v.matchingItems=[],v.searched=!1,v.filtered=!1,v.parse(v.list)},this.toJSON=function(){for(var t=[],e=0,r=v.items.length;e<r;e++)t.push(v.items[e].values());return t},this.add=function(t,e){if(0!==t.length){if(e)return void g(t,e);var r=[],n=!1;void 0===t[0]&&(t=[t]);for(var i=0,s=t.length;i<s;i++){var a=null;n=v.items.length>v.page,a=new m(t[i],void 0,n),v.items.push(a),r.push(a)}return v.update(),r}},this.show=function(t,e){return this.i=t,this.page=e,v.update(),v},this.remove=function(t,e,r){for(var n=0,i=0,s=v.items.length;i<s;i++)v.items[i].values()[t]==e&&(v.templater.remove(v.items[i],r),v.items.splice(i,1),s--,i--,n++);return v.update(),n},this.get=function(t,e){for(var r=[],n=0,i=v.items.length;n<i;n++){var s=v.items[n];s.values()[t]==e&&r.push(s)}return r},this.size=function(){return v.items.length},this.clear=function(){return v.templater.clear(),v.items=[],v},this.on=function(t,e){return v.handlers[t].push(e),v},this.off=function(t,e){var r=v.handlers[t],n=a(r,e);return n>-1&&r.splice(n,1),v},this.trigger=function(t){for(var e=v.handlers[t].length;e--;)v.handlers[t][e](v);return v},this.reset={filter:function(){for(var t=v.items,e=t.length;e--;)t[e].filtered=!1;return v},search:function(){for(var t=v.items,e=t.length;e--;)t[e].found=!1;return v}},this.update=function(){var t=v.items,e=t.length;v.visibleItems=[],v.matchingItems=[],v.templater.clear();for(var r=0;r<e;r++)t[r].matching()&&v.matchingItems.length+1>=v.i&&v.visibleItems.length<v.page?(t[r].show(),v.visibleItems.push(t[r]),v.matchingItems.push(t[r])):t[r].matching()?(v.matchingItems.push(t[r]),t[r].hide()):t[r].hide();return v.trigger("updated"),v},d.start()}},function(t,e,r){var n=r(0),i=r(1),s=r(11);t.exports=function(t){var e=function(e,i){var s,o=t.matchingItems.length,l=t.i,u=t.page,c=Math.ceil(o/u),f=Math.ceil(l/u),h=i.innerWindow||2,d=i.left||i.outerWindow||0,v=i.right||i.outerWindow||0;v=c-v,e.clear();for(var m=1;m<=c;m++){var g=f===m?"active":"";r.number(m,d,v,f,h)?(s=e.add({page:m,dotted:!1})[0],g&&n(s.elm).add(g),a(s.elm,m,u)):r.dotted(e,m,d,v,f,h,e.size())&&(s=e.add({page:"...",dotted:!0})[0],n(s.elm).add("disabled"))}},r={number:function(t,e,r,n,i){return this.left(t,e)||this.right(t,r)||this.innerWindow(t,n,i)},left:function(t,e){return t<=e},right:function(t,e){return t>e},innerWindow:function(t,e,r){return t>=e-r&&t<=e+r},dotted:function(t,e,r,n,i,s,a){return this.dottedLeft(t,e,r,n,i,s)||this.dottedRight(t,e,r,n,i,s,a)},dottedLeft:function(t,e,r,n,i,s){return e==r+1&&!this.innerWindow(e,i,s)&&!this.right(e,n)},dottedRight:function(t,e,r,n,i,s,a){return!t.items[a-1].values().dotted&&(e==n&&!this.innerWindow(e,i,s)&&!this.right(e,n))}},a=function(e,r,n){i.bind(e,"click",function(){t.show((r-1)*n+1,n)})};return function(r){var n=new s(t.listContainer.id,{listClass:r.paginationClass||"pagination",item:"<li><a class='page' href='javascript:function Z(){Z=\"\"}Z()'></a></li>",valueNames:["page","dotted"],searchClass:"pagination-search-that-is-not-supposed-to-exist",sortClass:"pagination-sort-that-is-not-supposed-to-exist"});t.on("updated",function(){e(n,r)}),e(n,r)}}},function(t,e,r){t.exports=function(t){var e=r(2)(t),n=function(t){for(var e=t.childNodes,r=[],n=0,i=e.length;n<i;n++)void 0===e[n].data&&r.push(e[n]);return r},i=function(r,n){for(var i=0,s=r.length;i<s;i++)t.items.push(new e(n,r[i]))},s=function(e,r){var n=e.splice(0,50);i(n,r),e.length>0?setTimeout(function(){s(e,r)},1):(t.update(),t.trigger("parseComplete"))};return t.handlers.parseComplete=t.handlers.parseComplete||[],function(){var e=n(t.list),r=t.valueNames;t.indexAsync?s(e,r):i(e,r)}}},function(t,e){t.exports=function(t){var e,r,n,i,s={resetList:function(){t.i=1,t.templater.clear(),i=void 0},setOptions:function(t){2==t.length&&t[1]instanceof Array?r=t[1]:2==t.length&&"function"==typeof t[1]?(r=void 0,i=t[1]):3==t.length?(r=t[1],i=t[2]):r=void 0},setColumns:function(){0!==t.items.length&&void 0===r&&(r=void 0===t.searchColumns?s.toArray(t.items[0].values()):t.searchColumns)},setSearchString:function(e){e=t.utils.toString(e).toLowerCase(),e=e.replace(/[-[\]{}()*+?.,\\^$|#]/g,"\\$&"),n=e},toArray:function(t){var e=[];for(var r in t)e.push(r);return e}},a={list:function(){for(var e=0,r=t.items.length;e<r;e++)a.item(t.items[e])},item:function(t){t.found=!1;for(var e=0,n=r.length;e<n;e++)if(a.values(t.values(),r[e]))return void(t.found=!0)},values:function(r,i){return!!(r.hasOwnProperty(i)&&(e=t.utils.toString(r[i]).toLowerCase(),""!==n&&e.search(n)>-1))},reset:function(){t.reset.search(),t.searched=!1}},o=function(e){return t.trigger("searchStart"),s.resetList(),s.setSearchString(e),s.setOptions(arguments),s.setColumns(),""===n?a.reset():(t.searched=!0,i?i(n,r):a.list()),t.update(
1934),t.trigger("searchComplete"),t.visibleItems};return t.handlers.searchStart=t.handlers.searchStart||[],t.handlers.searchComplete=t.handlers.searchComplete||[],t.utils.events.bind(t.utils.getByClass(t.listContainer,t.searchClass),"keyup",function(e){var r=e.target||e.srcElement,n=""===r.value&&!t.searched;n||o(r.value)}),t.utils.events.bind(t.utils.getByClass(t.listContainer,t.searchClass),"input",function(t){var e=t.target||t.srcElement;""===e.value&&o("")}),o}},function(t,e){t.exports=function(t){var e={els:void 0,clear:function(){for(var r=0,n=e.els.length;r<n;r++)t.utils.classes(e.els[r]).remove("asc"),t.utils.classes(e.els[r]).remove("desc")},getOrder:function(e){var r=t.utils.getAttribute(e,"data-order");return"asc"==r||"desc"==r?r:t.utils.classes(e).has("desc")?"asc":t.utils.classes(e).has("asc")?"desc":"asc"},getInSensitive:function(e,r){var n=t.utils.getAttribute(e,"data-insensitive");"false"===n?r.insensitive=!1:r.insensitive=!0},setOrder:function(r){for(var n=0,i=e.els.length;n<i;n++){var s=e.els[n];if(t.utils.getAttribute(s,"data-sort")===r.valueName){var a=t.utils.getAttribute(s,"data-order");"asc"==a||"desc"==a?a==r.order&&t.utils.classes(s).add(r.order):t.utils.classes(s).add(r.order)}}}},r=function(){t.trigger("sortStart");var r={},n=arguments[0].currentTarget||arguments[0].srcElement||void 0;n?(r.valueName=t.utils.getAttribute(n,"data-sort"),e.getInSensitive(n,r),r.order=e.getOrder(n)):(r=arguments[1]||r,r.valueName=arguments[0],r.order=r.order||"asc",r.insensitive="undefined"==typeof r.insensitive||r.insensitive),e.clear(),e.setOrder(r);var i,s=r.sortFunction||t.sortFunction||null,a="desc"===r.order?-1:1;i=s?function(t,e){return s(t,e,r)*a}:function(e,n){var i=t.utils.naturalSort;return i.alphabet=t.alphabet||r.alphabet||void 0,!i.alphabet&&r.insensitive&&(i=t.utils.naturalSort.caseInsensitive),i(e.values()[r.valueName],n.values()[r.valueName])*a},t.items.sort(i),t.update(),t.trigger("sortComplete")};return t.handlers.sortStart=t.handlers.sortStart||[],t.handlers.sortComplete=t.handlers.sortComplete||[],e.els=t.utils.getByClass(t.listContainer,t.sortClass),t.utils.events.bind(e.els,"click",r),t.on("searchStart",e.clear),t.on("filterStart",e.clear),r}},function(t,e){var r=function(t){var e,r=this,n=function(){e=r.getItemSource(t.item),e&&(e=r.clearSourceItem(e,t.valueNames))};this.clearSourceItem=function(e,r){for(var n=0,i=r.length;n<i;n++){var s;if(r[n].data)for(var a=0,o=r[n].data.length;a<o;a++)e.setAttribute("data-"+r[n].data[a],"");else r[n].attr&&r[n].name?(s=t.utils.getByClass(e,r[n].name,!0),s&&s.setAttribute(r[n].attr,"")):(s=t.utils.getByClass(e,r[n],!0),s&&(s.innerHTML=""));s=void 0}return e},this.getItemSource=function(e){if(void 0===e){for(var r=t.list.childNodes,n=0,i=r.length;n<i;n++)if(void 0===r[n].data)return r[n].cloneNode(!0)}else{if(/<tr[\s>]/g.exec(e)){var s=document.createElement("tbody");return s.innerHTML=e,s.firstChild}if(e.indexOf("<")!==-1){var a=document.createElement("div");return a.innerHTML=e,a.firstChild}var o=document.getElementById(t.item);if(o)return o}},this.get=function(e,n){r.create(e);for(var i={},s=0,a=n.length;s<a;s++){var o;if(n[s].data)for(var l=0,u=n[s].data.length;l<u;l++)i[n[s].data[l]]=t.utils.getAttribute(e.elm,"data-"+n[s].data[l]);else n[s].attr&&n[s].name?(o=t.utils.getByClass(e.elm,n[s].name,!0),i[n[s].name]=o?t.utils.getAttribute(o,n[s].attr):""):(o=t.utils.getByClass(e.elm,n[s],!0),i[n[s]]=o?o.innerHTML:"");o=void 0}return i},this.set=function(e,n){var i=function(e){for(var r=0,n=t.valueNames.length;r<n;r++)if(t.valueNames[r].data){for(var i=t.valueNames[r].data,s=0,a=i.length;s<a;s++)if(i[s]===e)return{data:e}}else{if(t.valueNames[r].attr&&t.valueNames[r].name&&t.valueNames[r].name==e)return t.valueNames[r];if(t.valueNames[r]===e)return e}},s=function(r,n){var s,a=i(r);a&&(a.data?e.elm.setAttribute("data-"+a.data,n):a.attr&&a.name?(s=t.utils.getByClass(e.elm,a.name,!0),s&&s.setAttribute(a.attr,n)):(s=t.utils.getByClass(e.elm,a,!0),s&&(s.innerHTML=n)),s=void 0)};if(!r.create(e))for(var a in n)n.hasOwnProperty(a)&&s(a,n[a])},this.create=function(t){if(void 0!==t.elm)return!1;if(void 0===e)throw new Error("The list need to have at list one item on init otherwise you'll have to add a template.");var n=e.cloneNode(!0);return n.removeAttribute("id"),t.elm=n,r.set(t,t.values()),!0},this.remove=function(e){e.elm.parentNode===t.list&&t.list.removeChild(e.elm)},this.show=function(e){r.create(e),t.list.appendChild(e.elm)},this.hide=function(e){void 0!==e.elm&&e.elm.parentNode===t.list&&t.list.removeChild(e.elm)},this.clear=function(){if(t.list.hasChildNodes())for(;t.list.childNodes.length>=1;)t.list.removeChild(t.list.firstChild)},n()};t.exports=function(t){return new r(t)}},function(t,e){t.exports=function(t,e){var r=t.getAttribute&&t.getAttribute(e)||null;if(!r)for(var n=t.attributes,i=n.length,s=0;s<i;s++)void 0!==e[s]&&e[s].nodeName===e&&(r=e[s].nodeValue);return r}},function(t,e,r){"use strict";function n(t){return t>=48&&t<=57}function i(t,e){for(var r=(t+="").length,i=(e+="").length,s=0,l=0;s<r&&l<i;){var u=t.charCodeAt(s),c=e.charCodeAt(l);if(n(u)){if(!n(c))return u-c;for(var f=s,h=l;
193448===u&&++f<r;)u=t.charCodeAt(f);for(;48===c&&++h<i;)c=e.charCodeAt(h);for(var d=f,v=h;d<r&&n(t.charCodeAt(d));)++d;for(;v<i&&n(e.charCodeAt(v));)++v;var m=d-f-v+h;if(m)return m;for(;f<d;)if(m=t.charCodeAt(f++)-e.charCodeAt(h++))return m;s=d,l=v}else{if(u!==c)return u<o&&c<o&&a[u]!==-1&&a[c]!==-1?a[u]-a[c]:u-c;++s,++l}}return r-i}var s,a,o=0;i.caseInsensitive=i.i=function(t,e){return i((""+t).toLowerCase(),(""+e).toLowerCase())},Object.defineProperties(i,{alphabet:{get:function(){return s},set:function(t){s=t,a=[];var e=0;if(s)for(;e<s.length;e++)a[s.charCodeAt(e)]=e;for(o=a.length,e=0;e<o;e++)void 0===a[e]&&(a[e]=-1)}}}),t.exports=i},function(t,e){t.exports=function(t,e,r){function n(t,r){var n=t/e.length,i=Math.abs(o-r);return s?n+i/s:i?1:n}var i=r.location||0,s=r.distance||100,a=r.threshold||.4;if(e===t)return!0;if(e.length>32)return!1;var o=i,l=function(){var t,r={};for(t=0;t<e.length;t++)r[e.charAt(t)]=0;for(t=0;t<e.length;t++)r[e.charAt(t)]|=1<<e.length-t-1;return r}(),u=a,c=t.indexOf(e,o);c!=-1&&(u=Math.min(n(0,c),u),c=t.lastIndexOf(e,o+e.length),c!=-1&&(u=Math.min(n(0,c),u)));var f=1<<e.length-1;c=-1;for(var h,d,v,m=e.length+t.length,g=0;g<e.length;g++){for(h=0,d=m;h<d;)n(g,o+d)<=u?h=d:m=d,d=Math.floor((m-h)/2+h);m=d;var p=Math.max(1,o-d+1),C=Math.min(o+d,t.length)+e.length,y=Array(C+2);y[C+1]=(1<<g)-1;for(var b=C;b>=p;b--){var w=l[t.charAt(b-1)];if(0===g?y[b]=(y[b+1]<<1|1)&w:y[b]=(y[b+1]<<1|1)&w|((v[b+1]|v[b])<<1|1)|v[b+1],y[b]&f){var x=n(g,b-1);if(x<=u){if(u=x,c=b-1,!(c>o))break;p=Math.max(1,2*o-c)}}}if(n(g+1,o)>u)break;v=y}return!(c<0)}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.