1/*! 2 * Glide.js v3.4.1 3 * (c) 2013-2019 JÄdrzej ChaÅubek <[email protected]> (http://jedrzejchalubek.com/) 4 * Released under the MIT License. 5 */ 6!function (t, e) { 7 "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : t.Glide = e() 8}(this, function () { 9 "use strict"; 10 var n = { 11 type: "slider", 12 startAt: 0, 13 perView: 1, 14 focusAt: 0, 15 gap: 10, 16 autoplay: !1, 17 hoverpause: !0, 18 keyboard: !0, 19 bound: !1, 20 swipeThreshold: 80, 21 dragThreshold: 120, 22 perTouch: !1, 23 touchRatio: .5, 24 touchAngle: 45, 25 animationDuration: 400, 26 rewind: !0, 27 rewindDuration: 800, 28 animationTimingFunc: "cubic-bezier(.165, .840, .440, 1)", 29 throttle: 10, 30 direction: "ltr", 31 peek: 0, 32 breakpoints: {}, 33 classes: { 34 direction: {ltr: "glide--ltr", rtl: "glide--rtl"}, 35 slider: "glide--slider", 36 carousel: "glide--carousel", 37 swipeable: "glide--swipeable", 38 dragging: "glide--dragging", 39 cloneSlide: "glide__slide--clone", 40 activeNav: "glide__bullet--active", 41 activeSlide: "glide__slide--active", 42 disabledArrow: "glide__arrow--disabled" 43 } 44 }; 45 46 function i(t, e) { 47 if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") 48 } 49 50 var r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) { 51 return typeof t 52 } : function (t) { 53 return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t 54 }, t = function (t, e, n) { 55 return e && o(t.prototype, e), n && o(t, n), t 56 }; 57 58 function o(t, e) { 59 for (var n = 0; n < e.length; n++) { 60 var i = e[n]; 61 i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i) 62 } 63 } 64 65 var a = Object.assign || function (t) { 66 for (var e = 1; e < arguments.length; e++) { 67 var n = arguments[e]; 68 for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i]) 69 } 70 return t 71 }; 72 73 function y(t) { 74 return parseInt(t) 75 } 76 77 function s(t) { 78 return "string" == typeof t 79 } 80 81 function u(t) { 82 var e = void 0 === t ? "undefined" : r(t); 83 return "function" === e || "object" === e && !!t 84 } 85 86 function c(t) { 87 return "function" == typeof t 88 } 89 90 function l(t) { 91 return void 0 === t 92 } 93 94 function f(t) { 95 return t.constructor === Array 96 } 97 98 function d(t, e, n) { 99 Object.defineProperty(t, e, n) 100 } 101 102 function h(t, e) { 103 var n = a({}, t, e); 104 return e.hasOwnProperty("classes") && (n.classes = a({}, t.classes, e.classes), e.classes.hasOwnProperty("direction") && (n.classes.direction = a({}, t.classes.direction, e.classes.direction))), e.hasOwnProperty("breakpoints") && (n.breakpoints = a({}, t.breakpoints, e.breakpoints)), n 105 } 106 107 var v = (t(e, [{ 108 key: "on", value: function (t, e) { 109 if (f(t)) for (var n = 0; n < t.length; n++) this.on(t[n], e); 110 this.hop.call(this.events, t) || (this.events[t] = []); 111 var i = this.events[t].push(e) - 1; 112 return { 113 remove: function () { 114 delete this.events[t][i] 115 } 116 } 117 } 118 }, { 119 key: "emit", value: function (t, e) { 120 if (f(t)) for (var n = 0; n < t.length; n++) this.emit(t[n], e); 121 this.hop.call(this.events, t) && this.events[t].forEach(function (t) { 122 t(e || {}) 123 }) 124 } 125 }]), e); 126 127 function e() { 128 var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}; 129 i(this, e), this.events = t, this.hop = t.hasOwnProperty 130 } 131 132 var p = (t(m, [{ 133 key: "mount", value: function (t) { 134 var e = 0 < arguments.length && void 0 !== t ? t : {}; 135 return this._e.emit("mount.before"), u(e) && (this._c = function (t, e, n) { 136 var i = {}; 137 for (var r in e) c(e[r]) && (i[r] = e[r](t, i, n)); 138 for (var o in i) c(i[o].mount) && i[o].mount(); 139 return i 140 }(this, e, this._e)), this._e.emit("mount.after"), this 141 } 142 }, {
143 key: "mutate", value: function (t) { 144 var e = 0 < arguments.length && void 0 !== t ? t : []; 145 return f(e) && (this._t = e), this 146 } 147 }, { 148 key: "update", value: function (t) { 149 var e = 0 < arguments.length && void 0 !== t ? t : {}; 150 return this.settings = h(this.settings, e), e.hasOwnProperty("startAt") && (this.index = e.startAt), this._e.emit("update"), this 151 } 152 }, { 153 key: "go", value: function (t) { 154 return this._c.Run.make(t), this 155 } 156 }, { 157 key: "move", value: function (t) { 158 return this._c.Transition.disable(), this._c.Move.make(t), this 159 } 160 }, { 161 key: "destroy", value: function () { 162 return this._e.emit("destroy"), this 163 } 164 }, { 165 key: "play", value: function (t) { 166 var e = 0 < arguments.length && void 0 !== t && t; 167 return e && (this.settings.autoplay = e), this._e.emit("play"), this 168 } 169 }, { 170 key: "pause", value: function () { 171 return this._e.emit("pause"), this 172 } 173 }, { 174 key: "disable", value: function () { 175 return this.disabled = !0, this 176 } 177 }, { 178 key: "enable", value: function () { 179 return this.disabled = !1, this 180 } 181 }, { 182 key: "on", value: function (t, e) { 183 return this._e.on(t, e), this 184 } 185 }, { 186 key: "isType", value: function (t) { 187 return this.settings.type === t 188 } 189 }, { 190 key: "settings", get: function () { 191 return this._o 192 }, set: function (t) { 193 u(t) && (this._o = t) 194 } 195 }, { 196 key: "index", get: function () { 197 return this._i 198 }, set: function (t) { 199 this._i = y(t) 200 } 201 }, { 202 key: "type", get: function () { 203 return this.settings.type 204 } 205 }, { 206 key: "disabled", get: function () { 207 return this._d 208 }, set: function (t) { 209 this._d = !!t 210 } 211 }]), m); 212 213 function m(t) { 214 var e = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}; 215 i(this, m), this._c = {}, this._t = [], this._e = new v, this.disabled = !1, this.selector = t, this.settings = h(n, e), this.index = this.settings.startAt 216 } 217 218 function g() { 219 return (new Date).getTime() 220 } 221 222 function b(n, i, r) { 223 var o = void 0, s = void 0, u = void 0, a = void 0, c = 0; 224 r = r || {}; 225 226 function l() { 227 c = !1 === r.leading ? 0 : g(), o = null, a = n.apply(s, u), o || (s = u = null) 228 } 229 230 function t() { 231 var t = g(); 232 c || !1 !== r.leading || (c = t); 233 var e = i - (t - c); 234 return s = this, u = arguments, e <= 0 || i < e ? (o && (clearTimeout(o), o = null), c = t, a = n.apply(s, u), o || (s = u = null)) : o || !1 === r.trailing || (o = setTimeout(l, e)), a 235 } 236 237 return t.cancel = function () { 238 clearTimeout(o), c = 0, o = s = u = null 239 }, t 240 } 241 242 var w = {ltr: ["marginLeft", "marginRight"], rtl: ["marginRight", "marginLeft"]}; 243 244 function _(t) { 245 if (t && t.parentNode) { 246 for (var e = t.parentNode.firstChild, n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e); 247 return n 248 } 249 return [] 250 } 251 252 function k(t) { 253 return !!(t && t instanceof window.HTMLElement) 254 } 255 256 var S = '[data-glide-el="track"]'; 257 var H = (t(T, [{ 258 key: "on", value: function (t, e, n, i) { 259 var r = 3 < arguments.length && void 0 !== i && i; 260 s(t) && (t = [t]); 261 for (var o = 0; o < t.length; o++) this.listeners[t[o]] = n, e.addEventListener(t[o], this.listeners[t[o]], r) 262 } 263 }, { 264 key: "off", value: function (t, e, n) { 265 var i = 2 < arguments.length && void 0 !== n && n; 266 s(t) && (t = [t]); 267 for (var r = 0; r < t.length; r++) e.removeEventListener(t[r], this.listeners[t[r]], i) 268 } 269 }, {
270 key: "destroy", value: function () { 271 delete this.listeners 272 } 273 }]), T); 274 275 function T() { 276 var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}; 277 i(this, T), this.listeners = t 278 } 279 280 var x = ["ltr", "rtl"], O = {">": "<", "<": ">", "=": "="}; 281 282 function A(t, e) { 283 return { 284 modify: function (t) { 285 return e.Direction.is("rtl") ? -t : t 286 } 287 } 288 } 289 290 function M(i, r, o) { 291 var s = [function (e, n) { 292 return { 293 modify: function (t) { 294 return t + n.Gaps.value * e.index 295 } 296 } 297 }, function (t, e) { 298 return { 299 modify: function (t) { 300 return t + e.Clones.grow / 2 301 } 302 } 303 }, function (n, i) { 304 return { 305 modify: function (t) { 306 if (0 <= n.settings.focusAt) { 307 var e = i.Peek.value; 308 return u(e) ? t - e.before : t - e 309 } 310 return t 311 } 312 } 313 }, function (o, s) { 314 return { 315 modify: function (t) { 316 var e = s.Gaps.value, n = s.Sizes.width, i = o.settings.focusAt, r = s.Sizes.slideWidth; 317 return "center" === i ? t - (n / 2 - r / 2) : t - r * i - e * i 318 } 319 } 320 }].concat(i._t, [A]); 321 return { 322 mutate: function (t) { 323 for (var e = 0; e < s.length; e++) { 324 var n = s[e]; 325 c(n) && c(n().modify) && (t = n(i, r, o).modify(t)) 326 } 327 return t 328 } 329 } 330 } 331 332 var C = !1; 333 try { 334 var P = Object.defineProperty({}, "passive", { 335 get: function () { 336 C = !0 337 } 338 }); 339 window.addEventListener("testPassive", null, P), window.removeEventListener("testPassive", null, P) 340 } catch (t) { 341 } 342 var L = C, z = ["touchstart", "mousedown"], j = ["touchmove", "mousemove"],
343 D = ["touchend", "touchcancel", "mouseup", "mouseleave"], 344 E = ["mousedown", "mousemove", "mouseup", "mouseleave"]; 345 346 function R(t) { 347 return u(t) ? function (n) { 348 return Object.keys(n).sort().reduce(function (t, e) { 349 return t[e] = n[e], t[e], t 350 }, {}) 351 }(t) : {} 352 } 353 354 var W = { 355 Html: function (e, t) { 356 var n = { 357 mount: function () { 358 this.root = e.selector, this.track = this.root.querySelector(S), this.slides = Array.prototype.slice.call(this.wrapper.children).filter(function (t) { 359 return !t.classList.contains(e.settings.classes.cloneSlide) 360 }) 361 } 362 }; 363 return d(n, "root", { 364 get: function () { 365 return n._r 366 }, set: function (t) { 367 s(t) && (t = document.querySelector(t)), k(t) && (n._r = t) 368 } 369 }), d(n, "track", { 370 get: function () { 371 return n._t 372 }, set: function (t) { 373 k(t) && (n._t = t) 374 } 375 }), d(n, "wrapper", { 376 get: function () { 377 return n.track.children[0] 378 } 379 }), n 380 }, Translate: function (r, o, s) { 381 var u = { 382 set: function (t) { 383 var e = M(r, o).mutate(t); 384 o.Html.wrapper.style.transform = "translate3d(" + -1 * e + "px, 0px, 0px)" 385 }, remove: function () { 386 o.Html.wrapper.style.transform = "" 387 } 388 }; 389 return s.on("move", function (t) { 390 var e = o.Gaps.value, n = o.Sizes.length, i = o.Sizes.slideWidth; 391 return r.isType("carousel") && o.Run.isOffset("<") ? (o.Transition.after(function () { 392 s.emit("translate.jump"), u.set(i * (n - 1)) 393 }), u.set(-i - e * n)) : r.isType("carousel") && o.Run.isOffset(">") ? (o.Transition.after(function () { 394 s.emit("translate.jump"), u.set(0) 395 }), u.set(i * n + e * n)) : u.set(t.movement) 396 }), s.on("destroy", function () { 397 u.remove() 398 }), u 399 }, Transition: function (n, i, t) { 400 var r = !1, e = { 401 compose: function (t) { 402 var e = n.settings; 403 return r ? t + " 0ms " + e.animationTimingFunc : t + " " + this.duration + "ms " + e.animationTimingFunc 404 }, set: function (t) { 405 var e = 0 < arguments.length && void 0 !== t ? t : "transform"; 406 i.Html.wrapper.style.transition = this.compose(e) 407 }, remove: function () { 408 i.Html.wrapper.style.transition = "" 409 }, after: function (t) { 410 setTimeout(function () { 411 t() 412 }, this.duration) 413 }, enable: function () { 414 r = !1, this.set() 415 }, disable: function () { 416 r = !0, this.set() 417 } 418 }; 419 return d(e, "duration", { 420 get: function () { 421 var t = n.settings; 422 return n.isType("slider") && i.Run.offset ? t.rewindDuration : t.animationDuration 423 } 424 }), t.on("move", function () { 425 e.set() 426 }), t.on(["build.before", "resize", "translate.jump"], function () { 427 e.disable() 428 }), t.on("run", function () { 429 e.enable() 430 }), t.on("destroy", function () { 431 e.remove() 432 }), e 433 }, Direction: function (t, e, n) { 434 var i = { 435 mount: function () { 436 this.value = t.settings.direction 437 }, resolve: function (t) { 438 var e = t.slice(0, 1); 439 return this.is("rtl") ? t.split(e).join(O[e]) : t 440 }, is: function (t) { 441 return this.value === t 442 }, addClass: function () { 443 e.Html.root.classList.add(t.settings.classes.direction[this.value]) 444 }, removeClass: function () { 445 e.Html.root.classList.remove(t.settings.classes.direction[this.value]) 446 } 447 }; 448 return d(i, "value", { 449 get: function () { 450 return i._v 451 }, set: function (t) { 452 -1 < x.indexOf(t) && (i._v = t) 453 } 454 }), n.on(["destroy", "update"], function () { 455 i.removeClass() 456 }), n.on("update", function () { 457 i.mount() 458 }), n.on(["build.before", "update"], function () { 459 i.addClass() 460 }), i 461 }, Peek: function (n, t, e) { 462 var i = { 463 mount: function () { 464 this.value = n.settings.peek 465 } 466 }; 467 return d(i, "value", { 468 get: function () { 469 return i._v 470 }, set: function (t) { 471 u(t) ? (t.before = y(t.before), t.after = y(t.after)) : t = y(t), i._v = t 472 } 473 }), d(i, "reductor", { 474 get: function () { 475 var t = i.value, e = n.settings.perView; 476 return u(t) ? t.before / e + t.after / e : 2 * t / e 477 } 478 }), e.on(["resize", "update"], function () { 479 i.mount() 480 }), i 481 }, Sizes: function (t, i, e) { 482 var n = { 483 setupSlides: function () { 484 for (var t = this.slideWidth + "px", e = i.Html.slides, n = 0; n < e.length; n++) e[n].style.width = t 485 }, setupWrapper: function (t) { 486 i.Html.wrapper.style.width = this.wrapperSize + "px" 487 }, remove: function () { 488 for (var t = i.Html.slides, e = 0; e < t.length; e++) t[e].style.width = ""; 489 i.Html.wrapper.style.width = "" 490 } 491 }; 492 return d(n, "length", { 493 get: function () { 494 return i.Html.slides.length 495 } 496 }), d(n, "width", { 497 get: function () { 498 return i.Html.root.offsetWidth 499 } 500 }), d(n, "wrapperSize", { 501 get: function () { 502 return n.slideWidth * n.length + i.Gaps.grow + i.Clones.grow 503 } 504 }), d(n, "slideWidth", { 505 get: function () { 506 return n.width / t.settings.perView - i.Peek.reductor - i.Gaps.reductor 507 } 508 }), e.on(["build.before", "resize", "update"], function () { 509 n.setupSlides(), n.setupWrapper() 510 }), e.on("destroy", function () { 511 n.remove() 512 }), n 513 }, Gaps: function (e, o, t) { 514 var n = { 515 apply: function (t) { 516 for (var e = 0, n = t.length; e < n; e++) { 517 var i = t[e].style, r = o.Direction.value; 518 i[w[r][0]] = 0 !== e ? this.value / 2 + "px" : "", e !== t.length - 1 ? i[w[r][1]] = this.value / 2 + "px" : i[w[r][1]] = "" 519 } 520 }, remove: function (t) { 521 for (var e = 0, n = t.length; e < n; e++) { 522 var i = t[e].style; 523 i.marginLeft = "", i.marginRight = "" 524 } 525 } 526 }; 527 return d(n, "value", { 528 get: function () { 529 return y(e.settings.gap) 530 } 531 }), d(n, "grow", { 532 get: function () { 533 return n.value * (o.Sizes.length - 1) 534 } 535 }), d(n, "reductor", { 536 get: function () { 537 var t = e.settings.perView; 538 return n.value * (t - 1) / t 539 } 540 }), t.on(["build.after", "update"], b(function () { 541 n.apply(o.Html.wrapper.children) 542 }, 30)), t.on("destroy", function () { 543 n.remove(o.Html.wrapper.children) 544 }), n 545 }, Move: function (t, i, r) { 546 var e = { 547 mount: function () { 548 this._o = 0 549 }, make: function (t) { 550 var e = this, n = 0 < arguments.length && void 0 !== t ? t : 0; 551 this.offset = n, r.emit("move", {movement: this.value}), i.Transition.after(function () { 552 r.emit("move.after", {movement: e.value}) 553 }) 554 } 555 }; 556 return d(e, "offset", { 557 get: function () { 558 return e._o 559 }, set: function (t) { 560 e._o = l(t) ? 0 : y(t) 561 } 562 }), d(e, "translate", { 563 get: function () { 564 return i.Sizes.slideWidth * t.index 565 } 566 }), d(e, "value", { 567 get: function () { 568 var t = this.offset, e = this.translate; 569 return i.Direction.is("rtl") ? e + t : e - t 570 } 571 }), r.on(["build.before", "run"], function () { 572 e.make() 573 }), e 574 }, Clones: function (v, p, t) { 575 var e = { 576 mount: function () { 577 this.items = [], v.isType("carousel") && (this.items = this.collect()) 578 }, collect: function (t) { 579 for (var e = 0 < arguments.length && void 0 !== t ? t : [], n = p.Html.slides, i = v.settings, r = i.perView, o = i.classes, s = r + +!!v.settings.peek, u = n.slice(0, s), a = n.slice(-s), c = 0; c < Math.max(1, Math.floor(r / n.length)); c++) { 580 for (var l = 0; l < u.length; l++) { 581 var f = u[l].cloneNode(!0); 582 f.classList.add(o.cloneSlide), e.push(f) 583 } 584 for (var d = 0; d < a.length; d++) { 585 var h = a[d].cloneNode(!0); 586 h.classList.add(o.cloneSlide), e.unshift(h) 587 } 588 } 589 return e 590 }, append: function () { 591 for (var t = this.items, e = p.Html, n = e.wrapper, i = e.slides, r = Math.floor(t.length / 2), o = t.slice(0, r).reverse(), s = t.slice(r, t.length), u = p.Sizes.slideWidth + "px", a = 0; a < s.length; a++) n.appendChild(s[a]); 592 for (var c = 0; c < o.length; c++) n.insertBefore(o[c], i[0]); 593 for (var l = 0; l < t.length; l++) t[l].style.width = u 594 }, remove: function () { 595 for (var t = this.items, e = 0; e < t.length; e++) p.Html.wrapper.removeChild(t[e]) 596 } 597 }; 598 return d(e, "grow", { 599 get: function () { 600 return (p.Sizes.slideWidth + p.Gaps.value) * e.items.length 601 } 602 }), t.on("update", function () { 603 e.remove(), e.mount(), e.append() 604 }), t.on("build.before", function () { 605 v.isType("carousel") && e.append() 606 }), t.on("destroy", function () { 607 e.remove() 608 }), e 609 }, Resize: function (t, e, n) { 610 var i = new H, r = { 611 mount: function () { 612 this.bind() 613 }, bind: function () { 614 i.on("resize", window, b(function () { 615 n.emit("resize") 616 }, t.settings.throttle)) 617 }, unbind: function () { 618 i.off("resize", window) 619 } 620 }; 621 return n.on("destroy", function () { 622 r.unbind(), i.destroy() 623 }), r 624 }, Build: function (n, i, t) { 625 var e = { 626 mount: function () { 627 t.emit("build.before"), this.typeClass(), this.activeClass(), t.emit("build.after") 628 }, typeClass: function () { 629 i.Html.root.classList.add(n.settings.classes[n.settings.type]) 630 }, activeClass: function () { 631 var e = n.settings.classes, t = i.Html.slides[n.index]; 632 t && (t.classList.add(e.activeSlide), _(t).forEach(function (t) { 633 t.classList.remove(e.activeSlide) 634 })) 635 }, removeClasses: function () { 636 var e = n.settings.classes; 637 i.Html.root.classList.remove(e[n.settings.type]), i.Html.slides.forEac
637h(function (t) { 638 t.classList.remove(e.activeSlide) 639 }) 640 } 641 }; 642 return t.on(["destroy", "update"], function () { 643 e.removeClasses() 644 }), t.on(["resize", "update"], function () { 645 e.mount() 646 }), t.on("move.after", function () { 647 e.activeClass() 648 }), e 649 }, Run: function (o, n, i) { 650 var t = { 651 mount: function () { 652 this._o = !1 653 }, make: function (t) { 654 var e = this; 655 o.disabled || (o.disable(), this.move = t, i.emit("run.before", this.move), this.calculate(), i.emit("run", this.move), n.Transition.after(function () { 656 e.isStart() && i.emit("run.start", e.move), e.isEnd() && i.emit("run.end", e.move), (e.isOffset("<") || e.isOffset(">")) && (e._o = !1, i.emit("run.offset", e.move)), i.emit("run.after", e.move), o.enable() 657 })) 658 }, calculate: function () { 659 var t = this.move, e = this.length, n = t.steps, i = t.direction, r = function (t) { 660 return "number" == typeof t 661 }(y(n)) && 0 !== y(n); 662 switch (i) { 663 case">": 664 ">" === n ? o.index = e : this.isEnd() ? o.isType("slider") && !o.settings.rewind || (this._o = !0, o.index = 0) : r ? o.index += Math.min(e - o.index, -y(n)) : o.index++; 665 break; 666 case"<": 667 "<" === n ? o.index = 0 : this.isStart() ? o.isType("slider") && !o.settings.rewind || (this._o = !0, o.index = e) : r ? o.index -= Math.min(o.index, y(n)) : o.index--; 668 break; 669 case"=": 670 o.index = n 671 } 672 }, isStart: function () { 673 return 0 === o.index 674 }, isEnd: function () { 675 return o.index === this.length 676 }, isOffset: function (t) { 677 return this._o && this.move.direction === t 678 } 679 }; 680 return d(t, "move", { 681 get: function () { 682 return this._m 683 }, set: function (t) { 684 var e = t.substr(1); 685 this._m = {direction: t.substr(0, 1), steps: e ? y(e) ? y(e) : e : 0} 686 } 687 }), d(t, "length", { 688 get: function () { 689 var t = o.settings, e = n.Html.slides.length; 690 return o.isType("slider") && "center" !== t.focusAt && t.bound ? e - 1 - (y(t.perView) - 1) + y(t.focusAt) : e - 1 691 } 692 }), d(t, "offset", { 693 get: function () { 694 return this._o 695 } 696 }), t 697 }, Swipe: function (d, h, v) { 698 var n = new H, p = 0, m = 0, g = 0, i = !1, r = !!L && {passive: !0}, t = { 699 mount: function () { 700 this.bindSwipeStart() 701 }, start: function (t) { 702 if (!i && !d.disabled) { 703 this.disable(); 704 var e = this.touches(t); 705 p = null, m = y(e.pageX), g = y(e.pageY), this.bindSwipeMove(), this.bindSwipeEnd(), v.emit("swipe.start") 706 } 707 }, move: function (t) { 708 if (!d.disabled) { 709 var e = d.settings, n = e.touchAngle, i = e.touchRatio, r = e.classes, o = this.touches(t), 710 s = y(o.pageX) - m, u = y(o.pageY) - g, a = Math.abs(s << 2), c = Math.abs(u << 2), 711 l = Math.sqrt(a + c), f = Math.sqrt(c); 712 if (!(180 * (p = Math.asin(f / l)) / Math.PI < n)) return !1; 713 t.stopPropagation(), h.Move.make(s * function (t) { 714 return parseFloat(t) 715 }(i)), h.Html.root.classList.add(r.dragging), v.emit("swipe.move") 716 } 717 }, end: function (t) { 718 if (!d.disabled) { 719 var e = d.settings, n = this.touches(t), i = this.threshold(t), r = n.pageX - m, 720 o = 180 * p / Math.PI, s = Math.round(r / h.Sizes.slideWidth); 721 this.enable(), i < r && o < e.touchAngle ? (e.perTouch && (s = Math.min(s, y(e.perTouch)
721)), h.Direction.is("rtl") && (s = -s), h.Run.make(h.Direction.resolve("<" + s))) : r < -i && o < e.touchAngle ? (e.perTouch && (s = Math.max(s, -y(e.perTouch))), h.Direction.is("rtl") && (s = -s), h.Run.make(h.Direction.resolve(">" + s))) : h.Move.make(), h.Html.root.classList.remove(e.classes.dragging), this.unbindSwipeMove(), this.unbindSwipeEnd(), v.emit("swipe.end") 722 } 723 }, bindSwipeStart: function () { 724 var e = this, t = d.settings; 725 t.swipeThreshold && n.on(z[0], h.Html.wrapper, function (t) { 726 e.start(t) 727 }, r), t.dragThreshold && n.on(z[1], h.Html.wrapper, function (t) { 728 e.start(t) 729 }, r) 730 }, unbindSwipeStart: function () { 731 n.off(z[0], h.Html.wrapper, r), n.off(z[1], h.Html.wrapper, r) 732 }, bindSwipeMove: function () { 733 var e = this; 734 n.on(j, h.Html.wrapper, b(function (t) { 735 e.move(t) 736 }, d.settings.throttle), r) 737 }, unbindSwipeMove: function () { 738 n.off(j, h.Html.wrapper, r) 739 }, bindSwipeEnd: function () { 740 var e = this; 741 n.on(D, h.Html.wrapper, function (t) { 742 e.end(t) 743 }) 744 }, unbindSwipeEnd: function () { 745 n.off(D, h.Html.wrapper) 746 }, touches: function (t) { 747 return -1 < E.indexOf(t.type) ? t : t.touches[0] || t.changedTouches[0] 748 }, threshold: function (t) { 749 var e = d.settings; 750 return -1 < E.indexOf(t.type) ? e.dragThreshold : e.swipeThreshold 751 }, enable: function () { 752 return i = !1, h.Transition.enable(), this 753 }, disable: function () { 754 return i = !0, h.Transition.disable(), this 755 } 756 }; 757 return v.on("build.after", function () { 758 h.Html.root.classList.add(d.settings.classes.swipeable) 759 }), v.on("destroy", function () { 760 t.unbindSwipeStart(), t.unbindSwipeMove(), t.unbindSwipeEnd(), n.destroy() 761 }), t 762 }, Images: function (t, e, n) { 763 var i = new H, r = { 764 mount: function () { 765 this.bind() 766 }, bind: function () { 767 i.on("dragstart", e.Html.wrapper, this.dragstart) 768 }, unbind: function () { 769 i.off("dragstart", e.Html.wrapper) 770 }, dragstart: function (t) { 771 t.preventDefault() 772 } 773 }; 774 return n.on("destroy", function () { 775 r.unbind(), i.destroy() 776 }), r 777 }, Anchors: function (t, e, n) { 778 var i = new H, r = !1, o = !1, s = { 779 mount: function () { 780 this._a = e.Html.wrapper.querySelectorAll("a"), this.bind() 781 }, bind: function () { 782 i.on("click", e.Html.wrapper, this.click) 783 }, unbind: function () { 784 i.off("click", e.Html.wrapper) 785 }, click: function (t) { 786 o && (t.stopPropagation(), t.preventDefault()) 787 }, detach: function () { 788 if (o = !0, !r) { 789 for (var t = 0; t < this.items.length; t++) this.items[t].draggable = !1, this.items[t].setAttribute("data-href", this.items[t].getAttribute("href")), this.items[t].removeAttribute("href"); 790 r = !0 791 } 792 return this 793 }, attach: function () { 794 if (o = !1, r) { 795 for (var t = 0; t < this.items.length; t++) this.items[t].draggable = !0, this.items[t].setAttribute("href", this.items[t].getAttribute("data-href")); 796 r = !1 797 } 798 return this 799 } 800 }; 801 return d(s, "items", { 802 get: function () { 803 return s._a 804 } 805 }), n.on("swipe.move", function () { 806 s.detach() 807 }), n.on("swipe.end", function () { 808 e.Transition.after(function () { 809 s.attach() 810 }) 811 }), n.on("destroy", function () { 812 s.attach(), s.unbind(), i.destroy() 813 }), s 814 }, Controls: function (i, e, t) { 815 var n = new H, r = !!L && {passive: !0}, o = { 816 mount: function () { 817 this._n = e.Html.root.querySelectorAll('[data-glide-el="
817controls[nav]"]'), this._c = e.Html.root.querySelectorAll('[data-glide-el^="controls"]'), this.addBindings() 818 }, setActive: function () { 819 for (var t = 0; t < this._n.length; t++) this.addClass(this._n[t].children) 820 }, removeActive: function () { 821 for (var t = 0; t < this._n.length; t++) this.removeClass(this._n[t].children) 822 }, addClass: function (t) { 823 var e = i.settings, n = t[i.index]; 824 n && (n.classList.add(e.classes.activeNav), _(n).forEach(function (t) { 825 t.classList.remove(e.classes.activeNav) 826 })) 827 }, removeClass: function (t) { 828 var e = t[i.index]; 829 e && e.classList.remove(i.settings.classes.activeNav) 830 }, addBindings: function () { 831 for (var t = 0; t < this._c.length; t++) this.bind(this._c[t].children) 832 }, removeBindings: function () { 833 for (var t = 0; t < this._c.length; t++) this.unbind(this._c[t].children) 834 }, bind: function (t) { 835 for (var e = 0; e < t.length; e++) n.on("click", t[e], this.click), n.on("touchstart", t[e], this.click, r) 836 }, unbind: function (t) { 837 for (var e = 0; e < t.length; e++) n.off(["click", "touchstart"], t[e]) 838 }, click: function (t) { 839 t.preventDefault(), e.Run.make(e.Direction.resolve(t.currentTarget.getAttribute("data-glide-dir"))) 840 } 841 }; 842 return d(o, "items", { 843 get: function () { 844 return o._c 845 } 846 }), t.on(["mount.after", "move.after"], function () { 847 o.setActive() 848 }), t.on("destroy", function () { 849 o.removeBindings(), o.removeActive(), n.destroy() 850 }), o 851 }, Keyboard: function (t, e, n) { 852 var i = new H, r = { 853 mount: function () { 854 t.settings.keyboard && this.bind() 855 }, bind: function () { 856 i.on("keyup", document, this.press) 857 }, unbind: function () { 858 i.off("keyup", document) 859 }, press: function (t) { 860 39 === t.keyCode && e.Run.make(e.Direction.resolve(">")), 37 === t.keyCode && e.Run.make(e.Direction.resolve("<")) 861 } 862 }; 863 return n.on(["destroy", "update"], function () { 864 r.unbind() 865 }), n.on("update", function () { 866 r.mount() 867 }), n.on("destroy", function () { 868 i.destroy() 869 }), r 870 }, Autoplay: function (e, n, t) { 871 var i = new H, r = { 872 mount: function () { 873 this.start(), e.settings.hoverpause && this.bind() 874 }, start: function () { 875 var t = this; 876 e.settings.autoplay && l(this._i) && (this._i = setInterval(function () { 877 t.stop(), n.Run.make(">"), t.start() 878 }, this.time)) 879 }, stop: function () { 880 this._i = clearInterval(this._i) 881 }, bind: function () { 882 var t = this; 883 i.on("mouseover", n.Html.root, function () { 884 t.stop() 885 }), i.on("mouseout", n.Html.root, function () { 886 t.start() 887 }) 888 }, unbind: function () { 889 i.off(["mouseover", "mouseout"], n.Html.root) 890 } 891 }; 892 return d(r, "time", { 893 get: function () { 894 var t = n.Html.slides[e.index].getAttribute("data-glide-autoplay"); 895 return y(t || e.settings.autoplay) 896 } 897 }), t.on(["destroy", "update"], function () { 898 r.unbind() 899 }), t.on(["run.before", "pause", "destroy", "swipe.start", "update"], function () { 900 r.stop() 901 }), t.on(["run.after", "play", "swipe.end"], function () { 902 r.start() 903 }), t.on("update", function () { 904 r.mount() 905 }), t.on("destroy", function () { 906 i.destroy() 907 }), r 908 }, Breakpoints: function (t, e, n) { 909 var i = new H, r = t.settings, o = R(r.breakpoints), s = a({}, r), u = { 910 match: function (t) { 911 if (void 0 !== window.matchMedia) for (var e in t) if (t.hasOwnProperty(e) && window.matchMedia("(max-width: " + e + "px)").matches) return t[e]; 912 return s 913 } 914 };
915 return a(r, u.match(o)), i.on("resize", window, b(function () { 916 t.settings = h(r, u.match(o)) 917 }, t.settings.throttle)), n.on("update", function () { 918 o = R(o), s = a({}, r) 919 }), n.on("destroy", function () { 920 i.off("resize", window) 921 }), u 922 } 923 }; 924 925 function G() { 926 return i(this, G), function (t, e) { 927 if (!t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); 928 return !e || "object" != typeof e && "function" != typeof e ? t : e 929 }(this, (G.__proto__ || Object.getPrototypeOf(G)).apply(this, arguments)) 930 } 931 932 return function (t, e) { 933 if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function, not " + typeof e); 934 t.prototype = Object.create(e && e.prototype, { 935 constructor: { 936 value: t, 937 enumerable: !1, 938 writable: !0, 939 configurable: !0 940 } 941 }), e && (Object.setPrototypeOf ? Object.setPrototypeOf(t, e) : t.__proto__ = e) 942 }(G, p), t(G, [{ 943 key: "mount", value: function (t) { 944 var e = 0 < arguments.length && void 0 !== t ? t : {}; 945 return function t(e, n, i) { 946 null === e && (e = Function.prototype); 947 var r = Object.getOwnPropertyDescriptor(e, n); 948 if (void 0 === r) { 949 var o = Object.getPrototypeOf(e); 950 return null === o ? void 0 : t(o, n, i) 951 } 952 if ("value" in r) return r.value; 953 var s = r.get; 954 return void 0 !== s ? s.call(i) : void 0 955 }(G.prototype.__proto__ || Object.getPrototypeOf(G.prototype), "mount", this).call(this, a({}, W, e)) 956 } 957 }]), G 958});
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.