github.com/wanliu/go-oauth2-server@v0.0.0-20180817021415-f928fa1580df/public/slick/slick.min.js (about)

     1  !
     2  function(i) {
     3      "use strict";
     4      "function" == typeof define && define.amd ? define(["jquery"], i) : "undefined" != typeof exports ? module.exports = i(require("jquery")) : i(jQuery)
     5  } (function(i) {
     6      "use strict";
     7      var e = window.Slick || {}; (e = function() {
     8          var e = 0;
     9          return function(t, o) {
    10              var s, n = this;
    11              n.defaults = {
    12                  accessibility: !0,
    13                  adaptiveHeight: !1,
    14                  appendArrows: i(t),
    15                  appendDots: i(t),
    16                  arrows: !0,
    17                  asNavFor: null,
    18                  prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
    19                  nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>',
    20                  autoplay: !1,
    21                  autoplaySpeed: 3e3,
    22                  centerMode: !1,
    23                  centerPadding: "50px",
    24                  cssEase: "ease",
    25                  customPaging: function(e, t) {
    26                      return i('<button type="button" />').text(t + 1)
    27                  },
    28                  dots: !1,
    29                  dotsClass: "slick-dots",
    30                  draggable: !0,
    31                  easing: "linear",
    32                  edgeFriction: .35,
    33                  fade: !1,
    34                  focusOnSelect: !1,
    35                  focusOnChange: !1,
    36                  infinite: !0,
    37                  initialSlide: 0,
    38                  lazyLoad: "ondemand",
    39                  mobileFirst: !1,
    40                  pauseOnHover: !0,
    41                  pauseOnFocus: !0,
    42                  pauseOnDotsHover: !1,
    43                  respondTo: "window",
    44                  responsive: null,
    45                  rows: 1,
    46                  rtl: !1,
    47                  slide: "",
    48                  slidesPerRow: 1,
    49                  slidesToShow: 1,
    50                  slidesToScroll: 1,
    51                  speed: 500,
    52                  swipe: !0,
    53                  swipeToSlide: !1,
    54                  touchMove: !0,
    55                  touchThreshold: 5,
    56                  useCSS: !0,
    57                  useTransform: !0,
    58                  variableWidth: !1,
    59                  vertical: !1,
    60                  verticalSwiping: !1,
    61                  waitForAnimate: !0,
    62                  zIndex: 1e3
    63              },
    64              n.initials = {
    65                  animating: !1,
    66                  dragging: !1,
    67                  autoPlayTimer: null,
    68                  currentDirection: 0,
    69                  currentLeft: null,
    70                  currentSlide: 0,
    71                  direction: 1,
    72                  $dots: null,
    73                  listWidth: null,
    74                  listHeight: null,
    75                  loadIndex: 0,
    76                  $nextArrow: null,
    77                  $prevArrow: null,
    78                  scrolling: !1,
    79                  slideCount: null,
    80                  slideWidth: null,
    81                  $slideTrack: null,
    82                  $slides: null,
    83                  sliding: !1,
    84                  slideOffset: 0,
    85                  swipeLeft: null,
    86                  swiping: !1,
    87                  $list: null,
    88                  touchObject: {},
    89                  transformsEnabled: !1,
    90                  unslicked: !1
    91              },
    92              i.extend(n, n.initials),
    93              n.activeBreakpoint = null,
    94              n.animType = null,
    95              n.animProp = null,
    96              n.breakpoints = [],
    97              n.breakpointSettings = [],
    98              n.cssTransitions = !1,
    99              n.focussed = !1,
   100              n.interrupted = !1,
   101              n.hidden = "hidden",
   102              n.paused = !0,
   103              n.positionProp = null,
   104              n.respondTo = null,
   105              n.rowCount = 1,
   106              n.shouldClick = !0,
   107              n.$slider = i(t),
   108              n.$slidesCache = null,
   109              n.transformType = null,
   110              n.transitionType = null,
   111              n.visibilityChange = "visibilitychange",
   112              n.windowWidth = 0,
   113              n.windowTimer = null,
   114              s = i(t).data("slick") || {},
   115              n.options = i.extend({},
   116              n.defaults, o, s),
   117              n.currentSlide = n.options.initialSlide,
   118              n.originalSettings = n.options,
   119              void 0 !== document.mozHidden ? (n.hidden = "mozHidden", n.visibilityChange = "mozvisibilitychange") : void 0 !== document.webkitHidden && (n.hidden = "webkitHidden", n.visibilityChange = "webkitvisibilitychange"),
   120              n.autoPlay = i.proxy(n.autoPlay, n),
   121              n.autoPlayClear = i.proxy(n.autoPlayClear, n),
   122              n.autoPlayIterator = i.proxy(n.autoPlayIterator, n),
   123              n.changeSlide = i.proxy(n.changeSlide, n),
   124              n.clickHandler = i.proxy(n.clickHandler, n),
   125              n.selectHandler = i.proxy(n.selectHandler, n),
   126              n.setPosition = i.proxy(n.setPosition, n),
   127              n.swipeHandler = i.proxy(n.swipeHandler, n),
   128              n.dragHandler = i.proxy(n.dragHandler, n),
   129              n.keyHandler = i.proxy(n.keyHandler, n),
   130              n.instanceUid = e++,
   131              n.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/,
   132              n.registerBreakpoints(),
   133              n.init(!0)
   134          }
   135      } ()).prototype.activateADA = function() {
   136          this.$slideTrack.find(".slick-active").attr({
   137              "aria-hidden": "false"
   138          }).find("a, input, button, select").attr({
   139              tabindex: "0"
   140          })
   141      },
   142      e.prototype.addSlide = e.prototype.slickAdd = function(e, t, o) {
   143          var s = this;
   144          if ("boolean" == typeof t) o = t,
   145          t = null;
   146          else if (t < 0 || t >= s.slideCount) return ! 1;
   147          s.unload(),
   148          "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),
   149          s.$slides = s.$slideTrack.children(this.options.slide),
   150          s.$slideTrack.children(this.options.slide).detach(),
   151          s.$slideTrack.append(s.$slides),
   152          s.$slides.each(function(e, t) {
   153              i(t).attr("data-slick-index", e)
   154          }),
   155          s.$slidesCache = s.$slides,
   156          s.reinit()
   157      },
   158      e.prototype.animateHeight = function() {
   159          var i = this;
   160          if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) {
   161              var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
   162              i.$list.animate({
   163                  height: e
   164              },
   165              i.options.speed)
   166          }
   167      },
   168      e.prototype.animateSlide = function(e, t) {
   169          var o = {},
   170          s = this;
   171          s.animateHeight(),
   172          !0 === s.options.rtl && !1 === s.options.vertical && (e = -e),
   173          !1 === s.transformsEnabled ? !1 === s.options.vertical ? s.$slideTrack.animate({
   174              left: e
   175          },
   176          s.options.speed, s.options.easing, t) : s.$slideTrack.animate({
   177              top: e
   178          },
   179          s.options.speed, s.options.easing, t) : !1 === s.cssTransitions ? (!0 === s.options.rtl && (s.currentLeft = -s.currentLeft), i({
   180              animStart: s.currentLeft
   181          }).animate({
   182              animStart: e
   183          },
   184          {
   185              duration: s.options.speed,
   186              easing: s.options.easing,
   187              step: function(i) {
   188                  i = Math.ceil(i),
   189                  !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))
   190              },
   191              complete: function() {
   192                  t && t.call()
   193              }
   194          })) : (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() {
   195              s.disableTransition(),
   196              t.call()
   197          },
   198          s.options.speed))
   199      },
   200      e.prototype.getNavTarget = function() {
   201          var e = this,
   202          t = e.options.asNavFor;
   203          return t && null !== t && (t = i(t).not(e.$slider)),
   204          t
   205      },
   206      e.prototype.asNavFor = function(e) {
   207          var t = this.getNavTarget();
   208          null !== t && "object" == typeof t && t.each(function() {
   209              var t = i(this).slick("getSlick");
   210              t.unslicked || t.slideHandler(e, !0)
   211          })
   212      },
   213      e.prototype.applyTransition = function(i) {
   214          var e = this,
   215          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,
   216          !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t)
   217      },
   218      e.prototype.autoPlay = function() {
   219          var i = this;
   220          i.autoPlayClear(),
   221          i.slideCount > i.options.slidesToShow && (i.autoPlayTimer = setInterval(i.autoPlayIterator, i.options.autoplaySpeed))
   222      },
   223      e.prototype.autoPlayClear = function() {
   224          var i = this;
   225          i.autoPlayTimer && clearInterval(i.autoPlayTimer)
   226      },
   227      e.prototype.autoPlayIterator = function() {
   228          var i = this,
   229          e = i.currentSlide + i.options.slidesToScroll;
   230          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))
   231      },
   232      e.prototype.buildArrows = function() {
   233          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({
   234              "aria-disabled": "true",
   235              tabindex: "-1"
   236          }))
   237      },
   238      e.prototype.buildDots = function() {
   239          var e, t, o = this;
   240          if (!0 === o.options.dots) {
   241              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)));
   242              o.$dots = t.appendTo(o.options.appendDots),
   243              o.$dots.find("li").first().addClass("slick-active")
   244          }
   245      },
   246      e.prototype.buildOut = function() {
   247          var e = this;
   248          e.$slides = e.$slider.children(e.options.slide + ":not(.slick-cloned)").addClass("slick-slide"),
   249          e.slideCount = e.$slides.length,
   250          e.$slides.each(function(e, t) {
   251              i(t).attr("data-slick-index", e).data("originalStyling", i(t).attr("style") || "")
   252          }),
   253          e.$slider.addClass("slick-slider"),
   254          e.$slideTrack = 0 === e.slideCount ? i('<div class="slick-track"/>').appendTo(e.$slider) : e.$slides.wrapAll('<div class="slick-track"/>').parent(),
   255          e.$list = e.$slideTrack.wrap('<div class="slick-list"/>').parent(),
   256          e.$slideTrack.css("opacity", 0),
   257          !0 !== e.options.centerMode && !0 !== e.options.swipeToSlide || (e.options.slidesToScroll = 1),
   258          i("img[data-lazy]", e.$slider).not("[src]").addClass("slick-loading"),
   259          e.setupInfinite(),
   260          e.buildArrows(),
   261          e.buildDots(),
   262          e.updateDots(),
   263          e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide: 0),
   264          !0 === e.options.draggable && e.$list.addClass("draggable")
   265      },
   266      e.prototype.buildRows = function() {
   267          var i, e, t, o, s, n, r, l = this;
   268          if (o = document.createDocumentFragment(), n = l.$slider.children(), l.options.rows > 1) {
   269              for (r = l.options.slidesPerRow * l.options.rows, s = Math.ceil(n.length / r), i = 0; i < s; i++) {
   270                  var d = document.createElement("div");
   271                  for (e = 0; e < l.options.rows; e++) {
   272                      var a = document.createElement("div");
   273                      for (t = 0; t < l.options.slidesPerRow; t++) {
   274                          var c = i * r + (e * l.options.slidesPerRow + t);
   275                          n.get(c) && a.appendChild(n.get(c))
   276                      }
   277                      d.appendChild(a)
   278                  }
   279                  o.appendChild(d)
   280              }
   281              l.$slider.empty().append(o),
   282              l.$slider.children().children().children().css({
   283                  width: 100 / l.options.slidesPerRow + "%",
   284                  display: "inline-block"
   285              })
   286          }
   287      },
   288      e.prototype.checkResponsive = function(e, t) {
   289          var o, s, n, r = this,
   290          l = !1,
   291          d = r.$slider.width(),
   292          a = window.innerWidth || i(window).width();
   293          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) {
   294              s = null;
   295              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]));
   296              null !== s ? null !== r.activeBreakpoint ? (s !== r.activeBreakpoint || t) && (r.activeBreakpoint = s, "unslick" === r.breakpointSettings[s] ? r.unslick(s) : (r.options = i.extend({},
   297              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({},
   298              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),
   299              e || !1 === l || r.$slider.trigger("breakpoint", [r, l])
   300          }
   301      },
   302      e.prototype.changeSlide = function(e, t) {
   303          var o, s, n, r = this,
   304          l = i(e.currentTarget);
   305          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) {
   306          case "previous":
   307              s = 0 === o ? r.options.slidesToScroll: r.options.slidesToShow - o,
   308              r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide - s, !1, t);
   309              break;
   310          case "next":
   311              s = 0 === o ? r.options.slidesToScroll: o,
   312              r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide + s, !1, t);
   313              break;
   314          case "index":
   315              var d = 0 === e.data.index ? 0 : e.data.index || l.index() * r.options.slidesToScroll;
   316              r.slideHandler(r.checkNavigable(d), !1, t),
   317              l.children().trigger("focus");
   318              break;
   319          default:
   320              return
   321          }
   322      },
   323      e.prototype.checkNavigable = function(i) {
   324          var e, t;
   325          if (e = this.getNavigableIndexes(), t = 0, i > e[e.length - 1]) i = e[e.length - 1];
   326          else for (var o in e) {
   327              if (i < e[o]) {
   328                  i = t;
   329                  break
   330              }
   331              t = e[o]
   332          }
   333          return i
   334      },
   335      e.prototype.cleanUpEvents = function() {
   336          var e = this;
   337          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)),
   338          e.$slider.off("focus.slick blur.slick"),
   339          !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))),
   340          e.$list.off("touchstart.slick mousedown.slick", e.swipeHandler),
   341          e.$list.off("touchmove.slick mousemove.slick", e.swipeHandler),
   342          e.$list.off("touchend.slick mouseup.slick", e.swipeHandler),
   343          e.$list.off("touchcancel.slick mouseleave.slick", e.swipeHandler),
   344          e.$list.off("click.slick", e.clickHandler),
   345          i(document).off(e.visibilityChange, e.visibility),
   346          e.cleanUpSlideEvents(),
   347          !0 === e.options.accessibility && e.$list.off("keydown.slick", e.keyHandler),
   348          !0 === e.options.focusOnSelect && i(e.$slideTrack).children().off("click.slick", e.selectHandler),
   349          i(window).off("orientationchange.slick.slick-" + e.instanceUid, e.orientationChange),
   350          i(window).off("resize.slick.slick-" + e.instanceUid, e.resize),
   351          i("[draggable!=true]", e.$slideTrack).off("dragstart", e.preventDefault),
   352          i(window).off("load.slick.slick-" + e.instanceUid, e.setPosition)
   353      },
   354      e.prototype.cleanUpSlideEvents = function() {
   355          var e = this;
   356          e.$list.off("mouseenter.slick", i.proxy(e.interrupt, e, !0)),
   357          e.$list.off("mouseleave.slick", i.proxy(e.interrupt, e, !1))
   358      },
   359      e.prototype.cleanUpRows = function() {
   360          var i, e = this;
   361          e.options.rows > 1 && ((i = e.$slides.children().children()).removeAttr("style"), e.$slider.empty().append(i))
   362      },
   363      e.prototype.clickHandler = function(i) { ! 1 === this.shouldClick && (i.stopImmediatePropagation(), i.stopPropagation(), i.preventDefault())
   364      },
   365      e.prototype.destroy = function(e) {
   366          var t = this;
   367          t.autoPlayClear(),
   368          t.touchObject = {},
   369          t.cleanUpEvents(),
   370          i(".slick-cloned", t.$slider).detach(),
   371          t.$dots && t.$dots.remove(),
   372          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()),
   373          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()),
   374          t.$slides && (t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function() {
   375              i(this).attr("style", i(this).data("originalStyling"))
   376          }), t.$slideTrack.children(this.options.slide).detach(), t.$slideTrack.detach(), t.$list.detach(), t.$slider.append(t.$slides)),
   377          t.cleanUpRows(),
   378          t.$slider.removeClass("slick-slider"),
   379          t.$slider.removeClass("slick-initialized"),
   380          t.$slider.removeClass("slick-dotted"),
   381          t.unslicked = !0,
   382          e || t.$slider.trigger("destroy", [t])
   383      },
   384      e.prototype.disableTransition = function(i) {
   385          var e = this,
   386          t = {};
   387          t[e.transitionType] = "",
   388          !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t)
   389      },
   390      e.prototype.fadeSlide = function(i, e) {
   391          var t = this; ! 1 === t.cssTransitions ? (t.$slides.eq(i).css({
   392              zIndex: t.options.zIndex
   393          }), t.$slides.eq(i).animate({
   394              opacity: 1
   395          },
   396          t.options.speed, t.options.easing, e)) : (t.applyTransition(i), t.$slides.eq(i).css({
   397              opacity: 1,
   398              zIndex: t.options.zIndex
   399          }), e && setTimeout(function() {
   400              t.disableTransition(i),
   401              e.call()
   402          },
   403          t.options.speed))
   404      },
   405      e.prototype.fadeSlideOut = function(i) {
   406          var e = this; ! 1 === e.cssTransitions ? e.$slides.eq(i).animate({
   407              opacity: 0,
   408              zIndex: e.options.zIndex - 2
   409          },
   410          e.options.speed, e.options.easing) : (e.applyTransition(i), e.$slides.eq(i).css({
   411              opacity: 0,
   412              zIndex: e.options.zIndex - 2
   413          }))
   414      },
   415      e.prototype.filterSlides = e.prototype.slickFilter = function(i) {
   416          var e = this;
   417          null !== i && (e.$slidesCache = e.$slides, e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.filter(i).appendTo(e.$slideTrack), e.reinit())
   418      },
   419      e.prototype.focusHandler = function() {
   420          var e = this;
   421          e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*",
   422          function(t) {
   423              t.stopImmediatePropagation();
   424              var o = i(this);
   425              setTimeout(function() {
   426                  e.options.pauseOnFocus && (e.focussed = o.is(":focus"), e.autoPlay())
   427              },
   428              0)
   429          })
   430      },
   431      e.prototype.getCurrent = e.prototype.slickCurrentSlide = function() {
   432          return this.currentSlide
   433      },
   434      e.prototype.getDotCount = function() {
   435          var i = this,
   436          e = 0,
   437          t = 0,
   438          o = 0;
   439          if (!0 === i.options.infinite) if (i.slideCount <= i.options.slidesToShow)++o;
   440          else for (; e < i.slideCount;)++o,
   441          e = t + i.options.slidesToScroll,
   442          t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll: i.options.slidesToShow;
   443          else if (!0 === i.options.centerMode) o = i.slideCount;
   444          else if (i.options.asNavFor) for (; e < i.slideCount;)++o,
   445          e = t + i.options.slidesToScroll,
   446          t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll: i.options.slidesToShow;
   447          else o = 1 + Math.ceil((i.slideCount - i.options.slidesToShow) / i.options.slidesToScroll);
   448          return o - 1
   449      },
   450      e.prototype.getLeft = function(i) {
   451          var e, t, o, s, n = this,
   452          r = 0;
   453          return n.slideOffset = 0,
   454          t = n.$slides.first().outerHeight(!0),
   455          !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),
   456          n.slideCount <= n.options.slidesToShow && (n.slideOffset = 0, r = 0),
   457          !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)),
   458          e = !1 === n.options.vertical ? i * n.slideWidth * -1 + n.slideOffset: i * t * -1 + r,
   459          !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)),
   460          e
   461      },
   462      e.prototype.getOption = e.prototype.slickGetOption = function(i) {
   463          return this.options[i]
   464      },
   465      e.prototype.getNavigableIndexes = function() {
   466          var i, e = this,
   467          t = 0,
   468          o = 0,
   469          s = [];
   470          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),
   471          t = o + e.options.slidesToScroll,
   472          o += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll: e.options.slidesToShow;
   473          return s
   474      },
   475      e.prototype.getSlick = function() {
   476          return this
   477      },
   478      e.prototype.getSlideCount = function() {
   479          var e, t, o = this;
   480          return t = !0 === o.options.centerMode ? o.slideWidth * Math.floor(o.options.slidesToShow / 2) : 0,
   481          !0 === o.options.swipeToSlide ? (o.$slideTrack.find(".slick-slide").each(function(s, n) {
   482              if (n.offsetLeft - t + i(n).outerWidth() / 2 > -1 * o.swipeLeft) return e = n,
   483              !1
   484          }), Math.abs(i(e).attr("data-slick-index") - o.currentSlide) || 1) : o.options.slidesToScroll
   485      },
   486      e.prototype.goTo = e.prototype.slickGoTo = function(i, e) {
   487          this.changeSlide({
   488              data: {
   489                  message: "index",
   490                  index: parseInt(i)
   491              }
   492          },
   493          e)
   494      },
   495      e.prototype.init = function(e) {
   496          var t = this;
   497          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()),
   498          e && t.$slider.trigger("init", [t]),
   499          !0 === t.options.accessibility && t.initADA(),
   500          t.options.autoplay && (t.paused = !1, t.autoPlay())
   501      },
   502      e.prototype.initADA = function() {
   503          var e = this,
   504          t = Math.ceil(e.slideCount / e.options.slidesToShow),
   505          o = e.getNavigableIndexes().filter(function(i) {
   506              return i >= 0 && i < e.slideCount
   507          });
   508          e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({
   509              "aria-hidden": "true",
   510              tabindex: "-1"
   511          }).find("a, input, button, select").attr({
   512              tabindex: "-1"
   513          }),
   514          null !== e.$dots && (e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function(t) {
   515              var s = o.indexOf(t);
   516              i(this).attr({
   517                  role: "tabpanel",
   518                  id: "slick-slide" + e.instanceUid + t,
   519                  tabindex: -1
   520              }),
   521              -1 !== s && i(this).attr({
   522                  "aria-describedby": "slick-slide-control" + e.instanceUid + s
   523              })
   524          }), e.$dots.attr("role", "tablist").find("li").each(function(s) {
   525              var n = o[s];
   526              i(this).attr({
   527                  role: "presentation"
   528              }),
   529              i(this).find("button").first().attr({
   530                  role: "tab",
   531                  id: "slick-slide-control" + e.instanceUid + s,
   532                  "aria-controls": "slick-slide" + e.instanceUid + n,
   533                  "aria-label": s + 1 + " of " + t,
   534                  "aria-selected": null,
   535                  tabindex: "-1"
   536              })
   537          }).eq(e.currentSlide).find("button").attr({
   538              "aria-selected": "true",
   539              tabindex: "0"
   540          }).end());
   541          for (var s = e.currentSlide,
   542          n = s + e.options.slidesToShow; s < n; s++) e.$slides.eq(s).attr("tabindex", 0);
   543          e.activateADA()
   544      },
   545      e.prototype.initArrowEvents = function() {
   546          var i = this; ! 0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.off("click.slick").on("click.slick", {
   547              message: "previous"
   548          },
   549          i.changeSlide), i.$nextArrow.off("click.slick").on("click.slick", {
   550              message: "next"
   551          },
   552          i.changeSlide), !0 === i.options.accessibility && (i.$prevArrow.on("keydown.slick", i.keyHandler), i.$nextArrow.on("keydown.slick", i.keyHandler)))
   553      },
   554      e.prototype.initDotEvents = function() {
   555          var e = this; ! 0 === e.options.dots && (i("li", e.$dots).on("click.slick", {
   556              message: "index"
   557          },
   558          e.changeSlide), !0 === e.options.accessibility && e.$dots.on("keydown.slick", e.keyHandler)),
   559          !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))
   560      },
   561      e.prototype.initSlideEvents = function() {
   562          var e = this;
   563          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)))
   564      },
   565      e.prototype.initializeEvents = function() {
   566          var e = this;
   567          e.initArrowEvents(),
   568          e.initDotEvents(),
   569          e.initSlideEvents(),
   570          e.$list.on("touchstart.slick mousedown.slick", {
   571              action: "start"
   572          },
   573          e.swipeHandler),
   574          e.$list.on("touchmove.slick mousemove.slick", {
   575              action: "move"
   576          },
   577          e.swipeHandler),
   578          e.$list.on("touchend.slick mouseup.slick", {
   579              action: "end"
   580          },
   581          e.swipeHandler),
   582          e.$list.on("touchcancel.slick mouseleave.slick", {
   583              action: "end"
   584          },
   585          e.swipeHandler),
   586          e.$list.on("click.slick", e.clickHandler),
   587          i(document).on(e.visibilityChange, i.proxy(e.visibility, e)),
   588          !0 === e.options.accessibility && e.$list.on("keydown.slick", e.keyHandler),
   589          !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on("click.slick", e.selectHandler),
   590          i(window).on("orientationchange.slick.slick-" + e.instanceUid, i.proxy(e.orientationChange, e)),
   591          i(window).on("resize.slick.slick-" + e.instanceUid, i.proxy(e.resize, e)),
   592          i("[draggable!=true]", e.$slideTrack).on("dragstart", e.preventDefault),
   593          i(window).on("load.slick.slick-" + e.instanceUid, e.setPosition),
   594          i(e.setPosition)
   595      },
   596      e.prototype.initUI = function() {
   597          var i = this; ! 0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.show(), i.$nextArrow.show()),
   598          !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.show()
   599      },
   600      e.prototype.keyHandler = function(i) {
   601          var e = this;
   602          i.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === i.keyCode && !0 === e.options.accessibility ? e.changeSlide({
   603              data: {
   604                  message: !0 === e.options.rtl ? "next": "previous"
   605              }
   606          }) : 39 === i.keyCode && !0 === e.options.accessibility && e.changeSlide({
   607              data: {
   608                  message: !0 === e.options.rtl ? "previous": "next"
   609              }
   610          }))
   611      },
   612      e.prototype.lazyLoad = function() {
   613          function e(e) {
   614              i("img[data-lazy]", e).each(function() {
   615                  var e = i(this),
   616                  t = i(this).attr("data-lazy"),
   617                  o = i(this).attr("data-srcset"),
   618                  s = i(this).attr("data-sizes") || n.$slider.attr("data-sizes"),
   619                  r = document.createElement("img");
   620                  r.onload = function() {
   621                      e.animate({
   622                          opacity: 0
   623                      },
   624                      100,
   625                      function() {
   626                          o && (e.attr("srcset", o), s && e.attr("sizes", s)),
   627                          e.attr("src", t).animate({
   628                              opacity: 1
   629                          },
   630                          200,
   631                          function() {
   632                              e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")
   633                          }),
   634                          n.$slider.trigger("lazyLoaded", [n, e, t])
   635                      })
   636                  },
   637                  r.onerror = function() {
   638                      e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),
   639                      n.$slider.trigger("lazyLoadError", [n, e, t])
   640                  },
   641                  r.src = t
   642              })
   643          }
   644          var t, o, s, n = this;
   645          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,
   646          l = s,
   647          d = n.$slider.find(".slick-slide"), a = 0; a < n.options.slidesToScroll; a++) r < 0 && (r = n.slideCount - 1),
   648          t = (t = t.add(d.eq(r))).add(d.eq(l)),
   649          r--,
   650          l++;
   651          e(t),
   652          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))
   653      },
   654      e.prototype.loadSlider = function() {
   655          var i = this;
   656          i.setPosition(),
   657          i.$slideTrack.css({
   658              opacity: 1
   659          }),
   660          i.$slider.removeClass("slick-loading"),
   661          i.initUI(),
   662          "progressive" === i.options.lazyLoad && i.progressiveLazyLoad()
   663      },
   664      e.prototype.next = e.prototype.slickNext = function() {
   665          this.changeSlide({
   666              data: {
   667                  message: "next"
   668              }
   669          })
   670      },
   671      e.prototype.orientationChange = function() {
   672          var i = this;
   673          i.checkResponsive(),
   674          i.setPosition()
   675      },
   676      e.prototype.pause = e.prototype.slickPause = function() {
   677          var i = this;
   678          i.autoPlayClear(),
   679          i.paused = !0
   680      },
   681      e.prototype.play = e.prototype.slickPlay = function() {
   682          var i = this;
   683          i.autoPlay(),
   684          i.options.autoplay = !0,
   685          i.paused = !1,
   686          i.focussed = !1,
   687          i.interrupted = !1
   688      },
   689      e.prototype.postSlide = function(e) {
   690          var t = this;
   691          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()))
   692      },
   693      e.prototype.prev = e.prototype.slickPrev = function() {
   694          this.changeSlide({
   695              data: {
   696                  message: "previous"
   697              }
   698          })
   699      },
   700      e.prototype.preventDefault = function(i) {
   701          i.preventDefault()
   702      },
   703      e.prototype.progressiveLazyLoad = function(e) {
   704          e = e || 1;
   705          var t, o, s, n, r, l = this,
   706          d = i("img[data-lazy]", l.$slider);
   707          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() {
   708              s && (t.attr("srcset", s), n && t.attr("sizes", n)),
   709              t.attr("src", o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),
   710              !0 === l.options.adaptiveHeight && l.setPosition(),
   711              l.$slider.trigger("lazyLoaded", [l, t, o]),
   712              l.progressiveLazyLoad()
   713          },
   714          r.onerror = function() {
   715              e < 3 ? setTimeout(function() {
   716                  l.progressiveLazyLoad(e + 1)
   717              },
   718              500) : (t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), l.$slider.trigger("lazyLoadError", [l, t, o]), l.progressiveLazyLoad())
   719          },
   720          r.src = o) : l.$slider.trigger("allImagesLoaded", [l])
   721      },
   722      e.prototype.refresh = function(e) {
   723          var t, o, s = this;
   724          o = s.slideCount - s.options.slidesToShow,
   725          !s.options.infinite && s.currentSlide > o && (s.currentSlide = o),
   726          s.slideCount <= s.options.slidesToShow && (s.currentSlide = 0),
   727          t = s.currentSlide,
   728          s.destroy(!0),
   729          i.extend(s, s.initials, {
   730              currentSlide: t
   731          }),
   732          s.init(),
   733          e || s.changeSlide({
   734              data: {
   735                  message: "index",
   736                  index: t
   737              }
   738          },
   739          !1)
   740      },
   741      e.prototype.registerBreakpoints = function() {
   742          var e, t, o, s = this,
   743          n = s.options.responsive || null;
   744          if ("array" === i.type(n) && n.length) {
   745              s.respondTo = s.options.respondTo || "window";
   746              for (e in n) if (o = s.breakpoints.length - 1, n.hasOwnProperty(e)) {
   747                  for (t = n[e].breakpoint; o >= 0;) s.breakpoints[o] && s.breakpoints[o] === t && s.breakpoints.splice(o, 1),
   748                  o--;
   749                  s.breakpoints.push(t),
   750                  s.breakpointSettings[t] = n[e].settings
   751              }
   752              s.breakpoints.sort(function(i, e) {
   753                  return s.options.mobileFirst ? i - e: e - i
   754              })
   755          }
   756      },
   757      e.prototype.reinit = function() {
   758          var e = this;
   759          e.$slides = e.$slideTrack.children(e.options.slide).addClass("slick-slide"),
   760          e.slideCount = e.$slides.length,
   761          e.currentSlide >= e.slideCount && 0 !== e.currentSlide && (e.currentSlide = e.currentSlide - e.options.slidesToScroll),
   762          e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0),
   763          e.registerBreakpoints(),
   764          e.setProps(),
   765          e.setupInfinite(),
   766          e.buildArrows(),
   767          e.updateArrows(),
   768          e.initArrowEvents(),
   769          e.buildDots(),
   770          e.updateDots(),
   771          e.initDotEvents(),
   772          e.cleanUpSlideEvents(),
   773          e.initSlideEvents(),
   774          e.checkResponsive(!1, !0),
   775          !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on("click.slick", e.selectHandler),
   776          e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide: 0),
   777          e.setPosition(),
   778          e.focusHandler(),
   779          e.paused = !e.options.autoplay,
   780          e.autoPlay(),
   781          e.$slider.trigger("reInit", [e])
   782      },
   783      e.prototype.resize = function() {
   784          var e = this;
   785          i(window).width() !== e.windowWidth && (clearTimeout(e.windowDelay), e.windowDelay = window.setTimeout(function() {
   786              e.windowWidth = i(window).width(),
   787              e.checkResponsive(),
   788              e.unslicked || e.setPosition()
   789          },
   790          50))
   791      },
   792      e.prototype.removeSlide = e.prototype.slickRemove = function(i, e, t) {
   793          var o = this;
   794          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;
   795          o.unload(),
   796          !0 === t ? o.$slideTrack.children().remove() : o.$slideTrack.children(this.options.slide).eq(i).remove(),
   797          o.$slides = o.$slideTrack.children(this.options.slide),
   798          o.$slideTrack.children(this.options.slide).detach(),
   799          o.$slideTrack.append(o.$slides),
   800          o.$slidesCache = o.$slides,
   801          o.reinit()
   802      },
   803      e.prototype.setCSS = function(i) {
   804          var e, t, o = this,
   805          s = {}; ! 0 === o.options.rtl && (i = -i),
   806          e = "left" == o.positionProp ? Math.ceil(i) + "px": "0px",
   807          t = "top" == o.positionProp ? Math.ceil(i) + "px": "0px",
   808          s[o.positionProp] = i,
   809          !1 === o.transformsEnabled ? o.$slideTrack.css(s) : (s = {},
   810          !1 === o.cssTransitions ? (s[o.animType] = "translate(" + e + ", " + t + ")", o.$slideTrack.css(s)) : (s[o.animType] = "translate3d(" + e + ", " + t + ", 0px)", o.$slideTrack.css(s)))
   811      },
   812      e.prototype.setDimensions = function() {
   813          var i = this; ! 1 === i.options.vertical ? !0 === i.options.centerMode && i.$list.css({
   814              padding: "0px " + i.options.centerPadding
   815          }) : (i.$list.height(i.$slides.first().outerHeight(!0) * i.options.slidesToShow), !0 === i.options.centerMode && i.$list.css({
   816              padding: i.options.centerPadding + " 0px"
   817          })),
   818          i.listWidth = i.$list.width(),
   819          i.listHeight = i.$list.height(),
   820          !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)));
   821          var e = i.$slides.first().outerWidth(!0) - i.$slides.first().width(); ! 1 === i.options.variableWidth && i.$slideTrack.children(".slick-slide").width(i.slideWidth - e)
   822      },
   823      e.prototype.setFade = function() {
   824          var e, t = this;
   825          t.$slides.each(function(o, s) {
   826              e = t.slideWidth * o * -1,
   827              !0 === t.options.rtl ? i(s).css({
   828                  position: "relative",
   829                  right: e,
   830                  top: 0,
   831                  zIndex: t.options.zIndex - 2,
   832                  opacity: 0
   833              }) : i(s).css({
   834                  position: "relative",
   835                  left: e,
   836                  top: 0,
   837                  zIndex: t.options.zIndex - 2,
   838                  opacity: 0
   839              })
   840          }),
   841          t.$slides.eq(t.currentSlide).css({
   842              zIndex: t.options.zIndex - 1,
   843              opacity: 1
   844          })
   845      },
   846      e.prototype.setHeight = function() {
   847          var i = this;
   848          if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) {
   849              var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
   850              i.$list.css("height", e)
   851          }
   852      },
   853      e.prototype.setOption = e.prototype.slickSetOption = function() {
   854          var e, t, o, s, n, r = this,
   855          l = !1;
   856          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;
   857          else if ("multiple" === n) i.each(o,
   858          function(i, e) {
   859              r.options[i] = e
   860          });
   861          else if ("responsive" === n) for (t in s) if ("array" !== i.type(r.options.responsive)) r.options.responsive = [s[t]];
   862          else {
   863              for (e = r.options.responsive.length - 1; e >= 0;) r.options.responsive[e].breakpoint === s[t].breakpoint && r.options.responsive.splice(e, 1),
   864              e--;
   865              r.options.responsive.push(s[t])
   866          }
   867          l && (r.unload(), r.reinit())
   868      },
   869      e.prototype.setPosition = function() {
   870          var i = this;
   871          i.setDimensions(),
   872          i.setHeight(),
   873          !1 === i.options.fade ? i.setCSS(i.getLeft(i.currentSlide)) : i.setFade(),
   874          i.$slider.trigger("setPosition", [i])
   875      },
   876      e.prototype.setProps = function() {
   877          var i = this,
   878          e = document.body.style;
   879          i.positionProp = !0 === i.options.vertical ? "top": "left",
   880          "top" === i.positionProp ? i.$slider.addClass("slick-vertical") : i.$slider.removeClass("slick-vertical"),
   881          void 0 === e.WebkitTransition && void 0 === e.MozTransition && void 0 === e.msTransition || !0 === i.options.useCSS && (i.cssTransitions = !0),
   882          i.options.fade && ("number" == typeof i.options.zIndex ? i.options.zIndex < 3 && (i.options.zIndex = 3) : i.options.zIndex = i.defaults.zIndex),
   883          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)),
   884          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)),
   885          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)),
   886          void 0 !== e.msTransform && (i.animType = "msTransform", i.transformType = "-ms-transform", i.transitionType = "msTransition", void 0 === e.msTransform && (i.animType = !1)),
   887          void 0 !== e.transform && !1 !== i.animType && (i.animType = "transform", i.transformType = "transform", i.transitionType = "transition"),
   888          i.transformsEnabled = i.options.useTransform && null !== i.animType && !1 !== i.animType
   889      },
   890      e.prototype.setSlideClasses = function(i) {
   891          var e, t, o, s, n = this;
   892          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) {
   893              var r = n.options.slidesToShow % 2 == 0 ? 1 : 0;
   894              e = Math.floor(n.options.slidesToShow / 2),
   895              !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")),
   896              n.$slides.eq(i).addClass("slick-center")
   897          } 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"));
   898          "ondemand" !== n.options.lazyLoad && "anticipated" !== n.options.lazyLoad || n.lazyLoad()
   899      },
   900      e.prototype.setupInfinite = function() {
   901          var e, t, o, s = this;
   902          if (!0 === s.options.fade && (s.options.centerMode = !1), !0 === s.options.infinite && !1 === s.options.fade && (t = null, s.slideCount > s.options.slidesToShow)) {
   903              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,
   904              i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t - s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");
   905              for (e = 0; e < o + s.slideCount; e += 1) t = e,
   906              i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t + s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");
   907              s.$slideTrack.find(".slick-cloned").find("[id]").each(function() {
   908                  i(this).attr("id", "")
   909              })
   910          }
   911      },
   912      e.prototype.interrupt = function(i) {
   913          var e = this;
   914          i || e.autoPlay(),
   915          e.interrupted = i
   916      },
   917      e.prototype.selectHandler = function(e) {
   918          var t = this,
   919          o = i(e.target).is(".slick-slide") ? i(e.target) : i(e.target).parents(".slick-slide"),
   920          s = parseInt(o.attr("data-slick-index"));
   921          s || (s = 0),
   922          t.slideCount <= t.options.slidesToShow ? t.slideHandler(s, !1, !0) : t.slideHandler(s)
   923      },
   924      e.prototype.slideHandler = function(i, e, t) {
   925          var o, s, n, r, l, d = null,
   926          a = this;
   927          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,
   928          function() {
   929              a.postSlide(o)
   930          }) : a.postSlide(o));
   931          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,
   932          function() {
   933              a.postSlide(o)
   934          }) : a.postSlide(o));
   935          else {
   936              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 + o: 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,
   937              function() {
   938                  a.postSlide(s)
   939              })) : a.postSlide(s),
   940              void a.animateHeight(); ! 0 !== t ? a.animateSlide(d,
   941              function() {
   942                  a.postSlide(s)
   943              }) : a.postSlide(s)
   944          }
   945      },
   946      e.prototype.startLoad = function() {
   947          var i = this; ! 0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.hide(), i.$nextArrow.hide()),
   948          !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.hide(),
   949          i.$slider.addClass("slick-loading")
   950      },
   951      e.prototype.swipeDirection = function() {
   952          var i, e, t, o, s = this;
   953          return i = s.touchObject.startX - s.touchObject.curX,
   954          e = s.touchObject.startY - s.touchObject.curY,
   955          t = Math.atan2(e, i),
   956          (o = Math.round(180 * t / Math.PI)) < 0 && (o = 360 - Math.abs(o)),
   957          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"
   958      },
   959      e.prototype.swipeEnd = function(i) {
   960          var e, t, o = this;
   961          if (o.dragging = !1, o.swiping = !1, o.scrolling) return o.scrolling = !1,
   962          !1;
   963          if (o.interrupted = !1, o.shouldClick = !(o.touchObject.swipeLength > 10), void 0 === o.touchObject.curX) return ! 1;
   964          if (!0 === o.touchObject.edgeHit && o.$slider.trigger("edge", [o, o.swipeDirection()]), o.touchObject.swipeLength >= o.touchObject.minSwipe) {
   965              switch (t = o.swipeDirection()) {
   966              case "left":
   967              case "down":
   968                  e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide + o.getSlideCount()) : o.currentSlide + o.getSlideCount(),
   969                  o.currentDirection = 0;
   970                  break;
   971              case "right":
   972              case "up":
   973                  e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide - o.getSlideCount()) : o.currentSlide - o.getSlideCount(),
   974                  o.currentDirection = 1
   975              }
   976              "vertical" != t && (o.slideHandler(e), o.touchObject = {},
   977              o.$slider.trigger("swipe", [o, t]))
   978          } else o.touchObject.startX !== o.touchObject.curX && (o.slideHandler(o.currentSlide), o.touchObject = {})
   979      },
   980      e.prototype.swipeHandler = function(i) {
   981          var e = this;
   982          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) {
   983          case "start":
   984              e.swipeStart(i);
   985              break;
   986          case "move":
   987              e.swipeMove(i);
   988              break;
   989          case "end":
   990              e.swipeEnd(i)
   991          }
   992      },
   993      e.prototype.swipeMove = function(i) {
   994          var e, t, o, s, n, r, l = this;
   995          return n = void 0 !== i.originalEvent ? i.originalEvent.touches: null,
   996          !(!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))))
   997      },
   998      e.prototype.swipeStart = function(i) {
   999          var e, t = this;
  1000          if (t.interrupted = !0, 1 !== t.touchObject.fingerCount || t.slideCount <= t.options.slidesToShow) return t.touchObject = {},
  1001          !1;
  1002          void 0 !== i.originalEvent && void 0 !== i.originalEvent.touches && (e = i.originalEvent.touches[0]),
  1003          t.touchObject.startX = t.touchObject.curX = void 0 !== e ? e.pageX: i.clientX,
  1004          t.touchObject.startY = t.touchObject.curY = void 0 !== e ? e.pageY: i.clientY,
  1005          t.dragging = !0
  1006      },
  1007      e.prototype.unfilterSlides = e.prototype.slickUnfilter = function() {
  1008          var i = this;
  1009          null !== i.$slidesCache && (i.unload(), i.$slideTrack.children(this.options.slide).detach(), i.$slidesCache.appendTo(i.$slideTrack), i.reinit())
  1010      },
  1011      e.prototype.unload = function() {
  1012          var e = this;
  1013          i(".slick-cloned", e.$slider).remove(),
  1014          e.$dots && e.$dots.remove(),
  1015          e.$prevArrow && e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.remove(),
  1016          e.$nextArrow && e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.remove(),
  1017          e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "")
  1018      },
  1019      e.prototype.unslick = function(i) {
  1020          var e = this;
  1021          e.$slider.trigger("unslick", [e, i]),
  1022          e.destroy()
  1023      },
  1024      e.prototype.updateArrows = function() {
  1025          var i = this;
  1026          Math.floor(i.options.slidesToShow / 2),
  1027          !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")))
  1028      },
  1029      e.prototype.updateDots = function() {
  1030          var i = this;
  1031          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"))
  1032      },
  1033      e.prototype.visibility = function() {
  1034          var i = this;
  1035          i.options.autoplay && (document[i.hidden] ? i.interrupted = !0 : i.interrupted = !1)
  1036      },
  1037      i.fn.slick = function() {
  1038          var i, t, o = this,
  1039          s = arguments[0],
  1040          n = Array.prototype.slice.call(arguments, 1),
  1041          r = o.length;
  1042          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;
  1043          return o
  1044      }
  1045  });