vendor: 17,146 bytes, lines 1-412
1/*! 2 * Bootstrap v5.3.3 (https://getbootstrap.com/) 3 * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) 4 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 5 */ 6! function(t, e) { 7 "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (t = "undefined" != typeof globalThis ? globalThis : t || self).bootstrap = e() 8}(this, (function() { 9 "use strict"; 10 const t = new Map, 11 e = { 12 set(e, i, n) { 13 t.has(e) || t.set(e, new Map); 14 const s = t.get(e); 15 s.has(i) || 0 === s.size ? s.set(i, n) : console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`) 16 }, 17 get: (e, i) => t.has(e) && t.get(e).get(i) || null, 18 remove(e, i) { 19 if (!t.has(e)) return; 20 const n = t.get(e); 21 n.delete(i), 0 === n.size && t.delete(e) 22 } 23 }, 24 i = "transitionend", 25 n = t => (t && window.CSS && window.CSS.escape && (t = t.replace(/#([^\s"#']+)/g, ((t, e) => `#${CSS.escape(e)}`))), t), 26 s = t => { 27 t.dispatchEvent(new Event(i)) 28 }, 29 o = t => !(!t || "object" != typeof t) && (void 0 !== t.jquery && (t = t[0]), void 0 !== t.nodeType), 30 r = t => o(t) ? t.jquery ? t[0] : t : "string" == typeof t && t.length > 0 ? document.querySelector(n(t)) : null, 31 a = t => { 32 if (!o(t) || 0 === t.getClientRects().length) return !1; 33 const e = "visible" === getComputedStyle(t).getPropertyValue("visibility"), 34 i = t.closest("details:not([open])"); 35 if (!i) return e; 36 if (i !== t) { 37 const e = t.closest("summary"); 38 if (e && e.parentNode !== i) return !1; 39 if (null === e) return !1 40 } 41 return e 42 }, 43 l = t => !t || t.nodeType !== Node.ELEMENT_NODE || !!t.classList.contains("disabled") || (void 0 !== t.disabled ? t.disabled : t.hasAttribute("disabled") && "false" !== t.getAttribute("disabled")), 44 c = t => { 45 if (!document.documentElement.attachShadow) return null; 46 if ("function" == typeof t.getRootNode) { 47 const e = t.getRootNode(); 48 return e instanceof ShadowRoot ? e : null 49 } 50 return t instanceof ShadowRoot ? t : t.parentNode ? c(t.parentNode) : null 51 }, 52 h = () => {}, 53 d = t => { 54 t.offsetHeight 55 }, 56 u = () => window.jQuery && !document.body.hasAttribute("data-bs-no-jquery") ? window.jQuery : null, 57 f = [], 58 p = () => "rtl" === document.documentElement.dir, 59 m = t => { 60 var e; 61 e = () => { 62 const e = u(); 63 if (e) { 64 const i = t.NAME, 65 n = e.fn[i]; 66 e.fn[i] = t.jQueryInterface, e.fn[i].Constructor = t, e.fn[i].noConflict = () => (e.fn[i] = n, t.jQueryInterface) 67 } 68 }, "loading" === document.readyState ? (f.length || document.addEventListener("DOMContentLoaded", (() => { 69 for (const t of f) t() 70 })), f.push(e)) : e() 71 }, 72 g = (t, e = [], i = t) => "function" == typeof t ? t(...e) : i, 73 _ = (t, e, n = !0) => { 74 if (!n) return void g(t); 75 const o = (t => { 76 if (!t) return 0; 77 let { 78 transitionDuration: e, 79 transitionDelay: i 80 } = window.getComputedStyle(t); 81 const n = Number.parseFloat(e), 82 s = Number.parseFloat(i); 83 return n || s ? (e = e.split(",")[0], i = i.split(",")[0], 1e3 * (Number.parseFloat(e) + Number.parseFloat(i))) : 0 84 })(e) + 5; 85 let r = !1; 86 const a = ({ 87 target: n 88 }) => { 89 n === e && (r = !0, e.removeEventListener(i, a), g(t)) 90 }; 91 e.addEventListener(i, a), setTimeout((() => { 92 r || s(e) 93 }), o) 94 }, 95 b = (t, e, i, n) => { 96 const s = t.length; 97 let o = t.indexOf(e); 98 return -1 === o ? !i && n ? t[s - 1] : t[0] : (o += i ? 1 : -1, n && (o = (o + s) % s), t[Math.max(0, Math.min(o, s - 1))]) 99 }, 100 v = /[^.]*(?=\..*)\.|.*/, 101 y = /\..*/, 102 w = /::\d+$/, 103 A = {}; 104 let E = 1; 105 const T = { 106 mouseenter: "mouseover", 107 mouseleave: "mouseout" 108 }, 109 C = new Set(["click", "dblclick", "mouseup", "mousedown", "contextmenu", "mousewheel", "DOMMouseScroll", "mouseover", "mouseout", "mousemove", "selectstart", "selectend", "keydown", "keypress", "keyup", "orientationchange", "touchstart", "touchmove", "touchend", "touchcancel", "pointerdown", "pointermove", "pointerup", "pointerleave", "pointercancel", "gesturestart", "gesturechange", "gestureend", "focus", "blur", "change", "reset", "select", "submit", "focusin", "focusout", "load", "unload", "beforeunload", "resize", "move", "DOMContentLoaded", "readystatechange", "error", "abort", "scroll"]); 110 111 function O(t, e) { 112 return e && `${e}::${E++}` || t.uidEvent || E++ 113 } 114 115 function x(t) { 116 const e = O(t); 117 return t.uidEvent = e, A[e] = A[e] || {}, A[e] 118 } 119 120 function k(t, e, i = null) { 121 return Object.values(t).find((t => t.callable === e && t.delegationSelector === i)) 122 } 123 124 function L(t, e, i) { 125 const n = "string" == typeof e, 126 s = n ? i : e || i; 127 let o = I(t); 128 return C.has(o) || (o = t), [n, s, o] 129 } 130 131 function S(t, e, i, n, s) { 132 if ("string" != typeof e || !t) return; 133 let [o, r, a] = L(e, i, n); 134 if (e in T) { 135 const t = t => function(e) { 136 if (!e.relatedTarget || e.relatedTarget !== e.delegateTarget && !e.delegateTarget.contains(e.relatedTarget)) return t.call(this, e) 137 }; 138 r = t(r) 139 } 140 const l = x(t), 141 c = l[a] || (l[a] = {}), 142 h = k(c, r, o ? i : null); 143 if (h) return void(h.oneOff = h.oneOff && s); 144 const d = O(r, e.replace(v, "")), 145 u = o ? function(t, e, i) { 146 return function n(s) { 147 const o = t.querySelectorAll(e); 148 for (let { 149 target: r 150 } = s; r && r !== this; r = r.parentNode) 151 for (const a of o) 152 if (a === r) return P(s, { 153 delegateTarget: r 154 }), n.oneOff && N.off(t, s.type, e, i), i.apply(r, [s]) 155 } 156 }(t, i, r) : function(t, e) { 157 return function i(n) { 158 return P(n, { 159 delegateTarget: t 160 }), i.oneOff && N.off(t, n.type, e), e.apply(t, [n]) 161 } 162 }(t, r); 163 u.delegationSelector = o ? i : null, u.callable = r, u.oneOff = s, u.uidEvent = d, c[d] = u, t.addEventListener(a, u, o) 164 } 165 166 function D(t, e, i, n, s) { 167 const o = k(e[i], n, s); 168 o && (t.removeEventListener(i, o, Boolean(s)), delete e[i][o.uidEvent]) 169 } 170 171 function $(t, e, i, n) { 172 const s = e[i] || {}; 173 for (const [o, r] of Object.entries(s)) o.includes(n) && D(t, e, i, r.callable, r.delegationSelector) 174 } 175 176 function I(t) { 177 return t = t.replace(y, ""), T[t] || t 178 } 179 const N = { 180 on(t, e, i, n) { 181 S(t, e, i, n, !1) 182 }, 183 one(t, e, i, n) { 184 S(t, e, i, n, !0) 185 }, 186 off(t, e, i, n) { 187 if ("string" != typeof e || !t) return; 188 const [s, o, r] = L(e, i, n), a = r !== e, l = x(t), c = l[r] || {}, h = e.startsWith("."); 189 if (void 0 === o) { 190 if (h) 191 for (const i of Object.keys(l)) $(t, l, i, e.slice(1)); 192 for (const [i, n] of Object.entries(c)) { 193 const s = i.replace(w, ""); 194 a && !e.includes(s) || D(t, l, r, n.callable, n.delegationSelector) 195 } 196 } else { 197 if (!Object.keys(c).length) return; 198 D(t, l, r, o, s ? i : null) 199 } 200 }, 201 trigger(t, e, i) { 202 if ("string" != typeof e || !t) return null; 203 const n = u(); 204 let s = null, 205 o = !0, 206 r = !0, 207 a = !1; 208 e !== I(e) && n && (s = n.Event(e, i), n(t).trigger(s), o = !s.isPropagationStopped(), r = !s.isImmediatePropagationStopped(), a = s.isDefaultPrevented()); 209 const l = P(new Event(e, { 210 bubbles: o, 211 cancelable: !0 212 }), i); 213 return a && l.preventDefault(), r && t.dispatchEvent(l), l.defaultPrevented && s && s.preventDefault(), l 214 } 215 }; 216 217 function P(t, e = {}) { 218 for (const [i, n] of Object.entries(e)) try { 219 t[i] = n 220 } catch (e) { 221 Object.defineProperty(t, i, { 222 configurable: !0, 223 get: () => n 224 }) 225 } 226 return t 227 } 228 229 function j(t) { 230 if ("true" === t) return !0; 231 if ("false" === t) return !1; 232 if (t === Number(t).toString()) return Number(t); 233 if ("" === t || "null" === t) return null; 234 if ("string" != typeof t) return t; 235 try { 236 return JSON.parse(decodeURIComponent(t)) 237 } catch (e) { 238 return t 239 } 240 } 241 242 function M(t) { 243 return t.replace(/[A-Z]/g, (t => `-${t.toLowerCase()}`)) 244 } 245 const F = { 246 setDataAttribute(t, e, i) { 247 t.setAttribute(`data-bs-${M(e)}`, i) 248 }, 249 removeDataAttribute(t, e) { 250 t.removeAttribute(`data-bs-${M(e)}`) 251 }, 252 getDataAttributes(t) { 253 if (!t) return {}; 254 const e = {}, 255 i = Object.keys(t.dataset).filter((t => t.startsWith("bs") && !t.startsWith("bsConfig"))); 256 for (const n of i) { 257 let i = n.replace(/^bs/, ""); 258 i = i.charAt(0).toLowerCase() + i.slice(1, i.length), e[i] = j(t.dataset[n]) 259 } 260 return e 261 }, 262 getDataAttribute: (t, e) => j(t.getAttribute(`data-bs-${M(e)}`)) 263 }; 264 class H { 265 static get Default() { 266 return {} 267 } 268 static get DefaultType() { 269 return {} 270 } 271 static get NAME() { 272 throw new Error('You have to implement the static method "NAME", for each component!') 273 } 274 _getConfig(t) { 275 return t = this._mergeConfigObj(t), t = this._configAfterMerge(t), this._typeCheckConfig(t), t 276 } 277 _configAfterMerge(t) { 278 return t 279 } 280 _mergeConfigObj(t, e) { 281 const i = o(e) ? F.getDataAttribute(e, "config") : {}; 282 return { 283 ...this.constructor.Default, 284 ..."object" == typeof i ? i : {}, 285 ...o(e) ? F.getDataAttributes(e) : {}, 286 ..."object" == typeof t ? t : {} 287 } 288 } 289 _typeCheckConfig(t, e = this.constructor.DefaultType) { 290 for (const [n, s] of Object.entries(e)) { 291 const e = t[n], 292 r = o(e) ? "element" : null == (i = e) ? `${i}` : Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase(); 293 if (!new RegExp(s).test(r)) throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`) 294 } 295 var i 296 } 297 } 298 class W extends H { 299 constructor(t, i) { 300 super(), (t = r(t)) && (this._element = t, this._config = this._getConfig(i), e.set(this._element, this.constructor.DATA_KEY, this)) 301 } 302 dispose() { 303 e.remove(this._element, this.constructor.DATA_KEY), N.off(this._element, this.constructor.EVENT_KEY); 304 for (const t of Object.getOwnPropertyNames(this)) this[t] = null 305 } 306 _queueCallback(t, e, i = !0) { 307 _(t, e, i) 308 } 309 _getConfig(t) { 310 return t = this._mergeConfigObj(t, this._element), t = this._configAfterMerge(t), this._typeCheckConfig(t), t 311 } 312 static getInstance(t) { 313 return e.get(r(t), this.DATA_KEY) 314 } 315 static getOrCreateInstance(t, e = {}) { 316 return this.getInstance(t) || new this(t, "object" == typeof e ? e : null) 317 } 318 static get VERSION() { 319 return "5.3.3" 320 } 321 static get DATA_KEY() { 322 return `bs.${this.NAME}` 323 } 324 static get EVENT_KEY() { 325 return `.${this.DATA_KEY}` 326 } 327 static eventName(t) { 328 return `${t}${this.EVENT_KEY}` 329 } 330 } 331 const B = t => { 332 let e = t.getAttribute("data-bs-target"); 333 if (!e || "#" === e) { 334 let i = t.getAttribute("href"); 335 if (!i || !i.includes("#") && !i.startsWith(".")) return null; 336 i.includes("#") && !i.startsWith("#") && (i = `#${i.split("#")[1]}`), e = i && "#" !== i ? i.trim() : null 337 } 338 return e ? e.split(",").map((t => n(t))).join(",") : null 339 }, 340 z = { 341 find: (t, e = document.documentElement) => [].concat(...Element.prototype.querySelectorAll.call(e, t)), 342 findOne: (t, e = document.documentElement) => Element.prototype.querySelector.call(e, t), 343 children: (t, e) => [].concat(...t.children).filter((t => t.matches(e))), 344 parents(t, e) { 345 const i = []; 346 let n = t.parentNode.closest(e); 347 for (; n;) i.push(n), n = n.parentNode.closest(e); 348 return i 349 }, 350 prev(t, e) { 351 let i = t.previousElementSibling; 352 for (; i;) { 353 if (i.matches(e)) return [i]; 354 i = i.previousElementSibling 355 } 356 return [] 357 }, 358 next(t, e) { 359 let i = t.nextElementSibling; 360 for (; i;) { 361 if (i.matches(e)) return [i]; 362 i = i.nextElementSibling 363 } 364 return [] 365 }, 366 focusableChildren(t) { 367 const e = ["a", "button", "input", "textarea", "select", "details", "[tabindex]", '[contenteditable="true"]'].map((t => `${t}:not([tabindex^="-"])`)).join(","); 368 return this.find(e, t).filter((t => !l(t) && a(t))) 369 }, 370 getSelectorFromElement(t) { 371 const e = B(t); 372 return e && z.findOne(e) ? e : null 373 }, 374 getElementFromSelector(t) { 375 const e = B(t); 376 return e ? z.findOne(e) : null 377 }, 378 getMultipleElementsFromSelector(t) { 379 const e = B(t); 380 return e ? z.find(e) : [] 381 } 382 }, 383 R = (t, e = "hide") => { 384 const i = `click.dismiss${t.EVENT_KEY}`, 385 n = t.NAME; 386 N.on(document, i, `[data-bs-dismiss="${n}"]`, (function(i) { 387 if (["A", "AREA"].includes(this.tagName) && i.preventDefault(), l(this)) return; 388 const s = z.getElementFromSelector(this) || this.closest(`.${n}`); 389 t.getOrCreateInstance(s)[e]() 390 })) 391 }, 392 q = ".bs.alert", 393 V = `close${q}`, 394 K = `closed${q}`; 395 class Q extends W { 396 static get NAME() { 397 return "alert" 398 } 399 close() { 400 if (N.trigger(this._element, V).defaultPrevented) return; 401 this._element.classList.remove("show"); 402 const t = this._element.classList.contains("fade"); 403 this._queueCallback((() => this._destroyElement()), this._element, t) 404 } 405 _destroyElement() { 406 this._element.remove(), N.trigger(this._element, K), this.dispose() 407 } 408 static jQueryInterface(t) { 409 return this.each((function() { 410 const e = Q.getOrCreateInstance(this); 411 if ("string" == typeof t) { 412 if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
412amed "${t}"`); 413 e[t](this) 414 } 415 })) 416 } 417 } 418 R(Q, "close"), m(Q); 419 const X = '[data-bs-toggle="button"]'; 420 class Y extends W { 421 static get NAME() { 422 return "button" 423 } 424 toggle() { 425 this._element.setAttribute("aria-pressed", this._element.classList.toggle("active")) 426 } 427 static jQueryInterface(t) { 428 return this.each((function() { 429 const e = Y.getOrCreateInstance(this); 430 "toggle" === t && e[t]() 431 })) 432 } 433 } 434 N.on(document, "click.bs.button.data-api", X, (t => { 435 t.preventDefault(); 436 const e = t.target.closest(X); 437 Y.getOrCreateInstance(e).toggle() 438 })), m(Y); 439 const U = ".bs.swipe", 440 G = `touchstart${U}`, 441 J = `touchmove${U}`, 442 Z = `touchend${U}`, 443 tt = `pointerdown${U}`, 444 et = `pointerup${U}`, 445 it = { 446 endCallback: null, 447 leftCallback: null, 448 rightCallback: null 449 }, 450 nt = { 451 endCallback: "(function|null)", 452 leftCallback: "(function|null)", 453 rightCallback: "(function|null)" 454 }; 455 class st extends H { 456 constructor(t, e) { 457 super(), this._element = t, t && st.isSupported() && (this._config = this._getConfig(e), this._deltaX = 0, this._supportPointerEvents = Boolean(window.PointerEvent), this._initEvents()) 458 } 459 static get Default() { 460 return it 461 } 462 static get DefaultType() { 463 return nt 464 } 465 static get NAME() { 466 return "swipe" 467 } 468 dispose() { 469 N.off(this._element, U) 470 } 471 _start(t) { 472 this._supportPointerEvents ? this._eventIsPointerPenTouch(t) && (this._deltaX = t.clientX) : this._deltaX = t.touches[0].clientX 473 } 474 _end(t) { 475 this._eventIsPointerPenTouch(t) && (this._deltaX = t.clientX - this._deltaX), this._handleSwipe(), g(this._config.endCallback) 476 } 477 _move(t) { 478 this._deltaX = t.touches && t.touches.length > 1 ? 0 : t.touches[0].clientX - this._deltaX 479 } 480 _handleSwipe() { 481 const t = Math.abs(this._deltaX); 482 if (t <= 40) return; 483 const e = t / this._deltaX; 484 this._deltaX = 0, e && g(e > 0 ? this._config.rightCallback : this._config.leftCallback) 485 } 486 _initEvents() { 487 this._supportPointerEvents ? (N.on(this._element, tt, (t => this._start(t))), N.on(this._element, et, (t => this._end(t))), this._element.classList.add("pointer-event")) : (N.on(this._element, G, (t => this._start(t))), N.on(this._element, J, (t => this._move(t))), N.on(this._element, Z, (t => this._end(t)))) 488 } 489 _eventIsPointerPenTouch(t) { 490 return this._supportPointerEvents && ("pen" === t.pointerType || "touch" === t.pointerType) 491 } 492 static isSupported() { 493 return "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0 494 } 495 } 496 const ot = ".bs.carousel", 497 rt = ".data-api", 498 at = "next", 499 lt = "prev", 500 ct = "left", 501 ht = "right", 502 dt = `slide${ot}`, 503 ut = `slid${ot}`, 504 ft = `keydown${ot}`, 505 pt = `mouseenter${ot}`, 506 mt = `mouseleave${ot}`, 507 gt = `dragstart${ot}`, 508 _t = `load${ot}${rt}`, 509 bt = `click${ot}${rt}`, 510 vt = "carousel", 511 yt = "active", 512 wt = ".active", 513 At = ".carousel-item", 514 Et = wt + At, 515 Tt = { 516 ArrowLeft: ht, 517 ArrowRight: ct 518 }, 519 Ct = { 520 interval: 5e3, 521 keyboard: !0, 522 pause: "hover", 523 ride: !1, 524 touch: !0, 525 wrap: !0 526 }, 527 Ot = { 528 interval: "(number|boolean)", 529 keyboard: "boolean", 530 pause: "(string|boolean)", 531 ride: "(boolean|string)", 532 touch: "boolean", 533 wrap: "boolean" 534 }; 535 class xt extends W { 536 constructor(t, e) { 537 super(t, e), this._interval = null, this._activeElement = null, this._isSliding = !1, this.touchTimeout = null, this._swipeHelper = null, this._indicatorsElement = z.findOne(".carousel-indicators", this._element), this._addEventListeners(), this._config.ride === vt && this.cycle() 538 } 539 static get Default() { 540 return Ct 541 } 542 static get DefaultType() { 543 return Ot 544 } 545 static get NAME() { 546 return "carousel" 547 } 548 next() { 549 this._slide(at) 550 } 551 nextWhenVisible() { 552 !document.hidden && a(this._element) && this.next() 553 } 554 prev() { 555 this._slide(lt) 556 } 557 pause() { 558 this._isSliding && s(this._element), this._clearInterval() 559 } 560 cycle() { 561 this._clearInterval(), this._updateInterval(), this._interval = setInterval((() => this.nextWhenVisible()), this._config.interval) 562 } 563 _maybeEnableCycle() { 564 this._config.ride && (this._isSliding ? N.one(this._element, ut, (() => this.cycle())) : this.cycle()) 565 } 566 to(t) { 567 const e = this._getItems();
vendor: 4,760 bytes, lines 568-662
568 if (t > e.length - 1 || t < 0) return; 569 if (this._isSliding) return void N.one(this._element, ut, (() => this.to(t))); 570 const i = this._getItemIndex(this._getActive()); 571 if (i === t) return; 572 const n = t > i ? at : lt; 573 this._slide(n, e[t]) 574 } 575 dispose() { 576 this._swipeHelper && this._swipeHelper.dispose(), super.dispose() 577 } 578 _configAfterMerge(t) { 579 return t.defaultInterval = t.interval, t 580 } 581 _addEventListeners() { 582 this._config.keyboard && N.on(this._element, ft, (t => this._keydown(t))), "hover" === this._config.pause && (N.on(this._element, pt, (() => this.pause())), N.on(this._element, mt, (() => this._maybeEnableCycle()))), this._config.touch && st.isSupported() && this._addTouchEventListeners() 583 } 584 _addTouchEventListeners() { 585 for (const t of z.find(".carousel-item img", this._element)) N.on(t, gt, (t => t.preventDefault())); 586 const t = { 587 leftCallback: () => this._slide(this._directionToOrder(ct)), 588 rightCallback: () => this._slide(this._directionToOrder(ht)), 589 endCallback: () => { 590 "hover" === this._config.pause && (this.pause(), this.touchTimeout && clearTimeout(this.touchTimeout), this.touchTimeout = setTimeout((() => this._maybeEnableCycle()), 500 + this._config.interval)) 591 } 592 }; 593 this._swipeHelper = new st(this._element, t) 594 } 595 _keydown(t) { 596 if (/input|textarea/i.test(t.target.tagName)) return; 597 const e = Tt[t.key]; 598 e && (t.preventDefault(), this._slide(this._directionToOrder(e))) 599 } 600 _getItemIndex(t) { 601 return this._getItems().indexOf(t) 602 } 603 _setActiveIndicatorElement(t) { 604 if (!this._indicatorsElement) return; 605 const e = z.findOne(wt, this._indicatorsElement); 606 e.classList.remove(yt), e.removeAttribute("aria-current"); 607 const i = z.findOne(`[data-bs-slide-to="${t}"]`, this._indicatorsElement); 608 i && (i.classList.add(yt), i.setAttribute("aria-current", "true")) 609 } 610 _updateInterval() { 611 const t = this._activeElement || this._getActive(); 612 if (!t) return; 613 const e = Number.parseInt(t.getAttribute("data-bs-interval"), 10); 614 this._config.interval = e || this._config.defaultInterval 615 } 616 _slide(t, e = null) { 617 if (this._isSliding) return; 618 const i = this._getActive(), 619 n = t === at, 620 s = e || b(this._getItems(), i, n, this._config.wrap); 621 if (s === i) return; 622 const o = this._getItemIndex(s), 623 r = e => N.trigger(this._element, e, { 624 relatedTarget: s, 625 direction: this._orderToDirection(t), 626 from: this._getItemIndex(i), 627 to: o 628 }); 629 if (r(dt).defaultPrevented) return; 630 if (!i || !s) return; 631 const a = Boolean(this._interval); 632 this.pause(), this._isSliding = !0, this._setActiveIndicatorElement(o), this._activeElement = s; 633 const l = n ? "carousel-item-start" : "carousel-item-end", 634 c = n ? "carousel-item-next" : "carousel-item-prev"; 635 s.classList.add(c), d(s), i.classList.add(l), s.classList.add(l), this._queueCallback((() => { 636 s.classList.remove(l, c), s.classList.add(yt), i.classList.remove(yt, c, l), this._isSliding = !1, r(ut) 637 }), i, this._isAnimated()), a && this.cycle() 638 } 639 _isAnimated() { 640 return this._element.classList.contains("slide") 641 } 642 _getActive() { 643 return z.findOne(Et, this._element) 644 } 645 _getItems() { 646 return z.find(At, this._element) 647 } 648 _clearInterval() { 649 this._interval && (clearInterval(this._interval), this._interval = null) 650 } 651 _directionToOrder(t) { 652 return p() ? t === ct ? lt : at : t === ct ? at : lt 653 } 654 _orderToDirection(t) { 655 return p() ? t === lt ? ct : ht : t === lt ? ht : ct 656 } 657 static jQueryInterface(t) { 658 return this.each((function() { 659 const e = xt.getOrCreateInstance(this, t); 660 if ("number" != typeof t) { 661 if ("string" == typeof t) { 662 if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
662amed "${t}"`); 663 e[t]() 664 } 665 } else e.to(t) 666 })) 667 } 668 } 669 N.on(document, bt, "[data-bs-slide], [data-bs-slide-to]", (function(t) { 670 const e = z.getElementFromSelector(this); 671 if (!e || !e.classList.contains(vt)) return; 672 t.preventDefault(); 673 const i = xt.getOrCreateInstance(e), 674 n = this.getAttribute("data-bs-slide-to"); 675 return n ? (i.to(n), void i._maybeEnableCycle()) : "next" === F.getDataAttribute(this, "slide") ? (i.next(), void i._maybeEnableCycle()) : (i.prev(), void i._maybeEnableCycle()) 676 })), N.on(window, _t, (() => { 677 const t = z.find('[data-bs-ride="carousel"]'); 678 for (const e of t) xt.getOrCreateInstance(e) 679 })), m(xt); 680 const kt = ".bs.collapse", 681 Lt = `show${kt}`, 682 St = `shown${kt}`, 683 Dt = `hide${kt}`, 684 $t = `hidden${kt}`, 685 It = `click${kt}.data-api`, 686 Nt = "show", 687 Pt = "collapse", 688 jt = "collapsing", 689 Mt = `:scope .${Pt} .${Pt}`, 690 Ft = '[data-bs-toggle="collapse"]', 691 Ht = { 692 parent: null, 693 toggle: !0 694 }, 695 Wt = { 696 parent: "(null|element)", 697 toggle: "boolean" 698 }; 699 class Bt extends W { 700 constructor(t, e) { 701 super(t, e), this._isTransitioning = !1, this._triggerArray = []; 702 const i = z.find(Ft); 703 for (const t of i) { 704 const e = z.getSelectorFromElement(t), 705 i = z.find(e).filter((t => t === this._element)); 706 null !== e && i.length && this._triggerArray.push(t) 707 } 708 this._initializeChildren(), this._config.parent || this._addAriaAndCollapsedClass(this._triggerArray, this._isShown()), this._config.toggle && this.toggle() 709 } 710 static get Default() { 711 return Ht 712 } 713 static get DefaultType() { 714 return Wt 715 } 716 static get NAME() { 717 return "collapse" 718 } 719 toggle() { 720 this._isShown() ? this.hide() : this.show() 721 } 722 show() { 723 if (this._isTransitioning || this._isShown()) return; 724 let t = []; 725 if (this._config.parent && (t = this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t => t !== this._element)).map((t => Bt.getOrCreateInstance(t, { 726 toggle: !1 727 })))), t.length && t[0]._isTransitioning) return; 728 if (N.trigger(this._element, Lt).defaultPrevented) return; 729 for (const e of t) e.hide(); 730 const e = this._getDimension(); 731 this._element.classList.remove(Pt), this._element.classList.add(jt), this._element.style[e] = 0, this._addAriaAndCollapsedClass(this._triggerArray, !0), this._isTransitioning = !0; 732 const i = `scroll${e[0].toUpperCase()+e.slice(1)}`; 733 this._queueCallback((() => { 734 this._isTransitioning = !1, this._element.classList.remove(jt), this._element.classList.add(Pt, Nt), this._element.style[e] = "", N.trigger(this._element, St) 735 }), this._element, !0), this._element.style[e] = `${this._element[i]}px` 736 } 737 hide() { 738 if (this._isTransitioning || !this._isShown()) return; 739 if (N.trigger(this._element, Dt).defaultPrevented) return; 740 const t = this._getDimension(); 741 this._element.style[t] = `${this._element.getBoundingClientRect()[t]}px`, d(this._element), this._element.classList.add(jt), this._element.classList.remove(Pt, Nt); 742 for (const t of this._triggerArray) { 743 const e = z.getElementFromSelector(t); 744 e && !this._isShown(e) && this._addAriaAndCollapsedClass([t], !1) 745 } 746 this._isTransitioning = !0, this._element.style[t] = "", this._queueCallback((() => { 747 this._isTransitioning = !1, this._element.classList.remove(jt), this._element.classList.add(Pt), N.trigger(this._element, $t) 748 }), this._element, !0) 749 } 750 _isShown(t = this._element) { 751 return t.classList.contains(Nt) 752 } 753 _configAfterMerge(t) { 754 return t.toggle = Boolean(t.toggle), t.parent = r(t.parent), t 755 } 756 _getDimension() { 757 return this._element.classList.contains("collapse-horizontal") ? "width" : "height" 758 } 759 _initializeChildren() { 760 if (!this._config.parent) return; 761 const t = this._getFirstLevelChildren(Ft); 762 for (const e of t) { 763 const t = z.getElementFromSelector(e); 764 t && this._addAriaAndCollapsedClass([e], this._isShown(t)) 765 } 766 } 767 _getFirstLevelChildren(t) { 768 const e = z.find(Mt, this._config.parent); 769 return z.find(t, this._config.parent).filter((t => !e.includes(t))) 770 } 771 _addAriaAndCollapsedClass(t, e) { 772 if (t.length) 773 for (const i of t) i.classList.toggle("collapsed", !e), i.setAttribute("aria-expanded", e) 774 } 775 static jQueryInterface(t) { 776 const e = {}; 777 return "string" == typeof t && /show|hide/.test(t) && (e.toggle = !1), this.each((function() { 778 const i = Bt.getOrCreateInstance(this, e); 779 if ("string" == typeof t) { 780 if (void 0 === i[t]) throw new TypeError(`No method n
780amed "${t}"`); 781 i[t]() 782 } 783 })) 784 } 785 } 786 N.on(document, It, Ft, (function(t) { 787 ("A" === t.target.tagName || t.delegateTarget && "A" === t.delegateTarget.tagName) && t.preventDefault(); 788 for (const t of z.getMultipleElementsFromSelector(this)) Bt.getOrCreateInstance(t, { 789 toggle: !1 790 }).toggle() 791 })), m(Bt); 792 var zt = "top", 793 Rt = "bottom", 794 qt = "right", 795 Vt = "left", 796 Kt = "auto", 797 Qt = [zt, Rt, qt, Vt], 798 Xt = "start", 799 Yt = "end", 800 Ut = "clippingParents", 801 Gt = "viewport", 802 Jt = "popper", 803 Zt = "reference", 804 te = Qt.reduce((function(t, e) { 805 return t.concat([e + "-" + Xt, e + "-" + Yt]) 806 }), []), 807 ee = [].concat(Qt, [Kt]).reduce((function(t, e) { 808 return t.concat([e, e + "-" + Xt, e + "-" + Yt]) 809 }), []), 810 ie = "beforeRead", 811 ne = "read", 812 se = "afterRead", 813 oe = "beforeMain", 814 re = "main", 815 ae = "afterMain", 816 le = "beforeWrite", 817 ce = "write", 818 he = "afterWrite", 819 de = [ie, ne, se, oe, re, ae, le, ce, he]; 820 821 function ue(t) { 822 return t ? (t.nodeName || "").toLowerCase() : null 823 } 824 825 function fe(t) { 826 if (null == t) return window; 827 if ("[object Window]" !== t.toString()) { 828 var e = t.ownerDocument; 829 return e && e.defaultView || window 830 } 831 return t 832 } 833 834 function pe(t) { 835 return t instanceof fe(t).Element || t instanceof Element 836 } 837 838 function me(t) { 839 return t instanceof fe(t).HTMLElement || t instanceof HTMLElement 840 } 841 842 function ge(t) { 843 return "undefined" != typeof ShadowRoot && (t instanceof fe(t).ShadowRoot || t instanceof ShadowRoot) 844 } 845 const _e = { 846 name: "applyStyles", 847 enabled: !0, 848 phase: "write", 849 fn: function(t) { 850 var e = t.state; 851 Object.keys(e.elements).forEach((function(t) { 852 var i = e.styles[t] || {}, 853 n = e.attributes[t] || {}, 854 s = e.elements[t]; 855 me(s) && ue(s) && (Object.assign(s.style, i), Object.keys(n).forEach((function(t) { 856 var e = n[t]; 857 !1 === e ? s.removeAttribute(t) : s.setAttribute(t, !0 === e ? "" : e) 858 }))) 859 })) 860 }, 861 effect: function(t) { 862 var e = t.state, 863 i = { 864 popper: { 865 position: e.options.strategy, 866 left: "0", 867 top: "0", 868 margin: "0" 869 }, 870 arrow: { 871 position: "absolute" 872 }, 873 reference: {} 874 }; 875 return Object.assign(e.elements.popper.style, i.popper), e.styles = i, e.elements.arrow && Object.assign(e.elements.arrow.style, i.arrow), 876 function() { 877 Object.keys(e.elements).forEach((function(t) { 878 var n = e.elements[t], 879 s = e.attributes[t] || {}, 880 o = Object.keys(e.styles.hasOwnProperty(t) ? e.styles[t] : i[t]).reduce((function(t, e) { 881 return t[e] = "", t 882 }), {}); 883 me(n) && ue(n) && (Object.assign(n.style, o), Object.keys(s).forEach((function(t) { 884 n.removeAttribute(t) 885 }))) 886 })) 887 } 888 }, 889 requires: ["computeStyles"] 890 }; 891 892 function be(t) { 893 return t.split("-")[0] 894 } 895 var ve = Math.max, 896 ye = Math.min, 897 we = Math.round; 898 899 function Ae() { 900 var t = navigator.userAgentData; 901 return null != t && t.brands && Array.isArray(t.brands) ? t.brands.map((function(t) { 902 return t.brand + "/" + t.version 903 })).join(" ") : navigator.userAgent 904 } 905 906 function Ee() { 907 return !/^((?!chrome|android).)*safari/i.test(Ae()) 908 } 909 910 function Te(t, e, i) { 911 void 0 === e && (e = !1), void 0 === i && (i = !1); 912 var n = t.getBoundingClientRect(), 913 s = 1, 914 o = 1; 915 e && me(t) && (s = t.offsetWidth > 0 && we(n.width) / t.offsetWidth || 1, o = t.offsetHeight > 0 && we(n.height) / t.offsetHeight || 1);
vendor: 4,619 bytes, lines 916-1053
916 var r = (pe(t) ? fe(t) : window).visualViewport, 917 a = !Ee() && i, 918 l = (n.left + (a && r ? r.offsetLeft : 0)) / s, 919 c = (n.top + (a && r ? r.offsetTop : 0)) / o, 920 h = n.width / s, 921 d = n.height / o; 922 return { 923 width: h, 924 height: d, 925 top: c, 926 right: l + h, 927 bottom: c + d, 928 left: l, 929 x: l, 930 y: c 931 } 932 } 933 934 function Ce(t) { 935 var e = Te(t), 936 i = t.offsetWidth, 937 n = t.offsetHeight; 938 return Math.abs(e.width - i) <= 1 && (i = e.width), Math.abs(e.height - n) <= 1 && (n = e.height), { 939 x: t.offsetLeft, 940 y: t.offsetTop, 941 width: i, 942 height: n 943 } 944 } 945 946 function Oe(t, e) { 947 var i = e.getRootNode && e.getRootNode(); 948 if (t.contains(e)) return !0; 949 if (i && ge(i)) { 950 var n = e; 951 do { 952 if (n && t.isSameNode(n)) return !0; 953 n = n.parentNode || n.host 954 } while (n) 955 } 956 return !1 957 } 958 959 function xe(t) { 960 return fe(t).getComputedStyle(t) 961 } 962 963 function ke(t) { 964 return ["table", "td", "th"].indexOf(ue(t)) >= 0 965 } 966 967 function Le(t) { 968 return ((pe(t) ? t.ownerDocument : t.document) || window.document).documentElement 969 } 970 971 function Se(t) { 972 return "html" === ue(t) ? t : t.assignedSlot || t.parentNode || (ge(t) ? t.host : null) || Le(t) 973 } 974 975 function De(t) { 976 return me(t) && "fixed" !== xe(t).position ? t.offsetParent : null 977 } 978 979 function $e(t) { 980 for (var e = fe(t), i = De(t); i && ke(i) && "static" === xe(i).position;) i = De(i); 981 return i && ("html" === ue(i) || "body" === ue(i) && "static" === xe(i).position) ? e : i || function(t) { 982 var e = /firefox/i.test(Ae()); 983 if (/Trident/i.test(Ae()) && me(t) && "fixed" === xe(t).position) return null; 984 var i = Se(t); 985 for (ge(i) && (i = i.host); me(i) && ["html", "body"].indexOf(ue(i)) < 0;) { 986 var n = xe(i); 987 if ("none" !== n.transform || "none" !== n.perspective || "paint" === n.contain || -1 !== ["transform", "perspective"].indexOf(n.willChange) || e && "filter" === n.willChange || e && n.filter && "none" !== n.filter) return i; 988 i = i.parentNode 989 } 990 return null 991 }(t) || e 992 } 993 994 function Ie(t) { 995 return ["top", "bottom"].indexOf(t) >= 0 ? "x" : "y" 996 } 997 998 function Ne(t, e, i) { 999 return ve(t, ye(e, i)) 1000 } 1001 1002 function Pe(t) { 1003 return Object.assign({}, { 1004 top: 0, 1005 right: 0, 1006 bottom: 0, 1007 left: 0 1008 }, t) 1009 } 1010 1011 function je(t, e) { 1012 return e.reduce((function(e, i) { 1013 return e[i] = t, e 1014 }), {}) 1015 } 1016 const Me = { 1017 name: "arrow", 1018 enabled: !0, 1019 phase: "main", 1020 fn: function(t) { 1021 var e, i = t.state, 1022 n = t.name, 1023 s = t.options, 1024 o = i.elements.arrow, 1025 r = i.modifiersData.popperOffsets, 1026 a = be(i.placement), 1027 l = Ie(a), 1028 c = [Vt, qt].indexOf(a) >= 0 ? "height" : "width"; 1029 if (o && r) { 1030 var h = function(t, e) { 1031 return Pe("number" != typeof(t = "function" == typeof t ? t(Object.assign({}, e.rects, { 1032 placement: e.placement 1033 })) : t) ? t : je(t, Qt)) 1034 }(s.padding, i), 1035 d = Ce(o), 1036 u = "y" === l ? zt : Vt, 1037 f = "y" === l ? Rt : qt, 1038 p = i.rects.reference[c] + i.rects.reference[l] - r[l] - i.rects.popper[c], 1039 m = r[l] - i.rects.reference[l], 1040 g = $e(o), 1041 _ = g ? "y" === l ? g.clientHeight || 0 : g.clientWidth || 0 : 0, 1042 b = p / 2 - m / 2, 1043 v = h[u], 1044 y = _ - d[c] - h[f], 1045 w = _ / 2 - d[c] / 2 + b, 1046 A = Ne(v, w, y), 1047 E = l; 1048 i.modifiersData[n] = ((e = {})[E] = A, e.centerOffset = A - w, e) 1049 } 1050 }, 1051 effect: function(t) { 1052 var e = t.state, 1053 i = t.options.element,
vendor: 4,859 bytes, lines 1054-1179
1054 n = void 0 === i ? "[data-popper-arrow]" : i; 1055 null != n && ("string" != typeof n || (n = e.elements.popper.querySelector(n))) && Oe(e.elements.popper, n) && (e.elements.arrow = n) 1056 }, 1057 requires: ["popperOffsets"], 1058 requiresIfExists: ["preventOverflow"] 1059 }; 1060 1061 function Fe(t) { 1062 return t.split("-")[1] 1063 } 1064 var He = { 1065 top: "auto", 1066 right: "auto", 1067 bottom: "auto", 1068 left: "auto" 1069 }; 1070 1071 function We(t) { 1072 var e, i = t.popper, 1073 n = t.popperRect, 1074 s = t.placement, 1075 o = t.variation, 1076 r = t.offsets, 1077 a = t.position, 1078 l = t.gpuAcceleration, 1079 c = t.adaptive, 1080 h = t.roundOffsets, 1081 d = t.isFixed, 1082 u = r.x, 1083 f = void 0 === u ? 0 : u, 1084 p = r.y, 1085 m = void 0 === p ? 0 : p, 1086 g = "function" == typeof h ? h({ 1087 x: f, 1088 y: m 1089 }) : { 1090 x: f, 1091 y: m 1092 }; 1093 f = g.x, m = g.y; 1094 var _ = r.hasOwnProperty("x"), 1095 b = r.hasOwnProperty("y"), 1096 v = Vt, 1097 y = zt, 1098 w = window; 1099 if (c) { 1100 var A = $e(i), 1101 E = "clientHeight", 1102 T = "clientWidth"; 1103 A === fe(i) && "static" !== xe(A = Le(i)).position && "absolute" === a && (E = "scrollHeight", T = "scrollWidth"), (s === zt || (s === Vt || s === qt) && o === Yt) && (y = Rt, m -= (d && A === w && w.visualViewport ? w.visualViewport.height : A[E]) - n.height, m *= l ? 1 : -1), s !== Vt && (s !== zt && s !== Rt || o !== Yt) || (v = qt, f -= (d && A === w && w.visualViewport ? w.visualViewport.width : A[T]) - n.width, f *= l ? 1 : -1) 1104 } 1105 var C, O = Object.assign({ 1106 position: a 1107 }, c && He), 1108 x = !0 === h ? function(t, e) { 1109 var i = t.x, 1110 n = t.y, 1111 s = e.devicePixelRatio || 1; 1112 return { 1113 x: we(i * s) / s || 0, 1114 y: we(n * s) / s || 0 1115 } 1116 }({ 1117 x: f, 1118 y: m 1119 }, fe(i)) : { 1120 x: f, 1121 y: m 1122 }; 1123 return f = x.x, m = x.y, l ? Object.assign({}, O, ((C = {})[y] = b ? "0" : "", C[v] = _ ? "0" : "", C.transform = (w.devicePixelRatio || 1) <= 1 ? "translate(" + f + "px, " + m + "px)" : "translate3d(" + f + "px, " + m + "px, 0)", C)) : Object.assign({}, O, ((e = {})[y] = b ? m + "px" : "", e[v] = _ ? f + "px" : "", e.transform = "", e)) 1124 } 1125 const Be = { 1126 name: "computeStyles", 1127 enabled: !0, 1128 phase: "beforeWrite", 1129 fn: function(t) { 1130 var e = t.state, 1131 i = t.options, 1132 n = i.gpuAcceleration, 1133 s = void 0 === n || n, 1134 o = i.adaptive, 1135 r = void 0 === o || o, 1136 a = i.roundOffsets, 1137 l = void 0 === a || a, 1138 c = { 1139 placement: be(e.placement), 1140 variation: Fe(e.placement), 1141 popper: e.elements.popper, 1142 popperRect: e.rects.popper, 1143 gpuAcceleration: s, 1144 isFixed: "fixed" === e.options.strategy 1145 }; 1146 null != e.modifiersData.popperOffsets && (e.styles.popper = Object.assign({}, e.styles.popper, We(Object.assign({}, c, { 1147 offsets: e.modifiersData.popperOffsets, 1148 position: e.options.strategy, 1149 adaptive: r, 1150 roundOffsets: l 1151 })))), null != e.modifiersData.arrow && (e.styles.arrow = Object.assign({}, e.styles.arrow, We(Object.assign({}, c, { 1152 offsets: e.modifiersData.arrow, 1153 position: "absolute", 1154 adaptive: !1, 1155 roundOffsets: l 1156 })))), e.attributes.popper = Object.assign({}, e.attributes.popper, { 1157 "data-popper-placement": e.placement 1158 }) 1159 }, 1160 data: {} 1161 }; 1162 var ze = { 1163 passive: !0 1164 }; 1165 const Re = { 1166 name: "eventListeners", 1167 enabled: !0, 1168 phase: "write", 1169 fn: function() {}, 1170 effect: function(t) { 1171 var e = t.state, 1172 i = t.instance, 1173 n = t.options, 1174 s = n.scroll, 1175 o = void 0 === s || s, 1176 r = n.resize, 1177 a = void 0 === r || r, 1178 l = fe(e.elements.popper), 1179 c = [].concat(e.scrollParents.reference, e.scrollParents.popper);
vendor: 21,662 bytes, lines 1180-1753
1180 return o && c.forEach((function(t) { 1181 t.addEventListener("scroll", i.update, ze) 1182 })), a && l.addEventListener("resize", i.update, ze), 1183 function() { 1184 o && c.forEach((function(t) { 1185 t.removeEventListener("scroll", i.update, ze) 1186 })), a && l.removeEventListener("resize", i.update, ze) 1187 } 1188 }, 1189 data: {} 1190 }; 1191 var qe = { 1192 left: "right", 1193 right: "left", 1194 bottom: "top", 1195 top: "bottom" 1196 }; 1197 1198 function Ve(t) { 1199 return t.replace(/left|right|bottom|top/g, (function(t) { 1200 return qe[t] 1201 })) 1202 } 1203 var Ke = { 1204 start: "end", 1205 end: "start" 1206 }; 1207 1208 function Qe(t) { 1209 return t.replace(/start|end/g, (function(t) { 1210 return Ke[t] 1211 })) 1212 } 1213 1214 function Xe(t) { 1215 var e = fe(t); 1216 return { 1217 scrollLeft: e.pageXOffset, 1218 scrollTop: e.pageYOffset 1219 } 1220 } 1221 1222 function Ye(t) { 1223 return Te(Le(t)).left + Xe(t).scrollLeft 1224 } 1225 1226 function Ue(t) { 1227 var e = xe(t), 1228 i = e.overflow, 1229 n = e.overflowX, 1230 s = e.overflowY; 1231 return /auto|scroll|overlay|hidden/.test(i + s + n) 1232 } 1233 1234 function Ge(t) { 1235 return ["html", "body", "#document"].indexOf(ue(t)) >= 0 ? t.ownerDocument.body : me(t) && Ue(t) ? t : Ge(Se(t)) 1236 } 1237 1238 function Je(t, e) { 1239 var i; 1240 void 0 === e && (e = []); 1241 var n = Ge(t), 1242 s = n === (null == (i = t.ownerDocument) ? void 0 : i.body), 1243 o = fe(n), 1244 r = s ? [o].concat(o.visualViewport || [], Ue(n) ? n : []) : n, 1245 a = e.concat(r); 1246 return s ? a : a.concat(Je(Se(r))) 1247 } 1248 1249 function Ze(t) { 1250 return Object.assign({}, t, { 1251 left: t.x, 1252 top: t.y, 1253 right: t.x + t.width, 1254 bottom: t.y + t.height 1255 }) 1256 } 1257 1258 function ti(t, e, i) { 1259 return e === Gt ? Ze(function(t, e) { 1260 var i = fe(t), 1261 n = Le(t), 1262 s = i.visualViewport, 1263 o = n.clientWidth, 1264 r = n.clientHeight, 1265 a = 0, 1266 l = 0; 1267 if (s) { 1268 o = s.width, r = s.height; 1269 var c = Ee(); 1270 (c || !c && "fixed" === e) && (a = s.offsetLeft, l = s.offsetTop) 1271 } 1272 return { 1273 width: o, 1274 height: r, 1275 x: a + Ye(t), 1276 y: l 1277 } 1278 }(t, i)) : pe(e) ? function(t, e) { 1279 var i = Te(t, !1, "fixed" === e); 1280 return i.top = i.top + t.clientTop, i.left = i.left + t.clientLeft, i.bottom = i.top + t.clientHeight, i.right = i.left + t.clientWidth, i.width = t.clientWidth, i.height = t.clientHeight, i.x = i.left, i.y = i.top, i 1281 }(e, i) : Ze(function(t) { 1282 var e, i = Le(t), 1283 n = Xe(t), 1284 s = null == (e = t.ownerDocument) ? void 0 : e.body, 1285 o = ve(i.scrollWidth, i.clientWidth, s ? s.scrollWidth : 0, s ? s.clientWidth : 0), 1286 r = ve(i.scrollHeight, i.clientHeight, s ? s.scrollHeight : 0, s ? s.clientHeight : 0), 1287 a = -n.scrollLeft + Ye(t), 1288 l = -n.scrollTop; 1289 return "rtl" === xe(s || i).direction && (a += ve(i.clientWidth, s ? s.clientWidth : 0) - o), { 1290 width: o, 1291 height: r, 1292 x: a, 1293 y: l 1294 } 1295 }(Le(t))) 1296 } 1297 1298 function ei(t) { 1299 var e, i = t.reference, 1300 n = t.element, 1301 s = t.placement, 1302 o = s ? be(s) : null, 1303 r = s ? Fe(s) : null, 1304 a = i.x + i.width / 2 - n.width / 2, 1305 l = i.y + i.height / 2 - n.height / 2; 1306 switch (o) { 1307 case zt: 1308 e = { 1309 x: a, 1310 y: i.y - n.height 1311 }; 1312 break; 1313 case Rt: 1314 e = { 1315 x: a, 1316 y: i.y + i.height 1317 }; 1318 break; 1319 case qt: 1320 e = { 1321 x: i.x + i.width, 1322 y: l 1323 }; 1324 break; 1325 case Vt: 1326 e = { 1327 x: i.x - n.width, 1328 y: l 1329 }; 1330 break; 1331 default: 1332 e = { 1333 x: i.x, 1334 y: i.y 1335 } 1336 } 1337 var c = o ? Ie(o) : null; 1338 if (null != c) { 1339 var h = "y" === c ? "height" : "width"; 1340 switch (r) { 1341 case Xt: 1342 e[c] = e[c] - (i[h] / 2 - n[h] / 2); 1343 break; 1344 case Yt: 1345 e[c] = e[c] + (i[h] / 2 - n[h] / 2) 1346 } 1347 } 1348 return e 1349 } 1350 1351 function ii(t, e) { 1352 void 0 === e && (e = {}); 1353 var i = e, 1354 n = i.placement, 1355 s = void 0 === n ? t.placement : n, 1356 o = i.strategy, 1357 r = void 0 === o ? t.strategy : o, 1358 a = i.boundary, 1359 l = void 0 === a ? Ut : a, 1360 c = i.rootBoundary, 1361 h = void 0 === c ? Gt : c, 1362 d = i.elementContext, 1363 u = void 0 === d ? Jt : d, 1364 f = i.altBoundary, 1365 p = void 0 !== f && f, 1366 m = i.padding, 1367 g = void 0 === m ? 0 : m, 1368 _ = Pe("number" != typeof g ? g : je(g, Qt)), 1369 b = u === Jt ? Zt : Jt, 1370 v = t.rects.popper, 1371 y = t.elements[p ? b : u], 1372 w = function(t, e, i, n) { 1373 var s = "clippingParents" === e ? function(t) { 1374 var e = Je(Se(t)), 1375 i = ["absolute", "fixed"].indexOf(xe(t).position) >= 0 && me(t) ? $e(t) : t; 1376 return pe(i) ? e.filter((function(t) { 1377 return pe(t) && Oe(t, i) && "body" !== ue(t) 1378 })) : [] 1379 }(t) : [].concat(e), 1380 o = [].concat(s, [i]), 1381 r = o[0], 1382 a = o.reduce((function(e, i) { 1383 var s = ti(t, i, n); 1384 return e.top = ve(s.top, e.top), e.right = ye(s.right, e.right), e.bottom = ye(s.bottom, e.bottom), e.left = ve(s.left, e.left), e 1385 }), ti(t, r, n)); 1386 return a.width = a.right - a.left, a.height = a.bottom - a.top, a.x = a.left, a.y = a.top, a 1387 }(pe(y) ? y : y.contextElement || Le(t.elements.popper), l, h, r), 1388 A = Te(t.elements.reference), 1389 E = ei({ 1390 reference: A, 1391 element: v, 1392 strategy: "absolute", 1393 placement: s 1394 }), 1395 T = Ze(Object.assign({}, v, E)), 1396 C = u === Jt ? T : A, 1397 O = { 1398 top: w.top - C.top + _.top, 1399 bottom: C.bottom - w.bottom + _.bottom, 1400 left: w.left - C.left + _.left, 1401 right: C.right - w.right + _.right 1402 }, 1403 x = t.modifiersData.offset; 1404 if (u === Jt && x) { 1405 var k = x[s]; 1406 Object.keys(O).forEach((function(t) { 1407 var e = [qt, Rt].indexOf(t) >= 0 ? 1 : -1, 1408 i = [zt, Rt].indexOf(t) >= 0 ? "y" : "x"; 1409 O[t] += k[i] * e 1410 })) 1411 } 1412 return O 1413 } 1414 1415 function ni(t, e) { 1416 void 0 === e && (e = {}); 1417 var i = e, 1418 n = i.placement, 1419 s = i.boundary, 1420 o = i.rootBoundary, 1421 r = i.padding, 1422 a = i.flipVariations, 1423 l = i.allowedAutoPlacements, 1424 c = void 0 === l ? ee : l, 1425 h = Fe(n), 1426 d = h ? a ? te : te.filter((function(t) { 1427 return Fe(t) === h 1428 })) : Qt, 1429 u = d.filter((function(t) { 1430 return c.indexOf(t) >= 0 1431 })); 1432 0 === u.length && (u = d); 1433 var f = u.reduce((function(e, i) { 1434 return e[i] = ii(t, { 1435 placement: i, 1436 boundary: s, 1437 rootBoundary: o, 1438 padding: r 1439 })[be(i)], e 1440 }), {}); 1441 return Object.keys(f).sort((function(t, e) { 1442 return f[t] - f[e] 1443 })) 1444 } 1445 const si = { 1446 name: "flip", 1447 enabled: !0, 1448 phase: "main", 1449 fn: function(t) { 1450 var e = t.state, 1451 i = t.options, 1452 n = t.name; 1453 if (!e.modifiersData[n]._skip) { 1454 for (var s = i.mainAxis, o = void 0 === s || s, r = i.altAxis, a = void 0 === r || r, l = i.fallbackPlacements, c = i.padding, h = i.boundary, d = i.rootBoundary, u = i.altBoundary, f = i.flipVariations, p = void 0 === f || f, m = i.allowedAutoPlacements, g = e.options.placement, _ = be(g), b = l || (_ !== g && p ? function(t) { 1455 if (be(t) === Kt) return []; 1456 var e = Ve(t); 1457 return [Qe(t), e, Qe(e)] 1458 }(g) : [Ve(g)]), v = [g].concat(b).reduce((function(t, i) { 1459 return t.concat(be(i) === Kt ? ni(e, { 1460 placement: i, 1461 boundary: h, 1462 rootBoundary: d, 1463 padding: c, 1464 flipVariations: p, 1465 allowedAutoPlacements: m 1466 }) : i) 1467 }), []), y = e.rects.reference, w = e.rects.popper, A = new Map, E = !0, T = v[0], C = 0; C < v.length; C++) { 1468 var O = v[C], 1469 x = be(O), 1470 k = Fe(O) === Xt, 1471 L = [zt, Rt].indexOf(x) >= 0, 1472 S = L ? "width" : "height", 1473 D = ii(e, { 1474 placement: O, 1475 boundary: h, 1476 rootBoundary: d, 1477 altBoundary: u, 1478 padding: c 1479 }), 1480 $ = L ? k ? qt : Vt : k ? Rt : zt; 1481 y[S] > w[S] && ($ = Ve($)); 1482 var I = Ve($), 1483 N = []; 1484 if (o && N.push(D[x] <= 0), a && N.push(D[$] <= 0, D[I] <= 0), N.every((function(t) { 1485 return t 1486 }))) { 1487 T = O, E = !1; 1488 break 1489 } 1490 A.set(O, N) 1491 } 1492 if (E) 1493 for (var P = function(t) { 1494 var e = v.find((function(e) { 1495 var i = A.get(e); 1496 if (i) return i.slice(0, t).every((function(t) { 1497 return t 1498 })) 1499 })); 1500 if (e) return T = e, "break" 1501 }, j = p ? 3 : 1; j > 0 && "break" !== P(j); j--); 1502 e.placement !== T && (e.modifiersData[n]._skip = !0, e.placement = T, e.reset = !0) 1503 } 1504 }, 1505 requiresIfExists: ["offset"], 1506 data: { 1507 _skip: !1 1508 } 1509 }; 1510 1511 function oi(t, e, i) { 1512 return void 0 === i && (i = { 1513 x: 0, 1514 y: 0 1515 }), { 1516 top: t.top - e.height - i.y, 1517 right: t.right - e.width + i.x, 1518 bottom: t.bottom - e.height + i.y, 1519 left: t.left - e.width - i.x 1520 } 1521 } 1522 1523 function ri(t) { 1524 return [zt, qt, Rt, Vt].some((function(e) { 1525 return t[e] >= 0 1526 })) 1527 } 1528 const ai = { 1529 name: "hide", 1530 enabled: !0, 1531 phase: "main", 1532 requiresIfExists: ["preventOverflow"], 1533 fn: function(t) { 1534 var e = t.state, 1535 i = t.name, 1536 n = e.rects.reference, 1537 s = e.rects.popper, 1538 o = e.modifiersData.preventOverflow, 1539 r = ii(e, { 1540 elementContext: "reference" 1541 }), 1542 a = ii(e, { 1543 altBoundary: !0 1544 }), 1545 l = oi(r, n), 1546 c = oi(a, s, o), 1547 h = ri(l), 1548 d = ri(c); 1549 e.modifiersData[i] = { 1550 referenceClippingOffsets: l, 1551 popperEscapeOffsets: c, 1552 isReferenceHidden: h, 1553 hasPopperEscaped: d 1554 }, e.attributes.popper = Object.assign({}, e.attributes.popper, { 1555 "data-popper-reference-hidden": h, 1556 "data-popper-escaped": d 1557 }) 1558 } 1559 }, 1560 li = { 1561 name: "offset", 1562 enabled: !0, 1563 phase: "main", 1564 requires: ["popperOffsets"], 1565 fn: function(t) { 1566 var e = t.state, 1567 i = t.options, 1568 n = t.name, 1569 s = i.offset, 1570 o = void 0 === s ? [0, 0] : s, 1571 r = ee.reduce((function(t, i) { 1572 return t[i] = function(t, e, i) { 1573 var n = be(t), 1574 s = [Vt, zt].indexOf(n) >= 0 ? -1 : 1, 1575 o = "function" == typeof i ? i(Object.assign({}, e, { 1576 placement: t 1577 })) : i, 1578 r = o[0], 1579 a = o[1]; 1580 return r = r || 0, a = (a || 0) * s, [Vt, qt].indexOf(n) >= 0 ? { 1581 x: a, 1582 y: r 1583 } : { 1584 x: r, 1585 y: a 1586 } 1587 }(i, e.rects, o), t 1588 }), {}), 1589 a = r[e.placement], 1590 l = a.x, 1591 c = a.y; 1592 null != e.modifiersData.popperOffsets && (e.modifiersData.popperOffsets.x += l, e.modifiersData.popperOffsets.y += c), e.modifiersData[n] = r 1593 } 1594 }, 1595 ci = { 1596 name: "popperOffsets", 1597 enabled: !0, 1598 phase: "read", 1599 fn: function(t) { 1600 var e = t.state, 1601 i = t.name; 1602 e.modifiersData[i] = ei({ 1603 reference: e.rects.reference, 1604 element: e.rects.popper, 1605 strategy: "absolute", 1606 placement: e.placement 1607 }) 1608 }, 1609 data: {} 1610 }, 1611 hi = { 1612 name: "preventOverflow", 1613 enabled: !0, 1614 phase: "main", 1615 fn: function(t) { 1616 var e = t.state, 1617 i = t.options, 1618 n = t.name, 1619 s = i.mainAxis, 1620 o = void 0 === s || s, 1621 r = i.altAxis, 1622 a = void 0 !== r && r, 1623 l = i.boundary, 1624 c = i.rootBoundary, 1625 h = i.altBoundary, 1626 d = i.padding, 1627 u = i.tether, 1628 f = void 0 === u || u, 1629 p = i.tetherOffset, 1630 m = void 0 === p ? 0 : p, 1631 g = ii(e, { 1632 boundary: l, 1633 rootBoundary: c, 1634 padding: d, 1635 altBoundary: h 1636 }), 1637 _ = be(e.placement), 1638 b = Fe(e.placement), 1639 v = !b, 1640 y = Ie(_), 1641 w = "x" === y ? "y" : "x", 1642 A = e.modifiersData.popperOffsets, 1643 E = e.rects.reference, 1644 T = e.rects.popper, 1645 C = "function" == typeof m ? m(Object.assign({}, e.rects, { 1646 placement: e.placement 1647 })) : m, 1648 O = "number" == typeof C ? { 1649 mainAxis: C, 1650 altAxis: C 1651 } : Object.assign({ 1652 mainAxis: 0, 1653 altAxis: 0 1654 }, C), 1655 x = e.modifiersData.offset ? e.modifiersData.offset[e.placement] : null, 1656 k = { 1657 x: 0, 1658 y: 0 1659 }; 1660 if (A) { 1661 if (o) { 1662 var L, S = "y" === y ? zt : Vt, 1663 D = "y" === y ? Rt : qt, 1664 $ = "y" === y ? "height" : "width", 1665 I = A[y], 1666 N = I + g[S], 1667 P = I - g[D], 1668 j = f ? -T[$] / 2 : 0, 1669 M = b === Xt ? E[$] : T[$], 1670 F = b === Xt ? -T[$] : -E[$], 1671 H = e.elements.arrow, 1672 W = f && H ? Ce(H) : { 1673 width: 0, 1674 height: 0 1675 }, 1676 B = e.modifiersData["arrow#persistent"] ? e.modifiersData["arrow#persistent"].padding : { 1677 top: 0, 1678 right: 0, 1679 bottom: 0, 1680 left: 0 1681 }, 1682 z = B[S], 1683 R = B[D], 1684 q = Ne(0, E[$], W[$]), 1685 V = v ? E[$] / 2 - j - q - z - O.mainAxis : M - q - z - O.mainAxis, 1686 K = v ? -E[$] / 2 + j + q + R + O.mainAxis : F + q + R + O.mainAxis, 1687 Q = e.elements.arrow && $e(e.elements.arrow), 1688 X = Q ? "y" === y ? Q.clientTop || 0 : Q.clientLeft || 0 : 0, 1689 Y = null != (L = null == x ? void 0 : x[y]) ? L : 0, 1690 U = I + K - Y, 1691 G = Ne(f ? ye(N, I + V - Y - X) : N, I, f ? ve(P, U) : P); 1692 A[y] = G, k[y] = G - I 1693 } 1694 if (a) { 1695 var J, Z = "x" === y ? zt : Vt, 1696 tt = "x" === y ? Rt : qt, 1697 et = A[w], 1698 it = "y" === w ? "height" : "width", 1699 nt = et + g[Z], 1700 st = et - g[tt], 1701 ot = -1 !== [zt, Vt].indexOf(_), 1702 rt = null != (J = null == x ? void 0 : x[w]) ? J : 0, 1703 at = ot ? nt : et - E[it] - T[it] - rt + O.altAxis, 1704 lt = ot ? et + E[it] + T[it] - rt - O.altAxis : st, 1705 ct = f && ot ? function(t, e, i) { 1706 var n = Ne(t, e, i); 1707 return n > i ? i : n 1708 }(at, et, lt) : Ne(f ? at : nt, et, f ? lt : st); 1709 A[w] = ct, k[w] = ct - et 1710 } 1711 e.modifiersData[n] = k 1712 } 1713 }, 1714 requiresIfExists: ["offset"] 1715 }; 1716 1717 function di(t, e, i) { 1718 void 0 === i && (i = !1); 1719 var n, s, o = me(e), 1720 r = me(e) && function(t) { 1721 var e = t.getBoundingClientRect(), 1722 i = we(e.width) / t.offsetWidth || 1, 1723 n = we(e.height) / t.offsetHeight || 1; 1724 return 1 !== i || 1 !== n 1725 }(e), 1726 a = Le(e), 1727 l = Te(t, r, i), 1728 c = { 1729 scrollLeft: 0, 1730 scrollTop: 0 1731 }, 1732 h = { 1733 x: 0, 1734 y: 0 1735 }; 1736 return (o || !o && !i) && (("body" !== ue(e) || Ue(a)) && (c = (n = e) !== fe(n) && me(n) ? { 1737 scrollLeft: (s = n).scrollLeft, 1738 scrollTop: s.scrollTop 1739 } : Xe(n)), me(e) ? ((h = Te(e, !0)).x += e.clientLeft, h.y += e.clientTop) : a && (h.x = Ye(a))), { 1740 x: l.left + c.scrollLeft - h.x, 1741 y: l.top + c.scrollTop - h.y, 1742 width: l.width, 1743 height: l.height 1744 } 1745 } 1746 1747 function ui(t) { 1748 var e = new Map, 1749 i = new Set, 1750 n = []; 1751 1752 function s(t) { 1753 i.add(t.name), [].concat(t.requires || [], t.requiresIfExists || []).forEac
vendor: 4,324 bytes, lines 1753-1853
1753h((function(t) { 1754 if (!i.has(t)) { 1755 var n = e.get(t); 1756 n && s(n) 1757 } 1758 })), n.push(t) 1759 } 1760 return t.forEach((function(t) { 1761 e.set(t.name, t) 1762 })), t.forEach((function(t) { 1763 i.has(t.name) || s(t) 1764 })), n 1765 } 1766 var fi = { 1767 placement: "bottom", 1768 modifiers: [], 1769 strategy: "absolute" 1770 }; 1771 1772 function pi() { 1773 for (var t = arguments.length, e = new Array(t), i = 0; i < t; i++) e[i] = arguments[i]; 1774 return !e.some((function(t) { 1775 return !(t && "function" == typeof t.getBoundingClientRect) 1776 })) 1777 } 1778 1779 function mi(t) { 1780 void 0 === t && (t = {}); 1781 var e = t, 1782 i = e.defaultModifiers, 1783 n = void 0 === i ? [] : i, 1784 s = e.defaultOptions, 1785 o = void 0 === s ? fi : s; 1786 return function(t, e, i) { 1787 void 0 === i && (i = o); 1788 var s, r, a = { 1789 placement: "bottom", 1790 orderedModifiers: [], 1791 options: Object.assign({}, fi, o), 1792 modifiersData: {}, 1793 elements: { 1794 reference: t, 1795 popper: e 1796 }, 1797 attributes: {}, 1798 styles: {} 1799 }, 1800 l = [], 1801 c = !1, 1802 h = { 1803 state: a, 1804 setOptions: function(i) { 1805 var s = "function" == typeof i ? i(a.options) : i; 1806 d(), a.options = Object.assign({}, o, a.options, s), a.scrollParents = { 1807 reference: pe(t) ? Je(t) : t.contextElement ? Je(t.contextElement) : [], 1808 popper: Je(e) 1809 }; 1810 var r, c, u = function(t) { 1811 var e = ui(t); 1812 return de.reduce((function(t, i) { 1813 return t.concat(e.filter((function(t) { 1814 return t.phase === i 1815 }))) 1816 }), []) 1817 }((r = [].concat(n, a.options.modifiers), c = r.reduce((function(t, e) { 1818 var i = t[e.name]; 1819 return t[e.name] = i ? Object.assign({}, i, e, { 1820 options: Object.assign({}, i.options, e.options), 1821 data: Object.assign({}, i.data, e.data) 1822 }) : e, t 1823 }), {}), Object.keys(c).map((function(t) { 1824 return c[t] 1825 })))); 1826 return a.orderedModifiers = u.filter((function(t) { 1827 return t.enabled 1828 })), a.orderedModifiers.forEach((function(t) { 1829 var e = t.name, 1830 i = t.options, 1831 n = void 0 === i ? {} : i, 1832 s = t.effect; 1833 if ("function" == typeof s) { 1834 var o = s({ 1835 state: a, 1836 name: e, 1837 instance: h, 1838 options: n 1839 }); 1840 l.push(o || function() {}) 1841 } 1842 })), h.update() 1843 }, 1844 forceUpdate: function() { 1845 if (!c) { 1846 var t = a.elements, 1847 e = t.reference, 1848 i = t.popper; 1849 if (pi(e, i)) { 1850 a.rects = { 1851 reference: di(e, $e(i), "fixed" === a.options.strategy), 1852 popper: Ce(i) 1853 }, a.reset = !1, a.placement = a.options.placement, a.orderedModifiers.forEac
vendor: 5,772 bytes, lines 1853-2010
1853h((function(t) { 1854 return a.modifiersData[t.name] = Object.assign({}, t.data) 1855 })); 1856 for (var n = 0; n < a.orderedModifiers.length; n++) 1857 if (!0 !== a.reset) { 1858 var s = a.orderedModifiers[n], 1859 o = s.fn, 1860 r = s.options, 1861 l = void 0 === r ? {} : r, 1862 d = s.name; 1863 "function" == typeof o && (a = o({ 1864 state: a, 1865 options: l, 1866 name: d, 1867 instance: h 1868 }) || a) 1869 } else a.reset = !1, n = -1 1870 } 1871 } 1872 }, 1873 update: (s = function() { 1874 return new Promise((function(t) { 1875 h.forceUpdate(), t(a) 1876 })) 1877 }, function() { 1878 return r || (r = new Promise((function(t) { 1879 Promise.resolve().then((function() { 1880 r = void 0, t(s()) 1881 })) 1882 }))), r 1883 }), 1884 destroy: function() { 1885 d(), c = !0 1886 } 1887 }; 1888 if (!pi(t, e)) return h; 1889 1890 function d() { 1891 l.forEach((function(t) { 1892 return t() 1893 })), l = [] 1894 } 1895 return h.setOptions(i).then((function(t) { 1896 !c && i.onFirstUpdate && i.onFirstUpdate(t) 1897 })), h 1898 } 1899 } 1900 var gi = mi(), 1901 _i = mi({ 1902 defaultModifiers: [Re, ci, Be, _e] 1903 }), 1904 bi = mi({ 1905 defaultModifiers: [Re, ci, Be, _e, li, si, hi, Me, ai] 1906 }); 1907 const vi = Object.freeze(Object.defineProperty({ 1908 __proto__: null, 1909 afterMain: ae, 1910 afterRead: se, 1911 afterWrite: he, 1912 applyStyles: _e, 1913 arrow: Me, 1914 auto: Kt, 1915 basePlacements: Qt, 1916 beforeMain: oe, 1917 beforeRead: ie, 1918 beforeWrite: le, 1919 bottom: Rt, 1920 clippingParents: Ut, 1921 computeStyles: Be, 1922 createPopper: bi, 1923 createPopperBase: gi, 1924 createPopperLite: _i, 1925 detectOverflow: ii, 1926 end: Yt, 1927 eventListeners: Re, 1928 flip: si, 1929 hide: ai, 1930 left: Vt, 1931 main: re, 1932 modifierPhases: de, 1933 offset: li, 1934 placements: ee, 1935 popper: Jt, 1936 popperGenerator: mi, 1937 popperOffsets: ci, 1938 preventOverflow: hi, 1939 read: ne, 1940 reference: Zt, 1941 right: qt, 1942 start: Xt, 1943 top: zt, 1944 variationPlacements: te, 1945 viewport: Gt, 1946 write: ce 1947 }, Symbol.toStringTag, { 1948 value: "Module" 1949 })), 1950 yi = "dropdown", 1951 wi = ".bs.dropdown", 1952 Ai = ".data-api", 1953 Ei = "ArrowUp", 1954 Ti = "ArrowDown", 1955 Ci = `hide${wi}`, 1956 Oi = `hidden${wi}`, 1957 xi = `show${wi}`, 1958 ki = `shown${wi}`, 1959 Li = `click${wi}${Ai}`, 1960 Si = `keydown${wi}${Ai}`, 1961 Di = `keyup${wi}${Ai}`, 1962 $i = "show", 1963 Ii = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)', 1964 Ni = `${Ii}.${$i}`, 1965 Pi = ".dropdown-menu", 1966 ji = p() ? "top-end" : "top-start", 1967 Mi = p() ? "top-start" : "top-end", 1968 Fi = p() ? "bottom-end" : "bottom-start", 1969 Hi = p() ? "bottom-start" : "bottom-end", 1970 Wi = p() ? "left-start" : "right-start", 1971 Bi = p() ? "right-start" : "left-start", 1972 zi = { 1973 autoClose: !0, 1974 boundary: "clippingParents", 1975 display: "dynamic", 1976 offset: [0, 2], 1977 popperConfig: null, 1978 reference: "toggle" 1979 }, 1980 Ri = { 1981 autoClose: "(boolean|string)", 1982 boundary: "(string|element)", 1983 display: "string", 1984 offset: "(array|string|function)", 1985 popperConfig: "(null|object|function)", 1986 reference: "(string|element|object)" 1987 }; 1988 class qi extends W { 1989 constructor(t, e) { 1990 super(t, e), this._popper = null, this._parent = this._element.parentNode, this._menu = z.next(this._element, Pi)[0] || z.prev(this._element, Pi)[0] || z.findOne(Pi, this._parent), this._inNavbar = this._detectNavbar() 1991 } 1992 static get Default() { 1993 return zi 1994 } 1995 static get DefaultType() { 1996 return Ri 1997 } 1998 static get NAME() { 1999 return yi 2000 } 2001 toggle() { 2002 return this._isShown() ? this.hide() : this.show() 2003 } 2004 show() { 2005 if (l(this._element) || this._isShown()) return; 2006 const t = { 2007 relatedTarget: this._element 2008 }; 2009 if (!N.trigger(this._element, xi, t).defaultPrevented) { 2010 if (this._createPopper(), "ontouchstart" in document.documentElement && !this._parent.closest(".
vendor: 2,787 bytes, lines 2010-2058
2010navbar-nav")) 2011 for (const t of [].concat(...document.body.children)) N.on(t, "mouseover", h); 2012 this._element.focus(), this._element.setAttribute("aria-expanded", !0), this._menu.classList.add($i), this._element.classList.add($i), N.trigger(this._element, ki, t) 2013 } 2014 } 2015 hide() { 2016 if (l(this._element) || !this._isShown()) return; 2017 const t = { 2018 relatedTarget: this._element 2019 }; 2020 this._completeHide(t) 2021 } 2022 dispose() { 2023 this._popper && this._popper.destroy(), super.dispose() 2024 } 2025 update() { 2026 this._inNavbar = this._detectNavbar(), this._popper && this._popper.update() 2027 } 2028 _completeHide(t) { 2029 if (!N.trigger(this._element, Ci, t).defaultPrevented) { 2030 if ("ontouchstart" in document.documentElement) 2031 for (const t of [].concat(...document.body.children)) N.off(t, "mouseover", h); 2032 this._popper && this._popper.destroy(), this._menu.classList.remove($i), this._element.classList.remove($i), this._element.setAttribute("aria-expanded", "false"), F.removeDataAttribute(this._menu, "popper"), N.trigger(this._element, Oi, t) 2033 } 2034 } 2035 _getConfig(t) { 2036 if ("object" == typeof(t = super._getConfig(t)).reference && !o(t.reference) && "function" != typeof t.reference.getBoundingClientRect) throw new TypeError(`${yi.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`); 2037 return t 2038 } 2039 _createPopper() { 2040 if (void 0 === vi) throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)"); 2041 let t = this._element; 2042 "parent" === this._config.reference ? t = this._parent : o(this._config.reference) ? t = r(this._config.reference) : "object" == typeof this._config.reference && (t = this._config.reference); 2043 const e = this._getPopperConfig(); 2044 this._popper = bi(t, this._menu, e) 2045 } 2046 _isShown() { 2047 return this._menu.classList.contains($i) 2048 } 2049 _getPlacement() { 2050 const t = this._parent; 2051 if (t.classList.contains("dropend")) return Wi; 2052 if (t.classList.contains("dropstart")) return Bi; 2053 if (t.classList.contains("dropup-center")) return "top"; 2054 if (t.classList.contains("dropdown-center")) return "bottom"; 2055 const e = "end" === getComputedStyle(this._menu).getPropertyValue("--bs-position").trim(); 2056 return t.classList.contains("dropup") ? e ? Mi : ji : e ? Hi : Fi 2057 } 2058 _detectNavbar() {
vendor: 20,081 bytes, lines 2059-2521
2059 return null !== this._element.closest(".navbar") 2060 } 2061 _getOffset() { 2062 const { 2063 offset: t 2064 } = this._config; 2065 return "string" == typeof t ? t.split(",").map((t => Number.parseInt(t, 10))) : "function" == typeof t ? e => t(e, this._element) : t 2066 } 2067 _getPopperConfig() { 2068 const t = { 2069 placement: this._getPlacement(), 2070 modifiers: [{ 2071 name: "preventOverflow", 2072 options: { 2073 boundary: this._config.boundary 2074 } 2075 }, { 2076 name: "offset", 2077 options: { 2078 offset: this._getOffset() 2079 } 2080 }] 2081 }; 2082 return (this._inNavbar || "static" === this._config.display) && (F.setDataAttribute(this._menu, "popper", "static"), t.modifiers = [{ 2083 name: "applyStyles", 2084 enabled: !1 2085 }]), { 2086 ...t, 2087 ...g(this._config.popperConfig, [t]) 2088 } 2089 } 2090 _selectMenuItem({ 2091 key: t, 2092 target: e 2093 }) { 2094 const i = z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)", this._menu).filter((t => a(t))); 2095 i.length && b(i, e, t === Ti, !i.includes(e)).focus() 2096 } 2097 static jQueryInterface(t) { 2098 return this.each((function() { 2099 const e = qi.getOrCreateInstance(this, t); 2100 if ("string" == typeof t) { 2101 if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); 2102 e[t]() 2103 } 2104 })) 2105 } 2106 static clearMenus(t) { 2107 if (2 === t.button || "keyup" === t.type && "Tab" !== t.key) return; 2108 const e = z.find(Ni); 2109 for (const i of e) { 2110 const e = qi.getInstance(i); 2111 if (!e || !1 === e._config.autoClose) continue; 2112 const n = t.composedPath(), 2113 s = n.includes(e._menu); 2114 if (n.includes(e._element) || "inside" === e._config.autoClose && !s || "outside" === e._config.autoClose && s) continue; 2115 if (e._menu.contains(t.target) && ("keyup" === t.type && "Tab" === t.key || /input|select|option|textarea|form/i.test(t.target.tagName))) continue; 2116 const o = { 2117 relatedTarget: e._element 2118 }; 2119 "click" === t.type && (o.clickEvent = t), e._completeHide(o) 2120 } 2121 } 2122 static dataApiKeydownHandler(t) { 2123 const e = /input|textarea/i.test(t.target.tagName), 2124 i = "Escape" === t.key, 2125 n = [Ei, Ti].includes(t.key); 2126 if (!n && !i) return; 2127 if (e && !i) return; 2128 t.preventDefault(); 2129 const s = this.matches(Ii) ? this : z.prev(this, Ii)[0] || z.next(this, Ii)[0] || z.findOne(Ii, t.delegateTarget.parentNode), 2130 o = qi.getOrCreateInstance(s); 2131 if (n) return t.stopPropagation(), o.show(), void o._selectMenuItem(t); 2132 o._isShown() && (t.stopPropagation(), o.hide(), s.focus()) 2133 } 2134 } 2135 N.on(document, Si, Ii, qi.dataApiKeydownHandler), N.on(document, Si, Pi, qi.dataApiKeydownHandler), N.on(document, Li, qi.clearMenus), N.on(document, Di, qi.clearMenus), N.on(document, Li, Ii, (function(t) { 2136 t.preventDefault(), qi.getOrCreateInstance(this).toggle() 2137 })), m(qi); 2138 const Vi = "backdrop", 2139 Ki = "show", 2140 Qi = `mousedown.bs.${Vi}`, 2141 Xi = { 2142 className: "modal-backdrop", 2143 clickCallback: null, 2144 isAnimated: !1, 2145 isVisible: !0, 2146 rootElement: "body" 2147 }, 2148 Yi = { 2149 className: "string", 2150 clickCallback: "(function|null)", 2151 isAnimated: "boolean", 2152 isVisible: "boolean", 2153 rootElement: "(element|string)" 2154 }; 2155 class Ui extends H { 2156 constructor(t) { 2157 super(), this._config = this._getConfig(t), this._isAppended = !1, this._element = null 2158 } 2159 static get Default() { 2160 return Xi 2161 } 2162 static get DefaultType() { 2163 return Yi 2164 } 2165 static get NAME() { 2166 return Vi 2167 } 2168 show(t) { 2169 if (!this._config.isVisible) return void g(t); 2170 this._append(); 2171 const e = this._getElement(); 2172 this._config.isAnimated && d(e), e.classList.add(Ki), this._emulateAnimation((() => { 2173 g(t) 2174 })) 2175 } 2176 hide(t) { 2177 this._config.isVisible ? (this._getElement().classList.remove(Ki), this._emulateAnimation((() => { 2178 this.dispose(), g(t) 2179 }))) : g(t) 2180 } 2181 dispose() { 2182 this._isAppended && (N.off(this._element, Qi), this._element.remove(), this._isAppended = !1) 2183 } 2184 _getElement() { 2185 if (!this._element) { 2186 const t = document.createElement("div"); 2187 t.className = this._config.className, this._config.isAnimated && t.classList.add("fade"), this._element = t 2188 } 2189 return this._element 2190 } 2191 _configAfterMerge(t) { 2192 return t.rootElement = r(t.rootElement), t 2193 } 2194 _append() { 2195 if (this._isAppended) return; 2196 const t = this._getElement(); 2197 this._config.rootElement.append(t), N.on(t, Qi, (() => { 2198 g(this._config.clickCallback) 2199 })), this._isAppended = !0 2200 } 2201 _emulateAnimation(t) { 2202 _(t, this._getElement(), this._config.isAnimated) 2203 } 2204 } 2205 const Gi = ".bs.focustrap", 2206 Ji = `focusin${Gi}`, 2207 Zi = `keydown.tab${Gi}`, 2208 tn = "backward", 2209 en = { 2210 autofocus: !0, 2211 trapElement: null 2212 }, 2213 nn = { 2214 autofocus: "boolean", 2215 trapElement: "element" 2216 }; 2217 class sn extends H { 2218 constructor(t) { 2219 super(), this._config = this._getConfig(t), this._isActive = !1, this._lastTabNavDirection = null 2220 } 2221 static get Default() { 2222 return en 2223 } 2224 static get DefaultType() { 2225 return nn 2226 } 2227 static get NAME() { 2228 return "focustrap" 2229 } 2230 activate() { 2231 this._isActive || (this._config.autofocus && this._config.trapElement.focus(), N.off(document, Gi), N.on(document, Ji, (t => this._handleFocusin(t))), N.on(document, Zi, (t => this._handleKeydown(t))), this._isActive = !0) 2232 } 2233 deactivate() { 2234 this._isActive && (this._isActive = !1, N.off(document, Gi)) 2235 } 2236 _handleFocusin(t) { 2237 const { 2238 trapElement: e 2239 } = this._config; 2240 if (t.target === document || t.target === e || e.contains(t.target)) return; 2241 const i = z.focusableChildren(e); 2242 0 === i.length ? e.focus() : this._lastTabNavDirection === tn ? i[i.length - 1].focus() : i[0].focus() 2243 } 2244 _handleKeydown(t) { 2245 "Tab" === t.key && (this._lastTabNavDirection = t.shiftKey ? tn : "forward") 2246 } 2247 } 2248 const on = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", 2249 rn = ".sticky-top", 2250 an = "padding-right", 2251 ln = "margin-right"; 2252 class cn { 2253 constructor() { 2254 this._element = document.body 2255 } 2256 getWidth() { 2257 const t = document.documentElement.clientWidth; 2258 return Math.abs(window.innerWidth - t) 2259 } 2260 hide() { 2261 const t = this.getWidth(); 2262 this._disableOverFlow(), this._setElementAttributes(this._element, an, (e => e + t)), this._setElementAttributes(on, an, (e => e + t)), this._setElementAttributes(rn, ln, (e => e - t)) 2263 } 2264 reset() { 2265 this._resetElementAttributes(this._element, "overflow"), this._resetElementAttributes(this._element, an), this._resetElementAttributes(on, an), this._resetElementAttributes(rn, ln) 2266 } 2267 isOverflowing() { 2268 return this.getWidth() > 0 2269 } 2270 _disableOverFlow() { 2271 this._saveInitialAttribute(this._element, "overflow"), this._element.style.overflow = "hidden" 2272 } 2273 _setElementAttributes(t, e, i) { 2274 const n = this.getWidth(); 2275 this._applyManipulationCallback(t, (t => { 2276 if (t !== this._element && window.innerWidth > t.clientWidth + n) return; 2277 this._saveInitialAttribute(t, e); 2278 const s = window.getComputedStyle(t).getPropertyValue(e); 2279 t.style.setProperty(e, `${i(Number.parseFloat(s))}px`) 2280 })) 2281 } 2282 _saveInitialAttribute(t, e) { 2283 const i = t.style.getPropertyValue(e); 2284 i && F.setDataAttribute(t, e, i) 2285 } 2286 _resetElementAttributes(t, e) { 2287 this._applyManipulationCallback(t, (t => { 2288 const i = F.getDataAttribute(t, e); 2289 null !== i ? (F.removeDataAttribute(t, e), t.style.setProperty(e, i)) : t.style.removeProperty(e) 2290 })) 2291 } 2292 _applyManipulationCallback(t, e) { 2293 if (o(t)) e(t); 2294 else 2295 for (const i of z.find(t, this._element)) e(i) 2296 } 2297 } 2298 const hn = ".bs.modal", 2299 dn = `hide${hn}`, 2300 un = `hidePrevented${hn}`, 2301 fn = `hidden${hn}`, 2302 pn = `show${hn}`, 2303 mn = `shown${hn}`, 2304 gn = `resize${hn}`, 2305 _n = `click.dismiss${hn}`, 2306 bn = `mousedown.dismiss${hn}`, 2307 vn = `keydown.dismiss${hn}`, 2308 yn = `click${hn}.data-api`, 2309 wn = "modal-open", 2310 An = "show", 2311 En = "modal-static", 2312 Tn = { 2313 backdrop: !0, 2314 focus: !0, 2315 keyboard: !0 2316 }, 2317 Cn = { 2318 backdrop: "(boolean|string)", 2319 focus: "boolean", 2320 keyboard: "boolean" 2321 }; 2322 class On extends W { 2323 constructor(t, e) { 2324 super(t, e), this._dialog = z.findOne(".modal-dialog", this._element), this._backdrop = this._initializeBackDrop(), this._focustrap = this._initializeFocusTrap(), this._isShown = !1, this._isTransitioning = !1, this._scrollBar = new cn, this._addEventListeners() 2325 } 2326 static get Default() { 2327 return Tn 2328 } 2329 static get DefaultType() { 2330 return Cn 2331 } 2332 static get NAME() { 2333 return "modal" 2334 } 2335 toggle(t) { 2336 return this._isShown ? this.hide() : this.show(t) 2337 } 2338 show(t) { 2339 this._isShown || this._isTransitioning || N.trigger(this._element, pn, { 2340 relatedTarget: t 2341 }).defaultPrevented || (this._isShown = !0, this._isTransitioning = !0, this._scrollBar.hide(), document.body.classList.add(wn), this._adjustDialog(), this._backdrop.show((() => this._showElement(t)))) 2342 } 2343 hide() { 2344 this._isShown && !this._isTransitioning && (N.trigger(this._element, dn).defaultPrevented || (this._isShown = !1, this._isTransitioning = !0, this._focustrap.deactivate(), this._element.classList.remove(An), this._queueCallback((() => this._hideModal()), this._element, this._isAnimated()))) 2345 } 2346 dispose() { 2347 N.off(window, hn), N.off(this._dialog, hn), this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose() 2348 } 2349 handleUpdate() { 2350 this._adjustDialog() 2351 } 2352 _initializeBackDrop() { 2353 return new Ui({ 2354 isVisible: Boolean(this._config.backdrop), 2355 isAnimated: this._isAnimated() 2356 }) 2357 } 2358 _initializeFocusTrap() { 2359 return new sn({ 2360 trapElement: this._element 2361 }) 2362 } 2363 _showElement(t) { 2364 document.body.contains(this._element) || document.body.append(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), this._element.scrollTop = 0; 2365 const e = z.findOne(".modal-body", this._dialog); 2366 e && (e.scrollTop = 0), d(this._element), this._element.classList.add(An), this._queueCallback((() => { 2367 this._config.focus && this._focustrap.activate(), this._isTransitioning = !1, N.trigger(this._element, mn, { 2368 relatedTarget: t 2369 }) 2370 }), this._dialog, this._isAnimated()) 2371 } 2372 _addEventListeners() { 2373 N.on(this._element, vn, (t => { 2374 "Escape" === t.key && (this._config.keyboard ? this.hide() : this._triggerBackdropTransition()) 2375 })), N.on(window, gn, (() => { 2376 this._isShown && !this._isTransitioning && this._adjustDialog() 2377 })), N.on(this._element, bn, (t => { 2378 N.one(this._element, _n, (e => { 2379 this._element === t.target && this._element === e.target && ("static" !== this._config.backdrop ? this._config.backdrop && this.hide() : this._triggerBackdropTransition()) 2380 })) 2381 })) 2382 } 2383 _hideModal() { 2384 this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._element.removeAttribute("aria-modal"), this._element.removeAttribute("role"), this._isTransitioning = !1, this._backdrop.hide((() => { 2385 document.body.classList.remove(wn), this._resetAdjustments(), this._scrollBar.reset(), N.trigger(this._element, fn) 2386 })) 2387 } 2388 _isAnimated() { 2389 return this._element.classList.contains("fade") 2390 } 2391 _triggerBackdropTransition() { 2392 if (N.trigger(this._element, un).defaultPrevented) return; 2393 const t = this._element.scrollHeight > document.documentElement.clientHeight, 2394 e = this._element.style.overflowY; 2395 "hidden" === e || this._element.classList.contains(En) || (t || (this._element.style.overflowY = "hidden"), this._element.classList.add(En), this._queueCallback((() => { 2396 this._element.classList.remove(En), this._queueCallback((() => { 2397 this._element.style.overflowY = e 2398 }), this._dialog) 2399 }), this._dialog), this._element.focus()) 2400 } 2401 _adjustDialog() { 2402 const t = this._element.scrollHeight > document.documentElement.clientHeight, 2403 e = this._scrollBar.getWidth(), 2404 i = e > 0; 2405 if (i && !t) { 2406 const t = p() ? "paddingLeft" : "paddingRight"; 2407 this._element.style[t] = `${e}px` 2408 } 2409 if (!i && t) { 2410 const t = p() ? "paddingRight" : "paddingLeft"; 2411 this._element.style[t] = `${e}px` 2412 } 2413 } 2414 _resetAdjustments() { 2415 this._element.style.paddingLeft = "", this._element.style.paddingRight = "" 2416 } 2417 static jQueryInterface(t, e) { 2418 return this.each((function() { 2419 const i = On.getOrCreateInstance(this, t); 2420 if ("string" == typeof t) { 2421 if (void 0 === i[t]) throw new TypeError(`No method named "${t}"`); 2422 i[t](e) 2423 } 2424 })) 2425 } 2426 } 2427 N.on(document, yn, '[data-bs-toggle="modal"]', (function(t) { 2428 const e = z.getElementFromSelector(this); 2429 ["A", "AREA"].includes(this.tagName) && t.preventDefault(), N.one(e, pn, (t => { 2430 t.defaultPrevented || N.one(e, fn, (() => { 2431 a(this) && this.focus() 2432 })) 2433 })); 2434 const i = z.findOne(".modal.show"); 2435 i && On.getInstance(i).hide(), On.getOrCreateInstance(e).toggle(this) 2436 })), R(On), m(On); 2437 const xn = ".bs.offcanvas", 2438 kn = ".data-api", 2439 Ln = `load${xn}${kn}`, 2440 Sn = "show", 2441 Dn = "showing", 2442 $n = "hiding", 2443 In = ".offcanvas.show", 2444 Nn = `show${xn}`, 2445 Pn = `shown${xn}`, 2446 jn = `hide${xn}`, 2447 Mn = `hidePrevented${xn}`, 2448 Fn = `hidden${xn}`, 2449 Hn = `resize${xn}`, 2450 Wn = `click${xn}${kn}`, 2451 Bn = `keydown.dismiss${xn}`, 2452 zn = { 2453 backdrop: !0, 2454 keyboard: !0, 2455 scroll: !1 2456 }, 2457 Rn = { 2458 backdrop: "(boolean|string)", 2459 keyboard: "boolean", 2460 scroll: "boolean" 2461 }; 2462 class qn extends W { 2463 constructor(t, e) { 2464 super(t, e), this._isShown = !1, this._backdrop = this._initializeBackDrop(), this._focustrap = this._initializeFocusTrap(), this._addEventListeners() 2465 } 2466 static get Default() { 2467 return zn 2468 } 2469 static get DefaultType() { 2470 return Rn 2471 } 2472 static get NAME() { 2473 return "offcanvas" 2474 } 2475 toggle(t) { 2476 return this._isShown ? this.hide() : this.show(t) 2477 } 2478 show(t) { 2479 this._isShown || N.trigger(this._element, Nn, { 2480 relatedTarget: t 2481 }).defaultPrevented || (this._isShown = !0, this._backdrop.show(), this._config.scroll || (new cn).hide(), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), this._element.classList.add(Dn), this._queueCallback((() => { 2482 this._config.scroll && !this._config.backdrop || this._focustrap.activate(), this._element.classList.add(Sn), this._element.classList.remove(Dn), N.trigger(this._element, Pn, { 2483 relatedTarget: t 2484 }) 2485 }), this._element, !0)) 2486 } 2487 hide() { 2488 this._isShown && (N.trigger(this._element, jn).defaultPrevented || (this._focustrap.deactivate(), this._element.blur(), this._isShown = !1, this._element.classList.add($n), this._backdrop.hide(), this._queueCallback((() => { 2489 this._element.classList.remove(Sn, $n), this._element.removeAttribute("aria-modal"), this._element.removeAttribute("role"), this._config.scroll || (new cn).reset(), N.trigger(this._element, Fn) 2490 }), this._element, !0))) 2491 } 2492 dispose() { 2493 this._backdrop.dispose(), this._focustrap.deactivate(), super.dispose() 2494 } 2495 _initializeBackDrop() { 2496 const t = Boolean(this._config.backdrop); 2497 return new Ui({ 2498 className: "offcanvas-backdrop", 2499 isVisible: t, 2500 isAnimated: !0, 2501 rootElement: this._element.parentNode, 2502 clickCallback: t ? () => { 2503 "static" !== this._config.backdrop ? this.hide() : N.trigger(this._element, Mn) 2504 } : null 2505 }) 2506 } 2507 _initializeFocusTrap() { 2508 return new sn({ 2509 trapElement: this._element 2510 }) 2511 } 2512 _addEventListeners() { 2513 N.on(this._element, Bn, (t => { 2514 "Escape" === t.key && (this._config.keyboard ? this.hide() : N.trigger(this._element, Mn)) 2515 })) 2516 } 2517 static jQueryInterface(t) { 2518 return this.each((function() { 2519 const e = qn.getOrCreateInstance(this, t); 2520 if ("string" == typeof t) { 2521 if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
2521amed "${t}"`); 2522 e[t](this) 2523 } 2524 })) 2525 } 2526 } 2527 N.on(document, Wn, '[data-bs-toggle="offcanvas"]', (function(t) { 2528 const e = z.getElementFromSelector(this); 2529 if (["A", "AREA"].includes(this.tagName) && t.preventDefault(), l(this)) return; 2530 N.one(e, Fn, (() => { 2531 a(this) && this.focus() 2532 })); 2533 const i = z.findOne(In); 2534 i && i !== e && qn.getInstance(i).hide(), qn.getOrCreateInstance(e).toggle(this) 2535 })), N.on(window, Ln, (() => { 2536 for (const t of z.find(In)) qn.getOrCreateInstance(t).show() 2537 })), N.on(window, Hn, (() => { 2538 for (const t of z.find("[aria-modal][class*=show][class*=offcanvas-]")) "fixed" !== getComputedStyle(t).position && qn.getOrCreateInstance(t).hide() 2539 })), R(qn), m(qn); 2540 const Vn = { 2541 "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i], 2542 a: ["target", "href", "title", "rel"], 2543 area: [], 2544 b: [], 2545 br: [], 2546 col: [], 2547 code: [], 2548 dd: [], 2549 div: [], 2550 dl: [], 2551 dt: [], 2552 em: [], 2553 hr: [], 2554 h1: [], 2555 h2: [], 2556 h3: [], 2557 h4: [], 2558 h5: [], 2559 h6: [], 2560 i: [], 2561 img: ["src", "srcset", "alt", "title", "width", "height"], 2562 li: [], 2563 ol: [], 2564 p: [], 2565 pre: [], 2566 s: [], 2567 small: [], 2568 span: [], 2569 sub: [], 2570 sup: [], 2571 strong: [], 2572 u: [], 2573 ul: [] 2574 }, 2575 Kn = new Set(["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"]), 2576 Qn = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i, 2577 Xn = (t, e) => { 2578 const i = t.nodeName.toLowerCase(); 2579 return e.includes(i) ? !Kn.has(i) || Boolean(Qn.test(t.nodeValue)) : e.filter((t => t instanceof RegExp)).some((t => t.test(i))) 2580 }, 2581 Yn = { 2582 allowList: Vn, 2583 content: {}, 2584 extraClass: "", 2585 html: !1, 2586 sanitize: !0, 2587 sanitizeFn: null, 2588 template: "<div></div>" 2589 }, 2590 Un = { 2591 allowList: "object", 2592 content: "object", 2593 extraClass: "(string|function)", 2594 html: "boolean", 2595 sanitize: "boolean", 2596 sanitizeFn: "(null|function)", 2597 template: "string" 2598 }, 2599 Gn = { 2600 entry: "(string|element|function|null)", 2601 selector: "(string|element)" 2602 }; 2603 class Jn extends H { 2604 constructor(t) { 2605 super(), this._config = this._getConfig(t) 2606 } 2607 static get Default() { 2608 return Yn 2609 } 2610 static get DefaultType() { 2611 return Un 2612 } 2613 static get NAME() { 2614 return "TemplateFactory" 2615 } 2616 getContent() { 2617 return Object.values(this._config.content).map((t => this._resolvePossibleFunction(t))).filter(Boolean) 2618 } 2619 hasContent() { 2620 return this.getContent().length > 0 2621 } 2622 changeContent(t) { 2623 return this._checkContent(t), this._config.content = { 2624 ...this._config.content, 2625 ...t 2626 }, this 2627 } 2628 toHtml() { 2629 const t = document.createElement("div"); 2630 t.innerHTML = this._maybeSanitize(this._config.template); 2631 for (const [e, i] of Object.entries(this._config.content)) this._setContent(t, i, e); 2632 const e = t.children[0], 2633 i = this._resolvePossibleFunction(this._config.extraClass); 2634 return i && e.classList.add(...i.split(" ")), e 2635 } 2636 _typeCheckConfig(t) { 2637 super._typeCheckConfig(t), this._checkContent(t.content) 2638 } 2639 _checkContent(t) { 2640 for (const [e, i] of Object.entries(t)) super._typeCheckConfig({ 2641 selector: e, 2642 entry: i 2643 }, Gn) 2644 } 2645 _setContent(t, e, i) { 2646 const n = z.findOne(i, t); 2647 n && ((e = this._resolvePossibleFunction(e)) ? o(e) ? this._putElementInTemplate(r(e), n) : this._config.html ? n.innerHTML = this._maybeSanitize(e) : n.textContent = e : n.remove()) 2648 } 2649 _maybeSanitize(t) { 2650 return this._config.sanitize ? function(t, e, i) { 2651 if (!t.length) return t; 2652 if (i && "function" == typeof i) return i(t); 2653 const n = (new window.DOMParser).parseFromString(t, "text/html"), 2654 s = [].concat(...n.body.querySelectorAll("*")); 2655 for (const t of s) { 2656 const i = t.nodeName.toLowerCase(); 2657 if (!Object.keys(e).includes(i)) { 2658 t.remove(); 2659 continue 2660 } 2661 const n = [].concat(...t.attributes), 2662 s = [].concat(e["*"] || [], e[i] || []); 2663 for (const e of n) Xn(e, s) || t.removeAttribute(e.nodeName) 2664 } 2665 return n.body.innerHTML 2666 }(t, this._config.allowList, this._config.sanitizeFn) : t 2667 } 2668 _resolvePossibleFunction(t) { 2669 return g(t, [this]) 2670 } 2671 _putElementInTemplate(t, e) { 2672 if (this._config.html) return e.innerHTML = "", void e.append(t); 2673 e.textContent = t.textContent 2674 } 2675 } 2676 const Zn = new Set(["sanitize", "allowList", "sanitizeFn"]), 2677 ts = "fade", 2678 es = "show", 2679 is = ".modal", 2680 ns = "hide.bs.modal", 2681 ss = "hover", 2682 os = "focus", 2683 rs = { 2684 AUTO: "auto", 2685 TOP: "top", 2686 RIGHT: p() ? "left" : "right", 2687 BOTTOM: "bottom", 2688 LEFT: p() ? "right" : "left" 2689 }, 2690 as = { 2691 allowList: Vn, 2692 animation: !0, 2693 boundary: "clippingParents", 2694 container: !1, 2695 customClass: "", 2696 delay: 0, 2697 fallbackPlacements: ["top", "right", "bottom", "left"], 2698 html: !1, 2699 offset: [0, 6], 2700 placement: "top", 2701 popperConfig: null, 2702 sanitize: !0, 2703 sanitizeFn: null, 2704 selector: !1, 2705 template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', 2706 title: "", 2707 trigger: "hover focus" 2708 }, 2709 ls = { 2710 allowList: "object", 2711 animation: "boolean", 2712 boundary: "(string|element)", 2713 container: "(string|element|boolean)", 2714 customClass: "(string|function)", 2715 delay: "(number|object)", 2716 fallbackPlacements: "array", 2717 html: "boolean", 2718 offset: "(array|string|function)", 2719 placement: "(string|function)", 2720 popperConfig: "(null|object|function)", 2721 sanitize: "boolean", 2722 sanitizeFn: "(null|function)", 2723 selector: "(string|boolean)", 2724 template: "string", 2725 title: "(string|element|function)", 2726 trigger: "string" 2727 }; 2728 class cs extends W { 2729 constructor(t, e) { 2730 if (void 0 === vi) throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)"); 2731 super(t, e), this._isEnabled = !0, this._timeout = 0, this._isHovered = null, this._activeTrigger = {}, this._popper = null, this._templateFactory = null, this._newContent = null, this.tip = null, this._setListeners(), this._config.selector || this._fixTitle() 2732 } 2733 static get Default() { 2734 return as 2735 } 2736 static get DefaultType() { 2737 return ls 2738 } 2739 static get NAME() { 2740 return "tooltip" 2741 } 2742 enable() { 2743 this._isEnabled = !0 2744 } 2745 disable() { 2746 this._isEnabled = !1 2747 } 2748 toggleEnabled() { 2749 this._isEnabled = !this._isEnabled 2750 } 2751 toggle() { 2752 this._isEnabled && (this._activeTrigger.click = !this._activeTrigger.click, this._isShown() ? this._leave() : this._enter()) 2753 } 2754 dispose() { 2755 clearTimeout(this._timeout), N.off(this._element.closest(is), ns, this._hideModalHandler), this._element.getAttribute("data-bs-original-title") && this._element.setAttribute("title", this._element.getAttribute("data-bs-original-title")), this._disposePopper(), super.dispose() 2756 } 2757 show() { 2758 if ("none" === this._element.style.display) throw new Error("Please use show on visible elements"); 2759 if (!this._isWithContent() || !this._isEnabled) return; 2760 const t = N.trigger(this._element, this.constructor.eventName("show")), 2761 e = (c(this._element) || this._element.ownerDocument.documentElement).contains(this._element); 2762 if (t.defaultPrevented || !e) return; 2763 this._disposePopper(); 2764 const i = this._getTipElement(); 2765 this._element.setAttribute("aria-describedby", i.getAttribute("id")); 2766 const { 2767 container: n 2768 } = this._config; 2769 if (this._element.ownerDocument.documentElement.contains(this.tip) || (n.append(i), N.trigger(this._element, this.constructor.eventName("inserted"))), this._popper = this._createPopper(i), i.classList.add(es), "ontouchstart" in document.documentElement) 2770 for (const t of [].concat(...document.body.children)) N.on(t, "mouseover", h);
vendor: 4,216 bytes, lines 2771-2861
2771 this._queueCallback((() => { 2772 N.trigger(this._element, this.constructor.eventName("shown")), !1 === this._isHovered && this._leave(), this._isHovered = !1 2773 }), this.tip, this._isAnimated()) 2774 } 2775 hide() { 2776 if (this._isShown() && !N.trigger(this._element, this.constructor.eventName("hide")).defaultPrevented) { 2777 if (this._getTipElement().classList.remove(es), "ontouchstart" in document.documentElement) 2778 for (const t of [].concat(...document.body.children)) N.off(t, "mouseover", h); 2779 this._activeTrigger.click = !1, this._activeTrigger[os] = !1, this._activeTrigger[ss] = !1, this._isHovered = null, this._queueCallback((() => { 2780 this._isWithActiveTrigger() || (this._isHovered || this._disposePopper(), this._element.removeAttribute("aria-describedby"), N.trigger(this._element, this.constructor.eventName("hidden"))) 2781 }), this.tip, this._isAnimated()) 2782 } 2783 } 2784 update() { 2785 this._popper && this._popper.update() 2786 } 2787 _isWithContent() { 2788 return Boolean(this._getTitle()) 2789 } 2790 _getTipElement() { 2791 return this.tip || (this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())), this.tip 2792 } 2793 _createTipElement(t) { 2794 const e = this._getTemplateFactory(t).toHtml(); 2795 if (!e) return null; 2796 e.classList.remove(ts, es), e.classList.add(`bs-${this.constructor.NAME}-auto`); 2797 const i = (t => { 2798 do { 2799 t += Math.floor(1e6 * Math.random()) 2800 } while (document.getElementById(t)); 2801 return t 2802 })(this.constructor.NAME).toString(); 2803 return e.setAttribute("id", i), this._isAnimated() && e.classList.add(ts), e 2804 } 2805 setContent(t) { 2806 this._newContent = t, this._isShown() && (this._disposePopper(), this.show()) 2807 } 2808 _getTemplateFactory(t) { 2809 return this._templateFactory ? this._templateFactory.changeContent(t) : this._templateFactory = new Jn({ 2810 ...this._config, 2811 content: t, 2812 extraClass: this._resolvePossibleFunction(this._config.customClass) 2813 }), this._templateFactory 2814 } 2815 _getContentForTemplate() { 2816 return { 2817 ".tooltip-inner": this._getTitle() 2818 } 2819 } 2820 _getTitle() { 2821 return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute("data-bs-original-title") 2822 } 2823 _initializeOnDelegatedTarget(t) { 2824 return this.constructor.getOrCreateInstance(t.delegateTarget, this._getDelegateConfig()) 2825 } 2826 _isAnimated() { 2827 return this._config.animation || this.tip && this.tip.classList.contains(ts) 2828 } 2829 _isShown() { 2830 return this.tip && this.tip.classList.contains(es) 2831 } 2832 _createPopper(t) { 2833 const e = g(this._config.placement, [this, t, this._element]), 2834 i = rs[e.toUpperCase()]; 2835 return bi(this._element, t, this._getPopperConfig(i)) 2836 } 2837 _getOffset() { 2838 const { 2839 offset: t 2840 } = this._config; 2841 return "string" == typeof t ? t.split(",").map((t => Number.parseInt(t, 10))) : "function" == typeof t ? e => t(e, this._element) : t 2842 } 2843 _resolvePossibleFunction(t) { 2844 return g(t, [this._element]) 2845 } 2846 _getPopperConfig(t) { 2847 const e = { 2848 placement: t, 2849 modifiers: [{ 2850 name: "flip", 2851 options: { 2852 fallbackPlacements: this._config.fallbackPlacements 2853 } 2854 }, { 2855 name: "offset", 2856 options: { 2857 offset: this._getOffset() 2858 } 2859 }, { 2860 name: "preventOverflow", 2861 options: {
vendor: 4,493 bytes, lines 2862-2950
2862 boundary: this._config.boundary 2863 } 2864 }, { 2865 name: "arrow", 2866 options: { 2867 element: `.${this.constructor.NAME}-arrow` 2868 } 2869 }, { 2870 name: "preSetPlacement", 2871 enabled: !0, 2872 phase: "beforeMain", 2873 fn: t => { 2874 this._getTipElement().setAttribute("data-popper-placement", t.state.placement) 2875 } 2876 }] 2877 }; 2878 return { 2879 ...e, 2880 ...g(this._config.popperConfig, [e]) 2881 } 2882 } 2883 _setListeners() { 2884 const t = this._config.trigger.split(" "); 2885 for (const e of t) 2886 if ("click" === e) N.on(this._element, this.constructor.eventName("click"), this._config.selector, (t => { 2887 this._initializeOnDelegatedTarget(t).toggle() 2888 })); 2889 else if ("manual" !== e) { 2890 const t = e === ss ? this.constructor.eventName("mouseenter") : this.constructor.eventName("focusin"), 2891 i = e === ss ? this.constructor.eventName("mouseleave") : this.constructor.eventName("focusout"); 2892 N.on(this._element, t, this._config.selector, (t => { 2893 const e = this._initializeOnDelegatedTarget(t); 2894 e._activeTrigger["focusin" === t.type ? os : ss] = !0, e._enter() 2895 })), N.on(this._element, i, this._config.selector, (t => { 2896 const e = this._initializeOnDelegatedTarget(t); 2897 e._activeTrigger["focusout" === t.type ? os : ss] = e._element.contains(t.relatedTarget), e._leave() 2898 })) 2899 } 2900 this._hideModalHandler = () => { 2901 this._element && this.hide() 2902 }, N.on(this._element.closest(is), ns, this._hideModalHandler) 2903 } 2904 _fixTitle() { 2905 const t = this._element.getAttribute("title"); 2906 t && (this._element.getAttribute("aria-label") || this._element.textContent.trim() || this._element.setAttribute("aria-label", t), this._element.setAttribute("data-bs-original-title", t), this._element.removeAttribute("title")) 2907 } 2908 _enter() { 2909 this._isShown() || this._isHovered ? this._isHovered = !0 : (this._isHovered = !0, this._setTimeout((() => { 2910 this._isHovered && this.show() 2911 }), this._config.delay.show)) 2912 } 2913 _leave() { 2914 this._isWithActiveTrigger() || (this._isHovered = !1, this._setTimeout((() => { 2915 this._isHovered || this.hide() 2916 }), this._config.delay.hide)) 2917 } 2918 _setTimeout(t, e) { 2919 clearTimeout(this._timeout), this._timeout = setTimeout(t, e) 2920 } 2921 _isWithActiveTrigger() { 2922 return Object.values(this._activeTrigger).includes(!0) 2923 } 2924 _getConfig(t) { 2925 const e = F.getDataAttributes(this._element); 2926 for (const t of Object.keys(e)) Zn.has(t) && delete e[t]; 2927 return t = { 2928 ...e, 2929 ..."object" == typeof t && t ? t : {} 2930 }, t = this._mergeConfigObj(t), t = this._configAfterMerge(t), this._typeCheckConfig(t), t 2931 } 2932 _configAfterMerge(t) { 2933 return t.container = !1 === t.container ? document.body : r(t.container), "number" == typeof t.delay && (t.delay = { 2934 show: t.delay, 2935 hide: t.delay 2936 }), "number" == typeof t.title && (t.title = t.title.toString()), "number" == typeof t.content && (t.content = t.content.toString()), t 2937 } 2938 _getDelegateConfig() { 2939 const t = {}; 2940 for (const [e, i] of Object.entries(this._config)) this.constructor.Default[e] !== i && (t[e] = i); 2941 return t.selector = !1, t.trigger = "manual", t 2942 } 2943 _disposePopper() { 2944 this._popper && (this._popper.destroy(), this._popper = null), this.tip && (this.tip.remove(), this.tip = null) 2945 } 2946 static jQueryInterface(t) { 2947 return this.each((function() { 2948 const e = cs.getOrCreateInstance(this, t); 2949 if ("string" == typeof t) { 2950 if (void 0 === e[t]) throw new TypeError(`No method n
2950amed "${t}"`); 2951 e[t]() 2952 } 2953 })) 2954 } 2955 } 2956 m(cs); 2957 const hs = { 2958 ...cs.Default, 2959 content: "", 2960 offset: [0, 8], 2961 placement: "right", 2962 template: '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>', 2963 trigger: "click" 2964 }, 2965 ds = { 2966 ...cs.DefaultType, 2967 content: "(null|string|element|function)" 2968 }; 2969 class us extends cs { 2970 static get Default() { 2971 return hs 2972 } 2973 static get DefaultType() { 2974 return ds 2975 } 2976 static get NAME() { 2977 return "popover" 2978 } 2979 _isWithContent() { 2980 return this._getTitle() || this._getContent() 2981 } 2982 _getContentForTemplate() { 2983 return { 2984 ".popover-header": this._getTitle(), 2985 ".popover-body": this._getContent() 2986 } 2987 } 2988 _getContent() { 2989 return this._resolvePossibleFunction(this._config.content) 2990 } 2991 static jQueryInterface(t) { 2992 return this.each((function() { 2993 const e = us.getOrCreateInstance(this, t); 2994 if ("string" == typeof t) { 2995 if (void 0 === e[t]) throw new TypeError(`No method named "${t}"`); 2996 e[t]() 2997 } 2998 })) 2999 } 3000 } 3001 m(us); 3002 const fs = ".bs.scrollspy", 3003 ps = `activate${fs}`, 3004 ms = `click${fs}`, 3005 gs = `load${fs}.data-api`, 3006 _s = "active", 3007 bs = "[href]", 3008 vs = ".nav-link", 3009 ys = `${vs}, .nav-item > ${vs}, .list-group-item`, 3010 ws = { 3011 offset: null, 3012 rootMargin: "0px 0px -25%", 3013 smoothScroll: !1, 3014 target: null, 3015 threshold: [.1, .5, 1] 3016 }, 3017 As = { 3018 offset: "(number|null)", 3019 rootMargin: "string", 3020 smoothScroll: "boolean", 3021 target: "element", 3022 threshold: "array" 3023 }; 3024 class Es extends W { 3025 constructor(t, e) { 3026 super(t, e), this._targetLinks = new Map, this._observableSections = new Map, this._rootElement = "visible" === getComputedStyle(this._element).overflowY ? null : this._element, this._activeTarget = null, this._observer = null, this._previousScrollData = { 3027 visibleEntryTop: 0, 3028 parentScrollTop: 0 3029 }, this.refresh() 3030 } 3031 static get Default() { 3032 return ws 3033 } 3034 static get DefaultType() { 3035 return As 3036 } 3037 static get NAME() { 3038 return "scrollspy" 3039 } 3040 refresh() { 3041 this._initializeTargetsAndObservables(), this._maybeEnableSmoothScroll(), this._observer ? this._observer.disconnect() : this._observer = this._getNewObserver(); 3042 for (const t of this._observableSections.values()) this._observer.observe(t) 3043 } 3044 dispose() { 3045 this._observer.disconnect(), super.dispose() 3046 } 3047 _configAfterMerge(t) { 3048 return t.target = r(t.target) || document.body, t.rootMargin = t.offset ? `${t.offset}px 0px -30%` : t.rootMargin, "string" == typeof t.threshold && (t.threshold = t.threshold.split(",").map((t => Number.parseFloat(t)))), t 3049 } 3050 _maybeEnableSmoothScroll() { 3051 this._config.smoothScroll && (N.off(this._config.target, ms), N.on(this._config.target, ms, bs, (t => { 3052 const e = this._observableSections.get(t.target.hash); 3053 if (e) { 3054 t.preventDefault(); 3055 const i = this._rootElement || window, 3056 n = e.offsetTop - this._element.offsetTop; 3057 if (i.scrollTo) return void i.scrollTo({ 3058 top: n, 3059 behavior: "smooth" 3060 }); 3061 i.scrollTop = n 3062 } 3063 }))) 3064 } 3065 _getNewObserver() { 3066 const t = { 3067 root: this._rootElement, 3068 threshold: this._config.threshold, 3069 rootMargin: this._config.rootMargin 3070 }; 3071 return new IntersectionObserver((t => this._observerCallback(t)), t) 3072 } 3073 _observerCallback(t) { 3074 const e = t => this._targetLinks.get(`#${t.target.id}`), 3075 i = t => { 3076 this._previousScrollData.visibleEntryTop = t.target.offsetTop, this._process(e(t)) 3077 }, 3078 n = (this._rootElement || document.documentElement).scrollTop, 3079 s = n >= this._previousScrollData.parentScrollTop; 3080 this._previousScrollData.parentScrollTop = n; 3081 for (const o of t) { 3082 if (!o.isIntersecting) { 3083 this._activeTarget = null, this._clearActiveClass(e(o)); 3084 continue 3085 } 3086 const t = o.target.offsetTop >= this._previousScrollData.visibleEntryTop; 3087 if (s && t) { 3088 if (i(o), !n) return 3089 } else s || t || i(o) 3090 } 3091 } 3092 _initializeTargetsAndObservables() { 3093 this._targetLinks = new Map, this._observableSections = new Map; 3094 const t = z.find(bs, this._config.target); 3095 for (const e of t) { 3096 if (!e.hash || l(e)) continue; 3097 const t = z.findOne(decodeURI(e.hash), this._element); 3098 a(t) && (this._targetLinks.set(decodeURI(e.hash), e), this._observableSections.set(e.hash, t)) 3099 } 3100 } 3101 _process(t) { 3102 this._activeTarget !== t && (this._clearActiveClass(this._config.target), this._activeTarget = t, t.classList.add(_s), this._activateParents(t), N.trigger(this._element, ps, { 3103 relatedTarget: t 3104 })) 3105 } 3106 _activateParents(t) { 3107 if (t.classList.contains("dropdown-item")) z.findOne(".dropdown-toggle", t.closest(".dropdown")).classList.add(_s); 3108 else 3109 for (const e of z.parents(t, ".nav, .list-group")) 3110 for (const t of z.prev(e, ys)) t.classList.add(_s) 3111 } 3112 _clearActiveClass(t) { 3113 t.classList.remove(_s); 3114 const e = z.find(`${bs}.${_s}`, t); 3115 for (const t of e) t.classList.remove(_s) 3116 } 3117 static jQueryInterface(t) { 3118 return this.each((function() { 3119 const e = Es.getOrCreateInstance(this, t); 3120 if ("string" == typeof t) { 3121 if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method n
3121amed "${t}"`); 3122 e[t]() 3123 } 3124 })) 3125 } 3126 } 3127 N.on(window, gs, (() => { 3128 for (const t of z.find('[data-bs-spy="scroll"]')) Es.getOrCreateInstance(t) 3129 })), m(Es); 3130 const Ts = ".bs.tab", 3131 Cs = `hide${Ts}`, 3132 Os = `hidden${Ts}`, 3133 xs = `show${Ts}`, 3134 ks = `shown${Ts}`, 3135 Ls = `click${Ts}`, 3136 Ss = `keydown${Ts}`, 3137 Ds = `load${Ts}`, 3138 $s = "ArrowLeft", 3139 Is = "ArrowRight", 3140 Ns = "ArrowUp", 3141 Ps = "ArrowDown", 3142 js = "Home", 3143 Ms = "End", 3144 Fs = "active", 3145 Hs = "fade", 3146 Ws = "show", 3147 Bs = ".dropdown-toggle", 3148 zs = `:not(${Bs})`, 3149 Rs = '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]', 3150 qs = `.nav-link${zs}, .list-group-item${zs}, [role="tab"]${zs}, ${Rs}`, 3151 Vs = `.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`; 3152 class Ks extends W { 3153 constructor(t) { 3154 super(t), this._parent = this._element.closest('.list-group, .nav, [role="tablist"]'), this._parent && (this._setInitialAttributes(this._parent, this._getChildren()), N.on(this._element, Ss, (t => this._keydown(t)))) 3155 } 3156 static get NAME() { 3157 return "tab" 3158 } 3159 show() { 3160 const t = this._element; 3161 if (this._elemIsActive(t)) return; 3162 const e = this._getActiveElem(), 3163 i = e ? N.trigger(e, Cs, { 3164 relatedTarget: t 3165 }) : null; 3166 N.trigger(t, xs, { 3167 relatedTarget: e 3168 }).defaultPrevented || i && i.defaultPrevented || (this._deactivate(e, t), this._activate(t, e)) 3169 } 3170 _activate(t, e) { 3171 t && (t.classList.add(Fs), this._activate(z.getElementFromSelector(t)), this._queueCallback((() => { 3172 "tab" === t.getAttribute("role") ? (t.removeAttribute("tabindex"), t.setAttribute("aria-selected", !0), this._toggleDropDown(t, !0), N.trigger(t, ks, { 3173 relatedTarget: e 3174 })) : t.classList.add(Ws) 3175 }), t, t.classList.contains(Hs))) 3176 } 3177 _deactivate(t, e) { 3178 t && (t.classList.remove(Fs), t.blur(), this._deactivate(z.getElementFromSelector(t)), this._queueCallback((() => { 3179 "tab" === t.getAttribute("role") ? (t.setAttribute("aria-selected", !1), t.setAttribute("tabindex", "-1"), this._toggleDropDown(t, !1), N.trigger(t, Os, { 3180 relatedTarget: e 3181 })) : t.classList.remove(Ws) 3182 }), t, t.classList.contains(Hs))) 3183 } 3184 _keydown(t) { 3185 if (![$s, Is, Ns, Ps, js, Ms].includes(t.key)) return; 3186 t.stopPropagation(), t.preventDefault(); 3187 const e = this._getChildren().filter((t => !l(t))); 3188 let i; 3189 if ([js, Ms].includes(t.key)) i = e[t.key === js ? 0 : e.length - 1]; 3190 else { 3191 const n = [Is, Ps].includes(t.key); 3192 i = b(e, t.target, n, !0) 3193 } 3194 i && (i.focus({ 3195 preventScroll: !0 3196 }), Ks.getOrCreateInstance(i).show()) 3197 } 3198 _getChildren() { 3199 return z.find(qs, this._parent) 3200 } 3201 _getActiveElem() { 3202 return this._getChildren().find((t => this._elemIsActive(t))) || null 3203 } 3204 _setInitialAttributes(t, e) { 3205 this._setAttributeIfNotExists(t, "role", "tablist"); 3206 for (const t of e) this._setInitialAttributesOnChild(t) 3207 } 3208 _setInitialAttributesOnChild(t) { 3209 t = this._getInnerElement(t); 3210 const e = this._elemIsActive(t), 3211 i = this._getOuterElement(t); 3212 t.setAttribute("aria-selected", e), i !== t && this._setAttributeIfNotExists(i, "role", "presentation"), e || t.setAttribute("tabindex", "-1"), this._setAttributeIfNotExists(t, "role", "tab"), this._setInitialAttributesOnTargetPanel(t) 3213 } 3214 _setInitialAttributesOnTargetPanel(t) { 3215 const e = z.getElementFromSelector(t); 3216 e && (this._setAttributeIfNotExists(e, "role", "tabpanel"), t.id && this._setAttributeIfNotExists(e, "aria-labelledby", `${t.id}`)) 3217 } 3218 _toggleDropDown(t, e) { 3219 const i = this._getOuterElement(t); 3220 if (!i.classList.contains("dropdown")) return; 3221 const n = (t, n) => { 3222 const s = z.findOne(t, i); 3223 s && s.classList.toggle(n, e) 3224 };
vendor: 4,623 bytes, lines 3225-3334
3225 n(Bs, Fs), n(".dropdown-menu", Ws), i.setAttribute("aria-expanded", e) 3226 } 3227 _setAttributeIfNotExists(t, e, i) { 3228 t.hasAttribute(e) || t.setAttribute(e, i) 3229 } 3230 _elemIsActive(t) { 3231 return t.classList.contains(Fs) 3232 } 3233 _getInnerElement(t) { 3234 return t.matches(qs) ? t : z.findOne(qs, t) 3235 } 3236 _getOuterElement(t) { 3237 return t.closest(".nav-item, .list-group-item") || t 3238 } 3239 static jQueryInterface(t) { 3240 return this.each((function() { 3241 const e = Ks.getOrCreateInstance(this); 3242 if ("string" == typeof t) { 3243 if (void 0 === e[t] || t.startsWith("_") || "constructor" === t) throw new TypeError(`No method named "${t}"`); 3244 e[t]() 3245 } 3246 })) 3247 } 3248 } 3249 N.on(document, Ls, Rs, (function(t) { 3250 ["A", "AREA"].includes(this.tagName) && t.preventDefault(), l(this) || Ks.getOrCreateInstance(this).show() 3251 })), N.on(window, Ds, (() => { 3252 for (const t of z.find(Vs)) Ks.getOrCreateInstance(t) 3253 })), m(Ks); 3254 const Qs = ".bs.toast", 3255 Xs = `mouseover${Qs}`, 3256 Ys = `mouseout${Qs}`, 3257 Us = `focusin${Qs}`, 3258 Gs = `focusout${Qs}`, 3259 Js = `hide${Qs}`, 3260 Zs = `hidden${Qs}`, 3261 to = `show${Qs}`, 3262 eo = `shown${Qs}`, 3263 io = "hide", 3264 no = "show", 3265 so = "showing", 3266 oo = { 3267 animation: "boolean", 3268 autohide: "boolean", 3269 delay: "number" 3270 }, 3271 ro = { 3272 animation: !0, 3273 autohide: !0, 3274 delay: 5e3 3275 }; 3276 class ao extends W { 3277 constructor(t, e) { 3278 super(t, e), this._timeout = null, this._hasMouseInteraction = !1, this._hasKeyboardInteraction = !1, this._setListeners() 3279 } 3280 static get Default() { 3281 return ro 3282 } 3283 static get DefaultType() { 3284 return oo 3285 } 3286 static get NAME() { 3287 return "toast" 3288 } 3289 show() { 3290 N.trigger(this._element, to).defaultPrevented || (this._clearTimeout(), this._config.animation && this._element.classList.add("fade"), this._element.classList.remove(io), d(this._element), this._element.classList.add(no, so), this._queueCallback((() => { 3291 this._element.classList.remove(so), N.trigger(this._element, eo), this._maybeScheduleHide() 3292 }), this._element, this._config.animation)) 3293 } 3294 hide() { 3295 this.isShown() && (N.trigger(this._element, Js).defaultPrevented || (this._element.classList.add(so), this._queueCallback((() => { 3296 this._element.classList.add(io), this._element.classList.remove(so, no), N.trigger(this._element, Zs) 3297 }), this._element, this._config.animation))) 3298 } 3299 dispose() { 3300 this._clearTimeout(), this.isShown() && this._element.classList.remove(no), super.dispose() 3301 } 3302 isShown() { 3303 return this._element.classList.contains(no) 3304 } 3305 _maybeScheduleHide() { 3306 this._config.autohide && (this._hasMouseInteraction || this._hasKeyboardInteraction || (this._timeout = setTimeout((() => { 3307 this.hide() 3308 }), this._config.delay))) 3309 } 3310 _onInteraction(t, e) { 3311 switch (t.type) { 3312 case "mouseover": 3313 case "mouseout": 3314 this._hasMouseInteraction = e; 3315 break; 3316 case "focusin": 3317 case "focusout": 3318 this._hasKeyboardInteraction = e 3319 } 3320 if (e) return void this._clearTimeout(); 3321 const i = t.relatedTarget; 3322 this._element === i || this._element.contains(i) || this._maybeScheduleHide() 3323 } 3324 _setListeners() { 3325 N.on(this._element, Xs, (t => this._onInteraction(t, !0))), N.on(this._element, Ys, (t => this._onInteraction(t, !1))), N.on(this._element, Us, (t => this._onInteraction(t, !0))), N.on(this._element, Gs, (t => this._onInteraction(t, !1))) 3326 } 3327 _clearTimeout() { 3328 clearTimeout(this._timeout), this._timeout = null 3329 } 3330 static jQueryInterface(t) { 3331 return this.each((function() { 3332 const e = ao.getOrCreateInstance(this, t); 3333 if ("string" == typeof t) { 3334 if (void 0 === e[t]) throw new TypeError(`No method n
3334amed "${t}"`); 3335 e[t](this) 3336 } 3337 })) 3338 } 3339 } 3340 return R(ao), m(ao), { 3341 Alert: Q, 3342 Button: Y, 3343 Carousel: xt, 3344 Collapse: Bt, 3345 Dropdown: qi, 3346 Modal: On, 3347 Offcanvas: qn, 3348 Popover: us, 3349 ScrollSpy: Es, 3350 Tab: Ks, 3351 Toast: ao, 3352 Tooltip: cs 3353 } 3354})); 3355//# sourceMappingURL=bootstrap.bundle.min.js.map 3356 3357 3358/** 3359 * Swiper 11.1.4 3360 * Most modern mobile touch slider and framework with hardware accelerated transitions 3361 * https://swiperjs.com 3362 * 3363 * Copyright 2014-2024 Vladimir Kharlampidi 3364 * 3365 * Released under the MIT License 3366 * 3367 * Released on: May 30, 2024 3368 */ 3369 3370var Swiper = function() { 3371 "use strict"; 3372 3373 function e(e) { 3374 return null !== e && "object" == typeof e && "constructor" in e && e.constructor === Object 3375 } 3376 3377 function t(s, a) { 3378 void 0 === s && (s = {}), void 0 === a && (a = {}), Object.keys(a).forEach((i => { 3379 void 0 === s[i] ? s[i] = a[i] : e(a[i]) && e(s[i]) && Object.keys(a[i]).length > 0 && t(s[i], a[i]) 3380 })) 3381 } 3382 const s = { 3383 body: {}, 3384 addEventListener() {}, 3385 removeEventListener() {}, 3386 activeElement: { 3387 blur() {}, 3388 nodeName: "" 3389 }, 3390 querySelector: () => null, 3391 querySelectorAll: () => [], 3392 getElementById: () => null, 3393 createEvent: () => ({ 3394 initEvent() {} 3395 }), 3396 createElement: () => ({ 3397 children: [], 3398 childNodes: [], 3399 style: {}, 3400 setAttribute() {}, 3401 getElementsByTagName: () => [] 3402 }), 3403 createElementNS: () => ({}), 3404 importNode: () => null, 3405 location: { 3406 hash: "", 3407 host: "", 3408 hostname: "", 3409 href: "", 3410 origin: "", 3411 pathname: "", 3412 protocol: "", 3413 search: "" 3414 } 3415 }; 3416 3417 function a() { 3418 const e = "undefined" != typeof document ? document : {}; 3419 return t(e, s), e 3420 } 3421 const i = { 3422 document: s, 3423 navigator: { 3424 userAgent: "" 3425 }, 3426 location: { 3427 hash: "", 3428 host: "", 3429 hostname: "", 3430 href: "", 3431 origin: "", 3432 pathname: "", 3433 protocol: "", 3434 search: "" 3435 }, 3436 history: { 3437 replaceState() {}, 3438 pushState() {}, 3439 go() {}, 3440 back() {} 3441 }, 3442 CustomEvent: function() { 3443 return this 3444 }, 3445 addEventListener() {}, 3446 removeEventListener() {}, 3447 getComputedStyle: () => ({ 3448 getPropertyValue: () => "" 3449 }), 3450 Image() {}, 3451 Date() {}, 3452 screen: {}, 3453 setTimeout() {}, 3454 clearTimeout() {}, 3455 matchMedia: () => ({}), 3456 requestAnimationFrame: e => "undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0), 3457 cancelAnimationFrame(e) { 3458 "undefined" != typeof setTimeout && clearTimeout(e) 3459 } 3460 }; 3461 3462 function r() { 3463 const e = "undefined" != typeof window ? window : {}; 3464 return t(e, i), e 3465 } 3466 3467 function n(e) { 3468 return void 0 === e && (e = ""), e.trim().split(" ").filter((e => !!e.trim())) 3469 } 3470 3471 function l(e, t) { 3472 return void 0 === t && (t = 0), setTimeout(e, t) 3473 } 3474 3475 function o() { 3476 return Date.now() 3477 } 3478 3479 function d(e, t) { 3480 void 0 === t && (t = "x"); 3481 const s = r(); 3482 let a, i, n; 3483 const l = function(e) { 3484 const t = r(); 3485 let s; 3486 return t.getComputedStyle && (s = t.getComputedStyle(e, null)), !s && e.currentStyle && (s = e.currentStyle), s || (s = e.style), s 3487 }(e); 3488 return s.WebKitCSSMatrix ? (i = l.transform || l.webkitTransform, i.split(",").length > 6 && (i = i.split(", ").map((e => e.replace(",", "."))).join(", ")), n = new s.WebKitCSSMatrix("none" === i ? "" : i)) : (n = l.MozTransform || l.OTransform || l.MsTransform || l.msTransform || l.transform || l.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,"), a = n.toString().split(",")), "x" === t && (i = s.WebKitCSSMatrix ? n.m41 : 16 === a.length ? parseFloat(a[12]) : parseFloat(a[4])), "y" === t && (i = s.WebKitCSSMatrix ? n.m42 : 16 === a.length ? parseFloat(a[13]) : parseFloat(a[5])), i || 0 3489 } 3490 3491 function c(e) { 3492 return "object" == typeof e && null !== e && e.constructor && "Object" === Object.prototype.toString.call(e).slice(8, -1) 3493 } 3494 3495 function p() { 3496 const e = Object(arguments.length <= 0 ? void 0 : arguments[0]), 3497 t = ["__proto__", "constructor", "prototype"]; 3498 for (let a = 1; a < arguments.length; a += 1) { 3499 const i = a < 0 || arguments.length <= a ? void 0 : arguments[a]; 3500 if (null != i && (s = i, !("undefined" != typeof window && void 0 !== window.HTMLElement ? s instanceof HTMLElement : s && (1 === s.nodeType || 11 === s.nodeType)))) { 3501 const s = Object.keys(Object(i)).filter((e => t.indexOf(e) < 0)); 3502 for (let t = 0, a = s.length; t < a; t += 1) { 3503 const a = s[t], 3504 r = Object.getOwnPropertyDescriptor(i, a); 3505 void 0 !== r && r.enumerable && (c(e[a]) && c(i[a]) ? i[a].__swiper__ ? e[a] = i[a] : p(e[a], i[a]) : !c(e[a]) && c(i[a]) ? (e[a] = {}, i[a].__swiper__ ? e[a] = i[a] : p(e[a], i[a])) : e[a] = i[a]) 3506 } 3507 } 3508 } 3509 var s; 3510 return e 3511 } 3512 3513 function u(e, t, s) { 3514 e.style.setProperty(t, s) 3515 } 3516 3517 function m(e) { 3518 let { 3519 swiper: t, 3520 targetPosition: s, 3521 side: a 3522 } = e; 3523 const i = r(), 3524 n = -t.translate; 3525 let l, o = null; 3526 const d = t.params.speed; 3527 t.wrapperEl.style.scrollSnapType = "none", i.cancelAnimationFrame(t.cssModeFrameID); 3528 const c = s > n ? "next" : "prev", 3529 p = (e, t) => "next" === c && e >= t || "prev" === c && e <= t, 3530 u = () => { 3531 l = (new Date).getTime(), null === o && (o = l); 3532 const e = Math.max(Math.min((l - o) / d, 1), 0), 3533 r = .5 - Math.cos(e * Math.PI) / 2; 3534 let c = n + r * (s - n); 3535 if (p(c, s) && (c = s), t.wrapperEl.scrollTo({ 3536 [a]: c 3537 }), p(c, s)) return t.wrapperEl.style.overflow = "hidden", t.wrapperEl.style.scrollSnapType = "", setTimeout((() => { 3538 t.wrapperEl.style.overflow = "", t.wrapperEl.scrollTo({ 3539 [a]: c 3540 }) 3541 })), void i.cancelAnimationFrame(t.cssModeFrameID); 3542 t.cssModeFrameID = i.requestAnimationFrame(u) 3543 }; 3544 u() 3545 } 3546 3547 function h(e) { 3548 return e.querySelector(".swiper-slide-transform") || e.shadowRoot && e.shadowRoot.querySelector(".swiper-slide-transform") || e 3549 } 3550 3551 function f(e, t) { 3552 return void 0 === t && (t = ""), [...e.children].filter((e => e.matches(t))) 3553 } 3554 3555 function g(e) { 3556 try { 3557 return void console.warn(e) 3558 } catch (e) {} 3559 } 3560 3561 function v(e, t) { 3562 void 0 === t && (t = []); 3563 const s = document.createElement(e); 3564 return s.classList.add(...Array.isArray(t) ? t : n(t)), s 3565 } 3566 3567 function w(e) { 3568 const t = r(), 3569 s = a(), 3570 i = e.getBoundingClientRect(), 3571 n = s.body, 3572 l = e.clientTop || n.clientTop || 0, 3573 o = e.clientLeft || n.clientLeft || 0, 3574 d = e === t ? t.scrollY : e.scrollTop, 3575 c = e === t ? t.scrollX : e.scrollLeft; 3576 return { 3577 top: i.top + d - l, 3578 left: i.left + c - o 3579 } 3580 } 3581 3582 function b(e, t) { 3583 return r().getComputedStyle(e, null).getPropertyValue(t) 3584 } 3585 3586 function y(e) { 3587 let t, s = e; 3588 if (s) { 3589 for (t = 0; null !== (s = s.previousSibling);) 1 === s.nodeType && (t += 1); 3590 return t 3591 } 3592 } 3593 3594 function E(e, t) { 3595 const s = []; 3596 let a = e.parentElement; 3597 for (; a;) t ? a.matches(t) && s.push(a) : s.push(a), a = a.parentElement; 3598 return s 3599 } 3600 3601 function x(e, t) { 3602 t && e.addEventListener("transitionend", (function s(a) { 3603 a.target === e && (t.call(e, a), e.removeEventListener("transitionend", s)) 3604 })) 3605 } 3606 3607 function S(e, t, s) { 3608 const a = r(); 3609 return s ? e["width" === t ? "offsetWidth" : "offsetHeight"] + parseFloat(a.getComputedStyle(e, null).getPropertyValue("width" === t ? "margin-right" : "margin-top")) + parseFloat(a.getComputedStyle(e, null).getPropertyValue("width" === t ? "margin-left" : "margin-bottom")) : e.offsetWidth 3610 } 3611 3612 function T(e) { 3613 return (Array.isArray(e) ? e : [e]).filter((e => !!e)) 3614 } 3615 let M, C, P; 3616 3617 function L() { 3618 return M || (M = function() { 3619 const e = r(), 3620 t = a(); 3621 return { 3622 smoothScroll: t.documentElement && t.documentElement.style && "scrollBehavior" in t.documentElement.style, 3623 touch: !!("ontouchstart" in e || e.DocumentTouch && t instanceof e.DocumentTouch) 3624 } 3625 }()), M 3626 } 3627 3628 function I(e) { 3629 return void 0 === e && (e = {}), C || (C = function(e) { 3630 let { 3631 userAgent: t 3632 } = void 0 === e ? {} : e; 3633 const s = L(), 3634 a = r(), 3635 i = a.navigator.platform, 3636 n = t || a.navigator.userAgent, 3637 l = { 3638 ios: !1, 3639 android: !1 3640 }, 3641 o = a.screen.width, 3642 d = a.screen.height, 3643 c = n.match(/(Android);?[\s\/]+([\d.]+)?/);
vendor: 4,106 bytes, lines 3644-3730
3644 let p = n.match(/(iPad).*OS\s([\d_]+)/); 3645 const u = n.match(/(iPod)(.*OS\s([\d_]+))?/), 3646 m = !p && n.match(/(iPhone\sOS|iOS)\s([\d_]+)/), 3647 h = "Win32" === i; 3648 let f = "MacIntel" === i; 3649 return !p && f && s.touch && ["1024x1366", "1366x1024", "834x1194", "1194x834", "834x1112", "1112x834", "768x1024", "1024x768", "820x1180", "1180x820", "810x1080", "1080x810"].indexOf(`${o}x${d}`) >= 0 && (p = n.match(/(Version)\/([\d.]+)/), p || (p = [0, 1, "13_0_0"]), f = !1), c && !h && (l.os = "android", l.android = !0), (p || m || u) && (l.os = "ios", l.ios = !0), l 3650 }(e)), C 3651 } 3652 3653 function A() { 3654 return P || (P = function() { 3655 const e = r(), 3656 t = I(); 3657 let s = !1; 3658 3659 function a() { 3660 const t = e.navigator.userAgent.toLowerCase(); 3661 return t.indexOf("safari") >= 0 && t.indexOf("chrome") < 0 && t.indexOf("android") < 0 3662 } 3663 if (a()) { 3664 const t = String(e.navigator.userAgent); 3665 if (t.includes("Version/")) { 3666 const [e, a] = t.split("Version/")[1].split(" ")[0].split(".").map((e => Number(e))); 3667 s = e < 16 || 16 === e && a < 2 3668 } 3669 } 3670 const i = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent), 3671 n = a(); 3672 return { 3673 isSafari: s || n, 3674 needPerspectiveFix: s, 3675 need3dFix: n || i && t.ios, 3676 isWebView: i 3677 } 3678 }()), P 3679 } 3680 var z = { 3681 on(e, t, s) { 3682 const a = this; 3683 if (!a.eventsListeners || a.destroyed) return a; 3684 if ("function" != typeof t) return a; 3685 const i = s ? "unshift" : "push"; 3686 return e.split(" ").forEach((e => { 3687 a.eventsListeners[e] || (a.eventsListeners[e] = []), a.eventsListeners[e][i](t) 3688 })), a 3689 }, 3690 once(e, t, s) { 3691 const a = this; 3692 if (!a.eventsListeners || a.destroyed) return a; 3693 if ("function" != typeof t) return a; 3694 3695 function i() { 3696 a.off(e, i), i.__emitterProxy && delete i.__emitterProxy; 3697 for (var s = arguments.length, r = new Array(s), n = 0; n < s; n++) r[n] = arguments[n]; 3698 t.apply(a, r) 3699 } 3700 return i.__emitterProxy = t, a.on(e, i, s) 3701 }, 3702 onAny(e, t) { 3703 const s = this; 3704 if (!s.eventsListeners || s.destroyed) return s; 3705 if ("function" != typeof e) return s; 3706 const a = t ? "unshift" : "push"; 3707 return s.eventsAnyListeners.indexOf(e) < 0 && s.eventsAnyListeners[a](e), s 3708 }, 3709 offAny(e) { 3710 const t = this; 3711 if (!t.eventsListeners || t.destroyed) return t; 3712 if (!t.eventsAnyListeners) return t; 3713 const s = t.eventsAnyListeners.indexOf(e); 3714 return s >= 0 && t.eventsAnyListeners.splice(s, 1), t 3715 }, 3716 off(e, t) { 3717 const s = this; 3718 return !s.eventsListeners || s.destroyed ? s : s.eventsListeners ? (e.split(" ").forEach((e => { 3719 void 0 === t ? s.eventsListeners[e] = [] : s.eventsListeners[e] && s.eventsListeners[e].forEach(((a, i) => { 3720 (a === t || a.__emitterProxy && a.__emitterProxy === t) && s.eventsListeners[e].splice(i, 1) 3721 })) 3722 })), s) : s 3723 }, 3724 emit() { 3725 const e = this; 3726 if (!e.eventsListeners || e.destroyed) return e; 3727 if (!e.eventsListeners) return e; 3728 let t, s, a; 3729 for (var i = arguments.length, r = new Array(i), n = 0; n < i; n++) r[n] = arguments[n]; 3730 "string" == typeof r[0] || Array.isArray(r[0]) ? (t = r[0], s = r.slice(1, r.length), a = e) : (t = r[0].events, s = r[0].data, a = r[0].context || e), s.unshift(a);
vendor: 4,925 bytes, lines 3731-3829
3731 return (Array.isArray(t) ? t : t.split(" ")).forEach((t => { 3732 e.eventsAnyListeners && e.eventsAnyListeners.length && e.eventsAnyListeners.forEach((e => { 3733 e.apply(a, [t, ...s]) 3734 })), e.eventsListeners && e.eventsListeners[t] && e.eventsListeners[t].forEach((e => { 3735 e.apply(a, s) 3736 })) 3737 })), e 3738 } 3739 }; 3740 const $ = (e, t, s) => { 3741 t && !e.classList.contains(s) ? e.classList.add(s) : !t && e.classList.contains(s) && e.classList.remove(s) 3742 }; 3743 const k = (e, t, s) => { 3744 t && !e.classList.contains(s) ? e.classList.add(s) : !t && e.classList.contains(s) && e.classList.remove(s) 3745 }; 3746 const O = (e, t) => { 3747 if (!e || e.destroyed || !e.params) return; 3748 const s = t.closest(e.isElement ? "swiper-slide" : `.${e.params.slideClass}`); 3749 if (s) { 3750 let t = s.querySelector(`.${e.params.lazyPreloaderClass}`); 3751 !t && e.isElement && (s.shadowRoot ? t = s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`) : requestAnimationFrame((() => { 3752 s.shadowRoot && (t = s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`), t && t.remove()) 3753 }))), t && t.remove() 3754 } 3755 }, 3756 D = (e, t) => { 3757 if (!e.slides[t]) return; 3758 const s = e.slides[t].querySelector('[loading="lazy"]'); 3759 s && s.removeAttribute("loading") 3760 }, 3761 G = e => { 3762 if (!e || e.destroyed || !e.params) return; 3763 let t = e.params.lazyPreloadPrevNext; 3764 const s = e.slides.length; 3765 if (!s || !t || t < 0) return; 3766 t = Math.min(t, s); 3767 const a = "auto" === e.params.slidesPerView ? e.slidesPerViewDynamic() : Math.ceil(e.params.slidesPerView), 3768 i = e.activeIndex; 3769 if (e.params.grid && e.params.grid.rows > 1) { 3770 const s = i, 3771 r = [s - t]; 3772 return r.push(...Array.from({ 3773 length: t 3774 }).map(((e, t) => s + a + t))), void e.slides.forEach(((t, s) => { 3775 r.includes(t.column) && D(e, s) 3776 })) 3777 } 3778 const r = i + a - 1; 3779 if (e.params.rewind || e.params.loop) 3780 for (let a = i - t; a <= r + t; a += 1) { 3781 const t = (a % s + s) % s; 3782 (t < i || t > r) && D(e, t) 3783 } else 3784 for (let a = Math.max(i - t, 0); a <= Math.min(r + t, s - 1); a += 1) a !== i && (a > r || a < i) && D(e, a) 3785 }; 3786 var H = { 3787 updateSize: function() { 3788 const e = this; 3789 let t, s; 3790 const a = e.el; 3791 t = void 0 !== e.params.width && null !== e.params.width ? e.params.width : a.clientWidth, s = void 0 !== e.params.height && null !== e.params.height ? e.params.height : a.clientHeight, 0 === t && e.isHorizontal() || 0 === s && e.isVertical() || (t = t - parseInt(b(a, "padding-left") || 0, 10) - parseInt(b(a, "padding-right") || 0, 10), s = s - parseInt(b(a, "padding-top") || 0, 10) - parseInt(b(a, "padding-bottom") || 0, 10), Number.isNaN(t) && (t = 0), Number.isNaN(s) && (s = 0), Object.assign(e, { 3792 width: t, 3793 height: s, 3794 size: e.isHorizontal() ? t : s 3795 })) 3796 }, 3797 updateSlides: function() { 3798 const e = this; 3799 3800 function t(t, s) { 3801 return parseFloat(t.getPropertyValue(e.getDirectionLabel(s)) || 0) 3802 } 3803 const s = e.params, 3804 { 3805 wrapperEl: a, 3806 slidesEl: i, 3807 size: r, 3808 rtlTranslate: n, 3809 wrongRTL: l 3810 } = e, 3811 o = e.virtual && s.virtual.enabled, 3812 d = o ? e.virtual.slides.length : e.slides.length, 3813 c = f(i, `.${e.params.slideClass}, swiper-slide`), 3814 p = o ? e.virtual.slides.length : c.length; 3815 let m = []; 3816 const h = [], 3817 g = []; 3818 let v = s.slidesOffsetBefore; 3819 "function" == typeof v && (v = s.slidesOffsetBefore.call(e)); 3820 let w = s.slidesOffsetAfter; 3821 "function" == typeof w && (w = s.slidesOffsetAfter.call(e)); 3822 const y = e.snapGrid.length, 3823 E = e.slidesGrid.length; 3824 let x = s.spaceBetween, 3825 T = -v, 3826 M = 0, 3827 C = 0; 3828 if (void 0 === r) return; 3829 "string" == typeof x && x.indexOf("%") >= 0 ? x = parseFloat(x.replace("%", "")) / 100 * r : "string" == typeof x && (x = parseFloat(x)), e.virtualSize = -x, c.forEac
vendor: 4,406 bytes, lines 3829-3885
3829h((e => { 3830 n ? e.style.marginLeft = "" : e.style.marginRight = "", e.style.marginBottom = "", e.style.marginTop = "" 3831 })), s.centeredSlides && s.cssMode && (u(a, "--swiper-centered-offset-before", ""), u(a, "--swiper-centered-offset-after", "")); 3832 const P = s.grid && s.grid.rows > 1 && e.grid; 3833 let L; 3834 P ? e.grid.initSlides(c) : e.grid && e.grid.unsetSlides(); 3835 const I = "auto" === s.slidesPerView && s.breakpoints && Object.keys(s.breakpoints).filter((e => void 0 !== s.breakpoints[e].slidesPerView)).length > 0; 3836 for (let a = 0; a < p; a += 1) { 3837 let i; 3838 if (L = 0, c[a] && (i = c[a]), P && e.grid.updateSlide(a, i, c), !c[a] || "none" !== b(i, "display")) { 3839 if ("auto" === s.slidesPerView) { 3840 I && (c[a].style[e.getDirectionLabel("width")] = ""); 3841 const r = getComputedStyle(i), 3842 n = i.style.transform, 3843 l = i.style.webkitTransform; 3844 if (n && (i.style.transform = "none"), l && (i.style.webkitTransform = "none"), s.roundLengths) L = e.isHorizontal() ? S(i, "width", !0) : S(i, "height", !0); 3845 else { 3846 const e = t(r, "width"), 3847 s = t(r, "padding-left"), 3848 a = t(r, "padding-right"), 3849 n = t(r, "margin-left"), 3850 l = t(r, "margin-right"), 3851 o = r.getPropertyValue("box-sizing"); 3852 if (o && "border-box" === o) L = e + n + l; 3853 else { 3854 const { 3855 clientWidth: t, 3856 offsetWidth: r 3857 } = i; 3858 L = e + s + a + n + l + (r - t) 3859 } 3860 } 3861 n && (i.style.transform = n), l && (i.style.webkitTransform = l), s.roundLengths && (L = Math.floor(L)) 3862 } else L = (r - (s.slidesPerView - 1) * x) / s.slidesPerView, s.roundLengths && (L = Math.floor(L)), c[a] && (c[a].style[e.getDirectionLabel("width")] = `${L}px`); 3863 c[a] && (c[a].swiperSlideSize = L), g.push(L), s.centeredSlides ? (T = T + L / 2 + M / 2 + x, 0 === M && 0 !== a && (T = T - r / 2 - x), 0 === a && (T = T - r / 2 - x), Math.abs(T) < .001 && (T = 0), s.roundLengths && (T = Math.floor(T)), C % s.slidesPerGroup == 0 && m.push(T), h.push(T)) : (s.roundLengths && (T = Math.floor(T)), (C - Math.min(e.params.slidesPerGroupSkip, C)) % e.params.slidesPerGroup == 0 && m.push(T), h.push(T), T = T + L + x), e.virtualSize += L + x, M = L, C += 1 3864 } 3865 } 3866 if (e.virtualSize = Math.max(e.virtualSize, r) + w, n && l && ("slide" === s.effect || "coverflow" === s.effect) && (a.style.width = `${e.virtualSize+x}px`), s.setWrapperSize && (a.style[e.getDirectionLabel("width")] = `${e.virtualSize+x}px`), P && e.grid.updateWrapperSize(L, m), !s.centeredSlides) { 3867 const t = []; 3868 for (let a = 0; a < m.length; a += 1) { 3869 let i = m[a]; 3870 s.roundLengths && (i = Math.floor(i)), m[a] <= e.virtualSize - r && t.push(i) 3871 } 3872 m = t, Math.floor(e.virtualSize - r) - Math.floor(m[m.length - 1]) > 1 && m.push(e.virtualSize - r) 3873 } 3874 if (o && s.loop) { 3875 const t = g[0] + x; 3876 if (s.slidesPerGroup > 1) { 3877 const a = Math.ceil((e.virtual.slidesBefore + e.virtual.slidesAfter) / s.slidesPerGroup), 3878 i = t * s.slidesPerGroup; 3879 for (let e = 0; e < a; e += 1) m.push(m[m.length - 1] + i) 3880 } 3881 for (let a = 0; a < e.virtual.slidesBefore + e.virtual.slidesAfter; a += 1) 1 === s.slidesPerGroup && m.push(m[m.length - 1] + t), h.push(h[h.length - 1] + t), e.virtualSize += t 3882 } 3883 if (0 === m.length && (m = [0]), 0 !== x) { 3884 const t = e.isHorizontal() && n ? "marginLeft" : e.getDirectionLabel("marginRight"); 3885 c.filter(((e, t) =>
vendor: 29,932 bytes, lines 3885-4449
3885 !(s.cssMode && !s.loop) || t !== c.length - 1)).forEach((e => { 3886 e.style[t] = `${x}px` 3887 })) 3888 } 3889 if (s.centeredSlides && s.centeredSlidesBounds) { 3890 let e = 0; 3891 g.forEach((t => { 3892 e += t + (x || 0) 3893 })), e -= x; 3894 const t = e - r; 3895 m = m.map((e => e <= 0 ? -v : e > t ? t + w : e)) 3896 } 3897 if (s.centerInsufficientSlides) { 3898 let e = 0; 3899 g.forEach((t => { 3900 e += t + (x || 0) 3901 })), e -= x; 3902 const t = (s.slidesOffsetBefore || 0) + (s.slidesOffsetAfter || 0); 3903 if (e + t < r) { 3904 const s = (r - e - t) / 2; 3905 m.forEach(((e, t) => { 3906 m[t] = e - s 3907 })), h.forEach(((e, t) => { 3908 h[t] = e + s 3909 })) 3910 } 3911 } 3912 if (Object.assign(e, { 3913 slides: c, 3914 snapGrid: m, 3915 slidesGrid: h, 3916 slidesSizesGrid: g 3917 }), s.centeredSlides && s.cssMode && !s.centeredSlidesBounds) { 3918 u(a, "--swiper-centered-offset-before", -m[0] + "px"), u(a, "--swiper-centered-offset-after", e.size / 2 - g[g.length - 1] / 2 + "px"); 3919 const t = -e.snapGrid[0], 3920 s = -e.slidesGrid[0]; 3921 e.snapGrid = e.snapGrid.map((e => e + t)), e.slidesGrid = e.slidesGrid.map((e => e + s)) 3922 } 3923 if (p !== d && e.emit("slidesLengthChange"), m.length !== y && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), h.length !== E && e.emit("slidesGridLengthChange"), s.watchSlidesProgress && e.updateSlidesOffset(), e.emit("slidesUpdated"), !(o || s.cssMode || "slide" !== s.effect && "fade" !== s.effect)) { 3924 const t = `${s.containerModifierClass}backface-hidden`, 3925 a = e.el.classList.contains(t); 3926 p <= s.maxBackfaceHiddenSlides ? a || e.el.classList.add(t) : a && e.el.classList.remove(t) 3927 } 3928 }, 3929 updateAutoHeight: function(e) { 3930 const t = this, 3931 s = [], 3932 a = t.virtual && t.params.virtual.enabled; 3933 let i, r = 0; 3934 "number" == typeof e ? t.setTransition(e) : !0 === e && t.setTransition(t.params.speed); 3935 const n = e => a ? t.slides[t.getSlideIndexByData(e)] : t.slides[e]; 3936 if ("auto" !== t.params.slidesPerView && t.params.slidesPerView > 1) 3937 if (t.params.centeredSlides)(t.visibleSlides || []).forEach((e => { 3938 s.push(e) 3939 })); 3940 else 3941 for (i = 0; i < Math.ceil(t.params.slidesPerView); i += 1) { 3942 const e = t.activeIndex + i; 3943 if (e > t.slides.length && !a) break; 3944 s.push(n(e)) 3945 } else s.push(n(t.activeIndex)); 3946 for (i = 0; i < s.length; i += 1) 3947 if (void 0 !== s[i]) { 3948 const e = s[i].offsetHeight; 3949 r = e > r ? e : r 3950 }(r || 0 === r) && (t.wrapperEl.style.height = `${r}px`) 3951 }, 3952 updateSlidesOffset: function() { 3953 const e = this, 3954 t = e.slides, 3955 s = e.isElement ? e.isHorizontal() ? e.wrapperEl.offsetLeft : e.wrapperEl.offsetTop : 0; 3956 for (let a = 0; a < t.length; a += 1) t[a].swiperSlideOffset = (e.isHorizontal() ? t[a].offsetLeft : t[a].offsetTop) - s - e.cssOverflowAdjustment() 3957 }, 3958 updateSlidesProgress: function(e) { 3959 void 0 === e && (e = this && this.translate || 0); 3960 const t = this, 3961 s = t.params, 3962 { 3963 slides: a, 3964 rtlTranslate: i, 3965 snapGrid: r 3966 } = t; 3967 if (0 === a.length) return; 3968 void 0 === a[0].swiperSlideOffset && t.updateSlidesOffset(); 3969 let n = -e; 3970 i && (n = e), t.visibleSlidesIndexes = [], t.visibleSlides = []; 3971 let l = s.spaceBetween; 3972 "string" == typeof l && l.indexOf("%") >= 0 ? l = parseFloat(l.replace("%", "")) / 100 * t.size : "string" == typeof l && (l = parseFloat(l)); 3973 for (let e = 0; e < a.length; e += 1) { 3974 const o = a[e]; 3975 let d = o.swiperSlideOffset; 3976 s.cssMode && s.centeredSlides && (d -= a[0].swiperSlideOffset); 3977 const c = (n + (s.centeredSlides ? t.minTranslate() : 0) - d) / (o.swiperSlideSize + l), 3978 p = (n - r[0] + (s.centeredSlides ? t.minTranslate() : 0) - d) / (o.swiperSlideSize + l), 3979 u = -(n - d), 3980 m = u + t.slidesSizesGrid[e], 3981 h = u >= 0 && u <= t.size - t.slidesSizesGrid[e], 3982 f = u >= 0 && u < t.size - 1 || m > 1 && m <= t.size || u <= 0 && m >= t.size; 3983 f && (t.visibleSlides.push(o), t.visibleSlidesIndexes.push(e)), $(o, f, s.slideVisibleClass), $(o, h, s.slideFullyVisibleClass), o.progress = i ? -c : c, o.originalProgress = i ? -p : p 3984 } 3985 }, 3986 updateProgress: function(e) { 3987 const t = this; 3988 if (void 0 === e) { 3989 const s = t.rtlTranslate ? -1 : 1; 3990 e = t && t.translate && t.translate * s || 0 3991 } 3992 const s = t.params, 3993 a = t.maxTranslate() - t.minTranslate(); 3994 let { 3995 progress: i, 3996 isBeginning: r, 3997 isEnd: n, 3998 progressLoop: l 3999 } = t; 4000 const o = r, 4001 d = n; 4002 if (0 === a) i = 0, r = !0, n = !0; 4003 else { 4004 i = (e - t.minTranslate()) / a; 4005 const s = Math.abs(e - t.minTranslate()) < 1, 4006 l = Math.abs(e - t.maxTranslate()) < 1; 4007 r = s || i <= 0, n = l || i >= 1, s && (i = 0), l && (i = 1) 4008 } 4009 if (s.loop) { 4010 const s = t.getSlideIndexByData(0), 4011 a = t.getSlideIndexByData(t.slides.length - 1), 4012 i = t.slidesGrid[s], 4013 r = t.slidesGrid[a], 4014 n = t.slidesGrid[t.slidesGrid.length - 1], 4015 o = Math.abs(e); 4016 l = o >= i ? (o - i) / n : (o + n - r) / n, l > 1 && (l -= 1) 4017 } 4018 Object.assign(t, { 4019 progress: i, 4020 progressLoop: l, 4021 isBeginning: r, 4022 isEnd: n 4023 }), (s.watchSlidesProgress || s.centeredSlides && s.autoHeight) && t.updateSlidesProgress(e), r && !o && t.emit("reachBeginning toEdge"), n && !d && t.emit("reachEnd toEdge"), (o && !r || d && !n) && t.emit("fromEdge"), t.emit("progress", i) 4024 }, 4025 updateSlidesClasses: function() { 4026 const e = this, 4027 { 4028 slides: t, 4029 params: s, 4030 slidesEl: a, 4031 activeIndex: i 4032 } = e, 4033 r = e.virtual && s.virtual.enabled, 4034 n = e.grid && s.grid && s.grid.rows > 1, 4035 l = e => f(a, `.${s.slideClass}${e}, swiper-slide${e}`)[0]; 4036 let o, d, c; 4037 if (r) 4038 if (s.loop) { 4039 let t = i - e.virtual.slidesBefore; 4040 t < 0 && (t = e.virtual.slides.length + t), t >= e.virtual.slides.length && (t -= e.virtual.slides.length), o = l(`[data-swiper-slide-index="${t}"]`) 4041 } else o = l(`[data-swiper-slide-index="${i}"]`); 4042 else n ? (o = t.filter((e => e.column === i))[0], c = t.filter((e => e.column === i + 1))[0], d = t.filter((e => e.column === i - 1))[0]) : o = t[i]; 4043 o && (n || (c = function(e, t) { 4044 const s = []; 4045 for (; e.nextElementSibling;) { 4046 const a = e.nextElementSibling; 4047 t ? a.matches(t) && s.push(a) : s.push(a), e = a 4048 } 4049 return s 4050 }(o, `.${s.slideClass}, swiper-slide`)[0], s.loop && !c && (c = t[0]), d = function(e, t) { 4051 const s = []; 4052 for (; e.previousElementSibling;) { 4053 const a = e.previousElementSibling; 4054 t ? a.matches(t) && s.push(a) : s.push(a), e = a 4055 } 4056 return s 4057 }(o, `.${s.slideClass}, swiper-slide`)[0], s.loop && 0 === !d && (d = t[t.length - 1]))), t.forEach((e => { 4058 k(e, e === o, s.slideActiveClass), k(e, e === c, s.slideNextClass), k(e, e === d, s.slidePrevClass) 4059 })), e.emitSlidesClasses() 4060 }, 4061 updateActiveIndex: function(e) { 4062 const t = this, 4063 s = t.rtlTranslate ? t.translate : -t.translate, 4064 { 4065 snapGrid: a, 4066 params: i, 4067 activeIndex: r, 4068 realIndex: n, 4069 snapIndex: l 4070 } = t; 4071 let o, d = e; 4072 const c = e => { 4073 let s = e - t.virtual.slidesBefore; 4074 return s < 0 && (s = t.virtual.slides.length + s), s >= t.virtual.slides.length && (s -= t.virtual.slides.length), s 4075 }; 4076 if (void 0 === d && (d = function(e) { 4077 const { 4078 slidesGrid: t, 4079 params: s 4080 } = e, a = e.rtlTranslate ? e.translate : -e.translate; 4081 let i; 4082 for (let e = 0; e < t.length; e += 1) void 0 !== t[e + 1] ? a >= t[e] && a < t[e + 1] - (t[e + 1] - t[e]) / 2 ? i = e : a >= t[e] && a < t[e + 1] && (i = e + 1) : a >= t[e] && (i = e); 4083 return s.normalizeSlideIndex && (i < 0 || void 0 === i) && (i = 0), i 4084 }(t)), a.indexOf(s) >= 0) o = a.indexOf(s); 4085 else { 4086 const e = Math.min(i.slidesPerGroupSkip, d); 4087 o = e + Math.floor((d - e) / i.slidesPerGroup) 4088 } 4089 if (o >= a.length && (o = a.length - 1), d === r && !t.params.loop) return void(o !== l && (t.snapIndex = o, t.emit("snapIndexChange"))); 4090 if (d === r && t.params.loop && t.virtual && t.params.virtual.enabled) return void(t.realIndex = c(d)); 4091 const p = t.grid && i.grid && i.grid.rows > 1; 4092 let u; 4093 if (t.virtual && i.virtual.enabled && i.loop) u = c(d); 4094 else if (p) { 4095 const e = t.slides.filter((e => e.column === d))[0]; 4096 let s = parseInt(e.getAttribute("data-swiper-slide-index"), 10); 4097 Number.isNaN(s) && (s = Math.max(t.slides.indexOf(e), 0)), u = Math.floor(s / i.grid.rows) 4098 } else if (t.slides[d]) { 4099 const e = t.slides[d].getAttribute("data-swiper-slide-index"); 4100 u = e ? parseInt(e, 10) : d 4101 } else u = d; 4102 Object.assign(t, { 4103 previousSnapIndex: l, 4104 snapIndex: o, 4105 previousRealIndex: n, 4106 realIndex: u, 4107 previousIndex: r, 4108 activeIndex: d 4109 }), t.initialized && G(t), t.emit("activeIndexChange"), t.emit("snapIndexChange"), (t.initialized || t.params.runCallbacksOnInit) && (n !== u && t.emit("realIndexChange"), t.emit("slideChange")) 4110 }, 4111 updateClickedSlide: function(e, t) { 4112 const s = this, 4113 a = s.params; 4114 let i = e.closest(`.${a.slideClass}, swiper-slide`); 4115 !i && s.isElement && t && t.length > 1 && t.includes(e) && [...t.slice(t.indexOf(e) + 1, t.length)].forEach((e => { 4116 !i && e.matches && e.matches(`.${a.slideClass}, swiper-slide`) && (i = e) 4117 })); 4118 let r, n = !1; 4119 if (i) 4120 for (let e = 0; e < s.slides.length; e += 1) 4121 if (s.slides[e] === i) { 4122 n = !0, r = e; 4123 break 4124 } if (!i || !n) return s.clickedSlide = void 0, void(s.clickedIndex = void 0); 4125 s.clickedSlide = i, s.virtual && s.params.virtual.enabled ? s.clickedIndex = parseInt(i.getAttribute("data-swiper-slide-index"), 10) : s.clickedIndex = r, a.slideToClickedSlide && void 0 !== s.clickedIndex && s.clickedIndex !== s.activeIndex && s.slideToClickedSlide() 4126 } 4127 }; 4128 var N = { 4129 getTranslate: function(e) { 4130 void 0 === e && (e = this.isHorizontal() ? "x" : "y"); 4131 const { 4132 params: t, 4133 rtlTranslate: s, 4134 translate: a, 4135 wrapperEl: i 4136 } = this; 4137 if (t.virtualTranslate) return s ? -a : a; 4138 if (t.cssMode) return a; 4139 let r = d(i, e); 4140 return r += this.cssOverflowAdjustment(), s && (r = -r), r || 0 4141 }, 4142 setTranslate: function(e, t) { 4143 const s = this, 4144 { 4145 rtlTranslate: a, 4146 params: i, 4147 wrapperEl: r, 4148 progress: n 4149 } = s; 4150 let l, o = 0, 4151 d = 0; 4152 s.isHorizontal() ? o = a ? -e : e : d = e, i.roundLengths && (o = Math.floor(o), d = Math.floor(d)), s.previousTranslate = s.translate, s.translate = s.isHorizontal() ? o : d, i.cssMode ? r[s.isHorizontal() ? "scrollLeft" : "scrollTop"] = s.isHorizontal() ? -o : -d : i.virtualTranslate || (s.isHorizontal() ? o -= s.cssOverflowAdjustment() : d -= s.cssOverflowAdjustment(), r.style.transform = `translate3d(${o}px, ${d}px, 0px)`); 4153 const c = s.maxTranslate() - s.minTranslate(); 4154 l = 0 === c ? 0 : (e - s.minTranslate()) / c, l !== n && s.updateProgress(e), s.emit("setTranslate", s.translate, t) 4155 }, 4156 minTranslate: function() { 4157 return -this.snapGrid[0] 4158 }, 4159 maxTranslate: function() { 4160 return -this.snapGrid[this.snapGrid.length - 1] 4161 }, 4162 translateTo: function(e, t, s, a, i) { 4163 void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === s && (s = !0), void 0 === a && (a = !0); 4164 const r = this, 4165 { 4166 params: n, 4167 wrapperEl: l 4168 } = r; 4169 if (r.animating && n.preventInteractionOnTransition) return !1; 4170 const o = r.minTranslate(), 4171 d = r.maxTranslate(); 4172 let c; 4173 if (c = a && e > o ? o : a && e < d ? d : e, r.updateProgress(c), n.cssMode) { 4174 const e = r.isHorizontal(); 4175 if (0 === t) l[e ? "scrollLeft" : "scrollTop"] = -c; 4176 else { 4177 if (!r.support.smoothScroll) return m({ 4178 swiper: r, 4179 targetPosition: -c, 4180 side: e ? "left" : "top" 4181 }), !0; 4182 l.scrollTo({ 4183 [e ? "left" : "top"]: -c, 4184 behavior: "smooth" 4185 }) 4186 } 4187 return !0 4188 } 4189 return 0 === t ? (r.setTransition(0), r.setTranslate(c), s && (r.emit("beforeTransitionStart", t, i), r.emit("transitionEnd"))) : (r.setTransition(t), r.setTranslate(c), s && (r.emit("beforeTransitionStart", t, i), r.emit("transitionStart")), r.animating || (r.animating = !0, r.onTranslateToWrapperTransitionEnd || (r.onTranslateToWrapperTransitionEnd = function(e) { 4190 r && !r.destroyed && e.target === this && (r.wrapperEl.removeEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), r.onTranslateToWrapperTransitionEnd = null, delete r.onTranslateToWrapperTransitionEnd, r.animating = !1, s && r.emit("transitionEnd")) 4191 }), r.wrapperEl.addEventListener("transitionend", r.onTranslateToWrapperTransitionEnd))), !0 4192 } 4193 }; 4194 4195 function X(e) { 4196 let { 4197 swiper: t, 4198 runCallbacks: s, 4199 direction: a, 4200 step: i 4201 } = e; 4202 const { 4203 activeIndex: r, 4204 previousIndex: n 4205 } = t; 4206 let l = a; 4207 if (l || (l = r > n ? "next" : r < n ? "prev" : "reset"), t.emit(`transition${i}`), s && r !== n) { 4208 if ("reset" === l) return void t.emit(`slideResetTransition${i}`); 4209 t.emit(`slideChangeTransition${i}`), "next" === l ? t.emit(`slideNextTransition${i}`) : t.emit(`slidePrevTransition${i}`) 4210 } 4211 } 4212 var B = { 4213 slideTo: function(e, t, s, a, i) { 4214 void 0 === e && (e = 0), void 0 === s && (s = !0), "string" == typeof e && (e = parseInt(e, 10)); 4215 const r = this; 4216 let n = e; 4217 n < 0 && (n = 0); 4218 const { 4219 params: l, 4220 snapGrid: o, 4221 slidesGrid: d, 4222 previousIndex: c, 4223 activeIndex: p, 4224 rtlTranslate: u, 4225 wrapperEl: h, 4226 enabled: f 4227 } = r; 4228 if (!f && !a && !i || r.destroyed || r.animating && l.preventInteractionOnTransition) return !1; 4229 void 0 === t && (t = r.params.speed); 4230 const g = Math.min(r.params.slidesPerGroupSkip, n); 4231 let v = g + Math.floor((n - g) / r.params.slidesPerGroup); 4232 v >= o.length && (v = o.length - 1); 4233 const w = -o[v]; 4234 if (l.normalizeSlideIndex) 4235 for (let e = 0; e < d.length; e += 1) { 4236 const t = -Math.floor(100 * w), 4237 s = Math.floor(100 * d[e]), 4238 a = Math.floor(100 * d[e + 1]); 4239 void 0 !== d[e + 1] ? t >= s && t < a - (a - s) / 2 ? n = e : t >= s && t < a && (n = e + 1) : t >= s && (n = e) 4240 } 4241 if (r.initialized && n !== p) { 4242 if (!r.allowSlideNext && (u ? w > r.translate && w > r.minTranslate() : w < r.translate && w < r.minTranslate())) return !1; 4243 if (!r.allowSlidePrev && w > r.translate && w > r.maxTranslate() && (p || 0) !== n) return !1 4244 } 4245 let b; 4246 if (n !== (c || 0) && s && r.emit("beforeSlideChangeStart"), r.updateProgress(w), b = n > p ? "next" : n < p ? "prev" : "reset", u && -w === r.translate || !u && w === r.translate) return r.updateActiveIndex(n), l.autoHeight && r.updateAutoHeight(), r.updateSlidesClasses(), "slide" !== l.effect && r.setTranslate(w), "reset" !== b && (r.transitionStart(s, b), r.transitionEnd(s, b)), !1; 4247 if (l.cssMode) { 4248 const e = r.isHorizontal(), 4249 s = u ? w : -w; 4250 if (0 === t) { 4251 const t = r.virtual && r.params.virtual.enabled; 4252 t && (r.wrapperEl.style.scrollSnapType = "none", r._immediateVirtual = !0), t && !r._cssModeVirtualInitialSet && r.params.initialSlide > 0 ? (r._cssModeVirtualInitialSet = !0, requestAnimationFrame((() => { 4253 h[e ? "scrollLeft" : "scrollTop"] = s 4254 }))) : h[e ? "scrollLeft" : "scrollTop"] = s, t && requestAnimationFrame((() => { 4255 r.wrapperEl.style.scrollSnapType = "", r._immediateVirtual = !1 4256 })) 4257 } else { 4258 if (!r.support.smoothScroll) return m({ 4259 swiper: r, 4260 targetPosition: s, 4261 side: e ? "left" : "top" 4262 }), !0; 4263 h.scrollTo({ 4264 [e ? "left" : "top"]: s, 4265 behavior: "smooth" 4266 }) 4267 } 4268 return !0 4269 } 4270 return r.setTransition(t), r.setTranslate(w), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, a), r.transitionStart(s, b), 0 === t ? r.transitionEnd(s, b) : r.animating || (r.animating = !0, r.onSlideToWrapperTransitionEnd || (r.onSlideToWrapperTransitionEnd = function(e) { 4271 r && !r.destroyed && e.target === this && (r.wrapperEl.removeEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.onSlideToWrapperTransitionEnd = null, delete r.onSlideToWrapperTransitionEnd, r.transitionEnd(s, b)) 4272 }), r.wrapperEl.addEventListener("transitionend", r.onSlideToWrapperTransitionEnd)), !0 4273 }, 4274 slideToLoop: function(e, t, s, a) { 4275 if (void 0 === e && (e = 0), void 0 === s && (s = !0), "string" == typeof e) { 4276 e = parseInt(e, 10) 4277 } 4278 const i = this; 4279 if (i.destroyed) return; 4280 void 0 === t && (t = i.params.speed); 4281 const r = i.grid && i.params.grid && i.params.grid.rows > 1; 4282 let n = e; 4283 if (i.params.loop) 4284 if (i.virtual && i.params.virtual.enabled) n += i.virtual.slidesBefore; 4285 else { 4286 let e; 4287 if (r) { 4288 const t = n * i.params.grid.rows; 4289 e = i.slides.filter((e => 1 * e.getAttribute("data-swiper-slide-index") === t))[0].column 4290 } else e = i.getSlideIndexByData(n); 4291 const t = r ? Math.ceil(i.slides.length / i.params.grid.rows) : i.slides.length, 4292 { 4293 centeredSlides: s 4294 } = i.params; 4295 let l = i.params.slidesPerView; 4296 "auto" === l ? l = i.slidesPerViewDynamic() : (l = Math.ceil(parseFloat(i.params.slidesPerView, 10)), s && l % 2 == 0 && (l += 1)); 4297 let o = t - e < l; 4298 if (s && (o = o || e < Math.ceil(l / 2)), a && s && "auto" !== i.params.slidesPerView && !r && (o = !1), o) { 4299 const a = s ? e < i.activeIndex ? "prev" : "next" : e - i.activeIndex - 1 < i.params.slidesPerView ? "next" : "prev"; 4300 i.loopFix({ 4301 direction: a, 4302 slideTo: !0, 4303 activeSlideIndex: "next" === a ? e + 1 : e - t + 1, 4304 slideRealIndex: "next" === a ? i.realIndex : void 0 4305 }) 4306 } 4307 if (r) { 4308 const e = n * i.params.grid.rows; 4309 n = i.slides.filter((t => 1 * t.getAttribute("data-swiper-slide-index") === e))[0].column 4310 } else n = i.getSlideIndexByData(n) 4311 } return requestAnimationFrame((() => { 4312 i.slideTo(n, t, s, a) 4313 })), i 4314 }, 4315 slideNext: function(e, t, s) { 4316 void 0 === t && (t = !0); 4317 const a = this, 4318 { 4319 enabled: i, 4320 params: r, 4321 animating: n 4322 } = a; 4323 if (!i || a.destroyed) return a; 4324 void 0 === e && (e = a.params.speed); 4325 let l = r.slidesPerGroup; 4326 "auto" === r.slidesPerView && 1 === r.slidesPerGroup && r.slidesPerGroupAuto && (l = Math.max(a.slidesPerViewDynamic("current", !0), 1)); 4327 const o = a.activeIndex < r.slidesPerGroupSkip ? 1 : l, 4328 d = a.virtual && r.virtual.enabled; 4329 if (r.loop) { 4330 if (n && !d && r.loopPreventsSliding) return !1; 4331 if (a.loopFix({ 4332 direction: "next" 4333 }), a._clientLeft = a.wrapperEl.clientLeft, a.activeIndex === a.slides.length - 1 && r.cssMode) return requestAnimationFrame((() => { 4334 a.slideTo(a.activeIndex + o, e, t, s) 4335 })), !0 4336 } 4337 return r.rewind && a.isEnd ? a.slideTo(0, e, t, s) : a.slideTo(a.activeIndex + o, e, t, s) 4338 }, 4339 slidePrev: function(e, t, s) { 4340 void 0 === t && (t = !0); 4341 const a = this, 4342 { 4343 params: i, 4344 snapGrid: r, 4345 slidesGrid: n, 4346 rtlTranslate: l, 4347 enabled: o, 4348 animating: d 4349 } = a; 4350 if (!o || a.destroyed) return a; 4351 void 0 === e && (e = a.params.speed); 4352 const c = a.virtual && i.virtual.enabled; 4353 if (i.loop) { 4354 if (d && !c && i.loopPreventsSliding) return !1; 4355 a.loopFix({ 4356 direction: "prev" 4357 }), a._clientLeft = a.wrapperEl.clientLeft 4358 } 4359 4360 function p(e) { 4361 return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e) 4362 } 4363 const u = p(l ? a.translate : -a.translate), 4364 m = r.map((e => p(e))); 4365 let h = r[m.indexOf(u) - 1]; 4366 if (void 0 === h && i.cssMode) { 4367 let e; 4368 r.forEach(((t, s) => { 4369 u >= t && (e = s) 4370 })), void 0 !== e && (h = r[e > 0 ? e - 1 : e]) 4371 } 4372 let f = 0; 4373 if (void 0 !== h && (f = n.indexOf(h), f < 0 && (f = a.activeIndex - 1), "auto" === i.slidesPerView && 1 === i.slidesPerGroup && i.slidesPerGroupAuto && (f = f - a.slidesPerViewDynamic("previous", !0) + 1, f = Math.max(f, 0))), i.rewind && a.isBeginning) { 4374 const i = a.params.virtual && a.params.virtual.enabled && a.virtual ? a.virtual.slides.length - 1 : a.slides.length - 1; 4375 return a.slideTo(i, e, t, s) 4376 } 4377 return i.loop && 0 === a.activeIndex && i.cssMode ? (requestAnimationFrame((() => { 4378 a.slideTo(f, e, t, s) 4379 })), !0) : a.slideTo(f, e, t, s) 4380 }, 4381 slideReset: function(e, t, s) { 4382 void 0 === t && (t = !0); 4383 const a = this; 4384 if (!a.destroyed) return void 0 === e && (e = a.params.speed), a.slideTo(a.activeIndex, e, t, s) 4385 }, 4386 slideToClosest: function(e, t, s, a) { 4387 void 0 === t && (t = !0), void 0 === a && (a = .5); 4388 const i = this; 4389 if (i.destroyed) return; 4390 void 0 === e && (e = i.params.speed); 4391 let r = i.activeIndex; 4392 const n = Math.min(i.params.slidesPerGroupSkip, r), 4393 l = n + Math.floor((r - n) / i.params.slidesPerGroup), 4394 o = i.rtlTranslate ? i.translate : -i.translate; 4395 if (o >= i.snapGrid[l]) { 4396 const e = i.snapGrid[l]; 4397 o - e > (i.snapGrid[l + 1] - e) * a && (r += i.params.slidesPerGroup) 4398 } else { 4399 const e = i.snapGrid[l - 1]; 4400 o - e <= (i.snapGrid[l] - e) * a && (r -= i.params.slidesPerGroup) 4401 } 4402 return r = Math.max(r, 0), r = Math.min(r, i.slidesGrid.length - 1), i.slideTo(r, e, t, s) 4403 }, 4404 slideToClickedSlide: function() { 4405 const e = this; 4406 if (e.destroyed) return; 4407 const { 4408 params: t, 4409 slidesEl: s 4410 } = e, a = "auto" === t.slidesPerView ? e.slidesPerViewDynamic() : t.slidesPerView; 4411 let i, r = e.clickedIndex; 4412 const n = e.isElement ? "swiper-slide" : `.${t.slideClass}`; 4413 if (t.loop) { 4414 if (e.animating) return; 4415 i = parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"), 10), t.centeredSlides ? r < e.loopedSlides - a / 2 || r > e.slides.length - e.loopedSlides + a / 2 ? (e.loopFix(), r = e.getSlideIndex(f(s, `${n}[data-swiper-slide-index="${i}"]`)[0]), l((() => { 4416 e.slideTo(r) 4417 }))) : e.slideTo(r) : r > e.slides.length - a ? (e.loopFix(), r = e.getSlideIndex(f(s, `${n}[data-swiper-slide-index="${i}"]`)[0]), l((() => { 4418 e.slideTo(r) 4419 }))) : e.slideTo(r) 4420 } else e.slideTo(r) 4421 } 4422 }; 4423 var Y = { 4424 loopCreate: function(e) { 4425 const t = this, 4426 { 4427 params: s, 4428 slidesEl: a 4429 } = t; 4430 if (!s.loop || t.virtual && t.params.virtual.enabled) return; 4431 const i = () => { 4432 f(a, `.${s.slideClass}, swiper-slide`).forEach(((e, t) => { 4433 e.setAttribute("data-swiper-slide-index", t) 4434 })) 4435 }, 4436 r = t.grid && s.grid && s.grid.rows > 1, 4437 n = s.slidesPerGroup * (r ? s.grid.rows : 1), 4438 l = t.slides.length % n != 0, 4439 o = r && t.slides.length % s.grid.rows != 0, 4440 d = e => { 4441 for (let a = 0; a < e; a += 1) { 4442 const e = t.isElement ? v("swiper-slide", [s.slideBlankClass]) : v("div", [s.slideClass, s.slideBlankClass]); 4443 t.slidesEl.append(e) 4444 } 4445 }; 4446 if (l) { 4447 if (s.loopAddBlankSlides) { 4448 d(n - t.slides.length % n), t.recalcSlides(), t.updateSlides() 4449 } else g("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may
vendor: 4,082 bytes, lines 4449-4522
4449not function properly. You need to add more slides (or make duplicates, or empty slides)"); 4450 i() 4451 } else if (o) { 4452 if (s.loopAddBlankSlides) { 4453 d(s.grid.rows - t.slides.length % s.grid.rows), t.recalcSlides(), t.updateSlides() 4454 } else g("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)"); 4455 i() 4456 } else i(); 4457 t.loopFix({ 4458 slideRealIndex: e, 4459 direction: s.centeredSlides ? void 0 : "next" 4460 }) 4461 }, 4462 loopFix: function(e) { 4463 let { 4464 slideRealIndex: t, 4465 slideTo: s = !0, 4466 direction: a, 4467 setTranslate: i, 4468 activeSlideIndex: r, 4469 byController: n, 4470 byMousewheel: l 4471 } = void 0 === e ? {} : e; 4472 const o = this; 4473 if (!o.params.loop) return; 4474 o.emit("beforeLoopFix"); 4475 const { 4476 slides: d, 4477 allowSlidePrev: c, 4478 allowSlideNext: p, 4479 slidesEl: u, 4480 params: m 4481 } = o, { 4482 centeredSlides: h 4483 } = m; 4484 if (o.allowSlidePrev = !0, o.allowSlideNext = !0, o.virtual && m.virtual.enabled) return s && (m.centeredSlides || 0 !== o.snapIndex ? m.centeredSlides && o.snapIndex < m.slidesPerView ? o.slideTo(o.virtual.slides.length + o.snapIndex, 0, !1, !0) : o.snapIndex === o.snapGrid.length - 1 && o.slideTo(o.virtual.slidesBefore, 0, !1, !0) : o.slideTo(o.virtual.slides.length, 0, !1, !0)), o.allowSlidePrev = c, o.allowSlideNext = p, void o.emit("loopFix"); 4485 let f = m.slidesPerView; 4486 "auto" === f ? f = o.slidesPerViewDynamic() : (f = Math.ceil(parseFloat(m.slidesPerView, 10)), h && f % 2 == 0 && (f += 1)); 4487 const v = m.slidesPerGroupAuto ? f : m.slidesPerGroup; 4488 let w = v; 4489 w % v != 0 && (w += v - w % v), w += m.loopAdditionalSlides, o.loopedSlides = w; 4490 const b = o.grid && m.grid && m.grid.rows > 1; 4491 d.length < f + w ? g("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters") : b && "row" === m.grid.fill && g("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`"); 4492 const y = [], 4493 E = []; 4494 let x = o.activeIndex; 4495 void 0 === r ? r = o.getSlideIndex(d.filter((e => e.classList.contains(m.slideActiveClass)))[0]) : x = r; 4496 const S = "next" === a || !a, 4497 T = "prev" === a || !a; 4498 let M = 0, 4499 C = 0; 4500 const P = b ? Math.ceil(d.length / m.grid.rows) : d.length, 4501 L = (b ? d[r].column : r) + (h && void 0 === i ? -f / 2 + .5 : 0); 4502 if (L < w) { 4503 M = Math.max(w - L, v); 4504 for (let e = 0; e < w - L; e += 1) { 4505 const t = e - Math.floor(e / P) * P; 4506 if (b) { 4507 const e = P - t - 1; 4508 for (let t = d.length - 1; t >= 0; t -= 1) d[t].column === e && y.push(t) 4509 } else y.push(P - t - 1) 4510 } 4511 } else if (L + f > P - w) { 4512 C = Math.max(L - (P - 2 * w), v); 4513 for (let e = 0; e < C; e += 1) { 4514 const t = e - Math.floor(e / P) * P; 4515 b ? d.forEach(((e, s) => { 4516 e.column === t && E.push(s) 4517 })) : E.push(t) 4518 } 4519 } 4520 if (o.__preventObserver__ = !0, requestAnimationFrame((() => { 4521 o.__preventObserver__ = !1 4522 }
vendor: 10,986 bytes, lines 4522-4716
4522)), T && y.forEach((e => { 4523 d[e].swiperLoopMoveDOM = !0, u.prepend(d[e]), d[e].swiperLoopMoveDOM = !1 4524 })), S && E.forEach((e => { 4525 d[e].swiperLoopMoveDOM = !0, u.append(d[e]), d[e].swiperLoopMoveDOM = !1 4526 })), o.recalcSlides(), "auto" === m.slidesPerView ? o.updateSlides() : b && (y.length > 0 && T || E.length > 0 && S) && o.slides.forEach(((e, t) => { 4527 o.grid.updateSlide(t, e, o.slides) 4528 })), m.watchSlidesProgress && o.updateSlidesOffset(), s) 4529 if (y.length > 0 && T) { 4530 if (void 0 === t) { 4531 const e = o.slidesGrid[x], 4532 t = o.slidesGrid[x + M] - e; 4533 l ? o.setTranslate(o.translate - t) : (o.slideTo(x + Math.ceil(M), 0, !1, !0), i && (o.touchEventsData.startTranslate = o.touchEventsData.startTranslate - t, o.touchEventsData.currentTranslate = o.touchEventsData.currentTranslate - t)) 4534 } else if (i) { 4535 const e = b ? y.length / m.grid.rows : y.length; 4536 o.slideTo(o.activeIndex + e, 0, !1, !0), o.touchEventsData.currentTranslate = o.translate 4537 } 4538 } else if (E.length > 0 && S) 4539 if (void 0 === t) { 4540 const e = o.slidesGrid[x], 4541 t = o.slidesGrid[x - C] - e; 4542 l ? o.setTranslate(o.translate - t) : (o.slideTo(x - C, 0, !1, !0), i && (o.touchEventsData.startTranslate = o.touchEventsData.startTranslate - t, o.touchEventsData.currentTranslate = o.touchEventsData.currentTranslate - t)) 4543 } else { 4544 const e = b ? E.length / m.grid.rows : E.length; 4545 o.slideTo(o.activeIndex - e, 0, !1, !0) 4546 } if (o.allowSlidePrev = c, o.allowSlideNext = p, o.controller && o.controller.control && !n) { 4547 const e = { 4548 slideRealIndex: t, 4549 direction: a, 4550 setTranslate: i, 4551 activeSlideIndex: r, 4552 byController: !0 4553 }; 4554 Array.isArray(o.controller.control) ? o.controller.control.forEach((t => { 4555 !t.destroyed && t.params.loop && t.loopFix({ 4556 ...e, 4557 slideTo: t.params.slidesPerView === m.slidesPerView && s 4558 }) 4559 })) : o.controller.control instanceof o.constructor && o.controller.control.params.loop && o.controller.control.loopFix({ 4560 ...e, 4561 slideTo: o.controller.control.params.slidesPerView === m.slidesPerView && s 4562 }) 4563 } 4564 o.emit("loopFix") 4565 }, 4566 loopDestroy: function() { 4567 const e = this, 4568 { 4569 params: t, 4570 slidesEl: s 4571 } = e; 4572 if (!t.loop || e.virtual && e.params.virtual.enabled) return; 4573 e.recalcSlides(); 4574 const a = []; 4575 e.slides.forEach((e => { 4576 const t = void 0 === e.swiperSlideIndex ? 1 * e.getAttribute("data-swiper-slide-index") : e.swiperSlideIndex; 4577 a[t] = e 4578 })), e.slides.forEach((e => { 4579 e.removeAttribute("data-swiper-slide-index") 4580 })), a.forEach((e => { 4581 s.append(e) 4582 })), e.recalcSlides(), e.slideTo(e.realIndex, 0) 4583 } 4584 }; 4585 4586 function R(e, t, s) { 4587 const a = r(), 4588 { 4589 params: i 4590 } = e, 4591 n = i.edgeSwipeDetection, 4592 l = i.edgeSwipeThreshold; 4593 return !n || !(s <= l || s >= a.innerWidth - l) || "prevent" === n && (t.preventDefault(), !0) 4594 } 4595 4596 function F(e) { 4597 const t = this, 4598 s = a(); 4599 let i = e; 4600 i.originalEvent && (i = i.originalEvent); 4601 const n = t.touchEventsData; 4602 if ("pointerdown" === i.type) { 4603 if (null !== n.pointerId && n.pointerId !== i.pointerId) return; 4604 n.pointerId = i.pointerId 4605 } else "touchstart" === i.type && 1 === i.targetTouches.length && (n.touchId = i.targetTouches[0].identifier); 4606 if ("touchstart" === i.type) return void R(t, i, i.targetTouches[0].pageX); 4607 const { 4608 params: l, 4609 touches: d, 4610 enabled: c 4611 } = t; 4612 if (!c) return; 4613 if (!l.simulateTouch && "mouse" === i.pointerType) return; 4614 if (t.animating && l.preventInteractionOnTransition) return; 4615 !t.animating && l.cssMode && l.loop && t.loopFix(); 4616 let p = i.target; 4617 if ("wrapper" === l.touchEventsTarget && !t.wrapperEl.contains(p)) return; 4618 if ("which" in i && 3 === i.which) return; 4619 if ("button" in i && i.button > 0) return; 4620 if (n.isTouched && n.isMoved) return; 4621 const u = !!l.noSwipingClass && "" !== l.noSwipingClass, 4622 m = i.composedPath ? i.composedPath() : i.path; 4623 u && i.target && i.target.shadowRoot && m && (p = m[0]); 4624 const h = l.noSwipingSelector ? l.noSwipingSelector : `.${l.noSwipingClass}`, 4625 f = !(!i.target || !i.target.shadowRoot); 4626 if (l.noSwiping && (f ? function(e, t) { 4627 return void 0 === t && (t = this), 4628 function t(s) { 4629 if (!s || s === a() || s === r()) return null; 4630 s.assignedSlot && (s = s.assignedSlot); 4631 const i = s.closest(e); 4632 return i || s.getRootNode ? i || t(s.getRootNode().host) : null 4633 }(t) 4634 }(h, p) : p.closest(h))) return void(t.allowClick = !0); 4635 if (l.swipeHandler && !p.closest(l.swipeHandler)) return; 4636 d.currentX = i.pageX, d.currentY = i.pageY; 4637 const g = d.currentX, 4638 v = d.currentY; 4639 if (!R(t, i, g)) return; 4640 Object.assign(n, { 4641 isTouched: !0, 4642 isMoved: !1, 4643 allowTouchCallbacks: !0, 4644 isScrolling: void 0, 4645 startMoving: void 0 4646 }), d.startX = g, d.startY = v, n.touchStartTime = o(), t.allowClick = !0, t.updateSize(), t.swipeDirection = void 0, l.threshold > 0 && (n.allowThresholdMove = !1); 4647 let w = !0; 4648 p.matches(n.focusableElements) && (w = !1, "SELECT" === p.nodeName && (n.isTouched = !1)), s.activeElement && s.activeElement.matches(n.focusableElements) && s.activeElement !== p && s.activeElement.blur(); 4649 const b = w && t.allowTouchMove && l.touchStartPreventDefault; 4650 !l.touchStartForcePreventDefault && !b || p.isContentEditable || i.preventDefault(), l.freeMode && l.freeMode.enabled && t.freeMode && t.animating && !l.cssMode && t.freeMode.onTouchStart(), t.emit("touchStart", i) 4651 } 4652 4653 function q(e) { 4654 const t = a(), 4655 s = this, 4656 i = s.touchEventsData, 4657 { 4658 params: r, 4659 touches: n, 4660 rtlTranslate: l, 4661 enabled: d 4662 } = s; 4663 if (!d) return; 4664 if (!r.simulateTouch && "mouse" === e.pointerType) return; 4665 let c, p = e; 4666 if (p.originalEvent && (p = p.originalEvent), "pointermove" === p.type) { 4667 if (null !== i.touchId) return; 4668 if (p.pointerId !== i.pointerId) return 4669 } 4670 if ("touchmove" === p.type) { 4671 if (c = [...p.changedTouches].filter((e => e.identifier === i.touchId))[0], !c || c.identifier !== i.touchId) return 4672 } else c = p; 4673 if (!i.isTouched) return void(i.startMoving && i.isScrolling && s.emit("touchMoveOpposite", p)); 4674 const u = c.pageX, 4675 m = c.pageY; 4676 if (p.preventedByNestedSwiper) return n.startX = u, void(n.startY = m); 4677 if (!s.allowTouchMove) return p.target.matches(i.focusableElements) || (s.allowClick = !1), void(i.isTouched && (Object.assign(n, { 4678 startX: u, 4679 startY: m, 4680 currentX: u, 4681 currentY: m 4682 }), i.touchStartTime = o())); 4683 if (r.touchReleaseOnEdges && !r.loop) 4684 if (s.isVertical()) { 4685 if (m < n.startY && s.translate <= s.maxTranslate() || m > n.startY && s.translate >= s.minTranslate()) return i.isTouched = !1, void(i.isMoved = !1) 4686 } else if (u < n.startX && s.translate <= s.maxTranslate() || u > n.startX && s.translate >= s.minTranslate()) return; 4687 if (t.activeElement && p.target === t.activeElement && p.target.matches(i.focusableElements)) return i.isMoved = !0, void(s.allowClick = !1); 4688 i.allowTouchCallbacks && s.emit("touchMove", p), n.previousX = n.currentX, n.previousY = n.currentY, n.currentX = u, n.currentY = m; 4689 const h = n.currentX - n.startX, 4690 f = n.currentY - n.startY; 4691 if (s.params.threshold && Math.sqrt(h ** 2 + f ** 2) < s.params.threshold) return; 4692 if (void 0 === i.isScrolling) { 4693 let e; 4694 s.isHorizontal() && n.currentY === n.startY || s.isVertical() && n.currentX === n.startX ? i.isScrolling = !1 : h * h + f * f >= 25 && (e = 180 * Math.atan2(Math.abs(f), Math.abs(h)) / Math.PI, i.isScrolling = s.isHorizontal() ? e > r.touchAngle : 90 - e > r.touchAngle) 4695 } 4696 if (i.isScrolling && s.emit("touchMoveOpposite", p), void 0 === i.startMoving && (n.currentX === n.startX && n.currentY === n.startY || (i.startMoving = !0)), i.isScrolling || "touchmove" === p.type && i.preventTouchMoveFromPointerMove) return void(i.isTouched = !1); 4697 if (!i.startMoving) return; 4698 s.allowClick = !1, !r.cssMode && p.cancelable && p.preventDefault(), r.touchMoveStopPropagation && !r.nested && p.stopPropagation(); 4699 let g = s.isHorizontal() ? h : f, 4700 v = s.isHorizontal() ? n.currentX - n.previousX : n.currentY - n.previousY; 4701 r.oneWayMovement && (g = Math.abs(g) * (l ? 1 : -1), v = Math.abs(v) * (l ? 1 : -1)), n.diff = g, g *= r.touchRatio, l && (g = -g, v = -v); 4702 const w = s.touchesDirection; 4703 s.swipeDirection = g > 0 ? "prev" : "next", s.touchesDirection = v > 0 ? "prev" : "next"; 4704 const b = s.params.loop && !r.cssMode, 4705 y = "next" === s.touchesDirection && s.allowSlideNext || "prev" === s.touchesDirection && s.allowSlidePrev; 4706 if (!i.isMoved) { 4707 if (b && y && s.loopFix({ 4708 direction: s.swipeDirection 4709 }), i.startTranslate = s.getTranslate(), s.setTransition(0), s.animating) { 4710 const e = new window.CustomEvent("transitionend", { 4711 bubbles: !0, 4712 cancelable: !0, 4713 detail: { 4714 bySwiperTouchMove: !0 4715 } 4716 });
vendor: 9,143 bytes, lines 4717-4849
4717 s.wrapperEl.dispatchEvent(e) 4718 } 4719 i.allowMomentumBounce = !1, !r.grabCursor || !0 !== s.allowSlideNext && !0 !== s.allowSlidePrev || s.setGrabCursor(!0), s.emit("sliderFirstMove", p) 4720 } 4721 if ((new Date).getTime(), i.isMoved && i.allowThresholdMove && w !== s.touchesDirection && b && y && Math.abs(g) >= 1) return Object.assign(n, { 4722 startX: u, 4723 startY: m, 4724 currentX: u, 4725 currentY: m, 4726 startTranslate: i.currentTranslate 4727 }), i.loopSwapReset = !0, void(i.startTranslate = i.currentTranslate); 4728 s.emit("sliderMove", p), i.isMoved = !0, i.currentTranslate = g + i.startTranslate; 4729 let E = !0, 4730 x = r.resistanceRatio; 4731 if (r.touchReleaseOnEdges && (x = 0), g > 0 ? (b && y && i.allowThresholdMove && i.currentTranslate > (r.centeredSlides ? s.minTranslate() - s.slidesSizesGrid[s.activeIndex + 1] : s.minTranslate()) && s.loopFix({ 4732 direction: "prev", 4733 setTranslate: !0, 4734 activeSlideIndex: 0 4735 }), i.currentTranslate > s.minTranslate() && (E = !1, r.resistance && (i.currentTranslate = s.minTranslate() - 1 + (-s.minTranslate() + i.startTranslate + g) ** x))) : g < 0 && (b && y && i.allowThresholdMove && i.currentTranslate < (r.centeredSlides ? s.maxTranslate() + s.slidesSizesGrid[s.slidesSizesGrid.length - 1] : s.maxTranslate()) && s.loopFix({ 4736 direction: "next", 4737 setTranslate: !0, 4738 activeSlideIndex: s.slides.length - ("auto" === r.slidesPerView ? s.slidesPerViewDynamic() : Math.ceil(parseFloat(r.slidesPerView, 10))) 4739 }), i.currentTranslate < s.maxTranslate() && (E = !1, r.resistance && (i.currentTranslate = s.maxTranslate() + 1 - (s.maxTranslate() - i.startTranslate - g) ** x))), E && (p.preventedByNestedSwiper = !0), !s.allowSlideNext && "next" === s.swipeDirection && i.currentTranslate < i.startTranslate && (i.currentTranslate = i.startTranslate), !s.allowSlidePrev && "prev" === s.swipeDirection && i.currentTranslate > i.startTranslate && (i.currentTranslate = i.startTranslate), s.allowSlidePrev || s.allowSlideNext || (i.currentTranslate = i.startTranslate), r.threshold > 0) { 4740 if (!(Math.abs(g) > r.threshold || i.allowThresholdMove)) return void(i.currentTranslate = i.startTranslate); 4741 if (!i.allowThresholdMove) return i.allowThresholdMove = !0, n.startX = n.currentX, n.startY = n.currentY, i.currentTranslate = i.startTranslate, void(n.diff = s.isHorizontal() ? n.currentX - n.startX : n.currentY - n.startY) 4742 } 4743 r.followFinger && !r.cssMode && ((r.freeMode && r.freeMode.enabled && s.freeMode || r.watchSlidesProgress) && (s.updateActiveIndex(), s.updateSlidesClasses()), r.freeMode && r.freeMode.enabled && s.freeMode && s.freeMode.onTouchMove(), s.updateProgress(i.currentTranslate), s.setTranslate(i.currentTranslate)) 4744 } 4745 4746 function V(e) { 4747 const t = this, 4748 s = t.touchEventsData; 4749 let a, i = e; 4750 i.originalEvent && (i = i.originalEvent); 4751 if ("touchend" === i.type || "touchcancel" === i.type) { 4752 if (a = [...i.changedTouches].filter((e => e.identifier === s.touchId))[0], !a || a.identifier !== s.touchId) return 4753 } else { 4754 if (null !== s.touchId) return; 4755 if (i.pointerId !== s.pointerId) return; 4756 a = i 4757 } 4758 if (["pointercancel", "pointerout", "pointerleave", "contextmenu"].includes(i.type)) { 4759 if (!(["pointercancel", "contextmenu"].includes(i.type) && (t.browser.isSafari || t.browser.isWebView))) return 4760 } 4761 s.pointerId = null, s.touchId = null; 4762 const { 4763 params: r, 4764 touches: n, 4765 rtlTranslate: d, 4766 slidesGrid: c, 4767 enabled: p 4768 } = t; 4769 if (!p) return; 4770 if (!r.simulateTouch && "mouse" === i.pointerType) return; 4771 if (s.allowTouchCallbacks && t.emit("touchEnd", i), s.allowTouchCallbacks = !1, !s.isTouched) return s.isMoved && r.grabCursor && t.setGrabCursor(!1), s.isMoved = !1, void(s.startMoving = !1); 4772 r.grabCursor && s.isMoved && s.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1); 4773 const u = o(), 4774 m = u - s.touchStartTime; 4775 if (t.allowClick) { 4776 const e = i.path || i.composedPath && i.composedPath(); 4777 t.updateClickedSlide(e && e[0] || i.target, e), t.emit("tap click", i), m < 300 && u - s.lastClickTime < 300 && t.emit("doubleTap doubleClick", i) 4778 } 4779 if (s.lastClickTime = o(), l((() => { 4780 t.destroyed || (t.allowClick = !0) 4781 })), !s.isTouched || !s.isMoved || !t.swipeDirection || 0 === n.diff && !s.loopSwapReset || s.currentTranslate === s.startTranslate && !s.loopSwapReset) return s.isTouched = !1, s.isMoved = !1, void(s.startMoving = !1); 4782 let h; 4783 if (s.isTouched = !1, s.isMoved = !1, s.startMoving = !1, h = r.followFinger ? d ? t.translate : -t.translate : -s.currentTranslate, r.cssMode) return; 4784 if (r.freeMode && r.freeMode.enabled) return void t.freeMode.onTouchEnd({ 4785 currentPos: h 4786 }); 4787 const f = h >= -t.maxTranslate() && !t.params.loop; 4788 let g = 0, 4789 v = t.slidesSizesGrid[0]; 4790 for (let e = 0; e < c.length; e += e < r.slidesPerGroupSkip ? 1 : r.slidesPerGroup) { 4791 const t = e < r.slidesPerGroupSkip - 1 ? 1 : r.slidesPerGroup; 4792 void 0 !== c[e + t] ? (f || h >= c[e] && h < c[e + t]) && (g = e, v = c[e + t] - c[e]) : (f || h >= c[e]) && (g = e, v = c[c.length - 1] - c[c.length - 2]) 4793 } 4794 let w = null, 4795 b = null; 4796 r.rewind && (t.isBeginning ? b = r.virtual && r.virtual.enabled && t.virtual ? t.virtual.slides.length - 1 : t.slides.length - 1 : t.isEnd && (w = 0)); 4797 const y = (h - c[g]) / v, 4798 E = g < r.slidesPerGroupSkip - 1 ? 1 : r.slidesPerGroup; 4799 if (m > r.longSwipesMs) { 4800 if (!r.longSwipes) return void t.slideTo(t.activeIndex); 4801 "next" === t.swipeDirection && (y >= r.longSwipesRatio ? t.slideTo(r.rewind && t.isEnd ? w : g + E) : t.slideTo(g)), "prev" === t.swipeDirection && (y > 1 - r.longSwipesRatio ? t.slideTo(g + E) : null !== b && y < 0 && Math.abs(y) > r.longSwipesRatio ? t.slideTo(b) : t.slideTo(g)) 4802 } else { 4803 if (!r.shortSwipes) return void t.slideTo(t.activeIndex); 4804 t.navigation && (i.target === t.navigation.nextEl || i.target === t.navigation.prevEl) ? i.target === t.navigation.nextEl ? t.slideTo(g + E) : t.slideTo(g) : ("next" === t.swipeDirection && t.slideTo(null !== w ? w : g + E), "prev" === t.swipeDirection && t.slideTo(null !== b ? b : g)) 4805 } 4806 } 4807 4808 function _() { 4809 const e = this, 4810 { 4811 params: t, 4812 el: s 4813 } = e; 4814 if (s && 0 === s.offsetWidth) return; 4815 t.breakpoints && e.setBreakpoint(); 4816 const { 4817 allowSlideNext: a, 4818 allowSlidePrev: i, 4819 snapGrid: r 4820 } = e, n = e.virtual && e.params.virtual.enabled; 4821 e.allowSlideNext = !0, e.allowSlidePrev = !0, e.updateSize(), e.updateSlides(), e.updateSlidesClasses(); 4822 const l = n && t.loop; 4823 !("auto" === t.slidesPerView || t.slidesPerView > 1) || !e.isEnd || e.isBeginning || e.params.centeredSlides || l ? e.params.loop && !n ? e.slideToLoop(e.realIndex, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0) : e.slideTo(e.slides.length - 1, 0, !1, !0), e.autoplay && e.autoplay.running && e.autoplay.paused && (clearTimeout(e.autoplay.resizeTimeout), e.autoplay.resizeTimeout = setTimeout((() => { 4824 e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.resume() 4825 }), 500)), e.allowSlidePrev = i, e.allowSlideNext = a, e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow() 4826 } 4827 4828 function W(e) { 4829 const t = this; 4830 t.enabled && (t.allowClick || (t.params.preventClicks && e.preventDefault(), t.params.preventClicksPropagation && t.animating && (e.stopPropagation(), e.stopImmediatePropagation()))) 4831 } 4832 4833 function j() { 4834 const e = this, 4835 { 4836 wrapperEl: t, 4837 rtlTranslate: s, 4838 enabled: a 4839 } = e; 4840 if (!a) return; 4841 let i; 4842 e.previousTranslate = e.translate, e.isHorizontal() ? e.translate = -t.scrollLeft : e.translate = -t.scrollTop, 0 === e.translate && (e.translate = 0), e.updateActiveIndex(), e.updateSlidesClasses(); 4843 const r = e.maxTranslate() - e.minTranslate(); 4844 i = 0 === r ? 0 : (e.translate - e.minTranslate()) / r, i !== e.progress && e.updateProgress(s ? -e.translate : e.translate), e.emit("setTranslate", e.translate, !1) 4845 } 4846 4847 function U(e) { 4848 const t = this; 4849 O(t, e.target), t.params.cssMode || "auto" !== t.params.slidesPerView && !t.params.autoHeight || t.update(
vendor: 17,495 bytes, lines 4849-5235
4849) 4850 } 4851 4852 function K() { 4853 const e = this; 4854 e.documentTouchHandlerProceeded || (e.documentTouchHandlerProceeded = !0, e.params.touchReleaseOnEdges && (e.el.style.touchAction = "auto")) 4855 } 4856 const Z = (e, t) => { 4857 const s = a(), 4858 { 4859 params: i, 4860 el: r, 4861 wrapperEl: n, 4862 device: l 4863 } = e, 4864 o = !!i.nested, 4865 d = "on" === t ? "addEventListener" : "removeEventListener", 4866 c = t; 4867 r && "string" != typeof r && (s[d]("touchstart", e.onDocumentTouchStart, { 4868 passive: !1, 4869 capture: o 4870 }), r[d]("touchstart", e.onTouchStart, { 4871 passive: !1 4872 }), r[d]("pointerdown", e.onTouchStart, { 4873 passive: !1 4874 }), s[d]("touchmove", e.onTouchMove, { 4875 passive: !1, 4876 capture: o 4877 }), s[d]("pointermove", e.onTouchMove, { 4878 passive: !1, 4879 capture: o 4880 }), s[d]("touchend", e.onTouchEnd, { 4881 passive: !0 4882 }), s[d]("pointerup", e.onTouchEnd, { 4883 passive: !0 4884 }), s[d]("pointercancel", e.onTouchEnd, { 4885 passive: !0 4886 }), s[d]("touchcancel", e.onTouchEnd, { 4887 passive: !0 4888 }), s[d]("pointerout", e.onTouchEnd, { 4889 passive: !0 4890 }), s[d]("pointerleave", e.onTouchEnd, { 4891 passive: !0 4892 }), s[d]("contextmenu", e.onTouchEnd, { 4893 passive: !0 4894 }), (i.preventClicks || i.preventClicksPropagation) && r[d]("click", e.onClick, !0), i.cssMode && n[d]("scroll", e.onScroll), i.updateOnWindowResize ? e[c](l.ios || l.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", _, !0) : e[c]("observerUpdate", _, !0), r[d]("load", e.onLoad, { 4895 capture: !0 4896 })) 4897 }; 4898 const Q = (e, t) => e.grid && t.grid && t.grid.rows > 1; 4899 var J = { 4900 init: !0, 4901 direction: "horizontal", 4902 oneWayMovement: !1, 4903 swiperElementNodeName: "SWIPER-CONTAINER", 4904 touchEventsTarget: "wrapper", 4905 initialSlide: 0, 4906 speed: 300, 4907 cssMode: !1, 4908 updateOnWindowResize: !0, 4909 resizeObserver: !0, 4910 nested: !1, 4911 createElements: !1, 4912 eventsPrefix: "swiper", 4913 enabled: !0, 4914 focusableElements: "input, select, option, textarea, button, video, label", 4915 width: null, 4916 height: null, 4917 preventInteractionOnTransition: !1, 4918 userAgent: null, 4919 url: null, 4920 edgeSwipeDetection: !1, 4921 edgeSwipeThreshold: 20, 4922 autoHeight: !1, 4923 setWrapperSize: !1, 4924 virtualTranslate: !1, 4925 effect: "slide", 4926 breakpoints: void 0, 4927 breakpointsBase: "window", 4928 spaceBetween: 0, 4929 slidesPerView: 1, 4930 slidesPerGroup: 1, 4931 slidesPerGroupSkip: 0, 4932 slidesPerGroupAuto: !1, 4933 centeredSlides: !1, 4934 centeredSlidesBounds: !1, 4935 slidesOffsetBefore: 0, 4936 slidesOffsetAfter: 0, 4937 normalizeSlideIndex: !0, 4938 centerInsufficientSlides: !1, 4939 watchOverflow: !0, 4940 roundLengths: !1, 4941 touchRatio: 1, 4942 touchAngle: 45, 4943 simulateTouch: !0, 4944 shortSwipes: !0, 4945 longSwipes: !0, 4946 longSwipesRatio: .5, 4947 longSwipesMs: 300, 4948 followFinger: !0, 4949 allowTouchMove: !0, 4950 threshold: 5, 4951 touchMoveStopPropagation: !1, 4952 touchStartPreventDefault: !0, 4953 touchStartForcePreventDefault: !1, 4954 touchReleaseOnEdges: !1, 4955 uniqueNavElements: !0, 4956 resistance: !0, 4957 resistanceRatio: .85, 4958 watchSlidesProgress: !1, 4959 grabCursor: !1, 4960 preventClicks: !0, 4961 preventClicksPropagation: !0, 4962 slideToClickedSlide: !1, 4963 loop: !1, 4964 loopAddBlankSlides: !0, 4965 loopAdditionalSlides: 0, 4966 loopPreventsSliding: !0, 4967 rewind: !1, 4968 allowSlidePrev: !0, 4969 allowSlideNext: !0, 4970 swipeHandler: null, 4971 noSwiping: !0, 4972 noSwipingClass: "swiper-no-swiping", 4973 noSwipingSelector: null, 4974 passiveListeners: !0, 4975 maxBackfaceHiddenSlides: 10, 4976 containerModifierClass: "swiper-", 4977 slideClass: "swiper-slide", 4978 slideBlankClass: "swiper-slide-blank", 4979 slideActiveClass: "swiper-slide-active", 4980 slideVisibleClass: "swiper-slide-visible", 4981 slideFullyVisibleClass: "swiper-slide-fully-visible", 4982 slideNextClass: "swiper-slide-next", 4983 slidePrevClass: "swiper-slide-prev", 4984 wrapperClass: "swiper-wrapper", 4985 lazyPreloaderClass: "swiper-lazy-preloader", 4986 lazyPreloadPrevNext: 0, 4987 runCallbacksOnInit: !0, 4988 _emitClasses: !1 4989 }; 4990 4991 function ee(e, t) { 4992 return function(s) { 4993 void 0 === s && (s = {}); 4994 const a = Object.keys(s)[0], 4995 i = s[a]; 4996 "object" == typeof i && null !== i ? (!0 === e[a] && (e[a] = { 4997 enabled: !0 4998 }), "navigation" === a && e[a] && e[a].enabled && !e[a].prevEl && !e[a].nextEl && (e[a].auto = !0), ["pagination", "scrollbar"].indexOf(a) >= 0 && e[a] && e[a].enabled && !e[a].el && (e[a].auto = !0), a in e && "enabled" in i ? ("object" != typeof e[a] || "enabled" in e[a] || (e[a].enabled = !0), e[a] || (e[a] = { 4999 enabled: !1 5000 }), p(t, s)) : p(t, s)) : p(t, s) 5001 } 5002 } 5003 const te = { 5004 eventsEmitter: z, 5005 update: H, 5006 translate: N, 5007 transition: { 5008 setTransition: function(e, t) { 5009 const s = this; 5010 s.params.cssMode || (s.wrapperEl.style.transitionDuration = `${e}ms`, s.wrapperEl.style.transitionDelay = 0 === e ? "0ms" : ""), s.emit("setTransition", e, t) 5011 }, 5012 transitionStart: function(e, t) { 5013 void 0 === e && (e = !0); 5014 const s = this, 5015 { 5016 params: a 5017 } = s; 5018 a.cssMode || (a.autoHeight && s.updateAutoHeight(), X({ 5019 swiper: s, 5020 runCallbacks: e, 5021 direction: t, 5022 step: "Start" 5023 })) 5024 }, 5025 transitionEnd: function(e, t) { 5026 void 0 === e && (e = !0); 5027 const s = this, 5028 { 5029 params: a 5030 } = s; 5031 s.animating = !1, a.cssMode || (s.setTransition(0), X({ 5032 swiper: s, 5033 runCallbacks: e, 5034 direction: t, 5035 step: "End" 5036 })) 5037 } 5038 }, 5039 slide: B, 5040 loop: Y, 5041 grabCursor: { 5042 setGrabCursor: function(e) { 5043 const t = this; 5044 if (!t.params.simulateTouch || t.params.watchOverflow && t.isLocked || t.params.cssMode) return; 5045 const s = "container" === t.params.touchEventsTarget ? t.el : t.wrapperEl; 5046 t.isElement && (t.__preventObserver__ = !0), s.style.cursor = "move", s.style.cursor = e ? "grabbing" : "grab", t.isElement && requestAnimationFrame((() => { 5047 t.__preventObserver__ = !1 5048 })) 5049 }, 5050 unsetGrabCursor: function() { 5051 const e = this; 5052 e.params.watchOverflow && e.isLocked || e.params.cssMode || (e.isElement && (e.__preventObserver__ = !0), e["container" === e.params.touchEventsTarget ? "el" : "wrapperEl"].style.cursor = "", e.isElement && requestAnimationFrame((() => { 5053 e.__preventObserver__ = !1 5054 }))) 5055 } 5056 }, 5057 events: { 5058 attachEvents: function() { 5059 const e = this, 5060 { 5061 params: t 5062 } = e; 5063 e.onTouchStart = F.bind(e), e.onTouchMove = q.bind(e), e.onTouchEnd = V.bind(e), e.onDocumentTouchStart = K.bind(e), t.cssMode && (e.onScroll = j.bind(e)), e.onClick = W.bind(e), e.onLoad = U.bind(e), Z(e, "on") 5064 }, 5065 detachEvents: function() { 5066 Z(this, "off") 5067 } 5068 }, 5069 breakpoints: { 5070 setBreakpoint: function() { 5071 const e = this, 5072 { 5073 realIndex: t, 5074 initialized: s, 5075 params: a, 5076 el: i 5077 } = e, 5078 r = a.breakpoints; 5079 if (!r || r && 0 === Object.keys(r).length) return; 5080 const n = e.getBreakpoint(r, e.params.breakpointsBase, e.el); 5081 if (!n || e.currentBreakpoint === n) return; 5082 const l = (n in r ? r[n] : void 0) || e.originalParams, 5083 o = Q(e, a), 5084 d = Q(e, l), 5085 c = e.params.grabCursor, 5086 u = l.grabCursor, 5087 m = a.enabled; 5088 o && !d ? (i.classList.remove(`${a.containerModifierClass}grid`, `${a.containerModifierClass}grid-column`), e.emitContainerClasses()) : !o && d && (i.classList.add(`${a.containerModifierClass}grid`), (l.grid.fill && "column" === l.grid.fill || !l.grid.fill && "column" === a.grid.fill) && i.classList.add(`${a.containerModifierClass}grid-column`), e.emitContainerClasses()), c && !u ? e.unsetGrabCursor() : !c && u && e.setGrabCursor(), ["navigation", "pagination", "scrollbar"].forEach((t => { 5089 if (void 0 === l[t]) return; 5090 const s = a[t] && a[t].enabled, 5091 i = l[t] && l[t].enabled; 5092 s && !i && e[t].disable(), !s && i && e[t].enable() 5093 })); 5094 const h = l.direction && l.direction !== a.direction, 5095 f = a.loop && (l.slidesPerView !== a.slidesPerView || h), 5096 g = a.loop; 5097 h && s && e.changeDirection(), p(e.params, l); 5098 const v = e.params.enabled, 5099 w = e.params.loop; 5100 Object.assign(e, { 5101 allowTouchMove: e.params.allowTouchMove, 5102 allowSlideNext: e.params.allowSlideNext, 5103 allowSlidePrev: e.params.allowSlidePrev 5104 }), m && !v ? e.disable() : !m && v && e.enable(), e.currentBreakpoint = n, e.emit("_beforeBreakpoint", l), s && (f ? (e.loopDestroy(), e.loopCreate(t), e.updateSlides()) : !g && w ? (e.loopCreate(t), e.updateSlides()) : g && !w && e.loopDestroy()), e.emit("breakpoint", l) 5105 }, 5106 getBreakpoint: function(e, t, s) { 5107 if (void 0 === t && (t = "window"), !e || "container" === t && !s) return; 5108 let a = !1; 5109 const i = r(), 5110 n = "window" === t ? i.innerHeight : s.clientHeight, 5111 l = Object.keys(e).map((e => { 5112 if ("string" == typeof e && 0 === e.indexOf("@")) { 5113 const t = parseFloat(e.substr(1)); 5114 return { 5115 value: n * t, 5116 point: e 5117 } 5118 } 5119 return { 5120 value: e, 5121 point: e 5122 } 5123 })); 5124 l.sort(((e, t) => parseInt(e.value, 10) - parseInt(t.value, 10))); 5125 for (let e = 0; e < l.length; e += 1) { 5126 const { 5127 point: r, 5128 value: n 5129 } = l[e]; 5130 "window" === t ? i.matchMedia(`(min-width: ${n}px)`).matches && (a = r) : n <= s.clientWidth && (a = r) 5131 } 5132 return a || "max" 5133 } 5134 }, 5135 checkOverflow: { 5136 checkOverflow: function() { 5137 const e = this, 5138 { 5139 isLocked: t, 5140 params: s 5141 } = e, 5142 { 5143 slidesOffsetBefore: a 5144 } = s; 5145 if (a) { 5146 const t = e.slides.length - 1, 5147 s = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * a; 5148 e.isLocked = e.size > s 5149 } else e.isLocked = 1 === e.snapGrid.length; 5150 !0 === s.allowSlideNext && (e.allowSlideNext = !e.isLocked), !0 === s.allowSlidePrev && (e.allowSlidePrev = !e.isLocked), t && t !== e.isLocked && (e.isEnd = !1), t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock") 5151 } 5152 }, 5153 classes: { 5154 addClasses: function() { 5155 const e = this, 5156 { 5157 classNames: t, 5158 params: s, 5159 rtl: a, 5160 el: i, 5161 device: r 5162 } = e, 5163 n = function(e, t) { 5164 const s = []; 5165 return e.forEach((e => { 5166 "object" == typeof e ? Object.keys(e).forEach((a => { 5167 e[a] && s.push(t + a) 5168 })) : "string" == typeof e && s.push(t + e) 5169 })), s 5170 }(["initialized", s.direction, { 5171 "free-mode": e.params.freeMode && s.freeMode.enabled 5172 }, { 5173 autoheight: s.autoHeight 5174 }, { 5175 rtl: a 5176 }, { 5177 grid: s.grid && s.grid.rows > 1 5178 }, { 5179 "grid-column": s.grid && s.grid.rows > 1 && "column" === s.grid.fill 5180 }, { 5181 android: r.android 5182 }, { 5183 ios: r.ios 5184 }, { 5185 "css-mode": s.cssMode 5186 }, { 5187 centered: s.cssMode && s.centeredSlides 5188 }, { 5189 "watch-progress": s.watchSlidesProgress 5190 }], s.containerModifierClass); 5191 t.push(...n), i.classList.add(...t), e.emitContainerClasses() 5192 }, 5193 removeClasses: function() { 5194 const { 5195 el: e, 5196 classNames: t 5197 } = this; 5198 e && "string" != typeof e && (e.classList.remove(...t), this.emitContainerClasses()) 5199 } 5200 } 5201 }, 5202 se = {}; 5203 class ae { 5204 constructor() { 5205 let e, t; 5206 for (var s = arguments.length, i = new Array(s), r = 0; r < s; r++) i[r] = arguments[r]; 5207 1 === i.length && i[0].constructor && "Object" === Object.prototype.toString.call(i[0]).slice(8, -1) ? t = i[0] : [e, t] = i, t || (t = {}), t = p({}, t), e && !t.el && (t.el = e); 5208 const n = a(); 5209 if (t.el && "string" == typeof t.el && n.querySelectorAll(t.el).length > 1) { 5210 const e = []; 5211 return n.querySelectorAll(t.el).forEach((s => { 5212 const a = p({}, t, { 5213 el: s 5214 }); 5215 e.push(new ae(a)) 5216 })), e 5217 } 5218 const l = this; 5219 l.__swiper__ = !0, l.support = L(), l.device = I({ 5220 userAgent: t.userAgent 5221 }), l.browser = A(), l.eventsListeners = {}, l.eventsAnyListeners = [], l.modules = [...l.__modules__], t.modules && Array.isArray(t.modules) && l.modules.push(...t.modules); 5222 const o = {}; 5223 l.modules.forEach((e => { 5224 e({ 5225 params: t, 5226 swiper: l, 5227 extendParams: ee(t, o), 5228 on: l.on.bind(l), 5229 once: l.once.bind(l), 5230 off: l.off.bind(l), 5231 emit: l.emit.bind(l) 5232 }) 5233 })); 5234 const d = p({}, J, o); 5235 return l.params = p({}, d, se, t), l.originalParams = p({}, l.params), l.passedParams = p({}, t), l.params && l.params.on && Object.keys(l.params.on).forEac
vendor: 10,371 bytes, lines 5235-5451
5235h((e => { 5236 l.on(e, l.params.on[e]) 5237 })), l.params && l.params.onAny && l.onAny(l.params.onAny), Object.assign(l, { 5238 enabled: l.params.enabled, 5239 el: e, 5240 classNames: [], 5241 slides: [], 5242 slidesGrid: [], 5243 snapGrid: [], 5244 slidesSizesGrid: [], 5245 isHorizontal: () => "horizontal" === l.params.direction, 5246 isVertical: () => "vertical" === l.params.direction, 5247 activeIndex: 0, 5248 realIndex: 0, 5249 isBeginning: !0, 5250 isEnd: !1, 5251 translate: 0, 5252 previousTranslate: 0, 5253 progress: 0, 5254 velocity: 0, 5255 animating: !1, 5256 cssOverflowAdjustment() { 5257 return Math.trunc(this.translate / 2 ** 23) * 2 ** 23 5258 }, 5259 allowSlideNext: l.params.allowSlideNext, 5260 allowSlidePrev: l.params.allowSlidePrev, 5261 touchEventsData: { 5262 isTouched: void 0, 5263 isMoved: void 0, 5264 allowTouchCallbacks: void 0, 5265 touchStartTime: void 0, 5266 isScrolling: void 0, 5267 currentTranslate: void 0, 5268 startTranslate: void 0, 5269 allowThresholdMove: void 0, 5270 focusableElements: l.params.focusableElements, 5271 lastClickTime: 0, 5272 clickTimeout: void 0, 5273 velocities: [], 5274 allowMomentumBounce: void 0, 5275 startMoving: void 0, 5276 pointerId: null, 5277 touchId: null 5278 }, 5279 allowClick: !0, 5280 allowTouchMove: l.params.allowTouchMove, 5281 touches: { 5282 startX: 0, 5283 startY: 0, 5284 currentX: 0, 5285 currentY: 0, 5286 diff: 0 5287 }, 5288 imagesToLoad: [], 5289 imagesLoaded: 0 5290 }), l.emit("_swiper"), l.params.init && l.init(), l 5291 } 5292 getDirectionLabel(e) { 5293 return this.isHorizontal() ? e : { 5294 width: "height", 5295 "margin-top": "margin-left", 5296 "margin-bottom ": "margin-right", 5297 "margin-left": "margin-top", 5298 "margin-right": "margin-bottom", 5299 "padding-left": "padding-top", 5300 "padding-right": "padding-bottom", 5301 marginRight: "marginBottom" 5302 } [e] 5303 } 5304 getSlideIndex(e) { 5305 const { 5306 slidesEl: t, 5307 params: s 5308 } = this, a = y(f(t, `.${s.slideClass}, swiper-slide`)[0]); 5309 return y(e) - a 5310 } 5311 getSlideIndexByData(e) { 5312 return this.getSlideIndex(this.slides.filter((t => 1 * t.getAttribute("data-swiper-slide-index") === e))[0]) 5313 } 5314 recalcSlides() { 5315 const { 5316 slidesEl: e, 5317 params: t 5318 } = this; 5319 this.slides = f(e, `.${t.slideClass}, swiper-slide`) 5320 } 5321 enable() { 5322 const e = this; 5323 e.enabled || (e.enabled = !0, e.params.grabCursor && e.setGrabCursor(), e.emit("enable")) 5324 } 5325 disable() { 5326 const e = this; 5327 e.enabled && (e.enabled = !1, e.params.grabCursor && e.unsetGrabCursor(), e.emit("disable")) 5328 } 5329 setProgress(e, t) { 5330 const s = this; 5331 e = Math.min(Math.max(e, 0), 1); 5332 const a = s.minTranslate(), 5333 i = (s.maxTranslate() - a) * e + a; 5334 s.translateTo(i, void 0 === t ? 0 : t), s.updateActiveIndex(), s.updateSlidesClasses() 5335 } 5336 emitContainerClasses() { 5337 const e = this; 5338 if (!e.params._emitClasses || !e.el) return; 5339 const t = e.el.className.split(" ").filter((t => 0 === t.indexOf("swiper") || 0 === t.indexOf(e.params.containerModifierClass))); 5340 e.emit("_containerClasses", t.join(" ")) 5341 } 5342 getSlideClasses(e) { 5343 const t = this; 5344 return t.destroyed ? "" : e.className.split(" ").filter((e => 0 === e.indexOf("swiper-slide") || 0 === e.indexOf(t.params.slideClass))).join(" ") 5345 } 5346 emitSlidesClasses() { 5347 const e = this; 5348 if (!e.params._emitClasses || !e.el) return; 5349 const t = []; 5350 e.slides.forEach((s => { 5351 const a = e.getSlideClasses(s); 5352 t.push({ 5353 slideEl: s, 5354 classNames: a 5355 }), e.emit("_slideClass", s, a) 5356 })), e.emit("_slideClasses", t) 5357 } 5358 slidesPerViewDynamic(e, t) { 5359 void 0 === e && (e = "current"), void 0 === t && (t = !1); 5360 const { 5361 params: s, 5362 slides: a, 5363 slidesGrid: i, 5364 slidesSizesGrid: r, 5365 size: n, 5366 activeIndex: l 5367 } = this; 5368 let o = 1; 5369 if ("number" == typeof s.slidesPerView) return s.slidesPerView; 5370 if (s.centeredSlides) { 5371 let e, t = a[l] ? Math.ceil(a[l].swiperSlideSize) : 0; 5372 for (let s = l + 1; s < a.length; s += 1) a[s] && !e && (t += Math.ceil(a[s].swiperSlideSize), o += 1, t > n && (e = !0)); 5373 for (let s = l - 1; s >= 0; s -= 1) a[s] && !e && (t += a[s].swiperSlideSize, o += 1, t > n && (e = !0)) 5374 } else if ("current" === e) 5375 for (let e = l + 1; e < a.length; e += 1) { 5376 (t ? i[e] + r[e] - i[l] < n : i[e] - i[l] < n) && (o += 1) 5377 } else 5378 for (let e = l - 1; e >= 0; e -= 1) { 5379 i[l] - i[e] < n && (o += 1) 5380 } 5381 return o 5382 } 5383 update() { 5384 const e = this; 5385 if (!e || e.destroyed) return; 5386 const { 5387 snapGrid: t, 5388 params: s 5389 } = e; 5390 5391 function a() { 5392 const t = e.rtlTranslate ? -1 * e.translate : e.translate, 5393 s = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate()); 5394 e.setTranslate(s), e.updateActiveIndex(), e.updateSlidesClasses() 5395 } 5396 let i; 5397 if (s.breakpoints && e.setBreakpoint(), [...e.el.querySelectorAll('[loading="lazy"]')].forEach((t => { 5398 t.complete && O(e, t) 5399 })), e.updateSize(), e.updateSlides(), e.updateProgress(), e.updateSlidesClasses(), s.freeMode && s.freeMode.enabled && !s.cssMode) a(), s.autoHeight && e.updateAutoHeight(); 5400 else { 5401 if (("auto" === s.slidesPerView || s.slidesPerView > 1) && e.isEnd && !s.centeredSlides) { 5402 const t = e.virtual && s.virtual.enabled ? e.virtual.slides : e.slides; 5403 i = e.slideTo(t.length - 1, 0, !1, !0) 5404 } else i = e.slideTo(e.activeIndex, 0, !1, !0); 5405 i || a() 5406 } 5407 s.watchOverflow && t !== e.snapGrid && e.checkOverflow(), e.emit("update") 5408 } 5409 changeDirection(e, t) { 5410 void 0 === t && (t = !0); 5411 const s = this, 5412 a = s.params.direction; 5413 return e || (e = "horizontal" === a ? "vertical" : "horizontal"), e === a || "horizontal" !== e && "vertical" !== e || (s.el.classList.remove(`${s.params.containerModifierClass}${a}`), s.el.classList.add(`${s.params.containerModifierClass}${e}`), s.emitContainerClasses(), s.params.direction = e, s.slides.forEach((t => { 5414 "vertical" === e ? t.style.width = "" : t.style.height = "" 5415 })), s.emit("changeDirection"), t && s.update()), s 5416 } 5417 changeLanguageDirection(e) { 5418 const t = this; 5419 t.rtl && "rtl" === e || !t.rtl && "ltr" === e || (t.rtl = "rtl" === e, t.rtlTranslate = "horizontal" === t.params.direction && t.rtl, t.rtl ? (t.el.classList.add(`${t.params.containerModifierClass}rtl`), t.el.dir = "rtl") : (t.el.classList.remove(`${t.params.containerModifierClass}rtl`), t.el.dir = "ltr"), t.update()) 5420 } 5421 mount(e) { 5422 const t = this; 5423 if (t.mounted) return !0; 5424 let s = e || t.params.el; 5425 if ("string" == typeof s && (s = document.querySelector(s)), !s) return !1; 5426 s.swiper = t, s.parentNode && s.parentNode.host && s.parentNode.host.nodeName === t.params.swiperElementNodeName.toUpperCase() && (t.isElement = !0); 5427 const a = () => `.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`; 5428 let i = (() => { 5429 if (s && s.shadowRoot && s.shadowRoot.querySelector) { 5430 return s.shadowRoot.querySelector(a()) 5431 } 5432 return f(s, a())[0] 5433 })(); 5434 return !i && t.params.createElements && (i = v("div", t.params.wrapperClass), s.append(i), f(s, `.${t.params.slideClass}`).forEach((e => { 5435 i.append(e) 5436 }))), Object.assign(t, { 5437 el: s, 5438 wrapperEl: i, 5439 slidesEl: t.isElement && !s.parentNode.host.slideSlots ? s.parentNode.host : i, 5440 hostEl: t.isElement ? s.parentNode.host : s, 5441 mounted: !0, 5442 rtl: "rtl" === s.dir.toLowerCase() || "rtl" === b(s, "direction"), 5443 rtlTranslate: "horizontal" === t.params.direction && ("rtl" === s.dir.toLowerCase() || "rtl" === b(s, "direction")), 5444 wrongRTL: "-webkit-box" === b(i, "display") 5445 }), !0 5446 } 5447 init(e) { 5448 const t = this; 5449 if (t.initialized) return t; 5450 if (!1 === t.mount(e)) return t; 5451 t.emit("beforeInit"), t.params.breakpoints && t.setBreakpoint(), t.addClasses(), t.updateSize(), t.updateSlides(), t.params.watchOverflow && t.checkOverflow(), t.params.grabCursor && t.enabled && t.setGrabCursor(
vendor: 4,551 bytes, lines 5451-5554
5451), t.params.loop && t.virtual && t.params.virtual.enabled ? t.slideTo(t.params.initialSlide + t.virtual.slidesBefore, 0, t.params.runCallbacksOnInit, !1, !0) : t.slideTo(t.params.initialSlide, 0, t.params.runCallbacksOnInit, !1, !0), t.params.loop && t.loopCreate(), t.attachEvents(); 5452 const s = [...t.el.querySelectorAll('[loading="lazy"]')]; 5453 return t.isElement && s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')), s.forEach((e => { 5454 e.complete ? O(t, e) : e.addEventListener("load", (e => { 5455 O(t, e.target) 5456 })) 5457 })), G(t), t.initialized = !0, G(t), t.emit("init"), t.emit("afterInit"), t 5458 } 5459 destroy(e, t) { 5460 void 0 === e && (e = !0), void 0 === t && (t = !0); 5461 const s = this, 5462 { 5463 params: a, 5464 el: i, 5465 wrapperEl: r, 5466 slides: n 5467 } = s; 5468 return void 0 === s.params || s.destroyed || (s.emit("beforeDestroy"), s.initialized = !1, s.detachEvents(), a.loop && s.loopDestroy(), t && (s.removeClasses(), i && "string" != typeof i && i.removeAttribute("style"), r && r.removeAttribute("style"), n && n.length && n.forEach((e => { 5469 e.classList.remove(a.slideVisibleClass, a.slideFullyVisibleClass, a.slideActiveClass, a.slideNextClass, a.slidePrevClass), e.removeAttribute("style"), e.removeAttribute("data-swiper-slide-index") 5470 }))), s.emit("destroy"), Object.keys(s.eventsListeners).forEach((e => { 5471 s.off(e) 5472 })), !1 !== e && (s.el && "string" != typeof s.el && (s.el.swiper = null), function(e) { 5473 const t = e; 5474 Object.keys(t).forEach((e => { 5475 try { 5476 t[e] = null 5477 } catch (e) {} 5478 try { 5479 delete t[e] 5480 } catch (e) {} 5481 })) 5482 }(s)), s.destroyed = !0), null 5483 } 5484 static extendDefaults(e) { 5485 p(se, e) 5486 } 5487 static get extendedDefaults() { 5488 return se 5489 } 5490 static get defaults() { 5491 return J 5492 } 5493 static installModule(e) { 5494 ae.prototype.__modules__ || (ae.prototype.__modules__ = []); 5495 const t = ae.prototype.__modules__; 5496 "function" == typeof e && t.indexOf(e) < 0 && t.push(e) 5497 } 5498 static use(e) { 5499 return Array.isArray(e) ? (e.forEach((e => ae.installModule(e))), ae) : (ae.installModule(e), ae) 5500 } 5501 } 5502 5503 function ie(e, t, s, a) { 5504 return e.params.createElements && Object.keys(a).forEach((i => { 5505 if (!s[i] && !0 === s.auto) { 5506 let r = f(e.el, `.${a[i]}`)[0]; 5507 r || (r = v("div", a[i]), r.className = a[i], e.el.append(r)), s[i] = r, t[i] = r 5508 } 5509 })), s 5510 } 5511 5512 function re(e) { 5513 return void 0 === e && (e = ""), `.${e.trim().replace(/([\.:!+\/])/g,"\\$1").replace(/ /g,".")}` 5514 } 5515 5516 function ne(e) { 5517 const t = this, 5518 { 5519 params: s, 5520 slidesEl: a 5521 } = t; 5522 s.loop && t.loopDestroy(); 5523 const i = e => { 5524 if ("string" == typeof e) { 5525 const t = document.createElement("div"); 5526 t.innerHTML = e, a.append(t.children[0]), t.innerHTML = "" 5527 } else a.append(e) 5528 }; 5529 if ("object" == typeof e && "length" in e) 5530 for (let t = 0; t < e.length; t += 1) e[t] && i(e[t]); 5531 else i(e); 5532 t.recalcSlides(), s.loop && t.loopCreate(), s.observer && !t.isElement || t.update() 5533 } 5534 5535 function le(e) { 5536 const t = this, 5537 { 5538 params: s, 5539 activeIndex: a, 5540 slidesEl: i 5541 } = t; 5542 s.loop && t.loopDestroy(); 5543 let r = a + 1; 5544 const n = e => { 5545 if ("string" == typeof e) { 5546 const t = document.createElement("div"); 5547 t.innerHTML = e, i.prepend(t.children[0]), t.innerHTML = "" 5548 } else i.prepend(e) 5549 }; 5550 if ("object" == typeof e && "length" in e) { 5551 for (let t = 0; t < e.length; t += 1) e[t] && n(e[t]); 5552 r = a + e.length 5553 } else n(e); 5554 t.recalcSlides(), s.loop && t.loopCreate(), s.observer && !t.isElement || t.update(
vendor: 31,636 bytes, lines 5554-6249
5554), t.slideTo(r, 0, !1) 5555 } 5556 5557 function oe(e, t) { 5558 const s = this, 5559 { 5560 params: a, 5561 activeIndex: i, 5562 slidesEl: r 5563 } = s; 5564 let n = i; 5565 a.loop && (n -= s.loopedSlides, s.loopDestroy(), s.recalcSlides()); 5566 const l = s.slides.length; 5567 if (e <= 0) return void s.prependSlide(t); 5568 if (e >= l) return void s.appendSlide(t); 5569 let o = n > e ? n + 1 : n; 5570 const d = []; 5571 for (let t = l - 1; t >= e; t -= 1) { 5572 const e = s.slides[t]; 5573 e.remove(), d.unshift(e) 5574 } 5575 if ("object" == typeof t && "length" in t) { 5576 for (let e = 0; e < t.length; e += 1) t[e] && r.append(t[e]); 5577 o = n > e ? n + t.length : n 5578 } else r.append(t); 5579 for (let e = 0; e < d.length; e += 1) r.append(d[e]); 5580 s.recalcSlides(), a.loop && s.loopCreate(), a.observer && !s.isElement || s.update(), a.loop ? s.slideTo(o + s.loopedSlides, 0, !1) : s.slideTo(o, 0, !1) 5581 } 5582 5583 function de(e) { 5584 const t = this, 5585 { 5586 params: s, 5587 activeIndex: a 5588 } = t; 5589 let i = a; 5590 s.loop && (i -= t.loopedSlides, t.loopDestroy()); 5591 let r, n = i; 5592 if ("object" == typeof e && "length" in e) { 5593 for (let s = 0; s < e.length; s += 1) r = e[s], t.slides[r] && t.slides[r].remove(), r < n && (n -= 1); 5594 n = Math.max(n, 0) 5595 } else r = e, t.slides[r] && t.slides[r].remove(), r < n && (n -= 1), n = Math.max(n, 0); 5596 t.recalcSlides(), s.loop && t.loopCreate(), s.observer && !t.isElement || t.update(), s.loop ? t.slideTo(n + t.loopedSlides, 0, !1) : t.slideTo(n, 0, !1) 5597 } 5598 5599 function ce() { 5600 const e = this, 5601 t = []; 5602 for (let s = 0; s < e.slides.length; s += 1) t.push(s); 5603 e.removeSlide(t) 5604 } 5605 5606 function pe(e) { 5607 const { 5608 effect: t, 5609 swiper: s, 5610 on: a, 5611 setTranslate: i, 5612 setTransition: r, 5613 overwriteParams: n, 5614 perspective: l, 5615 recreateShadows: o, 5616 getEffectParams: d 5617 } = e; 5618 let c; 5619 a("beforeInit", (() => { 5620 if (s.params.effect !== t) return; 5621 s.classNames.push(`${s.params.containerModifierClass}${t}`), l && l() && s.classNames.push(`${s.params.containerModifierClass}3d`); 5622 const e = n ? n() : {}; 5623 Object.assign(s.params, e), Object.assign(s.originalParams, e) 5624 })), a("setTranslate", (() => { 5625 s.params.effect === t && i() 5626 })), a("setTransition", ((e, a) => { 5627 s.params.effect === t && r(a) 5628 })), a("transitionEnd", (() => { 5629 if (s.params.effect === t && o) { 5630 if (!d || !d().slideShadows) return; 5631 s.slides.forEach((e => { 5632 e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e => e.remove())) 5633 })), o() 5634 } 5635 })), a("virtualUpdate", (() => { 5636 s.params.effect === t && (s.slides.length || (c = !0), requestAnimationFrame((() => { 5637 c && s.slides && s.slides.length && (i(), c = !1) 5638 }))) 5639 })) 5640 } 5641 5642 function ue(e, t) { 5643 const s = h(t); 5644 return s !== t && (s.style.backfaceVisibility = "hidden", s.style["-webkit-backface-visibility"] = "hidden"), s 5645 } 5646 5647 function me(e) { 5648 let { 5649 swiper: t, 5650 duration: s, 5651 transformElements: a, 5652 allSlides: i 5653 } = e; 5654 const { 5655 activeIndex: r 5656 } = t; 5657 if (t.params.virtualTranslate && 0 !== s) { 5658 let e, s = !1; 5659 e = i ? a : a.filter((e => { 5660 const s = e.classList.contains("swiper-slide-transform") ? (e => { 5661 if (!e.parentElement) return t.slides.filter((t => t.shadowRoot && t.shadowRoot === e.parentNode))[0]; 5662 return e.parentElement 5663 })(e) : e; 5664 return t.getSlideIndex(s) === r 5665 })), e.forEach((e => { 5666 x(e, (() => { 5667 if (s) return; 5668 if (!t || t.destroyed) return; 5669 s = !0, t.animating = !1; 5670 const e = new window.CustomEvent("transitionend", { 5671 bubbles: !0, 5672 cancelable: !0 5673 }); 5674 t.wrapperEl.dispatchEvent(e) 5675 })) 5676 })) 5677 } 5678 } 5679 5680 function he(e, t, s) { 5681 const a = `swiper-slide-shadow${s?`-${s}`:""}${e?` swiper-slide-shadow-${e}`:""}`, 5682 i = h(t); 5683 let r = i.querySelector(`.${a.split(" ").join(".")}`); 5684 return r || (r = v("div", a.split(" ")), i.append(r)), r 5685 } 5686 Object.keys(te).forEach((e => { 5687 Object.keys(te[e]).forEach((t => { 5688 ae.prototype[t] = te[e][t] 5689 })) 5690 })), ae.use([function(e) { 5691 let { 5692 swiper: t, 5693 on: s, 5694 emit: a 5695 } = e; 5696 const i = r(); 5697 let n = null, 5698 l = null; 5699 const o = () => { 5700 t && !t.destroyed && t.initialized && (a("beforeResize"), a("resize")) 5701 }, 5702 d = () => { 5703 t && !t.destroyed && t.initialized && a("orientationchange") 5704 }; 5705 s("init", (() => { 5706 t.params.resizeObserver && void 0 !== i.ResizeObserver ? t && !t.destroyed && t.initialized && (n = new ResizeObserver((e => { 5707 l = i.requestAnimationFrame((() => { 5708 const { 5709 width: s, 5710 height: a 5711 } = t; 5712 let i = s, 5713 r = a; 5714 e.forEach((e => { 5715 let { 5716 contentBoxSize: s, 5717 contentRect: a, 5718 target: n 5719 } = e; 5720 n && n !== t.el || (i = a ? a.width : (s[0] || s).inlineSize, r = a ? a.height : (s[0] || s).blockSize) 5721 })), i === s && r === a || o() 5722 })) 5723 })), n.observe(t.el)) : (i.addEventListener("resize", o), i.addEventListener("orientationchange", d)) 5724 })), s("destroy", (() => { 5725 l && i.cancelAnimationFrame(l), n && n.unobserve && t.el && (n.unobserve(t.el), n = null), i.removeEventListener("resize", o), i.removeEventListener("orientationchange", d) 5726 })) 5727 }, function(e) { 5728 let { 5729 swiper: t, 5730 extendParams: s, 5731 on: a, 5732 emit: i 5733 } = e; 5734 const n = [], 5735 l = r(), 5736 o = function(e, s) { 5737 void 0 === s && (s = {}); 5738 const a = new(l.MutationObserver || l.WebkitMutationObserver)((e => { 5739 if (t.__preventObserver__) return; 5740 if (1 === e.length) return void i("observerUpdate", e[0]); 5741 const s = function() { 5742 i("observerUpdate", e[0]) 5743 }; 5744 l.requestAnimationFrame ? l.requestAnimationFrame(s) : l.setTimeout(s, 0) 5745 })); 5746 a.observe(e, { 5747 attributes: void 0 === s.attributes || s.attributes, 5748 childList: void 0 === s.childList || s.childList, 5749 characterData: void 0 === s.characterData || s.characterData 5750 }), n.push(a) 5751 }; 5752 s({ 5753 observer: !1, 5754 observeParents: !1, 5755 observeSlideChildren: !1 5756 }), a("init", (() => { 5757 if (t.params.observer) { 5758 if (t.params.observeParents) { 5759 const e = E(t.hostEl); 5760 for (let t = 0; t < e.length; t += 1) o(e[t]) 5761 } 5762 o(t.hostEl, { 5763 childList: t.params.observeSlideChildren 5764 }), o(t.wrapperEl, { 5765 attributes: !1 5766 }) 5767 } 5768 })), a("destroy", (() => { 5769 n.forEach((e => { 5770 e.disconnect() 5771 })), n.splice(0, n.length) 5772 })) 5773 }]); 5774 const fe = [function(e) { 5775 let t, { 5776 swiper: s, 5777 extendParams: i, 5778 on: r, 5779 emit: n 5780 } = e; 5781 i({ 5782 virtual: { 5783 enabled: !1, 5784 slides: [], 5785 cache: !0, 5786 renderSlide: null, 5787 renderExternal: null, 5788 renderExternalUpdate: !0, 5789 addSlidesBefore: 0, 5790 addSlidesAfter: 0 5791 } 5792 }); 5793 const l = a(); 5794 s.virtual = { 5795 cache: {}, 5796 from: void 0, 5797 to: void 0, 5798 slides: [], 5799 offset: 0, 5800 slidesGrid: [] 5801 }; 5802 const o = l.createElement("div"); 5803 5804 function d(e, t) { 5805 const a = s.params.virtual; 5806 if (a.cache && s.virtual.cache[t]) return s.virtual.cache[t]; 5807 let i; 5808 return a.renderSlide ? (i = a.renderSlide.call(s, e, t), "string" == typeof i && (o.innerHTML = i, i = o.children[0])) : i = s.isElement ? v("swiper-slide") : v("div", s.params.slideClass), i.setAttribute("data-swiper-slide-index", t), a.renderSlide || (i.innerHTML = e), a.cache && (s.virtual.cache[t] = i), i 5809 } 5810 5811 function c(e, t) { 5812 const { 5813 slidesPerView: a, 5814 slidesPerGroup: i, 5815 centeredSlides: r, 5816 loop: l, 5817 initialSlide: o 5818 } = s.params; 5819 if (t && !l && o > 0) return; 5820 const { 5821 addSlidesBefore: c, 5822 addSlidesAfter: p 5823 } = s.params.virtual, { 5824 from: u, 5825 to: m, 5826 slides: h, 5827 slidesGrid: g, 5828 offset: v 5829 } = s.virtual; 5830 s.params.cssMode || s.updateActiveIndex(); 5831 const w = s.activeIndex || 0; 5832 let b, y, E; 5833 b = s.rtlTranslate ? "right" : s.isHorizontal() ? "left" : "top", r ? (y = Math.floor(a / 2) + i + p, E = Math.floor(a / 2) + i + c) : (y = a + (i - 1) + p, E = (l ? a : i) + c); 5834 let x = w - E, 5835 S = w + y; 5836 l || (x = Math.max(x, 0), S = Math.min(S, h.length - 1)); 5837 let T = (s.slidesGrid[x] || 0) - (s.slidesGrid[0] || 0); 5838 5839 function M() { 5840 s.updateSlides(), s.updateProgress(), s.updateSlidesClasses(), n("virtualUpdate") 5841 } 5842 if (l && w >= E ? (x -= E, r || (T += s.slidesGrid[0])) : l && w < E && (x = -E, r && (T += s.slidesGrid[0])), Object.assign(s.virtual, { 5843 from: x, 5844 to: S, 5845 offset: T, 5846 slidesGrid: s.slidesGrid, 5847 slidesBefore: E, 5848 slidesAfter: y 5849 }), u === x && m === S && !e) return s.slidesGrid !== g && T !== v && s.slides.forEach((e => { 5850 e.style[b] = T - Math.abs(s.cssOverflowAdjustment()) + "px" 5851 })), s.updateProgress(), void n("virtualUpdate"); 5852 if (s.params.virtual.renderExternal) return s.params.virtual.renderExternal.call(s, { 5853 offset: T, 5854 from: x, 5855 to: S, 5856 slides: function() { 5857 const e = []; 5858 for (let t = x; t <= S; t += 1) e.push(h[t]); 5859 return e 5860 }() 5861 }), void(s.params.virtual.renderExternalUpdate ? M() : n("virtualUpdate")); 5862 const C = [], 5863 P = [], 5864 L = e => { 5865 let t = e; 5866 return e < 0 ? t = h.length + e : t >= h.length && (t -= h.length), t 5867 }; 5868 if (e) s.slides.filter((e => e.matches(`.${s.params.slideClass}, swiper-slide`))).forEach((e => { 5869 e.remove() 5870 })); 5871 else 5872 for (let e = u; e <= m; e += 1) 5873 if (e < x || e > S) { 5874 const t = L(e); 5875 s.slides.filter((e => e.matches(`.${s.params.slideClass}[data-swiper-slide-index="${t}"], swiper-slide[data-swiper-slide-index="${t}"]`))).forEach((e => { 5876 e.remove() 5877 })) 5878 } const I = l ? -h.length : 0, 5879 A = l ? 2 * h.length : h.length; 5880 for (let t = I; t < A; t += 1) 5881 if (t >= x && t <= S) { 5882 const s = L(t); 5883 void 0 === m || e ? P.push(s) : (t > m && P.push(s), t < u && C.push(s)) 5884 } if (P.forEach((e => { 5885 s.slidesEl.append(d(h[e], e)) 5886 })), l) 5887 for (let e = C.length - 1; e >= 0; e -= 1) { 5888 const t = C[e]; 5889 s.slidesEl.prepend(d(h[t], t)) 5890 } else C.sort(((e, t) => t - e)), C.forEach((e => { 5891 s.slidesEl.prepend(d(h[e], e)) 5892 })); 5893 f(s.slidesEl, ".swiper-slide, swiper-slide").forEach((e => { 5894 e.style[b] = T - Math.abs(s.cssOverflowAdjustment()) + "px" 5895 })), M() 5896 } 5897 r("beforeInit", (() => { 5898 if (!s.params.virtual.enabled) return; 5899 let e; 5900 if (void 0 === s.passedParams.virtual.slides) { 5901 const t = [...s.slidesEl.children].filter((e => e.matches(`.${s.params.slideClass}, swiper-slide`))); 5902 t && t.length && (s.virtual.slides = [...t], e = !0, t.forEach(((e, t) => { 5903 e.setAttribute("data-swiper-slide-index", t), s.virtual.cache[t] = e, e.remove() 5904 }))) 5905 } 5906 e || (s.virtual.slides = s.params.virtual.slides), s.classNames.push(`${s.params.containerModifierClass}virtual`), s.params.watchSlidesProgress = !0, s.originalParams.watchSlidesProgress = !0, c(!1, !0) 5907 })), r("setTranslate", (() => { 5908 s.params.virtual.enabled && (s.params.cssMode && !s._immediateVirtual ? (clearTimeout(t), t = setTimeout((() => { 5909 c() 5910 }), 100)) : c()) 5911 })), r("init update resize", (() => { 5912 s.params.virtual.enabled && s.params.cssMode && u(s.wrapperEl, "--swiper-virtual-size", `${s.virtualSize}px`) 5913 })), Object.assign(s.virtual, { 5914 appendSlide: function(e) { 5915 if ("object" == typeof e && "length" in e) 5916 for (let t = 0; t < e.length; t += 1) e[t] && s.virtual.slides.push(e[t]); 5917 else s.virtual.slides.push(e); 5918 c(!0) 5919 }, 5920 prependSlide: function(e) { 5921 const t = s.activeIndex; 5922 let a = t + 1, 5923 i = 1; 5924 if (Array.isArray(e)) { 5925 for (let t = 0; t < e.length; t += 1) e[t] && s.virtual.slides.unshift(e[t]); 5926 a = t + e.length, i = e.length 5927 } else s.virtual.slides.unshift(e); 5928 if (s.params.virtual.cache) { 5929 const e = s.virtual.cache, 5930 t = {}; 5931 Object.keys(e).forEach((s => { 5932 const a = e[s], 5933 r = a.getAttribute("data-swiper-slide-index"); 5934 r && a.setAttribute("data-swiper-slide-index", parseInt(r, 10) + i), t[parseInt(s, 10) + i] = a 5935 })), s.virtual.cache = t 5936 } 5937 c(!0), s.slideTo(a, 0) 5938 }, 5939 removeSlide: function(e) { 5940 if (null == e) return; 5941 let t = s.activeIndex; 5942 if (Array.isArray(e)) 5943 for (let a = e.length - 1; a >= 0; a -= 1) s.params.virtual.cache && (delete s.virtual.cache[e[a]], Object.keys(s.virtual.cache).forEach((t => { 5944 t > e && (s.virtual.cache[t - 1] = s.virtual.cache[t], s.virtual.cache[t - 1].setAttribute("data-swiper-slide-index", t - 1), delete s.virtual.cache[t]) 5945 }))), s.virtual.slides.splice(e[a], 1), e[a] < t && (t -= 1), t = Math.max(t, 0); 5946 else s.params.virtual.cache && (delete s.virtual.cache[e], Object.keys(s.virtual.cache).forEach((t => { 5947 t > e && (s.virtual.cache[t - 1] = s.virtual.cache[t], s.virtual.cache[t - 1].setAttribute("data-swiper-slide-index", t - 1), delete s.virtual.cache[t]) 5948 }))), s.virtual.slides.splice(e, 1), e < t && (t -= 1), t = Math.max(t, 0); 5949 c(!0), s.slideTo(t, 0) 5950 }, 5951 removeAllSlides: function() { 5952 s.virtual.slides = [], s.params.virtual.cache && (s.virtual.cache = {}), c(!0), s.slideTo(0, 0) 5953 }, 5954 update: c 5955 }) 5956 }, function(e) { 5957 let { 5958 swiper: t, 5959 extendParams: s, 5960 on: i, 5961 emit: n 5962 } = e; 5963 const l = a(), 5964 o = r(); 5965 5966 function d(e) { 5967 if (!t.enabled) return; 5968 const { 5969 rtlTranslate: s 5970 } = t; 5971 let a = e; 5972 a.originalEvent && (a = a.originalEvent); 5973 const i = a.keyCode || a.charCode, 5974 r = t.params.keyboard.pageUpDown, 5975 d = r && 33 === i, 5976 c = r && 34 === i, 5977 p = 37 === i, 5978 u = 39 === i, 5979 m = 38 === i, 5980 h = 40 === i; 5981 if (!t.allowSlideNext && (t.isHorizontal() && u || t.isVertical() && h || c)) return !1; 5982 if (!t.allowSlidePrev && (t.isHorizontal() && p || t.isVertical() && m || d)) return !1; 5983 if (!(a.shiftKey || a.altKey || a.ctrlKey || a.metaKey || l.activeElement && l.activeElement.nodeName && ("input" === l.activeElement.nodeName.toLowerCase() || "textarea" === l.activeElement.nodeName.toLowerCase()))) { 5984 if (t.params.keyboard.onlyInViewport && (d || c || p || u || m || h)) { 5985 let e = !1; 5986 if (E(t.el, `.${t.params.slideClass}, swiper-slide`).length > 0 && 0 === E(t.el, `.${t.params.slideActiveClass}`).length) return; 5987 const a = t.el, 5988 i = a.clientWidth, 5989 r = a.clientHeight, 5990 n = o.innerWidth, 5991 l = o.innerHeight, 5992 d = w(a); 5993 s && (d.left -= a.scrollLeft); 5994 const c = [ 5995 [d.left, d.top], 5996 [d.left + i, d.top], 5997 [d.left, d.top + r], 5998 [d.left + i, d.top + r] 5999 ]; 6000 for (let t = 0; t < c.length; t += 1) { 6001 const s = c[t]; 6002 if (s[0] >= 0 && s[0] <= n && s[1] >= 0 && s[1] <= l) { 6003 if (0 === s[0] && 0 === s[1]) continue; 6004 e = !0 6005 } 6006 } 6007 if (!e) return 6008 } 6009 t.isHorizontal() ? ((d || c || p || u) && (a.preventDefault ? a.preventDefault() : a.returnValue = !1), ((c || u) && !s || (d || p) && s) && t.slideNext(), ((d || p) && !s || (c || u) && s) && t.slidePrev()) : ((d || c || m || h) && (a.preventDefault ? a.preventDefault() : a.returnValue = !1), (c || h) && t.slideNext(), (d || m) && t.slidePrev()), n("keyPress", i) 6010 } 6011 } 6012 6013 function c() { 6014 t.keyboard.enabled || (l.addEventListener("keydown", d), t.keyboard.enabled = !0) 6015 } 6016 6017 function p() { 6018 t.keyboard.enabled && (l.removeEventListener("keydown", d), t.keyboard.enabled = !1) 6019 } 6020 t.keyboard = { 6021 enabled: !1 6022 }, s({ 6023 keyboard: { 6024 enabled: !1, 6025 onlyInViewport: !0, 6026 pageUpDown: !0 6027 } 6028 }), i("init", (() => { 6029 t.params.keyboard.enabled && c() 6030 })), i("destroy", (() => { 6031 t.keyboard.enabled && p() 6032 })), Object.assign(t.keyboard, { 6033 enable: c, 6034 disable: p 6035 }) 6036 }, function(e) { 6037 let { 6038 swiper: t, 6039 extendParams: s, 6040 on: a, 6041 emit: i 6042 } = e; 6043 const n = r(); 6044 let d; 6045 s({ 6046 mousewheel: { 6047 enabled: !1, 6048 releaseOnEdges: !1, 6049 invert: !1, 6050 forceToAxis: !1, 6051 sensitivity: 1, 6052 eventsTarget: "container", 6053 thresholdDelta: null, 6054 thresholdTime: null, 6055 noMousewheelClass: "swiper-no-mousewheel" 6056 } 6057 }), t.mousewheel = { 6058 enabled: !1 6059 }; 6060 let c, p = o(); 6061 const u = []; 6062 6063 function m() { 6064 t.enabled && (t.mouseEntered = !0) 6065 } 6066 6067 function h() { 6068 t.enabled && (t.mouseEntered = !1) 6069 } 6070 6071 function f(e) { 6072 return !(t.params.mousewheel.thresholdDelta && e.delta < t.params.mousewheel.thresholdDelta) && (!(t.params.mousewheel.thresholdTime && o() - p < t.params.mousewheel.thresholdTime) && (e.delta >= 6 && o() - p < 60 || (e.direction < 0 ? t.isEnd && !t.params.loop || t.animating || (t.slideNext(), i("scroll", e.raw)) : t.isBeginning && !t.params.loop || t.animating || (t.slidePrev(), i("scroll", e.raw)), p = (new n.Date).getTime(), !1))) 6073 } 6074 6075 function g(e) { 6076 let s = e, 6077 a = !0; 6078 if (!t.enabled) return; 6079 if (e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`)) return; 6080 const r = t.params.mousewheel; 6081 t.params.cssMode && s.preventDefault(); 6082 let n = t.el; 6083 "container" !== t.params.mousewheel.eventsTarget && (n = document.querySelector(t.params.mousewheel.eventsTarget)); 6084 const p = n && n.contains(s.target); 6085 if (!t.mouseEntered && !p && !r.releaseOnEdges) return !0; 6086 s.originalEvent && (s = s.originalEvent); 6087 let m = 0; 6088 const h = t.rtlTranslate ? -1 : 1, 6089 g = function(e) { 6090 let t = 0, 6091 s = 0, 6092 a = 0, 6093 i = 0; 6094 return "detail" in e && (s = e.detail), "wheelDelta" in e && (s = -e.wheelDelta / 120), "wheelDeltaY" in e && (s = -e.wheelDeltaY / 120), "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120), "axis" in e && e.axis === e.HORIZONTAL_AXIS && (t = s, s = 0), a = 10 * t, i = 10 * s, "deltaY" in e && (i = e.deltaY), "deltaX" in e && (a = e.deltaX), e.shiftKey && !a && (a = i, i = 0), (a || i) && e.deltaMode && (1 === e.deltaMode ? (a *= 40, i *= 40) : (a *= 800, i *= 800)), a && !t && (t = a < 1 ? -1 : 1), i && !s && (s = i < 1 ? -1 : 1), { 6095 spinX: t, 6096 spinY: s, 6097 pixelX: a, 6098 pixelY: i 6099 } 6100 }(s); 6101 if (r.forceToAxis) 6102 if (t.isHorizontal()) { 6103 if (!(Math.abs(g.pixelX) > Math.abs(g.pixelY))) return !0; 6104 m = -g.pixelX * h 6105 } else { 6106 if (!(Math.abs(g.pixelY) > Math.abs(g.pixelX))) return !0; 6107 m = -g.pixelY 6108 } 6109 else m = Math.abs(g.pixelX) > Math.abs(g.pixelY) ? -g.pixelX * h : -g.pixelY; 6110 if (0 === m) return !0; 6111 r.invert && (m = -m); 6112 let v = t.getTranslate() + m * r.sensitivity; 6113 if (v >= t.minTranslate() && (v = t.minTranslate()), v <= t.maxTranslate() && (v = t.maxTranslate()), a = !!t.params.loop || !(v === t.minTranslate() || v === t.maxTranslate()), a && t.params.nested && s.stopPropagation(), t.params.freeMode && t.params.freeMode.enabled) { 6114 const e = { 6115 time: o(), 6116 delta: Math.abs(m), 6117 direction: Math.sign(m) 6118 }, 6119 a = c && e.time < c.time + 500 && e.delta <= c.delta && e.direction === c.direction; 6120 if (!a) { 6121 c = void 0; 6122 let n = t.getTranslate() + m * r.sensitivity; 6123 const o = t.isBeginning, 6124 p = t.isEnd; 6125 if (n >= t.minTranslate() && (n = t.minTranslate()), n <= t.maxTranslate() && (n = t.maxTranslate()), t.setTransition(0), t.setTranslate(n), t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses(), (!o && t.isBeginning || !p && t.isEnd) && t.updateSlidesClasses(), t.params.loop && t.loopFix({ 6126 direction: e.direction < 0 ? "next" : "prev", 6127 byMousewheel: !0 6128 }), t.params.freeMode.sticky) { 6129 clearTimeout(d), d = void 0, u.length >= 15 && u.shift(); 6130 const s = u.length ? u[u.length - 1] : void 0, 6131 a = u[0]; 6132 if (u.push(e), s && (e.delta > s.delta || e.direction !== s.direction)) u.splice(0); 6133 else if (u.length >= 15 && e.time - a.time < 500 && a.delta - e.delta >= 1 && e.delta <= 6) { 6134 const s = m > 0 ? .8 : .2; 6135 c = e, u.splice(0), d = l((() => { 6136 t.slideToClosest(t.params.speed, !0, void 0, s) 6137 }), 0) 6138 } 6139 d || (d = l((() => { 6140 c = e, u.splice(0), t.slideToClosest(t.params.speed, !0, void 0, .5) 6141 }), 500)) 6142 } 6143 if (a || i("scroll", s), t.params.autoplay && t.params.autoplayDisableOnInteraction && t.autoplay.stop(), r.releaseOnEdges && (n === t.minTranslate() || n === t.maxTranslate())) return !0 6144 } 6145 } else { 6146 const s = { 6147 time: o(), 6148 delta: Math.abs(m), 6149 direction: Math.sign(m), 6150 raw: e 6151 }; 6152 u.length >= 2 && u.shift(); 6153 const a = u.length ? u[u.length - 1] : void 0; 6154 if (u.push(s), a ? (s.direction !== a.direction || s.delta > a.delta || s.time > a.time + 150) && f(s) : f(s), function(e) { 6155 const s = t.params.mousewheel; 6156 if (e.direction < 0) { 6157 if (t.isEnd && !t.params.loop && s.releaseOnEdges) return !0 6158 } else if (t.isBeginning && !t.params.loop && s.releaseOnEdges) return !0; 6159 return !1 6160 }(s)) return !0 6161 } 6162 return s.preventDefault ? s.preventDefault() : s.returnValue = !1, !1 6163 } 6164 6165 function v(e) { 6166 let s = t.el; 6167 "container" !== t.params.mousewheel.eventsTarget && (s = document.querySelector(t.params.mousewheel.eventsTarget)), s[e]("mouseenter", m), s[e]("mouseleave", h), s[e]("wheel", g) 6168 } 6169 6170 function w() { 6171 return t.params.cssMode ? (t.wrapperEl.removeEventListener("wheel", g), !0) : !t.mousewheel.enabled && (v("addEventListener"), t.mousewheel.enabled = !0, !0) 6172 } 6173 6174 function b() { 6175 return t.params.cssMode ? (t.wrapperEl.addEventListener(event, g), !0) : !!t.mousewheel.enabled && (v("removeEventListener"), t.mousewheel.enabled = !1, !0) 6176 } 6177 a("init", (() => { 6178 !t.params.mousewheel.enabled && t.params.cssMode && b(), t.params.mousewheel.enabled && w() 6179 })), a("destroy", (() => { 6180 t.params.cssMode && w(), t.mousewheel.enabled && b() 6181 })), Object.assign(t.mousewheel, { 6182 enable: w, 6183 disable: b 6184 }) 6185 }, function(e) { 6186 let { 6187 swiper: t, 6188 extendParams: s, 6189 on: a, 6190 emit: i 6191 } = e; 6192 6193 function r(e) { 6194 let s; 6195 return e && "string" == typeof e && t.isElement && (s = t.el.querySelector(e), s) ? s : (e && ("string" == typeof e && (s = [...document.querySelectorAll(e)]), t.params.uniqueNavElements && "string" == typeof e && s && s.length > 1 && 1 === t.el.querySelectorAll(e).length ? s = t.el.querySelector(e) : s && 1 === s.length && (s = s[0])), e && !s ? e : s) 6196 } 6197 6198 function n(e, s) { 6199 const a = t.params.navigation; 6200 (e = T(e)).forEach((e => { 6201 e && (e.classList[s ? "add" : "remove"](...a.disabledClass.split(" ")), "BUTTON" === e.tagName && (e.disabled = s), t.params.watchOverflow && t.enabled && e.classList[t.isLocked ? "add" : "remove"](a.lockClass)) 6202 })) 6203 } 6204 6205 function l() { 6206 const { 6207 nextEl: e, 6208 prevEl: s 6209 } = t.navigation; 6210 if (t.params.loop) return n(s, !1), void n(e, !1); 6211 n(s, t.isBeginning && !t.params.rewind), n(e, t.isEnd && !t.params.rewind) 6212 } 6213 6214 function o(e) { 6215 e.preventDefault(), (!t.isBeginning || t.params.loop || t.params.rewind) && (t.slidePrev(), i("navigationPrev")) 6216 } 6217 6218 function d(e) { 6219 e.preventDefault(), (!t.isEnd || t.params.loop || t.params.rewind) && (t.slideNext(), i("navigationNext")) 6220 } 6221 6222 function c() { 6223 const e = t.params.navigation; 6224 if (t.params.navigation = ie(t, t.originalParams.navigation, t.params.navigation, { 6225 nextEl: "swiper-button-next", 6226 prevEl: "swiper-button-prev" 6227 }), !e.nextEl && !e.prevEl) return; 6228 let s = r(e.nextEl), 6229 a = r(e.prevEl); 6230 Object.assign(t.navigation, { 6231 nextEl: s, 6232 prevEl: a 6233 }), s = T(s), a = T(a); 6234 const i = (s, a) => { 6235 s && s.addEventListener("click", "next" === a ? d : o), !t.enabled && s && s.classList.add(...e.lockClass.split(" ")) 6236 }; 6237 s.forEach((e => i(e, "next"))), a.forEach((e => i(e, "prev"))) 6238 } 6239 6240 function p() { 6241 let { 6242 nextEl: e, 6243 prevEl: s 6244 } = t.navigation; 6245 e = T(e), s = T(s); 6246 const a = (e, s) => { 6247 e.removeEventListener("click", "next" === s ? d : o), e.classList.remove(...t.params.navigation.disabledClass.split(" ")) 6248 }; 6249 e.forEach((e =>
vendor: 5,957 bytes, lines 6249-6384
6249 a(e, "next"))), s.forEach((e => a(e, "prev"))) 6250 } 6251 s({ 6252 navigation: { 6253 nextEl: null, 6254 prevEl: null, 6255 hideOnClick: !1, 6256 disabledClass: "swiper-button-disabled", 6257 hiddenClass: "swiper-button-hidden", 6258 lockClass: "swiper-button-lock", 6259 navigationDisabledClass: "swiper-navigation-disabled" 6260 } 6261 }), t.navigation = { 6262 nextEl: null, 6263 prevEl: null 6264 }, a("init", (() => { 6265 !1 === t.params.navigation.enabled ? u() : (c(), l()) 6266 })), a("toEdge fromEdge lock unlock", (() => { 6267 l() 6268 })), a("destroy", (() => { 6269 p() 6270 })), a("enable disable", (() => { 6271 let { 6272 nextEl: e, 6273 prevEl: s 6274 } = t.navigation; 6275 e = T(e), s = T(s), t.enabled ? l() : [...e, ...s].filter((e => !!e)).forEach((e => e.classList.add(t.params.navigation.lockClass))) 6276 })), a("click", ((e, s) => { 6277 let { 6278 nextEl: a, 6279 prevEl: r 6280 } = t.navigation; 6281 a = T(a), r = T(r); 6282 const n = s.target; 6283 let l = r.includes(n) || a.includes(n); 6284 if (t.isElement && !l) { 6285 const e = s.path || s.composedPath && s.composedPath(); 6286 e && (l = e.find((e => a.includes(e) || r.includes(e)))) 6287 } 6288 if (t.params.navigation.hideOnClick && !l) { 6289 if (t.pagination && t.params.pagination && t.params.pagination.clickable && (t.pagination.el === n || t.pagination.el.contains(n))) return; 6290 let e; 6291 a.length ? e = a[0].classList.contains(t.params.navigation.hiddenClass) : r.length && (e = r[0].classList.contains(t.params.navigation.hiddenClass)), i(!0 === e ? "navigationShow" : "navigationHide"), [...a, ...r].filter((e => !!e)).forEach((e => e.classList.toggle(t.params.navigation.hiddenClass))) 6292 } 6293 })); 6294 const u = () => { 6295 t.el.classList.add(...t.params.navigation.navigationDisabledClass.split(" ")), p() 6296 }; 6297 Object.assign(t.navigation, { 6298 enable: () => { 6299 t.el.classList.remove(...t.params.navigation.navigationDisabledClass.split(" ")), c(), l() 6300 }, 6301 disable: u, 6302 update: l, 6303 init: c, 6304 destroy: p 6305 }) 6306 }, function(e) { 6307 let { 6308 swiper: t, 6309 extendParams: s, 6310 on: a, 6311 emit: i 6312 } = e; 6313 const r = "swiper-pagination"; 6314 let n; 6315 s({ 6316 pagination: { 6317 el: null, 6318 bulletElement: "span", 6319 clickable: !1, 6320 hideOnClick: !1, 6321 renderBullet: null, 6322 renderProgressbar: null, 6323 renderFraction: null, 6324 renderCustom: null, 6325 progressbarOpposite: !1, 6326 type: "bullets", 6327 dynamicBullets: !1, 6328 dynamicMainBullets: 1, 6329 formatFractionCurrent: e => e, 6330 formatFractionTotal: e => e, 6331 bulletClass: `${r}-bullet`, 6332 bulletActiveClass: `${r}-bullet-active`, 6333 modifierClass: `${r}-`, 6334 currentClass: `${r}-current`, 6335 totalClass: `${r}-total`, 6336 hiddenClass: `${r}-hidden`, 6337 progressbarFillClass: `${r}-progressbar-fill`, 6338 progressbarOppositeClass: `${r}-progressbar-opposite`, 6339 clickableClass: `${r}-clickable`, 6340 lockClass: `${r}-lock`, 6341 horizontalClass: `${r}-horizontal`, 6342 verticalClass: `${r}-vertical`, 6343 paginationDisabledClass: `${r}-disabled` 6344 } 6345 }), t.pagination = { 6346 el: null, 6347 bullets: [] 6348 }; 6349 let l = 0; 6350 6351 function o() { 6352 return !t.params.pagination.el || !t.pagination.el || Array.isArray(t.pagination.el) && 0 === t.pagination.el.length 6353 } 6354 6355 function d(e, s) { 6356 const { 6357 bulletActiveClass: a 6358 } = t.params.pagination; 6359 e && (e = e[("prev" === s ? "previous" : "next") + "ElementSibling"]) && (e.classList.add(`${a}-${s}`), (e = e[("prev" === s ? "previous" : "next") + "ElementSibling"]) && e.classList.add(`${a}-${s}-${s}`)) 6360 } 6361 6362 function c(e) { 6363 const s = e.target.closest(re(t.params.pagination.bulletClass)); 6364 if (!s) return; 6365 e.preventDefault(); 6366 const a = y(s) * t.params.slidesPerGroup; 6367 if (t.params.loop) { 6368 if (t.realIndex === a) return; 6369 t.slideToLoop(a) 6370 } else t.slideTo(a) 6371 } 6372 6373 function p() { 6374 const e = t.rtl, 6375 s = t.params.pagination; 6376 if (o()) return; 6377 let a, r, c = t.pagination.el; 6378 c = T(c); 6379 const p = t.virtual && t.params.virtual.enabled ? t.virtual.slides.length : t.slides.length, 6380 u = t.params.loop ? Math.ceil(p / t.params.slidesPerGroup) : t.snapGrid.length; 6381 if (t.params.loop ? (r = t.previousRealIndex || 0, a = t.params.slidesPerGroup > 1 ? Math.floor(t.realIndex / t.params.slidesPerGroup) : t.realIndex) : void 0 !== t.snapIndex ? (a = t.snapIndex, r = t.previousSnapIndex) : (r = t.previousIndex || 0, a = t.activeIndex || 0), "bullets" === s.type && t.pagination.bullets && t.pagination.bullets.length > 0) { 6382 const i = t.pagination.bullets; 6383 let o, p, u; 6384 if (s.dynamicBullets && (n = S(i[0], t.isHorizontal() ? "width" : "height", !0), c.forEac
vendor: 10,481 bytes, lines 6384-6550
6384h((e => { 6385 e.style[t.isHorizontal() ? "width" : "height"] = n * (s.dynamicMainBullets + 4) + "px" 6386 })), s.dynamicMainBullets > 1 && void 0 !== r && (l += a - (r || 0), l > s.dynamicMainBullets - 1 ? l = s.dynamicMainBullets - 1 : l < 0 && (l = 0)), o = Math.max(a - l, 0), p = o + (Math.min(i.length, s.dynamicMainBullets) - 1), u = (p + o) / 2), i.forEach((e => { 6387 const t = [...["", "-next", "-next-next", "-prev", "-prev-prev", "-main"].map((e => `${s.bulletActiveClass}${e}`))].map((e => "string" == typeof e && e.includes(" ") ? e.split(" ") : e)).flat(); 6388 e.classList.remove(...t) 6389 })), c.length > 1) i.forEach((e => { 6390 const i = y(e); 6391 i === a ? e.classList.add(...s.bulletActiveClass.split(" ")) : t.isElement && e.setAttribute("part", "bullet"), s.dynamicBullets && (i >= o && i <= p && e.classList.add(...`${s.bulletActiveClass}-main`.split(" ")), i === o && d(e, "prev"), i === p && d(e, "next")) 6392 })); 6393 else { 6394 const e = i[a]; 6395 if (e && e.classList.add(...s.bulletActiveClass.split(" ")), t.isElement && i.forEach(((e, t) => { 6396 e.setAttribute("part", t === a ? "bullet-active" : "bullet") 6397 })), s.dynamicBullets) { 6398 const e = i[o], 6399 t = i[p]; 6400 for (let e = o; e <= p; e += 1) i[e] && i[e].classList.add(...`${s.bulletActiveClass}-main`.split(" ")); 6401 d(e, "prev"), d(t, "next") 6402 } 6403 } 6404 if (s.dynamicBullets) { 6405 const a = Math.min(i.length, s.dynamicMainBullets + 4), 6406 r = (n * a - n) / 2 - u * n, 6407 l = e ? "right" : "left"; 6408 i.forEach((e => { 6409 e.style[t.isHorizontal() ? l : "top"] = `${r}px` 6410 })) 6411 } 6412 } 6413 c.forEach(((e, r) => { 6414 if ("fraction" === s.type && (e.querySelectorAll(re(s.currentClass)).forEach((e => { 6415 e.textContent = s.formatFractionCurrent(a + 1) 6416 })), e.querySelectorAll(re(s.totalClass)).forEach((e => { 6417 e.textContent = s.formatFractionTotal(u) 6418 }))), "progressbar" === s.type) { 6419 let i; 6420 i = s.progressbarOpposite ? t.isHorizontal() ? "vertical" : "horizontal" : t.isHorizontal() ? "horizontal" : "vertical"; 6421 const r = (a + 1) / u; 6422 let n = 1, 6423 l = 1; 6424 "horizontal" === i ? n = r : l = r, e.querySelectorAll(re(s.progressbarFillClass)).forEach((e => { 6425 e.style.transform = `translate3d(0,0,0) scaleX(${n}) scaleY(${l})`, e.style.transitionDuration = `${t.params.speed}ms` 6426 })) 6427 } 6428 "custom" === s.type && s.renderCustom ? (e.innerHTML = s.renderCustom(t, a + 1, u), 0 === r && i("paginationRender", e)) : (0 === r && i("paginationRender", e), i("paginationUpdate", e)), t.params.watchOverflow && t.enabled && e.classList[t.isLocked ? "add" : "remove"](s.lockClass) 6429 })) 6430 } 6431 6432 function u() { 6433 const e = t.params.pagination; 6434 if (o()) return; 6435 const s = t.virtual && t.params.virtual.enabled ? t.virtual.slides.length : t.grid && t.params.grid.rows > 1 ? t.slides.length / Math.ceil(t.params.grid.rows) : t.slides.length; 6436 let a = t.pagination.el; 6437 a = T(a); 6438 let r = ""; 6439 if ("bullets" === e.type) { 6440 let a = t.params.loop ? Math.ceil(s / t.params.slidesPerGroup) : t.snapGrid.length; 6441 t.params.freeMode && t.params.freeMode.enabled && a > s && (a = s); 6442 for (let s = 0; s < a; s += 1) e.renderBullet ? r += e.renderBullet.call(t, s, e.bulletClass) : r += `<${e.bulletElement} ${t.isElement?'part="bullet"':""} class="${e.bulletClass}"></${e.bulletElement}>` 6443 } 6444 "fraction" === e.type && (r = e.renderFraction ? e.renderFraction.call(t, e.currentClass, e.totalClass) : `<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`), "progressbar" === e.type && (r = e.renderProgressbar ? e.renderProgressbar.call(t, e.progressbarFillClass) : `<span class="${e.progressbarFillClass}"></span>`), t.pagination.bullets = [], a.forEach((s => { 6445 "custom" !== e.type && (s.innerHTML = r || ""), "bullets" === e.type && t.pagination.bullets.push(...s.querySelectorAll(re(e.bulletClass))) 6446 })), "custom" !== e.type && i("paginationRender", a[0]) 6447 } 6448 6449 function m() { 6450 t.params.pagination = ie(t, t.originalParams.pagination, t.params.pagination, { 6451 el: "swiper-pagination" 6452 }); 6453 const e = t.params.pagination; 6454 if (!e.el) return; 6455 let s; 6456 "string" == typeof e.el && t.isElement && (s = t.el.querySelector(e.el)), s || "string" != typeof e.el || (s = [...document.querySelectorAll(e.el)]), s || (s = e.el), s && 0 !== s.length && (t.params.uniqueNavElements && "string" == typeof e.el && Array.isArray(s) && s.length > 1 && (s = [...t.el.querySelectorAll(e.el)], s.length > 1 && (s = s.filter((e => E(e, ".swiper")[0] === t.el))[0])), Array.isArray(s) && 1 === s.length && (s = s[0]), Object.assign(t.pagination, { 6457 el: s 6458 }), s = T(s), s.forEach((s => { 6459 "bullets" === e.type && e.clickable && s.classList.add(...(e.clickableClass || "").split(" ")), s.classList.add(e.modifierClass + e.type), s.classList.add(t.isHorizontal() ? e.horizontalClass : e.verticalClass), "bullets" === e.type && e.dynamicBullets && (s.classList.add(`${e.modifierClass}${e.type}-dynamic`), l = 0, e.dynamicMainBullets < 1 && (e.dynamicMainBullets = 1)), "progressbar" === e.type && e.progressbarOpposite && s.classList.add(e.progressbarOppositeClass), e.clickable && s.addEventListener("click", c), t.enabled || s.classList.add(e.lockClass) 6460 }))) 6461 } 6462 6463 function h() { 6464 const e = t.params.pagination; 6465 if (o()) return; 6466 let s = t.pagination.el; 6467 s && (s = T(s), s.forEach((s => { 6468 s.classList.remove(e.hiddenClass), s.classList.remove(e.modifierClass + e.type), s.classList.remove(t.isHorizontal() ? e.horizontalClass : e.verticalClass), e.clickable && (s.classList.remove(...(e.clickableClass || "").split(" ")), s.removeEventListener("click", c)) 6469 }))), t.pagination.bullets && t.pagination.bullets.forEach((t => t.classList.remove(...e.bulletActiveClass.split(" ")))) 6470 } 6471 a("changeDirection", (() => { 6472 if (!t.pagination || !t.pagination.el) return; 6473 const e = t.params.pagination; 6474 let { 6475 el: s 6476 } = t.pagination; 6477 s = T(s), s.forEach((s => { 6478 s.classList.remove(e.horizontalClass, e.verticalClass), s.classList.add(t.isHorizontal() ? e.horizontalClass : e.verticalClass) 6479 })) 6480 })), a("init", (() => { 6481 !1 === t.params.pagination.enabled ? f() : (m(), u(), p()) 6482 })), a("activeIndexChange", (() => { 6483 void 0 === t.snapIndex && p() 6484 })), a("snapIndexChange", (() => { 6485 p() 6486 })), a("snapGridLengthChange", (() => { 6487 u(), p() 6488 })), a("destroy", (() => { 6489 h() 6490 })), a("enable disable", (() => { 6491 let { 6492 el: e 6493 } = t.pagination; 6494 e && (e = T(e), e.forEach((e => e.classList[t.enabled ? "remove" : "add"](t.params.pagination.lockClass)))) 6495 })), a("lock unlock", (() => { 6496 p() 6497 })), a("click", ((e, s) => { 6498 const a = s.target, 6499 r = T(t.pagination.el); 6500 if (t.params.pagination.el && t.params.pagination.hideOnClick && r && r.length > 0 && !a.classList.contains(t.params.pagination.bulletClass)) { 6501 if (t.navigation && (t.navigation.nextEl && a === t.navigation.nextEl || t.navigation.prevEl && a === t.navigation.prevEl)) return; 6502 const e = r[0].classList.contains(t.params.pagination.hiddenClass); 6503 i(!0 === e ? "paginationShow" : "paginationHide"), r.forEach((e => e.classList.toggle(t.params.pagination.hiddenClass))) 6504 } 6505 })); 6506 const f = () => { 6507 t.el.classList.add(t.params.pagination.paginationDisabledClass); 6508 let { 6509 el: e 6510 } = t.pagination; 6511 e && (e = T(e), e.forEach((e => e.classList.add(t.params.pagination.paginationDisabledClass)))), h() 6512 }; 6513 Object.assign(t.pagination, { 6514 enable: () => { 6515 t.el.classList.remove(t.params.pagination.paginationDisabledClass); 6516 let { 6517 el: e 6518 } = t.pagination; 6519 e && (e = T(e), e.forEach((e => e.classList.remove(t.params.pagination.paginationDisabledClass)))), m(), u(), p() 6520 }, 6521 disable: f, 6522 render: u, 6523 update: p, 6524 init: m, 6525 destroy: h 6526 }) 6527 }, function(e) { 6528 let { 6529 swiper: t, 6530 extendParams: s, 6531 on: i, 6532 emit: r 6533 } = e; 6534 const o = a(); 6535 let d, c, p, u, m = !1, 6536 h = null, 6537 f = null; 6538 6539 function g() { 6540 if (!t.params.scrollbar.el || !t.scrollbar.el) return; 6541 const { 6542 scrollbar: e, 6543 rtlTranslate: s 6544 } = t, { 6545 dragEl: a, 6546 el: i 6547 } = e, r = t.params.scrollbar, n = t.params.loop ? t.progressLoop : t.progress; 6548 let l = c, 6549 o = (p - c) * n; 6550 s ? (o = -o, o > 0 ? (l = c - o, o = 0) : -o + c > p && (l = p + o)) : o < 0 ? (l = c + o, o = 0) : o + c > p && (l = p - o), t.isHorizontal() ? (a.style.transform = `translate3d(${o}px, 0, 0)`, a.style.width = `${l}px`) : (a.style.transform = `translate3d(0px, ${o}
6550px, 0)`, a.style.height = `${l}px`), r.hide && (clearTimeout(h), i.style.opacity = 1, h = setTimeout((() => { 6551 i.style.opacity = 0, i.style.transitionDuration = "400ms" 6552 }), 1e3)) 6553 } 6554 6555 function b() { 6556 if (!t.params.scrollbar.el || !t.scrollbar.el) return; 6557 const { 6558 scrollbar: e 6559 } = t, { 6560 dragEl: s, 6561 el: a 6562 } = e; 6563 s.style.width = "", s.style.height = "", p = t.isHorizontal() ? a.offsetWidth : a.offsetHeight, u = t.size / (t.virtualSize + t.params.slidesOffsetBefore - (t.params.centeredSlides ? t.snapGrid[0] : 0)), c = "auto" === t.params.scrollbar.dragSize ? p * u : parseInt(t.params.scrollbar.dragSize, 10), t.isHorizontal() ? s.style.width = `${c}px` : s.style.height = `${c}px`, a.style.display = u >= 1 ? "none" : "", t.params.scrollbar.hide && (a.style.opacity = 0), t.params.watchOverflow && t.enabled && e.el.classList[t.isLocked ? "add" : "remove"](t.params.scrollbar.lockClass) 6564 } 6565 6566 function y(e) { 6567 return t.isHorizontal() ? e.clientX : e.clientY 6568 } 6569 6570 function E(e) { 6571 const { 6572 scrollbar: s, 6573 rtlTranslate: a 6574 } = t, { 6575 el: i 6576 } = s; 6577 let r; 6578 r = (y(e) - w(i)[t.isHorizontal() ? "left" : "top"] - (null !== d ? d : c / 2)) / (p - c), r = Math.max(Math.min(r, 1), 0), a && (r = 1 - r); 6579 const n = t.minTranslate() + (t.maxTranslate() - t.minTranslate()) * r; 6580 t.updateProgress(n), t.setTranslate(n), t.updateActiveIndex(), t.updateSlidesClasses() 6581 } 6582 6583 function x(e) { 6584 const s = t.params.scrollbar, 6585 { 6586 scrollbar: a, 6587 wrapperEl: i 6588 } = t, 6589 { 6590 el: n, 6591 dragEl: l 6592 } = a; 6593 m = !0, d = e.target === l ? y(e) - e.target.getBoundingClientRect()[t.isHorizontal() ? "left" : "top"] : null, e.preventDefault(), e.stopPropagation(), i.style.transitionDuration = "100ms", l.style.transitionDuration = "100ms", E(e), clearTimeout(f), n.style.transitionDuration = "0ms", s.hide && (n.style.opacity = 1), t.params.cssMode && (t.wrapperEl.style["scroll-snap-type"] = "none"), r("scrollbarDragStart", e) 6594 } 6595 6596 function S(e) { 6597 const { 6598 scrollbar: s, 6599 wrapperEl: a 6600 } = t, { 6601 el: i, 6602 dragEl: n 6603 } = s; 6604 m && (e.preventDefault && e.cancelable ? e.preventDefault() : e.returnValue = !1, E(e), a.style.transitionDuration = "0ms", i.style.transitionDuration = "0ms", n.style.transitionDuration = "0ms", r("scrollbarDragMove", e)) 6605 } 6606 6607 function M(e) { 6608 const s = t.params.scrollbar, 6609 { 6610 scrollbar: a, 6611 wrapperEl: i 6612 } = t, 6613 { 6614 el: n 6615 } = a; 6616 m && (m = !1, t.params.cssMode && (t.wrapperEl.style["scroll-snap-type"] = "", i.style.transitionDuration = ""), s.hide && (clearTimeout(f), f = l((() => { 6617 n.style.opacity = 0, n.style.transitionDuration = "400ms" 6618 }), 1e3)), r("scrollbarDragEnd", e), s.snapOnRelease && t.slideToClosest()) 6619 } 6620 6621 function C(e) { 6622 const { 6623 scrollbar: s, 6624 params: a 6625 } = t, i = s.el; 6626 if (!i) return; 6627 const r = i, 6628 n = !!a.passiveListeners && { 6629 passive: !1, 6630 capture: !1 6631 }, 6632 l = !!a.passiveListeners && { 6633 passive: !0, 6634 capture: !1 6635 }; 6636 if (!r) return; 6637 const d = "on" === e ? "addEventListener" : "removeEventListener"; 6638 r[d]("pointerdown", x, n), o[d]("pointermove", S, n), o[d]("pointerup", M, l) 6639 } 6640 6641 function P() { 6642 const { 6643 scrollbar: e, 6644 el: s 6645 } = t; 6646 t.params.scrollbar = ie(t, t.originalParams.scrollbar, t.params.scrollbar, { 6647 el: "swiper-scrollbar" 6648 }); 6649 const a = t.params.scrollbar; 6650 if (!a.el) return; 6651 let i, r; 6652 if ("string" == typeof a.el && t.isElement && (i = t.el.querySelector(a.el)), i || "string" != typeof a.el) i || (i = a.el); 6653 else if (i = o.querySelectorAll(a.el), !i.length) return; 6654 t.params.uniqueNavElements && "string" == typeof a.el && i.length > 1 && 1 === s.querySelectorAll(a.el).length && (i = s.querySelector(a.el)), i.length > 0 && (i = i[0]), i.classList.add(t.isHorizontal() ? a.horizontalClass : a.verticalClass), i && (r = i.querySelector(re(t.params.scrollbar.dragClass)), r || (r = v("div", t.params.scrollbar.dragClass), i.append(r))), Object.assign(e, { 6655 el: i, 6656 dragEl: r
vendor: 28,345 bytes, lines 6657-7198
6657 }), a.draggable && t.params.scrollbar.el && t.scrollbar.el && C("on"), i && i.classList[t.enabled ? "remove" : "add"](...n(t.params.scrollbar.lockClass)) 6658 } 6659 6660 function L() { 6661 const e = t.params.scrollbar, 6662 s = t.scrollbar.el; 6663 s && s.classList.remove(...n(t.isHorizontal() ? e.horizontalClass : e.verticalClass)), t.params.scrollbar.el && t.scrollbar.el && C("off") 6664 } 6665 s({ 6666 scrollbar: { 6667 el: null, 6668 dragSize: "auto", 6669 hide: !1, 6670 draggable: !1, 6671 snapOnRelease: !0, 6672 lockClass: "swiper-scrollbar-lock", 6673 dragClass: "swiper-scrollbar-drag", 6674 scrollbarDisabledClass: "swiper-scrollbar-disabled", 6675 horizontalClass: "swiper-scrollbar-horizontal", 6676 verticalClass: "swiper-scrollbar-vertical" 6677 } 6678 }), t.scrollbar = { 6679 el: null, 6680 dragEl: null 6681 }, i("changeDirection", (() => { 6682 if (!t.scrollbar || !t.scrollbar.el) return; 6683 const e = t.params.scrollbar; 6684 let { 6685 el: s 6686 } = t.scrollbar; 6687 s = T(s), s.forEach((s => { 6688 s.classList.remove(e.horizontalClass, e.verticalClass), s.classList.add(t.isHorizontal() ? e.horizontalClass : e.verticalClass) 6689 })) 6690 })), i("init", (() => { 6691 !1 === t.params.scrollbar.enabled ? I() : (P(), b(), g()) 6692 })), i("update resize observerUpdate lock unlock changeDirection", (() => { 6693 b() 6694 })), i("setTranslate", (() => { 6695 g() 6696 })), i("setTransition", ((e, s) => { 6697 ! function(e) { 6698 t.params.scrollbar.el && t.scrollbar.el && (t.scrollbar.dragEl.style.transitionDuration = `${e}ms`) 6699 }(s) 6700 })), i("enable disable", (() => { 6701 const { 6702 el: e 6703 } = t.scrollbar; 6704 e && e.classList[t.enabled ? "remove" : "add"](...n(t.params.scrollbar.lockClass)) 6705 })), i("destroy", (() => { 6706 L() 6707 })); 6708 const I = () => { 6709 t.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)), t.scrollbar.el && t.scrollbar.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)), L() 6710 }; 6711 Object.assign(t.scrollbar, { 6712 enable: () => { 6713 t.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)), t.scrollbar.el && t.scrollbar.el.classList.remove(...n(t.params.scrollbar.scrollbarDisabledClass)), P(), b(), g() 6714 }, 6715 disable: I, 6716 updateSize: b, 6717 setTranslate: g, 6718 init: P, 6719 destroy: L 6720 }) 6721 }, function(e) { 6722 let { 6723 swiper: t, 6724 extendParams: s, 6725 on: a 6726 } = e; 6727 s({ 6728 parallax: { 6729 enabled: !1 6730 } 6731 }); 6732 const i = "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]", 6733 r = (e, s) => { 6734 const { 6735 rtl: a 6736 } = t, i = a ? -1 : 1, r = e.getAttribute("data-swiper-parallax") || "0"; 6737 let n = e.getAttribute("data-swiper-parallax-x"), 6738 l = e.getAttribute("data-swiper-parallax-y"); 6739 const o = e.getAttribute("data-swiper-parallax-scale"), 6740 d = e.getAttribute("data-swiper-parallax-opacity"), 6741 c = e.getAttribute("data-swiper-parallax-rotate"); 6742 if (n || l ? (n = n || "0", l = l || "0") : t.isHorizontal() ? (n = r, l = "0") : (l = r, n = "0"), n = n.indexOf("%") >= 0 ? parseInt(n, 10) * s * i + "%" : n * s * i + "px", l = l.indexOf("%") >= 0 ? parseInt(l, 10) * s + "%" : l * s + "px", null != d) { 6743 const t = d - (d - 1) * (1 - Math.abs(s)); 6744 e.style.opacity = t 6745 } 6746 let p = `translate3d(${n}, ${l}, 0px)`; 6747 if (null != o) { 6748 p += ` scale(${o-(o-1)*(1-Math.abs(s))})` 6749 } 6750 if (c && null != c) { 6751 p += ` rotate(${c*s*-1}deg)` 6752 } 6753 e.style.transform = p 6754 }, 6755 n = () => { 6756 const { 6757 el: e, 6758 slides: s, 6759 progress: a, 6760 snapGrid: n, 6761 isElement: l 6762 } = t, o = f(e, i); 6763 t.isElement && o.push(...f(t.hostEl, i)), o.forEach((e => { 6764 r(e, a) 6765 })), s.forEach(((e, s) => { 6766 let l = e.progress; 6767 t.params.slidesPerGroup > 1 && "auto" !== t.params.slidesPerView && (l += Math.ceil(s / 2) - a * (n.length - 1)), l = Math.min(Math.max(l, -1), 1), e.querySelectorAll(`${i}, [data-swiper-parallax-rotate]`).forEach((e => { 6768 r(e, l) 6769 })) 6770 })) 6771 }; 6772 a("beforeInit", (() => { 6773 t.params.parallax.enabled && (t.params.watchSlidesProgress = !0, t.originalParams.watchSlidesProgress = !0) 6774 })), a("init", (() => { 6775 t.params.parallax.enabled && n() 6776 })), a("setTranslate", (() => { 6777 t.params.parallax.enabled && n() 6778 })), a("setTransition", ((e, s) => { 6779 t.params.parallax.enabled && function(e) { 6780 void 0 === e && (e = t.params.speed); 6781 const { 6782 el: s, 6783 hostEl: a 6784 } = t, r = [...s.querySelectorAll(i)]; 6785 t.isElement && r.push(...a.querySelectorAll(i)), r.forEach((t => { 6786 let s = parseInt(t.getAttribute("data-swiper-parallax-duration"), 10) || e; 6787 0 === e && (s = 0), t.style.transitionDuration = `${s}ms` 6788 })) 6789 }(s) 6790 })) 6791 }, function(e) { 6792 let { 6793 swiper: t, 6794 extendParams: s, 6795 on: a, 6796 emit: i 6797 } = e; 6798 const n = r(); 6799 s({ 6800 zoom: { 6801 enabled: !1, 6802 limitToOriginalSize: !1, 6803 maxRatio: 3, 6804 minRatio: 1, 6805 toggle: !0, 6806 containerClass: "swiper-zoom-container", 6807 zoomedSlideClass: "swiper-slide-zoomed" 6808 } 6809 }), t.zoom = { 6810 enabled: !1 6811 }; 6812 let l, o, c = 1, 6813 p = !1; 6814 const u = [], 6815 m = { 6816 originX: 0, 6817 originY: 0, 6818 slideEl: void 0, 6819 slideWidth: void 0, 6820 slideHeight: void 0, 6821 imageEl: void 0, 6822 imageWrapEl: void 0, 6823 maxRatio: 3 6824 }, 6825 h = { 6826 isTouched: void 0, 6827 isMoved: void 0, 6828 currentX: void 0, 6829 currentY: void 0, 6830 minX: void 0, 6831 minY: void 0, 6832 maxX: void 0, 6833 maxY: void 0, 6834 width: void 0, 6835 height: void 0, 6836 startX: void 0, 6837 startY: void 0, 6838 touchesStart: {}, 6839 touchesCurrent: {} 6840 }, 6841 g = { 6842 x: void 0, 6843 y: void 0, 6844 prevPositionX: void 0, 6845 prevPositionY: void 0, 6846 prevTime: void 0 6847 }; 6848 let v, b = 1; 6849 6850 function y() { 6851 if (u.length < 2) return 1; 6852 const e = u[0].pageX, 6853 t = u[0].pageY, 6854 s = u[1].pageX, 6855 a = u[1].pageY; 6856 return Math.sqrt((s - e) ** 2 + (a - t) ** 2) 6857 } 6858 6859 function x() { 6860 const e = t.params.zoom, 6861 s = m.imageWrapEl.getAttribute("data-swiper-zoom") || e.maxRatio; 6862 if (e.limitToOriginalSize && m.imageEl && m.imageEl.naturalWidth) { 6863 const e = m.imageEl.naturalWidth / m.imageEl.offsetWidth; 6864 return Math.min(e, s) 6865 } 6866 return s 6867 } 6868 6869 function S(e) { 6870 const s = t.isElement ? "swiper-slide" : `.${t.params.slideClass}`; 6871 return !!e.target.matches(s) || t.slides.filter((t => t.contains(e.target))).length > 0 6872 } 6873 6874 function T(e) { 6875 if ("mouse" === e.pointerType && u.splice(0, u.length), !S(e)) return; 6876 const s = t.params.zoom; 6877 if (l = !1, o = !1, u.push(e), !(u.length < 2)) { 6878 if (l = !0, m.scaleStart = y(), !m.slideEl) { 6879 m.slideEl = e.target.closest(`.${t.params.slideClass}, swiper-slide`), m.slideEl || (m.slideEl = t.slides[t.activeIndex]); 6880 let a = m.slideEl.querySelector(`.${s.containerClass}`); 6881 if (a && (a = a.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]), m.imageEl = a, m.imageWrapEl = a ? E(m.imageEl, `.${s.containerClass}`)[0] : void 0, !m.imageWrapEl) return void(m.imageEl = void 0); 6882 m.maxRatio = x() 6883 } 6884 if (m.imageEl) { 6885 const [e, t] = function() { 6886 if (u.length < 2) return { 6887 x: null, 6888 y: null 6889 }; 6890 const e = m.imageEl.getBoundingClientRect(); 6891 return [(u[0].pageX + (u[1].pageX - u[0].pageX) / 2 - e.x - n.scrollX) / c, (u[0].pageY + (u[1].pageY - u[0].pageY) / 2 - e.y - n.scrollY) / c] 6892 }(); 6893 m.originX = e, m.originY = t, m.imageEl.style.transitionDuration = "0ms" 6894 } 6895 p = !0 6896 } 6897 } 6898 6899 function M(e) { 6900 if (!S(e)) return; 6901 const s = t.params.zoom, 6902 a = t.zoom, 6903 i = u.findIndex((t => t.pointerId === e.pointerId)); 6904 i >= 0 && (u[i] = e), u.length < 2 || (o = !0, m.scaleMove = y(), m.imageEl && (a.scale = m.scaleMove / m.scaleStart * c, a.scale > m.maxRatio && (a.scale = m.maxRatio - 1 + (a.scale - m.maxRatio + 1) ** .5), a.scale < s.minRatio && (a.scale = s.minRatio + 1 - (s.minRatio - a.scale + 1) ** .5), m.imageEl.style.transform = `translate3d(0,0,0) scale(${a.scale})`)) 6905 } 6906 6907 function C(e) { 6908 if (!S(e)) return; 6909 if ("mouse" === e.pointerType && "pointerout" === e.type) return; 6910 const s = t.params.zoom, 6911 a = t.zoom, 6912 i = u.findIndex((t => t.pointerId === e.pointerId)); 6913 i >= 0 && u.splice(i, 1), l && o && (l = !1, o = !1, m.imageEl && (a.scale = Math.max(Math.min(a.scale, m.maxRatio), s.minRatio), m.imageEl.style.transitionDuration = `${t.params.speed}ms`, m.imageEl.style.transform = `translate3d(0,0,0) scale(${a.scale})`, c = a.scale, p = !1, a.scale > 1 && m.slideEl ? m.slideEl.classList.add(`${s.zoomedSlideClass}`) : a.scale <= 1 && m.slideEl && m.slideEl.classList.remove(`${s.zoomedSlideClass}`), 1 === a.scale && (m.originX = 0, m.originY = 0, m.slideEl = void 0))) 6914 } 6915 6916 function P() { 6917 t.touchEventsData.preventTouchMoveFromPointerMove = !1 6918 } 6919 6920 function L(e) { 6921 if (!S(e) || ! function(e) { 6922 const s = `.${t.params.zoom.containerClass}`; 6923 return !!e.target.matches(s) || [...t.hostEl.querySelectorAll(s)].filter((t => t.contains(e.target))).length > 0 6924 }(e)) return; 6925 const s = t.zoom; 6926 if (!m.imageEl) return; 6927 if (!h.isTouched || !m.slideEl) return; 6928 h.isMoved || (h.width = m.imageEl.offsetWidth || m.imageEl.clientWidth, h.height = m.imageEl.offsetHeight || m.imageEl.clientHeight, h.startX = d(m.imageWrapEl, "x") || 0, h.startY = d(m.imageWrapEl, "y") || 0, m.slideWidth = m.slideEl.offsetWidth, m.slideHeight = m.slideEl.offsetHeight, m.imageWrapEl.style.transitionDuration = "0ms"); 6929 const a = h.width * s.scale, 6930 i = h.height * s.scale; 6931 h.minX = Math.min(m.slideWidth / 2 - a / 2, 0), h.maxX = -h.minX, h.minY = Math.min(m.slideHeight / 2 - i / 2, 0), h.maxY = -h.minY, h.touchesCurrent.x = u.length > 0 ? u[0].pageX : e.pageX, h.touchesCurrent.y = u.length > 0 ? u[0].pageY : e.pageY; 6932 if (Math.max(Math.abs(h.touchesCurrent.x - h.touchesStart.x), Math.abs(h.touchesCurrent.y - h.touchesStart.y)) > 5 && (t.allowClick = !1), !h.isMoved && !p) { 6933 if (t.isHorizontal() && (Math.floor(h.minX) === Math.floor(h.startX) && h.touchesCurrent.x < h.touchesStart.x || Math.floor(h.maxX) === Math.floor(h.startX) && h.touchesCurrent.x > h.touchesStart.x)) return h.isTouched = !1, void P(); 6934 if (!t.isHorizontal() && (Math.floor(h.minY) === Math.floor(h.startY) && h.touchesCurrent.y < h.touchesStart.y || Math.floor(h.maxY) === Math.floor(h.startY) && h.touchesCurrent.y > h.touchesStart.y)) return h.isTouched = !1, void P() 6935 } 6936 e.cancelable && e.preventDefault(), e.stopPropagation(), clearTimeout(v), t.touchEventsData.preventTouchMoveFromPointerMove = !0, v = setTimeout((() => { 6937 P() 6938 })), h.isMoved = !0; 6939 const r = (s.scale - c) / (m.maxRatio - t.params.zoom.minRatio), 6940 { 6941 originX: n, 6942 originY: l 6943 } = m; 6944 h.currentX = h.touchesCurrent.x - h.touchesStart.x + h.startX + r * (h.width - 2 * n), h.currentY = h.touchesCurrent.y - h.touchesStart.y + h.startY + r * (h.height - 2 * l), h.currentX < h.minX && (h.currentX = h.minX + 1 - (h.minX - h.currentX + 1) ** .8), h.currentX > h.maxX && (h.currentX = h.maxX - 1 + (h.currentX - h.maxX + 1) ** .8), h.currentY < h.minY && (h.currentY = h.minY + 1 - (h.minY - h.currentY + 1) ** .8), h.currentY > h.maxY && (h.currentY = h.maxY - 1 + (h.currentY - h.maxY + 1) ** .8), g.prevPositionX || (g.prevPositionX = h.touchesCurrent.x), g.prevPositionY || (g.prevPositionY = h.touchesCurrent.y), g.prevTime || (g.prevTime = Date.now()), g.x = (h.touchesCurrent.x - g.prevPositionX) / (Date.now() - g.prevTime) / 2, g.y = (h.touchesCurrent.y - g.prevPositionY) / (Date.now() - g.prevTime) / 2, Math.abs(h.touchesCurrent.x - g.prevPositionX) < 2 && (g.x = 0), Math.abs(h.touchesCurrent.y - g.prevPositionY) < 2 && (g.y = 0), g.prevPositionX = h.touchesCurrent.x, g.prevPositionY = h.touchesCurrent.y, g.prevTime = Date.now(), m.imageWrapEl.style.transform = `translate3d(${h.currentX}px, ${h.currentY}px,0)` 6945 } 6946 6947 function I() { 6948 const e = t.zoom; 6949 m.slideEl && t.activeIndex !== t.slides.indexOf(m.slideEl) && (m.imageEl && (m.imageEl.style.transform = "translate3d(0,0,0) scale(1)"), m.imageWrapEl && (m.imageWrapEl.style.transform = "translate3d(0,0,0)"), m.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`), e.scale = 1, c = 1, m.slideEl = void 0, m.imageEl = void 0, m.imageWrapEl = void 0, m.originX = 0, m.originY = 0) 6950 } 6951 6952 function A(e) { 6953 const s = t.zoom, 6954 a = t.params.zoom; 6955 if (!m.slideEl) { 6956 e && e.target && (m.slideEl = e.target.closest(`.${t.params.slideClass}, swiper-slide`)), m.slideEl || (t.params.virtual && t.params.virtual.enabled && t.virtual ? m.slideEl = f(t.slidesEl, `.${t.params.slideActiveClass}`)[0] : m.slideEl = t.slides[t.activeIndex]); 6957 let s = m.slideEl.querySelector(`.${a.containerClass}`); 6958 s && (s = s.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]), m.imageEl = s, m.imageWrapEl = s ? E(m.imageEl, `.${a.containerClass}`)[0] : void 0 6959 } 6960 if (!m.imageEl || !m.imageWrapEl) return; 6961 let i, r, l, o, d, p, u, g, v, b, y, S, T, M, C, P, L, I; 6962 t.params.cssMode && (t.wrapperEl.style.overflow = "hidden", t.wrapperEl.style.touchAction = "none"), m.slideEl.classList.add(`${a.zoomedSlideClass}`), void 0 === h.touchesStart.x && e ? (i = e.pageX, r = e.pageY) : (i = h.touchesStart.x, r = h.touchesStart.y); 6963 const A = "number" == typeof e ? e : null; 6964 1 === c && A && (i = void 0, r = void 0); 6965 const z = x(); 6966 s.scale = A || z, c = A || z, !e || 1 === c && A ? (u = 0, g = 0) : (L = m.slideEl.offsetWidth, I = m.slideEl.offsetHeight, l = w(m.slideEl).left + n.scrollX, o = w(m.slideEl).top + n.scrollY, d = l + L / 2 - i, p = o + I / 2 - r, v = m.imageEl.offsetWidth || m.imageEl.clientWidth, b = m.imageEl.offsetHeight || m.imageEl.clientHeight, y = v * s.scale, S = b * s.scale, T = Math.min(L / 2 - y / 2, 0), M = Math.min(I / 2 - S / 2, 0), C = -T, P = -M, u = d * s.scale, g = p * s.scale, u < T && (u = T), u > C && (u = C), g < M && (g = M), g > P && (g = P)), A && 1 === s.scale && (m.originX = 0, m.originY = 0), m.imageWrapEl.style.transitionDuration = "300ms", m.imageWrapEl.style.transform = `translate3d(${u}px, ${g}px,0)`, m.imageEl.style.transitionDuration = "300ms", m.imageEl.style.transform = `translate3d(0,0,0) scale(${s.scale})` 6967 } 6968 6969 function z() { 6970 const e = t.zoom, 6971 s = t.params.zoom; 6972 if (!m.slideEl) { 6973 t.params.virtual && t.params.virtual.enabled && t.virtual ? m.slideEl = f(t.slidesEl, `.${t.params.slideActiveClass}`)[0] : m.slideEl = t.slides[t.activeIndex]; 6974 let e = m.slideEl.querySelector(`.${s.containerClass}`); 6975 e && (e = e.querySelectorAll("picture, img, svg, canvas, .swiper-zoom-target")[0]), m.imageEl = e, m.imageWrapEl = e ? E(m.imageEl, `.${s.containerClass}`)[0] : void 0 6976 } 6977 m.imageEl && m.imageWrapEl && (t.params.cssMode && (t.wrapperEl.style.overflow = "", t.wrapperEl.style.touchAction = ""), e.scale = 1, c = 1, m.imageWrapEl.style.transitionDuration = "300ms", m.imageWrapEl.style.transform = "translate3d(0,0,0)", m.imageEl.style.transitionDuration = "300ms", m.imageEl.style.transform = "translate3d(0,0,0) scale(1)", m.slideEl.classList.remove(`${s.zoomedSlideClass}`), m.slideEl = void 0, m.originX = 0, m.originY = 0) 6978 } 6979 6980 function $(e) { 6981 const s = t.zoom; 6982 s.scale && 1 !== s.scale ? z() : A(e) 6983 } 6984 6985 function k() { 6986 return { 6987 passiveListener: !!t.params.passiveListeners && { 6988 passive: !0, 6989 capture: !1 6990 }, 6991 activeListenerWithCapture: !t.params.passiveListeners || { 6992 passive: !1, 6993 capture: !0 6994 } 6995 } 6996 } 6997 6998 function O() { 6999 const e = t.zoom; 7000 if (e.enabled) return; 7001 e.enabled = !0; 7002 const { 7003 passiveListener: s, 7004 activeListenerWithCapture: a 7005 } = k(); 7006 t.wrapperEl.addEventListener("pointerdown", T, s), t.wrapperEl.addEventListener("pointermove", M, a), ["pointerup", "pointercancel", "pointerout"].forEach((e => { 7007 t.wrapperEl.addEventListener(e, C, s) 7008 })), t.wrapperEl.addEventListener("pointermove", L, a) 7009 } 7010 7011 function D() { 7012 const e = t.zoom; 7013 if (!e.enabled) return; 7014 e.enabled = !1; 7015 const { 7016 passiveListener: s, 7017 activeListenerWithCapture: a 7018 } = k(); 7019 t.wrapperEl.removeEventListener("pointerdown", T, s), t.wrapperEl.removeEventListener("pointermove", M, a), ["pointerup", "pointercancel", "pointerout"].forEach((e => { 7020 t.wrapperEl.removeEventListener(e, C, s) 7021 })), t.wrapperEl.removeEventListener("pointermove", L, a) 7022 } 7023 Object.defineProperty(t.zoom, "scale", { 7024 get: () => b, 7025 set(e) { 7026 if (b !== e) { 7027 const t = m.imageEl, 7028 s = m.slideEl; 7029 i("zoomChange", e, t, s) 7030 } 7031 b = e 7032 } 7033 }), a("init", (() => { 7034 t.params.zoom.enabled && O() 7035 })), a("destroy", (() => { 7036 D() 7037 })), a("touchStart", ((e, s) => { 7038 t.zoom.enabled && function(e) { 7039 const s = t.device; 7040 if (!m.imageEl) return; 7041 if (h.isTouched) return; 7042 s.android && e.cancelable && e.preventDefault(), h.isTouched = !0; 7043 const a = u.length > 0 ? u[0] : e; 7044 h.touchesStart.x = a.pageX, h.touchesStart.y = a.pageY 7045 }(s) 7046 })), a("touchEnd", ((e, s) => { 7047 t.zoom.enabled && function() { 7048 const e = t.zoom; 7049 if (!m.imageEl) return; 7050 if (!h.isTouched || !h.isMoved) return h.isTouched = !1, void(h.isMoved = !1); 7051 h.isTouched = !1, h.isMoved = !1; 7052 let s = 300, 7053 a = 300; 7054 const i = g.x * s, 7055 r = h.currentX + i, 7056 n = g.y * a, 7057 l = h.currentY + n; 7058 0 !== g.x && (s = Math.abs((r - h.currentX) / g.x)), 0 !== g.y && (a = Math.abs((l - h.currentY) / g.y)); 7059 const o = Math.max(s, a); 7060 h.currentX = r, h.currentY = l; 7061 const d = h.width * e.scale, 7062 c = h.height * e.scale; 7063 h.minX = Math.min(m.slideWidth / 2 - d / 2, 0), h.maxX = -h.minX, h.minY = Math.min(m.slideHeight / 2 - c / 2, 0), h.maxY = -h.minY, h.currentX = Math.max(Math.min(h.currentX, h.maxX), h.minX), h.currentY = Math.max(Math.min(h.currentY, h.maxY), h.minY), m.imageWrapEl.style.transitionDuration = `${o}ms`, m.imageWrapEl.style.transform = `translate3d(${h.currentX}px, ${h.currentY}px,0)` 7064 }() 7065 })), a("doubleTap", ((e, s) => { 7066 !t.animating && t.params.zoom.enabled && t.zoom.enabled && t.params.zoom.toggle && $(s) 7067 })), a("transitionEnd", (() => { 7068 t.zoom.enabled && t.params.zoom.enabled && I() 7069 })), a("slideChange", (() => { 7070 t.zoom.enabled && t.params.zoom.enabled && t.params.cssMode && I() 7071 })), Object.assign(t.zoom, { 7072 enable: O, 7073 disable: D, 7074 in: A, 7075 out: z, 7076 toggle: $ 7077 }) 7078 }, function(e) { 7079 let { 7080 swiper: t, 7081 extendParams: s, 7082 on: a 7083 } = e; 7084 7085 function i(e, t) { 7086 const s = function() { 7087 let e, t, s; 7088 return (a, i) => { 7089 for (t = -1, e = a.length; e - t > 1;) s = e + t >> 1, a[s] <= i ? t = s : e = s; 7090 return e 7091 } 7092 }(); 7093 let a, i; 7094 return this.x = e, this.y = t, this.lastIndex = e.length - 1, this.interpolate = function(e) { 7095 return e ? (i = s(this.x, e), a = i - 1, (e - this.x[a]) * (this.y[i] - this.y[a]) / (this.x[i] - this.x[a]) + this.y[a]) : 0 7096 }, this 7097 } 7098 7099 function r() { 7100 t.controller.control && t.controller.spline && (t.controller.spline = void 0, delete t.controller.spline) 7101 } 7102 s({ 7103 controller: { 7104 control: void 0, 7105 inverse: !1, 7106 by: "slide" 7107 } 7108 }), t.controller = { 7109 control: void 0 7110 }, a("beforeInit", (() => { 7111 if ("undefined" != typeof window && ("string" == typeof t.params.controller.control || t.params.controller.control instanceof HTMLElement)) { 7112 const e = document.querySelector(t.params.controller.control); 7113 if (e && e.swiper) t.controller.control = e.swiper; 7114 else if (e) { 7115 const s = a => { 7116 t.controller.control = a.detail[0], t.update(), e.removeEventListener("init", s) 7117 }; 7118 e.addEventListener("init", s) 7119 } 7120 } else t.controller.control = t.params.controller.control 7121 })), a("update", (() => { 7122 r() 7123 })), a("resize", (() => { 7124 r() 7125 })), a("observerUpdate", (() => { 7126 r() 7127 })), a("setTranslate", ((e, s, a) => { 7128 t.controller.control && !t.controller.control.destroyed && t.controller.setTranslate(s, a) 7129 })), a("setTransition", ((e, s, a) => { 7130 t.controller.control && !t.controller.control.destroyed && t.controller.setTransition(s, a) 7131 })), Object.assign(t.controller, { 7132 setTranslate: function(e, s) { 7133 const a = t.controller.control; 7134 let r, n; 7135 const l = t.constructor; 7136 7137 function o(e) { 7138 if (e.destroyed) return; 7139 const s = t.rtlTranslate ? -t.translate : t.translate; 7140 "slide" === t.params.controller.by && (! function(e) { 7141 t.controller.spline = t.params.loop ? new i(t.slidesGrid, e.slidesGrid) : new i(t.snapGrid, e.snapGrid) 7142 }(e), n = -t.controller.spline.interpolate(-s)), n && "container" !== t.params.controller.by || (r = (e.maxTranslate() - e.minTranslate()) / (t.maxTranslate() - t.minTranslate()), !Number.isNaN(r) && Number.isFinite(r) || (r = 1), n = (s - t.minTranslate()) * r + e.minTranslate()), t.params.controller.inverse && (n = e.maxTranslate() - n), e.updateProgress(n), e.setTranslate(n, t), e.updateActiveIndex(), e.updateSlidesClasses() 7143 } 7144 if (Array.isArray(a)) 7145 for (let e = 0; e < a.length; e += 1) a[e] !== s && a[e] instanceof l && o(a[e]); 7146 else a instanceof l && s !== a && o(a) 7147 }, 7148 setTransition: function(e, s) { 7149 const a = t.constructor, 7150 i = t.controller.control; 7151 let r; 7152 7153 function n(s) { 7154 s.destroyed || (s.setTransition(e, t), 0 !== e && (s.transitionStart(), s.params.autoHeight && l((() => { 7155 s.updateAutoHeight() 7156 })), x(s.wrapperEl, (() => { 7157 i && s.transitionEnd() 7158 })))) 7159 } 7160 if (Array.isArray(i)) 7161 for (r = 0; r < i.length; r += 1) i[r] !== s && i[r] instanceof a && n(i[r]); 7162 else i instanceof a && s !== i && n(i) 7163 } 7164 }) 7165 }, function(e) { 7166 let { 7167 swiper: t, 7168 extendParams: s, 7169 on: i 7170 } = e; 7171 s({ 7172 a11y: { 7173 enabled: !0, 7174 notificationClass: "swiper-notification", 7175 prevSlideMessage: "Previous slide", 7176 nextSlideMessage: "Next slide", 7177 firstSlideMessage: "This is the first slide", 7178 lastSlideMessage: "This is the last slide", 7179 paginationBulletMessage: "Go to slide {{index}}", 7180 slideLabelMessage: "{{index}} / {{slidesLength}}", 7181 containerMessage: null, 7182 containerRoleDescriptionMessage: null, 7183 itemRoleDescriptionMessage: null, 7184 slideRole: "group", 7185 id: null 7186 } 7187 }), t.a11y = { 7188 clicked: !1 7189 }; 7190 let r, n, l = null, 7191 o = (new Date).getTime(); 7192 7193 function d(e) { 7194 const t = l; 7195 0 !== t.length && (t.innerHTML = "", t.innerHTML = e) 7196 } 7197 7198 function c(e) {
7199 (e = T(e)).forEach((e => { 7200 e.setAttribute("tabIndex", "0") 7201 })) 7202 } 7203 7204 function p(e) { 7205 (e = T(e)).forEach((e => { 7206 e.setAttribute("tabIndex", "-1") 7207 })) 7208 } 7209 7210 function u(e, t) { 7211 (e = T(e)).forEach((e => { 7212 e.setAttribute("role", t) 7213 })) 7214 } 7215 7216 function m(e, t) { 7217 (e = T(e)).forEach((e => { 7218 e.setAttribute("aria-roledescription", t) 7219 })) 7220 } 7221 7222 function h(e, t) { 7223 (e = T(e)).forEach((e => { 7224 e.setAttribute("aria-label", t) 7225 })) 7226 } 7227 7228 function f(e) { 7229 (e = T(e)).forEach((e => { 7230 e.setAttribute("aria-disabled", !0) 7231 })) 7232 } 7233 7234 function g(e) { 7235 (e = T(e)).forEach((e => { 7236 e.setAttribute("aria-disabled", !1) 7237 })) 7238 } 7239 7240 function w(e) { 7241 if (13 !== e.keyCode && 32 !== e.keyCode) return; 7242 const s = t.params.a11y, 7243 a = e.target; 7244 if (!t.pagination || !t.pagination.el || a !== t.pagination.el && !t.pagination.el.contains(e.target) || e.target.matches(re(t.params.pagination.bulletClass))) { 7245 if (t.navigation && t.navigation.prevEl && t.navigation.nextEl) { 7246 const e = T(t.navigation.prevEl); 7247 T(t.navigation.nextEl).includes(a) && (t.isEnd && !t.params.loop || t.slideNext(), t.isEnd ? d(s.lastSlideMessage) : d(s.nextSlideMessage)), e.includes(a) && (t.isBeginning && !t.params.loop || t.slidePrev(), t.isBeginning ? d(s.firstSlideMessage) : d(s.prevSlideMessage)) 7248 } 7249 t.pagination && a.matches(re(t.params.pagination.bulletClass)) && a.click() 7250 } 7251 } 7252 7253 function b() { 7254 return t.pagination && t.pagination.bullets && t.pagination.bullets.length 7255 } 7256 7257 function E() { 7258 return b() && t.params.pagination.clickable 7259 } 7260 const x = (e, t, s) => { 7261 c(e), "BUTTON" !== e.tagName && (u(e, "button"), e.addEventListener("keydown", w)), h(e, s), 7262 function(e, t) {
7263 (e = T(e)).forEach((e => { 7264 e.setAttribute("aria-controls", t) 7265 })) 7266 }(e, t) 7267 }, 7268 S = e => { 7269 n && n !== e.target && !n.contains(e.target) && (r = !0), t.a11y.clicked = !0 7270 }, 7271 M = () => { 7272 r = !1, requestAnimationFrame((() => { 7273 requestAnimationFrame((() => { 7274 t.destroyed || (t.a11y.clicked = !1) 7275 })) 7276 })) 7277 }, 7278 C = e => { 7279 o = (new Date).getTime() 7280 }, 7281 P = e => { 7282 if (t.a11y.clicked) return; 7283 if ((new Date).getTime() - o < 100) return; 7284 const s = e.target.closest(`.${t.params.slideClass}, swiper-slide`); 7285 if (!s || !t.slides.includes(s)) return; 7286 n = s; 7287 const a = t.slides.indexOf(s) === t.activeIndex, 7288 i = t.params.watchSlidesProgress && t.visibleSlides && t.visibleSlides.includes(s); 7289 a || i || e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents || (t.isHorizontal() ? t.el.scrollLeft = 0 : t.el.scrollTop = 0, requestAnimationFrame((() => { 7290 r || (t.params.loop ? t.slideToLoop(parseInt(s.getAttribute("data-swiper-slide-index")), 0) : t.slideTo(t.slides.indexOf(s), 0), r = !1) 7291 }))) 7292 }, 7293 L = () => { 7294 const e = t.params.a11y; 7295 e.itemRoleDescriptionMessage && m(t.slides, e.itemRoleDescriptionMessage), e.slideRole && u(t.slides, e.slideRole); 7296 const s = t.slides.length; 7297 e.slideLabelMessage && t.slides.forEach(((a, i) => { 7298 const r = t.params.loop ? parseInt(a.getAttribute("data-swiper-slide-index"), 10) : i; 7299 h(a, e.slideLabelMessage.replace(/\{\{index\}\}/, r + 1).replace(/\{\{slidesLength\}\}/, s)) 7300 })) 7301 }, 7302 I = () => { 7303 const e = t.params.a11y; 7304 t.el.append(l); 7305 const s = t.el; 7306 e.containerRoleDescriptionMessage && m(s, e.containerRoleDescriptionMessage), e.containerMessage && h(s, e.containerMessage); 7307 const i = t.wrapperEl, 7308 r = e.id || i.getAttribute("id") || `swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`; 7309 var n; 7310 const o = t.params.autoplay && t.params.autoplay.enabled ? "off" : "polite"; 7311 var d; 7312 d = r, T(i).forEach((e => { 7313 e.setAttribute("id", d) 7314 })), 7315 function(e, t) {
vendor: 10,848 bytes, lines 7316-7536
7316 (e = T(e)).forEach((e => { 7317 e.setAttribute("aria-live", t) 7318 })) 7319 }(i, o), L(); 7320 let { 7321 nextEl: c, 7322 prevEl: p 7323 } = t.navigation ? t.navigation : {}; 7324 if (c = T(c), p = T(p), c && c.forEach((t => x(t, r, e.nextSlideMessage))), p && p.forEach((t => x(t, r, e.prevSlideMessage))), E()) { 7325 T(t.pagination.el).forEach((e => { 7326 e.addEventListener("keydown", w) 7327 })) 7328 } 7329 a().addEventListener("visibilitychange", C), t.el.addEventListener("focus", P, !0), t.el.addEventListener("focus", P, !0), t.el.addEventListener("pointerdown", S, !0), t.el.addEventListener("pointerup", M, !0) 7330 }; 7331 i("beforeInit", (() => { 7332 l = v("span", t.params.a11y.notificationClass), l.setAttribute("aria-live", "assertive"), l.setAttribute("aria-atomic", "true") 7333 })), i("afterInit", (() => { 7334 t.params.a11y.enabled && I() 7335 })), i("slidesLengthChange snapGridLengthChange slidesGridLengthChange", (() => { 7336 t.params.a11y.enabled && L() 7337 })), i("fromEdge toEdge afterInit lock unlock", (() => { 7338 t.params.a11y.enabled && function() { 7339 if (t.params.loop || t.params.rewind || !t.navigation) return; 7340 const { 7341 nextEl: e, 7342 prevEl: s 7343 } = t.navigation; 7344 s && (t.isBeginning ? (f(s), p(s)) : (g(s), c(s))), e && (t.isEnd ? (f(e), p(e)) : (g(e), c(e))) 7345 }() 7346 })), i("paginationUpdate", (() => { 7347 t.params.a11y.enabled && function() { 7348 const e = t.params.a11y; 7349 b() && t.pagination.bullets.forEach((s => { 7350 t.params.pagination.clickable && (c(s), t.params.pagination.renderBullet || (u(s, "button"), h(s, e.paginationBulletMessage.replace(/\{\{index\}\}/, y(s) + 1)))), s.matches(re(t.params.pagination.bulletActiveClass)) ? s.setAttribute("aria-current", "true") : s.removeAttribute("aria-current") 7351 })) 7352 }() 7353 })), i("destroy", (() => { 7354 t.params.a11y.enabled && function() { 7355 l && l.remove(); 7356 let { 7357 nextEl: e, 7358 prevEl: s 7359 } = t.navigation ? t.navigation : {}; 7360 e = T(e), s = T(s), e && e.forEach((e => e.removeEventListener("keydown", w))), s && s.forEach((e => e.removeEventListener("keydown", w))), E() && T(t.pagination.el).forEach((e => { 7361 e.removeEventListener("keydown", w) 7362 })); 7363 a().removeEventListener("visibilitychange", C), t.el && "string" != typeof t.el && (t.el.removeEventListener("focus", P, !0), t.el.removeEventListener("pointerdown", S, !0), t.el.removeEventListener("pointerup", M, !0)) 7364 }() 7365 })) 7366 }, function(e) { 7367 let { 7368 swiper: t, 7369 extendParams: s, 7370 on: a 7371 } = e; 7372 s({ 7373 history: { 7374 enabled: !1, 7375 root: "", 7376 replaceState: !1, 7377 key: "slides", 7378 keepQuery: !1 7379 } 7380 }); 7381 let i = !1, 7382 n = {}; 7383 const l = e => e.toString().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, ""), 7384 o = e => { 7385 const t = r(); 7386 let s; 7387 s = e ? new URL(e) : t.location; 7388 const a = s.pathname.slice(1).split("/").filter((e => "" !== e)), 7389 i = a.length; 7390 return { 7391 key: a[i - 2], 7392 value: a[i - 1] 7393 } 7394 }, 7395 d = (e, s) => { 7396 const a = r(); 7397 if (!i || !t.params.history.enabled) return; 7398 let n; 7399 n = t.params.url ? new URL(t.params.url) : a.location; 7400 const o = t.virtual && t.params.virtual.enabled ? t.slidesEl.querySelector(`[data-swiper-slide-index="${s}"]`) : t.slides[s]; 7401 let d = l(o.getAttribute("data-history")); 7402 if (t.params.history.root.length > 0) { 7403 let s = t.params.history.root; 7404 "/" === s[s.length - 1] && (s = s.slice(0, s.length - 1)), d = `${s}/${e?`${e}/`:""}${d}` 7405 } else n.pathname.includes(e) || (d = `${e?`${e}/`:""}${d}`); 7406 t.params.history.keepQuery && (d += n.search); 7407 const c = a.history.state; 7408 c && c.value === d || (t.params.history.replaceState ? a.history.replaceState({ 7409 value: d 7410 }, null, d) : a.history.pushState({ 7411 value: d 7412 }, null, d)) 7413 }, 7414 c = (e, s, a) => { 7415 if (s) 7416 for (let i = 0, r = t.slides.length; i < r; i += 1) { 7417 const r = t.slides[i]; 7418 if (l(r.getAttribute("data-history")) === s) { 7419 const s = t.getSlideIndex(r); 7420 t.slideTo(s, e, a) 7421 } 7422 } else t.slideTo(0, e, a) 7423 }, 7424 p = () => { 7425 n = o(t.params.url), c(t.params.speed, n.value, !1) 7426 }; 7427 a("init", (() => { 7428 t.params.history.enabled && (() => { 7429 const e = r(); 7430 if (t.params.history) { 7431 if (!e.history || !e.history.pushState) return t.params.history.enabled = !1, void(t.params.hashNavigation.enabled = !0); 7432 i = !0, n = o(t.params.url), n.key || n.value ? (c(0, n.value, t.params.runCallbacksOnInit), t.params.history.replaceState || e.addEventListener("popstate", p)) : t.params.history.replaceState || e.addEventListener("popstate", p) 7433 } 7434 })() 7435 })), a("destroy", (() => { 7436 t.params.history.enabled && (() => { 7437 const e = r(); 7438 t.params.history.replaceState || e.removeEventListener("popstate", p) 7439 })() 7440 })), a("transitionEnd _freeModeNoMomentumRelease", (() => { 7441 i && d(t.params.history.key, t.activeIndex) 7442 })), a("slideChange", (() => { 7443 i && t.params.cssMode && d(t.params.history.key, t.activeIndex) 7444 })) 7445 }, function(e) { 7446 let { 7447 swiper: t, 7448 extendParams: s, 7449 emit: i, 7450 on: n 7451 } = e, l = !1; 7452 const o = a(), 7453 d = r(); 7454 s({ 7455 hashNavigation: { 7456 enabled: !1, 7457 replaceState: !1, 7458 watchState: !1, 7459 getSlideIndex(e, s) { 7460 if (t.virtual && t.params.virtual.enabled) { 7461 const e = t.slides.filter((e => e.getAttribute("data-hash") === s))[0]; 7462 if (!e) return 0; 7463 return parseInt(e.getAttribute("data-swiper-slide-index"), 10) 7464 } 7465 return t.getSlideIndex(f(t.slidesEl, `.${t.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`)[0]) 7466 } 7467 } 7468 }); 7469 const c = () => { 7470 i("hashChange"); 7471 const e = o.location.hash.replace("#", ""), 7472 s = t.virtual && t.params.virtual.enabled ? t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`) : t.slides[t.activeIndex]; 7473 if (e !== (s ? s.getAttribute("data-hash") : "")) { 7474 const s = t.params.hashNavigation.getSlideIndex(t, e); 7475 if (void 0 === s || Number.isNaN(s)) return; 7476 t.slideTo(s) 7477 } 7478 }, 7479 p = () => { 7480 if (!l || !t.params.hashNavigation.enabled) return; 7481 const e = t.virtual && t.params.virtual.enabled ? t.slidesEl.querySelector(`[data-swiper-slide-index="${t.activeIndex}"]`) : t.slides[t.activeIndex], 7482 s = e ? e.getAttribute("data-hash") || e.getAttribute("data-history") : ""; 7483 t.params.hashNavigation.replaceState && d.history && d.history.replaceState ? (d.history.replaceState(null, null, `#${s}` || ""), i("hashSet")) : (o.location.hash = s || "", i("hashSet")) 7484 }; 7485 n("init", (() => { 7486 t.params.hashNavigation.enabled && (() => { 7487 if (!t.params.hashNavigation.enabled || t.params.history && t.params.history.enabled) return; 7488 l = !0; 7489 const e = o.location.hash.replace("#", ""); 7490 if (e) { 7491 const s = 0, 7492 a = t.params.hashNavigation.getSlideIndex(t, e); 7493 t.slideTo(a || 0, s, t.params.runCallbacksOnInit, !0) 7494 } 7495 t.params.hashNavigation.watchState && d.addEventListener("hashchange", c) 7496 })() 7497 })), n("destroy", (() => { 7498 t.params.hashNavigation.enabled && t.params.hashNavigation.watchState && d.removeEventListener("hashchange", c) 7499 })), n("transitionEnd _freeModeNoMomentumRelease", (() => { 7500 l && p() 7501 })), n("slideChange", (() => { 7502 l && t.params.cssMode && p() 7503 })) 7504 }, function(e) { 7505 let t, s, { 7506 swiper: i, 7507 extendParams: r, 7508 on: n, 7509 emit: l, 7510 params: o 7511 } = e; 7512 i.autoplay = { 7513 running: !1, 7514 paused: !1, 7515 timeLeft: 0 7516 }, r({ 7517 autoplay: { 7518 enabled: !1, 7519 delay: 3e3, 7520 waitForTransition: !0, 7521 disableOnInteraction: !1, 7522 stopOnLastSlide: !1, 7523 reverseDirection: !1, 7524 pauseOnMouseEnter: !1 7525 } 7526 }); 7527 let d, c, p, u, m, h, f, g, v = o && o.autoplay ? o.autoplay.delay : 3e3, 7528 w = o && o.autoplay ? o.autoplay.delay : 3e3, 7529 b = (new Date).getTime(); 7530 7531 function y(e) { 7532 i && !i.destroyed && i.wrapperEl && e.target === i.wrapperEl && (i.wrapperEl.removeEventListener("transitionend", y), g || e.detail && e.detail.bySwiperTouchMove || C()) 7533 } 7534 const E = () => { 7535 if (i.destroyed || !i.autoplay.running) return; 7536 i.autoplay.paused ? c = !0 : c && (w = d, c = !1);
vendor: 4,161 bytes, lines 7537-7601
7537 const e = i.autoplay.paused ? d : b + w - (new Date).getTime(); 7538 i.autoplay.timeLeft = e, l("autoplayTimeLeft", e, e / v), s = requestAnimationFrame((() => { 7539 E() 7540 })) 7541 }, 7542 x = e => { 7543 if (i.destroyed || !i.autoplay.running) return; 7544 cancelAnimationFrame(s), E(); 7545 let a = void 0 === e ? i.params.autoplay.delay : e; 7546 v = i.params.autoplay.delay, w = i.params.autoplay.delay; 7547 const r = (() => { 7548 let e; 7549 if (e = i.virtual && i.params.virtual.enabled ? i.slides.filter((e => e.classList.contains("swiper-slide-active")))[0] : i.slides[i.activeIndex], !e) return; 7550 return parseInt(e.getAttribute("data-swiper-autoplay"), 10) 7551 })(); 7552 !Number.isNaN(r) && r > 0 && void 0 === e && (a = r, v = r, w = r), d = a; 7553 const n = i.params.speed, 7554 o = () => { 7555 i && !i.destroyed && (i.params.autoplay.reverseDirection ? !i.isBeginning || i.params.loop || i.params.rewind ? (i.slidePrev(n, !0, !0), l("autoplay")) : i.params.autoplay.stopOnLastSlide || (i.slideTo(i.slides.length - 1, n, !0, !0), l("autoplay")) : !i.isEnd || i.params.loop || i.params.rewind ? (i.slideNext(n, !0, !0), l("autoplay")) : i.params.autoplay.stopOnLastSlide || (i.slideTo(0, n, !0, !0), l("autoplay")), i.params.cssMode && (b = (new Date).getTime(), requestAnimationFrame((() => { 7556 x() 7557 })))) 7558 }; 7559 return a > 0 ? (clearTimeout(t), t = setTimeout((() => { 7560 o() 7561 }), a)) : requestAnimationFrame((() => { 7562 o() 7563 })), a 7564 }, 7565 S = () => { 7566 b = (new Date).getTime(), i.autoplay.running = !0, x(), l("autoplayStart") 7567 }, 7568 T = () => { 7569 i.autoplay.running = !1, clearTimeout(t), cancelAnimationFrame(s), l("autoplayStop") 7570 }, 7571 M = (e, s) => { 7572 if (i.destroyed || !i.autoplay.running) return; 7573 clearTimeout(t), e || (f = !0); 7574 const a = () => { 7575 l("autoplayPause"), i.params.autoplay.waitForTransition ? i.wrapperEl.addEventListener("transitionend", y) : C() 7576 }; 7577 if (i.autoplay.paused = !0, s) return h && (d = i.params.autoplay.delay), h = !1, void a(); 7578 const r = d || i.params.autoplay.delay; 7579 d = r - ((new Date).getTime() - b), i.isEnd && d < 0 && !i.params.loop || (d < 0 && (d = 0), a()) 7580 }, 7581 C = () => { 7582 i.isEnd && d < 0 && !i.params.loop || i.destroyed || !i.autoplay.running || (b = (new Date).getTime(), f ? (f = !1, x(d)) : x(), i.autoplay.paused = !1, l("autoplayResume")) 7583 }, 7584 P = () => { 7585 if (i.destroyed || !i.autoplay.running) return; 7586 const e = a(); 7587 "hidden" === e.visibilityState && (f = !0, M(!0)), "visible" === e.visibilityState && C() 7588 }, 7589 L = e => { 7590 "mouse" === e.pointerType && (f = !0, g = !0, i.animating || i.autoplay.paused || M(!0)) 7591 }, 7592 I = e => { 7593 "mouse" === e.pointerType && (g = !1, i.autoplay.paused && C()) 7594 }; 7595 n("init", (() => { 7596 i.params.autoplay.enabled && (i.params.autoplay.pauseOnMouseEnter && (i.el.addEventListener("pointerenter", L), i.el.addEventListener("pointerleave", I)), a().addEventListener("visibilitychange", P), S()) 7597 })), n("destroy", (() => { 7598 i.el && "string" != typeof i.el && (i.el.removeEventListener("pointerenter", L), i.el.removeEventListener("pointerleave", I)), a().removeEventListener("visibilitychange", P), i.autoplay.running && T() 7599 })), n("_freeModeStaticRelease", (() => { 7600 (u || f) && C() 7601 })), n("_freeModeNoMomentumRelease", (() => {
vendor: 40,350 bytes, lines 7602-8432
7602 i.params.autoplay.disableOnInteraction ? T() : M(!0, !0) 7603 })), n("beforeTransitionStart", ((e, t, s) => { 7604 !i.destroyed && i.autoplay.running && (s || !i.params.autoplay.disableOnInteraction ? M(!0, !0) : T()) 7605 })), n("sliderFirstMove", (() => { 7606 !i.destroyed && i.autoplay.running && (i.params.autoplay.disableOnInteraction ? T() : (p = !0, u = !1, f = !1, m = setTimeout((() => { 7607 f = !0, u = !0, M(!0) 7608 }), 200))) 7609 })), n("touchEnd", (() => { 7610 if (!i.destroyed && i.autoplay.running && p) { 7611 if (clearTimeout(m), clearTimeout(t), i.params.autoplay.disableOnInteraction) return u = !1, void(p = !1); 7612 u && i.params.cssMode && C(), u = !1, p = !1 7613 } 7614 })), n("slideChange", (() => { 7615 !i.destroyed && i.autoplay.running && (h = !0) 7616 })), Object.assign(i.autoplay, { 7617 start: S, 7618 stop: T, 7619 pause: M, 7620 resume: C 7621 }) 7622 }, function(e) { 7623 let { 7624 swiper: t, 7625 extendParams: s, 7626 on: i 7627 } = e; 7628 s({ 7629 thumbs: { 7630 swiper: null, 7631 multipleActiveThumbs: !0, 7632 autoScrollOffset: 0, 7633 slideThumbActiveClass: "swiper-slide-thumb-active", 7634 thumbsContainerClass: "swiper-thumbs" 7635 } 7636 }); 7637 let r = !1, 7638 n = !1; 7639 7640 function l() { 7641 const e = t.thumbs.swiper; 7642 if (!e || e.destroyed) return; 7643 const s = e.clickedIndex, 7644 a = e.clickedSlide; 7645 if (a && a.classList.contains(t.params.thumbs.slideThumbActiveClass)) return; 7646 if (null == s) return; 7647 let i; 7648 i = e.params.loop ? parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"), 10) : s, t.params.loop ? t.slideToLoop(i) : t.slideTo(i) 7649 } 7650 7651 function o() { 7652 const { 7653 thumbs: e 7654 } = t.params; 7655 if (r) return !1; 7656 r = !0; 7657 const s = t.constructor; 7658 if (e.swiper instanceof s) t.thumbs.swiper = e.swiper, Object.assign(t.thumbs.swiper.originalParams, { 7659 watchSlidesProgress: !0, 7660 slideToClickedSlide: !1 7661 }), Object.assign(t.thumbs.swiper.params, { 7662 watchSlidesProgress: !0, 7663 slideToClickedSlide: !1 7664 }), t.thumbs.swiper.update(); 7665 else if (c(e.swiper)) { 7666 const a = Object.assign({}, e.swiper); 7667 Object.assign(a, { 7668 watchSlidesProgress: !0, 7669 slideToClickedSlide: !1 7670 }), t.thumbs.swiper = new s(a), n = !0 7671 } 7672 return t.thumbs.swiper.el.classList.add(t.params.thumbs.thumbsContainerClass), t.thumbs.swiper.on("tap", l), !0 7673 } 7674 7675 function d(e) { 7676 const s = t.thumbs.swiper; 7677 if (!s || s.destroyed) return; 7678 const a = "auto" === s.params.slidesPerView ? s.slidesPerViewDynamic() : s.params.slidesPerView; 7679 let i = 1; 7680 const r = t.params.thumbs.slideThumbActiveClass; 7681 if (t.params.slidesPerView > 1 && !t.params.centeredSlides && (i = t.params.slidesPerView), t.params.thumbs.multipleActiveThumbs || (i = 1), i = Math.floor(i), s.slides.forEach((e => e.classList.remove(r))), s.params.loop || s.params.virtual && s.params.virtual.enabled) 7682 for (let e = 0; e < i; e += 1) f(s.slidesEl, `[data-swiper-slide-index="${t.realIndex+e}"]`).forEach((e => { 7683 e.classList.add(r) 7684 })); 7685 else 7686 for (let e = 0; e < i; e += 1) s.slides[t.realIndex + e] && s.slides[t.realIndex + e].classList.add(r); 7687 const n = t.params.thumbs.autoScrollOffset, 7688 l = n && !s.params.loop; 7689 if (t.realIndex !== s.realIndex || l) { 7690 const i = s.activeIndex; 7691 let r, o; 7692 if (s.params.loop) { 7693 const e = s.slides.filter((e => e.getAttribute("data-swiper-slide-index") === `${t.realIndex}`))[0]; 7694 r = s.slides.indexOf(e), o = t.activeIndex > t.previousIndex ? "next" : "prev" 7695 } else r = t.realIndex, o = r > t.previousIndex ? "next" : "prev"; 7696 l && (r += "next" === o ? n : -1 * n), s.visibleSlidesIndexes && s.visibleSlidesIndexes.indexOf(r) < 0 && (s.params.centeredSlides ? r = r > i ? r - Math.floor(a / 2) + 1 : r + Math.floor(a / 2) - 1 : r > i && s.params.slidesPerGroup, s.slideTo(r, e ? 0 : void 0)) 7697 } 7698 } 7699 t.thumbs = { 7700 swiper: null 7701 }, i("beforeInit", (() => { 7702 const { 7703 thumbs: e 7704 } = t.params; 7705 if (e && e.swiper) 7706 if ("string" == typeof e.swiper || e.swiper instanceof HTMLElement) { 7707 const s = a(), 7708 i = () => { 7709 const a = "string" == typeof e.swiper ? s.querySelector(e.swiper) : e.swiper; 7710 if (a && a.swiper) e.swiper = a.swiper, o(), d(!0); 7711 else if (a) { 7712 const s = i => { 7713 e.swiper = i.detail[0], a.removeEventListener("init", s), o(), d(!0), e.swiper.update(), t.update() 7714 }; 7715 a.addEventListener("init", s) 7716 } 7717 return a 7718 }, 7719 r = () => { 7720 if (t.destroyed) return; 7721 i() || requestAnimationFrame(r) 7722 }; 7723 requestAnimationFrame(r) 7724 } else o(), d(!0) 7725 })), i("slideChange update resize observerUpdate", (() => { 7726 d() 7727 })), i("setTransition", ((e, s) => { 7728 const a = t.thumbs.swiper; 7729 a && !a.destroyed && a.setTransition(s) 7730 })), i("beforeDestroy", (() => { 7731 const e = t.thumbs.swiper; 7732 e && !e.destroyed && n && e.destroy() 7733 })), Object.assign(t.thumbs, { 7734 init: o, 7735 update: d 7736 }) 7737 }, function(e) { 7738 let { 7739 swiper: t, 7740 extendParams: s, 7741 emit: a, 7742 once: i 7743 } = e; 7744 s({ 7745 freeMode: { 7746 enabled: !1, 7747 momentum: !0, 7748 momentumRatio: 1, 7749 momentumBounce: !0, 7750 momentumBounceRatio: 1, 7751 momentumVelocityRatio: 1, 7752 sticky: !1, 7753 minimumVelocity: .02 7754 } 7755 }), Object.assign(t, { 7756 freeMode: { 7757 onTouchStart: function() { 7758 if (t.params.cssMode) return; 7759 const e = t.getTranslate(); 7760 t.setTranslate(e), t.setTransition(0), t.touchEventsData.velocities.length = 0, t.freeMode.onTouchEnd({ 7761 currentPos: t.rtl ? t.translate : -t.translate 7762 }) 7763 }, 7764 onTouchMove: function() { 7765 if (t.params.cssMode) return; 7766 const { 7767 touchEventsData: e, 7768 touches: s 7769 } = t; 7770 0 === e.velocities.length && e.velocities.push({ 7771 position: s[t.isHorizontal() ? "startX" : "startY"], 7772 time: e.touchStartTime 7773 }), e.velocities.push({ 7774 position: s[t.isHorizontal() ? "currentX" : "currentY"], 7775 time: o() 7776 }) 7777 }, 7778 onTouchEnd: function(e) { 7779 let { 7780 currentPos: s 7781 } = e; 7782 if (t.params.cssMode) return; 7783 const { 7784 params: r, 7785 wrapperEl: n, 7786 rtlTranslate: l, 7787 snapGrid: d, 7788 touchEventsData: c 7789 } = t, p = o() - c.touchStartTime; 7790 if (s < -t.minTranslate()) t.slideTo(t.activeIndex); 7791 else if (s > -t.maxTranslate()) t.slides.length < d.length ? t.slideTo(d.length - 1) : t.slideTo(t.slides.length - 1); 7792 else { 7793 if (r.freeMode.momentum) { 7794 if (c.velocities.length > 1) { 7795 const e = c.velocities.pop(), 7796 s = c.velocities.pop(), 7797 a = e.position - s.position, 7798 i = e.time - s.time; 7799 t.velocity = a / i, t.velocity /= 2, Math.abs(t.velocity) < r.freeMode.minimumVelocity && (t.velocity = 0), (i > 150 || o() - e.time > 300) && (t.velocity = 0) 7800 } else t.velocity = 0; 7801 t.velocity *= r.freeMode.momentumVelocityRatio, c.velocities.length = 0; 7802 let e = 1e3 * r.freeMode.momentumRatio; 7803 const s = t.velocity * e; 7804 let p = t.translate + s; 7805 l && (p = -p); 7806 let u, m = !1; 7807 const h = 20 * Math.abs(t.velocity) * r.freeMode.momentumBounceRatio; 7808 let f; 7809 if (p < t.maxTranslate()) r.freeMode.momentumBounce ? (p + t.maxTranslate() < -h && (p = t.maxTranslate() - h), u = t.maxTranslate(), m = !0, c.allowMomentumBounce = !0) : p = t.maxTranslate(), r.loop && r.centeredSlides && (f = !0); 7810 else if (p > t.minTranslate()) r.freeMode.momentumBounce ? (p - t.minTranslate() > h && (p = t.minTranslate() + h), u = t.minTranslate(), m = !0, c.allowMomentumBounce = !0) : p = t.minTranslate(), r.loop && r.centeredSlides && (f = !0); 7811 else if (r.freeMode.sticky) { 7812 let e; 7813 for (let t = 0; t < d.length; t += 1) 7814 if (d[t] > -p) { 7815 e = t; 7816 break 7817 } p = Math.abs(d[e] - p) < Math.abs(d[e - 1] - p) || "next" === t.swipeDirection ? d[e] : d[e - 1], p = -p 7818 } 7819 if (f && i("transitionEnd", (() => { 7820 t.loopFix() 7821 })), 0 !== t.velocity) { 7822 if (e = l ? Math.abs((-p - t.translate) / t.velocity) : Math.abs((p - t.translate) / t.velocity), r.freeMode.sticky) { 7823 const s = Math.abs((l ? -p : p) - t.translate), 7824 a = t.slidesSizesGrid[t.activeIndex]; 7825 e = s < a ? r.speed : s < 2 * a ? 1.5 * r.speed : 2.5 * r.speed 7826 } 7827 } else if (r.freeMode.sticky) return void t.slideToClosest(); 7828 r.freeMode.momentumBounce && m ? (t.updateProgress(u), t.setTransition(e), t.setTranslate(p), t.transitionStart(!0, t.swipeDirection), t.animating = !0, x(n, (() => { 7829 t && !t.destroyed && c.allowMomentumBounce && (a("momentumBounce"), t.setTransition(r.speed), setTimeout((() => { 7830 t.setTranslate(u), x(n, (() => { 7831 t && !t.destroyed && t.transitionEnd() 7832 })) 7833 }), 0)) 7834 }))) : t.velocity ? (a("_freeModeNoMomentumRelease"), t.updateProgress(p), t.setTransition(e), t.setTranslate(p), t.transitionStart(!0, t.swipeDirection), t.animating || (t.animating = !0, x(n, (() => { 7835 t && !t.destroyed && t.transitionEnd() 7836 })))) : t.updateProgress(p), t.updateActiveIndex(), t.updateSlidesClasses() 7837 } else { 7838 if (r.freeMode.sticky) return void t.slideToClosest(); 7839 r.freeMode && a("_freeModeNoMomentumRelease") 7840 }(!r.freeMode.momentum || p >= r.longSwipesMs) && (a("_freeModeStaticRelease"), t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses()) 7841 } 7842 } 7843 } 7844 }) 7845 }, function(e) { 7846 let t, s, a, i, { 7847 swiper: r, 7848 extendParams: n, 7849 on: l 7850 } = e; 7851 n({ 7852 grid: { 7853 rows: 1, 7854 fill: "column" 7855 } 7856 }); 7857 const o = () => { 7858 let e = r.params.spaceBetween; 7859 return "string" == typeof e && e.indexOf("%") >= 0 ? e = parseFloat(e.replace("%", "")) / 100 * r.size : "string" == typeof e && (e = parseFloat(e)), e 7860 }; 7861 l("init", (() => { 7862 i = r.params.grid && r.params.grid.rows > 1 7863 })), l("update", (() => { 7864 const { 7865 params: e, 7866 el: t 7867 } = r, s = e.grid && e.grid.rows > 1; 7868 i && !s ? (t.classList.remove(`${e.containerModifierClass}grid`, `${e.containerModifierClass}grid-column`), a = 1, r.emitContainerClasses()) : !i && s && (t.classList.add(`${e.containerModifierClass}grid`), "column" === e.grid.fill && t.classList.add(`${e.containerModifierClass}grid-column`), r.emitContainerClasses()), i = s 7869 })), r.grid = { 7870 initSlides: e => { 7871 const { 7872 slidesPerView: i 7873 } = r.params, { 7874 rows: n, 7875 fill: l 7876 } = r.params.grid, o = r.virtual && r.params.virtual.enabled ? r.virtual.slides.length : e.length; 7877 a = Math.floor(o / n), t = Math.floor(o / n) === o / n ? o : Math.ceil(o / n) * n, "auto" !== i && "row" === l && (t = Math.max(t, i * n)), s = t / n 7878 }, 7879 unsetSlides: () => { 7880 r.slides && r.slides.forEach((e => { 7881 e.swiperSlideGridSet && (e.style.height = "", e.style[r.getDirectionLabel("margin-top")] = "") 7882 })) 7883 }, 7884 updateSlide: (e, i, n) => { 7885 const { 7886 slidesPerGroup: l 7887 } = r.params, d = o(), { 7888 rows: c, 7889 fill: p 7890 } = r.params.grid, u = r.virtual && r.params.virtual.enabled ? r.virtual.slides.length : n.length; 7891 let m, h, f; 7892 if ("row" === p && l > 1) { 7893 const s = Math.floor(e / (l * c)), 7894 a = e - c * l * s, 7895 r = 0 === s ? l : Math.min(Math.ceil((u - s * c * l) / c), l); 7896 f = Math.floor(a / r), h = a - f * r + s * l, m = h + f * t / c, i.style.order = m 7897 } else "column" === p ? (h = Math.floor(e / c), f = e - h * c, (h > a || h === a && f === c - 1) && (f += 1, f >= c && (f = 0, h += 1))) : (f = Math.floor(e / s), h = e - f * s); 7898 i.row = f, i.column = h, i.style.height = `calc((100% - ${(c-1)*d}px) / ${c})`, i.style[r.getDirectionLabel("margin-top")] = 0 !== f ? d && `${d}px` : "", i.swiperSlideGridSet = !0 7899 }, 7900 updateWrapperSize: (e, s) => { 7901 const { 7902 centeredSlides: a, 7903 roundLengths: i 7904 } = r.params, n = o(), { 7905 rows: l 7906 } = r.params.grid; 7907 if (r.virtualSize = (e + n) * t, r.virtualSize = Math.ceil(r.virtualSize / l) - n, r.params.cssMode || (r.wrapperEl.style[r.getDirectionLabel("width")] = `${r.virtualSize+n}px`), a) { 7908 const e = []; 7909 for (let t = 0; t < s.length; t += 1) { 7910 let a = s[t]; 7911 i && (a = Math.floor(a)), s[t] < r.virtualSize + s[0] && e.push(a) 7912 } 7913 s.splice(0, s.length), s.push(...e) 7914 } 7915 } 7916 } 7917 }, function(e) { 7918 let { 7919 swiper: t 7920 } = e; 7921 Object.assign(t, { 7922 appendSlide: ne.bind(t), 7923 prependSlide: le.bind(t), 7924 addSlide: oe.bind(t), 7925 removeSlide: de.bind(t), 7926 removeAllSlides: ce.bind(t) 7927 }) 7928 }, function(e) { 7929 let { 7930 swiper: t, 7931 extendParams: s, 7932 on: a 7933 } = e; 7934 s({ 7935 fadeEffect: { 7936 crossFade: !1 7937 } 7938 }), pe({ 7939 effect: "fade", 7940 swiper: t, 7941 on: a, 7942 setTranslate: () => { 7943 const { 7944 slides: e 7945 } = t; 7946 t.params.fadeEffect; 7947 for (let s = 0; s < e.length; s += 1) { 7948 const e = t.slides[s]; 7949 let a = -e.swiperSlideOffset; 7950 t.params.virtualTranslate || (a -= t.translate); 7951 let i = 0; 7952 t.isHorizontal() || (i = a, a = 0); 7953 const r = t.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(e.progress), 0) : 1 + Math.min(Math.max(e.progress, -1), 0), 7954 n = ue(0, e); 7955 n.style.opacity = r, n.style.transform = `translate3d(${a}px, ${i}px, 0px)` 7956 } 7957 }, 7958 setTransition: e => { 7959 const s = t.slides.map((e => h(e))); 7960 s.forEach((t => { 7961 t.style.transitionDuration = `${e}ms` 7962 })), me({ 7963 swiper: t, 7964 duration: e, 7965 transformElements: s, 7966 allSlides: !0 7967 }) 7968 }, 7969 overwriteParams: () => ({ 7970 slidesPerView: 1, 7971 slidesPerGroup: 1, 7972 watchSlidesProgress: !0, 7973 spaceBetween: 0, 7974 virtualTranslate: !t.params.cssMode 7975 }) 7976 }) 7977 }, function(e) { 7978 let { 7979 swiper: t, 7980 extendParams: s, 7981 on: a 7982 } = e; 7983 s({ 7984 cubeEffect: { 7985 slideShadows: !0, 7986 shadow: !0, 7987 shadowOffset: 20, 7988 shadowScale: .94 7989 } 7990 }); 7991 const i = (e, t, s) => { 7992 let a = s ? e.querySelector(".swiper-slide-shadow-left") : e.querySelector(".swiper-slide-shadow-top"), 7993 i = s ? e.querySelector(".swiper-slide-shadow-right") : e.querySelector(".swiper-slide-shadow-bottom"); 7994 a || (a = v("div", ("swiper-slide-shadow-cube swiper-slide-shadow-" + (s ? "left" : "top")).split(" ")), e.append(a)), i || (i = v("div", ("swiper-slide-shadow-cube swiper-slide-shadow-" + (s ? "right" : "bottom")).split(" ")), e.append(i)), a && (a.style.opacity = Math.max(-t, 0)), i && (i.style.opacity = Math.max(t, 0)) 7995 }; 7996 pe({ 7997 effect: "cube", 7998 swiper: t, 7999 on: a, 8000 setTranslate: () => { 8001 const { 8002 el: e, 8003 wrapperEl: s, 8004 slides: a, 8005 width: r, 8006 height: n, 8007 rtlTranslate: l, 8008 size: o, 8009 browser: d 8010 } = t, c = t.params.cubeEffect, p = t.isHorizontal(), u = t.virtual && t.params.virtual.enabled; 8011 let m, h = 0; 8012 c.shadow && (p ? (m = t.wrapperEl.querySelector(".swiper-cube-shadow"), m || (m = v("div", "swiper-cube-shadow"), t.wrapperEl.append(m)), m.style.height = `${r}px`) : (m = e.querySelector(".swiper-cube-shadow"), m || (m = v("div", "swiper-cube-shadow"), e.append(m)))); 8013 for (let e = 0; e < a.length; e += 1) { 8014 const s = a[e]; 8015 let r = e; 8016 u && (r = parseInt(s.getAttribute("data-swiper-slide-index"), 10)); 8017 let n = 90 * r, 8018 d = Math.floor(n / 360); 8019 l && (n = -n, d = Math.floor(-n / 360)); 8020 const m = Math.max(Math.min(s.progress, 1), -1); 8021 let f = 0, 8022 g = 0, 8023 v = 0; 8024 r % 4 == 0 ? (f = 4 * -d * o, v = 0) : (r - 1) % 4 == 0 ? (f = 0, v = 4 * -d * o) : (r - 2) % 4 == 0 ? (f = o + 4 * d * o, v = o) : (r - 3) % 4 == 0 && (f = -o, v = 3 * o + 4 * o * d), l && (f = -f), p || (g = f, f = 0); 8025 const w = `rotateX(${p?0:-n}deg) rotateY(${p?n:0}deg) translate3d(${f}px, ${g}px, ${v}px)`; 8026 m <= 1 && m > -1 && (h = 90 * r + 90 * m, l && (h = 90 * -r - 90 * m), t.browser && t.browser.need3dFix && Math.abs(h) / 90 % 2 == 1 && (h += .001)), s.style.transform = w, c.slideShadows && i(s, m, p) 8027 } 8028 if (s.style.transformOrigin = `50% 50% -${o/2}px`, s.style["-webkit-transform-origin"] = `50% 50% -${o/2}px`, c.shadow) 8029 if (p) m.style.transform = `translate3d(0px, ${r/2+c.shadowOffset}px, ${-r/2}px) rotateX(89.99deg) rotateZ(0deg) scale(${c.shadowScale})`; 8030 else { 8031 const e = Math.abs(h) - 90 * Math.floor(Math.abs(h) / 90), 8032 t = 1.5 - (Math.sin(2 * e * Math.PI / 360) / 2 + Math.cos(2 * e * Math.PI / 360) / 2), 8033 s = c.shadowScale, 8034 a = c.shadowScale / t, 8035 i = c.shadowOffset; 8036 m.style.transform = `scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-89.99deg)` 8037 } const f = (d.isSafari || d.isWebView) && d.needPerspectiveFix ? -o / 2 : 0; 8038 s.style.transform = `translate3d(0px,0,${f}px) rotateX(${t.isHorizontal()?0:h}deg) rotateY(${t.isHorizontal()?-h:0}deg)`, s.style.setProperty("--swiper-cube-translate-z", `${f}px`) 8039 }, 8040 setTransition: e => { 8041 const { 8042 el: s, 8043 slides: a 8044 } = t; 8045 if (a.forEach((t => { 8046 t.style.transitionDuration = `${e}ms`, t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t => { 8047 t.style.transitionDuration = `${e}ms` 8048 })) 8049 })), t.params.cubeEffect.shadow && !t.isHorizontal()) { 8050 const t = s.querySelector(".swiper-cube-shadow"); 8051 t && (t.style.transitionDuration = `${e}ms`) 8052 } 8053 }, 8054 recreateShadows: () => { 8055 const e = t.isHorizontal(); 8056 t.slides.forEach((t => { 8057 const s = Math.max(Math.min(t.progress, 1), -1); 8058 i(t, s, e) 8059 })) 8060 }, 8061 getEffectParams: () => t.params.cubeEffect, 8062 perspective: () => !0, 8063 overwriteParams: () => ({ 8064 slidesPerView: 1, 8065 slidesPerGroup: 1, 8066 watchSlidesProgress: !0, 8067 resistanceRatio: 0, 8068 spaceBetween: 0, 8069 centeredSlides: !1, 8070 virtualTranslate: !0 8071 }) 8072 }) 8073 }, function(e) { 8074 let { 8075 swiper: t, 8076 extendParams: s, 8077 on: a 8078 } = e; 8079 s({ 8080 flipEffect: { 8081 slideShadows: !0, 8082 limitRotation: !0 8083 } 8084 }); 8085 const i = (e, s) => { 8086 let a = t.isHorizontal() ? e.querySelector(".swiper-slide-shadow-left") : e.querySelector(".swiper-slide-shadow-top"), 8087 i = t.isHorizontal() ? e.querySelector(".swiper-slide-shadow-right") : e.querySelector(".swiper-slide-shadow-bottom"); 8088 a || (a = he("flip", e, t.isHorizontal() ? "left" : "top")), i || (i = he("flip", e, t.isHorizontal() ? "right" : "bottom")), a && (a.style.opacity = Math.max(-s, 0)), i && (i.style.opacity = Math.max(s, 0)) 8089 }; 8090 pe({ 8091 effect: "flip", 8092 swiper: t, 8093 on: a, 8094 setTranslate: () => { 8095 const { 8096 slides: e, 8097 rtlTranslate: s 8098 } = t, a = t.params.flipEffect; 8099 for (let r = 0; r < e.length; r += 1) { 8100 const n = e[r]; 8101 let l = n.progress; 8102 t.params.flipEffect.limitRotation && (l = Math.max(Math.min(n.progress, 1), -1)); 8103 const o = n.swiperSlideOffset; 8104 let d = -180 * l, 8105 c = 0, 8106 p = t.params.cssMode ? -o - t.translate : -o, 8107 u = 0; 8108 t.isHorizontal() ? s && (d = -d) : (u = p, p = 0, c = -d, d = 0), t.browser && t.browser.need3dFix && (Math.abs(d) / 90 % 2 == 1 && (d += .001), Math.abs(c) / 90 % 2 == 1 && (c += .001)), n.style.zIndex = -Math.abs(Math.round(l)) + e.length, a.slideShadows && i(n, l); 8109 const m = `translate3d(${p}px, ${u}px, 0px) rotateX(${c}deg) rotateY(${d}deg)`; 8110 ue(0, n).style.transform = m 8111 } 8112 }, 8113 setTransition: e => { 8114 const s = t.slides.map((e => h(e))); 8115 s.forEach((t => { 8116 t.style.transitionDuration = `${e}ms`, t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t => { 8117 t.style.transitionDuration = `${e}ms` 8118 })) 8119 })), me({ 8120 swiper: t, 8121 duration: e, 8122 transformElements: s 8123 }) 8124 }, 8125 recreateShadows: () => { 8126 t.params.flipEffect, t.slides.forEach((e => { 8127 let s = e.progress; 8128 t.params.flipEffect.limitRotation && (s = Math.max(Math.min(e.progress, 1), -1)), i(e, s) 8129 })) 8130 }, 8131 getEffectParams: () => t.params.flipEffect, 8132 perspective: () => !0, 8133 overwriteParams: () => ({ 8134 slidesPerView: 1, 8135 slidesPerGroup: 1, 8136 watchSlidesProgress: !0, 8137 spaceBetween: 0, 8138 virtualTranslate: !t.params.cssMode 8139 }) 8140 }) 8141 }, function(e) { 8142 let { 8143 swiper: t, 8144 extendParams: s, 8145 on: a 8146 } = e; 8147 s({ 8148 coverflowEffect: { 8149 rotate: 50, 8150 stretch: 0, 8151 depth: 100, 8152 scale: 1, 8153 modifier: 1, 8154 slideShadows: !0 8155 } 8156 }), pe({ 8157 effect: "coverflow", 8158 swiper: t, 8159 on: a, 8160 setTranslate: () => { 8161 const { 8162 width: e, 8163 height: s, 8164 slides: a, 8165 slidesSizesGrid: i 8166 } = t, r = t.params.coverflowEffect, n = t.isHorizontal(), l = t.translate, o = n ? e / 2 - l : s / 2 - l, d = n ? r.rotate : -r.rotate, c = r.depth; 8167 for (let e = 0, s = a.length; e < s; e += 1) { 8168 const s = a[e], 8169 l = i[e], 8170 p = (o - s.swiperSlideOffset - l / 2) / l, 8171 u = "function" == typeof r.modifier ? r.modifier(p) : p * r.modifier; 8172 let m = n ? d * u : 0, 8173 h = n ? 0 : d * u, 8174 f = -c * Math.abs(u), 8175 g = r.stretch; 8176 "string" == typeof g && -1 !== g.indexOf("%") && (g = parseFloat(r.stretch) / 100 * l); 8177 let v = n ? 0 : g * u, 8178 w = n ? g * u : 0, 8179 b = 1 - (1 - r.scale) * Math.abs(u); 8180 Math.abs(w) < .001 && (w = 0), Math.abs(v) < .001 && (v = 0), Math.abs(f) < .001 && (f = 0), Math.abs(m) < .001 && (m = 0), Math.abs(h) < .001 && (h = 0), Math.abs(b) < .001 && (b = 0), t.browser && t.browser.need3dFix && (Math.abs(m) / 90 % 2 == 1 && (m += .001), Math.abs(h) / 90 % 2 == 1 && (h += .001)); 8181 const y = `translate3d(${w}px,${v}px,${f}px) rotateX(${h}deg) rotateY(${m}deg) scale(${b})`; 8182 if (ue(0, s).style.transform = y, s.style.zIndex = 1 - Math.abs(Math.round(u)), r.slideShadows) { 8183 let e = n ? s.querySelector(".swiper-slide-shadow-left") : s.querySelector(".swiper-slide-shadow-top"), 8184 t = n ? s.querySelector(".swiper-slide-shadow-right") : s.querySelector(".swiper-slide-shadow-bottom"); 8185 e || (e = he("coverflow", s, n ? "left" : "top")), t || (t = he("coverflow", s, n ? "right" : "bottom")), e && (e.style.opacity = u > 0 ? u : 0), t && (t.style.opacity = -u > 0 ? -u : 0) 8186 } 8187 } 8188 }, 8189 setTransition: e => { 8190 t.slides.map((e => h(e))).forEach((t => { 8191 t.style.transitionDuration = `${e}ms`, t.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((t => { 8192 t.style.transitionDuration = `${e}ms` 8193 })) 8194 })) 8195 }, 8196 perspective: () => !0, 8197 overwriteParams: () => ({ 8198 watchSlidesProgress: !0 8199 }) 8200 }) 8201 }, function(e) { 8202 let { 8203 swiper: t, 8204 extendParams: s, 8205 on: a 8206 } = e; 8207 s({ 8208 creativeEffect: { 8209 limitProgress: 1, 8210 shadowPerProgress: !1, 8211 progressMultiplier: 1, 8212 perspective: !0, 8213 prev: { 8214 translate: [0, 0, 0], 8215 rotate: [0, 0, 0], 8216 opacity: 1, 8217 scale: 1 8218 }, 8219 next: { 8220 translate: [0, 0, 0], 8221 rotate: [0, 0, 0], 8222 opacity: 1, 8223 scale: 1 8224 } 8225 } 8226 }); 8227 const i = e => "string" == typeof e ? e : `${e}px`; 8228 pe({ 8229 effect: "creative", 8230 swiper: t, 8231 on: a, 8232 setTranslate: () => { 8233 const { 8234 slides: e, 8235 wrapperEl: s, 8236 slidesSizesGrid: a 8237 } = t, r = t.params.creativeEffect, { 8238 progressMultiplier: n 8239 } = r, l = t.params.centeredSlides; 8240 if (l) { 8241 const e = a[0] / 2 - t.params.slidesOffsetBefore || 0; 8242 s.style.transform = `translateX(calc(50% - ${e}px))` 8243 } 8244 for (let s = 0; s < e.length; s += 1) { 8245 const a = e[s], 8246 o = a.progress, 8247 d = Math.min(Math.max(a.progress, -r.limitProgress), r.limitProgress); 8248 let c = d; 8249 l || (c = Math.min(Math.max(a.originalProgress, -r.limitProgress), r.limitProgress)); 8250 const p = a.swiperSlideOffset, 8251 u = [t.params.cssMode ? -p - t.translate : -p, 0, 0], 8252 m = [0, 0, 0]; 8253 let h = !1; 8254 t.isHorizontal() || (u[1] = u[0], u[0] = 0); 8255 let f = { 8256 translate: [0, 0, 0], 8257 rotate: [0, 0, 0], 8258 scale: 1, 8259 opacity: 1 8260 }; 8261 d < 0 ? (f = r.next, h = !0) : d > 0 && (f = r.prev, h = !0), u.forEach(((e, t) => { 8262 u[t] = `calc(${e}px + (${i(f.translate[t])} * ${Math.abs(d*n)}))` 8263 })), m.forEach(((e, s) => { 8264 let a = f.rotate[s] * Math.abs(d * n); 8265 t.browser && t.browser.need3dFix && Math.abs(a) / 90 % 2 == 1 && (a += .001), m[s] = a 8266 })), a.style.zIndex = -Math.abs(Math.round(o)) + e.length; 8267 const g = u.join(", "), 8268 v = `rotateX(${m[0]}deg) rotateY(${m[1]}deg) rotateZ(${m[2]}deg)`, 8269 w = c < 0 ? `scale(${1+(1-f.scale)*c*n})` : `scale(${1-(1-f.scale)*c*n})`, 8270 b = c < 0 ? 1 + (1 - f.opacity) * c * n : 1 - (1 - f.opacity) * c * n, 8271 y = `translate3d(${g}) ${v} ${w}`; 8272 if (h && f.shadow || !h) { 8273 let e = a.querySelector(".swiper-slide-shadow"); 8274 if (!e && f.shadow && (e = he("creative", a)), e) { 8275 const t = r.shadowPerProgress ? d * (1 / r.limitProgress) : d; 8276 e.style.opacity = Math.min(Math.max(Math.abs(t), 0), 1) 8277 } 8278 } 8279 const E = ue(0, a); 8280 E.style.transform = y, E.style.opacity = b, f.origin && (E.style.transformOrigin = f.origin) 8281 } 8282 }, 8283 setTransition: e => { 8284 const s = t.slides.map((e => h(e))); 8285 s.forEach((t => { 8286 t.style.transitionDuration = `${e}ms`, t.querySelectorAll(".swiper-slide-shadow").forEach((t => { 8287 t.style.transitionDuration = `${e}ms` 8288 })) 8289 })), me({ 8290 swiper: t, 8291 duration: e, 8292 transformElements: s, 8293 allSlides: !0 8294 }) 8295 }, 8296 perspective: () => t.params.creativeEffect.perspective, 8297 overwriteParams: () => ({ 8298 watchSlidesProgress: !0, 8299 virtualTranslate: !t.params.cssMode 8300 }) 8301 }) 8302 }, function(e) { 8303 let { 8304 swiper: t, 8305 extendParams: s, 8306 on: a 8307 } = e; 8308 s({ 8309 cardsEffect: { 8310 slideShadows: !0, 8311 rotate: !0, 8312 perSlideRotate: 2, 8313 perSlideOffset: 8 8314 } 8315 }), pe({ 8316 effect: "cards", 8317 swiper: t, 8318 on: a, 8319 setTranslate: () => { 8320 const { 8321 slides: e, 8322 activeIndex: s, 8323 rtlTranslate: a 8324 } = t, i = t.params.cardsEffect, { 8325 startTranslate: r, 8326 isTouched: n 8327 } = t.touchEventsData, l = a ? -t.translate : t.translate; 8328 for (let o = 0; o < e.length; o += 1) { 8329 const d = e[o], 8330 c = d.progress, 8331 p = Math.min(Math.max(c, -4), 4); 8332 let u = d.swiperSlideOffset; 8333 t.params.centeredSlides && !t.params.cssMode && (t.wrapperEl.style.transform = `translateX(${t.minTranslate()}px)`), t.params.centeredSlides && t.params.cssMode && (u -= e[0].swiperSlideOffset); 8334 let m = t.params.cssMode ? -u - t.translate : -u, 8335 h = 0; 8336 const f = -100 * Math.abs(p); 8337 let g = 1, 8338 v = -i.perSlideRotate * p, 8339 w = i.perSlideOffset - .75 * Math.abs(p); 8340 const b = t.virtual && t.params.virtual.enabled ? t.virtual.from + o : o, 8341 y = (b === s || b === s - 1) && p > 0 && p < 1 && (n || t.params.cssMode) && l < r, 8342 E = (b === s || b === s + 1) && p < 0 && p > -1 && (n || t.params.cssMode) && l > r; 8343 if (y || E) { 8344 const e = (1 - Math.abs((Math.abs(p) - .5) / .5)) ** .5; 8345 v += -28 * p * e, g += -.5 * e, w += 96 * e, h = -25 * e * Math.abs(p) + "%" 8346 } 8347 if (m = p < 0 ? `calc(${m}px ${a?"-":"+"} (${w*Math.abs(p)}%))` : p > 0 ? `calc(${m}px ${a?"-":"+"} (-${w*Math.abs(p)}%))` : `${m}px`, !t.isHorizontal()) { 8348 const e = h; 8349 h = m, m = e 8350 } 8351 const x = p < 0 ? "" + (1 + (1 - g) * p) : "" + (1 - (1 - g) * p), 8352 S = `\n translate3d(${m}, ${h}, ${f}px)\n rotateZ(${i.rotate?a?-v:v:0}deg)\n scale(${x})\n `; 8353 if (i.slideShadows) { 8354 let e = d.querySelector(".swiper-slide-shadow"); 8355 e || (e = he("cards", d)), e && (e.style.opacity = Math.min(Math.max((Math.abs(p) - .5) / .5, 0), 1)) 8356 } 8357 d.style.zIndex = -Math.abs(Math.round(c)) + e.length; 8358 ue(0, d).style.transform = S 8359 } 8360 }, 8361 setTransition: e => { 8362 const s = t.slides.map((e => h(e))); 8363 s.forEach((t => { 8364 t.style.transitionDuration = `${e}ms`, t.querySelectorAll(".swiper-slide-shadow").forEach((t => { 8365 t.style.transitionDuration = `${e}ms` 8366 })) 8367 })), me({ 8368 swiper: t, 8369 duration: e, 8370 transformElements: s 8371 }) 8372 }, 8373 perspective: () => !0, 8374 overwriteParams: () => ({ 8375 watchSlidesProgress: !0, 8376 virtualTranslate: !t.params.cssMode 8377 }) 8378 }) 8379 }]; 8380 return ae.use(fe), ae 8381}(); 8382//# sourceMappingURL=swiper-bundle.min.js.map 8383 8384 8385window.FontAwesomeKitConfig = { 8386 "id": 35031896, 8387 "version": "6.5.2", 8388 "token": "ddf8df4c2f", 8389 "method": "css", 8390 "baseUrl": "https://ka-f.fontawesome.com", 8391 "license": "free", 8392 "asyncLoading": { 8393 "enabled": false 8394 }, 8395 "autoA11y": { 8396 "enabled": true 8397 }, 8398 "baseUrlKit": "https://kit.fontawesome.com", 8399 "detectConflictsUntil": null, 8400 "iconUploads": {}, 8401 "minify": { 8402 "enabled": true 8403 }, 8404 "v4FontFaceShim": { 8405 "enabled": true 8406 }, 8407 "v4shim": { 8408 "enabled": true 8409 }, 8410 "v5FontFaceShim": { 8411 "enabled": true 8412 } 8413}; 8414! function(t) { 8415 "function" == typeof define && define.amd ? define("kit-loader", t) : t() 8416}((function() { 8417 "use strict"; 8418 8419 function t(t, e) { 8420 var n = Object.keys(t); 8421 if (Object.getOwnPropertySymbols) { 8422 var r = Object.getOwnPropertySymbols(t); 8423 e && (r = r.filter((function(e) { 8424 return Object.getOwnPropertyDescriptor(t, e).enumerable 8425 }))), n.push.apply(n, r) 8426 } 8427 return n 8428 } 8429 8430 function e(e) { 8431 for (var n = 1; n < arguments.length; n++) { 8432 var o = null != arguments[n] ? arguments[n] : {};
8433 n % 2 ? t(Object(o), !0).forEach((function(t) { 8434 r(e, t, o[t]) 8435 })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(o)) : t(Object(o)).forEach((function(t) { 8436 Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(o, t)) 8437 })) 8438 } 8439 return e 8440 } 8441 8442 function n(t) { 8443 return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) { 8444 return typeof t 8445 } : function(t) { 8446 return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t 8447 })(t) 8448 } 8449 8450 function r(t, e, n) { 8451 return (e = function(t) { 8452 var e = function(t, e) { 8453 if ("object" != typeof t || null === t) return t; 8454 var n = t[Symbol.toPrimitive]; 8455 if (void 0 !== n) { 8456 var r = n.call(t, e || "default"); 8457 if ("object" != typeof r) return r; 8458 throw new TypeError("@@toPrimitive must return a primitive value.") 8459 } 8460 return ("string" === e ? String : Number)(t) 8461 }(t, "string"); 8462 return "symbol" == typeof e ? e : String(e) 8463 }(e)) in t ? Object.defineProperty(t, e, { 8464 value: n, 8465 enumerable: !0, 8466 configurable: !0, 8467 writable: !0 8468 }) : t[e] = n, t 8469 } 8470 8471 function o(t, e) { 8472 return function(t) { 8473 if (Array.isArray(t)) return t 8474 }(t) || function(t, e) { 8475 var n = null == t ? null : "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"]; 8476 if (null != n) { 8477 var r, o, i, a, c = [], 8478 u = !0, 8479 f = !1; 8480 try { 8481 if (i = (n = n.call(t)).next, 0 === e) { 8482 if (Object(n) !== n) return; 8483 u = !1 8484 } else 8485 for (; !(u = (r = i.call(n)).done) && (c.push(r.value), c.length !== e); u = !0); 8486 } catch (t) { 8487 f = !0, o = t 8488 } finally { 8489 try { 8490 if (!u && null != n.return && (a = n.return(), Object(a) !== a)) return 8491 } finally { 8492 if (f) throw o 8493 } 8494 } 8495 return c 8496 } 8497 }(t, e) || function(t, e) { 8498 if (!t) return; 8499 if ("string" == typeof t) return i(t, e); 8500 var n = Object.prototype.toString.call(t).slice(8, -1); 8501 "Object" === n && t.constructor && (n = t.constructor.name); 8502 if ("Map" === n || "Set" === n) return Array.from(t); 8503 if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return i(t, e) 8504 }(t, e) || function() { 8505 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") 8506 }() 8507 } 8508 8509 function i(t, e) { 8510 (null == e || e > t.length) && (e = t.length); 8511 for (var n = 0, r = new Array(e); n < e; n++) r[n] = t[n]; 8512 return r 8513 } 8514 var a = "sharp", 8515 c = ["classic", "duotone", "sharp"], 8516 u = ["fak", "fa-kit", "fakd", "fa-kit-duotone"], 8517 f = ["fa", "fas", "fa-solid", "far", "fa-regular", "fal", "fa-light", "fat", "fa-thin", "fad", "fa-duotone", "fab", "fa-brands", "fass", "fasr", "fasl", "fast"]; 8518 8519 function s(t, e) { 8520 var n = e && e.addOn || "", 8521 r = e && e.baseFilename || t.license + n, 8522 o = e && e.minify ? ".min" : "", 8523 i = e && e.fileSuffix || t.method, 8524 a = e && e.subdir || t.method; 8525 return t.baseUrl + "/releases/" + ("latest" === t.version ? "latest" : "v".concat(t.version)) + "/" + a + "/" + r + o + "." + i 8526 } 8527 8528 function d(t, e) { 8529 var n = e || ["fa"], 8530 r = "." + Array.prototype.join.call(n, ",."), 8531 o = t.querySelectorAll(r); 8532 Array.prototype.forEach.call(o, (function(e) { 8533 var n = e.getAttribute("title"); 8534 e.setAttribute("aria-hidden", "true"); 8535 var r = !e.nextElementSibling || !e.nextElementSibling.classList.contains("sr-only"); 8536 if (n && r) { 8537 var o = t.createElement("span"); 8538 o.innerHTML = n, o.classList.add("sr-only"), e.parentNode.insertBefore(o, e.nextSibling) 8539 } 8540 })) 8541 } 8542 var l, h = function() {}, 8543 m = "undefined" != typeof global && void 0 !== global.process && "function" == typeof global.process.emit, 8544 p = "undefined" == typeof setImmediate ? setTimeout : setImmediate, 8545 v = []; 8546 8547 function b() { 8548 for (var t = 0; t < v.length; t++) v[t][0](v[t][1]); 8549 v = [], l = !1 8550 } 8551 8552 function y(t, e) { 8553 v.push([t, e]), l || (l = !0, p(b, 0)) 8554 } 8555 8556 function g(t) { 8557 var e = t.owner,
8558 n = e._state, 8559 r = e._data, 8560 o = t[n], 8561 i = t.then; 8562 if ("function" == typeof o) { 8563 n = "fulfilled"; 8564 try { 8565 r = o(r) 8566 } catch (t) { 8567 O(i, t) 8568 } 8569 } 8570 w(i, r) || ("fulfilled" === n && A(i, r), "rejected" === n && O(i, r)) 8571 } 8572 8573 function w(t, e) { 8574 var r; 8575 try { 8576 if (t === e) throw new TypeError("A promises callback cannot return that same promise."); 8577 if (e && ("function" == typeof e || "object" === n(e))) { 8578 var o = e.then; 8579 if ("function" == typeof o) return o.call(e, (function(n) { 8580 r || (r = !0, e === n ? S(t, n) : A(t, n)) 8581 }), (function(e) { 8582 r || (r = !0, O(t, e)) 8583 })), !0 8584 } 8585 } catch (e) { 8586 return r || O(t, e), !0 8587 } 8588 return !1 8589 } 8590 8591 function A(t, e) { 8592 t !== e && w(t, e) || S(t, e) 8593 } 8594 8595 function S(t, e) { 8596 "pending" === t._state && (t._state = "settled", t._data = e, y(E, t)) 8597 } 8598 8599 function O(t, e) { 8600 "pending" === t._state && (t._state = "settled", t._data = e, y(P, t)) 8601 } 8602 8603 function j(t) { 8604 t._then = t._then.forEach(g) 8605 } 8606 8607 function E(t) { 8608 t._state = "fulfilled", j(t) 8609 } 8610 8611 function P(t) { 8612 t._state = "rejected", j(t), !t._handled && m && global.process.emit("unhandledRejection", t._data, t) 8613 } 8614 8615 function _(t) { 8616 global.process.emit("rejectionHandled", t) 8617 } 8618 8619 function F(t) { 8620 if ("function" != typeof t) throw new TypeError("Promise resolver " + t + " is not a function"); 8621 if (this instanceof F == !1) throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object c
8621onstructor cannot be called as a function."); 8622 this._then = [], 8623 function(t, e) { 8624 function n(t) { 8625 O(e, t) 8626 } 8627 try { 8628 t((function(t) { 8629 A(e, t) 8630 }), n) 8631 } catch (t) { 8632 n(t) 8633 } 8634 }(t, this) 8635 } 8636 F.prototype = { 8637 constructor: F, 8638 _state: "pending", 8639 _then: null, 8640 _data: void 0, 8641 _handled: !1, 8642 then: function(t, e) { 8643 var n = { 8644 owner: this, 8645 then: new this.constructor(h), 8646 fulfilled: t, 8647 rejected: e 8648 }; 8649 return !e && !t || this._handled || (this._handled = !0, "rejected" === this._state && m && y(_, this)), "fulfilled" === this._state || "rejected" === this._state ? y(g, n) : this._then.push(n), n.then 8650 }, 8651 catch: function(t) { 8652 return this.then(null, t) 8653 } 8654 }, F.all = function(t) { 8655 if (!Array.isArray(t)) throw new TypeError("You must pass an array to Promise.all()."); 8656 return new F((function(e, n) { 8657 var r = [], 8658 o = 0; 8659 8660 function i(t) { 8661 return o++, 8662 function(n) { 8663 r[t] = n, --o || e(r) 8664 } 8665 } 8666 for (var a, c = 0; c < t.length; c++)(a = t[c]) && "function" == typeof a.then ? a.then(i(c), n) : r[c] = a; 8667 o || e(r) 8668 })) 8669 }, F.race = function(t) { 8670 if (!Array.isArray(t)) throw new TypeError("You must pass an array to Promise.race()."); 8671 return new F((function(e, n) { 8672 for (var r, o = 0; o < t.length; o++)(r = t[o]) && "function" == typeof r.then ? r.then(e, n) : e(r) 8673 })) 8674 }, F.resolve = function(t) { 8675 return t && "object" === n(t) && t.constructor === F ? t : new F((function(e) { 8676 e(t) 8677 })) 8678 }, F.reject = function(t) { 8679 return new F((function(e, n) { 8680 n(t) 8681 })) 8682 }; 8683 var C = "function" == typeof Promise ? Promise : F; 8684 8685 function I(t, e) { 8686 var n = e.fetch, 8687 r = e.XMLHttpRequest, 8688 o = e.token, 8689 i = t; 8690 return o && ! function(t) { 8691 return t.indexOf("kit-upload.css") > -1 8692 }(t) && ("URLSearchParams" in window ? (i = new URL(t)).searchParams.set("token", o) : i = i + "?token=" + encodeURIComponent(o)), i = i.toString(), new C((function(t, e) { 8693 if ("function" == typeof n) n(i, { 8694 mode: "cors", 8695 cache: "default" 8696 }).then((function(t) { 8697 if (t.ok) return t.text(); 8698 throw new Error("") 8699 })).then((function(e) { 8700 t(e) 8701 })).catch(e); 8702 else if ("function" == typeof r) { 8703 var o = new r; 8704 o.addEventListener("loadend", (function() { 8705 this.responseText ? t(this.responseText) : e(new Error("")) 8706 })); 8707 ["abort", "error", "timeout"].map((function(t) { 8708 o.addEventListener(t, (function() { 8709 e(new Error("")) 8710 })) 8711 })), o.open("GET", i), o.send() 8712 } else { 8713 e(new Error("")) 8714 } 8715 })) 8716 } 8717 8718 function U(t, e, n) { 8719 var r = t; 8720 return [ 8721 [/(url\("?)\.\.\/\.\.\/\.\./g, function(t, n) { 8722 return "".concat(n).concat(e) 8723 }], 8724 [/(url\("?)\.\.\/webfonts/g, function(t, r) { 8725 return "".concat(r).concat(e, "/releases/v").concat(n, "/webfonts") 8726 }], 8727 [/(url\("?)https:\/\/kit-free([^.])*\.fontawesome\.com/g, function(t, n) { 8728 return "".concat(n).concat(e) 8729 }] 8730 ].forEach((function(t) { 8731 var e = o(t, 2), 8732 n = e[0], 8733 i = e[1]; 8734 r = r.replace(n, i) 8735 })), r 8736 } 8737 8738 function k(t, n) { 8739 var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : function() {}, 8740 o = n.document || o, 8741 i = d.bind(d, o, [].concat(f, u, c.map((function(t) { 8742 return "fa-".concat(t) 8743 })))); 8744 t.autoA11y.enabled && r(i); 8745 var a = t.subsetPath && t.baseUrl + "/" + t.subsetPath, 8746 l = [{ 8747 id: "fa-main", 8748 addOn: void 0, 8749 url: a 8750 }]; 8751 if (t.v4shim && t.v4shim.enabled && l.push({ 8752 id: "fa-v4-shims", 8753 addOn: "-v4-shims" 8754 }), t.v5FontFaceShim && t.v5FontFaceShim.enabled && l.push({ 8755 id: "fa-v5-font-face", 8756 addOn: "-v5-font-face" 8757 }), t.v4FontFaceShim && t.v4FontFaceShim.enabled && l.push({ 8758 id: "fa-v4-font-face", 8759 addOn: "-v4-font-face" 8760 }), !a && t.customIconsCssPath) { 8761 var h = t.customIconsCssPath.indexOf("kit-upload.css") > -1 ? t.baseUrlKit : t.baseUrl, 8762 m = h + "/" + t.customIconsCssPath; 8763 l.push({ 8764 id: "fa-kit-upload", 8765 url: m 8766 }) 8767 } 8768 var p = l.map((function(r) { 8769 return new C((function(o, i) { 8770 var a = r.url || s(t, { 8771 addOn: r.addOn, 8772 minify: t.minify.enabled 8773 }), 8774 c = { 8775 id: r.id 8776 }, 8777 u = t.subset ? c : e(e(e({}, n), c), {}, { 8778 baseUrl: t.baseUrl, 8779 version: t.version, 8780 id: r.id, 8781 contentFilter: function(t, e) { 8782 return U(t, e.baseUrl, e.version) 8783 } 8784 }); 8785 I(a, n).then((function(t) { 8786 o(T(t, u)) 8787 })).catch(i) 8788 })) 8789 })); 8790 return C.all(p) 8791 } 8792 8793 function T(t, e) { 8794 var n = e.contentFilter || function(t, e) { 8795 return t 8796 }, 8797 r = document.createElement("style"), 8798 o = document.createTextNode(n(t, e)); 8799 return r.appendChild(o), r.media = "all", e.id && r.setAttribute("id", e.id), e && e.detectingConflicts && e.detectionIgnoreAttr && r.setAttributeNode(document.createAttribute(e.detectionIgnoreAttr)), r 8800 } 8801 8802 function L(t, n) { 8803 n.autoA11y = t.autoA11y.enabled, "pro" === t.license && (n.autoFetchSvg = !0, n.fetchSvgFrom = t.baseUrl + "/releases/" + ("latest" === t.version ? "latest" : "v".concat(t.version)) + "/svgs", n.fetchUploadedSvgFrom = t.uploadsUrl); 8804 var r = []; 8805 return t.v4shim.enabled && r.push(new C((function(r, o) { 8806 I(s(t, { 8807 addOn: "-v4-shims", 8808 minify: t.minify.enabled 8809 }), n).then((function(t) { 8810 r(x(t, e(e({}, n), {}, { 8811 id: "fa-v4-shims" 8812 }))) 8813 })).catch(o) 8814 }))), r.push(new C((function(r, o) { 8815 I(t.subsetPath && t.baseUrl + "/" + t.subsetPath || s(t, { 8816 minify: t.minify.enabled 8817 }), n).then((function(t) { 8818 var o = x(t, e(e({}, n), {}, { 8819 id: "fa-main" 8820 })); 8821 r(function(t, e) { 8822 var n = e && void 0 !== e.autoFetchSvg ? e.autoFetchSvg : void 0, 8823 r = e && void 0 !== e.autoA11y ? e.autoA11y : void 0; 8824 void 0 !== r && t.setAttribute("data-auto-a11y", r ? "true" : "false"); 8825 n && (t.setAttributeNode(document.createAttribute("data-auto-fetch-svg")), t.setAttribute("data-fetch-svg-from", e.fetchSvgFrom), t.setAttribute("data-fetch-uploaded-svg-from", e.fetchUploadedSvgFrom)); 8826 return t 8827 }(o, n)) 8828 })).catch(o) 8829 }))), C.all(r) 8830 } 8831 8832 function x(t, e) { 8833 var n = document.createElement("SCRIPT"), 8834 r = document.createTextNode(t); 8835 return n.appendChild(r), n.referrerPolicy = "strict-origin", e.id && n.setAttribute("id", e.id), e && e.detectingConflicts && e.detectionIgnoreAttr && n.setAttributeNode(document.createAttribute(e.detectionIgnoreAttr)), n 8836 } 8837 8838 function M(t) { 8839 var e, n = [], 8840 r = document, 8841 o = r.documentElement.doScroll, 8842 i = (o ? /^loaded|^c/ : /^loaded|^i|^c/).test(r.readyState); 8843 i || r.addEventListener("DOMContentLoaded", e = function() { 8844 for (r.removeEventListener("DOMContentLoaded", e), i = 1; e = n.shift();) e() 8845 }), i ? setTimeout(t, 0) : n.push(t) 8846 } 8847 8848 function N(t) { 8849 "undefined" != typeof MutationObserver && new MutationObserver(t).observe(document, { 8850 childList: !0, 8851 subtree: !0 8852 }) 8853 } 8854 try { 8855 if (window.FontAwesomeKitConfig) { 8856 var D = window.FontAwesomeKitConfig, 8857 R = { 8858 detectingConflicts: D.detectConflictsUntil && new Date <= new Date(D.detectConflictsUntil), 8859 detectionIgnoreAttr: "data-fa-detection-ignore", 8860 fetch: window.fetch, 8861 token: D.token, 8862 XMLHttpRequest: window.XMLHttpRequest, 8863 document: document 8864 }, 8865 H = document.currentScript, 8866 K = H ? H.parentElement : document.head;
8867 (function() { 8868 var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, 8869 e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; 8870 return "js" === t.method ? L(t, e) : "css" === t.method ? k(t, e, (function(t) { 8871 M(t), N(t) 8872 })) : void 0 8873 })(D, R).then((function(t) { 8874 t.map((function(t) { 8875 try { 8876 K.insertBefore(t, H ? H.nextSibling : null) 8877 } catch (e) { 8878 K.appendChild(t) 8879 } 8880 })), R.detectingConflicts && H && M((function() { 8881 H.setAttributeNode(document.createAttribute(R.detectionIgnoreAttr)); 8882 var t = function(t, e) { 8883 var n = document.createElement("script"); 8884 return e && e.detectionIgnoreAttr && n.setAttributeNode(document.createAttribute(e.detectionIgnoreAttr)), n.src = s(t, { 8885 baseFilename: "conflict-detection", 8886 fileSuffix: "js", 8887 subdir: "js", 8888 minify: t.minify.enabled 8889 }), n 8890 }(D, R); 8891 document.body.appendChild(t) 8892 })) 8893 })).catch((function(t) { 8894 console.error("".concat("Font Awesome Kit:", " ").concat(t)) 8895 })) 8896 } 8897 } catch (a) { 8898 console.error("".concat("Font Awesome Kit:", " ").concat(a)) 8899 } 8900})); 8901 8902 8903/*! WOW - v1.1.2 - 2015-04-07 */ 8904(function() { 8905 var a, b, c, d, e, f = function(a, b) { 8906 return function() { 8907 return a.apply(b, arguments) 8908 } 8909 }, 8910 g = [].indexOf || function(a) { 8911 for (var b = 0, c = this.length; c > b; b++) 8912 if (b in this && this[b] === a) return b; 8913 return -1 8914 }; 8915 b = function() { 8916 function a() {} 8917 return a.prototype.extend = function(a, b) { 8918 var c, d; 8919 for (c in b) d = b[c], null == a[c] && (a[c] = d); 8920 return a 8921 }, a.prototype.isMobile = function(a) { 8922 return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a) 8923 }, a.prototype.createEvent = function(a, b, c, d) { 8924 var e; 8925 return null == b && (b = !1), null == c && (c = !1), null == d && (d = null), null != document.createEvent ? (e = document.createEvent("CustomEvent"), e.initCustomEvent(a, b, c, d)) : null != document.createEventObject ? (e = document.createEventObject(), e.eventType = a) : e.eventName = a, e 8926 }, a.prototype.emitEvent = function(a, b) { 8927 return null != a.dispatchEvent ? a.dispatchEvent(b) : b in (null != a) ? a[b]() : "on" + b in (null != a) ? a["on" + b]() : void 0 8928 }, a.prototype.addEvent = function(a, b, c) { 8929 return null != a.addEventListener ? a.addEventListener(b, c, !1) : null != a.attachEvent ? a.attachEvent("on" + b, c) : a[b] = c 8930 }, a.prototype.removeEvent = function(a, b, c) { 8931 return null != a.removeEventListener ? a.removeEventListener(b, c, !1) : null != a.detachEvent ? a.detachEvent("on" + b, c) : delete a[b] 8932 }, a.prototype.innerHeight = function() {
vendor: 7,395 bytes, lines 8933-9045
8933 return "innerHeight" in window ? window.innerHeight : document.documentElement.clientHeight 8934 }, a 8935 }(), c = this.WeakMap || this.MozWeakMap || (c = function() { 8936 function a() { 8937 this.keys = [], this.values = [] 8938 } 8939 return a.prototype.get = function(a) { 8940 var b, c, d, e, f; 8941 for (f = this.keys, b = d = 0, e = f.length; e > d; b = ++d) 8942 if (c = f[b], c === a) return this.values[b] 8943 }, a.prototype.set = function(a, b) { 8944 var c, d, e, f, g; 8945 for (g = this.keys, c = e = 0, f = g.length; f > e; c = ++e) 8946 if (d = g[c], d === a) return void(this.values[c] = b); 8947 return this.keys.push(a), this.values.push(b) 8948 }, a 8949 }()), a = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (a = function() { 8950 function a() { 8951 "undefined" != typeof console && null !== console && console.warn("MutationObserver is not supported by your browser."), "undefined" != typeof console && null !== console && console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.") 8952 } 8953 return a.notSupported = !0, a.prototype.observe = function() {}, a 8954 }()), d = this.getComputedStyle || function(a) { 8955 return this.getPropertyValue = function(b) { 8956 var c; 8957 return "float" === b && (b = "styleFloat"), e.test(b) && b.replace(e, function(a, b) { 8958 return b.toUpperCase() 8959 }), (null != (c = a.currentStyle) ? c[b] : void 0) || null 8960 }, this 8961 }, e = /(\-([a-z]){1})/g, this.WOW = function() { 8962 function e(a) { 8963 null == a && (a = {}), this.scrollCallback = f(this.scrollCallback, this), this.scrollHandler = f(this.scrollHandler, this), this.resetAnimation = f(this.resetAnimation, this), this.start = f(this.start, this), this.scrolled = !0, this.config = this.util().extend(a, this.defaults), this.animationNameCache = new c, this.wowEvent = this.util().createEvent(this.config.boxClass) 8964 } 8965 return e.prototype.defaults = { 8966 boxClass: "wow", 8967 animateClass: "animated", 8968 offset: 0, 8969 mobile: !0, 8970 live: !0, 8971 callback: null 8972 }, e.prototype.init = function() { 8973 var a; 8974 return this.element = window.document.documentElement, "interactive" === (a = document.readyState) || "complete" === a ? this.start() : this.util().addEvent(document, "DOMContentLoaded", this.start), this.finished = [] 8975 }, e.prototype.start = function() { 8976 var b, c, d, e; 8977 if (this.stopped = !1, this.boxes = function() { 8978 var a, c, d, e; 8979 for (d = this.element.querySelectorAll("." + this.config.boxClass), e = [], a = 0, c = d.length; c > a; a++) b = d[a], e.push(b); 8980 return e 8981 }.call(this), this.all = function() { 8982 var a, c, d, e; 8983 for (d = this.boxes, e = [], a = 0, c = d.length; c > a; a++) b = d[a], e.push(b); 8984 return e 8985 }.call(this), this.boxes.length) 8986 if (this.disabled()) this.resetStyle(); 8987 else 8988 for (e = this.boxes, c = 0, d = e.length; d > c; c++) b = e[c], this.applyStyle(b, !0); 8989 return this.disabled() || (this.util().addEvent(window, "scroll", this.scrollHandler), this.util().addEvent(window, "resize", this.scrollHandler), this.interval = setInterval(this.scrollCallback, 50)), this.config.live ? new a(function(a) { 8990 return function(b) { 8991 var c, d, e, f, g; 8992 for (g = [], c = 0, d = b.length; d > c; c++) f = b[c], g.push(function() { 8993 var a, b, c, d; 8994 for (c = f.addedNodes || [], d = [], a = 0, b = c.length; b > a; a++) e = c[a], d.push(this.doSync(e)); 8995 return d 8996 }.call(a)); 8997 return g 8998 } 8999 }(this)).observe(document.body, { 9000 childList: !0, 9001 subtree: !0 9002 }) : void 0 9003 }, e.prototype.stop = function() { 9004 return this.stopped = !0, this.util().removeEvent(window, "scroll", this.scrollHandler), this.util().removeEvent(window, "resize", this.scrollHandler), null != this.interval ? clearInterval(this.interval) : void 0 9005 }, e.prototype.sync = function() { 9006 return a.notSupported ? this.doSync(this.element) : void 0 9007 }, e.prototype.doSync = function(a) { 9008 var b, c, d, e, f; 9009 if (null == a && (a = this.element), 1 === a.nodeType) { 9010 for (a = a.parentNode || a, e = a.querySelectorAll("." + this.config.boxClass), f = [], c = 0, d = e.length; d > c; c++) b = e[c], g.call(this.all, b) < 0 ? (this.boxes.push(b), this.all.push(b), this.stopped || this.disabled() ? this.resetStyle() : this.applyStyle(b, !0), f.push(this.scrolled = !0)) : f.push(void 0); 9011 return f 9012 } 9013 }, e.prototype.show = function(a) { 9014 return this.applyStyle(a), a.className = a.className + " " + this.config.animateClass, null != this.config.callback && this.config.callback(a), this.util().emitEvent(a, this.wowEvent), this.util().addEvent(a, "animationend", this.resetAnimation), this.util().addEvent(a, "oanimationend", this.resetAnimation), this.util().addEvent(a, "webkitAnimationEnd", this.resetAnimation), this.util().addEvent(a, "MSAnimationEnd", this.resetAnimation), a 9015 }, e.prototype.applyStyle = function(a, b) { 9016 var c, d, e; 9017 return d = a.getAttribute("data-wow-duration"), c = a.getAttribute("data-wow-delay"), e = a.getAttribute("data-wow-iteration"), this.animate(function(f) { 9018 return function() { 9019 return f.customStyle(a, b, d, c, e) 9020 } 9021 }(this)) 9022 }, e.prototype.animate = function() { 9023 return "requestAnimationFrame" in window ? function(a) { 9024 return window.requestAnimationFrame(a) 9025 } : function(a) { 9026 return a() 9027 } 9028 }(), e.prototype.resetStyle = function() { 9029 var a, b, c, d, e; 9030 for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++) a = d[b], e.push(a.style.visibility = "visible"); 9031 return e 9032 }, e.prototype.resetAnimation = function(a) { 9033 var b; 9034 return a.type.toLowerCase().indexOf("animationend") >= 0 ? (b = a.target || a.srcElement, b.className = b.className.replace(this.config.animateClass, "").trim()) : void 0 9035 }, e.prototype.customStyle = function(a, b, c, d, e) { 9036 return b && this.cacheAnimationName(a), a.style.visibility = b ? "hidden" : "visible", c && this.vendorSet(a.style, { 9037 animationDuration: c 9038 }), d && this.vendorSet(a.style, { 9039 animationDelay: d 9040 }), e && this.vendorSet(a.style, { 9041 animationIterationCount: e 9042 }), this.vendorSet(a.style, { 9043 animationName: b ? "none" : this.cachedAnimationName(a) 9044 }), a 9045 }
vendor: 2,667 bytes, lines 9045-9092
9045, e.prototype.vendors = ["moz", "webkit"], e.prototype.vendorSet = function(a, b) { 9046 var c, d, e, f; 9047 d = []; 9048 for (c in b) e = b[c], a["" + c] = e, d.push(function() { 9049 var b, d, g, h; 9050 for (g = this.vendors, h = [], b = 0, d = g.length; d > b; b++) f = g[b], h.push(a["" + f + c.charAt(0).toUpperCase() + c.substr(1)] = e); 9051 return h 9052 }.call(this)); 9053 return d 9054 }, e.prototype.vendorCSS = function(a, b) { 9055 var c, e, f, g, h, i; 9056 for (h = d(a), g = h.getPropertyCSSValue(b), f = this.vendors, c = 0, e = f.length; e > c; c++) i = f[c], g = g || h.getPropertyCSSValue("-" + i + "-" + b); 9057 return g 9058 }, e.prototype.animationName = function(a) { 9059 var b; 9060 try { 9061 b = this.vendorCSS(a, "animation-name").cssText 9062 } catch (c) { 9063 b = d(a).getPropertyValue("animation-name") 9064 } 9065 return "none" === b ? "" : b 9066 }, e.prototype.cacheAnimationName = function(a) { 9067 return this.animationNameCache.set(a, this.animationName(a)) 9068 }, e.prototype.cachedAnimationName = function(a) { 9069 return this.animationNameCache.get(a) 9070 }, e.prototype.scrollHandler = function() { 9071 return this.scrolled = !0 9072 }, e.prototype.scrollCallback = function() { 9073 var a; 9074 return !this.scrolled || (this.scrolled = !1, this.boxes = function() { 9075 var b, c, d, e; 9076 for (d = this.boxes, e = [], b = 0, c = d.length; c > b; b++) a = d[b], a && (this.isVisible(a) ? this.show(a) : e.push(a)); 9077 return e 9078 }.call(this), this.boxes.length || this.config.live) ? void 0 : this.stop() 9079 }, e.prototype.offsetTop = function(a) { 9080 for (var b; void 0 === a.offsetTop;) a = a.parentNode; 9081 for (b = a.offsetTop; a = a.offsetParent;) b += a.offsetTop; 9082 return b 9083 }, e.prototype.isVisible = function(a) { 9084 var b, c, d, e, f; 9085 return c = a.getAttribute("data-wow-offset") || this.config.offset, f = window.pageYOffset, e = f + Math.min(this.element.clientHeight, this.util().innerHeight()) - c, d = this.offsetTop(a), b = d + a.clientHeight, e >= d && b >= f 9086 }, e.prototype.util = function() { 9087 return null != this._util ? this._util : this._util = new b 9088 }, e.prototype.disabled = function() { 9089 return !this.config.mobile && this.util().isMobile(navigator.userAgent) 9090 }, e 9091 }() 9092}).call(this);
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.