1jQuery(document).ready(function() { 2 /* íìì¸ì¼. */ 3 var today = new GetServerTime(); // íì¬ìë²ìê° each ë°ì¼ë¡ ë¹¼ì íë²ë§ ì¤í. 4 5 jQuery( ".layerDiscountPeriod .content p + p" ).each(function( index ) { 6 var date_data = jQuery(this).text(); 7 var date_start_end = date_data.split(" ~ "); // ìììê° ëìê°ì¼ë¡ ìë¦ 8 var start_time = new Date(date_start_end[0].replace(/-/g, "/")); 9 var end_time = new Date(date_start_end[1].replace(/-/g, "/")); 10 var product_sale = jQuery(this).parents('.spec').find( 'li[rel="í ì¸í매ê°"] span > span' ).hide().text(); 11 12 if (today < start_time) { 13 // ì¸ì¼ ìì ì 14 } else if ((start_time <= today ) && (today < end_time)) { 15 // íìì¸ì¼ ì¤ 16 TimerStart(jQuery(this).parents('.description').find( ".saletime" ),1,end_time); 17 jQuery('.layerDiscountPeriod').parents('.description').find( ".timesale_box" ).css("display", "block"); 18 jQuery(this).parents('.description').find('.sale_per').append(product_sale); 19 } else { 20 21 } 22 }); 23 24 //flag = 0 ììì , flag = 1 ë§ê°ì 25 function TimerStart (obj, flag, end_time, end_time2) { 26 27 if (flag == 0) 28 { 29 } else { 30 obj.countdown({until: end_time, 31 serverSync: GetServerTime, compact:true, padZeroes: true, 32 onExpiry: function() { obj.html("SALE END"); }, 33 layout: "<div class='untilStart'><span>{dn}</span>day:<span>{hn}</span>:<span>{mn}</span>:<span>{sn}</span></div>" 34 }); 35 } 36 } 37
38 /* ìë²ìê° ê°ì ¸ì¤ë ì¤í¬ë¦½í¸ */ 39 function GetServerTime (param, formula) { 40 /* All HTTP date/time stamps MUST be represented in Greenwich Mean Time (GMT), without exception 41 * 42 * This function returns a Date or String type value 43 * 44 * var time = GetServerTime(); // [date] Wed Oct 11 2017 09:48:52 GMT+0900 (ëíë¯¼êµ íì¤ì) 45 var time = GetServerTime(""); // "2017-10-11" , can be any string or variable except as provided below 46 var time = GetServerTime("day", -1); // "2017-10-10" 47 var time = GetServerTime("week", -1); // "2017-10-04" 48 var time = GetServerTime("month", 1); // "2017-11-11" 49 var time = GetServerTime("year", 1); // "2018-11-11" 50 */ 51 var xmlHttp; 52 if (window.XMLHttpRequest) { 53 xmlHttp = new XMLHttpRequest(); // upper IE7, Chrome, Firefox 54 xmlHttp.open('HEAD',window.location.href.toString(),false); 55 xmlHttp.setRequestHeader("Content-Type", "text/html"); 56 xmlHttp.send(''); 57 58 //return xmlHttp.getResponseHeader("Date"); 59 60 } else if (window.ActiveXObject) { 61 //Old versions of IE supported the ability to use ActiveX controls inside the browser. 62 63 xmlHttp = new ActiveXObject('Msxml2.XMLHTTP'); 64 xmlHttp.open('HEAD',window.location.href.toString(),false); 65 xmlHttp.setRequestHeader("Content-Type", "text/html"); 66 xmlHttp.send(''); 67 //return xmlHttp.getResponseHeader("Date"); 68 } 69 //return xmlHttp.getResponseHeader("Date"); 70 var serverTime = xmlHttp.getResponseHeader("Date"); 71 72 if(param!=null) { 73 var ymd = new Date(serverTime); 74 param = param.toLowerCase().trim(); 75 76 if(formula !=null){ 77 78 if(!typeof formula=="number") { 79 console.log("ë³ì formulaë numberíì ì´ì´ì¼ í©ëë¤."); 80 } else if(param=="day"){ 81 ymd.setDate(ymd.getDate()+formula); 82 } else if(param=="week"){ 83 ymd.setDate(ymd.getDate()+(7*formula)); 84 } else if(param=="month"){ 85 ymd.setMonth(ymd.getMonth()+formula); 86 } else if(param=="year"){ 87 ymd.setFullYear(ymd.getFullYear()+formula); 88 } 89 } 90 var month = '' + (ymd.getMonth() + 1), 91 day = '' + ymd.getDate(), 92 year = ymd.getFullYear(); 93 94 if (month.length < 2) month = '0' + month; 95 if (day.length < 2) day = '0' + day; 96 97 return [year, month, day].join('-'); 98 } else { 99 return new Date(serverTime); 100 } 101 } 102 103 104 105 }); 106 107 108/*! Simple JavaScript Inheritance 109 * By John Resig http://ejohn.org/ 110 * MIT Licensed. 111 */ 112!function(){"use strict";var a=!1;window.JQClass=function(){},JQClass.classes={},JQClass.extend=function b(c){function d(){!a&&this._init&&this._init.apply(this,arguments)}var e=this.prototype;a=!0;var f=new this;a=!1;for(var g in c)if("function"==typeof c[g]&&"function"==typeof e[g])f[g]=function(a,b){return function(){var c=this._super;this._super=function(b){return e[a].apply(this,b||[])};var d=b.apply(this,arguments);return this._super=c,d}}(g,c[g]);else if("object"==typeof c[g]&&"object"==typeof e[g]&&"defaultOptions"===g){var h,i=e[g],j=c[g],k={};for(h in i)k[h]=i[h];for(h in j)k[h]=j[h];f[g]=k}else f[g]=c[g];return d.prototype=f,d.prototype.constructor=d,d.extend=b,d}}(),/*! Abstract base class for collection plugins v1.0.2. 113 Written by Keith Wood (wood.keith{at}optusnet.com.au) December 2013. 114 Licensed under the MIT license (http://keith-wood.name/licence.html). */ 115function($){"use strict";function camelCase(a){return a.replace(/-([a-z])/g,function(a,b){return b.toUpperCase()})}JQClass.classes.JQPlugin=JQClass.extend({name:"plugin",defaultOptions:{},regionalOptions:{},deepMerge:!0,_getMarker:function(){return"is-"+this.name},_init:function(){$.extend(this.defaultOptions,this.regionalOptions&&this.regionalOptions[""]||{});var a=camelCase(this.name);$[a]=this,$.fn[a]=function(b){var c=Array.prototype.slice.call(arguments,1),d=this,e=this;return this.each(function(){if("string"==typeof b){if("_"===b[0]||!$[a][b])throw"Unknown method: "+b;var f=$[a][b].apply($[a],[this].concat(c));if(f!==d&&void 0!==f)return e=f,!1}else $[a]._attach(this,b)}),e}},setDefaults:function(a){$.extend(this.defaultOptions,a||{})},_attach:function(a,b){if(a=$(a),!a.hasClass(this._getMarker())){a.addClass(this._getMarker()),b=$.extend(this.deepMerge,{},this.defaultOptions,this._getMetadata(a),b||{});var c=$.extend({name:this.name,elem:a,options:b},this._instSettings(a,b));a.data(this.name,c),this._postAttach(a,c),this.option(a,b)}},_instSettings:function(a,b){return{}},_postAttach:function(a,b){},_getMetadata:function(elem){try{var data=elem.data(this.name.toLowerCase())||"";data=data.replace(/(\\?)'/g,function(a,b){return b?"'":'"'}).replace(/([a-zA-Z0-9]+):/g,function(a,b,c){var d=data.substring(0,c).match(/"/g);return d&&d.length%2!==0?b+":":'"'+b+'":'}).replace(/\\:/g,":"),data=$.parseJSON("{"+data+"}");for(var key in data)if(data.hasOwnProperty(key)){var value=data[key];"string"==typeof value&&value.match(/^new Date\(([-0-9,\s]*)\)$/)&&(data[key]=eval(value))}return data}catch(a){return{}}},_getInst:function(a){return $(a).data(this.name)||{}},option:function(a,b,c){a=$(a);var d=a.data(this.name),e=b||{};return!b||"string"==typeof b&&"undefined"==typeof c?(e=(d||{}).options,e&&b?e[b]:e):void(a.hasClass(this._getMarker())&&("string"==typeof b&&(e={},e[b]=c),this._optionsChanged(a,d,e),$.extend(d.options,e)))},_optionsChanged:function(a,b,c){},destroy:function(a){a=$(a),a.hasClass(this._getMarker())&&(this._preDestroy(a,this._getInst(a)),a.removeData(this.name).removeClass(this._getMarker()))},_preDestroy:function(a,b){}}),$.JQPlugin={createPlugin:function(a,b){"object"==typeof a&&(b=a,a="JQPlugin"),a=camelCase(a);var c=camelCase(b.name);JQClass.classes[c]=JQClass.classes[a].extend(b),new JQClass.classes[c]}}}(jQuery);
116//# sourceMappingURL=jquery.plugin.min.map 117/*! http://keith-wood.name/countdown.html 118 Countdown for jQuery v2.1.0. 119 Written by Keith Wood (wood.keith{at}optusnet.com.au) January 2008. 120 Available under the MIT (http://keith-wood.name/licence.html) license. 121 Please attribute the author if you use it. */ 122!function(a){"use strict";var b="countdown",c=0,d=1,e=2,f=3,g=4,h=5,i=6;a.JQPlugin.createPlugin({name:b,defaultOptions:{until:null,since:null,timezone:null,serverSync:null,format:"dHMS",layout:"",compact:!1,padZeroes:!1,significant:0,description:"",expiryUrl:"",expiryText:"",alwaysExpire:!1,onExpiry:null,onTick:null,tickInterval:1},regionalOptions:{"":{labels:["Years","Months","Weeks","Days","Hours","Minutes","Seconds"],labels1:["Year","Month","Week","Day","Hour","Minute","Second"],compactLabels:["y","m","w","d"],whichLabels:null,digits:["0","1","2","3","4","5","6","7","8","9"],timeSeparator:":",isRTL:!1}},_rtlClass:b+"-rtl",_sectionClass:b+"-section",_amountClass:b+"-amount",_periodClass:b+"-period",_rowClass:b+"-row",_holdingClass:b+"-holding",_showClass:b+"-show",_descrClass:b+"-descr",_timerElems:[],_init:function(){function b(a){var h=a<1e12?e?window.performance.now()+window.performance.timing.navigationStart:d():a||d();h-g>=1e3&&(c._updateElems(),g=h),f(b)}var c=this;this._super(),this._serverSyncs=[];var d="function"==typeof Date.now?Date.now:function(){return(new Date).getTime()},e=window.performance&&"function"==typeof window.performance.now,f=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||null,g=0;!f||a.noRequestAnimationFrame?(a.noRequestAnimationFrame=null,a.countdown._timer=setInterval(function(){c._updateElems()},1e3)):(g=window.animationStartTime||window.webkitAnimationStartTime||window.mozAnimationStartTime||window.oAnimationStartTime||window.msAnimationStartTime||d(),f(b))},UTCDate:function(a,b,c,d,e,f,g,h){"object"==typeof b&&b instanceof Date&&(h=b.getMilliseconds(),g=b.getSeconds(),f=b.getMinutes(),e=b.getHours(),d=b.getDate(),c=b.getMonth(),b=b.getFullYear());var i=new Date;return i.setUTCFullYear(b),i.setUTCDate(1),i.setUTCMonth(c||0),i.setUTCDate(d||1),i.setUTCHours(e||0),i.setUTCMinutes((f||0)-(Math.abs(a)<30?60*a:a)),i.setUTCSeconds(g||0),i.setUTCMilliseconds(h||0),i},periodsToSeconds:function(a){return 31557600*a[0]+2629800*a[1]+604800*a[2]+86400*a[3]+3600*a[4]+60*a[5]+a[6]},resync:function(){var b=this;a("."+this._getMarker()).each(function(){var c=a.data(this,b.name);if(c.options.serverSync){for(var d=null,e=0;e<b._serverSyncs.length;e++)if(b._serverSyncs[e][0]===c.options.serverSync){d=b._serverSyncs[e];break}if(b._eqNull(d[2])){var f=a.isFunction(c.options.serverSync)?c.options.serverSync.apply(this,[]):null;d[2]=(f?(new Date).getTime()-f.getTime():0)-d[1]}c._since&&c._since.setMilliseconds(c._since.getMilliseconds()+d[2]),c._until.setMilliseconds(c._until.getMilliseconds()+d[2])}});for(var c=0;c<b._serverSyncs.length;c++)b._eqNull(b._serverSyncs[c][2])||(b._serverSyncs[c][1]+=b._serverSyncs[c][2],delete b._serverSyncs[c][2])},_instSettings:function(a,b){return{_periods:[0,0,0,0,0,0,0]}},_addElem:function(a){this._hasElem(a)||this._timerElems.push(a)},_hasElem:function(b){return a.inArray(b,this._timerElems)>-1},_removeElem:function(b){this._timerElems=a.map(this._timerElems,function(a){return a===b?null:a})},_updateElems:function(){for(var a=this._timerElems.length-1;a>=0;a--)this._updateCountdown(this._timerElems[a])},_optionsChanged:function(b,c,d){d.layout&&(d.layout=d.layout.replace(/</g,"<").replace(/>/g,">")),this._resetExtraLabels(c.options,d);var e=c.options.timezone!==d.timezone;a.extend(c.options,d),this._adjustSettings(b,c,!this._eqNull(d.until)||!this._eqNull(d.since)||e);var f=new Date;(c._since&&c._since<f||c._until&&c._until>f)&&this._addElem(b[0]),this._updateCountdown(b,c)},_updateCountdown:function(b,c){if(b=b.jquery?b:a(b),c=c||this._getInst(b)){if(b.html(this._generateHTML(c)).toggleClass(this._rtlClass,c.options.isRTL),"pause"!==c._hold&&a.isFunction(c.options.onT
122ick)){var d="lap"!==c._hold?c._periods:this._calculatePeriods(c,c._show,c.options.significant,new Date);1!==c.options.tickInterval&&this.periodsToSeconds(d)%c.options.tickInterval!==0||c.options.onTick.apply(b[0],[d])}var e="pause"!==c._hold&&(c._since?c._now.getTime()<c._since.getTime():c._now.getTime()>=c._until.getTime());if(e&&!c._expiring){if(c._expiring=!0,this._hasElem(b[0])||c.options.alwaysExpire){if(this._removeElem(b[0]),a.isFunction(c.options.onExpiry)&&c.options.onExpiry.apply(b[0],[]),c.options.expiryText){var f=c.options.layout;c.options.layout=c.options.expiryText,this._updateCountdown(b[0],c),c.options.layout=f}c.options.expiryUrl&&(window.location=c.options.expiryUrl)}c._expiring=!1}else"pause"===c._hold&&this._removeElem(b[0])}},_resetExtraLabels:function(a,b){var c=null;for(c in b)c.match(/[Ll]abels[02-9]|compactLabels1/)&&(a[c]=b[c]);for(c in a)c.match(/[Ll]abels[02-9]|compactLabels1/)&&"undefined"==typeof b[c]&&(a[c]=null)},_eqNull:function(a){return"undefined"==typeof a||null===a},_adjustSettings:function(b,c,d){for(var e=null,f=0;f<this._serverSyncs.length;f++)if(this._serverSyncs[f][0]===c.options.serverSync){e=this._serverSyncs[f][1];break}var g=null,h=null;if(this._eqNull(e)){var i=a.isFunction(c.options.serverSync)?c.options.serverSync.apply(b[0],[]):null;g=new Date,h=i?g.getTime()-i.getTime():0,this._serverSyncs.push([c.options.serverSync,h])}else g=new Date,h=c.options.serverSync?e:0;var j=c.options.timezone;j=this._eqNull(j)?-g.getTimezoneOffset():j,(d||!d&&this._eqNull(c._until)&&this._eqNull(c._since))&&(c._since=c.options.since,this._eqNull(c._since)||(c._since=this.UTCDate(j,this._determineTime(c._since,null)),c._since&&h&&c._since.setMilliseconds(c._since.getMilliseconds()+h)),c._until=this.UTCDate(j,this._determineTime(c.options.until,g)),h&&c._until.setMilliseconds(c._until.getMilliseconds()+h)),c._show=this._determineShow(c)},_preDestroy:function(a,b){this._removeElem(a[0]),a.empty()},pause:function(a){this._hold(a,"pause")},lap:function(a){this._hold(a,"lap")},resume:function(a){this._hold(a,null)},toggle:function(b){var c=a.data(b,this.name)||{};this[c._hold?"resume":"pause"](b)},toggleLap:function(b){var c=a.data(b,this.name)||{};this[c._hold?"resume":"lap"](b)},_hold:function(b,c){var d=a.data(b,this.name);if(d){if("pause"===d._hold&&!c){d._periods=d._savePeriods;var e=d._since?"-":"+";d[d._since?"_since":"_until"]=this._determineTime(e+d._periods[0]+"y"+e+d._periods[1]+"o"+e+d._periods[2]+"w"+e+d._periods[3]+"d"+e+d._periods[4]+"h"+e+d._periods[5]+"m"+e+d._periods[6]+"s"),this._addElem(b)}d._hold=c,d._savePeriods="pause"===c?d._periods:null,a.data(b,this.name,d),this._updateCountdown(b,d)}},getTimes:function(b){var c=a.data(b,this.name);return c?"pause"===c._hold?c._savePeriods:c._hold?this._calculatePeriods(c,c._show,c.options.significant,new Date):c._periods:null},_determineTime:function(a,b){var c=this,d=function(a){var b=new Date;return b.setTime(b.getTime()+1e3*a),b},e=function(a){a=a.toLowerCase();for(var b=new Date,d=b.getFullYear(),e=b.getMonth(),f=b.getDate(),g=b.getHours(),h=b.getMinutes(),i=b.getSeconds(),j=/([+-]?[0-9]+)\s*(s|m|h|d|w|o|y)?/g,k=j.exec(a);k;){switch(k[2]||"s"){case"s":i+=parseInt(k[1],10);break;case"m":h+=parseInt(k[1],10);break;case"h":g+=parseInt(k[1],10);break;case"d":f+=parseInt(k[1],10);break;case"w":f+=7*parseInt(k[1],10);break;case"o":e+=parseInt(k[1],10),f=Math.min(f,c._getDaysInMonth(d,e));break;case"y":d+=parseInt(k[1],10),f=Math.min(f,c._getDaysInMonth(d,e))}k=j.exec(a)}return new Date(d,e,f,g,h,i,0)},f=this._eqNull(a)?b:"string"==typeof a?e(a):"number"==typeof a?d(a):a;return f&&f.setMilliseconds(0),f},_getDaysInMonth:function(a,b){return 32-new Date(a,b,32).getDate()},_normalLabels:function(a){return a},_generateHTML:function(b){var j=this;b._periods=b._hold?b._periods:this._calculatePeriods(b,b._show,b.options.significant,new Date);var k=!1,l=0,m=b.options.significant,n=a.extend({},b._show),o=null;for(o=c;o<=i;o++)k=k||"?"===b._show[o]&&b._periods[o]>0,n[o]="?"!==b._show[o]||k?b._show[o]:null,l+=n[o]?1:0,m-=b._periods[o]>0?1:0;
122var p=[!1,!1,!1,!1,!1,!1,!1];for(o=i;o>=c;o--)b._show[o]&&(b._periods[o]?p[o]=!0:(p[o]=m>0,m--));var q=b.options.compact?b.options.compactLabels:b.options.labels,r=b.options.whichLabels||this._normalLabels,s=function(a){var c=b.options["compactLabels"+r(b._periods[a])];return n[a]?j._translateDigits(b,b._periods[a])+(c?c[a]:q[a])+" ":""},t=b.options.padZeroes?2:1,u=function(a){var c=b.options["labels"+r(b._periods[a])];return!b.options.significant&&n[a]||b.options.significant&&p[a]?'<span class="'+j._sectionClass+'"><span class="'+j._amountClass+'">'+j._minDigits(b,b._periods[a],t)+'</span><span class="'+j._periodClass+'">'+(c?c[a]:q[a])+"</span></span>":""};return b.options.layout?this._buildLayout(b,n,b.options.layout,b.options.compact,b.options.significant,p):(b.options.compact?'<span class="'+this._rowClass+" "+this._amountClass+(b._hold?" "+this._holdingClass:"")+'">'+s(c)+s(d)+s(e)+s(f)+(n[g]?this._minDigits(b,b._periods[g],2):"")+(n[h]?(n[g]?b.options.timeSeparator:"")+this._minDigits(b,b._periods[h],2):"")+(n[i]?(n[g]||n[h]?b.options.timeSeparator:"")+this._minDigits(b,b._periods[i],2):""):'<span class="'+this._rowClass+" "+this._showClass+(b.options.significant||l)+(b._hold?" "+this._holdingClass:"")+'">'+u(c)+u(d)+u(e)+u(f)+u(g)+u(h)+u(i))+"</span>"+(b.options.description?'<span class="'+this._rowClass+" "+this._descrClass+'">'+b.options.description+"</span>":"")},_buildLayout:function(b,j,k,l,m,n){for(var o=b.options[l?"compactLabels":"labels"],p=b.options.whichLabels||this._normalLabels,q=function(a){return(b.options[(l?"compactLabels":"labels")+p(b._periods[a])]||o)[a]},r=function(a,c){return b.options.digits[Math.floor(a/c)%10]},s={desc:b.options.description,sep:b.options.timeSeparator,yl:q(c),yn:this._minDigits(b,b._periods[c],1),ynn:this._minDigits(b,b._periods[c],2),ynnn:this._minDigits(b,b._periods[c],3),y1:r(b._periods[c],1),y10:r(b._periods[c],10),y100:r(b._periods[c],100),y1000:r(b._periods[c],1e3),ol:q(d),on:this._minDigits(b,b._periods[d],1),onn:this._minDigits(b,b._periods[d],2),onnn:this._minDigits(b,b._periods[d],3),o1:r(b._periods[d],1),o10:r(b._periods[d],10),o100:r(b._periods[d],100),o1000:r(b._periods[d],1e3),wl:q(e),wn:this._minDigits(b,b._periods[e],1),wnn:this._minDigits(b,b._periods[e],2),wnnn:this._minDigits(b,b._periods[e],3),w1:r(b._periods[e],1),w10:r(b._periods[e],10),w100:r(b._periods[e],100),w1000:r(b._periods[e],1e3),dl:q(f),dn:this._minDigits(b,b._periods[f],1),dnn:this._minDigits(b,b._periods[f],2),dnnn:this._minDigits(b,b._periods[f],3),d1:r(b._periods[f],1),d10:r(b._periods[f],10),d100:r(b._periods[f],100),d1000:r(b._periods[f],1e3),hl:q(g),hn:this._minDigits(b,b._periods[g],1),hnn:this._minDigits(b,b._periods[g],2),hnnn:this._minDigits(b,b._periods[g],3),h1:r(b._periods[g],1),h10:r(b._periods[g],10),h100:r(b._periods[g],100),h1000:r(b._periods[g],1e3),ml:q(h),mn:this._minDigits(b,b._periods[h],1),mnn:this._minDigits(b,b._periods[h],2),mnnn:this._minDigits(b,b._periods[h],3),m1:r(b._periods[h],1),m10:r(b._periods[h],10),m100:r(b._periods[h],100),m1000:r(b._periods[h],1e3),sl:q(i),sn:this._minDigits(b,b._periods[i],1),snn:this._minDigits(b,b._periods[i],2),snnn:this._minDigits(b,b._periods[i],3),s1:r(b._periods[i],1),s10:r(b._periods[i],10),s100:r(b._periods[i],100),s1000:r(b._periods[i],1e3)},t=k,u=c;u<=i;u++){var v="yowdhms".charAt(u),w=new RegExp("\\{"+v+"<\\}([\\s\\S]*)\\{"+v+">\\}","g");t=t.replace(w,!m&&j[u]||m&&n[u]?"$1":"")}return a.each(s,function(a,b){var c=new RegExp("\\{"+a+"\\}","g");t=t.replace(c,b)}),t},_minDigits:function(a,b,c){return b=""+b,b.length>=c?this._translateDigits(a,b):(b="0000000000"+b,this._translateDigits(a,b.substr(b.length-c)))},_translateDigits:function(a,b){return(""+b).replace(/[0-9]/g,function(b){return a.options.digits[b]})},_determineShow:function(a){var b=a.options.format,j=[];return j[c]=b.match("y")?"?":b.match("Y")?"!":null,j[d]=b.match("o")?"?":b.match("O")?"!":null,j[e]=b.match("w")?"?":b.match("W")?"!":null,j[f]=b.match("d")?"?":b.match("D")?"!":null,j[g]=b.match("h")?"?":b.match("H")?"!":null,j[h]=b.match("m")?"?":b.match("M")?"!":null,j[i]=b.match("s")?"?":b.match("S")?"!":null,j}
122,_calculatePeriods:function(a,b,j,k){a._now=k,a._now.setMilliseconds(0);var l=new Date(a._now.getTime());a._since?k.getTime()<a._since.getTime()?a._now=k=l:k=a._since:(l.setTime(a._until.getTime()),k.getTime()>a._until.getTime()&&(a._now=k=l));var m=[0,0,0,0,0,0,0];if(b[c]||b[d]){var n=this._getDaysInMonth(k.getFullYear(),k.getMonth()),o=this._getDaysInMonth(l.getFullYear(),l.getMonth()),p=l.getDate()===k.getDate()||l.getDate()>=Math.min(n,o)&&k.getDate()>=Math.min(n,o),q=function(a){return 60*(60*a.getHours()+a.getMinutes())+a.getSeconds()},r=Math.max(0,12*(l.getFullYear()-k.getFullYear())+l.getMonth()-k.getMonth()+(l.getDate()<k.getDate()&&!p||p&&q(l)<q(k)?-1:0));m[c]=b[c]?Math.floor(r/12):0,m[d]=b[d]?r-12*m[c]:0,k=new Date(k.getTime());var s=k.getDate()===n,t=this._getDaysInMonth(k.getFullYear()+m[c],k.getMonth()+m[d]);k.getDate()>t&&k.setDate(t),k.setFullYear(k.getFullYear()+m[c]),k.setMonth(k.getMonth()+m[d]),s&&k.setDate(t)}var u=Math.floor((l.getTime()-k.getTime())/1e3),v=null,w=function(a,c){m[a]=b[a]?Math.floor(u/c):0,u-=m[a]*c};if(w(e,604800),w(f,86400),w(g,3600),w(h,60),w(i,1),u>0&&!a._since){var x=[1,12,4.3482,7,24,60,60],y=i,z=1;for(v=i;v>=c;v--)b[v]&&(m[y]>=z&&(m[y]=0,u=1),u>0&&(m[v]++,u=0,y=v,z=1)),z*=x[v]}if(j)for(v=c;v<=i;v++)j&&m[v]?j--:j||(m[v]=0);return m}})}(jQuery); 123//# sourceMappingURL=jquery.countdown.min.map 124$(function(){ 125 if($(".menuCategory > li").length==0){ 126 $(".menuCategory").hide(); 127 }; 128 129 $('.xans-product-menupackage .menuCategory > li > ul > li > .button').hover(function(){ 130 $(this).addClass('selected'); 131 },function(){ 132 $(this).removeClass('selected'); 133 }); 134}); 135/** 136 * ì¡°ê±´ë³ ê²ì ê¸°ë¥ ì¤í¬ë¦½í¸ 137 */ 138$(document).ready(function() 139{ 140 var sParentElement = 'select.SecondSelect'; 141 $('select.FirstSelect').change(function() 142 { 143 var iGroupNo = $(this).find('option:selected').val(); 144 if (iGroupNo > 0) { 145 $.ajax({
146 url : '/product/provider/selectsearch.xml?GroupNo=' + iGroupNo, 147 dataType : 'text', 148 success : function(data){ 149 if ( window.DOMParser ) { 150 tmp = new DOMParser(); 151 xml = tmp.parseFromString( data , "text/xml" ); 152 } else { 153 xml = new ActiveXObject( "Microsoft.XMLDOM" ); 154 xml.async = "false"; 155 xml.loadXML( data ); 156 } 157 158 $(sParentElement).html(''); 159 getOptionElement('','-ì¸ë¶í목ì í-').appendTo(sParentElement); 160 var nodes = $(xml).find('searchkey'); 161 for ( var x = 0 ; x < nodes.length ; x++) { 162 getOptionElement($(nodes[x]).find('search_value').text(),$(nodes[x]).find('search_value').text()).appendTo(sParentElement); 163 } 164 } 165 }); 166 } 167 }); 168 $('a.SelectSearch').click(function() 169 { 170 var sGroup = $('select.FirstSelect').val(); 171 var sItem = $('select.SecondSelect').val(); 172 if (!sGroup) { 173 alert('ì¡°ê±´ì ì íí´ ì£¼ì¸ì.'); 174 return false; 175 } 176 if (!sItem) { 177 alert('ì¸ë¶ í목ì ì íí´ ì£¼ì¸ì.'); 178 return false; 179 } 180 location.href = document.location.href.split('?')[0].split(document.domain)[1] + '?' + sSSUrl + '&sGroup=' + sGroup + '&sItem=' + sItem; 181 }); 182 183 function getOptionElement(sVal, sTitle) 184 { 185 return $("<option value='" + sVal + "'>" + sTitle + "</option>"); 186 } 187}); 188/** 189 * ìì§ì´ë ë°°ë Jquery Plug-in 190 * @author cafe24 191 */ 192 193(function($){ 194 195 $.fn.floatBanner = function(options) { 196 options = $.extend({}, $.fn.floatBanner.defaults , options); 197 198 return this.each(function() { 199 var aPosition = $(this).position(); 200 var jbOffset = $(this).offset(); 201 var node = this; 202 203 $(window).scroll(function() { 204 var _top = $(document).scrollTop(); 205 _top = (aPosition.top < _top) ? _top : aPosition.top; 206 207 setTimeout(function () { 208 var newinit = $(document).scrollTop(); 209 210 if ( newinit > jbOffset.top ) { 211 _top -= jbOffset.top; 212 var container_height = $("#wrap").height(); 213 var quick_height = $(node).height(); 214 var cul = container_height - quick_height; 215 if(_top > cul){ 216 _top = cul; 217 } 218 }else { 219 _top = 0; 220 } 221 222 $(node).stop().animate({top: _top}, options.animate); 223 }, options.delay); 224 }); 225 }); 226 }; 227 228 $.fn.floatBanner.defaults = { 229 'animate' : 500, 230 'delay' : 500 231 }; 232 233})(jQuery); 234 235/** 236 * 문ì 구ëí ìì 237 */ 238$(document).ready(function(){ 239 $('#banner:visible, #quick:visible').floatBanner(); 240 241 //placeholder 242 $(".ePlaceholder input, .ePlaceholder textarea").each(function(i){ 243 var placeholderName = $(this).parents().attr('title'); 244 $(this).attr("placeholder", placeholderName); 245 }); 246 /* placeholder ie8, ie9 */ 247 $.fn.extend({ 248 placeholder : function() { 249 //IE 8 ë²ì ìë hasPlaceholderSupport() ê°ì´ false를 ë¦¬í´ 250 if (hasPlaceholderSupport() === true) { 251 return this; 252 } 253 //hasPlaceholderSupport() ê°ì´ false ì¼ ê²½ì° ìë ì½ë를 ì¤í 254 return this.each(function(){ 255 var findThis = $(this); 256 var sPlaceholder = findThis.attr('placeholder'); 257 if ( ! sPlaceholder) { 258 return; 259 } 260 findThis.wrap('<label class="ePlaceholder" />'); 261 var sDisplayPlaceHolder = $(this).val() ? ' style="display:none;"' : ''; 262 findThis.before('<span' + sDisplayPlaceHolder + '>' + sPlaceholder + '</span>'); 263 this.onpropertychange = function(e){
264 e = event || e; 265 if (e.propertyName == 'value') { 266 $(this).trigger('focusout'); 267 } 268 }; 269 //ê³µíµ class 270 var agent = navigator.userAgent.toLowerCase(); 271 if (agent.indexOf("msie") != -1) { 272 $(".ePlaceholder").css({"position":"relative"}); 273 $(".ePlaceholder span").css({"position":"absolute", "padding":"0 4px", "color":"#878787"}); 274 $(".ePlaceholder label").css({"padding":"0"}); 275 } 276 }); 277 } 278 }); 279 280 $(':input[placeholder]').placeholder(); //placeholder() í¨ì를 í¸ì¶ 281 282 //í´ë¦íë©´ placeholder ì¨ê¹ 283 $('body').delegate('.ePlaceholder span', 'click', function(){ 284 $(this).hide(); 285 }); 286 287 //inputì°½ í¬ì»¤ì¤ ì¸ ì¼ë placeholder ì¨ê¹ 288 $('body').delegate('.ePlaceholder :input', 'focusin', function(){ 289 $(this).prev('span').hide(); 290 }); 291 292 //inputì°½ í¬ì»¤ì¤ ìì ì¼ë value ê° true ì´ë©´ ì¨ê¹, false ì´ë©´ ë³´ì¬ì§ 293 $('body').delegate('.ePlaceholder :input', 'focusout', function(){ 294 if (this.value) { 295 $(this).prev('span').hide(); 296 } else { 297 $(this).prev('span').show(); 298 } 299 }); 300 301 //inputì placeholderê° ì§ìì´ ëë©´ true를 ìëë©´ false를 리í´ê°ì¼ë¡ ëì ¸ì¤ 302 function hasPlaceholderSupport() { 303 if ('placeholder' in document.createElement('input')) { 304 return true; 305 } else { 306 return false; 307 } 308 } 309}); 310 311/** 312 * ì¸ë¤ì¼ ì´ë¯¸ì§ ìë°ì¼ê²½ì° ê¸°ë³¸ê° ì¤ì 313 */ 314$(window).load(function() { 315 $("img.thumb,img.ThumbImage,img.BigImage").each(function($i,$item){ 316 var $img = new Image(); 317 $img.onerror = function () { 318 $item.src="//img.echosting.cafe24.com/thumb/img_product_big.gif"; 319 } 320 $img.src = this.src; 321 }); 322}); 323 324/** 325 * tooltip 326 */ 327$('.eTooltip').each(function(i){ 328 $(this).find('.btnClose').attr('tabIndex','-1'); 329}); 330//tooltip input focus 331$('.eTooltip').find('input').focus(function() { 332 var targetName = returnTagetName(this); 333 targetName.siblings('.ec-base-tooltip').show(); 334}); 335$('.eTooltip').find('input').focusout(function() { 336 var targetName = returnTagetName(this); 337 targetName.siblings('.ec-base-tooltip').hide(); 338}); 339function returnTagetName(_this){ 340 var ePlacename = $(_this).parent().attr("class"); 341 var targetName; 342 if(ePlacename == "ePlaceholder"){ //ePlaceholder ëì 343 targetName = $(_this).parents(); 344 }else{ 345 targetName = $(_this); 346 } 347 return targetName; 348} 349 350/** 351 * eTab 352 */ 353 $("body").delegate(".eTab a", "click", function(e){ 354 // í´ë¦í li ì selected í´ëì¤ ì¶ê°, 기존 liì ìë selected í´ëì¤ë ìì . 355 var _li = $(this).parent("li").addClass("selected").siblings().removeClass("selected"), 356 _target = $(this).attr("href"), 357 _siblings = $(_target).attr("class"), 358 _arr = _siblings.split(" "), 359 _classSiblings = "."+_arr[0]; 360 361 //í´ë¦í íì í´ë¹íë ììë íì±í, 기존 ììë ë¹íì±í í¨. 362 $(_target).show().siblings(_classSiblings).hide(); 363 364 365 //preventDefault ë a íê·¸ ì²ë¼ í´ë¦ ì´ë²¤í¸ ì¸ì ë³ëì ë¸ë¼ì°ì íëì ë§ê¸° ìí´ ì¬ì©ë¨. 366 e.preventDefault(); 367}); 368 369 370 371//window popup script 372function winPop(url) { 373 window.open(url, "popup", "width=300,height=300,left=10,top=10,resizable=no,scrollbars=no"); 374} 375/** 376 * document.location.href split 377 * return array Param 378 */ 379function getQueryString(sKey) 380{ 381 var sQueryString = document.location.search.substring(1); 382 var aParam = {}; 383 384 if (sQueryString) { 385 var aFields = sQueryString.split("&"); 386 var aField = []; 387 for (var i=0; i<aFields.length; i++) { 388 aField = aFields[i].split('='); 389 aParam[aField[0]] = aField[1]; 390 } 391 } 392 393 aParam.page = aParam.page ? aParam.page : 1; 394 return sKey ? aParam[sKey] : aParam; 395}; 396 397$(document).ready(function(){ 398 // tab 399 $.eTab = function(ul){ 400 $(ul).find('a').click(function(){ 401 var _li = $(this).parent('li').addClass('selected').siblings().removeClass('selected'), 402 _target = $(this).attr('href'), 403 _siblings = '.' + $(_target).attr('class'); 404 $(_target).show().siblings(_siblings).hide(); 405 return false 406 }); 407 } 408 if ( window.call_eTab ) { 409 call_eTab(); 410 }; 411}); 412 413 414EC$(function($) { 415 var filter = "win16|win32|win64|mac|macintel"; 416 var device = "pc"; 417 if (navigator.platform) { 418 if (filter.indexOf(navigator.platform.toLowerCase()) < 0) { device = "mobile"; } 419 } 420 421 /** 422 * ìíìì¸, ìí íë보기(íì ) - ìë¹ìê° í ì¸íì */ 423 var oPriceInfoEl = $('#ec-product-price-info'); 424 if (oPriceInfoEl.length > 0) { 425 var salePriceEl = $('#span_product_price_text'); 426 percentageCul(oPriceInfoEl, salePriceEl); 427 } 428 429 /** 430 * ìí목ë¡/ë©ì¸ì§ì´ - ìë¹ìê° í ì¸íì*/ 431 var mainEl = $("#main"); 432// if (mainEl.length > 0) { 433 var productListEl = $('.xans-product-listmain, .xans-product-listrecommend, .xans-product-listnew, .xans-product-listnormal, .xans-search-result'); 434 for (var i = 0; i < productListEl.length; i++) { 435 var prdListEl = productListEl.eq(i).find('.prdList>li'); 436 $(prdListEl).each(function(index,item){ 437 var price = $(item).find('.price').attr('ec-data-cu
437stom'); 438 var salePrice = $(item).find('.price').attr('ec-data-price'); 439 var perEl = $(item).find('.per'); 440 441 percentageCul(perEl, price, salePrice); 442 443 }); 444 } 445// } 446 447 function percentageCul(target, price , salePrice) { 448 var regex = /[^0-9]/g; 449 var iCustomPrice = price.replace(regex, ""), 450 iPrice = salePrice.replace(regex, ""), 451 sDisplayAmount = 'p', // p:í ì¸ì¨, w:í ì¸ê¸ì¡ 452 iOfftoFixed = 1, // í ì¸ì¨ ììì ì릿ì 453 sSaleText = '', 454 regexp = /B(?=(d{3})+(?!d))/g; 455 if (iCustomPrice > 0 && iPrice > 0 && iPrice != iCustomPrice) { 456 if (sDisplayAmount == 'p') { 457 sSaleText = (((iCustomPrice - iPrice) / iCustomPrice) * 100).toFixed(iOfftoFixed) + '%'; 458 } else if (sDisplayAmount == 'w') { 459 sSaleText = parseInt(iCustomPrice - iPrice).toString().replace(regexp, ',') + 'ì'; 460 } 461 //salePriceEl.append('<span class="ec-sale-rate"> ' + sSaleText + '</span>'); 462 463 target.text(sSaleText); 464 }
465 if(iPrice == iCustomPrice){ 466 target.siblings('.custom').hide(); 467 } 468 } 469}); 470(function($){ 471$.fn.extend({ 472 center: function() { 473 this.each(function() { 474 var 475 $this = $(this), 476 $w = $(window); 477 $this.css({ 478 position: "absolute", 479 top: ~~(($w.height() - $this.outerHeight()) / 2) + $w.scrollTop() + "px", 480 left: ~~(($w.width() - $this.outerWidth()) / 2) + $w.scrollLeft() + "px" 481 }); 482 }); 483 return this; 484 } 485}); 486$(function() { 487 var $container = function(){/* 488<div id="modalContainer"> 489 <iframe id="modalContent" scroll="0" scrolling="no" frameBorder="0"></iframe> 490</div>'); 491*/}.toString().slice(14,-3); 492 $('body') 493 .append($('<div id="modalBackpanel"></div>')) 494 .append($($container)); 495 function closeModal () { 496 $('#modalContainer').hide(); 497 $('#modalBackpanel').hide(); 498 } 499 $('#modalBackpanel').click(closeModal); 500 zoom = function ($piProductNo, $piCategoryNo, $piDisplayGroup) { 501 var $url = '/product/image_zoom.html?product_no=' + $piProductNo + '&cate_no=' + $piCategoryNo + '&display_group=' + $piDisplayGroup; 502 $('#modalContent').attr('src', $url); 503 $('#modalContent').bind("load",function(){ 504 $(".header .close",this.contentWindow.document.body).bind("click", closeModal); 505 }); 506 $('#modalBackpanel').css({width:$("body").width(),height:$("body").height(),opacity:.4}).show(); 507 $('#modalContainer').center().show(); 508 } 509}); 510})(jQuery); 511/*================================================================================ 512 * @name: bPopup - if you can't get it up, use bPopup 513 * @author: (c)Bjoern Klinggaard (twitter@bklinggaard) 514 * @demo: http://dinbror.dk/bpopup 515 * @version: 0.11.0.min 516 ================================================================================*/ 517 (function(c){c.fn.bPopup=function(A,E){function L(){a.contentContainer=c(a.contentContainer||b);switch(a.content){case "iframe":var d=c('<iframe class="b-iframe" '+a.iframeAttr+"></iframe>");d.appendTo(a.contentContainer);t=b.outerHeight(!0);u=b.outerWidth(!0);B();d.attr("src",a.loadUrl);l(a.loadCallback);break;case "image":B();c("<img />").load(function(){l(a.loadCallback);F(c(this))}).attr("src",a.loadUrl).hide().appendTo(a.contentContainer);break;default:B(),c('<div class="b-ajax-wrapper"></div>').load(a.loadUrl,a.loadData,function(d,b,e){l(a.loadCallback,b);F(c(this))}).hide().appendTo(a.contentContainer)}}function B(){a.modal&&c('<div class="b-modal '+e+'"></div>').css({backgroundColor:a.modalColor,position:"fixed",top:0,right:0,bottom:0,left:0,opacity:0,zIndex:a.zIndex+v}).appendTo(a.appendTo).fadeTo(a.speed,a.opacity);C();b.data("bPopup",a).data("id",e).css({left:"slideIn"==a.transition||"slideBack"==a.transition?"slideBack"==a.transition?f.scrollLeft()+w:-1*(x+u):m(!(!a.follow[0]&&n||g)),position:a.positionStyle||"absolute",top:"slideDown"==a.transition||"slideUp"==a.transition?"slideUp"==a.transition?f.scrollTop()+y:z+-1*t:p(!(!a.follow[1]&&q||g)),"z-index":a.zIndex+v+1}).each(function(){a.appending&&c(this).appendTo(a.appendTo)});G(!0)}function r(){a.modal&&c(".b-modal."+b.data("id")).fadeTo(a.speed,0,function(){c(this).remove()});a.scrollBar||c("html").css("overflow","auto");c(".b-modal."+e).unbind("click");f.unbind("keydown."+e);k.unbind("."+e).data("bPopup",0<k.data("bPopup")-1?k.data("bPopup")-1:null);b.undelegate(".bClose, ."+a.closeClass,"click."+e,r).data("bPopup",
517null);clearTimeout(H);G();return!1}function I(d){y=k.height();w=k.width();h=D();if(h.x||h.y)clearTimeout(J),J=setTimeout(function(){C();d=d||a.followSpeed;var e={};h.x&&(e.left=a.follow[0]?m(!0):"auto");h.y&&(e.top=a.follow[1]?p(!0):"auto");b.dequeue().each(function(){g?c(this).css({left:x,top:z}):c(this).animate(e,d,a.followEasing)})},50)}function F(d){var c=d.width(),e=d.height(),f={};a.contentContainer.css({height:e,width:c});e>=b.height()&&(f.height=b.height());c>=b.width()&&(f.width=b.width());t=b.outerHeight(!0);u=b.outerWidth(!0);C();a.contentContainer.css({height:"auto",width:"auto"});f.left=m(!(!a.follow[0]&&n||g));f.top=p(!(!a.follow[1]&&q||g));b.animate(f,250,function(){d.show();h=D()})}function M(){k.data("bPopup",v);b.delegate(".bClose, ."+a.closeClass,"click."+e,r);a.modalClose&&c(".b-modal."+e).css("cursor","pointer").bind("click",r);N||!a.follow[0]&&!a.follow[1]||k.bind("scroll."+e,function(){if(h.x||h.y){var d={};h.x&&(d.left=a.follow[0]?m(!g):"auto");h.y&&(d.top=a.follow[1]?p(!g):"auto");b.dequeue().animate(d,a.followSpeed,a.followEasing)}}).bind("resize."+e,function(){I()});a.escClose&&f.bind("keydown."+e,function(a){27==a.which&&r()})}function G(d){function c(e){b.css({display:"block",opacity:1}).animate(e,a.speed,a.easing,function(){K(d)})}switch(d?a.transition:a.transitionClose||a.transition){case "slideIn":c({left:d?m(!(!a.follow[0]&&n||g)):f.scrollLeft()-(u||b.outerWidth(!0))-200});break;case "slideBack":c({left:d?m(!(!a.follow[0]&&n||g)):f.scrollLeft()+w+200});break;case "slideDown":c({top:d?p(!(!a.follow[1]&&q||g)):f.scrollTop()-(t||b.outerHeight(!0))-200});break;case "slideUp":c({top:d?p(!(!a.follow[1]&&q||g)):f.scrollTop()+y+200});break;default:b.stop().fadeTo(a.speed,d?1:0,function(){K(d)})}}function K(d){d?(M(),l(E),a.autoClose&&(H=setTimeout(r,a.autoClose))):(b.hide(),l(a.onClose),a.loadUrl&&(a.contentContainer.empty(),b.css({height:"auto",width:"auto"})))}function m(a){return a?x+f.scrollLeft():x}function p(a){return a?z+f.scrollTop():z}function l(a,e){c.isFunction(a)&&a.call(b,e)}function C(){z=q?a.position[1]:Math.max(0,(y-b.outerHeight(!0))/2-a.amsl);x=n?a.position[0]:(w-b.outerWidth(!0))/2;h=D()}function D(){return{x:w>b.outerWidth(!0),y:y>b.outerHeight(!0)}}c.isFunction(A)&&(E=A,A=null);var a=c.extend({},c.fn.bPopup.defaults,A);a.scrollBar||c("html").css("overflow","hidden");var b=this,f=c(document),k=c(window),y=k.height(),w=k.width(),N=/OS 6(_\d)+/i.test(navigator.userAgent),v=0,e,h,q,n,g,z,x,t,u,J,H;b.close=function(){r()};b.reposition=function(a){I(a)};return b.each(function(){c(this).data("bPopup")||(l(a.onOpen),v=(k.data("bPopup")||0)+1,e="__b-popup"+v+"__",q="auto"!==a.position[1],n="auto"!==a.position[0],g="fixed"===a.positionStyle,t=b.outerHeight(!0),u=b.outerWidth(!0),a.loadUrl?L():B())})};c.fn.bPopup.defaults={amsl:50,appending:!0,appendTo:"body",autoClose:!1,closeClass:"b-close",content:"ajax",contentContainer:!1,easing:"swing",escClose:!0,follow:[!0,!0],followEasing:"swing",followSpeed:500,iframeAttr:'scrolling="no" frameborder="0"',loadCallback:!1,loadData:!1,loadUrl:!1,modal:!0,modalClose:!0,modalColor:"#000",onClose:!1,onOpen:!1,opacity:.7,position:["auto","auto"],positionStyle:"absolute",scrollBar:!0,speed:250,transition:"fadeIn",transitionClose:!1,zIndex:9997}})(jQuery); 518 519jQuery(document).ready(function () { 520 /* ìë¨ìì ê³ ì */ 521 var msie6 = $.browser == "msie" && $.browser.version < 7; 522 if (!msie6) { 523 var top = 0; 524 jQuery(window).scroll(function (event) { 525 // what the y position of the scroll is 526 var y = jQuery(this).scrollTop(); 527 528 // whether that's below the form 529 if (y > top) { 530 // if so, ad the fixed class 531 jQuery("#header").addClass("fixed"); 532 jQuery("#wrap").addClass("mt131"); 533 } else { 534 // otherwise remove it 535 jQuery("#header").removeClass("fixed"); 536 jQuery("#wrap").removeClass("mt131"); 537 } 538 }); 539 } 540 541 /* ê²ì íì */ 542 jQuery("#icon_search").bind("click", function (e) { 543 e.preventDefault(); 544 jQuery("#quick_search").bPopup({ 545 follow: [true, true], 546 position: ["auto", "auto"], 547 closeClass: ".quick_searchClose", 548 modalClose: true, 549 modalColor: "#000", 550 opacity: 0.7, 551 positionStyle: "fixed", 552 transition: "fadeIn", 553 }); 554 }); 555 556 /* ì¹´í ê³ ë¦¬ SHOPë²í¼ í ê¸. */ 557 jQuery(".top_cate") 558 .mouseenter(function () { 559 jQuery("#category").css("display", "block"); 560 jQuery(".top_cate > a").addClass("on"); 561 }) 562 .mouseleave(function () { 563 jQuery("#category").css("display", "none"); 564 jQuery(".top_cate > a").removeClass("on"); 565 }); 566 567 /* ì ì²´ ê²ìí ì 립ê¸ìì´ì½ ìì */ 568 jQuery("#mileage_icon a").html("ì 립ê¸ì£¼ê¸°"); 569}); 570 571/** 572 * Swiper 11.2.10 573 * Most modern mobile touch slider and framework with hardware accelerated transitions 574 * https://swiperjs.com 575 * 576 * Copyright 2014-2025 Vladimir Kharlampidi 577 * 578 * Released under the MIT License 579 * 580 * Released on: June 28, 2025 581 */ 582 583var Swiper=function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,a){void 0===s&&(s={}),void 0===a&&(a={});const i=["__proto__","constructor","prototype"];Object.keys(a).filter((e=>
vendor: 4,922 bytes, line 583
583i.indexOf(e)<0)).forEach((i=>{void 0===s[i]?s[i]=a[i]:e(a[i])&&e(s[i])&&Object.keys(a[i]).length>0&&t(s[i],a[i])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function a(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const i={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,i),e}function n(e){return void 0===e&&(e=""),e.trim().split(" ").filter((e=>!!e.trim()))}function l(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function o(){return Date.now()}function d(e,t){void 0===t&&(t="x");const s=r();let a,i,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(i=l.transform||l.webkitTransform,i.split(",").length>6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function c(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function p(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let a=1;a<arguments.length;a+=1){const i=a<0||arguments.length<=a?void 0:arguments[a];if(null!=i&&(s=i,!("undefined"!=typeof window&&void 0!==window.HTMLElement?s instanceof HTMLElement:s&&(1===s.nodeType||11===s.nodeType)))){const s=Object.keys(Object(i)).filter((e=>t.indexOf(e)<0));for(let t=0,a=s.length;t<a;t+=1){const a=s[t],r=Object.getOwnPropertyDescriptor(i,a);void 0!==r&&r.enumerable&&(c(e[a])&&c(i[a])?i[a].__swiper__?e[a]=i[a]:p(e[a],i[a]):!c(e[a])&&c(i[a])?(e[a]={},i[a].__swiper__?e[a]=i[a]:p(e[a],i[a])):e[a]=i[a])}}}var s;return e}function u(e,t,s){e.style.setProperty(t,s)}function m(e){let{swiper:t,targetPosition:s,side:a}=e;const i=r(),n=-t.translate;let l,o=null;const d=t.params.speed;t.wrapperEl.style.scrollSnapType="none",i.cancelAnimationFrame(t.cssModeFrameID);const c=s>n?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[a]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[a]:c})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(u)};u()}function h(e){return e.querySelector(".swiper-slide-transform")||e.shadowRoot&&e.shadowRoot.querySelector(".swiper-slide-transform")||e}function f(e,t){void 0===t&&(t="");const s=r(),a=[...e.children];return s.HTMLSlotElement&&e instanceof HTMLSlotElement&&a.push(...e.assignedElements()),t?a.filter((e=>e.matches(t))):a}function g(e){try{return void console.warn(e)}catch(e){}}function v(e,t){void 0===t&&(t=[]);const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:n(t)),s}function w(e){const t=r(),s=a(),i=e.getBoundingClientRect(),n=s.body,l=e.clientTop||n.clientTop||0,o=e.clientLeft||n.clientLeft||0,d=e===t?t.scrollY:e.scrollTop,c=e===t?t.scrollX:e.scrollLeft;return{top:i.top+d-l,left:i.left+c-o}}function b(e,t){return r().getComputedStyle(e,null).getPropertyValue(t)}function y(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function E(e,t){const s=[];let a=e.parentElement;for(;a;)t?a.matches(t)&&s.push(a):s.push(a),a=a.parentElement;return s}function x(e,t){t&&e.addEventListener("transitionend",(function s(a){a.target===e&&(t.call(e,a),e.removeEventListener("transitionend",s))}))}function S(e,t,s){const a=r();
vendor: 4,280 bytes, line 583
583return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(a.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}function T(e){return(Array.isArray(e)?e:[e]).filter((e=>!!e))}function M(e){return t=>Math.abs(t)>0&&e.browser&&e.browser.need3dFix&&Math.abs(t)%90==0?t+.001:t}function C(e,t){void 0===t&&(t=""),"undefined"!=typeof trustedTypes?e.innerHTML=trustedTypes.createPolicy("html",{createHTML:e=>e}).createHTML(t):e.innerHTML=t}let P,L,I;function z(){return P||(P=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),P}function A(e){return void 0===e&&(e={}),L||(L=function(e){let{userAgent:t}=void 0===e?{}:e;const s=z(),a=r(),i=a.navigator.platform,n=t||a.navigator.userAgent,l={ios:!1,android:!1},o=a.screen.width,d=a.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),m=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),h="Win32"===i;let f="MacIntel"===i;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!h&&(l.os="android",l.android=!0),(p||m||u)&&(l.os="ios",l.ios=!0),l}(e)),L}function $(){return I||(I=function(){const e=r(),t=A();let s=!1;function a(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(a()){const t=String(e.navigator.userAgent);if(t.includes("Version/")){const[e,a]=t.split("Version/")[1].split(" ")[0].split(".").map((e=>Number(e)));s=e<16||16===e&&a<2}}const i=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),n=a();return{isSafari:s||n,needPerspectiveFix:s,need3dFix:n||i&&t.ios,isWebView:i}}()),I}var k={on(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;function i(){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n<s;n++)r[n]=arguments[n];t.apply(a,r)}return i.__emitterProxy=t,a.on(e,i,s)},onAny(e,t){const s=this;if(!s.eventsListeners||s.destroyed)return s;if("function"!=typeof e)return s;const a=t?"unshift":"push";return s.eventsAnyListeners.indexOf(e)<0&&s.eventsAnyListeners[a](e),s},offAny(e){const t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsAnyListeners)return t;const s=t.eventsAnyListeners.indexOf(e);return s>=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((a,i)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&s.eventsListeners[e].splice(i,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,a;for(var i=arguments.length,r=new Array(i),n=0;n<i;n++)r[n]=arguments[n];"string"==typeof r[0]||Array.isArray(r[0])?(t=r[0],s=r.slice(1,r.length),a=e):(t=r[0].events,s=r[0].data,a=r[0].context||e),s.unshift(a);return(Array.isArray(t)?t:t.split(" ")).forEach((t=>{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(a,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(a,s)}))})),e}};const O=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const D=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)};const G=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);
vendor: 3,160 bytes, line 583
583if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame((()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&t.remove())}))),t&&t.remove()}},X=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},Y=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const a="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),i=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=i,r=[s-t];return r.push(...Array.from({length:t}).map(((e,t)=>s+a+t))),void e.slides.forEach(((t,s)=>{r.includes(t.column)&&X(e,s)}))}const r=i+a-1;if(e.params.rewind||e.params.loop)for(let a=i-t;a<=r+t;a+=1){const t=(a%s+s)%s;(t<i||t>r)&&X(e,t)}else for(let a=Math.max(i-t,0);a<=Math.min(r+t,s-1);a+=1)a!==i&&(a>r||a<i)&&X(e,a)};var B={updateSize:function(){const e=this;let t,s;const a=e.el;t=void 0!==e.params.width&&null!==e.params.width?e.params.width:a.clientWidth,s=void 0!==e.params.height&&null!==e.params.height?e.params.height:a.clientHeight,0===t&&e.isHorizontal()||0===s&&e.isVertical()||(t=t-parseInt(b(a,"padding-left")||0,10)-parseInt(b(a,"padding-right")||0,10),s=s-parseInt(b(a,"padding-top")||0,10)-parseInt(b(a,"padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(s)&&(s=0),Object.assign(e,{width:t,height:s,size:e.isHorizontal()?t:s}))},updateSlides:function(){const e=this;function t(t,s){return parseFloat(t.getPropertyValue(e.getDirectionLabel(s))||0)}const s=e.params,{wrapperEl:a,slidesEl:i,size:r,rtlTranslate:n,wrongRTL:l}=e,o=e.virtual&&s.virtual.enabled,d=o?e.virtual.slides.length:e.slides.length,c=f(i,`.${e.params.slideClass}, swiper-slide`),p=o?e.virtual.slides.length:c.length;let m=[];const h=[],g=[];let v=s.slidesOffsetBefore;"function"==typeof v&&(v=s.slidesOffsetBefore.call(e));let w=s.slidesOffsetAfter;"function"==typeof w&&(w=s.slidesOffsetAfter.call(e));const y=e.snapGrid.length,E=e.slidesGrid.length;let x=s.spaceBetween,T=-v,M=0,C=0;if(void 0===r)return;"string"==typeof x&&x.indexOf("%")>=0?x=parseFloat(x.replace("%",""))/100*r:"string"==typeof x&&(x=parseFloat(x)),e.virtualSize=-x,c.forEach((e=>{n?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),s.centeredSlides&&s.cssMode&&(u(a,"--swiper-centered-offset-before",""),u(a,"--swiper-centered-offset-after",""));const P=s.grid&&s.grid.rows>1&&e.grid;let L;P?e.grid.initSlides(c):e.grid&&e.grid.unsetSlides();const I="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter((e=>void 0!==s.breakpoints[e].slidesPerView)).length>0;for(let a=0;a<p;a+=1){let i;if(L=0,c[a]&&(i=c[a]),P&&e.grid.updateSlide(a,i,c),!c[a]||"none"!==b(i,"display")){if("auto"===s.slidesPerView){I&&(c[a].style[e.getDirectionLabel("width")]="");const r=getComputedStyle(i),n=i.style.transform,l=i.style.webkitTransform;if(n&&(i.style.transform="none"),l&&(i.style.webkitTransform="none"),s.roun
vendor: 8,754 bytes, line 583
583dLengths)L=e.isHorizontal()?S(i,"width",!0):S(i,"height",!0);else{const e=t(r,"width"),s=t(r,"padding-left"),a=t(r,"padding-right"),n=t(r,"margin-left"),l=t(r,"margin-right"),o=r.getPropertyValue("box-sizing");if(o&&"border-box"===o)L=e+n+l;else{const{clientWidth:t,offsetWidth:r}=i;L=e+s+a+n+l+(r-t)}}n&&(i.style.transform=n),l&&(i.style.webkitTransform=l),s.roundLengths&&(L=Math.floor(L))}else L=(r-(s.slidesPerView-1)*x)/s.slidesPerView,s.roundLengths&&(L=Math.floor(L)),c[a]&&(c[a].style[e.getDirectionLabel("width")]=`${L}px`);c[a]&&(c[a].swiperSlideSize=L),g.push(L),s.centeredSlides?(T=T+L/2+M/2+x,0===M&&0!==a&&(T=T-r/2-x),0===a&&(T=T-r/2-x),Math.abs(T)<.001&&(T=0),s.roundLengths&&(T=Math.floor(T)),C%s.slidesPerGroup==0&&m.push(T),h.push(T)):(s.roundLengths&&(T=Math.floor(T)),(C-Math.min(e.params.slidesPerGroupSkip,C))%e.params.slidesPerGroup==0&&m.push(T),h.push(T),T=T+L+x),e.virtualSize+=L+x,M=L,C+=1}}if(e.virtualSize=Math.max(e.virtualSize,r)+w,n&&l&&("slide"===s.effect||"coverflow"===s.effect)&&(a.style.width=`${e.virtualSize+x}px`),s.setWrapperSize&&(a.style[e.getDirectionLabel("width")]=`${e.virtualSize+x}px`),P&&e.grid.updateWrapperSize(L,m),!s.centeredSlides){const t=[];for(let a=0;a<m.length;a+=1){let i=m[a];s.roundLengths&&(i=Math.floor(i)),m[a]<=e.virtualSize-r&&t.push(i)}m=t,Math.floor(e.virtualSize-r)-Math.floor(m[m.length-1])>1&&m.push(e.virtualSize-r)}if(o&&s.loop){const t=g[0]+x;if(s.slidesPerGroup>1){const a=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),i=t*s.slidesPerGroup;for(let e=0;e<a;e+=1)m.push(m[m.length-1]+i)}for(let a=0;a<e.virtual.slidesBefore+e.virtual.slidesAfter;a+=1)1===s.slidesPerGroup&&m.push(m[m.length-1]+t),h.push(h[h.length-1]+t),e.virtualSize+=t}if(0===m.length&&(m=[0]),0!==x){const t=e.isHorizontal()&&n?"marginLeft":e.getDirectionLabel("marginRight");c.filter(((e,t)=>!(s.cssMode&&!s.loop)||t!==c.length-1)).forEach((e=>{e.style[t]=`${x}px`}))}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;g.forEach((t=>{e+=t+(x||0)})),e-=x;const t=e>r?e-r:0;m=m.map((e=>e<=0?-v:e>t?t+w:e))}if(s.centerInsufficientSlides){let e=0;g.forEach((t=>{e+=t+(x||0)})),e-=x;const t=(s.slidesOffsetBefore||0)+(s.slidesOffsetAfter||0);if(e+t<r){const s=(r-e-t)/2;m.forEach(((e,t)=>{m[t]=e-s})),h.forEach(((e,t)=>{h[t]=e+s}))}}if(Object.assign(e,{slides:c,snapGrid:m,slidesGrid:h,slidesSizesGrid:g}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){u(a,"--swiper-centered-offset-before",-m[0]+"px"),u(a,"--swiper-centered-offset-after",e.size/2-g[g.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(p!==d&&e.emit("slidesLengthChange"),m.length!==y&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==E&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(o||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,a=e.el.classList.contains(t);p<=s.maxBackfaceHiddenSlides?a||e.el.classList.add(t):a&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach((e=>{s.push(e)}));else for(i=0;i<Math.ceil(t.params.slidesPerView);i+=1){const e=t.activeIndex+i;if(e>t.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;i<s.length;i+=1)if(void 0!==s[i]){const e=s[i].offsetHeight;r=e>r?e:r}(r||0===r)&&(t.wrapperEl.style.height=`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let a=0;a<t.length;a+=1)t[a].swiperSlideOffset=(e.isHorizontal()?t[a].offsetLeft:t[a].offsetTop)-s-e.cssOverflowAdjustment()},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);const t=this,s=t.params,{slides:a,rtlTranslate:i,snapGrid:r}=t;if(0===a.length)return;void 0===a[0].swiperSlideOffset&&t.updateSlidesOffset();let n=-e;i&&(n=e),t.visibleSlidesIndexes=[],t.visibleSlides=[];let l=s.spaceBetween;"string"==typeof l&&l.indexOf("%")>=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e<a.length;e+=1){const o=a[e];let d=o.swiperSlideOffset;s.cssMode&&s.centeredSlides&&(d-=a[0].swiperSlideOffset);const c=(n+(s.centeredSlides?t.minTranslate():0)-d)/(o.swiperSlideSize+l),p=(n-r[0]+(s.centeredSlides?t.minTranslate():0)-d)/(o.swiperSlideSize+l),u=-(n-d),m=u+t.slidesSizesGrid[e],h=u>=0&&u<=t.size-t.slidesSizesGrid[e],f=u>=0&&u<t.size-1||m>1&&m<=t.size||u<=0&&m>=t.size;f&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e)),O(o,f,s.slideVisibleClass),O(o,h,s.slideFullyVisibleClass),o.progress=i?-c:c,o.originalProgress=i?-p:p}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n,progressLoop:l}=t;const o=r,d=n;if(0===a)i=0,r=!0,n=!0;else{i=(e-t.minTranslate())/a;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;r=s||i<=0,n=l||i>=1,s&&(i=0),l&&(i=1)}if(s.loop){const s=t.getSlideIndexByData(0),a=t.getSlideIndexByData(t.slides.length-1),i=t.slidesGrid[s],r=t.slidesGrid[a],n=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=i?(o-i)/n:(o+n-r)/n,l>1&&(l-=1)}Object.assign(t,{progress:i,progressLoop:l,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!d&&t.emit("reachEnd toEdge"),(o&&!r||d&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:a,activeIndex:i}=e,r=e.virtual&&s.virtual.enabled,n=e.grid&&s.grid&&s.grid.rows>1,l=e=>f(a,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let o,d,c;if(r)if(s.loop){let t=i-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),o=l(`[data-swiper-slide-index="${t}"]`)}else o=l(`[data-swiper-slide-index="${i}"]`);else n?(o=t.find((e=>e.column===i)),c=t.find((e=>e.column===i+1)),d=t.find((e=>e.column===i-1))):o=t[i];o&&(n||(c=function(e,t){const s=[];for(;e.nextElementSibling;){const a=e.nextElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!c&&(c=t[0]),d=function(e,t){const s=[];for(;e.previousElementSibling;){const a=e.previousElementSibling;t?a.matches(t)&&s.push(a):s.push(a),e=a}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]))),t.forEach((e=>{D(e,e===o,s.slideActiveClass),D(e,e===c,s.slideNextClass),D(e,e===d,s.slidePrevClass)})),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:a,params:i,activeIndex:r,realIndex:n,snapIndex:l}=t;let o,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,a=e.rtlTranslate?e.translate:-e.translate;let i;for(let e=0;e<t.length;e+=1)void 0!==t[e+1]?a>=t[e]&&a<t[e+1]-(t[e+1]-t[e])/2?i=e:a>=t[e]&&a<t[e+1]&&(i=e+1):a>=t[e]&&(i=e);return s.normalizeSlideIndex&&(i<0||void 0===i)&&(i=0),i}(t)),a.indexOf(s)>=0)o=a.indexOf(s);else{const e=Math.min(i.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/i.slidesPerGroup)}if(o>=a.length&&(o=a.length-1),d===r&&!t.params.loop)return void(o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")));if(d===r&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=c(d));const p=t.grid&&i.grid&&i.grid.rows>1;let u;if(t.virtual&&i.virtual.enabled&&i.loop)u=c(d);else if(p){const e=t.slides.find((e=>e.column===d));let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/i.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:n,realIndex:u,previousIndex:r,activeIndex:d}),t.initialized&&Y(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(n!==u&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const s=this,a=s.params;let i=e.closest(`.${a.slideClass}, swiper-slide`);!i&&s.isElement&&t&&t.length>
vendor: 4,410 bytes, line 583
5831&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach((e=>{!i&&e.matches&&e.matches(`.${a.slideClass}, swiper-slide`)&&(i=e)}));let r,n=!1;if(i)for(let e=0;e<s.slides.length;e+=1)if(s.slides[e]===i){n=!0,r=e;break}if(!i||!n)return s.clickedSlide=void 0,void(s.clickedIndex=void 0);s.clickedSlide=i,s.virtual&&s.params.virtual.enabled?s.clickedIndex=parseInt(i.getAttribute("data-swiper-slide-index"),10):s.clickedIndex=r,a.slideToClickedSlide&&void 0!==s.clickedIndex&&s.clickedIndex!==s.activeIndex&&s.slideToClickedSlide()}};var H={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");const{params:t,rtlTranslate:s,translate:a,wrapperEl:i}=this;if(t.virtualTranslate)return s?-a:a;if(t.cssMode)return a;let r=d(i,e);return r+=this.cssOverflowAdjustment(),s&&(r=-r),r||0},setTranslate:function(e,t){const s=this,{rtlTranslate:a,params:i,wrapperEl:r,progress:n}=s;let l,o=0,d=0;s.isHorizontal()?o=a?-e:e:d=e,i.roundLengths&&(o=Math.floor(o),d=Math.floor(d)),s.previousTranslate=s.translate,s.translate=s.isHorizontal()?o:d,i.cssMode?r[s.isHorizontal()?"scrollLeft":"scrollTop"]=s.isHorizontal()?-o:-d:i.virtualTranslate||(s.isHorizontal()?o-=s.cssOverflowAdjustment():d-=s.cssOverflowAdjustment(),r.style.transform=`translate3d(${o}px, ${d}px, 0px)`);const c=s.maxTranslate()-s.minTranslate();l=0===c?0:(e-s.minTranslate())/c,l!==n&&s.updateProgress(e),s.emit("setTranslate",s.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,s,a,i){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),void 0===a&&(a=!0);const r=this,{params:n,wrapperEl:l}=r;if(r.animating&&n.preventInteractionOnTransition)return!1;const o=r.minTranslate(),d=r.maxTranslate();let c;if(c=a&&e>o?o:a&&e<d?d:e,r.updateProgress(c),n.cssMode){const e=r.isHorizontal();if(0===t)l[e?"scrollLeft":"scrollTop"]=-c;else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:-c,side:e?"left":"top"}),!0;l.scrollTo({[e?"left":"top"]:-c,behavior:"smooth"})}return!0}return 0===t?(r.setTransition(0),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,i),r.emit("transitionEnd"))):(r.setTransition(t),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,i),r.emit("transitionStart")),r.animating||(r.animating=!0,r.onTranslateToWrapperTransitionEnd||(r.onTranslateToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.onTranslateToWrapperTransitionEnd=null,delete r.onTranslateToWrapperTransitionEnd,r.animating=!1,s&&r.emit("transitionEnd"))}),r.wrapperEl.addEventListener("transitionend",r.onTranslateToWrapperTransitionEnd))),!0}};function N(e){let{swiper:t,runCallbacks:s,direction:a,step:i}=e;const{activeIndex:r,previousIndex:n}=t;let l=a;l||(l=r>n?"next":r<n?"prev":"reset"),t.emit(`transition${i}`),s&&"reset"===l?t.emit(`slideResetTransition${i}`):s&&r!==n&&(t.emit(`slideChangeTransition${i}`),"next"===l?t.emit(`slideNextTransition${i}`):t.emit(`slidePrevTransition${i}`))}var R={slideTo:function(e,t,s,a,i){void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e&&(e=parseInt(e,10));const r=this;let n=e;n<0&&(n=0);const{params:l,snapGrid:o,slidesGrid:d,previousIndex:c,activeIndex:p,rtlTranslate:u,wrapperEl:h,enabled:f}=r;if(!f&&!a&&!i||r.destroyed||r.animating&&l.preventInteractionOnTransition)return!1;void 0===t&&(t=r.params.speed);const g=Math.min(r.params.slidesPerGroupSkip,n);let v=g+Math.floor((n-g)/r.params.slidesPerGroup);v>=o.length&&(v=o.length-1);const w=-o[v];if(l.normalizeSlideIndex)for(let e=0;e<d.length;e+=1){const t=-Math.floor(100*w),s=Math.floor(100*d[e]),a=Math.floor(100*d[e+1]);void 0!==d[e+1]?t>=s&&t<a-(a-s)/2?n=e:t>=s&&t<a&&(n=e+1):t>=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&(u?w>r.translate&&w>r.minTranslate():w<r.translate&&w<r.minTranslate()))return!1;if(!r.allowSlidePrev&&w>r.translate&&w>r.maxTranslate()&&(p||0)!==n)return!1}let b;n!==(c||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(w),b=n>p?"next":n<p?"prev":"reset";const y=r.virtual&&r.params.virtual.enabled;if(!(y&&i)&&(u&&-w===r.translate||!u&&w===r.translate))return r.updateActiveIndex(n),l.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==l.effect&&r.setTranslate(w),"reset"!==b&&(r.transitionStart(s,b),r.transitionEnd(s,b)),!1;
vendor: 6,463 bytes, line 583
583if(l.cssMode){const e=r.isHorizontal(),s=u?w:-w;if(0===t)y&&(r.wrapperEl.style.scrollSnapType="none",r._immediateVirtual=!0),y&&!r._cssModeVirtualInitialSet&&r.params.initialSlide>0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame((()=>{h[e?"scrollLeft":"scrollTop"]=s}))):h[e?"scrollLeft":"scrollTop"]=s,y&&requestAnimationFrame((()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1}));else{if(!r.support.smoothScroll)return m({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}const E=$().isSafari;return y&&!i&&E&&r.isElement&&r.virtual.update(!1,!1,n),r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,a){if(void 0===e&&(e=0),void 0===s&&(s=!0),"string"==typeof e){e=parseInt(e,10)}const i=this;if(i.destroyed)return;void 0===t&&(t=i.params.speed);const r=i.grid&&i.params.grid&&i.params.grid.rows>1;let n=e;if(i.params.loop)if(i.virtual&&i.params.virtual.enabled)n+=i.virtual.slidesBefore;else{let e;if(r){const t=n*i.params.grid.rows;e=i.slides.find((e=>1*e.getAttribute("data-swiper-slide-index")===t)).column}else e=i.getSlideIndexByData(n);const t=r?Math.ceil(i.slides.length/i.params.grid.rows):i.slides.length,{centeredSlides:s}=i.params;let l=i.params.slidesPerView;"auto"===l?l=i.slidesPerViewDynamic():(l=Math.ceil(parseFloat(i.params.slidesPerView,10)),s&&l%2==0&&(l+=1));let o=t-e<l;if(s&&(o=o||e<Math.ceil(l/2)),a&&s&&"auto"!==i.params.slidesPerView&&!r&&(o=!1),o){const a=s?e<i.activeIndex?"prev":"next":e-i.activeIndex-1<i.params.slidesPerView?"next":"prev";i.loopFix({direction:a,slideTo:!0,activeSlideIndex:"next"===a?e+1:e-t+1,slideRealIndex:"next"===a?i.realIndex:void 0})}if(r){const e=n*i.params.grid.rows;n=i.slides.find((t=>1*t.getAttribute("data-swiper-slide-index")===e)).column}else n=i.getSlideIndexByData(n)}return requestAnimationFrame((()=>{i.slideTo(n,t,s,a)})),i},slideNext:function(e,t,s){void 0===t&&(t=!0);const a=this,{enabled:i,params:r,animating:n}=a;if(!i||a.destroyed)return a;void 0===e&&(e=a.params.speed);let l=r.slidesPerGroup;"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(l=Math.max(a.slidesPerViewDynamic("current",!0),1));const o=a.activeIndex<r.slidesPerGroupSkip?1:l,d=a.virtual&&r.virtual.enabled;if(r.loop){if(n&&!d&&r.loopPreventsSliding)return!1;if(a.loopFix({direction:"next"}),a._clientLeft=a.wrapperEl.clientLeft,a.activeIndex===a.slides.length-1&&r.cssMode)return requestAnimationFrame((()=>{a.slideTo(a.activeIndex+o,e,t,s)})),!0}return r.rewind&&a.isEnd?a.slideTo(0,e,t,s):a.slideTo(a.activeIndex+o,e,t,s)},slidePrev:function(e,t,s){void 0===t&&(t=!0);const a=this,{params:i,snapGrid:r,slidesGrid:n,rtlTranslate:l,enabled:o,animating:d}=a;if(!o||a.destroyed)return a;void 0===e&&(e=a.params.speed);const c=a.virtual&&i.virtual.enabled;if(i.loop){if(d&&!c&&i.loopPreventsSliding)return!1;a.loopFix({direction:"prev"}),a._clientLeft=a.wrapperEl.clientLeft}function p(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=p(l?a.translate:-a.translate),m=r.map((e=>p(e))),h=i.freeMode&&i.freeMode.enabled;let f=r[m.indexOf(u)-1];if(void 0===f&&(i.cssMode||h)){let e;r.forEach(((t,s)=>{u>=t&&(e=s)})),void 0!==e&&(f=h?r[e]:r[e>0?e-1:e])}let g=0;if(void 0!==f&&(g=n.indexOf(f),g<0&&(g=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(g=g-a.slidesPerViewDynamic("previous",!0)+1,g=Math.max(g,0))),i.rewind&&a.isBeginning){const i=a.params.virtual&&a.params.virtual.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(i,e,t,s)}return i.loop&&0===a.activeIndex&&i.cssMode?(requestAnimationFrame((()=>{a.slideTo(g,e,t,s)})),!0):a.slideTo(g,e,t,s)},slideReset:function(e,t,s){void 0===t&&(t=!0);const a=this;if(!a.destroyed)return void 0===e&&(e=a.params.speed),a.slideTo(a.activeIndex,e,t,s)},slideToClosest:function(e,t,s,a){void 0===t&&(t=!0),void 0===a&&(a=.5);const i=this;if(i.destroyed)return;void 0===e&&(e=i.params.speed);let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.getSlideIndexWhenGrid(e.clickedIndex);const n=e.isElement?"swiper-slide":`.${t.slideClass}`,o=e.grid&&e.params.grid&&e.params.grid.rows>1;if(t.loop){if(e.animating)return;i=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?e.slideToLoop(i):r>(o?(e.slides.length-a)/2-(e.params.grid.rows-1):e.slides.length-a)?(e.loopFix(),r=e.getSlideIndex(f(s,`${n}[data-swiper-slide-index="${i}"]`)[0]),l((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var _={loopCreate:function(e,t){const s=this,{params:a,slidesEl:i}=s;if(!a.loop||s.virtual&&s.params.virtual.enabled)return;const r=()=>{f(i,`.${a.slideClass}, swiper-slide`).forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t)}))},n=s.grid&&a.grid&&a.grid.rows>1;a.loopAddBlankSlides&&(a.slidesPerGroup>1||n)&&(()=>{const e=f(i,`.${a.slideBlankClass}`);e.forEach((e=>{e.remove()})),e.length>0&&(s.recalcSlides(),s.updateSlides())})();const l=a.slidesPerGroup*(n?a.grid.rows:1),o=s.slides.length%l!=0,d=n&&s.slides.length%a.grid.rows!=0,c=e=>{for(let t=0;t<e;t+=1){const e=s.isElement?v("swiper-slide",[a.slideBlankClass]):v("div",[a.slideClass,a.slideBlankClass]);s.slidesEl.append(e)}};if(o){if(a.loopAddBlankSlides){c(l-s.slides.length%l),s.recalcSlides(),s.updateSlides()}else g("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may
583not function properly. You need to add more slides (or make duplicates, or empty slides)");r()}else if(d){if(a.loopAddBlankSlides){c(a.grid.rows-s.slides.length%a.grid.rows),s.recalcSlides(),s.updateSlides()}else g("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");r()}else r();s.loopFix({slideRealIndex:e,direction:a.centeredSlides?void 0:"next",initial:t})},loopFix:function(e){let{slideRealIndex:t,slideTo:s=!0,direction:a,setTranslate:i,activeSlideIndex:r,initial:n,byController:l,byMousewheel:o}=void 0===e?{}:e;const d=this;if(!d.params.loop)return;d.emit("beforeLoopFix");const{slides:c,allowSlidePrev:p,allowSlideNext:u,slidesEl:m,params:h}=d,{centeredSlides:f,initialSlide:v}=h;if(d.allowSlidePrev=!0,d.allowSlideNext=!0,d.virtual&&h.virtual.enabled)return s&&(h.centeredSlides||0!==d.snapIndex?h.centeredSlides&&d.snapIndex<h.slidesPerView?d.slideTo(d.virtual.slides.length+d.snapIndex,0,!1,!0):d.snapIndex===d.snapGrid.length-1&&d.slideTo(d.virtual.slidesBefore,0,!1,!0):d.slideTo(d.virtual.slides.length,0,!1,!0)),d.allowSlidePrev=p,d.allowSlideNext=u,void d.emit("loopFix");let w=h.slidesPerView;"auto"===w?w=d.slidesPerViewDynamic():(w=Math.ceil(parseFloat(h.slidesPerView,10)),f&&w%2==0&&(w+=1));const b=h.slidesPerGroupAuto?w:h.slidesPerGroup;let y=f?Math.max(b,Math.ceil(w/2)):b;y%b!=0&&(y+=b-y%b),y+=h.loopAdditionalSlides,d.loopedSlides=y;const E=d.grid&&h.grid&&h.grid.rows>1;c.length<w+y||"cards"===d.params.effect&&c.length<w+2*y?g("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters"):E&&"row"===h.grid.fill&&g("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");const x=[],S=[],T=E?Math.ceil(c.length/h.grid.rows):c.length,M=n&&T-v<w&&!f;let C=M?v:d.activeIndex;void 0===r?r=d.getSlideIndex(c.find((e=>e.classList.contains(h.slideActiveClass)))):C=r;const P="next"===a||!a,L="prev"===a||!a;let I=0,z=0;const A=(E?c[r].column:r)+(f&&void 0===i?-w/2+.5:0);if(A<y){I=Math.max(y-A,b);for(let e=0;e<y-A;e+=1){const t=e-Math.floor(e/T)*T;if(E){const e=T-t-1;for(let t=c.length-1;t>=0;t-=1)c[t].column===e&&x.push(t)}else x.push(T-t-1)}}else if(A+w>T-y){z=Math.max(A-(T-2*y),b),M&&(z=Math.max(z,w-T+v+1));for(let e=0;e<z;e+=1){const t=e-Math.floor(e/T)*T;E?c.forEach(((e,s)=>{e.column===t&&S.push(s)})):S.push(t)}}if(d.__preventObserver__=!0,requestAnimationFrame((()=>{d.__preventObserver__=!1})),"cards"===d.params.effect&&c.length<w+2*y&&(S.includes(r)&&S.splice(S.indexOf(r),1),x.includes(r)&&x.splice(x.indexOf(r),1)),L&&x.forEach((e=>{c[e].swiperLoopMoveDOM=!0,m.prepend(c[e]),c[e].swiperLoopMoveDOM=!1})),P&&S.forEach((e=>{c[e].swiperLoopMoveDOM=!0,m.append(c[e]),c[e].swiperLoopMoveDOM=!1})),d.recalcSlides(),"auto"===h.slidesPerView?d.updateSlides():E&&(x.length>0&&L||S.length>0&&P)&&d.slides.forEach(((e,t)=>{d.grid.updateSlide(t,e,d.slides)})),h.watchSlidesProgress&&d.updateSlidesOffset(),s)if(x.length>0&&L){if(void 0===t){const e=d.slidesGrid[C],t=d.slidesGrid[C+I]-e;o?d.setTranslate(d.translate-t):(d.slideTo(C+Math.ceil(I),0,!1,!0),i&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-t,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-t))}else if(i){const e=E?x.length/h.grid.rows:x.length;d.slideTo(d.activeIndex+e,0,!1,!0),d.touchEventsData.currentTranslate=d.translate}}else if(S.length>0&&P)if(void 0===t){const e=d.slidesGrid[C],t=d.slidesGrid[C-z]-e;o?d.setTranslate(d.translate-t):(d.slideTo(C-z,0,!1,!0),i&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-t,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-t))}else{const e=E?S.length/h.grid.rows:S.length;d.slideTo(d.activeIndex-e,0,!1,!0)}if(d.allowSlidePrev=p,d.allowSlideNext=u,d.controller&&d.controller.control&&!l){const e={slideRealIndex:t,direction:a,setTranslate:i,activeSlideIndex:r,byController:!0};Array.isArray(d.controller.control)?d.controller.control.forEach((t=>{!t.destroyed&&t.params.loop&&t.loopFix({...e,slideTo:t.params.slidesPerView===h.slidesPerView&&s})})):d.controller.control instanceof d.constructor&&d.controller.control.params.loop&&d.controller.control.loopFix({...e,slideTo:d.controller.control.params.slidesPerView===h.slidesPerView&&s})}d.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||!s||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const a=[];
vendor: 3,381 bytes, line 583
583e.slides.forEach((e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;a[t]=e})),e.slides.forEach((e=>{e.removeAttribute("data-swiper-slide-index")})),a.forEach((e=>{s.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function q(e,t,s){const a=r(),{params:i}=e,n=i.edgeSwipeDetection,l=i.edgeSwipeThreshold;return!n||!(s<=l||s>=a.innerWidth-l)||"prevent"===n&&(t.preventDefault(),!0)}function V(e){const t=this,s=a();let i=e;i.originalEvent&&(i=i.originalEvent);const n=t.touchEventsData;if("pointerdown"===i.type){if(null!==n.pointerId&&n.pointerId!==i.pointerId)return;n.pointerId=i.pointerId}else"touchstart"===i.type&&1===i.targetTouches.length&&(n.touchId=i.targetTouches[0].identifier);if("touchstart"===i.type)return void q(t,i,i.targetTouches[0].pageX);const{params:l,touches:d,enabled:c}=t;if(!c)return;if(!l.simulateTouch&&"mouse"===i.pointerType)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let p=i.target;if("wrapper"===l.touchEventsTarget&&!function(e,t){const s=r();let a=t.contains(e);!a&&s.HTMLSlotElement&&t instanceof HTMLSlotElement&&(a=[...t.assignedElements()].includes(e),a||(a=function(e,t){const s=[t];for(;s.length>0;){const t=s.shift();if(e===t)return!0;s.push(...t.children,...t.shadowRoot?t.shadowRoot.children:[],...t.assignedElements?t.assignedElements():[])}}(e,t)));return a}(p,t.wrapperEl))return;if("which"in i&&3===i.which)return;if("button"in i&&i.button>0)return;if(n.isTouched&&n.isMoved)return;const u=!!l.noSwipingClass&&""!==l.noSwipingClass,m=i.composedPath?i.composedPath():i.path;u&&i.target&&i.target.shadowRoot&&m&&(p=m[0]);const h=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,f=!(!i.target||!i.target.shadowRoot);if(l.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===a()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}(h,p):p.closest(h)))return void(t.allowClick=!0);if(l.swipeHandler&&!p.closest(l.swipeHandler))return;d.currentX=i.pageX,d.currentY=i.pageY;const g=d.currentX,v=d.currentY;if(!q(t,i,g))return;Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=g,d.startY=v,n.touchStartTime=o(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1);let w=!0;p.matches(n.focusableElements)&&(w=!1,"SELECT"===p.nodeName&&(n.isTouched=!1)),s.activeElement&&s.activeElement.matches(n.focusableElements)&&s.activeElement!==p&&("mouse"===i.pointerType||"mouse"!==i.pointerType&&!p.matches(n.focusableElements))&&s.activeElement.blur();const b=w&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!b||p.isContentEditable||i.preventDefault(),l.freeMode&&l.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",i)}function F(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:d}=s;if(!d)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let c,p=e;if(p.originalEvent&&(p=p.originalEvent),"pointermove"===p.type){if(null!==i.touchId)return;if(p.pointerId!==i.pointerId)return}if("touchmove"===p.type){if(c=[...p.changedTouches].find((e=>e.identifier===i.touchId)
vendor: 5,269 bytes, line 583
583),!c||c.identifier!==i.touchId)return}else c=p;if(!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",p));const u=c.pageX,m=c.pageY;if(p.preventedByNestedSwiper)return n.startX=u,void(n.startY=m);if(!s.allowTouchMove)return p.target.matches(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m}),i.touchStartTime=o()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(m<n.startY&&s.translate<=s.maxTranslate()||m>n.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else{if(l&&(u>n.startX&&-s.translate<=s.maxTranslate()||u<n.startX&&-s.translate>=s.minTranslate()))return;if(!l&&(u<n.startX&&s.translate<=s.maxTranslate()||u>n.startX&&s.translate>=s.minTranslate()))return}if(t.activeElement&&t.activeElement.matches(i.focusableElements)&&t.activeElement!==p.target&&"mouse"!==p.pointerType&&t.activeElement.blur(),t.activeElement&&p.target===t.activeElement&&p.target.matches(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);i.allowTouchCallbacks&&s.emit("touchMove",p),n.previousX=n.currentX,n.previousY=n.currentY,n.currentX=u,n.currentY=m;const h=n.currentX-n.startX,f=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(h**2+f**2)<s.params.threshold)return;if(void 0===i.isScrolling){let e;s.isHorizontal()&&n.currentY===n.startY||s.isVertical()&&n.currentX===n.startX?i.isScrolling=!1:h*h+f*f>=25&&(e=180*Math.atan2(Math.abs(f),Math.abs(h))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",p),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling||"touchmove"===p.type&&i.preventTouchMoveFromPointerMove)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&p.cancelable&&p.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&p.stopPropagation();let g=s.isHorizontal()?h:f,v=s.isHorizontal()?n.currentX-n.previousX:n.currentY-n.previousY;r.oneWayMovement&&(g=Math.abs(g)*(l?1:-1),v=Math.abs(v)*(l?1:-1)),n.diff=g,g*=r.touchRatio,l&&(g=-g,v=-v);const w=s.touchesDirection;s.swipeDirection=g>0?"prev":"next",s.touchesDirection=v>0?"prev":"next";const b=s.params.loop&&!r.cssMode,y="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!i.isMoved){if(b&&y&&s.loopFix({direction:s.swipeDirection}),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});s.wrapperEl.dispatchEvent(e)}i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",p)}if((new Date).getTime(),!1!==r._loopSwapReset&&i.isMoved&&i.allowThresholdMove&&w!==s.touchesDirection&&b&&y&&Math.abs(g)>=1)return Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m,startTranslate:i.currentTranslate}),i.loopSwapReset=!0,void(i.startTranslate=i.currentTranslate);s.emit("sliderMove",p),i.isMoved=!0,i.currentTranslate=g+i.startTranslate;let E=!0,x=r.resistanceRatio;if(r.touchReleaseOnEdges&&(x=0),g>0?(b&&y&&i.allowThresholdMove&&i.currentTranslate>(r.centeredSlides?s.minTranslate()-s.slidesSizesGrid[s.activeIndex+1]-("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.activeIndex+1]+s.params.spaceBetween:0)-s.params.spaceBetween:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),i.currentTranslate>s.minTranslate()&&(E=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+g)**x))):g<0&&(b&&y&&i.allowThresholdMove&&i.currentTranslate<(r.centeredSlides?s.maxTranslate()+s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween+("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween:0):s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),i.currentTranslate<s.maxTranslate()&&(E=!1,r.resistance&&(i.currentTranslate=s.maxTranslate()+1-(s.maxTranslate()-i.startTranslate-g)**x))),E&&(p.preventedByNestedSwiper=!0),!s.allowSlideNext&&"next"===s.swipeDirection&&i.currentTranslate<i.startTranslate&&(i.currentTranslate=i.startTranslate),!s.allowSlidePrev&&"prev"===s.swipeDirection&&i.currentTranslate>i.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(g)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),r.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function
vendor: 4,379 bytes, line 583
583W(e){const t=this,s=t.touchEventsData;let a,i=e;i.originalEvent&&(i=i.originalEvent);if("touchend"===i.type||"touchcancel"===i.type){if(a=[...i.changedTouches].find((e=>e.identifier===s.touchId)),!a||a.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(i.pointerId!==s.pointerId)return;a=i}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(i.type)){if(!(["pointercancel","contextmenu"].includes(i.type)&&(t.browser.isSafari||t.browser.isWebView)))return}s.pointerId=null,s.touchId=null;const{params:r,touches:n,rtlTranslate:d,slidesGrid:c,enabled:p}=t;if(!p)return;if(!r.simulateTouch&&"mouse"===i.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",i),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&r.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);r.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=o(),m=u-s.touchStartTime;if(t.allowClick){const e=i.path||i.composedPath&&i.composedPath();t.updateClickedSlide(e&&e[0]||i.target,e),t.emit("tap click",i),m<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",i)}if(s.lastClickTime=o(),l((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===n.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=r.followFinger?d?t.translate:-t.translate:-s.currentTranslate,r.cssMode)return;if(r.freeMode&&r.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});const f=h>=-t.maxTranslate()&&!t.params.loop;let g=0,v=t.slidesSizesGrid[0];for(let e=0;e<c.length;e+=e<r.slidesPerGroupSkip?1:r.slidesPerGroup){const t=e<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;void 0!==c[e+t]?(f||h>=c[e]&&h<c[e+t])&&(g=e,v=c[e+t]-c[e]):(f||h>=c[e])&&(g=e,v=c[c.length-1]-c[c.length-2])}let w=null,b=null;r.rewind&&(t.isBeginning?b=r.virtual&&r.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(w=0));const y=(h-c[g])/v,E=g<r.slidesPerGroupSkip-1?1:r.slidesPerGroup;if(m>r.longSwipesMs){if(!r.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(y>=r.longSwipesRatio?t.slideTo(r.rewind&&t.isEnd?w:g+E):t.slideTo(g)),"prev"===t.swipeDirection&&(y>1-r.longSwipesRatio?t.slideTo(g+E):null!==b&&y<0&&Math.abs(y)>r.longSwipesRatio?t.slideTo(b):t.slideTo(g))}else{if(!r.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(i.target===t.navigation.nextEl||i.target===t.navigation.prevEl)?i.target===t.navigation.nextEl?t.slideTo(g+E):t.slideTo(g):("next"===t.swipeDirection&&t.slideTo(null!==w?w:g+E),"prev"===t.swipeDirection&&t.slideTo(null!==b?b:g))}}function j(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e,n=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=n&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l?e.params.loop&&!n?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout((()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function U(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function K(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function Z(e){const t=this;G(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update(
vendor: 5,575 bytes, line 583
583)}function Q(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const J=(e,t)=>{const s=a(),{params:i,el:r,wrapperEl:n,device:l}=e,o=!!i.nested,d="on"===t?"addEventListener":"removeEventListener",c=t;r&&"string"!=typeof r&&(s[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:o}),r[d]("touchstart",e.onTouchStart,{passive:!1}),r[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("touchmove",e.onTouchMove,{passive:!1,capture:o}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:o}),s[d]("touchend",e.onTouchEnd,{passive:!0}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("touchcancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),s[d]("contextmenu",e.onTouchEnd,{passive:!0}),(i.preventClicks||i.preventClicksPropagation)&&r[d]("click",e.onClick,!0),i.cssMode&&n[d]("scroll",e.onScroll),i.updateOnWindowResize?e[c](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",j,!0):e[c]("observerUpdate",j,!0),r[d]("load",e.onLoad,{capture:!0}))};const ee=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var te={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function se(e,t){return function(s){void 0===s&&(s={});const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(!0===e[a]&&(e[a]={enabled:!0}),"navigation"===a&&e[a]&&e[a].enabled&&!e[a].prevEl&&!e[a].nextEl&&(e[a].auto=!0),["pagination","scrollbar"].indexOf(a)>=0&&e[a]&&e[a].enabled&&!e[a].el&&(e[a].auto=!0),a in e&&"enabled"in i?("object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),p(t,s)):p(t,s)):p(t,s)}}const ae={eventsEmitter:k,update:B,translate:H,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||(s.wrapperEl.style.transitionDuration=`${e}ms`,s.wrapperEl.style.transitionDelay=0===e?"0ms":""),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;a.cssMode||(a.autoHeight&&s.updateAutoHeight(),N({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;s.animating=!1,a.cssMode||(s.setTransition(0),N({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:R,loop:_,grabCursor:{setGrabCursor:function(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),s.style.cursor="move",s.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((()=>{t.__preventObserver__=!1}))},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((()=>{e.__preventObserver__=!1})))}},events:{attachEvents:function(){const e=this,{params:t}=e;e.onTouchStart=V.bind(e),e.onTouchMove=F.bind(e),e.onTouchEnd=W.bind(e),e.onDocumentTouchStart=Q.bind(e),t.cssMode&&(e.onScroll=K.bind(e)),e.onClick=U.bind(e),e.onLoad=Z.bind(e),J(e,"on")},detachEvents:function(){J(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:i,el:r}=e,n=i.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const l=a(),o="window"!==i.breakpointsBase&&i.breakpointsBase?"container":i.breakpointsBase,d=["window","container"].includes(i.breakpointsBase)||!i.breakpointsBase?e.el:l.querySelector(i.breakpointsBase),c=e.getBreakp
vendor: 3,981 bytes, line 583
583oint(n,o,d);if(!c||e.currentBreakpoint===c)return;const u=(c in n?n[c]:void 0)||e.originalParams,m=ee(e,i),h=ee(e,u),f=e.params.grabCursor,g=u.grabCursor,v=i.enabled;m&&!h?(r.classList.remove(`${i.containerModifierClass}grid`,`${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!m&&h&&(r.classList.add(`${i.containerModifierClass}grid`),(u.grid.fill&&"column"===u.grid.fill||!u.grid.fill&&"column"===i.grid.fill)&&r.classList.add(`${i.containerModifierClass}grid-column`),e.emitContainerClasses()),f&&!g?e.unsetGrabCursor():!f&&g&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach((t=>{if(void 0===u[t])return;const s=i[t]&&i[t].enabled,a=u[t]&&u[t].enabled;s&&!a&&e[t].disable(),!s&&a&&e[t].enable()}));const w=u.direction&&u.direction!==i.direction,b=i.loop&&(u.slidesPerView!==i.slidesPerView||w),y=i.loop;w&&s&&e.changeDirection(),p(e.params,u);const E=e.params.enabled,x=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),v&&!E?e.disable():!v&&E&&e.enable(),e.currentBreakpoint=c,e.emit("_beforeBreakpoint",u),s&&(b?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!y&&x?(e.loopCreate(t),e.updateSlides()):y&&!x&&e.loopDestroy()),e.emit("breakpoint",u)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;e<l.length;e+=1){const{point:r,value:n}=l[e];"window"===t?i.matchMedia(`(min-width: ${n}px)`).matches&&(a=r):n<=s.clientWidth&&(a=r)}return a||"max"}},checkOverflow:{checkOverflow:function(){const e=this,{isLocked:t,params:s}=e,{slidesOffsetBefore:a}=s;if(a){const t=e.slides.length-1,s=e.slidesGrid[t]+e.slidesSizesGrid[t]+2*a;e.isLocked=e.size>s}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,el:i,device:r}=e,n=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...n),i.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e&&"string"!=typeof e&&(e.classList.remove(...t),this.emitContainerClasses())}}},ie={};class re{constructor(){let e,t;for(var s=arguments.length,i=new Array(s),r=0;r<s;r++)i[r]=arguments[r];1===i.length&&i[0].constructor&&"Object"===Object.prototype.toString.call(i[0]).slice(8,-1)?t=i[0]:[e,t]=i,t||(t={}),t=p({},t),e&&!t.el&&(t.el=e);const n=a();if(t.el&&"string"==typeof t.el&&n.querySelectorAll(t.el).length>1){const e=[];return n.querySelectorAll(t.el).forEach((s=>{const a=p({},t,{el:s});e.push(new re(a))})),e}const l=this;l.__swiper__=!0,l.support=z(),l.device=A({userAgent:t.userAgent}),l.browser=$(),l.eventsListeners={},l.eventsAnyListeners=[],l.modules=[...l.__modules__],t.modules&&Array.isArray(t.modules)&&l.modules.push(...t.modules);const o={};l.modules.forEach((e=>{e({params:t,swiper:l,extendParams:se(t,o),on:l.on.bind(l),once:l.once.bind(l),off:l.off.bind(l),emit:l.emit.bind(l)})}));const d=p({},te,o);return l.params=p({},d,ie,t),l.originalParams=p({},l.params),l.passedParams=p({}
vendor: 4,848 bytes, line 583
583,t),l.params&&l.params.on&&Object.keys(l.params.on).forEach((e=>{l.on(e,l.params.on[e])})),l.params&&l.params.onAny&&l.onAny(l.params.onAny),Object.assign(l,{enabled:l.params.enabled,el:e,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===l.params.direction,isVertical:()=>"vertical"===l.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:l.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.emit("_swiper"),l.params.init&&l.init(),l}getDirectionLabel(e){return this.isHorizontal()?e:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[e]}getSlideIndex(e){const{slidesEl:t,params:s}=this,a=y(f(t,`.${s.slideClass}, swiper-slide`)[0]);return y(e)-a}getSlideIndexByData(e){return this.getSlideIndex(this.slides.find((t=>1*t.getAttribute("data-swiper-slide-index")===e)))}getSlideIndexWhenGrid(e){return this.grid&&this.params.grid&&this.params.grid.rows>1&&("column"===this.params.grid.fill?e=Math.floor(e/this.params.grid.rows):"row"===this.params.grid.fill&&(e%=Math.ceil(this.slides.length/this.params.grid.rows))),e}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=f(e,`.${t.slideClass}, swiper-slide`)}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=a[l]?Math.ceil(a[l].swiperSlideSize):0;for(let s=l+1;s<a.length;s+=1)a[s]&&!e&&(t+=Math.ceil(a[s].swiperSlideSize),o+=1,t>n&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e<a.length;e+=1){(t?i[e]+r[e]-i[l]<n:i[e]-i[l]<n)&&(o+=1)}else for(let e=l-1;e>=0;e-=1){i[l]-i[e]<n&&(o+=1)}return o}update(){const e=this;if(!e||e.destroyed)return;const{snapGrid:t,params:s}=e;function a(){const t=e.rtlTranslate?-1*e.translate:e.translate,s=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(s),e.updateActiveIndex(),e.updateSlidesClasses()}let i;if(s.breakpoints&&e.setBreakpoint(),[...e.el.querySelectorAll('[loading="lazy"]')].forEach((t=>{t.complete&&G(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)a(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;i=e.slideTo(t.length-1,0,!1,!0)}else i=e.slideTo(e.activeIndex,0,!1,!0);i||a()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${a}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEac
vendor: 4,493 bytes, line 583
583h((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&s.parentNode.host.nodeName===t.params.swiperElementNodeName.toUpperCase()&&(t.isElement=!0);const a=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let i=(()=>{if(s&&s.shadowRoot&&s.shadowRoot.querySelector){return s.shadowRoot.querySelector(a())}return f(s,a())[0]})();return!i&&t.params.createElements&&(i=v("div",t.params.wrapperClass),s.append(i),f(s,`.${t.params.slideClass}`).forEach((e=>{i.append(e)}))),Object.assign(t,{el:s,wrapperEl:i,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:i,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===b(s,"direction")),wrongRTL:"-webkit-box"===b(i,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(void 0,!0),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach((e=>{e.complete?G(t,e):e.addEventListener("load",(e=>{G(t,e.target)}))})),Y(t),t.initialized=!0,Y(t),t.emit("init"),t.emit("afterInit"),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:a,el:i,wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i&&"string"!=typeof i&&i.removeAttribute("style"),r&&r.removeAttribute("style"),n&&n.length&&n.forEach((e=>{e.classList.remove(a.slideVisibleClass,a.slideFullyVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.el&&"string"!=typeof s.el&&(s.el.swiper=null),function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){p(ie,e)}static get extendedDefaults(){return ie}static get defaults(){return te}static installModule(e){re.prototype.__modules__||(re.prototype.__modules__=[]);const t=re.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>re.installModule(e))),re):(re.installModule(e),re)}}function ne(e,t,s,a){return e.params.createElements&&Object.keys(a).forEach((i=>{if(!s[i]&&!0===s.auto){let r=f(e.el,`.${a[i]}`)[0];r||(r=v("div",a[i]),r.className=a[i],e.el.append(r)),s[i]=r,t[i]=r}})),s}function le(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!+\/()[\]])/g,"\\$1").replace(/ /g,".")}`}function oe(e){const t=this,{params:s,slidesEl:a}=t;s.loop&&t.loopDestroy();const i=e=>{if("string"==typeof e){const t=document.createElement("div");C(t,e),a.append(t.children[0]),C(t,"")}else a.append(e)};if("object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&i(e[t]);else i(e);t.recalcSlides(),s.loop&&t.loopCreate(),s.observer&&!t.isElement||t.update()}function de(e){const t=this,{params:s,activeIndex:a,slidesEl:i}=t;s.loop&&t.loopDestroy();let r=a+1;const n=e=>{if("string"==typeof e){const t=document.createElement("div");C(t,e),i.prepend(t.children[0]),C(t,"")}else i.prepend(e)};if("object"==typeof e&&"length"in e){for(let t=0;t<e.length;t+=1)e[t]&&n(e[t]);r=a+e.length}else n(e);t.recalcSlides(),s.loop&&t.loopCreate(),s.observer&&!t.isElement||t.update(
vendor: 7,243 bytes, line 583
583),t.slideTo(r,0,!1)}function ce(e,t){const s=this,{params:a,activeIndex:i,slidesEl:r}=s;let n=i;a.loop&&(n-=s.loopedSlides,s.loopDestroy(),s.recalcSlides());const l=s.slides.length;if(e<=0)return void s.prependSlide(t);if(e>=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides[t];e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;e<t.length;e+=1)t[e]&&r.append(t[e]);o=n>e?n+t.length:n}else r.append(t);for(let e=0;e<d.length;e+=1)r.append(d[e]);s.recalcSlides(),a.loop&&s.loopCreate(),a.observer&&!s.isElement||s.update(),a.loop?s.slideTo(o+s.loopedSlides,0,!1):s.slideTo(o,0,!1)}function pe(e){const t=this,{params:s,activeIndex:a}=t;let i=a;s.loop&&(i-=t.loopedSlides,t.loopDestroy());let r,n=i;if("object"==typeof e&&"length"in e){for(let s=0;s<e.length;s+=1)r=e[s],t.slides[r]&&t.slides[r].remove(),r<n&&(n-=1);n=Math.max(n,0)}else r=e,t.slides[r]&&t.slides[r].remove(),r<n&&(n-=1),n=Math.max(n,0);t.recalcSlides(),s.loop&&t.loopCreate(),s.observer&&!t.isElement||t.update(),s.loop?t.slideTo(n+t.loopedSlides,0,!1):t.slideTo(n,0,!1)}function ue(){const e=this,t=[];for(let s=0;s<e.slides.length;s+=1)t.push(s);e.removeSlide(t)}function me(e){const{effect:t,swiper:s,on:a,setTranslate:i,setTransition:r,overwriteParams:n,perspective:l,recreateShadows:o,getEffectParams:d}=e;let c;a("beforeInit",(()=>{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate _virtualUpdated",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)})),a("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.forEach((e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e=>e.remove()))})),o()}})),a("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame((()=>{c&&s.slides&&s.slides.length&&(i(),c=!1)})))}))}function he(e,t){const s=h(t);return s!==t&&(s.style.backfaceVisibility="hidden",s.style["-webkit-backface-visibility"]="hidden"),s}function fe(e){let{swiper:t,duration:s,transformElements:a,allSlides:i}=e;const{activeIndex:r}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=i?a:a.filter((e=>{const s=e.classList.contains("swiper-slide-transform")?(e=>{if(!e.parentElement)return t.slides.find((t=>t.shadowRoot&&t.shadowRoot===e.parentNode));return e.parentElement})(e):e;return t.getSlideIndex(s)===r})),e.forEach((e=>{x(e,(()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});t.wrapperEl.dispatchEvent(e)}))}))}}function ge(e,t,s){const a=`swiper-slide-shadow${s?`-${s}`:""}${e?` swiper-slide-shadow-${e}`:""}`,i=h(t);let r=i.querySelector(`.${a.split(" ").join(".")}`);return r||(r=v("div",a.split(" ")),i.append(r)),r}Object.keys(ae).forEach((e=>{Object.keys(ae[e]).forEach((t=>{re.prototype[t]=ae[e][t]}))})),re.use([function(e){let{swiper:t,on:s,emit:a}=e;const i=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(a("beforeResize"),a("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&a("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=i.requestAnimationFrame((()=>{const{width:s,height:a}=t;let i=s,r=a;e.forEach((e=>{let{contentBoxSize:s,contentRect:a,target:n}=e;n&&n!==t.el||(i=a?a.width:(s[0]||s).inlineSize,r=a?a.height:(s[0]||s).blockSize)})),i===s&&r===a||o()}))})),n.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&i.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=[],l=r(),o=function(e,s){void 0===s&&(s={});const a=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(t.__preventObserver__)return;if(1===e.length)return void i("observerUpdate",e[0]);const s=function(){i("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(s):l.setTimeout(s,0)}));a.observe(e,{attributes:void 0===s.attributes||s.attributes,childList:t.isElement||(void 0===s.childList||s).childList,characterData:void 0===s.characterData||s.characterData}),n.push(a)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=E(t.hostEl);for(let t=0;t<e.length;t+=1)o(e[t])}o(t.hostEl,{childList:t.params.observeSlideChildren}),o(t.wrapperEl,{attributes:!1})}})),a("destroy",(()=>{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const ve=[function(e){let t,{swiper:s,extendParams:i,on:r,emit:n}=e;i({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}});const l=a();s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]};const o=l.createElement("div");function d(e,t){const a=s.params.virtual;if(a.cache&&s.virtual.cache[t])return s.virtual.cache[t];let i;return a.renderSlide?(i=a.renderSlide.call(s,e,t),"string"==typeof i&&(C(o,i),i=o.children[0])):i=s.isElement?v("swiper-slide"):v("div",s.params.slideClass),i.setAttribute("data-swiper-slide-index",t),a.renderSlide||C(i,e),a.cache&&(s.virtual.cache[t]=i),i}function c(e,t,a){const{slidesPerView:i,slidesPerGroup:r,centeredSlides:l,loop:o,initialSlide:c}=s.params;if(t&&!o&&c>0)return;const{addSlidesBefore:p,addSlidesAfter:u}=s.params.virtual,{from:m,to:h,slides:g,slidesGrid:v,offset:w}=s.virtual;s.params.cssMode||s.updateActiveIndex();const b=void 0===a?s.activeIndex||0:a;let y,E,x;y=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",l?(E=Math.floor(i/2)+r+u,x=Math.floor(i/2)+r+p):(E=i+(r-1)+u,x=(o?i:r)+p);let S=b-x,T=b+E;o||(S=Math.max(S,0),T=Math.min(T,g.length-1));let M=(s.slidesGrid[S]||0)-(s.slidesGrid[0]||0);function C(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),n("virtualUpdate")}if(o&&b>=x?(S-=x,l||(M+=s.slidesGrid[0])):o&&b<x&&(S=-x,l&&(M+=s.slidesGrid[0])),Object.assign(s.virtual,{from:S,to:T,offset:M,slidesGrid:s.slidesGrid,slidesBefore:x,slidesAfter:E}),m===S&&h===T&&!e)return s.slidesGrid!==v&&M!==w&&s.slides.forEach((e=>{e.style[y]=M-Math.abs(s.cssOverflowAdjustment())+"px"})),s.updateProgress(),void n("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:M,from:S,to:T,slides:function(){const e=[];for(let t=S;t<=T;t+=1)e.push(g[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?C():n("virtualUpdate"));const P=[],L=[],I=e=>{let t=e;return e<0?t=g.length+e:t>=g.length&&(t-=g.length),t};if(e)s.slides.filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`))).forEach((e=>{e.remove()}));else for(let e=m;e<=h;e+=1)if(e<S||e>T){const t=I(e);s.slides.filter((e=>e.matches(`.${s.params.slideClass}[data-swiper-slide-index="${t}"], swiper-slide[data-swiper-slide-index="${t}
583"]`))).forEach((e=>{e.remove()}))}const z=o?-g.length:0,A=o?2*g.length:g.length;for(let t=z;t<A;t+=1)if(t>=S&&t<=T){const s=I(t);void 0===h||e?L.push(s):(t>h&&L.push(s),t<m&&P.push(s))}if(L.forEach((e=>{s.slidesEl.append(d(g[e],e))})),o)for(let e=P.length-1;e>=0;e-=1){const t=P[e];s.slidesEl.prepend(d(g[t],t))}else P.sort(((e,t)=>t-e)),P.forEach((e=>{s.slidesEl.prepend(d(g[e],e))}));f(s.slidesEl,".swiper-slide, swiper-slide").forEach((e=>{e.style[y]=M-Math.abs(s.cssOverflowAdjustment())+"px"})),C()}r("beforeInit",(()=>{if(!s.params.virtual.enabled)return;let e;if(void 0===s.passedParams.virtual.slides){const t=[...s.slidesEl.children].filter((e=>e.matches(`.${s.params.slideClass}, swiper-slide`)));t&&t.length&&(s.virtual.slides=[...t],e=!0,t.forEach(((e,t)=>{e.setAttribute("data-swiper-slide-index",t),s.virtual.cache[t]=e,e.remove()})))}e||(s.virtual.slides=s.params.virtual.slides),s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,c(!1,!0)})),r("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{c()}),100)):c())})),r("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&u(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.push(e[t]);else s.virtual.slides.push(e);c(!0)},prependSlide:function(e){const t=s.activeIndex;let a=t+1,i=1;if(Array.isArray(e)){for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.unshift(e[t]);a=t+e.length,i=e.length}else s.virtual.slides.unshift(e);if(s.params.virtual.cache){const e=s.virtual.cache,t={};Object.keys(e).forEach((s=>{const a=e[s],r=a.getAttribute("data-swiper-slide-index");r&&a.setAttribute("data-swiper-slide-index",parseInt(r,10)+i),t[parseInt(s,10)+i]=a})),s.virtual.cache=t}c(!0),s.slideTo(a,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let a=e.length-1;a>=0;a-=1)s.params.virtual.cache&&(delete s.virtual.cache[e[a]],Object.keys(s.virtual.cache).forEach((t=>{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e[a],1),e[a]<t&&(t-=1),t=Math.max(t,0);else s.params.virtual.cache&&(delete s.virtual.cache[e],Object.keys(s.virtual.cache).forEach((t=>{t>e&&(s.virtual.cache[t-1]=s.virtual.cache[t],s.virtual.cache[t-1].setAttribute("data-swiper-slide-index",t-1),delete s.virtual.cache[t])}))),s.virtual.slides.splice(e,1),e<t&&(t-=1),t=Math.max(t,0);c(!0),s.slideTo(t,0)},removeAllSlides:function(){s.virtual.slides=[],s.params.virtual.cache&&(s.virtual.cache={}),c(!0),s.slideTo(0,0)},update:c})},function(e){let{swiper:t,extendParams:s,on:i,emit:n}=e;const l=a(),o=r();function d(e){if(!t.enabled)return;const{rtlTranslate:s}=t;let a=e;a.originalEvent&&(a=a.originalEvent);const i=a.keyCode||a.charCode,r=t.params.keyboard.pageUpDown,d=r&&33===i,c=r&&34===i,p=37===i,u=39===i,m=38===i,h=40===i;if(!t.allowSlideNext&&(t.isHorizontal()&&u||t.isVertical()&&h||c))return!1;if(!t.allowSlidePrev&&(t.isHorizontal()&&p||t.isVertical()&&m||d))return!1;if(!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey||l.activeElement&&(l.activeElement.isContentEditable||l.activeElement.nodeName&&("input"===l.activeElement.nodeName.toLowerCase()||"textarea"===l.activeElement.nodeName.toLowerCase())))){if(t.params.keyboard.onlyInViewport&&(d||c||p||u||m||h)){let e=!1;if(E(t.el,`.${t.params.slideClass}, swiper-slide`).length>0&&0===E(t.el,`.${t.params.slideActiveClass}`).length)return;const a=t.el,i=a.clientWidth,r=a.clientHeight,n=o.innerWidth,l=o.innerHeight,d=w(a);s&&(d.left-=a.scrollLeft);const c=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let t=0;t<c.length;t+=1){const s=c[t];if(s[0]>=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||c||p||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((c||u)&&!s||(d||p)&&s)&&t.slideNext(),((d||p)&&!s||(c||u)&&s)&&t.slidePrev()):((d||c||m||h)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(c||h)&&t.slideNext(),(d||m)&&t.slidePrev()),n("keyPress",i)}}function c(){t.keyboard.enabled||(l.addEventListener("keydown",d),t.keyboard.enabled=!0)}function p(){t.keyboard.enabled&&(l.removeEventListener("keydown",d),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),i("init",(()=>{t.params.keyboard.enabled&&c()})),i("destroy",(()=>{t.keyboard.enabled&&p()})),Object.assign(t.keyboard,{enable:c,disable:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();let d;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null,noMousewheelClass:"swiper-no-mousewheel"}}),t.mousewheel={enabled:!1};let c,p=o();const u=[];function m(){t.enabled&&(t.mouseEntered=!0)}function h(){t.enabled&&(t.mouseEntered=!1)}function f(e){return!(t.params.mousewheel.thresholdDelta&&e.delta<t.params.mousewheel.thresholdDelta)&&(!(t.params.mousewheel.thresholdTime&&o()-p<t.params.mousewheel.thresholdTime)&&(e.delta>=6&&o()-p<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),i("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),i("scroll",e.raw)),p=(new n.Date).getTime(),!1)))}function g(e){let s=e,a=!0;if(!t.enabled)return;if(e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`))return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let n=t.el;"container"!==t.params.mousewheel.eventsTarget&&(n=document.querySelector(t.params.mousewheel.eventsTarget));const p=n&&n.contains(s.target);if(!t.mouseEntered&&!p&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let m=0;const h=t.rtlTranslate?-1:1,g=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120
vendor: 4,794 bytes, line 583
583),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(g.pixelX)>Math.abs(g.pixelY)))return!0;m=-g.pixelX*h}else{if(!(Math.abs(g.pixelY)>Math.abs(g.pixelX)))return!0;m=-g.pixelY}else m=Math.abs(g.pixelX)>Math.abs(g.pixelY)?-g.pixelX*h:-g.pixelY;if(0===m)return!0;r.invert&&(m=-m);let v=t.getTranslate()+m*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),a=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),a&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={time:o(),delta:Math.abs(m),direction:Math.sign(m)},a=c&&e.time<c.time+500&&e.delta<=c.delta&&e.direction===c.direction;if(!a){c=void 0;let n=t.getTranslate()+m*r.sensitivity;const o=t.isBeginning,p=t.isEnd;if(n>=t.minTranslate()&&(n=t.minTranslate()),n<=t.maxTranslate()&&(n=t.maxTranslate()),t.setTransition(0),t.setTranslate(n),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!o&&t.isBeginning||!p&&t.isEnd)&&t.updateSlidesClasses(),t.params.loop&&t.loopFix({direction:e.direction<0?"next":"prev",byMousewheel:!0}),t.params.freeMode.sticky){clearTimeout(d),d=void 0,u.length>=15&&u.shift();const s=u.length?u[u.length-1]:void 0,a=u[0];if(u.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))u.splice(0);else if(u.length>=15&&e.time-a.time<500&&a.delta-e.delta>=1&&e.delta<=6){const s=m>0?.8:.2;c=e,u.splice(0),d=l((()=>{!t.destroyed&&t.params&&t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}d||(d=l((()=>{if(t.destroyed||!t.params)return;c=e,u.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(a||i("scroll",s),t.params.autoplay&&t.params.autoplay.disableOnInteraction&&t.autoplay.stop(),r.releaseOnEdges&&(n===t.minTranslate()||n===t.maxTranslate()))return!0}}else{const s={time:o(),delta:Math.abs(m),direction:Math.sign(m),raw:e};u.length>=2&&u.shift();const a=u.length?u[u.length-1]:void 0;if(u.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&f(s):f(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function v(e){let s=t.el;"container"!==t.params.mousewheel.eventsTarget&&(s=document.querySelector(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",h),s[e]("wheel",g)}function w(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",g),!0):!t.mousewheel.enabled&&(v("addEventListener"),t.mousewheel.enabled=!0,!0)}function b(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,g),!0):!!t.mousewheel.enabled&&(v("removeEventListener"),t.mousewheel.enabled=!1,!0)}a("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&b(),t.params.mousewheel.enabled&&w()})),a("destroy",(()=>{t.params.cssMode&&w(),t.mousewheel.enabled&&b()})),Object.assign(t.mousewheel,{enable:w,disable:b})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;function r(e){let s;return e&&"string"==typeof e&&t.isElement&&(s=t.el.querySelector(e)||t.hostEl.querySelector(e),s)?s:(e&&("string"==typeof e&&(s=[...document.querySelectorAll(e)]),t.params.uniqueNavElements&&"string"==typeof e&&s&&s.length>1&&1===t.el.querySelectorAll(e).length?s=t.el.querySelector(e):s&&1===s.length&&(s=s[0])),e&&!s?e:s)}function n(e,s){const a=t.params.navigation;(e=T(e)).forEach((e=>{e&&(e.classList[s?"add":"remove"](...a.disabledClass.split(" ")),"BUTTON"===e.tagName&&(e.disabled=s),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](a.lockClass))}))}function l(){const{nextEl:e,prevEl:s}=t.navigation;if(t.params.loop)return n(s,!1),void n(e,!1);n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function d(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function c(){const e=t.params.navigation;if(t.params.navigation=ne(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;let s=r(e.nextEl),a=r(e.prevEl);Object.assign(t.navigation,{nextEl:s,prevEl:a}),s=T(s),a=T(a);const i=(s,a)=>{s&&s.addEventListener("click","next"===a?d:o),!t.enabled&&s&&s.classList.add(...e.lockClass.split(" "))};
vendor: 4,373 bytes, line 583
583s.forEach((e=>i(e,"next"))),a.forEach((e=>i(e,"prev")))}function p(){let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s);const a=(e,s)=>{e.removeEventListener("click","next"===s?d:o),e.classList.remove(...t.params.navigation.disabledClass.split(" "))};e.forEach((e=>a(e,"next"))),s.forEach((e=>a(e,"prev")))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,prevEl:null},a("init",(()=>{!1===t.params.navigation.enabled?u():(c(),l())})),a("toEdge fromEdge lock unlock",(()=>{l()})),a("destroy",(()=>{p()})),a("enable disable",(()=>{let{nextEl:e,prevEl:s}=t.navigation;e=T(e),s=T(s),t.enabled?l():[...e,...s].filter((e=>!!e)).forEach((e=>e.classList.add(t.params.navigation.lockClass)))})),a("click",((e,s)=>{let{nextEl:a,prevEl:r}=t.navigation;a=T(a),r=T(r);const n=s.target;let l=r.includes(n)||a.includes(n);if(t.isElement&&!l){const e=s.path||s.composedPath&&s.composedPath();e&&(l=e.find((e=>a.includes(e)||r.includes(e))))}if(t.params.navigation.hideOnClick&&!l){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;a.length?e=a[0].classList.contains(t.params.navigation.hiddenClass):r.length&&(e=r[0].classList.contains(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),[...a,...r].filter((e=>!!e)).forEach((e=>e.classList.toggle(t.params.navigation.hiddenClass)))}}));const u=()=>{t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")),p()};Object.assign(t.navigation,{enable:()=>{t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")),c(),l()},disable:u,update:l,init:c,destroy:p})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const r="swiper-pagination";let n;s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||Array.isArray(t.pagination.el)&&0===t.pagination.el.length}function d(e,s){const{bulletActiveClass:a}=t.params.pagination;e&&(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&(e.classList.add(`${a}-${s}`),(e=e[("prev"===s?"previous":"next")+"ElementSibling"])&&e.classList.add(`${a}-${s}-${s}`))}function c(e){const s=e.target.closest(le(t.params.pagination.bulletClass));if(!s)return;e.preventDefault();const a=y(s)*t.params.slidesPerGroup;if(t.params.loop){if(t.realIndex===a)return;const e=(i=t.realIndex,r=a,n=t.slides.length,(r%=n)==1+(i%=n)?"next":r===i-1?"previous":void 0);"next"===e?t.slideNext():"previous"===e?t.slidePrev():t.slideToLoop(a)}else t.slideTo(a);var i,r,n}function p(){const e=t.rtl,s=t.params.pagination;if(o())return;let a,r,c=t.pagination.el;c=T(c);const p=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,u=t.params.loop?Math.ceil(p/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(r=t.previousRealIndex||0,a=t.params.slidesPerGroup>1?Math.floor(t.realIndex/t.params.slidesPerGroup):t.realIndex):void 0!==t.snapIndex?(a=t.snapIndex,r=t.previousSnapIndex):(r=t.previousIndex||0,a=t.activeIndex||0),"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const i=t.pagination.bullets;let o,p,u;if(s.dynamicBullets&&(n=S(i[0],t.isHorizontal()?"width":"height",!0),c.forEach((e=>{e.style[t.isHorizontal()?"width":"height"]=n*(s.dynamicMainBullets+4)+"px"})),s.dynamicMainBullets>1&&void 0!==r&&(l+=a-(r||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),o=Math.max(a-l,0),p=o+(Math.min(i.length,s.dynamicMainBullets)-1),u=(p+o)/2),i.forEac
vendor: 9,756 bytes, line 583
583h((e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`))].map((e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e)).flat();e.classList.remove(...t)})),c.length>1)i.forEach((e=>{const i=y(e);i===a?e.classList.add(...s.bulletActiveClass.split(" ")):t.isElement&&e.setAttribute("part","bullet"),s.dynamicBullets&&(i>=o&&i<=p&&e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),i===o&&d(e,"prev"),i===p&&d(e,"next"))}));else{const e=i[a];if(e&&e.classList.add(...s.bulletActiveClass.split(" ")),t.isElement&&i.forEach(((e,t)=>{e.setAttribute("part",t===a?"bullet-active":"bullet")})),s.dynamicBullets){const e=i[o],t=i[p];for(let e=o;e<=p;e+=1)i[e]&&i[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));d(e,"prev"),d(t,"next")}}if(s.dynamicBullets){const a=Math.min(i.length,s.dynamicMainBullets+4),r=(n*a-n)/2-u*n,l=e?"right":"left";i.forEach((e=>{e.style[t.isHorizontal()?l:"top"]=`${r}px`}))}}c.forEach(((e,r)=>{if("fraction"===s.type&&(e.querySelectorAll(le(s.currentClass)).forEach((e=>{e.textContent=s.formatFractionCurrent(a+1)})),e.querySelectorAll(le(s.totalClass)).forEach((e=>{e.textContent=s.formatFractionTotal(u)}))),"progressbar"===s.type){let i;i=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const r=(a+1)/u;let n=1,l=1;"horizontal"===i?n=r:l=r,e.querySelectorAll(le(s.progressbarFillClass)).forEach((e=>{e.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${l})`,e.style.transitionDuration=`${t.params.speed}ms`}))}"custom"===s.type&&s.renderCustom?(C(e,s.renderCustom(t,a+1,u)),0===r&&i("paginationRender",e)):(0===r&&i("paginationRender",e),i("paginationUpdate",e)),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](s.lockClass)}))}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.grid&&t.params.grid.rows>1?t.slides.length/Math.ceil(t.params.grid.rows):t.slides.length;let a=t.pagination.el;a=T(a);let r="";if("bullets"===e.type){let a=t.params.loop?Math.ceil(s/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&a>s&&(a=s);for(let s=0;s<a;s+=1)e.renderBullet?r+=e.renderBullet.call(t,s,e.bulletClass):r+=`<${e.bulletElement} ${t.isElement?'part="bullet"':""} class="${e.bulletClass}"></${e.bulletElement}>`}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):`<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):`<span class="${e.progressbarFillClass}"></span>`),t.pagination.bullets=[],a.forEach((s=>{"custom"!==e.type&&C(s,r||""),"bullets"===e.type&&t.pagination.bullets.push(...s.querySelectorAll(le(e.bulletClass)))})),"custom"!==e.type&&i("paginationRender",a[0])}function m(){t.params.pagination=ne(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s;"string"==typeof e.el&&t.isElement&&(s=t.el.querySelector(e.el)),s||"string"!=typeof e.el||(s=[...document.querySelectorAll(e.el)]),s||(s=e.el),s&&0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&Array.isArray(s)&&s.length>1&&(s=[...t.el.querySelectorAll(e.el)],s.length>1&&(s=s.find((e=>E(e,".swiper")[0]===t.el)))),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(t.pagination,{el:s}),s=T(s),s.forEach((s=>{"bullets"===e.type&&e.clickable&&s.classList.add(...(e.clickableClass||"").split(" ")),s.classList.add(e.modifierClass+e.type),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.classList.add(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.classList.add(e.progressbarOppositeClass),e.clickable&&s.addEventListener("click",c),t.enabled||s.classList.add(e.lockClass)})))}function h(){const e=t.params.pagination;if(o())return;let s=t.pagination.el;s&&(s=T(s),s.forEach((s=>{s.classList.remove(e.hiddenClass),s.classList.remove(e.modifierClass+e.type),s.classList.remove(t.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&(s.classList.remove(...(e.clickableClass||"").split(" ")),s.removeEventListener("click",c))}))),t.pagination.bullets&&t.pagination.bullets.forEach((t=>t.classList.remove(...e.bulletActiveClass.split(" "))))}a("changeDirection",(()=>{if(!t.pagination||!t.pagination.el)return;const e=t.params.pagination;let{el:s}=t.pagination;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),a("init",(()=>{!1===t.params.pagination.enabled?f():(m(),u(),p())})),a("activeIndexChange",(()=>{void 0===t.snapIndex&&p()})),a("snapIndexChange",(()=>{p()})),a("snapGridLengthChange",(()=>{u(),p()})),a("destroy",(()=>{h()})),a("enable disable",(()=>{let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList[t.enabled?"remove":"add"](t.params.pagination.lockClass))))})),a("lock unlock",(()=>{p()})),a("click",((e,s)=>{const a=s.target,r=T(t.pagination.el);if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!a.classList.contains(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&a===t.navigation.nextEl||t.navigation.prevEl&&a===t.navigation.prevEl))return;const e=r[0].classList.contains(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),r.forEach((e=>e.classList.toggle(t.params.pagination.hiddenClass)))}}));const f=()=>{t.el.classList.add(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.add(t.params.pagination.paginationDisabledClass)))),h()};Object.assign(t.pagination,{enable:()=>{t.el.classList.remove(t.params.pagination.paginationDisabledClass);let{el:e}=t.pagination;e&&(e=T(e),e.forEach((e=>e.classList.remove(t.params.pagination.paginationDisabledClass)))),m(),u(),p()},disable:f,render:u,update:p,init:m,destroy:h})},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const o=a();let d,c,p,u,m=!1,h=null,f=null;function g(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s}=t,{dragEl:a,el:i}=e,r=t.params.scrollbar,n=t.params.loop?t.progressLoop:t.progress;let l=c,o=(p-c)*n;s?(o=-o,o>0?(l=c-o,o=0):-o+c>p&&(l=p+o)):o<0?(l=c+o,o=0):o+c>p&&(l=p-o),t.isHorizontal()?(a.style.transform=`translate3d(${o}px, 0, 0)`,a.style.width=`${l}px`):(a.style.transform=`translate3d(0px, ${o}px, 0)`,a.style.height=`${l}px`),r.hide&&(clearTimeout(h),i.style.opacity=1,h=setTimeout((()=>{i.style.opacity=0,i.style.transitionDuration="400ms"}),1e3))}function b(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{dragEl:s,el:a}=e;s.style.width="",s.style.height="",p=t.isHorizontal()?a.offsetWidth:a.offsetHeight,u=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),c="auto"===t.params.scrollbar.dragSize?p*u:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s.style.width=`${c}px`:s.style.height=`${c}px`,a.style.display=u>=1?"none":"",t.params.scrollbar.hide&&(a.style.opacity=0),t.params.watchOverflow&&t.enabled&&e.el.classList[t.isLocked?"add":"remove"](t.params.scrollbar.lockClass)}function y(e){return t.isHorizontal()?e.clientX:e.clientY}function E(e){const{scrollbar:s,rtlTranslate:a}=t,{el:i}=s;let r;r=(y(e)-w(i)[t.isHorizontal()?"left":"top"]-(null!==d?d:c/2))/(p-c),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function x(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n,dragEl:l}=a;m=!0,d=e.target===l?y(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),i.style.transitionDuration="100ms",l.style.transitionDuration="100ms",E(e),clearTimeout(f),n.style.transitionDuration="0ms",s.hide&&(n.style.opacity=1),t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="none"),r("scrollbarDragStart",e)}function S(e){const{scrollbar:s,wrapperEl:a}=t,{el:i,dragEl:n}=s;m&&(e.preventDefault&&e.cancelable?e.preventDefault():e.returnValue=!1,E(e),a.style.transitionDuration="0ms",i.style.transitionDuration="0ms",n.style.transitionDuration="0ms",r("scrollbarDragMove",e))}function M(e){const s=t.params.scrollbar,{scrollbar:a,wrapperEl:i}=t,{el:n}=a;m&&(m=!1,t.params.cssMode&&(t.wrapperEl.style["scroll-snap-type"]="",i.style.transitionDuration=""),s.hide&&(clearTimeout(f),f=l((()=>{n.style.opacity=0,n.style.transitionDuration="400ms"}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function C(e){const{scrollbar:s,params:a}=t,i=s.el;if(!i)return;const r=i,n=!!a.passiveListeners&&{passive:!1,capture:!1},l=!!a.passiveListeners&&{passive:!0,capture:!1};if(!r)return;const d="on"===e?"addEventListener":"removeEventListener";r[d]("pointerdown",x,n),o[d]("pointermove",S,n),o[d]("pointerup",M,l)}function P(){const{scrollbar:e,el:s}=t;t.params.scrollbar=ne(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const a=t.params.scrollbar;if(!a.el)return;let i,r;if("string"==typeof a.el&&t.isElement&&(i=t.el.querySelector(a.el)),i||"string"!=typeof a.el)i||(i=a.el);else if(i=o.querySelectorAll(a.el),!i.length)return;t.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.querySelectorAll(a.el).length&&(i=s.querySelector(a.el)),i.length>0&&(i=i[0]),i.classList.add(t.isHorizontal()?a.horizontalClass:a.verticalClass),i&&(r=i.querySelector(l
vendor: 3,921 bytes, line 583
583e(t.params.scrollbar.dragClass)),r||(r=v("div",t.params.scrollbar.dragClass),i.append(r))),Object.assign(e,{el:i,dragEl:r}),a.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&C("on"),i&&i.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))}function L(){const e=t.params.scrollbar,s=t.scrollbar.el;s&&s.classList.remove(...n(t.isHorizontal()?e.horizontalClass:e.verticalClass)),t.params.scrollbar.el&&t.scrollbar.el&&C("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null},i("changeDirection",(()=>{if(!t.scrollbar||!t.scrollbar.el)return;const e=t.params.scrollbar;let{el:s}=t.scrollbar;s=T(s),s.forEach((s=>{s.classList.remove(e.horizontalClass,e.verticalClass),s.classList.add(t.isHorizontal()?e.horizontalClass:e.verticalClass)}))})),i("init",(()=>{!1===t.params.scrollbar.enabled?I():(P(),b(),g())})),i("update resize observerUpdate lock unlock changeDirection",(()=>{b()})),i("setTranslate",(()=>{g()})),i("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&(t.scrollbar.dragEl.style.transitionDuration=`${e}ms`)}(s)})),i("enable disable",(()=>{const{el:e}=t.scrollbar;e&&e.classList[t.enabled?"remove":"add"](...n(t.params.scrollbar.lockClass))})),i("destroy",(()=>{L()}));const I=()=>{t.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),L()};Object.assign(t.scrollbar,{enable:()=>{t.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),t.scrollbar.el&&t.scrollbar.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)),P(),b(),g()},disable:I,updateSize:b,setTranslate:g,init:P,destroy:L})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({parallax:{enabled:!1}});const i="[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",r=(e,s)=>{const{rtl:a}=t,i=a?-1:1,r=e.getAttribute("data-swiper-parallax")||"0";let n=e.getAttribute("data-swiper-parallax-x"),l=e.getAttribute("data-swiper-parallax-y");const o=e.getAttribute("data-swiper-parallax-scale"),d=e.getAttribute("data-swiper-parallax-opacity"),c=e.getAttribute("data-swiper-parallax-rotate");if(n||l?(n=n||"0",l=l||"0"):t.isHorizontal()?(n=r,l="0"):(l=r,n="0"),n=n.indexOf("%")>=0?parseInt(n,10)*s*i+"%":n*s*i+"px",l=l.indexOf("%")>=0?parseInt(l,10)*s+"%":l*s+"px",null!=d){const t=d-(d-1)*(1-Math.abs(s));e.style.opacity=t}let p=`translate3d(${n}, ${l}, 0px)`;if(null!=o){p+=` scale(${o-(o-1)*(1-Math.abs(s))})`}if(c&&null!=c){p+=` rotate(${c*s*-1}deg)`}e.style.transform=p},n=()=>{const{el:e,slides:s,progress:a,snapGrid:n,isElement:l}=t,o=f(e,i);t.isElement&&o.push(...f(t.hostEl,i)),o.forEach((e=>{r(e,a)})),s.forEach(((e,s)=>{let l=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(l+=Math.ceil(s/2)-a*(n.length-1)),l=Math.min(Math.max(l,-1),1),e.querySelectorAll(`${i}, [data-swiper-parallax-rotate]`).forEach((e=>{r(e,l)}))}))};a("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),a("init",(()=>{t.params.parallax.enabled&&n()})),a("setTranslate",(()=>{t.params.parallax.enabled&&n()})),a("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{el:s,hostEl:a}=t,r=[...s.querySelectorAll(i)];t.isElement&&r.push(...a.querySelectorAll(i)),r.forEach((t=>{let s=parseInt(t.getAttribute("data-swiper-parallax-duration"),10)||e;0===e&&(s=0),t.style.transitionDuration=`${s}ms`}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();s({zoom:{enabled:!1,
583limitToOriginalSize:!1,maxRatio:3,minRatio:1,panOnMouseMove:!1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l=1,o=!1,c=!1,p={x:0,y:0};const u=-3;let m,h;const g=[],v={originX:0,originY:0,slideEl:void 0,slideWidth:void 0,slideHeight:void 0,imageEl:void 0,imageWrapEl:void 0,maxRatio:3},b={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},y={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let x,S=1;function T(){if(g.length<2)return 1;const e=g[0].pageX,t=g[0].pageY,s=g[1].pageX,a=g[1].pageY;return Math.sqrt((s-e)**2+(a-t)**2)}function M(){const e=t.params.zoom,s=v.imageWrapEl.getAttribute("data-swiper-zoom")||e.maxRatio;if(e.limitToOriginalSize&&v.imageEl&&v.imageEl.naturalWidth){const e=v.imageEl.naturalWidth/v.imageEl.offsetWidth;return Math.min(e,s)}return s}function C(e){const s=t.isElement?"swiper-slide":`.${t.params.slideClass}`;return!!e.target.matches(s)||t.slides.filter((t=>t.contains(e.target))).length>0}function P(e){const s=`.${t.params.zoom.containerClass}`;return!!e.target.matches(s)||[...t.hostEl.querySelectorAll(s)].filter((t=>t.contains(e.target))).length>0}function L(e){if("mouse"===e.pointerType&&g.splice(0,g.length),!C(e))return;const s=t.params.zoom;if(m=!1,h=!1,g.push(e),!(g.length<2)){if(m=!0,v.scaleStart=T(),!v.slideEl){v.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`),v.slideEl||(v.slideEl=t.slides[t.activeIndex]);let a=v.slideEl.querySelector(`.${s.containerClass}`);if(a&&(a=a.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),v.imageEl=a,v.imageWrapEl=a?E(v.imageEl,`.${s.containerClass}`)[0]:void 0,!v.imageWrapEl)return void(v.imageEl=void 0);v.maxRatio=M()}if(v.imageEl){const[e,t]=function(){if(g.length<2)return{x:null,y:null};const e=v.imageEl.getBoundingClientRect();return[(g[0].pageX+(g[1].pageX-g[0].pageX)/2-e.x-n.scrollX)/l,(g[0].pageY+(g[1].pageY-g[0].pageY)/2-e.y-n.scrollY)/l]}();v.originX=e,v.originY=t,v.imageEl.style.transitionDuration="0ms"}o=!0}}function I(e){if(!C(e))return;const s=t.params.zoom,a=t.zoom,i=g.findIndex((t=>t.pointerId===e.pointerId));i>=0&&(g[i]=e),g.length<2||(h=!0,v.scaleMove=T(),v.imageEl&&(a.scale=v.scaleMove/v.scaleStart*l,a.scale>v.maxRatio&&(a.scale=v.maxRatio-1+(a.scale-v.maxRatio+1)**.5),a.scale<s.minRatio&&(a.scale=s.minRatio+1-(s.minRatio-a.scale+1)**.5),v.imageEl.style.transform=`translate3d(0,0,0) scale(${a.scale})`))}function z(e){if(!C(e))return;if("mouse"===e.pointerType&&"pointerout"===e.type)return;const s=t.params.zoom,a=t.zoom,i=g.findIndex((t=>t.pointerId===e.pointerId));i>=0&&g.splice(i,1),m&&h&&(m=!1,h=!1,v.imageEl&&(a.scale=Math.max(Math.min(a.scale,v.maxRatio),s.minRatio),v.imageEl.style.transitionDuration=`${t.params.speed}ms`,v.imageEl.style.transform=`translate3d(0,0,0) scale(${a.scale})`,l=a.scale,o=!1,a.scale>1&&v.slideEl?v.slideEl.classList.add(`${s.zoomedSlideClass}`):a.scale<=1&&v.slideEl&&v.slideEl.classList.remove(`${s.zoomedSlideClass}`),1===a.scale&&(v.originX=0,v.originY=0,v.slideEl=void 0)))}function A(){t.touchEventsData.preventTouchMoveFromPointerMove=!1}function $(e){const s="mouse"===e.pointerType&&t.params.zoom.panOnMouseMove;if(!C(e)||!P(e))return;const a=t.zoom;if(!v.imageEl)return;if(!b.isTouched||!v.slideEl)return void(s&&O(e));if(s)return void O(e);b.isMoved||(b.width=v.imageEl.offsetWidth||v.imageEl.clientWidth,b.height=v.imageEl.offsetHeight||v.imageEl.clientHeight,b.startX=d(v.imageWrapEl,"x")||0,b.startY=d(v.imageWrapEl,"y")||0,v.slideWidth=v.slideEl.offsetWidth,v.slideHeight=v.slideEl.offsetHeight,v.imageWrapEl.style.transitionDuration="0ms");const i=b.width*a.scale,r=b.height*a.scale;b.minX=Math.min(v.slideWidth/2-i/2,0),b.maxX=-b.minX,b.minY=Math.min(v.slideHeight/2-r/2,0),b.maxY=-b.minY,b.touchesCurrent.x=g.length>0?g[0].pageX:e.pageX,b.touchesCurrent.y=g.length>0?g[0].pageY:e.pageY;if(Math.max(Math.abs(b.touchesCurrent.x-b.touchesStart.x),Math.abs(b.touchesCurrent.y-b.touchesStart.y))>5&&(t.allowClick=!1),!b.isMoved&&!o){if(t.isHorizontal()&&(Math.floor(b.minX)===Math.floor(b.startX)&&b.touchesCurrent.x<b.touchesStart.x||Math.floor(b.maxX)===Math.floor(b.startX)&&b.touchesCurrent.x>b.touchesStart.x))return b.isTouched=!1,void A();if(!t.isHorizontal()&&(Math.floor(b.minY)===Math.floor(b.startY)&&b.touchesCurrent.y<b.touchesStart.y||Math.floor(b.maxY)===Math.floor(b.startY)&&b.touchesCurrent.y>b.touchesStart.y))return b.isTouched=!1,void A()}e.cancelable&&e.preventDefault(),e.stopPropagation(),clearTimeout(x),t.touchEventsData.preventTouchMoveFromPointerMove=!0,x=setTimeout((()=>{t.destroyed||A()})),b.isMoved=!0;const n=(a.scale-l)/(v.maxRatio-t.params.zoom.minRatio),{originX:c,originY:p}=v;b.currentX=b.touchesCurrent.x-b.touchesStart.x+b.startX+n*(b.width-2*c),b.currentY=b.touchesCurrent.y-b.touchesStart.y+b.startY+n*(b.height-2*p),b.currentX<b.minX&&(b.currentX=b.minX+1-(b.minX-b.currentX+1)**.8),b.currentX>b.maxX&&(b.currentX=b.maxX-1+(b.currentX-b.maxX+1)**.8),b.currentY<b.minY&&(b.currentY=b.minY+1-(b.minY-b.currentY+1)**.8),b.currentY>b.maxY&&(b.currentY=b.maxY-1+(b.currentY-b.maxY+1)**.8),y.prevPositionX||(y.prevPositionX=b.touchesCurrent.x),y.prevPositionY||(y.prevPositionY=b.touchesCurrent.y),y.prevTime||(y.prevTime=Date.now()),y.x=(b.touchesCurrent.x-y.prevPositionX)/(Date.now()-y.prevTime)/2,y.y=(b.touchesCurrent.y-y.prevPositionY)/(Date.now()-y.prevTime)/2,Math.abs(b.touchesCurrent.x-y.prevPositionX)<2&&(y.x=0),Math.abs(b.touchesCurrent.y-y.prevPositionY)<2&&(y.y=0),y.prevPositionX=b.touchesCurrent.x,y.prevPositionY=b.touchesCurrent.y,y.prevTime=Date.now(),v.imageWrapEl.style.transform=`translate3d(${b.currentX}px, ${b.currentY}px,0)`}function k(){const e=t.zoom;v.slideEl&&t.activeIndex!==t.slides.indexOf(v.slideEl)&&(v.imageEl&&(v.imageEl.style.transform="translate3d(0,
5830,0) scale(1)"),v.imageWrapEl&&(v.imageWrapEl.style.transform="translate3d(0,0,0)"),v.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`),e.scale=1,l=1,v.slideEl=void 0,v.imageEl=void 0,v.imageWrapEl=void 0,v.originX=0,v.originY=0)}function O(e){if(l<=1||!v.imageWrapEl)return;if(!C(e)||!P(e))return;const t=n.getComputedStyle(v.imageWrapEl).transform,s=new n.DOMMatrix(t);if(!c)return c=!0,p.x=e.clientX,p.y=e.clientY,b.startX=s.e,b.startY=s.f,b.width=v.imageEl.offsetWidth||v.imageEl.clientWidth,b.height=v.imageEl.offsetHeight||v.imageEl.clientHeight,v.slideWidth=v.slideEl.offsetWidth,void(v.slideHeight=v.slideEl.offsetHeight);const a=(e.clientX-p.x)*u,i=(e.clientY-p.y)*u,r=b.width*l,o=b.height*l,d=v.slideWidth,m=v.slideHeight,h=Math.min(d/2-r/2,0),f=-h,g=Math.min(m/2-o/2,0),w=-g,y=Math.max(Math.min(b.startX+a,f),h),E=Math.max(Math.min(b.startY+i,w),g);v.imageWrapEl.style.transitionDuration="0ms",v.imageWrapEl.style.transform=`translate3d(${y}px, ${E}px, 0)`,p.x=e.clientX,p.y=e.clientY,b.startX=y,b.startY=E,b.currentX=y,b.currentY=E}function D(e){const s=t.zoom,a=t.params.zoom;if(!v.slideEl){e&&e.target&&(v.slideEl=e.target.closest(`.${t.params.slideClass}, swiper-slide`)),v.slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?v.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:v.slideEl=t.slides[t.activeIndex]);let s=v.slideEl.querySelector(`.${a.containerClass}`);s&&(s=s.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),v.imageEl=s,v.imageWrapEl=s?E(v.imageEl,`.${a.containerClass}`)[0]:void 0}if(!v.imageEl||!v.imageWrapEl)return;let i,r,o,d,c,p,u,m,h,g,y,x,S,T,C,P,L,I;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),v.slideEl.classList.add(`${a.zoomedSlideClass}`),void 0===b.touchesStart.x&&e?(i=e.pageX,r=e.pageY):(i=b.touchesStart.x,r=b.touchesStart.y);const z=l,A="number"==typeof e?e:null;1===l&&A&&(i=void 0,r=void 0,b.touchesStart.x=void 0,b.touchesStart.y=void 0);const $=M();s.scale=A||$,l=A||$,!e||1===l&&A?(u=0,m=0):(L=v.slideEl.offsetWidth,I=v.slideEl.offsetHeight,o=w(v.slideEl).left+n.scrollX,d=w(v.slideEl).top+n.scrollY,c=o+L/2-i,p=d+I/2-r,h=v.imageEl.offsetWidth||v.imageEl.clientWidth,g=v.imageEl.offsetHeight||v.imageEl.clientHeight,y=h*s.scale,x=g*s.scale,S=Math.min(L/2-y/2,0),T=Math.min(I/2-x/2,0),C=-S,P=-T,z>0&&A&&"number"==typeof b.currentX&&"number"==typeof b.currentY?(u=b.currentX*s.scale/z,m=b.currentY*s.scale/z):(u=c*s.scale,m=p*s.scale),u<S&&(u=S),u>C&&(u=C),m<T&&(m=T),m>P&&(m=P)),A&&1===s.scale&&(v.originX=0,v.originY=0),b.currentX=u,b.currentY=m,v.imageWrapEl.style.transitionDuration="300ms",v.imageWrapEl.style.transform=`translate3d(${u}px, ${m}px,0)`,v.imageEl.style.transitionDuration="300ms",v.imageEl.style.transform=`translate3d(0,0,0) scale(${s.scale})`}function G(){const e=t.zoom,s=t.params.zoom;if(!v.slideEl){t.params.virtual&&t.params.virtual.enabled&&t.virtual?v.slideEl=f(t.slidesEl,`.${t.params.slideActiveClass}`)[0]:v.slideEl=t.slides[t.activeIndex];let e=v.slideEl.querySelector(`.${s.containerClass}`);e&&(e=e.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]),v.imageEl=e,v.imageWrapEl=e?E(v.imageEl,`.${s.containerClass}`)[0]:void 0}v.imageEl&&v.imageWrapEl&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,l=1,b.currentX=void 0,b.currentY=void 0,b.touchesStart.x=void 0,b.touchesStart.y=void 0,v.imageWrapEl.style.transitionDuration="300ms",v.imageWrapEl.style.transform="translate3d(0,0,0)",v.imageEl.style.transitionDuration="300ms",v.imageEl.style.transform="translate3d(0,0,0) scale(1)",v.slideEl.classList.remove(`${s.zoomedSlideClass}`),v.slideEl=void 0,v.originX=0,v.originY=0,t.params.zoom.panOnMouseMove&&(p={x:0,y:0},c&&(c=!1,b.startX=0,b.startY=0)))}function X(e){const s=t.zoom;s.scale&&1!==s.scale?G():D(e)}function Y(){return{passiveListener:!!t.params.passiveListeners&&{passive:!0,capture:!1},activeListenerWithCapture:!t.params.passiveListeners||{passive:!1,capture:!0}}}function B(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const{passiveListener:s,activeListenerWithCapture:a}=Y();t.wrapperEl.addEventListener("pointerdown",L,s),t.wrapperEl.addEventListener("pointermove",I,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.addEventListener(e,z,s)})),t.wrapperEl.addEventListener("pointermove",$,a)}function H(){const e=t.zoom;if(!e.enabled)return;e.enabled=!1;const{passiveListener:s,activeListenerWithCapture:a}=Y();t.wrapperEl.removeEventListener("pointerdown",L,s),t.wrapperEl.removeEventListener("pointermove",I,a),["pointerup","pointercancel","pointerout"].forEach((e=>{t.wrapperEl.removeEventListener(e,z,s)})),t.wrapperEl.removeEventListener("pointermove",$,a)}Object.defineProperty(t.zoom,"scale",{get:()=>S,set(e){if(S!==e){const t=v.imageEl,s=v.slideEl;i("zoomChange",e,t,s)}S=e}}),a("init",(()=>{t.params.zoom.enabled&&B()})),a("destroy",(()=>{H()})),a("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;if(!v.imageEl)return;if(b.isTouched)return;s.android&&e.cancelable&&e.preventDefault(),b.isTouched=!0;const a=g.length>0?g[0]:e;b.touchesStart.x=a.pageX,b.touchesStart.y=a.pageY}(s)})),a("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(g.length=0,!v.imageEl)return;if(!b.isTouched||!b.isMoved)return b.isTouched=!1,void(b.isMoved=!1);b.isTouched=!1,b.isMoved=!1;let s=300,a=300;const i=y.x*s,r=b.currentX+i,n=y.y*a,l=b.currentY+n;0!==y.x&&(s=Math.abs((r-b.currentX)/y.x)),0!==y.y&&(a=Math.abs((l-b.currentY)/y.y));const o=Math.max(s,a);b.currentX=r,b.currentY=l;const d=b.width*e.scale,c=b.height*e.scale;b.minX=Math.min(v.slideWidth/2-d/2,0),b.maxX=-b.minX,b.minY=Math.min(v.slideHeight/2-c/2,0),b.maxY=-b.minY,b.currentX=Math.max(Math.min(b.currentX,b.maxX),b.minX),b.currentY=Math.max(Math.min(b.currentY,b.maxY),b.minY),v.imageWrapEl.style.transitionDuration=`${o}ms`,v.imageWrapEl.style.transform=`translate3d(${b.currentX}px, ${b.currentY}px,0)`}()})),a("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&X(s)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&k()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&k()})),Object.assign(t.zoom,{enable:B,disable:H,in:D,out:G,toggle:X})},function(e){let{swiper:t,extendParams:s,on:a}=e;function i(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},a("beforeInit",(()=>{if("undefined"!=typeof window&&("string"==typeof t.params.controller.control||t.params.controller.control instanceof HTMLElement)){("string"==typeof t.params.controller.control?[...document.querySelectorAll(t.params.controller.control)]:[t.params.controller.control]).forEac
583h((e=>{if(t.controller.control||(t.controller.control=[]),e&&e.swiper)t.controller.control.push(e.swiper);else if(e){const s=`${t.params.eventsPrefix}init`,a=i=>{t.controller.control.push(i.detail[0]),t.update(),e.removeEventListener(s,a)};e.addEventListener(s,a)}}))}else t.controller.control=t.params.controller.control})),a("update",(()=>{r()})),a("resize",(()=>{r()})),a("observerUpdate",(()=>{r()})),a("setTranslate",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTranslate(s,a)})),a("setTransition",((e,s,a)=>{t.controller.control&&!t.controller.control.destroyed&&t.controller.setTransition(s,a)})),Object.assign(t.controller,{setTranslate:function(e,s){const a=t.controller.control;let r,n;const l=t.constructor;function o(e){if(e.destroyed)return;const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline=t.params.loop?new i(t.slidesGrid,e.slidesGrid):new i(t.snapGrid,e.snapGrid)}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),!Number.isNaN(r)&&Number.isFinite(r)||(r=1),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(let e=0;e<a.length;e+=1)a[e]!==s&&a[e]instanceof l&&o(a[e]);else a instanceof l&&s!==a&&o(a)},setTransition:function(e,s){const a=t.constructor,i=t.controller.control;let r;function n(s){s.destroyed||(s.setTransition(e,t),0!==e&&(s.transitionStart(),s.params.autoHeight&&l((()=>{s.updateAutoHeight()})),x(s.wrapperEl,(()=>{i&&s.transitionEnd()}))))}if(Array.isArray(i))for(r=0;r<i.length;r+=1)i[r]!==s&&i[r]instanceof a&&n(i[r]);else i instanceof a&&s!==i&&n(i)}})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}",slideLabelMessage:"{{index}} / {{slidesLength}}",containerMessage:null,containerRoleDescriptionMessage:null,containerRole:null,itemRoleDescriptionMessage:null,slideRole:"group",id:null,scrollOnFocus:!0}}),t.a11y={clicked:!1};let r,n,l=null,o=(new Date).getTime();function d(e){const t=l;0!==t.length&&C(t,e)}function c(e){(e=T(e)).forEach((e=>{e.setAttribute("tabIndex","0")}))}function p(e){(e=T(e)).forEach((e=>{e.setAttribute("tabIndex","-1")}))}function u(e,t){(e=T(e)).forEach((e=>{e.setAttribute("role",t)}))}function m(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-roledescription",t)}))}function h(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-label",t)}))}function f(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!0)}))}function g(e){(e=T(e)).forEach((e=>{e.setAttribute("aria-disabled",!1)}))}function w(e){if(13!==e.keyCode&&32!==e.keyCode)return;const s=t.params.a11y,a=e.target;if(!t.pagination||!t.pagination.el||a!==t.pagination.el&&!t.pagination.el.contains(e.target)||e.target.matches(le(t.params.pagination.bulletClass))){if(t.navigation&&t.navigation.prevEl&&t.navigation.nextEl){const e=T(t.navigation.prevEl);T(t.navigation.nextEl).includes(a)&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?d(s.lastSlideMessage):d(s.nextSlideMessage)),e.includes(a)&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?d(s.firstSlideMessage):d(s.prevSlideMessage))}t.pagination&&a.matches(le(t.params.pagination.bulletClass))&&a.click()}}function b(){return t.pagination&&t.pagination.bullets&&t.pagination.bullets.length}function E(){return b()&&t.params.pagination.clickable}const x=(e,t,s)=>{c(e),"BUTTON"!==e.tagName&&(u(e,"button"),e.addEventListener("keydown",w)),h(e,s),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-controls",t)}))}(e,t)},S=e=>{n&&n!==e.target&&!n.contains(e.target)&&(r=!0),t.a11y.clicked=!0},M=()=>{r=!1,requestAnimationFrame((()=>{requestAnimationFrame((()=>{t.destroyed||(t.a11y.clicked=!1)}))}))},P=e=>{o=(new Date).getTime()},L=e=>{if(t.a11y.clicked||!t.params.a11y.scrollOnFocus)return;if((new Date).getTime()-o<100)return;const s=e.target.closest(`.${t.params.slideClass}, swiper-slide`);if(!s||!t.slides.includes(s))return;n=s;const a=t.slides.indexOf(s)===t.activeIndex,i=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);a||i||e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,requestAnimationFrame((()=>
583{r||(t.params.loop?t.slideToLoop(t.getSlideIndexWhenGrid(parseInt(s.getAttribute("data-swiper-slide-index"))),0):t.slideTo(t.getSlideIndexWhenGrid(t.slides.indexOf(s)),0),r=!1)})))},I=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&m(t.slides,e.itemRoleDescriptionMessage),e.slideRole&&u(t.slides,e.slideRole);const s=t.slides.length;e.slideLabelMessage&&t.slides.forEach(((a,i)=>{const r=t.params.loop?parseInt(a.getAttribute("data-swiper-slide-index"),10):i;h(a,e.slideLabelMessage.replace(/\{\{index\}\}/,r+1).replace(/\{\{slidesLength\}\}/,s))}))},z=()=>{const e=t.params.a11y;t.el.append(l);const s=t.el;e.containerRoleDescriptionMessage&&m(s,e.containerRoleDescriptionMessage),e.containerMessage&&h(s,e.containerMessage),e.containerRole&&u(s,e.containerRole);const i=t.wrapperEl,r=e.id||i.getAttribute("id")||`swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var n;const o=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var d;d=r,T(i).forEach((e=>{e.setAttribute("id",d)})),function(e,t){(e=T(e)).forEach((e=>{e.setAttribute("aria-live",t)}))}(i,o),I();let{nextEl:c,prevEl:p}=t.navigation?t.navigation:{};if(c=T(c),p=T(p),c&&c.forEach((t=>x(t,r,e.nextSlideMessage))),p&&p.forEach((t=>x(t,r,e.prevSlideMessage))),E()){T(t.pagination.el).forEach((e=>{e.addEventListener("keydown",w)}
vendor: 27,247 bytes, line 583
583))}a().addEventListener("visibilitychange",P),t.el.addEventListener("focus",L,!0),t.el.addEventListener("focus",L,!0),t.el.addEventListener("pointerdown",S,!0),t.el.addEventListener("pointerup",M,!0)};i("beforeInit",(()=>{l=v("span",t.params.a11y.notificationClass),l.setAttribute("aria-live","assertive"),l.setAttribute("aria-atomic","true")})),i("afterInit",(()=>{t.params.a11y.enabled&&z()})),i("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&I()})),i("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{nextEl:e,prevEl:s}=t.navigation;s&&(t.isBeginning?(f(s),p(s)):(g(s),c(s))),e&&(t.isEnd?(f(e),p(e)):(g(e),c(e)))}()})),i("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;b()&&t.pagination.bullets.forEach((s=>{t.params.pagination.clickable&&(c(s),t.params.pagination.renderBullet||(u(s,"button"),h(s,e.paginationBulletMessage.replace(/\{\{index\}\}/,y(s)+1)))),s.matches(le(t.params.pagination.bulletActiveClass))?s.setAttribute("aria-current","true"):s.removeAttribute("aria-current")}))}()})),i("destroy",(()=>{t.params.a11y.enabled&&function(){l&&l.remove();let{nextEl:e,prevEl:s}=t.navigation?t.navigation:{};e=T(e),s=T(s),e&&e.forEach((e=>e.removeEventListener("keydown",w))),s&&s.forEach((e=>e.removeEventListener("keydown",w))),E()&&T(t.pagination.el).forEach((e=>{e.removeEventListener("keydown",w)}));a().removeEventListener("visibilitychange",P),t.el&&"string"!=typeof t.el&&(t.el.removeEventListener("focus",L,!0),t.el.removeEventListener("pointerdown",S,!0),t.el.removeEventListener("pointerup",M,!0))}()}))},function(e){let{swiper:t,extendParams:s,on:a}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let i=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},d=(e,s)=>{const a=r();if(!i||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):a.location;const o=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${s}"]`):t.slides[s];let d=l(o.getAttribute("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e?`${e}/`:""}${d}`}else n.pathname.includes(e)||(d=`${e?`${e}/`:""}${d}`);t.params.history.keepQuery&&(d+=n.search);const c=a.history.state;c&&c.value===d||(t.params.history.replaceState?a.history.replaceState({value:d},null,d):a.history.pushState({value:d},null,d))},c=(e,s,a)=>{if(s)for(let i=0,r=t.slides.length;i<r;i+=1){const r=t.slides[i];if(l(r.getAttribute("data-history"))===s){const s=t.getSlideIndex(r);t.slideTo(s,e,a)}}else t.slideTo(0,e,a)},p=()=>{n=o(t.params.url),c(t.params.speed,n.value,!1)};a("init",(()=>{t.params.history.enabled&&(()=>{const e=r();if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);i=!0,n=o(t.params.url),n.key||n.value?(c(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",p)):t.params.history.replaceState||e.addEventListener("popstate",p)}})()})),a("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",p)})()})),a("transitionEnd _freeModeNoMomentumRelease",(()=>{i&&d(t.params.history.key,t.activeIndex)})),a("slideChange",(()=>{i&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:i,on:n}=e,l=!1;const o=a(),d=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1,getSlideIndex(e,s){if(t.virtual&&t.params.virtual.enabled){const e=t.slides.find((e=>e.getAttribute("data-hash")===s));if(!e)return 0;return parseInt(e.getAttribute("data-swiper-slide-index"),10)}return t.getSlideIndex(f(t.slidesEl,`.${t.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`)[0])}}});const c=()=>{i("hashChange");const e=o.location.hash.replace("#",""),s=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex];if(e!==(s?s.getAttribute("data-hash"):"")){const s=t.params.hashNavigation.getSlideIndex(t,e);if(void 0===s||Number.isNaN(s))return;t.slideTo(s)}},p=()=>{if(!l||!t.params.hashNavigation.enabled)return;const e=t.virtual&&t.params.virtual.enabled?t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`):t.slides[t.activeIndex],s=e?e.getAttribute("data-hash")||e.getAttribute("data-history"):"";t.params.hashNavigation.replaceState&&d.history&&d.history.replaceState?(d.history.replaceState(null,null,`#${s}`||""),i("hashSet")):(o.location.hash=s||"",i("hashSet"))};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0,a=t.params.hashNavigation.getSlideIndex(t,e);t.slideTo(a||0,s,t.params.runCallbacksOnInit,!0)}t.params.hashNavigation.watchState&&d.addEventListener("hashchange",c)})()})),n("destroy",(()=>{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d.removeEventListener("hashchange",c)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&p()})),n("slideChange",(()=>{l&&t.params.cssMode&&p()}))},function(e){let t,s,{swiper:i,extendParams:r,on:n,emit:l,params:o}=e;i.autoplay={running:!1,paused:!1,timeLeft:0},r({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let d,c,p,u,m,h,f,g,v=o&&o.autoplay?o.autoplay.delay:3e3,w=o&&o.autoplay?o.autoplay.delay:3e3,b=(new Date).getTime();function y(e){i&&!i.destroyed&&i.wrapperEl&&e.target===i.wrapperEl&&(i.wrapperEl.removeEventListener("transitionend",y),g||e.detail&&e.detail.bySwiperTouchMove||C())}const E=()=>{if(i.destroyed||!i.autoplay.running)return;i.autoplay.paused?c=!0:c&&(w=d,c=!1);const e=i.autoplay.paused?d:b+w-(new Date).getTime();i.autoplay.timeLeft=e,l("autoplayTimeLeft",e,e/v),s=requestAnimationFrame((()=>{E()}))},x=e=>{if(i.destroyed||!i.autoplay.running)return;cancelAnimationFrame(s),E();let a=void 0===e?i.params.autoplay.delay:e;v=i.params.autoplay.delay,w=i.params.autoplay.delay;const r=(()=>{let e;if(e=i.virtual&&i.params.virtual.enabled?i.slides.find((e=>e.classList.contains("swiper-slide-active"))):i.slides[i.activeIndex],!e)return;return parseInt(e.getAttribute("data-swiper-autoplay"),10)})();!Number.isNaN(r)&&r>0&&void 0===e&&(a=r,v=r,w=r),d=a;const n=i.params.speed,o=()=>{i&&!i.destroyed&&(i.params.autoplay.reverseDirection?!i.isBeginning||i.params.loop||i.params.rewind?(i.slidePrev(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(i.slides.length-1,n,!0,!0),l("autoplay")):!i.isEnd||i.params.loop||i.params.rewind?(i.slideNext(n,!0,!0),l("autoplay")):i.params.autoplay.stopOnLastSlide||(i.slideTo(0,n,!0,!0),l("autoplay")),i.params.cssMode&&(b=(new Date).getTime(),requestAnimationFrame((()=>{x()}))))};return a>0?(clearTimeout(t),t=setTimeout((()=>{o()}),a)):requestAnimationFrame((()=>{o()})),a},S=()=>{b=(new Date).getTime(),i.autoplay.running=!0,x(),l("autoplayStart")},T=()=>{i.autoplay.running=!1,clearTimeout(t),cancelAnimationFrame(s),l("autoplayStop")},M=(e,s)=>{if(i.destroyed||!i.autoplay.running)return;clearTimeout(t),e||(f=!0);const a=()=>{l("autoplayPause"),i.params.autoplay.waitForTransition?i.wrapperEl.addEventListener("transitionend",y):C()};if(i.autoplay.paused=!0,s)return h&&(d=i.params.autoplay.delay),h=!1,void a();const r=d||i.params.autoplay.delay;d=r-((new Date).getTime()-b),i.isEnd&&d<0&&!i.params.loop||(d<0&&(d=0),a())},C=()=>{i.isEnd&&d<0&&!i.params.loop||i.destroyed||!i.autoplay.running||(b=(new Date).getTime(),f?(f=!1,x(d)):x(),i.autoplay.paused=!1,l("autoplayResume"))},P=()=>{if(i.destroyed||!i.autoplay.running)return;const e=a();"hidden"===e.visibilityState&&(f=!0,M(!0)),"visible"===e.visibilityState&&C()},L=e=>{"mouse"===e.pointerType&&(f=!0,g=!0,i.animating||i.autoplay.paused||M(!0))},I=e=>{"mouse"===e.pointerType&&(g=!1,i.autoplay.paused&&C())};n("init",(()=>{i.params.autoplay.enabled&&(i.params.autoplay.pauseOnMouseEnter&&(i.el.addEventListener("pointerenter",L),i.el.addEventListener("pointerleave",I)),a().addEventListener("visibilitychange",P),S())})),n("destroy",(()=>{i.el&&"string"!=typeof i.el&&(i.el.removeEventListener("pointerenter",L),i.el.removeEventListener("pointerleave",I)),a().removeEventListener("visibilitychange",P),i.autoplay.running&&T()})),n("_freeModeStaticRelease",(()=>{(u||f)&&C()})),n("_freeModeNoMomentumRelease",(()=>{i.params.autoplay.disableOnInteraction?T():M(!0,!0)})),n("beforeTransitionStart",((e,t,s)=>{!i.destroyed&&i.autoplay.running&&(s||!i.params.autoplay.disableOnInteraction?M(!0,!0):T())})),n("sliderFirstMove",(()=>{!i.destroyed&&i.autoplay.running&&(i.params.autoplay.disableOnInteraction?T():(p=!0,u=!1,f=!1,m=setTimeout((()=>{f=!0,u=!0,M(!0)}),200)))})),n("touchEnd",(()=>{if(!i.destroyed&&i.autoplay.running&&p){if(clearTimeout(m),clearTimeout(t),i.params.autoplay.disableOnInteraction)return u=!1,void(p=!1);u&&i.params.cssMode&&C(),u=!1,p=!1}})),n("slideChange",(()=>{!i.destroyed&&i.autoplay.running&&(h=!0)})),Object.assign(i.autoplay,{start:S,stop:T,pause:M,resume:C})},function(e){let{swiper:t,extendParams:s,on:i}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let r=!1,n=!1;function l(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,a=e.clickedSlide;if(a&&a.classList.contains(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;i=e.params.loop?parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10):s,t.params.loop?t.slideToLoop(i):t.slideTo(i)}function o(){const{thumbs:e}=t.params;if(r)return!1;r=!0;const s=t.constructor;if(e.swiper instanceof s){if(e.swiper.destroyed)return r=!1,!1;t.thumbs.swiper=e.swiper,Object.assign(t.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(t.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper.update()}else if(c(e.swiper)){const a=Object.assign({},e.swiper);Object.assign(a,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper=new s(a),n=!0}return t.thumbs.swiper.el.classList.add(t.params.thumbs.thumbsContainerClass),t.thumbs.swiper.on("tap",l),!0}function d(e){const s=t.thumbs.swiper;if(!s||s.destroyed)return;const a="auto"===s.params.slidesPerView?s.slidesPerViewDynamic():s.params.slidesPerView;let i=1;const r=t.params.thumbs.slideThumbActiveClass;if(t.params.slidesPerView>1&&!t.params.centeredSlides&&(i=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(i=1),i=Math.floor(i),s.slides.forEach((e=>e.classList.remove(r))),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e<i;e+=1)f(s.slidesEl,`[data-swiper-slide-index="${t.realIndex+e}"]`).forEach((e=>{e.classList.add(r)}));else for(let e=0;e<i;e+=1)s.slides[t.realIndex+e]&&s.slides[t.realIndex+e].classList.add(r);const n=t.params.thumbs.autoScrollOffset,l=n&&!s.params.loop;if(t.realIndex!==s.realIndex||l){const i=s.activeIndex;let r,o;if(s.params.loop){const e=s.slides.find((e=>e.getAttribute("data-swiper-slide-index")===`${t.realIndex}`));r=s.slides.indexOf(e),o=t.activeIndex>t.previousIndex?"next":"prev"}else r=t.realIndex,o=r>t.previousIndex?"next":"prev";l&&(r+="next"===o?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(r)<0&&(s.params.centeredSlides?r=r>i?r-Math.floor(a/2)+1:r+Math.floor(a/2)-1:r>i&&s.params.slidesPerGroup,s.slideTo(r,e?0:void 0))}}t.thumbs={swiper:null},i("beforeInit",(()=>{const{thumbs:e}=t.params;if(e&&e.swiper)if("string"==typeof e.swiper||e.swiper instanceof HTMLElement){const s=a(),i=()=>{const a="string"==typeof e.swiper?s.querySelector(e.swiper):e.swiper;if(a&&a.swiper)e.swiper=a.swiper,o(),d(!0);else if(a){const s=`${t.params.eventsPrefix}init`,i=r=>{e.swiper=r.detail[0],a.removeEventListener(s,i),o(),d(!0),e.swiper.update(),t.update()};a.addEventListener(s,i)}return a},r=()=>{if(t.destroyed)return;i()||requestAnimationFrame(r)};requestAnimationFrame(r)}else o(),d(!0)})),i("slideChange update resize observerUpdate",(()=>{d()})),i("setTransition",((e,s)=>{const a=t.thumbs.swiper;a&&!a.destroyed&&a.setTransition(s)})),i("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&n&&e.destroy()})),Object.assign(t.thumbs,{init:o,update:d})},function(e){let{swiper:t,extendParams:s,emit:a,once:i}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){if(t.params.cssMode)return;const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){if(t.params.cssMode)return;const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:o()})},onTouchEnd:function(e){let{currentPos:s}=e;if(t.params.cssMode)return;const{params:r,wrapperEl:n,rtlTranslate:l,snapGrid:d,touchEventsData:c}=t,p=o()-c.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length<d.length?t.slideTo(d.length-1):t.slideTo(t.slides.length-1);else{if(r.freeMode.momentum){if(c.velocities.length>1){const e=c.velocities.pop(),s=c.velocities.pop(),a=e.position-s.position,i=e.time-s.time;t.velocity=a/i,t.velocity/=2,Math.abs(t.velocity)<r.freeMode.minimumVelocity&&(t.velocity=0),(i>150||o()-e.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=r.freeMode.momentumVelocityRatio,c.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let p=t.translate+s;l&&(p=-p);let u,m=!1;const h=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(p<t.maxTranslate())r.freeMode.momentumBounce?(p+t.maxTranslate()<-h&&(p=t.maxTranslate()-h),u=t.maxTranslate(),m=!0,c.allowMomentumBounce=!0):p=t.maxTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(p>t.minTranslate())r.freeMode.momentumBounce?(p-t.minTranslate()>h&&(p=t.minTranslate()+h),u=t.minTranslate(),m=!0,c.allowMomentumBounce=!0):p=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t<d.length;t+=1)if(d[t]>-p){e=t;break}p=Math.abs(d[e]-p)<Math.abs(d[e-1]-p)||"next"===t.swipeDirection?d[e]:d[e-1],p=-p}if(f&&i("transitionEnd",(()=>{t.loopFix()})),0!==t.velocity){if(e=l?Math.abs((-p-t.translate)/t.velocity):Math.abs((p-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((l?-p:p)-t.translate),a=t.slidesSizesGrid[t.activeIndex];e=s<a?r.speed:s<2*a?1.5*r.speed:2.5*r.speed}}else if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode.momentumBounce&&m?(t.updateProgress(u),t.setTransition(e),t.setTranslate(p),t.transitionStart(!0,t.swipeDirection),t.animating=!0,x(n,(()=>{t&&!t.destroyed&&c.allowMomentumBounce&&(a("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(u),x(n,(()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(a("_freeModeNoMomentumRelease"),t.updateProgress(p),t.setTransition(e),t.setTranslate(p),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,x(n,(()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(p),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&a("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||p>=r.longSwipesMs)&&(a("_freeModeStaticRelease"),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,a,i,{swiper:r,extendParams:n,on:l}=e;n({grid:{rows:1,fill:"column"}});const o=()=>{let e=r.params.spaceBetween;return"string"==typeof e&&e.indexOf("%")>=0?e=parseFloat(e.replace("%",""))/100*r.size:"string"==typeof e&&(e=parseFloat(e)),e};l("init",(()=>{i=r.params.grid&&r.params.grid.rows>1})),l("update",(()=>{const{params:e,el:t}=r,s=e.grid&&e.grid.rows>1;i&&!s?(t.classList.remove(`${e.containerModifierClass}grid`,`${e.containerModifierClass}grid-column`),a=1,r.emitContainerClasses()):!i&&s&&(t.classList.add(`${e.containerModifierClass}grid`),"column"===e.grid.fill&&t.classList.add(`${e.containerModifierClass}grid-column`),r.emitContainerClasses()),i=s})),r.grid={initSlides:e=>{const{slidesPerView:i}=r.params,{rows:n,fill:l}=r.params.grid,o=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:e.length;a=Math.floor(o/n),t=Math.floor(o/n)===o/n?o:Math.ceil(o/n)*n,"auto"!==i&&"row"===l&&(t=Math.max(t,i*n)),s=t/n},unsetSlides:()=>{r.slides&&r.slides.forEach((e=>{e.swiperSlideGridSet&&(e.style.height="",e.style[r.getDirectionLabel("margin-top")]="")}))},updateSlide:(e,i,n)=>{const{slidesPerGroup:l}=r.params,d=o(),{rows:c,fill:p}=r.params.grid,u=r.virtual&&r.params.virtual.enabled?r.virtual.slides.length:n.length;let m,h,f;if("row"===p&&l>1){const s=Math.floor(e/(l*c)),a=e-c*l*s,r=0===s?l:Math.min(Math.ceil((u-s*c*l)/c),l);f=Math.floor(a/r),h=a-f*r+s*l,m=h+f*t/c,i.style.order=m}else"column"===p?(h=Math.floor(e/c),f=e-h*c,(h>a||h===a&&f===c-1)&&(f+=1,f>=c&&(f=0,h+=1))):(f=Math.floor(e/s),h=e-f*s);i.row=f,i.column=h,i.style.height=`calc((100% - ${(c-1)*d}px) / ${c})`,i.style[r.getDirectionLabel("margin-top")]=0!==f?d&&`${d}px`:"",i.swiperSlideGridSet=!0},updateWrapperSize:(e,s)=>{const{centeredSlides:a,roundLengths:i}=r.params,n=o(),{rows:l}=r.params.grid;if(r.virtualSize=(e+n)*t,r.virtualSize=Math.ceil(r.virtualSize/l)-n,r.params.cssMode||(r.wrapperEl.style[r.getDirectionLabel("width")]=`${r.virtualSize+n}px`),a){const e=[];for(let t=0;t<s.length;t+=1){let a=s[t];i&&(a=Math.floor(a)),s[t]<r.virtualSize+s[0]&&e.push(a)}s.splice(0,s.length),s.push(...e)}}}},function(e){let{swiper:t}=e;Object.assign(t,{appendSlide:oe.bind(t),prependSlide:de.bind(t),addSlide:ce.bind(t),removeSlide:pe.bind(t),removeAllSlides:ue.bind(t)})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({fadeEffect:{crossFade:!1}}),me({effect:"fade",swiper:t,on:a,setTranslate:()=>{const{slides:e}=t;t.params.fadeEffect;for(let s=0;s<e.length;s+=1){const e=t.slides[s];let a=-e.swiperSlideOffset;t.params.virtualTranslate||(a-=t.translate);let i=0;t.isHorizontal()||(i=a,a=0);const r=t.params.fadeEffect.crossFade?Math.max(1-Math.abs(e.progress),0):1+Math.min(Math.max(e.progress,-1),0),n=he(0,e);n.style.opacity=r,n.style.transform=`translate3d(${a}px, ${i}px, 0px)`}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`})),fe({swiper:t,duration:e,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const i=(e,t,s)=>{let a=s?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=s?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"left":"top")).split(" ")),e.append(a)),i||(i=v("div",("swiper-slide-shadow-cube swiper-slide-shadow-"+(s?"right":"bottom")).split(" ")),e.append(i)),a&&(a.style.opacity=Math.max(-t,0)),i&&(i.style.opacity=Math.max(t,0))};me({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{el:e,wrapperEl:s,slides:a,width:r,height:n,rtlTranslate:l,size:o,browser:d}=t,c=M(t),p=t.params.cubeEffect,u=t.isHorizontal(),m=t.virtual&&t.params.virtual.enabled;let h,f=0;p.shadow&&(u?(h=t.wrapperEl.querySelector(".swiper-cube-shadow"),h||(h=v("div","swiper-cube-shadow"),t.wrapperEl.append(h)),h.style.height=`${r}px`):(h=e.querySelector(".swiper-cube-shadow"),h||(h=v("div","swiper-cube-shadow"),e.append(h))));for(let e=0;e<a.length;e+=1){const t=a[e];let s=e;m&&(s=parseInt(t.getAttribute("data-swiper-slide-index"),10));let r=90*s,n=Math.floor(r/360);l&&(r=-r,n=Math.floor(-r/360));const d=Math.max(Math.min(t.progress,1),-1);let h=0,g=0,v=0;s%4==0?(h=4*-n*o,v=0):(s-1)%4==0?(h=0,v=4*-n*o):(s-2)%4==0?(h=o+4*n*o,v=o):(s-3)%4==0&&(h=-o,v=3*o+4*o*n),l&&(h=-h),u||(g=h,h=0);const w=`rotateX(${c(u?0:-r)}deg) rotateY(${c(u?r:0)}deg) translate3d(${h}px, ${g}px, ${v}px)`;d<=1&&d>-1&&(f=90*s+90*d,l&&(f=90*-s-90*d)),t.style.transform=w,p.slideShadows&&i(t,d,u)}if(s.style.transformOrigin=`50% 50% -${o/2}px`,s.style["-webkit-transform-origin"]=`50% 50% -${o/2}px`,p.shadow)if(u)h.style.transform=`translate3d(0px, ${r/2+p.shadowOffset}px, ${-r/2}px) rotateX(89.99deg) rotateZ(0deg) scale(${p.shadowScale})`;else{const e=Math.abs(f)-90*Math.floor(Math.abs(f)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=p.shadowScale,a=p.shadowScale/t,i=p.shadowOffset;h.style.transform=`scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-89.99deg)`}const g=(d.isSafari||d.isWebView)&&d.needPerspectiveFix?-o/2:0;s.style.transform=`translate3d(0px,0,${g}px) rotateX(${c(t.isHorizontal()?0:f)}deg) rotateY(${c(t.isHorizontal()?-f:0)}deg)`,s.style.setProperty("--swiper-cube-translate-z",`${g}px`)},setTransition:e=>{const{el:s,slides:a}=t;if(a.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),t.params.cubeEffect.shadow&&!t.isHorizontal()){const t=s.querySelector(".swiper-cube-shadow");t&&(t.style.transitionDuration=`${e}ms`)}},recreateShadows:()=>{const e=t.isHorizontal();t.slides.forEach((t=>{const s=Math.max(Math.min(t.progress,1),-1);i(t,s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0}});const i=(e,s)=>{let a=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-left"):e.querySelector(".swiper-slide-shadow-top"),i=t.isHorizontal()?e.querySelector(".swiper-slide-shadow-right"):e.querySelector(".swiper-slide-shadow-bottom");a||(a=ge("flip",e,t.isHorizontal()?"left":"top")),i||(i=ge("flip",e,t.isHorizontal()?"right":"bottom")),a&&(a.style.opacity=Math.max(-s,0)),i&&(i.style.opacity=Math.max(s,0))};me({effect:"flip",swiper:t,on:a,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,a=t.params.flipEffect,r=M(t);for(let n=0;n<e.length;n+=1){const l=e[n];let o=l.progress;t.params.flipEffect.limitRotation&&(o=Math.max(Math.min(l.progress,1),-1));const d=l.swiperSlideOffset;let c=-180*o,p=0,u=t.params.cssMode?-d-t.translate:-d,m=0;t.isHorizontal()?s&&(c=-c):(m=u,u=0,p=-c,c=0),l.style.zIndex=-Math.abs(Math.round(o))+e.length,a.slideShadows&&i(l,o);const h=`translate3d(${u}px, ${m}px, 0px) rotateX(${r(p)}deg) rotateY(${r(c)}deg)`;he(0,l).style.transform=h}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),fe({swiper:t,duration:e,transformElements:s})},recreateShadows:()=>{t.params.flipEffect,t.slides.forEach((e=>{let s=e.progress;t.params.flipEffect.limitRotation&&(s=Math.max(Math.min(e.progress,1),-1)),i(e,s)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}}),me({effect:"coverflow",swiper:t,on:a,setTranslate:()=>{const{width:e,height:s,slides:a,slidesSizesGrid:i}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,c=r.depth,p=M(t);for(let e=0,t=a.length;e<t;e+=1){const t=a[e],s=i[e],l=(o-t.swiperSlideOffset-s/2)/s,u="function"==typeof r.modifier?r.modifier(l):l*r.modifier;let m=n?d*u:0,h=n?0:d*u,f=-c*Math.abs(u),g=r.stretch;"string"==typeof g&&-1!==g.indexOf("%")&&(g=parseFloat(r.stretch)/100*s);let v=n?0:g*u,w=n?g*u:0,b=1-(1-r.scale)*Math.abs(u);Math.abs(w)<.001&&(w=0),Math.abs(v)<.001&&(v=0),Math.abs(f)<.001&&(f=0),Math.abs(m)<.001&&(m=0),Math.abs(h)<.001&&(h=0),Math.abs(b)<.001&&(b=0);const y=`translate3d(${w}px,${v}px,${f}px) rotateX(${p(h)}deg) rotateY(${p(m)}deg) scale(${b})`;if(he(0,t).style.transform=y,t.style.zIndex=1-Math.abs(Math.round(u)),r.slideShadows){let e=n?t.querySelector(".swiper-slide-shadow-left"):t.querySelector(".swiper-slide-shadow-top"),s=n?t.querySelector(".swiper-slide-shadow-right"):t.querySelector(".swiper-slide-shadow-bottom");e||(e=ge("coverflow",t,n?"left":"top")),s||(s=ge("coverflow",t,n?"right":"bottom")),e&&(e.style.opacity=u>0?u:0),s&&(s.style.opacity=-u>0?-u:0)}}},setTransition:e=>{t.slides.map((e=>h(e))).forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t=>{t.style.transitionDuration=`${e}ms`}))}))},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({creativeEffect:{limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const i=e=>"string"==typeof e?e:`${e}px`;me({effect:"creative",swiper:t,on:a,setTranslate:()=>{const{slides:e,wrapperEl:s,slidesSizesGrid:a}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides,o=M(t);if(l){const e=a[0]/2-t.params.slidesOffsetBefore||0;s.style.transform=`translateX(calc(50% - ${e}px))`}for(let s=0;s<e.length;s+=1){const a=e[s],d=a.progress,c=Math.min(Math.max(a.progress,-r.limitProgress),r.limitProgress);let p=c;l||(p=Math.min(Math.max(a.originalProgress,-r.limitProgress),r.limitProgress));const u=a.swiperSlideOffset,m=[t.params.cssMode?-u-t.translate:-u,0,0],h=[0,0,0];let f=!1;t.isHorizontal()||(m[1]=m[0],m[0]=0);let g={translate:[0,0,0],rotate:[0,0,0],scale:1,opacity:1};c<0?(g=r.next,f=!0):c>0&&(g=r.prev,f=!0),m.forEach(((e,t)=>{m[t]=`calc(${e}px + (${i(g.translate[t])} * ${Math.abs(c*n)}))`})),h.forEach(((e,t)=>{let s=g.rotate[t]*Math.abs(c*n);h[t]=s})),a.style.zIndex=-Math.abs(Math.round(d))+e.length;const v=m.join(", "),w=`rotateX(${o(h[0])}deg) rotateY(${o(h[1])}deg) rotateZ(${o(h[2])}deg)`,b=p<0?`scale(${1+(1-g.scale)*p*n})`:`scale(${1-(1-g.scale)*p*n}
583)`,y=p<0?1+(1-g.opacity)*p*n:1-(1-g.opacity)*p*n,E=`translate3d(${v}) ${w} ${b}`;if(f&&g.shadow||!f){let e=a.querySelector(".swiper-slide-shadow");if(!e&&g.shadow&&(e=ge("creative",a)),e){const t=r.shadowPerProgress?c*(1/r.limitProgress):c;e.style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const x=he(0,a);x.style.transform=E,x.style.opacity=y,g.origin&&(x.style.transformOrigin=g.origin)}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),fe({swiper:t,duration:e,transformElements:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cardsEffect:{slideShadows:!0,rotate:!0,perSlideRotate:2,perSlideOffset:8}}),me({effect:"cards",swiper:t,on:a,setTranslate:()=>{const{slides:e,activeIndex:s,rtlTranslate:a}=t,i=t.params.cardsEffect,{startTranslate:r,isTouched:n}=t.touchEventsData,l=a?-t.translate:t.translate;for(let o=0;o<e.length;o+=1){const d=e[o],c=d.progress,p=Math.min(Math.max(c,-4),4);let u=d.swiperSlideOffset;t.params.centeredSlides&&!t.params.cssMode&&(t.wrapperEl.style.transform=`translateX(${t.minTranslate()}px)`),t.params.centeredSlides&&t.params.cssMode&&(u-=e[0].swiperSlideOffset);let m=t.params.cssMode?-u-t.translate:-u,h=0;const f=-100*Math.abs(p);let g=1,v=-i.perSlideRotate*p,w=i.perSlideOffset-.75*Math.abs(p);const b=t.virtual&&t.params.virtual.enabled?t.virtual.from+o:o,y=(b===s||b===s-1)&&p>0&&p<1&&(n||t.params.cssMode)&&l<r,E=(b===s||b===s+1)&&p<0&&p>-1&&(n||t.params.cssMode)&&l>r;if(y||E){const e=(1-Math.abs((Math.abs(p)-.5)/.5))**.5;v+=-28*p*e,g+=-.5*e,w+=96*e,h=-25*e*Math.abs(p)+"%"}if(m=p<0?`calc(${m}px ${a?"-":"+"} (${w*Math.abs(p)}%))`:p>0?`calc(${m}px ${a?"-":"+"} (-${w*Math.abs(p)}%))`:`${m}px`,!t.isHorizontal()){const e=h;h=m,m=e}const x=p<0?""+(1+(1-g)*p):""+(1-(1-g)*p),S=`\n translate3d(${m}, ${h}, ${f}px)\n rotateZ(${i.rotate?a?-v:v:0}deg)\n scale(${x})\n `;if(i.slideShadows){let e=d.querySelector(".swiper-slide-shadow");e||(e=ge("cards",d)),e&&(e.style.opacity=Math.min(Math.max((Math.abs(p)-.5)/.5,0),1))}d.style.zIndex=-Math.abs(Math.round(c))+e.length;he(0,d).style.transform=S}},setTransition:e=>{const s=t.slides.map((e=>h(e)));s.forEach((t=>{t.style.transitionDuration=`${e}ms`,t.querySelectorAll(".swiper-slide-shadow").forEach((t=>{t.style.transitionDuration=`${e}ms`}))})),fe({swiper:t,duration:e,transformElements:s})},perspective:()=>!0,overwriteParams:()=>({_loopSwapReset:!1,watchSlidesProgress:!0,loopAdditionalSlides:t.params.cardsEffect.rotate?3:2,centeredSlides:!0,virtualTranslate:!t.params.cssMode})})}];return re.use(ve),re}(); 584//# sourceMappingURL=swiper-bundle.min.js.map 585/** 586 * Owl Carousel v2.3.4 587 * Copyright 2013-2018 David Deutsch 588 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE 589 */ 590/** 591 * Owl carousel 592 * @version 2.3.4 593 * @author Bartosz Wojciechowski 594 * @author David Deutsch 595 * @license The MIT License (MIT) 596 * @todo Lazy Load Icon 597 * @todo prevent animationend bubling 598 * @todo itemsScaleUp 599 * @todo Test Zepto 600 * @todo stagePadding calculate wrong active classes 601 */ 602(function (jq, window, document, undefined) { 603 /** 604 * Creates a carousel. 605 * @class The Owl Carousel. 606 * @public 607 * @param {HTMLElement|jq} element - The element to create the carousel for. 608 * @param {Object} [options] - The options 609 */ 610 function Owl(element, options) { 611 /** 612 * Current settings for the carousel. 613 * @public 614 */ 615 this.settings = null; 616 617 /** 618 * Current options set by the caller including defaults. 619 * @public 620 */ 621 this.options = jq.extend({}, Owl.Defaults, options); 622 623 /** 624 * Plugin element. 625 * @public 626 */ 627 this.jqelement = jq(element); 628 629 /** 630 * Proxied event handlers. 631 * @protected 632 */ 633 this._handlers = {}; 634 635 /** 636 * References to the running plugins of this carousel. 637 * @protected 638 */ 639 this._plugins = {}; 640 641 /** 642 * Currently suppressed events to prevent them from being retriggered. 643 * @protected 644 */ 645 this._supress = {}; 646 647 /** 648 * Absolute current position. 649 * @protected 650 */ 651 this._current = null; 652 653 /** 654 * Animation speed in milliseconds. 655 * @protected 656 */ 657 this._speed = null; 658 659 /** 660 * Coordinates of all items in pixel. 661 * @todo The name of this member is missleading. 662 * @protected 663 */ 664 this._coordinates = []; 665 666 /** 667 * Current breakpoint. 668 * @todo Real media queries would be nice. 669 * @protected 670 */ 671 this._breakpoint = null; 672 673 /** 674 * Current width of the plugin element. 675 */ 676 this._width = null; 677 678 /** 679 * All real items. 680 * @protected 681 */ 682 this._items = []; 683 684 /** 685 * All cloned items. 686 * @protected 687 */ 688 this._clones = []; 689 690 /** 691 * Merge values of all items. 692 * @todo Maybe this could be part of a plugin. 693 * @protected 694 */ 695 this._mergers = []; 696 697 /** 698 * Widths of all items. 699 */ 700 this._widths = []; 701 702 /** 703 * Invalidated parts within the update process. 704 * @protected 705 */ 706 this._invalidated = {}; 707 708 /** 709 * Ordered list of workers for the update process. 710 * @protected 711 */ 712 this._pipe = []; 713 714 /** 715 * Current state information for the drag operation. 716 * @todo #261 717 * @protected 718 */ 719 this._drag = { 720 time: null, 721 target: null, 722 pointer: null, 723 stage: { 724 start: null, 725 current: null, 726 }, 727 direction: null, 728 }; 729 730 /** 731 * Current state information and their tags. 732 * @type {Object} 733 * @protected 734 */ 735 this._states = { 736 current: {}, 737 tags: { 738 initializing: ["busy"], 739 animating: ["busy"], 740 dragging: ["interacting"], 741 }, 742 }; 743 744 jq.each( 745 ["onResize", "onThrottledResize"], 746 jq.proxy(function (i, handler) { 747 this._handlers[handler] = jq.proxy(this[handler], this); 748 }, this) 749 ); 750 751 jq.each( 752 Owl.Plugins, 753 jq.proxy(function (key, plugin) { 754 this._plugins[ 755 key.charAt(0).toLowerCase() + key.slice(1) 756 ] = new plugin(this); 757 }, this) 758 ); 759 760 jq.each( 761 Owl.Workers, 762 jq.proxy(function (priority, worker) { 763 this._pipe.push({ 764 filter: worker.filter, 765 run: jq.proxy(worker.run, this), 766 }); 767 }, this) 768 ); 769 770 this.setup(); 771 this.initialize(); 772 } 773 774 /** 775 * Default options for the carousel. 776 * @public 777 */ 778 Owl.Defaults = { 779 items: 3, 780 loop: false, 781 center: false, 782 rewind: false, 783 checkVisibility: true, 784 785 mouseDrag: true, 786 touchDrag: true, 787 pullDrag: true, 788 freeDrag: false, 789 790 margin: 0, 791 stagePadding: 0, 792 793 merge: false, 794 mergeFit: true, 795 autoWidth: false, 796 797 startPosition: 0, 798 rtl: false, 799 800 smartSpeed: 250, 801 fluidSpeed: false, 802 dragEndSpeed: false, 803 804 responsive: {}, 805 responsiveRefreshRate: 200, 806 responsiveBaseElement: window, 807 808 fallbackEasing: "swing", 809 slideTransition: "", 810 811 info: false, 812 813 nestedItemSelector: false, 814 itemElement: "div", 815 stageElement: "div", 816 817 refreshClass: "owl-refresh", 818 loadedClass: "owl-loaded", 819 loadingClass: "owl-loading", 820 rtlClass: "owl-rtl", 821 responsiveClass: "owl-responsive", 822 dragClass: "owl-drag", 823 itemClass: "owl-item", 824 stageClass: "owl-stage", 825 stageOuterClass: "owl-stage-outer", 826 grabClass: "owl-grab", 827 }; 828 829 /** 830 * Enumeration for width. 831 * @public 832 * @readonly 833 * @enum {String} 834 */ 835 Owl.Width = { 836 Default: "default", 837 Inner: "inner", 838 Outer: "outer", 839 }; 840 841 /** 842 * Enumeration for types. 843 * @public 844 * @readonly 845 * @enum {String} 846 */ 847 Owl.Type = { 848 Event: "event", 849 State: "state", 850 }; 851 852 /** 853 * Contains all registered plugins. 854 * @public 855 */ 856 Owl.Plugins = {}; 857 858 /** 859 * List of workers involved in the update process. 860 */ 861 Owl.Workers = [ 862 { 863 filter: ["width", "settings"], 864 run: function () { 865 this._width = this.jqelement.width(); 866 }, 867 }, 868 { 869 filter: ["width", "items", "settings"], 870 run: function (cache) { 871 cache.current = 872 this._items && this._items[this.relative(this._current)]; 873 }, 874 }, 875 { 876 filter: ["items", "settings"], 877 run: function () { 878 this.jqstage.children(".cloned").remove(); 879 }, 880 }, 881 { 882 filter: ["width", "items", "settings"], 883 run: function (cache) { 884 var margin = this.settings.margin || "", 885 grid = !this.settings.autoWidth, 886 rtl = this.settings.rtl, 887 css = { 888 width: "auto", 889 "margin-left": rtl ? margin : "", 890 "margin-right": rtl ? "" : margin, 891 }; 892 893 !grid && this.jqstage.children().css(css); 894 895 cache.css = css; 896 }, 897 }, 898 { 899 filter: ["width", "items", "settings"], 900 run: function (cache) { 901 var width = 902 (this.width() / this.settings.items).toFixed(3) - 903 this.settings.margin, 904 merge = null, 905 iterator = this._items.length, 906 grid = !this.settings.autoWidth, 907 widths = []; 908 909 cache.items = { 910 merge: false, 911 width: width, 912 }; 913 914 while (iterator--) { 915 merge = this._mergers[iterator]; 916 merge = 917 (this.settings.mergeFit && 918 Math.min(merge, this.settings.items)) || 919 merge; 920 921 cache.items.merge = merge > 1 || cache.items.merge; 922 923 widths[iterator] = !grid 924 ? this._items[iterator].width() 925 : width * merge; 926 } 927 928 this._widths = widths; 929 }, 930 }, 931 { 932 filter: ["items", "settings"], 933 run: function () { 934 var clones = [], 935 items = this._items, 936 settings = this.settings, 937 // TODO: Should be computed from number of min width items in stage 938 view = Math.max(settings.items * 2, 4),
939 size = Math.ceil(items.length / 2) * 2, 940 repeat = 941 settings.loop && items.length 942 ? settings.rewind 943 ? view 944 : Math.max(view, size) 945 : 0, 946 append = "", 947 prepend = ""; 948 949 repeat /= 2; 950 951 while (repeat > 0) { 952 // Switch to only using appended clones 953 clones.push(this.normalize(clones.length / 2, true)); 954 append = 955 append + items[clones[clones.length - 1]][0].outerHTML; 956 clones.push( 957 this.normalize( 958 items.length - 1 - (clones.length - 1) / 2, 959 true 960 ) 961 ); 962 prepend = 963 items[clones[clones.length - 1]][0].outerHTML + prepend; 964 repeat -= 1; 965 } 966 967 this._clones = clones; 968 969 jq(append).addClass("cloned").appendTo(this.jqstage); 970 jq(prepend).addClass("cloned").prependTo(this.jqstage); 971 }, 972 }, 973 { 974 filter: ["width", "items", "settings"], 975 run: function () { 976 var rtl = this.settings.rtl ? 1 : -1, 977 size = this._clones.length + this._items.length, 978 iterator = -1, 979 previous = 0, 980 current = 0, 981 coordinates = []; 982 983 while (++iterator < size) { 984 previous = coordinates[iterator - 1] || 0; 985 current = 986 this._widths[this.relative(iterator)] + 987 this.settings.margin; 988 coordinates.push(previous + current * rtl); 989 } 990 991 this._coordinates = coordinates; 992 }, 993 }, 994 { 995 filter: ["width", "items", "settings"], 996 run: function () { 997 var padding = this.settings.stagePadding, 998 coordinates = this._coordinates, 999 css = { 1000 width: 1001 Math.ceil( 1002 Math.abs(coordinates[coordinates.length - 1]) 1003 ) + 1004 padding * 2, 1005 "padding-left": padding || "", 1006 "padding-right": padding || "", 1007 }; 1008 1009 this.jqstage.css(css); 1010 }, 1011 }, 1012 { 1013 filter: ["width", "items", "settings"], 1014 run: function (cache) { 1015 var iterator = this._coordinates.length, 1016 grid = !this.settings.autoWidth, 1017 items = this.jqstage.children(); 1018 1019 if (grid && cache.items.merge) { 1020 while (iterator--) { 1021 cache.css.width = this._widths[this.relative(iterator)]; 1022 items.eq(iterator).css(cache.css); 1023 } 1024 } else if (grid) { 1025 cache.css.width = cache.items.width; 1026 items.css(cache.css); 1027 } 1028 }, 1029 }, 1030 { 1031 filter: ["items"], 1032 run: function () { 1033 this._coordinates.length < 1 && 1034 this.jqstage.removeAttr("style"); 1035 }, 1036 }, 1037 { 1038 filter: ["width", "items", "settings"], 1039 run: function (cache) { 1040 cache.current = cache.current 1041 ? this.jqstage.children().index(cache.current) 1042 : 0; 1043 cache.current = Math.max( 1044 this.minimum(), 1045 Math.min(this.maximum(), cache.current) 1046 ); 1047 this.reset(cache.current); 1048 }, 1049 }, 1050 { 1051 filter: ["position"], 1052 run: function () { 1053 this.animate(this.coordinates(this._current)); 1054 }, 1055 }, 1056 { 1057 filter: ["width", "position", "items", "settings"], 1058 run: function () { 1059 var rtl = this.settings.rtl ? 1 : -1, 1060 padding = this.settings.stagePadding * 2, 1061 begin = this.coordinates(this.current()) + padding, 1062 end = begin + this.width() * rtl, 1063 inner, 1064 outer, 1065 matches = [], 1066 i, 1067 n; 1068 1069 for (i = 0, n = this._coordinates.length; i < n; i++) { 1070 inner = this._coordinates[i - 1] || 0; 1071 outer = Math.abs(this._coordinates[i]) + padding * rtl; 1072 1073 if ( 1074 (this.op(inner, "<=", begin) && 1075 this.op(inner, ">", end)) || 1076 (this.op(outer, "<", begin) && this.op(outer, ">", end)) 1077 ) { 1078 matches.push(i); 1079 } 1080 } 1081 1082 this.jqstage.children(".active").removeClass("active"); 1083 this.jqstage 1084 .children(":eq(" + matches.join("), :eq(") + ")") 1085 .addClass("active"); 1086 1087 this.jqstage.children(".center").removeClass("center"); 1088 if (this.settings.center) { 1089 this.jqstage 1090 .children() 1091 .eq(this.current()) 1092 .addClass("center"); 1093 } 1094 }, 1095 }, 1096 ]; 1097 1098 /** 1099 * Create the stage DOM element 1100 */ 1101 Owl.prototype.initializeStage = function () { 1102 this.jqstage = this.jqelement.find("." + this.settings.stageClass); 1103 1104 // if the stage is already in the DOM, grab it and skip stage initialization 1105 if (this.jqstage.length) { 1106 return; 1107 } 1108 1109 this.jqelement.addClass(this.options.loadingClass); 1110 1111 // create stage 1112 this.jqstage = jq("<" + this.settings.stageElement + ">", { 1113 class: this.settings.stageClass, 1114 }).wrap( 1115 jq("<div/>", { 1116 class: this.settings.stageOuterClass, 1117 }) 1118 ); 1119 1120 // append stage 1121 this.jqelement.append(this.jqstage.parent()); 1122 }; 1123 1124 /** 1125 * Create item DOM elements 1126 */ 1127 Owl.prototype.initializeItems = function () { 1128 var jqitems = this.jqelement.find(".owl-item"); 1129 1130 // if the items are already in the DOM, grab them and skip item initialization 1131 if (jqitems.length) { 1132 this._items = jqitems.get().map(function (item) { 1133 return jq(item); 1134 }); 1135 1136 this._mergers = this._items.map(function () { 1137 return 1; 1138 }); 1139 1140 this.refresh();
vendor: 4,482 bytes, lines 1141-1280
1141 1142 return; 1143 } 1144 1145 // append content 1146 this.replace(this.jqelement.children().not(this.jqstage.parent())); 1147 1148 // check visibility 1149 if (this.isVisible()) { 1150 // update view 1151 this.refresh(); 1152 } else { 1153 // invalidate width 1154 this.invalidate("width"); 1155 } 1156 1157 this.jqelement 1158 .removeClass(this.options.loadingClass) 1159 .addClass(this.options.loadedClass); 1160 }; 1161 1162 /** 1163 * Initializes the carousel. 1164 * @protected 1165 */ 1166 Owl.prototype.initialize = function () { 1167 this.enter("initializing"); 1168 this.trigger("initialize"); 1169 1170 this.jqelement.toggleClass(this.settings.rtlClass, this.settings.rtl); 1171 1172 if (this.settings.autoWidth && !this.is("pre-loading")) { 1173 var imgs, nestedSelector, width; 1174 imgs = this.jqelement.find("img"); 1175 nestedSelector = this.settings.nestedItemSelector 1176 ? "." + this.settings.nestedItemSelector 1177 : undefined; 1178 width = this.jqelement.children(nestedSelector).width(); 1179 1180 if (imgs.length && width <= 0) { 1181 this.preloadAutoWidthImages(imgs); 1182 } 1183 } 1184 1185 this.initializeStage(); 1186 this.initializeItems(); 1187 1188 // register event handlers 1189 this.registerEventHandlers(); 1190 1191 this.leave("initializing"); 1192 this.trigger("initialized"); 1193 }; 1194 1195 /** 1196 * @returns {Boolean} visibility of jqelement 1197 * if you know the carousel will always be visible you can set `checkVisibility` to `false` to 1198 * prevent the expensive browser layout forced reflow the jqelement.is(':visible') does 1199 */ 1200 Owl.prototype.isVisible = function () { 1201 return this.settings.checkVisibility 1202 ? this.jqelement.is(":visible") 1203 : true; 1204 }; 1205 1206 /** 1207 * Setups the current settings. 1208 * @todo Remove responsive classes. Why should adaptive designs be brought into IE8? 1209 * @todo Support for media queries by using `matchMedia` would be nice. 1210 * @public 1211 */ 1212 Owl.prototype.setup = function () { 1213 var viewport = this.viewport(), 1214 overwrites = this.options.responsive, 1215 match = -1, 1216 settings = null; 1217 1218 if (!overwrites) { 1219 settings = jq.extend({}, this.options); 1220 } else { 1221 jq.each(overwrites, function (breakpoint) { 1222 if (breakpoint <= viewport && breakpoint > match) { 1223 match = Number(breakpoint); 1224 } 1225 }); 1226 1227 settings = jq.extend({}, this.options, overwrites[match]); 1228 if (typeof settings.stagePadding === "function") { 1229 settings.stagePadding = settings.stagePadding(); 1230 } 1231 delete settings.responsive; 1232 1233 // responsive class 1234 if (settings.responsiveClass) { 1235 this.jqelement.attr( 1236 "class", 1237 this.jqelement 1238 .attr("class") 1239 .replace( 1240 new RegExp( 1241 "(" + 1242 this.options.responsiveClass + 1243 "-)\\S+\\s", 1244 "g" 1245 ), 1246 "jq1" + match 1247 ) 1248 ); 1249 } 1250 } 1251 1252 this.trigger("change", { 1253 property: { name: "settings", value: settings }, 1254 }); 1255 this._breakpoint = match; 1256 this.settings = settings; 1257 this.invalidate("settings"); 1258 this.trigger("changed", { 1259 property: { name: "settings", value: this.settings }, 1260 }); 1261 }; 1262 1263 /** 1264 * Updates option logic if necessery. 1265 * @protected 1266 */ 1267 Owl.prototype.optionsLogic = function () { 1268 if (this.settings.autoWidth) { 1269 this.settings.stagePadding = false; 1270 this.settings.merge = false; 1271 } 1272 }; 1273 1274 /** 1275 * Prepares an item before add. 1276 * @todo Rename event parameter `content` to `item`. 1277 * @protected 1278 * @returns {jq|HTMLElement} - The item container. 1279 */ 1280 Owl.prototype.prepare = function (item) {
vendor: 6,145 bytes, lines 1281-1505
1281 var event = this.trigger("prepare", { content: item }); 1282 1283 if (!event.data) { 1284 event.data = jq("<" + this.settings.itemElement + "/>") 1285 .addClass(this.options.itemClass) 1286 .append(item); 1287 } 1288 1289 this.trigger("prepared", { content: event.data }); 1290 1291 return event.data; 1292 }; 1293 1294 /** 1295 * Updates the view. 1296 * @public 1297 */ 1298 Owl.prototype.update = function () { 1299 var i = 0, 1300 n = this._pipe.length, 1301 filter = jq.proxy(function (p) { 1302 return this[p]; 1303 }, this._invalidated), 1304 cache = {}; 1305 1306 while (i < n) { 1307 if ( 1308 this._invalidated.all || 1309 jq.grep(this._pipe[i].filter, filter).length > 0 1310 ) { 1311 this._pipe[i].run(cache); 1312 } 1313 i++; 1314 } 1315 1316 this._invalidated = {}; 1317 1318 !this.is("valid") && this.enter("valid"); 1319 }; 1320 1321 /** 1322 * Gets the width of the view. 1323 * @public 1324 * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return. 1325 * @returns {Number} - The width of the view in pixel. 1326 */ 1327 Owl.prototype.width = function (dimension) { 1328 dimension = dimension || Owl.Width.Default; 1329 switch (dimension) { 1330 case Owl.Width.Inner: 1331 case Owl.Width.Outer: 1332 return this._width; 1333 default: 1334 return ( 1335 this._width - 1336 this.settings.stagePadding * 2 + 1337 this.settings.margin 1338 ); 1339 } 1340 }; 1341 1342 /** 1343 * Refreshes the carousel primarily for adaptive purposes. 1344 * @public 1345 */ 1346 Owl.prototype.refresh = function () { 1347 this.enter("refreshing"); 1348 this.trigger("refresh"); 1349 1350 this.setup(); 1351 1352 this.optionsLogic(); 1353 1354 this.jqelement.addClass(this.options.refreshClass); 1355 1356 this.update(); 1357 1358 this.jqelement.removeClass(this.options.refreshClass); 1359 1360 this.leave("refreshing"); 1361 this.trigger("refreshed"); 1362 }; 1363 1364 /** 1365 * Checks window `resize` event. 1366 * @protected 1367 */ 1368 Owl.prototype.onThrottledResize = function () { 1369 window.clearTimeout(this.resizeTimer); 1370 this.resizeTimer = window.setTimeout( 1371 this._handlers.onResize, 1372 this.settings.responsiveRefreshRate 1373 ); 1374 }; 1375 1376 /** 1377 * Checks window `resize` event. 1378 * @protected 1379 */ 1380 Owl.prototype.onResize = function () { 1381 if (!this._items.length) { 1382 return false; 1383 } 1384 1385 if (this._width === this.jqelement.width()) { 1386 return false; 1387 } 1388 1389 if (!this.isVisible()) { 1390 return false; 1391 } 1392 1393 this.enter("resizing"); 1394 1395 if (this.trigger("resize").isDefaultPrevented()) { 1396 this.leave("resizing"); 1397 return false; 1398 } 1399 1400 this.invalidate("width"); 1401 1402 this.refresh(); 1403 1404 this.leave("resizing"); 1405 this.trigger("resized"); 1406 }; 1407 1408 /** 1409 * Registers event handlers. 1410 * @todo Check `msPointerEnabled` 1411 * @todo #261 1412 * @protected 1413 */ 1414 Owl.prototype.registerEventHandlers = function () { 1415 if (jq.support.transition) { 1416 this.jqstage.on( 1417 jq.support.transition.end + ".owl.core", 1418 jq.proxy(this.onTransitionEnd, this) 1419 ); 1420 } 1421 1422 if (this.settings.responsive !== false) { 1423 this.on(window, "resize", this._handlers.onThrottledResize); 1424 } 1425 1426 if (this.settings.mouseDrag) { 1427 this.jqelement.addClass(this.options.dragClass); 1428 this.jqstage.on( 1429 "mousedown.owl.core", 1430 jq.proxy(this.onDragStart, this) 1431 ); 1432 this.jqstage.on( 1433 "dragstart.owl.core selectstart.owl.core", 1434 function () { 1435 return false; 1436 } 1437 ); 1438 } 1439 1440 if (this.settings.touchDrag) { 1441 this.jqstage.on( 1442 "touchstart.owl.core", 1443 jq.proxy(this.onDragStart, this) 1444 ); 1445 this.jqstage.on( 1446 "touchcancel.owl.core", 1447 jq.proxy(this.onDragEnd, this) 1448 ); 1449 } 1450 }; 1451 1452 /** 1453 * Handles `touchstart` and `mousedown` events. 1454 * @todo Horizontal swipe threshold as option 1455 * @todo #261 1456 * @protected 1457 * @param {Event} event - The event arguments. 1458 */ 1459 Owl.prototype.onDragStart = function (event) { 1460 var stage = null; 1461 1462 if (event.which === 3) { 1463 return; 1464 } 1465 1466 if (jq.support.transform) { 1467 stage = this.jqstage 1468 .css("transform") 1469 .replace(/.*\(|\)| /g, "") 1470 .split(","); 1471 stage = { 1472 x: stage[stage.length === 16 ? 12 : 4], 1473 y: stage[stage.length === 16 ? 13 : 5], 1474 }; 1475 } else { 1476 stage = this.jqstage.position(); 1477 stage = { 1478 x: this.settings.rtl 1479 ? stage.left + 1480 this.jqstage.width() - 1481 this.width() + 1482 this.settings.margin 1483 : stage.left, 1484 y: stage.top, 1485 }; 1486 } 1487 1488 if (this.is("animating")) { 1489 jq.support.transform ? this.animate(stage.x) : this.jqstage.stop(); 1490 this.invalidate("position"); 1491 } 1492 1493 this.jqelement.toggleClass( 1494 this.options.grabClass, 1495 event.type === "mousedown" 1496 ); 1497 1498 this.speed(0); 1499 1500 this._drag.time = new Date().getTime(); 1501 this._drag.target = jq(event.target); 1502 this._drag.stage.start = stage; 1503 this._drag.stage.current = stage; 1504 this._drag.pointer = this.pointer(event); 1505
1506 jq(document).on( 1507 "mouseup.owl.core touchend.owl.core", 1508 jq.proxy(this.onDragEnd, this) 1509 ); 1510 1511 jq(document).one( 1512 "mousemove.owl.core touchmove.owl.core", 1513 jq.proxy(function (event) { 1514 var delta = this.difference( 1515 this._drag.pointer, 1516 this.pointer(event) 1517 ); 1518 1519 jq(document).on( 1520 "mousemove.owl.core touchmove.owl.core", 1521 jq.proxy(this.onDragMove, this) 1522 ); 1523 1524 if (Math.abs(delta.x) < Math.abs(delta.y) && this.is("valid")) { 1525 return; 1526 } 1527 1528 event.preventDefault(); 1529 1530 this.enter("dragging"); 1531 this.trigger("drag"); 1532 }, this) 1533 ); 1534 }; 1535 1536 /** 1537 * Handles the `touchmove` and `mousemove` events. 1538 * @todo #261 1539 * @protected 1540 * @param {Event} event - The event arguments. 1541 */ 1542 Owl.prototype.onDragMove = function (event) { 1543 var minimum = null, 1544 maximum = null, 1545 pull = null, 1546 delta = this.difference(this._drag.pointer, this.pointer(event)), 1547 stage = this.difference(this._drag.stage.start, delta); 1548 1549 if (!this.is("dragging")) { 1550 return; 1551 } 1552 1553 event.preventDefault(); 1554 1555 if (this.settings.loop) { 1556 minimum = this.coordinates(this.minimum()); 1557 maximum = this.coordinates(this.maximum() + 1) - minimum; 1558 stage.x = 1559 ((((stage.x - minimum) % maximum) + maximum) % maximum) + 1560 minimum; 1561 } else { 1562 minimum = this.settings.rtl 1563 ? this.coordinates(this.maximum()) 1564 : this.coordinates(this.minimum()); 1565 maximum = this.settings.rtl 1566 ? this.coordinates(this.minimum()) 1567 : this.coordinates(this.maximum()); 1568 pull = this.settings.pullDrag ? (-1 * delta.x) / 5 : 0; 1569 stage.x = Math.max( 1570 Math.min(stage.x, minimum + pull), 1571 maximum + pull 1572 ); 1573 } 1574 1575 this._drag.stage.current = stage; 1576 1577 this.animate(stage.x); 1578 }; 1579 1580 /** 1581 * Handles the `touchend` and `mouseup` events. 1582 * @todo #261 1583 * @todo Threshold for click event 1584 * @protected 1585 * @param {Event} event - The event arguments. 1586 */ 1587 Owl.prototype.onDragEnd = function (event) { 1588 var delta = this.difference(this._drag.pointer, this.pointer(event)), 1589 stage = this._drag.stage.current, 1590 direction = (delta.x > 0) ^ this.settings.rtl ? "left" : "right"; 1591 1592 jq(document).off(".owl.core"); 1593 1594 this.jqelement.removeClass(this.options.grabClass); 1595 1596 if ((delta.x !== 0 && this.is("dragging")) || !this.is("valid")) { 1597 this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed); 1598 this.current( 1599 this.closest( 1600 stage.x, 1601 delta.x !== 0 ? direction : this._drag.direction 1602 ) 1603 ); 1604 this.invalidate("position"); 1605 this.update(); 1606 1607 this._drag.direction = direction; 1608 1609 if ( 1610 Math.abs(delta.x) > 3 || 1611 new Date().getTime() - this._drag.time > 300 1612 ) { 1613 this._drag.target.one("click.owl.core", function () { 1614 return false; 1615 }); 1616 } 1617 } 1618 1619 if (!this.is("dragging")) { 1620 return; 1621 } 1622 1623 this.leave("dragging"); 1624 this.trigger("dragged"); 1625 }; 1626 1627 /** 1628 * Gets absolute position of the closest item for a coordinate. 1629 * @todo Setting `freeDrag` makes `closest` not reusable. See #165. 1630 * @protected 1631 * @param {Number} coordinate - The coordinate in pixel. 1632 * @param {String} direction - The direction to check for the closest item. Ether `left` or `right`. 1633 * @return {Number} - The absolute position of the closest item. 1634 */ 1635 Owl.prototype.closest = function (coordinate, direction) { 1636 var position = -1, 1637 pull = 30, 1638 width = this.width(), 1639 coordinates = this.coordinates();
1640 1641 if (!this.settings.freeDrag) { 1642 // check closest item 1643 jq.each( 1644 coordinates, 1645 jq.proxy(function (index, value) { 1646 // on a left pull, check on current index 1647 if ( 1648 direction === "left" && 1649 coordinate > value - pull && 1650 coordinate < value + pull 1651 ) { 1652 position = index; 1653 // on a right pull, check on previous index 1654 // to do so, subtract width from value and set position = index + 1 1655 } else if ( 1656 direction === "right" && 1657 coordinate > value - width - pull && 1658 coordinate < value - width + pull 1659 ) { 1660 position = index + 1; 1661 } else if ( 1662 this.op(coordinate, "<", value) && 1663 this.op( 1664 coordinate, 1665 ">", 1666 coordinates[index + 1] !== undefined 1667 ? coordinates[index + 1] 1668 : value - width 1669 ) 1670 ) { 1671 position = direction === "left" ? index + 1 : index; 1672 } 1673 return position === -1; 1674 }, this) 1675 ); 1676 } 1677 1678 if (!this.settings.loop) { 1679 // non loop boundries 1680 if (this.op(coordinate, ">", coordinates[this.minimum()])) { 1681 position = coordinate = this.minimum(); 1682 } else if (this.op(coordinate, "<", coordinates[this.maximum()])) { 1683 position = coordinate = this.maximum(); 1684 } 1685 } 1686 1687 return position; 1688 }; 1689 1690 /** 1691 * Animates the stage. 1692 * @todo #270 1693 * @public 1694 * @param {Number} coordinate - The coordinate in pixels. 1695 */ 1696 Owl.prototype.animate = function (coordinate) { 1697 var animate = this.speed() > 0; 1698 1699 this.is("animating") && this.onTransitionEnd(); 1700 1701 if (animate) { 1702 this.enter("animating"); 1703 this.trigger("translate"); 1704 } 1705 1706 if (jq.support.transform3d && jq.support.transition) { 1707 this.jqstage.css({ 1708 transform: "translate3d(" + coordinate + "px,0px,0px)", 1709 transition: 1710 this.speed() / 1000 + 1711 "s" + 1712 (this.settings.slideTransition 1713 ? " " + this.settings.slideTransition 1714 : ""), 1715 }); 1716 } else if (animate) { 1717 this.jqstage.animate( 1718 { 1719 left: coordinate + "px", 1720 }, 1721 this.speed(), 1722 this.settings.fallbackEasing, 1723 jq.proxy(this.onTransitionEnd, this) 1724 ); 1725 } else { 1726 this.jqstage.css({ 1727 left: coordinate + "px", 1728 }); 1729 } 1730 }; 1731 1732 /** 1733 * Checks whether the carousel is in a specific state or not. 1734 * @param {String} state - The state to check. 1735 * @returns {Boolean} - The flag which indicates if the carousel is busy. 1736 */ 1737 Owl.prototype.is = function (state) { 1738 return this._states.current[state] && this._states.current[state] > 0; 1739 }; 1740 1741 /** 1742 * Sets the absolute position of the current item. 1743 * @public 1744 * @param {Number} [position] - The new absolute position or nothing to leave it unchanged. 1745 * @returns {Number} - The absolute position of the current item. 1746 */ 1747 Owl.prototype.current = function (position) { 1748 if (position === undefined) { 1749 return this._current; 1750 } 1751 1752 if (this._items.length === 0) { 1753 return undefined; 1754 } 1755 1756 position = this.normalize(position); 1757 1758 if (this._current !== position) { 1759 var event = this.trigger("change", { 1760 property: { name: "position", value: position }, 1761 }); 1762 1763 if (event.data !== undefined) { 1764 position = this.normalize(event.data); 1765 } 1766 1767 this._current = position; 1768 1769 this.invalidate("position"); 1770 1771 this.trigger("changed", { 1772 property: { name: "position", value: this._current }, 1773 }); 1774 } 1775 1776 return this._current; 1777 }; 1778 1779 /** 1780 * Invalidates the given part of the update routine. 1781 * @param {String}
1781 [part] - The part to invalidate. 1782 * @returns {Array.<String>} - The invalidated parts. 1783 */ 1784 Owl.prototype.invalidate = function (part) { 1785 if (jq.type(part) === "string") { 1786 this._invalidated[part] = true; 1787 this.is("valid") && this.leave("valid"); 1788 } 1789 return jq.map(this._invalidated, function (v, i) { 1790 return i; 1791 }); 1792 }; 1793 1794 /** 1795 * Resets the absolute position of the current item. 1796 * @public 1797 * @param {Number} position - The absolute position of the new item. 1798 */ 1799 Owl.prototype.reset = function (position) { 1800 position = this.normalize(position); 1801 1802 if (position === undefined) { 1803 return; 1804 } 1805 1806 this._speed = 0; 1807 this._current = position; 1808 1809 this.suppress(["translate", "translated"]); 1810 1811 this.animate(this.coordinates(position)); 1812 1813 this.release(["translate", "translated"]); 1814 }; 1815 1816 /** 1817 * Normalizes an absolute or a relative position of an item. 1818 * @public 1819 * @param {Number} position - The absolute or relative position to normalize. 1820 * @param {Boolean} [relative=false] - Whether the given position is relative or not. 1821 * @returns {Number} - The normalized position. 1822 */ 1823 Owl.prototype.normalize = function (position, relative) { 1824 var n = this._items.length, 1825 m = relative ? 0 : this._clones.length; 1826 1827 if (!this.isNumeric(position) || n < 1) { 1828 position = undefined; 1829 } else if (position < 0 || position >= n + m) { 1830 position = ((((position - m / 2) % n) + n) % n) + m / 2; 1831 } 1832 1833 return position; 1834 }; 1835 1836 /** 1837 * Converts an absolute position of an item into a relative one. 1838 * @public 1839 * @param {Number} position - The absolute position to convert. 1840 * @returns {Number} - The converted position. 1841 */ 1842 Owl.prototype.relative = function (position) { 1843 position -= this._clones.length / 2; 1844 return this.normalize(position, true); 1845 }; 1846 1847 /** 1848 * Gets the maximum position for the current item. 1849 * @public 1850 * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position. 1851 * @returns {Number} 1852 */ 1853 Owl.prototype.maximum = function (relative) { 1854 var settings = this.settings, 1855 maximum = this._coordinates.length, 1856 iterator, 1857 reciprocalItemsWidth, 1858 elementWidth; 1859 1860 if (settings.loop) { 1861 maximum = this._clones.length / 2 + this._items.length - 1; 1862 } else if (settings.autoWidth || settings.merge) { 1863 iterator = this._items.length; 1864 if (iterator) { 1865 reciprocalItemsWidth = this._items[--iterator].width(); 1866 elementWidth = this.jqelement.width(); 1867 while (iterator--) { 1868 reciprocalItemsWidth += 1869 this._items[iterator].width() + this.settings.margin; 1870 if (reciprocalItemsWidth > elementWidth) { 1871 break; 1872 } 1873 } 1874 } 1875 maximum = iterator + 1; 1876 } else if (settings.center) { 1877 maximum = this._items.length - 1; 1878 } else { 1879 maximum = this._items.length - settings.items; 1880 } 1881 1882 if (relative) { 1883 maximum -= this._clones.length / 2; 1884 } 1885 1886 return Math.max(maximum, 0); 1887 }; 1888 1889 /** 1890 * Gets the minimum position for the current item. 1891 * @public 1892 * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position. 1893 * @returns {Number} 1894 */ 1895 Owl.prototype.minimum = function (relative) { 1896 return relative ? 0 : this._clones.length / 2; 1897 }; 1898 1899 /** 1900 * Gets an item at the specified relative position. 1901 * @public 1902 * @param {Number} [position] - The relative position of the item. 1903 * @return {jq|Array.<jq>} - The item at the given position or all items if no position was given. 1904 */ 1905 Owl.prototype.items = function (position) { 1906 if (position === undefined) { 1907 return this._items.slice(); 1908 } 1909 1910 position = this.normalize(position, true); 1911 return this._items[position]; 1912 }; 1913 1914 /** 1915 * Gets an item at the specified relative position. 1916 * @public 1917 * @param {Number} [position] - The relative position of the item. 1918 * @return {jq|Array.<jq>} - The item at the given position or all items if no position was given. 1919 */ 1920 Owl.prototype.mergers = function (position) { 1921 if (position === undefined) { 1922 return this._mergers.slice(); 1923 } 1924 1925 position = this.normalize(position, true); 1926 return this._mergers[position]; 1927 }; 1928 1929 /** 1930 * Gets the absolute positions of clones for an item. 1931 * @public 1932 * @param {Number} [position] - The relative position of the item. 1933 * @returns {Array.<Number>} - The absolute positions of clones for the item or all if no position was given. 1934 */ 1935 Owl.prototype.clones = function (position) { 1936 var odd = this._clones.length / 2, 1937 even = odd + this._items.length, 1938 map = function (index) { 1939 return index % 2 === 0 1940 ? even + index / 2 1941 : odd - (index + 1) / 2; 1942 }; 1943 1944 if (position === undefined) { 1945 return jq.map(this._clones, function (v, i) { 1946 return map(i); 1947 }); 1948 } 1949 1950 return jq.map(this._clones, function (v, i) { 1951 return v === position ? map(i) : null; 1952 }); 1953 }; 1954 1955 /** 1956 * Sets the current animation speed. 1957 * @public 1958 * @param {Number}
1958 [speed] - The animation speed in milliseconds or nothing to leave it unchanged. 1959 * @returns {Number} - The current animation speed in milliseconds. 1960 */ 1961 Owl.prototype.speed = function (speed) { 1962 if (speed !== undefined) { 1963 this._speed = speed; 1964 } 1965 1966 return this._speed; 1967 }; 1968 1969 /** 1970 * Gets the coordinate of an item. 1971 * @todo The name of this method is missleanding. 1972 * @public 1973 * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`. 1974 * @returns {Number|Array.<Number>} - The coordinate of the item in pixel or all coordinates. 1975 */ 1976 Owl.prototype.coordinates = function (position) { 1977 var multiplier = 1, 1978 newPosition = position - 1, 1979 coordinate; 1980 1981 if (position === undefined) { 1982 return jq.map( 1983 this._coordinates, 1984 jq.proxy(function (coordinate, index) { 1985 return this.coordinates(index); 1986 }, this) 1987 ); 1988 } 1989 1990 if (this.settings.center) { 1991 if (this.settings.rtl) { 1992 multiplier = -1; 1993 newPosition = position + 1; 1994 } 1995 1996 coordinate = this._coordinates[position]; 1997 coordinate += 1998 ((this.width() - 1999 coordinate + 2000 (this._coordinates[newPosition] || 0)) / 2001 2) * 2002 multiplier; 2003 } else { 2004 coordinate = this._coordinates[newPosition] || 0; 2005 } 2006 2007 coordinate = Math.ceil(coordinate); 2008 2009 return coordinate; 2010 }; 2011 2012 /** 2013 * Calculates the speed for a translation. 2014 * @protected 2015 * @param {Number} from - The absolute position of the start item. 2016 * @param {Number} to - The absolute position of the target item. 2017 * @param {Number} [factor=undefined] - The time factor in milliseconds. 2018 * @returns {Number} - The time in milliseconds for the translation. 2019 */ 2020 Owl.prototype.duration = function (from, to, factor) { 2021 if (factor === 0) { 2022 return 0; 2023 } 2024 2025 return ( 2026 Math.min(Math.max(Math.abs(to - from), 1), 6) * 2027 Math.abs(factor || this.settings.smartSpeed) 2028 ); 2029 }; 2030 2031 /** 2032 * Slides to the specified item. 2033 * @public 2034 * @param {Number} position - The position of the item. 2035 * @param {Number} [speed] - The time in milliseconds for the transition. 2036 */ 2037 Owl.prototype.to = function (position, speed) { 2038 var current = this.current(), 2039 revert = null, 2040 distance = position - this.relative(current), 2041 direction = (distance > 0) - (distance < 0), 2042 items = this._items.length, 2043 minimum = this.minimum(), 2044 maximum = this.maximum(); 2045 2046 if (this.settings.loop) { 2047 if (!this.settings.rewind && Math.abs(distance) > items / 2) { 2048 distance += direction * -1 * items; 2049 } 2050 2051 position = current + distance; 2052 revert = 2053 ((((position - minimum) % items) + items) % items) + minimum; 2054 2055 if ( 2056 revert !== position && 2057 revert - distance <= maximum && 2058 revert - distance > 0 2059 ) { 2060 current = revert - distance; 2061 position = revert; 2062 this.reset(current); 2063 } 2064 } else if (this.settings.rewind) { 2065 maximum += 1; 2066 position = ((position % maximum) + maximum) % maximum; 2067 } else { 2068 position = Math.max(minimum, Math.min(maximum, position)); 2069 } 2070 2071 this.speed(this.duration(current, position, speed)); 2072 this.current(position); 2073 2074 if (this.isVisible()) { 2075 this.update(); 2076 } 2077 }; 2078 2079 /** 2080 * Slides to the next item. 2081 * @public 2082 * @param {Number} [speed] - The time in milliseconds for the transition. 2083 */ 2084 Owl.prototype.next = function (speed) { 2085 speed = speed || false; 2086 this.to(this.relative(this.current()) + 1, speed); 2087 }; 2088 2089 /** 2090 * Slides to the previous item. 2091 * @public 2092 * @param {Number}
vendor: 18,269 bytes, lines 2092-2636
2092 [speed] - The time in milliseconds for the transition. 2093 */ 2094 Owl.prototype.prev = function (speed) { 2095 speed = speed || false; 2096 this.to(this.relative(this.current()) - 1, speed); 2097 }; 2098 2099 /** 2100 * Handles the end of an animation. 2101 * @protected 2102 * @param {Event} event - The event arguments. 2103 */ 2104 Owl.prototype.onTransitionEnd = function (event) { 2105 // if css2 animation then event object is undefined 2106 if (event !== undefined) { 2107 event.stopPropagation(); 2108 2109 // Catch only owl-stage transitionEnd event 2110 if ( 2111 (event.target || event.srcElement || event.originalTarget) !== 2112 this.jqstage.get(0) 2113 ) { 2114 return false; 2115 } 2116 } 2117 2118 this.leave("animating"); 2119 this.trigger("translated"); 2120 }; 2121 2122 /** 2123 * Gets viewport width. 2124 * @protected 2125 * @return {Number} - The width in pixel. 2126 */ 2127 Owl.prototype.viewport = function () { 2128 var width; 2129 if (this.options.responsiveBaseElement !== window) { 2130 width = jq(this.options.responsiveBaseElement).width(); 2131 } else if (window.innerWidth) { 2132 width = window.innerWidth; 2133 } else if ( 2134 document.documentElement && 2135 document.documentElement.clientWidth 2136 ) { 2137 width = document.documentElement.clientWidth; 2138 } else { 2139 console.warn("Can not detect viewport width."); 2140 } 2141 return width; 2142 }; 2143 2144 /** 2145 * Replaces the current content. 2146 * @public 2147 * @param {HTMLElement|jq|String} content - The new content. 2148 */ 2149 Owl.prototype.replace = function (content) { 2150 this.jqstage.empty(); 2151 this._items = []; 2152 2153 if (content) { 2154 content = content instanceof jq ? content : jq(content); 2155 } 2156 2157 if (this.settings.nestedItemSelector) { 2158 content = content.find("." + this.settings.nestedItemSelector); 2159 } 2160 2161 content 2162 .filter(function () { 2163 return this.nodeType === 1; 2164 }) 2165 .each( 2166 jq.proxy(function (index, item) { 2167 item = this.prepare(item); 2168 this.jqstage.append(item); 2169 this._items.push(item); 2170 this._mergers.push( 2171 item 2172 .find("[data-merge]") 2173 .addBack("[data-merge]") 2174 .attr("data-merge") * 1 || 1 2175 ); 2176 }, this) 2177 ); 2178 2179 this.reset( 2180 this.isNumeric(this.settings.startPosition) 2181 ? this.settings.startPosition 2182 : 0 2183 ); 2184 2185 this.invalidate("items"); 2186 }; 2187 2188 /** 2189 * Adds an item. 2190 * @todo Use `item` instead of `content` for the event arguments. 2191 * @public 2192 * @param {HTMLElement|jq|String} content - The item content to add. 2193 * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end. 2194 */ 2195 Owl.prototype.add = function (content, position) { 2196 var current = this.relative(this._current); 2197 2198 position = 2199 position === undefined 2200 ? this._items.length 2201 : this.normalize(position, true); 2202 content = content instanceof jq ? content : jq(content); 2203 2204 this.trigger("add", { content: content, position: position }); 2205 2206 content = this.prepare(content); 2207 2208 if (this._items.length === 0 || position === this._items.length) { 2209 this._items.length === 0 && this.jqstage.append(content); 2210 this._items.length !== 0 && 2211 this._items[position - 1].after(content); 2212 this._items.push(content); 2213 this._mergers.push( 2214 content 2215 .find("[data-merge]") 2216 .addBack("[data-merge]") 2217 .attr("data-merge") * 1 || 1 2218 ); 2219 } else { 2220 this._items[position].before(content); 2221 this._items.splice(position, 0, content); 2222 this._mergers.splice( 2223 position, 2224 0, 2225 content 2226 .find("[data-merge]") 2227 .addBack("[data-merge]") 2228 .attr("data-merge") * 1 || 1 2229 ); 2230 } 2231 2232 this._items[current] && this.reset(this._items[current].index()); 2233 2234 this.invalidate("items"); 2235 2236 this.trigger("added", { content: content, position: position }); 2237 }; 2238 2239 /** 2240 * Removes an item by its position. 2241 * @todo Use `item` instead of `content` for the event arguments. 2242 * @public 2243 * @param {Number} position - The relative position of the item to remove. 2244 */ 2245 Owl.prototype.remove = function (position) { 2246 position = this.normalize(position, true); 2247 2248 if (position === undefined) { 2249 return; 2250 } 2251 2252 this.trigger("remove", { 2253 content: this._items[position], 2254 position: position, 2255 }); 2256 2257 this._items[position].remove(); 2258 this._items.splice(position, 1); 2259 this._mergers.splice(position, 1); 2260 2261 this.invalidate("items"); 2262 2263 this.trigger("removed", { content: null, position: position }); 2264 }; 2265 2266 /** 2267 * Preloads images with auto width. 2268 * @todo Replace by a more generic approach 2269 * @protected 2270 */ 2271 Owl.prototype.preloadAutoWidthImages = function (images) { 2272 images.each( 2273 jq.proxy(function (i, element) { 2274 this.enter("pre-loading"); 2275 element = jq(element); 2276 jq(new Image()) 2277 .one( 2278 "load", 2279 jq.proxy(function (e) { 2280 element.attr("src", e.target.src); 2281 element.css("opacity", 1); 2282 this.leave("pre-loading"); 2283 !this.is("pre-loading") && 2284 !this.is("initializing") && 2285 this.refresh(); 2286 }, this) 2287 ) 2288 .attr( 2289 "src", 2290 element.attr("src") || 2291 element.attr("data-src") || 2292 element.attr("data-src-retina") 2293 ); 2294 }, this) 2295 ); 2296 }; 2297 2298 /** 2299 * Destroys the carousel. 2300 * @public 2301 */ 2302 Owl.prototype.destroy = function () { 2303 this.jqelement.off(".owl.core"); 2304 this.jqstage.off(".owl.core"); 2305 jq(document).off(".owl.core"); 2306 2307 if (this.settings.responsive !== false) { 2308 window.clearTimeout(this.resizeTimer); 2309 this.off(window, "resize", this._handlers.onThrottledResize); 2310 } 2311 2312 for (var i in this._plugins) { 2313 this._plugins[i].destroy(); 2314 } 2315 2316 this.jqstage.children(".cloned").remove(); 2317 2318 this.jqstage.unwrap(); 2319 this.jqstage.children().contents().unwrap(); 2320 this.jqstage.children().unwrap(); 2321 this.jqstage.remove(); 2322 this.jqelement 2323 .removeClass(this.options.refreshClass) 2324 .removeClass(this.options.loadingClass) 2325 .removeClass(this.options.loadedClass) 2326 .removeClass(this.options.rtlClass) 2327 .removeClass(this.options.dragClass) 2328 .removeClass(this.options.grabClass) 2329 .attr( 2330 "class", 2331 this.jqelement 2332 .attr("class") 2333 .replace( 2334 new RegExp( 2335 this.options.responsiveClass + "-\\S+\\s", 2336 "g" 2337 ), 2338 "" 2339 ) 2340 ) 2341 .removeData("owl.carousel"); 2342 }; 2343 2344 /** 2345 * Operators to calculate right-to-left and left-to-right. 2346 * @protected 2347 * @param {Number} [a] - The left side operand. 2348 * @param {String} [o] - The operator. 2349 * @param {Number} [b] - The right side operand. 2350 */ 2351 Owl.prototype.op = function (a, o, b) { 2352 var rtl = this.settings.rtl; 2353 switch (o) { 2354 case "<": 2355 return rtl ? a > b : a < b; 2356 case ">": 2357 return rtl ? a < b : a > b; 2358 case ">=": 2359 return rtl ? a <= b : a >= b; 2360 case "<=": 2361 return rtl ? a >= b : a <= b; 2362 default: 2363 break; 2364 } 2365 }; 2366 2367 /** 2368 * Attaches to an internal event. 2369 * @protected 2370 * @param {HTMLElement} element - The event source. 2371 * @param {String} event - The event name. 2372 * @param {Function} listener - The event handler to attach. 2373 * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not. 2374 */ 2375 Owl.prototype.on = function (element, event, listener, capture) { 2376 if (element.addEventListener) { 2377 element.addEventListener(event, listener, capture); 2378 } else if (element.attachEvent) { 2379 element.attachEvent("on" + event, listener); 2380 } 2381 }; 2382 2383 /** 2384 * Detaches from an internal event. 2385 * @protected 2386 * @param {HTMLElement} element - The event source. 2387 * @param {String} event - The event name. 2388 * @param {Function} listener - The attached event handler to detach. 2389 * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not. 2390 */ 2391 Owl.prototype.off = function (element, event, listener, capture) { 2392 if (element.removeEventListener) { 2393 element.removeEventListener(event, listener, capture); 2394 } else if (element.detachEvent) { 2395 element.detachEvent("on" + event, listener); 2396 } 2397 }; 2398 2399 /** 2400 * Triggers a public event. 2401 * @todo Remove `status`, `relatedTarget` should be used instead. 2402 * @protected 2403 * @param {String} name - The event name. 2404 * @param {*} [data=null] - The event data. 2405 * @param {String} [namespace=carousel] - The event namespace. 2406 * @param {String} [state] - The state which is associated with the event. 2407 * @param {Boolean} [enter=false] - Indicates if the call enters the specified state or not. 2408 * @returns {Event} - The event arguments. 2409 */ 2410 Owl.prototype.trigger = function (name, data, namespace, state, enter) { 2411 var status = { 2412 item: { count: this._items.length, index: this.current() }, 2413 }, 2414 handler = jq.camelCase( 2415 jq 2416 .grep(["on", name, namespace], function (v) { 2417 return v; 2418 }) 2419 .join("-") 2420 .toLowerCase() 2421 ), 2422 event = jq.Event( 2423 [name, "owl", namespace || "carousel"].join(".").toLowerCase(), 2424 jq.extend({ relatedTarget: this }, status, data) 2425 ); 2426 2427 if (!this._supress[name]) { 2428 jq.each(this._plugins, function (name, plugin) { 2429 if (plugin.onTrigger) { 2430 plugin.onTrigger(event); 2431 } 2432 }); 2433 2434 this.register({ type: Owl.Type.Event, name: name }); 2435 this.jqelement.trigger(event); 2436 2437 if (this.settings && typeof this.settings[handler] === "function") { 2438 this.settings[handler].call(this, event); 2439 } 2440 } 2441 2442 return event; 2443 }; 2444 2445 /** 2446 * Enters a state. 2447 * @param name - The state name. 2448 */ 2449 Owl.prototype.enter = function (name) { 2450 jq.each( 2451 [name].concat(this._states.tags[name] || []), 2452 jq.proxy(function (i, name) { 2453 if (this._states.current[name] === undefined) { 2454 this._states.current[name] = 0; 2455 } 2456 2457 this._states.current[name]++; 2458 }, this) 2459 ); 2460 }; 2461 2462 /** 2463 * Leaves a state. 2464 * @param name - The state name. 2465 */ 2466 Owl.prototype.leave = function (name) { 2467 jq.each( 2468 [name].concat(this._states.tags[name] || []), 2469 jq.proxy(function (i, name) { 2470 this._states.current[name]--; 2471 }, this) 2472 ); 2473 }; 2474 2475 /** 2476 * Registers an event or state. 2477 * @public 2478 * @param {Object} object - The event or state to register. 2479 */ 2480 Owl.prototype.register = function (object) { 2481 if (object.type === Owl.Type.Event) { 2482 if (!jq.event.special[object.name]) { 2483 jq.event.special[object.name] = {}; 2484 } 2485 2486 if (!jq.event.special[object.name].owl) { 2487 var _default = jq.event.special[object.name]._default; 2488 jq.event.special[object.name]._default = function (e) { 2489 if ( 2490 _default && 2491 _default.apply && 2492 (!e.namespace || e.namespace.indexOf("owl") === -1) 2493 ) { 2494 return _default.apply(this, arguments); 2495 } 2496 return e.namespace && e.namespace.indexOf("owl") > -1; 2497 }; 2498 jq.event.special[object.name].owl = true; 2499 } 2500 } else if (object.type === Owl.Type.State) { 2501 if (!this._states.tags[object.name]) { 2502 this._states.tags[object.name] = object.tags; 2503 } else { 2504 this._states.tags[object.name] = this._states.tags[ 2505 object.name 2506 ].concat(object.tags); 2507 } 2508 2509 this._states.tags[object.name] = jq.grep( 2510 this._states.tags[object.name], 2511 jq.proxy(function (tag, i) { 2512 return ( 2513 jq.inArray(tag, this._states.tags[object.name]) === i 2514 ); 2515 }, this) 2516 ); 2517 } 2518 }; 2519 2520 /** 2521 * Suppresses events. 2522 * @protected 2523 * @param {Array.<String>} events - The events to suppress. 2524 */ 2525 Owl.prototype.suppress = function (events) { 2526 jq.each( 2527 events, 2528 jq.proxy(function (index, event) { 2529 this._supress[event] = true; 2530 }, this) 2531 ); 2532 }; 2533 2534 /** 2535 * Releases suppressed events. 2536 * @protected 2537 * @param {Array.<String>} events - The events to release. 2538 */ 2539 Owl.prototype.release = function (events) { 2540 jq.each( 2541 events, 2542 jq.proxy(function (index, event) { 2543 delete this._supress[event]; 2544 }, this) 2545 ); 2546 }; 2547 2548 /** 2549 * Gets unified pointer coordinates from event. 2550 * @todo #261 2551 * @protected 2552 * @param {Event} - The `mousedown` or `touchstart` event. 2553 * @returns {Object} - Contains `x` and `y` coordinates of current pointer position. 2554 */ 2555 Owl.prototype.pointer = function (event) { 2556 var result = { x: null, y: null }; 2557 2558 event = event.originalEvent || event || window.event; 2559 2560 event = 2561 event.touches && event.touches.length 2562 ? event.touches[0] 2563 : event.changedTouches && event.changedTouches.length 2564 ? event.changedTouches[0] 2565 : event; 2566 2567 if (event.pageX) { 2568 result.x = event.pageX; 2569 result.y = event.pageY; 2570 } else { 2571 result.x = event.clientX; 2572 result.y = event.clientY; 2573 } 2574 2575 return result; 2576 }; 2577 2578 /** 2579 * Determines if the input is a Number or something that can be coerced to a Number 2580 * @protected 2581 * @param {Number|String|Object|Array|Boolean|RegExp|Function|Symbol} - The input to be tested 2582 * @returns {Boolean} - An indication if the input is a Number or can be coerced to a Number 2583 */ 2584 Owl.prototype.isNumeric = function (number) { 2585 return !isNaN(parseFloat(number)); 2586 }; 2587 2588 /** 2589 * Gets the difference of two vectors. 2590 * @todo #261 2591 * @protected 2592 * @param {Object} - The first vector. 2593 * @param {Object} - The second vector. 2594 * @returns {Object} - The difference. 2595 */ 2596 Owl.prototype.difference = function (first, second) { 2597 return { 2598 x: first.x - second.x, 2599 y: first.y - second.y, 2600 }; 2601 }; 2602 2603 /** 2604 * The jq Plugin for the Owl Carousel 2605 * @todo Navigation plugin `next` and `prev` 2606 * @public 2607 */ 2608 jq.fn.owlCarousel = function (option) { 2609 var args = Array.prototype.slice.call(arguments, 1); 2610 2611 return this.each(function () { 2612 var jqthis = jq(this), 2613 data = jqthis.data("owl.carousel"); 2614 2615 if (!data) { 2616 data = new Owl(this, typeof option == "object" && option); 2617 jqthis.data("owl.carousel", data); 2618 2619 jq.each( 2620 [ 2621 "next", 2622 "prev", 2623 "to", 2624 "destroy", 2625 "refresh", 2626 "replace", 2627 "add", 2628 "remove", 2629 ], 2630 function (i, event) { 2631 data.register({ type: Owl.Type.Event, name: event }); 2632 data.jqelement.on( 2633 event + ".owl.carousel.core", 2634 jq.proxy(function (e) { 2635 if (e.namespace && e.relatedTarget !== this) { 2636 this.suppress([event]);
vendor: 4,073 bytes, lines 2637-2791
2637 data[event].apply( 2638 this, 2639 [].slice.call(arguments, 1) 2640 ); 2641 this.release([event]); 2642 } 2643 }, data) 2644 ); 2645 } 2646 ); 2647 } 2648 2649 if (typeof option == "string" && option.charAt(0) !== "_") { 2650 data[option].apply(data, args); 2651 } 2652 }); 2653 }; 2654 2655 /** 2656 * The constructor for the jq Plugin 2657 * @public 2658 */ 2659 jq.fn.owlCarousel.Constructor = Owl; 2660})(window.Zepto || window.jq, window, document); 2661 2662/** 2663 * AutoRefresh Plugin 2664 * @version 2.3.4 2665 * @author Artus Kolanowski 2666 * @author David Deutsch 2667 * @license The MIT License (MIT) 2668 */ 2669(function (jq, window, document, undefined) { 2670 /** 2671 * Creates the auto refresh plugin. 2672 * @class The Auto Refresh Plugin 2673 * @param {Owl} carousel - The Owl Carousel 2674 */ 2675 var AutoRefresh = function (carousel) { 2676 /** 2677 * Reference to the core. 2678 * @protected 2679 * @type {Owl} 2680 */ 2681 this._core = carousel; 2682 2683 /** 2684 * Refresh interval. 2685 * @protected 2686 * @type {number} 2687 */ 2688 this._interval = null; 2689 2690 /** 2691 * Whether the element is currently visible or not. 2692 * @protected 2693 * @type {Boolean} 2694 */ 2695 this._visible = null; 2696 2697 /** 2698 * All event handlers. 2699 * @protected 2700 * @type {Object} 2701 */ 2702 this._handlers = { 2703 "initialized.owl.carousel": jq.proxy(function (e) { 2704 if (e.namespace && this._core.settings.autoRefresh) { 2705 this.watch(); 2706 } 2707 }, this), 2708 }; 2709 2710 // set default options 2711 this._core.options = jq.extend( 2712 {}, 2713 AutoRefresh.Defaults, 2714 this._core.options 2715 ); 2716 2717 // register event handlers 2718 this._core.jqelement.on(this._handlers); 2719 }; 2720 2721 /** 2722 * Default options. 2723 * @public 2724 */ 2725 AutoRefresh.Defaults = { 2726 autoRefresh: true, 2727 autoRefreshInterval: 500, 2728 }; 2729 2730 /** 2731 * Watches the element. 2732 */ 2733 AutoRefresh.prototype.watch = function () { 2734 if (this._interval) { 2735 return; 2736 } 2737 2738 this._visible = this._core.isVisible(); 2739 this._interval = window.setInterval( 2740 jq.proxy(this.refresh, this), 2741 this._core.settings.autoRefreshInterval 2742 ); 2743 }; 2744 2745 /** 2746 * Refreshes the element. 2747 */ 2748 AutoRefresh.prototype.refresh = function () { 2749 if (this._core.isVisible() === this._visible) { 2750 return; 2751 } 2752 2753 this._visible = !this._visible; 2754 2755 this._core.jqelement.toggleClass("owl-hidden", !this._visible); 2756 2757 this._visible && this._core.invalidate("width") && this._core.refresh(); 2758 }; 2759 2760 /** 2761 * Destroys the plugin. 2762 */ 2763 AutoRefresh.prototype.destroy = function () { 2764 var handler, property; 2765 2766 window.clearInterval(this._interval); 2767 2768 for (handler in this._handlers) { 2769 this._core.jqelement.off(handler, this._handlers[handler]); 2770 } 2771 for (property in Object.getOwnPropertyNames(this)) { 2772 typeof this[property] != "function" && (this[property] = null); 2773 } 2774 }; 2775 2776 jq.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh; 2777})(window.Zepto || window.jq, window, document); 2778 2779/** 2780 * Lazy Plugin 2781 * @version 2.3.4 2782 * @author Bartosz Wojciechowski 2783 * @author David Deutsch 2784 * @license The MIT License (MIT) 2785 */ 2786(function (jq, window, document, undefined) { 2787 /** 2788 * Creates the lazy plugin. 2789 * @class The Lazy Plugin 2790 * @param {Owl} carousel - The Owl Carousel 2791 */
2792 var Lazy = function (carousel) { 2793 /** 2794 * Reference to the core. 2795 * @protected 2796 * @type {Owl} 2797 */ 2798 this._core = carousel; 2799 2800 /** 2801 * Already loaded items. 2802 * @protected 2803 * @type {Array.<jq>} 2804 */ 2805 this._loaded = []; 2806 2807 /** 2808 * Event handlers. 2809 * @protected 2810 * @type {Object} 2811 */ 2812 this._handlers = { 2813 "initialized.owl.carousel change.owl.carousel resized.owl.carousel": jq.proxy( 2814 function (e) { 2815 if (!e.namespace) { 2816 return; 2817 } 2818 2819 if (!this._core.settings || !this._core.settings.lazyLoad) { 2820 return; 2821 } 2822 2823 if ( 2824 (e.property && e.property.name == "position") || 2825 e.type == "initialized" 2826 ) { 2827 var settings = this._core.settings, 2828 n = 2829 (settings.center && 2830 Math.ceil(settings.items / 2)) || 2831 settings.items, 2832 i = (settings.center && n * -1) || 0, 2833 position = 2834 (e.property && e.property.value !== undefined 2835 ? e.property.value 2836 : this._core.current()) + i, 2837 clones = this._core.clones().length, 2838 load = jq.proxy(function (i, v) { 2839 this.load(v); 2840 }, this); 2841 //TODO: Need documentation for this new option 2842 if (settings.lazyLoadEager > 0) { 2843 n += settings.lazyLoadEager; 2844 // If the carousel is looping also preload images that are to the "left" 2845 if (settings.loop) { 2846 position -= settings.lazyLoadEager; 2847 n++; 2848 } 2849 } 2850 2851 while (i++ < n) { 2852 this.load( 2853 clones / 2 + this._core.relative(position) 2854 ); 2855 clones && 2856 jq.each( 2857 this._core.clones( 2858 this._core.relative(position) 2859 ), 2860 load 2861 ); 2862 position++; 2863 } 2864 } 2865 }, 2866 this 2867 ), 2868 }; 2869 2870 // set the default options 2871 this._core.options = jq.extend({}, Lazy.Defaults, this._core.options); 2872 2873 // register event handler 2874 this._core.jqelement.on(this._handlers); 2875 }; 2876 2877 /** 2878 * Default options. 2879 * @public 2880 */ 2881 Lazy.Defaults = { 2882 lazyLoad: false, 2883 lazyLoadEager: 0, 2884 }; 2885 2886 /** 2887 * Loads all resources of an item at the specified position. 2888 * @param {Number} position - The absolute position of the item. 2889 * @protected 2890 */ 2891 Lazy.prototype.load = function (position) { 2892 var jqitem = this._core.jqstage.children().eq(position), 2893 jqelements = jqitem && jqitem.find(".owl-lazy"); 2894 2895 if (!jqelements || jq.inArray(jqitem.get(0), this._loaded) > -1) { 2896 return; 2897 } 2898 2899 jqelements.each( 2900 jq.proxy(function (index, element) { 2901 var jqelement = jq(element), 2902 image, 2903 url = 2904 (window.devicePixelRatio > 1 && 2905 jqelement.attr("data-src-retina")) || 2906 jqelement.attr("data-src") || 2907 jqelement.attr("data-srcset"); 2908 2909 this._core.trigger( 2910 "load", 2911 { element: jqelement, url: url }, 2912 "lazy" 2913 ); 2914 2915 if (jqelement.is("img")) { 2916 jqelement 2917 .one( 2918 "load.owl.lazy", 2919 jq.proxy(function () { 2920 jqelement.css("opacity", 1); 2921 this._core.trigger( 2922 "loaded", 2923 { element: jqelement, url: url }, 2924 "lazy" 2925 ); 2926 }, this) 2927 ) 2928 .attr("src", url); 2929 } else if (jqelement.is("source")) { 2930 jqelement 2931 .one( 2932 "load.owl.lazy", 2933 jq.proxy(function () { 2934 this._core.trigger( 2935 "loaded", 2936 { element: jqelement, url: url }, 2937 "lazy" 2938 ); 2939 }, this) 2940 ) 2941 .attr("srcset", url); 2942 } else { 2943 image = new Image(); 2944 image.onload = jq.proxy(function () { 2945 jqelement.css({ 2946 "background-image": 'url("' + url + '")', 2947 opacity: "1", 2948 }); 2949 this._core.trigger( 2950 "loaded", 2951 { element: jqelement, url: url }, 2952 "lazy" 2953 ); 2954 }, this); 2955 image.src = url; 2956 } 2957 }, this) 2958 ); 2959 2960 this._loaded.push(jqitem.get(0)); 2961 }; 2962 2963 /** 2964 * Destroys the plugin. 2965 * @public 2966 */ 2967 Lazy.prototype.destroy = function () { 2968 var handler, property; 2969 2970 for (handler in this.handlers) { 2971 this._core.jqelement.off(handler, this.handlers[handler]); 2972 } 2973 for (property in Object.getOwnPropertyNames(this)) { 2974 typeof this[property] != "function" && (this[property] = null); 2975 } 2976 }; 2977
vendor: 4,970 bytes, lines 2978-3140
2978 jq.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy; 2979})(window.Zepto || window.jq, window, document); 2980 2981/** 2982 * AutoHeight Plugin 2983 * @version 2.3.4 2984 * @author Bartosz Wojciechowski 2985 * @author David Deutsch 2986 * @license The MIT License (MIT) 2987 */ 2988(function (jq, window, document, undefined) { 2989 /** 2990 * Creates the auto height plugin. 2991 * @class The Auto Height Plugin 2992 * @param {Owl} carousel - The Owl Carousel 2993 */ 2994 var AutoHeight = function (carousel) { 2995 /** 2996 * Reference to the core. 2997 * @protected 2998 * @type {Owl} 2999 */ 3000 this._core = carousel; 3001 3002 this._previousHeight = null; 3003 3004 /** 3005 * All event handlers. 3006 * @protected 3007 * @type {Object} 3008 */ 3009 this._handlers = { 3010 "initialized.owl.carousel refreshed.owl.carousel": jq.proxy( 3011 function (e) { 3012 if (e.namespace && this._core.settings.autoHeight) { 3013 this.update(); 3014 } 3015 }, 3016 this 3017 ), 3018 "changed.owl.carousel": jq.proxy(function (e) { 3019 if ( 3020 e.namespace && 3021 this._core.settings.autoHeight && 3022 e.property.name === "position" 3023 ) { 3024 this.update(); 3025 } 3026 }, this), 3027 "loaded.owl.lazy": jq.proxy(function (e) { 3028 if ( 3029 e.namespace && 3030 this._core.settings.autoHeight && 3031 e.element 3032 .closest("." + this._core.settings.itemClass) 3033 .index() === this._core.current() 3034 ) { 3035 this.update(); 3036 } 3037 }, this), 3038 }; 3039 3040 // set default options 3041 this._core.options = jq.extend( 3042 {}, 3043 AutoHeight.Defaults, 3044 this._core.options 3045 ); 3046 3047 // register event handlers 3048 this._core.jqelement.on(this._handlers); 3049 this._intervalId = null; 3050 var refThis = this; 3051 3052 // These changes have been taken from a PR by gavrochelegnou proposed in #1575 3053 // and have been made compatible with the latest jq version 3054 jq(window).on("load", function () { 3055 if (refThis._core.settings.autoHeight) { 3056 refThis.update(); 3057 } 3058 }); 3059 3060 // Autoresize the height of the carousel when window is resized 3061 // When carousel has images, the height is dependent on the width 3062 // and should also change on resize 3063 jq(window).resize(function () { 3064 if (refThis._core.settings.autoHeight) { 3065 if (refThis._intervalId != null) { 3066 clearTimeout(refThis._intervalId); 3067 } 3068 3069 refThis._intervalId = setTimeout(function () { 3070 refThis.update(); 3071 }, 250); 3072 } 3073 }); 3074 }; 3075 3076 /** 3077 * Default options. 3078 * @public 3079 */ 3080 AutoHeight.Defaults = { 3081 autoHeight: false, 3082 autoHeightClass: "owl-height", 3083 }; 3084 3085 /** 3086 * Updates the view. 3087 */ 3088 AutoHeight.prototype.update = function () { 3089 var start = this._core._current, 3090 end = start + this._core.settings.items, 3091 lazyLoadEnabled = this._core.settings.lazyLoad, 3092 visible = this._core.jqstage.children().toArray().slice(start, end), 3093 heights = [], 3094 maxheight = 0; 3095 3096 jq.each(visible, function (index, item) { 3097 heights.push(jq(item).height()); 3098 }); 3099 3100 maxheight = Math.max.apply(null, heights); 3101 3102 if (maxheight <= 1 && lazyLoadEnabled && this._previousHeight) { 3103 maxheight = this._previousHeight; 3104 } 3105 3106 this._previousHeight = maxheight; 3107 3108 this._core.jqstage 3109 .parent() 3110 .height(maxheight) 3111 .addClass(this._core.settings.autoHeightClass); 3112 }; 3113 3114 AutoHeight.prototype.destroy = function () { 3115 var handler, property; 3116 3117 for (handler in this._handlers) { 3118 this._core.jqelement.off(handler, this._handlers[handler]); 3119 } 3120 for (property in Object.getOwnPropertyNames(this)) { 3121 typeof this[property] !== "function" && (this[property] = null); 3122 } 3123 }; 3124 3125 jq.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight; 3126})(window.Zepto || window.jq, window, document); 3127 3128/** 3129 * Video Plugin 3130 * @version 2.3.4 3131 * @author Bartosz Wojciechowski 3132 * @author David Deutsch 3133 * @license The MIT License (MIT) 3134 */ 3135(function (jq, window, document, undefined) { 3136 /** 3137 * Creates the video plugin. 3138 * @class The Video Plugin 3139 * @param {Owl} carousel - The Owl Carousel 3140 */
3141 var Video = function (carousel) { 3142 /** 3143 * Reference to the core. 3144 * @protected 3145 * @type {Owl} 3146 */ 3147 this._core = carousel; 3148 3149 /** 3150 * Cache all video URLs. 3151 * @protected 3152 * @type {Object} 3153 */ 3154 this._videos = {}; 3155 3156 /** 3157 * Current playing item. 3158 * @protected 3159 * @type {jq} 3160 */ 3161 this._playing = null; 3162 3163 /** 3164 * All event handlers. 3165 * @todo The cloned content removale is too late 3166 * @protected 3167 * @type {Object} 3168 */ 3169 this._handlers = { 3170 "initialized.owl.carousel": jq.proxy(function (e) { 3171 if (e.namespace) { 3172 this._core.register({ 3173 type: "state", 3174 name: "playing", 3175 tags: ["interacting"], 3176 }); 3177 } 3178 }, this), 3179 "resize.owl.carousel": jq.proxy(function (e) { 3180 if ( 3181 e.namespace && 3182 this._core.settings.video && 3183 this.isInFullScreen() 3184 ) { 3185 e.preventDefault(); 3186 } 3187 }, this), 3188 "refreshed.owl.carousel": jq.proxy(function (e) { 3189 if (e.namespace && this._core.is("resizing")) { 3190 this._core.jqstage 3191 .find(".cloned .owl-video-frame") 3192 .remove(); 3193 } 3194 }, this), 3195 "changed.owl.carousel": jq.proxy(function (e) { 3196 if ( 3197 e.namespace && 3198 e.property.name === "position" && 3199 this._playing 3200 ) { 3201 this.stop(); 3202 } 3203 }, this), 3204 "prepared.owl.carousel": jq.proxy(function (e) { 3205 if (!e.namespace) { 3206 return; 3207 } 3208 3209 var jqelement = jq(e.content).find(".owl-video"); 3210 3211 if (jqelement.length) { 3212 jqelement.css("display", "none"); 3213 this.fetch(jqelement, jq(e.content)); 3214 } 3215 }, this), 3216 }; 3217 3218 // set default options 3219 this._core.options = jq.extend({}, Video.Defaults, this._core.options); 3220 3221 // register event handlers 3222 this._core.jqelement.on(this._handlers); 3223 3224 this._core.jqelement.on( 3225 "click.owl.video", 3226 ".owl-video-play-icon", 3227 jq.proxy(function (e) { 3228 this.play(e); 3229 }, this) 3230 ); 3231 }; 3232 3233 /** 3234 * Default options. 3235 * @public 3236 */ 3237 Video.Defaults = { 3238 video: false, 3239 videoHeight: false, 3240 videoWidth: false, 3241 }; 3242 3243 /** 3244 * Gets the video ID and the type (YouTube/Vimeo/vzaar only). 3245 * @protected 3246 * @param {jq} target - The target containing the video data. 3247 * @param {jq} item - The item containing the video. 3248 */ 3249 Video.prototype.fetch = function (target, item) { 3250 var type = (function () { 3251 if (target.attr("data-vimeo-id")) { 3252 return "vimeo"; 3253 } else if (target.attr("data-vzaar-id")) { 3254 return "vzaar"; 3255 } else { 3256 return "youtube"; 3257 } 3258 })(), 3259 id = 3260 target.attr("data-vimeo-id") || 3261 target.attr("data-youtube-id") || 3262 target.attr("data-vzaar-id"), 3263 width = target.attr("data-width") || this._core.settings.videoWidth, 3264 height = 3265 target.attr("data-height") || this._core.settings.videoHeight, 3266 url = target.attr("href"); 3267 3268 if (url) { 3269 /* 3270 Parses the id's out of the following urls (and probably more): 3271 https://www.youtube.com/watch?v=:id 3272 https://youtu.be/:id 3273 https://vimeo.com/:id 3274 https://vimeo.com/channels/:channel/:id 3275 https://vimeo.com/groups/:group/videos/:id 3276 https://app.vzaar.com/videos/:id 3277 3278 Visual example: https://regexper.com/#(http%3A%7Chttps%3A%7C)%5C%2F%5C%2F(player.%7Cwww.%7Capp.)%3F(vimeo%5C.com%7Cyoutu(be%5C.com%7C%5C.be%7Cbe%5C.googleapis%5C.com)%7Cvzaar%5C.com)%5C%2F(video%5C%2F%7Cvideos%5C%2F%7Cembed%5C%2F%7Cchannels%5C%2F.%2B%5C%2F%7Cgroups%5C%2F.%2B%5C%2F%7Cwatch%5C%3Fv%3D%7Cv%5C%2F)%3F(%5BA-Za-z0-9._%25-%5D*)(%5C%26%5CS%2B)%3F 3279 */ 3280 3281 id = url.match( 3282 /(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/ 3283 ); 3284 3285 if (id[3].indexOf("youtu") > -1) { 3286 type = "youtube"; 3287 } else if (id[3].indexOf("vimeo") > -1) { 3288 type = "vimeo"; 3289 } else if (id[3].indexOf("vzaar") > -1) { 3290 type = "vzaar"; 3291 } else { 3292 throw new Error("Video URL not supported."); 3293 } 3294 id = id[6]; 3295 } else { 3296 throw new Error("Missing video URL."); 3297 } 3298 3299 this._videos[url] = { 3300 type: type, 3301 id: id, 3302 width: width, 3303 height: height, 3304 }; 3305 3306 item.attr("data-video", url); 3307 3308 this.thumbnail(target, this._videos[url]);
vendor: 14,696 bytes, lines 3309-3779
3309 }; 3310 3311 /** 3312 * Creates video thumbnail. 3313 * @protected 3314 * @param {jq} target - The target containing the video data. 3315 * @param {Object} info - The video info object. 3316 * @see `fetch` 3317 */ 3318 Video.prototype.thumbnail = function (target, video) { 3319 var tnLink, 3320 icon, 3321 path, 3322 dimensions = 3323 video.width && video.height 3324 ? "width:" + 3325 video.width + 3326 "px;height:" + 3327 video.height + 3328 "px;" 3329 : "", 3330 customTn = target.find("img"), 3331 srcType = "src", 3332 lazyClass = "", 3333 settings = this._core.settings, 3334 create = function (path) { 3335 icon = '<div class="owl-video-play-icon"></div>'; 3336 3337 if (settings.lazyLoad) { 3338 tnLink = jq("<div/>", { 3339 class: "owl-video-tn " + lazyClass, 3340 srcType: path, 3341 }); 3342 } else { 3343 tnLink = jq("<div/>", { 3344 class: "owl-video-tn", 3345 style: "opacity:1;background-image:url(" + path + ")", 3346 }); 3347 } 3348 target.after(tnLink); 3349 target.after(icon); 3350 }; 3351 3352 // wrap video content into owl-video-wrapper div 3353 target.wrap( 3354 jq("<div/>", { 3355 class: "owl-video-wrapper", 3356 style: dimensions, 3357 }) 3358 ); 3359 3360 if (this._core.settings.lazyLoad) { 3361 srcType = "data-src"; 3362 lazyClass = "owl-lazy"; 3363 } 3364 3365 // custom thumbnail 3366 if (customTn.length) { 3367 create(customTn.attr(srcType)); 3368 customTn.remove(); 3369 return false; 3370 } 3371 3372 if (video.type === "youtube") { 3373 path = "//img.youtube.com/vi/" + video.id + "/hqdefault.jpg"; 3374 create(path); 3375 } else if (video.type === "vimeo") { 3376 jq.ajax({ 3377 type: "GET", 3378 url: "//vimeo.com/api/v2/video/" + video.id + ".json", 3379 jsonp: "callback", 3380 dataType: "jsonp", 3381 success: function (data) { 3382 path = data[0].thumbnail_large; 3383 create(path); 3384 }, 3385 }); 3386 } else if (video.type === "vzaar") { 3387 jq.ajax({ 3388 type: "GET", 3389 url: "//vzaar.com/api/videos/" + video.id + ".json", 3390 jsonp: "callback", 3391 dataType: "jsonp", 3392 success: function (data) { 3393 path = data.framegrab_url; 3394 create(path); 3395 }, 3396 }); 3397 } 3398 }; 3399 3400 /** 3401 * Stops the current video. 3402 * @public 3403 */ 3404 Video.prototype.stop = function () { 3405 this._core.trigger("stop", null, "video"); 3406 this._playing.find(".owl-video-frame").remove(); 3407 this._playing.removeClass("owl-video-playing"); 3408 this._playing = null; 3409 this._core.leave("playing"); 3410 this._core.trigger("stopped", null, "video"); 3411 }; 3412 3413 /** 3414 * Starts the current video. 3415 * @public 3416 * @param {Event} event - The event arguments. 3417 */ 3418 Video.prototype.play = function (event) { 3419 var target = jq(event.target), 3420 item = target.closest("." + this._core.settings.itemClass), 3421 video = this._videos[item.attr("data-video")], 3422 width = video.width || "100%", 3423 height = video.height || this._core.jqstage.height(), 3424 html, 3425 iframe; 3426 3427 if (this._playing) { 3428 return; 3429 } 3430 3431 this._core.enter("playing"); 3432 this._core.trigger("play", null, "video"); 3433 3434 item = this._core.items(this._core.relative(item.index())); 3435 3436 this._core.reset(item.index()); 3437 3438 html = jq( 3439 '<iframe frameborder="0" allowfullscreen mozallowfullscreen webkitAllowFullScreen ></iframe>' 3440 ); 3441 html.attr("height", height); 3442 html.attr("width", width); 3443 if (video.type === "youtube") { 3444 html.attr( 3445 "src", 3446 "//www.youtube.com/embed/" + 3447 video.id + 3448 "?autoplay=1&rel=0&v=" + 3449 video.id 3450 ); 3451 } else if (video.type === "vimeo") { 3452 html.attr( 3453 "src", 3454 "//player.vimeo.com/video/" + video.id + "?autoplay=1" 3455 ); 3456 } else if (video.type === "vzaar") { 3457 html.attr( 3458 "src", 3459 "//view.vzaar.com/" + video.id + "/player?autoplay=true" 3460 ); 3461 } 3462 3463 iframe = jq(html) 3464 .wrap('<div class="owl-video-frame" />') 3465 .insertAfter(item.find(".owl-video")); 3466 3467 this._playing = item.addClass("owl-video-playing"); 3468 }; 3469 3470 /** 3471 * Checks whether an video is currently in full screen mode or not. 3472 * @todo Bad style because looks like a readonly method but changes members. 3473 * @protected 3474 * @returns {Boolean} 3475 */ 3476 Video.prototype.isInFullScreen = function () { 3477 var element = 3478 document.fullscreenElement || 3479 document.mozFullScreenElement || 3480 document.webkitFullscreenElement; 3481 3482 return element && jq(element).parent().hasClass("owl-video-frame"); 3483 }; 3484 3485 /** 3486 * Destroys the plugin. 3487 */ 3488 Video.prototype.destroy = function () { 3489 var handler, property; 3490 3491 this._core.jqelement.off("click.owl.video"); 3492 3493 for (handler in this._handlers) { 3494 this._core.jqelement.off(handler, this._handlers[handler]); 3495 } 3496 for (property in Object.getOwnPropertyNames(this)) { 3497 typeof this[property] != "function" && (this[property] = null); 3498 } 3499 }; 3500 3501 jq.fn.owlCarousel.Constructor.Plugins.Video = Video; 3502})(window.Zepto || window.jq, window, document); 3503 3504/** 3505 * Animate Plugin 3506 * @version 2.3.4 3507 * @author Bartosz Wojciechowski 3508 * @author David Deutsch 3509 * @license The MIT License (MIT) 3510 */ 3511(function (jq, window, document, undefined) { 3512 /** 3513 * Creates the animate plugin. 3514 * @class The Navigation Plugin 3515 * @param {Owl} scope - The Owl Carousel 3516 */ 3517 var Animate = function (scope) { 3518 this.core = scope; 3519 this.core.options = jq.extend({}, Animate.Defaults, this.core.options); 3520 this.swapping = true; 3521 this.previous = undefined; 3522 this.next = undefined; 3523 3524 this.handlers = { 3525 "change.owl.carousel": jq.proxy(function (e) { 3526 if (e.namespace && e.property.name == "position") { 3527 this.previous = this.core.current(); 3528 this.next = e.property.value; 3529 } 3530 }, this), 3531 "drag.owl.carousel dragged.owl.carousel translated.owl.carousel": jq.proxy( 3532 function (e) { 3533 if (e.namespace) { 3534 this.swapping = e.type == "translated"; 3535 } 3536 }, 3537 this 3538 ), 3539 "translate.owl.carousel": jq.proxy(function (e) { 3540 if ( 3541 e.namespace && 3542 this.swapping && 3543 (this.core.options.animateOut || 3544 this.core.options.animateIn) 3545 ) { 3546 this.swap(); 3547 } 3548 }, this), 3549 }; 3550 3551 this.core.jqelement.on(this.handlers); 3552 }; 3553 3554 /** 3555 * Default options. 3556 * @public 3557 */ 3558 Animate.Defaults = { 3559 animateOut: false, 3560 animateIn: false, 3561 }; 3562 3563 /** 3564 * Toggles the animation classes whenever an translations starts. 3565 * @protected 3566 * @returns {Boolean|undefined} 3567 */ 3568 Animate.prototype.swap = function () { 3569 if (this.core.settings.items !== 1) { 3570 return; 3571 } 3572 3573 if (!jq.support.animation || !jq.support.transition) { 3574 return; 3575 } 3576 3577 this.core.speed(0); 3578 3579 var left, 3580 clear = jq.proxy(this.clear, this), 3581 previous = this.core.jqstage.children().eq(this.previous), 3582 next = this.core.jqstage.children().eq(this.next), 3583 incoming = this.core.settings.animateIn, 3584 outgoing = this.core.settings.animateOut; 3585 3586 if (this.core.current() === this.previous) { 3587 return; 3588 } 3589 3590 if (outgoing) { 3591 left = 3592 this.core.coordinates(this.previous) - 3593 this.core.coordinates(this.next); 3594 previous 3595 .one(jq.support.animation.end, clear) 3596 .css({ left: left + "px" }) 3597 .addClass("animated owl-animated-out") 3598 .addClass(outgoing); 3599 } 3600 3601 if (incoming) { 3602 next.one(jq.support.animation.end, clear) 3603 .addClass("animated owl-animated-in") 3604 .addClass(incoming); 3605 } 3606 }; 3607 3608 Animate.prototype.clear = function (e) { 3609 jq(e.target) 3610 .css({ left: "" }) 3611 .removeClass("animated owl-animated-out owl-animated-in") 3612 .removeClass(this.core.settings.animateIn) 3613 .removeClass(this.core.settings.animateOut); 3614 this.core.onTransitionEnd(); 3615 }; 3616 3617 /** 3618 * Destroys the plugin. 3619 * @public 3620 */ 3621 Animate.prototype.destroy = function () { 3622 var handler, property; 3623 3624 for (handler in this.handlers) { 3625 this.core.jqelement.off(handler, this.handlers[handler]); 3626 } 3627 for (property in Object.getOwnPropertyNames(this)) { 3628 typeof this[property] != "function" && (this[property] = null); 3629 } 3630 }; 3631 3632 jq.fn.owlCarousel.Constructor.Plugins.Animate = Animate; 3633})(window.Zepto || window.jq, window, document); 3634 3635/** 3636 * Autoplay Plugin 3637 * @version 2.3.4 3638 * @author Bartosz Wojciechowski 3639 * @author Artus Kolanowski 3640 * @author David Deutsch 3641 * @author Tom De Caluwé 3642 * @license The MIT License (MIT) 3643 */ 3644(function (jq, window, document, undefined) { 3645 /** 3646 * Creates the autoplay plugin. 3647 * @class The Autoplay Plugin 3648 * @param {Owl} scope - The Owl Carousel 3649 */ 3650 var Autoplay = function (carousel) { 3651 /** 3652 * Reference to the core. 3653 * @protected 3654 * @type {Owl} 3655 */ 3656 this._core = carousel; 3657 3658 /** 3659 * The autoplay timeout id. 3660 * @type {Number} 3661 */ 3662 this._call = null; 3663 3664 /** 3665 * Depending on the state of the plugin, this variable contains either 3666 * the start time of the timer or the current timer value if it's 3667 * paused. Since we start in a paused state we initialize the timer 3668 * value. 3669 * @type {Number} 3670 */ 3671 this._time = 0; 3672 3673 /** 3674 * Stores the timeout currently used. 3675 * @type {Number} 3676 */ 3677 this._timeout = 0; 3678 3679 /** 3680 * Indicates whenever the autoplay is paused. 3681 * @type {Boolean} 3682 */ 3683 this._paused = true; 3684 3685 /** 3686 * All event handlers. 3687 * @protected 3688 * @type {Object} 3689 */ 3690 this._handlers = { 3691 "changed.owl.carousel": jq.proxy(function (e) { 3692 if (e.namespace && e.property.name === "settings") { 3693 if (this._core.settings.autoplay) { 3694 this.play(); 3695 } else { 3696 this.stop(); 3697 } 3698 } else if ( 3699 e.namespace && 3700 e.property.name === "position" && 3701 this._paused 3702 ) { 3703 // Reset the timer. This code is triggered when the position 3704 // of the carousel was changed through user interaction. 3705 this._time = 0; 3706 } 3707 }, this), 3708 "initialized.owl.carousel": jq.proxy(function (e) { 3709 if (e.namespace && this._core.settings.autoplay) { 3710 this.play(); 3711 } 3712 }, this), 3713 "play.owl.autoplay": jq.proxy(function (e, t, s) { 3714 if (e.namespace) { 3715 this.play(t, s); 3716 } 3717 }, this), 3718 "stop.owl.autoplay": jq.proxy(function (e) { 3719 if (e.namespace) { 3720 this.stop(); 3721 } 3722 }, this), 3723 "mouseover.owl.autoplay": jq.proxy(function () { 3724 if ( 3725 this._core.settings.autoplayHoverPause && 3726 this._core.is("rotating") 3727 ) { 3728 this.pause(); 3729 } 3730 }, this), 3731 "mouseleave.owl.autoplay": jq.proxy(function () { 3732 if ( 3733 this._core.settings.autoplayHoverPause && 3734 this._core.is("rotating") 3735 ) { 3736 this.play(); 3737 } 3738 }, this), 3739 "touchstart.owl.core": jq.proxy(function () { 3740 if ( 3741 this._core.settings.autoplayHoverPause && 3742 this._core.is("rotating") 3743 ) { 3744 this.pause(); 3745 } 3746 }, this), 3747 "touchend.owl.core": jq.proxy(function () { 3748 if (this._core.settings.autoplayHoverPause) { 3749 this.play(); 3750 } 3751 }, this), 3752 }; 3753 3754 // register event handlers 3755 this._core.jqelement.on(this._handlers); 3756 3757 // set default options 3758 this._core.options = jq.extend( 3759 {}, 3760 Autoplay.Defaults, 3761 this._core.options 3762 ); 3763 }; 3764 3765 /** 3766 * Default options. 3767 * @public 3768 */ 3769 Autoplay.Defaults = { 3770 autoplay: false, 3771 autoplayTimeout: 5000, 3772 autoplayHoverPause: false, 3773 autoplaySpeed: false, 3774 }; 3775 3776 /** 3777 * Transition to the next slide and set a timeout for the next transition. 3778 * @private 3779 * @param {Number}
vendor: 18,002 bytes, lines 3779-4347
3779 [speed] - The animation speed for the animations. 3780 */ 3781 Autoplay.prototype._next = function (speed) { 3782 this._call = window.setTimeout( 3783 jq.proxy(this._next, this, speed), 3784 this._timeout * (Math.round(this.read() / this._timeout) + 1) - 3785 this.read() 3786 ); 3787 3788 if (this._core.is("interacting") || document.hidden) { 3789 return; 3790 } 3791 this._core.next(speed || this._core.settings.autoplaySpeed); 3792 }; 3793 3794 /** 3795 * Reads the current timer value when the timer is playing. 3796 * @public 3797 */ 3798 Autoplay.prototype.read = function () { 3799 return new Date().getTime() - this._time; 3800 }; 3801 3802 /** 3803 * Starts the autoplay. 3804 * @public 3805 * @param {Number} [timeout] - The interval before the next animation starts. 3806 * @param {Number} [speed] - The animation speed for the animations. 3807 */ 3808 Autoplay.prototype.play = function (timeout, speed) { 3809 var elapsed; 3810 3811 if (!this._core.is("rotating")) { 3812 this._core.enter("rotating"); 3813 } 3814 3815 timeout = timeout || this._core.settings.autoplayTimeout; 3816 3817 // Calculate the elapsed time since the last transition. If the carousel 3818 // wasn't playing this calculation will yield zero. 3819 elapsed = Math.min(this._time % (this._timeout || timeout), timeout); 3820 3821 if (this._paused) { 3822 // Start the clock. 3823 this._time = this.read(); 3824 this._paused = false; 3825 } else { 3826 // Clear the active timeout to allow replacement. 3827 window.clearTimeout(this._call); 3828 } 3829 3830 // Adjust the origin of the timer to match the new timeout value. 3831 this._time += (this.read() % timeout) - elapsed; 3832 3833 this._timeout = timeout; 3834 this._call = window.setTimeout( 3835 jq.proxy(this._next, this, speed), 3836 timeout - elapsed 3837 ); 3838 }; 3839 3840 /** 3841 * Stops the autoplay. 3842 * @public 3843 */ 3844 Autoplay.prototype.stop = function () { 3845 if (this._core.is("rotating")) { 3846 // Reset the clock. 3847 this._time = 0; 3848 this._paused = true; 3849 3850 window.clearTimeout(this._call); 3851 this._core.leave("rotating"); 3852 } 3853 }; 3854 3855 /** 3856 * Pauses the autoplay. 3857 * @public 3858 */ 3859 Autoplay.prototype.pause = function () { 3860 if (this._core.is("rotating") && !this._paused) { 3861 // Pause the clock. 3862 this._time = this.read(); 3863 this._paused = true; 3864 3865 window.clearTimeout(this._call); 3866 } 3867 }; 3868 3869 /** 3870 * Destroys the plugin. 3871 */ 3872 Autoplay.prototype.destroy = function () { 3873 var handler, property; 3874 3875 this.stop(); 3876 3877 for (handler in this._handlers) { 3878 this._core.jqelement.off(handler, this._handlers[handler]); 3879 } 3880 for (property in Object.getOwnPropertyNames(this)) { 3881 typeof this[property] != "function" && (this[property] = null); 3882 } 3883 }; 3884 3885 jq.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay; 3886})(window.Zepto || window.jq, window, document); 3887 3888/** 3889 * Navigation Plugin 3890 * @version 2.3.4 3891 * @author Artus Kolanowski 3892 * @author David Deutsch 3893 * @license The MIT License (MIT) 3894 */ 3895(function (jq, window, document, undefined) { 3896 "use strict"; 3897 3898 /** 3899 * Creates the navigation plugin. 3900 * @class The Navigation Plugin 3901 * @param {Owl} carousel - The Owl Carousel. 3902 */ 3903 var Navigation = function (carousel) { 3904 /** 3905 * Reference to the core. 3906 * @protected 3907 * @type {Owl} 3908 */ 3909 this._core = carousel; 3910 3911 /** 3912 * Indicates whether the plugin is initialized or not. 3913 * @protected 3914 * @type {Boolean} 3915 */ 3916 this._initialized = false; 3917 3918 /** 3919 * The current paging indexes. 3920 * @protected 3921 * @type {Array} 3922 */ 3923 this._pages = []; 3924 3925 /** 3926 * All DOM elements of the user interface. 3927 * @protected 3928 * @type {Object} 3929 */ 3930 this._controls = {}; 3931 3932 /** 3933 * Markup for an indicator. 3934 * @protected 3935 * @type {Array.<String>} 3936 */ 3937 this._templates = []; 3938 3939 /** 3940 * The carousel element. 3941 * @type {jq} 3942 */ 3943 this.jqelement = this._core.jqelement; 3944 3945 /** 3946 * Overridden methods of the carousel. 3947 * @protected 3948 * @type {Object} 3949 */ 3950 this._overrides = { 3951 next: this._core.next, 3952 prev: this._core.prev, 3953 to: this._core.to, 3954 }; 3955 3956 /** 3957 * All event handlers. 3958 * @protected 3959 * @type {Object} 3960 */ 3961 this._handlers = { 3962 "prepared.owl.carousel": jq.proxy(function (e) { 3963 if (e.namespace && this._core.settings.dotsData) { 3964 this._templates.push( 3965 '<div class="' + 3966 this._core.settings.dotClass + 3967 '">' + 3968 jq(e.content) 3969 .find("[data-dot]") 3970 .addBack("[data-dot]") 3971 .attr("data-dot") + 3972 "</div>" 3973 ); 3974 } 3975 }, this), 3976 "added.owl.carousel": jq.proxy(function (e) { 3977 if (e.namespace && this._core.settings.dotsData) { 3978 this._templates.splice( 3979 e.position, 3980 0, 3981 this._templates.pop() 3982 ); 3983 } 3984 }, this), 3985 "remove.owl.carousel": jq.proxy(function (e) { 3986 if (e.namespace && this._core.settings.dotsData) { 3987 this._templates.splice(e.position, 1); 3988 } 3989 }, this), 3990 "changed.owl.carousel": jq.proxy(function (e) { 3991 if (e.namespace && e.property.name == "position") { 3992 this.draw(); 3993 } 3994 }, this), 3995 "initialized.owl.carousel": jq.proxy(function (e) { 3996 if (e.namespace && !this._initialized) { 3997 this._core.trigger("initialize", null, "navigation"); 3998 this.initialize(); 3999 this.update(); 4000 this.draw(); 4001 this._initialized = true; 4002 this._core.trigger("initialized", null, "navigation"); 4003 } 4004 }, this), 4005 "refreshed.owl.carousel": jq.proxy(function (e) { 4006 if (e.namespace && this._initialized) { 4007 this._core.trigger("refresh", null, "navigation"); 4008 this.update(); 4009 this.draw(); 4010 this._core.trigger("refreshed", null, "navigation"); 4011 } 4012 }, this), 4013 }; 4014 4015 // set default options 4016 this._core.options = jq.extend( 4017 {}, 4018 Navigation.Defaults, 4019 this._core.options 4020 ); 4021 4022 // register event handlers 4023 this.jqelement.on(this._handlers); 4024 }; 4025 4026 /** 4027 * Default options. 4028 * @public 4029 * @todo Rename `slideBy` to `navBy` 4030 */ 4031 Navigation.Defaults = { 4032 nav: false, 4033 navText: [ 4034 '<span aria-label="Previous"><i class="xi-angle-left" aria-hidden="true"></i></span>', 4035 '<span aria-label="Next"><i class="xi-angle-right" aria-hidden="true"></i></span>', 4036 ], 4037 navSpeed: false, 4038 navElement: 'button type="button" role="presentation"', 4039 navContainer: false, 4040 navContainerClass: "owl-nav", 4041 navClass: ["owl-prev", "owl-next"], 4042 slideBy: 1, 4043 dotClass: "owl-dot", 4044 dotsClass: "owl-dots", 4045 dots: true, 4046 dotsEach: false, 4047 dotsData: false, 4048 dotsSpeed: false, 4049 dotsContainer: false, 4050 }; 4051 4052 /** 4053 * Initializes the layout of the plugin and extends the carousel. 4054 * @protected 4055 */ 4056 Navigation.prototype.initialize = function () { 4057 var override, 4058 settings = this._core.settings; 4059 4060 // create DOM structure for relative navigation 4061 this._controls.jqrelative = (settings.navContainer 4062 ? jq(settings.navContainer) 4063 : jq("<div>") 4064 .addClass(settings.navContainerClass) 4065 .appendTo(this.jqelement) 4066 ).addClass("disabled"); 4067 4068 this._controls.jqprevious = jq("<" + settings.navElement + ">") 4069 .addClass(settings.navClass[0]) 4070 .html(settings.navText[0]) 4071 .prependTo(this._controls.jqrelative) 4072 .on( 4073 "click", 4074 jq.proxy(function (e) { 4075 this.prev(settings.navSpeed); 4076 }, this) 4077 ); 4078 this._controls.jqnext = jq("<" + settings.navElement + ">") 4079 .addClass(settings.navClass[1]) 4080 .html(settings.navText[1]) 4081 .appendTo(this._controls.jqrelative) 4082 .on( 4083 "click", 4084 jq.proxy(function (e) { 4085 this.next(settings.navSpeed); 4086 }, this) 4087 ); 4088 4089 // create DOM structure for absolute navigation 4090 if (!settings.dotsData) { 4091 this._templates = [ 4092 jq('<button role="button">') 4093 .addClass(settings.dotClass) 4094 .append(jq("<span>")) 4095 .prop("outerHTML"), 4096 ]; 4097 } 4098 4099 this._controls.jqabsolute = (settings.dotsContainer 4100 ? jq(settings.dotsContainer) 4101 : jq("<div>").addClass(settings.dotsClass).appendTo(this.jqelement) 4102 ).addClass("disabled"); 4103 4104 this._controls.jqabsolute.on( 4105 "click", 4106 "button", 4107 jq.proxy(function (e) { 4108 var index = jq(e.target).parent().is(this._controls.jqabsolute) 4109 ? jq(e.target).index() 4110 : jq(e.target).parent().index(); 4111 4112 e.preventDefault(); 4113 4114 this.to(index, settings.dotsSpeed); 4115 }, this) 4116 ); 4117 4118 /*jqel.on('focusin', function() { 4119 jq(document).off(".carousel"); 4120 4121 jq(document).on('keydown.carousel', function(e) { 4122 if(e.keyCode == 37) { 4123 jqel.trigger('prev.owl') 4124 } 4125 if(e.keyCode == 39) { 4126 jqel.trigger('next.owl') 4127 } 4128 }); 4129 });*/ 4130 4131 // override public methods of the carousel 4132 for (override in this._overrides) { 4133 this._core[override] = jq.proxy(this[override], this); 4134 } 4135 }; 4136 4137 /** 4138 * Destroys the plugin. 4139 * @protected 4140 */ 4141 Navigation.prototype.destroy = function () { 4142 var handler, control, property, override, settings; 4143 settings = this._core.settings; 4144 4145 for (handler in this._handlers) { 4146 this.jqelement.off(handler, this._handlers[handler]); 4147 } 4148 for (control in this._controls) { 4149 if (control === "jqrelative" && settings.navContainer) { 4150 this._controls[control].html(""); 4151 } else { 4152 this._controls[control].remove(); 4153 } 4154 } 4155 for (override in this.overides) { 4156 this._core[override] = this._overrides[override]; 4157 } 4158 for (property in Object.getOwnPropertyNames(this)) { 4159 typeof this[property] != "function" && (this[property] = null); 4160 } 4161 }; 4162 4163 /** 4164 * Updates the internal state. 4165 * @protected 4166 */ 4167 Navigation.prototype.update = function () { 4168 var i, 4169 j, 4170 k, 4171 lower = this._core.clones().length / 2, 4172 upper = lower + this._core.items().length, 4173 maximum = this._core.maximum(true), 4174 settings = this._core.settings, 4175 size = 4176 settings.center || settings.autoWidth || settings.dotsData 4177 ? 1 4178 : settings.dotsEach || settings.items; 4179 4180 if (settings.slideBy !== "page") { 4181 settings.slideBy = Math.min(settings.slideBy, settings.items); 4182 } 4183 4184 if (settings.dots || settings.slideBy == "page") { 4185 this._pages = []; 4186 4187 for (i = lower, j = 0, k = 0; i < upper; i++) { 4188 if (j >= size || j === 0) { 4189 this._pages.push({ 4190 start: Math.min(maximum, i - lower), 4191 end: i - lower + size - 1, 4192 }); 4193 if (Math.min(maximum, i - lower) === maximum) { 4194 break; 4195 } 4196 (j = 0), ++k; 4197 } 4198 j += this._core.mergers(this._core.relative(i)); 4199 } 4200 } 4201 }; 4202 4203 /** 4204 * Draws the user interface. 4205 * @todo The option `dotsData` wont work. 4206 * @protected 4207 */ 4208 Navigation.prototype.draw = function () { 4209 var difference, 4210 settings = this._core.settings, 4211 disabled = this._core.items().length <= settings.items, 4212 index = this._core.relative(this._core.current()), 4213 loop = settings.loop || settings.rewind; 4214 4215 this._controls.jqrelative.toggleClass( 4216 "disabled", 4217 !settings.nav || disabled 4218 ); 4219 4220 if (settings.nav) { 4221 this._controls.jqprevious.toggleClass( 4222 "disabled", 4223 !loop && index <= this._core.minimum(true) 4224 ); 4225 this._controls.jqnext.toggleClass( 4226 "disabled", 4227 !loop && index >= this._core.maximum(true) 4228 ); 4229 } 4230 4231 this._controls.jqabsolute.toggleClass( 4232 "disabled", 4233 !settings.dots || disabled 4234 ); 4235 4236 if (settings.dots) { 4237 difference = 4238 this._pages.length - 4239 this._controls.jqabsolute.children().length; 4240 4241 if (settings.dotsData && difference !== 0) { 4242 this._controls.jqabsolute.html(this._templates.join("")); 4243 } else if (difference > 0) { 4244 this._controls.jqabsolute.append( 4245 new Array(difference + 1).join(this._templates[0]) 4246 ); 4247 } else if (difference < 0) { 4248 this._controls.jqabsolute.children().slice(difference).remove(); 4249 } 4250 4251 this._controls.jqabsolute.find(".active").removeClass("active"); 4252 this._controls.jqabsolute 4253 .children() 4254 .eq(jq.inArray(this.current(), this._pages)) 4255 .addClass("active"); 4256 } 4257 }; 4258 4259 /** 4260 * Extends event data. 4261 * @protected 4262 * @param {Event} event - The event object which gets thrown. 4263 */ 4264 Navigation.prototype.onTrigger = function (event) { 4265 var settings = this._core.settings; 4266 4267 event.page = { 4268 index: jq.inArray(this.current(), this._pages), 4269 count: this._pages.length, 4270 size: 4271 settings && 4272 (settings.center || settings.autoWidth || settings.dotsData 4273 ? 1 4274 : settings.dotsEach || settings.items), 4275 }; 4276 }; 4277 4278 /** 4279 * Gets the current page position of the carousel. 4280 * @protected 4281 * @returns {Number} 4282 */ 4283 Navigation.prototype.current = function () { 4284 var current = this._core.relative(this._core.current()); 4285 return jq 4286 .grep( 4287 this._pages, 4288 jq.proxy(function (page, index) { 4289 return page.start <= current && page.end >= current; 4290 }, this) 4291 ) 4292 .pop(); 4293 }; 4294 4295 /** 4296 * Gets the current succesor/predecessor position. 4297 * @protected 4298 * @returns {Number} 4299 */ 4300 Navigation.prototype.getPosition = function (successor) { 4301 var position, 4302 length, 4303 settings = this._core.settings; 4304 4305 if (settings.slideBy == "page") { 4306 position = jq.inArray(this.current(), this._pages); 4307 length = this._pages.length; 4308 successor ? ++position : --position; 4309 position = this._pages[((position % length) + length) % length] 4310 .start; 4311 } else { 4312 position = this._core.relative(this._core.current()); 4313 length = this._core.items().length; 4314 successor 4315 ? (position += settings.slideBy) 4316 : (position -= settings.slideBy); 4317 } 4318 4319 return position; 4320 }; 4321 4322 /** 4323 * Slides to the next item or page. 4324 * @public 4325 * @param {Number} [speed=false] - The time in milliseconds for the transition. 4326 */ 4327 Navigation.prototype.next = function (speed) { 4328 jq.proxy(this._overrides.to, this._core)(this.getPosition(true), speed); 4329 }; 4330 4331 /** 4332 * Slides to the previous item or page. 4333 * @public 4334 * @param {Number} [speed=false] - The time in milliseconds for the transition. 4335 */ 4336 Navigation.prototype.prev = function (speed) { 4337 jq.proxy(this._overrides.to, this._core)( 4338 this.getPosition(false), 4339 speed 4340 ); 4341 }; 4342 4343 /** 4344 * Slides to the specified item or page. 4345 * @public 4346 * @param {Number} position - The position of the item or page. 4347 * @param {Number}
4347 [speed] - The time in milliseconds for the transition. 4348 * @param {Boolean} [standard=false] - Whether to use the standard behaviour or not. 4349 */ 4350 Navigation.prototype.to = function (position, speed, standard) { 4351 var length; 4352 4353 if (!standard && this._pages.length) { 4354 length = this._pages.length; 4355 jq.proxy(this._overrides.to, this._core)( 4356 this._pages[((position % length) + length) % length].start, 4357 speed 4358 ); 4359 } else { 4360 jq.proxy(this._overrides.to, this._core)(position, speed); 4361 } 4362 }; 4363 4364 jq.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation; 4365})(window.Zepto || window.jq, window, document); 4366 4367/** 4368 * Hash Plugin 4369 * @version 2.3.4 4370 * @author Artus Kolanowski 4371 * @author David Deutsch 4372 * @license The MIT License (MIT) 4373 */ 4374(function (jq, window, document, undefined) { 4375 "use strict"; 4376 4377 /** 4378 * Creates the hash plugin. 4379 * @class The Hash Plugin 4380 * @param {Owl} carousel - The Owl Carousel 4381 */ 4382 var Hash = function (carousel) { 4383 /** 4384 * Reference to the core. 4385 * @protected 4386 * @type {Owl} 4387 */ 4388 this._core = carousel; 4389 4390 /** 4391 * Hash index for the items. 4392 * @protected 4393 * @type {Object} 4394 */ 4395 this._hashes = {}; 4396 4397 /** 4398 * The carousel element. 4399 * @type {jq} 4400 */ 4401 this.jqelement = this._core.jqelement; 4402 4403 /** 4404 * All event handlers. 4405 * @protected 4406 * @type {Object} 4407 */ 4408 this._handlers = { 4409 "initialized.owl.carousel": jq.proxy(function (e) { 4410 if ( 4411 e.namespace && 4412 this._core.settings.startPosition === "URLHash" 4413 ) { 4414 jq(window).trigger("hashchange.owl.navigation"); 4415 } 4416 }, this), 4417 "prepared.owl.carousel": jq.proxy(function (e) { 4418 if (e.namespace) { 4419 var hash = jq(e.content) 4420 .find("[data-hash]") 4421 .addBack("[data-hash]") 4422 .attr("data-hash"); 4423 4424 if (!hash) { 4425 return; 4426 } 4427 4428 this._hashes[hash] = e.content; 4429 } 4430 }, this), 4431 "changed.owl.carousel": jq.proxy(function (e) { 4432 if (e.namespace && e.property.name === "position") { 4433 var current = this._core.items( 4434 this._core.relative(this._core.current()) 4435 ), 4436 hash = jq 4437 .map(this._hashes, function (item, hash) { 4438 return item === current ? hash : null; 4439 }) 4440 .join(); 4441 4442 if (!hash || window.location.hash.slice(1) === hash) { 4443 return; 4444 } 4445 4446 window.location.hash = hash; 4447 } 4448 }, this), 4449 }; 4450 4451 // set default options 4452 this._core.options = jq.extend({}, Hash.Defaults, this._core.options); 4453 4454 // register the event handlers 4455 this.jqelement.on(this._handlers); 4456 4457 // register event listener for hash navigation 4458 jq(window).on( 4459 "hashchange.owl.navigation", 4460 jq.proxy(function (e) { 4461 var hash = window.location.hash.substring(1), 4462 items = this._core.jqstage.children(), 4463 position = 4464 this._hashes[hash] && items.index(this._hashes[hash]); 4465 4466 if ( 4467 position === undefined || 4468 position === this._core.current() 4469 ) { 4470 return; 4471 } 4472 4473 this._core.to(this._core.relative(position), false, true); 4474 }, this) 4475 ); 4476 }; 4477 4478 /** 4479 * Default options. 4480 * @public 4481 */ 4482 Hash.Defaults = { 4483 URLhashListener: false, 4484 }; 4485 4486 /** 4487 * Destroys the plugin. 4488 * @public 4489 */ 4490 Hash.prototype.destroy = function () { 4491 var handler, property; 4492 4493 jq(window).off("hashchange.owl.navigation"); 4494 4495 for (handler in this._handlers) { 4496 this._core.jqelement.off(handler, this._handlers[handler]); 4497 } 4498 for (property in Object.getOwnPropertyNames(this)) { 4499 typeof this[property] != "function" && (this[property] = null); 4500 } 4501 }; 4502 4503 jq.fn.owlCarousel.Constructor.Plugins.Hash = Hash; 4504})(window.Zepto || window.jq, window, document); 4505 4506/** 4507 * Support Plugin 4508 * 4509 * @version 2.3.4 4510 * @author Vivid Planet Software GmbH 4511 * @author Artus Kolanowski 4512 * @author David Deutsch 4513 * @license The MIT License (MIT) 4514 */ 4515(function (jq, window, document, undefined) { 4516 var style = jq("<support>").get(0).style, 4517 prefixes = "Webkit Moz O ms".split(" "), 4518 events = { 4519 transition: { 4520 end: { 4521 WebkitTransition: "webkitTransitionEnd", 4522 MozTransition: "transitionend", 4523 OTransition: "oTransitionEnd", 4524 transition: "transitionend", 4525 }, 4526 }, 4527 animation: { 4528 end: { 4529 WebkitAnimation: "webkitAnimationEnd", 4530 MozAnimation: "animationend", 4531 OAnimation: "oAnimationEnd", 4532 animation: "animationend", 4533 }, 4534 }, 4535 }, 4536 tests = { 4537 csstransforms: function () { 4538 return !!test("transform"); 4539 }, 4540 csstransforms3d: function () { 4541 return !!test("perspective"); 4542 }, 4543 csstransitions: function () { 4544 return !!test("transition"); 4545 }, 4546 cssanimations: function () { 4547 return !!test("animation"); 4548 }, 4549 }; 4550 4551 function test(property, prefixed) { 4552 var result = false, 4553 upper = property.charAt(0).toUpperCase() + property.slice(1); 4554 4555 jq.each( 4556 (property + " " + prefixes.join(upper + " ") + upper).split(" "), 4557 function (i, property) { 4558 if (style[property] !== undefined) { 4559 result = prefixed ? property : true; 4560 return false; 4561 } 4562 } 4563 ); 4564 4565 return result; 4566 } 4567 4568 function prefixed(property) { 4569 return test(property, true); 4570 } 4571 4572 if (tests.csstransitions()) { 4573 /* jshint -W053 */ 4574 jq.support.transition = new String(prefixed("transition")); 4575 jq.support.transition.end = 4576 events.transition.end[jq.support.transition]; 4577 } 4578 4579 if (tests.cssanimations()) { 4580 /* jshint -W053 */ 4581 jq.support.animation = new String(prefixed("animation")); 4582 jq.support.animation.end = events.animation.end[jq.support.animation]; 4583 } 4584 4585 if (tests.csstransforms()) { 4586 /* jshint -W053 */ 4587 jq.support.transform = new String(prefixed("transform")); 4588 jq.support.transform3d = tests.csstransforms3d(); 4589 } 4590})(window.Zepto || window.jq, window, document); 4591 4592$(document).ready(function(){ 4593 if (typeof(EC_SHOP_MULTISHOP_SHIPPING) != "undefined") { 4594 var sShippingCountryCode4Cookie = 'shippingCountryCode'; 4595 var bShippingCountryProc = false; 4596 4597 // ë°°ì¡êµê° ì í ì¤ì ì´ ì¬ì©ìí¨ì´ë©´ ì¨ê¹ 4598 if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingCountrySelection === false) { 4599 $('.xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist').hide(); 4600 $('.xans-layout-multishoplist .xans-layout-multishoplistmultioption .xans-layout-multishoplistmultioptioncountry').hide(); 4601 } else { 4602 $('.thumb .xans-layout-multishoplistitem').hide(); 4603 var aShippingCountryCode = document.cookie.match('(^|;) ?'+sShippingCountryCode4Cookie+'=([^;]*)(;|$)'); 4604 if (typeof(aShippingCountryCode) != 'undefined' && aS
4604hippingCountryCode != null && aShippingCountryCode.length > 2) { 4605 var sShippingCountryValue = aShippingCountryCode[2]; 4606 } 4607 4608 // query stringì¼ë¡ ëì´ ì¨ ë°°ì¡êµê° ê°ì´ ìë¤ë©´, ê·¸ ê°ì ì ì©í¨ 4609 var aHrefCountryValue = decodeURIComponent(location.href).split("/?country="); 4610 4611 if (aHrefCountryValue.length == 2) { 4612 var sShippingCountryValue = aHrefCountryValue[1]; 4613 } 4614 4615 // ë©ì¸ íì´ì§ìì êµê°ì íì ìí ê²½ì°, ê·¸ ì¸ì íì´ì§ìì ì í ë ê°ì´ ì ëì¤ë íì ì²ë¦¬ 4616 if (location.href.split("/").length != 4 && $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val()) { 4617 $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a .ship span").text(" : "+$(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist option:selected").text().split("SHIPPING TO : ").join("")); 4618 4619 if ($("#f_country").length > 0 && location.href.indexOf("orderform.html") > -1) { 4620 $("#f_country").val($(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val()); 4621 } 4622 } 4623 if (typeof(sShippingCountryValue) != "undefined" && sShippingCountryValue != "" && sShippingCountryValue != null) { 4624 sShippingCountryValue = sShippingCountryValue.split("#")[0]; 4625 var bShippingCountryProc = true; 4626 4627 $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val(sShippingCountryValue); 4628 $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a .ship span").text(" : "+$(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist option:selected").text().split("SHIPPING TO : ").join("")); 4629 var expires = new Date(); 4630 expires.setTime(expires.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30ì¼ê° ì¿ í¤ ì ì§ 4631 document.cookie = sShippingCountryCode4Cookie+'=' + $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val() +';path=/'+ ';expires=' + expires.toUTCString(); 4632 if ($("#f_country").length > 0 && location.href.indexOf("orderform.html") > -1) { 4633 $("#f_country").val(sShippingCountryValue).change();; 4634 } 4635 } 4636 } 4637 // ì¸ì´ì í ì¤ì ì´ ì¬ì©ìí¨ì´ë©´ ì¨ê¹ 4638 if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingLanguageSelection === false) { 4639 $('.xans-layout-multishopshipping .xans-layout-multishopshippinglanguagelist').hide(); 4640 $('.xans-layout-multishoplist .xans-layout-multishoplistmultioption .xans-layout-multishoplistmultioptionlanguage').hide(); 4641 } else { 4642 $('.thumb .xans-layout-multishoplistitem').hide(); 4643 } 4644 4645 // ë°°ì¡êµê° ë° ì¸ì´ ì¤ì ì´ ë ë¤ ì¬ì©ìí¨ì´ë©´ ì¨ê¹ 4646 if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShipping === false) { 4647 $(".xans-layout-multishopshipping").hide(); 4648 $('.xans-layout-multishoplist .xans-layout-multishoplistmultioption').hide(); 4649 } else if (bShippingCountryProc === false && location.href.split("/").length == 4) { // ë°°ì¡êµê° ê°ì ì²ë¦¬í ì ì´ ìê³ , ë©ì¸íë©´ì¼ ëë§ ì í ë ì´ì´ë¥¼ ëì 4650 var sShippingCountryValue = $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val(); 4651 $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val(sShippingCountryValue); 4652 $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a .ship span").text(" : "+$(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist option:selected").text().split("SHIPPING TO : ").join("")); 4653 // ë°°ì¡êµê° ì íì ì¬ì©í´ì¼ ë ì´ì´ë¥¼ ë³´ì´ê² í¨ 4654 if (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingCountrySelection === true) { 4655 $(".xans-layout-multishopshipping").show(); 4656 } 4657 } 4658 4659 $(".xans-layout-multishopshipping .close").bind("click", function() { 4660 $(".xans-layout-multishopshipping").hide(); 4661 }); 4662 4663 $(".xans-layout-multishopshipping .ec-base-button a").bind("click", function() { 4664 var expires = new Date(); 4665 expires.setTime(expires.getTime() + (30 * 24 * 60 * 60 * 1000)); // 30ì¼ê° ì¿ í¤ ì ì§ 4666 document.cookie = sShippingCountryCode4Cookie+'=' + $(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val() +';path=/'+ ';expires=' + expires.toUTCString(); 4667 4668 // ëë©ì¸ 문ì ë¡ ì¿ í¤ë¡ ë°°ì¡êµê° ì¤ì ì´ ì ëë ê²½ì°ë¥¼ ìí´ query stringì¼ë¡ ë°°ì¡êµê° ê°
4668ì ëê¹ 4669 var sQuerySting = (EC_SHOP_MULTISHOP_SHIPPING.bMultishopShippingCountrySelection === false) ? "" : "/?country="+encodeURIComponent($(".xans-layout-multishopshipping .xans-layout-multishopshippingcountrylist").val()); 4670 4671 location.href = '//'+$(".xans-layout-multishopshipping .xans-layout-multishopshippinglanguagelist").val()+sQuerySting; 4672 }); 4673 $(".xans-layout-multishoplist .xans-layout-multishoplistmultioption a").bind("click", function() { 4674 $(".xans-layout-multishopshipping").show(); 4675 }); 4676 } 4677}); 4678$(function(){ 4679 4680 var urlParams = new URLSearchParams(location.search); 4681 var cate_no = urlParams.get('cate_no'); 4682 var pathname = location.pathname; 4683 4684 if(pathname.indexOf('shop.html') != -1 || (pathname.indexOf('product/list.html') != -1 && cate_no != '2042') || pathname.indexOf('product/detail.html') != -1){ 4685 $('#header .depth-1 li:nth-child(1) a').addClass('cur'); 4686 } else if(pathname.indexOf('hksell') != -1 || (pathname.indexOf('hksell-1.html') != -1 && cate_no == '2042') || pathname.indexOf('list_sell.html') != -1 || pathname.indexOf('detail_sell.html') != -1){ 4687 $('#header .depth-1 li:nth-child(3) a').addClass('cur'); 4688 } else if(pathname.indexOf('list_pick') != -1 || pathname.indexOf('support') != -1){ 4689 $('#header .depth-1 li:nth-child(5) a').addClass('cur'); 4690 } else if(pathname.indexOf('rental') != -1 || pathname.indexOf('rent.html') != -1){ 4691 $('#header .depth-1 li:nth-child(2) a').addClass('cur'); 4692 4693 } 4694 4695 /* 4696 $('.btn-shop').click(function(){ 4697 $('#main_cate').toggleClass('show'); 4698 });*/ 4699 4700 $('#header .btn-search').click(function(){ 4701 $('.search-modal').fadeIn(); 4702 }); 4703 4704 $('.search-modal .btn-close').click(function(){ 4705 $('.search-modal').fadeOut(); 4706 }); 4707 4708 $('#header .btn-menu').click(function(){ 4709 $(this).toggleClass('active').siblings('.all-menu, .menu-overlay').fadeToggle(); 4710 }); 4711 4712 $('.menu-overlay').click(function(){ 4713 $('.all-menu, .menu-overlay').fadeOut(); 4714 $('#header .btn-menu').removeClass('active'); 4715 }); 4716 4717 $('.all-menu .col-1 li a').mouseover(function(){ 4718 $('.all-menu .col-1 li a').not(this).removeClass('active'); 4719 $(this).addClass('active'); 4720 const depth = $(this).data('depth'); 4721 $('.all-menu .depth-2, .all-menu .depth-3, .all-menu .brand-slide-wrap').removeClass('active'); 4722 $(`.all-menu .brand-slide-wrap[data-depth=${depth}]`).addClass('active'); 4723 $(`.all-menu .depth-2[data-depth2=${depth}]`).addClass('active').find('a').removeClass('active'); 4724 }); 4725 4726 $('.all-menu .depth-2 a').mouseover(function(){ 4727 $('.all-menu .depth-2 a').not(this).removeClass('active'); 4728 $(this).addClass('active'); 4729 const depth = $(this).data('depth'); 4730 $('.all-menu .depth-3').removeClass('active'); 4731 $(`.all-menu .depth-3[data-depth=${depth}]`).addClass('active').find('a').removeClass('active'); 4732 }); 4733 4734 setTimeout(() => { 4735 $('.all-menu .brand-slide-wrap').each(function (index, item) { 4736 let $wrap = $(this); 4737 let $wrapper = $(this).find('.swiper-wrapper'); 4738 let $items = $wrap.find('.banner-item'); 4739 4740 if ($items.length > 0) { 4741 $wrapper.empty(); 4742 4743 let chunkSize = 12; 4744 for (let i = 0; i < $items.length; i += chunkSize) { 4745 let $chunk = $items.slice(i, i + chunkSize); 4746 4747 let $slide = $('<div class="swiper-slide"></div>'); 4748 4749 $chunk.appendTo($slide); 4750 4751 $wrapper.append($slide); 4752 } 4753 } 4754 var $this = $(this); 4755 $this.addClass('instance-' + index); 4756 new Swiper('.instance-' + index+' .brand-slide', { 4757 slidesPerView: 1, 4758 loop:false, 4759 observer: true, 4760 observeParents: true, 4761 pagination: { 4762 el:`.instance-${index} .brand-pagination`, 4763 type: "fraction", 4764 }, 4765 navigation: { 4766 nextEl: `.instance-${index} .brand-slide-next`, 4767 prevEl: `.instance-${index} .brand-slide-prev`, 4768 }, 4769 speed: 900, 4770 }); 4771 }); 4772 4773 4774 4775 4776 },500); 4777 4778 4779}); 4780 4781$(window).scroll(function(){ 4782 (0 < $(this).scrollTop())?$('#header').addClass('fixed'):$('#header').removeClass('fixed'); 4783});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.