PageSourceSearch

https://hdvart.com/wp-content/themes/hdvarttheme/assets/js/swiper-bundle.min.js?ver=4.34

js hdvart.com collected 2026-09-29 14:52:50 UTC 270,167 bytes, 7,667 lines download raw bytes

1/**
2 * Swiper 12.0.3
3 * Most modern mobile touch slider and framework with hardware accelerated transitions
4 * https://swiperjs.com
5 *
6 * Copyright 2014-2025 Vladimir Kharlampidi
7 *
8 * Released under the MIT License
9 *
10 * Released on: October 21, 2025
11 */
12
13var Swiper = (function () {
14  "use strict";
15  function e(e) {
16    return (
17      null !== e &&
18      "object" == typeof e &&
19      "constructor" in e &&
20      e.constructor === Object
21    );
22  }
23  function t(s = {}, a = {}) {
24    const i = ["__proto__", "constructor", "prototype"];
25    Object.keys(a)
26      .filter((e) => i.indexOf(e) < 0)
27      .forEach((i) => {
28        void 0 === s[i]
29          ? (s[i] = a[i])
30          : e(a[i]) && e(s[i]) && Object.keys(a[i]).length > 0 && t(s[i], a[i]);
31      });
32  }
33  const s = {
34    body: {},
35    addEventListener() {},
36    removeEventListener() {},
37    activeElement: { blur() {}, nodeName: "" },
38    querySelector: () => null,
39    querySelectorAll: () => [],
40    getElementById: () => null,
41    createEvent: () => ({ initEvent() {} }),
42    createElement: () => ({
43      children: [],
44      childNodes: [],
45      style: {},
46      setAttribute() {},
47      getElementsByTagName: () => [],
48    }),
49    createElementNS: () => ({}),
50    importNode: () => null,
51    location: {
52      hash: "",
53      host: "",
54      hostname: "",
55      href: "",
56      origin: "",
57      pathname: "",
58      protocol: "",
59      search: "",
60    },
61  };
62  function a() {
63    const e = "undefined" != typeof document ? document : {};
64    return t(e, s), e;
65  }
66  const i = {
67    document: s,
68    navigator: { userAgent: "" },
69    location: {
70      hash: "",
71      host: "",
72      hostname: "",
73      href: "",
74      origin: "",
75      pathname: "",
76      protocol: "",
77      search: "",
78    },
79    history: { replaceState() {}, pushState() {}, go() {}, back() {} },
80    CustomEvent: function () {
81      return this;
82    },
83    addEventListener() {},
84    removeEventListener() {},
85    getComputedStyle: () => ({ getPropertyValue: () => "" }),
86    Image() {},
87    Date() {},
88    screen: {},
89    setTimeout() {},
90    clearTimeout() {},
91    matchMedia: () => ({}),
92    requestAnimationFrame: (e) =>
93      "undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0),
94    cancelAnimationFrame(e) {
95      "undefined" != typeof setTimeout && clearTimeout(e);
96    },
97  };
98  function r() {
99    const e = "undefined" != typeof window ? window : {};
100    return t(e, i), e;
101  }
102  function n(e = "") {
103    return e
104      .trim()
105      .split(" ")
106      .filter((e) => !!e.trim());
107  }
108  function l(e, t = 0) {
109    return setTimeout(e, t);
110  }
111  function o() {
112    return Date.now();
113  }
114  function d(e, t = "x") {
115    const s = r();
116    let a, i, n;
117    const l = (function (e) {
118      const t = r();
119      let s;
120      return (
121        t.getComputedStyle && (s = t.getComputedStyle(e, null)),
122        !s && e.currentStyle && (s = e.currentStyle),
123        s || (s = e.style),
124        s
125      );
126    })(e);
127    return (
128      s.WebKitCSSMatrix
129        ? ((i = l.transform || l.webkitTransform),
130          i.split(",").length > 6 &&
131            (i = i
132              .split(", ")
133              .map((e) => e.replace(",", "."))
134              .join(", ")),
135          (n = new s.WebKitCSSMatrix("none" === i ? "" : i)))
136        : ((n =
137            l.MozTransform ||
138            l.OTransform ||
139            l.MsTransform ||
140            l.msTransform ||
141            l.transform ||
142            l
143              .getPropertyValue("transform")
144              .replace("translate(", "matrix(1, 0, 0, 1,")),
145          (a = n.toString().split(","))),
146      "x" === t &&
147        (i = s.WebKitCSSMatrix
148          ? n.m41
149          : 16 === a.length
150          ? parseFloat(a[12])
151          : parseFloat(a[4])),
152      "y" === t &&
153        (i = s.WebKitCSSMatrix
154          ? n.m42
155          : 16 === a.length
156          ? parseFloat(a[13])
157          : parseFloat(a[5])),
158      i || 0
159    );
160  }
161  function c(e) {
162    return (
163      "object" == typeof e &&
164      null !== e &&
165      e.constructor &&
166      "Object" === Object.prototype.toString.call(e).slice(8, -1)
167    );
168  }
169  function p(e) {
170    return "undefined" != typeof window && void 0 !== window.HTMLElement
171      ? e instanceof HTMLElement
172      : e && (1 === e.nodeType || 11 === e.nodeType);
173  }
174  function u(...e) {
175    const t = Object(e[0]),
176      s = ["__proto__", "constructor", "prototype"];
177    for (let a = 1; a < e.length; a += 1) {
178      const i = e[a];
179      if (null != i && !p(i)) {
180        const e = Object.keys(Object(i)).filter((e) => s.indexOf(e) < 0);
181        for (let s = 0, a = e.length; s < a; s += 1) {
182          const a = e[s],
183            r = Object.getOwnPropertyDescriptor(i, a);
184          void 0 !== r &&
185            r.enumerable &&
186            (c(t[a]) && c(i[a])
187              ? i[a].__swiper__
188                ? (t[a] = i[a])
189                : u(t[a], i[a])
190              : !c(t[a]) && c(i[a])
191              ? ((t[a] = {}), i[a].__swiper__ ? (t[a] = i[a]) : u(t[a], i[a]))
192              : (t[a] = i[a]));
193        }
194      }
195    }
196    return t;
197  }
198  function m(e, t, s) {
199    e.style.setProperty(t, s);
200  }
201  function h({ swiper: e, targetPosition: t, side: s }) {
202    const a = r(),
203      i = -e.translate;
204    let n,
205      l = null;
206    const o = e.params.speed;
207    (e.wrapperEl.style.scrollSnapType = "none"),
208      a.cancelAnimationFrame(e.cssModeFrameID);
209    const d = t > i ? "next" : "prev",
210      c = (e, t) => ("next" === d && e >= t) || ("prev" === d && e <= t),
211      p = () => {
212        (n = new Date().getTime()), null === l && (l = n);
213        const r = Math.max(Math.min((n - l) / o, 1), 0),
214          d = 0.5 - Math.cos(r * Math.PI) / 2;
215        let u = i + d * (t - i);
216        if ((c(u, t) && (u = t), e.wrapperEl.scrollTo({ [s]: u }), c(u, t)))
217          return (
218            (e.wrapperEl.style.overflow = "hidden"),
219            (e.wrapperEl.style.scrollSnapType = ""),
220            setTimeout(() => {
221              (e.wrapperEl.style.overflow = ""),
222                e.wrapperEl.scrollTo({ [s]: u });
223            }),
224            void a.cancelAnimationFrame(e.cssModeFrameID)
225          );
226        e.cssModeFrameID = a.requestAnimationFrame(p);
227      };
228    p();
229  }
230  function f(e) {
231    return (
232      e.querySelector(".swiper-slide-transform") ||
233      (e.shadowRoot && e.shadowRoot.querySelector(".swiper-slide-transform")) ||
234      e
235    );
236  }
237  function g(e, t = "") {
238    const s = r(),
239      a = [...e.children];
240    return (
241      s.HTMLSlotElement &&
242        e instanceof HTMLSlotElement &&
243        a.push(...e.assignedElements()),
244      t ? a.filter((e) => e.matches(t)) : a
245    );
246  }
247  function v(e) {
248    try {
249      return void console.warn(e);
250    } catch (e) {}
251  }
252  function w(e, t = []) {
253    const s = document.createElement(e);
254    return s.classList.add(...(Array.isArray(t) ? t : n(t))), s;
255  }
256  function b(e) {
257    const t = r(),
258      s = a(),
259      i = e.getBoundingClientRect(),
260      n = s.body,
261      l = e.clientTop || n.clientTop || 0,
262      o = e.clientLeft || n.clientLeft || 0,
263      d = e === t ? t.scrollY : e.scrollTop,
264      c = e === t ? t.scrollX : e.scrollLeft;
265    return { top: i.top + d - l, left: i.left + c - o };
266  }
267  function y(e, t) {
268    return r().getComputedStyle(e, null).getPropertyValue(t);
269  }
270  function E(e) {
271    let t,
272      s = e;
273    if (s) {
274      for (t = 0; null !== (s = s.previousSibling); )
275        1 === s.nodeType && (t += 1);
276      return t;
277    }
278  }
279  function x(e, t) {
280    const s = [];
281    let a = e.parentElement;
282    for (; a; )
283      t ? a.matches(t) && s.push(a) : s.push(a), (a = a.parentElement);
284    return s;
285  }
286  function S(e, t) {
287    t &&
288      e.addEventListener("transitionend", function s(a) {
289        a.target === e &&
290          (t.call(e, a), e.removeEventListener("transitionend", s));
291      });
292  }
293  function T(e, t, s) {
294    const a = r();
295    return s
296      ? e["width" === t ? "offsetWidth" : "offsetHeight"] +
297          parseFloat(
298            a
299              .getComputedStyle(e, null)
300              .getPropertyValue("width" === t ? "margin-right" : "margin-top")
301          ) +
302          parseFloat(
303            a
304              .getComputedStyle(e, null)
305              .getPropertyValue("width" === t ? "margin-left" : "margin-bottom")
306          )
307      : e.offsetWidth;
308  }
309  function M(e) {
310    return (Array.isArray(e) ? e : [e]).filter((e) => !!e);
311  }
312  function C(e) {
313    return (t) =>
314      Math.abs(t) > 0 &&
315      e.browser &&
316      e.browser.need3dFix &&
317      Math.abs(t) % 90 == 0
318        ? t + 0.001
319        : t;
320  }
321  function P(e, t = "") {
322    "undefined" != typeof trustedTypes
323      ? (e.innerHTML = trustedTypes
324          .createPolicy("html", { createHTML: (e) => e })
325          .createHTML(t))
326      : (e.innerHTML = t);
327  }
328  let L, I, z;
329  function A() {
330    return (
331      L ||
332        (L = (function () {
333          const e = r(),
334            t = a();
335          return {
336            smoothScroll:
337              t.documentElement &&
338              t.documentElement.style &&
339              "scrollBehavior" in t.documentElement.style,
340            touch: !!(
341              "ontouchstart" in e ||
342              (e.DocumentTouch && t instanceof e.DocumentTouch)
343            ),
344          };
345        })()),
346      L
347    );
348  }
349  function $(e = {}) {
350    return (
351      I ||
352        (I = (function ({ userAgent: e } = {}) {
353          const t = A(),
354            s = r(),
355            a = s.navigator.platform,
356            i = e || s.navigator.userAgent,
357            n = { ios: !1, android: !1 },
358            l = s.screen.width,
359            o = s.screen.height,
360            d = i.match(/(Android);?[\s\/]+([\d.]+)?/);
361          let c = i.match(/(iPad)(?!\1).*OS\s([\d_]+)/);
362          const p = i.match(/(iPod)(.*OS\s([\d_]+))?/),
363            u = !c && i.match(/(iPhone\sOS|iOS)\s([\d_]+)/),
364            m = "Win32" === a;
365          let h = "MacIntel" === a;
366          return (
367            !c &&
368              h &&
369              t.touch &&
370              [
371                "1024x1366",
372                "1366x1024",
373                "834x1194",
374                "1194x834",
375                "834x1112",
376                "1112x834",
377                "768x1024",
378                "1024x768",
379                "820x1180",
380                "1180x820",
381                "810x1080",
382                "1080x810",
383              ].indexOf(`${l}x${o}`) >= 0 &&
384              ((c = i.match(/(Version)\/([\d.]+)/)),
385              c || (c = [0, 1, "13_0_0"]),
386              (h = !1)),
387            d && !m && ((n.os = "android"), (n.android = !0)),
388            (c || u || p) && ((n.os = "ios"), (n.ios = !0)),
389            n
390          );
391        })(e)),
392      I
393    );
394  }
395  function k() {
396    return (
397      z ||
398        (z = (function () {
399          const e = r(),
400            t = $();
401          let s = !1;
402          function a() {
403            const t = e.navigator.userAgent.toLowerCase();
404            return (
405              t.indexOf("safari") >= 0 &&
406              t.indexOf("chrome") < 0 &&
407              t.indexOf("android") < 0
408            );
409          }
410          if (a()) {
411            const t = String(e.navigator.userAgent);
412            if (t.includes("Version/")) {
413              const [e, a] = t
414                .split("Version/")[1]
415                .split(" ")[0]
416                .split(".")
417                .map((e) => Number(e));
418              s = e < 16 || (16 === e && a < 2);
419            }
420          }
421          const i = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(
422              e.navigator.userAgent
423            ),
424            n = a();
425          return {
426            isSafari: s || n,
427            needPerspectiveFix: s,
428            need3dFix: n || (i && t.ios),
429            isWebView: i,
430          };
431        })()),
432      z
433    );
434  }
435  var O = {
436    on(e, t, s) {
437      const a = this;
438      if (!a.eventsListeners || a.destroyed) return a;
439      if ("function" != typeof t) return a;
440      const i = s ? "unshift" : "push";
441      return (
442        e.split(" ").forEach((e) => {
443          a.eventsListeners[e] || (a.eventsListeners[e] = []),
444            a.eventsListeners[e][i](t);
445        }),
446        a
447      );
448    },
449    once(e, t, s) {
450      const a = this;
451      if (!a.eventsListeners || a.destroyed) return a;
452      if ("function" != typeof t) return a;
453      function i(...s) {
454        a.off(e, i), i.__emitterProxy && delete i.__emitterProxy, t.apply(a, s);
455      }
456      return (i.__emitterProxy = t), a.on(e, i, s);
457    },
458    onAny(e, t) {
459      const s = this;
460      if (!s.eventsListeners || s.destroyed) return s;
461      if ("function" != typeof e) return s;
462      const a = t ? "unshift" : "push";
463      return (
464        s.eventsAnyListeners.indexOf(e) < 0 && s.eventsAnyListeners[a](e), s
465      );
466    },
467    offAny(e) {
468      const t = this;
469      if (!t.eventsListeners || t.destroyed) return t;
470      if (!t.eventsAnyListeners) return t;
471      const s = t.eventsAnyListeners.indexOf(e);
472      return s >= 0 && t.eventsAnyListeners.splice(s, 1), t;
473    },
474    off(e, t) {
475      const s = this;
476      return !s.eventsListeners || s.destroyed
477        ? s
478        : s.eventsListeners
479        ? (e.split(" ").forEach((e) => {
480            void 0 === t
481              ? (s.eventsListeners[e] = [])
482              : s.eventsListeners[e] &&
483                s.eventsListeners[e].forEach((a, i) => {
484                  (a === t || (a.__emitterProxy && a.__emitterProxy === t)) &&
485                    s.eventsListeners[e].splice(i, 1);
486                });
487          }),
488          s)
489        : s;
490    },
491    emit(...e) {
492      const t = this;
493      if (!t.eventsListeners || t.destroyed) return t;
494      if (!t.eventsListeners) return t;
495      let s, a, i;
496      "string" == typeof e[0] || Array.isArray(e[0])
497        ? ((s = e[0]), (a = e.slice(1, e.length)), (i = t))
498        : ((s = e[0].events), (a = e[0].data), (i = e[0].context || t)),
499        a.unshift(i);
500      return (
501        (Array.isArray(s) ? s : s.split(" ")).forEach((e) => {
502          t.eventsAnyListeners &&
503            t.eventsAnyListeners.length &&
504            t.eventsAnyListeners.forEach((t) => {
505              t.apply(i, [e, ...a]);
506            }),
507            t.eventsListeners &&
508              t.eventsListeners[e] &&
509              t.eventsListeners[e].forEach((e) => {
510                e.apply(i, a);
511              });
512        }),
513        t
514      );
515    },
516  };
517  const D = (e, t, s) => {
518    t && !e.classList.contains(s)
519      ? e.classList.add(s)
520      : !t && e.classList.contains(s) && e.classList.remove(s);
521  };
522  const G = (e, t, s) => {
523    t && !e.classList.contains(s)
524      ? e.classList.add(s)
525      : !t && e.classList.contains(s) && e.classList.remove(s);
526  };
527  const X = (e, t) => {
528      if (!e || e.destroyed || !e.params) return;
529      const s = t.closest(
530        e.isElement ? "swiper-slide" : `.${e.params.slideClass}`
531      );
532      if (s) {
533        let t = s.querySelector(`.${e.params.lazyPreloaderClass}`);
534        !t &&
535          e.isElement &&
536          (s.shadowRoot
537            ? (t = s.shadowRoot.querySelector(
538                `.${e.params.lazyPreloaderClass}`
539              ))
540            : requestAnimationFrame(() => {
541                s.shadowRoot &&
542                  ((t = s.shadowRoot.querySelector(
543                    `.${e.params.lazyPreloaderClass}`
544                  )),
545                  t && t.remove());
546              })),
547          t && t.remove();
548      }
549    },
550    B = (e, t) => {
551      if (!e.slides[t]) return;
552      const s = e.slides[t].querySelector('[loading="lazy"]');
553      s && s.removeAttribute("loading");
554    },
555    Y = (e) => {
556      if (!e || e.destroyed || !e.params) return;
557      let t = e.params.lazyPreloadPrevNext;
558      const s = e.slides.length;
559      if (!s || !t || t < 0) return;
560      t = Math.min(t, s);
561      const a =
562          "auto" === e.params.slidesPerView
563            ? e.slidesPerViewDynamic()
564            : Math.ceil(e.params.slidesPerView),
565        i = e.activeIndex;
566      if (e.params.grid && e.params.grid.rows > 1) {
567        const s = i,
568          r = [s - t];
569        return (
570          r.push(...Array.from({ length: t }).map((e, t) => s + a + t)),
571          void e.slides.forEach((t, s) => {
572            r.includes(t.column) && B(e, s);
573          })
574        );
575      }
576      const r = i + a - 1;
577      if (e.params.rewind || e.params.loop)
578        for (let a = i - t; a <= r + t; a += 1) {
579          const t = ((a % s) + s) % s;
580          (t < i || t > r) && B(e, t);
581        }
582      else
583        for (let a = Math.max(i - t, 0); a <= Math.min(r + t, s - 1); a += 1)
584          a !== i && (a > r || a < i) && B(e, a);
585    };
586  var H = {
587    updateSize: function () {
588      const e = this;
589      let t, s;
590      const a = e.el;
591      (t =
592        void 0 !== e.params.width && null !== e.params.width
593          ? e.params.width
594          : a.clientWidth),
595        (s =
596          void 0 !== e.params.height && null !== e.params.height
597            ? e.params.height
598            : a.clientHeight),
599        (0 === t && e.isHorizontal()) ||
600          (0 === s && e.isVertical()) ||
601          ((t =
602            t -
603            parseInt(y(a, "padding-left") || 0, 10) -
604            parseInt(y(a, "padding-right") || 0, 10)),
605          (s =
606            s -
607            parseInt(y(a, "padding-top") || 0, 10) -
608            parseInt(y(a, "padding-bottom") || 0, 10)),
609          Number.isNaN(t) && (t = 0),
610          Number.isNaN(s) && (s = 0),
611          Object.assign(e, {
612            width: t,
613            height: s,
614            size: e.isHorizontal() ? t : s,
615          }));
616    },
617    updateSlides: function () {
618      const e = this;
619      function t(t, s) {
620        return parseFloat(t.getPropertyValue(e.getDirectionLabel(s)) || 0);
621      }
622      const s = e.params,
623        { wrapperEl: a, slidesEl: i, rtlTranslate: r, wrongRTL: n } = e,
624        l = e.virtual && s.virtual.enabled,
625        o = l ? e.virtual.slides.length : e.slides.length,
626        d = g(i, `.${e.params.slideClass}, swiper-slide`),
627        c = l ? e.virtual.slides.length : d.length;
628      let p = [];
629      const u = [],
630        h = [];
631      let f = s.slidesOffsetBefore;
632      "function" == typeof f && (f = s.slidesOffsetBefore.call(e));
633      let v = s.slidesOffsetAfter;
634      "function" == typeof v && (v = s.slidesOffsetAfter.call(e));
635      const w = e.snapGrid.length,
636        b = e.slidesGrid.length,
637        E = e.size - f - v;
638      let x = s.spaceBetween,
639        S = -f,
640        M = 0,
641        C = 0;
642      if (void 0 === E) return;
643      "string" == typeof x && x.indexOf("%") >= 0
644        ? (x = (parseFloat(x.replace("%", "")) / 100) * E)
645        : "string" == typeof x && (x = parseFloat(x)),
646        (e.virtualSize = -x - f - v),
647        d.forEach((e) => {
648          r ? (e.style.marginLeft = "") : (e.style.marginRight = ""),
649            (e.style.marginBottom = ""),
650            (e.style.marginTop = "");
651        }),
652        s.centeredSlides &&
653          s.cssMode &&
654          (m(a, "--swiper-centered-offset-before", ""),
655          m(a, "--swiper-centered-offset-after", ""));
656      const P = s.grid && s.grid.rows > 1 && e.grid;
657      let L;
658      P ? e.grid.initSlides(d) : e.grid && e.grid.unsetSlides();
659      const I =
660        "auto" === s.slidesPerView &&
661        s.breakpoints &&
662        Object.keys(s.breakpoints).filter(
663          (e) => void 0 !== s.breakpoints[e].slidesPerView
664        ).length > 0;
665      for (let a = 0; a < c; a += 1) {
666        L = 0;
667        const i = d[a];
668        if (
669          !i ||
670          (P && e.grid.updateSlide(a, i, d), "none" !== y(i, "display"))
671        ) {
672          if (l && "auto" === s.slidesPerView)
673            s.virtual.slidesPerViewAutoSlideSize &&
674              (L = s.virtual.slidesPerViewAutoSlideSize),
675              L &&
676                i &&
677                (s.roundLengths && (L = Math.floor(L)),
678                (i.style[e.getDirectionLabel("width")] = `${L}px`));
679          else if ("auto" === s.slidesPerView) {
680            I && (i.style[e.getDirectionLabel("width")] = "");
681            const a = getComputedStyle(i),
682              r = i.style.transform,
683              n = i.style.webkitTransform;
684            if (
685              (r && (i.style.transform = "none"),
686              n && (i.style.webkitTransform = "none"),
687              s.roundLengths)
688            )
689              L = e.isHorizontal() ? T(i, "width", !0) : T(i, "height", !0);
690            else {
691              const e = t(a, "width"),
692                s = t(a, "padding-left"),
693                r = t(a, "padding-right"),
694                n = t(a, "margin-left"),
695                l = t(a, "margin-right"),
696                o = a.getPropertyValue("box-sizing");
697              if (o && "border-box" === o) L = e + n + l;
698              else {
699                const { clientWidth: t, offsetWidth: a } = i;
700                L = e + s + r + n + l + (a - t);
701              }
702            }
703            r && (i.style.transform = r),
704              n && (i.style.webkitTransform = n),
705              s.roundLengths && (L = Math.floor(L));
706          } else
707            (L = (E - (s.slidesPerView - 1) * x) / s.slidesPerView),
708              s.roundLengths && (L = Math.floor(L)),
709              i && (i.style[e.getDirectionLabel("width")] = `${L}px`);
710          i && (i.swiperSlideSize = L),
711            h.push(L),
712            s.centeredSlides
713              ? ((S = S + L / 2 + M / 2 + x),
714                0 === M && 0 !== a && (S = S - E / 2 - x),
715                0 === a && (S = S - E / 2 - x),
716                Math.abs(S) < 0.001 && (S = 0),
717                s.roundLengths && (S = Math.floor(S)),
718                C % s.slidesPerGroup === 0 && p.push(S),
719                u.push(S))
720              : (s.roundLengths && (S = Math.floor(S)),
721                (C - Math.min(e.params.slidesPerGroupSkip, C)) %
722                  e.params.slidesPerGroup ===
723                  0 && p.push(S),
724                u.push(S),
725                (S = S + L + x)),
726            (e.virtualSize += L + x),
727            (M = L),
728            (C += 1);
729        }
730      }
731      if (
732        ((e.virtualSize = Math.max(e.virtualSize, E) + v),
733        r &&
734          n &&
735          ("slide" === s.effect || "coverflow" === s.effect) &&
736          (a.style.width = `${e.virtualSize + x}px`),
737        s.setWrapperSize &&
738          (a.style[e.getDirectionLabel("width")] = `${e.virtualSize + x}px`),
739        P && e.grid.updateWrapperSize(L, p),
740        !s.centeredSlides)
741      ) {
742        const t = [];
743        for (let a = 0; a < p.length; a += 1) {
744          let i = p[a];
745          s.roundLengths && (i = Math.floor(i)),
746            p[a] <= e.virtualSize - E && t.push(i);
747        }
748        (p = t),
749          Math.floor(e.virtualSize - E) - Math.floor(p[p.length - 1]) > 1 &&
750            p.push(e.virtualSize - E);
751      }
752      if (l && s.loop) {
753        const t = h[0] + x;
754        if (s.slidesPerGroup > 1) {
755          const a = Math.ceil(
756              (e.virtual.slidesBefore + e.virtual.slidesAfter) /
757                s.slidesPerGroup
758            ),
759            i = t * s.slidesPerGroup;
760          for (let e = 0; e < a; e += 1) p.push(p[p.length - 1] + i);
761        }
762        for (
763          let a = 0;
764          a < e.virtual.slidesBefore + e.virtual.slidesAfter;
765          a += 1
766        )
767          1 === s.slidesPerGroup && p.push(p[p.length - 1] + t),
768            u.push(u[u.length - 1] + t),
769            (e.virtualSize += t);
770      }
771      if ((0 === p.length && (p = [0]), 0 !== x)) {
772        const t =
773          e.isHorizontal() && r
774            ? "marginLeft"
775            : e.getDirectionLabel("marginRight");
776        d.filter(
777          (e, t) => !(s.cssMode && !s.loop) || t !== d.length - 1
778        ).forEach((e) => {
779          e.style[t] = `${x}px`;
780        });
781      }
782      if (s.centeredSlides && s.centeredSlidesBounds) {
783        let e = 0;
784        h.forEach((t) => {
785          e += t + (x || 0);
786        }),
787          (e -= x);
788        const t = e > E ? e - E : 0;
789        p = p.map((e) => (e <= 0 ? -f : e > t ? t + v : e));
790      }
791      if (s.centerInsufficientSlides) {
792        let e = 0;
793        h.forEach((t) => {
794          e += t + (x || 0);
795        }),
796          (e -= x);
797        const t = (f || 0) + (v || 0);
798        if (e + t < E) {
799          const s = (E - e - t) / 2;
800          p.forEach((e, t) => {
801            p[t] = e - s;
802          }),
803            u.forEach((e, t) => {
804              u[t] = e + s;
805            });
806        }
807      }
808      if (
809        (Object.assign(e, {
810          slides: d,
811          snapGrid: p,
812          slidesGrid: u,
813          slidesSizesGrid: h,
814        }),
815        s.centeredSlides && s.cssMode && !s.centeredSlidesBounds)
816      ) {
817        m(a, "--swiper-centered-offset-before", -p[0] + "px"),
818          m(
819            a,
820            "--swiper-centered-offset-after",
821            e.size / 2 - h[h.length - 1] / 2 + "px"
822          );
823        const t = -e.snapGrid[0],
824          s = -e.slidesGrid[0];
825        (e.snapGrid = e.snapGrid.map((e) => e + t)),
826          (e.slidesGrid = e.slidesGrid.map((e) => e + s));
827      }
828      if (
829        (c !== o && e.emit("slidesLengthChange"),
830        p.length !== w &&
831          (e.params.watchOverflow && e.checkOverflow(),
832          e.emit("snapGridLengthChange")),
833        u.length !== b && e.emit("slidesGridLengthChange"),
834        s.watchSlidesProgress && e.updateSlidesOffset(),
835        e.emit("slidesUpdated"),
836        !(l || s.cssMode || ("slide" !== s.effect && "fade" !== s.effect)))
837      ) {
838        const t = `${s.containerModifierClass}backface-hidden`,
839          a = e.el.classList.contains(t);
840        c <= s.maxBackfaceHiddenSlides
841          ? a || e.el.classList.add(t)
842          : a && e.el.classList.remove(t);
843      }
844    },
845    updateAutoHeight: function (e) {
846      const t = this,
847        s = [],
848        a = t.virtual && t.params.virtual.enabled;
849      let i,
850        r = 0;
851      "number" == typeof e
852        ? t.setTransition(e)
853        : !0 === e && t.setTransition(t.params.speed);
854      const n = (e) => (a ? t.slides[t.getSlideIndexByData(e)] : t.slides[e]);
855      if ("auto" !== t.params.slidesPerView && t.params.slidesPerView > 1)
856        if (t.params.centeredSlides)
857          (t.visibleSlides || []).forEach((e) => {
858            s.push(e);
859          });
860        else
861          for (i = 0; i < Math.ceil(t.params.slidesPerView); i += 1) {
862            const e = t.activeIndex + i;
863            if (e > t.slides.length && !a) break;
864            s.push(n(e));
865          }
866      else s.push(n(t.activeIndex));
867      for (i = 0; i < s.length; i += 1)
868        if (void 0 !== s[i]) {
869          const e = s[i].offsetHeight;
870          r = e > r ? e : r;
871        }
872      (r || 0 === r) && (t.wrapperEl.style.height = `${r}px`);
873    },
874    updateSlidesOffset: function () {
875      const e = this,
876        t = e.slides,
877        s = e.isElement
878          ? e.isHorizontal()
879            ? e.wrapperEl.offsetLeft
880            : e.wrapperEl.offsetTop
881          : 0;
882      for (let a = 0; a < t.length; a += 1)
883        t[a].swiperSlideOffset =
884          (e.isHorizontal() ? t[a].offsetLeft : t[a].offsetTop) -
885          s -
886          e.cssOverflowAdjustment();
887    },
888    updateSlidesProgress: function (e = (this && this.translate) || 0) {
889      const t = this,
890        s = t.params,
891        { slides: a, rtlTranslate: i, snapGrid: r } = t;
892      if (0 === a.length) return;
893      void 0 === a[0].swiperSlideOffset && t.updateSlidesOffset();
894      let n = -e;
895      i && (n = e), (t.visibleSlidesIndexes = []), (t.visibleSlides = []);
896      let l = s.spaceBetween;
897      "string" == typeof l && l.indexOf("%") >= 0
898        ? (l = (parseFloat(l.replace("%", "")) / 100) * t.size)
899        : "string" == typeof l && (l = parseFloat(l));
900      for (let e = 0; e < a.length; e += 1) {
901        const o = a[e];
902        let d = o.swiperSlideOffset;
903        s.cssMode && s.centeredSlides && (d -= a[0].swiperSlideOffset);
904        const c =
905            (n + (s.centeredSlides ? t.minTranslate() : 0) - d) /
906            (o.swiperSlideSize + l),
907          p =
908            (n - r[0] + (s.centeredSlides ? t.minTranslate() : 0) - d) /
909            (o.swiperSlideSize + l),
910          u = -(n - d),
911          m = u + t.slidesSizesGrid[e],
912          h = u >= 0 && u <= t.size - t.slidesSizesGrid[e],
913          f =
914            (u >= 0 && u < t.size - 1) ||
915            (m > 1 && m <= t.size) ||
916            (u <= 0 && m >= t.size);
917        f && (t.visibleSlides.push(o), t.visibleSlidesIndexes.push(e)),
918          D(o, f, s.slideVisibleClass),
919          D(o, h, s.slideFullyVisibleClass),
920          (o.progress = i ? -c : c),
921          (o.originalProgress = i ? -p : p);
922      }
923    },
924    updateProgress: function (e) {
925      const t = this;
926      if (void 0 === e) {
927        const s = t.rtlTranslate ? -1 : 1;
928        e = (t && t.translate && t.translate * s) || 0;
929      }
930      const s = t.params,
931        a = t.maxTranslate() - t.minTranslate();
932      let { progress: i, isBeginning: r, isEnd: n, progressLoop: l } = t;
933      const o = r,
934        d = n;
935      if (0 === a) (i = 0), (r = !0), (n = !0);
936      else {
937        i = (e - t.minTranslate()) / a;
938        const s = Math.abs(e - t.minTranslate()) < 1,
939          l = Math.abs(e - t.maxTranslate()) < 1;
940        (r = s || i <= 0), (n = l || i >= 1), s && (i = 0), l && (i = 1);
941      }
942      if (s.loop) {
943        const s = t.getSlideIndexByData(0),
944          a = t.getSlideIndexByData(t.slides.length - 1),
945          i = t.slidesGrid[s],
946          r = t.slidesGrid[a],
947          n = t.slidesGrid[t.slidesGrid.length - 1],
948          o = Math.abs(e);
949        (l = o >= i ? (o - i) / n : (o + n - r) / n), l > 1 && (l -= 1);
950      }
951      Object.assign(t, {
952        progress: i,
953        progressLoop: l,
954        isBeginning: r,
955        isEnd: n,
956      }),
957        (s.watchSlidesProgress || (s.centeredSlides && s.autoHeight)) &&
958          t.updateSlidesProgress(e),
959        r && !o && t.emit("reachBeginning toEdge"),
960        n && !d && t.emit("reachEnd toEdge"),
961        ((o && !r) || (d && !n)) && t.emit("fromEdge"),
962        t.emit("progress", i);
963    },
964    updateSlidesClasses: function () {
965      const e = this,
966        { slides: t, params: s, slidesEl: a, activeIndex: i } = e,
967        r = e.virtual && s.virtual.enabled,
968        n = e.grid && s.grid && s.grid.rows > 1,
969        l = (e) => g(a, `.${s.slideClass}${e}, swiper-slide${e}`)[0];
970      let o, d, c;
971      if (r)
972        if (s.loop) {
973          let t = i - e.virtual.slidesBefore;
974          t < 0 && (t = e.virtual.slides.length + t),
975            t >= e.virtual.slides.length && (t -= e.virtual.slides.length),
976            (o = l(`[data-swiper-slide-index="${t}"]`));
977        } else o = l(`[data-swiper-slide-index="${i}"]`);
978      else
979        n
980          ? ((o = t.find((e) => e.column === i)),
981            (c = t.find((e) => e.column === i + 1)),
982            (d = t.find((e) => e.column === i - 1)))
983          : (o = t[i]);
984      o &&
985        (n ||
986          ((c = (function (e, t) {
987            const s = [];
988            for (; e.nextElementSibling; ) {
989              const a = e.nextElementSibling;
990              t ? a.matches(t) && s.push(a) : s.push(a), (e = a);
991            }
992            return s;
993          })(o, `.${s.slideClass}, swiper-slide`)[0]),
994          s.loop && !c && (c = t[0]),
995          (d = (function (e, t) {
996            const s = [];
997            for (; e.previousElementSibling; ) {
998              const a = e.previousElementSibling;
999              t ? a.matches(t) && s.push(a) : s.push(a), (e = a);
1000            }
1001            return s;
1002          })(o, `.${s.slideClass}, swiper-slide`)[0]),
1003          s.loop && 0 === !d && (d = t[t.length - 1]))),
1004        t.forEach((e) => {
1005          G(e, e === o, s.slideActiveClass),
1006            G(e, e === c, s.slideNextClass),
1007            G(e, e === d, s.slidePrevClass);
1008        }),
1009        e.emitSlidesClasses();
1010    },
1011    updateActiveIndex: function (e) {
1012      const t = this,
1013        s = t.rtlTranslate ? t.translate : -t.translate,
1014        {
1015          snapGrid: a,
1016          params: i,
1017          activeIndex: r,
1018          realIndex: n,
1019          snapIndex: l,
1020        } = t;
1021      let o,
1022        d = e;
1023      const c = (e) => {
1024        let s = e - t.virtual.slidesBefore;
1025        return (
1026          s < 0 && (s = t.virtual.slides.length + s),
1027          s >= t.virtual.slides.length && (s -= t.virtual.slides.length),
1028          s
1029        );
1030      };
1031      if (
1032        (void 0 === d &&
1033          (d = (function (e) {
1034            const { slidesGrid: t, params: s } = e,
1035              a = e.rtlTranslate ? e.translate : -e.translate;
1036            let i;
1037            for (let e = 0; e < t.length; e += 1)
1038              void 0 !== t[e + 1]
1039                ? a >= t[e] && a < t[e + 1] - (t[e + 1] - t[e]) / 2
1040                  ? (i = e)
1041                  : a >= t[e] && a < t[e + 1] && (i = e + 1)
1042                : a >= t[e] && (i = e);
1043            return (
1044              s.normalizeSlideIndex && (i < 0 || void 0 === i) && (i = 0), i
1045            );
1046          })(t)),
1047        a.indexOf(s) >= 0)
1048      )
1049        o = a.indexOf(s);
1050      else {
1051        const e = Math.min(i.slidesPerGroupSkip, d);
1052        o = e + Math.floor((d - e) / i.slidesPerGroup);
1053      }
1054      if ((o >= a.length && (o = a.length - 1), d === r && !t.params.loop))
1055        return void (o !== l && ((t.snapIndex = o), t.emit("snapIndexChange")));
1056      if (d === r && t.params.loop && t.virtual && t.params.virtual.enabled)
1057        return void (t.realIndex = c(d));
1058      const p = t.grid && i.grid && i.grid.rows > 1;
1059      let u;
1060      if (t.virtual && i.virtual.enabled && i.loop) u = c(d);
1061      else if (p) {
1062        const e = t.slides.find((e) => e.column === d);
1063        let s = parseInt(e.getAttribute("data-swiper-slide-index"), 10);
1064        Number.isNaN(s) && (s = Math.max(t.slides.indexOf(e), 0)),
1065          (u = Math.floor(s / i.grid.rows));
1066      } else if (t.slides[d]) {
1067        const e = t.slides[d].getAttribute("data-swiper-slide-index");
1068        u = e ? parseInt(e, 10) : d;
1069      } else u = d;
1070      Object.assign(t, {
1071        previousSnapIndex: l,
1072        snapIndex: o,
1073        previousRealIndex: n,
1074        realIndex: u,
1075        previousIndex: r,
1076        activeIndex: d,
1077      }),
1078        t.initialized && Y(t),
1079        t.emit("activeIndexChange"),
1080        t.emit("snapIndexChange"),
1081        (t.initialized || t.params.runCallbacksOnInit) &&
1082          (n !== u && t.emit("realIndexChange"), t.emit("slideChange"));
1083    },
1084    updateClickedSlide: function (e, t) {
1085      const s = this,
1086        a = s.params;
1087      let i = e.closest(`.${a.slideClass}, swiper-slide`);
1088      !i &&
1089        s.isElement &&
1090        t &&
1091        t.length > 1 &&
1092        t.includes(e) &&
1093        [...t.slice(t.indexOf(e) + 1, t.length)].forEach((e) => {
1094          !i &&
1095            e.matches &&
1096            e.matches(`.${a.slideClass}, swiper-slide`) &&
1097            (i = e);
1098        });
1099      let r,
1100        n = !1;
1101      if (i)
1102        for (let e = 0; e < s.slides.length; e += 1)
1103          if (s.slides[e] === i) {
1104            (n = !0), (r = e);
1105            break;
1106          }
1107      if (!i || !n)
1108        return (s.clickedSlide = void 0), void (s.clickedIndex = void 0);
1109      (s.clickedSlide = i),
1110        s.virtual && s.params.virtual.enabled
1111          ? (s.clickedIndex = parseInt(
1112              i.getAttribute("data-swiper-slide-index"),
1113              10
1114            ))
1115          : (s.clickedIndex = r),
1116        a.slideToClickedSlide &&
1117          void 0 !== s.clickedIndex &&
1118          s.clickedIndex !== s.activeIndex &&
1119          s.slideToClickedSlide();
1120    },
1121  };
1122  var N = {
1123    getTranslate: function (e = this.isHorizontal() ? "x" : "y") {
1124      const { params: t, rtlTranslate: s, translate: a, wrapperEl: i } = this;
1125      if (t.virtualTranslate) return s ? -a : a;
1126      if (t.cssMode) return a;
1127      let r = d(i, e);
1128      return (r += this.cssOverflowAdjustment()), s && (r = -r), r || 0;
1129    },
1130    setTranslate: function (e, t) {
1131      const s = this,
1132        { rtlTranslate: a, params: i, wrapperEl: r, progress: n } = s;
1133      let l,
1134        o = 0,
1135        d = 0;
1136      s.isHorizontal() ? (o = a ? -e : e) : (d = e),
1137        i.roundLengths && ((o = Math.floor(o)), (d = Math.floor(d))),
1138        (s.previousTranslate = s.translate),
1139        (s.translate = s.isHorizontal() ? o : d),
1140        i.cssMode
1141          ? (r[s.isHorizontal() ? "scrollLeft" : "scrollTop"] = s.isHorizontal()
1142              ? -o
1143              : -d)
1144          : i.virtualTranslate ||
1145            (s.isHorizontal()
1146              ? (o -= s.cssOverflowAdjustment())
1147              : (d -= s.cssOverflowAdjustment()),
1148            (r.style.transform = `translate3d(${o}px, ${d}px, 0px)`));
1149      const c = s.maxTranslate() - s.minTranslate();
1150      (l = 0 === c ? 0 : (e - s.minTranslate()) / c),
1151        l !== n && s.updateProgress(e),
1152        s.emit("setTranslate", s.translate, t);
1153    },
1154    minTranslate: function () {
1155      return -this.snapGrid[0];
1156    },
1157    maxTranslate: function () {
1158      return -this.snapGrid[this.snapGrid.length - 1];
1159    },
1160    translateTo: function (e = 0, t = this.params.speed, s = !0, a = !0, i) {
1161      const r = this,
1162        { params: n, wrapperEl: l } = r;
1163      if (r.animating && n.preventInteractionOnTransition) return !1;
1164      const o = r.minTranslate(),
1165        d = r.maxTranslate();
1166      let c;
1167      if (
1168        ((c = a && e > o ? o : a && e < d ? d : e),
1169        r.updateProgress(c),
1170        n.cssMode)
1171      ) {
1172        const e = r.isHorizontal();
1173        if (0 === t) l[e ? "scrollLeft" : "scrollTop"] = -c;
1174        else {
1175          if (!r.support.smoothScroll)
1176            return (
1177              h({ swiper: r, targetPosition: -c, side: e ? "left" : "top" }), !0
1178            );
1179          l.scrollTo({ [e ? "left" : "top"]: -c, behavior: "smooth" });
1180        }
1181        return !0;
1182      }
1183      return (
1184        0 === t
1185          ? (r.setTransition(0),
1186            r.setTranslate(c),
1187            s &&
1188              (r.emit("beforeTransitionStart", t, i), r.emit("transitionEnd")))
1189          : (r.setTransition(t),
1190            r.setTranslate(c),
1191            s &&
1192              (r.emit("beforeTransitionStart", t, i),
1193              r.emit("transitionStart")),
1194            r.animating ||
1195              ((r.animating = !0),
1196              r.onTranslateToWrapperTransitionEnd ||
1197                (r.onTranslateToWrapperTransitionEnd = function (e) {
1198                  r &&
1199                    !r.destroyed &&
1200                    e.target === this &&
1201                    (r.wrapperEl.removeEventListener(
1202                      "transitionend",
1203                      r.onTranslateToWrapperTransitionEnd
1204                    ),
1205                    (r.onTranslateToWrapperTransitionEnd = null),
1206                    delete r.onTranslateToWrapperTransitionEnd,
1207                    (r.animating = !1),
1208                    s && r.emit("transitionEnd"));
1209                }),
1210              r.wrapperEl.addEventListener(
1211                "transitionend",
1212                r.onTranslateToWrapperTransitionEnd
1213              ))),
1214        !0
1215      );
1216    },
1217  };
1218  function R({ swiper: e, runCallbacks: t, direction: s, step: a }) {
1219    const { activeIndex: i, previousIndex: r } = e;
1220    let n = s;
1221    n || (n = i > r ? "next" : i < r ? "prev" : "reset"),
1222      e.emit(`transition${a}`),
1223      t && "reset" === n
1224        ? e.emit(`slideResetTransition${a}`)
1225        : t &&
1226          i !== r &&
1227          (e.emit(`slideChangeTransition${a}`),
1228          "next" === n
1229            ? e.emit(`slideNextTransition${a}`)
1230            : e.emit(`slidePrevTransition${a}`));
1231  }
1232  var V = {
1233    slideTo: function (e = 0, t, s = !0, a, i) {
1234      "string" == typeof e && (e = parseInt(e, 10));
1235      const r = this;
1236      let n = e;
1237      n < 0 && (n = 0);
1238      const {
1239        params: l,
1240        snapGrid: o,
1241        slidesGrid: d,
1242        previousIndex: c,
1243        activeIndex: p,
1244        rtlTranslate: u,
1245        wrapperEl: m,
1246        enabled: f,
1247      } = r;
1248      if (
1249        (!f && !a && !i) ||
1250        r.destroyed ||
1251        (r.animating && l.preventInteractionOnTransition)
1252      )
1253        return !1;
1254      void 0 === t && (t = r.params.speed);
1255      const g = Math.min(r.params.slidesPerGroupSkip, n);
1256      let v = g + Math.floor((n - g) / r.params.slidesPerGroup);
1257      v >= o.length && (v = o.length - 1);
1258      const w = -o[v];
1259      if (l.normalizeSlideIndex)
1260        for (let e = 0; e < d.length; e += 1) {
1261          const t = -Math.floor(100 * w),
1262            s = Math.floor(100 * d[e]),
1263            a = Math.floor(100 * d[e + 1]);
1264          void 0 !== d[e + 1]
1265            ? t >= s && t < a - (a - s) / 2
1266              ? (n = e)
1267              : t >= s && t < a && (n = e + 1)
1268            : t >= s && (n = e);
1269        }
1270      if (r.initialized && n !== p) {
1271        if (
1272          !r.allowSlideNext &&
1273          (u
1274            ? w > r.translate && w > r.minTranslate()
1275            : w < r.translate && w < r.minTranslate())
1276        )
1277          return !1;
1278        if (
1279          !r.allowSlidePrev &&
1280          w > r.translate &&
1281          w > r.maxTranslate() &&
1282          (p || 0) !== n
1283        )
1284          return !1;
1285      }
1286      let b;
1287      n !== (c || 0) && s && r.emit("beforeSlideChangeStart"),
1288        r.updateProgress(w),
1289        (b = n > p ? "next" : n < p ? "prev" : "reset");
1290      const y = r.virtual && r.params.virtual.enabled;
1291      if (!(y && i) && ((u && -w === r.translate) || (!u && w === r.translate)))
1292        return (
1293          r.updateActiveIndex(n),
1294          l.autoHeight && r.updateAutoHeight(),
1295          r.updateSlidesClasses(),
1296          "slide" !== l.effect && r.setTranslate(w),
1297          "reset" !== b && (r.transitionStart(s, b), r.transitionEnd(s, b)),
1298          !1
1299        );
1300      if (l.cssMode) {
1301        const e = r.isHorizontal(),
1302          s = u ? w : -w;
1303        if (0 === t)
1304          y &&
1305            ((r.wrapperEl.style.scrollSnapType = "none"),
1306            (r._immediateVirtual = !0)),
1307            y && !r._cssModeVirtualInitialSet && r.params.initialSlide > 0
1308              ? ((r._cssModeVirtualInitialSet = !0),
1309                requestAnimationFrame(() => {
1310                  m[e ? "scrollLeft" : "scrollTop"] = s;
1311                }))
1312              : (m[e ? "scrollLeft" : "scrollTop"] = s),
1313            y &&
1314              requestAnimationFrame(() => {
1315                (r.wrapperEl.style.scrollSnapType = ""),
1316                  (r._immediateVirtual = !1);
1317              });
1318        else {
1319          if (!r.support.smoothScroll)
1320            return (
1321              h({ swiper: r, targetPosition: s, side: e ? "left" : "top" }), !0
1322            );
1323          m.scrollTo({ [e ? "left" : "top"]: s, behavior: "smooth" });
1324        }
1325        return !0;
1326      }
1327      const E = k().isSafari;
1328      return (
1329        y && !i && E && r.isElement && r.virtual.update(!1, !1, n),
1330        r.setTransition(t),
1331        r.setTranslate(w),
1332        r.updateActiveIndex(n),
1333        r.updateSlidesClasses(),
1334        r.emit("beforeTransitionStart", t, a),
1335        r.transitionStart(s, b),
1336        0 === t
1337          ? r.transitionEnd(s, b)
1338          : r.animating ||
1339            ((r.animating = !0),
1340            r.onSlideToWrapperTransitionEnd ||
1341              (r.onSlideToWrapperTransitionEnd = function (e) {
1342                r &&
1343                  !r.destroyed &&
1344                  e.target === this &&
1345                  (r.wrapperEl.removeEventListener(
1346                    "transitionend",
1347                    r.onSlideToWrapperTransitionEnd
1348                  ),
1349                  (r.onSlideToWrapperTransitionEnd = null),
1350                  delete r.onSlideToWrapperTransitionEnd,
1351                  r.transitionEnd(s, b));
1352              }),
1353            r.wrapperEl.addEventListener(
1354              "transitionend",
1355              r.onSlideToWrapperTransitionEnd
1356            )),
1357        !0
1358      );
1359    },
1360    slideToLoop: function (e = 0, t, s = !0, a) {
1361      if ("string" == typeof e) {
1362        e = parseInt(e, 10);
1363      }
1364      const i = this;
1365      if (i.destroyed) return;
1366      void 0 === t && (t = i.params.speed);
1367      const r = i.grid && i.params.grid && i.params.grid.rows > 1;
1368      let n = e;
1369      if (i.params.loop)
1370        if (i.virtual && i.params.virtual.enabled) n += i.virtual.slidesBefore;
1371        else {
1372          let e;
1373          if (r) {
1374            const t = n * i.params.grid.rows;
1375            e = i.slides.find(
1376              (e) => 1 * e.getAttribute("data-swiper-slide-index") === t
1377            ).column;
1378          } else e = i.getSlideIndexByData(n);
1379          const t = r
1380              ? Math.ceil(i.slides.length / i.params.grid.rows)
1381              : i.slides.length,
1382            {
1383              centeredSlides: s,
1384              slidesOffsetBefore: l,
1385              slidesOffsetAfter: o,
1386            } = i.params,
1387            d = s || !!l || !!o;
1388          let c = i.params.slidesPerView;
1389          "auto" === c
1390            ? (c = i.slidesPerViewDynamic())
1391            : ((c = Math.ceil(parseFloat(i.params.slidesPerView, 10))),
1392              d && c % 2 == 0 && (c += 1));
1393          let p = t - e < c;
1394          if (
1395            (d && (p = p || e < Math.ceil(c / 2)),
1396            a && d && "auto" !== i.params.slidesPerView && !r && (p = !1),
1397            p)
1398          ) {
1399            const s = d
1400              ? e < i.activeIndex
1401                ? "prev"
1402                : "next"
1403              : e - i.activeIndex - 1 < i.params.slidesPerView
1404              ? "next"
1405              : "prev";
1406            i.loopFix({
1407              direction: s,
1408              slideTo: !0,
1409              activeSlideIndex: "next" === s ? e + 1 : e - t + 1,
1410              slideRealIndex: "next" === s ? i.realIndex : void 0,
1411            });
1412          }
1413          if (r) {
1414            const e = n * i.params.grid.rows;
1415            n = i.slides.find(
1416              (t) => 1 * t.getAttribute("data-swiper-slide-index") === e
1417            ).column;
1418          } else n = i.getSlideIndexByData(n);
1419        }
1420      return (
1421        requestAnimationFrame(() => {
1422          i.slideTo(n, t, s, a);
1423        }),
1424        i
1425      );
1426    },
1427    slideNext: function (e, t = !0, s) {
1428      const a = this,
1429        { enabled: i, params: r, animating: n } = a;
1430      if (!i || a.destroyed) return a;
1431      void 0 === e && (e = a.params.speed);
1432      let l = r.slidesPerGroup;
1433      "auto" === r.slidesPerView &&
1434        1 === r.slidesPerGroup &&
1435        r.slidesPerGroupAuto &&
1436        (l = Math.max(a.slidesPerViewDynamic("current", !0), 1));
1437      const o = a.activeIndex < r.slidesPerGroupSkip ? 1 : l,
1438        d = a.virtual && r.virtual.enabled;
1439      if (r.loop) {
1440        if (n && !d && r.loopPreventsSliding) return !1;
1441        if (
1442          (a.loopFix({ direction: "next" }),
1443          (a._clientLeft = a.wrapperEl.clientLeft),
1444          a.activeIndex === a.slides.length - 1 && r.cssMode)
1445        )
1446          return (
1447            requestAnimationFrame(() => {
1448              a.slideTo(a.activeIndex + o, e, t, s);
1449            }),
1450            !0
1451          );
1452      }
1453      return r.rewind && a.isEnd
1454        ? a.slideTo(0, e, t, s)
1455        : a.slideTo(a.activeIndex + o, e, t, s);
1456    },
1457    slidePrev: function (e, t = !0, s) {
1458      const a = this,
1459        {
1460          params: i,
1461          snapGrid: r,
1462          slidesGrid: n,
1463          rtlTranslate: l,
1464          enabled: o,
1465          animating: d,
1466        } = a;
1467      if (!o || a.destroyed) return a;
1468      void 0 === e && (e = a.params.speed);
1469      const c = a.virtual && i.virtual.enabled;
1470      if (i.loop) {
1471        if (d && !c && i.loopPreventsSliding) return !1;
1472        a.loopFix({ direction: "prev" }),
1473          (a._clientLeft = a.wrapperEl.clientLeft);
1474      }
1475      function p(e) {
1476        return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e);
1477      }
1478      const u = p(l ? a.translate : -a.translate),
1479        m = r.map((e) => p(e)),
1480        h = i.freeMode && i.freeMode.enabled;
1481      let f = r[m.indexOf(u) - 1];
1482      if (void 0 === f && (i.cssMode || h)) {
1483        let e;
1484        r.forEach((t, s) => {
1485          u >= t && (e = s);
1486        }),
1487          void 0 !== e && (f = h ? r[e] : r[e > 0 ? e - 1 : e]);
1488      }
1489      let g = 0;
1490      if (
1491        (void 0 !== f &&
1492          ((g = n.indexOf(f)),
1493          g < 0 && (g = a.activeIndex - 1),
1494          "auto" === i.slidesPerView &&
1495            1 === i.slidesPerGroup &&
1496            i.slidesPerGroupAuto &&
1497            ((g = g - a.slidesPerViewDynamic("previous", !0) + 1),
1498            (g = Math.max(g, 0)))),
1499        i.rewind && a.isBeginning)
1500      ) {
1501        const i =
1502          a.params.virtual && a.params.virtual.enabled && a.virtual
1503            ? a.virtual.slides.length - 1
1504            : a.slides.length - 1;
1505        return a.slideTo(i, e, t, s);
1506      }
1507      return i.loop && 0 === a.activeIndex && i.cssMode
1508        ? (requestAnimationFrame(() => {
1509            a.slideTo(g, e, t, s);
1510          }),
1511          !0)
1512        : a.slideTo(g, e, t, s);
1513    },
1514    slideReset: function (e, t = !0, s) {
1515      const a = this;
1516      if (!a.destroyed)
1517        return (
1518          void 0 === e && (e = a.params.speed),
1519          a.slideTo(a.activeIndex, e, t, s)
1520        );
1521    },
1522    slideToClosest: function (e, t = !0, s, a = 0.5) {
1523      const i = this;
1524      if (i.destroyed) return;
1525      void 0 === e && (e = i.params.speed);
1526      let r = i.activeIndex;
1527      const n = Math.min(i.params.slidesPerGroupSkip, r),
1528        l = n + Math.floor((r - n) / i.params.slidesPerGroup),
1529        o = i.rtlTranslate ? i.translate : -i.translate;
1530      if (o >= i.snapGrid[l]) {
1531        const e = i.snapGrid[l];
1532        o - e > (i.snapGrid[l + 1] - e) * a && (r += i.params.slidesPerGroup);
1533      } else {
1534        const e = i.snapGrid[l - 1];
1535        o - e <= (i.snapGrid[l] - e) * a && (r -= i.params.slidesPerGroup);
1536      }
1537      return (
1538        (r = Math.max(r, 0)),
1539        (r = Math.min(r, i.slidesGrid.length - 1)),
1540        i.slideTo(r, e, t, s)
1541      );
1542    },
1543    slideToClickedSlide: function () {
1544      const e = this;
1545      if (e.destroyed) return;
1546      const { params: t, slidesEl: s } = e,
1547        a =
1548          "auto" === t.slidesPerView
1549            ? e.slidesPerViewDynamic()
1550            : t.slidesPerView;
1551      let i,
1552        r = e.getSlideIndexWhenGrid(e.clickedIndex);
1553      const n = e.isElement ? "swiper-slide" : `.${t.slideClass}`,
1554        o = e.grid && e.params.grid && e.params.grid.rows > 1;
1555      if (t.loop) {
1556        if (e.animating) return;
1557        (i = parseInt(
1558          e.clickedSlide.getAttribute("data-swiper-slide-index"),
1559          10
1560        )),
1561          t.centeredSlides
1562            ? e.slideToLoop(i)
1563            : r >
1564              (o
1565                ? (e.slides.length - a) / 2 - (e.params.grid.rows - 1)
1566                : e.slides.length - a)
1567            ? (e.loopFix(),
1568              (r = e.getSlideIndex(
1569                g(s, `${n}[data-swiper-slide-index="${i}"]`)[0]
1570              )),
1571              l(() => {
1572                e.slideTo(r);
1573              }))
1574            : e.slideTo(r);
1575      } else e.slideTo(r);
1576    },
1577  };
1578  var q = {
1579    loopCreate: function (e, t) {
1580      const s = this,
1581        { params: a, slidesEl: i } = s;
1582      if (!a.loop || (s.virtual && s.params.virtual.enabled)) return;
1583      const r = () => {
1584          g(i, `.${a.slideClass}, swiper-slide`).forEach((e, t) => {
1585            e.setAttribute("data-swiper-slide-index", t);
1586          });
1587        },
1588        n = s.grid && a.grid && a.grid.rows > 1;
1589      a.loopAddBlankSlides &&
1590        (a.slidesPerGroup > 1 || n) &&
1591        (() => {
1592          const e = g(i, `.${a.slideBlankClass}`);
1593          e.forEach((e) => {
1594            e.remove();
1595          }),
1596            e.length > 0 && (s.recalcSlides(), s.updateSlides());
1597        })();
1598      const l = a.slidesPerGroup * (n ? a.grid.rows : 1),
1599        o = s.slides.length % l !== 0,
1600        d = n && s.slides.length % a.grid.rows !== 0,
1601        c = (e) => {
1602          for (let t = 0; t < e; t += 1) {
1603            const e = s.isElement
1604              ? w("swiper-slide", [a.slideBlankClass])
1605              : w("div", [a.slideClass, a.slideBlankClass]);
1606            s.slidesEl.append(e);
1607          }
1608        };
1609      if (o) {
1610        if (a.loopAddBlankSlides) {
1611          c(l - (s.slides.length % l)), s.recalcSlides(), s.updateSlides();
1612        } else
1613          v(
1614            "Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may 
1614not function properly. You need to add more slides (or make duplicates, or empty slides)"
1615          );
1616        r();
1617      } else if (d) {
1618        if (a.loopAddBlankSlides) {
1619          c(a.grid.rows - (s.slides.length % a.grid.rows)),
1620            s.recalcSlides(),
1621            s.updateSlides();
1622        } else
1623          v(
1624            "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)"
1625          );
1626        r();
1627      } else r();
1628      const p =
1629        a.centeredSlides || !!a.slidesOffsetBefore || !!a.slidesOffsetAfter;
1630      s.loopFix({
1631        slideRealIndex: e,
1632        direction: p ? void 0 : "next",
1633        initial: t,
1634      });
1635    },
1636    loopFix: function ({
1637      slideRealIndex: e,
1638      slideTo: t = !0,
1639      direction: s,
1640      setTranslate: a,
1641      activeSlideIndex: i,
1642      initial: r,
1643      byController: n,
1644      byMousewheel: l,
1645    } = {}) {
1646      const o = this;
1647      if (!o.params.loop) return;
1648      o.emit("beforeLoopFix");
1649      const {
1650          slides: d,
1651          allowSlidePrev: c,
1652          allowSlideNext: p,
1653          slidesEl: u,
1654          params: m,
1655        } = o,
1656        {
1657          centeredSlides: h,
1658          slidesOffsetBefore: f,
1659          slidesOffsetAfter: g,
1660          initialSlide: w,
1661        } = m,
1662        b = h || !!f || !!g;
1663      if (
1664        ((o.allowSlidePrev = !0),
1665        (o.allowSlideNext = !0),
1666        o.virtual && m.virtual.enabled)
1667      )
1668        return (
1669          t &&
1670            (b || 0 !== o.snapIndex
1671              ? b && o.snapIndex < m.slidesPerView
1672                ? o.slideTo(o.virtual.slides.length + o.snapIndex, 0, !1, !0)
1673                : o.snapIndex === o.snapGrid.length - 1 &&
1674                  o.slideTo(o.virtual.slidesBefore, 0, !1, !0)
1675              : o.slideTo(o.virtual.slides.length, 0, !1, !0)),
1676          (o.allowSlidePrev = c),
1677          (o.allowSlideNext = p),
1678          void o.emit("loopFix")
1679        );
1680      let y = m.slidesPerView;
1681      "auto" === y
1682        ? (y = o.slidesPerViewDynamic())
1683        : ((y = Math.ceil(parseFloat(m.slidesPerView, 10))),
1684          b && y % 2 == 0 && (y += 1));
1685      const E = m.slidesPerGroupAuto ? y : m.slidesPerGroup;
1686      let x = b ? Math.max(E, Math.ceil(y / 2)) : E;
1687      x % E !== 0 && (x += E - (x % E)),
1688        (x += m.loopAdditionalSlides),
1689        (o.loopedSlides = x);
1690      const S = o.grid && m.grid && m.grid.rows > 1;
1691      d.length < y + x || ("cards" === o.params.effect && d.length < y + 2 * x)
1692        ? v(
1693            "Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters"
1694          )
1695        : S &&
1696          "row" === m.grid.fill &&
1697          v(
1698            "Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`"
1699          );
1700      const T = [],
1701        M = [],
1702        C = S ? Math.ceil(d.length / m.grid.rows) : d.length,
1703        P = r && C - w < y && !b;
1704      let L = P ? w : o.activeIndex;
1705      void 0 === i
1706        ? (i = o.getSlideIndex(
1707            d.find((e) => e.classList.contains(m.slideActiveClass))
1708          ))
1709        : (L = i);
1710      const I = "next" === s || !s,
1711        z = "prev" === s || !s;
1712      let A = 0,
1713        $ = 0;
1714      const k = (S ? d[i].column : i) + (b && void 0 === a ? -y / 2 + 0.5 : 0);
1715      if (k < x) {
1716        A = Math.max(x - k, E);
1717        for (let e = 0; e < x - k; e += 1) {
1718          const t = e - Math.floor(e / C) * C;
1719          if (S) {
1720            const e = C - t - 1;
1721            for (let t = d.length - 1; t >= 0; t -= 1)
1722              d[t].column === e && T.push(t);
1723          } else T.push(C - t - 1);
1724        }
1725      } else if (k + y > C - x) {
1726        ($ = Math.max(k - (C - 2 * x), E)),
1727          P && ($ = Math.max($, y - C + w + 1));
1728        for (let e = 0; e < $; e += 1) {
1729          const t = e - Math.floor(e / C) * C;
1730          S
1731            ? d.forEach((e, s) => {
1732                e.column === t && M.push(s);
1733              })
1734            : M.push(t);
1735        }
1736      }
1737      if (
1738        ((o.__preventObserver__ = !0),
1739        requestAnimationFrame(() => {
1740          o.__preventObserver__ = !1;
1741        }),
1742        "cards" === o.params.effect &&
1743          d.length < y + 2 * x &&
1744          (M.includes(i) && M.splice(M.indexOf(i), 1),
1745          T.includes(i) && T.splice(T.indexOf(i), 1)),
1746        z &&
1747          T.forEach((e) => {
1748            (d[e].swiperLoopMoveDOM = !0),
1749              u.prepend(d[e]),
1750              (d[e].swiperLoopMoveDOM = !1);
1751          }),
1752        I &&
1753          M.forEach((e) => {
1754            (d[e].swiperLoopMoveDOM = !0),
1755              u.append(d[e]),
1756              (d[e].swiperLoopMoveDOM = !1);
1757          }),
1758        o.recalcSlides(),
1759        "auto" === m.slidesPerView
1760          ? o.updateSlides()
1761          : S &&
1762            ((T.length > 0 && z) || (M.length > 0 && I)) &&
1763            o.slides.forEach((e, t) => {
1764              o.grid.updateSlide(t, e, o.slides);
1765            }),
1766        m.watchSlidesProgress && o.updateSlidesOffset(),
1767        t)
1768      )
1769        if (T.length > 0 && z) {
1770          if (void 0 === e) {
1771            const e = o.slidesGrid[L],
1772              t = o.slidesGrid[L + A] - e;
1773            l
1774              ? o.setTranslate(o.translate - t)
1775              : (o.slideTo(L + Math.ceil(A), 0, !1, !0),
1776                a &&
1777                  ((o.touchEventsData.startTranslate =
1778                    o.touchEventsData.startTranslate - t),
1779                  (o.touchEventsData.currentTranslate =
1780                    o.touchEventsData.currentTranslate - t)));
1781          } else if (a) {
1782            const e = S ? T.length / m.grid.rows : T.length;
1783            o.slideTo(o.activeIndex + e, 0, !1, !0),
1784              (o.touchEventsData.currentTranslate = o.translate);
1785          }
1786        } else if (M.length > 0 && I)
1787          if (void 0 === e) {
1788            const e = o.slidesGrid[L],
1789              t = o.slidesGrid[L - $] - e;
1790            l
1791              ? o.setTranslate(o.translate - t)
1792              : (o.slideTo(L - $, 0, !1, !0),
1793                a &&
1794                  ((o.touchEventsData.startTranslate =
1795                    o.touchEventsData.startTranslate - t),
1796                  (o.touchEventsData.currentTranslate =
1797                    o.touchEventsData.currentTranslate - t)));
1798          } else {
1799            const e = S ? M.length / m.grid.rows : M.length;
1800            o.slideTo(o.activeIndex - e, 0, !1, !0);
1801          }
1802      if (
1803        ((o.allowSlidePrev = c),
1804        (o.allowSlideNext = p),
1805        o.controller && o.controller.control && !n)
1806      ) {
1807        const r = {
1808          slideRealIndex: e,
1809          direction: s,
1810          setTranslate: a,
1811          activeSlideIndex: i,
1812          byController: !0,
1813        };
1814        Array.isArray(o.controller.control)
1815          ? o.controller.control.forEach((e) => {
1816              !e.destroyed &&
1817                e.params.loop &&
1818                e.loopFix({
1819                  ...r,
1820                  slideTo: e.params.slidesPerView === m.slidesPerView && t,
1821                });
1822            })
1823          : o.controller.control instanceof o.constructor &&
1824            o.controller.control.params.loop &&
1825            o.controller.control.loopFix({
1826              ...r,
1827              slideTo:
1828                o.controller.control.params.slidesPerView === m.slidesPerView &&
1829                t,
1830            });
1831      }
1832      o.emit("loopFix");
1833    },
1834    loopDestroy: function () {
1835      const e = this,
1836        { params: t, slidesEl: s } = e;
1837      if (!t.loop || !s || (e.virtual && e.params.virtual.enabled)) return;
1838      e.recalcSlides();
1839      const a = [];
1840      e.slides.forEach((e) => {
1841        const t =
1842          void 0 === e.swiperSlideIndex
1843            ? 1 * e.getAttribute("data-swiper-slide-index")
1844            : e.swiperSlideIndex;
1845        a[t] = e;
1846      }),
1847        e.slides.forEach((e) => {
1848          e.removeAttribute("data-swiper-slide-index");
1849        }),
1850        a.forEach((e) => {
1851          s.append(e);
1852        }),
1853        e.recalcSlides(),
1854        e.slideTo(e.realIndex, 0);
1855    },
1856  };
1857  function _(e, t, s) {
1858    const a = r(),
1859      { params: i } = e,
1860      n = i.edgeSwipeDetection,
1861      l = i.edgeSwipeThreshold;
1862    return (
1863      !n ||
1864      !(s <= l || s >= a.innerWidth - l) ||
1865      ("prevent" === n && (t.preventDefault(), !0))
1866    );
1867  }
1868  function F(e) {
1869    const t = this,
1870      s = a();
1871    let i = e;
1872    i.originalEvent && (i = i.originalEvent);
1873    const n = t.touchEventsData;
1874    if ("pointerdown" === i.type) {
1875      if (null !== n.pointerId && n.pointerId !== i.pointerId) return;
1876      n.pointerId = i.pointerId;
1877    } else
1878      "touchstart" === i.type &&
1879        1 === i.targetTouches.length &&
1880        (n.touchId = i.targetTouches[0].identifier);
1881    if ("touchstart" === i.type) return void _(t, i, i.targetTouches[0].pageX);
1882    const { params: l, touches: d, enabled: c } = t;
1883    if (!c) return;
1884    if (!l.simulateTouch && "mouse" === i.pointerType) return;
1885    if (t.animating && l.preventInteractionOnTransition) return;
1886    !t.animating && l.cssMode && l.loop && t.loopFix();
1887    let p = i.target;
1888    if (
1889      "wrapper" === l.touchEventsTarget &&
1890      !(function (e, t) {
1891        const s = r();
1892        let a = t.contains(e);
1893        !a &&
1894          s.HTMLSlotElement &&
1895          t instanceof HTMLSlotElement &&
1896          ((a = [...t.assignedElements()].includes(e)),
1897          a ||
1898            (a = (function (e, t) {
1899              const s = [t];
1900              for (; s.length > 0; ) {
1901                const t = s.shift();
1902                if (e === t) return !0;
1903                s.push(
1904                  ...t.children,
1905                  ...(t.shadowRoot ? t.shadowRoot.children : []),
1906                  ...(t.assignedElements ? t.assignedElements() : [])
1907                );
1908              }
1909            })(e, t)));
1910        return a;
1911      })(p, t.wrapperEl)
1912    )
1913      return;
1914    if ("which" in i && 3 === i.which) return;
1915    if ("button" in i && i.button > 0) return;
1916    if (n.isTouched && n.isMoved) return;
1917    const u = !!l.noSwipingClass && "" !== l.noSwipingClass,
1918      m = i.composedPath ? i.composedPath() : i.path;
1919    u && i.target && i.target.shadowRoot && m && (p = m[0]);
1920    const h = l.noSwipingSelector
1921        ? l.noSwipingSelector
1922        : `.${l.noSwipingClass}`,
1923      f = !(!i.target || !i.target.shadowRoot);
1924    if (
1925      l.noSwiping &&
1926      (f
1927        ? (function (e, t = this) {
1928            return (function t(s) {
1929              if (!s || s === a() || s === r()) return null;
1930              s.assignedSlot && (s = s.assignedSlot);
1931              const i = s.closest(e);
1932              return i || s.getRootNode ? i || t(s.getRootNode().host) : null;
1933            })(t);
1934          })(h, p)
1935        : p.closest(h))
1936    )
1937      return void (t.allowClick = !0);
1938    if (l.swipeHandler && !p.closest(l.swipeHandler)) return;
1939    (d.currentX = i.pageX), (d.currentY = i.pageY);
1940    const g = d.currentX,
1941      v = d.currentY;
1942    if (!_(t, i, g)) return;
1943    Object.assign(n, {
1944      isTouched: !0,
1945      isMoved: !1,
1946      allowTouchCallbacks: !0,
1947      isScrolling: void 0,
1948      startMoving: void 0,
1949    }),
1950      (d.startX = g),
1951      (d.startY = v),
1952      (n.touchStartTime = o()),
1953      (t.allowClick = !0),
1954      t.updateSize(),
1955      (t.swipeDirection = void 0),
1956      l.threshold > 0 && (n.allowThresholdMove = !1);
1957    let w = !0;
1958    p.matches(n.focusableElements) &&
1959      ((w = !1), "SELECT" === p.nodeName && (n.isTouched = !1)),
1960      s.activeElement &&
1961        s.activeElement.matches(n.focusableElements) &&
1962        s.activeElement !== p &&
1963        ("mouse" === i.pointerType ||
1964          ("mouse" !== i.pointerType && !p.matches(n.focusableElements))) &&
1965        s.activeElement.blur();
1966    const b = w && t.allowTouchMove && l.touchStartPreventDefault;
1967    (!l.touchStartForcePreventDefault && !b) ||
1968      p.isContentEditable ||
1969      i.preventDefault(),
1970      l.freeMode &&
1971        l.freeMode.enabled &&
1972        t.freeMode &&
1973        t.animating &&
1974        !l.cssMode &&
1975        t.freeMode.onTouchStart(),
1976      t.emit("touchStart", i);
1977  }
1978  function W(e) {
1979    const t = a(),
1980      s = this,
1981      i = s.touchEventsData,
1982      { params: r, touches: n, rtlTranslate: l, enabled: d } = s;
1983    if (!d) return;
1984    if (!r.simulateTouch && "mouse" === e.pointerType) return;
1985    let c,
1986      p = e;
1987    if ((p.originalEvent && (p = p.originalEvent), "pointermove" === p.type)) {
1988      if (null !== i.touchId) return;
1989      if (p.pointerId !== i.pointerId) return;
1990    }
1991    if ("touchmove" === p.type) {
1992      if (
1993        ((c = [...p.changedTouches].find((e) => e.identifier === i.touchId)),
1994        !c || c.identifier !== i.touchId)
1995      )
1996        return;
1997    } else c = p;
1998    if (!i.isTouched)
1999      return void (
2000        i.startMoving &&
2001        i.isScrolling &&
2002        s.emit("touchMoveOpposite", p)
2003      );
2004    const u = c.pageX,
2005      m = c.pageY;
2006    if (p.preventedByNestedSwiper) return (n.startX = u), void (n.startY = m);
2007    if (!s.allowTouchMove)
2008      return (
2009        p.target.matches(i.focusableElements) || (s.allowClick = !1),
2010        void (
2011          i.isTouched &&
2012          (Object.assign(n, { startX: u, startY: m, currentX: u, currentY: m }),
2013          (i.touchStartTime = o()))
2014        )
2015      );
2016    if (r.touchReleaseOnEdges && !r.loop)
2017      if (s.isVertical()) {
2018        if (
2019          (m < n.startY && s.translate <= s.maxTranslate()) ||
2020          (m > n.startY && s.translate >= s.minTranslate())
2021        )
2022          return (i.isTouched = !1), void (i.isMoved = !1);
2023      } else {
2024        if (
2025          l &&
2026          ((u > n.startX && -s.translate <= s.maxTranslate()) ||
2027            (u < n.startX && -s.translate >= s.minTranslate()))
2028        )
2029          return;
2030        if (
2031          !l &&
2032          ((u < n.startX && s.translate <= s.maxTranslate()) ||
2033            (u > n.startX && s.translate >= s.minTranslate()))
2034        )
2035          return;
2036      }
2037    if (
2038      (t.activeElement &&
2039        t.activeElement.matches(i.focusableElements) &&
2040        t.activeElement !== p.target &&
2041        "mouse" !== p.pointerType &&
2042        t.activeElement.blur(),
2043      t.activeElement &&
2044        p.target === t.activeElement &&
2045        p.target.matches(i.focusableElements))
2046    )
2047      return (i.isMoved = !0), void (s.allowClick = !1);
2048    i.allowTouchCallbacks && s.emit("touchMove", p),
2049      (n.previousX = n.currentX),
2050      (n.previousY = n.currentY),
2051      (n.currentX = u),
2052      (n.currentY = m);
2053    const h = n.currentX - n.startX,
2054      f = n.currentY - n.startY;
2055    if (s.params.threshold && Math.sqrt(h ** 2 + f ** 2) < s.params.threshold)
2056      return;
2057    if (void 0 === i.isScrolling) {
2058      let e;
2059      (s.isHorizontal() && n.currentY === n.startY) ||
2060      (s.isVertical() && n.currentX === n.startX)
2061        ? (i.isScrolling = !1)
2062        : h * h + f * f >= 25 &&
2063          ((e = (180 * Math.atan2(Math.abs(f), Math.abs(h))) / Math.PI),
2064          (i.isScrolling = s.isHorizontal()
2065            ? e > r.touchAngle
2066            : 90 - e > r.touchAngle));
2067    }
2068    if (
2069      (i.isScrolling && s.emit("touchMoveOpposite", p),
2070      void 0 === i.startMoving &&
2071        ((n.currentX === n.startX && n.currentY === n.startY) ||
2072          (i.startMoving = !0)),
2073      i.isScrolling ||
2074        ("touchmove" === p.type && i.preventTouchMoveFromPointerMove))
2075    )
2076      return void (i.isTouched = !1);
2077    if (!i.startMoving) return;
2078    (s.allowClick = !1),
2079      !r.cssMode && p.cancelable && p.preventDefault(),
2080      r.touchMoveStopPropagation && !r.nested && p.stopPropagation();
2081    let g = s.isHorizontal() ? h : f,
2082      v = s.isHorizontal()
2083        ? n.currentX - n.previousX
2084        : n.currentY - n.previousY;
2085    r.oneWayMovement &&
2086      ((g = Math.abs(g) * (l ? 1 : -1)), (v = Math.abs(v) * (l ? 1 : -1))),
2087      (n.diff = g),
2088      (g *= r.touchRatio),
2089      l && ((g = -g), (v = -v));
2090    const w = s.touchesDirection;
2091    (s.swipeDirection = g > 0 ? "prev" : "next"),
2092      (s.touchesDirection = v > 0 ? "prev" : "next");
2093    const b = s.params.loop && !r.cssMode,
2094      y =
2095        ("next" === s.touchesDirection && s.allowSlideNext) ||
2096        ("prev" === s.touchesDirection && s.allowSlidePrev);
2097    if (!i.isMoved) {
2098      if (
2099        (b && y && s.loopFix({ direction: s.swipeDirection }),
2100        (i.startTranslate = s.getTranslate()),
2101        s.setTransition(0),
2102        s.animating)
2103      ) {
2104        const e = new window.CustomEvent("transitionend", {
2105          bubbles: !0,
2106          cancelable: !0,
2107          detail: { bySwiperTouchMove: !0 },
2108        });
2109        s.wrapperEl.dispatchEvent(e);
2110      }
2111      (i.allowMomentumBounce = !1),
2112        !r.grabCursor ||
2113          (!0 !== s.allowSlideNext && !0 !== s.allowSlidePrev) ||
2114          s.setGrabCursor(!0),
2115        s.emit("sliderFirstMove", p);
2116    }
2117    if (
2118      (new Date().getTime(),
2119      !1 !== r._loopSwapReset &&
2120        i.isMoved &&
2121        i.allowThresholdMove &&
2122        w !== s.touchesDirection &&
2123        b &&
2124        y &&
2125        Math.abs(g) >= 1)
2126    )
2127      return (
2128        Object.assign(n, {
2129          startX: u,
2130          startY: m,
2131          currentX: u,
2132          currentY: m,
2133          startTranslate: i.currentTranslate,
2134        }),
2135        (i.loopSwapReset = !0),
2136        void (i.startTranslate = i.currentTranslate)
2137      );
2138    s.emit("sliderMove", p),
2139      (i.isMoved = !0),
2140      (i.currentTranslate = g + i.startTranslate);
2141    let E = !0,
2142      x = r.resistanceRatio;
2143    if (
2144      (r.touchReleaseOnEdges && (x = 0),
2145      g > 0
2146        ? (b &&
2147            y &&
2148            i.allowThresholdMove &&
2149            i.currentTranslate >
2150              (r.centeredSlides
2151                ? s.minTranslate() -
2152                  s.slidesSizesGrid[s.activeIndex + 1] -
2153                  ("auto" !== r.slidesPerView &&
2154                  s.slides.length - r.slidesPerView >= 2
2155                    ? s.slidesSizesGrid[s.activeIndex + 1] +
2156                      s.params.spaceBetween
2157                    : 0) -
2158                  s.params.spaceBetween
2159                : s.minTranslate()) &&
2160            s.loopFix({
2161              direction: "prev",
2162              setTranslate: !0,
2163              activeSlideIndex: 0,
2164            }),
2165          i.currentTranslate > s.minTranslate() &&
2166            ((E = !1),
2167            r.resistance &&
2168              (i.currentTranslate =
2169                s.minTranslate() -
2170                1 +
2171                (-s.minTranslate() + i.startTranslate + g) ** x)))
2172        : g < 0 &&
2173          (b &&
2174            y &&
2175            i.allowThresholdMove &&
2176            i.currentTranslate <
2177              (r.centeredSlides
2178                ? s.maxTranslate() +
2179                  s.slidesSizesGrid[s.slidesSizesGrid.length - 1] +
2180                  s.params.spaceBetween +
2181                  ("auto" !== r.slidesPerView &&
2182                  s.slides.length - r.slidesPerView >= 2
2183                    ? s.slidesSizesGrid[s.slidesSizesGrid.length - 1] +
2184                      s.params.spaceBetween
2185                    : 0)
2186                : s.maxTranslate()) &&
2187            s.loopFix({
2188              direction: "next",
2189              setTranslate: !0,
2190              activeSlideIndex:
2191                s.slides.length -
2192                ("auto" === r.slidesPerView
2193                  ? s.slidesPerViewDynamic()
2194                  : Math.ceil(parseFloat(r.slidesPerView, 10))),
2195            }),
2196          i.currentTranslate < s.maxTranslate() &&
2197            ((E = !1),
2198            r.resistance &&
2199              (i.currentTranslate =
2200                s.maxTranslate() +
2201                1 -
2202                (s.maxTranslate() - i.startTranslate - g) ** x))),
2203      E && (p.preventedByNestedSwiper = !0),
2204      !s.allowSlideNext &&
2205        "next" === s.swipeDirection &&
2206        i.currentTranslate < i.startTranslate &&
2207        (i.currentTranslate = i.startTranslate),
2208      !s.allowSlidePrev &&
2209        "prev" === s.swipeDirection &&
2210        i.currentTranslate > i.startTranslate &&
2211        (i.currentTranslate = i.startTranslate),
2212      s.allowSlidePrev ||
2213        s.allowSlideNext ||
2214        (i.currentTranslate = i.startTranslate),
2215      r.threshold > 0)
2216    ) {
2217      if (!(Math.abs(g) > r.threshold || i.allowThresholdMove))
2218        return void (i.currentTranslate = i.startTranslate);
2219      if (!i.allowThresholdMove)
2220        return (
2221          (i.allowThresholdMove = !0),
2222          (n.startX = n.currentX),
2223          (n.startY = n.currentY),
2224          (i.currentTranslate = i.startTranslate),
2225          void (n.diff = s.isHorizontal()
2226            ? n.currentX - n.startX
2227            : n.currentY - n.startY)
2228        );
2229    }
2230    r.followFinger &&
2231      !r.cssMode &&
2232      (((r.freeMode && r.freeMode.enabled && s.freeMode) ||
2233        r.watchSlidesProgress) &&
2234        (s.updateActiveIndex(), s.updateSlidesClasses()),
2235      r.freeMode &&
2236        r.freeMode.enabled &&
2237        s.freeMode &&
2238        s.freeMode.onTouchMove(),
2239      s.updateProgress(i.currentTranslate),
2240      s.setTranslate(i.currentTranslate));
2241  }
2242  function j(e) {
2243    const t = this,
2244      s = t.touchEventsData;
2245    let a,
2246      i = e;
2247    i.originalEvent && (i = i.originalEvent);
2248    if ("touchend" === i.type || "touchcancel" === i.type) {
2249      if (
2250        ((a = [...i.changedTouches].find((e) => e.identifier === s.touchId)),
2251        !a || a.identifier !== s.touchId)
2252      )
2253        return;
2254    } else {
2255      if (null !== s.touchId) return;
2256      if (i.pointerId !== s.pointerId) return;
2257      a = i;
2258    }
2259    if (
2260      ["pointercancel", "pointerout", "pointerleave", "contextmenu"].includes(
2261        i.type
2262      )
2263    ) {
2264      if (
2265        !(
2266          ["pointercancel", "contextmenu"].includes(i.type) &&
2267          (t.browser.isSafari || t.browser.isWebView)
2268        )
2269      )
2270        return;
2271    }
2272    (s.pointerId = null), (s.touchId = null);
2273    const {
2274      params: r,
2275      touches: n,
2276      rtlTranslate: d,
2277      slidesGrid: c,
2278      enabled: p,
2279    } = t;
2280    if (!p) return;
2281    if (!r.simulateTouch && "mouse" === i.pointerType) return;
2282    if (
2283      (s.allowTouchCallbacks && t.emit("touchEnd", i),
2284      (s.allowTouchCallbacks = !1),
2285      !s.isTouched)
2286    )
2287      return (
2288        s.isMoved && r.grabCursor && t.setGrabCursor(!1),
2289        (s.isMoved = !1),
2290        void (s.startMoving = !1)
2291      );
2292    r.grabCursor &&
2293      s.isMoved &&
2294      s.isTouched &&
2295      (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) &&
2296      t.setGrabCursor(!1);
2297    const u = o(),
2298      m = u - s.touchStartTime;
2299    if (t.allowClick) {
2300      const e = i.path || (i.composedPath && i.composedPath());
2301      t.updateClickedSlide((e && e[0]) || i.target, e),
2302        t.emit("tap click", i),
2303        m < 300 &&
2304          u - s.lastClickTime < 300 &&
2305          t.emit("doubleTap doubleClick", i);
2306    }
2307    if (
2308      ((s.lastClickTime = o()),
2309      l(() => {
2310        t.destroyed || (t.allowClick = !0);
2311      }),
2312      !s.isTouched ||
2313        !s.isMoved ||
2314        !t.swipeDirection ||
2315        (0 === n.diff && !s.loopSwapReset) ||
2316        (s.currentTranslate === s.startTranslate && !s.loopSwapReset))
2317    )
2318      return (s.isTouched = !1), (s.isMoved = !1), void (s.startMoving = !1);
2319    let h;
2320    if (
2321      ((s.isTouched = !1),
2322      (s.isMoved = !1),
2323      (s.startMoving = !1),
2324      (h = r.followFinger
2325        ? d
2326          ? t.translate
2327          : -t.translate
2328        : -s.currentTranslate),
2329      r.cssMode)
2330    )
2331      return;
2332    if (r.freeMode && r.freeMode.enabled)
2333      return void t.freeMode.onTouchEnd({ currentPos: h });
2334    const f = h >= -t.maxTranslate() && !t.params.loop;
2335    let g = 0,
2336      v = t.slidesSizesGrid[0];
2337    for (
2338      let e = 0;
2339      e < c.length;
2340      e += e < r.slidesPerGroupSkip ? 1 : r.slidesPerGroup
2341    ) {
2342      const t = e < r.slidesPerGroupSkip - 1 ? 1 : r.slidesPerGroup;
2343      void 0 !== c[e + t]
2344        ? (f || (h >= c[e] && h < c[e + t])) && ((g = e), (v = c[e + t] - c[e]))
2345        : (f || h >= c[e]) &&
2346          ((g = e), (v = c[c.length - 1] - c[c.length - 2]));
2347    }
2348    let w = null,
2349      b = null;
2350    r.rewind &&
2351      (t.isBeginning
2352        ? (b =
2353            r.virtual && r.virtual.enabled && t.virtual
2354              ? t.virtual.slides.length - 1
2355              : t.slides.length - 1)
2356        : t.isEnd && (w = 0));
2357    const y = (h - c[g]) / v,
2358      E = g < r.slidesPerGroupSkip - 1 ? 1 : r.slidesPerGroup;
2359    if (m > r.longSwipesMs) {
2360      if (!r.longSwipes) return void t.slideTo(t.activeIndex);
2361      "next" === t.swipeDirection &&
2362        (y >= r.longSwipesRatio
2363          ? t.slideTo(r.rewind && t.isEnd ? w : g + E)
2364          : t.slideTo(g)),
2365        "prev" === t.swipeDirection &&
2366          (y > 1 - r.longSwipesRatio
2367            ? t.slideTo(g + E)
2368            : null !== b && y < 0 && Math.abs(y) > r.longSwipesRatio
2369            ? t.slideTo(b)
2370            : t.slideTo(g));
2371    } else {
2372      if (!r.shortSwipes) return void t.slideTo(t.activeIndex);
2373      t.navigation &&
2374      (i.target === t.navigation.nextEl || i.target === t.navigation.prevEl)
2375        ? i.target === t.navigation.nextEl
2376          ? t.slideTo(g + E)
2377          : t.slideTo(g)
2378        : ("next" === t.swipeDirection && t.slideTo(null !== w ? w : g + E),
2379          "prev" === t.swipeDirection && t.slideTo(null !== b ? b : g));
2380    }
2381  }
2382  function U() {
2383    const e = this,
2384      { params: t, el: s } = e;
2385    if (s && 0 === s.offsetWidth) return;
2386    t.breakpoints && e.setBreakpoint();
2387    const { allowSlideNext: a, allowSlidePrev: i, snapGrid: r } = e,
2388      n = e.virtual && e.params.virtual.enabled;
2389    (e.allowSlideNext = !0),
2390      (e.allowSlidePrev = !0),
2391      e.updateSize(),
2392      e.updateSlides(),
2393      e.updateSlidesClasses();
2394    const l = n && t.loop;
2395    !("auto" === t.slidesPerView || t.slidesPerView > 1) ||
2396    !e.isEnd ||
2397    e.isBeginning ||
2398    e.params.centeredSlides ||
2399    l
2400      ? e.params.loop && !n
2401        ? e.slideToLoop(e.realIndex, 0, !1, !0)
2402        : e.slideTo(e.activeIndex, 0, !1, !0)
2403      : e.slideTo(e.slides.length - 1, 0, !1, !0),
2404      e.autoplay &&
2405        e.autoplay.running &&
2406        e.autoplay.paused &&
2407        (clearTimeout(e.autoplay.resizeTimeout),
2408        (e.autoplay.resizeTimeout = setTimeout(() => {
2409          e.autoplay &&
2410            e.autoplay.running &&
2411            e.autoplay.paused &&
2412            e.autoplay.resume();
2413        }, 500))),
2414      (e.allowSlidePrev = i),
2415      (e.allowSlideNext = a),
2416      e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow();
2417  }
2418  function K(e) {
2419    const t = this;
2420    t.enabled &&
2421      (t.allowClick ||
2422        (t.params.preventClicks && e.preventDefault(),
2423        t.params.preventClicksPropagation &&
2424          t.animating &&
2425          (e.stopPropagation(), e.stopImmediatePropagation())));
2426  }
2427  function Z() {
2428    const e = this,
2429      { wrapperEl: t, rtlTranslate: s, enabled: a } = e;
2430    if (!a) return;
2431    let i;
2432    (e.previousTranslate = e.translate),
2433      e.isHorizontal()
2434        ? (e.translate = -t.scrollLeft)
2435        : (e.translate = -t.scrollTop),
2436      0 === e.translate && (e.translate = 0),
2437      e.updateActiveIndex(),
2438      e.updateSlidesClasses();
2439    const r = e.maxTranslate() - e.minTranslate();
2440    (i = 0 === r ? 0 : (e.translate - e.minTranslate()) / r),
2441      i !== e.progress && e.updateProgress(s ? -e.translate : e.translate),
2442      e.emit("setTranslate", e.translate, !1);
2443  }
2444  function Q(e) {
2445    const t = this;
2446    X(t, e.target),
2447      t.params.cssMode ||
2448        ("auto" !== t.params.slidesPerView && !t.params.autoHeight) ||
2449        t.update();
2450  }
2451  function J() {
2452    const e = this;
2453    e.documentTouchHandlerProceeded ||
2454      ((e.documentTouchHandlerProceeded = !0),
2455      e.params.touchReleaseOnEdges && (e.el.style.touchAction = "auto"));
2456  }
2457  const ee = (e, t) => {
2458    const s = a(),
2459      { params: i, el: r, wrapperEl: n, device: l } = e,
2460      o = !!i.nested,
2461      d = "on" === t ? "addEventListener" : "removeEventListener",
2462      c = t;
2463    r &&
2464      "string" != typeof r &&
2465      (s[d]("touchstart", e.onDocumentTouchStart, { passive: !1, capture: o }),
2466      r[d]("touchstart", e.onTouchStart, { passive: !1 }),
2467      r[d]("pointerdown", e.onTouchStart, { passive: !1 }),
2468      s[d]("touchmove", e.onTouchMove, { passive: !1, capture: o }),
2469      s[d]("pointermove", e.onTouchMove, { passive: !1, capture: o }),
2470      s[d]("touchend", e.onTouchEnd, { passive: !0 }),
2471      s[d]("pointerup", e.onTouchEnd, { passive: !0 }),
2472      s[d]("pointercancel", e.onTouchEnd, { passive: !0 }),
2473      s[d]("touchcancel", e.onTouchEnd, { passive: !0 }),
2474      s[d]("pointerout", e.onTouchEnd, { passive: !0 }),
2475      s[d]("pointerleave", e.onTouchEnd, { passive: !0 }),
2476      s[d]("contextmenu", e.onTouchEnd, { passive: !0 }),
2477      (i.preventClicks || i.preventClicksPropagation) &&
2478        r[d]("click", e.onClick, !0),
2479      i.cssMode && n[d]("scroll", e.onScroll),
2480      i.updateOnWindowResize
2481        ? e[c](
2482            l.ios || l.android
2483              ? "resize orientationchange observerUpdate"
2484              : "resize observerUpdate",
2485            U,
2486            !0
2487          )
2488        : e[c]("observerUpdate", U, !0),
2489      r[d]("load", e.onLoad, { capture: !0 }));
2490  };
2491  const te = (e, t) => e.grid && t.grid && t.grid.rows > 1;
2492  var se = {
2493    init: !0,
2494    direction: "horizontal",
2495    oneWayMovement: !1,
2496    swiperElementNodeName: "SWIPER-CONTAINER",
2497    touchEventsTarget: "wrapper",
2498    initialSlide: 0,
2499    speed: 300,
2500    cssMode: !1,
2501    updateOnWindowResize: !0,
2502    resizeObserver: !0,
2503    nested: !1,
2504    createElements: !1,
2505    eventsPrefix: "swiper",
2506    enabled: !0,
2507    focusableElements: "input, select, option, textarea, button, video, label",
2508    width: null,
2509    height: null,
2510    preventInteractionOnTransition: !1,
2511    userAgent: null,
2512    url: null,
2513    edgeSwipeDetection: !1,
2514    edgeSwipeThreshold: 20,
2515    autoHeight: !1,
2516    setWrapperSize: !1,
2517    virtualTranslate: !1,
2518    effect: "slide",
2519    breakpoints: void 0,
2520    breakpointsBase: "window",
2521    spaceBetween: 0,
2522    slidesPerView: 1,
2523    slidesPerGroup: 1,
2524    slidesPerGroupSkip: 0,
2525    slidesPerGroupAuto: !1,
2526    centeredSlides: !1,
2527    centeredSlidesBounds: !1,
2528    slidesOffsetBefore: 0,
2529    slidesOffsetAfter: 0,
2530    normalizeSlideIndex: !0,
2531    centerInsufficientSlides: !1,
2532    watchOverflow: !0,
2533    roundLengths: !1,
2534    touchRatio: 1,
2535    touchAngle: 45,
2536    simulateTouch: !0,
2537    shortSwipes: !0,
2538    longSwipes: !0,
2539    longSwipesRatio: 0.5,
2540    longSwipesMs: 300,
2541    followFinger: !0,
2542    allowTouchMove: !0,
2543    threshold: 5,
2544    touchMoveStopPropagation: !1,
2545    touchStartPreventDefault: !0,
2546    touchStartForcePreventDefault: !1,
2547    touchReleaseOnEdges: !1,
2548    uniqueNavElements: !0,
2549    resistance: !0,
2550    resistanceRatio: 0.85,
2551    watchSlidesProgress: !1,
2552    grabCursor: !1,
2553    preventClicks: !0,
2554    preventClicksPropagation: !0,
2555    slideToClickedSlide: !1,
2556    loop: !1,
2557    loopAddBlankSlides: !0,
2558    loopAdditionalSlides: 0,
2559    loopPreventsSliding: !0,
2560    rewind: !1,
2561    allowSlidePrev: !0,
2562    allowSlideNext: !0,
2563    swipeHandler: null,
2564    noSwiping: !0,
2565    noSwipingClass: "swiper-no-swiping",
2566    noSwipingSelector: null,
2567    passiveListeners: !0,
2568    maxBackfaceHiddenSlides: 10,
2569    containerModifierClass: "swiper-",
2570    slideClass: "swiper-slide",
2571    slideBlankClass: "swiper-slide-blank",
2572    slideActiveClass: "swiper-slide-active",
2573    slideVisibleClass: "swiper-slide-visible",
2574    slideFullyVisibleClass: "swiper-slide-fully-visible",
2575    slideNextClass: "swiper-slide-next",
2576    slidePrevClass: "swiper-slide-prev",
2577    wrapperClass: "swiper-wrapper",
2578    lazyPreloaderClass: "swiper-lazy-preloader",
2579    lazyPreloadPrevNext: 0,
2580    runCallbacksOnInit: !0,
2581    _emitClasses: !1,
2582  };
2583  function ae(e, t) {
2584    return function (s = {}) {
2585      const a = Object.keys(s)[0],
2586        i = s[a];
2587      "object" == typeof i && null !== i
2588        ? (!0 === e[a] && (e[a] = { enabled: !0 }),
2589          "navigation" === a &&
2590            e[a] &&
2591            e[a].enabled &&
2592            !e[a].prevEl &&
2593            !e[a].nextEl &&
2594            (e[a].auto = !0),
2595          ["pagination", "scrollbar"].indexOf(a) >= 0 &&
2596            e[a] &&
2597            e[a].enabled &&
2598            !e[a].el &&
2599            (e[a].auto = !0),
2600          a in e && "enabled" in i
2601            ? ("object" != typeof e[a] ||
2602                "enabled" in e[a] ||
2603                (e[a].enabled = !0),
2604              e[a] || (e[a] = { enabled: !1 }),
2605              u(t, s))
2606            : u(t, s))
2607        : u(t, s);
2608    };
2609  }
2610  const ie = {
2611      eventsEmitter: O,
2612      update: H,
2613      translate: N,
2614      transition: {
2615        setTransition: function (e, t) {
2616          const s = this;
2617          s.params.cssMode ||
2618            ((s.wrapperEl.style.transitionDuration = `${e}ms`),
2619            (s.wrapperEl.style.transitionDelay = 0 === e ? "0ms" : "")),
2620            s.emit("setTransition", e, t);
2621        },
2622        transitionStart: function (e = !0, t) {
2623          const s = this,
2624            { params: a } = s;
2625          a.cssMode ||
2626            (a.autoHeight && s.updateAutoHeight(),
2627            R({ swiper: s, runCallbacks: e, direction: t, step: "Start" }));
2628        },
2629        transitionEnd: function (e = !0, t) {
2630          const s = this,
2631            { params: a } = s;
2632          (s.animating = !1),
2633            a.cssMode ||
2634              (s.setTransition(0),
2635              R({ swiper: s, runCallbacks: e, direction: t, step: "End" }));
2636        },
2637      },
2638      slide: V,
2639      loop: q,
2640      grabCursor: {
2641        setGrabCursor: function (e) {
2642          const t = this;
2643          if (
2644            !t.params.simulateTouch ||
2645            (t.params.watchOverflow && t.isLocked) ||
2646            t.params.cssMode
2647          )
2648            return;
2649          const s =
2650            "container" === t.params.touchEventsTarget ? t.el : t.wrapperEl;
2651          t.isElement && (t.__preventObserver__ = !0),
2652            (s.style.cursor = "move"),
2653            (s.style.cursor = e ? "grabbing" : "grab"),
2654            t.isElement &&
2655              requestAnimationFrame(() => {
2656                t.__preventObserver__ = !1;
2657              });
2658        },
2659        unsetGrabCursor: function () {
2660          const e = this;
2661          (e.params.watchOverflow && e.isLocked) ||
2662            e.params.cssMode ||
2663            (e.isElement && (e.__preventObserver__ = !0),
2664            (e[
2665              "container" === e.params.touchEventsTarget ? "el" : "wrapperEl"
2666            ].style.cursor = ""),
2667            e.isElement &&
2668              requestAnimationFrame(() => {
2669                e.__preventObserver__ = !1;
2670              }));
2671        },
2672      },
2673      events: {
2674        attachEvents: function () {
2675          const e = this,
2676            { params: t } = e;
2677          (e.onTouchStart = F.bind(e)),
2678            (e.onTouchMove = W.bind(e)),
2679            (e.onTouchEnd = j.bind(e)),
2680            (e.onDocumentTouchStart = J.bind(e)),
2681            t.cssMode && (e.onScroll = Z.bind(e)),
2682            (e.onClick = K.bind(e)),
2683            (e.onLoad = Q.bind(e)),
2684            ee(e, "on");
2685        },
2686        detachEvents: function () {
2687          ee(this, "off");
2688        },
2689      },
2690      breakpoints: {
2691        setBreakpoint: function () {
2692          const e = this,
2693            { realIndex: t, initialized: s, params: i, el: r } = e,
2694            n = i.breakpoints;
2695          if (!n || (n && 0 === Object.keys(n).length)) return;
2696          const l = a(),
2697            o =
2698              "window" !== i.breakpointsBase && i.breakpointsBase
2699                ? "container"
2700                : i.breakpointsBase,
2701            d =
2702              ["window", "container"].includes(i.breakpointsBase) ||
2703              !i.breakpointsBase
2704                ? e.el
2705                : l.querySelector(i.breakpointsBase),
2706            c = e.getBreakp
2706oint(n, o, d);
2707          if (!c || e.currentBreakpoint === c) return;
2708          const p = (c in n ? n[c] : void 0) || e.originalParams,
2709            m = te(e, i),
2710            h = te(e, p),
2711            f = e.params.grabCursor,
2712            g = p.grabCursor,
2713            v = i.enabled;
2714          m && !h
2715            ? (r.classList.remove(
2716                `${i.containerModifierClass}grid`,
2717                `${i.containerModifierClass}grid-column`
2718              ),
2719              e.emitContainerClasses())
2720            : !m &&
2721              h &&
2722              (r.classList.add(`${i.containerModifierClass}grid`),
2723              ((p.grid.fill && "column" === p.grid.fill) ||
2724                (!p.grid.fill && "column" === i.grid.fill)) &&
2725                r.classList.add(`${i.containerModifierClass}grid-column`),
2726              e.emitContainerClasses()),
2727            f && !g ? e.unsetGrabCursor() : !f && g && e.setGrabCursor(),
2728            ["navigation", "pagination", "scrollbar"].forEach((t) => {
2729              if (void 0 === p[t]) return;
2730              const s = i[t] && i[t].enabled,
2731                a = p[t] && p[t].enabled;
2732              s && !a && e[t].disable(), !s && a && e[t].enable();
2733            });
2734          const w = p.direction && p.direction !== i.direction,
2735            b = i.loop && (p.slidesPerView !== i.slidesPerView || w),
2736            y = i.loop;
2737          w && s && e.changeDirection(), u(e.params, p);
2738          const E = e.params.enabled,
2739            x = e.params.loop;
2740          Object.assign(e, {
2741            allowTouchMove: e.params.allowTouchMove,
2742            allowSlideNext: e.params.allowSlideNext,
2743            allowSlidePrev: e.params.allowSlidePrev,
2744          }),
2745            v && !E ? e.disable() : !v && E && e.enable(),
2746            (e.currentBreakpoint = c),
2747            e.emit("_beforeBreakpoint", p),
2748            s &&
2749              (b
2750                ? (e.loopDestroy(), e.loopCreate(t), e.updateSlides())
2751                : !y && x
2752                ? (e.loopCreate(t), e.updateSlides())
2753                : y && !x && e.loopDestroy()),
2754            e.emit("breakpoint", p);
2755        },
2756        getBreakpoint: function (e, t = "window", s) {
2757          if (!e || ("container" === t && !s)) return;
2758          let a = !1;
2759          const i = r(),
2760            n = "window" === t ? i.innerHeight : s.clientHeight,
2761            l = Object.keys(e).map((e) => {
2762              if ("string" == typeof e && 0 === e.indexOf("@")) {
2763                const t = parseFloat(e.substr(1));
2764                return { value: n * t, point: e };
2765              }
2766              return { value: e, point: e };
2767            });
2768          l.sort((e, t) => parseInt(e.value, 10) - parseInt(t.value, 10));
2769          for (let e = 0; e < l.length; e += 1) {
2770            const { point: r, value: n } = l[e];
2771            "window" === t
2772              ? i.matchMedia(`(min-width: ${n}px)`).matches && (a = r)
2773              : n <= s.clientWidth && (a = r);
2774          }
2775          return a || "max";
2776        },
2777      },
2778      checkOverflow: {
2779        checkOverflow: function () {
2780          const e = this,
2781            { isLocked: t, params: s } = e,
2782            { slidesOffsetBefore: a } = s;
2783          if (a) {
2784            const t = e.slides.length - 1,
2785              s = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * a;
2786            e.isLocked = e.size > s;
2787          } else e.isLocked = 1 === e.snapGrid.length;
2788          !0 === s.allowSlideNext && (e.allowSlideNext = !e.isLocked),
2789            !0 === s.allowSlidePrev && (e.allowSlidePrev = !e.isLocked),
2790            t && t !== e.isLocked && (e.isEnd = !1),
2791            t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock");
2792        },
2793      },
2794      classes: {
2795        addClasses: function () {
2796          const e = this,
2797            { classNames: t, params: s, rtl: a, el: i, device: r } = e,
2798            n = (function (e, t) {
2799              const s = [];
2800              return (
2801                e.forEach((e) => {
2802                  "object" == typeof e
2803                    ? Object.keys(e).forEach((a) => {
2804                        e[a] && s.push(t + a);
2805                      })
2806                    : "string" == typeof e && s.push(t + e);
2807                }),
2808                s
2809              );
2810            })(
2811              [
2812                "initialized",
2813                s.direction,
2814                { "free-mode": e.params.freeMode && s.freeMode.enabled },
2815                { autoheight: s.autoHeight },
2816                { rtl: a },
2817                { grid: s.grid && s.grid.rows > 1 },
2818                {
2819                  "grid-column":
2820                    s.grid && s.grid.rows > 1 && "column" === s.grid.fill,
2821                },
2822                { android: r.android },
2823                { ios: r.ios },
2824                { "css-mode": s.cssMode },
2825                { centered: s.cssMode && s.centeredSlides },
2826                { "watch-progress": s.watchSlidesProgress },
2827              ],
2828              s.containerModifierClass
2829            );
2830          t.push(...n), i.classList.add(...t), e.emitContainerClasses();
2831        },
2832        removeClasses: function () {
2833          const { el: e, classNames: t } = this;
2834          e &&
2835            "string" != typeof e &&
2836            (e.classList.remove(...t), this.emitContainerClasses());
2837        },
2838      },
2839    },
2840    re = {};
2841  class ne {
2842    constructor(...e) {
2843      let t, s;
2844      1 === e.length &&
2845      e[0].constructor &&
2846      "Object" === Object.prototype.toString.call(e[0]).slice(8, -1)
2847        ? (s = e[0])
2848        : ([t, s] = e),
2849        s || (s = {}),
2850        (s = u({}, s)),
2851        t && !s.el && (s.el = t);
2852      const i = a();
2853      if (
2854        s.el &&
2855        "string" == typeof s.el &&
2856        i.querySelectorAll(s.el).length > 1
2857      ) {
2858        const e = [];
2859        return (
2860          i.querySelectorAll(s.el).forEach((t) => {
2861            const a = u({}, s, { el: t });
2862            e.push(new ne(a));
2863          }),
2864          e
2865        );
2866      }
2867      const r = this;
2868      (r.__swiper__ = !0),
2869        (r.support = A()),
2870        (r.device = $({ userAgent: s.userAgent })),
2871        (r.browser = k()),
2872        (r.eventsListeners = {}),
2873        (r.eventsAnyListeners = []),
2874        (r.modules = [...r.__modules__]),
2875        s.modules && Array.isArray(s.modules) && r.modules.push(...s.modules);
2876      const n = {};
2877      r.modules.forEach((e) => {
2878        e({
2879          params: s,
2880          swiper: r,
2881          extendParams: ae(s, n),
2882          on: r.on.bind(r),
2883          once: r.once.bind(r),
2884          off: r.off.bind(r),
2885          emit: r.emit.bind(r),
2886        });
2887      });
2888      const l = u({}, se, n);
2889      return (
2890        (r.params = u({}, l, re, s)),
2891        (r.originalParams = u({}, r.params)),
2892        (r.passedParams = u({}, s)),
2893        r.params &&
2894          r.params.on &&
2895          Object.keys(r.params.on).forEach((e) => {
2896            r.on(e, r.params.on[e]);
2897          }),
2898        r.params && r.params.onAny && r.onAny(r.params.onAny),
2899        Object.assign(r, {
2900          enabled: r.params.enabled,
2901          el: t,
2902          classNames: [],
2903          slides: [],
2904          slidesGrid: [],
2905          snapGrid: [],
2906          slidesSizesGrid: [],
2907          isHorizontal: () => "horizontal" === r.params.direction,
2908          isVertical: () => "vertical" === r.params.direction,
2909          activeIndex: 0,
2910          realIndex: 0,
2911          isBeginning: !0,
2912          isEnd: !1,
2913          translate: 0,
2914          previousTranslate: 0,
2915          progress: 0,
2916          velocity: 0,
2917          animating: !1,
2918          cssOverflowAdjustment() {
2919            return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;
2920          },
2921          allowSlideNext: r.params.allowSlideNext,
2922          allowSlidePrev: r.params.allowSlidePrev,
2923          touchEventsData: {
2924            isTouched: void 0,
2925            isMoved: void 0,
2926            allowTouchCallbacks: void 0,
2927            touchStartTime: void 0,
2928            isScrolling: void 0,
2929            currentTranslate: void 0,
2930            startTranslate: void 0,
2931            allowThresholdMove: void 0,
2932            focusableElements: r.params.focusableElements,
2933            lastClickTime: 0,
2934            clickTimeout: void 0,
2935            velocities: [],
2936            allowMomentumBounce: void 0,
2937            startMoving: void 0,
2938            pointerId: null,
2939            touchId: null,
2940          },
2941          allowClick: !0,
2942          allowTouchMove: r.params.allowTouchMove,
2943          touches: { startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0 },
2944          imagesToLoad: [],
2945          imagesLoaded: 0,
2946        }),
2947        r.emit("_swiper"),
2948        r.params.init && r.init(),
2949        r
2950      );
2951    }
2952    getDirectionLabel(e) {
2953      return this.isHorizontal()
2954        ? e
2955        : {
2956            width: "height",
2957            "margin-top": "margin-left",
2958            "margin-bottom ": "margin-right",
2959            "margin-left": "margin-top",
2960            "margin-right": "margin-bottom",
2961            "padding-left": "padding-top",
2962            "padding-right": "padding-bottom",
2963            marginRight: "marginBottom",
2964          }[e];
2965    }
2966    getSlideIndex(e) {
2967      const { slidesEl: t, params: s } = this,
2968        a = E(g(t, `.${s.slideClass}, swiper-slide`)[0]);
2969      return E(e) - a;
2970    }
2971    getSlideIndexByData(e) {
2972      return this.getSlideIndex(
2973        this.slides.find(
2974          (t) => 1 * t.getAttribute("data-swiper-slide-index") === e
2975        )
2976      );
2977    }
2978    getSlideIndexWhenGrid(e) {
2979      return (
2980        this.grid &&
2981          this.params.grid &&
2982          this.params.grid.rows > 1 &&
2983          ("column" === this.params.grid.fill
2984            ? (e = Math.floor(e / this.params.grid.rows))
2985            : "row" === this.params.grid.fill &&
2986              (e %= Math.ceil(this.slides.length / this.params.grid.rows))),
2987        e
2988      );
2989    }
2990    recalcSlides() {
2991      const { slidesEl: e, params: t } = this;
2992      this.slides = g(e, `.${t.slideClass}, swiper-slide`);
2993    }
2994    enable() {
2995      const e = this;
2996      e.enabled ||
2997        ((e.enabled = !0),
2998        e.params.grabCursor && e.setGrabCursor(),
2999        e.emit("enable"));
3000    }
3001    disable() {
3002      const e = this;
3003      e.enabled &&
3004        ((e.enabled = !1),
3005        e.params.grabCursor && e.unsetGrabCursor(),
3006        e.emit("disable"));
3007    }
3008    setProgress(e, t) {
3009      const s = this;
3010      e = Math.min(Math.max(e, 0), 1);
3011      const a = s.minTranslate(),
3012        i = (s.maxTranslate() - a) * e + a;
3013      s.translateTo(i, void 0 === t ? 0 : t),
3014        s.updateActiveIndex(),
3015        s.updateSlidesClasses();
3016    }
3017    emitContainerClasses() {
3018      const e = this;
3019      if (!e.params._emitClasses || !e.el) return;
3020      const t = e.el.className
3021        .split(" ")
3022        .filter(
3023          (t) =>
3024            0 === t.indexOf("swiper") ||
3025            0 === t.indexOf(e.params.containerModifierClass)
3026        );
3027      e.emit("_containerClasses", t.join(" "));
3028    }
3029    getSlideClasses(e) {
3030      const t = this;
3031      return t.destroyed
3032        ? ""
3033        : e.className
3034            .split(" ")
3035            .filter(
3036              (e) =>
3037                0 === e.indexOf("swiper-slide") ||
3038                0 === e.indexOf(t.params.slideClass)
3039            )
3040            .join(" ");
3041    }
3042    emitSlidesClasses() {
3043      const e = this;
3044      if (!e.params._emitClasses || !e.el) return;
3045      const t = [];
3046      e.slides.forEach((s) => {
3047        const a = e.getSlideClasses(s);
3048        t.push({ slideEl: s, classNames: a }), e.emit("_slideClass", s, a);
3049      }),
3050        e.emit("_slideClasses", t);
3051    }
3052    slidesPerViewDynamic(e = "current", t = !1) {
3053      const {
3054        params: s,
3055        slides: a,
3056        slidesGrid: i,
3057        slidesSizesGrid: r,
3058        size: n,
3059        activeIndex: l,
3060      } = this;
3061      let o = 1;
3062      if ("number" == typeof s.slidesPerView) return s.slidesPerView;
3063      if (s.centeredSlides) {
3064        let e,
3065          t = a[l] ? Math.ceil(a[l].swiperSlideSize) : 0;
3066        for (let s = l + 1; s < a.length; s += 1)
3067          a[s] &&
3068            !e &&
3069            ((t += Math.ceil(a[s].swiperSlideSize)),
3070            (o += 1),
3071            t > n && (e = !0));
3072        for (let s = l - 1; s >= 0; s -= 1)
3073          a[s] &&
3074            !e &&
3075            ((t += a[s].swiperSlideSize), (o += 1), t > n && (e = !0));
3076      } else if ("current" === e)
3077        for (let e = l + 1; e < a.length; e += 1) {
3078          (t ? i[e] + r[e] - i[l] < n : i[e] - i[l] < n) && (o += 1);
3079        }
3080      else
3081        for (let e = l - 1; e >= 0; e -= 1) {
3082          i[l] - i[e] < n && (o += 1);
3083        }
3084      return o;
3085    }
3086    update() {
3087      const e = this;
3088      if (!e || e.destroyed) return;
3089      const { snapGrid: t, params: s } = e;
3090      function a() {
3091        const t = e.rtlTranslate ? -1 * e.translate : e.translate,
3092          s = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
3093        e.setTranslate(s), e.updateActiveIndex(), e.updateSlidesClasses();
3094      }
3095      let i;
3096      if (
3097        (s.breakpoints && e.setBreakpoint(),
3098        [...e.el.querySelectorAll('[loading="lazy"]')].forEach((t) => {
3099          t.complete && X(e, t);
3100        }),
3101        e.updateSize(),
3102        e.updateSlides(),
3103        e.updateProgress(),
3104        e.updateSlidesClasses(),
3105        s.freeMode && s.freeMode.enabled && !s.cssMode)
3106      )
3107        a(), s.autoHeight && e.updateAutoHeight();
3108      else {
3109        if (
3110          ("auto" === s.slidesPerView || s.slidesPerView > 1) &&
3111          e.isEnd &&
3112          !s.centeredSlides
3113        ) {
3114          const t =
3115            e.virtual && s.virtual.enabled ? e.virtual.slides : e.slides;
3116          i = e.slideTo(t.length - 1, 0, !1, !0);
3117        } else i = e.slideTo(e.activeIndex, 0, !1, !0);
3118        i || a();
3119      }
3120      s.watchOverflow && t !== e.snapGrid && e.checkOverflow(),
3121        e.emit("update");
3122    }
3123    changeDirection(e, t = !0) {
3124      const s = this,
3125        a = s.params.direction;
3126      return (
3127        e || (e = "horizontal" === a ? "vertical" : "horizontal"),
3128        e === a ||
3129          ("horizontal" !== e && "vertical" !== e) ||
3130          (s.el.classList.remove(`${s.params.containerModifierClass}${a}`),
3131          s.el.classList.add(`${s.params.containerModifierClass}${e}`),
3132          s.emitContainerClasses(),
3133          (s.params.direction = e),
3134          s.slides.forEach((t) => {
3135            "vertical" === e ? (t.style.width = "") : (t.style.height = "");
3136          }),
3137          s.emit("changeDirection"),
3138          t && s.update()),
3139        s
3140      );
3141    }
3142    changeLanguageDirection(e) {
3143      const t = this;
3144      (t.rtl && "rtl" === e) ||
3145        (!t.rtl && "ltr" === e) ||
3146        ((t.rtl = "rtl" === e),
3147        (t.rtlTranslate = "horizontal" === t.params.direction && t.rtl),
3148        t.rtl
3149          ? (t.el.classList.add(`${t.params.containerModifierClass}rtl`),
3150            (t.el.dir = "rtl"))
3151          : (t.el.classList.remove(`${t.params.containerModifierClass}rtl`),
3152            (t.el.dir = "ltr")),
3153        t.update());
3154    }
3155    mount(e) {
3156      const t = this;
3157      if (t.mounted) return !0;
3158      let s = e || t.params.el;
3159      if (("string" == typeof s && (s = document.querySelector(s)), !s))
3160        return !1;
3161      (s.swiper = t),
3162        s.parentNode &&
3163          s.parentNode.host &&
3164          s.parentNode.host.nodeName ===
3165            t.params.swiperElementNodeName.toUpperCase() &&
3166          (t.isElement = !0);
3167      const a = () =>
3168        `.${(t.params.wrapperClass || "").trim().split(" ").join(".")}`;
3169      let i = (() => {
3170        if (s && s.shadowRoot && s.shadowRoot.querySelector) {
3171          return s.shadowRoot.querySelector(a());
3172        }
3173        return g(s, a())[0];
3174      })();
3175      return (
3176        !i &&
3177          t.params.createElements &&
3178          ((i = w("div", t.params.wrapperClass)),
3179          s.append(i),
3180          g(s, `.${t.params.slideClass}`).forEach((e) => {
3181            i.append(e);
3182          })),
3183        Object.assign(t, {
3184          el: s,
3185          wrapperEl: i,
3186          slidesEl:
3187            t.isElement && !s.parentNode.host.slideSlots
3188              ? s.parentNode.host
3189              : i,
3190          hostEl: t.isElement ? s.parentNode.host : s,
3191          mounted: !0,
3192          rtl: "rtl" === s.dir.toLowerCase() || "rtl" === y(s, "direction"),
3193          rtlTranslate:
3194            "horizontal" === t.params.direction &&
3195            ("rtl" === s.dir.toLowerCase() || "rtl" === y(s, "direction")),
3196          wrongRTL: "-webkit-box" === y(i, "display"),
3197        }),
3198        !0
3199      );
3200    }
3201    init(e) {
3202      const t = this;
3203      if (t.initialized) return t;
3204      if (!1 === t.mount(e)) return t;
3205      t.emit("beforeInit"),
3206        t.params.breakpoints && t.setBreakpoint(),
3207        t.addClasses(),
3208        t.updateSize(),
3209        t.updateSlides(),
3210        t.params.watchOverflow && t.checkOverflow(),
3211        t.params.grabCursor && t.enabled && t.setGrabCursor(),
3212        t.params.loop && t.virtual && t.params.virtual.enabled
3213          ? t.slideTo(
3214              t.params.initialSlide + t.virtual.slidesBefore,
3215              0,
3216              t.params.runCallbacksOnInit,
3217              !1,
3218              !0
3219            )
3220          : t.slideTo(
3221              t.params.initialSlide,
3222              0,
3223              t.params.runCallbacksOnInit,
3224              !1,
3225              !0
3226            ),
3227        t.params.loop && t.loopCreate(void 0, !0),
3228        t.attachEvents();
3229      const s = [...t.el.querySelectorAll('[loading="lazy"]')];
3230      return (
3231        t.isElement && s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),
3232        s.forEach((e) => {
3233          e.complete
3234            ? X(t, e)
3235            : e.addEventListener("load", (e) => {
3236                X(t, e.target);
3237              });
3238        }),
3239        Y(t),
3240        (t.initialized = !0),
3241        Y(t),
3242        t.emit("init"),
3243        t.emit("afterInit"),
3244        t
3245      );
3246    }
3247    destroy(e = !0, t = !0) {
3248      const s = this,
3249        { params: a, el: i, wrapperEl: r, slides: n } = s;
3250      return (
3251        void 0 === s.params ||
3252          s.destroyed ||
3253          (s.emit("beforeDestroy"),
3254          (s.initialized = !1),
3255          s.detachEvents(),
3256          a.loop && s.loopDestroy(),
3257          t &&
3258            (s.removeClasses(),
3259            i && "string" != typeof i && i.removeAttribute("style"),
3260            r && r.removeAttribute("style"),
3261            n &&
3262              n.length &&
3263              n.forEach((e) => {
3264                e.classList.remove(
3265                  a.slideVisibleClass,
3266                  a.slideFullyVisibleClass,
3267                  a.slideActiveClass,
3268                  a.slideNextClass,
3269                  a.slidePrevClass
3270                ),
3271                  e.removeAttribute("style"),
3272                  e.removeAttribute("data-swiper-slide-index");
3273              })),
3274          s.emit("destroy"),
3275          Object.keys(s.eventsListeners).forEach((e) => {
3276            s.off(e);
3277          }),
3278          !1 !== e &&
3279            (s.el && "string" != typeof s.el && (s.el.swiper = null),
3280            (function (e) {
3281              const t = e;
3282              Object.keys(t).forEach((e) => {
3283                try {
3284                  t[e] = null;
3285                } catch (e) {}
3286                try {
3287                  delete t[e];
3288                } catch (e) {}
3289              });
3290            })(s)),
3291          (s.destroyed = !0)),
3292        null
3293      );
3294    }
3295    static extendDefaults(e) {
3296      u(re, e);
3297    }
3298    static get extendedDefaults() {
3299      return re;
3300    }
3301    static get defaults() {
3302      return se;
3303    }
3304    static installModule(e) {
3305      ne.prototype.__modules__ || (ne.prototype.__modules__ = []);
3306      const t = ne.prototype.__modules__;
3307      "function" == typeof e && t.indexOf(e) < 0 && t.push(e);
3308    }
3309    static use(e) {
3310      return Array.isArray(e)
3311        ? (e.forEach((e) => ne.installModule(e)), ne)
3312        : (ne.installModule(e), ne);
3313    }
3314  }
3315  function le(e, t, s, a) {
3316    return (
3317      e.params.createElements &&
3318        Object.keys(a).forEach((i) => {
3319          if (!s[i] && !0 === s.auto) {
3320            let r = g(e.el, `.${a[i]}`)[0];
3321            r || ((r = w("div", a[i])), (r.className = a[i]), e.el.append(r)),
3322              (s[i] = r),
3323              (t[i] = r);
3324          }
3325        }),
3326      s
3327    );
3328  }
3329  Object.keys(ie).forEach((e) => {
3330    Object.keys(ie[e]).forEach((t) => {
3331      ne.prototype[t] = ie[e][t];
3332    });
3333  }),
3334    ne.use([
3335      function ({ swiper: e, on: t, emit: s }) {
3336        const a = r();
3337        let i = null,
3338          n = null;
3339        const l = () => {
3340            e &&
3341              !e.destroyed &&
3342              e.initialized &&
3343              (s("beforeResize"), s("resize"));
3344          },
3345          o = () => {
3346            e && !e.destroyed && e.initialized && s("orientationchange");
3347          };
3348        t("init", () => {
3349          e.params.resizeObserver && void 0 !== a.ResizeObserver
3350            ? e &&
3351              !e.destroyed &&
3352              e.initialized &&
3353              ((i = new ResizeObserver((t) => {
3354                n = a.requestAnimationFrame(() => {
3355                  const { width: s, height: a } = e;
3356                  let i = s,
3357                    r = a;
3358                  t.forEach(
3359                    ({ contentBoxSize: t, contentRect: s, target: a }) => {
3360                      (a && a !== e.el) ||
3361                        ((i = s ? s.width : (t[0] || t).inlineSize),
3362                        (r = s ? s.height : (t[0] || t).blockSize));
3363                    }
3364                  ),
3365                    (i === s && r === a) || l();
3366                });
3367              })),
3368              i.observe(e.el))
3369            : (a.addEventListener("resize", l),
3370              a.addEventListener("orientationchange", o));
3371        }),
3372          t("destroy", () => {
3373            n && a.cancelAnimationFrame(n),
3374              i && i.unobserve && e.el && (i.unobserve(e.el), (i = null)),
3375              a.removeEventListener("resize", l),
3376              a.removeEventListener("orientationchange", o);
3377          });
3378      },
3379      function ({ swiper: e, extendParams: t, on: s, emit: a }) {
3380        const i = [],
3381          n = r(),
3382          l = (t, s = {}) => {
3383            const r = new (n.MutationObserver || n.WebkitMutationObserver)(
3384              (t) => {
3385                if (e.__preventObserver__) return;
3386                if (1 === t.length) return void a("observerUpdate", t[0]);
3387                const s = function () {
3388                  a("observerUpdate", t[0]);
3389                };
3390                n.requestAnimationFrame
3391                  ? n.requestAnimationFrame(s)
3392                  : n.setTimeout(s, 0);
3393              }
3394            );
3395            r.observe(t, {
3396              attributes: void 0 === s.attributes || s.attributes,
3397              childList: e.isElement || (void 0 === s.childList || s).childList,
3398              characterData: void 0 === s.characterData || s.characterData,
3399            }),
3400              i.push(r);
3401          };
3402        t({ observer: !1, observeParents: !1, observeSlideChildren: !1 }),
3403          s("init", () => {
3404            if (e.params.observer) {
3405              if (e.params.observeParents) {
3406                const t = x(e.hostEl);
3407                for (let e = 0; e < t.length; e += 1) l(t[e]);
3408              }
3409              l(e.hostEl, { childList: e.params.observeSlideChildren }),
3410                l(e.wrapperEl, { attributes: !1 });
3411            }
3412          }),
3413          s("destroy", () => {
3414            i.forEach((e) => {
3415              e.disconnect();
3416            }),
3417              i.splice(0, i.length);
3418          });
3419      },
3420    ]);
3421  const oe =
3422    '<svg class="swiper-navigation-icon" width="11" height="20" viewBox="0 0 11 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.38296 20.0762C0.111788 19.805 0.111788 19.3654 0.38296 19.0942L9.19758 10.2796L0.38296 1.46497C0.111788 1.19379 0.111788 0.754138 0.38296 0.482966C0.654131 0.211794 1.09379 0.211794 1.36496 0.482966L10.4341 9.55214C10.8359 9.9539 10.8359 10.6053 10.4341 11.007L1.36496 20.0762C1.09379 20.3474 0.654131 20.3474 0.38296 20.0762Z" fill="currentColor"/></svg>';
3423  function de(e = "") {
3424    return `.${e
3425      .trim()
3426      .replace(/([\.:!+\/()[\]])/g, "\\$1")
3427      .replace(/ /g, ".")}`;
3428  }
3429  function ce(e) {
3430    const t = this,
3431      { params: s, slidesEl: a } = t;
3432    s.loop && t.loopDestroy();
3433    const i = (e) => {
3434      if ("string" == typeof e) {
3435        const t = document.createElement("div");
3436        P(t, e), a.append(t.children[0]), P(t, "");
3437      } else a.append(e);
3438    };
3439    if ("object" == typeof e && "length" in e)
3440      for (let t = 0; t < e.length; t += 1) e[t] && i(e[t]);
3441    else i(e);
3442    t.recalcSlides(),
3443      s.loop && t.loopCreate(),
3444      (s.observer && !t.isElement) || t.update();
3445  }
3446  function pe(e) {
3447    const t = this,
3448      { params: s, activeIndex: a, slidesEl: i } = t;
3449    s.loop && t.loopDestroy();
3450    let r = a + 1;
3451    const n = (e) => {
3452      if ("string" == typeof e) {
3453        const t = document.createElement("div");
3454        P(t, e), i.prepend(t.children[0]), P(t, "");
3455      } else i.prepend(e);
3456    };
3457    if ("object" == typeof e && "length" in e) {
3458      for (let t = 0; t < e.length; t += 1) e[t] && n(e[t]);
3459      r = a + e.length;
3460    } else n(e);
3461    t.recalcSlides(),
3462      s.loop && t.loopCreate(),
3463      (s.observer && !t.isElement) || t.update(),
3464      t.slideTo(r, 0, !1);
3465  }
3466  function ue(e, t) {
3467    const s = this,
3468      { params: a, activeIndex: i, slidesEl: r } = s;
3469    let n = i;
3470    a.loop && ((n -= s.loopedSlides), s.loopDestroy(), s.recalcSlides());
3471    const l = s.slides.length;
3472    if (e <= 0) return void s.prependSlide(t);
3473    if (e >= l) return void s.appendSlide(t);
3474    let o = n > e ? n + 1 : n;
3475    const d = [];
3476    for (let t = l - 1; t >= e; t -= 1) {
3477      const e = s.slides[t];
3478      e.remove(), d.unshift(e);
3479    }
3480    if ("object" == typeof t && "length" in t) {
3481      for (let e = 0; e < t.length; e += 1) t[e] && r.append(t[e]);
3482      o = n > e ? n + t.length : n;
3483    } else r.append(t);
3484    for (let e = 0; e < d.length; e += 1) r.append(d[e]);
3485    s.recalcSlides(),
3486      a.loop && s.loopCreate(),
3487      (a.observer && !s.isElement) || s.update(),
3488      a.loop ? s.slideTo(o + s.loopedSlides, 0, !1) : s.slideTo(o, 0, !1);
3489  }
3490  function me(e) {
3491    const t = this,
3492      { params: s, activeIndex: a } = t;
3493    let i = a;
3494    s.loop && ((i -= t.loopedSlides), t.loopDestroy());
3495    let r,
3496      n = i;
3497    if ("object" == typeof e && "length" in e) {
3498      for (let s = 0; s < e.length; s += 1)
3499        (r = e[s]), t.slides[r] && t.slides[r].remove(), r < n && (n -= 1);
3500      n = Math.max(n, 0);
3501    } else
3502      (r = e),
3503        t.slides[r] && t.slides[r].remove(),
3504        r < n && (n -= 1),
3505        (n = Math.max(n, 0));
3506    t.recalcSlides(),
3507      s.loop && t.loopCreate(),
3508      (s.observer && !t.isElement) || t.update(),
3509      s.loop ? t.slideTo(n + t.loopedSlides, 0, !1) : t.slideTo(n, 0, !1);
3510  }
3511  function he() {
3512    const e = this,
3513      t = [];
3514    for (let s = 0; s < e.slides.length; s += 1) t.push(s);
3515    e.removeSlide(t);
3516  }
3517  function fe(e) {
3518    const {
3519      effect: t,
3520      swiper: s,
3521      on: a,
3522      setTranslate: i,
3523      setTransition: r,
3524      overwriteParams: n,
3525      perspective: l,
3526      recreateShadows: o,
3527      getEffectParams: d,
3528    } = e;
3529    let c;
3530    a("beforeInit", () => {
3531      if (s.params.effect !== t) return;
3532      s.classNames.push(`${s.params.containerModifierClass}${t}`),
3533        l && l() && s.classNames.push(`${s.params.containerModifierClass}3d`);
3534      const e = n ? n() : {};
3535      Object.assign(s.params, e), Object.assign(s.originalParams, e);
3536    }),
3537      a("setTranslate _virtualUpdated", () => {
3538        s.params.effect === t && i();
3539      }),
3540      a("setTransition", (e, a) => {
3541        s.params.effect === t && r(a);
3542      }),
3543      a("transitionEnd", () => {
3544        if (s.params.effect === t && o) {
3545          if (!d || !d().slideShadows) return;
3546          s.slides.forEach((e) => {
3547            e.querySelectorAll(
3548              ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
3549            ).forEach((e) => e.remove());
3550          }),
3551            o();
3552        }
3553      }),
3554      a("virtualUpdate", () => {
3555        s.params.effect === t &&
3556          (s.slides.length || (c = !0),
3557          requestAnimationFrame(() => {
3558            c && s.slides && s.slides.length && (i(), (c = !1));
3559          }));
3560      });
3561  }
3562  function ge(e, t) {
3563    const s = f(t);
3564    return (
3565      s !== t &&
3566        ((s.style.backfaceVisibility = "hidden"),
3567        (s.style["-webkit-backface-visibility"] = "hidden")),
3568      s
3569    );
3570  }
3571  function ve({ swiper: e, duration: t, transformElements: s, allSlides: a }) {
3572    const { activeIndex: i } = e;
3573    if (e.params.virtualTranslate && 0 !== t) {
3574      let t,
3575        r = !1;
3576      (t = a
3577        ? s
3578        : s.filter((t) => {
3579            const s = t.classList.contains("swiper-slide-transform")
3580              ? ((t) => {
3581                  if (!t.parentElement)
3582                    return e.slides.find(
3583                      (e) => e.shadowRoot && e.shadowRoot === t.parentNode
3584                    );
3585                  return t.parentElement;
3586                })(t)
3587              : t;
3588            return e.getSlideIndex(s) === i;
3589          })),
3590        t.forEach((t) => {
3591          S(t, () => {
3592            if (r) return;
3593            if (!e || e.destroyed) return;
3594            (r = !0), (e.animating = !1);
3595            const t = new window.CustomEvent("transitionend", {
3596              bubbles: !0,
3597              cancelable: !0,
3598            });
3599            e.wrapperEl.dispatchEvent(t);
3600          });
3601        });
3602    }
3603  }
3604  function we(e, t, s) {
3605    const a = `swiper-slide-shadow${s ? `-${s}` : ""}${
3606        e ? ` swiper-slide-shadow-${e}` : ""
3607      }`,
3608      i = f(t);
3609    let r = i.querySelector(`.${a.split(" ").join(".")}`);
3610    return r || ((r = w("div", a.split(" "))), i.append(r)), r;
3611  }
3612  const be = [
3613    function ({ swiper: e, extendParams: t, on: s, emit: i }) {
3614      let r;
3615      t({
3616        virtual: {
3617          enabled: !1,
3618          slides: [],
3619          cache: !0,
3620          slidesPerViewAutoSlideSize: 320,
3621          renderSlide: null,
3622          renderExternal: null,
3623          renderExternalUpdate: !0,
3624          addSlidesBefore: 0,
3625          addSlidesAfter: 0,
3626        },
3627      });
3628      const n = a();
3629      e.virtual = {
3630        cache: {},
3631        from: void 0,
3632        to: void 0,
3633        slides: [],
3634        offset: 0,
3635        slidesGrid: [],
3636      };
3637      const l = n.createElement("div");
3638      function o(t, s) {
3639        const a = e.params.virtual;
3640        if (a.cache && e.virtual.cache[s]) return e.virtual.cache[s];
3641        let i;
3642        return (
3643          a.renderSlide
3644            ? ((i = a.renderSlide.call(e, t, s)),
3645              "string" == typeof i && (P(l, i), (i = l.children[0])))
3646            : (i = e.isElement
3647                ? w("swiper-slide")
3648                : w("div", e.params.slideClass)),
3649          i.setAttribute("data-swiper-slide-index", s),
3650          a.renderSlide || P(i, t),
3651          a.cache && (e.virtual.cache[s] = i),
3652          i
3653        );
3654      }
3655      function d(t, s, a) {
3656        const {
3657          slidesPerGroup: r,
3658          centeredSlides: n,
3659          slidesPerView: l,
3660          loop: d,
3661          initialSlide: c,
3662        } = e.params;
3663        if (s && !d && c > 0) return;
3664        const {
3665            addSlidesBefore: p,
3666            addSlidesAfter: u,
3667            slidesPerViewAutoSlideSize: m,
3668          } = e.params.virtual,
3669          { from: h, to: f, slides: v, slidesGrid: w, offset: b } = e.virtual;
3670        e.params.cssMode || e.updateActiveIndex();
3671        const y = void 0 === a ? e.activeIndex || 0 : a;
3672        let E, x, S, T;
3673        if (
3674          ((E = e.rtlTranslate ? "right" : e.isHorizontal() ? "left" : "top"),
3675          "auto" === l)
3676        )
3677          if (m) {
3678            let t = e.size;
3679            t ||
3680              (t = e.isHorizontal()
3681                ? e.el.getBoundingClientRect().width
3682                : e.el.getBoundingClientRect().height),
3683              (x = Math.max(1, Math.ceil(t / m)));
3684          } else x = 1;
3685        else x = l;
3686        n
3687          ? ((S = Math.floor(x / 2) + r + u), (T = Math.floor(x / 2) + r + p))
3688          : ((S = x + (r - 1) + u), (T = (d ? x : r) + p));
3689        let M = y - T,
3690          C = y + S;
3691        d || ((M = Math.max(M, 0)), (C = Math.min(C, v.length - 1)));
3692        let P = (e.slidesGrid[M] || 0) - (e.slidesGrid[0] || 0);
3693        function L() {
3694          e.updateSlides(),
3695            e.updateProgress(),
3696            e.updateSlidesClasses(),
3697            i("virtualUpdate");
3698        }
3699        if (
3700          (d && y >= T
3701            ? ((M -= T), n || (P += e.slidesGrid[0]))
3702            : d && y < T && ((M = -T), n && (P += e.slidesGrid[0])),
3703          Object.assign(e.virtual, {
3704            from: M,
3705            to: C,
3706            offset: P,
3707            slidesGrid: e.slidesGrid,
3708            slidesBefore: T,
3709            slidesAfter: S,
3710          }),
3711          h === M && f === C && !t)
3712        )
3713          return (
3714            e.slidesGrid !== w &&
3715              P !== b &&
3716              e.slides.forEach((t) => {
3717                t.style[E] = P - Math.abs(e.cssOverflowAdjustment()) + "px";
3718              }),
3719            e.updateProgress(),
3720            void i("virtualUpdate")
3721          );
3722        if (e.params.virtual.renderExternal)
3723          return (
3724            e.params.virtual.renderExternal.call(e, {
3725              offset: P,
3726              from: M,
3727              to: C,
3728              slides: (function () {
3729                const e = [];
3730                for (let t = M; t <= C; t += 1) e.push(v[t]);
3731                return e;
3732              })(),
3733            }),
3734            void (e.params.virtual.renderExternalUpdate
3735              ? L()
3736              : i("virtualUpdate"))
3737          );
3738        const I = [],
3739          z = [],
3740          A = (e) => {
3741            let t = e;
3742            return (
3743              e < 0 ? (t = v.length + e) : t >= v.length && (t -= v.length), t
3744            );
3745          };
3746        if (t)
3747          e.slides
3748            .filter((t) => t.matches(`.${e.params.slideClass}, swiper-slide`))
3749            .forEach((e) => {
3750              e.remove();
3751            });
3752        else
3753          for (let t = h; t <= f; t += 1)
3754            if (t < M || t > C) {
3755              const s = A(t);
3756              e.slides
3757                .filter((t) =>
3758                  t.matches(
3759                    `.${e.params.slideClass}[data-swiper-slide-index="${s}"], swiper-slide[data-swiper-slide-index="${s}"]`
3760                  )
3761                )
3762                .forEach((e) => {
3763                  e.remove();
3764                });
3765            }
3766        const $ = d ? -v.length : 0,
3767          k = d ? 2 * v.length : v.length;
3768        for (let e = $; e < k; e += 1)
3769          if (e >= M && e <= C) {
3770            const s = A(e);
3771            void 0 === f || t
3772              ? z.push(s)
3773              : (e > f && z.push(s), e < h && I.push(s));
3774          }
3775        if (
3776          (z.forEach((t) => {
3777            e.slidesEl.append(o(v[t], t));
3778          }),
3779          d)
3780        )
3781          for (let t = I.length - 1; t >= 0; t -= 1) {
3782            const s = I[t];
3783            e.slidesEl.prepend(o(v[s], s));
3784          }
3785        else
3786          I.sort((e, t) => t - e),
3787            I.forEach((t) => {
3788              e.slidesEl.prepend(o(v[t], t));
3789            });
3790        g(e.slidesEl, ".swiper-slide, swiper-slide").forEach((t) => {
3791          t.style[E] = P - Math.abs(e.cssOverflowAdjustment()) + "px";
3792        }),
3793          L();
3794      }
3795      s("beforeInit", () => {
3796        if (!e.params.virtual.enabled) return;
3797        let t;
3798        if (void 0 === e.passedParams.virtual.slides) {
3799          const s = [...e.slidesEl.children].filter((t) =>
3800            t.matches(`.${e.params.slideClass}, swiper-slide`)
3801          );
3802          s &&
3803            s.length &&
3804            ((e.virtual.slides = [...s]),
3805            (t = !0),
3806            s.forEach((t, s) => {
3807              t.setAttribute("data-swiper-slide-index", s),
3808                (e.virtual.cache[s] = t),
3809                t.remove();
3810            }));
3811        }
3812        t || (e.virtual.slides = e.params.virtual.slides),
3813          e.classNames.push(`${e.params.containerModifierClass}virtual`),
3814          (e.params.watchSlidesProgress = !0),
3815          (e.originalParams.watchSlidesProgress = !0),
3816          d(!1, !0);
3817      }),
3818        s("setTranslate", () => {
3819          e.params.virtual.enabled &&
3820            (e.params.cssMode && !e._immediateVirtual
3821              ? (clearTimeout(r),
3822                (r = setTimeout(() => {
3823                  d();
3824                }, 100)))
3825              : d());
3826        }),
3827        s("init update resize", () => {
3828          e.params.virtual.enabled &&
3829            e.params.cssMode &&
3830            m(e.wrapperEl, "--swiper-virtual-size", `${e.virtualSize}px`);
3831        }),
3832        Object.assign(e.virtual, {
3833          appendSlide: function (t) {
3834            if ("object" == typeof t && "length" in t)
3835              for (let s = 0; s < t.length; s += 1)
3836                t[s] && e.virtual.slides.push(t[s]);
3837            else e.virtual.slides.push(t);
3838            d(!0);
3839          },
3840          prependSlide: function (t) {
3841            const s = e.activeIndex;
3842            let a = s + 1,
3843              i = 1;
3844            if (Array.isArray(t)) {
3845              for (let s = 0; s < t.length; s += 1)
3846                t[s] && e.virtual.slides.unshift(t[s]);
3847              (a = s + t.length), (i = t.length);
3848            } else e.virtual.slides.unshift(t);
3849            if (e.params.virtual.cache) {
3850              const t = e.virtual.cache,
3851                s = {};
3852              Object.keys(t).forEach((e) => {
3853                const a = t[e],
3854                  r = a.getAttribute("data-swiper-slide-index");
3855                r &&
3856                  a.setAttribute(
3857                    "data-swiper-slide-index",
3858                    parseInt(r, 10) + i
3859                  ),
3860                  (s[parseInt(e, 10) + i] = a);
3861              }),
3862                (e.virtual.cache = s);
3863            }
3864            d(!0), e.slideTo(a, 0);
3865          },
3866          removeSlide: function (t) {
3867            if (null == t) return;
3868            let s = e.activeIndex;
3869            if (Array.isArray(t))
3870              for (let a = t.length - 1; a >= 0; a -= 1)
3871                e.params.virtual.cache &&
3872                  (delete e.virtual.cache[t[a]],
3873                  Object.keys(e.virtual.cache).forEach((s) => {
3874                    s > t &&
3875                      ((e.virtual.cache[s - 1] = e.virtual.cache[s]),
3876                      e.virtual.cache[s - 1].setAttribute(
3877                        "data-swiper-slide-index",
3878                        s - 1
3879                      ),
3880                      delete e.virtual.cache[s]);
3881                  })),
3882                  e.virtual.slides.splice(t[a], 1),
3883                  t[a] < s && (s -= 1),
3884                  (s = Math.max(s, 0));
3885            else
3886              e.params.virtual.cache &&
3887                (delete e.virtual.cache[t],
3888                Object.keys(e.virtual.cache).forEach((s) => {
3889                  s > t &&
3890                    ((e.virtual.cache[s - 1] = e.virtual.cache[s]),
3891                    e.virtual.cache[s - 1].setAttribute(
3892                      "data-swiper-slide-index",
3893                      s - 1
3894                    ),
3895                    delete e.virtual.cache[s]);
3896                })),
3897                e.virtual.slides.splice(t, 1),
3898                t < s && (s -= 1),
3899                (s = Math.max(s, 0));
3900            d(!0), e.slideTo(s, 0);
3901          },
3902          removeAllSlides: function () {
3903            (e.virtual.slides = []),
3904              e.params.virtual.cache && (e.virtual.cache = {}),
3905              d(!0),
3906              e.slideTo(0, 0);
3907          },
3908          update: d,
3909        });
3910    },
3911    function ({ swiper: e, extendParams: t, on: s, emit: i }) {
3912      const n = a(),
3913        l = r();
3914      function o(t) {
3915        if (!e.enabled) return;
3916        const { rtlTranslate: s } = e;
3917        let a = t;
3918        a.originalEvent && (a = a.originalEvent);
3919        const r = a.keyCode || a.charCode,
3920          o = e.params.keyboard.pageUpDown,
3921          d = o && 33 === r,
3922          c = o && 34 === r,
3923          p = 37 === r,
3924          u = 39 === r,
3925          m = 38 === r,
3926          h = 40 === r;
3927        if (
3928          !e.allowSlideNext &&
3929          ((e.isHorizontal() && u) || (e.isVertical() && h) || c)
3930        )
3931          return !1;
3932        if (
3933          !e.allowSlidePrev &&
3934          ((e.isHorizontal() && p) || (e.isVertical() && m) || d)
3935        )
3936          return !1;
3937        if (
3938          !(
3939            a.shiftKey ||
3940            a.altKey ||
3941            a.ctrlKey ||
3942            a.metaKey ||
3943            (n.activeElement &&
3944              (n.activeElement.isContentEditable ||
3945                (n.activeElement.nodeName &&
3946                  ("input" === n.activeElement.nodeName.toLowerCase() ||
3947                    "textarea" === n.activeElement.nodeName.toLowerCase()))))
3948          )
3949        ) {
3950          if (
3951            e.params.keyboard.onlyInViewport &&
3952            (d || c || p || u || m || h)
3953          ) {
3954            let t = !1;
3955            if (
3956              x(e.el, `.${e.params.slideClass}, swiper-slide`).length > 0 &&
3957              0 === x(e.el, `.${e.params.slideActiveClass}`).length
3958            )
3959              return;
3960            const a = e.el,
3961              i = a.clientWidth,
3962              r = a.clientHeight,
3963              n = l.innerWidth,
3964              o = l.innerHeight,
3965              d = b(a);
3966            s && (d.left -= a.scrollLeft);
3967            const c = [
3968              [d.left, d.top],
3969              [d.left + i, d.top],
3970              [d.left, d.top + r],
3971              [d.left + i, d.top + r],
3972            ];
3973            for (let e = 0; e < c.length; e += 1) {
3974              const s = c[e];
3975              if (s[0] >= 0 && s[0] <= n && s[1] >= 0 && s[1] <= o) {
3976                if (0 === s[0] && 0 === s[1]) continue;
3977                t = !0;
3978              }
3979            }
3980            if (!t) return;
3981          }
3982          e.isHorizontal()
3983            ? ((d || c || p || u) &&
3984                (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)),
3985              (((c || u) && !s) || ((d || p) && s)) && e.slideNext(),
3986              (((d || p) && !s) || ((c || u) && s)) && e.slidePrev())
3987            : ((d || c || m || h) &&
3988                (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)),
3989              (c || h) && e.slideNext(),
3990              (d || m) && e.slidePrev()),
3991            i("keyPress", r);
3992        }
3993      }
3994      function d() {
3995        e.keyboard.enabled ||
3996          (n.addEventListener("keydown", o), (e.keyboard.enabled = !0));
3997      }
3998      function c() {
3999        e.keyboard.enabled &&
4000          (n.removeEventListener("keydown", o), (e.keyboard.enabled = !1));
4001      }
4002      (e.keyboard = { enabled: !1 }),
4003        t({ keyboard: { enabled: !1, onlyInViewport: !0, pageUpDown: !0 } }),
4004        s("init", () => {
4005          e.params.keyboard.enabled && d();
4006        }),
4007        s("destroy", () => {
4008          e.keyboard.enabled && c();
4009        }),
4010        Object.assign(e.keyboard, { enable: d, disable: c });
4011    },
4012    function ({ swiper: e, extendParams: t, on: s, emit: a }) {
4013      const i = r();
4014      let n;
4015      t({
4016        mousewheel: {
4017          enabled: !1,
4018          releaseOnEdges: !1,
4019          invert: !1,
4020          forceToAxis: !1,
4021          sensitivity: 1,
4022          eventsTarget: "container",
4023          thresholdDelta: null,
4024          thresholdTime: null,
4025          noMousewheelClass: "swiper-no-mousewheel",
4026        },
4027      }),
4028        (e.mousewheel = { enabled: !1 });
4029      let d,
4030        c = o();
4031      const p = [];
4032      function u() {
4033        e.enabled && (e.mouseEntered = !0);
4034      }
4035      function m() {
4036        e.enabled && (e.mouseEntered = !1);
4037      }
4038      function h(t) {
4039        return (
4040          !(
4041            e.params.mousewheel.thresholdDelta &&
4042            t.delta < e.params.mousewheel.thresholdDelta
4043          ) &&
4044          !(
4045            e.params.mousewheel.thresholdTime &&
4046            o() - c < e.params.mousewheel.thresholdTime
4047          ) &&
4048          ((t.delta >= 6 && o() - c < 60) ||
4049            (t.direction < 0
4050              ? (e.isEnd && !e.params.loop) ||
4051                e.animating ||
4052                (e.slideNext(), a("scroll", t.raw))
4053              : (e.isBeginning && !e.params.loop) ||
4054                e.animating ||
4055                (e.slidePrev(), a("scroll", t.raw)),
4056            (c = new i.Date().getTime()),
4057            !1))
4058        );
4059      }
4060      function f(t) {
4061        let s = t,
4062          i = !0;
4063        if (!e.enabled) return;
4064        if (t.target.closest(`.${e.params.mousewheel.noMousewheelClass}`))
4065          return;
4066        const r = e.params.mousewheel;
4067        e.params.cssMode && s.preventDefault();
4068        let c = e.el;
4069        "container" !== e.params.mousewheel.eventsTarget &&
4070          (c = document.querySelector(e.params.mousewheel.eventsTarget));
4071        const u = c && c.contains(s.target);
4072        if (!e.mouseEntered && !u && !r.releaseOnEdges) return !0;
4073        s.originalEvent && (s = s.originalEvent);
4074        let m = 0;
4075        const f = e.rtlTranslate ? -1 : 1,
4076          g = (function (e) {
4077            let t = 0,
4078              s = 0,
4079              a = 0,
4080              i = 0;
4081            return (
4082              "detail" in e && (s = e.detail),
4083              "wheelDelta" in e && (s = -e.wheelDelta / 120),
4084              "wheelDeltaY" in e && (s = -e.wheelDeltaY / 120),
4085              "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120),
4086              "axis" in e && e.axis === e.HORIZONTAL_AXIS && ((t = s), (s = 0)),
4087              (a = 10 * t),
4088              (i = 10 * s),
4089              "deltaY" in e && (i = e.deltaY),
4090              "deltaX" in e && (a = e.deltaX),
4091              e.shiftKey && !a && ((a = i), (i = 0)),
4092              (a || i) &&
4093                e.deltaMode &&
4094                (1 === e.deltaMode
4095                  ? ((a *= 40), (i *= 40))
4096                  : ((a *= 800), (i *= 800))),
4097              a && !t && (t = a < 1 ? -1 : 1),
4098              i && !s && (s = i < 1 ? -1 : 1),
4099              { spinX: t, spinY: s, pixelX: a, pixelY: i }
4100            );
4101          })(s);
4102        if (r.forceToAxis)
4103          if (e.isHorizontal()) {
4104            if (!(Math.abs(g.pixelX) > Math.abs(g.pixelY))) return !0;
4105            m = -g.pixelX * f;
4106          } else {
4107            if (!(Math.abs(g.pixelY) > Math.abs(g.pixelX))) return !0;
4108            m = -g.pixelY;
4109          }
4110        else
4111          m =
4112            Math.abs(g.pixelX) > Math.abs(g.pixelY) ? -g.pixelX * f : -g.pixelY;
4113        if (0 === m) return !0;
4114        r.invert && (m = -m);
4115        let v = e.getTranslate() + m * r.sensitivity;
4116        if (
4117          (v >= e.minTranslate() && (v = e.minTranslate()),
4118          v <= e.maxTranslate() && (v = e.maxTranslate()),
4119          (i =
4120            !!e.params.loop ||
4121            !(v === e.minTranslate() || v === e.maxTranslate())),
4122          i && e.params.nested && s.stopPropagation(),
4123          e.params.freeMode && e.params.freeMode.enabled)
4124        ) {
4125          const t = { time: o(), delta: Math.abs(m), direction: Math.sign(m) },
4126            i =
4127              d &&
4128              t.time < d.time + 500 &&
4129              t.delta <= d.delta &&
4130              t.direction === d.direction;
4131          if (!i) {
4132            d = void 0;
4133            let o = e.getTranslate() + m * r.sensitivity;
4134            const c = e.isBeginning,
4135              u = e.isEnd;
4136            if (
4137              (o >= e.minTranslate() && (o = e.minTranslate()),
4138              o <= e.maxTranslate() && (o = e.maxTranslate()),
4139              e.setTransition(0),
4140              e.setTranslate(o),
4141              e.updateProgress(),
4142              e.updateActiveIndex(),
4143              e.updateSlidesClasses(),
4144              ((!c && e.isBeginning) || (!u && e.isEnd)) &&
4145                e.updateSlidesClasses(),
4146              e.params.loop &&
4147                e.loopFix({
4148                  direction: t.direction < 0 ? "next" : "prev",
4149                  byMousewheel: !0,
4150                }),
4151              e.params.freeMode.sticky)
4152            ) {
4153              clearTimeout(n), (n = void 0), p.length >= 15 && p.shift();
4154              const s = p.length ? p[p.length - 1] : void 0,
4155                a = p[0];
4156              if (
4157                (p.push(t),
4158                s && (t.delta > s.delta || t.direction !== s.direction))
4159              )
4160                p.splice(0);
4161              else if (
4162                p.length >= 15 &&
4163                t.time - a.time < 500 &&
4164                a.delta - t.delta >= 1 &&
4165                t.delta <= 6
4166              ) {
4167                const s = m > 0 ? 0.8 : 0.2;
4168                (d = t),
4169                  p.splice(0),
4170                  (n = l(() => {
4171                    !e.destroyed &&
4172                      e.params &&
4173                      e.slideToClosest(e.params.speed, !0, void 0, s);
4174                  }, 0));
4175              }
4176              n ||
4177                (n = l(() => {
4178                  if (e.destroyed || !e.params) return;
4179                  (d = t),
4180                    p.splice(0),
4181                    e.slideToClosest(e.params.speed, !0, void 0, 0.5);
4182                }, 500));
4183            }
4184            if (
4185              (i || a("scroll", s),
4186              e.params.autoplay &&
4187                e.params.autoplay.disableOnInteraction &&
4188                e.autoplay.stop(),
4189              r.releaseOnEdges &&
4190                (o === e.minTranslate() || o === e.maxTranslate()))
4191            )
4192              return !0;
4193          }
4194        } else {
4195          const s = {
4196            time: o(),
4197            delta: Math.abs(m),
4198            direction: Math.sign(m),
4199            raw: t,
4200          };
4201          p.length >= 2 && p.shift();
4202          const a = p.length ? p[p.length - 1] : void 0;
4203          if (
4204            (p.push(s),
4205            a
4206              ? (s.direction !== a.direction ||
4207                  s.delta > a.delta ||
4208                  s.time > a.time + 150) &&
4209                h(s)
4210              : h(s),
4211            (function (t) {
4212              const s = e.params.mousewheel;
4213              if (t.direction < 0) {
4214                if (e.isEnd && !e.params.loop && s.releaseOnEdges) return !0;
4215              } else if (e.isBeginning && !e.params.loop && s.releaseOnEdges)
4216                return !0;
4217              return !1;
4218            })(s))
4219          )
4220            return !0;
4221        }
4222        return s.preventDefault ? s.preventDefault() : (s.returnValue = !1), !1;
4223      }
4224      function g(t) {
4225        let s = e.el;
4226        "container" !== e.params.mousewheel.eventsTarget &&
4227          (s = document.querySelector(e.params.mousewheel.eventsTarget)),
4228          s[t]("mouseenter", u),
4229          s[t]("mouseleave", m),
4230          s[t]("wheel", f);
4231      }
4232      function v() {
4233        return e.params.cssMode
4234          ? (e.wrapperEl.removeEventListener("wheel", f), !0)
4235          : !e.mousewheel.enabled &&
4236              (g("addEventListener"), (e.mousewheel.enabled = !0), !0);
4237      }
4238      function w() {
4239        return e.params.cssMode
4240          ? (e.wrapperEl.addEventListener(event, f), !0)
4241          : !!e.mousewheel.enabled &&
4242              (g("removeEventListener"), (e.mousewheel.enabled = !1), !0);
4243      }
4244      s("init", () => {
4245        !e.params.mousewheel.enabled && e.params.cssMode && w(),
4246          e.params.mousewheel.enabled && v();
4247      }),
4248        s("destroy", () => {
4249          e.params.cssMode && v(), e.mousewheel.enabled && w();
4250        }),
4251        Object.assign(e.mousewheel, { enable: v, disable: w });
4252    },
4253    function ({ swiper: e, extendParams: t, on: s, emit: a }) {
4254      function i(t) {
4255        let s;
4256        return t &&
4257          "string" == typeof t &&
4258          e.isElement &&
4259          ((s = e.el.querySelector(t) || e.hostEl.querySelector(t)), s)
4260          ? s
4261          : (t &&
4262              ("string" == typeof t && (s = [...document.querySelectorAll(t)]),
4263              e.params.uniqueNavElements &&
4264              "string" == typeof t &&
4265              s &&
4266              s.length > 1 &&
4267              1 === e.el.querySelectorAll(t).length
4268                ? (s = e.el.querySelector(t))
4269                : s && 1 === s.length && (s = s[0])),
4270            t && !s ? t : s);
4271      }
4272      function r(t, s) {
4273        const a = e.params.navigation;
4274        (t = M(t)).forEach((t) => {
4275          t &&
4276            (t.classList[s ? "add" : "remove"](...a.disabledClass.split(" ")),
4277            "BUTTON" === t.tagName && (t.disabled = s),
4278            e.params.watchOverflow &&
4279              e.enabled &&
4280              t.classList[e.isLocked ? "add" : "remove"](a.lockClass));
4281        });
4282      }
4283      function n() {
4284        const { nextEl: t, prevEl: s } = e.navigation;
4285        if (e.params.loop) return r(s, !1), void r(t, !1);
4286        r(s, e.isBeginning && !e.params.rewind),
4287          r(t, e.isEnd && !e.params.rewind);
4288      }
4289      function l(t) {
4290        t.preventDefault(),
4291          (!e.isBeginning || e.params.loop || e.params.rewind) &&
4292            (e.slidePrev(), a("navigationPrev"));
4293      }
4294      function o(t) {
4295        t.preventDefault(),
4296          (!e.isEnd || e.params.loop || e.params.rewind) &&
4297            (e.slideNext(), a("navigationNext"));
4298      }
4299      function d() {
4300        const t = e.params.navigation;
4301        if (
4302          ((e.params.navigation = le(
4303            e,
4304            e.originalParams.navigation,
4305            e.params.navigation,
4306            { nextEl: "swiper-button-next", prevEl: "swiper-button-prev" }
4307          )),
4308          !t.nextEl && !t.prevEl)
4309        )
4310          return;
4311        let s = i(t.nextEl),
4312          a = i(t.prevEl);
4313        Object.assign(e.navigation, { nextEl: s, prevEl: a }),
4314          (s = M(s)),
4315          (a = M(a));
4316        const r = (s, a) => {
4317          if (s) {
4318            if (
4319              t.addIcons &&
4320              s.matches(".swiper-button-next,.swiper-button-prev") &&
4321              !s.querySelector("svg")
4322            ) {
4323              const e = document.createElement("div");
4324              P(e, oe), s.appendChild(e.querySelector("svg")), e.remove();
4325            }
4326            s.addEventListener("click", "next" === a ? o : l);
4327          }
4328          !e.enabled && s && s.classList.add(...t.lockClass.split(" "));
4329        };
4330        s.forEach((e) => r(e, "next")), a.forEach((e) => r(e, "prev"));
4331      }
4332      function c() {
4333        let { nextEl: t, prevEl: s } = e.navigation;
4334        (t = M(t)), (s = M(s));
4335        const a = (t, s) => {
4336          t.removeEventListener("click", "next" === s ? o : l),
4337            t.classList.remove(...e.params.navigation.disabledClass.split(" "));
4338        };
4339        t.forEach((e) => a(e, "next")), s.forEach((e) => a(e, "prev"));
4340      }
4341      t({
4342        navigation: {
4343          nextEl: null,
4344          prevEl: null,
4345          addIcons: !0,
4346          hideOnClick: !1,
4347          disabledClass: "swiper-button-disabled",
4348          hiddenClass: "swiper-button-hidden",
4349          lockClass: "swiper-button-lock",
4350          navigationDisabledClass: "swiper-navigation-disabled",
4351        },
4352      }),
4353        (e.navigation = { nextEl: null, prevEl: null, arrowSvg: oe }),
4354        s("init", () => {
4355          !1 === e.params.navigation.enabled ? p() : (d(), n());
4356        }),
4357        s("toEdge fromEdge lock unlock", () => {
4358          n();
4359        }),
4360        s("destroy", () => {
4361          c();
4362        }),
4363        s("enable disable", () => {
4364          let { nextEl: t, prevEl: s } = e.navigation;
4365          (t = M(t)),
4366            (s = M(s)),
4367            e.enabled
4368              ? n()
4369              : [...t, ...s]
4370                  .filter((e) => !!e)
4371                  .forEach((t) =>
4372                    t.classList.add(e.params.navigation.lockClass)
4373                  );
4374        }),
4375        s("click", (t, s) => {
4376          let { nextEl: i, prevEl: r } = e.navigation;
4377          (i = M(i)), (r = M(r));
4378          const n = s.target;
4379          let l = r.includes(n) || i.includes(n);
4380          if (e.isElement && !l) {
4381            const e = s.path || (s.composedPath && s.composedPath());
4382            e && (l = e.find((e) => i.includes(e) || r.includes(e)));
4383          }
4384          if (e.params.navigation.hideOnClick && !l) {
4385            if (
4386              e.pagination &&
4387              e.params.pagination &&
4388              e.params.pagination.clickable &&
4389              (e.pagination.el === n || e.pagination.el.contains(n))
4390            )
4391              return;
4392            let t;
4393            i.length
4394              ? (t = i[0].classList.contains(e.params.navigation.hiddenClass))
4395              : r.length &&
4396                (t = r[0].classList.contains(e.params.navigation.hiddenClass)),
4397              a(!0 === t ? "navigationShow" : "navigationHide"),
4398              [...i, ...r]
4399                .filter((e) => !!e)
4400                .forEach((t) =>
4401                  t.classList.toggle(e.params.navigation.hiddenClass)
4402                );
4403          }
4404        });
4405      const p = () => {
4406        e.el.classList.add(
4407          ...e.params.navigation.navigationDisabledClass.split(" ")
4408        ),
4409          c();
4410      };
4411      Object.assign(e.navigation, {
4412        enable: () => {
4413          e.el.classList.remove(
4414            ...e.params.navigation.navigationDisabledClass.split(" ")
4415          ),
4416            d(),
4417            n();
4418        },
4419        disable: p,
4420        update: n,
4421        init: d,
4422        destroy: c,
4423      });
4424    },
4425    function ({ swiper: e, extendParams: t, on: s, emit: a }) {
4426      const i = "swiper-pagination";
4427      let r;
4428      t({
4429        pagination: {
4430          el: null,
4431          bulletElement: "span",
4432          clickable: !1,
4433          hideOnClick: !1,
4434          renderBullet: null,
4435          renderProgressbar: null,
4436          renderFraction: null,
4437          renderCustom: null,
4438          progressbarOpposite: !1,
4439          type: "bullets",
4440          dynamicBullets: !1,
4441          dynamicMainBullets: 1,
4442          formatFractionCurrent: (e) => e,
4443          formatFractionTotal: (e) => e,
4444          bulletClass: `${i}-bullet`,
4445          bulletActiveClass: `${i}-bullet-active`,
4446          modifierClass: `${i}-`,
4447          currentClass: `${i}-current`,
4448          totalClass: `${i}-total`,
4449          hiddenClass: `${i}-hidden`,
4450          progressbarFillClass: `${i}-progressbar-fill`,
4451          progressbarOppositeClass: `${i}-progressbar-opposite`,
4452          clickableClass: `${i}-clickable`,
4453          lockClass: `${i}-lock`,
4454          horizontalClass: `${i}-horizontal`,
4455          verticalClass: `${i}-vertical`,
4456          paginationDisabledClass: `${i}-disabled`,
4457        },
4458      }),
4459        (e.pagination = { el: null, bullets: [] });
4460      let n = 0;
4461      function l() {
4462        return (
4463          !e.params.pagination.el ||
4464          !e.pagination.el ||
4465          (Array.isArray(e.pagination.el) && 0 === e.pagination.el.length)
4466        );
4467      }
4468      function o(t, s) {
4469        const { bulletActiveClass: a } = e.params.pagination;
4470        t &&
4471          (t = t[("prev" === s ? "previous" : "next") + "ElementSibling"]) &&
4472          (t.classList.add(`${a}-${s}`),
4473          (t = t[("prev" === s ? "previous" : "next") + "ElementSibling"]) &&
4474            t.classList.add(`${a}-${s}-${s}`));
4475      }
4476      function d(t) {
4477        const s = t.target.closest(de(e.params.pagination.bulletClass));
4478        if (!s) return;
4479        t.preventDefault();
4480        const a = E(s) * e.params.slidesPerGroup;
4481        if (e.params.loop) {
4482          if (e.realIndex === a) return;
4483          const t =
4484            ((i = e.realIndex),
4485            (r = a),
4486            (n = e.slides.length),
4487            (r %= n) === 1 + (i %= n)
4488              ? "next"
4489              : r === i - 1
4490              ? "previous"
4491              : void 0);
4492          "next" === t
4493            ? e.slideNext()
4494            : "previous" === t
4495            ? e.slidePrev()
4496            : e.slideToLoop(a);
4497        } else e.slideTo(a);
4498        var i, r, n;
4499      }
4500      function c() {
4501        const t = e.rtl,
4502          s = e.params.pagination;
4503        if (l()) return;
4504        let i,
4505          d,
4506          c = e.pagination.el;
4507        c = M(c);
4508        const p =
4509            e.virtual && e.params.virtual.enabled
4510              ? e.virtual.slides.length
4511              : e.slides.length,
4512          u = e.params.loop
4513            ? Math.ceil(p / e.params.slidesPerGroup)
4514            : e.snapGrid.length;
4515        if (
4516          (e.params.loop
4517            ? ((d = e.previousRealIndex || 0),
4518              (i =
4519                e.params.slidesPerGroup > 1
4520                  ? Math.floor(e.realIndex / e.params.slidesPerGroup)
4521                  : e.realIndex))
4522            : void 0 !== e.snapIndex
4523            ? ((i = e.snapIndex), (d = e.previousSnapIndex))
4524            : ((d = e.previousIndex || 0), (i = e.activeIndex || 0)),
4525          "bullets" === s.type &&
4526            e.pagination.bullets &&
4527            e.pagination.bullets.length > 0)
4528        ) {
4529          const a = e.pagination.bullets;
4530          let l, p, u;
4531          if (
4532            (s.dynamicBullets &&
4533              ((r = T(a[0], e.isHorizontal() ? "width" : "height", !0)),
4534              c.forEach((t) => {
4535                t.style[e.isHorizontal() ? "width" : "height"] =
4536                  r * (s.dynamicMainBullets + 4) + "px";
4537              }),
4538              s.dynamicMainBullets > 1 &&
4539                void 0 !== d &&
4540                ((n += i - (d || 0)),
4541                n > s.dynamicMainBullets - 1
4542                  ? (n = s.dynamicMainBullets - 1)
4543                  : n < 0 && (n = 0)),
4544              (l = Math.max(i - n, 0)),
4545              (p = l + (Math.min(a.length, s.dynamicMainBullets) - 1)),
4546              (u = (p + l) / 2)),
4547            a.forEach((e) => {
4548              const t = [
4549                ...[
4550                  "",
4551                  "-next",
4552                  "-next-next",
4553                  "-prev",
4554                  "-prev-prev",
4555                  "-main",
4556                ].map((e) => `${s.bulletActiveClass}${e}`),
4557              ]
4558                .map((e) =>
4559                  "string" == typeof e && e.includes(" ") ? e.split(" ") : e
4560                )
4561                .flat();
4562              e.classList.remove(...t);
4563            }),
4564            c.length > 1)
4565          )
4566            a.forEach((t) => {
4567              const a = E(t);
4568              a === i
4569                ? t.classList.add(...s.bulletActiveClass.split(" "))
4570                : e.isElement && t.setAttribute("part", "bullet"),
4571                s.dynamicBullets &&
4572                  (a >= l &&
4573                    a <= p &&
4574                    t.classList.add(
4575                      ...`${s.bulletActiveClass}-main`.split(" ")
4576                    ),
4577                  a === l && o(t, "prev"),
4578                  a === p && o(t, "next"));
4579            });
4580          else {
4581            const t = a[i];
4582            if (
4583              (t && t.classList.add(...s.bulletActiveClass.split(" ")),
4584              e.isElement &&
4585                a.forEach((e, t) => {
4586                  e.setAttribute("part", t === i ? "bullet-active" : "bullet");
4587                }),
4588              s.dynamicBullets)
4589            ) {
4590              const e = a[l],
4591                t = a[p];
4592              for (let e = l; e <= p; e += 1)
4593                a[e] &&
4594                  a[e].classList.add(
4595                    ...`${s.bulletActiveClass}-main`.split(" ")
4596                  );
4597              o(e, "prev"), o(t, "next");
4598            }
4599          }
4600          if (s.dynamicBullets) {
4601            const i = Math.min(a.length, s.dynamicMainBullets + 4),
4602              n = (r * i - r) / 2 - u * r,
4603              l = t ? "right" : "left";
4604            a.forEach((t) => {
4605              t.style[e.isHorizontal() ? l : "top"] = `${n}px`;
4606            });
4607          }
4608        }
4609        c.forEach((t, r) => {
4610          if (
4611            ("fraction" === s.type &&
4612              (t.querySelectorAll(de(s.currentClass)).forEach((e) => {
4613                e.textContent = s.formatFractionCurrent(i + 1);
4614              }),
4615              t.querySelectorAll(de(s.totalClass)).forEach((e) => {
4616                e.textContent = s.formatFractionTotal(u);
4617              })),
4618            "progressbar" === s.type)
4619          ) {
4620            let a;
4621            a = s.progressbarOpposite
4622              ? e.isHorizontal()
4623                ? "vertical"
4624                : "horizontal"
4625              : e.isHorizontal()
4626              ? "horizontal"
4627              : "vertical";
4628            const r = (i + 1) / u;
4629            let n = 1,
4630              l = 1;
4631            "horizontal" === a ? (n = r) : (l = r),
4632              t.querySelectorAll(de(s.progressbarFillClass)).forEac
4632h((t) => {
4633                (t.style.transform = `translate3d(0,0,0) scaleX(${n}) scaleY(${l})`),
4634                  (t.style.transitionDuration = `${e.params.speed}ms`);
4635              });
4636          }
4637          "custom" === s.type && s.renderCustom
4638            ? (P(t, s.renderCustom(e, i + 1, u)),
4639              0 === r && a("paginationRender", t))
4640            : (0 === r && a("paginationRender", t), a("paginationUpdate", t)),
4641            e.params.watchOverflow &&
4642              e.enabled &&
4643              t.classList[e.isLocked ? "add" : "remove"](s.lockClass);
4644        });
4645      }
4646      function p() {
4647        const t = e.params.pagination;
4648        if (l()) return;
4649        const s =
4650          e.virtual && e.params.virtual.enabled
4651            ? e.virtual.slides.length
4652            : e.grid && e.params.grid.rows > 1
4653            ? e.slides.length / Math.ceil(e.params.grid.rows)
4654            : e.slides.length;
4655        let i = e.pagination.el;
4656        i = M(i);
4657        let r = "";
4658        if ("bullets" === t.type) {
4659          let a = e.params.loop
4660            ? Math.ceil(s / e.params.slidesPerGroup)
4661            : e.snapGrid.length;
4662          e.params.freeMode && e.params.freeMode.enabled && a > s && (a = s);
4663          for (let s = 0; s < a; s += 1)
4664            t.renderBullet
4665              ? (r += t.renderBullet.call(e, s, t.bulletClass))
4666              : (r += `<${t.bulletElement} ${
4667                  e.isElement ? 'part="bullet"' : ""
4668                } class="${t.bulletClass}"></${t.bulletElement}>`);
4669        }
4670        "fraction" === t.type &&
4671          (r = t.renderFraction
4672            ? t.renderFraction.call(e, t.currentClass, t.totalClass)
4673            : `<span class="${t.currentClass}"></span> / <span class="${t.totalClass}"></span>`),
4674          "progressbar" === t.type &&
4675            (r = t.renderProgressbar
4676              ? t.renderProgressbar.call(e, t.progressbarFillClass)
4677              : `<span class="${t.progressbarFillClass}"></span>`),
4678          (e.pagination.bullets = []),
4679          i.forEach((s) => {
4680            "custom" !== t.type && P(s, r || ""),
4681              "bullets" === t.type &&
4682                e.pagination.bullets.push(
4683                  ...s.querySelectorAll(de(t.bulletClass))
4684                );
4685          }),
4686          "custom" !== t.type && a("paginationRender", i[0]);
4687      }
4688      function u() {
4689        e.params.pagination = le(
4690          e,
4691          e.originalParams.pagination,
4692          e.params.pagination,
4693          { el: "swiper-pagination" }
4694        );
4695        const t = e.params.pagination;
4696        if (!t.el) return;
4697        let s;
4698        "string" == typeof t.el &&
4699          e.isElement &&
4700          (s = e.el.querySelector(t.el)),
4701          s ||
4702            "string" != typeof t.el ||
4703            (s = [...document.querySelectorAll(t.el)]),
4704          s || (s = t.el),
4705          s &&
4706            0 !== s.length &&
4707            (e.params.uniqueNavElements &&
4708              "string" == typeof t.el &&
4709              Array.isArray(s) &&
4710              s.length > 1 &&
4711              ((s = [...e.el.querySelectorAll(t.el)]),
4712              s.length > 1 && (s = s.find((t) => x(t, ".swiper")[0] === e.el))),
4713            Array.isArray(s) && 1 === s.length && (s = s[0]),
4714            Object.assign(e.pagination, { el: s }),
4715            (s = M(s)),
4716            s.forEach((s) => {
4717              "bullets" === t.type &&
4718                t.clickable &&
4719                s.classList.add(...(t.clickableClass || "").split(" ")),
4720                s.classList.add(t.modifierClass + t.type),
4721                s.classList.add(
4722                  e.isHorizontal() ? t.horizontalClass : t.verticalClass
4723                ),
4724                "bullets" === t.type &&
4725                  t.dynamicBullets &&
4726                  (s.classList.add(`${t.modifierClass}${t.type}-dynamic`),
4727                  (n = 0),
4728                  t.dynamicMainBullets < 1 && (t.dynamicMainBullets = 1)),
4729                "progressbar" === t.type &&
4730                  t.progressbarOpposite &&
4731                  s.classList.add(t.progressbarOppositeClass),
4732                t.clickable && s.addEventListener("click", d),
4733                e.enabled || s.classList.add(t.lockClass);
4734            }));
4735      }
4736      function m() {
4737        const t = e.params.pagination;
4738        if (l()) return;
4739        let s = e.pagination.el;
4740        s &&
4741          ((s = M(s)),
4742          s.forEach((s) => {
4743            s.classList.remove(t.hiddenClass),
4744              s.classList.remove(t.modifierClass + t.type),
4745              s.classList.remove(
4746                e.isHorizontal() ? t.horizontalClass : t.verticalClass
4747              ),
4748              t.clickable &&
4749                (s.classList.remove(...(t.clickableClass || "").split(" ")),
4750                s.removeEventListener("click", d));
4751          })),
4752          e.pagination.bullets &&
4753            e.pagination.bullets.forEach((e) =>
4754              e.classList.remove(...t.bulletActiveClass.split(" "))
4755            );
4756      }
4757      s("changeDirection", () => {
4758        if (!e.pagination || !e.pagination.el) return;
4759        const t = e.params.pagination;
4760        let { el: s } = e.pagination;
4761        (s = M(s)),
4762          s.forEach((s) => {
4763            s.classList.remove(t.horizontalClass, t.verticalClass),
4764              s.classList.add(
4765                e.isHorizontal() ? t.horizontalClass : t.verticalClass
4766              );
4767          });
4768      }),
4769        s("init", () => {
4770          !1 === e.params.pagination.enabled ? h() : (u(), p(), c());
4771        }),
4772        s("activeIndexChange", () => {
4773          void 0 === e.snapIndex && c();
4774        }),
4775        s("snapIndexChange", () => {
4776          c();
4777        }),
4778        s("snapGridLengthChange", () => {
4779          p(), c();
4780        }),
4781        s("destroy", () => {
4782          m();
4783        }),
4784        s("enable disable", () => {
4785          let { el: t } = e.pagination;
4786          t &&
4787            ((t = M(t)),
4788            t.forEach((t) =>
4789              t.classList[e.enabled ? "remove" : "add"](
4790                e.params.pagination.lockClass
4791              )
4792            ));
4793        }),
4794        s("lock unlock", () => {
4795          c();
4796        }),
4797        s("click", (t, s) => {
4798          const i = s.target,
4799            r = M(e.pagination.el);
4800          if (
4801            e.params.pagination.el &&
4802            e.params.pagination.hideOnClick &&
4803            r &&
4804            r.length > 0 &&
4805            !i.classList.contains(e.params.pagination.bulletClass)
4806          ) {
4807            if (
4808              e.navigation &&
4809              ((e.navigation.nextEl && i === e.navigation.nextEl) ||
4810                (e.navigation.prevEl && i === e.navigation.prevEl))
4811            )
4812              return;
4813            const t = r[0].classList.contains(e.params.pagination.hiddenClass);
4814            a(!0 === t ? "paginationShow" : "paginationHide"),
4815              r.forEach((t) =>
4816                t.classList.toggle(e.params.pagination.hiddenClass)
4817              );
4818          }
4819        });
4820      const h = () => {
4821        e.el.classList.add(e.params.pagination.paginationDisabledClass);
4822        let { el: t } = e.pagination;
4823        t &&
4824          ((t = M(t)),
4825          t.forEach((t) =>
4826            t.classList.add(e.params.pagination.paginationDisabledClass)
4827          )),
4828          m();
4829      };
4830      Object.assign(e.pagination, {
4831        enable: () => {
4832          e.el.classList.remove(e.params.pagination.paginationDisabledClass);
4833          let { el: t } = e.pagination;
4834          t &&
4835            ((t = M(t)),
4836            t.forEach((t) =>
4837              t.classList.remove(e.params.pagination.paginationDisabledClass)
4838            )),
4839            u(),
4840            p(),
4841            c();
4842        },
4843        disable: h,
4844        render: p,
4845        update: c,
4846        init: u,
4847        destroy: m,
4848      });
4849    },
4850    function ({ swiper: e, extendParams: t, on: s, emit: i }) {
4851      const r = a();
4852      let o,
4853        d,
4854        c,
4855        p,
4856        u = !1,
4857        m = null,
4858        h = null;
4859      function f() {
4860        if (!e.params.scrollbar.el || !e.scrollbar.el) return;
4861        const { scrollbar: t, rtlTranslate: s } = e,
4862          { dragEl: a, el: i } = t,
4863          r = e.params.scrollbar,
4864          n = e.params.loop ? e.progressLoop : e.progress;
4865        let l = d,
4866          o = (c - d) * n;
4867        s
4868          ? ((o = -o),
4869            o > 0 ? ((l = d - o), (o = 0)) : -o + d > c && (l = c + o))
4870          : o < 0
4871          ? ((l = d + o), (o = 0))
4872          : o + d > c && (l = c - o),
4873          e.isHorizontal()
4874            ? ((a.style.transform = `translate3d(${o}px, 0, 0)`),
4875              (a.style.width = `${l}px`))
4876            : ((a.style.transform = `translate3d(0px, ${o}
4876px, 0)`),
4877              (a.style.height = `${l}px`)),
4878          r.hide &&
4879            (clearTimeout(m),
4880            (i.style.opacity = 1),
4881            (m = setTimeout(() => {
4882              (i.style.opacity = 0), (i.style.transitionDuration = "400ms");
4883            }, 1e3)));
4884      }
4885      function g() {
4886        if (!e.params.scrollbar.el || !e.scrollbar.el) return;
4887        const { scrollbar: t } = e,
4888          { dragEl: s, el: a } = t;
4889        (s.style.width = ""),
4890          (s.style.height = ""),
4891          (c = e.isHorizontal() ? a.offsetWidth : a.offsetHeight),
4892          (p =
4893            e.size /
4894            (e.virtualSize +
4895              e.params.slidesOffsetBefore -
4896              (e.params.centeredSlides ? e.snapGrid[0] : 0))),
4897          (d =
4898            "auto" === e.params.scrollbar.dragSize
4899              ? c * p
4900              : parseInt(e.params.scrollbar.dragSize, 10)),
4901          e.isHorizontal()
4902            ? (s.style.width = `${d}px`)
4903            : (s.style.height = `${d}px`),
4904          (a.style.display = p >= 1 ? "none" : ""),
4905          e.params.scrollbar.hide && (a.style.opacity = 0),
4906          e.params.watchOverflow &&
4907            e.enabled &&
4908            t.el.classList[e.isLocked ? "add" : "remove"](
4909              e.params.scrollbar.lockClass
4910            );
4911      }
4912      function v(t) {
4913        return e.isHorizontal() ? t.clientX : t.clientY;
4914      }
4915      function y(t) {
4916        const { scrollbar: s, rtlTranslate: a } = e,
4917          { el: i } = s;
4918        let r;
4919        (r =
4920          (v(t) -
4921            b(i)[e.isHorizontal() ? "left" : "top"] -
4922            (null !== o ? o : d / 2)) /
4923          (c - d)),
4924          (r = Math.max(Math.min(r, 1), 0)),
4925          a && (r = 1 - r);
4926        const n = e.minTranslate() + (e.maxTranslate() - e.minTranslate()) * r;
4927        e.updateProgress(n),
4928          e.setTranslate(n),
4929          e.updateActiveIndex(),
4930          e.updateSlidesClasses();
4931      }
4932      function E(t) {
4933        const s = e.params.scrollbar,
4934          { scrollbar: a, wrapperEl: r } = e,
4935          { el: n, dragEl: l } = a;
4936        (u = !0),
4937          (o =
4938            t.target === l
4939              ? v(t) -
4940                t.target.getBoundingClientRect()[
4941                  e.isHorizontal() ? "left" : "top"
4942                ]
4943              : null),
4944          t.preventDefault(),
4945          t.stopPropagation(),
4946          (r.style.transitionDuration = "100ms"),
4947          (l.style.transitionDuration = "100ms"),
4948          y(t),
4949          clearTimeout(h),
4950          (n.style.transitionDuration = "0ms"),
4951          s.hide && (n.style.opacity = 1),
4952          e.params.cssMode && (e.wrapperEl.style["scroll-snap-type"] = "none"),
4953          i("scrollbarDragStart", t);
4954      }
4955      function x(t) {
4956        const { scrollbar: s, wrapperEl: a } = e,
4957          { el: r, dragEl: n } = s;
4958        u &&
4959          (t.preventDefault && t.cancelable
4960            ? t.preventDefault()
4961            : (t.returnValue = !1),
4962          y(t),
4963          (a.style.transitionDuration = "0ms"),
4964          (r.style.transitionDuration = "0ms"),
4965          (n.style.transitionDuration = "0ms"),
4966          i("scrollbarDragMove", t));
4967      }
4968      function S(t) {
4969        const s = e.params.scrollbar,
4970          { scrollbar: a, wrapperEl: r } = e,
4971          { el: n } = a;
4972        u &&
4973          ((u = !1),
4974          e.params.cssMode &&
4975            ((e.wrapperEl.style["scroll-snap-type"] = ""),
4976            (r.style.transitionDuration = "")),
4977          s.hide &&
4978            (clearTimeout(h),
4979            (h = l(() => {
4980              (n.style.opacity = 0), (n.style.transitionDuration = "400ms");
4981            }, 1e3))),
4982          i("scrollbarDragEnd", t),
4983          s.snapOnRelease && e.slideToClosest());
4984      }
4985      function T(t) {
4986        const { scrollbar: s, params: a } = e,
4987          i = s.el;
4988        if (!i) return;
4989        const n = i,
4990          l = !!a.passiveListeners && { passive: !1, capture: !1 },
4991          o = !!a.passiveListeners && { passive: !0, capture: !1 };
4992        if (!n) return;
4993        const d = "on" === t ? "addEventListener" : "removeEventListener";
4994        n[d]("pointerdown", E, l),
4995          r[d]("pointermove", x, l),
4996          r[d]("pointerup", S, o);
4997      }
4998      function C() {
4999        const { scrollbar: t, el: s } = e;
5000        e.params.scrollbar = le(
5001          e,
5002          e.originalParams.scrollbar,
5003          e.params.scrollbar,
5004          { el: "swiper-scrollbar" }
5005        );
5006        const a = e.params.scrollbar;
5007        if (!a.el) return;
5008        let i, l;
5009        if (
5010          ("string" == typeof a.el &&
5011            e.isElement &&
5012            (i = e.el.querySelector(a.el)),
5013          i || "string" != typeof a.el)
5014        )
5015          i || (i = a.el);
5016        else if (((i = r.querySelectorAll(a.el)), !i.length)) return;
5017        e.params.uniqueNavElements &&
5018          "string" == typeof a.el &&
5019          i.length > 1 &&
5020          1 === s.querySelectorAll(a.el).length &&
5021          (i = s.querySelector(a.el)),
5022          i.length > 0 && (i = i[0]),
5023          i.classList.add(
5024            e.isHorizontal() ? a.horizontalClass : a.verticalClass
5025          ),
5026          i &&
5027            ((l = i.querySelector(de(e.params.scrollbar.dragClass))),
5028            l || ((l = w("div", e.params.scrollbar.dragClass)), i.append(l))),
5029          Object.assign(t, { el: i, dragEl: l }),
5030          a.draggable && e.params.scrollbar.el && e.scrollbar.el && T("on"),
5031          i &&
5032            i.classList[e.enabled ? "remove" : "add"](
5033              ...n(e.params.scrollbar.lockClass)
5034            );
5035      }
5036      function P() {
5037        const t = e.params.scrollbar,
5038          s = e.scrollbar.el;
5039        s &&
5040          s.classList.remove(
5041            ...n(e.isHorizontal() ? t.horizontalClass : t.verticalClass)
5042          ),
5043          e.params.scrollbar.el && e.scrollbar.el && T("off");
5044      }
5045      t({
5046        scrollbar: {
5047          el: null,
5048          dragSize: "auto",
5049          hide: !1,
5050          draggable: !1,
5051          snapOnRelease: !0,
5052          lockClass: "swiper-scrollbar-lock",
5053          dragClass: "swiper-scrollbar-drag",
5054          scrollbarDisabledClass: "swiper-scrollbar-disabled",
5055          horizontalClass: "swiper-scrollbar-horizontal",
5056          verticalClass: "swiper-scrollbar-vertical",
5057        },
5058      }),
5059        (e.scrollbar = { el: null, dragEl: null }),
5060        s("changeDirection", () => {
5061          if (!e.scrollbar || !e.scrollbar.el) return;
5062          const t = e.params.scrollbar;
5063          let { el: s } = e.scrollbar;
5064          (s = M(s)),
5065            s.forEach((s) => {
5066              s.classList.remove(t.horizontalClass, t.verticalClass),
5067                s.classList.add(
5068                  e.isHorizontal() ? t.horizontalClass : t.verticalClass
5069                );
5070            });
5071        }),
5072        s("init", () => {
5073          !1 === e.params.scrollbar.enabled ? L() : (C(), g(), f());
5074        }),
5075        s("update resize observerUpdate lock unlock changeDirection", () => {
5076          g();
5077        }),
5078        s("setTranslate", () => {
5079          f();
5080        }),
5081        s("setTransition", (t, s) => {
5082          !(function (t) {
5083            e.params.scrollbar.el &&
5084              e.scrollbar.el &&
5085              (e.scrollbar.dragEl.style.transitionDuration = `${t}ms`);
5086          })(s);
5087        }),
5088        s("enable disable", () => {
5089          const { el: t } = e.scrollbar;
5090          t &&
5091            t.classList[e.enabled ? "remove" : "add"](
5092              ...n(e.params.scrollbar.lockClass)
5093            );
5094        }),
5095        s("destroy", () => {
5096          P();
5097        });
5098      const L = () => {
5099        e.el.classList.add(...n(e.params.scrollbar.scrollbarDisabledClass)),
5100          e.scrollbar.el &&
5101            e.scrollbar.el.classList.add(
5102              ...n(e.params.scrollbar.scrollbarDisabledClass)
5103            ),
5104          P();
5105      };
5106      Object.assign(e.scrollbar, {
5107        enable: () => {
5108          e.el.classList.remove(
5109            ...n(e.params.scrollbar.scrollbarDisabledClass)
5110          ),
5111            e.scrollbar.el &&
5112              e.scrollbar.el.classList.remove(
5113                ...n(e.params.scrollbar.scrollbarDisabledClass)
5114              ),
5115            C(),
5116            g(),
5117            f();
5118        },
5119        disable: L,
5120        updateSize: g,
5121        setTranslate: f,
5122        init: C,
5123        destroy: P,
5124      });
5125    },
5126    function ({ swiper: e, extendParams: t, on: s }) {
5127      t({ parallax: { enabled: !1 } });
5128      const a =
5129          "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",
5130        i = (t, s) => {
5131          const { rtl: a } = e,
5132            i = a ? -1 : 1,
5133            r = t.getAttribute("data-swiper-parallax") || "0";
5134          let n = t.getAttribute("data-swiper-parallax-x"),
5135            l = t.getAttribute("data-swiper-parallax-y");
5136          const o = t.getAttribute("data-swiper-parallax-scale"),
5137            d = t.getAttribute("data-swiper-parallax-opacity"),
5138            c = t.getAttribute("data-swiper-parallax-rotate");
5139          if (
5140            (n || l
5141              ? ((n = n || "0"), (l = l || "0"))
5142              : e.isHorizontal()
5143              ? ((n = r), (l = "0"))
5144              : ((l = r), (n = "0")),
5145            (n =
5146              n.indexOf("%") >= 0
5147                ? parseInt(n, 10) * s * i + "%"
5148                : n * s * i + "px"),
5149            (l =
5150              l.indexOf("%") >= 0 ? parseInt(l, 10) * s + "%" : l * s + "px"),
5151            null != d)
5152          ) {
5153            const e = d - (d - 1) * (1 - Math.abs(s));
5154            t.style.opacity = e;
5155          }
5156          let p = `translate3d(${n}, ${l}, 0px)`;
5157          if (null != o) {
5158            p += ` scale(${o - (o - 1) * (1 - Math.abs(s))})`;
5159          }
5160          if (c && null != c) {
5161            p += ` rotate(${c * s * -1}deg)`;
5162          }
5163          t.style.transform = p;
5164        },
5165        r = () => {
5166          const {
5167              el: t,
5168              slides: s,
5169              progress: r,
5170              snapGrid: n,
5171              isElement: l,
5172            } = e,
5173            o = g(t, a);
5174          e.isElement && o.push(...g(e.hostEl, a)),
5175            o.forEach((e) => {
5176              i(e, r);
5177            }),
5178            s.forEach((t, s) => {
5179              let l = t.progress;
5180              e.params.slidesPerGroup > 1 &&
5181                "auto" !== e.params.slidesPerView &&
5182                (l += Math.ceil(s / 2) - r * (n.length - 1)),
5183                (l = Math.min(Math.max(l, -1), 1)),
5184                t
5185                  .querySelectorAll(`${a}, [data-swiper-parallax-rotate]`)
5186                  .forEach((e) => {
5187                    i(e, l);
5188                  });
5189            });
5190        };
5191      s("beforeInit", () => {
5192        e.params.parallax.enabled &&
5193          ((e.params.watchSlidesProgress = !0),
5194          (e.originalParams.watchSlidesProgress = !0));
5195      }),
5196        s("init", () => {
5197          e.params.parallax.enabled && r();
5198        }),
5199        s("setTranslate", () => {
5200          e.params.parallax.enabled && r();
5201        }),
5202        s("setTransition", (t, s) => {
5203          e.params.parallax.enabled &&
5204            ((t = e.params.speed) => {
5205              const { el: s, hostEl: i } = e,
5206                r = [...s.querySelectorAll(a)];
5207              e.isElement && r.push(...i.querySelectorAll(a)),
5208                r.forEach((e) => {
5209                  let s =
5210                    parseInt(
5211                      e.getAttribute("data-swiper-parallax-duration"),
5212                      10
5213                    ) || t;
5214                  0 === t && (s = 0), (e.style.transitionDuration = `${s}ms`);
5215                });
5216            })(s);
5217        });
5218    },
5219    function ({ swiper: e, extendParams: t, on: s, emit: a }) {
5220      const i = r();
5221      t({
5222        zoom: {
5223          enabled: !1,
5224          limitToOriginalSize: !1,
5225          maxRatio: 3,
5226          minRatio: 1,
5227          panOnMouseMove: !1,
5228          toggle: !0,
5229          containerClass: "swiper-zoom-container",
5230          zoomedSlideClass: "swiper-slide-zoomed",
5231        },
5232      }),
5233        (e.zoom = { enabled: !1 });
5234      let n,
5235        l,
5236        o = 1,
5237        c = !1,
5238        p = !1,
5239        u = { x: 0, y: 0 };
5240      const m = [],
5241        h = {
5242          originX: 0,
5243          originY: 0,
5244          slideEl: void 0,
5245          slideWidth: void 0,
5246          slideHeight: void 0,
5247          imageEl: void 0,
5248          imageWrapEl: void 0,
5249          maxRatio: 3,
5250        },
5251        f = {
5252          isTouched: void 0,
5253          isMoved: void 0,
5254          currentX: void 0,
5255          currentY: void 0,
5256          minX: void 0,
5257          minY: void 0,
5258          maxX: void 0,
5259          maxY: void 0,
5260          width: void 0,
5261          height: void 0,
5262          startX: void 0,
5263          startY: void 0,
5264          touchesStart: {},
5265          touchesCurrent: {},
5266        },
5267        v = {
5268          x: void 0,
5269          y: void 0,
5270          prevPositionX: void 0,
5271          prevPositionY: void 0,
5272          prevTime: void 0,
5273        };
5274      let w,
5275        y = 1;
5276      function E() {
5277        if (m.length < 2) return 1;
5278        const e = m[0].pageX,
5279          t = m[0].pageY,
5280          s = m[1].pageX,
5281          a = m[1].pageY;
5282        return Math.sqrt((s - e) ** 2 + (a - t) ** 2);
5283      }
5284      function S() {
5285        const t = e.params.zoom,
5286          s = h.imageWrapEl.getAttribute("data-swiper-zoom") || t.maxRatio;
5287        if (t.limitToOriginalSize && h.imageEl && h.imageEl.naturalWidth) {
5288          const e = h.imageEl.naturalWidth / h.imageEl.offsetWidth;
5289          return Math.min(e, s);
5290        }
5291        return s;
5292      }
5293      function T(t) {
5294        const s = e.isElement ? "swiper-slide" : `.${e.params.slideClass}`;
5295        return (
5296          !!t.target.matches(s) ||
5297          e.slides.filter((e) => e.contains(t.target)).length > 0
5298        );
5299      }
5300      function M(t) {
5301        const s = `.${e.params.zoom.containerClass}`;
5302        return (
5303          !!t.target.matches(s) ||
5304          [...e.hostEl.querySelectorAll(s)].filter((e) => e.contains(t.target))
5305            .length > 0
5306        );
5307      }
5308      function C(t) {
5309        if (("mouse" === t.pointerType && m.splice(0, m.length), !T(t))) return;
5310        const s = e.params.zoom;
5311        if (((n = !1), (l = !1), m.push(t), !(m.length < 2))) {
5312          if (((n = !0), (h.scaleStart = E()), !h.slideEl)) {
5313            (h.slideEl = t.target.closest(
5314              `.${e.params.slideClass}, swiper-slide`
5315            )),
5316              h.slideEl || (h.slideEl = e.slides[e.activeIndex]);
5317            let a = h.slideEl.querySelector(`.${s.containerClass}`);
5318            if (
5319              (a &&
5320                (a = a.querySelectorAll(
5321                  "picture, img, svg, canvas, .swiper-zoom-target"
5322                )[0]),
5323              (h.imageEl = a),
5324              (h.imageWrapEl = a
5325                ? x(h.imageEl, `.${s.containerClass}`)[0]
5326                : void 0),
5327              !h.imageWrapEl)
5328            )
5329              return void (h.imageEl = void 0);
5330            h.maxRatio = S();
5331          }
5332          if (h.imageEl) {
5333            const [e, t] = (function () {
5334              if (m.length < 2) return { x: null, y: null };
5335              const e = h.imageEl.getBoundingClientRect();
5336              return [
5337                (m[0].pageX + (m[1].pageX - m[0].pageX) / 2 - e.x - i.scrollX) /
5338                  o,
5339                (m[0].pageY + (m[1].pageY - m[0].pageY) / 2 - e.y - i.scrollY) /
5340                  o,
5341              ];
5342            })();
5343            (h.originX = e),
5344              (h.originY = t),
5345              (h.imageEl.style.transitionDuration = "0ms");
5346          }
5347          c = !0;
5348        }
5349      }
5350      function P(t) {
5351        if (!T(t)) return;
5352        const s = e.params.zoom,
5353          a = e.zoom,
5354          i = m.findIndex((e) => e.pointerId === t.pointerId);
5355        i >= 0 && (m[i] = t),
5356          m.length < 2 ||
5357            ((l = !0),
5358            (h.scaleMove = E()),
5359            h.imageEl &&
5360              ((a.scale = (h.scaleMove / h.scaleStart) * o),
5361              a.scale > h.maxRatio &&
5362                (a.scale = h.maxRatio - 1 + (a.scale - h.maxRatio + 1) ** 0.5),
5363              a.scale < s.minRatio &&
5364                (a.scale = s.minRatio + 1 - (s.minRatio - a.scale + 1) ** 0.5),
5365              (h.imageEl.style.transform = `translate3d(0,0,0) scale(${a.scale})`)));
5366      }
5367      function L(t) {
5368        if (!T(t)) return;
5369        if ("mouse" === t.pointerType && "pointerout" === t.type) return;
5370        const s = e.params.zoom,
5371          a = e.zoom,
5372          i = m.findIndex((e) => e.pointerId === t.pointerId);
5373        i >= 0 && m.splice(i, 1),
5374          n &&
5375            l &&
5376            ((n = !1),
5377            (l = !1),
5378            h.imageEl &&
5379              ((a.scale = Math.max(Math.min(a.scale, h.maxRatio), s.minRatio)),
5380              (h.imageEl.style.transitionDuration = `${e.params.speed}ms`),
5381              (h.imageEl.style.transform = `translate3d(0,0,0) scale(${a.scale})`),
5382              (o = a.scale),
5383              (c = !1),
5384              a.scale > 1 && h.slideEl
5385                ? h.slideEl.classList.add(`${s.zoomedSlideClass}`)
5386                : a.scale <= 1 &&
5387                  h.slideEl &&
5388                  h.slideEl.classList.remove(`${s.zoomedSlideClass}`),
5389              1 === a.scale &&
5390                ((h.originX = 0), (h.originY = 0), (h.slideEl = void 0))));
5391      }
5392      function I() {
5393        e.touchEventsData.preventTouchMoveFromPointerMove = !1;
5394      }
5395      function z(t) {
5396        const s = "mouse" === t.pointerType && e.params.zoom.panOnMouseMove;
5397        if (!T(t) || !M(t)) return;
5398        const a = e.zoom;
5399        if (!h.imageEl) return;
5400        if (!f.isTouched || !h.slideEl) return void (s && $(t));
5401        if (s) return void $(t);
5402        f.isMoved ||
5403          ((f.width = h.imageEl.offsetWidth || h.imageEl.clientWidth),
5404          (f.height = h.imageEl.offsetHeight || h.imageEl.clientHeight),
5405          (f.startX = d(h.imageWrapEl, "x") || 0),
5406          (f.startY = d(h.imageWrapEl, "y") || 0),
5407          (h.slideWidth = h.slideEl.offsetWidth),
5408          (h.slideHeight = h.slideEl.offsetHeight),
5409          (h.imageWrapEl.style.transitionDuration = "0ms"));
5410        const i = f.width * a.scale,
5411          r = f.height * a.scale;
5412        (f.minX = Math.min(h.slideWidth / 2 - i / 2, 0)),
5413          (f.maxX = -f.minX),
5414          (f.minY = Math.min(h.slideHeight / 2 - r / 2, 0)),
5415          (f.maxY = -f.minY),
5416          (f.touchesCurrent.x = m.length > 0 ? m[0].pageX : t.pageX),
5417          (f.touchesCurrent.y = m.length > 0 ? m[0].pageY : t.pageY);
5418        if (
5419          (Math.max(
5420            Math.abs(f.touchesCurrent.x - f.touchesStart.x),
5421            Math.abs(f.touchesCurrent.y - f.touchesStart.y)
5422          ) > 5 && (e.allowClick = !1),
5423          !f.isMoved && !c)
5424        ) {
5425          if (
5426            e.isHorizontal() &&
5427            ((Math.floor(f.minX) === Math.floor(f.startX) &&
5428              f.touchesCurrent.x < f.touchesStart.x) ||
5429              (Math.floor(f.maxX) === Math.floor(f.startX) &&
5430                f.touchesCurrent.x > f.touchesStart.x))
5431          )
5432            return (f.isTouched = !1), void I();
5433          if (
5434            !e.isHorizontal() &&
5435            ((Math.floor(f.minY) === Math.floor(f.startY) &&
5436              f.touchesCurrent.y < f.touchesStart.y) ||
5437              (Math.floor(f.maxY) === Math.floor(f.startY) &&
5438                f.touchesCurrent.y > f.touchesStart.y))
5439          )
5440            return (f.isTouched = !1), void I();
5441        }
5442        t.cancelable && t.preventDefault(),
5443          t.stopPropagation(),
5444          clearTimeout(w),
5445          (e.touchEventsData.preventTouchMoveFromPointerMove = !0),
5446          (w = setTimeout(() => {
5447            e.destroyed || I();
5448          })),
5449          (f.isMoved = !0);
5450        const n = (a.scale - o) / (h.maxRatio - e.params.zoom.minRatio),
5451          { originX: l, originY: p } = h;
5452        (f.currentX =
5453          f.touchesCurrent.x -
5454          f.touchesStart.x +
5455          f.startX +
5456          n * (f.width - 2 * l)),
5457          (f.currentY =
5458            f.touchesCurrent.y -
5459            f.touchesStart.y +
5460            f.startY +
5461            n * (f.height - 2 * p)),
5462          f.currentX < f.minX &&
5463            (f.currentX = f.minX + 1 - (f.minX - f.currentX + 1) ** 0.8),
5464          f.currentX > f.maxX &&
5465            (f.currentX = f.maxX - 1 + (f.currentX - f.maxX + 1) ** 0.8),
5466          f.currentY < f.minY &&
5467            (f.currentY = f.minY + 1 - (f.minY - f.currentY + 1) ** 0.8),
5468          f.currentY > f.maxY &&
5469            (f.currentY = f.maxY - 1 + (f.currentY - f.maxY + 1) ** 0.8),
5470          v.prevPositionX || (v.prevPositionX = f.touchesCurrent.x),
5471          v.prevPositionY || (v.prevPositionY = f.touchesCurrent.y),
5472          v.prevTime || (v.prevTime = Date.now()),
5473          (v.x =
5474            (f.touchesCurrent.x - v.prevPositionX) /
5475            (Date.now() - v.prevTime) /
5476            2),
5477          (v.y =
5478            (f.touchesCurrent.y - v.prevPositionY) /
5479            (Date.now() - v.prevTime) /
5480            2),
5481          Math.abs(f.touchesCurrent.x - v.prevPositionX) < 2 && (v.x = 0),
5482          Math.abs(f.touchesCurrent.y - v.prevPositionY) < 2 && (v.y = 0),
5483          (v.prevPositionX = f.touchesCurrent.x),
5484          (v.prevPositionY = f.touchesCurrent.y),
5485          (v.prevTime = Date.now()),
5486          (h.imageWrapEl.style.transform = `translate3d(${f.currentX}px, ${f.currentY}px,0)`);
5487      }
5488      function A() {
5489        const t = e.zoom;
5490        h.slideEl &&
5491          e.activeIndex !== e.slides.indexOf(h.slideEl) &&
5492          (h.imageEl &&
5493            (h.imageEl.style.transform = "translate3d(0,0,0) scale(1)"),
5494          h.imageWrapEl &&
5495            (h.imageWrapEl.style.transform = "translate3d(0,0,0)"),
5496          h.slideEl.classList.remove(`${e.params.zoom.zoomedSlideClass}`),
5497          (t.scale = 1),
5498          (o = 1),
5499          (h.slideEl = void 0),
5500          (h.imageEl = void 0),
5501          (h.imageWrapEl = void 0),
5502          (h.originX = 0),
5503          (h.originY = 0));
5504      }
5505      function $(e) {
5506        if (o <= 1 || !h.imageWrapEl) return;
5507        if (!T(e) || !M(e)) return;
5508        const t = i.getComputedStyle(h.imageWrapEl).transform,
5509          s = new i.DOMMatrix(t);
5510        if (!p)
5511          return (
5512            (p = !0),
5513            (u.x = e.clientX),
5514            (u.y = e.clientY),
5515            (f.startX = s.e),
5516            (f.startY = s.f),
5517            (f.width = h.imageEl.offsetWidth || h.imageEl.clientWidth),
5518            (f.height = h.imageEl.offsetHeight || h.imageEl.clientHeight),
5519            (h.slideWidth = h.slideEl.offsetWidth),
5520            void (h.slideHeight = h.slideEl.offsetHeight)
5521          );
5522        const a = -3 * (e.clientX - u.x),
5523          r = -3 * (e.clientY - u.y),
5524          n = f.width * o,
5525          l = f.height * o,
5526          d = h.slideWidth,
5527          c = h.slideHeight,
5528          m = Math.min(d / 2 - n / 2, 0),
5529          g = -m,
5530          v = Math.min(c / 2 - l / 2, 0),
5531          w = -v,
5532          b = Math.max(Math.min(f.startX + a, g), m),
5533          y = Math.max(Math.min(f.startY + r, w), v);
5534        (h.imageWrapEl.style.transitionDuration = "0ms"),
5535          (h.imageWrapEl.style.transform = `translate3d(${b}px, ${y}px, 0)`),
5536          (u.x = e.clientX),
5537          (u.y = e.clientY),
5538          (f.startX = b),
5539          (f.startY = y),
5540          (f.currentX = b),
5541          (f.currentY = y);
5542      }
5543      function k(t) {
5544        const s = e.zoom,
5545          a = e.params.zoom;
5546        if (!h.slideEl) {
5547          t &&
5548            t.target &&
5549            (h.slideEl = t.target.closest(
5550              `.${e.params.slideClass}, swiper-slide`
5551            )),
5552            h.slideEl ||
5553              (e.params.virtual && e.params.virtual.enabled && e.virtual
5554                ? (h.slideEl = g(
5555                    e.slidesEl,
5556                    `.${e.params.slideActiveClass}`
5557                  )[0])
5558                : (h.slideEl = e.slides[e.activeIndex]));
5559          let s = h.slideEl.querySelector(`.${a.containerClass}`);
5560          s &&
5561            (s = s.querySelectorAll(
5562              "picture, img, svg, canvas, .swiper-zoom-target"
5563            )[0]),
5564            (h.imageEl = s),
5565            (h.imageWrapEl = s
5566              ? x(h.imageEl, `.${a.containerClass}`)[0]
5567              : void 0);
5568        }
5569        if (!h.imageEl || !h.imageWrapEl) return;
5570        let r, n, l, d, c, p, u, m, v, w, y, E, T, M, C, P, L, I;
5571        e.params.cssMode &&
5572          ((e.wrapperEl.style.overflow = "hidden"),
5573          (e.wrapperEl.style.touchAction = "none")),
5574          h.slideEl.classList.add(`${a.zoomedSlideClass}`),
5575          void 0 === f.touchesStart.x && t
5576            ? ((r = t.pageX), (n = t.pageY))
5577            : ((r = f.touchesStart.x), (n = f.touchesStart.y));
5578        const z = o,
5579          A = "number" == typeof t ? t : null;
5580        1 === o &&
5581          A &&
5582          ((r = void 0),
5583          (n = void 0),
5584          (f.touchesStart.x = void 0),
5585          (f.touchesStart.y = void 0));
5586        const $ = S();
5587        (s.scale = A || $),
5588          (o = A || $),
5589          !t || (1 === o && A)
5590            ? ((u = 0), (m = 0))
5591            : ((L = h.slideEl.offsetWidth),
5592              (I = h.slideEl.offsetHeight),
5593              (l = b(h.slideEl).left + i.scrollX),
5594              (d = b(h.slideEl).top + i.scrollY),
5595              (c = l + L / 2 - r),
5596              (p = d + I / 2 - n),
5597              (v = h.imageEl.offsetWidth || h.imageEl.clientWidth),
5598              (w = h.imageEl.offsetHeight || h.imageEl.clientHeight),
5599              (y = v * s.scale),
5600              (E = w * s.scale),
5601              (T = Math.min(L / 2 - y / 2, 0)),
5602              (M = Math.min(I / 2 - E / 2, 0)),
5603              (C = -T),
5604              (P = -M),
5605              z > 0 &&
5606              A &&
5607              "number" == typeof f.currentX &&
5608              "number" == typeof f.currentY
5609                ? ((u = (f.currentX * s.scale) / z),
5610                  (m = (f.currentY * s.scale) / z))
5611                : ((u = c * s.scale), (m = p * s.scale)),
5612              u < T && (u = T),
5613              u > C && (u = C),
5614              m < M && (m = M),
5615              m > P && (m = P)),
5616          A && 1 === s.scale && ((h.originX = 0), (h.originY = 0)),
5617          (f.currentX = u),
5618          (f.currentY = m),
5619          (h.imageWrapEl.style.transitionDuration = "300ms"),
5620          (h.imageWrapEl.style.transform = `translate3d(${u}px, ${m}px,0)`),
5621          (h.imageEl.style.transitionDuration = "300ms"),
5622          (h.imageEl.style.transform = `translate3d(0,0,0) scale(${s.scale})`);
5623      }
5624      function O() {
5625        const t = e.zoom,
5626          s = e.params.zoom;
5627        if (!h.slideEl) {
5628          e.params.virtual && e.params.virtual.enabled && e.virtual
5629            ? (h.slideEl = g(e.slidesEl, `.${e.params.slideActiveClass}`)[0])
5630            : (h.slideEl = e.slides[e.activeIndex]);
5631          let t = h.slideEl.querySelector(`.${s.containerClass}`);
5632          t &&
5633            (t = t.querySelectorAll(
5634              "picture, img, svg, canvas, .swiper-zoom-target"
5635            )[0]),
5636            (h.imageEl = t),
5637            (h.imageWrapEl = t
5638              ? x(h.imageEl, `.${s.containerClass}`)[0]
5639              : void 0);
5640        }
5641        h.imageEl &&
5642          h.imageWrapEl &&
5643          (e.params.cssMode &&
5644            ((e.wrapperEl.style.overflow = ""),
5645            (e.wrapperEl.style.touchAction = "")),
5646          (t.scale = 1),
5647          (o = 1),
5648          (f.currentX = void 0),
5649          (f.currentY = void 0),
5650          (f.touchesStart.x = void 0),
5651          (f.touchesStart.y = void 0),
5652          (h.imageWrapEl.style.transitionDuration = "300ms"),
5653          (h.imageWrapEl.style.transform = "translate3d(0,0,0)"),
5654          (h.imageEl.style.transitionDuration = "300ms"),
5655          (h.imageEl.style.transform = "translate3d(0,0,0) scale(1)"),
5656          h.slideEl.classList.remove(`${s.zoomedSlideClass}`),
5657          (h.slideEl = void 0),
5658          (h.originX = 0),
5659          (h.originY = 0),
5660          e.params.zoom.panOnMouseMove &&
5661            ((u = { x: 0, y: 0 }),
5662            p && ((p = !1), (f.startX = 0), (f.startY = 0))));
5663      }
5664      function D(t) {
5665        const s = e.zoom;
5666        s.scale && 1 !== s.scale ? O() : k(t);
5667      }
5668      function G() {
5669        return {
5670          passiveListener: !!e.params.passiveListeners && {
5671            passive: !0,
5672            capture: !1,
5673          },
5674          activeListenerWithCapture: !e.params.passiveListeners || {
5675            passive: !1,
5676            capture: !0,
5677          },
5678        };
5679      }
5680      function X() {
5681        const t = e.zoom;
5682        if (t.enabled) return;
5683        t.enabled = !0;
5684        const { passiveListener: s, activeListenerWithCapture: a } = G();
5685        e.wrapperEl.addEventListener("pointerdown", C, s),
5686          e.wrapperEl.addEventListener("pointermove", P, a),
5687          ["pointerup", "pointercancel", "pointerout"].forEach((t) => {
5688            e.wrapperEl.addEventListener(t, L, s);
5689          }),
5690          e.wrapperEl.addEventListener("pointermove", z, a);
5691      }
5692      function B() {
5693        const t = e.zoom;
5694        if (!t.enabled) return;
5695        t.enabled = !1;
5696        const { passiveListener: s, activeListenerWithCapture: a } = G();
5697        e.wrapperEl.removeEventListener("pointerdown", C, s),
5698          e.wrapperEl.removeEventListener("pointermove", P, a),
5699          ["pointerup", "pointercancel", "pointerout"].forEach((t) => {
5700            e.wrapperEl.removeEventListener(t, L, s);
5701          }),
5702          e.wrapperEl.removeEventListener("pointermove", z, a);
5703      }
5704      Object.defineProperty(e.zoom, "scale", {
5705        get: () => y,
5706        set(e) {
5707          if (y !== e) {
5708            const t = h.imageEl,
5709              s = h.slideEl;
5710            a("zoomChange", e, t, s);
5711          }
5712          y = e;
5713        },
5714      }),
5715        s("init", () => {
5716          e.params.zoom.enabled && X();
5717        }),
5718        s("destroy", () => {
5719          B();
5720        }),
5721        s("touchStart", (t, s) => {
5722          e.zoom.enabled &&
5723            (function (t) {
5724              const s = e.device;
5725              if (!h.imageEl) return;
5726              if (f.isTouched) return;
5727              s.android && t.cancelable && t.preventDefault(),
5728                (f.isTouched = !0);
5729              const a = m.length > 0 ? m[0] : t;
5730              (f.touchesStart.x = a.pageX), (f.touchesStart.y = a.pageY);
5731            })(s);
5732        }),
5733        s("touchEnd", (t, s) => {
5734          e.zoom.enabled &&
5735            (function () {
5736              const t = e.zoom;
5737              if (((m.length = 0), !h.imageEl)) return;
5738              if (!f.isTouched || !f.isMoved)
5739                return (f.isTouched = !1), void (f.isMoved = !1);
5740              (f.isTouched = !1), (f.isMoved = !1);
5741              let s = 300,
5742                a = 300;
5743              const i = v.x * s,
5744                r = f.currentX + i,
5745                n = v.y * a,
5746                l = f.currentY + n;
5747              0 !== v.x && (s = Math.abs((r - f.currentX) / v.x)),
5748                0 !== v.y && (a = Math.abs((l - f.currentY) / v.y));
5749              const o = Math.max(s, a);
5750              (f.currentX = r), (f.currentY = l);
5751              const d = f.width * t.scale,
5752                c = f.height * t.scale;
5753              (f.minX = Math.min(h.slideWidth / 2 - d / 2, 0)),
5754                (f.maxX = -f.minX),
5755                (f.minY = Math.min(h.slideHeight / 2 - c / 2, 0)),
5756                (f.maxY = -f.minY),
5757                (f.currentX = Math.max(Math.min(f.currentX, f.maxX), f.minX)),
5758                (f.currentY = Math.max(Math.min(f.currentY, f.maxY), f.minY)),
5759                (h.imageWrapEl.style.transitionDuration = `${o}ms`),
5760                (h.imageWrapEl.style.transform = `translate3d(${f.currentX}px, ${f.currentY}px,0)`);
5761            })();
5762        }),
5763        s("doubleTap", (t, s) => {
5764          !e.animating &&
5765            e.params.zoom.enabled &&
5766            e.zoom.enabled &&
5767            e.params.zoom.toggle &&
5768            D(s);
5769        }),
5770        s("transitionEnd", () => {
5771          e.zoom.enabled && e.params.zoom.enabled && A();
5772        }),
5773        s("slideChange", () => {
5774          e.zoom.enabled && e.params.zoom.enabled && e.params.cssMode && A();
5775        }),
5776        Object.assign(e.zoom, {
5777          enable: X,
5778          disable: B,
5779          in: k,
5780          out: O,
5781          toggle: D,
5782        });
5783    },
5784    function ({ swiper: e, extendParams: t, on: s }) {
5785      function a(e, t) {
5786        const s = (function () {
5787          let e, t, s;
5788          return (a, i) => {
5789            for (t = -1, e = a.length; e - t > 1; )
5790              (s = (e + t) >> 1), a[s] <= i ? (t = s) : (e = s);
5791            return e;
5792          };
5793        })();
5794        let a, i;
5795        return (
5796          (this.x = e),
5797          (this.y = t),
5798          (this.lastIndex = e.length - 1),
5799          (this.interpolate = function (e) {
5800            return e
5801              ? ((i = s(this.x, e)),
5802                (a = i - 1),
5803                ((e - this.x[a]) * (this.y[i] - this.y[a])) /
5804                  (this.x[i] - this.x[a]) +
5805                  this.y[a])
5806              : 0;
5807          }),
5808          this
5809        );
5810      }
5811      function i() {
5812        e.controller.control &&
5813          e.controller.spline &&
5814          ((e.controller.spline = void 0), delete e.controller.spline);
5815      }
5816      t({ controller: { control: void 0, inverse: !1, by: "slide" } }),
5817        (e.controller = { control: void 0 }),
5818        s("beforeInit", () => {
5819          if (
5820            "undefined" != typeof window &&
5821            ("string" == typeof e.params.controller.control ||
5822              e.params.controller.control instanceof HTMLElement)
5823          ) {
5824            return void (
5825              "string" == typeof e.params.controller.control
5826                ? [...document.querySelectorAll(e.params.controller.control)]
5827                : [e.params.controller.control]
5828            ).forEach((t) => {
5829              if (
5830                (e.controller.control || (e.controller.control = []),
5831                t && t.swiper)
5832              )
5833                e.controller.control.push(t.swiper);
5834              else if (t) {
5835                const s = `${e.params.eventsPrefix}init`,
5836                  a = (i) => {
5837                    e.controller.control.push(i.detail[0]),
5838                      e.update(),
5839                      t.removeEventListener(s, a);
5840                  };
5841                t.addEventListener(s, a);
5842              }
5843            });
5844          }
5845          e.controller.control = e.params.controller.control;
5846        }),
5847        s("update", () => {
5848          i();
5849        }),
5850        s("resize", () => {
5851          i();
5852        }),
5853        s("observerUpdate", () => {
5854          i();
5855        }),
5856        s("setTranslate", (t, s, a) => {
5857          e.controller.control &&
5858            !e.controller.control.destroyed &&
5859            e.controller.setTranslate(s, a);
5860        }),
5861        s("setTransition", (t, s, a) => {
5862          e.controller.control &&
5863            !e.controller.control.destroyed &&
5864            e.controller.setTransition(s, a);
5865        }),
5866        Object.assign(e.controller, {
5867          setTranslate: function (t, s) {
5868            const i = e.controller.control;
5869            let r, n;
5870            const l = e.constructor;
5871            function o(t) {
5872              if (t.destroyed) return;
5873              const s = e.rtlTranslate ? -e.translate : e.translate;
5874              "slide" === e.params.controller.by &&
5875                (!(function (t) {
5876                  e.controller.spline = e.params.loop
5877                    ? new a(e.slidesGrid, t.slidesGrid)
5878                    : new a(e.snapGrid, t.snapGrid);
5879                })(t),
5880                (n = -e.controller.spline.interpolate(-s))),
5881                (n && "container" !== e.params.controller.by) ||
5882                  ((r =
5883                    (t.maxTranslate() - t.minTranslate()) /
5884                    (e.maxTranslate() - e.minTranslate())),
5885                  (!Number.isNaN(r) && Number.isFinite(r)) || (r = 1),
5886                  (n = (s - e.minTranslate()) * r + t.minTranslate())),
5887                e.params.controller.inverse && (n = t.maxTranslate() - n),
5888                t.updateProgress(n),
5889                t.setTranslate(n, e),
5890                t.updateActiveIndex(),
5891                t.updateSlidesClasses();
5892            }
5893            if (Array.isArray(i))
5894              for (let e = 0; e < i.length; e += 1)
5895                i[e] !== s && i[e] instanceof l && o(i[e]);
5896            else i instanceof l && s !== i && o(i);
5897          },
5898          setTransition: function (t, s) {
5899            const a = e.constructor,
5900              i = e.controller.control;
5901            let r;
5902            function n(s) {
5903              s.destroyed ||
5904                (s.setTransition(t, e),
5905                0 !== t &&
5906                  (s.transitionStart(),
5907                  s.params.autoHeight &&
5908                    l(() => {
5909                      s.updateAutoHeight();
5910                    }),
5911                  S(s.wrapperEl, () => {
5912                    i && s.transitionEnd();
5913                  })));
5914            }
5915            if (Array.isArray(i))
5916              for (r = 0; r < i.length; r += 1)
5917                i[r] !== s && i[r] instanceof a && n(i[r]);
5918            else i instanceof a && s !== i && n(i);
5919          },
5920        });
5921    },
5922    function ({ swiper: e, extendParams: t, on: s }) {
5923      t({
5924        a11y: {
5925          enabled: !0,
5926          notificationClass: "swiper-notification",
5927          prevSlideMessage: "Previous slide",
5928          nextSlideMessage: "Next slide",
5929          firstSlideMessage: "This is the first slide",
5930          lastSlideMessage: "This is the last slide",
5931          paginationBulletMessage: "Go to slide {{index}}",
5932          slideLabelMessage: "{{index}} / {{slidesLength}}",
5933          containerMessage: null,
5934          containerRoleDescriptionMessage: null,
5935          containerRole: null,
5936          itemRoleDescriptionMessage: null,
5937          slideRole: "group",
5938          id: null,
5939          scrollOnFocus: !0,
5940          wrapperLiveRegion: !0,
5941        },
5942      }),
5943        (e.a11y = { clicked: !1 });
5944      let i,
5945        r,
5946        n = null,
5947        l = new Date().getTime();
5948      function o(e) {
5949        const t = n;
5950        0 !== t.length && P(t, e);
5951      }
5952      function d(e) {
5953        (e = M(e)).forEach((e) => {
5954          e.setAttribute("tabIndex", "0");
5955        });
5956      }
5957      function c(e) {
5958        (e = M(e)).forEach((e) => {
5959          e.setAttribute("tabIndex", "-1");
5960        });
5961      }
5962      function p(e, t) {
5963        (e = M(e)).forEach((e) => {
5964          e.setAttribute("role", t);
5965        });
5966      }
5967      function u(e, t) {
5968        (e = M(e)).forEach((e) => {
5969          e.setAttribute("aria-roledescription", t);
5970        });
5971      }
5972      function m(e, t) {
5973        (e = M(e)).forEach((e) => {
5974          e.setAttribute("aria-label", t);
5975        });
5976      }
5977      function h(e) {
5978        (e = M(e)).forEach((e) => {
5979          e.setAttribute("aria-disabled", !0);
5980        });
5981      }
5982      function f(e) {
5983        (e = M(e)).forEach((e) => {
5984          e.setAttribute("aria-disabled", !1);
5985        });
5986      }
5987      function g(t) {
5988        if (13 !== t.keyCode && 32 !== t.keyCode) return;
5989        const s = e.params.a11y,
5990          a = t.target;
5991        if (
5992          !e.pagination ||
5993          !e.pagination.el ||
5994          (a !== e.pagination.el && !e.pagination.el.contains(t.target)) ||
5995          t.target.matches(de(e.params.pagination.bulletClass))
5996        ) {
5997          if (e.navigation && e.navigation.prevEl && e.navigation.nextEl) {
5998            const t = M(e.navigation.prevEl);
5999            M(e.navigation.nextEl).includes(a) &&
6000              ((e.isEnd && !e.params.loop) || e.slideNext(),
6001              e.isEnd ? o(s.lastSlideMessage) : o(s.nextSlideMessage)),
6002              t.includes(a) &&
6003                ((e.isBeginning && !e.params.loop) || e.slidePrev(),
6004                e.isBeginning ? o(s.firstSlideMessage) : o(s.prevSlideMessage));
6005          }
6006          e.pagination &&
6007            a.matches(de(e.params.pagination.bulletClass)) &&
6008            a.click();
6009        }
6010      }
6011      function v() {
6012        return (
6013          e.pagination && e.pagination.bullets && e.pagination.bullets.length
6014        );
6015      }
6016      function b() {
6017        return v() && e.params.pagination.clickable;
6018      }
6019      const y = (e, t, s) => {
6020          d(e),
6021            "BUTTON" !== e.tagName &&
6022              (p(e, "button"), e.addEventListener("keydown", g)),
6023            m(e, s),
6024            (function (e, t) {
6025              (e = M(e)).forEach((e) => {
6026                e.setAttribute("aria-controls", t);
6027              });
6028            })(e, t);
6029        },
6030        x = (t) => {
6031          r && r !== t.target && !r.contains(t.target) && (i = !0),
6032            (e.a11y.clicked = !0);
6033        },
6034        S = () => {
6035          (i = !1),
6036            requestAnimationFrame(() => {
6037              requestAnimationFrame(() => {
6038                e.destroyed || (e.a11y.clicked = !1);
6039              });
6040            });
6041        },
6042        T = (e) => {
6043          l = new Date().getTime();
6044        },
6045        C = (t) => {
6046          if (e.a11y.clicked || !e.params.a11y.scrollOnFocus) return;
6047          if (new Date().getTime() - l < 100) return;
6048          const s = t.target.closest(`.${e.params.slideClass}, swiper-slide`);
6049          if (!s || !e.slides.includes(s)) return;
6050          r = s;
6051          const a = e.slides.indexOf(s) === e.activeIndex,
6052            n =
6053              e.params.watchSlidesProgress &&
6054              e.visibleSlides &&
6055              e.visibleSlides.includes(s);
6056          a ||
6057            n ||
6058            (t.sourceCapabilities && t.sourceCapabilities.firesTouchEvents) ||
6059            (e.isHorizontal() ? (e.el.scrollLeft = 0) : (e.el.scrollTop = 0),
6060            requestAnimationFrame(() => {
6061              i ||
6062                (e.params.loop
6063                  ? e.slideToLoop(
6064                      e.getSlideIndexWhenGrid(
6065                        parseInt(s.getAttribute("data-swiper-slide-index"))
6066                      ),
6067                      0
6068                    )
6069                  : e.slideTo(e.getSlideIndexWhenGrid(e.slides.indexOf(s)), 0),
6070                (i = !1));
6071            }));
6072        },
6073        L = () => {
6074          const t = e.params.a11y;
6075          t.itemRoleDescriptionMessage &&
6076            u(e.slides, t.itemRoleDescriptionMessage),
6077            t.slideRole && p(e.slides, t.slideRole);
6078          const s = e.slides.length;
6079          t.slideLabelMessage &&
6080            e.slides.forEach((a, i) => {
6081              const r = e.params.loop
6082                ? parseInt(a.getAttribute("data-swiper-slide-index"), 10)
6083                : i;
6084              m(
6085                a,
6086                t.slideLabelMessage
6087                  .replace(/\{\{index\}\}/, r + 1)
6088                  .replace(/\{\{slidesLength\}\}/, s)
6089              );
6090            });
6091        },
6092        I = () => {
6093          const t = e.params.a11y;
6094          e.el.append(n);
6095          const s = e.el;
6096          t.containerRoleDescriptionMessage &&
6097            u(s, t.containerRoleDescriptionMessage),
6098            t.containerMessage && m(s, t.containerMessage),
6099            t.containerRole && p(s, t.containerRole);
6100          const i = e.wrapperEl,
6101            r =
6102              t.id ||
6103              i.getAttribute("id") ||
6104              `swiper-wrapper-${(function (e = 16) {
6105                return "x"
6106                  .repeat(e)
6107                  .replace(/x/g, () =>
6108                    Math.round(16 * Math.random()).toString(16)
6109                  );
6110              })(16)}`;
6111          var l;
6112          if (
6113            ((l = r),
6114            M(i).forEach((e) => {
6115              e.setAttribute("id", l);
6116            }),
6117            t.wrapperLiveRegion)
6118          ) {
6119            !(function (e, t) {
6120              (e = M(e)).forEach((e) => {
6121                e.setAttribute("aria-live", t);
6122              });
6123            })(
6124              i,
6125              e.params.autoplay && e.params.autoplay.enabled ? "off" : "polite"
6126            );
6127          }
6128          L();
6129          let { nextEl: o, prevEl: d } = e.navigation ? e.navigation : {};
6130          if (
6131            ((o = M(o)),
6132            (d = M(d)),
6133            o && o.forEach((e) => y(e, r, t.nextSlideMessage)),
6134            d && d.forEach((e) => y(e, r, t.prevSlideMessage)),
6135            b())
6136          ) {
6137            M(e.pagination.el).forEach((e) => {
6138              e.addEventListener("keydown", g);
6139            });
6140          }
6141          a().addEventListener("visibilitychange", T),
6142            e.el.addEventListener("focus", C, !0),
6143            e.el.addEventListener("focus", C, !0),
6144            e.el.addEventListener("pointerdown", x, !0),
6145            e.el.addEventListener("pointerup", S, !0);
6146        };
6147      s("beforeInit", () => {
6148        (n = w("span", e.params.a11y.notificationClass)),
6149          n.setAttribute("aria-live", "assertive"),
6150          n.setAttribute("aria-atomic", "true");
6151      }),
6152        s("afterInit", () => {
6153          e.params.a11y.enabled && I();
6154        }),
6155        s(
6156          "slidesLengthChange snapGridLengthChange slidesGridLengthChange",
6157          () => {
6158            e.params.a11y.enabled && L();
6159          }
6160        ),
6161        s("fromEdge toEdge afterInit lock unlock", () => {
6162          e.params.a11y.enabled &&
6163            (function () {
6164              if (e.params.loop || e.params.rewind || !e.navigation) return;
6165              const { nextEl: t, prevEl: s } = e.navigation;
6166              s && (e.isBeginning ? (h(s), c(s)) : (f(s), d(s))),
6167                t && (e.isEnd ? (h(t), c(t)) : (f(t), d(t)));
6168            })();
6169        }),
6170        s("paginationUpdate", () => {
6171          e.params.a11y.enabled &&
6172            (function () {
6173              const t = e.params.a11y;
6174              v() &&
6175                e.pagination.bullets.forEach((s) => {
6176                  e.params.pagination.clickable &&
6177                    (d(s),
6178                    e.params.pagination.renderBullet ||
6179                      (p(s, "button"),
6180                      m(
6181                        s,
6182                        t.paginationBulletMessage.replace(
6183                          /\{\{index\}\}/,
6184                          E(s) + 1
6185                        )
6186                      ))),
6187                    s.matches(de(e.params.pagination.bulletActiveClass))
6188                      ? s.setAttribute("aria-current", "true")
6189                      : s.removeAttribute("aria-current");
6190                });
6191            })();
6192        }),
6193        s("destroy", () => {
6194          e.params.a11y.enabled &&
6195            (function () {
6196              n && n.remove();
6197              let { nextEl: t, prevEl: s } = e.navigation ? e.navigation : {};
6198              (t = M(t)),
6199                (s = M(s)),
6200                t && t.forEach((e) => e.removeEventListener("keydown", g)),
6201                s && s.forEach((e) => e.removeEventListener("keydown", g)),
6202                b() &&
6203                  M(e.pagination.el).forEach((e) => {
6204                    e.removeEventListener("keydown", g);
6205                  });
6206              a().removeEventListener("visibilitychange", T),
6207                e.el &&
6208                  "string" != typeof e.el &&
6209                  (e.el.removeEventListener("focus", C, !0),
6210                  e.el.removeEventListener("pointerdown", x, !0),
6211                  e.el.removeEventListener("pointerup", S, !0));
6212            })();
6213        });
6214    },
6215    function ({ swiper: e, extendParams: t, on: s }) {
6216      t({
6217        history: {
6218          enabled: !1,
6219          root: "",
6220          replaceState: !1,
6221          key: "slides",
6222          keepQuery: !1,
6223        },
6224      });
6225      let a = !1,
6226        i = {};
6227      const n = (e) =>
6228          e
6229            .toString()
6230            .replace(/\s+/g, "-")
6231            .replace(/[^\w-]+/g, "")
6232            .replace(/--+/g, "-")
6233            .replace(/^-+/, "")
6234            .replace(/-+$/, ""),
6235        l = (e) => {
6236          const t = r();
6237          let s;
6238          s = e ? new URL(e) : t.location;
6239          const a = s.pathname
6240              .slice(1)
6241              .split("/")
6242              .filter((e) => "" !== e),
6243            i = a.length;
6244          return { key: a[i - 2], value: a[i - 1] };
6245        },
6246        o = (t, s) => {
6247          const i = r();
6248          if (!a || !e.params.history.enabled) return;
6249          let l;
6250          l = e.params.url ? new URL(e.params.url) : i.location;
6251          const o =
6252            e.virtual && e.params.virtual.enabled
6253              ? e.slidesEl.querySelector(`[data-swiper-slide-index="${s}"]`)
6254              : e.slides[s];
6255          let d = n(o.getAttribute("data-history"));
6256          if (e.params.history.root.length > 0) {
6257            let s = e.params.history.root;
6258            "/" === s[s.length - 1] && (s = s.slice(0, s.length - 1)),
6259              (d = `${s}/${t ? `${t}/` : ""}${d}`);
6260          } else l.pathname.includes(t) || (d = `${t ? `${t}/` : ""}${d}`);
6261          e.params.history.keepQuery && (d += l.search);
6262          const c = i.history.state;
6263          (c && c.value === d) ||
6264            (e.params.history.replaceState
6265              ? i.history.replaceState({ value: d }, null, d)
6266              : i.history.pushState({ value: d }, null, d));
6267        },
6268        d = (t, s, a) => {
6269          if (s)
6270            for (let i = 0, r = e.slides.length; i < r; i += 1) {
6271              const r = e.slides[i];
6272              if (n(r.getAttribute("data-history")) === s) {
6273                const s = e.getSlideIndex(r);
6274                e.slideTo(s, t, a);
6275              }
6276            }
6277          else e.slideTo(0, t, a);
6278        },
6279        c = () => {
6280          (i = l(e.params.url)), d(e.params.speed, i.value, !1);
6281        };
6282      s("init", () => {
6283        e.params.history.enabled &&
6284          (() => {
6285            const t = r();
6286            if (e.params.history) {
6287              if (!t.history || !t.history.pushState)
6288                return (
6289                  (e.params.history.enabled = !1),
6290                  void (e.params.hashNavigation.enabled = !0)
6291                );
6292              (a = !0),
6293                (i = l(e.params.url)),
6294                i.key || i.value
6295                  ? (d(0, i.value, e.params.runCallbacksOnInit),
6296                    e.params.history.replaceState ||
6297                      t.addEventListener("popstate", c))
6298                  : e.params.history.replaceState ||
6299                    t.addEventListener("popstate", c);
6300            }
6301          })();
6302      }),
6303        s("destroy", () => {
6304          e.params.history.enabled &&
6305            (() => {
6306              const t = r();
6307              e.params.history.replaceState ||
6308                t.removeEventListener("popstate", c);
6309            })();
6310        }),
6311        s("transitionEnd _freeModeNoMomentumRelease", () => {
6312          a && o(e.params.history.key, e.activeIndex);
6313        }),
6314        s("slideChange", () => {
6315          a && e.params.cssMode && o(e.params.history.key, e.activeIndex);
6316        });
6317    },
6318    function ({ swiper: e, extendParams: t, emit: s, on: i }) {
6319      let n = !1;
6320      const l = a(),
6321        o = r();
6322      t({
6323        hashNavigation: {
6324          enabled: !1,
6325          replaceState: !1,
6326          watchState: !1,
6327          getSlideIndex(t, s) {
6328            if (e.virtual && e.params.virtual.enabled) {
6329              const t = e.slides.find((e) => e.getAttribute("data-hash") === s);
6330              if (!t) return 0;
6331              return parseInt(t.getAttribute("data-swiper-slide-index"), 10);
6332            }
6333            return e.getSlideIndex(
6334              g(
6335                e.slidesEl,
6336                `.${e.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`
6337              )[0]
6338            );
6339          },
6340        },
6341      });
6342      const d = () => {
6343          s("hashChange");
6344          const t = l.location.hash.replace("#", ""),
6345            a =
6346              e.virtual && e.params.virtual.enabled
6347                ? e.slidesEl.querySelector(
6348                    `[data-swiper-slide-index="${e.activeIndex}"]`
6349                  )
6350                : e.slides[e.activeIndex];
6351          if (t !== (a ? a.getAttribute("data-hash") : "")) {
6352            const s = e.params.hashNavigation.getSlideIndex(e, t);
6353            if (void 0 === s || Number.isNaN(s)) return;
6354            e.slideTo(s);
6355          }
6356        },
6357        c = () => {
6358          if (!n || !e.params.hashNavigation.enabled) return;
6359          const t =
6360              e.virtual && e.params.virtual.enabled
6361                ? e.slidesEl.querySelector(
6362                    `[data-swiper-slide-index="${e.activeIndex}"]`
6363                  )
6364                : e.slides[e.activeIndex],
6365            a = t
6366              ? t.getAttribute("data-hash") || t.getAttribute("data-history")
6367              : "";
6368          e.params.hashNavigation.replaceState &&
6369          o.history &&
6370          o.history.replaceState
6371            ? (o.history.replaceState(null, null, `#${a}` || ""), s("hashSet"))
6372            : ((l.location.hash = a || ""), s("hashSet"));
6373        };
6374      i("init", () => {
6375        e.params.hashNavigation.enabled &&
6376          (() => {
6377            if (
6378              !e.params.hashNavigation.enabled ||
6379              (e.params.history && e.params.history.enabled)
6380            )
6381              return;
6382            n = !0;
6383            const t = l.location.hash.replace("#", "");
6384            if (t) {
6385              const s = 0,
6386                a = e.params.hashNavigation.getSlideIndex(e, t);
6387              e.slideTo(a || 0, s, e.params.runCallbacksOnInit, !0);
6388            }
6389            e.params.hashNavigation.watchState &&
6390              o.addEventListener("hashchange", d);
6391          })();
6392      }),
6393        i("destroy", () => {
6394          e.params.hashNavigation.enabled &&
6395            e.params.hashNavigation.watchState &&
6396            o.removeEventListener("hashchange", d);
6397        }),
6398        i("transitionEnd _freeModeNoMomentumRelease", () => {
6399          n && c();
6400        }),
6401        i("slideChange", () => {
6402          n && e.params.cssMode && c();
6403        });
6404    },
6405    function ({ swiper: e, extendParams: t, on: s, emit: i, params: r }) {
6406      let n, l;
6407      (e.autoplay = { running: !1, paused: !1, timeLeft: 0 }),
6408        t({
6409          autoplay: {
6410            enabled: !1,
6411            delay: 3e3,
6412            waitForTransition: !0,
6413            disableOnInteraction: !1,
6414            stopOnLastSlide: !1,
6415            reverseDirection: !1,
6416            pauseOnMouseEnter: !1,
6417          },
6418        });
6419      let o,
6420        d,
6421        c,
6422        p,
6423        u,
6424        m,
6425        h,
6426        f,
6427        g = r && r.autoplay ? r.autoplay.delay : 3e3,
6428        v = r && r.autoplay ? r.autoplay.delay : 3e3,
6429        w = new Date().getTime();
6430      function b(t) {
6431        e &&
6432          !e.destroyed &&
6433          e.wrapperEl &&
6434          t.target === e.wrapperEl &&
6435          (e.wrapperEl.removeEventListener("transitionend", b),
6436          f || (t.detail && t.detail.bySwiperTouchMove) || M());
6437      }
6438      const y = () => {
6439          if (e.destroyed || !e.autoplay.running) return;
6440          e.autoplay.paused ? (d = !0) : d && ((v = o), (d = !1));
6441          const t = e.autoplay.paused ? o : w + v - new Date().getTime();
6442          (e.autoplay.timeLeft = t),
6443            i("autoplayTimeLeft", t, t / g),
6444            (l = requestAnimationFrame(() => {
6445              y();
6446            }));
6447        },
6448        E = (t) => {
6449          if (e.destroyed || !e.autoplay.running) return;
6450          cancelAnimationFrame(l), y();
6451          let s = void 0 === t ? e.params.autoplay.delay : t;
6452          (g = e.params.autoplay.delay), (v = e.params.autoplay.delay);
6453          const a = (() => {
6454            let t;
6455            if (
6456              ((t =
6457                e.virtual && e.params.virtual.enabled
6458                  ? e.slides.find((e) =>
6459                      e.classList.contains("swiper-slide-active")
6460                    )
6461                  : e.slides[e.activeIndex]),
6462              !t)
6463            )
6464              return;
6465            return parseInt(t.getAttribute("data-swiper-autoplay"), 10);
6466          })();
6467          !Number.isNaN(a) &&
6468            a > 0 &&
6469            void 0 === t &&
6470            ((s = a), (g = a), (v = a)),
6471            (o = s);
6472          const r = e.params.speed,
6473            d = () => {
6474              e &&
6475                !e.destroyed &&
6476                (e.params.autoplay.reverseDirection
6477                  ? !e.isBeginning || e.params.loop || e.params.rewind
6478                    ? (e.slidePrev(r, !0, !0), i("autoplay"))
6479                    : e.params.autoplay.stopOnLastSlide ||
6480                      (e.slideTo(e.slides.length - 1, r, !0, !0), i("autoplay"))
6481                  : !e.isEnd || e.params.loop || e.params.rewind
6482                  ? (e.slideNext(r, !0, !0), i("autoplay"))
6483                  : e.params.autoplay.stopOnLastSlide ||
6484                    (e.slideTo(0, r, !0, !0), i("autoplay")),
6485                e.params.cssMode &&
6486                  ((w = new Date().getTime()),
6487                  requestAnimationFrame(() => {
6488                    E();
6489                  })));
6490            };
6491          return (
6492            s > 0
6493              ? (clearTimeout(n),
6494                (n = setTimeout(() => {
6495                  d();
6496                }, s)))
6497              : requestAnimationFrame(() => {
6498                  d();
6499                }),
6500            s
6501          );
6502        },
6503        x = () => {
6504          (w = new Date().getTime()),
6505            (e.autoplay.running = !0),
6506            E(),
6507            i("autoplayStart");
6508        },
6509        S = () => {
6510          (e.autoplay.running = !1),
6511            clearTimeout(n),
6512            cancelAnimationFrame(l),
6513            i("autoplayStop");
6514        },
6515        T = (t, s) => {
6516          if (e.destroyed || !e.autoplay.running) return;
6517          clearTimeout(n), t || (h = !0);
6518          const a = () => {
6519            i("autoplayPause"),
6520              e.params.autoplay.waitForTransition
6521                ? e.wrapperEl.addEventListener("transitionend", b)
6522                : M();
6523          };
6524          if (((e.autoplay.paused = !0), s))
6525            return m && (o = e.params.autoplay.delay), (m = !1), void a();
6526          const r = o || e.params.autoplay.delay;
6527          (o = r - (new Date().getTime() - w)),
6528            (e.isEnd && o < 0 && !e.params.loop) || (o < 0 && (o = 0), a());
6529        },
6530        M = () => {
6531          (e.isEnd && o < 0 && !e.params.loop) ||
6532            e.destroyed ||
6533            !e.autoplay.running ||
6534            ((w = new Date().getTime()),
6535            h ? ((h = !1), E(o)) : E(),
6536            (e.autoplay.paused = !1),
6537            i("autoplayResume"));
6538        },
6539        C = () => {
6540          if (e.destroyed || !e.autoplay.running) return;
6541          const t = a();
6542          "hidden" === t.visibilityState && ((h = !0), T(!0)),
6543            "visible" === t.visibilityState && M();
6544        },
6545        P = (t) => {
6546          "mouse" === t.pointerType &&
6547            ((h = !0), (f = !0), e.animating || e.autoplay.paused || T(!0));
6548        },
6549        L = (t) => {
6550          "mouse" === t.pointerType && ((f = !1), e.autoplay.paused && M());
6551        };
6552      s("init", () => {
6553        e.params.autoplay.enabled &&
6554          (e.params.autoplay.pauseOnMouseEnter &&
6555            (e.el.addEventListener("pointerenter", P),
6556            e.el.addEventListener("pointerleave", L)),
6557          a().addEventListener("visibilitychange", C),
6558          x());
6559      }),
6560        s("destroy", () => {
6561          e.el &&
6562            "string" != typeof e.el &&
6563            (e.el.removeEventListener("pointerenter", P),
6564            e.el.removeEventListener("pointerleave", L)),
6565            a().removeEventListener("visibilitychange", C),
6566            e.autoplay.running && S();
6567        }),
6568        s("_freeModeStaticRelease", () => {
6569          (p || h) && M();
6570        }),
6571        s("_freeModeNoMomentumRelease", () => {
6572          e.params.autoplay.disableOnInteraction ? S() : T(!0, !0);
6573        }),
6574        s("beforeTransitionStart", (t, s, a) => {
6575          !e.destroyed &&
6576            e.autoplay.running &&
6577            (a || !e.params.autoplay.disableOnInteraction ? T(!0, !0) : S());
6578        }),
6579        s("sliderFirstMove", () => {
6580          !e.destroyed &&
6581            e.autoplay.running &&
6582            (e.params.autoplay.disableOnInteraction
6583              ? S()
6584              : ((c = !0),
6585                (p = !1),
6586                (h = !1),
6587                (u = setTimeout(() => {
6588                  (h = !0), (p = !0), T(!0);
6589                }, 200))));
6590        }),
6591        s("touchEnd", () => {
6592          if (!e.destroyed && e.autoplay.running && c) {
6593            if (
6594              (clearTimeout(u),
6595              clearTimeout(n),
6596              e.params.autoplay.disableOnInteraction)
6597            )
6598              return (p = !1), void (c = !1);
6599            p && e.params.cssMode && M(), (p = !1), (c = !1);
6600          }
6601        }),
6602        s("slideChange", () => {
6603          !e.destroyed && e.autoplay.running && (m = !0);
6604        }),
6605        Object.assign(e.autoplay, { start: x, stop: S, pause: T, resume: M });
6606    },
6607    function ({ swiper: e, extendParams: t, on: s }) {
6608      t({
6609        thumbs: {
6610          swiper: null,
6611          multipleActiveThumbs: !0,
6612          autoScrollOffset: 0,
6613          slideThumbActiveClass: "swiper-slide-thumb-active",
6614          thumbsContainerClass: "swiper-thumbs",
6615        },
6616      });
6617      let i = !1,
6618        r = !1;
6619      function n() {
6620        const t = e.thumbs.swiper;
6621        if (!t || t.destroyed) return;
6622        const s = t.clickedIndex,
6623          a = t.clickedSlide;
6624        if (a && a.classList.contains(e.params.thumbs.slideThumbActiveClass))
6625          return;
6626        if (null == s) return;
6627        let i;
6628        (i = t.params.loop
6629          ? parseInt(t.clickedSlide.getAttribute("data-swiper-slide-index"), 10)
6630          : s),
6631          e.params.loop ? e.slideToLoop(i) : e.slideTo(i);
6632      }
6633      function l() {
6634        const { thumbs: t } = e.params;
6635        if (i) return !1;
6636        i = !0;
6637        const s = e.constructor;
6638        if (t.swiper instanceof s) {
6639          if (t.swiper.destroyed) return (i = !1), !1;
6640          (e.thumbs.swiper = t.swiper),
6641            Object.assign(e.thumbs.swiper.originalParams, {
6642              watchSlidesProgress: !0,
6643              slideToClickedSlide: !1,
6644            }),
6645            Object.assign(e.thumbs.swiper.params, {
6646              watchSlidesProgress: !0,
6647              slideToClickedSlide: !1,
6648            }),
6649            e.thumbs.swiper.update();
6650        } else if (c(t.swiper)) {
6651          const a = Object.assign({}, t.swiper);
6652          Object.assign(a, {
6653            watchSlidesProgress: !0,
6654            slideToClickedSlide: !1,
6655          }),
6656            (e.thumbs.swiper = new s(a)),
6657            (r = !0);
6658        }
6659        return (
6660          e.thumbs.swiper.el.classList.add(
6661            e.params.thumbs.thumbsContainerClass
6662          ),
6663          e.thumbs.swiper.on("tap", n),
6664          !0
6665        );
6666      }
6667      function o(t) {
6668        const s = e.thumbs.swiper;
6669        if (!s || s.destroyed) return;
6670        const a =
6671          "auto" === s.params.slidesPerView
6672            ? s.slidesPerViewDynamic()
6673            : s.params.slidesPerView;
6674        let i = 1;
6675        const r = e.params.thumbs.slideThumbActiveClass;
6676        if (
6677          (e.params.slidesPerView > 1 &&
6678            !e.params.centeredSlides &&
6679            (i = e.params.slidesPerView),
6680          e.params.thumbs.multipleActiveThumbs || (i = 1),
6681          (i = Math.floor(i)),
6682          s.slides.forEach((e) => e.classList.remove(r)),
6683          s.params.loop || (s.params.virtual && s.params.virtual.enabled))
6684        )
6685          for (let t = 0; t < i; t += 1)
6686            g(
6687              s.slidesEl,
6688              `[data-swiper-slide-index="${e.realIndex + t}"]`
6689            ).forEach((e) => {
6690              e.classList.add(r);
6691            });
6692        else
6693          for (let t = 0; t < i; t += 1)
6694            s.slides[e.realIndex + t] &&
6695              s.slides[e.realIndex + t].classList.add(r);
6696        const n = e.params.thumbs.autoScrollOffset,
6697          l = n && !s.params.loop;
6698        if (e.realIndex !== s.realIndex || l) {
6699          const i = s.activeIndex;
6700          let r, o;
6701          if (s.params.loop) {
6702            const t = s.slides.find(
6703              (t) =>
6704                t.getAttribute("data-swiper-slide-index") === `${e.realIndex}`
6705            );
6706            (r = s.slides.indexOf(t)),
6707              (o = e.activeIndex > e.previousIndex ? "next" : "prev");
6708          } else (r = e.realIndex), (o = r > e.previousIndex ? "next" : "prev");
6709          l && (r += "next" === o ? n : -1 * n),
6710            s.visibleSlidesIndexes &&
6711              s.visibleSlidesIndexes.indexOf(r) < 0 &&
6712              (s.params.centeredSlides
6713                ? (r =
6714                    r > i
6715                      ? r - Math.floor(a / 2) + 1
6716                      : r + Math.floor(a / 2) - 1)
6717                : r > i && s.params.slidesPerGroup,
6718              s.slideTo(r, t ? 0 : void 0));
6719        }
6720      }
6721      (e.thumbs = { swiper: null }),
6722        s("beforeInit", () => {
6723          const { thumbs: t } = e.params;
6724          if (t && t.swiper)
6725            if (
6726              "string" == typeof t.swiper ||
6727              t.swiper instanceof HTMLElement
6728            ) {
6729              const s = a(),
6730                i = () => {
6731                  const a =
6732                    "string" == typeof t.swiper
6733                      ? s.querySelector(t.swiper)
6734                      : t.swiper;
6735                  if (a && a.swiper) (t.swiper = a.swiper), l(), o(!0);
6736                  else if (a) {
6737                    const s = `${e.params.eventsPrefix}init`,
6738                      i = (r) => {
6739                        (t.swiper = r.detail[0]),
6740                          a.removeEventListener(s, i),
6741                          l(),
6742                          o(!0),
6743                          t.swiper.update(),
6744                          e.update();
6745                      };
6746                    a.addEventListener(s, i);
6747                  }
6748                  return a;
6749                },
6750                r = () => {
6751                  if (e.destroyed) return;
6752                  i() || requestAnimationFrame(r);
6753                };
6754              requestAnimationFrame(r);
6755            } else l(), o(!0);
6756        }),
6757        s("slideChange update resize observerUpdate", () => {
6758          o();
6759        }),
6760        s("setTransition", (t, s) => {
6761          const a = e.thumbs.swiper;
6762          a && !a.destroyed && a.setTransition(s);
6763        }),
6764        s("beforeDestroy", () => {
6765          const t = e.thumbs.swiper;
6766          t && !t.destroyed && r && t.destroy();
6767        }),
6768        Object.assign(e.thumbs, { init: l, update: o });
6769    },
6770    function ({ swiper: e, extendParams: t, emit: s, once: a }) {
6771      t({
6772        freeMode: {
6773          enabled: !1,
6774          momentum: !0,
6775          momentumRatio: 1,
6776          momentumBounce: !0,
6777          momentumBounceRatio: 1,
6778          momentumVelocityRatio: 1,
6779          sticky: !1,
6780          minimumVelocity: 0.02,
6781        },
6782      }),
6783        Object.assign(e, {
6784          freeMode: {
6785            onTouchStart: function () {
6786              if (e.params.cssMode) return;
6787              const t = e.getTranslate();
6788              e.setTranslate(t),
6789                e.setTransition(0),
6790                (e.touchEventsData.velocities.length = 0),
6791                e.freeMode.onTouchEnd({
6792                  currentPos: e.rtl ? e.translate : -e.translate,
6793                });
6794            },
6795            onTouchMove: function () {
6796              if (e.params.cssMode) return;
6797              const { touchEventsData: t, touches: s } = e;
6798              0 === t.velocities.length &&
6799                t.velocities.push({
6800                  position: s[e.isHorizontal() ? "startX" : "startY"],
6801                  time: t.touchStartTime,
6802                }),
6803                t.velocities.push({
6804                  position: s[e.isHorizontal() ? "currentX" : "currentY"],
6805                  time: o(),
6806                });
6807            },
6808            onTouchEnd: function ({ currentPos: t }) {
6809              if (e.params.cssMode) return;
6810              const {
6811                  params: i,
6812                  wrapperEl: r,
6813                  rtlTranslate: n,
6814                  snapGrid: l,
6815                  touchEventsData: d,
6816                } = e,
6817                c = o() - d.touchStartTime;
6818              if (t < -e.minTranslate()) e.slideTo(e.activeIndex);
6819              else if (t > -e.maxTranslate())
6820                e.slides.length < l.length
6821                  ? e.slideTo(l.length - 1)
6822                  : e.slideTo(e.slides.length - 1);
6823              else {
6824                if (i.freeMode.momentum) {
6825                  if (d.velocities.length > 1) {
6826                    const t = d.velocities.pop(),
6827                      s = d.velocities.pop(),
6828                      a = t.position - s.position,
6829                      r = t.time - s.time;
6830                    (e.velocity = a / r),
6831                      (e.velocity /= 2),
6832                      Math.abs(e.velocity) < i.freeMode.minimumVelocity &&
6833                        (e.velocity = 0),
6834                      (r > 150 || o() - t.time > 300) && (e.velocity = 0);
6835                  } else e.velocity = 0;
6836                  (e.velocity *= i.freeMode.momentumVelocityRatio),
6837                    (d.velocities.length = 0);
6838                  let t = 1e3 * i.freeMode.momentumRatio;
6839                  const c = e.velocity * t;
6840                  let p = e.translate + c;
6841                  n && (p = -p);
6842                  let u,
6843                    m = !1;
6844                  const h =
6845                    20 * Math.abs(e.velocity) * i.freeMode.momentumBounceRatio;
6846                  let f;
6847                  if (p < e.maxTranslate())
6848                    i.freeMode.momentumBounce
6849                      ? (p + e.maxTranslate() < -h &&
6850                          (p = e.maxTranslate() - h),
6851                        (u = e.maxTranslate()),
6852                        (m = !0),
6853                        (d.allowMomentumBounce = !0))
6854                      : (p = e.maxTranslate()),
6855                      i.loop && i.centeredSlides && (f = !0);
6856                  else if (p > e.minTranslate())
6857                    i.freeMode.momentumBounce
6858                      ? (p - e.minTranslate() > h && (p = e.minTranslate() + h),
6859                        (u = e.minTranslate()),
6860                        (m = !0),
6861                        (d.allowMomentumBounce = !0))
6862                      : (p = e.minTranslate()),
6863                      i.loop && i.centeredSlides && (f = !0);
6864                  else if (i.freeMode.sticky) {
6865                    let t;
6866                    for (let e = 0; e < l.length; e += 1)
6867                      if (l[e] > -p) {
6868                        t = e;
6869                        break;
6870                      }
6871                    (p =
6872                      Math.abs(l[t] - p) < Math.abs(l[t - 1] - p) ||
6873                      "next" === e.swipeDirection
6874                        ? l[t]
6875                        : l[t - 1]),
6876                      (p = -p);
6877                  }
6878                  if (
6879                    (f &&
6880                      a("transitionEnd", () => {
6881                        e.loopFix();
6882                      }),
6883                    0 !== e.velocity)
6884                  ) {
6885                    if (
6886                      ((t = n
6887                        ? Math.abs((-p - e.translate) / e.velocity)
6888                        : Math.abs((p - e.translate) / e.velocity)),
6889                      i.freeMode.sticky)
6890                    ) {
6891                      const s = Math.abs((n ? -p : p) - e.translate),
6892                        a = e.slidesSizesGrid[e.activeIndex];
6893                      t =
6894                        s < a
6895                          ? i.speed
6896                          : s < 2 * a
6897                          ? 1.5 * i.speed
6898                          : 2.5 * i.speed;
6899                    }
6900                  } else if (i.freeMode.sticky) return void e.slideToClosest();
6901                  i.freeMode.momentumBounce && m
6902                    ? (e.updateProgress(u),
6903                      e.setTransition(t),
6904                      e.setTranslate(p),
6905                      e.transitionStart(!0, e.swipeDirection),
6906                      (e.animating = !0),
6907                      S(r, () => {
6908                        e &&
6909                          !e.destroyed &&
6910                          d.allowMomentumBounce &&
6911                          (s("momentumBounce"),
6912                          e.setTransition(i.speed),
6913                          setTimeout(() => {
6914                            e.setTranslate(u),
6915                              S(r, () => {
6916                                e && !e.destroyed && e.transitionEnd();
6917                              });
6918                          }, 0));
6919                      }))
6920                    : e.velocity
6921                    ? (s("_freeModeNoMomentumRelease"),
6922                      e.updateProgress(p),
6923                      e.setTransition(t),
6924                      e.setTranslate(p),
6925                      e.transitionStart(!0, e.swipeDirection),
6926                      e.animating ||
6927                        ((e.animating = !0),
6928                        S(r, () => {
6929                          e && !e.destroyed && e.transitionEnd();
6930                        })))
6931                    : e.updateProgress(p),
6932                    e.updateActiveIndex(),
6933                    e.updateSlidesClasses();
6934                } else {
6935                  if (i.freeMode.sticky) return void e.slideToClosest();
6936                  i.freeMode && s("_freeModeNoMomentumRelease");
6937                }
6938                (!i.freeMode.momentum || c >= i.longSwipesMs) &&
6939                  (s("_freeModeStaticRelease"),
6940                  e.updateProgress(),
6941                  e.updateActiveIndex(),
6942                  e.updateSlidesClasses());
6943              }
6944            },
6945          },
6946        });
6947    },
6948    function ({ swiper: e, extendParams: t, on: s }) {
6949      let a, i, r, n;
6950      t({ grid: { rows: 1, fill: "column" } });
6951      const l = () => {
6952        let t = e.params.spaceBetween;
6953        return (
6954          "string" == typeof t && t.indexOf("%") >= 0
6955            ? (t = (parseFloat(t.replace("%", "")) / 100) * e.size)
6956            : "string" == typeof t && (t = parseFloat(t)),
6957          t
6958        );
6959      };
6960      s("init", () => {
6961        n = e.params.grid && e.params.grid.rows > 1;
6962      }),
6963        s("update", () => {
6964          const { params: t, el: s } = e,
6965            a = t.grid && t.grid.rows > 1;
6966          n && !a
6967            ? (s.classList.remove(
6968                `${t.containerModifierClass}grid`,
6969                `${t.containerModifierClass}grid-column`
6970              ),
6971              (r = 1),
6972              e.emitContainerClasses())
6973            : !n &&
6974              a &&
6975              (s.classList.add(`${t.containerModifierClass}grid`),
6976              "column" === t.grid.fill &&
6977                s.classList.add(`${t.containerModifierClass}grid-column`),
6978              e.emitContainerClasses()),
6979            (n = a);
6980        }),
6981        (e.grid = {
6982          initSlides: (t) => {
6983            const { slidesPerView: s } = e.params,
6984              { rows: n, fill: l } = e.params.grid,
6985              o =
6986                e.virtual && e.params.virtual.enabled
6987                  ? e.virtual.slides.length
6988                  : t.length;
6989            (r = Math.floor(o / n)),
6990              (a = Math.floor(o / n) === o / n ? o : Math.ceil(o / n) * n),
6991              "auto" !== s && "row" === l && (a = Math.max(a, s * n)),
6992              (i = a / n);
6993          },
6994          unsetSlides: () => {
6995            e.slides &&
6996              e.slides.forEach((t) => {
6997                t.swiperSlideGridSet &&
6998                  ((t.style.height = ""),
6999                  (t.style[e.getDirectionLabel("margin-top")] = ""));
7000              });
7001          },
7002          updateSlide: (t, s, n) => {
7003            const { slidesPerGroup: o } = e.params,
7004              d = l(),
7005              { rows: c, fill: p } = e.params.grid,
7006              u =
7007                e.virtual && e.params.virtual.enabled
7008                  ? e.virtual.slides.length
7009                  : n.length;
7010            let m, h, f;
7011            if ("row" === p && o > 1) {
7012              const e = Math.floor(t / (o * c)),
7013                i = t - c * o * e,
7014                r = 0 === e ? o : Math.min(Math.ceil((u - e * c * o) / c), o);
7015              (f = Math.floor(i / r)),
7016                (h = i - f * r + e * o),
7017                (m = h + (f * a) / c),
7018                (s.style.order = m);
7019            } else
7020              "column" === p
7021                ? ((h = Math.floor(t / c)),
7022                  (f = t - h * c),
7023                  (h > r || (h === r && f === c - 1)) &&
7024                    ((f += 1), f >= c && ((f = 0), (h += 1))))
7025                : ((f = Math.floor(t / i)), (h = t - f * i));
7026            (s.row = f),
7027              (s.column = h),
7028              (s.style.height = `calc((100% - ${(c - 1) * d}px) / ${c})`),
7029              (s.style[e.getDirectionLabel("margin-top")] =
7030                0 !== f ? d && `${d}px` : ""),
7031              (s.swiperSlideGridSet = !0);
7032          },
7033          updateWrapperSize: (t, s) => {
7034            const { centeredSlides: i, roundLengths: r } = e.params,
7035              n = l(),
7036              { rows: o } = e.params.grid;
7037            if (
7038              ((e.virtualSize = (t + n) * a),
7039              (e.virtualSize = Math.ceil(e.virtualSize / o) - n),
7040              e.params.cssMode ||
7041                (e.wrapperEl.style[e.getDirectionLabel("width")] = `${
7042                  e.virtualSize + n
7043                }px`),
7044              i)
7045            ) {
7046              const t = [];
7047              for (let a = 0; a < s.length; a += 1) {
7048                let i = s[a];
7049                r && (i = Math.floor(i)),
7050                  s[a] < e.virtualSize + s[0] && t.push(i);
7051              }
7052              s.splice(0, s.length), s.push(...t);
7053            }
7054          },
7055        });
7056    },
7057    function ({ swiper: e }) {
7058      Object.assign(e, {
7059        appendSlide: ce.bind(e),
7060        prependSlide: pe.bind(e),
7061        addSlide: ue.bind(e),
7062        removeSlide: me.bind(e),
7063        removeAllSlides: he.bind(e),
7064      });
7065    },
7066    function ({ swiper: e, extendParams: t, on: s }) {
7067      t({ fadeEffect: { crossFade: !1 } }),
7068        fe({
7069          effect: "fade",
7070          swiper: e,
7071          on: s,
7072          setTranslate: () => {
7073            const { slides: t } = e;
7074            e.params.fadeEffect;
7075            for (let s = 0; s < t.length; s += 1) {
7076              const t = e.slides[s];
7077              let a = -t.swiperSlideOffset;
7078              e.params.virtualTranslate || (a -= e.translate);
7079              let i = 0;
7080              e.isHorizontal() || ((i = a), (a = 0));
7081              const r = e.params.fadeEffect.crossFade
7082                  ? Math.max(1 - Math.abs(t.progress), 0)
7083                  : 1 + Math.min(Math.max(t.progress, -1), 0),
7084                n = ge(0, t);
7085              (n.style.opacity = r),
7086                (n.style.transform = `translate3d(${a}px, ${i}px, 0px)`);
7087            }
7088          },
7089          setTransition: (t) => {
7090            const s = e.slides.map((e) => f(e));
7091            s.forEach((e) => {
7092              e.style.transitionDuration = `${t}ms`;
7093            }),
7094              ve({
7095                swiper: e,
7096                duration: t,
7097                transformElements: s,
7098                allSlides: !0,
7099              });
7100          },
7101          overwriteParams: () => ({
7102            slidesPerView: 1,
7103            slidesPerGroup: 1,
7104            watchSlidesProgress: !0,
7105            spaceBetween: 0,
7106            virtualTranslate: !e.params.cssMode,
7107          }),
7108        });
7109    },
7110    function ({ swiper: e, extendParams: t, on: s }) {
7111      t({
7112        cubeEffect: {
7113          slideShadows: !0,
7114          shadow: !0,
7115          shadowOffset: 20,
7116          shadowScale: 0.94,
7117        },
7118      });
7119      const a = (e, t, s) => {
7120        let a = s
7121            ? e.querySelector(".swiper-slide-shadow-left")
7122            : e.querySelector(".swiper-slide-shadow-top"),
7123          i = s
7124            ? e.querySelector(".swiper-slide-shadow-right")
7125            : e.querySelector(".swiper-slide-shadow-bottom");
7126        a ||
7127          ((a = w(
7128            "div",
7129            (
7130              "swiper-slide-shadow-cube swiper-slide-shadow-" +
7131              (s ? "left" : "top")
7132            ).split(" ")
7133          )),
7134          e.append(a)),
7135          i ||
7136            ((i = w(
7137              "div",
7138              (
7139                "swiper-slide-shadow-cube swiper-slide-shadow-" +
7140                (s ? "right" : "bottom")
7141              ).split(" ")
7142            )),
7143            e.append(i)),
7144          a && (a.style.opacity = Math.max(-t, 0)),
7145          i && (i.style.opacity = Math.max(t, 0));
7146      };
7147      fe({
7148        effect: "cube",
7149        swiper: e,
7150        on: s,
7151        setTranslate: () => {
7152          const {
7153              el: t,
7154              wrapperEl: s,
7155              slides: i,
7156              width: r,
7157              height: n,
7158              rtlTranslate: l,
7159              size: o,
7160              browser: d,
7161            } = e,
7162            c = C(e),
7163            p = e.params.cubeEffect,
7164            u = e.isHorizontal(),
7165            m = e.virtual && e.params.virtual.enabled;
7166          let h,
7167            f = 0;
7168          p.shadow &&
7169            (u
7170              ? ((h = e.wrapperEl.querySelector(".swiper-cube-shadow")),
7171                h ||
7172                  ((h = w("div", "swiper-cube-shadow")), e.wrapperEl.append(h)),
7173                (h.style.height = `${r}px`))
7174              : ((h = t.querySelector(".swiper-cube-shadow")),
7175                h || ((h = w("div", "swiper-cube-shadow")), t.append(h))));
7176          for (let e = 0; e < i.length; e += 1) {
7177            const t = i[e];
7178            let s = e;
7179            m && (s = parseInt(t.getAttribute("data-swiper-slide-index"), 10));
7180            let r = 90 * s,
7181              n = Math.floor(r / 360);
7182            l && ((r = -r), (n = Math.floor(-r / 360)));
7183            const d = Math.max(Math.min(t.progress, 1), -1);
7184            let h = 0,
7185              g = 0,
7186              v = 0;
7187            s % 4 == 0
7188              ? ((h = 4 * -n * o), (v = 0))
7189              : (s - 1) % 4 == 0
7190              ? ((h = 0), (v = 4 * -n * o))
7191              : (s - 2) % 4 == 0
7192              ? ((h = o + 4 * n * o), (v = o))
7193              : (s - 3) % 4 == 0 && ((h = -o), (v = 3 * o + 4 * o * n)),
7194              l && (h = -h),
7195              u || ((g = h), (h = 0));
7196            const w = `rotateX(${c(u ? 0 : -r)}deg) rotateY(${c(
7197              u ? r : 0
7198            )}deg) translate3d(${h}px, ${g}px, ${v}px)`;
7199            d <= 1 &&
7200              d > -1 &&
7201              ((f = 90 * s + 90 * d), l && (f = 90 * -s - 90 * d)),
7202              (t.style.transform = w),
7203              p.slideShadows && a(t, d, u);
7204          }
7205          if (
7206            ((s.style.transformOrigin = `50% 50% -${o / 2}px`),
7207            (s.style["-webkit-transform-origin"] = `50% 50% -${o / 2}px`),
7208            p.shadow)
7209          )
7210            if (u)
7211              h.style.transform = `translate3d(0px, ${
7212                r / 2 + p.shadowOffset
7213              }px, ${-r / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${
7214                p.shadowScale
7215              })`;
7216            else {
7217              const e = Math.abs(f) - 90 * Math.floor(Math.abs(f) / 90),
7218                t =
7219                  1.5 -
7220                  (Math.sin((2 * e * Math.PI) / 360) / 2 +
7221                    Math.cos((2 * e * Math.PI) / 360) / 2),
7222                s = p.shadowScale,
7223                a = p.shadowScale / t,
7224                i = p.shadowOffset;
7225              h.style.transform = `scale3d(${s}, 1, ${a}) translate3d(0px, ${
7226                n / 2 + i
7227              }px, ${-n / 2 / a}px) rotateX(-89.99deg)`;
7228            }
7229          const g =
7230            (d.isSafari || d.isWebView) && d.needPerspectiveFix ? -o / 2 : 0;
7231          (s.style.transform = `translate3d(0px,0,${g}px) rotateX(${c(
7232            e.isHorizontal() ? 0 : f
7233          )}deg) rotateY(${c(e.isHorizontal() ? -f : 0)}deg)`),
7234            s.style.setProperty("--swiper-cube-translate-z", `${g}px`);
7235        },
7236        setTransition: (t) => {
7237          const { el: s, slides: a } = e;
7238          if (
7239            (a.forEach((e) => {
7240              (e.style.transitionDuration = `${t}ms`),
7241                e
7242                  .querySelectorAll(
7243                    ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
7244                  )
7245                  .forEach((e) => {
7246                    e.style.transitionDuration = `${t}ms`;
7247                  });
7248            }),
7249            e.params.cubeEffect.shadow && !e.isHorizontal())
7250          ) {
7251            const e = s.querySelector(".swiper-cube-shadow");
7252            e && (e.style.transitionDuration = `${t}ms`);
7253          }
7254        },
7255        recreateShadows: () => {
7256          const t = e.isHorizontal();
7257          e.slides.forEach((e) => {
7258            const s = Math.max(Math.min(e.progress, 1), -1);
7259            a(e, s, t);
7260          });
7261        },
7262        getEffectParams: () => e.params.cubeEffect,
7263        perspective: () => !0,
7264        overwriteParams: () => ({
7265          slidesPerView: 1,
7266          slidesPerGroup: 1,
7267          watchSlidesProgress: !0,
7268          resistanceRatio: 0,
7269          spaceBetween: 0,
7270          centeredSlides: !1,
7271          virtualTranslate: !0,
7272        }),
7273      });
7274    },
7275    function ({ swiper: e, extendParams: t, on: s }) {
7276      t({ flipEffect: { slideShadows: !0, limitRotation: !0 } });
7277      const a = (t, s) => {
7278        let a = e.isHorizontal()
7279            ? t.querySelector(".swiper-slide-shadow-left")
7280            : t.querySelector(".swiper-slide-shadow-top"),
7281          i = e.isHorizontal()
7282            ? t.querySelector(".swiper-slide-shadow-right")
7283            : t.querySelector(".swiper-slide-shadow-bottom");
7284        a || (a = we("flip", t, e.isHorizontal() ? "left" : "top")),
7285          i || (i = we("flip", t, e.isHorizontal() ? "right" : "bottom")),
7286          a && (a.style.opacity = Math.max(-s, 0)),
7287          i && (i.style.opacity = Math.max(s, 0));
7288      };
7289      fe({
7290        effect: "flip",
7291        swiper: e,
7292        on: s,
7293        setTranslate: () => {
7294          const { slides: t, rtlTranslate: s } = e,
7295            i = e.params.flipEffect,
7296            r = C(e);
7297          for (let n = 0; n < t.length; n += 1) {
7298            const l = t[n];
7299            let o = l.progress;
7300            e.params.flipEffect.limitRotation &&
7301              (o = Math.max(Math.min(l.progress, 1), -1));
7302            const d = l.swiperSlideOffset;
7303            let c = -180 * o,
7304              p = 0,
7305              u = e.params.cssMode ? -d - e.translate : -d,
7306              m = 0;
7307            e.isHorizontal()
7308              ? s && (c = -c)
7309              : ((m = u), (u = 0), (p = -c), (c = 0)),
7310              (l.style.zIndex = -Math.abs(Math.round(o)) + t.length),
7311              i.slideShadows && a(l, o);
7312            const h = `translate3d(${u}px, ${m}px, 0px) rotateX(${r(
7313              p
7314            )}deg) rotateY(${r(c)}deg)`;
7315            ge(0, l).style.transform = h;
7316          }
7317        },
7318        setTransition: (t) => {
7319          const s = e.slides.map((e) => f(e));
7320          s.forEach((e) => {
7321            (e.style.transitionDuration = `${t}ms`),
7322              e
7323                .querySelectorAll(
7324                  ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
7325                )
7326                .forEach((e) => {
7327                  e.style.transitionDuration = `${t}ms`;
7328                });
7329          }),
7330            ve({ swiper: e, duration: t, transformElements: s });
7331        },
7332        recreateShadows: () => {
7333          e.params.flipEffect,
7334            e.slides.forEach((t) => {
7335              let s = t.progress;
7336              e.params.flipEffect.limitRotation &&
7337                (s = Math.max(Math.min(t.progress, 1), -1)),
7338                a(t, s);
7339            });
7340        },
7341        getEffectParams: () => e.params.flipEffect,
7342        perspective: () => !0,
7343        overwriteParams: () => ({
7344          slidesPerView: 1,
7345          slidesPerGroup: 1,
7346          watchSlidesProgress: !0,
7347          spaceBetween: 0,
7348          virtualTranslate: !e.params.cssMode,
7349        }),
7350      });
7351    },
7352    function ({ swiper: e, extendParams: t, on: s }) {
7353      t({
7354        coverflowEffect: {
7355          rotate: 50,
7356          stretch: 0,
7357          depth: 100,
7358          scale: 1,
7359          modifier: 1,
7360          slideShadows: !0,
7361        },
7362      }),
7363        fe({
7364          effect: "coverflow",
7365          swiper: e,
7366          on: s,
7367          setTranslate: () => {
7368            const { width: t, height: s, slides: a, slidesSizesGrid: i } = e,
7369              r = e.params.coverflowEffect,
7370              n = e.isHorizontal(),
7371              l = e.translate,
7372              o = n ? t / 2 - l : s / 2 - l,
7373              d = n ? r.rotate : -r.rotate,
7374              c = r.depth,
7375              p = C(e);
7376            for (let e = 0, t = a.length; e < t; e += 1) {
7377              const t = a[e],
7378                s = i[e],
7379                l = (o - t.swiperSlideOffset - s / 2) / s,
7380                u =
7381                  "function" == typeof r.modifier
7382                    ? r.modifier(l)
7383                    : l * r.modifier;
7384              let m = n ? d * u : 0,
7385                h = n ? 0 : d * u,
7386                f = -c * Math.abs(u),
7387                g = r.stretch;
7388              "string" == typeof g &&
7389                -1 !== g.indexOf("%") &&
7390                (g = (parseFloat(r.stretch) / 100) * s);
7391              let v = n ? 0 : g * u,
7392                w = n ? g * u : 0,
7393                b = 1 - (1 - r.scale) * Math.abs(u);
7394              Math.abs(w) < 0.001 && (w = 0),
7395                Math.abs(v) < 0.001 && (v = 0),
7396                Math.abs(f) < 0.001 && (f = 0),
7397                Math.abs(m) < 0.001 && (m = 0),
7398                Math.abs(h) < 0.001 && (h = 0),
7399                Math.abs(b) < 0.001 && (b = 0);
7400              const y = `translate3d(${w}px,${v}px,${f}px)  rotateX(${p(
7401                h
7402              )}deg) rotateY(${p(m)}deg) scale(${b})`;
7403              if (
7404                ((ge(0, t).style.transform = y),
7405                (t.style.zIndex = 1 - Math.abs(Math.round(u))),
7406                r.slideShadows)
7407              ) {
7408                let e = n
7409                    ? t.querySelector(".swiper-slide-shadow-left")
7410                    : t.querySelector(".swiper-slide-shadow-top"),
7411                  s = n
7412                    ? t.querySelector(".swiper-slide-shadow-right")
7413                    : t.querySelector(".swiper-slide-shadow-bottom");
7414                e || (e = we("coverflow", t, n ? "left" : "top")),
7415                  s || (s = we("coverflow", t, n ? "right" : "bottom")),
7416                  e && (e.style.opacity = u > 0 ? u : 0),
7417                  s && (s.style.opacity = -u > 0 ? -u : 0);
7418              }
7419            }
7420          },
7421          setTransition: (t) => {
7422            e.slides
7423              .map((e) => f(e))
7424              .forEach((e) => {
7425                (e.style.transitionDuration = `${t}ms`),
7426                  e
7427                    .querySelectorAll(
7428                      ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
7429                    )
7430                    .forEach((e) => {
7431                      e.style.transitionDuration = `${t}ms`;
7432                    });
7433              });
7434          },
7435          perspective: () => !0,
7436          overwriteParams: () => ({ watchSlidesProgress: !0 }),
7437        });
7438    },
7439    function ({ swiper: e, extendParams: t, on: s }) {
7440      t({
7441        creativeEffect: {
7442          limitProgress: 1,
7443          shadowPerProgress: !1,
7444          progressMultiplier: 1,
7445          perspective: !0,
7446          prev: {
7447            translate: [0, 0, 0],
7448            rotate: [0, 0, 0],
7449            opacity: 1,
7450            scale: 1,
7451          },
7452          next: {
7453            translate: [0, 0, 0],
7454            rotate: [0, 0, 0],
7455            opacity: 1,
7456            scale: 1,
7457          },
7458        },
7459      });
7460      const a = (e) => ("string" == typeof e ? e : `${e}px`);
7461      fe({
7462        effect: "creative",
7463        swiper: e,
7464        on: s,
7465        setTranslate: () => {
7466          const { slides: t, wrapperEl: s, slidesSizesGrid: i } = e,
7467            r = e.params.creativeEffect,
7468            { progressMultiplier: n } = r,
7469            l = e.params.centeredSlides,
7470            o = C(e);
7471          if (l) {
7472            const t = i[0] / 2 - e.params.slidesOffsetBefore || 0;
7473            s.style.transform = `translateX(calc(50% - ${t}px))`;
7474          }
7475          for (let s = 0; s < t.length; s += 1) {
7476            const i = t[s],
7477              d = i.progress,
7478              c = Math.min(
7479                Math.max(i.progress, -r.limitProgress),
7480                r.limitProgress
7481              );
7482            let p = c;
7483            l ||
7484              (p = Math.min(
7485                Math.max(i.originalProgress, -r.limitProgress),
7486                r.limitProgress
7487              ));
7488            const u = i.swiperSlideOffset,
7489              m = [e.params.cssMode ? -u - e.translate : -u, 0, 0],
7490              h = [0, 0, 0];
7491            let f = !1;
7492            e.isHorizontal() || ((m[1] = m[0]), (m[0] = 0));
7493            let g = {
7494              translate: [0, 0, 0],
7495              rotate: [0, 0, 0],
7496              scale: 1,
7497              opacity: 1,
7498            };
7499            c < 0
7500              ? ((g = r.next), (f = !0))
7501              : c > 0 && ((g = r.prev), (f = !0)),
7502              m.forEach((e, t) => {
7503                m[t] = `calc(${e}px + (${a(g.translate[t])} * ${Math.abs(
7504                  c * n
7505                )}))`;
7506              }),
7507              h.forEach((e, t) => {
7508                let s = g.rotate[t] * Math.abs(c * n);
7509                h[t] = s;
7510              }),
7511              (i.style.zIndex = -Math.abs(Math.round(d)) + t.length);
7512            const v = m.join(", "),
7513              w = `rotateX(${o(h[0])}deg) rotateY(${o(h[1])}deg) rotateZ(${o(
7514                h[2]
7515              )}deg)`,
7516              b =
7517                p < 0
7518                  ? `scale(${1 + (1 - g.scale) * p * n})`
7519                  : `scale(${1 - (1 - g.scale) * p * n})`,
7520              y =
7521                p < 0
7522                  ? 1 + (1 - g.opacity) * p * n
7523                  : 1 - (1 - g.opacity) * p * n,
7524              E = `translate3d(${v}) ${w} ${b}`;
7525            if ((f && g.shadow) || !f) {
7526              let e = i.querySelector(".swiper-slide-shadow");
7527              if ((!e && g.shadow && (e = we("creative", i)), e)) {
7528                const t = r.shadowPerProgress ? c * (1 / r.limitProgress) : c;
7529                e.style.opacity = Math.min(Math.max(Math.abs(t), 0), 1);
7530              }
7531            }
7532            const x = ge(0, i);
7533            (x.style.transform = E),
7534              (x.style.opacity = y),
7535              g.origin && (x.style.transformOrigin = g.origin);
7536          }
7537        },
7538        setTransition: (t) => {
7539          const s = e.slides.map((e) => f(e));
7540          s.forEach((e) => {
7541            (e.style.transitionDuration = `${t}ms`),
7542              e.querySelectorAll(".swiper-slide-shadow").forEach((e) => {
7543                e.style.transitionDuration = `${t}ms`;
7544              });
7545          }),
7546            ve({ swiper: e, duration: t, transformElements: s, allSlides: !0 });
7547        },
7548        perspective: () => e.params.creativeEffect.perspective,
7549        overwriteParams: () => ({
7550          watchSlidesProgress: !0,
7551          virtualTranslate: !e.params.cssMode,
7552        }),
7553      });
7554    },
7555    function ({ swiper: e, extendParams: t, on: s }) {
7556      t({
7557        cardsEffect: {
7558          slideShadows: !0,
7559          rotate: !0,
7560          perSlideRotate: 2,
7561          perSlideOffset: 8,
7562        },
7563      }),
7564        fe({
7565          effect: "cards",
7566          swiper: e,
7567          on: s,
7568          setTranslate: () => {
7569            const { slides: t, activeIndex: s, rtlTranslate: a } = e,
7570              i = e.params.cardsEffect,
7571              { startTranslate: r, isTouched: n } = e.touchEventsData,
7572              l = a ? -e.translate : e.translate;
7573            for (let o = 0; o < t.length; o += 1) {
7574              const d = t[o],
7575                c = d.progress,
7576                p = Math.min(Math.max(c, -4), 4);
7577              let u = d.swiperSlideOffset;
7578              e.params.centeredSlides &&
7579                !e.params.cssMode &&
7580                (e.wrapperEl.style.transform = `translateX(${e.minTranslate()}px)`),
7581                e.params.centeredSlides &&
7582                  e.params.cssMode &&
7583                  (u -= t[0].swiperSlideOffset);
7584              let m = e.params.cssMode ? -u - e.translate : -u,
7585                h = 0;
7586              const f = -100 * Math.abs(p);
7587              let g = 1,
7588                v = -i.perSlideRotate * p,
7589                w = i.perSlideOffset - 0.75 * Math.abs(p);
7590              const b =
7591                  e.virtual && e.params.virtual.enabled
7592                    ? e.virtual.from + o
7593                    : o,
7594                y =
7595                  (b === s || b === s - 1) &&
7596                  p > 0 &&
7597                  p < 1 &&
7598                  (n || e.params.cssMode) &&
7599                  l < r,
7600                E =
7601                  (b === s || b === s + 1) &&
7602                  p < 0 &&
7603                  p > -1 &&
7604                  (n || e.params.cssMode) &&
7605                  l > r;
7606              if (y || E) {
7607                const t = (1 - Math.abs((Math.abs(p) - 0.5) / 0.5)) ** 0.5;
7608                (v += -28 * p * t),
7609                  (g += -0.5 * t),
7610                  (w += 96 * t),
7611                  (h =
7612                    (i.rotate || e.isHorizontal() ? -25 : 0) * t * Math.abs(p) +
7613                    "%");
7614              }
7615              if (
7616                ((m =
7617                  p < 0
7618                    ? `calc(${m}px ${a ? "-" : "+"} (${w * Math.abs(p)}%))`
7619                    : p > 0
7620                    ? `calc(${m}px ${a ? "-" : "+"} (-${w * Math.abs(p)}%))`
7621                    : `${m}px`),
7622                !e.isHorizontal())
7623              ) {
7624                const e = h;
7625                (h = m), (m = e);
7626              }
7627              const x = p < 0 ? "" + (1 + (1 - g) * p) : "" + (1 - (1 - g) * p),
7628                S = `\n        translate3d(${m}, ${h}, ${f}px)\n        rotateZ(${
7629                  i.rotate ? (a ? -v : v) : 0
7630                }deg)\n        scale(${x})\n      `;
7631              if (i.slideShadows) {
7632                let e = d.querySelector(".swiper-slide-shadow");
7633                e || (e = we("cards", d)),
7634                  e &&
7635                    (e.style.opacity = Math.min(
7636                      Math.max((Math.abs(p) - 0.5) / 0.5, 0),
7637                      1
7638                    ));
7639              }
7640              d.style.zIndex = -Math.abs(Math.round(c)) + t.length;
7641              ge(0, d).style.transform = S;
7642            }
7643          },
7644          setTransition: (t) => {
7645            const s = e.slides.map((e) => f(e));
7646            s.forEach((e) => {
7647              (e.style.transitionDuration = `${t}ms`),
7648                e.querySelectorAll(".swiper-slide-shadow").forEach((e) => {
7649                  e.style.transitionDuration = `${t}ms`;
7650                });
7651            }),
7652              ve({ swiper: e, duration: t, transformElements: s });
7653          },
7654          perspective: () => !0,
7655          overwriteParams: () => ({
7656            _loopSwapReset: !1,
7657            watchSlidesProgress: !0,
7658            loopAdditionalSlides: e.params.cardsEffect.rotate ? 3 : 2,
7659            centeredSlides: !0,
7660            virtualTranslate: !e.params.cssMode,
7661          }),
7662        });
7663    },
7664  ];
7665  return ne.use(be), ne;
7666})();
7667//# sourceMappingURL=swiper-bundle.min.js.map

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.