PageSourceSearch

https://taxsavers.com.au/assets/js/plugins.js

js taxsavers.com.au collected 2026-10-09 00:55:47 UTC 419,746 bytes, 9,092 lines download raw bytes

vendor: 17,146 bytes, lines 1-412
1/*!
2 * Bootstrap v5.3.3 (https://getbootstrap.com/)
3 * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5 */
6! function(t, e) {
7    "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).bootstrap = e()
8}(this, (function() {
9    "use strict";
10    const t = new Map,
11        e = {
12            set(e, i, n) {
13                t.has(e) || t.set(e, new Map);
14                const s = t.get(e);
15                s.has(i) || 0 === s.size ? s.set(i, n) : console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)
16            },
17            get: (e, i) => t.has(e) && t.get(e).get(i) || null,
18            remove(e, i) {
19                if (!t.has(e)) return;
20                const n = t.get(e);
21                n.delete(i), 0 === n.size && t.delete(e)
22            }
23        },
24        i = "transitionend",
25        n = t => (t && window.CSS && window.CSS.escape && (t = t.replace(/#([^\s"#']+)/g, ((t, e) => `#${CSS.escape(e)}`))), t),
26        s = t => {
27            t.dispatchEvent(new Event(i))
28        },
29        o = t => !(!t || "object" != typeof t) && (void 0 !== t.jquery && (t = t[0]), void 0 !== t.nodeType),
30        r = t => o(t) ? t.jquery ? t[0] : t : "string" == typeof t && t.length > 0 ? document.querySelector(n(t)) : null,
31        a = t => {
32            if (!o(t) || 0 === t.getClientRects().length) return !1;
33            const e = "visible" === getComputedStyle(t).getPropertyValue("visibility"),
34                i = t.closest("details:not([open])");
35            if (!i) return e;
36            if (i !== t) {
37                const e = t.closest("summary");
38                if (e && e.parentNode !== i) return !1;
39                if (null === e) return !1
40            }
41            return e
42        },
43        l = t => !t || t.nodeType !== Node.ELEMENT_NODE || !!t.classList.contains("disabled") || (void 0 !== t.disabled ? t.disabled : t.hasAttribute("disabled") && "false" !== t.getAttribute("disabled")),
44        c = t => {
45            if (!document.documentElement.attachShadow) return null;
46            if ("function" == typeof t.getRootNode) {
47                const e = t.getRootNode();
48                return e instanceof ShadowRoot ? e : null
49            }
50            return t instanceof ShadowRoot ? t : t.parentNode ? c(t.parentNode) : null
51        },
52        h = () => {},
53        d = t => {
54            t.offsetHeight
55        },
56        u = () => window.jQuery && !document.body.hasAttribute("data-bs-no-jquery") ? window.jQuery : null,
57        f = [],
58        p = () => "rtl" === document.documentElement.dir,
59        m = t => {
60            var e;
61            e = () => {
62                const e = u();
63                if (e) {
64                    const i = t.NAME,
65                        n = e.fn[i];
66                    e.fn[i] = t.jQueryInterface, e.fn[i].Constructor = t, e.fn[i].noConflict = () => (e.fn[i] = n, t.jQueryInterface)
67                }
68            }, "loading" === document.readyState ? (f.length || document.addEventListener("DOMContentLoaded", (() => {
69                for (const t of f) t()
70            })), f.push(e)) : e()
71        },
72        g = (t, e = [], i = t) => "function" == typeof t ? t(...e) : i,
73        _ = (t, e, n = !0) => {
74            if (!n) return void g(t);
75            const o = (t => {
76                if (!t) return 0;
77                let {
78                    transitionDuration: e,
79                    transitionDelay: i
80                } = window.getComputedStyle(t);
81                const n = Number.parseFloat(e),
82                    s = Number.parseFloat(i);
83                return n || s ? (e = e.split(",")[0], i = i.split(",")[0], 1e3 * (Number.parseFloat(e) + Number.parseFloat(i))) : 0
84            })(e) + 5;
85            let r = !1;
86            const a = ({
87                target: n
88            }) => {
89                n === e && (r = !0, e.removeEventListener(i, a), g(t))
90            };
91            e.addEventListener(i, a), setTimeout((() => {
92                r || s(e)
93            }), o)
94        },
95        b = (t, e, i, n) => {
96            const s = t.length;
97            let o = t.indexOf(e);
98            return -1 === o ? !i && n ? t[s - 1] : t[0] : (o += i ? 1 : -1, n && (o = (o + s) % s), t[Math.max(0, Math.min(o, s - 1))])
99        },
100        v = /[^.]*(?=\..*)\.|.*/,
101        y = /\..*/,
102        w = /::\d+$/,
103        A = {};
104    let E = 1;
105    const T = {
106            mouseenter: "mouseover",
107            mouseleave: "mouseout"
108        },
109        C = new Set(["click", "dblclick", "mouseup", "mousedown", "contextmenu", "mousewheel", "DOMMouseScroll", "mouseover", "mouseout", "mousemove", "selectstart", "selectend", "keydown", "keypress", "keyup", "orientationchange", "touchstart", "touchmove", "touchend", "touchcancel", "pointerdown", "pointermove", "pointerup", "pointerleave", "pointercancel", "gesturestart", "gesturechange", "gestureend", "focus", "blur", "change", "reset", "select", "submit", "focusin", "focusout", "load", "unload", "beforeunload", "resize", "move", "DOMContentLoaded", "readystatechange", "error", "abort", "scroll"]);
110
111    function O(t, e) {
112        return e && `${e}::${E++}` || t.uidEvent || E++
113    }
114
115    function x(t) {
116        const e = O(t);
117        return t.uidEvent = e, A[e] = A[e] || {}, A[e]
118    }
119
120    function k(t, e, i = null) {
121        return Object.values(t).find((t => t.callable === e && t.delegationSelector === i))
122    }
123
124    function L(t, e, i) {
125        const n = "string" == typeof e,
126            s = n ? i : e || i;
127        let o = I(t);
128        return C.has(o) || (o = t), [n, s, o]
129    }
130
131    function S(t, e, i, n, s) {
132        if ("string" != typeof e || !t) return;
133        let [o, r, a] = L(e, i, n);
134        if (e in T) {
135            const t = t => function(e) {
136                if (!e.relatedTarget || e.relatedTarget !== e.delegateTarget && !e.delegateTarget.contains(e.relatedTarget)) return t.call(this, e)
137            };
138            r = t(r)
139        }
140        const l = x(t),
141            c = l[a] || (l[a] = {}),
142            h = k(c, r, o ? i : null);
143        if (h) return void(h.oneOff = h.oneOff && s);
144        const d = O(r, e.replace(v, "")),
145            u = o ? function(t, e, i) {
146                return function n(s) {
147                    const o = t.querySelectorAll(e);
148                    for (let {
149                            target: r
150                        } = s; r && r !== this; r = r.parentNode)
151                        for (const a of o)
152                            if (a === r) return P(s, {
153                                delegateTarget: r
154                            }), n.oneOff && N.off(t, s.type, e, i), i.apply(r, [s])
155                }
156            }(t, i, r) : function(t, e) {
157                return function i(n) {
158                    return P(n, {
159                        delegateTarget: t
160                    }), i.oneOff && N.off(t, n.type, e), e.apply(t, [n])
161                }
162            }(t, r);
163        u.delegationSelector = o ? i : null, u.callable = r, u.oneOff = s, u.uidEvent = d, c[d] = u, t.addEventListener(a, u, o)
164    }
165
166    function D(t, e, i, n, s) {
167        const o = k(e[i], n, s);
168        o && (t.removeEventListener(i, o, Boolean(s)), delete e[i][o.uidEvent])
169    }
170
171    function $(t, e, i, n) {
172        const s = e[i] || {};
173        for (const [o, r] of Object.entries(s)) o.includes(n) && D(t, e, i, r.callable, r.delegationSelector)
174    }
175
176    function I(t) {
177        return t = t.replace(y, ""), T[t] || t
178    }
179    const N = {
180        on(t, e, i, n) {
181            S(t, e, i, n, !1)
182        },
183        one(t, e, i, n) {
184            S(t, e, i, n, !0)
185        },
186        off(t, e, i, n) {
187            if ("string" != typeof e || !t) return;
188            const [s, o, r] = L(e, i, n), a = r !== e, l = x(t), c = l[r] || {}, h = e.startsWith(".");
189            if (void 0 === o) {
190                if (h)
191                    for (const i of Object.keys(l)) $(t, l, i, e.slice(1));
192                for (const [i, n] of Object.entries(c)) {
193                    const s = i.replace(w, "");
194                    a && !e.includes(s) || D(t, l, r, n.callable, n.delegationSelector)
195                }
196            } else {
197                if (!Object.keys(c).length) return;
198                D(t, l, r, o, s ? i : null)
199            }
200        },
201        trigger(t, e, i) {
202            if ("string" != typeof e || !t) return null;
203            const n = u();
204            let s = null,
205                o = !0,
206                r = !0,
207                a = !1;
208            e !== I(e) && n && (s = n.Event(e, i), n(t).trigger(s), o = !s.isPropagationStopped(), r = !s.isImmediatePropagationStopped(), a = s.isDefaultPrevented());
209            const l = P(new Event(e, {
210                bubbles: o,
211                cancelable: !0
212            }), i);
213            return a && l.preventDefault(), r && t.dispatchEvent(l), l.defaultPrevented && s && s.preventDefault(), l
214        }
215    };
216
217    function P(t, e = {}) {
218        for (const [i, n] of Object.entries(e)) try {
219            t[i] = n
220        } catch (e) {
221            Object.defineProperty(t, i, {
222                configurable: !0,
223                get: () => n
224            })
225        }
226        return t
227    }
228
229    function j(t) {
230        if ("true" === t) return !0;
231        if ("false" === t) return !1;
232        if (t === Number(t).toString()) return Number(t);
233        if ("" === t || "null" === t) return null;
234        if ("string" != typeof t) return t;
235        try {
236            return JSON.parse(decodeURIComponent(t))
237        } catch (e) {
238            return t
239        }
240    }
241
242    function M(t) {
243        return t.replace(/[A-Z]/g, (t => `-${t.toLowerCase()}`))
244    }
245    const F = {
246        setDataAttribute(t, e, i) {
247            t.setAttribute(`data-bs-${M(e)}`, i)
248        },
249        removeDataAttribute(t, e) {
250            t.removeAttribute(`data-bs-${M(e)}`)
251        },
252        getDataAttributes(t) {
253            if (!t) return {};
254            const e = {},
255                i = Object.keys(t.dataset).filter((t => t.startsWith("bs") && !t.startsWith("bsConfig")));
256            for (const n of i) {
257                let i = n.replace(/^bs/, "");
258                i = i.charAt(0).toLowerCase() + i.slice(1, i.length), e[i] = j(t.dataset[n])
259            }
260            return e
261        },
262        getDataAttribute: (t, e) => j(t.getAttribute(`data-bs-${M(e)}`))
263    };
264    class H {
265        static get Default() {
266            return {}
267        }
268        static get DefaultType() {
269            return {}
270        }
271        static get NAME() {
272            throw new Error('You have to implement the static method "NAME", for each component!')
273        }
274        _getConfig(t) {
275            return t = this._mergeConfigObj(t), t = this._configAfterMerge(t), this._typeCheckConfig(t), t
276        }
277        _configAfterMerge(t) {
278            return t
279        }
280        _mergeConfigObj(t, e) {
281            const i = o(e) ? F.getDataAttribute(e, "config") : {};
282            return {
283                ...this.constructor.Default,
284                ..."object" == typeof i ? i : {},
285                ...o(e) ? F.getDataAttributes(e) : {},
286                ..."object" == typeof t ? t : {}
287            }
288        }
289        _typeCheckConfig(t, e = this.constructor.DefaultType) {
290            for (const [n, s] of Object.entries(e)) {
291                const e = t[n],
292                    r = o(e) ? "element" : null == (i = e) ? `${i}` : Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();
293                if (!new RegExp(s).test(r)) throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)
294            }
295            var i
296        }
297    }
298    class W extends H {
299        constructor(t, i) {
300            super(), (t = r(t)) && (this._element = t, this._config = this._getConfig(i), e.set(this._element, this.constructor.DATA_KEY, this))
301        }
302        dispose() {
303            e.remove(this._element, this.constructor.DATA_KEY), N.off(this._element, this.constructor.EVENT_KEY);
304            for (const t of Object.getOwnPropertyNames(this)) this[t] = null
305        }
306        _queueCallback(t, e, i = !0) {
307            _(t, e, i)
308        }
309        _getConfig(t) {
310            return t = this._mergeConfigObj(t, this._element), t = this._configAfterMerge(t), this._typeCheckConfig(t), t
311        }
312        static getInstance(t) {
313            return e.get(r(t), this.DATA_KEY)
314        }
315        static getOrCreateInstance(t, e = {}) {
316            return this.getInstance(t) || new this(t, "object" == typeof e ? e : null)
317        }
318        static get VERSION() {
319            return "5.3.3"
320        }
321        static get DATA_KEY() {
322            return `bs.${this.NAME}`
323        }
324        static get EVENT_KEY() {
325            return `.${this.DATA_KEY}`
326        }
327        static eventName(t) {
328            return `${t}${this.EVENT_KEY}`
329        }
330    }
331    const B = t => {
332            let e = t.getAttribute("data-bs-target");
333            if (!e || "#" === e) {
334                let i = t.getAttribute("href");
335                if (!i || !i.includes("#") && !i.startsWith(".")) return null;
336                i.includes("#") && !i.startsWith("#") && (i = `#${i.split("#")[1]}`), e = i && "#" !== i ? i.trim() : null
337            }
338            return e ? e.split(",").map((t => n(t))).join(",") : null
339        },
340        z = {
341            find: (t, e = document.documentElement) => [].concat(...Element.prototype.querySelectorAll.call(e, t)),
342            findOne: (t, e = document.documentElement) => Element.prototype.querySelector.call(e, t),
343            children: (t, e) => [].concat(...t.children).filter((t => t.matches(e))),
344            parents(t, e) {
345                const i = [];
346                let n = t.parentNode.closest(e);
347                for (; n;) i.push(n), n = n.parentNode.closest(e);
348                return i
349            },
350            prev(t, e) {
351                let i = t.previousElementSibling;
352                for (; i;) {
353                    if (i.matches(e)) return [i];
354                    i = i.previousElementSibling
355                }
356                return []
357            },
358            next(t, e) {
359                let i = t.nextElementSibling;
360                for (; i;) {
361                    if (i.matches(e)) return [i];
362                    i = i.nextElementSibling
363                }
364                return []
365            },
366            focusableChildren(t) {
367                const e = ["a", "button", "input", "textarea", "select", "details", "[tabindex]", '[contenteditable="true"]'].map((t => `${t}:not([tabindex^="-"])`)).join(",");
368                return this.find(e, t).filter((t => !l(t) && a(t)))
369            },
370            getSelectorFromElement(t) {
371                const e = B(t);
372                return e && z.findOne(e) ? e : null
373            },
374            getElementFromSelector(t) {
375                const e = B(t);
376                return e ? z.findOne(e) : null
377            },
378            getMultipleElementsFromSelector(t) {
379                const e = B(t);
380                return e ? z.find(e) : []
381            }
382        },
383        R = (t, e = "hide") => {
384            const i = `click.dismiss${t.EVENT_KEY}`,
385                n = t.NAME;
386            N.on(document, i, `[data-bs-dismiss="${n}"]`, (function(i) {
387                if (["A", "AREA"].includes(this.tagName) && i.preventDefault(), l(this)) return;
388                const s = z.getElementFromSelector(this) || this.closest(`.${n}`);
389                t.getOrCreateInstance(s)[e]()
390            }))
391        },
392        q = ".bs.alert",
393        V = `close${q}`,
394        K = `closed${q}`;
395    class Q extends W {
396        static get NAME() {
397            return "alert"
398        }
399        close() {
400            if (N.trigger(this._element, V).defaultPrevented) return;
401            this._element.classList.remove("show");
402            const t = this._element.classList.contains("fade");
403            this._queueCallback((() => this._destroyElement()), this._element, t)
404        }
405        _destroyElement() {
406            this._element.remove(), N.trigger(this._element, K), this.dispose()
407        }
408        static jQueryInterface(t) {
409            return this.each((function() {
410                const e = Q.getOrCreateInstance(this);
411                if ("string" == typeof t) {
412                    if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
412amed "${t}"`);
413                    e[t](this)
414                }
415            }))
416        }
417    }
418    R(Q, "close"), m(Q);
419    const X = '[data-bs-toggle="button"]';
420    class Y extends W {
421        static get NAME() {
422            return "button"
423        }
424        toggle() {
425            this._element.setAttribute("aria-pressed", this._element.classList.toggle("active"))
426        }
427        static jQueryInterface(t) {
428            return this.each((function() {
429                const e = Y.getOrCreateInstance(this);
430                "toggle" === t && e[t]()
431            }))
432        }
433    }
434    N.on(document, "click.bs.button.data-api", X, (t => {
435        t.preventDefault();
436        const e = t.target.closest(X);
437        Y.getOrCreateInstance(e).toggle()
438    })), m(Y);
439    const U = ".bs.swipe",
440        G = `touchstart${U}`,
441        J = `touchmove${U}`,
442        Z = `touchend${U}`,
443        tt = `pointerdown${U}`,
444        et = `pointerup${U}`,
445        it = {
446            endCallback: null,
447            leftCallback: null,
448            rightCallback: null
449        },
450        nt = {
451            endCallback: "(function|null)",
452            leftCallback: "(function|null)",
453            rightCallback: "(function|null)"
454        };
455    class st extends H {
456        constructor(t, e) {
457            super(), this._element = t, t && st.isSupported() && (this._config = this._getConfig(e), this._deltaX = 0, this._supportPointerEvents = Boolean(window.PointerEvent), this._initEvents())
458        }
459        static get Default() {
460            return it
461        }
462        static get DefaultType() {
463            return nt
464        }
465        static get NAME() {
466            return "swipe"
467        }
468        dispose() {
469            N.off(this._element, U)
470        }
471        _start(t) {
472            this._supportPointerEvents ? this._eventIsPointerPenTouch(t) && (this._deltaX = t.clientX) : this._deltaX = t.touches[0].clientX
473        }
474        _end(t) {
475            this._eventIsPointerPenTouch(t) && (this._deltaX = t.clientX - this._deltaX), this._handleSwipe(), g(this._config.endCallback)
476        }
477        _move(t) {
478            this._deltaX = t.touches && t.touches.length > 1 ? 0 : t.touches[0].clientX - this._deltaX
479        }
480        _handleSwipe() {
481            const t = Math.abs(this._deltaX);
482            if (t <= 40) return;
483            const e = t / this._deltaX;
484            this._deltaX = 0, e && g(e > 0 ? this._config.rightCallback : this._config.leftCallback)
485        }
486        _initEvents() {
487            this._supportPointerEvents ? (N.on(this._element, tt, (t => this._start(t))), N.on(this._element, et, (t => this._end(t))), this._element.classList.add("pointer-event")) : (N.on(this._element, G, (t => this._start(t))), N.on(this._element, J, (t => this._move(t))), N.on(this._element, Z, (t => this._end(t))))
488        }
489        _eventIsPointerPenTouch(t) {
490            return this._supportPointerEvents && ("pen" === t.pointerType || "touch" === t.pointerType)
491        }
492        static isSupported() {
493            return "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0
494        }
495    }
496    const ot = ".bs.carousel",
497        rt = ".data-api",
498        at = "next",
499        lt = "prev",
500        ct = "left",
501        ht = "right",
502        dt = `slide${ot}`,
503        ut = `slid${ot}`,
504        ft = `keydown${ot}`,
505        pt = `mouseenter${ot}`,
506        mt = `mouseleave${ot}`,
507        gt = `dragstart${ot}`,
508        _t = `load${ot}${rt}`,
509        bt = `click${ot}${rt}`,
510        vt = "carousel",
511        yt = "active",
512        wt = ".active",
513        At = ".carousel-item",
514        Et = wt + At,
515        Tt = {
516            ArrowLeft: ht,
517            ArrowRight: ct
518        },
519        Ct = {
520            interval: 5e3,
521            keyboard: !0,
522            pause: "hover",
523            ride: !1,
524            touch: !0,
525            wrap: !0
526        },
527        Ot = {
528            interval: "(number|boolean)",
529            keyboard: "boolean",
530            pause: "(string|boolean)",
531            ride: "(boolean|string)",
532            touch: "boolean",
533            wrap: "boolean"
534        };
535    class xt extends W {
536        constructor(t, e) {
537            super(t, e), this._interval = null, this._activeElement = null, this._isSliding = !1, this.touchTimeout = null, this._swipeHelper = null, this._indicatorsElement = z.findOne(".carousel-indicators", this._element), this._addEventListeners(), this._config.ride === vt && this.cycle()
538        }
539        static get Default() {
540            return Ct
541        }
542        static get DefaultType() {
543            return Ot
544        }
545        static get NAME() {
546            return "carousel"
547        }
548        next() {
549            this._slide(at)
550        }
551        nextWhenVisible() {
552            !document.hidden && a(this._element) && this.next()
553        }
554        prev() {
555            this._slide(lt)
556        }
557        pause() {
558            this._isSliding && s(this._element), this._clearInterval()
559        }
560        cycle() {
561            this._clearInterval(), this._updateInterval(), this._interval = setInterval((() => this.nextWhenVisible()), this._config.interval)
562        }
563        _maybeEnableCycle() {
564            this._config.ride && (this._isSliding ? N.one(this._element, ut, (() => this.cycle())) : this.cycle())
565        }
566        to(t) {
567            const e = this._getItems();
vendor: 4,760 bytes, lines 568-662
568            if (t > e.length - 1 || t < 0) return;
569            if (this._isSliding) return void N.one(this._element, ut, (() => this.to(t)));
570            const i = this._getItemIndex(this._getActive());
571            if (i === t) return;
572            const n = t > i ? at : lt;
573            this._slide(n, e[t])
574        }
575        dispose() {
576            this._swipeHelper && this._swipeHelper.dispose(), super.dispose()
577        }
578        _configAfterMerge(t) {
579            return t.defaultInterval = t.interval, t
580        }
581        _addEventListeners() {
582            this._config.keyboard && N.on(this._element, ft, (t => this._keydown(t))), "hover" === this._config.pause && (N.on(this._element, pt, (() => this.pause())), N.on(this._element, mt, (() => this._maybeEnableCycle()))), this._config.touch && st.isSupported() && this._addTouchEventListeners()
583        }
584        _addTouchEventListeners() {
585            for (const t of z.find(".carousel-item img", this._element)) N.on(t, gt, (t => t.preventDefault()));
586            const t = {
587                leftCallback: () => this._slide(this._directionToOrder(ct)),
588                rightCallback: () => this._slide(this._directionToOrder(ht)),
589                endCallback: () => {
590                    "hover" === this._config.pause && (this.pause(), this.touchTimeout && clearTimeout(this.touchTimeout), this.touchTimeout = setTimeout((() => this._maybeEnableCycle()), 500 + this._config.interval))
591                }
592            };
593            this._swipeHelper = new st(this._element, t)
594        }
595        _keydown(t) {
596            if (/input|textarea/i.test(t.target.tagName)) return;
597            const e = Tt[t.key];
598            e && (t.preventDefault(), this._slide(this._directionToOrder(e)))
599        }
600        _getItemIndex(t) {
601            return this._getItems().indexOf(t)
602        }
603        _setActiveIndicatorElement(t) {
604            if (!this._indicatorsElement) return;
605            const e = z.findOne(wt, this._indicatorsElement);
606            e.classList.remove(yt), e.removeAttribute("aria-current");
607            const i = z.findOne(`[data-bs-slide-to="${t}"]`, this._indicatorsElement);
608            i && (i.classList.add(yt), i.setAttribute("aria-current", "true"))
609        }
610        _updateInterval() {
611            const t = this._activeElement || this._getActive();
612            if (!t) return;
613            const e = Number.parseInt(t.getAttribute("data-bs-interval"), 10);
614            this._config.interval = e || this._config.defaultInterval
615        }
616        _slide(t, e = null) {
617            if (this._isSliding) return;
618            const i = this._getActive(),
619                n = t === at,
620                s = e || b(this._getItems(), i, n, this._config.wrap);
621            if (s === i) return;
622            const o = this._getItemIndex(s),
623                r = e => N.trigger(this._element, e, {
624                    relatedTarget: s,
625                    direction: this._orderToDirection(t),
626                    from: this._getItemIndex(i),
627                    to: o
628                });
629            if (r(dt).defaultPrevented) return;
630            if (!i || !s) return;
631            const a = Boolean(this._interval);
632            this.pause(), this._isSliding = !0, this._setActiveIndicatorElement(o), this._activeElement = s;
633            const l = n ? "carousel-item-start" : "carousel-item-end",
634                c = n ? "carousel-item-next" : "carousel-item-prev";
635            s.classList.add(c), d(s), i.classList.add(l), s.classList.add(l), this._queueCallback((() => {
636                s.classList.remove(l, c), s.classList.add(yt), i.classList.remove(yt, c, l), this._isSliding = !1, r(ut)
637            }), i, this._isAnimated()), a && this.cycle()
638        }
639        _isAnimated() {
640            return this._element.classList.contains("slide")
641        }
642        _getActive() {
643            return z.findOne(Et, this._element)
644        }
645        _getItems() {
646            return z.find(At, this._element)
647        }
648        _clearInterval() {
649            this._interval && (clearInterval(this._interval), this._interval = null)
650        }
651        _directionToOrder(t) {
652            return p() ? t === ct ? lt : at : t === ct ? at : lt
653        }
654        _orderToDirection(t) {
655            return p() ? t === lt ? ct : ht : t === lt ? ht : ct
656        }
657        static jQueryInterface(t) {
658            return this.each((function() {
659                const e = xt.getOrCreateInstance(this, t);
660                if ("number" != typeof t) {
661                    if ("string" == typeof t) {
662                        if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
662amed "${t}"`);
663                        e[t]()
664                    }
665                } else e.to(t)
666            }))
667        }
668    }
669    N.on(document, bt, "[data-bs-slide], [data-bs-slide-to]", (function(t) {
670        const e = z.getElementFromSelector(this);
671        if (!e || !e.classList.contains(vt)) return;
672        t.preventDefault();
673        const i = xt.getOrCreateInstance(e),
674            n = this.getAttribute("data-bs-slide-to");
675        return n ? (i.to(n), void i._maybeEnableCycle()) : "next" === F.getDataAttribute(this, "slide") ? (i.next(), void i._maybeEnableCycle()) : (i.prev(), void i._maybeEnableCycle())
676    })), N.on(window, _t, (() => {
677        const t = z.find('[data-bs-ride="carousel"]');
678        for (const e of t) xt.getOrCreateInstance(e)
679    })), m(xt);
680    const kt = ".bs.collapse",
681        Lt = `show${kt}`,
682        St = `shown${kt}`,
683        Dt = `hide${kt}`,
684        $t = `hidden${kt}`,
685        It = `click${kt}.data-api`,
686        Nt = "show",
687        Pt = "collapse",
688        jt = "collapsing",
689        Mt = `:scope .${Pt} .${Pt}`,
690        Ft = '[data-bs-toggle="collapse"]',
691        Ht = {
692            parent: null,
693            toggle: !0
694        },
695        Wt = {
696            parent: "(null|element)",
697            toggle: "boolean"
698        };
699    class Bt extends W {
700        constructor(t, e) {
701            super(t, e), this._isTransitioning = !1, this._triggerArray = [];
702            const i = z.find(Ft);
703            for (const t of i) {
704                const e = z.getSelectorFromElement(t),
705                    i = z.find(e).filter((t => t === this._element));
706                null !== e && i.length && this._triggerArray.push(t)
707            }
708            this._initializeChildren(), this._config.parent || this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()), this._config.toggle && this.toggle()
709        }
710        static get Default() {
711            return Ht
712        }
713        static get DefaultType() {
714            return Wt
715        }
716        static get NAME() {
717            return "collapse"
718        }
719        toggle() {
720            this._isShown() ? this.hide() : this.show()
721        }
722        show() {
723            if (this._isTransitioning || this._isShown()) return;
724            let t = [];
725            if (this._config.parent && (t = this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t => t !== this._element)).map((t => Bt.getOrCreateInstance(t, {
726                    toggle: !1
727                })))), t.length && t[0]._isTransitioning) return;
728            if (N.trigger(this._element, Lt).defaultPrevented) return;
729            for (const e of t) e.hide();
730            const e = this._getDimension();
731            this._element.classList.remove(Pt), this._element.classList.add(jt), this._element.style[e] = 0, this._addAriaAndCollapsedClass(this._triggerArray, !0), this._isTransitioning = !0;
732            const i = `scroll${e[0].toUpperCase()+e.slice(1)}`;
733            this._queueCallback((() => {
734                this._isTransitioning = !1, this._element.classList.remove(jt), this._element.classList.add(Pt, Nt), this._element.style[e] = "", N.trigger(this._element, St)
735            }), this._element, !0), this._element.style[e] = `${this._element[i]}px`
736        }
737        hide() {
738            if (this._isTransitioning || !this._isShown()) return;
739            if (N.trigger(this._element, Dt).defaultPrevented) return;
740            const t = this._getDimension();
741            this._element.style[t] = `${this._element.getBoundingClientRect()[t]}px`, d(this._element), this._element.classList.add(jt), this._element.classList.remove(Pt, Nt);
742            for (const t of this._triggerArray) {
743                const e = z.getElementFromSelector(t);
744                e && !this._isShown(e) && this._addAriaAndCollapsedClass([t], !1)
745            }
746            this._isTransitioning = !0, this._element.style[t] = "", this._queueCallback((() => {
747                this._isTransitioning = !1, this._element.classList.remove(jt), this._element.classList.add(Pt), N.trigger(this._element, $t)
748            }), this._element, !0)
749        }
750        _isShown(t = this._element) {
751            return t.classList.contains(Nt)
752        }
753        _configAfterMerge(t) {
754            return t.toggle = Boolean(t.toggle), t.parent = r(t.parent), t
755        }
756        _getDimension() {
757            return this._element.classList.contains("collapse-horizontal") ? "width" : "height"
758        }
759        _initializeChildren() {
760            if (!this._config.parent) return;
761            const t = this._getFirstLevelChildren(Ft);
762            for (const e of t) {
763                const t = z.getElementFromSelector(e);
764                t && this._addAriaAndCollapsedClass([e], this._isShown(t))
765            }
766        }
767        _getFirstLevelChildren(t) {
768            const e = z.find(Mt, this._config.parent);
769            return z.find(t, this._config.parent).filter((t => !e.includes(t)))
770        }
771        _addAriaAndCollapsedClass(t, e) {
772            if (t.length)
773                for (const i of t) i.classList.toggle("collapsed", !e), i.setAttribute("aria-expanded", e)
774        }
775        static jQueryInterface(t) {
776            const e = {};
777            return "string" == typeof t && /show|hide/.test(t) && (e.toggle = !1), this.each((function() {
778                const i = Bt.getOrCreateInstance(this, e);
779                if ("string" == typeof t) {
780                    if (void 0 === i[t]) throw new TypeError(`No method n
780amed "${t}"`);
781                    i[t]()
782                }
783            }))
784        }
785    }
786    N.on(document, It, Ft, (function(t) {
787        ("A" === t.target.tagName || t.delegateTarget && "A" === t.delegateTarget.tagName) && t.preventDefault();
788        for (const t of z.getMultipleElementsFromSelector(this)) Bt.getOrCreateInstance(t, {
789            toggle: !1
790        }).toggle()
791    })), m(Bt);
792    var zt = "top",
793        Rt = "bottom",
794        qt = "right",
795        Vt = "left",
796        Kt = "auto",
797        Qt = [zt, Rt, qt, Vt],
798        Xt = "start",
799        Yt = "end",
800        Ut = "clippingParents",
801        Gt = "viewport",
802        Jt = "popper",
803        Zt = "reference",
804        te = Qt.reduce((function(t, e) {
805            return t.concat([e + "-" + Xt, e + "-" + Yt])
806        }), []),
807        ee = [].concat(Qt, [Kt]).reduce((function(t, e) {
808            return t.concat([e, e + "-" + Xt, e + "-" + Yt])
809        }), []),
810        ie = "beforeRead",
811        ne = "read",
812        se = "afterRead",
813        oe = "beforeMain",
814        re = "main",
815        ae = "afterMain",
816        le = "beforeWrite",
817        ce = "write",
818        he = "afterWrite",
819        de = [ie, ne, se, oe, re, ae, le, ce, he];
820
821    function ue(t) {
822        return t ? (t.nodeName || "").toLowerCase() : null
823    }
824
825    function fe(t) {
826        if (null == t) return window;
827        if ("[object Window]" !== t.toString()) {
828            var e = t.ownerDocument;
829            return e && e.defaultView || window
830        }
831        return t
832    }
833
834    function pe(t) {
835        return t instanceof fe(t).Element || t instanceof Element
836    }
837
838    function me(t) {
839        return t instanceof fe(t).HTMLElement || t instanceof HTMLElement
840    }
841
842    function ge(t) {
843        return "undefined" != typeof ShadowRoot && (t instanceof fe(t).ShadowRoot || t instanceof ShadowRoot)
844    }
845    const _e = {
846        name: "applyStyles",
847        enabled: !0,
848        phase: "write",
849        fn: function(t) {
850            var e = t.state;
851            Object.keys(e.elements).forEach((function(t) {
852                var i = e.styles[t] || {},
853                    n = e.attributes[t] || {},
854                    s = e.elements[t];
855                me(s) && ue(s) && (Object.assign(s.style, i), Object.keys(n).forEach((function(t) {
856                    var e = n[t];
857                    !1 === e ? s.removeAttribute(t) : s.setAttribute(t, !0 === e ? "" : e)
858                })))
859            }))
860        },
861        effect: function(t) {
862            var e = t.state,
863                i = {
864                    popper: {
865                        position: e.options.strategy,
866                        left: "0",
867                        top: "0",
868                        margin: "0"
869                    },
870                    arrow: {
871                        position: "absolute"
872                    },
873                    reference: {}
874                };
875            return Object.assign(e.elements.popper.style, i.popper), e.styles = i, e.elements.arrow && Object.assign(e.elements.arrow.style, i.arrow),
876                function() {
877                    Object.keys(e.elements).forEach((function(t) {
878                        var n = e.elements[t],
879                            s = e.attributes[t] || {},
880                            o = Object.keys(e.styles.hasOwnProperty(t) ? e.styles[t] : i[t]).reduce((function(t, e) {
881                                return t[e] = "", t
882                            }), {});
883                        me(n) && ue(n) && (Object.assign(n.style, o), Object.keys(s).forEach((function(t) {
884                            n.removeAttribute(t)
885                        })))
886                    }))
887                }
888        },
889        requires: ["computeStyles"]
890    };
891
892    function be(t) {
893        return t.split("-")[0]
894    }
895    var ve = Math.max,
896        ye = Math.min,
897        we = Math.round;
898
899    function Ae() {
900        var t = navigator.userAgentData;
901        return null != t && t.brands && Array.isArray(t.brands) ? t.brands.map((function(t) {
902            return t.brand + "/" + t.version
903        })).join(" ") : navigator.userAgent
904    }
905
906    function Ee() {
907        return !/^((?!chrome|android).)*safari/i.test(Ae())
908    }
909
910    function Te(t, e, i) {
911        void 0 === e && (e = !1), void 0 === i && (i = !1);
912        var n = t.getBoundingClientRect(),
913            s = 1,
914            o = 1;
915        e && me(t) && (s = t.offsetWidth > 0 && we(n.width) / t.offsetWidth || 1, o = t.offsetHeight > 0 && we(n.height) / t.offsetHeight || 1);
vendor: 4,619 bytes, lines 916-1053
916        var r = (pe(t) ? fe(t) : window).visualViewport,
917            a = !Ee() && i,
918            l = (n.left + (a && r ? r.offsetLeft : 0)) / s,
919            c = (n.top + (a && r ? r.offsetTop : 0)) / o,
920            h = n.width / s,
921            d = n.height / o;
922        return {
923            width: h,
924            height: d,
925            top: c,
926            right: l + h,
927            bottom: c + d,
928            left: l,
929            x: l,
930            y: c
931        }
932    }
933
934    function Ce(t) {
935        var e = Te(t),
936            i = t.offsetWidth,
937            n = t.offsetHeight;
938        return Math.abs(e.width - i) <= 1 && (i = e.width), Math.abs(e.height - n) <= 1 && (n = e.height), {
939            x: t.offsetLeft,
940            y: t.offsetTop,
941            width: i,
942            height: n
943        }
944    }
945
946    function Oe(t, e) {
947        var i = e.getRootNode && e.getRootNode();
948        if (t.contains(e)) return !0;
949        if (i && ge(i)) {
950            var n = e;
951            do {
952                if (n && t.isSameNode(n)) return !0;
953                n = n.parentNode || n.host
954            } while (n)
955        }
956        return !1
957    }
958
959    function xe(t) {
960        return fe(t).getComputedStyle(t)
961    }
962
963    function ke(t) {
964        return ["table", "td", "th"].indexOf(ue(t)) >= 0
965    }
966
967    function Le(t) {
968        return ((pe(t) ? t.ownerDocument : t.document) || window.document).documentElement
969    }
970
971    function Se(t) {
972        return "html" === ue(t) ? t : t.assignedSlot || t.parentNode || (ge(t) ? t.host : null) || Le(t)
973    }
974
975    function De(t) {
976        return me(t) && "fixed" !== xe(t).position ? t.offsetParent : null
977    }
978
979    function $e(t) {
980        for (var e = fe(t), i = De(t); i && ke(i) && "static" === xe(i).position;) i = De(i);
981        return i && ("html" === ue(i) || "body" === ue(i) && "static" === xe(i).position) ? e : i || function(t) {
982            var e = /firefox/i.test(Ae());
983            if (/Trident/i.test(Ae()) && me(t) && "fixed" === xe(t).position) return null;
984            var i = Se(t);
985            for (ge(i) && (i = i.host); me(i) && ["html", "body"].indexOf(ue(i)) < 0;) {
986                var n = xe(i);
987                if ("none" !== n.transform || "none" !== n.perspective || "paint" === n.contain || -1 !== ["transform", "perspective"].indexOf(n.willChange) || e && "filter" === n.willChange || e && n.filter && "none" !== n.filter) return i;
988                i = i.parentNode
989            }
990            return null
991        }(t) || e
992    }
993
994    function Ie(t) {
995        return ["top", "bottom"].indexOf(t) >= 0 ? "x" : "y"
996    }
997
998    function Ne(t, e, i) {
999        return ve(t, ye(e, i))
1000    }
1001
1002    function Pe(t) {
1003        return Object.assign({}, {
1004            top: 0,
1005            right: 0,
1006            bottom: 0,
1007            left: 0
1008        }, t)
1009    }
1010
1011    function je(t, e) {
1012        return e.reduce((function(e, i) {
1013            return e[i] = t, e
1014        }), {})
1015    }
1016    const Me = {
1017        name: "arrow",
1018        enabled: !0,
1019        phase: "main",
1020        fn: function(t) {
1021            var e, i = t.state,
1022                n = t.name,
1023                s = t.options,
1024                o = i.elements.arrow,
1025                r = i.modifiersData.popperOffsets,
1026                a = be(i.placement),
1027                l = Ie(a),
1028                c = [Vt, qt].indexOf(a) >= 0 ? "height" : "width";
1029            if (o && r) {
1030                var h = function(t, e) {
1031                        return Pe("number" != typeof(t = "function" == typeof t ? t(Object.assign({}, e.rects, {
1032                            placement: e.placement
1033                        })) : t) ? t : je(t, Qt))
1034                    }(s.padding, i),
1035                    d = Ce(o),
1036                    u = "y" === l ? zt : Vt,
1037                    f = "y" === l ? Rt : qt,
1038                    p = i.rects.reference[c] + i.rects.reference[l] - r[l] - i.rects.popper[c],
1039                    m = r[l] - i.rects.reference[l],
1040                    g = $e(o),
1041                    _ = g ? "y" === l ? g.clientHeight || 0 : g.clientWidth || 0 : 0,
1042                    b = p / 2 - m / 2,
1043                    v = h[u],
1044                    y = _ - d[c] - h[f],
1045                    w = _ / 2 - d[c] / 2 + b,
1046                    A = Ne(v, w, y),
1047                    E = l;
1048                i.modifiersData[n] = ((e = {})[E] = A, e.centerOffset = A - w, e)
1049            }
1050        },
1051        effect: function(t) {
1052            var e = t.state,
1053                i = t.options.element,
vendor: 4,859 bytes, lines 1054-1179
1054                n = void 0 === i ? "[data-popper-arrow]" : i;
1055            null != n && ("string" != typeof n || (n = e.elements.popper.querySelector(n))) && Oe(e.elements.popper, n) && (e.elements.arrow = n)
1056        },
1057        requires: ["popperOffsets"],
1058        requiresIfExists: ["preventOverflow"]
1059    };
1060
1061    function Fe(t) {
1062        return t.split("-")[1]
1063    }
1064    var He = {
1065        top: "auto",
1066        right: "auto",
1067        bottom: "auto",
1068        left: "auto"
1069    };
1070
1071    function We(t) {
1072        var e, i = t.popper,
1073            n = t.popperRect,
1074            s = t.placement,
1075            o = t.variation,
1076            r = t.offsets,
1077            a = t.position,
1078            l = t.gpuAcceleration,
1079            c = t.adaptive,
1080            h = t.roundOffsets,
1081            d = t.isFixed,
1082            u = r.x,
1083            f = void 0 === u ? 0 : u,
1084            p = r.y,
1085            m = void 0 === p ? 0 : p,
1086            g = "function" == typeof h ? h({
1087                x: f,
1088                y: m
1089            }) : {
1090                x: f,
1091                y: m
1092            };
1093        f = g.x, m = g.y;
1094        var _ = r.hasOwnProperty("x"),
1095            b = r.hasOwnProperty("y"),
1096            v = Vt,
1097            y = zt,
1098            w = window;
1099        if (c) {
1100            var A = $e(i),
1101                E = "clientHeight",
1102                T = "clientWidth";
1103            A === fe(i) && "static" !== xe(A = Le(i)).position && "absolute" === a && (E = "scrollHeight", T = "scrollWidth"), (s === zt || (s === Vt || s === qt) && o === Yt) && (y = Rt, m -= (d && A === w && w.visualViewport ? w.visualViewport.height : A[E]) - n.height, m *= l ? 1 : -1), s !== Vt && (s !== zt && s !== Rt || o !== Yt) || (v = qt, f -= (d && A === w && w.visualViewport ? w.visualViewport.width : A[T]) - n.width, f *= l ? 1 : -1)
1104        }
1105        var C, O = Object.assign({
1106                position: a
1107            }, c && He),
1108            x = !0 === h ? function(t, e) {
1109                var i = t.x,
1110                    n = t.y,
1111                    s = e.devicePixelRatio || 1;
1112                return {
1113                    x: we(i * s) / s || 0,
1114                    y: we(n * s) / s || 0
1115                }
1116            }({
1117                x: f,
1118                y: m
1119            }, fe(i)) : {
1120                x: f,
1121                y: m
1122            };
1123        return f = x.x, m = x.y, l ? Object.assign({}, O, ((C = {})[y] = b ? "0" : "", C[v] = _ ? "0" : "", C.transform = (w.devicePixelRatio || 1) <= 1 ? "translate(" + f + "px, " + m + "px)" : "translate3d(" + f + "px, " + m + "px, 0)", C)) : Object.assign({}, O, ((e = {})[y] = b ? m + "px" : "", e[v] = _ ? f + "px" : "", e.transform = "", e))
1124    }
1125    const Be = {
1126        name: "computeStyles",
1127        enabled: !0,
1128        phase: "beforeWrite",
1129        fn: function(t) {
1130            var e = t.state,
1131                i = t.options,
1132                n = i.gpuAcceleration,
1133                s = void 0 === n || n,
1134                o = i.adaptive,
1135                r = void 0 === o || o,
1136                a = i.roundOffsets,
1137                l = void 0 === a || a,
1138                c = {
1139                    placement: be(e.placement),
1140                    variation: Fe(e.placement),
1141                    popper: e.elements.popper,
1142                    popperRect: e.rects.popper,
1143                    gpuAcceleration: s,
1144                    isFixed: "fixed" === e.options.strategy
1145                };
1146            null != e.modifiersData.popperOffsets && (e.styles.popper = Object.assign({}, e.styles.popper, We(Object.assign({}, c, {
1147                offsets: e.modifiersData.popperOffsets,
1148                position: e.options.strategy,
1149                adaptive: r,
1150                roundOffsets: l
1151            })))), null != e.modifiersData.arrow && (e.styles.arrow = Object.assign({}, e.styles.arrow, We(Object.assign({}, c, {
1152                offsets: e.modifiersData.arrow,
1153                position: "absolute",
1154                adaptive: !1,
1155                roundOffsets: l
1156            })))), e.attributes.popper = Object.assign({}, e.attributes.popper, {
1157                "data-popper-placement": e.placement
1158            })
1159        },
1160        data: {}
1161    };
1162    var ze = {
1163        passive: !0
1164    };
1165    const Re = {
1166        name: "eventListeners",
1167        enabled: !0,
1168        phase: "write",
1169        fn: function() {},
1170        effect: function(t) {
1171            var e = t.state,
1172                i = t.instance,
1173                n = t.options,
1174                s = n.scroll,
1175                o = void 0 === s || s,
1176                r = n.resize,
1177                a = void 0 === r || r,
1178                l = fe(e.elements.popper),
1179                c = [].concat(e.scrollParents.reference, e.scrollParents.popper);
vendor: 21,662 bytes, lines 1180-1753
1180            return o && c.forEach((function(t) {
1181                    t.addEventListener("scroll", i.update, ze)
1182                })), a && l.addEventListener("resize", i.update, ze),
1183                function() {
1184                    o && c.forEach((function(t) {
1185                        t.removeEventListener("scroll", i.update, ze)
1186                    })), a && l.removeEventListener("resize", i.update, ze)
1187                }
1188        },
1189        data: {}
1190    };
1191    var qe = {
1192        left: "right",
1193        right: "left",
1194        bottom: "top",
1195        top: "bottom"
1196    };
1197
1198    function Ve(t) {
1199        return t.replace(/left|right|bottom|top/g, (function(t) {
1200            return qe[t]
1201        }))
1202    }
1203    var Ke = {
1204        start: "end",
1205        end: "start"
1206    };
1207
1208    function Qe(t) {
1209        return t.replace(/start|end/g, (function(t) {
1210            return Ke[t]
1211        }))
1212    }
1213
1214    function Xe(t) {
1215        var e = fe(t);
1216        return {
1217            scrollLeft: e.pageXOffset,
1218            scrollTop: e.pageYOffset
1219        }
1220    }
1221
1222    function Ye(t) {
1223        return Te(Le(t)).left + Xe(t).scrollLeft
1224    }
1225
1226    function Ue(t) {
1227        var e = xe(t),
1228            i = e.overflow,
1229            n = e.overflowX,
1230            s = e.overflowY;
1231        return /auto|scroll|overlay|hidden/.test(i + s + n)
1232    }
1233
1234    function Ge(t) {
1235        return ["html", "body", "#document"].indexOf(ue(t)) >= 0 ? t.ownerDocument.body : me(t) && Ue(t) ? t : Ge(Se(t))
1236    }
1237
1238    function Je(t, e) {
1239        var i;
1240        void 0 === e && (e = []);
1241        var n = Ge(t),
1242            s = n === (null == (i = t.ownerDocument) ? void 0 : i.body),
1243            o = fe(n),
1244            r = s ? [o].concat(o.visualViewport || [], Ue(n) ? n : []) : n,
1245            a = e.concat(r);
1246        return s ? a : a.concat(Je(Se(r)))
1247    }
1248
1249    function Ze(t) {
1250        return Object.assign({}, t, {
1251            left: t.x,
1252            top: t.y,
1253            right: t.x + t.width,
1254            bottom: t.y + t.height
1255        })
1256    }
1257
1258    function ti(t, e, i) {
1259        return e === Gt ? Ze(function(t, e) {
1260            var i = fe(t),
1261                n = Le(t),
1262                s = i.visualViewport,
1263                o = n.clientWidth,
1264                r = n.clientHeight,
1265                a = 0,
1266                l = 0;
1267            if (s) {
1268                o = s.width, r = s.height;
1269                var c = Ee();
1270                (c || !c && "fixed" === e) && (a = s.offsetLeft, l = s.offsetTop)
1271            }
1272            return {
1273                width: o,
1274                height: r,
1275                x: a + Ye(t),
1276                y: l
1277            }
1278        }(t, i)) : pe(e) ? function(t, e) {
1279            var i = Te(t, !1, "fixed" === e);
1280            return i.top = i.top + t.clientTop, i.left = i.left + t.clientLeft, i.bottom = i.top + t.clientHeight, i.right = i.left + t.clientWidth, i.width = t.clientWidth, i.height = t.clientHeight, i.x = i.left, i.y = i.top, i
1281        }(e, i) : Ze(function(t) {
1282            var e, i = Le(t),
1283                n = Xe(t),
1284                s = null == (e = t.ownerDocument) ? void 0 : e.body,
1285                o = ve(i.scrollWidth, i.clientWidth, s ? s.scrollWidth : 0, s ? s.clientWidth : 0),
1286                r = ve(i.scrollHeight, i.clientHeight, s ? s.scrollHeight : 0, s ? s.clientHeight : 0),
1287                a = -n.scrollLeft + Ye(t),
1288                l = -n.scrollTop;
1289            return "rtl" === xe(s || i).direction && (a += ve(i.clientWidth, s ? s.clientWidth : 0) - o), {
1290                width: o,
1291                height: r,
1292                x: a,
1293                y: l
1294            }
1295        }(Le(t)))
1296    }
1297
1298    function ei(t) {
1299        var e, i = t.reference,
1300            n = t.element,
1301            s = t.placement,
1302            o = s ? be(s) : null,
1303            r = s ? Fe(s) : null,
1304            a = i.x + i.width / 2 - n.width / 2,
1305            l = i.y + i.height / 2 - n.height / 2;
1306        switch (o) {
1307            case zt:
1308                e = {
1309                    x: a,
1310                    y: i.y - n.height
1311                };
1312                break;
1313            case Rt:
1314                e = {
1315                    x: a,
1316                    y: i.y + i.height
1317                };
1318                break;
1319            case qt:
1320                e = {
1321                    x: i.x + i.width,
1322                    y: l
1323                };
1324                break;
1325            case Vt:
1326                e = {
1327                    x: i.x - n.width,
1328                    y: l
1329                };
1330                break;
1331            default:
1332                e = {
1333                    x: i.x,
1334                    y: i.y
1335                }
1336        }
1337        var c = o ? Ie(o) : null;
1338        if (null != c) {
1339            var h = "y" === c ? "height" : "width";
1340            switch (r) {
1341                case Xt:
1342                    e[c] = e[c] - (i[h] / 2 - n[h] / 2);
1343                    break;
1344                case Yt:
1345                    e[c] = e[c] + (i[h] / 2 - n[h] / 2)
1346            }
1347        }
1348        return e
1349    }
1350
1351    function ii(t, e) {
1352        void 0 === e && (e = {});
1353        var i = e,
1354            n = i.placement,
1355            s = void 0 === n ? t.placement : n,
1356            o = i.strategy,
1357            r = void 0 === o ? t.strategy : o,
1358            a = i.boundary,
1359            l = void 0 === a ? Ut : a,
1360            c = i.rootBoundary,
1361            h = void 0 === c ? Gt : c,
1362            d = i.elementContext,
1363            u = void 0 === d ? Jt : d,
1364            f = i.altBoundary,
1365            p = void 0 !== f && f,
1366            m = i.padding,
1367            g = void 0 === m ? 0 : m,
1368            _ = Pe("number" != typeof g ? g : je(g, Qt)),
1369            b = u === Jt ? Zt : Jt,
1370            v = t.rects.popper,
1371            y = t.elements[p ? b : u],
1372            w = function(t, e, i, n) {
1373                var s = "clippingParents" === e ? function(t) {
1374                        var e = Je(Se(t)),
1375                            i = ["absolute", "fixed"].indexOf(xe(t).position) >= 0 && me(t) ? $e(t) : t;
1376                        return pe(i) ? e.filter((function(t) {
1377                            return pe(t) && Oe(t, i) && "body" !== ue(t)
1378                        })) : []
1379                    }(t) : [].concat(e),
1380                    o = [].concat(s, [i]),
1381                    r = o[0],
1382                    a = o.reduce((function(e, i) {
1383                        var s = ti(t, i, n);
1384                        return e.top = ve(s.top, e.top), e.right = ye(s.right, e.right), e.bottom = ye(s.bottom, e.bottom), e.left = ve(s.left, e.left), e
1385                    }), ti(t, r, n));
1386                return a.width = a.right - a.left, a.height = a.bottom - a.top, a.x = a.left, a.y = a.top, a
1387            }(pe(y) ? y : y.contextElement || Le(t.elements.popper), l, h, r),
1388            A = Te(t.elements.reference),
1389            E = ei({
1390                reference: A,
1391                element: v,
1392                strategy: "absolute",
1393                placement: s
1394            }),
1395            T = Ze(Object.assign({}, v, E)),
1396            C = u === Jt ? T : A,
1397            O = {
1398                top: w.top - C.top + _.top,
1399                bottom: C.bottom - w.bottom + _.bottom,
1400                left: w.left - C.left + _.left,
1401                right: C.right - w.right + _.right
1402            },
1403            x = t.modifiersData.offset;
1404        if (u === Jt && x) {
1405            var k = x[s];
1406            Object.keys(O).forEach((function(t) {
1407                var e = [qt, Rt].indexOf(t) >= 0 ? 1 : -1,
1408                    i = [zt, Rt].indexOf(t) >= 0 ? "y" : "x";
1409                O[t] += k[i] * e
1410            }))
1411        }
1412        return O
1413    }
1414
1415    function ni(t, e) {
1416        void 0 === e && (e = {});
1417        var i = e,
1418            n = i.placement,
1419            s = i.boundary,
1420            o = i.rootBoundary,
1421            r = i.padding,
1422            a = i.flipVariations,
1423            l = i.allowedAutoPlacements,
1424            c = void 0 === l ? ee : l,
1425            h = Fe(n),
1426            d = h ? a ? te : te.filter((function(t) {
1427                return Fe(t) === h
1428            })) : Qt,
1429            u = d.filter((function(t) {
1430                return c.indexOf(t) >= 0
1431            }));
1432        0 === u.length && (u = d);
1433        var f = u.reduce((function(e, i) {
1434            return e[i] = ii(t, {
1435                placement: i,
1436                boundary: s,
1437                rootBoundary: o,
1438                padding: r
1439            })[be(i)], e
1440        }), {});
1441        return Object.keys(f).sort((function(t, e) {
1442            return f[t] - f[e]
1443        }))
1444    }
1445    const si = {
1446        name: "flip",
1447        enabled: !0,
1448        phase: "main",
1449        fn: function(t) {
1450            var e = t.state,
1451                i = t.options,
1452                n = t.name;
1453            if (!e.modifiersData[n]._skip) {
1454                for (var s = i.mainAxis, o = void 0 === s || s, r = i.altAxis, a = void 0 === r || r, l = i.fallbackPlacements, c = i.padding, h = i.boundary, d = i.rootBoundary, u = i.altBoundary, f = i.flipVariations, p = void 0 === f || f, m = i.allowedAutoPlacements, g = e.options.placement, _ = be(g), b = l || (_ !== g && p ? function(t) {
1455                        if (be(t) === Kt) return [];
1456                        var e = Ve(t);
1457                        return [Qe(t), e, Qe(e)]
1458                    }(g) : [Ve(g)]), v = [g].concat(b).reduce((function(t, i) {
1459                        return t.concat(be(i) === Kt ? ni(e, {
1460                            placement: i,
1461                            boundary: h,
1462                            rootBoundary: d,
1463                            padding: c,
1464                            flipVariations: p,
1465                            allowedAutoPlacements: m
1466                        }) : i)
1467                    }), []), y = e.rects.reference, w = e.rects.popper, A = new Map, E = !0, T = v[0], C = 0; C < v.length; C++) {
1468                    var O = v[C],
1469                        x = be(O),
1470                        k = Fe(O) === Xt,
1471                        L = [zt, Rt].indexOf(x) >= 0,
1472                        S = L ? "width" : "height",
1473                        D = ii(e, {
1474                            placement: O,
1475                            boundary: h,
1476                            rootBoundary: d,
1477                            altBoundary: u,
1478                            padding: c
1479                        }),
1480                        $ = L ? k ? qt : Vt : k ? Rt : zt;
1481                    y[S] > w[S] && ($ = Ve($));
1482                    var I = Ve($),
1483                        N = [];
1484                    if (o && N.push(D[x] <= 0), a && N.push(D[$] <= 0, D[I] <= 0), N.every((function(t) {
1485                            return t
1486                        }))) {
1487                        T = O, E = !1;
1488                        break
1489                    }
1490                    A.set(O, N)
1491                }
1492                if (E)
1493                    for (var P = function(t) {
1494                            var e = v.find((function(e) {
1495                                var i = A.get(e);
1496                                if (i) return i.slice(0, t).every((function(t) {
1497                                    return t
1498                                }))
1499                            }));
1500                            if (e) return T = e, "break"
1501                        }, j = p ? 3 : 1; j > 0 && "break" !== P(j); j--);
1502                e.placement !== T && (e.modifiersData[n]._skip = !0, e.placement = T, e.reset = !0)
1503            }
1504        },
1505        requiresIfExists: ["offset"],
1506        data: {
1507            _skip: !1
1508        }
1509    };
1510
1511    function oi(t, e, i) {
1512        return void 0 === i && (i = {
1513            x: 0,
1514            y: 0
1515        }), {
1516            top: t.top - e.height - i.y,
1517            right: t.right - e.width + i.x,
1518            bottom: t.bottom - e.height + i.y,
1519            left: t.left - e.width - i.x
1520        }
1521    }
1522
1523    function ri(t) {
1524        return [zt, qt, Rt, Vt].some((function(e) {
1525            return t[e] >= 0
1526        }))
1527    }
1528    const ai = {
1529            name: "hide",
1530            enabled: !0,
1531            phase: "main",
1532            requiresIfExists: ["preventOverflow"],
1533            fn: function(t) {
1534                var e = t.state,
1535                    i = t.name,
1536                    n = e.rects.reference,
1537                    s = e.rects.popper,
1538                    o = e.modifiersData.preventOverflow,
1539                    r = ii(e, {
1540                        elementContext: "reference"
1541                    }),
1542                    a = ii(e, {
1543                        altBoundary: !0
1544                    }),
1545                    l = oi(r, n),
1546                    c = oi(a, s, o),
1547                    h = ri(l),
1548                    d = ri(c);
1549                e.modifiersData[i] = {
1550                    referenceClippingOffsets: l,
1551                    popperEscapeOffsets: c,
1552                    isReferenceHidden: h,
1553                    hasPopperEscaped: d
1554                }, e.attributes.popper = Object.assign({}, e.attributes.popper, {
1555                    "data-popper-reference-hidden": h,
1556                    "data-popper-escaped": d
1557                })
1558            }
1559        },
1560        li = {
1561            name: "offset",
1562            enabled: !0,
1563            phase: "main",
1564            requires: ["popperOffsets"],
1565            fn: function(t) {
1566                var e = t.state,
1567                    i = t.options,
1568                    n = t.name,
1569                    s = i.offset,
1570                    o = void 0 === s ? [0, 0] : s,
1571                    r = ee.reduce((function(t, i) {
1572                        return t[i] = function(t, e, i) {
1573                            var n = be(t),
1574                                s = [Vt, zt].indexOf(n) >= 0 ? -1 : 1,
1575                                o = "function" == typeof i ? i(Object.assign({}, e, {
1576                                    placement: t
1577                                })) : i,
1578                                r = o[0],
1579                                a = o[1];
1580                            return r = r || 0, a = (a || 0) * s, [Vt, qt].indexOf(n) >= 0 ? {
1581                                x: a,
1582                                y: r
1583                            } : {
1584                                x: r,
1585                                y: a
1586                            }
1587                        }(i, e.rects, o), t
1588                    }), {}),
1589                    a = r[e.placement],
1590                    l = a.x,
1591                    c = a.y;
1592                null != e.modifiersData.popperOffsets && (e.modifiersData.popperOffsets.x += l, e.modifiersData.popperOffsets.y += c), e.modifiersData[n] = r
1593            }
1594        },
1595        ci = {
1596            name: "popperOffsets",
1597            enabled: !0,
1598            phase: "read",
1599            fn: function(t) {
1600                var e = t.state,
1601                    i = t.name;
1602                e.modifiersData[i] = ei({
1603                    reference: e.rects.reference,
1604                    element: e.rects.popper,
1605                    strategy: "absolute",
1606                    placement: e.placement
1607                })
1608            },
1609            data: {}
1610        },
1611        hi = {
1612            name: "preventOverflow",
1613            enabled: !0,
1614            phase: "main",
1615            fn: function(t) {
1616                var e = t.state,
1617                    i = t.options,
1618                    n = t.name,
1619                    s = i.mainAxis,
1620                    o = void 0 === s || s,
1621                    r = i.altAxis,
1622                    a = void 0 !== r && r,
1623                    l = i.boundary,
1624                    c = i.rootBoundary,
1625                    h = i.altBoundary,
1626                    d = i.padding,
1627                    u = i.tether,
1628                    f = void 0 === u || u,
1629                    p = i.tetherOffset,
1630                    m = void 0 === p ? 0 : p,
1631                    g = ii(e, {
1632                        boundary: l,
1633                        rootBoundary: c,
1634                        padding: d,
1635                        altBoundary: h
1636                    }),
1637                    _ = be(e.placement),
1638                    b = Fe(e.placement),
1639                    v = !b,
1640                    y = Ie(_),
1641                    w = "x" === y ? "y" : "x",
1642                    A = e.modifiersData.popperOffsets,
1643                    E = e.rects.reference,
1644                    T = e.rects.popper,
1645                    C = "function" == typeof m ? m(Object.assign({}, e.rects, {
1646                        placement: e.placement
1647                    })) : m,
1648                    O = "number" == typeof C ? {
1649                        mainAxis: C,
1650                        altAxis: C
1651                    } : Object.assign({
1652                        mainAxis: 0,
1653                        altAxis: 0
1654                    }, C),
1655                    x = e.modifiersData.offset ? e.modifiersData.offset[e.placement] : null,
1656                    k = {
1657                        x: 0,
1658                        y: 0
1659                    };
1660                if (A) {
1661                    if (o) {
1662                        var L, S = "y" === y ? zt : Vt,
1663                            D = "y" === y ? Rt : qt,
1664                            $ = "y" === y ? "height" : "width",
1665                            I = A[y],
1666                            N = I + g[S],
1667                            P = I - g[D],
1668                            j = f ? -T[$] / 2 : 0,
1669                            M = b === Xt ? E[$] : T[$],
1670                            F = b === Xt ? -T[$] : -E[$],
1671                            H = e.elements.arrow,
1672                            W = f && H ? Ce(H) : {
1673                                width: 0,
1674                                height: 0
1675                            },
1676                            B = e.modifiersData["arrow#persistent"] ? e.modifiersData["arrow#persistent"].padding : {
1677                                top: 0,
1678                                right: 0,
1679                                bottom: 0,
1680                                left: 0
1681                            },
1682                            z = B[S],
1683                            R = B[D],
1684                            q = Ne(0, E[$], W[$]),
1685                            V = v ? E[$] / 2 - j - q - z - O.mainAxis : M - q - z - O.mainAxis,
1686                            K = v ? -E[$] / 2 + j + q + R + O.mainAxis : F + q + R + O.mainAxis,
1687                            Q = e.elements.arrow && $e(e.elements.arrow),
1688                            X = Q ? "y" === y ? Q.clientTop || 0 : Q.clientLeft || 0 : 0,
1689                            Y = null != (L = null == x ? void 0 : x[y]) ? L : 0,
1690                            U = I + K - Y,
1691                            G = Ne(f ? ye(N, I + V - Y - X) : N, I, f ? ve(P, U) : P);
1692                        A[y] = G, k[y] = G - I
1693                    }
1694                    if (a) {
1695                        var J, Z = "x" === y ? zt : Vt,
1696                            tt = "x" === y ? Rt : qt,
1697                            et = A[w],
1698                            it = "y" === w ? "height" : "width",
1699                            nt = et + g[Z],
1700                            st = et - g[tt],
1701                            ot = -1 !== [zt, Vt].indexOf(_),
1702                            rt = null != (J = null == x ? void 0 : x[w]) ? J : 0,
1703                            at = ot ? nt : et - E[it] - T[it] - rt + O.altAxis,
1704                            lt = ot ? et + E[it] + T[it] - rt - O.altAxis : st,
1705                            ct = f && ot ? function(t, e, i) {
1706                                var n = Ne(t, e, i);
1707                                return n > i ? i : n
1708                            }(at, et, lt) : Ne(f ? at : nt, et, f ? lt : st);
1709                        A[w] = ct, k[w] = ct - et
1710                    }
1711                    e.modifiersData[n] = k
1712                }
1713            },
1714            requiresIfExists: ["offset"]
1715        };
1716
1717    function di(t, e, i) {
1718        void 0 === i && (i = !1);
1719        var n, s, o = me(e),
1720            r = me(e) && function(t) {
1721                var e = t.getBoundingClientRect(),
1722                    i = we(e.width) / t.offsetWidth || 1,
1723                    n = we(e.height) / t.offsetHeight || 1;
1724                return 1 !== i || 1 !== n
1725            }(e),
1726            a = Le(e),
1727            l = Te(t, r, i),
1728            c = {
1729                scrollLeft: 0,
1730                scrollTop: 0
1731            },
1732            h = {
1733                x: 0,
1734                y: 0
1735            };
1736        return (o || !o && !i) && (("body" !== ue(e) || Ue(a)) && (c = (n = e) !== fe(n) && me(n) ? {
1737            scrollLeft: (s = n).scrollLeft,
1738            scrollTop: s.scrollTop
1739        } : Xe(n)), me(e) ? ((h = Te(e, !0)).x += e.clientLeft, h.y += e.clientTop) : a && (h.x = Ye(a))), {
1740            x: l.left + c.scrollLeft - h.x,
1741            y: l.top + c.scrollTop - h.y,
1742            width: l.width,
1743            height: l.height
1744        }
1745    }
1746
1747    function ui(t) {
1748        var e = new Map,
1749            i = new Set,
1750            n = [];
1751
1752        function s(t) {
1753            i.add(t.name), [].concat(t.requires || [], t.requiresIfExists || []).forEac
vendor: 4,324 bytes, lines 1753-1853
1753h((function(t) {
1754                if (!i.has(t)) {
1755                    var n = e.get(t);
1756                    n && s(n)
1757                }
1758            })), n.push(t)
1759        }
1760        return t.forEach((function(t) {
1761            e.set(t.name, t)
1762        })), t.forEach((function(t) {
1763            i.has(t.name) || s(t)
1764        })), n
1765    }
1766    var fi = {
1767        placement: "bottom",
1768        modifiers: [],
1769        strategy: "absolute"
1770    };
1771
1772    function pi() {
1773        for (var t = arguments.length, e = new Array(t), i = 0; i < t; i++) e[i] = arguments[i];
1774        return !e.some((function(t) {
1775            return !(t && "function" == typeof t.getBoundingClientRect)
1776        }))
1777    }
1778
1779    function mi(t) {
1780        void 0 === t && (t = {});
1781        var e = t,
1782            i = e.defaultModifiers,
1783            n = void 0 === i ? [] : i,
1784            s = e.defaultOptions,
1785            o = void 0 === s ? fi : s;
1786        return function(t, e, i) {
1787            void 0 === i && (i = o);
1788            var s, r, a = {
1789                    placement: "bottom",
1790                    orderedModifiers: [],
1791                    options: Object.assign({}, fi, o),
1792                    modifiersData: {},
1793                    elements: {
1794                        reference: t,
1795                        popper: e
1796                    },
1797                    attributes: {},
1798                    styles: {}
1799                },
1800                l = [],
1801                c = !1,
1802                h = {
1803                    state: a,
1804                    setOptions: function(i) {
1805                        var s = "function" == typeof i ? i(a.options) : i;
1806                        d(), a.options = Object.assign({}, o, a.options, s), a.scrollParents = {
1807                            reference: pe(t) ? Je(t) : t.contextElement ? Je(t.contextElement) : [],
1808                            popper: Je(e)
1809                        };
1810                        var r, c, u = function(t) {
1811                            var e = ui(t);
1812                            return de.reduce((function(t, i) {
1813                                return t.concat(e.filter((function(t) {
1814                                    return t.phase === i
1815                                })))
1816                            }), [])
1817                        }((r = [].concat(n, a.options.modifiers), c = r.reduce((function(t, e) {
1818                            var i = t[e.name];
1819                            return t[e.name] = i ? Object.assign({}, i, e, {
1820                                options: Object.assign({}, i.options, e.options),
1821                                data: Object.assign({}, i.data, e.data)
1822                            }) : e, t
1823                        }), {}), Object.keys(c).map((function(t) {
1824                            return c[t]
1825                        }))));
1826                        return a.orderedModifiers = u.filter((function(t) {
1827                            return t.enabled
1828                        })), a.orderedModifiers.forEach((function(t) {
1829                            var e = t.name,
1830                                i = t.options,
1831                                n = void 0 === i ? {} : i,
1832                                s = t.effect;
1833                            if ("function" == typeof s) {
1834                                var o = s({
1835                                    state: a,
1836                                    name: e,
1837                                    instance: h,
1838                                    options: n
1839                                });
1840                                l.push(o || function() {})
1841                            }
1842                        })), h.update()
1843                    },
1844                    forceUpdate: function() {
1845                        if (!c) {
1846                            var t = a.elements,
1847                                e = t.reference,
1848                                i = t.popper;
1849                            if (pi(e, i)) {
1850                                a.rects = {
1851                                    reference: di(e, $e(i), "fixed" === a.options.strategy),
1852                                    popper: Ce(i)
1853                                }, a.reset = !1, a.placement = a.options.placement, a.orderedModifiers.forEac
vendor: 5,772 bytes, lines 1853-2010
1853h((function(t) {
1854                                    return a.modifiersData[t.name] = Object.assign({}, t.data)
1855                                }));
1856                                for (var n = 0; n < a.orderedModifiers.length; n++)
1857                                    if (!0 !== a.reset) {
1858                                        var s = a.orderedModifiers[n],
1859                                            o = s.fn,
1860                                            r = s.options,
1861                                            l = void 0 === r ? {} : r,
1862                                            d = s.name;
1863                                        "function" == typeof o && (a = o({
1864                                            state: a,
1865                                            options: l,
1866                                            name: d,
1867                                            instance: h
1868                                        }) || a)
1869                                    } else a.reset = !1, n = -1
1870                            }
1871                        }
1872                    },
1873                    update: (s = function() {
1874                        return new Promise((function(t) {
1875                            h.forceUpdate(), t(a)
1876                        }))
1877                    }, function() {
1878                        return r || (r = new Promise((function(t) {
1879                            Promise.resolve().then((function() {
1880                                r = void 0, t(s())
1881                            }))
1882                        }))), r
1883                    }),
1884                    destroy: function() {
1885                        d(), c = !0
1886                    }
1887                };
1888            if (!pi(t, e)) return h;
1889
1890            function d() {
1891                l.forEach((function(t) {
1892                    return t()
1893                })), l = []
1894            }
1895            return h.setOptions(i).then((function(t) {
1896                !c && i.onFirstUpdate && i.onFirstUpdate(t)
1897            })), h
1898        }
1899    }
1900    var gi = mi(),
1901        _i = mi({
1902            defaultModifiers: [Re, ci, Be, _e]
1903        }),
1904        bi = mi({
1905            defaultModifiers: [Re, ci, Be, _e, li, si, hi, Me, ai]
1906        });
1907    const vi = Object.freeze(Object.defineProperty({
1908            __proto__: null,
1909            afterMain: ae,
1910            afterRead: se,
1911            afterWrite: he,
1912            applyStyles: _e,
1913            arrow: Me,
1914            auto: Kt,
1915            basePlacements: Qt,
1916            beforeMain: oe,
1917            beforeRead: ie,
1918            beforeWrite: le,
1919            bottom: Rt,
1920            clippingParents: Ut,
1921            computeStyles: Be,
1922            createPopper: bi,
1923            createPopperBase: gi,
1924            createPopperLite: _i,
1925            detectOverflow: ii,
1926            end: Yt,
1927            eventListeners: Re,
1928            flip: si,
1929            hide: ai,
1930            left: Vt,
1931            main: re,
1932            modifierPhases: de,
1933            offset: li,
1934            placements: ee,
1935            popper: Jt,
1936            popperGenerator: mi,
1937            popperOffsets: ci,
1938            preventOverflow: hi,
1939            read: ne,
1940            reference: Zt,
1941            right: qt,
1942            start: Xt,
1943            top: zt,
1944            variationPlacements: te,
1945            viewport: Gt,
1946            write: ce
1947        }, Symbol.toStringTag, {
1948            value: "Module"
1949        })),
1950        yi = "dropdown",
1951        wi = ".bs.dropdown",
1952        Ai = ".data-api",
1953        Ei = "ArrowUp",
1954        Ti = "ArrowDown",
1955        Ci = `hide${wi}`,
1956        Oi = `hidden${wi}`,
1957        xi = `show${wi}`,
1958        ki = `shown${wi}`,
1959        Li = `click${wi}${Ai}`,
1960        Si = `keydown${wi}${Ai}`,
1961        Di = `keyup${wi}${Ai}`,
1962        $i = "show",
1963        Ii = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',
1964        Ni = `${Ii}.${$i}`,
1965        Pi = ".dropdown-menu",
1966        ji = p() ? "top-end" : "top-start",
1967        Mi = p() ? "top-start" : "top-end",
1968        Fi = p() ? "bottom-end" : "bottom-start",
1969        Hi = p() ? "bottom-start" : "bottom-end",
1970        Wi = p() ? "left-start" : "right-start",
1971        Bi = p() ? "right-start" : "left-start",
1972        zi = {
1973            autoClose: !0,
1974            boundary: "clippingParents",
1975            display: "dynamic",
1976            offset: [0, 2],
1977            popperConfig: null,
1978            reference: "toggle"
1979        },
1980        Ri = {
1981            autoClose: "(boolean|string)",
1982            boundary: "(string|element)",
1983            display: "string",
1984            offset: "(array|string|function)",
1985            popperConfig: "(null|object|function)",
1986            reference: "(string|element|object)"
1987        };
1988    class qi extends W {
1989        constructor(t, e) {
1990            super(t, e), this._popper = null, this._parent = this._element.parentNode, this._menu = z.next(this._element, Pi)[0] || z.prev(this._element, Pi)[0] || z.findOne(Pi, this._parent), this._inNavbar = this._detectNavbar()
1991        }
1992        static get Default() {
1993            return zi
1994        }
1995        static get DefaultType() {
1996            return Ri
1997        }
1998        static get NAME() {
1999            return yi
2000        }
2001        toggle() {
2002            return this._isShown() ? this.hide() : this.show()
2003        }
2004        show() {
2005            if (l(this._element) || this._isShown()) return;
2006            const t = {
2007                relatedTarget: this._element
2008            };
2009            if (!N.trigger(this._element, xi, t).defaultPrevented) {
2010                if (this._createPopper(), "ontouchstart" in document.documentElement && !this._parent.closest(".
vendor: 2,787 bytes, lines 2010-2058
2010navbar-nav"))
2011                    for (const t of [].concat(...document.body.children)) N.on(t, "mouseover", h);
2012                this._element.focus(), this._element.setAttribute("aria-expanded", !0), this._menu.classList.add($i), this._element.classList.add($i), N.trigger(this._element, ki, t)
2013            }
2014        }
2015        hide() {
2016            if (l(this._element) || !this._isShown()) return;
2017            const t = {
2018                relatedTarget: this._element
2019            };
2020            this._completeHide(t)
2021        }
2022        dispose() {
2023            this._popper && this._popper.destroy(), super.dispose()
2024        }
2025        update() {
2026            this._inNavbar = this._detectNavbar(), this._popper && this._popper.update()
2027        }
2028        _completeHide(t) {
2029            if (!N.trigger(this._element, Ci, t).defaultPrevented) {
2030                if ("ontouchstart" in document.documentElement)
2031                    for (const t of [].concat(...document.body.children)) N.off(t, "mouseover", h);
2032                this._popper && this._popper.destroy(), this._menu.classList.remove($i), this._element.classList.remove($i), this._element.setAttribute("aria-expanded", "false"), F.removeDataAttribute(this._menu, "popper"), N.trigger(this._element, Oi, t)
2033            }
2034        }
2035        _getConfig(t) {
2036            if ("object" == typeof(t = super._getConfig(t)).reference && !o(t.reference) && "function" != typeof t.reference.getBoundingClientRect) throw new TypeError(`${yi.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
2037            return t
2038        }
2039        _createPopper() {
2040            if (void 0 === vi) throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");
2041            let t = this._element;
2042            "parent" === this._config.reference ? t = this._parent : o(this._config.reference) ? t = r(this._config.reference) : "object" == typeof this._config.reference && (t = this._config.reference);
2043            const e = this._getPopperConfig();
2044            this._popper = bi(t, this._menu, e)
2045        }
2046        _isShown() {
2047            return this._menu.classList.contains($i)
2048        }
2049        _getPlacement() {
2050            const t = this._parent;
2051            if (t.classList.contains("dropend")) return Wi;
2052            if (t.classList.contains("dropstart")) return Bi;
2053            if (t.classList.contains("dropup-center")) return "top";
2054            if (t.classList.contains("dropdown-center")) return "bottom";
2055            const e = "end" === getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();
2056            return t.classList.contains("dropup") ? e ? Mi : ji : e ? Hi : Fi
2057        }
2058        _detectNavbar() {
vendor: 20,081 bytes, lines 2059-2521
2059            return null !== this._element.closest(".navbar")
2060        }
2061        _getOffset() {
2062            const {
2063                offset: t
2064            } = this._config;
2065            return "string" == typeof t ? t.split(",").map((t => Number.parseInt(t, 10))) : "function" == typeof t ? e => t(e, this._element) : t
2066        }
2067        _getPopperConfig() {
2068            const t = {
2069                placement: this._getPlacement(),
2070                modifiers: [{
2071                    name: "preventOverflow",
2072                    options: {
2073                        boundary: this._config.boundary
2074                    }
2075                }, {
2076                    name: "offset",
2077                    options: {
2078                        offset: this._getOffset()
2079                    }
2080                }]
2081            };
2082            return (this._inNavbar || "static" === this._config.display) && (F.setDataAttribute(this._menu, "popper", "static"), t.modifiers = [{
2083                name: "applyStyles",
2084                enabled: !1
2085            }]), {
2086                ...t,
2087                ...g(this._config.popperConfig, [t])
2088            }
2089        }
2090        _selectMenuItem({
2091            key: t,
2092            target: e
2093        }) {
2094            const i = z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)", this._menu).filter((t => a(t)));
2095            i.length && b(i, e, t === Ti, !i.includes(e)).focus()
2096        }
2097        static jQueryInterface(t) {
2098            return this.each((function() {
2099                const e = qi.getOrCreateInstance(this, t);
2100                if ("string" == typeof t) {
2101                    if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
2102                    e[t]()
2103                }
2104            }))
2105        }
2106        static clearMenus(t) {
2107            if (2 === t.button || "keyup" === t.type && "Tab" !== t.key) return;
2108            const e = z.find(Ni);
2109            for (const i of e) {
2110                const e = qi.getInstance(i);
2111                if (!e || !1 === e._config.autoClose) continue;
2112                const n = t.composedPath(),
2113                    s = n.includes(e._menu);
2114                if (n.includes(e._element) || "inside" === e._config.autoClose && !s || "outside" === e._config.autoClose && s) continue;
2115                if (e._menu.contains(t.target) && ("keyup" === t.type && "Tab" === t.key || /input|select|option|textarea|form/i.test(t.target.tagName))) continue;
2116                const o = {
2117                    relatedTarget: e._element
2118                };
2119                "click" === t.type && (o.clickEvent = t), e._completeHide(o)
2120            }
2121        }
2122        static dataApiKeydownHandler(t) {
2123            const e = /input|textarea/i.test(t.target.tagName),
2124                i = "Escape" === t.key,
2125                n = [Ei, Ti].includes(t.key);
2126            if (!n && !i) return;
2127            if (e && !i) return;
2128            t.preventDefault();
2129            const s = this.matches(Ii) ? this : z.prev(this, Ii)[0] || z.next(this, Ii)[0] || z.findOne(Ii, t.delegateTarget.parentNode),
2130                o = qi.getOrCreateInstance(s);
2131            if (n) return t.stopPropagation(), o.show(), void o._selectMenuItem(t);
2132            o._isShown() && (t.stopPropagation(), o.hide(), s.focus())
2133        }
2134    }
2135    N.on(document, Si, Ii, qi.dataApiKeydownHandler), N.on(document, Si, Pi, qi.dataApiKeydownHandler), N.on(document, Li, qi.clearMenus), N.on(document, Di, qi.clearMenus), N.on(document, Li, Ii, (function(t) {
2136        t.preventDefault(), qi.getOrCreateInstance(this).toggle()
2137    })), m(qi);
2138    const Vi = "backdrop",
2139        Ki = "show",
2140        Qi = `mousedown.bs.${Vi}`,
2141        Xi = {
2142            className: "modal-backdrop",
2143            clickCallback: null,
2144            isAnimated: !1,
2145            isVisible: !0,
2146            rootElement: "body"
2147        },
2148        Yi = {
2149            className: "string",
2150            clickCallback: "(function|null)",
2151            isAnimated: "boolean",
2152            isVisible: "boolean",
2153            rootElement: "(element|string)"
2154        };
2155    class Ui extends H {
2156        constructor(t) {
2157            super(), this._config = this._getConfig(t), this._isAppended = !1, this._element = null
2158        }
2159        static get Default() {
2160            return Xi
2161        }
2162        static get DefaultType() {
2163            return Yi
2164        }
2165        static get NAME() {
2166            return Vi
2167        }
2168        show(t) {
2169            if (!this._config.isVisible) return void g(t);
2170            this._append();
2171            const e = this._getElement();
2172            this._config.isAnimated && d(e), e.classList.add(Ki), this._emulateAnimation((() => {
2173                g(t)
2174            }))
2175        }
2176        hide(t) {
2177            this._config.isVisible ? (this._getElement().classList.remove(Ki), this._emulateAnimation((() => {
2178                this.dispose(), g(t)
2179            }))) : g(t)
2180        }
2181        dispose() {
2182            this._isAppended && (N.off(this._element, Qi), this._element.remove(), this._isAppended = !1)
2183        }
2184        _getElement() {
2185            if (!this._element) {
2186                const t = document.createElement("div");
2187                t.className = this._config.className, this._config.isAnimated && t.classList.add("fade"), this._element = t
2188            }
2189            return this._element
2190        }
2191        _configAfterMerge(t) {
2192            return t.rootElement = r(t.rootElement), t
2193        }
2194        _append() {
2195            if (this._isAppended) return;
2196            const t = this._getElement();
2197            this._config.rootElement.append(t), N.on(t, Qi, (() => {
2198                g(this._config.clickCallback)
2199            })), this._isAppended = !0
2200        }
2201        _emulateAnimation(t) {
2202            _(t, this._getElement(), this._config.isAnimated)
2203        }
2204    }
2205    const Gi = ".bs.focustrap",
2206        Ji = `focusin${Gi}`,
2207        Zi = `keydown.tab${Gi}`,
2208        tn = "backward",
2209        en = {
2210            autofocus: !0,
2211            trapElement: null
2212        },
2213        nn = {
2214            autofocus: "boolean",
2215            trapElement: "element"
2216        };
2217    class sn extends H {
2218        constructor(t) {
2219            super(), this._config = this._getConfig(t), this._isActive = !1, this._lastTabNavDirection = null
2220        }
2221        static get Default() {
2222            return en
2223        }
2224        static get DefaultType() {
2225            return nn
2226        }
2227        static get NAME() {
2228            return "focustrap"
2229        }
2230        activate() {
2231            this._isActive || (this._config.autofocus && this._config.trapElement.focus(), N.off(document, Gi), N.on(document, Ji, (t => this._handleFocusin(t))), N.on(document, Zi, (t => this._handleKeydown(t))), this._isActive = !0)
2232        }
2233        deactivate() {
2234            this._isActive && (this._isActive = !1, N.off(document, Gi))
2235        }
2236        _handleFocusin(t) {
2237            const {
2238                trapElement: e
2239            } = this._config;
2240            if (t.target === document || t.target === e || e.contains(t.target)) return;
2241            const i = z.focusableChildren(e);
2242            0 === i.length ? e.focus() : this._lastTabNavDirection === tn ? i[i.length - 1].focus() : i[0].focus()
2243        }
2244        _handleKeydown(t) {
2245            "Tab" === t.key && (this._lastTabNavDirection = t.shiftKey ? tn : "forward")
2246        }
2247    }
2248    const on = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",
2249        rn = ".sticky-top",
2250        an = "padding-right",
2251        ln = "margin-right";
2252    class cn {
2253        constructor() {
2254            this._element = document.body
2255        }
2256        getWidth() {
2257            const t = document.documentElement.clientWidth;
2258            return Math.abs(window.innerWidth - t)
2259        }
2260        hide() {
2261            const t = this.getWidth();
2262            this._disableOverFlow(), this._setElementAttributes(this._element, an, (e => e + t)), this._setElementAttributes(on, an, (e => e + t)), this._setElementAttributes(rn, ln, (e => e - t))
2263        }
2264        reset() {
2265            this._resetElementAttributes(this._element, "overflow"), this._resetElementAttributes(this._element, an), this._resetElementAttributes(on, an), this._resetElementAttributes(rn, ln)
2266        }
2267        isOverflowing() {
2268            return this.getWidth() > 0
2269        }
2270        _disableOverFlow() {
2271            this._saveInitialAttribute(this._element, "overflow"), this._element.style.overflow = "hidden"
2272        }
2273        _setElementAttributes(t, e, i) {
2274            const n = this.getWidth();
2275            this._applyManipulationCallback(t, (t => {
2276                if (t !== this._element && window.innerWidth > t.clientWidth + n) return;
2277                this._saveInitialAttribute(t, e);
2278                const s = window.getComputedStyle(t).getPropertyValue(e);
2279                t.style.setProperty(e, `${i(Number.parseFloat(s))}px`)
2280            }))
2281        }
2282        _saveInitialAttribute(t, e) {
2283            const i = t.style.getPropertyValue(e);
2284            i && F.setDataAttribute(t, e, i)
2285        }
2286        _resetElementAttributes(t, e) {
2287            this._applyManipulationCallback(t, (t => {
2288                const i = F.getDataAttribute(t, e);
2289                null !== i ? (F.removeDataAttribute(t, e), t.style.setProperty(e, i)) : t.style.removeProperty(e)
2290            }))
2291        }
2292        _applyManipulationCallback(t, e) {
2293            if (o(t)) e(t);
2294            else
2295                for (const i of z.find(t, this._element)) e(i)
2296        }
2297    }
2298    const hn = ".bs.modal",
2299        dn = `hide${hn}`,
2300        un = `hidePrevented${hn}`,
2301        fn = `hidden${hn}`,
2302        pn = `show${hn}`,
2303        mn = `shown${hn}`,
2304        gn = `resize${hn}`,
2305        _n = `click.dismiss${hn}`,
2306        bn = `mousedown.dismiss${hn}`,
2307        vn = `keydown.dismiss${hn}`,
2308        yn = `click${hn}.data-api`,
2309        wn = "modal-open",
2310        An = "show",
2311        En = "modal-static",
2312        Tn = {
2313            backdrop: !0,
2314            focus: !0,
2315            keyboard: !0
2316        },
2317        Cn = {
2318            backdrop: "(boolean|string)",
2319            focus: "boolean",
2320            keyboard: "boolean"
2321        };
2322    class On extends W {
2323        constructor(t, e) {
2324            super(t, e), this._dialog = z.findOne(".modal-dialog", this._element), this._backdrop = this._initializeBackDrop(), this._focustrap = this._initializeFocusTrap(), this._isShown = !1, this._isTransitioning = !1, this._scrollBar = new cn, this._addEventListeners()
2325        }
2326        static get Default() {
2327            return Tn
2328        }
2329        static get DefaultType() {
2330            return Cn
2331        }
2332        static get NAME() {
2333            return "modal"
2334        }
2335        toggle(t) {
2336            return this._isShown ? this.hide() : this.show(t)
2337        }
2338        show(t) {
2339            this._isShown || this._isTransitioning || N.trigger(this._element, pn, {
2340                relatedTarget: t
2341            }).defaultPrevented || (this._isShown = !0, this._isTransitioning = !0, this._scrollBar.hide(), document.body.classList.add(wn), this._adjustDialog(), this._backdrop.show((() => this._showElement(t))))
2342        }
2343        hide() {
2344            this._isShown && !this._isTransitioning && (N.trigger(this._element, dn).defaultPrevented || (this._isShown = !1, this._isTransitioning = !0, this._focustrap.deactivate(), this._element.classList.remove(An), this._queueCallback((() => this._hideModal()), this._element, this._isAnimated())))
2345        }
2346        dispose() {
2347            N.off(window, hn), N.off(this._dialog, hn), this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose()
2348        }
2349        handleUpdate() {
2350            this._adjustDialog()
2351        }
2352        _initializeBackDrop() {
2353            return new Ui({
2354                isVisible: Boolean(this._config.backdrop),
2355                isAnimated: this._isAnimated()
2356            })
2357        }
2358        _initializeFocusTrap() {
2359            return new sn({
2360                trapElement: this._element
2361            })
2362        }
2363        _showElement(t) {
2364            document.body.contains(this._element) || document.body.append(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), this._element.scrollTop = 0;
2365            const e = z.findOne(".modal-body", this._dialog);
2366            e && (e.scrollTop = 0), d(this._element), this._element.classList.add(An), this._queueCallback((() => {
2367                this._config.focus && this._focustrap.activate(), this._isTransitioning = !1, N.trigger(this._element, mn, {
2368                    relatedTarget: t
2369                })
2370            }), this._dialog, this._isAnimated())
2371        }
2372        _addEventListeners() {
2373            N.on(this._element, vn, (t => {
2374                "Escape" === t.key && (this._config.keyboard ? this.hide() : this._triggerBackdropTransition())
2375            })), N.on(window, gn, (() => {
2376                this._isShown && !this._isTransitioning && this._adjustDialog()
2377            })), N.on(this._element, bn, (t => {
2378                N.one(this._element, _n, (e => {
2379                    this._element === t.target && this._element === e.target && ("static" !== this._config.backdrop ? this._config.backdrop && this.hide() : this._triggerBackdropTransition())
2380                }))
2381            }))
2382        }
2383        _hideModal() {
2384            this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._element.removeAttribute("aria-modal"), this._element.removeAttribute("role"), this._isTransitioning = !1, this._backdrop.hide((() => {
2385                document.body.classList.remove(wn), this._resetAdjustments(), this._scrollBar.reset(), N.trigger(this._element, fn)
2386            }))
2387        }
2388        _isAnimated() {
2389            return this._element.classList.contains("fade")
2390        }
2391        _triggerBackdropTransition() {
2392            if (N.trigger(this._element, un).defaultPrevented) return;
2393            const t = this._element.scrollHeight > document.documentElement.clientHeight,
2394                e = this._element.style.overflowY;
2395            "hidden" === e || this._element.classList.contains(En) || (t || (this._element.style.overflowY = "hidden"), this._element.classList.add(En), this._queueCallback((() => {
2396                this._element.classList.remove(En), this._queueCallback((() => {
2397                    this._element.style.overflowY = e
2398                }), this._dialog)
2399            }), this._dialog), this._element.focus())
2400        }
2401        _adjustDialog() {
2402            const t = this._element.scrollHeight > document.documentElement.clientHeight,
2403                e = this._scrollBar.getWidth(),
2404                i = e > 0;
2405            if (i && !t) {
2406                const t = p() ? "paddingLeft" : "paddingRight";
2407                this._element.style[t] = `${e}px`
2408            }
2409            if (!i && t) {
2410                const t = p() ? "paddingRight" : "paddingLeft";
2411                this._element.style[t] = `${e}px`
2412            }
2413        }
2414        _resetAdjustments() {
2415            this._element.style.paddingLeft = "", this._element.style.paddingRight = ""
2416        }
2417        static jQueryInterface(t, e) {
2418            return this.each((function() {
2419                const i = On.getOrCreateInstance(this, t);
2420                if ("string" == typeof t) {
2421                    if (void 0 === i[t]) throw new TypeError(`No method named "${t}"`);
2422                    i[t](e)
2423                }
2424            }))
2425        }
2426    }
2427    N.on(document, yn, '[data-bs-toggle="modal"]', (function(t) {
2428        const e = z.getElementFromSelector(this);
2429        ["A", "AREA"].includes(this.tagName) && t.preventDefault(), N.one(e, pn, (t => {
2430            t.defaultPrevented || N.one(e, fn, (() => {
2431                a(this) && this.focus()
2432            }))
2433        }));
2434        const i = z.findOne(".modal.show");
2435        i && On.getInstance(i).hide(), On.getOrCreateInstance(e).toggle(this)
2436    })), R(On), m(On);
2437    const xn = ".bs.offcanvas",
2438        kn = ".data-api",
2439        Ln = `load${xn}${kn}`,
2440        Sn = "show",
2441        Dn = "showing",
2442        $n = "hiding",
2443        In = ".offcanvas.show",
2444        Nn = `show${xn}`,
2445        Pn = `shown${xn}`,
2446        jn = `hide${xn}`,
2447        Mn = `hidePrevented${xn}`,
2448        Fn = `hidden${xn}`,
2449        Hn = `resize${xn}`,
2450        Wn = `click${xn}${kn}`,
2451        Bn = `keydown.dismiss${xn}`,
2452        zn = {
2453            backdrop: !0,
2454            keyboard: !0,
2455            scroll: !1
2456        },
2457        Rn = {
2458            backdrop: "(boolean|string)",
2459            keyboard: "boolean",
2460            scroll: "boolean"
2461        };
2462    class qn extends W {
2463        constructor(t, e) {
2464            super(t, e), this._isShown = !1, this._backdrop = this._initializeBackDrop(), this._focustrap = this._initializeFocusTrap(), this._addEventListeners()
2465        }
2466        static get Default() {
2467            return zn
2468        }
2469        static get DefaultType() {
2470            return Rn
2471        }
2472        static get NAME() {
2473            return "offcanvas"
2474        }
2475        toggle(t) {
2476            return this._isShown ? this.hide() : this.show(t)
2477        }
2478        show(t) {
2479            this._isShown || N.trigger(this._element, Nn, {
2480                relatedTarget: t
2481            }).defaultPrevented || (this._isShown = !0, this._backdrop.show(), this._config.scroll || (new cn).hide(), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), this._element.classList.add(Dn), this._queueCallback((() => {
2482                this._config.scroll && !this._config.backdrop || this._focustrap.activate(), this._element.classList.add(Sn), this._element.classList.remove(Dn), N.trigger(this._element, Pn, {
2483                    relatedTarget: t
2484                })
2485            }), this._element, !0))
2486        }
2487        hide() {
2488            this._isShown && (N.trigger(this._element, jn).defaultPrevented || (this._focustrap.deactivate(), this._element.blur(), this._isShown = !1, this._element.classList.add($n), this._backdrop.hide(), this._queueCallback((() => {
2489                this._element.classList.remove(Sn, $n), this._element.removeAttribute("aria-modal"), this._element.removeAttribute("role"), this._config.scroll || (new cn).reset(), N.trigger(this._element, Fn)
2490            }), this._element, !0)))
2491        }
2492        dispose() {
2493            this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose()
2494        }
2495        _initializeBackDrop() {
2496            const t = Boolean(this._config.backdrop);
2497            return new Ui({
2498                className: "offcanvas-backdrop",
2499                isVisible: t,
2500                isAnimated: !0,
2501                rootElement: this._element.parentNode,
2502                clickCallback: t ? () => {
2503                    "static" !== this._config.backdrop ? this.hide() : N.trigger(this._element, Mn)
2504                } : null
2505            })
2506        }
2507        _initializeFocusTrap() {
2508            return new sn({
2509                trapElement: this._element
2510            })
2511        }
2512        _addEventListeners() {
2513            N.on(this._element, Bn, (t => {
2514                "Escape" === t.key && (this._config.keyboard ? this.hide() : N.trigger(this._element, Mn))
2515            }))
2516        }
2517        static jQueryInterface(t) {
2518            return this.each((function() {
2519                const e = qn.getOrCreateInstance(this, t);
2520                if ("string" == typeof t) {
2521                    if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
2521amed "${t}"`);
2522                    e[t](this)
2523                }
2524            }))
2525        }
2526    }
2527    N.on(document, Wn, '[data-bs-toggle="offcanvas"]', (function(t) {
2528        const e = z.getElementFromSelector(this);
2529        if (["A", "AREA"].includes(this.tagName) && t.preventDefault(), l(this)) return;
2530        N.one(e, Fn, (() => {
2531            a(this) && this.focus()
2532        }));
2533        const i = z.findOne(In);
2534        i && i !== e && qn.getInstance(i).hide(), qn.getOrCreateInstance(e).toggle(this)
2535    })), N.on(window, Ln, (() => {
2536        for (const t of z.find(In)) qn.getOrCreateInstance(t).show()
2537    })), N.on(window, Hn, (() => {
2538        for (const t of z.find("[aria-modal][class*=show][class*=offcanvas-]")) "fixed" !== getComputedStyle(t).position && qn.getOrCreateInstance(t).hide()
2539    })), R(qn), m(qn);
2540    const Vn = {
2541            "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i],
2542            a: ["target", "href", "title", "rel"],
2543            area: [],
2544            b: [],
2545            br: [],
2546            col: [],
2547            code: [],
2548            dd: [],
2549            div: [],
2550            dl: [],
2551            dt: [],
2552            em: [],
2553            hr: [],
2554            h1: [],
2555            h2: [],
2556            h3: [],
2557            h4: [],
2558            h5: [],
2559            h6: [],
2560            i: [],
2561            img: ["src", "srcset", "alt", "title", "width", "height"],
2562            li: [],
2563            ol: [],
2564            p: [],
2565            pre: [],
2566            s: [],
2567            small: [],
2568            span: [],
2569            sub: [],
2570            sup: [],
2571            strong: [],
2572            u: [],
2573            ul: []
2574        },
2575        Kn = new Set(["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"]),
2576        Qn = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,
2577        Xn = (t, e) => {
2578            const i = t.nodeName.toLowerCase();
2579            return e.includes(i) ? !Kn.has(i) || Boolean(Qn.test(t.nodeValue)) : e.filter((t => t instanceof RegExp)).some((t => t.test(i)))
2580        },
2581        Yn = {
2582            allowList: Vn,
2583            content: {},
2584            extraClass: "",
2585            html: !1,
2586            sanitize: !0,
2587            sanitizeFn: null,
2588            template: "<div></div>"
2589        },
2590        Un = {
2591            allowList: "object",
2592            content: "object",
2593            extraClass: "(string|function)",
2594            html: "boolean",
2595            sanitize: "boolean",
2596            sanitizeFn: "(null|function)",
2597            template: "string"
2598        },
2599        Gn = {
2600            entry: "(string|element|function|null)",
2601            selector: "(string|element)"
2602        };
2603    class Jn extends H {
2604        constructor(t) {
2605            super(), this._config = this._getConfig(t)
2606        }
2607        static get Default() {
2608            return Yn
2609        }
2610        static get DefaultType() {
2611            return Un
2612        }
2613        static get NAME() {
2614            return "TemplateFactory"
2615        }
2616        getContent() {
2617            return Object.values(this._config.content).map((t => this._resolvePossibleFunction(t))).filter(Boolean)
2618        }
2619        hasContent() {
2620            return this.getContent().length > 0
2621        }
2622        changeContent(t) {
2623            return this._checkContent(t), this._config.content = {
2624                ...this._config.content,
2625                ...t
2626            }, this
2627        }
2628        toHtml() {
2629            const t = document.createElement("div");
2630            t.innerHTML = this._maybeSanitize(this._config.template);
2631            for (const [e, i] of Object.entries(this._config.content)) this._setContent(t, i, e);
2632            const e = t.children[0],
2633                i = this._resolvePossibleFunction(this._config.extraClass);
2634            return i && e.classList.add(...i.split(" ")), e
2635        }
2636        _typeCheckConfig(t) {
2637            super._typeCheckConfig(t), this._checkContent(t.content)
2638        }
2639        _checkContent(t) {
2640            for (const [e, i] of Object.entries(t)) super._typeCheckConfig({
2641                selector: e,
2642                entry: i
2643            }, Gn)
2644        }
2645        _setContent(t, e, i) {
2646            const n = z.findOne(i, t);
2647            n && ((e = this._resolvePossibleFunction(e)) ? o(e) ? this._putElementInTemplate(r(e), n) : this._config.html ? n.innerHTML = this._maybeSanitize(e) : n.textContent = e : n.remove())
2648        }
2649        _maybeSanitize(t) {
2650            return this._config.sanitize ? function(t, e, i) {
2651                if (!t.length) return t;
2652                if (i && "function" == typeof i) return i(t);
2653                const n = (new window.DOMParser).parseFromString(t, "text/html"),
2654                    s = [].concat(...n.body.querySelectorAll("*"));
2655                for (const t of s) {
2656                    const i = t.nodeName.toLowerCase();
2657                    if (!Object.keys(e).includes(i)) {
2658                        t.remove();
2659                        continue
2660                    }
2661                    const n = [].concat(...t.attributes),
2662                        s = [].concat(e["*"] || [], e[i] || []);
2663                    for (const e of n) Xn(e, s) || t.removeAttribute(e.nodeName)
2664                }
2665                return n.body.innerHTML
2666            }(t, this._config.allowList, this._config.sanitizeFn) : t
2667        }
2668        _resolvePossibleFunction(t) {
2669            return g(t, [this])
2670        }
2671        _putElementInTemplate(t, e) {
2672            if (this._config.html) return e.innerHTML = "", void e.append(t);
2673            e.textContent = t.textContent
2674        }
2675    }
2676    const Zn = new Set(["sanitize", "allowList", "sanitizeFn"]),
2677        ts = "fade",
2678        es = "show",
2679        is = ".modal",
2680        ns = "hide.bs.modal",
2681        ss = "hover",
2682        os = "focus",
2683        rs = {
2684            AUTO: "auto",
2685            TOP: "top",
2686            RIGHT: p() ? "left" : "right",
2687            BOTTOM: "bottom",
2688            LEFT: p() ? "right" : "left"
2689        },
2690        as = {
2691            allowList: Vn,
2692            animation: !0,
2693            boundary: "clippingParents",
2694            container: !1,
2695            customClass: "",
2696            delay: 0,
2697            fallbackPlacements: ["top", "right", "bottom", "left"],
2698            html: !1,
2699            offset: [0, 6],
2700            placement: "top",
2701            popperConfig: null,
2702            sanitize: !0,
2703            sanitizeFn: null,
2704            selector: !1,
2705            template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
2706            title: "",
2707            trigger: "hover focus"
2708        },
2709        ls = {
2710            allowList: "object",
2711            animation: "boolean",
2712            boundary: "(string|element)",
2713            container: "(string|element|boolean)",
2714            customClass: "(string|function)",
2715            delay: "(number|object)",
2716            fallbackPlacements: "array",
2717            html: "boolean",
2718            offset: "(array|string|function)",
2719            placement: "(string|function)",
2720            popperConfig: "(null|object|function)",
2721            sanitize: "boolean",
2722            sanitizeFn: "(null|function)",
2723            selector: "(string|boolean)",
2724            template: "string",
2725            title: "(string|element|function)",
2726            trigger: "string"
2727        };
2728    class cs extends W {
2729        constructor(t, e) {
2730            if (void 0 === vi) throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");
2731            super(t, e), this._isEnabled = !0, this._timeout = 0, this._isHovered = null, this._activeTrigger = {}, this._popper = null, this._templateFactory = null, this._newContent = null, this.tip = null, this._setListeners(), this._config.selector || this._fixTitle()
2732        }
2733        static get Default() {
2734            return as
2735        }
2736        static get DefaultType() {
2737            return ls
2738        }
2739        static get NAME() {
2740            return "tooltip"
2741        }
2742        enable() {
2743            this._isEnabled = !0
2744        }
2745        disable() {
2746            this._isEnabled = !1
2747        }
2748        toggleEnabled() {
2749            this._isEnabled = !this._isEnabled
2750        }
2751        toggle() {
2752            this._isEnabled && (this._activeTrigger.click = !this._activeTrigger.click, this._isShown() ? this._leave() : this._enter())
2753        }
2754        dispose() {
2755            clearTimeout(this._timeout), N.off(this._element.closest(is), ns, this._hideModalHandler), this._element.getAttribute("data-bs-original-title") && this._element.setAttribute("title", this._element.getAttribute("data-bs-original-title")), this._disposePopper(), super.dispose()
2756        }
2757        show() {
2758            if ("none" === this._element.style.display) throw new Error("Please use show on visible elements");
2759            if (!this._isWithContent() || !this._isEnabled) return;
2760            const t = N.trigger(this._element, this.constructor.eventName("show")),
2761                e = (c(this._element) || this._element.ownerDocument.documentElement).contains(this._element);
2762            if (t.defaultPrevented || !e) return;
2763            this._disposePopper();
2764            const i = this._getTipElement();
2765            this._element.setAttribute("aria-describedby", i.getAttribute("id"));
2766            const {
2767                container: n
2768            } = this._config;
2769            if (this._element.ownerDocument.documentElement.contains(this.tip) || (n.append(i), N.trigger(this._element, this.constructor.eventName("inserted"))), this._popper = this._createPopper(i), i.classList.add(es), "ontouchstart" in document.documentElement)
2770                for (const t of [].concat(...document.body.children)) N.on(t, "mouseover", h);
vendor: 4,216 bytes, lines 2771-2861
2771            this._queueCallback((() => {
2772                N.trigger(this._element, this.constructor.eventName("shown")), !1 === this._isHovered && this._leave(), this._isHovered = !1
2773            }), this.tip, this._isAnimated())
2774        }
2775        hide() {
2776            if (this._isShown() && !N.trigger(this._element, this.constructor.eventName("hide")).defaultPrevented) {
2777                if (this._getTipElement().classList.remove(es), "ontouchstart" in document.documentElement)
2778                    for (const t of [].concat(...document.body.children)) N.off(t, "mouseover", h);
2779                this._activeTrigger.click = !1, this._activeTrigger[os] = !1, this._activeTrigger[ss] = !1, this._isHovered = null, this._queueCallback((() => {
2780                    this._isWithActiveTrigger() || (this._isHovered || this._disposePopper(), this._element.removeAttribute("aria-describedby"), N.trigger(this._element, this.constructor.eventName("hidden")))
2781                }), this.tip, this._isAnimated())
2782            }
2783        }
2784        update() {
2785            this._popper && this._popper.update()
2786        }
2787        _isWithContent() {
2788            return Boolean(this._getTitle())
2789        }
2790        _getTipElement() {
2791            return this.tip || (this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())), this.tip
2792        }
2793        _createTipElement(t) {
2794            const e = this._getTemplateFactory(t).toHtml();
2795            if (!e) return null;
2796            e.classList.remove(ts, es), e.classList.add(`bs-${this.constructor.NAME}-auto`);
2797            const i = (t => {
2798                do {
2799                    t += Math.floor(1e6 * Math.random())
2800                } while (document.getElementById(t));
2801                return t
2802            })(this.constructor.NAME).toString();
2803            return e.setAttribute("id", i), this._isAnimated() && e.classList.add(ts), e
2804        }
2805        setContent(t) {
2806            this._newContent = t, this._isShown() && (this._disposePopper(), this.show())
2807        }
2808        _getTemplateFactory(t) {
2809            return this._templateFactory ? this._templateFactory.changeContent(t) : this._templateFactory = new Jn({
2810                ...this._config,
2811                content: t,
2812                extraClass: this._resolvePossibleFunction(this._config.customClass)
2813            }), this._templateFactory
2814        }
2815        _getContentForTemplate() {
2816            return {
2817                ".tooltip-inner": this._getTitle()
2818            }
2819        }
2820        _getTitle() {
2821            return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute("data-bs-original-title")
2822        }
2823        _initializeOnDelegatedTarget(t) {
2824            return this.constructor.getOrCreateInstance(t.delegateTarget, this._getDelegateConfig())
2825        }
2826        _isAnimated() {
2827            return this._config.animation || this.tip && this.tip.classList.contains(ts)
2828        }
2829        _isShown() {
2830            return this.tip && this.tip.classList.contains(es)
2831        }
2832        _createPopper(t) {
2833            const e = g(this._config.placement, [this, t, this._element]),
2834                i = rs[e.toUpperCase()];
2835            return bi(this._element, t, this._getPopperConfig(i))
2836        }
2837        _getOffset() {
2838            const {
2839                offset: t
2840            } = this._config;
2841            return "string" == typeof t ? t.split(",").map((t => Number.parseInt(t, 10))) : "function" == typeof t ? e => t(e, this._element) : t
2842        }
2843        _resolvePossibleFunction(t) {
2844            return g(t, [this._element])
2845        }
2846        _getPopperConfig(t) {
2847            const e = {
2848                placement: t,
2849                modifiers: [{
2850                    name: "flip",
2851                    options: {
2852                        fallbackPlacements: this._config.fallbackPlacements
2853                    }
2854                }, {
2855                    name: "offset",
2856                    options: {
2857                        offset: this._getOffset()
2858                    }
2859                }, {
2860                    name: "preventOverflow",
2861                    options: {
vendor: 4,493 bytes, lines 2862-2950
2862                        boundary: this._config.boundary
2863                    }
2864                }, {
2865                    name: "arrow",
2866                    options: {
2867                        element: `.${this.constructor.NAME}-arrow`
2868                    }
2869                }, {
2870                    name: "preSetPlacement",
2871                    enabled: !0,
2872                    phase: "beforeMain",
2873                    fn: t => {
2874                        this._getTipElement().setAttribute("data-popper-placement", t.state.placement)
2875                    }
2876                }]
2877            };
2878            return {
2879                ...e,
2880                ...g(this._config.popperConfig, [e])
2881            }
2882        }
2883        _setListeners() {
2884            const t = this._config.trigger.split(" ");
2885            for (const e of t)
2886                if ("click" === e) N.on(this._element, this.constructor.eventName("click"), this._config.selector, (t => {
2887                    this._initializeOnDelegatedTarget(t).toggle()
2888                }));
2889                else if ("manual" !== e) {
2890                const t = e === ss ? this.constructor.eventName("mouseenter") : this.constructor.eventName("focusin"),
2891                    i = e === ss ? this.constructor.eventName("mouseleave") : this.constructor.eventName("focusout");
2892                N.on(this._element, t, this._config.selector, (t => {
2893                    const e = this._initializeOnDelegatedTarget(t);
2894                    e._activeTrigger["focusin" === t.type ? os : ss] = !0, e._enter()
2895                })), N.on(this._element, i, this._config.selector, (t => {
2896                    const e = this._initializeOnDelegatedTarget(t);
2897                    e._activeTrigger["focusout" === t.type ? os : ss] = e._element.contains(t.relatedTarget), e._leave()
2898                }))
2899            }
2900            this._hideModalHandler = () => {
2901                this._element && this.hide()
2902            }, N.on(this._element.closest(is), ns, this._hideModalHandler)
2903        }
2904        _fixTitle() {
2905            const t = this._element.getAttribute("title");
2906            t && (this._element.getAttribute("aria-label") || this._element.textContent.trim() || this._element.setAttribute("aria-label", t), this._element.setAttribute("data-bs-original-title", t), this._element.removeAttribute("title"))
2907        }
2908        _enter() {
2909            this._isShown() || this._isHovered ? this._isHovered = !0 : (this._isHovered = !0, this._setTimeout((() => {
2910                this._isHovered && this.show()
2911            }), this._config.delay.show))
2912        }
2913        _leave() {
2914            this._isWithActiveTrigger() || (this._isHovered = !1, this._setTimeout((() => {
2915                this._isHovered || this.hide()
2916            }), this._config.delay.hide))
2917        }
2918        _setTimeout(t, e) {
2919            clearTimeout(this._timeout), this._timeout = setTimeout(t, e)
2920        }
2921        _isWithActiveTrigger() {
2922            return Object.values(this._activeTrigger).includes(!0)
2923        }
2924        _getConfig(t) {
2925            const e = F.getDataAttributes(this._element);
2926            for (const t of Object.keys(e)) Zn.has(t) && delete e[t];
2927            return t = {
2928                ...e,
2929                ..."object" == typeof t && t ? t : {}
2930            }, t = this._mergeConfigObj(t), t = this._configAfterMerge(t), this._typeCheckConfig(t), t
2931        }
2932        _configAfterMerge(t) {
2933            return t.container = !1 === t.container ? document.body : r(t.container), "number" == typeof t.delay && (t.delay = {
2934                show: t.delay,
2935                hide: t.delay
2936            }), "number" == typeof t.title && (t.title = t.title.toString()), "number" == typeof t.content && (t.content = t.content.toString()), t
2937        }
2938        _getDelegateConfig() {
2939            const t = {};
2940            for (const [e, i] of Object.entries(this._config)) this.constructor.Default[e] !== i && (t[e] = i);
2941            return t.selector = !1, t.trigger = "manual", t
2942        }
2943        _disposePopper() {
2944            this._popper && (this._popper.destroy(), this._popper = null), this.tip && (this.tip.remove(), this.tip = null)
2945        }
2946        static jQueryInterface(t) {
2947            return this.each((function() {
2948                const e = cs.getOrCreateInstance(this, t);
2949                if ("string" == typeof t) {
2950                    if (void 0 === e[t]) throw new TypeError(`No method n
2950amed "${t}"`);
2951                    e[t]()
2952                }
2953            }))
2954        }
2955    }
2956    m(cs);
2957    const hs = {
2958            ...cs.Default,
2959            content: "",
2960            offset: [0, 8],
2961            placement: "right",
2962            template: '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',
2963            trigger: "click"
2964        },
2965        ds = {
2966            ...cs.DefaultType,
2967            content: "(null|string|element|function)"
2968        };
2969    class us extends cs {
2970        static get Default() {
2971            return hs
2972        }
2973        static get DefaultType() {
2974            return ds
2975        }
2976        static get NAME() {
2977            return "popover"
2978        }
2979        _isWithContent() {
2980            return this._getTitle() || this._getContent()
2981        }
2982        _getContentForTemplate() {
2983            return {
2984                ".popover-header": this._getTitle(),
2985                ".popover-body": this._getContent()
2986            }
2987        }
2988        _getContent() {
2989            return this._resolvePossibleFunction(this._config.content)
2990        }
2991        static jQueryInterface(t) {
2992            return this.each((function() {
2993                const e = us.getOrCreateInstance(this, t);
2994                if ("string" == typeof t) {
2995                    if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`);
2996                    e[t]()
2997                }
2998            }))
2999        }
3000    }
3001    m(us);
3002    const fs = ".bs.scrollspy",
3003        ps = `activate${fs}`,
3004        ms = `click${fs}`,
3005        gs = `load${fs}.data-api`,
3006        _s = "active",
3007        bs = "[href]",
3008        vs = ".nav-link",
3009        ys = `${vs}, .nav-item > ${vs}, .list-group-item`,
3010        ws = {
3011            offset: null,
3012            rootMargin: "0px 0px -25%",
3013            smoothScroll: !1,
3014            target: null,
3015            threshold: [.1, .5, 1]
3016        },
3017        As = {
3018            offset: "(number|null)",
3019            rootMargin: "string",
3020            smoothScroll: "boolean",
3021            target: "element",
3022            threshold: "array"
3023        };
3024    class Es extends W {
3025        constructor(t, e) {
3026            super(t, e), this._targetLinks = new Map, this._observableSections = new Map, this._rootElement = "visible" === getComputedStyle(this._element).overflowY ? null : this._element, this._activeTarget = null, this._observer = null, this._previousScrollData = {
3027                visibleEntryTop: 0,
3028                parentScrollTop: 0
3029            }, this.refresh()
3030        }
3031        static get Default() {
3032            return ws
3033        }
3034        static get DefaultType() {
3035            return As
3036        }
3037        static get NAME() {
3038            return "scrollspy"
3039        }
3040        refresh() {
3041            this._initializeTargetsAndObservables(), this._maybeEnableSmoothScroll(), this._observer ? this._observer.disconnect() : this._observer = this._getNewObserver();
3042            for (const t of this._observableSections.values()) this._observer.observe(t)
3043        }
3044        dispose() {
3045            this._observer.disconnect(), super.dispose()
3046        }
3047        _configAfterMerge(t) {
3048            return t.target = r(t.target) || document.body, t.rootMargin = t.offset ? `${t.offset}px 0px -30%` : t.rootMargin, "string" == typeof t.threshold && (t.threshold = t.threshold.split(",").map((t => Number.parseFloat(t)))), t
3049        }
3050        _maybeEnableSmoothScroll() {
3051            this._config.smoothScroll && (N.off(this._config.target, ms), N.on(this._config.target, ms, bs, (t => {
3052                const e = this._observableSections.get(t.target.hash);
3053                if (e) {
3054                    t.preventDefault();
3055                    const i = this._rootElement || window,
3056                        n = e.offsetTop - this._element.offsetTop;
3057                    if (i.scrollTo) return void i.scrollTo({
3058                        top: n,
3059                        behavior: "smooth"
3060                    });
3061                    i.scrollTop = n
3062                }
3063            })))
3064        }
3065        _getNewObserver() {
3066            const t = {
3067                root: this._rootElement,
3068                threshold: this._config.threshold,
3069                rootMargin: this._config.rootMargin
3070            };
3071            return new IntersectionObserver((t => this._observerCallback(t)), t)
3072        }
3073        _observerCallback(t) {
3074            const e = t => this._targetLinks.get(`#${t.target.id}`),
3075                i = t => {
3076                    this._previousScrollData.visibleEntryTop = t.target.offsetTop, this._process(e(t))
3077                },
3078                n = (this._rootElement || document.documentElement).scrollTop,
3079                s = n >= this._previousScrollData.parentScrollTop;
3080            this._previousScrollData.parentScrollTop = n;
3081            for (const o of t) {
3082                if (!o.isIntersecting) {
3083                    this._activeTarget = null, this._clearActiveClass(e(o));
3084                    continue
3085                }
3086                const t = o.target.offsetTop >= this._previousScrollData.visibleEntryTop;
3087                if (s && t) {
3088                    if (i(o), !n) return
3089                } else s || t || i(o)
3090            }
3091        }
3092        _initializeTargetsAndObservables() {
3093            this._targetLinks = new Map, this._observableSections = new Map;
3094            const t = z.find(bs, this._config.target);
3095            for (const e of t) {
3096                if (!e.hash || l(e)) continue;
3097                const t = z.findOne(decodeURI(e.hash), this._element);
3098                a(t) && (this._targetLinks.set(decodeURI(e.hash), e), this._observableSections.set(e.hash, t))
3099            }
3100        }
3101        _process(t) {
3102            this._activeTarget !== t && (this._clearActiveClass(this._config.target), this._activeTarget = t, t.classList.add(_s), this._activateParents(t), N.trigger(this._element, ps, {
3103                relatedTarget: t
3104            }))
3105        }
3106        _activateParents(t) {
3107            if (t.classList.contains("dropdown-item")) z.findOne(".dropdown-toggle", t.closest(".dropdown")).classList.add(_s);
3108            else
3109                for (const e of z.parents(t, ".nav, .list-group"))
3110                    for (const t of z.prev(e, ys)) t.classList.add(_s)
3111        }
3112        _clearActiveClass(t) {
3113            t.classList.remove(_s);
3114            const e = z.find(`${bs}.${_s}`, t);
3115            for (const t of e) t.classList.remove(_s)
3116        }
3117        static jQueryInterface(t) {
3118            return this.each((function() {
3119                const e = Es.getOrCreateInstance(this, t);
3120                if ("string" == typeof t) {
3121                    if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
3121amed "${t}"`);
3122                    e[t]()
3123                }
3124            }))
3125        }
3126    }
3127    N.on(window, gs, (() => {
3128        for (const t of z.find('[data-bs-spy="scroll"]')) Es.getOrCreateInstance(t)
3129    })), m(Es);
3130    const Ts = ".bs.tab",
3131        Cs = `hide${Ts}`,
3132        Os = `hidden${Ts}`,
3133        xs = `show${Ts}`,
3134        ks = `shown${Ts}`,
3135        Ls = `click${Ts}`,
3136        Ss = `keydown${Ts}`,
3137        Ds = `load${Ts}`,
3138        $s = "ArrowLeft",
3139        Is = "ArrowRight",
3140        Ns = "ArrowUp",
3141        Ps = "ArrowDown",
3142        js = "Home",
3143        Ms = "End",
3144        Fs = "active",
3145        Hs = "fade",
3146        Ws = "show",
3147        Bs = ".dropdown-toggle",
3148        zs = `:not(${Bs})`,
3149        Rs = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',
3150        qs = `.nav-link${zs}, .list-group-item${zs}, [role="tab"]${zs}, ${Rs}`,
3151        Vs = `.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;
3152    class Ks extends W {
3153        constructor(t) {
3154            super(t), this._parent = this._element.closest('.list-group, .nav, [role="tablist"]'), this._parent && (this._setInitialAttributes(this._parent, this._getChildren()), N.on(this._element, Ss, (t => this._keydown(t))))
3155        }
3156        static get NAME() {
3157            return "tab"
3158        }
3159        show() {
3160            const t = this._element;
3161            if (this._elemIsActive(t)) return;
3162            const e = this._getActiveElem(),
3163                i = e ? N.trigger(e, Cs, {
3164                    relatedTarget: t
3165                }) : null;
3166            N.trigger(t, xs, {
3167                relatedTarget: e
3168            }).defaultPrevented || i && i.defaultPrevented || (this._deactivate(e, t), this._activate(t, e))
3169        }
3170        _activate(t, e) {
3171            t && (t.classList.add(Fs), this._activate(z.getElementFromSelector(t)), this._queueCallback((() => {
3172                "tab" === t.getAttribute("role") ? (t.removeAttribute("tabindex"), t.setAttribute("aria-selected", !0), this._toggleDropDown(t, !0), N.trigger(t, ks, {
3173                    relatedTarget: e
3174                })) : t.classList.add(Ws)
3175            }), t, t.classList.contains(Hs)))
3176        }
3177        _deactivate(t, e) {
3178            t && (t.classList.remove(Fs), t.blur(), this._deactivate(z.getElementFromSelector(t)), this._queueCallback((() => {
3179                "tab" === t.getAttribute("role") ? (t.setAttribute("aria-selected", !1), t.setAttribute("tabindex", "-1"), this._toggleDropDown(t, !1), N.trigger(t, Os, {
3180                    relatedTarget: e
3181                })) : t.classList.remove(Ws)
3182            }), t, t.classList.contains(Hs)))
3183        }
3184        _keydown(t) {
3185            if (![$s, Is, Ns, Ps, js, Ms].includes(t.key)) return;
3186            t.stopPropagation(), t.preventDefault();
3187            const e = this._getChildren().filter((t => !l(t)));
3188            let i;
3189            if ([js, Ms].includes(t.key)) i = e[t.key === js ? 0 : e.length - 1];
3190            else {
3191                const n = [Is, Ps].includes(t.key);
3192                i = b(e, t.target, n, !0)
3193            }
3194            i && (i.focus({
3195                preventScroll: !0
3196            }), Ks.getOrCreateInstance(i).show())
3197        }
3198        _getChildren() {
3199            return z.find(qs, this._parent)
3200        }
3201        _getActiveElem() {
3202            return this._getChildren().find((t => this._elemIsActive(t))) || null
3203        }
3204        _setInitialAttributes(t, e) {
3205            this._setAttributeIfNotExists(t, "role", "tablist");
3206            for (const t of e) this._setInitialAttributesOnChild(t)
3207        }
3208        _setInitialAttributesOnChild(t) {
3209            t = this._getInnerElement(t);
3210            const e = this._elemIsActive(t),
3211                i = this._getOuterElement(t);
3212            t.setAttribute("aria-selected", e), i !== t && this._setAttributeIfNotExists(i, "role", "presentation"), e || t.setAttribute("tabindex", "-1"), this._setAttributeIfNotExists(t, "role", "tab"), this._setInitialAttributesOnTargetPanel(t)
3213        }
3214        _setInitialAttributesOnTargetPanel(t) {
3215            const e = z.getElementFromSelector(t);
3216            e && (this._setAttributeIfNotExists(e, "role", "tabpanel"), t.id && this._setAttributeIfNotExists(e, "aria-labelledby", `${t.id}`))
3217        }
3218        _toggleDropDown(t, e) {
3219            const i = this._getOuterElement(t);
3220            if (!i.classList.contains("dropdown")) return;
3221            const n = (t, n) => {
3222                const s = z.findOne(t, i);
3223                s && s.classList.toggle(n, e)
3224            };
vendor: 4,623 bytes, lines 3225-3334
3225            n(Bs, Fs), n(".dropdown-menu", Ws), i.setAttribute("aria-expanded", e)
3226        }
3227        _setAttributeIfNotExists(t, e, i) {
3228            t.hasAttribute(e) || t.setAttribute(e, i)
3229        }
3230        _elemIsActive(t) {
3231            return t.classList.contains(Fs)
3232        }
3233        _getInnerElement(t) {
3234            return t.matches(qs) ? t : z.findOne(qs, t)
3235        }
3236        _getOuterElement(t) {
3237            return t.closest(".nav-item, .list-group-item") || t
3238        }
3239        static jQueryInterface(t) {
3240            return this.each((function() {
3241                const e = Ks.getOrCreateInstance(this);
3242                if ("string" == typeof t) {
3243                    if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method named "${t}"`);
3244                    e[t]()
3245                }
3246            }))
3247        }
3248    }
3249    N.on(document, Ls, Rs, (function(t) {
3250        ["A", "AREA"].includes(this.tagName) && t.preventDefault(), l(this) || Ks.getOrCreateInstance(this).show()
3251    })), N.on(window, Ds, (() => {
3252        for (const t of z.find(Vs)) Ks.getOrCreateInstance(t)
3253    })), m(Ks);
3254    const Qs = ".bs.toast",
3255        Xs = `mouseover${Qs}`,
3256        Ys = `mouseout${Qs}`,
3257        Us = `focusin${Qs}`,
3258        Gs = `focusout${Qs}`,
3259        Js = `hide${Qs}`,
3260        Zs = `hidden${Qs}`,
3261        to = `show${Qs}`,
3262        eo = `shown${Qs}`,
3263        io = "hide",
3264        no = "show",
3265        so = "showing",
3266        oo = {
3267            animation: "boolean",
3268            autohide: "boolean",
3269            delay: "number"
3270        },
3271        ro = {
3272            animation: !0,
3273            autohide: !0,
3274            delay: 5e3
3275        };
3276    class ao extends W {
3277        constructor(t, e) {
3278            super(t, e), this._timeout = null, this._hasMouseInteraction = !1, this._hasKeyboardInteraction = !1, this._setListeners()
3279        }
3280        static get Default() {
3281            return ro
3282        }
3283        static get DefaultType() {
3284            return oo
3285        }
3286        static get NAME() {
3287            return "toast"
3288        }
3289        show() {
3290            N.trigger(this._element, to).defaultPrevented || (this._clearTimeout(), this._config.animation && this._element.classList.add("fade"), this._element.classList.remove(io), d(this._element), this._element.classList.add(no, so), this._queueCallback((() => {
3291                this._element.classList.remove(so), N.trigger(this._element, eo), this._maybeScheduleHide()
3292            }), this._element, this._config.animation))
3293        }
3294        hide() {
3295            this.isShown() && (N.trigger(this._element, Js).defaultPrevented || (this._element.classList.add(so), this._queueCallback((() => {
3296                this._element.classList.add(io), this._element.classList.remove(so, no), N.trigger(this._element, Zs)
3297            }), this._element, this._config.animation)))
3298        }
3299        dispose() {
3300            this._clearTimeout(), this.isShown() && this._element.classList.remove(no), super.dispose()
3301        }
3302        isShown() {
3303            return this._element.classList.contains(no)
3304        }
3305        _maybeScheduleHide() {
3306            this._config.autohide && (this._hasMouseInteraction || this._hasKeyboardInteraction || (this._timeout = setTimeout((() => {
3307                this.hide()
3308            }), this._config.delay)))
3309        }
3310        _onInteraction(t, e) {
3311            switch (t.type) {
3312                case "mouseover":
3313                case "mouseout":
3314                    this._hasMouseInteraction = e;
3315                    break;
3316                case "focusin":
3317                case "focusout":
3318                    this._hasKeyboardInteraction = e
3319            }
3320            if (e) return void this._clearTimeout();
3321            const i = t.relatedTarget;
3322            this._element === i || this._element.contains(i) || this._maybeScheduleHide()
3323        }
3324        _setListeners() {
3325            N.on(this._element, Xs, (t => this._onInteraction(t, !0))), N.on(this._element, Ys, (t => this._onInteraction(t, !1))), N.on(this._element, Us, (t => this._onInteraction(t, !0))), N.on(this._element, Gs, (t => this._onInteraction(t, !1)))
3326        }
3327        _clearTimeout() {
3328            clearTimeout(this._timeout), this._timeout = null
3329        }
3330        static jQueryInterface(t) {
3331            return this.each((function() {
3332                const e = ao.getOrCreateInstance(this, t);
3333                if ("string" == typeof t) {
3334                    if (void 0 === e[t]) throw new TypeError(`No method n
3334amed "${t}"`);
3335                    e[t](this)
3336                }
3337            }))
3338        }
3339    }
3340    return R(ao), m(ao), {
3341        Alert: Q,
3342        Button: Y,
3343        Carousel: xt,
3344        Collapse: Bt,
3345        Dropdown: qi,
3346        Modal: On,
3347        Offcanvas: qn,
3348        Popover: us,
3349        ScrollSpy: Es,
3350        Tab: Ks,
3351        Toast: ao,
3352        Tooltip: cs
3353    }
3354}));
3355//# sourceMappingURL=bootstrap.bundle.min.js.map
3356
3357
3358/**
3359 * Swiper 11.1.4
3360 * Most modern mobile touch slider and framework with hardware accelerated transitions
3361 * https://swiperjs.com
3362 *
3363 * Copyright 2014-2024 Vladimir Kharlampidi
3364 *
3365 * Released under the MIT License
3366 *
3367 * Released on: May 30, 2024
3368 */
3369
3370var Swiper = function() {
3371    "use strict";
3372
3373    function e(e) {
3374        return null !== e && "object" == typeof e && "constructor" in e && e.constructor === Object
3375    }
3376
3377    function t(s, a) {
3378        void 0 === s && (s = {}), void 0 === a && (a = {}), Object.keys(a).forEach((i => {
3379            void 0 === s[i] ? s[i] = a[i] : e(a[i]) && e(s[i]) && Object.keys(a[i]).length > 0 && t(s[i], a[i])
3380        }))
3381    }
3382    const s = {
3383        body: {},
3384        addEventListener() {},
3385        removeEventListener() {},
3386        activeElement: {
3387            blur() {},
3388            nodeName: ""
3389        },
3390        querySelector: () => null,
3391        querySelectorAll: () => [],
3392        getElementById: () => null,
3393        createEvent: () => ({
3394            initEvent() {}
3395        }),
3396        createElement: () => ({
3397            children: [],
3398            childNodes: [],
3399            style: {},
3400            setAttribute() {},
3401            getElementsByTagName: () => []
3402        }),
3403        createElementNS: () => ({}),
3404        importNode: () => null,
3405        location: {
3406            hash: "",
3407            host: "",
3408            hostname: "",
3409            href: "",
3410            origin: "",
3411            pathname: "",
3412            protocol: "",
3413            search: ""
3414        }
3415    };
3416
3417    function a() {
3418        const e = "undefined" != typeof document ? document : {};
3419        return t(e, s), e
3420    }
3421    const i = {
3422        document: s,
3423        navigator: {
3424            userAgent: ""
3425        },
3426        location: {
3427            hash: "",
3428            host: "",
3429            hostname: "",
3430            href: "",
3431            origin: "",
3432            pathname: "",
3433            protocol: "",
3434            search: ""
3435        },
3436        history: {
3437            replaceState() {},
3438            pushState() {},
3439            go() {},
3440            back() {}
3441        },
3442        CustomEvent: function() {
3443            return this
3444        },
3445        addEventListener() {},
3446        removeEventListener() {},
3447        getComputedStyle: () => ({
3448            getPropertyValue: () => ""
3449        }),
3450        Image() {},
3451        Date() {},
3452        screen: {},
3453        setTimeout() {},
3454        clearTimeout() {},
3455        matchMedia: () => ({}),
3456        requestAnimationFrame: e => "undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0),
3457        cancelAnimationFrame(e) {
3458            "undefined" != typeof setTimeout && clearTimeout(e)
3459        }
3460    };
3461
3462    function r() {
3463        const e = "undefined" != typeof window ? window : {};
3464        return t(e, i), e
3465    }
3466
3467    function n(e) {
3468        return void 0 === e && (e = ""), e.trim().split(" ").filter((e => !!e.trim()))
3469    }
3470
3471    function l(e, t) {
3472        return void 0 === t && (t = 0), setTimeout(e, t)
3473    }
3474
3475    function o() {
3476        return Date.now()
3477    }
3478
3479    function d(e, t) {
3480        void 0 === t && (t = "x");
3481        const s = r();
3482        let a, i, n;
3483        const l = function(e) {
3484            const t = r();
3485            let s;
3486            return t.getComputedStyle && (s = t.getComputedStyle(e, null)), !s && e.currentStyle && (s = e.currentStyle), s || (s = e.style), s
3487        }(e);
3488        return s.WebKitCSSMatrix ? (i = l.transform || l.webkitTransform, i.split(",").length > 6 && (i = i.split(", ").map((e => e.replace(",", "."))).join(", ")), n = new s.WebKitCSSMatrix("none" === i ? "" : i)) : (n = l.MozTransform || l.OTransform || l.MsTransform || l.msTransform || l.transform || l.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,"), a = n.toString().split(",")), "x" === t && (i = s.WebKitCSSMatrix ? n.m41 : 16 === a.length ? parseFloat(a[12]) : parseFloat(a[4])), "y" === t && (i = s.WebKitCSSMatrix ? n.m42 : 16 === a.length ? parseFloat(a[13]) : parseFloat(a[5])), i || 0
3489    }
3490
3491    function c(e) {
3492        return "object" == typeof e && null !== e && e.constructor && "Object" === Object.prototype.toString.call(e).slice(8, -1)
3493    }
3494
3495    function p() {
3496        const e = Object(arguments.length <= 0 ? void 0 : arguments[0]),
3497            t = ["__proto__", "constructor", "prototype"];
3498        for (let a = 1; a < arguments.length; a += 1) {
3499            const i = a < 0 || arguments.length <= a ? void 0 : arguments[a];
3500            if (null != i && (s = i, !("undefined" != typeof window && void 0 !== window.HTMLElement ? s instanceof HTMLElement : s && (1 === s.nodeType || 11 === s.nodeType)))) {
3501                const s = Object.keys(Object(i)).filter((e => t.indexOf(e) < 0));
3502                for (let t = 0, a = s.length; t < a; t += 1) {
3503                    const a = s[t],
3504                        r = Object.getOwnPropertyDescriptor(i, a);
3505                    void 0 !== r && r.enumerable && (c(e[a]) && c(i[a]) ? i[a].__swiper__ ? e[a] = i[a] : p(e[a], i[a]) : !c(e[a]) && c(i[a]) ? (e[a] = {}, i[a].__swiper__ ? e[a] = i[a] : p(e[a], i[a])) : e[a] = i[a])
3506                }
3507            }
3508        }
3509        var s;
3510        return e
3511    }
3512
3513    function u(e, t, s) {
3514        e.style.setProperty(t, s)
3515    }
3516
3517    function m(e) {
3518        let {
3519            swiper: t,
3520            targetPosition: s,
3521            side: a
3522        } = e;
3523        const i = r(),
3524            n = -t.translate;
3525        let l, o = null;
3526        const d = t.params.speed;
3527        t.wrapperEl.style.scrollSnapType = "none", i.cancelAnimationFrame(t.cssModeFrameID);
3528        const c = s > n ? "next" : "prev",
3529            p = (e, t) => "next" === c && e >= t || "prev" === c && e <= t,
3530            u = () => {
3531                l = (new Date).getTime(), null === o && (o = l);
3532                const e = Math.max(Math.min((l - o) / d, 1), 0),
3533                    r = .5 - Math.cos(e * Math.PI) / 2;
3534                let c = n + r * (s - n);
3535                if (p(c, s) && (c = s), t.wrapperEl.scrollTo({
3536                        [a]: c
3537                    }), p(c, s)) return t.wrapperEl.style.overflow = "hidden", t.wrapperEl.style.scrollSnapType = "", setTimeout((() => {
3538                    t.wrapperEl.style.overflow = "", t.wrapperEl.scrollTo({
3539                        [a]: c
3540                    })
3541                })), void i.cancelAnimationFrame(t.cssModeFrameID);
3542                t.cssModeFrameID = i.requestAnimationFrame(u)
3543            };
3544        u()
3545    }
3546
3547    function h(e) {
3548        return e.querySelector(".swiper-slide-transform") || e.shadowRoot && e.shadowRoot.querySelector(".swiper-slide-transform") || e
3549    }
3550
3551    function f(e, t) {
3552        return void 0 === t && (t = ""), [...e.children].filter((e => e.matches(t)))
3553    }
3554
3555    function g(e) {
3556        try {
3557            return void console.warn(e)
3558        } catch (e) {}
3559    }
3560
3561    function v(e, t) {
3562        void 0 === t && (t = []);
3563        const s = document.createElement(e);
3564        return s.classList.add(...Array.isArray(t) ? t : n(t)), s
3565    }
3566
3567    function w(e) {
3568        const t = r(),
3569            s = a(),
3570            i = e.getBoundingClientRect(),
3571            n = s.body,
3572            l = e.clientTop || n.clientTop || 0,
3573            o = e.clientLeft || n.clientLeft || 0,
3574            d = e === t ? t.scrollY : e.scrollTop,
3575            c = e === t ? t.scrollX : e.scrollLeft;
3576        return {
3577            top: i.top + d - l,
3578            left: i.left + c - o
3579        }
3580    }
3581
3582    function b(e, t) {
3583        return r().getComputedStyle(e, null).getPropertyValue(t)
3584    }
3585
3586    function y(e) {
3587        let t, s = e;
3588        if (s) {
3589            for (t = 0; null !== (s = s.previousSibling);) 1 === s.nodeType && (t += 1);
3590            return t
3591        }
3592    }
3593
3594    function E(e, t) {
3595        const s = [];
3596        let a = e.parentElement;
3597        for (; a;) t ? a.matches(t) && s.push(a) : s.push(a), a = a.parentElement;
3598        return s
3599    }
3600
3601    function x(e, t) {
3602        t && e.addEventListener("transitionend", (function s(a) {
3603            a.target === e && (t.call(e, a), e.removeEventListener("transitionend", s))
3604        }))
3605    }
3606
3607    function S(e, t, s) {
3608        const a = r();
3609        return s ? e["width" === t ? "offsetWidth" : "offsetHeight"] + parseFloat(a.getComputedStyle(e, null).getPropertyValue("width" === t ? "margin-right" : "margin-top")) + parseFloat(a.getComputedStyle(e, null).getPropertyValue("width" === t ? "margin-left" : "margin-bottom")) : e.offsetWidth
3610    }
3611
3612    function T(e) {
3613        return (Array.isArray(e) ? e : [e]).filter((e => !!e))
3614    }
3615    let M, C, P;
3616
3617    function L() {
3618        return M || (M = function() {
3619            const e = r(),
3620                t = a();
3621            return {
3622                smoothScroll: t.documentElement && t.documentElement.style && "scrollBehavior" in t.documentElement.style,
3623                touch: !!("ontouchstart" in e || e.DocumentTouch && t instanceof e.DocumentTouch)
3624            }
3625        }()), M
3626    }
3627
3628    function I(e) {
3629        return void 0 === e && (e = {}), C || (C = function(e) {
3630            let {
3631                userAgent: t
3632            } = void 0 === e ? {} : e;
3633            const s = L(),
3634                a = r(),
3635                i = a.navigator.platform,
3636                n = t || a.navigator.userAgent,
3637                l = {
3638                    ios: !1,
3639                    android: !1
3640                },
3641                o = a.screen.width,
3642                d = a.screen.height,
3643                c = n.match(/(Android);?[\s\/]+([\d.]+)?/);
vendor: 4,106 bytes, lines 3644-3730
3644            let p = n.match(/(iPad).*OS\s([\d_]+)/);
3645            const u = n.match(/(iPod)(.*OS\s([\d_]+))?/),
3646                m = !p && n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),
3647                h = "Win32" === i;
3648            let f = "MacIntel" === i;
3649            return !p && f && s.touch && ["1024x1366", "1366x1024", "834x1194", "1194x834", "834x1112", "1112x834", "768x1024", "1024x768", "820x1180", "1180x820", "810x1080", "1080x810"].indexOf(`${o}x${d}`) >= 0 && (p = n.match(/(Version)\/([\d.]+)/), p || (p = [0, 1, "13_0_0"]), f = !1), c && !h && (l.os = "android", l.android = !0), (p || m || u) && (l.os = "ios", l.ios = !0), l
3650        }(e)), C
3651    }
3652
3653    function A() {
3654        return P || (P = function() {
3655            const e = r(),
3656                t = I();
3657            let s = !1;
3658
3659            function a() {
3660                const t = e.navigator.userAgent.toLowerCase();
3661                return t.indexOf("safari") >= 0 && t.indexOf("chrome") < 0 && t.indexOf("android") < 0
3662            }
3663            if (a()) {
3664                const t = String(e.navigator.userAgent);
3665                if (t.includes("Version/")) {
3666                    const [e, a] = t.split("Version/")[1].split(" ")[0].split(".").map((e => Number(e)));
3667                    s = e < 16 || 16 === e && a < 2
3668                }
3669            }
3670            const i = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),
3671                n = a();
3672            return {
3673                isSafari: s || n,
3674                needPerspectiveFix: s,
3675                need3dFix: n || i && t.ios,
3676                isWebView: i
3677            }
3678        }()), P
3679    }
3680    var z = {
3681        on(e, t, s) {
3682            const a = this;
3683            if (!a.eventsListeners || a.destroyed) return a;
3684            if ("function" != typeof t) return a;
3685            const i = s ? "unshift" : "push";
3686            return e.split(" ").forEach((e => {
3687                a.eventsListeners[e] || (a.eventsListeners[e] = []), a.eventsListeners[e][i](t)
3688            })), a
3689        },
3690        once(e, t, s) {
3691            const a = this;
3692            if (!a.eventsListeners || a.destroyed) return a;
3693            if ("function" != typeof t) return a;
3694
3695            function i() {
3696                a.off(e, i), i.__emitterProxy && delete i.__emitterProxy;
3697                for (var s = arguments.length, r = new Array(s), n = 0; n < s; n++) r[n] = arguments[n];
3698                t.apply(a, r)
3699            }
3700            return i.__emitterProxy = t, a.on(e, i, s)
3701        },
3702        onAny(e, t) {
3703            const s = this;
3704            if (!s.eventsListeners || s.destroyed) return s;
3705            if ("function" != typeof e) return s;
3706            const a = t ? "unshift" : "push";
3707            return s.eventsAnyListeners.indexOf(e) < 0 && s.eventsAnyListeners[a](e), s
3708        },
3709        offAny(e) {
3710            const t = this;
3711            if (!t.eventsListeners || t.destroyed) return t;
3712            if (!t.eventsAnyListeners) return t;
3713            const s = t.eventsAnyListeners.indexOf(e);
3714            return s >= 0 && t.eventsAnyListeners.splice(s, 1), t
3715        },
3716        off(e, t) {
3717            const s = this;
3718            return !s.eventsListeners || s.destroyed ? s : s.eventsListeners ? (e.split(" ").forEach((e => {
3719                void 0 === t ? s.eventsListeners[e] = [] : s.eventsListeners[e] && s.eventsListeners[e].forEach(((a, i) => {
3720                    (a === t || a.__emitterProxy && a.__emitterProxy === t) && s.eventsListeners[e].splice(i, 1)
3721                }))
3722            })), s) : s
3723        },
3724        emit() {
3725            const e = this;
3726            if (!e.eventsListeners || e.destroyed) return e;
3727            if (!e.eventsListeners) return e;
3728            let t, s, a;
3729            for (var i = arguments.length, r = new Array(i), n = 0; n < i; n++) r[n] = arguments[n];
3730            "string" == typeof r[0] || Array.isArray(r[0]) ? (t = r[0], s = r.slice(1, r.length), a = e) : (t = r[0].events, s = r[0].data, a = r[0].context || e), s.unshift(a);
vendor: 4,925 bytes, lines 3731-3829
3731            return (Array.isArray(t) ? t : t.split(" ")).forEach((t => {
3732                e.eventsAnyListeners && e.eventsAnyListeners.length && e.eventsAnyListeners.forEach((e => {
3733                    e.apply(a, [t, ...s])
3734                })), e.eventsListeners && e.eventsListeners[t] && e.eventsListeners[t].forEach((e => {
3735                    e.apply(a, s)
3736                }))
3737            })), e
3738        }
3739    };
3740    const $ = (e, t, s) => {
3741        t && !e.classList.contains(s) ? e.classList.add(s) : !t && e.classList.contains(s) && e.classList.remove(s)
3742    };
3743    const k = (e, t, s) => {
3744        t && !e.classList.contains(s) ? e.classList.add(s) : !t && e.classList.contains(s) && e.classList.remove(s)
3745    };
3746    const O = (e, t) => {
3747            if (!e || e.destroyed || !e.params) return;
3748            const s = t.closest(e.isElement ? "swiper-slide" : `.${e.params.slideClass}`);
3749            if (s) {
3750                let t = s.querySelector(`.${e.params.lazyPreloaderClass}`);
3751                !t && e.isElement && (s.shadowRoot ? t = s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`) : requestAnimationFrame((() => {
3752                    s.shadowRoot && (t = s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`), t && t.remove())
3753                }))), t && t.remove()
3754            }
3755        },
3756        D = (e, t) => {
3757            if (!e.slides[t]) return;
3758            const s = e.slides[t].querySelector('[loading="lazy"]');
3759            s && s.removeAttribute("loading")
3760        },
3761        G = e => {
3762            if (!e || e.destroyed || !e.params) return;
3763            let t = e.params.lazyPreloadPrevNext;
3764            const s = e.slides.length;
3765            if (!s || !t || t < 0) return;
3766            t = Math.min(t, s);
3767            const a = "auto" === e.params.slidesPerView ? e.slidesPerViewDynamic() : Math.ceil(e.params.slidesPerView),
3768                i = e.activeIndex;
3769            if (e.params.grid && e.params.grid.rows > 1) {
3770                const s = i,
3771                    r = [s - t];
3772                return r.push(...Array.from({
3773                    length: t
3774                }).map(((e, t) => s + a + t))), void e.slides.forEach(((t, s) => {
3775                    r.includes(t.column) && D(e, s)
3776                }))
3777            }
3778            const r = i + a - 1;
3779            if (e.params.rewind || e.params.loop)
3780                for (let a = i - t; a <= r + t; a += 1) {
3781                    const t = (a % s + s) % s;
3782                    (t < i || t > r) && D(e, t)
3783                } else
3784                    for (let a = Math.max(i - t, 0); a <= Math.min(r + t, s - 1); a += 1) a !== i && (a > r || a < i) && D(e, a)
3785        };
3786    var H = {
3787        updateSize: function() {
3788            const e = this;
3789            let t, s;
3790            const a = e.el;
3791            t = void 0 !== e.params.width && null !== e.params.width ? e.params.width : a.clientWidth, s = void 0 !== e.params.height && null !== e.params.height ? e.params.height : a.clientHeight, 0 === t && e.isHorizontal() || 0 === s && e.isVertical() || (t = t - parseInt(b(a, "padding-left") || 0, 10) - parseInt(b(a, "padding-right") || 0, 10), s = s - parseInt(b(a, "padding-top") || 0, 10) - parseInt(b(a, "padding-bottom") || 0, 10), Number.isNaN(t) && (t = 0), Number.isNaN(s) && (s = 0), Object.assign(e, {
3792                width: t,
3793                height: s,
3794                size: e.isHorizontal() ? t : s
3795            }))
3796        },
3797        updateSlides: function() {
3798            const e = this;
3799
3800            function t(t, s) {
3801                return parseFloat(t.getPropertyValue(e.getDirectionLabel(s)) || 0)
3802            }
3803            const s = e.params,
3804                {
3805                    wrapperEl: a,
3806                    slidesEl: i,
3807                    size: r,
3808                    rtlTranslate: n,
3809                    wrongRTL: l
3810                } = e,
3811                o = e.virtual && s.virtual.enabled,
3812                d = o ? e.virtual.slides.length : e.slides.length,
3813                c = f(i, `.${e.params.slideClass}, swiper-slide`),
3814                p = o ? e.virtual.slides.length : c.length;
3815            let m = [];
3816            const h = [],
3817                g = [];
3818            let v = s.slidesOffsetBefore;
3819            "function" == typeof v && (v = s.slidesOffsetBefore.call(e));
3820            let w = s.slidesOffsetAfter;
3821            "function" == typeof w && (w = s.slidesOffsetAfter.call(e));
3822            const y = e.snapGrid.length,
3823                E = e.slidesGrid.length;
3824            let x = s.spaceBetween,
3825                T = -v,
3826                M = 0,
3827                C = 0;
3828            if (void 0 === r) return;
3829            "string" == typeof x && x.indexOf("%") >= 0 ? x = parseFloat(x.replace("%", "")) / 100 * r : "string" == typeof x && (x = parseFloat(x)), e.virtualSize = -x, c.forEac
vendor: 4,406 bytes, lines 3829-3885
3829h((e => {
3830                n ? e.style.marginLeft = "" : e.style.marginRight = "", e.style.marginBottom = "", e.style.marginTop = ""
3831            })), s.centeredSlides && s.cssMode && (u(a, "--swiper-centered-offset-before", ""), u(a, "--swiper-centered-offset-after", ""));
3832            const P = s.grid && s.grid.rows > 1 && e.grid;
3833            let L;
3834            P ? e.grid.initSlides(c) : e.grid && e.grid.unsetSlides();
3835            const I = "auto" === s.slidesPerView && s.breakpoints && Object.keys(s.breakpoints).filter((e => void 0 !== s.breakpoints[e].slidesPerView)).length > 0;
3836            for (let a = 0; a < p; a += 1) {
3837                let i;
3838                if (L = 0, c[a] && (i = c[a]), P && e.grid.updateSlide(a, i, c), !c[a] || "none" !== b(i, "display")) {
3839                    if ("auto" === s.slidesPerView) {
3840                        I && (c[a].style[e.getDirectionLabel("width")] = "");
3841                        const r = getComputedStyle(i),
3842                            n = i.style.transform,
3843                            l = i.style.webkitTransform;
3844                        if (n && (i.style.transform = "none"), l && (i.style.webkitTransform = "none"), s.roundLengths) L = e.isHorizontal() ? S(i, "width", !0) : S(i, "height", !0);
3845                        else {
3846                            const e = t(r, "width"),
3847                                s = t(r, "padding-left"),
3848                                a = t(r, "padding-right"),
3849                                n = t(r, "margin-left"),
3850                                l = t(r, "margin-right"),
3851                                o = r.getPropertyValue("box-sizing");
3852                            if (o && "border-box" === o) L = e + n + l;
3853                            else {
3854                                const {
3855                                    clientWidth: t,
3856                                    offsetWidth: r
3857                                } = i;
3858                                L = e + s + a + n + l + (r - t)
3859                            }
3860                        }
3861                        n && (i.style.transform = n), l && (i.style.webkitTransform = l), s.roundLengths && (L = Math.floor(L))
3862                    } else L = (r - (s.slidesPerView - 1) * x) / s.slidesPerView, s.roundLengths && (L = Math.floor(L)), c[a] && (c[a].style[e.getDirectionLabel("width")] = `${L}px`);
3863                    c[a] && (c[a].swiperSlideSize = L), g.push(L), s.centeredSlides ? (T = T + L / 2 + M / 2 + x, 0 === M && 0 !== a && (T = T - r / 2 - x), 0 === a && (T = T - r / 2 - x), Math.abs(T) < .001 && (T = 0), s.roundLengths && (T = Math.floor(T)), C % s.slidesPerGroup == 0 && m.push(T), h.push(T)) : (s.roundLengths && (T = Math.floor(T)), (C - Math.min(e.params.slidesPerGroupSkip, C)) % e.params.slidesPerGroup == 0 && m.push(T), h.push(T), T = T + L + x), e.virtualSize += L + x, M = L, C += 1
3864                }
3865            }
3866            if (e.virtualSize = Math.max(e.virtualSize, r) + w, n && l && ("slide" === s.effect || "coverflow" === s.effect) && (a.style.width = `${e.virtualSize+x}px`), s.setWrapperSize && (a.style[e.getDirectionLabel("width")] = `${e.virtualSize+x}px`), P && e.grid.updateWrapperSize(L, m), !s.centeredSlides) {
3867                const t = [];
3868                for (let a = 0; a < m.length; a += 1) {
3869                    let i = m[a];
3870                    s.roundLengths && (i = Math.floor(i)), m[a] <= e.virtualSize - r && t.push(i)
3871                }
3872                m = t, Math.floor(e.virtualSize - r) - Math.floor(m[m.length - 1]) > 1 && m.push(e.virtualSize - r)
3873            }
3874            if (o && s.loop) {
3875                const t = g[0] + x;
3876                if (s.slidesPerGroup > 1) {
3877                    const a = Math.ceil((e.virtual.slidesBefore + e.virtual.slidesAfter) / s.slidesPerGroup),
3878                        i = t * s.slidesPerGroup;
3879                    for (let e = 0; e < a; e += 1) m.push(m[m.length - 1] + i)
3880                }
3881                for (let a = 0; a < e.virtual.slidesBefore + e.virtual.slidesAfter; a += 1) 1 === s.slidesPerGroup && m.push(m[m.length - 1] + t), h.push(h[h.length - 1] + t), e.virtualSize += t
3882            }
3883            if (0 === m.length && (m = [0]), 0 !== x) {
3884                const t = e.isHorizontal() && n ? "marginLeft" : e.getDirectionLabel("marginRight");
3885                c.filter(((e, t) =>
vendor: 29,932 bytes, lines 3885-4449
3885 !(s.cssMode && !s.loop) || t !== c.length - 1)).forEach((e => {
3886                    e.style[t] = `${x}px`
3887                }))
3888            }
3889            if (s.centeredSlides && s.centeredSlidesBounds) {
3890                let e = 0;
3891                g.forEach((t => {
3892                    e += t + (x || 0)
3893                })), e -= x;
3894                const t = e - r;
3895                m = m.map((e => e <= 0 ? -v : e > t ? t + w : e))
3896            }
3897            if (s.centerInsufficientSlides) {
3898                let e = 0;
3899                g.forEach((t => {
3900                    e += t + (x || 0)
3901                })), e -= x;
3902                const t = (s.slidesOffsetBefore || 0) + (s.slidesOffsetAfter || 0);
3903                if (e + t < r) {
3904                    const s = (r - e - t) / 2;
3905                    m.forEach(((e, t) => {
3906                        m[t] = e - s
3907                    })), h.forEach(((e, t) => {
3908                        h[t] = e + s
3909                    }))
3910                }
3911            }
3912            if (Object.assign(e, {
3913                    slides: c,
3914                    snapGrid: m,
3915                    slidesGrid: h,
3916                    slidesSizesGrid: g
3917                }), s.centeredSlides && s.cssMode && !s.centeredSlidesBounds) {
3918                u(a, "--swiper-centered-offset-before", -m[0] + "px"), u(a, "--swiper-centered-offset-after", e.size / 2 - g[g.length - 1] / 2 + "px");
3919                const t = -e.snapGrid[0],
3920                    s = -e.slidesGrid[0];
3921                e.snapGrid = e.snapGrid.map((e => e + t)), e.slidesGrid = e.slidesGrid.map((e => e + s))
3922            }
3923            if (p !== d && e.emit("slidesLengthChange"), m.length !== y && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), h.length !== E && e.emit("slidesGridLengthChange"), s.watchSlidesProgress && e.updateSlidesOffset(), e.emit("slidesUpdated"), !(o || s.cssMode || "slide" !== s.effect && "fade" !== s.effect)) {
3924                const t = `${s.containerModifierClass}backface-hidden`,
3925                    a = e.el.classList.contains(t);
3926                p <= s.maxBackfaceHiddenSlides ? a || e.el.classList.add(t) : a && e.el.classList.remove(t)
3927            }
3928        },
3929        updateAutoHeight: function(e) {
3930            const t = this,
3931                s = [],
3932                a = t.virtual && t.params.virtual.enabled;
3933            let i, r = 0;
3934            "number" == typeof e ? t.setTransition(e) : !0 === e && t.setTransition(t.params.speed);
3935            const n = e => a ? t.slides[t.getSlideIndexByData(e)] : t.slides[e];
3936            if ("auto" !== t.params.slidesPerView && t.params.slidesPerView > 1)
3937                if (t.params.centeredSlides)(t.visibleSlides || []).forEach((e => {
3938                    s.push(e)
3939                }));
3940                else
3941                    for (i = 0; i < Math.ceil(t.params.slidesPerView); i += 1) {
3942                        const e = t.activeIndex + i;
3943                        if (e > t.slides.length && !a) break;
3944                        s.push(n(e))
3945                    } else s.push(n(t.activeIndex));
3946            for (i = 0; i < s.length; i += 1)
3947                if (void 0 !== s[i]) {
3948                    const e = s[i].offsetHeight;
3949                    r = e > r ? e : r
3950                }(r || 0 === r) && (t.wrapperEl.style.height = `${r}px`)
3951        },
3952        updateSlidesOffset: function() {
3953            const e = this,
3954                t = e.slides,
3955                s = e.isElement ? e.isHorizontal() ? e.wrapperEl.offsetLeft : e.wrapperEl.offsetTop : 0;
3956            for (let a = 0; a < t.length; a += 1) t[a].swiperSlideOffset = (e.isHorizontal() ? t[a].offsetLeft : t[a].offsetTop) - s - e.cssOverflowAdjustment()
3957        },
3958        updateSlidesProgress: function(e) {
3959            void 0 === e && (e = this && this.translate || 0);
3960            const t = this,
3961                s = t.params,
3962                {
3963                    slides: a,
3964                    rtlTranslate: i,
3965                    snapGrid: r
3966                } = t;
3967            if (0 === a.length) return;
3968            void 0 === a[0].swiperSlideOffset && t.updateSlidesOffset();
3969            let n = -e;
3970            i && (n = e), t.visibleSlidesIndexes = [], t.visibleSlides = [];
3971            let l = s.spaceBetween;
3972            "string" == typeof l && l.indexOf("%") >= 0 ? l = parseFloat(l.replace("%", "")) / 100 * t.size : "string" == typeof l && (l = parseFloat(l));
3973            for (let e = 0; e < a.length; e += 1) {
3974                const o = a[e];
3975                let d = o.swiperSlideOffset;
3976                s.cssMode && s.centeredSlides && (d -= a[0].swiperSlideOffset);
3977                const c = (n + (s.centeredSlides ? t.minTranslate() : 0) - d) / (o.swiperSlideSize + l),
3978                    p = (n - r[0] + (s.centeredSlides ? t.minTranslate() : 0) - d) / (o.swiperSlideSize + l),
3979                    u = -(n - d),
3980                    m = u + t.slidesSizesGrid[e],
3981                    h = u >= 0 && u <= t.size - t.slidesSizesGrid[e],
3982                    f = u >= 0 && u < t.size - 1 || m > 1 && m <= t.size || u <= 0 && m >= t.size;
3983                f && (t.visibleSlides.push(o), t.visibleSlidesIndexes.push(e)), $(o, f, s.slideVisibleClass), $(o, h, s.slideFullyVisibleClass), o.progress = i ? -c : c, o.originalProgress = i ? -p : p
3984            }
3985        },
3986        updateProgress: function(e) {
3987            const t = this;
3988            if (void 0 === e) {
3989                const s = t.rtlTranslate ? -1 : 1;
3990                e = t && t.translate && t.translate * s || 0
3991            }
3992            const s = t.params,
3993                a = t.maxTranslate() - t.minTranslate();
3994            let {
3995                progress: i,
3996                isBeginning: r,
3997                isEnd: n,
3998                progressLoop: l
3999            } = t;
4000            const o = r,
4001                d = n;
4002            if (0 === a) i = 0, r = !0, n = !0;
4003            else {
4004                i = (e - t.minTranslate()) / a;
4005                const s = Math.abs(e - t.minTranslate()) < 1,
4006                    l = Math.abs(e - t.maxTranslate()) < 1;
4007                r = s || i <= 0, n = l || i >= 1, s && (i = 0), l && (i = 1)
4008            }
4009            if (s.loop) {
4010                const s = t.getSlideIndexByData(0),
4011                    a = t.getSlideIndexByData(t.slides.length - 1),
4012                    i = t.slidesGrid[s],
4013                    r = t.slidesGrid[a],
4014                    n = t.slidesGrid[t.slidesGrid.length - 1],
4015                    o = Math.abs(e);
4016                l = o >= i ? (o - i) / n : (o + n - r) / n, l > 1 && (l -= 1)
4017            }
4018            Object.assign(t, {
4019                progress: i,
4020                progressLoop: l,
4021                isBeginning: r,
4022                isEnd: n
4023            }), (s.watchSlidesProgress || s.centeredSlides && s.autoHeight) && t.updateSlidesProgress(e), r && !o && t.emit("reachBeginning toEdge"), n && !d && t.emit("reachEnd toEdge"), (o && !r || d && !n) && t.emit("fromEdge"), t.emit("progress", i)
4024        },
4025        updateSlidesClasses: function() {
4026            const e = this,
4027                {
4028                    slides: t,
4029                    params: s,
4030                    slidesEl: a,
4031                    activeIndex: i
4032                } = e,
4033                r = e.virtual && s.virtual.enabled,
4034                n = e.grid && s.grid && s.grid.rows > 1,
4035                l = e => f(a, `.${s.slideClass}${e}, swiper-slide${e}`)[0];
4036            let o, d, c;
4037            if (r)
4038                if (s.loop) {
4039                    let t = i - e.virtual.slidesBefore;
4040                    t < 0 && (t = e.virtual.slides.length + t), t >= e.virtual.slides.length && (t -= e.virtual.slides.length), o = l(`[data-swiper-slide-index="${t}"]`)
4041                } else o = l(`[data-swiper-slide-index="${i}"]`);
4042            else n ? (o = t.filter((e => e.column === i))[0], c = t.filter((e => e.column === i + 1))[0], d = t.filter((e => e.column === i - 1))[0]) : o = t[i];
4043            o && (n || (c = function(e, t) {
4044                const s = [];
4045                for (; e.nextElementSibling;) {
4046                    const a = e.nextElementSibling;
4047                    t ? a.matches(t) && s.push(a) : s.push(a), e = a
4048                }
4049                return s
4050            }(o, `.${s.slideClass}, swiper-slide`)[0], s.loop && !c && (c = t[0]), d = function(e, t) {
4051                const s = [];
4052                for (; e.previousElementSibling;) {
4053                    const a = e.previousElementSibling;
4054                    t ? a.matches(t) && s.push(a) : s.push(a), e = a
4055                }
4056                return s
4057            }(o, `.${s.slideClass}, swiper-slide`)[0], s.loop && 0 === !d && (d = t[t.length - 1]))), t.forEach((e => {
4058                k(e, e === o, s.slideActiveClass), k(e, e === c, s.slideNextClass), k(e, e === d, s.slidePrevClass)
4059            })), e.emitSlidesClasses()
4060        },
4061        updateActiveIndex: function(e) {
4062            const t = this,
4063                s = t.rtlTranslate ? t.translate : -t.translate,
4064                {
4065                    snapGrid: a,
4066                    params: i,
4067                    activeIndex: r,
4068                    realIndex: n,
4069                    snapIndex: l
4070                } = t;
4071            let o, d = e;
4072            const c = e => {
4073                let s = e - t.virtual.slidesBefore;
4074                return s < 0 && (s = t.virtual.slides.length + s), s >= t.virtual.slides.length && (s -= t.virtual.slides.length), s
4075            };
4076            if (void 0 === d && (d = function(e) {
4077                    const {
4078                        slidesGrid: t,
4079                        params: s
4080                    } = e, a = e.rtlTranslate ? e.translate : -e.translate;
4081                    let i;
4082                    for (let e = 0; e < t.length; e += 1) void 0 !== t[e + 1] ? a >= t[e] && a < t[e + 1] - (t[e + 1] - t[e]) / 2 ? i = e : a >= t[e] && a < t[e + 1] && (i = e + 1) : a >= t[e] && (i = e);
4083                    return s.normalizeSlideIndex && (i < 0 || void 0 === i) && (i = 0), i
4084                }(t)), a.indexOf(s) >= 0) o = a.indexOf(s);
4085            else {
4086                const e = Math.min(i.slidesPerGroupSkip, d);
4087                o = e + Math.floor((d - e) / i.slidesPerGroup)
4088            }
4089            if (o >= a.length && (o = a.length - 1), d === r && !t.params.loop) return void(o !== l && (t.snapIndex = o, t.emit("snapIndexChange")));
4090            if (d === r && t.params.loop && t.virtual && t.params.virtual.enabled) return void(t.realIndex = c(d));
4091            const p = t.grid && i.grid && i.grid.rows > 1;
4092            let u;
4093            if (t.virtual && i.virtual.enabled && i.loop) u = c(d);
4094            else if (p) {
4095                const e = t.slides.filter((e => e.column === d))[0];
4096                let s = parseInt(e.getAttribute("data-swiper-slide-index"), 10);
4097                Number.isNaN(s) && (s = Math.max(t.slides.indexOf(e), 0)), u = Math.floor(s / i.grid.rows)
4098            } else if (t.slides[d]) {
4099                const e = t.slides[d].getAttribute("data-swiper-slide-index");
4100                u = e ? parseInt(e, 10) : d
4101            } else u = d;
4102            Object.assign(t, {
4103                previousSnapIndex: l,
4104                snapIndex: o,
4105                previousRealIndex: n,
4106                realIndex: u,
4107                previousIndex: r,
4108                activeIndex: d
4109            }), t.initialized && G(t), t.emit("activeIndexChange"), t.emit("snapIndexChange"), (t.initialized || t.params.runCallbacksOnInit) && (n !== u && t.emit("realIndexChange"), t.emit("slideChange"))
4110        },
4111        updateClickedSlide: function(e, t) {
4112            const s = this,
4113                a = s.params;
4114            let i = e.closest(`.${a.slideClass}, swiper-slide`);
4115            !i && s.isElement && t && t.length > 1 && t.includes(e) && [...t.slice(t.indexOf(e) + 1, t.length)].forEach((e => {
4116                !i && e.matches && e.matches(`.${a.slideClass}, swiper-slide`) && (i = e)
4117            }));
4118            let r, n = !1;
4119            if (i)
4120                for (let e = 0; e < s.slides.length; e += 1)
4121                    if (s.slides[e] === i) {
4122                        n = !0, r = e;
4123                        break
4124                    } if (!i || !n) return s.clickedSlide = void 0, void(s.clickedIndex = void 0);
4125            s.clickedSlide = i, s.virtual && s.params.virtual.enabled ? s.clickedIndex = parseInt(i.getAttribute("data-swiper-slide-index"), 10) : s.clickedIndex = r, a.slideToClickedSlide && void 0 !== s.clickedIndex && s.clickedIndex !== s.activeIndex && s.slideToClickedSlide()
4126        }
4127    };
4128    var N = {
4129        getTranslate: function(e) {
4130            void 0 === e && (e = this.isHorizontal() ? "x" : "y");
4131            const {
4132                params: t,
4133                rtlTranslate: s,
4134                translate: a,
4135                wrapperEl: i
4136            } = this;
4137            if (t.virtualTranslate) return s ? -a : a;
4138            if (t.cssMode) return a;
4139            let r = d(i, e);
4140            return r += this.cssOverflowAdjustment(), s && (r = -r), r || 0
4141        },
4142        setTranslate: function(e, t) {
4143            const s = this,
4144                {
4145                    rtlTranslate: a,
4146                    params: i,
4147                    wrapperEl: r,
4148                    progress: n
4149                } = s;
4150            let l, o = 0,
4151                d = 0;
4152            s.isHorizontal() ? o = a ? -e : e : d = e, i.roundLengths && (o = Math.floor(o), d = Math.floor(d)), s.previousTranslate = s.translate, s.translate = s.isHorizontal() ? o : d, i.cssMode ? r[s.isHorizontal() ? "scrollLeft" : "scrollTop"] = s.isHorizontal() ? -o : -d : i.virtualTranslate || (s.isHorizontal() ? o -= s.cssOverflowAdjustment() : d -= s.cssOverflowAdjustment(), r.style.transform = `translate3d(${o}px, ${d}px, 0px)`);
4153            const c = s.maxTranslate() - s.minTranslate();
4154            l = 0 === c ? 0 : (e - s.minTranslate()) / c, l !== n && s.updateProgress(e), s.emit("setTranslate", s.translate, t)
4155        },
4156        minTranslate: function() {
4157            return -this.snapGrid[0]
4158        },
4159        maxTranslate: function() {
4160            return -this.snapGrid[this.snapGrid.length - 1]
4161        },
4162        translateTo: function(e, t, s, a, i) {
4163            void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === s && (s = !0), void 0 === a && (a = !0);
4164            const r = this,
4165                {
4166                    params: n,
4167                    wrapperEl: l
4168                } = r;
4169            if (r.animating && n.preventInteractionOnTransition) return !1;
4170            const o = r.minTranslate(),
4171                d = r.maxTranslate();
4172            let c;
4173            if (c = a && e > o ? o : a && e < d ? d : e, r.updateProgress(c), n.cssMode) {
4174                const e = r.isHorizontal();
4175                if (0 === t) l[e ? "scrollLeft" : "scrollTop"] = -c;
4176                else {
4177                    if (!r.support.smoothScroll) return m({
4178                        swiper: r,
4179                        targetPosition: -c,
4180                        side: e ? "left" : "top"
4181                    }), !0;
4182                    l.scrollTo({
4183                        [e ? "left" : "top"]: -c,
4184                        behavior: "smooth"
4185                    })
4186                }
4187                return !0
4188            }
4189            return 0 === t ? (r.setTransition(0), r.setTranslate(c), s && (r.emit("beforeTransitionStart", t, i), r.emit("transitionEnd"))) : (r.setTransition(t), r.setTranslate(c), s && (r.emit("beforeTransitionStart", t, i), r.emit("transitionStart")), r.animating || (r.animating = !0, r.onTranslateToWrapperTransitionEnd || (r.onTranslateToWrapperTransitionEnd = function(e) {
4190                r && !r.destroyed && e.target === this && (r.wrapperEl.removeEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), r.onTranslateToWrapperTransitionEnd = null, delete r.onTranslateToWrapperTransitionEnd, r.animating = !1, s && r.emit("transitionEnd"))
4191            }), r.wrapperEl.addEventListener("transitionend", r.onTranslateToWrapperTransitionEnd))), !0
4192        }
4193    };
4194
4195    function X(e) {
4196        let {
4197            swiper: t,
4198            runCallbacks: s,
4199            direction: a,
4200            step: i
4201        } = e;
4202        const {
4203            activeIndex: r,
4204            previousIndex: n
4205        } = t;
4206        let l = a;
4207        if (l || (l = r > n ? "next" : r < n ? "prev" : "reset"), t.emit(`transition${i}`), s && r !== n) {
4208            if ("reset" === l) return void t.emit(`slideResetTransition${i}`);
4209            t.emit(`slideChangeTransition${i}`), "next" === l ? t.emit(`slideNextTransition${i}`) : t.emit(`slidePrevTransition${i}`)
4210        }
4211    }
4212    var B = {
4213        slideTo: function(e, t, s, a, i) {
4214            void 0 === e && (e = 0), void 0 === s && (s = !0), "string" == typeof e && (e = parseInt(e, 10));
4215            const r = this;
4216            let n = e;
4217            n < 0 && (n = 0);
4218            const {
4219                params: l,
4220                snapGrid: o,
4221                slidesGrid: d,
4222                previousIndex: c,
4223                activeIndex: p,
4224                rtlTranslate: u,
4225                wrapperEl: h,
4226                enabled: f
4227            } = r;
4228            if (!f && !a && !i || r.destroyed || r.animating && l.preventInteractionOnTransition) return !1;
4229            void 0 === t && (t = r.params.speed);
4230            const g = Math.min(r.params.slidesPerGroupSkip, n);
4231            let v = g + Math.floor((n - g) / r.params.slidesPerGroup);
4232            v >= o.length && (v = o.length - 1);
4233            const w = -o[v];
4234            if (l.normalizeSlideIndex)
4235                for (let e = 0; e < d.length; e += 1) {
4236                    const t = -Math.floor(100 * w),
4237                        s = Math.floor(100 * d[e]),
4238                        a = Math.floor(100 * d[e + 1]);
4239                    void 0 !== d[e + 1] ? t >= s && t < a - (a - s) / 2 ? n = e : t >= s && t < a && (n = e + 1) : t >= s && (n = e)
4240                }
4241            if (r.initialized && n !== p) {
4242                if (!r.allowSlideNext && (u ? w > r.translate && w > r.minTranslate() : w < r.translate && w < r.minTranslate())) return !1;
4243                if (!r.allowSlidePrev && w > r.translate && w > r.maxTranslate() && (p || 0) !== n) return !1
4244            }
4245            let b;
4246            if (n !== (c || 0) && s && r.emit("beforeSlideChangeStart"), r.updateProgress(w), b = n > p ? "next" : n < p ? "prev" : "reset", u && -w === r.translate || !u && w === r.translate) return r.updateActiveIndex(n), l.autoHeight && r.updateAutoHeight(), r.updateSlidesClasses(), "slide" !== l.effect && r.setTranslate(w), "reset" !== b && (r.transitionStart(s, b), r.transitionEnd(s, b)), !1;
4247            if (l.cssMode) {
4248                const e = r.isHorizontal(),
4249                    s = u ? w : -w;
4250                if (0 === t) {
4251                    const t = r.virtual && r.params.virtual.enabled;
4252                    t && (r.wrapperEl.style.scrollSnapType = "none", r._immediateVirtual = !0), t && !r._cssModeVirtualInitialSet && r.params.initialSlide > 0 ? (r._cssModeVirtualInitialSet = !0, requestAnimationFrame((() => {
4253                        h[e ? "scrollLeft" : "scrollTop"] = s
4254                    }))) : h[e ? "scrollLeft" : "scrollTop"] = s, t && requestAnimationFrame((() => {
4255                        r.wrapperEl.style.scrollSnapType = "", r._immediateVirtual = !1
4256                    }))
4257                } else {
4258                    if (!r.support.smoothScroll) return m({
4259                        swiper: r,
4260                        targetPosition: s,
4261                        side: e ? "left" : "top"
4262                    }), !0;
4263                    h.scrollTo({
4264                        [e ? "left" : "top"]: s,
4265                        behavior: "smooth"
4266                    })
4267                }
4268                return !0
4269            }
4270            return r.setTransition(t), r.setTranslate(w), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, a), r.transitionStart(s, b), 0 === t ? r.transitionEnd(s, b) : r.animating || (r.animating = !0, r.onSlideToWrapperTransitionEnd || (r.onSlideToWrapperTransitionEnd = function(e) {
4271                r && !r.destroyed && e.target === this && (r.wrapperEl.removeEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.onSlideToWrapperTransitionEnd = null, delete r.onSlideToWrapperTransitionEnd, r.transitionEnd(s, b))
4272            }), r.wrapperEl.addEventListener("transitionend", r.onSlideToWrapperTransitionEnd)), !0
4273        },
4274        slideToLoop: function(e, t, s, a) {
4275            if (void 0 === e && (e = 0), void 0 === s && (s = !0), "string" == typeof e) {
4276                e = parseInt(e, 10)
4277            }
4278            const i = this;
4279            if (i.destroyed) return;
4280            void 0 === t && (t = i.params.speed);
4281            const r = i.grid && i.params.grid && i.params.grid.rows > 1;
4282            let n = e;
4283            if (i.params.loop)
4284                if (i.virtual && i.params.virtual.enabled) n += i.virtual.slidesBefore;
4285                else {
4286                    let e;
4287                    if (r) {
4288                        const t = n * i.params.grid.rows;
4289                        e = i.slides.filter((e => 1 * e.getAttribute("data-swiper-slide-index") === t))[0].column
4290                    } else e = i.getSlideIndexByData(n);
4291                    const t = r ? Math.ceil(i.slides.length / i.params.grid.rows) : i.slides.length,
4292                        {
4293                            centeredSlides: s
4294                        } = i.params;
4295                    let l = i.params.slidesPerView;
4296                    "auto" === l ? l = i.slidesPerViewDynamic() : (l = Math.ceil(parseFloat(i.params.slidesPerView, 10)), s && l % 2 == 0 && (l += 1));
4297                    let o = t - e < l;
4298                    if (s && (o = o || e < Math.ceil(l / 2)), a && s && "auto" !== i.params.slidesPerView && !r && (o = !1), o) {
4299                        const a = s ? e < i.activeIndex ? "prev" : "next" : e - i.activeIndex - 1 < i.params.slidesPerView ? "next" : "prev";
4300                        i.loopFix({
4301                            direction: a,
4302                            slideTo: !0,
4303                            activeSlideIndex: "next" === a ? e + 1 : e - t + 1,
4304                            slideRealIndex: "next" === a ? i.realIndex : void 0
4305                        })
4306                    }
4307                    if (r) {
4308                        const e = n * i.params.grid.rows;
4309                        n = i.slides.filter((t => 1 * t.getAttribute("data-swiper-slide-index") === e))[0].column
4310                    } else n = i.getSlideIndexByData(n)
4311                } return requestAnimationFrame((() => {
4312                i.slideTo(n, t, s, a)
4313            })), i
4314        },
4315        slideNext: function(e, t, s) {
4316            void 0 === t && (t = !0);
4317            const a = this,
4318                {
4319                    enabled: i,
4320                    params: r,
4321                    animating: n
4322                } = a;
4323            if (!i || a.destroyed) return a;
4324            void 0 === e && (e = a.params.speed);
4325            let l = r.slidesPerGroup;
4326            "auto" === r.slidesPerView && 1 === r.slidesPerGroup && r.slidesPerGroupAuto && (l = Math.max(a.slidesPerViewDynamic("current", !0), 1));
4327            const o = a.activeIndex < r.slidesPerGroupSkip ? 1 : l,
4328                d = a.virtual && r.virtual.enabled;
4329            if (r.loop) {
4330                if (n && !d && r.loopPreventsSliding) return !1;
4331                if (a.loopFix({
4332                        direction: "next"
4333                    }), a._clientLeft = a.wrapperEl.clientLeft, a.activeIndex === a.slides.length - 1 && r.cssMode) return requestAnimationFrame((() => {
4334                    a.slideTo(a.activeIndex + o, e, t, s)
4335                })), !0
4336            }
4337            return r.rewind && a.isEnd ? a.slideTo(0, e, t, s) : a.slideTo(a.activeIndex + o, e, t, s)
4338        },
4339        slidePrev: function(e, t, s) {
4340            void 0 === t && (t = !0);
4341            const a = this,
4342                {
4343                    params: i,
4344                    snapGrid: r,
4345                    slidesGrid: n,
4346                    rtlTranslate: l,
4347                    enabled: o,
4348                    animating: d
4349                } = a;
4350            if (!o || a.destroyed) return a;
4351            void 0 === e && (e = a.params.speed);
4352            const c = a.virtual && i.virtual.enabled;
4353            if (i.loop) {
4354                if (d && !c && i.loopPreventsSliding) return !1;
4355                a.loopFix({
4356                    direction: "prev"
4357                }), a._clientLeft = a.wrapperEl.clientLeft
4358            }
4359
4360            function p(e) {
4361                return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e)
4362            }
4363            const u = p(l ? a.translate : -a.translate),
4364                m = r.map((e => p(e)));
4365            let h = r[m.indexOf(u) - 1];
4366            if (void 0 === h && i.cssMode) {
4367                let e;
4368                r.forEach(((t, s) => {
4369                    u >= t && (e = s)
4370                })), void 0 !== e && (h = r[e > 0 ? e - 1 : e])
4371            }
4372            let f = 0;
4373            if (void 0 !== h && (f = n.indexOf(h), f < 0 && (f = a.activeIndex - 1), "auto" === i.slidesPerView && 1 === i.slidesPerGroup && i.slidesPerGroupAuto && (f = f - a.slidesPerViewDynamic("previous", !0) + 1, f = Math.max(f, 0))), i.rewind && a.isBeginning) {
4374                const i = a.params.virtual && a.params.virtual.enabled && a.virtual ? a.virtual.slides.length - 1 : a.slides.length - 1;
4375                return a.slideTo(i, e, t, s)
4376            }
4377            return i.loop && 0 === a.activeIndex && i.cssMode ? (requestAnimationFrame((() => {
4378                a.slideTo(f, e, t, s)
4379            })), !0) : a.slideTo(f, e, t, s)
4380        },
4381        slideReset: function(e, t, s) {
4382            void 0 === t && (t = !0);
4383            const a = this;
4384            if (!a.destroyed) return void 0 === e && (e = a.params.speed), a.slideTo(a.activeIndex, e, t, s)
4385        },
4386        slideToClosest: function(e, t, s, a) {
4387            void 0 === t && (t = !0), void 0 === a && (a = .5);
4388            const i = this;
4389            if (i.destroyed) return;
4390            void 0 === e && (e = i.params.speed);
4391            let r = i.activeIndex;
4392            const n = Math.min(i.params.slidesPerGroupSkip, r),
4393                l = n + Math.floor((r - n) / i.params.slidesPerGroup),
4394                o = i.rtlTranslate ? i.translate : -i.translate;
4395            if (o >= i.snapGrid[l]) {
4396                const e = i.snapGrid[l];
4397                o - e > (i.snapGrid[l + 1] - e) * a && (r += i.params.slidesPerGroup)
4398            } else {
4399                const e = i.snapGrid[l - 1];
4400                o - e <= (i.snapGrid[l] - e) * a && (r -= i.params.slidesPerGroup)
4401            }
4402            return r = Math.max(r, 0), r = Math.min(r, i.slidesGrid.length - 1), i.slideTo(r, e, t, s)
4403        },
4404        slideToClickedSlide: function() {
4405            const e = this;
4406            if (e.destroyed) return;
4407            const {
4408                params: t,
4409                slidesEl: s
4410            } = e, a = "auto" === t.slidesPerView ? e.slidesPerViewDynamic() : t.slidesPerView;
4411            let i, r = e.clickedIndex;
4412            const n = e.isElement ? "swiper-slide" : `.${t.slideClass}`;
4413            if (t.loop) {
4414                if (e.animating) return;
4415                i = parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"), 10), t.centeredSlides ? r < e.loopedSlides - a / 2 || r > e.slides.length - e.loopedSlides + a / 2 ? (e.loopFix(), r = e.getSlideIndex(f(s, `${n}[data-swiper-slide-index="${i}"]`)[0]), l((() => {
4416                    e.slideTo(r)
4417                }))) : e.slideTo(r) : r > e.slides.length - a ? (e.loopFix(), r = e.getSlideIndex(f(s, `${n}[data-swiper-slide-index="${i}"]`)[0]), l((() => {
4418                    e.slideTo(r)
4419                }))) : e.slideTo(r)
4420            } else e.slideTo(r)
4421        }
4422    };
4423    var Y = {
4424        loopCreate: function(e) {
4425            const t = this,
4426                {
4427                    params: s,
4428                    slidesEl: a
4429                } = t;
4430            if (!s.loop || t.virtual && t.params.virtual.enabled) return;
4431            const i = () => {
4432                    f(a, `.${s.slideClass}, swiper-slide`).forEach(((e, t) => {
4433                        e.setAttribute("data-swiper-slide-index", t)
4434                    }))
4435                },
4436                r = t.grid && s.grid && s.grid.rows > 1,
4437                n = s.slidesPerGroup * (r ? s.grid.rows : 1),
4438                l = t.slides.length % n != 0,
4439                o = r && t.slides.length % s.grid.rows != 0,
4440                d = e => {
4441                    for (let a = 0; a < e; a += 1) {
4442                        const e = t.isElement ? v("swiper-slide", [s.slideBlankClass]) : v("div", [s.slideClass, s.slideBlankClass]);
4443                        t.slidesEl.append(e)
4444                    }
4445                };
4446            if (l) {
4447                if (s.loopAddBlankSlides) {
4448                    d(n - t.slides.length % n), t.recalcSlides(), t.updateSlides()
4449                } else g("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may 
vendor: 4,082 bytes, lines 4449-4522
4449not function properly. You need to add more slides (or make duplicates, or empty slides)");
4450                i()
4451            } else if (o) {
4452                if (s.loopAddBlankSlides) {
4453                    d(s.grid.rows - t.slides.length % s.grid.rows), t.recalcSlides(), t.updateSlides()
4454                } else g("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");
4455                i()
4456            } else i();
4457            t.loopFix({
4458                slideRealIndex: e,
4459                direction: s.centeredSlides ? void 0 : "next"
4460            })
4461        },
4462        loopFix: function(e) {
4463            let {
4464                slideRealIndex: t,
4465                slideTo: s = !0,
4466                direction: a,
4467                setTranslate: i,
4468                activeSlideIndex: r,
4469                byController: n,
4470                byMousewheel: l
4471            } = void 0 === e ? {} : e;
4472            const o = this;
4473            if (!o.params.loop) return;
4474            o.emit("beforeLoopFix");
4475            const {
4476                slides: d,
4477                allowSlidePrev: c,
4478                allowSlideNext: p,
4479                slidesEl: u,
4480                params: m
4481            } = o, {
4482                centeredSlides: h
4483            } = m;
4484            if (o.allowSlidePrev = !0, o.allowSlideNext = !0, o.virtual && m.virtual.enabled) return s && (m.centeredSlides || 0 !== o.snapIndex ? m.centeredSlides && o.snapIndex < m.slidesPerView ? o.slideTo(o.virtual.slides.length + o.snapIndex, 0, !1, !0) : o.snapIndex === o.snapGrid.length - 1 && o.slideTo(o.virtual.slidesBefore, 0, !1, !0) : o.slideTo(o.virtual.slides.length, 0, !1, !0)), o.allowSlidePrev = c, o.allowSlideNext = p, void o.emit("loopFix");
4485            let f = m.slidesPerView;
4486            "auto" === f ? f = o.slidesPerViewDynamic() : (f = Math.ceil(parseFloat(m.slidesPerView, 10)), h && f % 2 == 0 && (f += 1));
4487            const v = m.slidesPerGroupAuto ? f : m.slidesPerGroup;
4488            let w = v;
4489            w % v != 0 && (w += v - w % v), w += m.loopAdditionalSlides, o.loopedSlides = w;
4490            const b = o.grid && m.grid && m.grid.rows > 1;
4491            d.length < f + w ? g("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters") : b && "row" === m.grid.fill && g("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");
4492            const y = [],
4493                E = [];
4494            let x = o.activeIndex;
4495            void 0 === r ? r = o.getSlideIndex(d.filter((e => e.classList.contains(m.slideActiveClass)))[0]) : x = r;
4496            const S = "next" === a || !a,
4497                T = "prev" === a || !a;
4498            let M = 0,
4499                C = 0;
4500            const P = b ? Math.ceil(d.length / m.grid.rows) : d.length,
4501                L = (b ? d[r].column : r) + (h && void 0 === i ? -f / 2 + .5 : 0);
4502            if (L < w) {
4503                M = Math.max(w - L, v);
4504                for (let e = 0; e < w - L; e += 1) {
4505                    const t = e - Math.floor(e / P) * P;
4506                    if (b) {
4507                        const e = P - t - 1;
4508                        for (let t = d.length - 1; t >= 0; t -= 1) d[t].column === e && y.push(t)
4509                    } else y.push(P - t - 1)
4510                }
4511            } else if (L + f > P - w) {
4512                C = Math.max(L - (P - 2 * w), v);
4513                for (let e = 0; e < C; e += 1) {
4514                    const t = e - Math.floor(e / P) * P;
4515                    b ? d.forEach(((e, s) => {
4516                        e.column === t && E.push(s)
4517                    })) : E.push(t)
4518                }
4519            }
4520            if (o.__preventObserver__ = !0, requestAnimationFrame((() => {
4521                    o.__preventObserver__ = !1
4522                }
vendor: 10,986 bytes, lines 4522-4716
4522)), T && y.forEach((e => {
4523                    d[e].swiperLoopMoveDOM = !0, u.prepend(d[e]), d[e].swiperLoopMoveDOM = !1
4524                })), S && E.forEach((e => {
4525                    d[e].swiperLoopMoveDOM = !0, u.append(d[e]), d[e].swiperLoopMoveDOM = !1
4526                })), o.recalcSlides(), "auto" === m.slidesPerView ? o.updateSlides() : b && (y.length > 0 && T || E.length > 0 && S) && o.slides.forEach(((e, t) => {
4527                    o.grid.updateSlide(t, e, o.slides)
4528                })), m.watchSlidesProgress && o.updateSlidesOffset(), s)
4529                if (y.length > 0 && T) {
4530                    if (void 0 === t) {
4531                        const e = o.slidesGrid[x],
4532                            t = o.slidesGrid[x + M] - e;
4533                        l ? o.setTranslate(o.translate - t) : (o.slideTo(x + Math.ceil(M), 0, !1, !0), i && (o.touchEventsData.startTranslate = o.touchEventsData.startTranslate - t, o.touchEventsData.currentTranslate = o.touchEventsData.currentTranslate - t))
4534                    } else if (i) {
4535                        const e = b ? y.length / m.grid.rows : y.length;
4536                        o.slideTo(o.activeIndex + e, 0, !1, !0), o.touchEventsData.currentTranslate = o.translate
4537                    }
4538                } else if (E.length > 0 && S)
4539                if (void 0 === t) {
4540                    const e = o.slidesGrid[x],
4541                        t = o.slidesGrid[x - C] - e;
4542                    l ? o.setTranslate(o.translate - t) : (o.slideTo(x - C, 0, !1, !0), i && (o.touchEventsData.startTranslate = o.touchEventsData.startTranslate - t, o.touchEventsData.currentTranslate = o.touchEventsData.currentTranslate - t))
4543                } else {
4544                    const e = b ? E.length / m.grid.rows : E.length;
4545                    o.slideTo(o.activeIndex - e, 0, !1, !0)
4546                } if (o.allowSlidePrev = c, o.allowSlideNext = p, o.controller && o.controller.control && !n) {
4547                const e = {
4548                    slideRealIndex: t,
4549                    direction: a,
4550                    setTranslate: i,
4551                    activeSlideIndex: r,
4552                    byController: !0
4553                };
4554                Array.isArray(o.controller.control) ? o.controller.control.forEach((t => {
4555                    !t.destroyed && t.params.loop && t.loopFix({
4556                        ...e,
4557                        slideTo: t.params.slidesPerView === m.slidesPerView && s
4558                    })
4559                })) : o.controller.control instanceof o.constructor && o.controller.control.params.loop && o.controller.control.loopFix({
4560                    ...e,
4561                    slideTo: o.controller.control.params.slidesPerView === m.slidesPerView && s
4562                })
4563            }
4564            o.emit("loopFix")
4565        },
4566        loopDestroy: function() {
4567            const e = this,
4568                {
4569                    params: t,
4570                    slidesEl: s
4571                } = e;
4572            if (!t.loop || e.virtual && e.params.virtual.enabled) return;
4573            e.recalcSlides();
4574            const a = [];
4575            e.slides.forEach((e => {
4576                const t = void 0 === e.swiperSlideIndex ? 1 * e.getAttribute("data-swiper-slide-index") : e.swiperSlideIndex;
4577                a[t] = e
4578            })), e.slides.forEach((e => {
4579                e.removeAttribute("data-swiper-slide-index")
4580            })), a.forEach((e => {
4581                s.append(e)
4582            })), e.recalcSlides(), e.slideTo(e.realIndex, 0)
4583        }
4584    };
4585
4586    function R(e, t, s) {
4587        const a = r(),
4588            {
4589                params: i
4590            } = e,
4591            n = i.edgeSwipeDetection,
4592            l = i.edgeSwipeThreshold;
4593        return !n || !(s <= l || s >= a.innerWidth - l) || "prevent" === n && (t.preventDefault(), !0)
4594    }
4595
4596    function F(e) {
4597        const t = this,
4598            s = a();
4599        let i = e;
4600        i.originalEvent && (i = i.originalEvent);
4601        const n = t.touchEventsData;
4602        if ("pointerdown" === i.type) {
4603            if (null !== n.pointerId && n.pointerId !== i.pointerId) return;
4604            n.pointerId = i.pointerId
4605        } else "touchstart" === i.type && 1 === i.targetTouches.length && (n.touchId = i.targetTouches[0].identifier);
4606        if ("touchstart" === i.type) return void R(t, i, i.targetTouches[0].pageX);
4607        const {
4608            params: l,
4609            touches: d,
4610            enabled: c
4611        } = t;
4612        if (!c) return;
4613        if (!l.simulateTouch && "mouse" === i.pointerType) return;
4614        if (t.animating && l.preventInteractionOnTransition) return;
4615        !t.animating && l.cssMode && l.loop && t.loopFix();
4616        let p = i.target;
4617        if ("wrapper" === l.touchEventsTarget && !t.wrapperEl.contains(p)) return;
4618        if ("which" in i && 3 === i.which) return;
4619        if ("button" in i && i.button > 0) return;
4620        if (n.isTouched && n.isMoved) return;
4621        const u = !!l.noSwipingClass && "" !== l.noSwipingClass,
4622            m = i.composedPath ? i.composedPath() : i.path;
4623        u && i.target && i.target.shadowRoot && m && (p = m[0]);
4624        const h = l.noSwipingSelector ? l.noSwipingSelector : `.${l.noSwipingClass}`,
4625            f = !(!i.target || !i.target.shadowRoot);
4626        if (l.noSwiping && (f ? function(e, t) {
4627                return void 0 === t && (t = this),
4628                    function t(s) {
4629                        if (!s || s === a() || s === r()) return null;
4630                        s.assignedSlot && (s = s.assignedSlot);
4631                        const i = s.closest(e);
4632                        return i || s.getRootNode ? i || t(s.getRootNode().host) : null
4633                    }(t)
4634            }(h, p) : p.closest(h))) return void(t.allowClick = !0);
4635        if (l.swipeHandler && !p.closest(l.swipeHandler)) return;
4636        d.currentX = i.pageX, d.currentY = i.pageY;
4637        const g = d.currentX,
4638            v = d.currentY;
4639        if (!R(t, i, g)) return;
4640        Object.assign(n, {
4641            isTouched: !0,
4642            isMoved: !1,
4643            allowTouchCallbacks: !0,
4644            isScrolling: void 0,
4645            startMoving: void 0
4646        }), d.startX = g, d.startY = v, n.touchStartTime = o(), t.allowClick = !0, t.updateSize(), t.swipeDirection = void 0, l.threshold > 0 && (n.allowThresholdMove = !1);
4647        let w = !0;
4648        p.matches(n.focusableElements) && (w = !1, "SELECT" === p.nodeName && (n.isTouched = !1)), s.activeElement && s.activeElement.matches(n.focusableElements) && s.activeElement !== p && s.activeElement.blur();
4649        const b = w && t.allowTouchMove && l.touchStartPreventDefault;
4650        !l.touchStartForcePreventDefault && !b || p.isContentEditable || i.preventDefault(), l.freeMode && l.freeMode.enabled && t.freeMode && t.animating && !l.cssMode && t.freeMode.onTouchStart(), t.emit("touchStart", i)
4651    }
4652
4653    function q(e) {
4654        const t = a(),
4655            s = this,
4656            i = s.touchEventsData,
4657            {
4658                params: r,
4659                touches: n,
4660                rtlTranslate: l,
4661                enabled: d
4662            } = s;
4663        if (!d) return;
4664        if (!r.simulateTouch && "mouse" === e.pointerType) return;
4665        let c, p = e;
4666        if (p.originalEvent && (p = p.originalEvent), "pointermove" === p.type) {
4667            if (null !== i.touchId) return;
4668            if (p.pointerId !== i.pointerId) return
4669        }
4670        if ("touchmove" === p.type) {
4671            if (c = [...p.changedTouches].filter((e => e.identifier === i.touchId))[0], !c || c.identifier !== i.touchId) return
4672        } else c = p;
4673        if (!i.isTouched) return void(i.startMoving && i.isScrolling && s.emit("touchMoveOpposite", p));
4674        const u = c.pageX,
4675            m = c.pageY;
4676        if (p.preventedByNestedSwiper) return n.startX = u, void(n.startY = m);
4677        if (!s.allowTouchMove) return p.target.matches(i.focusableElements) || (s.allowClick = !1), void(i.isTouched && (Object.assign(n, {
4678            startX: u,
4679            startY: m,
4680            currentX: u,
4681            currentY: m
4682        }), i.touchStartTime = o()));
4683        if (r.touchReleaseOnEdges && !r.loop)
4684            if (s.isVertical()) {
4685                if (m < n.startY && s.translate <= s.maxTranslate() || m > n.startY && s.translate >= s.minTranslate()) return i.isTouched = !1, void(i.isMoved = !1)
4686            } else if (u < n.startX && s.translate <= s.maxTranslate() || u > n.startX && s.translate >= s.minTranslate()) return;
4687        if (t.activeElement && p.target === t.activeElement && p.target.matches(i.focusableElements)) return i.isMoved = !0, void(s.allowClick = !1);
4688        i.allowTouchCallbacks && s.emit("touchMove", p), n.previousX = n.currentX, n.previousY = n.currentY, n.currentX = u, n.currentY = m;
4689        const h = n.currentX - n.startX,
4690            f = n.currentY - n.startY;
4691        if (s.params.threshold && Math.sqrt(h ** 2 + f ** 2) < s.params.threshold) return;
4692        if (void 0 === i.isScrolling) {
4693            let e;
4694            s.isHorizontal() && n.currentY === n.startY || s.isVertical() && n.currentX === n.startX ? i.isScrolling = !1 : h * h + f * f >= 25 && (e = 180 * Math.atan2(Math.abs(f), Math.abs(h)) / Math.PI, i.isScrolling = s.isHorizontal() ? e > r.touchAngle : 90 - e > r.touchAngle)
4695        }
4696        if (i.isScrolling && s.emit("touchMoveOpposite", p), void 0 === i.startMoving && (n.currentX === n.startX && n.currentY === n.startY || (i.startMoving = !0)), i.isScrolling || "touchmove" === p.type && i.preventTouchMoveFromPointerMove) return void(i.isTouched = !1);
4697        if (!i.startMoving) return;
4698        s.allowClick = !1, !r.cssMode && p.cancelable && p.preventDefault(), r.touchMoveStopPropagation && !r.nested && p.stopPropagation();
4699        let g = s.isHorizontal() ? h : f,
4700            v = s.isHorizontal() ? n.currentX - n.previousX : n.currentY - n.previousY;
4701        r.oneWayMovement && (g = Math.abs(g) * (l ? 1 : -1), v = Math.abs(v) * (l ? 1 : -1)), n.diff = g, g *= r.touchRatio, l && (g = -g, v = -v);
4702        const w = s.touchesDirection;
4703        s.swipeDirection = g > 0 ? "prev" : "next", s.touchesDirection = v > 0 ? "prev" : "next";
4704        const b = s.params.loop && !r.cssMode,
4705            y = "next" === s.touchesDirection && s.allowSlideNext || "prev" === s.touchesDirection && s.allowSlidePrev;
4706        if (!i.isMoved) {
4707            if (b && y && s.loopFix({
4708                    direction: s.swipeDirection
4709                }), i.startTranslate = s.getTranslate(), s.setTransition(0), s.animating) {
4710                const e = new window.CustomEvent("transitionend", {
4711                    bubbles: !0,
4712                    cancelable: !0,
4713                    detail: {
4714                        bySwiperTouchMove: !0
4715                    }
4716                });
vendor: 9,143 bytes, lines 4717-4849
4717                s.wrapperEl.dispatchEvent(e)
4718            }
4719            i.allowMomentumBounce = !1, !r.grabCursor || !0 !== s.allowSlideNext && !0 !== s.allowSlidePrev || s.setGrabCursor(!0), s.emit("sliderFirstMove", p)
4720        }
4721        if ((new Date).getTime(), i.isMoved && i.allowThresholdMove && w !== s.touchesDirection && b && y && Math.abs(g) >= 1) return Object.assign(n, {
4722            startX: u,
4723            startY: m,
4724            currentX: u,
4725            currentY: m,
4726            startTranslate: i.currentTranslate
4727        }), i.loopSwapReset = !0, void(i.startTranslate = i.currentTranslate);
4728        s.emit("sliderMove", p), i.isMoved = !0, i.currentTranslate = g + i.startTranslate;
4729        let E = !0,
4730            x = r.resistanceRatio;
4731        if (r.touchReleaseOnEdges && (x = 0), g > 0 ? (b && y && i.allowThresholdMove && i.currentTranslate > (r.centeredSlides ? s.minTranslate() - s.slidesSizesGrid[s.activeIndex + 1] : s.minTranslate()) && s.loopFix({
4732                direction: "prev",
4733                setTranslate: !0,
4734                activeSlideIndex: 0
4735            }), i.currentTranslate > s.minTranslate() && (E = !1, r.resistance && (i.currentTranslate = s.minTranslate() - 1 + (-s.minTranslate() + i.startTranslate + g) ** x))) : g < 0 && (b && y && i.allowThresholdMove && i.currentTranslate < (r.centeredSlides ? s.maxTranslate() + s.slidesSizesGrid[s.slidesSizesGrid.length - 1] : s.maxTranslate()) && s.loopFix({
4736                direction: "next",
4737                setTranslate: !0,
4738                activeSlideIndex: s.slides.length - ("auto" === r.slidesPerView ? s.slidesPerViewDynamic() : Math.ceil(parseFloat(r.slidesPerView, 10)))
4739            }), i.currentTranslate < s.maxTranslate() && (E = !1, r.resistance && (i.currentTranslate = s.maxTranslate() + 1 - (s.maxTranslate() - i.startTranslate - g) ** x))), E && (p.preventedByNestedSwiper = !0), !s.allowSlideNext && "next" === s.swipeDirection && i.currentTranslate < i.startTranslate && (i.currentTranslate = i.startTranslate), !s.allowSlidePrev && "prev" === s.swipeDirection && i.currentTranslate > i.startTranslate && (i.currentTranslate = i.startTranslate), s.allowSlidePrev || s.allowSlideNext || (i.currentTranslate = i.startTranslate), r.threshold > 0) {
4740            if (!(Math.abs(g) > r.threshold || i.allowThresholdMove)) return void(i.currentTranslate = i.startTranslate);
4741            if (!i.allowThresholdMove) return i.allowThresholdMove = !0, n.startX = n.currentX, n.startY = n.currentY, i.currentTranslate = i.startTranslate, void(n.diff = s.isHorizontal() ? n.currentX - n.startX : n.currentY - n.startY)
4742        }
4743        r.followFinger && !r.cssMode && ((r.freeMode && r.freeMode.enabled && s.freeMode || r.watchSlidesProgress) && (s.updateActiveIndex(), s.updateSlidesClasses()), r.freeMode && r.freeMode.enabled && s.freeMode && s.freeMode.onTouchMove(), s.updateProgress(i.currentTranslate), s.setTranslate(i.currentTranslate))
4744    }
4745
4746    function V(e) {
4747        const t = this,
4748            s = t.touchEventsData;
4749        let a, i = e;
4750        i.originalEvent && (i = i.originalEvent);
4751        if ("touchend" === i.type || "touchcancel" === i.type) {
4752            if (a = [...i.changedTouches].filter((e => e.identifier === s.touchId))[0], !a || a.identifier !== s.touchId) return
4753        } else {
4754            if (null !== s.touchId) return;
4755            if (i.pointerId !== s.pointerId) return;
4756            a = i
4757        }
4758        if (["pointercancel", "pointerout", "pointerleave", "contextmenu"].includes(i.type)) {
4759            if (!(["pointercancel", "contextmenu"].includes(i.type) && (t.browser.isSafari || t.browser.isWebView))) return
4760        }
4761        s.pointerId = null, s.touchId = null;
4762        const {
4763            params: r,
4764            touches: n,
4765            rtlTranslate: d,
4766            slidesGrid: c,
4767            enabled: p
4768        } = t;
4769        if (!p) return;
4770        if (!r.simulateTouch && "mouse" === i.pointerType) return;
4771        if (s.allowTouchCallbacks && t.emit("touchEnd", i), s.allowTouchCallbacks = !1, !s.isTouched) return s.isMoved && r.grabCursor && t.setGrabCursor(!1), s.isMoved = !1, void(s.startMoving = !1);
4772        r.grabCursor && s.isMoved && s.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1);
4773        const u = o(),
4774            m = u - s.touchStartTime;
4775        if (t.allowClick) {
4776            const e = i.path || i.composedPath && i.composedPath();
4777            t.updateClickedSlide(e && e[0] || i.target, e), t.emit("tap click", i), m < 300 && u - s.lastClickTime < 300 && t.emit("doubleTap doubleClick", i)
4778        }
4779        if (s.lastClickTime = o(), l((() => {
4780                t.destroyed || (t.allowClick = !0)
4781            })), !s.isTouched || !s.isMoved || !t.swipeDirection || 0 === n.diff && !s.loopSwapReset || s.currentTranslate === s.startTranslate && !s.loopSwapReset) return s.isTouched = !1, s.isMoved = !1, void(s.startMoving = !1);
4782        let h;
4783        if (s.isTouched = !1, s.isMoved = !1, s.startMoving = !1, h = r.followFinger ? d ? t.translate : -t.translate : -s.currentTranslate, r.cssMode) return;
4784        if (r.freeMode && r.freeMode.enabled) return void t.freeMode.onTouchEnd({
4785            currentPos: h
4786        });
4787        const f = h >= -t.maxTranslate() && !t.params.loop;
4788        let g = 0,
4789            v = t.slidesSizesGrid[0];
4790        for (let e = 0; e < c.length; e += e < r.slidesPerGroupSkip ? 1 : r.slidesPerGroup) {
4791            const t = e < r.slidesPerGroupSkip - 1 ? 1 : r.slidesPerGroup;
4792            void 0 !== c[e + t] ? (f || h >= c[e] && h < c[e + t]) && (g = e, v = c[e + t] - c[e]) : (f || h >= c[e]) && (g = e, v = c[c.length - 1] - c[c.length - 2])
4793        }
4794        let w = null,
4795            b = null;
4796        r.rewind && (t.isBeginning ? b = r.virtual && r.virtual.enabled && t.virtual ? t.virtual.slides.length - 1 : t.slides.length - 1 : t.isEnd && (w = 0));
4797        const y = (h - c[g]) / v,
4798            E = g < r.slidesPerGroupSkip - 1 ? 1 : r.slidesPerGroup;
4799        if (m > r.longSwipesMs) {
4800            if (!r.longSwipes) return void t.slideTo(t.activeIndex);
4801            "next" === t.swipeDirection && (y >= r.longSwipesRatio ? t.slideTo(r.rewind && t.isEnd ? w : g + E) : t.slideTo(g)), "prev" === t.swipeDirection && (y > 1 - r.longSwipesRatio ? t.slideTo(g + E) : null !== b && y < 0 && Math.abs(y) > r.longSwipesRatio ? t.slideTo(b) : t.slideTo(g))
4802        } else {
4803            if (!r.shortSwipes) return void t.slideTo(t.activeIndex);
4804            t.navigation && (i.target === t.navigation.nextEl || i.target === t.navigation.prevEl) ? i.target === t.navigation.nextEl ? t.slideTo(g + E) : t.slideTo(g) : ("next" === t.swipeDirection && t.slideTo(null !== w ? w : g + E), "prev" === t.swipeDirection && t.slideTo(null !== b ? b : g))
4805        }
4806    }
4807
4808    function _() {
4809        const e = this,
4810            {
4811                params: t,
4812                el: s
4813            } = e;
4814        if (s && 0 === s.offsetWidth) return;
4815        t.breakpoints && e.setBreakpoint();
4816        const {
4817            allowSlideNext: a,
4818            allowSlidePrev: i,
4819            snapGrid: r
4820        } = e, n = e.virtual && e.params.virtual.enabled;
4821        e.allowSlideNext = !0, e.allowSlidePrev = !0, e.updateSize(), e.updateSlides(), e.updateSlidesClasses();
4822        const l = n && t.loop;
4823        !("auto" === t.slidesPerView || t.slidesPerView > 1) || !e.isEnd || e.isBeginning || e.params.centeredSlides || l ? e.params.loop && !n ? e.slideToLoop(e.realIndex, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0) : e.slideTo(e.slides.length - 1, 0, !1, !0), e.autoplay && e.autoplay.running && e.autoplay.paused && (clearTimeout(e.autoplay.resizeTimeout), e.autoplay.resizeTimeout = setTimeout((() => {
4824            e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.resume()
4825        }), 500)), e.allowSlidePrev = i, e.allowSlideNext = a, e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow()
4826    }
4827
4828    function W(e) {
4829        const t = this;
4830        t.enabled && (t.allowClick || (t.params.preventClicks && e.preventDefault(), t.params.preventClicksPropagation && t.animating && (e.stopPropagation(), e.stopImmediatePropagation())))
4831    }
4832
4833    function j() {
4834        const e = this,
4835            {
4836                wrapperEl: t,
4837                rtlTranslate: s,
4838                enabled: a
4839            } = e;
4840        if (!a) return;
4841        let i;
4842        e.previousTranslate = e.translate, e.isHorizontal() ? e.translate = -t.scrollLeft : e.translate = -t.scrollTop, 0 === e.translate && (e.translate = 0), e.updateActiveIndex(), e.updateSlidesClasses();
4843        const r = e.maxTranslate() - e.minTranslate();
4844        i = 0 === r ? 0 : (e.translate - e.minTranslate()) / r, i !== e.progress && e.updateProgress(s ? -e.translate : e.translate), e.emit("setTranslate", e.translate, !1)
4845    }
4846
4847    function U(e) {
4848        const t = this;
4849        O(t, e.target), t.params.cssMode || "auto" !== t.params.slidesPerView && !t.params.autoHeight || t.update(
vendor: 17,495 bytes, lines 4849-5235
4849)
4850    }
4851
4852    function K() {
4853        const e = this;
4854        e.documentTouchHandlerProceeded || (e.documentTouchHandlerProceeded = !0, e.params.touchReleaseOnEdges && (e.el.style.touchAction = "auto"))
4855    }
4856    const Z = (e, t) => {
4857        const s = a(),
4858            {
4859                params: i,
4860                el: r,
4861                wrapperEl: n,
4862                device: l
4863            } = e,
4864            o = !!i.nested,
4865            d = "on" === t ? "addEventListener" : "removeEventListener",
4866            c = t;
4867        r && "string" != typeof r && (s[d]("touchstart", e.onDocumentTouchStart, {
4868            passive: !1,
4869            capture: o
4870        }), r[d]("touchstart", e.onTouchStart, {
4871            passive: !1
4872        }), r[d]("pointerdown", e.onTouchStart, {
4873            passive: !1
4874        }), s[d]("touchmove", e.onTouchMove, {
4875            passive: !1,
4876            capture: o
4877        }), s[d]("pointermove", e.onTouchMove, {
4878            passive: !1,
4879            capture: o
4880        }), s[d]("touchend", e.onTouchEnd, {
4881            passive: !0
4882        }), s[d]("pointerup", e.onTouchEnd, {
4883            passive: !0
4884        }), s[d]("pointercancel", e.onTouchEnd, {
4885            passive: !0
4886        }), s[d]("touchcancel", e.onTouchEnd, {
4887            passive: !0
4888        }), s[d]("pointerout", e.onTouchEnd, {
4889            passive: !0
4890        }), s[d]("pointerleave", e.onTouchEnd, {
4891            passive: !0
4892        }), s[d]("contextmenu", e.onTouchEnd, {
4893            passive: !0
4894        }), (i.preventClicks || i.preventClicksPropagation) && r[d]("click", e.onClick, !0), i.cssMode && n[d]("scroll", e.onScroll), i.updateOnWindowResize ? e[c](l.ios || l.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", _, !0) : e[c]("observerUpdate", _, !0), r[d]("load", e.onLoad, {
4895            capture: !0
4896        }))
4897    };
4898    const Q = (e, t) => e.grid && t.grid && t.grid.rows > 1;
4899    var J = {
4900        init: !0,
4901        direction: "horizontal",
4902        oneWayMovement: !1,
4903        swiperElementNodeName: "SWIPER-CONTAINER",
4904        touchEventsTarget: "wrapper",
4905        initialSlide: 0,
4906        speed: 300,
4907        cssMode: !1,
4908        updateOnWindowResize: !0,
4909        resizeObserver: !0,
4910        nested: !1,
4911        createElements: !1,
4912        eventsPrefix: "swiper",
4913        enabled: !0,
4914        focusableElements: "input, select, option, textarea, button, video, label",
4915        width: null,
4916        height: null,
4917        preventInteractionOnTransition: !1,
4918        userAgent: null,
4919        url: null,
4920        edgeSwipeDetection: !1,
4921        edgeSwipeThreshold: 20,
4922        autoHeight: !1,
4923        setWrapperSize: !1,
4924        virtualTranslate: !1,
4925        effect: "slide",
4926        breakpoints: void 0,
4927        breakpointsBase: "window",
4928        spaceBetween: 0,
4929        slidesPerView: 1,
4930        slidesPerGroup: 1,
4931        slidesPerGroupSkip: 0,
4932        slidesPerGroupAuto: !1,
4933        centeredSlides: !1,
4934        centeredSlidesBounds: !1,
4935        slidesOffsetBefore: 0,
4936        slidesOffsetAfter: 0,
4937        normalizeSlideIndex: !0,
4938        centerInsufficientSlides: !1,
4939        watchOverflow: !0,
4940        roundLengths: !1,
4941        touchRatio: 1,
4942        touchAngle: 45,
4943        simulateTouch: !0,
4944        shortSwipes: !0,
4945        longSwipes: !0,
4946        longSwipesRatio: .5,
4947        longSwipesMs: 300,
4948        followFinger: !0,
4949        allowTouchMove: !0,
4950        threshold: 5,
4951        touchMoveStopPropagation: !1,
4952        touchStartPreventDefault: !0,
4953        touchStartForcePreventDefault: !1,
4954        touchReleaseOnEdges: !1,
4955        uniqueNavElements: !0,
4956        resistance: !0,
4957        resistanceRatio: .85,
4958        watchSlidesProgress: !1,
4959        grabCursor: !1,
4960        preventClicks: !0,
4961        preventClicksPropagation: !0,
4962        slideToClickedSlide: !1,
4963        loop: !1,
4964        loopAddBlankSlides: !0,
4965        loopAdditionalSlides: 0,
4966        loopPreventsSliding: !0,
4967        rewind: !1,
4968        allowSlidePrev: !0,
4969        allowSlideNext: !0,
4970        swipeHandler: null,
4971        noSwiping: !0,
4972        noSwipingClass: "swiper-no-swiping",
4973        noSwipingSelector: null,
4974        passiveListeners: !0,
4975        maxBackfaceHiddenSlides: 10,
4976        containerModifierClass: "swiper-",
4977        slideClass: "swiper-slide",
4978        slideBlankClass: "swiper-slide-blank",
4979        slideActiveClass: "swiper-slide-active",
4980        slideVisibleClass: "swiper-slide-visible",
4981        slideFullyVisibleClass: "swiper-slide-fully-visible",
4982        slideNextClass: "swiper-slide-next",
4983        slidePrevClass: "swiper-slide-prev",
4984        wrapperClass: "swiper-wrapper",
4985        lazyPreloaderClass: "swiper-lazy-preloader",
4986        lazyPreloadPrevNext: 0,
4987        runCallbacksOnInit: !0,
4988        _emitClasses: !1
4989    };
4990
4991    function ee(e, t) {
4992        return function(s) {
4993            void 0 === s && (s = {});
4994            const a = Object.keys(s)[0],
4995                i = s[a];
4996            "object" == typeof i && null !== i ? (!0 === e[a] && (e[a] = {
4997                enabled: !0
4998            }), "navigation" === a && e[a] && e[a].enabled && !e[a].prevEl && !e[a].nextEl && (e[a].auto = !0), ["pagination", "scrollbar"].indexOf(a) >= 0 && e[a] && e[a].enabled && !e[a].el && (e[a].auto = !0), a in e && "enabled" in i ? ("object" != typeof e[a] || "enabled" in e[a] || (e[a].enabled = !0), e[a] || (e[a] = {
4999                enabled: !1
5000            }), p(t, s)) : p(t, s)) : p(t, s)
5001        }
5002    }
5003    const te = {
5004            eventsEmitter: z,
5005            update: H,
5006            translate: N,
5007            transition: {
5008                setTransition: function(e, t) {
5009                    const s = this;
5010                    s.params.cssMode || (s.wrapperEl.style.transitionDuration = `${e}ms`, s.wrapperEl.style.transitionDelay = 0 === e ? "0ms" : ""), s.emit("setTransition", e, t)
5011                },
5012                transitionStart: function(e, t) {
5013                    void 0 === e && (e = !0);
5014                    const s = this,
5015                        {
5016                            params: a
5017                        } = s;
5018                    a.cssMode || (a.autoHeight && s.updateAutoHeight(), X({
5019                        swiper: s,
5020                        runCallbacks: e,
5021                        direction: t,
5022                        step: "Start"
5023                    }))
5024                },
5025                transitionEnd: function(e, t) {
5026                    void 0 === e && (e = !0);
5027                    const s = this,
5028                        {
5029                            params: a
5030                        } = s;
5031                    s.animating = !1, a.cssMode || (s.setTransition(0), X({
5032                        swiper: s,
5033                        runCallbacks: e,
5034                        direction: t,
5035                        step: "End"
5036                    }))
5037                }
5038            },
5039            slide: B,
5040            loop: Y,
5041            grabCursor: {
5042                setGrabCursor: function(e) {
5043                    const t = this;
5044                    if (!t.params.simulateTouch || t.params.watchOverflow && t.isLocked || t.params.cssMode) return;
5045                    const s = "container" === t.params.touchEventsTarget ? t.el : t.wrapperEl;
5046                    t.isElement && (t.__preventObserver__ = !0), s.style.cursor = "move", s.style.cursor = e ? "grabbing" : "grab", t.isElement && requestAnimationFrame((() => {
5047                        t.__preventObserver__ = !1
5048                    }))
5049                },
5050                unsetGrabCursor: function() {
5051                    const e = this;
5052                    e.params.watchOverflow && e.isLocked || e.params.cssMode || (e.isElement && (e.__preventObserver__ = !0), e["container" === e.params.touchEventsTarget ? "el" : "wrapperEl"].style.cursor = "", e.isElement && requestAnimationFrame((() => {
5053                        e.__preventObserver__ = !1
5054                    })))
5055                }
5056            },
5057            events: {
5058                attachEvents: function() {
5059                    const e = this,
5060                        {
5061                            params: t
5062                        } = e;
5063                    e.onTouchStart = F.bind(e), e.onTouchMove = q.bind(e), e.onTouchEnd = V.bind(e), e.onDocumentTouchStart = K.bind(e), t.cssMode && (e.onScroll = j.bind(e)), e.onClick = W.bind(e), e.onLoad = U.bind(e), Z(e, "on")
5064                },
5065                detachEvents: function() {
5066                    Z(this, "off")
5067                }
5068            },
5069            breakpoints: {
5070                setBreakpoint: function() {
5071                    const e = this,
5072                        {
5073                            realIndex: t,
5074                            initialized: s,
5075                            params: a,
5076                            el: i
5077                        } = e,
5078                        r = a.breakpoints;
5079                    if (!r || r && 0 === Object.keys(r).length) return;
5080                    const n = e.getBreakpoint(r, e.params.breakpointsBase, e.el);
5081                    if (!n || e.currentBreakpoint === n) return;
5082                    const l = (n in r ? r[n] : void 0) || e.originalParams,
5083                        o = Q(e, a),
5084                        d = Q(e, l),
5085                        c = e.params.grabCursor,
5086                        u = l.grabCursor,
5087                        m = a.enabled;
5088                    o && !d ? (i.classList.remove(`${a.containerModifierClass}grid`, `${a.containerModifierClass}grid-column`), e.emitContainerClasses()) : !o && d && (i.classList.add(`${a.containerModifierClass}grid`), (l.grid.fill && "column" === l.grid.fill || !l.grid.fill && "column" === a.grid.fill) && i.classList.add(`${a.containerModifierClass}grid-column`), e.emitContainerClasses()), c && !u ? e.unsetGrabCursor() : !c && u && e.setGrabCursor(), ["navigation", "pagination", "scrollbar"].forEach((t => {
5089                        if (void 0 === l[t]) return;
5090                        const s = a[t] && a[t].enabled,
5091                            i = l[t] && l[t].enabled;
5092                        s && !i && e[t].disable(), !s && i && e[t].enable()
5093                    }));
5094                    const h = l.direction && l.direction !== a.direction,
5095                        f = a.loop && (l.slidesPerView !== a.slidesPerView || h),
5096                        g = a.loop;
5097                    h && s && e.changeDirection(), p(e.params, l);
5098                    const v = e.params.enabled,
5099                        w = e.params.loop;
5100                    Object.assign(e, {
5101                        allowTouchMove: e.params.allowTouchMove,
5102                        allowSlideNext: e.params.allowSlideNext,
5103                        allowSlidePrev: e.params.allowSlidePrev
5104                    }), m && !v ? e.disable() : !m && v && e.enable(), e.currentBreakpoint = n, e.emit("_beforeBreakpoint", l), s && (f ? (e.loopDestroy(), e.loopCreate(t), e.updateSlides()) : !g && w ? (e.loopCreate(t), e.updateSlides()) : g && !w && e.loopDestroy()), e.emit("breakpoint", l)
5105                },
5106                getBreakpoint: function(e, t, s) {
5107                    if (void 0 === t && (t = "window"), !e || "container" === t && !s) return;
5108                    let a = !1;
5109                    const i = r(),
5110                        n = "window" === t ? i.innerHeight : s.clientHeight,
5111                        l = Object.keys(e).map((e => {
5112                            if ("string" == typeof e && 0 === e.indexOf("@")) {
5113                                const t = parseFloat(e.substr(1));
5114                                return {
5115                                    value: n * t,
5116                                    point: e
5117                                }
5118                            }
5119                            return {
5120                                value: e,
5121                                point: e
5122                            }
5123                        }));
5124                    l.sort(((e, t) => parseInt(e.value, 10) - parseInt(t.value, 10)));
5125                    for (let e = 0; e < l.length; e += 1) {
5126                        const {
5127                            point: r,
5128                            value: n
5129                        } = l[e];
5130                        "window" === t ? i.matchMedia(`(min-width: ${n}px)`).matches && (a = r) : n <= s.clientWidth && (a = r)
5131                    }
5132                    return a || "max"
5133                }
5134            },
5135            checkOverflow: {
5136                checkOverflow: function() {
5137                    const e = this,
5138                        {
5139                            isLocked: t,
5140                            params: s
5141                        } = e,
5142                        {
5143                            slidesOffsetBefore: a
5144                        } = s;
5145                    if (a) {
5146                        const t = e.slides.length - 1,
5147                            s = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * a;
5148                        e.isLocked = e.size > s
5149                    } else e.isLocked = 1 === e.snapGrid.length;
5150                    !0 === s.allowSlideNext && (e.allowSlideNext = !e.isLocked), !0 === s.allowSlidePrev && (e.allowSlidePrev = !e.isLocked), t && t !== e.isLocked && (e.isEnd = !1), t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock")
5151                }
5152            },
5153            classes: {
5154                addClasses: function() {
5155                    const e = this,
5156                        {
5157                            classNames: t,
5158                            params: s,
5159                            rtl: a,
5160                            el: i,
5161                            device: r
5162                        } = e,
5163                        n = function(e, t) {
5164                            const s = [];
5165                            return e.forEach((e => {
5166                                "object" == typeof e ? Object.keys(e).forEach((a => {
5167                                    e[a] && s.push(t + a)
5168                                })) : "string" == typeof e && s.push(t + e)
5169                            })), s
5170                        }(["initialized", s.direction, {
5171                            "free-mode": e.params.freeMode && s.freeMode.enabled
5172                        }, {
5173                            autoheight: s.autoHeight
5174                        }, {
5175                            rtl: a
5176                        }, {
5177                            grid: s.grid && s.grid.rows > 1
5178                        }, {
5179                            "grid-column": s.grid && s.grid.rows > 1 && "column" === s.grid.fill
5180                        }, {
5181                            android: r.android
5182                        }, {
5183                            ios: r.ios
5184                        }, {
5185                            "css-mode": s.cssMode
5186                        }, {
5187                            centered: s.cssMode && s.centeredSlides
5188                        }, {
5189                            "watch-progress": s.watchSlidesProgress
5190                        }], s.containerModifierClass);
5191                    t.push(...n), i.classList.add(...t), e.emitContainerClasses()
5192                },
5193                removeClasses: function() {
5194                    const {
5195                        el: e,
5196                        classNames: t
5197                    } = this;
5198                    e && "string" != typeof e && (e.classList.remove(...t), this.emitContainerClasses())
5199                }
5200            }
5201        },
5202        se = {};
5203    class ae {
5204        constructor() {
5205            let e, t;
5206            for (var s = arguments.length, i = new Array(s), r = 0; r < s; r++) i[r] = arguments[r];
5207            1 === i.length && i[0].constructor && "Object" === Object.prototype.toString.call(i[0]).slice(8, -1) ? t = i[0] : [e, t] = i, t || (t = {}), t = p({}, t), e && !t.el && (t.el = e);
5208            const n = a();
5209            if (t.el && "string" == typeof t.el && n.querySelectorAll(t.el).length > 1) {
5210                const e = [];
5211                return n.querySelectorAll(t.el).forEach((s => {
5212                    const a = p({}, t, {
5213                        el: s
5214                    });
5215                    e.push(new ae(a))
5216                })), e
5217            }
5218            const l = this;
5219            l.__swiper__ = !0, l.support = L(), l.device = I({
5220                userAgent: t.userAgent
5221            }), l.browser = A(), l.eventsListeners = {}, l.eventsAnyListeners = [], l.modules = [...l.__modules__], t.modules && Array.isArray(t.modules) && l.modules.push(...t.modules);
5222            const o = {};
5223            l.modules.forEach((e => {
5224                e({
5225                    params: t,
5226                    swiper: l,
5227                    extendParams: ee(t, o),
5228                    on: l.on.bind(l),
5229                    once: l.once.bind(l),
5230                    off: l.off.bind(l),
5231                    emit: l.emit.bind(l)
5232                })
5233            }));
5234            const d = p({}, J, o);
5235            return l.params = p({}, d, se, t), l.originalParams = p({}, l.params), l.passedParams = p({}, t), l.params && l.params.on && Object.keys(l.params.on).forEac
vendor: 10,371 bytes, lines 5235-5451
5235h((e => {
5236                l.on(e, l.params.on[e])
5237            })), l.params && l.params.onAny && l.onAny(l.params.onAny), Object.assign(l, {
5238                enabled: l.params.enabled,
5239                el: e,
5240                classNames: [],
5241                slides: [],
5242                slidesGrid: [],
5243                snapGrid: [],
5244                slidesSizesGrid: [],
5245                isHorizontal: () => "horizontal" === l.params.direction,
5246                isVertical: () => "vertical" === l.params.direction,
5247                activeIndex: 0,
5248                realIndex: 0,
5249                isBeginning: !0,
5250                isEnd: !1,
5251                translate: 0,
5252                previousTranslate: 0,
5253                progress: 0,
5254                velocity: 0,
5255                animating: !1,
5256                cssOverflowAdjustment() {
5257                    return Math.trunc(this.translate / 2 ** 23) * 2 ** 23
5258                },
5259                allowSlideNext: l.params.allowSlideNext,
5260                allowSlidePrev: l.params.allowSlidePrev,
5261                touchEventsData: {
5262                    isTouched: void 0,
5263                    isMoved: void 0,
5264                    allowTouchCallbacks: void 0,
5265                    touchStartTime: void 0,
5266                    isScrolling: void 0,
5267                    currentTranslate: void 0,
5268                    startTranslate: void 0,
5269                    allowThresholdMove: void 0,
5270                    focusableElements: l.params.focusableElements,
5271                    lastClickTime: 0,
5272                    clickTimeout: void 0,
5273                    velocities: [],
5274                    allowMomentumBounce: void 0,
5275                    startMoving: void 0,
5276                    pointerId: null,
5277                    touchId: null
5278                },
5279                allowClick: !0,
5280                allowTouchMove: l.params.allowTouchMove,
5281                touches: {
5282                    startX: 0,
5283                    startY: 0,
5284                    currentX: 0,
5285                    currentY: 0,
5286                    diff: 0
5287                },
5288                imagesToLoad: [],
5289                imagesLoaded: 0
5290            }), l.emit("_swiper"), l.params.init && l.init(), l
5291        }
5292        getDirectionLabel(e) {
5293            return this.isHorizontal() ? e : {
5294                width: "height",
5295                "margin-top": "margin-left",
5296                "margin-bottom ": "margin-right",
5297                "margin-left": "margin-top",
5298                "margin-right": "margin-bottom",
5299                "padding-left": "padding-top",
5300                "padding-right": "padding-bottom",
5301                marginRight: "marginBottom"
5302            } [e]
5303        }
5304        getSlideIndex(e) {
5305            const {
5306                slidesEl: t,
5307                params: s
5308            } = this, a = y(f(t, `.${s.slideClass}, swiper-slide`)[0]);
5309            return y(e) - a
5310        }
5311        getSlideIndexByData(e) {
5312            return this.getSlideIndex(this.slides.filter((t => 1 * t.getAttribute("data-swiper-slide-index") === e))[0])
5313        }
5314        recalcSlides() {
5315            const {
5316                slidesEl: e,
5317                params: t
5318            } = this;
5319            this.slides = f(e, `.${t.slideClass}, swiper-slide`)
5320        }
5321        enable() {
5322            const e = this;
5323            e.enabled || (e.enabled = !0, e.params.grabCursor && e.setGrabCursor(), e.emit("enable"))
5324        }
5325        disable() {
5326            const e = this;
5327            e.enabled && (e.enabled = !1, e.params.grabCursor && e.unsetGrabCursor(), e.emit("disable"))
5328        }
5329        setProgress(e, t) {
5330            const s = this;
5331            e = Math.min(Math.max(e, 0), 1);
5332            const a = s.minTranslate(),
5333                i = (s.maxTranslate() - a) * e + a;
5334            s.translateTo(i, void 0 === t ? 0 : t), s.updateActiveIndex(), s.updateSlidesClasses()
5335        }
5336        emitContainerClasses() {
5337            const e = this;
5338            if (!e.params._emitClasses || !e.el) return;
5339            const t = e.el.className.split(" ").filter((t => 0 === t.indexOf("swiper") || 0 === t.indexOf(e.params.containerModifierClass)));
5340            e.emit("_containerClasses", t.join(" "))
5341        }
5342        getSlideClasses(e) {
5343            const t = this;
5344            return t.destroyed ? "" : e.className.split(" ").filter((e => 0 === e.indexOf("swiper-slide") || 0 === e.indexOf(t.params.slideClass))).join(" ")
5345        }
5346        emitSlidesClasses() {
5347            const e = this;
5348            if (!e.params._emitClasses || !e.el) return;
5349            const t = [];
5350            e.slides.forEach((s => {
5351                const a = e.getSlideClasses(s);
5352                t.push({
5353                    slideEl: s,
5354                    classNames: a
5355                }), e.emit("_slideClass", s, a)
5356            })), e.emit("_slideClasses", t)
5357        }
5358        slidesPerViewDynamic(e, t) {
5359            void 0 === e && (e = "current"), void 0 === t && (t = !1);
5360            const {
5361                params: s,
5362                slides: a,
5363                slidesGrid: i,
5364                slidesSizesGrid: r,
5365                size: n,
5366                activeIndex: l
5367            } = this;
5368            let o = 1;
5369            if ("number" == typeof s.slidesPerView) return s.slidesPerView;
5370            if (s.centeredSlides) {
5371                let e, t = a[l] ? Math.ceil(a[l].swiperSlideSize) : 0;
5372                for (let s = l + 1; s < a.length; s += 1) a[s] && !e && (t += Math.ceil(a[s].swiperSlideSize), o += 1, t > n && (e = !0));
5373                for (let s = l - 1; s >= 0; s -= 1) a[s] && !e && (t += a[s].swiperSlideSize, o += 1, t > n && (e = !0))
5374            } else if ("current" === e)
5375                for (let e = l + 1; e < a.length; e += 1) {
5376                    (t ? i[e] + r[e] - i[l] < n : i[e] - i[l] < n) && (o += 1)
5377                } else
5378                    for (let e = l - 1; e >= 0; e -= 1) {
5379                        i[l] - i[e] < n && (o += 1)
5380                    }
5381            return o
5382        }
5383        update() {
5384            const e = this;
5385            if (!e || e.destroyed) return;
5386            const {
5387                snapGrid: t,
5388                params: s
5389            } = e;
5390
5391            function a() {
5392                const t = e.rtlTranslate ? -1 * e.translate : e.translate,
5393                    s = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
5394                e.setTranslate(s), e.updateActiveIndex(), e.updateSlidesClasses()
5395            }
5396            let i;
5397            if (s.breakpoints && e.setBreakpoint(), [...e.el.querySelectorAll('[loading="lazy"]')].forEach((t => {
5398                    t.complete && O(e, t)
5399                })), e.updateSize(), e.updateSlides(), e.updateProgress(), e.updateSlidesClasses(), s.freeMode && s.freeMode.enabled && !s.cssMode) a(), s.autoHeight && e.updateAutoHeight();
5400            else {
5401                if (("auto" === s.slidesPerView || s.slidesPerView > 1) && e.isEnd && !s.centeredSlides) {
5402                    const t = e.virtual && s.virtual.enabled ? e.virtual.slides : e.slides;
5403                    i = e.slideTo(t.length - 1, 0, !1, !0)
5404                } else i = e.slideTo(e.activeIndex, 0, !1, !0);
5405                i || a()
5406            }
5407            s.watchOverflow && t !== e.snapGrid && e.checkOverflow(), e.emit("update")
5408        }
5409        changeDirection(e, t) {
5410            void 0 === t && (t = !0);
5411            const s = this,
5412                a = s.params.direction;
5413            return e || (e = "horizontal" === a ? "vertical" : "horizontal"), e === a || "horizontal" !== e && "vertical" !== e || (s.el.classList.remove(`${s.params.containerModifierClass}${a}`), s.el.classList.add(`${s.params.containerModifierClass}${e}`), s.emitContainerClasses(), s.params.direction = e, s.slides.forEach((t => {
5414                "vertical" === e ? t.style.width = "" : t.style.height = ""
5415            })), s.emit("changeDirection"), t && s.update()), s
5416        }
5417        changeLanguageDirection(e) {
5418            const t = this;
5419            t.rtl && "rtl" === e || !t.rtl && "ltr" === e || (t.rtl = "rtl" === e, t.rtlTranslate = "horizontal" === t.params.direction && t.rtl, t.rtl ? (t.el.classList.add(`${t.params.containerModifierClass}rtl`), t.el.dir = "rtl") : (t.el.classList.remove(`${t.params.containerModifierClass}rtl`), t.el.dir = "ltr"), t.update())
5420        }
5421        mount(e) {
5422            const t = this;
5423            if (t.mounted) return !0;
5424            let s = e || t.params.el;
5425            if ("string" == typeof s && (s = document.querySelector(s)), !s) return !1;
5426            s.swiper = t, s.parentNode && s.parentNode.host && s.parentNode.host.nodeName === t.params.swiperElementNodeName.toUpperCase() && (t.isElement = !0);
5427            const a = () => `.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;
5428            let i = (() => {
5429                if (s && s.shadowRoot && s.shadowRoot.querySelector) {
5430                    return s.shadowRoot.querySelector(a())
5431                }
5432                return f(s, a())[0]
5433            })();
5434            return !i && t.params.createElements && (i = v("div", t.params.wrapperClass), s.append(i), f(s, `.${t.params.slideClass}`).forEach((e => {
5435                i.append(e)
5436            }))), Object.assign(t, {
5437                el: s,
5438                wrapperEl: i,
5439                slidesEl: t.isElement && !s.parentNode.host.slideSlots ? s.parentNode.host : i,
5440                hostEl: t.isElement ? s.parentNode.host : s,
5441                mounted: !0,
5442                rtl: "rtl" === s.dir.toLowerCase() || "rtl" === b(s, "direction"),
5443                rtlTranslate: "horizontal" === t.params.direction && ("rtl" === s.dir.toLowerCase() || "rtl" === b(s, "direction")),
5444                wrongRTL: "-webkit-box" === b(i, "display")
5445            }), !0
5446        }
5447        init(e) {
5448            const t = this;
5449            if (t.initialized) return t;
5450            if (!1 === t.mount(e)) return t;
5451            t.emit("beforeInit"), t.params.breakpoints && t.setBreakpoint(), t.addClasses(), t.updateSize(), t.updateSlides(), t.params.watchOverflow && t.checkOverflow(), t.params.grabCursor && t.enabled && t.setGrabCursor(
vendor: 4,551 bytes, lines 5451-5554
5451), t.params.loop && t.virtual && t.params.virtual.enabled ? t.slideTo(t.params.initialSlide + t.virtual.slidesBefore, 0, t.params.runCallbacksOnInit, !1, !0) : t.slideTo(t.params.initialSlide, 0, t.params.runCallbacksOnInit, !1, !0), t.params.loop && t.loopCreate(), t.attachEvents();
5452            const s = [...t.el.querySelectorAll('[loading="lazy"]')];
5453            return t.isElement && s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')), s.forEach((e => {
5454                e.complete ? O(t, e) : e.addEventListener("load", (e => {
5455                    O(t, e.target)
5456                }))
5457            })), G(t), t.initialized = !0, G(t), t.emit("init"), t.emit("afterInit"), t
5458        }
5459        destroy(e, t) {
5460            void 0 === e && (e = !0), void 0 === t && (t = !0);
5461            const s = this,
5462                {
5463                    params: a,
5464                    el: i,
5465                    wrapperEl: r,
5466                    slides: n
5467                } = s;
5468            return void 0 === s.params || s.destroyed || (s.emit("beforeDestroy"), s.initialized = !1, s.detachEvents(), a.loop && s.loopDestroy(), t && (s.removeClasses(), i && "string" != typeof i && i.removeAttribute("style"), r && r.removeAttribute("style"), n && n.length && n.forEach((e => {
5469                e.classList.remove(a.slideVisibleClass, a.slideFullyVisibleClass, a.slideActiveClass, a.slideNextClass, a.slidePrevClass), e.removeAttribute("style"), e.removeAttribute("data-swiper-slide-index")
5470            }))), s.emit("destroy"), Object.keys(s.eventsListeners).forEach((e => {
5471                s.off(e)
5472            })), !1 !== e && (s.el && "string" != typeof s.el && (s.el.swiper = null), function(e) {
5473                const t = e;
5474                Object.keys(t).forEach((e => {
5475                    try {
5476                        t[e] = null
5477                    } catch (e) {}
5478                    try {
5479                        delete t[e]
5480                    } catch (e) {}
5481                }))
5482            }(s)), s.destroyed = !0), null
5483        }
5484        static extendDefaults(e) {
5485            p(se, e)
5486        }
5487        static get extendedDefaults() {
5488            return se
5489        }
5490        static get defaults() {
5491            return J
5492        }
5493        static installModule(e) {
5494            ae.prototype.__modules__ || (ae.prototype.__modules__ = []);
5495            const t = ae.prototype.__modules__;
5496            "function" == typeof e && t.indexOf(e) < 0 && t.push(e)
5497        }
5498        static use(e) {
5499            return Array.isArray(e) ? (e.forEach((e => ae.installModule(e))), ae) : (ae.installModule(e), ae)
5500        }
5501    }
5502
5503    function ie(e, t, s, a) {
5504        return e.params.createElements && Object.keys(a).forEach((i => {
5505            if (!s[i] && !0 === s.auto) {
5506                let r = f(e.el, `.${a[i]}`)[0];
5507                r || (r = v("div", a[i]), r.className = a[i], e.el.append(r)), s[i] = r, t[i] = r
5508            }
5509        })), s
5510    }
5511
5512    function re(e) {
5513        return void 0 === e && (e = ""), `.${e.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}`
5514    }
5515
5516    function ne(e) {
5517        const t = this,
5518            {
5519                params: s,
5520                slidesEl: a
5521            } = t;
5522        s.loop && t.loopDestroy();
5523        const i = e => {
5524            if ("string" == typeof e) {
5525                const t = document.createElement("div");
5526                t.innerHTML = e, a.append(t.children[0]), t.innerHTML = ""
5527            } else a.append(e)
5528        };
5529        if ("object" == typeof e && "length" in e)
5530            for (let t = 0; t < e.length; t += 1) e[t] && i(e[t]);
5531        else i(e);
5532        t.recalcSlides(), s.loop && t.loopCreate(), s.observer && !t.isElement || t.update()
5533    }
5534
5535    function le(e) {
5536        const t = this,
5537            {
5538                params: s,
5539                activeIndex: a,
5540                slidesEl: i
5541            } = t;
5542        s.loop && t.loopDestroy();
5543        let r = a + 1;
5544        const n = e => {
5545            if ("string" == typeof e) {
5546                const t = document.createElement("div");
5547                t.innerHTML = e, i.prepend(t.children[0]), t.innerHTML = ""
5548            } else i.prepend(e)
5549        };
5550        if ("object" == typeof e && "length" in e) {
5551            for (let t = 0; t < e.length; t += 1) e[t] && n(e[t]);
5552            r = a + e.length
5553        } else n(e);
5554        t.recalcSlides(), s.loop && t.loopCreate(), s.observer && !t.isElement || t.update(
vendor: 31,636 bytes, lines 5554-6249
5554), t.slideTo(r, 0, !1)
5555    }
5556
5557    function oe(e, t) {
5558        const s = this,
5559            {
5560                params: a,
5561                activeIndex: i,
5562                slidesEl: r
5563            } = s;
5564        let n = i;
5565        a.loop && (n -= s.loopedSlides, s.loopDestroy(), s.recalcSlides());
5566        const l = s.slides.length;
5567        if (e <= 0) return void s.prependSlide(t);
5568        if (e >= l) return void s.appendSlide(t);
5569        let o = n > e ? n + 1 : n;
5570        const d = [];
5571        for (let t = l - 1; t >= e; t -= 1) {
5572            const e = s.slides[t];
5573            e.remove(), d.unshift(e)
5574        }
5575        if ("object" == typeof t && "length" in t) {
5576            for (let e = 0; e < t.length; e += 1) t[e] && r.append(t[e]);
5577            o = n > e ? n + t.length : n
5578        } else r.append(t);
5579        for (let e = 0; e < d.length; e += 1) r.append(d[e]);
5580        s.recalcSlides(), a.loop && s.loopCreate(), a.observer && !s.isElement || s.update(), a.loop ? s.slideTo(o + s.loopedSlides, 0, !1) : s.slideTo(o, 0, !1)
5581    }
5582
5583    function de(e) {
5584        const t = this,
5585            {
5586                params: s,
5587                activeIndex: a
5588            } = t;
5589        let i = a;
5590        s.loop && (i -= t.loopedSlides, t.loopDestroy());
5591        let r, n = i;
5592        if ("object" == typeof e && "length" in e) {
5593            for (let s = 0; s < e.length; s += 1) r = e[s], t.slides[r] && t.slides[r].remove(), r < n && (n -= 1);
5594            n = Math.max(n, 0)
5595        } else r = e, t.slides[r] && t.slides[r].remove(), r < n && (n -= 1), n = Math.max(n, 0);
5596        t.recalcSlides(), s.loop && t.loopCreate(), s.observer && !t.isElement || t.update(), s.loop ? t.slideTo(n + t.loopedSlides, 0, !1) : t.slideTo(n, 0, !1)
5597    }
5598
5599    function ce() {
5600        const e = this,
5601            t = [];
5602        for (let s = 0; s < e.slides.length; s += 1) t.push(s);
5603        e.removeSlide(t)
5604    }
5605
5606    function pe(e) {
5607        const {
5608            effect: t,
5609            swiper: s,
5610            on: a,
5611            setTranslate: i,
5612            setTransition: r,
5613            overwriteParams: n,
5614            perspective: l,
5615            recreateShadows: o,
5616            getEffectParams: d
5617        } = e;
5618        let c;
5619        a("beforeInit", (() => {
5620            if (s.params.effect !== t) return;
5621            s.classNames.push(`${s.params.containerModifierClass}${t}`), l && l() && s.classNames.push(`${s.params.containerModifierClass}3d`);
5622            const e = n ? n() : {};
5623            Object.assign(s.params, e), Object.assign(s.originalParams, e)
5624        })), a("setTranslate", (() => {
5625            s.params.effect === t && i()
5626        })), a("setTransition", ((e, a) => {
5627            s.params.effect === t && r(a)
5628        })), a("transitionEnd", (() => {
5629            if (s.params.effect === t && o) {
5630                if (!d || !d().slideShadows) return;
5631                s.slides.forEach((e => {
5632                    e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e => e.remove()))
5633                })), o()
5634            }
5635        })), a("virtualUpdate", (() => {
5636            s.params.effect === t && (s.slides.length || (c = !0), requestAnimationFrame((() => {
5637                c && s.slides && s.slides.length && (i(), c = !1)
5638            })))
5639        }))
5640    }
5641
5642    function ue(e, t) {
5643        const s = h(t);
5644        return s !== t && (s.style.backfaceVisibility = "hidden", s.style["-webkit-backface-visibility"] = "hidden"), s
5645    }
5646
5647    function me(e) {
5648        let {
5649            swiper: t,
5650            duration: s,
5651            transformElements: a,
5652            allSlides: i
5653        } = e;
5654        const {
5655            activeIndex: r
5656        } = t;
5657        if (t.params.virtualTranslate && 0 !== s) {
5658            let e, s = !1;
5659            e = i ? a : a.filter((e => {
5660                const s = e.classList.contains("swiper-slide-transform") ? (e => {
5661                    if (!e.parentElement) return t.slides.filter((t => t.shadowRoot && t.shadowRoot === e.parentNode))[0];
5662                    return e.parentElement
5663                })(e) : e;
5664                return t.getSlideIndex(s) === r
5665            })), e.forEach((e => {
5666                x(e, (() => {
5667                    if (s) return;
5668                    if (!t || t.destroyed) return;
5669                    s = !0, t.animating = !1;
5670                    const e = new window.CustomEvent("transitionend", {
5671                        bubbles: !0,
5672                        cancelable: !0
5673                    });
5674                    t.wrapperEl.dispatchEvent(e)
5675                }))
5676            }))
5677        }
5678    }
5679
5680    function he(e, t, s) {
5681        const a = `swiper-slide-shadow${s?`-${s}`:""}${e?` swiper-slide-shadow-${e}`:""}`,
5682            i = h(t);
5683        let r = i.querySelector(`.${a.split(" ").join(".")}`);
5684        return r || (r = v("div", a.split(" ")), i.append(r)), r
5685    }
5686    Object.keys(te).forEach((e => {
5687        Object.keys(te[e]).forEach((t => {
5688            ae.prototype[t] = te[e][t]
5689        }))
5690    })), ae.use([function(e) {
5691        let {
5692            swiper: t,
5693            on: s,
5694            emit: a
5695        } = e;
5696        const i = r();
5697        let n = null,
5698            l = null;
5699        const o = () => {
5700                t && !t.destroyed && t.initialized && (a("beforeResize"), a("resize"))
5701            },
5702            d = () => {
5703                t && !t.destroyed && t.initialized && a("orientationchange")
5704            };
5705        s("init", (() => {
5706            t.params.resizeObserver && void 0 !== i.ResizeObserver ? t && !t.destroyed && t.initialized && (n = new ResizeObserver((e => {
5707                l = i.requestAnimationFrame((() => {
5708                    const {
5709                        width: s,
5710                        height: a
5711                    } = t;
5712                    let i = s,
5713                        r = a;
5714                    e.forEach((e => {
5715                        let {
5716                            contentBoxSize: s,
5717                            contentRect: a,
5718                            target: n
5719                        } = e;
5720                        n && n !== t.el || (i = a ? a.width : (s[0] || s).inlineSize, r = a ? a.height : (s[0] || s).blockSize)
5721                    })), i === s && r === a || o()
5722                }))
5723            })), n.observe(t.el)) : (i.addEventListener("resize", o), i.addEventListener("orientationchange", d))
5724        })), s("destroy", (() => {
5725            l && i.cancelAnimationFrame(l), n && n.unobserve && t.el && (n.unobserve(t.el), n = null), i.removeEventListener("resize", o), i.removeEventListener("orientationchange", d)
5726        }))
5727    }, function(e) {
5728        let {
5729            swiper: t,
5730            extendParams: s,
5731            on: a,
5732            emit: i
5733        } = e;
5734        const n = [],
5735            l = r(),
5736            o = function(e, s) {
5737                void 0 === s && (s = {});
5738                const a = new(l.MutationObserver || l.WebkitMutationObserver)((e => {
5739                    if (t.__preventObserver__) return;
5740                    if (1 === e.length) return void i("observerUpdate", e[0]);
5741                    const s = function() {
5742                        i("observerUpdate", e[0])
5743                    };
5744                    l.requestAnimationFrame ? l.requestAnimationFrame(s) : l.setTimeout(s, 0)
5745                }));
5746                a.observe(e, {
5747                    attributes: void 0 === s.attributes || s.attributes,
5748                    childList: void 0 === s.childList || s.childList,
5749                    characterData: void 0 === s.characterData || s.characterData
5750                }), n.push(a)
5751            };
5752        s({
5753            observer: !1,
5754            observeParents: !1,
5755            observeSlideChildren: !1
5756        }), a("init", (() => {
5757            if (t.params.observer) {
5758                if (t.params.observeParents) {
5759                    const e = E(t.hostEl);
5760                    for (let t = 0; t < e.length; t += 1) o(e[t])
5761                }
5762                o(t.hostEl, {
5763                    childList: t.params.observeSlideChildren
5764                }), o(t.wrapperEl, {
5765                    attributes: !1
5766                })
5767            }
5768        })), a("destroy", (() => {
5769            n.forEach((e => {
5770                e.disconnect()
5771            })), n.splice(0, n.length)
5772        }))
5773    }]);
5774    const fe = [function(e) {
5775        let t, {
5776            swiper: s,
5777            extendParams: i,
5778            on: r,
5779            emit: n
5780        } = e;
5781        i({
5782            virtual: {
5783                enabled: !1,
5784                slides: [],
5785                cache: !0,
5786                renderSlide: null,
5787                renderExternal: null,
5788                renderExternalUpdate: !0,
5789                addSlidesBefore: 0,
5790                addSlidesAfter: 0
5791            }
5792        });
5793        const l = a();
5794        s.virtual = {
5795            cache: {},
5796            from: void 0,
5797            to: void 0,
5798            slides: [],
5799            offset: 0,
5800            slidesGrid: []
5801        };
5802        const o = l.createElement("div");
5803
5804        function d(e, t) {
5805            const a = s.params.virtual;
5806            if (a.cache && s.virtual.cache[t]) return s.virtual.cache[t];
5807            let i;
5808            return a.renderSlide ? (i = a.renderSlide.call(s, e, t), "string" == typeof i && (o.innerHTML = i, i = o.children[0])) : i = s.isElement ? v("swiper-slide") : v("div", s.params.slideClass), i.setAttribute("data-swiper-slide-index", t), a.renderSlide || (i.innerHTML = e), a.cache && (s.virtual.cache[t] = i), i
5809        }
5810
5811        function c(e, t) {
5812            const {
5813                slidesPerView: a,
5814                slidesPerGroup: i,
5815                centeredSlides: r,
5816                loop: l,
5817                initialSlide: o
5818            } = s.params;
5819            if (t && !l && o > 0) return;
5820            const {
5821                addSlidesBefore: c,
5822                addSlidesAfter: p
5823            } = s.params.virtual, {
5824                from: u,
5825                to: m,
5826                slides: h,
5827                slidesGrid: g,
5828                offset: v
5829            } = s.virtual;
5830            s.params.cssMode || s.updateActiveIndex();
5831            const w = s.activeIndex || 0;
5832            let b, y, E;
5833            b = s.rtlTranslate ? "right" : s.isHorizontal() ? "left" : "top", r ? (y = Math.floor(a / 2) + i + p, E = Math.floor(a / 2) + i + c) : (y = a + (i - 1) + p, E = (l ? a : i) + c);
5834            let x = w - E,
5835                S = w + y;
5836            l || (x = Math.max(x, 0), S = Math.min(S, h.length - 1));
5837            let T = (s.slidesGrid[x] || 0) - (s.slidesGrid[0] || 0);
5838
5839            function M() {
5840                s.updateSlides(), s.updateProgress(), s.updateSlidesClasses(), n("virtualUpdate")
5841            }
5842            if (l && w >= E ? (x -= E, r || (T += s.slidesGrid[0])) : l && w < E && (x = -E, r && (T += s.slidesGrid[0])), Object.assign(s.virtual, {
5843                    from: x,
5844                    to: S,
5845                    offset: T,
5846                    slidesGrid: s.slidesGrid,
5847                    slidesBefore: E,
5848                    slidesAfter: y
5849                }), u === x && m === S && !e) return s.slidesGrid !== g && T !== v && s.slides.forEach((e => {
5850                e.style[b] = T - Math.abs(s.cssOverflowAdjustment()) + "px"
5851            })), s.updateProgress(), void n("virtualUpdate");
5852            if (s.params.virtual.renderExternal) return s.params.virtual.renderExternal.call(s, {
5853                offset: T,
5854                from: x,
5855                to: S,
5856                slides: function() {
5857                    const e = [];
5858                    for (let t = x; t <= S; t += 1) e.push(h[t]);
5859                    return e
5860                }()
5861            }), void(s.params.virtual.renderExternalUpdate ? M() : n("virtualUpdate"));
5862            const C = [],
5863                P = [],
5864                L = e => {
5865                    let t = e;
5866                    return e < 0 ? t = h.length + e : t >= h.length && (t -= h.length), t
5867                };
5868            if (e) s.slides.filter((e => e.matches(`.${s.params.slideClass}, swiper-slide`))).forEach((e => {
5869                e.remove()
5870            }));
5871            else
5872                for (let e = u; e <= m; e += 1)
5873                    if (e < x || e > S) {
5874                        const t = L(e);
5875                        s.slides.filter((e => e.matches(`.${s.params.slideClass}[data-swiper-slide-index="${t}"], swiper-slide[data-swiper-slide-index="${t}"]`))).forEach((e => {
5876                            e.remove()
5877                        }))
5878                    } const I = l ? -h.length : 0,
5879                A = l ? 2 * h.length : h.length;
5880            for (let t = I; t < A; t += 1)
5881                if (t >= x && t <= S) {
5882                    const s = L(t);
5883                    void 0 === m || e ? P.push(s) : (t > m && P.push(s), t < u && C.push(s))
5884                } if (P.forEach((e => {
5885                    s.slidesEl.append(d(h[e], e))
5886                })), l)
5887                for (let e = C.length - 1; e >= 0; e -= 1) {
5888                    const t = C[e];
5889                    s.slidesEl.prepend(d(h[t], t))
5890                } else C.sort(((e, t) => t - e)), C.forEach((e => {
5891                    s.slidesEl.prepend(d(h[e], e))
5892                }));
5893            f(s.slidesEl, ".swiper-slide, swiper-slide").forEach((e => {
5894                e.style[b] = T - Math.abs(s.cssOverflowAdjustment()) + "px"
5895            })), M()
5896        }
5897        r("beforeInit", (() => {
5898            if (!s.params.virtual.enabled) return;
5899            let e;
5900            if (void 0 === s.passedParams.virtual.slides) {
5901                const t = [...s.slidesEl.children].filter((e => e.matches(`.${s.params.slideClass}, swiper-slide`)));
5902                t && t.length && (s.virtual.slides = [...t], e = !0, t.forEach(((e, t) => {
5903                    e.setAttribute("data-swiper-slide-index", t), s.virtual.cache[t] = e, e.remove()
5904                })))
5905            }
5906            e || (s.virtual.slides = s.params.virtual.slides), s.classNames.push(`${s.params.containerModifierClass}virtual`), s.params.watchSlidesProgress = !0, s.originalParams.watchSlidesProgress = !0, c(!1, !0)
5907        })), r("setTranslate", (() => {
5908            s.params.virtual.enabled && (s.params.cssMode && !s._immediateVirtual ? (clearTimeout(t), t = setTimeout((() => {
5909                c()
5910            }), 100)) : c())
5911        })), r("init update resize", (() => {
5912            s.params.virtual.enabled && s.params.cssMode && u(s.wrapperEl, "--swiper-virtual-size", `${s.virtualSize}px`)
5913        })), Object.assign(s.virtual, {
5914            appendSlide: function(e) {
5915                if ("object" == typeof e && "length" in e)
5916                    for (let t = 0; t < e.length; t += 1) e[t] && s.virtual.slides.push(e[t]);
5917                else s.virtual.slides.push(e);
5918                c(!0)
5919            },
5920            prependSlide: function(e) {
5921                const t = s.activeIndex;
5922                let a = t + 1,
5923                    i = 1;
5924                if (Array.isArray(e)) {
5925                    for (let t = 0; t < e.length; t += 1) e[t] && s.virtual.slides.unshift(e[t]);
5926                    a = t + e.length, i = e.length
5927                } else s.virtual.slides.unshift(e);
5928                if (s.params.virtual.cache) {
5929                    const e = s.virtual.cache,
5930                        t = {};
5931                    Object.keys(e).forEach((s => {
5932                        const a = e[s],
5933                            r = a.getAttribute("data-swiper-slide-index");
5934                        r && a.setAttribute("data-swiper-slide-index", parseInt(r, 10) + i), t[parseInt(s, 10) + i] = a
5935                    })), s.virtual.cache = t
5936                }
5937                c(!0), s.slideTo(a, 0)
5938            },
5939            removeSlide: function(e) {
5940                if (null == e) return;
5941                let t = s.activeIndex;
5942                if (Array.isArray(e))
5943                    for (let a = e.length - 1; a >= 0; a -= 1) s.params.virtual.cache && (delete s.virtual.cache[e[a]], Object.keys(s.virtual.cache).forEach((t => {
5944                        t > e && (s.virtual.cache[t - 1] = s.virtual.cache[t], s.virtual.cache[t - 1].setAttribute("data-swiper-slide-index", t - 1), delete s.virtual.cache[t])
5945                    }))), s.virtual.slides.splice(e[a], 1), e[a] < t && (t -= 1), t = Math.max(t, 0);
5946                else s.params.virtual.cache && (delete s.virtual.cache[e], Object.keys(s.virtual.cache).forEach((t => {
5947                    t > e && (s.virtual.cache[t - 1] = s.virtual.cache[t], s.virtual.cache[t - 1].setAttribute("data-swiper-slide-index", t - 1), delete s.virtual.cache[t])
5948                }))), s.virtual.slides.splice(e, 1), e < t && (t -= 1), t = Math.max(t, 0);
5949                c(!0), s.slideTo(t, 0)
5950            },
5951            removeAllSlides: function() {
5952                s.virtual.slides = [], s.params.virtual.cache && (s.virtual.cache = {}), c(!0), s.slideTo(0, 0)
5953            },
5954            update: c
5955        })
5956    }, function(e) {
5957        let {
5958            swiper: t,
5959            extendParams: s,
5960            on: i,
5961            emit: n
5962        } = e;
5963        const l = a(),
5964            o = r();
5965
5966        function d(e) {
5967            if (!t.enabled) return;
5968            const {
5969                rtlTranslate: s
5970            } = t;
5971            let a = e;
5972            a.originalEvent && (a = a.originalEvent);
5973            const i = a.keyCode || a.charCode,
5974                r = t.params.keyboard.pageUpDown,
5975                d = r && 33 === i,
5976                c = r && 34 === i,
5977                p = 37 === i,
5978                u = 39 === i,
5979                m = 38 === i,
5980                h = 40 === i;
5981            if (!t.allowSlideNext && (t.isHorizontal() && u || t.isVertical() && h || c)) return !1;
5982            if (!t.allowSlidePrev && (t.isHorizontal() && p || t.isVertical() && m || d)) return !1;
5983            if (!(a.shiftKey || a.altKey || a.ctrlKey || a.metaKey || l.activeElement && l.activeElement.nodeName && ("input" === l.activeElement.nodeName.toLowerCase() || "textarea" === l.activeElement.nodeName.toLowerCase()))) {
5984                if (t.params.keyboard.onlyInViewport && (d || c || p || u || m || h)) {
5985                    let e = !1;
5986                    if (E(t.el, `.${t.params.slideClass}, swiper-slide`).length > 0 && 0 === E(t.el, `.${t.params.slideActiveClass}`).length) return;
5987                    const a = t.el,
5988                        i = a.clientWidth,
5989                        r = a.clientHeight,
5990                        n = o.innerWidth,
5991                        l = o.innerHeight,
5992                        d = w(a);
5993                    s && (d.left -= a.scrollLeft);
5994                    const c = [
5995                        [d.left, d.top],
5996                        [d.left + i, d.top],
5997                        [d.left, d.top + r],
5998                        [d.left + i, d.top + r]
5999                    ];
6000                    for (let t = 0; t < c.length; t += 1) {
6001                        const s = c[t];
6002                        if (s[0] >= 0 && s[0] <= n && s[1] >= 0 && s[1] <= l) {
6003                            if (0 === s[0] && 0 === s[1]) continue;
6004                            e = !0
6005                        }
6006                    }
6007                    if (!e) return
6008                }
6009                t.isHorizontal() ? ((d || c || p || u) && (a.preventDefault ? a.preventDefault() : a.returnValue = !1), ((c || u) && !s || (d || p) && s) && t.slideNext(), ((d || p) && !s || (c || u) && s) && t.slidePrev()) : ((d || c || m || h) && (a.preventDefault ? a.preventDefault() : a.returnValue = !1), (c || h) && t.slideNext(), (d || m) && t.slidePrev()), n("keyPress", i)
6010            }
6011        }
6012
6013        function c() {
6014            t.keyboard.enabled || (l.addEventListener("keydown", d), t.keyboard.enabled = !0)
6015        }
6016
6017        function p() {
6018            t.keyboard.enabled && (l.removeEventListener("keydown", d), t.keyboard.enabled = !1)
6019        }
6020        t.keyboard = {
6021            enabled: !1
6022        }, s({
6023            keyboard: {
6024                enabled: !1,
6025                onlyInViewport: !0,
6026                pageUpDown: !0
6027            }
6028        }), i("init", (() => {
6029            t.params.keyboard.enabled && c()
6030        })), i("destroy", (() => {
6031            t.keyboard.enabled && p()
6032        })), Object.assign(t.keyboard, {
6033            enable: c,
6034            disable: p
6035        })
6036    }, function(e) {
6037        let {
6038            swiper: t,
6039            extendParams: s,
6040            on: a,
6041            emit: i
6042        } = e;
6043        const n = r();
6044        let d;
6045        s({
6046            mousewheel: {
6047                enabled: !1,
6048                releaseOnEdges: !1,
6049                invert: !1,
6050                forceToAxis: !1,
6051                sensitivity: 1,
6052                eventsTarget: "container",
6053                thresholdDelta: null,
6054                thresholdTime: null,
6055                noMousewheelClass: "swiper-no-mousewheel"
6056            }
6057        }), t.mousewheel = {
6058            enabled: !1
6059        };
6060        let c, p = o();
6061        const u = [];
6062
6063        function m() {
6064            t.enabled && (t.mouseEntered = !0)
6065        }
6066
6067        function h() {
6068            t.enabled && (t.mouseEntered = !1)
6069        }
6070
6071        function f(e) {
6072            return !(t.params.mousewheel.thresholdDelta && e.delta < t.params.mousewheel.thresholdDelta) && (!(t.params.mousewheel.thresholdTime && o() - p < t.params.mousewheel.thresholdTime) && (e.delta >= 6 && o() - p < 60 || (e.direction < 0 ? t.isEnd && !t.params.loop || t.animating || (t.slideNext(), i("scroll", e.raw)) : t.isBeginning && !t.params.loop || t.animating || (t.slidePrev(), i("scroll", e.raw)), p = (new n.Date).getTime(), !1)))
6073        }
6074
6075        function g(e) {
6076            let s = e,
6077                a = !0;
6078            if (!t.enabled) return;
6079            if (e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`)) return;
6080            const r = t.params.mousewheel;
6081            t.params.cssMode && s.preventDefault();
6082            let n = t.el;
6083            "container" !== t.params.mousewheel.eventsTarget && (n = document.querySelector(t.params.mousewheel.eventsTarget));
6084            const p = n && n.contains(s.target);
6085            if (!t.mouseEntered && !p && !r.releaseOnEdges) return !0;
6086            s.originalEvent && (s = s.originalEvent);
6087            let m = 0;
6088            const h = t.rtlTranslate ? -1 : 1,
6089                g = function(e) {
6090                    let t = 0,
6091                        s = 0,
6092                        a = 0,
6093                        i = 0;
6094                    return "detail" in e && (s = e.detail), "wheelDelta" in e && (s = -e.wheelDelta / 120), "wheelDeltaY" in e && (s = -e.wheelDeltaY / 120), "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120), "axis" in e && e.axis === e.HORIZONTAL_AXIS && (t = s, s = 0), a = 10 * t, i = 10 * s, "deltaY" in e && (i = e.deltaY), "deltaX" in e && (a = e.deltaX), e.shiftKey && !a && (a = i, i = 0), (a || i) && e.deltaMode && (1 === e.deltaMode ? (a *= 40, i *= 40) : (a *= 800, i *= 800)), a && !t && (t = a < 1 ? -1 : 1), i && !s && (s = i < 1 ? -1 : 1), {
6095                        spinX: t,
6096                        spinY: s,
6097                        pixelX: a,
6098                        pixelY: i
6099                    }
6100                }(s);
6101            if (r.forceToAxis)
6102                if (t.isHorizontal()) {
6103                    if (!(Math.abs(g.pixelX) > Math.abs(g.pixelY))) return !0;
6104                    m = -g.pixelX * h
6105                } else {
6106                    if (!(Math.abs(g.pixelY) > Math.abs(g.pixelX))) return !0;
6107                    m = -g.pixelY
6108                }
6109            else m = Math.abs(g.pixelX) > Math.abs(g.pixelY) ? -g.pixelX * h : -g.pixelY;
6110            if (0 === m) return !0;
6111            r.invert && (m = -m);
6112            let v = t.getTranslate() + m * r.sensitivity;
6113            if (v >= t.minTranslate() && (v = t.minTranslate()), v <= t.maxTranslate() && (v = t.maxTranslate()), a = !!t.params.loop || !(v === t.minTranslate() || v === t.maxTranslate()), a && t.params.nested && s.stopPropagation(), t.params.freeMode && t.params.freeMode.enabled) {
6114                const e = {
6115                        time: o(),
6116                        delta: Math.abs(m),
6117                        direction: Math.sign(m)
6118                    },
6119                    a = c && e.time < c.time + 500 && e.delta <= c.delta && e.direction === c.direction;
6120                if (!a) {
6121                    c = void 0;
6122                    let n = t.getTranslate() + m * r.sensitivity;
6123                    const o = t.isBeginning,
6124                        p = t.isEnd;
6125                    if (n >= t.minTranslate() && (n = t.minTranslate()), n <= t.maxTranslate() && (n = t.maxTranslate()), t.setTransition(0), t.setTranslate(n), t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses(), (!o && t.isBeginning || !p && t.isEnd) && t.updateSlidesClasses(), t.params.loop && t.loopFix({
6126                            direction: e.direction < 0 ? "next" : "prev",
6127                            byMousewheel: !0
6128                        }), t.params.freeMode.sticky) {
6129                        clearTimeout(d), d = void 0, u.length >= 15 && u.shift();
6130                        const s = u.length ? u[u.length - 1] : void 0,
6131                            a = u[0];
6132                        if (u.push(e), s && (e.delta > s.delta || e.direction !== s.direction)) u.splice(0);
6133                        else if (u.length >= 15 && e.time - a.time < 500 && a.delta - e.delta >= 1 && e.delta <= 6) {
6134                            const s = m > 0 ? .8 : .2;
6135                            c = e, u.splice(0), d = l((() => {
6136                                t.slideToClosest(t.params.speed, !0, void 0, s)
6137                            }), 0)
6138                        }
6139                        d || (d = l((() => {
6140                            c = e, u.splice(0), t.slideToClosest(t.params.speed, !0, void 0, .5)
6141                        }), 500))
6142                    }
6143                    if (a || i("scroll", s), t.params.autoplay && t.params.autoplayDisableOnInteraction && t.autoplay.stop(), r.releaseOnEdges && (n === t.minTranslate() || n === t.maxTranslate())) return !0
6144                }
6145            } else {
6146                const s = {
6147                    time: o(),
6148                    delta: Math.abs(m),
6149                    direction: Math.sign(m),
6150                    raw: e
6151                };
6152                u.length >= 2 && u.shift();
6153                const a = u.length ? u[u.length - 1] : void 0;
6154                if (u.push(s), a ? (s.direction !== a.direction || s.delta > a.delta || s.time > a.time + 150) && f(s) : f(s), function(e) {
6155                        const s = t.params.mousewheel;
6156                        if (e.direction < 0) {
6157                            if (t.isEnd && !t.params.loop && s.releaseOnEdges) return !0
6158                        } else if (t.isBeginning && !t.params.loop && s.releaseOnEdges) return !0;
6159                        return !1
6160                    }(s)) return !0
6161            }
6162            return s.preventDefault ? s.preventDefault() : s.returnValue = !1, !1
6163        }
6164
6165        function v(e) {
6166            let s = t.el;
6167            "container" !== t.params.mousewheel.eventsTarget && (s = document.querySelector(t.params.mousewheel.eventsTarget)), s[e]("mouseenter", m), s[e]("mouseleave", h), s[e]("wheel", g)
6168        }
6169
6170        function w() {
6171            return t.params.cssMode ? (t.wrapperEl.removeEventListener("wheel", g), !0) : !t.mousewheel.enabled && (v("addEventListener"), t.mousewheel.enabled = !0, !0)
6172        }
6173
6174        function b() {
6175            return t.params.cssMode ? (t.wrapperEl.addEventListener(event, g), !0) : !!t.mousewheel.enabled && (v("removeEventListener"), t.mousewheel.enabled = !1, !0)
6176        }
6177        a("init", (() => {
6178            !t.params.mousewheel.enabled && t.params.cssMode && b(), t.params.mousewheel.enabled && w()
6179        })), a("destroy", (() => {
6180            t.params.cssMode && w(), t.mousewheel.enabled && b()
6181        })), Object.assign(t.mousewheel, {
6182            enable: w,
6183            disable: b
6184        })
6185    }, function(e) {
6186        let {
6187            swiper: t,
6188            extendParams: s,
6189            on: a,
6190            emit: i
6191        } = e;
6192
6193        function r(e) {
6194            let s;
6195            return e && "string" == typeof e && t.isElement && (s = t.el.querySelector(e), s) ? s : (e && ("string" == typeof e && (s = [...document.querySelectorAll(e)]), t.params.uniqueNavElements && "string" == typeof e && s && s.length > 1 && 1 === t.el.querySelectorAll(e).length ? s = t.el.querySelector(e) : s && 1 === s.length && (s = s[0])), e && !s ? e : s)
6196        }
6197
6198        function n(e, s) {
6199            const a = t.params.navigation;
6200            (e = T(e)).forEach((e => {
6201                e && (e.classList[s ? "add" : "remove"](...a.disabledClass.split(" ")), "BUTTON" === e.tagName && (e.disabled = s), t.params.watchOverflow && t.enabled && e.classList[t.isLocked ? "add" : "remove"](a.lockClass))
6202            }))
6203        }
6204
6205        function l() {
6206            const {
6207                nextEl: e,
6208                prevEl: s
6209            } = t.navigation;
6210            if (t.params.loop) return n(s, !1), void n(e, !1);
6211            n(s, t.isBeginning && !t.params.rewind), n(e, t.isEnd && !t.params.rewind)
6212        }
6213
6214        function o(e) {
6215            e.preventDefault(), (!t.isBeginning || t.params.loop || t.params.rewind) && (t.slidePrev(), i("navigationPrev"))
6216        }
6217
6218        function d(e) {
6219            e.preventDefault(), (!t.isEnd || t.params.loop || t.params.rewind) && (t.slideNext(), i("navigationNext"))
6220        }
6221
6222        function c() {
6223            const e = t.params.navigation;
6224            if (t.params.navigation = ie(t, t.originalParams.navigation, t.params.navigation, {
6225                    nextEl: "swiper-button-next",
6226                    prevEl: "swiper-button-prev"
6227                }), !e.nextEl && !e.prevEl) return;
6228            let s = r(e.nextEl),
6229                a = r(e.prevEl);
6230            Object.assign(t.navigation, {
6231                nextEl: s,
6232                prevEl: a
6233            }), s = T(s), a = T(a);
6234            const i = (s, a) => {
6235                s && s.addEventListener("click", "next" === a ? d : o), !t.enabled && s && s.classList.add(...e.lockClass.split(" "))
6236            };
6237            s.forEach((e => i(e, "next"))), a.forEach((e => i(e, "prev")))
6238        }
6239
6240        function p() {
6241            let {
6242                nextEl: e,
6243                prevEl: s
6244            } = t.navigation;
6245            e = T(e), s = T(s);
6246            const a = (e, s) => {
6247                e.removeEventListener("click", "next" === s ? d : o), e.classList.remove(...t.params.navigation.disabledClass.split(" "))
6248            };
6249            e.forEach((e =>
vendor: 5,957 bytes, lines 6249-6384
6249 a(e, "next"))), s.forEach((e => a(e, "prev")))
6250        }
6251        s({
6252            navigation: {
6253                nextEl: null,
6254                prevEl: null,
6255                hideOnClick: !1,
6256                disabledClass: "swiper-button-disabled",
6257                hiddenClass: "swiper-button-hidden",
6258                lockClass: "swiper-button-lock",
6259                navigationDisabledClass: "swiper-navigation-disabled"
6260            }
6261        }), t.navigation = {
6262            nextEl: null,
6263            prevEl: null
6264        }, a("init", (() => {
6265            !1 === t.params.navigation.enabled ? u() : (c(), l())
6266        })), a("toEdge fromEdge lock unlock", (() => {
6267            l()
6268        })), a("destroy", (() => {
6269            p()
6270        })), a("enable disable", (() => {
6271            let {
6272                nextEl: e,
6273                prevEl: s
6274            } = t.navigation;
6275            e = T(e), s = T(s), t.enabled ? l() : [...e, ...s].filter((e => !!e)).forEach((e => e.classList.add(t.params.navigation.lockClass)))
6276        })), a("click", ((e, s) => {
6277            let {
6278                nextEl: a,
6279                prevEl: r
6280            } = t.navigation;
6281            a = T(a), r = T(r);
6282            const n = s.target;
6283            let l = r.includes(n) || a.includes(n);
6284            if (t.isElement && !l) {
6285                const e = s.path || s.composedPath && s.composedPath();
6286                e && (l = e.find((e => a.includes(e) || r.includes(e))))
6287            }
6288            if (t.params.navigation.hideOnClick && !l) {
6289                if (t.pagination && t.params.pagination && t.params.pagination.clickable && (t.pagination.el === n || t.pagination.el.contains(n))) return;
6290                let e;
6291                a.length ? e = a[0].classList.contains(t.params.navigation.hiddenClass) : r.length && (e = r[0].classList.contains(t.params.navigation.hiddenClass)), i(!0 === e ? "navigationShow" : "navigationHide"), [...a, ...r].filter((e => !!e)).forEach((e => e.classList.toggle(t.params.navigation.hiddenClass)))
6292            }
6293        }));
6294        const u = () => {
6295            t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")), p()
6296        };
6297        Object.assign(t.navigation, {
6298            enable: () => {
6299                t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")), c(), l()
6300            },
6301            disable: u,
6302            update: l,
6303            init: c,
6304            destroy: p
6305        })
6306    }, function(e) {
6307        let {
6308            swiper: t,
6309            extendParams: s,
6310            on: a,
6311            emit: i
6312        } = e;
6313        const r = "swiper-pagination";
6314        let n;
6315        s({
6316            pagination: {
6317                el: null,
6318                bulletElement: "span",
6319                clickable: !1,
6320                hideOnClick: !1,
6321                renderBullet: null,
6322                renderProgressbar: null,
6323                renderFraction: null,
6324                renderCustom: null,
6325                progressbarOpposite: !1,
6326                type: "bullets",
6327                dynamicBullets: !1,
6328                dynamicMainBullets: 1,
6329                formatFractionCurrent: e => e,
6330                formatFractionTotal: e => e,
6331                bulletClass: `${r}-bullet`,
6332                bulletActiveClass: `${r}-bullet-active`,
6333                modifierClass: `${r}-`,
6334                currentClass: `${r}-current`,
6335                totalClass: `${r}-total`,
6336                hiddenClass: `${r}-hidden`,
6337                progressbarFillClass: `${r}-progressbar-fill`,
6338                progressbarOppositeClass: `${r}-progressbar-opposite`,
6339                clickableClass: `${r}-clickable`,
6340                lockClass: `${r}-lock`,
6341                horizontalClass: `${r}-horizontal`,
6342                verticalClass: `${r}-vertical`,
6343                paginationDisabledClass: `${r}-disabled`
6344            }
6345        }), t.pagination = {
6346            el: null,
6347            bullets: []
6348        };
6349        let l = 0;
6350
6351        function o() {
6352            return !t.params.pagination.el || !t.pagination.el || Array.isArray(t.pagination.el) && 0 === t.pagination.el.length
6353        }
6354
6355        function d(e, s) {
6356            const {
6357                bulletActiveClass: a
6358            } = t.params.pagination;
6359            e && (e = e[("prev" === s ? "previous" : "next") + "ElementSibling"]) && (e.classList.add(`${a}-${s}`), (e = e[("prev" === s ? "previous" : "next") + "ElementSibling"]) && e.classList.add(`${a}-${s}-${s}`))
6360        }
6361
6362        function c(e) {
6363            const s = e.target.closest(re(t.params.pagination.bulletClass));
6364            if (!s) return;
6365            e.preventDefault();
6366            const a = y(s) * t.params.slidesPerGroup;
6367            if (t.params.loop) {
6368                if (t.realIndex === a) return;
6369                t.slideToLoop(a)
6370            } else t.slideTo(a)
6371        }
6372
6373        function p() {
6374            const e = t.rtl,
6375                s = t.params.pagination;
6376            if (o()) return;
6377            let a, r, c = t.pagination.el;
6378            c = T(c);
6379            const p = t.virtual && t.params.virtual.enabled ? t.virtual.slides.length : t.slides.length,
6380                u = t.params.loop ? Math.ceil(p / t.params.slidesPerGroup) : t.snapGrid.length;
6381            if (t.params.loop ? (r = t.previousRealIndex || 0, a = t.params.slidesPerGroup > 1 ? Math.floor(t.realIndex / t.params.slidesPerGroup) : t.realIndex) : void 0 !== t.snapIndex ? (a = t.snapIndex, r = t.previousSnapIndex) : (r = t.previousIndex || 0, a = t.activeIndex || 0), "bullets" === s.type && t.pagination.bullets && t.pagination.bullets.length > 0) {
6382                const i = t.pagination.bullets;
6383                let o, p, u;
6384                if (s.dynamicBullets && (n = S(i[0], t.isHorizontal() ? "width" : "height", !0), c.forEac
vendor: 10,481 bytes, lines 6384-6550
6384h((e => {
6385                        e.style[t.isHorizontal() ? "width" : "height"] = n * (s.dynamicMainBullets + 4) + "px"
6386                    })), s.dynamicMainBullets > 1 && void 0 !== r && (l += a - (r || 0), l > s.dynamicMainBullets - 1 ? l = s.dynamicMainBullets - 1 : l < 0 && (l = 0)), o = Math.max(a - l, 0), p = o + (Math.min(i.length, s.dynamicMainBullets) - 1), u = (p + o) / 2), i.forEach((e => {
6387                        const t = [...["", "-next", "-next-next", "-prev", "-prev-prev", "-main"].map((e => `${s.bulletActiveClass}${e}`))].map((e => "string" == typeof e && e.includes(" ") ? e.split(" ") : e)).flat();
6388                        e.classList.remove(...t)
6389                    })), c.length > 1) i.forEach((e => {
6390                    const i = y(e);
6391                    i === a ? e.classList.add(...s.bulletActiveClass.split(" ")) : t.isElement && e.setAttribute("part", "bullet"), s.dynamicBullets && (i >= o && i <= p && e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")), i === o && d(e, "prev"), i === p && d(e, "next"))
6392                }));
6393                else {
6394                    const e = i[a];
6395                    if (e && e.classList.add(...s.bulletActiveClass.split(" ")), t.isElement && i.forEach(((e, t) => {
6396                            e.setAttribute("part", t === a ? "bullet-active" : "bullet")
6397                        })), s.dynamicBullets) {
6398                        const e = i[o],
6399                            t = i[p];
6400                        for (let e = o; e <= p; e += 1) i[e] && i[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));
6401                        d(e, "prev"), d(t, "next")
6402                    }
6403                }
6404                if (s.dynamicBullets) {
6405                    const a = Math.min(i.length, s.dynamicMainBullets + 4),
6406                        r = (n * a - n) / 2 - u * n,
6407                        l = e ? "right" : "left";
6408                    i.forEach((e => {
6409                        e.style[t.isHorizontal() ? l : "top"] = `${r}px`
6410                    }))
6411                }
6412            }
6413            c.forEach(((e, r) => {
6414                if ("fraction" === s.type && (e.querySelectorAll(re(s.currentClass)).forEach((e => {
6415                        e.textContent = s.formatFractionCurrent(a + 1)
6416                    })), e.querySelectorAll(re(s.totalClass)).forEach((e => {
6417                        e.textContent = s.formatFractionTotal(u)
6418                    }))), "progressbar" === s.type) {
6419                    let i;
6420                    i = s.progressbarOpposite ? t.isHorizontal() ? "vertical" : "horizontal" : t.isHorizontal() ? "horizontal" : "vertical";
6421                    const r = (a + 1) / u;
6422                    let n = 1,
6423                        l = 1;
6424                    "horizontal" === i ? n = r : l = r, e.querySelectorAll(re(s.progressbarFillClass)).forEach((e => {
6425                        e.style.transform = `translate3d(0,0,0) scaleX(${n}) scaleY(${l})`, e.style.transitionDuration = `${t.params.speed}ms`
6426                    }))
6427                }
6428                "custom" === s.type && s.renderCustom ? (e.innerHTML = s.renderCustom(t, a + 1, u), 0 === r && i("paginationRender", e)) : (0 === r && i("paginationRender", e), i("paginationUpdate", e)), t.params.watchOverflow && t.enabled && e.classList[t.isLocked ? "add" : "remove"](s.lockClass)
6429            }))
6430        }
6431
6432        function u() {
6433            const e = t.params.pagination;
6434            if (o()) return;
6435            const s = t.virtual && t.params.virtual.enabled ? t.virtual.slides.length : t.grid && t.params.grid.rows > 1 ? t.slides.length / Math.ceil(t.params.grid.rows) : t.slides.length;
6436            let a = t.pagination.el;
6437            a = T(a);
6438            let r = "";
6439            if ("bullets" === e.type) {
6440                let a = t.params.loop ? Math.ceil(s / t.params.slidesPerGroup) : t.snapGrid.length;
6441                t.params.freeMode && t.params.freeMode.enabled && a > s && (a = s);
6442                for (let s = 0; s < a; s += 1) e.renderBullet ? r += e.renderBullet.call(t, s, e.bulletClass) : r += `<${e.bulletElement} ${t.isElement?'part="bullet"':""} class="${e.bulletClass}"></${e.bulletElement}>`
6443            }
6444            "fraction" === e.type && (r = e.renderFraction ? e.renderFraction.call(t, e.currentClass, e.totalClass) : `<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`), "progressbar" === e.type && (r = e.renderProgressbar ? e.renderProgressbar.call(t, e.progressbarFillClass) : `<span class="${e.progressbarFillClass}"></span>`), t.pagination.bullets = [], a.forEach((s => {
6445                "custom" !== e.type && (s.innerHTML = r || ""), "bullets" === e.type && t.pagination.bullets.push(...s.querySelectorAll(re(e.bulletClass)))
6446            })), "custom" !== e.type && i("paginationRender", a[0])
6447        }
6448
6449        function m() {
6450            t.params.pagination = ie(t, t.originalParams.pagination, t.params.pagination, {
6451                el: "swiper-pagination"
6452            });
6453            const e = t.params.pagination;
6454            if (!e.el) return;
6455            let s;
6456            "string" == typeof e.el && t.isElement && (s = t.el.querySelector(e.el)), s || "string" != typeof e.el || (s = [...document.querySelectorAll(e.el)]), s || (s = e.el), s && 0 !== s.length && (t.params.uniqueNavElements && "string" == typeof e.el && Array.isArray(s) && s.length > 1 && (s = [...t.el.querySelectorAll(e.el)], s.length > 1 && (s = s.filter((e => E(e, ".swiper")[0] === t.el))[0])), Array.isArray(s) && 1 === s.length && (s = s[0]), Object.assign(t.pagination, {
6457                el: s
6458            }), s = T(s), s.forEach((s => {
6459                "bullets" === e.type && e.clickable && s.classList.add(...(e.clickableClass || "").split(" ")), s.classList.add(e.modifierClass + e.type), s.classList.add(t.isHorizontal() ? e.horizontalClass : e.verticalClass), "bullets" === e.type && e.dynamicBullets && (s.classList.add(`${e.modifierClass}${e.type}-dynamic`), l = 0, e.dynamicMainBullets < 1 && (e.dynamicMainBullets = 1)), "progressbar" === e.type && e.progressbarOpposite && s.classList.add(e.progressbarOppositeClass), e.clickable && s.addEventListener("click", c), t.enabled || s.classList.add(e.lockClass)
6460            })))
6461        }
6462
6463        function h() {
6464            const e = t.params.pagination;
6465            if (o()) return;
6466            let s = t.pagination.el;
6467            s && (s = T(s), s.forEach((s => {
6468                s.classList.remove(e.hiddenClass), s.classList.remove(e.modifierClass + e.type), s.classList.remove(t.isHorizontal() ? e.horizontalClass : e.verticalClass), e.clickable && (s.classList.remove(...(e.clickableClass || "").split(" ")), s.removeEventListener("click", c))
6469            }))), t.pagination.bullets && t.pagination.bullets.forEach((t => t.classList.remove(...e.bulletActiveClass.split(" "))))
6470        }
6471        a("changeDirection", (() => {
6472            if (!t.pagination || !t.pagination.el) return;
6473            const e = t.params.pagination;
6474            let {
6475                el: s
6476            } = t.pagination;
6477            s = T(s), s.forEach((s => {
6478                s.classList.remove(e.horizontalClass, e.verticalClass), s.classList.add(t.isHorizontal() ? e.horizontalClass : e.verticalClass)
6479            }))
6480        })), a("init", (() => {
6481            !1 === t.params.pagination.enabled ? f() : (m(), u(), p())
6482        })), a("activeIndexChange", (() => {
6483            void 0 === t.snapIndex && p()
6484        })), a("snapIndexChange", (() => {
6485            p()
6486        })), a("snapGridLengthChange", (() => {
6487            u(), p()
6488        })), a("destroy", (() => {
6489            h()
6490        })), a("enable disable", (() => {
6491            let {
6492                el: e
6493            } = t.pagination;
6494            e && (e = T(e), e.forEach((e => e.classList[t.enabled ? "remove" : "add"](t.params.pagination.lockClass))))
6495        })), a("lock unlock", (() => {
6496            p()
6497        })), a("click", ((e, s) => {
6498            const a = s.target,
6499                r = T(t.pagination.el);
6500            if (t.params.pagination.el && t.params.pagination.hideOnClick && r && r.length > 0 && !a.classList.contains(t.params.pagination.bulletClass)) {
6501                if (t.navigation && (t.navigation.nextEl && a === t.navigation.nextEl || t.navigation.prevEl && a === t.navigation.prevEl)) return;
6502                const e = r[0].classList.contains(t.params.pagination.hiddenClass);
6503                i(!0 === e ? "paginationShow" : "paginationHide"), r.forEach((e => e.classList.toggle(t.params.pagination.hiddenClass)))
6504            }
6505        }));
6506        const f = () => {
6507            t.el.classList.add(t.params.pagination.paginationDisabledClass);
6508            let {
6509                el: e
6510            } = t.pagination;
6511            e && (e = T(e), e.forEach((e => e.classList.add(t.params.pagination.paginationDisabledClass)))), h()
6512        };
6513        Object.assign(t.pagination, {
6514            enable: () => {
6515                t.el.classList.remove(t.params.pagination.paginationDisabledClass);
6516                let {
6517                    el: e
6518                } = t.pagination;
6519                e && (e = T(e), e.forEach((e => e.classList.remove(t.params.pagination.paginationDisabledClass)))), m(), u(), p()
6520            },
6521            disable: f,
6522            render: u,
6523            update: p,
6524            init: m,
6525            destroy: h
6526        })
6527    }, function(e) {
6528        let {
6529            swiper: t,
6530            extendParams: s,
6531            on: i,
6532            emit: r
6533        } = e;
6534        const o = a();
6535        let d, c, p, u, m = !1,
6536            h = null,
6537            f = null;
6538
6539        function g() {
6540            if (!t.params.scrollbar.el || !t.scrollbar.el) return;
6541            const {
6542                scrollbar: e,
6543                rtlTranslate: s
6544            } = t, {
6545                dragEl: a,
6546                el: i
6547            } = e, r = t.params.scrollbar, n = t.params.loop ? t.progressLoop : t.progress;
6548            let l = c,
6549                o = (p - c) * n;
6550            s ? (o = -o, o > 0 ? (l = c - o, o = 0) : -o + c > p && (l = p + o)) : o < 0 ? (l = c + o, o = 0) : o + c > p && (l = p - o), t.isHorizontal() ? (a.style.transform = `translate3d(${o}px, 0, 0)`, a.style.width = `${l}px`) : (a.style.transform = `translate3d(0px, ${o}
6550px, 0)`, a.style.height = `${l}px`), r.hide && (clearTimeout(h), i.style.opacity = 1, h = setTimeout((() => {
6551                i.style.opacity = 0, i.style.transitionDuration = "400ms"
6552            }), 1e3))
6553        }
6554
6555        function b() {
6556            if (!t.params.scrollbar.el || !t.scrollbar.el) return;
6557            const {
6558                scrollbar: e
6559            } = t, {
6560                dragEl: s,
6561                el: a
6562            } = e;
6563            s.style.width = "", s.style.height = "", p = t.isHorizontal() ? a.offsetWidth : a.offsetHeight, u = t.size / (t.virtualSize + t.params.slidesOffsetBefore - (t.params.centeredSlides ? t.snapGrid[0] : 0)), c = "auto" === t.params.scrollbar.dragSize ? p * u : parseInt(t.params.scrollbar.dragSize, 10), t.isHorizontal() ? s.style.width = `${c}px` : s.style.height = `${c}px`, a.style.display = u >= 1 ? "none" : "", t.params.scrollbar.hide && (a.style.opacity = 0), t.params.watchOverflow && t.enabled && e.el.classList[t.isLocked ? "add" : "remove"](t.params.scrollbar.lockClass)
6564        }
6565
6566        function y(e) {
6567            return t.isHorizontal() ? e.clientX : e.clientY
6568        }
6569
6570        function E(e) {
6571            const {
6572                scrollbar: s,
6573                rtlTranslate: a
6574            } = t, {
6575                el: i
6576            } = s;
6577            let r;
6578            r = (y(e) - w(i)[t.isHorizontal() ? "left" : "top"] - (null !== d ? d : c / 2)) / (p - c), r = Math.max(Math.min(r, 1), 0), a && (r = 1 - r);
6579            const n = t.minTranslate() + (t.maxTranslate() - t.minTranslate()) * r;
6580            t.updateProgress(n), t.setTranslate(n), t.updateActiveIndex(), t.updateSlidesClasses()
6581        }
6582
6583        function x(e) {
6584            const s = t.params.scrollbar,
6585                {
6586                    scrollbar: a,
6587                    wrapperEl: i
6588                } = t,
6589                {
6590                    el: n,
6591                    dragEl: l
6592                } = a;
6593            m = !0, d = e.target === l ? y(e) - e.target.getBoundingClientRect()[t.isHorizontal() ? "left" : "top"] : null, e.preventDefault(), e.stopPropagation(), i.style.transitionDuration = "100ms", l.style.transitionDuration = "100ms", E(e), clearTimeout(f), n.style.transitionDuration = "0ms", s.hide && (n.style.opacity = 1), t.params.cssMode && (t.wrapperEl.style["scroll-snap-type"] = "none"), r("scrollbarDragStart", e)
6594        }
6595
6596        function S(e) {
6597            const {
6598                scrollbar: s,
6599                wrapperEl: a
6600            } = t, {
6601                el: i,
6602                dragEl: n
6603            } = s;
6604            m && (e.preventDefault && e.cancelable ? e.preventDefault() : e.returnValue = !1, E(e), a.style.transitionDuration = "0ms", i.style.transitionDuration = "0ms", n.style.transitionDuration = "0ms", r("scrollbarDragMove", e))
6605        }
6606
6607        function M(e) {
6608            const s = t.params.scrollbar,
6609                {
6610                    scrollbar: a,
6611                    wrapperEl: i
6612                } = t,
6613                {
6614                    el: n
6615                } = a;
6616            m && (m = !1, t.params.cssMode && (t.wrapperEl.style["scroll-snap-type"] = "", i.style.transitionDuration = ""), s.hide && (clearTimeout(f), f = l((() => {
6617                n.style.opacity = 0, n.style.transitionDuration = "400ms"
6618            }), 1e3)), r("scrollbarDragEnd", e), s.snapOnRelease && t.slideToClosest())
6619        }
6620
6621        function C(e) {
6622            const {
6623                scrollbar: s,
6624                params: a
6625            } = t, i = s.el;
6626            if (!i) return;
6627            const r = i,
6628                n = !!a.passiveListeners && {
6629                    passive: !1,
6630                    capture: !1
6631                },
6632                l = !!a.passiveListeners && {
6633                    passive: !0,
6634                    capture: !1
6635                };
6636            if (!r) return;
6637            const d = "on" === e ? "addEventListener" : "removeEventListener";
6638            r[d]("pointerdown", x, n), o[d]("pointermove", S, n), o[d]("pointerup", M, l)
6639        }
6640
6641        function P() {
6642            const {
6643                scrollbar: e,
6644                el: s
6645            } = t;
6646            t.params.scrollbar = ie(t, t.originalParams.scrollbar, t.params.scrollbar, {
6647                el: "swiper-scrollbar"
6648            });
6649            const a = t.params.scrollbar;
6650            if (!a.el) return;
6651            let i, r;
6652            if ("string" == typeof a.el && t.isElement && (i = t.el.querySelector(a.el)), i || "string" != typeof a.el) i || (i = a.el);
6653            else if (i = o.querySelectorAll(a.el), !i.length) return;
6654            t.params.uniqueNavElements && "string" == typeof a.el && i.length > 1 && 1 === s.querySelectorAll(a.el).length && (i = s.querySelector(a.el)), i.length > 0 && (i = i[0]), i.classList.add(t.isHorizontal() ? a.horizontalClass : a.verticalClass), i && (r = i.querySelector(re(t.params.scrollbar.dragClass)), r || (r = v("div", t.params.scrollbar.dragClass), i.append(r))), Object.assign(e, {
6655                el: i,
6656                dragEl: r
vendor: 28,345 bytes, lines 6657-7198
6657            }), a.draggable && t.params.scrollbar.el && t.scrollbar.el && C("on"), i && i.classList[t.enabled ? "remove" : "add"](...n(t.params.scrollbar.lockClass))
6658        }
6659
6660        function L() {
6661            const e = t.params.scrollbar,
6662                s = t.scrollbar.el;
6663            s && s.classList.remove(...n(t.isHorizontal() ? e.horizontalClass : e.verticalClass)), t.params.scrollbar.el && t.scrollbar.el && C("off")
6664        }
6665        s({
6666            scrollbar: {
6667                el: null,
6668                dragSize: "auto",
6669                hide: !1,
6670                draggable: !1,
6671                snapOnRelease: !0,
6672                lockClass: "swiper-scrollbar-lock",
6673                dragClass: "swiper-scrollbar-drag",
6674                scrollbarDisabledClass: "swiper-scrollbar-disabled",
6675                horizontalClass: "swiper-scrollbar-horizontal",
6676                verticalClass: "swiper-scrollbar-vertical"
6677            }
6678        }), t.scrollbar = {
6679            el: null,
6680            dragEl: null
6681        }, i("changeDirection", (() => {
6682            if (!t.scrollbar || !t.scrollbar.el) return;
6683            const e = t.params.scrollbar;
6684            let {
6685                el: s
6686            } = t.scrollbar;
6687            s = T(s), s.forEach((s => {
6688                s.classList.remove(e.horizontalClass, e.verticalClass), s.classList.add(t.isHorizontal() ? e.horizontalClass : e.verticalClass)
6689            }))
6690        })), i("init", (() => {
6691            !1 === t.params.scrollbar.enabled ? I() : (P(), b(), g())
6692        })), i("update resize observerUpdate lock unlock changeDirection", (() => {
6693            b()
6694        })), i("setTranslate", (() => {
6695            g()
6696        })), i("setTransition", ((e, s) => {
6697            ! function(e) {
6698                t.params.scrollbar.el && t.scrollbar.el && (t.scrollbar.dragEl.style.transitionDuration = `${e}ms`)
6699            }(s)
6700        })), i("enable disable", (() => {
6701            const {
6702                el: e
6703            } = t.scrollbar;
6704            e && e.classList[t.enabled ? "remove" : "add"](...n(t.params.scrollbar.lockClass))
6705        })), i("destroy", (() => {
6706            L()
6707        }));
6708        const I = () => {
6709            t.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)), t.scrollbar.el && t.scrollbar.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)), L()
6710        };
6711        Object.assign(t.scrollbar, {
6712            enable: () => {
6713                t.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)), t.scrollbar.el && t.scrollbar.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)), P(), b(), g()
6714            },
6715            disable: I,
6716            updateSize: b,
6717            setTranslate: g,
6718            init: P,
6719            destroy: L
6720        })
6721    }, function(e) {
6722        let {
6723            swiper: t,
6724            extendParams: s,
6725            on: a
6726        } = e;
6727        s({
6728            parallax: {
6729                enabled: !1
6730            }
6731        });
6732        const i = "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",
6733            r = (e, s) => {
6734                const {
6735                    rtl: a
6736                } = t, i = a ? -1 : 1, r = e.getAttribute("data-swiper-parallax") || "0";
6737                let n = e.getAttribute("data-swiper-parallax-x"),
6738                    l = e.getAttribute("data-swiper-parallax-y");
6739                const o = e.getAttribute("data-swiper-parallax-scale"),
6740                    d = e.getAttribute("data-swiper-parallax-opacity"),
6741                    c = e.getAttribute("data-swiper-parallax-rotate");
6742                if (n || l ? (n = n || "0", l = l || "0") : t.isHorizontal() ? (n = r, l = "0") : (l = r, n = "0"), n = n.indexOf("%") >= 0 ? parseInt(n, 10) * s * i + "%" : n * s * i + "px", l = l.indexOf("%") >= 0 ? parseInt(l, 10) * s + "%" : l * s + "px", null != d) {
6743                    const t = d - (d - 1) * (1 - Math.abs(s));
6744                    e.style.opacity = t
6745                }
6746                let p = `translate3d(${n}, ${l}, 0px)`;
6747                if (null != o) {
6748                    p += ` scale(${o-(o-1)*(1-Math.abs(s))})`
6749                }
6750                if (c && null != c) {
6751                    p += ` rotate(${c*s*-1}deg)`
6752                }
6753                e.style.transform = p
6754            },
6755            n = () => {
6756                const {
6757                    el: e,
6758                    slides: s,
6759                    progress: a,
6760                    snapGrid: n,
6761                    isElement: l
6762                } = t, o = f(e, i);
6763                t.isElement && o.push(...f(t.hostEl, i)), o.forEach((e => {
6764                    r(e, a)
6765                })), s.forEach(((e, s) => {
6766                    let l = e.progress;
6767                    t.params.slidesPerGroup > 1 && "auto" !== t.params.slidesPerView && (l += Math.ceil(s / 2) - a * (n.length - 1)), l = Math.min(Math.max(l, -1), 1), e.querySelectorAll(`${i}, [data-swiper-parallax-rotate]`).forEach((e => {
6768                        r(e, l)
6769                    }))
6770                }))
6771            };
6772        a("beforeInit", (() => {
6773            t.params.parallax.enabled && (t.params.watchSlidesProgress = !0, t.originalParams.watchSlidesProgress = !0)
6774        })), a("init", (() => {
6775            t.params.parallax.enabled && n()
6776        })), a("setTranslate", (() => {
6777            t.params.parallax.enabled && n()
6778        })), a("setTransition", ((e, s) => {
6779            t.params.parallax.enabled && function(e) {
6780                void 0 === e && (e = t.params.speed);
6781                const {
6782                    el: s,
6783                    hostEl: a
6784                } = t, r = [...s.querySelectorAll(i)];
6785                t.isElement && r.push(...a.querySelectorAll(i)), r.forEach((t => {
6786                    let s = parseInt(t.getAttribute("data-swiper-parallax-duration"), 10) || e;
6787                    0 === e && (s = 0), t.style.transitionDuration = `${s}ms`
6788                }))
6789            }(s)
6790        }))
6791    }, function(e) {
6792        let {
6793            swiper: t,
6794            extendParams: s,
6795            on: a,
6796            emit: i
6797        } = e;
6798        const n = r();
6799        s({
6800            zoom: {
6801                enabled: !1,
6802                limitToOriginalSize: !1,
6803                maxRatio: 3,
6804                minRatio: 1,
6805                toggle: !0,
6806                containerClass: "swiper-zoom-container",
6807                zoomedSlideClass: "swiper-slide-zoomed"
6808            }
6809        }), t.zoom = {
6810            enabled: !1
6811        };
6812        let l, o, c = 1,
6813            p = !1;
6814        const u = [],
6815            m = {
6816                originX: 0,
6817                originY: 0,
6818                slideEl: void 0,
6819                slideWidth: void 0,
6820                slideHeight: void 0,
6821                imageEl: void 0,
6822                imageWrapEl: void 0,
6823                maxRatio: 3
6824            },
6825            h = {
6826                isTouched: void 0,
6827                isMoved: void 0,
6828                currentX: void 0,
6829                currentY: void 0,
6830                minX: void 0,
6831                minY: void 0,
6832                maxX: void 0,
6833                maxY: void 0,
6834                width: void 0,
6835                height: void 0,
6836                startX: void 0,
6837                startY: void 0,
6838                touchesStart: {},
6839                touchesCurrent: {}
6840            },
6841            g = {
6842                x: void 0,
6843                y: void 0,
6844                prevPositionX: void 0,
6845                prevPositionY: void 0,
6846                prevTime: void 0
6847            };
6848        let v, b = 1;
6849
6850        function y() {
6851            if (u.length < 2) return 1;
6852            const e = u[0].pageX,
6853                t = u[0].pageY,
6854                s = u[1].pageX,
6855                a = u[1].pageY;
6856            return Math.sqrt((s - e) ** 2 + (a - t) ** 2)
6857        }
6858
6859        function x() {
6860            const e = t.params.zoom,
6861                s = m.imageWrapEl.getAttribute("data-swiper-zoom") || e.maxRatio;
6862            if (e.limitToOriginalSize && m.imageEl && m.imageEl.naturalWidth) {
6863                const e = m.imageEl.naturalWidth / m.imageEl.offsetWidth;
6864                return Math.min(e, s)
6865            }
6866            return s
6867        }
6868
6869        function S(e) {
6870            const s = t.isElement ? "swiper-slide" : `.${t.params.slideClass}`;
6871            return !!e.target.matches(s) || t.slides.filter((t => t.contains(e.target))).length > 0
6872        }
6873
6874        function T(e) {
6875            if ("mouse" === e.pointerType && u.splice(0, u.length), !S(e)) return;
6876            const s = t.params.zoom;
6877            if (l = !1, o = !1, u.push(e), !(u.length < 2)) {
6878                if (l = !0, m.scaleStart = y(), !m.slideEl) {
6879                    m.slideEl = e.target.closest(`.${t.params.slideClass}, swiper-slide`), m.slideEl || (m.slideEl = t.slides[t.activeIndex]);
6880                    let a = m.slideEl.querySelector(`.${s.containerClass}`);
6881                    if (a && (a = a.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]), m.imageEl = a, m.imageWrapEl = a ? E(m.imageEl, `.${s.containerClass}`)[0] : void 0, !m.imageWrapEl) return void(m.imageEl = void 0);
6882                    m.maxRatio = x()
6883                }
6884                if (m.imageEl) {
6885                    const [e, t] = function() {
6886                        if (u.length < 2) return {
6887                            x: null,
6888                            y: null
6889                        };
6890                        const e = m.imageEl.getBoundingClientRect();
6891                        return [(u[0].pageX + (u[1].pageX - u[0].pageX) / 2 - e.x - n.scrollX) / c, (u[0].pageY + (u[1].pageY - u[0].pageY) / 2 - e.y - n.scrollY) / c]
6892                    }();
6893                    m.originX = e, m.originY = t, m.imageEl.style.transitionDuration = "0ms"
6894                }
6895                p = !0
6896            }
6897        }
6898
6899        function M(e) {
6900            if (!S(e)) return;
6901            const s = t.params.zoom,
6902                a = t.zoom,
6903                i = u.findIndex((t => t.pointerId === e.pointerId));
6904            i >= 0 && (u[i] = e), u.length < 2 || (o = !0, m.scaleMove = y(), m.imageEl && (a.scale = m.scaleMove / m.scaleStart * c, a.scale > m.maxRatio && (a.scale = m.maxRatio - 1 + (a.scale - m.maxRatio + 1) ** .5), a.scale < s.minRatio && (a.scale = s.minRatio + 1 - (s.minRatio - a.scale + 1) ** .5), m.imageEl.style.transform = `translate3d(0,0,0) scale(${a.scale})`))
6905        }
6906
6907        function C(e) {
6908            if (!S(e)) return;
6909            if ("mouse" === e.pointerType && "pointerout" === e.type) return;
6910            const s = t.params.zoom,
6911                a = t.zoom,
6912                i = u.findIndex((t => t.pointerId === e.pointerId));
6913            i >= 0 && u.splice(i, 1), l && o && (l = !1, o = !1, m.imageEl && (a.scale = Math.max(Math.min(a.scale, m.maxRatio), s.minRatio), m.imageEl.style.transitionDuration = `${t.params.speed}ms`, m.imageEl.style.transform = `translate3d(0,0,0) scale(${a.scale})`, c = a.scale, p = !1, a.scale > 1 && m.slideEl ? m.slideEl.classList.add(`${s.zoomedSlideClass}`) : a.scale <= 1 && m.slideEl && m.slideEl.classList.remove(`${s.zoomedSlideClass}`), 1 === a.scale && (m.originX = 0, m.originY = 0, m.slideEl = void 0)))
6914        }
6915
6916        function P() {
6917            t.touchEventsData.preventTouchMoveFromPointerMove = !1
6918        }
6919
6920        function L(e) {
6921            if (!S(e) || ! function(e) {
6922                    const s = `.${t.params.zoom.containerClass}`;
6923                    return !!e.target.matches(s) || [...t.hostEl.querySelectorAll(s)].filter((t => t.contains(e.target))).length > 0
6924                }(e)) return;
6925            const s = t.zoom;
6926            if (!m.imageEl) return;
6927            if (!h.isTouched || !m.slideEl) return;
6928            h.isMoved || (h.width = m.imageEl.offsetWidth || m.imageEl.clientWidth, h.height = m.imageEl.offsetHeight || m.imageEl.clientHeight, h.startX = d(m.imageWrapEl, "x") || 0, h.startY = d(m.imageWrapEl, "y") || 0, m.slideWidth = m.slideEl.offsetWidth, m.slideHeight = m.slideEl.offsetHeight, m.imageWrapEl.style.transitionDuration = "0ms");
6929            const a = h.width * s.scale,
6930                i = h.height * s.scale;
6931            h.minX = Math.min(m.slideWidth / 2 - a / 2, 0), h.maxX = -h.minX, h.minY = Math.min(m.slideHeight / 2 - i / 2, 0), h.maxY = -h.minY, h.touchesCurrent.x = u.length > 0 ? u[0].pageX : e.pageX, h.touchesCurrent.y = u.length > 0 ? u[0].pageY : e.pageY;
6932            if (Math.max(Math.abs(h.touchesCurrent.x - h.touchesStart.x), Math.abs(h.touchesCurrent.y - h.touchesStart.y)) > 5 && (t.allowClick = !1), !h.isMoved && !p) {
6933                if (t.isHorizontal() && (Math.floor(h.minX) === Math.floor(h.startX) && h.touchesCurrent.x < h.touchesStart.x || Math.floor(h.maxX) === Math.floor(h.startX) && h.touchesCurrent.x > h.touchesStart.x)) return h.isTouched = !1, void P();
6934                if (!t.isHorizontal() && (Math.floor(h.minY) === Math.floor(h.startY) && h.touchesCurrent.y < h.touchesStart.y || Math.floor(h.maxY) === Math.floor(h.startY) && h.touchesCurrent.y > h.touchesStart.y)) return h.isTouched = !1, void P()
6935            }
6936            e.cancelable && e.preventDefault(), e.stopPropagation(), clearTimeout(v), t.touchEventsData.preventTouchMoveFromPointerMove = !0, v = setTimeout((() => {
6937                P()
6938            })), h.isMoved = !0;
6939            const r = (s.scale - c) / (m.maxRatio - t.params.zoom.minRatio),
6940                {
6941                    originX: n,
6942                    originY: l
6943                } = m;
6944            h.currentX = h.touchesCurrent.x - h.touchesStart.x + h.startX + r * (h.width - 2 * n), h.currentY = h.touchesCurrent.y - h.touchesStart.y + h.startY + r * (h.height - 2 * l), h.currentX < h.minX && (h.currentX = h.minX + 1 - (h.minX - h.currentX + 1) ** .8), h.currentX > h.maxX && (h.currentX = h.maxX - 1 + (h.currentX - h.maxX + 1) ** .8), h.currentY < h.minY && (h.currentY = h.minY + 1 - (h.minY - h.currentY + 1) ** .8), h.currentY > h.maxY && (h.currentY = h.maxY - 1 + (h.currentY - h.maxY + 1) ** .8), g.prevPositionX || (g.prevPositionX = h.touchesCurrent.x), g.prevPositionY || (g.prevPositionY = h.touchesCurrent.y), g.prevTime || (g.prevTime = Date.now()), g.x = (h.touchesCurrent.x - g.prevPositionX) / (Date.now() - g.prevTime) / 2, g.y = (h.touchesCurrent.y - g.prevPositionY) / (Date.now() - g.prevTime) / 2, Math.abs(h.touchesCurrent.x - g.prevPositionX) < 2 && (g.x = 0), Math.abs(h.touchesCurrent.y - g.prevPositionY) < 2 && (g.y = 0), g.prevPositionX = h.touchesCurrent.x, g.prevPositionY = h.touchesCurrent.y, g.prevTime = Date.now(), m.imageWrapEl.style.transform = `translate3d(${h.currentX}px, ${h.currentY}px,0)`
6945        }
6946
6947        function I() {
6948            const e = t.zoom;
6949            m.slideEl && t.activeIndex !== t.slides.indexOf(m.slideEl) && (m.imageEl && (m.imageEl.style.transform = "translate3d(0,0,0) scale(1)"), m.imageWrapEl && (m.imageWrapEl.style.transform = "translate3d(0,0,0)"), m.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`), e.scale = 1, c = 1, m.slideEl = void 0, m.imageEl = void 0, m.imageWrapEl = void 0, m.originX = 0, m.originY = 0)
6950        }
6951
6952        function A(e) {
6953            const s = t.zoom,
6954                a = t.params.zoom;
6955            if (!m.slideEl) {
6956                e && e.target && (m.slideEl = e.target.closest(`.${t.params.slideClass}, swiper-slide`)), m.slideEl || (t.params.virtual && t.params.virtual.enabled && t.virtual ? m.slideEl = f(t.slidesEl, `.${t.params.slideActiveClass}`)[0] : m.slideEl = t.slides[t.activeIndex]);
6957                let s = m.slideEl.querySelector(`.${a.containerClass}`);
6958                s && (s = s.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]), m.imageEl = s, m.imageWrapEl = s ? E(m.imageEl, `.${a.containerClass}`)[0] : void 0
6959            }
6960            if (!m.imageEl || !m.imageWrapEl) return;
6961            let i, r, l, o, d, p, u, g, v, b, y, S, T, M, C, P, L, I;
6962            t.params.cssMode && (t.wrapperEl.style.overflow = "hidden", t.wrapperEl.style.touchAction = "none"), m.slideEl.classList.add(`${a.zoomedSlideClass}`), void 0 === h.touchesStart.x && e ? (i = e.pageX, r = e.pageY) : (i = h.touchesStart.x, r = h.touchesStart.y);
6963            const A = "number" == typeof e ? e : null;
6964            1 === c && A && (i = void 0, r = void 0);
6965            const z = x();
6966            s.scale = A || z, c = A || z, !e || 1 === c && A ? (u = 0, g = 0) : (L = m.slideEl.offsetWidth, I = m.slideEl.offsetHeight, l = w(m.slideEl).left + n.scrollX, o = w(m.slideEl).top + n.scrollY, d = l + L / 2 - i, p = o + I / 2 - r, v = m.imageEl.offsetWidth || m.imageEl.clientWidth, b = m.imageEl.offsetHeight || m.imageEl.clientHeight, y = v * s.scale, S = b * s.scale, T = Math.min(L / 2 - y / 2, 0), M = Math.min(I / 2 - S / 2, 0), C = -T, P = -M, u = d * s.scale, g = p * s.scale, u < T && (u = T), u > C && (u = C), g < M && (g = M), g > P && (g = P)), A && 1 === s.scale && (m.originX = 0, m.originY = 0), m.imageWrapEl.style.transitionDuration = "300ms", m.imageWrapEl.style.transform = `translate3d(${u}px, ${g}px,0)`, m.imageEl.style.transitionDuration = "300ms", m.imageEl.style.transform = `translate3d(0,0,0) scale(${s.scale})`
6967        }
6968
6969        function z() {
6970            const e = t.zoom,
6971                s = t.params.zoom;
6972            if (!m.slideEl) {
6973                t.params.virtual && t.params.virtual.enabled && t.virtual ? m.slideEl = f(t.slidesEl, `.${t.params.slideActiveClass}`)[0] : m.slideEl = t.slides[t.activeIndex];
6974                let e = m.slideEl.querySelector(`.${s.containerClass}`);
6975                e && (e = e.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]), m.imageEl = e, m.imageWrapEl = e ? E(m.imageEl, `.${s.containerClass}`)[0] : void 0
6976            }
6977            m.imageEl && m.imageWrapEl && (t.params.cssMode && (t.wrapperEl.style.overflow = "", t.wrapperEl.style.touchAction = ""), e.scale = 1, c = 1, m.imageWrapEl.style.transitionDuration = "300ms", m.imageWrapEl.style.transform = "translate3d(0,0,0)", m.imageEl.style.transitionDuration = "300ms", m.imageEl.style.transform = "translate3d(0,0,0) scale(1)", m.slideEl.classList.remove(`${s.zoomedSlideClass}`), m.slideEl = void 0, m.originX = 0, m.originY = 0)
6978        }
6979
6980        function $(e) {
6981            const s = t.zoom;
6982            s.scale && 1 !== s.scale ? z() : A(e)
6983        }
6984
6985        function k() {
6986            return {
6987                passiveListener: !!t.params.passiveListeners && {
6988                    passive: !0,
6989                    capture: !1
6990                },
6991                activeListenerWithCapture: !t.params.passiveListeners || {
6992                    passive: !1,
6993                    capture: !0
6994                }
6995            }
6996        }
6997
6998        function O() {
6999            const e = t.zoom;
7000            if (e.enabled) return;
7001            e.enabled = !0;
7002            const {
7003                passiveListener: s,
7004                activeListenerWithCapture: a
7005            } = k();
7006            t.wrapperEl.addEventListener("pointerdown", T, s), t.wrapperEl.addEventListener("pointermove", M, a), ["pointerup", "pointercancel", "pointerout"].forEach((e => {
7007                t.wrapperEl.addEventListener(e, C, s)
7008            })), t.wrapperEl.addEventListener("pointermove", L, a)
7009        }
7010
7011        function D() {
7012            const e = t.zoom;
7013            if (!e.enabled) return;
7014            e.enabled = !1;
7015            const {
7016                passiveListener: s,
7017                activeListenerWithCapture: a
7018            } = k();
7019            t.wrapperEl.removeEventListener("pointerdown", T, s), t.wrapperEl.removeEventListener("pointermove", M, a), ["pointerup", "pointercancel", "pointerout"].forEach((e => {
7020                t.wrapperEl.removeEventListener(e, C, s)
7021            })), t.wrapperEl.removeEventListener("pointermove", L, a)
7022        }
7023        Object.defineProperty(t.zoom, "scale", {
7024            get: () => b,
7025            set(e) {
7026                if (b !== e) {
7027                    const t = m.imageEl,
7028                        s = m.slideEl;
7029                    i("zoomChange", e, t, s)
7030                }
7031                b = e
7032            }
7033        }), a("init", (() => {
7034            t.params.zoom.enabled && O()
7035        })), a("destroy", (() => {
7036            D()
7037        })), a("touchStart", ((e, s) => {
7038            t.zoom.enabled && function(e) {
7039                const s = t.device;
7040                if (!m.imageEl) return;
7041                if (h.isTouched) return;
7042                s.android && e.cancelable && e.preventDefault(), h.isTouched = !0;
7043                const a = u.length > 0 ? u[0] : e;
7044                h.touchesStart.x = a.pageX, h.touchesStart.y = a.pageY
7045            }(s)
7046        })), a("touchEnd", ((e, s) => {
7047            t.zoom.enabled && function() {
7048                const e = t.zoom;
7049                if (!m.imageEl) return;
7050                if (!h.isTouched || !h.isMoved) return h.isTouched = !1, void(h.isMoved = !1);
7051                h.isTouched = !1, h.isMoved = !1;
7052                let s = 300,
7053                    a = 300;
7054                const i = g.x * s,
7055                    r = h.currentX + i,
7056                    n = g.y * a,
7057                    l = h.currentY + n;
7058                0 !== g.x && (s = Math.abs((r - h.currentX) / g.x)), 0 !== g.y && (a = Math.abs((l - h.currentY) / g.y));
7059                const o = Math.max(s, a);
7060                h.currentX = r, h.currentY = l;
7061                const d = h.width * e.scale,
7062                    c = h.height * e.scale;
7063                h.minX = Math.min(m.slideWidth / 2 - d / 2, 0), h.maxX = -h.minX, h.minY = Math.min(m.slideHeight / 2 - c / 2, 0), h.maxY = -h.minY, h.currentX = Math.max(Math.min(h.currentX, h.maxX), h.minX), h.currentY = Math.max(Math.min(h.currentY, h.maxY), h.minY), m.imageWrapEl.style.transitionDuration = `${o}ms`, m.imageWrapEl.style.transform = `translate3d(${h.currentX}px, ${h.currentY}px,0)`
7064            }()
7065        })), a("doubleTap", ((e, s) => {
7066            !t.animating && t.params.zoom.enabled && t.zoom.enabled && t.params.zoom.toggle && $(s)
7067        })), a("transitionEnd", (() => {
7068            t.zoom.enabled && t.params.zoom.enabled && I()
7069        })), a("slideChange", (() => {
7070            t.zoom.enabled && t.params.zoom.enabled && t.params.cssMode && I()
7071        })), Object.assign(t.zoom, {
7072            enable: O,
7073            disable: D,
7074            in: A,
7075            out: z,
7076            toggle: $
7077        })
7078    }, function(e) {
7079        let {
7080            swiper: t,
7081            extendParams: s,
7082            on: a
7083        } = e;
7084
7085        function i(e, t) {
7086            const s = function() {
7087                let e, t, s;
7088                return (a, i) => {
7089                    for (t = -1, e = a.length; e - t > 1;) s = e + t >> 1, a[s] <= i ? t = s : e = s;
7090                    return e
7091                }
7092            }();
7093            let a, i;
7094            return this.x = e, this.y = t, this.lastIndex = e.length - 1, this.interpolate = function(e) {
7095                return e ? (i = s(this.x, e), a = i - 1, (e - this.x[a]) * (this.y[i] - this.y[a]) / (this.x[i] - this.x[a]) + this.y[a]) : 0
7096            }, this
7097        }
7098
7099        function r() {
7100            t.controller.control && t.controller.spline && (t.controller.spline = void 0, delete t.controller.spline)
7101        }
7102        s({
7103            controller: {
7104                control: void 0,
7105                inverse: !1,
7106                by: "slide"
7107            }
7108        }), t.controller = {
7109            control: void 0
7110        }, a("beforeInit", (() => {
7111            if ("undefined" != typeof window && ("string" == typeof t.params.controller.control || t.params.controller.control instanceof HTMLElement)) {
7112                const e = document.querySelector(t.params.controller.control);
7113                if (e && e.swiper) t.controller.control = e.swiper;
7114                else if (e) {
7115                    const s = a => {
7116                        t.controller.control = a.detail[0], t.update(), e.removeEventListener("init", s)
7117                    };
7118                    e.addEventListener("init", s)
7119                }
7120            } else t.controller.control = t.params.controller.control
7121        })), a("update", (() => {
7122            r()
7123        })), a("resize", (() => {
7124            r()
7125        })), a("observerUpdate", (() => {
7126            r()
7127        })), a("setTranslate", ((e, s, a) => {
7128            t.controller.control && !t.controller.control.destroyed && t.controller.setTranslate(s, a)
7129        })), a("setTransition", ((e, s, a) => {
7130            t.controller.control && !t.controller.control.destroyed && t.controller.setTransition(s, a)
7131        })), Object.assign(t.controller, {
7132            setTranslate: function(e, s) {
7133                const a = t.controller.control;
7134                let r, n;
7135                const l = t.constructor;
7136
7137                function o(e) {
7138                    if (e.destroyed) return;
7139                    const s = t.rtlTranslate ? -t.translate : t.translate;
7140                    "slide" === t.params.controller.by && (! function(e) {
7141                        t.controller.spline = t.params.loop ? new i(t.slidesGrid, e.slidesGrid) : new i(t.snapGrid, e.snapGrid)
7142                    }(e), n = -t.controller.spline.interpolate(-s)), n && "container" !== t.params.controller.by || (r = (e.maxTranslate() - e.minTranslate()) / (t.maxTranslate() - t.minTranslate()), !Number.isNaN(r) && Number.isFinite(r) || (r = 1), n = (s - t.minTranslate()) * r + e.minTranslate()), t.params.controller.inverse && (n = e.maxTranslate() - n), e.updateProgress(n), e.setTranslate(n, t), e.updateActiveIndex(), e.updateSlidesClasses()
7143                }
7144                if (Array.isArray(a))
7145                    for (let e = 0; e < a.length; e += 1) a[e] !== s && a[e] instanceof l && o(a[e]);
7146                else a instanceof l && s !== a && o(a)
7147            },
7148            setTransition: function(e, s) {
7149                const a = t.constructor,
7150                    i = t.controller.control;
7151                let r;
7152
7153                function n(s) {
7154                    s.destroyed || (s.setTransition(e, t), 0 !== e && (s.transitionStart(), s.params.autoHeight && l((() => {
7155                        s.updateAutoHeight()
7156                    })), x(s.wrapperEl, (() => {
7157                        i && s.transitionEnd()
7158                    }))))
7159                }
7160                if (Array.isArray(i))
7161                    for (r = 0; r < i.length; r += 1) i[r] !== s && i[r] instanceof a && n(i[r]);
7162                else i instanceof a && s !== i && n(i)
7163            }
7164        })
7165    }, function(e) {
7166        let {
7167            swiper: t,
7168            extendParams: s,
7169            on: i
7170        } = e;
7171        s({
7172            a11y: {
7173                enabled: !0,
7174                notificationClass: "swiper-notification",
7175                prevSlideMessage: "Previous slide",
7176                nextSlideMessage: "Next slide",
7177                firstSlideMessage: "This is the first slide",
7178                lastSlideMessage: "This is the last slide",
7179                paginationBulletMessage: "Go to slide {{index}}",
7180                slideLabelMessage: "{{index}} / {{slidesLength}}",
7181                containerMessage: null,
7182                containerRoleDescriptionMessage: null,
7183                itemRoleDescriptionMessage: null,
7184                slideRole: "group",
7185                id: null
7186            }
7187        }), t.a11y = {
7188            clicked: !1
7189        };
7190        let r, n, l = null,
7191            o = (new Date).getTime();
7192
7193        function d(e) {
7194            const t = l;
7195            0 !== t.length && (t.innerHTML = "", t.innerHTML = e)
7196        }
7197
7198        function c(e) {
7199            (e = T(e)).forEach((e => {
7200                e.setAttribute("tabIndex", "0")
7201            }))
7202        }
7203
7204        function p(e) {
7205            (e = T(e)).forEach((e => {
7206                e.setAttribute("tabIndex", "-1")
7207            }))
7208        }
7209
7210        function u(e, t) {
7211            (e = T(e)).forEach((e => {
7212                e.setAttribute("role", t)
7213            }))
7214        }
7215
7216        function m(e, t) {
7217            (e = T(e)).forEach((e => {
7218                e.setAttribute("aria-roledescription", t)
7219            }))
7220        }
7221
7222        function h(e, t) {
7223            (e = T(e)).forEach((e => {
7224                e.setAttribute("aria-label", t)
7225            }))
7226        }
7227
7228        function f(e) {
7229            (e = T(e)).forEach((e => {
7230                e.setAttribute("aria-disabled", !0)
7231            }))
7232        }
7233
7234        function g(e) {
7235            (e = T(e)).forEach((e => {
7236                e.setAttribute("aria-disabled", !1)
7237            }))
7238        }
7239
7240        function w(e) {
7241            if (13 !== e.keyCode && 32 !== e.keyCode) return;
7242            const s = t.params.a11y,
7243                a = e.target;
7244            if (!t.pagination || !t.pagination.el || a !== t.pagination.el && !t.pagination.el.contains(e.target) || e.target.matches(re(t.params.pagination.bulletClass))) {
7245                if (t.navigation && t.navigation.prevEl && t.navigation.nextEl) {
7246                    const e = T(t.navigation.prevEl);
7247                    T(t.navigation.nextEl).includes(a) && (t.isEnd && !t.params.loop || t.slideNext(), t.isEnd ? d(s.lastSlideMessage) : d(s.nextSlideMessage)), e.includes(a) && (t.isBeginning && !t.params.loop || t.slidePrev(), t.isBeginning ? d(s.firstSlideMessage) : d(s.prevSlideMessage))
7248                }
7249                t.pagination && a.matches(re(t.params.pagination.bulletClass)) && a.click()
7250            }
7251        }
7252
7253        function b() {
7254            return t.pagination && t.pagination.bullets && t.pagination.bullets.length
7255        }
7256
7257        function E() {
7258            return b() && t.params.pagination.clickable
7259        }
7260        const x = (e, t, s) => {
7261                c(e), "BUTTON" !== e.tagName && (u(e, "button"), e.addEventListener("keydown", w)), h(e, s),
7262                    function(e, t) {
7263                        (e = T(e)).forEach((e => {
7264                            e.setAttribute("aria-controls", t)
7265                        }))
7266                    }(e, t)
7267            },
7268            S = e => {
7269                n && n !== e.target && !n.contains(e.target) && (r = !0), t.a11y.clicked = !0
7270            },
7271            M = () => {
7272                r = !1, requestAnimationFrame((() => {
7273                    requestAnimationFrame((() => {
7274                        t.destroyed || (t.a11y.clicked = !1)
7275                    }))
7276                }))
7277            },
7278            C = e => {
7279                o = (new Date).getTime()
7280            },
7281            P = e => {
7282                if (t.a11y.clicked) return;
7283                if ((new Date).getTime() - o < 100) return;
7284                const s = e.target.closest(`.${t.params.slideClass}, swiper-slide`);
7285                if (!s || !t.slides.includes(s)) return;
7286                n = s;
7287                const a = t.slides.indexOf(s) === t.activeIndex,
7288                    i = t.params.watchSlidesProgress && t.visibleSlides && t.visibleSlides.includes(s);
7289                a || i || e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents || (t.isHorizontal() ? t.el.scrollLeft = 0 : t.el.scrollTop = 0, requestAnimationFrame((() => {
7290                    r || (t.params.loop ? t.slideToLoop(parseInt(s.getAttribute("data-swiper-slide-index")), 0) : t.slideTo(t.slides.indexOf(s), 0), r = !1)
7291                })))
7292            },
7293            L = () => {
7294                const e = t.params.a11y;
7295                e.itemRoleDescriptionMessage && m(t.slides, e.itemRoleDescriptionMessage), e.slideRole && u(t.slides, e.slideRole);
7296                const s = t.slides.length;
7297                e.slideLabelMessage && t.slides.forEach(((a, i) => {
7298                    const r = t.params.loop ? parseInt(a.getAttribute("data-swiper-slide-index"), 10) : i;
7299                    h(a, e.slideLabelMessage.replace(/\{\{index\}\}/, r + 1).replace(/\{\{slidesLength\}\}/, s))
7300                }))
7301            },
7302            I = () => {
7303                const e = t.params.a11y;
7304                t.el.append(l);
7305                const s = t.el;
7306                e.containerRoleDescriptionMessage && m(s, e.containerRoleDescriptionMessage), e.containerMessage && h(s, e.containerMessage);
7307                const i = t.wrapperEl,
7308                    r = e.id || i.getAttribute("id") || `swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;
7309                var n;
7310                const o = t.params.autoplay && t.params.autoplay.enabled ? "off" : "polite";
7311                var d;
7312                d = r, T(i).forEach((e => {
7313                        e.setAttribute("id", d)
7314                    })),
7315                    function(e, t) {
vendor: 10,848 bytes, lines 7316-7536
7316                        (e = T(e)).forEach((e => {
7317                            e.setAttribute("aria-live", t)
7318                        }))
7319                    }(i, o), L();
7320                let {
7321                    nextEl: c,
7322                    prevEl: p
7323                } = t.navigation ? t.navigation : {};
7324                if (c = T(c), p = T(p), c && c.forEach((t => x(t, r, e.nextSlideMessage))), p && p.forEach((t => x(t, r, e.prevSlideMessage))), E()) {
7325                    T(t.pagination.el).forEach((e => {
7326                        e.addEventListener("keydown", w)
7327                    }))
7328                }
7329                a().addEventListener("visibilitychange", C), t.el.addEventListener("focus", P, !0), t.el.addEventListener("focus", P, !0), t.el.addEventListener("pointerdown", S, !0), t.el.addEventListener("pointerup", M, !0)
7330            };
7331        i("beforeInit", (() => {
7332            l = v("span", t.params.a11y.notificationClass), l.setAttribute("aria-live", "assertive"), l.setAttribute("aria-atomic", "true")
7333        })), i("afterInit", (() => {
7334            t.params.a11y.enabled && I()
7335        })), i("slidesLengthChange snapGridLengthChange slidesGridLengthChange", (() => {
7336            t.params.a11y.enabled && L()
7337        })), i("fromEdge toEdge afterInit lock unlock", (() => {
7338            t.params.a11y.enabled && function() {
7339                if (t.params.loop || t.params.rewind || !t.navigation) return;
7340                const {
7341                    nextEl: e,
7342                    prevEl: s
7343                } = t.navigation;
7344                s && (t.isBeginning ? (f(s), p(s)) : (g(s), c(s))), e && (t.isEnd ? (f(e), p(e)) : (g(e), c(e)))
7345            }()
7346        })), i("paginationUpdate", (() => {
7347            t.params.a11y.enabled && function() {
7348                const e = t.params.a11y;
7349                b() && t.pagination.bullets.forEach((s => {
7350                    t.params.pagination.clickable && (c(s), t.params.pagination.renderBullet || (u(s, "button"), h(s, e.paginationBulletMessage.replace(/\{\{index\}\}/, y(s) + 1)))), s.matches(re(t.params.pagination.bulletActiveClass)) ? s.setAttribute("aria-current", "true") : s.removeAttribute("aria-current")
7351                }))
7352            }()
7353        })), i("destroy", (() => {
7354            t.params.a11y.enabled && function() {
7355                l && l.remove();
7356                let {
7357                    nextEl: e,
7358                    prevEl: s
7359                } = t.navigation ? t.navigation : {};
7360                e = T(e), s = T(s), e && e.forEach((e => e.removeEventListener("keydown", w))), s && s.forEach((e => e.removeEventListener("keydown", w))), E() && T(t.pagination.el).forEach((e => {
7361                    e.removeEventListener("keydown", w)
7362                }));
7363                a().removeEventListener("visibilitychange", C), t.el && "string" != typeof t.el && (t.el.removeEventListener("focus", P, !0), t.el.removeEventListener("pointerdown", S, !0), t.el.removeEventListener("pointerup", M, !0))
7364            }()
7365        }))
7366    }, function(e) {
7367        let {
7368            swiper: t,
7369            extendParams: s,
7370            on: a
7371        } = e;
7372        s({
7373            history: {
7374                enabled: !1,
7375                root: "",
7376                replaceState: !1,
7377                key: "slides",
7378                keepQuery: !1
7379            }
7380        });
7381        let i = !1,
7382            n = {};
7383        const l = e => e.toString().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, ""),
7384            o = e => {
7385                const t = r();
7386                let s;
7387                s = e ? new URL(e) : t.location;
7388                const a = s.pathname.slice(1).split("/").filter((e => "" !== e)),
7389                    i = a.length;
7390                return {
7391                    key: a[i - 2],
7392                    value: a[i - 1]
7393                }
7394            },
7395            d = (e, s) => {
7396                const a = r();
7397                if (!i || !t.params.history.enabled) return;
7398                let n;
7399                n = t.params.url ? new URL(t.params.url) : a.location;
7400                const o = t.virtual && t.params.virtual.enabled ? t.slidesEl.querySelector(`[data-swiper-slide-index="${s}"]`) : t.slides[s];
7401                let d = l(o.getAttribute("data-history"));
7402                if (t.params.history.root.length > 0) {
7403                    let s = t.params.history.root;
7404                    "/" === s[s.length - 1] && (s = s.slice(0, s.length - 1)), d = `${s}/${e?`${e}/`:""}${d}`
7405                } else n.pathname.includes(e) || (d = `${e?`${e}/`:""}${d}`);
7406                t.params.history.keepQuery && (d += n.search);
7407                const c = a.history.state;
7408                c && c.value === d || (t.params.history.replaceState ? a.history.replaceState({
7409                    value: d
7410                }, null, d) : a.history.pushState({
7411                    value: d
7412                }, null, d))
7413            },
7414            c = (e, s, a) => {
7415                if (s)
7416                    for (let i = 0, r = t.slides.length; i < r; i += 1) {
7417                        const r = t.slides[i];
7418                        if (l(r.getAttribute("data-history")) === s) {
7419                            const s = t.getSlideIndex(r);
7420                            t.slideTo(s, e, a)
7421                        }
7422                    } else t.slideTo(0, e, a)
7423            },
7424            p = () => {
7425                n = o(t.params.url), c(t.params.speed, n.value, !1)
7426            };
7427        a("init", (() => {
7428            t.params.history.enabled && (() => {
7429                const e = r();
7430                if (t.params.history) {
7431                    if (!e.history || !e.history.pushState) return t.params.history.enabled = !1, void(t.params.hashNavigation.enabled = !0);
7432                    i = !0, n = o(t.params.url), n.key || n.value ? (c(0, n.value, t.params.runCallbacksOnInit), t.params.history.replaceState || e.addEventListener("popstate", p)) : t.params.history.replaceState || e.addEventListener("popstate", p)
7433                }
7434            })()
7435        })), a("destroy", (() => {
7436            t.params.history.enabled && (() => {
7437                const e = r();
7438                t.params.history.replaceState || e.removeEventListener("popstate", p)
7439            })()
7440        })), a("transitionEnd _freeModeNoMomentumRelease", (() => {
7441            i && d(t.params.history.key, t.activeIndex)
7442        })), a("slideChange", (() => {
7443            i && t.params.cssMode && d(t.params.history.key, t.activeIndex)
7444        }))
7445    }, function(e) {
7446        let {
7447            swiper: t,
7448            extendParams: s,
7449            emit: i,
7450            on: n
7451        } = e, l = !1;
7452        const o = a(),
7453            d = r();
7454        s({
7455            hashNavigation: {
7456                enabled: !1,
7457                replaceState: !1,
7458                watchState: !1,
7459                getSlideIndex(e, s) {
7460                    if (t.virtual && t.params.virtual.enabled) {
7461                        const e = t.slides.filter((e => e.getAttribute("data-hash") === s))[0];
7462                        if (!e) return 0;
7463                        return parseInt(e.getAttribute("data-swiper-slide-index"), 10)
7464                    }
7465                    return t.getSlideIndex(f(t.slidesEl, `.${t.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`)[0])
7466                }
7467            }
7468        });
7469        const c = () => {
7470                i("hashChange");
7471                const e = o.location.hash.replace("#", ""),
7472                    s = t.virtual && t.params.virtual.enabled ? t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`) : t.slides[t.activeIndex];
7473                if (e !== (s ? s.getAttribute("data-hash") : "")) {
7474                    const s = t.params.hashNavigation.getSlideIndex(t, e);
7475                    if (void 0 === s || Number.isNaN(s)) return;
7476                    t.slideTo(s)
7477                }
7478            },
7479            p = () => {
7480                if (!l || !t.params.hashNavigation.enabled) return;
7481                const e = t.virtual && t.params.virtual.enabled ? t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`) : t.slides[t.activeIndex],
7482                    s = e ? e.getAttribute("data-hash") || e.getAttribute("data-history") : "";
7483                t.params.hashNavigation.replaceState && d.history && d.history.replaceState ? (d.history.replaceState(null, null, `#${s}` || ""), i("hashSet")) : (o.location.hash = s || "", i("hashSet"))
7484            };
7485        n("init", (() => {
7486            t.params.hashNavigation.enabled && (() => {
7487                if (!t.params.hashNavigation.enabled || t.params.history && t.params.history.enabled) return;
7488                l = !0;
7489                const e = o.location.hash.replace("#", "");
7490                if (e) {
7491                    const s = 0,
7492                        a = t.params.hashNavigation.getSlideIndex(t, e);
7493                    t.slideTo(a || 0, s, t.params.runCallbacksOnInit, !0)
7494                }
7495                t.params.hashNavigation.watchState && d.addEventListener("hashchange", c)
7496            })()
7497        })), n("destroy", (() => {
7498            t.params.hashNavigation.enabled && t.params.hashNavigation.watchState && d.removeEventListener("hashchange", c)
7499        })), n("transitionEnd _freeModeNoMomentumRelease", (() => {
7500            l && p()
7501        })), n("slideChange", (() => {
7502            l && t.params.cssMode && p()
7503        }))
7504    }, function(e) {
7505        let t, s, {
7506            swiper: i,
7507            extendParams: r,
7508            on: n,
7509            emit: l,
7510            params: o
7511        } = e;
7512        i.autoplay = {
7513            running: !1,
7514            paused: !1,
7515            timeLeft: 0
7516        }, r({
7517            autoplay: {
7518                enabled: !1,
7519                delay: 3e3,
7520                waitForTransition: !0,
7521                disableOnInteraction: !1,
7522                stopOnLastSlide: !1,
7523                reverseDirection: !1,
7524                pauseOnMouseEnter: !1
7525            }
7526        });
7527        let d, c, p, u, m, h, f, g, v = o && o.autoplay ? o.autoplay.delay : 3e3,
7528            w = o && o.autoplay ? o.autoplay.delay : 3e3,
7529            b = (new Date).getTime();
7530
7531        function y(e) {
7532            i && !i.destroyed && i.wrapperEl && e.target === i.wrapperEl && (i.wrapperEl.removeEventListener("transitionend", y), g || e.detail && e.detail.bySwiperTouchMove || C())
7533        }
7534        const E = () => {
7535                if (i.destroyed || !i.autoplay.running) return;
7536                i.autoplay.paused ? c = !0 : c && (w = d, c = !1);
vendor: 4,161 bytes, lines 7537-7601
7537                const e = i.autoplay.paused ? d : b + w - (new Date).getTime();
7538                i.autoplay.timeLeft = e, l("autoplayTimeLeft", e, e / v), s = requestAnimationFrame((() => {
7539                    E()
7540                }))
7541            },
7542            x = e => {
7543                if (i.destroyed || !i.autoplay.running) return;
7544                cancelAnimationFrame(s), E();
7545                let a = void 0 === e ? i.params.autoplay.delay : e;
7546                v = i.params.autoplay.delay, w = i.params.autoplay.delay;
7547                const r = (() => {
7548                    let e;
7549                    if (e = i.virtual && i.params.virtual.enabled ? i.slides.filter((e => e.classList.contains("swiper-slide-active")))[0] : i.slides[i.activeIndex], !e) return;
7550                    return parseInt(e.getAttribute("data-swiper-autoplay"), 10)
7551                })();
7552                !Number.isNaN(r) && r > 0 && void 0 === e && (a = r, v = r, w = r), d = a;
7553                const n = i.params.speed,
7554                    o = () => {
7555                        i && !i.destroyed && (i.params.autoplay.reverseDirection ? !i.isBeginning || i.params.loop || i.params.rewind ? (i.slidePrev(n, !0, !0), l("autoplay")) : i.params.autoplay.stopOnLastSlide || (i.slideTo(i.slides.length - 1, n, !0, !0), l("autoplay")) : !i.isEnd || i.params.loop || i.params.rewind ? (i.slideNext(n, !0, !0), l("autoplay")) : i.params.autoplay.stopOnLastSlide || (i.slideTo(0, n, !0, !0), l("autoplay")), i.params.cssMode && (b = (new Date).getTime(), requestAnimationFrame((() => {
7556                            x()
7557                        }))))
7558                    };
7559                return a > 0 ? (clearTimeout(t), t = setTimeout((() => {
7560                    o()
7561                }), a)) : requestAnimationFrame((() => {
7562                    o()
7563                })), a
7564            },
7565            S = () => {
7566                b = (new Date).getTime(), i.autoplay.running = !0, x(), l("autoplayStart")
7567            },
7568            T = () => {
7569                i.autoplay.running = !1, clearTimeout(t), cancelAnimationFrame(s), l("autoplayStop")
7570            },
7571            M = (e, s) => {
7572                if (i.destroyed || !i.autoplay.running) return;
7573                clearTimeout(t), e || (f = !0);
7574                const a = () => {
7575                    l("autoplayPause"), i.params.autoplay.waitForTransition ? i.wrapperEl.addEventListener("transitionend", y) : C()
7576                };
7577                if (i.autoplay.paused = !0, s) return h && (d = i.params.autoplay.delay), h = !1, void a();
7578                const r = d || i.params.autoplay.delay;
7579                d = r - ((new Date).getTime() - b), i.isEnd && d < 0 && !i.params.loop || (d < 0 && (d = 0), a())
7580            },
7581            C = () => {
7582                i.isEnd && d < 0 && !i.params.loop || i.destroyed || !i.autoplay.running || (b = (new Date).getTime(), f ? (f = !1, x(d)) : x(), i.autoplay.paused = !1, l("autoplayResume"))
7583            },
7584            P = () => {
7585                if (i.destroyed || !i.autoplay.running) return;
7586                const e = a();
7587                "hidden" === e.visibilityState && (f = !0, M(!0)), "visible" === e.visibilityState && C()
7588            },
7589            L = e => {
7590                "mouse" === e.pointerType && (f = !0, g = !0, i.animating || i.autoplay.paused || M(!0))
7591            },
7592            I = e => {
7593                "mouse" === e.pointerType && (g = !1, i.autoplay.paused && C())
7594            };
7595        n("init", (() => {
7596            i.params.autoplay.enabled && (i.params.autoplay.pauseOnMouseEnter && (i.el.addEventListener("pointerenter", L), i.el.addEventListener("pointerleave", I)), a().addEventListener("visibilitychange", P), S())
7597        })), n("destroy", (() => {
7598            i.el && "string" != typeof i.el && (i.el.removeEventListener("pointerenter", L), i.el.removeEventListener("pointerleave", I)), a().removeEventListener("visibilitychange", P), i.autoplay.running && T()
7599        })), n("_freeModeStaticRelease", (() => {
7600            (u || f) && C()
7601        })), n("_freeModeNoMomentumRelease", (() => {
vendor: 40,350 bytes, lines 7602-8432
7602            i.params.autoplay.disableOnInteraction ? T() : M(!0, !0)
7603        })), n("beforeTransitionStart", ((e, t, s) => {
7604            !i.destroyed && i.autoplay.running && (s || !i.params.autoplay.disableOnInteraction ? M(!0, !0) : T())
7605        })), n("sliderFirstMove", (() => {
7606            !i.destroyed && i.autoplay.running && (i.params.autoplay.disableOnInteraction ? T() : (p = !0, u = !1, f = !1, m = setTimeout((() => {
7607                f = !0, u = !0, M(!0)
7608            }), 200)))
7609        })), n("touchEnd", (() => {
7610            if (!i.destroyed && i.autoplay.running && p) {
7611                if (clearTimeout(m), clearTimeout(t), i.params.autoplay.disableOnInteraction) return u = !1, void(p = !1);
7612                u && i.params.cssMode && C(), u = !1, p = !1
7613            }
7614        })), n("slideChange", (() => {
7615            !i.destroyed && i.autoplay.running && (h = !0)
7616        })), Object.assign(i.autoplay, {
7617            start: S,
7618            stop: T,
7619            pause: M,
7620            resume: C
7621        })
7622    }, function(e) {
7623        let {
7624            swiper: t,
7625            extendParams: s,
7626            on: i
7627        } = e;
7628        s({
7629            thumbs: {
7630                swiper: null,
7631                multipleActiveThumbs: !0,
7632                autoScrollOffset: 0,
7633                slideThumbActiveClass: "swiper-slide-thumb-active",
7634                thumbsContainerClass: "swiper-thumbs"
7635            }
7636        });
7637        let r = !1,
7638            n = !1;
7639
7640        function l() {
7641            const e = t.thumbs.swiper;
7642            if (!e || e.destroyed) return;
7643            const s = e.clickedIndex,
7644                a = e.clickedSlide;
7645            if (a && a.classList.contains(t.params.thumbs.slideThumbActiveClass)) return;
7646            if (null == s) return;
7647            let i;
7648            i = e.params.loop ? parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"), 10) : s, t.params.loop ? t.slideToLoop(i) : t.slideTo(i)
7649        }
7650
7651        function o() {
7652            const {
7653                thumbs: e
7654            } = t.params;
7655            if (r) return !1;
7656            r = !0;
7657            const s = t.constructor;
7658            if (e.swiper instanceof s) t.thumbs.swiper = e.swiper, Object.assign(t.thumbs.swiper.originalParams, {
7659                watchSlidesProgress: !0,
7660                slideToClickedSlide: !1
7661            }), Object.assign(t.thumbs.swiper.params, {
7662                watchSlidesProgress: !0,
7663                slideToClickedSlide: !1
7664            }), t.thumbs.swiper.update();
7665            else if (c(e.swiper)) {
7666                const a = Object.assign({}, e.swiper);
7667                Object.assign(a, {
7668                    watchSlidesProgress: !0,
7669                    slideToClickedSlide: !1
7670                }), t.thumbs.swiper = new s(a), n = !0
7671            }
7672            return t.thumbs.swiper.el.classList.add(t.params.thumbs.thumbsContainerClass), t.thumbs.swiper.on("tap", l), !0
7673        }
7674
7675        function d(e) {
7676            const s = t.thumbs.swiper;
7677            if (!s || s.destroyed) return;
7678            const a = "auto" === s.params.slidesPerView ? s.slidesPerViewDynamic() : s.params.slidesPerView;
7679            let i = 1;
7680            const r = t.params.thumbs.slideThumbActiveClass;
7681            if (t.params.slidesPerView > 1 && !t.params.centeredSlides && (i = t.params.slidesPerView), t.params.thumbs.multipleActiveThumbs || (i = 1), i = Math.floor(i), s.slides.forEach((e => e.classList.remove(r))), s.params.loop || s.params.virtual && s.params.virtual.enabled)
7682                for (let e = 0; e < i; e += 1) f(s.slidesEl, `[data-swiper-slide-index="${t.realIndex+e}"]`).forEach((e => {
7683                    e.classList.add(r)
7684                }));
7685            else
7686                for (let e = 0; e < i; e += 1) s.slides[t.realIndex + e] && s.slides[t.realIndex + e].classList.add(r);
7687            const n = t.params.thumbs.autoScrollOffset,
7688                l = n && !s.params.loop;
7689            if (t.realIndex !== s.realIndex || l) {
7690                const i = s.activeIndex;
7691                let r, o;
7692                if (s.params.loop) {
7693                    const e = s.slides.filter((e => e.getAttribute("data-swiper-slide-index") === `${t.realIndex}`))[0];
7694                    r = s.slides.indexOf(e), o = t.activeIndex > t.previousIndex ? "next" : "prev"
7695                } else r = t.realIndex, o = r > t.previousIndex ? "next" : "prev";
7696                l && (r += "next" === o ? n : -1 * n), s.visibleSlidesIndexes && s.visibleSlidesIndexes.indexOf(r) < 0 && (s.params.centeredSlides ? r = r > i ? r - Math.floor(a / 2) + 1 : r + Math.floor(a / 2) - 1 : r > i && s.params.slidesPerGroup, s.slideTo(r, e ? 0 : void 0))
7697            }
7698        }
7699        t.thumbs = {
7700            swiper: null
7701        }, i("beforeInit", (() => {
7702            const {
7703                thumbs: e
7704            } = t.params;
7705            if (e && e.swiper)
7706                if ("string" == typeof e.swiper || e.swiper instanceof HTMLElement) {
7707                    const s = a(),
7708                        i = () => {
7709                            const a = "string" == typeof e.swiper ? s.querySelector(e.swiper) : e.swiper;
7710                            if (a && a.swiper) e.swiper = a.swiper, o(), d(!0);
7711                            else if (a) {
7712                                const s = i => {
7713                                    e.swiper = i.detail[0], a.removeEventListener("init", s), o(), d(!0), e.swiper.update(), t.update()
7714                                };
7715                                a.addEventListener("init", s)
7716                            }
7717                            return a
7718                        },
7719                        r = () => {
7720                            if (t.destroyed) return;
7721                            i() || requestAnimationFrame(r)
7722                        };
7723                    requestAnimationFrame(r)
7724                } else o(), d(!0)
7725        })), i("slideChange update resize observerUpdate", (() => {
7726            d()
7727        })), i("setTransition", ((e, s) => {
7728            const a = t.thumbs.swiper;
7729            a && !a.destroyed && a.setTransition(s)
7730        })), i("beforeDestroy", (() => {
7731            const e = t.thumbs.swiper;
7732            e && !e.destroyed && n && e.destroy()
7733        })), Object.assign(t.thumbs, {
7734            init: o,
7735            update: d
7736        })
7737    }, function(e) {
7738        let {
7739            swiper: t,
7740            extendParams: s,
7741            emit: a,
7742            once: i
7743        } = e;
7744        s({
7745            freeMode: {
7746                enabled: !1,
7747                momentum: !0,
7748                momentumRatio: 1,
7749                momentumBounce: !0,
7750                momentumBounceRatio: 1,
7751                momentumVelocityRatio: 1,
7752                sticky: !1,
7753                minimumVelocity: .02
7754            }
7755        }), Object.assign(t, {
7756            freeMode: {
7757                onTouchStart: function() {
7758                    if (t.params.cssMode) return;
7759                    const e = t.getTranslate();
7760                    t.setTranslate(e), t.setTransition(0), t.touchEventsData.velocities.length = 0, t.freeMode.onTouchEnd({
7761                        currentPos: t.rtl ? t.translate : -t.translate
7762                    })
7763                },
7764                onTouchMove: function() {
7765                    if (t.params.cssMode) return;
7766                    const {
7767                        touchEventsData: e,
7768                        touches: s
7769                    } = t;
7770                    0 === e.velocities.length && e.velocities.push({
7771                        position: s[t.isHorizontal() ? "startX" : "startY"],
7772                        time: e.touchStartTime
7773                    }), e.velocities.push({
7774                        position: s[t.isHorizontal() ? "currentX" : "currentY"],
7775                        time: o()
7776                    })
7777                },
7778                onTouchEnd: function(e) {
7779                    let {
7780                        currentPos: s
7781                    } = e;
7782                    if (t.params.cssMode) return;
7783                    const {
7784                        params: r,
7785                        wrapperEl: n,
7786                        rtlTranslate: l,
7787                        snapGrid: d,
7788                        touchEventsData: c
7789                    } = t, p = o() - c.touchStartTime;
7790                    if (s < -t.minTranslate()) t.slideTo(t.activeIndex);
7791                    else if (s > -t.maxTranslate()) t.slides.length < d.length ? t.slideTo(d.length - 1) : t.slideTo(t.slides.length - 1);
7792                    else {
7793                        if (r.freeMode.momentum) {
7794                            if (c.velocities.length > 1) {
7795                                const e = c.velocities.pop(),
7796                                    s = c.velocities.pop(),
7797                                    a = e.position - s.position,
7798                                    i = e.time - s.time;
7799                                t.velocity = a / i, t.velocity /= 2, Math.abs(t.velocity) < r.freeMode.minimumVelocity && (t.velocity = 0), (i > 150 || o() - e.time > 300) && (t.velocity = 0)
7800                            } else t.velocity = 0;
7801                            t.velocity *= r.freeMode.momentumVelocityRatio, c.velocities.length = 0;
7802                            let e = 1e3 * r.freeMode.momentumRatio;
7803                            const s = t.velocity * e;
7804                            let p = t.translate + s;
7805                            l && (p = -p);
7806                            let u, m = !1;
7807                            const h = 20 * Math.abs(t.velocity) * r.freeMode.momentumBounceRatio;
7808                            let f;
7809                            if (p < t.maxTranslate()) r.freeMode.momentumBounce ? (p + t.maxTranslate() < -h && (p = t.maxTranslate() - h), u = t.maxTranslate(), m = !0, c.allowMomentumBounce = !0) : p = t.maxTranslate(), r.loop && r.centeredSlides && (f = !0);
7810                            else if (p > t.minTranslate()) r.freeMode.momentumBounce ? (p - t.minTranslate() > h && (p = t.minTranslate() + h), u = t.minTranslate(), m = !0, c.allowMomentumBounce = !0) : p = t.minTranslate(), r.loop && r.centeredSlides && (f = !0);
7811                            else if (r.freeMode.sticky) {
7812                                let e;
7813                                for (let t = 0; t < d.length; t += 1)
7814                                    if (d[t] > -p) {
7815                                        e = t;
7816                                        break
7817                                    } p = Math.abs(d[e] - p) < Math.abs(d[e - 1] - p) || "next" === t.swipeDirection ? d[e] : d[e - 1], p = -p
7818                            }
7819                            if (f && i("transitionEnd", (() => {
7820                                    t.loopFix()
7821                                })), 0 !== t.velocity) {
7822                                if (e = l ? Math.abs((-p - t.translate) / t.velocity) : Math.abs((p - t.translate) / t.velocity), r.freeMode.sticky) {
7823                                    const s = Math.abs((l ? -p : p) - t.translate),
7824                                        a = t.slidesSizesGrid[t.activeIndex];
7825                                    e = s < a ? r.speed : s < 2 * a ? 1.5 * r.speed : 2.5 * r.speed
7826                                }
7827                            } else if (r.freeMode.sticky) return void t.slideToClosest();
7828                            r.freeMode.momentumBounce && m ? (t.updateProgress(u), t.setTransition(e), t.setTranslate(p), t.transitionStart(!0, t.swipeDirection), t.animating = !0, x(n, (() => {
7829                                t && !t.destroyed && c.allowMomentumBounce && (a("momentumBounce"), t.setTransition(r.speed), setTimeout((() => {
7830                                    t.setTranslate(u), x(n, (() => {
7831                                        t && !t.destroyed && t.transitionEnd()
7832                                    }))
7833                                }), 0))
7834                            }))) : t.velocity ? (a("_freeModeNoMomentumRelease"), t.updateProgress(p), t.setTransition(e), t.setTranslate(p), t.transitionStart(!0, t.swipeDirection), t.animating || (t.animating = !0, x(n, (() => {
7835                                t && !t.destroyed && t.transitionEnd()
7836                            })))) : t.updateProgress(p), t.updateActiveIndex(), t.updateSlidesClasses()
7837                        } else {
7838                            if (r.freeMode.sticky) return void t.slideToClosest();
7839                            r.freeMode && a("_freeModeNoMomentumRelease")
7840                        }(!r.freeMode.momentum || p >= r.longSwipesMs) && (a("_freeModeStaticRelease"), t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses())
7841                    }
7842                }
7843            }
7844        })
7845    }, function(e) {
7846        let t, s, a, i, {
7847            swiper: r,
7848            extendParams: n,
7849            on: l
7850        } = e;
7851        n({
7852            grid: {
7853                rows: 1,
7854                fill: "column"
7855            }
7856        });
7857        const o = () => {
7858            let e = r.params.spaceBetween;
7859            return "string" == typeof e && e.indexOf("%") >= 0 ? e = parseFloat(e.replace("%", "")) / 100 * r.size : "string" == typeof e && (e = parseFloat(e)), e
7860        };
7861        l("init", (() => {
7862            i = r.params.grid && r.params.grid.rows > 1
7863        })), l("update", (() => {
7864            const {
7865                params: e,
7866                el: t
7867            } = r, s = e.grid && e.grid.rows > 1;
7868            i && !s ? (t.classList.remove(`${e.containerModifierClass}grid`, `${e.containerModifierClass}grid-column`), a = 1, r.emitContainerClasses()) : !i && s && (t.classList.add(`${e.containerModifierClass}grid`), "column" === e.grid.fill && t.classList.add(`${e.containerModifierClass}grid-column`), r.emitContainerClasses()), i = s
7869        })), r.grid = {
7870            initSlides: e => {
7871                const {
7872                    slidesPerView: i
7873                } = r.params, {
7874                    rows: n,
7875                    fill: l
7876                } = r.params.grid, o = r.virtual && r.params.virtual.enabled ? r.virtual.slides.length : e.length;
7877                a = Math.floor(o / n), t = Math.floor(o / n) === o / n ? o : Math.ceil(o / n) * n, "auto" !== i && "row" === l && (t = Math.max(t, i * n)), s = t / n
7878            },
7879            unsetSlides: () => {
7880                r.slides && r.slides.forEach((e => {
7881                    e.swiperSlideGridSet && (e.style.height = "", e.style[r.getDirectionLabel("margin-top")] = "")
7882                }))
7883            },
7884            updateSlide: (e, i, n) => {
7885                const {
7886                    slidesPerGroup: l
7887                } = r.params, d = o(), {
7888                    rows: c,
7889                    fill: p
7890                } = r.params.grid, u = r.virtual && r.params.virtual.enabled ? r.virtual.slides.length : n.length;
7891                let m, h, f;
7892                if ("row" === p && l > 1) {
7893                    const s = Math.floor(e / (l * c)),
7894                        a = e - c * l * s,
7895                        r = 0 === s ? l : Math.min(Math.ceil((u - s * c * l) / c), l);
7896                    f = Math.floor(a / r), h = a - f * r + s * l, m = h + f * t / c, i.style.order = m
7897                } else "column" === p ? (h = Math.floor(e / c), f = e - h * c, (h > a || h === a && f === c - 1) && (f += 1, f >= c && (f = 0, h += 1))) : (f = Math.floor(e / s), h = e - f * s);
7898                i.row = f, i.column = h, i.style.height = `calc((100% - ${(c-1)*d}px) / ${c})`, i.style[r.getDirectionLabel("margin-top")] = 0 !== f ? d && `${d}px` : "", i.swiperSlideGridSet = !0
7899            },
7900            updateWrapperSize: (e, s) => {
7901                const {
7902                    centeredSlides: a,
7903                    roundLengths: i
7904                } = r.params, n = o(), {
7905                    rows: l
7906                } = r.params.grid;
7907                if (r.virtualSize = (e + n) * t, r.virtualSize = Math.ceil(r.virtualSize / l) - n, r.params.cssMode || (r.wrapperEl.style[r.getDirectionLabel("width")] = `${r.virtualSize+n}px`), a) {
7908                    const e = [];
7909                    for (let t = 0; t < s.length; t += 1) {
7910                        let a = s[t];
7911                        i && (a = Math.floor(a)), s[t] < r.virtualSize + s[0] && e.push(a)
7912                    }
7913                    s.splice(0, s.length), s.push(...e)
7914                }
7915            }
7916        }
7917    }, function(e) {
7918        let {
7919            swiper: t
7920        } = e;
7921        Object.assign(t, {
7922            appendSlide: ne.bind(t),
7923            prependSlide: le.bind(t),
7924            addSlide: oe.bind(t),
7925            removeSlide: de.bind(t),
7926            removeAllSlides: ce.bind(t)
7927        })
7928    }, function(e) {
7929        let {
7930            swiper: t,
7931            extendParams: s,
7932            on: a
7933        } = e;
7934        s({
7935            fadeEffect: {
7936                crossFade: !1
7937            }
7938        }), pe({
7939            effect: "fade",
7940            swiper: t,
7941            on: a,
7942            setTranslate: () => {
7943                const {
7944                    slides: e
7945                } = t;
7946                t.params.fadeEffect;
7947                for (let s = 0; s < e.length; s += 1) {
7948                    const e = t.slides[s];
7949                    let a = -e.swiperSlideOffset;
7950                    t.params.virtualTranslate || (a -= t.translate);
7951                    let i = 0;
7952                    t.isHorizontal() || (i = a, a = 0);
7953                    const r = t.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(e.progress), 0) : 1 + Math.min(Math.max(e.progress, -1), 0),
7954                        n = ue(0, e);
7955                    n.style.opacity = r, n.style.transform = `translate3d(${a}px, ${i}px, 0px)`
7956                }
7957            },
7958            setTransition: e => {
7959                const s = t.slides.map((e => h(e)));
7960                s.forEach((t => {
7961                    t.style.transitionDuration = `${e}ms`
7962                })), me({
7963                    swiper: t,
7964                    duration: e,
7965                    transformElements: s,
7966                    allSlides: !0
7967                })
7968            },
7969            overwriteParams: () => ({
7970                slidesPerView: 1,
7971                slidesPerGroup: 1,
7972                watchSlidesProgress: !0,
7973                spaceBetween: 0,
7974                virtualTranslate: !t.params.cssMode
7975            })
7976        })
7977    }, function(e) {
7978        let {
7979            swiper: t,
7980            extendParams: s,
7981            on: a
7982        } = e;
7983        s({
7984            cubeEffect: {
7985                slideShadows: !0,
7986                shadow: !0,
7987                shadowOffset: 20,
7988                shadowScale: .94
7989            }
7990        });
7991        const i = (e, t, s) => {
7992            let a = s ? e.querySelector(".swiper-slide-shadow-left") : e.querySelector(".swiper-slide-shadow-top"),
7993                i = s ? e.querySelector(".swiper-slide-shadow-right") : e.querySelector(".swiper-slide-shadow-bottom");
7994            a || (a = v("div", ("swiper-slide-shadow-cube swiper-slide-shadow-" + (s ? "left" : "top")).split(" ")), e.append(a)), i || (i = v("div", ("swiper-slide-shadow-cube swiper-slide-shadow-" + (s ? "right" : "bottom")).split(" ")), e.append(i)), a && (a.style.opacity = Math.max(-t, 0)), i && (i.style.opacity = Math.max(t, 0))
7995        };
7996        pe({
7997            effect: "cube",
7998            swiper: t,
7999            on: a,
8000            setTranslate: () => {
8001                const {
8002                    el: e,
8003                    wrapperEl: s,
8004                    slides: a,
8005                    width: r,
8006                    height: n,
8007                    rtlTranslate: l,
8008                    size: o,
8009                    browser: d
8010                } = t, c = t.params.cubeEffect, p = t.isHorizontal(), u = t.virtual && t.params.virtual.enabled;
8011                let m, h = 0;
8012                c.shadow && (p ? (m = t.wrapperEl.querySelector(".swiper-cube-shadow"), m || (m = v("div", "swiper-cube-shadow"), t.wrapperEl.append(m)), m.style.height = `${r}px`) : (m = e.querySelector(".swiper-cube-shadow"), m || (m = v("div", "swiper-cube-shadow"), e.append(m))));
8013                for (let e = 0; e < a.length; e += 1) {
8014                    const s = a[e];
8015                    let r = e;
8016                    u && (r = parseInt(s.getAttribute("data-swiper-slide-index"), 10));
8017                    let n = 90 * r,
8018                        d = Math.floor(n / 360);
8019                    l && (n = -n, d = Math.floor(-n / 360));
8020                    const m = Math.max(Math.min(s.progress, 1), -1);
8021                    let f = 0,
8022                        g = 0,
8023                        v = 0;
8024                    r % 4 == 0 ? (f = 4 * -d * o, v = 0) : (r - 1) % 4 == 0 ? (f = 0, v = 4 * -d * o) : (r - 2) % 4 == 0 ? (f = o + 4 * d * o, v = o) : (r - 3) % 4 == 0 && (f = -o, v = 3 * o + 4 * o * d), l && (f = -f), p || (g = f, f = 0);
8025                    const w = `rotateX(${p?0:-n}deg) rotateY(${p?n:0}deg) translate3d(${f}px, ${g}px, ${v}px)`;
8026                    m <= 1 && m > -1 && (h = 90 * r + 90 * m, l && (h = 90 * -r - 90 * m), t.browser && t.browser.need3dFix && Math.abs(h) / 90 % 2 == 1 && (h += .001)), s.style.transform = w, c.slideShadows && i(s, m, p)
8027                }
8028                if (s.style.transformOrigin = `50% 50% -${o/2}px`, s.style["-webkit-transform-origin"] = `50% 50% -${o/2}px`, c.shadow)
8029                    if (p) m.style.transform = `translate3d(0px, ${r/2+c.shadowOffset}px, ${-r/2}px) rotateX(89.99deg) rotateZ(0deg) scale(${c.shadowScale})`;
8030                    else {
8031                        const e = Math.abs(h) - 90 * Math.floor(Math.abs(h) / 90),
8032                            t = 1.5 - (Math.sin(2 * e * Math.PI / 360) / 2 + Math.cos(2 * e * Math.PI / 360) / 2),
8033                            s = c.shadowScale,
8034                            a = c.shadowScale / t,
8035                            i = c.shadowOffset;
8036                        m.style.transform = `scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-89.99deg)`
8037                    } const f = (d.isSafari || d.isWebView) && d.needPerspectiveFix ? -o / 2 : 0;
8038                s.style.transform = `translate3d(0px,0,${f}px) rotateX(${t.isHorizontal()?0:h}deg) rotateY(${t.isHorizontal()?-h:0}deg)`, s.style.setProperty("--swiper-cube-translate-z", `${f}px`)
8039            },
8040            setTransition: e => {
8041                const {
8042                    el: s,
8043                    slides: a
8044                } = t;
8045                if (a.forEach((t => {
8046                        t.style.transitionDuration = `${e}ms`, t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t => {
8047                            t.style.transitionDuration = `${e}ms`
8048                        }))
8049                    })), t.params.cubeEffect.shadow && !t.isHorizontal()) {
8050                    const t = s.querySelector(".swiper-cube-shadow");
8051                    t && (t.style.transitionDuration = `${e}ms`)
8052                }
8053            },
8054            recreateShadows: () => {
8055                const e = t.isHorizontal();
8056                t.slides.forEach((t => {
8057                    const s = Math.max(Math.min(t.progress, 1), -1);
8058                    i(t, s, e)
8059                }))
8060            },
8061            getEffectParams: () => t.params.cubeEffect,
8062            perspective: () => !0,
8063            overwriteParams: () => ({
8064                slidesPerView: 1,
8065                slidesPerGroup: 1,
8066                watchSlidesProgress: !0,
8067                resistanceRatio: 0,
8068                spaceBetween: 0,
8069                centeredSlides: !1,
8070                virtualTranslate: !0
8071            })
8072        })
8073    }, function(e) {
8074        let {
8075            swiper: t,
8076            extendParams: s,
8077            on: a
8078        } = e;
8079        s({
8080            flipEffect: {
8081                slideShadows: !0,
8082                limitRotation: !0
8083            }
8084        });
8085        const i = (e, s) => {
8086            let a = t.isHorizontal() ? e.querySelector(".swiper-slide-shadow-left") : e.querySelector(".swiper-slide-shadow-top"),
8087                i = t.isHorizontal() ? e.querySelector(".swiper-slide-shadow-right") : e.querySelector(".swiper-slide-shadow-bottom");
8088            a || (a = he("flip", e, t.isHorizontal() ? "left" : "top")), i || (i = he("flip", e, t.isHorizontal() ? "right" : "bottom")), a && (a.style.opacity = Math.max(-s, 0)), i && (i.style.opacity = Math.max(s, 0))
8089        };
8090        pe({
8091            effect: "flip",
8092            swiper: t,
8093            on: a,
8094            setTranslate: () => {
8095                const {
8096                    slides: e,
8097                    rtlTranslate: s
8098                } = t, a = t.params.flipEffect;
8099                for (let r = 0; r < e.length; r += 1) {
8100                    const n = e[r];
8101                    let l = n.progress;
8102                    t.params.flipEffect.limitRotation && (l = Math.max(Math.min(n.progress, 1), -1));
8103                    const o = n.swiperSlideOffset;
8104                    let d = -180 * l,
8105                        c = 0,
8106                        p = t.params.cssMode ? -o - t.translate : -o,
8107                        u = 0;
8108                    t.isHorizontal() ? s && (d = -d) : (u = p, p = 0, c = -d, d = 0), t.browser && t.browser.need3dFix && (Math.abs(d) / 90 % 2 == 1 && (d += .001), Math.abs(c) / 90 % 2 == 1 && (c += .001)), n.style.zIndex = -Math.abs(Math.round(l)) + e.length, a.slideShadows && i(n, l);
8109                    const m = `translate3d(${p}px, ${u}px, 0px) rotateX(${c}deg) rotateY(${d}deg)`;
8110                    ue(0, n).style.transform = m
8111                }
8112            },
8113            setTransition: e => {
8114                const s = t.slides.map((e => h(e)));
8115                s.forEach((t => {
8116                    t.style.transitionDuration = `${e}ms`, t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t => {
8117                        t.style.transitionDuration = `${e}ms`
8118                    }))
8119                })), me({
8120                    swiper: t,
8121                    duration: e,
8122                    transformElements: s
8123                })
8124            },
8125            recreateShadows: () => {
8126                t.params.flipEffect, t.slides.forEach((e => {
8127                    let s = e.progress;
8128                    t.params.flipEffect.limitRotation && (s = Math.max(Math.min(e.progress, 1), -1)), i(e, s)
8129                }))
8130            },
8131            getEffectParams: () => t.params.flipEffect,
8132            perspective: () => !0,
8133            overwriteParams: () => ({
8134                slidesPerView: 1,
8135                slidesPerGroup: 1,
8136                watchSlidesProgress: !0,
8137                spaceBetween: 0,
8138                virtualTranslate: !t.params.cssMode
8139            })
8140        })
8141    }, function(e) {
8142        let {
8143            swiper: t,
8144            extendParams: s,
8145            on: a
8146        } = e;
8147        s({
8148            coverflowEffect: {
8149                rotate: 50,
8150                stretch: 0,
8151                depth: 100,
8152                scale: 1,
8153                modifier: 1,
8154                slideShadows: !0
8155            }
8156        }), pe({
8157            effect: "coverflow",
8158            swiper: t,
8159            on: a,
8160            setTranslate: () => {
8161                const {
8162                    width: e,
8163                    height: s,
8164                    slides: a,
8165                    slidesSizesGrid: i
8166                } = t, r = t.params.coverflowEffect, n = t.isHorizontal(), l = t.translate, o = n ? e / 2 - l : s / 2 - l, d = n ? r.rotate : -r.rotate, c = r.depth;
8167                for (let e = 0, s = a.length; e < s; e += 1) {
8168                    const s = a[e],
8169                        l = i[e],
8170                        p = (o - s.swiperSlideOffset - l / 2) / l,
8171                        u = "function" == typeof r.modifier ? r.modifier(p) : p * r.modifier;
8172                    let m = n ? d * u : 0,
8173                        h = n ? 0 : d * u,
8174                        f = -c * Math.abs(u),
8175                        g = r.stretch;
8176                    "string" == typeof g && -1 !== g.indexOf("%") && (g = parseFloat(r.stretch) / 100 * l);
8177                    let v = n ? 0 : g * u,
8178                        w = n ? g * u : 0,
8179                        b = 1 - (1 - r.scale) * Math.abs(u);
8180                    Math.abs(w) < .001 && (w = 0), Math.abs(v) < .001 && (v = 0), Math.abs(f) < .001 && (f = 0), Math.abs(m) < .001 && (m = 0), Math.abs(h) < .001 && (h = 0), Math.abs(b) < .001 && (b = 0), t.browser && t.browser.need3dFix && (Math.abs(m) / 90 % 2 == 1 && (m += .001), Math.abs(h) / 90 % 2 == 1 && (h += .001));
8181                    const y = `translate3d(${w}px,${v}px,${f}px)  rotateX(${h}deg) rotateY(${m}deg) scale(${b})`;
8182                    if (ue(0, s).style.transform = y, s.style.zIndex = 1 - Math.abs(Math.round(u)), r.slideShadows) {
8183                        let e = n ? s.querySelector(".swiper-slide-shadow-left") : s.querySelector(".swiper-slide-shadow-top"),
8184                            t = n ? s.querySelector(".swiper-slide-shadow-right") : s.querySelector(".swiper-slide-shadow-bottom");
8185                        e || (e = he("coverflow", s, n ? "left" : "top")), t || (t = he("coverflow", s, n ? "right" : "bottom")), e && (e.style.opacity = u > 0 ? u : 0), t && (t.style.opacity = -u > 0 ? -u : 0)
8186                    }
8187                }
8188            },
8189            setTransition: e => {
8190                t.slides.map((e => h(e))).forEach((t => {
8191                    t.style.transitionDuration = `${e}ms`, t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t => {
8192                        t.style.transitionDuration = `${e}ms`
8193                    }))
8194                }))
8195            },
8196            perspective: () => !0,
8197            overwriteParams: () => ({
8198                watchSlidesProgress: !0
8199            })
8200        })
8201    }, function(e) {
8202        let {
8203            swiper: t,
8204            extendParams: s,
8205            on: a
8206        } = e;
8207        s({
8208            creativeEffect: {
8209                limitProgress: 1,
8210                shadowPerProgress: !1,
8211                progressMultiplier: 1,
8212                perspective: !0,
8213                prev: {
8214                    translate: [0, 0, 0],
8215                    rotate: [0, 0, 0],
8216                    opacity: 1,
8217                    scale: 1
8218                },
8219                next: {
8220                    translate: [0, 0, 0],
8221                    rotate: [0, 0, 0],
8222                    opacity: 1,
8223                    scale: 1
8224                }
8225            }
8226        });
8227        const i = e => "string" == typeof e ? e : `${e}px`;
8228        pe({
8229            effect: "creative",
8230            swiper: t,
8231            on: a,
8232            setTranslate: () => {
8233                const {
8234                    slides: e,
8235                    wrapperEl: s,
8236                    slidesSizesGrid: a
8237                } = t, r = t.params.creativeEffect, {
8238                    progressMultiplier: n
8239                } = r, l = t.params.centeredSlides;
8240                if (l) {
8241                    const e = a[0] / 2 - t.params.slidesOffsetBefore || 0;
8242                    s.style.transform = `translateX(calc(50% - ${e}px))`
8243                }
8244                for (let s = 0; s < e.length; s += 1) {
8245                    const a = e[s],
8246                        o = a.progress,
8247                        d = Math.min(Math.max(a.progress, -r.limitProgress), r.limitProgress);
8248                    let c = d;
8249                    l || (c = Math.min(Math.max(a.originalProgress, -r.limitProgress), r.limitProgress));
8250                    const p = a.swiperSlideOffset,
8251                        u = [t.params.cssMode ? -p - t.translate : -p, 0, 0],
8252                        m = [0, 0, 0];
8253                    let h = !1;
8254                    t.isHorizontal() || (u[1] = u[0], u[0] = 0);
8255                    let f = {
8256                        translate: [0, 0, 0],
8257                        rotate: [0, 0, 0],
8258                        scale: 1,
8259                        opacity: 1
8260                    };
8261                    d < 0 ? (f = r.next, h = !0) : d > 0 && (f = r.prev, h = !0), u.forEach(((e, t) => {
8262                        u[t] = `calc(${e}px + (${i(f.translate[t])} * ${Math.abs(d*n)}))`
8263                    })), m.forEach(((e, s) => {
8264                        let a = f.rotate[s] * Math.abs(d * n);
8265                        t.browser && t.browser.need3dFix && Math.abs(a) / 90 % 2 == 1 && (a += .001), m[s] = a
8266                    })), a.style.zIndex = -Math.abs(Math.round(o)) + e.length;
8267                    const g = u.join(", "),
8268                        v = `rotateX(${m[0]}deg) rotateY(${m[1]}deg) rotateZ(${m[2]}deg)`,
8269                        w = c < 0 ? `scale(${1+(1-f.scale)*c*n})` : `scale(${1-(1-f.scale)*c*n})`,
8270                        b = c < 0 ? 1 + (1 - f.opacity) * c * n : 1 - (1 - f.opacity) * c * n,
8271                        y = `translate3d(${g}) ${v} ${w}`;
8272                    if (h && f.shadow || !h) {
8273                        let e = a.querySelector(".swiper-slide-shadow");
8274                        if (!e && f.shadow && (e = he("creative", a)), e) {
8275                            const t = r.shadowPerProgress ? d * (1 / r.limitProgress) : d;
8276                            e.style.opacity = Math.min(Math.max(Math.abs(t), 0), 1)
8277                        }
8278                    }
8279                    const E = ue(0, a);
8280                    E.style.transform = y, E.style.opacity = b, f.origin && (E.style.transformOrigin = f.origin)
8281                }
8282            },
8283            setTransition: e => {
8284                const s = t.slides.map((e => h(e)));
8285                s.forEach((t => {
8286                    t.style.transitionDuration = `${e}ms`, t.querySelectorAll(".swiper-slide-shadow").forEach((t => {
8287                        t.style.transitionDuration = `${e}ms`
8288                    }))
8289                })), me({
8290                    swiper: t,
8291                    duration: e,
8292                    transformElements: s,
8293                    allSlides: !0
8294                })
8295            },
8296            perspective: () => t.params.creativeEffect.perspective,
8297            overwriteParams: () => ({
8298                watchSlidesProgress: !0,
8299                virtualTranslate: !t.params.cssMode
8300            })
8301        })
8302    }, function(e) {
8303        let {
8304            swiper: t,
8305            extendParams: s,
8306            on: a
8307        } = e;
8308        s({
8309            cardsEffect: {
8310                slideShadows: !0,
8311                rotate: !0,
8312                perSlideRotate: 2,
8313                perSlideOffset: 8
8314            }
8315        }), pe({
8316            effect: "cards",
8317            swiper: t,
8318            on: a,
8319            setTranslate: () => {
8320                const {
8321                    slides: e,
8322                    activeIndex: s,
8323                    rtlTranslate: a
8324                } = t, i = t.params.cardsEffect, {
8325                    startTranslate: r,
8326                    isTouched: n
8327                } = t.touchEventsData, l = a ? -t.translate : t.translate;
8328                for (let o = 0; o < e.length; o += 1) {
8329                    const d = e[o],
8330                        c = d.progress,
8331                        p = Math.min(Math.max(c, -4), 4);
8332                    let u = d.swiperSlideOffset;
8333                    t.params.centeredSlides && !t.params.cssMode && (t.wrapperEl.style.transform = `translateX(${t.minTranslate()}px)`), t.params.centeredSlides && t.params.cssMode && (u -= e[0].swiperSlideOffset);
8334                    let m = t.params.cssMode ? -u - t.translate : -u,
8335                        h = 0;
8336                    const f = -100 * Math.abs(p);
8337                    let g = 1,
8338                        v = -i.perSlideRotate * p,
8339                        w = i.perSlideOffset - .75 * Math.abs(p);
8340                    const b = t.virtual && t.params.virtual.enabled ? t.virtual.from + o : o,
8341                        y = (b === s || b === s - 1) && p > 0 && p < 1 && (n || t.params.cssMode) && l < r,
8342                        E = (b === s || b === s + 1) && p < 0 && p > -1 && (n || t.params.cssMode) && l > r;
8343                    if (y || E) {
8344                        const e = (1 - Math.abs((Math.abs(p) - .5) / .5)) ** .5;
8345                        v += -28 * p * e, g += -.5 * e, w += 96 * e, h = -25 * e * Math.abs(p) + "%"
8346                    }
8347                    if (m = p < 0 ? `calc(${m}px ${a?"-":"+"} (${w*Math.abs(p)}%))` : p > 0 ? `calc(${m}px ${a?"-":"+"} (-${w*Math.abs(p)}%))` : `${m}px`, !t.isHorizontal()) {
8348                        const e = h;
8349                        h = m, m = e
8350                    }
8351                    const x = p < 0 ? "" + (1 + (1 - g) * p) : "" + (1 - (1 - g) * p),
8352                        S = `\n        translate3d(${m}, ${h}, ${f}px)\n        rotateZ(${i.rotate?a?-v:v:0}deg)\n        scale(${x})\n      `;
8353                    if (i.slideShadows) {
8354                        let e = d.querySelector(".swiper-slide-shadow");
8355                        e || (e = he("cards", d)), e && (e.style.opacity = Math.min(Math.max((Math.abs(p) - .5) / .5, 0), 1))
8356                    }
8357                    d.style.zIndex = -Math.abs(Math.round(c)) + e.length;
8358                    ue(0, d).style.transform = S
8359                }
8360            },
8361            setTransition: e => {
8362                const s = t.slides.map((e => h(e)));
8363                s.forEach((t => {
8364                    t.style.transitionDuration = `${e}ms`, t.querySelectorAll(".swiper-slide-shadow").forEach((t => {
8365                        t.style.transitionDuration = `${e}ms`
8366                    }))
8367                })), me({
8368                    swiper: t,
8369                    duration: e,
8370                    transformElements: s
8371                })
8372            },
8373            perspective: () => !0,
8374            overwriteParams: () => ({
8375                watchSlidesProgress: !0,
8376                virtualTranslate: !t.params.cssMode
8377            })
8378        })
8379    }];
8380    return ae.use(fe), ae
8381}();
8382//# sourceMappingURL=swiper-bundle.min.js.map
8383
8384
8385window.FontAwesomeKitConfig = {
8386    "id": 35031896,
8387    "version": "6.5.2",
8388    "token": "ddf8df4c2f",
8389    "method": "css",
8390    "baseUrl": "https://ka-f.fontawesome.com",
8391    "license": "free",
8392    "asyncLoading": {
8393        "enabled": false
8394    },
8395    "autoA11y": {
8396        "enabled": true
8397    },
8398    "baseUrlKit": "https://kit.fontawesome.com",
8399    "detectConflictsUntil": null,
8400    "iconUploads": {},
8401    "minify": {
8402        "enabled": true
8403    },
8404    "v4FontFaceShim": {
8405        "enabled": true
8406    },
8407    "v4shim": {
8408        "enabled": true
8409    },
8410    "v5FontFaceShim": {
8411        "enabled": true
8412    }
8413};
8414! function(t) {
8415    "function" == typeof define && define.amd ? define("kit-loader", t) : t()
8416}((function() {
8417    "use strict";
8418
8419    function t(t, e) {
8420        var n = Object.keys(t);
8421        if (Object.getOwnPropertySymbols) {
8422            var r = Object.getOwnPropertySymbols(t);
8423            e && (r = r.filter((function(e) {
8424                return Object.getOwnPropertyDescriptor(t, e).enumerable
8425            }))), n.push.apply(n, r)
8426        }
8427        return n
8428    }
8429
8430    function e(e) {
8431        for (var n = 1; n < arguments.length; n++) {
8432            var o = null != arguments[n] ? arguments[n] : {};
8433            n % 2 ? t(Object(o), !0).forEach((function(t) {
8434                r(e, t, o[t])
8435            })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(o)) : t(Object(o)).forEach((function(t) {
8436                Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(o, t))
8437            }))
8438        }
8439        return e
8440    }
8441
8442    function n(t) {
8443        return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
8444            return typeof t
8445        } : function(t) {
8446            return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
8447        })(t)
8448    }
8449
8450    function r(t, e, n) {
8451        return (e = function(t) {
8452            var e = function(t, e) {
8453                if ("object" != typeof t || null === t) return t;
8454                var n = t[Symbol.toPrimitive];
8455                if (void 0 !== n) {
8456                    var r = n.call(t, e || "default");
8457                    if ("object" != typeof r) return r;
8458                    throw new TypeError("@@toPrimitive must return a primitive value.")
8459                }
8460                return ("string" === e ? String : Number)(t)
8461            }(t, "string");
8462            return "symbol" == typeof e ? e : String(e)
8463        }(e)) in t ? Object.defineProperty(t, e, {
8464            value: n,
8465            enumerable: !0,
8466            configurable: !0,
8467            writable: !0
8468        }) : t[e] = n, t
8469    }
8470
8471    function o(t, e) {
8472        return function(t) {
8473            if (Array.isArray(t)) return t
8474        }(t) || function(t, e) {
8475            var n = null == t ? null : "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
8476            if (null != n) {
8477                var r, o, i, a, c = [],
8478                    u = !0,
8479                    f = !1;
8480                try {
8481                    if (i = (n = n.call(t)).next, 0 === e) {
8482                        if (Object(n) !== n) return;
8483                        u = !1
8484                    } else
8485                        for (; !(u = (r = i.call(n)).done) && (c.push(r.value), c.length !== e); u = !0);
8486                } catch (t) {
8487                    f = !0, o = t
8488                } finally {
8489                    try {
8490                        if (!u && null != n.return && (a = n.return(), Object(a) !== a)) return
8491                    } finally {
8492                        if (f) throw o
8493                    }
8494                }
8495                return c
8496            }
8497        }(t, e) || function(t, e) {
8498            if (!t) return;
8499            if ("string" == typeof t) return i(t, e);
8500            var n = Object.prototype.toString.call(t).slice(8, -1);
8501            "Object" === n && t.constructor && (n = t.constructor.name);
8502            if ("Map" === n || "Set" === n) return Array.from(t);
8503            if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return i(t, e)
8504        }(t, e) || function() {
8505            throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
8506        }()
8507    }
8508
8509    function i(t, e) {
8510        (null == e || e > t.length) && (e = t.length);
8511        for (var n = 0, r = new Array(e); n < e; n++) r[n] = t[n];
8512        return r
8513    }
8514    var a = "sharp",
8515        c = ["classic", "duotone", "sharp"],
8516        u = ["fak", "fa-kit", "fakd", "fa-kit-duotone"],
8517        f = ["fa", "fas", "fa-solid", "far", "fa-regular", "fal", "fa-light", "fat", "fa-thin", "fad", "fa-duotone", "fab", "fa-brands", "fass", "fasr", "fasl", "fast"];
8518
8519    function s(t, e) {
8520        var n = e && e.addOn || "",
8521            r = e && e.baseFilename || t.license + n,
8522            o = e && e.minify ? ".min" : "",
8523            i = e && e.fileSuffix || t.method,
8524            a = e && e.subdir || t.method;
8525        return t.baseUrl + "/releases/" + ("latest" === t.version ? "latest" : "v".concat(t.version)) + "/" + a + "/" + r + o + "." + i
8526    }
8527
8528    function d(t, e) {
8529        var n = e || ["fa"],
8530            r = "." + Array.prototype.join.call(n, ",."),
8531            o = t.querySelectorAll(r);
8532        Array.prototype.forEach.call(o, (function(e) {
8533            var n = e.getAttribute("title");
8534            e.setAttribute("aria-hidden", "true");
8535            var r = !e.nextElementSibling || !e.nextElementSibling.classList.contains("sr-only");
8536            if (n && r) {
8537                var o = t.createElement("span");
8538                o.innerHTML = n, o.classList.add("sr-only"), e.parentNode.insertBefore(o, e.nextSibling)
8539            }
8540        }))
8541    }
8542    var l, h = function() {},
8543        m = "undefined" != typeof global && void 0 !== global.process && "function" == typeof global.process.emit,
8544        p = "undefined" == typeof setImmediate ? setTimeout : setImmediate,
8545        v = [];
8546
8547    function b() {
8548        for (var t = 0; t < v.length; t++) v[t][0](v[t][1]);
8549        v = [], l = !1
8550    }
8551
8552    function y(t, e) {
8553        v.push([t, e]), l || (l = !0, p(b, 0))
8554    }
8555
8556    function g(t) {
8557        var e = t.owner,
8558            n = e._state,
8559            r = e._data,
8560            o = t[n],
8561            i = t.then;
8562        if ("function" == typeof o) {
8563            n = "fulfilled";
8564            try {
8565                r = o(r)
8566            } catch (t) {
8567                O(i, t)
8568            }
8569        }
8570        w(i, r) || ("fulfilled" === n && A(i, r), "rejected" === n && O(i, r))
8571    }
8572
8573    function w(t, e) {
8574        var r;
8575        try {
8576            if (t === e) throw new TypeError("A promises callback cannot return that same promise.");
8577            if (e && ("function" == typeof e || "object" === n(e))) {
8578                var o = e.then;
8579                if ("function" == typeof o) return o.call(e, (function(n) {
8580                    r || (r = !0, e === n ? S(t, n) : A(t, n))
8581                }), (function(e) {
8582                    r || (r = !0, O(t, e))
8583                })), !0
8584            }
8585        } catch (e) {
8586            return r || O(t, e), !0
8587        }
8588        return !1
8589    }
8590
8591    function A(t, e) {
8592        t !== e && w(t, e) || S(t, e)
8593    }
8594
8595    function S(t, e) {
8596        "pending" === t._state && (t._state = "settled", t._data = e, y(E, t))
8597    }
8598
8599    function O(t, e) {
8600        "pending" === t._state && (t._state = "settled", t._data = e, y(P, t))
8601    }
8602
8603    function j(t) {
8604        t._then = t._then.forEach(g)
8605    }
8606
8607    function E(t) {
8608        t._state = "fulfilled", j(t)
8609    }
8610
8611    function P(t) {
8612        t._state = "rejected", j(t), !t._handled && m && global.process.emit("unhandledRejection", t._data, t)
8613    }
8614
8615    function _(t) {
8616        global.process.emit("rejectionHandled", t)
8617    }
8618
8619    function F(t) {
8620        if ("function" != typeof t) throw new TypeError("Promise resolver " + t + " is not a function");
8621        if (this instanceof F == !1) throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object c
8621onstructor cannot be called as a function.");
8622        this._then = [],
8623            function(t, e) {
8624                function n(t) {
8625                    O(e, t)
8626                }
8627                try {
8628                    t((function(t) {
8629                        A(e, t)
8630                    }), n)
8631                } catch (t) {
8632                    n(t)
8633                }
8634            }(t, this)
8635    }
8636    F.prototype = {
8637        constructor: F,
8638        _state: "pending",
8639        _then: null,
8640        _data: void 0,
8641        _handled: !1,
8642        then: function(t, e) {
8643            var n = {
8644                owner: this,
8645                then: new this.constructor(h),
8646                fulfilled: t,
8647                rejected: e
8648            };
8649            return !e && !t || this._handled || (this._handled = !0, "rejected" === this._state && m && y(_, this)), "fulfilled" === this._state || "rejected" === this._state ? y(g, n) : this._then.push(n), n.then
8650        },
8651        catch: function(t) {
8652            return this.then(null, t)
8653        }
8654    }, F.all = function(t) {
8655        if (!Array.isArray(t)) throw new TypeError("You must pass an array to Promise.all().");
8656        return new F((function(e, n) {
8657            var r = [],
8658                o = 0;
8659
8660            function i(t) {
8661                return o++,
8662                    function(n) {
8663                        r[t] = n, --o || e(r)
8664                    }
8665            }
8666            for (var a, c = 0; c < t.length; c++)(a = t[c]) && "function" == typeof a.then ? a.then(i(c), n) : r[c] = a;
8667            o || e(r)
8668        }))
8669    }, F.race = function(t) {
8670        if (!Array.isArray(t)) throw new TypeError("You must pass an array to Promise.race().");
8671        return new F((function(e, n) {
8672            for (var r, o = 0; o < t.length; o++)(r = t[o]) && "function" == typeof r.then ? r.then(e, n) : e(r)
8673        }))
8674    }, F.resolve = function(t) {
8675        return t && "object" === n(t) && t.constructor === F ? t : new F((function(e) {
8676            e(t)
8677        }))
8678    }, F.reject = function(t) {
8679        return new F((function(e, n) {
8680            n(t)
8681        }))
8682    };
8683    var C = "function" == typeof Promise ? Promise : F;
8684
8685    function I(t, e) {
8686        var n = e.fetch,
8687            r = e.XMLHttpRequest,
8688            o = e.token,
8689            i = t;
8690        return o && ! function(t) {
8691            return t.indexOf("kit-upload.css") > -1
8692        }(t) && ("URLSearchParams" in window ? (i = new URL(t)).searchParams.set("token", o) : i = i + "?token=" + encodeURIComponent(o)), i = i.toString(), new C((function(t, e) {
8693            if ("function" == typeof n) n(i, {
8694                mode: "cors",
8695                cache: "default"
8696            }).then((function(t) {
8697                if (t.ok) return t.text();
8698                throw new Error("")
8699            })).then((function(e) {
8700                t(e)
8701            })).catch(e);
8702            else if ("function" == typeof r) {
8703                var o = new r;
8704                o.addEventListener("loadend", (function() {
8705                    this.responseText ? t(this.responseText) : e(new Error(""))
8706                }));
8707                ["abort", "error", "timeout"].map((function(t) {
8708                    o.addEventListener(t, (function() {
8709                        e(new Error(""))
8710                    }))
8711                })), o.open("GET", i), o.send()
8712            } else {
8713                e(new Error(""))
8714            }
8715        }))
8716    }
8717
8718    function U(t, e, n) {
8719        var r = t;
8720        return [
8721            [/(url\("?)\.\.\/\.\.\/\.\./g, function(t, n) {
8722                return "".concat(n).concat(e)
8723            }],
8724            [/(url\("?)\.\.\/webfonts/g, function(t, r) {
8725                return "".concat(r).concat(e, "/releases/v").concat(n, "/webfonts")
8726            }],
8727            [/(url\("?)https:\/\/kit-free([^.])*\.fontawesome\.com/g, function(t, n) {
8728                return "".concat(n).concat(e)
8729            }]
8730        ].forEach((function(t) {
8731            var e = o(t, 2),
8732                n = e[0],
8733                i = e[1];
8734            r = r.replace(n, i)
8735        })), r
8736    }
8737
8738    function k(t, n) {
8739        var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : function() {},
8740            o = n.document || o,
8741            i = d.bind(d, o, [].concat(f, u, c.map((function(t) {
8742                return "fa-".concat(t)
8743            }))));
8744        t.autoA11y.enabled && r(i);
8745        var a = t.subsetPath && t.baseUrl + "/" + t.subsetPath,
8746            l = [{
8747                id: "fa-main",
8748                addOn: void 0,
8749                url: a
8750            }];
8751        if (t.v4shim && t.v4shim.enabled && l.push({
8752                id: "fa-v4-shims",
8753                addOn: "-v4-shims"
8754            }), t.v5FontFaceShim && t.v5FontFaceShim.enabled && l.push({
8755                id: "fa-v5-font-face",
8756                addOn: "-v5-font-face"
8757            }), t.v4FontFaceShim && t.v4FontFaceShim.enabled && l.push({
8758                id: "fa-v4-font-face",
8759                addOn: "-v4-font-face"
8760            }), !a && t.customIconsCssPath) {
8761            var h = t.customIconsCssPath.indexOf("kit-upload.css") > -1 ? t.baseUrlKit : t.baseUrl,
8762                m = h + "/" + t.customIconsCssPath;
8763            l.push({
8764                id: "fa-kit-upload",
8765                url: m
8766            })
8767        }
8768        var p = l.map((function(r) {
8769            return new C((function(o, i) {
8770                var a = r.url || s(t, {
8771                        addOn: r.addOn,
8772                        minify: t.minify.enabled
8773                    }),
8774                    c = {
8775                        id: r.id
8776                    },
8777                    u = t.subset ? c : e(e(e({}, n), c), {}, {
8778                        baseUrl: t.baseUrl,
8779                        version: t.version,
8780                        id: r.id,
8781                        contentFilter: function(t, e) {
8782                            return U(t, e.baseUrl, e.version)
8783                        }
8784                    });
8785                I(a, n).then((function(t) {
8786                    o(T(t, u))
8787                })).catch(i)
8788            }))
8789        }));
8790        return C.all(p)
8791    }
8792
8793    function T(t, e) {
8794        var n = e.contentFilter || function(t, e) {
8795                return t
8796            },
8797            r = document.createElement("style"),
8798            o = document.createTextNode(n(t, e));
8799        return r.appendChild(o), r.media = "all", e.id && r.setAttribute("id", e.id), e && e.detectingConflicts && e.detectionIgnoreAttr && r.setAttributeNode(document.createAttribute(e.detectionIgnoreAttr)), r
8800    }
8801
8802    function L(t, n) {
8803        n.autoA11y = t.autoA11y.enabled, "pro" === t.license && (n.autoFetchSvg = !0, n.fetchSvgFrom = t.baseUrl + "/releases/" + ("latest" === t.version ? "latest" : "v".concat(t.version)) + "/svgs", n.fetchUploadedSvgFrom = t.uploadsUrl);
8804        var r = [];
8805        return t.v4shim.enabled && r.push(new C((function(r, o) {
8806            I(s(t, {
8807                addOn: "-v4-shims",
8808                minify: t.minify.enabled
8809            }), n).then((function(t) {
8810                r(x(t, e(e({}, n), {}, {
8811                    id: "fa-v4-shims"
8812                })))
8813            })).catch(o)
8814        }))), r.push(new C((function(r, o) {
8815            I(t.subsetPath && t.baseUrl + "/" + t.subsetPath || s(t, {
8816                minify: t.minify.enabled
8817            }), n).then((function(t) {
8818                var o = x(t, e(e({}, n), {}, {
8819                    id: "fa-main"
8820                }));
8821                r(function(t, e) {
8822                    var n = e && void 0 !== e.autoFetchSvg ? e.autoFetchSvg : void 0,
8823                        r = e && void 0 !== e.autoA11y ? e.autoA11y : void 0;
8824                    void 0 !== r && t.setAttribute("data-auto-a11y", r ? "true" : "false");
8825                    n && (t.setAttributeNode(document.createAttribute("data-auto-fetch-svg")), t.setAttribute("data-fetch-svg-from", e.fetchSvgFrom), t.setAttribute("data-fetch-uploaded-svg-from", e.fetchUploadedSvgFrom));
8826                    return t
8827                }(o, n))
8828            })).catch(o)
8829        }))), C.all(r)
8830    }
8831
8832    function x(t, e) {
8833        var n = document.createElement("SCRIPT"),
8834            r = document.createTextNode(t);
8835        return n.appendChild(r), n.referrerPolicy = "strict-origin", e.id && n.setAttribute("id", e.id), e && e.detectingConflicts && e.detectionIgnoreAttr && n.setAttributeNode(document.createAttribute(e.detectionIgnoreAttr)), n
8836    }
8837
8838    function M(t) {
8839        var e, n = [],
8840            r = document,
8841            o = r.documentElement.doScroll,
8842            i = (o ? /^loaded|^c/ : /^loaded|^i|^c/).test(r.readyState);
8843        i || r.addEventListener("DOMContentLoaded", e = function() {
8844            for (r.removeEventListener("DOMContentLoaded", e), i = 1; e = n.shift();) e()
8845        }), i ? setTimeout(t, 0) : n.push(t)
8846    }
8847
8848    function N(t) {
8849        "undefined" != typeof MutationObserver && new MutationObserver(t).observe(document, {
8850            childList: !0,
8851            subtree: !0
8852        })
8853    }
8854    try {
8855        if (window.FontAwesomeKitConfig) {
8856            var D = window.FontAwesomeKitConfig,
8857                R = {
8858                    detectingConflicts: D.detectConflictsUntil && new Date <= new Date(D.detectConflictsUntil),
8859                    detectionIgnoreAttr: "data-fa-detection-ignore",
8860                    fetch: window.fetch,
8861                    token: D.token,
8862                    XMLHttpRequest: window.XMLHttpRequest,
8863                    document: document
8864                },
8865                H = document.currentScript,
8866                K = H ? H.parentElement : document.head;
8867            (function() {
8868                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
8869                    e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
8870                return "js" === t.method ? L(t, e) : "css" === t.method ? k(t, e, (function(t) {
8871                    M(t), N(t)
8872                })) : void 0
8873            })(D, R).then((function(t) {
8874                t.map((function(t) {
8875                    try {
8876                        K.insertBefore(t, H ? H.nextSibling : null)
8877                    } catch (e) {
8878                        K.appendChild(t)
8879                    }
8880                })), R.detectingConflicts && H && M((function() {
8881                    H.setAttributeNode(document.createAttribute(R.detectionIgnoreAttr));
8882                    var t = function(t, e) {
8883                        var n = document.createElement("script");
8884                        return e && e.detectionIgnoreAttr && n.setAttributeNode(document.createAttribute(e.detectionIgnoreAttr)), n.src = s(t, {
8885                            baseFilename: "conflict-detection",
8886                            fileSuffix: "js",
8887                            subdir: "js",
8888                            minify: t.minify.enabled
8889                        }), n
8890                    }(D, R);
8891                    document.body.appendChild(t)
8892                }))
8893            })).catch((function(t) {
8894                console.error("".concat("Font Awesome Kit:", " ").concat(t))
8895            }))
8896        }
8897    } catch (a) {
8898        console.error("".concat("Font Awesome Kit:", " ").concat(a))
8899    }
8900}));
8901
8902
8903/*! WOW - v1.1.2 - 2015-04-07 */
8904(function() {
8905    var a, b, c, d, e, f = function(a, b) {
8906            return function() {
8907                return a.apply(b, arguments)
8908            }
8909        },
8910        g = [].indexOf || function(a) {
8911            for (var b = 0, c = this.length; c > b; b++)
8912                if (b in this && this[b] === a) return b;
8913            return -1
8914        };
8915    b = function() {
8916        function a() {}
8917        return a.prototype.extend = function(a, b) {
8918            var c, d;
8919            for (c in b) d = b[c], null == a[c] && (a[c] = d);
8920            return a
8921        }, a.prototype.isMobile = function(a) {
8922            return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a)
8923        }, a.prototype.createEvent = function(a, b, c, d) {
8924            var e;
8925            return null == b && (b = !1), null == c && (c = !1), null == d && (d = null), null != document.createEvent ? (e = document.createEvent("CustomEvent"), e.initCustomEvent(a, b, c, d)) : null != document.createEventObject ? (e = document.createEventObject(), e.eventType = a) : e.eventName = a, e
8926        }, a.prototype.emitEvent = function(a, b) {
8927            return null != a.dispatchEvent ? a.dispatchEvent(b) : b in (null != a) ? a[b]() : "on" + b in (null != a) ? a["on" + b]() : void 0
8928        }, a.prototype.addEvent = function(a, b, c) {
8929            return null != a.addEventListener ? a.addEventListener(b, c, !1) : null != a.attachEvent ? a.attachEvent("on" + b, c) : a[b] = c
8930        }, a.prototype.removeEvent = function(a, b, c) {
8931            return null != a.removeEventListener ? a.removeEventListener(b, c, !1) : null != a.detachEvent ? a.detachEvent("on" + b, c) : delete a[b]
8932        }, a.prototype.innerHeight = function() {
vendor: 7,395 bytes, lines 8933-9045
8933            return "innerHeight" in window ? window.innerHeight : document.documentElement.clientHeight
8934        }, a
8935    }(), c = this.WeakMap || this.MozWeakMap || (c = function() {
8936        function a() {
8937            this.keys = [], this.values = []
8938        }
8939        return a.prototype.get = function(a) {
8940            var b, c, d, e, f;
8941            for (f = this.keys, b = d = 0, e = f.length; e > d; b = ++d)
8942                if (c = f[b], c === a) return this.values[b]
8943        }, a.prototype.set = function(a, b) {
8944            var c, d, e, f, g;
8945            for (g = this.keys, c = e = 0, f = g.length; f > e; c = ++e)
8946                if (d = g[c], d === a) return void(this.values[c] = b);
8947            return this.keys.push(a), this.values.push(b)
8948        }, a
8949    }()), a = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (a = function() {
8950        function a() {
8951            "undefined" != typeof console && null !== console && console.warn("MutationObserver is not supported by your browser."), "undefined" != typeof console && null !== console && console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.")
8952        }
8953        return a.notSupported = !0, a.prototype.observe = function() {}, a
8954    }()), d = this.getComputedStyle || function(a) {
8955        return this.getPropertyValue = function(b) {
8956            var c;
8957            return "float" === b && (b = "styleFloat"), e.test(b) && b.replace(e, function(a, b) {
8958                return b.toUpperCase()
8959            }), (null != (c = a.currentStyle) ? c[b] : void 0) || null
8960        }, this
8961    }, e = /(\-([a-z]){1})/g, this.WOW = function() {
8962        function e(a) {
8963            null == a && (a = {}), this.scrollCallback = f(this.scrollCallback, this), this.scrollHandler = f(this.scrollHandler, this), this.resetAnimation = f(this.resetAnimation, this), this.start = f(this.start, this), this.scrolled = !0, this.config = this.util().extend(a, this.defaults), this.animationNameCache = new c, this.wowEvent = this.util().createEvent(this.config.boxClass)
8964        }
8965        return e.prototype.defaults = {
8966            boxClass: "wow",
8967            animateClass: "animated",
8968            offset: 0,
8969            mobile: !0,
8970            live: !0,
8971            callback: null
8972        }, e.prototype.init = function() {
8973            var a;
8974            return this.element = window.document.documentElement, "interactive" === (a = document.readyState) || "complete" === a ? this.start() : this.util().addEvent(document, "DOMContentLoaded", this.start), this.finished = []
8975        }, e.prototype.start = function() {
8976            var b, c, d, e;
8977            if (this.stopped = !1, this.boxes = function() {
8978                    var a, c, d, e;
8979                    for (d = this.element.querySelectorAll("." + this.config.boxClass), e = [], a = 0, c = d.length; c > a; a++) b = d[a], e.push(b);
8980                    return e
8981                }.call(this), this.all = function() {
8982                    var a, c, d, e;
8983                    for (d = this.boxes, e = [], a = 0, c = d.length; c > a; a++) b = d[a], e.push(b);
8984                    return e
8985                }.call(this), this.boxes.length)
8986                if (this.disabled()) this.resetStyle();
8987                else
8988                    for (e = this.boxes, c = 0, d = e.length; d > c; c++) b = e[c], this.applyStyle(b, !0);
8989            return this.disabled() || (this.util().addEvent(window, "scroll", this.scrollHandler), this.util().addEvent(window, "resize", this.scrollHandler), this.interval = setInterval(this.scrollCallback, 50)), this.config.live ? new a(function(a) {
8990                return function(b) {
8991                    var c, d, e, f, g;
8992                    for (g = [], c = 0, d = b.length; d > c; c++) f = b[c], g.push(function() {
8993                        var a, b, c, d;
8994                        for (c = f.addedNodes || [], d = [], a = 0, b = c.length; b > a; a++) e = c[a], d.push(this.doSync(e));
8995                        return d
8996                    }.call(a));
8997                    return g
8998                }
8999            }(this)).observe(document.body, {
9000                childList: !0,
9001                subtree: !0
9002            }) : void 0
9003        }, e.prototype.stop = function() {
9004            return this.stopped = !0, this.util().removeEvent(window, "scroll", this.scrollHandler), this.util().removeEvent(window, "resize", this.scrollHandler), null != this.interval ? clearInterval(this.interval) : void 0
9005        }, e.prototype.sync = function() {
9006            return a.notSupported ? this.doSync(this.element) : void 0
9007        }, e.prototype.doSync = function(a) {
9008            var b, c, d, e, f;
9009            if (null == a && (a = this.element), 1 === a.nodeType) {
9010                for (a = a.parentNode || a, e = a.querySelectorAll("." + this.config.boxClass), f = [], c = 0, d = e.length; d > c; c++) b = e[c], g.call(this.all, b) < 0 ? (this.boxes.push(b), this.all.push(b), this.stopped || this.disabled() ? this.resetStyle() : this.applyStyle(b, !0), f.push(this.scrolled = !0)) : f.push(void 0);
9011                return f
9012            }
9013        }, e.prototype.show = function(a) {
9014            return this.applyStyle(a), a.className = a.className + " " + this.config.animateClass, null != this.config.callback && this.config.callback(a), this.util().emitEvent(a, this.wowEvent), this.util().addEvent(a, "animationend", this.resetAnimation), this.util().addEvent(a, "oanimationend", this.resetAnimation), this.util().addEvent(a, "webkitAnimationEnd", this.resetAnimation), this.util().addEvent(a, "MSAnimationEnd", this.resetAnimation), a
9015        }, e.prototype.applyStyle = function(a, b) {
9016            var c, d, e;
9017            return d = a.getAttribute("data-wow-duration"), c = a.getAttribute("data-wow-delay"), e = a.getAttribute("data-wow-iteration"), this.animate(function(f) {
9018                return function() {
9019                    return f.customStyle(a, b, d, c, e)
9020                }
9021            }(this))
9022        }, e.prototype.animate = function() {
9023            return "requestAnimationFrame" in window ? function(a) {
9024                return window.requestAnimationFrame(a)
9025            } : function(a) {
9026                return a()
9027            }
9028        }(), e.prototype.resetStyle = function() {
9029            var a, b, c, d, e;
9030            for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++) a = d[b], e.push(a.style.visibility = "visible");
9031            return e
9032        }, e.prototype.resetAnimation = function(a) {
9033            var b;
9034            return a.type.toLowerCase().indexOf("animationend") >= 0 ? (b = a.target || a.srcElement, b.className = b.className.replace(this.config.animateClass, "").trim()) : void 0
9035        }, e.prototype.customStyle = function(a, b, c, d, e) {
9036            return b && this.cacheAnimationName(a), a.style.visibility = b ? "hidden" : "visible", c && this.vendorSet(a.style, {
9037                animationDuration: c
9038            }), d && this.vendorSet(a.style, {
9039                animationDelay: d
9040            }), e && this.vendorSet(a.style, {
9041                animationIterationCount: e
9042            }), this.vendorSet(a.style, {
9043                animationName: b ? "none" : this.cachedAnimationName(a)
9044            }), a
9045        }
vendor: 2,667 bytes, lines 9045-9092
9045, e.prototype.vendors = ["moz", "webkit"], e.prototype.vendorSet = function(a, b) {
9046            var c, d, e, f;
9047            d = [];
9048            for (c in b) e = b[c], a["" + c] = e, d.push(function() {
9049                var b, d, g, h;
9050                for (g = this.vendors, h = [], b = 0, d = g.length; d > b; b++) f = g[b], h.push(a["" + f + c.charAt(0).toUpperCase() + c.substr(1)] = e);
9051                return h
9052            }.call(this));
9053            return d
9054        }, e.prototype.vendorCSS = function(a, b) {
9055            var c, e, f, g, h, i;
9056            for (h = d(a), g = h.getPropertyCSSValue(b), f = this.vendors, c = 0, e = f.length; e > c; c++) i = f[c], g = g || h.getPropertyCSSValue("-" + i + "-" + b);
9057            return g
9058        }, e.prototype.animationName = function(a) {
9059            var b;
9060            try {
9061                b = this.vendorCSS(a, "animation-name").cssText
9062            } catch (c) {
9063                b = d(a).getPropertyValue("animation-name")
9064            }
9065            return "none" === b ? "" : b
9066        }, e.prototype.cacheAnimationName = function(a) {
9067            return this.animationNameCache.set(a, this.animationName(a))
9068        }, e.prototype.cachedAnimationName = function(a) {
9069            return this.animationNameCache.get(a)
9070        }, e.prototype.scrollHandler = function() {
9071            return this.scrolled = !0
9072        }, e.prototype.scrollCallback = function() {
9073            var a;
9074            return !this.scrolled || (this.scrolled = !1, this.boxes = function() {
9075                var b, c, d, e;
9076                for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++) a = d[b], a && (this.isVisible(a) ? this.show(a) : e.push(a));
9077                return e
9078            }.call(this), this.boxes.length || this.config.live) ? void 0 : this.stop()
9079        }, e.prototype.offsetTop = function(a) {
9080            for (var b; void 0 === a.offsetTop;) a = a.parentNode;
9081            for (b = a.offsetTop; a = a.offsetParent;) b += a.offsetTop;
9082            return b
9083        }, e.prototype.isVisible = function(a) {
9084            var b, c, d, e, f;
9085            return c = a.getAttribute("data-wow-offset") || this.config.offset, f = window.pageYOffset, e = f + Math.min(this.element.clientHeight, this.util().innerHeight()) - c, d = this.offsetTop(a), b = d + a.clientHeight, e >= d && b >= f
9086        }, e.prototype.util = function() {
9087            return null != this._util ? this._util : this._util = new b
9088        }, e.prototype.disabled = function() {
9089            return !this.config.mobile && this.util().isMobile(navigator.userAgent)
9090        }, e
9091    }()
9092}).call(this);

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.