PageSourceSearch

https://alyans-auto.ru/aa/js/swiper-bundle.min.js

js alyans-auto.ru collected 2026-09-24 10:21:41 UTC 253,526 bytes, 7,420 lines download raw bytes

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