1/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ 2/*! 3 * jQuery Cookie Plugin v1.4.0 4 * https://github.com/carhartl/jquery-cookie 5 * 6 * Copyright 2013 Klaus Hartl 7 * Released under the MIT license 8 */ 9(function(n) { 10 typeof define == "function" && define.amd ? define(["jquery"], n) : n(jQuery) 11})(function(n) { 12 function i(n) { 13 return t.raw ? n : encodeURIComponent(n) 14 } 15 16 function f(n) { 17 return t.raw ? n : decodeURIComponent(n) 18 } 19 20 function e(n) { 21 return i(t.json ? JSON.stringify(n) : String(n)) 22 } 23 24 function o(n) { 25 n.indexOf('"') === 0 && (n = n.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\")); 26 try { 27 return n = decodeURIComponent(n.replace(u, " ")), t.json ? JSON.parse(n) : n 28 } catch (i) {} 29 } 30 31 function r(i, r) { 32 var u = t.raw ? i : o(i); 33 return n.isFunction(r) ? r(u) : u 34 } 35 var u = /\+/g, 36 t = n.cookie = function(u, o, s) { 37 var y, a, h, v, c, p; 38 if (o !== undefined && !n.isFunction(o)) return s = n.extend({}, t.defaults, s), typeof s.expires == "number" && (y = s.expires, a = s.expires = new Date, a.setTime(+a + y * 864e5)), document.cookie = [i(u), "=", e(o), s.expires ? "; expires=" + s.expires.toUTCString() : "", s.path ? "; path=" + s.path : "", s.domain ? "; domain=" + s.domain : "", s.secure ? "; secure" : ""].join(""); 39 for (h = u ? undefined : {}, v = document.cookie ? document.cookie.split("; ") : [], c = 0, p = v.length; c < p; c++) { 40 var w = v[c].split("="), 41 b = f(w.shift()), 42 l = w.join("="); 43 if (u && u === b) { 44 h = r(l, o); 45 break 46 } 47 u || (l = r(l)) === undefined || (h[b] = l) 48 } 49 return h 50 }; 51 t.defaults = {}; 52 n.removeCookie = function(t, i) { 53 return n.cookie(t) === undefined ? !1 : (n.cookie(t, "", n.extend({}, i, { 54 expires: -1 55 })), !n.cookie(t)) 56 } 57}); 58! function(n, t) { 59 "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : n.Swiper = t() 60}(this, function() { 61 "use strict"; 62 63 function t(n, t) { 64 var s = [], 65 r = 0, 66 h, c, e, o; 67 if (n && !t && n instanceof f) return n; 68 if (n) 69 if ("string" == typeof n) 70 if (e = n.trim(), 0 <= e.indexOf("<") && 0 <= e.indexOf(">")) 71 for (o = "div", 0 === e.indexOf("<li") && (o = "ul"), 0 === e.indexOf("<tr") && (o = "tbody"), 0 !== e.indexOf("<td") && 0 !== e.indexOf("<th") || (o = "tr"), 0 === e.indexOf("<tbody") && (o = "table"), 0 === e.indexOf("<option") && (o = "select"), (c = u.createElement(o)).innerHTML = e, r = 0; r < c.childNodes.length; r += 1) s.push(c.childNodes[r]); 72 else 73 for (h = t || "#" !== n[0] || n.match(/[ .<>:~]/) ? (t || u).querySelectorAll(n.trim()) : [u.getElementById(n.trim().split("#")[1])], r = 0; r < h.length; r += 1) h[r] && s.push(h[r]); 74 else if (n.nodeType || n === i || n === u) s.push(n); 75 else if (0 < n.length && n[0].nodeType) 76 for (r = 0; r < n.length; r += 1) s.push(n[r]); 77 return new f(s) 78 } 79 80 function rt(n) { 81 for (var i = [], t = 0; t < n.length; t += 1) - 1 === i.indexOf(n[t]) && i.push(n[t]); 82 return i 83 } 84 85 function at() { 86 var n = this, 87 t = n.params, 88 i = n.el, 89 r; 90 if (!i || 0 !== i.offsetWidth) { 91 t.breakpoints && n.setBreakpoint(); 92 var u = n.allowSlideNext, 93 f = n.allowSlidePrev, 94 e = n.snapGrid; 95 (n.allowSlideNext = !0, n.allowSlidePrev = !0, n.updateSize(), n.updateSlides(), t.freeMode) ? (r = Math.min(Math.max(n.translate, n.maxTranslate()), n.minTranslate()), n.setTranslate(r), n.updateActiveIndex(), n.updateSlidesClasses(), t.autoHeight && n.updateAutoHeight()) : (n.updateSlidesClasses(), ("auto" === t.slidesPerView || 1 < t.slidesPerView) && n.isEnd && !n.params.centeredSlides ? n.slideTo(n.slides.length - 1, 0, !1, !0) : n.slideTo(n.activeIndex, 0, !1, !0)); 96 n.allowSlidePrev = f; 97 n.allowSlideNext = u; 98 n.params.watchOverflow && e !== n.snapGrid && n.checkOverflow() 99 } 100 } 101 var u = "undefined" == typeof document ? { 102 body: {}, 103 addEventListener: function() {}, 104 removeEventListener: function() {}, 105 activeElement: { 106 blur: function() {}, 107 nodeName: "" 108 }, 109 querySelector: function() { 110 return null 111 }, 112 querySelectorAll: function() { 113 return [] 114 }, 115 getElementById: function() { 116 return null 117 }, 118 createEvent: function() { 119 return { 120 initEvent: function() {} 121 } 122 }, 123 createElement: function() { 124 return { 125 children: [], 126 childNodes: [], 127 style: {}, 128 setAttribute: function() {}, 129 getElementsByTagName: function() { 130 return [] 131 } 132 } 133 }, 134 location: { 135 hash: "" 136 } 137 } : document, 138 i = "undefined" == typeof window ? { 139 document: u, 140 navigator: { 141 userAgent: "" 142 }, 143 location: {}, 144 history: {}, 145 CustomEvent: function() { 146 return this 147 }, 148 addEventListener: function() {}, 149 removeEventListener: function() {}, 150 getComputedStyle: function() { 151 return { 152 getPropertyValue: function() { 153 return "" 154 } 155 } 156 }, 157 Image: function() {}, 158 Date: function() {}, 159 screen: {}, 160 setTimeout: function() {}, 161 clearTimeout: function() {} 162 } : window, 163 f = function(n) { 164 for (var t = 0; t < n.length; t += 1) this[t] = n[t]; 165 return this.length = n.length, this 166 }, 167 ut; 168 t.fn = f.prototype; 169 t.Class = f; 170 t.Dom7 = f; 171 ut = { 172 addClass: function(n) { 173 var r, i, t; 174 if (void 0 === n) return this; 175 for (r = n.split(" "), i = 0; i < r.length; i += 1) 176 for (t = 0; t < this.length; t += 1) void 0 !== this[t] && void 0 !== this[t].classList && this[t].classList.add(r[i]); 177 return this 178 }, 179 removeClass: function(n) { 180 for (var t, r = n.split(" "), i = 0; i < r.length; i += 1) 181 for (t = 0; t < this.length; t += 1) void 0 !== this[t] && void 0 !== this[t].classList && this[t].classList.remove(r[i]); 182 return this 183 }, 184 hasClass: function(n) { 185 return !!this[0] && this[0].classList.contains(n) 186 }, 187 toggleClass: function(n) { 188 for (var t, r = n.split(" "), i = 0; i < r.length; i += 1) 189 for (t = 0; t < this.length; t += 1) void 0 !== this[t] && void 0 !== this[t].classList && this[t].classList.toggle(r[i]); 190 return this 191 }, 192 attr: function(n, t) { 193 var u = arguments, 194 i, r; 195 if (1 === arguments.length && "string" == typeof n) return this[0] ? this[0].getAttribute(n) : void 0; 196 for (i = 0; i < this.length; i += 1) 197 if (2 === u.length) this[i].setAttribute(n, t); 198 else 199 for (r in n) this[i][r] = n[r], this[i].setAttribute(r, n[r]); 200 return this 201 }, 202 removeAttr: function(n) { 203 for (var t = 0; t < this.length; t += 1) this[t].removeAttribute(n); 204 return this 205 }, 206 data: function(n, t) { 207 var i, r, u; 208 if (void 0 !== t) { 209 for (r = 0; r < this.length;
209 r += 1)(i = this[r]).dom7ElementDataStorage || (i.dom7ElementDataStorage = {}), i.dom7ElementDataStorage[n] = t; 210 return this 211 } 212 if (i = this[0]) return i.dom7ElementDataStorage && n in i.dom7ElementDataStorage ? i.dom7ElementDataStorage[n] : (u = i.getAttribute("data-" + n), u || void 0) 213 }, 214 transform: function(n) { 215 for (var i, t = 0; t < this.length; t += 1) i = this[t].style, i.webkitTransform = n, i.transform = n; 216 return this 217 }, 218 transition: function(n) { 219 var t, i; 220 for ("string" != typeof n && (n += "ms"), t = 0; t < this.length; t += 1) i = this[t].style, i.webkitTransitionDuration = n, i.transitionDuration = n; 221 return this 222 }, 223 on: function() { 224 function y(n) { 225 var f = n.target, 226 i, e, r; 227 if (f) 228 if (i = n.target.dom7EventData || [], i.indexOf(n) < 0 && i.unshift(n), t(f).is(c)) u.apply(f, i); 229 else 230 for (e = t(f).parents(), r = 0; r < e.length; r += 1) t(e[r]).is(c) && u.apply(e[r], i) 231 } 232 233 function p(n) { 234 var t = n && n.target && n.target.dom7EventData || []; 235 t.indexOf(n) < 0 && t.unshift(n); 236 u.apply(this, t) 237 } 238 for (var a, r, e, l, n, o, s, i = [], h = arguments.length; h--;) i[h] = arguments[h]; 239 var v = i[0], 240 c = i[1], 241 u = i[2], 242 f = i[3]; 243 for ("function" == typeof i[1] && (v = (a = i)[0], u = a[1], f = a[2], c = void 0), f || (f = !1), e = v.split(" "), l = 0; l < this.length; l += 1) 244 if (n = this[l], c) 245 for (r = 0; r < e.length; r += 1) o = e[r], n.dom7LiveListeners || (n.dom7LiveListeners = {}), n.dom7LiveListeners[o] || (n.dom7LiveListeners[o] = []), n.dom7LiveListeners[o].push({ 246 listener: u, 247 proxyListener: y 248 }), n.addEventListener(o, y, f); 249 else 250 for (r = 0; r < e.length; r += 1) s = e[r], n.dom7Listeners || (n.dom7Listeners = {}), n.dom7Listeners[s] || (n.dom7Listeners[s] = []), n.dom7Listeners[s].push({ 251 listener: u, 252 proxyListener: p 253 }), n.addEventListener(s, p, f); 254 return this 255 }, 256 off: function() { 257 for (var l, v, s, f, h, i, n, r, c, t = [], e = arguments.length; e--;) t[e] = arguments[e]; 258 var y = t[0], 259 a = t[1], 260 o = t[2], 261 u = t[3]; 262 for ("function" == typeof t[1] && (y = (l = t)[0], o = l[1], u = l[2], a = void 0), u || (u = !1), v = y.split(" "), s = 0; s < v.length; s += 1) 263 for (f = v[s], h = 0; h < this.length; h += 1) 264 if (i = this[h], n = void 0, !a && i.dom7Listeners ? n = i.dom7Listeners[f] : a && i.dom7LiveListeners && (n = i.dom7LiveListeners[f]), n && n.length) 265 for (r = n.length - 1; 0 <= r; r -= 1) c = n[r], o && c.listener === o ? (i.removeEventListener(f, c.proxyListener, u), n.splice(r, 1)) : o || (i.removeEventListener(f, c.proxyListener, u), n.splice(r, 1)); 266 return this 267 }, 268 trigger: function() { 269 for (var s, e, t, r, n = [], f = arguments.length; f--;) n[f] = arguments[f]; 270 for (var h = n[0].split(" "), c = n[1], o = 0; o < h.length; o += 1) 271 for (s = h[o], e = 0; e < this.length; e += 1) { 272 t = this[e]; 273 r = void 0; 274 try { 275 r = new i.CustomEvent(s, { 276 detail: c, 277 bubbles: !0, 278 cancelable: !0 279 }) 280 } catch (n) { 281 (r = u.createEvent("Event")).initEvent(s, !0, !0); 282 r.detail = c 283 } 284 t.dom7EventData = n.filter(function(n, t) { 285 return 0 < t 286 }); 287 t.dispatchEvent(r); 288 t.dom7EventData = []; 289 delete t.dom7EventData 290 } 291 return this 292 }, 293 transitionEnd: function(n) { 294 function u(f) { 295 if (f.target === this) 296 for (n.call(this, f), t = 0; t < i.length; t += 1) r.off(i[t], u) 297 } 298 var t, i = ["webkitTransitionEnd", "transitionend"], 299 r = this; 300 if (n) 301 for (t = 0; t < i.length; t += 1) r.on(i[t], u); 302 return this 303 }, 304 outerWidth: function(n) { 305 if (0 < this.length) { 306 if (n) { 307 var t = this.styles(); 308 return this[0].offsetWidth + parseFloat(t.getPropertyValue("margin-right")) + parseFloat(t.getPropertyValue("margin-left")) 309 } 310 return this[0].offsetWidth 311 } 312 return null 313 }, 314 outerHeight: function(n) { 315 if (0 < this.length) { 316 if (n) { 317 var t = this.styles(); 318 return this[0].offsetHeight + parseFloat(t.getPropertyValue("margin-top")) + parseFloat(t.getPropertyValue("margin-bottom")) 319 } 320 return this[0].offsetHeight 321 } 322 return null 323 }, 324 offset: function() { 325 if (0 < this.length) { 326 var n = this[0], 327 t = n.getBoundingClientRect(), 328 r = u.body, 329 f = n.clientTop || r.clientTop || 0, 330 e = n.clientLeft || r.clientLeft || 0, 331 o = n === i ? i.scrollY : n.scrollTop, 332 s = n === i ? i.scrollX : n.scrollLeft; 333 return { 334 top: t.top + o - f, 335 left: t.left + s - e 336 } 337 } 338 return null 339 }, 340 css: function(n, t) { 341 var r, u; 342 if (1 === arguments.length) { 343 if ("string" != typeof n) { 344 for (r = 0; r < this.length; r += 1) 345 for (u in n) this[r].style[u] = n[u]; 346 return this 347 } 348 if (this[0]) return i.getComputedStyle(this[0], null).getPropertyValue(n) 349 } 350 if (2 === arguments.length && "string" == typeof n) { 351 for (r = 0; r < this.length; r += 1) this[r].style[n] = t; 352 return this 353 } 354 return this 355 }, 356 each: function(n) { 357 if (!n) return this; 358 for (var t = 0; t < this.length; t += 1) 359 if (!1 === n.call(this[t], t, this[t])) return this; 360 return this 361 }, 362 html: function(n) { 363 if (void 0 === n) return this[0] ? this[0].innerHTML : void 0; 364 for (var t = 0; t < this.length; t += 1) this[t].innerHTML = n; 365 return this 366 }, 367 text: function(n) { 368 if (void 0 === n) return this[0] ? this[0].textContent.trim() : null; 369 for (var t = 0; t < this.length; t += 1) this[t].textContent = n; 370 return this 371 }, 372 is: function(n) { 373 var o, e, r = this[0]; 374 if (!r || void 0 === n) return !1; 375 if ("string" == typeof n) { 376 if (r.matches) return r.matches(n); 377 if (r.webkitMatchesSelector) return r.webkitMatchesSelector(n); 378 if (r.msMatchesSelector) return r.msMatchesSelector(n); 379 for (o = t(n), e = 0; e < o.length; e += 1) 380 if (o[e] === r) return !0; 381 return !1 382 } 383 if (n === u) return r === u; 384 if (n === i) return r === i; 385 if (n.nodeType || n instanceof f) { 386 for (o = n.nodeType ? [n] : n, e = 0; e < o.length; e += 1) 387 if (o[e] === r) return !0; 388 return !1 389 } 390 return !1 391 }, 392 index: function() { 393 var t, n = this[0]; 394 if (n) { 395 for (t = 0; null !== (n = n.previousSibling);) 1 === n.nodeType && (t += 1); 396 return t 397 } 398 }, 399 eq: function(n) { 400 if (void 0 === n) return this; 401 var t, i = this.length; 402 return new f(i - 1 < n ? [] : n < 0 ? (t = i + n) < 0 ? [] : [this[t]] : [this[n]]) 403 }, 404 append: function() { 405 for (var n, e, t, o, s, i = [], r = arguments.length; r--;) i[r] = arguments[r]; 406 for (e = 0; e < i.length; e += 1) 407 for (n = i[e], t = 0; t < this.length; t += 1) 408 if ("string" == typeof n) 409 for (o = u.createElement("div"), o.innerHTML = n; o.firstChild;) this[t].appendChild(o.firstChild); 410 else if (n instanceof f) 411 for (s = 0; s < n.length; s += 1) this[t].appendChild(n[s]); 412 else this[t].appendChild(n); 413 return this 414 }, 415 prepend: function(n) { 416 for (var i, r, t = 0; t < this.length; t += 1) 417 if ("string" == typeof n) 418 for (r = u.createElement("div"), r.innerHTML = n, i = r.childNodes.length - 1; 0 <= i; i -= 1) this[t].insertBefore(r.childNodes[i], this[t].childNodes[0]); 419 else if (n instanceof f) 420 for (i = 0; i < n.length; i += 1) this[t].insertBefore(n[i], this[t].childNodes[0]); 421 else this[t].insertBefore(n, this[t].childNodes[0]); 422 return this 423 }, 424 next: function(n) { 425 return 0 < this.length ? n ? this[0].nextElementSibling && t(this[0].nextElementSibling).is(n) ? new f([this[0].nextElementSibling]) : new f([]) : this[0].nextElementSibling ? new f([this[0].nextElementSibling]) : new f([]) : new f([]) 426 }, 427 nextAll: function(n) { 428 var u = [], 429 r = this[0], 430 i; 431 if (!r) return new f([]); 432 for (; r.nextElementSibling;) i = r.nextElementSibling, n ? t(i).is(n) && u.push(i) : u.push(i), r = i; 433 return new f(u) 434 }, 435 prev: function(n) { 436 if (0 < this.length) { 437 var i = this[0]; 438 return n ? i.previousElementSibling && t(i.previousElementSibling).is(n) ? new f([i.previousElementSibling]) : new f([]) : i.previousElementSibling ? new f([i.previousElementSibling]) : new f([]) 439 } 440 return new f([]) 441 }, 442 prevAll: function(n) { 443 var u = [], 444 r = this[0], 445 i; 446 if (!r) return new f([]); 447 for (; r.previousElementSibling;) i = r.previousElementSibling, n ? t(i).is(n) && u.push(i) : u.push(i), r = i; 448 return new f(u) 449 }, 450 parent: function(n) { 451 for (var r = [], i = 0; i < this.length; i += 1) null !== this[i].parentNode && (n ? t(this[i].parentNode).is(n) && r.push(this[i].parentNode) : r.push(this[i].parentNode)); 452 return t(rt(r)) 453 }, 454 parents: function(n) { 455 for (var i, r = [], u = 0; u < this.length; u += 1) 456 for (i = this[u].parentNode; i;) n ? t(i).is(n) && r.push(i) : r.push(i), i = i.parentNode; 457 return t(rt(r)) 458 }, 459 closest: function(n) { 460 var t = this; 461 return void 0 === n ? new f([]) : (t.is(n) || (t = t.parents(n).eq(0)), t) 462 }, 463 find: function(n) { 464 for (var u, i, r = [], t = 0; t < this.length; t += 1) 465 for (u = this[t].querySelectorAll(n), i = 0; i < u.length; i += 1) r.push(u[i]); 466 return new f(r) 467 }, 468 children: function(n) { 469 for (var r, i, u = [], e = 0; e < this.length; e += 1) 470 for (r = this[e].childNodes, i = 0; i < r.length; i += 1) n ? 1 === r[i].nodeType && t(r[i]).is(n) && u.push(r[i]) : 1 === r[i].nodeType && u.push(r[i]); 471 return new f(rt(u)) 472 }, 473 remove: function() { 474 for (var n = 0; n < this.length; n += 1) this[n].parentNode && this[n].parentNode.removeChild(this[n]); 475 return this 476 }, 477 add: function() { 478 for (var r, u, f, n = [], i = arguments.length; i--;) n[i] = arguments[i]; 479 for (r = 0; r < n.length; r += 1) 480 for (f = t(n[r]), u = 0; u < f.length; u += 1) this[this.length] = f[u], this.length += 1; 481 return this 482 }, 483 styles: function() { 484 return this[0] ? i.getComputedStyle(this[0], null) : {} 485 } 486 };
487 Object.keys(ut).forEach(function(n) { 488 t.fn[n] = ut[n] 489 }); 490 var a, w, b, n = { 491 deleteProps: function(n) { 492 var t = n; 493 Object.keys(t).forEach(function(n) { 494 try { 495 t[n] = null 496 } catch (n) {} 497 try { 498 delete t[n] 499 } catch (n) {} 500 }) 501 }, 502 nextTick: function(n, t) { 503 return void 0 === t && (t = 0), setTimeout(n, t) 504 }, 505 now: function() { 506 return Date.now() 507 }, 508 getTranslate: function(n, t) { 509 var f, u, e, r; 510 return void 0 === t && (t = "x"), r = i.getComputedStyle(n, null), i.WebKitCSSMatrix ? (6 < (u = r.transform || r.webkitTransform).split(",").length && (u = u.split(", ").map(function(n) { 511 return n.replace(",", ".") 512 }).join(", ")), e = new i.WebKitCSSMatrix("none" === u ? "" : u)) : f = (e = r.MozTransform || r.OTransform || r.MsTransform || r.msTransform || r.transform || r.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,")).toString().split(","), "x" === t && (u = i.WebKitCSSMatrix ? e.m41 : 16 === f.length ? parseFloat(f[12]) : parseFloat(f[4])), "y" === t && (u = i.WebKitCSSMatrix ? e.m42 : 16 === f.length ? parseFloat(f[13]) : parseFloat(f[5])), u || 0 513 }, 514 parseUrlQuery: function(n) { 515 var r, f, u, e, o = {}, 516 t = n || i.location.href; 517 if ("string" == typeof t && t.length) 518 for (e = (f = (t = -1 < t.indexOf("?") ? t.replace(/\S*\?/, "") : "").split("&").filter(function(n) { 519 return "" !== n 520 })).length, r = 0; r < e; r += 1) u = f[r].replace(/#\S+/g, "").split("="), o[decodeURIComponent(u[0])] = void 0 === u[1] ? void 0 : decodeURIComponent(u[1]) || ""; 521 return o 522 }, 523 isObject: function(n) { 524 return "object" == typeof n && null !== n && n.constructor && n.constructor === Object 525 }, 526 extend: function() { 527 for (var r, e, i, t, s, u = [], f = arguments.length; f--;) u[f] = arguments[f]; 528 for (r = Object(u[0]), e = 1; e < u.length; e += 1) 529 if (i = u[e], null != i) 530 for (var h = Object.keys(Object(i)), o = 0, c = h.length; o < c; o += 1) t = h[o], s = Object.getOwnPropertyDescriptor(i, t), void 0 !== s && s.enumerable && (n.isObject(r[t]) && n.isObject(i[t]) ? n.extend(r[t], i[t]) : !n.isObject(r[t]) && n.isObject(i[t]) ? (r[t] = {}, n.extend(r[t], i[t])) : r[t] = i[t]); 531 return r 532 } 533 }, 534 r = (b = u.createElement("div"), { 535 touch: i.Modernizr && !0 === i.Modernizr.touch || !!(0 < i.navigator.maxTouchPoints || "ontouchstart" in i || i.DocumentTouch && u instanceof i.DocumentTouch), 536 pointerEvents: !!(i.navigator.pointerEnabled || i.PointerEvent || "maxTouchPoints" in i.navigator), 537 prefixedPointerEvents: !!i.navigator.msPointerEnabled, 538 transition: (w = b.style, "transition" in w || "webkitTransition" in w || "MozTransition" in w), 539 transforms3d: i.Modernizr && !0 === i.Modernizr.csstransforms3d || (a = b.style, "webkitPerspective" in a || "MozPerspective" in a || "OPerspective" in a || "MsPerspective" in a || "perspective" in a), 540 flexbox: function() { 541 for (var i = b.style, t = "alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "), n = 0; n < t.length; n += 1) 542 if (t[n] in i) return !0; 543 return !1 544 }(), 545 observer: "MutationObserver" in i || "WebkitMutationObserver" in i, 546 passiveListener: function() { 547 var n = !1, 548 t; 549 try { 550 t = Object.defineProperty({}, "passive", { 551 get: function() { 552 n = !0 553 } 554 }); 555 i.addEventListener("testPassiveListener", null, t) 556 } catch (n) {} 557 return n 558 }(), 559 gestures: "ongesturestart" in i 560 }), 561 h = function(n) { 562 void 0 === n && (n = {}); 563 var t = this; 564 t.params = n; 565 t.eventsListeners = {}; 566 t.params && t.params.on && Object.keys(t.params.on).forEac
566h(function(n) { 567 t.on(n, t.params.on[n]) 568 }) 569 }, 570 lt = { 571 components: { 572 configurable: !0 573 } 574 }; 575 h.prototype.on = function(n, t, i) { 576 var r = this, 577 u; 578 return "function" != typeof t ? r : (u = i ? "unshift" : "push", n.split(" ").forEach(function(n) { 579 r.eventsListeners[n] || (r.eventsListeners[n] = []); 580 r.eventsListeners[n][u](t) 581 }), r) 582 }; 583 h.prototype.once = function(n, t, i) { 584 var r = this; 585 return "function" != typeof t ? r : r.on(n, function i() { 586 for (var f = [], u = arguments.length; u--;) f[u] = arguments[u]; 587 t.apply(r, f); 588 r.off(n, i) 589 }, i) 590 }; 591 h.prototype.off = function(n, t) { 592 var i = this; 593 return i.eventsListeners && n.split(" ").forEach(function(n) { 594 void 0 === t ? i.eventsListeners[n] = [] : i.eventsListeners[n] && i.eventsListeners[n].length && i.eventsListeners[n].forEach(function(r, u) { 595 r === t && i.eventsListeners[n].splice(u, 1) 596 }) 597 }), i 598 }; 599 h.prototype.emit = function() { 600 for (var i, u, f, t, n = [], r = arguments.length; r--;) n[r] = arguments[r]; 601 return t = this, t.eventsListeners && ("string" == typeof n[0] || Array.isArray(n[0]) ? (i = n[0], u = n.slice(1, n.length), f = t) : (i = n[0].events, u = n[0].data, f = n[0].context || t), (Array.isArray(i) ? i : i.split(" ")).forEach(function(n) { 602 if (t.eventsListeners && t.eventsListeners[n]) { 603 var i = []; 604 t.eventsListeners[n].forEach(function(n) { 605 i.push(n) 606 }); 607 i.forEach(function(n) { 608 n.apply(f, u) 609 }) 610 } 611 })), t 612 }; 613 h.prototype.useModulesParams = function(t) { 614 var i = this; 615 i.modules && Object.keys(i.modules).forEach(function(r) { 616 var u = i.modules[r]; 617 u.params && n.extend(t, u.params) 618 }) 619 }; 620 h.prototype.useModules = function(n) { 621 void 0 === n && (n = {}); 622 var t = this; 623 t.modules && Object.keys(t.modules).forEach(function(i) { 624 var r = t.modules[i], 625 u = n[i] || {}; 626 r.instance && Object.keys(r.instance).forEach(function(n) { 627 var i = r.instance[n]; 628 t[n] = "function" == typeof i ? i.bind(t) : i 629 }); 630 r.on && t.on && Object.keys(r.on).forEach(function(n) { 631 t.on(n, r.on[n]) 632 }); 633 r.create && r.create.bind(t)(u) 634 }) 635 }; 636 lt.components.set = function(n) { 637 this.use && this.use(n) 638 }; 639 h.installModule = function(t) { 640 for (var i, f, u = [], r = arguments.length - 1; 0 < r--;) u[r] = arguments[r + 1]; 641 return i = this, i.prototype.modules || (i.prototype.modules = {}), f = t.name || Object.keys(i.prototype.modules).length + "_" + n.now(), (i.prototype.modules[f] = t).proto && Object.keys(t.proto).forEach(function(n) { 642 i.prototype[n] = t.proto[n] 643 }), t.static && Object.keys(t.static).forEach(function(n) { 644 i[n] = t.static[n] 645 }), t.install && t.install.apply(i, u), i 646 }; 647 h.use = function(n) { 648 for (var t, r = [], i = arguments.length - 1; 0 < i--;) r[i] = arguments[i + 1]; 649 return t = this, Array.isArray(n) ? (n.forEach(function(n) { 650 return t.installModule(n) 651 }), t) : t.installModule.apply(t, [n].concat(r)) 652 }; 653 Object.defineProperties(h, lt); 654 var gt = { 655 updateSize: function() { 656 var i, r, t = this, 657 u = t.$el; 658 i = void 0 !== t.params.width ? t.params.width : u[0].clientWidth; 659 r = void 0 !== t.params.height ? t.params.height : u[0].clientHeight; 660 0 === i && t.isHorizontal() || 0 === r && t.isVertical() || (i = i - parseInt(u.css("padding-left"), 10) - parseInt(u.css("padding-right"), 10), r = r - parseInt(u.css("padding-top"), 10) - parseInt(u.css("padding-bottom"), 10), n.extend(t, { 661 width: i, 662 height: r, 663 size: t.isHorizontal() ? i : r 664 })) 665 }, 666 updateSlides: function() { 667 var u = this, 668 t = u.params, 669 b = u.$wrapperEl, 670 v = u.size, 671 st = u.rtlTranslate, 672 ei = u.wrongRTL, 673 wt = u.virtual && t.virtual.enabled, 674 oi = wt ? u.virtual.slides.length : u.slides.length, 675 c = b.children("." + u.params.slideClass), 676 p = wt ? u.virtual.slides.length : c.length, 677 f = [], 678 k = [], 679 ht = [], 680 ct = t.slidesOffsetBefore, 681 ut, d, o, l, it, ft, rt, et, ot, pt; 682 "function" == typeof ct && (ct = t.slidesOffsetBefore.call(u)); 683 ut = t.slidesOffsetAfter; 684 "function" == typeof ut && (ut = t.slidesOffsetAfter.call(u)); 685 var si = u.snapGrid.length, 686 hi = u.snapGrid.length, 687 s = t.spaceBetween, 688 e = -ct, 689 lt = 0, 690 at = 0; 691 if (void 0 !== v) { 692 "string" == typeof s && 0 <= s.indexOf("%") && (s = parseFloat(s.replace("%", "")) / 100 * v); 693 u.virtualSize = -s; 694 st ? c.css({ 695 marginLeft: "", 696 marginTop: "" 697 }) : c.css({ 698 marginRight: "", 699 marginBottom: "" 700 }); 701 1 < t.slidesPerColumn && (d = Math.floor(p / t.slidesPerColumn) === p / u.params.slidesPerColumn ? p : Math.ceil(p / t.slidesPerColumn) * t.slidesPerColumn, "auto" !== t.slidesPerView && "row" === t.slidesPerColumnFill && (d = Math.max(d, t.slidesPerView * t.slidesPerColumn))); 702 for (var g, nt = t.slidesPerColumn, bt = d / nt, kt = Math.floor(p / t.slidesPerColumn), h = 0; h < p; h += 1) { 703 if (o = 0, l = c.eq(h), 1 < t.slidesPerColumn) { 704 var tt = void 0, 705 w = void 0, 706 y = void 0; 707 "column" === t.slidesPerColumnFill ? (y = h - (w = Math.floor(h / nt)) * nt, (kt < w || w === kt && y === nt - 1) && nt <= (y += 1) && (y = 0, w += 1), tt = w + y * d / nt, l.css({ 708 "-webkit-box-ordinal-group": tt, 709 "-moz-box-ordinal-group": tt, 710 "-ms-flex-order": tt, 711 "-webkit-order": tt, 712 order: tt 713 })) : w = h - (y = Math.floor(h / bt)) * bt; 714 l.css("margin-" + (u.isHorizontal() ? "top" : "left"), 0 !== y && t.spaceBetween && t.spaceBetween + "px").attr("data-swiper-column", w).attr("data-swiper-row", y) 715 } 716 if ("none" !== l.css("display")) { 717 if ("auto" === t.slidesPerView) { 718 var a = i.getComputedStyle(l[0], null), 719 vt = l[0].style.transform, 720 yt = l[0].style.webkitTransform; 721 if (vt && (l[0].style.transform = "none"), yt && (l[0].style.webkitTransform = "none"), t.roundLengths) o = u.isHorizontal() ? l.outerWidth(!0) : l.outerHeight(!0); 722 else if (u.isHorizontal()) { 723 var dt = parseFloat(a.getPropertyValue("width")), 724 ci = parseFloat(a.getPropertyValue("padding-left")), 725 li = parseFloat(a.getPropertyValue("padding-right")), 726 gt = parseFloat(a.getPropertyValue("margin-left")), 727 ni = parseFloat(a.getPropertyValue("margin-right")), 728 ti = a.getPropertyValue("box-sizing"); 729 o = ti && "border-box" === ti ? dt
729+ gt + ni : dt + ci + li + gt + ni 730 } else { 731 var ii = parseFloat(a.getPropertyValue("height")), 732 ai = parseFloat(a.getPropertyValue("padding-top")), 733 vi = parseFloat(a.getPropertyValue("padding-bottom")), 734 ri = parseFloat(a.getPropertyValue("margin-top")), 735 ui = parseFloat(a.getPropertyValue("margin-bottom")), 736 fi = a.getPropertyValue("box-sizing"); 737 o = fi && "border-box" === fi ? ii + ri + ui : ii + ai + vi + ri + ui 738 } 739 vt && (l[0].style.transform = vt); 740 yt && (l[0].style.webkitTransform = yt); 741 t.roundLengths && (o = Math.floor(o)) 742 } else o = (v - (t.slidesPerView - 1) * s) / t.slidesPerView, t.roundLengths && (o = Math.floor(o)), c[h] && (u.isHorizontal() ? c[h].style.width = o + "px" : c[h].style.height = o + "px"); 743 c[h] && (c[h].swiperSlideSize = o); 744 ht.push(o); 745 t.centeredSlides ? (e = e + o / 2 + lt / 2 + s, 0 === lt && 0 !== h && (e = e - v / 2 - s), 0 === h && (e = e - v / 2 - s), Math.abs(e) < .001 && (e = 0), t.roundLengths && (e = Math.floor(e)), at % t.slidesPerGroup == 0 && f.push(e), k.push(e)) : (t.roundLengths && (e = Math.floor(e)), at % t.slidesPerGroup == 0 && f.push(e), k.push(e), e = e + o + s); 746 u.virtualSize += o + s; 747 lt = o; 748 at += 1 749 } 750 } 751 if (u.virtualSize = Math.max(u.virtualSize, v) + ut, st && ei && ("slide" === t.effect || "coverflow" === t.effect) && b.css({ 752 width: u.virtualSize + t.spaceBetween + "px" 753 }), r.flexbox && !t.setWrapperSize || (u.isHorizontal() ? b.css({ 754 width: u.virtualSize + t.spaceBetween + "px" 755 }) : b.css({ 756 height: u.virtualSize + t.spaceBetween + "px" 757 })), 1 < t.slidesPerColumn && (u.virtualSize = (o + t.spaceBetween) * d, u.virtualSize = Math.ceil(u.virtualSize / t.slidesPerColumn) - t.spaceBetween, u.isHorizontal() ? b.css({ 758 width: u.virtualSize + t.spaceBetween + "px" 759 }) : b.css({ 760 height: u.virtualSize + t.spaceBetween + "px" 761 }), t.centeredSlides)) { 762 for (g = [], it = 0; it < f.length; it += 1) ft = f[it], t.roundLengths && (ft = Math.floor(ft)), f[it] < u.virtualSize + f[0] && g.push(ft); 763 f = g 764 } 765 if (!t.centeredSlides) { 766 for (g = [], rt = 0; rt < f.length; rt += 1) et = f[rt], t.roundLengths && (et = Math.floor(et)), f[rt] <= u.virtualSize - v && g.push(et); 767 f = g; 768 1 < Math.floor(u.virtualSize - v) - Math.floor(f[f.length - 1]) && f.push(u.virtualSize - v) 769 }(0 === f.length && (f = [0]), 0 !== t.spaceBetween && (u.isHorizontal() ? st ? c.css({ 770 marginLeft: s + "px" 771 }) : c.css({ 772 marginRight: s + "px" 773 }) : c.css({ 774 marginBottom: s + "px" 775 })), t.centerInsufficientSlides) && (ot = 0, (ht.forEach(function(n) {
776 ot += n + (t.spaceBetween ? t.spaceBetween : 0) 777 }), (ot -= t.spaceBetween) < v) && (pt = (v - ot) / 2, f.forEach(function(n, t) { 778 f[t] = n - pt 779 }), k.forEach(function(n, t) { 780 k[t] = n + pt 781 }))); 782 n.extend(u, { 783 slides: c, 784 snapGrid: f, 785 slidesGrid: k, 786 slidesSizesGrid: ht 787 }); 788 p !== oi && u.emit("slidesLengthChange"); 789 f.length !== si && (u.params.watchOverflow && u.checkOverflow(), u.emit("snapGridLengthChange")); 790 k.length !== hi && u.emit("slidesGridLengthChange"); 791 (t.watchSlidesProgress || t.watchSlidesVisibility) && u.updateSlidesOffset() 792 } 793 }, 794 updateAutoHeight: function(n) { 795 var i, t = this, 796 r = [], 797 u = 0, 798 f, e; 799 if ("number" == typeof n ? t.setTransition(n) : !0 === n && t.setTransition(t.params.speed), "auto" !== t.params.slidesPerView && 1 < t.params.slidesPerView) 800 for (i = 0; i < Math.ceil(t.params.slidesPerView); i += 1) { 801 if (f = t.activeIndex + i, f > t.slides.length) break; 802 r.push(t.slides.eq(f)[0]) 803 } else r.push(t.slides.eq(t.activeIndex)[0]); 804 for (i = 0; i < r.length; i += 1) void 0 !== r[i] && (e = r[i].offsetHeight, u = u < e ? e : u); 805 u && t.$wrapperEl.css("height", u + "px") 806 }, 807 updateSlidesOffset: function() { 808 for (var t = this.slides, n = 0; n < t.length; n += 1) t[n].swiperSlideOffset = this.isHorizontal() ? t[n].offsetLeft : t[n].offsetTop 809 }, 810 updateSlidesProgress: function(n) { 811 var s, r, f, c, o, h; 812 void 0 === n && (n = this && this.translate || 0); 813 var i = this, 814 e = i.params, 815 u = i.slides, 816 l = i.rtlTranslate; 817 if (0 !== u.length) { 818 for (void 0 === u[0].swiperSlideOffset && i.updateSlidesOffset(), s = -n, l && (s = n), u.removeClass(e.slideVisibleClass), i.visibleSlidesIndexes = [], i.visibleSlides = [], r = 0; r < u.length; r += 1) f = u[r], c = (s + (e.centeredSlides ? i.minTranslate() : 0) - f.swiperSlideOffset) / (f.swiperSlideSize + e.spaceBetween), e.watchSlidesVisibility && (o = -(s - f.swiperSlideOffset), h = o + i.slidesSizesGrid[r], (0 <= o && o < i.size || 0 < h && h <= i.size || o <= 0 && h >= i.size) && (i.visibleSlides.push(f), i.visibleSlidesIndexes.push(r), u.eq(r).addClass(e.slideVisibleClass))), f.progress = l ? -c : c; 819 i.visibleSlides = t(i.visibleSlides) 820 } 821 }, 822 updateProgress: function(t) { 823 void 0 === t && (t = this && this.translate || 0); 824 var i = this, 825 e = i.params, 826 o = i.maxTranslate() - i.minTranslate(), 827 f = i.progress, 828 r = i.isBeginning, 829 u = i.isEnd, 830 s = r, 831 h = u; 832 0 === o ? u = r = !(f = 0) : (r = (f = (t - i.minTranslate()) / o) <= 0, u = 1 <= f); 833 n.extend(i, { 834 progress: f, 835 isBeginning: r, 836 isEnd: u 837 }); 838 (e.watchSlidesProgress || e.watchSlidesVisibility) && i.updateSlidesProgress(t); 839 r && !s && i.emit("reachBeginning toEdge"); 840 u && !h && i.emit("reachEnd toEdge"); 841 (s && !r || h && !u) && i.emit("fromEdge"); 842 i.emit("progress", f) 843 }, 844 updateSlidesClasses: function() { 845 var f, t = this, 846 e = t.slides, 847 n = t.params, 848 i = t.$wrapperEl, 849 o = t.activeIndex, 850 s = t.realIndex, 851 h = t.virtual && n.virtual.enabled, 852 r, u; 853 e.removeClass(n.slideActiveClass + " " + n.slideNextClass + " " + n.slidePrevClass + " " + n.slideDuplicateActiveClass + " " + n.slideDuplicateNextClass + " " + n.slideDuplicatePrevClass); 854 (f = h ? t.$wrapperEl.find("." + n.slideClass + '[data-swiper-slide-index="' + o + '"]') : e.eq(o)).addClass(n.slideActiveClass); 855 n.loop && (f.hasClass(n.slideDuplicateClass) ? i.children("." + n.slideClass + ":not(." + n.slideDuplicateClass + ')[data-swiper-slide-index="' + s + '"]').addClass(n.slideDuplicateActiveClass) : i.children("." + n.slideClass + "." + n.slideDuplicateClass + '[data-swiper-slide-index="' + s + '"]').addClass(n.slideDuplicateActiveClass)); 856 r = f.nextAll("." + n.slideClass).eq(0).addClass(n.slideNextClass); 857 n.loop && 0 === r.length && (r = e.eq(0)).addClass(n.slideNextClass); 858 u = f.prevAll("." + n.slideClass).eq(0).addClass(n.slidePrevClass);
859 n.loop && 0 === u.length && (u = e.eq(-1)).addClass(n.slidePrevClass); 860 n.loop && (r.hasClass(n.slideDuplicateClass) ? i.children("." + n.slideClass + ":not(." + n.slideDuplicateClass + ')[data-swiper-slide-index="' + r.attr("data-swiper-slide-index") + '"]').addClass(n.slideDuplicateNextClass) : i.children("." + n.slideClass + "." + n.slideDuplicateClass + '[data-swiper-slide-index="' + r.attr("data-swiper-slide-index") + '"]').addClass(n.slideDuplicateNextClass), u.hasClass(n.slideDuplicateClass) ? i.children("." + n.slideClass + ":not(." + n.slideDuplicateClass + ')[data-swiper-slide-index="' + u.attr("data-swiper-slide-index") + '"]').addClass(n.slideDuplicatePrevClass) : i.children("." + n.slideClass + "." + n.slideDuplicateClass + '[data-swiper-slide-index="' + u.attr("data-swiper-slide-index") + '"]').addClass(n.slideDuplicatePrevClass)) 861 }, 862 updateActiveIndex: function(t) { 863 var o, i = this, 864 e = i.rtlTranslate ? i.translate : -i.translate, 865 f = i.slidesGrid, 866 s = i.snapGrid, 867 c = i.params, 868 l = i.activeIndex, 869 a = i.realIndex, 870 v = i.snapIndex, 871 u = t, 872 r, h; 873 if (void 0 === u) { 874 for (r = 0; r < f.length; r += 1) void 0 !== f[r + 1] ? e >= f[r] && e < f[r + 1] - (f[r + 1] - f[r]) / 2 ? u = r : e >= f[r] && e < f[r + 1] && (u = r + 1) : e >= f[r] && (u = r); 875 c.normalizeSlideIndex && (u < 0 || void 0 === u) && (u = 0) 876 }((o = 0 <= s.indexOf(e) ? s.indexOf(e) : Math.floor(u / c.slidesPerGroup)) >= s.length && (o = s.length - 1), u !== l) ? (h = parseInt(i.slides.eq(u).attr("data-swiper-slide-index") || u, 10), n.extend(i, { 877 snapIndex: o, 878 realIndex: h, 879 previousIndex: l, 880 activeIndex: u 881 }), i.emit("activeIndexChange"), i.emit("snapIndexChange"), a !== h && i.emit("realIndexChange"), i.emit("slideChange")) : o !== v && (i.snapIndex = o, i.emit("snapIndexChange")) 882 }, 883 updateClickedSlide: function(n) { 884 var i = this, 885 f = i.params, 886 r = t(n.target).closest("." + f.slideClass)[0], 887 e = !1, 888 u; 889 if (r) 890 for (u = 0; u < i.slides.length; u += 1) i.slides[u] === r && (e = !0); 891 if (!r || !e) return i.clickedSlide = void 0, void(i.clickedIndex = void 0); 892 i.clickedSlide = r; 893 i.clickedIndex = i.virtual && i.params.virtual.enabled ? parseInt(t(r).attr("data-swiper-slide-index"), 10) : t(r).index(); 894 f.slideToClickedSlide && void 0 !== i.clickedIndex && i.clickedIndex !== i.activeIndex && i.slideToClickedSlide() 895 } 896 }, 897 ni = { 898 getTranslate: function(t) { 899 var i; 900 void 0 === t && (t = this.isHorizontal() ? "x" : "y"); 901 var f = this.params, 902 r = this.rtlTranslate, 903 u = this.translate, 904 e = this.$wrapperEl; 905 return f.virtualTranslate ? r ? -u : u : (i = n.getTranslate(e[0], t), r && (i = -i), i || 0) 906 }, 907 setTranslate: function(n, t) { 908 var i = this, 909 h = i.rtlTranslate, 910 o = i.params, 911 s = i.$wrapperEl, 912 c = i.progress, 913 u = 0, 914 f = 0, 915 e; 916 i.isHorizontal() ? u = h ? -n : n : f = n; 917 o.roundLengths && (u = Math.floor(u), f = Math.floor(f)); 918 o.virtualTranslate || (r.transforms3d ? s.transform("translate3d(" + u + "px, " + f + "px, 0px)") : s.transform("translate(" + u + "px, " + f + "px)")); 919 i.previousTranslate = i.translate; 920 i.translate = i.isHorizontal() ? u : f; 921 e = i.maxTranslate() - i.minTranslate(); 922 (0 === e ? 0 : (n - i.minTranslate()) / e) !== c && i.updateProgress(n); 923 i.emit("setTranslate", i.translate, t) 924 }, 925 minTranslate: function() { 926 return -this.snapGrid[0] 927 }, 928 maxTranslate: function() { 929 return -this.snapGrid[this.snapGrid.length - 1] 930 } 931 }, 932 ti = { 933 setTransition: function(n, t) { 934 this.$wrapperEl.transition(n);
935 this.emit("setTransition", n, t) 936 }, 937 transitionStart: function(n, t) { 938 var r; 939 void 0 === n && (n = !0); 940 var i = this, 941 u = i.activeIndex, 942 e = i.params, 943 f = i.previousIndex; 944 if (e.autoHeight && i.updateAutoHeight(), r = t, r || (r = f < u ? "next" : u < f ? "prev" : "reset"), i.emit("transitionStart"), n && u !== f) { 945 if ("reset" === r) return void i.emit("slideResetTransitionStart"); 946 i.emit("slideChangeTransitionStart"); 947 "next" === r ? i.emit("slideNextTransitionStart") : i.emit("slidePrevTransitionStart") 948 } 949 }, 950 transitionEnd: function(n, t) { 951 var r; 952 void 0 === n && (n = !0); 953 var i = this, 954 u = i.activeIndex, 955 f = i.previousIndex; 956 if (i.animating = !1, i.setTransition(0), r = t, r || (r = f < u ? "next" : u < f ? "prev" : "reset"), i.emit("transitionEnd"), n && u !== f) { 957 if ("reset" === r) return void i.emit("slideResetTransitionEnd"); 958 i.emit("slideChangeTransitionEnd"); 959 "next" === r ? i.emit("slideNextTransitionEnd") : i.emit("slidePrevTransitionEnd") 960 } 961 } 962 }, 963 ii = { 964 slideTo: function(n, t, i, u) { 965 var f, e, a, s, o, l; 966 void 0 === n && (n = 0); 967 void 0 === t && (t = this.params.speed); 968 void 0 === i && (i = !0); 969 f = this; 970 e = n; 971 e < 0 && (e = 0); 972 var h = f.params, 973 v = f.snapGrid, 974 y = f.slidesGrid, 975 w = f.previousIndex, 976 c = f.activeIndex, 977 p = f.rtlTranslate; 978 if (f.animating && h.preventInteractionOnTransition) return !1; 979 if (a = Math.floor(e / h.slidesPerGroup), a >= v.length && (a = v.length - 1), (c || h.initialSlide || 0) === (w || 0) && i && f.emit("beforeSlideChangeStart"), o = -v[a], f.updateProgress(o), h.normalizeSlideIndex) 980 for (l = 0; l < y.length; l += 1) - Math.floor(100 * o) >= Math.floor(100 * y[l]) && (e = l); 981 return f.initialized && e !== c && (!f.allowSlideNext && o < f.translate && o < f.minTranslate() || !f.allowSlidePrev && o > f.translate && o > f.maxTranslate() && (c || 0) !== e) ? !1 : (s = c < e ? "next" : e < c ? "prev" : "reset", p && -o === f.translate || !p && o === f.translate ? (f.updateActiveIndex(e), h.autoHeight && f.updateAutoHeight(), f.updateSlidesClasses(), "slide" !== h.effect && f.setTranslate(o), "reset" !== s && (f.transitionStart(i, s), f.transitionEnd(i, s)), !1) : (0 !== t && r.transition ? (f.setTransition(t), f.setTranslate(o), f.updateActiveIndex(e), f.updateSlidesClasses(), f.emit("beforeTransitionStart", t, u), f.transitionStart(i, s), f.animating || (f.animating = !0, f.onSlideToWrapperTransitionEnd || (f.onSlideToWrapperTransitionEnd = function(n) { 982 f && !f.destroyed && n.target === this && (f.$wrapperEl[0].removeEventListener("transitionend", f.onSlideToWrapperTransitionEnd), f.$wrapperEl[0].removeEventListener("webkitTransitionEnd", f.onSlideToWrapperTransitionEnd), f.onSlideToWrapperTransitionEnd = null, delete f.onSlideToWrapperTransitionEnd, f.transitionEnd(i, s)) 983 }), f.$wrapperEl[0].addEventListener("transitionend", f.onSlideToWrapperTransitionEnd), f.$wrapperEl[0].addEventListener("webkitTransitionEnd", f.onSlideToWrapperTransitionEnd))) : (f.setTransition(0), f.setTranslate(o), f.updateActiveIndex(e), f.updateSlidesClasses(), f.emit("beforeTransitionStart", t, u), f.transitionStart(i, s), f.transitionEnd(i, s)), !0)) 984 }, 985 slideToLoop: function(n, t, i, r) { 986 void 0 === n && (n = 0); 987 void 0 === t && (t = this.params.speed); 988 void 0 === i && (i = !0); 989 var u = n; 990 return this.params.loop && (u += this.loopedSlides), this.slideTo(u, t, i, r) 991 }, 992 slideNext: function(n, t, i) { 993 void 0 === n && (n = this.params.speed); 994 void 0 === t && (t = !0); 995 var r = this, 996 u = r.params, 997 f = r.animating; 998 return u.loop ? !f && (r.loopFix(), r._clientLeft = r.$wrapperEl[0].clientLeft, r.slideTo(r.activeIndex + u.slidesPerGroup, n, t, i)) : r.slideTo(r.activeIndex + u.slidesPerGroup, n, t, i) 999 }, 1000 slidePrev: function(n, t, i) { 1001 function f(n) { 1002 return n < 0 ? -Math.floor(Math.abs(n)) : Math.floor(n) 1003 } 1004 void 0 === n && (n = this.params.speed); 1005 void 0 === t && (t = !0); 1006 var r = this, 1007 l = r.params, 1008 a = r.animating, 1009 u = r.snapGrid, 1010 o = r.slidesGrid, 1011 v = r.rtlTranslate; 1012 if (l.loop) { 1013 if (a) return !1; 1014 r.loopFix(); 1015 r._clientLeft = r.$wrapperEl[0].clientLeft 1016 } 1017 var e, s = f(v ? r.translate : -r.translate), 1018 h = u.map(function(n) { 1019 return f(n) 1020 }), 1021 c = (o.map(function(n) { 1022 return f(n) 1023 }), u[h.indexOf(s)], u[h.indexOf(s) - 1]); 1024 return void 0 !== c && (e = o.indexOf(c)) < 0 && (e = r.activeIndex - 1), r.slideTo(e, n, t, i) 1025 }, 1026 slideReset: function(n, t, i) { 1027 return void 0 === n && (n = this.params.speed), void 0 === t && (t = !0), this.slideTo(this.activeIndex, n, t, i) 1028 }, 1029 slideToClosest: function(n, t, i) { 1030 var o, e; 1031 void 0 === n && (n = this.params.speed); 1032 void 0 === t && (t = !0); 1033 var r = this, 1034 u = r.activeIndex, 1035 f = Math.floor(u / r.params.slidesPerGroup); 1036 return f < r.snapGrid.length - 1 && (o = r.rtlTranslate ? r.translate : -r.translate, e = r.snapGrid[f], (r.snapGrid[f + 1] - e) / 2 < o - e && (u = r.params.slidesPerGroup)), r.slideTo(u, n, t, i) 1037 }, 1038 slideToClickedSlide: function() { 1039 var f, i = this, 1040 u = i.params, 1041 o = i.$wrapperEl, 1042 e = "auto" === u.slidesPerView ? i.slidesPerViewDynamic() : u.slidesPerView, 1043 r = i.clickedIndex; 1044 if (u.loop) { 1045 if (i.animating) return; 1046 f = parseInt(t(i.clickedSlide).attr("data-swiper-slide-index"), 10); 1047 u.centeredSlides ? r < i.loopedSlides - e / 2 || r > i.slides.length - i.loopedSlides + e / 2 ? (i.loopFix(), r = o.children("." + u.slideClass + '[data-swiper-slide-index="' + f + '"]:not(.' + u.slideDuplicateClass + ")").eq(0).index(), n.nextTick(function() { 1048 i.slideTo(r) 1049 })) : i.slideTo(r) : r > i.slides.length - e ? (i.loopFix(), r = o.children("." + u.slideClass + '[data-swiper-slide-index="' + f + '"]:not(.' + u.slideDuplicateClass + ")").eq(0).index(), n.nextTick(function() { 1050 i.slideTo(r) 1051 })) : i.slideTo(r) 1052 } else i.slideTo(r) 1053 } 1054 }, 1055 ri = { 1056 loopCreate: function() { 1057 var r = this, 1058 n = r.params, 1059 f = r.$wrapperEl, 1060 i, c, l, a, e, o, s, h; 1061 if (f.children("." + n.slideClass + "." + n.slideDuplicateClass).remove(), i = f.children("." + n.slideClass), n.loopFillGroupWithBlank && (c = n.slidesPerGroup - i.length % n.slidesPerGroup, c !== n.slidesPerGroup)) { 1062 for (l = 0; l < c; l += 1) a = t(u.createElement("div")).addClass(n.slideClass + " " + n.slideBlankClass), f.append(a); 1063 i = f.children("." + n.slideClass) 1064 } 1065 for ("auto" !== n.slidesPerView || n.loopedSlides || (n.loopedSlides = i.length), r.loopedSlides = parseInt(n.loopedSlides || n.slidesPerView, 10), r.loopedSlides += n.loopAdditionalSlides, r.loopedSlides > i.length && (r.loopedSlides = i.length), e = [], o = [], i.each(function(n, u) { 1066 var f = t(u); 1067 n < r.loopedSlides && o.push(u); 1068 n < i.length && n >= i.length - r.loopedSlides && e.push(u); 1069 f.attr("data-swiper-slide-index", n) 1070 }), s = 0; s < o.length; s += 1) f.append(t(o[s].cloneNode(!0)).addClass(n.slideDuplicateClass)); 1071 for (h = e.length - 1; 0 <= h; h -= 1) f.prepend(t(e[h].cloneNode(!0)).addClass(n.slideDuplicateClass)) 1072 }, 1073 loopFix: function() { 1074 var i, n = this, 1075 o = n.params, 1076 r = n.activeIndex, 1077 f = n.slides, 1078 t = n.loopedSlides, 1079 s = n.allowSlidePrev, 1080 h = n.allowSlideNext, 1081 c = n.snapGrid, 1082 e = n.rtlTranslate, 1083 u; 1084 n.allowSlidePrev = !0; 1085 n.allowSlideNext = !0; 1086 u = -c[r] - n.getTranslate(); 1087 r < t ? (i = f.length - 3 * t + r, i += t, n.slideTo(i, 0, !1, !0) && 0 !== u && n.setTranslate((e ? -n.translate : n.translate) - u)) : ("auto" === o.slidesPerView && 2 * t <= r || r >= f.length - t) && (i = -f.length + r + t, i += t, n.slideTo(i, 0, !1, !0) && 0 !== u && n.setTranslate((e ? -n.translate : n.translate) - u)); 1088 n.allowSlidePrev = s; 1089 n.allowSlideNext = h 1090 }, 1091 loopDestroy: function() { 1092 var t = this.$wrapperEl, 1093 n = this.params, 1094 i = this.slides; 1095 t.children("." + n.slideClass + "." + n.slideDuplicateClass + ",." + n.slideClass + "." + n.slideBlankClass).remove(); 1096 i.removeAttr("data-swiper-slide-index") 1097 } 1098 }, 1099 ui = { 1100 setGrabCursor: function(n) { 1101 if (!(r.touch || !this.params.simulateTouch || this.params.watchOverflow && this.isLocked)) { 1102 var t = this.el; 1103 t.style.cursor = "move"; 1104 t.style.cursor = n ? "-webkit-grabbing" : "-webkit-grab"; 1105 t.style.cursor = n ? "-moz-grabbin" : "-moz-grab"; 1106 t.style.cursor = n ? "grabbing" : "grab" 1107 } 1108 }, 1109 unsetGrabCursor: function() { 1110 r.touch || this.params.watchOverflow && this.isLocked || (this.el.style.cursor = "") 1111 } 1112 }, 1113 fi = { 1114 appendSlide: function(n) { 1115 var t = this, 1116 f = t.$wrapperEl, 1117 u = t.params, 1118 i; 1119 if (u.loop && t.loopDestroy(), "object" == typeof n && "length" in n) 1120 for (i = 0; i < n.length; i += 1) n[i] && f.append(n[i]); 1121 else f.append(n); 1122 u.loop && t.loopCreate();
1123 u.observer && r.observer || t.update() 1124 }, 1125 prependSlide: function(n) { 1126 var t = this, 1127 u = t.params, 1128 e = t.$wrapperEl, 1129 o = t.activeIndex, 1130 f, i; 1131 if (u.loop && t.loopDestroy(), f = o + 1, "object" == typeof n && "length" in n) { 1132 for (i = 0; i < n.length; i += 1) n[i] && e.prepend(n[i]); 1133 f = o + n.length 1134 } else e.prepend(n); 1135 u.loop && t.loopCreate(); 1136 u.observer && r.observer || t.update(); 1137 t.slideTo(f, 0, !1) 1138 }, 1139 addSlide: function(n, t) { 1140 var i = this, 1141 o = i.$wrapperEl, 1142 f = i.params, 1143 u = i.activeIndex, 1144 h, v, e, s; 1145 if (f.loop && (u -= i.loopedSlides, i.loopDestroy(), i.slides = o.children("." + f.slideClass)), h = i.slides.length, n <= 0) i.prependSlide(t); 1146 else if (h <= n) i.appendSlide(t); 1147 else { 1148 for (var c = n < u ? u + 1 : u, l = [], a = h - 1; n <= a; a -= 1) v = i.slides.eq(a), v.remove(), l.unshift(v); 1149 if ("object" == typeof t && "length" in t) { 1150 for (e = 0; e < t.length; e += 1) t[e] && o.append(t[e]); 1151 c = n < u ? u + t.length : u 1152 } else o.append(t); 1153 for (s = 0; s < l.length; s += 1) o.append(l[s]); 1154 f.loop && i.loopCreate(); 1155 f.observer && r.observer || i.update(); 1156 f.loop ? i.slideTo(c + i.loopedSlides, 0, !1) : i.slideTo(c, 0, !1) 1157 } 1158 }, 1159 removeSlide: function(n) { 1160 var t = this, 1161 f = t.params, 1162 s = t.$wrapperEl, 1163 o = t.activeIndex, 1164 u, i, e; 1165 if (f.loop && (o -= t.loopedSlides, t.loopDestroy(), t.slides = s.children("." + f.slideClass)), i = o, "object" == typeof n && "length" in n) { 1166 for (e = 0; e < n.length; e += 1) u = n[e], t.slides[u] && t.slides.eq(u).remove(), u < i && (i -= 1); 1167 i = Math.max(i, 0) 1168 } else u = n, t.slides[u] && t.slides.eq(u).remove(), u < i && (i -= 1), i = Math.max(i, 0); 1169 f.loop && t.loopCreate(); 1170 f.observer && r.observer || t.update(); 1171 f.loop ? t.slideTo(i + t.loopedSlides, 0, !1) : t.slideTo(i, 0, !1) 1172 }, 1173 removeAllSlides: function() { 1174 for (var t = [], n = 0; n < this.slides.length; n += 1) t.push(n); 1175 this.removeSlide(t) 1176 } 1177 }, 1178 e = function() { 1179 var t = i.navigator.userAgent, 1180 n = { 1181 ios: !1, 1182 android: !1, 1183 androidChrome: !1, 1184 desktop: !1, 1185 windows: !1, 1186 iphone: !1, 1187 ipod: !1, 1188 ipad: !1, 1189 cordova: i.cordova || i.phonegap, 1190 phonegap: i.cordova || i.phonegap 1191 }, 1192 s = t.match(/(Windows Phone);?[\s\/]+([\d.]+)?/), 1193 c = t.match(/(Android);?[\s\/]+([\d.]+)?/), 1194 f = t.match(/(iPad).*OS\s([\d_]+)/), 1195 r = t.match(/(iPod)(.*OS\s([\d_]+))?/), 1196 e = !f && t.match(/(iPhone\sOS|iOS)\s([\d_]+)/), 1197 o, h; 1198 return (s && (n.os = "windows", n.osVersion = s[2], n.windows = !0), c && !s && (n.os = "android", n.osVersion = c[2], n.android = !0, n.androidChrome = 0 <= t.toLowerCase().indexOf("chrome")), (f || e || r) && (n.os = "ios", n.ios = !0), e && !r && (n.osVersion = e[2].replace(/_/g, "."), n.iphone = !0), f && (n.osVersion = f[2].replace(/_/g, "."), n.ipad = !0), r && (n.osVersion = r[3] ? r[3].replace(/_/g, ".") : null, n.iphone = !0), n.ios && n.osVersion && 0 <= t.indexOf("Version/") && "10" === n.osVersion.split(".")[0] && (n.osVersion = t.toLowerCase().split("version/")[1].split(" ")[0]), n.desktop = !(n.os || n.android || n.webView), n.webView = (e || f || r) && t.match(/.*AppleWeb
1198Kit(?!.*Safari)/i), n.os && "ios" === n.os) && (o = n.osVersion.split("."), h = u.querySelector('meta[name="viewport"]'), n.minimalUi = !n.webView && (r || e) && (1 * o[0] == 7 ? 1 <= 1 * o[1] : 7 < 1 * o[0]) && h && 0 <= h.getAttribute("content").indexOf("minimal-ui")), n.pixelRatio = i.devicePixelRatio || 1, n 1199 }(); 1200 var ei = { 1201 attachEvents: function() { 1202 var f = this, 1203 o = f.params, 1204 s = f.touchEvents, 1205 a = f.el, 1206 v = f.wrapperEl, 1207 h, c, l; 1208 f.onTouchStart = function(r) { 1209 var o = this, 1210 s = o.touchEventsData, 1211 e = o.params, 1212 h = o.touches, 1213 f, l, v; 1214 if ((!o.animating || !e.preventInteractionOnTransition) && (f = r, f.originalEvent && (f = f.originalEvent), s.isTouchEvent = "touchstart" === f.type, (s.isTouchEvent || !("which" in f) || 3 !== f.which) && !(!s.isTouchEvent && "button" in f && 0 < f.button || s.isTouched && s.isMoved))) 1215 if (e.noSwiping && t(f.target).closest(e.noSwipingSelector ? e.noSwipingSelector : "." + e.noSwipingClass)[0]) o.allowClick = !0; 1216 else if (!e.swipeHandler || t(f).closest(e.swipeHandler)[0]) { 1217 h.currentX = "touchstart" === f.type ? f.targetTouches[0].pageX : f.pageX; 1218 h.currentY = "touchstart" === f.type ? f.targetTouches[0].pageY : f.pageY; 1219 var c = h.currentX, 1220 y = h.currentY, 1221 p = e.edgeSwipeDetection || e.iOSEdgeSwipeDetection, 1222 a = e.edgeSwipeThreshold || e.iOSEdgeSwipeThreshold; 1223 p && (c <= a || c >= i.screen.width - a) || ((n.extend(s, { 1224 isTouched: !0, 1225 isMoved: !1, 1226 allowTouchCallbacks: !0, 1227 isScrolling: void 0, 1228 startMoving: void 0 1229 }), h.startX = c, h.startY = y, s.touchStartTime = n.now(), o.allowClick = !0, o.updateSize(), o.swipeDirection = void 0, 0 < e.threshold && (s.allowThresholdMove = !1), "touchstart" !== f.type) && (l = !0, t(f.target).is(s.formElements) && (l = !1), u.activeElement && t(u.activeElement).is(s.formElements) && u.activeElement !== f.target && u.activeElement.blur(), v = l && o.allowTouchMove && e.touchStartPreventDefault, (e.touchStartForcePreventDefault || v) && f.preventDefault()), o.emit("touchStart", f)) 1230 } 1231 }.bind(f); 1232 f.onTouchMove = function(i) { 1233 var f = this, 1234 r = f.touchEventsData, 1235 s = f.params, 1236 e = f.touches, 1237 b = f.rtlTranslate, 1238 o = i, 1239 c, l, w, a, v, h, y, p; 1240 if (o.originalEvent && (o = o.originalEvent), r.isTouched) { 1241 if (!r.isTouchEvent || "mousemove" !== o.type) { 1242 if (c = "touchmove" === o.type ? o.targetTouches[0].pageX : o.pageX, l = "touchmove" === o.type ? o.targetTouches[0].pageY : o.pageY, o.preventedByNestedSwiper) return e.startX = c, void(e.startY = l); 1243 if (!f.allowTouchMove) return f.allowClick = !1, void(r.isTouched && (n.extend(e, { 1244 startX: c, 1245 startY: l, 1246 currentX: c, 1247 currentY: l 1248 }), r.touchStartTime = n.now())); 1249 if (r.isTouchEvent && s.touchReleaseOnEdges && !s.loop) 1250 if (f.isVertical()) { 1251 if (l < e.startY && f.translate <= f.maxTranslate() || l > e.startY && f.translate >= f.minTranslate()) return r.isTouched = !1, void(r.isMoved = !1) 1252 } else if (c < e.startX && f.translate <= f.maxTranslate() || c > e.startX && f.translate >= f.minTranslate()) return; 1253 if (r.isTouchEvent && u.activeElement && o.target === u.activeElement && t(o.target).is(r.formElements)) return r.isMoved = !0, void(f.allowClick = !1); 1254 if ((r.allowTouchCallbacks && f.emit("touchMove", o), !(o.targetTouches && 1 < o.targetTouches.length)) && (e.currentX = c, e.currentY = l, a = e.currentX - e.startX, v = e.currentY - e.startY, !(f.params.threshold && Math.sqrt(Math.pow(a, 2) + Math.pow(v, 2)) < f.params.threshold))) 1255 if (void 0 === r.isScrolling && (f.isHorizontal() && e.currentY === e.startY || f.isVertical() && e.currentX === e.startX ? r.isScrolling = !1 : 25 <= a * a + v * v && (w = 180 * Math.atan2(Math.abs(v), Math.abs(a)
vendor: 8,885 bytes, lines 1255-1334
1255) / Math.PI, r.isScrolling = f.isHorizontal() ? w > s.touchAngle : 90 - w > s.touchAngle)), r.isScrolling && f.emit("touchMoveOpposite", o), void 0 === r.startMoving && (e.currentX === e.startX && e.currentY === e.startY || (r.startMoving = !0)), r.isScrolling) r.isTouched = !1; 1256 else if (r.startMoving) { 1257 if (f.allowClick = !1, o.preventDefault(), s.touchMoveStopPropagation && !s.nested && o.stopPropagation(), r.isMoved || (s.loop && f.loopFix(), r.startTranslate = f.getTranslate(), f.setTransition(0), f.animating && f.$wrapperEl.trigger("webkitTransitionEnd transitionend"), r.allowMomentumBounce = !1, !s.grabCursor || !0 !== f.allowSlideNext && !0 !== f.allowSlidePrev || f.setGrabCursor(!0), f.emit("sliderFirstMove", o)), f.emit("sliderMove", o), r.isMoved = !0, h = f.isHorizontal() ? a : v, e.diff = h, h *= s.touchRatio, b && (h = -h), f.swipeDirection = 0 < h ? "prev" : "next", r.currentTranslate = h + r.startTranslate, y = !0, p = s.resistanceRatio, s.touchReleaseOnEdges && (p = 0), 0 < h && r.currentTranslate > f.minTranslate() ? (y = !1, s.resistance && (r.currentTranslate = f.minTranslate() - 1 + Math.pow(-f.minTranslate() + r.startTranslate + h, p))) : h < 0 && r.currentTranslate < f.maxTranslate() && (y = !1, s.resistance && (r.currentTranslate = f.maxTranslate() + 1 - Math.pow(f.maxTranslate() - r.startTranslate - h, p))), y && (o.preventedByNestedSwiper = !0), !f.allowSlideNext && "next" === f.swipeDirection && r.currentTranslate < r.startTranslate && (r.currentTranslate = r.startTranslate), !f.allowSlidePrev && "prev" === f.swipeDirection && r.currentTranslate > r.startTranslate && (r.currentTranslate = r.startTranslate), 0 < s.threshold) { 1258 if (!(Math.abs(h) > s.threshold || r.allowThresholdMove)) return void(r.currentTranslate = r.startTranslate); 1259 if (!r.allowThresholdMove) return r.allowThresholdMove = !0, e.startX = e.currentX, e.startY = e.currentY, r.currentTranslate = r.startTranslate, void(e.diff = f.isHorizontal() ? e.currentX - e.startX : e.currentY - e.startY) 1260 } 1261 s.followFinger && ((s.freeMode || s.watchSlidesProgress || s.watchSlidesVisibility) && (f.updateActiveIndex(), f.updateSlidesClasses()), s.freeMode && (0 === r.velocities.length && r.velocities.push({ 1262 position: e[f.isHorizontal() ? "startX" : "startY"], 1263 time: r.touchStartTime 1264 }), r.velocities.push({ 1265 position: e[f.isHorizontal() ? "currentX" : "currentY"], 1266 time: n.now() 1267 })), f.updateProgress(r.currentTranslate), f.setTranslate(r.currentTranslate)) 1268 } 1269 } 1270 } else r.startMoving && r.isScrolling && f.emit("touchMoveOpposite", o) 1271 }.bind(f); 1272 f.onTouchEnd = function(t) { 1273 var i = this, 1274 r = i.touchEventsData, 1275 u = i.params, 1276 ot = i.touches, 1277 g = i.rtlTranslate, 1278 nt = i.$wrapperEl, 1279 e = i.slidesGrid, 1280 h = i.snapGrid, 1281 c = t, 1282 l, w, a, k, it, d, v, y, p, ut; 1283 if (c.originalEvent && (c = c.originalEvent), r.allowTouchCallbacks && i.emit("touchEnd", c), r.allowTouchCallbacks = !1, !r.isTouched) return r.isMoved && u.grabCursor && i.setGrabCursor(!1), r.isMoved = !1, void(r.startMoving = !1); 1284 if (u.grabCursor && r.isMoved && r.isTouched && (!0 === i.allowSlideNext || !0 === i.allowSlidePrev) && i.setGrabCursor(!1), w = n.now(), a = w - r.touchStartTime, i.allowClick && (i.updateClickedSlide(c), i.emit("tap", c), a < 300 && 300 < w - r.lastClickTime && (r.clickTimeout && clearTimeout(r.clickTimeout), r.clickTimeout = n.nextTick(function() { 1285 i && !i.destroyed && i.emit("click", c) 1286 }, 300)), a < 300 && w - r.lastClickTime < 300 && (r.clickTimeout && clearTimeout(r.clickTimeout), i.emit("doubleTap", c))), r.lastClickTime = n.now(), n.nextTick(function() { 1287 i.destroyed || (i.allowClick = !0) 1288 }), !r.isTouched || !r.isMoved || !i.swipeDirection || 0 === ot.diff || r.currentTranslate === r.startTranslate) return r.isTouched = !1, r.isMoved = !1, void(r.startMoving = !1); 1289 if (r.isTouched = !1, r.isMoved = !1, r.startMoving = !1, l = u.followFinger ? g ? i.translate : -i.translate : -r.currentTranslate, u.freeMode) { 1290 if (l < -i.minTranslate()) return void i.slideTo(i.activeIndex); 1291 if (l > -i.maxTranslate()) return void(i.slides.length < h.length ? i.slideTo(h.length - 1) : i.slideTo(i.slides.length - 1)); 1292 if (u.freeModeMomentum) { 1293 if (1 < r.velocities.length) { 1294 var tt = r.velocities.pop(), 1295 ft = r.velocities.pop(), 1296 st = tt.position - ft.position, 1297 et = tt.time - ft.time; 1298 i.velocity = st / et; 1299 i.velocity /= 2; 1300 Math.abs(i.velocity) < u.freeModeMinimumVelocity && (i.velocity = 0); 1301 (150 < et || 300 < n.now() - tt.time) && (i.velocity = 0) 1302 } else i.velocity = 0; 1303 i.velocity *= u.freeModeMomentumVelocityRatio; 1304 r.velocities.length = 0; 1305 var b = 1e3 * u.freeModeMomentumRatio, 1306 ht = i.velocity * b, 1307 f = i.translate + ht; 1308 if (g && (f = -f), d = !1, v = 20 * Math.abs(i.velocity) * u.freeModeMomentumBounceRatio, f < i.maxTranslate()) u.freeModeMomentumBounce ? (f + i.maxTranslate() < -v && (f = i.maxTranslate() - v), k = i.maxTranslate(), d = !0, r.allowMomentumBounce = !0) : f = i.maxTranslate(), u.loop && u.centeredSlides && (it = !0); 1309 else if (f > i.minTranslate()) u.freeModeMomentumBounce ? (f - i.minTranslate() > v && (f = i.minTranslate() + v), k = i.minTranslate(), d = !0, r.allowMomentumBounce = !0) : f = i.minTranslate(), u.loop && u.centeredSlides && (it = !0); 1310 else if (u.freeModeSticky) { 1311 for (p = 0; p < h.length; p += 1) 1312 if (h[p] > -f) { 1313 y = p; 1314 break 1315 } 1316 f = -(f = Math.abs(h[y] - f) < Math.abs(h[y - 1] - f) || "next" === i.swipeDirection ? h[y] : h[y - 1]) 1317 } 1318 if (it && i.once("transitionEnd", function() { 1319 i.loopFix() 1320 }), 0 !== i.velocity) b = g ? Math.abs((-f - i.translate) / i.velocity) : Math.abs((f - i.translate) / i.velocity); 1321 else if (u.freeModeSticky) return void i.slideToClosest(); 1322 u.freeModeMomentumBounce && d ? (i.updateProgress(k), i.setTransition(b), i.setTranslate(f), i.transitionStart(!0, i.swipeDirection), i.animating = !0, nt.transitionEnd(function() { 1323 i && !i.destroyed && r.allowMomentumBounce && (i.emit("momentumBounce"), i.setTransition(u.speed), i.setTranslate(k), nt.transitionEnd(function() { 1324 i && !i.destroyed && i.transitionEnd() 1325 })) 1326 })) : i.velocity ? (i.updateProgress(f), i.setTransition(b), i.setTranslate(f), i.transitionStart(!0, i.swipeDirection), i.animating || (i.animating = !0, nt.transitionEnd(function() { 1327 i && !i.destroyed && i.transitionEnd() 1328 }))) : i.updateProgress(f); 1329 i.updateActiveIndex(); 1330 i.updateSlidesClasses() 1331 } else if (u.freeModeSticky) return void i.slideToClosest(); 1332 (!u.freeModeMomentum || a >= u.longSwipesMs) && (i.updateProgress(), i.updateActiveIndex(), i.updateSlidesClasses()) 1333 } else { 1334 for (var o = 0, rt = i.slidesSizesGrid[0], s = 0; s < e.length; s += u.slidesPerGroup) void 0 !== e[s + u.slidesPerGroup] ? l >
1334= e[s] && l < e[s + u.slidesPerGroup] && (rt = e[(o = s) + u.slidesPerGroup] - e[s]) : l >= e[s] && (o = s, rt = e[e.length - 1] - e[e.length - 2]); 1335 if (ut = (l - e[o]) / rt, a > u.longSwipesMs) { 1336 if (!u.longSwipes) return void i.slideTo(i.activeIndex); 1337 "next" === i.swipeDirection && (ut >= u.longSwipesRatio ? i.slideTo(o + u.slidesPerGroup) : i.slideTo(o)); 1338 "prev" === i.swipeDirection && (ut > 1 - u.longSwipesRatio ? i.slideTo(o + u.slidesPerGroup) : i.slideTo(o)) 1339 } else { 1340 if (!u.shortSwipes) return void i.slideTo(i.activeIndex); 1341 "next" === i.swipeDirection && i.slideTo(o + u.slidesPerGroup); 1342 "prev" === i.swipeDirection && i.slideTo(o) 1343 } 1344 } 1345 }.bind(f); 1346 f.onClick = function(n) { 1347 this.allowClick || (this.params.preventClicks && n.preventDefault(), this.params.preventClicksPropagation && this.animating && (n.stopPropagation(), n.stopImmediatePropagation())) 1348 }.bind(f); 1349 h = "container" === o.touchEventsTarget ? a : v; 1350 c = !!o.nested; 1351 !r.touch && (r.pointerEvents || r.prefixedPointerEvents) ? (h.addEventListener(s.start, f.onTouchStart, !1), u.addEventListener(s.move, f.onTouchMove, c), u.addEventListener(s.end, f.onTouchEnd, !1)) : (r.touch && (l = !("touchstart" !== s.start || !r.passiveListener || !o.passiveListeners) && { 1352 passive: !0, 1353 capture: !1 1354 }, h.addEventListener(s.start, f.onTouchStart, l), h.addEventListener(s.move, f.onTouchMove, r.passiveListener ? { 1355 passive: !1, 1356 capture: c 1357 } : c), h.addEventListener(s.end, f.onTouchEnd, l)), (o.simulateTouch && !e.ios && !e.android || o.simulateTouch && !r.touch && e.ios) && (h.addEventListener("mousedown", f.onTouchStart, !1), u.addEventListener("mousemove", f.onTouchMove, c), u.addEventListener("mouseup", f.onTouchEnd, !1))); 1358 (o.preventClicks || o.preventClicksPropagation) && h.addEventListener("click", f.onClick, !0); 1359 f.on(e.ios || e.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", at, !0) 1360 }, 1361 detachEvents: function() { 1362 var n = this, 1363 t = n.params, 1364 i = n.touchEvents, 1365 h = n.el, 1366 c = n.wrapperEl, 1367 f = "container" === t.touchEventsTarget ? h : c, 1368 o = !!t.nested, 1369 s; 1370 !r.touch && (r.pointerEvents || r.prefixedPointerEvents) ? (f.removeEventListener(i.start, n.onTouchStart, !1), u.removeEventListener(i.move, n.onTouchMove, o), u.removeEventListener(i.end, n.onTouchEnd, !1)) : (r.touch && (s = !("onTouchStart" !== i.start || !r.passiveListener || !t.passiveListeners) && { 1371 passive: !0, 1372 capture: !1 1373 }, f.removeEventListener(i.start, n.onTouchStart, s), f.removeEventListener(i.move, n.onTouchMove, o), f.removeEventListener(i.end, n.onTouchEnd, s)), (t.simulateTouch && !e.ios && !e.android || t.simulateTouch && !r.touch && e.ios) && (f.removeEventListener("mousedown", n.onTouchStart, !1), u.removeEventListener("mousemove", n.onTouchMove, o), u.removeEventListener("mouseup", n.onTouchEnd, !1))); 1374 (t.preventClicks || t.preventClicksPropagation) && f.removeEventListener("click", n.onClick, !0); 1375 n.off(e.ios || e.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", at) 1376 } 1377 }, 1378 k, oi = { 1379 setBreakpoint: function() { 1380 var t = this, 1381 h = t.activeIndex, 1382 c = t.initialized, 1383 o = t.loopedSlides, 1384 f, i, r, u, e, s; 1385 void 0 === o && (o = 0); 1386 f = t.params; 1387 i = f.breakpoints; 1388 i && (!i || 0 !== Object.keys(i).length) && (r = t.getBreakp
1388oint(i), r && t.currentBreakpoint !== r && (u = r in i ? i[r] : void 0, u && ["slidesPerView", "spaceBetween", "slidesPerGroup"].forEach(function(n) { 1389 var t = u[n]; 1390 void 0 !== t && (u[n] = "slidesPerView" !== n || "AUTO" !== t && "auto" !== t ? "slidesPerView" === n ? parseFloat(t) : parseInt(t, 10) : "auto") 1391 }), e = u || t.originalParams, s = f.loop && e.slidesPerView !== f.slidesPerView, n.extend(t.params, e), n.extend(t, { 1392 allowTouchMove: t.params.allowTouchMove, 1393 allowSlideNext: t.params.allowSlideNext, 1394 allowSlidePrev: t.params.allowSlidePrev 1395 }), t.currentBreakpoint = r, s && c && (t.loopDestroy(), t.loopCreate(), t.updateSlides(), t.slideTo(h - o + t.loopedSlides, 0, !1)), t.emit("breakpoint", e))) 1396 }, 1397 getBreakpoint: function(n) { 1398 var t, r, f, u; 1399 if (n) { 1400 for (t = !1, r = [], Object.keys(n).forEach(function(n) { 1401 r.push(n) 1402 }), r.sort(function(n, t) { 1403 return parseInt(n, 10) - parseInt(t, 10) 1404 }), f = 0; f < r.length; f += 1) u = r[f], this.params.breakpointsInverse ? u <= i.innerWidth && (t = u) : u >= i.innerWidth && !t && (t = u); 1405 return t || "max" 1406 } 1407 } 1408 }, 1409 v = { 1410 isIE: !!i.navigator.userAgent.match(/Trident/g) || !!i.navigator.userAgent.match(/MSIE/g), 1411 isEdge: !!i.navigator.userAgent.match(/Edge/g), 1412 isSafari: (k = i.navigator.userAgent.toLowerCase(), 0 <= k.indexOf("safari") && k.indexOf("chrome") < 0 && k.indexOf("android") < 0), 1413 isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(i.navigator.userAgent) 1414 }, 1415 vt = { 1416 init: !0, 1417 direction: "horizontal", 1418 touchEventsTarget: "container", 1419 initialSlide: 0, 1420 speed: 300, 1421 preventInteractionOnTransition: !1, 1422 edgeSwipeDetection: !1, 1423 edgeSwipeThreshold: 20, 1424 freeMode: !1, 1425 freeModeMomentum: !0, 1426 freeModeMomentumRatio: 1, 1427 freeModeMomentumBounce: !0, 1428 freeModeMomentumBounceRatio: 1, 1429 freeModeMomentumVelocityRatio: 1, 1430 freeModeSticky: !1, 1431 freeModeMinimumVelocity: .02, 1432 autoHeight: !1, 1433 setWrapperSize: !1, 1434 virtualTranslate: !1, 1435 effect: "slide", 1436 breakpoints: void 0, 1437 breakpointsInverse: !1, 1438 spaceBetween: 0, 1439 slidesPerView: 1, 1440 slidesPerColumn: 1, 1441 slidesPerColumnFill: "column", 1442 slidesPerGroup: 1, 1443 centeredSlides: !1, 1444 slidesOffsetBefore: 0, 1445 slidesOffsetAfter: 0, 1446 normalizeSlideIndex: !0, 1447 centerInsufficientSlides: !1, 1448 watchOverflow: !1, 1449 roundLengths: !1, 1450 touchRatio: 1, 1451 touchAngle: 45, 1452 simulateTouch: !0, 1453 shortSwipes: !0, 1454 longSwipes: !0, 1455 longSwipesRatio: .5, 1456 longSwipesMs: 300, 1457 followFinger: !0, 1458 allowTouchMove: !0, 1459 threshold: 0, 1460 touchMoveStopPropagation: !0, 1461 touchStartPreventDefault: !0, 1462 touchStartForcePreventDefault: !1, 1463 touchReleaseOnEdges: !1, 1464 uniqueNavElements: !0, 1465 resistance: !0, 1466 resistanceRatio: .85, 1467 watchSlidesProgress: !1, 1468 watchSlidesVisibility: !1, 1469 grabCursor: !1, 1470 preventClicks: !0, 1471 preventClicksPropagation: !0, 1472 slideToClickedSlide: !1, 1473 preloadImages: !0, 1474 updateOnImagesReady: !0, 1475 loop: !1, 1476 loopAdditionalSlides: 0, 1477 loopedSlides: null, 1478 loopFillGroupWithBlank: !1, 1479 allowSlidePrev: !0, 1480 allowSlideNext: !0, 1481 swipeHandler: null, 1482 noSwiping: !0, 1483 noSwipingClass: "swiper-no-swiping", 1484 noSwipingSelector: null, 1485 passiveListeners: !0, 1486 containerModifierClass: "swiper-container-", 1487 slideClass: "swiper-slide", 1488 slideBlankClass: "swiper-slide-invisible-blank", 1489 slideActiveClass: "swiper-slide-active", 1490 slideDuplicateActiveClass: "swiper-slide-duplicate-active", 1491 slideVisibleClass: "swiper-slide-visible", 1492 slideDuplicateClass: "swiper-slide-duplicate", 1493 slideNextClass: "swiper-slide-next", 1494 slideDuplicateNextClass: "swiper-slide-duplicate-next", 1495 slidePrevClass: "swiper-slide-prev", 1496 slideDuplicatePrevClass: "swiper-slide-duplicate-prev", 1497 wrapperClass: "swiper-wrapper", 1498 runCallbacksOnInit: !0 1499 }, 1500 ft = { 1501 update: gt, 1502 translate: ni, 1503 transition: ti, 1504 slide: ii, 1505 loop: ri, 1506 grabCursor: ui, 1507 manipulation: fi, 1508 events: ei, 1509 breakpoints: oi, 1510 checkOverflow: { 1511 checkOverflow: function() { 1512 var n = this, 1513 t = n.isLocked;
1514 n.isLocked = 1 === n.snapGrid.length; 1515 n.allowSlideNext = !n.isLocked; 1516 n.allowSlidePrev = !n.isLocked; 1517 t !== n.isLocked && n.emit(n.isLocked ? "lock" : "unlock"); 1518 t && t !== n.isLocked && (n.isEnd = !1, n.navigation.update()) 1519 } 1520 }, 1521 classes: { 1522 addClasses: function() { 1523 var i = this.classNames, 1524 t = this.params, 1525 u = this.rtl, 1526 f = this.$el, 1527 n = []; 1528 n.push(t.direction); 1529 t.freeMode && n.push("free-mode"); 1530 r.flexbox || n.push("no-flexbox"); 1531 t.autoHeight && n.push("autoheight"); 1532 u && n.push("rtl"); 1533 1 < t.slidesPerColumn && n.push("multirow"); 1534 e.android && n.push("android"); 1535 e.ios && n.push("ios"); 1536 (v.isIE || v.isEdge) && (r.pointerEvents || r.prefixedPointerEvents) && n.push("wp8-" + t.direction); 1537 n.forEach(function(n) { 1538 i.push(t.containerModifierClass + n) 1539 }); 1540 f.addClass(i.join(" ")) 1541 }, 1542 removeClasses: function() { 1543 var n = this.$el, 1544 t = this.classNames; 1545 n.removeClass(t.join(" ")) 1546 } 1547 }, 1548 images: { 1549 loadImage: function(n, t, r, u, f, e) { 1550 function s() { 1551 e && e() 1552 } 1553 var o; 1554 n.complete && f ? s() : t ? ((o = new i.Image).onload = s, o.onerror = s, u && (o.sizes = u), r && (o.srcset = r), t && (o.src = t)) : s() 1555 }, 1556 preloadImages: function() { 1557 function r() { 1558 null != n && n && !n.destroyed && (void 0 !== n.imagesLoaded && (n.imagesLoaded += 1), n.imagesLoaded === n.imagesToLoad.length && (n.params.updateOnImagesReady && n.update(), n.emit("imagesReady"))) 1559 } 1560 var n = this, 1561 i, t; 1562 for (n.imagesToLoad = n.$el.find("img"), i = 0; i < n.imagesToLoad.length; i += 1) t = n.imagesToLoad[i], n.loadImage(t, t.currentSrc || t.getAttribute("src"), t.srcset || t.getAttribute("srcset"), t.sizes || t.getAttribute("sizes"), !0, r) 1563 } 1564 } 1565 }, 1566 et = {}, 1567 o = function(i) { 1568 function u() { 1569 for (var w, s, e, f, y, o, p, a, c, v, h = [], l = arguments.length; l--;) h[l] = arguments[l]; 1570 return 1 === h.length && h[0].constructor && h[0].constructor === Object ? e = h[0] : (s = (w = h)[0], e = w[1]), e || (e = {}), e = n.extend({}, e), s && !e.el && (e.el = s), i.call(this, e), Object.keys(ft).forEach(function(n) { 1571 Object.keys(ft[n]).forEach(function(t) { 1572 u.prototype[t] || (u.prototype[t] = ft[n][t]) 1573 }) 1574 }), f = this, void 0 === f.modules && (f.modules = {}), Object.keys(f.modules).forEach(function(n) { 1575 var r = f.modules[n], 1576 t, i; 1577 if (r.params) { 1578 if (t = Object.keys(r.params)[0], i = r.params[t], "object" != typeof i || null === i) return; 1579 if (!(t in e && "enabled" in i)) return; 1580 !0 === e[t] && (e[t] = { 1581 enabled: !0 1582 }); 1583 "object" != typeof e[t] || "enabled" in e[t] || (e[t].enabled = !0); 1584 e[t] || (e[t] = { 1585 enabled: !1 1586 }) 1587 } 1588 }), y = n.extend({}, vt), f.useModulesParams(y), f.params = n.extend({}, y, et, e), f.originalParams = n.extend({}, f.params), f.passedParams = n.extend({}, e), o = (f.$ = t)(f.params.el), (s = o[0]) ? 1 < o.length ? (p = [], o.each(function(t, i) { 1589 var r = n.extend({}, e, { 1590 el: i 1591 }); 1592 p.push(new u(r)) 1593 }), p) : (s.swiper = f, o.data("swiper", f), v = o.children("." + f.params.wrapperClass), n.extend(f, { 1594 $el: o, 1595 el: s, 1596 $wrapperEl: v, 1597 wrapperEl: v[0], 1598 classNames: [], 1599 slides: t(), 1600 slidesGrid: [], 1601 snapGrid: [], 1602 slidesSizesGrid: [], 1603 isHorizontal: function() { 1604 return "horizontal" === f.params.direction 1605 }, 1606 isVertical: function() { 1607 return "vertical" === f.params.direction 1608 }, 1609 rtl: "rtl" === s.dir.toLowerCase() || "rtl" === o.css("direction"), 1610 rtlTranslate: "horizontal" === f.params.direction && ("rtl" === s.dir.toLowerCase() || "rtl" === o.css("direction")), 1611 wrongRTL: "-webkit-box" === v.css("display"), 1612 activeIndex: 0, 1613 realIndex: 0, 1614 isBeginning: !0, 1615 isEnd: !1, 1616 translate: 0, 1617 previousTranslate: 0, 1618 progress: 0, 1619 velocity: 0, 1620 animating: !1, 1621 allowSlideNext: f.params.allowSlideNext, 1622 allowSlidePrev: f.params.allowSlidePrev, 1623 touchEvents: (a = ["touchstart", "touchmove", "touchend"], c = ["mousedown", "mousemove", "mouseup"], r.pointerEvents ? c = ["pointerdown", "pointermove", "pointerup"] : r.prefixedPointerEvents && (c = ["MSPointerDown", "MSPointerMove", "MSPointerUp"]), f.touchEventsTouch = { 1624 start: a[0], 1625 move: a[1], 1626 end: a[2] 1627 }, f.touchEventsDesktop = { 1628 start: c[0], 1629 move: c[1], 1630 end: c[2] 1631 }, r.touch || !f.params.simulateTouch ? f.touchEventsTouch : f.touchEventsDesktop), 1632 touchEventsData: { 1633 isTouched: void 0, 1634 isMoved: void 0, 1635 allowTouchCallbacks: void 0, 1636 touchStartTime: void 0, 1637 isScrolling: void 0, 1638 currentTranslate: void 0, 1639 startTranslate: void 0, 1640 allowThresholdMove: void 0, 1641 formElements: "input, select, option, textarea, button, video", 1642 lastClickTime: n.now(), 1643 clickTimeout: void 0, 1644 velocities: [], 1645 allowMomentumBounce: void 0, 1646 isTouchEvent: void 0, 1647 startMoving: void 0 1648 }, 1649 allowClick: !0, 1650 allowTouchMove: f.params.allowTouchMove, 1651 touches: { 1652 startX: 0, 1653 startY: 0, 1654 currentX: 0, 1655 currentY: 0, 1656 diff: 0 1657 }, 1658 imagesToLoad: [], 1659 imagesLoaded: 0 1660 }), f.useModules(), f.params.init && f.init(), f) : void 0 1661 } 1662 i && (u.__proto__ = i); 1663 var f = { 1664 extendedDefaults: { 1665 configurable: !0 1666 }, 1667 defaults: { 1668 configurable: !0 1669 }, 1670 Class: { 1671 configurable: !0 1672 }, 1673 $: { 1674 configurable: !0 1675 } 1676 }; 1677 return ((u.prototype = Object.create(i && i.prototype)).constructor = u).prototype.slidesPerViewDynamic = function() { 1678 var t = this, 1679 l = t.params, 1680 n = t.slides, 1681 c = t.slidesGrid, 1682 s = t.size, 1683 i = t.activeIndex, 1684 f = 1, 1685 e, h, r, u, o; 1686 if (l.centeredSlides) { 1687 for (h = n[i].swiperSlideSize, r = i + 1; r < n.length; r += 1) n[r] && !e && (f += 1, s < (h += n[r].swiperSlideSize) && (e = !0)); 1688 for (u = i - 1; 0 <= u; u -= 1) n[u] && !e && (f += 1, s < (h += n[u].swiperSlideSize) && (e = !0)) 1689 } else 1690 for (o = i + 1; o < n.length; o += 1) c[o] - c[i] < s && (f += 1); 1691 return f 1692 }, u.prototype.update = function() { 1693 function r() { 1694 var t = n.rtlTranslate ? -1 * n.translate : n.translate, 1695 i = Math.min(Math.max(t, n.maxTranslate()), n.minTranslate()); 1696 n.setTranslate(i); 1697 n.updateActiveIndex(); 1698 n.updateSlidesClasses() 1699 } 1700 var n = this, 1701 i, t;
vendor: 5,247 bytes, lines 1702-1804
1702 n && !n.destroyed && (i = n.snapGrid, t = n.params, t.breakpoints && n.setBreakpoint(), n.updateSize(), n.updateSlides(), n.updateProgress(), n.updateSlidesClasses(), n.params.freeMode ? (r(), n.params.autoHeight && n.updateAutoHeight()) : (("auto" === n.params.slidesPerView || 1 < n.params.slidesPerView) && n.isEnd && !n.params.centeredSlides ? n.slideTo(n.slides.length - 1, 0, !1, !0) : n.slideTo(n.activeIndex, 0, !1, !0)) || r(), t.watchOverflow && i !== n.snapGrid && n.checkOverflow(), n.emit("update")) 1703 }, u.prototype.init = function() { 1704 var n = this; 1705 n.initialized || (n.emit("beforeInit"), n.params.breakpoints && n.setBreakpoint(), n.addClasses(), n.params.loop && n.loopCreate(), n.updateSize(), n.updateSlides(), n.params.watchOverflow && n.checkOverflow(), n.params.grabCursor && n.setGrabCursor(), n.params.preloadImages && n.preloadImages(), n.params.loop ? n.slideTo(n.params.initialSlide + n.loopedSlides, 0, n.params.runCallbacksOnInit) : n.slideTo(n.params.initialSlide, 0, n.params.runCallbacksOnInit), n.attachEvents(), n.initialized = !0, n.emit("init")) 1706 }, u.prototype.destroy = function(t, i) { 1707 void 0 === t && (t = !0); 1708 void 0 === i && (i = !0); 1709 var r = this, 1710 u = r.params, 1711 e = r.$el, 1712 o = r.$wrapperEl, 1713 f = r.slides; 1714 return void 0 === r.params || r.destroyed || (r.emit("beforeDestroy"), r.initialized = !1, r.detachEvents(), u.loop && r.loopDestroy(), i && (r.removeClasses(), e.removeAttr("style"), o.removeAttr("style"), f && f.length && f.removeClass([u.slideVisibleClass, u.slideActiveClass, u.slideNextClass, u.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index").removeAttr("data-swiper-column").removeAttr("data-swiper-row")), r.emit("destroy"), Object.keys(r.eventsListeners).forEach(function(n) { 1715 r.off(n) 1716 }), !1 !== t && (r.$el[0].swiper = null, r.$el.data("swiper", null), n.deleteProps(r)), r.destroyed = !0), null 1717 }, u.extendDefaults = function(t) { 1718 n.extend(et, t) 1719 }, f.extendedDefaults.get = function() { 1720 return et 1721 }, f.defaults.get = function() { 1722 return vt 1723 }, f.Class.get = function() { 1724 return i 1725 }, f.$.get = function() { 1726 return t 1727 }, Object.defineProperties(u, f), u 1728 }(h), 1729 si = { 1730 name: "device", 1731 proto: { 1732 device: e 1733 }, 1734 "static": { 1735 device: e 1736 } 1737 }, 1738 hi = { 1739 name: "support", 1740 proto: { 1741 support: r 1742 }, 1743 "static": { 1744 support: r 1745 } 1746 }, 1747 ci = { 1748 name: "browser", 1749 proto: { 1750 browser: v 1751 }, 1752 "static": { 1753 browser: v 1754 } 1755 }, 1756 li = { 1757 name: "resize", 1758 create: function() { 1759 var t = this; 1760 n.extend(t, { 1761 resize: { 1762 resizeHandler: function() { 1763 t && !t.destroyed && t.initialized && (t.emit("beforeResize"), t.emit("resize")) 1764 }, 1765 orientationChangeHandler: function() { 1766 t && !t.destroyed && t.initialized && t.emit("orientationchange") 1767 } 1768 } 1769 }) 1770 }, 1771 on: { 1772 init: function() { 1773 i.addEventListener("resize", this.resize.resizeHandler); 1774 i.addEventListener("orientationchange", this.resize.orientationChangeHandler) 1775 }, 1776 destroy: function() { 1777 i.removeEventListener("resize", this.resize.resizeHandler); 1778 i.removeEventListener("orientationchange", this.resize.orientationChangeHandler) 1779 } 1780 } 1781 }, 1782 d = { 1783 func: i.MutationObserver || i.WebkitMutationObserver, 1784 attach: function(n, t) { 1785 void 0 === t && (t = {}); 1786 var r = this, 1787 u = new d.func(function(n) { 1788 if (1 !== n.length) { 1789 var t = function() { 1790 r.emit("observerUpdate", n[0]) 1791 }; 1792 i.requestAnimationFrame ? i.requestAnimationFrame(t) : i.setTimeout(t, 0) 1793 } else r.emit("observerUpdate", n[0]) 1794 }); 1795 u.observe(n, { 1796 attributes: void 0 === t.attributes || t.attributes, 1797 childList: void 0 === t.childList || t.childList, 1798 characterData: void 0 === t.characterData || t.characterData 1799 }); 1800 r.observer.observers.push(u) 1801 }, 1802 init: function() { 1803 var n = this, 1804 i, t;
1805 if (r.observer && n.params.observer) { 1806 if (n.params.observeParents) 1807 for (i = n.$el.parents(), t = 0; t < i.length; t += 1) n.observer.attach(i[t]); 1808 n.observer.attach(n.$el[0], { 1809 childList: n.params.observeSlideChildren 1810 }); 1811 n.observer.attach(n.$wrapperEl[0], { 1812 attributes: !1 1813 }) 1814 } 1815 }, 1816 destroy: function() { 1817 this.observer.observers.forEach(function(n) { 1818 n.disconnect() 1819 }); 1820 this.observer.observers = [] 1821 } 1822 }, 1823 ai = { 1824 name: "observer", 1825 params: { 1826 observer: !1, 1827 observeParents: !1, 1828 observeSlideChildren: !1 1829 }, 1830 create: function() { 1831 n.extend(this, { 1832 observer: { 1833 init: d.init.bind(this), 1834 attach: d.attach.bind(this), 1835 destroy: d.destroy.bind(this), 1836 observers: [] 1837 } 1838 }) 1839 }, 1840 on: { 1841 init: function() { 1842 this.observer.init() 1843 }, 1844 destroy: function() { 1845 this.observer.destroy() 1846 } 1847 } 1848 }, 1849 g = { 1850 update: function(t) { 1851 function ut() { 1852 i.updateSlides(); 1853 i.updateProgress(); 1854 i.updateSlidesClasses(); 1855 i.lazy && i.params.lazy.enabled && i.lazy.load() 1856 } 1857 var i = this, 1858 v = i.params, 1859 y = v.slidesPerView, 1860 c = v.slidesPerGroup, 1861 ft = v.centeredSlides, 1862 nt = i.params.virtual, 1863 tt = nt.addSlidesBefore, 1864 it = nt.addSlidesAfter, 1865 f = i.virtual, 1866 p = f.from, 1867 l = f.to, 1868 s = f.slides, 1869 et = f.slidesGrid, 1870 rt = f.renderSlide, 1871 ot = f.offset, 1872 w, b, k, d, g, a, o, r; 1873 i.updateActiveIndex(); 1874 d = i.activeIndex || 0; 1875 w = i.rtlTranslate ? "right" : i.isHorizontal() ? "left" : "top"; 1876 ft ? (b = Math.floor(y / 2) + c + tt, k = Math.floor(y / 2) + c + it) : (b = y + (c - 1) + tt, k = c + it); 1877 var u = Math.max((d || 0) - k, 0), 1878 e = Math.min((d || 0) + b, s.length - 1), 1879 h = (i.slidesGrid[u] || 0) - (i.slidesGrid[0] || 0); 1880 if (n.extend(i.virtual, { 1881 from: u, 1882 to: e, 1883 offset: h, 1884 slidesGrid: i.slidesGrid 1885 }), p === u && l === e && !t) return i.slidesGrid !== et && h !== ot && i.slides.css(w, h + "px"), void i.updateProgress(); 1886 if (i.params.virtual.renderExternal) return i.params.virtual.renderExternal.call(i, { 1887 offset: h, 1888 from: u, 1889 to: e, 1890 slides: function() { 1891 for (var t = [], n = u; n <= e; n += 1) t.push(s[n]); 1892 return t 1893 }() 1894 }), void ut(); 1895 if (g = [], a = [], t) i.$wrapperEl.find("." + i.params.slideClass).remove(); 1896 else 1897 for (o = p; o <= l; o += 1)(o < u || e < o) && i.$wrapperEl.find("." + i.params.slideClass + '[data-swiper-slide-index="' + o + '"]').remove(); 1898 for (r = 0; r < s.length; r += 1) u <= r && r <= e && (void 0 === l || t ? a.push(r) : (l < r && a.push(r), r < p && g.push(r))); 1899 a.forEach(function(n) { 1900 i.$wrapperEl.append(rt(s[n], n)) 1901 }); 1902 g.sort(function(n, t) { 1903 return t - n 1904 }
1904).forEach(function(n) { 1905 i.$wrapperEl.prepend(rt(s[n], n)) 1906 }); 1907 i.$wrapperEl.children(".swiper-slide").css(w, h + "px"); 1908 ut() 1909 }, 1910 renderSlide: function(n, i) { 1911 var r = this, 1912 f = r.params.virtual, 1913 u; 1914 return f.cache && r.virtual.cache[i] ? r.virtual.cache[i] : (u = f.renderSlide ? t(f.renderSlide.call(r, n, i)) : t('<div class="' + r.params.slideClass + '" data-swiper-slide-index="' + i + '">' + n + "<\/div>"), u.attr("data-swiper-slide-index") || u.attr("data-swiper-slide-index", i), f.cache && (r.virtual.cache[i] = u), u) 1915 }, 1916 appendSlide: function(n) { 1917 this.virtual.slides.push(n); 1918 this.virtual.update(!0) 1919 }, 1920 prependSlide: function(n) { 1921 var t = this, 1922 i, r; 1923 (t.virtual.slides.unshift(n), t.params.virtual.cache) && (i = t.virtual.cache, r = {}
1923, Object.keys(i).forEach(function(n) { 1924 r[n + 1] = i[n] 1925 }), t.virtual.cache = r); 1926 t.virtual.update(!0); 1927 t.slideNext(0) 1928 } 1929 }, 1930 vi = { 1931 name: "virtual", 1932 params: { 1933 virtual: { 1934 enabled: !1, 1935 slides: [], 1936 cache: !0, 1937 renderSlide: null, 1938 renderExternal: null, 1939 addSlidesBefore: 0, 1940 addSlidesAfter: 0 1941 } 1942 }, 1943 create: function() { 1944 var t = this; 1945 n.extend(t, { 1946 virtual: { 1947 update: g.update.bind(t), 1948 appendSlide: g.appendSlide.bind(t), 1949 prependSlide: g.prependSlide.bind(t), 1950 renderSlide: g.renderSlide.bind(t), 1951 slides: t.params.virtual.slides, 1952 cache: {} 1953 } 1954 }) 1955 }, 1956 on: { 1957 beforeInit: function() { 1958 var t = this, 1959 i; 1960 t.params.virtual.enabled && (t.classNames.push(t.params.containerModifierClass + "virtual"), i = { 1961 watchSlidesProgress: !0 1962 }, n.extend(t.params, i), n.extend(t.originalParams, i), t.params.initialSlide || t.virtual.update(
1962)) 1963 }, 1964 setTranslate: function() { 1965 this.params.virtual.enabled && this.virtual.update() 1966 } 1967 } 1968 }, 1969 ot = { 1970 handle: function(n) { 1971 var t = this, 1972 o = t.rtlTranslate, 1973 f = n, 1974 r, c, l, h, s; 1975 if ((f.originalEvent && (f = f.originalEvent), r = f.keyCode || f.charCode, !t.allowSlideNext && (t.isHorizontal() && 39 === r || t.isVertical() && 40 === r)) || !t.allowSlidePrev && (t.isHorizontal() && 37 === r || t.isVertical() && 38 === r)) return !1; 1976 if (!(f.shiftKey || f.altKey || f.ctrlKey || f.metaKey || u.activeElement && u.activeElement.nodeName && ("input" === u.activeElement.nodeName.toLowerCase() || "textarea" === u.activeElement.nodeName.toLowerCase()))) { 1977 if (t.params.keyboard.onlyInViewport && (37 === r || 39 === r || 38 === r || 40 === r)) { 1978 if (c = !1, 0 < t.$el.parents("." + t.params.slideClass).length && 0 === t.$el.parents("." + t.params.slideActiveClass).length) return; 1979 var a = i.innerWidth, 1980 v = i.innerHeight, 1981 e = t.$el.offset(); 1982 for (o && (e.left -= t.$el[0].scrollLeft), l = [ 1983 [e.left, e.top], 1984 [e.left + t.width, e.top], 1985 [e.left, e.top + t.height], 1986 [e.left + t.width, e.top + t.height] 1987 ], h = 0; h < l.length; h += 1) s = l[h], 0 <= s[0] && s[0] <= a && 0 <= s[1] && s[1] <= v && (c = !0); 1988 if (!c) return 1989 } 1990 t.isHorizontal() ? (37 !== r && 39 !== r || (f.preventDefault ? f.preventDefault() : f.returnValue = !1), (39 === r && !o || 37 === r && o) && t.slideNext(), (37 === r && !o || 39 === r && o) && t.slidePrev()) : (38 !== r && 40 !== r || (f.preventDefault ? f.preventDefault() : f.returnValue = !1), 40 === r && t.slideNext(), 38 === r && t.slidePrev()); 1991 t.emit("keyPress", r) 1992 } 1993 }, 1994 enable: function() { 1995 this.keyboard.enabled || (t(u).on("keydown", this.keyboard.handle), this.keyboard.enabled = !0) 1996 }, 1997 disable: function() { 1998 this.keyboard.enabled && (t(u).off("keydown", this.keyboard.handle), this.keyboard.enabled = !1) 1999 } 2000 }, 2001 yi = { 2002 name: "keyboard", 2003 params: { 2004 keyboard: { 2005 enabled: !1, 2006 onlyInViewport: !0 2007 } 2008 }, 2009 create: function() { 2010 n.extend(this, { 2011 keyboard: { 2012 enabled: !1, 2013 enable: ot.enable.bind(this), 2014 disable: ot.disable.bind(this), 2015 handle: ot.handle.bind(this) 2016 } 2017 }) 2018 }, 2019 on: { 2020 init: function() { 2021 this.params.keyboard.enabled && this.keyboard.enable() 2022 }, 2023 destroy: function() { 2024 this.keyboard.enabled && this.keyboard.disable() 2025 } 2026 } 2027 }, 2028 c = { 2029 lastScrollTime: n.now(), 2030 event: -1 < i.navigator.userAgent.indexOf("firefox") ? "DOMMouseScroll" : function() { 2031 var t = "onwheel", 2032 n = t in u, 2033 i; 2034 return n || (i = u.createElement("div"), i.setAttribute(t, "return;"), n = "function" == typeof i[t]), !n && u.implementation && u.implementation.hasFeature && !0 !== u.implementation.hasFeature("", "") && (n = u.implementation.hasFeature("Events.wheel", "3.0")), n 2035 }() ? "wheel" : "mousewheel", 2036 normalize: function(n) { 2037 var u = 0, 2038 t = 0, 2039 i = 0, 2040 r = 0; 2041 return "detail" in n && (t = n.detail), "wheelDelta" in n && (t = -n.wheelDelta / 120), "wheelDeltaY" in n && (t = -n.wheelDeltaY / 120), "wheelDeltaX" in n && (u = -n.wheelDeltaX / 120), "axis" in n && n.axis === n.HORIZONTAL_AXIS && (u = t, t = 0), i = 10 * u, r = 10 * t, "deltaY" in n && (r = n.deltaY), "deltaX" in n && (i = n.deltaX), (i || r) && n.deltaMode && (1 === n.deltaMode ? (i *= 40, r *= 40) : (i *= 800, r *= 800)), i && !u && (u = i < 1 ? -1 : 1), r && !t && (t = r < 1 ? -1 : 1), { 2042 spinX: u, 2043 spinY: t, 2044 pixelX: i, 2045 pixelY: r 2046 } 2047 }, 2048 handleMouseEnter: function() { 2049 this.mouseEntered = !0 2050 }, 2051 handleMouseLeave: function() { 2052 this.mouseEntered = !1 2053 }, 2054 handle: function(t) { 2055 var u = t, 2056 r = this, 2057 s = r.params.mousewheel; 2058 if (!r.mouseEntered && !s.releaseOnEdges) return !0; 2059 u.originalEvent && (u = u.originalEvent); 2060 var e = 0, 2061 h = r.rtlTranslate ? -1 : 1, 2062 f = c.normalize(u); 2063 if (s.forceToAxis) 2064 if (r.isHorizontal()) { 2065 if (!(Math.abs(f.pixelX) > Math.abs(f.pixelY))) return !0; 2066 e = f.pixelX * h 2067 } else { 2068 if (!(Math.abs(f.pixelY) > Math.abs(f.pixelX))) return !0; 2069 e = f.pixelY 2070 } else e = Math.abs(f.pixelX) > Math.abs(f.pixelY) ? -f.pixelX * h : -f.pixelY; 2071 if (0 === e) return !0; 2072 if (s.invert && (e = -e), r.params.freeMode) { 2073 r.params.loop && r.loopFix(); 2074 var o = r.getTranslate() + e * s.sensitivity, 2075 l = r.isBeginning, 2076 a = r.isEnd; 2077 if (o >= r.minTranslate() && (o = r.minTranslate()), o <= r.maxTranslate() && (o = r.maxTranslate()), r.setTransition(0), r.setTranslate(o), r.updateProgress(), r.updateActiveIndex(), r.updateSlidesClasses(), (!l && r.isBeginning || !a && r.isEnd) && r.updateSlidesClasses(), r.params.freeModeSticky && (clearTimeout(r.mousewheel.timeout), r.mousewheel.timeout = n.nextTick(function() { 2078 r.slideToClosest() 2079 }, 300)), r.emit("scroll", u), r.params.autoplay && r.params.autoplayDisableOnInteraction && r.autoplay.stop(), o === r.minTranslate() || o === r.maxTranslate()) return !0 2080 } else { 2081 if (60 < n.now() - r.mousewheel.lastScrollTime) 2082 if (e < 0) 2083 if (r.isEnd && !r.params.loop || r.animating) { 2084 if (s.releaseOnEdges) return !0 2085 } else r.slideNext(), r.emit("scroll", u); 2086 else if (r.isBeginning && !r.params.loop || r.animating) { 2087 if (s.releaseOnEdges) return !0 2088 } else r.slidePrev(), r.emit("scroll", u); 2089 r.mousewheel.lastScrollTime = (new i.Date).getTime() 2090 } 2091 return u.preventDefault ? u.preventDefault() : u.returnValue = !1, !1 2092 }, 2093 enable: function() { 2094 var n = this, 2095 i; 2096 return c.event ? n.mousewheel.enabled ? !1 : (i = n.$el, "container" !== n.params.mousewheel.eventsTarged && (i = t(n.params.mousewheel.eventsTarged)), i.on("mouseenter", n.mousewheel.handleMouseEnter), i.on("mouseleave", n.mousewheel.handleMouseLeave), i.on(c.event, n.mousewheel.handle), n.mousewheel.enabled = !0) : !1 2097 }, 2098 disable: function() { 2099 var n = this, 2100 i; 2101 return c.event ? n.mousewheel.enabled ? (i = n.$el, "container" !== n.params.mousewheel.eventsTarged && (i = t(n.params.mousewheel.eventsTarged)), i.off(c.event, n.mousewheel.handle), !(n.mousewheel.enabled = !1)) : !1 : !1 2102 } 2103 }, 2104 y = { 2105 update: function() { 2106 var n = this, 2107 t = n.params.navigation; 2108 if (!n.params.loop) { 2109 var u = n.navigation, 2110 i = u.$nextEl, 2111 r = u.$prevEl; 2112 r && 0 < r.length && (n.isBeginning ? r.addClass(t.disabledClass) : r.removeClass(t.disabledClass), r[n.params.watchOverflow && n.isLocked ? "addClass" : "removeClass"](t.lockClass)); 2113 i && 0 < i.length && (n.isEnd ? i.addClass(t.disabledClass) : i.removeClass(t.disabledClass), i[n.params.watchOverflow && n.isLocked ? "addClass" : "removeClass"](t.lockClass)) 2114 } 2115 }, 2116 onPrevClick: function(n) { 2117 n.preventDefault();
vendor: 4,163 bytes, lines 2118-2161
2118 this.isBeginning && !this.params.loop || this.slidePrev() 2119 }, 2120 onNextClick: function(n) { 2121 n.preventDefault(); 2122 this.isEnd && !this.params.loop || this.slideNext() 2123 }, 2124 init: function() { 2125 var u, f, r = this, 2126 i = r.params.navigation; 2127 (i.nextEl || i.prevEl) && (i.nextEl && (u = t(i.nextEl), r.params.uniqueNavElements && "string" == typeof i.nextEl && 1 < u.length && 1 === r.$el.find(i.nextEl).length && (u = r.$el.find(i.nextEl))), i.prevEl && (f = t(i.prevEl), r.params.uniqueNavElements && "string" == typeof i.prevEl && 1 < f.length && 1 === r.$el.find(i.prevEl).length && (f = r.$el.find(i.prevEl))), u && 0 < u.length && u.on("click", r.navigation.onNextClick), f && 0 < f.length && f.on("click", r.navigation.onPrevClick), n.extend(r.navigation, { 2128 $nextEl: u, 2129 nextEl: u && u[0], 2130 $prevEl: f, 2131 prevEl: f && f[0] 2132 })) 2133 }, 2134 destroy: function() { 2135 var n = this, 2136 r = n.navigation, 2137 t = r.$nextEl, 2138 i = r.$prevEl; 2139 t && t.length && (t.off("click", n.navigation.onNextClick), t.removeClass(n.params.navigation.disabledClass)); 2140 i && i.length && (i.off("click", n.navigation.onPrevClick), i.removeClass(n.params.navigation.disabledClass)) 2141 } 2142 }, 2143 nt = { 2144 update: function() { 2145 var n = this, 2146 w = n.rtl, 2147 i = n.params.pagination, 2148 e, s, l, u, a; 2149 if (i.el && n.pagination.el && n.pagination.$el && 0 !== n.pagination.$el.length) { 2150 var r, h = n.virtual && n.params.virtual.enabled ? n.virtual.slides.length : n.slides.length, 2151 f = n.pagination.$el, 2152 o = n.params.loop ? Math.ceil((h - 2 * n.loopedSlides) / n.params.slidesPerGroup) : n.snapGrid.length; 2153 if (n.params.loop ? ((r = Math.ceil((n.activeIndex - n.loopedSlides) / n.params.slidesPerGroup)) > h - 1 - 2 * n.loopedSlides && (r -= h - 2 * n.loopedSlides), o - 1 < r && (r -= o), r < 0 && "bullets" !== n.params.paginationType && (r = o + r)) : r = void 0 !== n.snapIndex ? n.snapIndex : n.activeIndex || 0, "bullets" === i.type && n.pagination.bullets && 0 < n.pagination.bullets.length) { 2154 if (u = n.pagination.bullets, i.dynamicBullets && (n.pagination.bulletSize = u.eq(0)[n.isHorizontal() ? "outerWidth" : "outerHeight"](!0), f.css(n.isHorizontal() ? "width" : "height", n.pagination.bulletSize * (i.dynamicMainBullets + 4) + "px"), 1 < i.dynamicMainBullets && void 0 !== n.previousIndex && (n.pagination.dynamicBulletIndex += r - n.previousIndex, n.pagination.dynamicBulletIndex > i.dynamicMainBullets - 1 ? n.pagination.dynamicBulletIndex = i.dynamicMainBullets - 1 : n.pagination.dynamicBulletIndex < 0 && (n.pagination.dynamicBulletIndex = 0)), e = r - n.pagination.dynamicBulletIndex, l = ((s = e + (Math.min(u.length, i.dynamicMainBullets) - 1)) + e) / 2), u.removeClass(i.bulletActiveClass + " " + i.bulletActiveClass + "-next " + i.bulletActiveClass + "-next-next " + i.bulletActiveClass + "-prev " + i.bulletActiveClass + "-prev-prev " + i.bulletActiveClass + "-main"), 1 < f.length) u.each(function(n, u) { 2155 var f = t(u), 2156 o = f.index(); 2157 o === r && f.addClass(i.bulletActiveClass); 2158 i.dynamicBullets && (e <= o && o <= s && f.addClass(i.bulletActiveClass + "-main"), o === e && f.prev().addClass(i.bulletActiveClass + "-prev").prev().addClass(i.bulletActiveClass + "-prev-prev"), o === s && f.next().addClass(i.bulletActiveClass + "-next").next().addClass(i.bulletActiveClass + "-next-next")) 2159 }); 2160 else if (u.eq(r).addClass(i.bulletActiveClass), i.dynamicBullets) { 2161 for (var b = u.eq(e), k = u.eq(s), c = e; c <= s;
2161 c += 1) u.eq(c).addClass(i.bulletActiveClass + "-main"); 2162 b.prev().addClass(i.bulletActiveClass + "-prev").prev().addClass(i.bulletActiveClass + "-prev-prev"); 2163 k.next().addClass(i.bulletActiveClass + "-next").next().addClass(i.bulletActiveClass + "-next-next") 2164 } 2165 if (i.dynamicBullets) { 2166 var d = Math.min(u.length, i.dynamicMainBullets + 4), 2167 g = (n.pagination.bulletSize * d - n.pagination.bulletSize) / 2 - l * n.pagination.bulletSize, 2168 nt = w ? "right" : "left"; 2169 u.css(n.isHorizontal() ? nt : "top", g + "px") 2170 } 2171 } 2172 if ("fraction" === i.type && (f.find("." + i.currentClass).text(i.formatFractionCurrent(r + 1)), f.find("." + i.totalClass).text(i.formatFractionTotal(o))), "progressbar" === i.type) { 2173 a = i.progressbarOpposite ? n.isHorizontal() ? "vertical" : "horizontal" : n.isHorizontal() ? "horizontal" : "vertical"; 2174 var v = (r + 1) / o, 2175 y = 1, 2176 p = 1; 2177 "horizontal" === a ? y = v : p = v; 2178 f.find("." + i.progressbarFillClass).transform("translate3d(0,0,0) scaleX(" + y + ") scaleY(" + p + ")").transition(n.params.speed) 2179 } 2180 "custom" === i.type && i.renderCustom ? (f.html(i.renderCustom(n, r + 1, o)), n.emit("paginationRender", n, f[0])) : n.emit("paginationUpdate", n, f[0]); 2181 f[n.params.watchOverflow && n.isLocked ? "addClass" : "removeClass"](i.lockClass) 2182 } 2183 }, 2184 render: function() { 2185 var t = this, 2186 n = t.params.pagination, 2187 f, u; 2188 if (n.el && t.pagination.el && t.pagination.$el && 0 !== t.pagination.$el.length) { 2189 var e = t.virtual && t.params.virtual.enabled ? t.virtual.slides.length : t.slides.length, 2190 r = t.pagination.$el, 2191 i = ""; 2192 if ("bullets" === n.type) { 2193 for (f = t.params.loop ? Math.ceil((e - 2 * t.loopedSlides) / t.params.slidesPerGroup) : t.snapGrid.length, u = 0; u < f; u += 1) i += n.renderBullet ? n.renderBullet.call(t, u, n.bulletClass) : "<" + n.bulletElement + ' class="' + n.bulletClass + '"><\/' + n.bulletElement + ">"; 2194 r.html(i); 2195 t.pagination.bullets = r.find("." + n.bulletClass) 2196 } 2197 "fraction" === n.type && (i = n.renderFraction ? n.renderFraction.call(t, n.currentClass, n.totalClass) : '<span class="' + n.currentClass + '"><\/span> / <span class="' + n.totalClass + '"><\/span>', r.html(i)); 2198 "progressbar" === n.type && (i = n.renderProgressbar ? n.renderProgressbar.call(t, n.progressbarFillClass) : '<span class="' + n.progressbarFillClass + '"><\/span>', r.html(i)); 2199 "custom" !== n.type && t.emit("paginationRender", t.pagination.$el[0]) 2200 } 2201 }, 2202 init: function() { 2203 var u = this, 2204 i = u.params.pagination, 2205 r; 2206 i.el && (r = t(i.el), 0 !== r.length && (u.params.uniqueNavElements && "string" == typeof i.el && 1 < r.length && 1 === u.$el.find(i.el).length && (r = u.$el.find(i.el)), "bullets" === i.type && i.clickable && r.addClass(i.clickableClass), r.addClass(i.modifierClass + i.type), "bullets" === i.type && i.dynamicBullets && (r.addClass("" + i.modifierClass + i.type + "-dynamic"), u.pagination.dynamicBulletIndex = 0, i.dynamicMainBullets < 1 && (i.dynamicMainBullets = 1)), "progressbar" === i.type && i.progressbarOpposite && r.addClass(i.progressbarOppositeClass), i.clickable && r.on("click", "." + i.bulletClass, function(n) { 2207 n.preventDefault(); 2208 var i = t(this).index() * u.params.slidesPerGroup; 2209 u.params.loop && (i += u.loopedSlides); 2210 u.slideTo(i) 2211 }), n.extend(u.pagination, { 2212 $el: r, 2213 el: r[0] 2214 }))) 2215 }, 2216 destroy: function() { 2217 var n = this, 2218 t = n.params.pagination, 2219 i; 2220 t.el && n.pagination.el && n.pagination.$el && 0 !== n.pagination.$el.length && (i = n.pagination.$el, i.removeClass(t.hiddenClass), i.removeClass(t.modifierClass + t.type), n.pagination.bullets && n.pagination.bullets.removeClass(t.bulletActiveClass), t.clickable && i.off("click", "." + t.bulletClass)) 2221 } 2222 }, 2223 s = { 2224 setTranslate: function() { 2225 var t = this; 2226 if (t.params.scrollbar.el && t.scrollbar.el) { 2227 var o = t.scrollbar, 2228 h = t.rtlTranslate, 2229 c = t.progress, 2230 i = o.dragSize, 2231 e = o.trackSize, 2232 u = o.$dragEl, 2233 s = o.$el, 2234 l = t.params.scrollbar, 2235 f = i, 2236 n = (e - i) * c; 2237 h ? 0 < (n = -n) ? (f = i - n, n = 0) : e < -n + i && (f = e + n) : n < 0 ? (f = i + n, n = 0) : e < n + i && (f = e - n); 2238 t.isHorizontal() ? (r.transforms3d ? u.transform("translate3d(" + n + "px, 0, 0)") : u.transform("translateX("
2238+ n + "px)"), u[0].style.width = f + "px") : (r.transforms3d ? u.transform("translate3d(0px, " + n + "px, 0)") : u.transform("translateY(" + n + "px)"), u[0].style.height = f + "px"); 2239 l.hide && (clearTimeout(t.scrollbar.timeout), s[0].style.opacity = 1, t.scrollbar.timeout = setTimeout(function() { 2240 s[0].style.opacity = 0; 2241 s.transition(400) 2242 }, 1e3)) 2243 } 2244 }, 2245 setTransition: function(n) { 2246 this.params.scrollbar.el && this.scrollbar.el && this.scrollbar.$dragEl.transition(n) 2247 }, 2248 updateSize: function() { 2249 var t = this; 2250 if (t.params.scrollbar.el && t.scrollbar.el) { 2251 var i = t.scrollbar, 2252 r = i.$dragEl, 2253 u = i.$el; 2254 r[0].style.width = ""; 2255 r[0].style.height = ""; 2256 var f, o = t.isHorizontal() ? u[0].offsetWidth : u[0].offsetHeight, 2257 e = t.size / t.virtualSize, 2258 s = e * (o / t.size); 2259 f = "auto" === t.params.scrollbar.dragSize ? o * e : parseInt(t.params.scrollbar.dragSize, 10); 2260 t.isHorizontal() ? r[0].style.width = f + "px" : r[0].style.height = f + "px"; 2261 u[0].style.display = 1 <= e ? "none" : ""; 2262 t.params.scrollbarHide && (u[0].style.opacity = 0); 2263 n.extend(i, { 2264 trackSize: o, 2265 divider: e, 2266 moveDivider: s, 2267 dragSize: f 2268 }); 2269 i.$el[t.params.watchOverflow && t.isLocked ? "addClass" : "removeClass"](t.params.scrollbar.lockClass) 2270 } 2271 }, 2272 setDragPosition: function(n) { 2273 var i, t = this, 2274 r = t.scrollbar, 2275 e = t.rtlTranslate, 2276 o = r.$el, 2277 f = r.dragSize, 2278 s = r.trackSize, 2279 u; 2280 i = ((t.isHorizontal() ? "touchstart" === n.type || "touchmove" === n.type ? n.targetTouches[0].pageX : n.pageX || n.clientX : "touchstart" === n.type || "touchmove" === n.type ? n.targetTouches[0].pageY : n.pageY || n.clientY) - o.offset()[t.isHorizontal() ? "left" : "top"] - f / 2) / (s - f); 2281 i = Math.max(Math.min(i, 1), 0); 2282 e && (i = 1 - i); 2283 u = t.minTranslate() + (t.maxTranslate() - t.minTranslate()) * i; 2284 t.updateProgress(u); 2285 t.setTranslate(u); 2286 t.updateActiveIndex(); 2287 t.updateSlidesClasses() 2288 }, 2289 onDragStart: function(n) { 2290 var t = this, 2291 u = t.params.scrollbar, 2292 i = t.scrollbar, 2293 f = t.$wrapperEl, 2294 r = i.$el, 2295 e = i.$dragEl; 2296 t.scrollbar.isTouched = !0; 2297 n.preventDefault(); 2298 n.stopPropagation(); 2299 f.transition(100); 2300 e.transition(100); 2301 i.setDragPosition(n); 2302 clearTimeout(t.scrollbar.dragTimeout); 2303 r.transition(0); 2304 u.hide && r.css("opacity", 1); 2305 t.emit("scrollbarDragStart", n) 2306 }, 2307 onDragMove: function(n) { 2308 var t = this.scrollbar, 2309 i = this.$wrapperEl, 2310 r = t.$el, 2311 u = t.$dragEl; 2312 this.scrollbar.isTouched && (n.preventDefault ? n.preventDefault() : n.returnValue = !1, t.setDragPosition(n), i.transition(0), r.transition(0), u.transition(0), this.emit("scrollbarDragMove", n)) 2313 }, 2314 onDragEnd: function(t) { 2315 var i = this, 2316 r = i.params.scrollbar, 2317 u = i.scrollbar.$el; 2318 i.scrollbar.isTouched && (i.scrollbar.isTouched = !1, r.hide && (clearTimeout(i.scrollbar.dragTimeout), i.scrollbar.dragTimeout = n.nextTick(function() { 2319 u.css("opacity", 0); 2320 u.transition(400) 2321 }, 1e3)), i.emit("scrollbarDragEnd", t), r.snapOnRelease && i.slideToClosest()) 2322 }, 2323 enableDraggable: function() { 2324 var n = this; 2325 if (n.params.scrollbar.el) { 2326 var h = n.scrollbar, 2327 f = n.touchEventsTouch, 2328 e = n.touchEventsDesktop, 2329 o = n.params, 2330 t = h.$el[0], 2331 i = !(!r.passiveListener || !o.passiveListeners) && { 2332 passive: !1, 2333 capture: !1 2334 }, 2335 s = !(!r.passiveListener || !o.passiveListeners) && { 2336 passive: !0, 2337 capture: !1 2338 }; 2339 r.touch ? (t.addEventListener(f.start, n.scrollbar.onDragStart, i), t.addEventListener(f.move, n.scrollbar.onDragMove, i), t.addEventListener(f.end, n.scrollbar.onDragEnd, s)) : (t.addEventListener(e.start, n.scrollbar.onDragStart, i), u.addEventListener(e.move, n.scrollbar.onDragMove, i), u.addEventListener(e.end, n.scrollbar.onDragEnd, s)) 2340 } 2341 }, 2342 disableDraggable: function() { 2343 var n = this; 2344 if (n.params.scrollbar.el) { 2345 var h = n.scrollbar, 2346 f = n.touchEventsTouch, 2347 e = n.touchEventsDesktop, 2348 o = n.params, 2349 t = h.$el[0], 2350 i = !(!r.passiveListener || !o.passiveListeners) && { 2351 passive: !1, 2352 capture: !1 2353 }, 2354 s = !(!r.passiveListener || !o.passiveListeners) && { 2355 passive: !0, 2356 capture: !1 2357 }; 2358 r.touch ? (t.removeEventListener(f.start, n.scrollbar.onDragStart, i), t.removeEventListener(f.move, n.scrollbar.onDragMove, i), t.removeEventListener(f.end, n.scrollbar.onDragEnd, s)) : (t.removeEventListener(e.start, n.scrollbar.onDragStart, i), u.removeEventListener(e.move, n.scrollbar.onDragMove, i), u.removeEventListener(e.end, n.scrollbar.onDragEnd, s)) 2359 } 2360 }, 2361 init: function() { 2362 var i = this, 2363 u; 2364 if (i.params.scrollbar.el) { 2365 var e = i.scrollbar, 2366 o = i.$el, 2367 f = i.params.scrollbar, 2368 r = t(f.el); 2369 i.params.uniqueNavElements && "string" == typeof f.el && 1 < r.length && 1 === o.find(f.el).length && (r = o.find(f.el)); 2370 u = r.find("." + i.params.scrollbar.dragClass);
2371 0 === u.length && (u = t('<div class="' + i.params.scrollbar.dragClass + '"><\/div>'), r.append(u)); 2372 n.extend(e, { 2373 $el: r, 2374 el: r[0], 2375 $dragEl: u, 2376 dragEl: u[0] 2377 }); 2378 f.draggable && e.enableDraggable() 2379 } 2380 }, 2381 destroy: function() { 2382 this.scrollbar.disableDraggable() 2383 } 2384 }, 2385 st = { 2386 setTransform: function(n, i) { 2387 var a = this.rtl, 2388 f = t(n), 2389 s = a ? -1 : 1, 2390 h = f.attr("data-swiper-parallax") || "0", 2391 r = f.attr("data-swiper-parallax-x"), 2392 u = f.attr("data-swiper-parallax-y"), 2393 e = f.attr("data-swiper-parallax-scale"), 2394 o = f.attr("data-swiper-parallax-opacity"), 2395 c, l; 2396 (r || u ? (r = r || "0", u = u || "0") : this.isHorizontal() ? (r = h, u = "0") : (u = h, r = "0"), r = 0 <= r.indexOf("%") ? parseInt(r, 10) * i * s + "%" : r * i * s + "px", u = 0 <= u.indexOf("%") ? parseInt(u, 10) * i + "%" : u * i + "px", null != o) && (c = o - (o - 1) * (1 - Math.abs(i)), f[0].style.opacity = c); 2397 null == e ? f.transform("translate3d(" + r + ", " + u + ", 0px)") : (l = e - (e - 1) * (1 - Math.abs(i)), f.transform("translate3d(" + r + ", " + u + ", 0px) scale(" + l + ")")) 2398 }, 2399 setTranslate: function() { 2400 var n = this, 2401 r = n.$el, 2402 u = n.slides, 2403 i = n.progress, 2404 f = n.snapGrid; 2405 r.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(t, r) { 2406 n.parallax.setTransform(r, i) 2407 }); 2408 u.each(function(r, u) { 2409 var e = u.progress; 2410 1 < n.params.slidesPerGroup && "auto" !== n.params.slidesPerView && (e += Math.ceil(r / 2) - i * (f.length - 1));
2411 e = Math.min(Math.max(e, -1), 1); 2412 t(u).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(t, i) { 2413 n.parallax.setTransform(i, e) 2414 }) 2415 }) 2416 }, 2417 setTransition: function(n) { 2418 void 0 === n && (n = this.params.speed); 2419 this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(i, r) { 2420 var u = t(r), 2421 f = parseInt(u.attr("data-swiper-parallax-duration"), 10) || n; 2422 0 === n && (f = 0); 2423 u.transition(f) 2424 }) 2425 } 2426 }, 2427 ht = { 2428 getDistanceBetweenTouches: function(n) { 2429 if (n.targetTouches.length < 2) return 1; 2430 var t = n.targetTouches[0].pageX, 2431 i = n.targetTouches[0].pageY, 2432 r = n.targetTouches[1].pageX, 2433 u = n.targetTouches[1].pageY; 2434 return Math.sqrt(Math.pow(r - t, 2) + Math.pow(u - i, 2)) 2435 }, 2436 onGestureStart: function(n) { 2437 var u = this, 2438 e = u.params.zoom, 2439 f = u.zoom, 2440 i = f.gesture; 2441 if (f.fakeGestureTouched = !1, f.fakeGestureMoved = !1, !r.gestures) { 2442 if ("touchstart" !== n.type || "touchstart" === n.type && n.targetTouches.length < 2) return; 2443 f.fakeGestureTouched = !0; 2444 i.scaleStart = ht.getDistanceBetweenTouches(n) 2445 } 2446 i.$slideEl && i.$slideEl.length || (i.$slideEl = t(n.target).closest(".swiper-slide"), 0 === i.$slideEl.length && (i.$slideEl = u.slides.eq(u.activeIndex)), i.$imageEl = i.$slideEl.find("img, svg, canvas"), i.$imageWrapEl = i.$imageEl.parent("." + e.containerClass), i.maxRatio = i.$imageWrapEl.attr("data-swiper-zoom") || e.maxRatio, 0 !== i.$imageWrapEl.length) ? (i.$imageEl.transition(0), u.zoom.isScaling = !0) : i.$imageEl = void 0 2447 }, 2448 onGestureChange: function(n) { 2449 var u = this.params.zoom, 2450 t = this.zoom, 2451 i = t.gesture; 2452 if (!r.gestures) { 2453 if ("touchmove" !== n.type || "touchmove" === n.type && n.targetTouches.length < 2) return; 2454 t.fakeGestureMoved = !0; 2455 i.scaleMove = ht.getDistanceBetweenTouches(n) 2456 } 2457 i.$imageEl && 0 !== i.$imageEl.length && (t.scale = r.gestures ? n.scale * t.currentScale : i.scaleMove / i.scaleStart * t.currentScale, t.scale > i.maxRatio && (t.scale = i.maxRatio - 1 + Math.pow(t.scale - i.maxRatio + 1, .5)), t.scale < u.minRatio && (t.scale = u.minRatio + 1 - Math.pow(u.minRatio - t.scale + 1, .5)), i.$imageEl.transform("translate3d(0,0,0) scale(" + t.scale + ")")) 2458 }, 2459 onGestureEnd: function(n) { 2460 var u = this.params.zoom, 2461 t = this.zoom, 2462 i = t.gesture; 2463 if (!r.gestures) { 2464 if (!t.fakeGestureTouched || !t.fakeGestureMoved) return; 2465 if ("touchend" !== n.type || "touchend" === n.type && n.changedTouches.length < 2 && !e.android) return; 2466 t.fakeGestureTouched = !1; 2467 t.fakeGestureMoved = !1 2468 } 2469 i.$imageEl && 0 !== i.$imageEl.length && (t.scale = Math.max(Math.min(t.scale, i.maxRatio), u.minRatio), i.$imageEl.transition(this.params.speed).transform("translate3d(0,0,0) scale(" + t.scale + ")"), t.currentScale = t.scale, t.isScaling = !1, 1 === t.scale && (i.$slideEl = void 0)) 2470 }, 2471 onTouchStart: function(n) { 2472 var i = this.zoom, 2473 r = i.gesture, 2474 t = i.image; 2475 r.$imageEl && 0 !== r.$imageEl.length && (t.isTouched || (e.android && n.preventDefault(), t.isTouched = !0, t.touchesStart.x = "touchstart" === n.type ? n.targetTouches[0].pageX : n.pageX, t.touchesStart.y = "touchstart" === n.type ? n.targetTouches[0].pageY : n.pageY)) 2476 }, 2477 onTouchMove: function(t) { 2478 var e = this, 2479 f = e.zoom, 2480 u = f.gesture, 2481 i = f.image, 2482 r = f.velocity, 2483 o, s; 2484 if (u.$imageEl && 0 !== u.$imageEl.length && (e.allowClick = !1, i.isTouched && u.$slideEl) && (i.isMoved || (i.width = u.$imageEl[0].offsetWidth, i.height = u.$imageEl[0].offsetHeight, i.startX = n.getTranslate(u.$imageWrapEl[0], "x") || 0, i.startY = n.getTranslate(u.$imageWrapEl[0], "y") || 0, u.slideWidth = u.$slideEl[0].offsetWidth, u.slideHeight = u.$slideEl[0].offsetHeight, u.$imageWrapEl.transition(0), e.rtl && (i.startX = -i.startX, i.startY = -i.startY)), o = i.width * f.scale, s = i.height * f.scale, !(o < u.slideWidth && s < u.slideHeight))) { 2485 if ((i.minX = Math.min(u.slideWidth / 2 - o / 2, 0), i.maxX = -i.minX, i.minY = Math.min(u.slideHeight / 2 - s / 2, 0), i.maxY = -i.minY, i.touchesCurrent.x = "touchmove" === t.type ? t.targetTouches[0].pageX : t.pageX, i.touchesCurrent.y = "touchmove" === t.type ? t.targetTouches[0].pageY : t.pageY, !i.isMoved && !f.isScaling) && (e.isHorizontal() && (Math.floor(i.minX) === Math.floor(i.startX) && i.touchesCurrent.x < i.touchesStart.x || Math.floor(i.maxX) === Math.floor(i.startX) && i.touchesCurrent.x > i.touchesStart.x) || !e.isHorizontal() && (Math.floor(i.minY) === Math.floor(i.startY) && i.touchesCurrent.y < i.touchesStart.y || Math.floor(i.maxY) === Math.floor(i.startY) && i.touchesCurrent.y > i.touchesStart.y))) return void(i.isTouched = !1); 2486 t.preventDefault(); 2487 t.stopPropagation(); 2488 i.isMoved = !0; 2489 i.currentX = i.touchesCurrent.x - i.touchesStart.x + i.startX; 2490 i.currentY = i.touchesCurrent.y - i.touchesStart.y + i.startY; 2491 i.currentX < i.minX && (i.currentX = i.minX + 1 - Math.pow(i.minX - i.currentX + 1, .8)); 2492 i.currentX > i.maxX && (i.currentX = i.maxX - 1 + Math.pow(i.currentX - i.maxX + 1, .8)); 2493 i.currentY < i.minY && (i.currentY = i.minY + 1 - Math.pow(i.minY - i.currentY + 1, .8)); 2494 i.currentY > i.maxY && (i.currentY = i.maxY - 1 + Math.pow(i.currentY - i.maxY + 1, .8)); 2495 r.prevPositionX || (r.prevPositionX = i.touchesCurrent.x); 2496 r.prevPositionY || (r.prevPositionY = i.touchesCurrent.y); 2497 r.prevTime || (r.prevTime = Date.now()); 2498 r.x = (i.touchesCurrent.x - r.prevPositionX) / (Date.now() - r.prevTime) / 2; 2499 r.y = (i.touchesCurrent.y - r.prevPositionY) / (Date.now() - r.prevTime) / 2; 2500 Math.abs(i.touchesCurrent.x - r.prevPositionX) < 2 && (r.x = 0); 2501 Math.abs(i.touchesCurrent.y - r.prevPositionY) < 2 && (r.y = 0); 2502 r.prevPositionX = i.touchesCurrent.x; 2503 r.prevPositionY = i.touchesCurrent.y; 2504 r.prevTime = Date.now(); 2505 u.$imageWrapEl.transform("translate3d(" + i.currentX + "px, " + i.currentY + "px,0
2505)") 2506 } 2507 }, 2508 onTouchEnd: function() { 2509 var i = this.zoom, 2510 r = i.gesture, 2511 n = i.image, 2512 t = i.velocity, 2513 s, h, c; 2514 if (r.$imageEl && 0 !== r.$imageEl.length) { 2515 if (!n.isTouched || !n.isMoved) return n.isTouched = !1, void(n.isMoved = !1); 2516 n.isTouched = !1; 2517 n.isMoved = !1; 2518 var u = 300, 2519 f = 300, 2520 l = t.x * u, 2521 e = n.currentX + l, 2522 a = t.y * f, 2523 o = n.currentY + a; 2524 0 !== t.x && (u = Math.abs((e - n.currentX) / t.x)); 2525 0 !== t.y && (f = Math.abs((o - n.currentY) / t.y)); 2526 s = Math.max(u, f); 2527 n.currentX = e; 2528 n.currentY = o; 2529 h = n.width * i.scale; 2530 c = n.height * i.scale; 2531 n.minX = Math.min(r.slideWidth / 2 - h / 2, 0); 2532 n.maxX = -n.minX; 2533 n.minY = Math.min(r.slideHeight / 2 - c / 2, 0); 2534 n.maxY = -n.minY; 2535 n.currentX = Math.max(Math.min(n.currentX, n.maxX), n.minX); 2536 n.currentY = Math.max(Math.min(n.currentY, n.maxY), n.minY); 2537 r.$imageWrapEl.transition(s).transform("translate3d(" + n.currentX + "px, " + n.currentY + "px,0)") 2538 } 2539 }, 2540 onTransitionEnd: function() { 2541 var t = this.zoom, 2542 n = t.gesture; 2543 n.$slideEl && this.previousIndex !== this.activeIndex && (n.$imageEl.transform("translate3d(0,0,0) scale(1)"), n.$imageWrapEl.transform("translate3d(0,0,0)"), t.scale = 1, t.currentScale = 1, n.$slideEl = void 0, n.$imageEl = void 0, n.$imageWrapEl = void 0) 2544 }, 2545 toggle: function(n) { 2546 var t = this.zoom; 2547 t.scale && 1 !== t.scale ? t.out() : t.in(n) 2548 }, 2549 "in": function(n) { 2550 var s, h, b, k, u, f, d, g, nt, tt, c, l, a, v, y, p, e = this, 2551 r = e.zoom, 2552 o = e.params.zoom, 2553 i = r.gesture, 2554 w = r.image; 2555 (i.$slideEl || (i.$slideEl = e.clickedSlide ? t(e.clickedSlide) : e.slides.eq(e.activeIndex), i.$imageEl = i.$slideEl.find("img, svg, canvas"), i.$imageWrapEl = i.$imageEl.parent("." + o.containerClass)), i.$imageEl && 0 !== i.$imageEl.length) && (i.$slideEl.addClass("" + o.zoomedSlideClass), void 0 === w.touchesStart.x && n ? (s = "touchend" === n.type ? n.changedTouches[0].pageX : n.pageX, h = "touchend" === n.type ? n.changedTouches[0].pageY : n.pageY) : (s = w.touchesStart.x, h = w.touchesStart.y), r.scale = i.$imageWrapEl.attr("data-swiper-zoom") || o.maxRatio, r.currentScale = i.$imageWrapEl.attr("data-swiper-zoom") || o.maxRatio, n ? (y = i.$slideEl[0].offsetWidth, p = i.$slideEl[0].offsetHeight, b = i.$slideEl.offset().left + y / 2 - s, k = i.$slideEl.offset().top + p / 2 - h, d = i.$imageEl[0].offsetWidth, g = i.$imageEl[0].offsetHeight, nt = d * r.scale, tt = g * r.scale, a = -(c = Math.min(y / 2 - nt / 2, 0)), v = -(l = Math.min(p / 2 - tt / 2, 0)), (u = b * r.scale) < c && (u = c), a < u && (u = a), (f = k * r.scale) < l && (f = l), v < f && (f = v)) : f = u = 0, i.$imageWrapEl.transition(300).transform("translate3d(" + u + "px, " + f + "px,0)"), i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(" + r.scale + ")")) 2556 }, 2557 out: function() { 2558 var i = this, 2559 r = i.zoom, 2560 u = i.params.zoom, 2561 n = r.gesture; 2562 n.$slideEl || (n.$slideEl = i.clickedSlide ? t(i.clickedSlide) : i.slides.eq(i.activeIndex), n.$imageEl = n.$slideEl.find("img, svg, canvas"), n.$imageWrapEl = n.$imageEl.parent("." + u.containerClass)); 2563 n.$imageEl && 0 !== n.$imageEl.length && (r.scale = 1, r.currentScale = 1, n.$imageWrapEl.transition(300).transform("translate3d(0,
25630,0)"), n.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"), n.$slideEl.removeClass("" + u.zoomedSlideClass), n.$slideEl = void 0) 2564 }, 2565 enable: function() { 2566 var n = this, 2567 t = n.zoom, 2568 i; 2569 t.enabled || (t.enabled = !0, i = !("touchstart" !== n.touchEvents.start || !r.passiveListener || !n.params.passiveListeners) && { 2570 passive: !0, 2571 capture: !1 2572 }, r.gestures ? (n.$wrapperEl.on("gesturestart", ".swiper-slide", t.onGestureStart, i), n.$wrapperEl.on("gesturechange", ".swiper-slide", t.onGestureChange, i), n.$wrapperEl.on("gestureend", ".swiper-slide", t.onGestureEnd, i)) : "touchstart" === n.touchEvents.start && (n.$wrapperEl.on(n.touchEvents.start, ".swiper-slide", t.onGestureStart, i), n.$wrapperEl.on(n.touchEvents.move, ".swiper-slide", t.onGestureChange, i), n.$wrapperEl.on(n.touchEvents.end, ".swiper-slide", t.onGestureEnd, i)), n.$wrapperEl.on(n.touchEvents.move, "." + n.params.zoom.containerClass, t.onTouchMove)) 2573 }, 2574 disable: function() { 2575 var n = this, 2576 t = n.zoom, 2577 i; 2578 t.enabled && (n.zoom.enabled = !1, i = !("touchstart" !== n.touchEvents.start || !r.passiveListener || !n.params.passiveListeners) && { 2579 passive: !0, 2580 capture: !1 2581 }, r.gestures ? (n.$wrapperEl.off("gesturestart", ".swiper-slide", t.onGestureStart, i), n.$wrapperEl.off("gesturechange", ".swiper-slide", t.onGestureChange, i), n.$wrapperEl.off("gestureend", ".swiper-slide", t.onGestureEnd, i)) : "touchstart" === n.touchEvents.start && (n.$wrapperEl.off(n.touchEvents.start, ".swiper-slide", t.onGestureStart, i), n.$wrapperEl.off(n.touchEvents.move, ".swiper-slide", t.onGestureChange, i), n.$wrapperEl.off(n.touchEvents.end, ".swiper-slide", t.onGestureEnd, i)), n.$wrapperEl.off(n.touchEvents.move, "." + n.params.zoom.containerClass, t.onTouchMove)) 2582 } 2583 }, 2584 yt = { 2585 loadInSlide: function(n, i) { 2586 var r, u, f, e; 2587 void 0 === i && (i = !0); 2588 r = this; 2589 u = r.params.lazy; 2590 void 0 !== n && 0 !== r.slides.length && (f = r.virtual && r.params.virtual.enabled ? r.$wrapperEl.children("." + r.params.slideClass + '[data-swiper-slide-index="' + n + '"]') : r.slides.eq(n), e = f.find("." + u.elementClass + ":not(." + u.loadedClass + "):not(." + u.loadingClass + ")"), !f.hasClass(u.elementClass) || f.hasClass(u.loadedClass) || f.hasClass(u.loadingClass) || (e = e.add(f[0])), 0 !== e.length && e.each(function(n, e) { 2591 var o = t(e); 2592 o.addClass(u.loadingClass); 2593 var s = o.attr("data-background"), 2594 h = o.attr("data-src"), 2595 c = o.attr("data-srcset"), 2596 l = o.attr("data-sizes"); 2597 r.loadImage(o[0], h || s, c, l, !1, function() { 2598 var n, t, e; 2599 null != r && r && (!r || r.params) && !r.destroyed && ((s ? (o.css("background-image", 'url("' + s + '")'), o.removeAttr("data-background")) : (c && (o.attr("srcset", c), o.removeAttr("data-srcset")), l && (o.attr("sizes", l), o.removeAttr("data-sizes")), h && (o.attr("src", h), o.removeAttr("data-src"))), o.addClass(u.loadedClass).removeClass(u.loadingClass), f.find("." + u.preloaderClass).remove(), r.params.loop && i) && (n = f.attr("data-swiper-slide-index"), f.hasClass(r.params.slideDuplicateClass) ? (t = r.$wrapperEl.children('[data-swiper-slide-index="' + n + '"]:not(.' + r.params.slideDuplicateClass + ")"), r.lazy.loadInSlide(t.index(), !1)) : (e = r.$wrapperEl.children("." + r.params.slideDuplicateClass + '[data-swiper-slide-index="' + n + '"]'), r.lazy.loadInSlide(e.index(), !1))), r.emit("lazyImageReady", f[0], o[0])) 2600 }); 2601 r.emit("lazyImageLoad", f[0], o[0]) 2602 })) 2603 }, 2604 load: function() { 2605 function l(n) { 2606 if (c) { 2607 if (o.children("." + i.slideClass + '[data-swiper-slide-index="' + n + '"]').length) return !0 2608 } else if (p[n]) return !0; 2609 return !1 2610 } 2611 2612 function w(n) { 2613 return c ? t(n).attr("data-swiper-slide-index") : t(n).index() 2614 } 2615 var n = this, 2616 o = n.$wrapperEl, 2617 i = n.params, 2618 p = n.slides, 2619 r = n.activeIndex, 2620 c = n.virtual && i.virtual.enabled, 2621 s = i.lazy, 2622 u = i.slidesPerView, 2623 f, e, v, y; 2624 if ("auto" === u && (u = 0), n.lazy.initialImageLoaded || (n.lazy.initialImageLoaded = !0), n.params.watchSlidesVisibility) o.children("." + i.slideVisibleClass).each(function(i, r) { 2625 var u = c ? t(r).attr("data-swiper-slide-index") : t(r).index(); 2626 n.lazy.loadInSlide(u) 2627 }); 2628 else if (1 < u) 2629 for (f = r; f < r + u; f += 1) l(f) && n.lazy.loadInSlide(f); 2630 else n.lazy.loadInSlide(r); 2631 if (s.loadPrevNext) 2632 if (1 < u || s.loadPrevNextAmount && 1 < s.loadPrevNextAmount) { 2633 for (var b = s.loadPrevNextAmount, a = u, k = Math.min(r + a + Math.max(b, a), p.length), d = Math.max(r - Math.max(a, b), 0), h = r + u; h < k; h += 1) l(h) && n.lazy.loadInSlide(h); 2634 for (e = d; e < r; e += 1) l(e) && n.lazy.loadInSlide(e) 2635 } else v = o.children("." + i.slideNextClass), 0 < v.length && n.lazy.loadInSlide(w(v)), y = o.children("." + i.slidePrevClass), 0 < y.length && n.lazy.loadInSlide(w(y)) 2636 } 2637 }, 2638 p = { 2639 LinearSpline: function(n, t) { 2640 var i, u, e, r, f, o = function(n, t) { 2641 for (u = -1, i = n.length; 1 < i - u;) n[e = i + u >> 1] <= t ? u = e : i = e; 2642 return i 2643 }; 2644 return this.x = n, this.y = t, this.lastIndex = n.length - 1, this.interpolate = function(n) { 2645 return n ? (f = o(this.x, n), r = f - 1, (n - this.x[r]) * (this.y[f] - this.y[r]) / (this.x[f] - this.x[r]) + this.y[r]) : 0 2646 }, this 2647 }, 2648 getInterpolateFunction: function(n) { 2649 var t = this; 2650 t.controller.spline || (t.controller.spline = t.params.loop ? new p.LinearSpline(t.slidesGrid, n.slidesGrid) : new p.LinearSpline(t.snapGrid, n.snapGrid)) 2651 }, 2652 setTranslate: function(n, t) { 2653 function s(n) { 2654 var t = i.rtlTranslate ? -i.translate : i.translate; 2655 "slide" === i.params.controller.by && (i.controller.getInterpolateFunction(n), u = -i.controller.spline.interpolate(-t)); 2656 u && "container" !== i.params.controller.by || (e = (n.maxTranslate() - n.minTranslate()) / (i.maxTranslate() - i.minTranslate()), u = (t - i.minTranslate()) * e + n.minTranslate()); 2657 i.params.controller.inverse && (u = n.maxTranslate() - u); 2658 n.updateProgress(u); 2659 n.setTranslate(u, i); 2660 n.updateActiveIndex(); 2661 n.updateSlidesClasses() 2662 } 2663 var e, u, i = this, 2664 r = i.controller.control, 2665 f; 2666 if (Array.isArray(r)) 2667 for (f = 0; f < r.length; f += 1) r[f] !== t && r[f] instanceof o && s(r[f]); 2668 else r instanceof o && t !== r && s(r) 2669 }, 2670 setTransition: function(t, i) { 2671 function e(i) { 2672 i.setTransition(t, f); 2673 0 !== t && (i.transitionStart(), i.params.autoHeight && n.nextTick(function() { 2674 i.updateAutoHeight() 2675 }), i.$wrapperEl.transitionEnd(function() { 2676 r && (i.params.loop && "slide" === f.params.controller.by && i.loopFix(), i.transitionEnd()) 2677 })) 2678 } 2679 var u, f = this, 2680 r = f.controller.control; 2681 if (Array.isArray(r)) 2682 for (u = 0; u < r.length; u += 1) r[u] !== i && r[u] instanceof o && e(r[u]); 2683 else r instanceof o && i !== r && e(r) 2684 } 2685 }, 2686 pt = { 2687 makeElFocusable: function(n) { 2688 return n.attr("tabIndex", "0"), n 2689 }, 2690 addElRole: function(n, t) { 2691 return n.attr("role", t), n 2692 }, 2693 addElLabel: function(n, t) { 2694 return n.attr("aria-label", t), n 2695 }, 2696 disableEl: function(n) { 2697 return n.attr("aria-disabled", !0), n 2698 }, 2699 enableEl: function(n) { 2700 return n.attr("aria-disabled", !1), n 2701 }, 2702 onEnterKey: function(n) { 2703 var i = this, 2704 u = i.params.a11y, 2705 r; 2706 13 === n.keyCode && (r = t(n.target), i.navigation && i.navigation.$nextEl && r.is(i.navigation.$nextEl) && (i.isEnd && !i.params.loop || i.slideNext(), i.isEnd ? i.a11y.notify(u.lastSlideMessage) : i.a11y.notify(u.nextSlideMessage)), i.navigation && i.navigation.$prevEl && r.is(i.navigation.$prevEl) && (i.isBeginning && !i.params.loop || i.slidePrev(), i.isBeginning ? i.a11y.notify(u.firstSlideMessage) : i.a11y.notify(u.prevSlideMessage)), i.pagination && r.is("." + i.params.pagination.bulletClass) && r[0].click()) 2707 }, 2708 notify: function(n) { 2709 var t = this.a11y.liveRegion; 2710 0 !== t.length && (t.html(""), t.html(n)) 2711 }, 2712 updateNavigation: function() { 2713 var n = this; 2714 if (!n.params.loop) { 2715 var r = n.navigation, 2716 t = r.$nextEl, 2717 i = r.$prevEl; 2718 i && 0 < i.length && (n.isBeginning ? n.a11y.disableEl(i) : n.a11y.enableEl(i)); 2719 t && 0 < t.length && (n.isEnd ? n.a11y.disableEl(t) : n.a11y.enableEl(t)) 2720 } 2721 }, 2722 updatePagination: function() { 2723 var n = this, 2724 i = n.params.a11y; 2725 n.pagination && n.params.pagination.clickable && n.pagination.bullets && n.pagination.bullets.length && n.pagination.bullets.each(function(r, u) { 2726 var f = t(u); 2727 n.a11y.makeElFocusable(f); 2728 n.a11y.addElRole(f, "button"); 2729 n.a11y.addElLabel(f, i.paginationBulletMessage.replace(/{{index}}/, f.index() + 1)) 2730 }) 2731 }, 2732 init: function() { 2733 var n = this, 2734 t, i, r;
2735 n.$el.append(n.a11y.liveRegion); 2736 r = n.params.a11y; 2737 n.navigation && n.navigation.$nextEl && (t = n.navigation.$nextEl); 2738 n.navigation && n.navigation.$prevEl && (i = n.navigation.$prevEl); 2739 t && (n.a11y.makeElFocusable(t), n.a11y.addElRole(t, "button"), n.a11y.addElLabel(t, r.nextSlideMessage), t.on("keydown", n.a11y.onEnterKey)); 2740 i && (n.a11y.makeElFocusable(i), n.a11y.addElRole(i, "button"), n.a11y.addElLabel(i, r.prevSlideMessage), i.on("keydown", n.a11y.onEnterKey)); 2741 n.pagination && n.params.pagination.clickable && n.pagination.bullets && n.pagination.bullets.length && n.pagination.$el.on("keydown", "." + n.params.pagination.bulletClass, n.a11y.onEnterKey) 2742 }, 2743 destroy: function() { 2744 var t, i, n = this; 2745 n.a11y.liveRegion && 0 < n.a11y.liveRegion.length && n.a11y.liveRegion.remove(); 2746 n.navigation && n.navigation.$nextEl && (t = n.navigation.$nextEl); 2747 n.navigation && n.navigation.$prevEl && (i = n.navigation.$prevEl); 2748 t && t.off("keydown", n.a11y.onEnterKey); 2749 i && i.off("keydown", n.a11y.onEnterKey); 2750 n.pagination && n.params.pagination.clickable && n.pagination.bullets && n.pagination.bullets.length && n.pagination.$el.off("keydown", "." + n.params.pagination.bulletClass, n.a11y.onEnterKey) 2751 } 2752 }, 2753 l = { 2754 init: function() { 2755 var n = this, 2756 t; 2757 if (n.params.history) { 2758 if (!i.history || !i.history.pushState) return n.params.history.enabled = !1, void(n.params.hashNavigation.enabled = !0); 2759 t = n.history; 2760 t.initialized = !0; 2761 t.paths = l.getPathValues(); 2762 (t.paths.key || t.paths.value) && (t.scrollToSlide(0, t.paths.value, n.params.runCallbacksOnInit), n.params.history.replaceState || i.addEventListener("popstate", n.history.setHistoryPopState)) 2763 } 2764 }, 2765 destroy: function() { 2766 this.params.history.replaceState || i.removeEventListener("popstate", this.history.setHistoryPopState) 2767 }, 2768 setHistoryPopState: function() { 2769 this.history.paths = l.getPathValues(); 2770 this.history.scrollToSlide(this.params.speed, this.history.paths.value, !1) 2771 }, 2772 getPathValues: function() { 2773 var n = i.location.pathname.slice(1).split("/").filter(function(n) { 2774 return "" !== n 2775 }), 2776 t = n.length; 2777 return { 2778 key: n[t - 2], 2779 value: n[t - 1] 2780 } 2781 }, 2782 setHistory: function(n, t) { 2783 var f, r, u; 2784 this.history.initialized && this.params.history.enabled && (f = this.slides.eq(t), r = l.slugify(f.attr("data-history")), i.location.pathname.includes(n) || (r = n + "/" + r), u = i.history.state, u && u.value === r || (this.params.history.replaceState ? i.history.replaceState({ 2785 value: r 2786 }, null, r) : i.history.pushState({ 2787 value: r 2788 }, null, r))) 2789 }, 2790 slugify: function(n) { 2791 return n.toString().toLowerCase().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "") 2792 }, 2793 scrollToSlide: function(n, t, i) { 2794 var r = this, 2795 u, e, f, o; 2796 if (t) 2797 for (u = 0, e = r.slides.length; u < e; u += 1) f = r.slides.eq(u), l.slugify(f.attr("data-history")) !== t || f.hasClass(r.params.slideDuplicateClass) || (o = f.index(), r.slideTo(o, n, i)); 2798 else r.slideTo(0, n, i) 2799 } 2800 }, 2801 tt = { 2802 onHashCange: function() { 2803 var n = this, 2804 i = u.location.hash.replace("#", ""), 2805 t; 2806 if (i !== n.slides.eq(n.activeIndex).attr("data-hash")) { 2807 if (t = n.$wrapperEl.children("." + n.params.slideClass + '[data-hash="' + i + '"]').index(), void 0 === t) return; 2808 n.slideTo(t) 2809 } 2810 }, 2811 setHash: function() { 2812 var n = this, 2813 t, r; 2814 n.hashNavigation.initialized && n.params.hashNavigation.enabled && (n.params.hashNavigation.replaceState && i.history && i.history.replaceState ? i.history.replaceState(null, null, "#" + n.slides.eq(n.activeIndex).attr("data-hash") || "") : (t = n.slides.eq(n.activeIndex), r = t.attr("data-hash") || t.attr("data-history"), u.location.hash = r || "")) 2815 }, 2816 init: function() { 2817 var n = this, 2818 e, f, o, r, s; 2819 if (!(!n.params.hashNavigation.enabled || n.params.history && n.params.history.enabled)) { 2820 if (n.hashNavigation.initialized = !0, e = u.location.hash.replace("#", ""), e) 2821 for (f = 0, o = n.slides.length; f < o; f += 1) r = n.slides.eq(f), (r.attr("data-hash") || r.attr("data-history")) !== e || r.hasClass(n.params.slideDuplicateClass) || (s = r.index(), n.slideTo(s, 0, n.params.runCallbacksOnInit, !0)); 2822 n.params.hashNavigation.watchState && t(i).on("hashchange", n.hashNavigation.onHashCange) 2823 } 2824 }, 2825 destroy: function() { 2826 this.params.hashNavigation.watchState && t(i).off("hashchange", this.hashNavigation.onHashCange) 2827 } 2828 }, 2829 it = { 2830 run: function() { 2831 var t = this, 2832 i = t.slides.eq(t.activeIndex), 2833 r = t.params.autoplay.delay; 2834 i.attr("data-swiper-autoplay") && (r = i.attr("data-swiper-autoplay") || t.params.autoplay.delay); 2835 t.autoplay.timeout = n.nextTick(function() { 2836 t.params.autoplay.reverseDirection ? t.params.loop ? (t.loopFix(), t.slidePrev(t.params.speed, !0, !0), t.emit("autoplay")) : t.isBeginning ? t.params.autoplay.stopOnLastSlide ? t.autoplay.stop() : (t.slideTo(t.slides.length - 1, t.params.speed, !0, !0), t.emit("autoplay")) : (t.slidePrev(t.params.speed, !0, !0), t.emit("autoplay")) : t.params.loop ? (t.loopFix(), t.slideNext(t.params.speed, !0, !0), t.emit("autoplay")) : t.isEnd ? t.params.autoplay.stopOnLastSlide ? t.autoplay.stop() : (t.slideTo(0, t.params.speed, !0, !0), t.emit("autoplay")) : (t.slideNext(t.params.speed, !0, !0), t.emit("autoplay")) 2837 }, r) 2838 }, 2839 start: function() { 2840 var n = this; 2841 return void 0 === n.autoplay.timeout && !n.autoplay.running && (n.autoplay.running = !0, n.emit("autoplayStart"), n.autoplay.run(), !0) 2842 }, 2843 stop: function() { 2844 var n = this; 2845 return !!n.autoplay.running && void 0 !== n.autoplay.timeout && (n.autoplay.timeout && (clearTimeout(n.autoplay.timeout), n.autoplay.timeout = void 0), n.autoplay.running = !1, n.emit("autoplayStop"), !0) 2846 }, 2847 pause: function(n) { 2848 var t = this;
2849 t.autoplay.running && (t.autoplay.paused || (t.autoplay.timeout && clearTimeout(t.autoplay.timeout), t.autoplay.paused = !0, 0 !== n && t.params.autoplay.waitForTransition ? (t.$wrapperEl[0].addEventListener("transitionend", t.autoplay.onTransitionEnd), t.$wrapperEl[0].addEventListener("webkitTransitionEnd", t.autoplay.onTransitionEnd)) : (t.autoplay.paused = !1, t.autoplay.run()))) 2850 } 2851 }, 2852 wt = { 2853 setTranslate: function() { 2854 for (var t, i, u, f, n = this, e = n.slides, r = 0; r < e.length; r += 1) t = n.slides.eq(r), i = -t[0].swiperSlideOffset, n.params.virtualTranslate || (i -= n.translate), u = 0, n.isHorizontal() || (u = i, i = 0), f = n.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(t[0].progress), 0) : 1 + Math.min(Math.max(t[0].progress, -1), 0), t.css({ 2855 opacity: f 2856 }).transform("translate3d(" + i + "px, " + u + "px, 0px)") 2857 }, 2858 setTransition: function(n) { 2859 var t = this, 2860 r = t.slides, 2861 u = t.$wrapperEl, 2862 i; 2863 (r.transition(n), t.params.virtualTranslate && 0 !== n) && (i = !1, r.transitionEnd(function() { 2864 if (!i && t && !t.destroyed) { 2865 i = !0; 2866 t.animating = !1; 2867 for (var r = ["webkitTransitionEnd", "transitionend"], n = 0; n < r.length; n += 1) u.trigger(r[n]) 2868 } 2869 })) 2870 } 2871 }, 2872 bt = { 2873 setTranslate: function() { 2874 var u, n = this, 2875 nt = n.$el, 2876 k = n.$wrapperEl, 2877 tt = n.slides, 2878 d = n.width, 2879 it = n.height, 2880 g = n.rtlTranslate, 2881 i = n.size, 2882 s = n.params.cubeEffect, 2883 f = n.isHorizontal(), 2884 st = n.virtual && n.params.virtual.enabled, 2885 c = 0, 2886 w, r, e, h, l, ut, y, p, ot; 2887 for (s.shadow && (f ? (0 === (u = k.find(".swiper-cube-shadow")).length && (u = t('<
2887div class="swiper-cube-shadow"><\/div>'), k.append(u)), u.css({ 2888 height: d + "px" 2889 })) : 0 === (u = nt.find(".swiper-cube-shadow")).length && (u = t('<div class="swiper-cube-shadow"><\/div>'), nt.append(u))), w = 0; w < tt.length; w += 1) { 2890 r = tt.eq(w); 2891 e = w; 2892 st && (e = parseInt(r.attr("data-swiper-slide-index"), 10)); 2893 h = 90 * e; 2894 l = Math.floor(h / 360); 2895 g && (h = -h, l = Math.floor(-h / 360)); 2896 var a = Math.max(Math.min(r[0].progress, 1), -1), 2897 o = 0, 2898 rt = 0, 2899 b = 0; 2900 e % 4 == 0 ? (o = 4 * -l * i, b = 0) : (e - 1) % 4 == 0 ? (o = 0, b = 4 * -l * i) : (e - 2) % 4 == 0 ? (o = i + 4 * l * i, b = i) : (e - 3) % 4 == 0 && (o = -i, b = 3 * i + 4 * i * l); 2901 g && (o = -o); 2902 f || (rt = o, o = 0); 2903 ut = "rotateX(" + (f ? 0 : -h) + "deg) rotateY(" + (f ? h : 0) + "deg) translate3d(" + o + "px, " + rt + "px, " + b + "px)"; 2904 (a <= 1 && -1 < a && (c = 90 * e + 90 * a, g && (c = 90 * -e - 90 * a)), r.transform(ut), s.slideShadows) && (y = f ? r.find(".swiper-slide-shadow-left") : r.find(".swiper-slide-shadow-top"), p = f ? r.find(".swiper-slide-shadow-right") : r.find(".swiper-slide-shadow-bottom"), 0 === y.length && (y = t('<div class="swiper-slide-shadow-' + (f ? "left" : "top") + '"><\/div>'), r.append(y)), 0 === p.length && (p = t('<div class="swiper-slide-shadow-' + (f ? "right" : "bottom") + '"><\/div>'), r.append(p)), y.length && (y[0].style.opacity = Math.max(-a, 0)), p.length && (p[0].style.opacity = Math.max(a, 0))) 2905 } 2906 if (k.css({ 2907 "-webkit-transform-origin": "50% 50% -" + i / 2 + "px", 2908 "-moz-transform-origin": "50% 50% -" + i / 2 + "px", 2909 "-ms-transform-origin": "50% 50% -" + i / 2 + "px", 2910 "transform-origin": "50% 50% -" + i / 2 + "px" 2911 }), s.shadow) 2912 if (f) u.transform("translate3d(0px, " + (d / 2 + s.shadowOffset) + "px, " + -d / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + s.shadowScale + ")"); 2913 else { 2914 var ft = Math.abs(c) - 90 * Math.floor(Math.abs(c) / 90), 2915 ht = 1.5 - (Math.sin(2 * ft * Math.PI / 360) / 2 + Math.cos(2 * ft * Math.PI / 360) / 2), 2916 ct = s.shadowScale, 2917 et = s.shadowScale / ht, 2918 lt = s.shadowOffset; 2919 u.transform("scale3d(" + ct + ", 1, " + et + ") translate3d(0px, " + (it / 2 + lt) + "px, " + -it / 2 / et + "px) rotateX(-90deg)") 2920 } 2921 ot = v.isSafari || v.isUiWebView ? -i / 2 : 0; 2922 k.transform("translate3d(0px,0," + ot + "px) rotateX(" + (n.isHorizontal() ? 0 : c) + "deg) rotateY(" + (n.isHorizontal() ? -c : 0) + "deg)") 2923 }, 2924 setTransition: function(n) { 2925 var t = this.$el; 2926 this.slides.transition(n).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(n); 2927 this.params.cubeEffect.shadow && !this.isHorizontal() && t.find(".swiper-cube-shadow").transition(n) 2928 } 2929 }, 2930 kt = { 2931 setTranslate: function() { 2932 for (var n, r, u, f, i = this, o = i.slides, a = i.rtlTranslate, s = 0; s < o.length; s += 1) { 2933 n = o.eq(s); 2934 r = n[0].progress; 2935 i.params.flipEffect.limitRotation && (r = Math.max(Math.min(n[0].progress, 1), -1)); 2936 var e = -180 * r, 2937 c = 0, 2938 h = -n[0].swiperSlideOffset, 2939 l = 0; 2940 (i.isHorizontal() ? a && (e = -e) : (l = h, c = -e, e = h = 0), n[0].style.zIndex = -Math.abs(Math.round(r)) + o.length, i.params.flipEffect.slideShadows) && (u = i.isHorizontal() ? n.find(".swiper-slide-shadow-left") : n.find(".swiper-slide-shadow-top"), f = i.isHorizontal() ? n.find(".swiper-slide-shadow-right") : n.find(".swiper-slide-shadow-bottom"), 0 === u.length && (u = t('<
2940div class="swiper-slide-shadow-' + (i.isHorizontal() ? "left" : "top") + '"><\/div>'), n.append(u)), 0 === f.length && (f = t('<div class="swiper-slide-shadow-' + (i.isHorizontal() ? "right" : "bottom") + '"><\/div>'), n.append(f)), u.length && (u[0].style.opacity = Math.max(-r, 0)), f.length && (f[0].style.opacity = Math.max(r, 0))); 2941 n.transform("translate3d(" + h + "px, " + l + "px, 0px) rotateX(" + c + "deg) rotateY(" + e + "deg)") 2942 } 2943 }, 2944 setTransition: function(n) { 2945 var t = this, 2946 r = t.slides, 2947 u = t.activeIndex, 2948 f = t.$wrapperEl, 2949 i; 2950 (r.transition(n).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(n), t.params.virtualTranslate && 0 !== n) && (i = !1, r.eq(u).transitionEnd(function() { 2951 if (!i && t && !t.destroyed) { 2952 i = !0; 2953 t.animating = !1; 2954 for (var r = ["webkitTransitionEnd", "transitionend"], n = 0; n < r.length; n += 1) f.trigger(r[n]) 2955 } 2956 })) 2957 } 2958 }, 2959 dt = { 2960 setTranslate: function() { 2961 for (var g, o, s, f = this, nt = f.width, tt = f.height, p = f.slides, it = f.$wrapperEl, rt = f.slidesSizesGrid, e = f.params.coverflowEffect, n = f.isHorizontal(), w = f.translate, b = n ? nt / 2 - w : tt / 2 - w, k = n ? e.rotate : -e.rotate, ut = e.depth, h = 0, ft = p.length; h < ft; h += 1) { 2962 var u = p.eq(h), 2963 d = rt[h], 2964 i = (b - u[0].swiperSlideOffset - d / 2) / d * e.modifier, 2965 c = n ? k * i : 0, 2966 l = n ? 0 : k * i, 2967 a = -ut * Math.abs(i), 2968 v = n ? 0 : e.stretch * i, 2969 y = n ? e.stretch * i : 0; 2970 Math.abs(y) < .001 && (y = 0); 2971 Math.abs(v) < .001 && (v = 0); 2972 Math.abs(a) < .001 && (a = 0); 2973 Math.abs(c) < .001 && (c = 0); 2974 Math.abs(l) < .001 && (l = 0); 2975 g = "translate3d(" + y + "px," + v + "px," + a + "px) rotateX(" + l + "deg) rotateY(" + c + "deg)"; 2976 (u.transform(g), u[0].style.zIndex = 1 - Math.abs(Math.round(i)), e.slideShadows) && (o = n ? u.find(".swiper-slide-shadow-left") : u.find(".swiper-slide-shadow-top"), s = n ? u.find(".swiper-slide-shadow-right") : u.find(".swiper-slide-shadow-bottom"), 0 === o.length && (o = t('<div class="swiper-slide-shadow-' + (n ? "left" : "top") + '"><\/div>'), u.append(o)), 0 === s.length && (s = t('<div class="swiper-slide-shadow-' + (n ? "right" : "bottom") + '"><\/div>'), u.append(s)), o.length && (o[0].style.opacity = 0 < i ? i : 0), s.length && (s[0].style.opacity = 0 < -i ? -i : 0)) 2977 }(r.pointerEvents || r.prefixedPointerEvents) && (it[0].style.perspectiveOrigin = b + "px 50%") 2978 }, 2979 setTransition: function(n) { 2980 this.slides.transition(n).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(n) 2981 } 2982 }, 2983 ct = { 2984 init: function() { 2985 var t = this, 2986 i = t.params.thumbs, 2987 r = t.constructor; 2988 i.swiper instanceof r ? (t.thumbs.swiper = i.swiper, n.extend(t.thumbs.swiper.originalParams, { 2989 watchSlidesProgress: !0, 2990 slideToClickedSlide: !1 2991 }), n.extend(t.thumbs.swiper.params, { 2992 watchSlidesProgress: !0, 2993 slideToClickedSlide: !1 2994 })) : n.isObject(i.swiper) && (t.thumbs.swiper = new r(n.extend({}, i.swiper, { 2995 watchSlidesVisibility: !0, 2996 watchSlidesProgress: !0, 2997 slideToClickedSlide: !1 2998 })), t.thumbs.swiperCreated = !0); 2999 t.thumbs.swiper.$el.addClass(t.params.thumbs.thumbsContainerClass); 3000 t.thumbs.swiper.on("tap", t.thumbs.onThumbClick) 3001 }, 3002 onThumbClick: function() { 3003 var n = this, 3004 r = n.thumbs.swiper, 3005 o, s, u, i, f, e; 3006 r && (o = r.clickedIndex, s = r.clickedSlide, s && t(s).hasClass(n.params.thumbs.slideThumbActiveClass) || null == o || ((u = r.params.loop ? parseInt(t(r.clickedSlide).attr("data-swiper-slide-index"), 10) : o, n.params.loop) && (i = n.activeIndex, n.slides.eq(i).hasClass(n.params.slideDuplicateClass) && (n.loopFix(), n._clientLeft = n.$wrapperEl[0].clientLeft, i = n.activeIndex), f = n.slides.eq(i).prevAll('[data-swiper-slide-index="' + u + '"]').eq(0).index(), e = n.slides.eq(i).nextAll('[data-swiper-slide-index="' + u + '"]').eq(0).index(), u = void 0 === f ? e : void 0 === e ? f : e - i < i - f ? e : f), n.slideTo(u))) 3007 }, 3008 update: function(n) { 3009 var r = this, 3010 t = r.thumbs.swiper, 3011 o, u, i, f, e, s, h, c, l; 3012 if (t) 3013 if (o = "auto" === t.params.slidesPerView ? t.slidesPerViewDynamic() : t.params.slidesPerView, r.realIndex !== t.realIndex && (i = t.activeIndex, t.params.loop ? (t.slides.eq(i).hasClass(t.params.slideDuplicateClass) && (t.loopFix(), t._clientLeft = t.$wrapperEl[0].clientLeft, i = t.activeIndex), f = t.slides.eq(i).prevAll('[data-swiper-slide-index="' + r.realIndex + '"]').eq(0).index(), e = t.slides.eq(i).nextAll('[data-swiper-slide-index="' + r.realIndex + '"]').eq(0).index(), u = void 0 === f ? e : void 0 === e ? f : e - i == i - f ? i : e - i < i - f ? e : f) : u = r.realIndex, t.visibleSlidesIndexes.indexOf(u) < 0 && (t.params.centeredSlides ? u = i < u ? u - Math.floor(o / 2) + 1 : u + Math.floor(o / 2) - 1 : i < u && (u = u - o + 1), t.slideTo(u, n ? 0 : void 0))), s = 1, h = r.params.thumbs.slideThumbActiveClass, 1 < r.params.slidesPerView && !r.params.centeredSlides && (s = r.params.slidesPerView), t.slides.removeClass(h), t.params.loop) 3014 for (c = 0; c < s; c += 1) t.$wrapperEl.children('[data-swiper-slide-index="' + (r.realIndex + c) + '"]').addClass(h); 3015 else 3016 for (l = 0; l < s; l += 1) t.slides.eq(r.realIndex + l).addClass(h) 3017 } 3018 }, 3019 pi = [si, hi, ci, li, ai, vi, yi, { 3020 name: "mousewheel", 3021 params: { 3022 mousewheel: { 3023 enabled: !1, 3024 releaseOnEdges: !1, 3025 invert: !1, 3026 forceToAxis: !1, 3027 sensitivity: 1, 3028 eventsTarged: "container" 3029 } 3030 }, 3031 create: function() { 3032 var t = this; 3033 n.extend(t, { 3034 mousewheel: { 3035 enabled: !1, 3036 enable: c.enable.bind(t), 3037 disable: c.disable.bind(t), 3038 handle: c.handle.bind(t), 3039 handleMouseEnter: c.handleMouseEnter.bind(t), 3040 handleMouseLeave: c.handleMouseLeave.bind(t), 3041 lastScrollTime: n.now() 3042 } 3043 }) 3044 }, 3045 on: { 3046 init: function() { 3047 this.params.mousewheel.enabled && this.mousewheel.enable() 3048 }, 3049 destroy: function() { 3050 this.mousewheel.enabled && this.mousewheel.disable() 3051 } 3052 } 3053 }, { 3054 name: "navigation", 3055 params: { 3056 navigation: { 3057 nextEl: null, 3058 prevEl: null, 3059 hideOnClick: !1, 3060 disabledClass: "swiper-button-disabled", 3061 hiddenClass: "swiper-button-hidden", 3062 lockClass: "swiper-button-lock" 3063 } 3064 }, 3065 create: function() { 3066 var t = this; 3067 n.extend(t, { 3068 navigation: { 3069 init: y.init.bind(t), 3070 update: y.update.bind(t), 3071 destroy: y.destroy.bind(t), 3072 onNextClick: y.onNextClick.bind(t), 3073 onPrevClick: y.onPrevClick.bind(t) 3074 } 3075 }) 3076 }, 3077 on: { 3078 init: function() { 3079 this.navigation.init(); 3080 this.navigation.update() 3081 }, 3082 toEdge: function() { 3083 this.navigation.update() 3084 }, 3085 fromEdge: function() { 3086 this.navigation.update() 3087 }, 3088 destroy: function() { 3089 this.navigation.destroy() 3090 }, 3091 click: function(n) { 3092 var u = this.navigation, 3093 i = u.$nextEl, 3094 r = u.$prevEl; 3095 !this.params.navigation.hideOnClick || t(n.target).is(r) || t(n.target).is(i) || (i && i.toggleClass(this.params.navigation.hiddenClass), r && r.toggleClass(this.params.navigation.hiddenClass)) 3096 } 3097 } 3098 }, { 3099 name: "pagination", 3100 params: { 3101 pagination: { 3102 el: null, 3103 bulletElement: "span", 3104 clickable: !1, 3105 hideOnClick: !1, 3106 renderBullet: null, 3107 renderProgressbar: null, 3108 renderFraction: null, 3109 renderCustom: null, 3110 progressbarOpposite: !1, 3111 type: "bullets", 3112 dynamicBullets: !1, 3113 dynamicMainBullets: 1, 3114 formatFractionCurrent: function(n) { 3115 return n 3116 }, 3117 formatFractionTotal: function(n) { 3118 return n 3119 }, 3120 bulletClass: "swiper-pagination-bullet", 3121 bulletActiveClass: "swiper-pagination-bullet-active", 3122 modifierClass: "swiper-pagination-", 3123 currentClass: "swiper-pagination-current", 3124 totalClass: "swiper-pagination-total", 3125 hiddenClass: "swiper-pagination-hidden", 3126 progressbarFillClass: "swiper-pagination-progressbar-fill", 3127 progressbarOppositeClass: "swiper-pagination-progressbar-opposite", 3128 clickableClass: "swiper-pagination-clickable", 3129 lockClass: "swiper-pagination-lock" 3130 } 3131 }, 3132 create: function() { 3133 var t = this; 3134 n.extend(t, { 3135 pagination: { 3136 init: nt.init.bind(t), 3137 render: nt.render.bind(t), 3138 update: nt.update.bind(t), 3139 destroy: nt.destroy.bind(t), 3140 dynamicBulletIndex: 0 3141 } 3142 }) 3143 }, 3144 on: { 3145 init: function() { 3146 this.pagination.init(); 3147 this.pagination.render(); 3148 this.pagination.update() 3149 }, 3150 activeIndexChange: function() { 3151 this.params.loop ? this.pagination.update() : void 0 === this.snapIndex && this.pagination.update() 3152 }, 3153 snapIndexChange: function() { 3154 this.params.loop || this.pagination.update() 3155 }, 3156 slidesLengthChange: function() { 3157 this.params.loop && (this.pagination.render(), this.pagination.update()) 3158 }, 3159 snapGridLengthChange: function() { 3160 this.params.loop || (this.pagination.render(), this.pagination.update()) 3161 }, 3162 destroy: function() { 3163 this.pagination.destroy() 3164 }, 3165 click: function(n) { 3166 var i = this; 3167 i.params.pagination.el && i.params.pagination.hideOnClick && 0 < i.pagination.$el.length && !t(n.target).hasClass(i.params.pagination.bulletClass) && i.pagination.$el.toggleClass(i.params.pagination.hiddenClass) 3168 } 3169 } 3170 }, { 3171 name: "scrollbar", 3172 params: { 3173 scrollbar: { 3174 el: null, 3175 dragSize: "auto", 3176 hide: !1, 3177 draggable: !1, 3178 snapOnRelease: !0, 3179 lockClass: "swiper-scrollbar-lock", 3180 dragClass: "swiper-scrollbar-drag" 3181 } 3182 }, 3183 create: function() { 3184 var t = this; 3185 n.extend(t, { 3186 scrollbar: { 3187 init: s.init.bind(t), 3188 destroy: s.destroy.bind(t), 3189 updateSize: s.updateSize.bind(t), 3190 setTranslate: s.setTranslate.bind(t), 3191 setTransition: s.setTransition.bind(t), 3192 enableDraggable: s.enableDraggable.bind(t), 3193 disableDraggable: s.disableDraggable.bind(t), 3194 setDragPosition: s.setDragPosition.bind(t), 3195 onDragStart: s.onDragStart.bind(t), 3196 onDragMove: s.onDragMove.bind(t), 3197 onDragEnd: s.onDragEnd.bind(t), 3198 isTouched: !1, 3199 timeout: null, 3200 dragTimeout: null 3201 } 3202 }) 3203 }, 3204 on: { 3205 init: function() { 3206 this.scrollbar.init(); 3207 this.scrollbar.updateSize(); 3208 this.scrollbar.setTranslate() 3209 }, 3210 update: function() { 3211 this.scrollbar.updateSize() 3212 }, 3213 resize: function() { 3214 this.scrollbar.updateSize() 3215 }, 3216 observerUpdate: function() { 3217 this.scrollbar.updateSize() 3218 }, 3219 setTranslate: function() { 3220 this.scrollbar.setTranslate() 3221 }, 3222 setTransition: function(n) { 3223 this.scrollbar.setTransition(n) 3224 }, 3225 destroy: function() { 3226 this.scrollbar.destroy() 3227 } 3228 } 3229 }, { 3230 name: "parallax", 3231 params: { 3232 parallax: { 3233 enabled: !1 3234 } 3235 }, 3236 create: function() { 3237 n.extend(this, { 3238 parallax: { 3239 setTransform: st.setTransform.bind(this), 3240 setTranslate: st.setTranslate.bind(this), 3241 setTransition: st.setTransition.bind(this) 3242 } 3243 }) 3244 }, 3245 on: { 3246 beforeInit: function() { 3247 this.params.parallax.enabled && (this.params.watchSlidesProgress = !0, this.originalParams.watchSlidesProgress = !0) 3248 }, 3249 init: function() { 3250 this.params.parallax && this.parallax.setTranslate() 3251 }, 3252 setTranslate: function() { 3253 this.params.parallax && this.parallax.setTranslate() 3254 }, 3255 setTransition: function(n) { 3256 this.params.parallax && this.parallax.setTransition(n) 3257 } 3258 } 3259 }, { 3260 name: "zoom", 3261 params: { 3262 zoom: { 3263 enabled: !1, 3264 maxRatio: 3, 3265 minRatio: 1, 3266 toggle: !0, 3267 cont
vendor: 16,384 bytes, lines 3267-3669
3267ainerClass: "swiper-zoom-container", 3268 zoomedSlideClass: "swiper-slide-zoomed" 3269 } 3270 }, 3271 create: function() { 3272 var t = this, 3273 r = { 3274 enabled: !1, 3275 scale: 1, 3276 currentScale: 1, 3277 isScaling: !1, 3278 gesture: { 3279 $slideEl: void 0, 3280 slideWidth: void 0, 3281 slideHeight: void 0, 3282 $imageEl: void 0, 3283 $imageWrapEl: void 0, 3284 maxRatio: 3 3285 }, 3286 image: { 3287 isTouched: void 0, 3288 isMoved: void 0, 3289 currentX: void 0, 3290 currentY: void 0, 3291 minX: void 0, 3292 minY: void 0, 3293 maxX: void 0, 3294 maxY: void 0, 3295 width: void 0, 3296 height: void 0, 3297 startX: void 0, 3298 startY: void 0, 3299 touchesStart: {}, 3300 touchesCurrent: {} 3301 }, 3302 velocity: { 3303 x: void 0, 3304 y: void 0, 3305 prevPositionX: void 0, 3306 prevPositionY: void 0, 3307 prevTime: void 0 3308 } 3309 }, 3310 i; 3311 "onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach(function(n) { 3312 r[n] = ht[n].bind(t) 3313 }); 3314 n.extend(t, { 3315 zoom: r 3316 }); 3317 i = 1; 3318 Object.defineProperty(t.zoom, "scale", { 3319 get: function() { 3320 return i 3321 }, 3322 set: function(n) { 3323 if (i !== n) { 3324 var r = t.zoom.gesture.$imageEl ? t.zoom.gesture.$imageEl[0] : void 0, 3325 u = t.zoom.gesture.$slideEl ? t.zoom.gesture.$slideEl[0] : void 0; 3326 t.emit("zoomChange", n, r, u) 3327 } 3328 i = n 3329 } 3330 }) 3331 }, 3332 on: { 3333 init: function() { 3334 this.params.zoom.enabled && this.zoom.enable() 3335 }, 3336 destroy: function() { 3337 this.zoom.disable() 3338 }, 3339 touchStart: function(n) { 3340 this.zoom.enabled && this.zoom.onTouchStart(n) 3341 }, 3342 touchEnd: function(n) { 3343 this.zoom.enabled && this.zoom.onTouchEnd(n) 3344 }, 3345 doubleTap: function(n) { 3346 this.params.zoom.enabled && this.zoom.enabled && this.params.zoom.toggle && this.zoom.toggle(n) 3347 }, 3348 transitionEnd: function() { 3349 this.zoom.enabled && this.params.zoom.enabled && this.zoom.onTransitionEnd() 3350 } 3351 } 3352 }, { 3353 name: "lazy", 3354 params: { 3355 lazy: { 3356 enabled: !1, 3357 loadPrevNext: !1, 3358 loadPrevNextAmount: 1, 3359 loadOnTransitionStart: !1, 3360 elementClass: "swiper-lazy", 3361 loadingClass: "swiper-lazy-loading", 3362 loadedClass: "swiper-lazy-loaded", 3363 preloaderClass: "swiper-lazy-preloader" 3364 } 3365 }, 3366 create: function() { 3367 n.extend(this, { 3368 lazy: { 3369 initialImageLoaded: !1, 3370 load: yt.load.bind(this), 3371 loadInSlide: yt.loadInSlide.bind(this) 3372 } 3373 }) 3374 }, 3375 on: { 3376 beforeInit: function() { 3377 this.params.lazy.enabled && this.params.preloadImages && (this.params.preloadImages = !1) 3378 }, 3379 init: function() { 3380 this.params.lazy.enabled && !this.params.loop && 0 === this.params.initialSlide && this.lazy.load() 3381 }, 3382 scroll: function() { 3383 this.params.freeMode && !this.params.freeModeSticky && this.lazy.load() 3384 }, 3385 resize: function() { 3386 this.params.lazy.enabled && this.lazy.load() 3387 }, 3388 scrollbarDragMove: function() { 3389 this.params.lazy.enabled && this.lazy.load() 3390 }, 3391 transitionStart: function() { 3392 var n = this; 3393 n.params.lazy.enabled && (n.params.lazy.loadOnTransitionStart || !n.params.lazy.loadOnTransitionStart && !n.lazy.initialImageLoaded) && n.lazy.load() 3394 }, 3395 transitionEnd: function() { 3396 this.params.lazy.enabled && !this.params.lazy.loadOnTransitionStart && this.lazy.load() 3397 } 3398 } 3399 }, { 3400 name: "controller", 3401 params: { 3402 controller: { 3403 control: void 0, 3404 inverse: !1, 3405 by: "slide" 3406 } 3407 }, 3408 create: function() { 3409 var t = this; 3410 n.extend(t, { 3411 controller: { 3412 control: t.params.controller.control, 3413 getInterpolateFunction: p.getInterpolateFunction.bind(t), 3414 setTranslate: p.setTranslate.bind(t), 3415 setTransition: p.setTransition.bind(t) 3416 } 3417 }) 3418 }, 3419 on: { 3420 update: function() { 3421 this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline) 3422 }, 3423 resize: function() { 3424 this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline) 3425 }, 3426 observerUpdate: function() { 3427 this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline) 3428 }, 3429 setTranslate: function(n, t) { 3430 this.controller.control && this.controller.setTranslate(n, t) 3431 }, 3432 setTransition: function(n, t) { 3433 this.controller.control && this.controller.setTransition(n, t) 3434 } 3435 } 3436 }, { 3437 name: "a11y", 3438 params: { 3439 a11y: { 3440 enabled: !0, 3441 notificationClass: "swiper-notification", 3442 prevSlideMessage: "Previous slide", 3443 nextSlideMessage: "Next slide", 3444 firstSlideMessage: "This is the first slide", 3445 lastSlideMessage: "This is the last slide", 3446 paginationBulletMessage: "Go to slide {{index}}" 3447 } 3448 }, 3449 create: function() { 3450 var i = this; 3451 n.extend(i, { 3452 a11y: { 3453 liveRegion: t('<span class="' + i.params.a11y.notificationClass + '" aria-live="assertive" aria-atomic="true"><\/span>') 3454 } 3455 }); 3456 Object.keys(pt).forEach(function(n) { 3457 i.a11y[n] = pt[n].bind(i) 3458 }) 3459 }, 3460 on: { 3461 init: function() { 3462 this.params.a11y.enabled && (this.a11y.init(), this.a11y.updateNavigation()) 3463 }, 3464 toEdge: function() { 3465 this.params.a11y.enabled && this.a11y.updateNavigation() 3466 }, 3467 fromEdge: function() { 3468 this.params.a11y.enabled && this.a11y.updateNavigation() 3469 }, 3470 paginationUpdate: function() { 3471 this.params.a11y.enabled && this.a11y.updatePagination() 3472 }, 3473 destroy: function() { 3474 this.params.a11y.enabled && this.a11y.destroy() 3475 } 3476 } 3477 }, { 3478 name: "history", 3479 params: { 3480 history: { 3481 enabled: !1, 3482 replaceState: !1, 3483 key: "slides" 3484 } 3485 }, 3486 create: function() { 3487 var t = this; 3488 n.extend(t, { 3489 history: { 3490 init: l.init.bind(t), 3491 setHistory: l.setHistory.bind(t), 3492 setHistoryPopState: l.setHistoryPopState.bind(t), 3493 scrollToSlide: l.scrollToSlide.bind(t), 3494 destroy: l.destroy.bind(t) 3495 } 3496 }) 3497 }, 3498 on: { 3499 init: function() { 3500 this.params.history.enabled && this.history.init() 3501 }, 3502 destroy: function() { 3503 this.params.history.enabled && this.history.destroy() 3504 }, 3505 transitionEnd: function() { 3506 this.history.initialized && this.history.setHistory(this.params.history.key, this.activeIndex) 3507 } 3508 } 3509 }, { 3510 name: "hash-navigation", 3511 params: { 3512 hashNavigation: { 3513 enabled: !1, 3514 replaceState: !1, 3515 watchState: !1 3516 } 3517 }, 3518 create: function() { 3519 var t = this; 3520 n.extend(t, { 3521 hashNavigation: { 3522 initialized: !1, 3523 init: tt.init.bind(t), 3524 destroy: tt.destroy.bind(t), 3525 setHash: tt.setHash.bind(t), 3526 onHashCange: tt.onHashCange.bind(t) 3527 } 3528 }) 3529 }, 3530 on: { 3531 init: function() { 3532 this.params.hashNavigation.enabled && this.hashNavigation.init() 3533 }, 3534 destroy: function() { 3535 this.params.hashNavigation.enabled && this.hashNavigation.destroy() 3536 }, 3537 transitionEnd: function() { 3538 this.hashNavigation.initialized && this.hashNavigation.setHash() 3539 } 3540 } 3541 }, { 3542 name: "autoplay", 3543 params: { 3544 autoplay: { 3545 enabled: !1, 3546 delay: 3e3, 3547 waitForTransition: !0, 3548 disableOnInteraction: !0, 3549 stopOnLastSlide: !1, 3550 reverseDirection: !1 3551 } 3552 }, 3553 create: function() { 3554 var t = this; 3555 n.extend(t, { 3556 autoplay: { 3557 running: !1, 3558 paused: !1, 3559 run: it.run.bind(t), 3560 start: it.start.bind(t), 3561 stop: it.stop.bind(t), 3562 pause: it.pause.bind(t), 3563 onTransitionEnd: function(n) { 3564 t && !t.destroyed && t.$wrapperEl && n.target === this && (t.$wrapperEl[0].removeEventListener("transitionend", t.autoplay.onTransitionEnd), t.$wrapperEl[0].removeEventListener("webkitTransitionEnd", t.autoplay.onTransitionEnd), t.autoplay.paused = !1, t.autoplay.running ? t.autoplay.run() : t.autoplay.stop()) 3565 } 3566 } 3567 }) 3568 }, 3569 on: { 3570 init: function() { 3571 this.params.autoplay.enabled && this.autoplay.start() 3572 }, 3573 beforeTransitionStart: function(n, t) { 3574 this.autoplay.running && (t || !this.params.autoplay.disableOnInteraction ? this.autoplay.pause(n) : this.autoplay.stop()) 3575 }, 3576 sliderFirstMove: function() { 3577 this.autoplay.running && (this.params.autoplay.disableOnInteraction ? this.autoplay.stop() : this.autoplay.pause()) 3578 }, 3579 destroy: function() { 3580 this.autoplay.running && this.autoplay.stop() 3581 } 3582 } 3583 }, { 3584 name: "effect-fade", 3585 params: { 3586 fadeEffect: { 3587 crossFade: !1 3588 } 3589 }, 3590 create: function() { 3591 n.extend(this, { 3592 fadeEffect: { 3593 setTranslate: wt.setTranslate.bind(this), 3594 setTransition: wt.setTransition.bind(this) 3595 } 3596 }) 3597 }, 3598 on: { 3599 beforeInit: function() { 3600 var t = this, 3601 i; 3602 "fade" === t.params.effect && (t.classNames.push(t.params.containerModifierClass + "fade"), i = { 3603 slidesPerView: 1, 3604 slidesPerColumn: 1, 3605 slidesPerGroup: 1, 3606 watchSlidesProgress: !0, 3607 spaceBetween: 0, 3608 virtualTranslate: !0 3609 }, n.extend(t.params, i), n.extend(t.originalParams, i)) 3610 }, 3611 setTranslate: function() { 3612 "fade" === this.params.effect && this.fadeEffect.setTranslate() 3613 }, 3614 setTransition: function(n) { 3615 "fade" === this.params.effect && this.fadeEffect.setTransition(n) 3616 } 3617 } 3618 }, { 3619 name: "effect-cube", 3620 params: { 3621 cubeEffect: { 3622 slideShadows: !0, 3623 shadow: !0, 3624 shadowOffset: 20, 3625 shadowScale: .94 3626 } 3627 }, 3628 create: function() { 3629 n.extend(this, { 3630 cubeEffect: { 3631 setTranslate: bt.setTranslate.bind(this), 3632 setTransition: bt.setTransition.bind(this) 3633 } 3634 }) 3635 }, 3636 on: { 3637 beforeInit: function() { 3638 var t = this, 3639 i; 3640 "cube" === t.params.effect && (t.classNames.push(t.params.containerModifierClass + "cube"), t.classNames.push(t.params.containerModifierClass + "3d"), i = { 3641 slidesPerView: 1, 3642 slidesPerColumn: 1, 3643 slidesPerGroup: 1, 3644 watchSlidesProgress: !0, 3645 resistanceRatio: 0, 3646 spaceBetween: 0, 3647 centeredSlides: !1, 3648 virtualTranslate: !0 3649 }, n.extend(t.params, i), n.extend(t.originalParams, i)) 3650 }, 3651 setTranslate: function() { 3652 "cube" === this.params.effect && this.cubeEffect.setTranslate() 3653 }, 3654 setTransition: function(n) { 3655 "cube" === this.params.effect && this.cubeEffect.setTransition(n) 3656 } 3657 } 3658 }, { 3659 name: "effect-flip", 3660 params: { 3661 flipEffect: { 3662 slideShadows: !0, 3663 limitRotation: !0 3664 } 3665 }, 3666 create: function() { 3667 n.extend(this, { 3668 flipEffect: { 3669 setTranslate: kt.setTra
3669nslate.bind(this), 3670 setTransition: kt.setTransition.bind(this) 3671 } 3672 }) 3673 }, 3674 on: { 3675 beforeInit: function() { 3676 var t = this, 3677 i; 3678 "flip" === t.params.effect && (t.classNames.push(t.params.containerModifierClass + "flip"), t.classNames.push(t.params.containerModifierClass + "3d"), i = { 3679 slidesPerView: 1, 3680 slidesPerColumn: 1, 3681 slidesPerGroup: 1, 3682 watchSlidesProgress: !0, 3683 spaceBetween: 0, 3684 virtualTranslate: !0 3685 }, n.extend(t.params, i), n.extend(t.originalParams, i)) 3686 }, 3687 setTranslate: function() { 3688 "flip" === this.params.effect && this.flipEffect.setTranslate() 3689 }, 3690 setTransition: function(n) { 3691 "flip" === this.params.effect && this.flipEffect.setTransition(n) 3692 } 3693 } 3694 }, { 3695 name: "effect-coverflow", 3696 params: { 3697 coverflowEffect: { 3698 rotate: 50, 3699 stretch: 0, 3700 depth: 100, 3701 modifier: 1, 3702 slideShadows: !0 3703 } 3704 }, 3705 create: function() { 3706 n.extend(this, { 3707 coverflowEffect: { 3708 setTranslate: dt.setTranslate.bind(this), 3709 setTransition: dt.setTransition.bind(this) 3710 } 3711 }) 3712 }, 3713 on: { 3714 beforeInit: function() { 3715 var n = this; 3716 "coverflow" === n.params.effect && (n.classNames.push(n.params.containerModifierClass + "coverflow"), n.classNames.push(n.params.containerModifierClass + "3d"), n.params.watchSlidesProgress = !0, n.originalParams.watchSlidesProgress = !0) 3717 }, 3718 setTranslate: function() { 3719 "coverflow" === this.params.effect && this.coverflowEffect.setTranslate() 3720 }, 3721 setTransition: function(n) { 3722 "coverflow" === this.params.effect && this.coverflowEffect.setTransition(n) 3723 } 3724 } 3725 }, { 3726 name: "thumbs", 3727 params: { 3728 thumbs: { 3729 swiper: null, 3730 slideThumbActiveClass: "swiper-slide-thumb-active", 3731 thumbsContainerClass: "swiper-container-thumbs" 3732 } 3733 }, 3734 create: function() { 3735 n.extend(this, { 3736 thumbs: { 3737 swiper: null, 3738 init: ct.init.bind(this), 3739 update: ct.update.bind(this), 3740 onThumbClick: ct.onThumbClick.bind(this) 3741 } 3742 }) 3743 }, 3744 on: { 3745 beforeInit: function() { 3746 var n = this.params.thumbs; 3747 n && n.swiper && (this.thumbs.init(), this.thumbs.update(!0)) 3748 }, 3749 slideChange: function() { 3750 this.thumbs.swiper && this.thumbs.update() 3751 }, 3752 update: function() { 3753 this.thumbs.swiper && this.thumbs.update() 3754 }, 3755 resize: function() { 3756 this.thumbs.swiper && this.thumbs.update() 3757 }, 3758 observerUpdate: function() { 3759 this.thumbs.swiper && this.thumbs.update() 3760 }, 3761 setTransition: function(n) { 3762 var t = this.thumbs.swiper; 3763 t && t.setTransition(n) 3764 }, 3765 beforeDestroy: function() { 3766 var n = this.thumbs.swiper; 3767 n && this.thumbs.swiperCreated && n && n.destroy() 3768 } 3769 } 3770 }]; 3771 return void 0 === o.use && (o.use = o.Class.use, o.installModule = o.Class.installModule), o.use(pi), o 3772}); 3773/*! 3774 * Bootstrap v4.3.1 (https://getbootstrap.com/) 3775 * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) 3776 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 3777 */ 3778! function(n, t) { 3779 "object" == typeof exports && "undefined" != typeof module ? t(exports, require("jquery"), require("popper.js")) : "function" == typeof define && define.amd ? define(["exports", "jquery", "popper.js"], t) : t((n = n || self).bootstrap = {}, n.jQuery, n.Popper) 3780}(this, function(n, t, i) { 3781 "use strict"; 3782 3783 function uu(n, t) { 3784 for (var i, r = 0; r < t.length; r++) i = t[r], i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(n, i.key, i) 3785 } 3786 3787 function l(n, t, i) { 3788 return t && uu(n.prototype, t), i && uu(n, i), n 3789 } 3790 3791 function f(n) { 3792 for (var i, r, t = 1; t < arguments.length; t++) i = null != arguments[t] ? arguments[t] : {}, r = Object.keys(i), "function" == typeof Object.getOwnPropertySymbols && (r = r.concat(Object.getOwnPropertySymbols(i).filter(function(n) { 3793 return Object.getOwnPropertyDescriptor(i, n).enumerable 3794 }))), r.forEach(function(t) { 3795 var r, u, f; 3796 r = n; 3797 f = i[u = t];
3798 u in r ? Object.defineProperty(r, u, { 3799 value: f, 3800 enumerable: !0, 3801 configurable: !0, 3802 writable: !0 3803 }) : r[u] = f 3804 }); 3805 return n 3806 } 3807 3808 function cf(n) { 3809 var u = this, 3810 i = !1; 3811 return t(this).one(r.TRANSITION_END, function() { 3812 i = !0 3813 }), setTimeout(function() { 3814 i || r.triggerTransitionEnd(u) 3815 }, n), this 3816 } 3817 3818 function wu(n, t, i) { 3819 if (0 === n.length) return n; 3820 if (i && "function" == typeof i) return i(n); 3821 for (var u = (new window.DOMParser).parseFromString(n, "text/html"), e = Object.keys(t), f = [].slice.call(u.body.querySelectorAll("*")), o = function(n) { 3822 var i = f[n], 3823 o = i.nodeName.toLowerCase(), 3824 r, u; 3825 if (-1 === e.indexOf(i.nodeName.toLowerCase())) return i.parentNode.removeChild(i), "continue"; 3826 r = [].slice.call(i.attributes); 3827 u = [].concat(t["*"] || [], t[o] || []); 3828 r.forEach(function(n) { 3829 (function(n, t) { 3830 var i = n.nodeName.toLowerCase(); 3831 if (-1 !== t.indexOf(i)) return -1 === us.indexOf(i) || Boolean(n.nodeValue.match(fs) || n.nodeValue.match(es)); 3832 for (var u = t.filter(function(n) { 3833 return n instanceof RegExp 3834 }), r = 0, f = u.length; r < f; r++) 3835 if (i.match(u[r])) return !0; 3836 return !1 3837 })(n, u) || i.removeAttribute(n.nodeName) 3838 }) 3839 }, r = 0, s = f.length; r < s; r++) o(r); 3840 return u.body.innerHTML 3841 } 3842 var at, r; 3843 t = t && t.hasOwnProperty("default") ? t.default : t; 3844 i = i && i.hasOwnProperty("default") ? i.default : i; 3845 at = "transitionend"; 3846 r = { 3847 TRANSITION_END: "bsTransitionEnd", 3848 getUID: function(n) { 3849 for (; n += ~~(1e6 * Math.random()), document.getElementById(n);); 3850 return n 3851 }, 3852 getSelectorFromElement: function(n) { 3853 var t = n.getAttribute("data-target"), 3854 i; 3855 t && "#" !== t || (i = n.getAttribute("href"), t = i && "#" !== i ? i.trim() : ""); 3856 try { 3857 return document.querySelector(t) ? t : null 3858 } catch (n) { 3859 return null 3860 } 3861 }, 3862 getTransitionDurationFromElement: function(n) { 3863 if (!n) return 0; 3864 var i = t(n).css("transition-duration"), 3865 r = t(n).css("transition-delay"), 3866 u = parseFloat(i), 3867 f = parseFloat(r); 3868 return u || f ? (i = i.split(",")[0], r = r.split(",")[0], 1e3 * (parseFloat(i) + parseFloat(r))) : 0 3869 }, 3870 reflow: function(n) { 3871 return n.offsetHeight 3872 }, 3873 triggerTransitionEnd: function(n) { 3874 t(n).trigger(at) 3875 }, 3876 supportsTransitionEnd: function() { 3877 return Boolean(at) 3878 }, 3879 isElement: function(n) { 3880 return (n[0] || n).nodeType 3881 }, 3882 typeCheckConfig: function(n, t, i) { 3883 var u, s; 3884 for (u in i) 3885 if (Object.prototype.hasOwnProperty.call(i, u)) { 3886 var e = i[u], 3887 f = t[u], 3888 o = f && r.isElement(f) ? "element" : (s = f, {}.toString.call(s).match(/\s([a-z]+)/i)[1].toLowerCase()); 3889 if (!new RegExp(e).test(o)) throw new Error(n.toUpperCase() + ': Option "' + u + '" provided type "' + o + '" but expected type "' + e + '".'); 3890 } 3891 }, 3892 findShadowRoot: function(n) { 3893 if (!document.documentElement.attachShadow) return null; 3894 if ("function" != typeof n.getRootNode) return n instanceof ShadowRoot ? n : n.parentNode ? r.findShadowRoot(n.parentNode) : null; 3895 var t = n.getRootNode(); 3896 return t instanceof ShadowRoot ? t : null 3897 } 3898 }; 3899 t.fn.emulateTransitionEnd = cf; 3900 t.event.special[r.TRANSITION_END] = { 3901 bindType: at, 3902 delegateType: at, 3903 handle: function(n) { 3904 if (t(n.target).is(this)) return n.handleObj.handler.apply(this, arguments) 3905 } 3906 }; 3907 var vt = "alert", 3908 pi = "bs.alert", 3909 cr = "." + pi, 3910 lf = t.fn[vt], 3911 lr = { 3912 CLOSE: "close" + cr, 3913 CLOSED: "closed" + cr,
3914 CLICK_DATA_API: "click" + cr + ".data-api" 3915 }, 3916 af = "alert", 3917 vf = "fade", 3918 yf = "show", 3919 it = function() { 3920 function n(n) { 3921 this._element = n 3922 } 3923 var i = n.prototype; 3924 return i.close = function(n) { 3925 var t = this._element; 3926 n && (t = this._getRootElement(n)); 3927 this._triggerCloseEvent(t).isDefaultPrevented() || this._removeElement(t) 3928 }, i.dispose = function() { 3929 t.removeData(this._element, pi); 3930 this._element = null 3931 }, i._getRootElement = function(n) { 3932 var u = r.getSelectorFromElement(n), 3933 i = !1; 3934 return u && (i = document.querySelector(u)), i || (i = t(n).closest("." + af)[0]), i 3935 }, i._triggerCloseEvent = function(n) { 3936 var i = t.Event(lr.CLOSE); 3937 return t(n).trigger(i), i 3938 }, i._removeElement = function(n) { 3939 var u = this, 3940 i; 3941 (t(n).removeClass(yf), t(n).hasClass(vf)) ? (i = r.getTransitionDurationFromElement(n), t(n).one(r.TRANSITION_END, function(t) { 3942 return u._destroyElement(n, t) 3943 }).emulateTransitionEnd(i)) : this._destroyElement(n) 3944 }, i._destroyElement = function(n) { 3945 t(n).detach().trigger(lr.CLOSED).remove() 3946 }, n._jQueryInterface = function(i) { 3947 return this.each(function() { 3948 var u = t(this), 3949 r = u.data(pi); 3950 r || (r = new n(this), u.data(pi, r)); 3951 "close" === i && r[i](this) 3952 }) 3953 }, n._handleDismiss = function(n) { 3954 return function(t) { 3955 t && t.preventDefault(); 3956 n.close(this) 3957 } 3958 }, l(n, null, [{ 3959 key: "VERSION", 3960 get: function() { 3961 return "4.3.1" 3962 } 3963 }]), n 3964 }(); 3965 t(document).on(lr.CLICK_DATA_API, '[data-dismiss="alert"]', it._handleDismiss(new it)); 3966 t.fn[vt] = it._jQueryInterface; 3967 t.fn[vt].Constructor = it; 3968 t.fn[vt].noConflict = function() { 3969 return t.fn[vt] = lf, it._jQueryInterface 3970 }; 3971 var yt = "button", 3972 wi = "bs.button", 3973 ar = "." + wi, 3974 vr = ".data-api", 3975 pf = t.fn[yt], 3976 pt = "active", 3977 wf = "btn", 3978 bf = "focus", 3979 fu = '[data-toggle^="button"]', 3980 kf = '[data-toggle="buttons"]', 3981 df = 'input:not([type="hidden"])', 3982 gf = ".active", 3983 eu = ".btn", 3984 ou = { 3985 CLICK_DATA_API: "click" + ar + vr, 3986 FOCUS_BLUR_DATA_API: "focus" + ar + vr + " blur" + ar + vr 3987 }, 3988 wt = function() { 3989 function n(n) { 3990 this._element = n 3991 } 3992 var i = n.prototype; 3993 return i.toggle = function() { 3994 var r = !0, 3995 f = !0, 3996 i = t(this._element).closest(kf)[0], 3997 n, u; 3998 if (i && (n = this._element.querySelector(df), n)) { 3999 if ("radio" === n.type && (n.checked && this._element.classList.contains(pt) ? r = !1 : (u = i.querySelector(gf), u && t(u).removeClass(pt))), r) { 4000 if (n.hasAttribute("disabled") || i.hasAttribute("disabled") || n.classList.contains("disabled") || i.classList.contains("disabled")) return; 4001 n.checked = !this._element.classList.contains(pt); 4002 t(n).trigger("change") 4003 } 4004 n.focus(); 4005 f = !1 4006 } 4007 f && this._element.setAttribute("aria-pressed", !this._element.classList.contains(pt)); 4008 r && t(this._element).toggleClass(pt) 4009 }, i.dispose = function() { 4010 t.removeData(this._element, wi); 4011 this._element = null 4012 }, n._jQueryInterface = function(i) { 4013 return this.each(function() { 4014 var r = t(this).data(wi); 4015 r || (r = new n(this), t(this).data(wi, r)); 4016 "toggle" === i && r[i]() 4017 }) 4018 }, l(n, null, [{ 4019 key: "VERSION", 4020 get: function() { 4021 return "4.3.1" 4022 } 4023 }]), n 4024 }(); 4025 t(document).on(ou.CLICK_DATA_API, fu, function(n) { 4026 n.preventDefault(); 4027 var i = n.target; 4028 t(i).hasClass(wf) || (i = t(i).closest(eu)); 4029 wt._jQueryInterface.call(t(i), "toggle") 4030 }).on(ou.FOCUS_BLUR_DATA_API, fu, function(n) { 4031 var i = t(n.target).closest(eu)[0]; 4032 t(i).toggleClass(bf, /^focus(in)?$/.test(n.type)) 4033 }); 4034 t.fn[yt] = wt._jQueryInterface; 4035 t.fn[yt].Constructor = wt; 4036 t.fn[yt].noConflict = function() { 4037 return t.fn[yt] = pf, wt._jQueryInterface 4038 }; 4039 var rt = "carousel", 4040 bt = "bs.carousel", 4041 o = "." + bt, 4042 su = ".data-api", 4043 ne = t.fn[rt], 4044 yr = { 4045 interval: 5e3, 4046 keyboard: !0, 4047 slide: !1, 4048 pause: "hover", 4049 wrap: !0, 4050 touch: !0 4051 }, 4052 te = { 4053 interval: "(number|boolean)", 4054 keyboard: "boolean", 4055 slide: "(boolean|string)", 4056 pause: "(string|boolean)", 4057 wrap: "boolean", 4058 touch: "boolean" 4059 }, 4060 bi = "next", 4061 ki = "prev", 4062 ie = "left", 4063 re = "right", 4064 s = { 4065 SLIDE: "slide" + o, 4066 SLID: "slid" + o, 4067 KEYDOWN: "keydown" + o, 4068 MOUSEENTER: "mouseenter" + o, 4069 MOUSELEAVE: "mouseleave" + o, 4070 TOUCHSTART: "touchstart" + o, 4071 TOUCHMOVE: "touchmove" + o, 4072 TOUCHEND: "touchend" + o, 4073 POINTERDOWN: "pointerdown" + o, 4074 POINTERUP: "pointerup" + o, 4075 DRAG_START: "dragstart" + o, 4076 LOAD_DATA_API: "load" + o + su, 4077 CLICK_DATA_API: "click" + o + su 4078 }, 4079 ue = "carousel", 4080 w = "active", 4081 fe = "slide", 4082 ee = "carousel-item-right", 4083 oe = "carousel-item-left", 4084 se = "carousel-item-next", 4085 he = "carousel-item-prev", 4086 ce = "pointer-event", 4087 le = ".active", 4088 pr = ".active.carousel-item", 4089 ae = ".carousel-item", 4090 ve = ".carousel-item img", 4091 ye = ".carousel-item-next, .carousel-item-prev", 4092 pe = ".carousel-indicators", 4093 we = '[data-ride="carousel"]', 4094 hu = { 4095 TOUCH: "touch", 4096 PEN: "pen" 4097 }, 4098 ut = function() { 4099 function i(n, t) { 4100 this._items = null; 4101 this._interval = null; 4102 this._activeElement = null; 4103 this._isPaused = !1; 4104 this._isSliding = !1; 4105 this.touchTimeout = null; 4106 this.touchStartX = 0; 4107 this.touchDeltaX = 0; 4108 this._config = this._getConfig(t); 4109 this._element = n; 4110 this._indicatorsElement = this._element.querySelector(pe); 4111 this._touchSupported = "ontouchstart" in document.documentElement || 0 < navigator.maxTouchPoints; 4112 this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent); 4113 this._addEventListeners() 4114 } 4115 var n = i.prototype; 4116 return n.next = function() { 4117 this._isSliding || this._slide(bi) 4118 }, n.nextWhenVisible = function() { 4119 !document.hidden && t(this._element).is(":visible") && "hidden" !== t(this._element).css("visibility") && this.next() 4120 }, n.prev = function() { 4121 this._isSliding || this._slide(ki) 4122 }, n.pause = function(n) { 4123 n || (this._isPaused = !0); 4124 this._element.querySelector(ye) && (r.triggerTransitionEnd(this._element), this.cycle(!0)); 4125 clearInterval(this._interval); 4126 this._interval = null 4127 }, n.cycle = function(n) { 4128 n || (this._isPaused = !1); 4129 this._interval && (clearInterval(this._interval), this._interval = null); 4130 this._config.interval && !this._isPaused && (this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval)) 4131 }, n.to = function(n) { 4132 var u = this, 4133 i, r; 4134 if (this._activeElement = this._element.querySelector(pr), i = this._getItemIndex(this._activeElement), !(n > this._items.length - 1 || n < 0)) 4135 if (this._isSliding) t(this._element).one(s.SLID, function() { 4136 return u.to(n) 4137 }); 4138 else { 4139 if (i === n) return this.pause(), void this.cycle(); 4140 r = i < n ? bi : ki; 4141 this._slide(r, this._items[n]) 4142 } 4143 }, n.dispose = function() { 4144 t(this._element).off(o); 4145 t.removeData(this._element, bt); 4146 this._items = null; 4147 this._config = null; 4148 this._element = null; 4149 this._interval = null; 4150 this._isPaused = null; 4151 this._isSliding = null; 4152 this._activeElement = null; 4153 this._indicatorsElement = null 4154 }, n._getConfig = function(n) { 4155 return n = f({}, yr, n), r.typeCheckConfig(rt, n, te), n 4156 }, n._handleSwipe = function() { 4157 var t = Math.abs(this.touchDeltaX), 4158 n; 4159 t <= 40 || (n = t / this.touchDeltaX, 0 < n && this.prev(), n < 0 && this.next()) 4160 }, n._addEventListeners = function() { 4161 var n = this; 4162 this._config.keyboard && t(this._element).on(s.KEYDOWN, function(t) { 4163 return n._keydown(t) 4164 }); 4165 "hover" === this._config.pause && t(this._element).on(s.MOUSEENTER, function(t) { 4166 return n.pause(t) 4167 }).on(s.MOUSELEAVE, function(t) { 4168 return n.cycle(t) 4169 }); 4170 this._config.touch && this._addTouchEventListeners() 4171 }, n._addTouchEventListeners = function() { 4172 var n = this, 4173 i, r; 4174 this._touchSupported && (i = function(t) { 4175 n._pointerEvent && hu[t.originalEvent.pointerType.toUpperCase()] ? n.touchStartX = t.originalEvent.clientX : n._pointerEvent || (n.touchStartX = t.originalEvent.touches[0].clientX) 4176 }, r = function(t) { 4177 n._pointerEvent && hu[t.originalEvent.pointerType.toUpperCase()] && (n.touchDeltaX = t.originalEvent.clientX - n.touchStartX); 4178 n._handleSwipe(); 4179 "hover" === n._config.pause && (n.pause(), n.touchTimeout && clearTimeout(n.touchTimeout), n.touchTimeout = setTimeout(function(t) { 4180 return n.cycle(t) 4181 }, 500 + n._config.interval)) 4182 }, t(this._element.querySelectorAll(ve)).on(s.DRAG_START, function(n) { 4183 return n.preventDefault() 4184 }), this._pointerEvent ? (t(this._element).on(s.POINTERDOWN, function(n) { 4185 return i(n) 4186 }), t(this._element).on(s.POINTERUP, function(n) { 4187 return r(n) 4188 }), this._element.classList.add(ce)) : (t(this._element).on(s.TOUCHSTART, function(n) { 4189 return i(n) 4190 }), t(this._element).on(s.TOUCHMOVE, function(t) { 4191 var i; 4192 n.touchDeltaX = (i = t).originalEvent.touches && 1 < i.originalEvent.touches.length ? 0 : i.originalEvent.touches[0].clientX - n.touchStartX 4193 }), t(this._element).on(s.TOUCHEND, function(n) { 4194 return r(n) 4195 }))) 4196 }, n._keydown = function(n) { 4197 if (!/input|textarea/i.test(n.target.tagName)) switch (n.which) { 4198 case 37: 4199 n.preventDefault(); 4200 this.prev(); 4201 break; 4202 case 39: 4203 n.preventDefault(); 4204 this.next() 4205 } 4206 }, n._getItemIndex = function(n) { 4207 return this._items = n && n.parentNode ? [].slice.call(n.parentNode.querySelectorAll(ae)) : [], this._items.indexOf(n) 4208 }, n._getItemByDirection = function(n, t) { 4209 var u = n === bi, 4210 f = n === ki, 4211 i = this._getItemIndex(t), 4212 e = this._items.length - 1, 4213 r; 4214 return (f && 0 === i || u && i === e) && !this._config.wrap ? t : (r = (i + (n === ki ? -1 : 1)) % this._items.length, -1 === r ? this._items[this._items.length - 1] : this._items[r]) 4215 }, n._triggerSlideEvent = function(n, i) { 4216 var u = this._getItemIndex(n), 4217 f = this._getItemIndex(this._element.querySelector(pr)), 4218 r = t.Event(s.SLIDE, { 4219 relatedTarget: n, 4220 direction: i, 4221 from: f, 4222 to: u 4223 }); 4224 return t(this._element).trigger(r), r 4225 }, n._setActiveIndicatorElement = function(n) { 4226 var r, i; 4227 this._indicatorsElement && (r = [].slice.call(this._indicatorsElement.querySelectorAll(le)), t(r).removeClass(w), i = this._indicatorsElement.children[this._getItemIndex(n)], i && t(i).addClass(w)) 4228 }, n._slide = function(n, i) { 4229 var e, o, h, a = this, 4230 f = this._element.querySelector(pr), 4231 p = this._getItemIndex(f),
4232 u = i || f && this._getItemByDirection(n, f), 4233 b = this._getItemIndex(u), 4234 v = Boolean(this._interval), 4235 c, l, y; 4236 (h = n === bi ? (e = oe, o = se, ie) : (e = ee, o = he, re), u && t(u).hasClass(w)) ? this._isSliding = !1: !this._triggerSlideEvent(u, h).isDefaultPrevented() && f && u && (this._isSliding = !0, v && this.pause(), this._setActiveIndicatorElement(u), c = t.Event(s.SLID, { 4237 relatedTarget: u, 4238 direction: h, 4239 from: p, 4240 to: b 4241 }), t(this._element).hasClass(fe) ? (t(u).addClass(o), r.reflow(u), t(f).addClass(e), t(u).addClass(e), l = parseInt(u.getAttribute("data-interval"), 10), this._config.interval = l ? (this._config.defaultInterval = this._config.defaultInterval || this._config.interval, l) : this._config.defaultInterval || this._config.interval, y = r.getTransitionDurationFromElement(f), t(f).one(r.TRANSITION_END, function() { 4242 t(u).removeClass(e + " " + o).addClass(w); 4243 t(f).removeClass(w + " " + o + " " + e); 4244 a._isSliding = !1; 4245 setTimeout(function() { 4246 return t(a._element).trigger(c) 4247 }, 0) 4248 }).emulateTransitionEnd(y)) : (t(f).removeClass(w), t(u).addClass(w), this._isSliding = !1, t(this._element).trigger(c)), v && this.cycle()) 4249 }, i._jQueryInterface = function(n) { 4250 return this.each(function() { 4251 var r = t(this).data(bt), 4252 u = f({}, yr, t(this).data()), 4253 e; 4254 if ("object" == typeof n && (u = f({}, u, n)), e = "string" == typeof n ? n : u.slide, r || (r = new i(this, u), t(this).data(bt, r)), "number" == typeof n) r.to(n); 4255 else if ("string" == typeof e) { 4256 if ("undefined" == typeof r[e]) throw new TypeError('No method named "' + e + '"'); 4257 r[e]() 4258 } else u.interval && u.ride && (r.pause(), r.cycle()) 4259 }) 4260 }, i._dataApiClickHandler = function(n) { 4261 var s = r.getSelectorFromElement(this), 4262 u, o, e; 4263 s && (u = t(s)[0], u && t(u).hasClass(ue) && (o = f({}, t(u).data(), t(this).data()), e = this.getAttribute("data-slide-to"), e && (o.interval = !1), i._jQueryInterface.call(t(u), o), e && t(u).data(bt).to(e), n.preventDefault())) 4264 }, l(i, null, [{ 4265 key: "VERSION", 4266 get: function() { 4267 return "4.3.1" 4268 } 4269 }, { 4270 key: "Default", 4271 get: function() { 4272 return yr 4273 } 4274 }]), i 4275 }(); 4276 t(document).on(s.CLICK_DATA_API, "[data-slide], [data-slide-to]", ut._dataApiClickHandler); 4277 t(window).on(s.LOAD_DATA_API, function() { 4278 for (var i, r = [].slice.call(document.querySelectorAll(we)), n = 0, u = r.length; n < u; n++) i = t(r[n]), ut._jQueryInterface.call(i, i.data()) 4279 }); 4280 t.fn[rt] = ut._jQueryInterface; 4281 t.fn[rt].Constructor = ut; 4282 t.fn[rt].noConflict = function() { 4283 return t.fn[rt] = ne, ut._jQueryInterface 4284 }; 4285 var ft = "collapse", 4286 b = "bs.collapse", 4287 kt = "." + b, 4288 be = t.fn[ft], 4289 wr = { 4290 toggle: !0, 4291 parent: "" 4292 }, 4293 ke = { 4294 toggle: "boolean", 4295 parent: "(string|element)" 4296 }, 4297 dt = { 4298 SHOW: "show" + kt, 4299 SHOWN: "shown" + kt, 4300 HIDE: "hide" + kt, 4301 HIDDEN: "hidden" + kt, 4302 CLICK_DATA_API: "click" + kt + ".data-api" 4303 }, 4304 k = "show", 4305 gt = "collapse", 4306 di = "collapsing", 4307 br = "collapsed", 4308 cu = "width", 4309 de = "height", 4310 ge = ".show, .collapsing", 4311 lu = '[data-toggle="collapse"]', 4312 ni = function() { 4313 function i(n, t) { 4314 this._isTransitioning = !1; 4315 this._element = n; 4316 this._config = this._getConfig(t); 4317 this._triggerArray = [].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#' + n.id + '"],[data-toggle="collapse"][data-target="#' + n.id + '"]')); 4318 for (var f = [].slice.call(document.querySelectorAll(lu)), i = 0, o = f.length; i < o; i++) { 4319 var e = f[i], 4320 u = r.getSelectorFromElement(e), 4321 s = [].slice.call(document.querySelectorAll(u)).filter(function(t) { 4322 return t === n 4323 }); 4324 null !== u && 0 < s.length && (this._selector = u, this._triggerArray.push(e)) 4325 } 4326 this._parent = this._config.parent ? this._getParent() : null; 4327 this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray); 4328 this._config.toggle && this.toggle() 4329 } 4330 var n = i.prototype; 4331 return n.toggle = function() { 4332 t(this._element).hasClass(k) ? this.hide() : this.show() 4333 }, n.show = function() { 4334 var n, e, u = this, 4335 o, f, s, h; 4336 this._isTransitioning || t(this._element).hasClass(k) || (this._parent && 0 === (n = [].slice.call(this._parent.querySelectorAll(ge)).filter(function(n) { 4337 return "string" == typeof u._config.parent ? n.getAttribute("data-parent") === u._config.parent : n.classList.contains(gt) 4338 })).length && (n = null), n && (e = t(n).not(this._selector).data(b)) && e._isTransitioning) || (o = t.Event(dt.SHOW), (t(this._element).trigger(o), o.isDefaultPrevented()) || (n && (i._jQueryInterface.call(t(n).not(this._selector), "hide"), e || t(n).data(b, null)), f = this._getDimension(), t(this._element).removeClass(gt).addClass(di), this._element.style[f] = 0, this._triggerArray.length && t(this._triggerArray).removeClass(br).attr("aria-expanded", !0), this.setTransitioning(!0), s = "scroll" + (f[0].toUpperCase() + f.slice(1)), h = r.getTransitionDurationFromElement(this._element), t(this._element).one(r.TRANSITION_END, function() { 4339 t(u._element).removeClass(di).addClass(gt).addClass(k); 4340 u._element.style[f] = ""; 4341 u.setTransitioning(!1); 4342 t(u._element).trigger(dt.SHOWN) 4343 }).emulateTransitionEnd(h), this._element.style[f] = this._element[s] + "px")) 4344 }, n.hide = function() { 4345 var s = this, 4346 u, n, f, i, e, o, h; 4347 if (!this._isTransitioning && t(this._element).hasClass(k) && (u = t.Event(dt.HIDE), t(this._element).trigger(u), !u.isDefaultPrevented())) { 4348 if (n = this._getDimension(), this._element.style[n] = this._element.getBoundingClientRect()[n] + "px", r.reflow(this._element), t(this._element).addClass(di).removeClass(gt).removeClass(k), f = this._triggerArray.length, 0 < f) 4349 for (i = 0; i < f; i++) e = this._triggerArray[i], o = r.getSelectorFromElement(e), null !== o && (t([].slice.call(document.querySelectorAll(
4349o))).hasClass(k) || t(e).addClass(br).attr("aria-expanded", !1)); 4350 this.setTransitioning(!0); 4351 this._element.style[n] = ""; 4352 h = r.getTransitionDurationFromElement(this._element); 4353 t(this._element).one(r.TRANSITION_END, function() { 4354 s.setTransitioning(!1); 4355 t(s._element).removeClass(di).addClass(gt).trigger(dt.HIDDEN) 4356 }).emulateTransitionEnd(h) 4357 } 4358 }, n.setTransitioning = function(n) { 4359 this._isTransitioning = n 4360 }, n.dispose = function() { 4361 t.removeData(this._element, b); 4362 this._config = null; 4363 this._parent = null; 4364 this._element = null; 4365 this._triggerArray = null; 4366 this._isTransitioning = null 4367 }, n._getConfig = function(n) { 4368 return (n = f({}, wr, n)).toggle = Boolean(n.toggle), r.typeCheckConfig(ft, n, ke), n 4369 }, n._getDimension = function() { 4370 return t(this._element).hasClass(cu) ? cu : de 4371 }, n._getParent = function() { 4372 var n, e = this, 4373 u, f; 4374 return r.isElement(this._config.parent) ? (n = this._config.parent, "undefined" != typeof this._config.parent.jquery && (n = this._config.parent[0])) : n = document.querySelector(this._config.parent), u = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]', f = [].slice.call(n.querySelectorAll(u)), t(f).each(function(n, t) { 4375 e._addAriaAndCollapsedClass(i._getTargetFromElement(t), [t]) 4376 }), n 4377 }, n._addAriaAndCollapsedClass = function(n, i) { 4378 var r = t(n).hasClass(k); 4379 i.length && t(i).toggleClass(br, !r).attr("aria-expanded", r) 4380 }, i._getTargetFromElement = function(n) { 4381 var t = r.getSelectorFromElement(n); 4382 return t ? document.querySelector(t) : null 4383 }, i._jQueryInterface = function(n) { 4384 return this.each(function() { 4385 var u = t(this), 4386 r = u.data(b), 4387 e = f({}, wr, u.data(), "object" == typeof n && n ? n : {}); 4388 if (!r && e.toggle && /show|hide/.test(n) && (e.toggle = !1), r || (r = new i(this, e), u.data(b, r)), "string" == typeof n) { 4389 if ("undefined" == typeof r[n]) throw new TypeError('No method named "' + n + '"'); 4390 r[n]() 4391 } 4392 }) 4393 }, l(i, null, [{ 4394 key: "VERSION", 4395 get: function() { 4396 return "4.3.1" 4397 } 4398 }, { 4399 key: "Default", 4400 get: function() { 4401 return wr 4402 } 4403 }]), i 4404 }(); 4405 t(document).on(dt.CLICK_DATA_API, lu, function(n) { 4406 "A" === n.currentTarget.tagName && n.preventDefault(); 4407 var i = t(this), 4408 u = r.getSelectorFromElement(this), 4409 f = [].slice.call(document.querySelectorAll(u)); 4410 t(f).each(function() { 4411 var n = t(this), 4412 r = n.data(b) ? "toggle" : i.data(); 4413 ni._jQueryInterface.call(n, r) 4414 }) 4415 }); 4416 t.fn[ft] = ni._jQueryInterface; 4417 t.fn[ft].Constructor = ni; 4418 t.fn[ft].noConflict = function() { 4419 return t.fn[ft] = be, ni._jQueryInterface 4420 }; 4421 var et = "dropdown", 4422 ti = "bs.dropdown", 4423 y = "." + ti, 4424 kr = ".data-api", 4425 no = t.fn[et], 4426 to = new RegExp("38|40|27"), 4427 e = { 4428 HIDE: "hide" + y, 4429 HIDDEN: "hidden" + y, 4430 SHOW: "show" + y, 4431 SHOWN: "shown" + y, 4432 CLICK: "click" + y, 4433 CLICK_DATA_API: "click" + y + kr, 4434 KEYDOWN_DATA_API: "keydown" + y + kr, 4435 KEYUP_DATA_API: "keyup" + y + kr 4436 }, 4437 gi = "disabled", 4438 h = "show", 4439 io = "dropup", 4440 ro = "dropright", 4441 uo = "dropleft", 4442 au = "dropdown-menu-right", 4443 fo = "position-static", 4444 nr = '[data-toggle="dropdown"]', 4445 dr = ".dropdown-menu", 4446 eo = ".navbar-nav", 4447 oo = ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)", 4448 so = "top-start", 4449 ho = "top-end", 4450 co = "bottom-start", 4451 lo = "bottom-end", 4452 ao = "right-start", 4453 vo = "left-start", 4454 yo = { 4455 offset: 0, 4456 flip: !0, 4457 boundary: "scrollParent", 4458 reference: "toggle", 4459 display: "dynamic" 4460 }, 4461 po = { 4462 offset: "(number|string|function)", 4463 flip: "boolean", 4464 boundary: "(string|element)", 4465 reference: "(string|element)", 4466 display: "string" 4467 }, 4468 p = function() { 4469 function n(n, t) { 4470 this._element = n; 4471 this._popper = null; 4472 this._config = this._getConfig(t); 4473 this._menu = this._getMenuElement(); 4474 this._inNavbar = this._detectNavbar(); 4475 this._addEventListeners() 4476 } 4477 var u = n.prototype; 4478 return u.toggle = function() { 4479 var u, c, o, s, f; 4480 if (!this._element.disabled && !t(this._element).hasClass(gi) && (u = n._getParentFromElement(this._element), c = t(this._menu).hasClass(h), (n._clearMenus(), !c) && (o = { 4481 relatedTarget: this._element 4482 }, s = t.Event(e.SHOW, o), t(u).trigger(s), !s.isDefaultPrevented()))) { 4483 if (!this._inNavbar) { 4484 if ("undefined" == typeof i) throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)"); 4485 f = this._element; 4486 "parent" === this._config.reference ? f = u : r.isElement(this._config.reference) && (f = this._config.reference, "undefined" != typeof this._config.reference.jquery && (f = this._config.reference[0]));
4487 "scrollParent" !== this._config.boundary && t(u).addClass(fo); 4488 this._popper = new i(f, this._menu, this._getPopperConfig()) 4489 } 4490 "ontouchstart" in document.documentElement && 0 === t(u).closest(eo).length && t(document.body).children().on("mouseover", null, t.noop); 4491 this._element.focus(); 4492 this._element.setAttribute("aria-expanded", !0); 4493 t(this._menu).toggleClass(h); 4494 t(u).toggleClass(h).trigger(t.Event(e.SHOWN, o)) 4495 } 4496 }, u.show = function() { 4497 if (!(this._element.disabled || t(this._element).hasClass(gi) || t(this._menu).hasClass(h))) { 4498 var i = { 4499 relatedTarget: this._element 4500 }, 4501 r = t.Event(e.SHOW, i), 4502 u = n._getParentFromElement(this._element); 4503 t(u).trigger(r); 4504 r.isDefaultPrevented() || (t(this._menu).toggleClass(h), t(u).toggleClass(h).trigger(t.Event(e.SHOWN, i))) 4505 } 4506 }, u.hide = function() { 4507 if (!this._element.disabled && !t(this._element).hasClass(gi) && t(this._menu).hasClass(h)) { 4508 var i = { 4509 relatedTarget: this._element 4510 }, 4511 r = t.Event(e.HIDE, i), 4512 u = n._getParentFromElement(this._element); 4513 t(u).trigger(r); 4514 r.isDefaultPrevented() || (t(this._menu).toggleClass(h), t(u).toggleClass(h).trigger(t.Event(e.HIDDEN, i))) 4515 } 4516 }, u.dispose = function() { 4517 t.removeData(this._element, ti); 4518 t(this._element).off(y); 4519 this._element = null; 4520 (this._menu = null) !== this._popper && (this._popper.destroy(), this._popper = null) 4521 }, u.update = function() { 4522 this._inNavbar = this._detectNavbar(); 4523 null !== this._popper && this._popper.scheduleUpdate() 4524 }, u._addEventListeners = function() { 4525 var n = this; 4526 t(this._element).on(e.CLICK, function(t) { 4527 t.preventDefault(); 4528 t.stopPropagation(); 4529 n.toggle() 4530 }) 4531 }, u._getConfig = function(n) { 4532 return n = f({}, this.constructor.Default, t(this._element).data(), n), r.typeCheckConfig(et, n, this.constructor.DefaultType), n 4533 }, u._getMenuElement = function() { 4534 if (!this._menu) { 4535 var t = n._getParentFromElement(this._element); 4536 t && (this._menu = t.querySelector(dr)) 4537 } 4538 return this._menu 4539 }, u._getPlacement = function() { 4540 var i = t(this._element.parentNode), 4541 n = co; 4542 return i.hasClass(io) ? (n = so, t(this._menu).hasClass(au) && (n = ho)) : i.hasClass(ro) ? n = ao : i.hasClass(uo) ? n = vo : t(this._menu).hasClass(au) && (n = lo), n 4543 }, u._detectNavbar = function() { 4544 return 0 < t(this._element).closest(".navbar").length 4545 }, u._getOffset = function() { 4546 var t = this, 4547 n = {}; 4548 return "function" == typeof this._config.offset ? n.fn = function(n) { 4549 return n.offsets = f({}, n.offsets, t._config.offset(n.offsets, t._element) || {}), n 4550 } : n.offset = this._config.offset, n 4551 }, u._getPopperConfig = function() { 4552 var n = { 4553 placement: this._getPlacement(), 4554 modifiers: { 4555 offset: this._getOffset(), 4556 flip: { 4557 enabled: this._config.flip 4558 }, 4559 preventOverflow: { 4560 boundariesElement: this._config.boundary 4561 } 4562 } 4563 }; 4564 return "static" === this._config.display && (n.modifiers.applyStyle = { 4565 enabled: !1 4566 }), n 4567 }, n._jQueryInterface = function(i) { 4568 return this.each(function() { 4569 var r = t(this).data(ti); 4570 if (r || (r = new n(this, "object" == typeof i ? i : null), t(this).data(ti, r)), "string" == typeof i) { 4571 if ("undefined" == typeof r[i]) throw new TypeError('No method n
4571amed "' + i + '"'); 4572 r[i]() 4573 } 4574 }) 4575 }, n._clearMenus = function(i) { 4576 var l, s; 4577 if (!i || 3 !== i.which && ("keyup" !== i.type || 9 === i.which)) 4578 for (var u = [].slice.call(document.querySelectorAll(nr)), r = 0, a = u.length; r < a; r++) { 4579 var f = n._getParentFromElement(u[r]), 4580 c = t(u[r]).data(ti), 4581 o = { 4582 relatedTarget: u[r] 4583 }; 4584 (i && "click" === i.type && (o.clickEvent = i), c) && (l = c._menu, !t(f).hasClass(h) || i && ("click" === i.type && /input|textarea/i.test(i.target.tagName) || "keyup" === i.type && 9 === i.which) && t.contains(f, i.target) || (s = t.Event(e.HIDE, o), t(f).trigger(s), s.isDefaultPrevented() || ("ontouchstart" in document.documentElement && t(document.body).children().off("mouseover", null, t.noop), u[r].setAttribute("aria-expanded", "false"), t(l).removeClass(h), t(f).removeClass(h).trigger(t.Event(e.HIDDEN, o))))) 4585 } 4586 }, n._getParentFromElement = function(n) { 4587 var t, i = r.getSelectorFromElement(n); 4588 return i && (t = document.querySelector(i)), t || n.parentNode 4589 }, n._dataApiKeydownHandler = function(i) { 4590 var f, e, u, r, o; 4591 (/input|textarea/i.test(i.target.tagName) ? 32 === i.which || 27 !== i.which && (40 !== i.which && 38 !== i.which || t(i.target).closest(dr).length) : !to.test(i.which)) || (i.preventDefault(), i.stopPropagation(), this.disabled || t(this).hasClass(gi)) || (f = n._getParentFromElement(this), e = t(f).hasClass(h), e && (!e || 27 !== i.which && 32 !== i.which) ? (u = [].slice.call(f.querySelectorAll(oo)), 0 !== u.length && (r = u.indexOf(i.target), 38 === i.which && 0 < r && r--, 40 === i.which && r < u.length - 1 && r++, r < 0 && (r = 0), u[r].focus())) : (27 === i.which && (o = f.querySelector(nr), t(o).trigger("focus")), t(this).trigger("click"))) 4592 }, l(n, null, [{ 4593 key: "VERSION", 4594 get: function() { 4595 return "4.3.1" 4596 } 4597 }, { 4598 key: "Default", 4599 get: function() { 4600 return yo 4601 } 4602 }, { 4603 key: "DefaultType", 4604 get: function() { 4605 return po 4606 } 4607 }]), n 4608 }(); 4609 t(document).on(e.KEYDOWN_DATA_API, nr, p._dataApiKeydownHandler).on(e.KEYDOWN_DATA_API, dr, p._dataApiKeydownHandler).on(e.CLICK_DATA_API + " " + e.KEYUP_DATA_API, p._clearMenus).on(e.CLICK_DATA_API, nr, function(n) { 4610 n.preventDefault(); 4611 n.stopPropagation(); 4612 p._jQueryInterface.call(t(this), "toggle") 4613 }).on(e.CLICK_DATA_API, ".dropdown form", function(n) { 4614 n.stopPropagation() 4615 }); 4616 t.fn[et] = p._jQueryInterface; 4617 t.fn[et].Constructor = p; 4618 t.fn[et].noConflict = function() { 4619 return t.fn[et] = no, p._jQueryInterface 4620 }; 4621 var ot = "modal", 4622 ii = "bs.modal", 4623 c = "." + ii, 4624 wo = t.fn[ot], 4625 gr = { 4626 backdrop: !0, 4627 keyboard: !0, 4628 focus: !0, 4629 show: !0 4630 }, 4631 bo = { 4632 backdrop: "(boolean|string)", 4633 keyboard: "boolean", 4634 focus: "boolean", 4635 show: "boolean" 4636 }, 4637 u = { 4638 HIDE: "hide" + c, 4639 HIDDEN: "hidden" + c, 4640 SHOW: "show" + c, 4641 SHOWN: "shown" + c, 4642 FOCUSIN: "focusin" + c, 4643 RESIZE: "resize" + c, 4644 CLICK_DISMISS: "click.dismiss" + c, 4645 KEYDOWN_DISMISS: "keydown.dismiss" + c, 4646 MOUSEUP_DISMISS: "mouseup.dismiss" + c, 4647 MOUSEDOWN_DISMISS: "mousedown.dismiss" + c, 4648 CLICK_DATA_API: "click" + c + ".data-api" 4649 }, 4650 ko = "modal-dialog-scrollable", 4651 go = "modal-scrollbar-measure",
4652 ns = "modal-backdrop", 4653 vu = "modal-open", 4654 st = "fade", 4655 tr = "show", 4656 ts = ".modal-dialog", 4657 is = ".modal-body", 4658 rs = '[data-dismiss="modal"]', 4659 yu = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", 4660 pu = ".sticky-top", 4661 ri = function() { 4662 function i(n, t) { 4663 this._config = this._getConfig(t); 4664 this._element = n; 4665 this._dialog = n.querySelector(ts); 4666 this._backdrop = null; 4667 this._isShown = !1; 4668 this._isBodyOverflowing = !1; 4669 this._ignoreBackdropClick = !1; 4670 this._isTransitioning = !1; 4671 this._scrollbarWidth = 0 4672 } 4673 var n = i.prototype; 4674 return n.toggle = function(n) { 4675 return this._isShown ? this.hide() : this.show(n) 4676 }, n.show = function(n) { 4677 var i = this, 4678 r; 4679 this._isShown || this._isTransitioning || (t(this._element).hasClass(st) && (this._isTransitioning = !0), r = t.Event(u.SHOW, { 4680 relatedTarget: n 4681 }), t(this._element).trigger(r), this._isShown || r.isDefaultPrevented() || (this._isShown = !0, this._checkScrollbar(), this._setScrollbar(), this._adjustDialog(), this._setEscapeEvent(), this._setResizeEvent(), t(this._element).on(u.CLICK_DISMISS, rs, function(n) { 4682 return i.hide(n) 4683 }), t(this._dialog).on(u.MOUSEDOWN_DISMISS, function() { 4684 t(i._element).one(u.MOUSEUP_DISMISS, function(n) { 4685 t(n.target).is(i._element) && (i._ignoreBackdropClick = !0) 4686 }) 4687 }), this._showBackdrop(function() { 4688 return i._showElement(n) 4689 }))) 4690 }, n.hide = function(n) { 4691 var o = this, 4692 i, f, e; 4693 (n && n.preventDefault(), this._isShown && !this._isTransitioning) && (i = t.Event(u.HIDE), (t(this._element).trigger(i), this._isShown && !i.isDefaultPrevented()) && (this._isShown = !1, f = t(this._element).hasClass(st), (f && (this._isTransitioning = !0), this._setEscapeEvent(), this._setResizeEvent(), t(document).off(u.FOCUSIN), t(this._element).removeClass(tr), t(this._element).off(u.CLICK_DISMISS), t(this._dialog).off(u.MOUSEDOWN_DISMISS), f) ? (e = r.getTransitionDurationFromElement(this._element), t(this._element).one(r.TRANSITION_END, function(n) { 4694 return o._hideModal(n) 4695 }).emulateTransitionEnd(e)) : this._hideModal())) 4696 }, n.dispose = function() { 4697 [window, this._element, this._dialog].forEach(function(n) { 4698 return t(n).off(c) 4699 }); 4700 t(document).off(u.FOCUSIN); 4701 t.removeData(this._element, ii); 4702 this._config = null; 4703 this._element = null; 4704 this._dialog = null; 4705 this._backdrop = null; 4706 this._isShown = null; 4707 this._isBodyOverflowing = null; 4708 this._ignoreBackdropClick = null; 4709 this._isTransitioning = null; 4710 this._scrollbarWidth = null 4711 }, n.handleUpdate = function() { 4712 this._adjustDialog() 4713 }, n._getConfig = function(n) { 4714 return n = f({}, gr, n), r.typeCheckConfig(ot, n, bo), n 4715 }, n._showElement = function(n) { 4716 var i = this, 4717 e = t(this._element).hasClass(st), 4718 o, f, s; 4719 this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE || document.body.appendChild(this._element); 4720 this._element.style.display = "block"; 4721 this._element.removeAttribute("aria-hidden"); 4722 this._element.setAttribute("aria-modal", !0); 4723 t(this._dialog).hasClass(ko) ? this._dialog.querySelector(is).scrollTop = 0 : this._element.scrollTop = 0; 4724 e && r.reflow(this._element); 4725 t(this._element).addClass(tr); 4726 this._config.focus && this._enforceFocus(); 4727 o = t.Event(u.SHOWN, { 4728 relatedTarget: n 4729 }); 4730 f = function() { 4731 i._config.focus && i._element.focus(); 4732 i._isTransitioning = !1; 4733 t(i._element).trigger(o) 4734 }; 4735 e ? (s = r.getTransitionDurationFromElement(this._dialog), t(this._dialog).one(r.TRANSITION_END, f).emulateTransitionEnd(s)) : f() 4736 }, n._enforceFocus = function() { 4737 var n = this; 4738 t(document).off(u.FOCUSIN).on(u.FOCUSIN, function(i) { 4739 document !== i.target && n._element !== i.target && 0 === t(n._element).has(i.target).length && n._element.focus() 4740 }) 4741 }, n._setEscapeEvent = function() { 4742 var n = this; 4743 this._isShown && this._config.keyboard ? t(this._element).on(u.KEYDOWN_DISMISS, function(t) { 4744 27 === t.which && (t.preventDefault(), n.hide()) 4745 }) : this._isShown || t(this._element).off(u.KEYDOWN_DISMISS) 4746 }, n._setResizeEvent = function() { 4747 var n = this; 4748 this._isShown ? t(window).on(u.RESIZE, function(t) { 4749 return n.handleUpdate(t) 4750 }) : t(window).off(u.RESIZE) 4751 }, n._hideModal = function() { 4752 var n = this; 4753 this._element.style.display = "none"; 4754 this._element.setAttribute("aria-hidden", !0); 4755 this._element.removeAttribute("aria-modal"); 4756 this._isTransitioning = !1; 4757 this._showBackdrop(function() { 4758 t(document.body).removeClass(vu); 4759 n._resetAdjustments(); 4760 n._resetScrollbar(); 4761 t(n._element).trigger(u.HIDDEN) 4762 }) 4763 }, n._removeBackdrop = function() { 4764 this._backdrop && (t(this._backdrop).remove(), this._backdrop = null) 4765 }, n._showBackdrop = function(n) { 4766 var i = this, 4767 f = t(this._element).hasClass(st) ? st : "", 4768 o, e, s; 4769 if (this._isShown && this._config.backdrop) { 4770 if (this._backdrop = document.createElement("div"), this._backdrop.className = ns, f && this._backdrop.classList.add(f), t(this._backdrop).appendTo(document.body), t(this._element).on(u.CLICK_DISMISS, function(n) { 4771 i._ignoreBackdropClick ? i._ignoreBackdropClick = !1 : n.target === n.currentTarget && ("static" === i._config.backdrop ? i._element.focus() : i.hide()) 4772 }), f && r.reflow(this._backdrop), t(this._backdrop).addClass(tr), !n) return; 4773 if (!f) return void n(); 4774 o = r.getTransitionDurationFromElement(this._backdrop); 4775 t(this._backdrop).one(r.TRANSITION_END, n).emulateTransitionEnd(o) 4776 } else !this._isShown && this._backdrop ? (t(this._backdrop).removeClass(tr), e = function() { 4777 i._removeBackdrop(); 4778 n && n() 4779 }, t(this._element).hasClass(st) ? (s = r.getTransitionDurationFromElement(this._backdrop), t(this._backdrop).one(r.TRANSITION_END, e).emulateTransitionEnd(s)) : e()) : n && n() 4780 }, n._adjustDialog = function() { 4781 var n = this._element.scrollHeight > document.documentElement.clientHeight; 4782 !this._isBodyOverflowing && n && (this._element.style.paddingLeft = this._scrollbarWidth + "px"); 4783 this._isBodyOverflowing && !n && (this._element.style.paddingRight = this._scrollbarWidth + "px") 4784 }, n._resetAdjustments = function() { 4785 this._element.style.paddingLeft = ""; 4786 this._element.style.paddingRight = "" 4787 }, n._checkScrollbar = function() { 4788 var n = document.body.getBoundingClientRect(); 4789 this._isBodyOverflowing = n.left + n.right < window.innerWidth; 4790 this._scrollbarWidth = this._getScrollbarWidth() 4791 }, n._setScrollbar = function() { 4792 var n = this, 4793 i, r, u, f; 4794 this._isBodyOverflowing && (i = [].slice.call(document.querySelectorAll(yu)), r = [].slice.call(document.querySelectorAll(pu)), t(i).each(function(i, r) { 4795 var u = r.style.paddingRight, 4796 f = t(r).css("padding-right"); 4797 t(r).data("padding-right", u).css("padding-right", parseFloat(f) + n._scrollbarWidth + "px") 4798 }), t(r).each(function(i, r) { 4799 var u = r.style.marginRight, 4800 f = t(r).css("margin-right"); 4801 t(r).data("margin-right", u).css("margin-right", parseFloat(f) - n._scrollbarWidth + "px") 4802 }), u = document.body.style.paddingRight, f = t(document.body).css("padding-right"), t(document.body).data("padding-right", u).css("padding-right", parseFloat(f) + this._scrollbarWidth + "px")); 4803 t(document.body).addClass(vu) 4804 }, n._resetScrollbar = function() { 4805 var r = [].slice.call(document.querySelectorAll(yu)), 4806 n, i; 4807 t(r).each(function(n, i) { 4808 var r = t(i).data("padding-right"); 4809 t(i).removeData("padding-right"); 4810 i.style.paddingRight = r || "" 4811 }); 4812 n = [].slice.call(document.querySelectorAll("" + pu)); 4813 t(n).each(function(n, i) { 4814 var r = t(i).data("margin-right"); 4815 "undefined" != typeof r && t(i).css("margin-right", r).removeData("margin-right") 4816 }); 4817 i = t(document.body).data("padding-right"); 4818 t(document.body).removeData("padding-right"); 4819 document.body.style.paddingRight = i || "" 4820 }, n._getScrollbarWidth = function() { 4821 var n = document.createElement("div"), 4822 t; 4823 return n.className = go, document.body.appendChild(n), t = n.getBoundingClientRect().width - n.clientWidth, document.body.removeChild(n), t 4824 }, i._jQueryInterface = function(n, r) { 4825 return this.each(function() { 4826 var u = t(this).data(ii), 4827 e = f({}, gr, t(this).data(), "object" == typeof n && n ? n : {}); 4828 if (u || (u = new i(this, e), t(this).data(ii, u)), "string" == typeof n) { 4829 if ("undefined" == typeof u[n]) throw new TypeError('No method n
4829amed "' + n + '"'); 4830 u[n](r) 4831 } else e.show && u.show(r) 4832 }) 4833 }, l(i, null, [{ 4834 key: "VERSION", 4835 get: function() { 4836 return "4.3.1" 4837 } 4838 }, { 4839 key: "Default", 4840 get: function() { 4841 return gr 4842 } 4843 }]), i 4844 }(); 4845 t(document).on(u.CLICK_DATA_API, '[data-toggle="modal"]', function(n) { 4846 var i, e = this, 4847 o = r.getSelectorFromElement(this), 4848 s, h; 4849 o && (i = document.querySelector(o)); 4850 s = t(i).data(ii) ? "toggle" : f({}, t(i).data(), t(this).data()); 4851 "A" !== this.tagName && "AREA" !== this.tagName || n.preventDefault(); 4852 h = t(i).one(u.SHOW, function(n) { 4853 n.isDefaultPrevented() || h.one(u.HIDDEN, function() { 4854 t(e).is(":visible") && e.focus() 4855 }) 4856 }); 4857 ri._jQueryInterface.call(t(i), s, this) 4858 }); 4859 t.fn[ot] = ri._jQueryInterface; 4860 t.fn[ot].Constructor = ri; 4861 t.fn[ot].noConflict = function() { 4862 return t.fn[ot] = wo, ri._jQueryInterface 4863 }; 4864 var us = ["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"], 4865 fs = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi, 4866 es = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i; 4867 var d = "tooltip", 4868 ir = "bs.tooltip", 4869 a = "." + ir, 4870 os = t.fn[d], 4871 bu = "bs-tooltip", 4872 ss = new RegExp("(^|\\s)" + bu + "\\S+", "g"), 4873 hs = ["sanitize", "whiteList", "sanitizeFn"], 4874 cs = { 4875 animation: "boolean", 4876 template: "string", 4877 title: "(string|element|function)", 4878 trigger: "string", 4879 delay: "(number|object)", 4880 html: "boolean", 4881 selector: "(string|boolean)", 4882 placement: "(string|function)", 4883 offset: "(number|string|function)", 4884 container: "(string|element|boolean)", 4885 fallbackPlacement: "(string|array)", 4886 boundary: "(string|element)", 4887 sanitize: "boolean", 4888 sanitizeFn: "(null|function)", 4889 whiteList: "object" 4890 }, 4891 ls = { 4892 AUTO: "auto", 4893 TOP: "top", 4894 RIGHT: "right", 4895 BOTTOM: "bottom", 4896 LEFT: "left" 4897 }, 4898 as = { 4899 animation: !0, 4900 template: '<div class="tooltip" role="tooltip"><div class="arrow"><\/div><div class="tooltip-inner"><\/div><\/div>', 4901 trigger: "hover focus", 4902 title: "", 4903 delay: 0, 4904 html: !1, 4905 selector: !1, 4906 placement: "top", 4907 offset: 0, 4908 container: !1, 4909 fallbackPlacement: "flip", 4910 boundary: "scrollParent", 4911 sanitize: !0, 4912 sanitizeFn: null, 4913 whiteList: { 4914 "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i], 4915 a: ["target", "href", "title", "rel"], 4916 area: [], 4917 b: [], 4918 br: [], 4919 col: [], 4920 code: [], 4921 div: [], 4922 em: [], 4923 hr: [], 4924 h1: [], 4925 h2: [], 4926 h3: [], 4927 h4: [], 4928 h5: [], 4929 h6: [], 4930 i: [], 4931 img: ["src", "alt", "title", "width", "height"], 4932 li: [], 4933 ol: [], 4934 p: [], 4935 pre: [], 4936 s: [], 4937 small: [], 4938 span: [], 4939 sub: [], 4940 sup: [], 4941 strong: [], 4942 u: [], 4943 ul: [] 4944 } 4945 }, 4946 ui = "show", 4947 nu = "out", 4948 vs = { 4949 HIDE: "hide" + a, 4950 HIDDEN: "hidden" + a, 4951 SHOW: "show" + a, 4952 SHOWN: "shown" + a, 4953 INSERTED: "inserted" + a, 4954 CLICK: "click" + a, 4955 FOCUSIN: "focusin" + a, 4956 FOCUSOUT: "focusout" + a, 4957 MOUSEENTER: "mouseenter" + a, 4958 MOUSELEAVE: "mouseleave" + a 4959 }, 4960 fi = "fade", 4961 ei = "show", 4962 ys = ".tooltip-inner", 4963 ps = ".arrow", 4964 oi = "hover", 4965 tu = "focus", 4966 ws = "click", 4967 bs = "manual", 4968 g = function() { 4969 function u(n, t) { 4970 if ("undefined" == typeof i) throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)"); 4971 this._isEnabled = !0; 4972 this._timeout = 0; 4973 this._hoverState = ""; 4974 this._activeTrigger = {}; 4975 this._popper = null; 4976 this.element = n; 4977 this.config = this._getConfig(t); 4978 this.tip = null; 4979 this._setListeners() 4980 } 4981 var n = u.prototype; 4982 return n.enable = function() { 4983 this._isEnabled = !0 4984 }, n.disable = function() { 4985 this._isEnabled = !1 4986 }, n.toggleEnabled = function() { 4987 this._isEnabled = !this._isEnabled 4988 }, n.toggle = function(n) { 4989 if (this._isEnabled) 4990 if (n) { 4991 var r = this.constructor.DATA_KEY, 4992 i = t(n.currentTarget).data(r); 4993 i || (i = new this.constructor(n.currentTarget, this._getDelegateConfig()), t(n.currentTarget).data(r, i)); 4994 i._activeTrigger.click = !i._activeTrigger.click; 4995 i._isWithActiveTrigger() ? i._enter(null, i) : i._leave(null, i) 4996 } else { 4997 if (t(this.getTipElement()).hasClass(ei)) return void this._leave(null, this); 4998 this._enter(null, this) 4999 } 5000 }, n.dispose = function() { 5001 clearTimeout(this._timeout); 5002 t.removeData(this.element, this.constructor.DATA_KEY); 5003 t(this.element).off(this.constructor.EVENT_KEY); 5004 t(this.element).closest(".modal").off("hide.bs.modal"); 5005 this.tip && t(this.tip).remove(); 5006 this._isEnabled = null; 5007 this._timeout = null; 5008 this._hoverState = null; 5009 (this._activeTrigger = null) !== this._popper && this._popper.destroy(); 5010 this._popper = null; 5011 this.element = null; 5012 this.config = null; 5013 this.tip = null 5014 }, n.show = function() { 5015 var n = this, 5016 f, e, c, u, o, l, s, a, h, v; 5017 if ("none" === t(this.element).css("display")) throw new Error("Please use show on visible elements"); 5018 if (f = t.Event(this.constructor.Event.SHOW), this.isWithContent() && this._isEnabled) { 5019 if (t(this.element).trigger(f), e = r.findShadowRoot(this.element), c = t.contains(null !== e ? e : this.element.ownerDocument.documentElement, this.element), f.isDefaultPrevented() || !c) return; 5020 u = this.getTipElement(); 5021 o = r.getUID(this.constructor.NAME); 5022 u.setAttribute("id", o); 5023 this.element.setAttribute("aria-describedby", o); 5024 this.setContent(); 5025 this.config.animation && t(u).addClass(fi); 5026 l = "function" == typeof this.config.placement ? this.config.placement.call(this, u, this.element) : this.config.placement; 5027 s = this._getAttachment(l); 5028 this.addAttachmentClass(s); 5029 a = this._getContainer(); 5030 t(u).data(this.constructor.DATA_KEY, this); 5031 t.contains(this.element.ownerDocument.documentElement, this.tip) || t(u).appendTo(a); 5032 t(this.element).trigger(this.constructor.Event.INSERTED); 5033 this._popper = new i(this.element, u, { 5034 placement: s, 5035 modifiers: { 5036 offset: this._getOffset(), 5037 flip: { 5038 behavior: this.config.fallbackPlacement 5039 }, 5040 arrow: { 5041 element: ps 5042 }, 5043 preventOverflow: { 5044 boundariesElement: this.config.boun
5044dary 5045 } 5046 }, 5047 onCreate: function(t) { 5048 t.originalPlacement !== t.placement && n._handlePopperPlacementChange(t) 5049 }, 5050 onUpdate: function(t) { 5051 return n._handlePopperPlacementChange(t) 5052 } 5053 }); 5054 t(u).addClass(ei); 5055 "ontouchstart" in document.documentElement && t(document.body).children().on("mouseover", null, t.noop); 5056 h = function() { 5057 n.config.animation && n._fixTransition(); 5058 var i = n._hoverState; 5059 n._hoverState = null; 5060 t(n.element).trigger(n.constructor.Event.SHOWN); 5061 i === nu && n._leave(null, n) 5062 }; 5063 t(this.tip).hasClass(fi) ? (v = r.getTransitionDurationFromElement(this.tip), t(this.tip).one(r.TRANSITION_END, h).emulateTransitionEnd(v)) : h() 5064 } 5065 }, n.hide = function(n) { 5066 var i = this, 5067 u = this.getTipElement(), 5068 f = t.Event(this.constructor.Event.HIDE), 5069 e = function() { 5070 i._hoverState !== ui && u.parentNode && u.parentNode.removeChild(u); 5071 i._cleanTipClass(); 5072 i.element.removeAttribute("aria-describedby"); 5073 t(i.element).trigger(i.constructor.Event.HIDDEN); 5074 null !== i._popper && i._popper.destroy(); 5075 n && n() 5076 }, 5077 o; 5078 (t(this.element).trigger(f), f.isDefaultPrevented()) || ((t(u).removeClass(ei), "ontouchstart" in document.documentElement && t(document.body).children().off("mouseover", null, t.noop), this._activeTrigger[ws] = !1, this._activeTrigger[tu] = !1, this._activeTrigger[oi] = !1, t(this.tip).hasClass(fi)) ? (o = r.getTransitionDurationFromElement(u), t(u).one(r.TRANSITION_END, e).emulateTransitionEnd(o)) : e(), this._hoverState = "") 5079 }, n.update = function() { 5080 null !== this._popper && this._popper.scheduleUpdate() 5081 }, n.isWithContent = function() { 5082 return Boolean(this.getTitle()) 5083 }, n.addAttachmentClass = function(n) { 5084 t(this.getTipElement()).addClass(bu + "-" + n) 5085 }, n.getTipElement = function() { 5086 return this.tip = this.tip || t(this.config.template)[0], this.tip 5087 }, n.setContent = function() { 5088 var n = this.getTipElement(); 5089 this.setElementContent(t(n.querySelectorAll(ys)), this.getTitle()); 5090 t(n).removeClass(fi + " " + ei) 5091 }, n.setElementContent = function(n, i) { 5092 "object" != typeof i || !i.nodeType && !i.jquery ? this.config.html ? (this.config.sanitize && (i = wu(i, this.config.whiteList, this.config.sanitizeFn)), n.html(i)) : n.text(i) : this.config.html ? t(i).parent().is(n) || n.empty().append(i) : n.text(t(i).text()) 5093 }, n.getTitle = function() { 5094 var n = this.element.getAttribute("data-original-title"); 5095 return n || (n = "function" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), n 5096 }, n._getOffset = function() { 5097 var t = this, 5098 n = {}; 5099 return "function" == typeof this.config.offset ? n.fn = function(n) { 5100 return n.offsets = f({}, n.offsets, t.config.offset(n.offsets, t.element) || {}), n 5101 } : n.offset = this.config.offset, n 5102 }, n._getContainer = function() { 5103 return !1 === this.config.container ? document.body : r.isElement(this.config.container) ? t(this.config.container) : t(document).find(this.config.container) 5104 }, n._getAttachment = function(n) { 5105 return ls[n.toUpperCase()] 5106 }, n._setListeners = function() { 5107 var n = this; 5108 this.config.trigger.split(" ").forEach(function(i) { 5109 if ("click" === i) t(n.element).on(n.constructor.Event.CLICK, n.config.selector, function(t) { 5110 return n.toggle(t) 5111 }); 5112 else if (i !== bs) { 5113 var r = i === oi ? n.constructor.Event.MOUSEENTER : n.constructor.Event.FOCUSIN, 5114 u = i === oi ? n.constructor.Event.MOUSELEAVE : n.constructor.Event.FOCUSOUT; 5115 t(n.element).on(r, n.config.selector, function(t) { 5116 return n._enter(t) 5117 }
5117).on(u, n.config.selector, function(t) { 5118 return n._leave(t) 5119 }) 5120 } 5121 }); 5122 t(this.element).closest(".modal").on("hide.bs.modal", function() { 5123 n.element && n.hide() 5124 }); 5125 this.config.selector ? this.config = f({}, this.config, { 5126 trigger: "manual", 5127 selector: "" 5128 }) : this._fixTitle() 5129 }, n._fixTitle = function() { 5130 var n = typeof this.element.getAttribute("data-original-title"); 5131 (this.element.getAttribute("title") || "string" !== n) && (this.element.setAttribute("data-original-title", this.element.getAttribute("title") || ""), this.element.setAttribute("title", "")) 5132 }, n._enter = function(n, i) { 5133 var r = this.constructor.DATA_KEY; 5134 (i = i || t(n.currentTarget).data(r)) || (i = new this.constructor(n.currentTarget, this._getDelegateConfig()), t(n.currentTarget).data(r, i)); 5135 n && (i._activeTrigger["focusin" === n.type ? tu : oi] = !0); 5136 t(i.getTipElement()).hasClass(ei) || i._hoverState === ui ? i._hoverState = ui : (clearTimeout(i._timeout), i._hoverState = ui, i.config.delay && i.config.delay.show ? i._timeout = setTimeout(function() { 5137 i._hoverState === ui && i.show() 5138 }, i.config.delay.show) : i.show()) 5139 }, n._leave = function(n, i) { 5140 var r = this.constructor.DATA_KEY; 5141 (i = i || t(n.currentTarget).data(r)) || (i = new this.constructor(n.currentTarget, this._getDelegateConfig()), t(n.currentTarget).data(r, i)); 5142 n && (i._activeTrigger["focusout" === n.type ? tu : oi] = !1); 5143 i._isWithActiveTrigger() || (clearTimeout(i._timeout), i._hoverState = nu, i.config.delay && i.config.delay.hide ? i._timeout = setTimeout(function() { 5144 i._hoverState === nu && i.hide() 5145 }, i.config.delay.hide) : i.hide()) 5146 }, n._isWithActiveTrigger = function() { 5147 for (var n in this._activeTrigger) 5148 if (this._activeTrigger[n]) return !0; 5149 return !1 5150 }, n._getConfig = function(n) { 5151 var i = t(this.element).data();
5152 return Object.keys(i).forEach(function(n) { 5153 -1 !== hs.indexOf(n) && delete i[n] 5154 }), "number" == typeof(n = f({}, this.constructor.Default, i, "object" == typeof n && n ? n : {})).delay && (n.delay = { 5155 show: n.delay, 5156 hide: n.delay 5157 }), "number" == typeof n.title && (n.title = n.title.toString()), "number" == typeof n.content && (n.content = n.content.toString()), r.typeCheckConfig(d, n, this.constructor.DefaultType), n.sanitize && (n.template = wu(n.template, n.whiteList, n.sanitizeFn)), n 5158 }, n._getDelegateConfig = function() { 5159 var t = {}, 5160 n; 5161 if (this.config) 5162 for (n in this.config) this.constructor.Default[n] !== this.config[n] && (t[n] = this.config[n]); 5163 return t 5164 }, n._cleanTipClass = function() { 5165 var i = t(this.getTipElement()), 5166 n = i.attr("class").match(ss); 5167 null !== n && n.length && i.removeClass(n.join("")) 5168 }, n._handlePopperPlacementChange = function(n) { 5169 var t = n.instance; 5170 this.tip = t.popper; 5171 this._cleanTipClass(); 5172 this.addAttachmentClass(this._getAttachment(n.placement)) 5173 }, n._fixTransition = function() { 5174 var n = this.getTipElement(), 5175 i = this.config.animation; 5176 null === n.getAttribute("x-placement") && (t(n).removeClass(fi), this.config.animation = !1, this.hide(), this.show(), this.config.animation = i) 5177 }, u._jQueryInterface = function(n) { 5178 return this.each(function() { 5179 var i = t(this).data(ir), 5180 r = "object" == typeof n && n; 5181 if ((i || !/dispose|hide/.test(n)) && (i || (i = new u(this, r), t(this).data(ir, i)), "string" == typeof n)) { 5182 if ("undefined" == typeof i[n]) throw new TypeError('No method named "' + n + '"'); 5183 i[n]() 5184 } 5185 }) 5186 }, l(u, null, [{ 5187 key: "VERSION", 5188 get: function() { 5189 return "4.3.1" 5190 } 5191 }, { 5192 key: "Default", 5193 get: function() { 5194 return as 5195 } 5196 }, { 5197 key: "NAME", 5198 get: function() { 5199 return d 5200 } 5201 }, { 5202 key: "DATA_KEY", 5203 get: function() { 5204 return ir 5205 } 5206 }, { 5207 key: "Event", 5208 get: function() { 5209 return vs 5210 } 5211 }, { 5212 key: "EVENT_KEY", 5213 get: function() { 5214 return a 5215 } 5216 }, { 5217 key: "DefaultType", 5218 get: function() { 5219 return cs 5220 } 5221 }]), u 5222 }(); 5223 t.fn[d] = g._jQueryInterface; 5224 t.fn[d].Constructor = g; 5225 t.fn[d].noConflict = function() { 5226 return t.fn[d] = os, g._jQueryInterface 5227 }; 5228 var ht = "popover", 5229 rr = "bs.popover", 5230 v = "." + rr, 5231 ks = t.fn[ht], 5232 ku = "bs-popover", 5233 ds = new RegExp("(^|\\s)" + ku + "\\S+", "g"), 5234 gs = f({}, g.Default, { 5235 placement: "right", 5236 trigger: "click", 5237 content: "", 5238 template: '<div class="popover" role="tooltip"><div class="arrow"><\/div><h3 class="popover-header"><\/h3><div class="popover-body"><\/div><\/div>' 5239 }), 5240 nh = f({}, g.DefaultType, { 5241 content: "(string|element|function)" 5242 }), 5243 th = "fade", 5244 ih = "show", 5245 rh = ".popover-header", 5246 uh = ".popover-body", 5247 fh = { 5248 HIDE: "hide" + v, 5249 HIDDEN: "hidden" + v, 5250 SHOW: "show" + v, 5251 SHOWN: "shown" + v, 5252 INSERTED: "inserted" + v, 5253 CLICK: "click" + v, 5254 FOCUSIN: "focusin" + v, 5255 FOCUSOUT: "focusout" + v, 5256 MOUSEENTER: "mouseenter" + v, 5257 MOUSELEAVE: "mouseleave" + v 5258 }, 5259 ur = function(n) { 5260 function r() { 5261 return n.apply(this, arguments) || this 5262 } 5263 var u, f, i; 5264 return f = n, (u = r).prototype = Object.create(f.prototype), (u.prototype.constructor = u).__proto__ = f, i = r.prototype, i.isWithContent = function() { 5265 return this.getTitle() || this._getContent() 5266 }, i.addAttachmentClass = function(n) { 5267 t(this.getTipElement()).addClass(ku + "-" + n) 5268 }, i.getTipElement = function() { 5269 return this.tip = this.tip || t(this.config.template)[0], this.tip 5270 }, i.setContent = function() { 5271 var i = t(this.getTipElement()), 5272 n; 5273 this.setElementContent(i.find(rh), this.getTitle()); 5274 n = this._getContent(); 5275 "function" == typeof n && (n = n.call(this.element)); 5276 this.setElementContent(i.find(uh), n); 5277 i.removeClass(th + " " + ih) 5278 }, i._getContent = function() { 5279 return this.element.getAttribute("data-content") || this.config.content 5280 }, i._cleanTipClass = function() { 5281 var i = t(this.getTipElement()), 5282 n = i.attr("class").match(ds); 5283 null !== n && 0 < n.length && i.removeClass(n.join("")) 5284 }, r._jQueryInterface = function(n) { 5285 return this.each(function() { 5286 var i = t(this).data(rr), 5287 u = "object" == typeof n ? n : null; 5288 if ((i || !/dispose|hide/.test(n)) && (i || (i = new r(this, u), t(this).data(rr, i)), "string" == typeof n)) { 5289 if ("undefined" == typeof i[n]) throw new TypeError('No method n
5289amed "' + n + '"'); 5290 i[n]() 5291 } 5292 }) 5293 }, l(r, null, [{ 5294 key: "VERSION", 5295 get: function() { 5296 return "4.3.1" 5297 } 5298 }, { 5299 key: "Default", 5300 get: function() { 5301 return gs 5302 } 5303 }, { 5304 key: "NAME", 5305 get: function() { 5306 return ht 5307 } 5308 }, { 5309 key: "DATA_KEY", 5310 get: function() { 5311 return rr 5312 } 5313 }, { 5314 key: "Event", 5315 get: function() { 5316 return fh 5317 } 5318 }, { 5319 key: "EVENT_KEY", 5320 get: function() { 5321 return v 5322 } 5323 }, { 5324 key: "DefaultType", 5325 get: function() { 5326 return nh 5327 } 5328 }]), r 5329 }(g); 5330 t.fn[ht] = ur._jQueryInterface; 5331 t.fn[ht].Constructor = ur; 5332 t.fn[ht].noConflict = function() { 5333 return t.fn[ht] = ks, ur._jQueryInterface 5334 }; 5335 var nt = "scrollspy", 5336 fr = "bs.scrollspy", 5337 er = "." + fr, 5338 eh = t.fn[nt], 5339 du = { 5340 offset: 10, 5341 method: "auto", 5342 target: "" 5343 }, 5344 oh = { 5345 offset: "number", 5346 method: "string", 5347 target: "(string|element)" 5348 }, 5349 iu = { 5350 ACTIVATE: "activate" + er, 5351 SCROLL: "scroll" + er, 5352 LOAD_DATA_API: "load" + er + ".data-api" 5353 }, 5354 sh = "dropdown-item", 5355 tt = "active", 5356 hh = '[data-spy="scroll"]', 5357 gu = ".nav, .list-group", 5358 ru = ".nav-link", 5359 ch = ".nav-item", 5360 nf = ".list-group-item", 5361 lh = ".dropdown", 5362 ah = ".dropdown-item", 5363 vh = ".dropdown-toggle", 5364 yh = "offset", 5365 tf = "position", 5366 si = function() { 5367 function i(n, i) { 5368 var r = this; 5369 this._element = n; 5370 this._scrollElement = "BODY" === n.tagName ? window : n; 5371 this._config = this._getConfig(i); 5372 this._selector = this._config.target + " " + ru + "," + this._config.target + " " + nf + "," + this._config.target + " " + ah; 5373 this._offsets = []; 5374 this._targets = []; 5375 this._activeTarget = null; 5376 this._scrollHeight = 0; 5377 t(this._scrollElement).on(iu.SCROLL, function(n) { 5378 return r._process(n) 5379 }); 5380 this.refresh(); 5381 this._process() 5382 } 5383 var n = i.prototype; 5384 return n.refresh = function() { 5385 var n = this, 5386 u = this._scrollElement === this._scrollElement.window ? yh : tf, 5387 i = "auto" === this._config.method ? u : this._config.method, 5388 f = i === tf ? this._getScrollTop() : 0; 5389 this._offsets = []; 5390 this._targets = []; 5391 this._scrollHeight = this._getScrollHeight(); 5392 [].slice.call(document.querySelectorAll(this._selector)).map(function(n) { 5393 var u, e = r.getSelectorFromElement(n), 5394 o; 5395 return (e && (u = document.querySelector(e)), u) && (o = u.getBoundingClientRect(), o.width || o.height) ? [t(u)[i]().top + f, e] : null 5396 }).filter(function(n) { 5397 return n 5398 }).sort(function(n, t) { 5399 return n[0] - t[0] 5400 }
5400).forEach(function(t) { 5401 n._offsets.push(t[0]); 5402 n._targets.push(t[1]) 5403 }) 5404 }, n.dispose = function() { 5405 t.removeData(this._element, fr); 5406 t(this._scrollElement).off(er); 5407 this._element = null; 5408 this._scrollElement = null; 5409 this._config = null; 5410 this._selector = null; 5411 this._offsets = null; 5412 this._targets = null; 5413 this._activeTarget = null; 5414 this._scrollHeight = null 5415 }, n._getConfig = function(n) { 5416 if ("string" != typeof(n = f({}, du, "object" == typeof n && n ? n : {})).target) { 5417 var i = t(n.target).attr("id"); 5418 i || (i = r.getUID(nt), t(n.target).attr("id", i)); 5419 n.target = "#" + i 5420 } 5421 return r.typeCheckConfig(nt, n, oh), n 5422 }, n._getScrollTop = function() { 5423 return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop 5424 }, n._getScrollHeight = function() { 5425 return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight) 5426 }, n._getOffsetHeight = function() { 5427 return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height 5428 }, n._process = function() { 5429 var t = this._getScrollTop() + this._config.offset, 5430 r = this._getScrollHeight(), 5431 u = this._config.offset + r - this._getOffsetHeight(), 5432 i, n; 5433 if (this._scrollHeight !== r && this.refresh(), u <= t) i = this._targets[this._targets.length - 1], this._activeTarget !== i && this._activate(i); 5434 else { 5435 if (this._activeTarget && t < this._offsets[0] && 0 < this._offsets[0]) return this._activeTarget = null, void this._clear(); 5436 for (n = this._offsets.length; n--;) this._activeTarget !== this._targets[n] && t >= this._offsets[n] && ("undefined" == typeof this._offsets[n + 1] || t < this._offsets[n + 1]) && this._activate(this._targets[n]) 5437 } 5438 }, n._activate = function(n) { 5439 this._activeTarget = n; 5440 this._clear(); 5441 var r = this._selector.split(",").map(function(t) { 5442 return t + '[data-target="' + n + '"],' + t + '[href="' + n + '"]' 5443 }), 5444 i = t([].slice.call(document.querySelectorAll(r.join(",")))); 5445 i.hasClass(sh) ? (i.closest(lh).find(vh).addClass(tt), i.addClass(tt)) : (i.addClass(tt), i.parents(gu).prev(ru + ", " + nf).addClass(tt), i.parents(gu).prev(ch).children(ru).addClass(tt)); 5446 t(this._scrollElement).trigger(iu.ACTIVATE, { 5447 relatedTarget: n 5448 }) 5449 }, n._clear = function() { 5450 [].slice.call(document.querySelectorAll(this._selector)).filter(function(n) { 5451 return n.classList.contains(tt) 5452 }
5452).forEach(function(n) { 5453 return n.classList.remove(tt) 5454 }) 5455 }, i._jQueryInterface = function(n) { 5456 return this.each(function() { 5457 var r = t(this).data(fr); 5458 if (r || (r = new i(this, "object" == typeof n && n), t(this).data(fr, r)), "string" == typeof n) { 5459 if ("undefined" == typeof r[n]) throw new TypeError('No method named "' + n + '"'); 5460 r[n]() 5461 } 5462 }) 5463 }, l(i, null, [{ 5464 key: "VERSION", 5465 get: function() { 5466 return "4.3.1" 5467 } 5468 }, { 5469 key: "Default", 5470 get: function() { 5471 return du 5472 } 5473 }]), i 5474 }(); 5475 t(window).on(iu.LOAD_DATA_API, function() { 5476 for (var r, n = [].slice.call(document.querySelectorAll(hh)), i = n.length; i--;) r = t(n[i]), si._jQueryInterface.call(r, r.data()) 5477 }); 5478 t.fn[nt] = si._jQueryInterface; 5479 t.fn[nt].Constructor = si; 5480 t.fn[nt].noConflict = function() { 5481 return t.fn[nt] = eh, si._jQueryInterface 5482 }; 5483 var or = "bs.tab", 5484 hi = "." + or, 5485 ph = t.fn.tab, 5486 ci = { 5487 HIDE: "hide" + hi, 5488 HIDDEN: "hidden" + hi, 5489 SHOW: "show" + hi, 5490 SHOWN: "shown" + hi, 5491 CLICK_DATA_API: "click" + hi + ".data-api" 5492 }, 5493 wh = "dropdown-menu", 5494 li = "active", 5495 bh = "disabled", 5496 rf = "fade", 5497 uf = "show", 5498 kh = ".dropdown", 5499 dh = ".nav, .list-group", 5500 ff = ".active", 5501 ef = "> li > .active", 5502 gh = ".dropdown-toggle", 5503 nc = "> .dropdown-menu .active", 5504 ai = function() { 5505 function n(n) { 5506 this._element = n 5507 } 5508 var i = n.prototype; 5509 return i.show = function() { 5510 var h = this, 5511 u, n, i, f, c, e, o, s; 5512 this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && t(this._element).hasClass(li) || t(this._element).hasClass(bh) || (i = t(this._element).closest(dh)[0], f = r.getSelectorFromElement(this._element), i && (c = "UL" === i.nodeName || "OL" === i.nodeName ? ef : ff, n = (n = t.makeArray(t(i).find(c)))[n.length - 1]), e = t.Event(ci.HIDE, { 5513 relatedTarget: this._element 5514 }), o = t.Event(ci.SHOW, { 5515 relatedTarget: n 5516 }), (n && t(n).trigger(e), t(this._element).trigger(o), o.isDefaultPrevented() || e.isDefaultPrevented()) || (f && (u = document.querySelector(f)), this._activate(this._element, i), s = function() { 5517 var i = t.Event(ci.HIDDEN, { 5518 relatedTarget: h._element 5519 }), 5520 r = t.Event(ci.SHOWN, { 5521 relatedTarget: n 5522 }); 5523 t(n).trigger(i); 5524 t(h._element).trigger(r) 5525 }, u ? this._activate(u, u.parentNode, s) : s())) 5526 }, i.dispose = function() { 5527 t.removeData(this._element, or); 5528 this._element = null 5529 }, i._activate = function(n, i, u) { 5530 var s = this, 5531 f = (!i || "UL" !== i.nodeName && "OL" !== i.nodeName ? t(i).children(ff) : t(i).find(ef))[0], 5532 h = u && f && t(f).hasClass(rf), 5533 e = function() { 5534 return s._transitionComplete(n, f, u) 5535 }, 5536 o; 5537 f && h ? (o = r.getTransitionDurationFromElement(f), t(f).removeClass(uf).one(r.TRANSITION_END, e).emulateTransitionEnd(o)) : e() 5538 }, i._transitionComplete = function(n, i, u) { 5539 var f, e, o; 5540 i && (t(i).removeClass(li), f = t(i.parentNode).find(nc)[0], f && t(f).removeClass(li), "tab" === i.getAttribute("role") && i.setAttribute("aria-selected", !1)); 5541 (t(n).addClass(li), "tab" === n.getAttribute("role") && n.setAttribute("aria-selected", !0), r.reflow(n), n.classList.contains(rf) && n.classList.add(uf), n.parentNode && t(n.parentNode).hasClass(wh)) && (e = t(n).closest(kh)[0], e && (o = [].slice.call(e.querySelectorAll(gh)), t(o).addClass(li)), n.setAttribute("aria-expanded", !0)); 5542 u && u() 5543 }, n._jQueryInterface = function(i) { 5544 return this.each(function() { 5545 var u = t(this), 5546 r = u.data(or); 5547 if (r || (r = new n(this), u.data(or, r)), "string" == typeof i) { 5548 if ("undefined" == typeof r[i]) throw new TypeError('No method n
5548amed "' + i + '"'); 5549 r[i]() 5550 } 5551 }) 5552 }, l(n, null, [{ 5553 key: "VERSION", 5554 get: function() { 5555 return "4.3.1" 5556 } 5557 }]), n 5558 }(); 5559 t(document).on(ci.CLICK_DATA_API, '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', function(n) { 5560 n.preventDefault(); 5561 ai._jQueryInterface.call(t(this), "show") 5562 }); 5563 t.fn.tab = ai._jQueryInterface; 5564 t.fn.tab.Constructor = ai; 5565 t.fn.tab.noConflict = function() { 5566 return t.fn.tab = ph, ai._jQueryInterface 5567 }; 5568 var ct = "toast", 5569 sr = "bs.toast", 5570 vi = "." + sr, 5571 tc = t.fn[ct], 5572 lt = { 5573 CLICK_DISMISS: "click.dismiss" + vi, 5574 HIDE: "hide" + vi, 5575 HIDDEN: "hidden" + vi, 5576 SHOW: "show" + vi, 5577 SHOWN: "shown" + vi 5578 }, 5579 ic = "fade", 5580 of = "hide", 5581 yi = "show", 5582 sf = "showing", 5583 rc = { 5584 animation: "boolean", 5585 autohide: "boolean", 5586 delay: "number" 5587 }, 5588 hf = { 5589 animation: !0, 5590 autohide: !0, 5591 delay: 500 5592 }, 5593 uc = '[data-dismiss="toast"]', 5594 hr = function() { 5595 function i(n, t) { 5596 this._element = n; 5597 this._config = this._getConfig(t); 5598 this._timeout = null; 5599 this._setListeners() 5600 } 5601 var n = i.prototype; 5602 return n.show = function() { 5603 var n = this, 5604 i, u; 5605 t(this._element).trigger(lt.SHOW); 5606 this._config.animation && this._element.classList.add(ic); 5607 i = function() { 5608 n._element.classList.remove(sf); 5609 n._element.classList.add(yi); 5610 t(n._element).trigger(lt.SHOWN); 5611 n._config.autohide && n.hide() 5612 }; 5613 (this._element.classList.remove(of), this._element.classList.add(sf), this._config.animation) ? (u = r.getTransitionDurationFromElement(this._element), t(this._element).one(r.TRANSITION_END, i).emulateTransitionEnd(u)) : i() 5614 }, n.hide = function(n) { 5615 var i = this; 5616 this._element.classList.contains(yi) && (t(this._element).trigger(lt.HIDE), n ? this._close() : this._timeout = setTimeout(function() { 5617 i._close() 5618 }, this._config.delay)) 5619 }, n.dispose = function() { 5620 clearTimeout(this._timeout); 5621 this._timeout = null; 5622 this._element.classList.contains(yi) && this._element.classList.remove(yi); 5623 t(this._element).off(lt.CLICK_DISMISS); 5624 t.removeData(this._element, sr); 5625 this._element = null; 5626 this._config = null 5627 }, n._getConfig = function(n) { 5628 return n = f({}, hf, t(this._element).data(), "object" == typeof n && n ? n : {}), r.typeCheckConfig(ct, n, this.constructor.DefaultType), n 5629 }, n._setListeners = function() { 5630 var n = this; 5631 t(this._element).on(lt.CLICK_DISMISS, uc, function() { 5632 return n.hide(!0) 5633 }) 5634 }, n._close = function() { 5635 var n = this, 5636 i = function() { 5637 n._element.classList.add(of); 5638 t(n._element).trigger(lt.HIDDEN) 5639 }, 5640 u; 5641 (this._element.classList.remove(yi), this._config.animation) ? (u = r.getTransitionDurationFromElement(this._element), t(this._element).one(r.TRANSITION_END, i).emulateTransitionEnd(u)) : i() 5642 }, i._jQueryInterface = function(n) { 5643 return this.each(function() { 5644 var u = t(this), 5645 r = u.data(sr); 5646 if (r || (r = new i(this, "object" == typeof n && n), u.data(sr, r)), "string" == typeof n) { 5647 if ("undefined" == typeof r[n]) throw new TypeError('No method n
5647amed "' + n + '"'); 5648 r[n](this) 5649 } 5650 }) 5651 }, l(i, null, [{ 5652 key: "VERSION", 5653 get: function() { 5654 return "4.3.1" 5655 } 5656 }, { 5657 key: "DefaultType", 5658 get: function() { 5659 return rc 5660 } 5661 }, { 5662 key: "Default", 5663 get: function() { 5664 return hf 5665 } 5666 }]), i 5667 }(); 5668 t.fn[ct] = hr._jQueryInterface; 5669 t.fn[ct].Constructor = hr; 5670 t.fn[ct].noConflict = function() { 5671 return t.fn[ct] = tc, hr._jQueryInterface 5672 }, 5673 function() { 5674 if ("undefined" == typeof t) throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript."); 5675 var n = t.fn.jquery.split(" ")[0].split("."); 5676 if (n[0] < 2 && n[1] < 9 || 1 === n[0] && 9 === n[1] && n[2] < 1 || 4 <= n[0]) throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0"); 5677 }(); 5678 n.Util = r; 5679 n.Alert = it; 5680 n.Button = wt; 5681 n.Carousel = ut; 5682 n.Collapse = ni; 5683 n.Dropdown = p; 5684 n.Modal = ri; 5685 n.Popover = ur; 5686 n.Scrollspy = si; 5687 n.Tab = ai; 5688 n.Toast = hr; 5689 n.Tooltip = g; 5690 Object.defineProperty(n, "__esModule", { 5691 value: !0 5692 }) 5693}); 5694! function(n, t, i) { 5695 "use strict"; 5696 5697 function s(n, t) { 5698 var u, o, e, r = [], 5699 s = 0; 5700 n && n.isDefaultPrevented() || (n.preventDefault(), t = t || {}, n && n.data && (t = f(n.data.options, t)), u = t.$target || i(n.currentTarget).trigger("blur"), (e = i.fancybox.getInstance()) && e.$trigger && e.$trigger.is(u) || (t.selector ? r = i(t.selector) : (o = u.attr("data-fancybox") || "", o ? (r = n.data ? n.data.items : [], r = r.length ? r.filter('[data-fancybox="' + o + '"]') : i('[data-fancybox="' + o + '"]')) : r = [u]), s = i(r).index(u), s < 0 && (s = 0), e = i.fancybox.open(r, t, s), e.$trigger = u)) 5701 } 5702 if (n.console = n.console || { 5703 info: function() {} 5704 }, i) { 5705 if (i.fn.fancybox) return void console.info("fancyBox already initialized"); 5706 var l = { 5707 closeExisting: !1, 5708 loop: !1, 5709 gutter: 50, 5710 keyboard: !0, 5711 preventCaptionOverlap: !0, 5712 arrows: !0, 5713 infobar: !0, 5714 smallBtn: "auto", 5715 toolbar: "auto", 5716 buttons: ["zoom", "slideShow", "thumbs", "close"], 5717 idleTime: 3, 5718 protect: !1, 5719 modal: !1, 5720 image: { 5721 preload: !1 5722 }, 5723 ajax: { 5724 settings: { 5725 data: { 5726 fancybox: !0 5727 } 5728 } 5729 }, 5730 iframe: { 5731 tpl: '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" allowfullscreen="allowfullscreen" allow="autoplay; fullscreen" src=""><\/iframe>', 5732 preload: !0, 5733 css: {}, 5734 attr: { 5735 scrolling: "auto" 5736 } 5737 }, 5738 video: { 5739 tpl: '<video class="fancybox-video" controls controlsList="nodownload" poster="{{poster}}"><source src="{{src}}" type="{{format}}" />Sorry, your browser doesn\'t support embedded videos, <a href="{{src}}">download<\/a> and watch with your favorite video player!<\/video>', 5740 format: "", 5741 autoStart: !0 5742 }, 5743 defaultType: "image", 5744 animationEffect: "zoom", 5745 animationDuration: 366, 5746 zoomOpacity: "auto", 5747 transitionEffect: "fade", 5748 transitionDuration: 366, 5749 slideClass: "", 5750 baseClass: "", 5751 baseTpl: '<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"><\/div><div class="fancybox-inner"><div class="fancybox-infobar"><span data-fancybox-index><\/span> / <span data-fancybox-count><\/span><\/div><div class="fancybox-toolbar">{{buttons}}<\/div><div class="fancybox-navigation">{{arrows}}<\/div><div class="fancybox-stage"><\/div><div class="fancybox-caption"><div class="fancybox-caption__body"><\/div><\/div><\/div><\/div>', 5752 spinnerTpl: '<div class="fancybox-loading"><\/div>', 5753 errorTpl: '<div class="fancybox-error"><p>{{ERROR}}<\/p><\/div>', 5754 btnTpl: { 5755 download: '<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}" href="javascript:;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
5755<path d="M18.62 17.09V19H5.38v-1.91zm-2.97-6.96L17 11.45l-5 4.87-5-4.87 1.36-1.32 2.68 2.64V5h1.92v7.77z"/><\/svg><\/a>', 5756 zoom: '<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.7 17.3l-3-3a5.9 5.9 0 0 0-.6-7.6 5.9 5.9 0 0 0-8.4 0 5.9 5.9 0 0 0 0 8.4 5.9 5.9 0 0 0 7.7.7l3 3a1 1 0 0 0 1.3 0c.4-.5.4-1 0-1.5zM8.1 13.8a4 4 0 0 1 0-5.7 4 4 0 0 1 5.7 0 4 4 0 0 1 0 5.7 4 4 0 0 1-5.7 0z"/><\/svg><\/button>', 5757 close: '<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 10.6L6.6 5.2 5.2 6.6l5.4 5.4-5.4 5.4 1.4 1.4 5.4-5.4 5.4 5.4 1.4-1.4-5.4-5.4 5.4-5.4-1.4-1.4-5.4 5.4z"/><\/svg><\/button>', 5758 arrowLeft: '<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.28 15.7l-1.34 1.37L5 12l4.94-5.07 1.34 1.38-2.68 2.72H19v1.94H8.6z"/><\/svg><\/div><\/button>', 5759 arrowRight: '<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 12.97l-2.68 2.72 1.34 1.38L19 12l-4.94-5.07-1.34 1.38 2.68 2.72H5v1.94z"/><\/svg><\/div><\/button>', 5760 smallBtn: '<button type="button" data-fancybox-close class="fancybox-button fancybox-close-small" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"/><\/svg><\/button>' 5761 }, 5762 parentEl: "body", 5763 hideScrollbar: !0, 5764 autoFocus: !0, 5765 backFocus: !0, 5766 trapFocus: !0, 5767 fullScreen: { 5768 autoStart: !1 5769 }, 5770 touch: { 5771 vertical: !0, 5772 momentum: !0 5773 }, 5774 hash: null, 5775 media: {}, 5776 slideShow: { 5777 autoStart: !1, 5778 speed: 3e3 5779 }, 5780 thumbs: { 5781 autoStart: !1, 5782 hideOnClose: !0, 5783 parentEl: ".fancybox-container", 5784 axis: "y" 5785 }, 5786 wheel: "auto", 5787 onInit: i.noop, 5788 beforeLoad: i.noop, 5789 afterLoad: i.noop, 5790 beforeShow: i.noop, 5791 afterShow: i.noop, 5792 beforeClose: i.noop, 5793 afterClose: i.noop, 5794 onActivate: i.noop, 5795 onDeactivate: i.noop, 5796 clickContent: function(n) { 5797 return "image" === n.type && "zoom" 5798 }, 5799 clickSlide: "close", 5800 clickOutside: "close", 5801 dblclickContent: !1, 5802 dblclickSlide: !1, 5803 dblclickOutside: !1, 5804 mobile: { 5805 preventCaptionOverlap: !1, 5806 idleTime: !1, 5807 clickContent: function(n) { 5808 return "image" === n.type && "toggleControls" 5809 }, 5810 clickSlide: function(n) { 5811 return "image" === n.type ? "toggleControls" : "close" 5812 }, 5813 dblclickContent: function(n) { 5814 return "image" === n.type && "zoom" 5815 }, 5816 dblclickSlide: function(n) { 5817 return "image" === n.type && "zoom" 5818 } 5819 }, 5820 lang: "en", 5821 i18n: { 5822 en: { 5823 CLOSE: "Close", 5824 NEXT: "Next", 5825 PREV: "Previous", 5826 ERROR: "The requested content cannot be loaded. <br/> Please try again later.", 5827 PLAY_START: "Start slideshow", 5828 PLAY_STOP: "Pause slideshow", 5829 FULL_SCREEN: "Full screen", 5830 THUMBS: "Thumbnails", 5831 DOWNLOAD: "Download", 5832 SHARE: "Share", 5833 ZOOM: "Zoom" 5834 }, 5835 de: { 5836 CLOSE: "Schließen", 5837 NEXT: "Weiter", 5838 PREV: "Zurück", 5839 ERROR: "Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es später nochmal.", 5840 PLAY_START: "Diaschau starten", 5841 PLAY_STOP: "Diaschau beenden", 5842 FULL_SCREEN: "Vollbild",
5843 THUMBS: "Vorschaubilder", 5844 DOWNLOAD: "Herunterladen", 5845 SHARE: "Teilen", 5846 ZOOM: "Vergrößern" 5847 } 5848 } 5849 }, 5850 e = i(n), 5851 r = i(t), 5852 a = 0, 5853 v = function(n) { 5854 return n && n.hasOwnProperty && n instanceof i 5855 }, 5856 c = function() { 5857 return n.requestAnimationFrame || n.webkitRequestAnimationFrame || n.mozRequestAnimationFrame || n.oRequestAnimationFrame || function(t) { 5858 return n.setTimeout(t, 1e3 / 60) 5859 } 5860 }(), 5861 y = function() { 5862 return n.cancelAnimationFrame || n.webkitCancelAnimationFrame || n.mozCancelAnimationFrame || n.oCancelAnimationFrame || function(t) { 5863 n.clearTimeout(t) 5864 } 5865 }(), 5866 o = function() { 5867 var n, r = t.createElement("fakeelement"), 5868 i = { 5869 transition: "transitionend", 5870 OTransition: "oTransitionEnd", 5871 MozTransition: "transitionend", 5872 WebkitTransition: "webkitTransitionEnd" 5873 }; 5874 for (n in i) 5875 if (void 0 !== r.style[n]) return i[n]; 5876 return "transitionend" 5877 }(), 5878 u = function(n) { 5879 return n && n.length && n[0].offsetHeight 5880 }, 5881 f = function(n, t) { 5882 var r = i.extend(!0, {}, n, t); 5883 return i.each(t, function(n, t) { 5884 i.isArray(t) && (r[n] = t) 5885 }), r 5886 }, 5887 p = function(n) { 5888 var r, u; 5889 return !(!n || n.ownerDocument !== t) && (i(".fancybox-container").css("pointer-events", "none"), r = { 5890 x: n.getBoundingClientRect().left + n.offsetWidth / 2, 5891 y: n.getBoundingClientRect().top + n.offsetHeight / 2 5892 }, u = t.elementFromPoint(r.x, r.y) === n, i(".fancybox-container").css("pointer-events", ""), u) 5893 }, 5894 h = function(n, t, r) { 5895 var u = this; 5896 u.opts = f({ 5897 index: r 5898 }, i.fancybox.defaults); 5899 i.isPlainObject(t) && (u.opts = f(u.opts, t)); 5900 i.fancybox.isMobile && (u.opts = f(u.opts, u.opts.mobile)); 5901 u.id = u.opts.id || ++a; 5902 u.currIndex = parseInt(u.opts.index, 10) || 0; 5903 u.prevIndex = null; 5904 u.prevPos = null; 5905 u.currPos = 0; 5906 u.firstRun = !0; 5907 u.group = []; 5908 u.slides = {}; 5909 u.addContent(n); 5910 u.group.length && u.init() 5911 }; 5912 i.extend(h.prototype, { 5913 init: function() { 5914 var f, e, r = this, 5915 o = r.group[r.currIndex], 5916 u = o.opts; 5917 u.closeExisting && i.fancybox.close(!0); 5918 i("body").addClass("fancybox-active"); 5919 !i.fancybox.getInstance() && !1 !== u.hideScrollbar && !i.fancybox.isMobile && t.body.scrollHeight > n.innerHeight && (i("head").append('<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar{margin-right:' + (n.innerWidth - t.documentElement.clientWidth) + "px;}<\/style>"), i("body").addClass("compensate-for-scrollbar")); 5920 e = ""; 5921 i.each(u.buttons, function(n, t) { 5922 e += u.btnTpl[t] || "" 5923 }); 5924 f = i(r.translate(r, u.baseTpl.replace("{{buttons}}", e).replace("{{arrows}}", u.btnTpl.arrowLeft + u.btnTpl.arrowRight))).attr("id", "fancybox-container-" + r.id).addClass(u.baseClass).data("FancyBox", r).appendTo(u.parentEl); 5925 r.$refs = { 5926 container: f 5927 }; 5928 ["bg", "inner", "infobar", "toolbar", "stage", "caption", "navigation"].forEach(function(n) { 5929 r.$refs[n] = f.find(".fancybox-" + n) 5930 }); 5931 r.trigger("onInit"); 5932 r.activate(); 5933 r.jumpTo(r.currIndex) 5934 }, 5935 translate: function(n, t) { 5936 var i = n.opts.i18n[n.opts.lang] || n.opts.i18n.en; 5937 return t.replace(/\{\{(\w+)\}\}/g, function(n, t) { 5938 return void 0 === i[t] ? n : i[t] 5939 }) 5940 }, 5941 addContent: function(n) { 5942 var r, t = this, 5943 u = i.makeArray(n); 5944 i.each(u, function(n, r) { 5945 var h, o, l, s, c, u = {}, 5946 e = {}; 5947 i.isPlainObject(r) ? (u = r, e = r.opts || r) : "object" === i.type(r) && i(r).length ? (h = i(r), e = h.data() || {}, e = i.extend(!0, {}, e, e.options), e.$orig = h, u.src = t.opts.src || e.src || h.attr("href"), u.type || u.src || (u.type = "inline", u.src = r)) : u = { 5948 type: "html", 5949 src: r + "" 5950 }; 5951 u.opts = i.extend(!0, {}, t.opts, e); 5952 i.isArray(e.buttons) && (u.opts.buttons = e.buttons); 5953 i.fancybox.isMobile && u.opts.mobile && (u.opts = f(u.opts, u.opts.mobile)); 5954 o = u.type || u.opts.type; 5955 s = u.src || ""; 5956 !o && s && ((l = s.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i)) ? (o = "video", u.opts.video.format || (u.opts.video.format = "video/" + ("ogv" === l[1] ? "ogg" : l[1]))) : s.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i) ? o = "image" : s.match(/\.(pdf)((\?|#).*)?$/i) ? (o = "iframe", u = i.extend(!0, u, { 5957 contentType: "pdf", 5958 opts: { 5959 iframe: { 5960 preload: !1 5961 } 5962 } 5963 })) : "#" === s.charAt(0) && (o = "inline")); 5964 o ? u.type = o : t.trigger("objectNeedsType", u); 5965 u.contentType || (u.contentType = i.inArray(u.type, ["html", "inline", "ajax"]) > -1 ? "html" : u.type); 5966 u.index = t.group.length; 5967 "auto" == u.opts.smallBtn && (u.opts.smallBtn = i.inArray(u.type, ["html", "inline", "ajax"]) > -1); 5968 "auto" === u.opts.toolbar && (u.opts.toolbar = !u.opts.smallBtn); 5969 u.$thumb = u.opts.$thumb || null; 5970 u.opts.$trigger && u.index === t.opts.index && (u.$thumb = u.opts.$trigger.find("img:first"), u.$thumb.length && (u.opts.$orig = u.opts.$trigger)); 5971 u.$thumb && u.$thumb.length || !u.opts.$orig || (u.$thumb = u.opts.$orig.find("img:first")); 5972 u.$thumb && !u.$thumb.length && (u.$thumb = null); 5973 u.thumb = u.opts.thumb || (u.$thumb ? u.$thumb[0].src : null); 5974 "function" === i.type(u.opts.caption) && (u.opts.caption = u.opts.caption.apply(r, [t, u])); 5975 "function" === i.type(t.opts.caption) && (u.opts.caption = t.opts.caption.apply(r, [t, u])); 5976 u.opts.caption instanceof i || (u.opts.caption = void 0 === u.opts.caption ? "" : u.opts.caption + ""); 5977 "ajax" === u.type && (c = s.split(/\s+/, 2), c.length > 1 && (u.src = c.shift(), u.opts.filter = c.shift())); 5978 u.opts.modal && (u.opts = i.extend(!0, u.opts, { 5979 trapFocus: !0, 5980 infobar: 0, 5981 toolbar: 0, 5982 smallBtn: 0, 5983 keyboard: 0, 5984 slideShow: 0, 5985 fullScreen: 0, 5986 thumbs: 0, 5987 touch: 0, 5988 clickContent: !1, 5989 clickSlide: !1, 5990 clickOutside: !1, 5991 dblclickContent: !1, 5992 dblclickSlide: !1, 5993 dblclickOutside: !1 5994 })); 5995 t.group.push(u) 5996 }); 5997 Object.keys(t.slides).length && (t.updateControls(), (r = t.Thumbs) && r.isActive && (r.create(), r.focus())) 5998 }, 5999 addEvents: function() { 6000 var t = this; 6001 t.removeEvents(); 6002 t.$refs.container.on("click.fb-close", "[data-fancybox-close]", function(n) { 6003 n.stopPropagation(); 6004 n.preventDefault(); 6005 t.close(n) 6006 }).on("touchstart.fb-prev click.fb-prev", "[data-fancybox-prev]", function(n) { 6007 n.stopPropagation(); 6008 n.preventDefault(); 6009 t.previous() 6010 }).on("touchstart.fb-next click.fb-next", "[data-fancybox-next]", function(n) { 6011 n.stopPropagation(); 6012 n.preventDefault(); 6013 t.next() 6014 }).on("click.fb", "[data-fancybox-zoom]", function() { 6015 t[t.isScaledDown() ? "scaleToActual" : "scaleToFit"]() 6016 }); 6017 e.on("orientationchange.fb resize.fb", function(n) { 6018 n && n.originalEvent && "resize" === n.originalEvent.type ? (t.requestId && y(t.requestId), t.requestId = c(function() { 6019 t.update(n) 6020 })) : (t.current && "iframe" === t.current.type && t.$refs.stage.hide(), setTimeout(function() { 6021 t.$refs.stage.show(); 6022 t.update(n) 6023 }, i.fancybox.isMobile ? 600 : 250)) 6024 });
vendor: 13,908 bytes, lines 6025-6226
6025 r.on("keydown.fb", function(n) { 6026 var f = i.fancybox ? i.fancybox.getInstance() : null, 6027 u = f.current, 6028 r = n.keyCode || n.which; 6029 return 9 == r ? void(u.opts.trapFocus && t.focus(n)) : (!u.opts.keyboard || n.ctrlKey || n.altKey || n.shiftKey || i(n.target).is("input,textarea,video,audio")) ? void 0 : 8 === r || 27 === r ? (n.preventDefault(), void t.close(n)) : 37 === r || 38 === r ? (n.preventDefault(), void t.previous()) : 39 === r || 40 === r ? (n.preventDefault(), void t.next()) : void t.trigger("afterKeydown", n, r) 6030 }); 6031 t.group[t.currIndex].opts.idleTime && (t.idleSecondsCounter = 0, r.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle", function() { 6032 t.idleSecondsCounter = 0; 6033 t.isIdle && t.showControls(); 6034 t.isIdle = !1 6035 }), t.idleInterval = n.setInterval(function() { 6036 ++t.idleSecondsCounter >= t.group[t.currIndex].opts.idleTime && !t.isDragging && (t.isIdle = !0, t.idleSecondsCounter = 0, t.hideControls()) 6037 }, 1e3)) 6038 }, 6039 removeEvents: function() { 6040 var t = this; 6041 e.off("orientationchange.fb resize.fb"); 6042 r.off("keydown.fb .fb-idle"); 6043 this.$refs.container.off(".fb-close .fb-prev .fb-next"); 6044 t.idleInterval && (n.clearInterval(t.idleInterval), t.idleInterval = null) 6045 }, 6046 previous: function(n) { 6047 return this.jumpTo(this.currPos - 1, n) 6048 }, 6049 next: function(n) { 6050 return this.jumpTo(this.currPos + 1, n) 6051 }, 6052 jumpTo: function(n, t) { 6053 var s, a, h, f, e, o, v, c, y, r = this, 6054 l = r.group.length; 6055 if (!(r.isDragging || r.isClosing || r.isAnimating && r.firstRun)) { 6056 if (n = parseInt(n, 10), !(h = r.current ? r.current.opts.loop : r.opts.loop) && (n < 0 || n >= l)) return !1; 6057 if (s = r.firstRun = !Object.keys(r.slides).length, e = r.current, r.prevIndex = r.currIndex, r.prevPos = r.currPos, f = r.createSlide(n), l > 1 && ((h || f.index < l - 1) && r.createSlide(n + 1), (h || f.index > 0) && r.createSlide(n - 1)), r.current = f, r.currIndex = f.index, r.currPos = f.pos, r.trigger("beforeShow", s), r.updateControls(), f.forcedDuration = void 0, i.isNumeric(t) ? f.forcedDuration = t : t = f.opts[s ? "animationDuration" : "transitionDuration"], t = parseInt(t, 10), a = r.isMoved(f), f.$slide.addClass("fancybox-slide--current"), s) return f.opts.animationEffect && t && r.$refs.container.css("transition-duration", t + "ms"), r.$refs.container.addClass("fancybox-is-open").trigger("focus"), r.loadSlide(f), void r.preload("image"); 6058 o = i.fancybox.getTranslate(e.$slide); 6059 v = i.fancybox.getTranslate(r.$refs.stage); 6060 i.each(r.slides, function(n, t) { 6061 i.fancybox.stop(t.$slide, !0) 6062 }); 6063 e.pos !== f.pos && (e.isComplete = !1); 6064 e.$slide.removeClass("fancybox-slide--complete fancybox-slide--current"); 6065 a ? (y = o.left - (e.pos * o.width + e.pos * e.opts.gutter), i.each(r.slides, function(n, e) { 6066 e.$slide.removeClass("fancybox-animated").removeClass(function(n, t) { 6067 return (t.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" ") 6068 }); 6069 var s = e.pos * o.width + e.pos * e.opts.gutter; 6070 i.fancybox.setTranslate(e.$slide, { 6071 top: 0, 6072 left: s - v.left + y 6073 }); 6074 e.pos !== f.pos && e.$slide.addClass("fancybox-slide--" + (e.pos > f.pos ? "next" : "previous")); 6075 u(e.$slide); 6076 i.fancybox.animate(e.$slide, { 6077 top: 0, 6078 left: (e.pos - f.pos) * o.width + (e.pos - f.pos) * e.opts.gutter 6079 }, t, function() { 6080 e.$slide.css({ 6081 transform: "", 6082 opacity: "" 6083 }).removeClass("fancybox-slide--next fancybox-slide--previous"); 6084 e.pos === r.currPos && r.complete() 6085 }) 6086 })) : t && f.opts.transitionEffect && (c = "fancybox-animated fancybox-fx-" + f.opts.transitionEffect, e.$slide.addClass("fancybox-slide--" + (e.pos > f.pos ? "next" : "previous")), i.fancybox.animate(e.$slide, c, t, function() { 6087 e.$slide.removeClass(c).removeClass("fancybox-slide--next fancybox-slide--previous") 6088 }, !1)); 6089 f.isLoaded ? r.revealContent(f) : r.loadSlide(f); 6090 r.preload("image") 6091 } 6092 }, 6093 createSlide: function(n) { 6094 var u, r, t = this; 6095 return r = n % t.group.length, r = r < 0 ? t.group.length + r : r, !t.slides[n] && t.group[r] && (u = i('<div class="fancybox-slide"><\/div>').appendTo(t.$refs.stage), t.slides[n] = i.extend(!0, {}, t.group[r], { 6096 pos: n, 6097 $slide: u, 6098 isLoaded: !1 6099 }), t.updateSlide(t.slides[n])), t.slides[n] 6100 }, 6101 scaleToActual: function(n, t, r) { 6102 var e, o, s, v, y, f = this, 6103 u = f.current, 6104 p = u.$content, 6105 l = i.fancybox.getTranslate(u.$slide).width, 6106 a = i.fancybox.getTranslate(u.$slide).height, 6107 h = u.width, 6108 c = u.height; 6109 f.isAnimating || f.isMoved() || !p || "image" != u.type || !u.isLoaded || u.hasError || (f.isAnimating = !0, i.fancybox.stop(p), n = void 0 === n ? .5 * l : n, t = void 0 === t ? .5 * a : t, e = i.fancybox.getTranslate(p), e.top -= i.fancybox.getTranslate(u.$slide).top, e.left -= i.fancybox.getTranslate(u.$slide).left, v = h / e.width, y = c / e.height, o = .5 * l - .5 * h, s = .5 * a - .5 * c, h > l && (o = e.left * v - (n * v - n), o > 0 && (o = 0), o < l - h && (o = l - h)), c > a && (s = e.top * y - (t * y - t), s > 0 && (s = 0), s < a - c && (s = a - c)), f.updateCursor(h, c), i.fancybox.animate(p, { 6110 top: s, 6111 left: o, 6112 scaleX: v, 6113 scaleY: y 6114 }, r || 366, function() { 6115 f.isAnimating = !1 6116 }), f.SlideShow && f.SlideShow.isActive && f.SlideShow.stop()) 6117 }, 6118 scaleToFit: function(n) { 6119 var t, r = this, 6120 u = r.current, 6121 f = u.$content; 6122 r.isAnimating || r.isMoved() || !f || "image" != u.type || !u.isLoaded || u.hasError || (r.isAnimating = !0, i.fancybox.stop(f), t = r.getFitPos(u), r.updateCursor(t.width, t.height), i.fancybox.animate(f, { 6123 top: t.top, 6124 left: t.left, 6125 scaleX: t.width / f.width(), 6126 scaleY: t.height / f.height() 6127 }, n || 366, function() { 6128 r.isAnimating = !1 6129 })) 6130 }, 6131 getFitPos: function(n) { 6132 var u, f, c, s, l = this, 6133 e = n.$content, 6134 o = n.$slide, 6135 t = n.width || n.opts.width, 6136 r = n.height || n.opts.height, 6137 h = {}; 6138 return !!(n.isLoaded && e && e.length) && (u = i.fancybox.getTranslate(l.$refs.stage).width, f = i.fancybox.getTranslate(l.$refs.stage).height, u -= parseFloat(o.css("paddingLeft")) + parseFloat(o.css("paddingRight")) + parseFloat(e.css("marginLeft")) + parseFloat(e.css("marginRight")), f -= parseFloat(o.css("paddingTop")) + parseFloat(o.css("paddingBottom")) + parseFloat(e.css("marginTop")) + parseFloat(e.css("marginBottom")), t && r || (t = u, r = f), c = Math.min(1, u / t, f / r), t *= c, r *= c, t > u - .5 && (t = u), r > f - .5 && (r = f), "image" === n.type ? (h.top = Math.floor(.5 * (f - r)) + parseFloat(o.css("paddingTop")), h.left = Math.floor(.5 * (u - t)) + parseFloat(o.css("paddingLeft"))) : "video" === n.contentType && (s = n.opts.width && n.opts.height ? t / r : n.opts.ratio || 16 / 9, r > t / s ? r = t / s : t > r * s && (t = r * s)), h.width = t, h.height = r, h) 6139 }, 6140 update: function(n) { 6141 var t = this; 6142 i.each(t.slides, function(i, r) { 6143 t.updateSlide(r, n) 6144 }) 6145 }, 6146 updateSlide: function(n, t) { 6147 var r = this, 6148 f = n && n.$content, 6149 e = n.width || n.opts.width, 6150 o = n.height || n.opts.height, 6151 u = n.$slide; 6152 r.adjustCaption(n); 6153 f && (e || o || "video" === n.contentType) && !n.hasError && (i.fancybox.stop(f), i.fancybox.setTranslate(f, r.getFitPos(n)), n.pos === r.currPos && (r.isAnimating = !1, r.updateCursor())); 6154 r.adjustLayout(n); 6155 u.length && (u.trigger("refresh"), n.pos === r.currPos && r.$refs.toolbar.add(r.$refs.navigation.find(".fancybox-button--arrow_right")).toggleClass("compensate-for-scrollbar", u.get(0).scrollHeight > u.get(0).clientHeight)); 6156 r.trigger("onUpdate", n, t) 6157 }, 6158 centerSlide: function(n) { 6159 var r = this, 6160 u = r.current, 6161 t = u.$slide; 6162 !r.isClosing && u && (t.siblings().css({ 6163 transform: "", 6164 opacity: "" 6165 }), t.parent().children().removeClass("fancybox-slide--previous fancybox-slide--next"), i.fancybox.animate(t, { 6166 top: 0, 6167 left: 0, 6168 opacity: 1 6169 }, void 0 === n ? 0 : n, function() { 6170 t.css({ 6171 transform: "", 6172 opacity: "" 6173 }); 6174 u.isComplete || r.complete() 6175 }, !1)) 6176 }, 6177 isMoved: function(n) { 6178 var t, r, u = n || this.current; 6179 return !!u && (r = i.fancybox.getTranslate(this.$refs.stage), t = i.fancybox.getTranslate(u.$slide), !u.$slide.hasClass("fancybox-animated") && (Math.abs(t.top - r.top) > .5 || Math.abs(t.left - r.left) > .5)) 6180 }, 6181 updateCursor: function(n, t) { 6182 var o, e, u = this, 6183 r = u.current, 6184 f = u.$refs.container; 6185 r && !u.isClosing && u.Guestures && (f.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan"), o = u.canPan(n, t), e = !!o || u.isZoomable(), f.toggleClass("fancybox-is-zoomable", e), i("[data-fancybox-zoom]").prop("disabled", !e), o ? f.addClass("fancybox-can-pan") : e && ("zoom" === r.opts.clickContent || i.isFunction(r.opts.clickContent) && "zoom" == r.opts.clickContent(r)) ? f.addClass("fancybox-can-zoomIn") : r.opts.touch && (r.opts.touch.vertical || u.group.length > 1) && "video" !== r.contentType && f.addClass("fancybox-can-swipe")) 6186 }, 6187 isZoomable: function() { 6188 var t, i = this, 6189 n = i.current; 6190 return n && !i.isClosing && "image" === n.type && !n.hasError && (!n.isLoaded || (t = i.getFitPos(n)) && (n.width > t.width || n.height > t.height)) ? !0 : !1 6191 }, 6192 isScaledDown: function(n, t) { 6193 var e = this, 6194 r = !1, 6195 u = e.current, 6196 f = u.$content; 6197 return void 0 !== n && void 0 !== t ? r = n < u.width && t < u.height : f && (r = i.fancybox.getTranslate(f), r = r.width < u.width && r.height < u.height), r 6198 }, 6199 canPan: function(n, t) { 6200 var e = this, 6201 r = e.current, 6202 f = null, 6203 u = !1; 6204 return "image" === r.type && (r.isComplete || n && t) && !r.hasError && (u = e.getFitPos(r), void 0 !== n && void 0 !== t ? f = { 6205 width: n, 6206 height: t 6207 } : r.isComplete && (f = i.fancybox.getTranslate(r.$content)), f && u && (u = Math.abs(f.width - u.width) > 1.5 || Math.abs(f.height - u.height) > 1.5)), u 6208 }, 6209 loadSlide: function(n) { 6210 var u, r, f, t = this; 6211 if (!n.isLoading && !n.isLoaded) { 6212 if (n.isLoading = !0, !1 === t.trigger("beforeLoad", n)) return n.isLoading = !1, !1; 6213 switch (u = n.type, r = n.$slide, r.off("refresh").trigger("onReset").addClass(n.opts.slideClass), u) { 6214 case "image": 6215 t.setImage(n); 6216 break; 6217 case "iframe": 6218 t.setIframe(n); 6219 break; 6220 case "html": 6221 t.setContent(n, n.src || n.content); 6222 break; 6223 case "video": 6224 t.setContent(n, n.opts.video.tpl.replace(/\{\{src\}\}/gi, n.src).replace("{{format}}", n.opts.videoFormat || n.opts.video.format || "").replace("{{poster}}", n.thumb || "")); 6225 break; 6226 case "inline":
6227 i(n.src).length ? t.setContent(n, i(n.src)) : t.setError(n); 6228 break; 6229 case "ajax": 6230 t.showLoading(n); 6231 f = i.ajax(i.extend({}, n.opts.ajax.settings, { 6232 url: n.src, 6233 success: function(i, r) { 6234 "success" === r && t.setContent(n, i) 6235 }, 6236 error: function(i, r) { 6237 i && "abort" !== r && t.setError(n) 6238 } 6239 })); 6240 r.one("onReset", function() { 6241 f.abort() 6242 }); 6243 break; 6244 default: 6245 t.setError(n) 6246 } 6247 return !0 6248 } 6249 }, 6250 setImage: function(n) { 6251 var u, r = this; 6252 setTimeout(function() { 6253 var t = n.$image; 6254 r.isClosing || !n.isLoading || t && t.length && t[0].complete || n.hasError || r.showLoading(n) 6255 }, 50); 6256 r.checkSrcset(n); 6257 n.$content = i('<div class="fancybox-content"><\/div>').addClass("fancybox-is-hidden").appendTo(n.$slide.addClass("fancybox-slide--image")); 6258 !1 !== n.opts.preload && n.opts.width && n.opts.height && n.thumb && (n.width = n.opts.width, n.height = n.opts.height, u = t.createElement("img"), u.onerror = function() { 6259 i(this).remove(); 6260 n.$ghost = null 6261 }, u.onload = function() { 6262 r.afterLoad(n) 6263 }, n.$ghost = i(u).addClass("fancybox-image").appendTo(n.$content).attr("src", n.thumb)); 6264 r.setBigImage(n) 6265 }, 6266 checkSrcset: function(t) { 6267 var i, r, e, s, o = t.opts.srcset || t.opts.image.srcset, 6268 f, u; 6269 if (o) { 6270 for (e = n.devicePixelRatio || 1, s = n.innerWidth * e, r = o.split(",").map(function(n) { 6271 var t = {}; 6272 return n.trim().split(/\s+/).forEach(function(n, i) { 6273 var r = parseInt(n.substring(0, n.length - 1), 10); 6274 if (0 === i) return t.url = n; 6275 r && (t.value = r, t.postfix = n[n.length - 1]) 6276 }), t 6277 }), r.sort(function(n, t) { 6278 return n.value - t.value 6279 }), f = 0; f < r.length; f++) 6280 if (u = r[f], "w" === u.postfix && u.value >= s || "x" === u.postfix && u.value >= e) { 6281 i = u; 6282 break 6283 }!i && r.length && (i = r[r.length - 1]); 6284 i && (t.src = i.url, t.width && t.height && "w" == i.postfix && (t.height = t.width / t.height * i.value, t.width = i.value), t.opts.srcset = o) 6285 } 6286 }, 6287 setBigImage: function(n) { 6288 var r = this, 6289 f = t.createElement("img"), 6290 u = i(f); 6291 n.$image = u.one("error", function() { 6292 r.setError(n) 6293 }).one("load", function() { 6294 var t; 6295 n.$ghost || (r.resolveImageSlideSize(n, this.naturalWidth, this.naturalHeight), r.afterLoad(n)); 6296 r.isClosing || (n.opts.srcset && (t = n.opts.sizes, t && "auto" !== t || (t = (n.width / n.height > 1 && e.width() / e.height() > 1 ? "100" : Math.round(n.width / n.height * 100)) + "vw"), u.attr("sizes", t).attr("srcset", n.opts.srcset)), n.$ghost && setTimeout(function() { 6297 n.$ghost && !r.isClosing && n.$ghost.hide() 6298 }, Math.min(300, Math.max(1e3, n.height / 1600))), r.hideLoading(n)) 6299 }).addClass("fancybox-image").attr("src", n.src).appendTo(n.$content); 6300 (f.complete || "complete" == f.readyState) && u.naturalWi
6300dth && u.naturalHeight ? u.trigger("load") : f.error && u.trigger("error") 6301 }, 6302 resolveImageSlideSize: function(n, t, i) { 6303 var r = parseInt(n.opts.width, 10), 6304 u = parseInt(n.opts.height, 10); 6305 n.width = t; 6306 n.height = i; 6307 r > 0 && (n.width = r, n.height = Math.floor(r * i / t)); 6308 u > 0 && (n.width = Math.floor(u * t / i), n.height = u) 6309 }, 6310 setIframe: function(n) { 6311 var u, f = this, 6312 t = n.opts.iframe, 6313 r = n.$slide; 6314 n.$content = i('<div class="fancybox-content' + (t.preload ? " fancybox-is-hidden" : "") + '"><\/div>').css(t.css).appendTo(r); 6315 r.addClass("fancybox-slide--" + n.contentType); 6316 n.$iframe = u = i(t.tpl.replace(/\{rnd\}/g, (new Date).getTime())).attr(t.attr).appendTo(n.$content); 6317 t.preload ? (f.showLoading(n), u.on("load.fb error.fb", function() { 6318 this.isReady = 1; 6319 n.$slide.trigger("refresh"); 6320 f.afterLoad(n) 6321 }), r.on("refresh.fb", function() { 6322 var s, i, f = n.$content, 6323 e = t.css.width, 6324 o = t.css.height; 6325 if (1 === u[0].isReady) { 6326 try { 6327 s = u.contents(); 6328 i = s.find("body") 6329 } catch (n) {} 6330 i && i.length && i.children().length && (r.css("overflow", "visible"), f.css({ 6331 width: "100%", 6332 "max-width": "100%", 6333 height: "9999px" 6334 }), void 0 === e && (e = Math.ceil(Math.max(i[0].clientWidth, i.outerWidth(!0)))), f.css("width", e || "").css("max-width", ""), void 0 === o && (o = Math.ceil(Math.max(i[0].clientHeight, i.outerHeight(!0)))), f.css("height", o || ""), r.css("overflow", "auto")); 6335 f.removeClass("fancybox-is-hidden") 6336 } 6337 })) : f.afterLoad(n); 6338 u.attr("src", n.src); 6339 r.one("onReset", function() { 6340 try { 6341 i(this).find("iframe").hide().unbind().attr("src", "//about:blank") 6342 } catch (n) {} 6343 i(this).off("refresh.fb").empty(); 6344 n.isLoaded = !1; 6345 n.isRevealed = !1 6346 }) 6347 }, 6348 setContent: function(n, t) { 6349 var r = this; 6350 r.isClosing || (r.hideLoading(n), n.$content && i.fancybox.stop(n.$content), n.$slide.empty(), v(t) && t.parent().length ? ((t.hasClass("fancybox-content") || t.parent().hasClass("fancybox-content")) && t.parents(".fancybox-slide").trigger("onReset"), n.$placeholder = i("<div>").hide().insertAfter(t), t.css("display", "inline-block")) : n.hasError || ("string" === i.type(t) && (t = i("<div>").append(i.trim(t)).contents()), n.opts.filter && (t = i("<div>").html(t).find(n.opts.filter))), n.$slide.one("onReset", function() { 6351 i(this).find("video,audio").trigger("pause"); 6352 n.$placeholder && (n.$placeholder.after(t.removeClass("fancybox-content").hide()).remove(), n.$placeholder = null); 6353 n.$smallBtn && (n.$smallBtn.remove(), n.$smallBtn = null); 6354 n.hasError || (i(this).empty(), n.isLoaded = !1, n.isRevealed = !1) 6355 }), i(t).appendTo(n.$slide), i(t).is("video,audio") && (i(t).addClass("fancybox-video"), i(t).wrap("<div><\/div>"), n.contentType = "video", n.opts.width = n.opts.width || i(t).attr("width"), n.opts.height = n.opts.height || i(t).attr("height")), n.$content = n.$slide.children().filter("div,form,main,video,audio,article,.fancybox-content").first(), n.$content.siblings().hide(), n.$content.length || (n.$content = n.$slide.wrapInner("<div><\/div>").children().first()), n.$content.addClass("fancybox-content"), n.$slide.addClass("fancybox-slide--" + n.contentType), r.afterLoad(n)) 6356 }, 6357 setError: function(n) { 6358 n.hasError = !0; 6359 n.$slide.trigger("onReset").removeClass("fancybox-slide--" + n.contentType).addClass("fancybox-slide--error"); 6360 n.contentType = "html"; 6361 this.setContent(n, this.translate(n, n.opts.errorTpl)); 6362 n.pos === this.currPos && (this.isAnimating = !1) 6363 }, 6364 showLoading: function(n) { 6365 var t = this; 6366 (n = n || t.current) && !n.$spinner && (n.$spinner = i(t.translate(t, t.opts.spinnerTpl)).appendTo(n.$slide).hide().fadeIn("fast")) 6367 }, 6368 hideLoading: function(n) { 6369 var t = this; 6370 (n = n || t.current) && n.$spinner && (n.$spinner.stop().remove(), delete n.$spinner) 6371 }, 6372 afterLoad: function(n) { 6373 var t = this; 6374 t.isClosing || (n.isLoading = !1, n.isLoaded = !0, t.trigger("afterLoad", n), t.hideLoading(n), !n.opts.smallBtn || n.$smallBtn && n.$smallBtn.length || (n.$smallBtn = i(t.translate(n, n.opts.btnTpl.smallBtn)).appendTo(n.$content)), n.opts.protect && n.$content && !n.hasError && (n.$content.on("contextmenu.fb", function(n) { 6375 return 2 == n.button && n.preventDefault(), !0 6376 }), "image" === n.type && i('<div class="fancybox-spaceball"><\/div>').appendTo(n.$content)), t.adjustCaption(n), t.adjustLayout(n), n.pos === t.currPos && t.updateCursor(
vendor: 10,112 bytes, lines 6376-6499
6376), t.revealContent(n)) 6377 }, 6378 adjustCaption: function(n) { 6379 var i, t = this, 6380 r = n || t.current, 6381 u = r.opts.caption, 6382 o = r.opts.preventCaptionOverlap, 6383 f = t.$refs.caption, 6384 e = !1; 6385 f.toggleClass("fancybox-caption--separate", o); 6386 o && u && u.length && (r.pos !== t.currPos ? (i = f.clone().appendTo(f.parent()), i.children().eq(0).empty().html(u), e = i.outerHeight(!0), i.empty().remove()) : t.$caption && (e = t.$caption.outerHeight(!0)), r.$slide.css("padding-bottom", e || "")) 6387 }, 6388 adjustLayout: function(n) { 6389 var r, u, f, i, e = this, 6390 t = n || e.current; 6391 t.isLoaded && !0 !== t.opts.disableLayoutFix && (t.$content.css("margin-bottom", ""), t.$content.outerHeight() > t.$slide.height() + .5 && (f = t.$slide[0].style["padding-bottom"], i = t.$slide.css("padding-bottom"), parseFloat(i) > 0 && (r = t.$slide[0].scrollHeight, t.$slide.css("padding-bottom", 0), Math.abs(r - t.$slide[0].scrollHeight) < 1 && (u = i), t.$slide.css("padding-bottom", f))), t.$content.css("margin-bottom", u)) 6392 }, 6393 revealContent: function(n) { 6394 var r, c, f, h, t = this, 6395 s = n.$slide, 6396 e = !1, 6397 o = !1, 6398 l = t.isMoved(n), 6399 a = n.isRevealed; 6400 return n.isRevealed = !0, r = n.opts[t.firstRun ? "animationEffect" : "transitionEffect"], f = n.opts[t.firstRun ? "animationDuration" : "transitionDuration"], f = parseInt(void 0 === n.forcedDuration ? f : n.forcedDuration, 10), !l && n.pos === t.currPos && f || (r = !1), "zoom" === r && (n.pos === t.currPos && f && "image" === n.type && !n.hasError && (o = t.getThumbPos(n)) ? e = t.getFitPos(n) : r = "fade"), "zoom" === r ? (t.isAnimating = !0, e.scaleX = e.width / o.width, e.scaleY = e.height / o.height, h = n.opts.zoomOpacity, "auto" == h && (h = Math.abs(n.width / n.height - o.width / o.height) > .1), h && (o.opacity = .1, e.opacity = 1), i.fancybox.setTranslate(n.$content.removeClass("fancybox-is-hidden"), o), u(n.$content), void i.fancybox.animate(n.$content, e, f, function() { 6401 t.isAnimating = !1; 6402 t.complete() 6403 })) : (t.updateSlide(n), r ? (i.fancybox.stop(s), c = "fancybox-slide--" + (n.pos >= t.prevPos ? "next" : "previous") + " fancybox-animated fancybox-fx-" + r, s.addClass(c).removeClass("fancybox-slide--current"), n.$content.removeClass("fancybox-is-hidden"), u(s), "image" !== n.type && n.$content.hide().show(0), void i.fancybox.animate(s, "fancybox-slide--current", f, function() { 6404 s.removeClass(c).css({ 6405 transform: "", 6406 opacity: "" 6407 }); 6408 n.pos === t.currPos && t.complete() 6409 }, !0)) : (n.$content.removeClass("fancybox-is-hidden"), a || !l || "image" !== n.type || n.hasError || n.$content.hide().fadeIn("fast"), void(n.pos === t.currPos && t.complete()))) 6410 }, 6411 getThumbPos: function(n) { 6412 var t, u, e, o, f, s = !1, 6413 r = n.$thumb; 6414 return !(!r || !p(r[0])) && (t = i.fancybox.getTranslate(r), u = parseFloat(r.css("border-top-width") || 0), e = parseFloat(r.css("border-right-width") || 0), o = parseFloat(r.css("border-bottom-width") || 0), f = parseFloat(r.css("border-left-width") || 0), s = { 6415 top: t.top + u, 6416 left: t.left + f, 6417 width: t.width - e - f, 6418 height: t.height - u - o, 6419 scaleX: 1, 6420 scaleY: 1 6421 }, t.width > 0 && t.height > 0 && s) 6422 }, 6423 complete: function() { 6424 var r, n = this, 6425 t = n.current, 6426 f = {}; 6427 !n.isMoved() && t.isLoaded && (t.isComplete || (t.isComplete = !0, t.$slide.siblings().trigger("onReset"), n.preload("inline"), u(t.$slide), t.$slide.addClass("fancybox-slide--complete"), i.each(n.slides, function(t, r) { 6428 r.pos >= n.currPos - 1 && r.pos <= n.currPos + 1 ? f[r.pos] = r : r && (i.fancybox.stop(r.$slide), r.$slide.off().remove()) 6429 }), n.slides = f), n.isAnimating = !1, n.updateCursor(), n.trigger("afterShow"), t.opts.video.autoStart && t.$slide.find("video,audio").filter(":visible:first").trigger("play").one("ended", function() { 6430 this.webkitExitFullscreen && this.webkitExitFullscreen(); 6431 n.next() 6432 }), t.opts.autoFocus && "html" === t.contentType && (r = t.$content.find("input[autofocus]:enabled:visible:first"), r.length ? r.trigger("focus") : n.focus(null, !0)), t.$slide.scrollTop(0).scrollLeft(0)) 6433 }, 6434 preload: function(n) { 6435 var i, r, t = this; 6436 t.group.length < 2 || (r = t.slides[t.currPos + 1], i = t.slides[t.currPos - 1], i && i.type === n && t.loadSlide(i), r && r.type === n && t.loadSlide(r)) 6437 }, 6438 focus: function(n, r) { 6439 var u, e, f = this, 6440 o = 'a[href],area[href],input:not([disabled]):not([type="hidden"]):not([aria-hidden]),select:not([disabled]):not([aria-hidden]),textarea:not([disabled]):not([aria-hidden]),button:not([disabled]):not([aria-hidden]),iframe,object,embed,video,audio,[contenteditable],[tabindex]:not([tabindex^="-"])'; 6441 f.isClosing || (u = !n && f.current && f.current.isComplete ? f.current.$slide.find("*:visible" + (r ? ":not(.fancybox-close-small)" : "")) : f.$refs.container.find("*:visible"), u = u.filter(o).filter(function() { 6442 return "hidden" !== i(this).css("visibility") && !i(this).hasClass("disabled") 6443 }), u.length ? (e = u.index(t.activeElement), n && n.shiftKey ? (e < 0 || 0 == e) && (n.preventDefault(), u.eq(u.length - 1).trigger("focus")) : (e < 0 || e == u.length - 1) && (n && n.preventDefault(), u.eq(0).trigger("focus"))) : f.$refs.container.trigger("focus")) 6444 }, 6445 activate: function() { 6446 var n = this; 6447 i(".fancybox-container").each(function() { 6448 var t = i(this).data("FancyBox"); 6449 t && t.id !== n.id && !t.isClosing && (t.trigger("onDeactivate"), t.removeEvents(), t.isVisible = !1) 6450 }); 6451 n.isVisible = !0; 6452 (n.current || n.isIdle) && (n.update(), n.updateControls()); 6453 n.trigger("onActivate"); 6454 n.addEvents() 6455 }, 6456 close: function(n, t) { 6457 var o, s, h, l, a, y, e, r = this, 6458 f = r.current, 6459 v = function() { 6460 r.cleanUp(n) 6461 }; 6462 return !r.isClosing && (r.isClosing = !0, !1 === r.trigger("beforeClose", n) ? (r.isClosing = !1, c(function() { 6463 r.update() 6464 }), !1) : (r.removeEvents(), h = f.$content, o = f.opts.animationEffect, s = i.isNumeric(t) ? t : o ? f.opts.animationDuration : 0, f.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"), !0 !== n ? i.fancybox.stop(f.$slide) : o = !1, f.$slide.siblings().trigger("onReset").remove(), s && r.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing").css("transition-duration", s + "ms"), r.hideLoading(f), r.hideControls(!0), r.updateCursor(), "zoom" !== o || h && s && "image" === f.type && !r.isMoved() && !f.hasError && (e = r.getThumbPos(f)) || (o = "fade"), "zoom" === o ? (i.fancybox.stop(h), l = i.fancybox.getTranslate(h), y = { 6465 top: l.top, 6466 left: l.left, 6467 scaleX: l.width / e.width, 6468 scaleY: l.height / e.height, 6469 width: e.width, 6470 height: e.height 6471 }, a = f.opts.zoomOpacity, "auto" == a && (a = Math.abs(f.width / f.height - e.width / e.height) > .1), a && (e.opacity = 0), i.fancybox.setTranslate(h, y), u(h), i.fancybox.animate(h, e, s, v), !0) : (o && s ? i.fancybox.animate(f.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"), "fancybox-animated fancybox-fx-" + o, s, v) : !0 === n ? setTimeout(v, s) : v(), !0))) 6472 }, 6473 cleanUp: function(t) { 6474 var f, e, o, r = this, 6475 u = r.current.opts.$orig; 6476 r.current.$slide.trigger("onReset"); 6477 r.$refs.container.empty().remove(); 6478 r.trigger("afterClose", t); 6479 r.current.opts.backFocus && (u && u.length && u.is(":visible") || (u = r.$trigger), u && u.length && (e = n.scrollX, o = n.scrollY, u.trigger("focus"), i("html, body").scrollTop(o).scrollLeft(e))); 6480 r.current = null; 6481 f = i.fancybox.getInstance(); 6482 f ? f.activate() : (i("body").removeClass("fancybox-active compensate-for-scrollbar"), i("#fancybox-style-noscroll").remove()) 6483 }, 6484 trigger: function(n, t) { 6485 var o, f = Array.prototype.slice.call(arguments, 1), 6486 e = this, 6487 u = t && t.opts ? t : e.current; 6488 if (u ? f.unshift(u) : u = e, f.unshift(e), i.isFunction(u.opts[n]) && (o = u.opts[n].apply(u, f)), !1 === o) return o; 6489 "afterClose" !== n && e.$refs ? e.$refs.container.trigger(n + ".fb", f) : r.trigger(n + ".fb", f) 6490 }, 6491 updateControls: function() { 6492 var n = this, 6493 r = n.current, 6494 f = r.index, 6495 u = n.$refs.container, 6496 o = n.$refs.caption, 6497 e = r.opts.caption; 6498 r.$slide.trigger("refresh"); 6499 e && e.length ? (n.$caption = o, o.children().eq(0).html(e)) : n.$caption = null;
6500 n.hasHiddenControls || n.isIdle || n.showControls(); 6501 u.find("[data-fancybox-count]").html(n.group.length); 6502 u.find("[data-fancybox-index]").html(f + 1); 6503 u.find("[data-fancybox-prev]").prop("disabled", !r.opts.loop && f <= 0); 6504 u.find("[data-fancybox-next]").prop("disabled", !r.opts.loop && f >= n.group.length - 1); 6505 "image" === r.type ? u.find("[data-fancybox-zoom]").show().end().find("[data-fancybox-download]").attr("href", r.opts.image.src || r.src).show() : r.opts.toolbar && u.find("[data-fancybox-download],[data-fancybox-zoom]").hide(); 6506 i(t.activeElement).is(":hidden,[disabled]") && n.$refs.container.trigger("focus") 6507 }, 6508 hideControls: function(n) { 6509 var i = this, 6510 t = ["infobar", "toolbar", "nav"]; 6511 !n && i.current.opts.preventCaptionOverlap || t.push("caption"); 6512 this.$refs.container.removeClass(t.map(function(n) { 6513 return "fancybox-show-" + n 6514 }).join(" ")); 6515 this.hasHiddenControls = !0 6516 }, 6517 showControls: function() { 6518 var n = this, 6519 t = n.current ? n.current.opts : n.opts, 6520 i = n.$refs.container; 6521 n.hasHiddenControls = !1; 6522 n.idleSecondsCounter = 0; 6523 i.toggleClass("fancybox-show-toolbar", !(!t.toolbar || !t.buttons)).toggleClass("fancybox-show-infobar", !!(t.infobar && n.group.length > 1)).toggleClass("fancybox-show-caption", !!n.$caption).toggleClass("fancybox-show-nav", !!(t.arrows && n.group.length > 1)).toggleClass("fancybox-is-modal", !!t.modal) 6524 }, 6525 toggleControls: function() { 6526 this.hasHiddenControls ? this.showControls() : this.hideControls() 6527 } 6528 }); 6529 i.fancybox = { 6530 version: "3.5.6", 6531 defaults: l, 6532 getInstance: function(n) { 6533 var t = i('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"), 6534 r = Array.prototype.slice.call(arguments, 1); 6535 return t instanceof h && ("string" === i.type(n) ? t[n].apply(t, r) : "function" === i.type(n) && n.apply(t, r), t) 6536 }, 6537 open: function(n, t, i) { 6538 return new h(n, t, i) 6539 }, 6540 close: function(n) { 6541 var t = this.getInstance(); 6542 t && (t.close(), !0 === n && this.close(n)) 6543 }, 6544 destroy: function() { 6545 this.close(!0); 6546 r.add("body").off("click.fb-start", "**") 6547 }, 6548 isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), 6549 use3d: function() { 6550 var i = t.createElement("div"); 6551 return n.getComputedStyle && n.getComputedStyle(i) && n.getComputedStyle(i).getPropertyValue("transform") && !(t.documentMode && t.documentMode < 11) 6552 }(), 6553 getTranslate: function(n) { 6554 var t; 6555 return !(!n || !n.length) && (t = n[0].getBoundingClientRect(), { 6556 top: t.top || 0, 6557 left: t.left || 0, 6558 width: t.width, 6559 height: t.height, 6560 opacity: parseFloat(n.css("opacity")) 6561 }) 6562 }, 6563 setTranslate: function(n, t) { 6564 var i = "", 6565 r = {}; 6566 if (n && t) return void 0 === t.left && void 0 === t.top || (i = (void 0 === t.left ? n.position().left : t.left) + "px, " + (void 0 === t.top ? n.position().top : t.top) + "px", i = this.use3d ? "translate3d(" + i + ", 0px)" : "translate(" + i + ")"), void 0 !== t.scaleX && void 0 !== t.scaleY ? i += " scale(" + t.scaleX + ", " + t.scaleY + ")" : void 0 !== t.scaleX && (i += " scaleX(" + t.scaleX + ")"), i.length && (r.transform = i), void 0 !== t.opacity && (r.opacity = t.opacity), void 0 !== t.width && (r.width = t.width), void 0 !== t.height && (r.height = t.height), n.css(r) 6567 }, 6568 animate: function(n, t, r, u, f) { 6569 var s, e = this; 6570 i.isFunction(r) && (u = r, r = null); 6571 e.stop(n); 6572 s = e.getTranslate(n); 6573 n.on(o, function(o) { 6574 o && o.originalEvent && (!n.is(o.originalEvent.target) || "z-index" == o.originalEvent.propertyName) || (e.stop(n), i.isNumeric(r) && n.css("transition-duration", ""), i.isPlainObject(t) ? void 0 !== t.scaleX && void 0 !== t.scaleY && e.setTranslate(n, { 6575 top: t.top, 6576 left: t.left, 6577 width: s.width * t.scaleX, 6578 height: s.height * t.scaleY, 6579 scaleX: 1, 6580 scaleY: 1 6581 }) : !0 !== f && n.removeClass(t), i.isFunction(u) && u(o)) 6582 }); 6583 i.isNumeric(r) && n.css("transition-duration", r + "ms"); 6584 i.isPlainObject(t) ? (void 0 !== t.scaleX && void 0 !== t.scaleY && (delete t.width, delete t.height, n.parent().hasClass("fancybox-slide--image") && n.parent().addClass("fancybox-is-scaling")), i.fancybox.setTranslate(n, t)) : n.addClass(t); 6585 n.data("timer", setTimeout(function() { 6586 n.trigger(o) 6587 }, r + 33)) 6588 }, 6589 stop: function(n, t) { 6590 n && n.length && (clearTimeout(n.data("timer")), t && n.trigger(o), n.off(o).css("transition-duration", ""), n.parent().removeClass("fancybox-is-scaling")) 6591 } 6592 }; 6593 i.fn.fancybox = function(n) { 6594 var t; 6595 return n = n || {}
vendor: 24,918 bytes, lines 6595-7064
6595, t = n.selector || !1, t ? i("body").off("click.fb-start", t).on("click.fb-start", t, { 6596 options: n 6597 }, s) : this.off("click.fb-start").on("click.fb-start", { 6598 items: this, 6599 options: n 6600 }, s), this 6601 }; 6602 r.on("click.fb-start", "[data-fancybox]", s); 6603 r.on("click.fb-start", "[data-fancybox-trigger]", function() { 6604 i('[data-fancybox="' + i(this).attr("data-fancybox-trigger") + '"]').eq(i(this).attr("data-fancybox-index") || 0).trigger("click.fb-start", { 6605 $trigger: i(this) 6606 }) 6607 }), 6608 function() { 6609 var n = null; 6610 r.on("mousedown mouseup focus blur", ".fancybox-button", function(t) { 6611 switch (t.type) { 6612 case "mousedown": 6613 n = i(this); 6614 break; 6615 case "mouseup": 6616 n = null; 6617 break; 6618 case "focusin": 6619 i(".fancybox-button").removeClass("fancybox-focus"); 6620 i(this).is(n) || i(this).is("[disabled]") || i(this).addClass("fancybox-focus"); 6621 break; 6622 case "focusout": 6623 i(".fancybox-button").removeClass("fancybox-focus") 6624 } 6625 }) 6626 }() 6627 } 6628}(window, document, jQuery), 6629function(n) { 6630 "use strict"; 6631 var r = { 6632 youtube: { 6633 matcher: /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i, 6634 params: { 6635 autoplay: 1, 6636 autohide: 1, 6637 fs: 1, 6638 rel: 0, 6639 hd: 1, 6640 wmode: "transparent", 6641 enablejsapi: 1, 6642 html5: 1 6643 }, 6644 paramPlace: 8, 6645 type: "iframe", 6646 url: "https://www.youtube-nocookie.com/embed/$4", 6647 thumb: "https://img.youtube.com/vi/$4/hqdefault.jpg" 6648 }, 6649 vimeo: { 6650 matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/, 6651 params: { 6652 autoplay: 1, 6653 hd: 1, 6654 show_title: 1, 6655 show_byline: 1, 6656 show_portrait: 0, 6657 fullscreen: 1 6658 }, 6659 paramPlace: 3, 6660 type: "iframe", 6661 url: "//player.vimeo.com/video/$2" 6662 }, 6663 instagram: { 6664 matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i, 6665 type: "image", 6666 url: "//$1/p/$2/media/?size=l" 6667 }, 6668 gmap_place: { 6669 matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i, 6670 type: "iframe", 6671 url: function(n) { 6672 return "//maps.google." + n[2] + "/?ll=" + (n[9] ? n[9] + "&z=" + Math.floor(n[10]) + (n[12] ? n[12].replace(/^\//, "&") : "") : n[12] + "").replace(/\?/, "&") + "&output=" + (n[12] && n[12].indexOf("layer=c") > 0 ? "svembed" : "embed") 6673 } 6674 }, 6675 gmap_search: { 6676 matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i, 6677 type: "iframe", 6678 url: function(n) { 6679 return "//maps.google." + n[2] + "/maps?q=" + n[5].replace("query=", "q=").replace("api=1", "") + "&output=embed" 6680 } 6681 } 6682 }, 6683 t = function(t, i, r) { 6684 if (t) return r = r || "", "object" === n.type(r) && (r = n.param(r, !0)), n.each(i, function(n, i) { 6685 t = t.replace("$" + n, i || "") 6686 }), r.length && (t += (t.indexOf("?") > 0 ? "&" : "?") + r), t 6687 }, 6688 i; 6689 n(document).on("objectNeedsType.fb", function(i, u, f) { 6690 var v, y, s, c, e, a, l, o = f.src || "", 6691 h = !1; 6692 v = n.extend(!0, {}, r, f.opts.media); 6693 n.each(v, function(i, r) { 6694 var u, v; 6695 if (s = o.match(r.matcher)) { 6696 if (h = r.type, l = i, a = {}, r.paramPlace && s[r.paramPlace]) 6697 for (e = s[r.paramPlace], "?" == e[0] && (e = e.substring(1)), e = e.split("&"), u = 0; u < e.length; ++u) v = e[u].split("=", 2), 2 == v.length && (a[v[0]] = decodeURIComponent(v[1].replace(/\+/g, " "))); 6698 return c = n.extend(!0, {}, r.params, f.opts[i], a), o = "function" === n.type(r.url) ? r.url.call(this, s, c, f) : t(r.url, s, c), y = "function" === n.type(r.thumb) ? r.thumb.call(this, s, c, f) : t(r.thumb, s), "youtube" === i ? o = o.replace(/&t=((\d+)m)?(\d+)s/, function(n, t, i, r) { 6699 return "&start=" + ((i ? 60 * parseInt(i, 10) : 0) + parseInt(r, 10)) 6700 }) : "vimeo" === i && (o = o.replace("&%23", "#")), !1 6701 } 6702 }); 6703 h ? (f.opts.thumb || f.opts.$thumb && f.opts.$thumb.length || (f.opts.thumb = y), "iframe" === h && (f.opts = n.extend(!0, f.opts, { 6704 iframe: { 6705 preload: !1, 6706 attr: { 6707 scrolling: "no" 6708 } 6709 } 6710 })), n.extend(f, { 6711 type: h, 6712 src: o, 6713 origSrc: f.src, 6714 contentSource: l, 6715 contentType: "image" === h ? "image" : "gmap_place" == l || "gmap_search" == l ? "map" : "video" 6716 })) : o && (f.type = f.opts.defaultType) 6717 }); 6718 i = { 6719 youtube: { 6720 src: "https://www.youtube.com/iframe_api", 6721 "class": "YT", 6722 loading: !1, 6723 loaded: !1 6724 }, 6725 vimeo: { 6726 src: "https://player.vimeo.com/api/player.js", 6727 "class": "Vimeo", 6728 loading: !1, 6729 loaded: !1 6730 }, 6731 load: function(n) { 6732 var t, i = this; 6733 if (this[n].loaded) return void setTimeout(function() { 6734 i.done(n) 6735 }); 6736 this[n].loading || (this[n].loading = !0, t = document.createElement("script"), t.type = "text/javascript", t.src = this[n].src, "youtube" === n ? window.onYouTubeIframeAPIReady = function() { 6737 i[n].loaded = !0; 6738 i.done(n) 6739 } : t.onload = function() { 6740 i[n].loaded = !0; 6741 i.done(n) 6742 }, document.body.appendChild(t)) 6743 }, 6744 done: function(t) { 6745 var i, r, u; 6746 "youtube" === t && delete window.onYouTubeIframeAPIReady; 6747 (i = n.fancybox.getInstance()) && (r = i.current.$content.find("iframe"), "youtube" === t && void 0 !== YT && YT ? u = new YT.Player(r.attr("id"), { 6748 events: { 6749 onStateChange: function(n) { 6750 0 == n.data && i.next() 6751 } 6752 } 6753 }) : "vimeo" === t && void 0 !== Vimeo && Vimeo && (u = new Vimeo.Player(r), u.on("ended", function() { 6754 i.next() 6755 }))) 6756 } 6757 }; 6758 n(document).on({ 6759 "afterShow.fb": function(n, t, r) { 6760 t.group.length > 1 && ("youtube" === r.contentSource || "vimeo" === r.contentSource) && i.load(r.contentSource) 6761 } 6762 }) 6763}(jQuery), 6764function(n, t, i) { 6765 "use strict"; 6766 var o = function() { 6767 return n.requestAnimationFrame || n.webkitRequestAnimationFrame || n.mozRequestAnimationFrame || n.oRequestAnimationFrame || function(t) { 6768 return n.setTimeout(t, 1e3 / 60) 6769 } 6770 }(), 6771 f = function() { 6772 return n.cancelAnimationFrame || n.webkitCancelAnimationFrame || n.mozCancelAnimationFrame || n.oCancelAnimationFrame || function(t) { 6773 n.clearTimeout(t) 6774 } 6775 }(), 6776 e = function(t) { 6777 var r = [], 6778 i; 6779 t = t.originalEvent || t || n.e; 6780 t = t.touches && t.touches.length ? t.touches : t.changedTouches && t.changedTouches.length ? t.changedTouches : [t]; 6781 for (i in t) t[i].pageX ? r.push({ 6782 x: t[i].pageX, 6783 y: t[i].pageY 6784 }) : t[i].clientX && r.push({ 6785 x: t[i].clientX, 6786 y: t[i].clientY 6787 }); 6788 return r 6789 }, 6790 u = function(n, t, i) { 6791 return t && n ? "x" === i ? n.x - t.x : "y" === i ? n.y - t.y : Math.sqrt(Math.pow(n.x - t.x, 2) + Math.pow(n.y - t.y, 2)) : 0 6792 }, 6793 s = function(n) { 6794 if (n.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe') || i.isFunction(n.get(0).onclick) || n.data("selectable")) return !0; 6795 for (var t = 0, r = n[0].attributes, u = r.length; t < u; t++) 6796 if ("data-fancybox-" === r[t].nodeName.substr(0, 14)) return !0; 6797 return !1 6798 }, 6799 c = function(t) { 6800 var i = n.getComputedStyle(t)["overflow-y"], 6801 r = n.getComputedStyle(t)["overflow-x"], 6802 u = ("scroll" === i || "auto" === i) && t.scrollHeight > t.clientHeight, 6803 f = ("scroll" === r || "auto" === r) && t.scrollWidth > t.clientWidth; 6804 return u || f 6805 }, 6806 h = function(n) { 6807 for (var t = !1;;) { 6808 if (t = c(n.get(0))) break; 6809 if (n = n.parent(), !n.length || n.hasClass("fancybox-stage") || n.is("body")) break 6810 } 6811 return t 6812 }, 6813 r = function(n) { 6814 var t = this; 6815 t.instance = n; 6816 t.$bg = n.$refs.bg; 6817 t.$stage = n.$refs.stage; 6818 t.$container = n.$refs.container; 6819 t.destroy(); 6820 t.$container.on("touchstart.fb.touch mousedown.fb.touch", i.proxy(t, "ontouchstart")) 6821 }; 6822 r.prototype.destroy = function() { 6823 var n = this; 6824 n.$container.off(".fb.touch"); 6825 i(t).off(".fb.touch"); 6826 n.requestId && (f(n.requestId), n.requestId = null); 6827 n.tapped && (clearTimeout(n.tapped), n.tapped = null) 6828 }; 6829 r.prototype.ontouchstart = function(r) { 6830 var f = this, 6831 o = i(r.target), 6832 l = f.instance, 6833 c = l.current, 6834 a = c.$slide, 6835 y = c.$content, 6836 v = "touchstart" == r.type; 6837 if (v && f.$container.off("mousedown.fb.touch"), (!r.originalEvent || 2 != r.originalEvent.button) && a.length && o.length && !s(o) && !s(o.parent()) && (o.is("img") || !(r.originalEvent.clientX > o[0].clientWidth + o.offset().left))) { 6838 if (!c || l.isAnimating || c.$slide.hasClass("fancybox-animated")) return r.stopPropagation(), void r.preventDefault(); 6839 f.realPoints = f.startPoints = e(r); 6840 f.startPoints.length && (c.touch && r.stopPropagation(), f.startEvent = r, f.canTap = !0, f.$target = o, f.$content = y, f.opts = c.opts.touch, f.isPanning = !1, f.isSwiping = !1, f.isZooming = !1, f.isScrolling = !1, f.canPan = l.canPan(), f.startTime = (new Date).getTime(), f.distanceX = f.distanceY = f.distance = 0, f.canvasWidth = Math.round(a[0].clientWidth), f.canvasHeight = Math.round(a[0].clientHeight), f.contentLastPos = null, f.contentStartPos = i.fancybox.getTranslate(f.$content) || { 6841 top: 0, 6842 left: 0 6843 }, f.sliderStartPos = i.fancybox.getTranslate(a), f.stagePos = i.fancybox.getTranslate(l.$refs.stage), f.sliderStartPos.top -= f.stagePos.top, f.sliderStartPos.left -= f.stagePos.left, f.contentStartPos.top -= f.stagePos.top, f.contentStartPos.left -= f.stagePos.left, i(t).off(".fb.touch").on(v ? "touchend.fb.touch touchcancel.fb.touch" : "mouseup.fb.touch mouseleave.fb.touch", i.proxy(f, "ontouchend")).on(v ? "touchmove.fb.touch" : "mousemove.fb.touch", i.proxy(f, "ontouchmove")), i.fancybox.isMobile && t.addEventListener("scroll", f.onscroll, !0), ((f.opts || f.canPan) && (o.is(f.$stage) || f.$stage.find(o).length) || (o.is(".fancybox-image") && r.preventDefault(), i.fancybox.isMobile && o.parents(".fancybox-caption").length)) && (f.isScrollable = h(o) || h(o.parent()), i.fancybox.isMobile && f.isScrollable || r.preventDefault(), (1 === f.startPoints.length || c.hasError) && (f.canPan ? (i.fancybox.stop(f.$content), f.isPanning = !0) : f.isSwiping = !0, f.$container.addClass("fancybox-is-grabbing")), 2 === f.startPoints.length && "image" === c.type && (c.isLoaded || c.$ghost) && (f.canTap = !1, f.isSwiping = !1, f.isPanning = !1, f.isZooming = !0, i.fancybox.stop(f.$content), f.centerPointStartX = .5 * (f.startPoints[0].x + f.startPoints[1].x) - i(n).scrollLeft(), f.centerPointStartY = .5 * (f.startPoints[0].y + f.startPoints[1].y) - i(n).scrollTop(), f.percentageOfImageAtPinchPointX = (f.centerPointStartX - f.contentStartPos.left) / f.contentStartPos.width, f.percentageOfImageAtPinchPointY = (f.centerPointStartY - f.contentStartPos.top) / f.contentStartPos.height, f.startDistanceBetweenFingers = u(f.startPoints[0], f.startPoints[1])))) 6844 } 6845 }; 6846 r.prototype.onscroll = function() { 6847 var n = this; 6848 n.isScrolling = !0; 6849 t.removeEventListener("scroll", n.onscroll, !0) 6850 }; 6851 r.prototype.ontouchmove = function(n) { 6852 var t = this; 6853 return void 0 !== n.originalEvent.buttons && 0 === n.originalEvent.buttons ? void t.ontouchend(n) : t.isScrolling ? void(t.canTap = !1) : (t.newPoints = e(n), void((t.opts || t.canPan) && t.newPoints.length && t.newPoints.length && (t.isSwiping && !0 === t.isSwiping || n.preventDefault(), t.distanceX = u(t.newPoints[0], t.startPoints[0], "x"), t.distanceY = u(t.newPoints[0], t.startPoints[0], "y"), t.distance = u(t.newPoints[0], t.startPoints[0]), t.distance > 0 && (t.isSwiping ? t.onSwipe(n) : t.isPanning ? t.onPan() : t.isZooming && t.onZoom())))) 6854 }; 6855 r.prototype.onSwipe = function() { 6856 var e, t = this, 6857 r = t.instance, 6858 s = t.isSwiping, 6859 u = t.sliderStartPos.left || 0; 6860 if (!0 !== s) "x" == s && (t.distanceX > 0 && (t.instance.group.length < 2 || 0 === t.instance.current.index && !t.instance.current.opts.loop) ? u += Math.pow(t.distanceX, .8) : t.distanceX < 0 && (t.instance.group.length < 2 || t.instance.current.index === t.instance.group.length - 1 && !t.instance.current.opts.loop) ? u -= Math.pow(-t.distanceX, .8) : u += t.distanceX), t.sliderLastPos = { 6861 top: "x" == s ? 0 : t.sliderStartPos.top + t.distanceY, 6862 left: u 6863 }, t.requestId && (f(t.requestId), t.requestId = null), t.requestId = o(function() { 6864 t.sliderLastPos && (i.each(t.instance.slides, function(n, r) { 6865 var u = r.pos - t.instance.currPos; 6866 i.fancybox.setTranslate(r.$slide, { 6867 top: t.sliderLastPos.top, 6868 left: t.sliderLastPos.left + u * t.canvasWidth + u * r.opts.gutter 6869 }) 6870 }), t.$container.addClass("fancybox-is-sliding")) 6871 }); 6872 else if (Math.abs(t.distance) > 10) { 6873 if (t.canTap = !1, r.group.length < 2 && t.opts.vertical ? t.isSwiping = "y" : r.isDragging || !1 === t.opts.vertical || "auto" === t.opts.vertical && i(n).width() > 800 ? t.isSwiping = "x" : (e = Math.abs(180 * Math.atan2(t.distanceY, t.distanceX) / Math.PI), t.isSwiping = e > 45 && e < 135 ? "y" : "x"), "y" === t.isSwiping && i.fancybox.isMobile && t.isScrollable) return void(t.isScrolling = !0); 6874 r.isDragging = t.isSwiping; 6875 t.startPoints = t.newPoints; 6876 i.each(r.slides, function(n, u) { 6877 var f, e; 6878 i.fancybox.stop(u.$slide); 6879 f = i.fancybox.getTranslate(u.$slide); 6880 e = i.fancybox.getTranslate(r.$refs.stage); 6881 u.$slide.css({ 6882 transform: "", 6883 opacity: "", 6884 "transition-duration": "" 6885 }).removeClass("fancybox-animated").removeClass(function(n, t) { 6886 return (t.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" ") 6887 }); 6888 u.pos === r.current.pos && (t.sliderStartPos.top = f.top - e.top, t.sliderStartPos.left = f.left - e.left); 6889 i.fancybox.setTranslate(u.$slide, { 6890 top: f.top - e.top, 6891 left: f.left - e.left 6892 }) 6893 }); 6894 r.SlideShow && r.SlideShow.isActive && r.SlideShow.stop() 6895 } 6896 }; 6897 r.prototype.onPan = function() { 6898 var n = this; 6899 if (u(n.newPoints[0], n.realPoints[0]) < (i.fancybox.isMobile ? 10 : 5)) return void(n.startPoints = n.newPoints); 6900 n.canTap = !1; 6901 n.contentLastPos = n.limitMovement(); 6902 n.requestId && f(n.requestId); 6903 n.requestId = o(function() { 6904 i.fancybox.setTranslate(n.$content, n.contentLastPos) 6905 }) 6906 }; 6907 r.prototype.limitMovement = function() { 6908 var f, e, o, s, n, t, i = this, 6909 h = i.canvasWidth, 6910 v = i.canvasHeight, 6911 r = i.distanceX, 6912 u = i.distanceY, 6913 c = i.contentStartPos, 6914 l = c.left, 6915 y = c.top, 6916 a = c.width, 6917 p = c.height; 6918 return n = a > h ? l + r : l, t = y + u, f = Math.max(0, .5 * h - .5 * a), e = Math.max(0, .5 * v - .5 * p), o = Math.min(h - a, .5 * h - .5 * a), s = Math.min(v - p, .5 * v - .5 * p), r > 0 && n > f && (n = f - 1 + Math.pow(-f + l + r, .8) || 0), r < 0 && n < o && (n = o + 1 - Math.pow(o - l - r, .8) || 0), u > 0 && t > e && (t = e - 1 + Math.pow(-e + y + u, .8) || 0), u < 0 && t < s && (t = s + 1 - Math.pow(s - y - u, .8) || 0), { 6919 top: t, 6920 left: n 6921 } 6922 }; 6923 r.prototype.limitPosition = function(n, t, i, r) { 6924 var e = this, 6925 u = e.canvasWidth, 6926 f = e.canvasHeight; 6927 return i > u ? (n = n > 0 ? 0 : n, n = n < u - i ? u - i : n) : n = Math.max(0, u / 2 - i / 2), r > f ? (t = t > 0 ? 0 : t, t = t < f - r ? f - r : t) : t = Math.max(0, f / 2 - r / 2), { 6928 top: t, 6929 left: n 6930 } 6931 }; 6932 r.prototype.onZoom = function() { 6933 var t = this, 6934 r = t.contentStartPos, 6935 s = r.width, 6936 h = r.height, 6937 a = r.left, 6938 v = r.top, 6939 y = u(t.newPoints[0], t.newPoints[1]), 6940 e = y / t.startDistanceBetweenFingers, 6941 c = Math.floor(s * e), 6942 l = Math.floor(h * e), 6943 p = (s - c) * t.percentageOfImageAtPinchPointX, 6944 w = (h - l) * t.percentageOfImageAtPinchPointY, 6945 b = (t.newPoints[0].x + t.newPoints[1].x) / 2 - i(n).scrollLeft(), 6946 k = (t.newPoints[0].y + t.newPoints[1].y) / 2 - i(n).scrollTop(), 6947 d = b - t.centerPointStartX, 6948 g = k - t.centerPointStartY, 6949 nt = a + (p + d), 6950 tt = v + (w + g), 6951 it = { 6952 top: tt, 6953 left: nt, 6954 scaleX: e, 6955 scaleY: e 6956 }; 6957 t.canTap = !1; 6958 t.newWidth = c; 6959 t.newHeight = l; 6960 t.contentLastPos = it; 6961 t.requestId && f(t.requestId); 6962 t.requestId = o(function() { 6963 i.fancybox.setTranslate(t.$content, t.contentLastPos) 6964 }) 6965 }; 6966 r.prototype.ontouchend = function(n) { 6967 var r = this, 6968 u = r.isSwiping, 6969 o = r.isPanning, 6970 s = r.isZooming, 6971 h = r.isScrolling; 6972 if (r.endPoints = e(n), r.dMs = Math.max((new Date).getTime() - r.startTime, 1), r.$container.removeClass("fancybox-is-grabbing"), i(t).off(".fb.touch"), t.removeEventListener("scroll", r.onscroll, !0), r.requestId && (f(r.requestId), r.requestId = null), r.isSwiping = !1, r.isPanning = !1, r.isZooming = !1, r.isScrolling = !1, r.instance.isDragging = !1, r.canTap) return r.onTap(n); 6973 r.speed = 100; 6974 r.velocityX = r.distanceX / r.dMs * .5; 6975 r.velocityY = r.distanceY / r.dMs * .5; 6976 o ? r.endPanning() : s ? r.endZooming() : r.endSwiping(u, h) 6977 }; 6978 r.prototype.endSwiping = function(n, t) { 6979 var r = this, 6980 u = !1, 6981 o = r.instance.group.length, 6982 f = Math.abs(r.distanceX), 6983 e = "x" == n && o > 1 && (r.dMs > 130 && f > 10 || f > 50); 6984 r.sliderLastPos = null; 6985 "y" == n && !t && Math.abs(r.distanceY) > 50 ? (i.fancybox.animate(r.instance.current.$slide, { 6986 top: r.sliderStartPos.top + r.distanceY + 150 * r.velocityY, 6987 opacity: 0 6988 }, 200), u = r.instance.close(!0, 250)) : e && r.distanceX > 0 ? u = r.instance.previous(300) : e && r.distanceX < 0 && (u = r.instance.next(300)); 6989 !1 !== u || "x" != n && "y" != n || r.instance.centerSlide(200); 6990 r.$container.removeClass("fancybox-is-sliding") 6991 }; 6992 r.prototype.endPanning = function() { 6993 var r, u, t, n = this; 6994 n.contentLastPos && (!1 === n.opts.momentum || n.dMs > 350 ? (r = n.contentLastPos.left, u = n.contentLastPos.top) : (r = n.contentLastPos.left + 500 * n.velocityX, u = n.contentLastPos.top + 500 * n.velocityY), t = n.limitPosition(r, u, n.contentStartPos.width, n.contentStartPos.height), t.width = n.contentStartPos.width, t.height = n.contentStartPos.height, i.fancybox.animate(n.$content, t, 366)) 6995 }; 6996 r.prototype.endZooming = function() { 6997 var u, f, e, o, n = this, 6998 s = n.instance.current, 6999 t = n.newWidth, 7000 r = n.newHeight; 7001 n.contentLastPos && (u = n.contentLastPos.left, f = n.contentLastPos.top, o = { 7002 top: f, 7003 left: u, 7004 width: t, 7005 height: r, 7006 scaleX: 1, 7007 scaleY: 1 7008 }, i.fancybox.setTranslate(n.$content, o), t < n.canvasWidth && r < n.canvasHeight ? n.instance.scaleToFit(150) : t > s.width || r > s.height ? n.instance.scaleToActual(n.centerPointStartX, n.centerPointStartY, 150) : (e = n.limitPosition(u, f, t, r), i.fancybox.animate(n.$content, e, 150))) 7009 }; 7010 r.prototype.onTap = function(t) { 7011 var f, u = this, 7012 s = i(t.target), 7013 r = u.instance, 7014 o = r.current, 7015 h = t && e(t) || u.startPoints, 7016 c = h[0] ? h[0].x - i(n).scrollLeft() - u.stagePos.left : 0, 7017 l = h[0] ? h[0].y - i(n).scrollTop() - u.stagePos.top : 0, 7018 a = function(n) { 7019 var f = o.opts[n]; 7020 if (i.isFunction(f) && (f = f.apply(r, [o, t])), f) switch (f) { 7021 case "close": 7022 r.close(u.startEvent); 7023 break; 7024 case "toggleControls": 7025 r.toggleControls(); 7026 break; 7027 case "next": 7028 r.next(); 7029 break; 7030 case "nextOrClose": 7031 r.group.length > 1 ? r.next() : r.close(u.startEvent); 7032 break; 7033 case "zoom": 7034 "image" == o.type && (o.isLoaded || o.$ghost) && (r.canPan() ? r.scaleToFit() : r.isScaledDown() ? r.scaleToActual(c, l) : r.group.length < 2 && r.close(u.startEvent)) 7035 } 7036 }; 7037 if ((!t.originalEvent || 2 != t.originalEvent.button) && (s.is("img") || !(c > s[0].clientWidth + s.offset().left))) { 7038 if (s.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container")) f = "Outside"; 7039 else if (s.is(".fancybox-slide")) f = "Slide"; 7040 else { 7041 if (!r.current.$content || !r.current.$content.find(s).addBack().filter(s).length) return; 7042 f = "Content" 7043 } 7044 if (u.tapped) { 7045 if (clearTimeout(u.tapped), u.tapped = null, Math.abs(c - u.tapX) > 50 || Math.abs(l - u.tapY) > 50) return this; 7046 a("dblclick" + f) 7047 } else u.tapX = c, u.tapY = l, o.opts["dblclick" + f] && o.opts["dblclick" + f] !== o.opts["click" + f] ? u.tapped = setTimeout(function() { 7048 u.tapped = null; 7049 r.isAnimating || a("click" + f) 7050 }, 500) : a("click" + f); 7051 return this 7052 } 7053 }; 7054 i(t).on("onActivate.fb", function(n, t) { 7055 t && !t.Guestures && (t.Guestures = new r(t)) 7056 }).on("beforeClose.fb", function(n, t) { 7057 t && t.Guestures && t.Guestures.destroy() 7058 }) 7059}(window, document, jQuery), 7060function(n, t) { 7061 "use strict"; 7062 t.extend(!0, t.fancybox.defaults, { 7063 btnTpl: { 7064 slideShow: '<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
7064<path d="M6.5 5.4v13.2l11-6.6z"/><\/svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.33 5.75h2.2v12.5h-2.2V5.75zm5.15 0h2.2v12.5h-2.2V5.75z"/><\/svg><\/button>' 7065 }, 7066 slideShow: { 7067 autoStart: !1, 7068 speed: 3e3, 7069 progress: !0 7070 } 7071 }); 7072 var i = function(n) { 7073 this.instance = n; 7074 this.init() 7075 }; 7076 t.extend(i.prototype, { 7077 timer: null, 7078 isActive: !1, 7079 $button: null, 7080 init: function() { 7081 var n = this, 7082 i = n.instance, 7083 r = i.group[i.currIndex].opts.slideShow; 7084 n.$button = i.$refs.toolbar.find("[data-fancybox-play]").on("click", function() { 7085 n.toggle() 7086 }); 7087 i.group.length < 2 || !r ? n.$button.hide() : r.progress && (n.$progress = t('<div class="fancybox-progress"><\/div>').appendTo(i.$refs.inner)) 7088 }, 7089 set: function(n) { 7090 var r = this, 7091 i = r.instance, 7092 u = i.current; 7093 u && (!0 === n || u.opts.loop || i.currIndex < i.group.length - 1) ? r.isActive && "video" !== u.contentType && (r.$progress && t.fancybox.animate(r.$progress.show(), { 7094 scaleX: 1 7095 }, u.opts.slideShow.speed), r.timer = setTimeout(function() { 7096 i.current.opts.loop || i.current.index != i.group.length - 1 ? i.next() : i.jumpTo(0) 7097 }, u.opts.slideShow.speed)) : (r.stop(), i.idleSecondsCounter = 0, i.showControls()) 7098 }, 7099 clear: function() { 7100 var n = this; 7101 clearTimeout(n.timer); 7102 n.timer = null; 7103 n.$progress && n.$progress.removeAttr("style").hide() 7104 }, 7105 start: function() { 7106 var n = this, 7107 t = n.instance.current; 7108 t && (n.$button.attr("title", (t.opts.i18n[t.opts.lang] || t.opts.i18n.en).PLAY_STOP).removeClass("fancybox-button--play").addClass("fancybox-button--pause"), n.isActive = !0, t.isComplete && n.set(!0), n.instance.trigger("onSlideShowChange", !0)) 7109 }, 7110 stop: function() { 7111 var n = this, 7112 t = n.instance.current; 7113 n.clear(); 7114 n.$button.attr("title", (t.opts.i18n[t.opts.lang] || t.opts.i18n.en).PLAY_START).removeClass("fancybox-button--pause").addClass("fancybox-button--play"); 7115 n.isActive = !1; 7116 n.instance.trigger("onSlideShowChange", !1); 7117 n.$progress && n.$progress.removeAttr("style").hide() 7118 }, 7119 toggle: function() { 7120 var n = this; 7121 n.isActive ? n.stop() : n.start() 7122 } 7123 }); 7124 t(n).on({ 7125 "onInit.fb": function(n, t) { 7126 t && !t.SlideShow && (t.SlideShow = new i(t)) 7127 }, 7128 "beforeShow.fb": function(n, t, i, r) { 7129 var u = t && t.SlideShow; 7130 r ? u && i.opts.slideShow.autoStart && u.start() : u && u.isActive && u.clear() 7131 }, 7132 "afterShow.fb": function(n, t) { 7133 var i = t && t.SlideShow; 7134 i && i.isActive && i.set() 7135 }, 7136 "afterKeydown.fb": function(i, r, u, f, e) { 7137 var o = r && r.SlideShow; 7138 o && u.opts.slideShow && (80 === e || 32 === e) && !t(n.activeElement).is("button,a,input") && (f.preventDefault(), o.toggle()) 7139 }, 7140 "beforeClose.fb onDeactivate.fb": function(n, t) { 7141 var i = t && t.SlideShow; 7142 i && i.stop() 7143 } 7144 }); 7145 t(n).on("visibilitychange", function() { 7146 var r = t.fancybox.getInstance(), 7147 i = r && r.SlideShow; 7148 i && i.isActive && (n.hidden ? i.clear() : i.set()) 7149 }) 7150}(document, jQuery), 7151function(n, t) { 7152 "use strict"; 7153 var i = function() { 7154 for (var t, i, r = [ 7155 ["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"], 7156 ["webkitRequestFullscreen", "webkitExitFullscreen", "webkitFullscreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror"], 7157 ["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitCurrentFullScreenElement", "webkitCancelFullScreen", "webkitfullscreenchange", "webkitfullscreenerror"], 7158 ["mozRequestFullScreen", "mozCancelFullScreen", "mozFullScreenElement", "mozFullScreenEnabled", "mozfullscreenchange", "mozfullscreenerror"], 7159 ["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"] 7160 ], f = {}, u = 0; u < r.length; u++) 7161 if (t = r[u], t && t[1] in n) { 7162 for (i = 0; i < t.length; i++) f[r[0][i]] = t[i]; 7163 return f 7164 } 7165 return !1 7166 }(), 7167 r; 7168 i && (r = { 7169 request: function(t) { 7170 t = t || n.documentElement; 7171 t[i.requestFullscreen](t.ALLOW_KEYBOARD_INPUT) 7172 }, 7173 exit: function() { 7174 n[i.exitFullscreen]() 7175 }, 7176 toggle: function(t) { 7177 t = t || n.documentElement; 7178 this.isFullscreen() ? this.exit() : this.request(t) 7179 }, 7180 isFullscreen: function() { 7181 return Boolean(n[i.fullscreenElement]) 7182 }, 7183 enabled: function() { 7184 return Boolean(n[i.fullscreenEnabled]) 7185 } 7186 }, t.extend(!0, t.fancybox.defaults, { 7187 btnTpl: { 7188 fullScreen: '<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fsenter" title="{{FULL_SCREEN}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
vendor: 11,131 bytes, lines 7188-7393
7188<path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/><\/svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 16h3v3h2v-5H5zm3-8H5v2h5V5H8zm6 11h2v-3h3v-2h-5zm2-11V5h-2v5h5V8z"/><\/svg><\/button>' 7189 }, 7190 fullScreen: { 7191 autoStart: !1 7192 } 7193 }), t(n).on(i.fullscreenchange, function() { 7194 var i = r.isFullscreen(), 7195 n = t.fancybox.getInstance(); 7196 n && (n.current && "image" === n.current.type && n.isAnimating && (n.isAnimating = !1, n.update(!0, !0, 0), n.isComplete || n.complete()), n.trigger("onFullscreenChange", i), n.$refs.container.toggleClass("fancybox-is-fullscreen", i), n.$refs.toolbar.find("[data-fancybox-fullscreen]").toggleClass("fancybox-button--fsenter", !i).toggleClass("fancybox-button--fsexit", i)) 7197 })); 7198 t(n).on({ 7199 "onInit.fb": function(n, t) { 7200 var u; 7201 if (!i) return void t.$refs.toolbar.find("[data-fancybox-fullscreen]").remove(); 7202 t && t.group[t.currIndex].opts.fullScreen ? (u = t.$refs.container, u.on("click.fb-fullscreen", "[data-fancybox-fullscreen]", function(n) { 7203 n.stopPropagation(); 7204 n.preventDefault(); 7205 r.toggle() 7206 }), t.opts.fullScreen && !0 === t.opts.fullScreen.autoStart && r.request(), t.FullScreen = r) : t && t.$refs.toolbar.find("[data-fancybox-fullscreen]").hide() 7207 }, 7208 "afterKeydown.fb": function(n, t, i, r, u) { 7209 t && t.FullScreen && 70 === u && (r.preventDefault(), t.FullScreen.toggle()) 7210 }, 7211 "beforeClose.fb": function(n, t) { 7212 t && t.FullScreen && t.$refs.container.hasClass("fancybox-is-fullscreen") && r.exit() 7213 } 7214 }) 7215}(document, jQuery), 7216function(n, t) { 7217 "use strict"; 7218 var i = "fancybox-thumbs", 7219 r; 7220 t.fancybox.defaults = t.extend(!0, { 7221 btnTpl: { 7222 thumbs: '<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.59 14.59h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76H5.65V5.65z"/><\/svg><\/button>' 7223 }, 7224 thumbs: { 7225 autoStart: !1, 7226 hideOnClose: !0, 7227 parentEl: ".fancybox-container", 7228 axis: "y" 7229 } 7230 }, t.fancybox.defaults); 7231 r = function(n) { 7232 this.init(n) 7233 }; 7234 t.extend(r.prototype, { 7235 $button: null, 7236 $grid: null, 7237 $list: null, 7238 isVisible: !1, 7239 isActive: !1, 7240 init: function(n) { 7241 var t = this, 7242 r = n.group, 7243 u = 0, 7244 i, f; 7245 for (t.instance = n, t.opts = r[n.currIndex].opts.thumbs, n.Thumbs = t, t.$button = n.$refs.toolbar.find("[data-fancybox-thumbs]"), i = 0, f = r.length; i < f && (r[i].thumb && u++, !(u > 1)); i++); 7246 u > 1 && t.opts ? (t.$button.removeAttr("style").on("click", function() { 7247 t.toggle() 7248 }), t.isActive = !0) : t.$button.hide() 7249 }, 7250 create: function() { 7251 var r, n = this, 7252 u = n.instance, 7253 f = n.opts.parentEl, 7254 e = []; 7255 n.$grid || (n.$grid = t('<div class="' + i + " " + i + "-" + n.opts.axis + '"><\/div>').appendTo(u.$refs.container.find(f).addBack().filter(f)), n.$grid.on("click", "a", function() { 7256 u.jumpTo(t(this).attr("data-index")) 7257 })); 7258 n.$list || (n.$list = t('<div class="' + i + '__list">').appendTo(n.$grid)); 7259 t.each(u.group, function(n, t) { 7260 r = t.thumb; 7261 r || "image" !== t.type || (r = t.src); 7262 e.push('<a href="javascript:;" tabindex="0" data-index="' + n + '"' + (r && r.length ? ' style="background-image:url(' + r + ')"' : 'class="fancybox-thumbs-missing"') + "><\/a>") 7263 }); 7264 n.$list[0].innerHTML = e.join(""); 7265 "x" === n.opts.axis && n.$list.width(parseInt(n.$grid.css("padding-right"), 10) + u.group.length * n.$list.children().eq(0).outerWidth(!0)) 7266 }, 7267 focus: function(n) { 7268 var u, t, i = this, 7269 r = i.$list, 7270 f = i.$grid; 7271 i.instance.current && (u = r.children().removeClass("fancybox-thumbs-active").filter('[data-index="' + i.instance.current.index + '"]').addClass("fancybox-thumbs-active"), t = u.position(), "y" === i.opts.axis && (t.top < 0 || t.top > r.height() - u.outerHeight()) ? r.stop().animate({ 7272 scrollTop: r.scrollTop() + t.top 7273 }, n) : "x" === i.opts.axis && (t.left < f.scrollLeft() || t.left > f.scrollLeft() + (f.width() - u.outerWidth())) && r.parent().stop().animate({ 7274 scrollLeft: t.left 7275 }, n)) 7276 }, 7277 update: function() { 7278 var n = this; 7279 n.instance.$refs.container.toggleClass("fancybox-show-thumbs", this.isVisible); 7280 n.isVisible ? (n.$grid || n.create(), n.instance.trigger("onThumbsShow"), n.focus(0)) : n.$grid && n.instance.trigger("onThumbsHide"); 7281 n.instance.update() 7282 }, 7283 hide: function() { 7284 this.isVisible = !1; 7285 this.update() 7286 }, 7287 show: function() { 7288 this.isVisible = !0; 7289 this.update() 7290 }, 7291 toggle: function() { 7292 this.isVisible = !this.isVisible; 7293 this.update() 7294 } 7295 }); 7296 t(n).on({ 7297 "onInit.fb": function(n, t) { 7298 var i; 7299 t && !t.Thumbs && (i = new r(t), i.isActive && !0 === i.opts.autoStart && i.show()) 7300 }, 7301 "beforeShow.fb": function(n, t, i, r) { 7302 var u = t && t.Thumbs; 7303 u && u.isVisible && u.focus(r ? 0 : 250) 7304 }, 7305 "afterKeydown.fb": function(n, t, i, r, u) { 7306 var f = t && t.Thumbs; 7307 f && f.isActive && 71 === u && (r.preventDefault(), f.toggle()) 7308 }, 7309 "beforeClose.fb": function(n, t) { 7310 var i = t && t.Thumbs; 7311 i && i.isVisible && !1 !== i.opts.hideOnClose && i.$grid.hide() 7312 } 7313 }) 7314}(document, jQuery), 7315function(n, t) { 7316 "use strict"; 7317 7318 function i(n) { 7319 var t = { 7320 "&": "&", 7321 "<": "<", 7322 ">": ">", 7323 '"': """, 7324 "'": "'", 7325 "/": "/", 7326 "`": "`", 7327 "=": "=" 7328 }; 7329 return String(n).replace(/[&<>"'`=\/]/g, function(n) { 7330 return t[n] 7331 }) 7332 } 7333 t.extend(!0, t.fancybox.defaults, { 7334 btnTpl: { 7335 share: '<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.55 19c1.4-8.4 9.1-9.8 11.9-9.8V5l7 7-7 6.3v-3.5c-2.8 0-10.5 2.1-11.9 4.2z"/><\/svg><\/button>' 7336 }, 7337 share: { 7338 url: function(n, t) { 7339 return !n.currentHash && "inline" !== t.type && "html" !== t.type && (t.origSrc || t.src) || window.location 7340 }, 7341 tpl: '<div class="fancybox-share"><h1>{{SHARE}}<\/h1><p><a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /><\/svg><span>Facebook<\/span><\/a><a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /><\/svg><span>Twitter<\/span><\/a><a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/><\/svg><span>Pinterest<\/span><\/a><\/p><p><input class="fancybox-share__input" type="text" value="{{url_raw}}" onclick="select()" /><\/p><\/div>' 7342 } 7343 }); 7344 t(n).on("click", "[data-fancybox-share]", function() { 7345 var u, f, r = t.fancybox.getInstance(), 7346 n = r.current || null; 7347 n && ("function" === t.type(n.opts.share.url) && (u = n.opts.share.url.apply(n, [r, n])), f = n.opts.share.tpl.replace(/\{\{media\}\}/g, "image" === n.type ? encodeURIComponent(n.src) : "").replace(/\{\{url\}\}/g, encodeURIComponent(u)).replace(/\{\{url_raw\}\}/g, i(u)).replace(/\{\{descr\}\}/g, r.$caption ? encodeURIComponent(r.$caption.text()) : ""), t.fancybox.open({ 7348 src: r.translate(r, f), 7349 type: "html", 7350 opts: { 7351 touch: !1, 7352 animationEffect: !1, 7353 afterLoad: function(n, t) { 7354 r.$refs.container.one("beforeClose.fb", function() { 7355 n.close(null, 0) 7356 }); 7357 t.$content.find(".fancybox-share__button").click(function() { 7358 return window.open(this.href, "Share", "width=550, height=450"), !1 7359 }) 7360 }, 7361 mobile: { 7362 autoFocus: !1 7363 } 7364 } 7365 })) 7366 }) 7367}(document, jQuery), 7368function(n, t, i) { 7369 "use strict"; 7370 7371 function r() { 7372 var i = n.location.hash.substr(1), 7373 t = i.split("-"), 7374 r = t.length > 1 && /^\+?\d+$/.test(t[t.length - 1]) ? parseInt(t.pop(-1), 10) || 1 : 1, 7375 u = t.join("-"); 7376 return { 7377 hash: i, 7378 index: r < 1 ? 1 : r, 7379 gallery: u 7380 } 7381 } 7382 7383 function u(n) { 7384 "" !== n.gallery && i("[data-fancybox='" + i.escapeSelector(n.gallery) + "']").eq(n.index - 1).focus().trigger("click.fb-start") 7385 } 7386 7387 function f(n) { 7388 var t, i; 7389 return !!n && (t = n.current ? n.current.opts : n.opts, "" !== (i = t.hash || (t.$orig ? t.$orig.data("fancybox") || t.$orig.data("fancybox-trigger") : "")) && i) 7390 } 7391 i.escapeSelector || (i.escapeSelector = function(n) { 7392 return (n + "").replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, function(n, t) { 7393 return t ? "\0" === n ? "�" : n.slice(0, -1) + "\\" + n.charCo
7393deAt(n.length - 1).toString(16) + " " : "\\" + n 7394 }) 7395 }); 7396 i(function() { 7397 !1 !== i.fancybox.defaults.hash && (i(t).on({ 7398 "onInit.fb": function(n, t) { 7399 var i, u; 7400 !1 !== t.group[t.currIndex].opts.hash && (i = r(), (u = f(t)) && i.gallery && u == i.gallery && (t.currIndex = i.index - 1)) 7401 }, 7402 "beforeShow.fb": function(i, r, u, e) { 7403 var o; 7404 u && !1 !== u.opts.hash && (o = f(r)) && (r.currentHash = o + (r.group.length > 1 ? "-" + (u.index + 1) : ""), n.location.hash !== "#" + r.currentHash && (e && !r.origHash && (r.origHash = n.location.hash), r.hashTimer && clearTimeout(r.hashTimer), r.hashTimer = setTimeout(function() { 7405 "replaceState" in n.history ? (n.history[e ? "pushState" : "replaceState"]({}, t.title, n.location.pathname + n.location.search + "#" + r.currentHash), e && (r.hasCreatedHistory = !0)) : n.location.hash = r.currentHash; 7406 r.hashTimer = null 7407 }, 300))) 7408 }, 7409 "beforeClose.fb": function(i, r, u) { 7410 u && !1 !== u.opts.hash && (clearTimeout(r.hashTimer), r.currentHash && r.hasCreatedHistory ? n.history.back() : r.currentHash && ("replaceState" in n.history ? n.history.replaceState({}, t.title, n.location.pathname + n.location.search + (r.origHash || "")) : n.location.hash = r.origHash), r.currentHash = null) 7411 } 7412 }), i(n).on("hashchange.fb", function() { 7413 var n = r(), 7414 t = null; 7415 i.each(i(".fancybox-container").get().reverse(), function(n, r) { 7416 var u = i(r).data("FancyBox"); 7417 if (u && u.currentHash) return t = u, !1 7418 }); 7419 t ? t.currentHash === n.gallery + "-" + n.index || 1 === n.index && t.currentHash == n.gallery || (t.currentHash = null, t.close()) : "" !== n.gallery && u(n) 7420 }), setTimeout(function() { 7421 i.fancybox.getInstance() || u(r()) 7422 }, 50)) 7423 }) 7424}(window, document, jQuery), 7425function(n, t) { 7426 "use strict"; 7427 var i = (new Date).getTime(); 7428 t(n).on({ 7429 "onInit.fb": function(n, t) { 7430 t.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll", function(n) { 7431 var r = t.current, 7432 u = (new Date).getTime(); 7433 t.group.length < 2 || !1 === r.opts.wheel || "auto" === r.opts.wheel && "image" !== r.type || (n.preventDefault(), n.stopPropagation(), r.$slide.hasClass("fancybox-animated") || (n = n.originalEvent || n, u - i < 250 || (i = u, t[(-n.deltaY || -n.deltaX || n.wheelDelta || -n.detail) < 0 ? "next" : "previous"]()))) 7434 }) 7435 } 7436 }) 7437}(document, jQuery), 7438function(n, t) { 7439 typeof define == "function" && define.amd ? define("sifter", t) : typeof exports == "object" ? module.exports = t() : n.Sifter = t() 7440}(this, function() { 7441 var n = function(n, t) { 7442 this.items = n; 7443 this.settings = t || { 7444 diacritics: !0 7445 } 7446 }; 7447 n.prototype.tokenize = function(n) { 7448 if (n = o(String(n || "").toLowerCase()), n = n.replace("â", "a").replace("Ä", "a").replace("ê", "e").replace("ô", "o").replace("Æ¡", "o").replace("ư", "u").replace("Ã", "A").replace("Ä", "A").replace("Ã", "E").replace("Ã", "O").replace("Æ ", "O").replace("Ư", "U"), !n || !n.length) return []; 7449 for (var r, u, h = [], f = n.split(/ +/), i = 0, e = f.length; i < e; i++) { 7450 if (r = s(f[i]), this.settings.diacritics) 7451 for (u in t) t.hasOwnProperty(u) && (r = r.replace(new RegExp(u, "g"), t[u])); 7452 h.push({ 7453 string: f[i], 7454 regex: new RegExp(r, "i") 7455 }) 7456 } 7457 return h 7458 }; 7459 n.prototype.iterator = function(n, t) { 7460 var r; 7461 r = i(n) ? Array.prototype.forEach || function(n) { 7462 for (var t = 0, i = this.length; t < i; t++) n(this[t], t, this) 7463 } : function(n) { 7464 for (var t in this) this.hasOwnProperty(t) && n(this[t], t, this) 7465 }; 7466 r.apply(n, [t]) 7467 }; 7468 n.prototype.getScoreFunction = function(n, t) { 7469 var h, f, u, i, o, s, e; 7470 return (h = this, n = h.prepareSearch(n, t), u = n.tokens, f = n.options.fields, i = u.length, o = n.options.nesting, s = function(n, t) { 7471 var i, r; 7472 return n ? (n = String(n || ""), r = n.search(t.regex), r === -1) ? 0 : (i = t.string.length / n.length, r === 0 && (i += .5), i) : 0 7473 }, e = function() { 7474 var n = f.length; 7475 return n ? n === 1 ? function(n, t) { 7476 return s(r(t, f[0], o), n) 7477 } : function(t, i) { 7478 for (var u = 0, e = 0; u < n; u++) e += s(r(i, f[u], o), t); 7479 return e / n 7480 } : function() { 7481 return 0 7482 } 7483 }(), !i) ? function() { 7484 return 0 7485 } : i === 1 ? function(n) { 7486 return e(u[0], n) 7487 } : n.options.conjunction === "and" ? function(n) { 7488 for (var t, r = 0, f = 0; r < i; r++) { 7489 if (t = e(u[r], n), t <= 0) return 0; 7490 f += t 7491 } 7492 return f / i 7493 } : function(n) { 7494 for (var t = 0, r = 0; t < i; t++) r += e(u[t], n); 7495 return r / i 7496 } 7497 }; 7498 n.prototype.getSortFunction = function(n, t) { 7499 var i, e, l, a, f, h, y, c, o, v, s; 7500 if (l = this, n = l.prepareSearch(n, t), s = !n.query && t.sort_empty || t.sort, o = function(n, i) { 7501 return n === "$score" ? i.score : r(l.items[i.id], n, t.nesting) 7502 }, f = [], s) 7503 for (i = 0, e = s.length; i < e; i++)(n.query || s[i].field !== "$score") && f.push(s[i]); 7504 if (n.query) { 7505 for (v = !0, i = 0, e = f.length; i < e; i++) 7506 if (f[i].field === "$score") { 7507 v = !1; 7508 break 7509 } 7510 v 7511 } else 7512 for (i = 0, e = f.length; i < e; i++) 7513 if (f[i].field === "$score") { 7514 f.splice(i, 1); 7515 break 7516 } for (c = [], i = 0, e = f.length; i < e; i++) c.push(f[i].direction === "desc" ? -1 : 1); 7517 return h = f.length, h ? h === 1 ? (a = f[0].field, y = c[0], function(n, t) { 7518 return y * u(o(a, n), o(a, t)) 7519 }) : function(n, t) { 7520 for (var r, e, i = 0; i < h; i++) 7521 if (e = f[i].field, r = c[i] * u(o(e, n), o(e, t)), r) return r; 7522 return 0 7523 } : null 7524 }; 7525 n.prototype.prepareSearch = function(n, t) { 7526 if (typeof n == "object") return n; 7527 t = e({}, t); 7528 var r = t.fields, 7529 u = t.sort, 7530 f = t.sort_empty; 7531 return r && !i(r) && (t.fields = [r]), u && !i(u) && (t.sort = [u]), f && !i(f) && (t.sort_empty = [f]), { 7532 options: t, 7533 query: String(n || "").toLowerCase(), 7534 tokens: this.tokenize(n), 7535 total: 0, 7536 items: [] 7537 } 7538 }; 7539 n.prototype.search = function(n, t) { 7540 var r = this, 7541 u, i, f, e; 7542 return i = this.prepareSearch(n, t), t = i.options, n = i.query, e = t.score || r.getScoreFunction(i), n.length ? r.iterator(r.items, function(n, r) { 7543 u = e(n); 7544 (t.filter === !1 || u > 0) && i.items.push({ 7545 score: u, 7546 id: r 7547 }) 7548 }) : r.iterator(r.items, function(n, t) { 7549 i.items.push({ 7550 score: 1, 7551 id: t 7552 }) 7553 }), f = r.getSortFunction(i, t), f && i.items.sort(f), i.total = i.items.length, typeof t.limit == "number" && (i.items = i.items.slice(0, t.limit)), i 7554 }; 7555 var u = function(n, t) { 7556 return typeof n == "number" && typeof t == "number" ? n > t ? 1 : n < t ? -1 : 0 : (n = f(String(n || "")), t = f(String(t || "")), n > t) ? 1 : t > n ? -1 : 0 7557 }, 7558 e = function(n) { 7559 for (var r, t, i = 1, u = arguments.length; i < u; i++) 7560 if (t = arguments[i], t) 7561 for (r in t) t.hasOwnProperty(r) && (n[r] = t[r]); 7562 return n 7563 }, 7564 r = function(n, t, i) { 7565 if (n && t) { 7566 if (!i) return n[t]; 7567 for (var r = t.split("."); r.length && (n = n[r.shift()]);); 7568 return n 7569 } 7570 }, 7571 o = function(n) { 7572 return (n + "").replace(/^\s+|\s+$|/g, "") 7573 }, 7574 s = function(n) { 7575 return (n + "").replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1") 7576 }, 7577 i = Array.isArray || typeof $ != "undefined" && $.isArray || function(n) { 7578 return Object.prototype.toString.call(n) === "[object Array]" 7579 }, 7580 t = {
7581 A: "[Aâ¶ï¼¡ÃÃÃẦẤẪẨÃÄÄáº°áº®áº´áº²È¦Ç ÃÇẢà ǺÇÈÈẠẬẶá¸ÄȺⱯ]", 7582 AA: "[ê²]", 7583 AE: "[ÃǼǢ]", 7584 AO: "[ê´]", 7585 AU: "[ê¶]", 7586 AV: "[ê¸êº]", 7587 AY: "[ê¼]", 7588 B: "[Bâ·ï¼¢á¸á¸á¸ÉÆÆ]", 7589 C: "[Câ¸ï¼£ÄÄÄÄÃá¸ÆÈ»ê¾]", 7590 D: "[Dâ¹ï¼¤á¸Äá¸á¸á¸á¸ÄÆÆÆê¹]", 7591 DZ: "[DZÇ]", 7592 Dz: "[Ç²Ç ]", 7593 E: "[Eâºï¼¥ÃÃÃá»áº¾á»á»áº¼Äá¸á¸ÄÄÃẺÄÈÈẸá»È¨á¸Äá¸á¸ÆÆ]", 7594 F: "[Fâ»ï¼¦á¸Æê»]", 7595 G: "[Gâ¼ï¼§Ç´ÄḠÄÄ Ç¦Ä¢Ç¤Æê ê½ê¾]", 7596 H: "[Hâ½ï¼¨Ä¤á¸¢á¸¦ÈḤḨḪĦⱧⱵê]", 7597 I: "[Iâ¾ï¼©ÃÃÃĨĪĬİÃḮá»ÇÈÈá»Ä®á¸¬Æ]", 7598 J: "[Jâ¿ï¼ªÄ´É]", 7599 K: "[KâKḰǨḲĶḴÆâ±©êêêê¢]", 7600 L: "[LâLĿĹĽḶḸĻḼḺÅȽⱢⱠêêê]", 7601 LJ: "[Ç]", 7602 Lj: "[Ç]", 7603 M: "[Mâï¼á¸¾á¹á¹â±®Æ]", 7604 N: "[NâNǸÅÃá¹Åá¹Å á¹á¹È Æêê¤]", 7605 NJ: "[Ç]", 7606 Nj: "[Ç]", 7607 O: "[OâOÃÃÃá»á»á»á»Ãá¹È¬á¹Åá¹á¹ÅȮȰÃȪá»ÅÇÈÈÆ á»á»á» á»á»¢á»á»ÇªÇ¬ÃÇ¾ÆÆêê]", 7608 OI: "[Æ¢]", 7609 OO: "[ê]", 7610 OU: "[È¢]", 7611 P: "[Pâ ï¼°á¹á¹Æ¤â±£êêê]", 7612 Q: "[Qâï¼±êêÉ]", 7613 R: "[Râï¼²Åá¹ÅÈÈá¹á¹Åá¹ÉⱤêê¦ê]", 7614 S: "[Sâï¼³áºÅṤÅṠŠṦṢṨÈÅâ±¾ê¨ê]", 7615 T: "[TâTṪŤṬÈŢṰṮŦƬƮȾê]", 7616 TZ: "[ê¨]", 7617 U: "[Uâï¼µÃÃÃŨṸŪṺŬÃÇÇÇÇỦŮŰÇÈÈÆ¯á»ªá»¨á»®á»¬á»°á»¤á¹²Å²á¹¶á¹´É]", 7618 V: "[VâVṼṾƲêÉ ]", 7619 VY: "[ê ]", 7620 W: "[Wâï¼·áºáºÅ´áºáºáºâ±²]", 7621 X: "[XâXáºáº]", 7622 Y: "[YâYỲÃŶỸȲáºÅ¸á»¶á»´Æ³ÉỾ]", 7623 Z: "[ZâZŹáºÅ»Å½áºáºÆµÈ¤â±¿â±«ê¢]", 7624 a: "[aâï½áºÃ áâầấẫẩãÄÄằắẵẳȧǡäÇảåǻÇÈÈạáºáº·á¸Ä â±¥É]", 7625 aa: "[ê³]", 7626 ae: "[æǽǣ]", 7627 ao: "[êµ]", 7628 au: "[ê·]", 7629 av: "[ê¹ê»]", 7630 ay: "[ê½]", 7631 b: "[bâï½á¸á¸ á¸ÆÆÉ]", 7632 c: "[câï½ÄÄÄÄÃ§á¸ÆÈ¼ê¿â]", 7633 d: "[dâï½á¸Äá¸á¸á¸á¸ÄÆÉÉêº]", 7634 dz: "[dzÇ]", 7635 e: "[eâï½ Ã¨Ã©Ãªá»áº¿á» á»áº½Äá¸á¸ÄÄëẻÄÈ Èẹá»È©á¸Äá¸á¸ÉÉÇ]", 7636 f: "[fâï½á¸Æê¼]", 7637 g: "[gâï½ÇµÄḡÄÄ¡Ç§Ä£Ç¥É ê¡áµ¹ê¿]", 7638 h: "[hâï½Ä¥á¸£á¸§ÈḥḩḫáºÄ§â±¨â±¶É¥]", 7639 hv: "[Æ]", 7640 i: "[iâï½Ã¬ÃîĩīÄïḯá»ÇÈÈá»Ä¯á¸É¨Ä±]", 7641 j: "[jâï½ÄµÇ°É]", 7642 k: "[kâï½á¸±Ç©á¸³Ä·á¸µÆâ±ªêêê ê£]", 7643 l: "[lâï½ÅÄºÄ¾á¸·á¸¹Ä¼á¸½á¸»Å¿ÅÆÉ«â±¡êêê]", 7644 lj: "[Ç]", 7645 m: "[mâï½á¸¿á¹á¹É±É¯]", 7646 n: "[nâï½Ç¹ÅñṠÅá¹Åá¹á¹ÆÉ²Åêê¥]", 7647 nj: "[Ç]", 7648 o: "[oâï½Ã²Ã³Ã´á»á»á»á»Ãµá¹Èá¹Åá¹á¹Åȯȱöȫá»ÅÇÈÈÆ¡á»á»á»¡á»á»£á»á»Ç«ÇøǿÉêêɵ]", 7649 oi: "[Æ£]", 7650 ou: "[È£]", 7651 oo: "[ê]", 7652 p: "[pâï½á¹á¹Æ¥áµ½êêê]", 7653 q: "[qâ ï½Éêê]", 7654 r: "[râ¡ï½Åá¹ÅÈÈá¹á¹Åá¹Éɽêê§ê]", 7655 s: "[sâ¢ï½ÃÅá¹¥ÅṡšṧṣṩÈÅÈ¿ê©ê áº]", 7656 t: "[tâ£ï½á¹«áºÅ¥á¹ÈţṱṯŧÆÊⱦê]", 7657 tz: "[ê©]", 7658 u: "[uâ¤ï½Ã¹ÃºÃ»Å©á¹¹Å«á¹»ÅüÇÇÇÇủůűÇÈÈÆ°á»«á»©á»¯á»á»±á»¥á¹³Å³á¹·á¹µÊ]", 7659 v: "[vâ¥ï½á¹½á¹¿ÊêÊ]", 7660 vy: "[ê¡]", 7661 w: "[wâ¦ï½áºáºÅµáºáº áºáºâ±³]", 7662 x: "[xâ§ï½áºáº]", 7663 y: "[yâ¨ï½á»³Ã½Å·á»¹È³áºÃ¿á»·áºá»µÆ´Éỿ]", 7664 z: "[zâ©ï½ÅºáºÅ¼Å¾áºáºÆ¶È¥Éⱬê£]" 7665 }, 7666 f = function() { 7667 var i, u, n, r, f = "", 7668 e = {}, 7669 o; 7670 for (n in t) 7671 if (t.hasOwnProperty(n)) 7672 for (r = t[n].substring(2, t[n].length - 1), f += r, i = 0, u = r.length; i < u; i++) e[r.charAt(i)] = n; 7673 return o = new RegExp("[" + f + "]", "g"), 7674 function(n) { 7675 return n.replace(o, function(n) { 7676 return e[n] 7677 }).toLowerCase() 7678 } 7679 }(); 7680 return n 7681}), 7682function(n, t) { 7683 typeof define == "function" && define.amd ? define("microplugin", t) : typeof exports == "object" ? module.exports = t() : n.MicroPlugin = t() 7684}(this, function() { 7685 var n = {}, 7686 t;
7687 return n.mixin = function(n) { 7688 n.plugins = {}; 7689 n.prototype.initializePlugins = function(n) { 7690 var i, e, r, f = this, 7691 u = []; 7692 if (f.plugins = { 7693 names: [], 7694 settings: {}, 7695 requested: {}, 7696 loaded: {} 7697 }, t.isArray(n)) 7698 for (i = 0, e = n.length; i < e; i++) typeof n[i] == "string" ? u.push(n[i]) : (f.plugins.settings[n[i].name] = n[i].options, u.push(n[i].name)); 7699 else if (n) 7700 for (r in n) n.hasOwnProperty(r) && (f.plugins.settings[r] = n[r], u.push(r)); 7701 while (u.length) f.require(u.shift()) 7702 }; 7703 n.prototype.loadPlugin = function(t) { 7704 var i = this, 7705 r = i.plugins, 7706 u = n.plugins[t]; 7707 if (!n.plugins.hasOwnProperty(t)) throw new Error('Unable to find "' + t + '" plugin'); 7708 r.requested[t] = !0; 7709 r.loaded[t] = u.fn.apply(i, [i.plugins.settings[t] || {}]); 7710 r.names.push(t) 7711 }; 7712 n.prototype.require = function(n) { 7713 var t = this, 7714 i = t.plugins; 7715 if (!t.plugins.loaded.hasOwnProperty(n)) { 7716 if (i.requested[n]) throw new Error('Plugin has circular dependency ("' + n + '")'); 7717 t.loadPlugin(n) 7718 } 7719 return i.loaded[n] 7720 }; 7721 n.define = function(t, i) { 7722 n.plugins[t] = { 7723 name: t, 7724 fn: i 7725 } 7726 } 7727 }, t = { 7728 isArray: Array.isArray || function(n) { 7729 return Object.prototype.toString.call(n) === "[object Array]" 7730 } 7731 }, n 7732}), 7733function(n, t) { 7734 typeof define == "function" && define.amd ? define("selectize", ["jquery", "sifter", "microplugin"], t) : typeof exports == "object" ? module.exports = t(require("jquery"), require("sifter"), require("microplugin")) : n.Selectize = t(n.jQuery, n.Sifter, n.MicroPlugin) 7735}(this, function(n, t, i) { 7736 "use strict"; 7737 var d = function(n, t) { 7738 if (typeof t != "string" || t.length) { 7739 var i = typeof t == "string" ? new RegExp(t, "i") : t, 7740 r = function(n) { 7741 var o = 0, 7742 e, s, u, t; 7743 if (n.nodeType === 3) { 7744 if (e = n.data.search(i), e >= 0 && n.data.length > 0) { 7745 s = n.data.match(i); 7746 u = document.createElement("span"); 7747 u.className = "highlight"; 7748 var f = n.splitText(e), 7749 c = f.splitText(s[0].length), 7750 h = f.cloneNode(!0); 7751 u.appendChild(h); 7752 f.parentNode.replaceChild(u, f); 7753 o = 1 7754 } 7755 } else if (n.nodeType === 1 && n.childNodes && !/(script|style)/i.test(n.tagName) && (n.className !== "highlight" || n.tagName !== "SPAN")) 7756 for (t = 0; t < n.childNodes.length; ++t) t += r(n.childNodes[t]); 7757 return o 7758 }; 7759 return n.each(function() { 7760 r(this) 7761 }) 7762 } 7763 }, 7764 f; 7765 n.fn.removeHighlight = function() { 7766 return this.find("span.highlight").each(function() { 7767 this.parentNode.firstChild.nodeName; 7768 var n = this.parentNode; 7769 n.replaceChild(this.firstChild, this); 7770 n.normalize() 7771 }).end() 7772 }; 7773 f = function() {}; 7774 f.prototype = { 7775 on: function(n, t) { 7776 this._events = this._events || {}; 7777 this._events[n] = this._events[n] || []; 7778 this._events[n].push(t) 7779 }, 7780 off: function(n, t) { 7781 var i = arguments.length; 7782 if (i === 0) return delete this._events; 7783 if (i === 1) return delete this._events[n]; 7784 (this._events = this._events || {}, n in this._events != !1) && this._events[n].splice(this._events[n].indexOf(t), 1) 7785 }, 7786 trigger: function(n) { 7787 if (this._events = this._events || {}, n in this._events != !1) 7788 for (var t = 0; t < this._events[n].length; t++) this._events[n][t].apply(this, Array.prototype.slice.call(arguments, 1)) 7789 } 7790 }; 7791 f.mixin = function(n) { 7792 for (var i = ["on", "off", "trigger"], t = 0; t < i.length; t++) n.prototype[i[t]] = f.prototype[i[t]] 7793 }; 7794 var e = /Mac/.test(navigator.userAgent), 7795 g = 65, 7796 nt = 13, 7797 tt = 27, 7798 l = 37, 7799 it = 38, 7800 rt = 80, 7801 y = 39, 7802 ut = 40, 7803 ft = 78, 7804 o = 8, 7805 a = 46, 7806 et = 16, 7807 ot = e ? 91 : 17, 7808 st = e ? 18 : 17, 7809 p = 9, 7810 h = 1, 7811 ht = 2, 7812 w = !/android/i.test(window.navigator.userAgent) && !!document.createElement("input").validity, 7813 b = function(n) { 7814 return typeof n != "undefined" 7815 }, 7816 u = function(n) { 7817 return typeof n == "undefined" || n === null ? null : typeof n == "boolean" ? n ? "1" : "0" : n + "" 7818 }, 7819 s = function(n) { 7820 return (n + "").replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """) 7821 }, 7822 kt = function(n) { 7823 return (n + "").replace(/\$/g, "$$$$") 7824 }, 7825 c = {}; 7826 c.before = function(n, t, i) { 7827 var r = n[t]; 7828 n[t] = function() { 7829 return i.apply(n, arguments), r.apply(n, arguments) 7830 } 7831 }; 7832 c.after = function(n, t, i) { 7833 var r = n[t]; 7834 n[t] = function() { 7835 var t = r.apply(n, arguments); 7836 return i.apply(n, arguments), t 7837 } 7838 }; 7839 var ct = function(n) { 7840 var t = !1; 7841 return function() { 7842 t || (t = !0, n.apply(this, arguments)) 7843 } 7844 }, 7845 lt = function(n, t) { 7846 var i; 7847 return function() { 7848 var r = this, 7849 u = arguments; 7850 window.clearTimeout(i); 7851 i = window.setTimeout(function() { 7852 n.apply(r, u) 7853 }, t) 7854 } 7855 }, 7856 k = function(n, t, i) { 7857 var u, f = n.trigger, 7858 r = {}; 7859 n.trigger = function() { 7860 var i = arguments[0]; 7861 if (t.indexOf(i) !== -1) r[i] = arguments; 7862 else return f.apply(n, arguments) 7863 }; 7864 i.apply(n, []); 7865 n.trigger = f; 7866 for (u in r) r.hasOwnProperty(u) && f.apply(n, r[u]) 7867 }, 7868 at = function(n, t, i, r) { 7869 n.on(t, i, function(t) { 7870 for (var i = t.target; i && i.parentNode !== n[0];) i = i.parentNode; 7871 return t.currentTarget = i, r.apply(this, [t]) 7872 }) 7873 }, 7874 v = function(n) { 7875 var t = {}, 7876 i, r; 7877 return "selectionStart" in n ? (t.start = n.selectionStart, t.length = n.selectionEnd - t.start) : document.selection && (n.focus(), i = document.selection.createRange(), r = document.selection.createRange().text.length, i.moveStart("character", -n.value.length), t.start = i.text.length - r, t.length = r), t 7878 }, 7879 vt = function(n, t, i) { 7880 var r, f, u = {}; 7881 if (i) 7882 for (r = 0, f = i.length; r < f; r++) u[i[r]] = n.css(i[r]); 7883 else u = n.css(); 7884 t.css(u) 7885 }, 7886 yt = function(t, i) {
7887 return t ? (r.$testInput || (r.$testInput = n("<span />").css({ 7888 position: "absolute", 7889 top: -99999, 7890 left: -99999, 7891 width: "auto", 7892 padding: 0, 7893 whiteSpace: "pre" 7894 }).appendTo("body")), r.$testInput.text(t), vt(i, r.$testInput, ["letterSpacing", "fontSize", "fontFamily", "fontWeight", "textTransform"]), r.$testInput.width()) : 0 7895 }, 7896 pt = function(n) { 7897 var t = null, 7898 i = function(i, r) { 7899 var u, f, l, c, h, y, s, e; 7900 (i = i || window.event || {}, r = r || {}, i.metaKey || i.altKey) || (r.force || n.data("grow") !== !1) && (u = n.val(), i.type && i.type.toLowerCase() === "keydown" && (f = i.keyCode, l = f >= 48 && f <= 57 || f >= 65 && f <= 90 || f >= 96 && f <= 111 || f >= 186 && f <= 222 || f === 32, f === a || f === o ? (e = v(n[0]), e.length ? u = u.substring(0, e.start) + u.substring(e.start + e.length) : f === o && e.start ? u = u.substring(0, e.start - 1) + u.substring(e.start + 1) : f === a && typeof e.start != "undefined" && (u = u.substring(0, e.start) + u.substring(e.start + 1))) : l && (y = i.shiftKey, s = String.fromCharCode(i.keyCode), s = y ? s.toUpperCase() : s.toLowerCase(), u += s)), c = n.attr("placeholder"), !u && c && (u = c), h = yt(u, n) + 4, h !== t && (t = h, n.width(h), n.triggerHandler("resize"))) 7901 }; 7902 n.on("keydown keyup update blur", i); 7903 i() 7904 }, 7905 wt = function(n) { 7906 var t = document.createElement("div"); 7907 return t.appendChild(n.cloneNode(!0)), t.innerHTML 7908 }, 7909 bt = function(n, t) { 7910 t || (t = {}); 7911 console.error("Selectize: " + n); 7912 t.explanation && (console.group && console.group(), console.error(t.explanation), console.group && console.groupEnd()) 7913 }, 7914 r = function(i, u) { 7915 var e, s, c, o, f = this, 7916 l; 7917 if (o = i[0], o.selectize = f, l = window.getComputedStyle && window.getComputedStyle(o, null), c = l ? l.getPropertyValue("direction") : o.currentStyle && o.currentStyle.direction, c = c || i.parents("[dir]:first").attr("dir") || "", n.extend(f, { 7918 order: 0, 7919 settings: u, 7920 $input: i, 7921 tabIndex: i.attr("tabindex") || "", 7922 tagType: o.tagName.toLowerCase() === "select" ? h : ht, 7923 rtl: /rtl/i.test(c), 7924 eventNS: ".selectize" + ++r.count, 7925 highlightedValue: null, 7926 isBlurring: !1, 7927 isOpen: !1, 7928 isDisabled: !1, 7929 isRequired: i.is("[required]"), 7930 isInvalid: !1, 7931 isLocked: !1, 7932 isFocused: !1, 7933 isInputHidden: !1, 7934 isSetup: !1, 7935 isShiftDown: !1, 7936 isCmdDown: !1, 7937 isCtrlDown: !1, 7938 ignoreFocus: !1, 7939 ignoreBlur: !1, 7940 ignoreHover: !1, 7941 hasOptions: !1, 7942 currentResults: null, 7943 lastValue: "", 7944 caretPos: 0, 7945 loading: 0, 7946 loadedSearches: {}, 7947 $activeOption: null, 7948 $activeItems: [], 7949 optgroups: {}, 7950 options: {}, 7951 userOptions: {}, 7952 items: [], 7953 renderCache: {}, 7954 onSearchChange: u.loadThrottle === null ? f.onSearchChange : lt(f.onSearchChange, u.loadThrottle) 7955 }), f.sifter = new t(this.options, { 7956 diacritics: u.diacritics 7957 }), f.settings.options) { 7958 for (e = 0, s = f.settings.options.length; e < s; e++) f.registerOption(f.settings.options[e]); 7959 delete f.settings.options 7960 } 7961 if (f.settings.optgroups) { 7962 for (e = 0, s = f.settings.optgroups.length; e < s; e++) f.registerOptionGroup(f.settings.optgroups[e]); 7963 delete f.settings.optgroups 7964 } 7965 f.settings.mode = f.settings.mode || (f.settings.maxItems === 1 ? "single" : "multi"); 7966 f.settings.dropdownDirection = f.settings.dropdownDirection || "auto"; 7967 typeof f.settings.hideSelected != "boolean" && (f.settings.hideSelected = f.settings.mode === "multi"); 7968 f.initializePlugins(f.settings.plugins); 7969 f.setupCallbacks(); 7970 f.setupTemplates(); 7971 f.setup() 7972 }; 7973 return f.mixin(r), typeof i != "undefined" ? i.mixin(r) : bt("Dependency MicroPlugin is missing", { 7974 explanation: 'Make sure you either: (1) are using the "standalone" version of Selectize, or (2) require MicroPlugin before you load Selectize.' 7975 }), n.extend(r.prototype, { 7976 setup: function() { 7977 var t = this, 7978 r = t.settings, 7979 o = t.eventNS, 7980 b = n(window), 7981 a = n(document), 7982 i = t.$input, 7983 s, c, u, f, k, d, v, y, p, l, g; 7984 v = t.settings.mode; 7985 y = i.attr("class") || ""; 7986 s = n("<div>").addClass(r.wrapperClass).addClass(y).addClass(v); 7987 c = n("<div>").addClass(r.inputClass).addClass("items").appendTo(s); 7988 u = n('<input type="text" autocomplete="off" />').appendTo(c).attr("tabindex", i.is(":disabled") ? "-1" : t.tabIndex); 7989 d = n(r.dropdownParent || s); 7990 f = n("<div>").addClass(r.dropdownClass).addClass(v).hide().appendTo(d); 7991 k = n("<div>").addClass(r.dropdownContentClass).appendTo(f); 7992 (l = i.attr("id")) && (u.attr("id", l + "-selectized"), n("label[for='" + l + "']").attr("for", l + "-selectized")); 7993 t.settings.copyClassesToDropdown && f.addClass(y); 7994 s.css({ 7995 width: i[0].style.width 7996 }); 7997 t.plugins.names.length && (p = "plugin-" + t.plugins.names.join(" plugin-"), s.addClass(p), f.addClass(p)); 7998 (r.maxItems === null || r.maxItems > 1) && t.tagType === h && i.attr("multiple", "multiple"); 7999 t.settings.placeholder && u.attr("placeholder", r.placeholder); 8000 !t.settings.splitOn && t.settings.delimiter && (g = t.settings.delimiter.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"), t.settings.splitOn = new RegExp("\\s*" + g + "+\\s*")); 8001 i.attr("autocorrect") && u.attr("autocorrect", i.attr("autocorrect")); 8002 i.attr("autocapitalize") && u.attr("autocapitalize", i.attr("autocapitalize")); 8003 u[0].type = i[0].type; 8004 t.$wrapper = s; 8005 t.$control = c; 8006 t.$control_input = u; 8007 t.$dropdown = f; 8008 t.$dropdown_content = k; 8009 f.on("mouseenter mousedown click", "[data-disabled]>[data-selectable]", function(n) { 8010 n.stopImmediatePropagation() 8011 }); 8012 f.on("mouseenter", "[data-selectable]", function() { 8013 return t.onOptionHover.apply(t, arguments) 8014 }); 8015 f.on("mousedown click", "[data-selectable]", function() { 8016 return t.onOptionSelect.apply(t, arguments) 8017 }); 8018 at(c, "mousedown", "*:not(input)", function() { 8019 return t.onItemSelect.apply(t, arguments) 8020 }); 8021 pt(u); 8022 c.on({ 8023 mousedown: function() { 8024 return t.onMouseDown.apply(t, arguments) 8025 }, 8026 click: function() { 8027 return t.onClick.apply(t, arguments) 8028 } 8029 }); 8030 u.on({ 8031 mousedown: function(n) { 8032 n.stopPropagation() 8033 }, 8034 keydown: function() { 8035 return t.onKeyDown.apply(t, arguments) 8036 }, 8037 keyup: function() { 8038 return t.onKeyUp.apply(t, arguments) 8039 }, 8040 keypress: function() { 8041 return t.onKeyPress.apply(t, arguments) 8042 }, 8043 resize: function() { 8044 t.positionDropdown.apply(t, []) 8045 }, 8046 blur: function() { 8047 return t.onBlur.apply(t, arguments) 8048 }, 8049 focus: function() { 8050 return t.ignoreBlur = !1, t.onFocus.apply(t, arguments) 8051 }, 8052 paste: function() { 8053 return t.onPaste.apply(t, arguments) 8054 } 8055 }); 8056 a.on("keydown" + o, function(n) { 8057 t.isCmdDown = n[e ? "metaKey" : "ctrlKey"]; 8058 t.isCtrlDown = n[e ? "altKey" : "ctrlKey"];
8059 t.isShiftDown = n.shiftKey 8060 }); 8061 a.on("keyup" + o, function(n) { 8062 n.keyCode === st && (t.isCtrlDown = !1); 8063 n.keyCode === et && (t.isShiftDown = !1); 8064 n.keyCode === ot && (t.isCmdDown = !1) 8065 }); 8066 a.on("mousedown" + o, function(n) { 8067 if (t.isFocused) { 8068 if (n.target === t.$dropdown[0] || n.target.parentNode === t.$dropdown[0]) return !1; 8069 t.$control.has(n.target).length || n.target === t.$control[0] || t.blur(n.target) 8070 } 8071 }); 8072 b.on(["scroll" + o, "resize" + o].join(" "), function() { 8073 t.isOpen && t.positionDropdown.apply(t, arguments) 8074 }); 8075 b.on("mousemove" + o, function() { 8076 t.ignoreHover = !1 8077 }); 8078 if (this.revertSettings = { 8079 $children: i.children().detach(), 8080 tabindex: i.attr("tabindex") 8081 }, i.attr("tabindex", -1).hide().after(t.$wrapper), n.isArray(r.items) && (t.setValue(r.items), delete r.items), w) i.on("invalid" + o, function(n) { 8082 n.preventDefault(); 8083 t.isInvalid = !0; 8084 t.refreshState() 8085 }); 8086 t.updateOriginalInput(); 8087 t.refreshItems(); 8088 t.refreshState(); 8089 t.updatePlaceholder(); 8090 t.isSetup = !0; 8091 i.is(":disabled") && t.disable(); 8092 t.on("change", this.onChange); 8093 if (i.data("selectize", t), i.addClass("selectized"), t.trigger("initialize"), r.preload === !0) t.onSearchChange("") 8094 }, 8095 setupTemplates: function() { 8096 var t = this, 8097 i = t.settings.labelField, 8098 r = t.settings.optgroupLabelField, 8099 u = { 8100 optgroup: function(n) { 8101 return '<div class="optgroup">' + n.html + "<\/div>" 8102 }, 8103 optgroup_header: function(n, t) { 8104 return '<div class="optgroup-header">' + t(n[r]) + "<\/div>" 8105 }, 8106 option: function(n, t) { 8107 return '<div class="option">' + t(n[i]) + "<\/div>" 8108 }, 8109 item: function(n, t) { 8110 return '<div class="item">' + t(n[i]) + "<\/div>" 8111 }, 8112 option_create: function(n, t) { 8113 return '<div class="create">Add <strong>' + t(n.input) + "<\/strong>…<\/div>" 8114 } 8115 }; 8116 t.settings.render = n.extend({}, u, t.settings.render) 8117 }, 8118 setupCallbacks: function() { 8119 var n, t, i = { 8120 initialize: "onInitialize", 8121 change: "onChange", 8122 item_add: "onItemAdd", 8123 item_remove: "onItemRemove", 8124 clear: "onClear", 8125 option_add: "onOptionAdd", 8126 option_remove: "onOptionRemove", 8127 option_clear: "onOptionClear", 8128 optgroup_add: "onOptionGroupAdd", 8129 optgroup_remove: "onOptionGroupRemove", 8130 optgroup_clear: "onOptionGroupClear", 8131 dropdown_open: "onDropdownOpen", 8132 dropdown_close: "onDropdownClose", 8133 type: "onType", 8134 load: "onLoad", 8135 focus: "onFocus", 8136 blur: "onBlur" 8137 }; 8138 for (n in i) 8139 if (i.hasOwnProperty(n) && (t = this.settings[i[n]], t)) this.on(n, t) 8140 }, 8141 onClick: function(n) { 8142 var t = this; 8143 t.isFocused && t.isOpen || (t.focus(), n.preventDefault()) 8144 }, 8145 onMouseDown: function(t) { 8146 var i = this, 8147 r = t.isDefaultPrevented(), 8148 u = n(t.target); 8149 if (i.isFocused) { 8150 if (t.target !== i.$control_input[0]) return i.settings.mode === "single" ? i.isOpen ? i.close() : i.open() : r || i.setActiveItem(null), !1 8151 } else r || window.setTimeout(function() { 8152 i.focus() 8153 }, 0) 8154 }, 8155 onChange: function() { 8156 this.$input.trigger("change") 8157 }, 8158 onPaste: function(t) { 8159 var i = this; 8160 if (i.isFull() || i.isInputHidden || i.isLocked) { 8161 t.preventDefault(); 8162 return 8163 } 8164 i.settings.splitOn && setTimeout(function() { 8165 var u = i.$control_input.val(), 8166 r, t, f; 8167 if (u.match(i.settings.splitOn)) 8168 for (r = n.trim(u).split(i.settings.splitOn), t = 0, f = r.length; t < f; t++) i.createItem(r[t]) 8169 }, 0) 8170 }, 8171 onKeyPress: function(n) { 8172 if (this.isLocked) return n && n.preventDefault(); 8173 var t = String.fromCharCode(n.keyCode || n.which); 8174 if (this.settings.create && this.settings.mode === "multi" && t === this.settings.delimiter) return this.createItem(), n.preventDefault(), !1 8175 }, 8176 onKeyDown: function(n) { 8177 var u = n.target === this.$control_input[0], 8178 t = this, 8179 i, r; 8180 if (t.isLocked) { 8181 n.keyCode !== p && n.preventDefault(); 8182 return 8183 } 8184 switch (n.keyCode) { 8185 case g: 8186 if (t.isCmdDown) { 8187 t.selectAll(); 8188 return 8189 } 8190 break; 8191 case tt: 8192 t.isOpen && (n.preventDefault(), n.stopPropagation(), t.close()); 8193 return; 8194 case ft: 8195 if (!n.ctrlKey || n.altKey) break; 8196 case ut: 8197 !t.isOpen && t.hasOptions ? t.open() : t.$activeOption && (t.ignoreHover = !0, i = t.getAdjacentOption(t.$activeOption, 1), i.length && t.setActiveOption(i, !0, !0)); 8198 n.preventDefault(); 8199 return; 8200 case rt: 8201 if (!n.ctrlKey || n.altKey) break; 8202 case it: 8203 t.$activeOption && (t.ignoreHover = !0, r = t.getAdjacentOption(t.$activeOption, -1), r.length && t.setActiveOption(r, !0, !0)); 8204 n.preventDefault(); 8205 return; 8206 case nt: 8207 if (t.isOpen && t.$activeOption) { 8208 t.onOptionSelect({ 8209 currentTarget: t.$activeOption 8210 }); 8211 n.preventDefault() 8212 } 8213 return; 8214 case l: 8215 t.advanceSelection(-1, n); 8216 return; 8217 case y: 8218 t.advanceSelection(1, n); 8219 return; 8220 case p: 8221 if (t.settings.selectOnTab && t.isOpen && t.$activeOption) { 8222 t.onOptionSelect({ 8223 currentTarget: t.$activeOption 8224 }); 8225 t.isFull() || n.preventDefault() 8226 } 8227 t.settings.create && t.createItem() && n.preventDefault(); 8228 return; 8229 case o: 8230 case a: 8231 t.deleteSelection(n); 8232 return 8233 } 8234 if ((t.isFull() || t.isInputHidden) && !(e ? n.metaKey : n.ctrlKey)) { 8235 n.preventDefault(); 8236 return 8237 } 8238 }, 8239 onKeyUp: function(n) { 8240 var t = this, 8241 i; 8242 if (t.isLocked) return n && n.preventDefault(); 8243 if (i = t.$control_input.val() || "", t.lastValue !== i) { 8244 t.lastValue = i; 8245 t.onSearchChange(i); 8246 t.refreshOptions(); 8247 t.trigger("type", i) 8248 } 8249 }, 8250 onSearchChange: function(n) { 8251 var t = this, 8252 i = t.settings.load; 8253 i && (t.loadedSearches.hasOwnProperty(n) || (t.loadedSearches[n] = !0, t.load(function(r) { 8254 i.apply(t, [n, r]) 8255 }))) 8256 }, 8257 onFocus: function(n) { 8258 var t = this, 8259 i = t.isFocused; 8260 if (t.isDisabled) return t.blur(), n && n.preventDefault(), !1; 8261 if (!t.ignoreFocus) { 8262 if (t.isFocused = !0, t.settings.preload === "focus") t.onSearchChange(""); 8263 i || t.trigger("focus"); 8264 t.$activeItems.length || (t.showInput(), t.setActiveItem(null), t.refreshOptions(!!t.settings.openOnFocus)); 8265 t.refreshState() 8266 } 8267 }, 8268 onBlur: function(n, t) { 8269 var i = this, 8270 r; 8271 if (i.isFocused && (i.isFocused = !1, !i.ignoreFocus)) { 8272 if (!i.ignoreBlur && document.activeElement === i.$dropdown_content[0]) { 8273 i.ignoreBlur = !0; 8274 i.onFocus(n); 8275 return 8276 } 8277 r = function() { 8278 i.close(); 8279 i.setTextboxValue(""); 8280 i.setActiveItem(null); 8281 i.setActiveOption(null); 8282 i.setCaret(i.items.length); 8283 i.refreshState(); 8284 t && t.focus && t.focus(); 8285 i.isBlurring = !1; 8286 i.ignoreFocus = !1; 8287 i.trigger("blur") 8288 }; 8289 i.isBlurring = !0; 8290 i.ignoreFocus = !0; 8291 i.settings.create && i.settings.createOnBlur ? i.createItem(null, !1, r) : r() 8292 } 8293 }, 8294 onOptionHover: function(n) { 8295 this.ignoreHover || this.setActiveOption(n.currentTarget, !1) 8296 }, 8297 onOptionSelect: function(t) { 8298 var r, u, i = this; 8299 t.preventDefault && (t.preventDefault(), t.stopPropagation()); 8300 u = n(t.currentTarget); 8301 u.hasClass("create") ? i.createItem(null, function() { 8302 i.settings.closeAfterSelect && i.close() 8303 }) : (r = u.attr("data-value"), typeof r != "undefined" && (i.lastQuery = null, i.setTextboxValue(""), i.addItem(r), i.settings.closeAfterSelect ? i.close() : !i.settings.hideSelected && t.type && /mouse/.test(t.type) && i.setActiveOption(i.getOption(r)))) 8304 }, 8305 onItemSelect: function(n) { 8306 var t = this; 8307 t.isLocked || t.settings.mode === "multi" && (n.preventDefault(), t.setActiveItem(n.currentTarget, n)) 8308 }, 8309 load: function(n) { 8310 var t = this, 8311 i = t.$wrapper.addClass(t.settings.loadingClass); 8312 t.loading++; 8313 n.apply(t, [function(n) { 8314 t.loading = Math.max(t.loading - 1, 0); 8315 n && n.length && (t.addOption(n), t.refreshOptions(t.isFocused && !t.isInputHidden)); 8316 t.loading || i.removeClass(t.settings.loadingClass); 8317 t.trigger("load", n) 8318 }]) 8319 }, 8320 setTextboxValue: function(n) { 8321 var t = this.$control_input, 8322 i = t.val() !== n; 8323 i && (t.val(n).triggerHandler("update"), this.lastValue = n) 8324 }, 8325 getValue: function() { 8326 return this.tagType === h && this.$input.attr("multiple") ? this.items : this.items.join(this.settings.delimiter) 8327 }, 8328 setValue: function(n, t) { 8329 var i = t ? [] : ["change"]; 8330 k(this, i, function() { 8331 this.clear(t); 8332 this.addItems(n, t) 8333 }) 8334 },
8335 setActiveItem: function(t, i) { 8336 var r = this, 8337 e, o, h, u, f, s, c, l; 8338 if (r.settings.mode !== "single") { 8339 if (t = n(t), !t.length) { 8340 n(r.$activeItems).removeClass("active"); 8341 r.$activeItems = []; 8342 r.isFocused && r.showInput(); 8343 return 8344 } 8345 if (e = i && i.type.toLowerCase(), e === "mousedown" && r.isShiftDown && r.$activeItems.length) { 8346 for (l = r.$control.children(".active:last"), u = Array.prototype.indexOf.apply(r.$control[0].childNodes, [l[0]]), f = Array.prototype.indexOf.apply(r.$control[0].childNodes, [t[0]]), u > f && (c = u, u = f, f = c), o = u; o <= f; o++) s = r.$control[0].childNodes[o], r.$activeItems.indexOf(s) === -1 && (n(s).addClass("active"), r.$activeItems.push(s)); 8347 i.preventDefault() 8348 } else e === "mousedown" && r.isCtrlDown || e === "keydown" && this.isShiftDown ? t.hasClass("active") ? (h = r.$activeItems.indexOf(t[0]), r.$activeItems.splice(h, 1), t.removeClass("active")) : r.$activeItems.push(t.addClass("active")[0]) : (n(r.$activeItems).removeClass("active"), r.$activeItems = [t.addClass("active")[0]]); 8349 r.hideInput(); 8350 this.isFocused || r.focus() 8351 } 8352 }, 8353 setActiveOption: function(t, i, r) { 8354 var e, o, f, s, h, u = this; 8355 (u.$activeOption && u.$activeOption.removeClass("active"), u.$activeOption = null, t = n(t), t.length) && (u.$activeOption = t.addClass("active"), (i || !b(i)) && (e = u.$dropdown_content.height(), o = u.$activeOption.outerHeight(!0), i = u.$dropdown_content.scrollTop() || 0, f = u.$activeOption.offset().top - u.$dropdown_content.offset().top + i, s = f, h = f - e + o, f + o > e + i ? u.$dropdown_content.stop().animate({ 8356 scrollTop: h 8357 }, r ? u.settings.scrollDuration : 0) : f < i && u.$dropdown_content.stop().animate({ 8358 scrollTop: s 8359 }, r ? u.settings.scrollDuration : 0))) 8360 }, 8361 selectAll: function() { 8362 var n = this; 8363 n.settings.mode !== "single" && (n.$activeItems = Array.prototype.slice.apply(n.$control.children(":not(input)").addClass("active")), n.$activeItems.length && (n.hideInput(), n.close()), n.focus()) 8364 }, 8365 hideInput: function() { 8366 var n = this; 8367 n.setTextboxValue(""); 8368 n.$control_input.css({ 8369 opacity: 0, 8370 position: "absolute", 8371 left: n.rtl ? 1e4 : -1e4 8372 }); 8373 n.isInputHidden = !0 8374 }, 8375 showInput: function() { 8376 this.$control_input.css({ 8377 opacity: 1, 8378 position: "relative", 8379 left: 0 8380 }); 8381 this.isInputHidden = !1 8382 }, 8383 focus: function() { 8384 var n = this; 8385 n.isDisabled || (n.ignoreFocus = !0, n.$control_input[0].focus(), window.setTimeout(function() { 8386 n.ignoreFocus = !1; 8387 n.onFocus() 8388 }, 0)) 8389 }, 8390 blur: function(n) { 8391 if (this.settings.chooseItemOnBlur) this.onOptionSelect({ 8392 currentTarget: this.$activeOption 8393 }); 8394 this.$control_input[0].blur(); 8395 this.onBlur(null, n) 8396 }, 8397 getScoreFunction: function(n) { 8398 return this.sifter.getScoreFunction(n, this.getSearchOptions()) 8399 }, 8400 getSearchOptions: function() { 8401 var n = this.settings, 8402 t = n.sortField; 8403 return typeof t == "string" && (t = [{ 8404 field: t 8405 }]), { 8406 fields: n.searchField, 8407 conjunction: n.searchConjunction, 8408 sort: t, 8409 nesting: n.nesting 8410 } 8411 }, 8412 search: function(t) { 8413 var f, r, e, i = this, 8414 o = i.settings, 8415 s = this.getSearchOptions(); 8416 if (o.score && (e = i.settings.score.apply(this, [t]), typeof e != "function")) throw new Error('Selectize "score" setting must be a function that returns a function'); 8417 if (t !== i.lastQuery ? (i.lastQuery = t, r = i.sifter.search(t, n.extend(s, { 8418 score: e 8419 })), i.currentResults = r) : r = n.extend(!0, {}, i.currentResults), o.hideSelected) 8420 for (f = r.items.length - 1; f >= 0;
8420 f--) i.items.indexOf(u(r.items[f].id)) !== -1 && r.items.splice(f, 1); 8421 return r 8422 }, 8423 refreshOptions: function(t) { 8424 var f, v, tt, e, s, l, k, it, r, y, p, a, g, h, w, b; 8425 typeof t == "undefined" && (t = !0); 8426 var i = this, 8427 nt = n.trim(i.$control_input.val()), 8428 o = i.search(nt), 8429 c = i.$dropdown_content, 8430 rt = i.$activeOption && u(i.$activeOption.attr("data-value")); 8431 for (e = o.items.length, typeof i.settings.maxOptions == "number" && (e = Math.min(e, i.settings.maxOptions)), s = {}, l = [], f = 0; f < e; f++) 8432 for (k = i.options[o.items[f].id], it = i.render("option", k), r = k[i.settings.optgroupField] || "", y = n.isArray(r) ? r : [r], v = 0, tt = y && y.length; v < tt; v++) r = y[v], i.optgroups.hasOwnProperty(r) || (r = ""), s.hasOwnProperty(r) || (s[r] = document.createDocumentFragment(), l.push(r)), s[r].appendChild(it); 8433 for (this.settings.lockOptgroupOrder && l.sort(function(n, t) { 8434 var r = i.optgroups[n].$order || 0, 8435 u = i.optgroups[t].$order || 0; 8436 return r - u 8437 }), p = document.createDocumentFragment(), f = 0, e = l.length; f < e; f++) r = l[f], i.optgroups.hasOwnProperty(r) && s[r].childNodes.length ? (a = document.createDocumentFragment(), a.appendChild(i.render("optgroup_header", i.optgroups[r])), a.appendChild(s[r]), p.appendChild(i.render("optgroup", n.extend({}, i.optgroups[r], { 8438 html: wt(a), 8439 dom: a 8440 })))) : p.appendChild(s[r]); 8441 if (c.html(p), i.settings.highlight && (c.removeHighlight(), o.query.length && o.tokens.length)) 8442 for (f = 0, e = o.tokens.length; f < e; f++) d(c, o.tokens[f].regex); 8443 if (!i.settings.hideSelected) 8444 for (f = 0, e = i.items.length; f < e; f++) i.getOption(i.items[f]).addClass("selected"); 8445 g = i.canCreate(nt); 8446 g && (c.prepend(i.render("option_create", { 8447 input: nt 8448 })), b = n(c[0].childNodes[0])); 8449 i.hasOptions = o.items.length > 0 || g; 8450 i.hasOptions ? (o.items.length > 0 ? (w = rt && i.getOption(rt), w && w.length ? h = w : i.settings.mode === "single" && i.items.length && (h = i.getOption(i.items[0])), h && h.length || (h = b && !i.settings.addPrecedence ? i.getAdjacentOption(b, 1) : c.find("[data-selectable]:first"))) : h = b, i.setActiveOption(h), t && !i.isOpen && i.open()) : (i.setActiveOption(null), t && i.isOpen && i.close()); 8451 i.positionDropdown() 8452 }, 8453 addOption: function(t) { 8454 var r, f, u, i = this; 8455 if (n.isArray(t)) { 8456 for (r = 0, f = t.length; r < f; r++) i.addOption(t[r]); 8457 return 8458 }(u = i.registerOption(t)) && (i.userOptions[u] = !0, i.lastQuery = null, i.trigger("option_add", u, t)) 8459 }, 8460 registerOption: function(n) { 8461 var t = u(n[this.settings.valueField]); 8462 return typeof t == "undefined" || t === null || this.options.hasOwnProperty(t) ? !1 : (n.$order = n.$order || ++this.order, this.options[t] = n, t) 8463 }, 8464 registerOptionGroup: function(n) { 8465 var t = u(n[this.settings.optgroupValueField]); 8466 return t ? (n.$order = n.$order || ++this.order, this.optgroups[t] = n, t) : !1 8467 }, 8468 addOptionGroup: function(n, t) { 8469 t[this.settings.optgroupValueField] = n; 8470 (n = this.registerOptionGroup(t)) && this.trigger("optgroup_add", n, t) 8471 }, 8472 removeOptionGroup: function(n) { 8473 this.optgroups.hasOwnProperty(n) && (delete this.optgroups[n], this.renderCache = {}, this.trigger("optgroup_remove", n)) 8474 }, 8475 clearOptionGroups: function() { 8476 this.optgroups = {}; 8477 this.renderCache = {}; 8478 this.trigger("optgroup_clear") 8479 }, 8480 updateOption: function(t, i) { 8481 var r = this, 8482 s, h, f, c, e, o, l;
8483 if ((t = u(t), f = u(i[r.settings.valueField]), t !== null) && r.options.hasOwnProperty(t)) { 8484 if (typeof f != "string") throw new Error("Value must be set in option data"); 8485 l = r.options[t].$order; 8486 f !== t && (delete r.options[t], c = r.items.indexOf(t), c !== -1 && r.items.splice(c, 1, f)); 8487 i.$order = i.$order || l; 8488 r.options[f] = i; 8489 e = r.renderCache.item; 8490 o = r.renderCache.option; 8491 e && (delete e[t], delete e[f]); 8492 o && (delete o[t], delete o[f]); 8493 r.items.indexOf(f) !== -1 && (s = r.getItem(t), h = n(r.render("item", i)), s.hasClass("active") && h.addClass("active"), s.replaceWith(h)); 8494 r.lastQuery = null; 8495 r.isOpen && r.refreshOptions(!1) 8496 } 8497 }, 8498 removeOption: function(n, t) { 8499 var i = this, 8500 r, f; 8501 n = u(n); 8502 r = i.renderCache.item; 8503 f = i.renderCache.option; 8504 r && delete r[n]; 8505 f && delete f[n]; 8506 delete i.userOptions[n]; 8507 delete i.options[n]; 8508 i.lastQuery = null; 8509 i.trigger("option_remove", n); 8510 i.removeItem(n, t) 8511 }, 8512 clearOptions: function() { 8513 var t = this, 8514 i; 8515 t.loadedSearches = {}; 8516 t.userOptions = {}; 8517 t.renderCache = {}; 8518 i = t.options; 8519 n.each(t.options, function(n) { 8520 t.items.indexOf(n) == -1 && delete i[n] 8521 }); 8522 t.options = t.sifter.items = i; 8523 t.lastQuery = null; 8524 t.trigger("option_clear") 8525 }, 8526 getOption: function(n) { 8527 return this.getElementWithValue(n, this.$dropdown_content.find("[data-selectable]")) 8528 }, 8529 getAdjacentOption: function(t, i) { 8530 var r = this.$dropdown.find("[data-selectable]"), 8531 u = r.index(t) + i; 8532 return u >= 0 && u < r.length ? r.eq(u) : n() 8533 }, 8534 getElementWithValue: function(t, i) { 8535 if (t = u(t), typeof t != "undefined" && t !== null) 8536 for (var r = 0, f = i.length; r < f; r++) 8537 if (i[r].getAttribute("data-value") === t) return n(i[r]); 8538 return n() 8539 }, 8540 getItem: function(n) { 8541 return this.getElementWithValue(n, this.$control.children()) 8542 }, 8543 addItems: function(t, i) { 8544 var u, f, r, e, o; 8545 for (this.buffer = document.createDocumentFragment(), u = this.$control[0].childNodes, r = 0; r < u.length; r++) this.buffer.appendChild(u[r]); 8546 for (f = n.isArray(t) ? t : [t], r = 0, e = f.length; r < e; r++) this.isPending = r < e - 1, this.addItem(f[r], i); 8547 o = this.$control[0]; 8548 o.insertBefore(this.buffer, o.firstChild); 8549 this.buffer = null 8550 }, 8551 addItem: function(t, i) { 8552 var r = i ? [] : ["change"]; 8553 k(this, r, function() { 8554 var e, s, h, r = this, 8555 f = r.settings.mode, 8556 o, c; 8557 if (t = u(t), r.items.indexOf(t) !== -1) { 8558 f === "single" && r.close(); 8559 return 8560 } 8561 r.options.hasOwnProperty(t) && ((f === "single" && r.clear(i), f === "multi" && r.isFull()) || (e = n(r.render("item", r.options[t])), c = r.isFull(), r.items.splice(r.caretPos, 0, t), r.insertAtCaret(e), r.isPending && (c || !r.isFull()) || r.refreshState(), r.isSetup && (h = r.$dropdown_content.find("[data-selectable]"), r.isPending || (s = r.getOption(t), o = r.getAdjacentOption(s, 1).attr("data-value"), r.refreshOptions(r.isFocused && f !== "single"), o && r.setActiveOption(r.getOption(o))), !h.length || r.isFull() ? r.close() : r.isPending || r.positionDropdown(), r.updatePlaceholder(), r.trigger("item_add", t, e), r.isPending || r.updateOriginalInput({ 8562 silent: i 8563 })))) 8564 }) 8565 }, 8566 removeItem: function(t, i) { 8567 var r = this, 8568 f, e, o; 8569 f = t instanceof n ? t : r.getItem(t); 8570 t = u(f.attr("data-value")); 8571 e = r.items.indexOf(t); 8572 e !== -1 && (f.remove(), f.hasClass("active") && (o = r.$activeItems.indexOf(f[0]), r.$activeItems.splice(o, 1)), r.items.splice(e, 1), r.lastQuery = null, !r.settings.persist && r.userOptions.hasOwnProperty(t) && r.removeOption(t, i), e < r.caretPos && r.setCaret(r.caretPos - 1), r.refreshState(), r.updatePlaceholder(), r.updateOriginalInput({ 8573 silent: i 8574 }), r.positionDropdown(), r.trigger("item_remove", t, f)) 8575 }, 8576 createItem: function(t, i) { 8577 var r = this, 8578 s = r.caretPos, 8579 f; 8580 if (t = t || n.trim(r.$control_input.val() || ""), f = arguments[arguments.length - 1], typeof f != "function" && (f = function() {}), typeof i != "boolean" && (i = !0), !r.canCreate(t)) return f(), !1; 8581 r.lock(); 8582 var h = typeof r.settings.create == "function" ? this.settings.create : function(n) { 8583 var t = {}; 8584 return t[r.settings.labelField] = n, t[r.settings.valueField] = n, t 8585 }, 8586 e = ct(function(n) { 8587 if (r.unlock(), !n || typeof n != "object") return f(); 8588 var t = u(n[r.settings.valueField]); 8589 if (typeof t != "string") return f(); 8590 r.setTextboxValue(""); 8591 r.addOption(n); 8592 r.setCaret(s); 8593 r.addItem(t); 8594 r.refreshOptions(i && r.settings.mode !== "single"); 8595 f(n) 8596 }), 8597 o = h.apply(this, [t, e]); 8598 return typeof o != "undefined" && e(o), !0 8599 }, 8600 refreshItems: function() { 8601 this.lastQuery = null; 8602 this.isSetup && this.addItem(this.items); 8603 this.refreshState(); 8604 this.updateOriginalInput() 8605 }, 8606 refreshState: function() { 8607 this.refreshValidityState(); 8608 this.refreshClasses() 8609 }, 8610 refreshValidityState: function() { 8611 if (!this.isRequired) return !1; 8612 var n = !this.items.length; 8613 this.isInvalid = n; 8614 this.$control_input.prop("required", n); 8615 this.$input.prop("required", !n) 8616 }, 8617 refreshClasses: function() { 8618 var t = this, 8619 i = t.isFull(), 8620 r = t.isLocked; 8621 t.$wrapper.toggleClass("rtl", t.rtl); 8622 t.$control.toggleClass("focus", t.isFocused).toggleClass("disabled", t.isDisabled).toggleClass("required", t.isRequired).toggleClass("invalid", t.isInvalid).toggleClass("locked", r).toggleClass("full", i).toggleClass("not-full", !i).toggleClass("input-active", t.isFocused && !t.isInputHidden).toggleClass("dropdown-active", t.isOpen).toggleClass("has-options", !n.isEmptyObject(t.options)).toggleClass("has-items", t.items.length > 0); 8623 t.$control_input.data("grow", !i && !r) 8624 }, 8625 isFull: function() { 8626 return this.settings.maxItems !== null && this.items.length >= this.settings.maxItems 8627 }, 8628 updateOriginalInput: function(n) { 8629 var i, u, r, f, t = this; 8630 if (n = n || {}, t.tagType === h) { 8631 for (r = [], i = 0, u = t.items.length; i < u; i++) f = t.options[t.items[i]][t.settings.labelField] || "", r.push('<option value="' + s(t.items[i]) + '" selected="selected">' + s(f) + "<\/option>"); 8632 r.length || this.$input.attr("multiple") || r.push('<option value="" selected="selected"><\/option>'); 8633 t.$input.html(r.join("")) 8634 } else t.$input.val(t.getValue()), t.$input.attr("value", t.$input.val()); 8635 t.isSetup && (n.silent || t.trigger("change", t.$input.val())) 8636 }, 8637 updatePlaceholder: function() { 8638 if (this.settings.placeholder) { 8639 var n = this.$control_input; 8640 this.items.length ? n.removeAttr("placeholder") : n.attr("placeholder", this.settings.placeholder); 8641 n.triggerHandler("update", { 8642 force: !0 8643 }) 8644 } 8645 }, 8646 open: function() { 8647 var n = this; 8648 n.isLocked || n.isOpen || n.settings.mode === "multi" && n.isFull() || (n.focus(), n.isOpen = !0, n.refreshState(), n.$dropdown.css({ 8649 visibility: "hidden", 8650 display: "block" 8651 }), n.positionDropdown(), n.$dropdown.css({ 8652 visibility: "visible" 8653 }), n.trigger("dropdown_open", n.$dropdown)) 8654 }, 8655 close: function() { 8656 var n = this, 8657 t = n.isOpen; 8658 n.settings.mode === "single" && n.items.length && (n.hideInput(), n.isBlurring || n.$control_input.blur()); 8659 n.isOpen = !1; 8660 n.$dropdown.hide(); 8661 n.setActiveOption(null); 8662 n.refreshState(); 8663 t && n.trigger("dropdown_close", n.$dropdown) 8664 }, 8665 positionDropdown: function() { 8666 var t = this, 8667 i = t.settings.dropdownDirection, 8668 r, u; 8669 return i !== "auto" ? t.setDropdownDirection(i) : (t.setDropdownDirection("down"), r = t.$dropdown[0].getBoundingClientRect(), u = r.bottom <= (window.innerHeight || n(window).height()), u ? void 0 : t.setDropdownDirection("up")) 8670 }, 8671 setDropdownDirection: function(n) { 8672 var t = this.$control, 8673 i = this.settings.dropdownParent === "body" ? t.offset() : t.position(); 8674 i.top += t.outerHeight(!0); 8675 this.$dropdown.css({ 8676 width: t[0].getBoundingClientRect().width, 8677 left: i.left, 8678 top: n === "down" ? i.top : "auto", 8679 bottom: n === "down" ? "auto" : i.top 8680 }).toggleClass("dropdown-up", n === "down" ? !1 : !0) 8681 }, 8682 clear: function(n) { 8683 var t = this; 8684 t.items.length && (t.$control.children(":not(input)").remove(), t.items = [], t.lastQuery = null, t.setCaret(0), t.setActiveItem(null), t.updatePlaceholder(), t.updateOriginalInput({ 8685 silent: n 8686 }), t.refreshState(), t.showInput(), t.trigger("clear")) 8687 }, 8688 insertAtCaret: function(n) { 8689 var i = Math.min(this.caretPos, this.items.length), 8690 r = n[0], 8691 t = this.buffer || this.$control[0]; 8692 i === 0 ? t.insertBefore(r, t.firstChild) : t.insertBefore(r, t.childNodes[i]); 8693 this.setCaret(i + 1) 8694 }, 8695 deleteSelection: function(t) { 8696 var f, l, u, e, r, s, h, c, a, i = this; 8697 if (u = t && t.keyCode === o ? -1 : 1, e = v(i.$control_input[0]), i.$activeOption && !i.settings.hideSelected && (h = i.getAdjacentOption(i.$activeOption, -1).attr("data-value")), r = [], i.$activeItems.length) { 8698 for (a = i.$control.children(".active:" + (u > 0 ? "last" : "first")), s = i.$control.children(":not(input)").index(a), u > 0 && s++, f = 0, l = i.$activeItems.length; f < l; f++) r.push(n(i.$activeItems[f]).attr("data-value")); 8699 t && (t.preventDefault(), t.stopPropagation()) 8700 } else(i.isFocused || i.settings.mode === "single") && i.items.length && (u < 0 && e.start === 0 && e.length === 0 ? r.push(i.items[i.caretPos - 1]) : u > 0 && e.start === i.$control_input.val().length && r.push(i.items[i.caretPos])); 8701 if (!r.length || typeof i.settings.onDelete == "function" && i.settings.onDelete.apply(i, [r]) === !1) return !1; 8702 for (typeof s != "undefined" && i.setCaret(s); r.length;) i.removeItem(r.pop()); 8703 return i.showInput(), i.positionDropdown(), i.refreshOptions(!0), h && (c = i.getOption(h), c.length && i.setActiveOption(c)), !0 8704 }, 8705 advanceSelection: function(n, t) { 8706 var o, r, u, f, s, e, i = this; 8707 n !== 0 && (i.rtl && (n *= -1), o = n > 0 ? "last" : "first", r = v(i.$control_input[0]), i.isFocused && !i.isInputHidden ? (f = i.$control_input.val().length, s = n < 0 ? r.start === 0 && r.length === 0 : r.start === f, s && !f && i.advanceCaret(n, t)) : (e = i.$control.children(".active:" + o), e.length && (u = i.$control.children(":not(input)").index(e), i.setActiveItem(null), i.setCaret(n > 0 ? u + 1 : u)))) 8708 }, 8709 advanceCaret: function(n, t) { 8710 var i = this, 8711 u, r; 8712 n !== 0 && (u = n > 0 ? "next" : "prev", i.isShiftDown ? (r = i.$control_input[u](), r.length && (i.hideInput(), i.setActiveItem(r), t && t.preventDefault())) : i.setCaret(i.caretPos + n)) 8713 }, 8714 setCaret: function(t) { 8715 var i = this, 8716 r, e, u, f; 8717 if (t = i.settings.mode === "single" ? i.items.length : Math.max(0, Math.min(i.items.length, t)), !i.isPending) 8718 for (u = i.$control.children(":not(input)"), r = 0, e = u.length; r < e; r++) f = n(u[r]).detach(), r < t ? i.$control_input.before(f) : i.$control.append(f); 8719 i.caretPos = t 8720 }, 8721 lock: function() { 8722 this.close();
8723 this.isLocked = !0; 8724 this.refreshState() 8725 }, 8726 unlock: function() { 8727 this.isLocked = !1; 8728 this.refreshState() 8729 }, 8730 disable: function() { 8731 var n = this; 8732 n.$input.prop("disabled", !0); 8733 n.$control_input.prop("disabled", !0).prop("tabindex", -1); 8734 n.isDisabled = !0; 8735 n.lock() 8736 }, 8737 enable: function() { 8738 var n = this; 8739 n.$input.prop("disabled", !1); 8740 n.$control_input.prop("disabled", !1).prop("tabindex", n.tabIndex); 8741 n.isDisabled = !1; 8742 n.unlock() 8743 }, 8744 destroy: function() { 8745 var t = this, 8746 i = t.eventNS, 8747 u = t.revertSettings; 8748 t.trigger("destroy"); 8749 t.off(); 8750 t.$wrapper.remove(); 8751 t.$dropdown.remove(); 8752 t.$input.html("").append(u.$children).removeAttr("tabindex").removeClass("selectized").attr({ 8753 tabindex: u.tabindex 8754 }).show(); 8755 t.$control_input.removeData("grow"); 8756 t.$input.removeData("selectize"); 8757 --r.count == 0 && r.$testInput && (r.$testInput.remove(), r.$testInput = undefined); 8758 n(window).off(i); 8759 n(document).off(i); 8760 n(document.body).off(i); 8761 delete t.$input[0].selectize 8762 }, 8763 render: function(t, i) { 8764 var e, h, f = "", 8765 o = !1, 8766 r = this; 8767 return ((t === "option" || t === "item") && (e = u(i[r.settings.valueField]), o = !!e), o && (b(r.renderCache[t]) || (r.renderCache[t] = {}), r.renderCache[t].hasOwnProperty(e))) ? r.renderCache[t][e] : (f = n(r.settings.render[t].apply(this, [i, s])), t === "option" || t === "option_create" ? i[r.settings.disabledField] || f.attr("data-selectable", "") : t === "optgroup" && (h = i[r.settings.optgroupValueField] || "", f.attr("data-group", h), i[r.settings.disabledField] && f.attr("data-disabled", "")), (t === "option" || t === "item") && f.attr("data-value", e || ""), o && (r.renderCache[t][e] = f[0]), f[0]) 8768 }, 8769 clearCache: function(n) { 8770 var t = this; 8771 typeof n == "undefined" ? t.renderCache = {} : delete t.renderCache[n] 8772 }, 8773 canCreate: function(n) { 8774 var i = this, 8775 t; 8776 return i.settings.create ? (t = i.settings.createFilter, n.length && (typeof t != "function" || t.apply(i, [n])) && (typeof t != "string" || new RegExp(t).test(n)) && (!(t instanceof RegExp) || t.test(n))) : !1 8777 } 8778 }), r.count = 0, r.defaults = { 8779 options: [], 8780 optgroups: [], 8781 plugins: [], 8782 delimiter: ",", 8783 splitOn: null, 8784 persist: !0, 8785 diacritics: !0, 8786 create: !1, 8787 createOnBlur: !1, 8788 chooseItemOnBlur: !1, 8789 createFilter: null, 8790 highlight: !0, 8791 openOnFocus: !0, 8792 maxOptions: 1e3, 8793 maxItems: null, 8794 hideSelected: null, 8795 addPrecedence: !1, 8796 selectOnTab: !0, 8797 preload: !1, 8798 allowEmptyOption: !1, 8799 closeAfterSelect: !1, 8800 scrollDuration: 60, 8801 loadThrottle: 300, 8802 loadingClass: "loading", 8803 dataAttr: "data-data", 8804 optgroupField: "optgroup", 8805 valueField: "value", 8806 labelField: "text", 8807 disabledField: "disabled", 8808 optgroupLabelField: "label", 8809 optgroupValueField: "value", 8810 lockOptgroupOrder: !1, 8811 sortField: "$order", 8812 searchField: ["text"], 8813 searchConjunction: "and", 8814 mode: null, 8815 wrapperClass: "selectize-control", 8816 inputClass: "selectize-input", 8817 dropdownClass: "selectize-dropdown", 8818 dropdownContentClass: "selectize-dropdown-content", 8819 dropdownParent: null, 8820 copyClassesToDropdown: !0, 8821 render: {} 8822 }, n.fn.selectize = function(t) { 8823 var c = n.fn.selectize.defaults, 8824 i = n.extend({}, c, t), 8825 o = i.dataAttr, 8826 s = i.labelField, 8827 e = i.valueField, 8828 h = i.disabledField, 8829 f = i.optgroupField, 8830 l = i.optgroupLabelField, 8831 a = i.optgroupValueField, 8832 v = function(t, r) { 8833 var u, h, f, c, a = t.attr(o), 8834 l; 8835 if (a) 8836 for (r.options = JSON.parse(a), u = 0, h = r.options.length; u < h; u++) r.items.push(r.options[u][e]); 8837 else { 8838 if (l = n.trim(t.val() || ""), !i.allowEmptyOption && !l.length) return; 8839 for (f = l.split(i.delimiter), u = 0, h = f.length; u < h; u++) c = {}, c[s] = f[u], c[e] = f[u], r.options.push(c); 8840 r.items = f 8841 } 8842 }, 8843 y = function(t, r) { 8844 var c, w, p, v, d = r.options, 8845 y = {}, 8846 b = function(n) { 8847 var t = o && n.attr(o); 8848 return typeof t == "string" && t.length ? JSON.parse(t) : null 8849 }, 8850 k = function(t, o) { 8851 var l, a, c; 8852 if (t = n(t), l = u(t.val()), l || i.allowEmptyOption) { 8853 if (y.hasOwnProperty(l)) { 8854 o && (a = y[l][f], a ? n.isArray(a) ? a.push(o) : y[l][f] = [a, o] : y[l][f] = o); 8855 return 8856 } 8857 c = b(t) || {}; 8858 c[s] = c[s] || t.text(); 8859 c[e] = c[e] || l; 8860 c[h] = c[h] || t.prop("disabled"); 8861 c[f] = c[f] || o; 8862 y[l] = c; 8863 d.push(c); 8864 t.is(":selected") && r.items.push(l) 8865 } 8866 }, 8867 g = function(t) { 8868 var f, o, i, u, e; 8869 for (t = n(t), i = t.attr("label"), i && (u = b(t) || {}, u[l] = i, u[a] = i, u[h] = t.prop("disabled"), r.optgroups.push(u)), e = n("option", t), f = 0, o = e.length; f < o; f++) k(e[f], i) 8870 }; 8871 for (r.maxItems = t.attr("multiple") ? null : 1, v = t.children(), c = 0, w = v.length; c < w; c++) p = v[c].tagName.toLowerCase(), p === "optgroup" ? g(v[c]) : p === "option" && k(v[c]) 8872 }; 8873 return this.each(function() { 8874 var f; 8875 if (!this.selectize) { 8876 var o, u = n(this), 8877 s = this.tagName.toLowerCase(), 8878 e = u.attr("placeholder") || u.attr("data-placeholder"); 8879 e || i.allowEmptyOption || (e = u.children('option[value=""]').text()); 8880 f = { 8881 placeholder: e, 8882 options: [], 8883 optgroups: [], 8884 items: [] 8885 }; 8886 s === "select" ? y(u, f) : v(u, f); 8887 o = new r(u, n.extend(!0, {}, c, f, t)) 8888 } 8889 }) 8890 }, n.fn.selectize.defaults = r.defaults, n.fn.selectize.support = { 8891 validity: w 8892 }, r.define("drag_drop", function() { 8893 if (!n.fn.sortable) throw new Error('The "drag_drop" plugin requires jQuery UI "sortable".'); 8894 if (this.settings.mode === "multi") { 8895 var t = this; 8896 t.lock = function() { 8897 var n = t.lock; 8898 return function() { 8899 var i = t.$control.data("sortable"); 8900 return i && i.disable(), n.apply(t, arguments) 8901 } 8902 }(); 8903 t.unlock = function() { 8904 var n = t.unlock; 8905 return function() { 8906 var i = t.$control.data("sortable"); 8907 return i && i.enable(), n.apply(t, arguments) 8908 } 8909 }(); 8910 t.setup = function() { 8911 var i = t.setup; 8912 return function() { 8913 i.apply(this, arguments);
8914 var r = t.$control.sortable({ 8915 items: "[data-value]", 8916 forcePlaceholderSize: !0, 8917 disabled: t.isLocked, 8918 start: function(n, t) { 8919 t.placeholder.css("width", t.helper.css("width")); 8920 r.css({ 8921 overflow: "visible" 8922 }) 8923 }, 8924 stop: function() { 8925 r.css({ 8926 overflow: "hidden" 8927 }); 8928 var u = t.$activeItems ? t.$activeItems.slice() : null, 8929 i = []; 8930 r.children("[data-value]").each(function() { 8931 i.push(n(this).attr("data-value")) 8932 }); 8933 t.setValue(i); 8934 t.setActiveItem(u) 8935 } 8936 }) 8937 } 8938 }() 8939 } 8940 }), r.define("dropdown_header", function(t) { 8941 var i = this; 8942 t = n.extend({ 8943 title: "Untitled", 8944 headerClass: "selectize-dropdown-header", 8945 titleRowClass: "selectize-dropdown-header-title", 8946 labelClass: "selectize-dropdown-header-label", 8947 closeClass: "selectize-dropdown-header-close", 8948 html: function(n) { 8949 return '<div class="' + n.headerClass + '"><div class="' + n.titleRowClass + '"><span class="' + n.labelClass + '">' + n.title + '<\/span><a href="javascript:void(0)" class="' + n.closeClass + '">×<\/a><\/div><\/div>' 8950 } 8951 }, t); 8952 i.setup = function() { 8953 var r = i.setup; 8954 return function() { 8955 r.apply(i, arguments); 8956 i.$dropdown_header = n(t.html(t)); 8957 i.$dropdown.prepend(i.$dropdown_header) 8958 } 8959 }() 8960 }), r.define("optgroup_columns", function(t) { 8961 var i = this, 8962 r, u; 8963 t = n.extend({ 8964 equalizeWidth: !0, 8965 equalizeHeight: !0 8966 }, t); 8967 this.getAdjacentOption = function(t, i) { 8968 var r = t.closest("[data-group]").find("[data-selectable]"), 8969 u = r.index(t) + i; 8970 return u >= 0 && u < r.length ? r.eq(u) : n() 8971 }; 8972 this.onKeyDown = function() { 8973 var n = i.onKeyDown; 8974 return function(t) { 8975 var e, u, f, r; 8976 if (this.isOpen && (t.keyCode === l || t.keyCode === y)) { 8977 i.ignoreHover = !0; 8978 r = this.$activeOption.closest("[data-group]"); 8979 e = r.find("[data-selectable]").index(this.$activeOption); 8980 r = t.keyCode === l ? r.prev("[data-group]") : r.next("[data-group]"); 8981 f = r.find("[data-selectable]"); 8982 u = f.eq(Math.min(f.length - 1, e)); 8983 u.length && this.setActiveOption(u); 8984 return 8985 } 8986 return n.apply(this, arguments) 8987 } 8988 }(); 8989 r = function() { 8990 var n, t = r.width, 8991 i = document; 8992 return typeof t == "undefined" && (n = i.createElement("div"), n.innerHTML = '<div style="width:50px;height:50px;position:absolute;left:-50px;top:-50px;overflow:auto;"><div style="width:1px;height:100px;"><\/div><\/div>', n = n.firstChild, i.body.appendChild(n), t = r.width = n.offsetWidth - n.clientWidth, i.body.removeChild(n)), t 8993 }; 8994 u = function() { 8995 var e, u, o, s, c, h, f; 8996 if (f = n("[data-group]", i.$dropdown_content), u = f.length, u && i.$dropdown_content.width()) { 8997 if (t.equalizeHeight) { 8998 for (o = 0, e = 0; e < u; e++) o = Math.max(o, f.eq(e).height()); 8999 f.css({ 9000 height: o 9001 }) 9002 } 9003 t.equalizeWidth && (h = i.$dropdown_content.innerWidth() - r(), s = Math.round(h / u), f.css({ 9004 width: s 9005 }), u > 1 && (c = h - s * (u - 1), f.eq(u - 1).css({ 9006 width: c 9007 }))) 9008 } 9009 }; 9010 (t.equalizeHeight || t.equalizeWidth) && (c.after(this, "positionDropdown", u), c.after(this, "refreshOptions", u)) 9011 }), r.define("remove_button", function(t) { 9012 t = n.extend({ 9013 label: "×", 9014 title: "Remove", 9015 className: "remove", 9016 append: !0 9017 }, t); 9018 var i = function(t, i) { 9019 i.className = "remove-single"; 9020 var r = t, 9021 u = '<a href="javascript:void(0)" class="' + i.className + '" tabindex="-1" title="' + s(i.title) + '">' + i.label + "<\/a>", 9022 f = function(t, i) {
9023 return n("<span>").append(t).append(i) 9024 }; 9025 t.setup = function() { 9026 var e = r.setup; 9027 return function() { 9028 if (i.append) { 9029 var o = n(r.$input.context).attr("id"), 9030 h = n("#" + o), 9031 s = r.settings.render.item; 9032 r.settings.render.item = function() { 9033 return f(s.apply(t, arguments), u) 9034 } 9035 } 9036 e.apply(t, arguments); 9037 t.$control.on("click", "." + i.className, function(n) { 9038 (n.preventDefault(), r.isLocked) || r.clear() 9039 }) 9040 } 9041 }() 9042 }, 9043 r = function(t, i) { 9044 var r = t, 9045 u = '<a href="javascript:void(0)" class="' + i.className + '" tabindex="-1" title="' + s(i.title) + '">' + i.label + "<\/a>", 9046 f = function(n, t) { 9047 var i = n.search(/(<\/[^>]+>\s*)$/); 9048 return n.substring(0, i) + t + n.substring(i) 9049 }; 9050 t.setup = function() { 9051 var e = r.setup; 9052 return function() { 9053 if (i.append) { 9054 var o = r.settings.render.item; 9055 r.settings.render.item = function() { 9056 return f(o.apply(t, arguments), u) 9057 } 9058 } 9059 e.apply(t, arguments); 9060 t.$control.on("click", "." + i.className, function(t) { 9061 if (t.preventDefault(), !r.isLocked) { 9062 var i = n(t.currentTarget).parent(); 9063 r.setActiveItem(i); 9064 r.deleteSelection() && r.setCaret(r.items.length) 9065 } 9066 }) 9067 } 9068 }() 9069 }; 9070 if (this.settings.mode === "single") { 9071 i(this, t); 9072 return 9073 } 9074 r(this, t) 9075 }), r.define("restore_on_backspace", function(n) { 9076 var t = this; 9077 n.text = n.text || function(n) { 9078 return n[this.settings.labelField] 9079 }; 9080 this.onKeyDown = function() { 9081 var i = t.onKeyDown; 9082 return function(t) { 9083 var r, u; 9084 if (t.keyCode === o && this.$control_input.val() === "" && !this.$activeItems.length && (r = this.caretPos - 1, r >= 0 && r < this.items.length)) { 9085 u = this.options[this.items[r]]; 9086 this.deleteSelection(t) && (this.setTextboxValue(n.text.apply(this, [u])), this.refreshOptions(!0)); 9087 t.preventDefault(); 9088 return 9089 } 9090 return i.apply(this, arguments) 9091 } 9092 }() 9093 }), r 9094}); 9095;
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.