Current Path : /home/sudancam/public_html/wp-content/plugins/wp-tiktok-feed/assets/frontend/swiper/ |
Current File : /home/sudancam/public_html/wp-content/plugins/wp-tiktok-feed/assets/frontend/swiper/swiper.min.js |
/** * Swiper 5.3.8 * Most modern mobile touch slider and framework with hardware accelerated transitions * http://swiperjs.com * * Copyright 2014-2020 Vladimir Kharlampidi * * Released under the MIT License * * Released on: April 24, 2020 */ !(function (e, t) { 'object' == typeof exports && 'undefined' != typeof module ? (module.exports = t()) : 'function' == typeof define && define.amd ? define(t) : ((e = e || self).Swiper = t()); })(this, function () { 'use strict'; var e = 'undefined' == typeof document ? { body: {}, addEventListener: function () {}, removeEventListener: function () {}, activeElement: { blur: function () {}, nodeName: '' }, querySelector: function () { return null; }, querySelectorAll: function () { return []; }, getElementById: function () { return null; }, createEvent: function () { return { initEvent: function () {} }; }, createElement: function () { return { children: [], childNodes: [], style: {}, setAttribute: function () {}, getElementsByTagName: function () { return []; }, }; }, location: { hash: '' }, } : document, t = 'undefined' == typeof window ? { document: e, navigator: { userAgent: '' }, location: {}, history: {}, CustomEvent: function () { return this; }, addEventListener: function () {}, removeEventListener: function () {}, getComputedStyle: function () { return { getPropertyValue: function () { return ''; }, }; }, Image: function () {}, Date: function () {}, screen: {}, setTimeout: function () {}, clearTimeout: function () {}, } : window, i = function (e) { for (var t = 0; t < e.length; t += 1) this[t] = e[t]; return (this.length = e.length), this; }; function s(s, a) { var r = [], n = 0; if (s && !a && s instanceof i) return s; if (s) if ('string' == typeof s) { var o, l, d = s.trim(); if (d.indexOf('<') >= 0 && d.indexOf('>') >= 0) { var h = 'div'; for ( 0 === d.indexOf('<li') && (h = 'ul'), 0 === d.indexOf('<tr') && (h = 'tbody'), (0 !== d.indexOf('<td') && 0 !== d.indexOf('<th')) || (h = 'tr'), 0 === d.indexOf('<tbody') && (h = 'table'), 0 === d.indexOf('<option') && (h = 'select'), (l = e.createElement(h)).innerHTML = d, n = 0; n < l.childNodes.length; n += 1 ) r.push(l.childNodes[n]); } else for ( o = a || '#' !== s[0] || s.match(/[ .<>:~]/) ? (a || e).querySelectorAll(s.trim()) : [e.getElementById(s.trim().split('#')[1])], n = 0; n < o.length; n += 1 ) o[n] && r.push(o[n]); } else if (s.nodeType || s === t || s === e) r.push(s); else if (s.length > 0 && s[0].nodeType) for (n = 0; n < s.length; n += 1) r.push(s[n]); return new i(r); } function a(e) { for (var t = [], i = 0; i < e.length; i += 1) -1 === t.indexOf(e[i]) && t.push(e[i]); return t; } (s.fn = i.prototype), (s.Class = i), (s.Dom7 = i); var r = { addClass: function (e) { if (void 0 === e) return this; for (var t = e.split(' '), i = 0; i < t.length; i += 1) for (var s = 0; s < this.length; s += 1) void 0 !== this[s] && void 0 !== this[s].classList && this[s].classList.add(t[i]); return this; }, removeClass: function (e) { for (var t = e.split(' '), i = 0; i < t.length; i += 1) for (var s = 0; s < this.length; s += 1) void 0 !== this[s] && void 0 !== this[s].classList && this[s].classList.remove(t[i]); return this; }, hasClass: function (e) { return !!this[0] && this[0].classList.contains(e); }, toggleClass: function (e) { for (var t = e.split(' '), i = 0; i < t.length; i += 1) for (var s = 0; s < this.length; s += 1) void 0 !== this[s] && void 0 !== this[s].classList && this[s].classList.toggle(t[i]); return this; }, attr: function (e, t) { var i = arguments; if (1 === arguments.length && 'string' == typeof e) return this[0] ? this[0].getAttribute(e) : void 0; for (var s = 0; s < this.length; s += 1) if (2 === i.length) this[s].setAttribute(e, t); else for (var a in e) (this[s][a] = e[a]), this[s].setAttribute(a, e[a]); return this; }, removeAttr: function (e) { for (var t = 0; t < this.length; t += 1) this[t].removeAttribute(e); return this; }, data: function (e, t) { var i; if (void 0 !== t) { for (var s = 0; s < this.length; s += 1) (i = this[s]).dom7ElementDataStorage || (i.dom7ElementDataStorage = {}), (i.dom7ElementDataStorage[e] = t); return this; } if ((i = this[0])) { if (i.dom7ElementDataStorage && e in i.dom7ElementDataStorage) return i.dom7ElementDataStorage[e]; var a = i.getAttribute('data-' + e); return a || void 0; } }, transform: function (e) { for (var t = 0; t < this.length; t += 1) { var i = this[t].style; (i.webkitTransform = e), (i.transform = e); } return this; }, transition: function (e) { 'string' != typeof e && (e += 'ms'); for (var t = 0; t < this.length; t += 1) { var i = this[t].style; (i.webkitTransitionDuration = e), (i.transitionDuration = e); } return this; }, on: function () { for (var e, t = [], i = arguments.length; i--; ) t[i] = arguments[i]; var a = t[0], r = t[1], n = t[2], o = t[3]; function l(e) { var t = e.target; if (t) { var i = e.target.dom7EventData || []; if ((i.indexOf(e) < 0 && i.unshift(e), s(t).is(r))) n.apply(t, i); else for ( var a = s(t).parents(), o = 0; o < a.length; o += 1 ) s(a[o]).is(r) && n.apply(a[o], i); } } function d(e) { var t = (e && e.target && e.target.dom7EventData) || []; t.indexOf(e) < 0 && t.unshift(e), n.apply(this, t); } 'function' == typeof t[1] && ((a = (e = t)[0]), (n = e[1]), (o = e[2]), (r = void 0)), o || (o = !1); for (var h, p = a.split(' '), c = 0; c < this.length; c += 1) { var u = this[c]; if (r) for (h = 0; h < p.length; h += 1) { var v = p[h]; u.dom7LiveListeners || (u.dom7LiveListeners = {}), u.dom7LiveListeners[v] || (u.dom7LiveListeners[v] = []), u.dom7LiveListeners[v].push({ listener: n, proxyListener: l, }), u.addEventListener(v, l, o); } else for (h = 0; h < p.length; h += 1) { var f = p[h]; u.dom7Listeners || (u.dom7Listeners = {}), u.dom7Listeners[f] || (u.dom7Listeners[f] = []), u.dom7Listeners[f].push({ listener: n, proxyListener: d, }), u.addEventListener(f, d, o); } } return this; }, off: function () { for (var e, t = [], i = arguments.length; i--; ) t[i] = arguments[i]; var s = t[0], a = t[1], r = t[2], n = t[3]; 'function' == typeof t[1] && ((s = (e = t)[0]), (r = e[1]), (n = e[2]), (a = void 0)), n || (n = !1); for (var o = s.split(' '), l = 0; l < o.length; l += 1) for (var d = o[l], h = 0; h < this.length; h += 1) { var p = this[h], c = void 0; if ( (!a && p.dom7Listeners ? (c = p.dom7Listeners[d]) : a && p.dom7LiveListeners && (c = p.dom7LiveListeners[d]), c && c.length) ) for (var u = c.length - 1; u >= 0; u -= 1) { var v = c[u]; (r && v.listener === r) || (r && v.listener && v.listener.dom7proxy && v.listener.dom7proxy === r) ? (p.removeEventListener(d, v.proxyListener, n), c.splice(u, 1)) : r || (p.removeEventListener(d, v.proxyListener, n), c.splice(u, 1)); } } return this; }, trigger: function () { for (var i = [], s = arguments.length; s--; ) i[s] = arguments[s]; for (var a = i[0].split(' '), r = i[1], n = 0; n < a.length; n += 1) for (var o = a[n], l = 0; l < this.length; l += 1) { var d = this[l], h = void 0; try { h = new t.CustomEvent(o, { detail: r, bubbles: !0, cancelable: !0, }); } catch (t) { (h = e.createEvent('Event')).initEvent(o, !0, !0), (h.detail = r); } (d.dom7EventData = i.filter(function (e, t) { return t > 0; })), d.dispatchEvent(h), (d.dom7EventData = []), delete d.dom7EventData; } return this; }, transitionEnd: function (e) { var t, i = ['webkitTransitionEnd', 'transitionend'], s = this; function a(r) { if (r.target === this) for (e.call(this, r), t = 0; t < i.length; t += 1) s.off(i[t], a); } if (e) for (t = 0; t < i.length; t += 1) s.on(i[t], a); return this; }, outerWidth: function (e) { if (this.length > 0) { if (e) { var t = this.styles(); return ( this[0].offsetWidth + parseFloat(t.getPropertyValue('margin-right')) + parseFloat(t.getPropertyValue('margin-left')) ); } return this[0].offsetWidth; } return null; }, outerHeight: function (e) { if (this.length > 0) { if (e) { var t = this.styles(); return ( this[0].offsetHeight + parseFloat(t.getPropertyValue('margin-top')) + parseFloat(t.getPropertyValue('margin-bottom')) ); } return this[0].offsetHeight; } return null; }, offset: function () { if (this.length > 0) { var i = this[0], s = i.getBoundingClientRect(), a = e.body, r = i.clientTop || a.clientTop || 0, n = i.clientLeft || a.clientLeft || 0, o = i === t ? t.scrollY : i.scrollTop, l = i === t ? t.scrollX : i.scrollLeft; return { top: s.top + o - r, left: s.left + l - n }; } return null; }, css: function (e, i) { var s; if (1 === arguments.length) { if ('string' != typeof e) { for (s = 0; s < this.length; s += 1) for (var a in e) this[s].style[a] = e[a]; return this; } if (this[0]) return t .getComputedStyle(this[0], null) .getPropertyValue(e); } if (2 === arguments.length && 'string' == typeof e) { for (s = 0; s < this.length; s += 1) this[s].style[e] = i; return this; } return this; }, each: function (e) { if (!e) return this; for (var t = 0; t < this.length; t += 1) if (!1 === e.call(this[t], t, this[t])) return this; return this; }, html: function (e) { if (void 0 === e) return this[0] ? this[0].innerHTML : void 0; for (var t = 0; t < this.length; t += 1) this[t].innerHTML = e; return this; }, text: function (e) { if (void 0 === e) return this[0] ? this[0].textContent.trim() : null; for (var t = 0; t < this.length; t += 1) this[t].textContent = e; return this; }, is: function (a) { var r, n, o = this[0]; if (!o || void 0 === a) return !1; if ('string' == typeof a) { if (o.matches) return o.matches(a); if (o.webkitMatchesSelector) return o.webkitMatchesSelector(a); if (o.msMatchesSelector) return o.msMatchesSelector(a); for (r = s(a), n = 0; n < r.length; n += 1) if (r[n] === o) return !0; return !1; } if (a === e) return o === e; if (a === t) return o === t; if (a.nodeType || a instanceof i) { for (r = a.nodeType ? [a] : a, n = 0; n < r.length; n += 1) if (r[n] === o) return !0; return !1; } return !1; }, index: function () { var e, t = this[0]; if (t) { for (e = 0; null !== (t = t.previousSibling); ) 1 === t.nodeType && (e += 1); return e; } }, eq: function (e) { if (void 0 === e) return this; var t, s = this.length; return new i( e > s - 1 ? [] : e < 0 ? (t = s + e) < 0 ? [] : [this[t]] : [this[e]] ); }, append: function () { for (var t, s = [], a = arguments.length; a--; ) s[a] = arguments[a]; for (var r = 0; r < s.length; r += 1) { t = s[r]; for (var n = 0; n < this.length; n += 1) if ('string' == typeof t) { var o = e.createElement('div'); for (o.innerHTML = t; o.firstChild; ) this[n].appendChild(o.firstChild); } else if (t instanceof i) for (var l = 0; l < t.length; l += 1) this[n].appendChild(t[l]); else this[n].appendChild(t); } return this; }, prepend: function (t) { var s, a; for (s = 0; s < this.length; s += 1) if ('string' == typeof t) { var r = e.createElement('div'); for ( r.innerHTML = t, a = r.childNodes.length - 1; a >= 0; a -= 1 ) this[s].insertBefore( r.childNodes[a], this[s].childNodes[0] ); } else if (t instanceof i) for (a = 0; a < t.length; a += 1) this[s].insertBefore(t[a], this[s].childNodes[0]); else this[s].insertBefore(t, this[s].childNodes[0]); return this; }, next: function (e) { return this.length > 0 ? e ? this[0].nextElementSibling && s(this[0].nextElementSibling).is(e) ? new i([this[0].nextElementSibling]) : new i([]) : this[0].nextElementSibling ? new i([this[0].nextElementSibling]) : new i([]) : new i([]); }, nextAll: function (e) { var t = [], a = this[0]; if (!a) return new i([]); for (; a.nextElementSibling; ) { var r = a.nextElementSibling; e ? s(r).is(e) && t.push(r) : t.push(r), (a = r); } return new i(t); }, prev: function (e) { if (this.length > 0) { var t = this[0]; return e ? t.previousElementSibling && s(t.previousElementSibling).is(e) ? new i([t.previousElementSibling]) : new i([]) : t.previousElementSibling ? new i([t.previousElementSibling]) : new i([]); } return new i([]); }, prevAll: function (e) { var t = [], a = this[0]; if (!a) return new i([]); for (; a.previousElementSibling; ) { var r = a.previousElementSibling; e ? s(r).is(e) && t.push(r) : t.push(r), (a = r); } return new i(t); }, parent: function (e) { for (var t = [], i = 0; i < this.length; i += 1) null !== this[i].parentNode && (e ? s(this[i].parentNode).is(e) && t.push(this[i].parentNode) : t.push(this[i].parentNode)); return s(a(t)); }, parents: function (e) { for (var t = [], i = 0; i < this.length; i += 1) for (var r = this[i].parentNode; r; ) e ? s(r).is(e) && t.push(r) : t.push(r), (r = r.parentNode); return s(a(t)); }, closest: function (e) { var t = this; return void 0 === e ? new i([]) : (t.is(e) || (t = t.parents(e).eq(0)), t); }, find: function (e) { for (var t = [], s = 0; s < this.length; s += 1) for ( var a = this[s].querySelectorAll(e), r = 0; r < a.length; r += 1 ) t.push(a[r]); return new i(t); }, children: function (e) { for (var t = [], r = 0; r < this.length; r += 1) for (var n = this[r].childNodes, o = 0; o < n.length; o += 1) e ? 1 === n[o].nodeType && s(n[o]).is(e) && t.push(n[o]) : 1 === n[o].nodeType && t.push(n[o]); return new i(a(t)); }, filter: function (e) { for (var t = [], s = 0; s < this.length; s += 1) e.call(this[s], s, this[s]) && t.push(this[s]); return new i(t); }, remove: function () { for (var e = 0; e < this.length; e += 1) this[e].parentNode && this[e].parentNode.removeChild(this[e]); return this; }, add: function () { for (var e = [], t = arguments.length; t--; ) e[t] = arguments[t]; var i, a, r = this; for (i = 0; i < e.length; i += 1) { var n = s(e[i]); for (a = 0; a < n.length; a += 1) (r[r.length] = n[a]), (r.length += 1); } return r; }, styles: function () { return this[0] ? t.getComputedStyle(this[0], null) : {}; }, }; Object.keys(r).forEach(function (e) { s.fn[e] = s.fn[e] || r[e]; }); var n = { deleteProps: function (e) { var t = e; Object.keys(t).forEach(function (e) { try { t[e] = null; } catch (e) {} try { delete t[e]; } catch (e) {} }); }, nextTick: function (e, t) { return void 0 === t && (t = 0), setTimeout(e, t); }, now: function () { return Date.now(); }, getTranslate: function (e, i) { var s, a, r; void 0 === i && (i = 'x'); var n = t.getComputedStyle(e, null); return ( t.WebKitCSSMatrix ? ((a = n.transform || n.webkitTransform).split(',') .length > 6 && (a = a .split(', ') .map(function (e) { return e.replace(',', '.'); }) .join(', ')), (r = new t.WebKitCSSMatrix('none' === a ? '' : a))) : (s = (r = n.MozTransform || n.OTransform || n.MsTransform || n.msTransform || n.transform || n .getPropertyValue('transform') .replace( 'translate(', 'matrix(1, 0, 0, 1,' )) .toString() .split(',')), 'x' === i && (a = t.WebKitCSSMatrix ? r.m41 : 16 === s.length ? parseFloat(s[12]) : parseFloat(s[4])), 'y' === i && (a = t.WebKitCSSMatrix ? r.m42 : 16 === s.length ? parseFloat(s[13]) : parseFloat(s[5])), a || 0 ); }, parseUrlQuery: function (e) { var i, s, a, r, n = {}, o = e || t.location.href; if ('string' == typeof o && o.length) for ( r = (s = (o = o.indexOf('?') > -1 ? o.replace(/\S*\?/, '') : '') .split('&') .filter(function (e) { return '' !== e; })).length, i = 0; i < r; i += 1 ) (a = s[i].replace(/#\S+/g, '').split('=')), (n[decodeURIComponent(a[0])] = void 0 === a[1] ? void 0 : decodeURIComponent(a[1]) || ''); return n; }, isObject: function (e) { return ( 'object' == typeof e && null !== e && e.constructor && e.constructor === Object ); }, extend: function () { for (var e = [], t = arguments.length; t--; ) e[t] = arguments[t]; for (var i = Object(e[0]), s = 1; s < e.length; s += 1) { var a = e[s]; if (null != a) for ( var r = Object.keys(Object(a)), o = 0, l = r.length; o < l; o += 1 ) { var d = r[o], h = Object.getOwnPropertyDescriptor(a, d); void 0 !== h && h.enumerable && (n.isObject(i[d]) && n.isObject(a[d]) ? n.extend(i[d], a[d]) : !n.isObject(i[d]) && n.isObject(a[d]) ? ((i[d] = {}), n.extend(i[d], a[d])) : (i[d] = a[d])); } } return i; }, }, o = { touch: (t.Modernizr && !0 === t.Modernizr.touch) || !!( t.navigator.maxTouchPoints > 0 || 'ontouchstart' in t || (t.DocumentTouch && e instanceof t.DocumentTouch) ), pointerEvents: !!t.PointerEvent && 'maxTouchPoints' in t.navigator && t.navigator.maxTouchPoints > 0, observer: 'MutationObserver' in t || 'WebkitMutationObserver' in t, passiveListener: (function () { var e = !1; try { var i = Object.defineProperty({}, 'passive', { get: function () { e = !0; }, }); t.addEventListener('testPassiveListener', null, i); } catch (e) {} return e; })(), gestures: 'ongesturestart' in t, }, l = function (e) { void 0 === e && (e = {}); var t = this; (t.params = e), (t.eventsListeners = {}), t.params && t.params.on && Object.keys(t.params.on).forEach(function (e) { t.on(e, t.params.on[e]); }); }, d = { components: { configurable: !0 } }; (l.prototype.on = function (e, t, i) { var s = this; if ('function' != typeof t) return s; var a = i ? 'unshift' : 'push'; return ( e.split(' ').forEach(function (e) { s.eventsListeners[e] || (s.eventsListeners[e] = []), s.eventsListeners[e][a](t); }), s ); }), (l.prototype.once = function (e, t, i) { var s = this; if ('function' != typeof t) return s; function a() { for (var i = [], r = arguments.length; r--; ) i[r] = arguments[r]; s.off(e, a), a.f7proxy && delete a.f7proxy, t.apply(s, i); } return (a.f7proxy = t), s.on(e, a, i); }), (l.prototype.off = function (e, t) { var i = this; return i.eventsListeners ? (e.split(' ').forEach(function (e) { void 0 === t ? (i.eventsListeners[e] = []) : i.eventsListeners[e] && i.eventsListeners[e].length && i.eventsListeners[e].forEach(function (s, a) { (s === t || (s.f7proxy && s.f7proxy === t)) && i.eventsListeners[e].splice(a, 1); }); }), i) : i; }), (l.prototype.emit = function () { for (var e = [], t = arguments.length; t--; ) e[t] = arguments[t]; var i, s, a, r = this; if (!r.eventsListeners) return r; 'string' == typeof e[0] || Array.isArray(e[0]) ? ((i = e[0]), (s = e.slice(1, e.length)), (a = r)) : ((i = e[0].events), (s = e[0].data), (a = e[0].context || r)); var n = Array.isArray(i) ? i : i.split(' '); return ( n.forEach(function (e) { if (r.eventsListeners && r.eventsListeners[e]) { var t = []; r.eventsListeners[e].forEach(function (e) { t.push(e); }), t.forEach(function (e) { e.apply(a, s); }); } }), r ); }), (l.prototype.useModulesParams = function (e) { var t = this; t.modules && Object.keys(t.modules).forEach(function (i) { var s = t.modules[i]; s.params && n.extend(e, s.params); }); }), (l.prototype.useModules = function (e) { void 0 === e && (e = {}); var t = this; t.modules && Object.keys(t.modules).forEach(function (i) { var s = t.modules[i], a = e[i] || {}; s.instance && Object.keys(s.instance).forEach(function (e) { var i = s.instance[e]; t[e] = 'function' == typeof i ? i.bind(t) : i; }), s.on && t.on && Object.keys(s.on).forEach(function (e) { t.on(e, s.on[e]); }), s.create && s.create.bind(t)(a); }); }), (d.components.set = function (e) { this.use && this.use(e); }), (l.installModule = function (e) { for (var t = [], i = arguments.length - 1; i-- > 0; ) t[i] = arguments[i + 1]; var s = this; s.prototype.modules || (s.prototype.modules = {}); var a = e.name || Object.keys(s.prototype.modules).length + '_' + n.now(); return ( (s.prototype.modules[a] = e), e.proto && Object.keys(e.proto).forEach(function (t) { s.prototype[t] = e.proto[t]; }), e.static && Object.keys(e.static).forEach(function (t) { s[t] = e.static[t]; }), e.install && e.install.apply(s, t), s ); }), (l.use = function (e) { for (var t = [], i = arguments.length - 1; i-- > 0; ) t[i] = arguments[i + 1]; var s = this; return Array.isArray(e) ? (e.forEach(function (e) { return s.installModule(e); }), s) : s.installModule.apply(s, [e].concat(t)); }), Object.defineProperties(l, d); var h = { updateSize: function () { var e, t, i = this.$el; (e = void 0 !== this.params.width ? this.params.width : i[0].clientWidth), (t = void 0 !== this.params.height ? this.params.height : i[0].clientHeight), (0 === e && this.isHorizontal()) || (0 === t && this.isVertical()) || ((e = e - parseInt(i.css('padding-left'), 10) - parseInt(i.css('padding-right'), 10)), (t = t - parseInt(i.css('padding-top'), 10) - parseInt(i.css('padding-bottom'), 10)), n.extend(this, { width: e, height: t, size: this.isHorizontal() ? e : t, })); }, updateSlides: function () { var e = this.params, i = this.$wrapperEl, s = this.size, a = this.rtlTranslate, r = this.wrongRTL, o = this.virtual && e.virtual.enabled, l = o ? this.virtual.slides.length : this.slides.length, d = i.children('.' + this.params.slideClass), h = o ? this.virtual.slides.length : d.length, p = [], c = [], u = []; function v(t) { return !e.cssMode || t !== d.length - 1; } var f = e.slidesOffsetBefore; 'function' == typeof f && (f = e.slidesOffsetBefore.call(this)); var m = e.slidesOffsetAfter; 'function' == typeof m && (m = e.slidesOffsetAfter.call(this)); var g = this.snapGrid.length, b = this.snapGrid.length, w = e.spaceBetween, y = -f, x = 0, T = 0; if (void 0 !== s) { var E, S; 'string' == typeof w && w.indexOf('%') >= 0 && (w = (parseFloat(w.replace('%', '')) / 100) * s), (this.virtualSize = -w), a ? d.css({ marginLeft: '', marginTop: '' }) : d.css({ marginRight: '', marginBottom: '' }), e.slidesPerColumn > 1 && ((E = Math.floor(h / e.slidesPerColumn) === h / this.params.slidesPerColumn ? h : Math.ceil(h / e.slidesPerColumn) * e.slidesPerColumn), 'auto' !== e.slidesPerView && 'row' === e.slidesPerColumnFill && (E = Math.max( E, e.slidesPerView * e.slidesPerColumn ))); for ( var C, M = e.slidesPerColumn, P = E / M, z = Math.floor(h / e.slidesPerColumn), k = 0; k < h; k += 1 ) { S = 0; var $ = d.eq(k); if (e.slidesPerColumn > 1) { var L = void 0, I = void 0, D = void 0; if ( 'row' === e.slidesPerColumnFill && e.slidesPerGroup > 1 ) { var O = Math.floor( k / (e.slidesPerGroup * e.slidesPerColumn) ), A = k - e.slidesPerColumn * e.slidesPerGroup * O, G = 0 === O ? e.slidesPerGroup : Math.min( Math.ceil( (h - O * M * e.slidesPerGroup) / M ), e.slidesPerGroup ); (L = (I = A - (D = Math.floor(A / G)) * G + O * e.slidesPerGroup) + (D * E) / M), $.css({ '-webkit-box-ordinal-group': L, '-moz-box-ordinal-group': L, '-ms-flex-order': L, '-webkit-order': L, order: L, }); } else 'column' === e.slidesPerColumnFill ? ((D = k - (I = Math.floor(k / M)) * M), (I > z || (I === z && D === M - 1)) && (D += 1) >= M && ((D = 0), (I += 1))) : (I = k - (D = Math.floor(k / P)) * P); $.css( 'margin-' + (this.isHorizontal() ? 'top' : 'left'), 0 !== D && e.spaceBetween && e.spaceBetween + 'px' ); } if ('none' !== $.css('display')) { if ('auto' === e.slidesPerView) { var H = t.getComputedStyle($[0], null), B = $[0].style.transform, N = $[0].style.webkitTransform; if ( (B && ($[0].style.transform = 'none'), N && ($[0].style.webkitTransform = 'none'), e.roundLengths) ) S = this.isHorizontal() ? $.outerWidth(!0) : $.outerHeight(!0); else if (this.isHorizontal()) { var X = parseFloat(H.getPropertyValue('width')), V = parseFloat( H.getPropertyValue('padding-left') ), Y = parseFloat( H.getPropertyValue('padding-right') ), F = parseFloat( H.getPropertyValue('margin-left') ), W = parseFloat( H.getPropertyValue('margin-right') ), R = H.getPropertyValue('box-sizing'); S = R && 'border-box' === R ? X + F + W : X + V + Y + F + W; } else { var q = parseFloat( H.getPropertyValue('height') ), j = parseFloat( H.getPropertyValue('padding-top') ), K = parseFloat( H.getPropertyValue('padding-bottom') ), U = parseFloat( H.getPropertyValue('margin-top') ), _ = parseFloat( H.getPropertyValue('margin-bottom') ), Z = H.getPropertyValue('box-sizing'); S = Z && 'border-box' === Z ? q + U + _ : q + j + K + U + _; } B && ($[0].style.transform = B), N && ($[0].style.webkitTransform = N), e.roundLengths && (S = Math.floor(S)); } else (S = (s - (e.slidesPerView - 1) * w) / e.slidesPerView), e.roundLengths && (S = Math.floor(S)), d[k] && (this.isHorizontal() ? (d[k].style.width = S + 'px') : (d[k].style.height = S + 'px')); d[k] && (d[k].swiperSlideSize = S), u.push(S), e.centeredSlides ? ((y = y + S / 2 + x / 2 + w), 0 === x && 0 !== k && (y = y - s / 2 - w), 0 === k && (y = y - s / 2 - w), Math.abs(y) < 0.001 && (y = 0), e.roundLengths && (y = Math.floor(y)), T % e.slidesPerGroup == 0 && p.push(y), c.push(y)) : (e.roundLengths && (y = Math.floor(y)), (T - Math.min( this.params.slidesPerGroupSkip, T )) % this.params.slidesPerGroup == 0 && p.push(y), c.push(y), (y = y + S + w)), (this.virtualSize += S + w), (x = S), (T += 1); } } if ( ((this.virtualSize = Math.max(this.virtualSize, s) + m), a && r && ('slide' === e.effect || 'coverflow' === e.effect) && i.css({ width: this.virtualSize + e.spaceBetween + 'px', }), e.setWrapperSize && (this.isHorizontal() ? i.css({ width: this.virtualSize + e.spaceBetween + 'px', }) : i.css({ height: this.virtualSize + e.spaceBetween + 'px', })), e.slidesPerColumn > 1 && ((this.virtualSize = (S + e.spaceBetween) * E), (this.virtualSize = Math.ceil(this.virtualSize / e.slidesPerColumn) - e.spaceBetween), this.isHorizontal() ? i.css({ width: this.virtualSize + e.spaceBetween + 'px', }) : i.css({ height: this.virtualSize + e.spaceBetween + 'px', }), e.centeredSlides)) ) { C = []; for (var Q = 0; Q < p.length; Q += 1) { var J = p[Q]; e.roundLengths && (J = Math.floor(J)), p[Q] < this.virtualSize + p[0] && C.push(J); } p = C; } if (!e.centeredSlides) { C = []; for (var ee = 0; ee < p.length; ee += 1) { var te = p[ee]; e.roundLengths && (te = Math.floor(te)), p[ee] <= this.virtualSize - s && C.push(te); } (p = C), Math.floor(this.virtualSize - s) - Math.floor(p[p.length - 1]) > 1 && p.push(this.virtualSize - s); } if ( (0 === p.length && (p = [0]), 0 !== e.spaceBetween && (this.isHorizontal() ? a ? d.filter(v).css({ marginLeft: w + 'px' }) : d.filter(v).css({ marginRight: w + 'px' }) : d.filter(v).css({ marginBottom: w + 'px' })), e.centeredSlides && e.centeredSlidesBounds) ) { var ie = 0; u.forEach(function (t) { ie += t + (e.spaceBetween ? e.spaceBetween : 0); }); var se = (ie -= e.spaceBetween) - s; p = p.map(function (e) { return e < 0 ? -f : e > se ? se + m : e; }); } if (e.centerInsufficientSlides) { var ae = 0; if ( (u.forEach(function (t) { ae += t + (e.spaceBetween ? e.spaceBetween : 0); }), (ae -= e.spaceBetween) < s) ) { var re = (s - ae) / 2; p.forEach(function (e, t) { p[t] = e - re; }), c.forEach(function (e, t) { c[t] = e + re; }); } } n.extend(this, { slides: d, snapGrid: p, slidesGrid: c, slidesSizesGrid: u, }), h !== l && this.emit('slidesLengthChange'), p.length !== g && (this.params.watchOverflow && this.checkOverflow(), this.emit('snapGridLengthChange')), c.length !== b && this.emit('slidesGridLengthChange'), (e.watchSlidesProgress || e.watchSlidesVisibility) && this.updateSlidesOffset(); } }, updateAutoHeight: function (e) { var t, i = [], s = 0; if ( ('number' == typeof e ? this.setTransition(e) : !0 === e && this.setTransition(this.params.speed), 'auto' !== this.params.slidesPerView && this.params.slidesPerView > 1) ) if (this.params.centeredSlides) this.visibleSlides.each(function (e, t) { i.push(t); }); else for ( t = 0; t < Math.ceil(this.params.slidesPerView); t += 1 ) { var a = this.activeIndex + t; if (a > this.slides.length) break; i.push(this.slides.eq(a)[0]); } else i.push(this.slides.eq(this.activeIndex)[0]); for (t = 0; t < i.length; t += 1) if (void 0 !== i[t]) { var r = i[t].offsetHeight; s = r > s ? r : s; } s && this.$wrapperEl.css('height', s + 'px'); }, updateSlidesOffset: function () { for (var e = this.slides, t = 0; t < e.length; t += 1) e[t].swiperSlideOffset = this.isHorizontal() ? e[t].offsetLeft : e[t].offsetTop; }, updateSlidesProgress: function (e) { void 0 === e && (e = (this && this.translate) || 0); var t = this.params, i = this.slides, a = this.rtlTranslate; if (0 !== i.length) { void 0 === i[0].swiperSlideOffset && this.updateSlidesOffset(); var r = -e; a && (r = e), i.removeClass(t.slideVisibleClass), (this.visibleSlidesIndexes = []), (this.visibleSlides = []); for (var n = 0; n < i.length; n += 1) { var o = i[n], l = (r + (t.centeredSlides ? this.minTranslate() : 0) - o.swiperSlideOffset) / (o.swiperSlideSize + t.spaceBetween); if ( t.watchSlidesVisibility || (t.centeredSlides && t.autoHeight) ) { var d = -(r - o.swiperSlideOffset), h = d + this.slidesSizesGrid[n]; ((d >= 0 && d < this.size - 1) || (h > 1 && h <= this.size) || (d <= 0 && h >= this.size)) && (this.visibleSlides.push(o), this.visibleSlidesIndexes.push(n), i.eq(n).addClass(t.slideVisibleClass)); } o.progress = a ? -l : l; } this.visibleSlides = s(this.visibleSlides); } }, updateProgress: function (e) { if (void 0 === e) { var t = this.rtlTranslate ? -1 : 1; e = (this && this.translate && this.translate * t) || 0; } var i = this.params, s = this.maxTranslate() - this.minTranslate(), a = this.progress, r = this.isBeginning, o = this.isEnd, l = r, d = o; 0 === s ? ((a = 0), (r = !0), (o = !0)) : ((r = (a = (e - this.minTranslate()) / s) <= 0), (o = a >= 1)), n.extend(this, { progress: a, isBeginning: r, isEnd: o }), (i.watchSlidesProgress || i.watchSlidesVisibility || (i.centeredSlides && i.autoHeight)) && this.updateSlidesProgress(e), r && !l && this.emit('reachBeginning toEdge'), o && !d && this.emit('reachEnd toEdge'), ((l && !r) || (d && !o)) && this.emit('fromEdge'), this.emit('progress', a); }, updateSlidesClasses: function () { var e, t = this.slides, i = this.params, s = this.$wrapperEl, a = this.activeIndex, r = this.realIndex, n = this.virtual && i.virtual.enabled; t.removeClass( i.slideActiveClass + ' ' + i.slideNextClass + ' ' + i.slidePrevClass + ' ' + i.slideDuplicateActiveClass + ' ' + i.slideDuplicateNextClass + ' ' + i.slideDuplicatePrevClass ), (e = n ? this.$wrapperEl.find( '.' + i.slideClass + '[data-swiper-slide-index="' + a + '"]' ) : t.eq(a)).addClass(i.slideActiveClass), i.loop && (e.hasClass(i.slideDuplicateClass) ? s .children( '.' + i.slideClass + ':not(.' + i.slideDuplicateClass + ')[data-swiper-slide-index="' + r + '"]' ) .addClass(i.slideDuplicateActiveClass) : s .children( '.' + i.slideClass + '.' + i.slideDuplicateClass + '[data-swiper-slide-index="' + r + '"]' ) .addClass(i.slideDuplicateActiveClass)); var o = e .nextAll('.' + i.slideClass) .eq(0) .addClass(i.slideNextClass); i.loop && 0 === o.length && (o = t.eq(0)).addClass(i.slideNextClass); var l = e .prevAll('.' + i.slideClass) .eq(0) .addClass(i.slidePrevClass); i.loop && 0 === l.length && (l = t.eq(-1)).addClass(i.slidePrevClass), i.loop && (o.hasClass(i.slideDuplicateClass) ? s .children( '.' + i.slideClass + ':not(.' + i.slideDuplicateClass + ')[data-swiper-slide-index="' + o.attr('data-swiper-slide-index') + '"]' ) .addClass(i.slideDuplicateNextClass) : s .children( '.' + i.slideClass + '.' + i.slideDuplicateClass + '[data-swiper-slide-index="' + o.attr('data-swiper-slide-index') + '"]' ) .addClass(i.slideDuplicateNextClass), l.hasClass(i.slideDuplicateClass) ? s .children( '.' + i.slideClass + ':not(.' + i.slideDuplicateClass + ')[data-swiper-slide-index="' + l.attr('data-swiper-slide-index') + '"]' ) .addClass(i.slideDuplicatePrevClass) : s .children( '.' + i.slideClass + '.' + i.slideDuplicateClass + '[data-swiper-slide-index="' + l.attr('data-swiper-slide-index') + '"]' ) .addClass(i.slideDuplicatePrevClass)); }, updateActiveIndex: function (e) { var t, i = this.rtlTranslate ? this.translate : -this.translate, s = this.slidesGrid, a = this.snapGrid, r = this.params, o = this.activeIndex, l = this.realIndex, d = this.snapIndex, h = e; if (void 0 === h) { for (var p = 0; p < s.length; p += 1) void 0 !== s[p + 1] ? i >= s[p] && i < s[p + 1] - (s[p + 1] - s[p]) / 2 ? (h = p) : i >= s[p] && i < s[p + 1] && (h = p + 1) : i >= s[p] && (h = p); r.normalizeSlideIndex && (h < 0 || void 0 === h) && (h = 0); } if (a.indexOf(i) >= 0) t = a.indexOf(i); else { var c = Math.min(r.slidesPerGroupSkip, h); t = c + Math.floor((h - c) / r.slidesPerGroup); } if ((t >= a.length && (t = a.length - 1), h !== o)) { var u = parseInt( this.slides.eq(h).attr('data-swiper-slide-index') || h, 10 ); n.extend(this, { snapIndex: t, realIndex: u, previousIndex: o, activeIndex: h, }), this.emit('activeIndexChange'), this.emit('snapIndexChange'), l !== u && this.emit('realIndexChange'), (this.initialized || this.params.runCallbacksOnInit) && this.emit('slideChange'); } else t !== d && ((this.snapIndex = t), this.emit('snapIndexChange')); }, updateClickedSlide: function (e) { var t = this.params, i = s(e.target).closest('.' + t.slideClass)[0], a = !1; if (i) for (var r = 0; r < this.slides.length; r += 1) this.slides[r] === i && (a = !0); if (!i || !a) return ( (this.clickedSlide = void 0), void (this.clickedIndex = void 0) ); (this.clickedSlide = i), this.virtual && this.params.virtual.enabled ? (this.clickedIndex = parseInt( s(i).attr('data-swiper-slide-index'), 10 )) : (this.clickedIndex = s(i).index()), t.slideToClickedSlide && void 0 !== this.clickedIndex && this.clickedIndex !== this.activeIndex && this.slideToClickedSlide(); }, }; var p = { getTranslate: function (e) { void 0 === e && (e = this.isHorizontal() ? 'x' : 'y'); var t = this.params, i = this.rtlTranslate, s = this.translate, a = this.$wrapperEl; if (t.virtualTranslate) return i ? -s : s; if (t.cssMode) return s; var r = n.getTranslate(a[0], e); return i && (r = -r), r || 0; }, setTranslate: function (e, t) { var i = this.rtlTranslate, s = this.params, a = this.$wrapperEl, r = this.wrapperEl, n = this.progress, o = 0, l = 0; this.isHorizontal() ? (o = i ? -e : e) : (l = e), s.roundLengths && ((o = Math.floor(o)), (l = Math.floor(l))), s.cssMode ? (r[this.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = this.isHorizontal() ? -o : -l) : s.virtualTranslate || a.transform('translate3d(' + o + 'px, ' + l + 'px, 0px)'), (this.previousTranslate = this.translate), (this.translate = this.isHorizontal() ? o : l); var d = this.maxTranslate() - this.minTranslate(); (0 === d ? 0 : (e - this.minTranslate()) / d) !== n && this.updateProgress(e), this.emit('setTranslate', this.translate, t); }, minTranslate: function () { return -this.snapGrid[0]; }, maxTranslate: function () { return -this.snapGrid[this.snapGrid.length - 1]; }, translateTo: function (e, t, i, s, a) { var r; void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === i && (i = !0), void 0 === s && (s = !0); var n = this, o = n.params, l = n.wrapperEl; if (n.animating && o.preventInteractionOnTransition) return !1; var d, h = n.minTranslate(), p = n.maxTranslate(); if ( ((d = s && e > h ? h : s && e < p ? p : e), n.updateProgress(d), o.cssMode) ) { var c = n.isHorizontal(); return ( 0 === t ? (l[c ? 'scrollLeft' : 'scrollTop'] = -d) : l.scrollTo ? l.scrollTo( (((r = {})[c ? 'left' : 'top'] = -d), (r.behavior = 'smooth'), r) ) : (l[c ? 'scrollLeft' : 'scrollTop'] = -d), !0 ); } return ( 0 === t ? (n.setTransition(0), n.setTranslate(d), i && (n.emit('beforeTransitionStart', t, a), n.emit('transitionEnd'))) : (n.setTransition(t), n.setTranslate(d), i && (n.emit('beforeTransitionStart', t, a), n.emit('transitionStart')), n.animating || ((n.animating = !0), n.onTranslateToWrapperTransitionEnd || (n.onTranslateToWrapperTransitionEnd = function (e) { n && !n.destroyed && e.target === this && (n.$wrapperEl[0].removeEventListener( 'transitionend', n.onTranslateToWrapperTransitionEnd ), n.$wrapperEl[0].removeEventListener( 'webkitTransitionEnd', n.onTranslateToWrapperTransitionEnd ), (n.onTranslateToWrapperTransitionEnd = null), delete n.onTranslateToWrapperTransitionEnd, i && n.emit('transitionEnd')); }), n.$wrapperEl[0].addEventListener( 'transitionend', n.onTranslateToWrapperTransitionEnd ), n.$wrapperEl[0].addEventListener( 'webkitTransitionEnd', n.onTranslateToWrapperTransitionEnd ))), !0 ); }, }; var c = { setTransition: function (e, t) { this.params.cssMode || this.$wrapperEl.transition(e), this.emit('setTransition', e, t); }, transitionStart: function (e, t) { void 0 === e && (e = !0); var i = this.activeIndex, s = this.params, a = this.previousIndex; if (!s.cssMode) { s.autoHeight && this.updateAutoHeight(); var r = t; if ( (r || (r = i > a ? 'next' : i < a ? 'prev' : 'reset'), this.emit('transitionStart'), e && i !== a) ) { if ('reset' === r) return void this.emit('slideResetTransitionStart'); this.emit('slideChangeTransitionStart'), 'next' === r ? this.emit('slideNextTransitionStart') : this.emit('slidePrevTransitionStart'); } } }, transitionEnd: function (e, t) { void 0 === e && (e = !0); var i = this.activeIndex, s = this.previousIndex, a = this.params; if (((this.animating = !1), !a.cssMode)) { this.setTransition(0); var r = t; if ( (r || (r = i > s ? 'next' : i < s ? 'prev' : 'reset'), this.emit('transitionEnd'), e && i !== s) ) { if ('reset' === r) return void this.emit('slideResetTransitionEnd'); this.emit('slideChangeTransitionEnd'), 'next' === r ? this.emit('slideNextTransitionEnd') : this.emit('slidePrevTransitionEnd'); } } }, }; var u = { slideTo: function (e, t, i, s) { var a; void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === i && (i = !0); var r = this, n = e; n < 0 && (n = 0); var o = r.params, l = r.snapGrid, d = r.slidesGrid, h = r.previousIndex, p = r.activeIndex, c = r.rtlTranslate, u = r.wrapperEl; if (r.animating && o.preventInteractionOnTransition) return !1; var v = Math.min(r.params.slidesPerGroupSkip, n), f = v + Math.floor((n - v) / r.params.slidesPerGroup); f >= l.length && (f = l.length - 1), (p || o.initialSlide || 0) === (h || 0) && i && r.emit('beforeSlideChangeStart'); var m, g = -l[f]; if ((r.updateProgress(g), o.normalizeSlideIndex)) for (var b = 0; b < d.length; b += 1) -Math.floor(100 * g) >= Math.floor(100 * d[b]) && (n = b); if (r.initialized && n !== p) { if ( !r.allowSlideNext && g < r.translate && g < r.minTranslate() ) return !1; if ( !r.allowSlidePrev && g > r.translate && g > r.maxTranslate() && (p || 0) !== n ) return !1; } if ( ((m = n > p ? 'next' : n < p ? 'prev' : 'reset'), (c && -g === r.translate) || (!c && g === r.translate)) ) return ( r.updateActiveIndex(n), o.autoHeight && r.updateAutoHeight(), r.updateSlidesClasses(), 'slide' !== o.effect && r.setTranslate(g), 'reset' !== m && (r.transitionStart(i, m), r.transitionEnd(i, m)), !1 ); if (o.cssMode) { var w = r.isHorizontal(), y = -g; return ( c && (y = u.scrollWidth - u.offsetWidth - y), 0 === t ? (u[w ? 'scrollLeft' : 'scrollTop'] = y) : u.scrollTo ? u.scrollTo( (((a = {})[w ? 'left' : 'top'] = y), (a.behavior = 'smooth'), a) ) : (u[w ? 'scrollLeft' : 'scrollTop'] = y), !0 ); } return ( 0 === t ? (r.setTransition(0), r.setTranslate(g), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit('beforeTransitionStart', t, s), r.transitionStart(i, m), r.transitionEnd(i, m)) : (r.setTransition(t), r.setTranslate(g), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit('beforeTransitionStart', t, s), r.transitionStart(i, m), r.animating || ((r.animating = !0), r.onSlideToWrapperTransitionEnd || (r.onSlideToWrapperTransitionEnd = function ( e ) { r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener( 'transitionend', r.onSlideToWrapperTransitionEnd ), r.$wrapperEl[0].removeEventListener( 'webkitTransitionEnd', r.onSlideToWrapperTransitionEnd ), (r.onSlideToWrapperTransitionEnd = null), delete r.onSlideToWrapperTransitionEnd, r.transitionEnd(i, m)); }), r.$wrapperEl[0].addEventListener( 'transitionend', r.onSlideToWrapperTransitionEnd ), r.$wrapperEl[0].addEventListener( 'webkitTransitionEnd', r.onSlideToWrapperTransitionEnd ))), !0 ); }, slideToLoop: function (e, t, i, s) { void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === i && (i = !0); var a = e; return ( this.params.loop && (a += this.loopedSlides), this.slideTo(a, t, i, s) ); }, slideNext: function (e, t, i) { void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); var s = this.params, a = this.animating, r = this.activeIndex < s.slidesPerGroupSkip ? 1 : s.slidesPerGroup; if (s.loop) { if (a) return !1; this.loopFix(), (this._clientLeft = this.$wrapperEl[0].clientLeft); } return this.slideTo(this.activeIndex + r, e, t, i); }, slidePrev: function (e, t, i) { void 0 === e && (e = this.params.speed), void 0 === t && (t = !0); var s = this.params, a = this.animating, r = this.snapGrid, n = this.slidesGrid, o = this.rtlTranslate; if (s.loop) { if (a) return !1; this.loopFix(), (this._clientLeft = this.$wrapperEl[0].clientLeft); } function l(e) { return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e); } var d, h = l(o ? this.translate : -this.translate), p = r.map(function (e) { return l(e); }), c = (n.map(function (e) { return l(e); }), r[p.indexOf(h)], r[p.indexOf(h) - 1]); return ( void 0 === c && s.cssMode && r.forEach(function (e) { !c && h >= e && (c = e); }), void 0 !== c && (d = n.indexOf(c)) < 0 && (d = this.activeIndex - 1), this.slideTo(d, e, t, i) ); }, slideReset: function (e, t, i) { return ( void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), this.slideTo(this.activeIndex, e, t, i) ); }, slideToClosest: function (e, t, i, s) { void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), void 0 === s && (s = 0.5); var a = this.activeIndex, r = Math.min(this.params.slidesPerGroupSkip, a), n = r + Math.floor((a - r) / this.params.slidesPerGroup), o = this.rtlTranslate ? this.translate : -this.translate; if (o >= this.snapGrid[n]) { var l = this.snapGrid[n]; o - l > (this.snapGrid[n + 1] - l) * s && (a += this.params.slidesPerGroup); } else { var d = this.snapGrid[n - 1]; o - d <= (this.snapGrid[n] - d) * s && (a -= this.params.slidesPerGroup); } return ( (a = Math.max(a, 0)), (a = Math.min(a, this.slidesGrid.length - 1)), this.slideTo(a, e, t, i) ); }, slideToClickedSlide: function () { var e, t = this, i = t.params, a = t.$wrapperEl, r = 'auto' === i.slidesPerView ? t.slidesPerViewDynamic() : i.slidesPerView, o = t.clickedIndex; if (i.loop) { if (t.animating) return; (e = parseInt( s(t.clickedSlide).attr('data-swiper-slide-index'), 10 )), i.centeredSlides ? o < t.loopedSlides - r / 2 || o > t.slides.length - t.loopedSlides + r / 2 ? (t.loopFix(), (o = a .children( '.' + i.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + i.slideDuplicateClass + ')' ) .eq(0) .index()), n.nextTick(function () { t.slideTo(o); })) : t.slideTo(o) : o > t.slides.length - r ? (t.loopFix(), (o = a .children( '.' + i.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + i.slideDuplicateClass + ')' ) .eq(0) .index()), n.nextTick(function () { t.slideTo(o); })) : t.slideTo(o); } else t.slideTo(o); }, }; var v = { loopCreate: function () { var t = this, i = t.params, a = t.$wrapperEl; a.children( '.' + i.slideClass + '.' + i.slideDuplicateClass ).remove(); var r = a.children('.' + i.slideClass); if (i.loopFillGroupWithBlank) { var n = i.slidesPerGroup - (r.length % i.slidesPerGroup); if (n !== i.slidesPerGroup) { for (var o = 0; o < n; o += 1) { var l = s(e.createElement('div')).addClass( i.slideClass + ' ' + i.slideBlankClass ); a.append(l); } r = a.children('.' + i.slideClass); } } 'auto' !== i.slidesPerView || i.loopedSlides || (i.loopedSlides = r.length), (t.loopedSlides = Math.ceil( parseFloat(i.loopedSlides || i.slidesPerView, 10) )), (t.loopedSlides += i.loopAdditionalSlides), t.loopedSlides > r.length && (t.loopedSlides = r.length); var d = [], h = []; r.each(function (e, i) { var a = s(i); e < t.loopedSlides && h.push(i), e < r.length && e >= r.length - t.loopedSlides && d.push(i), a.attr('data-swiper-slide-index', e); }); for (var p = 0; p < h.length; p += 1) a.append(s(h[p].cloneNode(!0)).addClass(i.slideDuplicateClass)); for (var c = d.length - 1; c >= 0; c -= 1) a.prepend( s(d[c].cloneNode(!0)).addClass(i.slideDuplicateClass) ); }, loopFix: function () { this.emit('beforeLoopFix'); var e, t = this.activeIndex, i = this.slides, s = this.loopedSlides, a = this.allowSlidePrev, r = this.allowSlideNext, n = this.snapGrid, o = this.rtlTranslate; (this.allowSlidePrev = !0), (this.allowSlideNext = !0); var l = -n[t] - this.getTranslate(); if (t < s) (e = i.length - 3 * s + t), (e += s), this.slideTo(e, 0, !1, !0) && 0 !== l && this.setTranslate( (o ? -this.translate : this.translate) - l ); else if (t >= i.length - s) { (e = -i.length + t + s), (e += s), this.slideTo(e, 0, !1, !0) && 0 !== l && this.setTranslate( (o ? -this.translate : this.translate) - l ); } (this.allowSlidePrev = a), (this.allowSlideNext = r), this.emit('loopFix'); }, loopDestroy: function () { var e = this.$wrapperEl, t = this.params, i = this.slides; e .children( '.' + t.slideClass + '.' + t.slideDuplicateClass + ',.' + t.slideClass + '.' + t.slideBlankClass ) .remove(), i.removeAttr('data-swiper-slide-index'); }, }; var f = { setGrabCursor: function (e) { if ( !( o.touch || !this.params.simulateTouch || (this.params.watchOverflow && this.isLocked) || this.params.cssMode ) ) { var t = this.el; (t.style.cursor = 'move'), (t.style.cursor = e ? '-webkit-grabbing' : '-webkit-grab'), (t.style.cursor = e ? '-moz-grabbin' : '-moz-grab'), (t.style.cursor = e ? 'grabbing' : 'grab'); } }, unsetGrabCursor: function () { o.touch || (this.params.watchOverflow && this.isLocked) || this.params.cssMode || (this.el.style.cursor = ''); }, }; var m, g, b, w, y, x, T, E, S, C, M, P, z, k, $, L = { appendSlide: function (e) { var t = this.$wrapperEl, i = this.params; if ( (i.loop && this.loopDestroy(), 'object' == typeof e && 'length' in e) ) for (var s = 0; s < e.length; s += 1) e[s] && t.append(e[s]); else t.append(e); i.loop && this.loopCreate(), (i.observer && o.observer) || this.update(); }, prependSlide: function (e) { var t = this.params, i = this.$wrapperEl, s = this.activeIndex; t.loop && this.loopDestroy(); var a = s + 1; if ('object' == typeof e && 'length' in e) { for (var r = 0; r < e.length; r += 1) e[r] && i.prepend(e[r]); a = s + e.length; } else i.prepend(e); t.loop && this.loopCreate(), (t.observer && o.observer) || this.update(), this.slideTo(a, 0, !1); }, addSlide: function (e, t) { var i = this.$wrapperEl, s = this.params, a = this.activeIndex; s.loop && ((a -= this.loopedSlides), this.loopDestroy(), (this.slides = i.children('.' + s.slideClass))); var r = this.slides.length; if (e <= 0) this.prependSlide(t); else if (e >= r) this.appendSlide(t); else { for ( var n = a > e ? a + 1 : a, l = [], d = r - 1; d >= e; d -= 1 ) { var h = this.slides.eq(d); h.remove(), l.unshift(h); } if ('object' == typeof t && 'length' in t) { for (var p = 0; p < t.length; p += 1) t[p] && i.append(t[p]); n = a > e ? a + t.length : a; } else i.append(t); for (var c = 0; c < l.length; c += 1) i.append(l[c]); s.loop && this.loopCreate(), (s.observer && o.observer) || this.update(), s.loop ? this.slideTo(n + this.loopedSlides, 0, !1) : this.slideTo(n, 0, !1); } }, removeSlide: function (e) { var t = this.params, i = this.$wrapperEl, s = this.activeIndex; t.loop && ((s -= this.loopedSlides), this.loopDestroy(), (this.slides = i.children('.' + t.slideClass))); var a, r = s; if ('object' == typeof e && 'length' in e) { for (var n = 0; n < e.length; n += 1) (a = e[n]), this.slides[a] && this.slides.eq(a).remove(), a < r && (r -= 1); r = Math.max(r, 0); } else (a = e), this.slides[a] && this.slides.eq(a).remove(), a < r && (r -= 1), (r = Math.max(r, 0)); t.loop && this.loopCreate(), (t.observer && o.observer) || this.update(), t.loop ? this.slideTo(r + this.loopedSlides, 0, !1) : this.slideTo(r, 0, !1); }, removeAllSlides: function () { for (var e = [], t = 0; t < this.slides.length; t += 1) e.push(t); this.removeSlide(e); }, }, I = ((m = t.navigator.platform), (g = t.navigator.userAgent), (b = { ios: !1, android: !1, androidChrome: !1, desktop: !1, iphone: !1, ipod: !1, ipad: !1, edge: !1, ie: !1, firefox: !1, macos: !1, windows: !1, cordova: !(!t.cordova && !t.phonegap), phonegap: !(!t.cordova && !t.phonegap), electron: !1, }), (w = t.screen.width), (y = t.screen.height), (x = g.match(/(Android);?[\s\/]+([\d.]+)?/)), (T = g.match(/(iPad).*OS\s([\d_]+)/)), (E = g.match(/(iPod)(.*OS\s([\d_]+))?/)), (S = !T && g.match(/(iPhone\sOS|iOS)\s([\d_]+)/)), (C = g.indexOf('MSIE ') >= 0 || g.indexOf('Trident/') >= 0), (M = g.indexOf('Edge/') >= 0), (P = g.indexOf('Gecko/') >= 0 && g.indexOf('Firefox/') >= 0), (z = 'Win32' === m), (k = g.toLowerCase().indexOf('electron') >= 0), ($ = 'MacIntel' === m), !T && $ && o.touch && ((1024 === w && 1366 === y) || (834 === w && 1194 === y) || (834 === w && 1112 === y) || (768 === w && 1024 === y)) && ((T = g.match(/(Version)\/([\d.]+)/)), ($ = !1)), (b.ie = C), (b.edge = M), (b.firefox = P), x && !z && ((b.os = 'android'), (b.osVersion = x[2]), (b.android = !0), (b.androidChrome = g.toLowerCase().indexOf('chrome') >= 0)), (T || S || E) && ((b.os = 'ios'), (b.ios = !0)), S && !E && ((b.osVersion = S[2].replace(/_/g, '.')), (b.iphone = !0)), T && ((b.osVersion = T[2].replace(/_/g, '.')), (b.ipad = !0)), E && ((b.osVersion = E[3] ? E[3].replace(/_/g, '.') : null), (b.ipod = !0)), b.ios && b.osVersion && g.indexOf('Version/') >= 0 && '10' === b.osVersion.split('.')[0] && (b.osVersion = g .toLowerCase() .split('version/')[1] .split(' ')[0]), (b.webView = !( !(S || T || E) || (!g.match(/.*AppleWebKit(?!.*Safari)/i) && !t.navigator.standalone) ) || (t.matchMedia && t.matchMedia('(display-mode: standalone)').matches)), (b.webview = b.webView), (b.standalone = b.webView), (b.desktop = !(b.ios || b.android) || k), b.desktop && ((b.electron = k), (b.macos = $), (b.windows = z), b.macos && (b.os = 'macos'), b.windows && (b.os = 'windows')), (b.pixelRatio = t.devicePixelRatio || 1), b); function D(i) { var a = this.touchEventsData, r = this.params, o = this.touches; if (!this.animating || !r.preventInteractionOnTransition) { var l = i; l.originalEvent && (l = l.originalEvent); var d = s(l.target); if ( ('wrapper' !== r.touchEventsTarget || d.closest(this.wrapperEl).length) && ((a.isTouchEvent = 'touchstart' === l.type), (a.isTouchEvent || !('which' in l) || 3 !== l.which) && !( (!a.isTouchEvent && 'button' in l && l.button > 0) || (a.isTouched && a.isMoved) )) ) if ( r.noSwiping && d.closest( r.noSwipingSelector ? r.noSwipingSelector : '.' + r.noSwipingClass )[0] ) this.allowClick = !0; else if (!r.swipeHandler || d.closest(r.swipeHandler)[0]) { (o.currentX = 'touchstart' === l.type ? l.targetTouches[0].pageX : l.pageX), (o.currentY = 'touchstart' === l.type ? l.targetTouches[0].pageY : l.pageY); var h = o.currentX, p = o.currentY, c = r.edgeSwipeDetection || r.iOSEdgeSwipeDetection, u = r.edgeSwipeThreshold || r.iOSEdgeSwipeThreshold; if (!c || !(h <= u || h >= t.screen.width - u)) { if ( (n.extend(a, { isTouched: !0, isMoved: !1, allowTouchCallbacks: !0, isScrolling: void 0, startMoving: void 0, }), (o.startX = h), (o.startY = p), (a.touchStartTime = n.now()), (this.allowClick = !0), this.updateSize(), (this.swipeDirection = void 0), r.threshold > 0 && (a.allowThresholdMove = !1), 'touchstart' !== l.type) ) { var v = !0; d.is(a.formElements) && (v = !1), e.activeElement && s(e.activeElement).is(a.formElements) && e.activeElement !== d[0] && e.activeElement.blur(); var f = v && this.allowTouchMove && r.touchStartPreventDefault; (r.touchStartForcePreventDefault || f) && l.preventDefault(); } this.emit('touchStart', l); } } } } function O(t) { var i = this.touchEventsData, a = this.params, r = this.touches, o = this.rtlTranslate, l = t; if ((l.originalEvent && (l = l.originalEvent), i.isTouched)) { if (!i.isTouchEvent || 'mousemove' !== l.type) { var d = 'touchmove' === l.type && l.targetTouches && (l.targetTouches[0] || l.changedTouches[0]), h = 'touchmove' === l.type ? d.pageX : l.pageX, p = 'touchmove' === l.type ? d.pageY : l.pageY; if (l.preventedByNestedSwiper) return (r.startX = h), void (r.startY = p); if (!this.allowTouchMove) return ( (this.allowClick = !1), void ( i.isTouched && (n.extend(r, { startX: h, startY: p, currentX: h, currentY: p, }), (i.touchStartTime = n.now())) ) ); if (i.isTouchEvent && a.touchReleaseOnEdges && !a.loop) if (this.isVertical()) { if ( (p < r.startY && this.translate <= this.maxTranslate()) || (p > r.startY && this.translate >= this.minTranslate()) ) return (i.isTouched = !1), void (i.isMoved = !1); } else if ( (h < r.startX && this.translate <= this.maxTranslate()) || (h > r.startX && this.translate >= this.minTranslate()) ) return; if ( i.isTouchEvent && e.activeElement && l.target === e.activeElement && s(l.target).is(i.formElements) ) return (i.isMoved = !0), void (this.allowClick = !1); if ( (i.allowTouchCallbacks && this.emit('touchMove', l), !(l.targetTouches && l.targetTouches.length > 1)) ) { (r.currentX = h), (r.currentY = p); var c = r.currentX - r.startX, u = r.currentY - r.startY; if ( !( this.params.threshold && Math.sqrt(Math.pow(c, 2) + Math.pow(u, 2)) < this.params.threshold ) ) { var v; if (void 0 === i.isScrolling) (this.isHorizontal() && r.currentY === r.startY) || (this.isVertical() && r.currentX === r.startX) ? (i.isScrolling = !1) : c * c + u * u >= 25 && ((v = (180 * Math.atan2( Math.abs(u), Math.abs(c) )) / Math.PI), (i.isScrolling = this.isHorizontal() ? v > a.touchAngle : 90 - v > a.touchAngle)); if ( (i.isScrolling && this.emit('touchMoveOpposite', l), void 0 === i.startMoving && ((r.currentX === r.startX && r.currentY === r.startY) || (i.startMoving = !0)), i.isScrolling) ) i.isTouched = !1; else if (i.startMoving) { (this.allowClick = !1), a.cssMode || l.preventDefault(), a.touchMoveStopPropagation && !a.nested && l.stopPropagation(), i.isMoved || (a.loop && this.loopFix(), (i.startTranslate = this.getTranslate()), this.setTransition(0), this.animating && this.$wrapperEl.trigger( 'webkitTransitionEnd transitionend' ), (i.allowMomentumBounce = !1), !a.grabCursor || (!0 !== this.allowSlideNext && !0 !== this.allowSlidePrev) || this.setGrabCursor(!0), this.emit('sliderFirstMove', l)), this.emit('sliderMove', l), (i.isMoved = !0); var f = this.isHorizontal() ? c : u; (r.diff = f), (f *= a.touchRatio), o && (f = -f), (this.swipeDirection = f > 0 ? 'prev' : 'next'), (i.currentTranslate = f + i.startTranslate); var m = !0, g = a.resistanceRatio; if ( (a.touchReleaseOnEdges && (g = 0), f > 0 && i.currentTranslate > this.minTranslate() ? ((m = !1), a.resistance && (i.currentTranslate = this.minTranslate() - 1 + Math.pow( -this.minTranslate() + i.startTranslate + f, g ))) : f < 0 && i.currentTranslate < this.maxTranslate() && ((m = !1), a.resistance && (i.currentTranslate = this.maxTranslate() + 1 - Math.pow( this.maxTranslate() - i.startTranslate - f, g ))), m && (l.preventedByNestedSwiper = !0), !this.allowSlideNext && 'next' === this.swipeDirection && i.currentTranslate < i.startTranslate && (i.currentTranslate = i.startTranslate), !this.allowSlidePrev && 'prev' === this.swipeDirection && i.currentTranslate > i.startTranslate && (i.currentTranslate = i.startTranslate), a.threshold > 0) ) { if ( !( Math.abs(f) > a.threshold || i.allowThresholdMove ) ) return void (i.currentTranslate = i.startTranslate); if (!i.allowThresholdMove) return ( (i.allowThresholdMove = !0), (r.startX = r.currentX), (r.startY = r.currentY), (i.currentTranslate = i.startTranslate), void (r.diff = this.isHorizontal() ? r.currentX - r.startX : r.currentY - r.startY) ); } a.followFinger && !a.cssMode && ((a.freeMode || a.watchSlidesProgress || a.watchSlidesVisibility) && (this.updateActiveIndex(), this.updateSlidesClasses()), a.freeMode && (0 === i.velocities.length && i.velocities.push({ position: r[ this.isHorizontal() ? 'startX' : 'startY' ], time: i.touchStartTime, }), i.velocities.push({ position: r[ this.isHorizontal() ? 'currentX' : 'currentY' ], time: n.now(), })), this.updateProgress(i.currentTranslate), this.setTranslate(i.currentTranslate)); } } } } } else i.startMoving && i.isScrolling && this.emit('touchMoveOpposite', l); } function A(e) { var t = this, i = t.touchEventsData, s = t.params, a = t.touches, r = t.rtlTranslate, o = t.$wrapperEl, l = t.slidesGrid, d = t.snapGrid, h = e; if ( (h.originalEvent && (h = h.originalEvent), i.allowTouchCallbacks && t.emit('touchEnd', h), (i.allowTouchCallbacks = !1), !i.isTouched) ) return ( i.isMoved && s.grabCursor && t.setGrabCursor(!1), (i.isMoved = !1), void (i.startMoving = !1) ); s.grabCursor && i.isMoved && i.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1); var p, c = n.now(), u = c - i.touchStartTime; if ( (t.allowClick && (t.updateClickedSlide(h), t.emit('tap click', h), u < 300 && c - i.lastClickTime < 300 && t.emit('doubleTap doubleClick', h)), (i.lastClickTime = n.now()), n.nextTick(function () { t.destroyed || (t.allowClick = !0); }), !i.isTouched || !i.isMoved || !t.swipeDirection || 0 === a.diff || i.currentTranslate === i.startTranslate) ) return ( (i.isTouched = !1), (i.isMoved = !1), void (i.startMoving = !1) ); if ( ((i.isTouched = !1), (i.isMoved = !1), (i.startMoving = !1), (p = s.followFinger ? r ? t.translate : -t.translate : -i.currentTranslate), !s.cssMode) ) if (s.freeMode) { if (p < -t.minTranslate()) return void t.slideTo(t.activeIndex); if (p > -t.maxTranslate()) return void (t.slides.length < d.length ? t.slideTo(d.length - 1) : t.slideTo(t.slides.length - 1)); if (s.freeModeMomentum) { if (i.velocities.length > 1) { var v = i.velocities.pop(), f = i.velocities.pop(), m = v.position - f.position, g = v.time - f.time; (t.velocity = m / g), (t.velocity /= 2), Math.abs(t.velocity) < s.freeModeMinimumVelocity && (t.velocity = 0), (g > 150 || n.now() - v.time > 300) && (t.velocity = 0); } else t.velocity = 0; (t.velocity *= s.freeModeMomentumVelocityRatio), (i.velocities.length = 0); var b = 1e3 * s.freeModeMomentumRatio, w = t.velocity * b, y = t.translate + w; r && (y = -y); var x, T, E = !1, S = 20 * Math.abs(t.velocity) * s.freeModeMomentumBounceRatio; if (y < t.maxTranslate()) s.freeModeMomentumBounce ? (y + t.maxTranslate() < -S && (y = t.maxTranslate() - S), (x = t.maxTranslate()), (E = !0), (i.allowMomentumBounce = !0)) : (y = t.maxTranslate()), s.loop && s.centeredSlides && (T = !0); else if (y > t.minTranslate()) s.freeModeMomentumBounce ? (y - t.minTranslate() > S && (y = t.minTranslate() + S), (x = t.minTranslate()), (E = !0), (i.allowMomentumBounce = !0)) : (y = t.minTranslate()), s.loop && s.centeredSlides && (T = !0); else if (s.freeModeSticky) { for (var C, M = 0; M < d.length; M += 1) if (d[M] > -y) { C = M; break; } y = -(y = Math.abs(d[C] - y) < Math.abs(d[C - 1] - y) || 'next' === t.swipeDirection ? d[C] : d[C - 1]); } if ( (T && t.once('transitionEnd', function () { t.loopFix(); }), 0 !== t.velocity) ) { if ( ((b = r ? Math.abs((-y - t.translate) / t.velocity) : Math.abs((y - t.translate) / t.velocity)), s.freeModeSticky) ) { var P = Math.abs((r ? -y : y) - t.translate), z = t.slidesSizesGrid[t.activeIndex]; b = P < z ? s.speed : P < 2 * z ? 1.5 * s.speed : 2.5 * s.speed; } } else if (s.freeModeSticky) return void t.slideToClosest(); s.freeModeMomentumBounce && E ? (t.updateProgress(x), t.setTransition(b), t.setTranslate(y), t.transitionStart(!0, t.swipeDirection), (t.animating = !0), o.transitionEnd(function () { t && !t.destroyed && i.allowMomentumBounce && (t.emit('momentumBounce'), t.setTransition(s.speed), setTimeout(function () { t.setTranslate(x), o.transitionEnd(function () { t && !t.destroyed && t.transitionEnd(); }); }, 0)); })) : t.velocity ? (t.updateProgress(y), t.setTransition(b), t.setTranslate(y), t.transitionStart(!0, t.swipeDirection), t.animating || ((t.animating = !0), o.transitionEnd(function () { t && !t.destroyed && t.transitionEnd(); }))) : t.updateProgress(y), t.updateActiveIndex(), t.updateSlidesClasses(); } else if (s.freeModeSticky) return void t.slideToClosest(); (!s.freeModeMomentum || u >= s.longSwipesMs) && (t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses()); } else { for ( var k = 0, $ = t.slidesSizesGrid[0], L = 0; L < l.length; L += L < s.slidesPerGroupSkip ? 1 : s.slidesPerGroup ) { var I = L < s.slidesPerGroupSkip - 1 ? 1 : s.slidesPerGroup; void 0 !== l[L + I] ? p >= l[L] && p < l[L + I] && ((k = L), ($ = l[L + I] - l[L])) : p >= l[L] && ((k = L), ($ = l[l.length - 1] - l[l.length - 2])); } var D = (p - l[k]) / $, O = k < s.slidesPerGroupSkip - 1 ? 1 : s.slidesPerGroup; if (u > s.longSwipesMs) { if (!s.longSwipes) return void t.slideTo(t.activeIndex); 'next' === t.swipeDirection && (D >= s.longSwipesRatio ? t.slideTo(k + O) : t.slideTo(k)), 'prev' === t.swipeDirection && (D > 1 - s.longSwipesRatio ? t.slideTo(k + O) : t.slideTo(k)); } else { if (!s.shortSwipes) return void t.slideTo(t.activeIndex); t.navigation && (h.target === t.navigation.nextEl || h.target === t.navigation.prevEl) ? h.target === t.navigation.nextEl ? t.slideTo(k + O) : t.slideTo(k) : ('next' === t.swipeDirection && t.slideTo(k + O), 'prev' === t.swipeDirection && t.slideTo(k)); } } } function G() { var e = this.params, t = this.el; if (!t || 0 !== t.offsetWidth) { e.breakpoints && this.setBreakpoint(); var i = this.allowSlideNext, s = this.allowSlidePrev, a = this.snapGrid; (this.allowSlideNext = !0), (this.allowSlidePrev = !0), this.updateSize(), this.updateSlides(), this.updateSlidesClasses(), ('auto' === e.slidesPerView || e.slidesPerView > 1) && this.isEnd && !this.params.centeredSlides ? this.slideTo(this.slides.length - 1, 0, !1, !0) : this.slideTo(this.activeIndex, 0, !1, !0), this.autoplay && this.autoplay.running && this.autoplay.paused && this.autoplay.run(), (this.allowSlidePrev = s), (this.allowSlideNext = i), this.params.watchOverflow && a !== this.snapGrid && this.checkOverflow(); } } function H(e) { this.allowClick || (this.params.preventClicks && e.preventDefault(), this.params.preventClicksPropagation && this.animating && (e.stopPropagation(), e.stopImmediatePropagation())); } function B() { var e = this.wrapperEl, t = this.rtlTranslate; (this.previousTranslate = this.translate), this.isHorizontal() ? (this.translate = t ? e.scrollWidth - e.offsetWidth - e.scrollLeft : -e.scrollLeft) : (this.translate = -e.scrollTop), -0 === this.translate && (this.translate = 0), this.updateActiveIndex(), this.updateSlidesClasses(); var i = this.maxTranslate() - this.minTranslate(); (0 === i ? 0 : (this.translate - this.minTranslate()) / i) !== this.progress && this.updateProgress(t ? -this.translate : this.translate), this.emit('setTranslate', this.translate, !1); } var N = !1; function X() {} var V = { init: !0, direction: 'horizontal', touchEventsTarget: 'container', initialSlide: 0, speed: 300, cssMode: !1, updateOnWindowResize: !0, preventInteractionOnTransition: !1, edgeSwipeDetection: !1, edgeSwipeThreshold: 20, freeMode: !1, freeModeMomentum: !0, freeModeMomentumRatio: 1, freeModeMomentumBounce: !0, freeModeMomentumBounceRatio: 1, freeModeMomentumVelocityRatio: 1, freeModeSticky: !1, freeModeMinimumVelocity: 0.02, autoHeight: !1, setWrapperSize: !1, virtualTranslate: !1, effect: 'slide', breakpoints: void 0, spaceBetween: 0, slidesPerView: 1, slidesPerColumn: 1, slidesPerColumnFill: 'column', slidesPerGroup: 1, slidesPerGroupSkip: 0, centeredSlides: !1, centeredSlidesBounds: !1, slidesOffsetBefore: 0, slidesOffsetAfter: 0, normalizeSlideIndex: !0, centerInsufficientSlides: !1, watchOverflow: !1, roundLengths: !1, touchRatio: 1, touchAngle: 45, simulateTouch: !0, shortSwipes: !0, longSwipes: !0, longSwipesRatio: 0.5, longSwipesMs: 300, followFinger: !0, allowTouchMove: !0, threshold: 0, touchMoveStopPropagation: !1, touchStartPreventDefault: !0, touchStartForcePreventDefault: !1, touchReleaseOnEdges: !1, uniqueNavElements: !0, resistance: !0, resistanceRatio: 0.85, watchSlidesProgress: !1, watchSlidesVisibility: !1, grabCursor: !1, preventClicks: !0, preventClicksPropagation: !0, slideToClickedSlide: !1, preloadImages: !0, updateOnImagesReady: !0, loop: !1, loopAdditionalSlides: 0, loopedSlides: null, loopFillGroupWithBlank: !1, allowSlidePrev: !0, allowSlideNext: !0, swipeHandler: null, noSwiping: !0, noSwipingClass: 'swiper-no-swiping', noSwipingSelector: null, passiveListeners: !0, containerModifierClass: 'swiper-container-', slideClass: 'swiper-slide', slideBlankClass: 'swiper-slide-invisible-blank', slideActiveClass: 'swiper-slide-active', slideDuplicateActiveClass: 'swiper-slide-duplicate-active', slideVisibleClass: 'swiper-slide-visible', slideDuplicateClass: 'swiper-slide-duplicate', slideNextClass: 'swiper-slide-next', slideDuplicateNextClass: 'swiper-slide-duplicate-next', slidePrevClass: 'swiper-slide-prev', slideDuplicatePrevClass: 'swiper-slide-duplicate-prev', wrapperClass: 'swiper-wrapper', runCallbacksOnInit: !0, }, Y = { update: h, translate: p, transition: c, slide: u, loop: v, grabCursor: f, manipulation: L, events: { attachEvents: function () { var t = this.params, i = this.touchEvents, s = this.el, a = this.wrapperEl; (this.onTouchStart = D.bind(this)), (this.onTouchMove = O.bind(this)), (this.onTouchEnd = A.bind(this)), t.cssMode && (this.onScroll = B.bind(this)), (this.onClick = H.bind(this)); var r = !!t.nested; if (!o.touch && o.pointerEvents) s.addEventListener(i.start, this.onTouchStart, !1), e.addEventListener(i.move, this.onTouchMove, r), e.addEventListener(i.end, this.onTouchEnd, !1); else { if (o.touch) { var n = !( 'touchstart' !== i.start || !o.passiveListener || !t.passiveListeners ) && { passive: !0, capture: !1 }; s.addEventListener(i.start, this.onTouchStart, n), s.addEventListener( i.move, this.onTouchMove, o.passiveListener ? { passive: !1, capture: r } : r ), s.addEventListener(i.end, this.onTouchEnd, n), i.cancel && s.addEventListener( i.cancel, this.onTouchEnd, n ), N || (e.addEventListener('touchstart', X), (N = !0)); } ((t.simulateTouch && !I.ios && !I.android) || (t.simulateTouch && !o.touch && I.ios)) && (s.addEventListener( 'mousedown', this.onTouchStart, !1 ), e.addEventListener( 'mousemove', this.onTouchMove, r ), e.addEventListener('mouseup', this.onTouchEnd, !1)); } (t.preventClicks || t.preventClicksPropagation) && s.addEventListener('click', this.onClick, !0), t.cssMode && a.addEventListener('scroll', this.onScroll), t.updateOnWindowResize ? this.on( I.ios || I.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', G, !0 ) : this.on('observerUpdate', G, !0); }, detachEvents: function () { var t = this.params, i = this.touchEvents, s = this.el, a = this.wrapperEl, r = !!t.nested; if (!o.touch && o.pointerEvents) s.removeEventListener(i.start, this.onTouchStart, !1), e.removeEventListener(i.move, this.onTouchMove, r), e.removeEventListener(i.end, this.onTouchEnd, !1); else { if (o.touch) { var n = !( 'onTouchStart' !== i.start || !o.passiveListener || !t.passiveListeners ) && { passive: !0, capture: !1 }; s.removeEventListener( i.start, this.onTouchStart, n ), s.removeEventListener( i.move, this.onTouchMove, r ), s.removeEventListener( i.end, this.onTouchEnd, n ), i.cancel && s.removeEventListener( i.cancel, this.onTouchEnd, n ); } ((t.simulateTouch && !I.ios && !I.android) || (t.simulateTouch && !o.touch && I.ios)) && (s.removeEventListener( 'mousedown', this.onTouchStart, !1 ), e.removeEventListener( 'mousemove', this.onTouchMove, r ), e.removeEventListener( 'mouseup', this.onTouchEnd, !1 )); } (t.preventClicks || t.preventClicksPropagation) && s.removeEventListener('click', this.onClick, !0), t.cssMode && a.removeEventListener('scroll', this.onScroll), this.off( I.ios || I.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', G ); }, }, breakpoints: { setBreakpoint: function () { var e = this.activeIndex, t = this.initialized, i = this.loopedSlides; void 0 === i && (i = 0); var s = this.params, a = this.$el, r = s.breakpoints; if (r && (!r || 0 !== Object.keys(r).length)) { var o = this.getBreakpoint(r); if (o && this.currentBreakpoint !== o) { var l = o in r ? r[o] : void 0; l && [ 'slidesPerView', 'spaceBetween', 'slidesPerGroup', 'slidesPerGroupSkip', 'slidesPerColumn', ].forEach(function (e) { var t = l[e]; void 0 !== t && (l[e] = 'slidesPerView' !== e || ('AUTO' !== t && 'auto' !== t) ? 'slidesPerView' === e ? parseFloat(t) : parseInt(t, 10) : 'auto'); }); var d = l || this.originalParams, h = s.slidesPerColumn > 1, p = d.slidesPerColumn > 1; h && !p ? a.removeClass( s.containerModifierClass + 'multirow ' + s.containerModifierClass + 'multirow-column' ) : !h && p && (a.addClass( s.containerModifierClass + 'multirow' ), 'column' === d.slidesPerColumnFill && a.addClass( s.containerModifierClass + 'multirow-column' )); var c = d.direction && d.direction !== s.direction, u = s.loop && (d.slidesPerView !== s.slidesPerView || c); c && t && this.changeDirection(), n.extend(this.params, d), n.extend(this, { allowTouchMove: this.params.allowTouchMove, allowSlideNext: this.params.allowSlideNext, allowSlidePrev: this.params.allowSlidePrev, }), (this.currentBreakpoint = o), u && t && (this.loopDestroy(), this.loopCreate(), this.updateSlides(), this.slideTo( e - i + this.loopedSlides, 0, !1 )), this.emit('breakpoint', d); } } }, getBreakpoint: function (e) { if (e) { var i = !1, s = Object.keys(e).map(function (e) { if ( 'string' == typeof e && 0 === e.indexOf('@') ) { var i = parseFloat(e.substr(1)); return { value: t.innerHeight * i, point: e, }; } return { value: e, point: e }; }); s.sort(function (e, t) { return ( parseInt(e.value, 10) - parseInt(t.value, 10) ); }); for (var a = 0; a < s.length; a += 1) { var r = s[a], n = r.point; r.value <= t.innerWidth && (i = n); } return i || 'max'; } }, }, checkOverflow: { checkOverflow: function () { var e = this.params, t = this.isLocked, i = this.slides.length > 0 && e.slidesOffsetBefore + e.spaceBetween * (this.slides.length - 1) + this.slides[0].offsetWidth * this.slides.length; e.slidesOffsetBefore && e.slidesOffsetAfter && i ? (this.isLocked = i <= this.size) : (this.isLocked = 1 === this.snapGrid.length), (this.allowSlideNext = !this.isLocked), (this.allowSlidePrev = !this.isLocked), t !== this.isLocked && this.emit(this.isLocked ? 'lock' : 'unlock'), t && t !== this.isLocked && ((this.isEnd = !1), this.navigation.update()); }, }, classes: { addClasses: function () { var e = this.classNames, t = this.params, i = this.rtl, s = this.$el, a = []; a.push('initialized'), a.push(t.direction), t.freeMode && a.push('free-mode'), t.autoHeight && a.push('autoheight'), i && a.push('rtl'), t.slidesPerColumn > 1 && (a.push('multirow'), 'column' === t.slidesPerColumnFill && a.push('multirow-column')), I.android && a.push('android'), I.ios && a.push('ios'), t.cssMode && a.push('css-mode'), a.forEach(function (i) { e.push(t.containerModifierClass + i); }), s.addClass(e.join(' ')); }, removeClasses: function () { var e = this.$el, t = this.classNames; e.removeClass(t.join(' ')); }, }, images: { loadImage: function (e, i, s, a, r, n) { var o; function l() { n && n(); } e.complete && r ? l() : i ? (((o = new t.Image()).onload = l), (o.onerror = l), a && (o.sizes = a), s && (o.srcset = s), i && (o.src = i)) : l(); }, preloadImages: function () { var e = this; function t() { null != e && e && !e.destroyed && (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e.update(), e.emit('imagesReady'))); } e.imagesToLoad = e.$el.find('img'); for (var i = 0; i < e.imagesToLoad.length; i += 1) { var s = e.imagesToLoad[i]; e.loadImage( s, s.currentSrc || s.getAttribute('src'), s.srcset || s.getAttribute('srcset'), s.sizes || s.getAttribute('sizes'), !0, t ); } }, }, }, F = {}, W = (function (e) { function t() { for (var i, a, r, l = [], d = arguments.length; d--; ) l[d] = arguments[d]; 1 === l.length && l[0].constructor && l[0].constructor === Object ? (r = l[0]) : ((a = (i = l)[0]), (r = i[1])), r || (r = {}), (r = n.extend({}, r)), a && !r.el && (r.el = a), e.call(this, r), Object.keys(Y).forEach(function (e) { Object.keys(Y[e]).forEach(function (i) { t.prototype[i] || (t.prototype[i] = Y[e][i]); }); }); var h = this; void 0 === h.modules && (h.modules = {}), Object.keys(h.modules).forEach(function (e) { var t = h.modules[e]; if (t.params) { var i = Object.keys(t.params)[0], s = t.params[i]; if ('object' != typeof s || null === s) return; if (!(i in r) || !('enabled' in s)) return; !0 === r[i] && (r[i] = { enabled: !0 }), 'object' != typeof r[i] || 'enabled' in r[i] || (r[i].enabled = !0), r[i] || (r[i] = { enabled: !1 }); } }); var p = n.extend({}, V); h.useModulesParams(p), (h.params = n.extend({}, p, F, r)), (h.originalParams = n.extend({}, h.params)), (h.passedParams = n.extend({}, r)), (h.$ = s); var c = s(h.params.el); if ((a = c[0])) { if (c.length > 1) { var u = []; return ( c.each(function (e, i) { var s = n.extend({}, r, { el: i }); u.push(new t(s)); }), u ); } var v, f, m; return ( (a.swiper = h), c.data('swiper', h), a && a.shadowRoot && a.shadowRoot.querySelector ? ((v = s( a.shadowRoot.querySelector( '.' + h.params.wrapperClass ) )).children = function (e) { return c.children(e); }) : (v = c.children('.' + h.params.wrapperClass)), n.extend(h, { $el: c, el: a, $wrapperEl: v, wrapperEl: v[0], classNames: [], slides: s(), slidesGrid: [], snapGrid: [], slidesSizesGrid: [], isHorizontal: function () { return 'horizontal' === h.params.direction; }, isVertical: function () { return 'vertical' === h.params.direction; }, rtl: 'rtl' === a.dir.toLowerCase() || 'rtl' === c.css('direction'), rtlTranslate: 'horizontal' === h.params.direction && ('rtl' === a.dir.toLowerCase() || 'rtl' === c.css('direction')), wrongRTL: '-webkit-box' === v.css('display'), activeIndex: 0, realIndex: 0, isBeginning: !0, isEnd: !1, translate: 0, previousTranslate: 0, progress: 0, velocity: 0, animating: !1, allowSlideNext: h.params.allowSlideNext, allowSlidePrev: h.params.allowSlidePrev, touchEvents: ((f = [ 'touchstart', 'touchmove', 'touchend', 'touchcancel', ]), (m = ['mousedown', 'mousemove', 'mouseup']), o.pointerEvents && (m = [ 'pointerdown', 'pointermove', 'pointerup', ]), (h.touchEventsTouch = { start: f[0], move: f[1], end: f[2], cancel: f[3], }), (h.touchEventsDesktop = { start: m[0], move: m[1], end: m[2], }), o.touch || !h.params.simulateTouch ? h.touchEventsTouch : h.touchEventsDesktop), touchEventsData: { isTouched: void 0, isMoved: void 0, allowTouchCallbacks: void 0, touchStartTime: void 0, isScrolling: void 0, currentTranslate: void 0, startTranslate: void 0, allowThresholdMove: void 0, formElements: 'input, select, option, textarea, button, video, label', lastClickTime: n.now(), clickTimeout: void 0, velocities: [], allowMomentumBounce: void 0, isTouchEvent: void 0, startMoving: void 0, }, allowClick: !0, allowTouchMove: h.params.allowTouchMove, touches: { startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0, }, imagesToLoad: [], imagesLoaded: 0, }), h.useModules(), h.params.init && h.init(), h ); } } e && (t.__proto__ = e), (t.prototype = Object.create(e && e.prototype)), (t.prototype.constructor = t); var i = { extendedDefaults: { configurable: !0 }, defaults: { configurable: !0 }, Class: { configurable: !0 }, $: { configurable: !0 }, }; return ( (t.prototype.slidesPerViewDynamic = function () { var e = this.params, t = this.slides, i = this.slidesGrid, s = this.size, a = this.activeIndex, r = 1; if (e.centeredSlides) { for ( var n, o = t[a].swiperSlideSize, l = a + 1; l < t.length; l += 1 ) t[l] && !n && ((r += 1), (o += t[l].swiperSlideSize) > s && (n = !0)); for (var d = a - 1; d >= 0; d -= 1) t[d] && !n && ((r += 1), (o += t[d].swiperSlideSize) > s && (n = !0)); } else for (var h = a + 1; h < t.length; h += 1) i[h] - i[a] < s && (r += 1); return r; }), (t.prototype.update = function () { var e = this; if (e && !e.destroyed) { var t = e.snapGrid, i = e.params; i.breakpoints && e.setBreakpoint(), e.updateSize(), e.updateSlides(), e.updateProgress(), e.updateSlidesClasses(), e.params.freeMode ? (s(), e.params.autoHeight && e.updateAutoHeight()) : (('auto' === e.params.slidesPerView || e.params.slidesPerView > 1) && e.isEnd && !e.params.centeredSlides ? e.slideTo( e.slides.length - 1, 0, !1, !0 ) : e.slideTo( e.activeIndex, 0, !1, !0 )) || s(), i.watchOverflow && t !== e.snapGrid && e.checkOverflow(), e.emit('update'); } function s() { var t = e.rtlTranslate ? -1 * e.translate : e.translate, i = Math.min( Math.max(t, e.maxTranslate()), e.minTranslate() ); e.setTranslate(i), e.updateActiveIndex(), e.updateSlidesClasses(); } }), (t.prototype.changeDirection = function (e, t) { void 0 === t && (t = !0); var i = this.params.direction; return ( e || (e = 'horizontal' === i ? 'vertical' : 'horizontal'), e === i || ('horizontal' !== e && 'vertical' !== e) || (this.$el .removeClass( '' + this.params.containerModifierClass + i ) .addClass( '' + this.params.containerModifierClass + e ), (this.params.direction = e), this.slides.each(function (t, i) { 'vertical' === e ? (i.style.width = '') : (i.style.height = ''); }), this.emit('changeDirection'), t && this.update()), this ); }), (t.prototype.init = function () { this.initialized || (this.emit('beforeInit'), this.params.breakpoints && this.setBreakpoint(), this.addClasses(), this.params.loop && this.loopCreate(), this.updateSize(), this.updateSlides(), this.params.watchOverflow && this.checkOverflow(), this.params.grabCursor && this.setGrabCursor(), this.params.preloadImages && this.preloadImages(), this.params.loop ? this.slideTo( this.params.initialSlide + this.loopedSlides, 0, this.params.runCallbacksOnInit ) : this.slideTo( this.params.initialSlide, 0, this.params.runCallbacksOnInit ), this.attachEvents(), (this.initialized = !0), this.emit('init')); }), (t.prototype.destroy = function (e, t) { void 0 === e && (e = !0), void 0 === t && (t = !0); var i = this, s = i.params, a = i.$el, r = i.$wrapperEl, o = i.slides; return ( void 0 === i.params || i.destroyed || (i.emit('beforeDestroy'), (i.initialized = !1), i.detachEvents(), s.loop && i.loopDestroy(), t && (i.removeClasses(), a.removeAttr('style'), r.removeAttr('style'), o && o.length && o .removeClass( [ s.slideVisibleClass, s.slideActiveClass, s.slideNextClass, s.slidePrevClass, ].join(' ') ) .removeAttr('style') .removeAttr('data-swiper-slide-index')), i.emit('destroy'), Object.keys(i.eventsListeners).forEach(function ( e ) { i.off(e); }), !1 !== e && ((i.$el[0].swiper = null), i.$el.data('swiper', null), n.deleteProps(i)), (i.destroyed = !0)), null ); }), (t.extendDefaults = function (e) { n.extend(F, e); }), (i.extendedDefaults.get = function () { return F; }), (i.defaults.get = function () { return V; }), (i.Class.get = function () { return e; }), (i.$.get = function () { return s; }), Object.defineProperties(t, i), t ); })(l), R = { name: 'device', proto: { device: I }, static: { device: I } }, q = { name: 'support', proto: { support: o }, static: { support: o } }, j = { isEdge: !!t.navigator.userAgent.match(/Edge/g), isSafari: (function () { var e = t.navigator.userAgent.toLowerCase(); return ( e.indexOf('safari') >= 0 && e.indexOf('chrome') < 0 && e.indexOf('android') < 0 ); })(), isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test( t.navigator.userAgent ), }, K = { name: 'browser', proto: { browser: j }, static: { browser: j } }, U = { name: 'resize', create: function () { var e = this; n.extend(e, { resize: { resizeHandler: function () { e && !e.destroyed && e.initialized && (e.emit('beforeResize'), e.emit('resize')); }, orientationChangeHandler: function () { e && !e.destroyed && e.initialized && e.emit('orientationchange'); }, }, }); }, on: { init: function () { t.addEventListener('resize', this.resize.resizeHandler), t.addEventListener( 'orientationchange', this.resize.orientationChangeHandler ); }, destroy: function () { t.removeEventListener('resize', this.resize.resizeHandler), t.removeEventListener( 'orientationchange', this.resize.orientationChangeHandler ); }, }, }, _ = { func: t.MutationObserver || t.WebkitMutationObserver, attach: function (e, i) { void 0 === i && (i = {}); var s = this, a = new (0, _.func)(function (e) { if (1 !== e.length) { var i = function () { s.emit('observerUpdate', e[0]); }; t.requestAnimationFrame ? t.requestAnimationFrame(i) : t.setTimeout(i, 0); } else s.emit('observerUpdate', e[0]); }); a.observe(e, { attributes: void 0 === i.attributes || i.attributes, childList: void 0 === i.childList || i.childList, characterData: void 0 === i.characterData || i.characterData, }), s.observer.observers.push(a); }, init: function () { if (o.observer && this.params.observer) { if (this.params.observeParents) for ( var e = this.$el.parents(), t = 0; t < e.length; t += 1 ) this.observer.attach(e[t]); this.observer.attach(this.$el[0], { childList: this.params.observeSlideChildren, }), this.observer.attach(this.$wrapperEl[0], { attributes: !1, }); } }, destroy: function () { this.observer.observers.forEach(function (e) { e.disconnect(); }), (this.observer.observers = []); }, }, Z = { name: 'observer', params: { observer: !1, observeParents: !1, observeSlideChildren: !1, }, create: function () { n.extend(this, { observer: { init: _.init.bind(this), attach: _.attach.bind(this), destroy: _.destroy.bind(this), observers: [], }, }); }, on: { init: function () { this.observer.init(); }, destroy: function () { this.observer.destroy(); }, }, }, Q = { update: function (e) { var t = this, i = t.params, s = i.slidesPerView, a = i.slidesPerGroup, r = i.centeredSlides, o = t.params.virtual, l = o.addSlidesBefore, d = o.addSlidesAfter, h = t.virtual, p = h.from, c = h.to, u = h.slides, v = h.slidesGrid, f = h.renderSlide, m = h.offset; t.updateActiveIndex(); var g, b, w, y = t.activeIndex || 0; (g = t.rtlTranslate ? 'right' : t.isHorizontal() ? 'left' : 'top'), r ? ((b = Math.floor(s / 2) + a + l), (w = Math.floor(s / 2) + a + d)) : ((b = s + (a - 1) + l), (w = a + d)); var x = Math.max((y || 0) - w, 0), T = Math.min((y || 0) + b, u.length - 1), E = (t.slidesGrid[x] || 0) - (t.slidesGrid[0] || 0); function S() { t.updateSlides(), t.updateProgress(), t.updateSlidesClasses(), t.lazy && t.params.lazy.enabled && t.lazy.load(); } if ( (n.extend(t.virtual, { from: x, to: T, offset: E, slidesGrid: t.slidesGrid, }), p === x && c === T && !e) ) return ( t.slidesGrid !== v && E !== m && t.slides.css(g, E + 'px'), void t.updateProgress() ); if (t.params.virtual.renderExternal) return ( t.params.virtual.renderExternal.call(t, { offset: E, from: x, to: T, slides: (function () { for (var e = [], t = x; t <= T; t += 1) e.push(u[t]); return e; })(), }), void S() ); var C = [], M = []; if (e) t.$wrapperEl.find('.' + t.params.slideClass).remove(); else for (var P = p; P <= c; P += 1) (P < x || P > T) && t.$wrapperEl .find( '.' + t.params.slideClass + '[data-swiper-slide-index="' + P + '"]' ) .remove(); for (var z = 0; z < u.length; z += 1) z >= x && z <= T && (void 0 === c || e ? M.push(z) : (z > c && M.push(z), z < p && C.push(z))); M.forEach(function (e) { t.$wrapperEl.append(f(u[e], e)); }), C.sort(function (e, t) { return t - e; }).forEach(function (e) { t.$wrapperEl.prepend(f(u[e], e)); }), t.$wrapperEl.children('.swiper-slide').css(g, E + 'px'), S(); }, renderSlide: function (e, t) { var i = this.params.virtual; if (i.cache && this.virtual.cache[t]) return this.virtual.cache[t]; var a = i.renderSlide ? s(i.renderSlide.call(this, e, t)) : s( '<div class="' + this.params.slideClass + '" data-swiper-slide-index="' + t + '">' + e + '</div>' ); return ( a.attr('data-swiper-slide-index') || a.attr('data-swiper-slide-index', t), i.cache && (this.virtual.cache[t] = a), a ); }, appendSlide: function (e) { if ('object' == typeof e && 'length' in e) for (var t = 0; t < e.length; t += 1) e[t] && this.virtual.slides.push(e[t]); else this.virtual.slides.push(e); this.virtual.update(!0); }, prependSlide: function (e) { var t = this.activeIndex, i = t + 1, s = 1; if (Array.isArray(e)) { for (var a = 0; a < e.length; a += 1) e[a] && this.virtual.slides.unshift(e[a]); (i = t + e.length), (s = e.length); } else this.virtual.slides.unshift(e); if (this.params.virtual.cache) { var r = this.virtual.cache, n = {}; Object.keys(r).forEach(function (e) { var t = r[e], i = t.attr('data-swiper-slide-index'); i && t.attr( 'data-swiper-slide-index', parseInt(i, 10) + 1 ), (n[parseInt(e, 10) + s] = t); }), (this.virtual.cache = n); } this.virtual.update(!0), this.slideTo(i, 0); }, removeSlide: function (e) { if (null != e) { var t = this.activeIndex; if (Array.isArray(e)) for (var i = e.length - 1; i >= 0; i -= 1) this.virtual.slides.splice(e[i], 1), this.params.virtual.cache && delete this.virtual.cache[e[i]], e[i] < t && (t -= 1), (t = Math.max(t, 0)); else this.virtual.slides.splice(e, 1), this.params.virtual.cache && delete this.virtual.cache[e], e < t && (t -= 1), (t = Math.max(t, 0)); this.virtual.update(!0), this.slideTo(t, 0); } }, removeAllSlides: function () { (this.virtual.slides = []), this.params.virtual.cache && (this.virtual.cache = {}), this.virtual.update(!0), this.slideTo(0, 0); }, }, J = { name: 'virtual', params: { virtual: { enabled: !1, slides: [], cache: !0, renderSlide: null, renderExternal: null, addSlidesBefore: 0, addSlidesAfter: 0, }, }, create: function () { n.extend(this, { virtual: { update: Q.update.bind(this), appendSlide: Q.appendSlide.bind(this), prependSlide: Q.prependSlide.bind(this), removeSlide: Q.removeSlide.bind(this), removeAllSlides: Q.removeAllSlides.bind(this), renderSlide: Q.renderSlide.bind(this), slides: this.params.virtual.slides, cache: {}, }, }); }, on: { beforeInit: function () { if (this.params.virtual.enabled) { this.classNames.push( this.params.containerModifierClass + 'virtual' ); var e = { watchSlidesProgress: !0 }; n.extend(this.params, e), n.extend(this.originalParams, e), this.params.initialSlide || this.virtual.update(); } }, setTranslate: function () { this.params.virtual.enabled && this.virtual.update(); }, }, }, ee = { handle: function (i) { var s = this.rtlTranslate, a = i; a.originalEvent && (a = a.originalEvent); var r = a.keyCode || a.charCode; if ( !this.allowSlideNext && ((this.isHorizontal() && 39 === r) || (this.isVertical() && 40 === r) || 34 === r) ) return !1; if ( !this.allowSlidePrev && ((this.isHorizontal() && 37 === r) || (this.isVertical() && 38 === r) || 33 === r) ) return !1; if ( !( a.shiftKey || a.altKey || a.ctrlKey || a.metaKey || (e.activeElement && e.activeElement.nodeName && ('input' === e.activeElement.nodeName.toLowerCase() || 'textarea' === e.activeElement.nodeName.toLowerCase())) ) ) { if ( this.params.keyboard.onlyInViewport && (33 === r || 34 === r || 37 === r || 39 === r || 38 === r || 40 === r) ) { var n = !1; if ( this.$el.parents('.' + this.params.slideClass) .length > 0 && 0 === this.$el.parents( '.' + this.params.slideActiveClass ).length ) return; var o = t.innerWidth, l = t.innerHeight, d = this.$el.offset(); s && (d.left -= this.$el[0].scrollLeft); for ( var h = [ [d.left, d.top], [d.left + this.width, d.top], [d.left, d.top + this.height], [d.left + this.width, d.top + this.height], ], p = 0; p < h.length; p += 1 ) { var c = h[p]; c[0] >= 0 && c[0] <= o && c[1] >= 0 && c[1] <= l && (n = !0); } if (!n) return; } this.isHorizontal() ? ((33 !== r && 34 !== r && 37 !== r && 39 !== r) || (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)), (((34 !== r && 39 !== r) || s) && ((33 !== r && 37 !== r) || !s)) || this.slideNext(), (((33 !== r && 37 !== r) || s) && ((34 !== r && 39 !== r) || !s)) || this.slidePrev()) : ((33 !== r && 34 !== r && 38 !== r && 40 !== r) || (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)), (34 !== r && 40 !== r) || this.slideNext(), (33 !== r && 38 !== r) || this.slidePrev()), this.emit('keyPress', r); } }, enable: function () { this.keyboard.enabled || (s(e).on('keydown', this.keyboard.handle), (this.keyboard.enabled = !0)); }, disable: function () { this.keyboard.enabled && (s(e).off('keydown', this.keyboard.handle), (this.keyboard.enabled = !1)); }, }, te = { name: 'keyboard', params: { keyboard: { enabled: !1, onlyInViewport: !0 } }, create: function () { n.extend(this, { keyboard: { enabled: !1, enable: ee.enable.bind(this), disable: ee.disable.bind(this), handle: ee.handle.bind(this), }, }); }, on: { init: function () { this.params.keyboard.enabled && this.keyboard.enable(); }, destroy: function () { this.keyboard.enabled && this.keyboard.disable(); }, }, }; var ie = { lastScrollTime: n.now(), lastEventBeforeSnap: void 0, recentWheelEvents: [], event: function () { return t.navigator.userAgent.indexOf('firefox') > -1 ? 'DOMMouseScroll' : (function () { var t = 'onwheel' in e; if (!t) { var i = e.createElement('div'); i.setAttribute('onwheel', 'return;'), (t = 'function' == typeof i.onwheel); } return ( !t && e.implementation && e.implementation.hasFeature && !0 !== e.implementation.hasFeature('', '') && (t = e.implementation.hasFeature( 'Events.wheel', '3.0' )), t ); })() ? 'wheel' : 'mousewheel'; }, normalize: function (e) { var t = 0, i = 0, s = 0, a = 0; return ( 'detail' in e && (i = e.detail), 'wheelDelta' in e && (i = -e.wheelDelta / 120), 'wheelDeltaY' in e && (i = -e.wheelDeltaY / 120), 'wheelDeltaX' in e && (t = -e.wheelDeltaX / 120), 'axis' in e && e.axis === e.HORIZONTAL_AXIS && ((t = i), (i = 0)), (s = 10 * t), (a = 10 * i), 'deltaY' in e && (a = e.deltaY), 'deltaX' in e && (s = e.deltaX), e.shiftKey && !s && ((s = a), (a = 0)), (s || a) && e.deltaMode && (1 === e.deltaMode ? ((s *= 40), (a *= 40)) : ((s *= 800), (a *= 800))), s && !t && (t = s < 1 ? -1 : 1), a && !i && (i = a < 1 ? -1 : 1), { spinX: t, spinY: i, pixelX: s, pixelY: a } ); }, handleMouseEnter: function () { this.mouseEntered = !0; }, handleMouseLeave: function () { this.mouseEntered = !1; }, handle: function (e) { var t = e, i = this, a = i.params.mousewheel; i.params.cssMode && t.preventDefault(); var r = i.$el; if ( ('container' !== i.params.mousewheel.eventsTarged && (r = s(i.params.mousewheel.eventsTarged)), !i.mouseEntered && !r[0].contains(t.target) && !a.releaseOnEdges) ) return !0; t.originalEvent && (t = t.originalEvent); var o = 0, l = i.rtlTranslate ? -1 : 1, d = ie.normalize(t); if (a.forceToAxis) if (i.isHorizontal()) { if (!(Math.abs(d.pixelX) > Math.abs(d.pixelY))) return !0; o = d.pixelX * l; } else { if (!(Math.abs(d.pixelY) > Math.abs(d.pixelX))) return !0; o = d.pixelY; } else o = Math.abs(d.pixelX) > Math.abs(d.pixelY) ? -d.pixelX * l : -d.pixelY; if (0 === o) return !0; if ((a.invert && (o = -o), i.params.freeMode)) { var h = { time: n.now(), delta: Math.abs(o), direction: Math.sign(o), }, p = i.mousewheel.lastEventBeforeSnap, c = p && h.time < p.time + 500 && h.delta <= p.delta && h.direction === p.direction; if (!c) { (i.mousewheel.lastEventBeforeSnap = void 0), i.params.loop && i.loopFix(); var u = i.getTranslate() + o * a.sensitivity, v = i.isBeginning, f = i.isEnd; if ( (u >= i.minTranslate() && (u = i.minTranslate()), u <= i.maxTranslate() && (u = i.maxTranslate()), i.setTransition(0), i.setTranslate(u), i.updateProgress(), i.updateActiveIndex(), i.updateSlidesClasses(), ((!v && i.isBeginning) || (!f && i.isEnd)) && i.updateSlidesClasses(), i.params.freeModeSticky) ) { clearTimeout(i.mousewheel.timeout), (i.mousewheel.timeout = void 0); var m = i.mousewheel.recentWheelEvents; m.length >= 15 && m.shift(); var g = m.length ? m[m.length - 1] : void 0, b = m[0]; if ( (m.push(h), g && (h.delta > g.delta || h.direction !== g.direction)) ) m.splice(0); else if ( m.length >= 15 && h.time - b.time < 500 && b.delta - h.delta >= 1 && h.delta <= 6 ) { var w = o > 0 ? 0.8 : 0.2; (i.mousewheel.lastEventBeforeSnap = h), m.splice(0), (i.mousewheel.timeout = n.nextTick( function () { i.slideToClosest( i.params.speed, !0, void 0, w ); }, 0 )); } i.mousewheel.timeout || (i.mousewheel.timeout = n.nextTick(function () { (i.mousewheel.lastEventBeforeSnap = h), m.splice(0), i.slideToClosest( i.params.speed, !0, void 0, 0.5 ); }, 500)); } if ( (c || i.emit('scroll', t), i.params.autoplay && i.params.autoplayDisableOnInteraction && i.autoplay.stop(), u === i.minTranslate() || u === i.maxTranslate()) ) return !0; } } else { var y = { time: n.now(), delta: Math.abs(o), direction: Math.sign(o), raw: e, }, x = i.mousewheel.recentWheelEvents; x.length >= 2 && x.shift(); var T = x.length ? x[x.length - 1] : void 0; if ( (x.push(y), T ? (y.direction !== T.direction || y.delta > T.delta) && i.mousewheel.animateSlider(y) : i.mousewheel.animateSlider(y), i.mousewheel.releaseScroll(y)) ) return !0; } return ( t.preventDefault ? t.preventDefault() : (t.returnValue = !1), !1 ); }, animateSlider: function (e) { return ( (e.delta >= 6 && n.now() - this.mousewheel.lastScrollTime < 60) || (e.direction < 0 ? (this.isEnd && !this.params.loop) || this.animating || (this.slideNext(), this.emit('scroll', e.raw)) : (this.isBeginning && !this.params.loop) || this.animating || (this.slidePrev(), this.emit('scroll', e.raw)), (this.mousewheel.lastScrollTime = new t.Date().getTime()), !1) ); }, releaseScroll: function (e) { var t = this.params.mousewheel; if (e.direction < 0) { if (this.isEnd && !this.params.loop && t.releaseOnEdges) return !0; } else if ( this.isBeginning && !this.params.loop && t.releaseOnEdges ) return !0; return !1; }, enable: function () { var e = ie.event(); if (this.params.cssMode) return ( this.wrapperEl.removeEventListener( e, this.mousewheel.handle ), !0 ); if (!e) return !1; if (this.mousewheel.enabled) return !1; var t = this.$el; return ( 'container' !== this.params.mousewheel.eventsTarged && (t = s(this.params.mousewheel.eventsTarged)), t.on('mouseenter', this.mousewheel.handleMouseEnter), t.on('mouseleave', this.mousewheel.handleMouseLeave), t.on(e, this.mousewheel.handle), (this.mousewheel.enabled = !0), !0 ); }, disable: function () { var e = ie.event(); if (this.params.cssMode) return ( this.wrapperEl.addEventListener( e, this.mousewheel.handle ), !0 ); if (!e) return !1; if (!this.mousewheel.enabled) return !1; var t = this.$el; return ( 'container' !== this.params.mousewheel.eventsTarged && (t = s(this.params.mousewheel.eventsTarged)), t.off(e, this.mousewheel.handle), (this.mousewheel.enabled = !1), !0 ); }, }, se = { update: function () { var e = this.params.navigation; if (!this.params.loop) { var t = this.navigation, i = t.$nextEl, s = t.$prevEl; s && s.length > 0 && (this.isBeginning ? s.addClass(e.disabledClass) : s.removeClass(e.disabledClass), s[ this.params.watchOverflow && this.isLocked ? 'addClass' : 'removeClass' ](e.lockClass)), i && i.length > 0 && (this.isEnd ? i.addClass(e.disabledClass) : i.removeClass(e.disabledClass), i[ this.params.watchOverflow && this.isLocked ? 'addClass' : 'removeClass' ](e.lockClass)); } }, onPrevClick: function (e) { e.preventDefault(), (this.isBeginning && !this.params.loop) || this.slidePrev(); }, onNextClick: function (e) { e.preventDefault(), (this.isEnd && !this.params.loop) || this.slideNext(); }, init: function () { var e, t, i = this.params.navigation; (i.nextEl || i.prevEl) && (i.nextEl && ((e = s(i.nextEl)), this.params.uniqueNavElements && 'string' == typeof i.nextEl && e.length > 1 && 1 === this.$el.find(i.nextEl).length && (e = this.$el.find(i.nextEl))), i.prevEl && ((t = s(i.prevEl)), this.params.uniqueNavElements && 'string' == typeof i.prevEl && t.length > 1 && 1 === this.$el.find(i.prevEl).length && (t = this.$el.find(i.prevEl))), e && e.length > 0 && e.on('click', this.navigation.onNextClick), t && t.length > 0 && t.on('click', this.navigation.onPrevClick), n.extend(this.navigation, { $nextEl: e, nextEl: e && e[0], $prevEl: t, prevEl: t && t[0], })); }, destroy: function () { var e = this.navigation, t = e.$nextEl, i = e.$prevEl; t && t.length && (t.off('click', this.navigation.onNextClick), t.removeClass(this.params.navigation.disabledClass)), i && i.length && (i.off('click', this.navigation.onPrevClick), i.removeClass(this.params.navigation.disabledClass)); }, }, ae = { update: function () { var e = this.rtl, t = this.params.pagination; if ( t.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length ) { var i, a = this.virtual && this.params.virtual.enabled ? this.virtual.slides.length : this.slides.length, r = this.pagination.$el, n = this.params.loop ? Math.ceil( (a - 2 * this.loopedSlides) / this.params.slidesPerGroup ) : this.snapGrid.length; if ( (this.params.loop ? ((i = Math.ceil( (this.activeIndex - this.loopedSlides) / this.params.slidesPerGroup )) > a - 1 - 2 * this.loopedSlides && (i -= a - 2 * this.loopedSlides), i > n - 1 && (i -= n), i < 0 && 'bullets' !== this.params.paginationType && (i = n + i)) : (i = void 0 !== this.snapIndex ? this.snapIndex : this.activeIndex || 0), 'bullets' === t.type && this.pagination.bullets && this.pagination.bullets.length > 0) ) { var o, l, d, h = this.pagination.bullets; if ( (t.dynamicBullets && ((this.pagination.bulletSize = h .eq(0) [ this.isHorizontal() ? 'outerWidth' : 'outerHeight' ](!0)), r.css( this.isHorizontal() ? 'width' : 'height', this.pagination.bulletSize * (t.dynamicMainBullets + 4) + 'px' ), t.dynamicMainBullets > 1 && void 0 !== this.previousIndex && ((this.pagination.dynamicBulletIndex += i - this.previousIndex), this.pagination.dynamicBulletIndex > t.dynamicMainBullets - 1 ? (this.pagination.dynamicBulletIndex = t.dynamicMainBullets - 1) : this.pagination.dynamicBulletIndex < 0 && (this.pagination.dynamicBulletIndex = 0)), (o = i - this.pagination.dynamicBulletIndex), (d = ((l = o + (Math.min( h.length, t.dynamicMainBullets ) - 1)) + o) / 2)), h.removeClass( t.bulletActiveClass + ' ' + t.bulletActiveClass + '-next ' + t.bulletActiveClass + '-next-next ' + t.bulletActiveClass + '-prev ' + t.bulletActiveClass + '-prev-prev ' + t.bulletActiveClass + '-main' ), r.length > 1) ) h.each(function (e, a) { var r = s(a), n = r.index(); n === i && r.addClass(t.bulletActiveClass), t.dynamicBullets && (n >= o && n <= l && r.addClass( t.bulletActiveClass + '-main' ), n === o && r .prev() .addClass( t.bulletActiveClass + '-prev' ) .prev() .addClass( t.bulletActiveClass + '-prev-prev' ), n === l && r .next() .addClass( t.bulletActiveClass + '-next' ) .next() .addClass( t.bulletActiveClass + '-next-next' )); }); else { var p = h.eq(i), c = p.index(); if ( (p.addClass(t.bulletActiveClass), t.dynamicBullets) ) { for ( var u = h.eq(o), v = h.eq(l), f = o; f <= l; f += 1 ) h.eq(f).addClass( t.bulletActiveClass + '-main' ); if (this.params.loop) if (c >= h.length - t.dynamicMainBullets) { for ( var m = t.dynamicMainBullets; m >= 0; m -= 1 ) h.eq(h.length - m).addClass( t.bulletActiveClass + '-main' ); h.eq( h.length - t.dynamicMainBullets - 1 ).addClass( t.bulletActiveClass + '-prev' ); } else u .prev() .addClass( t.bulletActiveClass + '-prev' ) .prev() .addClass( t.bulletActiveClass + '-prev-prev' ), v .next() .addClass( t.bulletActiveClass + '-next' ) .next() .addClass( t.bulletActiveClass + '-next-next' ); else u .prev() .addClass(t.bulletActiveClass + '-prev') .prev() .addClass( t.bulletActiveClass + '-prev-prev' ), v .next() .addClass( t.bulletActiveClass + '-next' ) .next() .addClass( t.bulletActiveClass + '-next-next' ); } } if (t.dynamicBullets) { var g = Math.min( h.length, t.dynamicMainBullets + 4 ), b = (this.pagination.bulletSize * g - this.pagination.bulletSize) / 2 - d * this.pagination.bulletSize, w = e ? 'right' : 'left'; h.css(this.isHorizontal() ? w : 'top', b + 'px'); } } if ( ('fraction' === t.type && (r .find('.' + t.currentClass) .text(t.formatFractionCurrent(i + 1)), r .find('.' + t.totalClass) .text(t.formatFractionTotal(n))), 'progressbar' === t.type) ) { var y; y = t.progressbarOpposite ? this.isHorizontal() ? 'vertical' : 'horizontal' : this.isHorizontal() ? 'horizontal' : 'vertical'; var x = (i + 1) / n, T = 1, E = 1; 'horizontal' === y ? (T = x) : (E = x), r .find('.' + t.progressbarFillClass) .transform( 'translate3d(0,0,0) scaleX(' + T + ') scaleY(' + E + ')' ) .transition(this.params.speed); } 'custom' === t.type && t.renderCustom ? (r.html(t.renderCustom(this, i + 1, n)), this.emit('paginationRender', this, r[0])) : this.emit('paginationUpdate', this, r[0]), r[ this.params.watchOverflow && this.isLocked ? 'addClass' : 'removeClass' ](t.lockClass); } }, render: function () { var e = this.params.pagination; if ( e.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length ) { var t = this.virtual && this.params.virtual.enabled ? this.virtual.slides.length : this.slides.length, i = this.pagination.$el, s = ''; if ('bullets' === e.type) { for ( var a = this.params.loop ? Math.ceil( (t - 2 * this.loopedSlides) / this.params.slidesPerGroup ) : this.snapGrid.length, r = 0; r < a; r += 1 ) e.renderBullet ? (s += e.renderBullet.call( this, r, e.bulletClass )) : (s += '<' + e.bulletElement + ' class="' + e.bulletClass + '"></' + e.bulletElement + '>'); i.html(s), (this.pagination.bullets = i.find( '.' + e.bulletClass )); } 'fraction' === e.type && ((s = e.renderFraction ? e.renderFraction.call( this, e.currentClass, e.totalClass ) : '<span class="' + e.currentClass + '"></span> / <span class="' + e.totalClass + '"></span>'), i.html(s)), 'progressbar' === e.type && ((s = e.renderProgressbar ? e.renderProgressbar.call( this, e.progressbarFillClass ) : '<span class="' + e.progressbarFillClass + '"></span>'), i.html(s)), 'custom' !== e.type && this.emit( 'paginationRender', this.pagination.$el[0] ); } }, init: function () { var e = this, t = e.params.pagination; if (t.el) { var i = s(t.el); 0 !== i.length && (e.params.uniqueNavElements && 'string' == typeof t.el && i.length > 1 && 1 === e.$el.find(t.el).length && (i = e.$el.find(t.el)), 'bullets' === t.type && t.clickable && i.addClass(t.clickableClass), i.addClass(t.modifierClass + t.type), 'bullets' === t.type && t.dynamicBullets && (i.addClass( '' + t.modifierClass + t.type + '-dynamic' ), (e.pagination.dynamicBulletIndex = 0), t.dynamicMainBullets < 1 && (t.dynamicMainBullets = 1)), 'progressbar' === t.type && t.progressbarOpposite && i.addClass(t.progressbarOppositeClass), t.clickable && i.on('click', '.' + t.bulletClass, function (t) { t.preventDefault(); var i = s(this).index() * e.params.slidesPerGroup; e.params.loop && (i += e.loopedSlides), e.slideTo(i); }), n.extend(e.pagination, { $el: i, el: i[0] })); } }, destroy: function () { var e = this.params.pagination; if ( e.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination.$el.length ) { var t = this.pagination.$el; t.removeClass(e.hiddenClass), t.removeClass(e.modifierClass + e.type), this.pagination.bullets && this.pagination.bullets.removeClass( e.bulletActiveClass ), e.clickable && t.off('click', '.' + e.bulletClass); } }, }, re = { setTranslate: function () { if (this.params.scrollbar.el && this.scrollbar.el) { var e = this.scrollbar, t = this.rtlTranslate, i = this.progress, s = e.dragSize, a = e.trackSize, r = e.$dragEl, n = e.$el, o = this.params.scrollbar, l = s, d = (a - s) * i; t ? (d = -d) > 0 ? ((l = s - d), (d = 0)) : -d + s > a && (l = a + d) : d < 0 ? ((l = s + d), (d = 0)) : d + s > a && (l = a - d), this.isHorizontal() ? (r.transform('translate3d(' + d + 'px, 0, 0)'), (r[0].style.width = l + 'px')) : (r.transform('translate3d(0px, ' + d + 'px, 0)'), (r[0].style.height = l + 'px')), o.hide && (clearTimeout(this.scrollbar.timeout), (n[0].style.opacity = 1), (this.scrollbar.timeout = setTimeout(function () { (n[0].style.opacity = 0), n.transition(400); }, 1e3))); } }, setTransition: function (e) { this.params.scrollbar.el && this.scrollbar.el && this.scrollbar.$dragEl.transition(e); }, updateSize: function () { if (this.params.scrollbar.el && this.scrollbar.el) { var e = this.scrollbar, t = e.$dragEl, i = e.$el; (t[0].style.width = ''), (t[0].style.height = ''); var s, a = this.isHorizontal() ? i[0].offsetWidth : i[0].offsetHeight, r = this.size / this.virtualSize, o = r * (a / this.size); (s = 'auto' === this.params.scrollbar.dragSize ? a * r : parseInt(this.params.scrollbar.dragSize, 10)), this.isHorizontal() ? (t[0].style.width = s + 'px') : (t[0].style.height = s + 'px'), (i[0].style.display = r >= 1 ? 'none' : ''), this.params.scrollbar.hide && (i[0].style.opacity = 0), n.extend(e, { trackSize: a, divider: r, moveDivider: o, dragSize: s, }), e.$el[ this.params.watchOverflow && this.isLocked ? 'addClass' : 'removeClass' ](this.params.scrollbar.lockClass); } }, getPointerPosition: function (e) { return this.isHorizontal() ? 'touchstart' === e.type || 'touchmove' === e.type ? e.targetTouches[0].clientX : e.clientX : 'touchstart' === e.type || 'touchmove' === e.type ? e.targetTouches[0].clientY : e.clientY; }, setDragPosition: function (e) { var t, i = this.scrollbar, s = this.rtlTranslate, a = i.$el, r = i.dragSize, n = i.trackSize, o = i.dragStartPos; (t = (i.getPointerPosition(e) - a.offset()[this.isHorizontal() ? 'left' : 'top'] - (null !== o ? o : r / 2)) / (n - r)), (t = Math.max(Math.min(t, 1), 0)), s && (t = 1 - t); var l = this.minTranslate() + (this.maxTranslate() - this.minTranslate()) * t; this.updateProgress(l), this.setTranslate(l), this.updateActiveIndex(), this.updateSlidesClasses(); }, onDragStart: function (e) { var t = this.params.scrollbar, i = this.scrollbar, s = this.$wrapperEl, a = i.$el, r = i.$dragEl; (this.scrollbar.isTouched = !0), (this.scrollbar.dragStartPos = e.target === r[0] || e.target === r ? i.getPointerPosition(e) - e.target.getBoundingClientRect()[ this.isHorizontal() ? 'left' : 'top' ] : null), e.preventDefault(), e.stopPropagation(), s.transition(100), r.transition(100), i.setDragPosition(e), clearTimeout(this.scrollbar.dragTimeout), a.transition(0), t.hide && a.css('opacity', 1), this.params.cssMode && this.$wrapperEl.css('scroll-snap-type', 'none'), this.emit('scrollbarDragStart', e); }, onDragMove: function (e) { var t = this.scrollbar, i = this.$wrapperEl, s = t.$el, a = t.$dragEl; this.scrollbar.isTouched && (e.preventDefault ? e.preventDefault() : (e.returnValue = !1), t.setDragPosition(e), i.transition(0), s.transition(0), a.transition(0), this.emit('scrollbarDragMove', e)); }, onDragEnd: function (e) { var t = this.params.scrollbar, i = this.scrollbar, s = this.$wrapperEl, a = i.$el; this.scrollbar.isTouched && ((this.scrollbar.isTouched = !1), this.params.cssMode && (this.$wrapperEl.css('scroll-snap-type', ''), s.transition('')), t.hide && (clearTimeout(this.scrollbar.dragTimeout), (this.scrollbar.dragTimeout = n.nextTick(function () { a.css('opacity', 0), a.transition(400); }, 1e3))), this.emit('scrollbarDragEnd', e), t.snapOnRelease && this.slideToClosest()); }, enableDraggable: function () { if (this.params.scrollbar.el) { var t = this.scrollbar, i = this.touchEventsTouch, s = this.touchEventsDesktop, a = this.params, r = t.$el[0], n = !(!o.passiveListener || !a.passiveListeners) && { passive: !1, capture: !1, }, l = !(!o.passiveListener || !a.passiveListeners) && { passive: !0, capture: !1, }; o.touch ? (r.addEventListener( i.start, this.scrollbar.onDragStart, n ), r.addEventListener( i.move, this.scrollbar.onDragMove, n ), r.addEventListener( i.end, this.scrollbar.onDragEnd, l )) : (r.addEventListener( s.start, this.scrollbar.onDragStart, n ), e.addEventListener( s.move, this.scrollbar.onDragMove, n ), e.addEventListener( s.end, this.scrollbar.onDragEnd, l )); } }, disableDraggable: function () { if (this.params.scrollbar.el) { var t = this.scrollbar, i = this.touchEventsTouch, s = this.touchEventsDesktop, a = this.params, r = t.$el[0], n = !(!o.passiveListener || !a.passiveListeners) && { passive: !1, capture: !1, }, l = !(!o.passiveListener || !a.passiveListeners) && { passive: !0, capture: !1, }; o.touch ? (r.removeEventListener( i.start, this.scrollbar.onDragStart, n ), r.removeEventListener( i.move, this.scrollbar.onDragMove, n ), r.removeEventListener( i.end, this.scrollbar.onDragEnd, l )) : (r.removeEventListener( s.start, this.scrollbar.onDragStart, n ), e.removeEventListener( s.move, this.scrollbar.onDragMove, n ), e.removeEventListener( s.end, this.scrollbar.onDragEnd, l )); } }, init: function () { if (this.params.scrollbar.el) { var e = this.scrollbar, t = this.$el, i = this.params.scrollbar, a = s(i.el); this.params.uniqueNavElements && 'string' == typeof i.el && a.length > 1 && 1 === t.find(i.el).length && (a = t.find(i.el)); var r = a.find('.' + this.params.scrollbar.dragClass); 0 === r.length && ((r = s( '<div class="' + this.params.scrollbar.dragClass + '"></div>' )), a.append(r)), n.extend(e, { $el: a, el: a[0], $dragEl: r, dragEl: r[0], }), i.draggable && e.enableDraggable(); } }, destroy: function () { this.scrollbar.disableDraggable(); }, }, ne = { setTransform: function (e, t) { var i = this.rtl, a = s(e), r = i ? -1 : 1, n = a.attr('data-swiper-parallax') || '0', o = a.attr('data-swiper-parallax-x'), l = a.attr('data-swiper-parallax-y'), d = a.attr('data-swiper-parallax-scale'), h = a.attr('data-swiper-parallax-opacity'); if ( (o || l ? ((o = o || '0'), (l = l || '0')) : this.isHorizontal() ? ((o = n), (l = '0')) : ((l = n), (o = '0')), (o = o.indexOf('%') >= 0 ? parseInt(o, 10) * t * r + '%' : o * t * r + 'px'), (l = l.indexOf('%') >= 0 ? parseInt(l, 10) * t + '%' : l * t + 'px'), null != h) ) { var p = h - (h - 1) * (1 - Math.abs(t)); a[0].style.opacity = p; } if (null == d) a.transform('translate3d(' + o + ', ' + l + ', 0px)'); else { var c = d - (d - 1) * (1 - Math.abs(t)); a.transform( 'translate3d(' + o + ', ' + l + ', 0px) scale(' + c + ')' ); } }, setTranslate: function () { var e = this, t = e.$el, i = e.slides, a = e.progress, r = e.snapGrid; t .children( '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]' ) .each(function (t, i) { e.parallax.setTransform(i, a); }), i.each(function (t, i) { var n = i.progress; e.params.slidesPerGroup > 1 && 'auto' !== e.params.slidesPerView && (n += Math.ceil(t / 2) - a * (r.length - 1)), (n = Math.min(Math.max(n, -1), 1)), s(i) .find( '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]' ) .each(function (t, i) { e.parallax.setTransform(i, n); }); }); }, setTransition: function (e) { void 0 === e && (e = this.params.speed); this.$el .find( '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]' ) .each(function (t, i) { var a = s(i), r = parseInt( a.attr('data-swiper-parallax-duration'), 10 ) || e; 0 === e && (r = 0), a.transition(r); }); }, }, oe = { getDistanceBetweenTouches: function (e) { if (e.targetTouches.length < 2) return 1; var t = e.targetTouches[0].pageX, i = e.targetTouches[0].pageY, s = e.targetTouches[1].pageX, a = e.targetTouches[1].pageY; return Math.sqrt(Math.pow(s - t, 2) + Math.pow(a - i, 2)); }, onGestureStart: function (e) { var t = this.params.zoom, i = this.zoom, a = i.gesture; if ( ((i.fakeGestureTouched = !1), (i.fakeGestureMoved = !1), !o.gestures) ) { if ( 'touchstart' !== e.type || ('touchstart' === e.type && e.targetTouches.length < 2) ) return; (i.fakeGestureTouched = !0), (a.scaleStart = oe.getDistanceBetweenTouches(e)); } (a.$slideEl && a.$slideEl.length) || ((a.$slideEl = s(e.target).closest( '.' + this.params.slideClass )), 0 === a.$slideEl.length && (a.$slideEl = this.slides.eq(this.activeIndex)), (a.$imageEl = a.$slideEl.find( 'img, svg, canvas, picture, .swiper-zoom-target' )), (a.$imageWrapEl = a.$imageEl.parent('.' + t.containerClass)), (a.maxRatio = a.$imageWrapEl.attr('data-swiper-zoom') || t.maxRatio), 0 !== a.$imageWrapEl.length) ? (a.$imageEl && a.$imageEl.transition(0), (this.zoom.isScaling = !0)) : (a.$imageEl = void 0); }, onGestureChange: function (e) { var t = this.params.zoom, i = this.zoom, s = i.gesture; if (!o.gestures) { if ( 'touchmove' !== e.type || ('touchmove' === e.type && e.targetTouches.length < 2) ) return; (i.fakeGestureMoved = !0), (s.scaleMove = oe.getDistanceBetweenTouches(e)); } s.$imageEl && 0 !== s.$imageEl.length && ((i.scale = o.gestures ? e.scale * i.currentScale : (s.scaleMove / s.scaleStart) * i.currentScale), i.scale > s.maxRatio && (i.scale = s.maxRatio - 1 + Math.pow(i.scale - s.maxRatio + 1, 0.5)), i.scale < t.minRatio && (i.scale = t.minRatio + 1 - Math.pow(t.minRatio - i.scale + 1, 0.5)), s.$imageEl.transform( 'translate3d(0,0,0) scale(' + i.scale + ')' )); }, onGestureEnd: function (e) { var t = this.params.zoom, i = this.zoom, s = i.gesture; if (!o.gestures) { if (!i.fakeGestureTouched || !i.fakeGestureMoved) return; if ( 'touchend' !== e.type || ('touchend' === e.type && e.changedTouches.length < 2 && !I.android) ) return; (i.fakeGestureTouched = !1), (i.fakeGestureMoved = !1); } s.$imageEl && 0 !== s.$imageEl.length && ((i.scale = Math.max( Math.min(i.scale, s.maxRatio), t.minRatio )), s.$imageEl .transition(this.params.speed) .transform('translate3d(0,0,0) scale(' + i.scale + ')'), (i.currentScale = i.scale), (i.isScaling = !1), 1 === i.scale && (s.$slideEl = void 0)); }, onTouchStart: function (e) { var t = this.zoom, i = t.gesture, s = t.image; i.$imageEl && 0 !== i.$imageEl.length && (s.isTouched || (I.android && e.preventDefault(), (s.isTouched = !0), (s.touchesStart.x = 'touchstart' === e.type ? e.targetTouches[0].pageX : e.pageX), (s.touchesStart.y = 'touchstart' === e.type ? e.targetTouches[0].pageY : e.pageY))); }, onTouchMove: function (e) { var t = this.zoom, i = t.gesture, s = t.image, a = t.velocity; if ( i.$imageEl && 0 !== i.$imageEl.length && ((this.allowClick = !1), s.isTouched && i.$slideEl) ) { s.isMoved || ((s.width = i.$imageEl[0].offsetWidth), (s.height = i.$imageEl[0].offsetHeight), (s.startX = n.getTranslate(i.$imageWrapEl[0], 'x') || 0), (s.startY = n.getTranslate(i.$imageWrapEl[0], 'y') || 0), (i.slideWidth = i.$slideEl[0].offsetWidth), (i.slideHeight = i.$slideEl[0].offsetHeight), i.$imageWrapEl.transition(0), this.rtl && ((s.startX = -s.startX), (s.startY = -s.startY))); var r = s.width * t.scale, o = s.height * t.scale; if (!(r < i.slideWidth && o < i.slideHeight)) { if ( ((s.minX = Math.min(i.slideWidth / 2 - r / 2, 0)), (s.maxX = -s.minX), (s.minY = Math.min(i.slideHeight / 2 - o / 2, 0)), (s.maxY = -s.minY), (s.touchesCurrent.x = 'touchmove' === e.type ? e.targetTouches[0].pageX : e.pageX), (s.touchesCurrent.y = 'touchmove' === e.type ? e.targetTouches[0].pageY : e.pageY), !s.isMoved && !t.isScaling) ) { if ( this.isHorizontal() && ((Math.floor(s.minX) === Math.floor(s.startX) && s.touchesCurrent.x < s.touchesStart.x) || (Math.floor(s.maxX) === Math.floor(s.startX) && s.touchesCurrent.x > s.touchesStart.x)) ) return void (s.isTouched = !1); if ( !this.isHorizontal() && ((Math.floor(s.minY) === Math.floor(s.startY) && s.touchesCurrent.y < s.touchesStart.y) || (Math.floor(s.maxY) === Math.floor(s.startY) && s.touchesCurrent.y > s.touchesStart.y)) ) return void (s.isTouched = !1); } e.preventDefault(), e.stopPropagation(), (s.isMoved = !0), (s.currentX = s.touchesCurrent.x - s.touchesStart.x + s.startX), (s.currentY = s.touchesCurrent.y - s.touchesStart.y + s.startY), s.currentX < s.minX && (s.currentX = s.minX + 1 - Math.pow(s.minX - s.currentX + 1, 0.8)), s.currentX > s.maxX && (s.currentX = s.maxX - 1 + Math.pow(s.currentX - s.maxX + 1, 0.8)), s.currentY < s.minY && (s.currentY = s.minY + 1 - Math.pow(s.minY - s.currentY + 1, 0.8)), s.currentY > s.maxY && (s.currentY = s.maxY - 1 + Math.pow(s.currentY - s.maxY + 1, 0.8)), a.prevPositionX || (a.prevPositionX = s.touchesCurrent.x), a.prevPositionY || (a.prevPositionY = s.touchesCurrent.y), a.prevTime || (a.prevTime = Date.now()), (a.x = (s.touchesCurrent.x - a.prevPositionX) / (Date.now() - a.prevTime) / 2), (a.y = (s.touchesCurrent.y - a.prevPositionY) / (Date.now() - a.prevTime) / 2), Math.abs(s.touchesCurrent.x - a.prevPositionX) < 2 && (a.x = 0), Math.abs(s.touchesCurrent.y - a.prevPositionY) < 2 && (a.y = 0), (a.prevPositionX = s.touchesCurrent.x), (a.prevPositionY = s.touchesCurrent.y), (a.prevTime = Date.now()), i.$imageWrapEl.transform( 'translate3d(' + s.currentX + 'px, ' + s.currentY + 'px,0)' ); } } }, onTouchEnd: function () { var e = this.zoom, t = e.gesture, i = e.image, s = e.velocity; if (t.$imageEl && 0 !== t.$imageEl.length) { if (!i.isTouched || !i.isMoved) return (i.isTouched = !1), void (i.isMoved = !1); (i.isTouched = !1), (i.isMoved = !1); var a = 300, r = 300, n = s.x * a, o = i.currentX + n, l = s.y * r, d = i.currentY + l; 0 !== s.x && (a = Math.abs((o - i.currentX) / s.x)), 0 !== s.y && (r = Math.abs((d - i.currentY) / s.y)); var h = Math.max(a, r); (i.currentX = o), (i.currentY = d); var p = i.width * e.scale, c = i.height * e.scale; (i.minX = Math.min(t.slideWidth / 2 - p / 2, 0)), (i.maxX = -i.minX), (i.minY = Math.min(t.slideHeight / 2 - c / 2, 0)), (i.maxY = -i.minY), (i.currentX = Math.max( Math.min(i.currentX, i.maxX), i.minX )), (i.currentY = Math.max( Math.min(i.currentY, i.maxY), i.minY )), t.$imageWrapEl .transition(h) .transform( 'translate3d(' + i.currentX + 'px, ' + i.currentY + 'px,0)' ); } }, onTransitionEnd: function () { var e = this.zoom, t = e.gesture; t.$slideEl && this.previousIndex !== this.activeIndex && (t.$imageEl && t.$imageEl.transform('translate3d(0,0,0) scale(1)'), t.$imageWrapEl && t.$imageWrapEl.transform('translate3d(0,0,0)'), (e.scale = 1), (e.currentScale = 1), (t.$slideEl = void 0), (t.$imageEl = void 0), (t.$imageWrapEl = void 0)); }, toggle: function (e) { var t = this.zoom; t.scale && 1 !== t.scale ? t.out() : t.in(e); }, in: function (e) { var t, i, s, a, r, n, o, l, d, h, p, c, u, v, f, m, g = this.zoom, b = this.params.zoom, w = g.gesture, y = g.image; (w.$slideEl || (this.params.virtual && this.params.virtual.enabled && this.virtual ? (w.$slideEl = this.$wrapperEl.children( '.' + this.params.slideActiveClass )) : (w.$slideEl = this.slides.eq(this.activeIndex)), (w.$imageEl = w.$slideEl.find( 'img, svg, canvas, picture, .swiper-zoom-target' )), (w.$imageWrapEl = w.$imageEl.parent( '.' + b.containerClass ))), w.$imageEl && 0 !== w.$imageEl.length) && (w.$slideEl.addClass('' + b.zoomedSlideClass), void 0 === y.touchesStart.x && e ? ((t = 'touchend' === e.type ? e.changedTouches[0].pageX : e.pageX), (i = 'touchend' === e.type ? e.changedTouches[0].pageY : e.pageY)) : ((t = y.touchesStart.x), (i = y.touchesStart.y)), (g.scale = w.$imageWrapEl.attr('data-swiper-zoom') || b.maxRatio), (g.currentScale = w.$imageWrapEl.attr('data-swiper-zoom') || b.maxRatio), e ? ((f = w.$slideEl[0].offsetWidth), (m = w.$slideEl[0].offsetHeight), (s = w.$slideEl.offset().left + f / 2 - t), (a = w.$slideEl.offset().top + m / 2 - i), (o = w.$imageEl[0].offsetWidth), (l = w.$imageEl[0].offsetHeight), (d = o * g.scale), (h = l * g.scale), (u = -(p = Math.min(f / 2 - d / 2, 0))), (v = -(c = Math.min(m / 2 - h / 2, 0))), (r = s * g.scale) < p && (r = p), r > u && (r = u), (n = a * g.scale) < c && (n = c), n > v && (n = v)) : ((r = 0), (n = 0)), w.$imageWrapEl .transition(300) .transform('translate3d(' + r + 'px, ' + n + 'px,0)'), w.$imageEl .transition(300) .transform( 'translate3d(0,0,0) scale(' + g.scale + ')' )); }, out: function () { var e = this.zoom, t = this.params.zoom, i = e.gesture; i.$slideEl || (this.params.virtual && this.params.virtual.enabled && this.virtual ? (i.$slideEl = this.$wrapperEl.children( '.' + this.params.slideActiveClass )) : (i.$slideEl = this.slides.eq(this.activeIndex)), (i.$imageEl = i.$slideEl.find( 'img, svg, canvas, picture, .swiper-zoom-target' )), (i.$imageWrapEl = i.$imageEl.parent( '.' + t.containerClass ))), i.$imageEl && 0 !== i.$imageEl.length && ((e.scale = 1), (e.currentScale = 1), i.$imageWrapEl .transition(300) .transform('translate3d(0,0,0)'), i.$imageEl .transition(300) .transform('translate3d(0,0,0) scale(1)'), i.$slideEl.removeClass('' + t.zoomedSlideClass), (i.$slideEl = void 0)); }, enable: function () { var e = this.zoom; if (!e.enabled) { e.enabled = !0; var t = !( 'touchstart' !== this.touchEvents.start || !o.passiveListener || !this.params.passiveListeners ) && { passive: !0, capture: !1 }, i = !o.passiveListener || { passive: !1, capture: !0 }, s = '.' + this.params.slideClass; o.gestures ? (this.$wrapperEl.on( 'gesturestart', s, e.onGestureStart, t ), this.$wrapperEl.on( 'gesturechange', s, e.onGestureChange, t ), this.$wrapperEl.on( 'gestureend', s, e.onGestureEnd, t )) : 'touchstart' === this.touchEvents.start && (this.$wrapperEl.on( this.touchEvents.start, s, e.onGestureStart, t ), this.$wrapperEl.on( this.touchEvents.move, s, e.onGestureChange, i ), this.$wrapperEl.on( this.touchEvents.end, s, e.onGestureEnd, t ), this.touchEvents.cancel && this.$wrapperEl.on( this.touchEvents.cancel, s, e.onGestureEnd, t )), this.$wrapperEl.on( this.touchEvents.move, '.' + this.params.zoom.containerClass, e.onTouchMove, i ); } }, disable: function () { var e = this.zoom; if (e.enabled) { this.zoom.enabled = !1; var t = !( 'touchstart' !== this.touchEvents.start || !o.passiveListener || !this.params.passiveListeners ) && { passive: !0, capture: !1 }, i = !o.passiveListener || { passive: !1, capture: !0 }, s = '.' + this.params.slideClass; o.gestures ? (this.$wrapperEl.off( 'gesturestart', s, e.onGestureStart, t ), this.$wrapperEl.off( 'gesturechange', s, e.onGestureChange, t ), this.$wrapperEl.off( 'gestureend', s, e.onGestureEnd, t )) : 'touchstart' === this.touchEvents.start && (this.$wrapperEl.off( this.touchEvents.start, s, e.onGestureStart, t ), this.$wrapperEl.off( this.touchEvents.move, s, e.onGestureChange, i ), this.$wrapperEl.off( this.touchEvents.end, s, e.onGestureEnd, t ), this.touchEvents.cancel && this.$wrapperEl.off( this.touchEvents.cancel, s, e.onGestureEnd, t )), this.$wrapperEl.off( this.touchEvents.move, '.' + this.params.zoom.containerClass, e.onTouchMove, i ); } }, }, le = { loadInSlide: function (e, t) { void 0 === t && (t = !0); var i = this, a = i.params.lazy; if (void 0 !== e && 0 !== i.slides.length) { var r = i.virtual && i.params.virtual.enabled ? i.$wrapperEl.children( '.' + i.params.slideClass + '[data-swiper-slide-index="' + e + '"]' ) : i.slides.eq(e), n = r.find( '.' + a.elementClass + ':not(.' + a.loadedClass + '):not(.' + a.loadingClass + ')' ); !r.hasClass(a.elementClass) || r.hasClass(a.loadedClass) || r.hasClass(a.loadingClass) || (n = n.add(r[0])), 0 !== n.length && n.each(function (e, n) { var o = s(n); o.addClass(a.loadingClass); var l = o.attr('data-background'), d = o.attr('data-src'), h = o.attr('data-srcset'), p = o.attr('data-sizes'); i.loadImage( o[0], d || l, h, p, !1, function () { if ( null != i && i && (!i || i.params) && !i.destroyed ) { if ( (l ? (o.css( 'background-image', 'url("' + l + '")' ), o.removeAttr( 'data-background' )) : (h && (o.attr( 'srcset', h ), o.removeAttr( 'data-srcset' )), p && (o.attr('sizes', p), o.removeAttr( 'data-sizes' )), d && (o.attr('src', d), o.removeAttr( 'data-src' ))), o .addClass(a.loadedClass) .removeClass( a.loadingClass ), r .find( '.' + a.preloaderClass ) .remove(), i.params.loop && t) ) { var e = r.attr( 'data-swiper-slide-index' ); if ( r.hasClass( i.params .slideDuplicateClass ) ) { var s = i.$wrapperEl.children( '[data-swiper-slide-index="' + e + '"]:not(.' + i.params .slideDuplicateClass + ')' ); i.lazy.loadInSlide( s.index(), !1 ); } else { var n = i.$wrapperEl.children( '.' + i.params .slideDuplicateClass + '[data-swiper-slide-index="' + e + '"]' ); i.lazy.loadInSlide( n.index(), !1 ); } } i.emit( 'lazyImageReady', r[0], o[0] ), i.params.autoHeight && i.updateAutoHeight(); } } ), i.emit('lazyImageLoad', r[0], o[0]); }); } }, load: function () { var e = this, t = e.$wrapperEl, i = e.params, a = e.slides, r = e.activeIndex, n = e.virtual && i.virtual.enabled, o = i.lazy, l = i.slidesPerView; function d(e) { if (n) { if ( t.children( '.' + i.slideClass + '[data-swiper-slide-index="' + e + '"]' ).length ) return !0; } else if (a[e]) return !0; return !1; } function h(e) { return n ? s(e).attr('data-swiper-slide-index') : s(e).index(); } if ( ('auto' === l && (l = 0), e.lazy.initialImageLoaded || (e.lazy.initialImageLoaded = !0), e.params.watchSlidesVisibility) ) t.children('.' + i.slideVisibleClass).each(function (t, i) { var a = n ? s(i).attr('data-swiper-slide-index') : s(i).index(); e.lazy.loadInSlide(a); }); else if (l > 1) for (var p = r; p < r + l; p += 1) d(p) && e.lazy.loadInSlide(p); else e.lazy.loadInSlide(r); if (o.loadPrevNext) if ( l > 1 || (o.loadPrevNextAmount && o.loadPrevNextAmount > 1) ) { for ( var c = o.loadPrevNextAmount, u = l, v = Math.min(r + u + Math.max(c, u), a.length), f = Math.max(r - Math.max(u, c), 0), m = r + l; m < v; m += 1 ) d(m) && e.lazy.loadInSlide(m); for (var g = f; g < r; g += 1) d(g) && e.lazy.loadInSlide(g); } else { var b = t.children('.' + i.slideNextClass); b.length > 0 && e.lazy.loadInSlide(h(b)); var w = t.children('.' + i.slidePrevClass); w.length > 0 && e.lazy.loadInSlide(h(w)); } }, }, de = { LinearSpline: function (e, t) { var i, s, a, r, n, o = function (e, t) { for (s = -1, i = e.length; i - s > 1; ) e[(a = (i + s) >> 1)] <= t ? (s = a) : (i = a); return i; }; return ( (this.x = e), (this.y = t), (this.lastIndex = e.length - 1), (this.interpolate = function (e) { return e ? ((n = o(this.x, e)), (r = n - 1), ((e - this.x[r]) * (this.y[n] - this.y[r])) / (this.x[n] - this.x[r]) + this.y[r]) : 0; }), this ); }, getInterpolateFunction: function (e) { this.controller.spline || (this.controller.spline = this.params.loop ? new de.LinearSpline(this.slidesGrid, e.slidesGrid) : new de.LinearSpline(this.snapGrid, e.snapGrid)); }, setTranslate: function (e, t) { var i, s, a = this, r = a.controller.control; function n(e) { var t = a.rtlTranslate ? -a.translate : a.translate; 'slide' === a.params.controller.by && (a.controller.getInterpolateFunction(e), (s = -a.controller.spline.interpolate(-t))), (s && 'container' !== a.params.controller.by) || ((i = (e.maxTranslate() - e.minTranslate()) / (a.maxTranslate() - a.minTranslate())), (s = (t - a.minTranslate()) * i + e.minTranslate())), a.params.controller.inverse && (s = e.maxTranslate() - s), e.updateProgress(s), e.setTranslate(s, a), e.updateActiveIndex(), e.updateSlidesClasses(); } if (Array.isArray(r)) for (var o = 0; o < r.length; o += 1) r[o] !== t && r[o] instanceof W && n(r[o]); else r instanceof W && t !== r && n(r); }, setTransition: function (e, t) { var i, s = this, a = s.controller.control; function r(t) { t.setTransition(e, s), 0 !== e && (t.transitionStart(), t.params.autoHeight && n.nextTick(function () { t.updateAutoHeight(); }), t.$wrapperEl.transitionEnd(function () { a && (t.params.loop && 'slide' === s.params.controller.by && t.loopFix(), t.transitionEnd()); })); } if (Array.isArray(a)) for (i = 0; i < a.length; i += 1) a[i] !== t && a[i] instanceof W && r(a[i]); else a instanceof W && t !== a && r(a); }, }, he = { makeElFocusable: function (e) { return e.attr('tabIndex', '0'), e; }, addElRole: function (e, t) { return e.attr('role', t), e; }, addElLabel: function (e, t) { return e.attr('aria-label', t), e; }, disableEl: function (e) { return e.attr('aria-disabled', !0), e; }, enableEl: function (e) { return e.attr('aria-disabled', !1), e; }, onEnterKey: function (e) { var t = this.params.a11y; if (13 === e.keyCode) { var i = s(e.target); this.navigation && this.navigation.$nextEl && i.is(this.navigation.$nextEl) && ((this.isEnd && !this.params.loop) || this.slideNext(), this.isEnd ? this.a11y.notify(t.lastSlideMessage) : this.a11y.notify(t.nextSlideMessage)), this.navigation && this.navigation.$prevEl && i.is(this.navigation.$prevEl) && ((this.isBeginning && !this.params.loop) || this.slidePrev(), this.isBeginning ? this.a11y.notify(t.firstSlideMessage) : this.a11y.notify(t.prevSlideMessage)), this.pagination && i.is('.' + this.params.pagination.bulletClass) && i[0].click(); } }, notify: function (e) { var t = this.a11y.liveRegion; 0 !== t.length && (t.html(''), t.html(e)); }, updateNavigation: function () { if (!this.params.loop && this.navigation) { var e = this.navigation, t = e.$nextEl, i = e.$prevEl; i && i.length > 0 && (this.isBeginning ? this.a11y.disableEl(i) : this.a11y.enableEl(i)), t && t.length > 0 && (this.isEnd ? this.a11y.disableEl(t) : this.a11y.enableEl(t)); } }, updatePagination: function () { var e = this, t = e.params.a11y; e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e.pagination.bullets.each(function (i, a) { var r = s(a); e.a11y.makeElFocusable(r), e.a11y.addElRole(r, 'button'), e.a11y.addElLabel( r, t.paginationBulletMessage.replace( /\{\{index\}\}/, r.index() + 1 ) ); }); }, init: function () { this.$el.append(this.a11y.liveRegion); var e, t, i = this.params.a11y; this.navigation && this.navigation.$nextEl && (e = this.navigation.$nextEl), this.navigation && this.navigation.$prevEl && (t = this.navigation.$prevEl), e && (this.a11y.makeElFocusable(e), this.a11y.addElRole(e, 'button'), this.a11y.addElLabel(e, i.nextSlideMessage), e.on('keydown', this.a11y.onEnterKey)), t && (this.a11y.makeElFocusable(t), this.a11y.addElRole(t, 'button'), this.a11y.addElLabel(t, i.prevSlideMessage), t.on('keydown', this.a11y.onEnterKey)), this.pagination && this.params.pagination.clickable && this.pagination.bullets && this.pagination.bullets.length && this.pagination.$el.on( 'keydown', '.' + this.params.pagination.bulletClass, this.a11y.onEnterKey ); }, destroy: function () { var e, t; this.a11y.liveRegion && this.a11y.liveRegion.length > 0 && this.a11y.liveRegion.remove(), this.navigation && this.navigation.$nextEl && (e = this.navigation.$nextEl), this.navigation && this.navigation.$prevEl && (t = this.navigation.$prevEl), e && e.off('keydown', this.a11y.onEnterKey), t && t.off('keydown', this.a11y.onEnterKey), this.pagination && this.params.pagination.clickable && this.pagination.bullets && this.pagination.bullets.length && this.pagination.$el.off( 'keydown', '.' + this.params.pagination.bulletClass, this.a11y.onEnterKey ); }, }, pe = { init: function () { if (this.params.history) { if (!t.history || !t.history.pushState) return ( (this.params.history.enabled = !1), void (this.params.hashNavigation.enabled = !0) ); var e = this.history; (e.initialized = !0), (e.paths = pe.getPathValues()), (e.paths.key || e.paths.value) && (e.scrollToSlide( 0, e.paths.value, this.params.runCallbacksOnInit ), this.params.history.replaceState || t.addEventListener( 'popstate', this.history.setHistoryPopState )); } }, destroy: function () { this.params.history.replaceState || t.removeEventListener( 'popstate', this.history.setHistoryPopState ); }, setHistoryPopState: function () { (this.history.paths = pe.getPathValues()), this.history.scrollToSlide( this.params.speed, this.history.paths.value, !1 ); }, getPathValues: function () { var e = t.location.pathname .slice(1) .split('/') .filter(function (e) { return '' !== e; }), i = e.length; return { key: e[i - 2], value: e[i - 1] }; }, setHistory: function (e, i) { if (this.history.initialized && this.params.history.enabled) { var s = this.slides.eq(i), a = pe.slugify(s.attr('data-history')); t.location.pathname.includes(e) || (a = e + '/' + a); var r = t.history.state; (r && r.value === a) || (this.params.history.replaceState ? t.history.replaceState({ value: a }, null, a) : t.history.pushState({ value: a }, null, a)); } }, slugify: function (e) { return e .toString() .replace(/\s+/g, '-') .replace(/[^\w-]+/g, '') .replace(/--+/g, '-') .replace(/^-+/, '') .replace(/-+$/, ''); }, scrollToSlide: function (e, t, i) { if (t) for (var s = 0, a = this.slides.length; s < a; s += 1) { var r = this.slides.eq(s); if ( pe.slugify(r.attr('data-history')) === t && !r.hasClass(this.params.slideDuplicateClass) ) { var n = r.index(); this.slideTo(n, e, i); } } else this.slideTo(0, e, i); }, }, ce = { onHashCange: function () { var t = e.location.hash.replace('#', ''); if (t !== this.slides.eq(this.activeIndex).attr('data-hash')) { var i = this.$wrapperEl .children( '.' + this.params.slideClass + '[data-hash="' + t + '"]' ) .index(); if (void 0 === i) return; this.slideTo(i); } }, setHash: function () { if ( this.hashNavigation.initialized && this.params.hashNavigation.enabled ) if ( this.params.hashNavigation.replaceState && t.history && t.history.replaceState ) t.history.replaceState( null, null, '#' + this.slides .eq(this.activeIndex) .attr('data-hash') || '' ); else { var i = this.slides.eq(this.activeIndex), s = i.attr('data-hash') || i.attr('data-history'); e.location.hash = s || ''; } }, init: function () { if ( !( !this.params.hashNavigation.enabled || (this.params.history && this.params.history.enabled) ) ) { this.hashNavigation.initialized = !0; var i = e.location.hash.replace('#', ''); if (i) for (var a = 0, r = this.slides.length; a < r; a += 1) { var n = this.slides.eq(a); if ( (n.attr('data-hash') || n.attr('data-history')) === i && !n.hasClass(this.params.slideDuplicateClass) ) { var o = n.index(); this.slideTo( o, 0, this.params.runCallbacksOnInit, !0 ); } } this.params.hashNavigation.watchState && s(t).on('hashchange', this.hashNavigation.onHashCange); } }, destroy: function () { this.params.hashNavigation.watchState && s(t).off('hashchange', this.hashNavigation.onHashCange); }, }, ue = { run: function () { var e = this, t = e.slides.eq(e.activeIndex), i = e.params.autoplay.delay; t.attr('data-swiper-autoplay') && (i = t.attr('data-swiper-autoplay') || e.params.autoplay.delay), clearTimeout(e.autoplay.timeout), (e.autoplay.timeout = n.nextTick(function () { e.params.autoplay.reverseDirection ? e.params.loop ? (e.loopFix(), e.slidePrev(e.params.speed, !0, !0), e.emit('autoplay')) : e.isBeginning ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo( e.slides.length - 1, e.params.speed, !0, !0 ), e.emit('autoplay')) : (e.slidePrev(e.params.speed, !0, !0), e.emit('autoplay')) : e.params.loop ? (e.loopFix(), e.slideNext(e.params.speed, !0, !0), e.emit('autoplay')) : e.isEnd ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(0, e.params.speed, !0, !0), e.emit('autoplay')) : (e.slideNext(e.params.speed, !0, !0), e.emit('autoplay')), e.params.cssMode && e.autoplay.running && e.autoplay.run(); }, i)); }, start: function () { return ( void 0 === this.autoplay.timeout && !this.autoplay.running && ((this.autoplay.running = !0), this.emit('autoplayStart'), this.autoplay.run(), !0) ); }, stop: function () { return ( !!this.autoplay.running && void 0 !== this.autoplay.timeout && (this.autoplay.timeout && (clearTimeout(this.autoplay.timeout), (this.autoplay.timeout = void 0)), (this.autoplay.running = !1), this.emit('autoplayStop'), !0) ); }, pause: function (e) { this.autoplay.running && (this.autoplay.paused || (this.autoplay.timeout && clearTimeout(this.autoplay.timeout), (this.autoplay.paused = !0), 0 !== e && this.params.autoplay.waitForTransition ? (this.$wrapperEl[0].addEventListener( 'transitionend', this.autoplay.onTransitionEnd ), this.$wrapperEl[0].addEventListener( 'webkitTransitionEnd', this.autoplay.onTransitionEnd )) : ((this.autoplay.paused = !1), this.autoplay.run()))); }, }, ve = { setTranslate: function () { for (var e = this.slides, t = 0; t < e.length; t += 1) { var i = this.slides.eq(t), s = -i[0].swiperSlideOffset; this.params.virtualTranslate || (s -= this.translate); var a = 0; this.isHorizontal() || ((a = s), (s = 0)); var r = this.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(i[0].progress), 0) : 1 + Math.min(Math.max(i[0].progress, -1), 0); i.css({ opacity: r }).transform( 'translate3d(' + s + 'px, ' + a + 'px, 0px)' ); } }, setTransition: function (e) { var t = this, i = t.slides, s = t.$wrapperEl; if ((i.transition(e), t.params.virtualTranslate && 0 !== e)) { var a = !1; i.transitionEnd(function () { if (!a && t && !t.destroyed) { (a = !0), (t.animating = !1); for ( var e = [ 'webkitTransitionEnd', 'transitionend', ], i = 0; i < e.length; i += 1 ) s.trigger(e[i]); } }); } }, }, fe = { setTranslate: function () { var e, t = this.$el, i = this.$wrapperEl, a = this.slides, r = this.width, n = this.height, o = this.rtlTranslate, l = this.size, d = this.params.cubeEffect, h = this.isHorizontal(), p = this.virtual && this.params.virtual.enabled, c = 0; d.shadow && (h ? (0 === (e = i.find('.swiper-cube-shadow')).length && ((e = s( '<div class="swiper-cube-shadow"></div>' )), i.append(e)), e.css({ height: r + 'px' })) : 0 === (e = t.find('.swiper-cube-shadow')).length && ((e = s('<div class="swiper-cube-shadow"></div>')), t.append(e))); for (var u = 0; u < a.length; u += 1) { var v = a.eq(u), f = u; p && (f = parseInt(v.attr('data-swiper-slide-index'), 10)); var m = 90 * f, g = Math.floor(m / 360); o && ((m = -m), (g = Math.floor(-m / 360))); var b = Math.max(Math.min(v[0].progress, 1), -1), w = 0, y = 0, x = 0; f % 4 == 0 ? ((w = 4 * -g * l), (x = 0)) : (f - 1) % 4 == 0 ? ((w = 0), (x = 4 * -g * l)) : (f - 2) % 4 == 0 ? ((w = l + 4 * g * l), (x = l)) : (f - 3) % 4 == 0 && ((w = -l), (x = 3 * l + 4 * l * g)), o && (w = -w), h || ((y = w), (w = 0)); var T = 'rotateX(' + (h ? 0 : -m) + 'deg) rotateY(' + (h ? m : 0) + 'deg) translate3d(' + w + 'px, ' + y + 'px, ' + x + 'px)'; if ( (b <= 1 && b > -1 && ((c = 90 * f + 90 * b), o && (c = 90 * -f - 90 * b)), v.transform(T), d.slideShadows) ) { var E = h ? v.find('.swiper-slide-shadow-left') : v.find('.swiper-slide-shadow-top'), S = h ? v.find('.swiper-slide-shadow-right') : v.find('.swiper-slide-shadow-bottom'); 0 === E.length && ((E = s( '<div class="swiper-slide-shadow-' + (h ? 'left' : 'top') + '"></div>' )), v.append(E)), 0 === S.length && ((S = s( '<div class="swiper-slide-shadow-' + (h ? 'right' : 'bottom') + '"></div>' )), v.append(S)), E.length && (E[0].style.opacity = Math.max(-b, 0)), S.length && (S[0].style.opacity = Math.max(b, 0)); } } if ( (i.css({ '-webkit-transform-origin': '50% 50% -' + l / 2 + 'px', '-moz-transform-origin': '50% 50% -' + l / 2 + 'px', '-ms-transform-origin': '50% 50% -' + l / 2 + 'px', 'transform-origin': '50% 50% -' + l / 2 + 'px', }), d.shadow) ) if (h) e.transform( 'translate3d(0px, ' + (r / 2 + d.shadowOffset) + 'px, ' + -r / 2 + 'px) rotateX(90deg) rotateZ(0deg) scale(' + d.shadowScale + ')' ); else { var C = Math.abs(c) - 90 * Math.floor(Math.abs(c) / 90), M = 1.5 - (Math.sin((2 * C * Math.PI) / 360) / 2 + Math.cos((2 * C * Math.PI) / 360) / 2), P = d.shadowScale, z = d.shadowScale / M, k = d.shadowOffset; e.transform( 'scale3d(' + P + ', 1, ' + z + ') translate3d(0px, ' + (n / 2 + k) + 'px, ' + -n / 2 / z + 'px) rotateX(-90deg)' ); } var $ = j.isSafari || j.isUiWebView ? -l / 2 : 0; i.transform( 'translate3d(0px,0,' + $ + 'px) rotateX(' + (this.isHorizontal() ? 0 : c) + 'deg) rotateY(' + (this.isHorizontal() ? -c : 0) + 'deg)' ); }, setTransition: function (e) { var t = this.$el; this.slides .transition(e) .find( '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left' ) .transition(e), this.params.cubeEffect.shadow && !this.isHorizontal() && t.find('.swiper-cube-shadow').transition(e); }, }, me = { setTranslate: function () { for ( var e = this.slides, t = this.rtlTranslate, i = 0; i < e.length; i += 1 ) { var a = e.eq(i), r = a[0].progress; this.params.flipEffect.limitRotation && (r = Math.max(Math.min(a[0].progress, 1), -1)); var n = -180 * r, o = 0, l = -a[0].swiperSlideOffset, d = 0; if ( (this.isHorizontal() ? t && (n = -n) : ((d = l), (l = 0), (o = -n), (n = 0)), (a[0].style.zIndex = -Math.abs(Math.round(r)) + e.length), this.params.flipEffect.slideShadows) ) { var h = this.isHorizontal() ? a.find('.swiper-slide-shadow-left') : a.find('.swiper-slide-shadow-top'), p = this.isHorizontal() ? a.find('.swiper-slide-shadow-right') : a.find('.swiper-slide-shadow-bottom'); 0 === h.length && ((h = s( '<div class="swiper-slide-shadow-' + (this.isHorizontal() ? 'left' : 'top') + '"></div>' )), a.append(h)), 0 === p.length && ((p = s( '<div class="swiper-slide-shadow-' + (this.isHorizontal() ? 'right' : 'bottom') + '"></div>' )), a.append(p)), h.length && (h[0].style.opacity = Math.max(-r, 0)), p.length && (p[0].style.opacity = Math.max(r, 0)); } a.transform( 'translate3d(' + l + 'px, ' + d + 'px, 0px) rotateX(' + o + 'deg) rotateY(' + n + 'deg)' ); } }, setTransition: function (e) { var t = this, i = t.slides, s = t.activeIndex, a = t.$wrapperEl; if ( (i .transition(e) .find( '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left' ) .transition(e), t.params.virtualTranslate && 0 !== e) ) { var r = !1; i.eq(s).transitionEnd(function () { if (!r && t && !t.destroyed) { (r = !0), (t.animating = !1); for ( var e = [ 'webkitTransitionEnd', 'transitionend', ], i = 0; i < e.length; i += 1 ) a.trigger(e[i]); } }); } }, }, ge = { setTranslate: function () { for ( var e = this.width, t = this.height, i = this.slides, a = this.$wrapperEl, r = this.slidesSizesGrid, n = this.params.coverflowEffect, l = this.isHorizontal(), d = this.translate, h = l ? e / 2 - d : t / 2 - d, p = l ? n.rotate : -n.rotate, c = n.depth, u = 0, v = i.length; u < v; u += 1 ) { var f = i.eq(u), m = r[u], g = ((h - f[0].swiperSlideOffset - m / 2) / m) * n.modifier, b = l ? p * g : 0, w = l ? 0 : p * g, y = -c * Math.abs(g), x = n.stretch; 'string' == typeof x && -1 !== x.indexOf('%') && (x = (parseFloat(n.stretch) / 100) * m); var T = l ? 0 : x * g, E = l ? x * g : 0; Math.abs(E) < 0.001 && (E = 0), Math.abs(T) < 0.001 && (T = 0), Math.abs(y) < 0.001 && (y = 0), Math.abs(b) < 0.001 && (b = 0), Math.abs(w) < 0.001 && (w = 0); var S = 'translate3d(' + E + 'px,' + T + 'px,' + y + 'px) rotateX(' + w + 'deg) rotateY(' + b + 'deg)'; if ( (f.transform(S), (f[0].style.zIndex = 1 - Math.abs(Math.round(g))), n.slideShadows) ) { var C = l ? f.find('.swiper-slide-shadow-left') : f.find('.swiper-slide-shadow-top'), M = l ? f.find('.swiper-slide-shadow-right') : f.find('.swiper-slide-shadow-bottom'); 0 === C.length && ((C = s( '<div class="swiper-slide-shadow-' + (l ? 'left' : 'top') + '"></div>' )), f.append(C)), 0 === M.length && ((M = s( '<div class="swiper-slide-shadow-' + (l ? 'right' : 'bottom') + '"></div>' )), f.append(M)), C.length && (C[0].style.opacity = g > 0 ? g : 0), M.length && (M[0].style.opacity = -g > 0 ? -g : 0); } } (o.pointerEvents || o.prefixedPointerEvents) && (a[0].style.perspectiveOrigin = h + 'px 50%'); }, setTransition: function (e) { this.slides .transition(e) .find( '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left' ) .transition(e); }, }, be = { init: function () { var e = this.params.thumbs, t = this.constructor; e.swiper instanceof t ? ((this.thumbs.swiper = e.swiper), n.extend(this.thumbs.swiper.originalParams, { watchSlidesProgress: !0, slideToClickedSlide: !1, }), n.extend(this.thumbs.swiper.params, { watchSlidesProgress: !0, slideToClickedSlide: !1, })) : n.isObject(e.swiper) && ((this.thumbs.swiper = new t( n.extend({}, e.swiper, { watchSlidesVisibility: !0, watchSlidesProgress: !0, slideToClickedSlide: !1, }) )), (this.thumbs.swiperCreated = !0)), this.thumbs.swiper.$el.addClass( this.params.thumbs.thumbsContainerClass ), this.thumbs.swiper.on('tap', this.thumbs.onThumbClick); }, onThumbClick: function () { var e = this.thumbs.swiper; if (e) { var t = e.clickedIndex, i = e.clickedSlide; if ( !( (i && s(i).hasClass( this.params.thumbs.slideThumbActiveClass )) || null == t ) ) { var a; if ( ((a = e.params.loop ? parseInt( s(e.clickedSlide).attr( 'data-swiper-slide-index' ), 10 ) : t), this.params.loop) ) { var r = this.activeIndex; this.slides .eq(r) .hasClass(this.params.slideDuplicateClass) && (this.loopFix(), (this._clientLeft = this.$wrapperEl[0].clientLeft), (r = this.activeIndex)); var n = this.slides .eq(r) .prevAll( '[data-swiper-slide-index="' + a + '"]' ) .eq(0) .index(), o = this.slides .eq(r) .nextAll( '[data-swiper-slide-index="' + a + '"]' ) .eq(0) .index(); a = void 0 === n ? o : void 0 === o ? n : o - r < r - n ? o : n; } this.slideTo(a); } } }, update: function (e) { var t = this.thumbs.swiper; if (t) { var i = 'auto' === t.params.slidesPerView ? t.slidesPerViewDynamic() : t.params.slidesPerView, s = this.params.thumbs.autoScrollOffset, a = s && !t.params.loop; if (this.realIndex !== t.realIndex || a) { var r, n, o = t.activeIndex; if (t.params.loop) { t.slides .eq(o) .hasClass(t.params.slideDuplicateClass) && (t.loopFix(), (t._clientLeft = t.$wrapperEl[0].clientLeft), (o = t.activeIndex)); var l = t.slides .eq(o) .prevAll( '[data-swiper-slide-index="' + this.realIndex + '"]' ) .eq(0) .index(), d = t.slides .eq(o) .nextAll( '[data-swiper-slide-index="' + this.realIndex + '"]' ) .eq(0) .index(); (r = void 0 === l ? d : void 0 === d ? l : d - o == o - l ? o : d - o < o - l ? d : l), (n = this.activeIndex > this.previousIndex ? 'next' : 'prev'); } else n = (r = this.realIndex) > this.previousIndex ? 'next' : 'prev'; a && (r += 'next' === n ? s : -1 * s), t.visibleSlidesIndexes && t.visibleSlidesIndexes.indexOf(r) < 0 && (t.params.centeredSlides ? (r = r > o ? r - Math.floor(i / 2) + 1 : r + Math.floor(i / 2) - 1) : r > o && (r = r - i + 1), t.slideTo(r, e ? 0 : void 0)); } var h = 1, p = this.params.thumbs.slideThumbActiveClass; if ( (this.params.slidesPerView > 1 && !this.params.centeredSlides && (h = this.params.slidesPerView), this.params.thumbs.multipleActiveThumbs || (h = 1), (h = Math.floor(h)), t.slides.removeClass(p), t.params.loop || (t.params.virtual && t.params.virtual.enabled)) ) for (var c = 0; c < h; c += 1) t.$wrapperEl .children( '[data-swiper-slide-index="' + (this.realIndex + c) + '"]' ) .addClass(p); else for (var u = 0; u < h; u += 1) t.slides.eq(this.realIndex + u).addClass(p); } }, }, we = [ R, q, K, U, Z, J, te, { name: 'mousewheel', params: { mousewheel: { enabled: !1, releaseOnEdges: !1, invert: !1, forceToAxis: !1, sensitivity: 1, eventsTarged: 'container', }, }, create: function () { n.extend(this, { mousewheel: { enabled: !1, enable: ie.enable.bind(this), disable: ie.disable.bind(this), handle: ie.handle.bind(this), handleMouseEnter: ie.handleMouseEnter.bind(this), handleMouseLeave: ie.handleMouseLeave.bind(this), animateSlider: ie.animateSlider.bind(this), releaseScroll: ie.releaseScroll.bind(this), lastScrollTime: n.now(), lastEventBeforeSnap: void 0, recentWheelEvents: [], }, }); }, on: { init: function () { !this.params.mousewheel.enabled && this.params.cssMode && this.mousewheel.disable(), this.params.mousewheel.enabled && this.mousewheel.enable(); }, destroy: function () { this.params.cssMode && this.mousewheel.enable(), this.mousewheel.enabled && this.mousewheel.disable(); }, }, }, { name: 'navigation', params: { navigation: { nextEl: null, prevEl: null, hideOnClick: !1, disabledClass: 'swiper-button-disabled', hiddenClass: 'swiper-button-hidden', lockClass: 'swiper-button-lock', }, }, create: function () { n.extend(this, { navigation: { init: se.init.bind(this), update: se.update.bind(this), destroy: se.destroy.bind(this), onNextClick: se.onNextClick.bind(this), onPrevClick: se.onPrevClick.bind(this), }, }); }, on: { init: function () { this.navigation.init(), this.navigation.update(); }, toEdge: function () { this.navigation.update(); }, fromEdge: function () { this.navigation.update(); }, destroy: function () { this.navigation.destroy(); }, click: function (e) { var t, i = this.navigation, a = i.$nextEl, r = i.$prevEl; !this.params.navigation.hideOnClick || s(e.target).is(r) || s(e.target).is(a) || (a ? (t = a.hasClass( this.params.navigation.hiddenClass )) : r && (t = r.hasClass( this.params.navigation.hiddenClass )), !0 === t ? this.emit('navigationShow', this) : this.emit('navigationHide', this), a && a.toggleClass( this.params.navigation.hiddenClass ), r && r.toggleClass( this.params.navigation.hiddenClass )); }, }, }, { name: 'pagination', params: { pagination: { el: null, bulletElement: 'span', clickable: !1, hideOnClick: !1, renderBullet: null, renderProgressbar: null, renderFraction: null, renderCustom: null, progressbarOpposite: !1, type: 'bullets', dynamicBullets: !1, dynamicMainBullets: 1, formatFractionCurrent: function (e) { return e; }, formatFractionTotal: function (e) { return e; }, bulletClass: 'swiper-pagination-bullet', bulletActiveClass: 'swiper-pagination-bullet-active', modifierClass: 'swiper-pagination-', currentClass: 'swiper-pagination-current', totalClass: 'swiper-pagination-total', hiddenClass: 'swiper-pagination-hidden', progressbarFillClass: 'swiper-pagination-progressbar-fill', progressbarOppositeClass: 'swiper-pagination-progressbar-opposite', clickableClass: 'swiper-pagination-clickable', lockClass: 'swiper-pagination-lock', }, }, create: function () { n.extend(this, { pagination: { init: ae.init.bind(this), render: ae.render.bind(this), update: ae.update.bind(this), destroy: ae.destroy.bind(this), dynamicBulletIndex: 0, }, }); }, on: { init: function () { this.pagination.init(), this.pagination.render(), this.pagination.update(); }, activeIndexChange: function () { (this.params.loop || void 0 === this.snapIndex) && this.pagination.update(); }, snapIndexChange: function () { this.params.loop || this.pagination.update(); }, slidesLengthChange: function () { this.params.loop && (this.pagination.render(), this.pagination.update()); }, snapGridLengthChange: function () { this.params.loop || (this.pagination.render(), this.pagination.update()); }, destroy: function () { this.pagination.destroy(); }, click: function (e) { this.params.pagination.el && this.params.pagination.hideOnClick && this.pagination.$el.length > 0 && !s(e.target).hasClass( this.params.pagination.bulletClass ) && (!0 === this.pagination.$el.hasClass( this.params.pagination.hiddenClass ) ? this.emit('paginationShow', this) : this.emit('paginationHide', this), this.pagination.$el.toggleClass( this.params.pagination.hiddenClass )); }, }, }, { name: 'scrollbar', params: { scrollbar: { el: null, dragSize: 'auto', hide: !1, draggable: !1, snapOnRelease: !0, lockClass: 'swiper-scrollbar-lock', dragClass: 'swiper-scrollbar-drag', }, }, create: function () { n.extend(this, { scrollbar: { init: re.init.bind(this), destroy: re.destroy.bind(this), updateSize: re.updateSize.bind(this), setTranslate: re.setTranslate.bind(this), setTransition: re.setTransition.bind(this), enableDraggable: re.enableDraggable.bind(this), disableDraggable: re.disableDraggable.bind(this), setDragPosition: re.setDragPosition.bind(this), getPointerPosition: re.getPointerPosition.bind(this), onDragStart: re.onDragStart.bind(this), onDragMove: re.onDragMove.bind(this), onDragEnd: re.onDragEnd.bind(this), isTouched: !1, timeout: null, dragTimeout: null, }, }); }, on: { init: function () { this.scrollbar.init(), this.scrollbar.updateSize(), this.scrollbar.setTranslate(); }, update: function () { this.scrollbar.updateSize(); }, resize: function () { this.scrollbar.updateSize(); }, observerUpdate: function () { this.scrollbar.updateSize(); }, setTranslate: function () { this.scrollbar.setTranslate(); }, setTransition: function (e) { this.scrollbar.setTransition(e); }, destroy: function () { this.scrollbar.destroy(); }, }, }, { name: 'parallax', params: { parallax: { enabled: !1 } }, create: function () { n.extend(this, { parallax: { setTransform: ne.setTransform.bind(this), setTranslate: ne.setTranslate.bind(this), setTransition: ne.setTransition.bind(this), }, }); }, on: { beforeInit: function () { this.params.parallax.enabled && ((this.params.watchSlidesProgress = !0), (this.originalParams.watchSlidesProgress = !0)); }, init: function () { this.params.parallax.enabled && this.parallax.setTranslate(); }, setTranslate: function () { this.params.parallax.enabled && this.parallax.setTranslate(); }, setTransition: function (e) { this.params.parallax.enabled && this.parallax.setTransition(e); }, }, }, { name: 'zoom', params: { zoom: { enabled: !1, maxRatio: 3, minRatio: 1, toggle: !0, containerClass: 'swiper-zoom-container', zoomedSlideClass: 'swiper-slide-zoomed', }, }, create: function () { var e = this, t = { enabled: !1, scale: 1, currentScale: 1, isScaling: !1, gesture: { $slideEl: void 0, slideWidth: void 0, slideHeight: void 0, $imageEl: void 0, $imageWrapEl: void 0, maxRatio: 3, }, image: { isTouched: void 0, isMoved: void 0, currentX: void 0, currentY: void 0, minX: void 0, minY: void 0, maxX: void 0, maxY: void 0, width: void 0, height: void 0, startX: void 0, startY: void 0, touchesStart: {}, touchesCurrent: {}, }, velocity: { x: void 0, y: void 0, prevPositionX: void 0, prevPositionY: void 0, prevTime: void 0, }, }; 'onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out' .split(' ') .forEach(function (i) { t[i] = oe[i].bind(e); }), n.extend(e, { zoom: t }); var i = 1; Object.defineProperty(e.zoom, 'scale', { get: function () { return i; }, set: function (t) { if (i !== t) { var s = e.zoom.gesture.$imageEl ? e.zoom.gesture.$imageEl[0] : void 0, a = e.zoom.gesture.$slideEl ? e.zoom.gesture.$slideEl[0] : void 0; e.emit('zoomChange', t, s, a); } i = t; }, }); }, on: { init: function () { this.params.zoom.enabled && this.zoom.enable(); }, destroy: function () { this.zoom.disable(); }, touchStart: function (e) { this.zoom.enabled && this.zoom.onTouchStart(e); }, touchEnd: function (e) { this.zoom.enabled && this.zoom.onTouchEnd(e); }, doubleTap: function (e) { this.params.zoom.enabled && this.zoom.enabled && this.params.zoom.toggle && this.zoom.toggle(e); }, transitionEnd: function () { this.zoom.enabled && this.params.zoom.enabled && this.zoom.onTransitionEnd(); }, slideChange: function () { this.zoom.enabled && this.params.zoom.enabled && this.params.cssMode && this.zoom.onTransitionEnd(); }, }, }, { name: 'lazy', params: { lazy: { enabled: !1, loadPrevNext: !1, loadPrevNextAmount: 1, loadOnTransitionStart: !1, elementClass: 'swiper-lazy', loadingClass: 'swiper-lazy-loading', loadedClass: 'swiper-lazy-loaded', preloaderClass: 'swiper-lazy-preloader', }, }, create: function () { n.extend(this, { lazy: { initialImageLoaded: !1, load: le.load.bind(this), loadInSlide: le.loadInSlide.bind(this), }, }); }, on: { beforeInit: function () { this.params.lazy.enabled && this.params.preloadImages && (this.params.preloadImages = !1); }, init: function () { this.params.lazy.enabled && !this.params.loop && 0 === this.params.initialSlide && this.lazy.load(); }, scroll: function () { this.params.freeMode && !this.params.freeModeSticky && this.lazy.load(); }, resize: function () { this.params.lazy.enabled && this.lazy.load(); }, scrollbarDragMove: function () { this.params.lazy.enabled && this.lazy.load(); }, transitionStart: function () { this.params.lazy.enabled && (this.params.lazy.loadOnTransitionStart || (!this.params.lazy.loadOnTransitionStart && !this.lazy.initialImageLoaded)) && this.lazy.load(); }, transitionEnd: function () { this.params.lazy.enabled && !this.params.lazy.loadOnTransitionStart && this.lazy.load(); }, slideChange: function () { this.params.lazy.enabled && this.params.cssMode && this.lazy.load(); }, }, }, { name: 'controller', params: { controller: { control: void 0, inverse: !1, by: 'slide' }, }, create: function () { n.extend(this, { controller: { control: this.params.controller.control, getInterpolateFunction: de.getInterpolateFunction.bind(this), setTranslate: de.setTranslate.bind(this), setTransition: de.setTransition.bind(this), }, }); }, on: { update: function () { this.controller.control && this.controller.spline && ((this.controller.spline = void 0), delete this.controller.spline); }, resize: function () { this.controller.control && this.controller.spline && ((this.controller.spline = void 0), delete this.controller.spline); }, observerUpdate: function () { this.controller.control && this.controller.spline && ((this.controller.spline = void 0), delete this.controller.spline); }, setTranslate: function (e, t) { this.controller.control && this.controller.setTranslate(e, t); }, setTransition: function (e, t) { this.controller.control && this.controller.setTransition(e, t); }, }, }, { name: 'a11y', params: { a11y: { enabled: !0, notificationClass: 'swiper-notification', prevSlideMessage: 'Previous slide', nextSlideMessage: 'Next slide', firstSlideMessage: 'This is the first slide', lastSlideMessage: 'This is the last slide', paginationBulletMessage: 'Go to slide {{index}}', }, }, create: function () { var e = this; n.extend(e, { a11y: { liveRegion: s( '<span class="' + e.params.a11y.notificationClass + '" aria-live="assertive" aria-atomic="true"></span>' ), }, }), Object.keys(he).forEach(function (t) { e.a11y[t] = he[t].bind(e); }); }, on: { init: function () { this.params.a11y.enabled && (this.a11y.init(), this.a11y.updateNavigation()); }, toEdge: function () { this.params.a11y.enabled && this.a11y.updateNavigation(); }, fromEdge: function () { this.params.a11y.enabled && this.a11y.updateNavigation(); }, paginationUpdate: function () { this.params.a11y.enabled && this.a11y.updatePagination(); }, destroy: function () { this.params.a11y.enabled && this.a11y.destroy(); }, }, }, { name: 'history', params: { history: { enabled: !1, replaceState: !1, key: 'slides' }, }, create: function () { n.extend(this, { history: { init: pe.init.bind(this), setHistory: pe.setHistory.bind(this), setHistoryPopState: pe.setHistoryPopState.bind(this), scrollToSlide: pe.scrollToSlide.bind(this), destroy: pe.destroy.bind(this), }, }); }, on: { init: function () { this.params.history.enabled && this.history.init(); }, destroy: function () { this.params.history.enabled && this.history.destroy(); }, transitionEnd: function () { this.history.initialized && this.history.setHistory( this.params.history.key, this.activeIndex ); }, slideChange: function () { this.history.initialized && this.params.cssMode && this.history.setHistory( this.params.history.key, this.activeIndex ); }, }, }, { name: 'hash-navigation', params: { hashNavigation: { enabled: !1, replaceState: !1, watchState: !1, }, }, create: function () { n.extend(this, { hashNavigation: { initialized: !1, init: ce.init.bind(this), destroy: ce.destroy.bind(this), setHash: ce.setHash.bind(this), onHashCange: ce.onHashCange.bind(this), }, }); }, on: { init: function () { this.params.hashNavigation.enabled && this.hashNavigation.init(); }, destroy: function () { this.params.hashNavigation.enabled && this.hashNavigation.destroy(); }, transitionEnd: function () { this.hashNavigation.initialized && this.hashNavigation.setHash(); }, slideChange: function () { this.hashNavigation.initialized && this.params.cssMode && this.hashNavigation.setHash(); }, }, }, { name: 'autoplay', params: { autoplay: { enabled: !1, delay: 3e3, waitForTransition: !0, disableOnInteraction: !0, stopOnLastSlide: !1, reverseDirection: !1, }, }, create: function () { var e = this; n.extend(e, { autoplay: { running: !1, paused: !1, run: ue.run.bind(e), start: ue.start.bind(e), stop: ue.stop.bind(e), pause: ue.pause.bind(e), onVisibilityChange: function () { 'hidden' === document.visibilityState && e.autoplay.running && e.autoplay.pause(), 'visible' === document.visibilityState && e.autoplay.paused && (e.autoplay.run(), (e.autoplay.paused = !1)); }, onTransitionEnd: function (t) { e && !e.destroyed && e.$wrapperEl && t.target === this && (e.$wrapperEl[0].removeEventListener( 'transitionend', e.autoplay.onTransitionEnd ), e.$wrapperEl[0].removeEventListener( 'webkitTransitionEnd', e.autoplay.onTransitionEnd ), (e.autoplay.paused = !1), e.autoplay.running ? e.autoplay.run() : e.autoplay.stop()); }, }, }); }, on: { init: function () { this.params.autoplay.enabled && (this.autoplay.start(), document.addEventListener( 'visibilitychange', this.autoplay.onVisibilityChange )); }, beforeTransitionStart: function (e, t) { this.autoplay.running && (t || !this.params.autoplay.disableOnInteraction ? this.autoplay.pause(e) : this.autoplay.stop()); }, sliderFirstMove: function () { this.autoplay.running && (this.params.autoplay.disableOnInteraction ? this.autoplay.stop() : this.autoplay.pause()); }, touchEnd: function () { this.params.cssMode && this.autoplay.paused && !this.params.autoplay.disableOnInteraction && this.autoplay.run(); }, destroy: function () { this.autoplay.running && this.autoplay.stop(), document.removeEventListener( 'visibilitychange', this.autoplay.onVisibilityChange ); }, }, }, { name: 'effect-fade', params: { fadeEffect: { crossFade: !1 } }, create: function () { n.extend(this, { fadeEffect: { setTranslate: ve.setTranslate.bind(this), setTransition: ve.setTransition.bind(this), }, }); }, on: { beforeInit: function () { if ('fade' === this.params.effect) { this.classNames.push( this.params.containerModifierClass + 'fade' ); var e = { slidesPerView: 1, slidesPerColumn: 1, slidesPerGroup: 1, watchSlidesProgress: !0, spaceBetween: 0, virtualTranslate: !0, }; n.extend(this.params, e), n.extend(this.originalParams, e); } }, setTranslate: function () { 'fade' === this.params.effect && this.fadeEffect.setTranslate(); }, setTransition: function (e) { 'fade' === this.params.effect && this.fadeEffect.setTransition(e); }, }, }, { name: 'effect-cube', params: { cubeEffect: { slideShadows: !0, shadow: !0, shadowOffset: 20, shadowScale: 0.94, }, }, create: function () { n.extend(this, { cubeEffect: { setTranslate: fe.setTranslate.bind(this), setTransition: fe.setTransition.bind(this), }, }); }, on: { beforeInit: function () { if ('cube' === this.params.effect) { this.classNames.push( this.params.containerModifierClass + 'cube' ), this.classNames.push( this.params.containerModifierClass + '3d' ); var e = { slidesPerView: 1, slidesPerColumn: 1, slidesPerGroup: 1, watchSlidesProgress: !0, resistanceRatio: 0, spaceBetween: 0, centeredSlides: !1, virtualTranslate: !0, }; n.extend(this.params, e), n.extend(this.originalParams, e); } }, setTranslate: function () { 'cube' === this.params.effect && this.cubeEffect.setTranslate(); }, setTransition: function (e) { 'cube' === this.params.effect && this.cubeEffect.setTransition(e); }, }, }, { name: 'effect-flip', params: { flipEffect: { slideShadows: !0, limitRotation: !0 } }, create: function () { n.extend(this, { flipEffect: { setTranslate: me.setTranslate.bind(this), setTransition: me.setTransition.bind(this), }, }); }, on: { beforeInit: function () { if ('flip' === this.params.effect) { this.classNames.push( this.params.containerModifierClass + 'flip' ), this.classNames.push( this.params.containerModifierClass + '3d' ); var e = { slidesPerView: 1, slidesPerColumn: 1, slidesPerGroup: 1, watchSlidesProgress: !0, spaceBetween: 0, virtualTranslate: !0, }; n.extend(this.params, e), n.extend(this.originalParams, e); } }, setTranslate: function () { 'flip' === this.params.effect && this.flipEffect.setTranslate(); }, setTransition: function (e) { 'flip' === this.params.effect && this.flipEffect.setTransition(e); }, }, }, { name: 'effect-coverflow', params: { coverflowEffect: { rotate: 50, stretch: 0, depth: 100, modifier: 1, slideShadows: !0, }, }, create: function () { n.extend(this, { coverflowEffect: { setTranslate: ge.setTranslate.bind(this), setTransition: ge.setTransition.bind(this), }, }); }, on: { beforeInit: function () { 'coverflow' === this.params.effect && (this.classNames.push( this.params.containerModifierClass + 'coverflow' ), this.classNames.push( this.params.containerModifierClass + '3d' ), (this.params.watchSlidesProgress = !0), (this.originalParams.watchSlidesProgress = !0)); }, setTranslate: function () { 'coverflow' === this.params.effect && this.coverflowEffect.setTranslate(); }, setTransition: function (e) { 'coverflow' === this.params.effect && this.coverflowEffect.setTransition(e); }, }, }, { name: 'thumbs', params: { thumbs: { swiper: null, multipleActiveThumbs: !0, autoScrollOffset: 0, slideThumbActiveClass: 'swiper-slide-thumb-active', thumbsContainerClass: 'swiper-container-thumbs', }, }, create: function () { n.extend(this, { thumbs: { swiper: null, init: be.init.bind(this), update: be.update.bind(this), onThumbClick: be.onThumbClick.bind(this), }, }); }, on: { beforeInit: function () { var e = this.params.thumbs; e && e.swiper && (this.thumbs.init(), this.thumbs.update(!0)); }, slideChange: function () { this.thumbs.swiper && this.thumbs.update(); }, update: function () { this.thumbs.swiper && this.thumbs.update(); }, resize: function () { this.thumbs.swiper && this.thumbs.update(); }, observerUpdate: function () { this.thumbs.swiper && this.thumbs.update(); }, setTransition: function (e) { var t = this.thumbs.swiper; t && t.setTransition(e); }, beforeDestroy: function () { var e = this.thumbs.swiper; e && this.thumbs.swiperCreated && e && e.destroy(); }, }, }, ]; return ( void 0 === W.use && ((W.use = W.Class.use), (W.installModule = W.Class.installModule)), W.use(we), W ); }); //# sourceMappingURL=swiper.min.js.map