(function (global, factory){
typeof exports==='object'&&typeof module!=='undefined' ? module.exports=factory() :
typeof define==='function'&&define.amd ? define(factory) :
(global=global||self, global.Swiper=factory());
}(this, function (){ 'use strict';
var doc=(typeof document==='undefined') ? {
body: {},
addEventListener: function addEventListener(){},
removeEventListener: function removeEventListener(){},
activeElement: {
blur: function blur(){},
nodeName: '',
},
querySelector: function querySelector(){
return null;
},
querySelectorAll: function querySelectorAll(){
return [];
},
getElementById: function getElementById(){
return null;
},
createEvent: function createEvent(){
return {
initEvent: function initEvent(){},
};},
createElement: function createElement(){
return {
children: [],
childNodes: [],
style: {},
setAttribute: function setAttribute(){},
getElementsByTagName: function getElementsByTagName(){
return [];
},
};},
location: { hash: '' },
}:document;
var win=(typeof window==='undefined') ? {
document: doc,
navigator: {
userAgent: '',
},
location: {},
history: {},
CustomEvent: function CustomEvent(){
return this;
},
addEventListener: function addEventListener(){},
removeEventListener: function removeEventListener(){},
getComputedStyle: function getComputedStyle(){
return {
getPropertyValue: function getPropertyValue(){
return '';
},
};},
Image: function Image(){},
Date: function Date(){},
screen: {},
setTimeout: function setTimeout(){},
clearTimeout: function clearTimeout(){},
}:window;
var Dom7=function Dom7(arr){
var self=this;
for (var i=0; i < arr.length; i +=1){
self[i]=arr[i];
}
self.length=arr.length;
return this;
};
function $(selector, context){
var arr=[];
var i=0;
if(selector&&!context){
if(selector instanceof Dom7){
return selector;
}}
if(selector){
if(typeof selector==='string'){
var els;
var tempParent;
var html=selector.trim();
if(html.indexOf('<') >=0&&html.indexOf('>') >=0){
var toCreate='div';
if(html.indexOf('<li')===0){ toCreate='ul'; }
if(html.indexOf('<tr')===0){ toCreate='tbody'; }
if(html.indexOf('<td')===0||html.indexOf('<th')===0){ toCreate='tr'; }
if(html.indexOf('<tbody')===0){ toCreate='table'; }
if(html.indexOf('<option')===0){ toCreate='select'; }
tempParent=doc.createElement(toCreate);
tempParent.innerHTML=html;
for (i=0; i < tempParent.childNodes.length; i +=1){
arr.push(tempParent.childNodes[i]);
}}else{
if(!context&&selector[0]==='#'&&!selector.match(/[ .<>:~]/)){
els=[doc.getElementById(selector.trim().split('#')[1])];
}else{
els=(context||doc).querySelectorAll(selector.trim());
}
for (i=0; i < els.length; i +=1){
if(els[i]){ arr.push(els[i]); }}
}}else if(selector.nodeType||selector===win||selector===doc){
arr.push(selector);
}else if(selector.length > 0&&selector[0].nodeType){
for (i=0; i < selector.length; i +=1){
arr.push(selector[i]);
}}
}
return new Dom7(arr);
}
$.fn=Dom7.prototype;
$.Class=Dom7;
$.Dom7=Dom7;
function unique(arr){
var uniqueArray=[];
for (var i=0; i < arr.length; i +=1){
if(uniqueArray.indexOf(arr[i])===-1){ uniqueArray.push(arr[i]); }}
return uniqueArray;
}
function addClass(className){
if(typeof className==='undefined'){
return this;
}
var classes=className.split(' ');
for (var i=0; i < classes.length; i +=1){
for (var j=0; j < this.length; j +=1){
if(typeof this[j]!=='undefined'&&typeof this[j].classList!=='undefined'){ this[j].classList.add(classes[i]); }}
}
return this;
}
function removeClass(className){
var classes=className.split(' ');
for (var i=0; i < classes.length; i +=1){
for (var j=0; j < this.length; j +=1){
if(typeof this[j]!=='undefined'&&typeof this[j].classList!=='undefined'){ this[j].classList.remove(classes[i]); }}
}
return this;
}
function hasClass(className){
if(!this[0]){ return false; }
return this[0].classList.contains(className);
}
function toggleClass(className){
var classes=className.split(' ');
for (var i=0; i < classes.length; i +=1){
for (var j=0; j < this.length; j +=1){
if(typeof this[j]!=='undefined'&&typeof this[j].classList!=='undefined'){ this[j].classList.toggle(classes[i]); }}
}
return this;
}
function attr(attrs, value){
var arguments$1=arguments;
if(arguments.length===1&&typeof attrs==='string'){
if(this[0]){ return this[0].getAttribute(attrs); }
return undefined;
}
for (var i=0; i < this.length; i +=1){
if(arguments$1.length===2){
this[i].setAttribute(attrs, value);
}else{
for (var attrName in attrs){
this[i][attrName]=attrs[attrName];
this[i].setAttribute(attrName, attrs[attrName]);
}}
}
return this;
}
function removeAttr(attr){
for (var i=0; i < this.length; i +=1){
this[i].removeAttribute(attr);
}
return this;
}
function data(key, value){
var el;
if(typeof value==='undefined'){
el=this[0];
if(el){
if(el.dom7ElementDataStorage&&(key in el.dom7ElementDataStorage)){
return el.dom7ElementDataStorage[key];
}
var dataKey=el.getAttribute(("data-" + key));
if(dataKey){
return dataKey;
}
return undefined;
}
return undefined;
}
for (var i=0; i < this.length; i +=1){
el=this[i];
if(!el.dom7ElementDataStorage){ el.dom7ElementDataStorage={};}
el.dom7ElementDataStorage[key]=value;
}
return this;
}
function transform(transform){
for (var i=0; i < this.length; i +=1){
var elStyle=this[i].style;
elStyle.webkitTransform=transform;
elStyle.transform=transform;
}
return this;
}
function transition(duration){
if(typeof duration!=='string'){
duration=duration + "ms";
}
for (var i=0; i < this.length; i +=1){
var elStyle=this[i].style;
elStyle.webkitTransitionDuration=duration;
elStyle.transitionDuration=duration;
}
return this;
}
function on(){
var assign;
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
var eventType=args[0];
var targetSelector=args[1];
var listener=args[2];
var capture=args[3];
if(typeof args[1]==='function'){
(assign=args, eventType=assign[0], listener=assign[1], capture=assign[2]);
targetSelector=undefined;
}
if(!capture){ capture=false; }
function handleLiveEvent(e){
var target=e.target;
if(!target){ return; }
var eventData=e.target.dom7EventData||[];
if(eventData.indexOf(e) < 0){
eventData.unshift(e);
}
if($(target).is(targetSelector)){ listener.apply(target, eventData); }else{
var parents=$(target).parents();
for (var k=0; k < parents.length; k +=1){
if($(parents[k]).is(targetSelector)){ listener.apply(parents[k], eventData); }}
}}
function handleEvent(e){
var eventData=e&&e.target ? e.target.dom7EventData||[]:[];
if(eventData.indexOf(e) < 0){
eventData.unshift(e);
}
listener.apply(this, eventData);
}
var events=eventType.split(' ');
var j;
for (var i=0; i < this.length; i +=1){
var el=this[i];
if(!targetSelector){
for (j=0; j < events.length; j +=1){
var event=events[j];
if(!el.dom7Listeners){ el.dom7Listeners={};}
if(!el.dom7Listeners[event]){ el.dom7Listeners[event]=[]; }
el.dom7Listeners[event].push({
listener: listener,
proxyListener: handleEvent,
});
el.addEventListener(event, handleEvent, capture);
}}else{
for (j=0; j < events.length; j +=1){
var event$1=events[j];
if(!el.dom7LiveListeners){ el.dom7LiveListeners={};}
if(!el.dom7LiveListeners[event$1]){ el.dom7LiveListeners[event$1]=[]; }
el.dom7LiveListeners[event$1].push({
listener: listener,
proxyListener: handleLiveEvent,
});
el.addEventListener(event$1, handleLiveEvent, capture);
}}
}
return this;
}
function off(){
var assign;
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
var eventType=args[0];
var targetSelector=args[1];
var listener=args[2];
var capture=args[3];
if(typeof args[1]==='function'){
(assign=args, eventType=assign[0], listener=assign[1], capture=assign[2]);
targetSelector=undefined;
}
if(!capture){ capture=false; }
var events=eventType.split(' ');
for (var i=0; i < events.length; i +=1){
var event=events[i];
for (var j=0; j < this.length; j +=1){
var el=this[j];
var handlers=(void 0);
if(!targetSelector&&el.dom7Listeners){
handlers=el.dom7Listeners[event];
}else if(targetSelector&&el.dom7LiveListeners){
handlers=el.dom7LiveListeners[event];
}
if(handlers&&handlers.length){
for (var k=handlers.length - 1; k >=0; k -=1){
var handler=handlers[k];
if(listener&&handler.listener===listener){
el.removeEventListener(event, handler.proxyListener, capture);
handlers.splice(k, 1);
}else if(listener&&handler.listener&&handler.listener.dom7proxy&&handler.listener.dom7proxy===listener){
el.removeEventListener(event, handler.proxyListener, capture);
handlers.splice(k, 1);
}else if(!listener){
el.removeEventListener(event, handler.proxyListener, capture);
handlers.splice(k, 1);
}}
}}
}
return this;
}
function trigger(){
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
var events=args[0].split(' ');
var eventData=args[1];
for (var i=0; i < events.length; i +=1){
var event=events[i];
for (var j=0; j < this.length; j +=1){
var el=this[j];
var evt=(void 0);
try {
evt=new win.CustomEvent(event, {
detail: eventData,
bubbles: true,
cancelable: true,
});
} catch (e){
evt=doc.createEvent('Event');
evt.initEvent(event, true, true);
evt.detail=eventData;
}
el.dom7EventData=args.filter(function (data, dataIndex){ return dataIndex > 0; });
el.dispatchEvent(evt);
el.dom7EventData=[];
delete el.dom7EventData;
}}
return this;
}
function transitionEnd(callback){
var events=['webkitTransitionEnd', 'transitionend'];
var dom=this;
var i;
function fireCallBack(e){
if(e.target!==this){ return; }
callback.call(this, e);
for (i=0; i < events.length; i +=1){
dom.off(events[i], fireCallBack);
}}
if(callback){
for (i=0; i < events.length; i +=1){
dom.on(events[i], fireCallBack);
}}
return this;
}
function outerWidth(includeMargins){
if(this.length > 0){
if(includeMargins){
var styles=this.styles();
return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));
}
return this[0].offsetWidth;
}
return null;
}
function outerHeight(includeMargins){
if(this.length > 0){
if(includeMargins){
var styles=this.styles();
return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));
}
return this[0].offsetHeight;
}
return null;
}
function offset(){
if(this.length > 0){
var el=this[0];
var box=el.getBoundingClientRect();
var body=doc.body;
var clientTop=el.clientTop||body.clientTop||0;
var clientLeft=el.clientLeft||body.clientLeft||0;
var scrollTop=el===win ? win.scrollY:el.scrollTop;
var scrollLeft=el===win ? win.scrollX:el.scrollLeft;
return {
top: (box.top + scrollTop) - clientTop,
left: (box.left + scrollLeft) - clientLeft,
};}
return null;
}
function styles(){
if(this[0]){ return win.getComputedStyle(this[0], null); }
return {};}
function css(props, value){
var i;
if(arguments.length===1){
if(typeof props==='string'){
if(this[0]){ return win.getComputedStyle(this[0], null).getPropertyValue(props); }}else{
for (i=0; i < this.length; i +=1){
for (var prop in props){
this[i].style[prop]=props[prop];
}}
return this;
}}
if(arguments.length===2&&typeof props==='string'){
for (i=0; i < this.length; i +=1){
this[i].style[props]=value;
}
return this;
}
return this;
}
function each(callback){
if(!callback){ return this; }
for (var i=0; i < this.length; i +=1){
if(callback.call(this[i], i, this[i])===false){
return this;
}}
return this;
}
function filter(callback){
var matchedItems=[];
var dom=this;
for (var i=0; i < dom.length; i +=1){
if(callback.call(dom[i], i, dom[i])){ matchedItems.push(dom[i]); }}
return new Dom7(matchedItems);
}
function html(html){
if(typeof html==='undefined'){
return this[0] ? this[0].innerHTML:undefined;
}
for (var i=0; i < this.length; i +=1){
this[i].innerHTML=html;
}
return this;
}
function text(text){
if(typeof text==='undefined'){
if(this[0]){
return this[0].textContent.trim();
}
return null;
}
for (var i=0; i < this.length; i +=1){
this[i].textContent=text;
}
return this;
}
function is(selector){
var el=this[0];
var compareWith;
var i;
if(!el||typeof selector==='undefined'){ return false; }
if(typeof selector==='string'){
if(el.matches){ return el.matches(selector); }
else if(el.webkitMatchesSelector){ return el.webkitMatchesSelector(selector); }
else if(el.msMatchesSelector){ return el.msMatchesSelector(selector); }
compareWith=$(selector);
for (i=0; i < compareWith.length; i +=1){
if(compareWith[i]===el){ return true; }}
return false;
}else if(selector===doc){ return el===doc; }
else if(selector===win){ return el===win; }
if(selector.nodeType||selector instanceof Dom7){
compareWith=selector.nodeType ? [selector]:selector;
for (i=0; i < compareWith.length; i +=1){
if(compareWith[i]===el){ return true; }}
return false;
}
return false;
}
function index(){
var child=this[0];
var i;
if(child){
i=0;
while ((child=child.previousSibling)!==null){
if(child.nodeType===1){ i +=1; }}
return i;
}
return undefined;
}
function eq(index){
if(typeof index==='undefined'){ return this; }
var length=this.length;
var returnIndex;
if(index > length - 1){
return new Dom7([]);
}
if(index < 0){
returnIndex=length + index;
if(returnIndex < 0){ return new Dom7([]); }
return new Dom7([this[returnIndex]]);
}
return new Dom7([this[index]]);
}
function append(){
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
var newChild;
for (var k=0; k < args.length; k +=1){
newChild=args[k];
for (var i=0; i < this.length; i +=1){
if(typeof newChild==='string'){
var tempDiv=doc.createElement('div');
tempDiv.innerHTML=newChild;
while (tempDiv.firstChild){
this[i].appendChild(tempDiv.firstChild);
}}else if(newChild instanceof Dom7){
for (var j=0; j < newChild.length; j +=1){
this[i].appendChild(newChild[j]);
}}else{
this[i].appendChild(newChild);
}}
}
return this;
}
function prepend(newChild){
var i;
var j;
for (i=0; i < this.length; i +=1){
if(typeof newChild==='string'){
var tempDiv=doc.createElement('div');
tempDiv.innerHTML=newChild;
for (j=tempDiv.childNodes.length - 1; j >=0; j -=1){
this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);
}}else if(newChild instanceof Dom7){
for (j=0; j < newChild.length; j +=1){
this[i].insertBefore(newChild[j], this[i].childNodes[0]);
}}else{
this[i].insertBefore(newChild, this[i].childNodes[0]);
}}
return this;
}
function next(selector){
if(this.length > 0){
if(selector){
if(this[0].nextElementSibling&&$(this[0].nextElementSibling).is(selector)){
return new Dom7([this[0].nextElementSibling]);
}
return new Dom7([]);
}
if(this[0].nextElementSibling){ return new Dom7([this[0].nextElementSibling]); }
return new Dom7([]);
}
return new Dom7([]);
}
function nextAll(selector){
var nextEls=[];
var el=this[0];
if(!el){ return new Dom7([]); }
while (el.nextElementSibling){
var next=el.nextElementSibling;
if(selector){
if($(next).is(selector)){ nextEls.push(next); }}else{ nextEls.push(next); }
el=next;
}
return new Dom7(nextEls);
}
function prev(selector){
if(this.length > 0){
var el=this[0];
if(selector){
if(el.previousElementSibling&&$(el.previousElementSibling).is(selector)){
return new Dom7([el.previousElementSibling]);
}
return new Dom7([]);
}
if(el.previousElementSibling){ return new Dom7([el.previousElementSibling]); }
return new Dom7([]);
}
return new Dom7([]);
}
function prevAll(selector){
var prevEls=[];
var el=this[0];
if(!el){ return new Dom7([]); }
while (el.previousElementSibling){
var prev=el.previousElementSibling;
if(selector){
if($(prev).is(selector)){ prevEls.push(prev); }}else{ prevEls.push(prev); }
el=prev;
}
return new Dom7(prevEls);
}
function parent(selector){
var parents=[];
for (var i=0; i < this.length; i +=1){
if(this[i].parentNode!==null){
if(selector){
if($(this[i].parentNode).is(selector)){ parents.push(this[i].parentNode); }}else{
parents.push(this[i].parentNode);
}}
}
return $(unique(parents));
}
function parents(selector){
var parents=[];
for (var i=0; i < this.length; i +=1){
var parent=this[i].parentNode;
while (parent){
if(selector){
if($(parent).is(selector)){ parents.push(parent); }}else{
parents.push(parent);
}
parent=parent.parentNode;
}}
return $(unique(parents));
}
function closest(selector){
var closest=this;
if(typeof selector==='undefined'){
return new Dom7([]);
}
if(!closest.is(selector)){
closest=closest.parents(selector).eq(0);
}
return closest;
}
function find(selector){
var foundElements=[];
for (var i=0; i < this.length; i +=1){
var found=this[i].querySelectorAll(selector);
for (var j=0; j < found.length; j +=1){
foundElements.push(found[j]);
}}
return new Dom7(foundElements);
}
function children(selector){
var children=[];
for (var i=0; i < this.length; i +=1){
var childNodes=this[i].childNodes;
for (var j=0; j < childNodes.length; j +=1){
if(!selector){
if(childNodes[j].nodeType===1){ children.push(childNodes[j]); }}else if(childNodes[j].nodeType===1&&$(childNodes[j]).is(selector)){
children.push(childNodes[j]);
}}
}
return new Dom7(unique(children));
}
function remove(){
for (var i=0; i < this.length; i +=1){
if(this[i].parentNode){ this[i].parentNode.removeChild(this[i]); }}
return this;
}
function add(){
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
var dom=this;
var i;
var j;
for (i=0; i < args.length; i +=1){
var toAdd=$(args[i]);
for (j=0; j < toAdd.length; j +=1){
dom[dom.length]=toAdd[j];
dom.length +=1;
}}
return dom;
}
var Methods={
addClass: addClass,
removeClass: removeClass,
hasClass: hasClass,
toggleClass: toggleClass,
attr: attr,
removeAttr: removeAttr,
data: data,
transform: transform,
transition: transition,
on: on,
off: off,
trigger: trigger,
transitionEnd: transitionEnd,
outerWidth: outerWidth,
outerHeight: outerHeight,
offset: offset,
css: css,
each: each,
html: html,
text: text,
is: is,
index: index,
eq: eq,
append: append,
prepend: prepend,
next: next,
nextAll: nextAll,
prev: prev,
prevAll: prevAll,
parent: parent,
parents: parents,
closest: closest,
find: find,
children: children,
filter: filter,
remove: remove,
add: add,
styles: styles,
};
Object.keys(Methods).forEach(function (methodName){
$.fn[methodName]=$.fn[methodName]||Methods[methodName];
});
var Utils={
deleteProps: function deleteProps(obj){
var object=obj;
Object.keys(object).forEach(function (key){
try {
object[key]=null;
} catch (e){
}
try {
delete object[key];
} catch (e){
}});
},
nextTick: function nextTick(callback, delay){
if(delay===void 0) delay=0;
return setTimeout(callback, delay);
},
now: function now(){
return Date.now();
},
getTranslate: function getTranslate(el, axis){
if(axis===void 0) axis='x';
var matrix;
var curTransform;
var transformMatrix;
var curStyle=win.getComputedStyle(el, null);
if(win.WebKitCSSMatrix){
curTransform=curStyle.transform||curStyle.webkitTransform;
if(curTransform.split(',').length > 6){
curTransform=curTransform.split(', ').map(function (a){ return a.replace(',', '.'); }).join(', ');
}
transformMatrix=new win.WebKitCSSMatrix(curTransform==='none' ? '':curTransform);
}else{
transformMatrix=curStyle.MozTransform||curStyle.OTransform||curStyle.MsTransform||curStyle.msTransform||curStyle.transform||curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');
matrix=transformMatrix.toString().split(',');
}
if(axis==='x'){
if(win.WebKitCSSMatrix){ curTransform=transformMatrix.m41; }
else if(matrix.length===16){ curTransform=parseFloat(matrix[12]); }else{ curTransform=parseFloat(matrix[4]); }}
if(axis==='y'){
if(win.WebKitCSSMatrix){ curTransform=transformMatrix.m42; }
else if(matrix.length===16){ curTransform=parseFloat(matrix[13]); }else{ curTransform=parseFloat(matrix[5]); }}
return curTransform||0;
},
parseUrlQuery: function parseUrlQuery(url){
var query={};
var urlToParse=url||win.location.href;
var i;
var params;
var param;
var length;
if(typeof urlToParse==='string'&&urlToParse.length){
urlToParse=urlToParse.indexOf('?') > -1 ? urlToParse.replace(/\S*\?/, ''):'';
params=urlToParse.split('&').filter(function (paramsPart){ return paramsPart!==''; });
length=params.length;
for (i=0; i < length; i +=1){
param=params[i].replace(/#\S+/g, '').split('=');
query[decodeURIComponent(param[0])]=typeof param[1]==='undefined' ? undefined:decodeURIComponent(param[1])||'';
}}
return query;
},
isObject: function isObject(o){
return typeof o==='object'&&o!==null&&o.constructor&&o.constructor===Object;
},
extend: function extend(){
var args=[], len$1=arguments.length;
while(len$1--) args[ len$1 ]=arguments[ len$1 ];
var to=Object(args[0]);
for (var i=1; i < args.length; i +=1){
var nextSource=args[i];
if(nextSource!==undefined&&nextSource!==null){
var keysArray=Object.keys(Object(nextSource));
for (var nextIndex=0, len=keysArray.length; nextIndex < len; nextIndex +=1){
var nextKey=keysArray[nextIndex];
var desc=Object.getOwnPropertyDescriptor(nextSource, nextKey);
if(desc!==undefined&&desc.enumerable){
if(Utils.isObject(to[nextKey])&&Utils.isObject(nextSource[nextKey])){
Utils.extend(to[nextKey], nextSource[nextKey]);
}else if(!Utils.isObject(to[nextKey])&&Utils.isObject(nextSource[nextKey])){
to[nextKey]={};
Utils.extend(to[nextKey], nextSource[nextKey]);
}else{
to[nextKey]=nextSource[nextKey];
}}
}}
}
return to;
},
};
var Support=(function Support(){
return {
touch: (win.Modernizr&&win.Modernizr.touch===true)||(function checkTouch(){
return !!((win.navigator.maxTouchPoints > 0)||('ontouchstart' in win)||(win.DocumentTouch&&doc instanceof win.DocumentTouch));
}()),
pointerEvents: !!win.PointerEvent&&('maxTouchPoints' in win.navigator)&&win.navigator.maxTouchPoints > 0,
observer: (function checkObserver(){
return ('MutationObserver' in win||'WebkitMutationObserver' in win);
}()),
passiveListener: (function checkPassiveListener(){
var supportsPassive=false;
try {
var opts=Object.defineProperty({}, 'passive', {
get: function get(){
supportsPassive=true;
},
});
win.addEventListener('testPassiveListener', null, opts);
} catch (e){
}
return supportsPassive;
}()),
gestures: (function checkGestures(){
return 'ongesturestart' in win;
}()),
};}());
var SwiperClass=function SwiperClass(params){
if(params===void 0) params={};
var self=this;
self.params=params;
self.eventsListeners={};
if(self.params&&self.params.on){
Object.keys(self.params.on).forEach(function (eventName){
self.on(eventName, self.params.on[eventName]);
});
}};
var staticAccessors={ components: { configurable: true }};
SwiperClass.prototype.on=function on (events, handler, priority){
var self=this;
if(typeof handler!=='function'){ return self; }
var method=priority ? 'unshift':'push';
events.split(' ').forEach(function (event){
if(!self.eventsListeners[event]){ self.eventsListeners[event]=[]; }
self.eventsListeners[event][method](handler);
});
return self;
};
SwiperClass.prototype.once=function once (events, handler, priority){
var self=this;
if(typeof handler!=='function'){ return self; }
function onceHandler(){
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
self.off(events, onceHandler);
if(onceHandler.f7proxy){
delete onceHandler.f7proxy;
}
handler.apply(self, args);
}
onceHandler.f7proxy=handler;
return self.on(events, onceHandler, priority);
};
SwiperClass.prototype.off=function off (events, handler){
var self=this;
if(!self.eventsListeners){ return self; }
events.split(' ').forEach(function (event){
if(typeof handler==='undefined'){
self.eventsListeners[event]=[];
}else if(self.eventsListeners[event]&&self.eventsListeners[event].length){
self.eventsListeners[event].forEach(function (eventHandler, index){
if(eventHandler===handler||(eventHandler.f7proxy&&eventHandler.f7proxy===handler)){
self.eventsListeners[event].splice(index, 1);
}});
}});
return self;
};
SwiperClass.prototype.emit=function emit (){
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
var self=this;
if(!self.eventsListeners){ return self; }
var events;
var data;
var context;
if(typeof args[0]==='string'||Array.isArray(args[0])){
events=args[0];
data=args.slice(1, args.length);
context=self;
}else{
events=args[0].events;
data=args[0].data;
context=args[0].context||self;
}
var eventsArray=Array.isArray(events) ? events:events.split(' ');
eventsArray.forEach(function (event){
if(self.eventsListeners&&self.eventsListeners[event]){
var handlers=[];
self.eventsListeners[event].forEach(function (eventHandler){
handlers.push(eventHandler);
});
handlers.forEach(function (eventHandler){
eventHandler.apply(context, data);
});
}});
return self;
};
SwiperClass.prototype.useModulesParams=function useModulesParams (instanceParams){
var instance=this;
if(!instance.modules){ return; }
Object.keys(instance.modules).forEach(function (moduleName){
var module=instance.modules[moduleName];
if(module.params){
Utils.extend(instanceParams, module.params);
}});
};
SwiperClass.prototype.useModules=function useModules (modulesParams){
if(modulesParams===void 0) modulesParams={};
var instance=this;
if(!instance.modules){ return; }
Object.keys(instance.modules).forEach(function (moduleName){
var module=instance.modules[moduleName];
var moduleParams=modulesParams[moduleName]||{};
if(module.instance){
Object.keys(module.instance).forEach(function (modulePropName){
var moduleProp=module.instance[modulePropName];
if(typeof moduleProp==='function'){
instance[modulePropName]=moduleProp.bind(instance);
}else{
instance[modulePropName]=moduleProp;
}});
}
if(module.on&&instance.on){
Object.keys(module.on).forEach(function (moduleEventName){
instance.on(moduleEventName, module.on[moduleEventName]);
});
}
if(module.create){
module.create.bind(instance)(moduleParams);
}});
};
staticAccessors.components.set=function (components){
var Class=this;
if(!Class.use){ return; }
Class.use(components);
};
SwiperClass.installModule=function installModule (module){
var params=[], len=arguments.length - 1;
while(len-- > 0) params[ len ]=arguments[ len + 1 ];
var Class=this;
if(!Class.prototype.modules){ Class.prototype.modules={};}
var name=module.name||(((Object.keys(Class.prototype.modules).length) + "_" + (Utils.now())));
Class.prototype.modules[name]=module;
if(module.proto){
Object.keys(module.proto).forEach(function (key){
Class.prototype[key]=module.proto[key];
});
}
if(module.static){
Object.keys(module.static).forEach(function (key){
Class[key]=module.static[key];
});
}
if(module.install){
module.install.apply(Class, params);
}
return Class;
};
SwiperClass.use=function use (module){
var params=[], len=arguments.length - 1;
while(len-- > 0) params[ len ]=arguments[ len + 1 ];
var Class=this;
if(Array.isArray(module)){
module.forEach(function (m){ return Class.installModule(m); });
return Class;
}
return Class.installModule.apply(Class, [ module ].concat(params));
};
Object.defineProperties(SwiperClass, staticAccessors);
function updateSize (){
var swiper=this;
var width;
var height;
var $el=swiper.$el;
if(typeof swiper.params.width!=='undefined'){
width=swiper.params.width;
}else{
width=$el[0].clientWidth;
}
if(typeof swiper.params.height!=='undefined'){
height=swiper.params.height;
}else{
height=$el[0].clientHeight;
}
if((width===0&&swiper.isHorizontal())||(height===0&&swiper.isVertical())){
return;
}
width=width - parseInt($el.css('padding-left'), 10) - parseInt($el.css('padding-right'), 10);
height=height - parseInt($el.css('padding-top'), 10) - parseInt($el.css('padding-bottom'), 10);
Utils.extend(swiper, {
width: width,
height: height,
size: swiper.isHorizontal() ? width:height,
});
}
function updateSlides (){
var swiper=this;
var params=swiper.params;
var $wrapperEl=swiper.$wrapperEl;
var swiperSize=swiper.size;
var rtl=swiper.rtlTranslate;
var wrongRTL=swiper.wrongRTL;
var isVirtual=swiper.virtual&&params.virtual.enabled;
var previousSlidesLength=isVirtual ? swiper.virtual.slides.length:swiper.slides.length;
var slides=$wrapperEl.children(("." + (swiper.params.slideClass)));
var slidesLength=isVirtual ? swiper.virtual.slides.length:slides.length;
var snapGrid=[];
var slidesGrid=[];
var slidesSizesGrid=[];
function slidesForMargin(slideIndex){
if(!params.cssMode){ return true; }
if(slideIndex===slides.length - 1){
return false;
}
return true;
}
var offsetBefore=params.slidesOffsetBefore;
if(typeof offsetBefore==='function'){
offsetBefore=params.slidesOffsetBefore.call(swiper);
}
var offsetAfter=params.slidesOffsetAfter;
if(typeof offsetAfter==='function'){
offsetAfter=params.slidesOffsetAfter.call(swiper);
}
var previousSnapGridLength=swiper.snapGrid.length;
var previousSlidesGridLength=swiper.snapGrid.length;
var spaceBetween=params.spaceBetween;
var slidePosition=-offsetBefore;
var prevSlideSize=0;
var index=0;
if(typeof swiperSize==='undefined'){
return;
}
if(typeof spaceBetween==='string'&&spaceBetween.indexOf('%') >=0){
spaceBetween=(parseFloat(spaceBetween.replace('%', '')) / 100) * swiperSize;
}
swiper.virtualSize=-spaceBetween;
if(rtl){ slides.css({ marginLeft: '', marginTop: '' });}else{ slides.css({ marginRight: '', marginBottom: '' });}
var slidesNumberEvenToRows;
if(params.slidesPerColumn > 1){
if(Math.floor(slidesLength / params.slidesPerColumn)===slidesLength / swiper.params.slidesPerColumn){
slidesNumberEvenToRows=slidesLength;
}else{
slidesNumberEvenToRows=Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;
}
if(params.slidesPerView!=='auto'&&params.slidesPerColumnFill==='row'){
slidesNumberEvenToRows=Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);
}}
var slideSize;
var slidesPerColumn=params.slidesPerColumn;
var slidesPerRow=slidesNumberEvenToRows / slidesPerColumn;
var numFullColumns=Math.floor(slidesLength / params.slidesPerColumn);
for (var i=0; i < slidesLength; i +=1){
slideSize=0;
var slide=slides.eq(i);
if(params.slidesPerColumn > 1){
var newSlideOrderIndex=(void 0);
var column=(void 0);
var row=(void 0);
if(params.slidesPerColumnFill==='row'&&params.slidesPerGroup > 1){
var groupIndex=Math.floor(i / (params.slidesPerGroup * params.slidesPerColumn));
var slideIndexInGroup=i - params.slidesPerColumn * params.slidesPerGroup * groupIndex;
var columnsInGroup=groupIndex===0
? params.slidesPerGroup
: Math.min(Math.ceil((slidesLength - groupIndex * slidesPerColumn * params.slidesPerGroup) / slidesPerColumn), params.slidesPerGroup);
row=Math.floor(slideIndexInGroup / columnsInGroup);
column=(slideIndexInGroup - row * columnsInGroup) + groupIndex * params.slidesPerGroup;
newSlideOrderIndex=column + ((row * slidesNumberEvenToRows) / slidesPerColumn);
slide
.css({
'-webkit-box-ordinal-group': newSlideOrderIndex,
'-moz-box-ordinal-group': newSlideOrderIndex,
'-ms-flex-order': newSlideOrderIndex,
'-webkit-order': newSlideOrderIndex,
order: newSlideOrderIndex,
});
}else if(params.slidesPerColumnFill==='column'){
column=Math.floor(i / slidesPerColumn);
row=i - (column * slidesPerColumn);
if(column > numFullColumns||(column===numFullColumns&&row===slidesPerColumn - 1)){
row +=1;
if(row >=slidesPerColumn){
row=0;
column +=1;
}}
}else{
row=Math.floor(i / slidesPerRow);
column=i - (row * slidesPerRow);
}
slide.css(("margin-" + (swiper.isHorizontal() ? 'top':'left')),
(row!==0&&params.spaceBetween)&&(((params.spaceBetween) + "px"))
);
}
if(slide.css('display')==='none'){ continue; }
if(params.slidesPerView==='auto'){
var slideStyles=win.getComputedStyle(slide[0], null);
var currentTransform=slide[0].style.transform;
var currentWebKitTransform=slide[0].style.webkitTransform;
if(currentTransform){
slide[0].style.transform='none';
}
if(currentWebKitTransform){
slide[0].style.webkitTransform='none';
}
if(params.roundLengths){
slideSize=swiper.isHorizontal()
? slide.outerWidth(true)
: slide.outerHeight(true);
}else{
if(swiper.isHorizontal()){
var width=parseFloat(slideStyles.getPropertyValue('width'));
var paddingLeft=parseFloat(slideStyles.getPropertyValue('padding-left'));
var paddingRight=parseFloat(slideStyles.getPropertyValue('padding-right'));
var marginLeft=parseFloat(slideStyles.getPropertyValue('margin-left'));
var marginRight=parseFloat(slideStyles.getPropertyValue('margin-right'));
var boxSizing=slideStyles.getPropertyValue('box-sizing');
if(boxSizing&&boxSizing==='border-box'){
slideSize=width + marginLeft + marginRight;
}else{
slideSize=width + paddingLeft + paddingRight + marginLeft + marginRight;
}}else{
var height=parseFloat(slideStyles.getPropertyValue('height'));
var paddingTop=parseFloat(slideStyles.getPropertyValue('padding-top'));
var paddingBottom=parseFloat(slideStyles.getPropertyValue('padding-bottom'));
var marginTop=parseFloat(slideStyles.getPropertyValue('margin-top'));
var marginBottom=parseFloat(slideStyles.getPropertyValue('margin-bottom'));
var boxSizing$1=slideStyles.getPropertyValue('box-sizing');
if(boxSizing$1&&boxSizing$1==='border-box'){
slideSize=height + marginTop + marginBottom;
}else{
slideSize=height + paddingTop + paddingBottom + marginTop + marginBottom;
}}
}
if(currentTransform){
slide[0].style.transform=currentTransform;
}
if(currentWebKitTransform){
slide[0].style.webkitTransform=currentWebKitTransform;
}
if(params.roundLengths){ slideSize=Math.floor(slideSize); }}else{
slideSize=(swiperSize - ((params.slidesPerView - 1) * spaceBetween)) / params.slidesPerView;
if(params.roundLengths){ slideSize=Math.floor(slideSize); }
if(slides[i]){
if(swiper.isHorizontal()){
slides[i].style.width=slideSize + "px";
}else{
slides[i].style.height=slideSize + "px";
}}
}
if(slides[i]){
slides[i].swiperSlideSize=slideSize;
}
slidesSizesGrid.push(slideSize);
if(params.centeredSlides){
slidePosition=slidePosition + (slideSize / 2) + (prevSlideSize / 2) + spaceBetween;
if(prevSlideSize===0&&i!==0){ slidePosition=slidePosition - (swiperSize / 2) - spaceBetween; }
if(i===0){ slidePosition=slidePosition - (swiperSize / 2) - spaceBetween; }
if(Math.abs(slidePosition) < 1 / 1000){ slidePosition=0; }
if(params.roundLengths){ slidePosition=Math.floor(slidePosition); }
if((index) % params.slidesPerGroup===0){ snapGrid.push(slidePosition); }
slidesGrid.push(slidePosition);
}else{
if(params.roundLengths){ slidePosition=Math.floor(slidePosition); }
if((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup===0){ snapGrid.push(slidePosition); }
slidesGrid.push(slidePosition);
slidePosition=slidePosition + slideSize + spaceBetween;
}
swiper.virtualSize +=slideSize + spaceBetween;
prevSlideSize=slideSize;
index +=1;
}
swiper.virtualSize=Math.max(swiper.virtualSize, swiperSize) + offsetAfter;
var newSlidesGrid;
if(rtl&&wrongRTL&&(params.effect==='slide'||params.effect==='coverflow')){
$wrapperEl.css({ width: ((swiper.virtualSize + params.spaceBetween) + "px") });
}
if(params.setWrapperSize){
if(swiper.isHorizontal()){ $wrapperEl.css({ width: ((swiper.virtualSize + params.spaceBetween) + "px") });}else{ $wrapperEl.css({ height: ((swiper.virtualSize + params.spaceBetween) + "px") });}}
if(params.slidesPerColumn > 1){
swiper.virtualSize=(slideSize + params.spaceBetween) * slidesNumberEvenToRows;
swiper.virtualSize=Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;
if(swiper.isHorizontal()){ $wrapperEl.css({ width: ((swiper.virtualSize + params.spaceBetween) + "px") });}else{ $wrapperEl.css({ height: ((swiper.virtualSize + params.spaceBetween) + "px") });}
if(params.centeredSlides){
newSlidesGrid=[];
for (var i$1=0; i$1 < snapGrid.length; i$1 +=1){
var slidesGridItem=snapGrid[i$1];
if(params.roundLengths){ slidesGridItem=Math.floor(slidesGridItem); }
if(snapGrid[i$1] < swiper.virtualSize + snapGrid[0]){ newSlidesGrid.push(slidesGridItem); }}
snapGrid=newSlidesGrid;
}}
if(!params.centeredSlides){
newSlidesGrid=[];
for (var i$2=0; i$2 < snapGrid.length; i$2 +=1){
var slidesGridItem$1=snapGrid[i$2];
if(params.roundLengths){ slidesGridItem$1=Math.floor(slidesGridItem$1); }
if(snapGrid[i$2] <=swiper.virtualSize - swiperSize){
newSlidesGrid.push(slidesGridItem$1);
}}
snapGrid=newSlidesGrid;
if(Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1){
snapGrid.push(swiper.virtualSize - swiperSize);
}}
if(snapGrid.length===0){ snapGrid=[0]; }
if(params.spaceBetween!==0){
if(swiper.isHorizontal()){
if(rtl){ slides.filter(slidesForMargin).css({ marginLeft: (spaceBetween + "px") });}else{ slides.filter(slidesForMargin).css({ marginRight: (spaceBetween + "px") });}}else{ slides.filter(slidesForMargin).css({ marginBottom: (spaceBetween + "px") });}}
if(params.centeredSlides&&params.centeredSlidesBounds){
var allSlidesSize=0;
slidesSizesGrid.forEach(function (slideSizeValue){
allSlidesSize +=slideSizeValue + (params.spaceBetween ? params.spaceBetween:0);
});
allSlidesSize -=params.spaceBetween;
var maxSnap=allSlidesSize - swiperSize;
snapGrid=snapGrid.map(function (snap){
if(snap < 0){ return -offsetBefore; }
if(snap > maxSnap){ return maxSnap + offsetAfter; }
return snap;
});
}
if(params.centerInsufficientSlides){
var allSlidesSize$1=0;
slidesSizesGrid.forEach(function (slideSizeValue){
allSlidesSize$1 +=slideSizeValue + (params.spaceBetween ? params.spaceBetween:0);
});
allSlidesSize$1 -=params.spaceBetween;
if(allSlidesSize$1 < swiperSize){
var allSlidesOffset=(swiperSize - allSlidesSize$1) / 2;
snapGrid.forEach(function (snap, snapIndex){
snapGrid[snapIndex]=snap - allSlidesOffset;
});
slidesGrid.forEach(function (snap, snapIndex){
slidesGrid[snapIndex]=snap + allSlidesOffset;
});
}}
Utils.extend(swiper, {
slides: slides,
snapGrid: snapGrid,
slidesGrid: slidesGrid,
slidesSizesGrid: slidesSizesGrid,
});
if(slidesLength!==previousSlidesLength){
swiper.emit('slidesLengthChange');
}
if(snapGrid.length!==previousSnapGridLength){
if(swiper.params.watchOverflow){ swiper.checkOverflow(); }
swiper.emit('snapGridLengthChange');
}
if(slidesGrid.length!==previousSlidesGridLength){
swiper.emit('slidesGridLengthChange');
}
if(params.watchSlidesProgress||params.watchSlidesVisibility){
swiper.updateSlidesOffset();
}}
function updateAutoHeight (speed){
var swiper=this;
var activeSlides=[];
var newHeight=0;
var i;
if(typeof speed==='number'){
swiper.setTransition(speed);
}else if(speed===true){
swiper.setTransition(swiper.params.speed);
}
if(swiper.params.slidesPerView!=='auto'&&swiper.params.slidesPerView > 1){
if(swiper.params.centeredSlides){ activeSlides.push.apply(activeSlides, swiper.visibleSlides); }else{
for (i=0; i < Math.ceil(swiper.params.slidesPerView); i +=1){
var index=swiper.activeIndex + i;
if(index > swiper.slides.length){ break; }
activeSlides.push(swiper.slides.eq(index)[0]);
}}
}else{
activeSlides.push(swiper.slides.eq(swiper.activeIndex)[0]);
}
for (i=0; i < activeSlides.length; i +=1){
if(typeof activeSlides[i]!=='undefined'){
var height=activeSlides[i].offsetHeight;
newHeight=height > newHeight ? height:newHeight;
}}
if(newHeight){ swiper.$wrapperEl.css('height', (newHeight + "px")); }}
function updateSlidesOffset (){
var swiper=this;
var slides=swiper.slides;
for (var i=0; i < slides.length; i +=1){
slides[i].swiperSlideOffset=swiper.isHorizontal() ? slides[i].offsetLeft:slides[i].offsetTop;
}}
function updateSlidesProgress (translate){
if(translate===void 0) translate=(this&&this.translate)||0;
var swiper=this;
var params=swiper.params;
var slides=swiper.slides;
var rtl=swiper.rtlTranslate;
if(slides.length===0){ return; }
if(typeof slides[0].swiperSlideOffset==='undefined'){ swiper.updateSlidesOffset(); }
var offsetCenter=-translate;
if(rtl){ offsetCenter=translate; }
slides.removeClass(params.slideVisibleClass);
swiper.visibleSlidesIndexes=[];
swiper.visibleSlides=[];
for (var i=0; i < slides.length; i +=1){
var slide=slides[i];
var slideProgress=(
(offsetCenter + (params.centeredSlides ? swiper.minTranslate():0)) - slide.swiperSlideOffset
) / (slide.swiperSlideSize + params.spaceBetween);
if(params.watchSlidesVisibility||(params.centeredSlides&&params.autoHeight)){
var slideBefore=-(offsetCenter - slide.swiperSlideOffset);
var slideAfter=slideBefore + swiper.slidesSizesGrid[i];
var isVisible=(slideBefore >=0&&slideBefore < swiper.size - 1)
|| (slideAfter > 1&&slideAfter <=swiper.size)
|| (slideBefore <=0&&slideAfter >=swiper.size);
if(isVisible){
swiper.visibleSlides.push(slide);
swiper.visibleSlidesIndexes.push(i);
slides.eq(i).addClass(params.slideVisibleClass);
}}
slide.progress=rtl ? -slideProgress:slideProgress;
}
swiper.visibleSlides=$(swiper.visibleSlides);
}
function updateProgress (translate){
var swiper=this;
if(typeof translate==='undefined'){
var multiplier=swiper.rtlTranslate ? -1:1;
translate=(swiper&&swiper.translate&&(swiper.translate * multiplier))||0;
}
var params=swiper.params;
var translatesDiff=swiper.maxTranslate() - swiper.minTranslate();
var progress=swiper.progress;
var isBeginning=swiper.isBeginning;
var isEnd=swiper.isEnd;
var wasBeginning=isBeginning;
var wasEnd=isEnd;
if(translatesDiff===0){
progress=0;
isBeginning=true;
isEnd=true;
}else{
progress=(translate - swiper.minTranslate()) / (translatesDiff);
isBeginning=progress <=0;
isEnd=progress >=1;
}
Utils.extend(swiper, {
progress: progress,
isBeginning: isBeginning,
isEnd: isEnd,
});
if(params.watchSlidesProgress||params.watchSlidesVisibility||(params.centeredSlides&&params.autoHeight)){ swiper.updateSlidesProgress(translate); }
if(isBeginning&&!wasBeginning){
swiper.emit('reachBeginning toEdge');
}
if(isEnd&&!wasEnd){
swiper.emit('reachEnd toEdge');
}
if((wasBeginning&&!isBeginning)||(wasEnd&&!isEnd)){
swiper.emit('fromEdge');
}
swiper.emit('progress', progress);
}
function updateSlidesClasses (){
var swiper=this;
var slides=swiper.slides;
var params=swiper.params;
var $wrapperEl=swiper.$wrapperEl;
var activeIndex=swiper.activeIndex;
var realIndex=swiper.realIndex;
var isVirtual=swiper.virtual&&params.virtual.enabled;
slides.removeClass(((params.slideActiveClass) + " " + (params.slideNextClass) + " " + (params.slidePrevClass) + " " + (params.slideDuplicateActiveClass) + " " + (params.slideDuplicateNextClass) + " " + (params.slideDuplicatePrevClass)));
var activeSlide;
if(isVirtual){
activeSlide=swiper.$wrapperEl.find(("." + (params.slideClass) + "[data-swiper-slide-index=\"" + activeIndex + "\"]"));
}else{
activeSlide=slides.eq(activeIndex);
}
activeSlide.addClass(params.slideActiveClass);
if(params.loop){
if(activeSlide.hasClass(params.slideDuplicateClass)){
$wrapperEl
.children(("." + (params.slideClass) + ":not(." + (params.slideDuplicateClass) + ")[data-swiper-slide-index=\"" + realIndex + "\"]"))
.addClass(params.slideDuplicateActiveClass);
}else{
$wrapperEl
.children(("." + (params.slideClass) + "." + (params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + realIndex + "\"]"))
.addClass(params.slideDuplicateActiveClass);
}}
var nextSlide=activeSlide.nextAll(("." + (params.slideClass))).eq(0).addClass(params.slideNextClass);
if(params.loop&&nextSlide.length===0){
nextSlide=slides.eq(0);
nextSlide.addClass(params.slideNextClass);
}
var prevSlide=activeSlide.prevAll(("." + (params.slideClass))).eq(0).addClass(params.slidePrevClass);
if(params.loop&&prevSlide.length===0){
prevSlide=slides.eq(-1);
prevSlide.addClass(params.slidePrevClass);
}
if(params.loop){
if(nextSlide.hasClass(params.slideDuplicateClass)){
$wrapperEl
.children(("." + (params.slideClass) + ":not(." + (params.slideDuplicateClass) + ")[data-swiper-slide-index=\"" + (nextSlide.attr('data-swiper-slide-index')) + "\"]"))
.addClass(params.slideDuplicateNextClass);
}else{
$wrapperEl
.children(("." + (params.slideClass) + "." + (params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + (nextSlide.attr('data-swiper-slide-index')) + "\"]"))
.addClass(params.slideDuplicateNextClass);
}
if(prevSlide.hasClass(params.slideDuplicateClass)){
$wrapperEl
.children(("." + (params.slideClass) + ":not(." + (params.slideDuplicateClass) + ")[data-swiper-slide-index=\"" + (prevSlide.attr('data-swiper-slide-index')) + "\"]"))
.addClass(params.slideDuplicatePrevClass);
}else{
$wrapperEl
.children(("." + (params.slideClass) + "." + (params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + (prevSlide.attr('data-swiper-slide-index')) + "\"]"))
.addClass(params.slideDuplicatePrevClass);
}}
}
function updateActiveIndex (newActiveIndex){
var swiper=this;
var translate=swiper.rtlTranslate ? swiper.translate:-swiper.translate;
var slidesGrid=swiper.slidesGrid;
var snapGrid=swiper.snapGrid;
var params=swiper.params;
var previousIndex=swiper.activeIndex;
var previousRealIndex=swiper.realIndex;
var previousSnapIndex=swiper.snapIndex;
var activeIndex=newActiveIndex;
var snapIndex;
if(typeof activeIndex==='undefined'){
for (var i=0; i < slidesGrid.length; i +=1){
if(typeof slidesGrid[i + 1]!=='undefined'){
if(translate >=slidesGrid[i]&&translate < slidesGrid[i + 1] - ((slidesGrid[i + 1] - slidesGrid[i]) / 2)){
activeIndex=i;
}else if(translate >=slidesGrid[i]&&translate < slidesGrid[i + 1]){
activeIndex=i + 1;
}}else if(translate >=slidesGrid[i]){
activeIndex=i;
}}
if(params.normalizeSlideIndex){
if(activeIndex < 0||typeof activeIndex==='undefined'){ activeIndex=0; }}
}
if(snapGrid.indexOf(translate) >=0){
snapIndex=snapGrid.indexOf(translate);
}else{
var skip=Math.min(params.slidesPerGroupSkip, activeIndex);
snapIndex=skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);
}
if(snapIndex >=snapGrid.length){ snapIndex=snapGrid.length - 1; }
if(activeIndex===previousIndex){
if(snapIndex!==previousSnapIndex){
swiper.snapIndex=snapIndex;
swiper.emit('snapIndexChange');
}
return;
}
var realIndex=parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index')||activeIndex, 10);
Utils.extend(swiper, {
snapIndex: snapIndex,
realIndex: realIndex,
previousIndex: previousIndex,
activeIndex: activeIndex,
});
swiper.emit('activeIndexChange');
swiper.emit('snapIndexChange');
if(previousRealIndex!==realIndex){
swiper.emit('realIndexChange');
}
if(swiper.initialized||swiper.runCallbacksOnInit){
swiper.emit('slideChange');
}}
function updateClickedSlide (e){
var swiper=this;
var params=swiper.params;
var slide=$(e.target).closest(("." + (params.slideClass)))[0];
var slideFound=false;
if(slide){
for (var i=0; i < swiper.slides.length; i +=1){
if(swiper.slides[i]===slide){ slideFound=true; }}
}
if(slide&&slideFound){
swiper.clickedSlide=slide;
if(swiper.virtual&&swiper.params.virtual.enabled){
swiper.clickedIndex=parseInt($(slide).attr('data-swiper-slide-index'), 10);
}else{
swiper.clickedIndex=$(slide).index();
}}else{
swiper.clickedSlide=undefined;
swiper.clickedIndex=undefined;
return;
}
if(params.slideToClickedSlide&&swiper.clickedIndex!==undefined&&swiper.clickedIndex!==swiper.activeIndex){
swiper.slideToClickedSlide();
}}
var update={
updateSize: updateSize,
updateSlides: updateSlides,
updateAutoHeight: updateAutoHeight,
updateSlidesOffset: updateSlidesOffset,
updateSlidesProgress: updateSlidesProgress,
updateProgress: updateProgress,
updateSlidesClasses: updateSlidesClasses,
updateActiveIndex: updateActiveIndex,
updateClickedSlide: updateClickedSlide,
};
function getTranslate (axis){
if(axis===void 0) axis=this.isHorizontal() ? 'x':'y';
var swiper=this;
var params=swiper.params;
var rtl=swiper.rtlTranslate;
var translate=swiper.translate;
var $wrapperEl=swiper.$wrapperEl;
if(params.virtualTranslate){
return rtl ? -translate:translate;
}
if(params.cssMode){
return translate;
}
var currentTranslate=Utils.getTranslate($wrapperEl[0], axis);
if(rtl){ currentTranslate=-currentTranslate; }
return currentTranslate||0;
}
function setTranslate (translate, byController){
var swiper=this;
var rtl=swiper.rtlTranslate;
var params=swiper.params;
var $wrapperEl=swiper.$wrapperEl;
var wrapperEl=swiper.wrapperEl;
var progress=swiper.progress;
var x=0;
var y=0;
var z=0;
if(swiper.isHorizontal()){
x=rtl ? -translate:translate;
}else{
y=translate;
}
if(params.roundLengths){
x=Math.floor(x);
y=Math.floor(y);
}
if(params.cssMode){
wrapperEl[swiper.isHorizontal() ? 'scrollLeft':'scrollTop']=swiper.isHorizontal() ? -x:-y;
}else if(!params.virtualTranslate){
$wrapperEl.transform(("translate3d(" + x + "px, " + y + "px, " + z + "px)"));
}
swiper.previousTranslate=swiper.translate;
swiper.translate=swiper.isHorizontal() ? x:y;
var newProgress;
var translatesDiff=swiper.maxTranslate() - swiper.minTranslate();
if(translatesDiff===0){
newProgress=0;
}else{
newProgress=(translate - swiper.minTranslate()) / (translatesDiff);
}
if(newProgress!==progress){
swiper.updateProgress(translate);
}
swiper.emit('setTranslate', swiper.translate, byController);
}
function minTranslate (){
return (-this.snapGrid[0]);
}
function maxTranslate (){
return (-this.snapGrid[this.snapGrid.length - 1]);
}
function translateTo (translate, speed, runCallbacks, translateBounds, internal){
var obj;
if(translate===void 0) translate=0;
if(speed===void 0) speed=this.params.speed;
if(runCallbacks===void 0) runCallbacks=true;
if(translateBounds===void 0) translateBounds=true;
var swiper=this;
var params=swiper.params;
var wrapperEl=swiper.wrapperEl;
if(swiper.animating&&params.preventInteractionOnTransition){
return false;
}
var minTranslate=swiper.minTranslate();
var maxTranslate=swiper.maxTranslate();
var newTranslate;
if(translateBounds&&translate > minTranslate){ newTranslate=minTranslate; }
else if(translateBounds&&translate < maxTranslate){ newTranslate=maxTranslate; }else{ newTranslate=translate; }
swiper.updateProgress(newTranslate);
if(params.cssMode){
var isH=swiper.isHorizontal();
if(speed===0){
wrapperEl[isH ? 'scrollLeft':'scrollTop']=-newTranslate;
}else{
if(wrapperEl.scrollTo){
wrapperEl.scrollTo((obj={}, obj[isH ? 'left':'top']=-newTranslate, obj.behavior='smooth', obj));
}else{
wrapperEl[isH ? 'scrollLeft':'scrollTop']=-newTranslate;
}}
return true;
}
if(speed===0){
swiper.setTransition(0);
swiper.setTranslate(newTranslate);
if(runCallbacks){
swiper.emit('beforeTransitionStart', speed, internal);
swiper.emit('transitionEnd');
}}else{
swiper.setTransition(speed);
swiper.setTranslate(newTranslate);
if(runCallbacks){
swiper.emit('beforeTransitionStart', speed, internal);
swiper.emit('transitionStart');
}
if(!swiper.animating){
swiper.animating=true;
if(!swiper.onTranslateToWrapperTransitionEnd){
swiper.onTranslateToWrapperTransitionEnd=function transitionEnd(e){
if(!swiper||swiper.destroyed){ return; }
if(e.target!==this){ return; }
swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);
swiper.onTranslateToWrapperTransitionEnd=null;
delete swiper.onTranslateToWrapperTransitionEnd;
if(runCallbacks){
swiper.emit('transitionEnd');
}};}
swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);
}}
return true;
}
var translate={
getTranslate: getTranslate,
setTranslate: setTranslate,
minTranslate: minTranslate,
maxTranslate: maxTranslate,
translateTo: translateTo,
};
function setTransition (duration, byController){
var swiper=this;
if(!swiper.params.cssMode){
swiper.$wrapperEl.transition(duration);
}
swiper.emit('setTransition', duration, byController);
}
function transitionStart (runCallbacks, direction){
if(runCallbacks===void 0) runCallbacks=true;
var swiper=this;
var activeIndex=swiper.activeIndex;
var params=swiper.params;
var previousIndex=swiper.previousIndex;
if(params.cssMode){ return; }
if(params.autoHeight){
swiper.updateAutoHeight();
}
var dir=direction;
if(!dir){
if(activeIndex > previousIndex){ dir='next'; }
else if(activeIndex < previousIndex){ dir='prev'; }else{ dir='reset'; }}
swiper.emit('transitionStart');
if(runCallbacks&&activeIndex!==previousIndex){
if(dir==='reset'){
swiper.emit('slideResetTransitionStart');
return;
}
swiper.emit('slideChangeTransitionStart');
if(dir==='next'){
swiper.emit('slideNextTransitionStart');
}else{
swiper.emit('slidePrevTransitionStart');
}}
}
function transitionEnd$1 (runCallbacks, direction){
if(runCallbacks===void 0) runCallbacks=true;
var swiper=this;
var activeIndex=swiper.activeIndex;
var previousIndex=swiper.previousIndex;
var params=swiper.params;
swiper.animating=false;
if(params.cssMode){ return; }
swiper.setTransition(0);
var dir=direction;
if(!dir){
if(activeIndex > previousIndex){ dir='next'; }
else if(activeIndex < previousIndex){ dir='prev'; }else{ dir='reset'; }}
swiper.emit('transitionEnd');
if(runCallbacks&&activeIndex!==previousIndex){
if(dir==='reset'){
swiper.emit('slideResetTransitionEnd');
return;
}
swiper.emit('slideChangeTransitionEnd');
if(dir==='next'){
swiper.emit('slideNextTransitionEnd');
}else{
swiper.emit('slidePrevTransitionEnd');
}}
}
var transition$1={
setTransition: setTransition,
transitionStart: transitionStart,
transitionEnd: transitionEnd$1,
};
function slideTo (index, speed, runCallbacks, internal){
var obj;
if(index===void 0) index=0;
if(speed===void 0) speed=this.params.speed;
if(runCallbacks===void 0) runCallbacks=true;
var swiper=this;
var slideIndex=index;
if(slideIndex < 0){ slideIndex=0; }
var params=swiper.params;
var snapGrid=swiper.snapGrid;
var slidesGrid=swiper.slidesGrid;
var previousIndex=swiper.previousIndex;
var activeIndex=swiper.activeIndex;
var rtl=swiper.rtlTranslate;
var wrapperEl=swiper.wrapperEl;
if(swiper.animating&&params.preventInteractionOnTransition){
return false;
}
var skip=Math.min(swiper.params.slidesPerGroupSkip, slideIndex);
var snapIndex=skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);
if(snapIndex >=snapGrid.length){ snapIndex=snapGrid.length - 1; }
if((activeIndex||params.initialSlide||0)===(previousIndex||0)&&runCallbacks){
swiper.emit('beforeSlideChangeStart');
}
var translate=-snapGrid[snapIndex];
swiper.updateProgress(translate);
if(params.normalizeSlideIndex){
for (var i=0; i < slidesGrid.length; i +=1){
if(-Math.floor(translate * 100) >=Math.floor(slidesGrid[i] * 100)){
slideIndex=i;
}}
}
if(swiper.initialized&&slideIndex!==activeIndex){
if(!swiper.allowSlideNext&&translate < swiper.translate&&translate < swiper.minTranslate()){
return false;
}
if(!swiper.allowSlidePrev&&translate > swiper.translate&&translate > swiper.maxTranslate()){
if((activeIndex||0)!==slideIndex){ return false; }}
}
var direction;
if(slideIndex > activeIndex){ direction='next'; }
else if(slideIndex < activeIndex){ direction='prev'; }else{ direction='reset'; }
if((rtl&&-translate===swiper.translate)||(!rtl&&translate===swiper.translate)){
swiper.updateActiveIndex(slideIndex);
if(params.autoHeight){
swiper.updateAutoHeight();
}
swiper.updateSlidesClasses();
if(params.effect!=='slide'){
swiper.setTranslate(translate);
}
if(direction!=='reset'){
swiper.transitionStart(runCallbacks, direction);
swiper.transitionEnd(runCallbacks, direction);
}
return false;
}
if(params.cssMode){
var isH=swiper.isHorizontal();
if(speed===0){
wrapperEl[isH ? 'scrollLeft':'scrollTop']=-translate;
}else{
if(wrapperEl.scrollTo){
wrapperEl.scrollTo((obj={}, obj[isH ? 'left':'top']=-translate, obj.behavior='smooth', obj));
}else{
wrapperEl[isH ? 'scrollLeft':'scrollTop']=-translate;
}}
return true;
}
if(speed===0){
swiper.setTransition(0);
swiper.setTranslate(translate);
swiper.updateActiveIndex(slideIndex);
swiper.updateSlidesClasses();
swiper.emit('beforeTransitionStart', speed, internal);
swiper.transitionStart(runCallbacks, direction);
swiper.transitionEnd(runCallbacks, direction);
}else{
swiper.setTransition(speed);
swiper.setTranslate(translate);
swiper.updateActiveIndex(slideIndex);
swiper.updateSlidesClasses();
swiper.emit('beforeTransitionStart', speed, internal);
swiper.transitionStart(runCallbacks, direction);
if(!swiper.animating){
swiper.animating=true;
if(!swiper.onSlideToWrapperTransitionEnd){
swiper.onSlideToWrapperTransitionEnd=function transitionEnd(e){
if(!swiper||swiper.destroyed){ return; }
if(e.target!==this){ return; }
swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);
swiper.onSlideToWrapperTransitionEnd=null;
delete swiper.onSlideToWrapperTransitionEnd;
swiper.transitionEnd(runCallbacks, direction);
};}
swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);
}}
return true;
}
function slideToLoop (index, speed, runCallbacks, internal){
if(index===void 0) index=0;
if(speed===void 0) speed=this.params.speed;
if(runCallbacks===void 0) runCallbacks=true;
var swiper=this;
var newIndex=index;
if(swiper.params.loop){
newIndex +=swiper.loopedSlides;
}
return swiper.slideTo(newIndex, speed, runCallbacks, internal);
}
function slideNext (speed, runCallbacks, internal){
if(speed===void 0) speed=this.params.speed;
if(runCallbacks===void 0) runCallbacks=true;
var swiper=this;
var params=swiper.params;
var animating=swiper.animating;
var increment=swiper.activeIndex < params.slidesPerGroupSkip ? 1:params.slidesPerGroup;
if(params.loop){
if(animating){ return false; }
swiper.loopFix();
swiper._clientLeft=swiper.$wrapperEl[0].clientLeft;
}
return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);
}
function slidePrev (speed, runCallbacks, internal){
if(speed===void 0) speed=this.params.speed;
if(runCallbacks===void 0) runCallbacks=true;
var swiper=this;
var params=swiper.params;
var animating=swiper.animating;
var snapGrid=swiper.snapGrid;
var slidesGrid=swiper.slidesGrid;
var rtlTranslate=swiper.rtlTranslate;
if(params.loop){
if(animating){ return false; }
swiper.loopFix();
swiper._clientLeft=swiper.$wrapperEl[0].clientLeft;
}
var translate=rtlTranslate ? swiper.translate:-swiper.translate;
function normalize(val){
if(val < 0){ return -Math.floor(Math.abs(val)); }
return Math.floor(val);
}
var normalizedTranslate=normalize(translate);
var normalizedSnapGrid=snapGrid.map(function (val){ return normalize(val); });
var normalizedSlidesGrid=slidesGrid.map(function (val){ return normalize(val); });
var currentSnap=snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)];
var prevSnap=snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];
if(typeof prevSnap==='undefined'&&params.cssMode){
snapGrid.forEach(function (snap){
if(!prevSnap&&normalizedTranslate >=snap){ prevSnap=snap; }});
}
var prevIndex;
if(typeof prevSnap!=='undefined'){
prevIndex=slidesGrid.indexOf(prevSnap);
if(prevIndex < 0){ prevIndex=swiper.activeIndex - 1; }}
return swiper.slideTo(prevIndex, speed, runCallbacks, internal);
}
function slideReset (speed, runCallbacks, internal){
if(speed===void 0) speed=this.params.speed;
if(runCallbacks===void 0) runCallbacks=true;
var swiper=this;
return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);
}
function slideToClosest (speed, runCallbacks, internal, threshold){
if(speed===void 0) speed=this.params.speed;
if(runCallbacks===void 0) runCallbacks=true;
if(threshold===void 0) threshold=0.5;
var swiper=this;
var index=swiper.activeIndex;
var skip=Math.min(swiper.params.slidesPerGroupSkip, index);
var snapIndex=skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);
var translate=swiper.rtlTranslate ? swiper.translate:-swiper.translate;
if(translate >=swiper.snapGrid[snapIndex]){
var currentSnap=swiper.snapGrid[snapIndex];
var nextSnap=swiper.snapGrid[snapIndex + 1];
if((translate - currentSnap) > (nextSnap - currentSnap) * threshold){
index +=swiper.params.slidesPerGroup;
}}else{
var prevSnap=swiper.snapGrid[snapIndex - 1];
var currentSnap$1=swiper.snapGrid[snapIndex];
if((translate - prevSnap) <=(currentSnap$1 - prevSnap) * threshold){
index -=swiper.params.slidesPerGroup;
}}
index=Math.max(index, 0);
index=Math.min(index, swiper.slidesGrid.length - 1);
return swiper.slideTo(index, speed, runCallbacks, internal);
}
function slideToClickedSlide (){
var swiper=this;
var params=swiper.params;
var $wrapperEl=swiper.$wrapperEl;
var slidesPerView=params.slidesPerView==='auto' ? swiper.slidesPerViewDynamic():params.slidesPerView;
var slideToIndex=swiper.clickedIndex;
var realIndex;
if(params.loop){
if(swiper.animating){ return; }
realIndex=parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);
if(params.centeredSlides){
if((slideToIndex < swiper.loopedSlides - (slidesPerView / 2))
|| (slideToIndex > (swiper.slides.length - swiper.loopedSlides) + (slidesPerView / 2))
){
swiper.loopFix();
slideToIndex=$wrapperEl
.children(("." + (params.slideClass) + "[data-swiper-slide-index=\"" + realIndex + "\"]:not(." + (params.slideDuplicateClass) + ")"))
.eq(0)
.index();
Utils.nextTick(function (){
swiper.slideTo(slideToIndex);
});
}else{
swiper.slideTo(slideToIndex);
}}else if(slideToIndex > swiper.slides.length - slidesPerView){
swiper.loopFix();
slideToIndex=$wrapperEl
.children(("." + (params.slideClass) + "[data-swiper-slide-index=\"" + realIndex + "\"]:not(." + (params.slideDuplicateClass) + ")"))
.eq(0)
.index();
Utils.nextTick(function (){
swiper.slideTo(slideToIndex);
});
}else{
swiper.slideTo(slideToIndex);
}}else{
swiper.slideTo(slideToIndex);
}}
var slide={
slideTo: slideTo,
slideToLoop: slideToLoop,
slideNext: slideNext,
slidePrev: slidePrev,
slideReset: slideReset,
slideToClosest: slideToClosest,
slideToClickedSlide: slideToClickedSlide,
};
function loopCreate (){
var swiper=this;
var params=swiper.params;
var $wrapperEl=swiper.$wrapperEl;
$wrapperEl.children(("." + (params.slideClass) + "." + (params.slideDuplicateClass))).remove();
var slides=$wrapperEl.children(("." + (params.slideClass)));
if(params.loopFillGroupWithBlank){
var blankSlidesNum=params.slidesPerGroup - (slides.length % params.slidesPerGroup);
if(blankSlidesNum!==params.slidesPerGroup){
for (var i=0; i < blankSlidesNum; i +=1){
var blankNode=$(doc.createElement('div')).addClass(((params.slideClass) + " " + (params.slideBlankClass)));
$wrapperEl.append(blankNode);
}
slides=$wrapperEl.children(("." + (params.slideClass)));
}}
if(params.slidesPerView==='auto'&&!params.loopedSlides){ params.loopedSlides=slides.length; }
swiper.loopedSlides=Math.ceil(parseFloat(params.loopedSlides||params.slidesPerView, 10));
swiper.loopedSlides +=params.loopAdditionalSlides;
if(swiper.loopedSlides > slides.length){
swiper.loopedSlides=slides.length;
}
var prependSlides=[];
var appendSlides=[];
slides.each(function (index, el){
var slide=$(el);
if(index < swiper.loopedSlides){ appendSlides.push(el); }
if(index < slides.length&&index >=slides.length - swiper.loopedSlides){ prependSlides.push(el); }
slide.attr('data-swiper-slide-index', index);
});
for (var i$1=0; i$1 < appendSlides.length; i$1 +=1){
$wrapperEl.append($(appendSlides[i$1].cloneNode(true)).addClass(params.slideDuplicateClass));
}
for (var i$2=prependSlides.length - 1; i$2 >=0; i$2 -=1){
$wrapperEl.prepend($(prependSlides[i$2].cloneNode(true)).addClass(params.slideDuplicateClass));
}}
function loopFix (){
var swiper=this;
swiper.emit('beforeLoopFix');
var activeIndex=swiper.activeIndex;
var slides=swiper.slides;
var loopedSlides=swiper.loopedSlides;
var allowSlidePrev=swiper.allowSlidePrev;
var allowSlideNext=swiper.allowSlideNext;
var snapGrid=swiper.snapGrid;
var rtl=swiper.rtlTranslate;
var newIndex;
swiper.allowSlidePrev=true;
swiper.allowSlideNext=true;
var snapTranslate=-snapGrid[activeIndex];
var diff=snapTranslate - swiper.getTranslate();
if(activeIndex < loopedSlides){
newIndex=(slides.length - (loopedSlides * 3)) + activeIndex;
newIndex +=loopedSlides;
var slideChanged=swiper.slideTo(newIndex, 0, false, true);
if(slideChanged&&diff!==0){
swiper.setTranslate((rtl ? -swiper.translate:swiper.translate) - diff);
}}else if(activeIndex >=slides.length - loopedSlides){
newIndex=-slides.length + activeIndex + loopedSlides;
newIndex +=loopedSlides;
var slideChanged$1=swiper.slideTo(newIndex, 0, false, true);
if(slideChanged$1&&diff!==0){
swiper.setTranslate((rtl ? -swiper.translate:swiper.translate) - diff);
}}
swiper.allowSlidePrev=allowSlidePrev;
swiper.allowSlideNext=allowSlideNext;
swiper.emit('loopFix');
}
function loopDestroy (){
var swiper=this;
var $wrapperEl=swiper.$wrapperEl;
var params=swiper.params;
var slides=swiper.slides;
$wrapperEl.children(("." + (params.slideClass) + "." + (params.slideDuplicateClass) + ",." + (params.slideClass) + "." + (params.slideBlankClass))).remove();
slides.removeAttr('data-swiper-slide-index');
}
var loop={
loopCreate: loopCreate,
loopFix: loopFix,
loopDestroy: loopDestroy,
};
function setGrabCursor (moving){
var swiper=this;
if(Support.touch||!swiper.params.simulateTouch||(swiper.params.watchOverflow&&swiper.isLocked)||swiper.params.cssMode){ return; }
var el=swiper.el;
el.style.cursor='move';
el.style.cursor=moving ? '-webkit-grabbing':'-webkit-grab';
el.style.cursor=moving ? '-moz-grabbin':'-moz-grab';
el.style.cursor=moving ? 'grabbing':'grab';
}
function unsetGrabCursor (){
var swiper=this;
if(Support.touch||(swiper.params.watchOverflow&&swiper.isLocked)||swiper.params.cssMode){ return; }
swiper.el.style.cursor='';
}
var grabCursor={
setGrabCursor: setGrabCursor,
unsetGrabCursor: unsetGrabCursor,
};
function appendSlide (slides){
var swiper=this;
var $wrapperEl=swiper.$wrapperEl;
var params=swiper.params;
if(params.loop){
swiper.loopDestroy();
}
if(typeof slides==='object'&&'length' in slides){
for (var i=0; i < slides.length; i +=1){
if(slides[i]){ $wrapperEl.append(slides[i]); }}
}else{
$wrapperEl.append(slides);
}
if(params.loop){
swiper.loopCreate();
}
if(!(params.observer&&Support.observer)){
swiper.update();
}}
function prependSlide (slides){
var swiper=this;
var params=swiper.params;
var $wrapperEl=swiper.$wrapperEl;
var activeIndex=swiper.activeIndex;
if(params.loop){
swiper.loopDestroy();
}
var newActiveIndex=activeIndex + 1;
if(typeof slides==='object'&&'length' in slides){
for (var i=0; i < slides.length; i +=1){
if(slides[i]){ $wrapperEl.prepend(slides[i]); }}
newActiveIndex=activeIndex + slides.length;
}else{
$wrapperEl.prepend(slides);
}
if(params.loop){
swiper.loopCreate();
}
if(!(params.observer&&Support.observer)){
swiper.update();
}
swiper.slideTo(newActiveIndex, 0, false);
}
function addSlide (index, slides){
var swiper=this;
var $wrapperEl=swiper.$wrapperEl;
var params=swiper.params;
var activeIndex=swiper.activeIndex;
var activeIndexBuffer=activeIndex;
if(params.loop){
activeIndexBuffer -=swiper.loopedSlides;
swiper.loopDestroy();
swiper.slides=$wrapperEl.children(("." + (params.slideClass)));
}
var baseLength=swiper.slides.length;
if(index <=0){
swiper.prependSlide(slides);
return;
}
if(index >=baseLength){
swiper.appendSlide(slides);
return;
}
var newActiveIndex=activeIndexBuffer > index ? activeIndexBuffer + 1:activeIndexBuffer;
var slidesBuffer=[];
for (var i=baseLength - 1; i >=index; i -=1){
var currentSlide=swiper.slides.eq(i);
currentSlide.remove();
slidesBuffer.unshift(currentSlide);
}
if(typeof slides==='object'&&'length' in slides){
for (var i$1=0; i$1 < slides.length; i$1 +=1){
if(slides[i$1]){ $wrapperEl.append(slides[i$1]); }}
newActiveIndex=activeIndexBuffer > index ? activeIndexBuffer + slides.length:activeIndexBuffer;
}else{
$wrapperEl.append(slides);
}
for (var i$2=0; i$2 < slidesBuffer.length; i$2 +=1){
$wrapperEl.append(slidesBuffer[i$2]);
}
if(params.loop){
swiper.loopCreate();
}
if(!(params.observer&&Support.observer)){
swiper.update();
}
if(params.loop){
swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
}else{
swiper.slideTo(newActiveIndex, 0, false);
}}
function removeSlide (slidesIndexes){
var swiper=this;
var params=swiper.params;
var $wrapperEl=swiper.$wrapperEl;
var activeIndex=swiper.activeIndex;
var activeIndexBuffer=activeIndex;
if(params.loop){
activeIndexBuffer -=swiper.loopedSlides;
swiper.loopDestroy();
swiper.slides=$wrapperEl.children(("." + (params.slideClass)));
}
var newActiveIndex=activeIndexBuffer;
var indexToRemove;
if(typeof slidesIndexes==='object'&&'length' in slidesIndexes){
for (var i=0; i < slidesIndexes.length; i +=1){
indexToRemove=slidesIndexes[i];
if(swiper.slides[indexToRemove]){ swiper.slides.eq(indexToRemove).remove(); }
if(indexToRemove < newActiveIndex){ newActiveIndex -=1; }}
newActiveIndex=Math.max(newActiveIndex, 0);
}else{
indexToRemove=slidesIndexes;
if(swiper.slides[indexToRemove]){ swiper.slides.eq(indexToRemove).remove(); }
if(indexToRemove < newActiveIndex){ newActiveIndex -=1; }
newActiveIndex=Math.max(newActiveIndex, 0);
}
if(params.loop){
swiper.loopCreate();
}
if(!(params.observer&&Support.observer)){
swiper.update();
}
if(params.loop){
swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
}else{
swiper.slideTo(newActiveIndex, 0, false);
}}
function removeAllSlides (){
var swiper=this;
var slidesIndexes=[];
for (var i=0; i < swiper.slides.length; i +=1){
slidesIndexes.push(i);
}
swiper.removeSlide(slidesIndexes);
}
var manipulation={
appendSlide: appendSlide,
prependSlide: prependSlide,
addSlide: addSlide,
removeSlide: removeSlide,
removeAllSlides: removeAllSlides,
};
var Device=(function Device(){
var platform=win.navigator.platform;
var ua=win.navigator.userAgent;
var device={
ios: false,
android: false,
androidChrome: false,
desktop: false,
iphone: false,
ipod: false,
ipad: false,
edge: false,
ie: false,
firefox: false,
macos: false,
windows: false,
cordova: !!(win.cordova||win.phonegap),
phonegap: !!(win.cordova||win.phonegap),
electron: false,
};
var screenWidth=win.screen.width;
var screenHeight=win.screen.height;
var android=ua.match(/(Android);?[\s\/]+([\d.]+)?/);
var ipad=ua.match(/(iPad).*OS\s([\d_]+)/);
var ipod=ua.match(/(iPod)(.*OS\s([\d_]+))?/);
var iphone = !ipad&&ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
var ie=ua.indexOf('MSIE ') >=0||ua.indexOf('Trident/') >=0;
var edge=ua.indexOf('Edge/') >=0;
var firefox=ua.indexOf('Gecko/') >=0&&ua.indexOf('Firefox/') >=0;
var windows=platform==='Win32';
var electron=ua.toLowerCase().indexOf('electron') >=0;
var macos=platform==='MacIntel';
if(!ipad
&& macos
&& Support.touch
&& (
(screenWidth===1024&&screenHeight===1366)
|| (screenWidth===834&&screenHeight===1194)
|| (screenWidth===834&&screenHeight===1112)
|| (screenWidth===768&&screenHeight===1024)
)
){
ipad=ua.match(/(Version)\/([\d.]+)/);
macos=false;
}
device.ie=ie;
device.edge=edge;
device.firefox=firefox;
if(android&&!windows){
device.os='android';
device.osVersion=android[2];
device.android=true;
device.androidChrome=ua.toLowerCase().indexOf('chrome') >=0;
}
if(ipad||iphone||ipod){
device.os='ios';
device.ios=true;
}
if(iphone&&!ipod){
device.osVersion=iphone[2].replace(/_/g, '.');
device.iphone=true;
}
if(ipad){
device.osVersion=ipad[2].replace(/_/g, '.');
device.ipad=true;
}
if(ipod){
device.osVersion=ipod[3] ? ipod[3].replace(/_/g, '.'):null;
device.ipod=true;
}
if(device.ios&&device.osVersion&&ua.indexOf('Version/') >=0){
if(device.osVersion.split('.')[0]==='10'){
device.osVersion=ua.toLowerCase().split('version/')[1].split(' ')[0];
}}
device.webView = !!((iphone||ipad||ipod)&&(ua.match(/.*AppleWebKit(?!.*Safari)/i)||win.navigator.standalone))
|| (win.matchMedia&&win.matchMedia('(display-mode: standalone)').matches);
device.webview=device.webView;
device.standalone=device.webView;
device.desktop = !(device.ios||device.android)||electron;
if(device.desktop){
device.electron=electron;
device.macos=macos;
device.windows=windows;
if(device.macos){
device.os='macos';
}
if(device.windows){
device.os='windows';
}}
device.pixelRatio=win.devicePixelRatio||1;
return device;
}());
function onTouchStart (event){
var swiper=this;
var data=swiper.touchEventsData;
var params=swiper.params;
var touches=swiper.touches;
if(swiper.animating&&params.preventInteractionOnTransition){
return;
}
var e=event;
if(e.originalEvent){ e=e.originalEvent; }
var $targetEl=$(e.target);
if(params.touchEventsTarget==='wrapper'){
if(!$targetEl.closest(swiper.wrapperEl).length){ return; }}
data.isTouchEvent=e.type==='touchstart';
if(!data.isTouchEvent&&'which' in e&&e.which===3){ return; }
if(!data.isTouchEvent&&'button' in e&&e.button > 0){ return; }
if(data.isTouched&&data.isMoved){ return; }
if(params.noSwiping&&$targetEl.closest(params.noSwipingSelector ? params.noSwipingSelector:("." + (params.noSwipingClass)))[0]){
swiper.allowClick=true;
return;
}
if(params.swipeHandler){
if(!$targetEl.closest(params.swipeHandler)[0]){ return; }}
touches.currentX=e.type==='touchstart' ? e.targetTouches[0].pageX:e.pageX;
touches.currentY=e.type==='touchstart' ? e.targetTouches[0].pageY:e.pageY;
var startX=touches.currentX;
var startY=touches.currentY;
var edgeSwipeDetection=params.edgeSwipeDetection||params.iOSEdgeSwipeDetection;
var edgeSwipeThreshold=params.edgeSwipeThreshold||params.iOSEdgeSwipeThreshold;
if(edgeSwipeDetection
&& ((startX <=edgeSwipeThreshold)
|| (startX >=win.screen.width - edgeSwipeThreshold))
){
return;
}
Utils.extend(data, {
isTouched: true,
isMoved: false,
allowTouchCallbacks: true,
isScrolling: undefined,
startMoving: undefined,
});
touches.startX=startX;
touches.startY=startY;
data.touchStartTime=Utils.now();
swiper.allowClick=true;
swiper.updateSize();
swiper.swipeDirection=undefined;
if(params.threshold > 0){ data.allowThresholdMove=false; }
if(e.type!=='touchstart'){
var preventDefault=true;
if($targetEl.is(data.formElements)){ preventDefault=false; }
if(doc.activeElement
&& $(doc.activeElement).is(data.formElements)
&& doc.activeElement!==$targetEl[0]
){
doc.activeElement.blur();
}
var shouldPreventDefault=preventDefault&&swiper.allowTouchMove&&params.touchStartPreventDefault;
if(params.touchStartForcePreventDefault||shouldPreventDefault){
e.preventDefault();
}}
swiper.emit('touchStart', e);
}
function onTouchMove (event){
var swiper=this;
var data=swiper.touchEventsData;
var params=swiper.params;
var touches=swiper.touches;
var rtl=swiper.rtlTranslate;
var e=event;
if(e.originalEvent){ e=e.originalEvent; }
if(!data.isTouched){
if(data.startMoving&&data.isScrolling){
swiper.emit('touchMoveOpposite', e);
}
return;
}
if(data.isTouchEvent&&e.type==='mousemove'){ return; }
var targetTouch=e.type==='touchmove'&&e.targetTouches&&(e.targetTouches[0]||e.changedTouches[0]);
var pageX=e.type==='touchmove' ? targetTouch.pageX:e.pageX;
var pageY=e.type==='touchmove' ? targetTouch.pageY:e.pageY;
if(e.preventedByNestedSwiper){
touches.startX=pageX;
touches.startY=pageY;
return;
}
if(!swiper.allowTouchMove){
swiper.allowClick=false;
if(data.isTouched){
Utils.extend(touches, {
startX: pageX,
startY: pageY,
currentX: pageX,
currentY: pageY,
});
data.touchStartTime=Utils.now();
}
return;
}
if(data.isTouchEvent&&params.touchReleaseOnEdges&&!params.loop){
if(swiper.isVertical()){
if((pageY < touches.startY&&swiper.translate <=swiper.maxTranslate())
|| (pageY > touches.startY&&swiper.translate >=swiper.minTranslate())
){
data.isTouched=false;
data.isMoved=false;
return;
}}else if((pageX < touches.startX&&swiper.translate <=swiper.maxTranslate())
|| (pageX > touches.startX&&swiper.translate >=swiper.minTranslate())
){
return;
}}
if(data.isTouchEvent&&doc.activeElement){
if(e.target===doc.activeElement&&$(e.target).is(data.formElements)){
data.isMoved=true;
swiper.allowClick=false;
return;
}}
if(data.allowTouchCallbacks){
swiper.emit('touchMove', e);
}
if(e.targetTouches&&e.targetTouches.length > 1){ return; }
touches.currentX=pageX;
touches.currentY=pageY;
var diffX=touches.currentX - touches.startX;
var diffY=touches.currentY - touches.startY;
if(swiper.params.threshold&&Math.sqrt((Math.pow(diffX, 2)) + (Math.pow(diffY, 2))) < swiper.params.threshold){ return; }
if(typeof data.isScrolling==='undefined'){
var touchAngle;
if((swiper.isHorizontal()&&touches.currentY===touches.startY)||(swiper.isVertical()&&touches.currentX===touches.startX)){
data.isScrolling=false;
}else{
if((diffX * diffX) + (diffY * diffY) >=25){
touchAngle=(Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180) / Math.PI;
data.isScrolling=swiper.isHorizontal() ? touchAngle > params.touchAngle:(90 - touchAngle > params.touchAngle);
}}
}
if(data.isScrolling){
swiper.emit('touchMoveOpposite', e);
}
if(typeof data.startMoving==='undefined'){
if(touches.currentX!==touches.startX||touches.currentY!==touches.startY){
data.startMoving=true;
}}
if(data.isScrolling){
data.isTouched=false;
return;
}
if(!data.startMoving){
return;
}
swiper.allowClick=false;
if(!params.cssMode){
e.preventDefault();
}
if(params.touchMoveStopPropagation&&!params.nested){
e.stopPropagation();
}
if(!data.isMoved){
if(params.loop){
swiper.loopFix();
}
data.startTranslate=swiper.getTranslate();
swiper.setTransition(0);
if(swiper.animating){
swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');
}
data.allowMomentumBounce=false;
if(params.grabCursor&&(swiper.allowSlideNext===true||swiper.allowSlidePrev===true)){
swiper.setGrabCursor(true);
}
swiper.emit('sliderFirstMove', e);
}
swiper.emit('sliderMove', e);
data.isMoved=true;
var diff=swiper.isHorizontal() ? diffX:diffY;
touches.diff=diff;
diff *=params.touchRatio;
if(rtl){ diff=-diff; }
swiper.swipeDirection=diff > 0 ? 'prev':'next';
data.currentTranslate=diff + data.startTranslate;
var disableParentSwiper=true;
var resistanceRatio=params.resistanceRatio;
if(params.touchReleaseOnEdges){
resistanceRatio=0;
}
if((diff > 0&&data.currentTranslate > swiper.minTranslate())){
disableParentSwiper=false;
if(params.resistance){ data.currentTranslate=(swiper.minTranslate() - 1) + (Math.pow((-swiper.minTranslate() + data.startTranslate + diff), resistanceRatio)); }}else if(diff < 0&&data.currentTranslate < swiper.maxTranslate()){
disableParentSwiper=false;
if(params.resistance){ data.currentTranslate=(swiper.maxTranslate() + 1) - (Math.pow((swiper.maxTranslate() - data.startTranslate - diff), resistanceRatio)); }}
if(disableParentSwiper){
e.preventedByNestedSwiper=true;
}
if(!swiper.allowSlideNext&&swiper.swipeDirection==='next'&&data.currentTranslate < data.startTranslate){
data.currentTranslate=data.startTranslate;
}
if(!swiper.allowSlidePrev&&swiper.swipeDirection==='prev'&&data.currentTranslate > data.startTranslate){
data.currentTranslate=data.startTranslate;
}
if(params.threshold > 0){
if(Math.abs(diff) > params.threshold||data.allowThresholdMove){
if(!data.allowThresholdMove){
data.allowThresholdMove=true;
touches.startX=touches.currentX;
touches.startY=touches.currentY;
data.currentTranslate=data.startTranslate;
touches.diff=swiper.isHorizontal() ? touches.currentX - touches.startX:touches.currentY - touches.startY;
return;
}}else{
data.currentTranslate=data.startTranslate;
return;
}}
if(!params.followFinger||params.cssMode){ return; }
if(params.freeMode||params.watchSlidesProgress||params.watchSlidesVisibility){
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
}
if(params.freeMode){
if(data.velocities.length===0){
data.velocities.push({
position: touches[swiper.isHorizontal() ? 'startX':'startY'],
time: data.touchStartTime,
});
}
data.velocities.push({
position: touches[swiper.isHorizontal() ? 'currentX':'currentY'],
time: Utils.now(),
});
}
swiper.updateProgress(data.currentTranslate);
swiper.setTranslate(data.currentTranslate);
}
function onTouchEnd (event){
var swiper=this;
var data=swiper.touchEventsData;
var params=swiper.params;
var touches=swiper.touches;
var rtl=swiper.rtlTranslate;
var $wrapperEl=swiper.$wrapperEl;
var slidesGrid=swiper.slidesGrid;
var snapGrid=swiper.snapGrid;
var e=event;
if(e.originalEvent){ e=e.originalEvent; }
if(data.allowTouchCallbacks){
swiper.emit('touchEnd', e);
}
data.allowTouchCallbacks=false;
if(!data.isTouched){
if(data.isMoved&&params.grabCursor){
swiper.setGrabCursor(false);
}
data.isMoved=false;
data.startMoving=false;
return;
}
if(params.grabCursor&&data.isMoved&&data.isTouched&&(swiper.allowSlideNext===true||swiper.allowSlidePrev===true)){
swiper.setGrabCursor(false);
}
var touchEndTime=Utils.now();
var timeDiff=touchEndTime - data.touchStartTime;
if(swiper.allowClick){
swiper.updateClickedSlide(e);
swiper.emit('tap click', e);
if(timeDiff < 300&&(touchEndTime - data.lastClickTime) < 300){
swiper.emit('doubleTap doubleClick', e);
}}
data.lastClickTime=Utils.now();
Utils.nextTick(function (){
if(!swiper.destroyed){ swiper.allowClick=true; }});
if(!data.isTouched||!data.isMoved||!swiper.swipeDirection||touches.diff===0||data.currentTranslate===data.startTranslate){
data.isTouched=false;
data.isMoved=false;
data.startMoving=false;
return;
}
data.isTouched=false;
data.isMoved=false;
data.startMoving=false;
var currentPos;
if(params.followFinger){
currentPos=rtl ? swiper.translate:-swiper.translate;
}else{
currentPos=-data.currentTranslate;
}
if(params.cssMode){
return;
}
if(params.freeMode){
if(currentPos < -swiper.minTranslate()){
swiper.slideTo(swiper.activeIndex);
return;
}
if(currentPos > -swiper.maxTranslate()){
if(swiper.slides.length < snapGrid.length){
swiper.slideTo(snapGrid.length - 1);
}else{
swiper.slideTo(swiper.slides.length - 1);
}
return;
}
if(params.freeModeMomentum){
if(data.velocities.length > 1){
var lastMoveEvent=data.velocities.pop();
var velocityEvent=data.velocities.pop();
var distance=lastMoveEvent.position - velocityEvent.position;
var time=lastMoveEvent.time - velocityEvent.time;
swiper.velocity=distance / time;
swiper.velocity /=2;
if(Math.abs(swiper.velocity) < params.freeModeMinimumVelocity){
swiper.velocity=0;
}
if(time > 150||(Utils.now() - lastMoveEvent.time) > 300){
swiper.velocity=0;
}}else{
swiper.velocity=0;
}
swiper.velocity *=params.freeModeMomentumVelocityRatio;
data.velocities.length=0;
var momentumDuration=1000 * params.freeModeMomentumRatio;
var momentumDistance=swiper.velocity * momentumDuration;
var newPosition=swiper.translate + momentumDistance;
if(rtl){ newPosition=-newPosition; }
var doBounce=false;
var afterBouncePosition;
var bounceAmount=Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;
var needsLoopFix;
if(newPosition < swiper.maxTranslate()){
if(params.freeModeMomentumBounce){
if(newPosition + swiper.maxTranslate() < -bounceAmount){
newPosition=swiper.maxTranslate() - bounceAmount;
}
afterBouncePosition=swiper.maxTranslate();
doBounce=true;
data.allowMomentumBounce=true;
}else{
newPosition=swiper.maxTranslate();
}
if(params.loop&&params.centeredSlides){ needsLoopFix=true; }}else if(newPosition > swiper.minTranslate()){
if(params.freeModeMomentumBounce){
if(newPosition - swiper.minTranslate() > bounceAmount){
newPosition=swiper.minTranslate() + bounceAmount;
}
afterBouncePosition=swiper.minTranslate();
doBounce=true;
data.allowMomentumBounce=true;
}else{
newPosition=swiper.minTranslate();
}
if(params.loop&&params.centeredSlides){ needsLoopFix=true; }}else if(params.freeModeSticky){
var nextSlide;
for (var j=0; j < snapGrid.length; j +=1){
if(snapGrid[j] > -newPosition){
nextSlide=j;
break;
}}
if(Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition)||swiper.swipeDirection==='next'){
newPosition=snapGrid[nextSlide];
}else{
newPosition=snapGrid[nextSlide - 1];
}
newPosition=-newPosition;
}
if(needsLoopFix){
swiper.once('transitionEnd', function (){
swiper.loopFix();
});
}
if(swiper.velocity!==0){
if(rtl){
momentumDuration=Math.abs((-newPosition - swiper.translate) / swiper.velocity);
}else{
momentumDuration=Math.abs((newPosition - swiper.translate) / swiper.velocity);
}
if(params.freeModeSticky){
var moveDistance=Math.abs((rtl ? -newPosition:newPosition) - swiper.translate);
var currentSlideSize=swiper.slidesSizesGrid[swiper.activeIndex];
if(moveDistance < currentSlideSize){
momentumDuration=params.speed;
}else if(moveDistance < 2 * currentSlideSize){
momentumDuration=params.speed * 1.5;
}else{
momentumDuration=params.speed * 2.5;
}}
}else if(params.freeModeSticky){
swiper.slideToClosest();
return;
}
if(params.freeModeMomentumBounce&&doBounce){
swiper.updateProgress(afterBouncePosition);
swiper.setTransition(momentumDuration);
swiper.setTranslate(newPosition);
swiper.transitionStart(true, swiper.swipeDirection);
swiper.animating=true;
$wrapperEl.transitionEnd(function (){
if(!swiper||swiper.destroyed||!data.allowMomentumBounce){ return; }
swiper.emit('momentumBounce');
swiper.setTransition(params.speed);
swiper.setTranslate(afterBouncePosition);
$wrapperEl.transitionEnd(function (){
if(!swiper||swiper.destroyed){ return; }
swiper.transitionEnd();
});
});
}else if(swiper.velocity){
swiper.updateProgress(newPosition);
swiper.setTransition(momentumDuration);
swiper.setTranslate(newPosition);
swiper.transitionStart(true, swiper.swipeDirection);
if(!swiper.animating){
swiper.animating=true;
$wrapperEl.transitionEnd(function (){
if(!swiper||swiper.destroyed){ return; }
swiper.transitionEnd();
});
}}else{
swiper.updateProgress(newPosition);
}
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
}else if(params.freeModeSticky){
swiper.slideToClosest();
return;
}
if(!params.freeModeMomentum||timeDiff >=params.longSwipesMs){
swiper.updateProgress();
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
}
return;
}
var stopIndex=0;
var groupSize=swiper.slidesSizesGrid[0];
for (var i=0; i < slidesGrid.length; i +=(i < params.slidesPerGroupSkip ? 1:params.slidesPerGroup)){
var increment$1=(i < params.slidesPerGroupSkip - 1 ? 1:params.slidesPerGroup);
if(typeof slidesGrid[i + increment$1]!=='undefined'){
if(currentPos >=slidesGrid[i]&&currentPos < slidesGrid[i + increment$1]){
stopIndex=i;
groupSize=slidesGrid[i + increment$1] - slidesGrid[i];
}}else if(currentPos >=slidesGrid[i]){
stopIndex=i;
groupSize=slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];
}}
var ratio=(currentPos - slidesGrid[stopIndex]) / groupSize;
var increment=(stopIndex < params.slidesPerGroupSkip - 1 ? 1:params.slidesPerGroup);
if(timeDiff > params.longSwipesMs){
if(!params.longSwipes){
swiper.slideTo(swiper.activeIndex);
return;
}
if(swiper.swipeDirection==='next'){
if(ratio >=params.longSwipesRatio){ swiper.slideTo(stopIndex + increment); }else{ swiper.slideTo(stopIndex); }}
if(swiper.swipeDirection==='prev'){
if(ratio > (1 - params.longSwipesRatio)){ swiper.slideTo(stopIndex + increment); }else{ swiper.slideTo(stopIndex); }}
}else{
if(!params.shortSwipes){
swiper.slideTo(swiper.activeIndex);
return;
}
var isNavButtonTarget=swiper.navigation&&(e.target===swiper.navigation.nextEl||e.target===swiper.navigation.prevEl);
if(!isNavButtonTarget){
if(swiper.swipeDirection==='next'){
swiper.slideTo(stopIndex + increment);
}
if(swiper.swipeDirection==='prev'){
swiper.slideTo(stopIndex);
}}else if(e.target===swiper.navigation.nextEl){
swiper.slideTo(stopIndex + increment);
}else{
swiper.slideTo(stopIndex);
}}
}
function onResize (){
var swiper=this;
var params=swiper.params;
var el=swiper.el;
if(el&&el.offsetWidth===0){ return; }
if(params.breakpoints){
swiper.setBreakpoint();
}
var allowSlideNext=swiper.allowSlideNext;
var allowSlidePrev=swiper.allowSlidePrev;
var snapGrid=swiper.snapGrid;
swiper.allowSlideNext=true;
swiper.allowSlidePrev=true;
swiper.updateSize();
swiper.updateSlides();
swiper.updateSlidesClasses();
if((params.slidesPerView==='auto'||params.slidesPerView > 1)&&swiper.isEnd&&!swiper.params.centeredSlides){
swiper.slideTo(swiper.slides.length - 1, 0, false, true);
}else{
swiper.slideTo(swiper.activeIndex, 0, false, true);
}
if(swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused){
swiper.autoplay.run();
}
swiper.allowSlidePrev=allowSlidePrev;
swiper.allowSlideNext=allowSlideNext;
if(swiper.params.watchOverflow&&snapGrid!==swiper.snapGrid){
swiper.checkOverflow();
}}
function onClick (e){
var swiper=this;
if(!swiper.allowClick){
if(swiper.params.preventClicks){ e.preventDefault(); }
if(swiper.params.preventClicksPropagation&&swiper.animating){
e.stopPropagation();
e.stopImmediatePropagation();
}}
}
function onScroll (){
var swiper=this;
var wrapperEl=swiper.wrapperEl;
swiper.previousTranslate=swiper.translate;
swiper.translate=swiper.isHorizontal() ? -wrapperEl.scrollLeft:-wrapperEl.scrollTop;
if(swiper.translate===-0){ swiper.translate=0; }
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
var newProgress;
var translatesDiff=swiper.maxTranslate() - swiper.minTranslate();
if(translatesDiff===0){
newProgress=0;
}else{
newProgress=(swiper.translate - swiper.minTranslate()) / (translatesDiff);
}
if(newProgress!==swiper.progress){
swiper.updateProgress(swiper.translate);
}
swiper.emit('setTranslate', swiper.translate, false);
}
var dummyEventAttached=false;
function dummyEventListener(){}
function attachEvents(){
var swiper=this;
var params=swiper.params;
var touchEvents=swiper.touchEvents;
var el=swiper.el;
var wrapperEl=swiper.wrapperEl;
swiper.onTouchStart=onTouchStart.bind(swiper);
swiper.onTouchMove=onTouchMove.bind(swiper);
swiper.onTouchEnd=onTouchEnd.bind(swiper);
if(params.cssMode){
swiper.onScroll=onScroll.bind(swiper);
}
swiper.onClick=onClick.bind(swiper);
var capture = !!params.nested;
if(!Support.touch&&Support.pointerEvents){
el.addEventListener(touchEvents.start, swiper.onTouchStart, false);
doc.addEventListener(touchEvents.move, swiper.onTouchMove, capture);
doc.addEventListener(touchEvents.end, swiper.onTouchEnd, false);
}else{
if(Support.touch){
var passiveListener=touchEvents.start==='touchstart'&&Support.passiveListener&&params.passiveListeners ? { passive: true, capture: false }:false;
el.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);
el.addEventListener(touchEvents.move, swiper.onTouchMove, Support.passiveListener ? { passive: false, capture: capture }:capture);
el.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);
if(touchEvents.cancel){
el.addEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);
}
if(!dummyEventAttached){
doc.addEventListener('touchstart', dummyEventListener);
dummyEventAttached=true;
}}
if((params.simulateTouch&&!Device.ios&&!Device.android)||(params.simulateTouch&&!Support.touch&&Device.ios)){
el.addEventListener('mousedown', swiper.onTouchStart, false);
doc.addEventListener('mousemove', swiper.onTouchMove, capture);
doc.addEventListener('mouseup', swiper.onTouchEnd, false);
}}
if(params.preventClicks||params.preventClicksPropagation){
el.addEventListener('click', swiper.onClick, true);
}
if(params.cssMode){
wrapperEl.addEventListener('scroll', swiper.onScroll);
}
if(params.updateOnWindowResize){
swiper.on((Device.ios||Device.android ? 'resize orientationchange observerUpdate':'resize observerUpdate'), onResize, true);
}else{
swiper.on('observerUpdate', onResize, true);
}}
function detachEvents(){
var swiper=this;
var params=swiper.params;
var touchEvents=swiper.touchEvents;
var el=swiper.el;
var wrapperEl=swiper.wrapperEl;
var capture = !!params.nested;
if(!Support.touch&&Support.pointerEvents){
el.removeEventListener(touchEvents.start, swiper.onTouchStart, false);
doc.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);
doc.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);
}else{
if(Support.touch){
var passiveListener=touchEvents.start==='onTouchStart'&&Support.passiveListener&&params.passiveListeners ? { passive: true, capture: false }:false;
el.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);
el.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);
el.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);
if(touchEvents.cancel){
el.removeEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);
}}
if((params.simulateTouch&&!Device.ios&&!Device.android)||(params.simulateTouch&&!Support.touch&&Device.ios)){
el.removeEventListener('mousedown', swiper.onTouchStart, false);
doc.removeEventListener('mousemove', swiper.onTouchMove, capture);
doc.removeEventListener('mouseup', swiper.onTouchEnd, false);
}}
if(params.preventClicks||params.preventClicksPropagation){
el.removeEventListener('click', swiper.onClick, true);
}
if(params.cssMode){
wrapperEl.removeEventListener('scroll', swiper.onScroll);
}
swiper.off((Device.ios||Device.android ? 'resize orientationchange observerUpdate':'resize observerUpdate'), onResize);
}
var events={
attachEvents: attachEvents,
detachEvents: detachEvents,
};
function setBreakpoint (){
var swiper=this;
var activeIndex=swiper.activeIndex;
var initialized=swiper.initialized;
var loopedSlides=swiper.loopedSlides; if(loopedSlides===void 0) loopedSlides=0;
var params=swiper.params;
var $el=swiper.$el;
var breakpoints=params.breakpoints;
if(!breakpoints||(breakpoints&&Object.keys(breakpoints).length===0)){ return; }
var breakpoint=swiper.getBreakpoint(breakpoints);
if(breakpoint&&swiper.currentBreakpoint!==breakpoint){
var breakpointOnlyParams=breakpoint in breakpoints ? breakpoints[breakpoint]:undefined;
if(breakpointOnlyParams){
['slidesPerView', 'spaceBetween', 'slidesPerGroup', 'slidesPerGroupSkip', 'slidesPerColumn'].forEach(function (param){
var paramValue=breakpointOnlyParams[param];
if(typeof paramValue==='undefined'){ return; }
if(param==='slidesPerView'&&(paramValue==='AUTO'||paramValue==='auto')){
breakpointOnlyParams[param]='auto';
}else if(param==='slidesPerView'){
breakpointOnlyParams[param]=parseFloat(paramValue);
}else{
breakpointOnlyParams[param]=parseInt(paramValue, 10);
}});
}
var breakpointParams=breakpointOnlyParams||swiper.originalParams;
var wasMultiRow=params.slidesPerColumn > 1;
var isMultiRow=breakpointParams.slidesPerColumn > 1;
if(wasMultiRow&&!isMultiRow){
$el.removeClass(((params.containerModifierClass) + "multirow " + (params.containerModifierClass) + "multirow-column"));
}else if(!wasMultiRow&&isMultiRow){
$el.addClass(((params.containerModifierClass) + "multirow"));
if(breakpointParams.slidesPerColumnFill==='column'){
$el.addClass(((params.containerModifierClass) + "multirow-column"));
}}
var directionChanged=breakpointParams.direction&&breakpointParams.direction!==params.direction;
var needsReLoop=params.loop&&(breakpointParams.slidesPerView!==params.slidesPerView||directionChanged);
if(directionChanged&&initialized){
swiper.changeDirection();
}
Utils.extend(swiper.params, breakpointParams);
Utils.extend(swiper, {
allowTouchMove: swiper.params.allowTouchMove,
allowSlideNext: swiper.params.allowSlideNext,
allowSlidePrev: swiper.params.allowSlidePrev,
});
swiper.currentBreakpoint=breakpoint;
if(needsReLoop&&initialized){
swiper.loopDestroy();
swiper.loopCreate();
swiper.updateSlides();
swiper.slideTo((activeIndex - loopedSlides) + swiper.loopedSlides, 0, false);
}
swiper.emit('breakpoint', breakpointParams);
}}
function getBreakpoint (breakpoints){
if(!breakpoints){ return undefined; }
var breakpoint=false;
var points=Object.keys(breakpoints).map(function (point){
if(typeof point==='string'&&point.indexOf('@')===0){
var minRatio=parseFloat(point.substr(1));
var value=win.innerHeight * minRatio;
return { value: value, point: point };}
return { value: point, point: point };});
points.sort(function (a, b){ return parseInt(a.value, 10) - parseInt(b.value, 10); });
for (var i=0; i < points.length; i +=1){
var ref=points[i];
var point=ref.point;
var value=ref.value;
if(value <=win.innerWidth){
breakpoint=point;
}}
return breakpoint||'max';
}
var breakpoints={ setBreakpoint: setBreakpoint, getBreakpoint: getBreakpoint };
function addClasses (){
var swiper=this;
var classNames=swiper.classNames;
var params=swiper.params;
var rtl=swiper.rtl;
var $el=swiper.$el;
var suffixes=[];
suffixes.push('initialized');
suffixes.push(params.direction);
if(params.freeMode){
suffixes.push('free-mode');
}
if(params.autoHeight){
suffixes.push('autoheight');
}
if(rtl){
suffixes.push('rtl');
}
if(params.slidesPerColumn > 1){
suffixes.push('multirow');
if(params.slidesPerColumnFill==='column'){
suffixes.push('multirow-column');
}}
if(Device.android){
suffixes.push('android');
}
if(Device.ios){
suffixes.push('ios');
}
if(params.cssMode){
suffixes.push('css-mode');
}
suffixes.forEach(function (suffix){
classNames.push(params.containerModifierClass + suffix);
});
$el.addClass(classNames.join(' '));
}
function removeClasses (){
var swiper=this;
var $el=swiper.$el;
var classNames=swiper.classNames;
$el.removeClass(classNames.join(' '));
}
var classes={ addClasses: addClasses, removeClasses: removeClasses };
function loadImage (imageEl, src, srcset, sizes, checkForComplete, callback){
var image;
function onReady(){
if(callback){ callback(); }}
if(!imageEl.complete||!checkForComplete){
if(src){
image=new win.Image();
image.onload=onReady;
image.onerror=onReady;
if(sizes){
image.sizes=sizes;
}
if(srcset){
image.srcset=srcset;
}
if(src){
image.src=src;
}}else{
onReady();
}}else{
onReady();
}}
function preloadImages (){
var swiper=this;
swiper.imagesToLoad=swiper.$el.find('img');
function onReady(){
if(typeof swiper==='undefined'||swiper===null||!swiper||swiper.destroyed){ return; }
if(swiper.imagesLoaded!==undefined){ swiper.imagesLoaded +=1; }
if(swiper.imagesLoaded===swiper.imagesToLoad.length){
if(swiper.params.updateOnImagesReady){ swiper.update(); }
swiper.emit('imagesReady');
}}
for (var i=0; i < swiper.imagesToLoad.length; i +=1){
var imageEl=swiper.imagesToLoad[i];
swiper.loadImage(imageEl,
imageEl.currentSrc||imageEl.getAttribute('src'),
imageEl.srcset||imageEl.getAttribute('srcset'),
imageEl.sizes||imageEl.getAttribute('sizes'),
true,
onReady
);
}}
var images={
loadImage: loadImage,
preloadImages: preloadImages,
};
function checkOverflow(){
var swiper=this;
var params=swiper.params;
var wasLocked=swiper.isLocked;
var lastSlidePosition=swiper.slides.length > 0&&(params.slidesOffsetBefore + (params.spaceBetween * (swiper.slides.length - 1)) + ((swiper.slides[0]).offsetWidth) * swiper.slides.length);
if(params.slidesOffsetBefore&&params.slidesOffsetAfter&&lastSlidePosition){
swiper.isLocked=lastSlidePosition <=swiper.size;
}else{
swiper.isLocked=swiper.snapGrid.length===1;
}
swiper.allowSlideNext = !swiper.isLocked;
swiper.allowSlidePrev = !swiper.isLocked;
if(wasLocked!==swiper.isLocked){ swiper.emit(swiper.isLocked ? 'lock':'unlock'); }
if(wasLocked&&wasLocked!==swiper.isLocked){
swiper.isEnd=false;
swiper.navigation.update();
}}
var checkOverflow$1={ checkOverflow: checkOverflow };
var defaults={
init: true,
direction: 'horizontal',
touchEventsTarget: 'container',
initialSlide: 0,
speed: 300,
cssMode: false,
updateOnWindowResize: true,
preventInteractionOnTransition: false,
edgeSwipeDetection: false,
edgeSwipeThreshold: 20,
freeMode: false,
freeModeMomentum: true,
freeModeMomentumRatio: 1,
freeModeMomentumBounce: true,
freeModeMomentumBounceRatio: 1,
freeModeMomentumVelocityRatio: 1,
freeModeSticky: false,
freeModeMinimumVelocity: 0.02,
autoHeight: false,
setWrapperSize: false,
virtualTranslate: false,
effect: 'slide', // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'
breakpoints: undefined,
spaceBetween: 0,
slidesPerView: 1,
slidesPerColumn: 1,
slidesPerColumnFill: 'column',
slidesPerGroup: 1,
slidesPerGroupSkip: 0,
centeredSlides: false,
centeredSlidesBounds: false,
slidesOffsetBefore: 0,
slidesOffsetAfter: 0,
normalizeSlideIndex: true,
centerInsufficientSlides: false,
watchOverflow: false,
roundLengths: false,
touchRatio: 1,
touchAngle: 45,
simulateTouch: true,
shortSwipes: true,
longSwipes: true,
longSwipesRatio: 0.5,
longSwipesMs: 300,
followFinger: true,
allowTouchMove: true,
threshold: 0,
touchMoveStopPropagation: false,
touchStartPreventDefault: true,
touchStartForcePreventDefault: false,
touchReleaseOnEdges: false,
uniqueNavElements: true,
resistance: true,
resistanceRatio: 0.85,
watchSlidesProgress: false,
watchSlidesVisibility: false,
grabCursor: false,
preventClicks: true,
preventClicksPropagation: true,
slideToClickedSlide: false,
preloadImages: true,
updateOnImagesReady: true,
loop: false,
loopAdditionalSlides: 0,
loopedSlides: null,
loopFillGroupWithBlank: false,
allowSlidePrev: true,
allowSlideNext: true,
swipeHandler: null, // '.swipe-handler',
noSwiping: true,
noSwipingClass: 'swiper-no-swiping',
noSwipingSelector: null,
passiveListeners: true,
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: true,
};
var prototypes={
update: update,
translate: translate,
transition: transition$1,
slide: slide,
loop: loop,
grabCursor: grabCursor,
manipulation: manipulation,
events: events,
breakpoints: breakpoints,
checkOverflow: checkOverflow$1,
classes: classes,
images: images,
};
var extendedDefaults={};
var Swiper=(function (SwiperClass){
function Swiper(){
var assign;
var args=[], len=arguments.length;
while(len--) args[ len ]=arguments[ len ];
var el;
var params;
if(args.length===1&&args[0].constructor&&args[0].constructor===Object){
params=args[0];
}else{
(assign=args, el=assign[0], params=assign[1]);
}
if(!params){ params={};}
params=Utils.extend({}, params);
if(el&&!params.el){ params.el=el; }
SwiperClass.call(this, params);
Object.keys(prototypes).forEach(function (prototypeGroup){
Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod){
if(!Swiper.prototype[protoMethod]){
Swiper.prototype[protoMethod]=prototypes[prototypeGroup][protoMethod];
}});
});
var swiper=this;
if(typeof swiper.modules==='undefined'){
swiper.modules={};}
Object.keys(swiper.modules).forEach(function (moduleName){
var module=swiper.modules[moduleName];
if(module.params){
var moduleParamName=Object.keys(module.params)[0];
var moduleParams=module.params[moduleParamName];
if(typeof moduleParams!=='object'||moduleParams===null){ return; }
if(!(moduleParamName in params&&'enabled' in moduleParams)){ return; }
if(params[moduleParamName]===true){
params[moduleParamName]={ enabled: true };}
if(typeof params[moduleParamName]==='object'
&& !('enabled' in params[moduleParamName])
){
params[moduleParamName].enabled=true;
}
if(!params[moduleParamName]){ params[moduleParamName]={ enabled: false };}}
});
var swiperParams=Utils.extend({}, defaults);
swiper.useModulesParams(swiperParams);
swiper.params=Utils.extend({}, swiperParams, extendedDefaults, params);
swiper.originalParams=Utils.extend({}, swiper.params);
swiper.passedParams=Utils.extend({}, params);
swiper.$=$;
var $el=$(swiper.params.el);
el=$el[0];
if(!el){
return undefined;
}
if($el.length > 1){
var swipers=[];
$el.each(function (index, containerEl){
var newParams=Utils.extend({}, params, { el: containerEl });
swipers.push(new Swiper(newParams));
});
return swipers;
}
el.swiper=swiper;
$el.data('swiper', swiper);
var $wrapperEl;
if(el&&el.shadowRoot&&el.shadowRoot.querySelector){
$wrapperEl=$(el.shadowRoot.querySelector(("." + (swiper.params.wrapperClass))));
$wrapperEl.children=function (options){ return $el.children(options); };}else{
$wrapperEl=$el.children(("." + (swiper.params.wrapperClass)));
}
Utils.extend(swiper, {
$el: $el,
el: el,
$wrapperEl: $wrapperEl,
wrapperEl: $wrapperEl[0],
classNames: [],
slides: $(),
slidesGrid: [],
snapGrid: [],
slidesSizesGrid: [],
isHorizontal: function isHorizontal(){
return swiper.params.direction==='horizontal';
},
isVertical: function isVertical(){
return swiper.params.direction==='vertical';
},
rtl: (el.dir.toLowerCase()==='rtl'||$el.css('direction')==='rtl'),
rtlTranslate: swiper.params.direction==='horizontal'&&(el.dir.toLowerCase()==='rtl'||$el.css('direction')==='rtl'),
wrongRTL: $wrapperEl.css('display')==='-webkit-box',
activeIndex: 0,
realIndex: 0,
isBeginning: true,
isEnd: false,
translate: 0,
previousTranslate: 0,
progress: 0,
velocity: 0,
animating: false,
allowSlideNext: swiper.params.allowSlideNext,
allowSlidePrev: swiper.params.allowSlidePrev,
touchEvents: (function touchEvents(){
var touch=['touchstart', 'touchmove', 'touchend', 'touchcancel'];
var desktop=['mousedown', 'mousemove', 'mouseup'];
if(Support.pointerEvents){
desktop=['pointerdown', 'pointermove', 'pointerup'];
}
swiper.touchEventsTouch={
start: touch[0],
move: touch[1],
end: touch[2],
cancel: touch[3],
};
swiper.touchEventsDesktop={
start: desktop[0],
move: desktop[1],
end: desktop[2],
};
return Support.touch||!swiper.params.simulateTouch ? swiper.touchEventsTouch:swiper.touchEventsDesktop;
}()),
touchEventsData: {
isTouched: undefined,
isMoved: undefined,
allowTouchCallbacks: undefined,
touchStartTime: undefined,
isScrolling: undefined,
currentTranslate: undefined,
startTranslate: undefined,
allowThresholdMove: undefined,
formElements: 'input, select, option, textarea, button, video, label',
lastClickTime: Utils.now(),
clickTimeout: undefined,
velocities: [],
allowMomentumBounce: undefined,
isTouchEvent: undefined,
startMoving: undefined,
},
allowClick: true,
allowTouchMove: swiper.params.allowTouchMove,
touches: {
startX: 0,
startY: 0,
currentX: 0,
currentY: 0,
diff: 0,
},
imagesToLoad: [],
imagesLoaded: 0,
});
swiper.useModules();
if(swiper.params.init){
swiper.init();
}
return swiper;
}
if(SwiperClass) Swiper.__proto__=SwiperClass;
Swiper.prototype=Object.create(SwiperClass&&SwiperClass.prototype);
Swiper.prototype.constructor=Swiper;
var staticAccessors={ extendedDefaults: { configurable: true },defaults: { configurable: true },Class: { configurable: true },$: { configurable: true }};
Swiper.prototype.slidesPerViewDynamic=function slidesPerViewDynamic (){
var swiper=this;
var params=swiper.params;
var slides=swiper.slides;
var slidesGrid=swiper.slidesGrid;
var swiperSize=swiper.size;
var activeIndex=swiper.activeIndex;
var spv=1;
if(params.centeredSlides){
var slideSize=slides[activeIndex].swiperSlideSize;
var breakLoop;
for (var i=activeIndex + 1; i < slides.length; i +=1){
if(slides[i]&&!breakLoop){
slideSize +=slides[i].swiperSlideSize;
spv +=1;
if(slideSize > swiperSize){ breakLoop=true; }}
}
for (var i$1=activeIndex - 1; i$1 >=0; i$1 -=1){
if(slides[i$1]&&!breakLoop){
slideSize +=slides[i$1].swiperSlideSize;
spv +=1;
if(slideSize > swiperSize){ breakLoop=true; }}
}}else{
for (var i$2=activeIndex + 1; i$2 < slides.length; i$2 +=1){
if(slidesGrid[i$2] - slidesGrid[activeIndex] < swiperSize){
spv +=1;
}}
}
return spv;
};
Swiper.prototype.update=function update (){
var swiper=this;
if(!swiper||swiper.destroyed){ return; }
var snapGrid=swiper.snapGrid;
var params=swiper.params;
if(params.breakpoints){
swiper.setBreakpoint();
}
swiper.updateSize();
swiper.updateSlides();
swiper.updateProgress();
swiper.updateSlidesClasses();
function setTranslate(){
var translateValue=swiper.rtlTranslate ? swiper.translate * -1:swiper.translate;
var newTranslate=Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());
swiper.setTranslate(newTranslate);
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
}
var translated;
if(swiper.params.freeMode){
setTranslate();
if(swiper.params.autoHeight){
swiper.updateAutoHeight();
}}else{
if((swiper.params.slidesPerView==='auto'||swiper.params.slidesPerView > 1)&&swiper.isEnd&&!swiper.params.centeredSlides){
translated=swiper.slideTo(swiper.slides.length - 1, 0, false, true);
}else{
translated=swiper.slideTo(swiper.activeIndex, 0, false, true);
}
if(!translated){
setTranslate();
}}
if(params.watchOverflow&&snapGrid!==swiper.snapGrid){
swiper.checkOverflow();
}
swiper.emit('update');
};
Swiper.prototype.changeDirection=function changeDirection (newDirection, needUpdate){
if(needUpdate===void 0) needUpdate=true;
var swiper=this;
var currentDirection=swiper.params.direction;
if(!newDirection){
newDirection=currentDirection==='horizontal' ? 'vertical':'horizontal';
}
if((newDirection===currentDirection)||(newDirection!=='horizontal'&&newDirection!=='vertical')){
return swiper;
}
swiper.$el
.removeClass(("" + (swiper.params.containerModifierClass) + currentDirection))
.addClass(("" + (swiper.params.containerModifierClass) + newDirection));
swiper.params.direction=newDirection;
swiper.slides.each(function (slideIndex, slideEl){
if(newDirection==='vertical'){
slideEl.style.width='';
}else{
slideEl.style.height='';
}});
swiper.emit('changeDirection');
if(needUpdate){ swiper.update(); }
return swiper;
};
Swiper.prototype.init=function init (){
var swiper=this;
if(swiper.initialized){ return; }
swiper.emit('beforeInit');
if(swiper.params.breakpoints){
swiper.setBreakpoint();
}
swiper.addClasses();
if(swiper.params.loop){
swiper.loopCreate();
}
swiper.updateSize();
swiper.updateSlides();
if(swiper.params.watchOverflow){
swiper.checkOverflow();
}
if(swiper.params.grabCursor){
swiper.setGrabCursor();
}
if(swiper.params.preloadImages){
swiper.preloadImages();
}
if(swiper.params.loop){
swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit);
}else{
swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit);
}
swiper.attachEvents();
swiper.initialized=true;
swiper.emit('init');
};
Swiper.prototype.destroy=function destroy (deleteInstance, cleanStyles){
if(deleteInstance===void 0) deleteInstance=true;
if(cleanStyles===void 0) cleanStyles=true;
var swiper=this;
var params=swiper.params;
var $el=swiper.$el;
var $wrapperEl=swiper.$wrapperEl;
var slides=swiper.slides;
if(typeof swiper.params==='undefined'||swiper.destroyed){
return null;
}
swiper.emit('beforeDestroy');
swiper.initialized=false;
swiper.detachEvents();
if(params.loop){
swiper.loopDestroy();
}
if(cleanStyles){
swiper.removeClasses();
$el.removeAttr('style');
$wrapperEl.removeAttr('style');
if(slides&&slides.length){
slides
.removeClass([
params.slideVisibleClass,
params.slideActiveClass,
params.slideNextClass,
params.slidePrevClass ].join(' '))
.removeAttr('style')
.removeAttr('data-swiper-slide-index');
}}
swiper.emit('destroy');
Object.keys(swiper.eventsListeners).forEach(function (eventName){
swiper.off(eventName);
});
if(deleteInstance!==false){
swiper.$el[0].swiper=null;
swiper.$el.data('swiper', null);
Utils.deleteProps(swiper);
}
swiper.destroyed=true;
return null;
};
Swiper.extendDefaults=function extendDefaults (newDefaults){
Utils.extend(extendedDefaults, newDefaults);
};
staticAccessors.extendedDefaults.get=function (){
return extendedDefaults;
};
staticAccessors.defaults.get=function (){
return defaults;
};
staticAccessors.Class.get=function (){
return SwiperClass;
};
staticAccessors.$.get=function (){
return $;
};
Object.defineProperties(Swiper, staticAccessors);
return Swiper;
}(SwiperClass));
var Device$1={
name: 'device',
proto: {
device: Device,
},
static: {
device: Device,
},
};
var Support$1={
name: 'support',
proto: {
support: Support,
},
static: {
support: Support,
},
};
var Browser=(function Browser(){
function isSafari(){
var ua=win.navigator.userAgent.toLowerCase();
return (ua.indexOf('safari') >=0&&ua.indexOf('chrome') < 0&&ua.indexOf('android') < 0);
}
return {
isEdge: !!win.navigator.userAgent.match(/Edge/g),
isSafari: isSafari(),
isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(win.navigator.userAgent),
};}());
var Browser$1={
name: 'browser',
proto: {
browser: Browser,
},
static: {
browser: Browser,
},
};
var Resize={
name: 'resize',
create: function create(){
var swiper=this;
Utils.extend(swiper, {
resize: {
resizeHandler: function resizeHandler(){
if(!swiper||swiper.destroyed||!swiper.initialized){ return; }
swiper.emit('beforeResize');
swiper.emit('resize');
},
orientationChangeHandler: function orientationChangeHandler(){
if(!swiper||swiper.destroyed||!swiper.initialized){ return; }
swiper.emit('orientationchange');
},
},
});
},
on: {
init: function init(){
var swiper=this;
win.addEventListener('resize', swiper.resize.resizeHandler);
win.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);
},
destroy: function destroy(){
var swiper=this;
win.removeEventListener('resize', swiper.resize.resizeHandler);
win.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);
},
},
};
var Observer={
func: win.MutationObserver||win.WebkitMutationObserver,
attach: function attach(target, options){
if(options===void 0) options={};
var swiper=this;
var ObserverFunc=Observer.func;
var observer=new ObserverFunc(function (mutations){
if(mutations.length===1){
swiper.emit('observerUpdate', mutations[0]);
return;
}
var observerUpdate=function observerUpdate(){
swiper.emit('observerUpdate', mutations[0]);
};
if(win.requestAnimationFrame){
win.requestAnimationFrame(observerUpdate);
}else{
win.setTimeout(observerUpdate, 0);
}});
observer.observe(target, {
attributes: typeof options.attributes==='undefined' ? true:options.attributes,
childList: typeof options.childList==='undefined' ? true:options.childList,
characterData: typeof options.characterData==='undefined' ? true:options.characterData,
});
swiper.observer.observers.push(observer);
},
init: function init(){
var swiper=this;
if(!Support.observer||!swiper.params.observer){ return; }
if(swiper.params.observeParents){
var containerParents=swiper.$el.parents();
for (var i=0; i < containerParents.length; i +=1){
swiper.observer.attach(containerParents[i]);
}}
swiper.observer.attach(swiper.$el[0], { childList: swiper.params.observeSlideChildren });
swiper.observer.attach(swiper.$wrapperEl[0], { attributes: false });
},
destroy: function destroy(){
var swiper=this;
swiper.observer.observers.forEach(function (observer){
observer.disconnect();
});
swiper.observer.observers=[];
},
};
var Observer$1={
name: 'observer',
params: {
observer: false,
observeParents: false,
observeSlideChildren: false,
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
observer: {
init: Observer.init.bind(swiper),
attach: Observer.attach.bind(swiper),
destroy: Observer.destroy.bind(swiper),
observers: [],
},
});
},
on: {
init: function init(){
var swiper=this;
swiper.observer.init();
},
destroy: function destroy(){
var swiper=this;
swiper.observer.destroy();
},
},
};
var Virtual={
update: function update(force){
var swiper=this;
var ref=swiper.params;
var slidesPerView=ref.slidesPerView;
var slidesPerGroup=ref.slidesPerGroup;
var centeredSlides=ref.centeredSlides;
var ref$1=swiper.params.virtual;
var addSlidesBefore=ref$1.addSlidesBefore;
var addSlidesAfter=ref$1.addSlidesAfter;
var ref$2=swiper.virtual;
var previousFrom=ref$2.from;
var previousTo=ref$2.to;
var slides=ref$2.slides;
var previousSlidesGrid=ref$2.slidesGrid;
var renderSlide=ref$2.renderSlide;
var previousOffset=ref$2.offset;
swiper.updateActiveIndex();
var activeIndex=swiper.activeIndex||0;
var offsetProp;
if(swiper.rtlTranslate){ offsetProp='right'; }else{ offsetProp=swiper.isHorizontal() ? 'left':'top'; }
var slidesAfter;
var slidesBefore;
if(centeredSlides){
slidesAfter=Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;
slidesBefore=Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;
}else{
slidesAfter=slidesPerView + (slidesPerGroup - 1) + addSlidesBefore;
slidesBefore=slidesPerGroup + addSlidesAfter;
}
var from=Math.max((activeIndex||0) - slidesBefore, 0);
var to=Math.min((activeIndex||0) + slidesAfter, slides.length - 1);
var offset=(swiper.slidesGrid[from]||0) - (swiper.slidesGrid[0]||0);
Utils.extend(swiper.virtual, {
from: from,
to: to,
offset: offset,
slidesGrid: swiper.slidesGrid,
});
function onRendered(){
swiper.updateSlides();
swiper.updateProgress();
swiper.updateSlidesClasses();
if(swiper.lazy&&swiper.params.lazy.enabled){
swiper.lazy.load();
}}
if(previousFrom===from&&previousTo===to&&!force){
if(swiper.slidesGrid!==previousSlidesGrid&&offset!==previousOffset){
swiper.slides.css(offsetProp, (offset + "px"));
}
swiper.updateProgress();
return;
}
if(swiper.params.virtual.renderExternal){
swiper.params.virtual.renderExternal.call(swiper, {
offset: offset,
from: from,
to: to,
slides: (function getSlides(){
var slidesToRender=[];
for (var i=from; i <=to; i +=1){
slidesToRender.push(slides[i]);
}
return slidesToRender;
}()),
});
onRendered();
return;
}
var prependIndexes=[];
var appendIndexes=[];
if(force){
swiper.$wrapperEl.find(("." + (swiper.params.slideClass))).remove();
}else{
for (var i=previousFrom; i <=previousTo; i +=1){
if(i < from||i > to){
swiper.$wrapperEl.find(("." + (swiper.params.slideClass) + "[data-swiper-slide-index=\"" + i + "\"]")).remove();
}}
}
for (var i$1=0; i$1 < slides.length; i$1 +=1){
if(i$1 >=from&&i$1 <=to){
if(typeof previousTo==='undefined'||force){
appendIndexes.push(i$1);
}else{
if(i$1 > previousTo){ appendIndexes.push(i$1); }
if(i$1 < previousFrom){ prependIndexes.push(i$1); }}
}}
appendIndexes.forEach(function (index){
swiper.$wrapperEl.append(renderSlide(slides[index], index));
});
prependIndexes.sort(function (a, b){ return b - a; }).forEach(function (index){
swiper.$wrapperEl.prepend(renderSlide(slides[index], index));
});
swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, (offset + "px"));
onRendered();
},
renderSlide: function renderSlide(slide, index){
var swiper=this;
var params=swiper.params.virtual;
if(params.cache&&swiper.virtual.cache[index]){
return swiper.virtual.cache[index];
}
var $slideEl=params.renderSlide
? $(params.renderSlide.call(swiper, slide, index))
: $(("<div class=\"" + (swiper.params.slideClass) + "\" data-swiper-slide-index=\"" + index + "\">" + slide + "</div>"));
if(!$slideEl.attr('data-swiper-slide-index')){ $slideEl.attr('data-swiper-slide-index', index); }
if(params.cache){ swiper.virtual.cache[index]=$slideEl; }
return $slideEl;
},
appendSlide: function appendSlide(slides){
var swiper=this;
if(typeof slides==='object'&&'length' in slides){
for (var i=0; i < slides.length; i +=1){
if(slides[i]){ swiper.virtual.slides.push(slides[i]); }}
}else{
swiper.virtual.slides.push(slides);
}
swiper.virtual.update(true);
},
prependSlide: function prependSlide(slides){
var swiper=this;
var activeIndex=swiper.activeIndex;
var newActiveIndex=activeIndex + 1;
var numberOfNewSlides=1;
if(Array.isArray(slides)){
for (var i=0; i < slides.length; i +=1){
if(slides[i]){ swiper.virtual.slides.unshift(slides[i]); }}
newActiveIndex=activeIndex + slides.length;
numberOfNewSlides=slides.length;
}else{
swiper.virtual.slides.unshift(slides);
}
if(swiper.params.virtual.cache){
var cache=swiper.virtual.cache;
var newCache={};
Object.keys(cache).forEach(function (cachedIndex){
var $cachedEl=cache[cachedIndex];
var cachedElIndex=$cachedEl.attr('data-swiper-slide-index');
if(cachedElIndex){
$cachedEl.attr('data-swiper-slide-index', parseInt(cachedElIndex, 10) + 1);
}
newCache[parseInt(cachedIndex, 10) + numberOfNewSlides]=$cachedEl;
});
swiper.virtual.cache=newCache;
}
swiper.virtual.update(true);
swiper.slideTo(newActiveIndex, 0);
},
removeSlide: function removeSlide(slidesIndexes){
var swiper=this;
if(typeof slidesIndexes==='undefined'||slidesIndexes===null){ return; }
var activeIndex=swiper.activeIndex;
if(Array.isArray(slidesIndexes)){
for (var i=slidesIndexes.length - 1; i >=0; i -=1){
swiper.virtual.slides.splice(slidesIndexes[i], 1);
if(swiper.params.virtual.cache){
delete swiper.virtual.cache[slidesIndexes[i]];
}
if(slidesIndexes[i] < activeIndex){ activeIndex -=1; }
activeIndex=Math.max(activeIndex, 0);
}}else{
swiper.virtual.slides.splice(slidesIndexes, 1);
if(swiper.params.virtual.cache){
delete swiper.virtual.cache[slidesIndexes];
}
if(slidesIndexes < activeIndex){ activeIndex -=1; }
activeIndex=Math.max(activeIndex, 0);
}
swiper.virtual.update(true);
swiper.slideTo(activeIndex, 0);
},
removeAllSlides: function removeAllSlides(){
var swiper=this;
swiper.virtual.slides=[];
if(swiper.params.virtual.cache){
swiper.virtual.cache={};}
swiper.virtual.update(true);
swiper.slideTo(0, 0);
},
};
var Virtual$1={
name: 'virtual',
params: {
virtual: {
enabled: false,
slides: [],
cache: true,
renderSlide: null,
renderExternal: null,
addSlidesBefore: 0,
addSlidesAfter: 0,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
virtual: {
update: Virtual.update.bind(swiper),
appendSlide: Virtual.appendSlide.bind(swiper),
prependSlide: Virtual.prependSlide.bind(swiper),
removeSlide: Virtual.removeSlide.bind(swiper),
removeAllSlides: Virtual.removeAllSlides.bind(swiper),
renderSlide: Virtual.renderSlide.bind(swiper),
slides: swiper.params.virtual.slides,
cache: {},
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
if(!swiper.params.virtual.enabled){ return; }
swiper.classNames.push(((swiper.params.containerModifierClass) + "virtual"));
var overwriteParams={
watchSlidesProgress: true,
};
Utils.extend(swiper.params, overwriteParams);
Utils.extend(swiper.originalParams, overwriteParams);
if(!swiper.params.initialSlide){
swiper.virtual.update();
}},
setTranslate: function setTranslate(){
var swiper=this;
if(!swiper.params.virtual.enabled){ return; }
swiper.virtual.update();
},
},
};
var Keyboard={
handle: function handle(event){
var swiper=this;
var rtl=swiper.rtlTranslate;
var e=event;
if(e.originalEvent){ e=e.originalEvent; }
var kc=e.keyCode||e.charCode;
if(!swiper.allowSlideNext&&((swiper.isHorizontal()&&kc===39)||(swiper.isVertical()&&kc===40)||kc===34)){
return false;
}
if(!swiper.allowSlidePrev&&((swiper.isHorizontal()&&kc===37)||(swiper.isVertical()&&kc===38)||kc===33)){
return false;
}
if(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey){
return undefined;
}
if(doc.activeElement&&doc.activeElement.nodeName&&(doc.activeElement.nodeName.toLowerCase()==='input'||doc.activeElement.nodeName.toLowerCase()==='textarea')){
return undefined;
}
if(swiper.params.keyboard.onlyInViewport&&(kc===33||kc===34||kc===37||kc===39||kc===38||kc===40)){
var inView=false;
if(swiper.$el.parents(("." + (swiper.params.slideClass))).length > 0&&swiper.$el.parents(("." + (swiper.params.slideActiveClass))).length===0){
return undefined;
}
var windowWidth=win.innerWidth;
var windowHeight=win.innerHeight;
var swiperOffset=swiper.$el.offset();
if(rtl){ swiperOffset.left -=swiper.$el[0].scrollLeft; }
var swiperCoord=[
[swiperOffset.left, swiperOffset.top],
[swiperOffset.left + swiper.width, swiperOffset.top],
[swiperOffset.left, swiperOffset.top + swiper.height],
[swiperOffset.left + swiper.width, swiperOffset.top + swiper.height] ];
for (var i=0; i < swiperCoord.length; i +=1){
var point=swiperCoord[i];
if(point[0] >=0&&point[0] <=windowWidth
&& point[1] >=0&&point[1] <=windowHeight
){
inView=true;
}}
if(!inView){ return undefined; }}
if(swiper.isHorizontal()){
if(kc===33||kc===34||kc===37||kc===39){
if(e.preventDefault){ e.preventDefault(); }else{ e.returnValue=false; }}
if(((kc===34||kc===39)&&!rtl)||((kc===33||kc===37)&&rtl)){ swiper.slideNext(); }
if(((kc===33||kc===37)&&!rtl)||((kc===34||kc===39)&&rtl)){ swiper.slidePrev(); }}else{
if(kc===33||kc===34||kc===38||kc===40){
if(e.preventDefault){ e.preventDefault(); }else{ e.returnValue=false; }}
if(kc===34||kc===40){ swiper.slideNext(); }
if(kc===33||kc===38){ swiper.slidePrev(); }}
swiper.emit('keyPress', kc);
return undefined;
},
enable: function enable(){
var swiper=this;
if(swiper.keyboard.enabled){ return; }
$(doc).on('keydown', swiper.keyboard.handle);
swiper.keyboard.enabled=true;
},
disable: function disable(){
var swiper=this;
if(!swiper.keyboard.enabled){ return; }
$(doc).off('keydown', swiper.keyboard.handle);
swiper.keyboard.enabled=false;
},
};
var Keyboard$1={
name: 'keyboard',
params: {
keyboard: {
enabled: false,
onlyInViewport: true,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
keyboard: {
enabled: false,
enable: Keyboard.enable.bind(swiper),
disable: Keyboard.disable.bind(swiper),
handle: Keyboard.handle.bind(swiper),
},
});
},
on: {
init: function init(){
var swiper=this;
if(swiper.params.keyboard.enabled){
swiper.keyboard.enable();
}},
destroy: function destroy(){
var swiper=this;
if(swiper.keyboard.enabled){
swiper.keyboard.disable();
}},
},
};
function isEventSupported(){
var eventName='onwheel';
var isSupported=eventName in doc;
if(!isSupported){
var element=doc.createElement('div');
element.setAttribute(eventName, 'return;');
isSupported=typeof element[eventName]==='function';
}
if(!isSupported
&& doc.implementation
&& doc.implementation.hasFeature
&& doc.implementation.hasFeature('', '')!==true
){
isSupported=doc.implementation.hasFeature('Events.wheel', '3.0');
}
return isSupported;
}
var Mousewheel={
lastScrollTime: Utils.now(),
lastEventBeforeSnap: undefined,
recentWheelEvents: [],
event: function event(){
if(win.navigator.userAgent.indexOf('firefox') > -1){ return 'DOMMouseScroll'; }
return isEventSupported() ? 'wheel':'mousewheel';
},
normalize: function normalize(e){
var PIXEL_STEP=10;
var LINE_HEIGHT=40;
var PAGE_HEIGHT=800;
var sX=0;
var sY=0;
var pX=0;
var pY=0;
if('detail' in e){
sY=e.detail;
}
if('wheelDelta' in e){
sY=-e.wheelDelta / 120;
}
if('wheelDeltaY' in e){
sY=-e.wheelDeltaY / 120;
}
if('wheelDeltaX' in e){
sX=-e.wheelDeltaX / 120;
}
if('axis' in e&&e.axis===e.HORIZONTAL_AXIS){
sX=sY;
sY=0;
}
pX=sX * PIXEL_STEP;
pY=sY * PIXEL_STEP;
if('deltaY' in e){
pY=e.deltaY;
}
if('deltaX' in e){
pX=e.deltaX;
}
if(e.shiftKey&&!pX){
pX=pY;
pY=0;
}
if((pX||pY)&&e.deltaMode){
if(e.deltaMode===1){
pX *=LINE_HEIGHT;
pY *=LINE_HEIGHT;
}else{
pX *=PAGE_HEIGHT;
pY *=PAGE_HEIGHT;
}}
if(pX&&!sX){
sX=(pX < 1) ? -1:1;
}
if(pY&&!sY){
sY=(pY < 1) ? -1:1;
}
return {
spinX: sX,
spinY: sY,
pixelX: pX,
pixelY: pY,
};},
handleMouseEnter: function handleMouseEnter(){
var swiper=this;
swiper.mouseEntered=true;
},
handleMouseLeave: function handleMouseLeave(){
var swiper=this;
swiper.mouseEntered=false;
},
handle: function handle(event){
var e=event;
var swiper=this;
var params=swiper.params.mousewheel;
if(swiper.params.cssMode){
e.preventDefault();
}
var target=swiper.$el;
if(swiper.params.mousewheel.eventsTarged!=='container'){
target=$(swiper.params.mousewheel.eventsTarged);
}
if(!swiper.mouseEntered&&!target[0].contains(e.target)&&!params.releaseOnEdges){ return true; }
if(e.originalEvent){ e=e.originalEvent; }
var delta=0;
var rtlFactor=swiper.rtlTranslate ? -1:1;
var data=Mousewheel.normalize(e);
if(params.forceToAxis){
if(swiper.isHorizontal()){
if(Math.abs(data.pixelX) > Math.abs(data.pixelY)){ delta=data.pixelX * rtlFactor; }else{ return true; }}else if(Math.abs(data.pixelY) > Math.abs(data.pixelX)){ delta=data.pixelY; }else{ return true; }}else{
delta=Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor:-data.pixelY;
}
if(delta===0){ return true; }
if(params.invert){ delta=-delta; }
if(!swiper.params.freeMode){
var newEvent={
time: Utils.now(),
delta: Math.abs(delta),
direction: Math.sign(delta),
raw: event,
};
var recentWheelEvents=swiper.mousewheel.recentWheelEvents;
if(recentWheelEvents.length >=2){
recentWheelEvents.shift();
}
var prevEvent=recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1]:undefined;
recentWheelEvents.push(newEvent);
if(prevEvent){
if(newEvent.direction!==prevEvent.direction||newEvent.delta > prevEvent.delta){
swiper.mousewheel.animateSlider(newEvent);
}}else{
swiper.mousewheel.animateSlider(newEvent);
}
if(swiper.mousewheel.releaseScroll(newEvent)){
return true;
}}else{
var newEvent$1={ time: Utils.now(), delta: Math.abs(delta), direction: Math.sign(delta) };
var ref=swiper.mousewheel;
var lastEventBeforeSnap=ref.lastEventBeforeSnap;
var ignoreWheelEvents=lastEventBeforeSnap
&& newEvent$1.time < lastEventBeforeSnap.time + 500
&& newEvent$1.delta <=lastEventBeforeSnap.delta
&& newEvent$1.direction===lastEventBeforeSnap.direction;
if(!ignoreWheelEvents){
swiper.mousewheel.lastEventBeforeSnap=undefined;
if(swiper.params.loop){
swiper.loopFix();
}
var position=swiper.getTranslate() + (delta * params.sensitivity);
var wasBeginning=swiper.isBeginning;
var wasEnd=swiper.isEnd;
if(position >=swiper.minTranslate()){ position=swiper.minTranslate(); }
if(position <=swiper.maxTranslate()){ position=swiper.maxTranslate(); }
swiper.setTransition(0);
swiper.setTranslate(position);
swiper.updateProgress();
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
if((!wasBeginning&&swiper.isBeginning)||(!wasEnd&&swiper.isEnd)){
swiper.updateSlidesClasses();
}
if(swiper.params.freeModeSticky){
clearTimeout(swiper.mousewheel.timeout);
swiper.mousewheel.timeout=undefined;
var recentWheelEvents$1=swiper.mousewheel.recentWheelEvents;
if(recentWheelEvents$1.length >=15){
recentWheelEvents$1.shift();
}
var prevEvent$1=recentWheelEvents$1.length ? recentWheelEvents$1[recentWheelEvents$1.length - 1]:undefined;
var firstEvent=recentWheelEvents$1[0];
recentWheelEvents$1.push(newEvent$1);
if(prevEvent$1&&(newEvent$1.delta > prevEvent$1.delta||newEvent$1.direction!==prevEvent$1.direction)){
recentWheelEvents$1.splice(0);
}else if(recentWheelEvents$1.length >=15
&& newEvent$1.time - firstEvent.time < 500
&& firstEvent.delta - newEvent$1.delta >=1
&& newEvent$1.delta <=6
){
var snapToThreshold=delta > 0 ? 0.8:0.2;
swiper.mousewheel.lastEventBeforeSnap=newEvent$1;
recentWheelEvents$1.splice(0);
swiper.mousewheel.timeout=Utils.nextTick(function (){
swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
}, 0);
}
if(!swiper.mousewheel.timeout){
swiper.mousewheel.timeout=Utils.nextTick(function (){
var snapToThreshold=0.5;
swiper.mousewheel.lastEventBeforeSnap=newEvent$1;
recentWheelEvents$1.splice(0);
swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
}, 500);
}}
if(!ignoreWheelEvents){ swiper.emit('scroll', e); }
if(swiper.params.autoplay&&swiper.params.autoplayDisableOnInteraction){ swiper.autoplay.stop(); }
if(position===swiper.minTranslate()||position===swiper.maxTranslate()){ return true; }}
}
if(e.preventDefault){ e.preventDefault(); }else{ e.returnValue=false; }
return false;
},
animateSlider: function animateSlider(newEvent){
var swiper=this;
if(newEvent.delta >=6&&Utils.now() - swiper.mousewheel.lastScrollTime < 60){
return true;
}
if(newEvent.direction < 0){
if((!swiper.isEnd||swiper.params.loop)&&!swiper.animating){
swiper.slideNext();
swiper.emit('scroll', newEvent.raw);
}}else if((!swiper.isBeginning||swiper.params.loop)&&!swiper.animating){
swiper.slidePrev();
swiper.emit('scroll', newEvent.raw);
}
swiper.mousewheel.lastScrollTime=(new win.Date()).getTime();
return false;
},
releaseScroll: function releaseScroll(newEvent){
var swiper=this;
var params=swiper.params.mousewheel;
if(newEvent.direction < 0){
if(swiper.isEnd&&!swiper.params.loop&&params.releaseOnEdges){
return true;
}}else if(swiper.isBeginning&&!swiper.params.loop&&params.releaseOnEdges){
return true;
}
return false;
},
enable: function enable(){
var swiper=this;
var event=Mousewheel.event();
if(swiper.params.cssMode){
swiper.wrapperEl.removeEventListener(event, swiper.mousewheel.handle);
return true;
}
if(!event){ return false; }
if(swiper.mousewheel.enabled){ return false; }
var target=swiper.$el;
if(swiper.params.mousewheel.eventsTarged!=='container'){
target=$(swiper.params.mousewheel.eventsTarged);
}
target.on('mouseenter', swiper.mousewheel.handleMouseEnter);
target.on('mouseleave', swiper.mousewheel.handleMouseLeave);
target.on(event, swiper.mousewheel.handle);
swiper.mousewheel.enabled=true;
return true;
},
disable: function disable(){
var swiper=this;
var event=Mousewheel.event();
if(swiper.params.cssMode){
swiper.wrapperEl.addEventListener(event, swiper.mousewheel.handle);
return true;
}
if(!event){ return false; }
if(!swiper.mousewheel.enabled){ return false; }
var target=swiper.$el;
if(swiper.params.mousewheel.eventsTarged!=='container'){
target=$(swiper.params.mousewheel.eventsTarged);
}
target.off(event, swiper.mousewheel.handle);
swiper.mousewheel.enabled=false;
return true;
},
};
var Mousewheel$1={
name: 'mousewheel',
params: {
mousewheel: {
enabled: false,
releaseOnEdges: false,
invert: false,
forceToAxis: false,
sensitivity: 1,
eventsTarged: 'container',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
mousewheel: {
enabled: false,
enable: Mousewheel.enable.bind(swiper),
disable: Mousewheel.disable.bind(swiper),
handle: Mousewheel.handle.bind(swiper),
handleMouseEnter: Mousewheel.handleMouseEnter.bind(swiper),
handleMouseLeave: Mousewheel.handleMouseLeave.bind(swiper),
animateSlider: Mousewheel.animateSlider.bind(swiper),
releaseScroll: Mousewheel.releaseScroll.bind(swiper),
lastScrollTime: Utils.now(),
lastEventBeforeSnap: undefined,
recentWheelEvents: [],
},
});
},
on: {
init: function init(){
var swiper=this;
if(!swiper.params.mousewheel.enabled&&swiper.params.cssMode){
swiper.mousewheel.disable();
}
if(swiper.params.mousewheel.enabled){ swiper.mousewheel.enable(); }},
destroy: function destroy(){
var swiper=this;
if(swiper.params.cssMode){
swiper.mousewheel.enable();
}
if(swiper.mousewheel.enabled){ swiper.mousewheel.disable(); }},
},
};
var Navigation={
update: function update(){
var swiper=this;
var params=swiper.params.navigation;
if(swiper.params.loop){ return; }
var ref=swiper.navigation;
var $nextEl=ref.$nextEl;
var $prevEl=ref.$prevEl;
if($prevEl&&$prevEl.length > 0){
if(swiper.isBeginning){
$prevEl.addClass(params.disabledClass);
}else{
$prevEl.removeClass(params.disabledClass);
}
$prevEl[swiper.params.watchOverflow&&swiper.isLocked ? 'addClass':'removeClass'](params.lockClass);
}
if($nextEl&&$nextEl.length > 0){
if(swiper.isEnd){
$nextEl.addClass(params.disabledClass);
}else{
$nextEl.removeClass(params.disabledClass);
}
$nextEl[swiper.params.watchOverflow&&swiper.isLocked ? 'addClass':'removeClass'](params.lockClass);
}},
onPrevClick: function onPrevClick(e){
var swiper=this;
e.preventDefault();
if(swiper.isBeginning&&!swiper.params.loop){ return; }
swiper.slidePrev();
},
onNextClick: function onNextClick(e){
var swiper=this;
e.preventDefault();
if(swiper.isEnd&&!swiper.params.loop){ return; }
swiper.slideNext();
},
init: function init(){
var swiper=this;
var params=swiper.params.navigation;
if(!(params.nextEl||params.prevEl)){ return; }
var $nextEl;
var $prevEl;
if(params.nextEl){
$nextEl=$(params.nextEl);
if(swiper.params.uniqueNavElements
&& typeof params.nextEl==='string'
&& $nextEl.length > 1
&& swiper.$el.find(params.nextEl).length===1
){
$nextEl=swiper.$el.find(params.nextEl);
}}
if(params.prevEl){
$prevEl=$(params.prevEl);
if(swiper.params.uniqueNavElements
&& typeof params.prevEl==='string'
&& $prevEl.length > 1
&& swiper.$el.find(params.prevEl).length===1
){
$prevEl=swiper.$el.find(params.prevEl);
}}
if($nextEl&&$nextEl.length > 0){
$nextEl.on('click', swiper.navigation.onNextClick);
}
if($prevEl&&$prevEl.length > 0){
$prevEl.on('click', swiper.navigation.onPrevClick);
}
Utils.extend(swiper.navigation, {
$nextEl: $nextEl,
nextEl: $nextEl&&$nextEl[0],
$prevEl: $prevEl,
prevEl: $prevEl&&$prevEl[0],
});
},
destroy: function destroy(){
var swiper=this;
var ref=swiper.navigation;
var $nextEl=ref.$nextEl;
var $prevEl=ref.$prevEl;
if($nextEl&&$nextEl.length){
$nextEl.off('click', swiper.navigation.onNextClick);
$nextEl.removeClass(swiper.params.navigation.disabledClass);
}
if($prevEl&&$prevEl.length){
$prevEl.off('click', swiper.navigation.onPrevClick);
$prevEl.removeClass(swiper.params.navigation.disabledClass);
}},
};
var Navigation$1={
name: 'navigation',
params: {
navigation: {
nextEl: null,
prevEl: null,
hideOnClick: false,
disabledClass: 'swiper-button-disabled',
hiddenClass: 'swiper-button-hidden',
lockClass: 'swiper-button-lock',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
navigation: {
init: Navigation.init.bind(swiper),
update: Navigation.update.bind(swiper),
destroy: Navigation.destroy.bind(swiper),
onNextClick: Navigation.onNextClick.bind(swiper),
onPrevClick: Navigation.onPrevClick.bind(swiper),
},
});
},
on: {
init: function init(){
var swiper=this;
swiper.navigation.init();
swiper.navigation.update();
},
toEdge: function toEdge(){
var swiper=this;
swiper.navigation.update();
},
fromEdge: function fromEdge(){
var swiper=this;
swiper.navigation.update();
},
destroy: function destroy(){
var swiper=this;
swiper.navigation.destroy();
},
click: function click(e){
var swiper=this;
var ref=swiper.navigation;
var $nextEl=ref.$nextEl;
var $prevEl=ref.$prevEl;
if(swiper.params.navigation.hideOnClick
&& !$(e.target).is($prevEl)
&& !$(e.target).is($nextEl)
){
var isHidden;
if($nextEl){
isHidden=$nextEl.hasClass(swiper.params.navigation.hiddenClass);
}else if($prevEl){
isHidden=$prevEl.hasClass(swiper.params.navigation.hiddenClass);
}
if(isHidden===true){
swiper.emit('navigationShow', swiper);
}else{
swiper.emit('navigationHide', swiper);
}
if($nextEl){
$nextEl.toggleClass(swiper.params.navigation.hiddenClass);
}
if($prevEl){
$prevEl.toggleClass(swiper.params.navigation.hiddenClass);
}}
},
},
};
var Pagination={
update: function update(){
var swiper=this;
var rtl=swiper.rtl;
var params=swiper.params.pagination;
if(!params.el||!swiper.pagination.el||!swiper.pagination.$el||swiper.pagination.$el.length===0){ return; }
var slidesLength=swiper.virtual&&swiper.params.virtual.enabled ? swiper.virtual.slides.length:swiper.slides.length;
var $el=swiper.pagination.$el;
var current;
var total=swiper.params.loop ? Math.ceil((slidesLength - (swiper.loopedSlides * 2)) / swiper.params.slidesPerGroup):swiper.snapGrid.length;
if(swiper.params.loop){
current=Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);
if(current > slidesLength - 1 - (swiper.loopedSlides * 2)){
current -=(slidesLength - (swiper.loopedSlides * 2));
}
if(current > total - 1){ current -=total; }
if(current < 0&&swiper.params.paginationType!=='bullets'){ current=total + current; }}else if(typeof swiper.snapIndex!=='undefined'){
current=swiper.snapIndex;
}else{
current=swiper.activeIndex||0;
}
if(params.type==='bullets'&&swiper.pagination.bullets&&swiper.pagination.bullets.length > 0){
var bullets=swiper.pagination.bullets;
var firstIndex;
var lastIndex;
var midIndex;
if(params.dynamicBullets){
swiper.pagination.bulletSize=bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth':'outerHeight'](true);
$el.css(swiper.isHorizontal() ? 'width':'height', ((swiper.pagination.bulletSize * (params.dynamicMainBullets + 4)) + "px"));
if(params.dynamicMainBullets > 1&&swiper.previousIndex!==undefined){
swiper.pagination.dynamicBulletIndex +=(current - swiper.previousIndex);
if(swiper.pagination.dynamicBulletIndex > (params.dynamicMainBullets - 1)){
swiper.pagination.dynamicBulletIndex=params.dynamicMainBullets - 1;
}else if(swiper.pagination.dynamicBulletIndex < 0){
swiper.pagination.dynamicBulletIndex=0;
}}
firstIndex=current - swiper.pagination.dynamicBulletIndex;
lastIndex=firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);
midIndex=(lastIndex + firstIndex) / 2;
}
bullets.removeClass(((params.bulletActiveClass) + " " + (params.bulletActiveClass) + "-next " + (params.bulletActiveClass) + "-next-next " + (params.bulletActiveClass) + "-prev " + (params.bulletActiveClass) + "-prev-prev " + (params.bulletActiveClass) + "-main"));
if($el.length > 1){
bullets.each(function (index, bullet){
var $bullet=$(bullet);
var bulletIndex=$bullet.index();
if(bulletIndex===current){
$bullet.addClass(params.bulletActiveClass);
}
if(params.dynamicBullets){
if(bulletIndex >=firstIndex&&bulletIndex <=lastIndex){
$bullet.addClass(((params.bulletActiveClass) + "-main"));
}
if(bulletIndex===firstIndex){
$bullet
.prev()
.addClass(((params.bulletActiveClass) + "-prev"))
.prev()
.addClass(((params.bulletActiveClass) + "-prev-prev"));
}
if(bulletIndex===lastIndex){
$bullet
.next()
.addClass(((params.bulletActiveClass) + "-next"))
.next()
.addClass(((params.bulletActiveClass) + "-next-next"));
}}
});
}else{
var $bullet=bullets.eq(current);
var bulletIndex=$bullet.index();
$bullet.addClass(params.bulletActiveClass);
if(params.dynamicBullets){
var $firstDisplayedBullet=bullets.eq(firstIndex);
var $lastDisplayedBullet=bullets.eq(lastIndex);
for (var i=firstIndex; i <=lastIndex; i +=1){
bullets.eq(i).addClass(((params.bulletActiveClass) + "-main"));
}
if(swiper.params.loop){
if(bulletIndex >=bullets.length - params.dynamicMainBullets){
for (var i$1=params.dynamicMainBullets; i$1 >=0; i$1 -=1){
bullets.eq(bullets.length - i$1).addClass(((params.bulletActiveClass) + "-main"));
}
bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(((params.bulletActiveClass) + "-prev"));
}else{
$firstDisplayedBullet
.prev()
.addClass(((params.bulletActiveClass) + "-prev"))
.prev()
.addClass(((params.bulletActiveClass) + "-prev-prev"));
$lastDisplayedBullet
.next()
.addClass(((params.bulletActiveClass) + "-next"))
.next()
.addClass(((params.bulletActiveClass) + "-next-next"));
}}else{
$firstDisplayedBullet
.prev()
.addClass(((params.bulletActiveClass) + "-prev"))
.prev()
.addClass(((params.bulletActiveClass) + "-prev-prev"));
$lastDisplayedBullet
.next()
.addClass(((params.bulletActiveClass) + "-next"))
.next()
.addClass(((params.bulletActiveClass) + "-next-next"));
}}
}
if(params.dynamicBullets){
var dynamicBulletsLength=Math.min(bullets.length, params.dynamicMainBullets + 4);
var bulletsOffset=(((swiper.pagination.bulletSize * dynamicBulletsLength) - (swiper.pagination.bulletSize)) / 2) - (midIndex * swiper.pagination.bulletSize);
var offsetProp=rtl ? 'right':'left';
bullets.css(swiper.isHorizontal() ? offsetProp:'top', (bulletsOffset + "px"));
}}
if(params.type==='fraction'){
$el.find(("." + (params.currentClass))).text(params.formatFractionCurrent(current + 1));
$el.find(("." + (params.totalClass))).text(params.formatFractionTotal(total));
}
if(params.type==='progressbar'){
var progressbarDirection;
if(params.progressbarOpposite){
progressbarDirection=swiper.isHorizontal() ? 'vertical':'horizontal';
}else{
progressbarDirection=swiper.isHorizontal() ? 'horizontal':'vertical';
}
var scale=(current + 1) / total;
var scaleX=1;
var scaleY=1;
if(progressbarDirection==='horizontal'){
scaleX=scale;
}else{
scaleY=scale;
}
$el.find(("." + (params.progressbarFillClass))).transform(("translate3d(0,0,0) scaleX(" + scaleX + ") scaleY(" + scaleY + ")")).transition(swiper.params.speed);
}
if(params.type==='custom'&&params.renderCustom){
$el.html(params.renderCustom(swiper, current + 1, total));
swiper.emit('paginationRender', swiper, $el[0]);
}else{
swiper.emit('paginationUpdate', swiper, $el[0]);
}
$el[swiper.params.watchOverflow&&swiper.isLocked ? 'addClass':'removeClass'](params.lockClass);
},
render: function render(){
var swiper=this;
var params=swiper.params.pagination;
if(!params.el||!swiper.pagination.el||!swiper.pagination.$el||swiper.pagination.$el.length===0){ return; }
var slidesLength=swiper.virtual&&swiper.params.virtual.enabled ? swiper.virtual.slides.length:swiper.slides.length;
var $el=swiper.pagination.$el;
var paginationHTML='';
if(params.type==='bullets'){
var numberOfBullets=swiper.params.loop ? Math.ceil((slidesLength - (swiper.loopedSlides * 2)) / swiper.params.slidesPerGroup):swiper.snapGrid.length;
for (var i=0; i < numberOfBullets; i +=1){
if(params.renderBullet){
paginationHTML +=params.renderBullet.call(swiper, i, params.bulletClass);
}else{
paginationHTML +="<" + (params.bulletElement) + " class=\"" + (params.bulletClass) + "\"></" + (params.bulletElement) + ">";
}}
$el.html(paginationHTML);
swiper.pagination.bullets=$el.find(("." + (params.bulletClass)));
}
if(params.type==='fraction'){
if(params.renderFraction){
paginationHTML=params.renderFraction.call(swiper, params.currentClass, params.totalClass);
}else{
paginationHTML="<span class=\"" + (params.currentClass) + "\"></span>"
+ ' / '
+ "<span class=\"" + (params.totalClass) + "\"></span>";
}
$el.html(paginationHTML);
}
if(params.type==='progressbar'){
if(params.renderProgressbar){
paginationHTML=params.renderProgressbar.call(swiper, params.progressbarFillClass);
}else{
paginationHTML="<span class=\"" + (params.progressbarFillClass) + "\"></span>";
}
$el.html(paginationHTML);
}
if(params.type!=='custom'){
swiper.emit('paginationRender', swiper.pagination.$el[0]);
}},
init: function init(){
var swiper=this;
var params=swiper.params.pagination;
if(!params.el){ return; }
var $el=$(params.el);
if($el.length===0){ return; }
if(swiper.params.uniqueNavElements
&& typeof params.el==='string'
&& $el.length > 1
&& swiper.$el.find(params.el).length===1
){
$el=swiper.$el.find(params.el);
}
if(params.type==='bullets'&&params.clickable){
$el.addClass(params.clickableClass);
}
$el.addClass(params.modifierClass + params.type);
if(params.type==='bullets'&&params.dynamicBullets){
$el.addClass(("" + (params.modifierClass) + (params.type) + "-dynamic"));
swiper.pagination.dynamicBulletIndex=0;
if(params.dynamicMainBullets < 1){
params.dynamicMainBullets=1;
}}
if(params.type==='progressbar'&&params.progressbarOpposite){
$el.addClass(params.progressbarOppositeClass);
}
if(params.clickable){
$el.on('click', ("." + (params.bulletClass)), function onClick(e){
e.preventDefault();
var index=$(this).index() * swiper.params.slidesPerGroup;
if(swiper.params.loop){ index +=swiper.loopedSlides; }
swiper.slideTo(index);
});
}
Utils.extend(swiper.pagination, {
$el: $el,
el: $el[0],
});
},
destroy: function destroy(){
var swiper=this;
var params=swiper.params.pagination;
if(!params.el||!swiper.pagination.el||!swiper.pagination.$el||swiper.pagination.$el.length===0){ return; }
var $el=swiper.pagination.$el;
$el.removeClass(params.hiddenClass);
$el.removeClass(params.modifierClass + params.type);
if(swiper.pagination.bullets){ swiper.pagination.bullets.removeClass(params.bulletActiveClass); }
if(params.clickable){
$el.off('click', ("." + (params.bulletClass)));
}},
};
var Pagination$1={
name: 'pagination',
params: {
pagination: {
el: null,
bulletElement: 'span',
clickable: false,
hideOnClick: false,
renderBullet: null,
renderProgressbar: null,
renderFraction: null,
renderCustom: null,
progressbarOpposite: false,
type: 'bullets', // 'bullets' or 'progressbar' or 'fraction' or 'custom'
dynamicBullets: false,
dynamicMainBullets: 1,
formatFractionCurrent: function (number){ return number; },
formatFractionTotal: function (number){ return number; },
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 create(){
var swiper=this;
Utils.extend(swiper, {
pagination: {
init: Pagination.init.bind(swiper),
render: Pagination.render.bind(swiper),
update: Pagination.update.bind(swiper),
destroy: Pagination.destroy.bind(swiper),
dynamicBulletIndex: 0,
},
});
},
on: {
init: function init(){
var swiper=this;
swiper.pagination.init();
swiper.pagination.render();
swiper.pagination.update();
},
activeIndexChange: function activeIndexChange(){
var swiper=this;
if(swiper.params.loop){
swiper.pagination.update();
}else if(typeof swiper.snapIndex==='undefined'){
swiper.pagination.update();
}},
snapIndexChange: function snapIndexChange(){
var swiper=this;
if(!swiper.params.loop){
swiper.pagination.update();
}},
slidesLengthChange: function slidesLengthChange(){
var swiper=this;
if(swiper.params.loop){
swiper.pagination.render();
swiper.pagination.update();
}},
snapGridLengthChange: function snapGridLengthChange(){
var swiper=this;
if(!swiper.params.loop){
swiper.pagination.render();
swiper.pagination.update();
}},
destroy: function destroy(){
var swiper=this;
swiper.pagination.destroy();
},
click: function click(e){
var swiper=this;
if(swiper.params.pagination.el
&& swiper.params.pagination.hideOnClick
&& swiper.pagination.$el.length > 0
&& !$(e.target).hasClass(swiper.params.pagination.bulletClass)
){
var isHidden=swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);
if(isHidden===true){
swiper.emit('paginationShow', swiper);
}else{
swiper.emit('paginationHide', swiper);
}
swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);
}},
},
};
var Scrollbar={
setTranslate: function setTranslate(){
var swiper=this;
if(!swiper.params.scrollbar.el||!swiper.scrollbar.el){ return; }
var scrollbar=swiper.scrollbar;
var rtl=swiper.rtlTranslate;
var progress=swiper.progress;
var dragSize=scrollbar.dragSize;
var trackSize=scrollbar.trackSize;
var $dragEl=scrollbar.$dragEl;
var $el=scrollbar.$el;
var params=swiper.params.scrollbar;
var newSize=dragSize;
var newPos=(trackSize - dragSize) * progress;
if(rtl){
newPos=-newPos;
if(newPos > 0){
newSize=dragSize - newPos;
newPos=0;
}else if(-newPos + dragSize > trackSize){
newSize=trackSize + newPos;
}}else if(newPos < 0){
newSize=dragSize + newPos;
newPos=0;
}else if(newPos + dragSize > trackSize){
newSize=trackSize - newPos;
}
if(swiper.isHorizontal()){
$dragEl.transform(("translate3d(" + newPos + "px, 0, 0)"));
$dragEl[0].style.width=newSize + "px";
}else{
$dragEl.transform(("translate3d(0px, " + newPos + "px, 0)"));
$dragEl[0].style.height=newSize + "px";
}
if(params.hide){
clearTimeout(swiper.scrollbar.timeout);
$el[0].style.opacity=1;
swiper.scrollbar.timeout=setTimeout(function (){
$el[0].style.opacity=0;
$el.transition(400);
}, 1000);
}},
setTransition: function setTransition(duration){
var swiper=this;
if(!swiper.params.scrollbar.el||!swiper.scrollbar.el){ return; }
swiper.scrollbar.$dragEl.transition(duration);
},
updateSize: function updateSize(){
var swiper=this;
if(!swiper.params.scrollbar.el||!swiper.scrollbar.el){ return; }
var scrollbar=swiper.scrollbar;
var $dragEl=scrollbar.$dragEl;
var $el=scrollbar.$el;
$dragEl[0].style.width='';
$dragEl[0].style.height='';
var trackSize=swiper.isHorizontal() ? $el[0].offsetWidth:$el[0].offsetHeight;
var divider=swiper.size / swiper.virtualSize;
var moveDivider=divider * (trackSize / swiper.size);
var dragSize;
if(swiper.params.scrollbar.dragSize==='auto'){
dragSize=trackSize * divider;
}else{
dragSize=parseInt(swiper.params.scrollbar.dragSize, 10);
}
if(swiper.isHorizontal()){
$dragEl[0].style.width=dragSize + "px";
}else{
$dragEl[0].style.height=dragSize + "px";
}
if(divider >=1){
$el[0].style.display='none';
}else{
$el[0].style.display='';
}
if(swiper.params.scrollbar.hide){
$el[0].style.opacity=0;
}
Utils.extend(scrollbar, {
trackSize: trackSize,
divider: divider,
moveDivider: moveDivider,
dragSize: dragSize,
});
scrollbar.$el[swiper.params.watchOverflow&&swiper.isLocked ? 'addClass':'removeClass'](swiper.params.scrollbar.lockClass);
},
getPointerPosition: function getPointerPosition(e){
var swiper=this;
if(swiper.isHorizontal()){
return ((e.type==='touchstart'||e.type==='touchmove') ? e.targetTouches[0].clientX:e.clientX);
}
return ((e.type==='touchstart'||e.type==='touchmove') ? e.targetTouches[0].clientY:e.clientY);
},
setDragPosition: function setDragPosition(e){
var swiper=this;
var scrollbar=swiper.scrollbar;
var rtl=swiper.rtlTranslate;
var $el=scrollbar.$el;
var dragSize=scrollbar.dragSize;
var trackSize=scrollbar.trackSize;
var dragStartPos=scrollbar.dragStartPos;
var positionRatio;
positionRatio=((scrollbar.getPointerPosition(e)) - $el.offset()[swiper.isHorizontal() ? 'left':'top']
- (dragStartPos!==null ? dragStartPos:dragSize / 2)) / (trackSize - dragSize);
positionRatio=Math.max(Math.min(positionRatio, 1), 0);
if(rtl){
positionRatio=1 - positionRatio;
}
var position=swiper.minTranslate() + ((swiper.maxTranslate() - swiper.minTranslate()) * positionRatio);
swiper.updateProgress(position);
swiper.setTranslate(position);
swiper.updateActiveIndex();
swiper.updateSlidesClasses();
},
onDragStart: function onDragStart(e){
var swiper=this;
var params=swiper.params.scrollbar;
var scrollbar=swiper.scrollbar;
var $wrapperEl=swiper.$wrapperEl;
var $el=scrollbar.$el;
var $dragEl=scrollbar.$dragEl;
swiper.scrollbar.isTouched=true;
swiper.scrollbar.dragStartPos=(e.target===$dragEl[0]||e.target===$dragEl)
? scrollbar.getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left':'top']:null;
e.preventDefault();
e.stopPropagation();
$wrapperEl.transition(100);
$dragEl.transition(100);
scrollbar.setDragPosition(e);
clearTimeout(swiper.scrollbar.dragTimeout);
$el.transition(0);
if(params.hide){
$el.css('opacity', 1);
}
if(swiper.params.cssMode){
swiper.$wrapperEl.css('scroll-snap-type', 'none');
}
swiper.emit('scrollbarDragStart', e);
},
onDragMove: function onDragMove(e){
var swiper=this;
var scrollbar=swiper.scrollbar;
var $wrapperEl=swiper.$wrapperEl;
var $el=scrollbar.$el;
var $dragEl=scrollbar.$dragEl;
if(!swiper.scrollbar.isTouched){ return; }
if(e.preventDefault){ e.preventDefault(); }else{ e.returnValue=false; }
scrollbar.setDragPosition(e);
$wrapperEl.transition(0);
$el.transition(0);
$dragEl.transition(0);
swiper.emit('scrollbarDragMove', e);
},
onDragEnd: function onDragEnd(e){
var swiper=this;
var params=swiper.params.scrollbar;
var scrollbar=swiper.scrollbar;
var $wrapperEl=swiper.$wrapperEl;
var $el=scrollbar.$el;
if(!swiper.scrollbar.isTouched){ return; }
swiper.scrollbar.isTouched=false;
if(swiper.params.cssMode){
swiper.$wrapperEl.css('scroll-snap-type', '');
$wrapperEl.transition('');
}
if(params.hide){
clearTimeout(swiper.scrollbar.dragTimeout);
swiper.scrollbar.dragTimeout=Utils.nextTick(function (){
$el.css('opacity', 0);
$el.transition(400);
}, 1000);
}
swiper.emit('scrollbarDragEnd', e);
if(params.snapOnRelease){
swiper.slideToClosest();
}},
enableDraggable: function enableDraggable(){
var swiper=this;
if(!swiper.params.scrollbar.el){ return; }
var scrollbar=swiper.scrollbar;
var touchEventsTouch=swiper.touchEventsTouch;
var touchEventsDesktop=swiper.touchEventsDesktop;
var params=swiper.params;
var $el=scrollbar.$el;
var target=$el[0];
var activeListener=Support.passiveListener&&params.passiveListeners ? { passive: false, capture: false }:false;
var passiveListener=Support.passiveListener&&params.passiveListeners ? { passive: true, capture: false }:false;
if(!Support.touch){
target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);
doc.addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);
doc.addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);
}else{
target.addEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);
target.addEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);
target.addEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);
}},
disableDraggable: function disableDraggable(){
var swiper=this;
if(!swiper.params.scrollbar.el){ return; }
var scrollbar=swiper.scrollbar;
var touchEventsTouch=swiper.touchEventsTouch;
var touchEventsDesktop=swiper.touchEventsDesktop;
var params=swiper.params;
var $el=scrollbar.$el;
var target=$el[0];
var activeListener=Support.passiveListener&&params.passiveListeners ? { passive: false, capture: false }:false;
var passiveListener=Support.passiveListener&&params.passiveListeners ? { passive: true, capture: false }:false;
if(!Support.touch){
target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);
doc.removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);
doc.removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);
}else{
target.removeEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);
target.removeEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);
target.removeEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);
}},
init: function init(){
var swiper=this;
if(!swiper.params.scrollbar.el){ return; }
var scrollbar=swiper.scrollbar;
var $swiperEl=swiper.$el;
var params=swiper.params.scrollbar;
var $el=$(params.el);
if(swiper.params.uniqueNavElements&&typeof params.el==='string'&&$el.length > 1&&$swiperEl.find(params.el).length===1){
$el=$swiperEl.find(params.el);
}
var $dragEl=$el.find(("." + (swiper.params.scrollbar.dragClass)));
if($dragEl.length===0){
$dragEl=$(("<div class=\"" + (swiper.params.scrollbar.dragClass) + "\"></div>"));
$el.append($dragEl);
}
Utils.extend(scrollbar, {
$el: $el,
el: $el[0],
$dragEl: $dragEl,
dragEl: $dragEl[0],
});
if(params.draggable){
scrollbar.enableDraggable();
}},
destroy: function destroy(){
var swiper=this;
swiper.scrollbar.disableDraggable();
},
};
var Scrollbar$1={
name: 'scrollbar',
params: {
scrollbar: {
el: null,
dragSize: 'auto',
hide: false,
draggable: false,
snapOnRelease: true,
lockClass: 'swiper-scrollbar-lock',
dragClass: 'swiper-scrollbar-drag',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
scrollbar: {
init: Scrollbar.init.bind(swiper),
destroy: Scrollbar.destroy.bind(swiper),
updateSize: Scrollbar.updateSize.bind(swiper),
setTranslate: Scrollbar.setTranslate.bind(swiper),
setTransition: Scrollbar.setTransition.bind(swiper),
enableDraggable: Scrollbar.enableDraggable.bind(swiper),
disableDraggable: Scrollbar.disableDraggable.bind(swiper),
setDragPosition: Scrollbar.setDragPosition.bind(swiper),
getPointerPosition: Scrollbar.getPointerPosition.bind(swiper),
onDragStart: Scrollbar.onDragStart.bind(swiper),
onDragMove: Scrollbar.onDragMove.bind(swiper),
onDragEnd: Scrollbar.onDragEnd.bind(swiper),
isTouched: false,
timeout: null,
dragTimeout: null,
},
});
},
on: {
init: function init(){
var swiper=this;
swiper.scrollbar.init();
swiper.scrollbar.updateSize();
swiper.scrollbar.setTranslate();
},
update: function update(){
var swiper=this;
swiper.scrollbar.updateSize();
},
resize: function resize(){
var swiper=this;
swiper.scrollbar.updateSize();
},
observerUpdate: function observerUpdate(){
var swiper=this;
swiper.scrollbar.updateSize();
},
setTranslate: function setTranslate(){
var swiper=this;
swiper.scrollbar.setTranslate();
},
setTransition: function setTransition(duration){
var swiper=this;
swiper.scrollbar.setTransition(duration);
},
destroy: function destroy(){
var swiper=this;
swiper.scrollbar.destroy();
},
},
};
var Parallax={
setTransform: function setTransform(el, progress){
var swiper=this;
var rtl=swiper.rtl;
var $el=$(el);
var rtlFactor=rtl ? -1:1;
var p=$el.attr('data-swiper-parallax')||'0';
var x=$el.attr('data-swiper-parallax-x');
var y=$el.attr('data-swiper-parallax-y');
var scale=$el.attr('data-swiper-parallax-scale');
var opacity=$el.attr('data-swiper-parallax-opacity');
if(x||y){
x=x||'0';
y=y||'0';
}else if(swiper.isHorizontal()){
x=p;
y='0';
}else{
y=p;
x='0';
}
if((x).indexOf('%') >=0){
x=(parseInt(x, 10) * progress * rtlFactor) + "%";
}else{
x=(x * progress * rtlFactor) + "px";
}
if((y).indexOf('%') >=0){
y=(parseInt(y, 10) * progress) + "%";
}else{
y=(y * progress) + "px";
}
if(typeof opacity!=='undefined'&&opacity!==null){
var currentOpacity=opacity - ((opacity - 1) * (1 - Math.abs(progress)));
$el[0].style.opacity=currentOpacity;
}
if(typeof scale==='undefined'||scale===null){
$el.transform(("translate3d(" + x + ", " + y + ", 0px)"));
}else{
var currentScale=scale - ((scale - 1) * (1 - Math.abs(progress)));
$el.transform(("translate3d(" + x + ", " + y + ", 0px) scale(" + currentScale + ")"));
}},
setTranslate: function setTranslate(){
var swiper=this;
var $el=swiper.$el;
var slides=swiper.slides;
var progress=swiper.progress;
var snapGrid=swiper.snapGrid;
$el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]')
.each(function (index, el){
swiper.parallax.setTransform(el, progress);
});
slides.each(function (slideIndex, slideEl){
var slideProgress=slideEl.progress;
if(swiper.params.slidesPerGroup > 1&&swiper.params.slidesPerView!=='auto'){
slideProgress +=Math.ceil(slideIndex / 2) - (progress * (snapGrid.length - 1));
}
slideProgress=Math.min(Math.max(slideProgress, -1), 1);
$(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]')
.each(function (index, el){
swiper.parallax.setTransform(el, slideProgress);
});
});
},
setTransition: function setTransition(duration){
if(duration===void 0) duration=this.params.speed;
var swiper=this;
var $el=swiper.$el;
$el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]')
.each(function (index, parallaxEl){
var $parallaxEl=$(parallaxEl);
var parallaxDuration=parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10)||duration;
if(duration===0){ parallaxDuration=0; }
$parallaxEl.transition(parallaxDuration);
});
},
};
var Parallax$1={
name: 'parallax',
params: {
parallax: {
enabled: false,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
parallax: {
setTransform: Parallax.setTransform.bind(swiper),
setTranslate: Parallax.setTranslate.bind(swiper),
setTransition: Parallax.setTransition.bind(swiper),
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
if(!swiper.params.parallax.enabled){ return; }
swiper.params.watchSlidesProgress=true;
swiper.originalParams.watchSlidesProgress=true;
},
init: function init(){
var swiper=this;
if(!swiper.params.parallax.enabled){ return; }
swiper.parallax.setTranslate();
},
setTranslate: function setTranslate(){
var swiper=this;
if(!swiper.params.parallax.enabled){ return; }
swiper.parallax.setTranslate();
},
setTransition: function setTransition(duration){
var swiper=this;
if(!swiper.params.parallax.enabled){ return; }
swiper.parallax.setTransition(duration);
},
},
};
var Zoom={
getDistanceBetweenTouches: function getDistanceBetweenTouches(e){
if(e.targetTouches.length < 2){ return 1; }
var x1=e.targetTouches[0].pageX;
var y1=e.targetTouches[0].pageY;
var x2=e.targetTouches[1].pageX;
var y2=e.targetTouches[1].pageY;
var distance=Math.sqrt((Math.pow((x2 - x1), 2)) + (Math.pow((y2 - y1), 2)));
return distance;
},
onGestureStart: function onGestureStart(e){
var swiper=this;
var params=swiper.params.zoom;
var zoom=swiper.zoom;
var gesture=zoom.gesture;
zoom.fakeGestureTouched=false;
zoom.fakeGestureMoved=false;
if(!Support.gestures){
if(e.type!=='touchstart'||(e.type==='touchstart'&&e.targetTouches.length < 2)){
return;
}
zoom.fakeGestureTouched=true;
gesture.scaleStart=Zoom.getDistanceBetweenTouches(e);
}
if(!gesture.$slideEl||!gesture.$slideEl.length){
gesture.$slideEl=$(e.target).closest(("." + (swiper.params.slideClass)));
if(gesture.$slideEl.length===0){ gesture.$slideEl=swiper.slides.eq(swiper.activeIndex); }
gesture.$imageEl=gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');
gesture.$imageWrapEl=gesture.$imageEl.parent(("." + (params.containerClass)));
gesture.maxRatio=gesture.$imageWrapEl.attr('data-swiper-zoom')||params.maxRatio;
if(gesture.$imageWrapEl.length===0){
gesture.$imageEl=undefined;
return;
}}
gesture.$imageEl.transition(0);
swiper.zoom.isScaling=true;
},
onGestureChange: function onGestureChange(e){
var swiper=this;
var params=swiper.params.zoom;
var zoom=swiper.zoom;
var gesture=zoom.gesture;
if(!Support.gestures){
if(e.type!=='touchmove'||(e.type==='touchmove'&&e.targetTouches.length < 2)){
return;
}
zoom.fakeGestureMoved=true;
gesture.scaleMove=Zoom.getDistanceBetweenTouches(e);
}
if(!gesture.$imageEl||gesture.$imageEl.length===0){ return; }
if(Support.gestures){
zoom.scale=e.scale * zoom.currentScale;
}else{
zoom.scale=(gesture.scaleMove / gesture.scaleStart) * zoom.currentScale;
}
if(zoom.scale > gesture.maxRatio){
zoom.scale=(gesture.maxRatio - 1) + (Math.pow(((zoom.scale - gesture.maxRatio) + 1), 0.5));
}
if(zoom.scale < params.minRatio){
zoom.scale=(params.minRatio + 1) - (Math.pow(((params.minRatio - zoom.scale) + 1), 0.5));
}
gesture.$imageEl.transform(("translate3d(0,0,0) scale(" + (zoom.scale) + ")"));
},
onGestureEnd: function onGestureEnd(e){
var swiper=this;
var params=swiper.params.zoom;
var zoom=swiper.zoom;
var gesture=zoom.gesture;
if(!Support.gestures){
if(!zoom.fakeGestureTouched||!zoom.fakeGestureMoved){
return;
}
if(e.type!=='touchend'||(e.type==='touchend'&&e.changedTouches.length < 2&&!Device.android)){
return;
}
zoom.fakeGestureTouched=false;
zoom.fakeGestureMoved=false;
}
if(!gesture.$imageEl||gesture.$imageEl.length===0){ return; }
zoom.scale=Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);
gesture.$imageEl.transition(swiper.params.speed).transform(("translate3d(0,0,0) scale(" + (zoom.scale) + ")"));
zoom.currentScale=zoom.scale;
zoom.isScaling=false;
if(zoom.scale===1){ gesture.$slideEl=undefined; }},
onTouchStart: function onTouchStart(e){
var swiper=this;
var zoom=swiper.zoom;
var gesture=zoom.gesture;
var image=zoom.image;
if(!gesture.$imageEl||gesture.$imageEl.length===0){ return; }
if(image.isTouched){ return; }
if(Device.android){ e.preventDefault(); }
image.isTouched=true;
image.touchesStart.x=e.type==='touchstart' ? e.targetTouches[0].pageX:e.pageX;
image.touchesStart.y=e.type==='touchstart' ? e.targetTouches[0].pageY:e.pageY;
},
onTouchMove: function onTouchMove(e){
var swiper=this;
var zoom=swiper.zoom;
var gesture=zoom.gesture;
var image=zoom.image;
var velocity=zoom.velocity;
if(!gesture.$imageEl||gesture.$imageEl.length===0){ return; }
swiper.allowClick=false;
if(!image.isTouched||!gesture.$slideEl){ return; }
if(!image.isMoved){
image.width=gesture.$imageEl[0].offsetWidth;
image.height=gesture.$imageEl[0].offsetHeight;
image.startX=Utils.getTranslate(gesture.$imageWrapEl[0], 'x')||0;
image.startY=Utils.getTranslate(gesture.$imageWrapEl[0], 'y')||0;
gesture.slideWidth=gesture.$slideEl[0].offsetWidth;
gesture.slideHeight=gesture.$slideEl[0].offsetHeight;
gesture.$imageWrapEl.transition(0);
if(swiper.rtl){
image.startX=-image.startX;
image.startY=-image.startY;
}}
var scaledWidth=image.width * zoom.scale;
var scaledHeight=image.height * zoom.scale;
if(scaledWidth < gesture.slideWidth&&scaledHeight < gesture.slideHeight){ return; }
image.minX=Math.min(((gesture.slideWidth / 2) - (scaledWidth / 2)), 0);
image.maxX=-image.minX;
image.minY=Math.min(((gesture.slideHeight / 2) - (scaledHeight / 2)), 0);
image.maxY=-image.minY;
image.touchesCurrent.x=e.type==='touchmove' ? e.targetTouches[0].pageX:e.pageX;
image.touchesCurrent.y=e.type==='touchmove' ? e.targetTouches[0].pageY:e.pageY;
if(!image.isMoved&&!zoom.isScaling){
if(swiper.isHorizontal()
&& (
(Math.floor(image.minX)===Math.floor(image.startX)&&image.touchesCurrent.x < image.touchesStart.x)
|| (Math.floor(image.maxX)===Math.floor(image.startX)&&image.touchesCurrent.x > image.touchesStart.x)
)
){
image.isTouched=false;
return;
} if(!swiper.isHorizontal()
&& (
(Math.floor(image.minY)===Math.floor(image.startY)&&image.touchesCurrent.y < image.touchesStart.y)
|| (Math.floor(image.maxY)===Math.floor(image.startY)&&image.touchesCurrent.y > image.touchesStart.y)
)
){
image.isTouched=false;
return;
}}
e.preventDefault();
e.stopPropagation();
image.isMoved=true;
image.currentX=(image.touchesCurrent.x - image.touchesStart.x) + image.startX;
image.currentY=(image.touchesCurrent.y - image.touchesStart.y) + image.startY;
if(image.currentX < image.minX){
image.currentX=(image.minX + 1) - (Math.pow(((image.minX - image.currentX) + 1), 0.8));
}
if(image.currentX > image.maxX){
image.currentX=(image.maxX - 1) + (Math.pow(((image.currentX - image.maxX) + 1), 0.8));
}
if(image.currentY < image.minY){
image.currentY=(image.minY + 1) - (Math.pow(((image.minY - image.currentY) + 1), 0.8));
}
if(image.currentY > image.maxY){
image.currentY=(image.maxY - 1) + (Math.pow(((image.currentY - image.maxY) + 1), 0.8));
}
if(!velocity.prevPositionX){ velocity.prevPositionX=image.touchesCurrent.x; }
if(!velocity.prevPositionY){ velocity.prevPositionY=image.touchesCurrent.y; }
if(!velocity.prevTime){ velocity.prevTime=Date.now(); }
velocity.x=(image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;
velocity.y=(image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;
if(Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2){ velocity.x=0; }
if(Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2){ velocity.y=0; }
velocity.prevPositionX=image.touchesCurrent.x;
velocity.prevPositionY=image.touchesCurrent.y;
velocity.prevTime=Date.now();
gesture.$imageWrapEl.transform(("translate3d(" + (image.currentX) + "px, " + (image.currentY) + "px,0)"));
},
onTouchEnd: function onTouchEnd(){
var swiper=this;
var zoom=swiper.zoom;
var gesture=zoom.gesture;
var image=zoom.image;
var velocity=zoom.velocity;
if(!gesture.$imageEl||gesture.$imageEl.length===0){ return; }
if(!image.isTouched||!image.isMoved){
image.isTouched=false;
image.isMoved=false;
return;
}
image.isTouched=false;
image.isMoved=false;
var momentumDurationX=300;
var momentumDurationY=300;
var momentumDistanceX=velocity.x * momentumDurationX;
var newPositionX=image.currentX + momentumDistanceX;
var momentumDistanceY=velocity.y * momentumDurationY;
var newPositionY=image.currentY + momentumDistanceY;
if(velocity.x!==0){ momentumDurationX=Math.abs((newPositionX - image.currentX) / velocity.x); }
if(velocity.y!==0){ momentumDurationY=Math.abs((newPositionY - image.currentY) / velocity.y); }
var momentumDuration=Math.max(momentumDurationX, momentumDurationY);
image.currentX=newPositionX;
image.currentY=newPositionY;
var scaledWidth=image.width * zoom.scale;
var scaledHeight=image.height * zoom.scale;
image.minX=Math.min(((gesture.slideWidth / 2) - (scaledWidth / 2)), 0);
image.maxX=-image.minX;
image.minY=Math.min(((gesture.slideHeight / 2) - (scaledHeight / 2)), 0);
image.maxY=-image.minY;
image.currentX=Math.max(Math.min(image.currentX, image.maxX), image.minX);
image.currentY=Math.max(Math.min(image.currentY, image.maxY), image.minY);
gesture.$imageWrapEl.transition(momentumDuration).transform(("translate3d(" + (image.currentX) + "px, " + (image.currentY) + "px,0)"));
},
onTransitionEnd: function onTransitionEnd(){
var swiper=this;
var zoom=swiper.zoom;
var gesture=zoom.gesture;
if(gesture.$slideEl&&swiper.previousIndex!==swiper.activeIndex){
gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');
gesture.$imageWrapEl.transform('translate3d(0,0,0)');
zoom.scale=1;
zoom.currentScale=1;
gesture.$slideEl=undefined;
gesture.$imageEl=undefined;
gesture.$imageWrapEl=undefined;
}},
toggle: function toggle(e){
var swiper=this;
var zoom=swiper.zoom;
if(zoom.scale&&zoom.scale!==1){
zoom.out();
}else{
zoom.in(e);
}},
in: function in$1(e){
var swiper=this;
var zoom=swiper.zoom;
var params=swiper.params.zoom;
var gesture=zoom.gesture;
var image=zoom.image;
if(!gesture.$slideEl){
gesture.$slideEl=swiper.slides.eq(swiper.activeIndex);
gesture.$imageEl=gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');
gesture.$imageWrapEl=gesture.$imageEl.parent(("." + (params.containerClass)));
}
if(!gesture.$imageEl||gesture.$imageEl.length===0){ return; }
gesture.$slideEl.addClass(("" + (params.zoomedSlideClass)));
var touchX;
var touchY;
var offsetX;
var offsetY;
var diffX;
var diffY;
var translateX;
var translateY;
var imageWidth;
var imageHeight;
var scaledWidth;
var scaledHeight;
var translateMinX;
var translateMinY;
var translateMaxX;
var translateMaxY;
var slideWidth;
var slideHeight;
if(typeof image.touchesStart.x==='undefined'&&e){
touchX=e.type==='touchend' ? e.changedTouches[0].pageX:e.pageX;
touchY=e.type==='touchend' ? e.changedTouches[0].pageY:e.pageY;
}else{
touchX=image.touchesStart.x;
touchY=image.touchesStart.y;
}
zoom.scale=gesture.$imageWrapEl.attr('data-swiper-zoom')||params.maxRatio;
zoom.currentScale=gesture.$imageWrapEl.attr('data-swiper-zoom')||params.maxRatio;
if(e){
slideWidth=gesture.$slideEl[0].offsetWidth;
slideHeight=gesture.$slideEl[0].offsetHeight;
offsetX=gesture.$slideEl.offset().left;
offsetY=gesture.$slideEl.offset().top;
diffX=(offsetX + (slideWidth / 2)) - touchX;
diffY=(offsetY + (slideHeight / 2)) - touchY;
imageWidth=gesture.$imageEl[0].offsetWidth;
imageHeight=gesture.$imageEl[0].offsetHeight;
scaledWidth=imageWidth * zoom.scale;
scaledHeight=imageHeight * zoom.scale;
translateMinX=Math.min(((slideWidth / 2) - (scaledWidth / 2)), 0);
translateMinY=Math.min(((slideHeight / 2) - (scaledHeight / 2)), 0);
translateMaxX=-translateMinX;
translateMaxY=-translateMinY;
translateX=diffX * zoom.scale;
translateY=diffY * zoom.scale;
if(translateX < translateMinX){
translateX=translateMinX;
}
if(translateX > translateMaxX){
translateX=translateMaxX;
}
if(translateY < translateMinY){
translateY=translateMinY;
}
if(translateY > translateMaxY){
translateY=translateMaxY;
}}else{
translateX=0;
translateY=0;
}
gesture.$imageWrapEl.transition(300).transform(("translate3d(" + translateX + "px, " + translateY + "px,0)"));
gesture.$imageEl.transition(300).transform(("translate3d(0,0,0) scale(" + (zoom.scale) + ")"));
},
out: function out(){
var swiper=this;
var zoom=swiper.zoom;
var params=swiper.params.zoom;
var gesture=zoom.gesture;
if(!gesture.$slideEl){
gesture.$slideEl=swiper.slides.eq(swiper.activeIndex);
gesture.$imageEl=gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');
gesture.$imageWrapEl=gesture.$imageEl.parent(("." + (params.containerClass)));
}
if(!gesture.$imageEl||gesture.$imageEl.length===0){ return; }
zoom.scale=1;
zoom.currentScale=1;
gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');
gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');
gesture.$slideEl.removeClass(("" + (params.zoomedSlideClass)));
gesture.$slideEl=undefined;
},
enable: function enable(){
var swiper=this;
var zoom=swiper.zoom;
if(zoom.enabled){ return; }
zoom.enabled=true;
var passiveListener=swiper.touchEvents.start==='touchstart'&&Support.passiveListener&&swiper.params.passiveListeners ? { passive: true, capture: false }:false;
var activeListenerWithCapture=Support.passiveListener ? { passive: false, capture: true }:true;
var slideSelector="." + (swiper.params.slideClass);
if(Support.gestures){
swiper.$wrapperEl.on('gesturestart', slideSelector, zoom.onGestureStart, passiveListener);
swiper.$wrapperEl.on('gesturechange', slideSelector, zoom.onGestureChange, passiveListener);
swiper.$wrapperEl.on('gestureend', slideSelector, zoom.onGestureEnd, passiveListener);
}else if(swiper.touchEvents.start==='touchstart'){
swiper.$wrapperEl.on(swiper.touchEvents.start, slideSelector, zoom.onGestureStart, passiveListener);
swiper.$wrapperEl.on(swiper.touchEvents.move, slideSelector, zoom.onGestureChange, activeListenerWithCapture);
swiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, zoom.onGestureEnd, passiveListener);
if(swiper.touchEvents.cancel){
swiper.$wrapperEl.on(swiper.touchEvents.cancel, slideSelector, zoom.onGestureEnd, passiveListener);
}}
swiper.$wrapperEl.on(swiper.touchEvents.move, ("." + (swiper.params.zoom.containerClass)), zoom.onTouchMove, activeListenerWithCapture);
},
disable: function disable(){
var swiper=this;
var zoom=swiper.zoom;
if(!zoom.enabled){ return; }
swiper.zoom.enabled=false;
var passiveListener=swiper.touchEvents.start==='touchstart'&&Support.passiveListener&&swiper.params.passiveListeners ? { passive: true, capture: false }:false;
var activeListenerWithCapture=Support.passiveListener ? { passive: false, capture: true }:true;
var slideSelector="." + (swiper.params.slideClass);
if(Support.gestures){
swiper.$wrapperEl.off('gesturestart', slideSelector, zoom.onGestureStart, passiveListener);
swiper.$wrapperEl.off('gesturechange', slideSelector, zoom.onGestureChange, passiveListener);
swiper.$wrapperEl.off('gestureend', slideSelector, zoom.onGestureEnd, passiveListener);
}else if(swiper.touchEvents.start==='touchstart'){
swiper.$wrapperEl.off(swiper.touchEvents.start, slideSelector, zoom.onGestureStart, passiveListener);
swiper.$wrapperEl.off(swiper.touchEvents.move, slideSelector, zoom.onGestureChange, activeListenerWithCapture);
swiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, zoom.onGestureEnd, passiveListener);
if(swiper.touchEvents.cancel){
swiper.$wrapperEl.off(swiper.touchEvents.cancel, slideSelector, zoom.onGestureEnd, passiveListener);
}}
swiper.$wrapperEl.off(swiper.touchEvents.move, ("." + (swiper.params.zoom.containerClass)), zoom.onTouchMove, activeListenerWithCapture);
},
};
var Zoom$1={
name: 'zoom',
params: {
zoom: {
enabled: false,
maxRatio: 3,
minRatio: 1,
toggle: true,
containerClass: 'swiper-zoom-container',
zoomedSlideClass: 'swiper-slide-zoomed',
},
},
create: function create(){
var swiper=this;
var zoom={
enabled: false,
scale: 1,
currentScale: 1,
isScaling: false,
gesture: {
$slideEl: undefined,
slideWidth: undefined,
slideHeight: undefined,
$imageEl: undefined,
$imageWrapEl: undefined,
maxRatio: 3,
},
image: {
isTouched: undefined,
isMoved: undefined,
currentX: undefined,
currentY: undefined,
minX: undefined,
minY: undefined,
maxX: undefined,
maxY: undefined,
width: undefined,
height: undefined,
startX: undefined,
startY: undefined,
touchesStart: {},
touchesCurrent: {},
},
velocity: {
x: undefined,
y: undefined,
prevPositionX: undefined,
prevPositionY: undefined,
prevTime: undefined,
},
};
('onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out').split(' ').forEach(function (methodName){
zoom[methodName]=Zoom[methodName].bind(swiper);
});
Utils.extend(swiper, {
zoom: zoom,
});
var scale=1;
Object.defineProperty(swiper.zoom, 'scale', {
get: function get(){
return scale;
},
set: function set(value){
if(scale!==value){
var imageEl=swiper.zoom.gesture.$imageEl ? swiper.zoom.gesture.$imageEl[0]:undefined;
var slideEl=swiper.zoom.gesture.$slideEl ? swiper.zoom.gesture.$slideEl[0]:undefined;
swiper.emit('zoomChange', value, imageEl, slideEl);
}
scale=value;
},
});
},
on: {
init: function init(){
var swiper=this;
if(swiper.params.zoom.enabled){
swiper.zoom.enable();
}},
destroy: function destroy(){
var swiper=this;
swiper.zoom.disable();
},
touchStart: function touchStart(e){
var swiper=this;
if(!swiper.zoom.enabled){ return; }
swiper.zoom.onTouchStart(e);
},
touchEnd: function touchEnd(e){
var swiper=this;
if(!swiper.zoom.enabled){ return; }
swiper.zoom.onTouchEnd(e);
},
doubleTap: function doubleTap(e){
var swiper=this;
if(swiper.params.zoom.enabled&&swiper.zoom.enabled&&swiper.params.zoom.toggle){
swiper.zoom.toggle(e);
}},
transitionEnd: function transitionEnd(){
var swiper=this;
if(swiper.zoom.enabled&&swiper.params.zoom.enabled){
swiper.zoom.onTransitionEnd();
}},
slideChange: function slideChange(){
var swiper=this;
if(swiper.zoom.enabled&&swiper.params.zoom.enabled&&swiper.params.cssMode){
swiper.zoom.onTransitionEnd();
}},
},
};
var Lazy={
loadInSlide: function loadInSlide(index, loadInDuplicate){
if(loadInDuplicate===void 0) loadInDuplicate=true;
var swiper=this;
var params=swiper.params.lazy;
if(typeof index==='undefined'){ return; }
if(swiper.slides.length===0){ return; }
var isVirtual=swiper.virtual&&swiper.params.virtual.enabled;
var $slideEl=isVirtual
? swiper.$wrapperEl.children(("." + (swiper.params.slideClass) + "[data-swiper-slide-index=\"" + index + "\"]"))
: swiper.slides.eq(index);
var $images=$slideEl.find(("." + (params.elementClass) + ":not(." + (params.loadedClass) + "):not(." + (params.loadingClass) + ")"));
if($slideEl.hasClass(params.elementClass)&&!$slideEl.hasClass(params.loadedClass)&&!$slideEl.hasClass(params.loadingClass)){
$images=$images.add($slideEl[0]);
}
if($images.length===0){ return; }
$images.each(function (imageIndex, imageEl){
var $imageEl=$(imageEl);
$imageEl.addClass(params.loadingClass);
var background=$imageEl.attr('data-background');
var src=$imageEl.attr('data-src');
var srcset=$imageEl.attr('data-srcset');
var sizes=$imageEl.attr('data-sizes');
swiper.loadImage($imageEl[0], (src||background), srcset, sizes, false, function (){
if(typeof swiper==='undefined'||swiper===null||!swiper||(swiper&&!swiper.params)||swiper.destroyed){ return; }
if(background){
$imageEl.css('background-image', ("url(\"" + background + "\")"));
$imageEl.removeAttr('data-background');
}else{
if(srcset){
$imageEl.attr('srcset', srcset);
$imageEl.removeAttr('data-srcset');
}
if(sizes){
$imageEl.attr('sizes', sizes);
$imageEl.removeAttr('data-sizes');
}
if(src){
$imageEl.attr('src', src);
$imageEl.removeAttr('data-src');
}}
$imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);
$slideEl.find(("." + (params.preloaderClass))).remove();
if(swiper.params.loop&&loadInDuplicate){
var slideOriginalIndex=$slideEl.attr('data-swiper-slide-index');
if($slideEl.hasClass(swiper.params.slideDuplicateClass)){
var originalSlide=swiper.$wrapperEl.children(("[data-swiper-slide-index=\"" + slideOriginalIndex + "\"]:not(." + (swiper.params.slideDuplicateClass) + ")"));
swiper.lazy.loadInSlide(originalSlide.index(), false);
}else{
var duplicatedSlide=swiper.$wrapperEl.children(("." + (swiper.params.slideDuplicateClass) + "[data-swiper-slide-index=\"" + slideOriginalIndex + "\"]"));
swiper.lazy.loadInSlide(duplicatedSlide.index(), false);
}}
swiper.emit('lazyImageReady', $slideEl[0], $imageEl[0]);
if(swiper.params.autoHeight){
swiper.updateAutoHeight();
}});
swiper.emit('lazyImageLoad', $slideEl[0], $imageEl[0]);
});
},
load: function load(){
var swiper=this;
var $wrapperEl=swiper.$wrapperEl;
var swiperParams=swiper.params;
var slides=swiper.slides;
var activeIndex=swiper.activeIndex;
var isVirtual=swiper.virtual&&swiperParams.virtual.enabled;
var params=swiperParams.lazy;
var slidesPerView=swiperParams.slidesPerView;
if(slidesPerView==='auto'){
slidesPerView=0;
}
function slideExist(index){
if(isVirtual){
if($wrapperEl.children(("." + (swiperParams.slideClass) + "[data-swiper-slide-index=\"" + index + "\"]")).length){
return true;
}}else if(slides[index]){ return true; }
return false;
}
function slideIndex(slideEl){
if(isVirtual){
return $(slideEl).attr('data-swiper-slide-index');
}
return $(slideEl).index();
}
if(!swiper.lazy.initialImageLoaded){ swiper.lazy.initialImageLoaded=true; }
if(swiper.params.watchSlidesVisibility){
$wrapperEl.children(("." + (swiperParams.slideVisibleClass))).each(function (elIndex, slideEl){
var index=isVirtual ? $(slideEl).attr('data-swiper-slide-index'):$(slideEl).index();
swiper.lazy.loadInSlide(index);
});
}else if(slidesPerView > 1){
for (var i=activeIndex; i < activeIndex + slidesPerView; i +=1){
if(slideExist(i)){ swiper.lazy.loadInSlide(i); }}
}else{
swiper.lazy.loadInSlide(activeIndex);
}
if(params.loadPrevNext){
if(slidesPerView > 1||(params.loadPrevNextAmount&&params.loadPrevNextAmount > 1)){
var amount=params.loadPrevNextAmount;
var spv=slidesPerView;
var maxIndex=Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);
var minIndex=Math.max(activeIndex - Math.max(spv, amount), 0);
for (var i$1=activeIndex + slidesPerView; i$1 < maxIndex; i$1 +=1){
if(slideExist(i$1)){ swiper.lazy.loadInSlide(i$1); }}
for (var i$2=minIndex; i$2 < activeIndex; i$2 +=1){
if(slideExist(i$2)){ swiper.lazy.loadInSlide(i$2); }}
}else{
var nextSlide=$wrapperEl.children(("." + (swiperParams.slideNextClass)));
if(nextSlide.length > 0){ swiper.lazy.loadInSlide(slideIndex(nextSlide)); }
var prevSlide=$wrapperEl.children(("." + (swiperParams.slidePrevClass)));
if(prevSlide.length > 0){ swiper.lazy.loadInSlide(slideIndex(prevSlide)); }}
}},
};
var Lazy$1={
name: 'lazy',
params: {
lazy: {
enabled: false,
loadPrevNext: false,
loadPrevNextAmount: 1,
loadOnTransitionStart: false,
elementClass: 'swiper-lazy',
loadingClass: 'swiper-lazy-loading',
loadedClass: 'swiper-lazy-loaded',
preloaderClass: 'swiper-lazy-preloader',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
lazy: {
initialImageLoaded: false,
load: Lazy.load.bind(swiper),
loadInSlide: Lazy.loadInSlide.bind(swiper),
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
if(swiper.params.lazy.enabled&&swiper.params.preloadImages){
swiper.params.preloadImages=false;
}},
init: function init(){
var swiper=this;
if(swiper.params.lazy.enabled&&!swiper.params.loop&&swiper.params.initialSlide===0){
swiper.lazy.load();
}},
scroll: function scroll(){
var swiper=this;
if(swiper.params.freeMode&&!swiper.params.freeModeSticky){
swiper.lazy.load();
}},
resize: function resize(){
var swiper=this;
if(swiper.params.lazy.enabled){
swiper.lazy.load();
}},
scrollbarDragMove: function scrollbarDragMove(){
var swiper=this;
if(swiper.params.lazy.enabled){
swiper.lazy.load();
}},
transitionStart: function transitionStart(){
var swiper=this;
if(swiper.params.lazy.enabled){
if(swiper.params.lazy.loadOnTransitionStart||(!swiper.params.lazy.loadOnTransitionStart&&!swiper.lazy.initialImageLoaded)){
swiper.lazy.load();
}}
},
transitionEnd: function transitionEnd(){
var swiper=this;
if(swiper.params.lazy.enabled&&!swiper.params.lazy.loadOnTransitionStart){
swiper.lazy.load();
}},
slideChange: function slideChange(){
var swiper=this;
if(swiper.params.lazy.enabled&&swiper.params.cssMode){
swiper.lazy.load();
}},
},
};
var Controller={
LinearSpline: function LinearSpline(x, y){
var binarySearch=(function search(){
var maxIndex;
var minIndex;
var guess;
return function (array, val){
minIndex=-1;
maxIndex=array.length;
while (maxIndex - minIndex > 1){
guess=maxIndex + minIndex >> 1;
if(array[guess] <=val){
minIndex=guess;
}else{
maxIndex=guess;
}}
return maxIndex;
};}());
this.x=x;
this.y=y;
this.lastIndex=x.length - 1;
var i1;
var i3;
this.interpolate=function interpolate(x2){
if(!x2){ return 0; }
i3=binarySearch(this.x, x2);
i1=i3 - 1;
return (((x2 - this.x[i1]) * (this.y[i3] - this.y[i1])) / (this.x[i3] - this.x[i1])) + this.y[i1];
};
return this;
},
getInterpolateFunction: function getInterpolateFunction(c){
var swiper=this;
if(!swiper.controller.spline){
swiper.controller.spline=swiper.params.loop
? new Controller.LinearSpline(swiper.slidesGrid, c.slidesGrid)
: new Controller.LinearSpline(swiper.snapGrid, c.snapGrid);
}},
setTranslate: function setTranslate(setTranslate$1, byController){
var swiper=this;
var controlled=swiper.controller.control;
var multiplier;
var controlledTranslate;
function setControlledTranslate(c){
var translate=swiper.rtlTranslate ? -swiper.translate:swiper.translate;
if(swiper.params.controller.by==='slide'){
swiper.controller.getInterpolateFunction(c);
controlledTranslate=-swiper.controller.spline.interpolate(-translate);
}
if(!controlledTranslate||swiper.params.controller.by==='container'){
multiplier=(c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());
controlledTranslate=((translate - swiper.minTranslate()) * multiplier) + c.minTranslate();
}
if(swiper.params.controller.inverse){
controlledTranslate=c.maxTranslate() - controlledTranslate;
}
c.updateProgress(controlledTranslate);
c.setTranslate(controlledTranslate, swiper);
c.updateActiveIndex();
c.updateSlidesClasses();
}
if(Array.isArray(controlled)){
for (var i=0; i < controlled.length; i +=1){
if(controlled[i]!==byController&&controlled[i] instanceof Swiper){
setControlledTranslate(controlled[i]);
}}
}else if(controlled instanceof Swiper&&byController!==controlled){
setControlledTranslate(controlled);
}},
setTransition: function setTransition(duration, byController){
var swiper=this;
var controlled=swiper.controller.control;
var i;
function setControlledTransition(c){
c.setTransition(duration, swiper);
if(duration!==0){
c.transitionStart();
if(c.params.autoHeight){
Utils.nextTick(function (){
c.updateAutoHeight();
});
}
c.$wrapperEl.transitionEnd(function (){
if(!controlled){ return; }
if(c.params.loop&&swiper.params.controller.by==='slide'){
c.loopFix();
}
c.transitionEnd();
});
}}
if(Array.isArray(controlled)){
for (i=0; i < controlled.length; i +=1){
if(controlled[i]!==byController&&controlled[i] instanceof Swiper){
setControlledTransition(controlled[i]);
}}
}else if(controlled instanceof Swiper&&byController!==controlled){
setControlledTransition(controlled);
}},
};
var Controller$1={
name: 'controller',
params: {
controller: {
control: undefined,
inverse: false,
by: 'slide',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
controller: {
control: swiper.params.controller.control,
getInterpolateFunction: Controller.getInterpolateFunction.bind(swiper),
setTranslate: Controller.setTranslate.bind(swiper),
setTransition: Controller.setTransition.bind(swiper),
},
});
},
on: {
update: function update(){
var swiper=this;
if(!swiper.controller.control){ return; }
if(swiper.controller.spline){
swiper.controller.spline=undefined;
delete swiper.controller.spline;
}},
resize: function resize(){
var swiper=this;
if(!swiper.controller.control){ return; }
if(swiper.controller.spline){
swiper.controller.spline=undefined;
delete swiper.controller.spline;
}},
observerUpdate: function observerUpdate(){
var swiper=this;
if(!swiper.controller.control){ return; }
if(swiper.controller.spline){
swiper.controller.spline=undefined;
delete swiper.controller.spline;
}},
setTranslate: function setTranslate(translate, byController){
var swiper=this;
if(!swiper.controller.control){ return; }
swiper.controller.setTranslate(translate, byController);
},
setTransition: function setTransition(duration, byController){
var swiper=this;
if(!swiper.controller.control){ return; }
swiper.controller.setTransition(duration, byController);
},
},
};
var a11y={
makeElFocusable: function makeElFocusable($el){
$el.attr('tabIndex', '0');
return $el;
},
addElRole: function addElRole($el, role){
$el.attr('role', role);
return $el;
},
addElLabel: function addElLabel($el, label){
$el.attr('aria-label', label);
return $el;
},
disableEl: function disableEl($el){
$el.attr('aria-disabled', true);
return $el;
},
enableEl: function enableEl($el){
$el.attr('aria-disabled', false);
return $el;
},
onEnterKey: function onEnterKey(e){
var swiper=this;
var params=swiper.params.a11y;
if(e.keyCode!==13){ return; }
var $targetEl=$(e.target);
if(swiper.navigation&&swiper.navigation.$nextEl&&$targetEl.is(swiper.navigation.$nextEl)){
if(!(swiper.isEnd&&!swiper.params.loop)){
swiper.slideNext();
}
if(swiper.isEnd){
swiper.a11y.notify(params.lastSlideMessage);
}else{
swiper.a11y.notify(params.nextSlideMessage);
}}
if(swiper.navigation&&swiper.navigation.$prevEl&&$targetEl.is(swiper.navigation.$prevEl)){
if(!(swiper.isBeginning&&!swiper.params.loop)){
swiper.slidePrev();
}
if(swiper.isBeginning){
swiper.a11y.notify(params.firstSlideMessage);
}else{
swiper.a11y.notify(params.prevSlideMessage);
}}
if(swiper.pagination&&$targetEl.is(("." + (swiper.params.pagination.bulletClass)))){
$targetEl[0].click();
}},
notify: function notify(message){
var swiper=this;
var notification=swiper.a11y.liveRegion;
if(notification.length===0){ return; }
notification.html('');
notification.html(message);
},
updateNavigation: function updateNavigation(){
var swiper=this;
if(swiper.params.loop||!swiper.navigation){ return; }
var ref=swiper.navigation;
var $nextEl=ref.$nextEl;
var $prevEl=ref.$prevEl;
if($prevEl&&$prevEl.length > 0){
if(swiper.isBeginning){
swiper.a11y.disableEl($prevEl);
}else{
swiper.a11y.enableEl($prevEl);
}}
if($nextEl&&$nextEl.length > 0){
if(swiper.isEnd){
swiper.a11y.disableEl($nextEl);
}else{
swiper.a11y.enableEl($nextEl);
}}
},
updatePagination: function updatePagination(){
var swiper=this;
var params=swiper.params.a11y;
if(swiper.pagination&&swiper.params.pagination.clickable&&swiper.pagination.bullets&&swiper.pagination.bullets.length){
swiper.pagination.bullets.each(function (bulletIndex, bulletEl){
var $bulletEl=$(bulletEl);
swiper.a11y.makeElFocusable($bulletEl);
swiper.a11y.addElRole($bulletEl, 'button');
swiper.a11y.addElLabel($bulletEl, params.paginationBulletMessage.replace(/{{index}}/, $bulletEl.index() + 1));
});
}},
init: function init(){
var swiper=this;
swiper.$el.append(swiper.a11y.liveRegion);
var params=swiper.params.a11y;
var $nextEl;
var $prevEl;
if(swiper.navigation&&swiper.navigation.$nextEl){
$nextEl=swiper.navigation.$nextEl;
}
if(swiper.navigation&&swiper.navigation.$prevEl){
$prevEl=swiper.navigation.$prevEl;
}
if($nextEl){
swiper.a11y.makeElFocusable($nextEl);
swiper.a11y.addElRole($nextEl, 'button');
swiper.a11y.addElLabel($nextEl, params.nextSlideMessage);
$nextEl.on('keydown', swiper.a11y.onEnterKey);
}
if($prevEl){
swiper.a11y.makeElFocusable($prevEl);
swiper.a11y.addElRole($prevEl, 'button');
swiper.a11y.addElLabel($prevEl, params.prevSlideMessage);
$prevEl.on('keydown', swiper.a11y.onEnterKey);
}
if(swiper.pagination&&swiper.params.pagination.clickable&&swiper.pagination.bullets&&swiper.pagination.bullets.length){
swiper.pagination.$el.on('keydown', ("." + (swiper.params.pagination.bulletClass)), swiper.a11y.onEnterKey);
}},
destroy: function destroy(){
var swiper=this;
if(swiper.a11y.liveRegion&&swiper.a11y.liveRegion.length > 0){ swiper.a11y.liveRegion.remove(); }
var $nextEl;
var $prevEl;
if(swiper.navigation&&swiper.navigation.$nextEl){
$nextEl=swiper.navigation.$nextEl;
}
if(swiper.navigation&&swiper.navigation.$prevEl){
$prevEl=swiper.navigation.$prevEl;
}
if($nextEl){
$nextEl.off('keydown', swiper.a11y.onEnterKey);
}
if($prevEl){
$prevEl.off('keydown', swiper.a11y.onEnterKey);
}
if(swiper.pagination&&swiper.params.pagination.clickable&&swiper.pagination.bullets&&swiper.pagination.bullets.length){
swiper.pagination.$el.off('keydown', ("." + (swiper.params.pagination.bulletClass)), swiper.a11y.onEnterKey);
}},
};
var A11y={
name: 'a11y',
params: {
a11y: {
enabled: true,
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 create(){
var swiper=this;
Utils.extend(swiper, {
a11y: {
liveRegion: $(("<span class=\"" + (swiper.params.a11y.notificationClass) + "\" aria-live=\"assertive\" aria-atomic=\"true\"></span>")),
},
});
Object.keys(a11y).forEach(function (methodName){
swiper.a11y[methodName]=a11y[methodName].bind(swiper);
});
},
on: {
init: function init(){
var swiper=this;
if(!swiper.params.a11y.enabled){ return; }
swiper.a11y.init();
swiper.a11y.updateNavigation();
},
toEdge: function toEdge(){
var swiper=this;
if(!swiper.params.a11y.enabled){ return; }
swiper.a11y.updateNavigation();
},
fromEdge: function fromEdge(){
var swiper=this;
if(!swiper.params.a11y.enabled){ return; }
swiper.a11y.updateNavigation();
},
paginationUpdate: function paginationUpdate(){
var swiper=this;
if(!swiper.params.a11y.enabled){ return; }
swiper.a11y.updatePagination();
},
destroy: function destroy(){
var swiper=this;
if(!swiper.params.a11y.enabled){ return; }
swiper.a11y.destroy();
},
},
};
var History={
init: function init(){
var swiper=this;
if(!swiper.params.history){ return; }
if(!win.history||!win.history.pushState){
swiper.params.history.enabled=false;
swiper.params.hashNavigation.enabled=true;
return;
}
var history=swiper.history;
history.initialized=true;
history.paths=History.getPathValues();
if(!history.paths.key&&!history.paths.value){ return; }
history.scrollToSlide(0, history.paths.value, swiper.params.runCallbacksOnInit);
if(!swiper.params.history.replaceState){
win.addEventListener('popstate', swiper.history.setHistoryPopState);
}},
destroy: function destroy(){
var swiper=this;
if(!swiper.params.history.replaceState){
win.removeEventListener('popstate', swiper.history.setHistoryPopState);
}},
setHistoryPopState: function setHistoryPopState(){
var swiper=this;
swiper.history.paths=History.getPathValues();
swiper.history.scrollToSlide(swiper.params.speed, swiper.history.paths.value, false);
},
getPathValues: function getPathValues(){
var pathArray=win.location.pathname.slice(1).split('/').filter(function (part){ return part!==''; });
var total=pathArray.length;
var key=pathArray[total - 2];
var value=pathArray[total - 1];
return { key: key, value: value };},
setHistory: function setHistory(key, index){
var swiper=this;
if(!swiper.history.initialized||!swiper.params.history.enabled){ return; }
var slide=swiper.slides.eq(index);
var value=History.slugify(slide.attr('data-history'));
if(!win.location.pathname.includes(key)){
value=key + "/" + value;
}
var currentState=win.history.state;
if(currentState&&currentState.value===value){
return;
}
if(swiper.params.history.replaceState){
win.history.replaceState({ value: value }, null, value);
}else{
win.history.pushState({ value: value }, null, value);
}},
slugify: function slugify(text){
return text.toString()
.replace(/\s+/g, '-')
.replace(/[^\w-]+/g, '')
.replace(/--+/g, '-')
.replace(/^-+/, '')
.replace(/-+$/, '');
},
scrollToSlide: function scrollToSlide(speed, value, runCallbacks){
var swiper=this;
if(value){
for (var i=0, length=swiper.slides.length; i < length; i +=1){
var slide=swiper.slides.eq(i);
var slideHistory=History.slugify(slide.attr('data-history'));
if(slideHistory===value&&!slide.hasClass(swiper.params.slideDuplicateClass)){
var index=slide.index();
swiper.slideTo(index, speed, runCallbacks);
}}
}else{
swiper.slideTo(0, speed, runCallbacks);
}},
};
var History$1={
name: 'history',
params: {
history: {
enabled: false,
replaceState: false,
key: 'slides',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
history: {
init: History.init.bind(swiper),
setHistory: History.setHistory.bind(swiper),
setHistoryPopState: History.setHistoryPopState.bind(swiper),
scrollToSlide: History.scrollToSlide.bind(swiper),
destroy: History.destroy.bind(swiper),
},
});
},
on: {
init: function init(){
var swiper=this;
if(swiper.params.history.enabled){
swiper.history.init();
}},
destroy: function destroy(){
var swiper=this;
if(swiper.params.history.enabled){
swiper.history.destroy();
}},
transitionEnd: function transitionEnd(){
var swiper=this;
if(swiper.history.initialized){
swiper.history.setHistory(swiper.params.history.key, swiper.activeIndex);
}},
slideChange: function slideChange(){
var swiper=this;
if(swiper.history.initialized&&swiper.params.cssMode){
swiper.history.setHistory(swiper.params.history.key, swiper.activeIndex);
}},
},
};
var HashNavigation={
onHashCange: function onHashCange(){
var swiper=this;
var newHash=doc.location.hash.replace('#', '');
var activeSlideHash=swiper.slides.eq(swiper.activeIndex).attr('data-hash');
if(newHash!==activeSlideHash){
var newIndex=swiper.$wrapperEl.children(("." + (swiper.params.slideClass) + "[data-hash=\"" + newHash + "\"]")).index();
if(typeof newIndex==='undefined'){ return; }
swiper.slideTo(newIndex);
}},
setHash: function setHash(){
var swiper=this;
if(!swiper.hashNavigation.initialized||!swiper.params.hashNavigation.enabled){ return; }
if(swiper.params.hashNavigation.replaceState&&win.history&&win.history.replaceState){
win.history.replaceState(null, null, (("#" + (swiper.slides.eq(swiper.activeIndex).attr('data-hash')))||''));
}else{
var slide=swiper.slides.eq(swiper.activeIndex);
var hash=slide.attr('data-hash')||slide.attr('data-history');
doc.location.hash=hash||'';
}},
init: function init(){
var swiper=this;
if(!swiper.params.hashNavigation.enabled||(swiper.params.history&&swiper.params.history.enabled)){ return; }
swiper.hashNavigation.initialized=true;
var hash=doc.location.hash.replace('#', '');
if(hash){
var speed=0;
for (var i=0, length=swiper.slides.length; i < length; i +=1){
var slide=swiper.slides.eq(i);
var slideHash=slide.attr('data-hash')||slide.attr('data-history');
if(slideHash===hash&&!slide.hasClass(swiper.params.slideDuplicateClass)){
var index=slide.index();
swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true);
}}
}
if(swiper.params.hashNavigation.watchState){
$(win).on('hashchange', swiper.hashNavigation.onHashCange);
}},
destroy: function destroy(){
var swiper=this;
if(swiper.params.hashNavigation.watchState){
$(win).off('hashchange', swiper.hashNavigation.onHashCange);
}},
};
var HashNavigation$1={
name: 'hash-navigation',
params: {
hashNavigation: {
enabled: false,
replaceState: false,
watchState: false,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
hashNavigation: {
initialized: false,
init: HashNavigation.init.bind(swiper),
destroy: HashNavigation.destroy.bind(swiper),
setHash: HashNavigation.setHash.bind(swiper),
onHashCange: HashNavigation.onHashCange.bind(swiper),
},
});
},
on: {
init: function init(){
var swiper=this;
if(swiper.params.hashNavigation.enabled){
swiper.hashNavigation.init();
}},
destroy: function destroy(){
var swiper=this;
if(swiper.params.hashNavigation.enabled){
swiper.hashNavigation.destroy();
}},
transitionEnd: function transitionEnd(){
var swiper=this;
if(swiper.hashNavigation.initialized){
swiper.hashNavigation.setHash();
}},
slideChange: function slideChange(){
var swiper=this;
if(swiper.hashNavigation.initialized&&swiper.params.cssMode){
swiper.hashNavigation.setHash();
}},
},
};
var Autoplay={
run: function run(){
var swiper=this;
var $activeSlideEl=swiper.slides.eq(swiper.activeIndex);
var delay=swiper.params.autoplay.delay;
if($activeSlideEl.attr('data-swiper-autoplay')){
delay=$activeSlideEl.attr('data-swiper-autoplay')||swiper.params.autoplay.delay;
}
clearTimeout(swiper.autoplay.timeout);
swiper.autoplay.timeout=Utils.nextTick(function (){
if(swiper.params.autoplay.reverseDirection){
if(swiper.params.loop){
swiper.loopFix();
swiper.slidePrev(swiper.params.speed, true, true);
swiper.emit('autoplay');
}else if(!swiper.isBeginning){
swiper.slidePrev(swiper.params.speed, true, true);
swiper.emit('autoplay');
}else if(!swiper.params.autoplay.stopOnLastSlide){
swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);
swiper.emit('autoplay');
}else{
swiper.autoplay.stop();
}}else if(swiper.params.loop){
swiper.loopFix();
swiper.slideNext(swiper.params.speed, true, true);
swiper.emit('autoplay');
}else if(!swiper.isEnd){
swiper.slideNext(swiper.params.speed, true, true);
swiper.emit('autoplay');
}else if(!swiper.params.autoplay.stopOnLastSlide){
swiper.slideTo(0, swiper.params.speed, true, true);
swiper.emit('autoplay');
}else{
swiper.autoplay.stop();
}
if(swiper.params.cssMode&&swiper.autoplay.running){ swiper.autoplay.run(); }}, delay);
},
start: function start(){
var swiper=this;
if(typeof swiper.autoplay.timeout!=='undefined'){ return false; }
if(swiper.autoplay.running){ return false; }
swiper.autoplay.running=true;
swiper.emit('autoplayStart');
swiper.autoplay.run();
return true;
},
stop: function stop(){
var swiper=this;
if(!swiper.autoplay.running){ return false; }
if(typeof swiper.autoplay.timeout==='undefined'){ return false; }
if(swiper.autoplay.timeout){
clearTimeout(swiper.autoplay.timeout);
swiper.autoplay.timeout=undefined;
}
swiper.autoplay.running=false;
swiper.emit('autoplayStop');
return true;
},
pause: function pause(speed){
var swiper=this;
if(!swiper.autoplay.running){ return; }
if(swiper.autoplay.paused){ return; }
if(swiper.autoplay.timeout){ clearTimeout(swiper.autoplay.timeout); }
swiper.autoplay.paused=true;
if(speed===0||!swiper.params.autoplay.waitForTransition){
swiper.autoplay.paused=false;
swiper.autoplay.run();
}else{
swiper.$wrapperEl[0].addEventListener('transitionend', swiper.autoplay.onTransitionEnd);
swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);
}},
};
var Autoplay$1={
name: 'autoplay',
params: {
autoplay: {
enabled: false,
delay: 3000,
waitForTransition: true,
disableOnInteraction: true,
stopOnLastSlide: false,
reverseDirection: false,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
autoplay: {
running: false,
paused: false,
run: Autoplay.run.bind(swiper),
start: Autoplay.start.bind(swiper),
stop: Autoplay.stop.bind(swiper),
pause: Autoplay.pause.bind(swiper),
onVisibilityChange: function onVisibilityChange(){
if(document.visibilityState==='hidden'&&swiper.autoplay.running){
swiper.autoplay.pause();
}
if(document.visibilityState==='visible'&&swiper.autoplay.paused){
swiper.autoplay.run();
swiper.autoplay.paused=false;
}},
onTransitionEnd: function onTransitionEnd(e){
if(!swiper||swiper.destroyed||!swiper.$wrapperEl){ return; }
if(e.target!==this){ return; }
swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.autoplay.onTransitionEnd);
swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);
swiper.autoplay.paused=false;
if(!swiper.autoplay.running){
swiper.autoplay.stop();
}else{
swiper.autoplay.run();
}},
},
});
},
on: {
init: function init(){
var swiper=this;
if(swiper.params.autoplay.enabled){
swiper.autoplay.start();
document.addEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);
}},
beforeTransitionStart: function beforeTransitionStart(speed, internal){
var swiper=this;
if(swiper.autoplay.running){
if(internal||!swiper.params.autoplay.disableOnInteraction){
swiper.autoplay.pause(speed);
}else{
swiper.autoplay.stop();
}}
},
sliderFirstMove: function sliderFirstMove(){
var swiper=this;
if(swiper.autoplay.running){
if(swiper.params.autoplay.disableOnInteraction){
swiper.autoplay.stop();
}else{
swiper.autoplay.pause();
}}
},
touchEnd: function touchEnd(){
var swiper=this;
if(swiper.params.cssMode&&swiper.autoplay.paused&&!swiper.params.autoplay.disableOnInteraction){
swiper.autoplay.run();
}},
destroy: function destroy(){
var swiper=this;
if(swiper.autoplay.running){
swiper.autoplay.stop();
}
document.removeEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);
},
},
};
var Fade={
setTranslate: function setTranslate(){
var swiper=this;
var slides=swiper.slides;
for (var i=0; i < slides.length; i +=1){
var $slideEl=swiper.slides.eq(i);
var offset=$slideEl[0].swiperSlideOffset;
var tx=-offset;
if(!swiper.params.virtualTranslate){ tx -=swiper.translate; }
var ty=0;
if(!swiper.isHorizontal()){
ty=tx;
tx=0;
}
var slideOpacity=swiper.params.fadeEffect.crossFade
? Math.max(1 - Math.abs($slideEl[0].progress), 0)
: 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);
$slideEl
.css({
opacity: slideOpacity,
})
.transform(("translate3d(" + tx + "px, " + ty + "px, 0px)"));
}},
setTransition: function setTransition(duration){
var swiper=this;
var slides=swiper.slides;
var $wrapperEl=swiper.$wrapperEl;
slides.transition(duration);
if(swiper.params.virtualTranslate&&duration!==0){
var eventTriggered=false;
slides.transitionEnd(function (){
if(eventTriggered){ return; }
if(!swiper||swiper.destroyed){ return; }
eventTriggered=true;
swiper.animating=false;
var triggerEvents=['webkitTransitionEnd', 'transitionend'];
for (var i=0; i < triggerEvents.length; i +=1){
$wrapperEl.trigger(triggerEvents[i]);
}});
}},
};
var EffectFade={
name: 'effect-fade',
params: {
fadeEffect: {
crossFade: false,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
fadeEffect: {
setTranslate: Fade.setTranslate.bind(swiper),
setTransition: Fade.setTransition.bind(swiper),
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
if(swiper.params.effect!=='fade'){ return; }
swiper.classNames.push(((swiper.params.containerModifierClass) + "fade"));
var overwriteParams={
slidesPerView: 1,
slidesPerColumn: 1,
slidesPerGroup: 1,
watchSlidesProgress: true,
spaceBetween: 0,
virtualTranslate: true,
};
Utils.extend(swiper.params, overwriteParams);
Utils.extend(swiper.originalParams, overwriteParams);
},
setTranslate: function setTranslate(){
var swiper=this;
if(swiper.params.effect!=='fade'){ return; }
swiper.fadeEffect.setTranslate();
},
setTransition: function setTransition(duration){
var swiper=this;
if(swiper.params.effect!=='fade'){ return; }
swiper.fadeEffect.setTransition(duration);
},
},
};
var Cube={
setTranslate: function setTranslate(){
var swiper=this;
var $el=swiper.$el;
var $wrapperEl=swiper.$wrapperEl;
var slides=swiper.slides;
var swiperWidth=swiper.width;
var swiperHeight=swiper.height;
var rtl=swiper.rtlTranslate;
var swiperSize=swiper.size;
var params=swiper.params.cubeEffect;
var isHorizontal=swiper.isHorizontal();
var isVirtual=swiper.virtual&&swiper.params.virtual.enabled;
var wrapperRotate=0;
var $cubeShadowEl;
if(params.shadow){
if(isHorizontal){
$cubeShadowEl=$wrapperEl.find('.swiper-cube-shadow');
if($cubeShadowEl.length===0){
$cubeShadowEl=$('<div class="swiper-cube-shadow"></div>');
$wrapperEl.append($cubeShadowEl);
}
$cubeShadowEl.css({ height: (swiperWidth + "px") });
}else{
$cubeShadowEl=$el.find('.swiper-cube-shadow');
if($cubeShadowEl.length===0){
$cubeShadowEl=$('<div class="swiper-cube-shadow"></div>');
$el.append($cubeShadowEl);
}}
}
for (var i=0; i < slides.length; i +=1){
var $slideEl=slides.eq(i);
var slideIndex=i;
if(isVirtual){
slideIndex=parseInt($slideEl.attr('data-swiper-slide-index'), 10);
}
var slideAngle=slideIndex * 90;
var round=Math.floor(slideAngle / 360);
if(rtl){
slideAngle=-slideAngle;
round=Math.floor(-slideAngle / 360);
}
var progress=Math.max(Math.min($slideEl[0].progress, 1), -1);
var tx=0;
var ty=0;
var tz=0;
if(slideIndex % 4===0){
tx=-round * 4 * swiperSize;
tz=0;
}else if((slideIndex - 1) % 4===0){
tx=0;
tz=-round * 4 * swiperSize;
}else if((slideIndex - 2) % 4===0){
tx=swiperSize + (round * 4 * swiperSize);
tz=swiperSize;
}else if((slideIndex - 3) % 4===0){
tx=-swiperSize;
tz=(3 * swiperSize) + (swiperSize * 4 * round);
}
if(rtl){
tx=-tx;
}
if(!isHorizontal){
ty=tx;
tx=0;
}
var transform="rotateX(" + (isHorizontal ? 0:-slideAngle) + "deg) rotateY(" + (isHorizontal ? slideAngle:0) + "deg) translate3d(" + tx + "px, " + ty + "px, " + tz + "px)";
if(progress <=1&&progress > -1){
wrapperRotate=(slideIndex * 90) + (progress * 90);
if(rtl){ wrapperRotate=(-slideIndex * 90) - (progress * 90); }}
$slideEl.transform(transform);
if(params.slideShadows){
var shadowBefore=isHorizontal ? $slideEl.find('.swiper-slide-shadow-left'):$slideEl.find('.swiper-slide-shadow-top');
var shadowAfter=isHorizontal ? $slideEl.find('.swiper-slide-shadow-right'):$slideEl.find('.swiper-slide-shadow-bottom');
if(shadowBefore.length===0){
shadowBefore=$(("<div class=\"swiper-slide-shadow-" + (isHorizontal ? 'left':'top') + "\"></div>"));
$slideEl.append(shadowBefore);
}
if(shadowAfter.length===0){
shadowAfter=$(("<div class=\"swiper-slide-shadow-" + (isHorizontal ? 'right':'bottom') + "\"></div>"));
$slideEl.append(shadowAfter);
}
if(shadowBefore.length){ shadowBefore[0].style.opacity=Math.max(-progress, 0); }
if(shadowAfter.length){ shadowAfter[0].style.opacity=Math.max(progress, 0); }}
}
$wrapperEl.css({
'-webkit-transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"),
'-moz-transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"),
'-ms-transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"),
'transform-origin': ("50% 50% -" + (swiperSize / 2) + "px"),
});
if(params.shadow){
if(isHorizontal){
$cubeShadowEl.transform(("translate3d(0px, " + ((swiperWidth / 2) + params.shadowOffset) + "px, " + (-swiperWidth / 2) + "px) rotateX(90deg) rotateZ(0deg) scale(" + (params.shadowScale) + ")"));
}else{
var shadowAngle=Math.abs(wrapperRotate) - (Math.floor(Math.abs(wrapperRotate) / 90) * 90);
var multiplier=1.5 - (
(Math.sin((shadowAngle * 2 * Math.PI) / 360) / 2)
+ (Math.cos((shadowAngle * 2 * Math.PI) / 360) / 2)
);
var scale1=params.shadowScale;
var scale2=params.shadowScale / multiplier;
var offset=params.shadowOffset;
$cubeShadowEl.transform(("scale3d(" + scale1 + ", 1, " + scale2 + ") translate3d(0px, " + ((swiperHeight / 2) + offset) + "px, " + (-swiperHeight / 2 / scale2) + "px) rotateX(-90deg)"));
}}
var zFactor=(Browser.isSafari||Browser.isUiWebView) ? (-swiperSize / 2):0;
$wrapperEl
.transform(("translate3d(0px,0," + zFactor + "px) rotateX(" + (swiper.isHorizontal() ? 0:wrapperRotate) + "deg) rotateY(" + (swiper.isHorizontal() ? -wrapperRotate:0) + "deg)"));
},
setTransition: function setTransition(duration){
var swiper=this;
var $el=swiper.$el;
var slides=swiper.slides;
slides
.transition(duration)
.find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')
.transition(duration);
if(swiper.params.cubeEffect.shadow&&!swiper.isHorizontal()){
$el.find('.swiper-cube-shadow').transition(duration);
}},
};
var EffectCube={
name: 'effect-cube',
params: {
cubeEffect: {
slideShadows: true,
shadow: true,
shadowOffset: 20,
shadowScale: 0.94,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
cubeEffect: {
setTranslate: Cube.setTranslate.bind(swiper),
setTransition: Cube.setTransition.bind(swiper),
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
if(swiper.params.effect!=='cube'){ return; }
swiper.classNames.push(((swiper.params.containerModifierClass) + "cube"));
swiper.classNames.push(((swiper.params.containerModifierClass) + "3d"));
var overwriteParams={
slidesPerView: 1,
slidesPerColumn: 1,
slidesPerGroup: 1,
watchSlidesProgress: true,
resistanceRatio: 0,
spaceBetween: 0,
centeredSlides: false,
virtualTranslate: true,
};
Utils.extend(swiper.params, overwriteParams);
Utils.extend(swiper.originalParams, overwriteParams);
},
setTranslate: function setTranslate(){
var swiper=this;
if(swiper.params.effect!=='cube'){ return; }
swiper.cubeEffect.setTranslate();
},
setTransition: function setTransition(duration){
var swiper=this;
if(swiper.params.effect!=='cube'){ return; }
swiper.cubeEffect.setTransition(duration);
},
},
};
var Flip={
setTranslate: function setTranslate(){
var swiper=this;
var slides=swiper.slides;
var rtl=swiper.rtlTranslate;
for (var i=0; i < slides.length; i +=1){
var $slideEl=slides.eq(i);
var progress=$slideEl[0].progress;
if(swiper.params.flipEffect.limitRotation){
progress=Math.max(Math.min($slideEl[0].progress, 1), -1);
}
var offset=$slideEl[0].swiperSlideOffset;
var rotate=-180 * progress;
var rotateY=rotate;
var rotateX=0;
var tx=-offset;
var ty=0;
if(!swiper.isHorizontal()){
ty=tx;
tx=0;
rotateX=-rotateY;
rotateY=0;
}else if(rtl){
rotateY=-rotateY;
}
$slideEl[0].style.zIndex=-Math.abs(Math.round(progress)) + slides.length;
if(swiper.params.flipEffect.slideShadows){
var shadowBefore=swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left'):$slideEl.find('.swiper-slide-shadow-top');
var shadowAfter=swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right'):$slideEl.find('.swiper-slide-shadow-bottom');
if(shadowBefore.length===0){
shadowBefore=$(("<div class=\"swiper-slide-shadow-" + (swiper.isHorizontal() ? 'left':'top') + "\"></div>"));
$slideEl.append(shadowBefore);
}
if(shadowAfter.length===0){
shadowAfter=$(("<div class=\"swiper-slide-shadow-" + (swiper.isHorizontal() ? 'right':'bottom') + "\"></div>"));
$slideEl.append(shadowAfter);
}
if(shadowBefore.length){ shadowBefore[0].style.opacity=Math.max(-progress, 0); }
if(shadowAfter.length){ shadowAfter[0].style.opacity=Math.max(progress, 0); }}
$slideEl
.transform(("translate3d(" + tx + "px, " + ty + "px, 0px) rotateX(" + rotateX + "deg) rotateY(" + rotateY + "deg)"));
}},
setTransition: function setTransition(duration){
var swiper=this;
var slides=swiper.slides;
var activeIndex=swiper.activeIndex;
var $wrapperEl=swiper.$wrapperEl;
slides
.transition(duration)
.find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')
.transition(duration);
if(swiper.params.virtualTranslate&&duration!==0){
var eventTriggered=false;
slides.eq(activeIndex).transitionEnd(function onTransitionEnd(){
if(eventTriggered){ return; }
if(!swiper||swiper.destroyed){ return; }
eventTriggered=true;
swiper.animating=false;
var triggerEvents=['webkitTransitionEnd', 'transitionend'];
for (var i=0; i < triggerEvents.length; i +=1){
$wrapperEl.trigger(triggerEvents[i]);
}});
}},
};
var EffectFlip={
name: 'effect-flip',
params: {
flipEffect: {
slideShadows: true,
limitRotation: true,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
flipEffect: {
setTranslate: Flip.setTranslate.bind(swiper),
setTransition: Flip.setTransition.bind(swiper),
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
if(swiper.params.effect!=='flip'){ return; }
swiper.classNames.push(((swiper.params.containerModifierClass) + "flip"));
swiper.classNames.push(((swiper.params.containerModifierClass) + "3d"));
var overwriteParams={
slidesPerView: 1,
slidesPerColumn: 1,
slidesPerGroup: 1,
watchSlidesProgress: true,
spaceBetween: 0,
virtualTranslate: true,
};
Utils.extend(swiper.params, overwriteParams);
Utils.extend(swiper.originalParams, overwriteParams);
},
setTranslate: function setTranslate(){
var swiper=this;
if(swiper.params.effect!=='flip'){ return; }
swiper.flipEffect.setTranslate();
},
setTransition: function setTransition(duration){
var swiper=this;
if(swiper.params.effect!=='flip'){ return; }
swiper.flipEffect.setTransition(duration);
},
},
};
var Coverflow={
setTranslate: function setTranslate(){
var swiper=this;
var swiperWidth=swiper.width;
var swiperHeight=swiper.height;
var slides=swiper.slides;
var $wrapperEl=swiper.$wrapperEl;
var slidesSizesGrid=swiper.slidesSizesGrid;
var params=swiper.params.coverflowEffect;
var isHorizontal=swiper.isHorizontal();
var transform=swiper.translate;
var center=isHorizontal ? -transform + (swiperWidth / 2):-transform + (swiperHeight / 2);
var rotate=isHorizontal ? params.rotate:-params.rotate;
var translate=params.depth;
for (var i=0, length=slides.length; i < length; i +=1){
var $slideEl=slides.eq(i);
var slideSize=slidesSizesGrid[i];
var slideOffset=$slideEl[0].swiperSlideOffset;
var offsetMultiplier=((center - slideOffset - (slideSize / 2)) / slideSize) * params.modifier;
var rotateY=isHorizontal ? rotate * offsetMultiplier:0;
var rotateX=isHorizontal ? 0:rotate * offsetMultiplier;
var translateZ=-translate * Math.abs(offsetMultiplier);
var stretch=params.stretch;
if(typeof stretch==='string'&&stretch.indexOf('%')!==-1){
stretch=((parseFloat(params.stretch) / 100) * slideSize);
}
var translateY=isHorizontal ? 0:stretch * (offsetMultiplier);
var translateX=isHorizontal ? stretch * (offsetMultiplier):0;
if(Math.abs(translateX) < 0.001){ translateX=0; }
if(Math.abs(translateY) < 0.001){ translateY=0; }
if(Math.abs(translateZ) < 0.001){ translateZ=0; }
if(Math.abs(rotateY) < 0.001){ rotateY=0; }
if(Math.abs(rotateX) < 0.001){ rotateX=0; }
var slideTransform="translate3d(" + translateX + "px," + translateY + "px," + translateZ + "px)  rotateX(" + rotateX + "deg) rotateY(" + rotateY + "deg)";
$slideEl.transform(slideTransform);
$slideEl[0].style.zIndex=-Math.abs(Math.round(offsetMultiplier)) + 1;
if(params.slideShadows){
var $shadowBeforeEl=isHorizontal ? $slideEl.find('.swiper-slide-shadow-left'):$slideEl.find('.swiper-slide-shadow-top');
var $shadowAfterEl=isHorizontal ? $slideEl.find('.swiper-slide-shadow-right'):$slideEl.find('.swiper-slide-shadow-bottom');
if($shadowBeforeEl.length===0){
$shadowBeforeEl=$(("<div class=\"swiper-slide-shadow-" + (isHorizontal ? 'left':'top') + "\"></div>"));
$slideEl.append($shadowBeforeEl);
}
if($shadowAfterEl.length===0){
$shadowAfterEl=$(("<div class=\"swiper-slide-shadow-" + (isHorizontal ? 'right':'bottom') + "\"></div>"));
$slideEl.append($shadowAfterEl);
}
if($shadowBeforeEl.length){ $shadowBeforeEl[0].style.opacity=offsetMultiplier > 0 ? offsetMultiplier:0; }
if($shadowAfterEl.length){ $shadowAfterEl[0].style.opacity=(-offsetMultiplier) > 0 ? -offsetMultiplier:0; }}
}
if(Support.pointerEvents||Support.prefixedPointerEvents){
var ws=$wrapperEl[0].style;
ws.perspectiveOrigin=center + "px 50%";
}},
setTransition: function setTransition(duration){
var swiper=this;
swiper.slides
.transition(duration)
.find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')
.transition(duration);
},
};
var EffectCoverflow={
name: 'effect-coverflow',
params: {
coverflowEffect: {
rotate: 50,
stretch: 0,
depth: 100,
modifier: 1,
slideShadows: true,
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
coverflowEffect: {
setTranslate: Coverflow.setTranslate.bind(swiper),
setTransition: Coverflow.setTransition.bind(swiper),
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
if(swiper.params.effect!=='coverflow'){ return; }
swiper.classNames.push(((swiper.params.containerModifierClass) + "coverflow"));
swiper.classNames.push(((swiper.params.containerModifierClass) + "3d"));
swiper.params.watchSlidesProgress=true;
swiper.originalParams.watchSlidesProgress=true;
},
setTranslate: function setTranslate(){
var swiper=this;
if(swiper.params.effect!=='coverflow'){ return; }
swiper.coverflowEffect.setTranslate();
},
setTransition: function setTransition(duration){
var swiper=this;
if(swiper.params.effect!=='coverflow'){ return; }
swiper.coverflowEffect.setTransition(duration);
},
},
};
var Thumbs={
init: function init(){
var swiper=this;
var ref=swiper.params;
var thumbsParams=ref.thumbs;
var SwiperClass=swiper.constructor;
if(thumbsParams.swiper instanceof SwiperClass){
swiper.thumbs.swiper=thumbsParams.swiper;
Utils.extend(swiper.thumbs.swiper.originalParams, {
watchSlidesProgress: true,
slideToClickedSlide: false,
});
Utils.extend(swiper.thumbs.swiper.params, {
watchSlidesProgress: true,
slideToClickedSlide: false,
});
}else if(Utils.isObject(thumbsParams.swiper)){
swiper.thumbs.swiper=new SwiperClass(Utils.extend({}, thumbsParams.swiper, {
watchSlidesVisibility: true,
watchSlidesProgress: true,
slideToClickedSlide: false,
}));
swiper.thumbs.swiperCreated=true;
}
swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);
swiper.thumbs.swiper.on('tap', swiper.thumbs.onThumbClick);
},
onThumbClick: function onThumbClick(){
var swiper=this;
var thumbsSwiper=swiper.thumbs.swiper;
if(!thumbsSwiper){ return; }
var clickedIndex=thumbsSwiper.clickedIndex;
var clickedSlide=thumbsSwiper.clickedSlide;
if(clickedSlide&&$(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)){ return; }
if(typeof clickedIndex==='undefined'||clickedIndex===null){ return; }
var slideToIndex;
if(thumbsSwiper.params.loop){
slideToIndex=parseInt($(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10);
}else{
slideToIndex=clickedIndex;
}
if(swiper.params.loop){
var currentIndex=swiper.activeIndex;
if(swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)){
swiper.loopFix();
swiper._clientLeft=swiper.$wrapperEl[0].clientLeft;
currentIndex=swiper.activeIndex;
}
var prevIndex=swiper.slides.eq(currentIndex).prevAll(("[data-swiper-slide-index=\"" + slideToIndex + "\"]")).eq(0).index();
var nextIndex=swiper.slides.eq(currentIndex).nextAll(("[data-swiper-slide-index=\"" + slideToIndex + "\"]")).eq(0).index();
if(typeof prevIndex==='undefined'){ slideToIndex=nextIndex; }
else if(typeof nextIndex==='undefined'){ slideToIndex=prevIndex; }
else if(nextIndex - currentIndex < currentIndex - prevIndex){ slideToIndex=nextIndex; }else{ slideToIndex=prevIndex; }}
swiper.slideTo(slideToIndex);
},
update: function update(initial){
var swiper=this;
var thumbsSwiper=swiper.thumbs.swiper;
if(!thumbsSwiper){ return; }
var slidesPerView=thumbsSwiper.params.slidesPerView==='auto'
? thumbsSwiper.slidesPerViewDynamic()
: thumbsSwiper.params.slidesPerView;
if(swiper.realIndex!==thumbsSwiper.realIndex){
var currentThumbsIndex=thumbsSwiper.activeIndex;
var newThumbsIndex;
if(thumbsSwiper.params.loop){
if(thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)){
thumbsSwiper.loopFix();
thumbsSwiper._clientLeft=thumbsSwiper.$wrapperEl[0].clientLeft;
currentThumbsIndex=thumbsSwiper.activeIndex;
}
var prevThumbsIndex=thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(("[data-swiper-slide-index=\"" + (swiper.realIndex) + "\"]")).eq(0).index();
var nextThumbsIndex=thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(("[data-swiper-slide-index=\"" + (swiper.realIndex) + "\"]")).eq(0).index();
if(typeof prevThumbsIndex==='undefined'){ newThumbsIndex=nextThumbsIndex; }
else if(typeof nextThumbsIndex==='undefined'){ newThumbsIndex=prevThumbsIndex; }
else if(nextThumbsIndex - currentThumbsIndex===currentThumbsIndex - prevThumbsIndex){ newThumbsIndex=currentThumbsIndex; }
else if(nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex){ newThumbsIndex=nextThumbsIndex; }else{ newThumbsIndex=prevThumbsIndex; }}else{
newThumbsIndex=swiper.realIndex;
}
if(thumbsSwiper.visibleSlidesIndexes&&thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0){
if(thumbsSwiper.params.centeredSlides){
if(newThumbsIndex > currentThumbsIndex){
newThumbsIndex=newThumbsIndex - Math.floor(slidesPerView / 2) + 1;
}else{
newThumbsIndex=newThumbsIndex + Math.floor(slidesPerView / 2) - 1;
}}else if(newThumbsIndex > currentThumbsIndex){
newThumbsIndex=newThumbsIndex - slidesPerView + 1;
}
thumbsSwiper.slideTo(newThumbsIndex, initial ? 0:undefined);
}}
var thumbsToActivate=1;
var thumbActiveClass=swiper.params.thumbs.slideThumbActiveClass;
if(swiper.params.slidesPerView > 1&&!swiper.params.centeredSlides){
thumbsToActivate=swiper.params.slidesPerView;
}
if(!swiper.params.thumbs.multipleActiveThumbs){
thumbsToActivate=1;
}
thumbsToActivate=Math.floor(thumbsToActivate);
thumbsSwiper.slides.removeClass(thumbActiveClass);
if(thumbsSwiper.params.loop||(thumbsSwiper.params.virtual&&thumbsSwiper.params.virtual.enabled)){
for (var i=0; i < thumbsToActivate; i +=1){
thumbsSwiper.$wrapperEl.children(("[data-swiper-slide-index=\"" + (swiper.realIndex + i) + "\"]")).addClass(thumbActiveClass);
}}else{
for (var i$1=0; i$1 < thumbsToActivate; i$1 +=1){
thumbsSwiper.slides.eq(swiper.realIndex + i$1).addClass(thumbActiveClass);
}}
},
};
var Thumbs$1={
name: 'thumbs',
params: {
thumbs: {
multipleActiveThumbs: true,
swiper: null,
slideThumbActiveClass: 'swiper-slide-thumb-active',
thumbsContainerClass: 'swiper-container-thumbs',
},
},
create: function create(){
var swiper=this;
Utils.extend(swiper, {
thumbs: {
swiper: null,
init: Thumbs.init.bind(swiper),
update: Thumbs.update.bind(swiper),
onThumbClick: Thumbs.onThumbClick.bind(swiper),
},
});
},
on: {
beforeInit: function beforeInit(){
var swiper=this;
var ref=swiper.params;
var thumbs=ref.thumbs;
if(!thumbs||!thumbs.swiper){ return; }
swiper.thumbs.init();
swiper.thumbs.update(true);
},
slideChange: function slideChange(){
var swiper=this;
if(!swiper.thumbs.swiper){ return; }
swiper.thumbs.update();
},
update: function update(){
var swiper=this;
if(!swiper.thumbs.swiper){ return; }
swiper.thumbs.update();
},
resize: function resize(){
var swiper=this;
if(!swiper.thumbs.swiper){ return; }
swiper.thumbs.update();
},
observerUpdate: function observerUpdate(){
var swiper=this;
if(!swiper.thumbs.swiper){ return; }
swiper.thumbs.update();
},
setTransition: function setTransition(duration){
var swiper=this;
var thumbsSwiper=swiper.thumbs.swiper;
if(!thumbsSwiper){ return; }
thumbsSwiper.setTransition(duration);
},
beforeDestroy: function beforeDestroy(){
var swiper=this;
var thumbsSwiper=swiper.thumbs.swiper;
if(!thumbsSwiper){ return; }
if(swiper.thumbs.swiperCreated&&thumbsSwiper){
thumbsSwiper.destroy();
}},
},
};
var components=[
Device$1,
Support$1,
Browser$1,
Resize,
Observer$1,
Virtual$1,
Keyboard$1,
Mousewheel$1,
Navigation$1,
Pagination$1,
Scrollbar$1,
Parallax$1,
Zoom$1,
Lazy$1,
Controller$1,
A11y,
History$1,
HashNavigation$1,
Autoplay$1,
EffectFade,
EffectCube,
EffectFlip,
EffectCoverflow,
Thumbs$1
];
if(typeof Swiper.use==='undefined'){
Swiper.use=Swiper.Class.use;
Swiper.installModule=Swiper.Class.installModule;
}
Swiper.use(components);
return Swiper;
}));
var $jscomp$this=this;
(function(v,p){"function"===typeof define&&define.amd?define([],p):"object"===typeof module&&module.exports?module.exports=p():v.anime=p()})(this,function(){function v(a){if(!g.col(a))try{return document.querySelectorAll(a)}catch(b){}}function p(a){return a.reduce(function(a,d){return a.concat(g.arr(d)?p(d):d)},[])}function w(a){if(g.arr(a))return a;g.str(a)&&(a=v(a)||a);return a instanceof NodeList||a instanceof HTMLCollection?[].slice.call(a):[a]}function F(a,b){return a.some(function(a){return a===b})}
function A(a){var b={},d;for(d in a)b[d]=a[d];return b}function G(a,b){var d=A(a),c;for(c in a)d[c]=b.hasOwnProperty(c)?b[c]:a[c];return d}function B(a,b){var d=A(a),c;for(c in b)d[c]=g.und(a[c])?b[c]:a[c];return d}function S(a){a=a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,b,d,h){return b+b+d+d+h+h});var b=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);a=parseInt(b[1],16);var d=parseInt(b[2],16),b=parseInt(b[3],16);return"rgb("+a+","+d+","+b+")"}function T(a){function b(a,b,c){0>
c&&(c+=1);1<c&&--c;return c<1/6?a+6*(b-a)*c:.5>c?b:c<2/3?a+(b-a)*(2/3-c)*6:a}var d=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(a);a=parseInt(d[1])/360;var c=parseInt(d[2])/100,d=parseInt(d[3])/100;if(0==c)c=d=a=d;else{var e=.5>d?d*(1+c):d+c-d*c,l=2*d-e,c=b(l,e,a+1/3),d=b(l,e,a);a=b(l,e,a-1/3)}return"rgb("+255*c+","+255*d+","+255*a+")"}function x(a){if(a=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|pc|vw|vh|deg|rad|turn)?/.exec(a))return a[2]}function U(a){if(-1<a.indexOf("translate"))return"px";
if(-1<a.indexOf("rotate")||-1<a.indexOf("skew"))return"deg"}function H(a,b){return g.fnc(a)?a(b.target,b.id,b.total):a}function C(a,b){if(b in a.style)return getComputedStyle(a).getPropertyValue(b.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase())||"0"}function I(a,b){if(g.dom(a)&&F(V,b))return"transform";if(g.dom(a)&&(a.getAttribute(b)||g.svg(a)&&a[b]))return"attribute";if(g.dom(a)&&"transform"!==b&&C(a,b))return"css";if(null!=a[b])return"object"}function W(a,b){var d=U(b),d=-1<b.indexOf("scale")?
1:0+d;a=a.style.transform;if(!a)return d;for(var c=[],e=[],l=[],h=/(\w+)\((.+?)\)/g;c=h.exec(a);)e.push(c[1]),l.push(c[2]);a=l.filter(function(a,c){return e[c]===b});return a.length?a[0]:d}function J(a,b){switch(I(a,b)){case "transform":return W(a,b);case "css":return C(a,b);case "attribute":return a.getAttribute(b)}return a[b]||0}function K(a,b){var d=/^(\*=|\+=|-=)/.exec(a);if(!d)return a;b=parseFloat(b);a=parseFloat(a.replace(d[0],""));switch(d[0][0]){case "+":return b+a;case "-":return b-a;case "*":return b*
a}}function D(a){return g.obj(a)&&a.hasOwnProperty("totalLength")}function X(a,b){function d(c){c=void 0===c?0:c;return a.el.getPointAtLength(1<=b+c?b+c:0)}var c=d(),e=d(-1),l=d(1);switch(a.property){case "x":return c.x;case "y":return c.y;case "angle":return 180*Math.atan2(l.y-e.y,l.x-e.x)/Math.PI}}function L(a,b){var d=/-?\d*\.?\d+/g;a=D(a)?a.totalLength:a;if(g.col(a))b=g.rgb(a)?a:g.hex(a)?S(a):g.hsl(a)?T(a):void 0;else{var c=x(a);a=c?a.substr(0,a.length-c.length):a;b=b?a+b:a}b+="";return{original:b,
numbers:b.match(d)?b.match(d).map(Number):[0],strings:b.split(d)}}function Y(a,b){return b.reduce(function(b,c,e){return b+a[e-1]+c})}function M(a){return(a?p(g.arr(a)?a.map(w):w(a)):[]).filter(function(a,d,c){return c.indexOf(a)===d})}function Z(a){var b=M(a);return b.map(function(a,c){return{target:a,id:c,total:b.length}})}function aa(a,b){var d=A(b);if(g.arr(a)){var c=a.length;2!==c||g.obj(a[0])?g.fnc(b.duration)||(d.duration=b.duration/c):a={value:a}}return w(a).map(function(a,c){c=c?0:b.delay;
a=g.obj(a)&&!D(a)?a:{value:a};g.und(a.delay)&&(a.delay=c);return a}).map(function(a){return B(a,d)})}function ba(a,b){var d={},c;for(c in a){var e=H(a[c],b);g.arr(e)&&(e=e.map(function(a){return H(a,b)}),1===e.length&&(e=e[0]));d[c]=e}d.duration=parseFloat(d.duration);d.delay=parseFloat(d.delay);return d}function ca(a){return g.arr(a)?y.apply(this,a):N[a]}function da(a,b){var d;return a.tweens.map(function(c){c=ba(c,b);var e=c.value,l=J(b.target,a.name),h=d?d.to.original:l,h=g.arr(e)?e[0]:h,m=K(g.arr(e)?
e[1]:e,h),l=x(m)||x(h)||x(l);c.isPath=D(e);c.from=L(h,l);c.to=L(m,l);c.start=d?d.end:a.offset;c.end=c.start+c.delay+c.duration;c.easing=ca(c.easing);c.elasticity=(1E3-Math.min(Math.max(c.elasticity,1),999))/1E3;g.col(c.from.original)&&(c.round=1);return d=c})}function ea(a,b){return p(a.map(function(a){return b.map(function(b){var c=I(a.target,b.name);if(c){var d=da(b,a);b={type:c,property:b.name,animatable:a,tweens:d,duration:d[d.length-1].end,delay:d[0].delay}}else b=void 0;return b})})).filter(function(a){return!g.und(a)})}
function O(a,b,d){var c="delay"===a?Math.min:Math.max;return b.length?c.apply(Math,b.map(function(b){return b[a]})):d[a]}function fa(a){var b=G(ga,a),d=G(ha,a),c=Z(a.targets),e=[],g=B(b,d),h;for(h in a)g.hasOwnProperty(h)||"targets"===h||e.push({name:h,offset:g.offset,tweens:aa(a[h],d)});a=ea(c,e);return B(b,{children:[],animatables:c,animations:a,duration:O("duration",a,d),delay:O("delay",a,d)})}function n(a){function b(){return window.Promise&&new Promise(function(a){return Q=a})}function d(a){return f.reversed?
f.duration-a:a}function c(a){for(var b=0,c={},d=f.animations,e={};b<d.length;){var g=d[b],h=g.animatable,m=g.tweens;e.tween=m.filter(function(b){return a<b.end})[0]||m[m.length-1];e.isPath$1=e.tween.isPath;e.round=e.tween.round;e.eased=e.tween.easing(Math.min(Math.max(a-e.tween.start-e.tween.delay,0),e.tween.duration)/e.tween.duration,e.tween.elasticity);m=Y(e.tween.to.numbers.map(function(a){return function(b,c){c=a.isPath$1?0:a.tween.from.numbers[c];b=c+a.eased*(b-c);a.isPath$1&&(b=X(a.tween.value,
b));a.round&&(b=Math.round(b*a.round)/a.round);return b}}(e)),e.tween.to.strings);ia[g.type](h.target,g.property,m,c,h.id);g.currentValue=m;b++;e={isPath$1:e.isPath$1,tween:e.tween,eased:e.eased,round:e.round}}if(c)for(var k in c)E||(E=C(document.body,"transform")?"transform":"-webkit-transform"),f.animatables[k].target.style[E]=c[k].join(" ");f.currentTime=a;f.progress=a/f.duration*100}function e(a){if(f[a])f[a](f)}function g(){f.remaining&&!0!==f.remaining&&f.remaining--}function h(a){var h=f.duration,
l=f.offset,n=f.delay,P=f.currentTime,q=f.reversed,r=d(a),r=Math.min(Math.max(r,0),h);if(f.children){var p=f.children;if(r>=f.currentTime)for(var u=0;u<p.length;u++)p[u].seek(r);else for(u=p.length;u--;)p[u].seek(r)}r>l&&r<h?(c(r),!f.began&&r>=n&&(f.began=!0,e("begin")),e("run")):(r<=l&&0!==P&&(c(0),q&&g()),r>=h&&P!==h&&(c(h),q||g()));a>=h&&(f.remaining?(t=m,"alternate"===f.direction&&(f.reversed=!f.reversed)):(f.pause(),"Promise"in window&&(Q(),R=b()),f.completed||(f.completed=!0,e("complete"))),
k=0);e("update")}a=void 0===a?{}:a;var m,t,k=0,Q=null,R=b(),f=fa(a);f.reset=function(){var a=f.direction,b=f.loop;f.currentTime=0;f.progress=0;f.paused=!0;f.began=!1;f.completed=!1;f.reversed="reverse"===a;f.remaining="alternate"===a&&1===b?2:b;for(a=f.children.length;a--;)b=f.children[a],b.seek(b.offset),b.reset()};f.tick=function(a){m=a;t||(t=m);h((k+m-t)*n.speed)};f.seek=function(a){h(d(a))};f.pause=function(){var a=q.indexOf(f);-1<a&&q.splice(a,1);f.paused=!0};f.play=function(){f.paused&&(f.paused=
!1,t=0,k=d(f.currentTime),q.push(f),z||ja())};f.reverse=function(){f.reversed=!f.reversed;t=0;k=d(f.currentTime)};f.restart=function(){f.pause();f.reset();f.play()};f.finished=R;f.reset();f.autoplay&&f.play();return f}var ga={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:"normal",autoplay:!0,offset:0},ha={duration:1E3,delay:0,easing:"easeOutElastic",elasticity:500,round:0},V="translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY".split(" "),
E,g={arr:function(a){return Array.isArray(a)},obj:function(a){return-1<Object.prototype.toString.call(a).indexOf("Object")},svg:function(a){return a instanceof SVGElement},dom:function(a){return a.nodeType||g.svg(a)},str:function(a){return"string"===typeof a},fnc:function(a){return"function"===typeof a},und:function(a){return"undefined"===typeof a},hex:function(a){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a)},rgb:function(a){return/^rgb/.test(a)},hsl:function(a){return/^hsl/.test(a)},col:function(a){return g.hex(a)||
g.rgb(a)||g.hsl(a)}},y=function(){function a(a,d,c){return(((1-3*c+3*d)*a+(3*c-6*d))*a+3*d)*a}return function(b,d,c,e){if(0<=b&&1>=b&&0<=c&&1>=c){var g=new Float32Array(11);if(b!==d||c!==e)for(var h=0;11>h;++h)g[h]=a(.1*h,b,c);return function(h){if(b===d&&c===e)return h;if(0===h)return 0;if(1===h)return 1;for(var m=0,k=1;10!==k&&g[k]<=h;++k)m+=.1;--k;var k=m+(h-g[k])/(g[k+1]-g[k])*.1,l=3*(1-3*c+3*b)*k*k+2*(3*c-6*b)*k+3*b;if(.001<=l){for(m=0;4>m;++m){l=3*(1-3*c+3*b)*k*k+2*(3*c-6*b)*k+3*b;if(0===l)break;
var n=a(k,b,c)-h,k=k-n/l}h=k}else if(0===l)h=k;else{var k=m,m=m+.1,f=0;do n=k+(m-k)/2,l=a(n,b,c)-h,0<l?m=n:k=n;while(1e-7<Math.abs(l)&&10>++f);h=n}return a(h,d,e)}}}}(),N=function(){function a(a,b){return 0===a||1===a?a:-Math.pow(2,10*(a-1))*Math.sin(2*(a-1-b/(2*Math.PI)*Math.asin(1))*Math.PI/b)}var b="Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),d={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,
.335],[.6,-.28,.735,.045],a],Out:[[.25,.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(b,c){return 1-a(1-b,c)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(b,c){return.5>b?a(2*b,c)/2:1-a(-2*b+2,c)/2}]},c={linear:y(.25,.25,.75,.75)},e={},l;for(l in d)e.type=l,d[e.type].forEach(function(a){return function(d,
e){c["ease"+a.type+b[e]]=g.fnc(d)?d:y.apply($jscomp$this,d)}}(e)),e={type:e.type};return c}(),ia={css:function(a,b,d){return a.style[b]=d},attribute:function(a,b,d){return a.setAttribute(b,d)},object:function(a,b,d){return a[b]=d},transform:function(a,b,d,c,e){c[e]||(c[e]=[]);c[e].push(b+"("+d+")")}},q=[],z=0,ja=function(){function a(){z=requestAnimationFrame(b)}function b(b){var c=q.length;if(c){for(var d=0;d<c;)q[d]&&q[d].tick(b),d++;a()}else cancelAnimationFrame(z),z=0}return a}();n.version="2.0.2";
n.speed=1;n.running=q;n.remove=function(a){a=M(a);for(var b=q.length;b--;)for(var d=q[b],c=d.animations,e=c.length;e--;)F(a,c[e].animatable.target)&&(c.splice(e,1),c.length||d.pause())};n.getValue=J;n.path=function(a,b){var d=g.str(a)?v(a)[0]:a,c=b||100;return function(a){return{el:d,property:a,totalLength:d.getTotalLength()*(c/100)}}};n.setDashoffset=function(a){var b=a.getTotalLength();a.setAttribute("stroke-dasharray",b);return b};n.bezier=y;n.easings=N;n.timeline=function(a){var b=n(a);b.pause();
b.duration=0;b.add=function(a){b.children.forEach(function(a){a.began=!0;a.completed=!0});w(a).forEach(function(a){var c=b.duration,d=a.offset;a.autoplay=!1;a.offset=g.und(d)?c:K(d,c);b.seek(a.offset);a=n(a);a.duration>c&&(b.duration=a.duration);a.began=!0;b.children.push(a)});b.reset();b.seek(0);b.autoplay&&b.restart();return b};return b};n.random=function(a,b){return Math.floor(Math.random()*(b-a+1))+a};return n});
jQuery(document).ready(function($){
var animationDelay=2500,
barAnimationDelay=3800,
barWaiting=barAnimationDelay - 3000,
lettersDelay=50,
typeLettersDelay=150,
selectionDuration=500,
typeAnimationDelay=selectionDuration + 800,
revealDuration=600,
revealAnimationDelay=1500;
initHeadline();
function initHeadline(){
singleLetters($('.animationtext.letters').find('.item-text'));
animateHeadline($('.animationtext'));
}
function singleLetters($words){
$words.each(function(){
var word=$(this),
letters=word.text().split(''),
selected=word.hasClass('is-visible');
for (i in letters){
if(word.parents('.rotate-2').length > 0) letters[i]='<em>' + letters[i] + '</em>';
letters[i]=(selected) ? '<i class="in">' + letters[i] + '</i>': '<i>' + letters[i] + '</i>';
}
var newLetters=letters.join('');
word.html(newLetters).css('opacity', 1);
});
}
function animateHeadline($headlines){
var duration=animationDelay;
$headlines.each(function(){
var headline=$(this);
if(headline.hasClass('loading-bar')){
duration=barAnimationDelay;
setTimeout(function(){ headline.find('.cd-words-wrapper').addClass('is-loading') }, barWaiting);
}else if(headline.hasClass('clip')){
var spanWrapper=headline.find('.cd-words-wrapper'),
newWidth=spanWrapper.width() + 10
spanWrapper.css('width', newWidth);
}else if(!headline.hasClass('type')){
var words=headline.find('.cd-words-wrapper .item-text'),
width=0;
words.each(function(){
var wordWidth=$(this).width();
if(wordWidth > width) width=wordWidth;
});
headline.find('.cd-words-wrapper').css('width', width);
};
setTimeout(function(){ hideWord(headline.find('.is-visible').eq(0)) }, duration);
});
}
function hideWord($word){
var nextWord=takeNext($word);
if($word.parents('.animationtext').hasClass('type')){
var parentSpan=$word.parent('.cd-words-wrapper');
parentSpan.addClass('selected').removeClass('waiting');
setTimeout(function(){
parentSpan.removeClass('selected');
$word.removeClass('is-visible').addClass('is-hidden').children('i').removeClass('in').addClass('out');
}, selectionDuration);
setTimeout(function(){ showWord(nextWord, typeLettersDelay) }, typeAnimationDelay);
}else if($word.parents('.animationtext').hasClass('letters')){
var bool=($word.children('i').length >=nextWord.children('i').length) ? true:false;
hideLetter($word.find('i').eq(0), $word, bool, lettersDelay);
showLetter(nextWord.find('i').eq(0), nextWord, bool, lettersDelay);
}else if($word.parents('.animationtext').hasClass('clip')){
$word.parents('.cd-words-wrapper').animate({ width:'2px' }, revealDuration, function(){
switchWord($word, nextWord);
showWord(nextWord);
});
}else if($word.parents('.animationtext').hasClass('loading-bar')){
$word.parents('.cd-words-wrapper').removeClass('is-loading');
switchWord($word, nextWord);
setTimeout(function(){ hideWord(nextWord) }, barAnimationDelay);
setTimeout(function(){ $word.parents('.cd-words-wrapper').addClass('is-loading') }, barWaiting);
}else{
switchWord($word, nextWord);
setTimeout(function(){ hideWord(nextWord) }, animationDelay);
}}
function showWord($word, $duration){
if($word.parents('.animationtext').hasClass('type')){
showLetter($word.find('i').eq(0), $word, false, $duration);
$word.addClass('is-visible').removeClass('is-hidden');
}else if($word.parents('.animationtext').hasClass('clip')){
$word.parents('.cd-words-wrapper').animate({ 'width':$word.width() + 10 }, revealDuration, function(){
setTimeout(function(){ hideWord($word) }, revealAnimationDelay);
});
}}
function hideLetter($letter, $word, $bool, $duration){
$letter.removeClass('in').addClass('out');
if(!$letter.is(':last-child')){
setTimeout(function(){ hideLetter($letter.next(), $word, $bool, $duration); }, $duration);
}else if($bool){
setTimeout(function(){ hideWord(takeNext($word)) }, animationDelay);
}
if($letter.is(':last-child')&&$('html').hasClass('no-csstransitions')){
var nextWord=takeNext($word);
switchWord($word, nextWord);
}}
function showLetter($letter, $word, $bool, $duration){
$letter.addClass('in').removeClass('out');
if(!$letter.is(':last-child')){
setTimeout(function(){ showLetter($letter.next(), $word, $bool, $duration); }, $duration);
}else{
if($word.parents('.animationtext').hasClass('type')){ setTimeout(function(){ $word.parents('.cd-words-wrapper').addClass('waiting'); }, 200);}
if(!$bool){ setTimeout(function(){ hideWord($word) }, animationDelay) }}
}
function takeNext($word){
return (!$word.is(':last-child')) ? $word.next():$word.parent().children().eq(0);
}
function takePrev($word){
return (!$word.is(':first-child')) ? $word.prev():$word.parent().children().last();
}
function switchWord($oldWord, $newWord){
$oldWord.removeClass('is-visible').addClass('is-hidden');
$newWord.removeClass('is-hidden').addClass('is-visible');
}});
(function(t){"use strict";function e(t,e,a){if(!1===lwAioSaveGaEvents)return;const i={action:"lw_all_in_one_save_ga_event",security:lw_all_in_one_save_ga_event_object.security,event_category:t,event_action:e,event_label:a};jQuery.post(lw_all_in_one_save_ga_event_object.ajaxurl,i,function(t){})}function a(e,a,i){t.inArray(lwAioTrackingType,["UA","G"])>-1&&gtag("event",a,{event_category:e,event_label:i})}t(window).on("load",function(){lwAioGaActivate&&(lwAioMonitorEmailLink&&t('a[href^="mailto"]').click(function(){var t=this.getAttribute("data-vars-ga-category")||"email",i=this.getAttribute("data-vars-ga-action")||"send",n=this.getAttribute("data-vars-ga-label")||this.href;a(t,i,n),e(t,i,n)}),lwAioMonitorTelLink&&t('a[href^="tel"]').click(function(){var t=this.getAttribute("data-vars-ga-category")||"telephone",i=this.getAttribute("data-vars-ga-action")||"call",n=this.getAttribute("data-vars-ga-label")||this.href;a(t,i,n),e(t,i,n)}),lwAioMonitorFormSubmit&&t(".wpcf7").on("wpcf7mailsent",function(t){var i=t.currentTarget.baseURI;a("form","submit",i),e("form","submit",i)}))}),t(window).on("load",function(){t('[id="rag_soc"]').length>1&&console.log("wim_twice")})})(jQuery);
!function(){class e{constructor(){this.initSettings(),this.initElements(),this.bindEvents()}initSettings(){this.settings={selectors:{menuToggle:".site-header .site-navigation-toggle",menuToggleHolder:".site-header .site-navigation-toggle-holder",dropdownMenu:".site-header .site-navigation-dropdown"}}}initElements(){this.elements={window:window,menuToggle:document.querySelector(this.settings.selectors.menuToggle),menuToggleHolder:document.querySelector(this.settings.selectors.menuToggleHolder),dropdownMenu:document.querySelector(this.settings.selectors.dropdownMenu)}}bindEvents(){this.elements.menuToggleHolder&&!this.elements.menuToggleHolder?.classList.contains("hide")&&(this.elements.menuToggle.addEventListener("click",()=>this.handleMenuToggle()),this.elements.dropdownMenu.querySelectorAll(".menu-item-has-children > a").forEach(e=>e.addEventListener("click",e=>this.handleMenuChildren(e))))}closeMenuItems(){this.elements.menuToggleHolder.classList.remove("elementor-active"),this.elements.window.removeEventListener("resize",()=>this.closeMenuItems())}handleMenuToggle(){const e=!this.elements.menuToggleHolder.classList.contains("elementor-active");this.elements.menuToggle.setAttribute("aria-expanded",e),this.elements.dropdownMenu.setAttribute("aria-hidden",!e),this.elements.dropdownMenu.inert=!e,this.elements.menuToggleHolder.classList.toggle("elementor-active",e),this.elements.dropdownMenu.querySelectorAll(".elementor-active").forEach(e=>e.classList.remove("elementor-active")),e?this.elements.window.addEventListener("resize",()=>this.closeMenuItems()):this.elements.window.removeEventListener("resize",()=>this.closeMenuItems())}handleMenuChildren(e){const t=e.currentTarget.parentElement;t?.classList&&t.classList.toggle("elementor-active")}}document.addEventListener("DOMContentLoaded",()=>{new e})}();
;(function($){
"use strict";
var tf_responsive_menu=function(){
$('.tf-nav-menu').each(function(){
var $this=$(this).data('id_random'),
$tf_nav_menu=$('.'+$this),
$btn_menu_mobile=$('.'+$this).find('.btn-menu-mobile'),
$close_menu_panel_style_default=$('.'+$this).find('.close-menu-panel-style-default'),
$btn_menu_only=$('.'+$this).find('.btn-menu-only'),
$mobile_menu_overlay=$('.'+$this).find('.mobile-menu-overlay'),
$mobile_menu_close=$('.'+$this).find('.tf-close');
$('.'+$this).find('.btn-submenu').remove();
var hasChildMenu=$tf_nav_menu.find('.mainnav-mobi').find('li:has(ul)');
hasChildMenu.children('ul').hide();
hasChildMenu.children('a').after('<span class="btn-submenu"><i class="fa fa-angle-down" aria-hidden="true"></i></span>');
var menuType='desktop';
$(window).on('load resize', function(){
var currMenuType='desktop';
if(matchMedia('only screen and (max-width: 991px)').matches){
currMenuType='mobile';
}
if(currMenuType!==menuType){
menuType=currMenuType;
}else{
$('.'+$this).find('.mobile-menu-overlay').removeClass('active');
$('.'+$this).find('.nav-panel').removeClass('active');
}});
$(document).on('click', '.mainnav-mobi li .btn-submenu', function(e){
$(this).toggleClass('active').next('ul').slideToggle(300);
e.stopImmediatePropagation();
e.preventDefault();
});
$($btn_menu_mobile).on('click', function(){
$(this).addClass('active');
$(this).siblings().addClass('active');
});
$($close_menu_panel_style_default).on('click', function(){
$(this).closest('.nav-panel').removeClass('active');
$(this).closest('.nav-panel').siblings().removeClass('active');
});
$($mobile_menu_overlay).on('click', function(){
$(this).siblings().removeClass('active');
$(this).removeClass('active');
});
$($mobile_menu_close).on('click', function(){
$(this).siblings().removeClass('active');
$(this).removeClass('active');
});
$($btn_menu_only).on('click', function(){
$(this).siblings().addClass('active');
});
});
}
var tf_onepage_nav=function (){
$('.tf-nav-menu.has-one-page .mainnav > ul > li > a').on('click',function(e){
var anchor=$(this).attr('href').split('#')[1];
var largeScreen=matchMedia('only screen and (min-width: 992px)').matches;
var headerHeight=0;
headerHeight=$('.header').height();
if(anchor){
if($('#'+anchor).length > 0){
if($('.header-shadow').length > 0){
headerHeight=headerHeight;
}else{
headerHeight=0;
}
var target=$('#'+anchor).offset().top - headerHeight;
$('html,body').animate({scrollTop: target}, 1000, 'easeInOutExpo');
}}
e.preventDefault();
});
}
$(window).on('elementor/frontend/init', function(){
elementorFrontend.hooks.addAction('frontend/element_ready/tf-nav-menu.default', tf_responsive_menu);
elementorFrontend.hooks.addAction('frontend/element_ready/tf-nav-menu.default', tf_onepage_nav);
});
})(jQuery);
(()=>{"use strict";var e,r,_,t,a,n={},i={};function __webpack_require__(e){var r=i[e];if(void 0!==r)return r.exports;var _=i[e]={id:e,loaded:!1,exports:{}};return n[e].call(_.exports,_,_.exports,__webpack_require__),_.loaded=!0,_.exports}__webpack_require__.m=n,e=[],__webpack_require__.O=(r,_,t,a)=>{if(!_){var n=1/0;for(b=0;b<e.length;b++){for(var[_,t,a]=e[b],i=!0,c=0;c<_.length;c++)(!1&a||n>=a)&&Object.keys(__webpack_require__.O).every(e=>__webpack_require__.O[e](_[c]))?_.splice(c--,1):(i=!1,a<n&&(n=a));if(i){e.splice(b--,1);var o=t();void 0!==o&&(r=o)}}return r}a=a||0;for(var b=e.length;b>0&&e[b-1][2]>a;b--)e[b]=e[b-1];e[b]=[_,t,a]},_=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var a=Object.create(null);__webpack_require__.r(a);var n={};r=r||[null,_({}),_([]),_(_)];for(var i=2&t&&e;("object"==typeof i||"function"==typeof i)&&!~r.indexOf(i);i=_(i))Object.getOwnPropertyNames(i).forEach(r=>n[r]=()=>e[r]);return n.default=()=>e,__webpack_require__.d(a,n),a},__webpack_require__.d=(e,r)=>{for(var _ in r)__webpack_require__.o(r,_)&&!__webpack_require__.o(e,_)&&Object.defineProperty(e,_,{enumerable:!0,get:r[_]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((r,_)=>(__webpack_require__.f[_](e,r),r),[])),__webpack_require__.u=e=>786===e?"397f2d183c19202777d6.bundle.min.js":216===e?"lightbox.570c05c5a283cfb6b223.bundle.min.js":30===e?"text-path.a67c1f3a78d208bc7e1b.bundle.min.js":131===e?"accordion.8b0db5058afeb74622f5.bundle.min.js":707===e?"alert.b4336601ffdb6086d1b5.bundle.min.js":457===e?"counter.12335f45aaa79d244f24.bundle.min.js":234===e?"progress.0ea083b809812c0e3aa1.bundle.min.js":575===e?"tabs.18344b05d8d1ea0702bc.bundle.min.js":775===e?"toggle.2a177a3ef4785d3dfbc5.bundle.min.js":180===e?"video.86d44e46e43d0807e708.bundle.min.js":177===e?"image-carousel.6167d20b95b33386757b.bundle.min.js":212===e?"text-editor.45609661e409413f1cef.bundle.min.js":211===e?"wp-audio.c9624cb6e5dc9de86abd.bundle.min.js":215===e?"nested-tabs.a2401356d329f179475e.bundle.min.js":915===e?"nested-accordion.294d40984397351fd0f5.bundle.min.js":1===e?"contact-buttons.e98d0220ce8c38404e7e.bundle.min.js":336===e?"floating-bars.740d06d17cea5cebdb61.bundle.min.js":557===e?"shared-frontend-handlers.03caa53373b56d3bab67.bundle.min.js":396===e?"shared-editor-handlers.cacdcbed391abf4b48b0.bundle.min.js":768===e?"container-editor-handlers.a2e8e48d28c5544fb183.bundle.min.js":77===e?"section-frontend-handlers.d85ab872da118940910d.bundle.min.js":220===e?"section-editor-handlers.53ffedef32043348b99b.bundle.min.js":304===e?"nested-title-keyboard-handler.2a67d3cc630e11815acc.bundle.min.js":void 0,__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},a="elementorFrontend:",__webpack_require__.l=(e,r,_,n)=>{if(t[e])t[e].push(r);else{var i,c;if(void 0!==_)for(var o=document.getElementsByTagName("script"),b=0;b<o.length;b++){var d=o[b];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==a+_){i=d;break}}i||(c=!0,(i=document.createElement("script")).charset="utf-8",__webpack_require__.nc&&i.setAttribute("nonce",__webpack_require__.nc),i.setAttribute("data-webpack",a+_),i.src=e),t[e]=[r];var onScriptComplete=(r,_)=>{i.onerror=i.onload=null,clearTimeout(u);var a=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),a&&a.forEach(e=>e(_)),r)return r(_)},u=setTimeout(onScriptComplete.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=onScriptComplete.bind(null,i.onerror),i.onload=onScriptComplete.bind(null,i.onload),c&&document.head.appendChild(i)}},__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var r=__webpack_require__.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var _=r.getElementsByTagName("script");if(_.length)for(var t=_.length-1;t>-1&&(!e||!/^http(s?):/.test(e));)e=_[t--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{var e={76:0};__webpack_require__.f.j=(r,_)=>{var t=__webpack_require__.o(e,r)?e[r]:void 0;if(0!==t)if(t)_.push(t[2]);else if(76!=r){var a=new Promise((_,a)=>t=e[r]=[_,a]);_.push(t[2]=a);var n=__webpack_require__.p+__webpack_require__.u(r),i=new Error;__webpack_require__.l(n,_=>{if(__webpack_require__.o(e,r)&&(0!==(t=e[r])&&(e[r]=void 0),t)){var a=_&&("load"===_.type?"missing":_.type),n=_&&_.target&&_.target.src;i.message="Loading chunk "+r+" failed.\n("+a+": "+n+")",i.name="ChunkLoadError",i.type=a,i.request=n,t[1](i)}},"chunk-"+r,r)}else e[r]=0},__webpack_require__.O.j=r=>0===e[r];var webpackJsonpCallback=(r,_)=>{var t,a,[n,i,c]=_,o=0;if(n.some(r=>0!==e[r])){for(t in i)__webpack_require__.o(i,t)&&(__webpack_require__.m[t]=i[t]);if(c)var b=c(__webpack_require__)}for(r&&r(_);o<n.length;o++)a=n[o],__webpack_require__.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return __webpack_require__.O(b)},r=self.webpackChunkelementorFrontend=self.webpackChunkelementorFrontend||[];r.forEach(webpackJsonpCallback.bind(null,0)),r.push=webpackJsonpCallback.bind(null,r.push.bind(r))})()})();
(self.webpackChunkelementorFrontend=self.webpackChunkelementorFrontend||[]).push([[941],{1:(e,t,r)=>{"use strict";var n=r(5578),i=r(7255),s=r(5755),o=r(1866),a=r(6029),c=r(5022),l=n.Symbol,u=i("wks"),p=c?l.for||l:l&&l.withoutSetter||o;e.exports=function(e){return s(u,e)||(u[e]=a&&s(l,e)?l[e]:p("Symbol."+e)),u[e]}},41:e=>{"use strict";e.exports=function(e){return{iterator:e,next:e.next,done:!1}}},169:(e,t,r)=>{"use strict";var n=r(4762),i=r(8473),s=r(1483),o=r(5755),a=r(382),c=r(2048).CONFIGURABLE,l=r(7268),u=r(4483),p=u.enforce,d=u.get,h=String,f=Object.defineProperty,g=n("".slice),m=n("".replace),v=n([].join),y=a&&!i(function(){return 8!==f(function(){},"length",{value:8}).length}),w=String(String).split("String"),b=e.exports=function(e,t,r){"Symbol("===g(h(t),0,7)&&(t="["+m(h(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!o(e,"name")||c&&e.name!==t)&&(a?f(e,"name",{value:t,configurable:!0}):e.name=t),y&&r&&o(r,"arity")&&e.length!==r.arity&&f(e,"length",{value:r.arity});try{r&&o(r,"constructor")&&r.constructor?a&&f(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var n=p(e);return o(n,"source")||(n.source=v(w,"string"==typeof t?t:"")),e};Function.prototype.toString=b(function toString(){return s(this)&&d(this).source||l(this)},"toString")},274:(e,t,r)=>{"use strict";var n=r(8473);e.exports=!n(function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})},348:(e,t,r)=>{"use strict";var n=r(1807),i=r(1483),s=r(1704),o=TypeError;e.exports=function(e,t){var r,a;if("string"===t&&i(r=e.toString)&&!s(a=n(r,e)))return a;if(i(r=e.valueOf)&&!s(a=n(r,e)))return a;if("string"!==t&&i(r=e.toString)&&!s(a=n(r,e)))return a;throw new o("Can't convert object to primitive value")}},382:(e,t,r)=>{"use strict";var n=r(8473);e.exports=!n(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})},641:(e,t,r)=>{"use strict";r(5724),r(4846),r(7458),r(9655);const Module=function(){const e=jQuery,t=arguments,r=this,n={};let i;this.getItems=function(e,t){if(t){const r=t.split("."),n=r.splice(0,1);if(!r.length)return e[n];if(!e[n])return;return this.getItems(e[n],r.join("."))}return e},this.getSettings=function(e){return this.getItems(i,e)},this.setSettings=function(t,n,s){if(s||(s=i),"object"==typeof t)return e.extend(s,t),r;const o=t.split("."),a=o.splice(0,1);return o.length?(s[a]||(s[a]={}),r.setSettings(o.join("."),n,s[a])):(s[a]=n,r)},this.getErrorMessage=function(e,t){let r;if("forceMethodImplementation"===e)r=`The method '${t}' must to be implemented in the inheritor child.`;else r="An error occurs";return r},this.forceMethodImplementation=function(e){throw new Error(this.getErrorMessage("forceMethodImplementation",e))},this.on=function(t,i){if("object"==typeof t)return e.each(t,function(e){r.on(e,this)}),r;return t.split(" ").forEach(function(e){n[e]||(n[e]=[]),n[e].push(i)}),r},this.off=function(e,t){if(!n[e])return r;if(!t)return delete n[e],r;const i=n[e].indexOf(t);return-1!==i&&(delete n[e][i],n[e]=n[e].filter(e=>e)),r},this.trigger=function(t){const i="on"+t[0].toUpperCase()+t.slice(1),s=Array.prototype.slice.call(arguments,1);r[i]&&r[i].apply(r,s);const o=n[t];return o?(e.each(o,function(e,t){t.apply(r,s)}),r):r},r.__construct.apply(r,t),e.each(r,function(e){const t=r[e];"function"==typeof t&&(r[e]=function(){return t.apply(r,arguments)})}),function(){i=r.getDefaultSettings();const n=t[0];n&&e.extend(!0,i,n)}(),r.trigger("init")};Module.prototype.__construct=function(){},Module.prototype.getDefaultSettings=function(){return{}},Module.prototype.getConstructorID=function(){return this.constructor.name},Module.extend=function(e){const t=jQuery,r=this,child=function(){return r.apply(this,arguments)};return t.extend(child,r),(child.prototype=Object.create(t.extend({},r.prototype,e))).constructor=child,child.__super__=r.prototype,child},e.exports=Module},670:(e,t,r)=>{"use strict";var n=r(382),i=r(5835),s=r(7738);e.exports=function(e,t,r){n?i.f(e,t,s(0,r)):e[t]=r}},751:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(5724),r(4846),r(9655);class InstanceType{static[Symbol.hasInstance](e){let t=super[Symbol.hasInstance](e);if(e&&!e.constructor.getInstanceType)return t;if(e&&(e.instanceTypes||(e.instanceTypes=[]),t||this.getInstanceType()===e.constructor.getInstanceType()&&(t=!0),t)){const t=this.getInstanceType===InstanceType.getInstanceType?"BaseInstanceType":this.getInstanceType();-1===e.instanceTypes.indexOf(t)&&e.instanceTypes.push(t)}return!t&&e&&(t=e.instanceTypes&&Array.isArray(e.instanceTypes)&&-1!==e.instanceTypes.indexOf(this.getInstanceType())),t}static getInstanceType(){elementorModules.ForceMethodImplementation()}constructor(){let e=new.target;const t=[];for(;e.__proto__&&e.__proto__.name;)t.push(e.__proto__),e=e.__proto__;t.reverse().forEach(e=>this instanceof e)}}t.default=InstanceType},1091:e=>{"use strict";var t=TypeError;e.exports=function(e){if(e>9007199254740991)throw t("Maximum allowed index exceeded");return e}},1265:(e,t,r)=>{"use strict";var n=r(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(r(641)),s=n(r(2425)),o=n(r(2946)),a=n(r(3980)),c=n(r(2970)),l=n(r(8685)),u=r(9031),p=r(1462);const d={Module:i.default,ViewModule:s.default,ArgsObject:o.default,ForceMethodImplementation:l.default,utils:{Masonry:a.default,Scroll:c.default},importExport:{createGetInitialState:u.createGetInitialState,customizationDialogsRegistry:p.customizationDialogsRegistry}};window.elementorModules?Object.assign(window.elementorModules,d):window.elementorModules=d;t.default=window.elementorModules},1278:(e,t,r)=>{"use strict";var n=r(4762),i=n({}.toString),s=n("".slice);e.exports=function(e){return s(i(e),8,-1)}},1409:(e,t,r)=>{"use strict";var n=r(5578),i=r(1483);e.exports=function(e,t){return arguments.length<2?(r=n[e],i(r)?r:void 0):n[e]&&n[e][t];var r}},1423:(e,t,r)=>{"use strict";var n=r(1409),i=r(1483),s=r(4815),o=r(5022),a=Object;e.exports=o?function(e){return"symbol"==typeof e}:function(e){var t=n("Symbol");return i(t)&&s(t.prototype,a(e))}},1462:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.customizationDialogsRegistry=void 0;var n=r(7958);t.customizationDialogsRegistry=new n.BaseRegistry},1483:e=>{"use strict";var t="object"==typeof document&&document.all;e.exports=void 0===t&&void 0!==t?function(e){return"function"==typeof e||e===t}:function(e){return"function"==typeof e}},1506:(e,t,r)=>{"use strict";var n=r(2914),i=r(1807),s=r(2293),o=r(8761),a=r(5299),c=r(6960),l=r(4815),u=r(4887),p=r(6665),d=r(6721),h=TypeError,Result=function(e,t){this.stopped=e,this.result=t},f=Result.prototype;e.exports=function(e,t,r){var g,m,v,y,w,b,S,x=r&&r.that,E=!(!r||!r.AS_ENTRIES),I=!(!r||!r.IS_RECORD),_=!(!r||!r.IS_ITERATOR),C=!(!r||!r.INTERRUPTED),O=n(t,x),stop=function(e){return g&&d(g,"normal"),new Result(!0,e)},callFn=function(e){return E?(s(e),C?O(e[0],e[1],stop):O(e[0],e[1])):C?O(e,stop):O(e)};if(I)g=e.iterator;else if(_)g=e;else{if(!(m=p(e)))throw new h(o(e)+" is not iterable");if(a(m)){for(v=0,y=c(e);y>v;v++)if((w=callFn(e[v]))&&l(f,w))return w;return new Result(!1)}g=u(e,m)}for(b=I?e.next:g.next;!(S=i(b,g)).done;){try{w=callFn(S.value)}catch(e){d(g,"throw",e)}if("object"==typeof w&&w&&l(f,w))return w}return new Result(!1)}},1507:e=>{"use strict";e.exports={}},1703:e=>{"use strict";var t=Math.ceil,r=Math.floor;e.exports=Math.trunc||function trunc(e){var n=+e;return(n>0?r:t)(n)}},1704:(e,t,r)=>{"use strict";var n=r(1483);e.exports=function(e){return"object"==typeof e?null!==e:n(e)}},1799:(e,t,r)=>{"use strict";var n=r(382),i=r(8473),s=r(3145);e.exports=!n&&!i(function(){return 7!==Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a})},1807:(e,t,r)=>{"use strict";var n=r(274),i=Function.prototype.call;e.exports=n?i.bind(i):function(){return i.apply(i,arguments)}},1831:(e,t,r)=>{"use strict";var n=r(9557),i=r(5578),s=r(2095),o="__core-js_shared__",a=e.exports=i[o]||s(o,{});(a.versions||(a.versions=[])).push({version:"3.46.0",mode:n?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)",license:"https://github.com/zloirock/core-js/blob/v3.46.0/LICENSE",source:"https://github.com/zloirock/core-js"})},1851:(e,t,r)=>{"use strict";var n,i,s,o=r(8473),a=r(1483),c=r(1704),l=r(5290),u=r(3181),p=r(7914),d=r(1),h=r(9557),f=d("iterator"),g=!1;[].keys&&("next"in(s=[].keys())?(i=u(u(s)))!==Object.prototype&&(n=i):g=!0),!c(n)||o(function(){var e={};return n[f].call(e)!==e})?n={}:h&&(n=l(n)),a(n[f])||p(n,f,function(){return this}),e.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:g}},1866:(e,t,r)=>{"use strict";var n=r(4762),i=0,s=Math.random(),o=n(1.1.toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+o(++i+s,36)}},1975:(e,t,r)=>{"use strict";var n=r(8612),i=r(1807),s=r(8120),o=r(2293),a=r(41),c=r(8660),l=r(8901),u=r(9557),p=r(6721),d=r(7486),h=r(5267),f=!u&&!d("filter",function(){}),g=!u&&!f&&h("filter",TypeError),m=u||f||g,v=c(function(){for(var e,t,r=this.iterator,n=this.predicate,s=this.next;;){if(e=o(i(s,r)),this.done=!!e.done)return;if(t=e.value,l(r,n,[t,this.counter++],!0))return t}});n({target:"Iterator",proto:!0,real:!0,forced:m},{filter:function filter(e){o(this);try{s(e)}catch(e){p(this,"throw",e)}return g?i(g,this,e):new v(a(this),{predicate:e})}})},1983:(e,t,r)=>{"use strict";var n=r(6721);e.exports=function(e,t,r){for(var i=e.length-1;i>=0;i--)if(void 0!==e[i])try{r=n(e[i].iterator,t,r)}catch(e){t="throw",r=e}if("throw"===t)throw r;return r}},2048:(e,t,r)=>{"use strict";var n=r(382),i=r(5755),s=Function.prototype,o=n&&Object.getOwnPropertyDescriptor,a=i(s,"name"),c=a&&"something"===function something(){}.name,l=a&&(!n||n&&o(s,"name").configurable);e.exports={EXISTS:a,PROPER:c,CONFIGURABLE:l}},2095:(e,t,r)=>{"use strict";var n=r(5578),i=Object.defineProperty;e.exports=function(e,t){try{i(n,e,{value:t,configurable:!0,writable:!0})}catch(r){n[e]=t}return t}},2121:(e,t,r)=>{"use strict";var n=r(4762),i=r(8473),s=r(1278),o=Object,a=n("".split);e.exports=i(function(){return!o("z").propertyIsEnumerable(0)})?function(e){return"String"===s(e)?a(e,""):o(e)}:o},2278:(e,t,r)=>{"use strict";var n=r(6742),i=r(4741).concat("length","prototype");t.f=Object.getOwnPropertyNames||function getOwnPropertyNames(e){return n(e,i)}},2293:(e,t,r)=>{"use strict";var n=r(1704),i=String,s=TypeError;e.exports=function(e){if(n(e))return e;throw new s(i(e)+" is not an object")}},2313:(e,t,r)=>{"use strict";var n=r(7914);e.exports=function(e,t,r){for(var i in t)n(e,i,t[i],r);return e}},2347:(e,t,r)=>{"use strict";var n=r(3312),i=Object;e.exports=function(e){return i(n(e))}},2355:(e,t,r)=>{"use strict";var n=r(1807),i=r(1704),s=r(1423),o=r(2564),a=r(348),c=r(1),l=TypeError,u=c("toPrimitive");e.exports=function(e,t){if(!i(e)||s(e))return e;var r,c=o(e,u);if(c){if(void 0===t&&(t="default"),r=n(c,e,t),!i(r)||s(r))return r;throw new l("Can't convert object to primitive value")}return void 0===t&&(t="number"),a(e,t)}},2425:(e,t,r)=>{"use strict";var n=r(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(r(641));t.default=i.default.extend({elements:null,getDefaultElements:()=>({}),bindEvents(){},onInit(){this.initElements(),this.bindEvents()},initElements(){this.elements=this.getDefaultElements()}})},2564:(e,t,r)=>{"use strict";var n=r(8120),i=r(5983);e.exports=function(e,t){var r=e[t];return i(r)?void 0:n(r)}},2811:(e,t,r)=>{"use strict";var n=r(1409);e.exports=n("document","documentElement")},2890:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(4846),r(6211);class _default extends elementorModules.ViewModule{getDefaultSettings(){return{selectors:{elements:".elementor-element",nestedDocumentElements:".elementor .elementor-element"},classes:{editMode:"elementor-edit-mode"}}}getDefaultElements(){const e=this.getSettings("selectors");return{$elements:this.$element.find(e.elements).not(this.$element.find(e.nestedDocumentElements))}}getDocumentSettings(e){let t;if(this.isEdit){t={};const e=elementor.settings.page.model;jQuery.each(e.getActiveControls(),r=>{t[r]=e.attributes[r]})}else t=this.$element.data("elementor-settings")||{};return this.getItems(t,e)}runElementsHandlers(){this.elements.$elements.each((e,t)=>setTimeout(()=>elementorFrontend.elementsHandler.runReadyTrigger(t)))}onInit(){this.$element=this.getSettings("$element"),super.onInit(),this.isEdit=this.$element.hasClass(this.getSettings("classes.editMode")),this.isEdit?elementor.on("document:loaded",()=>{elementor.settings.page.model.on("change",this.onSettingsChange.bind(this))}):this.runElementsHandlers()}onSettingsChange(){}}t.default=_default},2914:(e,t,r)=>{"use strict";var n=r(3786),i=r(8120),s=r(274),o=n(n.bind);e.exports=function(e,t){return i(e),void 0===t?e:s?o(e,t):function(){return e.apply(t,arguments)}}},2946:(e,t,r)=>{"use strict";var n=r(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(r(751)),s=n(r(5213));class ArgsObject extends i.default{static getInstanceType(){return"ArgsObject"}constructor(e){super(),this.args=e}requireArgument(e,t=this.args){if(!Object.prototype.hasOwnProperty.call(t,e))throw Error(`${e} is required.`)}requireArgumentType(e,t,r=this.args){if(this.requireArgument(e,r),typeof r[e]!==t)throw Error(`${e} invalid type: ${t}.`)}requireArgumentInstance(e,t,r=this.args){if(this.requireArgument(e,r),!(r[e]instanceof t||(0,s.default)(r[e],t)))throw Error(`${e} invalid instance.`)}requireArgumentConstructor(e,t,r=this.args){if(this.requireArgument(e,r),r[e].constructor.toString()!==t.prototype.constructor.toString())throw Error(`${e} invalid constructor type.`)}}t.default=ArgsObject},2970:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(5724);t.default=class Scroll{static scrollObserver(e){let t=0;const r={root:e.root||null,rootMargin:e.offset||"0px",threshold:((e=0)=>{const t=[];if(e>0&&e<=100){const r=100/e;for(let e=0;e<=100;e+=r)t.push(e/100)}else t.push(0);return t})(e.sensitivity)};return new IntersectionObserver(function handleIntersect(r){const n=r[0].boundingClientRect.y,i=r[0].isIntersecting,s=n<t?"down":"up",o=Math.abs(parseFloat((100*r[0].intersectionRatio).toFixed(2)));e.callback({sensitivity:e.sensitivity,isInViewport:i,scrollPercentage:o,intersectionScrollDirection:s}),t=n},r)}static getElementViewportPercentage(e,t={}){const r=e[0].getBoundingClientRect(),n=t.start||0,i=t.end||0,s=window.innerHeight*n/100,o=window.innerHeight*i/100,a=r.top-window.innerHeight,c=0-a+s,l=r.top+s+e.height()-a+o,u=Math.max(0,Math.min(c/l,1));return parseFloat((100*u).toFixed(2))}static getPageScrollPercentage(e={},t){const r=e.start||0,n=e.end||0,i=t||document.documentElement.scrollHeight-document.documentElement.clientHeight,s=i*r/100,o=i+s+i*n/100;return(document.documentElement.scrollTop+document.body.scrollTop+s)/o*100}}},3005:(e,t,r)=>{"use strict";var n=r(1703);e.exports=function(e){var t=+e;return t!=t||0===t?0:n(t)}},3145:(e,t,r)=>{"use strict";var n=r(5578),i=r(1704),s=n.document,o=i(s)&&i(s.createElement);e.exports=function(e){return o?s.createElement(e):{}}},3181:(e,t,r)=>{"use strict";var n=r(5755),i=r(1483),s=r(2347),o=r(5409),a=r(9441),c=o("IE_PROTO"),l=Object,u=l.prototype;e.exports=a?l.getPrototypeOf:function(e){var t=s(e);if(n(t,c))return t[c];var r=t.constructor;return i(r)&&t instanceof r?r.prototype:t instanceof l?u:null}},3242:(e,t,r)=>{"use strict";var n=r(8612),i=r(1807),s=r(1506),o=r(8120),a=r(2293),c=r(41),l=r(6721),u=r(5267)("find",TypeError);n({target:"Iterator",proto:!0,real:!0,forced:u},{find:function find(e){a(this);try{o(e)}catch(e){l(this,"throw",e)}if(u)return i(u,this,e);var t=c(this),r=0;return s(t,function(t,n){if(e(t,r++))return n(t)},{IS_RECORD:!0,INTERRUPTED:!0}).result}})},3312:(e,t,r)=>{"use strict";var n=r(5983),i=TypeError;e.exports=function(e){if(n(e))throw new i("Can't call method on "+e);return e}},3392:(e,t,r)=>{"use strict";var n=r(3005),i=Math.max,s=Math.min;e.exports=function(e,t){var r=n(e);return r<0?i(r+t,0):s(r,t)}},3617:(e,t,r)=>{"use strict";var n=r(8612),i=r(5578),s=r(6021),o=r(2293),a=r(1483),c=r(3181),l=r(3864),u=r(670),p=r(8473),d=r(5755),h=r(1),f=r(1851).IteratorPrototype,g=r(382),m=r(9557),v="constructor",y="Iterator",w=h("toStringTag"),b=TypeError,S=i[y],x=m||!a(S)||S.prototype!==f||!p(function(){S({})}),E=function Iterator(){if(s(this,f),c(this)===f)throw new b("Abstract class Iterator not directly constructable")},defineIteratorPrototypeAccessor=function(e,t){g?l(f,e,{configurable:!0,get:function(){return t},set:function(t){if(o(this),this===f)throw new b("You can't redefine this property");d(this,e)?this[e]=t:u(this,e,t)}}):f[e]=t};d(f,w)||defineIteratorPrototypeAccessor(w,y),!x&&d(f,v)&&f[v]!==Object||defineIteratorPrototypeAccessor(v,E),E.prototype=f,n({global:!0,constructor:!0,forced:x},{Iterator:E})},3658:(e,t,r)=>{"use strict";var n=r(6742),i=r(4741);e.exports=Object.keys||function keys(e){return n(e,i)}},3786:(e,t,r)=>{"use strict";var n=r(1278),i=r(4762);e.exports=function(e){if("Function"===n(e))return i(e)}},3815:(e,t,r)=>{"use strict";var n=r(2355),i=r(1423);e.exports=function(e){var t=n(e,"string");return i(t)?t:t+""}},3864:(e,t,r)=>{"use strict";var n=r(169),i=r(5835);e.exports=function(e,t,r){return r.get&&n(r.get,t,{getter:!0}),r.set&&n(r.set,t,{setter:!0}),i.f(e,t,r)}},3896:(e,t,r)=>{"use strict";var n=r(382),i=r(8473);e.exports=n&&i(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype})},3980:(e,t,r)=>{"use strict";var n=r(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(5724);var i=n(r(2425));t.default=i.default.extend({getDefaultSettings:()=>({container:null,items:null,columnsCount:3,verticalSpaceBetween:30}),getDefaultElements(){return{$container:jQuery(this.getSettings("container")),$items:jQuery(this.getSettings("items"))}},run(){var e=[],t=this.elements.$container.position().top,r=this.getSettings(),n=r.columnsCount;t+=parseInt(this.elements.$container.css("margin-top"),10),this.elements.$items.each(function(i){var s=Math.floor(i/n),o=jQuery(this),a=o[0].getBoundingClientRect().height+r.verticalSpaceBetween;if(s){var c=o.position(),l=i%n,u=c.top-t-e[l];u-=parseInt(o.css("margin-top"),10),u*=-1,o.css("margin-top",u+"px"),e[l]+=a}else e.push(a)})}})},3991:(e,t,r)=>{"use strict";var n=r(8612),i=r(1807),s=r(8120),o=r(2293),a=r(41),c=r(8660),l=r(8901),u=r(6721),p=r(7486),d=r(5267),h=r(9557),f=!h&&!p("map",function(){}),g=!h&&!f&&d("map",TypeError),m=h||f||g,v=c(function(){var e=this.iterator,t=o(i(this.next,e));if(!(this.done=!!t.done))return l(e,this.mapper,[t.value,this.counter++],!0)});n({target:"Iterator",proto:!0,real:!0,forced:m},{map:function map(e){o(this);try{s(e)}catch(e){u(this,"throw",e)}return g?i(g,this,e):new v(a(this),{mapper:e})}})},4338:(e,t,r)=>{"use strict";var n={};n[r(1)("toStringTag")]="z",e.exports="[object z]"===String(n)},4347:(e,t)=>{"use strict";t.f=Object.getOwnPropertySymbols},4364:(e,t,r)=>{"use strict";r(3991)},4483:(e,t,r)=>{"use strict";var n,i,s,o=r(4644),a=r(5578),c=r(1704),l=r(9037),u=r(5755),p=r(1831),d=r(5409),h=r(1507),f="Object already initialized",g=a.TypeError,m=a.WeakMap;if(o||p.state){var v=p.state||(p.state=new m);v.get=v.get,v.has=v.has,v.set=v.set,n=function(e,t){if(v.has(e))throw new g(f);return t.facade=e,v.set(e,t),t},i=function(e){return v.get(e)||{}},s=function(e){return v.has(e)}}else{var y=d("state");h[y]=!0,n=function(e,t){if(u(e,y))throw new g(f);return t.facade=e,l(e,y,t),t},i=function(e){return u(e,y)?e[y]:{}},s=function(e){return u(e,y)}}e.exports={set:n,get:i,has:s,enforce:function(e){return s(e)?i(e):n(e,{})},getterFor:function(e){return function(t){var r;if(!c(t)||(r=i(t)).type!==e)throw new g("Incompatible receiver, "+e+" required");return r}}}},4644:(e,t,r)=>{"use strict";var n=r(5578),i=r(1483),s=n.WeakMap;e.exports=i(s)&&/native code/.test(String(s))},4741:e=>{"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},4762:(e,t,r)=>{"use strict";var n=r(274),i=Function.prototype,s=i.call,o=n&&i.bind.bind(s,s);e.exports=n?o:function(e){return function(){return s.apply(e,arguments)}}},4815:(e,t,r)=>{"use strict";var n=r(4762);e.exports=n({}.isPrototypeOf)},4846:(e,t,r)=>{"use strict";r(3617)},4887:(e,t,r)=>{"use strict";var n=r(1807),i=r(8120),s=r(2293),o=r(8761),a=r(6665),c=TypeError;e.exports=function(e,t){var r=arguments.length<2?a(e):t;if(i(r))return s(n(r,e));throw new c(o(e)+" is not iterable")}},4914:(e,t,r)=>{"use strict";var n=r(1278);e.exports=Array.isArray||function isArray(e){return"Array"===n(e)}},4946:(e,t,r)=>{"use strict";var n=r(6784),i=n(r(1265)),s=n(r(2890)),o=n(r(7955)),a=n(r(8140)),c=n(r(7224)),l=n(r(5633)),u=n(r(9603));i.default.frontend={Document:s.default,tools:{StretchElement:o.default},handlers:{Base:c.default,StretchedElement:a.default,SwiperBase:l.default,CarouselBase:u.default}}},4961:(e,t,r)=>{"use strict";var n=r(382),i=r(1807),s=r(7611),o=r(7738),a=r(5599),c=r(3815),l=r(5755),u=r(1799),p=Object.getOwnPropertyDescriptor;t.f=n?p:function getOwnPropertyDescriptor(e,t){if(e=a(e),t=c(t),u)try{return p(e,t)}catch(e){}if(l(e,t))return o(!i(s.f,e,t),e[t])}},5022:(e,t,r)=>{"use strict";var n=r(6029);e.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},5213:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=(e,t)=>{t=Array.isArray(t)?t:[t];for(const r of t)if(e.constructor.name===r.prototype[Symbol.toStringTag])return!0;return!1}},5247:e=>{"use strict";e.exports=function(e,t){return{value:e,done:t}}},5267:(e,t,r)=>{"use strict";var n=r(5578);e.exports=function(e,t){var r=n.Iterator,i=r&&r.prototype,s=i&&i[e],o=!1;if(s)try{s.call({next:function(){return{done:!0}},return:function(){o=!0}},-1)}catch(e){e instanceof t||(o=!1)}if(!o)return s}},5290:(e,t,r)=>{"use strict";var n,i=r(2293),s=r(5799),o=r(4741),a=r(1507),c=r(2811),l=r(3145),u=r(5409),p="prototype",d="script",h=u("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(e){return"<"+d+">"+e+"</"+d+">"},NullProtoObjectViaActiveX=function(e){e.write(scriptTag("")),e.close();var t=e.parentWindow.Object;return e=null,t},NullProtoObject=function(){try{n=new ActiveXObject("htmlfile")}catch(e){}var e,t,r;NullProtoObject="undefined"!=typeof document?document.domain&&n?NullProtoObjectViaActiveX(n):(t=l("iframe"),r="java"+d+":",t.style.display="none",c.appendChild(t),t.src=String(r),(e=t.contentWindow.document).open(),e.write(scriptTag("document.F=Object")),e.close(),e.F):NullProtoObjectViaActiveX(n);for(var i=o.length;i--;)delete NullProtoObject[p][o[i]];return NullProtoObject()};a[h]=!0,e.exports=Object.create||function create(e,t){var r;return null!==e?(EmptyConstructor[p]=i(e),r=new EmptyConstructor,EmptyConstructor[p]=null,r[h]=e):r=NullProtoObject(),void 0===t?r:s.f(r,t)}},5299:(e,t,r)=>{"use strict";var n=r(1),i=r(6775),s=n("iterator"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(i.Array===e||o[s]===e)}},5409:(e,t,r)=>{"use strict";var n=r(7255),i=r(1866),s=n("keys");e.exports=function(e){return s[e]||(s[e]=i(e))}},5578:function(e,t,r){"use strict";var check=function(e){return e&&e.Math===Math&&e};e.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof r.g&&r.g)||check("object"==typeof this&&this)||function(){return this}()||Function("return this")()},5599:(e,t,r)=>{"use strict";var n=r(2121),i=r(3312);e.exports=function(e){return n(i(e))}},5633:(e,t,r)=>{"use strict";var n=r(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=n(r(7224));class SwiperHandlerBase extends i.default{getInitialSlide(){const e=this.getEditSettings();return e.activeItemIndex?e.activeItemIndex-1:0}getSlidesCount(){return this.elements.$slides.length}togglePauseOnHover(e){e?this.elements.$swiperContainer.on({mouseenter:()=>{this.swiper.autoplay.stop()},mouseleave:()=>{this.swiper.autoplay.start()}}):this.elements.$swiperContainer.off("mouseenter mouseleave")}handleKenBurns(){const e=this.getSettings();this.$activeImageBg&&this.$activeImageBg.removeClass(e.classes.kenBurnsActive),this.activeItemIndex=this.swiper?this.swiper.activeIndex:this.getInitialSlide(),this.swiper?this.$activeImageBg=jQuery(this.swiper.slides[this.activeItemIndex]).children("."+e.classes.slideBackground):this.$activeImageBg=jQuery(this.elements.$slides[0]).children("."+e.classes.slideBackground),this.$activeImageBg.addClass(e.classes.kenBurnsActive)}}t.default=SwiperHandlerBase},5724:(e,t,r)=>{"use strict";var n=r(8612),i=r(2347),s=r(6960),o=r(9273),a=r(1091);n({target:"Array",proto:!0,arity:1,forced:r(8473)(function(){return 4294967297!==[].push.call({length:4294967296},1)})||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}}()},{push:function push(e){var t=i(this),r=s(t),n=arguments.length;a(r+n);for(var c=0;c<n;c++)t[r]=arguments[c],r++;return o(t,r),r}})},5755:(e,t,r)=>{"use strict";var n=r(4762),i=r(2347),s=n({}.hasOwnProperty);e.exports=Object.hasOwn||function hasOwn(e,t){return s(i(e),t)}},5799:(e,t,r)=>{"use strict";var n=r(382),i=r(3896),s=r(5835),o=r(2293),a=r(5599),c=r(3658);t.f=n&&!i?Object.defineProperties:function defineProperties(e,t){o(e);for(var r,n=a(t),i=c(t),l=i.length,u=0;l>u;)s.f(e,r=i[u++],n[r]);return e}},5835:(e,t,r)=>{"use strict";var n=r(382),i=r(1799),s=r(3896),o=r(2293),a=r(3815),c=TypeError,l=Object.defineProperty,u=Object.getOwnPropertyDescriptor,p="enumerable",d="configurable",h="writable";t.f=n?s?function defineProperty(e,t,r){if(o(e),t=a(t),o(r),"function"==typeof e&&"prototype"===t&&"value"in r&&h in r&&!r[h]){var n=u(e,t);n&&n[h]&&(e[t]=r.value,r={configurable:d in r?r[d]:n[d],enumerable:p in r?r[p]:n[p],writable:!1})}return l(e,t,r)}:l:function defineProperty(e,t,r){if(o(e),t=a(t),o(r),i)try{return l(e,t,r)}catch(e){}if("get"in r||"set"in r)throw new c("Accessors not supported");return"value"in r&&(e[t]=r.value),e}},5983:e=>{"use strict";e.exports=function(e){return null==e}},6021:(e,t,r)=>{"use strict";var n=r(4815),i=TypeError;e.exports=function(e,t){if(n(t,e))return e;throw new i("Incorrect invocation")}},6029:(e,t,r)=>{"use strict";var n=r(6477),i=r(8473),s=r(5578).String;e.exports=!!Object.getOwnPropertySymbols&&!i(function(){var e=Symbol("symbol detection");return!s(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&n&&n<41})},6145:(e,t,r)=>{"use strict";var n=r(4338),i=r(1483),s=r(1278),o=r(1)("toStringTag"),a=Object,c="Arguments"===s(function(){return arguments}());e.exports=n?s:function(e){var t,r,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=a(e),o))?r:c?s(t):"Object"===(n=s(t))&&i(t.callee)?"Arguments":n}},6211:(e,t,r)=>{"use strict";r(3242)},6477:(e,t,r)=>{"use strict";var n,i,s=r(5578),o=r(9461),a=s.process,c=s.Deno,l=a&&a.versions||c&&c.version,u=l&&l.v8;u&&(i=(n=u.split("."))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!i&&o&&(!(n=o.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=o.match(/Chrome\/(\d+)/))&&(i=+n[1]),e.exports=i},6651:(e,t,r)=>{"use strict";var n=r(5599),i=r(3392),s=r(6960),createMethod=function(e){return function(t,r,o){var a=n(t),c=s(a);if(0===c)return!e&&-1;var l,u=i(o,c);if(e&&r!=r){for(;c>u;)if((l=a[u++])!=l)return!0}else for(;c>u;u++)if((e||u in a)&&a[u]===r)return e||u||0;return!e&&-1}};e.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},6665:(e,t,r)=>{"use strict";var n=r(6145),i=r(2564),s=r(5983),o=r(6775),a=r(1)("iterator");e.exports=function(e){if(!s(e))return i(e,a)||i(e,"@@iterator")||o[n(e)]}},6721:(e,t,r)=>{"use strict";var n=r(1807),i=r(2293),s=r(2564);e.exports=function(e,t,r){var o,a;i(e);try{if(!(o=s(e,"return"))){if("throw"===t)throw r;return r}o=n(o,e)}catch(e){a=!0,o=e}if("throw"===t)throw r;if(a)throw o;return i(o),r}},6726:(e,t,r)=>{"use strict";var n=r(5755),i=r(9497),s=r(4961),o=r(5835);e.exports=function(e,t,r){for(var a=i(t),c=o.f,l=s.f,u=0;u<a.length;u++){var p=a[u];n(e,p)||r&&n(r,p)||c(e,p,l(t,p))}}},6742:(e,t,r)=>{"use strict";var n=r(4762),i=r(5755),s=r(5599),o=r(6651).indexOf,a=r(1507),c=n([].push);e.exports=function(e,t){var r,n=s(e),l=0,u=[];for(r in n)!i(a,r)&&i(n,r)&&c(u,r);for(;t.length>l;)i(n,r=t[l++])&&(~o(u,r)||c(u,r));return u}},6775:e=>{"use strict";e.exports={}},6784:e=>{e.exports=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},6960:(e,t,r)=>{"use strict";var n=r(8324);e.exports=function(e){return n(e.length)}},7224:(e,t,r)=>{"use strict";r(5724),r(4846),r(7458),r(6211),r(9655),e.exports=elementorModules.ViewModule.extend({$element:null,editorListeners:null,onElementChange:null,onEditSettingsChange:null,onPageSettingsChange:null,isEdit:null,__construct(e){this.isActive(e)&&(this.$element=e.$element,this.isEdit=this.$element.hasClass("elementor-element-edit-mode"),this.isEdit&&this.addEditorListeners())},isActive:()=>!0,isElementInTheCurrentDocument(){return!!elementorFrontend.isEditMode()&&elementor.documents.currentDocument.id.toString()===this.$element[0].closest(".elementor").dataset.elementorId},findElement(e){var t=this.$element;return t.find(e).filter(function(){return jQuery(this).parent().closest(".elementor-element").is(t)})},getUniqueHandlerID(e,t){return e||(e=this.getModelCID()),t||(t=this.$element),e+t.attr("data-element_type")+this.getConstructorID()},initEditorListeners(){var e=this;if(e.editorListeners=[{event:"element:destroy",to:elementor.channels.data,callback(t){t.cid===e.getModelCID()&&e.onDestroy()}}],e.onElementChange){const t=e.getWidgetType()||e.getElementType();let r="change";"global"!==t&&(r+=":"+t),e.editorListeners.push({event:r,to:elementor.channels.editor,callback(t,r){e.getUniqueHandlerID(r.model.cid,r.$el)===e.getUniqueHandlerID()&&e.onElementChange(t.model.get("name"),t,r)}})}e.onEditSettingsChange&&e.editorListeners.push({event:"change:editSettings",to:elementor.channels.editor,callback(t,r){if(r.model.cid!==e.getModelCID())return;const n=Object.keys(t.changed)[0];e.onEditSettingsChange(n,t.changed[n])}}),["page"].forEach(function(t){var r="on"+t[0].toUpperCase()+t.slice(1)+"SettingsChange";e[r]&&e.editorListeners.push({event:"change",to:elementor.settings[t].model,callback(t){e[r](t.changed)}})})},getEditorListeners(){return this.editorListeners||this.initEditorListeners(),this.editorListeners},addEditorListeners(){var e=this.getUniqueHandlerID();this.getEditorListeners().forEach(function(t){elementorFrontend.addListenerOnce(e,t.event,t.callback,t.to)})},removeEditorListeners(){var e=this.getUniqueHandlerID();this.getEditorListeners().forEach(function(t){elementorFrontend.removeListeners(e,t.event,null,t.to)})},getElementType(){return this.$element.data("element_type")},getWidgetType(){const e=this.$element.data("widget_type");if(e)return e.split(".")[0]},getID(){return this.$element.data("id")},getModelCID(){return this.$element.data("model-cid")},getElementSettings(e){let t={};const r=this.getModelCID();if(this.isEdit&&r){const e=elementorFrontend.config.elements.data[r],n=e.attributes;let i=n.widgetType||n.elType;n.isInner&&(i="inner-"+i);let s=elementorFrontend.config.elements.keys[i];s||(s=elementorFrontend.config.elements.keys[i]=[],jQuery.each(e.controls,(e,t)=>{(t.frontend_available||t.editor_available)&&s.push(e)})),jQuery.each(e.getActiveControls(),function(e){if(-1!==s.indexOf(e)){let r=n[e];r.toJSON&&(r=r.toJSON()),t[e]=r}})}else t=this.$element.data("settings")||{};return this.getItems(t,e)},getEditSettings(e){var t={};return this.isEdit&&(t=elementorFrontend.config.elements.editSettings[this.getModelCID()].attributes),this.getItems(t,e)},getCurrentDeviceSetting(e){return elementorFrontend.getCurrentDeviceSetting(this.getElementSettings(),e)},onInit(){this.isActive(this.getSettings())&&elementorModules.ViewModule.prototype.onInit.apply(this,arguments)},onDestroy(){this.isEdit&&this.removeEditorListeners(),this.unbindEvents&&this.unbindEvents()}})},7255:(e,t,r)=>{"use strict";var n=r(1831);e.exports=function(e,t){return n[e]||(n[e]=t||{})}},7268:(e,t,r)=>{"use strict";var n=r(4762),i=r(1483),s=r(1831),o=n(Function.toString);i(s.inspectSource)||(s.inspectSource=function(e){return o(e)}),e.exports=s.inspectSource},7458:(e,t,r)=>{"use strict";r(1975)},7486:e=>{"use strict";e.exports=function(e,t){var r="function"==typeof Iterator&&Iterator.prototype[e];if(r)try{r.call({next:null},t).next()}catch(e){return!0}}},7611:(e,t)=>{"use strict";var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,i=n&&!r.call({1:2},1);t.f=i?function propertyIsEnumerable(e){var t=n(this,e);return!!t&&t.enumerable}:r},7738:e=>{"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},7914:(e,t,r)=>{"use strict";var n=r(1483),i=r(5835),s=r(169),o=r(2095);e.exports=function(e,t,r,a){a||(a={});var c=a.enumerable,l=void 0!==a.name?a.name:t;if(n(r)&&s(r,l,a),a.global)c?e[t]=r:o(t,r);else{try{a.unsafe?e[t]&&(c=!0):delete e[t]}catch(e){}c?e[t]=r:i.f(e,t,{value:r,enumerable:!1,configurable:!a.nonConfigurable,writable:!a.nonWritable})}return e}},7955:e=>{"use strict";e.exports=elementorModules.ViewModule.extend({getDefaultSettings:()=>({element:null,direction:elementorFrontend.config.is_rtl?"right":"left",selectors:{container:window},considerScrollbar:!1,cssOutput:"inline"}),getDefaultElements(){return{$element:jQuery(this.getSettings("element"))}},stretch(){const e=this.getSettings();let t;try{t=jQuery(e.selectors.container)}catch(e){}t&&t.length||(t=jQuery(this.getDefaultSettings().selectors.container)),this.reset();var r=this.elements.$element,n=t.innerWidth(),i=r.offset().left,s="fixed"===r.css("position"),o=s?0:i,a=window===t[0];if(!a){var c=t.offset().left;s&&(o=c),i>c&&(o=i-c)}if(e.considerScrollbar&&a){o-=window.innerWidth-n}s||(elementorFrontend.config.is_rtl&&(o=n-(r.outerWidth()+o)),o=-o),e.margin&&(o+=e.margin);var l={};let u=n;e.margin&&(u-=2*e.margin),l.width=u+"px",l[e.direction]=o+"px","variables"!==e.cssOutput?r.css(l):this.applyCssVariables(r,l)},reset(){const e={},t=this.getSettings(),r=this.elements.$element;"variables"!==t.cssOutput?(e.width="",e[t.direction]="",r.css(e)):this.resetCssVariables(r)},applyCssVariables(e,t){e.css("--stretch-width",t.width),t.left?e.css("--stretch-left",t.left):e.css("--stretch-right",t.right)},resetCssVariables(e){e.css({"--stretch-width":"","--stretch-left":"","--stretch-right":""})}})},7958:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseRegistry=void 0,r(4846),r(7458),r(9655),r(4364);t.BaseRegistry=class BaseRegistry{constructor(){this.sections=new Map}register(e){if(!e.key||!e.title)throw new Error("Template type must have key and title");const t=this.get(e.key)||this.formatSection(e);if(e.children)if(t.children){const r=new Map(t.children.map(e=>[e.key,e]));e.children.forEach(e=>{const t=this.formatSection(e);r.set(e.key,t)}),t.children=Array.from(r.values())}else t.children=e.children.map(e=>this.formatSection(e));this.sections.set(e.key,t)}formatSection({children:e,...t}){return{key:t.key,title:t.title,description:t.description||"",useParentDefault:!1!==t.useParentDefault,getInitialState:t.getInitialState||null,component:t.component||null,order:t.order||10,isAvailable:t.isAvailable||(()=>!0),...t}}getAll(){return Array.from(this.sections.values()).filter(e=>e.isAvailable()).map(e=>e.children?{...e,children:[...e.children].sort((e,t)=>e.order-t.order)}:e).sort((e,t)=>e.order-t.order)}get(e){return this.sections.get(e)}}},8120:(e,t,r)=>{"use strict";var n=r(1483),i=r(8761),s=TypeError;e.exports=function(e){if(n(e))return e;throw new s(i(e)+" is not a function")}},8140:(e,t,r)=>{"use strict";var n=r(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(4846),r(6211);var i=n(r(7224));class StretchedElement extends i.default{getStretchedClass(){return"e-stretched"}getStretchSettingName(){return"stretch_element"}getStretchActiveValue(){return"yes"}bindEvents(){const e=this.getUniqueHandlerID();elementorFrontend.addListenerOnce(e,"resize",this.stretch),elementorFrontend.addListenerOnce(e,"sticky:stick",this.stretch,this.$element),elementorFrontend.addListenerOnce(e,"sticky:unstick",this.stretch,this.$element),elementorFrontend.isEditMode()&&(this.onKitChangeStretchContainerChange=this.onKitChangeStretchContainerChange.bind(this),elementor.channels.editor.on("kit:change:stretchContainer",this.onKitChangeStretchContainerChange))}unbindEvents(){elementorFrontend.removeListeners(this.getUniqueHandlerID(),"resize",this.stretch),elementorFrontend.isEditMode()&&elementor.channels.editor.off("kit:change:stretchContainer",this.onKitChangeStretchContainerChange)}isActive(e){return elementorFrontend.isEditMode()||e.$element.hasClass(this.getStretchedClass())}getStretchElementForConfig(e=null){return e?this.$element.find(e):this.$element}getStretchElementConfig(){return{element:this.getStretchElementForConfig(),selectors:{container:this.getStretchContainer()},considerScrollbar:elementorFrontend.isEditMode()&&elementorFrontend.config.is_rtl}}initStretch(){this.stretch=this.stretch.bind(this),this.stretchElement=new elementorModules.frontend.tools.StretchElement(this.getStretchElementConfig())}getStretchContainer(){return elementorFrontend.getKitSettings("stretched_section_container")||window}isStretchSettingEnabled(){return this.getElementSettings(this.getStretchSettingName())===this.getStretchActiveValue()}stretch(){this.isStretchSettingEnabled()&&this.stretchElement.stretch()}onInit(...e){this.isActive(this.getSettings())&&(this.initStretch(),super.onInit(...e),this.stretch())}onElementChange(e){this.getStretchSettingName()===e&&(this.isStretchSettingEnabled()?this.stretch():this.stretchElement.reset())}onKitChangeStretchContainerChange(){this.stretchElement.setSettings("selectors.container",this.getStretchContainer()),this.stretch()}}t.default=StretchedElement},8324:(e,t,r)=>{"use strict";var n=r(3005),i=Math.min;e.exports=function(e){var t=n(e);return t>0?i(t,9007199254740991):0}},8473:e=>{"use strict";e.exports=function(e){try{return!!e()}catch(e){return!0}}},8612:(e,t,r)=>{"use strict";var n=r(5578),i=r(4961).f,s=r(9037),o=r(7914),a=r(2095),c=r(6726),l=r(8730);e.exports=function(e,t){var r,u,p,d,h,f=e.target,g=e.global,m=e.stat;if(r=g?n:m?n[f]||a(f,{}):n[f]&&n[f].prototype)for(u in t){if(d=t[u],p=e.dontCallGetSet?(h=i(r,u))&&h.value:r[u],!l(g?u:f+(m?".":"#")+u,e.forced)&&void 0!==p){if(typeof d==typeof p)continue;c(d,p)}(e.sham||p&&p.sham)&&s(d,"sham",!0),o(r,u,d,e)}}},8660:(e,t,r)=>{"use strict";var n=r(1807),i=r(5290),s=r(9037),o=r(2313),a=r(1),c=r(4483),l=r(2564),u=r(1851).IteratorPrototype,p=r(5247),d=r(6721),h=r(1983),f=a("toStringTag"),g="IteratorHelper",m="WrapForValidIterator",v="normal",y="throw",w=c.set,createIteratorProxyPrototype=function(e){var t=c.getterFor(e?m:g);return o(i(u),{next:function next(){var r=t(this);if(e)return r.nextHandler();if(r.done)return p(void 0,!0);try{var n=r.nextHandler();return r.returnHandlerResult?n:p(n,r.done)}catch(e){throw r.done=!0,e}},return:function(){var r=t(this),i=r.iterator;if(r.done=!0,e){var s=l(i,"return");return s?n(s,i):p(void 0,!0)}if(r.inner)try{d(r.inner.iterator,v)}catch(e){return d(i,y,e)}if(r.openIters)try{h(r.openIters,v)}catch(e){return d(i,y,e)}return i&&d(i,v),p(void 0,!0)}})},b=createIteratorProxyPrototype(!0),S=createIteratorProxyPrototype(!1);s(S,f,"Iterator Helper"),e.exports=function(e,t,r){var n=function Iterator(n,i){i?(i.iterator=n.iterator,i.next=n.next):i=n,i.type=t?m:g,i.returnHandlerResult=!!r,i.nextHandler=e,i.counter=0,i.done=!1,w(this,i)};return n.prototype=t?b:S,n}},8685:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ForceMethodImplementation=void 0;class ForceMethodImplementation extends Error{constructor(e={},t={}){super(`${e.isStatic?"static ":""}${e.fullName}() should be implemented, please provide '${e.functionName||e.fullName}' functionality.`,t),Object.keys(t).length&&console.error(t),Error.captureStackTrace(this,ForceMethodImplementation)}}t.ForceMethodImplementation=ForceMethodImplementation;t.default=e=>{const t=Error().stack.split("\n")[2].trim(),r=t.startsWith("at new")?"constructor":t.split(" ")[1],n={};if(n.functionName=r,n.fullName=r,n.functionName.includes(".")){const e=n.functionName.split(".");n.className=e[0],n.functionName=e[1]}else n.isStatic=!0;throw new ForceMethodImplementation(n,e)}},8730:(e,t,r)=>{"use strict";var n=r(8473),i=r(1483),s=/#|\.prototype\./,isForced=function(e,t){var r=a[o(e)];return r===l||r!==c&&(i(t)?n(t):!!t)},o=isForced.normalize=function(e){return String(e).replace(s,".").toLowerCase()},a=isForced.data={},c=isForced.NATIVE="N",l=isForced.POLYFILL="P";e.exports=isForced},8761:e=>{"use strict";var t=String;e.exports=function(e){try{return t(e)}catch(e){return"Object"}}},8901:(e,t,r)=>{"use strict";var n=r(2293),i=r(6721);e.exports=function(e,t,r,s){try{return s?t(n(r)[0],r[1]):t(r)}catch(t){i(e,"throw",t)}}},9031:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createGetInitialState=function createGetInitialState(e,t={}){return(r,n)=>{let i=n;if(r.hasOwnProperty("uploadedData")){i=!1;const t=r.uploadedData.manifest.templates,n=elementorAppConfig?.["import-export-customization"]?.exportGroups||{};for(const r in t){if(n[t[r].doc_type]===e){i=!0;break}}}return{enabled:i,...t}}}},9037:(e,t,r)=>{"use strict";var n=r(382),i=r(5835),s=r(7738);e.exports=n?function(e,t,r){return i.f(e,t,s(1,r))}:function(e,t,r){return e[t]=r,e}},9273:(e,t,r)=>{"use strict";var n=r(382),i=r(4914),s=TypeError,o=Object.getOwnPropertyDescriptor,a=n&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=a?function(e,t){if(i(e)&&!o(e,"length").writable)throw new s("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t}},9441:(e,t,r)=>{"use strict";var n=r(8473);e.exports=!n(function(){function F(){}return F.prototype.constructor=null,Object.getPrototypeOf(new F)!==F.prototype})},9461:(e,t,r)=>{"use strict";var n=r(5578).navigator,i=n&&n.userAgent;e.exports=i?String(i):""},9497:(e,t,r)=>{"use strict";var n=r(1409),i=r(4762),s=r(2278),o=r(4347),a=r(2293),c=i([].concat);e.exports=n("Reflect","ownKeys")||function ownKeys(e){var t=s.f(a(e)),r=o.f;return r?c(t,r(e)):t}},9557:e=>{"use strict";e.exports=!1},9603:(e,t,r)=>{"use strict";var n=r(6784);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r(4846),r(6211),r(9655);var i=n(r(5633));class CarouselHandlerBase extends i.default{getDefaultSettings(){return{selectors:{carousel:".swiper",swiperWrapper:".swiper-wrapper",slideContent:".swiper-slide",swiperArrow:".elementor-swiper-button",paginationWrapper:".swiper-pagination",paginationBullet:".swiper-pagination-bullet",paginationBulletWrapper:".swiper-pagination-bullets"}}}getDefaultElements(){const e=this.getSettings("selectors"),t={$swiperContainer:this.$element.find(e.carousel),$swiperWrapper:this.$element.find(e.swiperWrapper),$swiperArrows:this.$element.find(e.swiperArrow),$paginationWrapper:this.$element.find(e.paginationWrapper),$paginationBullets:this.$element.find(e.paginationBullet),$paginationBulletWrapper:this.$element.find(e.paginationBulletWrapper)};return t.$slides=t.$swiperContainer.find(e.slideContent),t}getSwiperSettings(){const e=this.getElementSettings(),t=+e.slides_to_show||3,r=1===t,n=elementorFrontend.config.responsive.activeBreakpoints,i={mobile:1,tablet:r?1:2},s={slidesPerView:t,loop:"yes"===e.infinite,speed:e.speed,handleElementorBreakpoints:!0,breakpoints:{}};let o=t;Object.keys(n).reverse().forEach(t=>{const r=i[t]?i[t]:o;s.breakpoints[n[t].value]={slidesPerView:+e["slides_to_show_"+t]||r,slidesPerGroup:+e["slides_to_scroll_"+t]||1},e.image_spacing_custom&&(s.breakpoints[n[t].value].spaceBetween=this.getSpaceBetween(t)),o=+e["slides_to_show_"+t]||r}),"yes"===e.autoplay&&(s.autoplay={delay:e.autoplay_speed,disableOnInteraction:"yes"===e.pause_on_interaction}),r?(s.effect=e.effect,"fade"===e.effect&&(s.fadeEffect={crossFade:!0})):s.slidesPerGroup=+e.slides_to_scroll||1,e.image_spacing_custom&&(s.spaceBetween=this.getSpaceBetween());const a="arrows"===e.navigation||"both"===e.navigation,c="dots"===e.navigation||"both"===e.navigation||e.pagination;return a&&(s.navigation={prevEl:".elementor-swiper-button-prev",nextEl:".elementor-swiper-button-next"}),c&&(s.pagination={el:`.elementor-element-${this.getID()} .swiper-pagination`,type:e.pagination?e.pagination:"bullets",clickable:!0,renderBullet:(e,t)=>`<span class="${t}" role="button" tabindex="0" data-bullet-index="${e}" aria-label="${elementorFrontend.config.i18n.a11yCarouselPaginationBulletMessage} ${e+1}"></span>`}),"yes"===e.lazyload&&(s.lazy={loadPrevNext:!0,loadPrevNextAmount:1}),s.a11y={enabled:!0,prevSlideMessage:elementorFrontend.config.i18n.a11yCarouselPrevSlideMessage,nextSlideMessage:elementorFrontend.config.i18n.a11yCarouselNextSlideMessage,firstSlideMessage:elementorFrontend.config.i18n.a11yCarouselFirstSlideMessage,lastSlideMessage:elementorFrontend.config.i18n.a11yCarouselLastSlideMessage},s.on={slideChange:()=>{this.a11ySetPaginationTabindex(),this.handleElementHandlers(),this.a11ySetSlideAriaHidden()},init:()=>{this.a11ySetPaginationTabindex(),this.a11ySetSlideAriaHidden("initialisation")}},this.applyOffsetSettings(e,s,t),s}getOffsetWidth(){const e=elementorFrontend.getCurrentDeviceMode();return elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(),"offset_width","size",e)||0}applyOffsetSettings(e,t,r){const n=e.offset_sides;if(!(elementorFrontend.isEditMode()&&"NestedCarousel"===this.constructor.name)&&n&&"none"!==n)switch(n){case"right":this.forceSliderToShowNextSlideWhenOnLast(t,r),this.addClassToSwiperContainer("offset-right");break;case"left":this.addClassToSwiperContainer("offset-left");break;case"both":this.forceSliderToShowNextSlideWhenOnLast(t,r),this.addClassToSwiperContainer("offset-both")}}forceSliderToShowNextSlideWhenOnLast(e,t){e.slidesPerView=t+.001}addClassToSwiperContainer(e){this.getDefaultElements().$swiperContainer[0].classList.add(e)}async onInit(...e){if(super.onInit(...e),!this.elements.$swiperContainer.length||2>this.elements.$slides.length)return;await this.initSwiper();"yes"===this.getElementSettings().pause_on_hover&&this.togglePauseOnHover(!0)}async initSwiper(){const e=elementorFrontend.utils.swiper;this.swiper=await new e(this.elements.$swiperContainer,this.getSwiperSettings()),this.elements.$swiperContainer.data("swiper",this.swiper)}bindEvents(){this.elements.$swiperArrows.on("keydown",this.onDirectionArrowKeydown.bind(this)),this.elements.$paginationWrapper.on("keydown",".swiper-pagination-bullet",this.onDirectionArrowKeydown.bind(this)),this.elements.$swiperContainer.on("keydown",".swiper-slide",this.onDirectionArrowKeydown.bind(this)),this.$element.find(":focusable").on("focus",this.onFocusDisableAutoplay.bind(this)),elementorFrontend.elements.$window.on("resize",this.getSwiperSettings.bind(this))}unbindEvents(){this.elements.$swiperArrows.off(),this.elements.$paginationWrapper.off(),this.elements.$swiperContainer.off(),this.$element.find(":focusable").off(),elementorFrontend.elements.$window.off("resize")}onDirectionArrowKeydown(e){const t=elementorFrontend.config.is_rtl,r=e.originalEvent.code,n=t?"ArrowLeft":"ArrowRight";if(!(-1!==["ArrowLeft","ArrowRight"].indexOf(r)))return!0;(t?"ArrowRight":"ArrowLeft")===r?this.swiper.slidePrev():n===r&&this.swiper.slideNext()}onFocusDisableAutoplay(){this.swiper.autoplay.stop()}updateSwiperOption(e){const t=this.getElementSettings()[e],r=this.swiper.params;switch(e){case"autoplay_speed":r.autoplay.delay=t;break;case"speed":r.speed=t}this.swiper.update()}getChangeableProperties(){return{pause_on_hover:"pauseOnHover",autoplay_speed:"delay",speed:"speed",arrows_position:"arrows_position"}}onElementChange(e){if(0===e.indexOf("image_spacing_custom"))return void this.updateSpaceBetween(e);if(this.getChangeableProperties()[e])if("pause_on_hover"===e){const e=this.getElementSettings("pause_on_hover");this.togglePauseOnHover("yes"===e)}else this.updateSwiperOption(e)}onEditSettingsChange(e){"activeItemIndex"===e&&this.swiper.slideToLoop(this.getEditSettings("activeItemIndex")-1)}getSpaceBetween(e=null){const t=elementorFrontend.utils.controls.getResponsiveControlValue(this.getElementSettings(),"image_spacing_custom","size",e);return Number(t)||0}updateSpaceBetween(e){const t=e.match("image_spacing_custom_(.*)"),r=t?t[1]:"desktop",n=this.getSpaceBetween(r);"desktop"!==r&&(this.swiper.params.breakpoints[elementorFrontend.config.responsive.activeBreakpoints[r].value].spaceBetween=n),this.swiper.params.spaceBetween=n,this.swiper.update()}getPaginationBullets(e="array"){const t=this.$element.find(this.getSettings("selectors").paginationBullet);return"array"===e?Array.from(t):t}a11ySetPaginationTabindex(){const e=this.swiper?.params?.pagination.bulletClass,t=this.swiper?.params?.pagination.bulletActiveClass;this.getPaginationBullets().forEach(e=>{e.classList?.contains(t)||e.removeAttribute("tabindex")});const r="ArrowLeft"===event?.code||"ArrowRight"===event?.code;event?.target?.classList?.contains(e)&&r&&this.$element.find(`.${t}`).trigger("focus")}getSwiperWrapperTranformXValue(){let e=this.elements.$swiperWrapper[0]?.style.transform;return e=e.replace("translate3d(",""),e=e.split(","),e=parseInt(e[0].replace("px","")),e||0}a11ySetSlideAriaHidden(e=""){if("number"!=typeof("initialisation"===e?0:this.swiper?.activeIndex))return;const t=this.getSwiperWrapperTranformXValue(),r=this.elements.$swiperWrapper[0].clientWidth;this.elements.$swiperContainer.find(this.getSettings("selectors").slideContent).each((e,n)=>{0<=n.offsetLeft+t&&r>n.offsetLeft+t?(n.removeAttribute("aria-hidden"),n.removeAttribute("inert")):(n.setAttribute("aria-hidden",!0),n.setAttribute("inert",""))})}handleElementHandlers(){}}t.default=CarouselHandlerBase},9655:(e,t,r)=>{"use strict";r(9930)},9930:(e,t,r)=>{"use strict";var n=r(8612),i=r(1807),s=r(1506),o=r(8120),a=r(2293),c=r(41),l=r(6721),u=r(5267)("forEach",TypeError);n({target:"Iterator",proto:!0,real:!0,forced:u},{forEach:function forEach(e){a(this);try{o(e)}catch(e){l(this,"throw",e)}if(u)return i(u,this,e);var t=c(this),r=0;s(t,function(t){e(t,r++)},{IS_RECORD:!0})}})}},e=>{var t;t=4946,e(e.s=t)}]);
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(x){"use strict";var t,e,i,n,W,C,o,s,r,l,a,h,u;function E(t,e,i){return[parseFloat(t[0])*(a.test(t[0])?e/100:1),parseFloat(t[1])*(a.test(t[1])?i/100:1)]}function L(t,e){return parseInt(x.css(t,e),10)||0}function N(t){return null!=t&&t===t.window}x.ui=x.ui||{},x.ui.version="1.13.3",
x.extend(x.expr.pseudos,{data:x.expr.createPseudo?x.expr.createPseudo(function(e){return function(t){return!!x.data(t,e)}}):function(t,e,i){return!!x.data(t,i[3])}}),
x.fn.extend({disableSelection:(t="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}}),
x.ui.focusable=function(t,e){var i,n,o,s=t.nodeName.toLowerCase();return"area"===s?(o=(i=t.parentNode).name,!(!t.href||!o||"map"!==i.nodeName.toLowerCase())&&0<(i=x("img[usemap='#"+o+"']")).length&&i.is(":visible")):(/^(input|select|textarea|button|object)$/.test(s)?(n=!t.disabled)&&(o=x(t).closest("fieldset")[0])&&(n=!o.disabled):n="a"===s&&t.href||e,n&&x(t).is(":visible")&&function(t){var e=t.css("visibility");for(;"inherit"===e;)t=t.parent(),e=t.css("visibility");return"visible"===e}(x(t)))},x.extend(x.expr.pseudos,{focusable:function(t){return x.ui.focusable(t,null!=x.attr(t,"tabindex"))}}),x.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):x(this[0].form)},
x.ui.formResetMixin={_formResetHandler:function(){var e=x(this);setTimeout(function(){var t=e.data("ui-form-reset-instances");x.each(t,function(){this.refresh()})})},_bindFormResetHandler:function(){var t;this.form=this.element._form(),this.form.length&&((t=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(x.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}},x.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),
x.expr.pseudos||(x.expr.pseudos=x.expr[":"]),x.uniqueSort||(x.uniqueSort=x.unique),x.escapeSelector||(e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,i=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},x.escapeSelector=function(t){return(t+"").replace(e,i)}),x.fn.even&&x.fn.odd||x.fn.extend({even:function(){return this.filter(function(t){return t%2==0})},odd:function(){return this.filter(function(t){return t%2==1})}}),
x.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},
x.fn.labels=function(){var t,e,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last()).add((i.length?i:this).siblings()),t="label[for='"+x.escapeSelector(t)+"']",e=e.add(i.find(t).addBack(t))),this.pushStack(e)):this.pushStack([])},x.ui.plugin={add:function(t,e,i){var n,o=x.ui[t].prototype;for(n in i)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([e,i[n]])},call:function(t,e,i,n){var o,s=t.plugins[e];if(s&&(n||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(o=0;o<s.length;o++)t.options[s[o][0]]&&s[o][1].apply(t.element,i)}},
W=Math.max,C=Math.abs,o=/left|center|right/,s=/top|center|bottom/,r=/[\+\-]\d+(\.[\d]+)?%?/,l=/^\w+/,a=/%$/,h=x.fn.position,x.position={scrollbarWidth:function(){var t,e,i;return void 0!==n?n:(i=(e=x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>")).children()[0],x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),n=t-i)},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?x.position.scrollbarWidth():0,height:e?x.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=x(t||window),i=N(e[0]),n=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:n,offset:!i&&!n?x(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},x.fn.position=function(f){var c,d,p,g,m,v,y,w,b,_,t,e;return f&&f.of?(v="string"==typeof(f=x.extend({},f)).of?x(document).find(f.of):x(f.of),y=x.position.getWithinInfo(f.within),w=x.position.getScrollInfo(y),b=(f.collision||"flip").split(" "),_={},e=9===(e=(t=v)[0]).nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:N(e)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:e.preventDefault?{width:0,height:0,offset:{top:e.pageY,left:e.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()},v[0].preventDefault&&(f.at="left top"),d=e.width,p=e.height,m=x.extend({},g=e.offset),x.each(["my","at"],function(){var t,e,i=(f[this]||"").split(" ");(i=1===i.length?o.test(i[0])?i.concat(["center"]):s.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=o.test(i[0])?i[0]:"center",i[1]=s.test(i[1])?i[1]:"center",t=r.exec(i[0]),e=r.exec(i[1]),_[this]=[t?t[0]:0,e?e[0]:0],f[this]=[l.exec(i[0])[0],l.exec(i[1])[0]]}),1===b.length&&(b[1]=b[0]),"right"===f.at[0]?m.left+=d:"center"===f.at[0]&&(m.left+=d/2),"bottom"===f.at[1]?m.top+=p:"center"===f.at[1]&&(m.top+=p/2),c=E(_.at,d,p),m.left+=c[0],m.top+=c[1],this.each(function(){var i,t,r=x(this),l=r.outerWidth(),a=r.outerHeight(),e=L(this,"marginLeft"),n=L(this,"marginTop"),o=l+e+L(this,"marginRight")+w.width,s=a+n+L(this,"marginBottom")+w.height,h=x.extend({},m),u=E(_.my,r.outerWidth(),r.outerHeight());"right"===f.my[0]?h.left-=l:"center"===f.my[0]&&(h.left-=l/2),"bottom"===f.my[1]?h.top-=a:"center"===f.my[1]&&(h.top-=a/2),h.left+=u[0],h.top+=u[1],i={marginLeft:e,marginTop:n},x.each(["left","top"],function(t,e){x.ui.position[b[t]]&&x.ui.position[b[t]][e](h,{targetWidth:d,targetHeight:p,elemWidth:l,elemHeight:a,collisionPosition:i,collisionWidth:o,collisionHeight:s,offset:[c[0]+u[0],c[1]+u[1]],my:f.my,at:f.at,within:y,elem:r})}),f.using&&(t=function(t){var e=g.left-h.left,i=e+d-l,n=g.top-h.top,o=n+p-a,s={target:{element:v,left:g.left,top:g.top,width:d,height:p},element:{element:r,left:h.left,top:h.top,width:l,height:a},horizontal:i<0?"left":0<e?"right":"center",vertical:o<0?"top":0<n?"bottom":"middle"};d<l&&C(e+i)<d&&(s.horizontal="center"),p<a&&C(n+o)<p&&(s.vertical="middle"),W(C(e),C(i))>W(C(n),C(o))?s.important="horizontal":s.important="vertical",f.using.call(this,t,s)}),r.offset(x.extend(h,{using:t}))})):h.apply(this,arguments)},x.ui.position={fit:{left:function(t,e){var i,n=e.within,o=n.isWindow?n.scrollLeft:n.offset.left,n=n.width,s=t.left-e.collisionPosition.marginLeft,r=o-s,l=s+e.collisionWidth-n-o;n<e.collisionWidth?0<r&&l<=0?(i=t.left+r+e.collisionWidth-n-o,t.left+=r-i):t.left=!(0<l&&r<=0)&&l<r?o+n-e.collisionWidth:o:0<r?t.left+=r:0<l?t.left-=l:t.left=W(t.left-s,t.left)},top:function(t,e){var i,n=e.within,n=n.isWindow?n.scrollTop:n.offset.top,o=e.within.height,s=t.top-e.collisionPosition.marginTop,r=n-s,l=s+e.collisionHeight-o-n;o<e.collisionHeight?0<r&&l<=0?(i=t.top+r+e.collisionHeight-o-n,t.top+=r-i):t.top=!(0<l&&r<=0)&&l<r?n+o-e.collisionHeight:n:0<r?t.top+=r:0<l?t.top-=l:t.top=W(t.top-s,t.top)}},flip:{left:function(t,e){var i=e.within,n=i.offset.left+i.scrollLeft,o=i.width,i=i.isWindow?i.scrollLeft:i.offset.left,s=t.left-e.collisionPosition.marginLeft,r=s-i,s=s+e.collisionWidth-o-i,l="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,a="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,h=-2*e.offset[0];r<0?((o=t.left+l+a+h+e.collisionWidth-o-n)<0||o<C(r))&&(t.left+=l+a+h):0<s&&(0<(n=t.left-e.collisionPosition.marginLeft+l+a+h-i)||C(n)<s)&&(t.left+=l+a+h)},top:function(t,e){var i=e.within,n=i.offset.top+i.scrollTop,o=i.height,i=i.isWindow?i.scrollTop:i.offset.top,s=t.top-e.collisionPosition.marginTop,r=s-i,s=s+e.collisionHeight-o-i,l="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,a="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,h=-2*e.offset[1];r<0?((o=t.top+l+a+h+e.collisionHeight-o-n)<0||o<C(r))&&(t.top+=l+a+h):0<s&&(0<(n=t.top-e.collisionPosition.marginTop+l+a+h-i)||C(n)<s)&&(t.top+=l+a+h)}},flipfit:{left:function(){x.ui.position.flip.left.apply(this,arguments),x.ui.position.fit.left.apply(this,arguments)},top:function(){x.ui.position.flip.top.apply(this,arguments),x.ui.position.fit.top.apply(this,arguments)}}},x.ui.safeActiveElement=function(e){var i;try{i=e.activeElement}catch(t){i=e.body}return i=(i=i||e.body).nodeName?i:e.body},x.ui.safeBlur=function(t){t&&"body"!==t.nodeName.toLowerCase()&&x(t).trigger("blur")},
x.fn.scrollParent=function(t){var e=this.css("position"),i="absolute"===e,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=x(this);return(!i||"static"!==t.css("position"))&&n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==e&&t.length?t:x(this[0].ownerDocument||document)},
x.extend(x.expr.pseudos,{tabbable:function(t){var e=x.attr(t,"tabindex"),i=null!=e;return(!i||0<=e)&&x.ui.focusable(t,i)}}),
x.fn.extend({uniqueId:(u=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++u)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&x(this).removeAttr("id")})}});
var f,c=0,d=Array.prototype.hasOwnProperty,p=Array.prototype.slice;x.cleanData=(f=x.cleanData,function(t){for(var e,i,n=0;null!=(i=t[n]);n++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");f(t)}),x.widget=function(t,i,e){var n,o,s,r={},l=t.split(".")[0],a=l+"-"+(t=t.split(".")[1]);return e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[a.toLowerCase()]=function(t){return!!x.data(t,a)},x[l]=x[l]||{},n=x[l][t],o=x[l][t]=function(t,e){if(!this||!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},x.extend(o,n,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(s=new i).options=x.widget.extend({},s.options),x.each(e,function(e,n){function o(){return i.prototype[e].apply(this,arguments)}function s(t){return i.prototype[e].apply(this,t)}r[e]="function"!=typeof n?n:function(){var t,e=this._super,i=this._superApply;return this._super=o,this._superApply=s,t=n.apply(this,arguments),this._super=e,this._superApply=i,t}}),o.prototype=x.widget.extend(s,{widgetEventPrefix:n&&s.widgetEventPrefix||t},r,{constructor:o,namespace:l,widgetName:t,widgetFullName:a}),n?(x.each(n._childConstructors,function(t,e){var i=e.prototype;x.widget(i.namespace+"."+i.widgetName,o,e._proto)}),delete n._childConstructors):i._childConstructors.push(o),x.widget.bridge(t,o),o},x.widget.extend=function(t){for(var e,i,n=p.call(arguments,1),o=0,s=n.length;o<s;o++)for(e in n[o])i=n[o][e],d.call(n[o],e)&&void 0!==i&&(x.isPlainObject(i)?t[e]=x.isPlainObject(t[e])?x.widget.extend({},t[e],i):x.widget.extend({},i):t[e]=i);return t},x.widget.bridge=function(s,e){var r=e.prototype.widgetFullName||s;x.fn[s]=function(i){var t="string"==typeof i,n=p.call(arguments,1),o=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=x.data(this,r);return"instance"===i?(o=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?x.error("no such method '"+i+"' for "+s+" widget instance"):(t=e[i].apply(e,n))!==e&&void 0!==t?(o=t&&t.jquery?o.pushStack(t.get()):t,!1):void 0:x.error("cannot call methods on "+s+" prior to initialization; attempted to call method '"+i+"'")}):o=void 0:(n.length&&(i=x.widget.extend.apply(null,[i].concat(n))),this.each(function(){var t=x.data(this,r);t?(t.option(i||{}),t._init&&t._init()):x.data(this,r,new e(i,this))})),o}},x.Widget=function(){},x.Widget._childConstructors=[],x.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=c++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,n,o,s=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(s={},t=(i=t.split(".")).shift(),i.length){for(n=s[t]=x.widget.extend({},this.options[t]),o=0;o<i.length-1;o++)n[i[o]]=n[i[o]]||{},n=n[i[o]];if(t=i.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];s[t]=e}return this._setOptions(s),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,n;for(e in t)n=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&n&&n.length&&(i=x(n.get()),this._removeClass(n,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(o){var s=[],r=this;function t(t,e){for(var i,n=0;n<t.length;n++)i=r.classesElementLookup[t[n]]||x(),i=o.add?(function(){var i=[];o.element.each(function(t,e){x.map(r.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),r._on(x(i),{remove:"_untrackClassesElement"})}(),x(x.uniqueSort(i.get().concat(o.element.get())))):x(i.not(o.element).get()),r.classesElementLookup[t[n]]=i,s.push(t[n]),e&&o.classes[t[n]]&&s.push(o.classes[t[n]])}return(o=x.extend({element:this.element,classes:this.options.classes||{}},o)).keys&&t(o.keys.match(/\S+/g)||[],!0),o.extra&&t(o.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(i){var n=this;x.each(n.classesElementLookup,function(t,e){-1!==x.inArray(i.target,e)&&(n.classesElementLookup[t]=x(e.not(i.target).get()))}),this._off(x(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,n){var o="string"==typeof t||null===t,e={extra:o?e:i,keys:o?t:e,element:o?this.element:t,add:n="boolean"==typeof n?n:i};return e.element.toggleClass(this._classes(e),n),this},_on:function(o,s,t){var r,l=this;"boolean"!=typeof o&&(t=s,s=o,o=!1),t?(s=r=x(s),this.bindings=this.bindings.add(s)):(t=s,s=this.element,r=this.widget()),x.each(t,function(t,e){function i(){if(o||!0!==l.options.disabled&&!x(this).hasClass("ui-state-disabled"))return("string"==typeof e?l[e]:e).apply(l,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||x.guid++);var t=t.match(/^([\w:-]*)\s*(.*)$/),n=t[1]+l.eventNamespace,t=t[2];t?r.on(n,t,i):s.on(n,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=x(this.bindings.not(t).get()),this.focusable=x(this.focusable.not(t).get()),this.hoverable=x(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(x(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(x(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var n,o,s=this.options[t];if(i=i||{},(e=x.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],o=e.originalEvent)for(n in o)n in e||(e[n]=o[n]);return this.element.trigger(e,i),!("function"==typeof s&&!1===s.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},x.each({show:"fadeIn",hide:"fadeOut"},function(s,r){x.Widget.prototype["_"+s]=function(e,t,i){var n,o=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||r:s;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),n=!x.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),n&&x.effects&&x.effects.effect[o]?e[s](t):o!==s&&e[o]?e[o](t.duration,t.easing,i):e.queue(function(t){x(this)[s](),i&&i.call(e[0]),t()})}})});