PageSourceSearch

https://www.katechastey.co.uk/themes/default/js/slick.js?2026100916

js katechastey.co.uk collected 2026-10-09 22:16:18 UTC 65,941 bytes, 806 lines download raw bytes

vendor: 8,083 bytes, line 1
1!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('<button type="button" />').text(t+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},n.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},i.extend(n,n.initials),n.activeBreakpoint=null,n.animType=null,n.animProp=null,n.breakpoints=[],n.breakpointSettings=[],n.cssTransitions=!1,n.focussed=!1,n.interrupted=!1,n.hidden="hidden",n.paused=!0,n.positionProp=null,n.respondTo=null,n.rowCount=1,n.shouldClick=!0,n.$slider=i(t),n.$slidesCache=null,n.transformType=null,n.transitionType=null,n.visibilityChange="visibilitychange",n.windowWidth=0,n.windowTimer=null,s=i(t).data("slick")||{},n.options=i.extend({},n.defaults,o,s),n.currentSlide=n.options.initialSlide,n.originalSettings=n.options,void 0!==document.mozHidden?(n.hidden="mozHidden",n.visibilityChange="mozvisibilitychange"):void 0!==document.webkitHidden&&(n.hidden="webkitHidden",n.visibilityChange="webkitvisibilitychange"),n.autoPlay=i.proxy(n.autoPlay,n),n.autoPlayClear=i.proxy(n.autoPlayClear,n),n.autoPlayIterator=i.proxy(n.autoPlayIterator,n),n.changeSlide=i.proxy(n.changeSlide,n),n.clickHandler=i.proxy(n.clickHandler,n),n.selectHandler=i.proxy(n.selectHandler,n),n.setPosition=i.proxy(n.setPosition,n),n.swipeHandler=i.proxy(n.swipeHandler,n),n.dragHandler=i.proxy(n.dragHandler,n),n.keyHandler=i.proxy(n.keyHandler,n),n.instanceUid=e++,n.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,n.registerBreakpoints(),n.init(!0)}}()).prototype.activateADA=function(){this.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},e.prototype.addSlide=e.prototype.slickAdd=function(e,t,o){var s=this;if("boolean"==typeof t)o=t,t=null;else if(t<0||t>=s.slideCount)return!1;s.unload(),"number"==typeof t?0===t&&0===s.$slides.length?i(e).appendTo(s.$slideTrack):o?i(e).insertBefore(s.$slides.eq(t)):i(e).insertAfter(s.$slides.eq(t)):!0===o?i(e).prependTo(s.$slideTrack):i(e).appendTo(s.$slideTrack),s.$slides=s.$slideTrack.children(this.options.slide),s.$slideTrack.children(this.options.slide).detach(),s.$slideTrack.append(s.$slides),s.$slides.each(function(e,t){i(t).attr("data-slick-index",e)}),s.$slidesCache=s.$slides,s.reinit()},e.prototype.animateHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.animate({height:e},i.options.speed)}},e.prototype.animateSlide=function(e,t){var o={},s=this;s.animateHeight(),!0===s.options.rtl&&!1===s.options.vertical&&(e=-e),!1===s.transformsEnabled?!1===s.options.vertical?s.$slideTrack.animate({left:e},s.options.speed,s.options.easing,t):s.$slideTrack.animate({top:e},s.options.speed,s.options.easing,t):!1===s.cssTransitions?(!0===s.options.rtl&&(s.currentLeft=-s.currentLeft),i({animStart:s.currentLeft}).animate({animStart:e},{duration:s.options.speed,easing:s.options.easing,step:function(i){i=Math.ceil(i),!1===s.options.vertical?(o[s.animType]="translate("+i+"px, 0px)",s.$slideTrack.css(o)):(o[s.animType]="translate(0px,"+i+"px)",s.$slideTrack.css(o))},complete:function(){t&&t.call()}})):(s.applyTransition(),e=Math.ceil(e),!1===s.options.vertical?o[s.animType]="translate3d("+e+"px, 0px, 0px)":o[s.animType]="translate3d(0px,"+e+"px, 0px)",s.$slideTrack.css(o),t&&setTimeout(function(){s.disableTransition(),t.call()},s.options.speed))},e.prototype.getNavTarget=function(){var e=this,t=e.options.asNavFor;return t&&null!==t&&(t=i(t).not(e.$slider)),t},e.prototype.asNavFor=function(e){var t=this.getNavTarget();null!==t&&"object"==typeof t&&t.each(function(){var t=i(this).slick("getSlick");t.unslicked||t.slideHandler(e,!0)})},e.prototype.applyTransition=function(i){var e=this,t={};!1===e.options.fade?t[e.transitionType]=e.transformType+" "+e.options.speed+"ms "+e.options.cssEase:t[e.transitionType]="opacity "+e.options.speed+"ms "+e.options.cssEase,!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.autoPlay=function(){var i=this;i.autoPlayClear(),i.slideCount>i.options.slidesToShow&&(i.autoPlayTimer=setInterval(i.autoPlayIterator,i.options.autoplaySpeed))},e.prototype.autoPlayClear=function(){var i=this;i.autoPlayTimer&&clearInterval(i.autoPlayTimer)},e.prototype.autoPlayIterator=function(){var i=this,e=i.currentSlide+i.options.slidesToScroll;i.paused||i.interrupted||i.focussed||(!1===i.options.infinite&&(1===i.direction&&i.currentSlide+1===i.slideCount-1?i.direction=0:0===i.direction&&(e=i.currentSlide-i.options.slidesToScroll,i.currentSlide-1==0&&(i.direction=1))),i.slideHandler(e))},e.prototype.buildArrows=function(){var e=this;!0===e.options.arrows&&(e.$prevArrow=i(e.options.prevArrow).addClass("slick-arrow"),e.$nextArrow=i(e.options.nextArrow).addClass("slick-arrow"),e.slideCount>e.options.slidesToShow?(e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.prependTo(e.options.appendArrows),e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.appendTo(e.options.appendArrows),!0!==e.options.infinite&&e.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},e.prototype.buildDots=function(){var e,t,o=this;if(!0===o.options.dots){for(o.$slider.addClass("slick-dotted"),t=i("<ul />").addClass(o.options.dotsClass),e=0;e<=o.getDotCount();e+=1)t.append(i("<li />").append(o.options.customPaging.call(this,o,e)));o.$dots=t.appendTo(o.options.appendDots),o.$dots.find("li").first().addClass("slick-active")}},e.prototype.buildOut=function(){var e=this;e.$slides=e.$slider.children(e.options.slide+":not(.slick-cloned)").addClass("slick-slide"),e.slideCount=e.$slides.length,e.$slides.each(function(e,t){i(t).attr("data-slick-index",e).data("originalStyling",i(t).attr("style")||"")}),e.$slider.addClass("slick-slider"),e.$slideTrack=0===e.slideCount?i('<div class="slick-track"/>').appendTo(e.$slider):e.$slides.wrapAll('<div class="slick-track"/>').parent(),e.$list=e.$slideTrack.wrap('<div class="slick-list"/>').parent(),e.$slideTrack.css("opacity",0),!0!==e.options.centerMode&&!0!==e.options.swipeToSlide||(e.options.slidesToScroll=1),i("img[data-lazy]",e.$slider).not("[src]").addClass("slick-loading"),e.setupInfinite(),e.buildArrows(),e.buildDots(),e.updateDots(),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),!0===e.options.draggable&&e.$list.addClass("draggable")},e.prototype.buildRows=function(){var i,e,t,o,s,n,r,l=this;if(o=document.createDocumentFragment(),n=l.$slider.children(),l.o
vendor: 3,442 bytes, line 1
1ptions.rows>1){for(r=l.options.slidesPerRow*l.options.rows,s=Math.ceil(n.length/r),i=0;i<s;i++){var d=document.createElement("div");for(e=0;e<l.options.rows;e++){var a=document.createElement("div");for(t=0;t<l.options.slidesPerRow;t++){var c=i*r+(e*l.options.slidesPerRow+t);n.get(c)&&a.appendChild(n.get(c))}d.appendChild(a)}o.appendChild(d)}l.$slider.empty().append(o),l.$slider.children().children().children().css({width:100/l.options.slidesPerRow+"%",display:"inline-block"})}},e.prototype.checkResponsive=function(e,t){var o,s,n,r=this,l=!1,d=r.$slider.width(),a=window.innerWidth||i(window).width();if("window"===r.respondTo?n=a:"slider"===r.respondTo?n=d:"min"===r.respondTo&&(n=Math.min(a,d)),r.options.responsive&&r.options.responsive.length&&null!==r.options.responsive){s=null;for(o in r.breakpoints)r.breakpoints.hasOwnProperty(o)&&(!1===r.originalSettings.mobileFirst?n<r.breakpoints[o]&&(s=r.breakpoints[o]):n>r.breakpoints[o]&&(s=r.breakpoints[o]));null!==s?null!==r.activeBreakpoint?(s!==r.activeBreakpoint||t)&&(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):null!==r.activeBreakpoint&&(r.activeBreakpoint=null,r.options=r.originalSettings,!0===e&&(r.currentSlide=r.options.initialSlide),r.refresh(e),l=s),e||!1===l||r.$slider.trigger("breakpoint",[r,l])}},e.prototype.changeSlide=function(e,t){var o,s,n,r=this,l=i(e.currentTarget);switch(l.is("a")&&e.preventDefault(),l.is("li")||(l=l.closest("li")),n=r.slideCount%r.options.slidesToScroll!=0,o=n?0:(r.slideCount-r.currentSlide)%r.options.slidesToScroll,e.data.message){case"previous":s=0===o?r.options.slidesToScroll:r.options.slidesToShow-o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide-s,!1,t);break;case"next":s=0===o?r.options.slidesToScroll:o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide+s,!1,t);break;case"index":var d=0===e.data.index?0:e.data.index||l.index()*r.options.slidesToScroll;r.slideHandler(r.checkNavigable(d),!1,t),l.children().trigger("focus");break;default:return}},e.prototype.checkNavigable=function(i){var e,t;if(e=this.getNavigableIndexes(),t=0,i>e[e.length-1])i=e[e.length-1];else for(var o in e){if(i<e[o]){i=t;break}t=e[o]}return i},e.prototype.cleanUpEvents=function(){var e=this;e.options.dots&&null!==e.$dots&&(i("li",e.$dots).off("click.slick",e.changeSlide).off("mouseenter.slick",i.proxy(e.interrupt,e,!0)).off("mouseleave.slick",i.proxy(e.interrupt,e,!1)),!0===e.options.accessibility&&e.$dots.off("keydown.slick",e.keyHandler)),e.$slider.off("focus.slick blur.slick"),!0===e.options.arrows&&e.slideCount>e.options.slidesToShow&&(e.$prevArrow&&e.$prevArrow.off("click.slick",e.changeSlide),e.$nextArrow&&e.$nextArrow.off("click.slick",e.changeSlide),!0===e.options.accessibility&&(e.$prevArrow&&e.$prevArrow.off("keydown.slick",e.keyHandler),e.$nextArrow&&e.$nextArrow.off("keydown.slick",e.keyHandler))),e.$list.off("touchstart.slick mousedown.slick",e.swipeHandler),e.$list.off("touchmove.slick mousemove.slick",e.swipeHandler),e.$list.off("touchend.slick mouseup.slick",e.swipeHandler),e.$list.off("touchcancel.slick mouseleave.
1slick",e.swipeHandler),e.$list.off("click.slick",e.clickHandler),i(document).off(e.visibilityChange,e.visibility),e.cleanUpSlideEvents(),!0===e.options.accessibility&&e.$list.off("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().off("click.slick",e.selectHandler),i(window).off("orientationchange.slick.slick-"+e.instanceUid,e.orientationChange),i(window).off("resize.slick.slick-"+e.instanceUid,e.resize),i("[draggable!=true]",e.$slideTrack).off("dragstart",e.preventDefault),i(window).off("load.slick.slick-"+e.instanceUid,e.setPosition)},e.prototype.cleanUpSlideEvents=function(){var e=this;e.$list.off("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.off("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.cleanUpRows=function(){var i,e=this;e.options.rows>1&&((i=e.$slides.children().children()).removeAttr("style"),e.$slider.empty().append(i))},e.prototype.clickHandler=function(i){!1===this.shouldClick&&(i.stopImmediatePropagation(),i.stopPropagation(),i.preventDefault())},e.prototype.destroy=function(e){var t=this;t.autoPlayClear(),t.touchObject={},t.cleanUpEvents(),i(".slick-cloned",t.$slider).detach(),t.$dots&&t.$dots.remove(),t.$prevArrow&&t.$prevArrow.length&&(t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.prevArrow)&&t.$prevArrow.remove()),t.$nextArrow&&t.$nextArrow.length&&(t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.nextArrow)&&t.$nextArrow.remove()),t.$slides&&(t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){i(this).attr("style",i(this).data("originalStyling"))}),t.$slideTrack.children(this.options.slide).detach(),t.$slideTrack.detach(),t.$list.detach(),t.$slider.append(t.$slides)),t.cleanUpRows(),t.$slider.removeClass("slick-slider"),t.$slider.removeClass("slick-initialized"),t.$slider.removeClass("slick-dotted"),t.unslicked=!0,e||t.$slider.trigger("destroy",[t])},e.prototype.disableTransition=function(i){var e=this,t={};t[e.transitionType]="",!1===e.options.fade?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.fadeSlide=function(i,e){var t=this;!1===t.cssTransitions?(t.$slides.eq(i).css({zIndex:t.options.zIndex}),t.$slides.eq(i).animate({opacity:1},t.options.speed,t.options.easing,e)):(t.applyTransition(i),t.$slides.eq(i).css({opacity:1,zIndex:t.options.zIndex}),e&&setTimeout(function(){t.disableTransition(i),e.call()},t.options.speed))},e.prototype.fadeSlideOut=function(i){var e=this;!1===e.cssTransitions?e.$slides.eq(i).animate({opacity:0,zIndex:e.options.zIndex-2},e.options.speed,e.options.easing):(e.applyTransition(i),e.$slides.eq(i).css({opacity:0,zIndex:e.options.zIndex-2}))},e.prototype.filterSlides=e.prototype.slickFilter=function(i){var e=this;null!==i&&(e.$slidesCache=e.$slides,e.unload(),e.$slideTrack.children(this.options.slide).detach(),e.$slidesCache.filter(i).appendTo(e.$slideTrack),e.reinit())},e.prototype.focusHandler=function(){var e=this;e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick","*",function(t){t.stopImmediatePropagation();var o=i(this);setTimeout(function(){e.options.pauseOnFocus&&(e.focussed=o.is(":focus"),e.autoPlay())},0)})},e.prototype.getCurrent=e.prototype.slickCurrentSlide=function(){return this.currentSlide},e.prototype.getDotCount=function(){var i=this,e=0,t=0,o=0;if(!0===i.options.infinite)if(i.slideCount<=i.options.slidesToShow)++o;else for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else if(!0===i.options.centerMode)o=i.slideCount;else if(i.options.asNavFor)for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else o=1+Math.ceil((i.slideCount-i.options.slidesToShow)/i.options.slidesToScroll);return o-1},e.prototype.getLeft=function(i){var e,t,o,s,n=this,r=0;return n.slideOffset=0,t=n.$slides.first().outerHeight(!0),!0===n.options.infinite?(n.slideCount>n.options.slidesToShow&&(n.slideOffset=n.slideWidth*n.options.slidesToShow*-1,s=-1,!0===n.options.vertical&&!0===n.options.centerMode&&(2===n.options.slidesToShow?s=-1.5:1===n.options.slidesToShow&&(s=-2)),r=t*n.options.slidesToShow*s),n.slideCount%n.options.slidesToScroll!=0&&i+n.options.slidesToScroll>n.slideCount&&n.slideCount>n.options.slidesToShow&&(i>n.slideCount?(n.slideOffset=(n.options.slidesToShow-(i-n.slideCount))*n.slideWidth*-1,r=(n.options.slidesToShow-(i-n.slideCount))*t*-1):(n.slideOffset=n.slideCount%n.options.slidesToScroll*n.slideWidth*-1,r=n.slideCount%n.options.slidesToScroll*t*-1))):i+n.options.slidesToShow>n.slideCount&&(n.slideOffset=(i+n.options.slidesToShow-n.slideCount)*n.slideWidth,r=(i+n.options.slidesToShow-n.slideCount)*t),n.slideCount<=n.options.slidesToShow&&(n.slideOffset=0,r=0),!0===n.options.centerMode&&n.slideCount<=n.options.slidesToShow?n.slideOffset=n.slideWidth*Math.floor(n.options.slidesToShow)/2-n.slideWidth*n.slideCount/2:!0===n.options.centerMode&&!0===n.options.infinite?n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)-n.slideWidth:!0===n.options.centerMode&&(n.slideOffset=0,n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)),e=!1===n.options.vertical?i*n.slideWidth*-1+n.slideOffset:i*t*-1+r,!0===n.options.variableWidth&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,!0===n.options.centerMode&&(o=n.slideCount<=n.options.slidesToShow||!1===n.options.infinite?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow+1),e=!0===n.options.rtl?o[0]?-1*(n.$slideTrack.width()-o[0].offsetLeft-o.width()):0:o[0]?-1*o[0].offsetLeft:0,e+=(n.$list.width()-o.outerWidth())/2)),e},e.prototype.getOption=e.prototype.slickGetOption=function(i){return this.options[i]},e.prototype.getNavigableIndexes=function(){var i,e=this,t=0,o=0,s=[];for(!1===e.options.infinite?i=e.slideCount:(t=-1*e.options.slidesToScroll,o=-1*e.options.slidesToScroll,i=2*e.slideCount);t<i;)s.push(t),t=o+e.options.slidesToScroll,o+=e.options.slidesToScroll<=e.options.slidesToShow?e.options.slidesToScroll:e.options.slidesToShow;return s},e.prototype.getSlick=function(){return this},e.prototype.getSlideCount=function(){var e,t,o=this;return t=!0===o.options.centerMode?o.slideWidth*Math.floor(o.options.slidesToShow/2):0,!0===o.options.swipeToSlide?(o.$slideTrack.find(".slick-slide").each(function(s,n){if(n.offsetLeft-t+i(n).outerWidth()/2>-1*o.swipeLeft)return e=n,!1}),Math.abs(i(e).attr("data-slick-index")-o.currentSlide)||1):o.options.slidesToScroll},e.prototype.goTo=e.prototype.slickGoTo=function(i,e){this.changeSlide({data:{message:"index",index:
1parseInt(i)}},e)},e.prototype.init=function(e){var t=this;i(t.$slider).hasClass("slick-initialized")||(i(t.$slider).addClass("slick-initialized"),t.buildRows(),t.buildOut(),t.setProps(),t.startLoad(),t.loadSlider(),t.initializeEvents(),t.updateArrows(),t.updateDots(),t.checkResponsive(!0),t.focusHandler()),e&&t.$slider.trigger("init",[t]),!0===t.options.accessibility&&t.initADA(),t.options.autoplay&&(t.paused=!1,t.autoPlay())},e.prototype.initADA=function(){var e=this,t=Math.ceil(e.slideCount/e.options.slidesToShow),o=e.getNavigableIndexes().filter(function(i){return i>=0&&i<e.slideCount});e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),null!==e.$dots&&(e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function(t){var s=o.indexOf(t);i(this).attr({role:"tabpanel",id:"slick-slide"+e.instanceUid+t,tabindex:-1}),-1!==s&&i(this).attr({"aria-describedby":"slick-slide-control"+e.instanceUid+s})}),e.$dots.attr("role","tablist").find("li").each(function(s){var n=o[s];i(this).attr({role:"presentation"}),i(this).find("button").first().attr({role:"tab",id:"slick-slide-control"+e.instanceUid+s,"aria-controls":"slick-slide"+e.instanceUid+n,"aria-label":s+1+" of "+t,"aria-selected":null,tabindex:"-1"})}).eq(e.currentSlide).find("button").attr({"aria-selected":"true",tabindex:"0"}).end());for(var s=e.currentSlide,n=s+e.options.slidesToShow;s<n;s++)e.$slides.eq(s).attr("tabindex",0);e.activateADA()},e.prototype.initArrowEvents=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},i.changeSlide),i.$nextArrow.off("click.slick").on("click.slick",{message:"next"},i.changeSlide),!0===i.options.accessibility&&(i.$prevArrow.on("keydown.slick",i.keyHandler),i.$nextArrow.on("keydown.slick",i.keyHandler)))},e.prototype.initDotEvents=function(){var e=this;!0===e.options.dots&&(i("li",e.$dots).on("click.slick",{message:"index"},e.changeSlide),!0===e.options.accessibility&&e.$dots.on("keydown.slick",e.keyHandler)),!0===e.options.dots&&!0===e.options.pauseOnDotsHover&&i("li",e.$dots).on("mouseenter.slick",i.proxy(e.interrupt,e,!0)).on("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.initSlideEvents=function(){var e=this;e.options.pauseOnHover&&(e.$list.on("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.on("mouseleave.slick",i.proxy(e.interrupt,e,!1)))},e.prototype.initializeEvents=function(){var e=this;e.initArrowEvents(),e.initDotEvents(),e.initSlideEvents(),e.$list.on("touchstart.slick mousedown.slick",{action:"start"},e.swipeHandler),e.$list.on("touchmove.slick mousemove.slick",{action:"move"},e.swipeHandler),e.$list.on("touchend.slick mouseup.slick",{action:"end"}
1,e.swipeHandler),e.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},e.swipeHandler),e.$list.on("click.slick",e.clickHandler),i(document).on(e.visibilityChange,i.proxy(e.visibility,e)),!0===e.options.accessibility&&e.$list.on("keydown.slick",e.keyHandler),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),i(window).on("orientationchange.slick.slick-"+e.instanceUid,i.proxy(e.orientationChange,e)),i(window).on("resize.slick.slick-"+e.instanceUid,i.proxy(e.resize,e)),i("[draggable!=true]",e.$slideTrack).on("dragstart",e.preventDefault),i(window).on("load.slick.slick-"+e.instanceUid,e.setPosition),i(e.setPosition)},e.prototype.initUI=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.show(),i.$nextArrow.show()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.show()},e.prototype.keyHandler=function(i){var e=this;i.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===i.keyCode&&!0===e.options.accessibility?e.changeSlide({data:{message:!0===e.options.rtl?"next":"previous"}}):39===i.keyCode&&!0===e.options.accessibility&&e.changeSlide({data:{message:!0===e.options.rtl?"previous":"next"}}))},e.prototype.lazyLoad=function(){function e(e){i("img[data-lazy]",e).each(function(){var e=i(this),t=i(this).attr("data-lazy"),o=i(this).attr("data-srcset"),s=i(this).attr("data-sizes")||n.$slider.attr("data-sizes"),r=document.createElement("img");r.onload=function(){e.animate({opacity:0}
vendor: 7,112 bytes, line 1
1,100,function(){o&&(e.attr("srcset",o),s&&e.attr("sizes",s)),e.attr("src",t).animate({opacity:1},200,function(){e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")}),n.$slider.trigger("lazyLoaded",[n,e,t])})},r.onerror=function(){e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),n.$slider.trigger("lazyLoadError",[n,e,t])},r.src=t})}var t,o,s,n=this;if(!0===n.options.centerMode?!0===n.options.infinite?s=(o=n.currentSlide+(n.options.slidesToShow/2+1))+n.options.slidesToShow+2:(o=Math.max(0,n.currentSlide-(n.options.slidesToShow/2+1)),s=n.options.slidesToShow/2+1+2+n.currentSlide):(o=n.options.infinite?n.options.slidesToShow+n.currentSlide:n.currentSlide,s=Math.ceil(o+n.options.slidesToShow),!0===n.options.fade&&(o>0&&o--,s<=n.slideCount&&s++)),t=n.$slider.find(".slick-slide").slice(o,s),"anticipated"===n.options.lazyLoad)for(var r=o-1,l=s,d=n.$slider.find(".slick-slide"),a=0;a<n.options.slidesToScroll;a++)r<0&&(r=n.slideCount-1),t=(t=t.add(d.eq(r))).add(d.eq(l)),r--,l++;e(t),n.slideCount<=n.options.slidesToShow?e(n.$slider.find(".slick-slide")):n.currentSlide>=n.slideCount-n.options.slidesToShow?e(n.$slider.find(".slick-cloned").slice(0,n.options.slidesToShow)):0===n.currentSlide&&e(n.$slider.find(".slick-cloned").slice(-1*n.options.slidesToShow))},e.prototype.loadSlider=function(){var i=this;i.setPosition(),i.$slideTrack.css({opacity:1}),i.$slider.removeClass("slick-loading"),i.initUI(),"progressive"===i.options.lazyLoad&&i.progressiveLazyLoad()},e.prototype.next=e.prototype.slickNext=function(){this.changeSlide({data:{message:"next"}})},e.prototype.orientationChange=function(){var i=this;i.checkResponsive(),i.setPosition()},e.prototype.pause=e.prototype.slickPause=function(){var i=this;i.autoPlayClear(),i.paused=!0},e.prototype.play=e.prototype.slickPlay=function(){var i=this;i.autoPlay(),i.options.autoplay=!0,i.paused=!1,i.focussed=!1,i.interrupted=!1},e.prototype.postSlide=function(e){var t=this;t.unslicked||(t.$slider.trigger("afterChange",[t,e]),t.animating=!1,t.slideCount>t.options.slidesToShow&&t.setPosition(),t.swipeLeft=null,t.options.autoplay&&t.autoPlay(),!0===t.options.accessibility&&(t.initADA(),t.options.focusOnChange&&i(t.$slides.get(t.currentSlide)).attr("tabindex",0).focus()))},e.prototype.prev=e.prototype.slickPrev=function(){this.changeSlide({data:{message:"previous"}})},e.prototype.preventDefault=function(i){i.preventDefault()},e.prototype.progressiveLazyLoad=function(e){e=e||1;var t,o,s,n,r,l=this,d=i("img[data-lazy]",l.$slider);d.length?(t=d.first(),o=t.attr("data-lazy"),s=t.attr("data-srcset"),n=t.attr("data-sizes")||l.$slider.attr("data-sizes"),(r=document.createElement("img")).onload=function(){s&&(t.attr("srcset",s),n&&t.attr("sizes",n)),t.attr("src",o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),!0===l.options.adaptiveHeight&&l.setPosition(),l.$slider.trigger("lazyLoaded",[l,t,o]),l.progressiveLazyLoad()},r.onerror=function(){e<3?setTimeout(function(){l.progressiveLazyLoad(e+1)},500):(t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),l.$slider.trigger("lazyLoadError",[l,t,o]),l.progressiveLazyLoad())},r.src=o):l.$slider.trigger("allImagesLoaded",[l])},e.prototype.refresh=function(e){var t,o,s=this;o=s.slideCount-s.options.slidesToShow,!s.options.infinite&&s.currentSlide>o&&(s.currentSlide=o),s.slideCount<=s.options.slidesToShow&&(s.currentSlide=0),t=s.currentSlide,s.destroy(!0),i.extend(s,s.initials,{currentSlide:t}),s.init(),e||s.changeSlide({data:{message:"index",index:t}},!1)},e.prototype.registerBreakpoints=function(){var e,t,o,s=this,n=s.options.responsive||null;if("array"===i.type(n)&&n.length){s.respondTo=s.options.respondTo||"window";for(e in n)if(o=s.breakpoints.length-1,n.hasOwnProperty(e)){for(t=n[e].breakpoint;o>=0;)s.breakpoints[o]&&s.breakpoints[o]===t&&s.breakpoints.splice(o,1),o--;s.breakpoints.push(t),s.breakpointSettings[t]=n[e].settings}s.breakpoints.sort(function(i,e){return s.options.mobileFirst?i-e:e-i})}},e.prototype.reinit=function(){var e=this;e.$slides=e.$slideTrack.children(e.options.slide).addClass("slick-slide"),e.slideCount=e.$slides.length,e.currentSlide>=e.slideCount&&0!==e.currentSlide&&(e.currentSlide=e.currentSlide-e.options.slidesToScroll),e.slideCount<=e.options.slidesToShow&&(e.currentSlide=0),e.registerBreakpoints(),e.setProps(),e.setupInfinite(),e.buildArrows(),e.updateArrows(),e.initArrowEvents(),e.buildDots(),e.updateDots(),e.initDotEvents(),e.cleanUpSlideEvents(),e.initSlideEvents(),e.checkResponsive(!1,!0),!0===e.options.focusOnSelect&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),e.setPosition(),e.focusHandler(),e.paused=!e.options.autoplay,e.autoPlay(),e.$slider.trigger("reInit",[e])},e.prototype.resize=function(){var e=this;i(window).width()!==e.windowWidth&&(clearTimeout(e.windowDelay),e.windowDelay=window.setTimeout(function(){e.windowWidth=i(window).width(),e.checkResponsive(),e.unslicked||e.setPosition()},50))},e.prototype.removeSlide=e.prototype.slickRemove=function(i,e,t){var o=this;if(i="boolean"==typeof i?!0===(e=i)?0:o.slideCount-1:!0===e?--i:i,o.slideCount<1||i<0||i>o.slideCount-1)return!1;o.unload(),!0===t?o.$slideTrack.children().remove():o.$slideTrack.children(this.options.slide).eq(i).remove(),o.$slides=o.$slideTrack.children(this.options.slide),o.$slideTrack.children(this.options.slide).detach(),o.$slideTrack.append(o.$slides),o.$slidesCache=o.$slides,o.reinit()},e.prototype.setCSS=function(i){var e,t,o=this,s={};!0===o.options.rtl&&(i=-i),e="left"==o.positionProp?Math.ceil(i)+"px":"0px",t="top"==o.positionProp?Math.ceil(i)+"px":"0px",s[o.positionProp]=i,!1===o.transformsEnabled?o.$slideTrack.css(s):(s={},!1===o.cssTransitions?(s[o.animType]="translate("+e+", "+t+")",o.$slideTrack.css(s)):(s[o.animType]="translate3d("+e+", "+t+", 0px)",o.$slideTrack.css(s)))},e.prototype.setDimensions=function(){var i=this;!1===i.options.vertical?!0===i.options.centerMode&&i.$list.css({padding:"0px "+i.options.centerPadding}):(i.$list.height(i.$slides.first().outerHeight(!0)*i.options.slidesToShow),!0===i.options.centerMode&&i.$list.css({padding:i.options.centerPadding+" 0px"})),i.listWidth=i.$list.width(),i.listHeight=i.$list.height(),!1===i.options.vertical&&!1===i.options.variableWidth?(i.slideWidth=Math.ceil(i.listWidth/i.options.slidesToShow),i.$slideTrack.width(Math.ceil(i.slideWidth*i.$slideTrack.children(".slick-slide").length))):!0===i.options.variableWidth?i.$slideTrack.width(5e3*i.slideCount):(i.slideWidth=Math.ceil(i.listWidth),i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0)*i.$slideTrack.children(".slick-slide").length)));var e=i.$slides.first().outerWidth(!0)-i.$slides.first().width();!1===i.options.variableWidth&&i.$slideTrack.children(".slick-slide").width(i.slideWidth-e)},e.prototype.setFade=function(){var e,t=this;t.$slides.each(function(o,s){e=t.slideWidth*o*-1,!0===t.options.rtl?i(s).css({position:"relative",right:e,top:0,zIndex:t.options.zIndex-2,opacity:0}
1):i(s).css({position:"relative",left:e,top:0,zIndex:t.options.zIndex-2,opacity:0})}),t.$slides.eq(t.currentSlide).css({zIndex:t.options.zIndex-1,opacity:1})},e.prototype.setHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.css("height",e)}},e.prototype.setOption=e.prototype.slickSetOption=function(){var e,t,o,s,n,r=this,l=!1;if("object"===i.type(arguments[0])?(o=arguments[0],l=arguments[1],n="multiple"):"string"===i.type(arguments[0])&&(o=arguments[0],s=arguments[1],l=arguments[2],"responsive"===arguments[0]&&"array"===i.type(arguments[1])?n="responsive":void 0!==arguments[1]&&(n="single")),"single"===n)r.options[o]=s;else if("multiple"===n)i.each(o,function(i,e){r.options[i]=e});else if("responsive"===n)for(t in s)if("array"!==i.type(r.options.responsive))r.options.responsive=[s[t]];else{for(e=r.options.responsive.length-1;e>=0;)r.options.responsive[e].breakpoint===s[t].breakpoint&&r.options.responsive.splice(e,1),e--;r.options.responsive.push(s[t])}l&&(r.unload(),r.reinit())},e.prototype.setPosition=function(){var i=this;i.setDimensions(),i.setHeight(),!1===i.options.fade?i.setCSS(i.getLeft(i.currentSlide)):i.setFade(),i.$slider.trigger("setPosition",[i])},e.prototype.setProps=function(){var i=this,e=document.body.style;i.positionProp=!0===i.options.vertical?"top":"left","top"===i.positionProp?i.$slider.addClass("slick-vertical"):i.$slider.removeClass("slick-vertical"),void 0===e.WebkitTransition&&void 0===e.MozTransition&&void 0===e.msTransition||!0===i.options.useCSS&&(i.cssTransitions=!0),i.options.fade&&("number"==typeof i.options.zIndex?i.options.zIndex<3&&(i.options.zIndex=3):i.options.zIndex=i.defaults.zIndex),void 0!==e.OTransform&&(i.animType="OTransform",i.transformType="-o-transform",i.transitionType="OTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.MozTransform&&(i.animType="MozTransform",i.transformType="-moz-transform",i.transitionType="MozTransition",void 0===e.perspectiveProperty&&void 0===e.MozPerspective&&(i.animType=!1)),void 0!==e.webkitTransform&&(i.animType="webkitTransform",i.transformType="-webkit-transform",i.transitionType="webkitTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.msTransform&&(i.animType="msTransform",i.transformType="-ms-transform",i.transitionType="msTransition",void 0===e.msTransform&&(i.animType=!1)),void 0!==e.transform&&!1!==i.animType&&(i.animType="transform",i.transformType="transform",i.transitionType="transition"),i.transformsEnabled=i.options.useTransform&&null!==i.animType&&!1!==i.animType},e.prototype.setSlideClasses=function(i){var e,t,o,s,n=this;if(t=n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),n.$slides.eq(i).addClass("slick-current"),!0===n.options.centerMode){var r=n.options.slidesToShow%2==0?1:0;e=Math.floor(n.options.slidesToShow/2),!0===n.options.infinite&&(i>=e&&i<=n.slideCount-1-e?n.$slides.slice(i-e+r,i+e+1).addClass("slick-active").attr("aria-hidden","false"):(o=n.options.slidesToShow+i,t.slice(o-e+1+r,o+e+2).addClass("slick-active").attr("aria-hidden","false")),0===i?t.eq(t.length-1-n.options.slidesToShow).addClass("slick-center"):i===n.slideCount-1&&t.eq(n.options.slidesToShow).addClass("slick-center")),n.$slides.eq(i).addClass("slick-center")}else i>=0&&i<=n.slideCount-n.options.slidesToShow?n.$slides.slice(i,i+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):t.length<=n.options.slidesToShow?t.addClass("slick-active").attr("aria-hidden","false"):(s=n.slideCount%n.options.slidesToShow,o=!0===n.options.infinite?n.options.slidesToShow+i:i,n.options.slidesToShow==n.options.slidesToScroll&&n.slideCount-i<n.options.slidesToShow?t.slice(o-(n.options.slidesToShow-s),o+s).addClass("slick-active").attr("aria-hidden","false"):t.slice(o,o+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"));"ondemand"!==n.options.lazyLoad&&"anticipated"!==n.options.lazyLoad||n.lazyLoad()},e.prototype.setupInfinite=function(){var e,t,o,s=this;if(!0===s.options.fade&&(s.options.centerMode=!1),!0===s.options.infinite&&!1===s.options.fade&&(t=null,s.slideCount>s.options.slidesToShow)){for(o=!0===s.options.centerMode?s.options.slidesToShow+1:s.options.slidesToShow,e=s.slideCount;e>s.slideCount-o;e-=1)t=e-1,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t-s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");for(e=0;e<o+s.slideCount;e+=1)t=e,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t+s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");s.$slideTrack.find(".slick-cloned").find("[id]").each(function(){i(this).attr("id","")})}},e.prototype.interrupt=function(i){var e=this;i||e.autoPlay(),e.interrupted=i},e.prototype.selectHandler=function(e){var t=this,o=i(e.target).is(".slick-slide")?i(e.target):i(e.target).parents(".slick-slide"),s=parseInt(o.attr("data-slick-index"));s||(s=0),t.slideCount<=t.options.slidesToShow?t.slideHandler(s,!1,!0):t.slideHandler(s)},e.prototype.slideHandler=function(i,e,t){var o,s,n,r,l,d=null,a=this;if(e=e||!1,!(!0===a.animating&&!0===a.options.waitForAnimate||!0===a.options.fade&&a.currentSlide===i))if(!1===e&&a.asNavFor(i),o=i,d=a.getLeft(o),r=a.getLeft(a.currentSlide),a.currentLeft=null===a.swipeLeft?r:a.swipeLeft,!1===a.options.infinite&&!1===a.options.centerMode&&(i<0||i>a.getDotCount()*a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else if(!1===a.options.infinite&&!0===a.options.centerMode&&(i<0||i>a.slideCount-a.options.slidesToScroll))!1===a.options.fade&&(o=a.currentSlide,!0!==t?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o));else{if(a.options.autoplay&&clearInterval(a.autoPlayTimer),s=o<0?a.slideCount%a.options.slidesToScroll!=0?a.slideCount-a.slideCount%a.options.slidesToScroll:a.slideCount+
1o:o>=a.slideCount?a.slideCount%a.options.slidesToScroll!=0?0:o-a.slideCount:o,a.animating=!0,a.$slider.trigger("beforeChange",[a,a.currentSlide,s]),n=a.currentSlide,a.currentSlide=s,a.setSlideClasses(a.currentSlide),a.options.asNavFor&&(l=(l=a.getNavTarget()).slick("getSlick")).slideCount<=l.options.slidesToShow&&l.setSlideClasses(a.currentSlide),a.updateDots(),a.updateArrows(),!0===a.options.fade)return!0!==t?(a.fadeSlideOut(n),a.fadeSlide(s,function(){a.postSlide(s)})):a.postSlide(s),void a.animateHeight();!0!==t?a.animateSlide(d,function(){a.postSlide(s)}):a.postSlide(s)}},e.prototype.startLoad=function(){var i=this;!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.hide(),i.$nextArrow.hide()),!0===i.options.dots&&i.slideCount>i.options.slidesToShow&&i.$dots.hide(),i.$slider.addClass("slick-loading")},e.prototype.swipeDirection=function(){var i,e,t,o,s=this;return i=s.touchObject.startX-s.touchObject.curX,e=s.touchObject.startY-s.touchObject.curY,t=Math.atan2(e,i),(o=Math.round(180*t/Math.PI))<0&&(o=360-Math.abs(o)),o<=45&&o>=0?!1===s.options.rtl?"left":"right":o<=360&&o>=315?!1===s.options.rtl?"left":"right":o>=135&&o<=225?!1===s.options.rtl?"right":"left":!0===s.options.verticalSwiping?o>=35&&o<=135?"down":"up":"vertical"},e.prototype.swipeEnd=function(i){var e,t,o=this;if(o.dragging=!1,o.swiping=!1,o.scrolling)return o.scrolling=!1,!1;if(o.interrupted=!1,o.shouldClick=!(o.touchObject.swipeLength>10),void 0===o.touchObject.curX)return!1;if(!0===o.touchObject.edgeHit&&o.$slider.trigger("edge",[o,o.swipeDirection()]),o.touchObject.swipeLength>=o.touchObject.minSwipe){switch(t=o.swipeDirection()){case"left":case"down":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide+o.getSlideCount()):o.currentSlide+o.getSlideCount(),o.currentDirection=0;break;case"right":case"up":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide-o.getSlideCount()):o.currentSlide-o.getSlideCount(),o.currentDirection=1}"vertical"!=t&&(o.slideHandler(e),o.touchObject={},o.$slider.trigger("swipe",[o,t]))}else o.touchObject.startX!==o.touchObject.curX&&(o.slideHandler(o.currentSlide),o.touchObject={})},e.prototype.swipeHandler=function(i){var e=this;if(!(!1===e.options.swipe||"ontouchend"in document&&!1===e.options.swipe||!1===e.options.draggable&&-1!==i.type.indexOf("mouse")))switch(e.touchObject.fingerCount=i.originalEvent&&void 0!==i.originalEvent.touches?i.originalEvent.touches.length:1,e.touchObject.minSwipe=e.listWidth/e.options.touchThreshold,!0===e.options.verticalSwiping&&(e.touchObject.minSwipe=e.listHeight/e.options.touchThreshold),i.data.action){case"start":e.swipeStart(i);break;case"move":e.swipeMove(i);break;case"end":e.swipeEnd(i)}},e.prototype.swipeMove=function(i){var e,t,o,s,n,r,l=this;return n=void 0!==i.originalEvent?i.originalEvent.touches:null,!(!l.dragging||l.scrolling||n&&1!==n.length)&&(e=l.getLeft(l.currentSlide),l.touchObject.curX=void 0!==n?n[0].pageX:i.clientX,l.touchObject.curY=void 0!==n?n[0].pageY:i.clientY,l.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(l.touchObject.curX-l.touchObject.startX,2))),r=Math.round(Math.sqrt(Math.pow(l.touchObject.curY-l.touchObject.startY,2))),!l.options.verticalSwiping&&!l.swiping&&r>4?(l.scrolling=!0,!1):(!0===l.options.verticalSwiping&&(l.touchObject.swipeLength=r),t=l.swipeDirection(),void 0!==i.originalEvent&&l.touchObject.swipeLength>4&&(l.swiping=!0,i.preventDefault()),s=(!1===l.options.rtl?1:-1)*(l.touchObject.curX>l.touchObject.startX?1:-1),!0===l.options.verticalSwiping&&(s=l.touchObject.curY>l.touchObject.startY?1:-1),o=l.touchObject.swipeLength,l.touchObject.edgeHit=!1,!1===l.options.infinite&&(0===l.currentSlide&&"right"===t||l.currentSlide>=l.getDotCount()&&"left"===t)&&(o=l.touchObject.swipeLength*l.options.edgeFriction,l.touchObject.edgeHit=!0),!1===l.options.vertical?l.swipeLeft=e+o*s:l.swipeLeft=e+o*(l.$list.height()/l.listWidth)*s,!0===l.options.verticalSwiping&&(l.swipeLeft=e+o*s),!0!==l.options.fade&&!1!==l.options.touchMove&&(!0===l.animating?(l.swipeLeft=null,!1):void l.setCSS(l.swipeLeft))))},e.prototype.swipeStart=function(i){var e,t=this;if(t.interrupted=!0,1!==t.touchObject.fingerCount||t.slideCount<=t.options.slidesToShow)return t.touchObject={},!1;void 0!==i.originalEvent&&void 0!==i.originalEvent.touches&&(e=i.originalEvent.touches[0]),t.touchObject.startX=t.touchObject.curX=void 0!==e?e.pageX:i.clientX,t.touchObject.startY=t.touchObject.curY=void 0!==e?e.pageY:i.clientY,t.dragging=!0},e.prototype.unfilterSlides=e.prototype.slickUnfilter=function(){var i=this;null!==i.$slidesCache&&(i.unload(),i.$slideTrack.children(this.options.slide).detach(),i.$slidesCache.appendTo(i.$slideTrack),i.reinit())},e.prototype.unload=function(){var e=this;i(".slick-cloned",e.$slider).remove(),e.$dots&&e.$dots.remove(),e.$prevArrow&&e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.remove(),e.$nextArrow&&e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.remove(),e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")}
1,e.prototype.unslick=function(i){var e=this;e.$slider.trigger("unslick",[e,i]),e.destroy()},e.prototype.updateArrows=function(){var i=this;Math.floor(i.options.slidesToShow/2),!0===i.options.arrows&&i.slideCount>i.options.slidesToShow&&!i.options.infinite&&(i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===i.currentSlide?(i.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-i.options.slidesToShow&&!1===i.options.centerMode?(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):i.currentSlide>=i.slideCount-1&&!0===i.options.centerMode&&(i.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},e.prototype.updateDots=function(){var i=this;null!==i.$dots&&(i.$dots.find("li").removeClass("slick-active").end(),i.$dots.find("li").eq(Math.floor(i.currentSlide/i.options.slidesToScroll)).addClass("slick-active"))},e.prototype.visibility=function(){var i=this;i.options.autoplay&&(document[i.hidden]?i.interrupted=!0:i.interrupted=!1)},i.fn.slick=function(){var i,t,o=this,s=arguments[0],n=Array.prototype.slice.call(arguments,1),r=o.length;for(i=0;i<r;i++)if("object"==typeof s||void 0===s?o[i].slick=new e(o[i],s):t=o[i].slick[s].apply(o[i].slick,n),void 0!==t)return t;return o}});
2
3
4
5
6
7
8
9
10/*
11A simple jQuery function that can add listeners on attribute change.
12http://meetselva.github.io/attrchange/
13
14About License:
15Copyright (C) 2013-2014 Selvakumar Arumugam
16You may use attrchange plugin under the terms of the MIT Licese.
17https://github.com/meetselva/attrchange/blob/master/MIT-License.txt
18 */
19(function($) {
20	function isDOMAttrModifiedSupported() {
21		var p = document.createElement('p');
22		var flag = false;
23
24		if (p.addEventListener) {
25			p.addEventListener('DOMAttrModified', function() {
26				flag = true
27			}, false);
28		} else if (p.attachEvent) {
29			p.attachEvent('onDOMAttrModified', function() {
30				flag = true
31			});
32		} else { return false; }
33		p.setAttribute('id', 'target');
34		return flag;
35	}
36
37	function checkAttributes(chkAttr, e) {
38		if (chkAttr) {
39			var attributes = this.data('attr-old-value');
40
41			if (e.attributeName.indexOf('style') >= 0) {
42				if (!attributes['style'])
43					attributes['style'] = {}; //initialize
44				var keys = e.attributeName.split('.');
45				e.attributeName = keys[0];
46				e.oldValue = attributes['style'][keys[1]]; //old value
47				e.newValue = keys[1] + ':'
48						+ this.prop("style")[$.camelCase(keys[1])]; //new value
49				attributes['style'][keys[1]] = e.newValue;
50			} else {
51				e.oldValue = attributes[e.attributeName];
52				e.newValue = this.attr(e.attributeName);
53				attributes[e.attributeName] = e.newValue;
54			}
55
56			this.data('attr-old-value', attributes); //update the old value object
57		}
58	}
59
60	//initialize Mutation Observer
61	var MutationObserver = window.MutationObserver
62			|| window.WebKitMutationObserver;
63
64	$.fn.attrchange = function(a, b) {
65		if (typeof a == 'object') {//core
66			var cfg = {
67				trackValues : false,
68				callback : $.noop
69			};
70			//backward compatibility
71			if (typeof a === "function") { cfg.callback = a; } else { $.extend(cfg, a); }
72
73			if (cfg.trackValues) { //get attributes old value
74				this.each(function(i, el) {
75					var attributes = {};
76					for ( var attr, i = 0, attrs = el.attributes, l = attrs.length; i < l; i++) {
77						attr = attrs.item(i);
78						attributes[attr.nodeName] = attr.value;
79					}
80					$(this).data('attr-old-value', attributes);
81				});
82			}
83
84			if (MutationObserver) { //Modern Browsers supporting MutationObserver
85				var mOptions = {
86					subtree : false,
87					attributes : true,
88					attributeOldValue : cfg.trackValues
89				};
90				var observer = new MutationObserver(function(mutations) {
91					mutations.forEach(function(e) {
92						var _this = e.target;
93						//get new value if trackValues is true
94						if (cfg.trackValues) {							
95							e.newValue = $(_this).attr(e.attributeName);
96						}						
97						if (typeof $(this).data('attrchange-tdisconnect') === 'undefined') { //disconnected logically
98							cfg.callback.call(_this, e);
99						}
100					});
101				});
102
103				return this.data('attrchange-method', 'Mutation Observer')
104						.data('attrchange-obs', observer).each(function() {
105							observer.observe(this, mOptions);
106						});
107			} else if (isDOMAttrModifiedSupported()) { //Opera
108				//Good old Mutation Events
109				return this.data('attrchange-method', 'DOMAttrModified').on('DOMAttrModified', function(event) {
110					if (event.originalEvent) { event = event.originalEvent; }//jQuery normalization is not required 
111					event.attributeName = event.attrName; //property names to be consistent with MutationObserver
112					event.oldValue = event.prevValue; //property names to be consistent with MutationObserver
113					if (typeof $(this).data('attrchange-tdisconnect') === 'undefined') { //disconnected logically
114						cfg.callback.call(this, event);
115					}
116				});
117			} else if ('onpropertychange' in document.body) { //works only in IE		
118				return this.data('attrchange-method', 'propertychange').on('propertychange', function(e) {
119					e.attributeName = window.event.propertyName;
120					//to set the attr old value
121					checkAttributes.call($(this), cfg.trackValues, e);
122					if (typeof $(this).data('attrchange-tdisconnect') === 'undefined') { //disconnected logically
123						cfg.callback.call(this, e);
124					}
125				});
126			}
127			return this;
128		} else if (typeof a == 'string' && $.fn.attrchange.hasOwnProperty('extensions') &&
129				$.fn.attrchange['extensions'].hasOwnProperty(a)) { //extensions/options
130			return $.fn.attrchange['extensions'][a].call(this, b);
131		}
132	}
133})(jQuery);
134
135
136
137function initSlicker(){
138
139
140$(".slick_gallery_wrapper").each(function(el,se) {
141
142	e = $(se);
143
144	if(e.data('arrows') == 1){
145		showArrows = false;
146	}else{
147		showArrows = true;
148	}
149
150	if(e.data('columns')){
151		columns = e.data('columns');
152	}else{
153		columns = 3;
154	}
155
156	if(e.data('columns-mobile')){
157		columns_mobile = e.data('columns-mobile');
158	}else{
159		columns_mobile = 1;
160	}
161
162	if(e.data('photo-spacing')){
163		spacing = e.data('photo-spacing');
164	}else{
165		spacing = 3;
166	}	
167
168	if(e.data('dots') == 1){
169		showDots = true;
170	}else{
171		showDots = false;
172	}
173
174	if(e.data('height')){
175		baseHeight = e.data('photo-spacing');
176	}else{
177		baseHeight = '';
178	}
179
180
181
182	$(se).not('.slick-initialized').slick({
183		draggable:true,
184		centerPadding: '60px',
185		slidesToShow: columns,
186		dots:showDots,
187		arrows: showArrows,
188		infinite: false,
189		loop: false,
190		prevArrow:'<button class="slick-prev slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-angle-left" ></i></button>',
191		nextArrow:'<button class="slick-next slick-arrow" aria-label="Next" type="button" style=""><i class="fas fa-angle-right" ></i></button>',
192	  responsive: [
193	    {
194	      breakpoint: 768,
195	      settings: {
196	        arrows: showArrows,
197	        dots:showDots,
198	        centerPadding: '40px',
199	        slidesToShow: columns_mobile
200	      }
201	    },
202	    {
203	      breakpoint: 480,
204	      settings: {
205	        arrows: showArrows,
206	        dots:showDots,
207	        centerPadding: '40px',
208	        slidesToShow: columns_mobile
209	      }
210	    }
211	  ]
212	}).on('beforeChange', function(event, slick, currentSlide, nextSlide){
213		// $('.img-box.thumb').attr('sliding', 'true');
214  		// console.log('start');
215	}).on('afterChange', function(event, slick, currentSlide, nextSlide){
216		// $('.img-box.thumb').attr('sliding', 'false');
217  		// console.log('start');
218	}).on('swipe', function(event, slick, currentSlide, nextSlide){
219		// $('.img-box.thumb').attr('sliding', 'true');
220  		// console.log('start swi');
221	});
222
223
224});
225
226
227
228$(".slick_gallery_one_wrapper").each(function(el,se) {
229
230	e = $(se);
231
232	if(e.data('arrows') != 0){
233		showArrows = true;
234	}else{
235		showArrows = false;
236	}
237
238	if(e.data('dots') == 1){
239		showDots = true;
240	}else{
241		showDots = false;
242	}
243
244	if(e.data('speed') == 'fast'){
245		slideSpeed = true;
246	}else{
247		slideSpeed = false;
248	}
249
250	slideFade = false;
251	rtl = false;
252	cssEaser = '';
253	vertical = false;
254	
255	if(e.data('type')){
256		if(e.data('type') == 'fade'){
257			slideFade = true;
258		}
259		if(e.data('type') == 'rightleft'){
260			rtl = true;
261		}
262		if(e.data('type') == 'fadezoom'){
263			slideFade = true;
264			cssEaser = 'cubic-bezier(0.7, 0, 0.3, 1)';
265		}
266		if(e.data('type') == 'vertical'){
267			vertical = true;
268		}		
269	}
270
271 
272	$(se).not('.slick-initialized').slick({
273		vertical: vertical,
274		fade:slideFade,
275    	cssEase: cssEaser,
276		rtl: rtl,
277	  	slidesToShow: 1,
278  		adaptiveHeight: true,
279    	speed: slideSpeed ? 400 : 1000,
280	  	infinite: true,
281	  	dots:showDots,
282 		arrows: showArrows,
283        prevArrow:'<button class="slick-prev slick-arrow" aria-label="Previous" type="button" style=""><i class="fas fa-angle-left" ></i></button>',
284        nextArrow:'<button class="slick-next slick-arrow" aria-label="Next" type="button" style=""><i class="fas fa-angle-right" ></i></button>',
285
286	  responsive: [
287	    {
288	      breakpoint: 768,
289	      settings: {
290	        arrows: showArrows,
291	        dots:showDots,
292	        centerPadding: '40px',
293	        slidesToShow: 1
294	      }
295	    },
296	    {
297	      breakpoint: 480,
298	      settings: {
299	        arrows: showArrows,
300	        dots:showDots,
301	        centerPadding: '40px',
302	        slidesToShow: 1
303	      }
304	    }
305	  ]
306	});
307});
308
309
310
311
312}
313
314
315initSlicker();
316
317
318
319
320
321
322const isSrcsetSupported = 'srcset' in new Image();
323const swipingThreshold = 5;
324
325let $lightbox;
326let images = [];
327let currentIndex = 0;
328let wasSwiping = false;
329
330
331function initGallery() {
332    const $galleryItems = $('.gallery-item');
333    const $galleryThumbs = $galleryItems.find('.thumb');
334
335    const loadThumbnail = target => {
336
337        // get the src and srcset from the dataset of the gallery thumb
338        const src = target.dataset.src;
339        const srcset = target.dataset.srcset;
340
341        // create a temporary image
342        const tempImage = new Image();
343
344        // set the src or srcset of the temp img to preload the actual image file
345        if (isSrcsetSupported && srcset) {
346            tempImage.srcset = srcset;
347        } else if (src) {
348            tempImage.src = src;
349        }
350
351        // when the temp image is loaded, set the src or srcset to the gallery thumb
352        tempImage.onload = function () {
353            if (tempImage.srcset) {
354                target.srcset = srcset;
355            } else if (src) {
356                target.src = src;
357            }
358
359            target.classList.remove('placeholder');
360        }
361    };
362
363    if ('IntersectionObserver' in window) {
364        const observerOptions = {
365            rootMargin: '200px 0px'
366        }
367
368        const handleIntersectionObserver = entries => {
369            entries.forEach(entry => {
370                if (entry.isIntersecting) {
371                    loadThumbnail(entry.target);
372                    intersectionObserver.unobserve(entry.target);
373                }
374            });
375        };
376
377        const intersectionObserver = new IntersectionObserver(handleIntersectionObserver, observerOptions);
378
379        $galleryThumbs.each((i, el) => intersectionObserver.observe(el));
380
381    } else {
382        // Fallback for unsupported browsers
383        $galleryThumbs.each((i, el) => loadThumbnail(el));
384    }
385
386
387    $('.gallery-item').on('click',function(e) {
388	    const $currentTarget = $(e.currentTarget);
389	    const $currentGallery = $currentTarget.closest('.gallery');
390
391	    dd = $(this).closest('.gallery').attr('data-sliding');
392
393
394    	if(dd == "true"){
395
396    	}else{
397
398	        itemIndex = $(this).data('popup-index'); //$currentTarget.index();
399
400	        //set bg color
401	        if($currentGallery.data('bg-type') == 'light'){
402	        	$('.lightbox-wrapper').addClass('set-light');
403	        }else{
404	        	$('.lightbox-wrapper').removeClass('set-light');
405	        }
406
407	        if($(this).hasClass('nr-sq')){
408	        	// itemIndex = itemIndex-1;
409	        }
410	        console.log($(this).hasClass('nr-sq'))
411	        console.log([$currentGallery, itemIndex]);
412	        openLightbox($currentGallery, itemIndex);
413	        initSlides();
414	        addLightboxEventListeners();
415    	}
416
417 
418    });
419}
420
421function openLightbox($currentGallery, targetIndex) {
422    $lightbox.addClass('open');
423    $lightbox.parent('.lightbox-wrapper').fadeIn('fast');
424
425    images = [];
426    $currentGallery.find('.gallery-item').each((i, element) => {
427        const $currentImageEl = $(element).find('.thumb');
428        const currentItem = {
429            src: $currentImageEl.data('src'),
430            srcFallback: $currentImageEl.data('image-fallback'),
431            srcset: $currentImageEl.data('image-srcset'),
432            title: $currentImageEl.data('title')
433        }
434
435        images.push(currentItem);
436    });
437
438	// console.log(images);
439
440    currentIndex = targetIndex;
441    showInitialImage(targetIndex);
442    updateLightboxHeader(targetIndex);
443}
444
445function showInitialImage(index) {
446    const $prevSlide = $lightbox.find('.lightbox-slide[data-state="prev"]');
447    const $currentSlide = $lightbox.find('.lightbox-slide[data-state="current"]');
448    const $nextSlide = $lightbox.find('.lightbox-slide[data-state="next"]');
449    const $currentImage = $currentSlide.find('.lightbox-image');
450    const $spinner = $currentSlide.find('.spinner');
451
452    loadImage($currentSlide, index);
453
454    $currentImage.hide();
455    $spinner.show();
456
457    $currentImage.on('load.currentImage', e => {
458        loadImage($prevSlide, index - 1);
459        loadImage($nextSlide, index + 1);
460        $currentImage.off('load.currentImage');
461    });
462}
463
464function createLightbox() {
465    // ------------------------- //
466    // Create DOM Elements,
467    // Append Lightbox to Body
468    // ------------------------- //
469
470    const $lightboxWrapper = $('<div class="lightbox-wrapper">');
471    $lightbox = $('<div class="lightbox_g">');
472
473    // Header
474    const $lightboxHeader = $('<div class="lightbox-header">');
475    const $lightboxNumbers = $('<div class="lightbox-numbers"></div>');
476    const $lightboxTitle = $('<div class="lightbox-title"></div>');
477    const $lightboxClose = $('<button type="button" class="lightbox-close" aria-label="Close"></button>');
478    $lightboxHeader.append($lightboxNumbers, $lightboxTitle, $lightboxClose);
479    $lightbox.append($lightboxHeader);
480
481    // Slides Wrapper
482    const $slidesWrapper = $('<div class="lightbox-slides-wrapper"></div>');
483    $lightbox.append($slidesWrapper);
484
485    // Slides
486    const $prevSlide = $('<div class="lightbox-slide" data-state="prev"></div>');
487    const $currentSlide = $('<div class="lightbox-slide" data-state="current"></div>');
488    const $nextSlide = $('<div class="lightbox-slide" data-state="next"></div>');
489    $slidesWrapper.append($prevSlide, $currentSlide, $nextSlide);
490
491    // Image
492    const $lightboxImage = $('<img class="lightbox-image" src="" alt="Lightbox image" draggable="false">');
493    $currentSlide.append($lightboxImage);
494    $prevSlide.append($lightboxImage.clone());
495    $nextSlide.append($lightboxImage.clone());
496
497    // Loading Spinner
498    const $spinner = $('<div class="spinner spinner-border" role="status"><span class="sr-only">Loading... </span></div>');
499    $currentSlide.append($spinner);
500    $prevSlide.append($spinner.clone());
501    $nextSlide.append($spinner.clone());
502
503    // Arrows
504    const $lightboxArrowLeft = $('<div class="lightbox-arrow arrow-left"></div>');
505    const $lightboxArrowRight = $('<div class="lightbox-arrow arrow-right"></div>');
506    $lightbox.append($lightboxArrowLeft);
507    $lightbox.append($lightboxArrowRight);
508
509    // Footer
510    const $lightboxFooter = $('<div class="lightbox-footer">');
511    $lightbox.append($lightboxFooter);
512
513    // append lightbox to body
514    $lightbox.appendTo($lightboxWrapper);
515    $lightboxWrapper.appendTo($('body'));
516}
517
518function addLightboxEventListeners() {
519    // close lightbox when clicking on background
520    $lightbox.find('.lightbox-slide').on('click', e => {
521        if (e.currentTarget == e.target && !wasSwiping) closeLightbox();
522    });
523
524    // close lightbox when clicking on close button
525    $lightbox.find('.lightbox-close').on('click', e => {
526        closeLightbox();
527    });
528}
529
530function closeLightbox() {
531    const $lightboxWrapper = $('.lightbox-wrapper');
532    const $lightboxImage = $lightbox.find('.lightbox-image');
533
534    // close lightbox
535    $lightboxWrapper.removeClass('open').fadeOut('fast', () => {
536        $lightboxImage.attr('src', '');
537        $lightboxImage.attr('srcset', '');
538    });
539
540    // remove lightbox event listeners
541    $lightbox.find('.lightbox-slide').off();
542    $lightbox.find('.lightbox-close').off();
543    $lightbox.find('.lightbox-arrow').off();
544    $(document).off('keydown.lightbox');
545}
546
547// try avoiding jQuery in mouse and touch event handlers to improve performance
548function initSlides() {
549    const transitionDuration = 400;
550    let distance = 0;
551    let startPos = 0;
552    let slideWidth = 0;
553
554    let $currentSlide;
555    let currentSlideEl;
556    let prevSlideEl;
557    let nextSlideEl;
558
559    const updateSlideVariables = () => {
560        $currentSlide = $('.lightbox-slide[data-state="current"]');
561        currentSlideEl = $currentSlide[0];
562        prevSlideEl = document.querySelector('.lightbox-slide[data-state="prev"]');
563        nextSlideEl = document.querySelector('.lightbox-slide[data-state="next"]');
564    }
565
566    updateSlideVariables();
567
568    const handleSlideMove = event => {
569        const currentPos = event.type == 'touchmove' ? event.touches[0].clientX : event.clientX;
570        distance = currentPos - startPos;
571
572        if (distance < -swipingThreshold || distance > swipingThreshold) wasSwiping = true;
573
574        // move current slide and adjust opacity
575        currentSlideEl.style.transform = `translateX(${distance}px)`;
576        currentSlideEl.style.opacity = mapRange(Math.abs(distance), 0, slideWidth, 1, 0);
577
578        // TODO: reset slide if (currentPos > slideWidth || currentPos < 0)   (not sure if necessary)
579
580        if (distance < 0) {
581            // move next slide and adjust opacity
582            nextSlideEl.style.transform = `translateX(${slideWidth + distance}px)`;
583            nextSlideEl.style.opacity = mapRange(Math.abs(distance), 0, slideWidth, 0, 1);
584        } else {
585            // move previous slide and adjust opacity
586            prevSlideEl.style.transform = `translateX(${distance - slideWidth}px)`;
587            prevSlideEl.style.opacity = mapRange(Math.abs(distance), 0, slideWidth, 0, 1);
588        }
589    }
590
591    const handleMouseDownOrTouchStart = event => {
592        startPos = event.type == 'touchstart' ? event.touches[0].clientX : event.clientX;
593        slideWidth = currentSlideEl.offsetWidth;
594        wasSwiping = false;
595
596        currentSlideEl.style.transitionDuration = '0ms';
597        $currentSlide.on('mousemove touchmove', handleSlideMove);
598    }
599
600    const addSlideEventListeners = () => {
601        // mouse & touch event listener
602        $currentSlide.on('mousedown touchstart', handleMouseDownOrTouchStart);
603        $currentSlide.on('mouseup touchend touchcancel', handleMouseUpOrTouchEnd);
604
605        // keyboard event listener
606        $(document).on('keydown.lightbox', e => {
607            if (e.key == 'ArrowLeft') {
608                showPrevSlide();
609                updateLightbox('prev');
610            } else if (e.key == 'ArrowRight') {
611                showNextSlide();
612                updateLightbox('next');
613            } else if (e.key == 'Escape') closeLightbox();
614        });
615
616        // click on left arrow
617        $lightbox.find('.lightbox-arrow.arrow-left').on('click', e => {
618            showPrevSlide();
619            updateLightbox('prev');
620        });
621
622        // click on right arrow
623        $lightbox.find('.lightbox-arrow.arrow-right').on('click', e => {
624            showNextSlide();
625            updateLightbox('next');
626        });
627    }
628
629    removeSlideEventListeners = () => {
630        // mouse & touch event listener
631        $(currentSlideEl).off('mousedown touchstart');
632        $(currentSlideEl).off('mouseup touchend touchcancel');
633
634        // keyboard event listener
635        $(document).off('keydown.lightbox');
636
637        // arrow buttons event listener
638        $lightbox.find('.lightbox-arrow').off('click');
639    }
640
641    const transformSlide = (element, translateX, opacity) => {
642        element.style.transform = `translateX(${translateX})`;
643        element.style.opacity = opacity;
644        element.style.transitionDuration = `${transitionDuration}ms`;
645        $(element).off('mousemove touchmove');
646        distance = 0;
647    }
648
649    const showNextSlide = () => {
650        transformSlide(prevSlideEl, '100%', 0);
651        transformSlide(currentSlideEl, '-100%', 0);
652        transformSlide(nextSlideEl, '0px', 1);
653    }
654
655    const showPrevSlide = () => {
656        transformSlide(prevSlideEl, '0px', 1);
657        transformSlide(currentSlideEl, '100%', 0);
658        transformSlide(nextSlideEl, '-100%', 0);
659    }
660
661    const resetSlide = () => {
662        transformSlide(prevSlideEl, '-100%', 0);
663        transformSlide(currentSlideEl, '0px', 1);
664        transformSlide(nextSlideEl, '100%', 0);
665    }
666
667    const updateLightbox = (newSlide) => {
668        if (newSlide != 'current') removeSlideEventListeners();
669
670        setTimeout(() => {
671            // reset transition duration
672            [currentSlideEl, nextSlideEl, prevSlideEl].forEach(element => {
673                element.style.transitionDuration = '0ms';
674            });
675
676            let index;
677
678            if (newSlide == 'next') {
679                prevSlideEl.dataset.state = 'next';
680                nextSlideEl.dataset.state = 'current';
681                currentSlideEl.dataset.state = 'prev';
682
683                index = getLoopedIndex(currentIndex + 1);
684                loadImage($(prevSlideEl), index + 1);
685
686            } else if (newSlide == 'prev') {
687                prevSlideEl.dataset.state = 'current';
688                currentSlideEl.dataset.state = 'next';
689                nextSlideEl.dataset.state = 'prev';
690
691                index = getLoopedIndex(currentIndex - 1);
692                loadImage($(nextSlideEl), index - 1);
693
694            } else {
695                return;
696            }
697
698            updateSlideVariables();
699            addSlideEventListeners();
700            updateLightboxHeader(index);
701
702            currentIndex = index;
703
704        }, transitionDuration);
705    }
706
707    const handleMouseUpOrTouchEnd = event => {
708        const slideChangeThreshold = 150;
709
710        if (distance < -slideChangeThreshold) {
711            showNextSlide();
712            updateLightbox('next');
713        } else if (distance > slideChangeThreshold) {
714            showPrevSlide();
715            updateLightbox('prev');
716        } else {
717            resetSlide();
718            updateLightbox('current');
719        }
720    }
721
722    addSlideEventListeners();
723}
724
725function updateLightboxHeader(index) {
726    index = getLoopedIndex(index);
727    const title = images[index].title;
728
729    $lightbox.find('.lightbox-title').text(title);
730    $lightbox.find('.lightbox-numbers').text(index + 1 + '/' + images.length);
731}
732
733function loadImage($targetSlide, index) {
734    index = getLoopedIndex(index);
735
736    const $currentImage = $targetSlide.find('.lightbox-image');
737    const src = isSrcsetSupported ? images[index].src : images[index].srcFallback;
738    const srcset = images[index].srcset;
739
740    const tempImage = new Image();
741
742    if (isSrcsetSupported && srcset) {
743        tempImage.srcset = srcset;
744    } else {
745        tempImage.src = src;
746    }
747
748    $(tempImage).on('load.loadImage', e => {
749        if (isSrcsetSupported && srcset) {
750            $currentImage.attr('srcset', srcset);
751        } else {
752            $currentImage.attr('src', src);
753        }
754
755        $targetSlide.find('.spinner').hide();
756        $currentImage.show();
757        $currentImage.off('load.loadImage');
758    });
759}
760
761function getLoopedIndex(index) {
762    if (index > images.length - 1) return 0;
763    if (index < 0) return images.length - 1;
764    return index;
765}
766
767// Re-maps a number from one range to another.
768function mapRange(value, fromIn, toIn, fromOut, toOut) {
769    return fromOut + (toOut - fromOut) * (value - fromIn) / (toIn - fromIn);
770}
771
772
773
774initGallery();
775createLightbox();
776
777
778
779
780
781
782
783
784
785
786var to = null;
787
788	$(".slick-track").each(function(el,se) {
789		e = $(se);
790		 e.attrchange({
791		    trackValues: true, 
792		    callback: function(evnt) {
793		    	$('.slick_gallery_wrapper').attr('data-sliding', 'true');
794
795			  if(to){
796			     clearTimeout(to);
797			  }
798			  to = setTimeout(function(){
799				$('.slick_gallery_wrapper').attr('data-sliding', 'false');
800
801			  }, 200);
802
803		    }
804		});
805	})
806

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.