PageSourceSearch

https://citymix.by/assets/vendor/glide/glide.min.js

js citymix.by collected 2026-10-02 05:16:44 UTC 40,185 bytes, 958 lines download raw bytes

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.