vendor: 23,382 bytes, lines 1-587
1/* =================================================================== 2 * javascript plugins 3 * 4 * ------------------------------------------------------------------- */ 5 6/* PrismJS 1.20.0 7 * https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+markup-templating+php 8 */ 9var _self = "undefined" != typeof window ? window : "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {} 10 , Prism = function(u) { 11 var c = /\blang(?:uage)?-([\w-]+)\b/i 12 , n = 0 13 , C = { 14 manual: u.Prism && u.Prism.manual, 15 disableWorkerMessageHandler: u.Prism && u.Prism.disableWorkerMessageHandler, 16 util: { 17 encode: function e(n) { 18 return n instanceof _ ? new _(n.type,e(n.content),n.alias) : Array.isArray(n) ? n.map(e) : n.replace(/&/g, "&").replace(/</g, "<").replace(/\u00a0/g, " ") 19 }, 20 type: function(e) { 21 return Object.prototype.toString.call(e).slice(8, -1) 22 }, 23 objId: function(e) { 24 return e.__id || Object.defineProperty(e, "__id", { 25 value: ++n 26 }), 27 e.__id 28 }, 29 clone: function t(e, r) { 30 var a, n, l = C.util.type(e); 31 switch (r = r || {}, 32 l) { 33 case "Object": 34 if (n = C.util.objId(e), 35 r[n]) 36 return r[n]; 37 for (var i in a = {}, 38 r[n] = a, 39 e) 40 e.hasOwnProperty(i) && (a[i] = t(e[i], r)); 41 return a; 42 case "Array": 43 return n = C.util.objId(e), 44 r[n] ? r[n] : (a = [], 45 r[n] = a, 46 e.forEach(function(e, n) { 47 a[n] = t(e, r) 48 }), 49 a); 50 default: 51 return e 52 } 53 }, 54 getLanguage: function(e) { 55 for (; e && !c.test(e.className); ) 56 e = e.parentElement; 57 return e ? (e.className.match(c) || [, "none"])[1].toLowerCase() : "none" 58 }, 59 currentScript: function() { 60 if ("undefined" == typeof document) 61 return null; 62 if ("currentScript"in document) 63 return document.currentScript; 64 try { 65 throw new Error 66 } catch (e) { 67 var n = (/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(e.stack) || [])[1]; 68 if (n) { 69 var t = document.getElementsByTagName("script"); 70 for (var r in t) 71 if (t[r].src == n) 72 return t[r] 73 } 74 return null 75 } 76 } 77 }, 78 languages: { 79 extend: function(e, n) { 80 var t = C.util.clone(C.languages[e]); 81 for (var r in n) 82 t[r] = n[r]; 83 return t 84 }, 85 insertBefore: function(t, e, n, r) { 86 var a = (r = r || C.languages)[t] 87 , l = {}; 88 for (var i in a) 89 if (a.hasOwnProperty(i)) { 90 if (i == e) 91 for (var o in n) 92 n.hasOwnProperty(o) && (l[o] = n[o]); 93 n.hasOwnProperty(i) || (l[i] = a[i]) 94 } 95 var s = r[t]; 96 return r[t] = l, 97 C.languages.DFS(C.languages, function(e, n) { 98 n === s && e != t && (this[e] = l) 99 }), 100 l 101 }, 102 DFS: function e(n, t, r, a) { 103 a = a || {}; 104 var l = C.util.objId; 105 for (var i in n) 106 if (n.hasOwnProperty(i)) { 107 t.call(n, i, n[i], r || i); 108 var o = n[i] 109 , s = C.util.type(o); 110 "Object" !== s || a[l(o)] ? "Array" !== s || a[l(o)] || (a[l(o)] = !0, 111 e(o, t, i, a)) : (a[l(o)] = !0, 112 e(o, t, null, a)) 113 } 114 } 115 }, 116 plugins: {}, 117 highlightAll: function(e, n) { 118 C.highlightAllUnder(document, e, n) 119 }, 120 highlightAllUnder: function(e, n, t) { 121 var r = { 122 callback: t, 123 container: e, 124 selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code' 125 }; 126 C.hooks.run("before-highlightall", r), 127 r.elements = Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)), 128 C.hooks.run("before-all-elements-highlight", r); 129 for (var a, l = 0; a = r.elements[l++]; ) 130 C.highlightElement(a, !0 === n, r.callback) 131 }, 132 highlightElement: function(e, n, t) { 133 var r = C.util.getLanguage(e) 134 , a = C.languages[r]; 135 e.className = e.className.replace(c, "").replace(/\s+/g, " ") + " language-" + r; 136 var l = e.parentNode; 137 l && "pre" === l.nodeName.toLowerCase() && (l.className = l.className.replace(c, "").replace(/\s+/g, " ") + " language-" + r); 138 var i = { 139 element: e, 140 language: r, 141 grammar: a, 142 code: e.textContent 143 }; 144 function o(e) { 145 i.highlightedCode = e, 146 C.hooks.run("before-insert", i), 147 i.element.innerHTML = i.highlightedCode, 148 C.hooks.run("after-highlight", i), 149 C.hooks.run("complete", i), 150 t && t.call(i.element) 151 } 152 if (C.hooks.run("before-sanity-check", i), 153 !i.code) 154 return C.hooks.run("complete", i), 155 void (t && t.call(i.element)); 156 if (C.hooks.run("before-highlight", i), 157 i.grammar) 158 if (n && u.Worker) { 159 var s = new Worker(C.filename); 160 s.onmessage = function(e) { 161 o(e.data) 162 } 163 , 164 s.postMessage(JSON.stringify({ 165 language: i.language, 166 code: i.code, 167 immediateClose: !0 168 })) 169 } else 170 o(C.highlight(i.code, i.grammar, i.language)); 171 else 172 o(C.util.encode(i.code)) 173 }, 174 highlight: function(e, n, t) { 175 var r = { 176 code: e, 177 grammar: n, 178 language: t 179 }; 180 return C.hooks.run("before-tokenize", r), 181 r.tokens = C.tokenize(r.code, r.grammar), 182 C.hooks.run("after-tokenize", r), 183 _.stringify(C.util.encode(r.tokens), r.language) 184 }, 185 tokenize: function(e, n) { 186 var t = n.rest; 187 if (t) { 188 for (var r in t) 189 n[r] = t[r]; 190 delete n.rest 191 } 192 var a = new l; 193 return M(a, a.head, e), 194 function e(n, t, r, a, l, i, o) { 195 for (var s in r) 196 if (r.hasOwnProperty(s) && r[s]) { 197 var u = r[s]; 198 u = Array.isArray(u) ? u : [u]; 199 for (var c = 0; c < u.length; ++c) { 200 if (o && o == s + "," + c) 201 return; 202 var g = u[c] 203 , f = g.inside 204 , h = !!g.lookbehind 205 , d = !!g.greedy 206 , v = 0 207 , p = g.alias; 208 if (d && !g.pattern.global) { 209 var m = g.pattern.toString().match(/[imsuy]*$/)[0]; 210 g.pattern = RegExp(g.pattern.source, m + "g") 211 } 212 g = g.pattern || g; 213 for (var y = a.next, k = l; y !== t.tail; k += y.value.length, 214 y = y.next) { 215 var b = y.value; 216 if (t.length > n.length) 217 return; 218 if (!(b instanceof _)) { 219 var x = 1; 220 if (d && y != t.tail.prev) { 221 g.lastIndex = k; 222 var w = g.exec(n); 223 if (!w) 224 break; 225 var A = w.index + (h && w[1] ? w[1].length : 0) 226 , P = w.index + w[0].length 227 , S = k; 228 for (S += y.value.length; S <= A; ) 229 y = y.next, 230 S += y.value.length; 231 if (S -= y.value.length, 232 k = S, 233 y.value instanceof _) 234 continue; 235 for (var O = y; O !== t.tail && (S < P || "string" == typeof O.value && !O.prev.value.greedy); O = O.next) 236 x++, 237 S += O.value.length; 238 x--, 239 b = n.slice(k, S), 240 w.index -= k 241 } else { 242 g.lastIndex = 0; 243 var w = g.exec(b) 244 } 245 if (w) { 246 h && (v = w[1] ? w[1].length : 0); 247 var A = w.index + v 248 , w = w[0].slice(v) 249 , P = A + w.length 250 , E = b.slice(0, A) 251 , N = b.slice(P) 252 , j = y.prev; 253 E && (j = M(t, j, E), 254 k += E.length), 255 W(t, j, x); 256 var L = new _(s,f ? C.tokenize(w, f) : w,p,w,d); 257 if (y = M(t, j, L), 258 N && M(t, y, N), 259 1 < x && e(n, t, r, y.prev, k, !0, s + "," + c), 260 i) 261 break 262 } else if (i) 263 break 264 } 265 } 266 } 267 } 268 }(e, a, n, a.head, 0), 269 function(e) { 270 var n = [] 271 , t = e.head.next; 272 for (; t !== e.tail; ) 273 n.push(t.value), 274 t = t.next; 275 return n 276 }(a) 277 }, 278 hooks: { 279 all: {}, 280 add: function(e, n) { 281 var t = C.hooks.all; 282 t[e] = t[e] || [], 283 t[e].push(n) 284 }, 285 run: function(e, n) { 286 var t = C.hooks.all[e]; 287 if (t && t.length) 288 for (var r, a = 0; r = t[a++]; ) 289 r(n) 290 } 291 }, 292 Token: _ 293 }; 294 function _(e, n, t, r, a) { 295 this.type = e, 296 this.content = n, 297 this.alias = t, 298 this.length = 0 | (r || "").length, 299 this.greedy = !!a 300 } 301 function l() { 302 var e = { 303 value: null, 304 prev: null, 305 next: null 306 } 307 , n = { 308 value: null, 309 prev: e, 310 next: null 311 }; 312 e.next = n, 313 this.head = e, 314 this.tail = n, 315 this.length = 0 316 } 317 function M(e, n, t) { 318 var r = n.next 319 , a = { 320 value: t, 321 prev: n, 322 next: r 323 }; 324 return n.next = a, 325 r.prev = a, 326 e.length++, 327 a 328 } 329 function W(e, n, t) { 330 for (var r = n.next, a = 0; a < t && r !== e.tail; a++) 331 r = r.next; 332 (n.next = r).prev = n, 333 e.length -= a 334 } 335 if (u.Prism = C, 336 _.stringify = function n(e, t) { 337 if ("string" == typeof e) 338 return e; 339 if (Array.isArray(e)) { 340 var r = ""; 341 return e.forEach(function(e) { 342 r += n(e, t) 343 }), 344 r 345 } 346 var a = { 347 type: e.type, 348 content: n(e.content, t), 349 tag: "span", 350 classes: ["token", e.type], 351 attributes: {}, 352 language: t 353 } 354 , l = e.alias; 355 l && (Array.isArray(l) ? Array.prototype.push.apply(a.classes, l) : a.classes.push(l)), 356 C.hooks.run("wrap", a); 357 var i = ""; 358 for (var o in a.attributes) 359 i += " " + o + '="' + (a.attributes[o] || "").replace(/"/g, """) + '"'; 360 return "<" + a.tag + ' class="' + a.classes.join(" ") + '"' + i + ">" + a.content + "</" + a.tag + ">" 361 } 362 , 363 !u.document) 364 return u.addEventListener && (C.disableWorkerMessageHandler || u.addEventListener("message", function(e) { 365 var n = JSON.parse(e.data) 366 , t = n.language 367 , r = n.code 368 , a = n.immediateClose; 369 u.postMessage(C.highlight(r, C.languages[t], t)), 370 a && u.close() 371 }, !1)), 372 C; 373 var e = C.util.currentScript(); 374 function t() { 375 C.manual || C.highlightAll() 376 } 377 if (e && (C.filename = e.src, 378 e.hasAttribute("data-manual") && (C.manual = !0)), 379 !C.manual) { 380 var r = document.readyState; 381 "loading" === r || "interactive" === r && e && e.defer ? document.addEventListener("DOMContentLoaded", t) : window.requestAnimationFrame ? window.requestAnimationFrame(t) : window.setTimeout(t, 16) 382 } 383 return C 384}(_self); 385"undefined" != typeof module && module.exports && (module.exports = Prism), 386"undefined" != typeof global && (global.Prism = Prism); 387Prism.languages.markup = { 388 comment: /<!--[\s\S]*?-->/, 389 prolog: /<\?[\s\S]+?\?>/, 390 doctype: { 391 pattern: /<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i, 392 greedy: !0, 393 inside: { 394 "internal-subset": { 395 pattern: /(\[)[\s\S]+(?=\]>$)/, 396 lookbehind: !0, 397 greedy: !0, 398 inside: null 399 }, 400 string: { 401 pattern: /"[^"]*"|'[^']*'/, 402 greedy: !0 403 }, 404 punctuation: /^<!|>$|[[\]]/, 405 "doctype-tag": /^DOCTYPE/, 406 name: /[^\s<>'"]+/ 407 } 408 }, 409 cdata: /<!\[CDATA\[[\s\S]*?]]>/i, 410 tag: { 411 pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/, 412 greedy: !0, 413 inside: { 414 tag: { 415 pattern: /^<\/?[^\s>\/]+/, 416 inside: { 417 punctuation: /^<\/?/, 418 namespace: /^[^\s>\/:]+:/ 419 } 420 }, 421 "attr-value": { 422 pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/, 423 inside: { 424 punctuation: [{ 425 pattern: /^=/, 426 alias: "attr-equals" 427 }, /"|'/] 428 } 429 }, 430 punctuation: /\/?>/, 431 "attr-name": { 432 pattern: /[^\s>\/]+/, 433 inside: { 434 namespace: /^[^\s>\/:]+:/ 435 } 436 } 437 } 438 }, 439 entity: [{ 440 pattern: /&[\da-z]{1,8};/i, 441 alias: "named-entity" 442 }, /&#x?[\da-f]{1,8};/i] 443}, 444Prism.languages.markup.tag.inside["attr-value"].inside.entity = Prism.languages.markup.entity, 445Prism.languages.markup.doctype.inside["internal-subset"].inside = Prism.languages.markup, 446Prism.hooks.add("wrap", function(a) { 447 "entity" === a.type && (a.attributes.title = a.content.replace(/&/, "&")) 448}), 449Object.defineProperty(Prism.languages.markup.tag, "addInlined", { 450 value: function(a, e) { 451 var s = {}; 452 s["language-" + e] = { 453 pattern: /(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i, 454 lookbehind: !0, 455 inside: Prism.languages[e] 456 }, 457 s.cdata = /^<!\[CDATA\[|\]\]>$/i; 458 var n = { 459 "included-cdata": { 460 pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i, 461 inside: s 462 } 463 }; 464 n["language-" + e] = { 465 pattern: /[\s\S]+/, 466 inside: Prism.languages[e] 467 }; 468 var t = {}; 469 t[a] = { 470 pattern: RegExp("(<__[^]*?>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[^])*?(?=</__>)".replace(/__/g, function() { 471 return a 472 }), "i"), 473 lookbehind: !0, 474 greedy: !0, 475 inside: n 476 }, 477 Prism.languages.insertBefore("markup", "cdata", t) 478 } 479}), 480Prism.languages.html = Prism.languages.markup, 481Prism.languages.mathml = Prism.languages.markup, 482Prism.languages.svg = Prism.languages.markup, 483Prism.languages.xml = Prism.languages.extend("markup", {}), 484Prism.languages.ssml = Prism.languages.xml, 485Prism.languages.atom = Prism.languages.xml, 486Prism.languages.rss = Prism.languages.xml; 487!function(s) { 488 var e = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/; 489 s.languages.css = { 490 comment: /\/\*[\s\S]*?\*\//, 491 atrule: { 492 pattern: /@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/, 493 inside: { 494 rule: /^@[\w-]+/, 495 "selector-function-argument": { 496 pattern: /(\bselector\s*\((?!\s*\))\s*)(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/, 497 lookbehind: !0, 498 alias: "selector" 499 } 500 } 501 }, 502 url: { 503 pattern: RegExp("url\\((?:" + e.source + "|[^\n\r()]*)\\)", "i"), 504 greedy: !0, 505 inside: { 506 function: /^url/i, 507 punctuation: /^\(|\)$/ 508 } 509 }, 510 selector: RegExp("[^{}\\s](?:[^{};\"']|" + e.source + ")*?(?=\\s*\\{)"), 511 string: { 512 pattern: e, 513 greedy: !0 514 }, 515 property: /[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i, 516 important: /!important\b/i, 517 function: /[-a-z0-9]+(?=\()/i, 518 punctuation: /[(){};:,]/ 519 }, 520 s.languages.css.atrule.inside.rest = s.languages.css; 521 var t = s.languages.markup; 522 t && (t.tag.addInlined("style", "css"), 523 s.languages.insertBefore("inside", "attr-value", { 524 "style-attr": { 525 pattern: /\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i, 526 inside: { 527 "attr-name": { 528 pattern: /^\s*style/i, 529 inside: t.tag.inside 530 }, 531 punctuation: /^\s*=\s*['"]|['"]\s*$/, 532 "attr-value": { 533 pattern: /.+/i, 534 inside: s.languages.css 535 } 536 }, 537 alias: "language-css" 538 } 539 }, t.tag)) 540}(Prism); 541Prism.languages.clike = { 542 comment: [{ 543 pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, 544 lookbehind: !0 545 }, { 546 pattern: /(^|[^\\:])\/\/.*/, 547 lookbehind: !0, 548 greedy: !0 549 }], 550 string: { 551 pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, 552 greedy: !0 553 }, 554 "class-name": { 555 pattern: /(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i, 556 lookbehind: !0, 557 inside: { 558 punctuation: /[.\\]/ 559 } 560 }, 561 keyword: /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/, 562 boolean: /\b(?:true|false)\b/, 563 function: /\w+(?=\()/, 564 number: /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i, 565 operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/, 566 punctuation: /[{}[\];(),.:]/ 567}; 568Prism.languages.javascript = Prism.languages.extend("clike", { 569 "class-name": [Prism.languages.clike["class-name"], { 570 pattern: /(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/, 571 lookbehind: !0 572 }], 573 keyword: [{ 574 pattern: /((?:^|})\s*)(?:catch|finally)\b/, 575 lookbehind: !0 576 }, { 577 pattern: /(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/, 578 lookbehind: !0 579 }], 580 number: /\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/, 581 function: /#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/, 582 operator: /--|\+\+|\*\*=?|=>|&&|\|\||[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?[.?]?|[~:]/ 583}), 584Prism.languages.javascript["class-name"][0].pattern = /(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/, 585Prism.languages.insertBefore("javascript", "keyword", { 586 regex: { 587 pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}
vendor: 6,682 bytes, lines 587-737
587(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/, 588 lookbehind: !0, 589 greedy: !0 590 }, 591 "function-variable": { 592 pattern: /#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/, 593 alias: "function" 594 }, 595 parameter: [{ 596 pattern: /(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/, 597 lookbehind: !0, 598 inside: Prism.languages.javascript 599 }, { 600 pattern: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i, 601 inside: Prism.languages.javascript 602 }, { 603 pattern: /(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/, 604 lookbehind: !0, 605 inside: Prism.languages.javascript 606 }, { 607 pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/, 608 lookbehind: !0, 609 inside: Prism.languages.javascript 610 }], 611 constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/ 612}), 613Prism.languages.insertBefore("javascript", "string", { 614 "template-string": { 615 pattern: /`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/, 616 greedy: !0, 617 inside: { 618 "template-punctuation": { 619 pattern: /^`|`$/, 620 alias: "string" 621 }, 622 interpolation: { 623 pattern: /((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/, 624 lookbehind: !0, 625 inside: { 626 "interpolation-punctuation": { 627 pattern: /^\${|}$/, 628 alias: "punctuation" 629 }, 630 rest: Prism.languages.javascript 631 } 632 }, 633 string: /[\s\S]+/ 634 } 635 } 636}), 637Prism.languages.markup && Prism.languages.markup.tag.addInlined("script", "javascript"), 638Prism.languages.js = Prism.languages.javascript; 639!function(h) { 640 function v(e, n) { 641 return "___" + e.toUpperCase() + n + "___" 642 } 643 Object.defineProperties(h.languages["markup-templating"] = {}, { 644 buildPlaceholders: { 645 value: function(a, r, e, o) { 646 if (a.language === r) { 647 var c = a.tokenStack = []; 648 a.code = a.code.replace(e, function(e) { 649 if ("function" == typeof o && !o(e)) 650 return e; 651 for (var n, t = c.length; -1 !== a.code.indexOf(n = v(r, t)); ) 652 ++t; 653 return c[t] = e, 654 n 655 }), 656 a.grammar = h.languages.markup 657 } 658 } 659 }, 660 tokenizePlaceholders: { 661 value: function(p, k) { 662 if (p.language === k && p.tokenStack) { 663 p.grammar = h.languages[k]; 664 var m = 0 665 , d = Object.keys(p.tokenStack); 666 !function e(n) { 667 for (var t = 0; t < n.length && !(m >= d.length); t++) { 668 var a = n[t]; 669 if ("string" == typeof a || a.content && "string" == typeof a.content) { 670 var r = d[m] 671 , o = p.tokenStack[r] 672 , c = "string" == typeof a ? a : a.content 673 , i = v(k, r) 674 , u = c.indexOf(i); 675 if (-1 < u) { 676 ++m; 677 var g = c.substring(0, u) 678 , l = new h.Token(k,h.tokenize(o, p.grammar),"language-" + k,o) 679 , s = c.substring(u + i.length) 680 , f = []; 681 g && f.push.apply(f, e([g])), 682 f.push(l), 683 s && f.push.apply(f, e([s])), 684 "string" == typeof a ? n.splice.apply(n, [t, 1].concat(f)) : a.content = f 685 } 686 } else 687 a.content && e(a.content) 688 } 689 return n 690 }(p.tokens) 691 } 692 } 693 } 694 }) 695}(Prism); 696!function(n) { 697 n.languages.php = n.languages.extend("clike", { 698 keyword: /\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|new|or|parent|print|private|protected|public|require|require_once|return|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i, 699 boolean: { 700 pattern: /\b(?:false|true)\b/i, 701 alias: "constant" 702 }, 703 constant: [/\b[A-Z_][A-Z0-9_]*\b/, /\b(?:null)\b/i], 704 comment: { 705 pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/, 706 lookbehind: !0 707 } 708 }), 709 n.languages.insertBefore("php", "string", { 710 "shell-comment": { 711 pattern: /(^|[^\\])#.*/, 712 lookbehind: !0, 713 alias: "comment" 714 } 715 }), 716 n.languages.insertBefore("php", "comment", { 717 delimiter: { 718 pattern: /\?>$|^<\?(?:php(?=\s)|=)?/i, 719 alias: "important" 720 } 721 }), 722 n.languages.insertBefore("php", "keyword", { 723 variable: /\$+(?:\w+\b|(?={))/i, 724 package: { 725 pattern: /(\\|namespace\s+|use\s+)[\w\\]+/, 726 lookbehind: !0, 727 inside: { 728 punctuation: /\\/ 729 } 730 } 731 }), 732 n.languages.insertBefore("php", "operator", { 733 property: { 734 pattern: /(->)[\w]+/, 735 lookbehind: !0 736 } 737 });
738 var e = { 739 pattern: /{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)*)/, 740 lookbehind: !0, 741 inside: n.languages.php 742 }; 743 n.languages.insertBefore("php", "string", { 744 "nowdoc-string": { 745 pattern: /<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/, 746 greedy: !0, 747 alias: "string", 748 inside: { 749 delimiter: { 750 pattern: /^<<<'[^']+'|[a-z_]\w*;$/i, 751 alias: "symbol", 752 inside: { 753 punctuation: /^<<<'?|[';]$/ 754 } 755 } 756 } 757 }, 758 "heredoc-string": { 759 pattern: /<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i, 760 greedy: !0, 761 alias: "string", 762 inside: { 763 delimiter: { 764 pattern: /^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i, 765 alias: "symbol", 766 inside: { 767 punctuation: /^<<<"?|[";]$/ 768 } 769 }, 770 interpolation: e 771 } 772 }, 773 "single-quoted-string": { 774 pattern: /'(?:\\[\s\S]|[^\\'])*'/, 775 greedy: !0, 776 alias: "string" 777 }, 778 "double-quoted-string": { 779 pattern: /"(?:\\[\s\S]|[^\\"])*"/, 780 greedy: !0, 781 alias: "string", 782 inside: { 783 interpolation: e 784 } 785 } 786 }), 787 delete n.languages.php.string, 788 n.hooks.add("before-tokenize", function(e) { 789 if (/<\?/.test(e.code)) { 790 n.languages["markup-templating"].buildPlaceholders(e, "php", /<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#)(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|\/\*[\s\S]*?(?:\*\/|$))*?(?:\?>|$)/gi) 791 } 792 }), 793 n.hooks.add("after-tokenize", function(e) { 794 n.languages["markup-templating"].tokenizePlaceholders(e, "php") 795 }) 796}(Prism); 797 798/** 799 * Basic Lightbox 800 * v. 5.0.3 801 * https://basiclightbox.electerious.com/ 802 * 803 */ 804!function(e) { 805 if ("object" == typeof exports && "undefined" != typeof module) 806 module.exports = e(); 807 else if ("function" == typeof define && define.amd) 808 define([], e); 809 else { 810 ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).basicLightbox = e() 811 } 812}((function() { 813 return function e(n, t, o) { 814 function r(c, u) { 815 if (!t[c]) { 816 if (!n[c]) { 817 var s = "function" == typeof require && require; 818 if (!u && s) 819 return s(c, !0); 820 if (i) 821 return i(c, !0); 822 var a = new Error("Cannot find module '" + c + "'"); 823 throw a.code = "MODULE_NOT_FOUND", 824 a 825 } 826 var l = t[c] = { 827 exports: {} 828 }; 829 n[c][0].call(l.exports, (function(e) { 830 return r(n[c][1][e] || e) 831 } 832 ), l, l.exports, e, n, t, o) 833 } 834 return t[c].exports 835 } 836 for (var i = "function" == typeof require && require, c = 0; c < o.length; c++) 837 r(o[c]); 838 return r 839 }({ 840 1: [function(e, n, t) { 841 "use strict"; 842 Object.defineProperty(t, "__esModule", { 843 value: !0 844 }), 845 t.create = t.visible = void 0; 846 var o = function(e) { 847 var n = arguments.length > 1 && void 0 !== arguments[1] && arguments[1] 848 , t = document.createElement("div"); 849 return t.innerHTML = e.trim(), 850 !0 === n ? t.children : t.firstChild 851 } 852 , r = function(e, n) { 853 var t = e.children; 854 return 1 === t.length && t[0].tagName === n 855 } 856 , i = function(e) { 857 return null != (e = e || document.querySelector(".basicLightbox")) && !0 === e.ownerDocument.body.contains(e) 858 }; 859 t.visible = i; 860 t.create = function(e, n) { 861 var t = function(e, n) { 862 var t = o('\n\t\t<div class="basicLightbox '.concat(n.className, '">\n\t\t\t<div class="basicLightbox__placeholder" role="dialog"></div>\n\t\t</div>\n\t')) 863 , i = t.querySelector(".basicLightbox__placeholder"); 864 e.forEach((function(e) { 865 return i.appendChild(e) 866 } 867 )); 868 var c = r(i, "IMG") 869 , u = r(i, "VIDEO") 870 , s = r(i, "IFRAME"); 871 return !0 === c && t.classList.add("basicLightbox--img"), 872 !0 === u && t.classList.add("basicLightbox--video"), 873 !0 === s && t.classList.add("basicLightbox--iframe"), 874 t 875 }(e = function(e) { 876 var n = "string" == typeof e 877 , t = e instanceof HTMLElement == !0; 878 if (!1 === n && !1 === t) 879 throw new Error("Content must be a DOM element/node or string"); 880 return !0 === n ? Array.from(o(e, !0)) : "TEMPLATE" === e.tagName ? [e.content.cloneNode(!0)] : Array.from(e.children) 881 }(e), n = function() { 882 var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; 883 if (null == (e = Object.assign({}, e)).closable && (e.closable = !0), 884 null == e.className && (e.className = ""), 885 null == e.onShow && (e.onShow = function() {} 886 ), 887 null == e.onClose && (e.onClose = function() {} 888 ), 889 "boolean" != typeof e.closable) 890 throw new Error("Property `closable` must be a boolean"); 891 if ("string" != typeof e.className) 892 throw new Error("Property `className` must be a string"); 893 if ("function" != typeof e.onShow) 894 throw new Error("Property `onShow` must be a function"); 895 if ("function" != typeof e.onClose) 896 throw new Error("Property `onClose` must be a function"); 897 return e 898 }(n)) 899 , c = function(e) { 900 return !1 !== n.onClose(u) && function(e, n) { 901 return e.classList.remove("basicLightbox--visible"), 902 setTimeout((function() { 903 return !1 === i(e) || e.parentElement.removeChild(e), 904 n() 905 } 906 ), 410), 907 !0 908 }(t, (function() { 909 if ("function" == typeof e) 910 return e(u) 911 } 912 )) 913 }; 914 !0 === n.closable && t.addEventListener("click", (function(e) { 915 e.target === t && c() 916 } 917 )); 918 var u = { 919 element: function() { 920 return t 921 }, 922 visible: function() { 923 return i(t) 924 }, 925 show: function(e) { 926 return !1 !== n.onShow(u) && function(e, n) { 927 return document.body.appendChild(e), 928 setTimeout((function() { 929 requestAnimationFrame((function() { 930 return e.classList.add("basicLightbox--visible"), 931 n() 932 } 933 )) 934 } 935 ), 10), 936 !0 937 }(t, (function() { 938 if ("function" == typeof e) 939 return e(u) 940 } 941 )) 942 }, 943 close: c 944 }; 945 return u 946 } 947 } 948 , {}] 949 }, {}, [1])(1) 950} 951)); 952 953/*! PhotoSwipe - v4.1.3 - 2019-01-08 954* http://photoswipe.com 955* Copyright (c) 2019 Dmitry Semenov; */ 956!function(a, b) { 957 "function" == typeof define && define.amd ? define(b) : "object" == typeof exports ? module.exports = b() : a.PhotoSwipe = b() 958}(this, function() { 959 "use strict"; 960 var a = function(a, b, c, d) { 961 var e = { 962 features: null, 963 bind: function(a, b, c, d) { 964 var e = (d ? "remove" : "add") + "EventListener"; 965 b = b.split(" "); 966 for (var f = 0; f < b.length; f++) 967 b[f] && a[e](b[f], c, !1) 968 }, 969 isArray: function(a) { 970 return a instanceof Array 971 }, 972 createEl: function(a, b) { 973 var c = document.createElement(b || "div"); 974 return a && (c.className = a), 975 c 976 }, 977 getScrollY: function() { 978 var a = window.pageYOffset; 979 return void 0 !== a ? a : document.documentElement.scrollTop 980 }, 981 unbind: function(a, b, c) { 982 e.bind(a, b, c, !0) 983 }, 984 removeClass: function(a, b) { 985 var c = new RegExp("(\\s|^)" + b + "(\\s|$)"); 986 a.className = a.className.replace(c, " ").replace(/^\s\s*/, "").replace(/\s\s*$/, "") 987 }, 988 addClass: function(a, b) { 989 e.hasClass(a, b) || (a.className += (a.className ? " " : "") + b) 990 }, 991 hasClass: function(a, b) { 992 return a.className && new RegExp("(^|\\s)" + b + "(\\s|$)").test(a.className) 993 }, 994 getChildByClass: function(a, b) { 995 for (var c = a.firstChild; c; ) { 996 if (e.hasClass(c, b)) 997 return c; 998 c = c.nextSibling 999 } 1000 }, 1001 arraySearch: function(a, b, c) { 1002 for (var d = a.length; d--; ) 1003 if (a[d][c] === b) 1004 return d; 1005 return -1 1006 }, 1007 extend: function(a, b, c) { 1008 for (var d in b) 1009 if (b.hasOwnProperty(d)) { 1010 if (c && a.hasOwnProperty(d)) 1011 continue; 1012 a[d] = b[d] 1013 } 1014 }, 1015 easing: { 1016 sine: { 1017 out: function(a) { 1018 return Math.sin(a * (Math.PI / 2)) 1019 }, 1020 inOut: function(a) { 1021 return -(Math.cos(Math.PI * a) - 1) / 2 1022 } 1023 }, 1024 cubic: { 1025 out: function(a) { 1026 return --a * a * a + 1 1027 } 1028 } 1029 }, 1030 detectFeatures: function() { 1031 if (e.features) 1032 return e.features; 1033 var a = e.createEl() 1034 , b = a.style 1035 , c = "" 1036 , d = {}; 1037 if (d.oldIE = document.all && !document.addEventListener, 1038 d.touch = "ontouchstart"in window, 1039 window.requestAnimationFrame && (d.raf = window.requestAnimationFrame, 1040 d.caf = window.cancelAnimationFrame), 1041 d.pointerEvent = !!window.PointerEvent || navigator.msPointerEnabled, 1042 !d.pointerEvent) { 1043 var f = navigator.userAgent; 1044 if (/iP(hone|od)/.test(navigator.platform)) { 1045 var g = navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);
1046 g && g.length > 0 && (g = parseInt(g[1], 10), 1047 g >= 1 && g < 8 && (d.isOldIOSPhone = !0)) 1048 } 1049 var h = f.match(/Android\s([0-9\.]*)/) 1050 , i = h ? h[1] : 0; 1051 i = parseFloat(i), 1052 i >= 1 && (i < 4.4 && (d.isOldAndroid = !0), 1053 d.androidVersion = i), 1054 d.isMobileOpera = /opera mini|opera mobi/i.test(f) 1055 } 1056 for (var j, k, l = ["transform", "perspective", "animationName"], m = ["", "webkit", "Moz", "ms", "O"], n = 0; n < 4; n++) { 1057 c = m[n]; 1058 for (var o = 0; o < 3; o++) 1059 j = l[o], 1060 k = c + (c ? j.charAt(0).toUpperCase() + j.slice(1) : j), 1061 !d[j] && k in b && (d[j] = k); 1062 c && !d.raf && (c = c.toLowerCase(), 1063 d.raf = window[c + "RequestAnimationFrame"], 1064 d.raf && (d.caf = window[c + "CancelAnimationFrame"] || window[c + "CancelRequestAnimationFrame"])) 1065 } 1066 if (!d.raf) { 1067 var p = 0; 1068 d.raf = function(a) { 1069 var b = (new Date).getTime() 1070 , c = Math.max(0, 16 - (b - p)) 1071 , d = window.setTimeout(function() { 1072 a(b + c) 1073 }, c); 1074 return p = b + c, 1075 d 1076 } 1077 , 1078 d.caf = function(a) { 1079 clearTimeout(a) 1080 } 1081 } 1082 return d.svg = !!document.createElementNS && !!document.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGRect, 1083 e.features = d, 1084 d 1085 } 1086 }; 1087 e.detectFeatures(), 1088 e.features.oldIE && (e.bind = function(a, b, c, d) { 1089 b = b.split(" "); 1090 for (var e, f = (d ? "detach" : "attach") + "Event", g = function() { 1091 c.handleEvent.call(c) 1092 }, h = 0; h < b.length; h++) 1093 if (e = b[h]) 1094 if ("object" == typeof c && c.handleEvent) { 1095 if (d) { 1096 if (!c["oldIE" + e]) 1097 return !1 1098 } else 1099 c["oldIE" + e] = g; 1100 a[f]("on" + e, c["oldIE" + e]) 1101 } else 1102 a[f]("on" + e, c) 1103 } 1104 ); 1105 var f = this 1106 , g = 25 1107 , h = 3 1108 , i = { 1109 allowPanToNext: !0, 1110 spacing: .12, 1111 bgOpacity: 1, 1112 mouseUsed: !1, 1113 loop: !0, 1114 pinchToClose: !0, 1115 closeOnScroll: !0, 1116 closeOnVerticalDrag: !0, 1117 verticalDragRange: .75, 1118 hideAnimationDuration: 333, 1119 showAnimationDuration: 333, 1120 showHideOpacity: !1, 1121 focus: !0, 1122 escKey: !0, 1123 arrowKeys: !0, 1124 mainScrollEndFriction: .35, 1125 panEndFriction: .35, 1126 isClickableElement: function(a) { 1127 return "A" === a.tagName 1128 }, 1129 getDoubleTapZoom: function(a, b) { 1130 return a ? 1 : b.initialZoomLevel < .7 ? 1 : 1.33 1131 }, 1132 maxSpreadZoom: 1.33, 1133 modal: !0, 1134 scaleMode: "fit" 1135 }; 1136 e.extend(i, d); 1137 var j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, $, _, aa, ba, ca, da, ea, fa, ga, ha, ia, ja, ka, la, ma = function() { 1138 return { 1139 x: 0, 1140 y: 0 1141 } 1142 }, na = ma(), oa = ma(), pa = ma(), qa = {}, ra = 0, sa = {}, ta = ma(), ua = 0, va = !0, wa = [], xa = {}, ya = !1, za = function(a, b) { 1143 e.extend(f, b.publicMethods), 1144 wa.push(a) 1145 }, Aa = function(a) { 1146 var b = ac(); 1147 return a > b - 1 ? a - b : a < 0 ? b + a : a 1148 }, Ba = {}, Ca = function(a, b) { 1149 return Ba[a] || (Ba[a] = []), 1150 Ba[a].push(b) 1151 }, Da = function(a) { 1152 var b = Ba[a]; 1153 if (b) { 1154 var c = Array.prototype.slice.call(arguments); 1155 c.shift(); 1156 for (var d = 0; d < b.length; d++) 1157 b[d].apply(f, c) 1158 } 1159 }, Ea = function() { 1160 return (new Date).getTime() 1161 }, Fa = function(a) { 1162 ja = a, 1163 f.bg.style.opacity = a * i.bgOpacity 1164 }, Ga = function(a, b, c, d, e) { 1165 (!ya || e && e !== f.currItem) && (d /= e ? e.fitRatio : f.currItem.fitRatio), 1166 a[E] = u + b + "px, " + c + "px" + v + " scale(" + d + ")" 1167 }, Ha = function(a) { 1168 ea && (a && (s > f.currItem.fitRatio ? ya || (mc(f.currItem, !1, !0), 1169 ya = !0) : ya && (mc(f.currItem), 1170 ya = !1)), 1171 Ga(ea, pa.x, pa.y, s)) 1172 }, Ia = function(a) { 1173 a.container && Ga(a.container.style, a.initialPosition.x, a.initialPosition.y, a.initialZoomLevel, a) 1174 }, Ja = function(a, b) { 1175 b[E] = u + a + "px, 0px" + v 1176 }, Ka = function(a, b) { 1177 if (!i.loop && b) { 1178 var c = m + (ta.x * ra - a) / ta.x 1179 , d = Math.round(a - tb.x); 1180 (c < 0 && d > 0 || c >= ac() - 1 && d < 0) && (a = tb.x + d * i.mainScrollEndFriction) 1181 } 1182 tb.x = a, 1183 Ja(a, n) 1184 }, La = function(a, b) { 1185 var c = ub[a] - sa[a]; 1186 return oa[a] + na[a] + c - c * (b / t) 1187 }, Ma = function(a, b) { 1188 a.x = b.x, 1189 a.y = b.y, 1190 b.id && (a.id = b.id) 1191 }, Na = function(a) { 1192 a.x = Math.round(a.x), 1193 a.y = Math.round(a.y) 1194 }, Oa = null, Pa = function() { 1195 Oa && (e.unbind(document, "mousemove", Pa), 1196 e.addClass(a, "pswp--has_mouse"), 1197 i.mouseUsed = !0, 1198 Da("mouseUsed")), 1199 Oa = setTimeout(function() { 1200 Oa = null 1201 }, 100) 1202 }, Qa = function() { 1203 e.bind(document, "keydown", f), 1204 N.transform && e.bind(f.scrollWrap, "click", f), 1205 i.mouseUsed || e.bind(document, "mousemove", Pa), 1206 e.bind(window, "resize scroll orientationchange", f), 1207 Da("bindEvents") 1208 }, Ra = function() { 1209 e.unbind(window, "resize scroll orientationchange", f), 1210 e.unbind(window, "scroll", r.scroll), 1211 e.unbind(document, "keydown", f), 1212 e.unbind(document, "mousemove", Pa), 1213 N.transform && e.unbind(f.scrollWrap, "click", f), 1214 V && e.unbind(window, p, f), 1215 clearTimeout(O), 1216 Da("unbindEvents") 1217 }, Sa = function(a, b) { 1218 var c = ic(f.currItem, qa, a); 1219 return b && (da = c), 1220 c 1221 }, Ta = function(a) { 1222 return a || (a = f.currItem), 1223 a.initialZoomLevel 1224 }, Ua = function(a) { 1225 return a || (a = f.currItem), 1226 a.w > 0 ? i.maxSpreadZoom : 1 1227 }, Va = function(a, b, c, d) { 1228 return d === f.currItem.initialZoomLevel ? (c[a] = f.currItem.initialPosition[a], 1229 !0) : (c[a] = La(a, d), 1230 c[a] > b.min[a] ? (c[a] = b.min[a], 1231 !0) : c[a] < b.max[a] && (c[a] = b.max[a], 1232 !0)) 1233 }, Wa = function() { 1234 if (E) { 1235 var b = N.perspective && !G; 1236 return u = "translate" + (b ? "3d(" : "("), 1237 void (v = N.perspective ? ", 0px)" : ")") 1238 } 1239 E = "left", 1240 e.addClass(a, "pswp--ie"), 1241 Ja = function(a, b) { 1242 b.left = a + "px" 1243 } 1244 , 1245 Ia = function(a) { 1246 var b = a.fitRatio > 1 ? 1 : a.fitRatio 1247 , c = a.container.style 1248 , d = b * a.w 1249 , e = b * a.h; 1250 c.width = d + "px", 1251 c.height = e + "px", 1252 c.left = a.initialPosition.x + "px", 1253 c.top = a.initialPosition.y + "px" 1254 } 1255 , 1256 Ha = function() { 1257 if (ea) { 1258 var a = ea 1259 , b = f.currItem 1260 , c = b.fitRatio > 1 ? 1 : b.fitRatio 1261 , d = c * b.w 1262 , e = c * b.h; 1263 a.width = d + "px", 1264 a.height = e + "px", 1265 a.left = pa.x + "px", 1266 a.top = pa.y + "px" 1267 } 1268 } 1269 }, Xa = function(a) { 1270 var b = ""; 1271 i.escKey && 27 === a.keyCode ? b = "close" : i.arrowKeys && (37 === a.keyCode ? b = "prev" : 39 === a.keyCode && (b = "next")), 1272 b && (a.ctrlKey || a.altKey || a.shiftKey || a.metaKey || (a.preventDefault ? a.preventDefault() : a.returnValue = !1, 1273 f[b]())) 1274 }, Ya = function(a) { 1275 a && (Y || X || fa || T) && (a.preventDefault(), 1276 a.stopPropagation()) 1277 }, Za = function() { 1278 f.setScrollOffset(0, e.getScrollY()) 1279 }, $a = {}, _a = 0, ab = function(a) { 1280 $a[a] && ($a[a].raf && I($a[a].raf), 1281 _a--, 1282 delete $a[a]) 1283 }, bb = function(a) { 1284 $a[a] && ab(a), 1285 $a[a] || (_a++, 1286 $a[a] = {}) 1287 }, cb = function() { 1288 for (var a in $a) 1289 $a.hasOwnProperty(a) && ab(a) 1290 }, db = function(a, b, c, d, e, f, g) { 1291 var h, i = Ea(); 1292 bb(a); 1293 var j = function() {
1294 if ($a[a]) { 1295 if (h = Ea() - i, 1296 h >= d) 1297 return ab(a), 1298 f(c), 1299 void (g && g()); 1300 f((c - b) * e(h / d) + b), 1301 $a[a].raf = H(j) 1302 } 1303 }; 1304 j() 1305 }, eb = { 1306 shout: Da, 1307 listen: Ca, 1308 viewportSize: qa, 1309 options: i, 1310 isMainScrollAnimating: function() { 1311 return fa 1312 }, 1313 getZoomLevel: function() { 1314 return s 1315 }, 1316 getCurrentIndex: function() { 1317 return m 1318 }, 1319 isDragging: function() { 1320 return V 1321 }, 1322 isZooming: function() { 1323 return aa 1324 }, 1325 setScrollOffset: function(a, b) { 1326 sa.x = a, 1327 M = sa.y = b, 1328 Da("updateScrollOffset", sa) 1329 }, 1330 applyZoomPan: function(a, b, c, d) { 1331 pa.x = b, 1332 pa.y = c, 1333 s = a, 1334 Ha(d) 1335 }, 1336 init: function() { 1337 if (!j && !k) { 1338 var c; 1339 f.framework = e, 1340 f.template = a, 1341 f.bg = e.getChildByClass(a, "pswp__bg"), 1342 J = a.className, 1343 j = !0, 1344 N = e.detectFeatures(), 1345 H = N.raf, 1346 I = N.caf, 1347 E = N.transform, 1348 L = N.oldIE, 1349 f.scrollWrap = e.getChildByClass(a, "pswp__scroll-wrap"), 1350 f.container = e.getChildByClass(f.scrollWrap, "pswp__container"), 1351 n = f.container.style, 1352 f.itemHolders = y = [{ 1353 el: f.container.children[0], 1354 wrap: 0, 1355 index: -1 1356 }, { 1357 el: f.container.children[1], 1358 wrap: 0, 1359 index: -1 1360 }, { 1361 el: f.container.children[2], 1362 wrap: 0, 1363 index: -1 1364 }], 1365 y[0].el.style.display = y[2].el.style.display = "none", 1366 Wa(), 1367 r = { 1368 resize: f.updateSize, 1369 orientationchange: function() { 1370 clearTimeout(O), 1371 O = setTimeout(function() { 1372 qa.x !== f.scrollWrap.clientWidth && f.updateSize() 1373 }, 500) 1374 }, 1375 scroll: Za, 1376 keydown: Xa, 1377 click: Ya 1378 }; 1379 var d = N.isOldIOSPhone || N.isOldAndroid || N.isMobileOpera; 1380 for (N.animationName && N.transform && !d || (i.showAnimationDuration = i.hideAnimationDuration = 0), 1381 c = 0; c < wa.length; c++) 1382 f["init" + wa[c]](); 1383 if (b) { 1384 var g = f.ui = new b(f,e); 1385 g.init() 1386 } 1387 Da("firstUpdate"), 1388 m = m || i.index || 0, 1389 (isNaN(m) || m < 0 || m >= ac()) && (m = 0), 1390 f.currItem = _b(m), 1391 (N.isOldIOSPhone || N.isOldAndroid) && (va = !1), 1392 a.setAttribute("aria-hidden", "false"), 1393 i.modal && (va ? a.style.position = "fixed" : (a.style.position = "absolute", 1394 a.style.top = e.getScrollY() + "px")), 1395 void 0 === M && (Da("initialLayout"), 1396 M = K = e.getScrollY()); 1397 var l = "pswp--open "; 1398 for (i.mainClass && (l += i.mainClass + " "), 1399 i.showHideOpacity && (l += "pswp--animate_opacity "),
1400 l += G ? "pswp--touch" : "pswp--notouch", 1401 l += N.animationName ? " pswp--css_animation" : "", 1402 l += N.svg ? " pswp--svg" : "", 1403 e.addClass(a, l), 1404 f.updateSize(), 1405 o = -1, 1406 ua = null, 1407 c = 0; c < h; c++) 1408 Ja((c + o) * ta.x, y[c].el.style); 1409 L || e.bind(f.scrollWrap, q, f), 1410 Ca("initialZoomInEnd", function() { 1411 f.setContent(y[0], m - 1), 1412 f.setContent(y[2], m + 1), 1413 y[0].el.style.display = y[2].el.style.display = "block", 1414 i.focus && a.focus(), 1415 Qa() 1416 }), 1417 f.setContent(y[1], m), 1418 f.updateCurrItem(), 1419 Da("afterInit"), 1420 va || (w = setInterval(function() { 1421 _a || V || aa || s !== f.currItem.initialZoomLevel || f.updateSize() 1422 }, 1e3)), 1423 e.addClass(a, "pswp--visible") 1424 } 1425 }, 1426 close: function() { 1427 j && (j = !1, 1428 k = !0, 1429 Da("close"), 1430 Ra(), 1431 cc(f.currItem, null, !0, f.destroy)) 1432 }, 1433 destroy: function() { 1434 Da("destroy"), 1435 Xb && clearTimeout(Xb), 1436 a.setAttribute("aria-hidden", "true"), 1437 a.className = J, 1438 w && clearInterval(w), 1439 e.unbind(f.scrollWrap, q, f), 1440 e.unbind(window, "scroll", f), 1441 zb(), 1442 cb(), 1443 Ba = null 1444 }, 1445 panTo: function(a, b, c) { 1446 c || (a > da.min.x ? a = da.min.x : a < da.max.x && (a = da.max.x), 1447 b > da.min.y ? b = da.min.y : b < da.max.y && (b = da.max.y)), 1448 pa.x = a, 1449 pa.y = b, 1450 Ha() 1451 }, 1452 handleEvent: function(a) { 1453 a = a || window.event, 1454 r[a.type] && r[a.type](a) 1455 }, 1456 goTo: function(a) { 1457 a = Aa(a); 1458 var b = a - m; 1459 ua = b, 1460 m = a, 1461 f.currItem = _b(m), 1462 ra -= b, 1463 Ka(ta.x * ra), 1464 cb(), 1465 fa = !1, 1466 f.updateCurrItem() 1467 }, 1468 next: function() { 1469 f.goTo(m + 1) 1470 }, 1471 prev: function() { 1472 f.goTo(m - 1) 1473 }, 1474 updateCurrZoomItem: function(a) { 1475 if (a && Da("beforeChange", 0), 1476 y[1].el.children.length) { 1477 var b = y[1].el.children[0]; 1478 ea = e.hasClass(b, "pswp__zoom-wrap") ? b.style : null 1479 } else 1480 ea = null; 1481 da = f.currItem.bounds, 1482 t = s = f.currItem.initialZoomLevel, 1483 pa.x = da.center.x, 1484 pa.y = da.center.y, 1485 a && Da("afterChange") 1486 }, 1487 invalidateCurrItems: function() { 1488 x = !0; 1489 for (var a = 0; a < h; a++) 1490 y[a].item && (y[a].item.needsUpdate = !0) 1491 }, 1492 updateCurrItem: function(a) { 1493 if (0 !== ua) { 1494 var b, c = Math.abs(ua); 1495 if (!(a && c < 2)) { 1496 f.currItem = _b(m), 1497 ya = !1, 1498 Da("beforeChange", ua), 1499 c >= h && (o += ua + (ua > 0 ? -h : h), 1500 c = h); 1501 for (var d = 0; d < c; d++) 1502 ua > 0 ? (b = y.shift(), 1503 y[h - 1] = b, 1504 o++, 1505 Ja((o + 2) * ta.x, b.el.style), 1506 f.setContent(b, m - c + d + 1 + 1)) : (b = y.pop(), 1507 y.unshift(b), 1508 o--, 1509 Ja(o * ta.x, b.el.style), 1510 f.setContent(b, m + c - d - 1 - 1)); 1511 if (ea && 1 === Math.abs(ua)) { 1512 var e = _b(z); 1513 e.initialZoomLevel !== s && (ic(e, qa), 1514 mc(e), 1515 Ia(e)) 1516 } 1517 ua = 0, 1518 f.updateCurrZoomItem(), 1519 z = m, 1520 Da("afterChange") 1521 } 1522 } 1523 }, 1524 updateSize: function(b) { 1525 if (!va && i.modal) { 1526 var c = e.getScrollY(); 1527 if (M !== c && (a.style.top = c + "px", 1528 M = c), 1529 !b && xa.x === window.innerWidth && xa.y === window.innerHeight) 1530 return; 1531 xa.x = window.innerWidth, 1532 xa.y = window.innerHeight, 1533 a.style.height = xa.y + "px" 1534 } 1535 if (qa.x = f.scrollWrap.clientWidth, 1536 qa.y = f.scrollWrap.clientHeight, 1537 Za(), 1538 ta.x = qa.x + Math.round(qa.x * i.spacing), 1539 ta.y = qa.y, 1540 Ka(ta.x * ra), 1541 Da("beforeResize"), 1542 void 0 !== o) { 1543 for (var d, g, j, k = 0; k < h; k++) 1544 d = y[k], 1545 Ja((k + o) * ta.x, d.el.style), 1546 j = m + k - 1, 1547 i.loop && ac() > 2 && (j = Aa(j)), 1548 g = _b(j), 1549 g && (x || g.needsUpdate || !g.bounds) ? (f.cleanSlide(g), 1550 f.setContent(d, j), 1551 1 === k && (f.currItem = g, 1552 f.updateCurrZoomItem(!0)), 1553 g.needsUpdate = !1) : d.index === -1 && j >= 0 && f.setContent(d, j), 1554 g && g.container && (ic(g, qa), 1555 mc(g), 1556 Ia(g)); 1557 x = !1 1558 } 1559 t = s = f.currItem.initialZoomLevel, 1560 da = f.currItem.bounds, 1561 da && (pa.x = da.center.x, 1562 pa.y = da.center.y, 1563 Ha(!0)), 1564 Da("resize") 1565 }, 1566 zoomTo: function(a, b, c, d, f) { 1567 b && (t = s, 1568 ub.x = Math.abs(b.x) - pa.x, 1569 ub.y = Math.abs(b.y) - pa.y, 1570 Ma(oa, pa)); 1571 var g = Sa(a, !1) 1572 , h = {}; 1573 Va("x", g, h, a), 1574 Va("y", g, h, a); 1575 var i = s 1576 , j = { 1577 x: pa.x, 1578 y: pa.y 1579 }; 1580 Na(h); 1581 var k = function(b) { 1582 1 === b ? (s = a, 1583 pa.x = h.x,
1584 pa.y = h.y) : (s = (a - i) * b + i, 1585 pa.x = (h.x - j.x) * b + j.x, 1586 pa.y = (h.y - j.y) * b + j.y), 1587 f && f(b), 1588 Ha(1 === b) 1589 }; 1590 c ? db("customZoomTo", 0, 1, c, d || e.easing.sine.inOut, k) : k(1) 1591 } 1592 }, fb = 30, gb = 10, hb = {}, ib = {}, jb = {}, kb = {}, lb = {}, mb = [], nb = {}, ob = [], pb = {}, qb = 0, rb = ma(), sb = 0, tb = ma(), ub = ma(), vb = ma(), wb = function(a, b) { 1593 return a.x === b.x && a.y === b.y 1594 }, xb = function(a, b) { 1595 return Math.abs(a.x - b.x) < g && Math.abs(a.y - b.y) < g 1596 }, yb = function(a, b) { 1597 return pb.x = Math.abs(a.x - b.x), 1598 pb.y = Math.abs(a.y - b.y), 1599 Math.sqrt(pb.x * pb.x + pb.y * pb.y) 1600 }, zb = function() { 1601 Z && (I(Z), 1602 Z = null) 1603 }, Ab = function() { 1604 V && (Z = H(Ab), 1605 Qb()) 1606 }, Bb = function() { 1607 return !("fit" === i.scaleMode && s === f.currItem.initialZoomLevel) 1608 }, Cb = function(a, b) { 1609 return !(!a || a === document) && (!(a.getAttribute("class") && a.getAttribute("class").indexOf("pswp__scroll-wrap") > -1) && (b(a) ? a : Cb(a.parentNode, b))) 1610 }, Db = {}, Eb = function(a, b) { 1611 return Db.prevent = !Cb(a.target, i.isClickableElement), 1612 Da("preventDragEvent", a, b, Db), 1613 Db.prevent 1614 }, Fb = function(a, b) { 1615 return b.x = a.pageX, 1616 b.y = a.pageY, 1617 b.id = a.identifier, 1618 b 1619 }, Gb = function(a, b, c) { 1620 c.x = .5 * (a.x + b.x), 1621 c.y = .5 * (a.y + b.y) 1622 }, Hb = function(a, b, c) { 1623 if (a - Q > 50) { 1624 var d = ob.length > 2 ? ob.shift() : {}; 1625 d.x = b, 1626 d.y = c, 1627 ob.push(d), 1628 Q = a 1629 } 1630 }, Ib = function() { 1631 var a = pa.y - f.currItem.initialPosition.y; 1632 return 1 - Math.abs(a / (qa.y / 2)) 1633 }, Jb = {}, Kb = {}, Lb = [], Mb = function(a) { 1634 for (; Lb.length > 0; ) 1635 Lb.pop(); 1636 return F ? (la = 0, 1637 mb.forEach(function(a) { 1638 0 === la ? Lb[0] = a : 1 === la && (Lb[1] = a), 1639 la++ 1640 })) : a.type.indexOf("touch") > -1 ? a.touches && a.touches.length > 0 && (Lb[0] = Fb(a.touches[0], Jb), 1641 a.touches.length > 1 && (Lb[1] = Fb(a.touches[1], Kb))) : (Jb.x = a.pageX, 1642 Jb.y = a.pageY, 1643 Jb.id = "", 1644 Lb[0] = Jb), 1645 Lb 1646 }, Nb = function(a, b) { 1647 var c, d, e, g, h = 0, j = pa[a] + b[a], k = b[a] > 0, l = tb.x + b.x, m = tb.x - nb.x; 1648 return c = j > da.min[a] || j < da.max[a] ? i.panEndFriction : 1, 1649 j = pa[a] + b[a] * c, 1650 !i.allowPanToNext && s !== f.currItem.initialZoomLevel || (ea ? "h" !== ga || "x" !== a || X || (k ? (j > da.min[a] && (c = i.panEndFriction, 1651 h = da.min[a] - j, 1652 d = da.min[a] - oa[a]), 1653 (d <= 0 || m < 0) && ac() > 1 ? (g = l, 1654 m < 0 && l > nb.x && (g = nb.x)) : da.min.x !== da.max.x && (e = j)) : (j < da.max[a] && (c = i.panEndFriction, 1655 h = j - da.max[a], 1656 d = oa[a] - da.max[a]), 1657 (d <= 0 || m > 0) && ac() > 1 ? (g = l, 1658 m > 0 && l < nb.x && (g = nb.x)) : da.min.x !== da.max.x && (e = j))) : g = l, 1659 "x" !== a) ? void (fa || $ || s > f.currItem.fitRatio && (pa[a] += b[a] * c)) : (void 0 !== g && (Ka(g, !0), 1660 $ = g !== nb.x), 1661 da.min.x !== da.max.x && (void 0 !== e ? pa.x = e : $ || (pa.x += b.x * c)), 1662 void 0 !== g) 1663 }, Ob = function(a) { 1664 if (!("mousedown" === a.type && a.button > 0)) { 1665 if ($b) 1666 return void a.preventDefault(); 1667 if (!U || "mousedown" !== a.type) { 1668 if (Eb(a, !0) && a.preventDefault(), 1669 Da("pointerDown"), 1670 F) { 1671 var b = e.arraySearch(mb, a.pointerId, "id"); 1672 b < 0 && (b = mb.length), 1673 mb[b] = { 1674 x: a.pageX, 1675 y: a.pageY, 1676 id: a.pointerId 1677 } 1678 } 1679 var c = Mb(a) 1680 , d = c.length; 1681 _ = null, 1682 cb(),
1683 V && 1 !== d || (V = ha = !0, 1684 e.bind(window, p, f), 1685 S = ka = ia = T = $ = Y = W = X = !1, 1686 ga = null, 1687 Da("firstTouchStart", c), 1688 Ma(oa, pa), 1689 na.x = na.y = 0, 1690 Ma(kb, c[0]), 1691 Ma(lb, kb), 1692 nb.x = ta.x * ra, 1693 ob = [{ 1694 x: kb.x, 1695 y: kb.y 1696 }], 1697 Q = P = Ea(), 1698 Sa(s, !0), 1699 zb(), 1700 Ab()), 1701 !aa && d > 1 && !fa && !$ && (t = s, 1702 X = !1, 1703 aa = W = !0, 1704 na.y = na.x = 0, 1705 Ma(oa, pa), 1706 Ma(hb, c[0]), 1707 Ma(ib, c[1]), 1708 Gb(hb, ib, vb), 1709 ub.x = Math.abs(vb.x) - pa.x, 1710 ub.y = Math.abs(vb.y) - pa.y, 1711 ba = ca = yb(hb, ib)) 1712 } 1713 } 1714 }, Pb = function(a) { 1715 if (a.preventDefault(), 1716 F) { 1717 var b = e.arraySearch(mb, a.pointerId, "id"); 1718 if (b > -1) { 1719 var c = mb[b]; 1720 c.x = a.pageX, 1721 c.y = a.pageY 1722 } 1723 } 1724 if (V) { 1725 var d = Mb(a); 1726 if (ga || Y || aa) 1727 _ = d; 1728 else if (tb.x !== ta.x * ra) 1729 ga = "h"; 1730 else { 1731 var f = Math.abs(d[0].x - kb.x) - Math.abs(d[0].y - kb.y); 1732 Math.abs(f) >= gb && (ga = f > 0 ? "h" : "v", 1733 _ = d) 1734 } 1735 } 1736 }, Qb = function() { 1737 if (_) { 1738 var a = _.length; 1739 if (0 !== a) 1740 if (Ma(hb, _[0]), 1741 jb.x = hb.x - kb.x, 1742 jb.y = hb.y - kb.y, 1743 aa && a > 1) { 1744 if (kb.x = hb.x, 1745 kb.y = hb.y, 1746 !jb.x && !jb.y && wb(_[1], ib)) 1747 return; 1748 Ma(ib, _[1]), 1749 X || (X = !0, 1750 Da("zoomGestureStarted")); 1751 var b = yb(hb, ib) 1752 , c = Vb(b); 1753 c > f.currItem.initialZoomLevel + f.currItem.initialZoomLevel / 15 && (ka = !0); 1754 var d = 1 1755 , e = Ta() 1756 , g = Ua(); 1757 if (c < e) 1758 if (i.pinchToClose && !ka && t <= f.currItem.initialZoomLevel) { 1759 var h = e - c 1760 , j = 1 - h / (e / 1.2); 1761 Fa(j), 1762 Da("onPinchClose", j), 1763 ia = !0 1764 } else 1765 d = (e - c) / e, 1766 d > 1 && (d = 1), 1767 c = e - d * (e / 3); 1768 else 1769 c > g && (d = (c - g) / (6 * e), 1770 d > 1 && (d = 1), 1771 c = g + d * e); 1772 d < 0 && (d = 0), 1773 ba = b, 1774 Gb(hb, ib, rb), 1775 na.x += rb.x - vb.x, 1776 na.y += rb.y - vb.y, 1777 Ma(vb, rb), 1778 pa.x = La("x", c), 1779 pa.y = La("y", c), 1780 S = c > s, 1781 s = c, 1782 Ha() 1783 } else { 1784 if (!ga) 1785 return; 1786 if (ha && (ha = !1, 1787 Math.abs(jb.x) >= gb && (jb.x -= _[0].x - lb.x), 1788 Math.abs(jb.y) >= gb && (jb.y -= _[0].y - lb.y)), 1789 kb.x = hb.x, 1790 kb.y = hb.y, 1791 0 === jb.x && 0 === jb.y) 1792 return; 1793 if ("v" === ga && i.closeOnVerticalDrag && !Bb()) { 1794 na.y += jb.y, 1795 pa.y += jb.y; 1796 var k = Ib(); 1797 return T = !0, 1798 Da("onVerticalDrag", k), 1799 Fa(k), 1800 void Ha() 1801 } 1802 Hb(Ea(), hb.x, hb.y), 1803 Y = !0, 1804 da = f.currItem.bounds; 1805 var l = Nb("x", jb); 1806 l || (Nb("y", jb), 1807 Na(pa), 1808 Ha()) 1809 } 1810 } 1811 }, Rb = function(a) { 1812 if (N.isOldAndroid) { 1813 if (U && "mouseup" === a.type) 1814 return; 1815 a.type.indexOf("touch") > -1 && (clearTimeout(U), 1816 U = setTimeout(function() { 1817 U = 0 1818 }, 600)) 1819 } 1820 Da("pointerUp"), 1821 Eb(a, !1) && a.preventDefault(); 1822 var b; 1823 if (F) { 1824 var c = e.arraySearch(mb, a.pointerId, "id"); 1825 if (c > -1) 1826 if (b = mb.splice(c, 1)[0], 1827 navigator.msPointerEnabled) { 1828 var d = { 1829 4: "mouse", 1830 2: "touch", 1831 3: "pen" 1832 }; 1833 b.type = d[a.pointerType], 1834 b.type || (b.type = a.pointerType || "mouse") 1835 } else 1836 b.type = a.pointerType || "mouse" 1837 } 1838 var g, h = Mb(a), j = h.length; 1839 if ("mouseup" === a.type && (j = 0), 1840 2 === j) 1841 return _ = null, 1842 !0; 1843 1 === j && Ma(lb, h[0]), 1844 0 !== j || ga || fa || (b || ("mouseup" === a.type ? b = { 1845 x: a.pageX, 1846 y: a.pageY, 1847 type: "mouse" 1848 } : a.changedTouches && a.changedTouches[0] && (b = { 1849 x: a.changedTouches[0].pageX, 1850 y: a.changedTouches[0].pageY, 1851 type: "touch" 1852 })), 1853 Da("touchRelease", a, b)); 1854 var k = -1; 1855 if (0 === j && (V = !1, 1856 e.unbind(window, p, f), 1857 zb(), 1858 aa ? k = 0 : sb !== -1 && (k = Ea() - sb)), 1859 sb = 1 === j ? Ea() : -1, 1860 g = k !== -1 && k < 150 ? "zoom" : "swipe", 1861 aa && j < 2 && (aa = !1, 1862 1 === j && (g = "zoomPointerUp"), 1863 Da("zoomGestureEnded")), 1864 _ = null, 1865 Y || X || fa || T) 1866 if (cb(), 1867 R || (R = Sb()), 1868 R.calculateSwipeSpeed("x"), 1869 T) { 1870 var l = Ib(); 1871 if (l < i.verticalDragRange) 1872 f.close(); 1873 else { 1874 var m = pa.y 1875 , n = ja; 1876 db("verticalDrag", 0, 1, 300, e.easing.cubic.out, function(a) { 1877 pa.y = (f.currItem.initialPosition.y - m) * a + m, 1878 Fa((1 - n) * a + n), 1879 Ha() 1880 }), 1881 Da("onVerticalDrag", 1) 1882 } 1883 } else { 1884 if (($ || fa) && 0 === j) { 1885 var o = Ub(g, R); 1886 if (o) 1887 return; 1888 g = "zoomPointerUp" 1889 } 1890 if (!fa) 1891 return "swipe" !== g ? void Wb() : void (!$ && s > f.currItem.fitRatio && Tb(R)) 1892 } 1893 }, Sb = function() { 1894 var a, b, c = { 1895 lastFlickOffset: {}, 1896 lastFlickDist: {}, 1897 lastFlickSpeed: {}, 1898 slowDownRatio: {}, 1899 slowDownRatioReverse: {}, 1900 speedDecelerationRatio: {}, 1901 speedDecelerationRatioAbs: {}, 1902 distanceOffset: {}, 1903 backAnimDestination: {}, 1904 backAnimStarted: {}, 1905 calculateSwipeSpeed: function(d) { 1906 ob.length > 1 ? (a = Ea() - Q + 50, 1907 b = ob[ob.length - 2][d]) : (a = Ea() - P, 1908 b = lb[d]), 1909 c.lastFlickOffset[d] = kb[d] - b, 1910 c.lastFlickDist[d] = Math.abs(c.lastFlickOffset[d]), 1911 c.lastFlickDist[d] > 20 ? c.lastFlickSpeed[d] = c.lastFlickOffset[d] / a : c.lastFlickSpeed[d] = 0, 1912 Math.abs(c.lastFlickSpeed[d]) < .1 && (c.lastFlickSpeed[d] = 0), 1913 c.slowDownRatio[d] = .95, 1914 c.slowDownRatioReverse[d] = 1 - c.slowDownRatio[d], 1915 c.speedDecelerationRatio[d] = 1 1916 }, 1917 calculateOverBoundsAnimOffset: function(a, b) { 1918 c.backAnimStarted[a] || (pa[a] > da.min[a] ? c.backAnimDestination[a] = da.min[a] : pa[a] < da.max[a] && (c.backA
1918nimDestination[a] = da.max[a]), 1919 void 0 !== c.backAnimDestination[a] && (c.slowDownRatio[a] = .7, 1920 c.slowDownRatioReverse[a] = 1 - c.slowDownRatio[a], 1921 c.speedDecelerationRatioAbs[a] < .05 && (c.lastFlickSpeed[a] = 0, 1922 c.backAnimStarted[a] = !0, 1923 db("bounceZoomPan" + a, pa[a], c.backAnimDestination[a], b || 300, e.easing.sine.out, function(b) { 1924 pa[a] = b, 1925 Ha() 1926 })))) 1927 }, 1928 calculateAnimOffset: function(a) { 1929 c.backAnimStarted[a] || (c.speedDecelerationRatio[a] = c.speedDecelerationRatio[a] * (c.slowDownRatio[a] + c.slowDownRatioReverse[a] - c.slowDownRatioReverse[a] * c.timeDiff / 10), 1930 c.speedDecelerationRatioAbs[a] = Math.abs(c.lastFlickSpeed[a] * c.speedDecelerationRatio[a]), 1931 c.distanceOffset[a] = c.lastFlickSpeed[a] * c.speedDecelerationRatio[a] * c.timeDiff, 1932 pa[a] += c.distanceOffset[a]) 1933 }, 1934 panAnimLoop: function() { 1935 if ($a.zoomPan && ($a.zoomPan.raf = H(c.panAnimLoop), 1936 c.now = Ea(), 1937 c.timeDiff = c.now - c.lastNow, 1938 c.lastNow = c.now, 1939 c.calculateAnimOffset("x"), 1940 c.calculateAnimOffset("y"), 1941 Ha(), 1942 c.calculateOverBoundsAnimOffset("x"), 1943 c.calculateOverBoundsAnimOffset("y"), 1944 c.speedDecelerationRatioAbs.x < .05 && c.speedDecelerationRatioAbs.y < .05)) 1945 return pa.x = Math.round(pa.x), 1946 pa.y = Math.round(pa.y), 1947 Ha(), 1948 void ab("zoomPan") 1949 } 1950 }; 1951 return c 1952 }, Tb = function(a) { 1953 return a.calculateSwipeSpeed("y"), 1954 da = f.currItem.bounds, 1955 a.backAnimDestination = {}, 1956 a.backAnimStarted = {}, 1957 Math.abs(a.lastFlickSpeed.x) <= .05 && Math.abs(a.lastFlickSpeed.y) <= .05 ? (a.speedDecelerationRatioAbs.x = a.speedDecelerationRatioAbs.y = 0, 1958 a.calculateOverBoundsAnimOffset("x"), 1959 a.calculateOverBoundsAnimOffset("y"), 1960 !0) : (bb("zoomPan"), 1961 a.lastNow = Ea(), 1962 void a.panAnimLoop()) 1963 }, Ub = function(a, b) { 1964 var c; 1965 fa || (qb = m); 1966 var d; 1967 if ("swipe" === a) { 1968 var g = kb.x - lb.x 1969 , h = b.lastFlickDist.x < 10; 1970 g > fb && (h || b.lastFlickOffset.x > 20) ? d = -1 : g < -fb && (h || b.lastFlickOffset.x < -20) && (d = 1) 1971 } 1972 var j; 1973 d && (m += d, 1974 m < 0 ? (m = i.loop ? ac() - 1 : 0, 1975 j = !0) : m >= ac() && (m = i.loop ? 0 : ac() - 1, 1976 j = !0), 1977 j && !i.loop || (ua += d, 1978 ra -= d, 1979 c = !0)); 1980 var k, l = ta.x * ra, n = Math.abs(l - tb.x); 1981 return c || l > tb.x == b.lastFlickSpeed.x > 0 ? (k = Math.abs(b.lastFlickSpeed.x) > 0 ? n / Math.abs(b.lastFlickSpeed.x) : 333, 1982 k = Math.min(k, 400), 1983 k = Math.max(k, 250)) : k = 333, 1984 qb === m && (c = !1), 1985 fa = !0, 1986 Da("mainScrollAnimStart"), 1987 db("mainScroll", tb.x, l, k, e.easing.cubic.out, Ka, function() { 1988 cb(), 1989 fa = !1, 1990 qb = -1, 1991 (c || qb !== m) && f.updateCurrItem(), 1992 Da("mainScrollAnimComplete") 1993 }), 1994 c && f.updateCurrItem(!0), 1995 c 1996 }, Vb = function(a) { 1997 return 1 / ca * a * t 1998 }, Wb = function() { 1999 var a = s 2000 , b = Ta() 2001 , c = Ua(); 2002 s < b ? a = b : s > c && (a = c); 2003 var d, g = 1, h = ja; 2004 return ia && !S && !ka && s < b ? (f.close(), 2005 !0) : (ia && (d = function(a) { 2006 Fa((g - h) * a + h) 2007 } 2008 ), 2009 f.zoomTo(a, 0, 200, e.easing.cubic.out, d), 2010 !0) 2011 }; 2012 za("Gestures", { 2013 publicMethods: { 2014 initGestures: function() { 2015 var a = function(a, b, c, d, e) { 2016 A = a + b, 2017 B = a + c, 2018 C = a + d, 2019 D = e ? a + e : "" 2020 }; 2021 F = N.pointerEvent, 2022 F && N.touch && (N.touch = !1), 2023 F ? navigator.msPointerEnabled ? a("MSPointer", "Down", "Move", "Up", "Cancel") : a("pointer", "down", "move", "up", "cancel") : N.touch ? (a("touch", "start", "move", "end", "cancel"), 2024 G = !0) : a("mouse", "down", "move", "up"), 2025 p = B + " " + C + " " + D, 2026 q = A, 2027 F && !G && (G = navigator.maxTouchPoints > 1 || navigator.msMaxTouchPoints > 1), 2028 f.likelyTouchDevice = G, 2029 r[A] = Ob, 2030 r[B] = Pb, 2031 r[C] = Rb, 2032 D && (r[D] = r[C]), 2033 N.touch && (q += " mousedown", 2034 p += " mousemove mouseup", 2035 r.mousedown = r[A], 2036 r.mousemove = r[B], 2037 r.mouseup = r[C]), 2038 G || (i.allowPanToNext = !1) 2039 } 2040 } 2041 }); 2042 var Xb, Yb, Zb, $b, _b, ac, bc, cc = function(b, c, d, g) { 2043 Xb && clearTimeout(Xb), 2044 $b = !0, 2045 Zb = !0; 2046 var h; 2047 b.initialLayout ? (h = b.initialLayout, 2048 b.initialLayout = null) : h = i.getThumbBoundsFn && i.getThumbBoundsFn(m); 2049 var j = d ? i.hideAnimationDuration : i.showAnimationDuration 2050 , k = function() { 2051 ab("initialZoom"), 2052 d ? (f.template.removeAttribute("style"), 2053 f.bg.removeAttribute("style")) : (Fa(1), 2054 c && (c.style.display = "block"), 2055 e.addClass(a, "pswp--animated-in"), 2056 Da("initialZoom" + (d ? "OutEnd" : "InEnd"))), 2057 g && g(), 2058 $b = !1 2059 }; 2060 if (!j || !h || void 0 === h.x) 2061 return Da("initialZoom" + (d ? "Out" : "In")), 2062 s = b.initialZoomLevel, 2063 Ma(pa, b.initialPosition), 2064 Ha(), 2065 a.style.opacity = d ? 0 : 1, 2066 Fa(1), 2067 void (j ? setTimeout(function() { 2068 k() 2069 }, j) : k()); 2070 var n = function() { 2071 var c = l 2072 , g = !f.currItem.src || f.currItem.loadError || i.showHideOpacity; 2073 b.miniImg && (b.miniImg.style.webkitBackfaceVisibility = "hidden"), 2074 d || (s = h.w / b.w, 2075 pa.x = h.x, 2076 pa.y = h.y - K, 2077 f[g ? "template" : "bg"].style.opacity = .001, 2078 Ha()), 2079 bb("initialZoom"), 2080 d && !c && e.removeClass(a, "pswp--animated-in"), 2081 g && (d ? e[(c ? "remove" : "add") + "Class"](a, "pswp--animate_opacity") : setTimeout(function() { 2082 e.addClass(a, "pswp--animate_opacity") 2083 }, 30)), 2084 Xb = setTimeout(function() { 2085 if (Da("initialZoom" + (d ? "Out" : "In")), 2086 d) { 2087 var f = h.w / b.w 2088 , i = { 2089 x: pa.x, 2090 y: pa.y 2091 } 2092 , l = s 2093 , m = ja 2094 , n = function(b) { 2095 1 === b ? (s = f, 2096 pa.x = h.x, 2097 pa.y = h.y - M) : (s = (f - l) * b + l, 2098 pa.x = (h.x - i.x) * b + i.x, 2099 pa.y = (h.y - M - i.y) * b + i.y), 2100 Ha(), 2101 g ? a.style.opacity = 1 - b : Fa(m - b * m) 2102 }; 2103 c ? db("initialZoom", 0, 1, j, e.easing.cubic.out, n, k) : (n(1), 2104 Xb = setTimeout(k, j + 20)) 2105 } else 2106 s = b.initialZoomLevel, 2107 Ma(pa, b.initialPosition), 2108 Ha(), 2109 Fa(1), 2110 g ? a.style.opacity = 1 : Fa(1), 2111 Xb = setTimeout(k, j + 20) 2112 }
2112, d ? 25 : 90) 2113 }; 2114 n() 2115 }, dc = {}, ec = [], fc = { 2116 index: 0, 2117 errorMsg: '<div class="pswp__error-msg"><a href="%url%" target="_blank">The image</a> could not be loaded.</div>', 2118 forceProgressiveLoading: !1, 2119 preload: [1, 1], 2120 getNumItemsFn: function() { 2121 return Yb.length 2122 } 2123 }, gc = function() { 2124 return { 2125 center: { 2126 x: 0, 2127 y: 0 2128 }, 2129 max: { 2130 x: 0, 2131 y: 0 2132 }, 2133 min: { 2134 x: 0, 2135 y: 0 2136 } 2137 } 2138 }, hc = function(a, b, c) { 2139 var d = a.bounds; 2140 d.center.x = Math.round((dc.x - b) / 2), 2141 d.center.y = Math.round((dc.y - c) / 2) + a.vGap.top, 2142 d.max.x = b > dc.x ? Math.round(dc.x - b) : d.center.x, 2143 d.max.y = c > dc.y ? Math.round(dc.y - c) + a.vGap.top : d.center.y, 2144 d.min.x = b > dc.x ? 0 : d.center.x, 2145 d.min.y = c > dc.y ? a.vGap.top : d.center.y 2146 }, ic = function(a, b, c) { 2147 if (a.src && !a.loadError) { 2148 var d = !c; 2149 if (d && (a.vGap || (a.vGap = { 2150 top: 0, 2151 bottom: 0 2152 }), 2153 Da("parseVerticalMargin", a)), 2154 dc.x = b.x, 2155 dc.y = b.y - a.vGap.top - a.vGap.bottom, 2156 d) { 2157 var e = dc.x / a.w 2158 , f = dc.y / a.h; 2159 a.fitRatio = e < f ? e : f; 2160 var g = i.scaleMode; 2161 "orig" === g ? c = 1 : "fit" === g && (c = a.fitRatio), 2162 c > 1 && (c = 1), 2163 a.initialZoomLevel = c, 2164 a.bounds || (a.bounds = gc()) 2165 } 2166 if (!c) 2167 return; 2168 return hc(a, a.w * c, a.h * c), 2169 d && c === a.initialZoomLevel && (a.initialPosition = a.bounds.center), 2170 a.bounds 2171 } 2172 return a.w = a.h = 0, 2173 a.initialZoomLevel = a.fitRatio = 1, 2174 a.bounds = gc(), 2175 a.initialPosition = a.bounds.center, 2176 a.bounds 2177 }, jc = function(a, b, c, d, e, g) { 2178 b.loadError || d && (b.imageAppended = !0, 2179 mc(b, d, b === f.currItem && ya), 2180 c.appendChild(d), 2181 g && setTimeout(function() { 2182 b && b.loaded && b.placeholder && (b.placeholder.style.display = "none", 2183 b.placeholder = null) 2184 }, 500)) 2185 }, kc = function(a) { 2186 a.loading = !0, 2187 a.loaded = !1; 2188 var b = a.img = e.createEl("pswp__img", "img") 2189 , c = function() { 2190 a.loading = !1, 2191 a.loaded = !0, 2192 a.loadComplete ? a.loadComplete(a) : a.img = null, 2193 b.onload = b.onerror = null, 2194 b = null 2195 }; 2196 return b.onload = c, 2197 b.onerror = function() { 2198 a.loadError = !0, 2199 c() 2200 } 2201 , 2202 b.src = a.src, 2203 b 2204 }, lc = function(a, b) { 2205 if (a.src && a.loadError && a.container) 2206 return b && (a.container.innerHTML = ""), 2207 a.container.innerHTML = i.errorMsg.replace("%url%", a.src), 2208 !0 2209 }, mc = function(a, b, c) { 2210 if (a.src) { 2211 b || (b = a.container.lastChild); 2212 var d = c ? a.w : Math.round(a.w * a.fitRatio) 2213 , e = c ? a.h : Math.round(a.h * a.fitRatio); 2214 a.placeholder && !a.loaded && (a.placeholder.style.width = d + "px", 2215 a.placeholder.style.height = e + "px"), 2216 b.style.width = d + "px", 2217 b.style.height = e + "px" 2218 } 2219 }, nc = function() { 2220 if (ec.length) { 2221 for (var a, b = 0; b < ec.length; b++) 2222 a = ec[b], 2223 a.holder.index === a.index && jc(a.index, a.item, a.baseDiv, a.img, !1, a.clearPlaceholder); 2224 ec = [] 2225 } 2226 }; 2227 za("Controller", { 2228 publicMethods: { 2229 lazyLoadItem: function(a) { 2230 a = Aa(a); 2231 var b = _b(a); 2232 b && (!b.loaded && !b.loading || x) && (Da("gettingData", a, b), 2233 b.src && kc(b)) 2234 }, 2235 initController: function() { 2236 e.extend(i, fc, !0), 2237 f.items = Yb = c, 2238 _b = f.getItemAt,
2239 ac = i.getNumItemsFn, 2240 bc = i.loop, 2241 ac() < 3 && (i.loop = !1), 2242 Ca("beforeChange", function(a) { 2243 var b, c = i.preload, d = null === a || a >= 0, e = Math.min(c[0], ac()), g = Math.min(c[1], ac()); 2244 for (b = 1; b <= (d ? g : e); b++) 2245 f.lazyLoadItem(m + b); 2246 for (b = 1; b <= (d ? e : g); b++) 2247 f.lazyLoadItem(m - b) 2248 }), 2249 Ca("initialLayout", function() { 2250 f.currItem.initialLayout = i.getThumbBoundsFn && i.getThumbBoundsFn(m) 2251 }), 2252 Ca("mainScrollAnimComplete", nc), 2253 Ca("initialZoomInEnd", nc), 2254 Ca("destroy", function() { 2255 for (var a, b = 0; b < Yb.length; b++) 2256 a = Yb[b], 2257 a.container && (a.container = null), 2258 a.placeholder && (a.placeholder = null), 2259 a.img && (a.img = null), 2260 a.preloader && (a.preloader = null), 2261 a.loadError && (a.loaded = a.loadError = !1); 2262 ec = null 2263 }) 2264 }, 2265 getItemAt: function(a) { 2266 return a >= 0 && (void 0 !== Yb[a] && Yb[a]) 2267 }, 2268 allowProgressiveImg: function() { 2269 return i.forceProgressiveLoading || !G || i.mouseUsed || screen.width > 1200 2270 }, 2271 setContent: function(a, b) { 2272 i.loop && (b = Aa(b)); 2273 var c = f.getItemAt(a.index); 2274 c && (c.container = null); 2275 var d, g = f.getItemAt(b); 2276 if (!g) 2277 return void (a.el.innerHTML = ""); 2278 Da("gettingData", b, g), 2279 a.index = b, 2280 a.item = g; 2281 var h = g.container = e.createEl("pswp__zoom-wrap"); 2282 if (!g.src && g.html && (g.html.tagName ? h.appendChild(g.html) : h.innerHTML = g.html), 2283 lc(g), 2284 ic(g, qa), 2285 !g.src || g.loadError || g.loaded) 2286 g.src && !g.loadError && (d = e.createEl("pswp__img", "img"), 2287 d.style.opacity = 1, 2288 d.src = g.src, 2289 mc(g, d), 2290 jc(b, g, h, d, !0)); 2291 else { 2292 if (g.loadComplete = function(c) { 2293 if (j) { 2294 if (a && a.index === b) { 2295 if (lc(c, !0)) 2296 return c.loadComplete = c.img = null, 2297 ic(c, qa), 2298 Ia(c), 2299 void (a.index === m && f.updateCurrZoomItem()); 2300 c.imageAppended ? !$b && c.placeholder && (c.placeholder.style.display = "none", 2301 c.placeholder = null) : N.transform && (fa || $b) ? ec.push({ 2302 item: c, 2303 baseDiv: h, 2304 img: c.img, 2305 index: b, 2306 holder: a, 2307 clearPlaceholder: !0 2308 }) : jc(b, c, h, c.img, fa || $b, !0) 2309 } 2310 c.loadComplete = null, 2311 c.img = null, 2312 Da("imageLoadComplete", b, c) 2313 } 2314 } 2315 , 2316 e.features.transform) { 2317 var k = "pswp__img pswp__img--placeholder"; 2318 k += g.msrc ? "" : " pswp__img--placeholder--blank"; 2319 var l = e.createEl(k, g.msrc ? "img" : ""); 2320 g.msrc && (l.src = g.msrc), 2321 mc(g, l), 2322 h.appendChild(l), 2323 g.placeholder = l 2324 } 2325 g.loading || kc(g), 2326 f.allowProgressiveImg() && (!Zb && N.transform ? ec.push({ 2327 item: g, 2328 baseDiv: h, 2329 img: g.img, 2330 index: b, 2331 holder: a 2332 }) : jc(b, g, h, g.img, !0, !0)) 2333 } 2334 Zb || b !== m ? Ia(g) : (ea = h.style, 2335 cc(g, d || g.img)), 2336 a.el.innerHTML = "", 2337 a.el.appendChild(h) 2338 }, 2339 cleanSlide: function(a) { 2340 a.img && (a.img.onload = a.img.onerror = null), 2341 a.loaded = a.loading = a.img = a.imageAppended = !1 2342 } 2343 } 2344 }); 2345 var oc, pc = {}, qc = function(a, b, c) { 2346 var d = document.createEvent("CustomEvent") 2347 , e = { 2348 origEvent: a, 2349 target: a.target, 2350 releasePoint: b, 2351 pointerType: c || "touch" 2352 }; 2353 d.initCustomEvent("pswpTap", !0, !0, e), 2354 a.target.dispatchEvent(d) 2355 }; 2356 za("Tap", { 2357 publicMethods: { 2358 initTap: function() {
2359 Ca("firstTouchStart", f.onTapStart), 2360 Ca("touchRelease", f.onTapRelease), 2361 Ca("destroy", function() { 2362 pc = {}, 2363 oc = null 2364 }) 2365 }, 2366 onTapStart: function(a) { 2367 a.length > 1 && (clearTimeout(oc), 2368 oc = null) 2369 }, 2370 onTapRelease: function(a, b) { 2371 if (b && !Y && !W && !_a) { 2372 var c = b; 2373 if (oc && (clearTimeout(oc), 2374 oc = null, 2375 xb(c, pc))) 2376 return void Da("doubleTap", c); 2377 if ("mouse" === b.type) 2378 return void qc(a, b, "mouse"); 2379 var d = a.target.tagName.toUpperCase(); 2380 if ("BUTTON" === d || e.hasClass(a.target, "pswp__single-tap")) 2381 return void qc(a, b); 2382 Ma(pc, c), 2383 oc = setTimeout(function() { 2384 qc(a, b), 2385 oc = null 2386 }, 300) 2387 } 2388 } 2389 } 2390 }); 2391 var rc; 2392 za("DesktopZoom", { 2393 publicMethods: { 2394 initDesktopZoom: function() { 2395 L || (G ? Ca("mouseUsed", function() { 2396 f.setupDesktopZoom() 2397 }) : f.setupDesktopZoom(!0)) 2398 }, 2399 setupDesktopZoom: function(b) { 2400 rc = {}; 2401 var c = "wheel mousewheel DOMMouseScroll"; 2402 Ca("bindEvents", function() { 2403 e.bind(a, c, f.handleMouseWheel) 2404 }), 2405 Ca("unbindEvents", function() { 2406 rc && e.unbind(a, c, f.handleMouseWheel) 2407 }), 2408 f.mouseZoomedIn = !1; 2409 var d, g = function() { 2410 f.mouseZoomedIn && (e.removeClass(a, "pswp--zoomed-in"), 2411 f.mouseZoomedIn = !1), 2412 s < 1 ? e.addClass(a, "pswp--zoom-allowed") : e.removeClass(a, "pswp--zoom-allowed"), 2413 h() 2414 }, h = function() { 2415 d && (e.removeClass(a, "pswp--dragging"), 2416 d = !1) 2417 }; 2418 Ca("resize", g), 2419 Ca("afterChange", g), 2420 Ca("pointerDown", function() { 2421 f.mouseZoomedIn && (d = !0, 2422 e.addClass(a, "pswp--dragging")) 2423 }), 2424 Ca("pointerUp", h), 2425 b || g() 2426 }, 2427 handleMouseWheel: function(a) { 2428 if (s <= f.currItem.fitRatio) 2429 return i.modal && (!i.closeOnScroll || _a || V ? a.preventDefault() : E && Math.abs(a.deltaY) > 2 && (l = !0, 2430 f.close())), 2431 !0; 2432 if (a.stopPropagation(), 2433 rc.x = 0, 2434 "deltaX"in a) 2435 1 === a.deltaMode ? (rc.x = 18 * a.deltaX, 2436 rc.y = 18 * a.deltaY) : (rc.x = a.deltaX, 2437 rc.y = a.deltaY); 2438 else if ("wheelDelta"in a) 2439 a.wheelDeltaX && (rc.x = -.16 * a.wheelDeltaX), 2440 a.wheelDeltaY ? rc.y = -.16 * a.wheelDeltaY : rc.y = -.16 * a.wheelDelta; 2441 else { 2442 if (!("detail"in a)) 2443 return; 2444 rc.y = a.detail 2445 } 2446 Sa(s, !0); 2447 var b = pa.x - rc.x 2448 , c = pa.y - rc.y; 2449 (i.modal || b <= da.min.x && b >= da.max.x && c <= da.min.y && c >= da.max.y) && a.preventDefault(), 2450 f.panTo(b, c) 2451 }, 2452 toggleDesktopZoom: function(b) { 2453 b = b || { 2454 x: qa.x / 2 + sa.x, 2455 y: qa.y / 2 + sa.y 2456 }; 2457 var c = i.getDoubleTapZoom(!0, f.currItem) 2458 , d = s === c; 2459 f.mouseZoomedIn = !d, 2460 f.zoomTo(d ? f.currItem.initialZoomLevel : c, b, 333), 2461 e[(d ? "remove" : "add") + "Class"](a, "pswp--zoomed-in") 2462 } 2463 } 2464 }); 2465 var sc, tc, uc, vc, wc, xc, yc, zc, Ac, Bc, Cc, Dc, Ec = { 2466 history: !0, 2467 galleryUID: 1 2468 }, Fc = function() { 2469 return Cc.hash.substring(1) 2470 }, Gc = function() { 2471 sc && clearTimeout(sc), 2472 uc && clearTimeout(uc) 2473 }, Hc = function() { 2474 var a = Fc() 2475 , b = {}; 2476 if (a.length < 5) 2477 return b; 2478 var c, d = a.split("&"); 2479 for (c = 0; c < d.length; c++) 2480 if (d[c]) { 2481 var e = d[c].split("="); 2482 e.length < 2 || (b[e[0]] = e[1]) 2483 } 2484 if (i.galleryPIDs) { 2485 var f = b.pid; 2486 for (b.pid = 0, 2487 c = 0; c < Yb.length; c++) 2488 if (Yb[c].pid === f) { 2489 b.pid = c; 2490 break 2491 } 2492 } else 2493 b.pid = parseInt(b.pid, 10) - 1; 2494 return b.pid < 0 && (b.pid = 0), 2495 b
2496 }, Ic = function() { 2497 if (uc && clearTimeout(uc), 2498 _a || V) 2499 return void (uc = setTimeout(Ic, 500)); 2500 vc ? clearTimeout(tc) : vc = !0; 2501 var a = m + 1 2502 , b = _b(m); 2503 b.hasOwnProperty("pid") && (a = b.pid); 2504 var c = yc + "&gid=" + i.galleryUID + "&pid=" + a; 2505 zc || Cc.hash.indexOf(c) === -1 && (Bc = !0); 2506 var d = Cc.href.split("#")[0] + "#" + c; 2507 Dc ? "#" + c !== window.location.hash && history[zc ? "replaceState" : "pushState"]("", document.title, d) : zc ? Cc.replace(d) : Cc.hash = c, 2508 zc = !0, 2509 tc = setTimeout(function() { 2510 vc = !1 2511 }, 60) 2512 }; 2513 za("History", { 2514 publicMethods: { 2515 initHistory: function() { 2516 if (e.extend(i, Ec, !0), 2517 i.history) { 2518 Cc = window.location, 2519 Bc = !1, 2520 Ac = !1, 2521 zc = !1, 2522 yc = Fc(), 2523 Dc = "pushState"in history, 2524 yc.indexOf("gid=") > -1 && (yc = yc.split("&gid=")[0], 2525 yc = yc.split("?gid=")[0]), 2526 Ca("afterChange", f.updateURL), 2527 Ca("unbindEvents", function() { 2528 e.unbind(window, "hashchange", f.onHashChange) 2529 }); 2530 var a = function() { 2531 xc = !0, 2532 Ac || (Bc ? history.back() : yc ? Cc.hash = yc : Dc ? history.pushState("", document.title, Cc.pathname + Cc.search) : Cc.hash = ""), 2533 Gc() 2534 }; 2535 Ca("unbindEvents", function() { 2536 l && a() 2537 }), 2538 Ca("destroy", function() { 2539 xc || a() 2540 }), 2541 Ca("firstUpdate", function() { 2542 m = Hc().pid 2543 }); 2544 var b = yc.indexOf("pid="); 2545 b > -1 && (yc = yc.substring(0, b), 2546 "&" === yc.slice(-1) && (yc = yc.slice(0, -1))), 2547 setTimeout(function() { 2548 j && e.bind(window, "hashchange", f.onHashChange) 2549 }, 40) 2550 } 2551 }, 2552 onHashChange: function() { 2553 return Fc() === yc ? (Ac = !0, 2554 void f.close()) : void (vc || (wc = !0, 2555 f.goTo(Hc().pid), 2556 wc = !1)) 2557 }, 2558 updateURL: function() { 2559 Gc(), 2560 wc || (zc ? sc = setTimeout(Ic, 800) : Ic()) 2561 } 2562 } 2563 }), 2564 e.extend(f, eb) 2565 }; 2566 return a 2567}); 2568 2569/*! PhotoSwipe Default UI - 4.1.3 - 2019-01-08 2570* http://photoswipe.com 2571* Copyright (c) 2019 Dmitry Semenov; */ 2572!function(a, b) { 2573 "function" == typeof define && define.amd ? define(b) : "object" == typeof exports ? module.exports = b() : a.PhotoSwipeUI_Default = b() 2574}(this, function() { 2575 "use strict"; 2576 var a = function(a, b) { 2577 var c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v = this, w = !1, x = !0, y = !0, z = { 2578 barsSize: { 2579 top: 44, 2580 bottom: "auto" 2581 }, 2582 closeElClasses: ["item", "caption", "zoom-wrap", "ui", "top-bar"], 2583 timeToIdle: 4e3, 2584 timeToIdleOutside: 1e3, 2585 loadingIndicatorDelay: 1e3, 2586 addCaptionHTMLFn: function(a, b) { 2587 return a.title ? (b.children[0].innerHTML = a.title, 2588 !0) : (b.children[0].innerHTML = "", 2589 !1) 2590 }, 2591 closeEl: !0, 2592 captionEl: !0, 2593 fullscreenEl: !0, 2594 zoomEl: !0, 2595 shareEl: !0, 2596 counterEl: !0,
2597 arrowEl: !0, 2598 preloaderEl: !0, 2599 tapToClose: !1, 2600 tapToToggleControls: !0, 2601 clickToCloseNonZoomable: !0, 2602 shareButtons: [{ 2603 id: "facebook", 2604 label: "Share on Facebook", 2605 url: "https://www.facebook.com/sharer/sharer.php?u={{url}}" 2606 }, { 2607 id: "twitter", 2608 label: "Tweet", 2609 url: "https://twitter.com/intent/tweet?text={{text}}&url={{url}}" 2610 }, { 2611 id: "pinterest", 2612 label: "Pin it", 2613 url: "http://www.pinterest.com/pin/create/button/?url={{url}}&media={{image_url}}&description={{text}}" 2614 }, { 2615 id: "download", 2616 label: "Download image", 2617 url: "{{raw_image_url}}", 2618 download: !0 2619 }], 2620 getImageURLForShare: function() { 2621 return a.currItem.src || "" 2622 }, 2623 getPageURLForShare: function() { 2624 return window.location.href 2625 }, 2626 getTextForShare: function() { 2627 return a.currItem.title || "" 2628 }, 2629 indexIndicatorSep: " / ", 2630 fitControlsWidth: 1200 2631 }, A = function(a) { 2632 if (r) 2633 return !0; 2634 a = a || window.event, 2635 q.timeToIdle && q.mouseUsed && !k && K(); 2636 for (var c, d, e = a.target || a.srcElement, f = e.getAttribute("class") || "", g = 0; g < S.length; g++) 2637 c = S[g], 2638 c.onTap && f.indexOf("pswp__" + c.name) > -1 && (c.onTap(), 2639 d = !0); 2640 if (d) { 2641 a.stopPropagation && a.stopPropagation(), 2642 r = !0; 2643 var h = b.features.isOldAndroid ? 600 : 30; 2644 s = setTimeout(function() { 2645 r = !1 2646 }, h) 2647 } 2648 }, B = function() { 2649 return !a.likelyTouchDevice || q.mouseUsed || screen.width > q.fitControlsWidth 2650 }, C = function(a, c, d) { 2651 b[(d ? "add" : "remove") + "Class"](a, "pswp__" + c) 2652 }, D = function() { 2653 var a = 1 === q.getNumItemsFn(); 2654 a !== p && (C(d, "ui--one-slide", a), 2655 p = a) 2656 }, E = function() { 2657 C(i, "share-modal--hidden", y) 2658 }, F = function() { 2659 return y = !y, 2660 y ? (b.removeClass(i, "pswp__share-modal--fade-in"), 2661 setTimeout(function() { 2662 y && E() 2663 }, 300)) : (E(), 2664 setTimeout(function() { 2665 y || b.addClass(i, "pswp__share-modal--fade-in") 2666 }, 30)), 2667 y || H(), 2668 !1 2669 }, G = function(b) { 2670 b = b || window.event; 2671 var c = b.target || b.srcElement; 2672 return a.shout("shareLinkClick", b, c), 2673 !!c.href && (!!c.hasAttribute("download") || (window.open(c.href, "pswp_share", "scrollbars=yes,resizable=yes,toolbar=no,location=yes,width=550,height=420,top=100,left=" + (window.screen ? Math.round(screen.width / 2 - 275) : 100)), 2674 y || F(), 2675 !1)) 2676 }, H = function() { 2677 for (var a, b, c, d, e, f = "", g = 0; g < q.shareButtons.length; g++) 2678 a = q.shareButtons[g], 2679 c = q.getImageURLForShare(a), 2680 d = q.getPageURLForShare(a), 2681 e = q.getTextForShare(a), 2682 b = a.url.replace("{{url}}", encodeURIComponent(d)).replace("{{image_url}}", encodeURIComponent(c)).replace("{{raw_image_url}}", c).replace("{{text}}", encodeURIComponent(e)), 2683 f += '<a href="' + b + '" target="_blank" class="pswp__share--' + a.id + '"' + (a.download ? "download" : "") + ">" + a.label + "</a>", 2684 q.parseShareButtonOut && (f = q.parseShareButtonOut(a, f)); 2685 i.children[0].innerHTML = f, 2686 i.children[0].onclick = G 2687 }, I = function(a) { 2688 for (var c = 0; c < q.closeElClasses.length; c++) 2689 if (b.hasClass(a, "pswp__" + q.closeElClasses[c])) 2690 return !0 2691 }, J = 0, K = function() { 2692 clearTimeout(u), 2693 J = 0, 2694 k && v.setIdle(!1) 2695 }, L = function(a) { 2696 a = a ? a : window.event; 2697 var b = a.relatedTarget || a.toElement; 2698 b && "HTML" !== b.nodeName || (clearTimeout(u), 2699 u = setTimeout(function() { 2700 v.setIdle(!0) 2701 }, q.timeToIdleOutside)) 2702 }, M = function() { 2703 q.fullscreenEl && !b.features.isOldAndroid && (c || (c = v.getFullscreenAPI()), 2704 c ? (b.bind(document, c.eventK, v.updateFullscreen), 2705 v.updateFullscreen(), 2706 b.addClass(a.template, "pswp--supports-fs")) : b.removeClass(a.template, "pswp--supports-fs")) 2707 }, N = function() { 2708 q.preloaderEl && (O(!0), 2709 l("beforeChange", function() { 2710 clearTimeout(o), 2711 o = setTimeout(function() { 2712 a.currItem && a.currItem.loading ? (!a.allowProgressiveImg() || a.currItem.img && !a.currItem.img.naturalWi
2712dth) && O(!1) : O(!0) 2713 }, q.loadingIndicatorDelay) 2714 }), 2715 l("imageLoadComplete", function(b, c) { 2716 a.currItem === c && O(!0) 2717 })) 2718 }, O = function(a) { 2719 n !== a && (C(m, "preloader--active", !a), 2720 n = a) 2721 }, P = function(a) { 2722 var c = a.vGap; 2723 if (B()) { 2724 var g = q.barsSize; 2725 if (q.captionEl && "auto" === g.bottom) 2726 if (f || (f = b.createEl("pswp__caption pswp__caption--fake"), 2727 f.appendChild(b.createEl("pswp__caption__center")), 2728 d.insertBefore(f, e), 2729 b.addClass(d, "pswp__ui--fit")), 2730 q.addCaptionHTMLFn(a, f, !0)) { 2731 var h = f.clientHeight; 2732 c.bottom = parseInt(h, 10) || 44 2733 } else 2734 c.bottom = g.top; 2735 else 2736 c.bottom = "auto" === g.bottom ? 0 : g.bottom; 2737 c.top = g.top 2738 } else 2739 c.top = c.bottom = 0 2740 }, Q = function() { 2741 q.timeToIdle && l("mouseUsed", function() { 2742 b.bind(document, "mousemove", K), 2743 b.bind(document, "mouseout", L), 2744 t = setInterval(function() { 2745 J++, 2746 2 === J && v.setIdle(!0) 2747 }, q.timeToIdle / 2) 2748 }) 2749 }, R = function() { 2750 l("onVerticalDrag", function(a) { 2751 x && a < .95 ? v.hideControls() : !x && a >= .95 && v.showControls() 2752 }); 2753 var a; 2754 l("onPinchClose", function(b) { 2755 x && b < .9 ? (v.hideControls(), 2756 a = !0) : a && !x && b > .9 && v.showControls() 2757 }), 2758 l("zoomGestureEnded", function() { 2759 a = !1, 2760 a && !x && v.showControls() 2761 }) 2762 }, S = [{ 2763 name: "caption", 2764 option: "captionEl", 2765 onInit: function(a) { 2766 e = a 2767 } 2768 }, { 2769 name: "share-modal", 2770 option: "shareEl", 2771 onInit: function(a) { 2772 i = a 2773 }, 2774 onTap: function() { 2775 F() 2776 } 2777 }, { 2778 name: "button--share", 2779 option: "shareEl", 2780 onInit: function(a) { 2781 h = a 2782 }, 2783 onTap: function() { 2784 F() 2785 } 2786 }, { 2787 name: "button--zoom", 2788 option: "zoomEl", 2789 onTap: a.toggleDesktopZoom 2790 }, { 2791 name: "counter", 2792 option: "counterEl", 2793 onInit: function(a) { 2794 g = a 2795 } 2796 }, { 2797 name: "button--close", 2798 option: "closeEl", 2799 onTap: a.close 2800 }, { 2801 name: "button--arrow--left", 2802 option: "arrowEl", 2803 onTap: a.prev 2804 }, { 2805 name: "button--arrow--right", 2806 option: "arrowEl", 2807 onTap: a.next 2808 }, { 2809 name: "button--fs", 2810 option: "fullscreenEl", 2811 onTap: function() { 2812 c.isFullscreen() ? c.exit() : c.enter() 2813 } 2814 }, { 2815 name: "preloader", 2816 option: "preloaderEl", 2817 onInit: function(a) { 2818 m = a 2819 } 2820 }], T = function() { 2821 var a, c, e, f = function(d) { 2822 if (d) 2823 for (var f = d.length, g = 0; g < f; g++) { 2824 a = d[g], 2825 c = a.className; 2826 for (var h = 0; h < S.length; h++) 2827 e = S[h], 2828 c.indexOf("pswp__" + e.name) > -1 && (q[e.option] ? (b.removeClass(a, "pswp__element--disabled"), 2829 e.onInit && e.onInit(a)) : b.addClass(a, "pswp__element--disabled")) 2830 } 2831 }; 2832 f(d.children); 2833 var g = b.getChildByClass(d, "pswp__top-bar"); 2834 g && f(g.children) 2835 }; 2836 v.init = function() { 2837 b.extend(a.options, z, !0), 2838 q = a.options,
2839 d = b.getChildByClass(a.scrollWrap, "pswp__ui"), 2840 l = a.listen, 2841 R(), 2842 l("beforeChange", v.update), 2843 l("doubleTap", function(b) { 2844 var c = a.currItem.initialZoomLevel; 2845 a.getZoomLevel() !== c ? a.zoomTo(c, b, 333) : a.zoomTo(q.getDoubleTapZoom(!1, a.currItem), b, 333) 2846 }), 2847 l("preventDragEvent", function(a, b, c) { 2848 var d = a.target || a.srcElement; 2849 d && d.getAttribute("class") && a.type.indexOf("mouse") > -1 && (d.getAttribute("class").indexOf("__caption") > 0 || /(SMALL|STRONG|EM)/i.test(d.tagName)) && (c.prevent = !1) 2850 }), 2851 l("bindEvents", function() { 2852 b.bind(d, "pswpTap click", A), 2853 b.bind(a.scrollWrap, "pswpTap", v.onGlobalTap), 2854 a.likelyTouchDevice || b.bind(a.scrollWrap, "mouseover", v.onMouseOver) 2855 }), 2856 l("unbindEvents", function() { 2857 y || F(), 2858 t && clearInterval(t), 2859 b.unbind(document, "mouseout", L), 2860 b.unbind(document, "mousemove", K), 2861 b.unbind(d, "pswpTap click", A), 2862 b.unbind(a.scrollWrap, "pswpTap", v.onGlobalTap), 2863 b.unbind(a.scrollWrap, "mouseover", v.onMouseOver), 2864 c && (b.unbind(document, c.eventK, v.updateFullscreen), 2865 c.isFullscreen() && (q.hideAnimationDuration = 0, 2866 c.exit()), 2867 c = null) 2868 }), 2869 l("destroy", function() { 2870 q.captionEl && (f && d.removeChild(f), 2871 b.removeClass(e, "pswp__caption--empty")), 2872 i && (i.children[0].onclick = null), 2873 b.removeClass(d, "pswp__ui--over-close"), 2874 b.addClass(d, "pswp__ui--hidden"), 2875 v.setIdle(!1) 2876 }), 2877 q.showAnimationDuration || b.removeClass(d, "pswp__ui--hidden"), 2878 l("initialZoomIn", function() { 2879 q.showAnimationDuration && b.removeClass(d, "pswp__ui--hidden") 2880 }), 2881 l("initialZoomOut", function() { 2882 b.addClass(d, "pswp__ui--hidden") 2883 }), 2884 l("parseVerticalMargin", P), 2885 T(), 2886 q.shareEl && h && i && (y = !0), 2887 D(), 2888 Q(), 2889 M(), 2890 N() 2891 } 2892 , 2893 v.setIdle = function(a) { 2894 k = a, 2895 C(d, "ui--idle", a) 2896 } 2897 , 2898 v.update = function() { 2899 x && a.currItem ? (v.updateIndexIndicator(), 2900 q.captionEl && (q.addCaptionHTMLFn(a.currItem, e), 2901 C(e, "caption--empty", !a.currItem.title)), 2902 w = !0) : w = !1, 2903 y || F(), 2904 D() 2905 } 2906 , 2907 v.updateFullscreen = function(d) { 2908 d && setTimeout(function() { 2909 a.setScrollOffset(0, b.getScrollY()) 2910 }, 50), 2911 b[(c.isFullscreen() ? "add" : "remove") + "Class"](a.template, "pswp--fs") 2912 } 2913 , 2914 v.updateIndexIndicator = function() { 2915 q.counterEl && (g.innerHTML = a.getCurrentIndex() + 1 + q.indexIndicatorSep + q.getNumItemsFn()) 2916 } 2917 , 2918 v.onGlobalTap = function(c) { 2919 c = c || window.event; 2920 var d = c.target || c.srcElement; 2921 if (!r) 2922 if (c.detail && "mouse" === c.detail.pointerType) { 2923 if (I(d)) 2924 return void a.close(); 2925 b.hasClass(d, "pswp__img") && (1 === a.getZoomLevel() && a.getZoomLevel() <= a.currItem.fitRatio ? q.clickToCloseNonZoomable && a.close() : a.toggleDesktopZoom(c.detail.releasePoint)) 2926 } else if (q.tapToToggleControls && (x ? v.hideControls() : v.showControls()), 2927 q.tapToClose && (b.hasClass(d, "pswp__img") || I(d))) 2928 return void a.close() 2929 } 2930 , 2931 v.onMouseOver = function(a) { 2932 a = a || window.event; 2933 var b = a.target || a.srcElement; 2934 C(d, "ui--over-close", I(b)) 2935 } 2936 , 2937 v.hideControls = function() { 2938 b.addClass(d, "pswp__ui--hidden"), 2939 x = !1 2940 } 2941 , 2942 v.showControls = function() { 2943 x = !0,
vendor: 33,039 bytes, lines 2944-3843
2944 w || v.update(), 2945 b.removeClass(d, "pswp__ui--hidden") 2946 } 2947 , 2948 v.supportsFullscreen = function() { 2949 var a = document; 2950 return !!(a.exitFullscreen || a.mozCancelFullScreen || a.webkitExitFullscreen || a.msExitFullscreen) 2951 } 2952 , 2953 v.getFullscreenAPI = function() { 2954 var b, c = document.documentElement, d = "fullscreenchange"; 2955 return c.requestFullscreen ? b = { 2956 enterK: "requestFullscreen", 2957 exitK: "exitFullscreen", 2958 elementK: "fullscreenElement", 2959 eventK: d 2960 } : c.mozRequestFullScreen ? b = { 2961 enterK: "mozRequestFullScreen", 2962 exitK: "mozCancelFullScreen", 2963 elementK: "mozFullScreenElement", 2964 eventK: "moz" + d 2965 } : c.webkitRequestFullscreen ? b = { 2966 enterK: "webkitRequestFullscreen", 2967 exitK: "webkitExitFullscreen", 2968 elementK: "webkitFullscreenElement", 2969 eventK: "webkit" + d 2970 } : c.msRequestFullscreen && (b = { 2971 enterK: "msRequestFullscreen", 2972 exitK: "msExitFullscreen", 2973 elementK: "msFullscreenElement", 2974 eventK: "MSFullscreenChange" 2975 }), 2976 b && (b.enter = function() { 2977 return j = q.closeOnScroll, 2978 q.closeOnScroll = !1, 2979 "webkitRequestFullscreen" !== this.enterK ? a.template[this.enterK]() : void a.template[this.enterK](Element.ALLOW_KEYBOARD_INPUT) 2980 } 2981 , 2982 b.exit = function() { 2983 return q.closeOnScroll = j, 2984 document[this.exitK]() 2985 } 2986 , 2987 b.isFullscreen = function() { 2988 return document[this.elementK] 2989 } 2990 ), 2991 b 2992 } 2993 }; 2994 return a 2995}); 2996 2997/** 2998 * Swiper 6.4.5 2999 * Most modern mobile touch slider and framework with hardware accelerated transitions 3000 * https://swiperjs.com 3001 * 3002 * Copyright 2014-2020 Vladimir Kharlampidi 3003 * 3004 * Released under the MIT License 3005 * 3006 * Released on: December 18, 2020 3007 */ 3008!function(e, t) { 3009 "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() 3010}(this, (function() { 3011 "use strict"; 3012 function e(e, t) { 3013 for (var a = 0; a < t.length; a++) { 3014 var i = t[a]; 3015 i.enumerable = i.enumerable || !1, 3016 i.configurable = !0, 3017 "value"in i && (i.writable = !0), 3018 Object.defineProperty(e, i.key, i) 3019 } 3020 } 3021 function t() { 3022 return (t = Object.assign || function(e) { 3023 for (var t = 1; t < arguments.length; t++) { 3024 var a = arguments[t]; 3025 for (var i in a) 3026 Object.prototype.hasOwnProperty.call(a, i) && (e[i] = a[i]) 3027 } 3028 return e 3029 } 3030 ).apply(this, arguments) 3031 } 3032 function a(e) { 3033 return null !== e && "object" == typeof e && "constructor"in e && e.constructor === Object 3034 } 3035 function i(e, t) { 3036 void 0 === e && (e = {}), 3037 void 0 === t && (t = {}), 3038 Object.keys(t).forEach((function(s) { 3039 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]) 3040 } 3041 )) 3042 } 3043 var s = { 3044 body: {}, 3045 addEventListener: function() {}, 3046 removeEventListener: function() {}, 3047 activeElement: { 3048 blur: function() {}, 3049 nodeName: "" 3050 }, 3051 querySelector: function() { 3052 return null 3053 }, 3054 querySelectorAll: function() { 3055 return [] 3056 }, 3057 getElementById: function() { 3058 return null 3059 }, 3060 createEvent: function() { 3061 return { 3062 initEvent: function() {} 3063 } 3064 }, 3065 createElement: function() { 3066 return { 3067 children: [], 3068 childNodes: [], 3069 style: {}, 3070 setAttribute: function() {}, 3071 getElementsByTagName: function() { 3072 return [] 3073 } 3074 } 3075 }, 3076 createElementNS: function() { 3077 return {} 3078 }, 3079 importNode: function() { 3080 return null 3081 }, 3082 location: { 3083 hash: "", 3084 host: "", 3085 hostname: "", 3086 href: "", 3087 origin: "", 3088 pathname: "", 3089 protocol: "", 3090 search: "" 3091 } 3092 }; 3093 function r() { 3094 var e = "undefined" != typeof document ? document : {}; 3095 return i(e, s), 3096 e 3097 } 3098 var n = { 3099 document: s, 3100 navigator: { 3101 userAgent: "" 3102 }, 3103 location: { 3104 hash: "", 3105 host: "", 3106 hostname: "", 3107 href: "", 3108 origin: "", 3109 pathname: "", 3110 protocol: "", 3111 search: "" 3112 }, 3113 history: { 3114 replaceState: function() {}, 3115 pushState: function() {}, 3116 go: function() {}, 3117 back: function() {} 3118 }, 3119 CustomEvent: function() { 3120 return this 3121 }, 3122 addEventListener: function() {}, 3123 removeEventListener: function() {}, 3124 getComputedStyle: function() { 3125 return { 3126 getPropertyValue: function() { 3127 return "" 3128 } 3129 } 3130 }, 3131 Image: function() {}, 3132 Date: function() {}, 3133 screen: {}, 3134 setTimeout: function() {}, 3135 clearTimeout: function() {}, 3136 matchMedia: function() { 3137 return {} 3138 }, 3139 requestAnimationFrame: function(e) { 3140 return "undefined" == typeof setTimeout ? (e(), 3141 null) : setTimeout(e, 0) 3142 }, 3143 cancelAnimationFrame: function(e) { 3144 "undefined" != typeof setTimeout && clearTimeout(e) 3145 } 3146 }; 3147 function l() { 3148 var e = "undefined" != typeof window ? window : {}; 3149 return i(e, n), 3150 e 3151 } 3152 function o(e) { 3153 return (o = Object.setPrototypeOf ? Object.getPrototypeOf : function(e) { 3154 return e.__proto__ || Object.getPrototypeOf(e) 3155 } 3156 )(e) 3157 } 3158 function d(e, t) { 3159 return (d = Object.setPrototypeOf || function(e, t) { 3160 return e.__proto__ = t, 3161 e 3162 } 3163 )(e, t) 3164 } 3165 function p() { 3166 if ("undefined" == typeof Reflect || !Reflect.construct) 3167 return !1; 3168 if (Reflect.construct.sham) 3169 return !1; 3170 if ("function" == typeof Proxy) 3171 return !0; 3172 try { 3173 return Date.prototype.toString.call(Reflect.construct(Date, [], (function() {} 3174 ))), 3175 !0 3176 } catch (e) { 3177 return !1 3178 } 3179 } 3180 function u(e, t, a) { 3181 return (u = p() ? Reflect.construct : function(e, t, a) { 3182 var i = [null]; 3183 i.push.apply(i, t); 3184 var s = new (Function.bind.apply(e, i)); 3185 return a && d(s, a.prototype), 3186 s 3187 } 3188 ).apply(null, arguments) 3189 } 3190 function c(e) { 3191 var t = "function" == typeof Map ? new Map : void 0; 3192 return (c = function(e) { 3193 if (null === e || (a = e, 3194 -1 === Function.toString.call(a).indexOf("[native code]"))) 3195 return e; 3196 var a; 3197 if ("function" != typeof e) 3198 throw new TypeError("Super expression must either be null or a function"); 3199 if (void 0 !== t) { 3200 if (t.has(e)) 3201 return t.get(e); 3202 t.set(e, i) 3203 } 3204 function i() { 3205 return u(e, arguments, o(this).constructor) 3206 } 3207 return i.prototype = Object.create(e.prototype, { 3208 constructor: { 3209 value: i, 3210 enumerable: !1, 3211 writable: !0, 3212 configurable: !0 3213 } 3214 }), 3215 d(i, e) 3216 } 3217 )(e) 3218 } 3219 var h = function(e) { 3220 var t, a; 3221 function i(t) { 3222 var a, i, s; 3223 return a = e.call.apply(e, [this].concat(t)) || this, 3224 i = function(e) { 3225 if (void 0 === e) 3226 throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); 3227 return e 3228 }(a), 3229 s = i.__proto__, 3230 Object.defineProperty(i, "__proto__", { 3231 get: function() { 3232 return s 3233 }, 3234 set: function(e) { 3235 s.__proto__ = e 3236 } 3237 }), 3238 a 3239 } 3240 return a = e, 3241 (t = i).prototype = Object.create(a.prototype), 3242 t.prototype.constructor = t, 3243 t.__proto__ = a, 3244 i 3245 }(c(Array)); 3246 function v(e) { 3247 void 0 === e && (e = []); 3248 var t = []; 3249 return e.forEach((function(e) { 3250 Array.isArray(e) ? t.push.apply(t, v(e)) : t.push(e) 3251 } 3252 )), 3253 t 3254 } 3255 function f(e, t) { 3256 return Array.prototype.filter.call(e, t) 3257 } 3258 function m(e, t) { 3259 var a = l() 3260 , i = r() 3261 , s = []; 3262 if (!t && e instanceof h) 3263 return e; 3264 if (!e) 3265 return new h(s); 3266 if ("string" == typeof e) { 3267 var n = e.trim(); 3268 if (n.indexOf("<") >= 0 && n.indexOf(">") >= 0) { 3269 var o = "div"; 3270 0 === n.indexOf("<li") && (o = "ul"), 3271 0 === n.indexOf("<tr") && (o = "tbody"), 3272 0 !== n.indexOf("<td") && 0 !== n.indexOf("<th") || (o = "tr"), 3273 0 === n.indexOf("<tbody") && (o = "table"), 3274 0 === n.indexOf("<option") && (o = "select"); 3275 var d = i.createElement(o); 3276 d.innerHTML = n; 3277 for (var p = 0; p < d.childNodes.length; p += 1) 3278 s.push(d.childNodes[p]) 3279 } else 3280 s = function(e, t) { 3281 if ("string" != typeof e) 3282 return [e]; 3283 for (var a = [], i = t.querySelectorAll(e), s = 0; s < i.length; s += 1) 3284 a.push(i[s]); 3285 return a 3286 }(e.trim(), t || i) 3287 } else if (e.nodeType || e === a || e === i) 3288 s.push(e); 3289 else if (Array.isArray(e)) { 3290 if (e instanceof h) 3291 return e; 3292 s = e 3293 } 3294 return new h(function(e) { 3295 for (var t = [], a = 0; a < e.length; a += 1) 3296 -1 === t.indexOf(e[a]) && t.push(e[a]); 3297 return t 3298 }(s)) 3299 } 3300 m.fn = h.prototype; 3301 var g, y, w, b = { 3302 addClass: function() { 3303 for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++) 3304 t[a] = arguments[a]; 3305 var i = v(t.map((function(e) { 3306 return e.split(" ") 3307 } 3308 ))); 3309 return this.forEach((function(e) { 3310 var t; 3311 (t = e.classList).add.apply(t, i) 3312 } 3313 )), 3314 this 3315 }, 3316 removeClass: function() { 3317 for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++) 3318 t[a] = arguments[a]; 3319 var i = v(t.map((function(e) { 3320 return e.split(" ") 3321 } 3322 ))); 3323 return this.forEach((function(e) { 3324 var t; 3325 (t = e.classList).remove.apply(t, i) 3326 } 3327 )), 3328 this 3329 }, 3330 hasClass: function() { 3331 for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++) 3332 t[a] = arguments[a]; 3333 var i = v(t.map((function(e) { 3334 return e.split(" ") 3335 } 3336 ))); 3337 return f(this, (function(e) { 3338 return i.filter((function(t) { 3339 return e.classList.contains(t) 3340 } 3341 )).length > 0 3342 } 3343 )).length > 0 3344 }, 3345 toggleClass: function() { 3346 for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++) 3347 t[a] = arguments[a]; 3348 var i = v(t.map((function(e) { 3349 return e.split(" ") 3350 } 3351 ))); 3352 this.forEach((function(e) { 3353 i.forEach((function(t) { 3354 e.classList.toggle(t) 3355 } 3356 )) 3357 } 3358 )) 3359 }, 3360 attr: function(e, t) { 3361 if (1 === arguments.length && "string" == typeof e) 3362 return this[0] ? this[0].getAttribute(e) : void 0; 3363 for (var a = 0; a < this.length; a += 1) 3364 if (2 === arguments.length) 3365 this[a].setAttribute(e, t); 3366 else 3367 for (var i in e) 3368 this[a][i] = e[i], 3369 this[a].setAttribute(i, e[i]); 3370 return this 3371 }, 3372 removeAttr: function(e) { 3373 for (var t = 0; t < this.length; t += 1) 3374 this[t].removeAttribute(e); 3375 return this 3376 }, 3377 transform: function(e) { 3378 for (var t = 0; t < this.length; t += 1) 3379 this[t].style.transform = e; 3380 return this 3381 }, 3382 transition: function(e) { 3383 for (var t = 0; t < this.length; t += 1) 3384 this[t].style.transitionDuration = "string" != typeof e ? e + "ms" : e; 3385 return this 3386 }, 3387 on: function() { 3388 for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++) 3389 t[a] = arguments[a]; 3390 var i = t[0] 3391 , s = t[1] 3392 , r = t[2] 3393 , n = t[3]; 3394 function l(e) { 3395 var t = e.target; 3396 if (t) { 3397 var a = e.target.dom7EventData || []; 3398 if (a.indexOf(e) < 0 && a.unshift(e), 3399 m(t).is(s)) 3400 r.apply(t, a); 3401 else 3402 for (var i = m(t).parents(), n = 0; n < i.length; n += 1) 3403 m(i[n]).is(s) && r.apply(i[n], a) 3404 } 3405 } 3406 function o(e) { 3407 var t = e && e.target && e.target.dom7EventData || []; 3408 t.indexOf(e) < 0 && t.unshift(e), 3409 r.apply(this, t) 3410 } 3411 "function" == typeof t[1] && (i = t[0], 3412 r = t[1], 3413 n = t[2], 3414 s = void 0), 3415 n || (n = !1); 3416 for (var d, p = i.split(" "), u = 0; u < this.length; u += 1) { 3417 var c = this[u]; 3418 if (s) 3419 for (d = 0; d < p.length; d += 1) { 3420 var h = p[d]; 3421 c.dom7LiveListeners || (c.dom7LiveListeners = {}), 3422 c.dom7LiveListeners[h] || (c.dom7LiveListeners[h] = []), 3423 c.dom7LiveListeners[h].push({ 3424 listener: r, 3425 proxyListener: l 3426 }), 3427 c.addEventListener(h, l, n) 3428 } 3429 else 3430 for (d = 0; d < p.length; d += 1) { 3431 var v = p[d]; 3432 c.dom7Listeners || (c.dom7Listeners = {}), 3433 c.dom7Listeners[v] || (c.dom7Listeners[v] = []), 3434 c.dom7Listeners[v].push({ 3435 listener: r, 3436 proxyListener: o 3437 }), 3438 c.addEventListener(v, o, n) 3439 } 3440 } 3441 return this 3442 }, 3443 off: function() { 3444 for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++) 3445 t[a] = arguments[a]; 3446 var i = t[0] 3447 , s = t[1] 3448 , r = t[2] 3449 , n = t[3]; 3450 "function" == typeof t[1] && (i = t[0], 3451 r = t[1], 3452 n = t[2], 3453 s = void 0), 3454 n || (n = !1); 3455 for (var l = i.split(" "), o = 0; o < l.length; o += 1) 3456 for (var d = l[o], p = 0; p < this.length; p += 1) { 3457 var u = this[p] 3458 , c = void 0; 3459 if (!s && u.dom7Listeners ? c = u.dom7Listeners[d] : s && u.dom7LiveListeners && (c = u.dom7LiveListeners[d]), 3460 c && c.length) 3461 for (var h = c.length - 1; h >= 0; h -= 1) { 3462 var v = c[h]; 3463 r && v.listener === r || r && v.listener && v.listener.dom7proxy && v.listener.dom7proxy === r ? (u.removeEventListener(d, v.proxyListener, n), 3464 c.splice(h, 1)) : r || (u.removeEventListener(d, v.proxyListener, n), 3465 c.splice(h, 1)) 3466 } 3467 } 3468 return this 3469 }, 3470 trigger: function() { 3471 for (var e = l(), t = arguments.length, a = new Array(t), i = 0; i < t; i++) 3472 a[i] = arguments[i]; 3473 for (var s = a[0].split(" "), r = a[1], n = 0; n < s.length; n += 1) 3474 for (var o = s[n], d = 0; d < this.length; d += 1) { 3475 var p = this[d]; 3476 if (e.CustomEvent) { 3477 var u = new e.CustomEvent(o,{ 3478 detail: r, 3479 bubbles: !0, 3480 cancelable: !0 3481 }); 3482 p.dom7EventData = a.filter((function(e, t) { 3483 return t > 0 3484 } 3485 )), 3486 p.dispatchEvent(u), 3487 p.dom7EventData = [], 3488 delete p.dom7EventData 3489 } 3490 } 3491 return this 3492 }, 3493 transitionEnd: function(e) { 3494 var t = this; 3495 return e && t.on("transitionend", (function a(i) { 3496 i.target === this && (e.call(this, i), 3497 t.off("transitionend", a)) 3498 } 3499 )), 3500 this 3501 }, 3502 outerWidth: function(e) { 3503 if (this.length > 0) { 3504 if (e) { 3505 var t = this.styles(); 3506 return this[0].offsetWidth + parseFloat(t.getPropertyValue("margin-right")) + parseFloat(t.getPropertyValue("margin-left")) 3507 } 3508 return this[0].offsetWidth 3509 } 3510 return null 3511 }, 3512 outerHeight: function(e) { 3513 if (this.length > 0) { 3514 if (e) { 3515 var t = this.styles(); 3516 return this[0].offsetHeight + parseFloat(t.getPropertyValue("margin-top")) + parseFloat(t.getPropertyValue("margin-bottom")) 3517 } 3518 return this[0].offsetHeight 3519 } 3520 return null 3521 }, 3522 styles: function() { 3523 var e = l(); 3524 return this[0] ? e.getComputedStyle(this[0], null) : {} 3525 }, 3526 offset: function() { 3527 if (this.length > 0) { 3528 var e = l() 3529 , t = r() 3530 , a = this[0] 3531 , i = a.getBoundingClientRect() 3532 , s = t.body 3533 , n = a.clientTop || s.clientTop || 0 3534 , o = a.clientLeft || s.clientLeft || 0 3535 , d = a === e ? e.scrollY : a.scrollTop 3536 , p = a === e ? e.scrollX : a.scrollLeft; 3537 return { 3538 top: i.top + d - n, 3539 left: i.left + p - o 3540 } 3541 } 3542 return null 3543 }, 3544 css: function(e, t) { 3545 var a, i = l(); 3546 if (1 === arguments.length) { 3547 if ("string" != typeof e) { 3548 for (a = 0; a < this.length; a += 1) 3549 for (var s in e) 3550 this[a].style[s] = e[s]; 3551 return this 3552 } 3553 if (this[0]) 3554 return i.getComputedStyle(this[0], null).getPropertyValue(e) 3555 } 3556 if (2 === arguments.length && "string" == typeof e) { 3557 for (a = 0; a < this.length; a += 1) 3558 this[a].style[e] = t; 3559 return this 3560 } 3561 return this 3562 }, 3563 each: function(e) { 3564 return e ? (this.forEach((function(t, a) { 3565 e.apply(t, [t, a]) 3566 } 3567 )), 3568 this) : this 3569 }, 3570 html: function(e) { 3571 if (void 0 === e) 3572 return this[0] ? this[0].innerHTML : null; 3573 for (var t = 0; t < this.length; t += 1) 3574 this[t].innerHTML = e; 3575 return this 3576 }, 3577 text: function(e) { 3578 if (void 0 === e) 3579 return this[0] ? this[0].textContent.trim() : null; 3580 for (var t = 0; t < this.length; t += 1) 3581 this[t].textContent = e; 3582 return this 3583 }, 3584 is: function(e) { 3585 var t, a, i = l(), s = r(), n = this[0]; 3586 if (!n || void 0 === e) 3587 return !1; 3588 if ("string" == typeof e) { 3589 if (n.matches) 3590 return n.matches(e); 3591 if (n.webkitMatchesSelector) 3592 return n.webkitMatchesSelector(e); 3593 if (n.msMatchesSelector) 3594 return n.msMatchesSelector(e); 3595 for (t = m(e), 3596 a = 0; a < t.length; a += 1) 3597 if (t[a] === n) 3598 return !0; 3599 return !1 3600 } 3601 if (e === s) 3602 return n === s; 3603 if (e === i) 3604 return n === i; 3605 if (e.nodeType || e instanceof h) { 3606 for (t = e.nodeType ? [e] : e, 3607 a = 0; a < t.length; a += 1) 3608 if (t[a] === n) 3609 return !0; 3610 return !1 3611 } 3612 return !1 3613 }, 3614 index: function() { 3615 var e, t = this[0]; 3616 if (t) { 3617 for (e = 0; null !== (t = t.previousSibling); ) 3618 1 === t.nodeType && (e += 1); 3619 return e 3620 } 3621 }, 3622 eq: function(e) { 3623 if (void 0 === e) 3624 return this; 3625 var t = this.length; 3626 if (e > t - 1) 3627 return m([]); 3628 if (e < 0) { 3629 var a = t + e; 3630 return m(a < 0 ? [] : [this[a]]) 3631 } 3632 return m([this[e]]) 3633 }, 3634 append: function() { 3635 for (var e, t = r(), a = 0; a < arguments.length; a += 1) { 3636 e = a < 0 || arguments.length <= a ? void 0 : arguments[a]; 3637 for (var i = 0; i < this.length; i += 1) 3638 if ("string" == typeof e) { 3639 var s = t.createElement("div"); 3640 for (s.innerHTML = e; s.firstChild; ) 3641 this[i].appendChild(s.firstChild) 3642 } else if (e instanceof h) 3643 for (var n = 0; n < e.length; n += 1) 3644 this[i].appendChild(e[n]); 3645 else 3646 this[i].appendChild(e) 3647 } 3648 return this 3649 }, 3650 prepend: function(e) { 3651 var t, a, i = r(); 3652 for (t = 0; t < this.length; t += 1) 3653 if ("string" == typeof e) { 3654 var s = i.createElement("div"); 3655 for (s.innerHTML = e, 3656 a = s.childNodes.length - 1; a >= 0; a -= 1) 3657 this[t].insertBefore(s.childNodes[a], this[t].childNodes[0]) 3658 } else if (e instanceof h) 3659 for (a = 0; a < e.length; a += 1) 3660 this[t].insertBefore(e[a], this[t].childNodes[0]); 3661 else 3662 this[t].insertBefore(e, this[t].childNodes[0]); 3663 return this 3664 }, 3665 next: function(e) { 3666 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([]) 3667 }, 3668 nextAll: function(e) { 3669 var t = [] 3670 , a = this[0]; 3671 if (!a) 3672 return m([]); 3673 for (; a.nextElementSibling; ) { 3674 var i = a.nextElementSibling; 3675 e ? m(i).is(e) && t.push(i) : t.push(i), 3676 a = i 3677 } 3678 return m(t) 3679 }, 3680 prev: function(e) { 3681 if (this.length > 0) { 3682 var t = this[0]; 3683 return e ? t.previousElementSibling && m(t.previousElementSibling).is(e) ? m([t.previousElementSibling]) : m([]) : t.previousElementSibling ? m([t.previousElementSibling]) : m([]) 3684 } 3685 return m([]) 3686 }, 3687 prevAll: function(e) { 3688 var t = [] 3689 , a = this[0]; 3690 if (!a) 3691 return m([]); 3692 for (; a.previousElementSibling; ) { 3693 var i = a.previousElementSibling; 3694 e ? m(i).is(e) && t.push(i) : t.push(i), 3695 a = i 3696 } 3697 return m(t) 3698 }, 3699 parent: function(e) { 3700 for (var t = [], a = 0; a < this.length; a += 1) 3701 null !== this[a].parentNode && (e ? m(this[a].parentNode).is(e) && t.push(this[a].parentNode) : t.push(this[a].parentNode)); 3702 return m(t) 3703 }, 3704 parents: function(e) { 3705 for (var t = [], a = 0; a < this.length; a += 1) 3706 for (var i = this[a].parentNode; i; ) 3707 e ? m(i).is(e) && t.push(i) : t.push(i), 3708 i = i.parentNode; 3709 return m(t) 3710 }, 3711 closest: function(e) { 3712 var t = this; 3713 return void 0 === e ? m([]) : (t.is(e) || (t = t.parents(e).eq(0)), 3714 t) 3715 }, 3716 find: function(e) { 3717 for (var t = [], a = 0; a < this.length; a += 1) 3718 for (var i = this[a].querySelectorAll(e), s = 0; s < i.length; s += 1) 3719 t.push(i[s]); 3720 return m(t) 3721 }, 3722 children: function(e) { 3723 for (var t = [], a = 0; a < this.length; a += 1) 3724 for (var i = this[a].children, s = 0; s < i.length; s += 1) 3725 e && !m(i[s]).is(e) || t.push(i[s]); 3726 return m(t) 3727 }, 3728 filter: function(e) { 3729 return m(f(this, e)) 3730 }, 3731 remove: function() { 3732 for (var e = 0; e < this.length; e += 1) 3733 this[e].parentNode && this[e].parentNode.removeChild(this[e]); 3734 return this 3735 } 3736 }; 3737 function E(e, t) { 3738 return void 0 === t && (t = 0), 3739 setTimeout(e, t) 3740 } 3741 function x() { 3742 return Date.now() 3743 } 3744 function T(e, t) { 3745 void 0 === t && (t = "x"); 3746 var a, i, s, r = l(), n = r.getComputedStyle(e, null); 3747 return r.WebKitCSSMatrix ? ((i = n.transform || n.webkitTransform).split(",").length > 6 && (i = i.split(", ").map((function(e) { 3748 return e.replace(",", ".") 3749 } 3750 )).join(", ")), 3751 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(","), 3752 "x" === t && (i = r.WebKitCSSMatrix ? s.m41 : 16 === a.length ? parseFloat(a[12]) : parseFloat(a[4])), 3753 "y" === t && (i = r.WebKitCSSMatrix ? s.m42 : 16 === a.length ? parseFloat(a[13]) : parseFloat(a[5])), 3754 i || 0 3755 } 3756 function C(e) { 3757 return "object" == typeof e && null !== e && e.constructor && e.constructor === Object 3758 } 3759 function S() { 3760 for (var e = Object(arguments.length <= 0 ? void 0 : arguments[0]), t = 1; t < arguments.length; t += 1) { 3761 var a = t < 0 || arguments.length <= t ? void 0 : arguments[t]; 3762 if (null != a) 3763 for (var i = Object.keys(Object(a)), s = 0, r = i.length; s < r; s += 1) { 3764 var n = i[s] 3765 , l = Object.getOwnPropertyDescriptor(a, n); 3766 void 0 !== l && l.enumerable && (C(e[n]) && C(a[n]) ? S(e[n], a[n]) : !C(e[n]) && C(a[n]) ? (e[n] = {}, 3767 S(e[n], a[n])) : e[n] = a[n]) 3768 } 3769 } 3770 return e 3771 } 3772 function M(e, t) { 3773 Object.keys(t).forEach((function(a) { 3774 C(t[a]) && Object.keys(t[a]).forEach((function(i) { 3775 "function" == typeof t[a][i] && (t[a][i] = t[a][i].bind(e)) 3776 } 3777 )), 3778 e[a] = t[a] 3779 } 3780 )) 3781 } 3782 function z() { 3783 return g || (g = function() { 3784 var e = l() 3785 , t = r(); 3786 return { 3787 touch: !!("ontouchstart"in e || e.DocumentTouch && t instanceof e.DocumentTouch), 3788 pointerEvents: !!e.PointerEvent && "maxTouchPoints"in e.navigator && e.navigator.maxTouchPoints >= 0, 3789 observer: "MutationObserver"in e || "WebkitMutationObserver"in e, 3790 passiveListener: function() { 3791 var t = !1; 3792 try { 3793 var a = Object.defineProperty({}, "passive", { 3794 get: function() { 3795 t = !0 3796 } 3797 }); 3798 e.addEventListener("testPassiveListener", null, a) 3799 } catch (e) {} 3800 return t 3801 }(), 3802 gestures: "ongesturestart"in e 3803 } 3804 }()), 3805 g 3806 } 3807 function P(e) { 3808 return void 0 === e && (e = {}), 3809 y || (y = function(e) { 3810 var t = (void 0 === e ? {} : e).userAgent 3811 , a = z() 3812 , i = l() 3813 , s = i.navigator.platform 3814 , r = t || i.navigator.userAgent 3815 , n = { 3816 ios: !1, 3817 android: !1 3818 } 3819 , o = i.screen.width 3820 , d = i.screen.height 3821 , p = r.match(/(Android);?[\s\/]+([\d.]+)?/) 3822 , u = r.match(/(iPad).*OS\s([\d_]+)/) 3823 , c = r.match(/(iPod)(.*OS\s([\d_]+))?/) 3824 , h = !u && r.match(/(iPhone\sOS|iOS)\s([\d_]+)/) 3825 , v = "Win32" === s 3826 , f = "MacIntel" === s; 3827 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"]), 3828 f = !1), 3829 p && !v && (n.os = "android", 3830 n.android = !0), 3831 (u || h || c) && (n.os = "ios", 3832 n.ios = !0), 3833 n 3834 }(e)), 3835 y 3836 } 3837 function k() { 3838 return w || (w = function() { 3839 var e, t = l(); 3840 return { 3841 isEdge: !!t.navigator.userAgent.match(/Edge/g), 3842 isSafari: (e = t.navigator.userAgent.toLowerCase(), 3843 e.indexOf("safari") >= 0 && e.indexOf("chrome") < 0 && e.indexOf("android") < 0),
3844 isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(t.navigator.userAgent) 3845 } 3846 }()), 3847 w 3848 } 3849 Object.keys(b).forEach((function(e) { 3850 m.fn[e] = b[e] 3851 } 3852 )); 3853 var L = { 3854 name: "resize", 3855 create: function() { 3856 var e = this; 3857 S(e, { 3858 resize: { 3859 resizeHandler: function() { 3860 e && !e.destroyed && e.initialized && (e.emit("beforeResize"), 3861 e.emit("resize")) 3862 }, 3863 orientationChangeHandler: function() { 3864 e && !e.destroyed && e.initialized && e.emit("orientationchange") 3865 } 3866 } 3867 }) 3868 }, 3869 on: { 3870 init: function(e) { 3871 var t = l(); 3872 t.addEventListener("resize", e.resize.resizeHandler), 3873 t.addEventListener("orientationchange", e.resize.orientationChangeHandler) 3874 }, 3875 destroy: function(e) { 3876 var t = l(); 3877 t.removeEventListener("resize", e.resize.resizeHandler), 3878 t.removeEventListener("orientationchange", e.resize.orientationChangeHandler) 3879 } 3880 } 3881 } 3882 , $ = { 3883 attach: function(e, t) { 3884 void 0 === t && (t = {}); 3885 var a = l() 3886 , i = this 3887 , s = new (a.MutationObserver || a.WebkitMutationObserver)((function(e) { 3888 if (1 !== e.length) { 3889 var t = function() { 3890 i.emit("observerUpdate", e[0]) 3891 }; 3892 a.requestAnimationFrame ? a.requestAnimationFrame(t) : a.setTimeout(t, 0) 3893 } else 3894 i.emit("observerUpdate", e[0]) 3895 } 3896 )); 3897 s.observe(e, { 3898 attributes: void 0 === t.attributes || t.attributes, 3899 childList: void 0 === t.childList || t.childList, 3900 characterData: void 0 === t.characterData || t.characterData 3901 }), 3902 i.observer.observers.push(s) 3903 }, 3904 init: function() { 3905 var e = this; 3906 if (e.support.observer && e.params.observer) { 3907 if (e.params.observeParents) 3908 for (var t = e.$el.parents(), a = 0; a < t.length; a += 1) 3909 e.observer.attach(t[a]); 3910 e.observer.attach(e.$el[0], { 3911 childList: e.params.observeSlideChildren 3912 }), 3913 e.observer.attach(e.$wrapperEl[0], { 3914 attributes: !1 3915 }) 3916 } 3917 }, 3918 destroy: function() { 3919 this.observer.observers.forEach((function(e) { 3920 e.disconnect() 3921 } 3922 )), 3923 this.observer.observers = [] 3924 } 3925 } 3926 , I = { 3927 name: "observer", 3928 params: { 3929 observer: !1, 3930 observeParents: !1, 3931 observeSlideChildren: !1 3932 }, 3933 create: function() { 3934 M(this, { 3935 observer: t({}, $, { 3936 observers: [] 3937 }) 3938 }) 3939 }, 3940 on: { 3941 init: function(e) { 3942 e.observer.init() 3943 }, 3944 destroy: function(e) { 3945 e.observer.destroy() 3946 } 3947 } 3948 }; 3949 function O(e) { 3950 var t = this 3951 , a = r() 3952 , i = l() 3953 , s = t.touchEventsData 3954 , n = t.params 3955 , o = t.touches; 3956 if (!t.animating || !n.preventInteractionOnTransition) { 3957 var d = e; 3958 d.originalEvent && (d = d.originalEvent); 3959 var p = m(d.target); 3960 if ("wrapper" !== n.touchEventsTarget || p.closest(t.wrapperEl).length) 3961 if (s.isTouchEvent = "touchstart" === d.type, 3962 s.isTouchEvent || !("which"in d) || 3 !== d.which) 3963 if (!(!s.isTouchEvent && "button"in d && d.button > 0)) 3964 if (!s.isTouched || !s.isMoved) 3965 if (!!n.noSwipingClass && "" !== n.noSwipingClass && d.target && d.target.shadowRoot && e.path && e.path[0] && (p = m(e.path[0])), 3966 n.noSwiping && p.closest(n.noSwipingSelector ? n.noSwipingSelector : "." + n.noSwipingClass)[0]) 3967 t.allowClick = !0; 3968 else if (!n.swipeHandler || p.closest(n.swipeHandler)[0]) { 3969 o.currentX = "touchstart" === d.t
vendor: 80,829 bytes, lines 3969-5554
3969ype ? d.targetTouches[0].pageX : d.pageX, 3970 o.currentY = "touchstart" === d.type ? d.targetTouches[0].pageY : d.pageY; 3971 var u = o.currentX 3972 , c = o.currentY 3973 , h = n.edgeSwipeDetection || n.iOSEdgeSwipeDetection 3974 , v = n.edgeSwipeThreshold || n.iOSEdgeSwipeThreshold; 3975 if (!h || !(u <= v || u >= i.innerWidth - v)) { 3976 if (S(s, { 3977 isTouched: !0, 3978 isMoved: !1, 3979 allowTouchCallbacks: !0, 3980 isScrolling: void 0, 3981 startMoving: void 0 3982 }), 3983 o.startX = u, 3984 o.startY = c, 3985 s.touchStartTime = x(), 3986 t.allowClick = !0, 3987 t.updateSize(), 3988 t.swipeDirection = void 0, 3989 n.threshold > 0 && (s.allowThresholdMove = !1), 3990 "touchstart" !== d.type) { 3991 var f = !0; 3992 p.is(s.formElements) && (f = !1), 3993 a.activeElement && m(a.activeElement).is(s.formElements) && a.activeElement !== p[0] && a.activeElement.blur(); 3994 var g = f && t.allowTouchMove && n.touchStartPreventDefault; 3995 !n.touchStartForcePreventDefault && !g || p[0].isContentEditable || d.preventDefault() 3996 } 3997 t.emit("touchStart", d) 3998 } 3999 } 4000 } 4001 } 4002 function A(e) { 4003 var t = r() 4004 , a = this 4005 , i = a.touchEventsData 4006 , s = a.params 4007 , n = a.touches 4008 , l = a.rtlTranslate 4009 , o = e; 4010 if (o.originalEvent && (o = o.originalEvent), 4011 i.isTouched) { 4012 if (!i.isTouchEvent || "touchmove" === o.type) { 4013 var d = "touchmove" === o.type && o.targetTouches && (o.targetTouches[0] || o.changedTouches[0]) 4014 , p = "touchmove" === o.type ? d.pageX : o.pageX 4015 , u = "touchmove" === o.type ? d.pageY : o.pageY; 4016 if (o.preventedByNestedSwiper) 4017 return n.startX = p, 4018 void (n.startY = u); 4019 if (!a.allowTouchMove) 4020 return a.allowClick = !1, 4021 void (i.isTouched && (S(n, { 4022 startX: p, 4023 startY: u, 4024 currentX: p, 4025 currentY: u 4026 }), 4027 i.touchStartTime = x())); 4028 if (i.isTouchEvent && s.touchReleaseOnEdges && !s.loop) 4029 if (a.isVertical()) { 4030 if (u < n.startY && a.translate <= a.maxTranslate() || u > n.startY && a.translate >= a.minTranslate()) 4031 return i.isTouched = !1, 4032 void (i.isMoved = !1) 4033 } else if (p < n.startX && a.translate <= a.maxTranslate() || p > n.startX && a.translate >= a.minTranslate()) 4034 return; 4035 if (i.isTouchEvent && t.activeElement && o.target === t.activeElement && m(o.target).is(i.formElements)) 4036 return i.isMoved = !0, 4037 void (a.allowClick = !1); 4038 if (i.allowTouchCallbacks && a.emit("touchMove", o), 4039 !(o.targetTouches && o.targetTouches.length > 1)) { 4040 n.currentX = p, 4041 n.currentY = u; 4042 var c = n.currentX - n.startX 4043 , h = n.currentY - n.startY; 4044 if (!(a.params.threshold && Math.sqrt(Math.pow(c, 2) + Math.pow(h, 2)) < a.params.threshold)) { 4045 var v; 4046 if (void 0 === i.isScrolling) 4047 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, 4048 i.isScrolling = a.isHorizontal() ? v > s.touchAngle : 90 - v > s.touchAngle); 4049 if (i.isScrolling && a.emit("touchMoveOpposite", o), 4050 void 0 === i.startMoving && (n.currentX === n.startX && n.currentY === n.startY || (i.startMoving = !0)), 4051 i.isScrolling) 4052 i.isTouched = !1; 4053 else if (i.startMoving) { 4054 a.allowClick = !1, 4055 !s.cssMode && o.cancelable && o.preventDefault(), 4056 s.touchMoveStopPropagation && !s.nested && o.stopPropagation(), 4057 i.isMoved || (s.loop && a.loopFix(), 4058 i.startTranslate = a.getTranslate(), 4059 a.setTransition(0), 4060 a.animating && a.$wrapperEl.trigger("webkitTransitionEnd transitionend"), 4061 i.allowMomentumBounce = !1, 4062 !s.grabCursor || !0 !== a.allowSlideNext && !0 !== a.allowSlidePrev || a.setGrabCursor(!0), 4063 a.emit("sliderFirstMove", o)), 4064 a.emit("sliderMove", o), 4065 i.isMoved = !0; 4066 var f = a.isHorizontal() ? c : h; 4067 n.diff = f, 4068 f *= s.touchRatio, 4069 l && (f = -f), 4070 a.swipeDirection = f > 0 ? "prev" : "next", 4071 i.currentTranslate = f + i.startTranslate; 4072 var g = !0 4073 , y = s.resistanceRatio; 4074 if (s.touchReleaseOnEdges && (y = 0), 4075 f > 0 && i.currentTranslate > a.minTranslate() ? (g = !1, 4076 s.resistance && (i.currentTranslate = a.minTranslate() - 1 + Math.pow(-a.minTranslate() + i.startTranslate + f, y))) : f < 0 && i.currentTranslate < a.maxTranslate() && (g = !1, 4077 s.resistance && (i.currentTranslate = a.maxTranslate() + 1 - Math.pow(a.maxTranslate() - i.startTranslate - f, y))), 4078 g && (o.preventedByNestedSwiper = !0), 4079 !a.allowSlideNext && "next" === a.swipeDirection && i.currentTranslate < i.startTranslate && (i.currentTranslate = i.startTranslate), 4080 !a.allowSlidePrev && "prev" === a.swipeDirection && i.currentTranslate > i.startTranslate && (i.currentTranslate = i.startTranslate), 4081 s.threshold > 0) { 4082 if (!(Math.abs(f) > s.threshold || i.allowThresholdMove)) 4083 return void (i.currentTranslate = i.startTranslate); 4084 if (!i.allowThresholdMove) 4085 return i.allowThresholdMove = !0, 4086 n.startX = n.currentX, 4087 n.startY = n.currentY, 4088 i.currentTranslate = i.startTranslate, 4089 void (n.diff = a.isHorizontal() ? n.currentX - n.startX : n.currentY - n.startY) 4090 } 4091 s.followFinger && !s.cssMode && ((s.freeMode || s.watchSlidesProgress || s.watchSlidesVisibility) && (a.updateActiveIndex(), 4092 a.updateSlidesClasses()), 4093 s.freeMode && (0 === i.velocities.length && i.velocities.push({ 4094 position: n[a.isHorizontal() ? "startX" : "startY"], 4095 time: i.touchStartTime 4096 }), 4097 i.velocities.push({ 4098 position: n[a.isHorizontal() ? "currentX" : "currentY"], 4099 time: x() 4100 })), 4101 a.updateProgress(i.currentTranslate), 4102 a.setTranslate(i.currentTranslate)) 4103 } 4104 } 4105 } 4106 } 4107 } else 4108 i.startMoving && i.isScrolling && a.emit("touchMoveOpposite", o) 4109 } 4110 function D(e) { 4111 var t = this 4112 , a = t.touchEventsData 4113 , i = t.params 4114 , s = t.touches 4115 , r = t.rtlTranslate 4116 , n = t.$wrapperEl 4117 , l = t.slidesGrid 4118 , o = t.snapGrid 4119 , d = e; 4120 if (d.originalEvent && (d = d.originalEvent), 4121 a.allowTouchCallbacks && t.emit("touchEnd", d), 4122 a.allowTouchCallbacks = !1, 4123 !a.isTouched) 4124 return a.isMoved && i.grabCursor && t.setGrabCursor(!1), 4125 a.isMoved = !1, 4126 void (a.startMoving = !1); 4127 i.grabCursor && a.isMoved && a.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1); 4128 var p, u = x(), c = u - a.touchStartTime; 4129 if (t.allowClick && (t.updateClickedSlide(d), 4130 t.emit("tap click", d), 4131 c < 300 && u - a.lastClickTime < 300 && t.emit("doubleTap doubleClick", d)), 4132 a.lastClickTime = x(), 4133 E((function() { 4134 t.destroyed || (t.allowClick = !0) 4135 } 4136 )), 4137 !a.isTouched || !a.isMoved || !t.swipeDirection || 0 === s.diff || a.currentTranslate === a.startTranslate) 4138 return a.isTouched = !1, 4139 a.isMoved = !1, 4140 void (a.startMoving = !1); 4141 if (a.isTouched = !1, 4142 a.isMoved = !1, 4143 a.startMoving = !1, 4144 p = i.followFinger ? r ? t.translate : -t.translate : -a.currentTranslate, 4145 !i.cssMode) 4146 if (i.freeMode) { 4147 if (p < -t.minTranslate()) 4148 return void t.slideTo(t.activeIndex); 4149 if (p > -t.maxTranslate()) 4150 return void (t.slides.length < o.length ? t.slideTo(o.length - 1) : t.slideTo(t.slides.length - 1)); 4151 if (i.freeModeMomentum) { 4152 if (a.velocities.length > 1) { 4153 var h = a.velocities.pop() 4154 , v = a.velocities.pop() 4155 , f = h.position - v.position 4156 , m = h.time - v.time; 4157 t.velocity = f / m, 4158 t.velocity /= 2, 4159 Math.abs(t.velocity) < i.freeModeMinimumVelocity && (t.velocity = 0), 4160 (m > 150 || x() - h.time > 300) && (t.velocity = 0) 4161 } else 4162 t.velocity = 0; 4163 t.velocity *= i.freeModeMomentumVelocityRatio, 4164 a.velocities.length = 0; 4165 var g = 1e3 * i.freeModeMomentumRatio 4166 , y = t.velocity * g 4167 , w = t.translate + y; 4168 r && (w = -w); 4169 var b, T, C = !1, S = 20 * Math.abs(t.velocity) * i.freeModeMomentumBounceRatio; 4170 if (w < t.maxTranslate()) 4171 i.freeModeMomentumBounce ? (w + t.maxTranslate() < -S && (w = t.maxTranslate() - S), 4172 b = t.maxTranslate(), 4173 C = !0, 4174 a.allowMomentumBounce = !0) : w = t.maxTranslate(), 4175 i.loop && i.centeredSlides && (T = !0); 4176 else if (w > t.minTranslate()) 4177 i.freeModeMomentumBounce ? (w - t.minTranslate() > S && (w = t.minTranslate() + S), 4178 b = t.minTranslate(), 4179 C = !0, 4180 a.allowMomentumBounce = !0) : w = t.minTranslate(), 4181 i.loop && i.centeredSlides && (T = !0); 4182 else if (i.freeModeSticky) { 4183 for (var M, z = 0; z < o.length; z += 1) 4184 if (o[z] > -w) { 4185 M = z; 4186 break 4187 } 4188 w = -(w = Math.abs(o[M] - w) < Math.abs(o[M - 1] - w) || "next" === t.swipeDirection ? o[M] : o[M - 1]) 4189 } 4190 if (T && t.once("transitionEnd", (function() { 4191 t.loopFix() 4192 } 4193 )), 4194 0 !== t.velocity) { 4195 if (g = r ? Math.abs((-w - t.translate) / t.velocity) : Math.abs((w - t.translate) / t.velocity), 4196 i.freeModeSticky) { 4197 var P = Math.abs((r ? -w : w) - t.translate) 4198 , k = t.slidesSizesGrid[t.activeIndex]; 4199 g = P < k ? i.speed : P < 2 * k ? 1.5 * i.speed : 2.5 * i.speed 4200 } 4201 } else if (i.freeModeSticky) 4202 return void t.slideToClosest(); 4203 i.freeModeMomentumBounce && C ? (t.updateProgress(b), 4204 t.setTransition(g), 4205 t.setTranslate(w), 4206 t.transitionStart(!0, t.swipeDirection), 4207 t.animating = !0, 4208 n.transitionEnd((function() { 4209 t && !t.destroyed && a.allowMomentumBounce && (t.emit("momentumBounce"), 4210 t.setTransition(i.speed), 4211 setTimeout((function() { 4212 t.setTranslate(b), 4213 n.transitionEnd((function() { 4214 t && !t.destroyed && t.transitionEnd() 4215 } 4216 )) 4217 } 4218 ), 0)) 4219 } 4220 ))) : t.velocity ? (t.updateProgress(w), 4221 t.setTransition(g), 4222 t.setTranslate(w), 4223 t.transitionStart(!0, t.swipeDirection), 4224 t.animating || (t.animating = !0, 4225 n.transitionEnd((function() { 4226 t && !t.destroyed && t.transitionEnd() 4227 } 4228 )))) : t.updateProgress(w), 4229 t.updateActiveIndex(), 4230 t.updateSlidesClasses() 4231 } else if (i.freeModeSticky) 4232 return void t.slideToClosest(); 4233 (!i.freeModeMomentum || c >= i.longSwipesMs) && (t.updateProgress(), 4234 t.updateActiveIndex(), 4235 t.updateSlidesClasses()) 4236 } else { 4237 for (var L = 0, $ = t.slidesSizesGrid[0], I = 0; I < l.length; I += I < i.slidesPerGroupSkip ? 1 : i.slidesPerGroup) { 4238 var O = I < i.slidesPerGroupSkip - 1 ? 1 : i.slidesPerGroup; 4239 void 0 !== l[I + O] ? p >= l[I] && p < l[I + O] && (L = I, 4240 $ = l[I + O] - l[I]) : p >= l[I] && (L = I, 4241 $ = l[l.length - 1] - l[l.length - 2]) 4242 } 4243 var A = (p - l[L]) / $ 4244 , D = L < i.slidesPerGroupSkip - 1 ? 1 : i.slidesPerGroup; 4245 if (c > i.longSwipesMs) { 4246 if (!i.longSwipes) 4247 return void t.slideTo(t.activeIndex); 4248 "next" === t.swipeDirection && (A >= i.longSwipesRatio ? t.slideTo(L + D) : t.slideTo(L)), 4249 "prev" === t.swipeDirection && (A > 1 - i.longSwipesRatio ? t.slideTo(L + D) : t.slideTo(L)) 4250 } else { 4251 if (!i.shortSwipes) 4252 return void t.slideTo(t.activeIndex); 4253 t.navigation && (d.target === t.navigation.nextEl || d.target === t.navigation.prevEl) ? d.target === t.navigation.nextEl ? t.slideTo(L + D) : t.slideTo(L) : ("next" === t.swipeDirection && t.slideTo(L + D), 4254 "prev" === t.swipeDirection && t.slideTo(L)) 4255 } 4256 } 4257 } 4258 function G() { 4259 var e = this 4260 , t = e.params 4261 , a = e.el; 4262 if (!a || 0 !== a.offsetWidth) { 4263 t.breakpoints && e.setBreakpoint(); 4264 var i = e.allowSlideNext 4265 , s = e.allowSlidePrev 4266 , r = e.snapGrid; 4267 e.allowSlideNext = !0, 4268 e.allowSlidePrev = !0, 4269 e.updateSize(), 4270 e.updateSlides(), 4271 e.updateSlidesClasses(), 4272 ("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), 4273 e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.run(), 4274 e.allowSlidePrev = s, 4275 e.allowSlideNext = i, 4276 e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow() 4277 } 4278 } 4279 function N(e) { 4280 var t = this; 4281 t.allowClick || (t.params.preventClicks && e.preventDefault(), 4282 t.params.preventClicksPropagation && t.animating && (e.stopPropagation(), 4283 e.stopImmediatePropagation())) 4284 } 4285 function B() { 4286 var e = this 4287 , t = e.wrapperEl 4288 , a = e.rtlTranslate; 4289 e.previousTranslate = e.translate, 4290 e.isHorizontal() ? e.translate = a ? t.scrollWidth - t.offsetWidth - t.scrollLeft : -t.scrollLeft : e.translate = -t.scrollTop, 4291 -0 === e.translate && (e.translate = 0), 4292 e.updateActiveIndex(), 4293 e.updateSlidesClasses(); 4294 var i = e.maxTranslate() - e.minTranslate(); 4295 (0 === i ? 0 : (e.translate - e.minTranslate()) / i) !== e.progress && e.updateProgress(a ? -e.translate : e.translate), 4296 e.emit("setTranslate", e.translate, !1) 4297 } 4298 var H = !1; 4299 function X() {} 4300 var Y = { 4301 init: !0, 4302 direction: "horizontal", 4303 touchEventsTarget: "container", 4304 initialSlide: 0, 4305 speed: 300, 4306 cssMode: !1, 4307 updateOnWindowResize: !0, 4308 nested: !1, 4309 width: null, 4310 height: null, 4311 preventInteractionOnTransition: !1, 4312 userAgent: null, 4313 url: null, 4314 edgeSwipeDetection: !1, 4315 edgeSwipeThreshold: 20, 4316 freeMode: !1, 4317 freeModeMomentum: !0, 4318 freeModeMomentumRatio: 1, 4319 freeModeMomentumBounce: !0, 4320 freeModeMomentumBounceRatio: 1, 4321 freeModeMomentumVelocityRatio: 1, 4322 freeModeSticky: !1, 4323 freeModeMinimumVelocity: .02, 4324 autoHeight: !1, 4325 setWrapperSize: !1, 4326 virtualTranslate: !1, 4327 effect: "slide", 4328 breakpoints: void 0, 4329 spaceBetween: 0, 4330 slidesPerView: 1, 4331 slidesPerColumn: 1, 4332 slidesPerColumnFill: "column", 4333 slidesPerGroup: 1, 4334 slidesPerGroupSkip: 0, 4335 centeredSlides: !1, 4336 centeredSlidesBounds: !1, 4337 slidesOffsetBefore: 0, 4338 slidesOffsetAfter: 0, 4339 normalizeSlideIndex: !0, 4340 centerInsufficientSlides: !1, 4341 watchOverflow: !1, 4342 roundLengths: !1, 4343 touchRatio: 1, 4344 touchAngle: 45, 4345 simulateTouch: !0, 4346 shortSwipes: !0, 4347 longSwipes: !0, 4348 longSwipesRatio: .5, 4349 longSwipesMs: 300, 4350 followFinger: !0, 4351 allowTouchMove: !0, 4352 threshold: 0, 4353 touchMoveStopPropagation: !1, 4354 touchStartPreventDefault: !0, 4355 touchStartForcePreventDefault: !1, 4356 touchReleaseOnEdges: !1, 4357 uniqueNavElements: !0, 4358 resistance: !0, 4359 resistanceRatio: .85, 4360 watchSlidesProgress: !1, 4361 watchSlidesVisibility: !1, 4362 grabCursor: !1, 4363 preventClicks: !0, 4364 preventClicksPropagation: !0, 4365 slideToClickedSlide: !1, 4366 preloadImages: !0, 4367 updateOnImagesReady: !0, 4368 loop: !1, 4369 loopAdditionalSlides: 0, 4370 loopedSlides: null, 4371 loopFillGroupWithBlank: !1, 4372 loopPreventsSlide: !0, 4373 allowSlidePrev: !0, 4374 allowSlideNext: !0, 4375 swipeHandler: null, 4376 noSwiping: !0, 4377 noSwipingClass: "swiper-no-swiping", 4378 noSwipingSelector: null, 4379 passiveListeners: !0, 4380 containerModifierClass: "swiper-container-", 4381 slideClass: "swiper-slide", 4382 slideBlankClass: "swiper-slide-invisible-blank", 4383 slideActiveClass: "swiper-slide-active", 4384 slideDuplicateActiveClass: "swiper-slide-duplicate-active", 4385 slideVisibleClass: "swiper-slide-visible", 4386 slideDuplicateClass: "swiper-slide-duplicate", 4387 slideNextClass: "swiper-slide-next", 4388 slideDuplicateNextClass: "swiper-slide-duplicate-next", 4389 slidePrevClass: "swiper-slide-prev", 4390 slideDuplicatePrevClass: "swiper-slide-duplicate-prev", 4391 wrapperClass: "swiper-wrapper", 4392 runCallbacksOnInit: !0, 4393 _emitClasses: !1 4394 } 4395 , V = { 4396 modular: { 4397 useParams: function(e) { 4398 var t = this; 4399 t.modules && Object.keys(t.modules).forEach((function(a) { 4400 var i = t.modules[a]; 4401 i.params && S(e, i.params) 4402 } 4403 )) 4404 }, 4405 useModules: function(e) { 4406 void 0 === e && (e = {}); 4407 var t = this; 4408 t.modules && Object.keys(t.modules).forEach((function(a) { 4409 var i = t.modules[a] 4410 , s = e[a] || {}; 4411 i.on && t.on && Object.keys(i.on).forEach((function(e) { 4412 t.on(e, i.on[e]) 4413 } 4414 )), 4415 i.create && i.create.bind(t)(s) 4416 } 4417 )) 4418 } 4419 }, 4420 eventsEmitter: { 4421 on: function(e, t, a) { 4422 var i = this; 4423 if ("function" != typeof t) 4424 return i; 4425 var s = a ? "unshift" : "push"; 4426 return e.split(" ").forEach((function(e) { 4427 i.eventsListeners[e] || (i.eventsListeners[e] = []), 4428 i.eventsListeners[e][s](t) 4429 } 4430 )), 4431 i 4432 }, 4433 once: function(e, t, a) { 4434 var i = this; 4435 if ("function" != typeof t) 4436 return i; 4437 function s() { 4438 i.off(e, s), 4439 s.__emitterProxy && delete s.__emitterProxy; 4440 for (var a = arguments.length, r = new Array(a), n = 0; n < a; n++) 4441 r[n] = arguments[n]; 4442 t.apply(i, r) 4443 } 4444 return s.__emitterProxy = t, 4445 i.on(e, s, a) 4446 }, 4447 onAny: function(e, t) { 4448 var a = this; 4449 if ("function" != typeof e) 4450 return a; 4451 var i = t ? "unshift" : "push"; 4452 return a.eventsAnyListeners.indexOf(e) < 0 && a.eventsAnyListeners[i](e), 4453 a 4454 }, 4455 offAny: function(e) { 4456 var t = this; 4457 if (!t.eventsAnyListeners) 4458 return t; 4459 var a = t.eventsAnyListeners.indexOf(e); 4460 return a >= 0 && t.eventsAnyListeners.splice(a, 1), 4461 t 4462 }, 4463 off: function(e, t) { 4464 var a = this; 4465 return a.eventsListeners ? (e.split(" ").forEach((function(e) { 4466 void 0 === t ? a.eventsListeners[e] = [] : a.eventsListeners[e] && a.eventsListeners[e].forEach((function(i, s) { 4467 (i === t || i.__emitterProxy && i.__emitterProxy === t) && a.eventsListeners[e].splice(s, 1) 4468 } 4469 )) 4470 } 4471 )), 4472 a) : a 4473 }, 4474 emit: function() { 4475 var e, t, a, i = this; 4476 if (!i.eventsListeners) 4477 return i; 4478 for (var s = arguments.length, r = new Array(s), n = 0; n < s; n++) 4479 r[n] = arguments[n]; 4480 "string" == typeof r[0] || Array.isArray(r[0]) ? (e = r[0], 4481 t = r.slice(1, r.length), 4482 a = i) : (e = r[0].events, 4483 t = r[0].data, 4484 a = r[0].context || i), 4485 t.unshift(a); 4486 var l = Array.isArray(e) ? e : e.split(" "); 4487 return l.forEach((function(e) { 4488 i.eventsAnyListeners && i.eventsAnyListeners.length && i.eventsAnyListeners.forEach((function(i) { 4489 i.apply(a, [e].concat(t)) 4490 } 4491 )), 4492 i.eventsListeners && i.eventsListeners[e] && i.eventsListeners[e].forEach((function(e) { 4493 e.apply(a, t) 4494 } 4495 )) 4496 } 4497 )), 4498 i 4499 } 4500 }, 4501 update: { 4502 updateSize: function() { 4503 var e, t, a = this, i = a.$el; 4504 e = void 0 !== a.params.width && null !== a.params.width ? a.params.width : i[0].clientWidth, 4505 t = void 0 !== a.params.height && null !== a.params.height ? a.params.height : i[0].clientHeight, 4506 0 === e && a.isHorizontal() || 0 === t && a.isVertical() || (e = e - parseInt(i.css("padding-left") || 0, 10) - parseInt(i.css("padding-right") || 0, 10), 4507 t = t - parseInt(i.css("padding-top") || 0, 10) - parseInt(i.css("padding-bottom") || 0, 10), 4508 Number.isNaN(e) && (e = 0), 4509 Number.isNaN(t) && (t = 0), 4510 S(a, { 4511 width: e, 4512 height: t, 4513 size: a.isHorizontal() ? e : t 4514 })) 4515 }, 4516 updateSlides: function() { 4517 var e = this 4518 , t = l() 4519 , a = e.params 4520 , i = e.$wrapperEl 4521 , s = e.size 4522 , r = e.rtlTranslate 4523 , n = e.wrongRTL 4524 , o = e.virtual && a.virtual.enabled 4525 , d = o ? e.virtual.slides.length : e.slides.length 4526 , p = i.children("." + e.params.slideClass) 4527 , u = o ? e.virtual.slides.length : p.length 4528 , c = [] 4529 , h = [] 4530 , v = []; 4531 function f(e, t) { 4532 return !a.cssMode || t !== p.length - 1 4533 } 4534 var m = a.slidesOffsetBefore; 4535 "function" == typeof m && (m = a.slidesOffsetBefore.call(e)); 4536 var g = a.slidesOffsetAfter; 4537 "function" == typeof g && (g = a.slidesOffsetAfter.call(e)); 4538 var y = e.snapGrid.length 4539 , w = e.slidesGrid.length 4540 , b = a.spaceBetween 4541 , E = -m 4542 , x = 0 4543 , T = 0; 4544 if (void 0 !== s) { 4545 var C, M; 4546 "string" == typeof b && b.indexOf("%") >= 0 && (b = parseFloat(b.replace("%", "")) / 100 * s), 4547 e.virtualSize = -b, 4548 r ? p.css({ 4549 marginLeft: "", 4550 marginTop: "" 4551 }) : p.css({ 4552 marginRight: "", 4553 marginBottom: "" 4554 }), 4555 a.slidesPerColumn > 1 && (C = Math.floor(u / a.slidesPerColumn) === u / e.params.slidesPerColumn ? u : Math.ceil(u / a.slidesPerColumn) * a.slidesPerColumn, 4556 "auto" !== a.slidesPerView && "row" === a.slidesPerColumnFill && (C = Math.max(C, a.slidesPerView * a.slidesPerColumn))); 4557 for (var z, P = a.slidesPerColumn, k = C / P, L = Math.floor(u / a.slidesPerColumn), $ = 0; $ < u; $ += 1) { 4558 M = 0; 4559 var I = p.eq($); 4560 if (a.slidesPerColumn > 1) { 4561 var O = void 0 4562 , A = void 0 4563 , D = void 0; 4564 if ("row" === a.slidesPerColumnFill && a.slidesPerGroup > 1) { 4565 var G = Math.floor($ / (a.slidesPerGroup * a.slidesPerColumn)) 4566 , N = $ - a.slidesPerColumn * a.slidesPerGroup * G 4567 , B = 0 === G ? a.slidesPerGroup : Math.min(Math.ceil((u - G * P * a.slidesPerGroup) / P), a.slidesPerGroup); 4568 O = (A = N - (D = Math.floor(N / B)) * B + G * a.slidesPerGroup) + D * C / P, 4569 I.css({ 4570 "-webkit-box-ordinal-group": O, 4571 "-moz-box-ordinal-group": O, 4572 "-ms-flex-order": O, 4573 "-webkit-order": O, 4574 order: O 4575 }) 4576 } else 4577 "column" === a.slidesPerColumnFill ? (D = $ - (A = Math.floor($ / P)) * P, 4578 (A > L || A === L && D === P - 1) && (D += 1) >= P && (D = 0, 4579 A += 1)) : A = $ - (D = Math.floor($ / k)) * k; 4580 I.css("margin-" + (e.isHorizontal() ? "top" : "left"), 0 !== D && a.spaceBetween && a.spaceBetween + "px") 4581 } 4582 if ("none" !== I.css("display")) { 4583 if ("auto" === a.slidesPerView) { 4584 var H = t.getComputedStyle(I[0], null) 4585 , X = I[0].style.transform 4586 , Y = I[0].style.webkitTransform; 4587 if (X && (I[0].style.transform = "none"), 4588 Y && (I[0].style.webkitTransform = "none"), 4589 a.roundLengths) 4590 M = e.isHorizontal() ? I.outerWidth(!0) : I.outerHeight(!0); 4591 else if (e.isHorizontal()) { 4592 var V = parseFloat(H.getPropertyValue("width") || 0) 4593 , F = parseFloat(H.getPropertyValue("padding-left") || 0) 4594 , R = parseFloat(H.getPropertyValue("padding-right") || 0) 4595 , W = parseFloat(H.getPropertyValue("margin-left") || 0) 4596 , q = parseFloat(H.getPropertyValue("margin-right") || 0) 4597 , j = H.getPropertyValue("box-sizing"); 4598 if (j && "border-box" === j) 4599 M = V + W + q; 4600 else { 4601 var _ = I[0] 4602 , U = _.clientWidth; 4603 M = V + F + R + W + q + (_.offsetWidth - U) 4604 } 4605 } else { 4606 var K = parseFloat(H.getPropertyValue("height") || 0) 4607 , Z = parseFloat(H.getPropertyValue("padding-top") || 0) 4608 , J = parseFloat(H.getPropertyValue("padding-bottom") || 0) 4609 , Q = parseFloat(H.getPropertyValue("margin-top") || 0) 4610 , ee = parseFloat(H.getPropertyValue("margin-bottom") || 0) 4611 , te = H.getPropertyValue("box-sizing"); 4612 if (te && "border-box" === te) 4613 M = K + Q + ee; 4614 else { 4615 var ae = I[0] 4616 , ie = ae.clientHeight; 4617 M = K + Z + J + Q + ee + (ae.offsetHeight - ie) 4618 } 4619 } 4620 X && (I[0].style.transform = X), 4621 Y && (I[0].style.webkitTransform = Y), 4622 a.roundLengths && (M = Math.floor(M)) 4623 } else 4624 M = (s - (a.slidesPerView - 1) * b) / a.slidesPerView, 4625 a.roundLengths && (M = Math.floor(M)), 4626 p[$] && (e.isHorizontal() ? p[$].style.width = M + "px" : p[$].style.height = M + "px"); 4627 p[$] && (p[$].swiperSlideSize = M), 4628 v.push(M), 4629 a.centeredSlides ? (E = E + M / 2 + x / 2 + b, 4630 0 === x && 0 !== $ && (E = E - s / 2 - b), 4631 0 === $ && (E = E - s / 2 - b), 4632 Math.abs(E) < .001 && (E = 0), 4633 a.roundLengths && (E = Math.floor(E)), 4634 T % a.slidesPerGroup == 0 && c.push(E), 4635 h.push(E)) : (a.roundLengths && (E = Math.floor(E)), 4636 (T - Math.min(e.params.slidesPerGroupSkip, T)) % e.params.slidesPerGroup == 0 && c.push(E), 4637 h.push(E), 4638 E = E + M + b), 4639 e.virtualSize += M + b, 4640 x = M, 4641 T += 1 4642 } 4643 } 4644 if (e.virtualSize = Math.max(e.virtualSize, s) + g, 4645 r && n && ("slide" === a.effect || "coverflow" === a.effect) && i.css({ 4646 width: e.virtualSize + a.spaceBetween + "px" 4647 }), 4648 a.setWrapperSize && (e.isHorizontal() ? i.css({ 4649 width: e.virtualSize + a.spaceBetween + "px" 4650 }) : i.css({ 4651 height: e.virtualSize + a.spaceBetween + "px" 4652 })), 4653 a.slidesPerColumn > 1 && (e.virtualSize = (M + a.spaceBetween) * C, 4654 e.virtualSize = Math.ceil(e.virtualSize / a.slidesPerColumn) - a.spaceBetween, 4655 e.isHorizontal() ? i.css({ 4656 width: e.virtualSize + a.spaceBetween + "px" 4657 }) : i.css({ 4658 height: e.virtualSize + a.spaceBetween + "px" 4659 }), 4660 a.centeredSlides)) { 4661 z = []; 4662 for (var se = 0; se < c.length; se += 1) { 4663 var re = c[se]; 4664 a.roundLengths && (re = Math.floor(re)), 4665 c[se] < e.virtualSize + c[0] && z.push(re) 4666 } 4667 c = z 4668 } 4669 if (!a.centeredSlides) { 4670 z = []; 4671 for (var ne = 0; ne < c.length; ne += 1) { 4672 var le = c[ne]; 4673 a.roundLengths && (le = Math.floor(le)), 4674 c[ne] <= e.virtualSize - s && z.push(le) 4675 } 4676 c = z, 4677 Math.floor(e.virtualSize - s) - Math.floor(c[c.length - 1]) > 1 && c.push(e.virtualSize - s) 4678 } 4679 if (0 === c.length && (c = [0]), 4680 0 !== a.spaceBetween && (e.isHorizontal() ? r ? p.filter(f).css({ 4681 marginLeft: b + "px" 4682 }) : p.filter(f).css({ 4683 marginRight: b + "px" 4684 }) : p.filter(f).css({ 4685 marginBottom: b + "px" 4686 })), 4687 a.centeredSlides && a.centeredSlidesBounds) { 4688 var oe = 0; 4689 v.forEach((function(e) { 4690 oe += e + (a.spaceBetween ? a.spaceBetween : 0) 4691 } 4692 )); 4693 var de = (oe -= a.spaceBetween) - s; 4694 c = c.map((function(e) { 4695 return e < 0 ? -m : e > de ? de + g : e 4696 } 4697 )) 4698 } 4699 if (a.centerInsufficientSlides) { 4700 var pe = 0; 4701 if (v.forEach((function(e) { 4702 pe += e + (a.spaceBetween ? a.spaceBetween : 0) 4703 } 4704 )), 4705 (pe -= a.spaceBetween) < s) { 4706 var ue = (s - pe) / 2; 4707 c.forEach((function(e, t) { 4708 c[t] = e - ue 4709 } 4710 )), 4711 h.forEach((function(e, t) { 4712 h[t] = e + ue 4713 } 4714 )) 4715 } 4716 } 4717 S(e, { 4718 slides: p, 4719 snapGrid: c, 4720 slidesGrid: h, 4721 slidesSizesGrid: v 4722 }), 4723 u !== d && e.emit("slidesLengthChange"), 4724 c.length !== y && (e.params.watchOverflow && e.checkOverflow(), 4725 e.emit("snapGridLengthChange")), 4726 h.length !== w && e.emit("slidesGridLengthChange"), 4727 (a.watchSlidesProgress || a.watchSlidesVisibility) && e.updateSlidesOffset() 4728 } 4729 }, 4730 updateAutoHeight: function(e) { 4731 var t, a = this, i = [], s = 0; 4732 if ("number" == typeof e ? a.setTransition(e) : !0 === e && a.setTransition(a.params.speed), 4733 "auto" !== a.params.slidesPerView && a.params.slidesPerView > 1) 4734 if (a.params.centeredSlides) 4735 a.visibleSlides.each((function(e) { 4736 i.push(e) 4737 } 4738 )); 4739 else 4740 for (t = 0; t < Math.ceil(a.params.slidesPerView); t += 1) { 4741 var r = a.activeIndex + t; 4742 if (r > a.slides.length) 4743 break; 4744 i.push(a.slides.eq(r)[0]) 4745 } 4746 else 4747 i.push(a.slides.eq(a.activeIndex)[0]); 4748 for (t = 0; t < i.length; t += 1) 4749 if (void 0 !== i[t]) { 4750 var n = i[t].offsetHeight; 4751 s = n > s ? n : s 4752 } 4753 s && a.$wrapperEl.css("height", s + "px") 4754 }, 4755 updateSlidesOffset: function() { 4756 for (var e = this.slides, t = 0; t < e.length; t += 1) 4757 e[t].swiperSlideOffset = this.isHorizontal() ? e[t].offsetLeft : e[t].offsetTop 4758 }, 4759 updateSlidesProgress: function(e) { 4760 void 0 === e && (e = this && this.translate || 0); 4761 var t = this 4762 , a = t.params 4763 , i = t.slides 4764 , s = t.rtlTranslate; 4765 if (0 !== i.length) { 4766 void 0 === i[0].swiperSlideOffset && t.updateSlidesOffset(); 4767 var r = -e; 4768 s && (r = e), 4769 i.removeClass(a.slideVisibleClass), 4770 t.visibleSlidesIndexes = [], 4771 t.visibleSlides = []; 4772 for (var n = 0; n < i.length; n += 1) { 4773 var l = i[n] 4774 , o = (r + (a.centeredSlides ? t.minTranslate() : 0) - l.swiperSlideOffset) / (l.swiperSlideSize + a.spaceBetween); 4775 if (a.watchSlidesVisibility || a.centeredSlides && a.autoHeight) { 4776 var d = -(r - l.swiperSlideOffset) 4777 , p = d + t.slidesSizesGrid[n]; 4778 (d >= 0 && d < t.size - 1 || p > 1 && p <= t.size || d <= 0 && p >= t.size) && (t.visibleSlides.push(l), 4779 t.visibleSlidesIndexes.push(n), 4780 i.eq(n).addClass(a.slideVisibleClass)) 4781 } 4782 l.progress = s ? -o : o 4783 } 4784 t.visibleSlides = m(t.visibleSlides) 4785 } 4786 }, 4787 updateProgress: function(e) { 4788 var t = this; 4789 if (void 0 === e) { 4790 var a = t.rtlTranslate ? -1 : 1; 4791 e = t && t.translate && t.translate * a || 0 4792 } 4793 var i = t.params 4794 , s = t.maxTranslate() - t.minTranslate() 4795 , r = t.progress 4796 , n = t.isBeginning 4797 , l = t.isEnd 4798 , o = n 4799 , d = l; 4800 0 === s ? (r = 0, 4801 n = !0, 4802 l = !0) : (n = (r = (e - t.minTranslate()) / s) <= 0, 4803 l = r >= 1), 4804 S(t, { 4805 progress: r, 4806 isBeginning: n, 4807 isEnd: l 4808 }), 4809 (i.watchSlidesProgress || i.watchSlidesVisibility || i.centeredSlides && i.autoHeight) && t.updateSlidesProgress(e), 4810 n && !o && t.emit("reachBeginning toEdge"), 4811 l && !d && t.emit("reachEnd toEdge"), 4812 (o && !n || d && !l) && t.emit("fromEdge"), 4813 t.emit("progress", r) 4814 }, 4815 updateSlidesClasses: function() { 4816 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; 4817 a.removeClass(i.slideActiveClass + " " + i.slideNextClass + " " + i.slidePrevClass + " " + i.slideDuplicateActiveClass + " " + i.slideDuplicateNextClass + " " + i.slideDuplicatePrevClass), 4818 (e = l ? t.$wrapperEl.find("." + i.slideClass + '[data-swiper-slide-index="' + r + '"]') : a.eq(r)).addClass(i.slideActiveClass), 4819 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)); 4820 var o = e.nextAll("." + i.slideClass).eq(0).addClass(i.slideNextClass); 4821 i.loop && 0 === o.length && (o = a.eq(0)).addClass(i.slideNextClass); 4822 var d = e.prevAll("." + i.slideClass).eq(0).addClass(i.slidePrevClass); 4823 i.loop && 0 === d.length && (d = a.eq(-1)).addClass(i.slidePrevClass), 4824 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), 4825 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)), 4826 t.emitSlidesClasses() 4827 }, 4828 updateActiveIndex: function(e) { 4829 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; 4830 if (void 0 === p) { 4831 for (var u = 0; u < s.length; u += 1) 4832 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); 4833 n.normalizeSlideIndex && (p < 0 || void 0 === p) && (p = 0) 4834 } 4835 if (r.indexOf(i) >= 0) 4836 t = r.indexOf(i); 4837 else { 4838 var c = Math.min(n.slidesPerGroupSkip, p); 4839 t = c + Math.floor((p - c) / n.slidesPerGroup) 4840 } 4841 if (t >= r.length && (t = r.length - 1), 4842 p !== l) { 4843 var h = parseInt(a.slides.eq(p).attr("data-swiper-slide-index") || p, 10); 4844 S(a, { 4845 snapIndex: t, 4846 realIndex: h, 4847 previousIndex: l, 4848 activeIndex: p 4849 }), 4850 a.emit("activeIndexChange"), 4851 a.emit("snapIndexChange"), 4852 o !== h && a.emit("realIndexChange"), 4853 (a.initialized || a.params.runCallbacksOnInit) && a.emit("slideChange") 4854 } else 4855 t !== d && (a.snapIndex = t, 4856 a.emit("snapIndexChange")) 4857 }, 4858 updateClickedSlide: function(e) { 4859 var t = this 4860 , a = t.params 4861 , i = m(e.target).closest("." + a.slideClass)[0] 4862 , s = !1; 4863 if (i) 4864 for (var r = 0; r < t.slides.length; r += 1) 4865 t.slides[r] === i && (s = !0); 4866 if (!i || !s) 4867 return t.clickedSlide = void 0, 4868 void (t.clickedIndex = void 0); 4869 t.clickedSlide = i, 4870 t.virtual && t.params.virtual.enabled ? t.clickedIndex = parseInt(m(i).attr("data-swiper-slide-index"), 10) : t.clickedIndex = m(i).index(), 4871 a.slideToClickedSlide && void 0 !== t.clickedIndex && t.clickedIndex !== t.activeIndex && t.slideToClickedSlide() 4872 } 4873 }, 4874 translate: { 4875 getTranslate: function(e) { 4876 void 0 === e && (e = this.isHorizontal() ? "x" : "y"); 4877 var t = this 4878 , a = t.params 4879 , i = t.rtlTranslate 4880 , s = t.translate 4881 , r = t.$wrapperEl; 4882 if (a.virtualTranslate) 4883 return i ? -s : s; 4884 if (a.cssMode) 4885 return s; 4886 var n = T(r[0], e); 4887 return i && (n = -n), 4888 n || 0 4889 }, 4890 setTranslate: function(e, t) { 4891 var a = this 4892 , i = a.rtlTranslate 4893 , s = a.params 4894 , r = a.$wrapperEl 4895 , n = a.wrapperEl 4896 , l = a.progress 4897 , o = 0 4898 , d = 0; 4899 a.isHorizontal() ? o = i ? -e : e : d = e, 4900 s.roundLengths && (o = Math.floor(o), 4901 d = Math.floor(d)), 4902 s.cssMode ? n[a.isHorizontal() ? "scrollLeft" : "scrollTop"] = a.isHorizontal() ? -o : -d : s.virtualTranslate || r.transform("translate3d(" + o + "px, " + d + "px, 0px)"), 4903 a.previousTranslate = a.translate, 4904 a.translate = a.isHorizontal() ? o : d; 4905 var p = a.maxTranslate() - a.minTranslate(); 4906 (0 === p ? 0 : (e - a.minTranslate()) / p) !== l && a.updateProgress(e), 4907 a.emit("setTranslate", a.translate, t) 4908 }, 4909 minTranslate: function() { 4910 return -this.snapGrid[0] 4911 }, 4912 maxTranslate: function() { 4913 return -this.snapGrid[this.snapGrid.length - 1] 4914 }, 4915 translateTo: function(e, t, a, i, s) { 4916 void 0 === e && (e = 0), 4917 void 0 === t && (t = this.params.speed), 4918 void 0 === a && (a = !0), 4919 void 0 === i && (i = !0); 4920 var r = this 4921 , n = r.params 4922 , l = r.wrapperEl; 4923 if (r.animating && n.preventInteractionOnTransition) 4924 return !1; 4925 var o, d = r.minTranslate(), p = r.maxTranslate(); 4926 if (o = i && e > d ? d : i && e < p ? p : e, 4927 r.updateProgress(o), 4928 n.cssMode) { 4929 var u, c = r.isHorizontal(); 4930 if (0 === t) 4931 l[c ? "scrollLeft" : "scrollTop"] = -o; 4932 else if (l.scrollTo) 4933 l.scrollTo(((u = {})[c ? "left" : "top"] = -o, 4934 u.behavior = "smooth", 4935 u)); 4936 else 4937 l[c ? "scrollLeft" : "scrollTop"] = -o; 4938 return !0 4939 } 4940 return 0 === t ? (r.setTransition(0), 4941 r.setTranslate(o), 4942 a && (r.emit("beforeTransitionStart", t, s), 4943 r.emit("transitionEnd"))) : (r.setTransition(t), 4944 r.setTranslate(o), 4945 a && (r.emit("beforeTransitionStart", t, s), 4946 r.emit("transitionStart")), 4947 r.animating || (r.animating = !0, 4948 r.onTranslateToWrapperTransitionEnd || (r.onTranslateToWrapperTransitionEnd = function(e) { 4949 r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), 4950 r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd), 4951 r.onTranslateToWrapperTransitionEnd = null, 4952 delete r.onTranslateToWrapperTransitionEnd, 4953 a && r.emit("transitionEnd")) 4954 } 4955 ), 4956 r.$wrapperEl[0].addEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), 4957 r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd))), 4958 !0 4959 } 4960 }, 4961 transition: { 4962 setTransition: function(e, t) { 4963 var a = this; 4964 a.params.cssMode || a.$wrapperEl.transition(e), 4965 a.emit("setTransition", e, t) 4966 }, 4967 transitionStart: function(e, t) { 4968 void 0 === e && (e = !0); 4969 var a = this 4970 , i = a.activeIndex 4971 , s = a.params 4972 , r = a.previousIndex; 4973 if (!s.cssMode) { 4974 s.autoHeight && a.updateAutoHeight(); 4975 var n = t; 4976 if (n || (n = i > r ? "next" : i < r ? "prev" : "reset"), 4977 a.emit("transitionStart"), 4978 e && i !== r) { 4979 if ("reset" === n) 4980 return void a.emit("slideResetTransitionStart"); 4981 a.emit("slideChangeTransitionStart"), 4982 "next" === n ? a.emit("slideNextTransitionStart") : a.emit("slidePrevTransitionStart") 4983 } 4984 } 4985 }, 4986 transitionEnd: function(e, t) { 4987 void 0 === e && (e = !0); 4988 var a = this 4989 , i = a.activeIndex 4990 , s = a.previousIndex 4991 , r = a.params; 4992 if (a.animating = !1, 4993 !r.cssMode) { 4994 a.setTransition(0); 4995 var n = t; 4996 if (n || (n = i > s ? "next" : i < s ? "prev" : "reset"), 4997 a.emit("transitionEnd"), 4998 e && i !== s) { 4999 if ("reset" === n) 5000 return void a.emit("slideResetTransitionEnd"); 5001 a.emit("slideChangeTransitionEnd"), 5002 "next" === n ? a.emit("slideNextTransitionEnd") : a.emit("slidePrevTransitionEnd") 5003 } 5004 } 5005 } 5006 }, 5007 slide: { 5008 slideTo: function(e, t, a, i) { 5009 if (void 0 === e && (e = 0), 5010 void 0 === t && (t = this.params.speed), 5011 void 0 === a && (a = !0), 5012 "number" != typeof e && "string" != typeof e) 5013 throw new Error("The 'index' argument cannot have type other than 'number' or 'string'. [" + typeof e + "] given."); 5014 if ("string" == typeof e) { 5015 var s = parseInt(e, 10); 5016 if (!isFinite(s)) 5017 throw new Error("The passed-in 'index' (string) couldn't be converted to 'number'. [" + e + "] given."); 5018 e = s 5019 } 5020 var r = this 5021 , n = e; 5022 n < 0 && (n = 0); 5023 var l = r.params 5024 , o = r.snapGrid 5025 , d = r.slidesGrid 5026 , p = r.previousIndex 5027 , u = r.activeIndex 5028 , c = r.rtlTranslate 5029 , h = r.wrapperEl; 5030 if (r.animating && l.preventInteractionOnTransition) 5031 return !1; 5032 var v = Math.min(r.params.slidesPerGroupSkip, n) 5033 , f = v + Math.floor((n - v) / r.params.slidesPerGroup); 5034 f >= o.length && (f = o.length - 1), 5035 (u || l.initialSlide || 0) === (p || 0) && a && r.emit("beforeSlideChangeStart"); 5036 var m, g = -o[f]; 5037 if (r.updateProgress(g), 5038 l.normalizeSlideIndex) 5039 for (var y = 0; y < d.length; y += 1) 5040 -Math.floor(100 * g) >= Math.floor(100 * d[y]) && (n = y); 5041 if (r.initialized && n !== u) { 5042 if (!r.allowSlideNext && g < r.translate && g < r.minTranslate()) 5043 return !1; 5044 if (!r.allowSlidePrev && g > r.translate && g > r.maxTranslate() && (u || 0) !== n) 5045 return !1 5046 } 5047 if (m = n > u ? "next" : n < u ? "prev" : "reset", 5048 c && -g === r.translate || !c && g === r.translate) 5049 return r.updateActiveIndex(n), 5050 l.autoHeight && r.updateAutoHeight(), 5051 r.updateSlidesClasses(), 5052 "slide" !== l.effect && r.setTranslate(g), 5053 "reset" !== m && (r.transitionStart(a, m), 5054 r.transitionEnd(a, m)), 5055 !1; 5056 if (l.cssMode) { 5057 var w, b = r.isHorizontal(), E = -g; 5058 if (c && (E = h.scrollWidth - h.offsetWidth - E), 5059 0 === t) 5060 h[b ? "scrollLeft" : "scrollTop"] = E; 5061 else if (h.scrollTo) 5062 h.scrollTo(((w = {})[b ? "left" : "top"] = E, 5063 w.behavior = "smooth", 5064 w)); 5065 else 5066 h[b ? "scrollLeft" : "scrollTop"] = E; 5067 return !0 5068 } 5069 return 0 === t ? (r.setTransition(0), 5070 r.setTranslate(g), 5071 r.updateActiveIndex(n), 5072 r.updateSlidesClasses(), 5073 r.emit("beforeTransitionStart", t, i), 5074 r.transitionStart(a, m), 5075 r.transitionEnd(a, m)) : (r.setTransition(t), 5076 r.setTranslate(g), 5077 r.updateActiveIndex(n), 5078 r.updateSlidesClasses(), 5079 r.emit("beforeTransitionStart", t, i), 5080 r.transitionStart(a, m), 5081 r.animating || (r.animating = !0, 5082 r.onSlideToWrapperTransitionEnd || (r.onSlideToWrapperTransitionEnd = function(e) { 5083 r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener("transitionend", r.onSlideToWrapperTransitionEnd), 5084 r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd), 5085 r.onSlideToWrapperTransitionEnd = null, 5086 delete r.onSlideToWrapperTransitionEnd, 5087 r.transitionEnd(a, m)) 5088 } 5089 ), 5090 r.$wrapperEl[0].addEventListener("transitionend", r.onSlideToWrapperTransitionEnd), 5091 r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd))), 5092 !0 5093 }, 5094 slideToLoop: function(e, t, a, i) { 5095 void 0 === e && (e = 0), 5096 void 0 === t && (t = this.params.speed), 5097 void 0 === a && (a = !0); 5098 var s = this 5099 , r = e; 5100 return s.params.loop && (r += s.loopedSlides), 5101 s.slideTo(r, t, a, i) 5102 }, 5103 slideNext: function(e, t, a) { 5104 void 0 === e && (e = this.params.speed), 5105 void 0 === t && (t = !0); 5106 var i = this 5107 , s = i.params 5108 , r = i.animating 5109 , n = i.activeIndex < s.slidesPerGroupSkip ? 1 : s.slidesPerGroup; 5110 if (s.loop) { 5111 if (r && s.loopPreventsSlide) 5112 return !1; 5113 i.loopFix(), 5114 i._clientLeft = i.$wrapperEl[0].clientLeft 5115 } 5116 return i.slideTo(i.activeIndex + n, e, t, a) 5117 }, 5118 slidePrev: function(e, t, a) { 5119 void 0 === e && (e = this.params.speed), 5120 void 0 === t && (t = !0); 5121 var i = this 5122 , s = i.params 5123 , r = i.animating 5124 , n = i.snapGrid 5125 , l = i.slidesGrid 5126 , o = i.rtlTranslate; 5127 if (s.loop) { 5128 if (r && s.loopPreventsSlide) 5129 return !1; 5130 i.loopFix(), 5131 i._clientLeft = i.$wrapperEl[0].clientLeft 5132 } 5133 function d(e) { 5134 return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e) 5135 } 5136 var p, u = d(o ? i.translate : -i.translate), c = n.map((function(e) { 5137 return d(e) 5138 } 5139 )), h = (n[c.indexOf(u)], 5140 n[c.indexOf(u) - 1]); 5141 return void 0 === h && s.cssMode && n.forEach((function(e) { 5142 !h && u >= e && (h = e) 5143 } 5144 )), 5145 void 0 !== h && (p = l.indexOf(h)) < 0 && (p = i.activeIndex - 1), 5146 i.slideTo(p, e, t, a) 5147 }, 5148 slideReset: function(e, t, a) { 5149 return void 0 === e && (e = this.params.speed), 5150 void 0 === t && (t = !0), 5151 this.slideTo(this.activeIndex, e, t, a) 5152 }, 5153 slideToClosest: function(e, t, a, i) { 5154 void 0 === e && (e = this.params.speed), 5155 void 0 === t && (t = !0), 5156 void 0 === i && (i = .5); 5157 var s = this 5158 , r = s.activeIndex 5159 , n = Math.min(s.params.slidesPerGroupSkip, r) 5160 , l = n + Math.floor((r - n) / s.params.slidesPerGroup) 5161 , o = s.rtlTranslate ? s.translate : -s.translate; 5162 if (o >= s.snapGrid[l]) { 5163 var d = s.snapGrid[l]; 5164 o - d > (s.snapGrid[l + 1] - d) * i && (r += s.params.slidesPerGroup) 5165 } else { 5166 var p = s.snapGrid[l - 1]; 5167 o - p <= (s.snapGrid[l] - p) * i && (r -= s.params.slidesPerGroup) 5168 } 5169 return r = Math.max(r, 0), 5170 r = Math.min(r, s.slidesGrid.length - 1), 5171 s.slideTo(r, e, t, a) 5172 }, 5173 slideToClickedSlide: function() { 5174 var e, t = this, a = t.params, i = t.$wrapperEl, s = "auto" === a.slidesPerView ? t.slidesPerViewDynamic() : a.slidesPerView, r = t.clickedIndex; 5175 if (a.loop) { 5176 if (t.animating) 5177 return; 5178 e = parseInt(m(t.clickedSlide).attr("data-swiper-slide-index"), 10), 5179 a.centeredSlides ? r < t.loopedSlides - s / 2 || r > t.slides.length - t.loopedSlides + s / 2 ? (t.loopFix(), 5180 r = i.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + a.slideDuplicateClass + ")").eq(0).index(), 5181 E((function() { 5182 t.slideTo(r) 5183 } 5184 ))) : t.slideTo(r) : r > t.slides.length - s ? (t.loopFix(), 5185 r = i.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + a.slideDuplicateClass + ")").eq(0).index(), 5186 E((function() { 5187 t.slideTo(r) 5188 } 5189 ))) : t.slideTo(r) 5190 } else 5191 t.slideTo(r) 5192 } 5193 }, 5194 loop: { 5195 loopCreate: function() { 5196 var e = this 5197 , t = r() 5198 , a = e.params 5199 , i = e.$wrapperEl; 5200 i.children("." + a.slideClass + "." + a.slideDuplicateClass).remove(); 5201 var s = i.children("." + a.slideClass); 5202 if (a.loopFillGroupWithBlank) { 5203 var n = a.slidesPerGroup - s.length % a.slidesPerGroup; 5204 if (n !== a.slidesPerGroup) { 5205 for (var l = 0; l < n; l += 1) { 5206 var o = m(t.createElement("div")).addClass(a.slideClass + " " + a.slideBlankClass); 5207 i.append(o) 5208 } 5209 s = i.children("." + a.slideClass) 5210 } 5211 } 5212 "auto" !== a.slidesPerView || a.loopedSlides || (a.loopedSlides = s.length), 5213 e.loopedSlides = Math.ceil(parseFloat(a.loopedSlides || a.slidesPerView, 10)), 5214 e.loopedSlides += a.loopAdditionalSlides, 5215 e.loopedSlides > s.length && (e.loopedSlides = s.length); 5216 var d = [] 5217 , p = []; 5218 s.each((function(t, a) { 5219 var i = m(t); 5220 a < e.loopedSlides && p.push(t), 5221 a < s.length && a >= s.length - e.loopedSlides && d.push(t), 5222 i.attr("data-swiper-slide-index", a) 5223 } 5224 )); 5225 for (var u = 0; u < p.length; u += 1) 5226 i.append(m(p[u].cloneNode(!0)).addClass(a.slideDuplicateClass)); 5227 for (var c = d.length - 1; c >= 0; c -= 1) 5228 i.prepend(m(d[c].cloneNode(!0)).addClass(a.slideDuplicateClass)) 5229 }, 5230 loopFix: function() { 5231 var e = this; 5232 e.emit("beforeLoopFix"); 5233 var t, a = e.activeIndex, i = e.slides, s = e.loopedSlides, r = e.allowSlidePrev, n = e.allowSlideNext, l = e.snapGrid, o = e.rtlTranslate; 5234 e.allowSlidePrev = !0, 5235 e.allowSlideNext = !0; 5236 var d = -l[a] - e.getTranslate(); 5237 if (a < s) 5238 t = i.length - 3 * s + a, 5239 t += s, 5240 e.slideTo(t, 0, !1, !0) && 0 !== d && e.setTranslate((o ? -e.translate : e.translate) - d); 5241 else if (a >= i.length - s) { 5242 t = -i.length + a + s, 5243 t += s, 5244 e.slideTo(t, 0, !1, !0) && 0 !== d && e.setTranslate((o ? -e.translate : e.translate) - d) 5245 } 5246 e.allowSlidePrev = r, 5247 e.allowSlideNext = n, 5248 e.emit("loopFix") 5249 }, 5250 loopDestroy: function() { 5251 var e = this 5252 , t = e.$wrapperEl 5253 , a = e.params 5254 , i = e.slides; 5255 t.children("." + a.slideClass + "." + a.slideDuplicateClass + ",." + a.slideClass + "." + a.slideBlankClass).remove(), 5256 i.removeAttr("data-swiper-slide-index") 5257 } 5258 }, 5259 grabCursor: { 5260 setGrabCursor: function(e) { 5261 var t = this; 5262 if (!(t.support.touch || !t.params.simulateTouch || t.params.watchOverflow && t.isLocked || t.params.cssMode)) { 5263 var a = t.el; 5264 a.style.cursor = "move", 5265 a.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab", 5266 a.style.cursor = e ? "-moz-grabbin" : "-moz-grab", 5267 a.style.cursor = e ? "grabbing" : "grab" 5268 } 5269 }, 5270 unsetGrabCursor: function() { 5271 var e = this; 5272 e.support.touch || e.params.watchOverflow && e.isLocked || e.params.cssMode || (e.el.style.cursor = "") 5273 } 5274 }, 5275 manipulation: { 5276 appendSlide: function(e) { 5277 var t = this 5278 , a = t.$wrapperEl 5279 , i = t.params; 5280 if (i.loop && t.loopDestroy(), 5281 "object" == typeof e && "length"in e) 5282 for (var s = 0; s < e.length; s += 1) 5283 e[s] && a.append(e[s]); 5284 else 5285 a.append(e); 5286 i.loop && t.loopCreate(), 5287 i.observer && t.support.observer || t.update() 5288 }, 5289 prependSlide: function(e) { 5290 var t = this 5291 , a = t.params 5292 , i = t.$wrapperEl 5293 , s = t.activeIndex; 5294 a.loop && t.loopDestroy(); 5295 var r = s + 1; 5296 if ("object" == typeof e && "length"in e) { 5297 for (var n = 0; n < e.length; n += 1) 5298 e[n] && i.prepend(e[n]); 5299 r = s + e.length 5300 } else 5301 i.prepend(e); 5302 a.loop && t.loopCreate(), 5303 a.observer && t.support.observer || t.update(), 5304 t.slideTo(r, 0, !1) 5305 }, 5306 addSlide: function(e, t) { 5307 var a = this 5308 , i = a.$wrapperEl 5309 , s = a.params 5310 , r = a.activeIndex; 5311 s.loop && (r -= a.loopedSlides, 5312 a.loopDestroy(), 5313 a.slides = i.children("." + s.slideClass)); 5314 var n = a.slides.length; 5315 if (e <= 0) 5316 a.prependSlide(t); 5317 else if (e >= n) 5318 a.appendSlide(t); 5319 else { 5320 for (var l = r > e ? r + 1 : r, o = [], d = n - 1; d >= e; d -= 1) { 5321 var p = a.slides.eq(d); 5322 p.remove(), 5323 o.unshift(p) 5324 } 5325 if ("object" == typeof t && "length"in t) { 5326 for (var u = 0; u < t.length; u += 1) 5327 t[u] && i.append(t[u]); 5328 l = r > e ? r + t.length : r 5329 } else 5330 i.append(t); 5331 for (var c = 0; c < o.length; c += 1) 5332 i.append(o[c]); 5333 s.loop && a.loopCreate(), 5334 s.observer && a.support.observer || a.update(), 5335 s.loop ? a.slideTo(l + a.loopedSlides, 0, !1) : a.slideTo(l, 0, !1) 5336 } 5337 }, 5338 removeSlide: function(e) { 5339 var t = this 5340 , a = t.params 5341 , i = t.$wrapperEl 5342 , s = t.activeIndex; 5343 a.loop && (s -= t.loopedSlides, 5344 t.loopDestroy(), 5345 t.slides = i.children("." + a.slideClass)); 5346 var r, n = s; 5347 if ("object" == typeof e && "length"in e) { 5348 for (var l = 0; l < e.length; l += 1) 5349 r = e[l], 5350 t.slides[r] && t.slides.eq(r).remove(), 5351 r < n && (n -= 1); 5352 n = Math.max(n, 0) 5353 } else 5354 r = e, 5355 t.slides[r] && t.slides.eq(r).remove(), 5356 r < n && (n -= 1), 5357 n = Math.max(n, 0); 5358 a.loop && t.loopCreate(), 5359 a.observer && t.support.observer || t.update(), 5360 a.loop ? t.slideTo(n + t.loopedSlides, 0, !1) : t.slideTo(n, 0, !1) 5361 }, 5362 removeAllSlides: function() { 5363 for (var e = [], t = 0; t < this.slides.length; t += 1) 5364 e.push(t); 5365 this.removeSlide(e) 5366 } 5367 }, 5368 events: { 5369 attachEvents: function() { 5370 var e = this 5371 , t = r() 5372 , a = e.params 5373 , i = e.touchEvents 5374 , s = e.el 5375 , n = e.wrapperEl 5376 , l = e.device 5377 , o = e.support; 5378 e.onTouchStart = O.bind(e), 5379 e.onTouchMove = A.bind(e), 5380 e.onTouchEnd = D.bind(e), 5381 a.cssMode && (e.onScroll = B.bind(e)), 5382 e.onClick = N.bind(e); 5383 var d = !!a.nested; 5384 if (!o.touch && o.pointerEvents) 5385 s.addEventListener(i.start, e.onTouchStart, !1), 5386 t.addEventListener(i.move, e.onTouchMove, d), 5387 t.addEventListener(i.end, e.onTouchEnd, !1); 5388 else { 5389 if (o.touch) { 5390 var p = !("touchstart" !== i.start || !o.passiveListener || !a.passiveListeners) && { 5391 passive: !0, 5392 capture: !1 5393 }; 5394 s.addEventListener(i.start, e.onTouchStart, p), 5395 s.addEventListener(i.move, e.onTouchMove, o.passiveListener ? { 5396 passive: !1, 5397 capture: d 5398 } : d), 5399 s.addEventListener(i.end, e.onTouchEnd, p), 5400 i.cancel && s.addEventListener(i.cancel, e.onTouchEnd, p), 5401 H || (t.addEventListener("touchstart", X), 5402 H = !0) 5403 } 5404 (a.simulateTouch && !l.ios && !l.android || a.simulateTouch && !o.touch && l.ios) && (s.addEventListener("mousedown", e.onTouchStart, !1), 5405 t.addEventListener("mousemove", e.onTouchMove, d), 5406 t.addEventListener("mouseup", e.onTouchEnd, !1)) 5407 } 5408 (a.preventClicks || a.preventClicksPropagation) && s.addEventListener("click", e.onClick, !0), 5409 a.cssMode && n.addEventListener("scroll", e.onScroll), 5410 a.updateOnWindowResize ? e.on(l.ios || l.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", G, !0) : e.on("observerUpdate", G, !0) 5411 }, 5412 detachEvents: function() { 5413 var e = this 5414 , t = r() 5415 , a = e.params 5416 , i = e.touchEvents 5417 , s = e.el 5418 , n = e.wrapperEl 5419 , l = e.device 5420 , o = e.support 5421 , d = !!a.nested; 5422 if (!o.touch && o.pointerEvents) 5423 s.removeEventListener(i.start, e.onTouchStart, !1), 5424 t.removeEventListener(i.move, e.onTouchMove, d), 5425 t.removeEventListener(i.end, e.onTouchEnd, !1); 5426 else { 5427 if (o.touch) { 5428 var p = !("onTouchStart" !== i.start || !o.passiveListener || !a.passiveListeners) && { 5429 passive: !0, 5430 capture: !1 5431 }; 5432 s.removeEventListener(i.start, e.onTouchStart, p), 5433 s.removeEventListener(i.move, e.onTouchMove, d), 5434 s.removeEventListener(i.end, e.onTouchEnd, p), 5435 i.cancel && s.removeEventListener(i.cancel, e.onTouchEnd, p) 5436 } 5437 (a.simulateTouch && !l.ios && !l.android || a.simulateTouch && !o.touch && l.ios) && (s.removeEventListener("mousedown", e.onTouchStart, !1), 5438 t.removeEventListener("mousemove", e.onTouchMove, d), 5439 t.removeEventListener("mouseup", e.onTouchEnd, !1)) 5440 } 5441 (a.preventClicks || a.preventClicksPropagation) && s.removeEventListener("click", e.onClick, !0), 5442 a.cssMode && n.removeEventListener("scroll", e.onScroll), 5443 e.off(l.ios || l.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", G) 5444 } 5445 }, 5446 breakpoints: { 5447 setBreakpoint: function() { 5448 var e = this 5449 , t = e.activeIndex 5450 , a = e.initialized 5451 , i = e.loopedSlides 5452 , s = void 0 === i ? 0 : i 5453 , r = e.params 5454 , n = e.$el 5455 , l = r.breakpoints; 5456 if (l && (!l || 0 !== Object.keys(l).length)) { 5457 var o = e.getBreakpoint(l); 5458 if (o && e.currentBreakpoint !== o) { 5459 var d = o in l ? l[o] : void 0; 5460 d && ["slidesPerView", "spaceBetween", "slidesPerGroup", "slidesPerGroupSkip", "slidesPerColumn"].forEach((function(e) { 5461 var t = d[e]; 5462 void 0 !== t && (d[e] = "slidesPerView" !== e || "AUTO" !== t && "auto" !== t ? "slidesPerView" === e ? parseFloat(t) : parseInt(t, 10) : "auto") 5463 } 5464 )); 5465 var p = d || e.originalParams 5466 , u = r.slidesPerColumn > 1 5467 , c = p.slidesPerColumn > 1; 5468 u && !c ? (n.removeClass(r.containerModifierClass + "multirow " + r.containerModifierClass + "multirow-column"), 5469 e.emitContainerClasses()) : !u && c && (n.addClass(r.containerModifierClass + "multirow"), 5470 "column" === p.slidesPerColumnFill && n.addClass(r.containerModifierClass + "multirow-column"), 5471 e.emitContainerClasses()); 5472 var h = p.direction && p.direction !== r.direction 5473 , v = r.loop && (p.slidesPerView !== r.slidesPerView || h); 5474 h && a && e.changeDirection(), 5475 S(e.params, p), 5476 S(e, { 5477 allowTouchMove: e.params.allowTouchMove, 5478 allowSlideNext: e.params.allowSlideNext, 5479 allowSlidePrev: e.params.allowSlidePrev 5480 }), 5481 e.currentBreakpoint = o, 5482 e.emit("_beforeBreakpoint", p), 5483 v && a && (e.loopDestroy(), 5484 e.loopCreate(), 5485 e.updateSlides(), 5486 e.slideTo(t - s + e.loopedSlides, 0, !1)), 5487 e.emit("breakpoint", p) 5488 } 5489 } 5490 }, 5491 getBreakpoint: function(e) { 5492 var t = l(); 5493 if (e) { 5494 var a = !1 5495 , i = Object.keys(e).map((function(e) { 5496 if ("string" == typeof e && 0 === e.indexOf("@")) { 5497 var a = parseFloat(e.substr(1)); 5498 return { 5499 value: t.innerHeight * a, 5500 point: e 5501 } 5502 } 5503 return { 5504 value: e, 5505 point: e 5506 } 5507 } 5508 )); 5509 i.sort((function(e, t) { 5510 return parseInt(e.value, 10) - parseInt(t.value, 10) 5511 } 5512 )); 5513 for (var s = 0; s < i.length; s += 1) { 5514 var r = i[s] 5515 , n = r.point; 5516 r.value <= t.innerWidth && (a = n) 5517 } 5518 return a || "max" 5519 } 5520 } 5521 }, 5522 checkOverflow: { 5523 checkOverflow: function() { 5524 var e = this 5525 , t = e.params 5526 , a = e.isLocked 5527 , i = e.slides.length > 0 && t.slidesOffsetBefore + t.spaceBetween * (e.slides.length - 1) + e.slides[0].offsetWidth * e.slides.length; 5528 t.slidesOffsetBefore && t.slidesOffsetAfter && i ? e.isLocked = i <= e.size : e.isLocked = 1 === e.snapGrid.length, 5529 e.allowSlideNext = !e.isLocked, 5530 e.allowSlidePrev = !e.isLocked, 5531 a !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock"), 5532 a && a !== e.isLocked && (e.isEnd = !1, 5533 e.navigation && e.navigation.update()) 5534 } 5535 }, 5536 classes: { 5537 addClasses: function() { 5538 var e = this 5539 , t = e.classNames 5540 , a = e.params 5541 , i = e.rtl 5542 , s = e.$el 5543 , r = e.device 5544 , n = []; 5545 n.push("initialized"), 5546 n.push(a.direction), 5547 a.freeMode && n.push("free-mode"), 5548 a.autoHeight && n.push("autoheight"), 5549 i && n.push("rtl"), 5550 a.slidesPerColumn > 1 && (n.push("multirow"), 5551 "column" === a.slidesPerColumnFill && n.push("multirow-column")), 5552 r.android && n.push("android"), 5553 r.ios && n.push("ios"), 5554 a.cssMode && n.push("css-mode"),
5555 n.forEach((function(e) { 5556 t.push(a.containerModifierClass + e) 5557 } 5558 )), 5559 s.addClass(t.join(" ")), 5560 e.emitContainerClasses() 5561 }, 5562 removeClasses: function() { 5563 var e = this 5564 , t = e.$el 5565 , a = e.classNames; 5566 t.removeClass(a.join(" ")), 5567 e.emitContainerClasses() 5568 } 5569 }, 5570 images: { 5571 loadImage: function(e, t, a, i, s, r) { 5572 var n, o = l(); 5573 function d() { 5574 r && r() 5575 } 5576 m(e).parent("picture")[0] || e.complete && s ? d() : t ? ((n = new o.Image).onload = d, 5577 n.onerror = d, 5578 i && (n.sizes = i), 5579 a && (n.srcset = a), 5580 t && (n.src = t)) : d() 5581 }, 5582 preloadImages: function() { 5583 var e = this; 5584 function t() { 5585 null != e && e && !e.destroyed && (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), 5586 e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e.update(), 5587 e.emit("imagesReady"))) 5588 } 5589 e.imagesToLoad = e.$el.find("img"); 5590 for (var a = 0; a < e.imagesToLoad.length; a += 1) { 5591 var i = e.imagesToLoad[a]; 5592 e.loadImage(i, i.currentSrc || i.getAttribute("src"), i.srcset || i.getAttribute("srcset"), i.sizes || i.getAttribute("sizes"), !0, t) 5593 } 5594 } 5595 } 5596 } 5597 , F = {} 5598 , R = function() { 5599 function t() { 5600 for (var e, a, i = arguments.length, s = new Array(i), r = 0; r < i; r++) 5601 s[r] = arguments[r]; 5602 1 === s.length && s[0].constructor && s[0].constructor === Object ? a = s[0] : (e = s[0], 5603 a = s[1]), 5604 a || (a = {}), 5605 a = S({}, a), 5606 e && !a.el && (a.el = e); 5607 var n = this; 5608 n.support = z(), 5609 n.device = P({ 5610 userAgent: a.userAgent 5611 }), 5612 n.browser = k(), 5613 n.eventsListeners = {}, 5614 n.eventsAnyListeners = [], 5615 void 0 === n.modules && (n.modules = {}), 5616 Object.keys(n.modules).forEach((function(e) { 5617 var t = n.modules[e]; 5618 if (t.params) { 5619 var i = Object.keys(t.params)[0] 5620 , s = t.params[i]; 5621 if ("object" != typeof s || null === s) 5622 return; 5623 if (!(i in a) || !("enabled"in s)) 5624 return; 5625 !0 === a[i] && (a[i] = { 5626 enabled: !0 5627 }), 5628 "object" != typeof a[i] || "enabled"in a[i] || (a[i].enabled = !0), 5629 a[i] || (a[i] = { 5630 enabled: !1 5631 }) 5632 } 5633 } 5634 )); 5635 var l = S({}, Y); 5636 n.useParams(l), 5637 n.params = S({}, l, F, a), 5638 n.originalParams = S({}, n.params), 5639 n.passedParams = S({}, a), 5640 n.params && n.params.on && Object.keys(n.params.on).forEac
vendor: 38,982 bytes, lines 5640-6523
5640h((function(e) { 5641 n.on(e, n.params.on[e]) 5642 } 5643 )), 5644 n.params && n.params.onAny && n.onAny(n.params.onAny), 5645 n.$ = m; 5646 var o = m(n.params.el); 5647 if (e = o[0]) { 5648 if (o.length > 1) { 5649 var d = []; 5650 return o.each((function(e) { 5651 var i = S({}, a, { 5652 el: e 5653 }); 5654 d.push(new t(i)) 5655 } 5656 )), 5657 d 5658 } 5659 var p, u, c; 5660 return e.swiper = n, 5661 e && e.shadowRoot && e.shadowRoot.querySelector ? (p = m(e.shadowRoot.querySelector("." + n.params.wrapperClass))).children = function(e) { 5662 return o.children(e) 5663 } 5664 : p = o.children("." + n.params.wrapperClass), 5665 S(n, { 5666 $el: o, 5667 el: e, 5668 $wrapperEl: p, 5669 wrapperEl: p[0], 5670 classNames: [], 5671 slides: m(), 5672 slidesGrid: [], 5673 snapGrid: [], 5674 slidesSizesGrid: [], 5675 isHorizontal: function() { 5676 return "horizontal" === n.params.direction 5677 }, 5678 isVertical: function() { 5679 return "vertical" === n.params.direction 5680 }, 5681 rtl: "rtl" === e.dir.toLowerCase() || "rtl" === o.css("direction"), 5682 rtlTranslate: "horizontal" === n.params.direction && ("rtl" === e.dir.toLowerCase() || "rtl" === o.css("direction")), 5683 wrongRTL: "-webkit-box" === p.css("display"), 5684 activeIndex: 0, 5685 realIndex: 0, 5686 isBeginning: !0, 5687 isEnd: !1, 5688 translate: 0, 5689 previousTranslate: 0, 5690 progress: 0, 5691 velocity: 0, 5692 animating: !1, 5693 allowSlideNext: n.params.allowSlideNext, 5694 allowSlidePrev: n.params.allowSlidePrev, 5695 touchEvents: (u = ["touchstart", "touchmove", "touchend", "touchcancel"], 5696 c = ["mousedown", "mousemove", "mouseup"], 5697 n.support.pointerEvents && (c = ["pointerdown", "pointermove", "pointerup"]), 5698 n.touchEventsTouch = { 5699 start: u[0], 5700 move: u[1], 5701 end: u[2], 5702 cancel: u[3] 5703 }, 5704 n.touchEventsDesktop = { 5705 start: c[0], 5706 move: c[1], 5707 end: c[2] 5708 }, 5709 n.support.touch || !n.params.simulateTouch ? n.touchEventsTouch : n.touchEventsDesktop), 5710 touchEventsData: { 5711 isTouched: void 0, 5712 isMoved: void 0, 5713 allowTouchCallbacks: void 0, 5714 touchStartTime: void 0, 5715 isScrolling: void 0, 5716 currentTranslate: void 0, 5717 startTranslate: void 0, 5718 allowThresholdMove: void 0, 5719 formElements: "input, select, option, textarea, button, video, label", 5720 lastClickTime: x(), 5721 clickTimeout: void 0, 5722 velocities: [], 5723 allowMomentumBounce: void 0, 5724 isTouchEvent: void 0, 5725 startMoving: void 0 5726 }, 5727 allowClick: !0, 5728 allowTouchMove: n.params.allowTouchMove, 5729 touches: { 5730 startX: 0, 5731 startY: 0, 5732 currentX: 0, 5733 currentY: 0, 5734 diff: 0 5735 }, 5736 imagesToLoad: [], 5737 imagesLoaded: 0 5738 }), 5739 n.useModules(), 5740 n.emit("_swiper"), 5741 n.params.init && n.init(), 5742 n 5743 } 5744 } 5745 var a, i, s, r = t.prototype; 5746 return r.emitContainerClasses = function() { 5747 var e = this; 5748 if (e.params._emitClasses && e.el) { 5749 var t = e.el.className.split(" ").filter((function(t) { 5750 return 0 === t.indexOf("swiper-container") || 0 === t.indexOf(e.params.containerModifierClass) 5751 } 5752 )); 5753 e.emit("_containerClasses", t.join(" ")) 5754 } 5755 } 5756 , 5757 r.getSlideClasses = function(e) { 5758 var t = this; 5759 return e.className.split(" ").filter((function(e) { 5760 return 0 === e.indexOf("swiper-slide") || 0 === e.indexOf(t.params.slideClass) 5761 } 5762 )).join(" ") 5763 } 5764 , 5765 r.emitSlidesClasses = function() { 5766 var e = this; 5767 e.params._emitClasses && e.el && e.slides.each((function(t) { 5768 var a = e.getSlideClasses(t); 5769 e.emit("_slideClass", t, a) 5770 } 5771 )) 5772 } 5773 , 5774 r.slidesPerViewDynamic = function() { 5775 var e = this 5776 , t = e.params 5777 , a = e.slides 5778 , i = e.slidesGrid 5779 , s = e.size 5780 , r = e.activeIndex 5781 , n = 1; 5782 if (t.centeredSlides) { 5783 for (var l, o = a[r].swiperSlideSize, d = r + 1; d < a.length; d += 1) 5784 a[d] && !l && (n += 1, 5785 (o += a[d].swiperSlideSize) > s && (l = !0)); 5786 for (var p = r - 1; p >= 0; p -= 1) 5787 a[p] && !l && (n += 1, 5788 (o += a[p].swiperSlideSize) > s && (l = !0)) 5789 } else 5790 for (var u = r + 1; u < a.length; u += 1) 5791 i[u] - i[r] < s && (n += 1); 5792 return n 5793 } 5794 , 5795 r.update = function() { 5796 var e = this; 5797 if (e && !e.destroyed) { 5798 var t = e.snapGrid 5799 , a = e.params; 5800 a.breakpoints && e.setBreakpoint(), 5801 e.updateSize(), 5802 e.updateSlides(), 5803 e.updateProgress(), 5804 e.updateSlidesClasses(), 5805 e.params.freeMode ? (i(), 5806 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(), 5807 a.watchOverflow && t !== e.snapGrid && e.checkOverflow(), 5808 e.emit("update") 5809 } 5810 function i() { 5811 var t = e.rtlTranslate ? -1 * e.translate : e.translate 5812 , a = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate()); 5813 e.setTranslate(a), 5814 e.updateActiveIndex(), 5815 e.updateSlidesClasses() 5816 } 5817 } 5818 , 5819 r.changeDirection = function(e, t) { 5820 void 0 === t && (t = !0); 5821 var a = this 5822 , i = a.params.direction; 5823 return e || (e = "horizontal" === i ? "vertical" : "horizontal"), 5824 e === i || "horizontal" !== e && "vertical" !== e || (a.$el.removeClass("" + a.params.containerModifierClass + i).addClass("" + a.params.containerModifierClass + e), 5825 a.emitContainerClasses(), 5826 a.params.direction = e, 5827 a.slides.each((function(t) { 5828 "vertical" === e ? t.style.width = "" : t.style.height = "" 5829 } 5830 )), 5831 a.emit("changeDirection"), 5832 t && a.update()), 5833 a 5834 } 5835 , 5836 r.init = function() { 5837 var e = this; 5838 e.initialized || (e.emit("beforeInit"), 5839 e.params.breakpoints && e.setBreakpoint(), 5840 e.addClasses(), 5841 e.params.loop && e.loopCreate(), 5842 e.updateSize(), 5843 e.updateSlides(), 5844 e.params.watchOverflow && e.checkOverflow(), 5845 e.params.grabCursor && e.setGrabCursor(), 5846 e.params.preloadImages && e.preloadImages(), 5847 e.params.loop ? e.slideTo(e.params.initialSlide + e.loopedSlides, 0, e.params.runCallbacksOnInit) : e.slideTo(e.params.initialSlide, 0, e.params.runCallbacksOnInit), 5848 e.attachEvents(), 5849 e.initialized = !0, 5850 e.emit("init"), 5851 e.emit("afterInit")) 5852 } 5853 , 5854 r.destroy = function(e, t) { 5855 void 0 === e && (e = !0), 5856 void 0 === t && (t = !0); 5857 var a, i = this, s = i.params, r = i.$el, n = i.$wrapperEl, l = i.slides; 5858 return void 0 === i.params || i.destroyed || (i.emit("beforeDestroy"), 5859 i.initialized = !1, 5860 i.detachEvents(), 5861 s.loop && i.loopDestroy(), 5862 t && (i.removeClasses(), 5863 r.removeAttr("style"), 5864 n.removeAttr("style"), 5865 l && l.length && l.removeClass([s.slideVisibleClass, s.slideActiveClass, s.slideNextClass, s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")), 5866 i.emit("destroy"), 5867 Object.keys(i.eventsListeners).forEach((function(e) { 5868 i.off(e) 5869 } 5870 )), 5871 !1 !== e && (i.$el[0].swiper = null, 5872 a = i, 5873 Object.keys(a).forEach((function(e) { 5874 try { 5875 a[e] = null 5876 } catch (e) {} 5877 try { 5878 delete a[e] 5879 } catch (e) {} 5880 } 5881 ))), 5882 i.destroyed = !0), 5883 null 5884 } 5885 , 5886 t.extendDefaults = function(e) { 5887 S(F, e) 5888 } 5889 , 5890 t.installModule = function(e) { 5891 t.prototype.modules || (t.prototype.modules = {}); 5892 var a = e.name || Object.keys(t.prototype.modules).length + "_" + x(); 5893 t.prototype.modules[a] = e 5894 } 5895 , 5896 t.use = function(e) { 5897 return Array.isArray(e) ? (e.forEach((function(e) { 5898 return t.installModule(e) 5899 } 5900 )), 5901 t) : (t.installModule(e), 5902 t) 5903 } 5904 , 5905 a = t, 5906 s = [{ 5907 key: "extendedDefaults", 5908 get: function() { 5909 return F 5910 } 5911 }, { 5912 key: "defaults", 5913 get: function() { 5914 return Y 5915 } 5916 }], 5917 (i = null) && e(a.prototype, i), 5918 s && e(a, s), 5919 t 5920 }(); 5921 Object.keys(V).forEach((function(e) { 5922 Object.keys(V[e]).forEach((function(t) { 5923 R.prototype[t] = V[e][t] 5924 } 5925 )) 5926 } 5927 )), 5928 R.use([L, I]); 5929 var W = { 5930 update: function(e) { 5931 var t = this 5932 , a = t.params 5933 , i = a.slidesPerView 5934 , s = a.slidesPerGroup 5935 , r = a.centeredSlides 5936 , n = t.params.virtual 5937 , l = n.addSlidesBefore 5938 , o = n.addSlidesAfter 5939 , d = t.virtual 5940 , p = d.from 5941 , u = d.to 5942 , c = d.slides 5943 , h = d.slidesGrid 5944 , v = d.renderSlide 5945 , f = d.offset; 5946 t.updateActiveIndex(); 5947 var m, g, y, w = t.activeIndex || 0; 5948 m = t.rtlTranslate ? "right" : t.isHorizontal() ? "left" : "top", 5949 r ? (g = Math.floor(i / 2) + s + o, 5950 y = Math.floor(i / 2) + s + l) : (g = i + (s - 1) + o, 5951 y = s + l); 5952 var b = Math.max((w || 0) - y, 0) 5953 , E = Math.min((w || 0) + g, c.length - 1) 5954 , x = (t.slidesGrid[b] || 0) - (t.slidesGrid[0] || 0); 5955 function T() { 5956 t.updateSlides(), 5957 t.updateProgress(), 5958 t.updateSlidesClasses(), 5959 t.lazy && t.params.lazy.enabled && t.lazy.load() 5960 } 5961 if (S(t.virtual, { 5962 from: b, 5963 to: E, 5964 offset: x, 5965 slidesGrid: t.slidesGrid 5966 }), 5967 p === b && u === E && !e) 5968 return t.slidesGrid !== h && x !== f && t.slides.css(m, x + "px"), 5969 void t.updateProgress(); 5970 if (t.params.virtual.renderExternal) 5971 return t.params.virtual.renderExternal.call(t, { 5972 offset: x, 5973 from: b, 5974 to: E, 5975 slides: function() { 5976 for (var e = [], t = b; t <= E; t += 1) 5977 e.push(c[t]); 5978 return e 5979 }() 5980 }), 5981 void (t.params.virtual.renderExternalUpdate && T()); 5982 var C = [] 5983 , M = []; 5984 if (e) 5985 t.$wrapperEl.find("." + t.params.slideClass).remove(); 5986 else 5987 for (var z = p; z <= u; z += 1) 5988 (z < b || z > E) && t.$wrapperEl.find("." + t.params.slideClass + '[data-swiper-slide-index="' + z + '"]').remove(); 5989 for (var P = 0; P < c.length; P += 1) 5990 P >= b && P <= E && (void 0 === u || e ? M.push(P) : (P > u && M.push(P), 5991 P < p && C.push(P))); 5992 M.forEach((function(e) { 5993 t.$wrapperEl.append(v(c[e], e)) 5994 } 5995 )), 5996 C.sort((function(e, t) { 5997 return t - e 5998 } 5999 )).forEach((function(e) { 6000 t.$wrapperEl.prepend(v(c[e], e)) 6001 } 6002 )), 6003 t.$wrapperEl.children(".swiper-slide").css(m, x + "px"), 6004 T() 6005 }, 6006 renderSlide: function(e, t) { 6007 var a = this 6008 , i = a.params.virtual; 6009 if (i.cache && a.virtual.cache[t]) 6010 return a.virtual.cache[t]; 6011 var s = i.renderSlide ? m(i.renderSlide.call(a, e, t)) : m('<div class="' + a.params.slideClass + '" data-swiper-slide-index="' + t + '">' + e + "</div>"); 6012 return s.attr("data-swiper-slide-index") || s.attr("data-swiper-slide-index", t), 6013 i.cache && (a.virtual.cache[t] = s), 6014 s 6015 }, 6016 appendSlide: function(e) { 6017 var t = this; 6018 if ("object" == typeof e && "length"in e) 6019 for (var a = 0; a < e.length; a += 1) 6020 e[a] && t.virtual.slides.push(e[a]); 6021 else 6022 t.virtual.slides.push(e); 6023 t.virtual.update(!0) 6024 }, 6025 prependSlide: function(e) { 6026 var t = this 6027 , a = t.activeIndex 6028 , i = a + 1 6029 , s = 1; 6030 if (Array.isArray(e)) { 6031 for (var r = 0; r < e.length; r += 1) 6032 e[r] && t.virtual.slides.unshift(e[r]); 6033 i = a + e.length, 6034 s = e.length 6035 } else 6036 t.virtual.slides.unshift(e); 6037 if (t.params.virtual.cache) { 6038 var n = t.virtual.cache 6039 , l = {}; 6040 Object.keys(n).forEach((function(e) { 6041 var t = n[e] 6042 , a = t.attr("data-swiper-slide-index"); 6043 a && t.attr("data-swiper-slide-index", parseInt(a, 10) + 1), 6044 l[parseInt(e, 10) + s] = t 6045 } 6046 )), 6047 t.virtual.cache = l 6048 } 6049 t.virtual.update(!0), 6050 t.slideTo(i, 0) 6051 }, 6052 removeSlide: function(e) { 6053 var t = this; 6054 if (null != e) { 6055 var a = t.activeIndex; 6056 if (Array.isArray(e)) 6057 for (var i = e.length - 1; i >= 0; i -= 1) 6058 t.virtual.slides.splice(e[i], 1), 6059 t.params.virtual.cache && delete t.virtual.cache[e[i]], 6060 e[i] < a && (a -= 1), 6061 a = Math.max(a, 0); 6062 else 6063 t.virtual.slides.splice(e, 1), 6064 t.params.virtual.cache && delete t.virtual.cache[e], 6065 e < a && (a -= 1), 6066 a = Math.max(a, 0); 6067 t.virtual.update(!0), 6068 t.slideTo(a, 0) 6069 } 6070 }, 6071 removeAllSlides: function() { 6072 var e = this; 6073 e.virtual.slides = [], 6074 e.params.virtual.cache && (e.virtual.cache = {}), 6075 e.virtual.update(!0), 6076 e.slideTo(0, 0) 6077 } 6078 } 6079 , q = { 6080 name: "virtual", 6081 params: { 6082 virtual: { 6083 enabled: !1, 6084 slides: [], 6085 cache: !0, 6086 renderSlide: null, 6087 renderExternal: null, 6088 renderExternalUpdate: !0, 6089 addSlidesBefore: 0, 6090 addSlidesAfter: 0 6091 } 6092 }, 6093 create: function() { 6094 M(this, { 6095 virtual: t({}, W, { 6096 slides: this.params.virtual.slides, 6097 cache: {} 6098 }) 6099 }) 6100 }, 6101 on: { 6102 beforeInit: function(e) { 6103 if (e.params.virtual.enabled) { 6104 e.classNames.push(e.params.containerModifierClass + "virtual"); 6105 var t = { 6106 watchSlidesProgress: !0 6107 }; 6108 S(e.params, t), 6109 S(e.originalParams, t), 6110 e.params.initialSlide || e.virtual.update() 6111 } 6112 }, 6113 setTranslate: function(e) { 6114 e.params.virtual.enabled && e.virtual.update() 6115 } 6116 } 6117 } 6118 , j = { 6119 handle: function(e) { 6120 var t = this 6121 , a = l() 6122 , i = r() 6123 , s = t.rtlTranslate 6124 , n = e; 6125 n.originalEvent && (n = n.originalEvent); 6126 var o = n.keyCode || n.charCode 6127 , d = t.params.keyboard.pageUpDown 6128 , p = d && 33 === o 6129 , u = d && 34 === o 6130 , c = 37 === o 6131 , h = 39 === o 6132 , v = 38 === o 6133 , f = 40 === o; 6134 if (!t.allowSlideNext && (t.isHorizontal() && h || t.isVertical() && f || u)) 6135 return !1; 6136 if (!t.allowSlidePrev && (t.isHorizontal() && c || t.isVertical() && v || p)) 6137 return !1; 6138 if (!(n.shiftKey || n.altKey || n.ctrlKey || n.metaKey || i.activeElement && i.activeElement.nodeName && ("input" === i.activeElement.nodeName.toLowerCase() || "textarea" === i.activeElement.nodeName.toLowerCase()))) { 6139 if (t.params.keyboard.onlyInViewport && (p || u || c || h || v || f)) { 6140 var m = !1; 6141 if (t.$el.parents("." + t.params.slideClass).length > 0 && 0 === t.$el.parents("." + t.params.slideActiveClass).length) 6142 return; 6143 var g = a.innerWidth 6144 , y = a.innerHeight 6145 , w = t.$el.offset(); 6146 s && (w.left -= t.$el[0].scrollLeft); 6147 for (var b = [[w.left, w.top], [w.left + t.width, w.top], [w.left, w.top + t.height], [w.left + t.width, w.top + t.height]], E = 0; E < b.length; E += 1) { 6148 var x = b[E]; 6149 if (x[0] >= 0 && x[0] <= g && x[1] >= 0 && x[1] <= y) { 6150 if (0 === x[0] && 0 === x[1]) 6151 continue; 6152 m = !0 6153 } 6154 } 6155 if (!m) 6156 return 6157 } 6158 t.isHorizontal() ? ((p || u || c || h) && (n.preventDefault ? n.preventDefault() : n.returnValue = !1), 6159 ((u || h) && !s || (p || c) && s) && t.slideNext(), 6160 ((p || c) && !s || (u || h) && s) && t.slidePrev()) : ((p || u || v || f) && (n.preventDefault ? n.preventDefault() : n.returnValue = !1), 6161 (u || f) && t.slideNext(), 6162 (p || v) && t.slidePrev()), 6163 t.emit("keyPress", o) 6164 } 6165 }, 6166 enable: function() { 6167 var e = this 6168 , t = r(); 6169 e.keyboard.enabled || (m(t).on("keydown", e.keyboard.handle), 6170 e.keyboard.enabled = !0) 6171 }, 6172 disable: function() { 6173 var e = this 6174 , t = r(); 6175 e.keyboard.enabled && (m(t).off("keydown", e.keyboard.handle), 6176 e.keyboard.enabled = !1) 6177 } 6178 } 6179 , _ = { 6180 name: "keyboard", 6181 params: { 6182 keyboard: { 6183 enabled: !1, 6184 onlyInViewport: !0, 6185 pageUpDown: !0 6186 } 6187 }, 6188 create: function() { 6189 M(this, { 6190 keyboard: t({ 6191 enabled: !1 6192 }, j) 6193 }) 6194 }, 6195 on: { 6196 init: function(e) { 6197 e.params.keyboard.enabled && e.keyboard.enable() 6198 }, 6199 destroy: function(e) { 6200 e.keyboard.enabled && e.keyboard.disable() 6201 } 6202 } 6203 }; 6204 var U = { 6205 lastScrollTime: x(), 6206 lastEventBeforeSnap: void 0, 6207 recentWheelEvents: [], 6208 event: function() { 6209 return l().navigator.userAgent.indexOf("firefox") > -1 ? "DOMMouseScroll" : function() { 6210 var e = r() 6211 , t = "onwheel" 6212 , a = t in e; 6213 if (!a) { 6214 var i = e.createElement("div"); 6215 i.setAttribute(t, "return;"), 6216 a = "function" == typeof i.onwheel 6217 } 6218 return !a && e.implementation && e.implementation.hasFeature && !0 !== e.implementation.hasFeature("", "") && (a = e.implementation.hasFeature("Events.wheel", "3.0")), 6219 a 6220 }() ? "wheel" : "mousewheel" 6221 }, 6222 normalize: function(e) { 6223 var t = 0 6224 , a = 0 6225 , i = 0 6226 , s = 0; 6227 return "detail"in e && (a = e.detail), 6228 "wheelDelta"in e && (a = -e.wheelDelta / 120), 6229 "wheelDeltaY"in e && (a = -e.wheelDeltaY / 120), 6230 "wheelDeltaX"in e && (t = -e.wheelDeltaX / 120), 6231 "axis"in e && e.axis === e.HORIZONTAL_AXIS && (t = a, 6232 a = 0), 6233 i = 10 * t, 6234 s = 10 * a, 6235 "deltaY"in e && (s = e.deltaY), 6236 "deltaX"in e && (i = e.deltaX), 6237 e.shiftKey && !i && (i = s, 6238 s = 0), 6239 (i || s) && e.deltaMode && (1 === e.deltaMode ? (i *= 40, 6240 s *= 40) : (i *= 800, 6241 s *= 800)), 6242 i && !t && (t = i < 1 ? -1 : 1), 6243 s && !a && (a = s < 1 ? -1 : 1), 6244 { 6245 spinX: t, 6246 spinY: a, 6247 pixelX: i, 6248 pixelY: s 6249 } 6250 }, 6251 handleMouseEnter: function() { 6252 this.mouseEntered = !0 6253 }, 6254 handleMouseLeave: function() { 6255 this.mouseEntered = !1 6256 }, 6257 handle: function(e) { 6258 var t = e 6259 , a = this 6260 , i = a.params.mousewheel; 6261 a.params.cssMode && t.preventDefault(); 6262 var s = a.$el; 6263 if ("container" !== a.params.mousewheel.eventsTarget && (s = m(a.params.mousewheel.eventsTarget)), 6264 !a.mouseEntered && !s[0].contains(t.target) && !i.releaseOnEdges) 6265 return !0; 6266 t.originalEvent && (t = t.originalEvent); 6267 var r = 0 6268 , n = a.rtlTranslate ? -1 : 1 6269 , l = U.normalize(t); 6270 if (i.forceToAxis) 6271 if (a.isHorizontal()) { 6272 if (!(Math.abs(l.pixelX) > Math.abs(l.pixelY))) 6273 return !0; 6274 r = -l.pixelX * n 6275 } else { 6276 if (!(Math.abs(l.pixelY) > Math.abs(l.pixelX))) 6277 return !0; 6278 r = -l.pixelY 6279 } 6280 else 6281 r = Math.abs(l.pixelX) > Math.abs(l.pixelY) ? -l.pixelX * n : -l.pixelY; 6282 if (0 === r) 6283 return !0; 6284 i.invert && (r = -r); 6285 var o = a.getTranslate() + r * i.sensitivity; 6286 if (o >= a.minTranslate() && (o = a.minTranslate()), 6287 o <= a.maxTranslate() && (o = a.maxTranslate()), 6288 (!!a.params.loop || !(o === a.minTranslate() || o === a.maxTranslate())) && a.params.nested && t.stopPropagation(), 6289 a.params.freeMode) { 6290 var d = { 6291 time: x(), 6292 delta: Math.abs(r), 6293 direction: Math.sign(r) 6294 } 6295 , p = a.mousewheel.lastEventBeforeSnap 6296 , u = p && d.time < p.time + 500 && d.delta <= p.delta && d.direction === p.direction; 6297 if (!u) { 6298 a.mousewheel.lastEventBeforeSnap = void 0, 6299 a.params.loop && a.loopFix(); 6300 var c = a.getTranslate() + r * i.sensitivity 6301 , h = a.isBeginning 6302 , v = a.isEnd; 6303 if (c >= a.minTranslate() && (c = a.minTranslate()), 6304 c <= a.maxTranslate() && (c = a.maxTranslate()), 6305 a.setTransition(0), 6306 a.setTranslate(c), 6307 a.updateProgress(), 6308 a.updateActiveIndex(), 6309 a.updateSlidesClasses(), 6310 (!h && a.isBeginning || !v && a.isEnd) && a.updateSlidesClasses(), 6311 a.params.freeModeSticky) { 6312 clearTimeout(a.mousewheel.timeout), 6313 a.mousewheel.timeout = void 0; 6314 var f = a.mousewheel.recentWheelEvents; 6315 f.length >= 15 && f.shift(); 6316 var g = f.length ? f[f.length - 1] : void 0 6317 , y = f[0]; 6318 if (f.push(d), 6319 g && (d.delta > g.delta || d.direction !== g.direction)) 6320 f.splice(0); 6321 else if (f.length >= 15 && d.time - y.time < 500 && y.delta - d.delta >= 1 && d.delta <= 6) { 6322 var w = r > 0 ? .8 : .2; 6323 a.mousewheel.lastEventBeforeSnap = d, 6324 f.splice(0), 6325 a.mousewheel.timeout = E((function() { 6326 a.slideToClosest(a.params.speed, !0, void 0, w) 6327 } 6328 ), 0) 6329 } 6330 a.mousewheel.timeout || (a.mousewheel.timeout = E((function() { 6331 a.mousewheel.lastEventBeforeSnap = d, 6332 f.splice(0), 6333 a.slideToClosest(a.params.speed, !0, void 0, .5) 6334 } 6335 ), 500)) 6336 } 6337 if (u || a.emit("scroll", t), 6338 a.params.autoplay && a.params.autoplayDisableOnInteraction && a.autoplay.stop(), 6339 c === a.minTranslate() || c === a.maxTranslate()) 6340 return !0 6341 } 6342 } else { 6343 var b = { 6344 time: x(), 6345 delta: Math.abs(r), 6346 direction: Math.sign(r), 6347 raw: e 6348 } 6349 , T = a.mousewheel.recentWheelEvents; 6350 T.length >= 2 && T.shift(); 6351 var C = T.length ? T[T.length - 1] : void 0; 6352 if (T.push(b), 6353 C ? (b.direction !== C.direction || b.delta > C.delta || b.time > C.time + 150) && a.mousewheel.animateSlider(b) : a.mousewheel.animateSlider(b), 6354 a.mousewheel.releaseScroll(b)) 6355 return !0 6356 } 6357 return t.preventDefault ? t.preventDefault() : t.returnValue = !1, 6358 !1 6359 }, 6360 animateSlider: function(e) { 6361 var t = this 6362 , a = l(); 6363 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(), 6364 t.emit("scroll", e.raw)) : t.isBeginning && !t.params.loop || t.animating || (t.slidePrev(), 6365 t.emit("scroll", e.raw)), 6366 t.mousewheel.lastScrollTime = (new a.Date).getTime(), 6367 !1))) 6368 }, 6369 releaseScroll: function(e) { 6370 var t = this 6371 , a = t.params.mousewheel; 6372 if (e.direction < 0) { 6373 if (t.isEnd && !t.params.loop && a.releaseOnEdges) 6374 return !0 6375 } else if (t.isBeginning && !t.params.loop && a.releaseOnEdges) 6376 return !0; 6377 return !1 6378 }, 6379 enable: function() { 6380 var e = this 6381 , t = U.event(); 6382 if (e.params.cssMode) 6383 return e.wrapperEl.removeEventListener(t, e.mousewheel.handle), 6384 !0; 6385 if (!t) 6386 return !1; 6387 if (e.mousewheel.enabled) 6388 return !1; 6389 var a = e.$el; 6390 return "container" !== e.params.mousewheel.eventsTarget && (a = m(e.params.mousewheel.eventsTarget)), 6391 a.on("mouseenter", e.mousewheel.handleMouseEnter), 6392 a.on("mouseleave", e.mousewheel.handleMouseLeave), 6393 a.on(t, e.mousewheel.handle), 6394 e.mousewheel.enabled = !0, 6395 !0 6396 }, 6397 disable: function() { 6398 var e = this 6399 , t = U.event(); 6400 if (e.params.cssMode) 6401 return e.wrapperEl.addEventListener(t, e.mousewheel.handle), 6402 !0; 6403 if (!t) 6404 return !1; 6405 if (!e.mousewheel.enabled) 6406 return !1; 6407 var a = e.$el; 6408 return "container" !== e.params.mousewheel.eventsTarget && (a = m(e.params.mousewheel.eventsTarget)), 6409 a.off(t, e.mousewheel.handle), 6410 e.mousewheel.enabled = !1, 6411 !0 6412 } 6413 } 6414 , K = { 6415 update: function() { 6416 var e = this 6417 , t = e.params.navigation; 6418 if (!e.params.loop) { 6419 var a = e.navigation 6420 , i = a.$nextEl 6421 , s = a.$prevEl; 6422 s && s.length > 0 && (e.isBeginning ? s.addClass(t.disabledClass) : s.removeClass(t.disabledClass), 6423 s[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](t.lockClass)), 6424 i && i.length > 0 && (e.isEnd ? i.addClass(t.disabledClass) : i.removeClass(t.disabledClass), 6425 i[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](t.lockClass)) 6426 } 6427 }, 6428 onPrevClick: function(e) { 6429 var t = this; 6430 e.preventDefault(), 6431 t.isBeginning && !t.params.loop || t.slidePrev() 6432 }, 6433 onNextClick: function(e) { 6434 var t = this; 6435 e.preventDefault(), 6436 t.isEnd && !t.params.loop || t.slideNext() 6437 }, 6438 init: function() { 6439 var e, t, a = this, i = a.params.navigation; 6440 (i.nextEl || i.prevEl) && (i.nextEl && (e = m(i.nextEl), 6441 a.params.uniqueNavElements && "string" == typeof i.nextEl && e.length > 1 && 1 === a.$el.find(i.nextEl).length && (e = a.$el.find(i.nextEl))), 6442 i.prevEl && (t = m(i.prevEl), 6443 a.params.uniqueNavElements && "string" == typeof i.prevEl && t.length > 1 && 1 === a.$el.find(i.prevEl).length && (t = a.$el.find(i.prevEl))), 6444 e && e.length > 0 && e.on("click", a.navigation.onNextClick), 6445 t && t.length > 0 && t.on("click", a.navigation.onPrevClick), 6446 S(a.navigation, { 6447 $nextEl: e, 6448 nextEl: e && e[0], 6449 $prevEl: t, 6450 prevEl: t && t[0] 6451 })) 6452 }, 6453 destroy: function() { 6454 var e = this 6455 , t = e.navigation 6456 , a = t.$nextEl 6457 , i = t.$prevEl; 6458 a && a.length && (a.off("click", e.navigation.onNextClick), 6459 a.removeClass(e.params.navigation.disabledClass)), 6460 i && i.length && (i.off("click", e.navigation.onPrevClick), 6461 i.removeClass(e.params.navigation.disabledClass)) 6462 } 6463 } 6464 , Z = { 6465 update: function() { 6466 var e = this 6467 , t = e.rtl 6468 , a = e.params.pagination; 6469 if (a.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) { 6470 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; 6471 if (e.params.loop ? ((i = Math.ceil((e.activeIndex - e.loopedSlides) / e.params.slidesPerGroup)) > s - 1 - 2 * e.loopedSlides && (i -= s - 2 * e.loopedSlides), 6472 i > n - 1 && (i -= n), 6473 i < 0 && "bullets" !== e.params.paginationType && (i = n + i)) : i = void 0 !== e.snapIndex ? e.snapIndex : e.activeIndex || 0, 6474 "bullets" === a.type && e.pagination.bullets && e.pagination.bullets.length > 0) { 6475 var l, o, d, p = e.pagination.bullets; 6476 if (a.dynamicBullets && (e.pagination.bulletSize = p.eq(0)[e.isHorizontal() ? "outerWidth" : "outerHeight"](!0), 6477 r.css(e.isHorizontal() ? "width" : "height", e.pagination.bulletSize * (a.dynamicMainBullets + 4) + "px"), 6478 a.dynamicMainBullets > 1 && void 0 !== e.previousIndex && (e.pagination.dynamicBulletIndex += i - e.previousIndex, 6479 e.pagination.dynamicBulletIndex > a.dynamicMainBullets - 1 ? e.pagination.dynamicBulletIndex = a.dynamicMainBullets - 1 : e.pagination.dynamicBulletIndex < 0 && (e.pagination.dynamicBulletIndex = 0)), 6480 l = i - e.pagination.dynamicBulletIndex, 6481 d = ((o = l + (Math.min(p.length, a.dynamicMainBullets) - 1)) + l) / 2), 6482 p.removeClass(a.bulletActiveClass + " " + a.bulletActiveClass + "-next " + a.bulletActiveClass + "-next-next " + a.bulletActiveClass + "-prev " + a.bulletActiveClass + "-prev-prev " + a.bulletActiveClass + "-main"), 6483 r.length > 1) 6484 p.each((function(e) { 6485 var t = m(e) 6486 , s = t.index(); 6487 s === i && t.addClass(a.bulletActiveClass), 6488 a.dynamicBullets && (s >= l && s <= o && t.addClass(a.bulletActiveClass + "-main"), 6489 s === l && t.prev().addClass(a.bulletActiveClass + "-prev").prev().addClass(a.bulletActiveClass + "-prev-prev"), 6490 s === o && t.next().addClass(a.bulletActiveClass + "-next").next().addClass(a.bulletActiveClass + "-next-next")) 6491 } 6492 )); 6493 else { 6494 var u = p.eq(i) 6495 , c = u.index(); 6496 if (u.addClass(a.bulletActiveClass), 6497 a.dynamicBullets) { 6498 for (var h = p.eq(l), v = p.eq(o), f = l; f <= o; f += 1) 6499 p.eq(f).addClass(a.bulletActiveClass + "-main"); 6500 if (e.params.loop) 6501 if (c >= p.length - a.dynamicMainBullets) { 6502 for (var g = a.dynamicMainBullets; g >= 0; g -= 1) 6503 p.eq(p.length - g).addClass(a.bulletActiveClass + "-main"); 6504 p.eq(p.length - a.dynamicMainBullets - 1).addClass(a.bulletActiveClass + "-prev") 6505 } else 6506 h.prev().addClass(a.bulletActiveClass + "-prev").prev().addClass(a.bulletActiveClass + "-prev-prev"), 6507 v.next().addClass(a.bulletActiveClass + "-next").next().addClass(a.bulletActiveClass + "-next-next"); 6508 else 6509 h.prev().addClass(a.bulletActiveClass + "-prev").prev().addClass(a.bulletActiveClass + "-prev-prev"), 6510 v.next().addClass(a.bulletActiveClass + "-next").next().addClass(a.bulletActiveClass + "-next-next") 6511 } 6512 } 6513 if (a.dynamicBullets) { 6514 var y = Math.min(p.length, a.dynamicMainBullets + 4) 6515 , w = (e.pagination.bulletSize * y - e.pagination.bulletSize) / 2 - d * e.pagination.bulletSize 6516 , b = t ? "right" : "left"; 6517 p.css(e.isHorizontal() ? b : "top", w + "px") 6518 } 6519 } 6520 if ("fraction" === a.type && (r.find("." + a.currentClass).text(a.formatFractionCurrent(i + 1)), 6521 r.find("." + a.totalClass).text(a.formatFractionTotal(n))), 6522 "progressbar" === a.type) { 6523 var E;
vendor: 3,965 bytes, lines 6524-6588
6524 E = a.progressbarOpposite ? e.isHorizontal() ? "vertical" : "horizontal" : e.isHorizontal() ? "horizontal" : "vertical"; 6525 var x = (i + 1) / n 6526 , T = 1 6527 , C = 1; 6528 "horizontal" === E ? T = x : C = x, 6529 r.find("." + a.progressbarFillClass).transform("translate3d(0,0,0) scaleX(" + T + ") scaleY(" + C + ")").transition(e.params.speed) 6530 } 6531 "custom" === a.type && a.renderCustom ? (r.html(a.renderCustom(e, i + 1, n)), 6532 e.emit("paginationRender", r[0])) : e.emit("paginationUpdate", r[0]), 6533 r[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](a.lockClass) 6534 } 6535 }, 6536 render: function() { 6537 var e = this 6538 , t = e.params.pagination; 6539 if (t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) { 6540 var a = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length 6541 , i = e.pagination.$el 6542 , s = ""; 6543 if ("bullets" === t.type) { 6544 for (var r = e.params.loop ? Math.ceil((a - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e.snapGrid.length, n = 0; n < r; n += 1) 6545 t.renderBullet ? s += t.renderBullet.call(e, n, t.bulletClass) : s += "<" + t.bulletElement + ' class="' + t.bulletClass + '"></' + t.bulletElement + ">"; 6546 i.html(s), 6547 e.pagination.bullets = i.find("." + t.bulletClass.replace(/ /g, ".")) 6548 } 6549 "fraction" === t.type && (s = t.renderFraction ? t.renderFraction.call(e, t.currentClass, t.totalClass) : '<span class="' + t.currentClass + '"></span> / <span class="' + t.totalClass + '"></span>', 6550 i.html(s)), 6551 "progressbar" === t.type && (s = t.renderProgressbar ? t.renderProgressbar.call(e, t.progressbarFillClass) : '<span class="' + t.progressbarFillClass + '"></span>', 6552 i.html(s)), 6553 "custom" !== t.type && e.emit("paginationRender", e.pagination.$el[0]) 6554 } 6555 }, 6556 init: function() { 6557 var e = this 6558 , t = e.params.pagination; 6559 if (t.el) { 6560 var a = m(t.el); 6561 0 !== a.length && (e.params.uniqueNavElements && "string" == typeof t.el && a.length > 1 && (a = e.$el.find(t.el)), 6562 "bullets" === t.type && t.clickable && a.addClass(t.clickableClass), 6563 a.addClass(t.modifierClass + t.type), 6564 "bullets" === t.type && t.dynamicBullets && (a.addClass("" + t.modifierClass + t.type + "-dynamic"), 6565 e.pagination.dynamicBulletIndex = 0, 6566 t.dynamicMainBullets < 1 && (t.dynamicMainBullets = 1)), 6567 "progressbar" === t.type && t.progressbarOpposite && a.addClass(t.progressbarOppositeClass), 6568 t.clickable && a.on("click", "." + t.bulletClass.replace(/ /g, "."), (function(t) { 6569 t.preventDefault(); 6570 var a = m(this).index() * e.params.slidesPerGroup; 6571 e.params.loop && (a += e.loopedSlides), 6572 e.slideTo(a) 6573 } 6574 )), 6575 S(e.pagination, { 6576 $el: a, 6577 el: a[0] 6578 })) 6579 } 6580 }, 6581 destroy: function() { 6582 var e = this 6583 , t = e.params.pagination; 6584 if (t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) { 6585 var a = e.pagination.$el; 6586 a.removeClass(t.hiddenClass), 6587 a.removeClass(t.modifierClass + t.type), 6588 e.pagination.bullets && e.pagination.bullets.removeClass(t.bulletActiveClass),
vendor: 14,863 bytes, lines 6589-6911
6589 t.clickable && a.off("click", "." + t.bulletClass.replace(/ /g, ".")) 6590 } 6591 } 6592 } 6593 , J = { 6594 setTranslate: function() { 6595 var e = this; 6596 if (e.params.scrollbar.el && e.scrollbar.el) { 6597 var t = e.scrollbar 6598 , a = e.rtlTranslate 6599 , i = e.progress 6600 , s = t.dragSize 6601 , r = t.trackSize 6602 , n = t.$dragEl 6603 , l = t.$el 6604 , o = e.params.scrollbar 6605 , d = s 6606 , p = (r - s) * i; 6607 a ? (p = -p) > 0 ? (d = s - p, 6608 p = 0) : -p + s > r && (d = r + p) : p < 0 ? (d = s + p, 6609 p = 0) : p + s > r && (d = r - p), 6610 e.isHorizontal() ? (n.transform("translate3d(" + p + "px, 0, 0)"), 6611 n[0].style.width = d + "px") : (n.transform("translate3d(0px, " + p + "px, 0)"), 6612 n[0].style.height = d + "px"), 6613 o.hide && (clearTimeout(e.scrollbar.timeout), 6614 l[0].style.opacity = 1, 6615 e.scrollbar.timeout = setTimeout((function() { 6616 l[0].style.opacity = 0, 6617 l.transition(400) 6618 } 6619 ), 1e3)) 6620 } 6621 }, 6622 setTransition: function(e) { 6623 var t = this; 6624 t.params.scrollbar.el && t.scrollbar.el && t.scrollbar.$dragEl.transition(e) 6625 }, 6626 updateSize: function() { 6627 var e = this; 6628 if (e.params.scrollbar.el && e.scrollbar.el) { 6629 var t = e.scrollbar 6630 , a = t.$dragEl 6631 , i = t.$el; 6632 a[0].style.width = "", 6633 a[0].style.height = ""; 6634 var s, r = e.isHorizontal() ? i[0].offsetWidth : i[0].offsetHeight, n = e.size / e.virtualSize, l = n * (r / e.size); 6635 s = "auto" === e.params.scrollbar.dragSize ? r * n : parseInt(e.params.scrollbar.dragSize, 10), 6636 e.isHorizontal() ? a[0].style.width = s + "px" : a[0].style.height = s + "px", 6637 i[0].style.display = n >= 1 ? "none" : "", 6638 e.params.scrollbar.hide && (i[0].style.opacity = 0), 6639 S(t, { 6640 trackSize: r, 6641 divider: n, 6642 moveDivider: l, 6643 dragSize: s 6644 }), 6645 t.$el[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](e.params.scrollbar.lockClass) 6646 } 6647 }, 6648 getPointerPosition: function(e) { 6649 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 6650 }, 6651 setDragPosition: function(e) { 6652 var t, a = this, i = a.scrollbar, s = a.rtlTranslate, r = i.$el, n = i.dragSize, l = i.trackSize, o = i.dragStartPos; 6653 t = (i.getPointerPosition(e) - r.offset()[a.isHorizontal() ? "left" : "top"] - (null !== o ? o : n / 2)) / (l - n), 6654 t = Math.max(Math.min(t, 1), 0), 6655 s && (t = 1 - t); 6656 var d = a.minTranslate() + (a.maxTranslate() - a.minTranslate()) * t; 6657 a.updateProgress(d), 6658 a.setTranslate(d), 6659 a.updateActiveIndex(), 6660 a.updateSlidesClasses() 6661 }, 6662 onDragStart: function(e) { 6663 var t = this 6664 , a = t.params.scrollbar 6665 , i = t.scrollbar 6666 , s = t.$wrapperEl 6667 , r = i.$el 6668 , n = i.$dragEl; 6669 t.scrollbar.isTouched = !0, 6670 t.scrollbar.dragStartPos = e.target === n[0] || e.target === n ? i.getPointerPosition(e) - e.target.getBoundingClientRect()[t.isHorizontal() ? "left" : "top"] : null, 6671 e.preventDefault(), 6672 e.stopPropagation(), 6673 s.transition(100), 6674 n.transition(100), 6675 i.setDragPosition(e), 6676 clearTimeout(t.scrollbar.dragTimeout), 6677 r.transition(0), 6678 a.hide && r.css("opacity", 1), 6679 t.params.cssMode && t.$wrapperEl.css("scroll-snap-type", "none"), 6680 t.emit("scrollbarDragStart", e) 6681 }, 6682 onDragMove: function(e) { 6683 var t = this 6684 , a = t.scrollbar 6685 , i = t.$wrapperEl 6686 , s = a.$el 6687 , r = a.$dragEl; 6688 t.scrollbar.isTouched && (e.preventDefault ? e.preventDefault() : e.returnValue = !1, 6689 a.setDragPosition(e), 6690 i.transition(0), 6691 s.transition(0), 6692 r.transition(0), 6693 t.emit("scrollbarDragMove", e)) 6694 }, 6695 onDragEnd: function(e) { 6696 var t = this 6697 , a = t.params.scrollbar 6698 , i = t.scrollbar 6699 , s = t.$wrapperEl 6700 , r = i.$el; 6701 t.scrollbar.isTouched && (t.scrollbar.isTouched = !1, 6702 t.params.cssMode && (t.$wrapperEl.css("scroll-snap-type", ""), 6703 s.transition("")), 6704 a.hide && (clearTimeout(t.scrollbar.dragTimeout), 6705 t.scrollbar.dragTimeout = E((function() { 6706 r.css("opacity", 0), 6707 r.transition(400) 6708 } 6709 ), 1e3)), 6710 t.emit("scrollbarDragEnd", e), 6711 a.snapOnRelease && t.slideToClosest()) 6712 }, 6713 enableDraggable: function() { 6714 var e = this; 6715 if (e.params.scrollbar.el) { 6716 var t = r() 6717 , a = e.scrollbar 6718 , i = e.touchEventsTouch 6719 , s = e.touchEventsDesktop 6720 , n = e.params 6721 , l = e.support 6722 , o = a.$el[0] 6723 , d = !(!l.passiveListener || !n.passiveListeners) && { 6724 passive: !1, 6725 capture: !1 6726 } 6727 , p = !(!l.passiveListener || !n.passiveListeners) && { 6728 passive: !0, 6729 capture: !1 6730 }; 6731 l.touch ? (o.addEventListener(i.start, e.scrollbar.onDragStart, d), 6732 o.addEventListener(i.move, e.scrollbar.onDragMove, d), 6733 o.addEventListener(i.end, e.scrollbar.onDragEnd, p)) : (o.addEventListener(s.start, e.scrollbar.onDragStart, d), 6734 t.addEventListener(s.move, e.scrollbar.onDragMove, d), 6735 t.addEventListener(s.end, e.scrollbar.onDragEnd, p)) 6736 } 6737 }, 6738 disableDraggable: function() { 6739 var e = this; 6740 if (e.params.scrollbar.el) { 6741 var t = r() 6742 , a = e.scrollbar 6743 , i = e.touchEventsTouch 6744 , s = e.touchEventsDesktop 6745 , n = e.params 6746 , l = e.support 6747 , o = a.$el[0] 6748 , d = !(!l.passiveListener || !n.passiveListeners) && { 6749 passive: !1, 6750 capture: !1 6751 } 6752 , p = !(!l.passiveListener || !n.passiveListeners) && { 6753 passive: !0, 6754 capture: !1 6755 }; 6756 l.touch ? (o.removeEventListener(i.start, e.scrollbar.onDragStart, d), 6757 o.removeEventListener(i.move, e.scrollbar.onDragMove, d), 6758 o.removeEventListener(i.end, e.scrollbar.onDragEnd, p)) : (o.removeEventListener(s.start, e.scrollbar.onDragStart, d), 6759 t.removeEventListener(s.move, e.scrollbar.onDragMove, d), 6760 t.removeEventListener(s.end, e.scrollbar.onDragEnd, p)) 6761 } 6762 }, 6763 init: function() { 6764 var e = this; 6765 if (e.params.scrollbar.el) { 6766 var t = e.scrollbar 6767 , a = e.$el 6768 , i = e.params.scrollbar 6769 , s = m(i.el); 6770 e.params.uniqueNavElements && "string" == typeof i.el && s.length > 1 && 1 === a.find(i.el).length && (s = a.find(i.el)); 6771 var r = s.find("." + e.params.scrollbar.dragClass); 6772 0 === r.length && (r = m('<div class="' + e.params.scrollbar.dragClass + '"></div>'), 6773 s.append(r)), 6774 S(t, { 6775 $el: s, 6776 el: s[0], 6777 $dragEl: r, 6778 dragEl: r[0] 6779 }), 6780 i.draggable && t.enableDraggable() 6781 } 6782 }, 6783 destroy: function() { 6784 this.scrollbar.disableDraggable() 6785 } 6786 } 6787 , Q = { 6788 setTransform: function(e, t) { 6789 var a = this.rtl 6790 , i = m(e) 6791 , s = a ? -1 : 1 6792 , r = i.attr("data-swiper-parallax") || "0" 6793 , n = i.attr("data-swiper-parallax-x") 6794 , l = i.attr("data-swiper-parallax-y") 6795 , o = i.attr("data-swiper-parallax-scale") 6796 , d = i.attr("data-swiper-parallax-opacity"); 6797 if (n || l ? (n = n || "0", 6798 l = l || "0") : this.isHorizontal() ? (n = r, 6799 l = "0") : (l = r, 6800 n = "0"), 6801 n = n.indexOf("%") >= 0 ? parseInt(n, 10) * t * s + "%" : n * t * s + "px", 6802 l = l.indexOf("%") >= 0 ? parseInt(l, 10) * t + "%" : l * t + "px", 6803 null != d) { 6804 var p = d - (d - 1) * (1 - Math.abs(t)); 6805 i[0].style.opacity = p 6806 } 6807 if (null == o) 6808 i.transform("translate3d(" + n + ", " + l + ", 0px)"); 6809 else { 6810 var u = o - (o - 1) * (1 - Math.abs(t)); 6811 i.transform("translate3d(" + n + ", " + l + ", 0px) scale(" + u + ")") 6812 } 6813 }, 6814 setTranslate: function() { 6815 var e = this 6816 , t = e.$el 6817 , a = e.slides 6818 , i = e.progress 6819 , s = e.snapGrid; 6820 t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t) { 6821 e.parallax.setTransform(t, i) 6822 } 6823 )), 6824 a.each((function(t, a) { 6825 var r = t.progress; 6826 e.params.slidesPerGroup > 1 && "auto" !== e.params.slidesPerView && (r += Math.ceil(a / 2) - i * (s.length - 1)), 6827 r = Math.min(Math.max(r, -1), 1), 6828 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) { 6829 e.parallax.setTransform(t, r) 6830 } 6831 )) 6832 } 6833 )) 6834 }, 6835 setTransition: function(e) { 6836 void 0 === e && (e = this.params.speed); 6837 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) { 6838 var a = m(t) 6839 , i = parseInt(a.attr("data-swiper-parallax-duration"), 10) || e; 6840 0 === e && (i = 0), 6841 a.transition(i) 6842 } 6843 )) 6844 } 6845 } 6846 , ee = { 6847 getDistanceBetweenTouches: function(e) { 6848 if (e.targetTouches.length < 2) 6849 return 1; 6850 var t = e.targetTouches[0].pageX 6851 , a = e.targetTouches[0].pageY 6852 , i = e.targetTouches[1].pageX 6853 , s = e.targetTouches[1].pageY; 6854 return Math.sqrt(Math.pow(i - t, 2) + Math.pow(s - a, 2)) 6855 }, 6856 onGestureStart: function(e) { 6857 var t = this 6858 , a = t.support 6859 , i = t.params.zoom 6860 , s = t.zoom 6861 , r = s.gesture; 6862 if (s.fakeGestureTouched = !1, 6863 s.fakeGestureMoved = !1, 6864 !a.gestures) { 6865 if ("touchstart" !== e.type || "touchstart" === e.type && e.targetTouches.length < 2) 6866 return; 6867 s.fakeGestureTouched = !0, 6868 r.scaleStart = ee.getDistanceBetweenTouches(e) 6869 } 6870 r.$slideEl && r.$slideEl.length || (r.$slideEl = m(e.target).closest("." + t.params.slideClass), 6871 0 === r.$slideEl.length && (r.$slideEl = t.slides.eq(t.activeIndex)), 6872 r.$imageEl = r.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), 6873 r.$imageWrapEl = r.$imageEl.parent("." + i.containerClass), 6874 r.maxRatio = r.$imageWrapEl.attr("data-swiper-zoom") || i.maxRatio, 6875 0 !== r.$imageWrapEl.length) ? (r.$imageEl && r.$imageEl.transition(0), 6876 t.zoom.isScaling = !0) : r.$imageEl = void 0 6877 }, 6878 onGestureChange: function(e) { 6879 var t = this 6880 , a = t.support 6881 , i = t.params.zoom 6882 , s = t.zoom 6883 , r = s.gesture; 6884 if (!a.gestures) { 6885 if ("touchmove" !== e.type || "touchmove" === e.type && e.targetTouches.length < 2) 6886 return; 6887 s.fakeGestureMoved = !0, 6888 r.scaleMove = ee.getDistanceBetweenTouches(e) 6889 } 6890 r.$imageEl && 0 !== r.$imageEl.length ? (a.gestures ? s.scale = e.scale * s.currentScale : s.scale = r.scaleMove / r.scaleStart * s.currentScale, 6891 s.scale > r.maxRatio && (s.scale = r.maxRatio - 1 + Math.pow(s.scale - r.maxRatio + 1, .5)), 6892 s.scale < i.minRatio && (s.scale = i.minRatio + 1 - Math.pow(i.minRatio - s.scale + 1, .5)), 6893 r.$imageEl.transform("translate3d(0,0,0) scale(" + s.scale + ")")) : "gesturechange" === e.type && s.onGestureStart(e) 6894 }, 6895 onGestureEnd: function(e) { 6896 var t = this 6897 , a = t.device 6898 , i = t.support 6899 , s = t.params.zoom 6900 , r = t.zoom 6901 , n = r.gesture; 6902 if (!i.gestures) { 6903 if (!r.fakeGestureTouched || !r.fakeGestureMoved) 6904 return; 6905 if ("touchend" !== e.type || "touchend" === e.type && e.changedTouches.length < 2 && !a.android) 6906 return; 6907 r.fakeGestureTouched = !1, 6908 r.fakeGestureMoved = !1 6909 } 6910 n.$imageEl && 0 !== n.$imageEl.length && (r.scale = Math.max(Math.min(r.scale, n.maxRatio), s.minRatio), 6911 n.$imageEl.transition(t.params.speed).transform("translate3d(0,
vendor: 4,318 bytes, lines 6911-6977
69110,0) scale(" + r.scale + ")"), 6912 r.currentScale = r.scale, 6913 r.isScaling = !1, 6914 1 === r.scale && (n.$slideEl = void 0)) 6915 }, 6916 onTouchStart: function(e) { 6917 var t = this.device 6918 , a = this.zoom 6919 , i = a.gesture 6920 , s = a.image; 6921 i.$imageEl && 0 !== i.$imageEl.length && (s.isTouched || (t.android && e.cancelable && e.preventDefault(), 6922 s.isTouched = !0, 6923 s.touchesStart.x = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX, 6924 s.touchesStart.y = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY)) 6925 }, 6926 onTouchMove: function(e) { 6927 var t = this 6928 , a = t.zoom 6929 , i = a.gesture 6930 , s = a.image 6931 , r = a.velocity; 6932 if (i.$imageEl && 0 !== i.$imageEl.length && (t.allowClick = !1, 6933 s.isTouched && i.$slideEl)) { 6934 s.isMoved || (s.width = i.$imageEl[0].offsetWidth, 6935 s.height = i.$imageEl[0].offsetHeight, 6936 s.startX = T(i.$imageWrapEl[0], "x") || 0, 6937 s.startY = T(i.$imageWrapEl[0], "y") || 0, 6938 i.slideWidth = i.$slideEl[0].offsetWidth, 6939 i.slideHeight = i.$slideEl[0].offsetHeight, 6940 i.$imageWrapEl.transition(0), 6941 t.rtl && (s.startX = -s.startX, 6942 s.startY = -s.startY)); 6943 var n = s.width * a.scale 6944 , l = s.height * a.scale; 6945 if (!(n < i.slideWidth && l < i.slideHeight)) { 6946 if (s.minX = Math.min(i.slideWidth / 2 - n / 2, 0), 6947 s.maxX = -s.minX, 6948 s.minY = Math.min(i.slideHeight / 2 - l / 2, 0), 6949 s.maxY = -s.minY, 6950 s.touchesCurrent.x = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, 6951 s.touchesCurrent.y = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY, 6952 !s.isMoved && !a.isScaling) { 6953 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)) 6954 return void (s.isTouched = !1); 6955 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)) 6956 return void (s.isTouched = !1) 6957 } 6958 e.cancelable && e.preventDefault(), 6959 e.stopPropagation(), 6960 s.isMoved = !0, 6961 s.currentX = s.touchesCurrent.x - s.touchesStart.x + s.startX, 6962 s.currentY = s.touchesCurrent.y - s.touchesStart.y + s.startY, 6963 s.currentX < s.minX && (s.currentX = s.minX + 1 - Math.pow(s.minX - s.currentX + 1, .8)), 6964 s.currentX > s.maxX && (s.currentX = s.maxX - 1 + Math.pow(s.currentX - s.maxX + 1, .8)), 6965 s.currentY < s.minY && (s.currentY = s.minY + 1 - Math.pow(s.minY - s.currentY + 1, .8)), 6966 s.currentY > s.maxY && (s.currentY = s.maxY - 1 + Math.pow(s.currentY - s.maxY + 1, .8)), 6967 r.prevPositionX || (r.prevPositionX = s.touchesCurrent.x), 6968 r.prevPositionY || (r.prevPositionY = s.touchesCurrent.y), 6969 r.prevTime || (r.prevTime = Date.now()), 6970 r.x = (s.touchesCurrent.x - r.prevPositionX) / (Date.now() - r.prevTime) / 2, 6971 r.y = (s.touchesCurrent.y - r.prevPositionY) / (Date.now() - r.prevTime) / 2, 6972 Math.abs(s.touchesCurrent.x - r.prevPositionX) < 2 && (r.x = 0), 6973 Math.abs(s.touchesCurrent.y - r.prevPositionY) < 2 && (r.y = 0), 6974 r.prevPositionX = s.touchesCurrent.x, 6975 r.prevPositionY = s.touchesCurrent.y, 6976 r.prevTime = Date.now(), 6977 i.$imageWrapEl.transform("translate3d(" + s.currentX + "px, " + s.currentY + "px,0
vendor: 73,918 bytes, lines 6977-8673
6977)") 6978 } 6979 } 6980 }, 6981 onTouchEnd: function() { 6982 var e = this.zoom 6983 , t = e.gesture 6984 , a = e.image 6985 , i = e.velocity; 6986 if (t.$imageEl && 0 !== t.$imageEl.length) { 6987 if (!a.isTouched || !a.isMoved) 6988 return a.isTouched = !1, 6989 void (a.isMoved = !1); 6990 a.isTouched = !1, 6991 a.isMoved = !1; 6992 var s = 300 6993 , r = 300 6994 , n = i.x * s 6995 , l = a.currentX + n 6996 , o = i.y * r 6997 , d = a.currentY + o; 6998 0 !== i.x && (s = Math.abs((l - a.currentX) / i.x)), 6999 0 !== i.y && (r = Math.abs((d - a.currentY) / i.y)); 7000 var p = Math.max(s, r); 7001 a.currentX = l, 7002 a.currentY = d; 7003 var u = a.width * e.scale 7004 , c = a.height * e.scale; 7005 a.minX = Math.min(t.slideWidth / 2 - u / 2, 0), 7006 a.maxX = -a.minX, 7007 a.minY = Math.min(t.slideHeight / 2 - c / 2, 0), 7008 a.maxY = -a.minY, 7009 a.currentX = Math.max(Math.min(a.currentX, a.maxX), a.minX), 7010 a.currentY = Math.max(Math.min(a.currentY, a.maxY), a.minY), 7011 t.$imageWrapEl.transition(p).transform("translate3d(" + a.currentX + "px, " + a.currentY + "px,0)") 7012 } 7013 }, 7014 onTransitionEnd: function() { 7015 var e = this 7016 , t = e.zoom 7017 , a = t.gesture; 7018 a.$slideEl && e.previousIndex !== e.activeIndex && (a.$imageEl && a.$imageEl.transform("translate3d(0,0,0) scale(1)"), 7019 a.$imageWrapEl && a.$imageWrapEl.transform("translate3d(0,0,0)"), 7020 t.scale = 1, 7021 t.currentScale = 1, 7022 a.$slideEl = void 0, 7023 a.$imageEl = void 0, 7024 a.$imageWrapEl = void 0) 7025 }, 7026 toggle: function(e) { 7027 var t = this.zoom; 7028 t.scale && 1 !== t.scale ? t.out() : t.in(e) 7029 }, 7030 in: function(e) { 7031 var t, a, i, s, r, n, l, o, d, p, u, c, h, v, f, m, g = this, y = g.zoom, w = g.params.zoom, b = y.gesture, E = y.image; 7032 (b.$slideEl || (g.params.virtual && g.params.virtual.enabled && g.virtual ? b.$slideEl = g.$wrapperEl.children("." + g.params.slideActiveClass) : b.$slideEl = g.slides.eq(g.activeIndex), 7033 b.$imageEl = b.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), 7034 b.$imageWrapEl = b.$imageEl.parent("." + w.containerClass)), 7035 b.$imageEl && 0 !== b.$imageEl.length) && (b.$slideEl.addClass("" + w.zoomedSlideClass), 7036 void 0 === E.touchesStart.x && e ? (t = "touchend" === e.type ? e.changedTouches[0].pageX : e.pageX, 7037 a = "touchend" === e.type ? e.changedTouches[0].pageY : e.pageY) : (t = E.touchesStart.x, 7038 a = E.touchesStart.y), 7039 y.scale = b.$imageWrapEl.attr("data-swiper-zoom") || w.maxRatio, 7040 y.currentScale = b.$imageWrapEl.attr("data-swiper-zoom") || w.maxRatio, 7041 e ? (f = b.$slideEl[0].offsetWidth, 7042 m = b.$slideEl[0].offsetHeight, 7043 i = b.$slideEl.offset().left + f / 2 - t, 7044 s = b.$slideEl.offset().top + m / 2 - a, 7045 l = b.$imageEl[0].offsetWidth, 7046 o = b.$imageEl[0].offsetHeight, 7047 d = l * y.scale, 7048 p = o * y.scale, 7049 h = -(u = Math.min(f / 2 - d / 2, 0)), 7050 v = -(c = Math.min(m / 2 - p / 2, 0)), 7051 (r = i * y.scale) < u && (r = u), 7052 r > h && (r = h), 7053 (n = s * y.scale) < c && (n = c), 7054 n > v && (n = v)) : (r = 0, 7055 n = 0), 7056 b.$imageWrapEl.transition(300).transform("translate3d(" + r + "px, " + n + "px,0)"), 7057 b.$imageEl.transition(300).transform("translate3d(0,0,0) scale(" + y.scale + ")")) 7058 }, 7059 out: function() { 7060 var e = this 7061 , t = e.zoom 7062 , a = e.params.zoom 7063 , i = t.gesture; 7064 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), 7065 i.$imageEl = i.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"), 7066 i.$imageWrapEl = i.$imageEl.parent("." + a.containerClass)), 7067 i.$imageEl && 0 !== i.$imageEl.length && (t.scale = 1, 7068 t.currentScale = 1, 7069 i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"), 7070 i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"), 7071 i.$slideEl.removeClass("" + a.zoomedSlideClass), 7072 i.$slideEl = void 0) 7073 }, 7074 toggleGestures: function(e) { 7075 var t = this 7076 , a = t.zoom 7077 , i = a.slideSelector 7078 , s = a.passiveListener; 7079 t.$wrapperEl[e]("gesturestart", i, a.onGestureStart, s), 7080 t.$wrapperEl[e]("gesturechange", i, a.onGestureChange, s), 7081 t.$wrapperEl[e]("gestureend", i, a.onGestureEnd, s) 7082 }, 7083 enableGestures: function() { 7084 this.zoom.gesturesEnabled || (this.zoom.gesturesEnabled = !0, 7085 this.zoom.toggleGestures("on")) 7086 }, 7087 disableGestures: function() { 7088 this.zoom.gesturesEnabled && (this.zoom.gesturesEnabled = !1, 7089 this.zoom.toggleGestures("off")) 7090 }, 7091 enable: function() { 7092 var e = this 7093 , t = e.support 7094 , a = e.zoom; 7095 if (!a.enabled) { 7096 a.enabled = !0; 7097 var i = !("touchstart" !== e.touchEvents.start || !t.passiveListener || !e.params.passiveListeners) && { 7098 passive: !0, 7099 capture: !1 7100 } 7101 , s = !t.passiveListener || { 7102 passive: !1, 7103 capture: !0 7104 } 7105 , r = "." + e.params.slideClass; 7106 e.zoom.passiveListener = i, 7107 e.zoom.slideSelector = r, 7108 t.gestures ? (e.$wrapperEl.on(e.touchEvents.start, e.zoom.enableGestures, i), 7109 e.$wrapperEl.on(e.touchEvents.end, e.zoom.disableGestures, i)) : "touchstart" === e.touchEvents.start && (e.$wrapperEl.on(e.touchEvents.start, r, a.onGestureStart, i), 7110 e.$wrapperEl.on(e.touchEvents.move, r, a.onGestureChange, s), 7111 e.$wrapperEl.on(e.touchEvents.end, r, a.onGestureEnd, i), 7112 e.touchEvents.cancel && e.$wrapperEl.on(e.touchEvents.cancel, r, a.onGestureEnd, i)), 7113 e.$wrapperEl.on(e.touchEvents.move, "." + e.params.zoom.containerClass, a.onTouchMove, s) 7114 } 7115 }, 7116 disable: function() { 7117 var e = this 7118 , t = e.zoom; 7119 if (t.enabled) { 7120 var a = e.support; 7121 e.zoom.enabled = !1; 7122 var i = !("touchstart" !== e.touchEvents.start || !a.passiveListener || !e.params.passiveListeners) && { 7123 passive: !0, 7124 capture: !1 7125 } 7126 , s = !a.passiveListener || { 7127 passive: !1, 7128 capture: !0 7129 } 7130 , r = "." + e.params.slideClass; 7131 a.gestures ? (e.$wrapperEl.off(e.touchEvents.start, e.zoom.enableGestures, i), 7132 e.$wrapperEl.off(e.touchEvents.end, e.zoom.disableGestures, i)) : "touchstart" === e.touchEvents.start && (e.$wrapperEl.off(e.touchEvents.start, r, t.onGestureStart, i), 7133 e.$wrapperEl.off(e.touchEvents.move, r, t.onGestureChange, s), 7134 e.$wrapperEl.off(e.touchEvents.end, r, t.onGestureEnd, i), 7135 e.touchEvents.cancel && e.$wrapperEl.off(e.touchEvents.cancel, r, t.onGestureEnd, i)), 7136 e.$wrapperEl.off(e.touchEvents.move, "." + e.params.zoom.containerClass, t.onTouchMove, s) 7137 } 7138 } 7139 } 7140 , te = { 7141 loadInSlide: function(e, t) { 7142 void 0 === t && (t = !0); 7143 var a = this 7144 , i = a.params.lazy; 7145 if (void 0 !== e && 0 !== a.slides.length) { 7146 var s = a.virtual && a.params.virtual.enabled ? a.$wrapperEl.children("." + a.params.slideClass + '[data-swiper-slide-index="' + e + '"]') : a.slides.eq(e) 7147 , r = s.find("." + i.elementClass + ":not(." + i.loadedClass + "):not(." + i.loadingClass + ")"); 7148 !s.hasClass(i.elementClass) || s.hasClass(i.loadedClass) || s.hasClass(i.loadingClass) || r.push(s[0]), 7149 0 !== r.length && r.each((function(e) { 7150 var r = m(e); 7151 r.addClass(i.loadingClass); 7152 var n = r.attr("data-background") 7153 , l = r.attr("data-src") 7154 , o = r.attr("data-srcset") 7155 , d = r.attr("data-sizes") 7156 , p = r.parent("picture"); 7157 a.loadImage(r[0], l || n, o, d, !1, (function() { 7158 if (null != a && a && (!a || a.params) && !a.destroyed) { 7159 if (n ? (r.css("background-image", 'url("' + n + '")'), 7160 r.removeAttr("data-background")) : (o && (r.attr("srcset", o), 7161 r.removeAttr("data-srcset")), 7162 d && (r.attr("sizes", d), 7163 r.removeAttr("data-sizes")), 7164 p.length && p.children("source").each((function(e) { 7165 var t = m(e); 7166 t.attr("data-srcset") && (t.attr("srcset", t.attr("data-srcset")), 7167 t.removeAttr("data-srcset")) 7168 } 7169 )), 7170 l && (r.attr("src", l), 7171 r.removeAttr("data-src"))), 7172 r.addClass(i.loadedClass).removeClass(i.loadingClass), 7173 s.find("." + i.preloaderClass).remove(), 7174 a.params.loop && t) { 7175 var e = s.attr("data-swiper-slide-index"); 7176 if (s.hasClass(a.params.slideDuplicateClass)) { 7177 var u = a.$wrapperEl.children('[data-swiper-slide-index="' + e + '"]:not(.' + a.params.slideDuplicateClass + ")"); 7178 a.lazy.loadInSlide(u.index(), !1) 7179 } else { 7180 var c = a.$wrapperEl.children("." + a.params.slideDuplicateClass + '[data-swiper-slide-index="' + e + '"]'); 7181 a.lazy.loadInSlide(c.index(), !1) 7182 } 7183 } 7184 a.emit("lazyImageReady", s[0], r[0]), 7185 a.params.autoHeight && a.updateAutoHeight() 7186 } 7187 } 7188 )), 7189 a.emit("lazyImageLoad", s[0], r[0]) 7190 } 7191 )) 7192 } 7193 }, 7194 load: function() { 7195 var e = this 7196 , t = e.$wrapperEl 7197 , a = e.params 7198 , i = e.slides 7199 , s = e.activeIndex 7200 , r = e.virtual && a.virtual.enabled 7201 , n = a.lazy 7202 , l = a.slidesPerView; 7203 function o(e) { 7204 if (r) { 7205 if (t.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]').length) 7206 return !0 7207 } else if (i[e]) 7208 return !0; 7209 return !1 7210 } 7211 function d(e) { 7212 return r ? m(e).attr("data-swiper-slide-index") : m(e).index() 7213 } 7214 if ("auto" === l && (l = 0), 7215 e.lazy.initialImageLoaded || (e.lazy.initialImageLoaded = !0), 7216 e.params.watchSlidesVisibility) 7217 t.children("." + a.slideVisibleClass).each((function(t) { 7218 var a = r ? m(t).attr("data-swiper-slide-index") : m(t).index(); 7219 e.lazy.loadInSlide(a) 7220 } 7221 )); 7222 else if (l > 1) 7223 for (var p = s; p < s + l; p += 1) 7224 o(p) && e.lazy.loadInSlide(p); 7225 else 7226 e.lazy.loadInSlide(s); 7227 if (n.loadPrevNext) 7228 if (l > 1 || n.loadPrevNextAmount && n.loadPrevNextAmount > 1) { 7229 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) 7230 o(f) && e.lazy.loadInSlide(f); 7231 for (var g = v; g < s; g += 1) 7232 o(g) && e.lazy.loadInSlide(g) 7233 } else { 7234 var y = t.children("." + a.slideNextClass); 7235 y.length > 0 && e.lazy.loadInSlide(d(y)); 7236 var w = t.children("." + a.slidePrevClass); 7237 w.length > 0 && e.lazy.loadInSlide(d(w)) 7238 } 7239 }, 7240 checkInViewOnLoad: function() { 7241 var e = l() 7242 , t = this; 7243 if (t && !t.destroyed) { 7244 var a = t.params.lazy.scrollingElement ? m(t.params.lazy.scrollingElement) : m(e) 7245 , i = a[0] === e 7246 , s = i ? e.innerWidth : a[0].offsetWidth 7247 , r = i ? e.innerHeight : a[0].offsetHeight 7248 , n = t.$el.offset() 7249 , o = !1; 7250 t.rtlTranslate && (n.left -= t.$el[0].scrollLeft); 7251 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) { 7252 var u = d[p]; 7253 if (u[0] >= 0 && u[0] <= s && u[1] >= 0 && u[1] <= r) { 7254 if (0 === u[0] && 0 === u[1]) 7255 continue; 7256 o = !0 7257 } 7258 } 7259 o ? (t.lazy.load(), 7260 a.off("scroll", t.lazy.checkInViewOnLoad)) : t.lazy.scrollHandlerAttached || (t.lazy.scrollHandlerAttached = !0, 7261 a.on("scroll", t.lazy.checkInViewOnLoad)) 7262 } 7263 } 7264 } 7265 , ae = { 7266 LinearSpline: function(e, t) { 7267 var a, i, s, r, n, l = function(e, t) { 7268 for (i = -1, 7269 a = e.length; a - i > 1; ) 7270 e[s = a + i >> 1] <= t ? i = s : a = s; 7271 return a 7272 }; 7273 return this.x = e, 7274 this.y = t, 7275 this.lastIndex = e.length - 1, 7276 this.interpolate = function(e) { 7277 return e ? (n = l(this.x, e), 7278 r = n - 1, 7279 (e - this.x[r]) * (this.y[n] - this.y[r]) / (this.x[n] - this.x[r]) + this.y[r]) : 0 7280 } 7281 , 7282 this 7283 }, 7284 getInterpolateFunction: function(e) { 7285 var t = this; 7286 t.controller.spline || (t.controller.spline = t.params.loop ? new ae.LinearSpline(t.slidesGrid,e.slidesGrid) : new ae.LinearSpline(t.snapGrid,e.snapGrid)) 7287 }, 7288 setTranslate: function(e, t) { 7289 var a, i, s = this, r = s.controller.control, n = s.constructor; 7290 function l(e) { 7291 var t = s.rtlTranslate ? -s.translate : s.translate; 7292 "slide" === s.params.controller.by && (s.controller.getInterpolateFunction(e), 7293 i = -s.controller.spline.interpolate(-t)), 7294 i && "container" !== s.params.controller.by || (a = (e.maxTranslate() - e.minTranslate()) / (s.maxTranslate() - s.minTranslate()), 7295 i = (t - s.minTranslate()) * a + e.minTranslate()), 7296 s.params.controller.inverse && (i = e.maxTranslate() - i), 7297 e.updateProgress(i), 7298 e.setTranslate(i, s), 7299 e.updateActiveIndex(), 7300 e.updateSlidesClasses() 7301 } 7302 if (Array.isArray(r)) 7303 for (var o = 0; o < r.length; o += 1) 7304 r[o] !== t && r[o]instanceof n && l(r[o]); 7305 else 7306 r instanceof n && t !== r && l(r) 7307 }, 7308 setTransition: function(e, t) { 7309 var a, i = this, s = i.constructor, r = i.controller.control; 7310 function n(t) { 7311 t.setTransition(e, i), 7312 0 !== e && (t.transitionStart(), 7313 t.params.autoHeight && E((function() { 7314 t.updateAutoHeight() 7315 } 7316 )), 7317 t.$wrapperEl.transitionEnd((function() { 7318 r && (t.params.loop && "slide" === i.params.controller.by && t.loopFix(), 7319 t.transitionEnd()) 7320 } 7321 ))) 7322 } 7323 if (Array.isArray(r)) 7324 for (a = 0; a < r.length; a += 1) 7325 r[a] !== t && r[a]instanceof s && n(r[a]); 7326 else 7327 r instanceof s && t !== r && n(r) 7328 } 7329 } 7330 , ie = { 7331 getRandomNumber: function(e) { 7332 void 0 === e && (e = 16); 7333 return "x".repeat(e).replace(/x/g, (function() { 7334 return Math.round(16 * Math.random()).toString(16) 7335 } 7336 )) 7337 }, 7338 makeElFocusable: function(e) { 7339 return e.attr("tabIndex", "0"), 7340 e 7341 }, 7342 makeElNotFocusable: function(e) { 7343 return e.attr("tabIndex", "-1"), 7344 e 7345 }, 7346 addElRole: function(e, t) { 7347 return e.attr("role", t), 7348 e 7349 }, 7350 addElRoleDescription: function(e, t) { 7351 return e.attr("aria-role-description", t), 7352 e 7353 }, 7354 addElControls: function(e, t) { 7355 return e.attr("aria-controls", t), 7356 e 7357 }, 7358 addElLabel: function(e, t) { 7359 return e.attr("aria-label", t), 7360 e 7361 }, 7362 addElId: function(e, t) { 7363 return e.attr("id", t), 7364 e 7365 }, 7366 addElLive: function(e, t) { 7367 return e.attr("aria-live", t), 7368 e 7369 }, 7370 disableEl: function(e) { 7371 return e.attr("aria-disabled", !0), 7372 e 7373 }, 7374 enableEl: function(e) { 7375 return e.attr("aria-disabled", !1), 7376 e 7377 }, 7378 onEnterKey: function(e) { 7379 var t = this 7380 , a = t.params.a11y; 7381 if (13 === e.keyCode) { 7382 var i = m(e.target); 7383 t.navigation && t.navigation.$nextEl && i.is(t.navigation.$nextEl) && (t.isEnd && !t.params.loop || t.slideNext(), 7384 t.isEnd ? t.a11y.notify(a.lastSlideMessage) : t.a11y.notify(a.nextSlideMessage)), 7385 t.navigation && t.navigation.$prevEl && i.is(t.navigation.$prevEl) && (t.isBeginning && !t.params.loop || t.slidePrev(), 7386 t.isBeginning ? t.a11y.notify(a.firstSlideMessage) : t.a11y.notify(a.prevSlideMessage)), 7387 t.pagination && i.is("." + t.params.pagination.bulletClass.replace(/ /g, ".")) && i[0].click() 7388 } 7389 }, 7390 notify: function(e) { 7391 var t = this.a11y.liveRegion; 7392 0 !== t.length && (t.html(""), 7393 t.html(e)) 7394 }, 7395 updateNavigation: function() { 7396 var e = this; 7397 if (!e.params.loop && e.navigation) { 7398 var t = e.navigation 7399 , a = t.$nextEl 7400 , i = t.$prevEl; 7401 i && i.length > 0 && (e.isBeginning ? (e.a11y.disableEl(i), 7402 e.a11y.makeElNotFocusable(i)) : (e.a11y.enableEl(i), 7403 e.a11y.makeElFocusable(i))), 7404 a && a.length > 0 && (e.isEnd ? (e.a11y.disableEl(a), 7405 e.a11y.makeElNotFocusable(a)) : (e.a11y.enableEl(a), 7406 e.a11y.makeElFocusable(a))) 7407 } 7408 }, 7409 updatePagination: function() { 7410 var e = this 7411 , t = e.params.a11y; 7412 e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e.pagination.bullets.each((function(a) { 7413 var i = m(a); 7414 e.a11y.makeElFocusable(i), 7415 e.params.pagination.renderBullet || (e.a11y.addElRole(i, "button"), 7416 e.a11y.addElLabel(i, t.paginationBulletMessage.replace(/\{\{index\}\}/, i.index() + 1))) 7417 } 7418 )) 7419 }, 7420 init: function() { 7421 var e = this 7422 , t = e.params.a11y; 7423 e.$el.append(e.a11y.liveRegion); 7424 var a = e.$el; 7425 t.containerRoleDescriptionMessage && e.a11y.addElRoleDescription(a, t.containerRoleDescriptionMessage), 7426 t.containerMessage && e.a11y.addElLabel(a, t.containerMessage); 7427 var i, s, r, n = e.$wrapperEl, l = n.attr("id") || "swiper-wrapper-" + e.a11y.getRandomNumber(16); 7428 e.a11y.addElId(n, l), 7429 i = e.params.autoplay && e.params.autoplay.enabled ? "off" : "polite", 7430 e.a11y.addElLive(n, i), 7431 t.itemRoleDescriptionMessage && e.a11y.addElRoleDescription(m(e.slides), t.itemRoleDescriptionMessage), 7432 e.a11y.addElRole(m(e.slides), "group"), 7433 e.slides.each((function(t) { 7434 var a = m(t); 7435 e.a11y.addElLabel(a, a.index() + 1 + " / " + e.slides.length) 7436 } 7437 )), 7438 e.navigation && e.navigation.$nextEl && (s = e.navigation.$nextEl), 7439 e.navigation && e.navigation.$prevEl && (r = e.navigation.$prevEl), 7440 s && s.length && (e.a11y.makeElFocusable(s), 7441 "BUTTON" !== s[0].tagName && (e.a11y.addElRole(s, "button"), 7442 s.on("keydown", e.a11y.onEnterKey)), 7443 e.a11y.addElLabel(s, t.nextSlideMessage), 7444 e.a11y.addElControls(s, l)), 7445 r && r.length && (e.a11y.makeElFocusable(r), 7446 "BUTTON" !== r[0].tagName && (e.a11y.addElRole(r, "button"), 7447 r.on("keydown", e.a11y.onEnterKey)), 7448 e.a11y.addElLabel(r, t.prevSlideMessage), 7449 e.a11y.addElControls(r, l)), 7450 e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e.pagination.$el.on("keydown", "." + e.params.pagination.bulletClass.replace(/ /g, "."), e.a11y.onEnterKey) 7451 }, 7452 destroy: function() { 7453 var e, t, a = this; 7454 a.a11y.liveRegion && a.a11y.liveRegion.length > 0 && a.a11y.liveRegion.remove(), 7455 a.navigation && a.navigation.$nextEl && (e = a.navigation.$nextEl), 7456 a.navigation && a.navigation.$prevEl && (t = a.navigation.$prevEl), 7457 e && e.off("keydown", a.a11y.onEnterKey), 7458 t && t.off("keydown", a.a11y.onEnterKey), 7459 a.pagination && a.params.pagination.clickable && a.pagination.bullets && a.pagination.bullets.length && a.pagination.$el.off("keydown", "." + a.params.pagination.bulletClass.replace(/ /g, "."), a.a11y.onEnterKey) 7460 } 7461 } 7462 , se = { 7463 init: function() { 7464 var e = this 7465 , t = l(); 7466 if (e.params.history) { 7467 if (!t.history || !t.history.pushState) 7468 return e.params.history.enabled = !1, 7469 void (e.params.hashNavigation.enabled = !0); 7470 var a = e.history; 7471 a.initialized = !0, 7472 a.paths = se.getPathValues(e.params.url), 7473 (a.paths.key || a.paths.value) && (a.scrollToSlide(0, a.paths.value, e.params.runCallbacksOnInit), 7474 e.params.history.replaceState || t.addEventListener("popstate", e.history.setHistoryPopState)) 7475 } 7476 }, 7477 destroy: function() { 7478 var e = l(); 7479 this.params.history.replaceState || e.removeEventListener("popstate", this.history.setHistoryPopState) 7480 }, 7481 setHistoryPopState: function() { 7482 var e = this; 7483 e.history.paths = se.getPathValues(e.params.url), 7484 e.history.scrollToSlide(e.params.speed, e.history.paths.value, !1) 7485 }, 7486 getPathValues: function(e) { 7487 var t = l() 7488 , a = (e ? new URL(e) : t.location).pathname.slice(1).split("/").filter((function(e) { 7489 return "" !== e 7490 } 7491 )) 7492 , i = a.length; 7493 return { 7494 key: a[i - 2], 7495 value: a[i - 1] 7496 } 7497 }, 7498 setHistory: function(e, t) { 7499 var a = this 7500 , i = l(); 7501 if (a.history.initialized && a.params.history.enabled) { 7502 var s; 7503 s = a.params.url ? new URL(a.params.url) : i.location; 7504 var r = a.slides.eq(t) 7505 , n = se.slugify(r.attr("data-history")); 7506 s.pathname.includes(e) || (n = e + "/" + n); 7507 var o = i.history.state; 7508 o && o.value === n || (a.params.history.replaceState ? i.history.replaceState({ 7509 value: n 7510 }, null, n) : i.history.pushState({ 7511 value: n 7512 }, null, n)) 7513 } 7514 }, 7515 slugify: function(e) { 7516 return e.toString().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "") 7517 }, 7518 scrollToSlide: function(e, t, a) { 7519 var i = this; 7520 if (t) 7521 for (var s = 0, r = i.slides.length; s < r; s += 1) { 7522 var n = i.slides.eq(s); 7523 if (se.slugify(n.attr("data-history")) === t && !n.hasClass(i.params.slideDuplicateClass)) { 7524 var l = n.index(); 7525 i.slideTo(l, e, a) 7526 } 7527 } 7528 else 7529 i.slideTo(0, e, a) 7530 } 7531 } 7532 , re = { 7533 onHashCange: function() { 7534 var e = this 7535 , t = r(); 7536 e.emit("hashChange"); 7537 var a = t.location.hash.replace("#", ""); 7538 if (a !== e.slides.eq(e.activeIndex).attr("data-hash")) { 7539 var i = e.$wrapperEl.children("." + e.params.slideClass + '[data-hash="' + a + '"]').index(); 7540 if (void 0 === i) 7541 return; 7542 e.slideTo(i) 7543 } 7544 }, 7545 setHash: function() { 7546 var e = this 7547 , t = l() 7548 , a = r(); 7549 if (e.hashNavigation.initialized && e.params.hashNavigation.enabled) 7550 if (e.params.hashNavigation.replaceState && t.history && t.history.replaceState) 7551 t.history.replaceState(null, null, "#" + e.slides.eq(e.activeIndex).attr("data-hash") || ""), 7552 e.emit("hashSet"); 7553 else { 7554 var i = e.slides.eq(e.activeIndex) 7555 , s = i.attr("data-hash") || i.attr("data-history"); 7556 a.location.hash = s || "", 7557 e.emit("hashSet") 7558 } 7559 }, 7560 init: function() { 7561 var e = this 7562 , t = r() 7563 , a = l(); 7564 if (!(!e.params.hashNavigation.enabled || e.params.history && e.params.history.enabled)) { 7565 e.hashNavigation.initialized = !0; 7566 var i = t.location.hash.replace("#", ""); 7567 if (i) 7568 for (var s = 0, n = e.slides.length; s < n; s += 1) { 7569 var o = e.slides.eq(s); 7570 if ((o.attr("data-hash") || o.attr("data-history")) === i && !o.hasClass(e.params.slideDuplicateClass)) { 7571 var d = o.index(); 7572 e.slideTo(d, 0, e.params.runCallbacksOnInit, !0) 7573 } 7574 } 7575 e.params.hashNavigation.watchState && m(a).on("hashchange", e.hashNavigation.onHashCange) 7576 } 7577 }, 7578 destroy: function() { 7579 var e = l(); 7580 this.params.hashNavigation.watchState && m(e).off("hashchange", this.hashNavigation.onHashCange) 7581 } 7582 } 7583 , ne = { 7584 run: function() { 7585 var e = this 7586 , t = e.slides.eq(e.activeIndex) 7587 , a = e.params.autoplay.delay; 7588 t.attr("data-swiper-autoplay") && (a = t.attr("data-swiper-autoplay") || e.params.autoplay.delay), 7589 clearTimeout(e.autoplay.timeout), 7590 e.autoplay.timeout = E((function() { 7591 var t; 7592 e.params.autoplay.reverseDirection ? e.params.loop ? (e.loopFix(), 7593 t = e.slidePrev(e.params.speed, !0, !0), 7594 e.emit("autoplay")) : e.isBeginning ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (t = e.slideTo(e.slides.length - 1, e.params.speed, !0, !0), 7595 e.emit("autoplay")) : (t = e.slidePrev(e.params.speed, !0, !0), 7596 e.emit("autoplay")) : e.params.loop ? (e.loopFix(), 7597 t = e.slideNext(e.params.speed, !0, !0), 7598 e.emit("autoplay")) : e.isEnd ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (t = e.slideTo(0, e.params.speed, !0, !0), 7599 e.emit("autoplay")) : (t = e.slideNext(e.params.speed, !0, !0), 7600 e.emit("autoplay")), 7601 (e.params.cssMode && e.autoplay.running || !1 === t) && e.autoplay.run() 7602 } 7603 ), a) 7604 }, 7605 start: function() { 7606 var e = this; 7607 return void 0 === e.autoplay.timeout && (!e.autoplay.running && (e.autoplay.running = !0, 7608 e.emit("autoplayStart"), 7609 e.autoplay.run(), 7610 !0)) 7611 }, 7612 stop: function() { 7613 var e = this; 7614 return !!e.autoplay.running && (void 0 !== e.autoplay.timeout && (e.autoplay.timeout && (clearTimeout(e.autoplay.timeout), 7615 e.autoplay.timeout = void 0), 7616 e.autoplay.running = !1, 7617 e.emit("autoplayStop"), 7618 !0)) 7619 }, 7620 pause: function(e) { 7621 var t = this; 7622 t.autoplay.running && (t.autoplay.paused || (t.autoplay.timeout && clearTimeout(t.autoplay.timeout), 7623 t.autoplay.paused = !0, 7624 0 !== e && t.params.autoplay.waitForTransition ? (t.$wrapperEl[0].addEventListener("transitionend", t.autoplay.onTransitionEnd), 7625 t.$wrapperEl[0].addEventListener("webkitTransitionEnd", t.autoplay.onTransitionEnd)) : (t.autoplay.paused = !1, 7626 t.autoplay.run()))) 7627 }, 7628 onVisibilityChange: function() { 7629 var e = this 7630 , t = r(); 7631 "hidden" === t.visibilityState && e.autoplay.running && e.autoplay.pause(), 7632 "visible" === t.visibilityState && e.autoplay.paused && (e.autoplay.run(), 7633 e.autoplay.paused = !1) 7634 }, 7635 onTransitionEnd: function(e) { 7636 var t = this; 7637 t && !t.destroyed && t.$wrapperEl && e.target === t.$wrapperEl[0] && (t.$wrapperEl[0].removeEventListener("transitionend", t.autoplay.onTransitionEnd), 7638 t.$wrapperEl[0].removeEventListener("webkitTransitionEnd", t.autoplay.onTransitionEnd), 7639 t.autoplay.paused = !1, 7640 t.autoplay.running ? t.autoplay.run() : t.autoplay.stop()) 7641 } 7642 } 7643 , le = { 7644 setTranslate: function() { 7645 for (var e = this, t = e.slides, a = 0; a < t.length; a += 1) { 7646 var i = e.slides.eq(a) 7647 , s = -i[0].swiperSlideOffset; 7648 e.params.virtualTranslate || (s -= e.translate); 7649 var r = 0; 7650 e.isHorizontal() || (r = s, 7651 s = 0); 7652 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); 7653 i.css({ 7654 opacity: n 7655 }).transform("translate3d(" + s + "px, " + r + "px, 0px)") 7656 } 7657 }, 7658 setTransition: function(e) { 7659 var t = this 7660 , a = t.slides 7661 , i = t.$wrapperEl; 7662 if (a.transition(e), 7663 t.params.virtualTranslate && 0 !== e) { 7664 var s = !1; 7665 a.transitionEnd((function() { 7666 if (!s && t && !t.destroyed) { 7667 s = !0, 7668 t.animating = !1; 7669 for (var e = ["webkitTransitionEnd", "transitionend"], a = 0; a < e.length; a += 1) 7670 i.trigger(e[a]) 7671 } 7672 } 7673 )) 7674 } 7675 } 7676 } 7677 , oe = { 7678 setTranslate: function() { 7679 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; 7680 p.shadow && (u ? (0 === (e = i.find(".swiper-cube-shadow")).length && (e = m('<div class="swiper-cube-shadow"></div>'), 7681 i.append(e)), 7682 e.css({ 7683 height: r + "px" 7684 })) : 0 === (e = a.find(".swiper-cube-shadow")).length && (e = m('<div class="swiper-cube-shadow"></div>'), 7685 a.append(e))); 7686 for (var v = 0; v < s.length; v += 1) { 7687 var f = s.eq(v) 7688 , g = v; 7689 c && (g = parseInt(f.attr("data-swiper-slide-index"), 10)); 7690 var y = 90 * g 7691 , w = Math.floor(y / 360); 7692 l && (y = -y, 7693 w = Math.floor(-y / 360)); 7694 var b = Math.max(Math.min(f[0].progress, 1), -1) 7695 , E = 0 7696 , x = 0 7697 , T = 0; 7698 g % 4 == 0 ? (E = 4 * -w * o, 7699 T = 0) : (g - 1) % 4 == 0 ? (E = 0, 7700 T = 4 * -w * o) : (g - 2) % 4 == 0 ? (E = o + 4 * w * o, 7701 T = o) : (g - 3) % 4 == 0 && (E = -o, 7702 T = 3 * o + 4 * o * w), 7703 l && (E = -E), 7704 u || (x = E, 7705 E = 0); 7706 var C = "rotateX(" + (u ? 0 : -y) + "deg) rotateY(" + (u ? y : 0) + "deg) translate3d(" + E + "px, " + x + "px, " + T + "px)"; 7707 if (b <= 1 && b > -1 && (h = 90 * g + 90 * b, 7708 l && (h = 90 * -g - 90 * b)), 7709 f.transform(C), 7710 p.slideShadows) { 7711 var S = u ? f.find(".swiper-slide-shadow-left") : f.find(".swiper-slide-shadow-top") 7712 , M = u ? f.find(".swiper-slide-shadow-right") : f.find(".swiper-slide-shadow-bottom"); 7713 0 === S.length && (S = m('<div class="swiper-slide-shadow-' + (u ? "left" : "top") + '"></div>'), 7714 f.append(S)), 7715 0 === M.length && (M = m('<div class="swiper-slide-shadow-' + (u ? "right" : "bottom") + '"></div>'), 7716 f.append(M)), 7717 S.length && (S[0].style.opacity = Math.max(-b, 0)), 7718 M.length && (M[0].style.opacity = Math.max(b, 0)) 7719 } 7720 } 7721 if (i.css({ 7722 "-webkit-transform-origin": "50% 50% -" + o / 2 + "px", 7723 "-moz-transform-origin": "50% 50% -" + o / 2 + "px", 7724 "-ms-transform-origin": "50% 50% -" + o / 2 + "px", 7725 "transform-origin": "50% 50% -" + o / 2 + "px" 7726 }), 7727 p.shadow) 7728 if (u) 7729 e.transform("translate3d(0px, " + (r / 2 + p.shadowOffset) + "px, " + -r / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + p.shadowScale + ")"); 7730 else { 7731 var z = Math.abs(h) - 90 * Math.floor(Math.abs(h) / 90) 7732 , P = 1.5 - (Math.sin(2 * z * Math.PI / 360) / 2 + Math.cos(2 * z * Math.PI / 360) / 2) 7733 , k = p.shadowScale 7734 , L = p.shadowScale / P 7735 , $ = p.shadowOffset; 7736 e.transform("scale3d(" + k + ", 1, " + L + ") translate3d(0px, " + (n / 2 + $) + "px, " + -n / 2 / L + "px) rotateX(-90deg)") 7737 } 7738 var I = d.isSafari || d.isWebView ? -o / 2 : 0; 7739 i.transform("translate3d(0px,0," + I + "px) rotateX(" + (t.isHorizontal() ? 0 : h) + "deg) rotateY(" + (t.isHorizontal() ? -h : 0) + "deg)") 7740 }, 7741 setTransition: function(e) { 7742 var t = this 7743 , a = t.$el; 7744 t.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), 7745 t.params.cubeEffect.shadow && !t.isHorizontal() && a.find(".swiper-cube-shadow").transition(e) 7746 } 7747 } 7748 , de = { 7749 setTranslate: function() { 7750 for (var e = this, t = e.slides, a = e.rtlTranslate, i = 0; i < t.length; i += 1) { 7751 var s = t.eq(i) 7752 , r = s[0].progress; 7753 e.params.flipEffect.limitRotation && (r = Math.max(Math.min(s[0].progress, 1), -1)); 7754 var n = -180 * r 7755 , l = 0 7756 , o = -s[0].swiperSlideOffset 7757 , d = 0; 7758 if (e.isHorizontal() ? a && (n = -n) : (d = o, 7759 o = 0, 7760 l = -n, 7761 n = 0), 7762 s[0].style.zIndex = -Math.abs(Math.round(r)) + t.length, 7763 e.params.flipEffect.slideShadows) { 7764 var p = e.isHorizontal() ? s.find(".swiper-slide-shadow-left") : s.find(".swiper-slide-shadow-top") 7765 , u = e.isHorizontal() ? s.find(".swiper-slide-shadow-right") : s.find(".swiper-slide-shadow-bottom"); 7766 0 === p.length && (p = m('<div class="swiper-slide-shadow-' + (e.isHorizontal() ? "left" : "top") + '"></div>'), 7767 s.append(p)), 7768 0 === u.length && (u = m('<div class="swiper-slide-shadow-' + (e.isHorizontal() ? "right" : "bottom") + '"></div>'), 7769 s.append(u)), 7770 p.length && (p[0].style.opacity = Math.max(-r, 0)), 7771 u.length && (u[0].style.opacity = Math.max(r, 0)) 7772 } 7773 s.transform("translate3d(" + o + "px, " + d + "px, 0px) rotateX(" + l + "deg) rotateY(" + n + "deg)") 7774 } 7775 }, 7776 setTransition: function(e) { 7777 var t = this 7778 , a = t.slides 7779 , i = t.activeIndex 7780 , s = t.$wrapperEl; 7781 if (a.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), 7782 t.params.virtualTranslate && 0 !== e) { 7783 var r = !1; 7784 a.eq(i).transitionEnd((function() { 7785 if (!r && t && !t.destroyed) { 7786 r = !0, 7787 t.animating = !1; 7788 for (var e = ["webkitTransitionEnd", "transitionend"], a = 0; a < e.length; a += 1) 7789 s.trigger(e[a]) 7790 } 7791 } 7792 )) 7793 } 7794 } 7795 } 7796 , pe = { 7797 setTranslate: function() { 7798 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) { 7799 var h = i.eq(u) 7800 , v = s[u] 7801 , f = (o - h[0].swiperSlideOffset - v / 2) / v * r.modifier 7802 , g = n ? d * f : 0 7803 , y = n ? 0 : d * f 7804 , w = -p * Math.abs(f) 7805 , b = r.stretch; 7806 "string" == typeof b && -1 !== b.indexOf("%") && (b = parseFloat(r.stretch) / 100 * v); 7807 var E = n ? 0 : b * f 7808 , x = n ? b * f : 0 7809 , T = 1 - (1 - r.scale) * Math.abs(f); 7810 Math.abs(x) < .001 && (x = 0), 7811 Math.abs(E) < .001 && (E = 0), 7812 Math.abs(w) < .001 && (w = 0), 7813 Math.abs(g) < .001 && (g = 0), 7814 Math.abs(y) < .001 && (y = 0), 7815 Math.abs(T) < .001 && (T = 0); 7816 var C = "translate3d(" + x + "px," + E + "px," + w + "px) rotateX(" + y + "deg) rotateY(" + g + "deg) scale(" + T + ")"; 7817 if (h.transform(C), 7818 h[0].style.zIndex = 1 - Math.abs(Math.round(f)), 7819 r.slideShadows) { 7820 var S = n ? h.find(".swiper-slide-shadow-left") : h.find(".swiper-slide-shadow-top") 7821 , M = n ? h.find(".swiper-slide-shadow-right") : h.find(".swiper-slide-shadow-bottom"); 7822 0 === S.length && (S = m('<div class="swiper-slide-shadow-' + (n ? "left" : "top") + '"></div>'), 7823 h.append(S)), 7824 0 === M.length && (M = m('<div class="swiper-slide-shadow-' + (n ? "right" : "bottom") + '"></div>'), 7825 h.append(M)), 7826 S.length && (S[0].style.opacity = f > 0 ? f : 0), 7827 M.length && (M[0].style.opacity = -f > 0 ? -f : 0) 7828 } 7829 } 7830 }, 7831 setTransition: function(e) { 7832 this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e) 7833 } 7834 } 7835 , ue = { 7836 init: function() { 7837 var e = this 7838 , t = e.params.thumbs; 7839 if (e.thumbs.initialized) 7840 return !1; 7841 e.thumbs.initialized = !0; 7842 var a = e.constructor; 7843 return t.swiper instanceof a ? (e.thumbs.swiper = t.swiper, 7844 S(e.thumbs.swiper.originalParams, { 7845 watchSlidesProgress: !0, 7846 slideToClickedSlide: !1 7847 }), 7848 S(e.thumbs.swiper.params, { 7849 watchSlidesProgress: !0, 7850 slideToClickedSlide: !1 7851 })) : C(t.swiper) && (e.thumbs.swiper = new a(S({}, t.swiper, { 7852 watchSlidesVisibility: !0, 7853 watchSlidesProgress: !0, 7854 slideToClickedSlide: !1 7855 })), 7856 e.thumbs.swiperCreated = !0), 7857 e.thumbs.swiper.$el.addClass(e.params.thumbs.thumbsContainerClass), 7858 e.thumbs.swiper.on("tap", e.thumbs.onThumbClick), 7859 !0 7860 }, 7861 onThumbClick: function() { 7862 var e = this 7863 , t = e.thumbs.swiper; 7864 if (t) { 7865 var a = t.clickedIndex 7866 , i = t.clickedSlide; 7867 if (!(i && m(i).hasClass(e.params.thumbs.slideThumbActiveClass) || null == a)) { 7868 var s; 7869 if (s = t.params.loop ? parseInt(m(t.clickedSlide).attr("data-swiper-slide-index"), 10) : a, 7870 e.params.loop) { 7871 var r = e.activeIndex; 7872 e.slides.eq(r).hasClass(e.params.slideDuplicateClass) && (e.loopFix(), 7873 e._clientLeft = e.$wrapperEl[0].clientLeft, 7874 r = e.activeIndex); 7875 var n = e.slides.eq(r).prevAll('[data-swiper-slide-index="' + s + '"]').eq(0).index() 7876 , l = e.slides.eq(r).nextAll('[data-swiper-slide-index="' + s + '"]').eq(0).index(); 7877 s = void 0 === n ? l : void 0 === l ? n : l - r < r - n ? l : n 7878 } 7879 e.slideTo(s) 7880 } 7881 } 7882 }, 7883 update: function(e) { 7884 var t = this 7885 , a = t.thumbs.swiper; 7886 if (a) { 7887 var i = "auto" === a.params.slidesPerView ? a.slidesPerViewDynamic() : a.params.slidesPerView 7888 , s = t.params.thumbs.autoScrollOffset 7889 , r = s && !a.params.loop; 7890 if (t.realIndex !== a.realIndex || r) { 7891 var n, l, o = a.activeIndex; 7892 if (a.params.loop) { 7893 a.slides.eq(o).hasClass(a.params.slideDuplicateClass) && (a.loopFix(), 7894 a._clientLeft = a.$wrapperEl[0].clientLeft, 7895 o = a.activeIndex); 7896 var d = a.slides.eq(o).prevAll('[data-swiper-slide-index="' + t.realIndex + '"]').eq(0).index() 7897 , p = a.slides.eq(o).nextAll('[data-swiper-slide-index="' + t.realIndex + '"]').eq(0).index(); 7898 n = void 0 === d ? p : void 0 === p ? d : p - o == o - d ? o : p - o < o - d ? p : d, 7899 l = t.activeIndex > t.previousIndex ? "next" : "prev" 7900 } else 7901 l = (n = t.realIndex) > t.previousIndex ? "next" : "prev"; 7902 r && (n += "next" === l ? s : -1 * s), 7903 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 && (n = n - i + 1), 7904 a.slideTo(n, e ? 0 : void 0)) 7905 } 7906 var u = 1 7907 , c = t.params.thumbs.slideThumbActiveClass; 7908 if (t.params.slidesPerView > 1 && !t.params.centeredSlides && (u = t.params.slidesPerView), 7909 t.params.thumbs.multipleActiveThumbs || (u = 1), 7910 u = Math.floor(u), 7911 a.slides.removeClass(c), 7912 a.params.loop || a.params.virtual && a.params.virtual.enabled) 7913 for (var h = 0; h < u; h += 1) 7914 a.$wrapperEl.children('[data-swiper-slide-index="' + (t.realIndex + h) + '"]').addClass(c); 7915 else 7916 for (var v = 0; v < u; v += 1) 7917 a.slides.eq(t.realIndex + v).addClass(c) 7918 } 7919 } 7920 } 7921 , ce = [q, _, { 7922 name: "mousewheel", 7923 params: { 7924 mousewheel: { 7925 enabled: !1, 7926 releaseOnEdges: !1, 7927 invert: !1, 7928 forceToAxis: !1, 7929 sensitivity: 1, 7930 eventsTarget: "container", 7931 thresholdDelta: null, 7932 thresholdTime: null 7933 } 7934 }, 7935 create: function() { 7936 M(this, { 7937 mousewheel: { 7938 enabled: !1, 7939 lastScrollTime: x(), 7940 lastEventBeforeSnap: void 0, 7941 recentWheelEvents: [], 7942 enable: U.enable, 7943 disable: U.disable, 7944 handle: U.handle, 7945 handleMouseEnter: U.handleMouseEnter, 7946 handleMouseLeave: U.handleMouseLeave, 7947 animateSlider: U.animateSlider, 7948 releaseScroll: U.releaseScroll 7949 } 7950 }) 7951 }, 7952 on: { 7953 init: function(e) { 7954 !e.params.mousewheel.enabled && e.params.cssMode && e.mousewheel.disable(), 7955 e.params.mousewheel.enabled && e.mousewheel.enable() 7956 }, 7957 destroy: function(e) { 7958 e.params.cssMode && e.mousewheel.enable(), 7959 e.mousewheel.enabled && e.mousewheel.disable() 7960 } 7961 } 7962 }, { 7963 name: "navigation", 7964 params: { 7965 navigation: { 7966 nextEl: null, 7967 prevEl: null, 7968 hideOnClick: !1, 7969 disabledClass: "swiper-button-disabled", 7970 hiddenClass: "swiper-button-hidden", 7971 lockClass: "swiper-button-lock" 7972 } 7973 }, 7974 create: function() { 7975 M(this, { 7976 navigation: t({}, K) 7977 }) 7978 }, 7979 on: { 7980 init: function(e) { 7981 e.navigation.init(), 7982 e.navigation.update() 7983 }, 7984 toEdge: function(e) { 7985 e.navigation.update() 7986 }, 7987 fromEdge: function(e) { 7988 e.navigation.update() 7989 }, 7990 destroy: function(e) { 7991 e.navigation.destroy() 7992 }, 7993 click: function(e, t) { 7994 var a, i = e.navigation, s = i.$nextEl, r = i.$prevEl; 7995 !e.params.navigation.hideOnClick || m(t.target).is(r) || m(t.target).is(s) || (s ? a = s.hasClass(e.params.navigation.hiddenClass) : r && (a = r.hasClass(e.params.navigation.hiddenClass)), 7996 !0 === a ? e.emit("navigationShow") : e.emit("navigationHide"), 7997 s && s.toggleClass(e.params.navigation.hiddenClass), 7998 r && r.toggleClass(e.params.navigation.hiddenClass)) 7999 } 8000 } 8001 }, { 8002 name: "pagination", 8003 params: { 8004 pagination: { 8005 el: null, 8006 bulletElement: "span", 8007 clickable: !1, 8008 hideOnClick: !1, 8009 renderBullet: null, 8010 renderProgressbar: null, 8011 renderFraction: null, 8012 renderCustom: null, 8013 progressbarOpposite: !1, 8014 type: "bullets", 8015 dynamicBullets: !1, 8016 dynamicMainBullets: 1, 8017 formatFractionCurrent: function(e) { 8018 return e 8019 }, 8020 formatFractionTotal: function(e) { 8021 return e 8022 }, 8023 bulletClass: "swiper-pagination-bullet", 8024 bulletActiveClass: "swiper-pagination-bullet-active", 8025 modifierClass: "swiper-pagination-", 8026 currentClass: "swiper-pagination-current", 8027 totalClass: "swiper-pagination-total", 8028 hiddenClass: "swiper-pagination-hidden", 8029 progressbarFillClass: "swiper-pagination-progressbar-fill", 8030 progressbarOppositeClass: "swiper-pagination-progressbar-opposite", 8031 clickableClass: "swiper-pagination-clickable", 8032 lockClass: "swiper-pagination-lock" 8033 } 8034 }, 8035 create: function() { 8036 M(this, { 8037 pagination: t({ 8038 dynamicBulletIndex: 0 8039 }, Z) 8040 }) 8041 }, 8042 on: { 8043 init: function(e) { 8044 e.pagination.init(), 8045 e.pagination.render(), 8046 e.pagination.update() 8047 }, 8048 activeIndexChange: function(e) { 8049 (e.params.loop || void 0 === e.snapIndex) && e.pagination.update() 8050 }, 8051 snapIndexChange: function(e) { 8052 e.params.loop || e.pagination.update() 8053 }, 8054 slidesLengthChange: function(e) { 8055 e.params.loop && (e.pagination.render(), 8056 e.pagination.update()) 8057 }, 8058 snapGridLengthChange: function(e) { 8059 e.params.loop || (e.pagination.render(), 8060 e.pagination.update()) 8061 }, 8062 destroy: function(e) { 8063 e.pagination.destroy() 8064 }, 8065 click: function(e, t) { 8066 e.params.pagination.el && e.params.pagination.hideOnClick && e.pagination.$el.length > 0 && !m(t.target).hasClass(e.params.pagination.bulletClass) && (!0 === e.pagination.$el.hasClass(e.params.pagination.hiddenClass) ? e.emit("paginationShow") : e.emit("paginationHide"), 8067 e.pagination.$el.toggleClass(e.params.pagination.hiddenClass)) 8068 } 8069 } 8070 }, { 8071 name: "scrollbar", 8072 params: { 8073 scrollbar: { 8074 el: null, 8075 dragSize: "auto", 8076 hide: !1, 8077 draggable: !1, 8078 snapOnRelease: !0, 8079 lockClass: "swiper-scrollbar-lock", 8080 dragClass: "swiper-scrollbar-drag" 8081 } 8082 }, 8083 create: function() { 8084 M(this, { 8085 scrollbar: t({ 8086 isTouched: !1, 8087 timeout: null, 8088 dragTimeout: null 8089 }, J) 8090 }) 8091 }, 8092 on: { 8093 init: function(e) { 8094 e.scrollbar.init(), 8095 e.scrollbar.updateSize(), 8096 e.scrollbar.setTranslate() 8097 }, 8098 update: function(e) { 8099 e.scrollbar.updateSize() 8100 }, 8101 resize: function(e) { 8102 e.scrollbar.updateSize() 8103 }, 8104 observerUpdate: function(e) { 8105 e.scrollbar.updateSize() 8106 }, 8107 setTranslate: function(e) { 8108 e.scrollbar.setTranslate() 8109 }, 8110 setTransition: function(e, t) { 8111 e.scrollbar.setTransition(t) 8112 }, 8113 destroy: function(e) { 8114 e.scrollbar.destroy() 8115 } 8116 } 8117 }, { 8118 name: "parallax", 8119 params: { 8120 parallax: { 8121 enabled: !1 8122 } 8123 }, 8124 create: function() { 8125 M(this, { 8126 parallax: t({}, Q) 8127 }) 8128 }, 8129 on: { 8130 beforeInit: function(e) { 8131 e.params.parallax.enabled && (e.params.watchSlidesProgress = !0, 8132 e.originalParams.watchSlidesProgress = !0) 8133 }, 8134 init: function(e) { 8135 e.params.parallax.enabled && e.parallax.setTranslate() 8136 }, 8137 setTranslate: function(e) { 8138 e.params.parallax.enabled && e.parallax.setTranslate() 8139 }, 8140 setTransition: function(e, t) { 8141 e.params.parallax.enabled && e.parallax.setTransition(t) 8142 } 8143 } 8144 }, { 8145 name: "zoom", 8146 params: { 8147 zoom: { 8148 enabled: !1, 8149 maxRatio: 3, 8150 minRatio: 1, 8151 toggle: !0, 8152 containerClass: "swiper-zoom-container", 8153 zoomedSlideClass: "swiper-slide-zoomed" 8154 } 8155 }, 8156 create: function() { 8157 var e = this; 8158 M(e, { 8159 zoom: t({ 8160 enabled: !1, 8161 scale: 1, 8162 currentScale: 1, 8163 isScaling: !1, 8164 gesture: { 8165 $slideEl: void 0, 8166 slideWidth: void 0, 8167 slideHeight: void 0, 8168 $imageEl: void 0, 8169 $imageWrapEl: void 0, 8170 maxRatio: 3 8171 }, 8172 image: { 8173 isTouched: void 0, 8174 isMoved: void 0, 8175 currentX: void 0, 8176 currentY: void 0, 8177 minX: void 0, 8178 minY: void 0, 8179 maxX: void 0, 8180 maxY: void 0, 8181 width: void 0, 8182 height: void 0, 8183 startX: void 0, 8184 startY: void 0, 8185 touchesStart: {}, 8186 touchesCurrent: {} 8187 }, 8188 velocity: { 8189 x: void 0, 8190 y: void 0, 8191 prevPositionX: void 0, 8192 prevPositionY: void 0, 8193 prevTime: void 0 8194 } 8195 }, ee) 8196 }); 8197 var a = 1; 8198 Object.defineProperty(e.zoom, "scale", { 8199 get: function() { 8200 return a 8201 }, 8202 set: function(t) { 8203 if (a !== t) { 8204 var i = e.zoom.gesture.$imageEl ? e.zoom.gesture.$imageEl[0] : void 0 8205 , s = e.zoom.gesture.$slideEl ? e.zoom.gesture.$slideEl[0] : void 0; 8206 e.emit("zoomChange", t, i, s) 8207 } 8208 a = t 8209 } 8210 }) 8211 }, 8212 on: { 8213 init: function(e) { 8214 e.params.zoom.enabled && e.zoom.enable() 8215 }, 8216 destroy: function(e) { 8217 e.zoom.disable() 8218 }, 8219 touchStart: function(e, t) { 8220 e.zoom.enabled && e.zoom.onTouchStart(t) 8221 }, 8222 touchEnd: function(e, t) { 8223 e.zoom.enabled && e.zoom.onTouchEnd(t) 8224 }, 8225 doubleTap: function(e, t) { 8226 e.params.zoom.enabled && e.zoom.enabled && e.params.zoom.toggle && e.zoom.toggle(t) 8227 }, 8228 transitionEnd: function(e) { 8229 e.zoom.enabled && e.params.zoom.enabled && e.zoom.onTransitionEnd() 8230 }, 8231 slideChange: function(e) { 8232 e.zoom.enabled && e.params.zoom.enabled && e.params.cssMode && e.zoom.onTransitionEnd() 8233 } 8234 } 8235 }, { 8236 name: "lazy", 8237 params: { 8238 lazy: { 8239 checkInView: !1, 8240 enabled: !1, 8241 loadPrevNext: !1, 8242 loadPrevNextAmount: 1, 8243 loadOnTransitionStart: !1, 8244 scrollingElement: "", 8245 elementClass: "swiper-lazy", 8246 loadingClass: "swiper-lazy-loading", 8247 loadedClass: "swiper-lazy-loaded", 8248 preloaderClass: "swiper-lazy-preloader" 8249 } 8250 }, 8251 create: function() { 8252 M(this, { 8253 lazy: t({ 8254 initialImageLoaded: !1 8255 }, te) 8256 }) 8257 }, 8258 on: { 8259 beforeInit: function(e) { 8260 e.params.lazy.enabled && e.params.preloadImages && (e.params.preloadImages = !1) 8261 }, 8262 init: function(e) { 8263 e.params.lazy.enabled && !e.params.loop && 0 === e.params.initialSlide && (e.params.lazy.checkInView ? e.lazy.checkInViewOnLoad() : e.lazy.load()) 8264 }, 8265 scroll: function(e) { 8266 e.params.freeMode && !e.params.freeModeSticky && e.lazy.load() 8267 }, 8268 resize: function(e) { 8269 e.params.lazy.enabled && e.lazy.load() 8270 }, 8271 scrollbarDragMove: function(e) { 8272 e.params.lazy.enabled && e.lazy.load() 8273 }, 8274 transitionStart: function(e) { 8275 e.params.lazy.enabled && (e.params.lazy.loadOnTransitionStart || !e.params.lazy.loadOnTransitionStart && !e.lazy.initialImageLoaded) && e.lazy.load() 8276 }, 8277 transitionEnd: function(e) { 8278 e.params.lazy.enabled && !e.params.lazy.loadOnTransitionStart && e.lazy.load() 8279 }, 8280 slideChange: function(e) { 8281 e.params.lazy.enabled && e.params.cssMode && e.lazy.load() 8282 } 8283 } 8284 }, { 8285 name: "controller", 8286 params: { 8287 controller: { 8288 control: void 0, 8289 inverse: !1, 8290 by: "slide" 8291 } 8292 }, 8293 create: function() { 8294 M(this, { 8295 controller: t({ 8296 control: this.params.controller.control 8297 }, ae) 8298 }) 8299 }, 8300 on: { 8301 update: function(e) { 8302 e.controller.control && e.controller.spline && (e.controller.spline = void 0, 8303 delete e.controller.spline) 8304 }, 8305 resize: function(e) { 8306 e.controller.control && e.controller.spline && (e.controller.spline = void 0, 8307 delete e.controller.spline) 8308 }, 8309 observerUpdate: function(e) { 8310 e.controller.control && e.controller.spline && (e.controller.spline = void 0, 8311 delete e.controller.spline) 8312 }, 8313 setTranslate: function(e, t, a) { 8314 e.controller.control && e.controller.setTranslate(t, a) 8315 }, 8316 setTransition: function(e, t, a) { 8317 e.controller.control && e.controller.setTransition(t, a) 8318 } 8319 } 8320 }, { 8321 name: "a11y", 8322 params: { 8323 a11y: { 8324 enabled: !0, 8325 notificationClass: "swiper-notification", 8326 prevSlideMessage: "Previous slide", 8327 nextSlideMessage: "Next slide", 8328 firstSlideMessage: "This is the first slide", 8329 lastSlideMessage: "This is the last slide", 8330 paginationBulletMessage: "Go to slide {{index}}", 8331 containerMessage: null, 8332 containerRoleDescriptionMessage: null, 8333 itemRoleDescriptionMessage: null 8334 } 8335 }, 8336 create: function() { 8337 M(this, { 8338 a11y: t({}, ie, { 8339 liveRegion: m('<span class="' + this.params.a11y.notificationClass + '" aria-live="assertive" aria-atomic="true"></span>') 8340 }) 8341 }) 8342 }, 8343 on: { 8344 afterInit: function(e) { 8345 e.params.a11y.enabled && (e.a11y.init(), 8346 e.a11y.updateNavigation()) 8347 }, 8348 toEdge: function(e) { 8349 e.params.a11y.enabled && e.a11y.updateNavigation() 8350 }, 8351 fromEdge: function(e) { 8352 e.params.a11y.enabled && e.a11y.updateNavigation() 8353 }, 8354 paginationUpdate: function(e) { 8355 e.params.a11y.enabled && e.a11y.updatePagination() 8356 }, 8357 destroy: function(e) { 8358 e.params.a11y.enabled && e.a11y.destroy() 8359 } 8360 } 8361 }, { 8362 name: "history", 8363 params: { 8364 history: { 8365 enabled: !1, 8366 replaceState: !1, 8367 key: "slides" 8368 } 8369 }, 8370 create: function() { 8371 M(this, { 8372 history: t({}, se) 8373 }) 8374 }, 8375 on: { 8376 init: function(e) { 8377 e.params.history.enabled && e.history.init() 8378 }, 8379 destroy: function(e) { 8380 e.params.history.enabled && e.history.destroy() 8381 }, 8382 transitionEnd: function(e) { 8383 e.history.initialized && e.history.setHistory(e.params.history.key, e.activeIndex) 8384 }, 8385 slideChange: function(e) { 8386 e.history.initialized && e.params.cssMode && e.history.setHistory(e.params.history.key, e.activeIndex) 8387 } 8388 } 8389 }, { 8390 name: "hash-navigation", 8391 params: { 8392 hashNavigation: { 8393 enabled: !1, 8394 replaceState: !1, 8395 watchState: !1 8396 } 8397 }, 8398 create: function() { 8399 M(this, { 8400 hashNavigation: t({ 8401 initialized: !1 8402 }, re) 8403 }) 8404 }, 8405 on: { 8406 init: function(e) { 8407 e.params.hashNavigation.enabled && e.hashNavigation.init() 8408 }, 8409 destroy: function(e) { 8410 e.params.hashNavigation.enabled && e.hashNavigation.destroy() 8411 }, 8412 transitionEnd: function(e) { 8413 e.hashNavigation.initialized && e.hashNavigation.setHash() 8414 }, 8415 slideChange: function(e) { 8416 e.hashNavigation.initialized && e.params.cssMode && e.hashNavigation.setHash() 8417 } 8418 } 8419 }, { 8420 name: "autoplay", 8421 params: { 8422 autoplay: { 8423 enabled: !1, 8424 delay: 3e3, 8425 waitForTransition: !0, 8426 disableOnInteraction: !0, 8427 stopOnLastSlide: !1, 8428 reverseDirection: !1 8429 } 8430 }, 8431 create: function() { 8432 M(this, { 8433 autoplay: t({}, ne, { 8434 running: !1, 8435 paused: !1 8436 }) 8437 }) 8438 }, 8439 on: { 8440 init: function(e) { 8441 e.params.autoplay.enabled && (e.autoplay.start(), 8442 r().addEventListener("visibilitychange", e.autoplay.onVisibilityChange)) 8443 }, 8444 beforeTransitionStart: function(e, t, a) { 8445 e.autoplay.running && (a || !e.params.autoplay.disableOnInteraction ? e.autoplay.pause(t) : e.autoplay.stop()) 8446 }, 8447 sliderFirstMove: function(e) { 8448 e.autoplay.running && (e.params.autoplay.disableOnInteraction ? e.autoplay.stop() : e.autoplay.pause()) 8449 }, 8450 touchEnd: function(e) { 8451 e.params.cssMode && e.autoplay.paused && !e.params.autoplay.disableOnInteraction && e.autoplay.run() 8452 }, 8453 destroy: function(e) { 8454 e.autoplay.running && e.autoplay.stop(), 8455 r().removeEventListener("visibilitychange", e.autoplay.onVisibilityChange) 8456 } 8457 } 8458 }, { 8459 name: "effect-fade", 8460 params: { 8461 fadeEffect: { 8462 crossFade: !1 8463 } 8464 }, 8465 create: function() { 8466 M(this, { 8467 fadeEffect: t({}, le) 8468 }) 8469 }, 8470 on: { 8471 beforeInit: function(e) { 8472 if ("fade" === e.params.effect) { 8473 e.classNames.push(e.params.containerModifierClass + "fade"); 8474 var t = { 8475 slidesPerView: 1, 8476 slidesPerColumn: 1, 8477 slidesPerGroup: 1, 8478 watchSlidesProgress: !0, 8479 spaceBetween: 0, 8480 virtualTranslate: !0 8481 }; 8482 S(e.params, t), 8483 S(e.originalParams, t) 8484 } 8485 }, 8486 setTranslate: function(e) { 8487 "fade" === e.params.effect && e.fadeEffect.setTranslate() 8488 }, 8489 setTransition: function(e, t) { 8490 "fade" === e.params.effect && e.fadeEffect.setTransition(t) 8491 } 8492 } 8493 }, { 8494 name: "effect-cube", 8495 params: { 8496 cubeEffect: { 8497 slideShadows: !0, 8498 shadow: !0, 8499 shadowOffset: 20, 8500 shadowScale: .94 8501 } 8502 }, 8503 create: function() { 8504 M(this, { 8505 cubeEffect: t({}, oe) 8506 }) 8507 }, 8508 on: { 8509 beforeInit: function(e) { 8510 if ("cube" === e.params.effect) { 8511 e.classNames.push(e.params.containerModifierClass + "cube"), 8512 e.classNames.push(e.params.containerModifierClass + "3d"); 8513 var t = { 8514 slidesPerView: 1, 8515 slidesPerColumn: 1, 8516 slidesPerGroup: 1, 8517 watchSlidesProgress: !0, 8518 resistanceRatio: 0, 8519 spaceBetween: 0, 8520 centeredSlides: !1, 8521 virtualTranslate: !0 8522 }; 8523 S(e.params, t), 8524 S(e.originalParams, t) 8525 } 8526 }, 8527 setTranslate: function(e) { 8528 "cube" === e.params.effect && e.cubeEffect.setTranslate() 8529 }, 8530 setTransition: function(e, t) { 8531 "cube" === e.params.effect && e.cubeEffect.setTransition(t) 8532 } 8533 } 8534 }, { 8535 name: "effect-flip", 8536 params: { 8537 flipEffect: { 8538 slideShadows: !0, 8539 limitRotation: !0 8540 } 8541 }, 8542 create: function() { 8543 M(this, { 8544 flipEffect: t({}, de) 8545 }) 8546 }, 8547 on: { 8548 beforeInit: function(e) { 8549 if ("flip" === e.params.effect) { 8550 e.classNames.push(e.params.containerModifierClass + "flip"), 8551 e.classNames.push(e.params.containerModifierClass + "3d"); 8552 var t = { 8553 slidesPerView: 1, 8554 slidesPerColumn: 1, 8555 slidesPerGroup: 1, 8556 watchSlidesProgress: !0, 8557 spaceBetween: 0, 8558 virtualTranslate: !0 8559 }; 8560 S(e.params, t), 8561 S(e.originalParams, t) 8562 } 8563 }, 8564 setTranslate: function(e) { 8565 "flip" === e.params.effect && e.flipEffect.setTranslate() 8566 }, 8567 setTransition: function(e, t) { 8568 "flip" === e.params.effect && e.flipEffect.setTransition(t) 8569 } 8570 } 8571 }, { 8572 name: "effect-coverflow", 8573 params: { 8574 coverflowEffect: { 8575 rotate: 50, 8576 stretch: 0, 8577 depth: 100, 8578 scale: 1, 8579 modifier: 1, 8580 slideShadows: !0 8581 } 8582 }, 8583 create: function() { 8584 M(this, { 8585 coverflowEffect: t({}, pe) 8586 }) 8587 }, 8588 on: { 8589 beforeInit: function(e) { 8590 "coverflow" === e.params.effect && (e.classNames.push(e.params.containerModifierClass + "coverflow"), 8591 e.classNames.push(e.params.containerModifierClass + "3d"), 8592 e.params.watchSlidesProgress = !0, 8593 e.originalParams.watchSlidesProgress = !0) 8594 }, 8595 setTranslate: function(e) { 8596 "coverflow" === e.params.effect && e.coverflowEffect.setTranslate() 8597 }, 8598 setTransition: function(e, t) { 8599 "coverflow" === e.params.effect && e.coverflowEffect.setTransition(t) 8600 } 8601 } 8602 }, { 8603 name: "thumbs", 8604 params: { 8605 thumbs: { 8606 swiper: null, 8607 multipleActiveThumbs: !0, 8608 autoScrollOffset: 0, 8609 slideThumbActiveClass: "swiper-slide-thumb-active", 8610 thumbsContainerClass: "swiper-container-thumbs" 8611 } 8612 }, 8613 create: function() { 8614 M(this, { 8615 thumbs: t({ 8616 swiper: null, 8617 initialized: !1 8618 }, ue) 8619 }) 8620 }, 8621 on: { 8622 beforeInit: function(e) { 8623 var t = e.params.thumbs; 8624 t && t.swiper && (e.thumbs.init(), 8625 e.thumbs.update(!0)) 8626 }, 8627 slideChange: function(e) { 8628 e.thumbs.swiper && e.thumbs.update() 8629 }, 8630 update: function(e) { 8631 e.thumbs.swiper && e.thumbs.update() 8632 }, 8633 resize: function(e) { 8634 e.thumbs.swiper && e.thumbs.update() 8635 }, 8636 observerUpdate: function(e) { 8637 e.thumbs.swiper && e.thumbs.update() 8638 }, 8639 setTransition: function(e, t) { 8640 var a = e.thumbs.swiper; 8641 a && a.setTransition(t) 8642 }, 8643 beforeDestroy: function(e) { 8644 var t = e.thumbs.swiper; 8645 t && e.thumbs.swiperCreated && t && t.destroy() 8646 } 8647 } 8648 }]; 8649 return R.use(ce), 8650 R 8651} 8652)); 8653 8654/* 8655 * anime.js v3.2.1 8656 * (c) 2020 Julian Garnier 8657 * Released under the MIT license 8658 * animejs.com 8659 */ 8660!function(n, e) { 8661 "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : n.anime = e() 8662}(this, function() { 8663 "use strict"; 8664 var n = { 8665 update: null, 8666 begin: null, 8667 loopBegin: null, 8668 changeBegin: null, 8669 change: null, 8670 changeComplete: null, 8671 loopComplete: null, 8672 complete: null, 8673 loop: 1,
vendor: 15,142 bytes, lines 8674-9133
8674 direction: "normal", 8675 autoplay: !0, 8676 timelineOffset: 0 8677 } 8678 , e = { 8679 duration: 1e3, 8680 delay: 0, 8681 endDelay: 0, 8682 easing: "easeOutElastic(1, .5)", 8683 round: 0 8684 } 8685 , t = ["translateX", "translateY", "translateZ", "rotate", "rotateX", "rotateY", "rotateZ", "scale", "scaleX", "scaleY", "scaleZ", "skew", "skewX", "skewY", "perspective", "matrix", "matrix3d"] 8686 , r = { 8687 CSS: {}, 8688 springs: {} 8689 }; 8690 function a(n, e, t) { 8691 return Math.min(Math.max(n, e), t) 8692 } 8693 function o(n, e) { 8694 return n.indexOf(e) > -1 8695 } 8696 function u(n, e) { 8697 return n.apply(null, e) 8698 } 8699 var i = { 8700 arr: function(n) { 8701 return Array.isArray(n) 8702 }, 8703 obj: function(n) { 8704 return o(Object.prototype.toString.call(n), "Object") 8705 }, 8706 pth: function(n) { 8707 return i.obj(n) && n.hasOwnProperty("totalLength") 8708 }, 8709 svg: function(n) { 8710 return n instanceof SVGElement 8711 }, 8712 inp: function(n) { 8713 return n instanceof HTMLInputElement 8714 }, 8715 dom: function(n) { 8716 return n.nodeType || i.svg(n) 8717 }, 8718 str: function(n) { 8719 return "string" == typeof n 8720 }, 8721 fnc: function(n) { 8722 return "function" == typeof n 8723 }, 8724 und: function(n) { 8725 return void 0 === n 8726 }, 8727 nil: function(n) { 8728 return i.und(n) || null === n 8729 }, 8730 hex: function(n) { 8731 return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(n) 8732 }, 8733 rgb: function(n) { 8734 return /^rgb/.test(n) 8735 }, 8736 hsl: function(n) { 8737 return /^hsl/.test(n) 8738 }, 8739 col: function(n) { 8740 return i.hex(n) || i.rgb(n) || i.hsl(n) 8741 }, 8742 key: function(t) { 8743 return !n.hasOwnProperty(t) && !e.hasOwnProperty(t) && "targets" !== t && "keyframes" !== t 8744 } 8745 }; 8746 function c(n) { 8747 var e = /\(([^)]+)\)/.exec(n); 8748 return e ? e[1].split(",").map(function(n) { 8749 return parseFloat(n) 8750 }) : [] 8751 } 8752 function s(n, e) { 8753 var t = c(n) 8754 , o = a(i.und(t[0]) ? 1 : t[0], .1, 100) 8755 , u = a(i.und(t[1]) ? 100 : t[1], .1, 100) 8756 , s = a(i.und(t[2]) ? 10 : t[2], .1, 100) 8757 , f = a(i.und(t[3]) ? 0 : t[3], .1, 100) 8758 , l = Math.sqrt(u / o) 8759 , d = s / (2 * Math.sqrt(u * o)) 8760 , p = d < 1 ? l * Math.sqrt(1 - d * d) : 0 8761 , v = 1 8762 , h = d < 1 ? (d * l - f) / p : -f + l; 8763 function g(n) { 8764 var t = e ? e * n / 1e3 : n; 8765 return t = d < 1 ? Math.exp(-t * d * l) * (v * Math.cos(p * t) + h * Math.sin(p * t)) : (v + h * t) * Math.exp(-t * l), 8766 0 === n || 1 === n ? n : 1 - t 8767 } 8768 return e ? g : function() { 8769 var e = r.springs[n]; 8770 if (e) 8771 return e; 8772 for (var t = 0, a = 0; ; ) 8773 if (1 === g(t += 1 / 6)) { 8774 if (++a >= 16) 8775 break 8776 } else 8777 a = 0; 8778 var o = t * (1 / 6) * 1e3; 8779 return r.springs[n] = o, 8780 o 8781 } 8782 } 8783 function f(n) { 8784 return void 0 === n && (n = 10), 8785 function(e) { 8786 return Math.ceil(a(e, 1e-6, 1) * n) * (1 / n) 8787 } 8788 } 8789 var l, d, p = function() { 8790 var n = 11 8791 , e = 1 / (n - 1); 8792 function t(n, e) { 8793 return 1 - 3 * e + 3 * n 8794 } 8795 function r(n, e) { 8796 return 3 * e - 6 * n 8797 } 8798 function a(n) { 8799 return 3 * n 8800 } 8801 function o(n, e, o) { 8802 return ((t(e, o) * n + r(e, o)) * n + a(e)) * n 8803 } 8804 function u(n, e, o) { 8805 return 3 * t(e, o) * n * n + 2 * r(e, o) * n + a(e) 8806 } 8807 return function(t, r, a, i) { 8808 if (0 <= t && t <= 1 && 0 <= a && a <= 1) { 8809 var c = new Float32Array(n); 8810 if (t !== r || a !== i) 8811 for (var s = 0; s < n; ++s) 8812 c[s] = o(s * e, t, a); 8813 return function(n) { 8814 return t === r && a === i ? n : 0 === n || 1 === n ? n : o(f(n), r, i) 8815 } 8816 } 8817 function f(r) { 8818 for (var i = 0, s = 1, f = n - 1; s !== f && c[s] <= r; ++s) 8819 i += e; 8820 var l = i + (r - c[--s]) / (c[s + 1] - c[s]) * e 8821 , d = u(l, t, a); 8822 return d >= .001 ? function(n, e, t, r) { 8823 for (var a = 0; a < 4; ++a) { 8824 var i = u(e, t, r); 8825 if (0 === i) 8826 return e; 8827 e -= (o(e, t, r) - n) / i 8828 } 8829 return e 8830 }(r, l, t, a) : 0 === d ? l : function(n, e, t, r, a) { 8831 for (var u, i, c = 0; (u = o(i = e + (t - e) / 2, r, a) - n) > 0 ? t = i : e = i, 8832 Math.abs(u) > 1e-7 && ++c < 10; ) 8833 ; 8834 return i 8835 }(r, i, i + e, t, a) 8836 } 8837 } 8838 }(), v = (l = { 8839 linear: function() { 8840 return function(n) { 8841 return n 8842 } 8843 } 8844 }, 8845 d = { 8846 Sine: function() { 8847 return function(n) { 8848 return 1 - Math.cos(n * Math.PI / 2) 8849 } 8850 }, 8851 Circ: function() { 8852 return function(n) { 8853 return 1 - Math.sqrt(1 - n * n) 8854 } 8855 }, 8856 Back: function() { 8857 return function(n) { 8858 return n * n * (3 * n - 2) 8859 } 8860 }, 8861 Bounce: function() { 8862 return function(n) { 8863 for (var e, t = 4; n < ((e = Math.pow(2, --t)) - 1) / 11; ) 8864 ; 8865 return 1 / Math.pow(4, 3 - t) - 7.5625 * Math.pow((3 * e - 2) / 22 - n, 2) 8866 } 8867 }, 8868 Elastic: function(n, e) { 8869 void 0 === n && (n = 1), 8870 void 0 === e && (e = .5); 8871 var t = a(n, 1, 10) 8872 , r = a(e, .1, 2); 8873 return function(n) { 8874 return 0 === n || 1 === n ? n : -t * Math.pow(2, 10 * (n - 1)) * Math.sin((n - 1 - r / (2 * Math.PI) * Math.asin(1 / t)) * (2 * Math.PI) / r) 8875 } 8876 } 8877 }, 8878 ["Quad", "Cubic", "Quart", "Quint", "Expo"].forEach(function(n, e) { 8879 d[n] = function() { 8880 return function(n) { 8881 return Math.pow(n, e + 2) 8882 } 8883 } 8884 }), 8885 Object.keys(d).forEach(function(n) { 8886 var e = d[n]; 8887 l["easeIn" + n] = e, 8888 l["easeOut" + n] = function(n, t) { 8889 return function(r) { 8890 return 1 - e(n, t)(1 - r) 8891 } 8892 } 8893 , 8894 l["easeInOut" + n] = function(n, t) { 8895 return function(r) { 8896 return r < .5 ? e(n, t)(2 * r) / 2 : 1 - e(n, t)(-2 * r + 2) / 2 8897 } 8898 } 8899 , 8900 l["easeOutIn" + n] = function(n, t) { 8901 return function(r) { 8902 return r < .5 ? (1 - e(n, t)(1 - 2 * r)) / 2 : (e(n, t)(2 * r - 1) + 1) / 2 8903 } 8904 } 8905 }), 8906 l); 8907 function h(n, e) { 8908 if (i.fnc(n)) 8909 return n; 8910 var t = n.split("(")[0] 8911 , r = v[t] 8912 , a = c(n); 8913 switch (t) { 8914 case "spring": 8915 return s(n, e); 8916 case "cubicBezier": 8917 return u(p, a); 8918 case "steps": 8919 return u(f, a); 8920 default: 8921 return u(r, a) 8922 } 8923 } 8924 function g(n) { 8925 try { 8926 return document.querySelectorAll(n) 8927 } catch (n) { 8928 return 8929 } 8930 } 8931 function m(n, e) { 8932 for (var t = n.length, r = arguments.length >= 2 ? arguments[1] : void 0, a = [], o = 0; o < t; o++) 8933 if (o in n) { 8934 var u = n[o]; 8935 e.call(r, u, o, n) && a.push(u) 8936 } 8937 return a 8938 } 8939 function y(n) { 8940 return n.reduce(function(n, e) { 8941 return n.concat(i.arr(e) ? y(e) : e) 8942 }, []) 8943 } 8944 function b(n) { 8945 return i.arr(n) ? n : (i.str(n) && (n = g(n) || n), 8946 n instanceof NodeList || n instanceof HTMLCollection ? [].slice.call(n) : [n]) 8947 } 8948 function M(n, e) { 8949 return n.some(function(n) { 8950 return n === e 8951 }) 8952 } 8953 function x(n) { 8954 var e = {}; 8955 for (var t in n) 8956 e[t] = n[t]; 8957 return e 8958 } 8959 function w(n, e) { 8960 var t = x(n); 8961 for (var r in n) 8962 t[r] = e.hasOwnProperty(r) ? e[r] : n[r]; 8963 return t 8964 } 8965 function k(n, e) { 8966 var t = x(n); 8967 for (var r in e) 8968 t[r] = i.und(n[r]) ? e[r] : n[r]; 8969 return t 8970 } 8971 function O(n) { 8972 return i.rgb(n) ? (t = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(e = n)) ? "rgba(" + t[1] + ",1)" : e : i.hex(n) ? (r = n.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function(n, e, t, r) { 8973 return e + e + t + t + r + r 8974 }), 8975 a = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(r), 8976 "rgba(" + parseInt(a[1], 16) + "," + parseInt(a[2], 16) + "," + parseInt(a[3], 16) + ",1)") : i.hsl(n) ? function(n) { 8977 var e, t, r, a = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(n) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(n), o = parseInt(a[1], 10) / 360, u = parseInt(a[2], 10) / 100, i = parseInt(a[3], 10) / 100, c = a[4] || 1; 8978 function s(n, e, t) { 8979 return t < 0 && (t += 1), 8980 t > 1 && (t -= 1), 8981 t < 1 / 6 ? n + 6 * (e - n) * t : t < .5 ? e : t < 2 / 3 ? n + (e - n) * (2 / 3 - t) * 6 : n 8982 } 8983 if (0 == u) 8984 e = t = r = i; 8985 else { 8986 var f = i < .5 ? i * (1 + u) : i + u - i * u 8987 , l = 2 * i - f; 8988 e = s(l, f, o + 1 / 3), 8989 t = s(l, f, o), 8990 r = s(l, f, o - 1 / 3) 8991 } 8992 return "rgba(" + 255 * e + "," + 255 * t + "," + 255 * r + "," + c + ")" 8993 }(n) : void 0; 8994 var e, t, r, a 8995 } 8996 function C(n) { 8997 var e = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(n); 8998 if (e) 8999 return e[1] 9000 } 9001 function P(n, e) { 9002 return i.fnc(n) ? n(e.target, e.id, e.total) : n 9003 } 9004 function I(n, e) { 9005 return n.getAttribute(e) 9006 } 9007 function D(n, e, t) { 9008 if (M([t, "deg", "rad", "turn"], C(e))) 9009 return e; 9010 var a = r.CSS[e + t]; 9011 if (!i.und(a)) 9012 return a; 9013 var o = document.createElement(n.tagName) 9014 , u = n.parentNode && n.parentNode !== document ? n.parentNode : document.body; 9015 u.appendChild(o), 9016 o.style.position = "absolute", 9017 o.style.width = 100 + t; 9018 var c = 100 / o.offsetWidth; 9019 u.removeChild(o); 9020 var s = c * parseFloat(e); 9021 return r.CSS[e + t] = s, 9022 s 9023 } 9024 function B(n, e, t) { 9025 if (e in n.style) { 9026 var r = e.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase() 9027 , a = n.style[e] || getComputedStyle(n).getPropertyValue(r) || "0"; 9028 return t ? D(n, a, t) : a 9029 } 9030 } 9031 function T(n, e) { 9032 return i.dom(n) && !i.inp(n) && (!i.nil(I(n, e)) || i.svg(n) && n[e]) ? "attribute" : i.dom(n) && M(t, e) ? "transform" : i.dom(n) && "transform" !== e && B(n, e) ? "css" : null != n[e] ? "object" : void 0 9033 } 9034 function E(n) { 9035 if (i.dom(n)) { 9036 for (var e, t = n.style.transform || "", r = /(\w+)\(([^)]*)\)/g, a = new Map; e = r.exec(t); ) 9037 a.set(e[1], e[2]); 9038 return a 9039 } 9040 } 9041 function F(n, e, t, r) { 9042 var a, u = o(e, "scale") ? 1 : 0 + (o(a = e, "translate") || "perspective" === a ? "px" : o(a, "rotate") || o(a, "skew") ? "deg" : void 0), i = E(n).get(e) || u; 9043 return t && (t.transforms.list.set(e, i), 9044 t.transforms.last = e), 9045 r ? D(n, i, r) : i 9046 } 9047 function A(n, e, t, r) { 9048 switch (T(n, e)) { 9049 case "transform": 9050 return F(n, e, r, t); 9051 case "css": 9052 return B(n, e, t); 9053 case "attribute": 9054 return I(n, e); 9055 default: 9056 return n[e] || 0 9057 } 9058 } 9059 function N(n, e) { 9060 var t = /^(\*=|\+=|-=)/.exec(n); 9061 if (!t) 9062 return n; 9063 var r = C(n) || 0 9064 , a = parseFloat(e) 9065 , o = parseFloat(n.replace(t[0], "")); 9066 switch (t[0][0]) { 9067 case "+": 9068 return a + o + r; 9069 case "-": 9070 return a - o + r; 9071 case "*": 9072 return a * o + r 9073 } 9074 } 9075 function S(n, e) { 9076 if (i.col(n)) 9077 return O(n); 9078 if (/\s/g.test(n)) 9079 return n; 9080 var t = C(n) 9081 , r = t ? n.substr(0, n.length - t.length) : n; 9082 return e ? r + e : r 9083 } 9084 function L(n, e) { 9085 return Math.sqrt(Math.pow(e.x - n.x, 2) + Math.pow(e.y - n.y, 2)) 9086 } 9087 function j(n) { 9088 for (var e, t = n.points, r = 0, a = 0; a < t.numberOfItems; a++) { 9089 var o = t.getItem(a); 9090 a > 0 && (r += L(e, o)), 9091 e = o 9092 } 9093 return r 9094 } 9095 function q(n) { 9096 if (n.getTotalLength) 9097 return n.getTotalLength(); 9098 switch (n.tagName.toLowerCase()) { 9099 case "circle": 9100 return o = n, 9101 2 * Math.PI * I(o, "r"); 9102 case "rect": 9103 return 2 * I(a = n, "width") + 2 * I(a, "height"); 9104 case "line": 9105 return L({ 9106 x: I(r = n, "x1"), 9107 y: I(r, "y1") 9108 }, { 9109 x: I(r, "x2"), 9110 y: I(r, "y2") 9111 }); 9112 case "polyline": 9113 return j(n); 9114 case "polygon": 9115 return t = (e = n).points, 9116 j(e) + L(t.getItem(t.numberOfItems - 1), t.getItem(0)) 9117 } 9118 var e, t, r, a, o 9119 } 9120 function H(n, e) { 9121 var t = e || {} 9122 , r = t.el || function(n) { 9123 for (var e = n.parentNode; i.svg(e) && i.svg(e.parentNode); ) 9124 e = e.parentNode; 9125 return e 9126 }(n) 9127 , a = r.getBoundingClientRect() 9128 , o = I(r, "viewBox") 9129 , u = a.width 9130 , c = a.height 9131 , s = t.viewBox || (o ? o.split(" ") : [0, 0, u, c]); 9132 return { 9133 el: r,
vendor: 16,068 bytes, lines 9134-9635
9134 viewBox: s, 9135 x: s[0] / 1, 9136 y: s[1] / 1, 9137 w: u, 9138 h: c, 9139 vW: s[2], 9140 vH: s[3] 9141 } 9142 } 9143 function V(n, e, t) { 9144 function r(t) { 9145 void 0 === t && (t = 0); 9146 var r = e + t >= 1 ? e + t : 0; 9147 return n.el.getPointAtLength(r) 9148 } 9149 var a = H(n.el, n.svg) 9150 , o = r() 9151 , u = r(-1) 9152 , i = r(1) 9153 , c = t ? 1 : a.w / a.vW 9154 , s = t ? 1 : a.h / a.vH; 9155 switch (n.property) { 9156 case "x": 9157 return (o.x - a.x) * c; 9158 case "y": 9159 return (o.y - a.y) * s; 9160 case "angle": 9161 return 180 * Math.atan2(i.y - u.y, i.x - u.x) / Math.PI 9162 } 9163 } 9164 function $(n, e) { 9165 var t = /[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g 9166 , r = S(i.pth(n) ? n.totalLength : n, e) + ""; 9167 return { 9168 original: r, 9169 numbers: r.match(t) ? r.match(t).map(Number) : [0], 9170 strings: i.str(n) || e ? r.split(t) : [] 9171 } 9172 } 9173 function W(n) { 9174 return m(n ? y(i.arr(n) ? n.map(b) : b(n)) : [], function(n, e, t) { 9175 return t.indexOf(n) === e 9176 }) 9177 } 9178 function X(n) { 9179 var e = W(n); 9180 return e.map(function(n, t) { 9181 return { 9182 target: n, 9183 id: t, 9184 total: e.length, 9185 transforms: { 9186 list: E(n) 9187 } 9188 } 9189 }) 9190 } 9191 function Y(n, e) { 9192 var t = x(e); 9193 if (/^spring/.test(t.easing) && (t.duration = s(t.easing)), 9194 i.arr(n)) { 9195 var r = n.length; 9196 2 === r && !i.obj(n[0]) ? n = { 9197 value: n 9198 } : i.fnc(e.duration) || (t.duration = e.duration / r) 9199 } 9200 var a = i.arr(n) ? n : [n]; 9201 return a.map(function(n, t) { 9202 var r = i.obj(n) && !i.pth(n) ? n : { 9203 value: n 9204 }; 9205 return i.und(r.delay) && (r.delay = t ? 0 : e.delay), 9206 i.und(r.endDelay) && (r.endDelay = t === a.length - 1 ? e.endDelay : 0), 9207 r 9208 }).map(function(n) { 9209 return k(n, t) 9210 }) 9211 } 9212 function Z(n, e) { 9213 var t = [] 9214 , r = e.keyframes; 9215 for (var a in r && (e = k(function(n) { 9216 for (var e = m(y(n.map(function(n) { 9217 return Object.keys(n) 9218 })), function(n) { 9219 return i.key(n) 9220 }).reduce(function(n, e) { 9221 return n.indexOf(e) < 0 && n.push(e), 9222 n 9223 }, []), t = {}, r = function(r) { 9224 var a = e[r]; 9225 t[a] = n.map(function(n) { 9226 var e = {}; 9227 for (var t in n) 9228 i.key(t) ? t == a && (e.value = n[t]) : e[t] = n[t]; 9229 return e 9230 }) 9231 }, a = 0; a < e.length; a++) 9232 r(a); 9233 return t 9234 }(r), e)), 9235 e) 9236 i.key(a) && t.push({ 9237 name: a, 9238 tweens: Y(e[a], n) 9239 }); 9240 return t 9241 } 9242 function G(n, e) { 9243 var t; 9244 return n.tweens.map(function(r) { 9245 var a = function(n, e) { 9246 var t = {}; 9247 for (var r in n) { 9248 var a = P(n[r], e); 9249 i.arr(a) && 1 === (a = a.map(function(n) { 9250 return P(n, e) 9251 })).length && (a = a[0]), 9252 t[r] = a 9253 } 9254 return t.duration = parseFloat(t.duration), 9255 t.delay = parseFloat(t.delay), 9256 t 9257 }(r, e) 9258 , o = a.value 9259 , u = i.arr(o) ? o[1] : o 9260 , c = C(u) 9261 , s = A(e.target, n.name, c, e) 9262 , f = t ? t.to.original : s 9263 , l = i.arr(o) ? o[0] : f 9264 , d = C(l) || C(s) 9265 , p = c || d; 9266 return i.und(u) && (u = f), 9267 a.from = $(l, p), 9268 a.to = $(N(u, l), p), 9269 a.start = t ? t.end : 0, 9270 a.end = a.start + a.delay + a.duration + a.endDelay, 9271 a.easing = h(a.easing, a.duration), 9272 a.isPath = i.pth(o), 9273 a.isPathTargetInsideSVG = a.isPath && i.svg(e.target), 9274 a.isColor = i.col(a.from.original), 9275 a.isColor && (a.round = 1), 9276 t = a, 9277 a 9278 }) 9279 } 9280 var Q = { 9281 css: function(n, e, t) { 9282 return n.style[e] = t 9283 }, 9284 attribute: function(n, e, t) { 9285 return n.setAttribute(e, t) 9286 }, 9287 object: function(n, e, t) { 9288 return n[e] = t 9289 }, 9290 transform: function(n, e, t, r, a) { 9291 if (r.list.set(e, t), 9292 e === r.last || a) { 9293 var o = ""; 9294 r.list.forEach(function(n, e) { 9295 o += e + "(" + n + ") " 9296 }), 9297 n.style.transform = o 9298 } 9299 } 9300 }; 9301 function z(n, e) { 9302 X(n).forEach(function(n) { 9303 for (var t in e) { 9304 var r = P(e[t], n) 9305 , a = n.target 9306 , o = C(r) 9307 , u = A(a, t, o, n) 9308 , i = N(S(r, o || C(u)), u) 9309 , c = T(a, t); 9310 Q[c](a, t, i, n.transforms, !0) 9311 } 9312 }) 9313 } 9314 function _(n, e) { 9315 return m(y(n.map(function(n) { 9316 return e.map(function(e) { 9317 return function(n, e) { 9318 var t = T(n.target, e.name); 9319 if (t) { 9320 var r = G(e, n) 9321 , a = r[r.length - 1]; 9322 return { 9323 type: t, 9324 property: e.name, 9325 animatable: n, 9326 tweens: r, 9327 duration: a.end, 9328 delay: r[0].delay, 9329 endDelay: a.endDelay 9330 } 9331 } 9332 }(n, e) 9333 }) 9334 })), function(n) { 9335 return !i.und(n) 9336 }) 9337 } 9338 function R(n, e) { 9339 var t = n.length 9340 , r = function(n) { 9341 return n.timelineOffset ? n.timelineOffset : 0 9342 } 9343 , a = {}; 9344 return a.duration = t ? Math.max.apply(Math, n.map(function(n) { 9345 return r(n) + n.duration 9346 })) : e.duration, 9347 a.delay = t ? Math.min.apply(Math, n.map(function(n) { 9348 return r(n) + n.delay 9349 })) : e.delay, 9350 a.endDelay = t ? a.duration - Math.max.apply(Math, n.map(function(n) { 9351 return r(n) + n.duration - n.endDelay 9352 })) : e.endDelay, 9353 a 9354 } 9355 var J = 0; 9356 var K = [] 9357 , U = function() { 9358 var n; 9359 function e(t) { 9360 for (var r = K.length, a = 0; a < r; ) { 9361 var o = K[a]; 9362 o.paused ? (K.splice(a, 1), 9363 r--) : (o.tick(t), 9364 a++) 9365 } 9366 n = a > 0 ? requestAnimationFrame(e) : void 0 9367 } 9368 return "undefined" != typeof document && document.addEventListener("visibilitychange", function() { 9369 en.suspendWhenDocumentHidden && (nn() ? n = cancelAnimationFrame(n) : (K.forEach(function(n) { 9370 return n._onDocumentVisibility() 9371 }), 9372 U())) 9373 }), 9374 function() { 9375 n || nn() && en.suspendWhenDocumentHidden || !(K.length > 0) || (n = requestAnimationFrame(e)) 9376 } 9377 }(); 9378 function nn() { 9379 return !!document && document.hidden 9380 } 9381 function en(t) { 9382 void 0 === t && (t = {}); 9383 var r, o = 0, u = 0, i = 0, c = 0, s = null; 9384 function f(n) { 9385 var e = window.Promise && new Promise(function(n) { 9386 return s = n 9387 } 9388 ); 9389 return n.finished = e, 9390 e 9391 } 9392 var l, d, p, v, h, g, y, b, M = (d = w(n, l = t), 9393 p = w(e, l), 9394 v = Z(p, l), 9395 h = X(l.targets), 9396 g = _(h, v), 9397 y = R(g, p), 9398 b = J, 9399 J++, 9400 k(d, { 9401 id: b, 9402 children: [], 9403 animatables: h, 9404 animations: g, 9405 duration: y.duration, 9406 delay: y.delay, 9407 endDelay: y.endDelay 9408 })); 9409 f(M); 9410 function x() { 9411 var n = M.direction; 9412 "alternate" !== n && (M.direction = "normal" !== n ? "normal" : "reverse"), 9413 M.reversed = !M.reversed, 9414 r.forEach(function(n) { 9415 return n.reversed = M.reversed 9416 }) 9417 } 9418 function O(n) { 9419 return M.reversed ? M.duration - n : n 9420 } 9421 function C() { 9422 o = 0, 9423 u = O(M.currentTime) * (1 / en.speed) 9424 } 9425 function P(n, e) { 9426 e && e.seek(n - e.timelineOffset) 9427 } 9428 function I(n) { 9429 for (var e = 0, t = M.animations, r = t.length; e < r; ) { 9430 var o = t[e] 9431 , u = o.animatable 9432 , i = o.tweens 9433 , c = i.length - 1 9434 , s = i[c]; 9435 c && (s = m(i, function(e) { 9436 return n < e.end 9437 })[0] || s); 9438 for (var f = a(n - s.start - s.delay, 0, s.duration) / s.duration, l = isNaN(f) ? 1 : s.easing(f), d = s.to.strings, p = s.round, v = [], h = s.to.numbers.length, g = void 0, y = 0; y < h; y++) { 9439 var b = void 0 9440 , x = s.to.numbers[y] 9441 , w = s.from.numbers[y] || 0; 9442 b = s.isPath ? V(s.value, l * x, s.isPathTargetInsideSVG) : w + l * (x - w), 9443 p && (s.isColor && y > 2 || (b = Math.round(b * p) / p)), 9444 v.push(b) 9445 } 9446 var k = d.length; 9447 if (k) { 9448 g = d[0]; 9449 for (var O = 0; O < k; O++) { 9450 d[O]; 9451 var C = d[O + 1] 9452 , P = v[O]; 9453 isNaN(P) || (g += C ? P + C : P + " ") 9454 } 9455 } else 9456 g = v[0]; 9457 Q[o.type](u.target, o.property, g, u.transforms), 9458 o.currentValue = g, 9459 e++ 9460 } 9461 } 9462 function D(n) { 9463 M[n] && !M.passThrough && M[n](M) 9464 } 9465 function B(n) { 9466 var e = M.duration 9467 , t = M.delay 9468 , l = e - M.endDelay 9469 , d = O(n); 9470 M.progress = a(d / e * 100, 0, 100), 9471 M.reversePlayback = d < M.currentTime, 9472 r && function(n) { 9473 if (M.reversePlayback) 9474 for (var e = c; e--; ) 9475 P(n, r[e]); 9476 else 9477 for (var t = 0; t < c; t++) 9478 P(n, r[t]) 9479 }(d), 9480 !M.began && M.currentTime > 0 && (M.began = !0, 9481 D("begin")), 9482 !M.loopBegan && M.currentTime > 0 && (M.loopBegan = !0, 9483 D("loopBegin")), 9484 d <= t && 0 !== M.currentTime && I(0), 9485 (d >= l && M.currentTime !== e || !e) && I(e), 9486 d > t && d < l ? (M.changeBegan || (M.changeBegan = !0, 9487 M.changeCompleted = !1, 9488 D("changeBegin")), 9489 D("change"), 9490 I(d)) : M.changeBegan && (M.changeCompleted = !0, 9491 M.changeBegan = !1, 9492 D("changeComplete")), 9493 M.currentTime = a(d, 0, e), 9494 M.began && D("update"), 9495 n >= e && (u = 0, 9496 M.remaining && !0 !== M.remaining && M.remaining--, 9497 M.remaining ? (o = i, 9498 D("loopComplete"), 9499 M.loopBegan = !1, 9500 "alternate" === M.direction && x()) : (M.paused = !0, 9501 M.completed || (M.completed = !0, 9502 D("loopComplete"), 9503 D("complete"), 9504 !M.passThrough && "Promise"in window && (s(), 9505 f(M))))) 9506 } 9507 return M.reset = function() { 9508 var n = M.direction; 9509 M.passThrough = !1, 9510 M.currentTime = 0, 9511 M.progress = 0, 9512 M.paused = !0, 9513 M.began = !1, 9514 M.loopBegan = !1, 9515 M.changeBegan = !1, 9516 M.completed = !1, 9517 M.changeCompleted = !1, 9518 M.reversePlayback = !1, 9519 M.reversed = "reverse" === n, 9520 M.remaining = M.loop, 9521 r = M.children; 9522 for (var e = c = r.length; e--; ) 9523 M.children[e].reset(); 9524 (M.reversed && !0 !== M.loop || "alternate" === n && 1 === M.loop) && M.remaining++, 9525 I(M.reversed ? M.duration : 0) 9526 } 9527 , 9528 M._onDocumentVisibility = C, 9529 M.set = function(n, e) { 9530 return z(n, e), 9531 M 9532 } 9533 , 9534 M.tick = function(n) { 9535 i = n, 9536 o || (o = i), 9537 B((i + (u - o)) * en.speed) 9538 } 9539 , 9540 M.seek = function(n) { 9541 B(O(n)) 9542 } 9543 , 9544 M.pause = function() { 9545 M.paused = !0, 9546 C() 9547 } 9548 , 9549 M.play = function() { 9550 M.paused && (M.completed && M.reset(), 9551 M.paused = !1, 9552 K.push(M), 9553 C(), 9554 U()) 9555 } 9556 , 9557 M.reverse = function() { 9558 x(), 9559 M.completed = !M.reversed, 9560 C() 9561 } 9562 , 9563 M.restart = function() { 9564 M.reset(), 9565 M.play() 9566 } 9567 , 9568 M.remove = function(n) { 9569 rn(W(n), M) 9570 } 9571 , 9572 M.reset(), 9573 M.autoplay && M.play(), 9574 M 9575 } 9576 function tn(n, e) { 9577 for (var t = e.length; t--; ) 9578 M(n, e[t].animatable.target) && e.splice(t, 1) 9579 } 9580 function rn(n, e) { 9581 var t = e.animations 9582 , r = e.children; 9583 tn(n, t); 9584 for (var a = r.length; a--; ) { 9585 var o = r[a] 9586 , u = o.animations; 9587 tn(n, u), 9588 u.length || o.children.length || r.splice(a, 1) 9589 } 9590 t.length || r.length || e.pause() 9591 } 9592 return en.version = "3.2.1", 9593 en.speed = 1, 9594 en.suspendWhenDocumentHidden = !0, 9595 en.running = K, 9596 en.remove = function(n) { 9597 for (var e = W(n), t = K.length; t--; ) 9598 rn(e, K[t]) 9599 } 9600 , 9601 en.get = A, 9602 en.set = z, 9603 en.convertPx = D, 9604 en.path = function(n, e) { 9605 var t = i.str(n) ? g(n)[0] : n 9606 , r = e || 100; 9607 return function(n) { 9608 return { 9609 property: n, 9610 el: t, 9611 svg: H(t), 9612 totalLength: q(t) * (r / 100) 9613 } 9614 } 9615 } 9616 , 9617 en.setDashoffset = function(n) { 9618 var e = q(n); 9619 return n.setAttribute("stroke-dasharray", e), 9620 e 9621 } 9622 , 9623 en.stagger = function(n, e) { 9624 void 0 === e && (e = {}); 9625 var t = e.direction || "normal" 9626 , r = e.easing ? h(e.easing) : null 9627 , a = e.grid 9628 , o = e.axis 9629 , u = e.from || 0 9630 , c = "first" === u 9631 , s = "center" === u 9632 , f = "last" === u 9633 , l = i.arr(n) 9634 , d = l ? parseFloat(n[0]) : parseFloat(n) 9635 , p = l ? parseFloat(n[1]) : 0
9636 , v = C(l ? n[1] : n) || 0 9637 , g = e.start || 0 + (l ? d : 0) 9638 , m = [] 9639 , y = 0; 9640 return function(n, e, i) { 9641 if (c && (u = 0), 9642 s && (u = (i - 1) / 2), 9643 f && (u = i - 1), 9644 !m.length) { 9645 for (var h = 0; h < i; h++) { 9646 if (a) { 9647 var b = s ? (a[0] - 1) / 2 : u % a[0] 9648 , M = s ? (a[1] - 1) / 2 : Math.floor(u / a[0]) 9649 , x = b - h % a[0] 9650 , w = M - Math.floor(h / a[0]) 9651 , k = Math.sqrt(x * x + w * w); 9652 "x" === o && (k = -x), 9653 "y" === o && (k = -w), 9654 m.push(k) 9655 } else 9656 m.push(Math.abs(u - h)); 9657 y = Math.max.apply(Math, m) 9658 } 9659 r && (m = m.map(function(n) { 9660 return r(n / y) * y 9661 })), 9662 "reverse" === t && (m = m.map(function(n) { 9663 return o ? n < 0 ? -1 * n : -n : Math.abs(y - n) 9664 })) 9665 } 9666 return g + (l ? (p - d) / y : d) * (Math.round(100 * m[e]) / 100) + v 9667 } 9668 } 9669 , 9670 en.timeline = function(n) { 9671 void 0 === n && (n = {}); 9672 var t = en(n); 9673 return t.duration = 0, 9674 t.add = function(r, a) { 9675 var o = K.indexOf(t) 9676 , u = t.children; 9677 function c(n) { 9678 n.passThrough = !0 9679 } 9680 o > -1 && K.splice(o, 1); 9681 for (var s = 0; s < u.length; s++) 9682 c(u[s]); 9683 var f = k(r, w(e, n)); 9684 f.targets = f.targets || n.targets; 9685 var l = t.duration; 9686 f.autoplay = !1, 9687 f.direction = t.direction, 9688 f.timelineOffset = i.und(a) ? l : N(a, l), 9689 c(t), 9690 t.seek(f.timelineOffset); 9691 var d = en(f); 9692 c(d), 9693 u.push(d); 9694 var p = R(u, n); 9695 return t.delay = p.delay, 9696 t.endDelay = p.endDelay, 9697 t.duration = p.duration, 9698 t.seek(0), 9699 t.reset(), 9700 t.autoplay && t.play(), 9701 t 9702 } 9703 , 9704 t 9705 } 9706 , 9707 en.easing = h, 9708 en.penner = v, 9709 en.random = function(n, e) { 9710 return Math.floor(Math.random() * (e - n + 1)) + n 9711 } 9712 , 9713 en 9714}); 9715 9716/*! 9717 * MoveTo - A lightweight scroll animation javascript library without any dependency. 9718 * Version 1.8.2 (28-06-2019 14:30) 9719 * Licensed under MIT 9720 * Copyright 2019 Hasan AydoÄdu <[email protected]> 9721 */ 9722"use strict"; 9723var MoveTo = function() { 9724 var e = { 9725 tolerance: 0, 9726 duration: 800, 9727 easing: "easeOutQuart", 9728 container: window, 9729 callback: function() {} 9730 }; 9731 function o(t, n, e, o) { 9732 return t /= o, 9733 -e * (--t * t * t * t - 1) + n 9734 } 9735 function v(n, e) { 9736 var o = {}; 9737 return Object.keys(n).forEach(function(t) { 9738 o[t] = n[t] 9739 }), 9740 Object.keys(e).forEach(function(t) { 9741 o[t] = e[t] 9742 }), 9743 o 9744 } 9745 function d(t) { 9746 return t instanceof HTMLElement ? t.scrollTop : t.pageYOffset 9747 } 9748 function t() { 9749 var t = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {} 9750 , n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}; 9751 this.options = v(e, t), 9752 this.easeFunctions = v({ 9753 easeOutQuart: o 9754 }, n) 9755 } 9756 return t.prototype.registerTrigger = function(t, n) { 9757 var e = this; 9758 if (t) { 9759 var o = t.getAttribute("href") || t.getAttribute("data-target") 9760 , r = o && "#" !== o ? document.getElementById(o.substring(1)) : document.body 9761 , i = v(this.options, function(e, t) { 9762 var o = {}; 9763 return Object.keys(t).forEach(function(t) { 9764 var n = e.getAttribute("data-mt-".concat(function(t) { 9765 return t.replace(/([A-Z])/g, function(t) { 9766 return "-" + t.toLowerCase() 9767 }) 9768 }(t))); 9769 n && (o[t] = isNaN(n) ? n : parseInt(n, 10)) 9770 }), 9771 o 9772 }(t, this.options)); 9773 "function" == typeof n && (i.callback = n); 9774 var a = function(t) { 9775 t.preventDefault(), 9776 e.move(r, i) 9777 }; 9778 return t.addEventListener("click", a, !1), 9779 function() { 9780 return t.removeEventListener("click", a, !1) 9781 } 9782 } 9783 } 9784 , 9785 t.prototype.move = function(i) { 9786 var a = this 9787 , c = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}; 9788 if (0 === i || i) { 9789 c = v(this.options, c); 9790 var u, s = "number" == typeof i ? i : i.getBoundingClientRect().top, f = d(c.container), l = null; 9791 s -= c.tolerance; 9792 window.requestAnimationFrame(function t(n) { 9793 var e = d(a.options.container); 9794 l || (l = n - 1); 9795 var o = n - l; 9796 if (u && (0 < s && e < u || s < 0 && u < e)) 9797 return c.callback(i); 9798 u = e; 9799 var r = a.easeFunctions[c.easing](o, f, s, c.duration); 9800 c.container.scroll(0, r), 9801 o < c.duration ? window.requestAnimationFrame(t) : (c.container.scroll(0, s + f), 9802 c.callback(i)) 9803 }) 9804 } 9805 } 9806 , 9807 t.prototype.addEaseFunction = function(t, n) { 9808 this.easeFunctions[t] = n 9809 } 9810 , 9811 t 9812}(); 9813"undefined" != typeof module ? module.exports = MoveTo : window.MoveTo = MoveTo;
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.