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