1! function(t, e) { 2 "object" == typeof exports && "undefined" != typeof module ? e(exports, require("jquery")) : "function" == typeof define && define.amd ? define(["exports", "jquery"], e) : e((t = t || self).bootstrap = {}, t.jQuery) 3}(this, function(t, f) { 4 "use strict"; 5 6 function s(t, e) { 7 for (var i = 0; i < e.length; i++) { 8 var s = e[i]; 9 s.enumerable = s.enumerable || !1, s.configurable = !0, "value" in s && (s.writable = !0), Object.defineProperty(t, s.key, s) 10 } 11 } 12 13 function r(t, e, i) { 14 return e && s(t.prototype, e), i && s(t, i), t 15 } 16 17 function l(n) { 18 for (var t = 1; t < arguments.length; t++) { 19 var o = null != arguments[t] ? arguments[t] : {}, 20 e = Object.keys(o); 21 "function" == typeof Object.getOwnPropertySymbols && (e = e.concat(Object.getOwnPropertySymbols(o).filter(function(t) { 22 return Object.getOwnPropertyDescriptor(o, t).enumerable 23 }))), e.forEach(function(t) { 24 var e, i, s; 25 e = n, s = o[i = t], i in e ? Object.defineProperty(e, i, { 26 value: s, 27 enumerable: !0, 28 configurable: !0, 29 writable: !0 30 }) : e[i] = s 31 }) 32 } 33 return n 34 } 35 f = f && f.hasOwnProperty("default") ? f.default : f; 36 var e = "transitionend"; 37 38 function i(t) { 39 var e = this, 40 i = !1; 41 return f(this).one(m.TRANSITION_END, function() { 42 i = !0 43 }), setTimeout(function() { 44 i || m.triggerTransitionEnd(e) 45 }, t), this 46 } 47 var m = { 48 TRANSITION_END: "bsTransitionEnd", 49 getUID: function(t) { 50 for (; t += ~~(1e6 * Math.random()), document.getElementById(t);); 51 return t 52 }, 53 getSelectorFromElement: function(t) { 54 var e = t.getAttribute("data-target"); 55 if (!e || "#" === e) { 56 var i = t.getAttribute("href"); 57 e = i && "#" !== i ? i.trim() : "" 58 } 59 try { 60 return document.querySelector(e) ? e : null 61 } catch (t) { 62 return null 63 } 64 }, 65 getTransitionDurationFromElement: function(t) { 66 if (!t) return 0; 67 var e = f(t).css("transition-duration"), 68 i = f(t).css("transition-delay"), 69 s = parseFloat(e), 70 n = parseFloat(i); 71 return s || n ? (e = e.split(",")[0], i = i.split(",")[0], 1e3 * (parseFloat(e) + parseFloat(i))) : 0 72 }, 73 reflow: function(t) { 74 return t.offsetHeight 75 }, 76 triggerTransitionEnd: function(t) { 77 f(t).trigger(e) 78 }, 79 supportsTransitionEnd: function() { 80 return Boolean(e) 81 }, 82 isElement: function(t) { 83 return (t[0] || t).nodeType 84 }, 85 typeCheckConfig: function(t, e, i) { 86 for (var s in i) 87 if (Object.prototype.hasOwnProperty.call(i, s)) { 88 var n = i[s], 89 o = e[s], 90 r = o && m.isElement(o) ? "element" : (a = o, {}.toString.call(a).match(/\s([a-z]+)/i)[1].toLowerCase()); 91 if (!new RegExp(n).test(r)) throw new Error(t.toUpperCase() + ': Option "' + s + '" provided type "' + r + '" but expected type "' + n + '".') 92 } 93 var a 94 }, 95 findShadowRoot: function(t) { 96 if (!document.documentElement.attachShadow) return null; 97 if ("function" != typeof t.getRootNode) return t instanceof ShadowRoot ? t : t.parentNode ? m.findShadowRoot(t.parentNode) : null; 98 var e = t.getRootNode(); 99 return e instanceof ShadowRoot ? e : null 100 } 101 }; 102 f.fn.emulateTransitionEnd = i, f.event.special[m.TRANSITION_END] = { 103 bindType: e, 104 delegateType: e, 105 handle: function(t) { 106 if (f(t.target).is(this)) return t.handleObj.handler.apply(this, arguments) 107 } 108 }; 109 var n = "alert", 110 o = "bs.alert", 111 a = "." + o, 112 h = f.fn[n], 113 c = { 114 CLOSE: "close" + a, 115 CLOSED: "closed" + a, 116 CLICK_DATA_API: "click" + a + ".data-api" 117 }, 118 d = "alert", 119 u = "fade", 120 p = "show", 121 g = function() { 122 function s(t) { 123 this._element = t 124 } 125 var t = s.prototype; 126 return t.close = function(t) { 127 var e = this._element; 128 t && (e = this._getRootElement(t)), this._triggerCloseEvent(e).isDefaultPrevented() || this._removeElement(e) 129 }
129, t.dispose = function() { 130 f.removeData(this._element, o), this._element = null 131 }, t._getRootElement = function(t) { 132 var e = m.getSelectorFromElement(t), 133 i = !1; 134 return e && (i = document.querySelector(e)), i = i || f(t).closest("." + d)[0] 135 }, t._triggerCloseEvent = function(t) { 136 var e = f.Event(c.CLOSE); 137 return f(t).trigger(e), e 138 }, t._removeElement = function(e) { 139 var i = this; 140 if (f(e).removeClass(p), f(e).hasClass(u)) { 141 var t = m.getTransitionDurationFromElement(e); 142 f(e).one(m.TRANSITION_END, function(t) { 143 return i._destroyElement(e, t) 144 }).emulateTransitionEnd(t) 145 } else this._destroyElement(e) 146 }, t._destroyElement = function(t) { 147 f(t).detach().trigger(c.CLOSED).remove() 148 }, s._jQueryInterface = function(i) { 149 return this.each(function() { 150 var t = f(this), 151 e = t.data(o); 152 e || (e = new s(this), t.data(o, e)), "close" === i && e[i](this) 153 }) 154 }, s._handleDismiss = function(e) { 155 return function(t) { 156 t && t.preventDefault(), e.close(this) 157 } 158 }, r(s, null, [{ 159 key: "VERSION", 160 get: function() { 161 return "4.3.1" 162 } 163 }]), s 164 }(); 165 f(document).on(c.CLICK_DATA_API, '[data-dismiss="alert"]', g._handleDismiss(new g)), f.fn[n] = g._jQueryInterface, f.fn[n].Constructor = g, f.fn[n].noConflict = function() { 166 return f.fn[n] = h, g._jQueryInterface 167 }; 168 var _ = "button", 169 v = "bs.button", 170 y = "." + v, 171 w = ".data-api", 172 b = f.fn[_], 173 k = "active", 174 x = "btn", 175 C = "focus", 176 T = '[data-toggle^="button"]', 177 E = '[data-toggle="buttons"]', 178 D = 'input:not([type="hidden"])', 179 S = ".active", 180 M = ".btn", 181 I = { 182 CLICK_DATA_API: "click" + y + w, 183 FOCUS_BLUR_DATA_API: "focus" + y + w + " blur" + y + w 184 }, 185 A = function() { 186 function i(t) { 187 this._element = t 188 } 189 var t = i.prototype; 190 return t.toggle = function() { 191 var t = !0, 192 e = !0, 193 i = f(this._element).closest(E)[0]; 194 if (i) { 195 var s = this._element.querySelector(D); 196 if (s) { 197 if ("radio" === s.type) 198 if (s.checked && this._element.classList.contains(k)) t = !1; 199 else { 200 var n = i.querySelector(S); 201 n && f(n).removeClass(k) 202 } 203 if (t) { 204 if (s.hasAttribute("disabled") || i.hasAttribute("disabled") || s.classList.contains("disabled") || i.classList.contains("disabled")) return; 205 s.checked = !this._element.classList.contains(k), f(s).trigger("change") 206 } 207 s.focus(), e = !1 208 } 209 } 210 e && this._element.setAttribute("aria-pressed", !this._element.classList.contains(k)), t && f(this._element).toggleClass(k) 211 }, t.dispose = function() { 212 f.removeData(this._element, v), this._element = null 213 }, i._jQueryInterface = function(e) { 214 return this.each(function() { 215 var t = f(this).data(v); 216 t || (t = new i(this), f(this).data(v, t)), "toggle" === e && t[e]() 217 }) 218 }, r(i, null, [{ 219 key: "VERSION", 220 get: function() { 221 return "4.3.1" 222 } 223 }]), i 224 }(); 225 f(document).on(I.CLICK_DATA_API, T, function(t) { 226 t.preventDefault(); 227 var e = t.target; 228 f(e).hasClass(x) || (e = f(e).closest(M)), A._jQueryInterface.call(f(e), "toggle") 229 }).on(I.FOCUS_BLUR_DATA_API, T, function(t) { 230 var e = f(t.target).closest(M)[0];
231 f(e).toggleClass(C, /^focus(in)?$/.test(t.type)) 232 }), f.fn[_] = A._jQueryInterface, f.fn[_].Constructor = A, f.fn[_].noConflict = function() { 233 return f.fn[_] = b, A._jQueryInterface 234 }; 235 var $ = "carousel", 236 O = "bs.carousel", 237 N = "." + O, 238 P = ".data-api", 239 F = f.fn[$], 240 H = { 241 interval: 5e3, 242 keyboard: !0, 243 slide: !1, 244 pause: "hover", 245 wrap: !0, 246 touch: !0 247 }, 248 j = { 249 interval: "(number|boolean)", 250 keyboard: "boolean", 251 slide: "(boolean|string)", 252 pause: "(string|boolean)", 253 wrap: "boolean", 254 touch: "boolean" 255 }, 256 L = "next", 257 z = "prev", 258 W = "left", 259 U = "right", 260 R = { 261 SLIDE: "slide" + N, 262 SLID: "slid" + N, 263 KEYDOWN: "keydown" + N, 264 MOUSEENTER: "mouseenter" + N, 265 MOUSELEAVE: "mouseleave" + N, 266 TOUCHSTART: "touchstart" + N, 267 TOUCHMOVE: "touchmove" + N, 268 TOUCHEND: "touchend" + N, 269 POINTERDOWN: "pointerdown" + N, 270 POINTERUP: "pointerup" + N, 271 DRAG_START: "dragstart" + N, 272 LOAD_DATA_API: "load" + N + P, 273 CLICK_DATA_API: "click" + N + P 274 }, 275 B = "carousel", 276 q = "active", 277 Y = "slide", 278 V = "carousel-item-right", 279 K = "carousel-item-left", 280 Q = "carousel-item-next", 281 X = "carousel-item-prev", 282 J = "pointer-event", 283 G = ".active", 284 Z = ".active.carousel-item", 285 tt = ".carousel-item", 286 et = ".carousel-item img", 287 it = ".carousel-item-next, .carousel-item-prev", 288 st = ".carousel-indicators", 289 nt = "[data-slide], [data-slide-to]", 290 ot = '[data-ride="carousel"]', 291 rt = { 292 TOUCH: "touch", 293 PEN: "pen" 294 }, 295 at = function() { 296 function o(t, e) { 297 this._items = null, this._interval = null, this._activeElement = null, this._isPaused = !1, this._isSliding = !1, this.touchTimeout = null, this.touchStartX = 0, this.touchDeltaX = 0, this._config = this._getConfig(e), this._element = t, this._indicatorsElement = this._element.querySelector(st), this._touchSupported = "ontouchstart" in document.documentElement || 0 < navigator.maxTouchPoints, this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent), this._addEventListeners() 298 } 299 var t = o.prototype; 300 return t.next = function() { 301 this._isSliding || this._slide(L) 302 }, t.nextWhenVisible = function() { 303 !document.hidden && f(this._element).is(":visible") && "hidden" !== f(this._element).css("visibility") && this.next() 304 }, t.prev = function() { 305 this._isSliding || this._slide(z) 306 }, t.pause = function(t) { 307 t || (this._isPaused = !0), this._element.querySelector(it) && (m.triggerTransitionEnd(this._element), this.cycle(!0)), clearInterval(this._interval), this._interval = null 308 }, t.cycle = function(t) { 309 t || (this._isPaused = !1), this._interval && (clearInterval(this._interval), this._interval = null), this._config.interval && !this._isPaused && (this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval)) 310 }, t.to = function(t) { 311 var e = this; 312 this._activeElement = this._element.querySelector(Z); 313 var i = this._getItemIndex(this._activeElement); 314 if (!(t > this._items.length - 1 || t < 0)) 315 if (this._isSliding) f(this._element).one(R.SLID, function() { 316 return e.to(t) 317 }); 318 else { 319 if (i === t) return this.pause(), void this.cycle(); 320 var s = i < t ? L : z; 321 this._slide(s, this._items[t]) 322 } 323 }
323, t.dispose = function() { 324 f(this._element).off(N), f.removeData(this._element, O), this._items = null, this._config = null, this._element = null, this._interval = null, this._isPaused = null, this._isSliding = null, this._activeElement = null, this._indicatorsElement = null 325 }, t._getConfig = function(t) { 326 return t = l({}, H, t), m.typeCheckConfig($, t, j), t 327 }, t._handleSwipe = function() { 328 var t = Math.abs(this.touchDeltaX); 329 if (!(t <= 40)) { 330 var e = t / this.touchDeltaX; 331 0 < e && this.prev(), e < 0 && this.next() 332 } 333 }, t._addEventListeners = function() { 334 var e = this; 335 this._config.keyboard && f(this._element).on(R.KEYDOWN, function(t) { 336 return e._keydown(t) 337 }), "hover" === this._config.pause && f(this._element).on(R.MOUSEENTER, function(t) { 338 return e.pause(t) 339 }).on(R.MOUSELEAVE, function(t) { 340 return e.cycle(t) 341 }), this._config.touch && this._addTouchEventListeners() 342 }, t._addTouchEventListeners = function() { 343 var i = this; 344 if (this._touchSupported) { 345 var e = function(t) { 346 i._pointerEvent && rt[t.originalEvent.pointerType.toUpperCase()] ? i.touchStartX = t.originalEvent.clientX : i._pointerEvent || (i.touchStartX = t.originalEvent.touches[0].clientX) 347 }, 348 s = function(t) { 349 i._pointerEvent && rt[t.originalEvent.pointerType.toUpperCase()] && (i.touchDeltaX = t.originalEvent.clientX - i.touchStartX), i._handleSwipe(), "hover" === i._config.pause && (i.pause(), i.touchTimeout && clearTimeout(i.touchTimeout), i.touchTimeout = setTimeout(function(t) { 350 return i.cycle(t) 351 }, 500 + i._config.interval)) 352 }; 353 f(this._element.querySelectorAll(et)).on(R.DRAG_START, function(t) { 354 return t.preventDefault() 355 }), this._pointerEvent ? (f(this._element).on(R.POINTERDOWN, function(t) { 356 return e(t) 357 }), f(this._element).on(R.POINTERUP, function(t) { 358 return s(t) 359 }), this._element.classList.add(J)) : (f(this._element).on(R.TOUCHSTART, function(t) { 360 return e(t) 361 }), f(this._element).on(R.TOUCHMOVE, function(t) { 362 var e; 363 (e = t).originalEvent.touches && 1 < e.originalEvent.touches.length ? i.touchDeltaX = 0 : i.touchDeltaX = e.originalEvent.touches[0].clientX - i.touchStartX 364 }), f(this._element).on(R.TOUCHEND, function(t) { 365 return s(t) 366 })) 367 } 368 }, t._keydown = function(t) { 369 if (!/input|textarea/i.test(t.target.tagName)) switch (t.which) { 370 case 37: 371 t.preventDefault(), this.prev(); 372 break; 373 case 39: 374 t.preventDefault(), this.next() 375 } 376 }, t._getItemIndex = function(t) { 377 return this._items = t && t.parentNode ? [].slice.call(t.parentNode.querySelectorAll(tt)) : [], this._items.indexOf(t) 378 }, t._getItemByDirection = function(t, e) { 379 var i = t === L, 380 s = t === z, 381 n = this._getItemIndex(e), 382 o = this._items.length - 1; 383 if ((s && 0 === n || i && n === o) && !this._config.wrap) return e; 384 var r = (n + (t === z ? -1 : 1)) % this._items.length; 385 return -1 == r ? this._items[this._items.length - 1] : this._items[r] 386 }, t._triggerSlideEvent = function(t, e) { 387 var i = this._getItemIndex(t), 388 s = this._getItemIndex(this._element.querySelector(Z)), 389 n = f.Event(R.SLIDE, { 390 relatedTarget: t, 391 direction: e, 392 from: s, 393 to: i 394 }); 395 return f(this._element).trigger(n), n 396 }, t._setActiveIndicatorElement = function(t) { 397 if (this._indicatorsElement) { 398 var e = [].slice.call(this._indicatorsElement.querySelectorAll(G)); 399 f(e).removeClass(q); 400 var i = this._indicatorsElement.children[this._getItemIndex(t)]; 401 i && f(i).addClass(q) 402 } 403 }, t._slide = function(t, e) { 404 var i, s, n, o = this, 405 r = this._element.querySelector(Z), 406 a = this._getItemIndex(r), 407 l = e || r && this._getItemByDirection(t, r), 408 h = this._getItemIndex(l), 409 c = Boolean(this._interval); 410 if (n = t === L ? (i = K, s = Q, W) : (i = V, s = X, U), l && f(l).hasClass(q)) this._isSliding = !1; 411 else if (!this._triggerSlideEvent(l, n).isDefaultPrevented() && r && l) { 412 this._isSliding = !0, c && this.pause(), this._setActiveIndicatorElement(l); 413 var d = f.Event(R.SLID, { 414 relatedTarget: l, 415 direction: n, 416 from: a, 417 to: h 418 }); 419 if (f(this._element).hasClass(Y)) { 420 f(l).addClass(s), m.reflow(l), f(r).addClass(i), f(l).addClass(i); 421 var u = parseInt(l.getAttribute("data-interval"), 10); 422 u ? (this._config.defaultInterval = this._config.defaultInterval || this._config.interval, this._config.interval = u) : this._config.interval = this._config.defaultInterval || this._config.interval; 423 var p = m.getTransitionDurationFromElement(r); 424 f(r).one(m.TRANSITION_END, function() { 425 f(l).removeClass(i + " " + s).addClass(q), f(r).removeClass(q + " " + s + " " + i), o._isSliding = !1, setTimeout(function() { 426 return f(o._element).trigger(d) 427 }, 0) 428 }).emulateTransitionEnd(p) 429 } else f(r).removeClass(q), f(l).addClass(q), this._isSliding = !1, f(this._element).trigger(d); 430 c && this.cycle() 431 } 432 }, o._jQueryInterface = function(s) { 433 return this.each(function() { 434 var t = f(this).data(O), 435 e = l({}, H, f(this).data()); 436 "object" == typeof s && (e = l({}, e, s)); 437 var i = "string" == typeof s ? s : e.slide; 438 if (t || (t = new o(this, e), f(this).data(O, t)), "number" == typeof s) t.to(s); 439 else if ("string" == typeof i) { 440 if (void 0 === t[i]) throw new TypeError('No method n
440amed "' + i + '"'); 441 t[i]() 442 } else e.interval && e.ride && (t.pause(), t.cycle()) 443 }) 444 }, o._dataApiClickHandler = function(t) { 445 var e = m.getSelectorFromElement(this); 446 if (e) { 447 var i = f(e)[0]; 448 if (i && f(i).hasClass(B)) { 449 var s = l({}, f(i).data(), f(this).data()), 450 n = this.getAttribute("data-slide-to"); 451 n && (s.interval = !1), o._jQueryInterface.call(f(i), s), n && f(i).data(O).to(n), t.preventDefault() 452 } 453 } 454 }, r(o, null, [{ 455 key: "VERSION", 456 get: function() { 457 return "4.3.1" 458 } 459 }, { 460 key: "Default", 461 get: function() { 462 return H 463 } 464 }]), o 465 }(); 466 f(document).on(R.CLICK_DATA_API, nt, at._dataApiClickHandler), f(window).on(R.LOAD_DATA_API, function() { 467 for (var t = [].slice.call(document.querySelectorAll(ot)), e = 0, i = t.length; e < i; e++) { 468 var s = f(t[e]); 469 at._jQueryInterface.call(s, s.data()) 470 } 471 }), f.fn[$] = at._jQueryInterface, f.fn[$].Constructor = at, f.fn[$].noConflict = function() { 472 return f.fn[$] = F, at._jQueryInterface 473 }; 474 var lt = "collapse", 475 ht = "bs.collapse", 476 ct = "." + ht, 477 dt = f.fn[lt], 478 ut = { 479 toggle: !0, 480 parent: "" 481 }, 482 pt = { 483 toggle: "boolean", 484 parent: "(string|element)" 485 }, 486 ft = { 487 SHOW: "show" + ct, 488 SHOWN: "shown" + ct, 489 HIDE: "hide" + ct, 490 HIDDEN: "hidden" + ct, 491 CLICK_DATA_API: "click" + ct + ".data-api" 492 }, 493 mt = "show", 494 gt = "collapse", 495 _t = "collapsing", 496 vt = "collapsed", 497 yt = "width", 498 wt = "height", 499 bt = ".show, .collapsing", 500 kt = '[data-toggle="collapse"]', 501 xt = function() { 502 function a(e, t) { 503 this._isTransitioning = !1, this._element = e, this._config = this._getConfig(t), this._triggerArray = [].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#' + e.id + '"],[data-toggle="collapse"][data-target="#' + e.id + '"]')); 504 for (var i = [].slice.call(document.querySelectorAll(kt)), s = 0, n = i.length; s < n; s++) { 505 var o = i[s], 506 r = m.getSelectorFromElement(o), 507 a = [].slice.call(document.querySelectorAll(r)).filter(function(t) { 508 return t === e 509 }); 510 null !== r && 0 < a.length && (this._selector = r, this._triggerArray.push(o)) 511 } 512 this._parent = this._config.parent ? this._getParent() : null, this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle() 513 } 514 var t = a.prototype; 515 return t.toggle = function() { 516 f(this._element).hasClass(mt) ? this.hide() : this.show() 517 }, t.show = function() { 518 var t, e, i = this; 519 if (!this._isTransitioning && !f(this._element).hasClass(mt) && (this._parent && 0 === (t = [].slice.call(this._parent.querySelectorAll(bt)).filter(function(t) { 520 return "string" == typeof i._config.parent ? t.getAttribute("data-parent") === i._config.parent : t.classList.contains(gt) 521 })).length && (t = null), !(t && (e = f(t).not(this._selector).data(ht)) && e._isTransitioning))) { 522 var s = f.Event(ft.SHOW); 523 if (f(this._element).trigger(s), !s.isDefaultPrevented()) { 524 t && (a._jQueryInterface.call(f(t).not(this._selector), "hide"), e || f(t).data(ht, null)); 525 var n = this._getDimension(); 526 f(this._element).removeClass(gt).addClass(_t), this._element.style[n] = 0, this._triggerArray.length && f(this._triggerArray).removeClass(vt).attr("aria-expanded", !0), this.setTransitioning(!0); 527 var o = "scroll" + (n[0].toUpperCase() + n.slice(1)), 528 r = m.getTransitionDurationFromElement(this._element); 529 f(this._element).one(m.TRANSITION_END, function() { 530 f(i._element).removeClass(_t).addClass(gt).addClass(mt), i._element.style[n] = "", i.setTransitioning(!1), f(i._element).trigger(ft.SHOWN) 531 }).emulateTransitionEnd(r), this._element.style[n] = this._element[o] + "px" 532 } 533 } 534 }, t.hide = function() { 535 var t = this; 536 if (!this._isTransitioning && f(this._element).hasClass(mt)) { 537 var e = f.Event(ft.HIDE); 538 if (f(this._element).trigger(e), !e.isDefaultPrevented()) { 539 var i = this._getDimension(); 540 this._element.style[i] = this._element.getBoundingClientRect()[i] + "px", m.reflow(this._element), f(this._element).addClass(_t).removeClass(gt).removeClass(mt); 541 var s = this._triggerArray.length; 542 if (0 < s) 543 for (var n = 0; n < s; n++) { 544 var o = this._triggerArray[n], 545 r = m.getSelectorFromElement(o); 546 if (null !== r) f([].slice.call(document.querySelectorAll(r))).hasClass(mt) || f(o).addClass(vt).attr("aria-expanded", !1) 547 } 548 this.setTransitioning(!0); 549 this._element.style[i] = ""; 550 var a = m.getTransitionDurationFromElement(this._element); 551 f(this._element).one(m.TRANSITION_END, function() { 552 t.setTransitioning(!1), f(t._element).removeClass(_t).addClass(gt).trigger(ft.HIDDEN) 553 }).emulateTransitionEnd(a) 554 } 555 } 556 }, t.setTransitioning = function(t) { 557 this._isTransitioning = t 558 }
558, t.dispose = function() { 559 f.removeData(this._element, ht), this._config = null, this._parent = null, this._element = null, this._triggerArray = null, this._isTransitioning = null 560 }, t._getConfig = function(t) { 561 return (t = l({}, ut, t)).toggle = Boolean(t.toggle), m.typeCheckConfig(lt, t, pt), t 562 }, t._getDimension = function() { 563 return f(this._element).hasClass(yt) ? yt : wt 564 }, t._getParent = function() { 565 var t, i = this; 566 m.isElement(this._config.parent) ? (t = this._config.parent, void 0 !== this._config.parent.jquery && (t = this._config.parent[0])) : t = document.querySelector(this._config.parent); 567 var e = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]', 568 s = [].slice.call(t.querySelectorAll(e)); 569 return f(s).each(function(t, e) { 570 i._addAriaAndCollapsedClass(a._getTargetFromElement(e), [e]) 571 }), t 572 }, t._addAriaAndCollapsedClass = function(t, e) { 573 var i = f(t).hasClass(mt); 574 e.length && f(e).toggleClass(vt, !i).attr("aria-expanded", i) 575 }, a._getTargetFromElement = function(t) { 576 var e = m.getSelectorFromElement(t); 577 return e ? document.querySelector(e) : null 578 }, a._jQueryInterface = function(s) { 579 return this.each(function() { 580 var t = f(this), 581 e = t.data(ht), 582 i = l({}, ut, t.data(), "object" == typeof s && s ? s : {}); 583 if (!e && i.toggle && /show|hide/.test(s) && (i.toggle = !1), e || (e = new a(this, i), t.data(ht, e)), "string" == typeof s) { 584 if (void 0 === e[s]) throw new TypeError('No method named "' + s + '"'); 585 e[s]() 586 } 587 }) 588 }, r(a, null, [{ 589 key: "VERSION", 590 get: function() { 591 return "4.3.1" 592 } 593 }, { 594 key: "Default", 595 get: function() { 596 return ut 597 } 598 }]), a 599 }(); 600 f(document).on(ft.CLICK_DATA_API, kt, function(t) { 601 "A" === t.currentTarget.tagName && t.preventDefault(); 602 var i = f(this), 603 e = m.getSelectorFromElement(this), 604 s = [].slice.call(document.querySelectorAll(e)); 605 f(s).each(function() { 606 var t = f(this), 607 e = t.data(ht) ? "toggle" : i.data(); 608 xt._jQueryInterface.call(t, e) 609 }) 610 }), f.fn[lt] = xt._jQueryInterface, f.fn[lt].Constructor = xt, f.fn[lt].noConflict = function() { 611 return f.fn[lt] = dt, xt._jQueryInterface 612 }; 613 for (var Ct = "undefined" != typeof window && "undefined" != typeof document, Tt = ["Edge", "Trident", "Firefox"], Et = 0, Dt = 0; Dt < Tt.length; Dt += 1) 614 if (Ct && 0 <= navigator.userAgent.indexOf(Tt[Dt])) { 615 Et = 1; 616 break 617 } 618 var St = Ct && window.Promise ? function(t) { 619 var e = !1; 620 return function() { 621 e || (e = !0, window.Promise.resolve().then(function() { 622 e = !1, t() 623 })) 624 } 625 } : function(t) { 626 var e = !1; 627 return function() { 628 e || (e = !0, setTimeout(function() { 629 e = !1, t() 630 }, Et)) 631 } 632 }; 633 634 function Mt(t) { 635 return t && "[object Function]" === {}.toString.call(t) 636 } 637 638 function It(t, e) { 639 if (1 !== t.nodeType) return []; 640 var i = t.ownerDocument.defaultView.getComputedStyle(t, null); 641 return e ? i[e] : i 642 } 643 644 function At(t) { 645 return "HTML" === t.nodeName ? t : t.parentNode || t.host 646 } 647 648 function $t(t) { 649 if (!t) return document.body; 650 switch (t.nodeName) { 651 case "HTML": 652 case "BODY": 653 return t.ownerDocument.body; 654 case "#document": 655 return t.body 656 } 657 var e = It(t), 658 i = e.overflow, 659 s = e.overflowX, 660 n = e.overflowY; 661 return /(auto|scroll|overlay)/.test(i + n + s) ? t : $t(At(t)) 662 } 663 var Ot = Ct && !(!window.MSInputMethodContext || !document.documentMode), 664 Nt = Ct && /MSIE 10/.test(navigator.userAgent); 665 666 function Pt(t) { 667 return 11 === t ? Ot : 10 === t ? Nt : Ot || Nt 668 } 669 670 function Ft(t) { 671 if (!t) return document.documentElement; 672 for (var e = Pt(10) ? document.body : null, i = t.offsetParent || null; i === e && t.nextElementSibling;) i = (t = t.nextElementSibling).offsetParent; 673 var s = i && i.nodeName;
674 return s && "BODY" !== s && "HTML" !== s ? -1 !== ["TH", "TD", "TABLE"].indexOf(i.nodeName) && "static" === It(i, "position") ? Ft(i) : i : t ? t.ownerDocument.documentElement : document.documentElement 675 } 676 677 function Ht(t) { 678 return null !== t.parentNode ? Ht(t.parentNode) : t 679 } 680 681 function jt(t, e) { 682 if (!(t && t.nodeType && e && e.nodeType)) return document.documentElement; 683 var i = t.compareDocumentPosition(e) & Node.DOCUMENT_POSITION_FOLLOWING, 684 s = i ? t : e, 685 n = i ? e : t, 686 o = document.createRange(); 687 o.setStart(s, 0), o.setEnd(n, 0); 688 var r, a, l = o.commonAncestorContainer; 689 if (t !== l && e !== l || s.contains(n)) return "BODY" === (a = (r = l).nodeName) || "HTML" !== a && Ft(r.firstElementChild) !== r ? Ft(l) : l; 690 var h = Ht(t); 691 return h.host ? jt(h.host, e) : jt(t, Ht(e).host) 692 } 693 694 function Lt(t, e) { 695 var i = "top" === (1 < arguments.length && void 0 !== e ? e : "top") ? "scrollTop" : "scrollLeft", 696 s = t.nodeName; 697 if ("BODY" !== s && "HTML" !== s) return t[i]; 698 var n = t.ownerDocument.documentElement; 699 return (t.ownerDocument.scrollingElement || n)[i] 700 } 701 702 function zt(t, e) { 703 var i = "x" === e ? "Left" : "Top", 704 s = "Left" == i ? "Right" : "Bottom"; 705 return parseFloat(t["border" + i + "Width"], 10) + parseFloat(t["border" + s + "Width"], 10) 706 } 707 708 function Wt(t, e, i, s) { 709 return Math.max(e["offset" + t], e["scroll" + t], i["client" + t], i["offset" + t], i["scroll" + t], Pt(10) ? parseInt(i["offset" + t]) + parseInt(s["margin" + ("Height" === t ? "Top" : "Left")]) + parseInt(s["margin" + ("Height" === t ? "Bottom" : "Right")]) : 0) 710 } 711 712 function Ut(t) { 713 var e = t.body, 714 i = t.documentElement, 715 s = Pt(10) && getComputedStyle(i); 716 return { 717 height: Wt("Height", e, i, s), 718 width: Wt("Width", e, i, s) 719 } 720 } 721 var Rt = function(t, e, i) { 722 return e && Bt(t.prototype, e), i && Bt(t, i), t 723 }; 724 725 function Bt(t, e) { 726 for (var i = 0; i < e.length; i++) { 727 var s = e[i]; 728 s.enumerable = s.enumerable || !1, s.configurable = !0, "value" in s && (s.writable = !0), Object.defineProperty(t, s.key, s) 729 } 730 } 731 732 function qt(t, e, i) { 733 return e in t ? Object.defineProperty(t, e, { 734 value: i, 735 enumerable: !0, 736 configurable: !0, 737 writable: !0 738 }) : t[e] = i, t 739 } 740 var Yt = Object.assign || function(t) { 741 for (var e = 1; e < arguments.length; e++) { 742 var i = arguments[e]; 743 for (var s in i) Object.prototype.hasOwnProperty.call(i, s) && (t[s] = i[s]) 744 } 745 return t 746 }; 747 748 function Vt(t) { 749 return Yt({}, t, { 750 right: t.left + t.width, 751 bottom: t.top + t.height 752 }) 753 } 754 755 function Kt(t) { 756 var e = {}; 757 try { 758 if (Pt(10)) { 759 e = t.getBoundingClientRect(); 760 var i = Lt(t, "top"), 761 s = Lt(t, "left"); 762 e.top += i, e.left += s, e.bottom += i, e.right += s 763 } else e = t.getBoundingClientRect() 764 } catch (t) {} 765 var n = { 766 left: e.left, 767 top: e.top, 768 width: e.right - e.left, 769 height: e.bottom - e.top 770 }, 771 o = "HTML" === t.nodeName ? Ut(t.ownerDocument) : {}, 772 r = o.width || t.clientWidth || n.right - n.left, 773 a = o.height || t.clientHeight || n.bottom - n.top, 774 l = t.offsetWidth - r, 775 h = t.offsetHeight - a; 776 if (l || h) { 777 var c = It(t); 778 l -= zt(c, "x"), h -= zt(c, "y"), n.width -= l, n.height -= h 779 } 780 return Vt(n) 781 } 782 783 function Qt(t, e, i) { 784 var s = 2 < arguments.length && void 0 !== i && i, 785 n = Pt(10), 786 o = "HTML" === e.nodeName, 787 r = Kt(t), 788 a = Kt(e), 789 l = $t(t), 790 h = It(e), 791 c = parseFloat(h.borderTopWidth, 10), 792 d = parseFloat(h.borderLeftWidth, 10); 793 s && o && (a.top = Math.max(a.top, 0), a.left = Math.max(a.left, 0)); 794 var u = Vt({ 795 top: r.top - a.top - c, 796 left: r.left - a.left - d, 797 width: r.width, 798 height: r.height 799 }); 800 if (u.marginTop = 0, u.marginLeft = 0, !n && o) { 801 var p = parseFloat(h.marginTop, 10), 802 f = parseFloat(h.marginLeft, 10); 803 u.top -= c - p, u.bottom -= c - p, u.left -= d - f, u.right -= d - f, u.marginTop = p, u.marginLeft = f 804 }
805 return (n && !s ? e.contains(l) : e === l && "BODY" !== l.nodeName) && (u = function(t, e, i) { 806 var s = 2 < arguments.length && void 0 !== i && i, 807 n = Lt(e, "top"), 808 o = Lt(e, "left"), 809 r = s ? -1 : 1; 810 return t.top += n * r, t.bottom += n * r, t.left += o * r, t.right += o * r, t 811 }(u, e)), u 812 } 813 814 function Xt(t) { 815 if (!t || !t.parentElement || Pt()) return document.documentElement; 816 for (var e = t.parentElement; e && "none" === It(e, "transform");) e = e.parentElement; 817 return e || document.documentElement 818 } 819 820 function Jt(t, e, i, s, n) { 821 var o = 4 < arguments.length && void 0 !== n && n, 822 r = { 823 top: 0, 824 left: 0 825 }, 826 a = o ? Xt(t) : jt(t, e); 827 if ("viewport" === s) r = function(t, e) { 828 var i = 1 < arguments.length && void 0 !== e && e, 829 s = t.ownerDocument.documentElement, 830 n = Qt(t, s), 831 o = Math.max(s.clientWidth, window.innerWidth || 0), 832 r = Math.max(s.clientHeight, window.innerHeight || 0), 833 a = i ? 0 : Lt(s), 834 l = i ? 0 : Lt(s, "left"); 835 return Vt({ 836 top: a - n.top + n.marginTop, 837 left: l - n.left + n.marginLeft, 838 width: o, 839 height: r 840 }) 841 }(a, o); 842 else { 843 var l = void 0; 844 "scrollParent" === s ? "BODY" === (l = $t(At(e))).nodeName && (l = t.ownerDocument.documentElement) : l = "window" === s ? t.ownerDocument.documentElement : s; 845 var h = Qt(l, a, o); 846 if ("HTML" !== l.nodeName || function t(e) { 847 var i = e.nodeName; 848 if ("BODY" === i || "HTML" === i) return !1; 849 if ("fixed" === It(e, "position")) return !0; 850 var s = At(e); 851 return !!s && t(s) 852 }(a)) r = h; 853 else { 854 var c = Ut(t.ownerDocument), 855 d = c.height, 856 u = c.width; 857 r.top += h.top - h.marginTop, r.bottom = d + h.top, r.left += h.left - h.marginLeft, r.right = u + h.left 858 } 859 } 860 var p = "number" == typeof(i = i || 0); 861 return r.left += p ? i : i.left || 0, r.top += p ? i : i.top || 0, r.right -= p ? i : i.right || 0, r.bottom -= p ? i : i.bottom || 0, r 862 } 863 864 function Gt(t, e, s, i, n, o) { 865 var r = 5 < arguments.length && void 0 !== o ? o : 0; 866 if (-1 === t.indexOf("auto")) return t; 867 var a = Jt(s, i, r, n), 868 l = { 869 top: { 870 width: a.width, 871 height: e.top - a.top 872 }, 873 right: { 874 width: a.right - e.right, 875 height: a.height 876 }, 877 bottom: { 878 width: a.width, 879 height: a.bottom - e.bottom 880 }, 881 left: { 882 width: e.left - a.left, 883 height: a.height 884 } 885 }, 886 h = Object.keys(l).map(function(t) { 887 return Yt({ 888 key: t 889 }, l[t], { 890 area: (e = l[t]).width * e.height 891 }); 892 var e 893 }).sort(function(t, e) { 894 return e.area - t.area 895 }), 896 c = h.filter(function(t) { 897 var e = t.width, 898 i = t.height; 899 return e >= s.clientWidth && i >= s.clientHeight 900 }), 901 d = 0 < c.length ? c[0].key : h[0].key, 902 u = t.split("-")[1]; 903 return d + (u ? "-" + u : "") 904 } 905 906 function Zt(t, e, i, s) { 907 var n = 3 < arguments.length && void 0 !== s ? s : null; 908 return Qt(i, n ? Xt(e) : jt(e, i), n) 909 } 910 911 function te(t) { 912 var e = t.ownerDocument.defaultView.getComputedStyle(t), 913 i = parseFloat(e.marginTop || 0) + parseFloat(e.marginBottom || 0), 914 s = parseFloat(e.marginLeft || 0) + parseFloat(e.marginRight || 0
vendor: 15,160 bytes, lines 914-1266
914); 915 return { 916 width: t.offsetWidth + s, 917 height: t.offsetHeight + i 918 } 919 } 920 921 function ee(t) { 922 var e = { 923 left: "right", 924 right: "left", 925 bottom: "top", 926 top: "bottom" 927 }; 928 return t.replace(/left|right|bottom|top/g, function(t) { 929 return e[t] 930 }) 931 } 932 933 function ie(t, e, i) { 934 i = i.split("-")[0]; 935 var s = te(t), 936 n = { 937 width: s.width, 938 height: s.height 939 }, 940 o = -1 !== ["right", "left"].indexOf(i), 941 r = o ? "top" : "left", 942 a = o ? "left" : "top", 943 l = o ? "height" : "width", 944 h = o ? "width" : "height"; 945 return n[r] = e[r] + e[l] / 2 - s[l] / 2, n[a] = i === a ? e[a] - s[h] : e[ee(a)], n 946 } 947 948 function se(t, e) { 949 return Array.prototype.find ? t.find(e) : t.filter(e)[0] 950 } 951 952 function ne(t, i, e) { 953 return (void 0 === e ? t : t.slice(0, function(t, e, i) { 954 if (Array.prototype.findIndex) return t.findIndex(function(t) { 955 return t[e] === i 956 }); 957 var s = se(t, function(t) { 958 return t[e] === i 959 }); 960 return t.indexOf(s) 961 }(t, "name", e))).forEach(function(t) { 962 t.function && console.warn("`modifier.function` is deprecated, use `modifier.fn`!"); 963 var e = t.function || t.fn; 964 t.enabled && Mt(e) && (i.offsets.popper = Vt(i.offsets.popper), i.offsets.reference = Vt(i.offsets.reference), i = e(i, t)) 965 }), i 966 } 967 968 function oe(t, i) { 969 return t.some(function(t) { 970 var e = t.name; 971 return t.enabled && e === i 972 }) 973 } 974 975 function re(t) { 976 for (var e = [!1, "ms", "Webkit", "Moz", "O"], i = t.charAt(0).toUpperCase() + t.slice(1), s = 0; s < e.length; s++) { 977 var n = e[s], 978 o = n ? "" + n + i : t; 979 if (void 0 !== document.body.style[o]) return o 980 } 981 return null 982 } 983 984 function ae(t) { 985 var e = t.ownerDocument; 986 return e ? e.defaultView : window 987 } 988 989 function le(t, e, i, s) { 990 i.updateBound = s, ae(t).addEventListener("resize", i.updateBound, { 991 passive: !0 992 }); 993 var n = $t(t); 994 return function t(e, i, s, n) { 995 var o = "BODY" === e.nodeName, 996 r = o ? e.ownerDocument.defaultView : e; 997 r.addEventListener(i, s, { 998 passive: !0 999 }), o || t($t(r.parentNode), i, s, n), n.push(r) 1000 }(n, "scroll", i.updateBound, i.scrollParents), i.scrollElement = n, i.eventsEnabled = !0, i 1001 } 1002 1003 function he() { 1004 var t, e; 1005 this.state.eventsEnabled && (cancelAnimationFrame(this.scheduleUpdate), this.state = (t = this.reference, e = this.state, ae(t).removeEventListener("resize", e.updateBound), e.scrollParents.forEach(function(t) { 1006 t.removeEventListener("scroll", e.updateBound) 1007 }), e.updateBound = null, e.scrollParents = [], e.scrollElement = null, e.eventsEnabled = !1, e)) 1008 } 1009 1010 function ce(t) { 1011 return "" !== t && !isNaN(parseFloat(t)) && isFinite(t) 1012 } 1013 1014 function de(i, s) { 1015 Object.keys(s).forEach(function(t) { 1016 var e = ""; - 1 !== ["width", "height", "top", "right", "bottom", "left"].indexOf(t) && ce(s[t]) && (e = "px"), i.style[t] = s[t] + e 1017 }) 1018 } 1019 1020 function ue(t, e) { 1021 function i(t) { 1022 return t 1023 } 1024 var s = t.offsets, 1025 n = s.popper, 1026 o = s.reference, 1027 r = Math.round, 1028 a = Math.floor, 1029 l = r(o.width), 1030 h = r(n.width), 1031 c = -1 !== ["left", "right"].indexOf(t.placement), 1032 d = -1 !== t.placement.indexOf("-"), 1033 u = e ? c || d || l % 2 == h % 2 ? r : a : i, 1034 p = e ? r : i; 1035 return { 1036 left: u(l % 2 == 1 && h % 2 == 1 && !d && e ? n.left - 1 : n.left), 1037 top: p(n.top), 1038 bottom: p(n.bottom), 1039 right: u(n.right) 1040 } 1041 } 1042 var pe = Ct && /Firefox/i.test(navigator.userAgent); 1043 1044 function fe(t, e, i) { 1045 var s = se(t, function(t) { 1046 return t.name === e 1047 }), 1048 n = !!s && t.some(function(t) { 1049 return t.name === i && t.enabled && t.order < s.order 1050 }); 1051 if (!n) { 1052 var o = "`" + e + "`", 1053 r = "`" + i + "`"; 1054 console.warn(r + " modifier is required by " + o + " modifier in order to work, be sure to include it before " + o + "!") 1055 } 1056 return n 1057 } 1058 var me = ["auto-start", "auto", "auto-end", "top-start", "top", "top-end", "right-start", "right", "right-end", "bottom-end", "bottom", "bottom-start", "left-end", "left", "left-start"], 1059 ge = me.slice(3); 1060 1061 function _e(t, e) { 1062 var i = 1 < arguments.length && void 0 !== e && e, 1063 s = ge.indexOf(t), 1064 n = ge.slice(s + 1).concat(ge.slice(0, s)); 1065 return i ? n.reverse() : n 1066 } 1067 var ve = "flip", 1068 ye = "clockwise", 1069 we = "counterclockwise"; 1070 1071 function be(t, n, o, e) { 1072 var r = [0, 0], 1073 a = -1 !== ["right", "left"].indexOf(e), 1074 i = t.split(/(\+|\-)/).map(function(t) { 1075 return t.trim() 1076 }), 1077 s = i.indexOf(se(i, function(t) { 1078 return -1 !== t.search(/,|\s/) 1079 })); 1080 i[s] && -1 === i[s].indexOf(",") && console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead."); 1081 var l = /\s*,\s*|\s+/, 1082 h = -1 !== s ? [i.slice(0, s).concat([i[s].split(l)[0]]), [i[s].split(l)[1]].concat(i.slice(s + 1))] : [i]; 1083 return (h = h.map(function(t, e) { 1084 var i = (1 === e ? !a : a) ? "height" : "width", 1085 s = !1; 1086 return t.reduce(function(t, e) { 1087 return "" === t[t.length - 1] && -1 !== ["+", "-"].indexOf(e) ? (t[t.length - 1] = e, s = !0, t) : s ? (t[t.length - 1] += e, s = !1, t) : t.concat(e) 1088 }, []).map(function(t) { 1089 return function(t, e, i, s) { 1090 var n = t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/), 1091 o = +n[1], 1092 r = n[2]; 1093 if (!o) return t; 1094 if (0 !== r.indexOf("%")) return "vh" !== r && "vw" !== r ? o : ("vh" === r ? Math.max(document.documentElement.clientHeight, window.innerHeight || 0) : Math.max(document.documentElement.clientWidth, window.innerWidth || 0)) / 100 * o; 1095 var a = void 0; 1096 switch (r) { 1097 case "%p": 1098 a = i; 1099 break; 1100 case "%": 1101 case "%r": 1102 default: 1103 a = s 1104 } 1105 return Vt(a)[e] / 100 * o 1106 }(t, i, n, o) 1107 }) 1108 })).forEach(function(i, s) { 1109 i.forEach(function(t, e) { 1110 ce(t) && (r[s] += t * ("-" === i[e - 1] ? -1 : 1)) 1111 }) 1112 }), r 1113 } 1114 var ke = { 1115 placement: "bottom", 1116 positionFixed: !1, 1117 eventsEnabled: !0, 1118 removeOnDestroy: !1, 1119 onCreate: function() {}, 1120 onUpdate: function() {}, 1121 modifiers: { 1122 shift: { 1123 order: 100, 1124 enabled: !0, 1125 fn: function(t) { 1126 var e = t.placement, 1127 i = e.split("-")[0], 1128 s = e.split("-")[1]; 1129 if (s) { 1130 var n = t.offsets, 1131 o = n.reference, 1132 r = n.popper, 1133 a = -1 !== ["bottom", "top"].indexOf(i), 1134 l = a ? "left" : "top", 1135 h = a ? "width" : "height", 1136 c = { 1137 start: qt({}, l, o[l]), 1138 end: qt({}, l, o[l] + o[h] - r[h]) 1139 }; 1140 t.offsets.popper = Yt({}, r, c[s]) 1141 } 1142 return t 1143 } 1144 }, 1145 offset: { 1146 order: 200, 1147 enabled: !0, 1148 fn: function(t, e) { 1149 var i = e.offset, 1150 s = t.placement, 1151 n = t.offsets, 1152 o = n.popper, 1153 r = n.reference, 1154 a = s.split("-")[0], 1155 l = void 0; 1156 return l = ce(+i) ? [+i, 0] : be(i, o, r, a), "left" === a ? (o.top += l[0], o.left -= l[1]) : "right" === a ? (o.top += l[0], o.left += l[1]) : "top" === a ? (o.left += l[0], o.top -= l[1]) : "bottom" === a && (o.left += l[0], o.top += l[1]), t.popper = o, t 1157 }, 1158 offset: 0 1159 }, 1160 preventOverflow: { 1161 order: 300, 1162 enabled: !0, 1163 fn: function(t, s) { 1164 var e = s.boundariesElement || Ft(t.instance.popper); 1165 t.instance.reference === e && (e = Ft(e)); 1166 var i = re("transform"), 1167 n = t.instance.popper.style, 1168 o = n.top, 1169 r = n.left, 1170 a = n[i]; 1171 n.top = "", n.left = "", n[i] = ""; 1172 var l = Jt(t.instance.popper, t.instance.reference, s.padding, e, t.positionFixed); 1173 n.top = o, n.left = r, n[i] = a, s.boundaries = l; 1174 var h = s.priority, 1175 c = t.offsets.popper, 1176 d = { 1177 primary: function(t) { 1178 var e = c[t]; 1179 return c[t] < l[t] && !s.escapeWithReference && (e = Math.max(c[t], l[t])), qt({}, t, e) 1180 }, 1181 secondary: function(t) { 1182 var e = "right" === t ? "left" : "top", 1183 i = c[e]; 1184 return c[t] > l[t] && !s.escapeWithReference && (i = Math.min(c[e], l[t] - ("right" === t ? c.width : c.height))), qt({}, e, i) 1185 } 1186 }; 1187 return h.forEach(function(t) { 1188 var e = -1 !== ["left", "top"].indexOf(t) ? "primary" : "secondary"; 1189 c = Yt({}, c, d[e](t)) 1190 }), t.offsets.popper = c, t 1191 }, 1192 priority: ["left", "right", "top", "bottom"], 1193 padding: 5, 1194 boundariesElement: "scrollParent" 1195 }, 1196 keepTogether: { 1197 order: 400, 1198 enabled: !0, 1199 fn: function(t) { 1200 var e = t.offsets, 1201 i = e.popper, 1202 s = e.reference, 1203 n = t.placement.split("-")[0], 1204 o = Math.floor, 1205 r = -1 !== ["top", "bottom"].indexOf(n), 1206 a = r ? "right" : "bottom", 1207 l = r ? "left" : "top", 1208 h = r ? "width" : "height"; 1209 return i[a] < o(s[l]) && (t.offsets.popper[l] = o(s[l]) - i[h]), i[l] > o(s[a]) && (t.offsets.popper[l] = o(s[a])), t 1210 } 1211 }, 1212 arrow: { 1213 order: 500, 1214 enabled: !0, 1215 fn: function(t, e) { 1216 var i; 1217 if (!fe(t.instance.modifiers, "arrow", "keepTogether")) return t; 1218 var s = e.element; 1219 if ("string" == typeof s) { 1220 if (!(s = t.instance.popper.querySelector(s))) return t 1221 } else if (!t.instance.popper.contains(s)) return console.warn("WARNING: `arrow.element` must be child of its popper element!"), t; 1222 var n = t.placement.split("-")[0], 1223 o = t.offsets, 1224 r = o.popper, 1225 a = o.reference, 1226 l = -1 !== ["left", "right"].indexOf(n), 1227 h = l ? "height" : "width", 1228 c = l ? "Top" : "Left", 1229 d = c.toLowerCase(), 1230 u = l ? "left" : "top", 1231 p = l ? "bottom" : "right", 1232 f = te(s)[h]; 1233 a[p] - f < r[d] && (t.offsets.popper[d] -= r[d] - (a[p] - f)), a[d] + f > r[p] && (t.offsets.popper[d] += a[d] + f - r[p]), t.offsets.popper = Vt(t.offsets.popper); 1234 var m = a[d] + a[h] / 2 - f / 2, 1235 g = It(t.instance.popper), 1236 _ = parseFloat(g["margin" + c], 10), 1237 v = parseFloat(g["border" + c + "Width"], 10), 1238 y = m - t.offsets.popper[d] - _ - v; 1239 return y = Math.max(Math.min(r[h] - f, y), 0), t.arrowElement = s, t.offsets.arrow = (qt(i = {}, d, Math.round(y)), qt(i, u, ""), i), t 1240 }, 1241 element: "[x-arrow]" 1242 }, 1243 flip: { 1244 order: 600, 1245 enabled: !0, 1246 fn: function(f, m) { 1247 if (oe(f.instance.modifiers, "inner")) return f; 1248 if (f.flipped && f.placement === f.originalPlacement) return f; 1249 var g = Jt(f.instance.popper, f.instance.reference, m.padding, m.boundariesElement, f.positionFixed), 1250 _ = f.placement.split("-")[0], 1251 v = ee(_), 1252 y = f.placement.split("-")[1] || "", 1253 w = []; 1254 switch (m.behavior) { 1255 case ve: 1256 w = [_, v]; 1257 break; 1258 case ye: 1259 w = _e(_); 1260 break; 1261 case we: 1262 w = _e(_, !0); 1263 break; 1264 default: 1265 w = m.behavior 1266 }
1267 return w.forEach(function(t, e) { 1268 if (_ !== t || w.length === e + 1) return f; 1269 _ = f.placement.split("-")[0], v = ee(_); 1270 var i, s = f.offsets.popper, 1271 n = f.offsets.reference, 1272 o = Math.floor, 1273 r = "left" === _ && o(s.right) > o(n.left) || "right" === _ && o(s.left) < o(n.right) || "top" === _ && o(s.bottom) > o(n.top) || "bottom" === _ && o(s.top) < o(n.bottom), 1274 a = o(s.left) < o(g.left), 1275 l = o(s.right) > o(g.right), 1276 h = o(s.top) < o(g.top), 1277 c = o(s.bottom) > o(g.bottom), 1278 d = "left" === _ && a || "right" === _ && l || "top" === _ && h || "bottom" === _ && c, 1279 u = -1 !== ["top", "bottom"].indexOf(_), 1280 p = !!m.flipVariations && (u && "start" === y && a || u && "end" === y && l || !u && "start" === y && h || !u && "end" === y && c); 1281 (r || d || p) && (f.flipped = !0, (r || d) && (_ = w[e + 1]), p && (y = "end" === (i = y) ? "start" : "start" === i ? "end" : i), f.placement = _ + (y ? "-" + y : ""), f.offsets.popper = Yt({}, f.offsets.popper, ie(f.instance.popper, f.offsets.reference, f.placement)), f = ne(f.instance.modifiers, f, "flip")) 1282 }), f 1283 }, 1284 behavior: "flip", 1285 padding: 5, 1286 boundariesElement: "viewport" 1287 }, 1288 inner: { 1289 order: 700, 1290 enabled: !1, 1291 fn: function(t) { 1292 var e = t.placement, 1293 i = e.split("-")[0], 1294 s = t.offsets, 1295 n = s.popper, 1296 o = s.reference, 1297 r = -1 !== ["left", "right"].indexOf(i), 1298 a = -1 === ["top", "left"].indexOf(i); 1299 return n[r ? "left" : "top"] = o[i] - (a ? n[r ? "width" : "height"] : 0), t.placement = ee(e), t.offsets.popper = Vt(n), t 1300 } 1301 }, 1302 hide: { 1303 order: 800, 1304 enabled: !0, 1305 fn: function(t) { 1306 if (!fe(t.instance.modifiers, "hide", "preventOverflow")) return t; 1307 var e = t.offsets.reference, 1308 i = se(t.instance.modifiers, function(t) { 1309 return "preventOverflow" === t.name 1310 }).boundaries; 1311 if (e.bottom < i.top || e.left > i.right || e.top > i.bottom || e.right < i.left) { 1312 if (!0 === t.hide) return t; 1313 t.hide = !0, t.attributes["x-out-of-boundaries"] = "" 1314 } else { 1315 if (!1 === t.hide) return t; 1316 t.hide = !1, t.attributes["x-out-of-boundaries"] = !1 1317 } 1318 return t 1319 } 1320 }, 1321 computeStyle: { 1322 order: 850, 1323 enabled: !0, 1324 fn: function(t, e) { 1325 var i = e.x, 1326 s = e.y, 1327 n = t.offsets.popper, 1328 o = se(t.instance.modifiers, function(t) { 1329 return "applyStyle" === t.name 1330 }).gpuAcceleration; 1331 void 0 !== o && console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!"); 1332 var r = void 0 !== o ? o : e.gpuAcceleration, 1333 a = Ft(t.instance.popper), 1334 l = Kt(a), 1335 h = { 1336 position: n.position 1337 }, 1338 c = ue(t, window.devicePixelRatio < 2 || !pe), 1339 d = "bottom" === i ? "top" : "bottom", 1340 u = "right" === s ? "left" : "right", 1341 p = re("transform"), 1342 f = void 0, 1343 m = void 0; 1344 if (m = "bottom" == d ? "HTML" === a.nodeName ? -a.clientHeight + c.bottom : -l.height + c.bottom : c.top, f = "right" == u ? "HTML" === a.nodeName ? -a.clientWidth + c.right : -l.width + c.right : c.left, r && p) h[p] = "translate3d(" + f + "px, " + m + "px, 0)", h[d] = 0, h[u] = 0, h.willChange = "transform"; 1345 else { 1346 var g = "bottom" == d ? -1 : 1, 1347 _ = "right" == u ? -1 : 1; 1348 h[d] = m * g, h[u] = f * _, h.willChange = d + ", " + u 1349 } 1350 var v = { 1351 "x-placement": t.placement 1352 }; 1353 return t.attributes = Yt({}, v, t.attributes), t.styles = Yt({}, h, t.styles), t.arrowStyles = Yt({}, t.offsets.arrow, t.arrowStyles), t 1354 }, 1355 gpuAcceleration: !0, 1356 x: "bottom", 1357 y: "right" 1358 }, 1359 applyStyle: { 1360 order: 900, 1361 enabled: !0, 1362 fn: function(t) { 1363 var e, i; 1364 return de(t.instance.popper, t.styles), e = t.instance.popper, i = t.attributes, Object.keys(i).forEac
vendor: 4,175 bytes, lines 1364-1436
1364h(function(t) { 1365 !1 !== i[t] ? e.setAttribute(t, i[t]) : e.removeAttribute(t) 1366 }), t.arrowElement && Object.keys(t.arrowStyles).length && de(t.arrowElement, t.arrowStyles), t 1367 }, 1368 onLoad: function(t, e, i, s, n) { 1369 var o = Zt(n, e, t, i.positionFixed), 1370 r = Gt(i.placement, o, e, t, i.modifiers.flip.boundariesElement, i.modifiers.flip.padding); 1371 return e.setAttribute("x-placement", r), de(e, { 1372 position: i.positionFixed ? "fixed" : "absolute" 1373 }), i 1374 }, 1375 gpuAcceleration: void 0 1376 } 1377 } 1378 }, 1379 xe = (Rt(Ce, [{ 1380 key: "update", 1381 value: function() { 1382 return function() { 1383 if (!this.state.isDestroyed) { 1384 var t = { 1385 instance: this, 1386 styles: {}, 1387 arrowStyles: {}, 1388 attributes: {}, 1389 flipped: !1, 1390 offsets: {} 1391 }; 1392 t.offsets.reference = Zt(this.state, this.popper, this.reference, this.options.positionFixed), t.placement = Gt(this.options.placement, t.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding), t.originalPlacement = t.placement, t.positionFixed = this.options.positionFixed, t.offsets.popper = ie(this.popper, t.offsets.reference, t.placement), t.offsets.popper.position = this.options.positionFixed ? "fixed" : "absolute", t = ne(this.modifiers, t), this.state.isCreated ? this.options.onUpdate(t) : (this.state.isCreated = !0, this.options.onCreate(t)) 1393 } 1394 }.call(this) 1395 } 1396 }, { 1397 key: "destroy", 1398 value: function() { 1399 return function() { 1400 return this.state.isDestroyed = !0, oe(this.modifiers, "applyStyle") && (this.popper.removeAttribute("x-placement"), this.popper.style.position = "", this.popper.style.top = "", this.popper.style.left = "", this.popper.style.right = "", this.popper.style.bottom = "", this.popper.style.willChange = "", this.popper.style[re("transform")] = ""), this.disableEventListeners(), this.options.removeOnDestroy && this.popper.parentNode.removeChild(this.popper), this 1401 }.call(this) 1402 } 1403 }, { 1404 key: "enableEventListeners", 1405 value: function() { 1406 return function() { 1407 this.state.eventsEnabled || (this.state = le(this.reference, this.options, this.state, this.scheduleUpdate)) 1408 }.call(this) 1409 } 1410 }, { 1411 key: "disableEventListeners", 1412 value: function() { 1413 return he.call(this) 1414 } 1415 }]), Ce); 1416 1417 function Ce(t, e) { 1418 var i = this, 1419 s = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {}; 1420 ! function(t, e) { 1421 if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function") 1422 }(this, Ce), this.scheduleUpdate = function() { 1423 return requestAnimationFrame(i.update) 1424 }, this.update = St(this.update.bind(this)), this.options = Yt({}, Ce.Defaults, s), this.state = { 1425 isDestroyed: !1, 1426 isCreated: !1, 1427 scrollParents: [] 1428 }, this.reference = t && t.jquery ? t[0] : t, this.popper = e && e.jquery ? e[0] : e, this.options.modifiers = {}, Object.keys(Yt({}, Ce.Defaults.modifiers, s.modifiers)).forEach(function(t) { 1429 i.options.modifiers[t] = Yt({}, Ce.Defaults.modifiers[t] || {}, s.modifiers ? s.modifiers[t] : {}) 1430 }), this.modifiers = Object.keys(this.options.modifiers).map(function(t) { 1431 return Yt({ 1432 name: t 1433 }, i.options.modifiers[t]) 1434 }).sort(function(t, e) { 1435 return t.order - e.order 1436 }
1436), this.modifiers.forEach(function(t) { 1437 t.enabled && Mt(t.onLoad) && t.onLoad(i.reference, i.popper, i.options, t, i.state) 1438 }), this.update(); 1439 var n = this.options.eventsEnabled; 1440 n && this.enableEventListeners(), this.state.eventsEnabled = n 1441 } 1442 xe.Utils = ("undefined" != typeof window ? window : global).PopperUtils, xe.placements = me, xe.Defaults = ke; 1443 var Te = "dropdown", 1444 Ee = "bs.dropdown", 1445 De = "." + Ee, 1446 Se = ".data-api", 1447 Me = f.fn[Te], 1448 Ie = new RegExp("38|40|27"), 1449 Ae = { 1450 HIDE: "hide" + De, 1451 HIDDEN: "hidden" + De, 1452 SHOW: "show" + De, 1453 SHOWN: "shown" + De, 1454 CLICK: "click" + De, 1455 CLICK_DATA_API: "click" + De + Se, 1456 KEYDOWN_DATA_API: "keydown" + De + Se, 1457 KEYUP_DATA_API: "keyup" + De + Se 1458 }, 1459 $e = "disabled", 1460 Oe = "show", 1461 Ne = "dropup", 1462 Pe = "dropright", 1463 Fe = "dropleft", 1464 He = "dropdown-menu-right", 1465 je = "position-static", 1466 Le = '[data-toggle="dropdown"]', 1467 ze = ".dropdown form", 1468 We = ".dropdown-menu", 1469 Ue = ".navbar-nav", 1470 Re = ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)", 1471 Be = "top-start", 1472 qe = "top-end", 1473 Ye = "bottom-start", 1474 Ve = "bottom-end", 1475 Ke = "right-start", 1476 Qe = "left-start", 1477 Xe = { 1478 offset: 0, 1479 flip: !0, 1480 boundary: "scrollParent", 1481 reference: "toggle", 1482 display: "dynamic" 1483 }, 1484 Je = { 1485 offset: "(number|string|function)", 1486 flip: "boolean", 1487 boundary: "(string|element)", 1488 reference: "(string|element)", 1489 display: "string" 1490 }, 1491 Ge = function() { 1492 function h(t, e) { 1493 this._element = t, this._popper = null, this._config = this._getConfig(e), this._menu = this._getMenuElement(), this._inNavbar = this._detectNavbar(), this._addEventListeners() 1494 } 1495 var t = h.prototype; 1496 return t.toggle = function() { 1497 if (!this._element.disabled && !f(this._element).hasClass($e)) { 1498 var t = h._getParentFromElement(this._element), 1499 e = f(this._menu).hasClass(Oe); 1500 if (h._clearMenus(), !e) { 1501 var i = { 1502 relatedTarget: this._element 1503 }, 1504 s = f.Event(Ae.SHOW, i); 1505 if (f(t).trigger(s), !s.isDefaultPrevented()) { 1506 if (!this._inNavbar) { 1507 if (void 0 === xe) throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org/)"); 1508 var n = this._element; 1509 "parent" === this._config.reference ? n = t : m.isElement(this._config.reference) && (n = this._config.reference, void 0 !== this._config.reference.jquery && (n = this._config.reference[0])), "scrollParent" !== this._config.boundary && f(t).addClass(je), this._popper = new xe(n, this._menu, this._getPopperConfig()) 1510 } 1511 "ontouchstart" in document.documentElement && 0 === f(t).closest(Ue).length && f(document.body).children().on("mouseover", null, f.noop), this._element.focus(), this._element.setAttribute("aria-expanded", !0), f(this._menu).toggleClass(Oe), f(t).toggleClass(Oe).trigger(f.Event(Ae.SHOWN, i)) 1512 } 1513 } 1514 } 1515 }, t.show = function() { 1516 if (!(this._element.disabled || f(this._element).hasClass($e) || f(this._menu).hasClass(Oe))) { 1517 var t = { 1518 relatedTarget: this._element 1519 }, 1520 e = f.Event(Ae.SHOW, t), 1521 i = h._getParentFromElement(this._element); 1522 f(i).trigger(e), e.isDefaultPrevented() || (f(this._menu).toggleClass(Oe), f(i).toggleClass(Oe).trigger(f.Event(Ae.SHOWN, t))) 1523 } 1524 }, t.hide = function() { 1525 if (!this._element.disabled && !f(this._element).hasClass($e) && f(this._menu).hasClass(Oe)) { 1526 var t = { 1527 relatedTarget: this._element 1528 }, 1529 e = f.Event(Ae.HIDE, t), 1530 i = h._getParentFromElement(this._element); 1531 f(i).trigger(e), e.isDefaultPrevented() || (f(this._menu).toggleClass(Oe), f(i).toggleClass(Oe).trigger(f.Event(Ae.HIDDEN, t))) 1532 } 1533 }
1533, t.dispose = function() { 1534 f.removeData(this._element, Ee), f(this._element).off(De), this._element = null, (this._menu = null) !== this._popper && (this._popper.destroy(), this._popper = null) 1535 }, t.update = function() { 1536 this._inNavbar = this._detectNavbar(), null !== this._popper && this._popper.scheduleUpdate() 1537 }, t._addEventListeners = function() { 1538 var e = this; 1539 f(this._element).on(Ae.CLICK, function(t) { 1540 t.preventDefault(), t.stopPropagation(), e.toggle() 1541 }) 1542 }, t._getConfig = function(t) { 1543 return t = l({}, this.constructor.Default, f(this._element).data(), t), m.typeCheckConfig(Te, t, this.constructor.DefaultType), t 1544 }, t._getMenuElement = function() { 1545 if (!this._menu) { 1546 var t = h._getParentFromElement(this._element); 1547 t && (this._menu = t.querySelector(We)) 1548 } 1549 return this._menu 1550 }, t._getPlacement = function() { 1551 var t = f(this._element.parentNode), 1552 e = Ye; 1553 return t.hasClass(Ne) ? (e = Be, f(this._menu).hasClass(He) && (e = qe)) : t.hasClass(Pe) ? e = Ke : t.hasClass(Fe) ? e = Qe : f(this._menu).hasClass(He) && (e = Ve), e 1554 }, t._detectNavbar = function() { 1555 return 0 < f(this._element).closest(".navbar").length 1556 }, t._getOffset = function() { 1557 var e = this, 1558 t = {}; 1559 return "function" == typeof this._config.offset ? t.fn = function(t) { 1560 return t.offsets = l({}, t.offsets, e._config.offset(t.offsets, e._element) || {}), t 1561 } : t.offset = this._config.offset, t 1562 }, t._getPopperConfig = function() { 1563 var t = { 1564 placement: this._getPlacement(), 1565 modifiers: { 1566 offset: this._getOffset(), 1567 flip: { 1568 enabled: this._config.flip 1569 }, 1570 preventOverflow: { 1571 boundariesElement: this._config.boundary 1572 } 1573 } 1574 }; 1575 return "static" === this._config.display && (t.modifiers.applyStyle = { 1576 enabled: !1 1577 }), t 1578 }, h._jQueryInterface = function(e) { 1579 return this.each(function() { 1580 var t = f(this).data(Ee); 1581 if (t || (t = new h(this, "object" == typeof e ? e : null), f(this).data(Ee, t)), "string" == typeof e) { 1582 if (void 0 === t[e]) throw new TypeError('No method named "' + e + '"'); 1583 t[e]() 1584 } 1585 }) 1586 }, h._clearMenus = function(t) { 1587 if (!t || 3 !== t.which && ("keyup" !== t.type || 9 === t.which)) 1588 for (var e = [].slice.call(document.querySelectorAll(Le)), i = 0, s = e.length; i < s; i++) { 1589 var n = h._getParentFromElement(e[i]), 1590 o = f(e[i]).data(Ee), 1591 r = { 1592 relatedTarget: e[i] 1593 }; 1594 if (t && "click" === t.type && (r.clickEvent = t), o) { 1595 var a = o._menu; 1596 if (f(n).hasClass(Oe) && !(t && ("click" === t.type && /input|textarea/i.test(t.target.tagName) || "keyup" === t.type && 9 === t.which) && f.contains(n, t.target))) { 1597 var l = f.Event(Ae.HIDE, r); 1598 f(n).trigger(l), l.isDefaultPrevented() || ("ontouchstart" in document.documentElement && f(document.body).children().off("mouseover", null, f.noop), e[i].setAttribute("aria-expanded", "false"), f(a).removeClass(Oe), f(n).removeClass(Oe).trigger(f.Event(Ae.HIDDEN, r))) 1599 } 1600 } 1601 } 1602 }, h._getParentFromElement = function(t) { 1603 var e, i = m.getSelectorFromElement(t); 1604 return i && (e = document.querySelector(i)), e || t.parentNode 1605 }, h._dataApiKeydownHandler = function(t) { 1606 if ((/input|textarea/i.test(t.target.tagName) ? !(32 === t.which || 27 !== t.which && (40 !== t.which && 38 !== t.which || f(t.target).closest(We).length)) : Ie.test(t.which)) && (t.preventDefault(), t.stopPropagation(), !this.disabled && !f(this).hasClass($e))) { 1607 var e = h._getParentFromElement(this), 1608 i = f(e).hasClass(Oe); 1609 if (i && (!i || 27 !== t.which && 32 !== t.which)) { 1610 var s = [].slice.call(e.querySelectorAll(Re)); 1611 if (0 !== s.length) { 1612 var n = s.indexOf(t.target); 1613 38 === t.which && 0 < n && n--, 40 === t.which && n < s.length - 1 && n++, n < 0 && (n = 0), s[n].focus() 1614 } 1615 } else { 1616 if (27 === t.which) { 1617 var o = e.querySelector(Le); 1618 f(o).trigger("focus") 1619 } 1620 f(this).trigger("click") 1621 } 1622 } 1623 }, r(h, null, [{ 1624 key: "VERSION", 1625 get: function() { 1626 return "4.3.1" 1627 } 1628 }, { 1629 key: "Default", 1630 get: function() { 1631 return Xe 1632 } 1633 }, { 1634 key: "DefaultType", 1635 get: function() { 1636 return Je 1637 } 1638 }]), h 1639 }(); 1640 f(document).on(Ae.KEYDOWN_DATA_API, Le, Ge._dataApiKeydownHandler).on(Ae.KEYDOWN_DATA_API, We, Ge._dataApiKeydownHandler).on(Ae.CLICK_DATA_API + " " + Ae.KEYUP_DATA_API, Ge._clearMenus).on(Ae.CLICK_DATA_API, Le, function(t) { 1641 t.preventDefault(), t.stopPropagation(), Ge._jQueryInterface.call(f(this), "toggle") 1642 }).on(Ae.CLICK_DATA_API, ze, function(t) { 1643 t.stopPropagation() 1644 }), f.fn[Te] = Ge._jQueryInterface, f.fn[Te].Constructor = Ge, f.fn[Te].noConflict = function() { 1645 return f.fn[Te] = Me, Ge._jQueryInterface 1646 }; 1647 var Ze = "modal", 1648 ti = "bs.modal", 1649 ei = "." + ti, 1650 ii = f.fn[Ze], 1651 si = { 1652 backdrop: !0, 1653 keyboard: !0, 1654 focus: !0, 1655 show: !0 1656 }, 1657 ni = { 1658 backdrop: "(boolean|string)", 1659 keyboard: "boolean", 1660 focus: "boolean", 1661 show: "boolean" 1662 }, 1663 oi = { 1664 HIDE: "hide" + ei, 1665 HIDDEN: "hidden" + ei, 1666 SHOW: "show" + ei, 1667 SHOWN: "shown" + ei, 1668 FOCUSIN: "focusin" + ei, 1669 RESIZE: "resize" + ei, 1670 CLICK_DISMISS: "click.dismiss" + ei, 1671 KEYDOWN_DISMISS: "keydown.dismiss" + ei, 1672 MOUSEUP_DISMISS: "mouseup.dismiss" + ei, 1673 MOUSEDOWN_DISMISS: "mousedown.dismiss" + ei, 1674 CLICK_DATA_API: "click" + ei + ".data-api" 1675 },
1676 ri = "modal-dialog-scrollable", 1677 ai = "modal-scrollbar-measure", 1678 li = "modal-backdrop", 1679 hi = "modal-open", 1680 ci = "fade", 1681 di = "show", 1682 ui = ".modal-dialog", 1683 pi = ".modal-body", 1684 fi = '[data-toggle="modal"]', 1685 mi = '[data-dismiss="modal"]', 1686 gi = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", 1687 _i = ".sticky-top", 1688 vi = function() { 1689 function n(t, e) { 1690 this._config = this._getConfig(e), this._element = t, this._dialog = t.querySelector(ui), this._backdrop = null, this._isShown = !1, this._isBodyOverflowing = !1, this._ignoreBackdropClick = !1, this._isTransitioning = !1, this._scrollbarWidth = 0 1691 } 1692 var t = n.prototype; 1693 return t.toggle = function(t) { 1694 return this._isShown ? this.hide() : this.show(t) 1695 }, t.show = function(t) { 1696 var e = this; 1697 if (!this._isShown && !this._isTransitioning) { 1698 f(this._element).hasClass(ci) && (this._isTransitioning = !0); 1699 var i = f.Event(oi.SHOW, { 1700 relatedTarget: t 1701 }); 1702 f(this._element).trigger(i), this._isShown || i.isDefaultPrevented() || (this._isShown = !0, this._checkScrollbar(), this._setScrollbar(), this._adjustDialog(), this._setEscapeEvent(), this._setResizeEvent(), f(this._element).on(oi.CLICK_DISMISS, mi, function(t) { 1703 return e.hide(t) 1704 }), f(this._dialog).on(oi.MOUSEDOWN_DISMISS, function() { 1705 f(e._element).one(oi.MOUSEUP_DISMISS, function(t) { 1706 f(t.target).is(e._element) && (e._ignoreBackdropClick = !0) 1707 }) 1708 }), this._showBackdrop(function() { 1709 return e._showElement(t) 1710 })) 1711 } 1712 }, t.hide = function(t) { 1713 var e = this; 1714 if (t && t.preventDefault(), this._isShown && !this._isTransitioning) { 1715 var i = f.Event(oi.HIDE); 1716 if (f(this._element).trigger(i), this._isShown && !i.isDefaultPrevented()) { 1717 this._isShown = !1; 1718 var s = f(this._element).hasClass(ci); 1719 if (s && (this._isTransitioning = !0), this._setEscapeEvent(), this._setResizeEvent(), f(document).off(oi.FOCUSIN), f(this._element).removeClass(di), f(this._element).off(oi.CLICK_DISMISS), f(this._dialog).off(oi.MOUSEDOWN_DISMISS), s) { 1720 var n = m.getTransitionDurationFromElement(this._element); 1721 f(this._element).one(m.TRANSITION_END, function(t) { 1722 return e._hideModal(t) 1723 }).emulateTransitionEnd(n) 1724 } else this._hideModal() 1725 } 1726 } 1727 }, t.dispose = function() { 1728 [window, this._element, this._dialog].forEach(function(t) { 1729 return f(t).off(ei) 1730 }), f(document).off(oi.FOCUSIN), f.removeData(this._element, ti), this._config = null, this._element = null, this._dialog = null, this._backdrop = null, this._isShown = null, this._isBodyOverflowing = null, this._ignoreBackdropClick = null, this._isTransitioning = null, this._scrollbarWidth = null 1731 }, t.handleUpdate = function() { 1732 this._adjustDialog() 1733 }, t._getConfig = function(t) { 1734 return t = l({}, si, t), m.typeCheckConfig(Ze, t, ni), t 1735 }, t._showElement = function(t) { 1736 var e = this, 1737 i = f(this._element).hasClass(ci); 1738 this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE || document.body.appendChild(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.setAttribute("aria-modal", !0), f(this._dialog).hasClass(ri) ? this._dialog.querySelector(pi).scrollTop = 0 : this._element.scrollTop = 0, i && m.reflow(this._element), f(this._element).addClass(di), this._config.focus && this._enforceFocus(); 1739 1740 function s() { 1741 e._config.focus && e._element.focus(), e._isTransitioning = !1, f(e._element).trigger(n) 1742 } 1743 var n = f.Event(oi.SHOWN, { 1744 relatedTarget: t 1745 }); 1746 if (i) { 1747 var o = m.getTransitionDurationFromElement(this._dialog); 1748 f(this._dialog).one(m.TRANSITION_END, s).emulateTransitionEnd(o) 1749 } else s() 1750 }, t._enforceFocus = function() { 1751 var e = this; 1752 f(document).off(oi.FOCUSIN).on(oi.FOCUSIN, function(t) { 1753 document !== t.target && e._element !== t.target && 0 === f(e._element).has(t.target).length && e._element.focus() 1754 }) 1755 }, t._setEscapeEvent = function() { 1756 var e = this; 1757 this._isShown && this._config.keyboard ? f(this._element).on(oi.KEYDOWN_DISMISS, function(t) { 1758 27 === t.which && (t.preventDefault(), e.hide()) 1759 }) : this._isShown || f(this._element).off(oi.KEYDOWN_DISMISS) 1760 }, t._setResizeEvent = function() { 1761 var e = this; 1762 this._isShown ? f(window).on(oi.RESIZE, function(t) { 1763 return e.handleUpdate(t) 1764 }) : f(window).off(oi.RESIZE) 1765 }, t._hideModal = function() { 1766 var t = this; 1767 this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._element.removeAttribute("aria-modal"), this._isTransitioning = !1, this._showBackdrop(function() { 1768 f(document.body).removeClass(hi), t._resetAdjustments(), t._resetScrollbar(), f(t._element).trigger(oi.HIDDEN) 1769 }) 1770 }, t._removeBackdrop = function() { 1771 this._backdrop && (f(this._backdrop).remove(), this._backdrop = null) 1772 }, t._showBackdrop = function(t) { 1773 var e = this, 1774 i = f(this._element).hasClass(ci) ? ci : ""; 1775 if (this._isShown && this._config.backdrop) { 1776 if (this._backdrop = document.createElement("div"), this._backdrop.className = li, i && this._backdrop.classList.add(i), f(this._backdrop).appendTo(document.body), f(this._element).on(oi.CLICK_DISMISS, function(t) { 1777 e._ignoreBackdropClick ? e._ignoreBackdropClick = !1 : t.target === t.currentTarget && ("static" === e._config.backdrop ? e._element.focus() : e.hide()) 1778 }), i && m.reflow(this._backdrop), f(this._backdrop).addClass(di), !t) return; 1779 if (!i) return void t(); 1780 var s = m.getTransitionDurationFromElement(this._backdrop); 1781 f(this._backdrop).one(m.TRANSITION_END, t).emulateTransitionEnd(s) 1782 } else if (!this._isShown && this._backdrop) { 1783 f(this._backdrop).removeClass(di); 1784 var n = function() { 1785 e._removeBackdrop(), t && t() 1786 }; 1787 if (f(this._element).hasClass(ci)) { 1788 var o = m.getTransitionDurationFromElement(this._backdrop); 1789 f(this._backdrop).one(m.TRANSITION_END, n).emulateTransitionEnd(o) 1790 } else n() 1791 } else t && t() 1792 }, t._adjustDialog = function() { 1793 var t = this._element.scrollHeight > document.documentElement.clientHeight; 1794 !this._isBodyOverflowing && t && (this._element.style.paddingLeft = this._scrollbarWidth + "px"), this._isBodyOverflowing && !t && (this._element.style.paddingRight = this._scrollbarWidth + "px") 1795 }, t._resetAdjustments = function() { 1796 this._element.style.paddingLeft = "", this._element.style.paddingRight = "" 1797 }, t._checkScrollbar = function() { 1798 var t = document.body.getBoundingClientRect(); 1799 this._isBodyOverflowing = t.left + t.right < window.innerWidth, this._scrollbarWidth = this._getScrollbarWidth() 1800 }, t._setScrollbar = function() { 1801 var n = this; 1802 if (this._isBodyOverflowing) { 1803 var t = [].slice.call(document.querySelectorAll(gi)), 1804 e = [].slice.call(document.querySelectorAll(_i)); 1805 f(t).each(function(t, e) { 1806 var i = e.style.paddingRight, 1807 s = f(e).css("padding-right"); 1808 f(e).data("padding-right", i).css("padding-right", parseFloat(s) + n._scrollbarWidth + "px") 1809 }), f(e).each(function(t, e) { 1810 var i = e.style.marginRight, 1811 s = f(e).css("margin-right"); 1812 f(e).data("margin-right", i).css("margin-right", parseFloat(s) - n._scrollbarWidth + "px") 1813 }); 1814 var i = document.body.style.paddingRight, 1815 s = f(document.body).css("padding-right"); 1816 f(document.body).data("padding-right", i).css("padding-right", parseFloat(s) + this._scrollbarWidth + "px") 1817 } 1818 f(document.body).addClass(hi) 1819 }, t._resetScrollbar = function() { 1820 var t = [].slice.call(document.querySelectorAll(gi)); 1821 f(t).each(function(t, e) { 1822 var i = f(e).data("padding-right"); 1823 f(e).removeData("padding-right"), e.style.paddingRight = i || "" 1824 }); 1825 var e = [].slice.call(document.querySelectorAll("" + _i)); 1826 f(e).each(function(t, e) { 1827 var i = f(e).data("margin-right");
1828 void 0 !== i && f(e).css("margin-right", i).removeData("margin-right") 1829 }); 1830 var i = f(document.body).data("padding-right"); 1831 f(document.body).removeData("padding-right"), document.body.style.paddingRight = i || "" 1832 }, t._getScrollbarWidth = function() { 1833 var t = document.createElement("div"); 1834 t.className = ai, document.body.appendChild(t); 1835 var e = t.getBoundingClientRect().width - t.clientWidth; 1836 return document.body.removeChild(t), e 1837 }, n._jQueryInterface = function(i, s) { 1838 return this.each(function() { 1839 var t = f(this).data(ti), 1840 e = l({}, si, f(this).data(), "object" == typeof i && i ? i : {}); 1841 if (t || (t = new n(this, e), f(this).data(ti, t)), "string" == typeof i) { 1842 if (void 0 === t[i]) throw new TypeError('No method named "' + i + '"'); 1843 t[i](s) 1844 } else e.show && t.show(s) 1845 }) 1846 }, r(n, null, [{ 1847 key: "VERSION", 1848 get: function() { 1849 return "4.3.1" 1850 } 1851 }, { 1852 key: "Default", 1853 get: function() { 1854 return si 1855 } 1856 }]), n 1857 }(); 1858 f(document).on(oi.CLICK_DATA_API, fi, function(t) { 1859 var e, i = this, 1860 s = m.getSelectorFromElement(this); 1861 s && (e = document.querySelector(s)); 1862 var n = f(e).data(ti) ? "toggle" : l({}, f(e).data(), f(this).data()); 1863 "A" !== this.tagName && "AREA" !== this.tagName || t.preventDefault(); 1864 var o = f(e).one(oi.SHOW, function(t) { 1865 t.isDefaultPrevented() || o.one(oi.HIDDEN, function() { 1866 f(i).is(":visible") && i.focus() 1867 }) 1868 }); 1869 vi._jQueryInterface.call(f(e), n, this) 1870 }), f.fn[Ze] = vi._jQueryInterface, f.fn[Ze].Constructor = vi, f.fn[Ze].noConflict = function() { 1871 return f.fn[Ze] = ii, vi._jQueryInterface 1872 }; 1873 var yi = ["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"], 1874 wi = { 1875 "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i], 1876 a: ["target", "href", "title", "rel"], 1877 area: [], 1878 b: [], 1879 br: [], 1880 col: [], 1881 code: [], 1882 div: [], 1883 em: [], 1884 hr: [], 1885 h1: [], 1886 h2: [], 1887 h3: [], 1888 h4: [], 1889 h5: [], 1890 h6: [], 1891 i: [], 1892 img: ["src", "alt", "title", "width", "height"], 1893 li: [], 1894 ol: [], 1895 p: [], 1896 pre: [], 1897 s: [], 1898 small: [], 1899 span: [], 1900 sub: [], 1901 sup: [], 1902 strong: [], 1903 u: [], 1904 ul: [] 1905 }, 1906 bi = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi, 1907 ki = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i; 1908 1909 function xi(t, o, e) { 1910 if (0 === t.length) return t; 1911 if (e && "function" == typeof e) return e(t); 1912 for (var i = (new window.DOMParser).parseFromString(t, "text/html"), r = Object.keys(o), a = [].slice.call(i.body.querySelectorAll("*")), s = function(t) { 1913 var e = a[t], 1914 i = e.nodeName.toLowerCase(); 1915 if (-1 === r.indexOf(e.nodeName.toLowerCase())) return e.parentNode.removeChild(e), "continue"; 1916 var s = [].slice.call(e.attributes), 1917 n = [].concat(o["*"] || [], o[i] || []); 1918 s.forEach(function(t) { 1919 ! function(t, e) { 1920 var i = t.nodeName.toLowerCase(); 1921 if (-1 !== e.indexOf(i)) return -1 === yi.indexOf(i) || Boolean(t.nodeValue.match(bi) || t.nodeValue.match(ki)); 1922 for (var s = e.filter(function(t) { 1923 return t instanceof RegExp 1924 }), n = 0, o = s.length; n < o; n++) 1925 if (i.match(s[n])) return 1 1926 }(t, n) && e.removeAttribute(t.nodeName) 1927 }) 1928 }, n = 0, l = a.length; n < l; n++) s(n); 1929 return i.body.innerHTML 1930 } 1931 var Ci = "tooltip", 1932 Ti = "bs.tooltip", 1933 Ei = "." + Ti, 1934 Di = f.fn[Ci], 1935 Si = "bs-tooltip", 1936 Mi = new RegExp("(^|\\s)" + Si + "\\S+", "g"), 1937 Ii = ["sanitize", "whiteList", "sanitizeFn"], 1938 Ai = { 1939 animation: "boolean", 1940 template: "string", 1941 title: "(string|element|function)", 1942 trigger: "string", 1943 delay: "(number|object)", 1944 html: "boolean", 1945 selector: "(string|boolean)", 1946 placement: "(string|function)", 1947 offset: "(number|string|function)", 1948 container: "(string|element|boolean)", 1949 fallbackPlacement: "(string|array)", 1950 boundary: "(string|element)", 1951 sanitize: "boolean", 1952 sanitizeFn: "(null|function)", 1953 whiteList: "object" 1954 }, 1955 $i = { 1956 AUTO: "auto", 1957 TOP: "top", 1958 RIGHT: "right", 1959 BOTTOM: "bottom", 1960 LEFT: "left" 1961 }, 1962 Oi = { 1963 animation: !0, 1964 template: '<div class="tooltip" role="tooltip"><div class="arrow"></div><div class="tooltip-inner"></div></div>', 1965 trigger: "hover focus", 1966 title: "", 1967 delay: 0, 1968 html: !1, 1969 selector: !1, 1970 placement: "top", 1971 offset: 0, 1972 container: !1, 1973 fallbackPlacement: "flip", 1974 boundary: "scrollParent", 1975 sanitize: !0, 1976 sanitizeFn: null, 1977 whiteList: wi 1978 }, 1979 Ni = "show", 1980 Pi = "out", 1981 Fi = { 1982 HIDE: "hide" + Ei, 1983 HIDDEN: "hidden" + Ei, 1984 SHOW: "show" + Ei, 1985 SHOWN: "shown" + Ei, 1986 INSERTED: "inserted" + Ei, 1987 CLICK: "click" + Ei, 1988 FOCUSIN: "focusin" + Ei, 1989 FOCUSOUT: "focusout" + Ei, 1990 MOUSEENTER: "mouseenter" + Ei, 1991 MOUSELEAVE: "mouseleave" + Ei 1992 }, 1993 Hi = "fade", 1994 ji = "show", 1995 Li = ".tooltip-inner", 1996 zi = ".arrow", 1997 Wi = "hover", 1998 Ui = "focus", 1999 Ri = "click", 2000 Bi = "manual", 2001 qi = function() { 2002 function s(t, e) { 2003 if (void 0 === xe) throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)"); 2004 this._isEnabled = !0, this._timeout = 0, this._hoverState = "", this._activeTrigger = {}, this._popper = null, this.element = t, this.config = this._getConfig(e), this.tip = null, this._setListeners() 2005 } 2006 var t = s.prototype; 2007 return t.enable = function() { 2008 this._isEnabled = !0 2009 }, t.disable = function() { 2010 this._isEnabled = !1 2011 }, t.toggleEnabled = function() { 2012 this._isEnabled = !this._isEnabled 2013 }, t.toggle = function(t) { 2014 if (this._isEnabled) 2015 if (t) { 2016 var e = this.constructor.DATA_KEY, 2017 i = f(t.currentTarget).data(e); 2018 i || (i = new this.constructor(t.currentTarget, this._getDelegateConfig()), f(t.currentTarget).data(e, i)), i._activeTrigger.click = !i._activeTrigger.click, i._isWithActiveTrigger() ? i._enter(null, i) : i._leave(null, i) 2019 } else { 2020 if (f(this.getTipElement()).hasClass(ji)) return void this._leave(null, this); 2021 this._enter(null, this) 2022 } 2023 }
2023, t.dispose = function() { 2024 clearTimeout(this._timeout), f.removeData(this.element, this.constructor.DATA_KEY), f(this.element).off(this.constructor.EVENT_KEY), f(this.element).closest(".modal").off("hide.bs.modal"), this.tip && f(this.tip).remove(), this._isEnabled = null, this._timeout = null, this._hoverState = null, (this._activeTrigger = null) !== this._popper && this._popper.destroy(), this._popper = null, this.element = null, this.config = null, this.tip = null 2025 }, t.show = function() { 2026 var e = this; 2027 if ("none" === f(this.element).css("display")) throw new Error("Please use show on visible elements"); 2028 var t = f.Event(this.constructor.Event.SHOW); 2029 if (this.isWithContent() && this._isEnabled) { 2030 f(this.element).trigger(t); 2031 var i = m.findShadowRoot(this.element), 2032 s = f.contains(null !== i ? i : this.element.ownerDocument.documentElement, this.element); 2033 if (t.isDefaultPrevented() || !s) return; 2034 var n = this.getTipElement(), 2035 o = m.getUID(this.constructor.NAME); 2036 n.setAttribute("id", o), this.element.setAttribute("aria-describedby", o), this.setContent(), this.config.animation && f(n).addClass(Hi); 2037 var r = "function" == typeof this.config.placement ? this.config.placement.call(this, n, this.element) : this.config.placement, 2038 a = this._getAttachment(r); 2039 this.addAttachmentClass(a); 2040 var l = this._getContainer(); 2041 f(n).data(this.constructor.DATA_KEY, this), f.contains(this.element.ownerDocument.documentElement, this.tip) || f(n).appendTo(l), f(this.element).trigger(this.constructor.Event.INSERTED), this._popper = new xe(this.element, n, { 2042 placement: a, 2043 modifiers: { 2044 offset: this._getOffset(), 2045 flip: { 2046 behavior: this.config.fallbackPlacement 2047 }, 2048 arrow: { 2049 element: zi 2050 }, 2051 preventOverflow: { 2052 boundariesElement: this.config.boundary 2053 } 2054 }, 2055 onCreate: function(t) { 2056 t.originalPlacement !== t.placement && e._handlePopperPlacementChange(t) 2057 }, 2058 onUpdate: function(t) { 2059 return e._handlePopperPlacementChange(t) 2060 } 2061 }), f(n).addClass(ji), "ontouchstart" in document.documentElement && f(document.body).children().on("mouseover", null, f.noop); 2062 var h = function() { 2063 e.config.animation && e._fixTransition(); 2064 var t = e._hoverState; 2065 e._hoverState = null, f(e.element).trigger(e.constructor.Event.SHOWN), t === Pi && e._leave(null, e) 2066 }; 2067 if (f(this.tip).hasClass(Hi)) { 2068 var c = m.getTransitionDurationFromElement(this.tip); 2069 f(this.tip).one(m.TRANSITION_END, h).emulateTransitionEnd(c) 2070 } else h() 2071 } 2072 }, t.hide = function(t) { 2073 function e() { 2074 i._hoverState !== Ni && s.parentNode && s.parentNode.removeChild(s), i._cleanTipClass(), i.element.removeAttribute("aria-describedby"), f(i.element).trigger(i.constructor.Event.HIDDEN), null !== i._popper && i._popper.destroy(), t && t() 2075 } 2076 var i = this, 2077 s = this.getTipElement(), 2078 n = f.Event(this.constructor.Event.HIDE); 2079 if (f(this.element).trigger(n), !n.isDefaultPrevented()) { 2080 if (f(s).removeClass(ji), "ontouchstart" in document.documentElement && f(document.body).children().off("mouseover", null, f.noop), this._activeTrigger[Ri] = !1, this._activeTrigger[Ui] = !1, this._activeTrigger[Wi] = !1, f(this.tip).hasClass(Hi)) { 2081 var o = m.getTransitionDurationFromElement(s); 2082 f(s).one(m.TRANSITION_END, e).emulateTransitionEnd(o) 2083 } else e(); 2084 this._hoverState = "" 2085 } 2086 }, t.update = function() { 2087 null !== this._popper && this._popper.scheduleUpdate() 2088 }, t.isWithContent = function() { 2089 return Boolean(this.getTitle()) 2090 }, t.addAttachmentClass = function(t) { 2091 f(this.getTipElement()).addClass(Si + "-" + t) 2092 }, t.getTipElement = function() { 2093 return this.tip = this.tip || f(this.config.template)[0], this.tip 2094 }, t.setContent = function() { 2095 var t = this.getTipElement(); 2096 this.setElementContent(f(t.querySelectorAll(Li)), this.getTitle()), f(t).removeClass(Hi + " " + ji) 2097 }, t.setElementContent = function(t, e) { 2098 "object" != typeof e || !e.nodeType && !e.jquery ? this.config.html ? (this.config.sanitize && (e = xi(e, this.config.whiteList, this.config.sanitizeFn)), t.html(e)) : t.text(e) : this.config.html ? f(e).parent().is(t) || t.empty().append(e) : t.text(f(e).text()) 2099 }, t.getTitle = function() { 2100 var t = this.element.getAttribute("data-original-title"); 2101 return t = t || ("function" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title) 2102 }, t._getOffset = function() { 2103 var e = this, 2104 t = {}; 2105 return "function" == typeof this.config.offset ? t.fn = function(t) { 2106 return t.offsets = l({}, t.offsets, e.config.offset(t.offsets, e.element) || {}), t 2107 } : t.offset = this.config.offset, t 2108 }, t._getContainer = function() { 2109 return !1 === this.config.container ? document.body : m.isElement(this.config.container) ? f(this.config.container) : f(document).find(this.config.container) 2110 }, t._getAttachment = function(t) { 2111 return $i[t.toUpperCase()] 2112 }, t._setListeners = function() { 2113 var s = this; 2114 this.config.trigger.split(" ").forEach(function(t) { 2115 if ("click" === t) f(s.element).on(s.constructor.Event.CLICK, s.config.selector, function(t) { 2116 return s.toggle(t) 2117 }); 2118 else if (t !== Bi) { 2119 var e = t === Wi ? s.constructor.Event.MOUSEENTER : s.constructor.Event.FOCUSIN, 2120 i = t === Wi ? s.constructor.Event.MOUSELEAVE : s.constructor.Event.FOCUSOUT;
2121 f(s.element).on(e, s.config.selector, function(t) { 2122 return s._enter(t) 2123 }).on(i, s.config.selector, function(t) { 2124 return s._leave(t) 2125 }) 2126 } 2127 }), f(this.element).closest(".modal").on("hide.bs.modal", function() { 2128 s.element && s.hide() 2129 }), this.config.selector ? this.config = l({}, this.config, { 2130 trigger: "manual", 2131 selector: "" 2132 }) : this._fixTitle() 2133 }, t._fixTitle = function() { 2134 var t = typeof this.element.getAttribute("data-original-title"); 2135 !this.element.getAttribute("title") && "string" == t || (this.element.setAttribute("data-original-title", this.element.getAttribute("title") || ""), this.element.setAttribute("title", "")) 2136 }, t._enter = function(t, e) { 2137 var i = this.constructor.DATA_KEY; 2138 (e = e || f(t.currentTarget).data(i)) || (e = new this.constructor(t.currentTarget, this._getDelegateConfig()), f(t.currentTarget).data(i, e)), t && (e._activeTrigger["focusin" === t.type ? Ui : Wi] = !0), f(e.getTipElement()).hasClass(ji) || e._hoverState === Ni ? e._hoverState = Ni : (clearTimeout(e._timeout), e._hoverState = Ni, e.config.delay && e.config.delay.show ? e._timeout = setTimeout(function() { 2139 e._hoverState === Ni && e.show() 2140 }, e.config.delay.show) : e.show()) 2141 }, t._leave = function(t, e) { 2142 var i = this.constructor.DATA_KEY; 2143 (e = e || f(t.currentTarget).data(i)) || (e = new this.constructor(t.currentTarget, this._getDelegateConfig()), f(t.currentTarget).data(i, e)), t && (e._activeTrigger["focusout" === t.type ? Ui : Wi] = !1), e._isWithActiveTrigger() || (clearTimeout(e._timeout), e._hoverState = Pi, e.config.delay && e.config.delay.hide ? e._timeout = setTimeout(function() { 2144 e._hoverState === Pi && e.hide() 2145 }, e.config.delay.hide) : e.hide()) 2146 }, t._isWithActiveTrigger = function() { 2147 for (var t in this._activeTrigger) 2148 if (this._activeTrigger[t]) return !0; 2149 return !1 2150 }, t._getConfig = function(t) { 2151 var e = f(this.element).data(); 2152 return Object.keys(e).forEach(function(t) { 2153 -1 !== Ii.indexOf(t) && delete e[t] 2154 }), "number" == typeof(t = l({}, this.constructor.Default, e, "object" == typeof t && t ? t : {})).delay && (t.delay = { 2155 show: t.delay, 2156 hide: t.delay 2157 }), "number" == typeof t.title && (t.title = t.title.toString()), "number" == typeof t.content && (t.content = t.content.toString()), m.typeCheckConfig(Ci, t, this.constructor.DefaultType), t.sanitize && (t.template = xi(t.template, t.whiteList, t.sanitizeFn)), t 2158 }, t._getDelegateConfig = function() { 2159 var t = {}; 2160 if (this.config) 2161 for (var e in this.config) this.constructor.Default[e] !== this.config[e] && (t[e] = this.config[e]); 2162 return t 2163 }, t._cleanTipClass = function() { 2164 var t = f(this.getTipElement()), 2165 e = t.attr("class").match(Mi); 2166 null !== e && e.length && t.removeClass(e.join("")) 2167 }, t._handlePopperPlacementChange = function(t) { 2168 var e = t.instance; 2169 this.tip = e.popper, this._cleanTipClass(), this.addAttachmentClass(this._getAttachment(t.placement)) 2170 }, t._fixTransition = function() { 2171 var t = this.getTipElement(), 2172 e = this.config.animation; 2173 null === t.getAttribute("x-placement") && (f(t).removeClass(Hi), this.config.animation = !1, this.hide(), this.show(), this.config.animation = e) 2174 }, s._jQueryInterface = function(i) { 2175 return this.each(function() { 2176 var t = f(this).data(Ti), 2177 e = "object" == typeof i && i; 2178 if ((t || !/dispose|hide/.test(i)) && (t || (t = new s(this, e), f(this).data(Ti, t)), "string" == typeof i)) { 2179 if (void 0 === t[i]) throw new TypeError('No method n
2179amed "' + i + '"'); 2180 t[i]() 2181 } 2182 }) 2183 }, r(s, null, [{ 2184 key: "VERSION", 2185 get: function() { 2186 return "4.3.1" 2187 } 2188 }, { 2189 key: "Default", 2190 get: function() { 2191 return Oi 2192 } 2193 }, { 2194 key: "NAME", 2195 get: function() { 2196 return Ci 2197 } 2198 }, { 2199 key: "DATA_KEY", 2200 get: function() { 2201 return Ti 2202 } 2203 }, { 2204 key: "Event", 2205 get: function() { 2206 return Fi 2207 } 2208 }, { 2209 key: "EVENT_KEY", 2210 get: function() { 2211 return Ei 2212 } 2213 }, { 2214 key: "DefaultType", 2215 get: function() { 2216 return Ai 2217 } 2218 }]), s 2219 }(); 2220 f.fn[Ci] = qi._jQueryInterface, f.fn[Ci].Constructor = qi, f.fn[Ci].noConflict = function() { 2221 return f.fn[Ci] = Di, qi._jQueryInterface 2222 }; 2223 var Yi = "popover", 2224 Vi = "bs.popover", 2225 Ki = "." + Vi, 2226 Qi = f.fn[Yi], 2227 Xi = "bs-popover", 2228 Ji = new RegExp("(^|\\s)" + Xi + "\\S+", "g"), 2229 Gi = l({}, qi.Default, { 2230 placement: "right", 2231 trigger: "click", 2232 content: "", 2233 template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>' 2234 }), 2235 Zi = l({}, qi.DefaultType, { 2236 content: "(string|element|function)" 2237 }), 2238 ts = "fade", 2239 es = "show", 2240 is = ".popover-header", 2241 ss = ".popover-body", 2242 ns = { 2243 HIDE: "hide" + Ki, 2244 HIDDEN: "hidden" + Ki, 2245 SHOW: "show" + Ki, 2246 SHOWN: "shown" + Ki, 2247 INSERTED: "inserted" + Ki, 2248 CLICK: "click" + Ki, 2249 FOCUSIN: "focusin" + Ki, 2250 FOCUSOUT: "focusout" + Ki, 2251 MOUSEENTER: "mouseenter" + Ki, 2252 MOUSELEAVE: "mouseleave" + Ki 2253 }, 2254 os = function(t) { 2255 var e, i; 2256 2257 function s() { 2258 return t.apply(this, arguments) || this 2259 } 2260 i = t, (e = s).prototype = Object.create(i.prototype), (e.prototype.constructor = e).__proto__ = i; 2261 var n = s.prototype; 2262 return n.isWithContent = function() { 2263 return this.getTitle() || this._getContent() 2264 }, n.addAttachmentClass = function(t) { 2265 f(this.getTipElement()).addClass(Xi + "-" + t) 2266 }, n.getTipElement = function() { 2267 return this.tip = this.tip || f(this.config.template)[0], this.tip 2268 }, n.setContent = function() { 2269 var t = f(this.getTipElement()); 2270 this.setElementContent(t.find(is), this.getTitle()); 2271 var e = this._getContent(); 2272 "function" == typeof e && (e = e.call(this.element)), this.setElementContent(t.find(ss), e), t.removeClass(ts + " " + es) 2273 }, n._getContent = function() { 2274 return this.element.getAttribute("data-content") || this.config.content 2275 }, n._cleanTipClass = function() { 2276 var t = f(this.getTipElement()), 2277 e = t.attr("class").match(Ji); 2278 null !== e && 0 < e.length && t.removeClass(e.join("")) 2279 }, s._jQueryInterface = function(i) { 2280 return this.each(function() { 2281 var t = f(this).data(Vi), 2282 e = "object" == typeof i ? i : null; 2283 if ((t || !/dispose|hide/.test(i)) && (t || (t = new s(this, e), f(this).data(Vi, t)), "string" == typeof i)) { 2284 if (void 0 === t[i]) throw new TypeError('No method named "' + i + '"'); 2285 t[i]() 2286 } 2287 }) 2288 }, r(s, null, [{ 2289 key: "VERSION", 2290 get: function() { 2291 return "4.3.1" 2292 } 2293 }, { 2294 key: "Default", 2295 get: function() { 2296 return Gi 2297 } 2298 }, { 2299 key: "NAME", 2300 get: function() { 2301 return Yi 2302 } 2303 }, { 2304 key: "DATA_KEY", 2305 get: function() { 2306 return Vi 2307 } 2308 }, { 2309 key: "Event", 2310 get: function() { 2311 return ns 2312 } 2313 }, { 2314 key: "EVENT_KEY", 2315 get: function() { 2316 return Ki 2317 } 2318 }, { 2319 key: "DefaultType", 2320 get: function() { 2321 return Zi 2322 } 2323 }]), s 2324 }(qi); 2325 f.fn[Yi] = os._jQueryInterface, f.fn[Yi].Constructor = os, f.fn[Yi].noConflict = function() { 2326 return f.fn[Yi] = Qi, os._jQueryInterface 2327 }; 2328 var rs = "scrollspy", 2329 as = "bs.scrollspy", 2330 ls = "." + as, 2331 hs = f.fn[rs], 2332 cs = { 2333 offset: 10, 2334 method: "auto", 2335 target: "" 2336 }, 2337 ds = { 2338 offset: "number", 2339 method: "string", 2340 target: "(string|element)" 2341 }, 2342 us = { 2343 ACTIVATE: "activate" + ls, 2344 SCROLL: "scroll" + ls, 2345 LOAD_DATA_API: "load" + ls + ".data-api" 2346 }, 2347 ps = "dropdown-item", 2348 fs = "active", 2349 ms = '[data-spy="scroll"]', 2350 gs = ".nav, .list-group", 2351 _s = ".nav-link", 2352 vs = ".nav-item", 2353 ys = ".list-group-item", 2354 ws = ".dropdown", 2355 bs = ".dropdown-item", 2356 ks = ".dropdown-toggle", 2357 xs = "offset", 2358 Cs = "position", 2359 Ts = function() { 2360 function i(t, e) { 2361 var i = this; 2362 this._element = t, this._scrollElement = "BODY" === t.tagName ? window : t, this._config = this._getConfig(e), this._selector = this._config.target + " " + _s + "," + this._config.target + " " + ys + "," + this._config.target + " " + bs, this._offsets = [], this._targets = [], this._activeTarget = null, this._scrollHeight = 0, f(this._scrollElement).on(us.SCROLL, function(t) { 2363 return i._process(t) 2364 }), this.refresh(), this._process() 2365 } 2366 var t = i.prototype; 2367 return t.refresh = function() { 2368 var e = this, 2369 t = this._scrollElement === this._scrollElement.window ? xs : Cs, 2370 n = "auto" === this._config.method ? t : this._config.method, 2371 o = n === Cs ? this._getScrollTop() : 0; 2372 this._offsets = [], this._targets = [], this._scrollHeight = this._getScrollHeight(), [].slice.call(document.querySelectorAll(this._selector)).map(function(t) { 2373 var e, i = m.getSelectorFromElement(t); 2374 if (i && (e = document.querySelector(i)), e) { 2375 var s = e.getBoundingClientRect(); 2376 if (s.width || s.height) return [f(e)[n]().top + o, i] 2377 } 2378 return null 2379 }).filter(function(t) { 2380 return t 2381 }).sort(function(t, e) { 2382 return t[0] - e[0] 2383 }
2383).forEach(function(t) { 2384 e._offsets.push(t[0]), e._targets.push(t[1]) 2385 }) 2386 }, t.dispose = function() { 2387 f.removeData(this._element, as), f(this._scrollElement).off(ls), this._element = null, this._scrollElement = null, this._config = null, this._selector = null, this._offsets = null, this._targets = null, this._activeTarget = null, this._scrollHeight = null 2388 }, t._getConfig = function(t) { 2389 if ("string" != typeof(t = l({}, cs, "object" == typeof t && t ? t : {})).target) { 2390 var e = f(t.target).attr("id"); 2391 e || (e = m.getUID(rs), f(t.target).attr("id", e)), t.target = "#" + e 2392 } 2393 return m.typeCheckConfig(rs, t, ds), t 2394 }, t._getScrollTop = function() { 2395 return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop 2396 }, t._getScrollHeight = function() { 2397 return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight) 2398 }, t._getOffsetHeight = function() { 2399 return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height 2400 }, t._process = function() { 2401 var t = this._getScrollTop() + this._config.offset, 2402 e = this._getScrollHeight(), 2403 i = this._config.offset + e - this._getOffsetHeight(); 2404 if (this._scrollHeight !== e && this.refresh(), i <= t) { 2405 var s = this._targets[this._targets.length - 1]; 2406 this._activeTarget !== s && this._activate(s) 2407 } else { 2408 if (this._activeTarget && t < this._offsets[0] && 0 < this._offsets[0]) return this._activeTarget = null, void this._clear(); 2409 for (var n = this._offsets.length; n--;) { 2410 this._activeTarget !== this._targets[n] && t >= this._offsets[n] && (void 0 === this._offsets[n + 1] || t < this._offsets[n + 1]) && this._activate(this._targets[n]) 2411 } 2412 } 2413 }, t._activate = function(e) { 2414 this._activeTarget = e, this._clear(); 2415 var t = this._selector.split(",").map(function(t) { 2416 return t + '[data-target="' + e + '"],' + t + '[href="' + e + '"]' 2417 }), 2418 i = f([].slice.call(document.querySelectorAll(t.join(",")))); 2419 i.hasClass(ps) ? (i.closest(ws).find(ks).addClass(fs), i.addClass(fs)) : (i.addClass(fs), i.parents(gs).prev(_s + ", " + ys).addClass(fs), i.parents(gs).prev(vs).children(_s).addClass(fs)), f(this._scrollElement).trigger(us.ACTIVATE, { 2420 relatedTarget: e 2421 }) 2422 }, t._clear = function() { 2423 [].slice.call(document.querySelectorAll(this._selector)).filter(function(t) { 2424 return t.classList.contains(fs) 2425 }
2425).forEach(function(t) { 2426 return t.classList.remove(fs) 2427 }) 2428 }, i._jQueryInterface = function(e) { 2429 return this.each(function() { 2430 var t = f(this).data(as); 2431 if (t || (t = new i(this, "object" == typeof e && e), f(this).data(as, t)), "string" == typeof e) { 2432 if (void 0 === t[e]) throw new TypeError('No method named "' + e + '"'); 2433 t[e]() 2434 } 2435 }) 2436 }, r(i, null, [{ 2437 key: "VERSION", 2438 get: function() { 2439 return "4.3.1" 2440 } 2441 }, { 2442 key: "Default", 2443 get: function() { 2444 return cs 2445 } 2446 }]), i 2447 }(); 2448 f(window).on(us.LOAD_DATA_API, function() { 2449 for (var t = [].slice.call(document.querySelectorAll(ms)), e = t.length; e--;) { 2450 var i = f(t[e]); 2451 Ts._jQueryInterface.call(i, i.data()) 2452 } 2453 }), f.fn[rs] = Ts._jQueryInterface, f.fn[rs].Constructor = Ts, f.fn[rs].noConflict = function() { 2454 return f.fn[rs] = hs, Ts._jQueryInterface 2455 }; 2456 var Es = "bs.tab", 2457 Ds = "." + Es, 2458 Ss = f.fn.tab, 2459 Ms = { 2460 HIDE: "hide" + Ds, 2461 HIDDEN: "hidden" + Ds, 2462 SHOW: "show" + Ds, 2463 SHOWN: "shown" + Ds, 2464 CLICK_DATA_API: "click" + Ds + ".data-api" 2465 }, 2466 Is = "dropdown-menu", 2467 As = "active", 2468 $s = "disabled", 2469 Os = "fade", 2470 Ns = "show", 2471 Ps = ".dropdown", 2472 Fs = ".nav, .list-group", 2473 Hs = ".active", 2474 js = "> li > .active", 2475 Ls = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', 2476 zs = ".dropdown-toggle", 2477 Ws = "> .dropdown-menu .active", 2478 Us = function() { 2479 function s(t) { 2480 this._element = t 2481 } 2482 var t = s.prototype; 2483 return t.show = function() { 2484 var i = this; 2485 if (!(this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && f(this._element).hasClass(As) || f(this._element).hasClass($s))) { 2486 var t, s, e = f(this._element).closest(Fs)[0], 2487 n = m.getSelectorFromElement(this._element); 2488 if (e) { 2489 var o = "UL" === e.nodeName || "OL" === e.nodeName ? js : Hs; 2490 s = (s = f.makeArray(f(e).find(o)))[s.length - 1] 2491 } 2492 var r = f.Event(Ms.HIDE, { 2493 relatedTarget: this._element 2494 }), 2495 a = f.Event(Ms.SHOW, { 2496 relatedTarget: s 2497 }); 2498 if (s && f(s).trigger(r), f(this._element).trigger(a), !a.isDefaultPrevented() && !r.isDefaultPrevented()) { 2499 n && (t = document.querySelector(n)), this._activate(this._element, e); 2500 var l = function() { 2501 var t = f.Event(Ms.HIDDEN, { 2502 relatedTarget: i._element 2503 }), 2504 e = f.Event(Ms.SHOWN, { 2505 relatedTarget: s 2506 }); 2507 f(s).trigger(t), f(i._element).trigger(e) 2508 }; 2509 t ? this._activate(t, t.parentNode, l) : l() 2510 } 2511 } 2512 }, t.dispose = function() { 2513 f.removeData(this._element, Es), this._element = null 2514 }, t._activate = function(t, e, i) { 2515 function s() { 2516 return n._transitionComplete(t, o, i) 2517 } 2518 var n = this, 2519 o = (!e || "UL" !== e.nodeName && "OL" !== e.nodeName ? f(e).
2519children(Hs) : f(e).find(js))[0], 2520 r = i && o && f(o).hasClass(Os); 2521 if (o && r) { 2522 var a = m.getTransitionDurationFromElement(o); 2523 f(o).removeClass(Ns).one(m.TRANSITION_END, s).emulateTransitionEnd(a) 2524 } else s() 2525 }, t._transitionComplete = function(t, e, i) { 2526 if (e) { 2527 f(e).removeClass(As); 2528 var s = f(e.parentNode).find(Ws)[0]; 2529 s && f(s).removeClass(As), "tab" === e.getAttribute("role") && e.setAttribute("aria-selected", !1) 2530 } 2531 if (f(t).addClass(As), "tab" === t.getAttribute("role") && t.setAttribute("aria-selected", !0), m.reflow(t), t.classList.contains(Os) && t.classList.add(Ns), t.parentNode && f(t.parentNode).hasClass(Is)) { 2532 var n = f(t).closest(Ps)[0]; 2533 if (n) { 2534 var o = [].slice.call(n.querySelectorAll(zs)); 2535 f(o).addClass(As) 2536 } 2537 t.setAttribute("aria-expanded", !0) 2538 } 2539 i && i() 2540 }, s._jQueryInterface = function(i) { 2541 return this.each(function() { 2542 var t = f(this), 2543 e = t.data(Es); 2544 if (e || (e = new s(this), t.data(Es, e)), "string" == typeof i) { 2545 if (void 0 === e[i]) throw new TypeError('No method named "' + i + '"'); 2546 e[i]() 2547 } 2548 }) 2549 }, r(s, null, [{ 2550 key: "VERSION", 2551 get: function() { 2552 return "4.3.1" 2553 } 2554 }]), s 2555 }(); 2556 f(document).on(Ms.CLICK_DATA_API, Ls, function(t) { 2557 t.preventDefault(), Us._jQueryInterface.call(f(this), "show") 2558 }), f.fn.tab = Us._jQueryInterface, f.fn.tab.Constructor = Us, f.fn.tab.noConflict = function() { 2559 return f.fn.tab = Ss, Us._jQueryInterface 2560 }; 2561 var Rs = "toast", 2562 Bs = "bs.toast", 2563 qs = "." + Bs, 2564 Ys = f.fn[Rs], 2565 Vs = { 2566 CLICK_DISMISS: "click.dismiss" + qs, 2567 HIDE: "hide" + qs, 2568 HIDDEN: "hidden" + qs, 2569 SHOW: "show" + qs, 2570 SHOWN: "shown" + qs 2571 }, 2572 Ks = "fade", 2573 Qs = "hide", 2574 Xs = "show", 2575 Js = "showing", 2576 Gs = { 2577 animation: "boolean", 2578 autohide: "boolean", 2579 delay: "number" 2580 }, 2581 Zs = { 2582 animation: !0, 2583 autohide: !0, 2584 delay: 500 2585 }, 2586 tn = '[data-dismiss="toast"]', 2587 en = function() { 2588 function s(t, e) { 2589 this._element = t, this._config = this._getConfig(e), this._timeout = null, this._setListeners() 2590 } 2591 var t = s.prototype; 2592 return t.show = function() { 2593 var t = this; 2594 f(this._element).trigger(Vs.SHOW), this._config.animation && this._element.classList.add(Ks); 2595 2596 function e() { 2597 t._element.classList.remove(Js), t._element.classList.add(Xs), f(t._element).trigger(Vs.SHOWN), t._config.autohide && t.hide() 2598 } 2599 if (this._element.classList.remove(Qs), this._element.classList.add(Js), this._config.animation) { 2600 var i = m.getTransitionDurationFromElement(this._element); 2601 f(this._element).one(m.TRANSITION_END, e).emulateTransitionEnd(i) 2602 } else e() 2603 }, t.hide = function(t) { 2604 var e = this; 2605 this._element.classList.contains(Xs) && (f(this._element).trigger(Vs.HIDE), t ? this._close() : this._timeout = setTimeout(function() { 2606 e._close() 2607 }, this._config.delay)) 2608 }, t.dispose = function() { 2609 clearTimeout(this._timeout), this._timeout = null, this._element.classList.contains(Xs) && this._element.classList.remove(Xs), f(this._element).off(Vs.CLICK_DISMISS), f.removeData(this._element, Bs), this._element = null, this._config = null 2610 }, t._getConfig = function(t) { 2611 return t = l({}, Zs, f(this._element).data(), "object" == typeof t && t ? t : {}), m.typeCheckConfig(Rs, t, this.constructor.DefaultType), t 2612 }, t._setListeners = function() { 2613 var t = this; 2614 f(this._element).on(Vs.CLICK_DISMISS, tn, function() { 2615 return t.hide(!0) 2616 }) 2617 }, t._close = function() { 2618 function t() { 2619 e._element.classList.add(Qs), f(e._element).trigger(Vs.HIDDEN) 2620 } 2621 var e = this; 2622 if (this._element.classList.remove(Xs), this._config.animation) { 2623 var i = m.getTransitionDurationFromElement(this._element); 2624 f(this._element).one(m.TRANSITION_END, t).emulateTransitionEnd(i) 2625 } else t() 2626 }, s._jQueryInterface = function(i) { 2627 return this.each(function() { 2628 var t = f(this), 2629 e = t.data(Bs); 2630 if (e || (e = new s(this, "object" == typeof i && i), t.data(Bs, e)), "string" == typeof i) { 2631 if (void 0 === e[i]) throw new TypeError('No method n
2631amed "' + i + '"'); 2632 e[i](this) 2633 } 2634 }) 2635 }, r(s, null, [{ 2636 key: "VERSION", 2637 get: function() { 2638 return "4.3.1" 2639 } 2640 }, { 2641 key: "DefaultType", 2642 get: function() { 2643 return Gs 2644 } 2645 }, { 2646 key: "Default", 2647 get: function() { 2648 return Zs 2649 } 2650 }]), s 2651 }(); 2652 f.fn[Rs] = en._jQueryInterface, f.fn[Rs].Constructor = en, f.fn[Rs].noConflict = function() { 2653 return f.fn[Rs] = Ys, en._jQueryInterface 2654 }, 2655 function() { 2656 if (void 0 === f) throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript."); 2657 var t = f.fn.jquery.split(" ")[0].split("."); 2658 if (t[0] < 2 && t[1] < 9 || 1 === t[0] && 9 === t[1] && t[2] < 1 || 4 <= t[0]) throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0") 2659 }(), t.Util = m, t.Alert = g, t.Button = A, t.Carousel = at, t.Collapse = xt, t.Dropdown = Ge, t.Modal = vi, t.Popover = os, t.Scrollspy = Ts, t.Tab = Us, t.Toast = en, t.Tooltip = qi, Object.defineProperty(t, "__esModule", { 2660 value: !0 2661 }) 2662}), 2663function(r) { 2664 "use strict"; 2665 2666 function n(t, e) { 2667 this.options = e; 2668 var i = r(t), 2669 s = i.is("img"), 2670 n = s ? i.attr("src") : i.backgroundImageUrl(), 2671 o = this.options.generateUrl(i, n); 2672 r("<img/>").attr("src", o).load(function() { 2673 s ? i.attr("src", r(this).attr("src")) : (i.backgroundImageUrl(r(this).attr("src")), i.backgroundSize(r(this)[0].width, r(this)[0].height)), i.attr("data-retina", "complete") 2674 }) 2675 } 2676 n.prototype = { 2677 constructor: n 2678 }, r.fn.retinaReplace = function(s) { 2679 return t() <= 1 ? this : this.each(function() { 2680 var t = r(this), 2681 e = t.data("retinaReplace"), 2682 i = r.extend({}, r.fn.retinaReplace.defaults, t.data(), "object" == typeof s && s); 2683 e || t.data("retinaReplace", e = new n(this, i)), "string" == typeof s && e[s]() 2684 }) 2685 }, r.fn.retinaReplace.defaults = { 2686 suffix: "_2x", 2687 generateUrl: function(t, e) { 2688 var i = e.lastIndexOf("."), 2689 s = e.substr(i + 1); 2690 return e.substr(0, i) + this.suffix + "." + s 2691 } 2692 }, r.fn.retinaReplace.Constructor = n; 2693 var t = function() { 2694 return void 0 === window.devicePixelRatio ? 1 : window.devicePixelRatio 2695 }; 2696 r.fn.backgroundImageUrl = function(t) { 2697 return t ? this.each(function() { 2698 r(this).css("background-image", 'url("' + t + '")') 2699 }) : r(this).css("background-image").replace(/url\(|\)|"|'/g, "") 2700 }, r.fn.backgroundSize = function(t, e) { 2701 var i = Math.floor(t / 2) + "px " + Math.floor(e / 2) + "px"; 2702 r(this).css("background-size", i), r(this).css("-webkit-background-size", i) 2703 }, r(function() { 2704 r("[data-retina='true']").retinaReplace() 2705 }) 2706}(window.jQuery), 2707function(r, a, l, h) { 2708 function c(t, e) { 2709 var i = this; 2710 "object" == typeof e && (delete e.refresh, delete e.render, r.extend(this, e)), this.$element = r(t), !this.imageSrc && this.$element.is("img") && (this.imageSrc = this.$element.attr("src")); 2711 var s = (this.position + "").toLowerCase().match(/\S+/g) || []; 2712 if (s.length < 1 && s.push("center"), 1 == s.length && s.push(s[0]), "top" != s[
27120] && "bottom" != s[0] && "left" != s[1] && "right" != s[1] || (s = [s[1], s[0]]), this.positionX !== h && (s[0] = this.positionX.toLowerCase()), this.positionY !== h && (s[1] = this.positionY.toLowerCase()), i.positionX = s[0], i.positionY = s[1], "left" != this.positionX && "right" != this.positionX && (isNaN(parseInt(this.positionX)) ? this.positionX = "center" : this.positionX = parseInt(this.positionX)), "top" != this.positionY && "bottom" != this.positionY && (isNaN(parseInt(this.positionY)) ? this.positionY = "center" : this.positionY = parseInt(this.positionY)), this.position = this.positionX + (isNaN(this.positionX) ? "" : "px") + " " + this.positionY + (isNaN(this.positionY) ? "" : "px"), navigator.userAgent.match(/(iPod|iPhone|iPad)/)) return this.imageSrc && this.iosFix && !this.$element.is("img") && this.$element.css({ 2713 backgroundImage: 'url("' + this.imageSrc + '")', 2714 backgroundSize: "cover", 2715 backgroundPosition: this.position 2716 }), this; 2717 if (navigator.userAgent.match(/(Android)/)) return this.imageSrc && this.androidFix && !this.$element.is("img") && this.$element.css({ 2718 backgroundImage: 'url("' + this.imageSrc + '")', 2719 backgroundSize: "cover", 2720 backgroundPosition: this.position 2721 }), this; 2722 this.$mirror = r("<div />").prependTo(this.mirrorContainer); 2723 var n = this.$element.find(">.parallax-slider"), 2724 o = !1; 2725 0 == n.length ? this.$slider = r("<img />").prependTo(this.$mirror) : (this.$slider = n.prependTo(this.$mirror), o = !0), this.$mirror.addClass("parallax-mirror").css({ 2726 visibility: "hidden", 2727 zIndex: this.zIndex, 2728 position: "fixed", 2729 top: 0, 2730 left: 0, 2731 overflow: "hidden" 2732 }), this.$slider.addClass("parallax-slider").one("load", function() { 2733 i.naturalHeight && i.naturalWidth || (i.naturalHeight = this.naturalHeight || this.height || 1, i.naturalWidth = this.naturalWidth || this.width || 1), i.aspectRatio = i.naturalWidth / i.naturalHeight, c.isSetup || c.setup(), c.sliders.push(i), c.isFresh = !1, c.requestRender() 2734 }), o || (this.$slider[0].src = this.imageSrc), (this.naturalHeight && this.naturalWidth || this.$slider[0].complete || 0 < n.length) && this.$slider.trigger("load") 2735 }! function() { 2736 for (var n = 0, t = ["ms", "moz", "webkit", "o"], e = 0; e < t.length && !a.requestAnimationFrame; ++e) a.requestAnimationFrame = a[t[e] + "RequestAnimationFrame"], a.cancelAnimationFrame = a[t[e] + "CancelAnimationFrame"] || a[t[e] + "CancelRequestAnimationFrame"]; 2737 a.requestAnimationFrame || (a.requestAnimationFrame = function(t) { 2738 var e = (new Date).getTime(), 2739 i = Math.max(0, 16 - (e - n)), 2740 s = a.setTimeout(function() { 2741 t(e + i) 2742 }, i); 2743 return n = e + i, s 2744 }), a.cancelAnimationFrame || (a.cancelAnimationFrame = function(t) { 2745 clearTimeout(t) 2746 }) 2747 }(), r.extend(c.prototype, { 2748 speed: .2, 2749 bleed: 0, 2750 zIndex: 1, 2751 iosFix: !0, 2752 androidFix: !0, 2753 position: "center", 2754 overScrollFix: !1, 2755 mirrorContainer: "body", 2756 refresh: function() { 2757 this.boxWidth = this.$element.outerWidth(), this.boxHeight = this.$element.outerHeight() + 2 * this.bleed, this.boxOffsetTop = this.$element.offset().top - this.bleed, this.boxOffsetLeft = this.$element.offset().left, this.boxOffsetBottom = this.boxOffsetTop + this.boxHeight; 2758 var t, e = c.winHeight, 2759 i = c.docHeight, 2760 s = Math.min(this.boxOffsetTop, i - e), 2761 n = Math.max(this.boxOffsetTop + this.boxHeight - e, 0), 2762 o = this.boxHeight + (s - n) * (1 - this.speed) | 0, 2763 r = (this.boxOffsetTop - s) * (1 - this.speed) | 0; 2764 o * this.aspectRatio >= this.boxWidth ? (this.imageWidth = o * this.aspectRatio | 0, this.imageHeight = o, this.offsetBaseTop = r, t = this.imageWidth - this.boxWidth, "left" == this.positionX ? this.offsetLeft = 0 : "right" == this.positionX ? this.offsetLeft = -t : isNaN(this.positionX) ? this.offsetLeft = -t / 2 | 0 : this.offsetLeft = Math.max(this.positionX, -t)) : (this.imageWidth = this.boxWidth, this.imageHeight = this.boxWidth / this.aspectRatio | 0, this.offsetLeft = 0, t = this.imageHeight - o, "top" == this.positionY ? this.offsetBaseTop = r : "bottom" == this.positionY ? this.offsetBaseTop = r - t : isNaN(this.positionY) ? this.offsetBaseTop = r - t / 2 | 0 : this.offsetBaseTop = r + Math.max(this.positionY, -t)) 2765 }, 2766 render: function() { 2767 var t = c.scrollTop, 2768 e = c.scrollLeft, 2769 i = this.overScrollFix ? c.overScroll : 0, 2770 s = t + c.winHeight; 2771 this.boxOffsetBottom > t && this.boxOffsetTop <= s ? (this.visibility = "visible", this.mirrorTop = this.boxOffsetTop - t, this.mirrorLeft = this.boxOffsetLeft - e, this.offsetTop = this.offsetBaseTop - this.mirrorTop * (1 - this.speed)) : this.visibility = "hidden", this.$mirror.css({ 2772 transform: "translate3d(" + this.mirrorLeft + "px, " + (this.mirrorTop - i) + "px, 0px)", 2773 visibility: this.visibility, 2774 height: this.boxHeight, 2775 width: this.boxWidth 2776 }), this.$slider.css({ 2777 transform: "translate3d(" + this.offsetLeft + "px, " + this.offsetTop + "px, 0px)", 2778 position: "absolute", 2779 height: this.imageHeight, 2780 width: this.imageWidth, 2781 maxWidth: "none" 2782 }) 2783 } 2784 }), r.extend(c, { 2785 scrollTop: 0, 2786 scrollLeft: 0, 2787 winHeight: 0, 2788 winWidth: 0, 2789 docHeight: 1 << 30, 2790 docWidth: 1 << 30, 2791 sliders: [], 2792 isReady: !1, 2793 isFresh: !1, 2794 isBusy: !1, 2795 setup: function() { 2796 if (!this.isReady) { 2797 function t() { 2798 c.winHeight = n.height(), c.winWidth = n.width(), c.docHeight = s.height(), c.docWidth = s.width() 2799 } 2800 2801 function e() { 2802 var t = n.scrollTop(), 2803 e = c.docHeight - c.winHeight, 2804 i = c.docWidth - c.winWidth; 2805 c.scrollTop = Math.max(0, Math.min(e, t)), c.scrollLeft = Math.max(0, Math.min(i, n.scrollLeft())), c.overScroll = Math.max(t - e, Math.min(t, 0)) 2806 } 2807 var i = this, 2808 s = r(l), 2809 n = r(a); 2810 n.on("resize.px.parallax load.px.parallax", function() { 2811 t(), i.refresh(), c.isFresh = !1, c.requestRender() 2812 }).on("scroll.px.parallax load.px.parallax", function() { 2813 e(), c.requestRender() 2814 }), t(), e(), this.isReady = !0; 2815 var o = -1; 2816 ! function t() { 2817 if (o == a.pageYOffset) return a.requestAnimationFrame(t), !1; 2818 o = a.pageYOffset, i.render(), a.requestAnimationFrame(t) 2819 }() 2820 } 2821 }, 2822 configure: function(t) { 2823 "object" == typeof t && (delete t.refresh, delete t.render, r.extend(this.prototype, t)) 2824 }, 2825 refresh: function() { 2826 r.each(this.sliders, function() { 2827 this.refresh() 2828 }), this.isFresh = !0 2829 }, 2830 render: function() { 2831 this.isFresh || this.refresh(), r.each(this.sliders, function() { 2832 this.render() 2833 }) 2834 }, 2835 requestRender: function() { 2836 this.render(), this.isBusy = !1 2837 }, 2838 destroy: function(t) { 2839 var e, i = r(t).data("px.parallax"); 2840 for (i.$mirror.remove(), e = 0; e < this.sliders.length; e += 1) this.sliders[e] == i && this.sliders.splice(e, 1); 2841 r(t).data("px.parallax", !1), 0 === this.sliders.length && (r(a).off("scroll.px.parallax resize.px.parallax load.px.parallax"), this.isReady = !1, c.isSetup = !1) 2842 } 2843 }); 2844 var t = r.fn.parallax; 2845 r.fn.parallax = function(i) { 2846 return this.each(function() { 2847 var t = r(this), 2848 e = "object" == typeof i && i; 2849 this == a || this == l || t.is("body") ? c.configure(e) : t.data("px.parallax") ? "object" == typeof i && r.extend(t.data("px.parallax"), e) : (e = r.extend({}, t.data(), e), t.data("px.parallax", new c(this, e))), "string" == typeof i && ("destroy" == i ? c.destroy(this) : c[i]()) 2850 }) 2851 }, r.fn.parallax.Constructor = c, r.fn.parallax.noConflict = function() { 2852 return r.fn.parallax = t, this 2853 }, r(function() { 2854 r('[data-parallax="scroll"]').parallax() 2855 }) 2856}(jQuery, window, document), 2857function(t) { 2858 "function" == typeof define && define.amd ? define(["jquery"], t) : "object" == typeof exports ? t(require("jquery")) : t(window.jQuery || window.Zepto) 2859}(function(c) { 2860 function t() {} 2861 2862 function d(t, e) { 2863 m.ev.on("mfp" + t + w, e) 2864 } 2865 2866 function u(t, e, i, s) { 2867 var n = document.createElement("div"); 2868 return n.className = "mfp-" + t, i && (n.innerHTML = i), s ? e && e.appendChild(n) : (n = c(n), e && n.appendTo(e)), n 2869 } 2870 2871 function p(t, e) { 2872 m.ev.triggerHandler("mfp" + t, e), m.st.callbacks && (t = t.charAt(0).toLowerCase() + t.slice(1), m.st.callbacks[t] && m.st.callbacks[t].apply(m, c.isArray(e) ? e : [e])) 2873 } 2874 2875 function f(t) { 2876 return t === e && m.currTemplate.closeBtn || (m.currTemplate.closeBtn = c(m.st.closeMarkup.replace("%title%", m.st.tClose)), e = t), m.currTemplate.closeBtn 2877 } 2878 2879 function o() { 2880 c.magnificPopup.instance || ((m = new t).init(), c.magnificPopup.instance = m) 2881 } 2882 var m, s, g, n, _, e, l = "Close", 2883 h = "BeforeClose", 2884 v = "MarkupParse", 2885 y = "Open", 2886 w = ".mfp", 2887 b = "mfp-ready", 2888 i = "mfp-removing", 2889 r = "mfp-prevent-close", 2890 a = !!window.jQuery, 2891 k = c(window); 2892 t.prototype = { 2893 constructor: t, 2894 init: function() { 2895 var t = navigator.appVersion; 2896 m.isLowIE = m.isIE8 = document.all && !document.addEventListener, m.isAndroid = /android/gi.test(t), m.isIOS = /iphone|ipad|ipod/gi.test(t), m.supportsTransition = function() { 2897 var t = document.createElement("p").style, 2898 e = ["ms", "O", "Moz", "Webkit"]; 2899 if (void 0 !== t.transition) return !0; 2900 for (; e.length;) 2901 if (e.pop() + "Transition" in t) return !0; 2902 return !1 2903 }(), m.probablyMobile = m.isAndroid || m.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent), g = c(document), m.popupsCache = {} 2904 }, 2905 open: function(t) { 2906 var e; 2907 if (!1 === t.isObj) { 2908 m.items = t.items.toArray(), m.index = 0; 2909 var i, s = t.items; 2910 for (e = 0; e < s.length; e++)
2911 if ((i = s[e]).parsed && (i = i.el[0]), i === t.el[0]) { 2912 m.index = e; 2913 break 2914 } 2915 } else m.items = c.isArray(t.items) ? t.items : [t.items], m.index = t.index || 0; 2916 if (!m.isOpen) { 2917 m.types = [], _ = "", t.mainEl && t.mainEl.length ? m.ev = t.mainEl.eq(0) : m.ev = g, t.key ? (m.popupsCache[t.key] || (m.popupsCache[t.key] = {}), m.currTemplate = m.popupsCache[t.key]) : m.currTemplate = {}, m.st = c.extend(!0, {}, c.magnificPopup.defaults, t), m.fixedContentPos = "auto" === m.st.fixedContentPos ? !m.probablyMobile : m.st.fixedContentPos, m.st.modal && (m.st.closeOnContentClick = !1, m.st.closeOnBgClick = !1, m.st.showCloseBtn = !1, m.st.enableEscapeKey = !1), m.bgOverlay || (m.bgOverlay = u("bg").on("click" + w, function() { 2918 m.close() 2919 }), m.wrap = u("wrap").attr("tabindex", -1).on("click" + w, function(t) { 2920 m._checkIfClose(t.target) && m.close() 2921 }), m.container = u("container", m.wrap)), m.contentContainer = u("content"), m.st.preloader && (m.preloader = u("preloader", m.container, m.st.tLoading)); 2922 var n = c.magnificPopup.modules; 2923 for (e = 0; e < n.length; e++) { 2924 var o = n[e]; 2925 o = o.charAt(0).toUpperCase() + o.slice(1), m["init" + o].call(m) 2926 } 2927 p("BeforeOpen"), m.st.showCloseBtn && (m.st.closeBtnInside ? (d(v, function(t, e, i, s) { 2928 i.close_replaceWith = f(s.type) 2929 }), _ += " mfp-close-btn-in") : m.wrap.append(f())), m.st.alignTop && (_ += " mfp-align-top"), m.fixedContentPos ? m.wrap.css({ 2930 overflow: m.st.overflowY, 2931 overflowX: "hidden", 2932 overflowY: m.st.overflowY 2933 }) : m.wrap.css({ 2934 top: k.scrollTop(), 2935 position: "absolute" 2936 }), !1 !== m.st.fixedBgPos && ("auto" !== m.st.fixedBgPos || m.fixedContentPos) || m.bgOverlay.css({ 2937 height: g.height(), 2938 position: "absolute" 2939 }), m.st.enableEscapeKey && g.on("keyup" + w, function(t) { 2940 27 === t.keyCode && m.close() 2941 }), k.on("resize" + w, function() { 2942 m.updateSize() 2943 }), m.st.closeOnContentClick || (_ += " mfp-auto-cursor"), _ && m.wrap.addClass(_); 2944 var r = m.wH = k.height(), 2945 a = {}; 2946 if (m.fixedContentPos && m._hasScrollBar(r)) { 2947 var l = m._getScrollbarSize(); 2948 l && (a.marginRight = l) 2949 } 2950 m.fixedContentPos && (m.isIE7 ? c("body, html").css("overflow", "hidden") : a.overflow = "hidden"); 2951 var h = m.st.mainClass; 2952 return m.isIE7 && (h += " mfp-ie7"), h && m._addClassToMFP(h), m.updateItemHTML(), p("BuildControls"), c("html").css(a), m.bgOverlay.add(m.wrap).prependTo(m.st.prependTo || c(document.body)), m._lastFocusedEl = document.activeElement, setTimeout(function() { 2953 m.content ? (m._addClassToMFP(b), m._setFocus()) : m.bgOverlay.addClass(b), g.on("focusin" + w, m._onFocusIn) 2954 }, 16), m.isOpen = !0, m.updateSize(r), p(y), t 2955 } 2956 m.updateItemHTML() 2957 }, 2958 close: function() { 2959 m.isOpen && (p(h), m.isOpen = !1, m.st.removalDelay && !m.isLowIE && m.supportsTransition ? (m._addClassToMFP(i), setTimeout(function() { 2960 m._close() 2961 }, m.st.removalDelay)) : m._close()) 2962 }, 2963 _close: function() { 2964 p(l); 2965 var t = i + " " + b + " "; 2966 if (m.bgOverlay.detach(), m.wrap.detach(), m.container.empty(), m.st.mainClass && (t += m.st.mainClass + " "), m._removeClassFromMFP(t), m.fixedContentPos) { 2967 var e = { 2968 marginRight: "" 2969 }; 2970 m.isIE7 ? c("body, html").css("overflow", "") : e.overflow = "", c("html").css(e) 2971 } 2972 g.off("keyup.mfp focusin" + w), m.ev.off(w), m.wrap.attr("class", "mfp-wrap").removeAttr("style"), m.bgOverlay.attr("class", "mfp-bg"), m.container.attr("class", "mfp-container"), !m.st.showCloseBtn || m.st.closeBtnInside && !0 !== m.currTemplate[m.currItem.type] || m.currTemplate.closeBtn && m.currTemplate.closeBtn.detach(), m.st.autoFocusLast && m._lastFocusedEl && c(m._lastFocusedEl).focus(), m.currItem = null, m.content = null, m.currTemplate = null, m.prevHeight = 0, p("AfterClose") 2973 }, 2974 updateSize: function(t) { 2975 if (m.isIOS) { 2976 var e = document.documentElement.clientWidth / window.innerWidth, 2977 i = window.innerHeight * e; 2978 m.wrap.css("height", i), m.wH = i 2979 } else m.wH = t || k.height(); 2980 m.fixedContentPos || m.wrap.css("height", m.wH), p("Resize") 2981 }, 2982 updateItemHTML: function() { 2983 var t = m.items[m.index]; 2984 m.contentContainer.detach(), m.content && m.content.detach(), t.parsed || (t = m.parseEl(m.index)); 2985 var e = t.type; 2986 if (p("BeforeChange", [m.currItem ? m.currItem.type : "", e]), m.currItem = t, !m.currTemplate[e]) { 2987 var i = !!m.st[e] && m.st[e].markup; 2988 p("FirstMarkupParse", i), m.currTemplate[e] = !i || c(i) 2989 } 2990 n && n !== t.type && m.container.removeClass("mfp-" + n + "-holder"); 2991 var s = m["get" + e.charAt(0).toUpperCase() + e.slice(1)](t, m.currTemplate[e]); 2992 m.appendContent(s, e), t.preloaded = !0, p("Change", t), n = t.type, m.container.prepend(m.contentContainer), p("AfterChange") 2993 }, 2994 appendContent: function(t, e) { 2995 (m.content = t) ? m.st.showCloseBtn && m.st.closeBtnInside && !0 === m.currTemplate[e] ? m.content.find(".mfp-close").length || m.content.append(f()) : m.content = t: m.content = "", p("BeforeAppend"), m.container.addClass("mfp-" + e + "-holder"), m.contentContainer.append(m.content) 2996 }, 2997 parseEl: function(t) { 2998 var e, i = m.items[t];
2999 if ((i = i.tagName ? { 3000 el: c(i) 3001 } : (e = i.type, { 3002 data: i, 3003 src: i.src 3004 })).el) { 3005 for (var s = m.types, n = 0; n < s.length; n++) 3006 if (i.el.hasClass("mfp-" + s[n])) { 3007 e = s[n]; 3008 break 3009 } 3010 i.src = i.el.attr("data-mfp-src"), i.src || (i.src = i.el.attr("href")) 3011 } 3012 return i.type = e || m.st.type || "inline", i.index = t, i.parsed = !0, m.items[t] = i, p("ElementParse", i), m.items[t] 3013 }, 3014 addGroup: function(e, i) { 3015 function t(t) { 3016 t.mfpEl = this, m._openClick(t, e, i) 3017 } 3018 var s = "click.magnificPopup"; 3019 (i = i || {}).mainEl = e, i.items ? (i.isObj = !0, e.off(s).on(s, t)) : (i.isObj = !1, i.delegate ? e.off(s).on(s, i.delegate, t) : (i.items = e).off(s).on(s, t)) 3020 }, 3021 _openClick: function(t, e, i) { 3022 if ((void 0 !== i.midClick ? i.midClick : c.magnificPopup.defaults.midClick) || !(2 === t.which || t.ctrlKey || t.metaKey || t.altKey || t.shiftKey)) { 3023 var s = void 0 !== i.disableOn ? i.disableOn : c.magnificPopup.defaults.disableOn; 3024 if (s) 3025 if (c.isFunction(s)) { 3026 if (!s.call(m)) return !0 3027 } else if (k.width() < s) return !0; 3028 t.type && (t.preventDefault(), m.isOpen && t.stopPropagation()), i.el = c(t.mfpEl), i.delegate && (i.items = e.find(i.delegate)), m.open(i) 3029 } 3030 }, 3031 updateStatus: function(t, e) { 3032 if (m.preloader) { 3033 s !== t && m.container.removeClass("mfp-s-" + s), e || "loading" !== t || (e = m.st.tLoading); 3034 var i = { 3035 status: t, 3036 text: e 3037 }; 3038 p("UpdateStatus", i), t = i.status, e = i.text, m.preloader.html(e), m.preloader.find("a").on("click", function(t) { 3039 t.stopImmediatePropagation() 3040 }), m.container.addClass("mfp-s-" + t), s = t 3041 } 3042 }, 3043 _checkIfClose: function(t) { 3044 if (!c(t).hasClass(r)) { 3045 var e = m.st.closeOnContentClick, 3046 i = m.st.closeOnBgClick; 3047 if (e && i) return !0; 3048 if (!m.content || c(t).hasClass("mfp-close") || m.preloader && t === m.preloader[0]) return !0; 3049 if (t === m.content[0] || c.contains(m.content[0], t)) { 3050 if (e) return !0 3051 } else if (i && c.contains(document, t)) return !0; 3052 return !1 3053 } 3054 }, 3055 _addClassToMFP: function(t) { 3056 m.bgOverlay.addClass(t), m.wrap.addClass(t) 3057 }, 3058 _removeClassFromMFP: function(t) { 3059 this.bgOverlay.removeClass(t), m.wrap.removeClass(t) 3060 }, 3061 _hasScrollBar: function(t) { 3062 return (m.isIE7 ? g.height() : document.body.scrollHeight) > (t || k.height()) 3063 }, 3064 _setFocus: function() { 3065 (m.st.focus ? m.content.find(m.st.focus).eq(0) : m.wrap).focus() 3066 }, 3067 _onFocusIn: function(t) { 3068 if (t.target !== m.wrap[0] && !c.contains(m.wrap[0], t.target)) return m._setFocus(), !1 3069 }, 3070 _parseMarkup: function(n, t, e) { 3071 var o; 3072 e.data && (t = c.extend(e.data, t)), p(v, [n, t, e]), c.each(t, function(t, e) { 3073 if (void 0 === e || !1 === e) return !0; 3074 if (1 < (o = t.split("_")).length) { 3075 var i = n.find(w + "-" + o[0]); 3076 if (0 < i.length) { 3077 var s = o[1]; 3078 "replaceWith" === s ? i[0] !== e[0] && i.replaceWith(e) : "img" === s ? i.is("img") ? i.attr("src", e) : i.replaceWith(c("<img>").attr("src", e).attr("class", i.attr("class"))) : i.attr(o[1], e) 3079 } 3080 } else n.find(w + "-" + t).html(e) 3081 }) 3082 }, 3083 _getScrollbarSize: function() { 3084 if (void 0 === m.scrollbarSize) { 3085 var t = document.createElement("div"); 3086 t.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;", document.body.appendChild(t), m.scrollbarSize = t.offsetWidth - t.clientWidth, document.body.removeChild(t) 3087 } 3088 return m.scrollbarSize 3089 } 3090 }, c.magnificPopup = { 3091 instance: null, 3092 proto: t.prototype, 3093 modules: [], 3094 open: function(t, e) { 3095 return o(), (t = t ? c.extend(!0, {}, t) : {}).isObj = !0, t.index = e || 0, this.instance.open(t) 3096 }, 3097 close: function() { 3098 return c.magnificPopup.instance && c.magnificPopup.instance.close() 3099 }, 3100 registerModule: function(t, e) { 3101 e.options && (c.magnificPopup.defaults[t] = e.options), c.extend(this.proto, e.proto), this.modules.push(t) 3102 }, 3103 defaults: { 3104 disableOn: 0, 3105 key: null, 3106 midClick: !1, 3107 mainClass: "", 3108 preloader: !0, 3109 focus: "", 3110 closeOnContentClick: !1, 3111 closeOnBgClick: !0, 3112 closeBtnInside: !0, 3113 showCloseBtn: !0, 3114 enableEscapeKey: !0, 3115 modal: !1, 3116 alignTop: !1, 3117 removalDelay: 0, 3118 prependTo: null, 3119 fixedContentPos: "auto", 3120 fixedBgPos: "auto", 3121 overflowY: "auto", 3122 closeMarkup: '<button title="%title%" type="button" class="mfp-close"></button>', 3123 tClose: "Close (Esc)", 3124 tLoading: "Loading...", 3125 autoFocusLast: !0 3126 } 3127 }, c.fn.magnificPopup = function(t) { 3128 o(); 3129 var e = c(this); 3130 if ("string" == typeof t) 3131 if ("open" === t) { 3132 var i, s = a ? e.data("magnificPopup") : e[0].magnificPopup, 3133 n = parseInt(arguments[1], 10) || 0; 3134 i = s.items ? s.items[n] : (i = e, s.delegate && (i = i.find(s.delegate)), i.eq(n)), m._openClick({ 3135 mfpEl: i 3136 }, e, s) 3137 } else m.isOpen && m[t].apply(m, Array.prototype.slice.call(arguments, 1)); 3138 else t = c.extend(!0, {}, t), a ? e.data("magnificPopup", t) : e[0].magnificPopup = t, m.addGroup(e, t); 3139 return e 3140 }; 3141 3142 function x() { 3143 E && (T.after(E.addClass(C)).detach(), E = null) 3144 } 3145 var C, T, E, D = "inline"; 3146 c.magnificPopup.registerModule(D, { 3147 options: { 3148 hiddenClass: "hide", 3149 markup: "", 3150 tNotFound: "Content not found" 3151 }, 3152 proto: { 3153 initInline: function() { 3154 m.types.push(D), d(l + "." + D, function() { 3155 x() 3156 }) 3157 }, 3158 getInline: function(t, e) { 3159 if (x(), t.src) { 3160 var i = m.st.inline, 3161 s = c(t.src); 3162 if (s.length) { 3163 var n = s[0].parentNode; 3164 n && n.tagName && (T || (C = i.hiddenClass, T = u(C), C = "mfp-" + C), E = s.after(T).detach().removeClass(C)), m.updateStatus("ready") 3165 } else m.updateStatus("error", i.tNotFound), s = c("<div>"); 3166 return t.inlineElement = s 3167 } 3168 return m.updateStatus("ready"), m._parseMarkup(e, {}, t), e 3169 } 3170 } 3171 }); 3172 3173 function S() { 3174 I && c(document.body).removeClass(I) 3175 } 3176 3177 function M() { 3178 S(), m.req && m.req.abort() 3179 } 3180 var I, A = "ajax"; 3181 c.magnificPopup.registerModule(A, { 3182 options: { 3183 settings: null, 3184 cursor: "mfp-ajax-cur", 3185 tError: '<a href="%url%">The content</a> could not be loaded.' 3186 }, 3187 proto: { 3188 initAjax: function() { 3189 m.types.push(A), I = m.st.ajax.cursor, d(l + "." + A, M), d("BeforeChange." + A, M) 3190 }, 3191 getAjax: function(n) { 3192 I && c(document.body).addClass(I), m.updateStatus("loading"); 3193 var t = c.extend({ 3194 url: n.src, 3195 success: function(t, e, i) { 3196 var s = { 3197 data: t, 3198 xhr: i 3199 };
3200 p("ParseAjax", s), m.appendContent(c(s.data), A), n.finished = !0, S(), m._setFocus(), setTimeout(function() { 3201 m.wrap.addClass(b) 3202 }, 16), m.updateStatus("ready"), p("AjaxContentAdded") 3203 }, 3204 error: function() { 3205 S(), n.finished = n.loadError = !0, m.updateStatus("error", m.st.ajax.tError.replace("%url%", n.src)) 3206 } 3207 }, m.st.ajax.settings); 3208 return m.req = c.ajax(t), "" 3209 } 3210 } 3211 }); 3212 var $; 3213 c.magnificPopup.registerModule("image", { 3214 options: { 3215 markup: '<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>', 3216 cursor: "mfp-zoom-out-cur", 3217 titleSrc: "title", 3218 verticalFit: !0, 3219 tError: '<a href="%url%">The image</a> could not be loaded.' 3220 }, 3221 proto: { 3222 initImage: function() { 3223 var t = m.st.image, 3224 e = ".image"; 3225 m.types.push("image"), d(y + e, function() { 3226 "image" === m.currItem.type && t.cursor && c(document.body).addClass(t.cursor) 3227 }), d(l + e, function() { 3228 t.cursor && c(document.body).removeClass(t.cursor), k.off("resize" + w) 3229 }), d("Resize" + e, m.resizeImage), m.isLowIE && d("AfterChange", m.resizeImage) 3230 }, 3231 resizeImage: function() { 3232 var t = m.currItem; 3233 if (t && t.img && m.st.image.verticalFit) { 3234 var e = 0; 3235 m.isLowIE && (e = parseInt(t.img.css("padding-top"), 10) + parseInt(t.img.css("padding-bottom"), 10)), t.img.css("max-height", m.wH - e) 3236 } 3237 }, 3238 _onImageHasSize: function(t) { 3239 t.img && (t.hasSize = !0, $ && clearInterval($), t.isCheckingImgSize = !1, p("ImageHasSize", t), t.imgHidden && (m.content && m.content.removeClass("mfp-loading"), t.imgHidden = !1)) 3240 }, 3241 findImageSize: function(e) { 3242 var i = 0, 3243 s = e.img[0], 3244 n = function(t) { 3245 $ && clearInterval($), $ = setInterval(function() { 3246 0 < s.naturalWidth ? m._onImageHasSize(e) : (200 < i && clearInterval($), 3 === ++i ? n(10) : 40 === i ? n(50) : 100 === i && n(500)) 3247 }, t) 3248 }; 3249 n(1) 3250 }, 3251 getImage: function(t, e) { 3252 var i = 0, 3253 s = function() { 3254 t && (t.img[0].complete ? (t.img.off(".mfploader"), t === m.currItem && (m._onImageHasSize(t), m.updateStatus("ready")), t.hasSize = !0, t.loaded = !0, p("ImageLoadComplete")) : ++i < 200 ? setTimeout(s, 100) : n()) 3255 }, 3256 n = function() { 3257 t && (t.img.off(".mfploader"), t === m.currItem && (m._onImageHasSize(t), m.updateStatus("error", o.tError.replace("%url%", t.src))), t.hasSize = !0, t.loaded = !0, t.loadError = !0) 3258 }, 3259 o = m.st.image, 3260 r = e.find(".mfp-img"); 3261 if (r.length) { 3262 var a = document.createElement("img"); 3263 a.className = "mfp-img", t.el && t.el.find("img").length && (a.alt = t.el.find("img").attr("alt")), t.img = c(a).on("load.mfploader", s).on("error.mfploader", n), a.src = t.src, r.is("img") && (t.img = t.img.clone()), 0 < (a = t.img[0]).naturalWidth ? t.hasSize = !0 : a.width || (t.hasSize = !1) 3264 } 3265 return m._parseMarkup(e, { 3266 title: function(t) { 3267 if (t.data && void 0 !== t.data.title) return t.data.title;
3268 var e = m.st.image.titleSrc; 3269 if (e) { 3270 if (c.isFunction(e)) return e.call(m, t); 3271 if (t.el) return t.el.attr(e) || "" 3272 } 3273 return "" 3274 }(t), 3275 img_replaceWith: t.img 3276 }, t), m.resizeImage(), t.hasSize ? ($ && clearInterval($), t.loadError ? (e.addClass("mfp-loading"), m.updateStatus("error", o.tError.replace("%url%", t.src))) : (e.removeClass("mfp-loading"), m.updateStatus("ready"))) : (m.updateStatus("loading"), t.loading = !0, t.hasSize || (t.imgHidden = !0, e.addClass("mfp-loading"), m.findImageSize(t))), e 3277 } 3278 } 3279 }); 3280 var O; 3281 c.magnificPopup.registerModule("zoom", { 3282 options: { 3283 enabled: !1, 3284 easing: "ease-in-out", 3285 duration: 300, 3286 opener: function(t) { 3287 return t.is("img") ? t : t.find("img") 3288 } 3289 }, 3290 proto: { 3291 initZoom: function() { 3292 var t, o = m.st.zoom, 3293 e = ".zoom"; 3294 if (o.enabled && m.supportsTransition) { 3295 function i(t) { 3296 var e = t.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"), 3297 i = "all " + o.duration / 1e3 + "s " + o.easing, 3298 s = { 3299 position: "fixed", 3300 zIndex: 9999, 3301 left: 0, 3302 top: 0, 3303 "-webkit-backface-visibility": "hidden" 3304 }, 3305 n = "transition"; 3306 return s["-webkit-" + n] = s["-moz-" + n] = s["-o-" + n] = s[n] = i, e.css(s), e 3307 } 3308 3309 function s() { 3310 m.content.css("visibility", "visible") 3311 } 3312 var n, r, a = o.duration; 3313 d("BuildControls" + e, function() { 3314 if (m._allowZoom()) { 3315 if (clearTimeout(n), m.content.css("visibility", "hidden"), !(t = m._getItemToZoom())) return void s(); 3316 (r = i(t)).css(m._getOffset()), m.wrap.append(r), n = setTimeout(function() { 3317 r.css(m._getOffset(!0)), n = setTimeout(function() { 3318 s(), setTimeout(function() { 3319 r.remove(), t = r = null, p("ZoomAnimationEnded") 3320 }, 16) 3321 }, a) 3322 }, 16) 3323 } 3324 }), d(h + e, function() { 3325 if (m._allowZoom()) { 3326 if (clearTimeout(n), m.st.removalDelay = a, !t) { 3327 if (!(t = m._getItemToZoom())) return; 3328 r = i(t) 3329 } 3330 r.css(m._getOffset(!0)), m.wrap.append(r), m.content.css("visibility", "hidden"), setTimeout(function() { 3331 r.css(m._getOffset()) 3332 }, 16) 3333 } 3334 }), d(l + e, function() { 3335 m._allowZoom() && (s(), r && r.remove(), t = null) 3336 }) 3337 } 3338 }, 3339 _allowZoom: function() { 3340 return "image" === m.currItem.type 3341 }, 3342 _getItemToZoom: function() { 3343 return !!m.currItem.hasSize && m.currItem.img 3344 }, 3345 _getOffset: function(t) { 3346 var e, i = (e = t ? m.currItem.img : m.st.zoom.opener(m.currItem.el || m.currItem)).offset(), 3347 s = parseInt(e.css("padding-top"), 10), 3348 n = parseInt(e.css("padding-bottom"), 10); 3349 i.top -= c(window).scrollTop() - s; 3350 var o = { 3351 width: e.width(),
3352 height: (a ? e.innerHeight() : e[0].offsetHeight) - n - s 3353 }; 3354 return void 0 === O && (O = void 0 !== document.createElement("p").style.MozTransform), O ? o["-moz-transform"] = o.transform = "translate(" + i.left + "px," + i.top + "px)" : (o.left = i.left, o.top = i.top), o 3355 } 3356 } 3357 }); 3358 3359 function N(t) { 3360 if (m.currTemplate[P]) { 3361 var e = m.currTemplate[P].find("iframe"); 3362 e.length && (t || (e[0].src = "//about:blank"), m.isIE8 && e.css("display", t ? "block" : "none")) 3363 } 3364 } 3365 var P = "iframe"; 3366 c.magnificPopup.registerModule(P, { 3367 options: { 3368 markup: '<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>', 3369 srcAction: "iframe_src", 3370 patterns: { 3371 youtube: { 3372 index: "youtube.com", 3373 id: "v=", 3374 src: "//www.youtube.com/embed/%id%?autoplay=1" 3375 }, 3376 vimeo: { 3377 index: "vimeo.com/", 3378 id: "/", 3379 src: "//player.vimeo.com/video/%id%?autoplay=1" 3380 }, 3381 gmaps: { 3382 index: "//maps.google.", 3383 src: "%id%&output=embed" 3384 } 3385 } 3386 }, 3387 proto: { 3388 initIframe: function() { 3389 m.types.push(P), d("BeforeChange", function(t, e, i) { 3390 e !== i && (e === P ? N() : i === P && N(!0)) 3391 }), d(l + "." + P, function() { 3392 N() 3393 }) 3394 }, 3395 getIframe: function(t, e) { 3396 var i = t.src, 3397 s = m.st.iframe; 3398 c.each(s.patterns, function() { 3399 if (-1 < i.indexOf(this.index)) return this.id && (i = "string" == typeof this.id ? i.substr(i.lastIndexOf(this.id) + this.id.length, i.length) : this.id.call(this, i)), i = this.src.replace("%id%", i), !1 3400 }); 3401 var n = {}; 3402 return s.srcAction && (n[s.srcAction] = i), m._parseMarkup(e, n, t), m.updateStatus("ready"), e 3403 } 3404 } 3405 }); 3406 3407 function F(t) { 3408 var e = m.items.length; 3409 return e - 1 < t ? t - e : t < 0 ? e + t : t 3410 } 3411 3412 function H(t, e, i) { 3413 return t.replace(/%curr%/gi, e + 1).replace(/%total%/gi, i) 3414 } 3415 c.magnificPopup.registerModule("gallery", { 3416 options: { 3417 enabled: !1, 3418 arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>', 3419 preload: [0, 2], 3420 navigateByImgClick: !0, 3421 arrows: !0, 3422 tPrev: "Previous (Left arrow key)", 3423 tNext: "Next (Right arrow key)", 3424 tCounter: "%curr% of %total%" 3425 }, 3426 proto: { 3427 initGallery: function() { 3428 var o = m.st.gallery, 3429 t = ".mfp-gallery"; 3430 if (m.direction = !0, !o || !o.enabled) return !1; 3431 _ += " mfp-gallery", d(y + t, function() { 3432 o.navigateByImgClick && m.wrap.on("click" + t, ".mfp-img", function() { 3433 if (1 < m.items.length) return m.next(), !1 3434 }), g.on("keydown" + t, function(t) { 3435 37 === t.keyCode ? m.prev() : 39 === t.keyCode && m.next() 3436 }) 3437 }), d("UpdateStatus" + t, function(t, e) { 3438 e.text && (e.text = H(e.text, m.currItem.index, m.items.length)) 3439 }), d(v + t, function(t, e, i, s) { 3440 var n = m.items.length; 3441 i.counter = 1 < n ? H(o.tCounter, s.index, n) : "" 3442 }), d("BuildControls" + t, function() { 3443 if (1 < m.items.length && o.arrows && !m.arrowLeft) { 3444 var t = o.arrowMarkup, 3445 e = m.arrowLeft = c(t.replace(/%title%/gi, o.tPrev).replace(/%dir%/gi, "left")).addClass(r), 3446 i = m.arrowRight = c(t.replace(/%title%/gi, o.tNext).replace(/%dir%/gi, "right")).addClass(r); 3447 e.click(function() { 3448 m.prev() 3449 }), i.click(function() { 3450 m.next() 3451 }), m.container.append(e.add(i)) 3452 } 3453 }), d("Change" + t, function() { 3454 m._preloadTimeout && clearTimeout(m._preloadTimeout), m._preloadTimeout = setTimeout(function() { 3455 m.preloadNearbyImages(), m._preloadTimeout = null 3456 }, 16) 3457 }), d(l + t, function() { 3458 g.off(t), m.wrap.off("click" + t), m.arrowRight = m.arrowLeft = null 3459 }) 3460 }, 3461 next: function() { 3462 m.direction = !0, m.index = F(m.index + 1), m.updateItemHTML() 3463 }, 3464 prev: function() { 3465 m.direction = !1, m.index = F(m.index - 1), m.updateItemHTML() 3466 }, 3467 goTo: function(t) { 3468 m.direction = t >= m.index, m.index = t, m.updateItemHTML() 3469 }, 3470 preloadNearbyImages: function() { 3471 var t, e = m.st.gallery.preload, 3472 i = Math.min(e[0], m.items.length), 3473 s = Math.min(e[1], m.items.length); 3474 for (t = 1; t <= (m.direction ? s : i); t++) m._preloadItem(m.index + t); 3475 for (t = 1; t <= (m.direction ? i : s); t++) m._preloadItem(m.index - t) 3476 }, 3477 _preloadItem: function(t) { 3478 if (t = F(t), !m.items[t].preloaded) { 3479 var e = m.items[t]; 3480 e.parsed || (e = m.parseEl(t)), p("LazyLoad", e), "image" === e.type && (e.img = c('<img class="mfp-img" />').on("load.mfploader", function() { 3481 e.hasSize = !0 3482 }).on("error.mfploader", function() { 3483 e.hasSize = !0, e.loadError = !0, p("LazyLoadError", e) 3484 }).attr("src", e.src)), e.preloaded = !0 3485 } 3486 } 3487 } 3488 }); 3489 var j = "retina"; 3490 c.magnificPopup.registerModule(j, { 3491 options: { 3492 replaceSrc: function(t) { 3493 return t.src.replace(/\.\w+$/, function(t) { 3494 return "@2x" + t 3495 }) 3496 }, 3497 ratio: 1 3498 }, 3499 proto: { 3500 initRetina: function() { 3501 if (1 < window.devicePixelRatio) { 3502 var i = m.st.retina, 3503 s = i.ratio; 3504 1 < (s = isNaN(s) ? s() : s) && (d("ImageHasSize." + j, function(t, e) { 3505 e.img.css({
3506 "max-width": e.img[0].naturalWidth / s, 3507 width: "100%" 3508 }) 3509 }), d("ElementParse." + j, function(t, e) { 3510 e.src = i.replaceSrc(e, s) 3511 })) 3512 } 3513 } 3514 } 3515 }), o() 3516}), 3517function() { 3518 function e(t, e) { 3519 return function() { 3520 return t.apply(e, arguments) 3521 } 3522 } 3523 var s, t, i, l, n, r = [].indexOf || function(t) { 3524 for (var e = 0, i = this.length; e < i; e++) 3525 if (e in this && this[e] === t) return e; 3526 return -1 3527 }; 3528 3529 function o() {} 3530 3531 function a() { 3532 this.keys = [], this.values = [] 3533 } 3534 3535 function h() { 3536 "undefined" != typeof console && null !== console && console.warn("MutationObserver is not supported by your browser."), "undefined" != typeof console && null !== console && console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.") 3537 } 3538 3539 function c(t) { 3540 null == t && (t = {}), this.scrollCallback = e(this.scrollCallback, this), this.scrollHandler = e(this.scrollHandler, this), this.resetAnimation = e(this.resetAnimation, this), this.start = e(this.start, this), this.scrolled = !0, this.config = this.util().extend(t, this.defaults), null != t.scrollContainer && (this.config.scrollContainer = document.querySelector(t.scrollContainer)), this.animationNameCache = new i, this.wowEvent = this.util().createEvent(this.config.boxClass) 3541 } 3542 o.prototype.extend = function(t, e) { 3543 var i, s; 3544 for (i in e) s = e[i], null == t[i] && (t[i] = s); 3545 return t 3546 }, o.prototype.isMobile = function(t) { 3547 return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(t) 3548 }, o.prototype.createEvent = function(t, e, i, s) { 3549 var n; 3550 return null == e && (e = !1), null == i && (i = !1), null == s && (s = null), null != document.createEvent ? (n = document.createEvent("CustomEvent")).initCustomEvent(t, e, i, s) : null != document.createEventObject ? (n = document.createEventObject()).eventType = t : n.eventName = t, n 3551 }, o.prototype.emitEvent = function(t, e) { 3552 return null != t.dispatchEvent ? t.dispatchEvent(e) : e in (null != t) ? t[e]() : "on" + e in (null != t) ? t["on" + e]() : void 0 3553 }, o.prototype.addEvent = function(t, e, i) { 3554 return null != t.addEventListener ? t.addEventListener(e, i, !1) : null != t.attachEvent ? t.attachEvent("on" + e, i) : t[e] = i 3555 }, o.prototype.removeEvent = function(t, e, i) { 3556 return null != t.removeEventListener ? t.removeEventListener(e, i, !1) : null != t.detachEvent ? t.detachEvent("on" + e, i) : delete t[e] 3557 }, o.prototype.innerHeight = function() {
3558 return "innerHeight" in window ? window.innerHeight : document.documentElement.clientHeight 3559 }, t = o, i = this.WeakMap || this.MozWeakMap || (a.prototype.get = function(t) { 3560 var e, i, s, n; 3561 for (e = i = 0, s = (n = this.keys).length; i < s; e = ++i) 3562 if (n[e] === t) return this.values[e] 3563 }, a.prototype.set = function(t, e) { 3564 var i, s, n, o; 3565 for (i = s = 0, n = (o = this.keys).length; s < n; i = ++s) 3566 if (o[i] === t) return void(this.values[i] = e); 3567 return this.keys.push(t), this.values.push(e) 3568 }, a), s = this.MutationObserver || this.WebkitMutationObserver || this.MozMutationObserver || (h.notSupported = !0, h.prototype.observe = function() {}, h), l = this.getComputedStyle || function(i, t) { 3569 return this.getPropertyValue = function(t) { 3570 var e; 3571 return "float" === t && (t = "styleFloat"), n.test(t) && t.replace(n, function(t, e) { 3572 return e.toUpperCase() 3573 }), (null != (e = i.currentStyle) ? e[t] : void 0) || null 3574 }, this 3575 }, n = /(\-([a-z]){1})/g, this.WOW = (c.prototype.defaults = { 3576 boxClass: "wow", 3577 animateClass: "animated", 3578 offset: 0, 3579 mobile: !0, 3580 live: !0, 3581 callback: null, 3582 scrollContainer: null 3583 }, c.prototype.init = function() { 3584 var t; 3585 return this.element = window.document.documentElement, "interactive" === (t = document.readyState) || "complete" === t ? this.start() : this.util().addEvent(document, "DOMContentLoaded", this.start), this.finished = [] 3586 }, c.prototype.start = function() { 3587 var n, t, e, i, r; 3588 if (this.stopped = !1, this.boxes = function() { 3589 var t, e, i, s; 3590 for (s = [], t = 0, e = (i = this.element.querySelectorAll("." + this.config.boxClass)).length; t < e; t++) n = i[t], s.push(n); 3591 return s 3592 }.call(this), this.all = function() { 3593 var t, e, i, s; 3594 for (s = [], t = 0, e = (i = this.boxes).length; t < e; t++) n = i[t], s.push(n); 3595 return s 3596 }.call(this), this.boxes.length) 3597 if (this.disabled()) this.resetStyle(); 3598 else 3599 for (t = 0, e = (i = this.boxes).length; t < e; t++) n = i[t], this.applyStyle(n, !0); 3600 if (this.disabled() || (this.util().addEvent(this.config.scrollContainer || window, "scroll", this.scrollHandler), this.util().addEvent(window, "resize", this.scrollHandler), this.interval = setInterval(this.scrollCallback, 50)), this.config.live) return new s((r = this, function(t) { 3601 var e, i, n, o, s; 3602 for (s = [], e = 0, i = t.length; e < i; e++) o = t[e], s.push(function() { 3603 var t, e, i, s; 3604 for (s = [], t = 0, e = (i = o.addedNodes || []).length; t < e; t++) n = i[t], s.push(this.doSync(n)); 3605 return s 3606 }.call(r)); 3607 return s 3608 })).observe(document.body, { 3609 childList: !0, 3610 subtree: !0 3611 }) 3612 }, c.prototype.stop = function() { 3613 if (this.stopped = !0, this.util().removeEvent(this.config.scrollContainer || window, "scroll", this.scrollHandler), this.util().removeEvent(window, "resize", this.scrollHandler), null != this.interval) return clearInterval(this.interval) 3614 }, c.prototype.sync = function(t) { 3615 if (s.notSupported) return this.doSync(this.element) 3616 }, c.prototype.doSync = function(t) { 3617 var e, i, s, n, o; 3618 if (null == t && (t = this.element), 1 === t.nodeType) { 3619 for (o = [], i = 0, s = (n = (t = t.parentNode || t).querySelectorAll("." + this.config.boxClass)).length; i < s; i++) e = n[i], r.call(this.all, e) < 0 ? (this.boxes.push(e), this.all.push(e), this.stopped || this.disabled() ? this.resetStyle() : this.applyStyle(e, !0), o.push(this.scrolled = !0)) : o.push(void 0); 3620 return o 3621 } 3622 }, c.prototype.show = function(t) { 3623 return this.applyStyle(t), t.className = t.className + " " + this.config.animateClass, null != this.config.callback && this.config.callback(t), this.util().emitEvent(t, this.wowEvent), this.util().addEvent(t, "animationend", this.resetAnimation), this.util().addEvent(t, "oanimationend", this.resetAnimation), this.util().addEvent(t, "webkitAnimationEnd", this.resetAnimation), this.util().addEvent(t, "MSAnimationEnd", this.resetAnimation), t 3624 }, c.prototype.applyStyle = function(t, e) { 3625 var i, s, n, o; 3626 return s = t.getAttribute("data-wow-duration"), i = t.getAttribute("data-wow-delay"), n = t.getAttribute("data-wow-iteration"), this.animate((o = this, function() { 3627 return o.customStyle(t, e, s, i, n) 3628 })) 3629 }, c.prototype.animate = "requestAnimationFrame" in window ? function(t) { 3630 return window.requestAnimationFrame(t) 3631 } : function(t) { 3632 return t() 3633 }, c.prototype.resetStyle = function() { 3634 var t, e, i, s, n; 3635 for (n = [], e = 0, i = (s = this.boxes).length; e < i; e++) t = s[e], n.push(t.style.visibility = "visible"); 3636 return n 3637 }, c.prototype.resetAnimation = function(t) { 3638 var e; 3639 if (0 <= t.type.toLowerCase().indexOf("animationend")) return (e = t.target || t.srcElement).className = e.className.replace(this.config.animateClass, "").trim() 3640 }, c.prototype.customStyle = function(t, e, i, s, n) { 3641 return e && this.cacheAnimationName(t), t.style.visibility = e ? "hidden" : "visible", i && this.vendorSet(t.style, { 3642 animationDuration: i 3643 }), s && this.vendorSet(t.style, { 3644 animationDelay: s 3645 }), n && this.vendorSet(t.style, { 3646 animationIterationCount: n 3647 }), this.vendorSet(t.style, { 3648 animationName: e ? "none" : this.cachedAnimationName(t) 3649 }), t 3650 }
3650, c.prototype.vendors = ["moz", "webkit"], c.prototype.vendorSet = function(n, t) { 3651 var o, e, r, a; 3652 for (o in e = [], t) r = t[o], n["" + o] = r, e.push(function() { 3653 var t, e, i, s; 3654 for (s = [], t = 0, e = (i = this.vendors).length; t < e; t++) a = i[t], s.push(n["" + a + o.charAt(0).toUpperCase() + o.substr(1)] = r); 3655 return s 3656 }.call(this)); 3657 return e 3658 }, c.prototype.vendorCSS = function(t, e) { 3659 var i, s, n, o, r, a; 3660 for (o = (r = l(t)).getPropertyCSSValue(e), i = 0, s = (n = this.vendors).length; i < s; i++) a = n[i], o = o || r.getPropertyCSSValue("-" + a + "-" + e); 3661 return o 3662 }, c.prototype.animationName = function(e) { 3663 var i; 3664 try { 3665 i = this.vendorCSS(e, "animation-name").cssText 3666 } catch (t) { 3667 i = l(e).getPropertyValue("animation-name") 3668 } 3669 return "none" === i ? "" : i 3670 }, c.prototype.cacheAnimationName = function(t) { 3671 return this.animationNameCache.set(t, this.animationName(t)) 3672 }, c.prototype.cachedAnimationName = function(t) { 3673 return this.animationNameCache.get(t) 3674 }, c.prototype.scrollHandler = function() { 3675 return this.scrolled = !0 3676 }, c.prototype.scrollCallback = function() { 3677 var n; 3678 if (this.scrolled && (this.scrolled = !1, this.boxes = function() { 3679 var t, e, i, s; 3680 for (s = [], t = 0, e = (i = this.boxes).length; t < e; t++)(n = i[t]) && (this.isVisible(n) ? this.show(n) : s.push(n)); 3681 return s 3682 }.call(this), !this.boxes.length && !this.config.live)) return this.stop() 3683 }, c.prototype.offsetTop = function(t) { 3684 for (var e; void 0 === t.offsetTop;) t = t.parentNode; 3685 for (e = t.offsetTop; t = t.offsetParent;) e += t.offsetTop; 3686 return e 3687 }, c.prototype.isVisible = function(t) { 3688 var e, i, s, n, o; 3689 return i = t.getAttribute("data-wow-offset") || this.config.offset, n = (o = this.config.scrollContainer && this.config.scrollContainer.scrollTop || window.pageYOffset) + Math.min(this.element.clientHeight, this.util().innerHeight()) - i, e = (s = this.offsetTop(t)) + t.clientHeight, s <= n && o <= e 3690 }, c.prototype.util = function() { 3691 return null != this._util ? this._util : this._util = new t 3692 }, c.prototype.disabled = function() { 3693 return !this.config.mobile && this.util().isMobile(navigator.userAgent) 3694 }, c) 3695}.call(this), 3696 function(e) { 3697 "function" == typeof define && define.amd ? define(["jquery"], function(t) { 3698 return e(t, document, window, navigator) 3699 }) : "object" == typeof exports ? e(require("jquery"), document, window, navigator) : e(jQuery, document, window, navigator) 3700 }(function(l, h, c, t, d) { 3701 "use strict"; 3702 var e, i, s = 0, 3703 n = (e = t.userAgent, i = /msie\s\d+/i, 0 < e.search(i) && i.exec(e).toString().split(" ")[1] < 9 && (l("html").addClass("lt-ie9"), !0)); 3704 Function.prototype.bind || (Function.prototype.bind = function(s) { 3705 var n = this, 3706 o = [].slice; 3707 if ("function" != typeof n) throw new TypeError; 3708 var r = o.call(arguments, 1), 3709 a = function() { 3710 if (this instanceof a) { 3711 var t = function() {}; 3712 t.prototype = n.prototype; 3713 var e = new t, 3714 i = n.apply(e, r.concat(o.call(arguments))); 3715 return Object(i) === i ? i : e 3716 } 3717 return n.apply(s, r.concat(o.call(arguments))) 3718 }; 3719 return a 3720 }), Array.prototype.indexOf || (Array.prototype.indexOf = function(t, e) { 3721 var i; 3722 if (null == this) throw new TypeError('"this" is null or not defined'); 3723 var s = Object(this), 3724 n = s.length >>> 0; 3725 if (0 == n) return -1; 3726 var o = +e || 0; 3727 if (Math.abs(o) === 1 / 0 && (o = 0), n <= o) return -1; 3728 for (i = Math.max(0 <= o ? o : n - Math.abs(o), 0); i < n;) { 3729 if (i in s && s[i] === t) return i; 3730 i++ 3731 } 3732 return -1 3733 }); 3734 3735 function o(t, e, i) { 3736 this.VERSION = "2.2.0", this.input = t, this.plugin_count = i, this.current_plugin = 0, this.calc_count = 0, this.update_tm = 0, this.old_from = 0, this.old_to = 0, this.old_min_interval = null, this.raf_id = null, this.dragging = !1, this.force_redraw = !1, this.no_diapason = !1, this.has_tab_index = !0, this.is_key = !1, this.is_update = !1, this.is_start = !0, this.is_finish = !1, this.is_active = !1, this.is_resize = !1, this.is_click = !1, e = e || {}, this.$cache = { 3737 win: l(c), 3738 body: l(h.body), 3739 input: l(t), 3740 cont: null, 3741 rs: null, 3742 min: null, 3743 max: null, 3744 from: null, 3745 to: null, 3746 single: null, 3747 bar: null, 3748 line: null, 3749 s_single: null, 3750 s_from: null, 3751 s_to: null, 3752 shad_single: null, 3753 shad_from: null, 3754 shad_to: null, 3755 edge: null, 3756 grid: null, 3757 grid_labels: [] 3758 }, this.coords = { 3759 x_gap: 0, 3760 x_pointer: 0, 3761 w_rs: 0, 3762 w_rs_old: 0, 3763 w_handle: 0, 3764 p_gap: 0, 3765 p_gap_left: 0, 3766 p_gap_right: 0, 3767 p_step: 0, 3768 p_pointer: 0, 3769 p_handle: 0, 3770 p_single_fake: 0, 3771 p_single_real: 0, 3772 p_from_fake: 0, 3773 p_from_real: 0, 3774 p_to_fake: 0, 3775 p_to_real: 0, 3776 p_bar_x: 0, 3777 p_bar_w: 0, 3778 grid_gap: 0, 3779 big_num: 0, 3780 big: [], 3781 big_w: [], 3782 big_p: [], 3783 big_x: [] 3784 }, this.labels = { 3785 w_min: 0, 3786 w_max: 0, 3787 w_from: 0, 3788 w_to: 0, 3789 w_single: 0, 3790 p_min: 0, 3791 p_max: 0, 3792 p_from_fake: 0, 3793 p_from_left: 0, 3794 p_to_fake: 0, 3795 p_to_left: 0, 3796 p_single_fake: 0, 3797 p_single_left: 0 3798 }; 3799 var s, n, o, r = this.$cache.input, 3800 a = r.prop("value"); 3801 for (o in s = { 3802 type: "single", 3803 min: 10, 3804 max: 100, 3805 from: null, 3806 to: null, 3807 step: 1, 3808 min_interval: 0, 3809 max_interval: 0, 3810 drag_interval: !1, 3811 values: [], 3812 p_values: [], 3813 from_fixed: !1, 3814 from_min: null, 3815 from_max: null, 3816 from_shadow: !1, 3817 to_fixed: !1, 3818 to_min: null, 3819 to_max: null, 3820 to_shadow: !1, 3821 prettify_enabled: !0, 3822 prettify_separator: " ", 3823 prettify: null, 3824 force_edges: !1, 3825 keyboard: !0, 3826 grid: !1, 3827 grid_margin: !0, 3828 grid_num: 4, 3829 grid_snap: !1, 3830 hide_min_max: !1, 3831 hide_from_to: !1, 3832 prefix: "", 3833 postfix: "", 3834 max_postfix: "", 3835 decorate_both: !0, 3836 values_separator: " â ", 3837 input_values_separator: ";", 3838 disable: !1, 3839 block: !1, 3840 extra_classes: "", 3841 scope: null, 3842 onStart: null, 3843 onChange: null, 3844 onFinish: null, 3845 onUpdate: null 3846 }, "INPUT" !== r[0].nodeName && console && console.warn && console.warn("Base element should be <input>!", r[0]), (n = { 3847 type: r.data("type"), 3848 min: r.data("min"), 3849 max: r.data("max"), 3850 from: r.data("from"), 3851 to: r.data("to"), 3852 step: r.data("step"), 3853 min_interval: r.data("minInterval"), 3854 max_interval: r.data("maxInterval"), 3855 drag_interval: r.data("dragInterval"), 3856 values: r.data("values"), 3857 from_fixed: r.data("fromFixed"), 3858 from_min: r.data("fromMin"), 3859 from_max: r.data("fromMax"), 3860 from_shadow: r.data("fromShadow"), 3861 to_fixed: r.data("toFixed"), 3862 to_min: r.data("toMin"), 3863 to_max: r.data("toMax"), 3864 to_shadow: r.data("toShadow"), 3865 prettify_enabled: r.data("prettifyEnabled"), 3866 prettify_separator: r.data("prettifySeparator"), 3867 force_edges: r.data("forceEdges"), 3868 keyboard: r.data("keyboard"), 3869 grid: r.data("grid"), 3870 grid_margin: r.data("gridMargin"), 3871 grid_num: r.data("gridNum"), 3872 grid_snap: r.data("gridSnap"), 3873 hide_min_max: r.data("hideMinMax"), 3874 hide_from_to: r.data("hideFromTo"), 3875 prefix: r.data("prefix"), 3876 postfix: r.data("postfix"), 3877 max_postfix: r.data("maxPostfix"), 3878 decorate_both: r.data("decorateBoth"), 3879 values_separator: r.data("valuesSeparator"), 3880 input_values_separator: r.data("inputValuesSeparator"), 3881 disable: r.data("disable"), 3882 block: r.data("block"),
3883 extra_classes: r.data("extraClasses") 3884 }).values = n.values && n.values.split(","), n) n.hasOwnProperty(o) && (n[o] !== d && "" !== n[o] || delete n[o]); 3885 a !== d && "" !== a && ((a = a.split(n.input_values_separator || e.input_values_separator || ";"))[0] && a[0] == +a[0] && (a[0] = +a[0]), a[1] && a[1] == +a[1] && (a[1] = +a[1]), e && e.values && e.values.length ? (s.from = a[0] && e.values.indexOf(a[0]), s.to = a[1] && e.values.indexOf(a[1])) : (s.from = a[0] && +a[0], s.to = a[1] && +a[1])), l.extend(s, e), l.extend(s, n), this.options = s, this.update_check = {}, this.validate(), this.result = { 3886 input: this.$cache.input, 3887 slider: null, 3888 min: this.options.min, 3889 max: this.options.max, 3890 from: this.options.from, 3891 from_percent: 0, 3892 from_value: null, 3893 to: this.options.to, 3894 to_percent: 0, 3895 to_value: null 3896 }, this.init() 3897 } 3898 o.prototype = { 3899 init: function(t) { 3900 this.no_diapason = !1, this.coords.p_step = this.convertToPercent(this.options.step, !0), this.target = "base", this.toggleInput(), this.append(), this.setMinMax(), t ? (this.force_redraw = !0, this.calc(!0), this.callOnUpdate()) : (this.force_redraw = !0, this.calc(!0), this.callOnStart()), this.updateScene() 3901 }, 3902 append: function() { 3903 var t = '<span class="irs js-irs-' + this.plugin_count + " " + this.options.extra_classes + '"></span>'; 3904 this.$cache.input.before(t), this.$cache.input.prop("readonly", !0), this.$cache.cont = this.$cache.input.prev(), this.result.slider = this.$cache.cont, this.$cache.cont.html('<span class="irs"><span class="irs-line" tabindex="0"><span class="irs-line-left"></span><span class="irs-line-mid"></span><span class="irs-line-right"></span></span><span class="irs-min">0</span><span class="irs-max">1</span><span class="irs-from">0</span><span class="irs-to">0</span><span class="irs-single">0</span></span><span class="irs-grid"></span><span class="irs-bar"></span>
vendor: 8,015 bytes, lines 3904-3938
3904'), this.$cache.rs = this.$cache.cont.find(".irs"), this.$cache.min = this.$cache.cont.find(".irs-min"), this.$cache.max = this.$cache.cont.find(".irs-max"), this.$cache.from = this.$cache.cont.find(".irs-from"), this.$cache.to = this.$cache.cont.find(".irs-to"), this.$cache.single = this.$cache.cont.find(".irs-single"), this.$cache.bar = this.$cache.cont.find(".irs-bar"), this.$cache.line = this.$cache.cont.find(".irs-line"), this.$cache.grid = this.$cache.cont.find(".irs-grid"), "single" === this.options.type ? (this.$cache.cont.append('<span class="irs-bar-edge"></span><span class="irs-shadow shadow-single"></span><span class="irs-slider single"></span>'), this.$cache.edge = this.$cache.cont.find(".irs-bar-edge"), this.$cache.s_single = this.$cache.cont.find(".single"), this.$cache.from[0].style.visibility = "hidden", this.$cache.to[0].style.visibility = "hidden", this.$cache.shad_single = this.$cache.cont.find(".shadow-single")) : (this.$cache.cont.append('<span class="irs-shadow shadow-from"></span><span class="irs-shadow shadow-to"></span><span class="irs-slider from"></span><span class="irs-slider to"></span>'), this.$cache.s_from = this.$cache.cont.find(".from"), this.$cache.s_to = this.$cache.cont.find(".to"), this.$cache.shad_from = this.$cache.cont.find(".shadow-from"), this.$cache.shad_to = this.$cache.cont.find(".shadow-to"), this.setTopHandler()), this.options.hide_from_to && (this.$cache.from[0].style.display = "none", this.$cache.to[0].style.display = "none", this.$cache.single[0].style.display = "none"), this.appendGrid(), this.options.disable ? (this.appendDisableMask(), this.$cache.input[0].disabled = !0) : (this.$cache.input[0].disabled = !1, this.removeDisableMask(), this.bindEvents()), this.options.disable || (this.options.block ? this.appendDisableMask() : this.removeDisableMask()), this.options.drag_interval && (this.$cache.bar[0].style.cursor = "ew-resize") 3905 }, 3906 setTopHandler: function() { 3907 var t = this.options.min, 3908 e = this.options.max, 3909 i = this.options.from, 3910 s = this.options.to; 3911 t < i && s === e ? this.$cache.s_from.addClass("type_last") : s < e && this.$cache.s_to.addClass("type_last") 3912 }, 3913 changeLevel: function(t) { 3914 switch (t) { 3915 case "single": 3916 this.coords.p_gap = this.toFixed(this.coords.p_pointer - this.coords.p_single_fake), this.$cache.s_single.addClass("state_hover"); 3917 break; 3918 case "from": 3919 this.coords.p_gap = this.toFixed(this.coords.p_pointer - this.coords.p_from_fake), this.$cache.s_from.addClass("state_hover"), this.$cache.s_from.addClass("type_last"), this.$cache.s_to.removeClass("type_last"); 3920 break; 3921 case "to": 3922 this.coords.p_gap = this.toFixed(this.coords.p_pointer - this.coords.p_to_fake), this.$cache.s_to.addClass("state_hover"), this.$cache.s_to.addClass("type_last"), this.$cache.s_from.removeClass("type_last"); 3923 break; 3924 case "both": 3925 this.coords.p_gap_left = this.toFixed(this.coords.p_pointer - this.coords.p_from_fake), this.coords.p_gap_right = this.toFixed(this.coords.p_to_fake - this.coords.p_pointer), this.$cache.s_to.removeClass("type_last"), this.$cache.s_from.removeClass("type_last") 3926 } 3927 }, 3928 appendDisableMask: function() { 3929 this.$cache.cont.append('<span class="irs-disable-mask"></span>'), this.$cache.cont.addClass("irs-disabled") 3930 }, 3931 removeDisableMask: function() { 3932 this.$cache.cont.remove(".irs-disable-mask"), this.$cache.cont.removeClass("irs-disabled") 3933 }, 3934 remove: function() { 3935 this.$cache.cont.remove(), this.$cache.cont = null, this.$cache.line.off("keydown.irs_" + this.plugin_count), this.$cache.body.off("touchmove.irs_" + this.plugin_count), this.$cache.body.off("mousemove.irs_" + this.plugin_count), this.$cache.win.off("touchend.irs_" + this.plugin_count), this.$cache.win.off("mouseup.irs_" + this.plugin_count), n && (this.$cache.body.off("mouseup.irs_" + this.plugin_count), this.$cache.body.off("mouseleave.irs_" + this.plugin_count)), this.$cache.grid_labels = [], this.coords.big = [], this.coords.big_w = [], this.coords.big_p = [], this.coords.big_x = [], cancelAnimationFrame(this.raf_id) 3936 }, 3937 bindEvents: function() { 3938 this.no_diapason || (this.$cache.body.on("touchmove.irs_" + this.plugin_count, this.pointerMove.bind(this)), this.$cache.body.on("mousemove.irs_" + this.plugin_count, this.pointerMove.bind(this)), this.$cache.win.on("touchend.irs_" + this.plugin_count, this.pointerUp.bind(this)), this.$cache.win.on("mouseup.irs_" + this.plugin_count, this.pointerUp.bind(this)), this.$cache.line.on("touchstart.irs_" + this.plugin_count, this.pointerClick.bind(this, "click")), this.$cache.line.on("mousedown.irs_" + this.plugin_count, this.pointerClick.bind(this, "click")), this.$cache.line.on("focus.irs_" + this.plugin_count, this.pointerFocus.bind(this)), this.options.drag_interval && "double" === this.options.type ? (this.$cache.bar.on("touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, "both")), this.$cache.bar.on("mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, "both"))) : (this.$cache.bar.on("touchstart.irs_" + this.plugin_count, this.pointerClick.bind(this, "click")), this.$cache.bar.on("mousedown.irs_" + this.plugin_count, this.pointerClick.bind(this, "click"))), "single" === this.options.type ? (this.$cache.single.on("touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, "single")), this.$cache.s_single.on("touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, "single")), this.$cache.shad_single.on("touchstart.irs_" + this.plugin_count, this.pointerClick.bind(this, "click")), this.$cache.single.on("mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, "single")), this.$cache.s_single.on("mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, "single")), this.$cache.edge.on("mousedown.irs_" + this.plugin_count, this.pointerClick.bind(this, "click")), this.$cache.shad_single.on("mousedown.irs_" + this.plugin_count, this.pointerClick.bind(this, "click"))) : (this.$cache.single.on("touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, null)), this.$cache.single.on("mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, null)), this.$cache.from.on("touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, "from")), this.$cache.s_from.on("touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, "from")), this.$cache.to.on("touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, "to")), this.$cache.s_to.on("touchstart.irs_" + this.plugin_count, this.pointerDown.bind(this, "to")), this.$cache.shad_from.on("touchstart.irs_" + this.plugin_count, this.pointerClick.bind(this, "click")), this.$cache.shad_to.on("touchstart.irs_" + this.plugin_count, this.pointerClick.bind(this, "click")), this.$cache.from.on("mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, "from")), this.$cache.s_from.on("mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, "from")), this.$cache.to.on("mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, "to")), this.$cache.s_to.on("mousedown.irs_" + this.plugin_count, this.pointerDown.bind(this, "to")), this.$cache.shad_from.on("mousedown.irs_" + this.plugin_count, this.pointerClick.bind(this, "click")), this.$cache.shad_to.on("mousedown.irs_" + this.plugin_count, this.pointerClick.bind(this, "click"))), this.options.keyboard && this.$cache.line.on("key
3938down.irs_" + this.plugin_count, this.key.bind(this, "keyboard")), n && (this.$cache.body.on("mouseup.irs_" + this.plugin_count, this.pointerUp.bind(this)), this.$cache.body.on("mouseleave.irs_" + this.plugin_count, this.pointerUp.bind(this)))) 3939 }, 3940 pointerFocus: function(t) { 3941 var e, i; 3942 this.target || (e = (i = "single" === this.options.type ? this.$cache.single : this.$cache.from).offset().left, e += i.width() / 2 - 1, this.pointerClick("single", { 3943 preventDefault: function() {}, 3944 pageX: e 3945 })) 3946 }, 3947 pointerMove: function(t) { 3948 if (this.dragging) { 3949 var e = t.pageX || t.originalEvent.touches && t.originalEvent.touches[0].pageX; 3950 this.coords.x_pointer = e - this.coords.x_gap, this.calc() 3951 } 3952 }, 3953 pointerUp: function(t) { 3954 this.current_plugin === this.plugin_count && this.is_active && (this.is_active = !1, this.$cache.cont.find(".state_hover").removeClass("state_hover"), this.force_redraw = !0, n && l("*").prop("unselectable", !1), this.updateScene(), this.restoreOriginalMinInterval(), (l.contains(this.$cache.cont[0], t.target) || this.dragging) && this.callOnFinish(), this.dragging = !1) 3955 }, 3956 pointerDown: function(t, e) { 3957 e.preventDefault(); 3958 var i = e.pageX || e.originalEvent.touches && e.originalEvent.touches[0].pageX; 3959 2 !== e.button && ("both" === t && this.setTempMinInterval(), t = t || (this.target || "from"), this.current_plugin = this.plugin_count, this.target = t, this.is_active = !0, this.dragging = !0, this.coords.x_gap = this.$cache.rs.offset().left, this.coords.x_pointer = i - this.coords.x_gap, this.calcPointerPercent(), this.changeLevel(t), n && l("*").prop("unselectable", !0), this.$cache.line.trigger("focus"), this.updateScene()) 3960 }, 3961 pointerClick: function(t, e) { 3962 e.preventDefault(); 3963 var i = e.pageX || e.originalEvent.touches && e.originalEvent.touches[0].pageX; 3964 2 !== e.button && (this.current_plugin = this.plugin_count, this.target = t, this.is_click = !0, this.coords.x_gap = this.$cache.rs.offset().left, this.coords.x_pointer = +(i - this.coords.x_gap).toFixed(), this.force_redraw = !0, this.calc(), this.$cache.line.trigger("focus")) 3965 }, 3966 key: function(t, e) { 3967 if (!(this.current_plugin !== this.plugin_count || e.altKey || e.ctrlKey || e.shiftKey || e.metaKey)) { 3968 switch (e.which) { 3969 case 83: 3970 case 65: 3971 case 40: 3972 case 37: 3973 e.preventDefault(), this.moveByKey(!1); 3974 break; 3975 case 87: 3976 case 68: 3977 case 38: 3978 case 39: 3979 e.preventDefault(), this.moveByKey(!0) 3980 } 3981 return !0 3982 } 3983 }, 3984 moveByKey: function(t) { 3985 var e = this.coords.p_pointer, 3986 i = (this.options.max - this.options.min) / 100; 3987 i = this.options.step / i, t ? e += i : e -= i, this.coords.x_pointer = this.toFixed(this.coords.w_rs / 100 * e), this.is_key = !0, this.calc() 3988 }, 3989 setMinMax: function() { 3990 if (this.options) { 3991 if (this.options.hide_min_max) return this.$cache.min[0].style.display = "none", void(this.$cache.max[0].style.display = "none"); 3992 if (this.options.values.length) this.$cache.min.html(this.decorate(this.options.p_values[this.options.min])), this.$cache.max.html(this.decorate(this.options.p_values[this.options.max])); 3993 else { 3994 var t = this._prettify(this.options.min), 3995 e = this._prettify(this.options.max); 3996 this.result.min_pretty = t, this.result.max_pretty = e, this.$cache.min.html(this.decorate(t, this.options.min)), this.$cache.max.html(this.decorate(e, this.options.max)) 3997 } 3998 this.labels.w_min = this.$cache.min.outerWidth(!1), this.labels.w_max = this.$cache.max.outerWidth(!1) 3999 } 4000 }, 4001 setTempMinInterval: function() { 4002 var t = this.result.to - this.result.from; 4003 null === this.old_min_interval && (this.old_min_interval = this.options.min_interval), this.options.min_interval = t 4004 }, 4005 restoreOriginalMinInterval: function() { 4006 null !== this.old_min_interval && (this.options.min_interval = this.old_min_interval, this.old_min_interval = null) 4007 }, 4008 calc: function(t) { 4009 if (this.options && (this.calc_count++, 10 !== this.calc_count && !t || (this.calc_count = 0, this.coords.w_rs = this.$cache.rs.outerWidth(!1), this.calcHandlePercent()), this.coords.w_rs)) { 4010 this.calcPointerPercent();
4011 var e = this.getHandleX(); 4012 switch ("both" === this.target && (this.coords.p_gap = 0, e = this.getHandleX()), "click" === this.target && (this.coords.p_gap = this.coords.p_handle / 2, e = this.getHandleX(), this.options.drag_interval ? this.target = "both_one" : this.target = this.chooseHandle(e)), this.target) { 4013 case "base": 4014 var i = (this.options.max - this.options.min) / 100, 4015 s = (this.result.from - this.options.min) / i, 4016 n = (this.result.to - this.options.min) / i; 4017 this.coords.p_single_real = this.toFixed(s), this.coords.p_from_real = this.toFixed(s), this.coords.p_to_real = this.toFixed(n), this.coords.p_single_real = this.checkDiapason(this.coords.p_single_real, this.options.from_min, this.options.from_max), this.coords.p_from_real = this.checkDiapason(this.coords.p_from_real, this.options.from_min, this.options.from_max), this.coords.p_to_real = this.checkDiapason(this.coords.p_to_real, this.options.to_min, this.options.to_max), this.coords.p_single_fake = this.convertToFakePercent(this.coords.p_single_real), this.coords.p_from_fake = this.convertToFakePercent(this.coords.p_from_real), this.coords.p_to_fake = this.convertToFakePercent(this.coords.p_to_real), this.target = null; 4018 break; 4019 case "single": 4020 if (this.options.from_fixed) break; 4021 this.coords.p_single_real = this.convertToRealPercent(e), this.coords.p_single_real = this.calcWithStep(this.coords.p_single_real), this.coords.p_single_real = this.checkDiapason(this.coords.p_single_real, this.options.from_min, this.options.from_max), this.coords.p_single_fake = this.convertToFakePercent(this.coords.p_single_real); 4022 break; 4023 case "from": 4024 if (this.options.from_fixed) break; 4025 this.coords.p_from_real = this.convertToRealPercent(e), this.coords.p_from_real = this.calcWithStep(this.coords.p_from_real), this.coords.p_from_real > this.coords.p_to_real && (this.coords.p_from_real = this.coords.p_to_real), this.coords.p_from_real = this.checkDiapason(this.coords.p_from_real, this.options.from_min, this.options.from_max), this.coords.p_from_real = this.checkMinInterval(this.coords.p_from_real, this.coords.p_to_real, "from"), this.coords.p_from_real = this.checkMaxInterval(this.coords.p_from_real, this.coords.p_to_real, "from"), this.coords.p_from_fake = this.convertToFakePercent(this.coords.p_from_real); 4026 break; 4027 case "to": 4028 if (this.options.to_fixed) break; 4029 this.coords.p_to_real = this.convertToRealPercent(e), this.coords.p_to_real = this.calcWithStep(this.coords.p_to_real), this.coords.p_to_real < this.coords.p_from_real && (this.coords.p_to_real = this.coords.p_from_real), this.coords.p_to_real = this.checkDiapason(this.coords.p_to_real, this.options.to_min, this.options.to_max), this.coords.p_to_real = this.checkMinInterval(this.coords.p_to_real, this.coords.p_from_real, "to"), this.coords.p_to_real = this.checkMaxInterval(this.coords.p_to_real, this.coords.p_from_real, "to"), this.coords.p_to_fake = this.convertToFakePercent(this.coords.p_to_real); 4030 break; 4031 case "both": 4032 if (this.options.from_fixed || this.options.to_fixed) break; 4033 e = this.toFixed(e + .001 * this.coords.p_handle), this.coords.p_from_real = this.convertToRealPercent(e) - this.coords.p_gap_left, this.coords.p_from_real = this.calcWithStep(this.coords.p_from_real), this.coords.p_from_real = this.checkDiapason(this.coords.p_from_real, this.options.from_min, this.options.from_max), this.coords.p_from_real = this.checkMinInterval(this.coords.p_from_real, this.coords.p_to_real, "from"), this.coords.p_from_fake = this.convertToFakePercent(this.coords.p_from_real), this.coords.p_to_real = this.convertToRealPercent(e) + this.coords.p_gap_right, this.coords.p_to_real = this.calcWithStep(this.coords.p_to_real), this.coords.p_to_real = this.checkDiapason(this.coords.p_to_real, this.options.to_min, this.options.to_max), this.coords.p_to_real = this.checkMinInterval(this.coords.p_to_real, this.coords.p_from_real, "to"), this.coords.p_to_fake = this.convertToFakePercent(this.coords.p_to_real); 4034 break; 4035 case "both_one": 4036 if (this.options.from_fixed || this.options.to_fixed) break; 4037 var o = this.convertToRealPercent(e), 4038 r = this.result.from_percent, 4039 a = this.result.to_percent - r, 4040 l = a / 2, 4041 h = o - l, 4042 c = o + l; 4043 h < 0 && (c = (h = 0) + a), 100 < c && (h = (c = 100) - a), this.coords.p_from_real = this.calcWithStep(h), this.coords.p_from_real = this.checkDiapason(this.coords.p_from_real, this.options.from_min, this.options.from_max), this.coords.p_from_fake = this.convertToFakePercent(this.coords.p_from_real), this.coords.p_to_real = this.calcWithStep(c), this.coords.p_to_real = this.checkDiapason(this.coords.p_to_real, this.options.to_min, this.options.to_max), this.coords.p_to_fake = this.convertToFakePercent(this.coords.p_to_real) 4044 } 4045 "single" === this.options.type ? (this.coords.p_bar_x = this.coords.p_handle / 2, this.coords.p_bar_w = this.coords.p_single_fake, this.result.from_percent = this.coords.p_single_real, this.result.from = this.convertToValue(this.coords.p_single_real), this.result.from_pretty = this._prettify(this.result.from), this.options.values.length && (this.result.from_value = this.options.values[this.result.from])) : (this.coords.p_bar_x = this.toFixed(this.coords.p_from_fake + this.coords.p_handle / 2), this.coords.p_bar_w = this.toFixed(this.coords.p_to_fake - this.coords.p_from_fake), this.result.from_percent = this.coords.p_from_real, this.result.from = this.convertToValue(this.coords.p_from_real), this.result.from_pretty = this._prettify(this.result.from), this.result.to_percent = this.coords.p_to_real, this.result.to = this.convertToValue(this.coords.p_to_real), this.result.to_pretty = this._prettify(this.result.to), this.options.values.length && (this.result.from_value = this.options.values[this.result.from], this.result.to_value = this.options.values[this.result.to])), this.calcMinMax(), this.calcLabels() 4046 } 4047 }, 4048 calcPointerPercent: function() { 4049 this.coords.w_rs ? (this.coords.x_pointer < 0 || isNaN(this.coords.x_pointer) ? this.coords.x_pointer = 0 : this.coords.x_pointer > this.coords.w_rs && (this.coords.x_pointer = this.coords.w_rs), this.coords.p_pointer = this.toFixed(this.coords.x_pointer / this.coords.w_rs * 100)) : this.coords.p_pointer = 0 4050 }, 4051 convertToRealPercent: function(t) { 4052 return t / (100 - this.coords.p_handle) * 100 4053 }, 4054 convertToFakePercent: function(t) { 4055 return t / 100 * (100 - this.coords.p_handle) 4056 },
4057 getHandleX: function() { 4058 var t = 100 - this.coords.p_handle, 4059 e = this.toFixed(this.coords.p_pointer - this.coords.p_gap); 4060 return e < 0 ? e = 0 : t < e && (e = t), e 4061 }, 4062 calcHandlePercent: function() { 4063 "single" === this.options.type ? this.coords.w_handle = this.$cache.s_single.outerWidth(!1) : this.coords.w_handle = this.$cache.s_from.outerWidth(!1), this.coords.p_handle = this.toFixed(this.coords.w_handle / this.coords.w_rs * 100) 4064 }, 4065 chooseHandle: function(t) { 4066 return "single" === this.options.type ? "single" : this.coords.p_from_real + (this.coords.p_to_real - this.coords.p_from_real) / 2 <= t ? this.options.to_fixed ? "from" : "to" : this.options.from_fixed ? "to" : "from" 4067 }, 4068 calcMinMax: function() { 4069 this.coords.w_rs && (this.labels.p_min = this.labels.w_min / this.coords.w_rs * 100, this.labels.p_max = this.labels.w_max / this.coords.w_rs * 100) 4070 }, 4071 calcLabels: function() { 4072 this.coords.w_rs && !this.options.hide_from_to && ("single" === this.options.type ? (this.labels.w_single = this.$cache.single.outerWidth(!1), this.labels.p_single_fake = this.labels.w_single / this.coords.w_rs * 100, this.labels.p_single_left = this.coords.p_single_fake + this.coords.p_handle / 2 - this.labels.p_single_fake / 2) : (this.labels.w_from = this.$cache.from.outerWidth(!1), this.labels.p_from_fake = this.labels.w_from / this.coords.w_rs * 100, this.labels.p_from_left = this.coords.p_from_fake + this.coords.p_handle / 2 - this.labels.p_from_fake / 2, this.labels.p_from_left = this.toFixed(this.labels.p_from_left), this.labels.p_from_left = this.checkEdges(this.labels.p_from_left, this.labels.p_from_fake), this.labels.w_to = this.$cache.to.outerWidth(!1), this.labels.p_to_fake = this.labels.w_to / this.coords.w_rs * 100, this.labels.p_to_left = this.coords.p_to_fake + this.coords.p_handle / 2 - this.labels.p_to_fake / 2, this.labels.p_to_left = this.toFixed(this.labels.p_to_left), this.labels.p_to_left = this.checkEdges(this.labels.p_to_left, this.labels.p_to_fake), this.labels.w_single = this.$cache.single.outerWidth(!1), this.labels.p_single_fake = this.labels.w_single / this.coords.w_rs * 100, this.labels.p_single_left = (this.labels.p_from_left + this.labels.p_to_left + this.labels.p_to_fake) / 2 - this.labels.p_single_fake / 2, this.labels.p_single_left = this.toFixed(this.labels.p_single_left)), this.labels.p_single_left = this.checkEdges(this.labels.p_single_left, this.labels.p_single_fake)) 4073 }, 4074 updateScene: function() { 4075 this.raf_id && (cancelAnimationFrame(this.raf_id), this.raf_id = null), clearTimeout(this.update_tm), this.update_tm = null, this.options && (this.drawHandles(), this.is_active ? this.raf_id = requestAnimationFrame(this.updateScene.bind(this)) : this.update_tm = setTimeout(this.updateScene.bind(this), 300)) 4076 }, 4077 drawHandles: function() { 4078 this.coords.w_rs = this.$cache.rs.outerWidth(!1), this.coords.w_rs && (this.coords.w_rs !== this.coords.w_rs_old && (this.target = "base", this.is_resize = !0), this.coords.w_rs === this.coords.w_rs_old && !this.force_redraw || (this.setMinMax(), this.calc(!0), this.drawLabels(), this.options.grid && (this.calcGridMargin(), this.calcGridLabels()), this.force_redraw = !0, this.coords.w_rs_old = this.coords.w_rs, this.drawShadow()), this.coords.w_rs && (this.dragging || this.force_redraw || this.is_key) && ((this.old_from !== this.result.from || this.old_to !== this.result.to || this.force_redraw || this.is_key) && (this.drawLabels(), this.$cache.bar[0].style.left = this.coords.p_bar_x + "%", this.$cache.bar[0].style.width = this.coords.p_bar_w + "%", "single" === this.options.type ? this.$cache.s_single[0].style.left = this.coords.p_single_fake + "%" : (this.$cache.s_from[0].style.left = this.coords.p_from_fake + "%", this.$cache.s_to[0].style.left = this.coords.p_to_fake + "%", this.old_from === this.result.from && !this.force_redraw || (this.$cache.from[0].style.left = this.labels.p_from_left + "%"), this.old_to === this.result.to && !this.force_redraw || (this.$cache.to[0].style.left = this.labels.p_to_left + "%")), this.$cache.single[0].style.left = this.labels.p_single_left + "%", this.writeToInput(), this.old_from === this.result.from && this.old_to === this.result.to || this.is_start || (this.$cache.input.trigger("change"), this.$cache.input.trigger("input")), this.old_from = this.result.from, this.old_to = this.result.to, this.is_resize || this.is_update || this.is_start || this.is_finish || this.callOnChange(), (this.is_key || this.is_click) && (this.is_key = !1, this.is_click = !1, this.callOnFinish()), this.is_update = !1, this.is_resize = !1, this.is_finish = !1), this.is_start = !1, this.is_key = !1, this.is_click = !1, this.force_redraw = !1)) 4079 }, 4080 drawLabels: function() { 4081 if (this.options) { 4082 var t, e, i, s, n, o = this.options.values.length, 4083 r = this.options.p_values; 4084 if (!this.options.hide_from_to) 4085 if ("single" === this.options.type) t = o ? this.decorate(r[this.result.from]) : (s = this._prettify(this.result.from), this.decorate(s, this.result.from)), this.$cache.single.html(t), this.calcLabels(), this.labels.p_single_left < this.labels.p_min + 1 ? this.$cache.min[0].style.visibility = "hidden" : this.$cache.min[0].style.visibility = "visible", this.labels.p_single_left + this.labels.p_single_fake > 100 - this.labels.p_max - 1 ? this.$cache.max[0].style.visibility = "hidden" : this.$cache.max[0].style.visibility = "visible"; 4086 else { 4087 i = o ? (this.options.decorate_both ? (t = this.decorate(r[this.result.from]), t += this.options.values_separator, t += this.decorate(r[this.result.to])) : t = this.decorate(r[this.result.from] + this.options.values_separator + r[this.result.to]), e = this.decorate(r[this.result.from]), this.decorate(r[this.result.to])) : (s = this._prettify(this.result.from), n = this._prettify(this.result.to), this.options.decorate_both ? (t = this.decorate(s, this.result.from), t += this.options.values_separator, t += this.decorate(n, this.result.to)) : t = this.decorate(s + this.options.values_separator + n, this.result.to), e = this.decorate(s, this.result.from), this.decorate(n, this.result.to)), this.$cache.single.html(t), this.$cache.from.html(e), this.$cache.to.html(i), this.calcLabels(); 4088 var a = Math.min(this.labels.p_single_left, this.labels.p_from_left), 4089 l = this.labels.p_single_left + this.labels.p_single_fake, 4090 h = this.labels.p_to_left + this.labels.p_to_fake, 4091 c = Math.max(l, h); 4092 this.labels.p_from_left + this.labels.p_from_fake >= this.labels.p_to_left ? (this.$cache.from[0].style.visibility = "hidden", this.$cache.to[0].style.visibility = "hidden", this.$cache.single[0].style.visibility = "visible", c = this.result.from === this.result.to ? ("from" === this.target ? this.$cache.from[0].style.visibility = "visible" : "to" === this.target ? this.$cache.to[0].style.visibility = "visible" : this.target || (this.$cache.from[0].style.visibility = "visible"), this.$cache.single[0].style.visibility = "hidden", h) : (this.$cache.from[0].style.visibility = "hidden", this.$cache.to[0].style.visibility = "hidden", this.$cache.single[0].style.visibility = "visible", Math.max(l, h))
vendor: 2,282 bytes, lines 4092-4104
4092) : (this.$cache.from[0].style.visibility = "visible", this.$cache.to[0].style.visibility = "visible", this.$cache.single[0].style.visibility = "hidden"), a < this.labels.p_min + 1 ? this.$cache.min[0].style.visibility = "hidden" : this.$cache.min[0].style.visibility = "visible", c > 100 - this.labels.p_max - 1 ? this.$cache.max[0].style.visibility = "hidden" : this.$cache.max[0].style.visibility = "visible" 4093 } 4094 } 4095 }, 4096 drawShadow: function() { 4097 var t, e, i, s, n = this.options, 4098 o = this.$cache, 4099 r = "number" == typeof n.from_min && !isNaN(n.from_min), 4100 a = "number" == typeof n.from_max && !isNaN(n.from_max), 4101 l = "number" == typeof n.to_min && !isNaN(n.to_min), 4102 h = "number" == typeof n.to_max && !isNaN(n.to_max); 4103 "single" === n.type ? n.from_shadow && (r || a) ? (t = this.convertToPercent(r ? n.from_min : n.min), e = this.convertToPercent(a ? n.from_max : n.max) - t, t = this.toFixed(t - this.coords.p_handle / 100 * t), e = this.toFixed(e - this.coords.p_handle / 100 * e), t += this.coords.p_handle / 2, o.shad_single[0].style.display = "block", o.shad_single[0].style.left = t + "%", o.shad_single[0].style.width = e + "%") : o.shad_single[0].style.display = "none" : (n.from_shadow && (r || a) ? (t = this.convertToPercent(r ? n.from_min : n.min), e = this.convertToPercent(a ? n.from_max : n.max) - t, t = this.toFixed(t - this.coords.p_handle / 100 * t), e = this.toFixed(e - this.coords.p_handle / 100 * e), t += this.coords.p_handle / 2, o.shad_from[0].style.display = "block", o.shad_from[0].style.left = t + "%", o.shad_from[0].style.width = e + "%") : o.shad_from[0].style.display = "none", n.to_shadow && (l || h) ? (i = this.convertToPercent(l ? n.to_min : n.min), s = this.convertToPercent(h ? n.to_max : n.max) - i, i = this.toFixed(i - this.coords.p_handle / 100 * i), s = this.toFixed(s - this.coords.p_handle / 100 * s), i += this.coords.p_handle / 2, o.shad_to[0].style.display = "block", o.shad_to[0].style.left = i + "%", o.shad_to[0].style.width = s + "%") : o.shad_to[0].style.display = "none") 4104 },
4105 writeToInput: function() { 4106 "single" === this.options.type ? (this.options.values.length ? this.$cache.input.prop("value", this.result.from_value) : this.$cache.input.prop("value", this.result.from), this.$cache.input.data("from", this.result.from)) : (this.options.values.length ? this.$cache.input.prop("value", this.result.from_value + this.options.input_values_separator + this.result.to_value) : this.$cache.input.prop("value", this.result.from + this.options.input_values_separator + this.result.to), this.$cache.input.data("from", this.result.from), this.$cache.input.data("to", this.result.to)) 4107 }, 4108 callOnStart: function() { 4109 this.writeToInput(), this.options.onStart && "function" == typeof this.options.onStart && (this.options.scope ? this.options.onStart.call(this.options.scope, this.result) : this.options.onStart(this.result)) 4110 }, 4111 callOnChange: function() { 4112 this.writeToInput(), this.options.onChange && "function" == typeof this.options.onChange && (this.options.scope ? this.options.onChange.call(this.options.scope, this.result) : this.options.onChange(this.result)) 4113 }, 4114 callOnFinish: function() { 4115 this.writeToInput(), this.options.onFinish && "function" == typeof this.options.onFinish && (this.options.scope ? this.options.onFinish.call(this.options.scope, this.result) : this.options.onFinish(this.result)) 4116 }, 4117 callOnUpdate: function() { 4118 this.writeToInput(), this.options.onUpdate && "function" == typeof this.options.onUpdate && (this.options.scope ? this.options.onUpdate.call(this.options.scope, this.result) : this.options.onUpdate(this.result)) 4119 }, 4120 toggleInput: function() { 4121 this.$cache.input.toggleClass("irs-hidden-input"), this.has_tab_index ? this.$cache.input.prop("tabindex", -1) : this.$cache.input.removeProp("tabindex"), this.has_tab_index = !this.has_tab_index 4122 }, 4123 convertToPercent: function(t, e) { 4124 var i, s = this.options.max - this.options.min, 4125 n = s / 100; 4126 return s ? (i = (e ? t : t - this.options.min) / n, this.toFixed(i)) : (this.no_diapason = !0, 0) 4127 }, 4128 convertToValue: function(t) { 4129 var e, i, s = this.options.min, 4130 n = this.options.max, 4131 o = s.toString().split(".")[1], 4132 r = n.toString().split(".")[1], 4133 a = 0, 4134 l = 0; 4135 if (0 === t) return this.options.min; 4136 if (100 === t) return this.options.max; 4137 o && (a = e = o.length), r && (a = i = r.length), e && i && (a = i <= e ? e : i), s < 0 && (s = +(s + (l = Math.abs(s))).toFixed(a), n = +(n + l).toFixed(a)); 4138 var h, c = (n - s) / 100 * t + s, 4139 d = this.options.step.toString().split(".")[1]; 4140 return c = d ? +c.toFixed(d.length) : (c /= this.options.step, +(c *= this.options.step).toFixed(0)), l && (c -= l), (h = d ? +c.toFixed(d.length) : this.toFixed(c)) < this.options.min ? h = this.options.min : h > this.options.max && (h = this.options.max), h 4141 }, 4142 calcWithStep: function(t) { 4143 var e = Math.round(t / this.coords.p_step) * this.coords.p_step; 4144 return 100 < e && (e = 100), 100 === t && (e = 100), this.toFixed(e) 4145 }, 4146 checkMinInterval: function(t, e, i) { 4147 var s, n, o = this.options; 4148 return o.min_interval ? (s = this.convertToValue(t), n = this.convertToValue(e), "from" === i ? n - s < o.min_interval && (s = n - o.min_interval) : s - n < o.min_interval && (s = n + o.min_interval), this.convertToPercent(s)) : t 4149 }, 4150 checkMaxInterval: function(t, e, i) { 4151 var s, n, o = this.options; 4152 return o.max_interval ? (s = this.convertToValue(t), n = this.convertToValue(e), "from" === i ? n - s > o.max_interval && (s = n - o.max_interval) : s - n > o.max_interval && (s = n + o.max_interval), this.convertToPercent(s)) : t 4153 }, 4154 checkDiapason: function(t, e, i) { 4155 var s = this.convertToValue(t), 4156 n = this.options; 4157 return "number" != typeof e && (e = n.min), "number" != typeof i && (i = n.max), s < e && (s = e), i < s && (s = i), this.convertToPercent(s) 4158 }, 4159 toFixed: function(t) { 4160 return +(t = t.toFixed(20)) 4161 }, 4162 _prettify: function(t) { 4163 return this.options.prettify_enabled ? this.options.prettify && "function" == typeof this.options.prettify ? this.options.prettify(t) : this.prettify(t) : t 4164 }, 4165 prettify: function(t) { 4166 return t.toString().replace(/(\d{1,3}(?=(?:\d\d\d)+(?!\d)))/g, "$1" + this.options.prettify_separator) 4167 }, 4168 checkEdges: function(t, e) { 4169 return this.options.force_edges && (t < 0 ? t = 0 : 100 - e < t && (t = 100 - e)), this.toFixed(t) 4170 }, 4171 validate: function() { 4172 var t, e, i = this.options, 4173 s = this.result, 4174 n = i.values, 4175 o = n.length; 4176 if ("string" == typeof i.min && (i.min = +i.min), "string" == typeof i.max && (i.max = +i.max), "string" == typeof i.from && (i.from = +i.from), "string" == typeof i.to && (i.to = +i.to), "string" == typeof i.step && (i.step = +i.step), "string" == typeof i.from_min && (i.from_min = +i.from_min), "string" == typeof i.from_max && (i.from_max = +i.from_max), "string" == typeof i.to_min && (i.to_min = +i.to_min), "string" == typeof i.to_max && (i.to_max = +i.to_max), "string" == typeof i.grid_num && (i.grid_num = +i.grid_num), i.max < i.min && (i.max = i.min), o) 4177 for (i.p_values = [], i.min = 0, i.max = o - 1, i.step = 1, i.grid_num = i.max, i.grid_snap = !0, e = 0; e < o; e++) t = +n[e], t = isNaN(t) ? n[e] : (n[e] = t, this._prettify(t)), i.p_values.push(t); 4178 "number" == typeof i.from && !isNaN(i.from) || (i.from = i.min), "number" == typeof i.to && !isNaN(i.to) || (i.to = i.max), "single" === i.type ? (i.from < i.min && (i.from = i.min), i.from > i.max && (i.from = i.max)) : (i.from < i.min && (i.from = i.min), i.from > i.max && (i.from = i.max), i.to < i.min && (i.to = i.min), i.to > i.max && (i.to = i.max), this.update_check.from && (this.update_check.from !== i.from && i.from > i.to && (i.from = i.to), this.update_check.to !== i.to && i.to < i.from && (i.to = i.from)), i.from > i.to && (i.from = i.to), i.to < i.from && (i.to = i.from)), ("number" != typeof i.step || isNaN(i.step) || !i.step || i.step < 0) && (i.step = 1), "number" == typeof i.from_min && i.from < i.from_min && (i.from = i.from_min), "number" == typeof i.from_max && i.from > i.from_max && (i.from = i.from_max), "number" == typeof i.to_min && i.to < i.to_min && (i.to = i.to_min), "number" == typeof i.to_max && i.from > i.to_max && (i.to = i.to_max), s && (s.min !== i.min && (s.min = i.min), s.max !== i.max && (s.max = i.max), (s.from < s.min || s.from > s.max) && (s.from = i.from), (s.to < s.min || s.to >
4178 s.max) && (s.to = i.to)), ("number" != typeof i.min_interval || isNaN(i.min_interval) || !i.min_interval || i.min_interval < 0) && (i.min_interval = 0), ("number" != typeof i.max_interval || isNaN(i.max_interval) || !i.max_interval || i.max_interval < 0) && (i.max_interval = 0), i.min_interval && i.min_interval > i.max - i.min && (i.min_interval = i.max - i.min), i.max_interval && i.max_interval > i.max - i.min && (i.max_interval = i.max - i.min) 4179 }, 4180 decorate: function(t, e) { 4181 var i = "", 4182 s = this.options; 4183 return s.prefix && (i += s.prefix), i += t, s.max_postfix && (s.values.length && t === s.p_values[s.max] ? (i += s.max_postfix, s.postfix && (i += " ")) : e === s.max && (i += s.max_postfix, s.postfix && (i += " "))), s.postfix && (i += s.postfix), i 4184 }, 4185 updateFrom: function() { 4186 this.result.from = this.options.from, this.result.from_percent = this.convertToPercent(this.result.from), this.result.from_pretty = this._prettify(this.result.from), this.options.values && (this.result.from_value = this.options.values[this.result.from]) 4187 }, 4188 updateTo: function() { 4189 this.result.to = this.options.to, this.result.to_percent = this.convertToPercent(this.result.to), this.result.to_pretty = this._prettify(this.result.to), this.options.values && (this.result.to_value = this.options.values[this.result.to]) 4190 }, 4191 updateResult: function() { 4192 this.result.min = this.options.min, this.result.max = this.options.max, this.updateFrom(), this.updateTo() 4193 }, 4194 appendGrid: function() { 4195 if (this.options.grid) { 4196 var t, e, i, s, n, o = this.options, 4197 r = o.max - o.min, 4198 a = o.grid_num, 4199 l = 0, 4200 h = 0, 4201 c = 4, 4202 d = ""; 4203 for (this.calcGridMargin(), l = o.grid_snap ? 50 < r ? (a = 50 / o.step, this.toFixed(o.step / .5)) : (a = r / o.step, this.toFixed(o.step / (r / 100))) : this.toFixed(100 / a), 4 < a && (c = 3), 7 < a && (c = 2), 14 < a && (c = 1), 28 < a && (c = 0), t = 0; t < a + 1; t++) { 4204 for (i = c, 100 < (h = this.toFixed(l * t)) && (h = 100), s = ((this.coords.big[t] = h) - l * (t - 1)) / (i + 1), e = 1; e <= i && 0 !== h; e++) d += '<span class="irs-grid-pol small" style="left: ' + this.toFixed(h - s * e) + '%"></span>'; 4205 d += '<span class="irs-grid-pol" style="left: ' + h + '%"></span>', n = this.convertToValue(h), d += '<span class="irs-grid-text js-grid-text-' + t + '" style="left: ' + h + '%">' + (n = o.values.length ? o.p_values[n] : this._prettify(n)) + "</span>" 4206 } 4207 this.coords.big_num = Math.ceil(a + 1), this.$cache.cont.addClass("irs-with-grid"), this.$cache.grid.html(d), this.cacheGridLabels() 4208 } 4209 }, 4210 cacheGridLabels: function() { 4211 var t, e, i = this.coords.big_num; 4212 for (e = 0; e < i; e++) t = this.$cache.grid.find(".js-grid-text-" + e), this.$cache.grid_labels.push(t); 4213 this.calcGridLabels() 4214 }, 4215 calcGridLabels: function() { 4216 var t, e, i = [], 4217 s = [], 4218 n = this.coords.big_num; 4219 for (t = 0; t < n; t++) this.coords.big_w[t] = this.$cache.grid_labels[t].outerWidth(!1), this.coords.big_p[t] = this.toFixed(this.coords.big_w[t] / this.coords.w_rs * 100), this.coords.big_x[t] = this.toFixed(this.coords.big_p[t] / 2), i[t] = this.toFixed(this.coords.big[t] - this.coords.big_x[t]), s[t] = this.toFixed(i[t] + this.coords.big_p[t]); 4220 for (this.options.force_edges && (i[0] < -this.coords.grid_gap && (i[0] = -this.coords.grid_gap, s[0] = this.toFixed(i[0] + this.coords.big_p[0]), this.coords.big_x[0] = this.coords.grid_gap), s[n - 1] > 100 + this.coords.grid_gap && (s[n - 1] = 100 + this.coords.grid_gap, i[n - 1] = this.toFixed(s[n - 1] - this.coords.big_p[n - 1]), this.coords.big_x[n - 1] = this.toFixed(this.coords.big_p[n - 1] - this.coords.grid_gap))), this.calcGridCollision(2, i, s), this.calcGridCollision(4, i, s), t = 0; t < n; t++) e = this.$cache.grid_labels[t][0], this.coords.big_x[t] !== Number.POSITIVE_INFINITY && (e.style.marginLeft = -this.coords.big_x[t] + "%") 4221 }, 4222 calcGridCollision: function(t, e, i) { 4223 var s, n, o, r = this.coords.big_num; 4224 for (s = 0; s < r && !(r <= (n = s + t / 2)); s += t) o = this.$cache.grid_labels[n][0], i[s] <= e[n] ? o.style.visibility = "visible" : o.style.visibility = "hidden" 4225 }, 4226 calcGridMargin: function() { 4227 this.options.grid_margin && (this.coords.w_rs = this.$cache.rs.outerWidth(!1), this.coords.w_rs && ("single" === this.options.type ? this.coords.w_handle = this.$cache.s_single.outerWidth(!1) : this.coords.w_handle = this.$cache.s_from.outerWidth(!1), this.coords.p_handle = this.toFixed(this.coords.w_handle / this.coords.w_rs * 100), this.coords.grid_gap = this.toFixed(this.coords.p_handle / 2 - .1), this.$cache.grid[
42270].style.width = this.toFixed(100 - this.coords.p_handle) + "%", this.$cache.grid[0].style.left = this.coords.grid_gap + "%")) 4228 }, 4229 update: function(t) { 4230 this.input && (this.is_update = !0, this.options.from = this.result.from, this.options.to = this.result.to, this.update_check.from = this.result.from, this.update_check.to = this.result.to, this.options = l.extend(this.options, t), this.validate(), this.updateResult(t), this.toggleInput(), this.remove(), this.init(!0)) 4231 }, 4232 reset: function() { 4233 this.input && (this.updateResult(), this.update()) 4234 }, 4235 destroy: function() { 4236 this.input && (this.toggleInput(), this.$cache.input.prop("readonly", !1), l.data(this.input, "ionRangeSlider", null), this.remove(), this.input = null, this.options = null) 4237 } 4238 }, l.fn.ionRangeSlider = function(t) { 4239 return this.each(function() { 4240 l.data(this, "ionRangeSlider") || l.data(this, "ionRangeSlider", new o(this, t, s++)) 4241 }) 4242 }, 4243 function() { 4244 for (var o = 0, t = ["ms", "moz", "webkit", "o"], e = 0; e < t.length && !c.requestAnimationFrame; ++e) c.requestAnimationFrame = c[t[e] + "RequestAnimationFrame"], c.cancelAnimationFrame = c[t[e] + "CancelAnimationFrame"] || c[t[e] + "CancelRequestAnimationFrame"]; 4245 c.requestAnimationFrame || (c.requestAnimationFrame = function(t, e) { 4246 var i = (new Date).getTime(), 4247 s = Math.max(0, 16 - (i - o)), 4248 n = c.setTimeout(function() { 4249 t(i + s) 4250 }, s); 4251 return o = i + s, n 4252 }), c.cancelAnimationFrame || (c.cancelAnimationFrame = function(t) { 4253 clearTimeout(t) 4254 }) 4255 }() 4256 }), 4257 function(o) { 4258 o.fn.footerReveal = function(t) { 4259 var e = o(this), 4260 i = e.prev(), 4261 s = o(window), 4262 n = o.extend({ 4263 shadow: !0, 4264 shadowOpacity: .8, 4265 zIndex: -100 4266 }, t); 4267 o.extend(!0, {}, n, t); 4268 return e.outerHeight() <= s.outerHeight() && (e.css({ 4269 "z-index": n.zIndex, 4270 position: "fixed", 4271 bottom: 0 4272 }), n.shadow && i.css({ 4273 "-moz-box-shadow": "0 20px 30px -20px rgba(0,0,0," + n.shadowOpacity + ")", 4274 "-webkit-box-shadow": "0 20px 30px -20px rgba(0,0,0," + n.shadowOpacity + ")", 4275 "box-shadow": "0 20px 30px -20px rgba(0,0,0," + n.shadowOpacity + ")" 4276 }), s.on("load resize", function() { 4277 e.css({ 4278 width: i.outerWidth() 4279 }), i.css({ 4280 "margin-bottom": e.outerHeight() 4281 }) 4282 })), this 4283 } 4284 }(jQuery), 4285 function(t) { 4286 "function" == typeof define && define.amd ? define(["jquery"], t) : "object" == typeof exports ? t(require("jquery")) : t(jQuery) 4287 }(function(c) { 4288 var n = { 4289 element: "body", 4290 position: null, 4291 type: "info", 4292 allow_dismiss: !0, 4293 allow_duplicates: !0, 4294 newest_on_top: !1, 4295 showProgressbar: !1, 4296 placement: { 4297 from: "top", 4298 align: "right" 4299 }, 4300 offset: 20, 4301 spacing: 10, 4302 z_index: 1031, 4303 delay: 5e3, 4304 timer: 1e3, 4305 url_target: "_blank", 4306 mouse_over: null, 4307 animate: { 4308 enter: "animated fadeInDown", 4309 exit: "animated fadeOutUp" 4310 }, 4311 onShow: null, 4312 onShown: null, 4313 onClose: null, 4314 onClosed: null, 4315 onClick: null, 4316 icon_type: "class", 4317 template: '<div data-notify="container" class="customized_notify alert alert-{0}" role="alert"><button type="button" aria-hidden="true" class="close" data-notify="dismiss">×</button><i><span data-notify="icon"></span></i> <span data-notify="title">{1}</span> <span data-notify="message">{2}</span><div class="progress" data-notify="progressbar"><div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div></div><a href="{3}" target="{4}" data-notify="url"></a></div>' 4318 }; 4319 4320 function i(t, e, i) { 4321 var l, h, s = { 4322 content: { 4323 message: "object" == typeof e ? e.message : e, 4324 title: e.title ? e.title : "", 4325 icon: e.icon ? e.icon : "", 4326 url: e.url ? e.url : "#", 4327 target: e.target ? e.target : "-" 4328 } 4329 }; 4330 i = c.extend(!0, {}, s, i), this.settings = c.extend(!0, {}, n, i), this._defaults = n, "-" === this.settings.content.target && (this.settings.content.target = this.settings.url_target), this.animations = { 4331 start: "webkitAnimationStart oanimationstart MSAnimationStart animationstart", 4332 end: "webkitAnimationEnd oanimationend MSAnimationEnd animationend" 4333 }, "number" == typeof this.settings.offset && (this.settings.offset = { 4334 x: this.settings.offset, 4335 y: this.settings.offset 4336 }), !this.settings.allow_duplicates && (this.settings.allow_duplicates || (l = this, h = !1, c('[data-notify="container"]').each(function(t, e) { 4337 var i = c(e), 4338 s = i.find('[data-notify="title"]').html().trim(), 4339 n = i.find('[data-notify="message"]').html().trim(), 4340 o = s === c("<div>" + l.settings.content.title + "</div>").html().trim(), 4341 r = n === c("<div>" + l.settings.content.message + "</div>").html().trim(), 4342 a = i.hasClass("alert-" + l.settings.type); 4343 return o && r && a && (h = !0), !h 4344 }), h)) || this.init() 4345 } 4346 String.format = function() { 4347 var i = arguments; 4348 return arguments[0].replace(/(\{\{\d\}\}|\{\d\})/g, function(t) { 4349 if ("{{" === t.substring(0, 2)) return t; 4350 var e = parseInt(t.match(/\d/)[0]); 4351 return i[e + 1] 4352 }) 4353 }, c.extend(i.prototype, { 4354 init: function() { 4355 var a = this; 4356 this.buildNotify(), this.settings.content.icon && this.setIcon(), "#" != this.settings.content.url && this.styleURL(), this.styleDismiss(), this.placement(), this.bind(), this.notify = { 4357 $ele: this.$ele, 4358 update: function(t, e) { 4359 var i = {}; 4360 for (var s in "string" == typeof t ? i[t] = e : i = t, i) switch (s) { 4361 case "type": 4362 this.$ele.removeClass("alert-" + a.settings.type), this.$ele.find('[data-notify="progressbar"] > .progress-bar').removeClass("progress-bar-" + a.settings.type), a.settings.type = i[s], this.$ele.addClass("alert-" + i[s]).find('[data-notify="progressbar"] > .progress-bar').addClass("progress-bar-" + i[s]); 4363 break; 4364 case "icon": 4365 var n = this.$ele.find('[data-notify="icon"]'); 4366 "class" === a.settings.icon_type.toLowerCase() ? n.removeClass(a.settings.content.icon).addClass(i[s]) : (n.is("img") || n.find("img"), n.attr("src", i[s])), a.settings.content.icon = i[t]; 4367 break; 4368 case "progress": 4369 var o = a.settings.delay - a.settings.delay * (i[s] / 100); 4370 this.$ele.data("notify-delay", o), this.$ele.find('[data-notify="progressbar"] > div').attr("aria-valuenow", i[s]).css("width", i[s] + "%"); 4371 break; 4372 case "url": 4373 this.$ele.find('[data-notify="url"]').attr("href", i[s]); 4374 break; 4375 case "target": 4376 this.$ele.find('[data-notify="url"]').attr("target", i[s]); 4377 break; 4378 default: 4379 this.$ele.find('[data-notify="' + s + '"]').html(i[s]) 4380 } 4381 var r = this.$ele.outerHeight() + parseInt(a.settings.spacing) + parseInt(a.settings.offset.y); 4382 a.reposition(r) 4383 }, 4384 close: function() { 4385 a.close() 4386 } 4387 } 4388 }, 4389 buildNotify: function() { 4390 var t = this.settings.content; 4391 this.$ele = c(String.format(this.settings.template, this.settings.type, t.title, t.message, t.url, t.target)), this.$ele.attr("data-notify-position", this.settings.placement.from + "-" + this.settings.placement.align), this.settings.allow_dismiss || this.$ele.find('[data-notify="dismiss"]').css("display", "none"), (this.settings.delay <= 0 && !this.settings.showProgressbar || !this.settings.showProgressbar) && this.$ele.find('[data-notify="progressbar"]').remove() 4392 }, 4393 setIcon: function() { 4394 "class" === this.settings.icon_type.toLowerCase() ? this.$ele.find('[data-notify="icon"]').addClass(this.settings.content.icon) : this.$ele.find('[data-notify="icon"]').is("img") ? this.$ele.find('[data-notify="icon"]').attr("src", this.settings.content.icon) : this.$ele.find('[data-notify="icon"]').append('<img src="' + this.settings.content.icon + '" alt="Notify Icon" />') 4395 }, 4396 styleDismiss: function() { 4397 this.$ele.find('[data-notify="dismiss"]').css({ 4398 position: "absolute", 4399 right: "10px", 4400 top: "5px", 4401 zIndex: this.settings.z_index + 2 4402 }) 4403 }, 4404 styleURL: function() { 4405 this.$ele.find('[data-notify="url"]').css({ 4406 backgroundImage: "url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)", 4407 height: "100%", 4408 left: 0, 4409 position: "absolute", 4410 top: 0, 4411 width: "100%", 4412 zIndex: this.settings.z_index + 1 4413 }) 4414 }, 4415 placement: function() { 4416 var i = this, 4417 t = this.settings.offset.y, 4418 e = { 4419 display: "inline-block", 4420 margin: "0px auto", 4421 position: this.settings.position ? this.settings.position : "body" === this.settings.element ? "fixed" : "absolute", 4422 transition: "all .5s ease-in-out", 4423 zIndex: this.settings.z_index 4424 }, 4425 s = !1, 4426 n = this.settings; 4427 switch (c('[data-notify-position="' + this.settings.placement.from + "-" + this.settings.placement.align + '"]:not([data-closing="true"])').each(function() { 4428 t = Math.max(t, parseInt(c(this).css(n.placement.from)) + parseInt(c(this).outerHeight()) + parseInt(n.spacing)) 4429 }), !0 === this.settings.newest_on_top && (t = this.settings.offset.y), e[this.settings.placement.from] = t + "px", this.settings.placement.align) {
4430 case "left": 4431 case "right": 4432 e[this.settings.placement.align] = this.settings.offset.x + "px"; 4433 break; 4434 case "center": 4435 e.left = 0, e.right = 0 4436 } 4437 this.$ele.css(e).addClass(this.settings.animate.enter), c.each(Array("webkit-", "moz-", "o-", "ms-", ""), function(t, e) { 4438 i.$ele[0].style[e + "AnimationIterationCount"] = 1 4439 }), c(this.settings.element).append(this.$ele), !0 === this.settings.newest_on_top && (t = parseInt(t) + parseInt(this.settings.spacing) + this.$ele.outerHeight(), this.reposition(t)), c.isFunction(i.settings.onShow) && i.settings.onShow.call(this.$ele), this.$ele.one(this.animations.start, function() { 4440 s = !0 4441 }).one(this.animations.end, function() { 4442 i.$ele.removeClass(i.settings.animate.enter), c.isFunction(i.settings.onShown) && i.settings.onShown.call(this) 4443 }), setTimeout(function() { 4444 s || c.isFunction(i.settings.onShown) && i.settings.onShown.call(this) 4445 }, 600) 4446 }, 4447 bind: function() { 4448 var i = this; 4449 if (this.$ele.find('[data-notify="dismiss"]').on("click", function() { 4450 i.close() 4451 }), c.isFunction(i.settings.onClick) && this.$ele.on("click", function(t) { 4452 t.target != i.$ele.find('[data-notify="dismiss"]')[0] && i.settings.onClick.call(this, t) 4453 }), this.$ele.mouseover(function() { 4454 c(this).data("data-hover", "true") 4455 }).mouseout(function() { 4456 c(this).data("data-hover", "false") 4457 }), this.$ele.data("data-hover", "false"), 0 < this.settings.delay) { 4458 i.$ele.data("notify-delay", i.settings.delay); 4459 var s = setInterval(function() { 4460 var t = parseInt(i.$ele.data("notify-delay")) - i.settings.timer; 4461 if ("false" === i.$ele.data("data-hover") && "pause" === i.settings.mouse_over || "pause" != i.settings.mouse_over) { 4462 var e = (i.settings.delay - t) / i.settings.delay * 100; 4463 i.$ele.data("notify-delay", t), i.$ele.find('[data-notify="progressbar"] > div').attr("aria-valuenow", e).css("width", e + "%") 4464 } 4465 t <= -i.settings.timer && (clearInterval(s), i.close()) 4466 }, i.settings.timer) 4467 } 4468 }, 4469 close: function() { 4470 var t = this, 4471 e = parseInt(this.$ele.css(this.settings.placement.from)), 4472 i = !1; 4473 this.$ele.attr("data-closing", "true").addClass(this.settings.animate.exit), t.reposition(e), c.isFunction(t.settings.onClose) && t.settings.onClose.call(this.$ele), this.$ele.one(this.animations.start, function() { 4474 i = !0 4475 }).one(this.animations.end, function() { 4476 c(this).remove(), c.isFunction(t.settings.onClosed) && t.settings.onClosed.call(this) 4477 }), setTimeout(function() { 4478 i || (t.$ele.remove(), t.settings.onClosed && t.settings.onClosed(t.$ele)) 4479 }, 600) 4480 }, 4481 reposition: function(t) { 4482 var e = this, 4483 i = '[data-notify-position="' + this.settings.placement.from + "-" + this.settings.placement.align + '"]:not([data-closing="true"])', 4484 s = this.$ele.nextAll(i); 4485 !0 === this.settings.newest_on_top && (s = this.$ele.prevAll(i)), s.each(function() { 4486 c(this).css(e.settings.placement.from, t), t = parseInt(t) + parseInt(e.settings.spacing) + c(this).outerHeight() 4487 }) 4488 } 4489 }), c.notify = function(t, e) { 4490 return new i(this, t, e).notify 4491 }, c.notifyDefaults = function(t) { 4492 return n = c.extend(!0, {}, n, t) 4493 }, c.notifyClose = function(t) { 4494 void 0 === t || "all" === t ? c("[data-notify]").find('[data-notify="dismiss"]').trigger("click") : "success" === t || "info" === t || "warning" === t || "danger" === t ? c(".alert-" + t + "[data-notify]").find('[data-notify="dismiss"]').trigger("click") : t ? c(t + "[data-notify]").find('[data-notify="dismiss"]').trigger("click") : c('[data-notify-position="' + t + '"]').find('[data-notify="dismiss"]').trigger("click") 4495 }, c.notifyCloseExcept = function(t) { 4496 "success" === t || "info" === t || "warning" === t || "danger" === t ? c("[data-notify]").not(".alert-" + t).find('[data-notify="dismiss"]').trigger("click") : c("[data-notify]").not(t).find('[data-notify="dismiss"]').trigger("click") 4497 } 4498 }), 4499 function(x) { 4500 function n() { 4501 return !!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) 4502 } 4503 4504 function e() { 4505 I && M[I.id].fx && !M[I.id].fxmobile && (x(window).width() < 480 ? I.element.removeClass("picker-fxs") : I.element.addClass("picker-fxs")) 4506 } 4507 4508 function l() { 4509 var t = P($()), 4510 e = P(k()); 4511 if (M[I.id].lock) { 4512 if ("from" == M[I.id].lock) return t < e ? (W(), I.element.addClass("picker-lkd"), !0) : (I.element.removeClass("picker-lkd"), !1); 4513 if ("to" == M[I.id].lock) return e < t ? (W(), I.element.addClass("picker-lkd"), !0) : (I.element.removeClass("picker-lkd"), !1) 4514 } 4515 return M[I.id].disabledays && (-1 != M[I.id].disabledays.indexOf(t) ? (W(), I.element.addClass("picker-lkd"), !0) : (I.element.removeClass("picker-lkd"), !1)) 4516 } 4517 4518 function C(t) { 4519 return t % 1 == 0 4520 } 4521 4522 function T(t) { 4523 return /(^\d{1,4}[\.|\\/|-]\d{1,2}[\.|\\/|-]\d{1,4})(\s*(?:0?[1-9]:[0-5]|1(?=[012])\d:[0-5])\d\s*[ap]m)?$/.test(t) 4524 } 4525 4526 function h(t) { 4527 return parseInt(M[I.id].key[t].current) 4528 } 4529 4530 function c(t) { 4531 return parseInt(M[I.id].key[t].today) 4532 } 4533 4534 function r(t, e) { 4535 for (var i = [], s = M[I.id].key[t], n = s.min; n <= s.max; n++) n % e == 0 && i.push(n); 4536 return i 4537 } 4538 4539 function E() { 4540 return S[M[I.id].lang].gregorian ? [1, 2, 3, 4, 5, 6, 0] : [0, 1, 2, 3, 4, 5, 6] 4541 } 4542 4543 function a(t) { 4544 return N('ul.pick[data-k="' + t + '"]') 4545 } 4546 4547 function d(t, e) { 4548 ul = a(t); 4549 var i = []; 4550 return ul.find("li").each(function() { 4551 i.push(x(this).attr("value")) 4552 }), "last" == e ? i[i.length - 1] : i[0] 4553 } 4554 4555 function t() { 4556 M[I.id].large && (I.element.toggleClass("picker-lg"), H()) 4557 } 4558 4559 function s() { 4560 N("ul.pick.pick-l").toggleClass("visible") 4561 } 4562 4563 function u() { 4564 if (!I.element.hasClass("picker-modal")) { 4565 var t = I.input, 4566 e = t.offset().left + t.outerWidth() / 2, 4567 i = t.offset().top + t.outerHeight(); 4568 I.element.css({ 4569 left: e, 4570 top: i 4571 }) 4572 } 4573 } 4574 4575 function p() { 4576 l() || (I.element.removeClass("picker-focus"), I.element.hasClass("picker-modal") && x(".picker-modal-overlay").addClass("tohide"), I = null), A = !1 4577 } 4578 4579 function D(t) { 4580 var e = a(t), 4581 s = M[I.id].key[t]; 4582 for (M[I.id].key[t].current = s.today < s.min && s.min || s.today, i = s.min; i <= s.max; i++) { 4583 var n = i; 4584 "m" == t && (n = S[M[I.id].lang].months.short[i - 1]), "l" == t && (n = S[Object.keys(S)[i]].name), n += "d" == t ? "<span></span>" : "", x("<li>", { 4585 value: i, 4586 html: n 4587 }).appendTo(e) 4588 } 4589 x("<div>", { 4590 class: "pick-arw pick-arw-s1 pick-arw-l", 4591 html: x("<i>", { 4592 class: "pick-i-l" 4593 }) 4594 }).appendTo(e), x("<div>", { 4595 class: "pick-arw pick-arw-s1 pick-arw-r", 4596 html: x("<i>", { 4597 class: "pick-i-r" 4598 }) 4599 }).appendTo(e), "y" == t && (x("<div>", { 4600 class: "pick-arw pick-arw-s2 pick-arw-l", 4601 html: x("<i>", { 4602 class: "pick-i-l" 4603 }) 4604 }).appendTo(e), x("<div>", { 4605 class: "pick-arw pick-arw-s2 pick-arw-r", 4606 html: x("<i>", { 4607 class: "pick-i-r" 4608 }) 4609 }).appendTo(e)), L(t, h(t)) 4610 } 4611 4612 function f(t, e) { 4613 var i = M[I.id].key[t]; 4614 e > i.max && ("d" == t && z("m", "right"), "m" == t && z("y", "right"), e = i.min), e < i.min && ("d" == t && z("m", "left"), "m" == t && z("y", "left"), e = i.max), M[I.id].key[t].current = e, L(t, e) 4615 } 4616 4617 function m(t) { 4618 return t < 10 ? "0" + t : t 4619 } 4620 var g = "transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd", 4621 _ = "webkitAnimationEnd mozAnimationEnd oAnimationEnd oanimationend animationend", 4622 S = { 4623 en: { 4624 name: "English", 4625 gregorian: !1, 4626 months: { 4627 short: ["Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec"], 4628 full: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "
4628November", "December"] 4629 }, 4630 weekdays: { 4631 short: ["S", "M", "T", "W", "T", "F", "S"], 4632 full: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] 4633 } 4634 }, 4635 ka: { 4636 name: "Georgian", 4637 gregorian: !1, 4638 months: { 4639 short: ["ááá", "ááá", "ááá á¢", "ááá ", "ááá", "ááá", "ááá", "ááá", "á¡áá¥á¢", "áá¥á¢", "ááááá", "ááá"], 4640 full: ["áááááá á", "ááááá áááá", "ááá á¢á", "ááá ááá", "áááá¡á", "ááááá¡á", "ááááá¡á", "ááááá¡á¢á", "á¡áá¥á¢ááááá á", "áá¥á¢ááááá á", "ááááááá á", "áááááááá á"] 4641 }, 4642 weekdays: { 4643 short: ["áá", "áá ", "á¡áá", "ááá®", "á®á£á", "ááá ", "á¨áá"], 4644 full: ["áááá á", "áá á¨ááááá", "á¡ááá¨ááááá", "ááá®á¨ááááá", "á®á£áá¨ááááá", "ááá áá¡áááá", "á¨ááááá"] 4645 } 4646 }, 4647 it: { 4648 name: "Italiano", 4649 gregorian: !0, 4650 months: { 4651 short: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], 4652 full: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"] 4653 }, 4654 weekdays: { 4655 short: ["D", "L", "M", "M", "G", "V", "S"], 4656 full: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"] 4657 } 4658 }, 4659 fr: { 4660 name: "Français", 4661 gregorian: !0, 4662 months: { 4663 short: ["Jan", "Fév", "Mar", "Avr", "Mai", "Jui", "Jui", "Aoû", "Sep", "Oct", "Nov", "Déc"], 4664 full: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"] 4665 }, 4666 weekdays: { 4667 short: ["D", "L", "M", "M", "J", "V", "S"], 4668 full: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"] 4669 } 4670 }, 4671 zh: { 4672 name: "䏿", 4673 gregorian: !0, 4674 months: { 4675 short: ["䏿", "äºæ", "䏿", "åæ", "äºæ", "å æ", "䏿", "å «æ", "乿", "åæ", "å䏿", "åäºæ"], 4676 full: ["䏿", "äºæ", "䏿", "åæ", "äºæ", "å æ", "䏿", "å «æ", "乿", "åæ", "å䏿", "åäºæ"] 4677 }, 4678 weekdays: { 4679 short: ["天", "ä¸", "äº", "ä¸", "å", "äº", "å "], 4680 full: ["ææå¤©", "ææä¸", "ææäº", "ææä¸", "ææå", "ææäº", "ææå "] 4681 } 4682 }, 4683 ar: { 4684 name: "Ø§ÙØ¹ÙØ±ÙØ¨ÙÙÙÙØ©", 4685 gregorian: !1, 4686 months: { 4687 short: ["جاÙÙÙ", "ÙÙÙØ±Ù", "٠ارس", "Ø£ÙØ±ÙÙ", "٠اÙ", "Ø¬ÙØ§Ù", "جÙÙÙÙØ©", "Ø£ÙØª", "سبت٠بر", "Ø£ÙØªÙبر", "ÙÙÙ٠بر", "Ø¯ÙØ³Ù بر"], 4688 full: ["جاÙÙÙ", "ÙÙÙØ±Ù", "٠ارس", "Ø£ÙØ±ÙÙ", "٠اÙ", "Ø¬ÙØ§Ù", "جÙÙÙÙØ©", "Ø£ÙØª", "سبت٠بر", "Ø£ÙØªÙبر", "ÙÙÙ٠بر", "Ø¯ÙØ³Ù بر"] 4689 }, 4690 weekdays: { 4691 short: ["S", "M", "T", "W", "T", "F", "S"], 4692 full: ["Ø§ÙØ£ØØ¯", "Ø§ÙØ¥Ø«ÙÙÙ", "Ø§ÙØ«Ùثاء", "Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡", "Ø§ÙØ®Ù ÙØ³", "Ø§ÙØ¬Ù عة", "Ø§ÙØ³Ø¨Øª"] 4693 } 4694 }, 4695 fa: { 4696 name: "ÙØ§Ø±Ø³Û", 4697 gregorian: !1, 4698 months: { 4699 short: ["ÚØ§ÙÙÛÙ", "ÙÙÙØ±ÛÙ", "٠ارÚ", "آپرÛÙ", "Ù Û", "جÙÙ", "جÙÙØ§Û", "Ø¢Ú¯ÙØ³Øª", "سپتا٠بر", "اکتبر", "ÙÙØ§Ù بر", "دسا٠بر"], 4700 full: ["ÚØ§ÙÙÛÙ", "ÙÙÙØ±ÛÙ", "٠ارÚ", "آپرÛÙ", "Ù Û", "جÙÙ", "جÙÙØ§Û", "Ø¢Ú¯ÙØ³Øª", "سپتا٠بر", "اکتبر", "ÙÙØ§Ù بر", "دسا٠بر"] 4701 }, 4702 weekdays: { 4703 short: ["S", "M", "T", "W", "T", "F", "S"], 4704 full: ["ÛÚ©Ø´ÙØ¨Ù", "Ø¯ÙØ´ÙبÙ", "Ø³Ù Ø´ÙØ¨Ù", "ÚÙØ§Ø±Ø´ÙبÙ", "Ù¾ÙØ¬ Ø´ÙØ¨Ù", "ج٠عÙ", "Ø´ÙØ¨Ù"] 4705 } 4706 }, 4707 hu: { 4708 name: "Hungarian", 4709 gregorian: !0, 4710 months: { 4711 short: ["jan", "feb", "már", "ápr", "máj", "jún", "júl", "aug", "sze", "okt", "nov", "dec"],
4712 full: ["január", "február", "március", "április", "május", "június", "július", "augusztus", "szeptember", "október", "november", "december"] 4713 }, 4714 weekdays: { 4715 short: ["v", "h", "k", "s", "c", "p", "s"], 4716 full: ["vasárnap", "hétfÅ", "kedd", "szerda", "csütörtök", "péntek", "szombat"] 4717 } 4718 }, 4719 gr: { 4720 name: "Îλληνικά", 4721 gregorian: !0, 4722 months: { 4723 short: ["Îαν", "Φεβ", "ÎάÏ", "ÎÏÏ", "Îάι", "ÎοÏν", "ÎοÏλ", "ÎÏγ", "ΣεÏ", "ÎκÏ", "ÎοÎ", "Îεκ"], 4724 full: ["ÎÎ±Î½Î¿Ï Î¬ÏιοÏ", "ΦεβÏÎ¿Ï Î¬ÏιοÏ", "ÎάÏÏιοÏ", "ÎÏÏίλιοÏ", "ÎάιοÏ", "ÎοÏνιοÏ", "ÎοÏλιοÏ", "ÎÏÎ³Î¿Ï ÏÏοÏ", "ΣεÏÏÎμβÏιοÏ", "ÎκÏÏβÏιοÏ", "ÎοÎμβÏιοÏ", "ÎεκÎμβÏιοÏ"] 4725 }, 4726 weekdays: { 4727 short: ["Î", "Î", "Τ", "Τ", "Î ", "Î ", "Σ"], 4728 full: ["ÎÏ Ïιακή", "ÎÎµÏ ÏÎÏα", "ΤÏίÏη", "ΤεÏάÏÏη", "Î ÎμÏÏη", "ΠαÏαÏÎºÎµÏ Î®", "ΣάββαÏο"] 4729 } 4730 }, 4731 es: { 4732 name: "Español", 4733 gregorian: !0, 4734 months: { 4735 short: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], 4736 full: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"] 4737 }, 4738 weekdays: { 4739 short: ["D", "L", "M", "X", "J", "V", "S"], 4740 full: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"] 4741 } 4742 }, 4743 da: { 4744 name: "Dansk", 4745 gregorian: !0, 4746 months: { 4747 short: ["jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec"], 4748 full: ["januar", "februar", "marts", "april", "maj", "juni", "juli", "august", "september", "oktober", "november", "december"] 4749 }, 4750 weekdays: { 4751 short: ["s", "m", "t", "o", "t", "f", "l"], 4752 full: ["søndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag"] 4753 } 4754 }, 4755 de: { 4756 name: "Deutsch", 4757 gregorian: !0, 4758 months: { 4759 short: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], 4760 full: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"] 4761 }, 4762 weekdays: { 4763 short: ["S", "M", "D", "M", "D", "F", "S"], 4764 full: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"] 4765 } 4766 }, 4767 nl: { 4768 name: "Nederlands", 4769 gregorian: !0, 4770 months: { 4771 short: ["jan", "feb", "maa", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"], 4772 full: ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"] 4773 }, 4774 weekdays: { 4775 short: ["z", "m", "d", "w", "d", "v", "z"], 4776 full: ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"] 4777 } 4778 }, 4779 pl: { 4780 name: "jÄzyk polski", 4781 gregorian: !0, 4782 months: { 4783 short: ["sty", "lut", "mar", "kwi", "maj", "cze", "lip", "sie", "wrz", "paź", "lis", "gru"], 4784 full: ["styczeÅ", "luty", "marzec", "kwiecieÅ
4784", "maj", "czerwiec", "lipiec", "sierpieÅ", "wrzesieÅ", "październik", "listopad", "grudzieÅ"] 4785 }, 4786 weekdays: { 4787 short: ["n", "p", "w", "Å", "c", "p", "s"], 4788 full: ["niedziela", "poniedziaÅek", "wtorek", "Åroda", "czwartek", "piÄ tek", "sobota"] 4789 } 4790 }, 4791 pt: { 4792 name: "Português", 4793 gregorian: !0, 4794 months: { 4795 short: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], 4796 full: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"] 4797 }, 4798 weekdays: { 4799 short: ["D", "S", "T", "Q", "Q", "S", "S"], 4800 full: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"] 4801 } 4802 }, 4803 si: { 4804 name: "SlovenÅ¡Äina", 4805 gregorian: !0, 4806 months: { 4807 short: ["jan", "feb", "mar", "apr", "maj", "jun", "jul", "avg", "sep", "okt", "nov", "dec"], 4808 full: ["januar", "februar", "marec", "april", "maj", "junij", "julij", "avgust", "september", "oktober", "november", "december"] 4809 }, 4810 weekdays: { 4811 short: ["n", "p", "t", "s", "Ä", "p", "s"], 4812 full: ["nedelja", "ponedeljek", "torek", "sreda", "Äetrtek", "petek", "sobota"] 4813 } 4814 }, 4815 uk: { 4816 name: "ÑкÑаÑнÑÑка мова", 4817 gregorian: !0, 4818 months: { 4819 short: ["ÑÑÑенÑ", "лÑÑий", "беÑезенÑ", "квÑÑенÑ", "ÑÑавенÑ", "ÑеÑвенÑ", "липенÑ", "ÑеÑпенÑ", "веÑеÑенÑ", "жовÑенÑ", "лиÑÑопад", "гÑÑденÑ"], 4820 full: ["ÑÑÑенÑ", "лÑÑий", "беÑезенÑ", "квÑÑенÑ", "ÑÑавенÑ", "ÑеÑвенÑ", "липенÑ", "ÑеÑпенÑ", "веÑеÑенÑ", "жовÑенÑ", "лиÑÑопад", "гÑÑденÑ"] 4821 }, 4822 weekdays: { 4823 short: ["н", "п", "в", "Ñ", "Ñ", "п", "Ñ"], 4824 full: ["недÑлÑ", "понедÑлок", "вÑвÑоÑок", "ÑеÑеда", "ÑеÑвеÑ", "п'ÑÑниÑÑ", "ÑÑбоÑа"] 4825 } 4826 }, 4827 ru: { 4828 name: "ÑÑÑÑкий ÑзÑк", 4829 gregorian: !0, 4830 months: { 4831 short: ["ÑнваÑÑ", "ÑевÑалÑ", "маÑÑ", "апÑелÑ", "май", "иÑнÑ", "иÑлÑ", "авгÑÑÑ", "ÑенÑÑбÑÑ", "окÑÑбÑÑ", "ноÑбÑÑ", "декабÑÑ"], 4832 full: ["ÑнваÑÑ", "ÑевÑалÑ", "маÑÑ", "апÑелÑ", "май", "иÑнÑ", "иÑлÑ", "авгÑÑÑ", "ÑенÑÑбÑÑ", "окÑÑбÑÑ", "ноÑбÑÑ", "декабÑÑ"] 4833 }, 4834 weekdays: { 4835 short: ["в", "п", "в", "Ñ", "Ñ", "п", "Ñ"], 4836 full: ["воÑкÑеÑенÑе", "понеделÑник", "вÑоÑник", "ÑÑеда", "ÑеÑвеÑг", "пÑÑниÑа", "ÑÑббоÑа"] 4837 } 4838 }, 4839 tr: { 4840 name: "Türkçe", 4841 gregorian: !0, 4842 months: { 4843 short: ["Oca", "Åub", "Mar", "Nis", "May", "Haz", "Tem", "AÄu", "Eyl", "Eki", "Kas", "Ara"], 4844 full: ["Ocak", "Åubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "AÄustos", "Eylül", "Ekim", "Kasım", "Aralık"] 4845 }, 4846 weekdays: { 4847 short: ["P", "P", "S", "Ã", "P", "C", "C"], 4848 full: ["Pazar", "Pazartesi", "Sali", "ÃarÅamba", "PerÅembe", "Cuma", "Cumartesi"] 4849 } 4850 }, 4851 ko: { 4852 name: "ì¡°ì ë§", 4853 gregorian: !0, 4854 months: { 4855 short: ["1ì", "2ì", "3ì", "4ì", "5ì", "6ì", "7ì", "8ì", "9ì", "10ì", "11ì", "12ì"], 4856 full: ["1ì", "2ì", "3ì", "4ì", "5ì", "6ì", "7ì", "8ì", "9ì", "10ì", "11ì", "12ì"] 4857 }, 4858 weekdays: { 4859 short: ["ì¼", "ì", "í", "ì", "목", "ê¸", "í "], 4860 full: ["ì¼ìì¼", "ììì¼", "íìì¼", "ììì¼", "목ìì¼", "ê¸ìì¼", "í ìì¼"] 4861 } 4862 }, 4863 fi: { 4864 name: "suomen kieli", 4865 gregorian: !0, 4866 months: { 4867 short: ["Tam", "Hel", "Maa", "Huh", "Tou", "Kes", "Hei", "Elo", "Syy", "Lok", "Mar", "Jou"], 4868 full: ["Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kesäkuu", "Heinäkuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"] 4869 }, 4870 weekdays: { 4871 short: ["S", "M", "T", "K", "T", "P", "L"], 4872 full: ["Sunnuntai", "Maanantai", "Tiistai", "Keskiviikko", "Torstai", "Perjantai", "Lauantai"] 4873 } 4874 }, 4875 vi: { 4876 name: "Tiếng viá»t", 4877 gregorian: !1, 4878 months: { 4879 short: ["Th.01", "Th.02", "Th.03", "Th.04", "Th.05", "Th.06", "Th.07", "Th.08", "Th.09", "Th.10", "Th.11", "Th.12"], 4880 full: ["Tháng 01", "Tháng 02", "Tháng 03", "Tháng 04", "Tháng 05", "Tháng 06", "Tháng 07", "Tháng 08", "Tháng 09", "Tháng 10", "Tháng 11", "Tháng 12"] 4881 }, 4882 weekdays: { 4883 short: ["CN", "T2", "T3", "T4", "T5", "T6", "T7"], 4884 full: ["Chá»§ nháºt", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ nÄm", "Thứ sáu", "Thứ bảy"] 4885 } 4886 } 4887 }, 4888 M = {}, 4889 I = null, 4890 A = !1, 4891 v = null, 4892 y = null, 4893 w = null, 4894 b = !1, 4895 k = function() { 4896 return c("m") + "/" + c("d") + "/" + c("y") 4897 }, 4898 $ = function() { 4899 return h("m") + "/" + h("d") + "/" + h("y") 4900 }, 4901 O = function(t, e) { 4902 var i = M[I.id].key[t]; 4903 return e > i.max ? O(t, e - i.max + (i.min - 1)) : e < i.min ? O(t, e + 1 + (i.max - i.min)) : e 4904 }, 4905 N = function(t) { 4906 if (I) return I.element.find(t) 4907 }, 4908 P = function(t) { 4909 return Date.parse(t) / 1e3 4910 }, 4911 F = function() { 4912 var e = E(); 4913 N(".pick-lg .pick-lg-h li").each(function(t) { 4914 x(this).html(S[M[I.id].lang].weekdays.short[e[t]]) 4915 }), N("ul.pick.pick-m li").each(function() { 4916 x(this).html(S[M[I.id].lang].months.short[x(this).attr("value") - 1]) 4917 }) 4918 }, 4919 H = function() { 4920 var t = 0, 4921 e = N(".pick-lg-b"); 4922 e.find("li").empty().removeClass("pick-n pick-b pick-a pick-v pick-lk pick-sl pick-h").attr("data-value", ""); 4923 new Date($()); 4924 4925 function i(t) { 4926 var e = t.getMonth(), 4927 i = t.getFullYear(); 4928 return [31, i % 4 == 0 && (i % 100 != 0 || i % 400 == 0) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][e] 4929 } 4930 var s = new Date($()), 4931 n = new Date($()); 4932 n.setMonth(n.getMonth() - 1), s.setDate(1); 4933 var o = s.getDay() - 1; 4934 o < 0 && (o = 6), S[M[I.id].lang].gregorian && --o < 0 && (o = 6); 4935 for (var r = i(n) - o; r <= i(n); r++) e.find("li").eq(t).html(r).addClass("pick-b pick-n pick-h"), t++; 4936 for (r = 1; r <= i(s); r++) e.find("li").eq(t).html(r).addClass("pick-n pick-v").attr("data-value", r), t++; 4937 if (e.find("li.pick-n").length < 42) { 4938 var a = 42 - e.find("li.pick-n").length; 4939 for (r = 1; r <= a; r++) e.find("li").eq(t).html(r).addClass("pick-a pick-n pick-h"), t++ 4940 } 4941 M[I.id].lock && ("from" === M[I.id].lock ? h("y") <= c("y") && (h("m") == c("m") ? N('.pick-lg .pick-lg-b li.pick-v[data-value="' + c("d") + '"]').prevAll("li").addClass("pick-lk") : h("m") < c("m") ? N(".pick-lg .pick-lg-b li").addClass("pick-lk") : h("m") > c("m") && h("y") < c("y") && N(".pick-lg .pick-lg-b li").addClass("pick-lk")) : h("y") >= c("y") && (h("m") == c("m") ? N('.pick-lg .pick-lg-b li.pick-v[data-value="' + c("d") + '"]').nextAll("li").addClass("pick-lk") : h("m") > c("m") ? N(".pick-lg .pick-lg-b li").addClass("pick-lk") : h("m") < c("m") && h("y") > c("y") && N(".pick-lg .pick-lg-b li").addClass("pick-lk"))), M[I.id].disabledays && x.each(M[I.id].disabledays, function(t, e) { 4942 if (e && T(e)) { 4943 var i = new Date(1e3 * e); 4944 i.getMonth() + 1 == h("m") && i.getFullYear() == h("y") && N('.pick-lg .pick-lg-b li.pick-v[data-value="' + i.getDate() + '"]').addClass("pick-lk") 4945 } 4946 }), N(".pick-lg-b li.pick-v[data-value=" + h("d") + "]").addClass("pick-sl") 4947 }, 4948 j = function() { 4949 var e, i, t; 4950 I.element.hasClass("picker-lg") && H(), e = h("m"), i = h("y"), t = i % 4 == 0 && (i % 100 != 0 || i % 400 == 0), M[I.id].key.d.max = [31, t ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][e - 1], h("d") > M[I.id].key.d.max && (M[I.id].key.d.current = M[I.id].key.d.max, L("d", h("d"))), N(".pick-d li").removeClass("pick-wke").each(function() {
4951 var t = new Date(e + "/" + x(this).attr("value") + "/" + i).getDay(); 4952 x(this).find("span").html(S[M[I.id].lang].weekdays.full[t]), 0 != t && 6 != t || x(this).addClass("pick-wke") 4953 }), I.element.hasClass("picker-lg") && (N(".pick-lg-b li").removeClass("pick-wke"), N(".pick-lg-b li.pick-v").each(function() { 4954 var t = new Date(e + "/" + x(this).attr("data-value") + "/" + i).getDay(); 4955 0 != t && 6 != t || x(this).addClass("pick-wke") 4956 })), U() 4957 }, 4958 L = function(t, e) { 4959 var i, s = a(t); 4960 s.find("li").removeClass("pick-sl pick-bfr pick-afr"), e == d(t, "last") && ((i = s.find('li[value="' + d(t, "first") + '"]')).clone().insertAfter(s.find("li[value=" + e + "]")), i.remove()); 4961 e == d(t, "first") && ((i = s.find('li[value="' + d(t, "last") + '"]')).clone().insertBefore(s.find("li[value=" + e + "]")), i.remove()); 4962 s.find("li[value=" + e + "]").addClass("pick-sl"), s.find("li.pick-sl").nextAll("li").addClass("pick-afr"), s.find("li.pick-sl").prevAll("li").addClass("pick-bfr") 4963 }, 4964 z = function(t, e) { 4965 var i = h(t); 4966 "right" == e ? i++ : i--, f(t, i) 4967 }, 4968 W = function() { 4969 I.element.addClass("picker-rmbl") 4970 }, 4971 U = function() { 4972 if (!l() && A) { 4973 var t = h("d"), 4974 e = h("m"), 4975 i = h("y"), 4976 s = new Date(e + "/" + t + "/" + i).getDay(), 4977 n = M[I.id].format.replace(/\b(d)\b/g, m(t)).replace(/\b(m)\b/g, m(e)).replace(/\b(S)\b/g, (o = t) + ((r = ["th", "st", "nd", "rd"])[((a = o % 100) - 20) % 10] || r[a] || r[0])).replace(/\b(Y)\b/g, i).replace(/\b(U)\b/g, P($())).replace(/\b(D)\b/g, S[M[I.id].lang].weekdays.short[s]).replace(/\b(l)\b/g, S[M[I.id].lang].weekdays.full[s]).replace(/\b(F)\b/g, S[M[I.id].lang].months.full[e - 1]).replace(/\b(M)\b/g, S[M[I.id].lang].months.short[e - 1]).replace(/\b(n)\b/g, e).replace(/\b(j)\b/g, t); 4978 I.input.val(n).change(), A = !1 4979 } 4980 var o, r, a 4981 }; 4982 if (n()) var R = { 4983 i: "touchstart", 4984 m: "touchmove", 4985 e: "touchend" 4986 }; 4987 else R = { 4988 i: "mousedown", 4989 m: "mousemove", 4990 e: "mouseup" 4991 }; 4992 var B = "div.datedropper.picker-focus"; 4993 x(document).on("click", function(t) { 4994 I && (I.input.is(t.target) || I.element.is(t.target) || 0 !== I.element.has(t.target).length || (p(), v = null)) 4995 }).on(_, B + ".picker-rmbl", function() { 4996 I.element.hasClass("picker-rmbl") && x(this).removeClass("picker-rmbl") 4997 }).on(g, ".picker-modal-overlay", function() { 4998 x(this).remove() 4999 }).on(R.i, B + " .pick-lg li.pick-v", function() { 5000 N(".pick-lg-b li").removeClass("pick-sl"), x(this).addClass("pick-sl"), M[I.id].key.d.current = x(this).attr("data-value"), L("d", x(this).attr("data-value")), A = !0 5001 }).on("click", B + " .pick-btn-sz", function() { 5002 t() 5003 }).on("click", B + " .pick-btn-lng", function() { 5004 s() 5005 }).on(R.i, B + " .pick-arw.pick-arw-s2", function(t) { 5006 t.preventDefault(), v = null; 5007 x(this).closest("ul").data("k"); 5008 var e, i = M[I.id].jump; 5009 e = x(this).hasClass("pick-arw-r") ? h("y") + i : h("y") - i; 5010 var s = r("y", i); 5011 e > s[s.length - 1] && (e = s[0]), e < s[0] && (e = s[s.length - 1]), M[I.id].key.y.current = e, L("y", h("y")), A = !0 5012 }).on(R.i, B + " .pick-arw.pick-arw-s1", function(t) { 5013 t.preventDefault(), v = null; 5014 var e = x(this).closest("ul").data("k"); 5015 x(this).hasClass("pick-arw-r") ? z(e, "right") : z(e, "left"), A = !0 5016 }).on(R.i, B + " ul.pick.pick-y li", function() { 5017 b = !0 5018 }).on(R.e, B + " ul.pick.pick-y li", function() { 5019 if (b && !(M[I.id].jump >= M[I.id].key.y.max - M[I.id].key.y.min)) { 5020 x(this).closest("ul").toggleClass("pick-jump"); 5021 var t = function(t, e) { 5022 for (var i = e[0], s = Math.abs(t - i), n = 0; n < e.length; n++) { 5023 var o = Math.abs(t - e[n]); 5024 o < s && (s = o, i = e[n]) 5025 } 5026 return i 5027 }(h("y"), r("y", M[I.id].jump)); 5028 M[I.id].key.y.current = t, L("y", h("y")), b = !1 5029 } 5030 }).on(R.i, B + " ul.pick.pick-d li", function() { 5031 b = !0 5032 }).on(R.e, B + " ul.pick.pick-d li", function() { 5033 b && (t(), b = !1) 5034 }).on(R.i, B + " ul.pick.pick-l li", function() { 5035 b = !0 5036 }).on(R.e, B + " ul.pick.pick-l li", function() { 5037 var t; 5038 b && (s(), t = x(this).val(), M[I.id].lang = Object.keys(S)[t], F(), j(), b = !1) 5039 }).on(R.i, B + " ul.pick", function(t) { 5040 if (v = x(this)) { 5041 var e = v.data("k"); 5042 y = n() ? t.originalEvent.touches[0].pageY : t.pageY, w = h(e) 5043 } 5044 }).on(R.m, function(t) { 5045 if (b = !1, v) { 5046 t.preventDefault(); 5047 var e = v.data("k"); 5048 o = n() ? t.originalEvent.touches[0].pageY : t.pageY, o = y - o, o = Math.round(.026 * o), i = w + o; 5049 var s = O(e, i); 5050 s != M[I.id].key[e].current && f(e, s), A = !0 5051 } 5052 }).on(R.e, function(t) { 5053 v && (w = y = v = null), I && j() 5054 }).on(R.i, B + " .pick-submit", function() { 5055 p() 5056 }), x(window).resize(function() { 5057 I && (u(), e()) 5058 }), x.fn.dateDropper = function(t) { 5059 return x(this).each(function() { 5060 if (x(this).is("input") && !x(this).hasClass("picker-input")) { 5061 var t = x(this), 5062 e = "datedropper-" + Object.keys(M).length; 5063 t.attr("data-id", e).addClass("picker-input").prop({ 5064 type: "text", 5065 readonly: !0 5066 }); 5067 var i = t.data("default-date") && T(t.data("default-date")) ? t.data("default-date") : null, 5068 s = t.data("disabled-days") ? t.data("disabled-days").split(",") : null, 5069 n = t.data("format") || "m/d/Y", 5070 o = !1 !== t.data("fx") || t.data("fx"), 5071 r = !1 === t.data("fx") ? "" : "picker-fxs", 5072 a = !1 !== t.data("fx-mobile") || t.data("fx-mobile"), 5073 l = !1 !== t.data("init-set"), 5074 h = t.data("lang") && t.data("lang") in S ? t.data("lang") : "en", 5075 c = !0 === t.data("large-mode"), 5076 d = !0 === t.data("large-default") && !0 == c ? "picker-lg" : "", 5077 u = ("from" == t.data("lock") || "to" == t.data("lock")) && t.data("lock"),
5078 p = t.data("jump") && C(t.data("jump")) ? t.data("jump") : 10, 5079 f = t.data("max-year") && C(t.data("max-year")) ? t.data("max-year") : (new Date).getFullYear(), 5080 m = t.data("min-year") && C(t.data("min-year")) ? t.data("min-year") : 1970, 5081 g = !0 === t.data("modal") ? "picker-modal" : "", 5082 _ = t.data("theme") || "primary", 5083 v = !0 === t.data("translate-mode"); 5084 if (s && x.each(s, function(t, e) { 5085 e && T(e) && (s[t] = P(e)) 5086 }), M[e] = { 5087 disabledays: s, 5088 format: n, 5089 fx: o, 5090 fxmobile: a, 5091 lang: h, 5092 large: c, 5093 lock: u, 5094 jump: p, 5095 key: { 5096 m: { 5097 min: 1, 5098 max: 12, 5099 current: 1, 5100 today: (new Date).getMonth() + 1 5101 }, 5102 d: { 5103 min: 1, 5104 max: 31, 5105 current: 1, 5106 today: (new Date).getDate() 5107 }, 5108 y: { 5109 min: m, 5110 max: f, 5111 current: m, 5112 today: (new Date).getFullYear() 5113 }, 5114 l: { 5115 min: 0, 5116 max: Object.keys(S).length - 1, 5117 current: 0, 5118 today: 0 5119 } 5120 }, 5121 translate: v 5122 }, i) { 5123 var y = i.match(/\d+/g); 5124 x.each(y, function(t, e) { 5125 y[t] = parseInt(e) 5126 }), M[e].key.m.today = y[0] && y[0] <= 12 ? y[0] : M[e].key.m.today, M[e].key.d.today = y[1] && y[1] <= 31 ? y[1] : M[e].key.d.today, M[e].key.y.today = y[2] ? y[2] : M[e].key.y.today, M[e].key.y.today > M[e].key.y.max && (M[e].key.y.max = M[e].key.y.today), M[e].key.y.today < M[e].key.y.min && (M[e].key.y.min = M[e].key.y.today) 5127 } 5128 for (var w in x("<div>", { 5129 class: "datedropper " + g + " " + _ + " " + r + " " + d, 5130 id: e, 5131 html: x("<div>", { 5132 class: "picker" 5133 }) 5134 }).appendTo("body"), I = { 5135 id: e, 5136 input: t, 5137 element: x("#" + e) 5138 }, M[e].key) x("<ul>", { 5139 class: "pick pick-" + w, 5140 "data-k": w 5141 }).appendTo(N(".picker")), D(w); 5142 if (M[e].large) { 5143 x("<div>", { 5144 class: "pick-lg" 5145 }).insertBefore(N(".pick-d")), x('<ul class="pick-lg-h"></ul><ul class="pick-lg-b"></ul>').appendTo(N(".pick-lg")); 5146 for (var b = E(), k = 0; k < 7; k++) x("<li>", { 5147 html: S[M[I.id].lang].weekdays.short[b[k]] 5148 }).appendTo(N(".pick-lg .pick-lg-h")); 5149 for (k = 0; k < 42; k++) x("<li>").appendTo(N(".pick-lg .pick-lg-b")) 5150 } 5151 x("<div>", { 5152 class: "pick-btns" 5153 }).appendTo(N(".picker")), x("<div>", { 5154 class: "pick-submit" 5155 }).appendTo(N(".pick-btns")), M[I.id].translate && x("<div>", { 5156 class: "pick-btn pick-btn-lng" 5157 }).appendTo(N(".pick-btns")), M[I.id].large && x("<div>", { 5158 class: "pick-btn pick-btn-sz" 5159 }).appendTo(N(".pick-btns")), "Y" != n && "m" != n || (N(".pick-d,.pick-btn-sz").hide(), I.element.addClass("picker-tiny"), "Y" == n && N(".pick-m,.pick-btn-lng").hide(), "m" == n && N(".pick-y").hide()), l && (A = !0, U()), I = null 5160 } 5161 }).focus(function(t) { 5162 t.preventDefault(), x(this).blur(), I && p(), I = { 5163 id: x(this).data("id"), 5164 input: x(this), 5165 element: x("#" + x(this).data("id")) 5166 }, e(), u(), j(), I.element.addClass("picker-focus"), I.element.hasClass("picker-modal") && x("body").append('<div class="picker-modal-overlay"></div>') 5167 }) 5168 } 5169 }(jQuery), 5170 function(b) { 5171 b.fn.timeDropper = function(n, t) { 5172 return b(this).each(function() { 5173 function c(t) { 5174 return t < 10 ? "0" + t : t 5175 } 5176 var h, d = b(this), 5177 u = !1, 5178 p = !1, 5179 t = b(".td-clock").length, 5180 e = null, 5181 f = b.extend({ 5182 format: "h:mm a", 5183 autoswitch: !1, 5184 meridians: !1, 5185 mousewheel: !1, 5186 setCurrentTime: !0, 5187 init_animation: "fadein", 5188 primaryColor: "#1977CC", 5189 borderColor: "#1977CC", 5190 backgroundColor: "#FFF", 5191 textColor: "#555" 5192 }, n); 5193 d.prop({ 5194 readonly: !0 5195 }).addClass("td-input"), b("body").append('<div class="td-wrap td-n2" id="td-clock-' + t + '"><div class="td-overlay"></div><div class="td-clock td-init"><div class="td-deg td-n"><div class="td-select"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 100 35.4" enable-background="new 0 0 100 35.4" xml:space="preserve"><g><path fill="none" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M98.1,33C85.4,21.5,68.5,14.5,50,
519514.5S14.6,21.5,1.9,33"/><line fill="none" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="1.9" y1="33" x2="1.9" y2="28.6"/><line fill="none" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="1.9" y1="33" x2="6.3" y2="33"/><line fill="none" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="98.1" y1="33" x2="93.7" y2="33"/><line fill="none" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="98.1" y1="33" x2="98.1" y2="28.6"/></g></svg></div></div><div class="td-medirian"><span class="td-icon-am td-n">AM</span><span class="td-icon-pm td-n">PM</span></div><div class="td-lancette"><div></div><div></div></div><div class="td-time"><span class="on"></span>:<span></span></div></div></div>'), b("head").append("<style>#td-clock-" + t + " .td-clock {color:" + f.textColor + ";background: " + f.backgroundColor + "; box-shadow: 0 0 0 1px " + f.borderColor + ",0 0 0 8px rgba(0, 0, 0, 0.05); } #td-clock-" + t + " .td-clock .td-time span.on { color:" + f.primaryColor + "} #td-clock-" + t + " .td-clock:before { border-color: " + f.borderColor + "} #td-clock-" + t + " .td-select:after { box-shadow: 0 0 0 1px " + f.borderColor + " } #td-clock-" + t + " .td-clock:before,#td-clock-" + t + " .td-select:after {background: " + f.backgroundColor + ";} #td-clock-" + t + " .td-lancette {border: 2px solid " + f.primaryColor + "; opacity:0.1}#td-clock-" + t + " .td-lancette div:after { background: " + f.primaryColor + ";} #td-clock-" + t + " .td-bulletpoint div:after { background:" + f.primaryColor + "; opacity:0.1}</style>"); 5196 var i = b("#td-clock-" + t), 5197 s = i.find(".td-overlay"), 5198 m = i.find(".td-clock"); 5199 m.find("svg").attr("style", "stroke:" + f.borderColor); 5200 5201 function g() { 5202 var t = m.find(".td-time span.on"), 5203 e = parseInt(t.attr("data-id")); 5204 deg = 0 == t.index() ? Math.round(360 * e / 23) : Math.round(360 * e / 59), v = -1, y = deg, w = deg 5205 } 5206 5207 function _(t) { 5208 var e = m.find(".td-time span.on"); 5209 e.attr("data-id"); 5210 var i = Math.round(23 * t / 360), 5211 s = Math.round(59 * t / 360); 5212 if (0 == e.index() ? (e.attr("data-id", c(i)), f.meridians && (12 <= i && i < 24 ? (m.find(".td-icon-pm").addClass("td-on"), m.find(".td-icon-am").removeClass("td-on")) : (m.find(".td-icon-am").addClass("td-on"), m.find(".td-icon-pm").removeClass("td-on")), 12 < i && (i -= 12), 0 == i && (i = 12)), e.text(c(i))) : e.attr("data-id", c(s)).text(c(s)), w = t, m.find(".td-deg").css("transform", "rotate(" + t + "deg)"), 0 == e.index()) { 5213 var n = Math.round(360 * i / 12); 5214 m.find(".td-lancette div:last").css("transform", "rotate(" + n + "deg)") 5215 } else m.find(".td-lancette div:first").css("transform", "rotate(" + t + "deg)"); 5216 var o = m.find(".td-time span:first").attr("data-id"), 5217 r = m.find(".td-time span:last").attr("data-id"); 5218 if (12 <= Math.round(o) && Math.round(o) < 24) { 5219 i = Math.round(o) - 12; 5220 var a = "pm", 5221 l = "PM" 5222 } else i = Math.round(o), a = "am", l = "AM"; 5223 0 == i && (i = 12); 5224 var h = f.format.replace(/\b(H)\b/g, Math.round(o)).replace(/\b(h)\b/g, Math.round(i)).replace(/\b(m)\b/g, Math.round(r)).replace(/\b(HH)\b/g, c(Math.round(o))).replace(/\b(hh)\b/g, c(Math.round(i))).replace(/\b(mm)\b/g, c(Math.round(r))).replace(/\b(a)\b/g, a).replace(/\b(A)\b/g, l); 5225 d.val(h) 5226 } 5227 var v = -1, 5228 y = 0, 5229 w = 0; 5230 /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) && (p = !0), m.find(".td-time span").on("click", function(t) { 5231 var e = b(this); 5232 m.find(".td-time span").removeClass("on"), e.addClass("on"); 5233 var i = parseInt(e.attr("data-id")); 5234 deg = 0 == e.index() ? Math.round(360 * i / 23) : Math.round(360 * i / 59), v = -1, y = deg, w = deg, _(deg) 5235 }), m.find(".td-deg").on("touchstart mousedown", function(t) { 5236 g(), t.preventDefault(), clearInterval(h), m.find(".td-deg").removeClass("td-n"), m.find(".td-select").removeClass("td-rubber"), u = !0; 5237 var e, i, s, n, o = m.offset(), 5238 r = o.top + m.height() / 2, 5239 a = o.left + m.width() / 2, 5240 l = 180 / Math.PI; 5241 m.removeClass("td-rubber"), b(window).on("touchmove mousemove", function(t) { 5242 1 == u && (move = p ? t.originalEvent.touches[0] : t, e = r - move.pageY, i = a - move.pageX, (s = Math.atan2(e, i) * l) < 0 && (s = 360 + s), -1 == v && (v = s), (n = Math.floor(s - v + y)) < 0 ? n = 360 + n : 360 < n && (n %= 360), _(n)) 5243 }) 5244 }), f.mousewheel && m.on("mousewheel", function(t) { 5245 t.preventDefault(), m.find(".td-deg").removeClass("td-n"), 0 < t.originalEvent.wheelDelta ? w <= 360 && (t.originalEvent.wheelDelta <= 120 ? w++ : 120 < t.originalEvent.wheelDelta && (w += 20), 360 < w && (w = 0)) : 0 <= w && (-120 <= t.originalEvent.wheelDelta ? w-- : t.originalEvent.wheelDelta < -120 && (w -= 20), w < 0 && (w = 360)), v = -1, _(y = w) 5246 }), b(document).on("touchend mouseup", function() { 5247 u && (u = !1, f.autoswitch && (m.find(".td-time span").toggleClass("on"), m.find(".td-time span.on").click()), m.find(".td-deg").addClass("td-n"), m.find(".td-select").addClass("td-rubber")) 5248 }); 5249 ! function() { 5250 var t, e, i = new Date, 5251 s = m.find(".td-time span:first"), 5252 n = m.find(".td-time span:last"); 5253 if (d.val().length && !f.setCurrentTime) { 5254 var o = /\d+/g, 5255 r = d.val().split(":"); 5256 r ? (t = r[0].match(o), e = r[1].match(o), -1 != d.val().indexOf("am") || -1 != d.val().indexOf("AM") || -1 != d.val().indexOf("pm") || -1 != d.val().indexOf("PM") ? -1 != d.val().indexOf("am") || -1 != d.val().indexOf("AM") ? 12 == t && (t = 0) : t < 13 && 24 == (t = parseInt(t) + 12) && (t = 0) : 24 == t && (t = 0)) : (t = parseInt(s.text()) ? c(s.text()) : c(i.getHours()), e = parseInt(n.text()) ? c(n.text()) : c(i.getMinutes())) 5257 } else t = parseInt(s.text()) ? c(s.text()) : c(i.getHours()), e = parseInt(n.text()) ? c(n.text()) : c(i.getMinutes()); 5258 s.attr("data-id", t).text(t), n.attr("data-id", e).text(e), y = Math.round(360 * t / 23), m.find(".td-lancette div:first").css("transform", "rotate(" + Math.round(360 * e / 59) + "deg)"), _(y), w = y, v = -1 5259 }(), d.focus(function(t) { 5260 t.preventDefault(), d.blur() 5261 }), d.click(function(t) { 5262 clearInterval(e), i.removeClass("td-fadeout"), i.addClass("td-show").addClass("td-" + f.init_animation), m.css({ 5263 top: d.offset().top + (d.outerHeight() - 8), 5264 left: d.offset().left + d.outerWidth() / 2 - m.outerWidth() / 2 5265 }), m.hasClass("td-init") && (h = setInterval(function() { 5266 m.find(".td-select").addClass("td-alert"), setTimeout(function() { 5267 m.find(".td-select").removeClass("td-alert") 5268 }, 1e3) 5269 }, 2e3), m.removeClass("td-init")) 5270 }), s.click(function() { 5271 i.addClass("td-fadeout").removeClass("td-" + f.init_animation), e = setTimeout(function() { 5272 i.removeClass("td-show") 5273 }, 300) 5274 }), b(window).on("resize", function() { 5275 g(), m.css({ 5276 top: d.offset().top + (d.outerHeight() - 8), 5277 left: d.offset().left + d.outerWidth() / 2 - m.outerWidth() / 2 5278 }) 5279 }) 5280 }) 5281 } 5282 }(jQuery), 5283 function(l, i, n, a) { 5284 function h(t, e) { 5285 this.settings = null, this.options = l.extend({}, h.Defaults, e), this.$element = l(t), this._handlers = {}, this._plugins = {}, this._supress = {}, this._current = null, this._speed = null, this._coordinates = [], this._breakpoint = null, this._width = null, this._items = [], this._clones = [], this._mergers = [], this._widths = [], this._invalidated = {}, this._pipe = [], this._drag = { 5286 time: null, 5287 target: null, 5288 pointer: null, 5289 stage: { 5290 start: null, 5291 current: null 5292 }, 5293 direction: null 5294 }, this._states = { 5295 current: {}, 5296 tags: { 5297 initializing: ["busy"], 5298 animating: ["busy"], 5299 dragging: ["interacting"] 5300 } 5301 }, l.each(["onResize", "onThrottledResize"], l.proxy(function(t, e) { 5302 this._handlers[e] = l.proxy(this[e], this) 5303 }, this)), l.each(h.Plugins, l.proxy(function(t, e) { 5304 this._plugins[t.charAt(0).toLowerCase() + t.slice(1)] = new e(this) 5305 }, this)), l.each(h.Workers, l.proxy(function(t, e) { 5306 this._pipe.push({ 5307 filter: e.filter, 5308 run: l.proxy(e.run, this) 5309 }) 5310 }, this)), this.setup(), this.initialize() 5311 } 5312 h.Defaults = { 5313 items: 3, 5314 loop: !1, 5315 center: !1, 5316 rewind: !1, 5317 checkVisibility: !0, 5318 mouseDrag: !0, 5319 touchDrag: !0, 5320 pullDrag: !0, 5321 freeDrag: !1, 5322 margin: 0, 5323 stagePadding: 0, 5324 merge: !1, 5325 mergeFit: !0, 5326 autoWidth: !1, 5327 startPosition: 0, 5328 rtl: !1, 5329 smartSpeed: 250, 5330 fluidSpeed: !1, 5331 dragEndSpeed: !1, 5332 responsive: {}, 5333 responsiveRefreshRate: 200, 5334 responsiveBaseElement: i, 5335 fallbackEasing: "swing", 5336 slideTransition: "", 5337 info: !1, 5338 nestedItemSelector: !1, 5339 itemElement: "div", 5340 stageElement: "div", 5341 refreshClass: "owl-refresh", 5342 loadedClass: "owl-loaded", 5343 loadingClass: "owl-loading", 5344 rtlClass: "owl-rtl", 5345 responsiveClass: "owl-responsive", 5346 dragClass: "owl-drag", 5347 itemClass: "owl-item", 5348 stageClass: "owl-stage", 5349 stageOuterClass: "owl-stage-outer", 5350 grabClass: "owl-grab" 5351 }, h.Width = { 5352 Default: "default", 5353 Inner: "inner", 5354 Outer: "outer" 5355 }, h.Type = { 5356 Event: "event", 5357 State: "state" 5358 }, h.Plugins = {}, h.Workers = [{ 5359 filter: ["width", "settings"], 5360 run: function() { 5361 this._width = this.$element.width() 5362 } 5363 }, { 5364 filter: ["width", "items", "settings"], 5365 run: function(t) { 5366 t.current = this._items && this._items[this.relative(this._current)] 5367 } 5368 }, { 5369 filter: ["items", "settings"], 5370 run: function() { 5371 this.$stage.children(".cloned").remove() 5372 } 5373 }, { 5374 filter: ["width", "items", "settings"], 5375 run: function(t) { 5376 var e = this.settings.margin || "", 5377 i = !this.settings.autoWidth, 5378 s = this.settings.rtl, 5379 n = { 5380 width: "auto", 5381 "margin-left": s ? e : "", 5382 "margin-right": s ? "" : e 5383 }; 5384 i || this.$stage.children().css(n), t.css = n 5385 } 5386 }, { 5387 filter: ["width", "items", "settings"], 5388 run: function(t) { 5389 var e = (this.width() / this.settings.items).toFixed(3) - this.settings.margin, 5390 i = null, 5391 s = this._items.length, 5392 n = !this.settings.autoWidth, 5393 o = []; 5394 for (t.items = { 5395 merge: !1, 5396 width: e 5397 }; s--;) i = this._mergers[s], i = this.settings.mergeFit && Math.min(i, this.settings.items) || i, t.items.merge = 1 < i || t.items.merge, o[s] = n ? e * i : this._items[s].width(); 5398 this._widths = o 5399 } 5400 }, { 5401 filter: ["items", "settings"], 5402 run: function() { 5403 var t = [], 5404 e = this._items, 5405 i = this.settings, 5406 s = Math.max(2 * i.items, 4), 5407 n = 2 * Math.ceil(e.length / 2), 5408 o = i.loop && e.length ? i.rewind ? s : Math.max(s, n) : 0, 5409 r = "", 5410 a = ""; 5411 for (o /= 2; 0 < o;) t.push(this.normalize(t.length / 2, !0)), r += e[t[t.length - 1]][0].outerHTML, t.push(this.normalize(e.length - 1 - (t.length - 1) / 2, !0)), a = e[t[t.length - 1]][0].outerHTML + a, --o; 5412 this._clones = t, l(r).addClass("cloned").appendTo(this.$stage), l(a).addClass("cloned").prependTo(this.$stage) 5413 } 5414 }, { 5415 filter: ["width", "items", "settings"], 5416 run: function() { 5417 for (var t = this.settings.rtl ? 1 : -1, e = this._clones.length + this._items.length, i = -1, s = 0, n = 0, o = []; ++i < e;) s = o[i - 1] || 0, n = this._widths[this.relative(i)] + this.settings.margin, o.push(s + n * t); 5418 this._coordinates = o 5419 } 5420 }, { 5421 filter: ["width", "items", "settings"], 5422 run: function() { 5423 var t = this.settings.stagePadding, 5424 e = this._coordinates, 5425 i = { 5426 width: Math.ceil(Math.abs(e[e.length - 1])) + 2 * t, 5427 "padding-left": t || "", 5428 "padding-right": t || "" 5429 }; 5430 this.$stage.css(i) 5431 } 5432 }, { 5433 filter: ["width", "items", "settings"], 5434 run: function(t) { 5435 var e = this._coordinates.length, 5436 i = !this.settings.autoWidth, 5437 s = this.$stage.children(); 5438 if (i && t.items.merge) 5439 for (; e--;) t.css.width = this._widths[this.relative(e)], s.eq(e).css(t.css); 5440 else i && (t.css.width = t.items.width, s.css(t.css)) 5441 } 5442 }, { 5443 filter: ["items"], 5444 run: function() { 5445 this._coordinates.length < 1 && this.$stage.removeAttr("style") 5446 } 5447 }, { 5448 filter: ["width", "items", "settings"], 5449 run: function(t) { 5450 t.current = t.current ? this.$stage.children().index(t.current) : 0, t.current = Math.max(this.minimum(), Math.min(this.maximum(), t.current)), this.reset(t.current) 5451 } 5452 }, { 5453 filter: ["position"], 5454 run: function() { 5455 this.animate(this.coordinates(this._current)) 5456 } 5457 }, { 5458 filter: ["width", "position", "items", "settings"], 5459 run: function() { 5460 var t, e, i, s, n = this.settings.rtl ? 1 : -1, 5461 o = 2 * this.settings.stagePadding, 5462 r = this.coordinates(this.current()) + o, 5463 a = r + this.width() * n, 5464 l = []; 5465 for (i = 0, s = this._coordinates.length; i < s; i++) t = this._coordinates[i - 1] || 0, e = Math.abs(this._coordinat
vendor: 34,605 bytes, lines 5465-5971
5465es[i]) + o * n, (this.op(t, "<=", r) && this.op(t, ">", a) || this.op(e, "<", r) && this.op(e, ">", a)) && l.push(i); 5466 this.$stage.children(".active").removeClass("active"), this.$stage.children(":eq(" + l.join("), :eq(") + ")").addClass("active"), this.$stage.children(".center").removeClass("center"), this.settings.center && this.$stage.children().eq(this.current()).addClass("center") 5467 } 5468 }], h.prototype.initializeStage = function() { 5469 this.$stage = this.$element.find("." + this.settings.stageClass), this.$stage.length || (this.$element.addClass(this.options.loadingClass), this.$stage = l("<" + this.settings.stageElement + ">", { 5470 class: this.settings.stageClass 5471 }).wrap(l("<div/>", { 5472 class: this.settings.stageOuterClass 5473 })), this.$element.append(this.$stage.parent())) 5474 }, h.prototype.initializeItems = function() { 5475 var t = this.$element.find(".owl-item"); 5476 if (t.length) return this._items = t.get().map(function(t) { 5477 return l(t) 5478 }), this._mergers = this._items.map(function() { 5479 return 1 5480 }), void this.refresh(); 5481 this.replace(this.$element.children().not(this.$stage.parent())), this.isVisible() ? this.refresh() : this.invalidate("width"), this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass) 5482 }, h.prototype.initialize = function() { 5483 var t, e, i; 5484 this.enter("initializing"), this.trigger("initialize"), this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl), this.settings.autoWidth && !this.is("pre-loading") && (t = this.$element.find("img"), e = this.settings.nestedItemSelector ? "." + this.settings.nestedItemSelector : a, i = this.$element.children(e).width(), t.length && i <= 0 && this.preloadAutoWidthImages(t)); 5485 this.initializeStage(), this.initializeItems(), this.registerEventHandlers(), this.leave("initializing"), this.trigger("initialized") 5486 }, h.prototype.isVisible = function() { 5487 return !this.settings.checkVisibility || this.$element.is(":visible") 5488 }, h.prototype.setup = function() { 5489 var e = this.viewport(), 5490 t = this.options.responsive, 5491 i = -1, 5492 s = null; 5493 t ? (l.each(t, function(t) { 5494 t <= e && i < t && (i = Number(t)) 5495 }), "function" == typeof(s = l.extend({}, this.options, t[i])).stagePadding && (s.stagePadding = s.stagePadding()), delete s.responsive, s.responsiveClass && this.$element.attr("class", this.$element.attr("class").replace(new RegExp("(" + this.options.responsiveClass + "-)\\S+\\s", "g"), "$1" + i))) : s = l.extend({}, this.options), this.trigger("change", { 5496 property: { 5497 name: "settings", 5498 value: s 5499 } 5500 }), this._breakpoint = i, this.settings = s, this.invalidate("settings"), this.trigger("changed", { 5501 property: { 5502 name: "settings", 5503 value: this.settings 5504 } 5505 }) 5506 }, h.prototype.optionsLogic = function() { 5507 this.settings.autoWidth && (this.settings.stagePadding = !1, this.settings.merge = !1) 5508 }, h.prototype.prepare = function(t) { 5509 var e = this.trigger("prepare", { 5510 content: t 5511 }); 5512 return e.data || (e.data = l("<" + this.settings.itemElement + "/>").addClass(this.options.itemClass).append(t)), this.trigger("prepared", { 5513 content: e.data 5514 }), e.data 5515 }, h.prototype.update = function() { 5516 for (var t = 0, e = this._pipe.length, i = l.proxy(function(t) { 5517 return this[t] 5518 }, this._invalidated), s = {}; t < e;)(this._invalidated.all || 0 < l.grep(this._pipe[t].filter, i).length) && this._pipe[t].run(s), t++; 5519 this._invalidated = {}, this.is("valid") || this.enter("valid") 5520 }, h.prototype.width = function(t) { 5521 switch (t = t || h.Width.Default) { 5522 case h.Width.Inner: 5523 case h.Width.Outer: 5524 return this._width; 5525 default: 5526 return this._width - 2 * this.settings.stagePadding + this.settings.margin 5527 } 5528 }, h.prototype.refresh = function() { 5529 this.enter("refreshing"), this.trigger("refresh"), this.setup(), this.optionsLogic(), this.$element.addClass(this.options.refreshClass), this.update(), this.$element.removeClass(this.options.refreshClass), this.leave("refreshing"), this.trigger("refreshed") 5530 }, h.prototype.onThrottledResize = function() { 5531 i.clearTimeout(this.resizeTimer), this.resizeTimer = i.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate) 5532 }, h.prototype.onResize = function() { 5533 return !!this._items.length && (this._width !== this.$element.width() && (!!this.isVisible() && (this.enter("resizing"), this.trigger("resize").isDefaultPrevented() ? (this.leave("resizing"), !1) : (this.invalidate("width"), this.refresh(), this.leave("resizing"), void this.trigger("resized"))))) 5534 }, h.prototype.registerEventHandlers = function() { 5535 l.support.transition && this.$stage.on(l.support.transition.end + ".owl.core", l.proxy(this.onTransitionEnd, this)), !1 !== this.settings.responsive && this.on(i, "resize", this._handlers.onThrottledResize), this.settings.mouseDrag && (this.$element.addClass(this.options.dragClass), this.$stage.on("mousedown.owl.core", l.proxy(this.onDragStart, this)), this.$stage.on("dragstart.owl.core selectstart.owl.core", function() { 5536 return !1 5537 })), this.settings.touchDrag && (this.$stage.on("touchstart.owl.core", l.proxy(this.onDragStart, this)), this.$stage.on("touchcancel.owl.core", l.proxy(this.onDragEnd, this))) 5538 }, h.prototype.onDragStart = function(t) { 5539 var e = null; 5540 3 !== t.which && (e = l.support.transform ? { 5541 x: (e = this.$stage.css("transform").replace(/.*\(|\)| /g, "").split(","))[16 === e.length ? 12 : 4], 5542 y: e[16 === e.length ? 13 : 5] 5543 } : (e = this.$stage.position(), { 5544 x: this.settings.rtl ? e.left + this.$stage.width() - this.width() + this.settings.margin : e.left, 5545 y: e.top 5546 }), this.is("animating") && (l.support.transform ? this.animate(e.x) : this.$stage.stop(), this.invalidate("position")), this.$element.toggleClass(this.options.grabClass, "mousedown" === t.type), this.speed(0), this._drag.time = (new Date).getTime(), this._drag.target = l(t.target), this._drag.stage.start = e, this._drag.stage.current = e, this._drag.pointer = this.pointer(t), l(n).on("mouseup.owl.core touchend.owl.core", l.proxy(this.onDragEnd, this)), l(n).one("mousemove.owl.core touchmove.owl.core", l.proxy(function(t) { 5547 var e = this.difference(this._drag.pointer, this.pointer(t)); 5548 l(n).on("mousemove.owl.core touchmove.owl.core", l.proxy(this.onDragMove, this)), Math.abs(e.x) < Math.abs(e.y) && this.is("valid") || (t.preventDefault(), this.enter("dragging"), this.trigger("drag")) 5549 }, this))) 5550 }, h.prototype.onDragMove = function(t) { 5551 var e = null, 5552 i = null, 5553 s = null, 5554 n = this.difference(this._drag.pointer, this.pointer(t)), 5555 o = this.difference(this._drag.stage.start, n); 5556 this.is("dragging") && (t.preventDefault(), this.settings.loop ? (e = this.coordinates(this.minimum()), i = this.coordinates(this.maximum() + 1) - e, o.x = ((o.x - e) % i + i) % i + e) : (e = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum()), i = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum()), s = this.settings.pullDrag ? -1 * n.x / 5 : 0, o.x = Math.max(Math.min(o.x, e + s), i + s)), this._drag.stage.current = o, this.animate(o.x)) 5557 }, h.prototype.onDragEnd = function(t) { 5558 var e = this.difference(this._drag.pointer, this.pointer(t)), 5559 i = this._drag.stage.current, 5560 s = 0 < e.x ^ this.settings.rtl ? "left" : "right"; 5561 l(n).off(".owl.core"), this.$element.removeClass(this.options.grabClass), (0 !== e.x && this.is("dragging") || !this.is("valid")) && (this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed), this.current(this.closest(i.x, 0 !== e.x ? s : this._drag.direction)), this.invalidate("position"), this.update(), this._drag.direction = s, (3 < Math.abs(e.x) || 300 < (new Date).getTime() - this._drag.time) && this._drag.target.one("click.owl.core", function() { 5562 return !1 5563 })), this.is("dragging") && (this.leave("dragging"), this.trigger("dragged")) 5564 }, h.prototype.closest = function(i, s) { 5565 var n = -1, 5566 o = this.width(), 5567 r = this.coordinates(); 5568 return this.settings.freeDrag || l.each(r, l.proxy(function(t, e) { 5569 return "left" === s && e - 30 < i && i < e + 30 ? n = t : "right" === s && e - o - 30 < i && i < e - o + 30 ? n = t + 1 : this.op(i, "<", e) && this.op(i, ">", r[t + 1] !== a ? r[t + 1] : e - o) && (n = "left" === s ? t + 1 : t), -1 === n 5570 }, this)), this.settings.loop || (this.op(i, ">", r[this.minimum()]) ? n = i = this.minimum() : this.op(i, "<", r[this.maximum()]) && (n = i = this.maximum())), n 5571 }, h.prototype.animate = function(t) { 5572 var e = 0 < this.speed(); 5573 this.is("animating") && this.onTransitionEnd(), e && (this.enter("animating"), this.trigger("translate")), l.support.transform3d && l.support.transition ? this.$stage.css({ 5574 transform: "translate3d(" + t + "px,0px,0px)", 5575 transition: this.speed() / 1e3 + "s" + (this.settings.slideTransition ? " " + this.settings.slideTransition : "") 5576 }) : e ? this.$stage.animate({ 5577 left: t + "px" 5578 }, this.speed(), this.settings.fallbackEasing, l.proxy(this.onTransitionEnd, this)) : this.$stage.css({ 5579 left: t + "px" 5580 }) 5581 }, h.prototype.is = function(t) { 5582 return this._states.current[t] && 0 < this._states.current[t] 5583 }, h.prototype.current = function(t) { 5584 if (t === a) return this._current; 5585 if (0 === this._items.length) return a; 5586 if (t = this.normalize(t), this._current !== t) { 5587 var e = this.trigger("change", { 5588 property: { 5589 name: "position", 5590 value: t 5591 } 5592 }); 5593 e.data !== a && (t = this.normalize(e.data)), this._current = t, this.invalidate("position"), this.trigger("changed", { 5594 property: { 5595 name: "position", 5596 value: this._current 5597 } 5598 }) 5599 } 5600 return this._current 5601 }, h.prototype.invalidate = function(t) { 5602 return "string" === l.type(t) && (this._invalidated[t] = !0, this.is("valid") && this.leave("valid")), l.map(this._invalidated, function(t, e) { 5603 return e 5604 }) 5605 }, h.prototype.reset = function(t) { 5606 (t = this.normalize(t)) !== a && (this._speed = 0, this._current = t, this.suppress(["translate", "translated"]), this.animate(this.coordinates(t)), this.release(["translate", "translated"])) 5607 }, h.prototype.normalize = function(t, e) { 5608 var i = this._items.length, 5609 s = e ? 0 : this._clones.length; 5610 return !this.isNumeric(t) || i < 1 ? t = a : (t < 0 || i + s <= t) && (t = ((t - s / 2) % i + i) % i + s / 2), t 5611 }, h.prototype.relative = function(t) { 5612 return t -= this._clones.length / 2, this.normalize(t, !0) 5613 }, h.prototype.maximum = function(t) { 5614 var e, i, s, n = this.settings, 5615 o = this._coordinates.length; 5616 if (n.loop) o = this._clones.length / 2 + this._items.length - 1; 5617 else if (n.autoWidth || n.merge) { 5618 if (e = this._items.length) 5619 for (i = this._items[--e].width(), s = this.$element.width(); e-- && !(s < (i += this._items[e].width() + this.settings.margin));); 5620 o = e + 1 5621 } else o = n.center ? this._items.length - 1 : this._items.length - n.items; 5622 return t && (o -= this._clones.length / 2), Math.max(o, 0) 5623 }, h.prototype.minimum = function(t) { 5624 return t ? 0 : this._clones.length / 2 5625 }, h.prototype.items = function(t) { 5626 return t === a ? this._items.slice() : (t = this.normalize(t, !0), this._items[t]) 5627 }, h.prototype.mergers = function(t) { 5628 return t === a ? this._mergers.slice() : (t = this.normalize(t, !0), this._mergers[t]) 5629 }, h.prototype.clones = function(i) { 5630 function s(t) { 5631 return t % 2 == 0 ? n + t / 2 : e - (t + 1) / 2 5632 } 5633 var e = this._clones.length / 2, 5634 n = e + this._items.length; 5635 return i === a ? l.map(this._clones, function(t, e) { 5636 return s(e) 5637 }) : l.map(this._clones, function(t, e) { 5638 return t === i ? s(e) : null 5639 }) 5640 }, h.prototype.speed = function(t) { 5641 return t !== a && (this._speed = t), this._speed 5642 }, h.prototype.coordinates = function(t) { 5643 var e, i = 1, 5644 s = t - 1; 5645 return t === a ? l.map(this._coordinates, l.proxy(function(t, e) { 5646 return this.coordinates(e) 5647 }, this)) : (this.settings.center ? (this.settings.rtl && (i = -1, s = t + 1), e = this._coordinates[t], e += (this.width() - e + (this._coordinates[s] || 0)) / 2 * i) : e = this._coordinates[s] || 0, e = Math.ceil(e)) 5648 }, h.prototype.duration = function(t, e, i) { 5649 return 0 === i ? 0 : Math.min(Math.max(Math.abs(e - t), 1), 6) * Math.abs(i || this.settings.smartSpeed) 5650 }, h.prototype.to = function(t, e) { 5651 var i = this.current(), 5652 s = null, 5653 n = t - this.relative(i), 5654 o = (0 < n) - (n < 0), 5655 r = this._items.length, 5656 a = this.minimum(), 5657 l = this.maximum(); 5658 this.settings.loop ? (!this.settings.rewind && Math.abs(n) > r / 2 && (n += -1 * o * r), (s = (((t = i + n) - a) % r + r) % r + a) !== t && s - n <= l && 0 < s - n && (i = s - n, t = s, this.reset(i))) : t = this.settings.rewind ? (t % (l += 1) + l) % l : Math.max(a, Math.min(l, t)), this.speed(this.duration(i, t, e)), this.current(t), this.isVisible() && this.update() 5659 }, h.prototype.next = function(t) { 5660 t = t || !1, this.to(this.relative(this.current()) + 1, t) 5661 }, h.prototype.prev = function(t) { 5662 t = t || !1, this.to(this.relative(this.current()) - 1, t) 5663 }, h.prototype.onTransitionEnd = function(t) { 5664 if (t !== a && (t.stopPropagation(), (t.target || t.srcElement || t.originalTarget) !== this.$stage.get(0))) return !1; 5665 this.leave("animating"), this.trigger("translated") 5666 }, h.prototype.viewport = function() { 5667 var t; 5668 return this.options.responsiveBaseElement !== i ? t = l(this.options.responsiveBaseElement).width() : i.innerWidth ? t = i.innerWidth : n.documentElement && n.documentElement.clientWidth ? t = n.documentElement.clientWidth : console.warn("Can not detect viewport width."), t 5669 }, h.prototype.replace = function(t) { 5670 this.$stage.empty(), this._items = [], t = t && (t instanceof jQuery ? t : l(t)), this.settings.nestedItemSelector && (t = t.find("." + this.settings.nestedItemSelector)), t.filter(function() { 5671 return 1 === this.nodeType 5672 }).each(l.proxy(function(t, e) { 5673 e = this.prepare(e), this.$stage.append(e), this._items.push(e), this._mergers.push(+e.find("[data-merge]").addBack("[data-merge]").attr("data-merge") || 1) 5674 }, this)), this.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0), this.invalidate("items") 5675 }, h.prototype.add = function(t, e) { 5676 var i = this.relative(this._current); 5677 e = e === a ? this._items.length : this.normalize(e, !0), t = t instanceof jQuery ? t : l(t), this.trigger("add", { 5678 content: t, 5679 position: e 5680 }), t = this.prepare(t), 0 === this._items.length || e === this._items.length ? (0 === this._items.length && this.$stage.append(t), 0 !== this._items.length && this._items[e - 1].after(t), this._items.push(t), this._mergers.push(+t.find("[data-merge]").addBack("[data-merge]").attr("data-merge") || 1)) : (this._items[e].before(t), this._items.splice(e, 0, t), this._mergers.splice(e, 0, +t.find("[data-merge]").addBack("[data-merge]").attr("data-merge") || 1)), this._items[i] && this.reset(this._items[i].index()), this.invalidate("items"), this.trigger("added", { 5681 content: t, 5682 position: e 5683 }) 5684 }, h.prototype.remove = function(t) { 5685 (t = this.normalize(t, !0)) !== a && (this.trigger("remove", { 5686 content: this._items[t], 5687 position: t 5688 }), this._items[t].remove(), this._items.splice(t, 1), this._mergers.splice(t, 1), this.invalidate("items"), this.trigger("removed", { 5689 content: null, 5690 position: t 5691 })) 5692 }, h.prototype.preloadAutoWidthImages = function(t) { 5693 t.each(l.proxy(function(t, e) { 5694 this.enter("pre-loading"), e = l(e), l(new Image).one("load", l.proxy(function(t) { 5695 e.attr("src", t.target.src), e.css("opacity", 1), this.leave("pre-loading"), this.is("pre-loading") || this.is("initializing") || this.refresh() 5696 }, this)).attr("src", e.attr("src") || e.attr("data-src") || e.attr("data-src-retina")) 5697 }, this)) 5698 }, h.prototype.destroy = function() { 5699 for (var t in this.$element.off(".owl.core"), this.$stage.off(".owl.core"), l(n).off(".owl.core"), !1 !== this.settings.responsive && (i.clearTimeout(this.resizeTimer), this.off(i, "resize", this._handlers.onThrottledResize)), this._plugins) this._plugins[t].destroy(); 5700 this.$stage.children(".cloned").remove(), this.$stage.unwrap(), this.$stage.children().contents().unwrap(), this.$stage.children().unwrap(), this.$stage.remove(), this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class", this.$element.attr("class").replace(new RegExp(this.options.responsiveClass + "-\\S+\\s", "g"), "")).removeData("owl.carousel") 5701 }, h.prototype.op = function(t, e, i) { 5702 var s = this.settings.rtl; 5703 switch (e) { 5704 case "<": 5705 return s ? i < t : t < i; 5706 case ">": 5707 return s ? t < i : i < t; 5708 case ">=": 5709 return s ? t <= i : i <= t; 5710 case "<=": 5711 return s ? i <= t : t <= i 5712 } 5713 }, h.prototype.on = function(t, e, i, s) { 5714 t.addEventListener ? t.addEventListener(e, i, s) : t.attachEvent && t.attachEvent("on" + e, i) 5715 }, h.prototype.off = function(t, e, i, s) { 5716 t.removeEventListener ? t.removeEventListener(e, i, s) : t.detachEvent && t.detachEvent("on" + e, i) 5717 }, h.prototype.trigger = function(t, e, i, s, n) { 5718 var o = { 5719 item: { 5720 count: this._items.length, 5721 index: this.current() 5722 } 5723 }, 5724 r = l.camelCase(l.grep(["on", t, i], function(t) { 5725 return t 5726 }).join("-").toLowerCase()), 5727 a = l.Event([t, "owl", i || "carousel"].join(".").toLowerCase(), l.extend({ 5728 relatedTarget: this 5729 }, o, e)); 5730 return this._supress[t] || (l.each(this._plugins, function(t, e) { 5731 e.onTrigger && e.onTrigger(a) 5732 }), this.register({ 5733 type: h.Type.Event, 5734 name: t 5735 }), this.$element.trigger(a), this.settings && "function" == typeof this.settings[r] && this.settings[r].call(this, a)), a 5736 }, h.prototype.enter = function(t) { 5737 l.each([t].concat(this._states.tags[t] || []), l.proxy(function(t, e) { 5738 this._states.current[e] === a && (this._states.current[e] = 0), this._states.current[e]++ 5739 }, this)) 5740 }, h.prototype.leave = function(t) { 5741 l.each([t].concat(this._states.tags[t] || []), l.proxy(function(t, e) { 5742 this._states.current[e]-- 5743 }, this)) 5744 }, h.prototype.register = function(i) { 5745 if (i.type === h.Type.Event) { 5746 if (l.event.special[i.name] || (l.event.special[i.name] = {}), !l.event.special[i.name].owl) { 5747 var e = l.event.special[i.name]._default; 5748 l.event.special[i.name]._default = function(t) { 5749 return !e || !e.apply || t.namespace && -1 !== t.namespace.indexOf("owl") ? t.namespace && -1 < t.namespace.indexOf("owl") : e.apply(this, arguments) 5750 }, l.event.special[i.name].owl = !0 5751 } 5752 } else i.type === h.Type.State && (this._states.tags[i.name] ? this._states.tags[i.name] = this._states.tags[i.name].concat(i.tags) : this._states.tags[i.name] = i.tags, this._states.tags[i.name] = l.grep(this._states.tags[i.name], l.proxy(function(t, e) { 5753 return l.inArray(t, this._states.tags[i.name]) === e 5754 }, this))) 5755 }, h.prototype.suppress = function(t) { 5756 l.each(t, l.proxy(function(t, e) { 5757 this._supress[e] = !0 5758 }, this)) 5759 }, h.prototype.release = function(t) { 5760 l.each(t, l.proxy(function(t, e) { 5761 delete this._supress[e] 5762 }, this)) 5763 }, h.prototype.pointer = function(t) { 5764 var e = { 5765 x: null, 5766 y: null 5767 }; 5768 return (t = (t = t.originalEvent || t || i.event).touches && t.touches.length ? t.touches[0] : t.changedTouches && t.changedTouches.length ? t.changedTouches[0] : t).pageX ? (e.x = t.pageX, e.y = t.pageY) : (e.x = t.clientX, e.y = t.clientY), e 5769 }, h.prototype.isNumeric = function(t) { 5770 return !isNaN(parseFloat(t)) 5771 }, h.prototype.difference = function(t, e) { 5772 return { 5773 x: t.x - e.x, 5774 y: t.y - e.y 5775 } 5776 }, l.fn.owlCarousel = function(e) { 5777 var s = Array.prototype.slice.call(arguments, 1); 5778 return this.each(function() { 5779 var t = l(this), 5780 i = t.data("owl.carousel"); 5781 i || (i = new h(this, "object" == typeof e && e), t.data("owl.carousel", i), l.each(["next", "prev", "to", "destroy", "refresh", "replace", "add", "remove"], function(t, e) { 5782 i.register({ 5783 type: h.Type.Event, 5784 name: e 5785 }), i.$element.on(e + ".owl.carousel.core", l.proxy(function(t) { 5786 t.namespace && t.relatedTarget !== this && (this.suppress([e]), i[e].apply(this, [].slice.call(arguments, 1)), this.release([e])) 5787 }, i)) 5788 })), "string" == typeof e && "_" !== e.charAt(0) && i[e].apply(i, s) 5789 }) 5790 }, l.fn.owlCarousel.Constructor = h 5791 }(window.Zepto || window.jQuery, window, document), 5792 function(e, i) { 5793 var s = function(t) { 5794 this._core = t, this._interval = null, this._visible = null, this._handlers = { 5795 "initialized.owl.carousel": e.proxy(function(t) { 5796 t.namespace && this._core.settings.autoRefresh && this.watch() 5797 }, this) 5798 }, this._core.options = e.extend({}, s.Defaults, this._core.options), this._core.$element.on(this._handlers) 5799 }; 5800 s.Defaults = { 5801 autoRefresh: !0, 5802 autoRefreshInterval: 500 5803 }, s.prototype.watch = function() { 5804 this._interval || (this._visible = this._core.isVisible(), this._interval = i.setInterval(e.proxy(this.refresh, this), this._core.settings.autoRefreshInterval)) 5805 }, s.prototype.refresh = function() { 5806 this._core.isVisible() !== this._visible && (this._visible = !this._visible, this._core.$element.toggleClass("owl-hidden", !this._visible), this._visible && this._core.invalidate("width") && this._core.refresh()) 5807 }, s.prototype.destroy = function() { 5808 var t, e; 5809 for (t in i.clearInterval(this._interval), this._handlers) this._core.$element.off(t, this._handlers[t]); 5810 for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null) 5811 }, e.fn.owlCarousel.Constructor.Plugins.AutoRefresh = s 5812 }(window.Zepto || window.jQuery, window, document), 5813 function(a, o) { 5814 var e = function(t) { 5815 this._core = t, this._loaded = [], this._handlers = { 5816 "initialized.owl.carousel change.owl.carousel resized.owl.carousel": a.proxy(function(t) { 5817 if (t.namespace && this._core.settings && this._core.settings.lazyLoad && (t.property && "position" == t.property.name || "initialized" == t.type)) { 5818 var e = this._core.settings, 5819 i = e.center && Math.ceil(e.items / 2) || e.items, 5820 s = e.center && -1 * i || 0, 5821 n = (t.property && void 0 !== t.property.value ? t.property.value : this._core.current()) + s, 5822 o = this._core.clones().length, 5823 r = a.proxy(function(t, e) { 5824 this.load(e) 5825 }, this); 5826 for (0 < e.lazyLoadEager && (i += e.lazyLoadEager, e.loop && (n -= e.lazyLoadEager, i++)); s++ < i;) this.load(o / 2 + this._core.relative(n)), o && a.each(this._core.clones(this._core.relative(n)), r), n++ 5827 } 5828 }, this) 5829 }, this._core.options = a.extend({}, e.Defaults, this._core.options), this._core.$element.on(this._handlers) 5830 }; 5831 e.Defaults = { 5832 lazyLoad: !1, 5833 lazyLoadEager: 0 5834 }, e.prototype.load = function(t) { 5835 var e = this._core.$stage.children().eq(t), 5836 i = e && e.find(".owl-lazy"); 5837 !i || -1 < a.inArray(e.get(0), this._loaded) || (i.each(a.proxy(function(t, e) { 5838 var i, s = a(e), 5839 n = 1 < o.devicePixelRatio && s.attr("data-src-retina") || s.attr("data-src") || s.attr("data-srcset"); 5840 this._core.trigger("load", { 5841 element: s, 5842 url: n 5843 }, "lazy"), s.is("img") ? s.one("load.owl.lazy", a.proxy(function() { 5844 s.css("opacity", 1), this._core.trigger("loaded", { 5845 element: s, 5846 url: n 5847 }, "lazy") 5848 }, this)).attr("src", n) : s.is("source") ? s.one("load.owl.lazy", a.proxy(function() { 5849 this._core.trigger("loaded", { 5850 element: s, 5851 url: n 5852 }, "lazy") 5853 }, this)).attr("srcset", n) : ((i = new Image).onload = a.proxy(function() { 5854 s.css({ 5855 "background-image": 'url("' + n + '")', 5856 opacity: "1" 5857 }), this._core.trigger("loaded", { 5858 element: s, 5859 url: n 5860 }, "lazy") 5861 }, this), i.src = n) 5862 }, this)), this._loaded.push(e.get(0))) 5863 }, e.prototype.destroy = function() { 5864 var t, e; 5865 for (t in this.handlers) this._core.$element.off(t, this.handlers[t]); 5866 for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null) 5867 }, a.fn.owlCarousel.Constructor.Plugins.Lazy = e 5868 }(window.Zepto || window.jQuery, window, document), 5869 function(r, i) { 5870 var s = function(t) { 5871 this._core = t, this._previousHeight = null, this._handlers = { 5872 "initialized.owl.carousel refreshed.owl.carousel": r.proxy(function(t) { 5873 t.namespace && this._core.settings.autoHeight && this.update() 5874 }, this), 5875 "changed.owl.carousel": r.proxy(function(t) { 5876 t.namespace && this._core.settings.autoHeight && "position" === t.property.name && this.update() 5877 }, this), 5878 "loaded.owl.lazy": r.proxy(function(t) { 5879 t.namespace && this._core.settings.autoHeight && t.element.closest("." + this._core.settings.itemClass).index() === this._core.current() && this.update() 5880 }, this) 5881 }, this._core.options = r.extend({}, s.Defaults, this._core.options), this._core.$element.on(this._handlers), this._intervalId = null; 5882 var e = this; 5883 r(i).on("load", function() { 5884 e._core.settings.autoHeight && e.update() 5885 }), r(i).resize(function() { 5886 e._core.settings.autoHeight && (null != e._intervalId && clearTimeout(e._intervalId), e._intervalId = setTimeout(function() { 5887 e.update() 5888 }, 250)) 5889 }) 5890 }; 5891 s.Defaults = { 5892 autoHeight: !1, 5893 autoHeightClass: "owl-height" 5894 }, s.prototype.update = function() { 5895 var t = this._core._current, 5896 e = t + this._core.settings.items, 5897 i = this._core.settings.lazyLoad, 5898 s = this._core.$stage.children().toArray().slice(t, e), 5899 n = [], 5900 o = 0; 5901 r.each(s, function(t, e) { 5902 n.push(r(e).height()) 5903 }), (o = Math.max.apply(null, n)) <= 1 && i && this._previousHeight && (o = this._previousHeight), this._previousHeight = o, this._core.$stage.parent().height(o).addClass(this._core.settings.autoHeightClass) 5904 }, s.prototype.destroy = function() { 5905 var t, e; 5906 for (t in this._handlers) this._core.$element.off(t, this._handlers[t]); 5907 for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null) 5908 }, r.fn.owlCarousel.Constructor.Plugins.AutoHeight = s 5909 }(window.Zepto || window.jQuery, window, document), 5910 function(c, e) { 5911 var i = function(t) { 5912 this._core = t, this._videos = {}, this._playing = null, this._handlers = { 5913 "initialized.owl.carousel": c.proxy(function(t) { 5914 t.namespace && this._core.register({ 5915 type: "state", 5916 name: "playing", 5917 tags: ["interacting"] 5918 }) 5919 }, this), 5920 "resize.owl.carousel": c.proxy(function(t) { 5921 t.namespace && this._core.settings.video && this.isInFullScreen() && t.preventDefault() 5922 }, this), 5923 "refreshed.owl.carousel": c.proxy(function(t) { 5924 t.namespace && this._core.is("resizing") && this._core.$stage.find(".cloned .owl-video-frame").remove() 5925 }, this), 5926 "changed.owl.carousel": c.proxy(function(t) { 5927 t.namespace && "position" === t.property.name && this._playing && this.stop() 5928 }, this), 5929 "prepared.owl.carousel": c.proxy(function(t) { 5930 if (t.namespace) { 5931 var e = c(t.content).find(".owl-video"); 5932 e.length && (e.css("display", "none"), this.fetch(e, c(t.content))) 5933 } 5934 }, this) 5935 }, this._core.options = c.extend({}, i.Defaults, this._core.options), this._core.$element.on(this._handlers), this._core.$element.on("click.owl.video", ".owl-video-play-icon", c.proxy(function(t) { 5936 this.play(t) 5937 }, this)) 5938 }; 5939 i.Defaults = { 5940 video: !1, 5941 videoHeight: !1, 5942 videoWidth: !1 5943 }, i.prototype.fetch = function(t, e) { 5944 var i = t.attr("data-vimeo-id") ? "vimeo" : t.attr("data-vzaar-id") ? "vzaar" : "youtube", 5945 s = t.attr("data-vimeo-id") || t.attr("data-youtube-id") || t.attr("data-vzaar-id"), 5946 n = t.attr("data-width") || this._core.settings.videoWidth, 5947 o = t.attr("data-height") || this._core.settings.videoHeight, 5948 r = t.attr("href"); 5949 if (!r) throw new Error("Missing video URL."); 5950 if (-1 < (s = r.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/))[3].indexOf("youtu")) i = "youtube"; 5951 else if (-1 < s[3].indexOf("vimeo")) i = "vimeo"; 5952 else { 5953 if (!(-1 < s[3].indexOf("vzaar"))) throw new Error("Video URL not supported."); 5954 i = "vzaar" 5955 } 5956 s = s[6], this._videos[r] = { 5957 type: i, 5958 id: s, 5959 width: n, 5960 height: o 5961 }, e.attr("data-video", r), this.thumbnail(t, this._videos[r]) 5962 }, i.prototype.thumbnail = function(e, t) { 5963 function i(t) { 5964 s = h.lazyLoad ? c("<div/>", { 5965 class: "owl-video-tn " + l, 5966 srcType: t 5967 }) : c("<div/>", { 5968 class: "owl-video-tn", 5969 style: "opacity:1;background-image:url(" + t + ")" 5970 }), e.after(s), e.after('<div class="owl-video-play-icon"></div>') 5971 }
vendor: 7,801 bytes, lines 5972-6089
5972 var s, n, o = t.width && t.height ? "width:" + t.width + "px;height:" + t.height + "px;" : "", 5973 r = e.find("img"), 5974 a = "src", 5975 l = "", 5976 h = this._core.settings; 5977 if (e.wrap(c("<div/>", { 5978 class: "owl-video-wrapper", 5979 style: o 5980 })), this._core.settings.lazyLoad && (a = "data-src", l = "owl-lazy"), r.length) return i(r.attr(a)), r.remove(), !1; 5981 "youtube" === t.type ? (n = "//img.youtube.com/vi/" + t.id + "/hqdefault.jpg", i(n)) : "vimeo" === t.type ? c.ajax({ 5982 type: "GET", 5983 url: "//vimeo.com/api/v2/video/" + t.id + ".json", 5984 jsonp: "callback", 5985 dataType: "jsonp", 5986 success: function(t) { 5987 n = t[0].thumbnail_large, i(n) 5988 } 5989 }) : "vzaar" === t.type && c.ajax({ 5990 type: "GET", 5991 url: "//vzaar.com/api/videos/" + t.id + ".json", 5992 jsonp: "callback", 5993 dataType: "jsonp", 5994 success: function(t) { 5995 n = t.framegrab_url, i(n) 5996 } 5997 }) 5998 }, i.prototype.stop = function() { 5999 this._core.trigger("stop", null, "video"), this._playing.find(".owl-video-frame").remove(), this._playing.removeClass("owl-video-playing"), this._playing = null, this._core.leave("playing"), this._core.trigger("stopped", null, "video") 6000 }, i.prototype.play = function(t) { 6001 var e, i = c(t.target).closest("." + this._core.settings.itemClass), 6002 s = this._videos[i.attr("data-video")], 6003 n = s.width || "100%", 6004 o = s.height || this._core.$stage.height(); 6005 this._playing || (this._core.enter("playing"), this._core.trigger("play", null, "video"), i = this._core.items(this._core.relative(i.index())), this._core.reset(i.index()), (e = c('<iframe frameborder="0" allowfullscreen mozallowfullscreen webkitAllowFullScreen ></iframe>')).attr("height", o), e.attr("width", n), "youtube" === s.type ? e.attr("src", "//www.youtube.com/embed/" + s.id + "?autoplay=1&rel=0&v=" + s.id) : "vimeo" === s.type ? e.attr("src", "//player.vimeo.com/video/" + s.id + "?autoplay=1") : "vzaar" === s.type && e.attr("src", "//view.vzaar.com/" + s.id + "/player?autoplay=true"), c(e).wrap('<div class="owl-video-frame" />').insertAfter(i.find(".owl-video")), this._playing = i.addClass("owl-video-playing")) 6006 }, i.prototype.isInFullScreen = function() { 6007 var t = e.fullscreenElement || e.mozFullScreenElement || e.webkitFullscreenElement; 6008 return t && c(t).parent().hasClass("owl-video-frame") 6009 }, i.prototype.destroy = function() { 6010 var t, e; 6011 for (t in this._core.$element.off("click.owl.video"), this._handlers) this._core.$element.off(t, this._handlers[t]); 6012 for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null) 6013 }, c.fn.owlCarousel.Constructor.Plugins.Video = i 6014 }(window.Zepto || window.jQuery, (window, document)), 6015 function(r) { 6016 var e = function(t) { 6017 this.core = t, this.core.options = r.extend({}, e.Defaults, this.core.options), this.swapping = !0, this.previous = void 0, this.next = void 0, this.handlers = { 6018 "change.owl.carousel": r.proxy(function(t) { 6019 t.namespace && "position" == t.property.name && (this.previous = this.core.current(), this.next = t.property.value) 6020 }, this), 6021 "drag.owl.carousel dragged.owl.carousel translated.owl.carousel": r.proxy(function(t) { 6022 t.namespace && (this.swapping = "translated" == t.type) 6023 }, this), 6024 "translate.owl.carousel": r.proxy(function(t) { 6025 t.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn) && this.swap() 6026 }, this) 6027 }, this.core.$element.on(this.handlers) 6028 }; 6029 e.Defaults = { 6030 animateOut: !1, 6031 animateIn: !1 6032 }, e.prototype.swap = function() { 6033 if (1 === this.core.settings.items && r.support.animation && r.support.transition) { 6034 this.core.speed(0); 6035 var t, e = r.proxy(this.clear, this), 6036 i = this.core.$stage.children().eq(this.previous), 6037 s = this.core.$stage.children().eq(this.next), 6038 n = this.core.settings.animateIn, 6039 o = this.core.settings.animateOut; 6040 this.core.current() !== this.previous && (o && (t = this.core.coordinates(this.previous) - this.core.coordinates(this.next), i.one(r.support.animation.end, e).css({ 6041 left: t + "px" 6042 }).addClass("animated owl-animated-out").addClass(o)), n && s.one(r.support.animation.end, e).addClass("animated owl-animated-in").addClass(n)) 6043 } 6044 }, e.prototype.clear = function(t) { 6045 r(t.target).css({ 6046 left: "" 6047 }).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut), this.core.onTransitionEnd() 6048 }, e.prototype.destroy = function() { 6049 var t, e; 6050 for (t in this.handlers) this.core.$element.off(t, this.handlers[t]); 6051 for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null) 6052 }, r.fn.owlCarousel.Constructor.Plugins.Animate = e 6053 }(window.Zepto || window.jQuery, (window, document)), 6054 function(s, n, e) { 6055 var i = function(t) { 6056 this._core = t, this._call = null, this._time = 0, this._timeout = 0, this._paused = !0, this._handlers = { 6057 "changed.owl.carousel": s.proxy(function(t) { 6058 t.namespace && "settings" === t.property.name ? this._core.settings.autoplay ? this.play() : this.stop() : t.namespace && "position" === t.property.name && this._paused && (this._time = 0) 6059 }, this), 6060 "initialized.owl.carousel": s.proxy(function(t) { 6061 t.namespace && this._core.settings.autoplay && this.play() 6062 }, this), 6063 "play.owl.autoplay": s.proxy(function(t, e, i) { 6064 t.namespace && this.play(e, i) 6065 }, this), 6066 "stop.owl.autoplay": s.proxy(function(t) { 6067 t.namespace && this.stop() 6068 }, this), 6069 "mouseover.owl.autoplay": s.proxy(function() { 6070 this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.pause() 6071 }, this), 6072 "mouseleave.owl.autoplay": s.proxy(function() { 6073 this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.play() 6074 }, this), 6075 "touchstart.owl.core": s.proxy(function() { 6076 this._core.settings.autoplayHoverPause && this._core.is("rotating") && this.pause() 6077 }, this), 6078 "touchend.owl.core": s.proxy(function() { 6079 this._core.settings.autoplayHoverPause && this.play() 6080 }, this) 6081 }, this._core.$element.on(this._handlers), this._core.options = s.extend({}, i.Defaults, this._core.options) 6082 }; 6083 i.Defaults = { 6084 autoplay: !1, 6085 autoplayTimeout: 5e3, 6086 autoplayHoverPause: !1, 6087 autoplaySpeed: !1 6088 }, i.prototype._next = function(t) { 6089 this._call = n.setTimeout(s.proxy(this._next, this, t), this._timeout * (Math.round(this.read() / this._timeout) + 1)
vendor: 8,730 bytes, lines 6089-6202
6089- this.read()), this._core.is("interacting") || e.hidden || this._core.next(t || this._core.settings.autoplaySpeed) 6090 }, i.prototype.read = function() { 6091 return (new Date).getTime() - this._time 6092 }, i.prototype.play = function(t, e) { 6093 var i; 6094 this._core.is("rotating") || this._core.enter("rotating"), t = t || this._core.settings.autoplayTimeout, i = Math.min(this._time % (this._timeout || t), t), this._paused ? (this._time = this.read(), this._paused = !1) : n.clearTimeout(this._call), this._time += this.read() % t - i, this._timeout = t, this._call = n.setTimeout(s.proxy(this._next, this, e), t - i) 6095 }, i.prototype.stop = function() { 6096 this._core.is("rotating") && (this._time = 0, this._paused = !0, n.clearTimeout(this._call), this._core.leave("rotating")) 6097 }, i.prototype.pause = function() { 6098 this._core.is("rotating") && !this._paused && (this._time = this.read(), this._paused = !0, n.clearTimeout(this._call)) 6099 }, i.prototype.destroy = function() { 6100 var t, e; 6101 for (t in this.stop(), this._handlers) this._core.$element.off(t, this._handlers[t]); 6102 for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null) 6103 }, s.fn.owlCarousel.Constructor.Plugins.autoplay = i 6104 }(window.Zepto || window.jQuery, window, document), 6105 function(o) { 6106 "use strict"; 6107 var e = function(t) { 6108 this._core = t, this._initialized = !1, this._pages = [], this._controls = {}, this._templates = [], this.$element = this._core.$element, this._overrides = { 6109 next: this._core.next, 6110 prev: this._core.prev, 6111 to: this._core.to 6112 }, this._handlers = { 6113 "prepared.owl.carousel": o.proxy(function(t) { 6114 t.namespace && this._core.settings.dotsData && this._templates.push('<div class="' + this._core.settings.dotClass + '">' + o(t.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot") + "</div>") 6115 }, this), 6116 "added.owl.carousel": o.proxy(function(t) { 6117 t.namespace && this._core.settings.dotsData && this._templates.splice(t.position, 0, this._templates.pop()) 6118 }, this), 6119 "remove.owl.carousel": o.proxy(function(t) { 6120 t.namespace && this._core.settings.dotsData && this._templates.splice(t.position, 1) 6121 }, this), 6122 "changed.owl.carousel": o.proxy(function(t) { 6123 t.namespace && "position" == t.property.name && this.draw() 6124 }, this), 6125 "initialized.owl.carousel": o.proxy(function(t) { 6126 t.namespace && !this._initialized && (this._core.trigger("initialize", null, "navigation"), this.initialize(), this.update(), this.draw(), this._initialized = !0, this._core.trigger("initialized", null, "navigation")) 6127 }, this), 6128 "refreshed.owl.carousel": o.proxy(function(t) { 6129 t.namespace && this._initialized && (this._core.trigger("refresh", null, "navigation"), this.update(), this.draw(), this._core.trigger("refreshed", null, "navigation")) 6130 }, this) 6131 }, this._core.options = o.extend({}, e.Defaults, this._core.options), this.$element.on(this._handlers) 6132 }; 6133 e.Defaults = { 6134 nav: !1, 6135 navText: ['<span aria-label="Previous">‹</span>', '<span aria-label="Next">›</span>'], 6136 navSpeed: !1, 6137 navElement: 'button type="button" role="presentation"', 6138 navContainer: !1, 6139 navContainerClass: "owl-nav", 6140 navClass: ["owl-prev", "owl-next"], 6141 slideBy: 1, 6142 dotClass: "owl-dot", 6143 dotsClass: "owl-dots", 6144 dots: !0, 6145 dotsEach: !1, 6146 dotsData: !1, 6147 dotsSpeed: !1, 6148 dotsContainer: !1 6149 }, e.prototype.initialize = function() { 6150 var t, i = this._core.settings; 6151 for (t in this._controls.$relative = (i.navContainer ? o(i.navContainer) : o("<div>").addClass(i.navContainerClass).appendTo(this.$element)).addClass("disabled"), this._controls.$previous = o("<" + i.navElement + ">").addClass(i.navClass[0]).html(i.navText[0]).prependTo(this._controls.$relative).on("click", o.proxy(function(t) { 6152 this.prev(i.navSpeed) 6153 }, this)), this._controls.$next = o("<" + i.navElement + ">").addClass(i.navClass[1]).html(i.navText[1]).appendTo(this._controls.$relative).on("click", o.proxy(function(t) { 6154 this.next(i.navSpeed) 6155 }, this)), i.dotsData || (this._templates = [o('<button role="button">').addClass(i.dotClass).append(o("<span>")).prop("outerHTML")]), this._controls.$absolute = (i.dotsContainer ? o(i.dotsContainer) : o("<div>").addClass(i.dotsClass).appendTo(this.$element)).addClass("disabled"), this._controls.$absolute.on("click", "button", o.proxy(function(t) { 6156 var e = o(t.target).parent().is(this._controls.$absolute) ? o(t.target).index() : o(t.target).parent().index(); 6157 t.preventDefault(), this.to(e, i.dotsSpeed) 6158 }, this)), this._overrides) this._core[t] = o.proxy(this[t], this) 6159 }, e.prototype.destroy = function() { 6160 var t, e, i, s, n; 6161 for (t in n = this._core.settings, this._handlers) this.$element.off(t, this._handlers[t]); 6162 for (e in this._controls) "$relative" === e && n.navContainer ? this._controls[e].html("") : this._controls[e].remove(); 6163 for (s in this.overides) this._core[s] = this._overrides[s]; 6164 for (i in Object.getOwnPropertyNames(this)) "function" != typeof this[i] && (this[i] = null) 6165 }, e.prototype.update = function() { 6166 var t, e, i = this._core.clones().length / 2, 6167 s = i + this._core.items().length, 6168 n = this._core.maximum(!0), 6169 o = this._core.settings, 6170 r = o.center || o.autoWidth || o.dotsData ? 1 : o.dotsEach || o.items; 6171 if ("page" !== o.slideBy && (o.slideBy = Math.min(o.slideBy, o.items)), o.dots || "page" == o.slideBy) 6172 for (this._pages = [], t = i, e = 0; t < s; t++) { 6173 if (r <= e || 0 === e) { 6174 if (this._pages.push({ 6175 start: Math.min(n, t - i), 6176 end: t - i + r - 1 6177 }), Math.min(n, t - i) === n) break; 6178 e = 0, 0 6179 } 6180 e += this._core.mergers(this._core.relative(t)) 6181 } 6182 }, e.prototype.draw = function() { 6183 var t, e = this._core.settings, 6184 i = this._core.items().length <= e.items, 6185 s = this._core.relative(this._core.current()), 6186 n = e.loop || e.rewind; 6187 this._controls.$relative.toggleClass("disabled", !e.nav || i), e.nav && (this._controls.$previous.toggleClass("disabled", !n && s <= this._core.minimum(!0)), this._controls.$next.toggleClass("disabled", !n && s >= this._core.maximum(!0))), this._controls.$absolute.toggleClass("disabled", !e.dots || i), e.dots && (t = this._pages.length - this._controls.$absolute.children().length, e.dotsData && 0 != t ? this._controls.$absolute.html(this._templates.join("")) : 0 < t ? this._controls.$absolute.append(new Array(1 + t).join(this._templates[0])) : t < 0 && this._controls.$absolute.children().slice(t).remove(), this._controls.$absolute.find(".active").removeClass("active"), this._controls.$absolute.children().eq(o.inArray(this.current(), this._pages)).addClass("active")) 6188 }, e.prototype.onTrigger = function(t) { 6189 var e = this._core.settings; 6190 t.page = { 6191 index: o.inArray(this.current(), this._pages), 6192 count: this._pages.length, 6193 size: e && (e.center || e.autoWidth || e.dotsData ? 1 : e.dotsEach || e.items) 6194 } 6195 }, e.prototype.current = function() { 6196 var i = this._core.relative(this._core.current()); 6197 return o.grep(this._pages, o.proxy(function(t, e) { 6198 return t.start <= i && t.end >= i 6199 }, this)).pop() 6200 }, e.prototype.getPosition = function(t) { 6201 var e, i, s = this._core.settings; 6202 return "page" == s.slideBy ? (e = o.inArray(this.current(), this._pages), i = this._pages.length, t ? ++e : --e, e = this._pages[(e % i + i) % i].start) : (e = this._core.relative(this._core.current()), i = this._core.items().length, t ? e
6202+= s.slideBy : e -= s.slideBy), e 6203 }, e.prototype.next = function(t) { 6204 o.proxy(this._overrides.to, this._core)(this.getPosition(!0), t) 6205 }, e.prototype.prev = function(t) { 6206 o.proxy(this._overrides.to, this._core)(this.getPosition(!1), t) 6207 }, e.prototype.to = function(t, e, i) { 6208 var s; 6209 !i && this._pages.length ? (s = this._pages.length, o.proxy(this._overrides.to, this._core)(this._pages[(t % s + s) % s].start, e)) : o.proxy(this._overrides.to, this._core)(t, e) 6210 }, o.fn.owlCarousel.Constructor.Plugins.Navigation = e 6211 }(window.Zepto || window.jQuery, (window, document)), 6212 function(s, n) { 6213 "use strict"; 6214 var e = function(t) { 6215 this._core = t, this._hashes = {}, this.$element = this._core.$element, this._handlers = { 6216 "initialized.owl.carousel": s.proxy(function(t) { 6217 t.namespace && "URLHash" === this._core.settings.startPosition && s(n).trigger("hashchange.owl.navigation") 6218 }, this), 6219 "prepared.owl.carousel": s.proxy(function(t) { 6220 if (t.namespace) { 6221 var e = s(t.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash"); 6222 if (!e) return; 6223 this._hashes[e] = t.content 6224 } 6225 }, this), 6226 "changed.owl.carousel": s.proxy(function(t) { 6227 if (t.namespace && "position" === t.property.name) { 6228 var i = this._core.items(this._core.relative(this._core.current())), 6229 e = s.map(this._hashes, function(t, e) { 6230 return t === i ? e : null 6231 }).join(); 6232 if (!e || n.location.hash.slice(1) === e) return; 6233 n.location.hash = e 6234 } 6235 }, this) 6236 }, this._core.options = s.extend({}, e.Defaults, this._core.options), this.$element.on(this._handlers), s(n).on("hashchange.owl.navigation", s.proxy(function(t) { 6237 var e = n.location.hash.substring(1), 6238 i = this._core.$stage.children(), 6239 s = this._hashes[e] && i.index(this._hashes[e]); 6240 void 0 !== s && s !== this._core.current() && this._core.to(this._core.relative(s), !1, !0) 6241 }, this)) 6242 }; 6243 e.Defaults = { 6244 URLhashListener: !1 6245 }, e.prototype.destroy = function() { 6246 var t, e; 6247 for (t in s(n).off("hashchange.owl.navigation"), this._handlers) this._core.$element.off(t, this._handlers[t]); 6248 for (e in Object.getOwnPropertyNames(this)) "function" != typeof this[e] && (this[e] = null) 6249 }, s.fn.owlCarousel.Constructor.Plugins.Hash = e 6250 }(window.Zepto || window.jQuery, window, document), 6251 function(n, o) { 6252 var r = n("<support>").get(0).style, 6253 a = "Webkit Moz O ms".split(" "), 6254 t = { 6255 transition: { 6256 end: { 6257 WebkitTransition: "webkitTransitionEnd", 6258 MozTransition: "transitionend", 6259 OTransition: "oTransitionEnd", 6260 transition: "transitionend" 6261 } 6262 }, 6263 animation: { 6264 end: { 6265 WebkitAnimation: "webkitAnimationEnd", 6266 MozAnimation: "animationend", 6267 OAnimation: "oAnimationEnd", 6268 animation: "animationend" 6269 } 6270 } 6271 }, 6272 e = function() { 6273 return !!l("transform") 6274 }, 6275 i = function() { 6276 return !!l("perspective") 6277 }, 6278 s = function() { 6279 return !!l("animation") 6280 }; 6281 6282 function l(t, i) { 6283 var s = !1, 6284 e = t.charAt(0).toUpperCase() + t.slice(1); 6285 return n.each((t + " " + a.join(e + " ") + e).split(" "), function(t, e) { 6286 if (r[e] !== o) return s = !i || e, !1 6287 }), s 6288 } 6289 6290 function h(t) { 6291 return l(t, !0) 6292 }! function() { 6293 return !!l("transition") 6294 }() || (n.support.transition = new String(h("transition")), n.support.transition.end = t.transition.end[n.support.transition]), s() && (n.support.animation = new String(h("animation")), n.support.animation.end = t.animation.end[n.support.animation]), e() && (n.support.transform = new String(h("transform")), n.support.transform3d = i()) 6295 }(window.Zepto || window.jQuery, (window, void document)), 6296 function(t) { 6297 "function" == typeof define && define.amd ? define(["jquery"], t) : "object" == typeof exports ? t(require("jquery")) : t(jQuery) 6298 }(function(o, s) { 6299 var i = "plugin_hideShowPassword", 6300 n = ["show", "innerToggle"], 6301 e = { 6302 show: "infer", 6303 innerToggle: !1, 6304 enable: function() { 6305 var t = document.body, 6306 e = document.createElement("input"), 6307 i = !0; 6308 e = (t = t || document.createElement("body")).appendChild(e); 6309 try { 6310 e.setAttribute("type", "text") 6311 } catch (t) { 6312 i = !1 6313 } 6314 return t.removeChild(e), i 6315 }(), 6316 triggerOnToggle: !1, 6317 className: "hideShowPassword-field", 6318 initEvent: "hideShowPasswordInit", 6319 changeEvent: "passwordVisibilityChange", 6320 props: { 6321 autocapitalize: "off", 6322 autocomplete: "off", 6323 autocorrect: "off", 6324 spellcheck: "false" 6325 }, 6326 toggle: { 6327 element: '<button type="button">', 6328 className: "hideShowPassword-toggle", 6329 touchSupport: "undefined" != typeof Modernizr && Modernizr.touchevents, 6330 attachToEvent: "click.hideShowPassword", 6331 attachToTouchEvent: "touchstart.hideShowPassword mousedown.hideShowPassword", 6332 attachToKeyEvent: "keyup", 6333 attachToKeyCodes: !0, 6334 styles: { 6335 position: "absolute" 6336 }, 6337 touchStyles: { 6338 pointerEvents: "none" 6339 }, 6340 position: "infer", 6341 verticalAlign: "middle", 6342 offset: 0, 6343 attr: { 6344 role: "button", 6345 "aria-label": "Show Password", 6346 title: "Show Password", 6347 tabIndex: 0 6348 } 6349 }, 6350 wrapper: { 6351 element: "<div>", 6352 className: "hideShowPassword-wrapper", 6353 enforceWidth: !1, 6354 styles: { 6355 position: "relative" 6356 }, 6357 inheritStyles: ["display", "verticalAlign", "marginTop", "marginRight", "marginBottom", "marginLeft"], 6358 innerElementStyles: { 6359 marginTop: 0, 6360 marginRight: 0, 6361 marginBottom: 0, 6362 marginLeft: 0 6363 } 6364 }, 6365 states: { 6366 shown: { 6367 className: "hideShowPassword-shown", 6368 changeEvent: "passwordShown", 6369 props: { 6370 type: "text" 6371 }, 6372 toggle: { 6373 className: "hideShowPassword-toggle-hide", 6374 content: "Hide", 6375 attr: { 6376 "aria-pressed": "true", 6377 title: "Hide Password" 6378 } 6379 } 6380 }, 6381 hidden: { 6382 className: "hideShowPassword-hidden", 6383 changeEvent: "passwordHidden", 6384 props: { 6385 type: "password" 6386 }, 6387 toggle: { 6388 className: "hideShowPassword-toggle-show", 6389 content: "Show", 6390 attr: { 6391 "aria-pressed": "false", 6392 title: "Show Password" 6393 } 6394 } 6395 } 6396 } 6397 }; 6398 6399 function r(t, e) { 6400 this.element = o(t), this.wrapperElement = o(), this.toggleElement = o(), this.init(e) 6401 } 6402 r.prototype = { 6403 init: function(t) { 6404 this.update(t, e) && (this.element.addClass(this.options.className), this.options.innerToggle && (this.wrapElement(this.options.wrapper), this.initToggle(this.options.toggle), "string" == typeof this.options.innerToggle && (this.toggleElement.hide(), this.element.one(this.options.innerToggle, o.proxy(function() { 6405 this.toggleElement.show() 6406 }, this)))), this.element.trigger(this.options.initEvent, [this])) 6407 }, 6408 update: function(t, e) { 6409 return this.options = this.prepareOptions(t, e), this.updateElement() && this.element.trigger(this.options.changeEvent, [this]).trigger(this.state().changeEvent, [this]), this.options.enable 6410 }, 6411 toggle: function(t) { 6412 return t = t || "toggle", this.update({ 6413 show: t 6414 }) 6415 }, 6416 prepareOptions: function(t, e) { 6417 var i, s = t || {}, 6418 n = []; 6419 if (e = e || this.options, t = o.extend(!0, {}, e, t), s.hasOwnProperty("wrapper") && s.wrapper.hasOwnProperty("inheritStyles") && (t.wrapper.inheritStyles = s.wrapper.inheritStyles), t.enable && ("toggle" === t.show ? t.show = this.isType("hidden", t.states) : "infer" === t.show && (t.show = this.isType("shown", t.states)), "infer" === t.toggle.position && (t.toggle.position = "rtl" === this.element.css("text-direction") ? "left" : "right"), !o.isArray(t.toggle.attachToKeyCodes))) { 6420 if (!0 === t.toggle.attachToKeyCodes) switch ((i = o(t.toggle.element)).prop("tagName").toLowerCase()) { 6421 case "button": 6422 case "input": 6423 break; 6424 case "a": 6425 if (i.filter("[href]").length) { 6426 n.push(32); 6427 break 6428 } 6429 default: 6430 n.push(32, 13) 6431 } 6432 t.toggle.attachToKeyCodes = n 6433 } 6434 return t 6435 }, 6436 updateElement: function() { 6437 return !(!this.options.enable || this.isType()) && (this.element.prop(o.extend({}, this.options.props, this.state().props)).addClass(this.state().className).removeClass(this.otherState().className), this.options.triggerOnToggle && this.element.trigger(this.options.triggerOnToggle, [this]), this.updateToggle(), !0) 6438 }, 6439 isType: function(t, e) { 6440 return (e = e || this.options.states)[t = t || this.state(s, s, e).props.type] && (t = e[t].props.type), this.element.prop("type") === t 6441 }, 6442 state: function(t, e, i) { 6443 return i = i || this.options.states, t === s && (t = this.options.show), "boolean" == typeof t && (t = t ? "shown" : "hidden"), e && (t = "shown" === t ? "hidden" : "shown"), i[t] 6444 }, 6445 otherState: function(t) { 6446 return this.state(t, !0) 6447 }, 6448 wrapElement: function(i) { 6449 var t, e = i.enforceWidth; 6450 return this.wrapperElement.length || (t = this.element.outerWidth(), o.each(i.inheritStyles, o.proxy(function(t, e) { 6451 i.styles[e] = this.element.css(e) 6452 }, this)), this.element.css(i.innerElementStyles).wrap(o(i.element).addClass(i.className).css(i.styles)), this.wrapperElement = this.element.parent(), !0 === e && (e = this.wrapperElement.outerWidth() !== t && t), !1 !== e && this.wrapperElement.css("width", e)), this.wrapperElement 6453 }, 6454 initToggle: function(t) { 6455 return this.toggleElement.length || (this.toggleElement = o(t.element).attr(t.attr).addClass(t.className).css(t.styles).appendTo(this.wrapperElement), this.updateToggle(), this.positionToggle(t.position, t.verticalAlign, t.offset), t.touchSupport ? (this.toggleElement.css(t.touchStyles), this.element.on(t.attachToTouchEvent, o.proxy(this.toggleTouchEvent, this))) : this.toggleElement.on(t.attachToEvent, o.proxy(this.toggleEvent, this)), t.attachToKeyCodes.length && this.toggleElement.on(t.attachToKeyEvent, o.proxy(this.toggleKeyEvent, this))), this.toggleElement 6456 }, 6457 positionToggle: function(t, e, i) { 6458 var s = {}; 6459 switch (s[t] = i, e) { 6460 case "top": 6461 case "bottom": 6462 s[e] = i; 6463 break; 6464 case "middle": 6465 s.top = "50%", s.marginTop = this.toggleElement.outerHeight() / -2 6466 } 6467 return this.toggleElement.css(s) 6468 }, 6469 updateToggle: function(t, e) { 6470 var i, s; 6471 return this.toggleElement.length && (i = "padding-" + this.options.toggle.position, t = t || this.state().toggle, e = e || this.otherState().toggle, this.toggleElement.attr(t.attr).addClass(t.className).removeClass(e.className).html(t.content), s = this.toggleElement.outerWidth() + 2 * this.options.toggle.offset, this.element.css(i) !== s && this.element.css(i, s)), this.toggleElement 6472 }, 6473 toggleEvent: function(t) { 6474 t.preventDefault(), this.toggle() 6475 }, 6476 toggleKeyEvent: function(i) { 6477 o.each(this.options.toggle.attachToKeyCodes, o.proxy(function(t, e) { 6478 if (i.which === e) return this.toggleEvent(i), !1 6479 }, this)) 6480 }, 6481 toggleTouchEvent: function(t) { 6482 var e, i, s, n = this.toggleElement.offset().left; 6483 n && (e = t.pageX || t.originalEvent.pageX, s = "left" === this.options.toggle.position ? (i = e, n += this.toggleElement.outerWidth()) : (i = n, e), i <= s && this.toggleEvent(t)) 6484 } 6485 }, o.fn.hideShowPassword = function() { 6486 var s = {}; 6487 return o.each(arguments, function(t, e) { 6488 var i = {}; 6489 if ("object" == typeof e) i = e; 6490 else { 6491 if (!n[t]) return !1; 6492 i[n[t]] = e 6493 } 6494 o.extend(!0, s, i) 6495 }), this.each(function() { 6496 var t = o(this), 6497 e = t.data(i); 6498 e ? e.update(s) : t.data(i, new r(this, s)) 6499 }) 6500 }, o.each({ 6501 show: !0, 6502 hide: !1, 6503 toggle: "toggle" 6504 }, function(t, i) { 6505 o.fn[t + "Password"] = function(t, e) { 6506 return this.hideShowPassword(i, t, e) 6507 } 6508 }) 6509 }), 6510 function(T, E) { 6511 var f = T(window); 6512 6513 function D() { 6514 return new Date(Date.UTC.apply(Date, arguments)) 6515 } 6516 6517 function a() { 6518 var t = new Date; 6519 return D(t.getFullYear(), t.getMonth(), t.getDate()) 6520 } 6521 6522 function t(t) { 6523 return function() { 6524 return this[t].apply(this, arguments) 6525 } 6526 } 6527 6528 function v(t, e) { 6529 this.dates = new i, this.viewDate = a(), this.focus
6529Date = null, this._process_options(e), this.element = T(t), this.isInline = !1, this.isInput = this.element.is("input"), this.component = !!this.element.is(".date") && this.element.find(".add-on, .input-group-addon, .btn"), this.hasInput = this.component && this.element.find("input").length, this.component && 0 === this.component.length && (this.component = !1), this.picker = T(M.template), this._buildEvents(), this._attachEvents(), this.isInline ? this.picker.addClass("datepicker-inline").appendTo(this.element) : this.picker.addClass("datepicker-dropdown dropdown-menu"), this.o.rtl && this.picker.addClass("datepicker-rtl"), this.viewMode = this.o.startView, this.o.calendarWeeks && this.picker.find("tfoot th.today").attr("colspan", function(t, e) { 6530 return parseInt(e) + 1 6531 }), this._allow_update = !1, this.setStartDate(this._o.startDate), this.setEndDate(this._o.endDate), this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled), this.fillDow(), this.fillMonths(), this._allow_update = !0, this.update(), this.showMode(), this.isInline && this.show() 6532 } 6533 var e, i = (e = { 6534 get: function(t) { 6535 return this.slice(t)[0] 6536 }, 6537 contains: function(t) { 6538 for (var e = t && t.valueOf(), i = 0, s = this.length; i < s; i++) 6539 if (this[i].valueOf() === e) return i; 6540 return -1 6541 }, 6542 remove: function(t) { 6543 this.splice(t, 1) 6544 }, 6545 replace: function(t) { 6546 t && (T.isArray(t) || (t = [t]), this.clear(), this.push.apply(this, t)) 6547 }, 6548 clear: function() { 6549 this.length = 0 6550 }, 6551 copy: function() { 6552 var t = new i; 6553 return t.replace(this), t 6554 } 6555 }, function() { 6556 var t = []; 6557 return t.push.apply(t, arguments), T.extend(t, e), t 6558 }); 6559 v.prototype = { 6560 constructor: v, 6561 _process_options: function(t) { 6562 this._o = T.extend({}, this._o, t); 6563 var e = this.o = T.extend({}, this._o), 6564 i = e.language; 6565 switch (S[i] || (i = i.split("-")[0], S[i] || (i = d.language)), e.language = i, e.startView) { 6566 case 2: 6567 case "decade": 6568 e.startView = 2; 6569 break; 6570 case 1: 6571 case "year": 6572 e.startView = 1; 6573 break; 6574 default: 6575 e.startView = 0 6576 } 6577 switch (e.minViewMode) { 6578 case 1: 6579 case "months": 6580 e.minViewMode = 1; 6581 break; 6582 case 2: 6583 case "years": 6584 e.minViewMode = 2; 6585 break; 6586 default: 6587 e.minViewMode = 0 6588 } 6589 e.startView = Math.max(e.startView, e.minViewMode), !0 !== e.multidate && (e.multidate = Number(e.multidate) || !1, !1 !== e.multidate ? e.multidate = Math.max(0, e.multidate) : e.multidate = 1), e.multidateSeparator = String(e.multidateSeparator), e.weekStart %= 7, e.weekEnd = (e.weekStart + 6) % 7; 6590 var s = M.parseFormat(e.format); 6591 e.startDate !== -1 / 0 && (e.startDate ? e.startDate instanceof Date ? e.startDate = this._local_to_utc(this._zero_time(e.startDate)) : e.startDate = M.parseDate(e.startDate, s, e.language) : e.startDate = -1 / 0), e.endDate !== 1 / 0 && (e.endDate ? e.endDate instanceof Date ? e.endDate = this._local_to_utc(this._zero_time(e.endDate)) : e.endDate = M.parseDate(e.endDate, s, e.language) : e.endDate = 1 / 0), e.daysOfWeekDisabled = e.daysOfWeekDisabled || [], T.isArray(e.daysOfWeekDisabled) || (e.daysOfWeekDisabled = e.daysOfWeekDisabled.split(/[,\s]*/)), e.daysOfWeekDisabled = T.map(e.daysOfWeekDisabled, function(t) { 6592 return parseInt(t, 10) 6593 }); 6594 var n = String(e.orientation).toLowerCase().split(/\s+/g), 6595 o = e.orientation.toLowerCase(); 6596 if (n = T.grep(n, function(t) { 6597 return /^auto|left|right|top|bottom$/.test(t) 6598 }), e.orientation = { 6599 x: "auto", 6600 y: "auto" 6601 }, o && "auto" !== o) 6602 if (1 === n.length) switch (n[0]) { 6603 case "top": 6604 case "bottom": 6605 e.orientation.y = n[0]; 6606 break;
6607 case "left": 6608 case "right": 6609 e.orientation.x = n[0] 6610 } else o = T.grep(n, function(t) { 6611 return /^left|right$/.test(t) 6612 }), e.orientation.x = o[0] || "auto", o = T.grep(n, function(t) { 6613 return /^top|bottom$/.test(t) 6614 }), e.orientation.y = o[0] || "auto"; 6615 else; 6616 }, 6617 _events: [], 6618 _secondaryEvents: [], 6619 _applyEvents: function(t) { 6620 for (var e, i, s, n = 0; n < t.length; n++) e = t[n][0], 2 === t[n].length ? (i = E, s = t[n][1]) : 3 === t[n].length && (i = t[n][1], s = t[n][2]), e.on(s, i) 6621 }, 6622 _unapplyEvents: function(t) { 6623 for (var e, i, s, n = 0; n < t.length; n++) e = t[n][0], 2 === t[n].length ? (s = E, i = t[n][1]) : 3 === t[n].length && (s = t[n][1], i = t[n][2]), e.off(i, s) 6624 }, 6625 _buildEvents: function() { 6626 this.isInput ? this._events = [ 6627 [this.element, { 6628 focus: T.proxy(this.show, this), 6629 keyup: T.proxy(function(t) { 6630 -1 === T.inArray(t.keyCode, [27, 37, 39, 38, 40, 32, 13, 9]) && this.update() 6631 }, this), 6632 keydown: T.proxy(this.keydown, this) 6633 }] 6634 ] : this.component && this.hasInput ? this._events = [ 6635 [this.element.find("input"), { 6636 focus: T.proxy(this.show, this), 6637 keyup: T.proxy(function(t) { 6638 -1 === T.inArray(t.keyCode, [27, 37, 39, 38, 40, 32, 13, 9]) && this.update() 6639 }, this), 6640 keydown: T.proxy(this.keydown, this) 6641 }], 6642 [this.component, { 6643 click: T.proxy(this.show, this) 6644 }] 6645 ] : this.element.is("div") ? this.isInline = !0 : this._events = [ 6646 [this.element, { 6647 click: T.proxy(this.show, this) 6648 }] 6649 ], this._events.push([this.element, "*", { 6650 blur: T.proxy(function(t) { 6651 this._focused_from = t.target 6652 }, this) 6653 }], [this.element, { 6654 blur: T.proxy(function(t) { 6655 this._focused_from = t.target 6656 }, this) 6657 }]), this._secondaryEvents = [ 6658 [this.picker, { 6659 click: T.proxy(this.click, this) 6660 }], 6661 [T(window), { 6662 resize: T.proxy(this.place, this) 6663 }], 6664 [T(document), { 6665 "mousedown touchstart": T.proxy(function(t) { 6666 this.element.is(t.target) || this.element.find(t.target).length || this.picker.is(t.target) || this.picker.find(t.target).length || this.hide() 6667 }, this) 6668 }] 6669 ] 6670 }, 6671 _attachEvents: function() { 6672 this._detachEvents(), this._applyEvents(this._events) 6673 }, 6674 _detachEvents: function() { 6675 this._unapplyEvents(this._events) 6676 }, 6677 _attachSecondaryEvents: function() { 6678 this._detachSecondaryEvents(), this._applyEvents(this._secondaryEvents) 6679 }, 6680 _detachSecondaryEvents: function() { 6681 this._unapplyEvents(this._secondaryEvents) 6682 }, 6683 _trigger: function(t, e) { 6684 var i = e || this.dates.get(-1), 6685 s = this._utc_to_local(i); 6686 this.element.trigger({ 6687 type: t, 6688 date: s, 6689 dates: T.map(this.dates, this._utc_to_local), 6690 format: T.proxy(function(t, e) { 6691 0 === arguments.length ? (t = this.dates.length - 1, e = this.o.format) : "string" == typeof t && (e = t, t = this.dates.length - 1), e = e || this.o.format; 6692 var i = this.dates.get(t); 6693 return M.formatDate(i, e, this.o.language) 6694 }, this) 6695 }) 6696 }, 6697 show: function() { 6698 this.isInline || this.picker.appendTo("body"), this.picker.show(), this.place(), this._attachSecondaryEvents(), this._trigger("show") 6699 }, 6700 hide: function() { 6701 this.isInline || this.picker.is(":visible") && (this.focusDate = null, this.picker.hide().detach(), this._detachSecondaryEvents(), this.viewMode = this.o.startView, this.showMode(), this.o.forceParse && (this.isInput && this.element.val() || this.hasInput && this.element.find("input").val()) && this.setValue(), this._trigger("hide")) 6702 }, 6703 remove: function() { 6704 this.hide(), this._detachEvents(), this._detachSecondaryEvents(), this.picker.remove(), delete this.element.data().datepicker, this.isInput || delete this.element.data().date 6705 }, 6706 _utc_to_local: function(t) { 6707 return t && new Date(t.getTime() + 6e4 * t.getTimezoneOffset()) 6708 }, 6709 _local_to_utc: function(t) { 6710 return t && new Date(t.getTime() - 6e4 * t.getTimezoneOffset()) 6711 }, 6712 _zero_time: function(t) { 6713 return t && new Date(t.getFullYear(), t.getMonth(), t.getDate()) 6714 }, 6715 _zero_utc_time: function(t) { 6716 return t && new Date(Date.UTC(t.getUTCFullYear(), t.getUTCMonth(), t.getUTCDate())) 6717 }, 6718 getDates: function() { 6719 return T.map(this.dates, this._utc_to_local) 6720 }, 6721 getUTCDates: function() { 6722 return T.map(this.dates, function(t) { 6723 return new Date(t) 6724 }) 6725 }, 6726 getDate: function() { 6727 return this._utc_to_local(this.getUTCDate()) 6728 }, 6729 getUTCDate: function() { 6730 return new Date(this.dates.get(-1)) 6731 }, 6732 setDates: function() { 6733 var t = T.isArray(arguments[0]) ? arguments[0] : arguments; 6734 this.update.apply(this, t), this._trigger("changeDate"), this.setValue() 6735 }, 6736 setUTCDates: function() { 6737 var t = T.isArray(arguments[0]) ? arguments[0] : arguments; 6738 this.update.apply(this, T.map(t, this._utc_to_local)), this._trigger("changeDate"), this.setValue() 6739 }, 6740 setDate: t("setDates"), 6741 setUTCDate: t("setUTCDates"), 6742 setValue: function() { 6743 var t = this.getFormattedDate(); 6744 this.isInput ? this.element.val(t).change() : this.component && this.element.find("input").val(t).change() 6745 }, 6746 getFormattedDate: function(e) { 6747 e === E && (e = this.o.format); 6748 var i = this.o.language; 6749 return T.map(this.dates, function(t) { 6750 return M.formatDate(t, e, i) 6751 }).join(this.o.multidateSeparator) 6752 }, 6753 setStartDate: function(t) { 6754 this._process_options({ 6755 startDate: t 6756 }), this.update(), this.updateNavArrows() 6757 }, 6758 setEndDate: function(t) { 6759 this._process_options({ 6760 endDate: t 6761 }), this.update(), this.updateNavArrows() 6762 }, 6763 setDaysOfWeekDisabled: function(t) { 6764 this._process_options({ 6765 daysOfWeekDisabled: t 6766 }), this.update(), this.updateNavArrows() 6767 }, 6768 place: function() { 6769 if (!this.isInline) { 6770 var t = this.picker.outerWidth(), 6771 e = this.picker.outerHeight(), 6772 i = f.width(), 6773 s = f.height(), 6774 n = f.scrollTop(), 6775 o = parseInt(this.element.parents().filter(function() { 6776 return "auto" !== T(this).css("z-index") 6777 }).first().css("z-index")) + 9999, 6778 r = this.component ? this.component.parent().offset() : this.element.offset(), 6779 a = this.component ? this.component.outerHeight(!0) : this.element.outerHeight(!1), 6780 l = this.component ? this.component.outerWidth(!0) : this.element.outerWidth(!1), 6781 h = r.left, 6782 c = r.top; 6783 this.picker.removeClass("datepicker-orient-top datepicker-orient-bottom datepicker-orient-right datepicker-orient-left"), "auto" !== this.o.orientation.x ? (this.picker.addClass("datepicker-orient-" + this.o.orientation.x), "right" === this.o.orientation.x && (h -= t - l)) : (this.picker.addClass("datepicker-orient-left"), r.left < 0 ? h -= r.left - 10 : r.left + t > i && (h = i - t - 10)); 6784 var d, u, p = this.o.orientation.y; 6785 "auto" === p && (d = -n + r.top - e, u = n + s - (r.top + a + e), p = Math.max(d, u) === u ? "top" : "bottom"), this.picker.addClass("datepicker-orient-" + p), "top" === p ? c += a : c -= e + parseInt(this.picker.css("padding-top")), this.picker.css({ 6786 top: c, 6787 left: h, 6788 zIndex: o 6789 }) 6790 } 6791 }, 6792 _allow_update: !0, 6793 update: function() { 6794 if (this._allow_update) { 6795 var t = this.dates.copy(), 6796 i = [], 6797 e = !1; 6798 arguments.length ? (T.each(arguments, T.proxy(function(t, e) { 6799 e instanceof Date && (e = this._local_to_utc(e)), i.push(e) 6800 }, this)), e = !0) : (i = (i = this.isInput ? this.element.val() : this.element.data("date") || this.element.find("input").val()) && this.o.multidate ? i.split(this.o.multidateSeparator) : [i], delete this.element.data().date), i = T.map(i, T.proxy(function(t) { 6801 return M.parseDate(t, this.o.format, this.o.language) 6802 }, this)), i = T.grep(i, T.proxy(function(t) { 6803 return t < this.o.startDate || t > this.o.endDate || !t 6804 }, this), !0), this.dates.replace(i), this.dates.length ? this.viewDate = new Date(this.dates.get(-1)) : this.viewDate < this.o.startDate ? this.viewDate = new Date(this.o.startDate) : this.viewDate > this.o.endDate && (this.viewDate = new Date(this.o.endDate)), e ? this.setValue() : i.length && String(t) !== String(this.dates) && this._trigger("changeDate"), !this.dates.length && t.length && this._trigger("clearDate"), this.fill() 6805 } 6806 }, 6807 fillDow: function() { 6808 var t = this.o.weekStart, 6809 e = "<tr>"; 6810 if (this.o.calendarWeeks) { 6811 var i = '<th class="cw"> </th>'; 6812 e += i, this.picker.find(".datepicker-days thead tr:first-child").prepend(i) 6813 } 6814 for (; t < this.o.weekStart + 7;) e += '<th class="dow">' + S[this.o.language].daysMin[t++ % 7] + "</th>"; 6815 e += "</tr>", this.picker.find(".datepicker-days thead").append(e) 6816 }, 6817 fillMonths: function() { 6818 for (var t = "", e = 0; e < 12;) t += '<span class="month">' + S[this.o.language].monthsShort[e++] + "</span>"; 6819 this.picker.find(".datepicker-months td").html(t) 6820 }, 6821 setRange: function(t) { 6822 t && t.length ? this.range = T.map(t, function(t) { 6823 return t.valueOf() 6824 }) : delete this.range, this.fill() 6825 }, 6826 getClassNames: function(t) { 6827 var e = [], 6828 i = this.viewDate.getUTCFullYear(), 6829 s = this.viewDate.getUTCMonth(), 6830 n = new Date; 6831 return t.getUTCFullYear() < i || t.getUTCFullYear() === i && t.getUTCMonth() < s ? e.push("old") : (t.getUTCFullYear() > i || t.getUTCFullYear() === i && t.getUTCMonth() > s) && e.push("new"), this.focusDate && t.valueOf() === this.focusDate.valueOf() && e.push("focused"), this.o.todayHighlight && t.getUTCFullYear() === n.getFullYear() && t.getUTCMonth() === n.getMonth() && t.getUTCDate() === n.getDate() && e.push("today"), -1 !== this.dates.contains(t) && e.push("active"), (t.valueOf() < this.o.startDate || t.valueOf() > this.o.endDate || -1 !== T.inArray(t.getUTCDay(), this.o.daysOfWeekDisabled)) && e.push("disabled"), this.range && (t > this.range[0] && t < this.range[this.range.length - 1] && e.push("range"), -1 !== T.inArray(t.valueOf(), this.range) && e.push("selected")), e 6832 }, 6833 fill: function() { 6834 var t, e = new Date(this.viewDate), 6835 i = e.getUTCFullYear(), 6836 s = e.getUTCMonth(), 6837 n = this.o.startDate !== -1 / 0 ? this.o.startDate.getUTCFullYear() : -1 / 0, 6838 o = this.o.startDate !== -1 / 0 ? this.o.startDate.getUTCMonth() : -1 / 0, 6839 r = this.o.endDate !== 1 / 0 ? this.o.endDate.getUTCFullYear() : 1 / 0, 6840 a = this.o.endDate !== 1 / 0 ? this.o.endDate.getUTCMonth() : 1 / 0, 6841 l = S[this.o.language].today || S.en.today || "", 6842 h = S[this.o.language].clear || S.en.clear || ""; 6843 this.picker.find(".datepicker-days thead th.datepicker-switch").text(S[this.o.language].months[s] + " " + i), this.picker.find("tfoot th.today").text(l).toggle(!1 !== this.o.todayBtn), this.picker.find("tfoot th.clear").text(h).toggle(!1 !== this.o.clearBtn), this.updateNavArrows(), this.fillMonths(); 6844 var c = D(i, s - 1, 28), 6845 d = M.getDaysInMonth(c.getUTCFullYear(), c.getUTCMonth()); 6846 c.setUTCDate(d), c.setUTCDate(d - (c.getUTCDay() - this.o.weekStart + 7) % 7); 6847 var u = new Date(c); 6848 u.setUTCDate(u.getUTCDate() + 42), u = u.valueOf(); 6849 for (var p, f = []; c.valueOf() < u;) { 6850 if (c.getUTCDay() === this.o.weekStart && (f.push("<tr>"), this.o.calendarWeeks)) { 6851 var m = new Date(+c + (this.o.weekStart - c.getUTCDay() - 7) % 7 * 864e5), 6852 g = new Date(Number(m) + (11 - m.getUTCDay()) % 7 * 864e5), 6853 _ = new Date(Number(_ = D(g.getUTCFullYear(), 0, 1)) + (11 - _.getUTCDay()) % 7 * 864e5), 6854 v = (g - _) / 864e5 / 7 + 1; 6855 f.push('<td class="cw">' + v + "</td>") 6856 } 6857 if ((p = this.getClassNames(c)).push("day"), this.o.beforeShowDay !== T.noop) { 6858 var y = this.o.beforeShowDay(this._utc_to_local(c)); 6859 y === E ? y = {} : "boolean" == typeof y ? y = { 6860 enabled: y 6861 } : "string" == typeof y && (y = { 6862 classes: y 6863 }), !1 === y.enabled && p.push("disabled"), y.classes && (p = p.concat(y.classes.split(/\s+/))), y.tooltip && (t = y.tooltip) 6864 } 6865 p = T.unique(p), f.push('<td class="' + p.join(" ") + '"' + (t ? ' title="' + t + '"' : "") + ">" + c.getUTCDate() + "</td>"), c.getUTCDay() === this.o.weekEnd && f.push("</tr>"), c.setUTCDate(c.getUTCDate() + 1) 6866 } 6867 this.picker.find(".datepicker-days tbody").empty().append(f.join("")); 6868 var w = this.picker.find(".datepicker-months").find("th:eq(1)").text(i).end().find("span").removeClass("active"); 6869 T.each(this.dates, function(t, e) { 6870 e.getUTCFullYear() === i && w.eq(e.getUTCMonth()).addClass("active") 6871 }), (i < n || r < i) && w.addClass("disabled"), i === n && w.slice(0, o).addClass("d
6871isabled"), i === r && w.slice(a + 1).addClass("disabled"), f = "", i = 10 * parseInt(i / 10, 10); 6872 var b = this.picker.find(".datepicker-years").find("th:eq(1)").text(i + "-" + (i + 9)).end().find("td"); 6873 --i; 6874 for (var k, x = T.map(this.dates, function(t) { 6875 return t.getUTCFullYear() 6876 }), C = -1; C < 11; C++) k = ["year"], -1 === C ? k.push("old") : 10 === C && k.push("new"), -1 !== T.inArray(i, x) && k.push("active"), (i < n || r < i) && k.push("disabled"), f += '<span class="' + k.join(" ") + '">' + i + "</span>", i += 1; 6877 b.html(f) 6878 }, 6879 updateNavArrows: function() { 6880 if (this._allow_update) { 6881 var t = new Date(this.viewDate), 6882 e = t.getUTCFullYear(), 6883 i = t.getUTCMonth(); 6884 switch (this.viewMode) { 6885 case 0: 6886 this.o.startDate !== -1 / 0 && e <= this.o.startDate.getUTCFullYear() && i <= this.o.startDate.getUTCMonth() ? this.picker.find(".prev").css({ 6887 visibility: "hidden" 6888 }) : this.picker.find(".prev").css({ 6889 visibility: "visible" 6890 }), this.o.endDate !== 1 / 0 && e >= this.o.endDate.getUTCFullYear() && i >= this.o.endDate.getUTCMonth() ? this.picker.find(".next").css({ 6891 visibility: "hidden" 6892 }) : this.picker.find(".next").css({ 6893 visibility: "visible" 6894 }); 6895 break; 6896 case 1: 6897 case 2: 6898 this.o.startDate !== -1 / 0 && e <= this.o.startDate.getUTCFullYear() ? this.picker.find(".prev").css({ 6899 visibility: "hidden" 6900 }) : this.picker.find(".prev").css({ 6901 visibility: "visible" 6902 }), this.o.endDate !== 1 / 0 && e >= this.o.endDate.getUTCFullYear() ? this.picker.find(".next").css({ 6903 visibility: "hidden" 6904 }) : this.picker.find(".next").css({ 6905 visibility: "visible" 6906 }) 6907 } 6908 } 6909 }, 6910 click: function(t) { 6911 t.preventDefault(); 6912 var e, i, s, n = T(t.target).closest("span, td, th"); 6913 if (1 === n.length) switch (n[0].nodeName.toLowerCase()) { 6914 case "th": 6915 switch (n[0].className) { 6916 case "datepicker-switch": 6917 this.showMode(1); 6918 break; 6919 case "prev": 6920 case "next": 6921 var o = M.modes[this.viewMode].navStep * ("prev" === n[0].className ? -1 : 1); 6922 switch (this.viewMode) { 6923 case 0: 6924 this.viewDate = this.moveMonth(this.viewDate, o), this._trigger("changeMonth", this.viewDate); 6925 break; 6926 case 1: 6927 case 2: 6928 this.viewDate = this.moveYear(this.viewDate, o), 1 === this.viewMode && this._trigger("changeYear", this.viewDate) 6929 } 6930 this.fill(); 6931 break; 6932 case "today": 6933 var r = new Date; 6934 r = D(r.getFullYear(), r.getMonth(), r.getDate(), 0, 0, 0), this.showMode(-2); 6935 var a = "linked" === this.o.todayBtn ? null : "view"; 6936 this._setDate(r, a); 6937 break; 6938 case "clear": 6939 var l; 6940 this.isInput ? l = this.element : this.component && (l = this.element.find("input")), l && l.val("").change(), this.update(), this._trigger("changeDate"), this.o.autoclose && this.hide() 6941 } 6942 break; 6943 case "span": 6944 n.is(".disabled") || (this.viewDate.setUTCDate(1), n.is(".month") ? (s = 1, i = n.parent().find("span").index(n), e = this.viewDate.getUTCFullYear(), this.viewDate.setUTCMonth(i), this._trigger("changeMonth", this.viewDate), 1 === this.o.minViewMode && this._setDate(D(e, i, s))) : (s = 1, i = 0, e = parseInt(n.text(), 10) || 0, this.viewDate.setUTCFullYear(e), this._trigger("changeYear", this.viewDate), 2 === this.o.minViewMode && this._setDate(D(e, i, s))), this.showMode(-1), this.fill()); 6945 break; 6946 case "td": 6947 n.is(".day") && !n.is(".disabled") && (s = parseInt(n.text(), 10) || 1, e = this.viewDate.getUTCFullYear(), i = this.viewDate.getUTCMonth(), n.is(".old") ? 0 === i ? (i = 11, --e) : --i : n.is(".new") && (11 === i ? (i = 0, e += 1) : i += 1), this._setDate(D(e, i, s))) 6948 } 6949 this.picker.is(":visible") && this._focused_from && T(this._focused_from).focus(), delete this._focused_from 6950 }, 6951 _toggle_multidate: function(t) { 6952 var e = this.dates.contains(t); 6953 if (t ? -1 !== e ? this.dates.remove(e) : this.dates.push(t) : this.dates.clear(), "number" == typeof this.o.multidate) 6954 for (; this.dates.length > this.o.multidate;) this.dates.remove(0) 6955 }, 6956 _setDate: function(t, e) { 6957 var i; 6958 e && "date" !== e || this._toggle_multidate(t && new Date(t)), e && "view" !== e || (this.viewDate = t && new Date(t)), this.fill(), this.setValue(), this._trigger("changeDate"), this.isInput ? i = this.element : this.component && (i = this.element.find("input")), i && i.change(), !this.o.autoclose || e && "date" !== e || this.hide() 6959 }, 6960 moveMonth: function(t, e) { 6961 if (!t) return E; 6962 if (!e) return t; 6963 var i, s, n = new Date(t.valueOf()), 6964 o = n.getUTCDate(), 6965 r = n.getUTCMonth(), 6966 a = Math.abs(e); 6967 if (e = 0 < e ? 1 : -1, 1 === a) s = -1 === e ? function() { 6968 return n.getUTCMonth() === r 6969 } : function() { 6970 return n.getUTCMonth() !== i 6971 }, i = r + e, n.setUTCMonth(i), (i < 0 || 11 < i) && (i = (i + 12) % 12); 6972 else { 6973 for (var l = 0; l < a; l++) n = this.moveMonth(n, e); 6974 i = n.getUTCMonth(), n.setUTCDate(o), s = function() { 6975 return i !== n.getUTCMonth() 6976 } 6977 } 6978 for (; s();) n.setUTCDate(--o), n.setUTCMonth(i); 6979 return n 6980 }, 6981 moveYear: function(t, e) { 6982 return this.moveMonth(t, 12 * e) 6983 }, 6984 dateWithinRange: function(t) { 6985 return t >= this.o.startDate && t <= this.o.endDate 6986 }, 6987 keydown: function(t) { 6988 if (this.picker.is(":not(:visible)")) 27 === t.keyCode && this.show(); 6989 else { 6990 var e, i, s, n, o = !1, 6991 r = this.focusDate || this.viewDate; 6992 switch (t.keyCode) { 6993 case 27: 6994 this.focusDate ? (this.focusDate = null, this.viewDate = this.dates.get(-1) || this.viewDate, this.fill()) : this.hide(), t.preventDefault(); 6995 break; 6996 case 37: 6997 case 39: 6998 if (!this.o.keyboardNavigation) break; 6999 e = 37 === t.keyCode ? -1 : 1, t.ctrlKey ? (i = this.moveYear(this.dates.get(-1) || a(), e), s = this.moveYear(r, e), this._trigger("changeYear", this.viewDate)) : t.shiftKey ? (i = this.moveMonth(this.dates.get(-1) || a(), e), s = this.moveMonth(r, e), this._trigger("changeMonth", this.viewDate)) : ((i = new Date(this.dates.get(-1) || a())).setUTCDate(i.getUTCDate() + e), (s = new Date(r)).setUTCDate(r.getUTCDate() + e)), this.dateWithinRange(i) && (this.focusDate = this.viewDate = s, this.setValue(), this.fill(), t.preventDefault()); 7000 break; 7001 case 38: 7002 case 40: 7003 if (!this.o.keyboardNavigation) break; 7004 e = 38 === t.keyCode ? -1 : 1, t.ctrlKey ? (i = this.moveYear(this.dates.get(-1) || a(), e), s = this.moveYear(r, e), this._trigger("changeYear", this.viewDate)) : t.shiftKey ? (i = this.moveMonth(this.dates.get(-1) || a(), e), s = this.moveMonth(r, e), this._trigger("changeMonth", this.viewDate)) : ((i = new Date(this.dates.get(-1) || a())).setUTCDate(i.getUTCDate() + 7 * e), (s = new Date(r)).setUTCDate(r.getUTCDate() + 7 * e)), this.dateWithinRange(i) && (this.focusDate = this.viewDate = s, this.setValue(), this.fill(), t.preventDefault()); 7005 break; 7006 case 32: 7007 break; 7008 case 13: 7009 r = this.focusDate || this.dates.get(-1) || this.viewDate, this._toggle_multidate(r), o = !0, this.focusDate = null, this.viewDate = this.dates.get(-1) || this.viewDate, this.setValue(), this.fill(), this.picker.is(":visible") && (t.preventDefault(), this.o.autoclose && this.hide()); 7010 break; 7011 case 9: 7012 this.focusDate = null, this.viewDate = this.dates.get(-1) || this.viewDate, this.fill(), this.hide() 7013 } 7014 if (o) this.dates.length ? this._trigger("changeDate") : this._trigger("clearDate"), this.isInput ? n = this.element : this.component && (n = this.element.find("input")), n && n.change() 7015 } 7016 }, 7017 showMode: function(t) { 7018 t && (this.viewMode = Math.max(this.o.minViewMode, Math.min(2, this.viewMode + t))), this.picker.find(">div").hide().filter(".datepicker-" + M.modes[this.viewMode].clsName).css("display", "block"), this.updateNavArrows() 7019 } 7020 }; 7021 7022 function c(t, e) { 7023 this.element = T(t), this.inputs = T.map(e.inputs, function(t) { 7024 return t.jquery ? t[0] : t 7025 }), delete e.inputs, T(this.inputs).datepicker(e).bind("changeDate", T.proxy(this.dateUpdated, this)), this.pickers = T.map(this.inputs, function(t) { 7026 return T(t).data("datepicker") 7027 }), this.updateDates() 7028 } 7029 c.prototype = { 7030 updateDates: function() { 7031 this.dates = T.map(this.pickers, function(t) { 7032 return t.getUTCDate() 7033 }), this.updateRanges() 7034 }, 7035 updateRanges: function() { 7036 var i = T.map(this.dates, function(t) { 7037 return t.valueOf() 7038 }); 7039 T.each(this.pickers, function(t, e) { 7040 e.setRange(i) 7041 }) 7042 }, 7043 dateUpdated: function(t) { 7044 if (!this.updating) { 7045 this.updating = !0; 7046 var i = T(t.target).data("datepicker").getUTCDate(), 7047 e = T.inArray(t.target, this.inputs), 7048 s = this.inputs.length; 7049 if (-1 !== e) { 7050 if (T.each(this.pickers, function(t, e) { 7051 e.getUTCDate() || e.setUTCDate(i) 7052 }), i < this.dates[e]) 7053 for (; 0 <= e && i < this.dates[e];) this.pickers[e--].setUTCDate(i); 7054 else if (i > this.dates[e]) 7055 for (; e < s && i > this.dates[e];) this.pickers[e++].setUTCDate(i); 7056 this.updateDates(), delete this.updating 7057 } 7058 } 7059 }, 7060 remove: function() { 7061 T.map(this.pickers, function(t) { 7062 t.remove() 7063 }), delete this.element.data().datepicker 7064 } 7065 }; 7066 var s = T.fn.datepicker; 7067 T.fn.datepicker = function(a) { 7068 var l, h = Array.apply(null, arguments); 7069 return h.shift(), this.each(function() {
7070 var t = T(this), 7071 e = t.data("datepicker"), 7072 i = "object" == typeof a && a; 7073 if (!e) { 7074 var s = function(t, e) { 7075 var i = T(t).data(), 7076 s = {}, 7077 n = new RegExp("^" + e.toLowerCase() + "([A-Z])"); 7078 7079 function o(t, e) { 7080 return e.toLowerCase() 7081 } 7082 for (var r in e = new RegExp("^" + e.toLowerCase()), i) e.test(r) && (s[r.replace(n, o)] = i[r]); 7083 return s 7084 }(this, "date"), 7085 n = function(t) { 7086 var i = {}; 7087 if (S[t] || (t = t.split("-")[0], S[t])) { 7088 var s = S[t]; 7089 return T.each(u, function(t, e) { 7090 e in s && (i[e] = s[e]) 7091 }), i 7092 } 7093 }(T.extend({}, d, s, i).language), 7094 o = T.extend({}, d, n, s, i); 7095 if (t.is(".input-daterange") || o.inputs) { 7096 var r = { 7097 inputs: o.inputs || t.find('input[name="start"], input[name="end"]').toArray() 7098 }; 7099 t.data("datepicker", e = new c(this, T.extend(o, r))) 7100 } else t.data("datepicker", e = new v(this, o)) 7101 } 7102 if ("string" == typeof a && "function" == typeof e[a] && (l = e[a].apply(e, h)) !== E) return !1 7103 }), l !== E ? l : this 7104 }; 7105 var d = T.fn.datepicker.defaults = { 7106 autoclose: !0, 7107 beforeShowDay: T.noop, 7108 calendarWeeks: !1, 7109 clearBtn: !1, 7110 daysOfWeekDisabled: [], 7111 endDate: 1 / 0, 7112 forceParse: !0, 7113 format: "mm/dd/yyyy", 7114 keyboardNavigation: !0, 7115 language: "en", 7116 minViewMode: 0, 7117 multidate: !1, 7118 multidateSeparator: ",", 7119 orientation: "auto", 7120 rtl: !1, 7121 startDate: -1 / 0, 7122 startView: 0, 7123 todayBtn: !1, 7124 todayHighlight: !1, 7125 weekStart: 0 7126 }, 7127 u = T.fn.datepicker.locale_opts = ["format", "rtl", "weekStart"]; 7128 T.fn.datepicker.Constructor = v; 7129 var S = T.fn.datepicker.dates = { 7130 en: { 7131 days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], 7132 daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], 7133 daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], 7134 months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "
7134November", "December"], 7135 monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], 7136 today: "Today", 7137 clear: "Clear" 7138 } 7139 }, 7140 M = { 7141 modes: [{ 7142 clsName: "days", 7143 navFnc: "Month", 7144 navStep: 1 7145 }, { 7146 clsName: "months", 7147 navFnc: "FullYear", 7148 navStep: 1 7149 }, { 7150 clsName: "years", 7151 navFnc: "FullYear", 7152 navStep: 10 7153 }], 7154 isLeapYear: function(t) { 7155 return t % 4 == 0 && t % 100 != 0 || t % 400 == 0 7156 }, 7157 getDaysInMonth: function(t, e) { 7158 return [31, M.isLeapYear(t) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][e] 7159 }, 7160 validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g, 7161 nonpunctuation: /[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g, 7162 parseFormat: function(t) { 7163 var e = t.replace(this.validParts, "\0").split("\0"), 7164 i = t.match(this.validParts); 7165 if (!e || !e.length || !i || 0 === i.length) throw new Error("Invalid date format."); 7166 return { 7167 separators: e, 7168 parts: i 7169 } 7170 }, 7171 parseDate: function(t, e, i) { 7172 if (!t) return E; 7173 if (t instanceof Date) return t; 7174 "string" == typeof e && (e = M.parseFormat(e)); 7175 var s, n, o, r = /([\-+]\d+)([dmwy])/, 7176 a = t.match(/([\-+]\d+)([dmwy])/g); 7177 if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(t)) { 7178 for (t = new Date, o = 0; o < a.length; o++) switch (s = r.exec(a[o]), n = parseInt(s[1]), s[2]) { 7179 case "d": 7180 t.setUTCDate(t.getUTCDate() + n); 7181 break; 7182 case "m": 7183 t = v.prototype.moveMonth.call(v.prototype, t, n); 7184 break; 7185 case "w": 7186 t.setUTCDate(t.getUTCDate() + 7 * n); 7187 break; 7188 case "y": 7189 t = v.prototype.moveYear.call(v.prototype, t, n) 7190 } 7191 return D(t.getUTCFullYear(), t.getUTCMonth(), t.getUTCDate(), 0, 0, 0) 7192 } 7193 a = t && t.match(this.nonpunctuation) || [], t = new Date; 7194 var l, h, c = {}, 7195 d = ["yyyy", "yy", "M", "MM", "m", "mm", "d", "dd"], 7196 u = { 7197 yyyy: function(t, e) { 7198 return t.setUTCFullYear(e) 7199 }, 7200 yy: function(t, e) { 7201 return t.setUTCFullYear(2e3 + e) 7202 }, 7203 m: function(t, e) { 7204 if (isNaN(t)) return t; 7205 for (--e; e < 0;) e += 12; 7206 for (e %= 12, t.setUTCMonth(e); t.getUTCMonth() !== e;) t.setUTCDate(t.getUTCDate() - 1); 7207 return t 7208 }, 7209 d: function(t, e) { 7210 return t.setUTCDate(e) 7211 } 7212 }; 7213 u.M = u.MM = u.mm = u.m, u.dd = u.d, t = D(t.getFullYear(), t.getMonth(), t.getDate(), 0, 0, 0); 7214 var p = e.parts.slice(); 7215 7216 function f() { 7217 var t = this.slice(0, a[o].length); 7218 return t === a[o].slice(0, t.length) 7219 } 7220 if (a.length !== p.length && (p = T(p).filter(function(t, e) { 7221 return -1 !== T.inArray(e, d) 7222 }).toArray()), a.length === p.length) { 7223 var m, g, _; 7224 for (o = 0, m = p.length; o < m; o++) { 7225 if (l = parseInt(a[o], 10), s = p[o], isNaN(l)) switch (s) { 7226 case "MM": 7227 h = T(S[i].months).filter(f), l = T.inArray(h[0], S[i].months) + 1; 7228 break; 7229 case "M": 7230 h = T(S[i].monthsShort).filter(f), l = T.inArray(h[0], S[i].monthsShort) + 1 7231 } 7232 c[s] = l 7233 } 7234 for (o = 0; o < d.length; o++)(_ = d[o]) in c && !isNaN(c[_]) && (g = new Date(t), u[_](g, c[_]), isNaN(g) || (t = g)) 7235 } 7236 return t 7237 }, 7238 formatDate: function(t, e, i) { 7239 if (!t) return ""; 7240 "string" == typeof e && (e = M.parseFormat(e)); 7241 var s = { 7242 d: t.getUTCDate(), 7243 D: S[i].daysShort[t.getUTCDay()], 7244 DD: S[i].days[t.getUTCDay()], 7245 m: t.getUTCMonth() + 1, 7246 M: S[i].monthsShort[t.getUTCMonth()], 7247 MM: S[i].months[t.getUTCMonth()], 7248 yy: t.getUTCFullYear().toString().substring(2), 7249 yyyy: t.getUTCFullYear() 7250 }; 7251 s.dd = (s.d < 10 ? "0" : "") + s.d, s.mm = (s.m < 10 ? "0" : "") + s.m, t = []; 7252 for (var n = T.extend([], e.separators), o = 0, r = e.parts.length; o <= r; o++) n.length && t.push(n.shift()), t.push(s[e.parts[o]]); 7253 return t.join("") 7254 }, 7255 headTemplate: '<thead><tr><th class="prev"></th><th colspan="5" class="datepicker-switch"></th><th class="next"></th></tr></thead>', 7256 contTemplate: '<tbody><tr><td colspan="7"></td></tr></tbody>', 7257 footTemplate: '<tfoot><tr><th colspan="7" class="today"></th></tr><tr><th colspan="7" class="clear"></th></tr></tfoot>' 7258 }; 7259 M.template = '<div class="datepicker"><div class="datepicker-days"><table class=" table-condensed">' + M.headTemplate + "<tbody></tbody>" + M.footTemplate + '</table></div><div class="datepicker-months"><table class="table-condensed">' + M.headTemplate + M.contTemplate + M.footTemplate + '</table></div><div class="datepicker-years"><table class="table-condensed">' + M.headTemplate + M.contTemplate + M.footTemplate + "</table></div></div>", T.fn.datepicker.DPGlobal = M, T.fn.datepicker.noConflict = function() { 7260 return T.fn.datepicker = s, this 7261 }, T(document).on("focus.datepicker.data-api click.datepicker.data-api", '[data-
7261provide="datepicker"]', function(t) { 7262 var e = T(this); 7263 e.data("datepicker") || (t.preventDefault(), e.datepicker("show")) 7264 }), T(function() { 7265 T('[data-provide="datepicker-inline"]').datepicker() 7266 }) 7267 }(window.jQuery), 7268 function(f, m, s) { 7269 "use strict"; 7270 7271 function o(t, e) { 7272 this.widget = "", this.$element = f(t), this.defaultTime = e.defaultTime, this.disableFocus = e.disableFocus, this.disableMousewheel = e.disableMousewheel, this.isOpen = e.isOpen, this.minuteStep = e.minuteStep, this.modalBackdrop = e.modalBackdrop, this.orientation = e.orientation, this.secondStep = e.secondStep, this.showInputs = e.showInputs, this.showMeridian = e.showMeridian, this.showSeconds = e.showSeconds, this.template = e.template, this.appendWidgetTo = e.appendWidgetTo, this.showWidgetOnAddonClick = e.showWidgetOnAddonClick, this._init() 7273 } 7274 o.prototype = { 7275 constructor: o, 7276 _init: function() { 7277 var t = this; 7278 this.showWidgetOnAddonClick && (this.$element.parent().hasClass("input-append") || this.$element.parent().hasClass("input-prepend")) ? (this.$element.parent(".input-append, .input-prepend").find(".add-on").on({ 7279 "click.timepicker": f.proxy(this.showWidget, this) 7280 }), this.$element.on({ 7281 "focus.timepicker": f.proxy(this.highlightUnit, this), 7282 "click.timepicker": f.proxy(this.highlightUnit, this), 7283 "keydown.timepicker": f.proxy(this.elementKeydown, this), 7284 "blur.timepicker": f.proxy(this.blurElement, this), 7285 "mousewheel.timepicker DOMMouseScroll.timepicker": f.proxy(this.mousewheel, this) 7286 })) : this.template ? this.$element.on({ 7287 "focus.timepicker": f.proxy(this.showWidget, this), 7288 "click.timepicker": f.proxy(this.showWidget, this), 7289 "blur.timepicker": f.proxy(this.blurElement, this), 7290 "mousewheel.timepicker DOMMouseScroll.timepicker": f.proxy(this.mousewheel, this) 7291 }) : this.$element.on({ 7292 "focus.timepicker": f.proxy(this.highlightUnit, this), 7293 "click.timepicker": f.proxy(this.highlightUnit, this), 7294 "keydown.timepicker": f.proxy(this.elementKeydown, this), 7295 "blur.timepicker": f.proxy(this.blurElement, this), 7296 "mousewheel.timepicker DOMMouseScroll.timepicker": f.proxy(this.mousewheel, this) 7297 }), !1 !== this.template ? this.$widget = f(this.getTemplate()).on("click", f.proxy(this.widgetClick, this)) : this.$widget = !1, this.showInputs && !1 !== this.$widget && this.$widget.find("input").each(function() { 7298 f(this).on({ 7299 "click.timepicker": function() { 7300 f(this).select() 7301 }, 7302 "keydown.timepicker": f.proxy(t.widgetKeydown, t), 7303 "keyup.timepicker": f.proxy(t.widgetKeyup, t) 7304 }) 7305 }), this.setDefaultTime(this.defaultTime) 7306 }, 7307 blurElement: function() { 7308 this.highlightedUnit = null, this.updateFromElementVal() 7309 }, 7310 clear: function() { 7311 this.hour = "", this.minute = "", this.second = "", this.meridian = "", this.$element.val("") 7312 }, 7313 decrementHour: function() { 7314 if (this.showMeridian) 7315 if (1 === this.hour) this.hour = 12; 7316 else { 7317 if (12 === this.hour) return this.hour--, this.toggleMeridian(); 7318 if (0 === this.hour) return this.hour = 11, this.toggleMeridian(); 7319 this.hour-- 7320 } else this.hour <= 0 ? this.hour = 23 : this.hour-- 7321 }, 7322 decrementMinute: function(t) { 7323 var e; 7324 (e = t ? this.minute - t : this.minute - this.minuteStep) < 0 ? (this.decrementHour(), this.minute = e + 60) : this.minute = e 7325 }, 7326 decrementSecond: function() { 7327 var t = this.second - this.secondStep; 7328 t < 0 ? (this.decrementMinute(!0), this.second = 60 + t) : this.second = t 7329 },
7330 elementKeydown: function(t) { 7331 switch (t.keyCode) { 7332 case 9: 7333 case 27: 7334 this.updateFromElementVal(); 7335 break; 7336 case 37: 7337 t.preventDefault(), this.highlightPrevUnit(); 7338 break; 7339 case 38: 7340 switch (t.preventDefault(), this.highlightedUnit) { 7341 case "hour": 7342 this.incrementHour(), this.highlightHour(); 7343 break; 7344 case "minute": 7345 this.incrementMinute(), this.highlightMinute(); 7346 break; 7347 case "second": 7348 this.incrementSecond(), this.highlightSecond(); 7349 break; 7350 case "meridian": 7351 this.toggleMeridian(), this.highlightMeridian() 7352 } 7353 this.update(); 7354 break; 7355 case 39: 7356 t.preventDefault(), this.highlightNextUnit(); 7357 break; 7358 case 40: 7359 switch (t.preventDefault(), this.highlightedUnit) { 7360 case "hour": 7361 this.decrementHour(), this.highlightHour(); 7362 break; 7363 case "minute": 7364 this.decrementMinute(), this.highlightMinute(); 7365 break; 7366 case "second": 7367 this.decrementSecond(), this.highlightSecond(); 7368 break; 7369 case "meridian": 7370 this.toggleMeridian(), this.highlightMeridian() 7371 } 7372 this.update() 7373 } 7374 }, 7375 getCursorPosition: function() { 7376 var t = this.$element.get(0); 7377 if ("selectionStart" in t) return t.selectionStart; 7378 if (s.selection) { 7379 t.focus(); 7380 var e = s.selection.createRange(), 7381 i = s.selection.createRange().text.length; 7382 return e.moveStart("character", -t.value.length), e.text.length - i 7383 } 7384 }, 7385 getTemplate: function() { 7386 var t, e, i, s, n, o; 7387 switch (n = this.showInputs ? (e = '<input type="text" class="bootstrap-timepicker-hour" maxlength="2"/>', i = '<input type="text" class="bootstrap-timepicker-minute" maxlength="2"/>', s = '<input type="text" class="bootstrap-timepicker-second" maxlength="2"/>', '<input type="text" class="bootstrap-timepicker-meridian" maxlength="2"/>') : (e = '<span class="bootstrap-timepicker-hour"></span>', i = '<span class="bootstrap-timepicker-minute"></span>', s = '<span class="bootstrap-timepicker-second"></span>', '<span class="bootstrap-timepicker-meridian"></span>'), o = '<table><tr><td><a href="#" data-action="incrementHour"><i class="icon-up-open-big"></i></a></td><td class="separator"> </td><td><a href="#" data-action="incrementMinute"><i class="icon-up-open-big"></i></a></td>' + (this.showSeconds ? '<td class="separator"> </td><td><a href="#" data-action="incrementSecond"><i class="icon-up-open-big"></i></a></td>' : "") + (this.showMeridian ? '<td class="separator"> </td><td class="meridian-column"><a href="#" data-action="toggleMeridian"><i class="icon-up-open-big"></i></a></td>' : "") + "</tr><tr><td>" + e + '</td> <td class="separator">:</td><td>' + i + "</td> " + (this.showSeconds ? '<td class="separator">:</td><td>' + s + "</td>" : "") + (this.showMeridian ? '<td class="separator"> </td><td>' + n + "</td>" : "") + '</tr><tr><td><a href="#" data-action="decrementHour"><i class="icon-down-open-big"></i></a></td><td class="separator"></td><td><a href="#" data-action="decrementMinute"><i class="icon-down-open-big"></i></a></td>' + (this.showSeconds ? '<td class="separator"> </td><td><a href="#" data-action="decrementSecond"><i class="icon-down-open-big"></i></a></td>' : "") + (this.showMeridian ? '<td class="separator"> </td><td><a href="#" data-action="toggleMeridian"><i class="icon-down-open-big"></i></a></td>' : "") + "</tr></table>", this.template) { 7388 case "modal": 7389 t = '<div class="bootstrap-timepicker-widget modal hide fade in" data-backdrop="' + (this.modalBackdrop ? "true" : "false") + '"><div class="modal-header"><a href="#" class="close" data-dismiss="modal">
7389Ã</a><h3>Pick a Time</h3></div><div class="modal-content">' + o + '</div><div class="modal-footer"><a href="#" class="btn btn-primary" data-dismiss="modal">OK</a></div></div>'; 7390 break; 7391 case "dropdown": 7392 t = '<div class="bootstrap-timepicker-widget dropdown-menu">' + o + "</div>" 7393 } 7394 return t 7395 }, 7396 getTime: function() { 7397 return "" === this.hour ? "" : this.hour + ":" + (1 === this.minute.toString().length ? "0" + this.minute : this.minute) + (this.showSeconds ? ":" + (1 === this.second.toString().length ? "0" + this.second : this.second) : "") + (this.showMeridian ? " " + this.meridian : "") 7398 }, 7399 hideWidget: function() { 7400 !1 !== this.isOpen && (this.$element.trigger({ 7401 type: "hide.timepicker", 7402 time: { 7403 value: this.getTime(), 7404 hours: this.hour, 7405 minutes: this.minute, 7406 seconds: this.second, 7407 meridian: this.meridian 7408 } 7409 }), "modal" === this.template && this.$widget.modal ? this.$widget.modal("hide") : this.$widget.removeClass("open"), f(s).off("mousedown.timepicker, touchend.timepicker"), this.isOpen = !1, this.$widget.detach()) 7410 }, 7411 highlightUnit: function() { 7412 this.position = this.getCursorPosition(), 0 <= this.position && this.position <= 2 ? this.highlightHour() : 3 <= this.position && this.position <= 5 ? this.highlightMinute() : 6 <= this.position && this.position <= 8 ? this.showSeconds ? this.highlightSecond() : this.highlightMeridian() : 9 <= this.position && this.position <= 11 && this.highlightMeridian() 7413 }, 7414 highlightNextUnit: function() { 7415 switch (this.highlightedUnit) { 7416 case "hour": 7417 this.highlightMinute(); 7418 break; 7419 case "minute": 7420 this.showSeconds ? this.highlightSecond() : this.showMeridian ? this.highlightMeridian() : this.highlightHour(); 7421 break; 7422 case "second": 7423 this.showMeridian ? this.highlightMeridian() : this.highlightHour(); 7424 break; 7425 case "meridian": 7426 this.highlightHour() 7427 } 7428 }, 7429 highlightPrevUnit: function() { 7430 switch (this.highlightedUnit) { 7431 case "hour": 7432 this.showMeridian ? this.highlightMeridian() : this.showSeconds ? this.highlightSecond() : this.highlightMinute(); 7433 break; 7434 case "minute": 7435 this.highlightHour(); 7436 break; 7437 case "second": 7438 this.highlightMinute(); 7439 break; 7440 case "meridian": 7441 this.showSeconds ? this.highlightSecond() : this.highlightMinute() 7442 } 7443 }, 7444 highlightHour: function() { 7445 var t = this.$element.get(0), 7446 e = this; 7447 this.highlightedUnit = "hour", t.setSelectionRange && setTimeout(function() { 7448 e.hour < 10 ? t.setSelectionRange(0, 1) : t.setSelectionRange(0, 2) 7449 }, 0) 7450 }, 7451 highlightMinute: function() { 7452 var t = this.$element.get(0), 7453 e = this; 7454 this.highlightedUnit = "minute", t.setSelectionRange && setTimeout(function() { 7455 e.hour < 10 ? t.setSelectionRange(2, 4) : t.setSelectionRange(3, 5) 7456 }, 0) 7457 }, 7458 highlightSecond: function() { 7459 var t = this.$element.get(0), 7460 e = this; 7461 this.highlightedUnit = "second", t.setSelectionRange && setTimeout(function() { 7462 e.hour < 10 ? t.setSelectionRange(5, 7) : t.setSelectionRange(6, 8) 7463 }, 0) 7464 }, 7465 highlightMeridian: function() { 7466 var t = this.$element.get(0), 7467 e = this; 7468 this.highlightedUnit = "meridian", t.setSelectionRange && (this.showSeconds ? setTimeout(function() { 7469 e.hour < 10 ? t.setSelectionRange(8, 10) : t.setSelectionRange(9, 11) 7470 }, 0) : setTimeout(function() { 7471 e.hour < 10 ? t.setSelectionRange(5, 7) : t.setSelectionRange(6, 8) 7472 }, 0)) 7473 }, 7474 incrementHour: function() { 7475 if (this.showMeridian) { 7476 if (11 === this.hour) return this.hour++, this.toggleMeridian(); 7477 12 === this.hour && (this.hour = 0) 7478 } 7479 23 !== this.hour ? this.hour++ : this.hour = 0 7480 }, 7481 incrementMinute: function(t) { 7482 var e; 7483 59 < (e = t ? this.minute + t : this.minute + this.minuteStep - this.minute % this.minuteStep) ? (this.incrementHour(), this.minute = e - 60) : this.minute = e 7484 }, 7485 incrementSecond: function() { 7486 var t = this.second + this.secondStep - this.second % this.secondStep; 7487 59 < t ? (this.incrementMinute(!0), this.second = t - 60) : this.second = t 7488 }, 7489 mousewheel: function(t) { 7490 if (!this.disableMousewheel) { 7491 t.preventDefault(), t.stopPropagation(); 7492 var e = t.originalEvent.wheelDelta || -t.originalEvent.detail, 7493 i = null; 7494 switch ("mousewheel" === t.type ? i = -1 * t.originalEvent.wheelDelta : "DOMMouseScroll" === t.type && (i = 40 * t.originalEvent.detail), i && (t.preventDefault(), f(this).scrollTop(i + f(this).scrollTop())), this.highlightedUnit) { 7495 case "minute": 7496 0 < e ? this.incrementMinute() : this.decrementMinute(), this.highlightMinute(); 7497 break; 7498 case "second": 7499 0 < e ? this.incrementSecond() : this.decrementSecond(), this.highlightSecond(); 7500 break; 7501 case "meridian": 7502 this.toggleMeridian(), this.highlightMeridian(); 7503 break; 7504 default: 7505 0 < e ? this.incrementHour() : this.decrementHour(), this.highlightHour() 7506 } 7507 return !1 7508 } 7509 }, 7510 place: function() { 7511 if (!this.isInline) { 7512 var t = this.$widget.outerWidth(), 7513 e = this.$widget.outerHeight(), 7514 i = f(m).width(), 7515 s = f(m).height(), 7516 n = f(m).scrollTop(), 7517 o = parseInt(this.$element.parents().filter(function() {}).first().css("z-index"), 10) + 10, 7518 r = this.component ? this.component.parent().offset() : this.$element.offset(), 7519 a = this.component ? this.component.outerHeight(!0) : this.$element.outerHeight(!1), 7520 l = this.component ? this.component.outerWidth(!0) : this.$element.outerWidth(!1), 7521 h = r.left, 7522 c = r.top; 7523 this.$widget.removeClass("timepicker-orient-top timepicker-orient-bottom timepicker-orient-right timepicker-orient-left"), "auto" !== this.orientation.x ? (this.picker.addClass("datepicker-orient-" + this.orientation.x), "right" === this.orientation.x && (h -= t - l)) : (this.$widget.addClass("timepicker-orient-left"), r.left < 0 ? h -= r.left - 10 : r.left + t > i && (h = i - t - 10)); 7524 var d, u, p = this.orientation.y; 7525 "auto" === p && (d = -n + r.top - e, u = n + s - (r.top + a + e), p = Math.max(d, u) === u ? "top" : "bottom"), this.$widget.addClass("timepicker-orient-" + p), "top" === p ? c += a : c -= e + parseInt(this.$widget.css("padding-top"), 10), this.$widget.css({ 7526 top: c, 7527 left: h, 7528 zIndex: o 7529 }) 7530 } 7531 }, 7532 remove: function() { 7533 f("document").off(".timepicker"), this.$widget && this.$widget.remove(), delete this.$element.data().timepicker 7534 }, 7535 setDefaultTime: function(t) { 7536 if (this.$element.val()) this.updateFromElementVal(); 7537 else if ("current" === t) { 7538 var e = new Date, 7539 i = e.getHours(), 7540 s = e.getMinutes(), 7541 n = e.getSeconds(), 7542 o = "AM"; 7543 0 !== n && 60 === (n = Math.ceil(e.getSeconds() / this.secondStep) * this.secondStep) && (s += 1, n = 0), 0 !== s && 60 === (s = Math.ceil(e.getMinutes() / this.minuteStep) * this.minuteStep) && (i += 1, s = 0), this.showMeridian && (0 === i ? i = 12 : o = 12 <= i ? (12 < i && (i -= 12), "PM") : "AM"), this.hour = i, this.minute = s, this.second = n, this.meridian = o, this.update() 7544 } else !1 === t ? (this.hour = 0, this.minute = 0, this.second = 0, this.meridian = "AM") : this.setTime(t) 7545 }, 7546 setTime: function(t, e) { 7547 var i, s, n, o, r; 7548 t ? ("object" == typeof t && t.getMonth ? (s = t.getHours(), n = t.getMinutes(), o = t.getSeconds(), this.showMeridian && (r = "AM", 12 < s && (r = "PM", s %= 12), 12 === s && (r = "PM"))) : (r = null !== t.match(/p/i) ? "PM" : "AM", s = (i = (t = t.replace(/[^0-9\:]/g, "")).split(":"))[0] ? i[0].toString() : i.toString(), n = i[1] ? i[1].toString() : "", o = i[2] ? i[2].toString() : "", 4 < s.length && (o = s.substr(4, 2)), 2 < s.length && (n = s.substr(2, 2), s = s.substr(0, 2)), 2 < n.length && (o = n.substr(2, 2), n = n.substr(0, 2)), 2 < o.length && (o = o.substr(2, 2)), s = parseInt(s, 10), n = parseInt(n, 10), o = parseInt(o, 10), isNaN(s) && (s = 0), isNaN(n) && (n = 0), isNaN(o) && (o = 0), this.showMeridian ? s < 1 ? s = 1 : 12 < s && (s = 12) : (24 <= s ? s = 23 : s < 0 && (s = 0), s < 13 && "PM" === r && (s += 12)), n < 0 ? n = 0 : 60 <= n && (n = 59), this.showSeconds && (isNaN(o) || o < 0 ? o = 0 : 60 <= o && (o = 59))), this.hour = s, this.minute = n, this.second = o, this.meridian = r, this.update(e)) : this.clear() 7549 }, 7550 showWidget: function() { 7551 if (!this.isOpen && !this.$element.is(":disabled")) { 7552 this.$widget.appendTo(this.appendWidgetTo); 7553 var e = this; 7554 f(s).on("mousedown.timepicker, touchend.timepicker", function(t) { 7555 e.$element.parent().find(t.target).length || e.$widget.is(t.target) || e.$widget.find(t.target).length || e.hideWidget() 7556 }), this.$element.trigger({ 7557 type: "show.timepicker", 7558 time: { 7559 value: this.getTime(), 7560 hours: this.hour, 7561 minutes: this.minute, 7562 seconds: this.second, 7563 meridian: this.meridian 7564 } 7565 }), this.place(), this.disableFocus && this.$element.blur(), "" === this.hour && (this.defaultTime ? this.setDefaultTime(this.defaultTime) : this.setTime("0:0:0")), "modal" === this.template && this.$widget.modal ? this.$widget.modal("show").on("hidden", f.proxy(this.hideWidget, this)) : !1 === this.isOpen && this.$widget.addClass("open"), this.isOpen = !0 7566 } 7567 }, 7568 toggleMeridian: function() { 7569 this.meridian = "AM" === this.meridian ? "PM" : "AM" 7570 }, 7571 update: function(t) { 7572 this.updateElement(), t || this.updateWidget(), this.$element.trigger({ 7573 type: "changeTime.timepicker", 7574 time: { 7575 value: this.getTime(), 7576 hours: this.hour, 7577 minutes: this.minute, 7578 seconds: this.second, 7579 meridian: this.meridian 7580 } 7581 }) 7582 }, 7583 updateElement: function() { 7584 this.$element.val(this.getTime()).change() 7585 }, 7586 updateFromElementVal: function() { 7587 this.setTime(this.$element.val()) 7588 }, 7589 updateWidget: function() { 7590 if (!1 !== this.$widget) { 7591 var t = this.hour, 7592 e = 1 === this.minute.toString().length ? "0" + this.minute : this.minute, 7593 i = 1 === this.second.toString().length ? "0" + this.second : this.second; 7594 this.showInputs ? (this.$widget.find("input.bootstrap-timepicker-hour").val(t), this.$widget.find("input.bootstrap-timepicker-minute").val(e), this.showSeconds && this.$widget.find("input.bootstrap-timepicker-second").val(i), this.showMeridian && this.$widget.find("input.bootstrap-timepicker-meridian").val(this.meridian)) : (this.$widget.find("span.bootstrap-timepicker-hour").text(t), this.$widget.find("span.bootstrap-timepicker-minute").text(e), this.showSeconds && this.$widget.find("span.bootstrap-timepicker-second").text(i), this.showMeridian && this.$widget.find("span.bootstrap-timepicker-meridian").text(this.meridian)) 7595 } 7596 },
7597 updateFromWidgetInputs: function() { 7598 if (!1 !== this.$widget) { 7599 var t = this.$widget.find("input.bootstrap-timepicker-hour").val() + ":" + this.$widget.find("input.bootstrap-timepicker-minute").val() + (this.showSeconds ? ":" + this.$widget.find("input.bootstrap-timepicker-second").val() : "") + (this.showMeridian ? this.$widget.find("input.bootstrap-timepicker-meridian").val() : ""); 7600 this.setTime(t, !0) 7601 } 7602 }, 7603 widgetClick: function(t) { 7604 t.stopPropagation(), t.preventDefault(); 7605 var e = f(t.target), 7606 i = e.closest("a").data("action"); 7607 i && this[i](), this.update(), e.is("input") && e.get(0).setSelectionRange(0, 2) 7608 }, 7609 widgetKeydown: function(t) { 7610 var e = f(t.target), 7611 i = e.attr("class").replace("bootstrap-timepicker-", ""); 7612 switch (t.keyCode) { 7613 case 9: 7614 if (this.showMeridian && "meridian" === i || this.showSeconds && "second" === i || !this.showMeridian && !this.showSeconds && "minute" === i) return this.hideWidget(); 7615 break; 7616 case 27: 7617 this.hideWidget(); 7618 break; 7619 case 38: 7620 switch (t.preventDefault(), i) { 7621 case "hour": 7622 this.incrementHour(); 7623 break; 7624 case "minute": 7625 this.incrementMinute(); 7626 break; 7627 case "second": 7628 this.incrementSecond(); 7629 break; 7630 case "meridian": 7631 this.toggleMeridian() 7632 } 7633 this.setTime(this.getTime()), e.get(0).setSelectionRange(0, 2); 7634 break; 7635 case 40: 7636 switch (t.preventDefault(), i) { 7637 case "hour": 7638 this.decrementHour(); 7639 break; 7640 case "minute": 7641 this.decrementMinute(); 7642 break; 7643 case "second": 7644 this.decrementSecond(); 7645 break; 7646 case "meridian": 7647 this.toggleMeridian() 7648 } 7649 this.setTime(this.getTime()), e.get(0).setSelectionRange(0, 2) 7650 } 7651 }, 7652 widgetKeyup: function(t) { 7653 (65 === t.keyCode || 77 === t.keyCode || 80 === t.keyCode || 46 === t.keyCode || 8 === t.keyCode || 46 <= t.keyCode && t.keyCode <= 57) && this.updateFromWidgetInputs() 7654 } 7655 }, f.fn.timepicker = function(s) { 7656 var n = Array.apply(null, arguments); 7657 return n.shift(), this.each(function() { 7658 var t = f(this), 7659 e = t.data("timepicker"), 7660 i = "object" == typeof s && s; 7661 e || t.data("timepicker", e = new o(this, f.extend({}, f.fn.timepicker.defaults, i, f(this).data()))), "string" == typeof s && e[s].apply(e, n) 7662 }) 7663 }, f.fn.timepicker.defaults = { 7664 defaultTime: "current", 7665 disableFocus: !1, 7666 disableMousewheel: !1, 7667 isOpen: !1, 7668 minuteStep: 15, 7669 modalBackdrop: !1, 7670 orientation: { 7671 x: "auto", 7672 y: "auto" 7673 }, 7674 secondStep: 15, 7675 showSeconds: !1, 7676 showInputs: !0, 7677 showMeridian: !0, 7678 template: "dropdown", 7679 appendWidgetTo: "body", 7680 showWidgetOnAddonClick: !0 7681 }, f.fn.timepicker.Constructor = o 7682 }(jQuery, window, document), 7683 function(w) { 7684 var b = "iCheck", 7685 k = b + "-helper", 7686 x = "checkbox", 7687 C = "radio", 7688 T = "checked", 7689 p = "un" + T, 7690 E = "disabled", 7691 f = "determinate", 7692 D = "in" + f, 7693 S = "update", 7694 M = "type", 7695 I = "click", 7696 A = "touchbegin.i touchend.i", 7697 $ = "addClass", 7698 O = "removeClass", 7699 N = "trigger", 7700 P = "label", 7701 m = "cursor", 7702 F = /ipad|iphone|ipod|android|blackberry|windows phone|opera mini|silk/i.test(navigator.userAgent); 7703 7704 function H(t, e, i) { 7705 var s = t[0], 7706 n = /er/.test(i) ? D : /bl/.test(i) ? E : T, 7707 o = i == S ? { 7708 checked: s[T], 7709 disabled: s[E], 7710 indeterminate: "true" == t.attr(D) || "false" == t.attr(f) 7711 } : s[n]; 7712 if (/^(ch|di|in)/.test(i) && !o) j(t, n); 7713 else if (/^(un|en|de)/.test(i) && o) L(t, n); 7714 else if (i == S) 7715 for (var r in o)(o[r] ? j : L)(t, r, !0); 7716 else e && "toggle" != i || (e || t[N]("ifClicked"), o ? s[M] !== C && L(t, n) : j(t, n)) 7717 } 7718 7719 function j(t, e, i) { 7720 var s = t[0], 7721 n = t.parent(), 7722 o = e == T, 7723 r = e == D, 7724 a = e == E, 7725 l = r ? f : o ? p : "enabled", 7726 h = g(t, l + _(s[M])), 7727 c = g(t, e + _(s[M])); 7728 if (!0 !== s[e]) { 7729 if (!i && e == T && s[M] == C && s.name) { 7730 var d = t.closest("form"), 7731 u = 'input[name="' + s.name + '"]'; 7732 (u = d.length ? d.find(u) : w(u)).each(function() { 7733 this !== s && w(this).data(b) && L(w(this), e) 7734 }) 7735 } 7736 r ? (s[e] = !0, s[T] && L(t, T, "force")) : (i || (s[e] = !0), o && s[D] && L(t, D, !1)), v(t, o, e, i) 7737 } 7738 s[E] && g(t, m, !0) && n.find("." + k).css(m, "default"), n[$](c || g(t, e) || ""), n.attr("role") && !r && n.attr("aria-" + (a ? E : T), "true"), n[O](h || g(t, l) || "") 7739 } 7740 7741 function L(t, e, i) { 7742 var s = t[0], 7743 n = t.parent(), 7744 o = e == T, 7745 r = e == D, 7746 a = e == E, 7747 l = r ? f : o ? p : "enabled", 7748 h = g(t, l + _(s[M])), 7749 c = g(t, e + _(s[M])); 7750 !1 !== s[e] && (!r && i && "force" != i || (s[e] = !1), v(t, o, l, i)), !s[E] && g(t, m, !0) && n.find("." + k).css(m, "pointer"), n[O](c || g(t, e) || ""), n.attr("role") && !r && n.attr("aria-" + (a ? E : T), "false"), n[$](h || g(t, l) || "") 7751 } 7752 7753 function z(t, e) { 7754 t.data(b) && (t.parent().html(t.attr("style", t.data(b).s || "")), e && t[N](e), t.off(".i").unwrap(), w(P + '[for="' + t[0].id + '"]').add(t.closest(P)).off(".i")) 7755 } 7756 7757 function g(t, e, i) { 7758 if (t.data(b)) return t.data(b).o[e + (i ? "" : "Class")] 7759 } 7760 7761 function _(t) { 7762 return t.charAt(0).toUpperCase() + t.slice(1) 7763 } 7764 7765 function v(t, e, i, s) { 7766 s || (e && t[N]("ifToggled"), t[N]("ifChanged")[N]("if" + _(i))) 7767 } 7768 w.fn[b] = function(e, i) { 7769 function t(t) { 7770 t.each(function() { 7771 var t = w(this); 7772 n = t.is(s) ? n.add(t) : n.add(t.find(s)) 7773 }) 7774 } 7775 var s = 'input[type="' + x + '"], input[type="' + C + '"]', 7776 n = w(); 7777 if (/^(check|uncheck|toggle|indeterminate|determinate|disable|enable|update|destroy)$/i.test(e)) return e = e.toLowerCase(), t(this), n.each(function() { 7778 var t = w(this); 7779 "destroy" == e ? z(t, "ifDestroyed") : H(t, !0, e), w.isFunction(i) && i() 7780 }); 7781 if ("object" != typeof e && e) return this; 7782 var p = w.extend({ 7783 checkedClass: T, 7784 disabledClass: E, 7785 indeterminateClass: D, 7786 labelHover: !0 7787 }, e), 7788 o = p.handle, 7789 f = p.hoverClass || "hover", 7790 m = p.focusClass || "focus", 7791 g = p.activeClass || "active", 7792 _ = !!p.labelHover, 7793 v = p.labelHoverClass || "hover", 7794 y = 0 | ("" + p.increaseArea).replace("%", ""); 7795 return o != x && o != C || (s = 'input[type="' + o + '"]'), y < -50 && (y = -50), t(this), n.each(function() { 7796 var s = w(this); 7797 z(s); 7798 var t, n = this, 7799 e = n.id, 7800 i = -y + "%", 7801 o = 100 + 2 * y + "%", 7802 r = { 7803 position: "absolute", 7804 top: i, 7805 left: i, 7806 display: "block", 7807 width: o, 7808 height: o, 7809 margin: 0, 7810 padding: 0, 7811 background: "#fff", 7812 border: 0, 7813 opacity: 0 7814 }, 7815 a = F ? { 7816 position: "absolute", 7817 visibility: "hidden" 7818 } : y ? r : { 7819 position: "absolute", 7820 opacity: 0 7821 }, 7822 l = n[M] == x ? p.checkboxClass || "i" + x : p.radioClass || "i" + C, 7823 h = w(P + '[for="' + e + '"]').add(s.closest(P)), 7824 c = !!p.aria, 7825 d = b + "-" + Math.random().toString(36).substr(2, 6), 7826 u = '<div class="' + l + '" ' + (c ? 'role="' + n[M] + '" ' : ""); 7827 c && h.each(function() { 7828 u += 'aria-labelledby="', this.id ? u += this.id : (this.id = d, u += d), u += '"' 7829 }), u = s.wrap(u + "/>")[N]("ifCreated").parent().append(p.insert), t = w('<ins class="' + k + '"/>').css(r).appendTo(u), s.data(b, { 7830 o: p, 7831 s: s.attr("style") 7832 }
7832).css(a), p.inheritClass && u[$](n.className || ""), p.inheritID && e && u.attr("id", b + "-" + e), "static" == u.css("position") && u.css("position", "relative"), H(s, !0, S), h.length && h.on(I + ".i mouseover.i mouseout.i " + A, function(t) { 7833 var e = t[M], 7834 i = w(this); 7835 if (!n[E]) { 7836 if (e == I) { 7837 if (w(t.target).is("a")) return; 7838 H(s, !1, !0) 7839 } else _ && (/ut|nd/.test(e) ? (u[O](f), i[O](v)) : (u[$](f), i[$](v))); 7840 t.stopPropagation() 7841 } 7842 }), s.on(I + ".i focus.i blur.i keyup.i keydown.i keypress.i", function(t) { 7843 var e = t[M], 7844 i = t.keyCode; 7845 return e != I && ("keydown" == e && 32 == i ? (n[M] == C && n[T] || (n[T] ? L : j)(s, T), !1) : void("keyup" == e && n[M] == C ? n[T] || j(s, T) : /us|ur/.test(e) && u["blur" == e ? O : $](m))) 7846 }), t.on(I + " mousedown mouseup mouseover mouseout " + A, function(t) { 7847 var e = t[M], 7848 i = /wn|up/.test(e) ? g : f; 7849 n[E] || (e == I ? H(s, !1, !0) : (/wn|er|in/.test(e) ? u[$](i) : u[O](i + " " + g), h.length && _ && i == f && h[/ut|nd/.test(e) ? O : $](v)), t.stopPropagation()) 7850 }) 7851 }) 7852 } 7853 }(window.jQuery || window.Zepto);
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.