1/** 2 * Minified by jsDelivr using UglifyJS v3.0.24. 3 * Original file: /npm/[email protected]/src/js.cookie.js 4 * 5 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files 6 */ 7!(function (e) { 8 var n = !1; 9 if ( 10 ("function" == typeof define && define.amd && (define(e), (n = !0)), 11 "object" == typeof exports && ((module.exports = e()), (n = !0)), 12 !n) 13 ) { 14 var o = window.Cookies, 15 t = (window.Cookies = e()); 16 t.noConflict = function () { 17 return (window.Cookies = o), t; 18 }; 19 } 20})(function () { 21 function e() { 22 for (var e = 0, n = {}; e < arguments.length; e++) { 23 var o = arguments[e]; 24 for (var t in o) n[t] = o[t]; 25 } 26 return n; 27 } 28 function n(o) { 29 function t(n, r, i) { 30 var c; 31 if ("undefined" != typeof document) { 32 if (arguments.length > 1) { 33 if ( 34 "number" == typeof (i = e({ path: "/" }, t.defaults, i)).expires 35 ) { 36 var a = new Date(); 37 a.setMilliseconds(a.getMilliseconds() + 864e5 * i.expires), 38 (i.expires = a); 39 } 40 i.expires = i.expires ? i.expires.toUTCString() : ""; 41 try { 42 (c = JSON.stringify(r)), /^[\{\[]/.test(c) && (r = c); 43 } catch (e) {} 44 (r = o.write 45 ? o.write(r, n) 46 : encodeURIComponent(String(r)).replace( 47 /%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, 48 decodeURIComponent 49 )), 50 (n = (n = (n = encodeURIComponent(String(n))).replace( 51 /%(23|24|26|2B|5E|60|7C)/g, 52 decodeURIComponent 53 )).replace(/[\(\)]/g, escape)); 54 var s = ""; 55 for (var f in i) 56 i[f] && ((s += "; " + f), !0 !== i[f] && (s += "=" + i[f])); 57 return (document.cookie = n + "=" + r + s); 58 } 59 n || (c = {}); 60 for ( 61 var p = document.cookie ? document.cookie.split("; ") : [], 62 d = /(%[0-9A-Z]{2})+/g, 63 u = 0; 64 u < p.length; 65 u++ 66 ) { 67 var l = p[u].split("="), 68 C = l.slice(1).join("="); 69 this.json || '"' !== C.charAt(0) || (C = C.slice(1, -1)); 70 try { 71 var g = l[0].replace(d, decodeURIComponent); 72 if ( 73 ((C = o.read 74 ? o.read(C, g) 75 : o(C, g) || C.replace(d, decodeURIComponent)), 76 this.json) 77 ) 78 try { 79 C = JSON.parse(C); 80 } catch (e) {} 81 if (n === g) { 82 c = C; 83 break; 84 } 85 n || (c[g] = C); 86 } catch (e) {} 87 } 88 return c; 89 } 90 } 91 return ( 92 (t.set = t), 93 (t.get = function (e) { 94 return t.call(t, e); 95 }), 96 (t.getJSON = function () { 97 return t.apply({ json: !0 }, [].slice.call(arguments)); 98 }), 99 (t.defaults = {}), 100 (t.remove = function (n, o) { 101 t(n, "", e(o, { expires: -1 })); 102 }), 103 (t.withConverter = n), 104 t 105 ); 106 } 107 return n(function () {}); 108}); 109//# sourceMappingURL=/sm/f6937b1819ab68f00d8b787ead6c16bfb67977e0c408909621a3b2ff82dbad4a.map 110 111!(function (i) { 112 "use strict"; 113 "function" == typeof define && define.amd 114 ? define(["jquery"], i) 115 : "undefined" != typeof exports 116 ? (module.exports = i(require("jquery"))) 117 : i(jQuery); 118})(function (i) { 119 "use strict"; 120 var e = window.Slick || {}; 121 ((e = (function () { 122 var e = 0; 123 return function (t, o) { 124 var s, 125 n = this; 126 (n.defaults = { 127 accessibility: !0, 128 adaptiveHeight: !1, 129 appendArrows: i(t), 130 appendDots: i(t), 131 arrows: !0, 132 asNavFor: null, 133 prevArrow: 134 '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>', 135 nextArrow: 136 '<button class="slick-next" aria-label="Next" type="button">Next</button>', 137 autoplay: !1, 138 autoplaySpeed: 3e3, 139 centerMode: !1, 140 centerPadding: "50px", 141 cssEase: "ease", 142 customPaging: function (e, t) { 143 return i('<button type="button" />').text(t + 1); 144 }, 145 dots: !1, 146 dotsClass: "slick-dots", 147 draggable: !0, 148 easing: "linear", 149 edgeFriction: 0.35, 150 fade: !1, 151 focusOnSelect: !1, 152 focusOnChange: !1, 153 infinite: !0, 154 initialSlide: 0, 155 lazyLoad: "ondemand", 156 mobileFirst: !1, 157 pauseOnHover: !0, 158 pauseOnFocus: !0, 159 pauseOnDotsHover: !1, 160 respondTo: "window", 161 responsive: null, 162 rows: 1, 163 rtl: !1, 164 slide: "", 165 slidesPerRow: 1, 166 slidesToShow: 1, 167 slidesToScroll: 1, 168 speed: 500, 169 swipe: !0, 170 swipeToSlide: !1, 171 touchMove: !0, 172 touchThreshold: 5, 173 useCSS: !0, 174 useTransform: !0, 175 variableWidth: !1, 176 vertical: !1, 177 verticalSwiping: !1, 178 waitForAnimate: !0, 179 zIndex: 1e3, 180 }), 181 (n.initials = { 182 animating: !1, 183 dragging: !1, 184 autoPlayTimer: null, 185 currentDirection: 0, 186 currentLeft: null, 187 currentSlide: 0, 188 direction: 1, 189 $dots: null, 190 listWidth: null, 191 listHeight: null, 192 loadIndex: 0, 193 $nextArrow: null, 194 $prevArrow: null, 195 scrolling: !1, 196 slideCount: null, 197 slideWidth: null, 198 $slideTrack: null, 199 $slides: null, 200 sliding: !1, 201 slideOffset: 0, 202 swipeLeft: null, 203 swiping: !1, 204 $list: null, 205 touchObject: {}, 206 transformsEnabled: !1, 207 unslicked: !1, 208 }), 209 i.extend(n, n.initials), 210 (n.activeBreakpoint = null),
211 (n.animType = null), 212 (n.animProp = null), 213 (n.breakpoints = []), 214 (n.breakpointSettings = []), 215 (n.cssTransitions = !1), 216 (n.focussed = !1), 217 (n.interrupted = !1), 218 (n.hidden = "hidden"), 219 (n.paused = !0), 220 (n.positionProp = null), 221 (n.respondTo = null), 222 (n.rowCount = 1), 223 (n.shouldClick = !0), 224 (n.$slider = i(t)), 225 (n.$slidesCache = null), 226 (n.transformType = null), 227 (n.transitionType = null), 228 (n.visibilityChange = "visibilitychange"), 229 (n.windowWidth = 0), 230 (n.windowTimer = null), 231 (s = i(t).data("slick") || {}), 232 (n.options = i.extend({}, n.defaults, o, s)), 233 (n.currentSlide = n.options.initialSlide), 234 (n.originalSettings = n.options), 235 void 0 !== document.mozHidden 236 ? ((n.hidden = "mozHidden"), 237 (n.visibilityChange = "mozvisibilitychange")) 238 : void 0 !== document.webkitHidden && 239 ((n.hidden = "webkitHidden"), 240 (n.visibilityChange = "webkitvisibilitychange")), 241 (n.autoPlay = i.proxy(n.autoPlay, n)), 242 (n.autoPlayClear = i.proxy(n.autoPlayClear, n)), 243 (n.autoPlayIterator = i.proxy(n.autoPlayIterator, n)), 244 (n.changeSlide = i.proxy(n.changeSlide, n)), 245 (n.clickHandler = i.proxy(n.clickHandler, n)), 246 (n.selectHandler = i.proxy(n.selectHandler, n)), 247 (n.setPosition = i.proxy(n.setPosition, n)), 248 (n.swipeHandler = i.proxy(n.swipeHandler, n)), 249 (n.dragHandler = i.proxy(n.dragHandler, n)), 250 (n.keyHandler = i.proxy(n.keyHandler, n)), 251 (n.instanceUid = e++), 252 (n.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/), 253 n.registerBreakpoints(), 254 n.init(!0); 255 }; 256 })()).prototype.activateADA = function () { 257 this.$slideTrack 258 .find(".slick-active") 259 .attr({ "aria-hidden": "false" }) 260 .find("a, input, button, select") 261 .attr({ tabindex: "0" }); 262 }), 263 (e.prototype.addSlide = e.prototype.slickAdd = 264 function (e, t, o) { 265 var s = this; 266 if ("boolean" == typeof t) (o = t), (t = null); 267 else if (t < 0 || t >= s.slideCount) return !1; 268 s.unload(), 269 "number" == typeof t 270 ? 0 === t && 0 === s.$slides.length 271 ? i(e).appendTo(s.$slideTrack) 272 : o 273 ? i(e).insertBefore(s.$slides.eq(t)) 274 : i(e).insertAfter(s.$slides.eq(t)) 275 : !0 === o 276 ? i(e).prependTo(s.$slideTrack) 277 : i(e).appendTo(s.$slideTrack), 278 (s.$slides = s.$slideTrack.children(this.options.slide)), 279 s.$slideTrack.children(this.options.slide).detach(), 280 s.$slideTrack.append(s.$slides), 281 s.$slides.each(function (e, t) { 282 i(t).attr("data-slick-index", e); 283 }), 284 (s.$slidesCache = s.$slides), 285 s.reinit(); 286 }), 287 (e.prototype.animateHeight = function () { 288 var i = this; 289 if ( 290 1 === i.options.slidesToShow && 291 !0 === i.options.adaptiveHeight && 292 !1 === i.options.vertical 293 ) { 294 var e = i.$slides.eq(i.currentSlide).outerHeight(!0); 295 i.$list.animate({ height: e }, i.options.speed); 296 } 297 }), 298 (e.prototype.animateSlide = function (e, t) { 299 var o = {}, 300 s = this; 301 s.animateHeight(), 302 !0 === s.options.rtl && !1 === s.options.vertical && (e = -e), 303 !1 === s.transformsEnabled 304 ? !1 === s.options.vertical 305 ? s.$slideTrack.animate( 306 { left: e }, 307 s.options.speed, 308 s.options.easing, 309 t 310 ) 311 : s.$slideTrack.animate( 312 { top: e }, 313 s.options.speed, 314 s.options.easing, 315 t 316 ) 317 : !1 === s.cssTransitions 318 ? (!0 === s.options.rtl && (s.currentLeft = -s.currentLeft), 319 i({ animStart: s.currentLeft }).animate( 320 { animStart: e }, 321 { 322 duration: s.options.speed, 323 easing: s.options.easing, 324 step: function (i) { 325 (i = Math.ceil(i)), 326 !1 === s.options.vertical 327 ? ((o[s.animType] = "translate(" + i + "px, 0px)"), 328 s.$slideTrack.css(o)) 329 : ((o[s.animType] = "translate(0px," + i + "px)"), 330 s.$slideTrack.css(o)); 331 }, 332 complete: function () { 333 t && t.call(); 334 }, 335 } 336 )) 337 : (s.applyTransition(),
338 (e = Math.ceil(e)), 339 !1 === s.options.vertical 340 ? (o[s.animType] = "translate3d(" + e + "px, 0px, 0px)") 341 : (o[s.animType] = "translate3d(0px," + e + "px, 0px)"), 342 s.$slideTrack.css(o), 343 t && 344 setTimeout(function () { 345 s.disableTransition(), t.call(); 346 }, s.options.speed)); 347 }), 348 (e.prototype.getNavTarget = function () { 349 var e = this, 350 t = e.options.asNavFor; 351 return t && null !== t && (t = i(t).not(e.$slider)), t; 352 }), 353 (e.prototype.asNavFor = function (e) { 354 var t = this.getNavTarget(); 355 null !== t && 356 "object" == typeof t && 357 t.each(function () { 358 var t = i(this).slick("getSlick"); 359 t.unslicked || t.slideHandler(e, !0); 360 }); 361 }), 362 (e.prototype.applyTransition = function (i) { 363 var e = this, 364 t = {}; 365 !1 === e.options.fade 366 ? (t[e.transitionType] = 367 e.transformType + " " + e.options.speed + "ms " + e.options.cssEase) 368 : (t[e.transitionType] = 369 "opacity " + e.options.speed + "ms " + e.options.cssEase), 370 !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t); 371 }), 372 (e.prototype.autoPlay = function () { 373 var i = this; 374 i.autoPlayClear(), 375 i.slideCount > i.options.slidesToShow && 376 (i.autoPlayTimer = setInterval( 377 i.autoPlayIterator, 378 i.options.autoplaySpeed 379 )); 380 }), 381 (e.prototype.autoPlayClear = function () { 382 var i = this; 383 i.autoPlayTimer && clearInterval(i.autoPlayTimer); 384 }), 385 (e.prototype.autoPlayIterator = function () { 386 var i = this, 387 e = i.currentSlide + i.options.slidesToScroll; 388 i.paused || 389 i.interrupted || 390 i.focussed || 391 (!1 === i.options.infinite && 392 (1 === i.direction && i.currentSlide + 1 === i.slideCount - 1 393 ? (i.direction = 0) 394 : 0 === i.direction && 395 ((e = i.currentSlide - i.options.slidesToScroll), 396 i.currentSlide - 1 == 0 && (i.direction = 1))), 397 i.slideHandler(e)); 398 }), 399 (e.prototype.buildArrows = function () { 400 var e = this; 401 !0 === e.options.arrows && 402 ((e.$prevArrow = i(e.options.prevArrow).addClass("slick-arrow")), 403 (e.$nextArrow = i(e.options.nextArrow).addClass("slick-arrow")), 404 e.slideCount > e.options.slidesToShow 405 ? (e.$prevArrow 406 .removeClass("slick-hidden") 407 .removeAttr("aria-hidden tabindex"), 408 e.$nextArrow 409 .removeClass("slick-hidden") 410 .removeAttr("aria-hidden tabindex"), 411 e.htmlExpr.test(e.options.prevArrow) && 412 e.$prevArrow.prependTo(e.options.appendArrows), 413 e.htmlExpr.test(e.options.nextArrow) && 414 e.$nextArrow.appendTo(e.options.appendArrows), 415 !0 !== e.options.infinite && 416 e.$prevArrow 417 .addClass("slick-disabled") 418 .attr("aria-disabled", "true")) 419 : e.$prevArrow 420 .add(e.$nextArrow) 421 .addClass("slick-hidden") 422 .attr({ "aria-disabled": "true", tabindex: "-1" })); 423 }), 424 (e.prototype.buildDots = function () { 425 var e, 426 t, 427 o = this; 428 if (!0 === o.options.dots) { 429 for ( 430 o.$slider.addClass("slick-dotted"), 431 t = i("<ul />").addClass(o.options.dotsClass), 432 e = 0; 433 e <= o.getDotCount(); 434 e += 1 435 ) 436 t.append(i("<li />").append(o.options.customPaging.call(this, o, e))); 437 (o.$dots = t.appendTo(o.options.appendDots)), 438 o.$dots.find("li").first().addClass("slick-active"); 439 } 440 }), 441 (e.prototype.buildOut = function () { 442 var e = this; 443 (e.$slides = e.$slider 444 .children(e.options.slide + ":not(.slick-cloned)") 445 .addClass("slick-slide")), 446 (e.slideCount = e.$slides.length), 447 e.$slides.each(function (e, t) { 448 i(t) 449 .attr("data-slick-index", e) 450 .data("originalStyling", i(t).attr("style") || ""); 451 }), 452 e.$slider.addClass("slick-slider"), 453 (e.$slideTrack = 454 0 === e.slideCount 455 ? i('<div class="slick-track"/>').appendTo(e.$slider) 456 : e.$slides.wrapAll('<div class="slick-track"/>').parent()), 457 (e.$list = e.$slideTrack.wrap('<div class="slick-list"/>').parent()), 458 e.$slideTrack.css("opacity", 0), 459 (!0 !== e.options.centerMode && !0 !== e.options.swipeToSlide) || 460 (e.options.slidesToScroll = 1), 461 i("img[data-lazy]", e.$slider).not("[src]").addClass("slick-loading"), 462 e.setupInfinite(), 463 e.buildArrows(), 464 e.buildDots(), 465 e.updateDots(), 466 e.setSlideClasses( 467 "number" == typeof e.currentSlide ? e.currentSlide : 0 468 ), 469 !0 === e.options.draggable && e.$list.addClass("draggable"); 470 }), 471 (e.prototype.buildRows = function () { 472 var i, 473 e, 474 t, 475 o, 476 s, 477 n, 478 r, 479 l = this; 480 if ( 481 ((o = document.createDocumentFragment()), 482 (n = l.$slider.children()), 483 l.options.rows > 1) 484 ) { 485 for ( 486 r = l.options.slidesPerRow * l.options.rows, 487 s = Math.ceil(n.length / r), 488 i = 0; 489 i < s; 490 i++ 491 ) { 492 var d = document.createElement("div"); 493 for (e = 0; e < l.options.rows; e++) { 494 var a = document.createElement("div"); 495 for (t = 0; t < l.options.slidesPerRow; t++) { 496 var c = i * r + (e * l.options.slidesPerRow + t); 497 n.get(c) && a.appendChild(n.get(c)); 498 } 499 d.appendChild(a); 500 } 501 o.appendChild(d); 502 } 503 l.$slider.empty().append(o), 504 l.$slider 505 .children() 506 .children() 507 .children() 508 .css({ 509 width: 100 / l.options.slidesPerRow + "%", 510 display: "inline-block", 511 }); 512 } 513 }), 514 (e.prototype.checkResponsive = function (e, t) { 515 var o, 516 s, 517 n, 518 r = this, 519 l = !1, 520 d = r.$slider.width(), 521 a = window.innerWidth || i(window).width(); 522 if ( 523 ("window" === r.respondTo 524 ? (n = a) 525 : "slider" === r.respondTo 526 ? (n = d) 527 : "min" === r.respondTo && (n = Math.min(a, d)), 528 r.options.responsive && 529 r.options.responsive.length && 530 null !== r.options.responsive) 531 ) { 532 s = null; 533 for (o in r.breakpoints) 534 r.breakpoints.hasOwnProperty(o) && 535 (!1 === r.originalSettings.mobileFirst 536 ? n < r.breakpoints[o] && (s = r.breakpoints[o]) 537 : n > r.breakpoints[o] && (s = r.breakpoints[o])); 538 null !== s 539 ? null !== r.activeBreakpoint 540 ? (s !== r.activeBreakpoint || t) && 541 ((r.activeBreakpoint = s), 542 "unslick" === r.breakpointSettings[s] 543 ? r.unslick(s) 544 : ((r.options = i.extend( 545 {}, 546 r.originalSettings, 547 r.breakpointSettings[s] 548 )), 549 !0 === e && (r.currentSlide = r.options.initialSlide), 550 r.refresh(e)), 551 (l = s)) 552 : ((r.activeBreakpoint = s), 553 "unslick" === r.breakpointSettings[s] 554 ? r.unslick(s) 555 : ((r.options = i.extend( 556 {}, 557 r.originalSettings, 558 r.breakpointSettings[s] 559 )), 560 !0 === e && (r.currentSlide = r.options.initialSlide), 561 r.refresh(e)), 562 (l = s)) 563 : null !== r.activeBreakpoint && 564 ((r.activeBreakpoint = null),
565 (r.options = r.originalSettings), 566 !0 === e && (r.currentSlide = r.options.initialSlide), 567 r.refresh(e), 568 (l = s)), 569 e || !1 === l || r.$slider.trigger("breakpoint", [r, l]); 570 } 571 }), 572 (e.prototype.changeSlide = function (e, t) { 573 var o, 574 s, 575 n, 576 r = this, 577 l = i(e.currentTarget); 578 switch ( 579 (l.is("a") && e.preventDefault(), 580 l.is("li") || (l = l.closest("li")), 581 (n = r.slideCount % r.options.slidesToScroll != 0), 582 (o = n 583 ? 0 584 : (r.slideCount - r.currentSlide) % r.options.slidesToScroll), 585 e.data.message) 586 ) { 587 case "previous": 588 (s = 0 === o ? r.options.slidesToScroll : r.options.slidesToShow - o), 589 r.slideCount > r.options.slidesToShow && 590 r.slideHandler(r.currentSlide - s, !1, t); 591 break; 592 case "next": 593 (s = 0 === o ? r.options.slidesToScroll : o), 594 r.slideCount > r.options.slidesToShow && 595 r.slideHandler(r.currentSlide + s, !1, t); 596 break; 597 case "index": 598 var d = 599 0 === e.data.index 600 ? 0 601 : e.data.index || l.index() * r.options.slidesToScroll; 602 r.slideHandler(r.checkNavigable(d), !1, t), 603 l.children().trigger("focus"); 604 break; 605 default: 606 return; 607 } 608 }), 609 (e.prototype.checkNavigable = function (i) { 610 var e, t; 611 if (((e = this.getNavigableIndexes()), (t = 0), i > e[e.length - 1])) 612 i = e[e.length - 1]; 613 else 614 for (var o in e) { 615 if (i < e[o]) { 616 i = t; 617 break; 618 } 619 t = e[o]; 620 } 621 return i; 622 }), 623 (e.prototype.cleanUpEvents = function () { 624 var e = this; 625 e.options.dots && 626 null !== e.$dots && 627 (i("li", e.$dots) 628 .off("click.slick", e.changeSlide) 629 .off("mouseenter.slick", i.proxy(e.interrupt, e, !0)) 630 .off("mouseleave.slick", i.proxy(e.interrupt, e, !1)), 631 !0 === e.options.accessibility && 632 e.$dots.off("keydown.slick", e.keyHandler)), 633 e.$slider.off("focus.slick blur.slick"), 634 !0 === e.options.arrows && 635 e.slideCount > e.options.slidesToShow && 636 (e.$prevArrow && e.$prevArrow.off("click.slick", e.changeSlide), 637 e.$nextArrow && e.$nextArrow.off("click.slick", e.changeSlide), 638 !0 === e.options.accessibility && 639 (e.$prevArrow && e.$prevArrow.off("keydown.slick", e.keyHandler), 640 e.$nextArrow && e.$nextArrow.off("keydown.slick", e.keyHandler))), 641 e.$list.off("touchstart.slick mousedown.slick", e.swipeHandler), 642 e.$list.off("touchmove.slick mousemove.slick", e.swipeHandler), 643 e.$list.off("touchend.slick mouseup.slick", e.swipeHandler),
644 e.$list.off("touchcancel.slick mouseleave.slick", e.swipeHandler), 645 e.$list.off("click.slick", e.clickHandler), 646 i(document).off(e.visibilityChange, e.visibility), 647 e.cleanUpSlideEvents(), 648 !0 === e.options.accessibility && 649 e.$list.off("keydown.slick", e.keyHandler), 650 !0 === e.options.focusOnSelect && 651 i(e.$slideTrack).children().off("click.slick", e.selectHandler), 652 i(window).off( 653 "orientationchange.slick.slick-" + e.instanceUid, 654 e.orientationChange 655 ), 656 i(window).off("resize.slick.slick-" + e.instanceUid, e.resize), 657 i("[draggable!=true]", e.$slideTrack).off( 658 "dragstart", 659 e.preventDefault 660 ), 661 i(window).off("load.slick.slick-" + e.instanceUid, e.setPosition); 662 }), 663 (e.prototype.cleanUpSlideEvents = function () { 664 var e = this; 665 e.$list.off("mouseenter.slick", i.proxy(e.interrupt, e, !0)), 666 e.$list.off("mouseleave.slick", i.proxy(e.interrupt, e, !1)); 667 }), 668 (e.prototype.cleanUpRows = function () { 669 var i, 670 e = this; 671 e.options.rows > 1 && 672 ((i = e.$slides.children().children()).removeAttr("style"), 673 e.$slider.empty().append(i)); 674 }), 675 (e.prototype.clickHandler = function (i) { 676 !1 === this.shouldClick && 677 (i.stopImmediatePropagation(), i.stopPropagation(), i.preventDefault()); 678 }), 679 (e.prototype.destroy = function (e) { 680 var t = this; 681 t.autoPlayClear(), 682 (t.touchObject = {}), 683 t.cleanUpEvents(), 684 i(".slick-cloned", t.$slider).detach(), 685 t.$dots && t.$dots.remove(), 686 t.$prevArrow && 687 t.$prevArrow.length && 688 (t.$prevArrow 689 .removeClass("slick-disabled slick-arrow slick-hidden") 690 .removeAttr("aria-hidden aria-disabled tabindex") 691 .css("display", ""), 692 t.htmlExpr.test(t.options.prevArrow) && t.$prevArrow.remove()), 693 t.$nextArrow && 694 t.$nextArrow.length && 695 (t.$nextArrow 696 .removeClass("slick-disabled slick-arrow slick-hidden") 697 .removeAttr("aria-hidden aria-disabled tabindex") 698 .css("display", ""), 699 t.htmlExpr.test(t.options.nextArrow) && t.$nextArrow.remove()), 700 t.$slides && 701 (t.$slides 702 .removeClass( 703 "slick-slide slick-active slick-center slick-visible slick-current" 704 ) 705 .removeAttr("aria-hidden") 706 .removeAttr("data-slick-index") 707 .each(function () { 708 i(this).attr("style", i(this).data("originalStyling")); 709 }), 710 t.$slideTrack.children(this.options.slide).detach(), 711 t.$slideTrack.detach(), 712 t.$list.detach(), 713 t.$slider.append(t.$slides)), 714 t.cleanUpRows(), 715 t.$slider.removeClass("slick-slider"), 716 t.$slider.removeClass("slick-initialized"), 717 t.$slider.removeClass("slick-dotted"), 718 (t.unslicked = !0), 719 e || t.$slider.trigger("destroy", [t]); 720 }), 721 (e.prototype.disableTransition = function (i) { 722 var e = this, 723 t = {}; 724 (t[e.transitionType] = ""), 725 !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t); 726 }), 727 (e.prototype.fadeSlide = function (i, e) { 728 var t = this; 729 !1 === t.cssTransitions 730 ? (t.$slides.eq(i).css({ zIndex: t.options.zIndex }), 731 t.$slides 732 .eq(i) 733 .animate({ opacity: 1 }, t.options.speed, t.options.easing, e)) 734 : (t.applyTransition(i), 735 t.$slides.eq(i).css({ opacity: 1, zIndex: t.options.zIndex }), 736 e && 737 setTimeout(function () { 738 t.disableTransition(i), e.call(); 739 }, t.options.speed)); 740 }), 741 (e.prototype.fadeSlideOut = function (i) { 742 var e = this; 743 !1 === e.cssTransitions 744 ? e.$slides 745 .eq(i) 746 .animate( 747 { opacity: 0, zIndex: e.options.zIndex - 2 }, 748 e.options.speed, 749 e.options.easing 750 ) 751 : (e.applyTransition(i), 752 e.$slides.eq(i).css({ opacity: 0, zIndex: e.options.zIndex - 2 })); 753 }),
754 (e.prototype.filterSlides = e.prototype.slickFilter = 755 function (i) { 756 var e = this; 757 null !== i && 758 ((e.$slidesCache = e.$slides), 759 e.unload(), 760 e.$slideTrack.children(this.options.slide).detach(), 761 e.$slidesCache.filter(i).appendTo(e.$slideTrack), 762 e.reinit()); 763 }), 764 (e.prototype.focusHandler = function () { 765 var e = this; 766 e.$slider 767 .off("focus.slick blur.slick") 768 .on("focus.slick blur.slick", "*", function (t) { 769 t.stopImmediatePropagation(); 770 var o = i(this); 771 setTimeout(function () { 772 e.options.pauseOnFocus && 773 ((e.focussed = o.is(":focus")), e.autoPlay()); 774 }, 0); 775 }); 776 }), 777 (e.prototype.getCurrent = e.prototype.slickCurrentSlide = 778 function () { 779 return this.currentSlide; 780 }), 781 (e.prototype.getDotCount = function () { 782 var i = this, 783 e = 0, 784 t = 0, 785 o = 0; 786 if (!0 === i.options.infinite) 787 if (i.slideCount <= i.options.slidesToShow) ++o; 788 else 789 for (; e < i.slideCount; ) 790 ++o, 791 (e = t + i.options.slidesToScroll), 792 (t += 793 i.options.slidesToScroll <= i.options.slidesToShow 794 ? i.options.slidesToScroll 795 : i.options.slidesToShow); 796 else if (!0 === i.options.centerMode) o = i.slideCount; 797 else if (i.options.asNavFor) 798 for (; e < i.slideCount; ) 799 ++o, 800 (e = t + i.options.slidesToScroll), 801 (t += 802 i.options.slidesToScroll <= i.options.slidesToShow 803 ? i.options.slidesToScroll 804 : i.options.slidesToShow); 805 else 806 o = 807 1 + 808 Math.ceil( 809 (i.slideCount - i.options.slidesToShow) / i.options.slidesToScroll 810 ); 811 return o - 1; 812 }), 813 (e.prototype.getLeft = function (i) { 814 var e, 815 t, 816 o, 817 s, 818 n = this, 819 r = 0; 820 return ( 821 (n.slideOffset = 0), 822 (t = n.$slides.first().outerHeight(!0)), 823 !0 === n.options.infinite 824 ? (n.slideCount > n.options.slidesToShow && 825 ((n.slideOffset = n.slideWidth * n.options.slidesToShow * -1), 826 (s = -1), 827 !0 === n.options.vertical && 828 !0 === n.options.centerMode && 829 (2 === n.options.slidesToShow 830 ? (s = -1.5) 831 : 1 === n.options.slidesToShow && (s = -2)), 832 (r = t * n.options.slidesToShow * s)), 833 n.slideCount % n.options.slidesToScroll != 0 && 834 i + n.options.slidesToScroll > n.slideCount && 835 n.slideCount > n.options.slidesToShow && 836 (i > n.slideCount 837 ? ((n.slideOffset = 838 (n.options.slidesToShow - (i - n.slideCount)) * 839 n.slideWidth * 840 -1), 841 (r = (n.options.slidesToShow - (i - n.slideCount)) * t * -1)) 842 : ((n.slideOffset = 843 (n.slideCount % n.options.slidesToScroll) * 844 n.slideWidth * 845 -1), 846 (r = (n.slideCount % n.options.slidesToScroll) * t * -1)))) 847 : i + n.options.slidesToShow > n.slideCount && 848 ((n.slideOffset = 849 (i + n.options.slidesToShow - n.slideCount) * n.slideWidth), 850 (r = (i + n.options.slidesToShow - n.slideCount) * t)), 851 n.slideCount <= n.options.slidesToShow && 852 ((n.slideOffset = 0), (r = 0)), 853 !0 === n.options.centerMode && n.slideCount <= n.options.slidesToShow 854 ? (n.slideOffset = 855 (n.slideWidth * Math.floor(n.options.slidesToShow)) / 2 - 856 (n.slideWidth * n.slideCount) / 2) 857 : !0 === n.options.centerMode && !0 === n.options.infinite 858 ? (n.slideOffset += 859 n.slideWidth * Math.floor(n.options.slidesToShow / 2) - 860 n.slideWidth) 861 : !0 === n.options.centerMode && 862 ((n.slideOffset = 0), 863 (n.slideOffset += 864 n.slideWidth * Math.floor(n.options.slidesToShow / 2))), 865 (e = 866 !1 === n.options.vertical 867 ? i * n.slideWidth * -1 + n.slideOffset 868 : i * t * -1 + r), 869 !0 === n.options.variableWidth && 870 ((o = 871 n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite 872 ? n.$slideTrack.children(".slick-slide").eq(i) 873 : n.$slideTrack 874 .children(".slick-slide") 875 .eq(i + n.options.slidesToShow)), 876 (e = 877 !0 === n.options.rtl 878 ? o[0] 879 ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) 880 : 0 881 : o[0] 882 ? -1 * o[0].offsetLeft 883 : 0), 884 !0 === n.options.centerMode && 885 ((o = 886 n.slideCount <= n.options.slidesToShow || 887 !1 === n.options.infinite 888 ? n.$slideTrack.children(".slick-slide").eq(i) 889 : n.$slideTrack 890 .children(".slick-slide") 891 .eq(i + n.options.slidesToShow + 1)), 892 (e = 893 !0 === n.options.rtl 894 ? o[0] 895 ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) 896 : 0 897 : o[0] 898 ? -1 * o[0].offsetLeft 899 : 0), 900 (e += (n.$list.width() - o.outerWidth()) / 2))), 901 e 902 ); 903 }), 904 (e.prototype.getOption = e.prototype.slickGetOption = 905 function (i) { 906 return this.options[i]; 907 }), 908 (e.prototype.getNavigableIndexes = function () { 909 var i, 910 e = this, 911 t = 0, 912 o = 0, 913 s = []; 914 for ( 915 !1 === e.options.infinite 916 ? (i = e.slideCount) 917 : ((t = -1 * e.options.slidesToScroll), 918 (o = -1 * e.options.slidesToScroll),
919 (i = 2 * e.slideCount)); 920 t < i; 921 922 ) 923 s.push(t), 924 (t = o + e.options.slidesToScroll), 925 (o += 926 e.options.slidesToScroll <= e.options.slidesToShow 927 ? e.options.slidesToScroll 928 : e.options.slidesToShow); 929 return s; 930 }), 931 (e.prototype.getSlick = function () { 932 return this; 933 }), 934 (e.prototype.getSlideCount = function () { 935 var e, 936 t, 937 o = this; 938 return ( 939 (t = 940 !0 === o.options.centerMode 941 ? o.slideWidth * Math.floor(o.options.slidesToShow / 2) 942 : 0), 943 !0 === o.options.swipeToSlide 944 ? (o.$slideTrack.find(".slick-slide").each(function (s, n) { 945 if (n.offsetLeft - t + i(n).outerWidth() / 2 > -1 * o.swipeLeft) 946 return (e = n), !1; 947 }), 948 Math.abs(i(e).attr("data-slick-index") - o.currentSlide) || 1) 949 : o.options.slidesToScroll 950 ); 951 }), 952 (e.prototype.goTo = e.prototype.slickGoTo = 953 function (i, e) { 954 this.changeSlide({ data: { message: "index", index: parseInt(i) } }, e); 955 }), 956 (e.prototype.init = function (e) { 957 var t = this; 958 i(t.$slider).hasClass("slick-initialized") || 959 (i(t.$slider).addClass("slick-initialized"), 960 t.buildRows(), 961 t.buildOut(), 962 t.setProps(), 963 t.startLoad(), 964 t.loadSlider(), 965 t.initializeEvents(), 966 t.updateArrows(), 967 t.updateDots(), 968 t.checkResponsive(!0), 969 t.focusHandler()), 970 e && t.$slider.trigger("init", [t]), 971 !0 === t.options.accessibility && t.initADA(), 972 t.options.autoplay && ((t.paused = !1), t.autoPlay()); 973 }), 974 (e.prototype.initADA = function () { 975 var e = this, 976 t = Math.ceil(e.slideCount / e.options.slidesToShow), 977 o = e.getNavigableIndexes().filter(function (i) { 978 return i >= 0 && i < e.slideCount; 979 }); 980 e.$slides 981 .add(e.$slideTrack.find(".slick-cloned")) 982 .attr({ "aria-hidden": "true", tabindex: "-1" }) 983 .find("a, input, button, select") 984 .attr({ tabindex: "-1" }), 985 null !== e.$dots && 986 (e.$slides 987 .not(e.$slideTrack.find(".slick-cloned")) 988 .each(function (t) { 989 var s = o.indexOf(t); 990 i(this).attr({ 991 role: "tabpanel", 992 id: "slick-slide" + e.instanceUid + t, 993 tabindex: -1, 994 }), 995 -1 !== s && 996 i(this).attr({ 997 "aria-describedby": 998 "slick-slide-control" + e.instanceUid + s, 999 }); 1000 }), 1001 e.$dots 1002 .attr("role", "tablist") 1003 .find("li") 1004 .each(function (s) { 1005 var n = o[s]; 1006 i(this).attr({ role: "presentation" }), 1007 i(this) 1008 .find("button") 1009 .first() 1010 .attr({ 1011 role: "tab", 1012 id: "slick-slide-control" + e.instanceUid + s, 1013 "aria-controls": "slick-slide" + e.instanceUid + n, 1014 "aria-label": s + 1 + " of " + t, 1015 "aria-selected": null, 1016 tabindex: "-1", 1017 }); 1018 }) 1019 .eq(e.currentSlide) 1020 .find("button") 1021 .attr({ "aria-selected": "true", tabindex: "0" }) 1022 .end()); 1023 for (var s = e.currentSlide, n = s + e.options.slidesToShow; s < n; s++) 1024 e.$slides.eq(s).attr("tabindex", 0); 1025 e.activateADA(); 1026 }), 1027 (e.prototype.initArrowEvents = function () { 1028 var i = this; 1029 !0 === i.options.arrows && 1030 i.slideCount > i.options.slidesToShow && 1031 (i.$prevArrow 1032 .off("click.slick") 1033 .on("click.slick", { message: "previous" }, i.changeSlide), 1034 i.$nextArrow 1035 .off("click.slick") 1036 .on("click.slick", { message: "next" }, i.changeSlide), 1037 !0 === i.options.accessibility && 1038 (i.$prevArrow.on("keydown.slick", i.keyHandler), 1039 i.$nextArrow.on("keydown.slick", i.keyHandler))); 1040 }), 1041 (e.prototype.initDotEvents = function () { 1042 var e = this; 1043 !0 === e.options.dots && 1044 (i("li", e.$dots).on( 1045 "click.slick", 1046 { message: "index" }, 1047 e.changeSlide 1048 ), 1049 !0 === e.options.accessibility && 1050 e.$dots.on("keydown.slick", e.keyHandler)), 1051 !0 === e.options.dots && 1052 !0 === e.options.pauseOnDotsHover && 1053 i("li", e.$dots) 1054 .on("mouseenter.slick", i.proxy(e.interrupt, e, !0))
1055 .on("mouseleave.slick", i.proxy(e.interrupt, e, !1)); 1056 }), 1057 (e.prototype.initSlideEvents = function () { 1058 var e = this; 1059 e.options.pauseOnHover && 1060 (e.$list.on("mouseenter.slick", i.proxy(e.interrupt, e, !0)), 1061 e.$list.on("mouseleave.slick", i.proxy(e.interrupt, e, !1))); 1062 }), 1063 (e.prototype.initializeEvents = function () { 1064 var e = this; 1065 e.initArrowEvents(), 1066 e.initDotEvents(), 1067 e.initSlideEvents(), 1068 e.$list.on( 1069 "touchstart.slick mousedown.slick", 1070 { action: "start" }, 1071 e.swipeHandler 1072 ), 1073 e.$list.on( 1074 "touchmove.slick mousemove.slick", 1075 { action: "move" }, 1076 e.swipeHandler 1077 ), 1078 e.$list.on( 1079 "touchend.slick mouseup.slick", 1080 { action: "end" }, 1081 e.swipeHandler 1082 ), 1083 e.$list.on( 1084 "touchcancel.slick mouseleave.slick", 1085 { action: "end" }, 1086 e.swipeHandler 1087 ), 1088 e.$list.on("click.slick", e.clickHandler), 1089 i(document).on(e.visibilityChange, i.proxy(e.visibility, e)), 1090 !0 === e.options.accessibility && 1091 e.$list.on("keydown.slick", e.keyHandler), 1092 !0 === e.options.focusOnSelect && 1093 i(e.$slideTrack).children().on("click.slick", e.selectHandler), 1094 i(window).on( 1095 "orientationchange.slick.slick-" + e.instanceUid, 1096 i.proxy(e.orientationChange, e) 1097 ), 1098 i(window).on( 1099 "resize.slick.slick-" + e.instanceUid, 1100 i.proxy(e.resize, e) 1101 ), 1102 i("[draggable!=true]", e.$slideTrack).on("dragstart", e.preventDefault), 1103 i(window).on("load.slick.slick-" + e.instanceUid, e.setPosition), 1104 i(e.setPosition); 1105 }), 1106 (e.prototype.initUI = function () { 1107 var i = this; 1108 !0 === i.options.arrows && 1109 i.slideCount > i.options.slidesToShow && 1110 (i.$prevArrow.show(), i.$nextArrow.show()), 1111 !0 === i.options.dots && 1112 i.slideCount > i.options.slidesToShow && 1113 i.$dots.show(); 1114 }), 1115 (e.prototype.keyHandler = function (i) { 1116 var e = this; 1117 i.target.tagName.match("TEXTAREA|INPUT|SELECT") || 1118 (37 === i.keyCode && !0 === e.options.accessibility 1119 ? e.changeSlide({ 1120 data: { message: !0 === e.options.rtl ? "next" : "previous" }, 1121 }) 1122 : 39 === i.keyCode && 1123 !0 === e.options.accessibility && 1124 e.changeSlide({ 1125 data: { message: !0 === e.options.rtl ? "previous" : "next" }, 1126 })); 1127 }), 1128 (e.prototype.lazyLoad = function () { 1129 function e(e) { 1130 i("img[data-lazy]", e).each(function () { 1131 var e = i(this), 1132 t = i(this).attr("data-lazy"), 1133 o = i(this).attr("data-srcset"), 1134 s = i(this).attr("data-sizes") || n.$slider.attr("data-sizes"), 1135 r = document.createElement("img"); 1136 (r.onload = function () { 1137 e.animate({ opacity: 0 }, 100, function () { 1138 o && (e.attr("srcset", o), s && e.attr("sizes", s)), 1139 e.attr("src", t).animate({ opacity: 1 }, 200, function () { 1140 e.removeAttr("data-lazy data-srcset data-sizes").removeClass( 1141 "slick-loading" 1142 ); 1143 }), 1144 n.$slider.trigger("lazyLoaded", [n, e, t]); 1145 }); 1146 }), 1147 (r.onerror = function () { 1148 e 1149 .removeAttr("data-lazy") 1150 .removeClass("slick-loading") 1151 .addClass("slick-lazyload-error"), 1152 n.$slider.trigger("lazyLoadError", [n, e, t]); 1153 }), 1154 (r.src = t); 1155 }); 1156 } 1157 var t, 1158 o, 1159 s, 1160 n = this; 1161 if ( 1162 (!0 === n.options.centerMode 1163 ? !0 === n.options.infinite 1164 ? (s = 1165 (o = n.currentSlide + (n.options.slidesToShow / 2 + 1)) + 1166 n.options.slidesToShow + 1167 2) 1168 : ((o = Math.max( 1169 0, 1170 n.currentSlide - (n.options.slidesToShow / 2 + 1) 1171 )), 1172 (s = n.options.slidesToShow / 2 + 1 + 2 + n.currentSlide)) 1173 : ((o = n.options.infinite 1174 ? n.options.slidesToShow + n.currentSlide 1175 : n.currentSlide), 1176 (s = Math.ceil(o + n.options.slidesToShow)), 1177 !0 === n.options.fade && (o > 0 && o--, s <= n.slideCount && s++)), 1178 (t = n.$slider.find(".slick-slide").slice(o, s)), 1179 "anticipated" === n.options.lazyLoad) 1180 ) 1181 for ( 1182 var r = o - 1, l = s, d = n.$slider.find(".slick-slide"), a = 0; 1183 a < n.options.slidesToScroll; 1184 a++ 1185 ) 1186 r < 0 && (r = n.slideCount - 1), 1187 (t = (t = t.add(d.eq(r))).add(d.eq(l))), 1188 r--, 1189 l++; 1190 e(t), 1191 n.slideCount <= n.options.slidesToShow 1192 ? e(n.$slider.find(".slick-slide")) 1193 : n.currentSlide >= n.slideCount - n.options.slidesToShow 1194 ? e(n.$slider.find(".slick-cloned").slice(0, n.options.slidesToShow)) 1195 : 0 === n.currentSlide && 1196 e( 1197 n.$slider.find(".slick-cloned").slice(-1 * n.options.slidesToShow) 1198 ); 1199 }), 1200 (e.prototype.loadSlider = function () { 1201 var i = this; 1202 i.setPosition(), 1203 i.$slideTrack.css({ opacity: 1 }), 1204 i.$slider.removeClass("slick-loading"), 1205 i.initUI(), 1206 "progressive" === i.options.lazyLoad && i.progressiveLazyLoad(); 1207 }), 1208 (e.prototype.next = e.prototype.slickNext = 1209 function () { 1210 this.changeSlide({ data: { message: "next" } }); 1211 }), 1212 (e.prototype.orientationChange = function () { 1213 var i = this; 1214 i.checkResponsive(), i.setPosition(); 1215 }), 1216 (e.prototype.pause = e.prototype.slickPause = 1217 function () { 1218 var i = this; 1219 i.autoPlayClear(), (i.paused = !0); 1220 }), 1221 (e.prototype.play = e.prototype.slickPlay = 1222 function () { 1223 var i = this; 1224 i.autoPlay(), 1225 (i.options.autoplay = !0), 1226 (i.paused = !1), 1227 (i.focussed = !1), 1228 (i.interrupted = !1); 1229 }), 1230 (e.prototype.postSlide = function (e) { 1231 var t = this; 1232 t.unslicked || 1233 (t.$slider.trigger("afterChange", [t, e]), 1234 (t.animating = !1), 1235 t.slideCount > t.options.slidesToShow && t.setPosition(), 1236 (t.swipeLeft = null),
1237 t.options.autoplay && t.autoPlay(), 1238 !0 === t.options.accessibility && 1239 (t.initADA(), 1240 t.options.focusOnChange && 1241 i(t.$slides.get(t.currentSlide)).attr("tabindex", 0).focus())); 1242 }), 1243 (e.prototype.prev = e.prototype.slickPrev = 1244 function () { 1245 this.changeSlide({ data: { message: "previous" } }); 1246 }), 1247 (e.prototype.preventDefault = function (i) { 1248 i.preventDefault(); 1249 }), 1250 (e.prototype.progressiveLazyLoad = function (e) { 1251 e = e || 1; 1252 var t, 1253 o, 1254 s, 1255 n, 1256 r, 1257 l = this, 1258 d = i("img[data-lazy]", l.$slider); 1259 d.length 1260 ? ((t = d.first()), 1261 (o = t.attr("data-lazy")), 1262 (s = t.attr("data-srcset")), 1263 (n = t.attr("data-sizes") || l.$slider.attr("data-sizes")), 1264 ((r = document.createElement("img")).onload = function () { 1265 s && (t.attr("srcset", s), n && t.attr("sizes", n)), 1266 t 1267 .attr("src", o) 1268 .removeAttr("data-lazy data-srcset data-sizes") 1269 .removeClass("slick-loading"), 1270 !0 === l.options.adaptiveHeight && l.setPosition(), 1271 l.$slider.trigger("lazyLoaded", [l, t, o]), 1272 l.progressiveLazyLoad(); 1273 }), 1274 (r.onerror = function () { 1275 e < 3 1276 ? setTimeout(function () { 1277 l.progressiveLazyLoad(e + 1); 1278 }, 500) 1279 : (t 1280 .removeAttr("data-lazy") 1281 .removeClass("slick-loading") 1282 .addClass("slick-lazyload-error"), 1283 l.$slider.trigger("lazyLoadError", [l, t, o]), 1284 l.progressiveLazyLoad()); 1285 }), 1286 (r.src = o)) 1287 : l.$slider.trigger("allImagesLoaded", [l]); 1288 }), 1289 (e.prototype.refresh = function (e) { 1290 var t, 1291 o, 1292 s = this; 1293 (o = s.slideCount - s.options.slidesToShow), 1294 !s.options.infinite && s.currentSlide > o && (s.currentSlide = o), 1295 s.slideCount <= s.options.slidesToShow && (s.currentSlide = 0), 1296 (t = s.currentSlide), 1297 s.destroy(!0), 1298 i.extend(s, s.initials, { currentSlide: t }), 1299 s.init(), 1300 e || s.changeSlide({ data: { message: "index", index: t } }, !1); 1301 }), 1302 (e.prototype.registerBreakpoints = function () { 1303 var e, 1304 t, 1305 o, 1306 s = this, 1307 n = s.options.responsive || null; 1308 if ("array" === i.type(n) && n.length) { 1309 s.respondTo = s.options.respondTo || "window"; 1310 for (e in n) 1311 if (((o = s.breakpoints.length - 1), n.hasOwnProperty(e))) { 1312 for (t = n[e].breakpoint; o >= 0; ) 1313 s.breakpoints[o] && 1314 s.breakpoints[o] === t && 1315 s.breakpoints.splice(o, 1), 1316 o--; 1317 s.breakpoints.push(t), (s.breakpointSettings[t] = n[e].settings); 1318 } 1319 s.breakpoints.sort(function (i, e) { 1320 return s.options.mobileFirst ? i - e : e - i; 1321 }); 1322 } 1323 }), 1324 (e.prototype.reinit = function () { 1325 var e = this; 1326 (e.$slides = e.$slideTrack 1327 .children(e.options.slide) 1328 .addClass("slick-slide")), 1329 (e.slideCount = e.$slides.length), 1330 e.currentSlide >= e.slideCount && 1331 0 !== e.currentSlide && 1332 (e.currentSlide = e.currentSlide - e.options.slidesToScroll), 1333 e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0), 1334 e.registerBreakpoints(), 1335 e.setProps(), 1336 e.setupInfinite(), 1337 e.buildArrows(), 1338 e.updateArrows(), 1339 e.initArrowEvents(), 1340 e.buildDots(), 1341 e.updateDots(), 1342 e.initDotEvents(), 1343 e.cleanUpSlideEvents(), 1344 e.initSlideEvents(), 1345 e.checkResponsive(!1, !0), 1346 !0 === e.options.focusOnSelect && 1347 i(e.$slideTrack).children().on("click.slick", e.selectHandler), 1348 e.setSlideClasses( 1349 "number" == typeof e.currentSlide ? e.currentSlide : 0 1350 ), 1351 e.setPosition(), 1352 e.focusHandler(), 1353 (e.paused = !e.options.autoplay), 1354 e.autoPlay(), 1355 e.$slider.trigger("reInit", [e]); 1356 }), 1357 (e.prototype.resize = function () { 1358 var e = this; 1359 i(window).width() !== e.windowWidth && 1360 (clearTimeout(e.windowDelay), 1361 (e.windowDelay = window.setTimeout(function () { 1362 (e.windowWidth = i(window).width()), 1363 e.checkResponsive(), 1364 e.unslicked || e.setPosition(); 1365 }, 50))); 1366 }), 1367 (e.prototype.removeSlide = e.prototype.slickRemove = 1368 function (i, e, t) { 1369 var o = this; 1370 if ( 1371 ((i = 1372 "boolean" == typeof i 1373 ? !0 === (e = i) 1374 ? 0 1375 : o.slideCount - 1 1376 : !0 === e 1377 ? --i 1378 : i), 1379 o.slideCount < 1 || i < 0 || i > o.slideCount - 1) 1380 ) 1381 return !1; 1382 o.unload(), 1383 !0 === t 1384 ? o.$slideTrack.children().remove() 1385 : o.$slideTrack.children(this.options.slide).eq(i).remove(), 1386 (o.$slides = o.$slideTrack.children(this.options.slide)), 1387 o.$slideTrack.children(this.options.slide).detach(), 1388 o.$slideTrack.append(o.$slides), 1389 (o.$slidesCache = o.$slides), 1390 o.reinit(); 1391 }), 1392 (e.prototype.setCSS = function (i) { 1393 var e, 1394 t, 1395 o = this, 1396 s = {}; 1397 !0 === o.options.rtl && (i = -i), 1398 (e = "left" == o.positionProp ? Math.ceil(i) + "px" : "0px"), 1399 (t = "top" == o.positionProp ? Math.ceil(i) + "px" : "0px"), 1400 (s[o.positionProp] = i), 1401 !1 === o.transformsEnabled 1402 ? o.$slideTrack.css(s) 1403 : ((s = {}), 1404 !1 === o.cssTransitions 1405 ? ((s[o.animType] = "translate(" + e + ", " + t + ")"), 1406 o.$slideTrack.css(s)) 1407 : ((s[o.animType] = "translate3d(" + e + ", " + t + ", 0px)"), 1408 o.$slideTrack.css(s))); 1409 }), 1410 (e.prototype.setDimensions = function () { 1411 var i = this; 1412 !1 === i.options.vertical 1413 ? !0 === i.options.centerMode && 1414 i.$list.css({ padding: "0px " + i.options.centerPadding }) 1415 : (i.$list.height( 1416 i.$slides.first().outerHeight(!0) * i.options.slidesToShow 1417 ), 1418 !0 === i.options.centerMode && 1419 i.$list.css({ padding: i.options.centerPadding + " 0px" })), 1420 (i.listWidth = i.$list.width()), 1421 (i.listHeight = i.$list.height()), 1422 !1 === i.options.vertical && !1 === i.options.variableWidth 1423 ? ((i.slideWidth = Math.ceil(i.listWidth / i.options.slidesToShow)), 1424 i.$slideTrack.width( 1425 Math.ceil( 1426 i.slideWidth * i.$slideTrack.children(".slick-slide").length 1427 ) 1428 )) 1429 : !0 === i.options.variableWidth 1430 ? i.$slideTrack.width(5e3 * i.slideCount) 1431 : ((i.slideWidth = Math.ceil(i.listWidth)), 1432 i.$slideTrack.height( 1433 Math.ceil( 1434 i.$slides.first().outerHeight(!0) * 1435 i.$slideTrack.children(".slick-slide").length 1436 ) 1437 )); 1438 var e = i.$slides.first().outerWidth(!0) - i.$slides.first().width(); 1439 !1 === i.options.variableWidth && 1440 i.$slideTrack.children(".slick-slide").width(i.slideWidth - e); 1441 }), 1442 (e.prototype.setFade = function () { 1443 var e, 1444 t = this; 1445 t.$slides.each(function (o, s) { 1446 (e = t.slideWidth * o * -1), 1447 !0 === t.options.rtl 1448 ? i(s).css({ 1449 position: "relative", 1450 right: e, 1451 top: 0, 1452 zIndex: t.options.zIndex - 2, 1453 opacity: 0, 1454 }) 1455 : i(s).css({ 1456 position: "relative", 1457 left: e, 1458 top: 0, 1459 zIndex: t.options.zIndex - 2, 1460 opacity: 0, 1461 }); 1462 }), 1463 t.$slides 1464 .eq(t.currentSlide) 1465 .css({ zIndex: t.options.zIndex - 1, opacity: 1 }); 1466 }), 1467 (e.prototype.setHeight = function () { 1468 var i = this; 1469 if ( 1470 1 === i.options.slidesToShow && 1471 !0 === i.options.adaptiveHeight && 1472 !1 === i.options.vertical 1473 ) { 1474 var e = i.$slides.eq(i.currentSlide).outerHeight(!0); 1475 i.$list.css("height", e); 1476 } 1477 }), 1478 (e.prototype.setOption = e.prototype.slickSetOption = 1479 function () { 1480 var e, 1481 t, 1482 o, 1483 s, 1484 n, 1485 r = this, 1486 l = !1; 1487 if ( 1488 ("object" === i.type(arguments[0]) 1489 ? ((o = arguments[0]), (l = arguments[1]), (n = "multiple")) 1490 : "string" === i.type(arguments[0]) && 1491 ((o = arguments[0]), 1492 (s = arguments[1]), 1493 (l = arguments[2]), 1494 "responsive" === arguments[0] && "array" === i.type(arguments[1]) 1495 ? (n = "responsive") 1496 : void 0 !== arguments[1] && (n = "single")), 1497 "single" === n) 1498 ) 1499 r.options[o] = s; 1500 else if ("multiple" === n) 1501 i.each(o, function (i, e) { 1502 r.options[i] = e; 1503 }); 1504 else if ("responsive" === n) 1505 for (t in s) 1506 if ("array" !== i.type(r.options.responsive)) 1507 r.options.responsive = [s[t]]; 1508 else { 1509 for (e = r.options.responsive.length - 1; e >= 0; ) 1510 r.options.responsive[e].breakpoint === s[t].breakpoint && 1511 r.options.responsive.splice(e, 1), 1512 e--; 1513 r.options.responsive.push(s[t]); 1514 } 1515 l && (r.unload(), r.reinit()); 1516 }), 1517 (e.prototype.setPosition = function () { 1518 var i = this; 1519 i.setDimensions(), 1520 i.setHeight(), 1521 !1 === i.options.fade 1522 ? i.setCSS(i.getLeft(i.currentSlide)) 1523 : i.setFade(), 1524 i.$slider.trigger("setPosition", [i]); 1525 }), 1526 (e.prototype.setProps = function () { 1527 var i = this, 1528 e = document.body.style; 1529 (i.positionProp = !0 === i.options.vertical ? "top" : "left"), 1530 "top" === i.positionProp 1531 ? i.$slider.addClass("slick-vertical") 1532 : i.$slider.removeClass("slick-vertical"), 1533 (void 0 === e.WebkitTransition && 1534 void 0 === e.MozTransition && 1535 void 0 === e.msTransition) || 1536 (!0 === i.options.useCSS && (i.cssTransitions = !0)), 1537 i.options.fade && 1538 ("number" == typeof i.options.zIndex 1539 ? i.options.zIndex < 3 && (i.options.zIndex = 3) 1540 : (i.options.zIndex = i.defaults.zIndex)), 1541 void 0 !== e.OTransform && 1542 ((i.animType = "OTransform"), 1543 (i.transformType = "-o-transform"), 1544 (i.transitionType = "OTransition"), 1545 void 0 === e.perspectiveProperty && 1546 void 0 === e.webkitPerspective && 1547 (i.animType = !1)), 1548 void 0 !== e.MozTransform && 1549 ((i.animType = "MozTransform"), 1550 (i.transformType = "-moz-transform"), 1551 (i.transitionType = "MozTransition"), 1552 void 0 === e.perspectiveProperty && 1553 void 0 === e.MozPerspective && 1554 (i.animType = !1)), 1555 void 0 !== e.webkitTransform &&
1556 ((i.animType = "webkitTransform"), 1557 (i.transformType = "-webkit-transform"), 1558 (i.transitionType = "webkitTransition"), 1559 void 0 === e.perspectiveProperty && 1560 void 0 === e.webkitPerspective && 1561 (i.animType = !1)), 1562 void 0 !== e.msTransform && 1563 ((i.animType = "msTransform"), 1564 (i.transformType = "-ms-transform"), 1565 (i.transitionType = "msTransition"), 1566 void 0 === e.msTransform && (i.animType = !1)), 1567 void 0 !== e.transform && 1568 !1 !== i.animType && 1569 ((i.animType = "transform"), 1570 (i.transformType = "transform"), 1571 (i.transitionType = "transition")), 1572 (i.transformsEnabled = 1573 i.options.useTransform && null !== i.animType && !1 !== i.animType); 1574 }), 1575 (e.prototype.setSlideClasses = function (i) { 1576 var e, 1577 t, 1578 o, 1579 s, 1580 n = this; 1581 if ( 1582 ((t = n.$slider 1583 .find(".slick-slide") 1584 .removeClass("slick-active slick-center slick-current") 1585 .attr("aria-hidden", "true")), 1586 n.$slides.eq(i).addClass("slick-current"), 1587 !0 === n.options.centerMode) 1588 ) { 1589 var r = n.options.slidesToShow % 2 == 0 ? 1 : 0; 1590 (e = Math.floor(n.options.slidesToShow / 2)), 1591 !0 === n.options.infinite && 1592 (i >= e && i <= n.slideCount - 1 - e 1593 ? n.$slides 1594 .slice(i - e + r, i + e + 1) 1595 .addClass("slick-active") 1596 .attr("aria-hidden", "false") 1597 : ((o = n.options.slidesToShow + i), 1598 t 1599 .slice(o - e + 1 + r, o + e + 2) 1600 .addClass("slick-active") 1601 .attr("aria-hidden", "false")), 1602 0 === i 1603 ? t 1604 .eq(t.length - 1 - n.options.slidesToShow) 1605 .addClass("slick-center") 1606 : i === n.slideCount - 1 && 1607 t.eq(n.options.slidesToShow).addClass("slick-center")), 1608 n.$slides.eq(i).addClass("slick-center"); 1609 } else 1610 i >= 0 && i <= n.slideCount - n.options.slidesToShow 1611 ? n.$slides 1612 .slice(i, i + n.options.slidesToShow) 1613 .addClass("slick-active") 1614 .attr("aria-hidden", "false") 1615 : t.length <= n.options.slidesToShow 1616 ? t.addClass("slick-active").attr("aria-hidden", "false") 1617 : ((s = n.slideCount % n.options.slidesToShow), 1618 (o = !0 === n.options.infinite ? n.options.slidesToShow + i : i), 1619 n.options.slidesToShow == n.options.slidesToScroll && 1620 n.slideCount - i < n.options.slidesToShow 1621 ? t 1622 .slice(o - (n.options.slidesToShow - s), o + s) 1623 .addClass("slick-active") 1624 .attr("aria-hidden", "false") 1625 : t 1626 .slice(o, o + n.options.slidesToShow) 1627 .addClass("slick-active") 1628 .attr("aria-hidden", "false")); 1629 ("ondemand" !== n.options.lazyLoad && 1630 "anticipated" !== n.options.lazyLoad) || 1631 n.lazyLoad(); 1632 }), 1633 (e.prototype.setupInfinite = function () { 1634 var e, 1635 t, 1636 o, 1637 s = this; 1638 if ( 1639 (!0 === s.options.fade && (s.options.centerMode = !1), 1640 !0 === s.options.infinite && 1641 !1 === s.options.fade && 1642 ((t = null), s.slideCount > s.options.slidesToShow)) 1643 ) { 1644 for ( 1645 o = 1646 !0 === s.options.centerMode 1647 ? s.options.slidesToShow + 1 1648 : s.options.slidesToShow, 1649 e = s.slideCount; 1650 e > s.slideCount - o; 1651 e -= 1 1652 ) 1653 (t = e - 1), 1654 i(s.$slides[t]) 1655 .clone(!0) 1656 .attr("id", "") 1657 .attr("data-slick-index", t - s.slideCount) 1658 .prependTo(s.$slideTrack) 1659 .addClass("slick-cloned"); 1660 for (e = 0; e < o + s.slideCount; e += 1) 1661 (t = e), 1662 i(s.$slides[t]) 1663 .clone(!0) 1664 .attr("id", "") 1665 .attr("data-slick-index", t + s.slideCount) 1666 .appendTo(s.$slideTrack) 1667 .addClass("slick-cloned"); 1668 s.$slideTrack 1669 .find(".slick-cloned") 1670 .find("[id]") 1671 .each(function () { 1672 i(this).attr("id", ""); 1673 }); 1674 } 1675 }), 1676 (e.prototype.interrupt = function (i) { 1677 var e = this; 1678 i || e.autoPlay(), (e.interrupted = i); 1679 }), 1680 (e.prototype.selectHandler = function (e) { 1681 var t = this, 1682 o = i(e.target).is(".slick-slide") 1683 ? i(e.target) 1684 : i(e.target).parents(".slick-slide"), 1685 s = parseInt(o.attr("data-slick-index")); 1686 s || (s = 0), 1687 t.slideCount <= t.options.slidesToShow 1688 ? t.slideHandler(s, !1, !0) 1689 : t.slideHandler(s); 1690 }), 1691 (e.prototype.slideHandler = function (i, e, t) { 1692 var o, 1693 s, 1694 n, 1695 r, 1696 l, 1697 d = null, 1698 a = this; 1699 if ( 1700 ((e = e || !1), 1701 !( 1702 (!0 === a.animating && !0 === a.options.waitForAnimate) || 1703 (!0 === a.options.fade && a.currentSlide === i) 1704 )) 1705 ) 1706 if ( 1707 (!1 === e && a.asNavFor(i), 1708 (o = i), 1709 (d = a.getLeft(o)), 1710 (r = a.getLeft(a.currentSlide)), 1711 (a.currentLeft = null === a.swipeLeft ? r : a.swipeLeft), 1712 !1 === a.options.infinite && 1713 !1 === a.options.centerMode && 1714 (i < 0 || i > a.getDotCount() * a.options.slidesToScroll)) 1715 ) 1716 !1 === a.options.fade && 1717 ((o = a.currentSlide), 1718 !0 !== t 1719 ? a.animateSlide(r, function () { 1720 a.postSlide(o); 1721 }) 1722 : a.postSlide(o)); 1723 else if ( 1724 !1 === a.options.infinite && 1725 !0 === a.options.centerMode && 1726 (i < 0 || i > a.slideCount - a.options.slidesToScroll) 1727 ) 1728 !1 === a.options.fade && 1729 ((o = a.currentSlide), 1730 !0 !== t 1731 ? a.animateSlide(r, function () { 1732 a.postSlide(o); 1733 }) 1734 : a.postSlide(o)); 1735 else { 1736 if ( 1737 (a.options.autoplay && clearInterval(a.autoPlayTimer), 1738 (s = 1739 o < 0 1740 ? a.slideCount % a.options.slidesToScroll != 0 1741 ? a.slideCount - (a.slideCount % a.options.slidesToScroll) 1742 : a.slideCount + o 1743 : o >= a.slideCount 1744 ? a.slideCount % a.options.slidesToScroll != 0 1745 ? 0 1746 : o - a.slideCount 1747 : o), 1748 (a.animating = !0), 1749 a.$slider.trigger("beforeChange", [a, a.currentSlide, s]), 1750 (n = a.currentSlide), 1751 (a.currentSlide = s), 1752 a.setSlideClasses(a.currentSlide), 1753 a.options.asNavFor && 1754 (l = (l = a.getNavTarget()).slick("getSlick")).slideCount <= 1755 l.options.slidesToShow && 1756 l.setSlideClasses(a.currentSlide), 1757 a.updateDots(), 1758 a.updateArrows(), 1759 !0 === a.options.fade) 1760 ) 1761 return ( 1762 !0 !== t 1763 ? (a.fadeSlideOut(n), 1764 a.fadeSlide(s, function () { 1765 a.postSlide(s); 1766 })) 1767 : a.postSlide(s), 1768 void a.animateHeight() 1769 ); 1770 !0 !== t 1771 ? a.animateSlide(d, function () { 1772 a.postSlide(s); 1773 }) 1774 : a.postSlide(s); 1775 } 1776 }), 1777 (e.prototype.startLoad = function () { 1778 var i = this; 1779 !0 === i.options.arrows && 1780 i.slideCount > i.options.slidesToShow && 1781 (i.$prevArrow.hide(), i.$nextArrow.hide()), 1782 !0 === i.options.dots && 1783 i.slideCount > i.options.slidesToShow && 1784 i.$dots.hide(), 1785 i.$slider.addClass("slick-loading"); 1786 }), 1787 (e.prototype.swipeDirection = function () { 1788 var i, 1789 e, 1790 t, 1791 o, 1792 s = this; 1793 return ( 1794 (i = s.touchObject.startX - s.touchObject.curX), 1795 (e = s.touchObject.startY - s.touchObject.curY), 1796 (t = Math.atan2(e, i)), 1797 (o = Math.round((180 * t) / Math.PI)) < 0 && (o = 360 - Math.abs(o)), 1798 o <= 45 && o >= 0 1799 ? !1 === s.options.rtl 1800 ? "left" 1801 : "right" 1802 : o <= 360 && o >= 315 1803 ? !1 === s.options.rtl 1804 ? "left" 1805 : "right" 1806 : o >= 135 && o <= 225 1807 ? !1 === s.options.rtl 1808 ? "right" 1809 : "left" 1810 : !0 === s.options.verticalSwiping 1811 ? o >= 35 && o <= 135 1812 ? "down" 1813 : "up" 1814 : "vertical" 1815 ); 1816 }), 1817 (e.prototype.swipeEnd = function (i) { 1818 var e, 1819 t, 1820 o = this; 1821 if (((o.dragging = !1), (o.swiping = !1), o.scrolling)) 1822 return (o.scrolling = !1), !1; 1823 if ( 1824 ((o.interrupted = !1), 1825 (o.shouldClick = !(o.touchObject.swipeLength > 10)), 1826 void 0 === o.touchObject.curX) 1827 ) 1828 return !1; 1829 if ( 1830 (!0 === o.touchObject.edgeHit && 1831 o.$slider.trigger("edge", [o, o.swipeDirection()]), 1832 o.touchObject.swipeLength >= o.touchObject.minSwipe) 1833 ) { 1834 switch ((t = o.swipeDirection())) {
1835 case "left": 1836 case "down": 1837 (e = o.options.swipeToSlide 1838 ? o.checkNavigable(o.currentSlide + o.getSlideCount()) 1839 : o.currentSlide + o.getSlideCount()), 1840 (o.currentDirection = 0); 1841 break; 1842 case "right": 1843 case "up": 1844 (e = o.options.swipeToSlide 1845 ? o.checkNavigable(o.currentSlide - o.getSlideCount()) 1846 : o.currentSlide - o.getSlideCount()), 1847 (o.currentDirection = 1); 1848 } 1849 "vertical" != t && 1850 (o.slideHandler(e), 1851 (o.touchObject = {}), 1852 o.$slider.trigger("swipe", [o, t])); 1853 } else 1854 o.touchObject.startX !== o.touchObject.curX && 1855 (o.slideHandler(o.currentSlide), (o.touchObject = {})); 1856 }), 1857 (e.prototype.swipeHandler = function (i) { 1858 var e = this; 1859 if ( 1860 !( 1861 !1 === e.options.swipe || 1862 ("ontouchend" in document && !1 === e.options.swipe) || 1863 (!1 === e.options.draggable && -1 !== i.type.indexOf("mouse")) 1864 ) 1865 ) 1866 switch ( 1867 ((e.touchObject.fingerCount = 1868 i.originalEvent && void 0 !== i.originalEvent.touches 1869 ? i.originalEvent.touches.length 1870 : 1), 1871 (e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold), 1872 !0 === e.options.verticalSwiping && 1873 (e.touchObject.minSwipe = e.listHeight / e.options.touchThreshold), 1874 i.data.action) 1875 ) { 1876 case "start": 1877 e.swipeStart(i); 1878 break; 1879 case "move": 1880 e.swipeMove(i); 1881 break; 1882 case "end": 1883 e.swipeEnd(i); 1884 } 1885 }), 1886 (e.prototype.swipeMove = function (i) { 1887 var e, 1888 t, 1889 o, 1890 s, 1891 n, 1892 r, 1893 l = this; 1894 return ( 1895 (n = void 0 !== i.originalEvent ? i.originalEvent.touches : null), 1896 !(!l.dragging || l.scrolling || (n && 1 !== n.length)) && 1897 ((e = l.getLeft(l.currentSlide)), 1898 (l.touchObject.curX = void 0 !== n ? n[0].pageX : i.clientX), 1899 (l.touchObject.curY = void 0 !== n ? n[0].pageY : i.clientY), 1900 (l.touchObject.swipeLength = Math.round( 1901 Math.sqrt(Math.pow(l.touchObject.curX - l.touchObject.startX, 2)) 1902 )), 1903 (r = Math.round( 1904 Math.sqrt(Math.pow(l.touchObject.curY - l.touchObject.startY, 2)) 1905 )), 1906 !l.options.verticalSwiping && !l.swiping && r > 4 1907 ? ((l.scrolling = !0), !1) 1908 : (!0 === l.options.verticalSwiping && 1909 (l.touchObject.swipeLength = r), 1910 (t = l.swipeDirection()), 1911 void 0 !== i.originalEvent && 1912 l.touchObject.swipeLength > 4 && 1913 ((l.swiping = !0), i.preventDefault()), 1914 (s = 1915 (!1 === l.options.rtl ? 1 : -1) * 1916 (l.touchObject.curX > l.touchObject.startX ? 1 : -1)), 1917 !0 === l.options.verticalSwiping && 1918 (s = l.touchObject.curY > l.touchObject.startY ? 1 : -1), 1919 (o = l.touchObject.swipeLength), 1920 (l.touchObject.edgeHit = !1), 1921 !1 === l.options.infinite && 1922 ((0 === l.currentSlide && "right" === t) || 1923 (l.currentSlide >= l.getDotCount() && "left" === t)) && 1924 ((o = l.touchObject.swipeLength * l.options.edgeFriction), 1925 (l.touchObject.edgeHit = !0)), 1926 !1 === l.options.vertical 1927 ? (l.swipeLeft = e + o * s) 1928 : (l.swipeLeft = e + o * (l.$list.height() / l.listWidth) * s), 1929 !0 === l.options.verticalSwiping && (l.swipeLeft = e + o * s), 1930 !0 !== l.options.fade && 1931 !1 !== l.options.touchMove && 1932 (!0 === l.animating 1933 ? ((l.swipeLeft = null), !1) 1934 : void l.setCSS(l.swipeLeft)))) 1935 ); 1936 }), 1937 (e.prototype.swipeStart = function (i) { 1938 var e, 1939 t = this; 1940 if ( 1941 ((t.interrupted = !0), 1942 1 !== t.touchObject.fingerCount || 1943 t.slideCount <= t.options.slidesToShow) 1944 ) 1945 return (t.touchObject = {}), !1; 1946 void 0 !== i.originalEvent && 1947 void 0 !== i.originalEvent.touches && 1948 (e = i.originalEvent.touches[0]), 1949 (t.touchObject.startX = t.touchObject.curX = 1950 void 0 !== e ? e.pageX : i.clientX), 1951 (t.touchObject.startY = t.touchObject.curY = 1952 void 0 !== e ? e.pageY : i.clientY), 1953 (t.dragging = !0); 1954 }), 1955 (e.prototype.unfilterSlides = e.prototype.slickUnfilter = 1956 function () { 1957 var i = this; 1958 null !== i.$slidesCache && 1959 (i.unload(), 1960 i.$slideTrack.children(this.options.slide).detach(), 1961 i.$slidesCache.appendTo(i.$slideTrack), 1962 i.reinit()); 1963 }), 1964 (e.prototype.unload = function () { 1965 var e = this; 1966 i(".slick-cloned", e.$slider).remove(), 1967 e.$dots && e.$dots.remove(), 1968 e.$prevArrow && 1969 e.htmlExpr.test(e.options.prevArrow) && 1970 e.$prevArrow.remove(), 1971 e.$nextArrow && 1972 e.htmlExpr.test(e.options.nextArrow) && 1973 e.$nextArrow.remove(), 1974 e.$slides 1975 .removeClass("slick-slide slick-active slick-visible slick-current") 1976 .attr("aria-hidden", "true") 1977 .css("width", ""); 1978 }),
1979 (e.prototype.unslick = function (i) { 1980 var e = this; 1981 e.$slider.trigger("unslick", [e, i]), e.destroy(); 1982 }), 1983 (e.prototype.updateArrows = function () { 1984 var i = this; 1985 Math.floor(i.options.slidesToShow / 2), 1986 !0 === i.options.arrows && 1987 i.slideCount > i.options.slidesToShow && 1988 !i.options.infinite && 1989 (i.$prevArrow 1990 .removeClass("slick-disabled") 1991 .attr("aria-disabled", "false"), 1992 i.$nextArrow 1993 .removeClass("slick-disabled") 1994 .attr("aria-disabled", "false"), 1995 0 === i.currentSlide 1996 ? (i.$prevArrow 1997 .addClass("slick-disabled") 1998 .attr("aria-disabled", "true"), 1999 i.$nextArrow 2000 .removeClass("slick-disabled") 2001 .attr("aria-disabled", "false")) 2002 : i.currentSlide >= i.slideCount - i.options.slidesToShow && 2003 !1 === i.options.centerMode 2004 ? (i.$nextArrow 2005 .addClass("slick-disabled") 2006 .attr("aria-disabled", "true"), 2007 i.$prevArrow 2008 .removeClass("slick-disabled") 2009 .attr("aria-disabled", "false")) 2010 : i.currentSlide >= i.slideCount - 1 && 2011 !0 === i.options.centerMode && 2012 (i.$nextArrow 2013 .addClass("slick-disabled") 2014 .attr("aria-disabled", "true"), 2015 i.$prevArrow 2016 .removeClass("slick-disabled") 2017 .attr("aria-disabled", "false"))); 2018 }), 2019 (e.prototype.updateDots = function () { 2020 var i = this; 2021 null !== i.$dots && 2022 (i.$dots.find("li").removeClass("slick-active").end(), 2023 i.$dots 2024 .find("li") 2025 .eq(Math.floor(i.currentSlide / i.options.slidesToScroll)) 2026 .addClass("slick-active")); 2027 }), 2028 (e.prototype.visibility = function () { 2029 var i = this; 2030 i.options.autoplay && 2031 (document[i.hidden] ? (i.interrupted = !0) : (i.interrupted = !1)); 2032 }), 2033 (i.fn.slick = function () { 2034 var i, 2035 t, 2036 o = this, 2037 s = arguments[0], 2038 n = Array.prototype.slice.call(arguments, 1), 2039 r = o.length; 2040 for (i = 0; i < r; i++) 2041 if ( 2042 ("object" == typeof s || void 0 === s 2043 ? (o[i].slick = new e(o[i], s)) 2044 : (t = o[i].slick[s].apply(o[i].slick, n)), 2045 void 0 !== t) 2046 ) 2047 return t; 2048 return o; 2049 }); 2050}); 2051 2052// ================================================== 2053// fancyBox v3.2.10 2054// 2055// Licensed GPLv3 for open source use 2056// or fancyBox Commercial License for commercial use 2057// 2058// http://fancyapps.com/fancybox/ 2059// Copyright 2017 fancyApps 2060// 2061// ================================================== 2062!(function (t, e, n, o) { 2063 "use strict"; 2064 function i(t) { 2065 var e = n(t.currentTarget), 2066 o = t.data ? t.data.options : {}, 2067 i = e.attr("data-fancybox") || "", 2068 a = 0, 2069 s = []; 2070 t.isDefaultPrevented() || 2071 (t.preventDefault(), 2072 i 2073 ? ((s = o.selector ? n(o.selector) : t.data ? t.data.items : []), 2074 (s = s.length 2075 ? s.filter('[data-fancybox="' + i + '"]') 2076 : n('[data-fancybox="' + i + '"]')), 2077 (a = s.index(e)), 2078 a < 0 && (a = 0)) 2079 : (s = [e]), 2080 n.fancybox.open(s, o, a)); 2081 } 2082 if (n) { 2083 if (n.fn.fancybox) 2084 return void ( 2085 "console" in t && console.log("fancyBox already initialized") 2086 ); 2087 var a = { 2088 loop: !1, 2089 margin: [44, 0], 2090 gutter: 50, 2091 keyboard: !0, 2092 arrows: !0, 2093 infobar: !0, 2094 toolbar: !0, 2095 buttons: ["slideShow", "fullScreen", "thumbs", "share", "close"], 2096 idleTime: 3, 2097 smallBtn: "auto", 2098 protect: !1, 2099 modal: !1, 2100 image: { preload: "auto" }, 2101 ajax: { settings: { data: { fancybox: !0 } } }, 2102 iframe: { 2103 tpl: '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen allowtransparency="true" src=""></iframe>', 2104 preload: !0, 2105 css: {}, 2106 attr: { scrolling: "auto" }, 2107 }, 2108 defaultType: "image", 2109 animationEffect: "zoom", 2110 animationDuration: 500, 2111 zoomOpacity: "auto", 2112 transitionEffect: "fade", 2113 transitionDuration: 366, 2114 slideClass: "", 2115 baseClass: "", 2116 baseTpl: 2117 '<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-inner"><div class="fancybox-infobar"><span data-fancybox-index></span> / <span data-fancybox-count></span></div><div class="fancybox-toolbar">{{buttons}}</div><div class="fancybox-navigation">{{arrows}}</div><div class="fancybox-stage"></div><div class="fancybox-caption-wrap"><div class="fancybox-caption"></div></div></div></div>', 2118 spinnerTpl: '<div class="fancybox-loading"></div>', 2119 errorTpl: '<div class="fancybox-error"><p>{{ERROR}}<p></div>', 2120 btnTpl: { 2121 download: 2122 '<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}"><svg viewBox="0 0 40 40"><path d="M20,23 L20,8 L20,23 L13,16 L20,23 L27,16 L20,23 M26,28 L13,28 L27,28 L14,28" /></svg></a>', 2123 zoom: '<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}"><svg viewBox="0 0 40 40"><path d="M 18,17 m-8,0 a 8,8 0 1,0 16,0 a 8,8 0 1,0 -16,0 M25,23 L31,29 L25,23" /></svg></button>', 2124 close: 2125 '<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"><svg viewBox="0 0 40 40"><path d="M10,10 L30,30 M30,10 L10,30" /></svg></button>', 2126 smallBtn: 2127 '<button data-fancybox-close class="fancybox-close-small" title="{{CLOSE}}"></button>', 2128 arrowLeft: 2129 '<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}"><svg viewBox="0 0 40 40"><path d="M10,20 L30,20 L10,20 L18,28 L10,20 L18,12 L10,20"></path></svg></button>', 2130 arrowRight: 2131 '<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}"><svg viewBox="0 0 40 40"><path d="M30,20 L10,20 L30,20 L22,28 L30,20 L22,12 L30,20"></path></svg></button>', 2132 }, 2133 parentEl: "body", 2134 autoFocus: !1, 2135 backFocus: !0, 2136 trapFocus: !0, 2137 fullScreen: { autoStart: !1 },
2138 touch: { vertical: !0, momentum: !0 }, 2139 hash: null, 2140 media: {}, 2141 slideShow: { autoStart: !1, speed: 4e3 }, 2142 thumbs: { 2143 autoStart: !1, 2144 hideOnClose: !0, 2145 parentEl: ".fancybox-container", 2146 axis: "y", 2147 }, 2148 wheel: "auto", 2149 onInit: n.noop, 2150 beforeLoad: n.noop, 2151 afterLoad: n.noop, 2152 beforeShow: n.noop, 2153 afterShow: n.noop, 2154 beforeClose: n.noop, 2155 afterClose: n.noop, 2156 onActivate: n.noop, 2157 onDeactivate: n.noop, 2158 clickContent: function (t, e) { 2159 return "image" === t.type && "zoom"; 2160 }, 2161 clickSlide: "close", 2162 clickOutside: "close", 2163 dblclickContent: !1, 2164 dblclickSlide: !1, 2165 dblclickOutside: !1, 2166 mobile: { 2167 idleTime: !1, 2168 margin: 0, 2169 clickContent: function (t, e) { 2170 return "image" === t.type && "toggleControls"; 2171 }, 2172 clickSlide: function (t, e) { 2173 return "image" === t.type ? "toggleControls" : "close"; 2174 }, 2175 dblclickContent: function (t, e) { 2176 return "image" === t.type && "zoom"; 2177 }, 2178 dblclickSlide: function (t, e) { 2179 return "image" === t.type && "zoom"; 2180 }, 2181 }, 2182 lang: "en", 2183 i18n: { 2184 en: { 2185 CLOSE: "Close", 2186 NEXT: "Next", 2187 PREV: "Previous", 2188 ERROR: 2189 "The requested content cannot be loaded. <br/> Please try again later.", 2190 PLAY_START: "Start slideshow", 2191 PLAY_STOP: "Pause slideshow", 2192 FULL_SCREEN: "Full screen", 2193 THUMBS: "Thumbnails", 2194 DOWNLOAD: "Download", 2195 SHARE: "Share", 2196 ZOOM: "Zoom", 2197 }, 2198 de: { 2199 CLOSE: "Schliessen", 2200 NEXT: "Weiter", 2201 PREV: "Zurück", 2202 ERROR: 2203 "Die angeforderten Daten konnten nicht geladen werden. <br/>
2203 Bitte versuchen Sie es später nochmal.", 2204 PLAY_START: "Diaschau starten", 2205 PLAY_STOP: "Diaschau beenden", 2206 FULL_SCREEN: "Vollbild", 2207 THUMBS: "Vorschaubilder", 2208 DOWNLOAD: "Herunterladen", 2209 SHARE: "Teilen", 2210 ZOOM: "Maßstab", 2211 }, 2212 }, 2213 }, 2214 s = n(t), 2215 r = n(e), 2216 c = 0, 2217 l = function (t) { 2218 return t && t.hasOwnProperty && t instanceof n; 2219 }, 2220 u = (function () { 2221 return ( 2222 t.requestAnimationFrame || 2223 t.webkitRequestAnimationFrame || 2224 t.mozRequestAnimationFrame || 2225 t.oRequestAnimationFrame || 2226 function (e) { 2227 return t.setTimeout(e, 1e3 / 60); 2228 } 2229 ); 2230 })(), 2231 d = (function () { 2232 var t, 2233 n = e.createElement("fakeelement"), 2234 i = { 2235 transition: "transitionend", 2236 OTransition: "oTransitionEnd", 2237 MozTransition: "transitionend", 2238 WebkitTransition: "webkitTransitionEnd", 2239 }; 2240 for (t in i) if (n.style[t] !== o) return i[t]; 2241 return "transitionend"; 2242 })(), 2243 f = function (t) { 2244 return t && t.length && t[0].offsetHeight; 2245 }, 2246 p = function (t, o, i) { 2247 var a = this; 2248 (a.opts = n.extend(!0, { index: i }, n.fancybox.defaults, o || {})), 2249 n.fancybox.isMobile && 2250 (a.opts = n.extend(!0, {}, a.opts, a.opts.mobile)), 2251 o && n.isArray(o.buttons) && (a.opts.buttons = o.buttons), 2252 (a.id = a.opts.id || ++c), 2253 (a.group = []), 2254 (a.currIndex = parseInt(a.opts.index, 10) || 0), 2255 (a.prevIndex = null), 2256 (a.prevPos = null), 2257 (a.currPos = 0), 2258 (a.firstRun = null), 2259 a.createGroup(t), 2260 a.group.length && 2261 ((a.$lastFocus = n(e.activeElement).blur()), 2262 (a.slides = {}), 2263 a.init()); 2264 }; 2265 n.extend(p.prototype, { 2266 init: function () { 2267 var i, 2268 a, 2269 s, 2270 c = this, 2271 l = c.group[c.currIndex], 2272 u = l.opts, 2273 d = n.fancybox.scrollbarWidth; 2274 (c.scrollTop = r.scrollTop()), 2275 (c.scrollLeft = r.scrollLeft()), 2276 n.fancybox.getInstance() || 2277 (n("body").addClass("fancybox-active"), 2278 /iPad|iPhone|iPod/.test(navigator.userAgent) && !t.MSStream 2279 ? "image" !== l.type && 2280 n("body") 2281 .css("top", n("body").scrollTop() * -1) 2282 .addClass("fancybox-iosfix") 2283 : !n.fancybox.isMobile && 2284 e.body.scrollHeight > t.innerHeight && 2285 (d === o && 2286 ((i = n( 2287 '<div style="width:50px;height:50px;overflow:scroll;" />' 2288 ).appendTo("body")), 2289 (d = n.fancybox.scrollbarWidth = 2290 i[0].offsetWidth - i[0].clientWidth), 2291 i.remove()), 2292 n("head").append( 2293 '<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar { margin-right: ' + 2294 d + 2295 "px; }</style>" 2296 ), 2297 n("body").addClass("compensate-for-scrollbar"))), 2298 (s = ""), 2299 n.each(u.buttons, function (t, e) { 2300 s += u.btnTpl[e] || ""; 2301 }), 2302 (a = n( 2303 c.translate( 2304 c, 2305 u.baseTpl 2306 .replace("{{buttons}}", s) 2307 .replace("{{arrows}}", u.btnTpl.arrowLeft + u.btnTpl.arrowRight) 2308 ) 2309 ) 2310 .attr("id", "fancybox-container-" + c.id) 2311 .addClass("fancybox-is-hidden") 2312 .addClass(u.baseClass) 2313 .data("FancyBox", c) 2314 .appendTo(u.parentEl)), 2315 (c.$refs = { container: a }), 2316 [ 2317 "bg", 2318 "inner", 2319 "infobar", 2320 "toolbar", 2321 "stage", 2322 "caption", 2323 "navigation", 2324 ].forEach(function (t) { 2325 c.$refs[t] = a.find(".fancybox-" + t); 2326 }), 2327 c.trigger("onInit"), 2328 c.activate(), 2329 c.jumpTo(c.currIndex); 2330 }, 2331 translate: function (t, e) { 2332 var n = t.opts.i18n[t.opts.lang]; 2333 return e.replace(/\{\{(\w+)\}\}/g, function (t, e) { 2334 var i = n[e]; 2335 return i === o ? t : i; 2336 }); 2337 }, 2338 createGroup: function (t) { 2339 var e = this, 2340 i = n.makeArray(t); 2341 n.each(i, function (t, i) { 2342 var a, 2343 s, 2344 r, 2345 c, 2346 l, 2347 u = {}, 2348 d = {}; 2349 n.isPlainObject(i) 2350 ? ((u = i), (d = i.opts || i)) 2351 : "object" === n.type(i) && n(i).length 2352 ? ((a = n(i)), 2353 (d = a.data()), 2354 (d = n.extend({}, d, d.options || {})), 2355 (d.$orig = a), 2356 (u.src = d.src || a.attr("href")), 2357 u.type || u.src || ((u.type = "inline"), (u.src = i))) 2358 : (u = { type: "html", src: i + "" }), 2359 (u.opts = n.extend(!0, {}, e.opts, d)), 2360 n.isArray(d.buttons) && (u.opts.buttons = d.buttons), 2361 (s = u.type || u.opts.type), 2362 (c = u.src || ""), 2363 !s && 2364 c && 2365 (c.match( 2366 /(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i 2367 ) 2368 ? (s = "image") 2369 : c.match(/\.(pdf)((\?|#).*)?$/i) 2370 ? (s = "pdf") 2371 : (r = c.match(/\.(mp4|mov|ogv)((\?|#).*)?$/i)) 2372 ? ((s = "video"), 2373 u.opts.videoFormat || 2374 (u.opts.videoFormat = 2375 "video/" + ("ogv" === r[1] ? "ogg" : r[1]))) 2376 : "#" === c.charAt(0) && (s = "inline")), 2377 s ? (u.type = s) : e.trigger("objectNeedsType", u), 2378 (u.index = e.group.length), 2379 u.opts.$orig && !u.opts.$orig.length && delete u.opts.$orig, 2380 !u.opts.$thumb && 2381 u.opts.$orig && 2382 (u.opts.$thumb = u.opts.$orig.find("img:first")), 2383 u.opts.$thumb && !u.opts.$thumb.length && delete u.opts.$thumb, 2384 "function" === n.type(u.opts.caption) && 2385 (u.opts.caption = u.opts.caption.apply(i, [e, u])), 2386 "function" === n.type(e.opts.caption) && 2387 (u.opts.caption = e.opts.caption.apply(i, [e, u])), 2388 u.opts.caption instanceof n || 2389 (u.opts.caption = 2390 u.opts.caption === o ? "" : u.opts.caption + ""), 2391 "ajax" === s && 2392 ((l = c.split(/\s+/, 2)), 2393 l.length > 1 && 2394 ((u.src = l.shift()), (u.opts.filter = l.shift()))), 2395 "auto" == u.opts.smallBtn && 2396 (n.inArray(s, ["html", "inline", "ajax"]) > -1 2397 ? ((u.opts.toolbar = !1), (u.opts.smallBtn = !0)) 2398 : (u.opts.smallBtn = !1)), 2399 "pdf" === s && ((u.type = "iframe"), (u.opts.iframe.preload = !1)), 2400 u.opts.modal && 2401 (u.opts = n.extend(!0, u.opts, { 2402 infobar: 0, 2403 toolbar: 0, 2404 smallBtn: 0, 2405 keyboard: 0, 2406 slideShow: 0, 2407 fullScreen: 0, 2408 thumbs: 0, 2409 touch: 0, 2410 clickContent: !1, 2411 clickSlide: !1, 2412 clickOutside: !1, 2413 dblclickContent: !1, 2414 dblclickSlide: !1, 2415 dblclickOutside: !1, 2416 })), 2417 e.group.push(u); 2418 }); 2419 }, 2420 addEvents: function () { 2421 var o = this; 2422 o.removeEvents(), 2423 o.$refs.container 2424 .on("click.fb-close", "[data-fancybox-close]", function (t) { 2425 t.stopPropagation(), t.preventDefault(), o.close(t); 2426 }) 2427 .on( 2428 "click.fb-prev touchend.fb-prev", 2429 "[data-fancybox-prev]", 2430 function (t) { 2431 t.stopPropagation(), t.preventDefault(), o.previous(); 2432 } 2433 ) 2434 .on( 2435 "click.fb-next touchend.fb-next", 2436 "[data-fancybox-next]", 2437 function (t) { 2438 t.stopPropagation(), t.preventDefault(), o.next(); 2439 } 2440 ) 2441 .on("click.fb", "[data-fancybox-zoom]", function (t) { 2442 o[o.isScaledDown() ? "scaleToActual" : "scaleToFit"](); 2443 }), 2444 s.on("orientationchange.fb resize.fb", function (t) { 2445 t && t.originalEvent && "resize" === t.originalEvent.type 2446 ? u(function () { 2447 o.update(); 2448 }) 2449 : (o.$refs.stage.hide(), 2450 setTimeout(function () { 2451 o.$refs.stage.show(), o.update(); 2452 }, 600)); 2453 }), 2454 r.on("focusin.fb", function (t) { 2455 var i = n.fancybox ? n.fancybox.getInstance() : null; 2456 i.isClosing || 2457 !i.current || 2458 !i.current.opts.trapFocus || 2459 n(t.target).hasClass("fancybox-container") || 2460 n(t.target).is(e) || 2461 (i && 2462 "fixed" !== n(t.target).css("position") && 2463 !i.$refs.container.has(t.target).length && 2464 (t.stopPropagation(), 2465 i.focus(), 2466 s.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft))); 2467 }),
2468 r.on("keydown.fb", function (t) { 2469 var e = o.current, 2470 i = t.keyCode || t.which; 2471 if ( 2472 e && 2473 e.opts.keyboard && 2474 !n(t.target).is("input") && 2475 !n(t.target).is("textarea") 2476 ) 2477 return 8 === i || 27 === i 2478 ? (t.preventDefault(), void o.close(t)) 2479 : 37 === i || 38 === i 2480 ? (t.preventDefault(), void o.previous()) 2481 : 39 === i || 40 === i 2482 ? (t.preventDefault(), void o.next()) 2483 : void o.trigger("afterKeydown", t, i); 2484 }), 2485 o.group[o.currIndex].opts.idleTime && 2486 ((o.idleSecondsCounter = 0), 2487 r.on( 2488 "mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle", 2489 function (t) { 2490 (o.idleSecondsCounter = 0), 2491 o.isIdle && o.showControls(), 2492 (o.isIdle = !1); 2493 } 2494 ), 2495 (o.idleInterval = t.setInterval(function () { 2496 o.idleSecondsCounter++, 2497 o.idleSecondsCounter >= o.group[o.currIndex].opts.idleTime && 2498 !o.isDragging && 2499 ((o.isIdle = !0), 2500 (o.idleSecondsCounter = 0), 2501 o.hideControls()); 2502 }, 1e3))); 2503 }, 2504 removeEvents: function () { 2505 var e = this; 2506 s.off("orientationchange.fb resize.fb"), 2507 r.off("focusin.fb keydown.fb .fb-idle"), 2508 this.$refs.container.off(".fb-close .fb-prev .fb-next"), 2509 e.idleInterval && 2510 (t.clearInterval(e.idleInterval), (e.idleInterval = null)); 2511 }, 2512 previous: function (t) { 2513 return this.jumpTo(this.currPos - 1, t); 2514 }, 2515 next: function (t) { 2516 return this.jumpTo(this.currPos + 1, t); 2517 }, 2518 jumpTo: function (t, e, i) { 2519 var a, 2520 s, 2521 r, 2522 c, 2523 l, 2524 u, 2525 d, 2526 p = this, 2527 h = p.group.length; 2528 if (!(p.isDragging || p.isClosing || (p.isAnimating && p.firstRun))) { 2529 if ( 2530 ((t = parseInt(t, 10)), 2531 (s = p.current ? p.current.opts.loop : p.opts.loop), 2532 !s && (t < 0 || t >= h)) 2533 ) 2534 return !1; 2535 if ( 2536 ((a = p.firstRun = null === p.firstRun), 2537 !(h < 2 && !a && p.isDragging)) 2538 ) { 2539 if ( 2540 ((c = p.current), 2541 (p.prevIndex = p.currIndex), 2542 (p.prevPos = p.currPos), 2543 (r = p.createSlide(t)), 2544 h > 1 && 2545 ((s || r.index > 0) && p.createSlide(t - 1), 2546 (s || r.index < h - 1) && p.createSlide(t + 1)), 2547 (p.current = r), 2548 (p.currIndex = r.index), 2549 (p.currPos = r.pos), 2550 p.trigger("beforeShow", a), 2551 p.updateControls(), 2552 (u = n.fancybox.getTranslate(r.$slide)), 2553 (r.isMoved = 2554 (0 !== u.left || 0 !== u.top) && 2555 !r.$slide.hasClass("fancybox-animated")), 2556 (r.forcedDuration = o), 2557 n.isNumeric(e) 2558 ? (r.forcedDuration = e) 2559 : (e = r.opts[a ? "animationDuration" : "transitionDuration"]), 2560 (e = parseInt(e, 10)), 2561 a) 2562 ) 2563 return ( 2564 r.opts.animationEffect && 2565 e && 2566 p.$refs.container.css("transition-duration", e + "ms"), 2567 p.$refs.container.removeClass("fancybox-is-hidden"), 2568 f(p.$refs.container), 2569 p.$refs.container.addClass("fancybox-is-open"), 2570 r.$slide.addClass("fancybox-slide--current"), 2571 p.loadSlide(r), 2572 void p.preload("image") 2573 ); 2574 n.each(p.slides, function (t, e) { 2575 n.fancybox.stop(e.$slide); 2576 }), 2577 r.$slide 2578 .removeClass("fancybox-slide--next fancybox-slide--previous") 2579 .addClass("fancybox-slide--current"), 2580 r.isMoved 2581 ? ((l = Math.round(r.$slide.width())), 2582 n.each(p.slides, function (t, o) { 2583 var i = o.pos - r.pos; 2584 n.fancybox.animate( 2585 o.$slide, 2586 { top: 0, left: i * l + i * o.opts.gutter }, 2587 e, 2588 function () { 2589 o.$slide 2590 .removeAttr("style") 2591 .removeClass( 2592 "fancybox-slide--next fancybox-slide--previous" 2593 ), 2594 o.pos === p.currPos && 2595 ((r.isMoved = !1), p.complete()); 2596 } 2597 ); 2598 })) 2599 : p.$refs.stage.children().removeAttr("style"), 2600 r.isLoaded ? p.revealContent(r) : p.loadSlide(r), 2601 p.preload("image"), 2602 c.pos !== r.pos && 2603 ((d = 2604 "fancybox-slide--" + (c.pos > r.pos ? "next" : "previous")), 2605 c.$slide.removeClass( 2606 "fancybox-slide--complete fancybox-slide--current fancybox-slide--next fancybox-slide--previous" 2607 ), 2608 (c.isComplete = !1), 2609 e && 2610 (r.isMoved || r.opts.transitionEffect) && 2611 (r.isMoved 2612 ? c.$slide.addClass(d) 2613 : ((d = 2614 "fancybox-animated " + 2615 d + 2616 " fancybox-fx-" + 2617 r.opts.transitionEffect), 2618 n.fancybox.animate(c.$slide, d, e, function () { 2619 c.$slide.removeClass(d).removeAttr("style"); 2620 })))); 2621 } 2622 } 2623 }, 2624 createSlide: function (t) { 2625 var e, 2626 o, 2627 i = this; 2628 return ( 2629 (o = t % i.group.length), 2630 (o = o < 0 ? i.group.length + o : o), 2631 !i.slides[t] && 2632 i.group[o] && 2633 ((e = n('<div class="fancybox-slide"></div>').appendTo( 2634 i.$refs.stage 2635 )), 2636 (i.slides[t] = n.extend(!0, {}, i.group[o], { 2637 pos: t, 2638 $slide: e, 2639 isLoaded: !1, 2640 })), 2641 i.updateSlide(i.slides[t])), 2642 i.slides[t] 2643 ); 2644 }, 2645 scaleToActual: function (t, e, i) { 2646 var a, 2647 s, 2648 r, 2649 c, 2650 l, 2651 u = this, 2652 d = u.current, 2653 f = d.$content, 2654 p = parseInt(d.$slide.width(), 10), 2655 h = parseInt(d.$slide.height(), 10), 2656 g = d.width, 2657 b = d.height; 2658 "image" != d.type || 2659 d.hasError || 2660 !f || 2661 u.isAnimating || 2662 (n.fancybox.stop(f), 2663 (u.isAnimating = !0), 2664 (t = t === o ? 0.5 * p : t), 2665 (e = e === o ? 0.5 * h : e), 2666 (a = n.fancybox.getTranslate(f)), 2667 (c = g / a.width), 2668 (l = b / a.height), 2669 (s = 0.5 * p - 0.5 * g), 2670 (r = 0.5 * h - 0.5 * b), 2671 g > p && 2672 ((s = a.left * c - (t * c - t)), 2673 s > 0 && (s = 0), 2674 s < p - g && (s = p - g)), 2675 b > h && 2676 ((r = a.top * l - (e * l - e)), 2677 r > 0 && (r = 0), 2678 r < h - b && (r = h - b)), 2679 u.updateCursor(g, b), 2680 n.fancybox.animate( 2681 f, 2682 { top: r, left: s, scaleX: c, scaleY: l }, 2683 i || 330, 2684 function () { 2685 u.isAnimating = !1; 2686 } 2687 ), 2688 u.SlideShow && u.SlideShow.isActive && u.SlideShow.stop()); 2689 }, 2690 scaleToFit: function (t) { 2691 var e, 2692 o = this, 2693 i = o.current, 2694 a = i.$content; 2695 "image" != i.type || 2696 i.hasError || 2697 !a || 2698 o.isAnimating || 2699 (n.fancybox.stop(a), 2700 (o.isAnimating = !0), 2701 (e = o.getFitPos(i)), 2702 o.updateCursor(e.width, e.height), 2703 n.fancybox.animate( 2704 a, 2705 { 2706 top: e.top, 2707 left: e.left, 2708 scaleX: e.width / a.width(), 2709 scaleY: e.height / a.height(), 2710 }, 2711 t || 330, 2712 function () { 2713 o.isAnimating = !1; 2714 } 2715 )); 2716 }, 2717 getFitPos: function (t) { 2718 var e, 2719 o, 2720 i, 2721 a, 2722 s, 2723 r = this, 2724 c = t.$content, 2725 l = t.width, 2726 u = t.height, 2727 d = t.opts.margin; 2728 return ( 2729 !(!c || !c.length || (!l && !u)) && 2730 ("number" === n.type(d) && (d = [d, d]), 2731 2 == d.length && (d = [d[0], d[1], d[0], d[1]]), 2732 (e = parseInt(r.$refs.stage.width(), 10) - (d[1] + d[3])), 2733 (o = parseInt(r.$refs.stage.height(), 10) - (d[0] + d[2])), 2734 (i = Math.min(1, e / l, o / u)), 2735 (a = Math.floor(i * l)), 2736 (s = Math.floor(i * u)), 2737 { 2738 top: Math.floor(0.5 * (o - s)) + d[0], 2739 left: Math.floor(0.5 * (e - a)) + d[3], 2740 width: a, 2741 height: s, 2742 }) 2743 ); 2744 }, 2745 update: function () { 2746 var t = this; 2747 n.each(t.slides, function (e, n) { 2748 t.updateSlide(n); 2749 }); 2750 }, 2751 updateSlide: function (t, e) { 2752 var o = this, 2753 i = t && t.$content; 2754 i && 2755 (t.width || t.height) && 2756 ((o.isAnimating = !1), 2757 n.fancybox.stop(i), 2758 n.fancybox.setTranslate(i, o.getFitPos(t)),
2759 t.pos === o.currPos && o.updateCursor()), 2760 t.$slide.trigger("refresh"), 2761 o.trigger("onUpdate", t); 2762 }, 2763 centerSlide: function (t, e) { 2764 var i, 2765 a, 2766 s = this; 2767 s.current && 2768 ((i = Math.round(t.$slide.width())), 2769 (a = t.pos - s.current.pos), 2770 n.fancybox.animate( 2771 t.$slide, 2772 { top: 0, left: a * i + a * t.opts.gutter, opacity: 1 }, 2773 e === o ? 0 : e, 2774 null, 2775 !1 2776 )); 2777 }, 2778 updateCursor: function (t, e) { 2779 var n, 2780 i = this, 2781 a = i.$refs.container.removeClass( 2782 "fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-drag fancybox-can-zoomOut" 2783 ); 2784 i.current && 2785 !i.isClosing && 2786 (i.isZoomable() 2787 ? (a.addClass("fancybox-is-zoomable"), 2788 (n = 2789 t !== o && e !== o 2790 ? t < i.current.width && e < i.current.height 2791 : i.isScaledDown()), 2792 n 2793 ? a.addClass("fancybox-can-zoomIn") 2794 : i.current.opts.touch 2795 ? a.addClass("fancybox-can-drag") 2796 : a.addClass("fancybox-can-zoomOut")) 2797 : i.current.opts.touch && a.addClass("fancybox-can-drag")); 2798 }, 2799 isZoomable: function () { 2800 var t, 2801 e = this, 2802 o = e.current; 2803 if (o && !e.isClosing) 2804 return !!( 2805 "image" === o.type && 2806 o.isLoaded && 2807 !o.hasError && 2808 ("zoom" === o.opts.clickContent || 2809 (n.isFunction(o.opts.clickContent) && 2810 "zoom" === o.opts.clickContent(o))) && 2811 ((t = e.getFitPos(o)), o.width > t.width || o.height > t.height) 2812 ); 2813 }, 2814 isScaledDown: function () { 2815 var t = this, 2816 e = t.current, 2817 o = e.$content, 2818 i = !1; 2819 return ( 2820 o && 2821 ((i = n.fancybox.getTranslate(o)), 2822 (i = i.width < e.width || i.height < e.height)), 2823 i 2824 ); 2825 }, 2826 canPan: function () { 2827 var t = this, 2828 e = t.current, 2829 n = e.$content, 2830 o = !1; 2831 return ( 2832 n && 2833 ((o = t.getFitPos(e)), 2834 (o = 2835 Math.abs(n.width() - o.width) > 1 || 2836 Math.abs(n.height() - o.height) > 1)), 2837 o 2838 ); 2839 }, 2840 loadSlide: function (t) { 2841 var e, 2842 o, 2843 i, 2844 a = this; 2845 if (!t.isLoading && !t.isLoaded) { 2846 switch ( 2847 ((t.isLoading = !0), 2848 a.trigger("beforeLoad", t), 2849 (e = t.type), 2850 (o = t.$slide), 2851 o 2852 .off("refresh") 2853 .trigger("onReset") 2854 .addClass("fancybox-slide--" + (e || "unknown")) 2855 .addClass(t.opts.slideClass), 2856 e) 2857 ) { 2858 case "image": 2859 a.setImage(t); 2860 break; 2861 case "iframe": 2862 a.setIframe(t); 2863 break; 2864 case "html": 2865 a.setContent(t, t.src || t.content); 2866 break; 2867 case "inline": 2868 n(t.src).length ? a.setContent(t, n(t.src)) : a.setError(t); 2869 break; 2870 case "ajax": 2871 a.showLoading(t), 2872 (i = n.ajax( 2873 n.extend({}, t.opts.ajax.settings, { 2874 url: t.src, 2875 success: function (e, n) { 2876 "success" === n && a.setContent(t, e); 2877 }, 2878 error: function (e, n) { 2879 e && "abort" !== n && a.setError(t); 2880 }, 2881 }) 2882 )), 2883 o.one("onReset", function () { 2884 i.abort(); 2885 }); 2886 break; 2887 case "video": 2888 a.setContent( 2889 t, 2890 '<video controls><source src="' + 2891 t.src + 2892 '" type="' + 2893 t.opts.videoFormat + 2894 "\">Your browser doesn't support HTML5 video</video>" 2895 ); 2896 break; 2897 default: 2898 a.setError(t); 2899 } 2900 return !0; 2901 } 2902 }, 2903 setImage: function (e) { 2904 var o, 2905 i, 2906 a, 2907 s, 2908 r = this, 2909 c = e.opts.srcset || e.opts.image.srcset; 2910 if (c) { 2911 (a = t.devicePixelRatio || 1), 2912 (s = t.innerWidth * a), 2913 (i = c.split(",").map(function (t) { 2914 var e = {}; 2915 return ( 2916 t 2917 .trim() 2918 .split(/\s+/) 2919 .forEach(function (t, n) { 2920 var o = parseInt(t.substring(0, t.length - 1), 10); 2921 return 0 === n 2922 ? (e.url = t) 2923 : void ( 2924 o && ((e.value = o), (e.postfix = t[t.length - 1])) 2925 ); 2926 }), 2927 e 2928 ); 2929 })), 2930 i.sort(function (t, e) { 2931 return t.value - e.value; 2932 }); 2933 for (var l = 0; l < i.length; l++) { 2934 var u = i[l]; 2935 if ( 2936 ("w" === u.postfix && u.value >= s) || 2937 ("x" === u.postfix && u.value >= a) 2938 ) { 2939 o = u; 2940 break; 2941 } 2942 } 2943 !o && i.length && (o = i[i.length - 1]), 2944 o && 2945 ((e.src = o.url),
2946 e.width && 2947 e.height && 2948 "w" == o.postfix && 2949 ((e.height = (e.width / e.height) * o.value), 2950 (e.width = o.value))); 2951 } 2952 (e.$content = n('<div class="fancybox-image-wrap"></div>') 2953 .addClass("fancybox-is-hidden") 2954 .appendTo(e.$slide)), 2955 e.opts.preload !== !1 && 2956 e.opts.width && 2957 e.opts.height && 2958 (e.opts.thumb || e.opts.$thumb) 2959 ? ((e.width = e.opts.width), 2960 (e.height = e.opts.height), 2961 (e.$ghost = n("<img />") 2962 .one("error", function () { 2963 n(this).remove(), (e.$ghost = null), r.setBigImage(e); 2964 }) 2965 .one("load", function () { 2966 r.afterLoad(e), r.setBigImage(e); 2967 }) 2968 .addClass("fancybox-image") 2969 .appendTo(e.$content) 2970 .attr("src", e.opts.thumb || e.opts.$thumb.attr("src")))) 2971 : r.setBigImage(e); 2972 }, 2973 setBigImage: function (t) { 2974 var e = this, 2975 o = n("<img />"); 2976 (t.$image = o 2977 .one("error", function () { 2978 e.setError(t); 2979 }) 2980 .one("load", function () { 2981 clearTimeout(t.timouts), 2982 (t.timouts = null), 2983 e.isClosing || 2984 ((t.width = t.opts.width || this.naturalWidth), 2985 (t.height = t.opts.height || this.naturalHeight), 2986 t.opts.image.srcset && 2987 o.attr("sizes", "100vw").attr("srcset", t.opts.image.srcset), 2988 e.hideLoading(t), 2989 t.$ghost 2990 ? (t.timouts = setTimeout(function () { 2991 (t.timouts = null), t.$ghost.hide(); 2992 }, Math.min(300, Math.max(1e3, t.height / 1600)))) 2993 : e.afterLoad(t)); 2994 }) 2995 .addClass("fancybox-image") 2996 .attr("src", t.src) 2997 .appendTo(t.$content)), 2998 (o[0].complete || "complete" == o[0].readyState) && 2999 o[0].naturalWidth && 3000 o[0].naturalHeight 3001 ? o.trigger("load") 3002 : o[0].error 3003 ? o.trigger("error") 3004 : (t.timouts = setTimeout(function () { 3005 o[0].complete || t.hasError || e.showLoading(t); 3006 }, 100)); 3007 }, 3008 setIframe: function (t) { 3009 var e, 3010 i = this, 3011 a = t.opts.iframe, 3012 s = t.$slide; 3013 (t.$content = n( 3014 '<div class="fancybox-content' + 3015 (a.preload ? " fancybox-is-hidden" : "") + 3016 '"></div>' 3017 ) 3018 .css(a.css) 3019 .appendTo(s)), 3020 (e = n(a.tpl.replace(/\{rnd\}/g, new Date().getTime())) 3021 .attr(a.attr) 3022 .appendTo(t.$content)), 3023 a.preload 3024 ? (i.showLoading(t), 3025 e.on("load.fb error.fb", function (e) { 3026 (this.isReady = 1), t.$slide.trigger("refresh"), i.afterLoad(t); 3027 }), 3028 s.on("refresh.fb", function () { 3029 var n, 3030 i, 3031 s, 3032 r = t.$content, 3033 c = a.css.width, 3034 l = a.css.height; 3035 if (1 === e[0].isReady) { 3036 try { 3037 (i = e.contents()), (s = i.find("body")); 3038 } catch (t) {} 3039 s && 3040 s.length && 3041 (c === o && 3042 ((n = 3043 e[0].contentWindow.document.documentElement 3044 .scrollWidth), 3045 (c = Math.ceil(s.outerWidth(!0) + (r.width() - n))), 3046 (c += r.outerWidth() - r.innerWidth())), 3047 l === o &&
3048 ((l = Math.ceil(s.outerHeight(!0))), 3049 (l += r.outerHeight() - r.innerHeight())), 3050 c && r.width(c), 3051 l && r.height(l)), 3052 r.removeClass("fancybox-is-hidden"); 3053 } 3054 })) 3055 : this.afterLoad(t), 3056 e.attr("src", t.src), 3057 t.opts.smallBtn === !0 && 3058 t.$content.prepend(i.translate(t, t.opts.btnTpl.smallBtn)), 3059 s.one("onReset", function () { 3060 try { 3061 n(this).find("iframe").hide().attr("src", "//about:blank"); 3062 } catch (t) {} 3063 n(this).empty(), (t.isLoaded = !1); 3064 }); 3065 }, 3066 setContent: function (t, e) { 3067 var o = this; 3068 o.isClosing || 3069 (o.hideLoading(t), 3070 t.$slide.empty(), 3071 l(e) && e.parent().length 3072 ? (e.parent(".fancybox-slide--inline").trigger("onReset"), 3073 (t.$placeholder = n("<div></div>").hide().insertAfter(e)), 3074 e.css("display", "inline-block")) 3075 : t.hasError || 3076 ("string" === n.type(e) && 3077 ((e = n("<div>").append(n.trim(e)).contents()), 3078 3 === e[0].nodeType && (e = n("<div>").html(e))), 3079 t.opts.filter && (e = n("<div>").html(e).find(t.opts.filter))), 3080 t.$slide.one("onReset", function () { 3081 n(this).find("video,audio").trigger("pause"), 3082 t.$placeholder && 3083 (t.$placeholder.after(e.hide()).remove(), 3084 (t.$placeholder = null)), 3085 t.$smallBtn && (t.$smallBtn.remove(), (t.$smallBtn = null)), 3086 t.hasError || (n(this).empty(), (t.isLoaded = !1)); 3087 }), 3088 (t.$content = n(e).appendTo(t.$slide)), 3089 this.afterLoad(t)); 3090 }, 3091 setError: function (t) { 3092 (t.hasError = !0), 3093 t.$slide.removeClass("fancybox-slide--" + t.type), 3094 this.setContent(t, this.translate(t, t.opts.errorTpl)); 3095 }, 3096 showLoading: function (t) { 3097 var e = this; 3098 (t = t || e.current), 3099 t && 3100 !t.$spinner && 3101 (t.$spinner = n(e.opts.spinnerTpl).appendTo(t.$slide)); 3102 }, 3103 hideLoading: function (t) { 3104 var e = this; 3105 (t = t || e.current), 3106 t && t.$spinner && (t.$spinner.remove(), delete t.$spinner); 3107 }, 3108 afterLoad: function (t) { 3109 var e = this; 3110 e.isClosing || 3111 ((t.isLoading = !1), 3112 (t.isLoaded = !0), 3113 e.trigger("afterLoad", t), 3114 e.hideLoading(t), 3115 t.opts.smallBtn && 3116 !t.$smallBtn && 3117 (t.$smallBtn = n(e.translate(t, t.opts.btnTpl.smallBtn)).appendTo( 3118 t.$content.filter("div,form").first() 3119 )), 3120 t.opts.protect && 3121 t.$content && 3122 !t.hasError && 3123 (t.$content.on("contextmenu.fb", function (t) { 3124 return 2 == t.button && t.preventDefault(), !0; 3125 }), 3126 "image" === t.type && 3127 n('<div class="fancybox-spaceball"></div>').appendTo(t.$content)), 3128 e.revealContent(t)); 3129 }, 3130 revealContent: function (t) { 3131 var e, 3132 i, 3133 a, 3134 s, 3135 r, 3136 c = this, 3137 l = t.$slide, 3138 u = !1; 3139 return ( 3140 (e = t.opts[c.firstRun ? "animationEffect" : "transitionEffect"]), 3141 (a = t.opts[c.firstRun ? "animationDuration" : "transitionDuration"]), 3142 (a = parseInt(t.forcedDuration === o ? a : t.forcedDuration, 10)), 3143 (!t.isMoved && t.pos === c.currPos && a) || (e = !1), 3144 "zoom" !== e || 3145 (t.pos === c.currPos && 3146 a && 3147 "image" === t.type && 3148 !t.hasError && 3149 (u = c.getThumbPos(t))) || 3150 (e = "fade"), 3151 "zoom" === e 3152 ? ((r = c.getFitPos(t)), 3153 (r.scaleX = r.width / u.width), 3154 (r.scaleY = r.height / u.height), 3155 delete r.width, 3156 delete r.height, 3157 (s = t.opts.zoomOpacity), 3158 "auto" == s && 3159 (s = Math.abs(t.width / t.height - u.width / u.height) > 0.1), 3160 s && ((u.opacity = 0.1), (r.opacity = 1)), 3161 n.fancybox.setTranslate( 3162 t.$content.removeClass("fancybox-is-hidden"), 3163 u 3164 ), 3165 f(t.$content), 3166 void n.fancybox.animate(t.$content, r, a, function () { 3167 c.complete(); 3168 })) 3169 : (c.updateSlide(t), 3170 e 3171 ? (n.fancybox.stop(l), 3172 (i = 3173 "fancybox-animated fancybox-slide--" + 3174 (t.pos >= c.prevPos ? "next" : "previous") + 3175 " fancybox-fx-" + 3176 e), 3177 l 3178 .removeAttr("style") 3179 .removeClass( 3180 "fancybox-slide--current fancybox-slide--next fancybox-slide--previous" 3181 ) 3182 .addClass(i), 3183 t.$content.removeClass("fancybox-is-hidden"), 3184 f(l), 3185 void n.fancybox.animate( 3186 l, 3187 "fancybox-slide--current", 3188 a, 3189 function (e) { 3190 l.removeClass(i).removeAttr("style"), 3191 t.pos === c.currPos && c.complete(); 3192 }, 3193 !0 3194 )) 3195 : (f(l), 3196 t.$content.removeClass("fancybox-is-hidden"), 3197 void (t.pos === c.currPos && c.complete()))) 3198 ); 3199 }, 3200 getThumbPos: function (o) { 3201 var i, 3202 a = this, 3203 s = !1, 3204 r = function (e) { 3205 for ( 3206 var o, i = e[0], a = i.getBoundingClientRect(), s = []; 3207 null !== i.parentElement; 3208 3209 ) 3210 ("hidden" !== n(i.parentElement).css("overflow") && 3211 "auto" !== n(i.parentElement).css("overflow")) || 3212 s.push(i.parentElement.getBoundingClientRect()), 3213 (i = i.parentElement); 3214 return ( 3215 (o = s.every(function (t) { 3216 var e = Math.min(a.right, t.right) - Math.max(a.left, t.left), 3217 n = Math.min(a.bottom, t.bottom) - Math.max(a.top, t.top); 3218 return e > 0 && n > 0; 3219 })), 3220 o && 3221 a.bottom > 0 && 3222 a.right > 0 && 3223 a.left < n(t).width() && 3224 a.top < n(t).height() 3225 ); 3226 }, 3227 c = o.opts.$thumb, 3228 l = c ? c.offset() : 0; 3229 return ( 3230 l && 3231 c[0].ownerDocument === e && 3232 r(c) && 3233 ((i = a.$refs.stage.offset()), 3234 (s = { 3235 top: l.top - i.top + parseFloat(c.css("border-top-width") || 0), 3236 left: 3237 l.left - i.left + parseFloat(c.css("border-left-width") || 0), 3238 width: c.width(), 3239 height: c.height(), 3240 scaleX: 1, 3241 scaleY: 1, 3242 })), 3243 s 3244 ); 3245 }, 3246 complete: function () { 3247 var t = this, 3248 o = t.current, 3249 i = {}; 3250 o.isMoved || 3251 !o.isLoaded || 3252 o.isComplete || 3253 ((o.isComplete = !0), 3254 o.$slide.siblings().trigger("onReset"), 3255 t.preload("inline"), 3256 f(o.$slide), 3257 o.$slide.addClass("fancybox-slide--complete"), 3258 n.each(t.slides, function (e, o) { 3259 o.pos >= t.currPos - 1 && o.pos <= t.currPos + 1 3260 ? (i[o.pos] = o) 3261 : o && (n.fancybox.stop(o.$slide), o.$slide.off().remove()); 3262 }), 3263 (t.slides = i),
3264 t.updateCursor(), 3265 t.trigger("afterShow"), 3266 o.$slide.find("video,audio").first().trigger("play"), 3267 (n(e.activeElement).is("[disabled]") || 3268 (o.opts.autoFocus && "image" != o.type && "iframe" !== o.type)) && 3269 t.focus()); 3270 }, 3271 preload: function (t) { 3272 var e = this, 3273 n = e.slides[e.currPos + 1], 3274 o = e.slides[e.currPos - 1]; 3275 n && n.type === t && e.loadSlide(n), 3276 o && o.type === t && e.loadSlide(o); 3277 }, 3278 focus: function () { 3279 var t, 3280 e = this.current; 3281 this.isClosing || 3282 (e && 3283 e.isComplete && 3284 ((t = e.$slide.find("input[autofocus]:enabled:visible:first")), 3285 t.length || 3286 (t = e.$slide 3287 .find("button,:input,[tabindex],a") 3288 .filter(":enabled:visible:first"))), 3289 (t = t && t.length ? t : this.$refs.container), 3290 t.focus()); 3291 }, 3292 activate: function () { 3293 var t = this; 3294 n(".fancybox-container").each(function () { 3295 var e = n(this).data("FancyBox"); 3296 e && 3297 e.id !== t.id && 3298 !e.isClosing && 3299 (e.trigger("onDeactivate"), e.removeEvents(), (e.isVisible = !1)); 3300 }), 3301 (t.isVisible = !0), 3302 (t.current || t.isIdle) && (t.update(), t.updateControls()), 3303 t.trigger("onActivate"), 3304 t.addEvents(); 3305 }, 3306 close: function (t, e) { 3307 var o, 3308 i, 3309 a, 3310 s, 3311 r, 3312 c, 3313 l = this, 3314 p = l.current, 3315 h = function () { 3316 l.cleanUp(t); 3317 }; 3318 return ( 3319 !l.isClosing && 3320 ((l.isClosing = !0), 3321 l.trigger("beforeClose", t) === !1 3322 ? ((l.isClosing = !1), 3323 u(function () { 3324 l.update(); 3325 }), 3326 !1) 3327 : (l.removeEvents(), 3328 p.timouts && clearTimeout(p.timouts), 3329 (a = p.$content), 3330 (o = p.opts.animationEffect), 3331 (i = n.isNumeric(e) ? e : o ? p.opts.animationDuration : 0), 3332 p.$slide 3333 .off(d) 3334 .removeClass( 3335 "fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated" 3336 ), 3337 p.$slide.siblings().trigger("onReset").remove(), 3338 i && 3339 l.$refs.container 3340 .removeClass("fancybox-is-open") 3341 .addClass("fancybox-is-closing"), 3342 l.hideLoading(p), 3343 l.hideControls(), 3344 l.updateCursor(), 3345 "zoom" !== o || 3346 (t !== !0 && 3347 a && 3348 i && 3349 "image" === p.type && 3350 !p.hasError && 3351 (c = l.getThumbPos(p))) || 3352 (o = "fade"), 3353 "zoom" === o 3354 ? (n.fancybox.stop(a), 3355 (r = n.fancybox.getTranslate(a)), 3356 (r.width = r.width * r.scaleX), 3357 (r.height = r.height * r.scaleY), 3358 (s = p.opts.zoomOpacity), 3359 "auto" == s && 3360 (s = 3361 Math.abs(p.width / p.height - c.width / c.height) > 0.1), 3362 s && (c.opacity = 0), 3363 (r.scaleX = r.width / c.width), 3364 (r.scaleY = r.height / c.height), 3365 (r.width = c.width), 3366 (r.height = c.height), 3367 n.fancybox.setTranslate(p.$content, r), 3368 f(p.$content), 3369 n.fancybox.animate(p.$content, c, i, h), 3370 !0) 3371 : (o && i 3372 ? t === !0 3373 ? setTimeout(h, i) 3374 : n.fancybox.animate( 3375 p.$slide.removeClass("fancybox-slide--current"), 3376 "fancybox-animated fancybox-slide--previous fancybox-fx-" + 3377 o, 3378 i, 3379 h 3380 ) 3381 : h(), 3382 !0))) 3383 ); 3384 }, 3385 cleanUp: function (t) { 3386 var o, 3387 i, 3388 a = this, 3389 r = n("body"); 3390 a.current.$slide.trigger("onReset"), 3391 a.$refs.container.empty().remove(), 3392 a.trigger("afterClose", t), 3393 a.$lastFocus && a.current.opts.backFocus && a.$lastFocus.focus(), 3394 (a.current = null),
3395 (o = n.fancybox.getInstance()), 3396 o 3397 ? o.activate() 3398 : (s.scrollTop(a.scrollTop).scrollLeft(a.scrollLeft), 3399 r.removeClass("fancybox-active compensate-for-scrollbar"), 3400 r.hasClass("fancybox-iosfix") && 3401 ((i = parseInt(e.body.style.top, 10)), 3402 r 3403 .removeClass("fancybox-iosfix") 3404 .css("top", "") 3405 .scrollTop(i * -1)), 3406 n("#fancybox-style-noscroll").remove()); 3407 }, 3408 trigger: function (t, e) { 3409 var o, 3410 i = Array.prototype.slice.call(arguments, 1), 3411 a = this, 3412 s = e && e.opts ? e : a.current; 3413 return ( 3414 s ? i.unshift(s) : (s = a), 3415 i.unshift(a), 3416 n.isFunction(s.opts[t]) && (o = s.opts[t].apply(s, i)), 3417 o === !1 3418 ? o 3419 : void ("afterClose" !== t && a.$refs 3420 ? a.$refs.container.trigger(t + ".fb", i) 3421 : r.trigger(t + ".fb", i)) 3422 ); 3423 }, 3424 updateControls: function (t) { 3425 var e = this, 3426 n = e.current, 3427 o = n.index, 3428 i = n.opts.caption, 3429 a = e.$refs.container, 3430 s = e.$refs.caption; 3431 n.$slide.trigger("refresh"), 3432 (e.$caption = i && i.length ? s.html(i) : null), 3433 e.isHiddenControls || e.isIdle || e.showControls(), 3434 a.find("[data-fancybox-count]").html(e.group.length), 3435 a.find("[data-fancybox-index]").html(o + 1), 3436 a 3437 .find("[data-fancybox-prev]") 3438 .prop("disabled", !n.opts.loop && o <= 0), 3439 a 3440 .find("[data-fancybox-next]") 3441 .prop("disabled", !n.opts.loop && o >= e.group.length - 1), 3442 "image" === n.type 3443 ? a 3444 .find("[data-fancybox-download]") 3445 .attr("href", n.opts.image.src || n.src) 3446 .show() 3447 : a.find("[data-fancybox-download],[data-fancybox-zoom]").hide(); 3448 }, 3449 hideControls: function () { 3450 (this.isHiddenControls = !0), 3451 this.$refs.container.removeClass( 3452 "fancybox-show-infobar fancybox-show-toolbar fancybox-show-caption fancybox-show-nav" 3453 ); 3454 }, 3455 showControls: function () { 3456 var t = this, 3457 e = t.current ? t.current.opts : t.opts, 3458 n = t.$refs.container; 3459 (t.isHiddenControls = !1), 3460 (t.idleSecondsCounter = 0), 3461 n 3462 .toggleClass("fancybox-show-toolbar", !(!e.toolbar || !e.buttons)) 3463 .toggleClass( 3464 "fancybox-show-infobar", 3465 !!(e.infobar && t.group.length > 1) 3466 ) 3467 .toggleClass( 3468 "fancybox-show-nav", 3469 !!(e.arrows && t.group.length > 1) 3470 ) 3471 .toggleClass("fancybox-is-modal", !!e.modal), 3472 t.$caption 3473 ? n.addClass("fancybox-show-caption ") 3474 : n.removeClass("fancybox-show-caption"); 3475 }, 3476 toggleControls: function () { 3477 this.isHiddenControls ? this.showControls() : this.hideControls(); 3478 }, 3479 }), 3480 (n.fancybox = { 3481 version: "3.2.10", 3482 defaults: a, 3483 getInstance: function (t) { 3484 var e = n( 3485 '.fancybox-container:not(".fancybox-is-closing"):last' 3486 ).data("FancyBox"), 3487 o = Array.prototype.slice.call(arguments, 1); 3488 return ( 3489 e instanceof p && 3490 ("string" === n.type(t) 3491 ? e[t].apply(e, o) 3492 : "function" === n.type(t) && t.apply(e, o), 3493 e) 3494 ); 3495 }, 3496 open: function (t, e, n) { 3497 return new p(t, e, n); 3498 }, 3499 close: function (t) { 3500 var e = this.getInstance(); 3501 e && (e.close(), t === !0 && this.close()); 3502 }, 3503 destroy: function () { 3504 this.close(!0), r.off("click.fb-start"); 3505 }, 3506 isMobile: 3507 e.createTouch !== o && 3508 /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( 3509 navigator.userAgent 3510 ), 3511 use3d: (function () { 3512 var n = e.createElement("div"); 3513 return ( 3514 t.getComputedStyle && 3515 t.getComputedStyle(n).getPropertyValue("transform") && 3516 !(e.documentMode && e.documentMode < 11) 3517 ); 3518 })(), 3519 getTranslate: function (t) { 3520 var e; 3521 if (!t || !t.length) return !1; 3522 if ( 3523 ((e = t.eq(0).css("transform")), 3524 e && e.indexOf("matrix") !== -1 3525 ? ((e = e.split("(")[1]), 3526 (e = e.split(")")[0]), 3527 (e = e.split(","))) 3528 : (e = []), 3529 e.length) 3530 ) 3531 (e = 3532 e.length > 10 3533 ? [e[13], e[12], e[0], e[5]] 3534 : [e[5], e[4], e[0], e[3]]), 3535 (e = e.map(parseFloat)); 3536 else { 3537 e = [0, 0, 1, 1]; 3538 var n = /\.*translate\((.*)px,(.*)px\)/i, 3539 o = n.exec(t.eq(0).attr("style")); 3540 o && ((e[0] = parseFloat(o[2])), (e[1] = parseFloat(o[1]))); 3541 } 3542 return { 3543 top: e[0], 3544 left: e[1], 3545 scaleX: e[2], 3546 scaleY: e[3], 3547 opacity: parseFloat(t.css("opacity")), 3548 width: t.width(), 3549 height: t.height(), 3550 }; 3551 }, 3552 setTranslate: function (t, e) { 3553 var n = "", 3554 i = {}; 3555 if (t && e) 3556 return ( 3557 (e.left === o && e.top === o) || 3558 ((n = 3559 (e.left === o ? t.position().left : e.left) + 3560 "px, " + 3561 (e.top === o ? t.position().top : e.top) + 3562 "px"), 3563 (n = this.use3d 3564 ? "translate3d(" + n + ", 0px)" 3565 : "translate(" + n + ")")), 3566 e.scaleX !== o && 3567 e.scaleY !== o && 3568 (n = 3569 (n.length ? n + " " : "") + 3570 "scale(" + 3571 e.scaleX + 3572 ", " + 3573 e.scaleY + 3574 ")"), 3575 n.length && (i.transform = n),
3576 e.opacity !== o && (i.opacity = e.opacity), 3577 e.width !== o && (i.width = e.width), 3578 e.height !== o && (i.height = e.height), 3579 t.css(i) 3580 ); 3581 }, 3582 animate: function (t, e, i, a, s) { 3583 n.isFunction(i) && ((a = i), (i = null)), 3584 n.isPlainObject(e) || t.removeAttr("style"), 3585 t.on(d, function (i) { 3586 (!i || 3587 !i.originalEvent || 3588 (t.is(i.originalEvent.target) && 3589 "z-index" != i.originalEvent.propertyName)) && 3590 (n.fancybox.stop(t), 3591 n.isPlainObject(e) 3592 ? (e.scaleX !== o && 3593 e.scaleY !== o && 3594 (t.css("transition-duration", ""), 3595 (e.width = Math.round(t.width() * e.scaleX)), 3596 (e.height = Math.round(t.height() * e.scaleY)), 3597 (e.scaleX = 1), 3598 (e.scaleY = 1), 3599 n.fancybox.setTranslate(t, e)), 3600 s === !1 && t.removeAttr("style")) 3601 : s !== !0 && t.removeClass(e), 3602 n.isFunction(a) && a(i)); 3603 }), 3604 n.isNumeric(i) && t.css("transition-duration", i + "ms"), 3605 n.isPlainObject(e) ? n.fancybox.setTranslate(t, e) : t.addClass(e), 3606 e.scaleX && 3607 t.hasClass("fancybox-image-wrap") && 3608 t.parent().addClass("fancybox-is-scaling"), 3609 t.data( 3610 "timer", 3611 setTimeout(function () { 3612 t.trigger("transitionend"); 3613 }, i + 16) 3614 ); 3615 }, 3616 stop: function (t) { 3617 clearTimeout(t.data("timer")), 3618 t.off("transitionend").css("transition-duration", ""), 3619 t.hasClass("fancybox-image-wrap") && 3620 t.parent().removeClass("fancybox-is-scaling"); 3621 }, 3622 }), 3623 (n.fn.fancybox = function (t) { 3624 var e; 3625 return ( 3626 (t = t || {}), 3627 (e = t.selector || !1), 3628 e 3629 ? n("body") 3630 .off("click.fb-start", e) 3631 .on("click.fb-start", e, { options: t }, i) 3632 : this.off("click.fb-start").on( 3633 "click.fb-start", 3634 { items: this, options: t }, 3635 i 3636 ), 3637 this 3638 ); 3639 }), 3640 r.on("click.fb-start", "[data-fancybox]", i); 3641 } 3642})(window, document, window.jQuery || jQuery), 3643 (function (t) { 3644 "use strict"; 3645 var e = function (e, n, o) { 3646 if (e) 3647 return ( 3648 (o = o || ""), 3649 "object" === t.type(o) && (o = t.param(o, !0)), 3650 t.each(n, function (t, n) { 3651 e = e.replace("$" + t, n || ""); 3652 }), 3653 o.length && (e += (e.indexOf("?") > 0 ? "&" : "?") + o), 3654 e 3655 ); 3656 }, 3657 n = { 3658 youtube: { 3659 matcher: 3660 /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i, 3661 params: { 3662 autoplay: 1, 3663 autohide: 1, 3664 fs: 1, 3665 rel: 0, 3666 hd: 1, 3667 wmode: "transparent", 3668 enablejsapi: 1, 3669 html5: 1, 3670 }, 3671 paramPlace: 8, 3672 type: "iframe", 3673 url: "//www.youtube.com/embed/$4", 3674 thumb: "//img.youtube.com/vi/$4/hqdefault.jpg", 3675 }, 3676 vimeo: { 3677 matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/, 3678 params: { 3679 autoplay: 1, 3680 hd: 1, 3681 show_title: 1, 3682 show_byline: 1, 3683 show_portrait: 0, 3684 fullscreen: 1, 3685 api: 1, 3686 }, 3687 paramPlace: 3, 3688 type: "iframe", 3689 url: "//player.vimeo.com/video/$2", 3690 }, 3691 metacafe: { 3692 matcher: /metacafe.com\/watch\/(\d+)\/(.*)?/, 3693 type: "iframe", 3694 url: "//www.metacafe.com/embed/$1/?ap=1", 3695 }, 3696 dailymotion: { 3697 matcher: /dailymotion.com\/video\/(.*)\/?(.*)/, 3698 params: { additionalInfos: 0, autoStart: 1 }, 3699 type: "iframe", 3700 url: "//www.dailymotion.com/embed/video/$1", 3701 }, 3702 vine: { 3703 matcher: /vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/, 3704 type: "iframe", 3705 url: "//vine.co/v/$1/embed/simple", 3706 }, 3707 instagram: { 3708 matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i, 3709 type: "image", 3710 url: "//$1/p/$2/media/?size=l", 3711 }, 3712 gmap_place: { 3713 matcher: 3714 /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i, 3715 type: "iframe", 3716 url: function (t) { 3717 return ( 3718 "//maps.google." + 3719 t[2] + 3720 "/?ll=" + 3721 (t[9] 3722 ? t[9] + 3723 "&z=" + 3724 Math.floor(t[10]) + 3725 (t[12] ? t[12].replace(/^\//, "&") : "") 3726 : t[12]) + 3727 "&output=" + 3728 (t[12] && t[12].indexOf("layer=c") > 0 ? "svembed" : "embed") 3729 ); 3730 }, 3731 }, 3732 gmap_search: { 3733 matcher: 3734 /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i, 3735 type: "iframe", 3736 url: function (t) { 3737 return ( 3738 "//maps.google." + 3739 t[2] +
3740 "/maps?q=" + 3741 t[5].replace("query=", "q=").replace("api=1", "") + 3742 "&output=embed" 3743 ); 3744 }, 3745 }, 3746 }; 3747 t(document).on("objectNeedsType.fb", function (o, i, a) { 3748 var s, 3749 r, 3750 c, 3751 l, 3752 u, 3753 d, 3754 f, 3755 p = a.src || "", 3756 h = !1; 3757 (s = t.extend(!0, {}, n, a.opts.media)), 3758 t.each(s, function (n, o) { 3759 if ((c = p.match(o.matcher))) { 3760 if (((h = o.type), (d = {}), o.paramPlace && c[o.paramPlace])) { 3761 (u = c[o.paramPlace]), 3762 "?" == u[0] && (u = u.substring(1)), 3763 (u = u.split("&")); 3764 for (var i = 0; i < u.length; ++i) { 3765 var s = u[i].split("=", 2); 3766 2 == s.length && 3767 (d[s[0]] = decodeURIComponent(s[1].replace(/\+/g, " "))); 3768 } 3769 } 3770 return ( 3771 (l = t.extend(!0, {}, o.params, a.opts[n], d)), 3772 (p = 3773 "function" === t.type(o.url) 3774 ? o.url.call(this, c, l, a) 3775 : e(o.url, c, l)), 3776 (r = 3777 "function" === t.type(o.thumb) 3778 ? o.thumb.call(this, c, l, a) 3779 : e(o.thumb, c)), 3780 "vimeo" === n && (p = p.replace("&%23", "#")), 3781 !1 3782 ); 3783 } 3784 }), 3785 h 3786 ? ((a.src = p), 3787 (a.type = h), 3788 a.opts.thumb || 3789 (a.opts.$thumb && a.opts.$thumb.length) || 3790 (a.opts.thumb = r), 3791 "iframe" === h && 3792 (t.extend(!0, a.opts, { 3793 iframe: { preload: !1, attr: { scrolling: "no" } }, 3794 }), 3795 (a.contentProvider = f), 3796 (a.opts.slideClass += 3797 " fancybox-slide--" + 3798 ("gmap_place" == f || "gmap_search" == f ? "map" : "video")))) 3799 : p && (a.type = a.opts.defaultType); 3800 }); 3801 })(window.jQuery || jQuery), 3802 (function (t, e, n) { 3803 "use strict"; 3804 var o = (function () { 3805 return ( 3806 t.requestAnimationFrame || 3807 t.webkitRequestAnimationFrame || 3808 t.mozRequestAnimationFrame || 3809 t.oRequestAnimationFrame || 3810 function (e) { 3811 return t.setTimeout(e, 1e3 / 60); 3812 } 3813 ); 3814 })(), 3815 i = (function () { 3816 return ( 3817 t.cancelAnimationFrame || 3818 t.webkitCancelAnimationFrame || 3819 t.mozCancelAnimationFrame || 3820 t.oCancelAnimationFrame || 3821 function (e) { 3822 t.clearTimeout(e); 3823 } 3824 ); 3825 })(), 3826 a = function (e) { 3827 var n = []; 3828 (e = e.originalEvent || e || t.e), 3829 (e = 3830 e.touches && e.touches.length 3831 ? e.touches 3832 : e.changedTouches && e.changedTouches.length 3833 ? e.changedTouches 3834 : [e]); 3835 for (var o in e) 3836 e[o].pageX 3837 ? n.push({ x: e[o].pageX, y: e[o].pageY }) 3838 : e[o].clientX && n.push({ x: e[o].clientX, y: e[o].clientY }); 3839 return n; 3840 }, 3841 s = function (t, e, n) { 3842 return e && t 3843 ? "x" === n 3844 ? t.x - e.x 3845 : "y" === n 3846 ? t.y - e.y 3847 : Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2)) 3848 : 0; 3849 }, 3850 r = function (t) { 3851 if ( 3852 t.is( 3853 'a,area,button,[role="button"],input,label,select,summary,textarea' 3854 ) || 3855 n.isFunction(t.get(0).onclick) || 3856 t.data("selectable") 3857 ) 3858 return !0; 3859 for (var e = 0, o = t[0].attributes, i = o.length; e < i; e++) 3860 if ("data-fancybox-" === o[e].nodeName.substr(0, 14)) return !0; 3861 return !1; 3862 }, 3863 c = function (e) { 3864 var n = t.getComputedStyle(e)["overflow-y"], 3865 o = t.getComputedStyle(e)["overflow-x"], 3866 i = 3867 ("scroll" === n || "auto" === n) && e.scrollHeight > e.clientHeight, 3868 a = ("scroll" === o || "auto" === o) && e.scrollWidth > e.clientWidth; 3869 return i || a; 3870 }, 3871 l = function (t) { 3872 for (var e = !1; ; ) { 3873 if ((e = c(t.get(0)))) break; 3874 if ( 3875 ((t = t.parent()), 3876 !t.length || t.hasClass("fancybox-stage") || t.is("body")) 3877 ) 3878 break; 3879 } 3880 return e; 3881 }, 3882 u = function (t) { 3883 var e = this; 3884 (e.instance = t), 3885 (e.$bg = t.$refs.bg), 3886 (e.$stage = t.$refs.stage), 3887 (e.$container = t.$refs.container), 3888 e.destroy(), 3889 e.$container.on( 3890 "touchstart.fb.touch mousedown.fb.touch", 3891 n.proxy(e, "ontouchstart") 3892 ); 3893 }; 3894 (u.prototype.destroy = function () { 3895 this.$container.off(".fb.touch"); 3896 }), 3897 (u.prototype.ontouchstart = function (o) { 3898 var i = this, 3899 c = n(o.target), 3900 u = i.instance, 3901 d = u.current, 3902 f = d.$content,
3903 p = "touchstart" == o.type; 3904 if ( 3905 (p && i.$container.off("mousedown.fb.touch"), 3906 (!o.originalEvent || 2 != o.originalEvent.button) && 3907 c.length && 3908 !r(c) && 3909 !r(c.parent()) && 3910 (c.is("img") || 3911 !(o.originalEvent.clientX > c[0].clientWidth + c.offset().left))) 3912 ) { 3913 if (!d || i.instance.isAnimating || i.instance.isClosing) 3914 return o.stopPropagation(), void o.preventDefault(); 3915 if (((i.realPoints = i.startPoints = a(o)), i.startPoints)) { 3916 if ( 3917 (o.stopPropagation(), 3918 (i.startEvent = o), 3919 (i.canTap = !0), 3920 (i.$target = c), 3921 (i.$content = f), 3922 (i.opts = d.opts.touch), 3923 (i.isPanning = !1), 3924 (i.isSwiping = !1), 3925 (i.isZooming = !1), 3926 (i.isScrolling = !1), 3927 (i.sliderStartPos = i.sliderLastPos || { top: 0, left: 0 }), 3928 (i.contentStartPos = n.fancybox.getTranslate(i.$content)), 3929 (i.contentLastPos = null), 3930 (i.startTime = new Date().getTime()), 3931 (i.distanceX = i.distanceY = i.distance = 0), 3932 (i.canvasWidth = Math.round(d.$slide[0].clientWidth)), 3933 (i.canvasHeight = Math.round(d.$slide[0].clientHeight)), 3934 n(e) 3935 .off(".fb.touch") 3936 .on( 3937 p 3938 ? "touchend.fb.touch touchcancel.fb.touch" 3939 : "mouseup.fb.touch mouseleave.fb.touch", 3940 n.proxy(i, "ontouchend") 3941 ) 3942 .on( 3943 p ? "touchmove.fb.touch" : "mousemove.fb.touch", 3944 n.proxy(i, "ontouchmove") 3945 ), 3946 n.fancybox.isMobile && 3947 e.addEventListener("scroll", i.onscroll, !0), 3948 (!i.opts && !u.canPan()) || 3949 (!c.is(i.$stage) && !i.$stage.find(c).length)) 3950 ) 3951 return void (c.is("img") && o.preventDefault()); 3952 (n.fancybox.isMobile && (l(c) || l(c.parent()))) || 3953 o.preventDefault(), 3954 1 === i.startPoints.length && 3955 ("image" === d.type && 3956 (i.contentStartPos.width > i.canvasWidth + 1 || 3957 i.contentStartPos.height > i.canvasHeight + 1) 3958 ? (n.fancybox.stop(i.$content), 3959 i.$content.css("transition-duration", ""), 3960 (i.isPanning = !0)) 3961 : (i.isSwiping = !0), 3962 i.$container.addClass("fancybox-controls--isGrabbing")), 3963 2 !== i.startPoints.length || 3964 u.isAnimating || 3965 d.hasError || 3966 "image" !== d.type || 3967 (!d.isLoaded && !d.$ghost) || 3968 ((i.canTap = !1), 3969 (i.isSwiping = !1), 3970 (i.isPanning = !1), 3971 (i.isZooming = !0), 3972 n.fancybox.stop(i.$content), 3973 i.$content.css("transition-duration", ""), 3974 (i.centerPointStartX = 3975 0.5 * (i.startPoints[0].x + i.startPoints[1].x) - 3976 n(t).scrollLeft()), 3977 (i.centerPointStartY = 3978 0.5 * (i.startPoints[0].y + i.startPoints[1].y) - 3979 n(t).scrollTop()), 3980 (i.percentageOfImageAtPinchPointX = 3981 (i.centerPointStartX - i.contentStartPos.left) / 3982 i.contentStartPos.width), 3983 (i.percentageOfImageAtPinchPointY = 3984 (i.centerPointStartY - i.contentStartPos.top) / 3985 i.contentStartPos.height), 3986 (i.startDistanceBetweenFingers = s( 3987 i.startPoints[0], 3988 i.startPoints[1] 3989 ))); 3990 } 3991 } 3992 }), 3993 (u.prototype.onscroll = function (t) { 3994 self.isScrolling = !0; 3995 }), 3996 (u.prototype.ontouchmove = function (t) { 3997 var e = this, 3998 o = n(t.target); 3999 return e.isScrolling || (!o.is(e.$stage) && !e.$stage.find(o).length) 4000 ? void (e.canTap = !1) 4001 : ((e.newPoints = a(t)), 4002 void ( 4003 (e.opts || e.instance.canPan()) && 4004 e.newPoints && 4005 e.newPoints.length && 4006 ((e.isSwiping && e.isSwiping === !0) || t.preventDefault(), 4007 (e.distanceX = s(e.newPoints[0], e.startPoints[0], "x")), 4008 (e.distanceY = s(e.newPoints[0], e.startPoints[0], "y")), 4009 (e.distance = s(e.newPoints[0], e.startPoints[0])), 4010 e.distance > 0 && 4011 (e.isSwiping 4012 ? e.onSwipe(t) 4013 : e.isPanning 4014 ? e.onPan() 4015 : e.isZooming && e.onZoom())) 4016 )); 4017 }), 4018 (u.prototype.onSwipe = function (e) { 4019 var a, 4020 s = this, 4021 r = s.isSwiping, 4022 c = s.sliderStartPos.left || 0; 4023 if (r !== !0) 4024 "x" == r && 4025 (s.distanceX > 0 && 4026 (s.instance.group.length < 2 || 4027 (0 === s.instance.current.index && !s.instance.current.opts.loop)) 4028 ? (c += Math.pow(s.distanceX, 0.8)) 4029 : s.distanceX < 0 && 4030 (s.instance.group.length < 2 || 4031 (s.instance.current.index === s.instance.group.length - 1 && 4032 !s.instance.current.opts.loop)) 4033 ? (c -= Math.pow(-s.distanceX, 0.8)) 4034 : (c += s.distanceX)), 4035 (s.sliderLastPos = { 4036 top: "x" == r ? 0 : s.sliderStartPos.top + s.distanceY, 4037 left: c, 4038 }), 4039 s.requestId && (i(s.requestId), (s.requestId = null)), 4040 (s.requestId = o(function () { 4041 s.sliderLastPos && 4042 (n.each(s.instance.slides, function (t, e) { 4043 var o = e.pos - s.instance.currPos; 4044 n.fancybox.setTranslate(e.$slide, { 4045 top: s.sliderLastPos.top, 4046 left: 4047 s.sliderLastPos.left + 4048 o * s.canvasWidth + 4049 o * e.opts.gutter, 4050 }); 4051 }), 4052 s.$container.addClass("fancybox-is-sliding")); 4053 })); 4054 else if (Math.abs(s.distance) > 10) { 4055 if ( 4056 ((s.canTap = !1), 4057 s.instance.group.length < 2 && s.opts.vertical 4058 ? (s.isSwiping = "y") 4059 : s.instance.isDragging || 4060 s.opts.vertical === !1 || 4061 ("auto" === s.opts.vertical && n(t).width() > 800) 4062 ? (s.isSwiping = "x") 4063 : ((a = Math.abs( 4064 (180 * Math.atan2(s.distanceY, s.distanceX)) / Math.PI 4065 )), 4066 (s.isSwiping = a > 45 && a < 135 ? "y" : "x")), 4067 (s.canTap = !1), 4068 "y" === s.isSwiping && 4069 n.fancybox.isMobile && 4070 (l(s.$target) || l(s.$target.parent()))) 4071 ) 4072 return void (s.isScrolling = !0); 4073 (s.instance.isDragging = s.isSwiping), 4074 (s.startPoints = s.newPoints), 4075 n.each(s.instance.slides, function (t, e) { 4076 n.fancybox.stop(e.$slide), 4077 e.$slide.css("transition-duration", ""), 4078 (e.inTransition = !1), 4079 e.pos === s.instance.current.pos && 4080 (s.sliderStartPos.left = n.fancybox.getTranslate( 4081 e.$slide 4082 ).left); 4083 }), 4084 s.instance.SlideShow && 4085 s.instance.SlideShow.isActive && 4086 s.instance.SlideShow.stop(); 4087 } 4088 }), 4089 (u.prototype.onPan = function () { 4090 var t = this; 4091 return s(t.newPoints[0], t.realPoints[0]) < 4092 (n.fancybox.isMobile ? 10 : 5) 4093 ? void (t.startPoints = t.newPoints) 4094 : ((t.canTap = !1), 4095 (t.contentLastPos = t.limitMovement()), 4096 t.requestId && (i(t.requestId), (t.requestId = null)), 4097 void (t.requestId = o(function () { 4098 n.fancybox.setTranslate(t.$content, t.contentLastPos); 4099 }))); 4100 }), 4101 (u.prototype.limitMovement = function () { 4102 var t, 4103 e, 4104 n, 4105 o, 4106 i, 4107 a, 4108 s = this, 4109 r = s.canvasWidth, 4110 c = s.canvasHeight, 4111 l = s.distanceX, 4112 u = s.distanceY, 4113 d = s.contentStartPos, 4114 f = d.left, 4115 p = d.top, 4116 h = d.width, 4117 g = d.height; 4118 return ( 4119 (i = h > r ? f + l : f), 4120 (a = p + u), 4121 (t = Math.max(0, 0.5 * r - 0.5 * h)), 4122 (e = Math.max(0, 0.5 * c - 0.5 * g)), 4123 (n = Math.min(r - h, 0.5 * r - 0.5 * h)), 4124 (o = Math.min(c - g, 0.5 * c - 0.5 * g)), 4125 h > r && 4126 (l > 0 && i > t && (i = t - 1 + Math.pow(-t + f + l, 0.8) || 0), 4127 l < 0 && i < n && (i = n + 1 - Math.pow(n - f - l, 0.8) || 0)), 4128 g > c && 4129 (u > 0 && a > e && (a = e - 1 + Math.pow(-e + p + u, 0.8) || 0), 4130 u < 0 && a < o && (a = o + 1 - Math.pow(o - p - u, 0.8) || 0)), 4131 { top: a, left: i, scaleX: d.scaleX, scaleY: d.scaleY } 4132 ); 4133 }), 4134 (u.prototype.limitPosition = function (t, e, n, o) { 4135 var i = this, 4136 a = i.canvasWidth, 4137 s = i.canvasHeight; 4138 return ( 4139 n > a 4140 ? ((t = t > 0 ? 0 : t), (t = t < a - n ? a - n : t)) 4141 : (t = Math.max(0, a / 2 - n / 2)), 4142 o > s 4143 ? ((e = e > 0 ? 0 : e), (e = e < s - o ? s - o : e)) 4144 : (e = Math.max(0, s / 2 - o / 2)), 4145 { top: e, left: t } 4146 ); 4147 }), 4148 (u.prototype.onZoom = function () { 4149 var e = this, 4150 a = e.contentStartPos.width, 4151 r = e.contentStartPos.height, 4152 c = e.contentStartPos.left, 4153 l = e.contentStartPos.top, 4154 u = s(e.newPoints[0], e.newPoints[1]), 4155 d = u / e.startDistanceBetweenFingers, 4156 f = Math.floor(a * d), 4157 p = Math.floor(r * d), 4158 h = (a - f) * e.percentageOfImageAtPinchPointX, 4159 g = (r - p) * e.percentageOfImageAtPinchPointY, 4160 b = (e.newPoints[0].x + e.newPoints[1].x) / 2 - n(t).scrollLeft(), 4161 m = (e.newPoints[0].y + e.newPoints[1].y) / 2 - n(t).scrollTop(), 4162 y = b - e.centerPointStartX, 4163 v = m - e.centerPointStartY, 4164 x = c + (h + y), 4165 w = l + (g + v), 4166 $ = { 4167 top: w, 4168 left: x, 4169 scaleX: e.contentStartPos.scaleX * d, 4170 scaleY: e.contentStartPos.scaleY * d, 4171 }; 4172 (e.canTap = !1), 4173 (e.newWidth = f), 4174 (e.newHeight = p), 4175 (e.contentLastPos = $), 4176 e.requestId && (i(e.requestId), (e.requestId = null)), 4177 (e.requestId = o(function () { 4178 n.fancybox.setTranslate(e.$content, e.contentLastPos); 4179 })); 4180 }), 4181 (u.prototype.ontouchend = function (t) { 4182 var o = this, 4183 s = Math.max(new Date().getTime() - o.startTime, 1), 4184 r = o.isSwiping, 4185 c = o.isPanning, 4186 l = o.isZooming, 4187 u = o.isScrolling; 4188 return ( 4189 (o.endPoints = a(t)), 4190 o.$container.removeClass("fancybox-controls--isGrabbing"), 4191 n(e).off(".fb.touch"), 4192 e.removeEventListener("scroll", o.onscroll, !0), 4193 o.requestId && (i(o.requestId), (o.requestId = null)), 4194 (o.isSwiping = !1), 4195 (o.isPanning = !1), 4196 (o.isZooming = !1), 4197 (o.isScrolling = !1), 4198 (o.instance.isDragging = !1), 4199 o.canTap 4200 ? o.onTap(t) 4201 : ((o.speed = 366), 4202 (o.velocityX = (o.distanceX / s) * 0.5), 4203 (o.velocityY = (o.distanceY / s) * 0.5), 4204 (o.speedX = Math.max( 4205 0.5 * o.speed, 4206 Math.min(1.5 * o.speed, (1 / Math.abs(o.velocityX)) * o.speed) 4207 )), 4208 void (c 4209 ? o.endPanning() 4210 : l 4211 ? o.endZooming() 4212 : o.endSwiping(r, u))) 4213 ); 4214 }), 4215 (u.prototype.endSwiping = function (t, e) { 4216 var o = this, 4217 i = !1, 4218 a = o.instance.group.length; 4219 (o.sliderLastPos = null),
4220 "y" == t && !e && Math.abs(o.distanceY) > 50 4221 ? (n.fancybox.animate( 4222 o.instance.current.$slide, 4223 { 4224 top: o.sliderStartPos.top + o.distanceY + 150 * o.velocityY, 4225 opacity: 0, 4226 }, 4227 150 4228 ), 4229 (i = o.instance.close(!0, 300))) 4230 : "x" == t && o.distanceX > 50 && a > 1 4231 ? (i = o.instance.previous(o.speedX)) 4232 : "x" == t && 4233 o.distanceX < -50 && 4234 a > 1 && 4235 (i = o.instance.next(o.speedX)), 4236 i !== !1 || 4237 ("x" != t && "y" != t) || 4238 (e || a < 2 4239 ? o.instance.centerSlide(o.instance.current, 150) 4240 : o.instance.jumpTo(o.instance.current.index)), 4241 o.$container.removeClass("fancybox-is-sliding"); 4242 }), 4243 (u.prototype.endPanning = function () { 4244 var t, 4245 e, 4246 o, 4247 i = this; 4248 i.contentLastPos && 4249 (i.opts.momentum === !1 4250 ? ((t = i.contentLastPos.left), (e = i.contentLastPos.top)) 4251 : ((t = i.contentLastPos.left + i.velocityX * i.speed), 4252 (e = i.contentLastPos.top + i.velocityY * i.speed)), 4253 (o = i.limitPosition( 4254 t, 4255 e, 4256 i.contentStartPos.width, 4257 i.contentStartPos.height 4258 )), 4259 (o.width = i.contentStartPos.width), 4260 (o.height = i.contentStartPos.height), 4261 n.fancybox.animate(i.$content, o, 330)); 4262 }), 4263 (u.prototype.endZooming = function () { 4264 var t, 4265 e, 4266 o, 4267 i, 4268 a = this, 4269 s = a.instance.current, 4270 r = a.newWidth, 4271 c = a.newHeight; 4272 a.contentLastPos && 4273 ((t = a.contentLastPos.left), 4274 (e = a.contentLastPos.top), 4275 (i = { top: e, left: t, width: r, height: c, scaleX: 1, scaleY: 1 }), 4276 n.fancybox.setTranslate(a.$content, i), 4277 r < a.canvasWidth && c < a.canvasHeight 4278 ? a.instance.scaleToFit(150) 4279 : r > s.width || c > s.height 4280 ? a.instance.scaleToActual( 4281 a.centerPointStartX, 4282 a.centerPointStartY, 4283 150 4284 ) 4285 : ((o = a.limitPosition(t, e, r, c)), 4286 n.fancybox.setTranslate( 4287 a.content, 4288 n.fancybox.getTranslate(a.$content) 4289 ), 4290 n.fancybox.animate(a.$content, o, 150))); 4291 }), 4292 (u.prototype.onTap = function (t) { 4293 var e, 4294 o = this, 4295 i = n(t.target), 4296 s = o.instance, 4297 r = s.current, 4298 c = (t && a(t)) || o.startPoints, 4299 l = c[0] ? c[0].x - o.$stage.offset().left : 0, 4300 u = c[0] ? c[0].y - o.$stage.offset().top : 0, 4301 d = function (e) { 4302 var i = r.opts[e]; 4303 if ((n.isFunction(i) && (i = i.apply(s, [r, t])), i)) 4304 switch (i) { 4305 case "close": 4306 s.close(o.startEvent); 4307 break; 4308 case "toggleControls": 4309 s.toggleControls(!0); 4310 break; 4311 case "next": 4312 s.next(); 4313 break; 4314 case "nextOrClose": 4315 s.group.length > 1 ? s.next() : s.close(o.startEvent); 4316 break; 4317 case "zoom": 4318 "image" == r.type && 4319 (r.isLoaded || r.$ghost) && 4320 (s.canPan() 4321 ? s.scaleToFit() 4322 : s.isScaledDown() 4323 ? s.scaleToActual(l, u) 4324 : s.group.length < 2 && s.close(o.startEvent)); 4325 } 4326 }; 4327 if ( 4328 (!t.originalEvent || 2 != t.originalEvent.button) && 4329 (i.is("img") || !(l > i[0].clientWidth + i.offset().left)) 4330 ) { 4331 if ( 4332 i.is( 4333 ".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container" 4334 ) 4335 ) 4336 e = "Outside"; 4337 else if (i.is(".fancybox-slide")) e = "Slide"; 4338 else { 4339 if ( 4340 !s.current.$content || 4341 !s.current.$content.find(i).addBack().filter(i).length 4342 ) 4343 return; 4344 e = "Content"; 4345 } 4346 if (o.tapped) { 4347 if ( 4348 (clearTimeout(o.tapped), 4349 (o.tapped = null),
4350 Math.abs(l - o.tapX) > 50 || Math.abs(u - o.tapY) > 50) 4351 ) 4352 return this; 4353 d("dblclick" + e); 4354 } else 4355 (o.tapX = l), 4356 (o.tapY = u), 4357 r.opts["dblclick" + e] && 4358 r.opts["dblclick" + e] !== r.opts["click" + e] 4359 ? (o.tapped = setTimeout(function () { 4360 (o.tapped = null), d("click" + e); 4361 }, 500)) 4362 : d("click" + e); 4363 return this; 4364 } 4365 }), 4366 n(e).on("onActivate.fb", function (t, e) { 4367 e && !e.Guestures && (e.Guestures = new u(e)); 4368 }); 4369 })(window, document, window.jQuery || jQuery), 4370 (function (t, e) { 4371 "use strict"; 4372 e.extend(!0, e.fancybox.defaults, { 4373 btnTpl: { 4374 slideShow: 4375 '<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"><svg viewBox="0 0 40 40"><path d="M13,12 L27,20 L13,27 Z" /><path d="M15,10 v19 M23,10 v19" /></svg></button>', 4376 }, 4377 slideShow: { autoStart: !1, speed: 3e3 }, 4378 }); 4379 var n = function (t) { 4380 (this.instance = t), this.init(); 4381 }; 4382 e.extend(n.prototype, { 4383 timer: null, 4384 isActive: !1, 4385 $button: null, 4386 init: function () { 4387 var t = this; 4388 (t.$button = t.instance.$refs.toolbar 4389 .find("[data-fancybox-play]") 4390 .on("click", function () { 4391 t.toggle(); 4392 })), 4393 (t.instance.group.length < 2 || 4394 !t.instance.group[t.instance.currIndex].opts.slideShow) && 4395 t.$button.hide(); 4396 }, 4397 set: function (t) { 4398 var e = this; 4399 e.instance && 4400 e.instance.current && 4401 (t === !0 || 4402 e.instance.current.opts.loop || 4403 e.instance.currIndex < e.instance.group.length - 1) 4404 ? (e.timer = setTimeout(function () { 4405 e.isActive && 4406 e.instance.jumpTo( 4407 (e.instance.currIndex + 1) % e.instance.group.length 4408 ); 4409 }, e.instance.current.opts.slideShow.speed)) 4410 : (e.stop(), 4411 (e.instance.idleSecondsCounter = 0), 4412 e.instance.showControls()); 4413 }, 4414 clear: function () { 4415 var t = this; 4416 clearTimeout(t.timer), (t.timer = null); 4417 }, 4418 start: function () { 4419 var t = this, 4420 e = t.instance.current; 4421 e && 4422 ((t.isActive = !0), 4423 t.$button 4424 .attr("title", e.opts.i18n[e.opts.lang].PLAY_STOP) 4425 .removeClass("fancybox-button--play") 4426 .addClass("fancybox-button--pause"), 4427 t.set(!0)); 4428 }, 4429 stop: function () { 4430 var t = this, 4431 e = t.instance.current; 4432 t.clear(), 4433 t.$button 4434 .attr("title", e.opts.i18n[e.opts.lang].PLAY_START) 4435 .removeClass("fancybox-button--pause") 4436 .addClass("fancybox-button--play"), 4437 (t.isActive = !1); 4438 }, 4439 toggle: function () { 4440 var t = this; 4441 t.isActive ? t.stop() : t.start(); 4442 }, 4443 }), 4444 e(t).on({ 4445 "onInit.fb": function (t, e) { 4446 e && !e.SlideShow && (e.SlideShow = new n(e)); 4447 }, 4448 "beforeShow.fb": function (t, e, n, o) { 4449 var i = e && e.SlideShow; 4450 o 4451 ? i && n.opts.slideShow.autoStart && i.start() 4452 : i && i.isActive && i.clear(); 4453 }, 4454 "afterShow.fb": function (t, e, n) { 4455 var o = e && e.SlideShow; 4456 o && o.isActive && o.set(); 4457 }, 4458 "afterKeydown.fb": function (n, o, i, a, s) { 4459 var r = o && o.SlideShow; 4460 !r || 4461 !i.opts.slideShow || 4462 (80 !== s && 32 !== s) || 4463 e(t.activeElement).is("button,a,input") || 4464 (a.preventDefault(), r.toggle()); 4465 }, 4466 "beforeClose.fb onDeactivate.fb": function (t, e) { 4467 var n = e && e.SlideShow; 4468 n && n.stop(); 4469 }, 4470 }), 4471 e(t).on("visibilitychange", function () { 4472 var n = e.fancybox.getInstance(), 4473 o = n && n.SlideShow; 4474 o && o.isActive && (t.hidden ? o.clear() : o.set()); 4475 }); 4476 })(document, window.jQuery || jQuery), 4477 (function (t, e) { 4478 "use strict"; 4479 var n = (function () { 4480 var e, 4481 n, 4482 o, 4483 i = [ 4484 [ 4485 "requestFullscreen", 4486 "exitFullscreen", 4487 "fullscreenElement", 4488 "fullscreenEnabled", 4489 "fullscreenchange", 4490 "fullscreenerror", 4491 ], 4492 [ 4493 "webkitRequestFullscreen", 4494 "webkitExitFullscreen", 4495 "webkitFullscreenElement", 4496 "webkitFullscreenEnabled", 4497 "webkitfullscreenchange", 4498 "webkitfullscreenerror", 4499 ], 4500 [ 4501 "webkitRequestFullScreen", 4502 "webkitCancelFullScreen", 4503 "webkitCurrentFullScreenElement", 4504 "webkitCancelFullScreen", 4505 "webkitfullscreenchange", 4506 "webkitfullscreenerror", 4507 ], 4508 [ 4509 "mozRequestFullScreen", 4510 "mozCancelFullScreen", 4511 "mozFullScreenElement", 4512 "mozFullScreenEnabled", 4513 "mozfullscreenchange", 4514 "mozfullscreenerror", 4515 ], 4516 [ 4517 "msRequestFullscreen", 4518 "msExitFullscreen", 4519 "msFullscreenElement", 4520 "msFullscreenEnabled", 4521 "MSFullscreenChange", 4522 "MSFullscreenError", 4523 ], 4524 ], 4525 a = {}; 4526 for (n = 0; n < i.length; n++) 4527 if (((e = i[n]), e && e[1] in t)) { 4528 for (o = 0; o < e.length; o++) a[i[0][o]] = e[o]; 4529 return a; 4530 } 4531 return !1; 4532 })(); 4533 if (!n) 4534 return void ( 4535 e && 4536 e.fancybox && 4537 (e.fancybox.defaults.btnTpl.fullScreen = !1) 4538 ); 4539 var o = { 4540 request: function (e) { 4541 (e = e || t.documentElement), 4542 e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT); 4543 }, 4544 exit: function () { 4545 t[n.exitFullscreen](); 4546 }, 4547 toggle: function (e) { 4548 (e = e || t.documentElement), 4549 this.isFullscreen() ? this.exit() : this.request(e); 4550 }, 4551 isFullscreen: function () { 4552 return Boolean(t[n.fullscreenElement]); 4553 }, 4554 enabled: function () { 4555 return Boolean(t[n.fullscreenEnabled]); 4556 }, 4557 }; 4558 e.extend(!0, e.fancybox.defaults, { 4559 btnTpl: { 4560 fullScreen: 4561 '<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fullscreen" title="{{FULL_SCREEN}}"><svg viewBox="0 0 40 40"><path d="M9,12 h22 v16 h-22 v-16 v16 h22 v-16 Z" /></svg></button>', 4562 }, 4563 fullScreen: { autoStart: !1 },
4564 }), 4565 e(t).on({ 4566 "onInit.fb": function (t, e) { 4567 var n; 4568 e && e.group[e.currIndex].opts.fullScreen 4569 ? ((n = e.$refs.container), 4570 n.on( 4571 "click.fb-fullscreen", 4572 "[data-fancybox-fullscreen]", 4573 function (t) { 4574 t.stopPropagation(), t.preventDefault(), o.toggle(n[0]); 4575 } 4576 ), 4577 e.opts.fullScreen && 4578 e.opts.fullScreen.autoStart === !0 && 4579 o.request(n[0]), 4580 (e.FullScreen = o)) 4581 : e && e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide(); 4582 }, 4583 "afterKeydown.fb": function (t, e, n, o, i) { 4584 e && 4585 e.FullScreen && 4586 70 === i && 4587 (o.preventDefault(), e.FullScreen.toggle(e.$refs.container[0])); 4588 }, 4589 "beforeClose.fb": function (t) { 4590 t && t.FullScreen && o.exit(); 4591 }, 4592 }), 4593 e(t).on(n.fullscreenchange, function () { 4594 var t = o.isFullscreen(), 4595 n = e.fancybox.getInstance(); 4596 n && 4597 (n.current && 4598 "image" === n.current.type && 4599 n.isAnimating && 4600 (n.current.$content.css("transition", "none"), 4601 (n.isAnimating = !1), 4602 n.update(!0, !0, 0)), 4603 n.trigger("onFullscreenChange", t), 4604 n.$refs.container.toggleClass("fancybox-is-fullscreen", t)); 4605 }); 4606 })(document, window.jQuery || jQuery), 4607 (function (t, e) { 4608 "use strict"; 4609 e.fancybox.defaults = e.extend( 4610 !0, 4611 { 4612 btnTpl: { 4613 thumbs: 4614 '<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"><svg viewBox="0 0 120 120"><path d="M30,30 h14 v14 h-14 Z M50,30 h14 v14 h-14 Z M70,30 h14 v14 h-14 Z M30,50 h14 v14 h-14 Z M50,50 h14 v14 h-14 Z M70,50 h14 v14 h-14 Z M30,70 h14 v14 h-14 Z M50,70 h14 v14 h-14 Z M70,70 h14 v14 h-14 Z" /></svg></button>', 4615 }, 4616 thumbs: { 4617 autoStart: !1, 4618 hideOnClose: !0, 4619 parentEl: ".fancybox-container", 4620 axis: "y", 4621 }, 4622 }, 4623 e.fancybox.defaults 4624 ); 4625 var n = function (t) { 4626 this.init(t); 4627 }; 4628 e.extend(n.prototype, { 4629 $button: null, 4630 $grid: null, 4631 $list: null, 4632 isVisible: !1, 4633 isActive: !1, 4634 init: function (t) { 4635 var e = this; 4636 (e.instance = t), (t.Thumbs = e); 4637 var n = t.group[0], 4638 o = t.group[1]; 4639 (e.opts = t.group[t.currIndex].opts.thumbs), 4640 (e.$button = t.$refs.toolbar.find("[data-fancybox-thumbs]")), 4641 e.opts && 4642 n && 4643 o && 4644 ("image" == n.type || n.opts.thumb || n.opts.$thumb) && 4645 ("image" == o.type || o.opts.thumb || o.opts.$thumb) 4646 ? (e.$button.show().on("click", function () { 4647 e.toggle(); 4648 }), 4649 (e.isActive = !0)) 4650 : e.$button.hide(); 4651 }, 4652 create: function () { 4653 var t, 4654 n, 4655 o = this, 4656 i = o.instance, 4657 a = o.opts.parentEl; 4658 (o.$grid = e( 4659 '<div class="fancybox-thumbs fancybox-thumbs-' + 4660 o.opts.axis + 4661 '"></div>' 4662 ).appendTo(i.$refs.container.find(a).addBack().filter(a))), 4663 (t = "<ul>"), 4664 e.each(i.group, function (e, o) { 4665 (n = 4666 o.opts.thumb || 4667 (o.opts.$thumb ? o.opts.$thumb.attr("src") : null)), 4668 n || "image" !== o.type || (n = o.src), 4669 n && 4670 n.length && 4671 (t += 4672 '<li data-index="' + 4673 e + 4674 '" tabindex="0" class="fancybox-thumbs-loading"><img data-src="' + 4675 n + 4676 '" /></li>'); 4677 }), 4678 (t += "</ul>"), 4679 (o.$list = e(t) 4680 .appendTo(o.$grid) 4681 .on("click", "li", function () { 4682 i.jumpTo(e(this).data("index")); 4683 })), 4684 o.$list 4685 .find("img") 4686 .hide() 4687 .one("load", function () { 4688 var t, 4689 n, 4690 o, 4691 i, 4692 a = e(this).parent().removeClass("fancybox-thumbs-loading"), 4693 s = a.outerWidth(), 4694 r = a.outerHeight();
4695 (t = this.naturalWidth || this.width), 4696 (n = this.naturalHeight || this.height), 4697 (o = t / s), 4698 (i = n / r), 4699 o >= 1 && 4700 i >= 1 && 4701 (o > i ? ((t /= i), (n = r)) : ((t = s), (n /= o))), 4702 e(this) 4703 .css({ 4704 width: Math.floor(t), 4705 height: Math.floor(n), 4706 "margin-top": 4707 n > r 4708 ? Math.floor(0.3 * r - 0.3 * n) 4709 : Math.floor(0.5 * r - 0.5 * n), 4710 "margin-left": Math.floor(0.5 * s - 0.5 * t), 4711 }) 4712 .show(); 4713 }) 4714 .each(function () { 4715 this.src = e(this).data("src"); 4716 }), 4717 "x" === o.opts.axis && 4718 o.$list.width( 4719 parseInt(o.$grid.css("padding-right")) + 4720 i.group.length * o.$list.children().eq(0).outerWidth(!0) + 4721 "px" 4722 ); 4723 }, 4724 focus: function (t) { 4725 var e, 4726 n, 4727 o = this, 4728 i = o.$list; 4729 o.instance.current && 4730 ((e = i 4731 .children() 4732 .removeClass("fancybox-thumbs-active") 4733 .filter('[data-index="' + o.instance.current.index + '"]') 4734 .addClass("fancybox-thumbs-active")), 4735 (n = e.position()), 4736 "y" === o.opts.axis && 4737 (n.top < 0 || n.top > i.height() - e.outerHeight()) 4738 ? i.stop().animate({ scrollTop: i.scrollTop() + n.top }, t) 4739 : "x" === o.opts.axis && 4740 (n.left < i.parent().scrollLeft() || 4741 n.left > 4742 i.parent().scrollLeft() + 4743 (i.parent().width() - e.outerWidth())) && 4744 i.parent().stop().animate({ scrollLeft: n.left }, t)); 4745 }, 4746 update: function () { 4747 this.instance.$refs.container.toggleClass( 4748 "fancybox-show-thumbs", 4749 this.isVisible 4750 ), 4751 this.isVisible 4752 ? (this.$grid || this.create(), 4753 this.instance.trigger("onThumbsShow"), 4754 this.focus(0)) 4755 : this.$grid && this.instance.trigger("onThumbsHide"), 4756 this.instance.update(); 4757 }, 4758 hide: function () { 4759 (this.isVisible = !1), this.update(); 4760 }, 4761 show: function () { 4762 (this.isVisible = !0), this.update(); 4763 }, 4764 toggle: function () { 4765 (this.isVisible = !this.isVisible), this.update(); 4766 }, 4767 }), 4768 e(t).on({ 4769 "onInit.fb": function (t, e) { 4770 var o; 4771 e && 4772 !e.Thumbs && 4773 ((o = new n(e)), o.isActive && o.opts.autoStart === !0 && o.show()); 4774 }, 4775 "beforeShow.fb": function (t, e, n, o) { 4776 var i = e && e.Thumbs; 4777 i && i.isVisible && i.focus(o ? 0 : 250); 4778 }, 4779 "afterKeydown.fb": function (t, e, n, o, i) { 4780 var a = e && e.Thumbs; 4781 a && a.isActive && 71 === i && (o.preventDefault(), a.toggle()); 4782 }, 4783 "beforeClose.fb": function (t, e) { 4784 var n = e && e.Thumbs; 4785 n && n.isVisible && n.opts.hideOnClose !== !1 && n.$grid.hide(); 4786 }, 4787 }); 4788 })(document, window.jQuery), 4789 (function (t, e) { 4790 "use strict"; 4791 function n(t) { 4792 var e = { 4793 "&": "&", 4794 "<": "<", 4795 ">": ">", 4796 '"': """, 4797 "'": "'", 4798 "/": "/", 4799 "`": "`", 4800 "=": "=", 4801 }; 4802 return String(t).replace(/[&<>"'`=\/]/g, function (t) { 4803 return e[t]; 4804 }); 4805 } 4806 e.extend(!0, e.fancybox.defaults, { 4807 btnTpl: { 4808 share: 4809 '<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}"><svg viewBox="0 0 40 40"><path d="M6,30 C8,18 19,16 23,16 L23,16 L23,10 L33,20 L23,29 L23,24 C19,24 8,27 6,30 Z"></svg></button>', 4810 }, 4811 share: { 4812 tpl: '<div class="fancybox-share"><h1>{{SHARE}}</h1><p class="fancybox-share__links"><a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg><span>Facebook</span></a><a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg><span>Pinterest</span></a><a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg><span>Twitter</span></a></p><p><input class="fancybox-share__input" type="text" value="{{url_raw}}" /></p></div>', 4813 }, 4814 }), 4815 e(t).on("click", "[data-fancybox-share]", function () { 4816 var t, 4817 o, 4818 i = e.fancybox.getInstance(); 4819 i && 4820 ((t = i.current.opts.hash === !1 ? i.current.src : window.location), 4821 (o = i.current.opts.share.tpl 4822 .replace( 4823 /\{\{media\}\}/g, 4824 "image" === i.current.type 4825 ? encodeURIComponent(i.current.src) 4826 : "" 4827 ) 4828 .replace(/\{\{url\}\}/g, encodeURIComponent(t)) 4829 .replace(/\{\{url_raw\}\}/g, n(t)) 4830 .replace( 4831 /\{\{descr\}\}/g, 4832 i.$caption ? encodeURIComponent(i.$caption.text()) : "" 4833 )), 4834 e.fancybox.open({ 4835 src: i.translate(i, o), 4836 type: "html", 4837 opts: { 4838 animationEffect: "fade", 4839 animationDuration: 250, 4840 afterLoad: function (t, e) { 4841 e.$content.find(".fancybox-share__links a").click(function () { 4842 return ( 4843 window.open(this.href, "Share", "width=550, height=450"), !1 4844 ); 4845 }); 4846 }, 4847 }, 4848 })); 4849 }); 4850 })(document, window.jQuery || jQuery), 4851 (function (t, e, n) { 4852 "use strict"; 4853 function o() { 4854 var t = e.location.hash.substr(1), 4855 n = t.split("-"), 4856 o = 4857 n.length > 1 && /^\+?\d+$/.test(n[n.length - 1]) 4858 ? parseInt(n.pop(-1), 10) || 1 4859 : 1, 4860 i = n.join("-"); 4861 return o < 1 && (o = 1), { hash: t, index: o, gallery: i }; 4862 } 4863 function i(t) { 4864 var e; 4865 "" !== t.gallery && 4866 ((e = n("[data-fancybox='" + n.escapeSelector(t.gallery) + "']").eq( 4867 t.index - 1 4868 )), 4869 e.length || (e = n("#" + n.escapeSelector(t.gallery))), 4870 e.length && ((s = !1), e.trigger("click"))); 4871 } 4872 function a(t) { 4873 var e; 4874 return ( 4875 !!t && 4876 ((e = t.current ? t.current.opts : t.opts), 4877 e.hash || (e.$orig ? e.$orig.data("fancybox") : "")) 4878 ); 4879 } 4880 n.escapeSelector || 4881 (n.escapeSelector = function (t) { 4882 var e = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, 4883 n = function (t, e) { 4884 return e 4885 ? "\0" === t 4886 ? "�" 4887 : t.slice(0, -1) + 4888 "\\" + 4889 t.charCodeAt(t.length - 1).toString(16) + 4890 " " 4891 : "\\" + t; 4892 }; 4893 return (t + "").replace(e, n); 4894 }); 4895 var s = !0, 4896 r = null, 4897 c = null; 4898 n(function () { 4899 n.fancybox.defaults.hash !== !1 && 4900 (n(t).on({ 4901 "onInit.fb": function (t, e) { 4902 var n, i; 4903 e.group[e.currIndex].opts.hash !== !1 && 4904 ((n = o()), 4905 (i = a(e)), 4906 i && n.gallery && i == n.gallery && (e.currIndex = n.index - 1)); 4907 }, 4908 "beforeShow.fb": function (n, o, i) { 4909 var l; 4910 i && 4911 i.opts.hash !== !1 && 4912 ((l = a(o)), 4913 l && 4914 "" !== l && 4915 (e.location.hash.indexOf(l) < 0 && 4916 (o.opts.origHash = e.location.hash), 4917 (r = l + (o.group.length > 1 ? "-" + (i.index + 1) : "")), 4918 "replaceState" in e.history 4919 ? (c && clearTimeout(c), 4920 (c = setTimeout(function () { 4921 e.history[s ? "pushState" : "replaceState"]( 4922 {}, 4923 t.title, 4924 e.location.pathname + e.location.search + "#" + r 4925 ), 4926 (c = null),
4927 (s = !1); 4928 }, 300))) 4929 : (e.location.hash = r))); 4930 }, 4931 "beforeClose.fb": function (o, i, s) { 4932 var l, u; 4933 c && clearTimeout(c), 4934 s.opts.hash !== !1 && 4935 ((l = a(i)), 4936 (u = i && i.opts.origHash ? i.opts.origHash : ""), 4937 l && 4938 "" !== l && 4939 ("replaceState" in history 4940 ? e.history.replaceState( 4941 {}, 4942 t.title, 4943 e.location.pathname + e.location.search + u 4944 ) 4945 : ((e.location.hash = u), 4946 n(e).scrollTop(i.scrollTop).scrollLeft(i.scrollLeft))), 4947 (r = null)); 4948 }, 4949 }), 4950 n(e).on("hashchange.fb", function () { 4951 var t = o(); 4952 n.fancybox.getInstance() 4953 ? !r || 4954 r === t.gallery + "-" + t.index || 4955 (1 === t.index && r == t.gallery) || 4956 ((r = null), n.fancybox.close()) 4957 : "" !== t.gallery && i(t); 4958 }), 4959 setTimeout(function () { 4960 i(o()); 4961 }, 50)); 4962 }); 4963 })(document, window, window.jQuery || jQuery), 4964 (function (t, e) { 4965 "use strict"; 4966 var n = new Date().getTime(); 4967 e(t).on({ 4968 "onInit.fb": function (t, e, o) { 4969 e.$refs.stage.on( 4970 "mousewheel DOMMouseScroll wheel MozMousePixelScroll", 4971 function (t) { 4972 var o = e.current, 4973 i = new Date().getTime(); 4974 e.group.length < 1 || 4975 o.opts.wheel === !1 || 4976 ("auto" === o.opts.wheel && "image" !== o.type) || 4977 (t.preventDefault(), 4978 t.stopPropagation(), 4979 o.$slide.hasClass("fancybox-animated") || 4980 ((t = t.originalEvent || t), 4981 i - n < 250 || 4982 ((n = i), 4983 e[ 4984 (-t.deltaY || -t.deltaX || t.wheelDelta || -t.detail) < 0 4985 ? "next" 4986 : "previous" 4987 ]()))); 4988 } 4989 ); 4990 }, 4991 }); 4992 })(document, window.jQuery || jQuery); 4993 4994/*! jQuery Validation Plugin - v1.17.0 - 7/29/2017 4995 * https://jqueryvalidation.org/ 4996 * Copyright (c) 2017 Jörn Zaefferer; Licensed MIT */ 4997!(function (a) { 4998 "function" == typeof define && define.amd 4999 ? define(["jquery"], a) 5000 : "object" == typeof module && module.exports 5001 ? (module.exports = a(require("jquery"))) 5002 : a(jQuery); 5003})(function (a) { 5004 a.extend(a.fn, { 5005 validate: function (b) { 5006 if (!this.length) 5007 return void ( 5008 b && 5009 b.debug && 5010 window.console && 5011 console.warn("Nothing selected, can't validate, returning nothing.") 5012 ); 5013 var c = a.data(this[0], "validator"); 5014 return c 5015 ? c 5016 : (this.attr("novalidate", "novalidate"), 5017 (c = new a.validator(b, this[0])), 5018 a.data(this[0], "validator", c), 5019 c.settings.onsubmit && 5020 (this.on("click.validate", ":submit", function (b) { 5021 (c.submitButton = b.currentTarget), 5022 a(this).hasClass("cancel") && (c.cancelSubmit = !0), 5023 void 0 !== a(this).attr("formnovalidate") && 5024 (c.cancelSubmit = !0); 5025 }), 5026 this.on("submit.validate", function (b) { 5027 function d() { 5028 var d, e; 5029 return ( 5030 c.submitButton && 5031 (c.settings.submitHandler || c.formSubmitted) && 5032 (d = a("<input type='hidden'/>") 5033 .attr("name", c.submitButton.name) 5034 .val(a(c.submitButton).val()) 5035 .appendTo(c.currentForm)), 5036 !c.settings.submitHandler || 5037 ((e = c.settings.submitHandler.call(c, c.currentForm, b)), 5038 d && d.remove(), 5039 void 0 !== e && e) 5040 ); 5041 } 5042 return ( 5043 c.settings.debug && b.preventDefault(), 5044 c.cancelSubmit 5045 ? ((c.cancelSubmit = !1), d()) 5046 : c.form() 5047 ? c.pendingRequest 5048 ? ((c.formSubmitted = !0), !1) 5049 : d() 5050 : (c.focusInvalid(), !1) 5051 ); 5052 })), 5053 c); 5054 }, 5055 valid: function () { 5056 var b, c, d; 5057 return ( 5058 a(this[0]).is("form") 5059 ? (b = this.validate().form()) 5060 : ((d = []), 5061 (b = !0), 5062 (c = a(this[0].form).validate()), 5063 this.each(function () {
5064 (b = c.element(this) && b), b || (d = d.concat(c.errorList)); 5065 }), 5066 (c.errorList = d)), 5067 b 5068 ); 5069 }, 5070 rules: function (b, c) { 5071 var d, 5072 e, 5073 f, 5074 g, 5075 h, 5076 i, 5077 j = this[0]; 5078 if ( 5079 null != j && 5080 (!j.form && 5081 j.hasAttribute("contenteditable") && 5082 ((j.form = this.closest("form")[0]), (j.name = this.attr("name"))), 5083 null != j.form) 5084 ) { 5085 if (b) 5086 switch ( 5087 ((d = a.data(j.form, "validator").settings), 5088 (e = d.rules), 5089 (f = a.validator.staticRules(j)), 5090 b) 5091 ) { 5092 case "add": 5093 a.extend(f, a.validator.normalizeRule(c)), 5094 delete f.messages, 5095 (e[j.name] = f), 5096 c.messages && 5097 (d.messages[j.name] = a.extend( 5098 d.messages[j.name], 5099 c.messages 5100 )); 5101 break; 5102 case "remove": 5103 return c 5104 ? ((i = {}), 5105 a.each(c.split(/\s/), function (a, b) { 5106 (i[b] = f[b]), delete f[b]; 5107 }), 5108 i) 5109 : (delete e[j.name], f); 5110 } 5111 return ( 5112 (g = a.validator.normalizeRules( 5113 a.extend( 5114 {}, 5115 a.validator.classRules(j), 5116 a.validator.attributeRules(j), 5117 a.validator.dataRules(j), 5118 a.validator.staticRules(j) 5119 ), 5120 j 5121 )), 5122 g.required && 5123 ((h = g.required), 5124 delete g.required, 5125 (g = a.extend({ required: h }, g))), 5126 g.remote && 5127 ((h = g.remote), delete g.remote, (g = a.extend(g, { remote: h }))), 5128 g 5129 ); 5130 } 5131 }, 5132 }), 5133 a.extend(a.expr.pseudos || a.expr[":"], { 5134 blank: function (b) { 5135 return !a.trim("" + a(b).val()); 5136 }, 5137 filled: function (b) { 5138 var c = a(b).val(); 5139 return null !== c && !!a.trim("" + c); 5140 }, 5141 unchecked: function (b) { 5142 return !a(b).prop("checked"); 5143 }, 5144 }), 5145 (a.validator = function (b, c) { 5146 (this.settings = a.extend(!0, {}, a.validator.defaults, b)), 5147 (this.currentForm = c), 5148 this.init(); 5149 }), 5150 (a.validator.format = function (b, c) { 5151 return 1 === arguments.length 5152 ? function () { 5153 var c = a.makeArray(arguments); 5154 return c.unshift(b), a.validator.format.apply(this, c); 5155 } 5156 : void 0 === c 5157 ? b 5158 : (arguments.length > 2 && 5159 c.constructor !== Array && 5160 (c = a.makeArray(arguments).slice(1)), 5161 c.constructor !== Array && (c = [c]), 5162 a.each(c, function (a, c) { 5163 b = b.replace(new RegExp("\\{" + a + "\\}", "g"), function () { 5164 return c; 5165 }); 5166 }), 5167 b); 5168 }), 5169 a.extend(a.validator, { 5170 defaults: { 5171 messages: {}, 5172 groups: {}, 5173 rules: {}, 5174 errorClass: "error", 5175 pendingClass: "pending", 5176 validClass: "valid", 5177 errorElement: "label", 5178 focusCleanup: !1, 5179 focusInvalid: !0, 5180 errorContainer: a([]), 5181 errorLabelContainer: a([]), 5182 onsubmit: !0, 5183 ignore: ":hidden", 5184 ignoreTitle: !1, 5185 onfocusin: function (a) { 5186 (this.lastActive = a), 5187 this.settings.focusCleanup && 5188 (this.settings.unhighlight && 5189 this.settings.unhighlight.call( 5190 this, 5191 a, 5192 this.settings.errorClass, 5193 this.settings.validClass 5194 ), 5195 this.hideThese(this.errorsFor(a))); 5196 }, 5197 onfocusout: function (a) { 5198 this.checkable(a) || 5199 (!(a.name in this.submitted) && this.optional(a)) || 5200 this.element(a); 5201 }, 5202 onkeyup: function (b, c) { 5203 var d = [16, 17, 18, 20, 35, 36, 37, 38, 39, 40, 45, 144, 225]; 5204 (9 === c.which && "" === this.elementValue(b)) || 5205 a.inArray(c.keyCode, d) !== -1 || 5206 ((b.name in this.submitted || b.name in this.invalid) &&
5207 this.element(b)); 5208 }, 5209 onclick: function (a) { 5210 a.name in this.submitted 5211 ? this.element(a) 5212 : a.parentNode.name in this.submitted && this.element(a.parentNode); 5213 }, 5214 highlight: function (b, c, d) { 5215 "radio" === b.type 5216 ? this.findByName(b.name).addClass(c).removeClass(d) 5217 : a(b).addClass(c).removeClass(d); 5218 }, 5219 unhighlight: function (b, c, d) { 5220 "radio" === b.type 5221 ? this.findByName(b.name).removeClass(c).addClass(d) 5222 : a(b).removeClass(c).addClass(d); 5223 }, 5224 }, 5225 setDefaults: function (b) { 5226 a.extend(a.validator.defaults, b); 5227 }, 5228 messages: { 5229 required: "This field is required.", 5230 remote: "Please fix this field.", 5231 email: "Please enter a valid email address.", 5232 url: "Please enter a valid URL.", 5233 date: "Please enter a valid date.", 5234 dateISO: "Please enter a valid date (ISO).", 5235 number: "Please enter a valid number.", 5236 digits: "Please enter only digits.", 5237 equalTo: "Please enter the same value again.", 5238 maxlength: a.validator.format( 5239 "Please enter no more than {0} characters." 5240 ), 5241 minlength: a.validator.format("Please enter at least {0} characters."), 5242 rangelength: a.validator.format( 5243 "Please enter a value between {0} and {1} characters long." 5244 ), 5245 range: a.validator.format("Please enter a value between {0} and {1}."), 5246 max: a.validator.format( 5247 "Please enter a value less than or equal to {0}." 5248 ), 5249 min: a.validator.format( 5250 "Please enter a value greater than or equal to {0}." 5251 ), 5252 step: a.validator.format("Please enter a multiple of {0}."), 5253 }, 5254 autoCreateRanges: !1, 5255 prototype: { 5256 init: function () { 5257 function b(b) { 5258 !this.form && 5259 this.hasAttribute("contenteditable") && 5260 ((this.form = a(this).closest("form")[0]), 5261 (this.name = a(this).attr("name"))); 5262 var c = a.data(this.form, "validator"), 5263 d = "on" + b.type.replace(/^validate/, ""), 5264 e = c.settings; 5265 e[d] && !a(this).is(e.ignore) && e[d].call(c, this, b); 5266 } 5267 (this.labelContainer = a(this.settings.errorLabelContainer)), 5268 (this.errorContext = 5269 (this.labelContainer.length && this.labelContainer) || 5270 a(this.currentForm)), 5271 (this.containers = a(this.settings.errorContainer).add( 5272 this.settings.errorLabelContainer 5273 )), 5274 (this.submitted = {}), 5275 (this.valueCache = {}), 5276 (this.pendingRequest = 0), 5277 (this.pending = {}), 5278 (this.invalid = {}), 5279 this.reset(); 5280 var c, 5281 d = (this.groups = {}); 5282 a.each(this.settings.groups, function (b, c) { 5283 "string" == typeof c && (c = c.split(/\s/)), 5284 a.each(c, function (a, c) { 5285 d[c] = b; 5286 }); 5287 }), 5288 (c = this.settings.rules), 5289 a.each(c, function (b, d) { 5290 c[b] = a.validator.normalizeRule(d); 5291 }), 5292 a(this.currentForm) 5293 .on( 5294 "focusin.validate focusout.validate keyup.validate", 5295 ":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']", 5296 b 5297 ) 5298 .on( 5299 "click.validate", 5300 "select, option, [type='radio'], [type='checkbox']", 5301 b 5302 ), 5303 this.settings.invalidHandler && 5304 a(this.currentForm).on( 5305 "invalid-form.validate", 5306 this.settings.invalidHandler 5307 ); 5308 }, 5309 form: function () { 5310 return ( 5311 this.checkForm(), 5312 a.extend(this.submitted, this.errorMap), 5313 (this.invalid = a.extend({}, this.errorMap)), 5314 this.valid() || 5315 a(this.currentForm).triggerHandler("invalid-form", [this]), 5316 this.showErrors(), 5317 this.valid() 5318 ); 5319 }, 5320 checkForm: function () { 5321 this.prepareForm(); 5322 for ( 5323 var a = 0, b = (this.currentElements = this.elements()); 5324 b[a]; 5325 a++ 5326 ) 5327 this.check(b[a]); 5328 return this.valid(); 5329 }, 5330 element: function (b) { 5331 var c, 5332 d, 5333 e = this.clean(b), 5334 f = this.validationTargetFor(e), 5335 g = this, 5336 h = !0; 5337 return ( 5338 void 0 === f 5339 ? delete this.invalid[e.name] 5340 : (this.prepareElement(f), 5341 (this.currentElements = a(f)), 5342 (d = this.groups[f.name]), 5343 d && 5344 a.each(this.groups, function (a, b) { 5345 b === d && 5346 a !== f.name && 5347 ((e = g.validationTargetFor(g.clean(g.findByName(a)))), 5348 e && 5349 e.name in g.invalid && 5350 (g.currentElements.push(e), (h = g.check(e) && h))); 5351 }), 5352 (c = this.check(f) !== !1), 5353 (h = h && c), 5354 c ? (this.invalid[f.name] = !1) : (this.invalid[f.name] = !0), 5355 this.numberOfInvalids() || 5356 (this.toHide = this.toHide.add(this.containers
5356)), 5357 this.showErrors(), 5358 a(b).attr("aria-invalid", !c)), 5359 h 5360 ); 5361 }, 5362 showErrors: function (b) { 5363 if (b) { 5364 var c = this; 5365 a.extend(this.errorMap, b), 5366 (this.errorList = a.map(this.errorMap, function (a, b) { 5367 return { message: a, element: c.findByName(b)[0] }; 5368 })), 5369 (this.successList = a.grep(this.successList, function (a) { 5370 return !(a.name in b); 5371 })); 5372 } 5373 this.settings.showErrors 5374 ? this.settings.showErrors.call(this, this.errorMap, this.errorList) 5375 : this.defaultShowErrors(); 5376 }, 5377 resetForm: function () { 5378 a.fn.resetForm && a(this.currentForm).resetForm(), 5379 (this.invalid = {}), 5380 (this.submitted = {}), 5381 this.prepareForm(), 5382 this.hideErrors(); 5383 var b = this.elements() 5384 .removeData("previousValue") 5385 .removeAttr("aria-invalid"); 5386 this.resetElements(b); 5387 }, 5388 resetElements: function (a) { 5389 var b; 5390 if (this.settings.unhighlight) 5391 for (b = 0; a[b]; b++) 5392 this.settings.unhighlight.call( 5393 this, 5394 a[b], 5395 this.settings.errorClass, 5396 "" 5397 ), 5398 this.findByName(a[b].name).removeClass( 5399 this.settings.validClass 5400 ); 5401 else 5402 a.removeClass(this.settings.errorClass).removeClass( 5403 this.settings.validClass 5404 ); 5405 }, 5406 numberOfInvalids: function () { 5407 return this.objectLength(this.invalid); 5408 }, 5409 objectLength: function (a) { 5410 var b, 5411 c = 0; 5412 for (b in a) void 0 !== a[b] && null !== a[b] && a[b] !== !1 && c++; 5413 return c; 5414 }, 5415 hideErrors: function () { 5416 this.hideThese(this.toHide); 5417 }, 5418 hideThese: function (a) { 5419 a.not(this.containers).text(""), this.addWrapper(a).hide(); 5420 }, 5421 valid: function () { 5422 return 0 === this.size(); 5423 }, 5424 size: function () { 5425 return this.errorList.length; 5426 }, 5427 focusInvalid: function () { 5428 if (this.settings.focusInvalid) 5429 try { 5430 a( 5431 this.findLastActive() || 5432 (this.errorList.length && this.errorList[0].element) || 5433 [] 5434 ) 5435 .filter(":visible") 5436 .focus() 5437 .trigger("focusin"); 5438 } catch (b) {} 5439 }, 5440 findLastActive: function () { 5441 var b = this.lastActive; 5442 return ( 5443 b && 5444 1 === 5445 a.grep(this.errorList, function (a) { 5446 return a.element.name === b.name; 5447 }).length && 5448 b 5449 ); 5450 }, 5451 elements: function () { 5452 var b = this, 5453 c = {}; 5454 return a(this.currentForm) 5455 .find("input, select, textarea, [contenteditable]") 5456 .not(":submit, :reset, :image, :disabled") 5457 .not(this.settings.ignore) 5458 .filter(function () { 5459 var d = this.name || a(this).attr("name"); 5460 return ( 5461 !d && 5462 b.settings.debug && 5463 window.console && 5464 console.error("%o has no name assigned", this), 5465 this.hasAttribute("contenteditable") && 5466 ((this.form = a(this).closest("form")[0]), (this.name = d)), 5467 !(d in c || !b.objectLength(a(this).rules())) && 5468 ((c[d] = !0), !0) 5469 ); 5470 }); 5471 }, 5472 clean: function (b) { 5473 return a(b)[0]; 5474 }, 5475 errors: function () { 5476 var b = this.settings.errorClass.split(" ").join("."); 5477 return a(this.settings.errorElement + "." + b, this.errorContext); 5478 }, 5479 resetInternals: function () { 5480 (this.successList = []), 5481 (this.errorList = []), 5482 (this.errorMap = {}), 5483 (this.toShow = a([])), 5484 (this.toHide = a([])); 5485 }, 5486 reset: function () { 5487 this.resetInternals(), (this.currentElements = a([])); 5488 }, 5489 prepareForm: function () { 5490 this.reset(), (this.toHide = this.errors().add(this.containers
5490)); 5491 }, 5492 prepareElement: function (a) { 5493 this.reset(), (this.toHide = this.errorsFor(a)); 5494 }, 5495 elementValue: function (b) { 5496 var c, 5497 d, 5498 e = a(b), 5499 f = b.type; 5500 return "radio" === f || "checkbox" === f 5501 ? this.findByName(b.name).filter(":checked").val() 5502 : "number" === f && "undefined" != typeof b.validity 5503 ? b.validity.badInput 5504 ? "NaN" 5505 : e.val() 5506 : ((c = b.hasAttribute("contenteditable") ? e.text() : e.val()), 5507 "file" === f 5508 ? "C:\\fakepath\\" === c.substr(0, 12) 5509 ? c.substr(12) 5510 : ((d = c.lastIndexOf("/")), 5511 d >= 0 5512 ? c.substr(d + 1) 5513 : ((d = c.lastIndexOf("\\")), 5514 d >= 0 ? c.substr(d + 1) : c)) 5515 : "string" == typeof c 5516 ? c.replace(/\r/g, "") 5517 : c); 5518 }, 5519 check: function (b) { 5520 b = this.validationTargetFor(this.clean(b)); 5521 var c, 5522 d, 5523 e, 5524 f, 5525 g = a(b).rules(), 5526 h = a.map(g, function (a, b) { 5527 return b; 5528 }).length, 5529 i = !1, 5530 j = this.elementValue(b); 5531 if ( 5532 ("function" == typeof g.normalizer 5533 ? (f = g.normalizer) 5534 : "function" == typeof this.settings.normalizer && 5535 (f = this.settings.normalizer), 5536 f) 5537 ) { 5538 if (((j = f.call(b, j)), "string" != typeof j)) 5539 throw new TypeError( 5540 "The normalizer should return a string value." 5541 ); 5542 delete g.normalizer; 5543 } 5544 for (d in g) { 5545 e = { method: d, parameters: g[d] }; 5546 try { 5547 if ( 5548 ((c = a.validator.methods[d].call(this, j, b, e.parameters)), 5549 "dependency-mismatch" === c && 1 === h) 5550 ) { 5551 i = !0; 5552 continue; 5553 } 5554 if (((i = !1), "pending" === c)) 5555 return void (this.toHide = this.toHide.not(this.errorsFor(b))); 5556 if (!c) return this.formatAndAdd(b, e), !1; 5557 } catch (k) { 5558 throw ( 5559 (this.settings.debug && 5560 window.console && 5561 console.log( 5562 "Exception occurred when checking element " + 5563 b.id + 5564 ", check the '" + 5565 e.method + 5566 "' method.", 5567 k 5568 ), 5569 k instanceof TypeError && 5570 (k.message += 5571 ". Exception occurred when checking element " + 5572 b.id + 5573 ", check the '" + 5574 e.method + 5575 "' method."), 5576 k) 5577 ); 5578 } 5579 } 5580 if (!i) return this.objectLength(g) && this.successList.push(b), !0; 5581 }, 5582 customDataMessage: function (b, c) { 5583 return ( 5584 a(b).data( 5585 "msg" + c.charAt(0).toUpperCase() + c.substring(1).toLowerCase() 5586 ) || a(b).data("msg") 5587 ); 5588 }, 5589 customMessage: function (a, b) { 5590 var c = this.settings.messages[a]; 5591 return c && (c.constructor === String ? c : c[b]); 5592 }, 5593 findDefined: function () { 5594 for (var a = 0; a < arguments.length; a++) 5595 if (void 0 !== arguments[a]) return arguments[a]; 5596 }, 5597 defaultMessage: function (b, c) { 5598 "string" == typeof c && (c = { method: c }); 5599 var d = this.findDefined( 5600 this.customMessage(b.name, c.method), 5601 this.customDataMessage(b, c.method), 5602 (!this.settings.ignoreTitle && b.title) || void 0, 5603 a.validator.messages[c.method], 5604 "<strong>Warning: No message defined for " + b.name + "</strong>" 5605 ), 5606 e = /\$?\{(\d+)\}/g; 5607 return ( 5608 "function" == typeof d 5609 ? (d = d.call(this, c.parameters, b)) 5610 : e.test(d) && 5611 (d = a.validator.format(d.replace(e, "{$1}"), c.parameters)), 5612 d 5613 ); 5614 }, 5615 formatAndAdd: function (a, b) {
5616 var c = this.defaultMessage(a, b); 5617 this.errorList.push({ message: c, element: a, method: b.method }), 5618 (this.errorMap[a.name] = c), 5619 (this.submitted[a.name] = c); 5620 }, 5621 addWrapper: function (a) { 5622 return ( 5623 this.settings.wrapper && 5624 (a = a.add(a.parent(this.settings.wrapper))), 5625 a 5626 ); 5627 }, 5628 defaultShowErrors: function () { 5629 var a, b, c; 5630 for (a = 0; this.errorList[a]; a++) 5631 (c = this.errorList[a]), 5632 this.settings.highlight && 5633 this.settings.highlight.call( 5634 this, 5635 c.element, 5636 this.settings.errorClass, 5637 this.settings.validClass 5638 ), 5639 this.showLabel(c.element, c.message); 5640 if ( 5641 (this.errorList.length && 5642 (this.toShow = this.toShow.add(this.containers)), 5643 this.settings.success) 5644 ) 5645 for (a = 0; this.successList[a]; a++) 5646 this.showLabel(this.successList[a]); 5647 if (this.settings.unhighlight) 5648 for (a = 0, b = this.validElements(); b[a]; a++) 5649 this.settings.unhighlight.call( 5650 this, 5651 b[a], 5652 this.settings.errorClass, 5653 this.settings.validClass 5654 ); 5655 (this.toHide = this.toHide.not(this.toShow)), 5656 this.hideErrors(), 5657 this.addWrapper(this.toShow).show(); 5658 }, 5659 validElements: function () { 5660 return this.currentElements.not(this.invalidElements()); 5661 }, 5662 invalidElements: function () { 5663 return a(this.errorList).map(function () { 5664 return this.element; 5665 }); 5666 }, 5667 showLabel: function (b, c) { 5668 var d, 5669 e, 5670 f, 5671 g, 5672 h = this.errorsFor(b), 5673 i = this.idOrName(b), 5674 j = a(b).attr("aria-describedby"); 5675 h.length 5676 ? (h 5677 .removeClass(this.settings.validClass) 5678 .addClass(this.settings.errorClass), 5679 h.html(c)) 5680 : ((h = a("<" + this.settings.errorElement + ">") 5681 .attr("id", i + "-error") 5682 .addClass(this.settings.errorClass) 5683 .html(c || "")), 5684 (d = h), 5685 this.settings.wrapper && 5686 (d = h 5687 .hide() 5688 .show() 5689 .wrap("<" + this.settings.wrapper + "/>") 5690 .parent()), 5691 this.labelContainer.length 5692 ? this.labelContainer.append(d) 5693 : this.settings.errorPlacement 5694 ? this.settings.errorPlacement.call(this, d, a(b)) 5695 : d.insertAfter(b), 5696 h.is("label") 5697 ? h.attr("for", i) 5698 : 0 === 5699 h.parents("label[for='" + this.escapeCssMeta(i) + "']") 5700 .length && 5701 ((f = h.attr("id")), 5702 j 5703 ? j.match( 5704 new RegExp("\\b" + this.escapeCssMeta(f) + "\\b") 5705 ) || (j += " " + f) 5706 : (j = f), 5707 a(b).attr("aria-describedby", j),
5708 (e = this.groups[b.name]), 5709 e && 5710 ((g = this), 5711 a.each(g.groups, function (b, c) { 5712 c === e && 5713 a( 5714 "[name='" + g.escapeCssMeta(b) + "']", 5715 g.currentForm 5716 ).attr("aria-describedby", h.attr("id")); 5717 })))), 5718 !c && 5719 this.settings.success && 5720 (h.text(""), 5721 "string" == typeof this.settings.success 5722 ? h.addClass(this.settings.success) 5723 : this.settings.success(h, b)), 5724 (this.toShow = this.toShow.add(h)); 5725 }, 5726 errorsFor: function (b) { 5727 var c = this.escapeCssMeta(this.idOrName(b)), 5728 d = a(b).attr("aria-describedby"), 5729 e = "label[for='" + c + "'], label[for='" + c + "'] *"; 5730 return ( 5731 d && (e = e + ", #" + this.escapeCssMeta(d).replace(/\s+/g, ", #")), 5732 this.errors().filter(e) 5733 ); 5734 }, 5735 escapeCssMeta: function (a) { 5736 return a.replace(/([\\!"#$%&'()*+,.\/:;<=>?@\[\]^`{|}~])/g, "\\$1"); 5737 }, 5738 idOrName: function (a) { 5739 return ( 5740 this.groups[a.name] || (this.checkable(a) ? a.name : a.id || a.name) 5741 ); 5742 }, 5743 validationTargetFor: function (b) { 5744 return ( 5745 this.checkable(b) && (b = this.findByName(b.name)), 5746 a(b).not(this.settings.ignore)[0] 5747 ); 5748 }, 5749 checkable: function (a) { 5750 return /radio|checkbox/i.test(a.type); 5751 }, 5752 findByName: function (b) { 5753 return a(this.currentForm).find( 5754 "[name='" + this.escapeCssMeta(b) + "']" 5755 ); 5756 }, 5757 getLength: function (b, c) { 5758 switch (c.nodeName.toLowerCase()) { 5759 case "select": 5760 return a("option:selected", c).length; 5761 case "input": 5762 if (this.checkable(c)) 5763 return this.findByName(c.name).filter(":checked").length; 5764 } 5765 return b.length; 5766 }, 5767 depend: function (a, b) { 5768 return ( 5769 !this.dependTypes[typeof a] || this.dependTypes[typeof a](a, b) 5770 ); 5771 }, 5772 dependTypes: { 5773 boolean: function (a) { 5774 return a; 5775 }, 5776 string: function (b, c) { 5777 return !!a(b, c.form).length; 5778 }, 5779 function: function (a, b) { 5780 return a(b); 5781 }, 5782 }, 5783 optional: function (b) { 5784 var c = this.elementValue(b); 5785 return ( 5786 !a.validator.methods.required.call(this, c, b) && 5787 "dependency-mismatch" 5788 ); 5789 }, 5790 startRequest: function (b) { 5791 this.pending[b.name] || 5792 (this.pendingRequest++, 5793 a(b).addClass(this.settings.pendingClass), 5794 (this.pending[b.name] = !0)); 5795 }, 5796 stopRequest: function (b, c) { 5797 this.pendingRequest--, 5798 this.pendingRequest < 0 && (this.pendingRequest = 0), 5799 delete this.pending[b.name], 5800 a(b).removeClass(this.settings.pendingClass), 5801 c && 0 === this.pendingRequest && this.formSubmitted && this.form() 5802 ? (a(this.currentForm).submit(), 5803 this.submitButton && 5804 a( 5805 "input:hidden[name='" + this.submitButton.name + "']", 5806 this.currentForm 5807 ).remove(), 5808 (this.formSubmitted = !1)) 5809 : !c && 5810 0 === this.pendingRequest && 5811 this.formSubmitted && 5812 (a(this.currentForm).triggerHandler("invalid-form", [this]), 5813 (this.formSubmitted = !1)); 5814 }, 5815 previousValue: function (b, c) { 5816 return ( 5817 (c = ("string" == typeof c && c) || "remote"), 5818 a.data(b, "previousValue") || 5819 a.data(b, "previousValue", { 5820 old: null, 5821 valid: !0, 5822 message: this.defaultMessage(b, { method: c }), 5823 }) 5824 ); 5825 }, 5826 destroy: function () { 5827 this.resetForm(), 5828 a(this.currentForm) 5829 .off(".validate") 5830 .removeData("validator") 5831 .find(".validate-equalTo-blur") 5832 .off(".validate-equalTo")
5833 .removeClass("validate-equalTo-blur"); 5834 }, 5835 }, 5836 classRuleSettings: { 5837 required: { required: !0 }, 5838 email: { email: !0 }, 5839 url: { url: !0 }, 5840 date: { date: !0 }, 5841 dateISO: { dateISO: !0 }, 5842 number: { number: !0 }, 5843 digits: { digits: !0 }, 5844 creditcard: { creditcard: !0 }, 5845 }, 5846 addClassRules: function (b, c) { 5847 b.constructor === String 5848 ? (this.classRuleSettings[b] = c) 5849 : a.extend(this.classRuleSettings, b); 5850 }, 5851 classRules: function (b) { 5852 var c = {}, 5853 d = a(b).attr("class"); 5854 return ( 5855 d && 5856 a.each(d.split(" "), function () { 5857 this in a.validator.classRuleSettings && 5858 a.extend(c, a.validator.classRuleSettings[this]); 5859 }), 5860 c 5861 ); 5862 }, 5863 normalizeAttributeRule: function (a, b, c, d) { 5864 /min|max|step/.test(c) && 5865 (null === b || /number|range|text/.test(b)) && 5866 ((d = Number(d)), isNaN(d) && (d = void 0)), 5867 d || 0 === d ? (a[c] = d) : b === c && "range" !== b && (a[c] = !0); 5868 }, 5869 attributeRules: function (b) { 5870 var c, 5871 d, 5872 e = {}, 5873 f = a(b), 5874 g = b.getAttribute("type"); 5875 for (c in a.validator.methods) 5876 "required" === c 5877 ? ((d = b.getAttribute(c)), "" === d && (d = !0), (d = !!d)) 5878 : (d = f.attr(c)), 5879 this.normalizeAttributeRule(e, g, c, d); 5880 return ( 5881 e.maxlength && 5882 /-1|2147483647|524288/.test(e.maxlength) && 5883 delete e.maxlength, 5884 e 5885 ); 5886 }, 5887 dataRules: function (b) { 5888 var c, 5889 d, 5890 e = {}, 5891 f = a(b), 5892 g = b.getAttribute("type"); 5893 for (c in a.validator.methods) 5894 (d = f.data( 5895 "rule" + c.charAt(0).toUpperCase() + c.substring(1).toLowerCase() 5896 )), 5897 this.normalizeAttributeRule(e, g, c, d); 5898 return e; 5899 }, 5900 staticRules: function (b) { 5901 var c = {}, 5902 d = a.data(b.form, "validator"); 5903 return ( 5904 d.settings.rules && 5905 (c = a.validator.normalizeRule(d.settings.rules[b.name]) || {}), 5906 c 5907 ); 5908 }, 5909 normalizeRules: function (b, c) { 5910 return ( 5911 a.each(b, function (d, e) { 5912 if (e === !1) return void delete b[d]; 5913 if (e.param || e.depends) { 5914 var f = !0; 5915 switch (typeof e.depends) { 5916 case "string": 5917 f = !!a(e.depends, c.form).length; 5918 break; 5919 case "function": 5920 f = e.depends.call(c, c); 5921 } 5922 f 5923 ? (b[d] = void 0 === e.param || e.param) 5924 : (a.data(c.form, "validator").resetElements(a(c)), 5925 delete b[d]); 5926 } 5927 }), 5928 a.each(b, function (d, e) { 5929 b[d] = a.isFunction(e) && "normalizer" !== d ? e(c) : e; 5930 }), 5931 a.each(["minlength", "maxlength"], function () { 5932 b[this] && (b[this] = Number(b[this])); 5933 }), 5934 a.each(["rangelength", "range"], function () { 5935 var c; 5936 b[this] && 5937 (a.isArray(b[this]) 5938 ? (b[this] = [Number(b[this][0]), Number(b[this][1])]) 5939 : "string" == typeof b[this] && 5940 ((c = b[this].replace(/[\[\]]/g, "").split(/[\s,]+/)), 5941 (b[this] = [Number(c[0]), Number(c[1])]))); 5942 }), 5943 a.validator.autoCreateRanges && 5944 (null != b.min && 5945 null != b.max && 5946 ((b.range = [b.min, b.max]), delete b.min, delete b.max), 5947 null != b.minlength && 5948 null != b.maxlength && 5949 ((b.rangelength = [b.minlength, b.maxlength]), 5950 delete b.minlength, 5951 delete b.maxlength)), 5952 b 5953 ); 5954 }, 5955 normalizeRule: function (b) { 5956 if ("string" == typeof b) { 5957 var c = {}; 5958 a.each(b.split(/\s/), function () { 5959 c[this] = !0; 5960 }), 5961 (b = c); 5962 } 5963 return b; 5964 }, 5965 addMethod: function (b, c, d) { 5966 (a.validator.methods[b] = c), 5967 (a.validator.messages[b] = 5968 void 0 !== d ? d : a.validator.messages[b]), 5969 c.length < 3 && 5970 a.validator.addClassRules(b, a.validator.normalizeRule(b)); 5971 }, 5972 methods: { 5973 required: function (b, c, d) { 5974 if (!this.depend(d, c)) return "dependency-mismatch"; 5975 if ("select" === c.nodeName.toLowerCase()) { 5976 var e = a(c).val(); 5977 return e && e.length > 0; 5978 } 5979 return this.checkable(c) ? this.getLength(b, c) > 0 : b.length > 0; 5980 }, 5981 email: function (a, b) { 5982 return ( 5983 this.optional(b) || 5984 /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test( 5985 a 5986 ) 5987 ); 5988 }, 5989 url: function (a, b) { 5990 return ( 5991 this.optional(b) ||
5992 /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[\/?#]\S*)?$/i.test( 5993 a 5994 ) 5995 ); 5996 }, 5997 date: function (a, b) { 5998 return ( 5999 this.optional(b) || !/Invalid|NaN/.test(new Date(a).toString()) 6000 ); 6001 }, 6002 dateISO: function (a, b) { 6003 return ( 6004 this.optional(b) || 6005 /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test( 6006 a 6007 ) 6008 ); 6009 }, 6010 number: function (a, b) { 6011 return ( 6012 this.optional(b) || 6013 /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a) 6014 ); 6015 }, 6016 digits: function (a, b) { 6017 return this.optional(b) || /^\d+$/.test(a); 6018 }, 6019 minlength: function (b, c, d) { 6020 var e = a.isArray(b) ? b.length : this.getLength(b, c); 6021 return this.optional(c) || e >= d; 6022 }, 6023 maxlength: function (b, c, d) { 6024 var e = a.isArray(b) ? b.length : this.getLength(b, c); 6025 return this.optional(c) || e <= d; 6026 }, 6027 rangelength: function (b, c, d) { 6028 var e = a.isArray(b) ? b.length : this.getLength(b, c); 6029 return this.optional(c) || (e >= d[0] && e <= d[1]); 6030 }, 6031 min: function (a, b, c) { 6032 return this.optional(b) || a >= c; 6033 }, 6034 max: function (a, b, c) { 6035 return this.optional(b) || a <= c; 6036 }, 6037 range: function (a, b, c) { 6038 return this.optional(b) || (a >= c[0] && a <= c[1]); 6039 }, 6040 step: function (b, c, d) { 6041 var e, 6042 f = a(c).attr("type"), 6043 g = "Step attribute on input type " + f + " is not supported.", 6044 h = ["text", "number", "range"], 6045 i = new RegExp("\\b" + f + "\\b"), 6046 j = f && !i.test(h.join()), 6047 k = function (a) { 6048 var b = ("" + a).match(/(?:\.(\d+))?$/); 6049 return b && b[1] ? b[1].length : 0; 6050 }, 6051 l = function (a) { 6052 return Math.round(a * Math.pow(10, e)); 6053 }, 6054 m = !0; 6055 if (j) throw new Error(g); 6056 return ( 6057 (e = k(d)), 6058 (k(b) > e || l(b) % l(d) !== 0) && (m = !1), 6059 this.optional(c) || m 6060 ); 6061 }, 6062 equalTo: function (b, c, d) { 6063 var e = a(d); 6064 return ( 6065 this.settings.onfocusout && 6066 e.not(".validate-equalTo-blur").length && 6067 e 6068 .addClass("validate-equalTo-blur") 6069 .on("blur.validate-equalTo", function () { 6070 a(c).valid(); 6071 }), 6072 b === e.val() 6073 ); 6074 }, 6075 remote: function (b, c, d, e) { 6076 if (this.optional(c)) return "dependency-mismatch"; 6077 e = ("string" == typeof e && e) || "remote"; 6078 var f, 6079 g, 6080 h, 6081 i = this.previousValue(c, e); 6082 return ( 6083 this.settings.messages[c.name] || 6084 (this.settings.messages[c.name] = {}), 6085 (i.originalMessage = 6086 i.originalMessage || this.settings.messages[c.name][e]), 6087 (this.settings.messages[c.name][e] = i.message), 6088 (d = ("string" == typeof d && { url: d }) || d), 6089 (h = a.param(a.extend({ data: b }, d.data))), 6090 i.old === h 6091 ? i.valid 6092 : ((i.old = h), 6093 (f = this), 6094 this.startRequest(c), 6095 (g = {}), 6096 (g[c.name] = b), 6097 a.ajax( 6098 a.extend( 6099 !0, 6100 { 6101 mode: "abort", 6102 port: "validate" + c.name, 6103 dataType: "json", 6104 data: g, 6105 context: f.currentForm, 6106 success: function (a) { 6107 var d, 6108 g, 6109 h, 6110 j = a === !0 || "true" === a; 6111 (f.settings.messages[c.name][e] = i.originalMessage),
6112 j 6113 ? ((h = f.formSubmitted), 6114 f.resetInternals(), 6115 (f.toHide = f.errorsFor(c)), 6116 (f.formSubmitted = h), 6117 f.successList.push(c), 6118 (f.invalid[c.name] = !1), 6119 f.showErrors()) 6120 : ((d = {}), 6121 (g = 6122 a || 6123 f.defaultMessage(c, { 6124 method: e, 6125 parameters: b, 6126 })), 6127 (d[c.name] = i.message = g), 6128 (f.invalid[c.name] = !0), 6129 f.showErrors(d)), 6130 (i.valid = j), 6131 f.stopRequest(c, j); 6132 }, 6133 }, 6134 d 6135 ) 6136 ), 6137 "pending") 6138 ); 6139 }, 6140 }, 6141 }); 6142 var b, 6143 c = {}; 6144 return ( 6145 a.ajaxPrefilter
6146 ? a.ajaxPrefilter(function (a, b, d) { 6147 var e = a.port; 6148 "abort" === a.mode && (c[e] && c[e].abort(), (c[e] = d)); 6149 }) 6150 : ((b = a.ajax), 6151 (a.ajax = function (d) { 6152 var e = ("mode" in d ? d : a.ajaxSettings).mode, 6153 f = ("port" in d ? d : a.ajaxSettings).port; 6154 return "abort" === e 6155 ? (c[f] && c[f].abort(), (c[f] = b.apply(this, arguments)), c[f]) 6156 : b.apply(this, arguments); 6157 })), 6158 a 6159 ); 6160}); 6161 6162/*! VelocityJS.org (1.5.0). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License */ 6163/*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */ 6164!(function (a) { 6165 "use strict"; 6166 function b(a) { 6167 var b = a.length, 6168 d = c.type(a); 6169 return ( 6170 "function" !== d && 6171 !c.isWindow(a) && 6172 (!(1 !== a.nodeType || !b) || 6173 "array" === d || 6174 0 === b || 6175 ("number" == typeof b && b > 0 && b - 1 in a)) 6176 ); 6177 } 6178 if (!a.jQuery) { 6179 var c = function (a, b) { 6180 return new c.fn.init(a, b); 6181 }; 6182 (c.isWindow = function (a) { 6183 return a && a === a.window; 6184 }), 6185 (c.type = function (a) { 6186 return a 6187 ? "object" == typeof a || "function" == typeof a 6188 ? e[g.call(a)] || "object" 6189 : typeof a 6190 : a + ""; 6191 }), 6192 (c.isArray = 6193 Array.isArray || 6194 function (a) { 6195 return "array" === c.type(a); 6196 }), 6197 (c.isPlainObject = function (a) { 6198 var b; 6199 if (!a || "object" !== c.type(a) || a.nodeType || c.isWindow(a)) 6200 return !1; 6201 try { 6202 if ( 6203 a.constructor && 6204 !f.call(a, "constructor") && 6205 !f.call(a.constructor.prototype, "isPrototypeOf") 6206 ) 6207 return !1; 6208 } catch (d) { 6209 return !1; 6210 } 6211 for (b in a); 6212 return b === undefined || f.call(a, b); 6213 }), 6214 (c.each = function (a, c, d) { 6215 var e = 0, 6216 f = a.length, 6217 g = b(a); 6218 if (d) { 6219 if (g) for (; e < f && c.apply(a[e], d) !== !1; e++); 6220 else 6221 for (e in a) 6222 if (a.hasOwnProperty(e) && c.apply(a[e], d) === !1) break; 6223 } else if (g) for (; e < f && c.call(a[e], e, a[e]) !== !1; e++); 6224 else 6225 for (e in a) 6226 if (a.hasOwnProperty(e) && c.call(a[e], e, a[e]) === !1) break; 6227 return a; 6228 }), 6229 (c.data = function (a, b, e) { 6230 if (e === undefined) { 6231 var f = a[c.expando], 6232 g = f && d[f]; 6233 if (b === undefined) return g; 6234 if (g && b in g) return g[b]; 6235 } else if (b !== undefined) { 6236 var h = a[c.expando] || (a[c.expando] = ++c.uuid); 6237 return (d[h] = d[h] || {}), (d[h][b] = e), e; 6238 } 6239 }), 6240 (c.removeData = function (a, b) { 6241 var e = a[c.expando], 6242 f = e && d[e]; 6243 f && 6244 (b 6245 ? c.each(b, function (a, b) { 6246 delete f[b]; 6247 }) 6248 : delete d[e]); 6249 }), 6250 (c.extend = function () { 6251 var a, 6252 b, 6253 d, 6254 e, 6255 f, 6256 g, 6257 h = arguments[0] || {}, 6258 i = 1, 6259 j = arguments.length, 6260 k = !1; 6261 for ( 6262 "boolean" == typeof h && ((k = h), (h = arguments[i] || {}), i++), 6263 "object" != typeof h && "function" !== c.type(h) && (h = {}), 6264 i === j && ((h = this), i--); 6265 i < j; 6266 i++ 6267 ) 6268 if ((f = arguments[i])) 6269 for (e in f) 6270 f.hasOwnProperty(e) && 6271 ((a = h[e]), 6272 (d = f[e]), 6273 h !== d && 6274 (k && d && (c.isPlainObject(d) || (b = c.isArray(d))) 6275 ? (b 6276 ? ((b = !1), (g = a && c.isArray(a) ? a : [])) 6277 : (g = a && c.isPlainObject(a) ? a : {}), 6278 (h[e] = c.extend(k, g, d))) 6279 : d !== undefined && (h[e] = d))); 6280 return h; 6281 }), 6282 (c.queue = function (a, d, e) { 6283 if (a) { 6284 d = (d || "fx") + "queue"; 6285 var f = c.data(a, d); 6286 return e 6287 ? (!f || c.isArray(e) 6288 ? (f = c.data( 6289 a, 6290 d, 6291 (function (a, c) { 6292 var d = c || []; 6293 return ( 6294 a && 6295 (b(Object(a)) 6296 ? (function (a, b) { 6297 for ( 6298 var c = +b.length, d = 0, e = a.length; 6299 d < c; 6300 6301 ) 6302 a[e++] = b[d++]; 6303 if (c !== c) 6304 for (; b[d] !== undefined; ) a[e++] = b[d++]; 6305 (a.length = e), a; 6306 })(d, "string" == typeof a ? [a] : a) 6307 : [].push.call(d, a)), 6308 d 6309 ); 6310 })(e) 6311 )) 6312 : f.push(e), 6313 f) 6314 : f || []; 6315 } 6316 }), 6317 (c.dequeue = function (a, b) { 6318 c.each(a.nodeType ? [a] : a, function (a, d) { 6319 b = b || "fx"; 6320 var e = c.queue(d, b), 6321 f = e.shift(); 6322 "inprogress" === f && (f = e.shift()), 6323 f && 6324 ("fx" === b && e.unshift("inprogress"), 6325 f.call(d, function () { 6326 c.dequeue(d, b); 6327 })); 6328 }); 6329 }), 6330 (c.fn = c.prototype = 6331 { 6332 init: function (a) { 6333 if (a.nodeType) return (this[0] = a), this; 6334 throw new Error("Not a DOM node."); 6335 }, 6336 offset: function () { 6337 var b = this[0].getBoundingClientRect 6338 ? this[0].getBoundingClientRect() 6339 : { top: 0, left: 0 }; 6340 return { 6341 top: 6342 b.top + 6343 (a.pageYOffset || document.scrollTop || 0) - 6344 (document.clientTop || 0), 6345 left: 6346 b.left + 6347 (a.pageXOffset || document.scrollLeft || 0) - 6348 (document.clientLeft || 0), 6349 }; 6350 }, 6351 position: function () { 6352 var a = this[0], 6353 b = (function (a) { 6354 for ( 6355 var b = a.offsetParent; 6356 b && 6357 "html" !== b.nodeName.toLowerCase() && 6358 b.style && 6359 "static" === b.style.position; 6360 6361 ) 6362 b = b.offsetParent; 6363 return b || document; 6364 })(a), 6365 d = this.offset(), 6366 e = /^(?:body|html)$/i.test(b.nodeName) 6367 ? { top: 0, left: 0 } 6368 : c(b).offset(); 6369 return ( 6370 (d.top -= parseFloat(a.style.marginTop) || 0), 6371 (d.left -= parseFloat(a.style.marginLeft) || 0), 6372 b.style && 6373 ((e.top += parseFloat(b.style.borderTopWidth) || 0), 6374 (e.left += parseFloat(b.style.borderLeftWidth) || 0)), 6375 { top: d.top - e.top, left: d.left - e.left } 6376 ); 6377 }, 6378 }); 6379 var d = {}; 6380 (c.expando = "velocity" + new Date().getTime()), (c.uuid = 0); 6381 for ( 6382 var e = {}, 6383 f = e.hasOwnProperty, 6384 g = e.toString, 6385 h = 6386 "Boolean Number String Function Array Date RegExp Object Error".split( 6387 " " 6388 ), 6389 i = 0; 6390 i < h.length; 6391 i++ 6392 ) 6393 e["[object " + h[i] + "]"] = h[i].toLowerCase(); 6394 (c.fn.init.prototype = c.fn), (a.Velocity = { Utilities: c }); 6395 } 6396})(window), 6397 (function (a) { 6398 "use strict"; 6399 "object" == typeof module && "object" == typeof module.exports 6400 ? (module.exports = a()) 6401 : "function" == typeof define && define.amd 6402 ? define(a) 6403 : a(); 6404 })(function () { 6405 "use strict"; 6406 return (function (a, b, c, d) { 6407 function e(a) { 6408 for (var b = -1, c = a ? a.length : 0, d = []; ++b < c; ) { 6409 var e = a[b]; 6410 e && d.push(e); 6411 } 6412 return d; 6413 } 6414 function f(a) { 6415 return u.isWrapped(a) ? (a = s.call(a)) : u.isNode(a) && (a = [a]), a; 6416 }
6417 function g(a) { 6418 var b = o.data(a, "velocity"); 6419 return null === b ? d : b; 6420 } 6421 function h(a, b) { 6422 var c = g(a); 6423 c && 6424 c.delayTimer && 6425 !c.delayPaused && 6426 ((c.delayRemaining = c.delay - b + c.delayBegin), 6427 (c.delayPaused = !0), 6428 clearTimeout(c.delayTimer.setTimeout)); 6429 } 6430 function i(a, b) { 6431 var c = g(a); 6432 c && 6433 c.delayTimer && 6434 c.delayPaused && 6435 ((c.delayPaused = !1), 6436 (c.delayTimer.setTimeout = setTimeout( 6437 c.delayTimer.next, 6438 c.delayRemaining 6439 ))); 6440 } 6441 function j(a) { 6442 return function (b) { 6443 return Math.round(b * a) * (1 / a); 6444 }; 6445 } 6446 function k(a, c, d, e) { 6447 function f(a, b) { 6448 return 1 - 3 * b + 3 * a; 6449 } 6450 function g(a, b) { 6451 return 3 * b - 6 * a; 6452 } 6453 function h(a) { 6454 return 3 * a; 6455 } 6456 function i(a, b, c) { 6457 return ((f(b, c) * a + g(b, c)) * a + h(b)) * a; 6458 } 6459 function j(a, b, c) { 6460 return 3 * f(b, c) * a * a + 2 * g(b, c) * a + h(b); 6461 } 6462 function k(b, c) { 6463 for (var e = 0; e < p; ++e) { 6464 var f = j(c, a, d); 6465 if (0 === f) return c; 6466 c -= (i(c, a, d) - b) / f; 6467 } 6468 return c; 6469 } 6470 function l() { 6471 for (var b = 0; b < t; ++b) x[b] = i(b * u, a, d); 6472 } 6473 function m(b, c, e) { 6474 var f, 6475 g, 6476 h = 0; 6477 do { 6478 (g = c + (e - c) / 2), 6479 (f = i(g, a, d) - b), 6480 f > 0 ? (e = g) : (c = g); 6481 } while (Math.abs(f) > r && ++h < s); 6482 return g; 6483 } 6484 function n(b) { 6485 for (var c = 0, e = 1, f = t - 1; e !== f && x[e] <= b; ++e) c += u; 6486 --e; 6487 var g = (b - x[e]) / (x[e + 1] - x[e]), 6488 h = c + g * u, 6489 i = j(h, a, d); 6490 return i >= q ? k(b, h) : 0 === i ? h : m(b, c, c + u); 6491 } 6492 function o() { 6493 (y = !0), (a === c && d === e) || l(); 6494 } 6495 var p = 4, 6496 q = 0.001, 6497 r = 1e-7, 6498 s = 10, 6499 t = 11, 6500 u = 1 / (t - 1), 6501 v = "Float32Array" in b; 6502 if (4 !== arguments.length) return !1; 6503 for (var w = 0; w < 4; ++w) 6504 if ( 6505 "number" != typeof arguments[w] || 6506 isNaN(arguments[w]) || 6507 !isFinite(arguments[w]) 6508 ) 6509 return !1; 6510 (a = Math.min(a, 1)), 6511 (d = Math.min(d, 1)), 6512 (a = Math.max(a, 0)), 6513 (d = Math.max(d, 0)); 6514 var x = v ? new Float32Array(t) : new Array(t), 6515 y = !1, 6516 z = function (b) { 6517 return ( 6518 y || o(), 6519 a === c && d === e ? b : 0 === b ? 0 : 1 === b ? 1 : i(n(b), c, e) 6520 ); 6521 }; 6522 z.getControlPoints = function () { 6523 return [ 6524 { x: a, y: c }, 6525 { x: d, y: e }, 6526 ]; 6527 }; 6528 var A = "generateBezier(" + [a, c, d, e] + ")"; 6529 return ( 6530 (z.toString = function () { 6531 return A; 6532 }), 6533 z 6534 ); 6535 } 6536 function l(a, b) { 6537 var c = a; 6538 return ( 6539 u.isString(a) 6540 ? y.Easings[a] || (c = !1) 6541 : (c = 6542 u.isArray(a) && 1 === a.length 6543 ? j.apply(null, a) 6544 : u.isArray(a) && 2 === a.length 6545 ? z.apply(null, a.concat([b])) 6546 : !(!u.isArray(a) || 4 !== a.length) && k.apply(null, a)), 6547 c === !1 && 6548 (c = y.Easings[y.defaults.easing] ? y.defaults.easing : x), 6549 c 6550 ); 6551 } 6552 function m(a) { 6553 if (a) { 6554 var b = y.timestamp && a !== !0 ? a : r.now(), 6555 c = y.State.calls.length; 6556 c > 1e4 && 6557 ((y.State.calls = e(y.State.calls)), (c = y.State.calls.length)); 6558 for (var f = 0; f < c; f++) 6559 if (y.State.calls[f]) { 6560 var h = y.State.calls[f],
6561 i = h[0], 6562 j = h[2], 6563 k = h[3], 6564 l = !!k, 6565 q = null, 6566 s = h[5], 6567 t = h[6]; 6568 if ((k || (k = y.State.calls[f][3] = b - 16), s)) { 6569 if (s.resume !== !0) continue; 6570 (k = h[3] = Math.round(b - t - 16)), (h[5] = null); 6571 } 6572 t = h[6] = b - k; 6573 for ( 6574 var v = Math.min(t / j.duration, 1), w = 0, x = i.length; 6575 w < x; 6576 w++ 6577 ) { 6578 var z = i[w], 6579 B = z.element; 6580 if (g(B)) { 6581 var D = !1; 6582 if ( 6583 j.display !== d && 6584 null !== j.display && 6585 "none" !== j.display 6586 ) { 6587 if ("flex" === j.display) { 6588 var E = [ 6589 "-webkit-box", 6590 "-moz-box", 6591 "-ms-flexbox", 6592 "-webkit-flex", 6593 ]; 6594 o.each(E, function (a, b) { 6595 A.setPropertyValue(B, "display", b); 6596 }); 6597 } 6598 A.setPropertyValue(B, "display", j.display); 6599 } 6600 j.visibility !== d && 6601 "hidden" !== j.visibility && 6602 A.setPropertyValue(B, "visibility", j.visibility); 6603 for (var F in z) 6604 if (z.hasOwnProperty(F) && "element" !== F) { 6605 var G, 6606 H = z[F], 6607 I = u.isString(H.easing) 6608 ? y.Easings[H.easing] 6609 : H.easing; 6610 if (u.isString(H.pattern)) { 6611 var J = 6612 1 === v 6613 ? function (a, b, c) { 6614 var d = H.endValue[b]; 6615 return c ? Math.round(d) : d; 6616 } 6617 : function (a, b, c) { 6618 var d = H.startValue[b], 6619 e = H.endValue[b] - d, 6620 f = d + e * I(v, j, e); 6621 return c ? Math.round(f) : f; 6622 }; 6623 G = H.pattern.replace(/{(\d+)(!)?}/g, J); 6624 } else if (1 === v) G = H.endValue; 6625 else { 6626 var K = H.endValue - H.startValue; 6627 G = H.startValue + K * I(v, j, K); 6628 } 6629 if (!l && G === H.currentValue) continue; 6630 if (((H.currentValue = G), "tween" === F)) q = G; 6631 else { 6632 var L; 6633 if (A.Hooks.registered[F]) { 6634 L = A.Hooks.getRoot(F); 6635 var M = g(B).rootPropertyValueCache[L]; 6636 M && (H.rootPropertyValue = M); 6637 } 6638 var N = A.setPropertyValue( 6639 B, 6640 F, 6641 H.currentValue + 6642 (p < 9 && 0 === parseFloat(G) ? "" : H.unitType), 6643 H.rootPropertyValue, 6644 H.scrollData 6645 ); 6646 A.Hooks.registered[F] && 6647 (A.Normalizations.registered[L] 6648 ? (g(B).rootPropertyValueCache[L] = 6649 A.Normalizations.registered[L]( 6650 "extract", 6651 null, 6652 N[1] 6653 )) 6654 : (g(B).rootPropertyValueCache[L] = N[1])), 6655 "transform" === N[0] && (D = !0); 6656 } 6657 } 6658 j.mobileHA && 6659 g(B).transformCache.translate3d === d && 6660 ((g(B).transformCache.translate3d = "(0px, 0px, 0px)"), 6661 (D = !0)), 6662 D && A.flushTransformCache(B); 6663 } 6664 } 6665 j.display !== d && 6666 "none" !== j.display && 6667 (y.State.calls[f][2].display = !1), 6668 j.visibility !== d && 6669 "hidden" !== j.visibility && 6670 (y.State.calls[f][2].visibility = !1), 6671 j.progress && 6672 j.progress.call( 6673 h[1], 6674 h[1], 6675 v, 6676 Math.max(0, k + j.duration - b), 6677 k, 6678 q 6679 ), 6680 1 === v && n(f); 6681 } 6682 } 6683 y.State.isTicking && C(m); 6684 } 6685 function n(a, b) { 6686 if (!y.State.calls[a]) return !1; 6687 for ( 6688 var c = y.State.calls[a][0], 6689 e = y.State.calls[a][1], 6690 f = y.State.calls[a][2], 6691 h = y.State.calls[a][4], 6692 i = !1, 6693 j = 0, 6694 k = c.length; 6695 j < k; 6696 j++ 6697 ) { 6698 var l = c[j].element; 6699 b || 6700 f.loop || 6701 ("none" === f.display && 6702 A.setPropertyValue(l, "display", f.display), 6703 "hidden" === f.visibility && 6704 A.setPropertyValue(l, "visibility", f.visibility)); 6705 var m = g(l); 6706 if ( 6707 f.loop !== !0 && 6708 (o.queue(l)[1] === d || 6709 !/\.velocityQueueEntryFlag/i.test(o.queue(l)[1])) && 6710 m 6711 ) { 6712 (m.isAnimating = !1), (m.rootPropertyValueCache = {}); 6713 var n = !1; 6714 o.each(A.Lists.transforms3D, function (a, b) { 6715 var c = /^scale/.test(b) ? 1 : 0, 6716 e = m.transformCache[b]; 6717 m.transformCache[b] !== d && 6718 new RegExp("^\\(" + c + "[^.]").test(e) && 6719 ((n = !0), delete m.transformCache[b]); 6720 }), 6721 f.mobileHA && ((n = !0), delete m.transformCache.translate3d), 6722 n && A.flushTransformCache(l), 6723 A.Values.removeClass(l, "velocity-animating"); 6724 } 6725 if (!b && f.complete && !f.loop && j === k - 1) 6726 try { 6727 f.complete.call(e, e); 6728 } catch (r) { 6729 setTimeout(function () { 6730 throw r; 6731 }, 1); 6732 } 6733 h && f.loop !== !0 && h(e), 6734 m && 6735 f.loop === !0 && 6736 !b && 6737 (o.each(m.tweensContainer, function (a, b) { 6738 if ( 6739 /^rotate/.test(a) && 6740 (parseFloat(b.startValue) - parseFloat(b.endValue)) % 360 == 0 6741 ) { 6742 var c = b.startValue; 6743 (b.startValue = b.endValue), (b.endValue = c); 6744 } 6745 /^backgroundPosition/.test(a) && 6746 100 === parseFloat(b.endValue) && 6747 "%" === b.unitType && 6748 ((b.endValue = 0), (b.startValue = 100)); 6749 }), 6750 y(l, "reverse", { loop: !0, delay: f.delay })), 6751 f.queue !== !1 && o.dequeue(l, f.queue); 6752 } 6753 y.State.calls[a] = !1; 6754 for (var p = 0, q = y.State.calls.length; p < q; p++) 6755 if (y.State.calls[p] !== !1) { 6756 i = !0; 6757 break; 6758 } 6759 i === !1 && 6760 ((y.State.isTicking = !1), 6761 delete y.State.calls, 6762 (y.State.calls = [])); 6763 } 6764 var o, 6765 p = (function () { 6766 if (c.documentMode) return c.documentMode; 6767 for (var a = 7; a > 4; a--) { 6768 var b = c.createElement("div"); 6769 if ( 6770 ((b.innerHTML = 6771 "<!--[if IE " + a + "]><span></span><![endif]-->"), 6772 b.getElementsByTagName("span").length) 6773 ) 6774 return (b = null), a; 6775 } 6776 return d; 6777 })(), 6778 q = (function () { 6779 var a = 0; 6780 return ( 6781 b.webkitRequestAnimationFrame || 6782 b.mozRequestAnimationFrame || 6783 function (b) { 6784 var c, 6785 d = new Date().getTime(); 6786 return ( 6787 (c = Math.max(0, 16 - (d - a))), 6788 (a = d + c), 6789 setTimeout(function () { 6790 b(d + c); 6791 }, c) 6792 ); 6793 } 6794 ); 6795 })(), 6796 r = (function () { 6797 var a = b.performance || {}; 6798 if ("function" != typeof a.now) { 6799 var c = 6800 a.timing && a.timing.navigationStart 6801 ? a.timing.navigationStart 6802 : new Date().getTime(); 6803 a.now = function () { 6804 return new Date().getTime() - c; 6805 }; 6806 } 6807 return a; 6808 })(), 6809 s = (function () { 6810 var a = Array.prototype.slice; 6811 try { 6812 return a.call(c.documentElement), a; 6813 } catch (b) { 6814 return function (b, c) { 6815 var d = this.length; 6816 if ( 6817 ("number" != typeof b && (b = 0), 6818 "number" != typeof c && (c = d), 6819 this.slice) 6820 ) 6821 return a.call(this, b, c); 6822 var e, 6823 f = [], 6824 g = b >= 0 ? b : Math.max(0, d + b), 6825 h = c < 0 ? d + c : Math.min(c, d), 6826 i = h - g; 6827 if (i > 0) 6828 if (((f = new Array(i)), this.charAt)) 6829 for (e = 0; e < i; e++) f[e] = this.charAt(g + e); 6830 else for (e = 0; e < i; e++) f[e] = this[g + e]; 6831 return f; 6832 }; 6833 } 6834 })(), 6835 t = function () { 6836 return Array.prototype.includes 6837 ? function (a, b) { 6838 return a.includes(b); 6839 } 6840 : Array.prototype.indexOf 6841 ? function (a, b) { 6842 return a.indexOf(b) >= 0; 6843 } 6844 : function (a, b) { 6845 for (var c = 0; c < a.length; c++) if (a[c] === b) return !0; 6846 return !1; 6847 }; 6848 }, 6849 u = { 6850 isNumber: function (a) { 6851 return "number" == typeof a; 6852 }, 6853 isString: function (a) { 6854 return "string" == typeof a; 6855 }, 6856 isArray: 6857 Array.isArray || 6858 function (a) { 6859 return "[object Array]" === Object.prototype.toString.call(a); 6860 }, 6861 isFunction: function (a) { 6862 return "[object Function]" === Object.prototype.toString.call(a); 6863 }, 6864 isNode: function (a) { 6865 return a && a.nodeType; 6866 }, 6867 isWrapped: function (a) { 6868 return ( 6869 a && 6870 a !== b && 6871 u.isNumber(a.length) && 6872 !u.isString(a) && 6873 !u.isFunction(a) && 6874 !u.isNode(a) && 6875 (0 === a.length || u.isNode(a[0])) 6876 ); 6877 }, 6878 isSVG: function (a) { 6879 return b.SVGElement && a instanceof b.SVGElement; 6880 }, 6881 isEmptyObject: function (a) { 6882 for (var b in a) if (a.hasOwnProperty(b)) return !1; 6883 return !0; 6884 }, 6885 }, 6886 v = !1; 6887 if ( 6888 (a.fn && a.fn.jquery ? ((o = a), (v = !0)) : (o = b.Velocity.Utilities), 6889 p <= 8 && !v) 6890 ) 6891 throw new Error( 6892 "Velocity: IE8 and below require jQuery to be loaded before Velocity." 6893 ); 6894 if (p <= 7) return void (jQuery.fn.velocity = jQuery.fn.animate); 6895 var w = 400, 6896 x = "swing", 6897 y = { 6898 State: { 6899 isMobile: 6900 /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( 6901 navigator.userAgent 6902 ), 6903 isAndroid: /Android/i.test(navigator.userAgent), 6904 isGingerbread: /Android 2\.3\.[3-7]/i.test(navigator.userAgent), 6905 isChrome: b.chrome, 6906 isFirefox: /Firefox/i.test(navigator.userAgent), 6907 prefixElement: c.createElement("div"), 6908 prefixMatches: {}, 6909 scrollAnchor: null, 6910 scrollPropertyLeft: null, 6911 scrollPropertyTop: null, 6912 isTicking: !1, 6913 calls: [], 6914 delayedElements: { count: 0 }, 6915 }, 6916 CSS: {}, 6917 Utilities: o, 6918 Redirects: {}, 6919 Easings: {}, 6920 Promise: b.Promise, 6921 defaults: { 6922 queue: "", 6923 duration: w, 6924 easing: x, 6925 begin: d, 6926 complete: d, 6927 progress: d, 6928 display: d, 6929 visibility: d, 6930 loop: !1, 6931 delay: !1, 6932 mobileHA: !0, 6933 _cacheValues: !0,
6934 promiseRejectEmpty: !0, 6935 }, 6936 init: function (a) { 6937 o.data(a, "velocity", { 6938 isSVG: u.isSVG(a), 6939 isAnimating: !1, 6940 computedStyle: null, 6941 tweensContainer: null, 6942 rootPropertyValueCache: {}, 6943 transformCache: {}, 6944 }); 6945 }, 6946 hook: null, 6947 mock: !1, 6948 version: { major: 1, minor: 5, patch: 0 }, 6949 debug: !1, 6950 timestamp: !0, 6951 pauseAll: function (a) { 6952 var b = new Date().getTime(); 6953 o.each(y.State.calls, function (b, c) { 6954 if (c) { 6955 if (a !== d && (c[2].queue !== a || c[2].queue === !1)) 6956 return !0; 6957 c[5] = { resume: !1 }; 6958 } 6959 }), 6960 o.each(y.State.delayedElements, function (a, c) { 6961 c && h(c, b); 6962 }); 6963 }, 6964 resumeAll: function (a) { 6965 var b = new Date().getTime(); 6966 o.each(y.State.calls, function (b, c) { 6967 if (c) { 6968 if (a !== d && (c[2].queue !== a || c[2].queue === !1)) 6969 return !0; 6970 c[5] && (c[5].resume = !0); 6971 } 6972 }), 6973 o.each(y.State.delayedElements, function (a, c) { 6974 c && i(c, b); 6975 }); 6976 }, 6977 }; 6978 b.pageYOffset !== d 6979 ? ((y.State.scrollAnchor = b), 6980 (y.State.scrollPropertyLeft = "pageXOffset"), 6981 (y.State.scrollPropertyTop = "pageYOffset")) 6982 : ((y.State.scrollAnchor = 6983 c.documentElement || c.body.parentNode || c.body), 6984 (y.State.scrollPropertyLeft = "scrollLeft"), 6985 (y.State.scrollPropertyTop = "scrollTop")); 6986 var z = (function () { 6987 function a(a) { 6988 return -a.tension * a.x - a.friction * a.v; 6989 } 6990 function b(b, c, d) { 6991 var e = { 6992 x: b.x + d.dx * c, 6993 v: b.v + d.dv * c, 6994 tension: b.tension, 6995 friction: b.friction, 6996 }; 6997 return { dx: e.v, dv: a(e) }; 6998 } 6999 function c(c, d) { 7000 var e = { dx: c.v, dv: a(c) }, 7001 f = b(c, 0.5 * d, e), 7002 g = b(c, 0.5 * d, f), 7003 h = b(c, d, g), 7004 i = (1 / 6) * (e.dx + 2 * (f.dx + g.dx) + h.dx), 7005 j = (1 / 6) * (e.dv + 2 * (f.dv + g.dv) + h.dv); 7006 return (c.x = c.x + i * d), (c.v = c.v + j * d), c; 7007 } 7008 return function d(a, b, e) { 7009 var f, 7010 g, 7011 h, 7012 i = { x: -1, v: 0, tension: null, friction: null }, 7013 j = [0], 7014 k = 0; 7015 for ( 7016 a = parseFloat(a) || 500, 7017 b = parseFloat(b) || 20, 7018 e = e || null, 7019 i.tension = a, 7020 i.friction = b, 7021 f = null !== e, 7022 f ? ((k = d(a, b)), (g = (k / e) * 0.016)) : (g = 0.016); 7023 ; 7024 7025 ) 7026 if ( 7027 ((h = c(h || i, g)), 7028 j.push(1 + h.x), 7029 (k += 16), 7030 !(Math.abs(h.x) > 1e-4 && Math.abs(h.v) > 1e-4)) 7031 ) 7032 break; 7033 return f 7034 ? function (a) { 7035 return j[(a * (j.length - 1)) | 0]; 7036 } 7037 : k; 7038 }; 7039 })(); 7040 (y.Easings = { 7041 linear: function (a) { 7042 return a; 7043 }, 7044 swing: function (a) { 7045 return 0.5 - Math.cos(a * Math.PI) / 2; 7046 }, 7047 spring: function (a) { 7048 return 1 - Math.cos(4.5 * a * Math.PI) * Math.exp(6 * -a); 7049 }, 7050 }), 7051 o.each( 7052 [ 7053 ["ease", [0.25, 0.1, 0.25, 1]], 7054 ["ease-in", [0.42, 0, 1, 1]], 7055 ["ease-out", [0, 0, 0.58, 1]], 7056 ["ease-in-out", [0.42, 0, 0.58, 1]], 7057 ["easeInSine", [0.47, 0, 0.745, 0.715]], 7058 ["easeOutSine", [0.39, 0.575, 0.565, 1]], 7059 ["easeInOutSine", [0.445, 0.05, 0.55, 0.95]], 7060 ["easeInQuad", [0.55, 0.085, 0.68, 0.53]], 7061 ["easeOutQuad", [0.25, 0.46, 0.45, 0.94]],
7062 ["easeInOutQuad", [0.455, 0.03, 0.515, 0.955]], 7063 ["easeInCubic", [0.55, 0.055, 0.675, 0.19]], 7064 ["easeOutCubic", [0.215, 0.61, 0.355, 1]], 7065 ["easeInOutCubic", [0.645, 0.045, 0.355, 1]], 7066 ["easeInQuart", [0.895, 0.03, 0.685, 0.22]], 7067 ["easeOutQuart", [0.165, 0.84, 0.44, 1]], 7068 ["easeInOutQuart", [0.77, 0, 0.175, 1]], 7069 ["easeInQuint", [0.755, 0.05, 0.855, 0.06]], 7070 ["easeOutQuint", [0.23, 1, 0.32, 1]], 7071 ["easeInOutQuint", [0.86, 0, 0.07, 1]], 7072 ["easeInExpo", [0.95, 0.05, 0.795, 0.035]], 7073 ["easeOutExpo", [0.19, 1, 0.22, 1]], 7074 ["easeInOutExpo", [1, 0, 0, 1]], 7075 ["easeInCirc", [0.6, 0.04, 0.98, 0.335]], 7076 ["easeOutCirc", [0.075, 0.82, 0.165, 1]], 7077 ["easeInOutCirc", [0.785, 0.135, 0.15, 0.86]], 7078 ], 7079 function (a, b) { 7080 y.Easings[b[0]] = k.apply(null, b[1]); 7081 } 7082 ); 7083 var A = (y.CSS = { 7084 RegEx: { 7085 isHex: /^#([A-f\d]{3}){1,2}$/i, 7086 valueUnwrap: /^[A-z]+\((.*)\)$/i, 7087 wrappedValueAlreadyExtracted: /[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/, 7088 valueSplit: /([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi, 7089 }, 7090 Lists: { 7091 colors: [ 7092 "fill", 7093 "stroke", 7094 "stopColor", 7095 "color", 7096 "backgroundColor", 7097 "borderColor", 7098 "borderTopColor", 7099 "borderRightColor", 7100 "borderBottomColor", 7101 "borderLeftColor", 7102 "outlineColor", 7103 ], 7104 transformsBase: [ 7105 "translateX", 7106 "translateY", 7107 "scale", 7108 "scaleX", 7109 "scaleY", 7110 "skewX", 7111 "skewY", 7112 "rotateZ", 7113 ], 7114 transforms3D: [ 7115 "transformPerspective", 7116 "translateZ", 7117 "scaleZ", 7118 "rotateX", 7119 "rotateY", 7120 ], 7121 units: [ 7122 "%", 7123 "em", 7124 "ex", 7125 "ch", 7126 "rem", 7127 "vw", 7128 "vh", 7129 "vmin", 7130 "vmax", 7131 "cm", 7132 "mm", 7133 "Q", 7134 "in", 7135 "pc", 7136 "pt", 7137 "px", 7138 "deg", 7139 "grad", 7140 "rad", 7141 "turn", 7142 "s", 7143 "ms", 7144 ], 7145 colorNames: { 7146 aliceblue: "240,248,255", 7147 antiquewhite: "250,235,215", 7148 aquamarine: "127,255,212", 7149 aqua: "0,255,255", 7150 azure: "240,255,255", 7151 beige: "245,245,220", 7152 bisque: "255,228,196", 7153 black: "0,0,0", 7154 blanchedalmond: "255,235,205", 7155 blueviolet: "138,43,226", 7156 blue: "0,0,255", 7157 brown: "165,42,42", 7158 burlywood: "222,184,135", 7159 cadetblue: "95,158,160", 7160 chartreuse: "127,255,0", 7161 chocolate: "210,105,30", 7162 coral: "255,127,80", 7163 cornflowerblue: "100,149,237", 7164 cornsilk: "255,248,220", 7165 crimson: "220,20,60", 7166 cyan: "0,255,255", 7167 darkblue: "0,0,139", 7168 darkcyan: "0,139,139", 7169 darkgoldenrod: "184,134,11", 7170 darkgray: "169,169,169", 7171 darkgrey: "169,169,169", 7172 darkgreen: "0,100,0", 7173 darkkhaki: "189,183,107", 7174 darkmagenta: "139,0,139", 7175 darkolivegreen: "85,107,47", 7176 darkorange: "255,140,0", 7177 darkorchid: "153,50,204", 7178 darkred: "139,0,0", 7179 darksalmon: "233,150,122", 7180 darkseagreen: "143,188,143", 7181 darkslateblue: "72,61,139", 7182 darkslategray: "47,79,79", 7183 darkturquoise: "0,206,209", 7184 darkviolet: "148,0,211", 7185 deeppink: "255,20,147", 7186 deepskyblue: "0,191,255", 7187 dimgray: "105,105,105", 7188 dimgrey: "105,105,105", 7189 dodgerblue: "30,144,255", 7190 firebrick: "178,34,34", 7191 floralwhite: "255,250,240", 7192 forestgreen: "34,139,34", 7193 fuchsia: "255,0,255", 7194 gainsboro: "220,220,220", 7195 ghostwhite: "248,248,255", 7196 gold: "255,215,0", 7197 goldenrod: "218,165,32", 7198 gray: "128,128,128", 7199 grey: "128,128,128", 7200 greenyellow: "173,255,47", 7201 green: "0,128,0", 7202 honeydew: "240,255,240", 7203 hotpink: "255,105,180", 7204 indianred: "205,92,92", 7205 indigo: "75,0,130", 7206 ivory: "255,255,240", 7207 khaki: "240,230,140", 7208 lavenderblush: "255,240,245", 7209 lavender: "230,230,250", 7210 lawngreen: "124,252,0", 7211 lemonchiffon: "255,250,205", 7212 lightblue: "173,216,230", 7213 lightcoral: "240,128,128", 7214 lightcyan: "224,255,255", 7215 lightgoldenrodyellow: "250,250,210", 7216 lightgray: "211,211,211", 7217 lightgrey: "211,211,211", 7218 lightgreen: "144,238,144", 7219 lightpink: "255,182,193", 7220 lightsalmon: "255,160,122", 7221 lightseagreen: "32,178,170", 7222 lightskyblue: "135,206,250", 7223 lightslategray: "119,136,153", 7224 lightsteelblue: "176,196,222", 7225 lightyellow: "255,255,224", 7226 limegreen: "50,205,50", 7227 lime: "0,255,0", 7228 linen: "250,240,230", 7229 magenta: "255,0,255", 7230 maroon: "128,0,0", 7231 mediumaquamarine: "102,205,170", 7232 mediumblue: "0,0,205", 7233 mediumorchid: "186,85,211", 7234 mediumpurple: "147,112,219", 7235 mediumseagreen: "60,179,113", 7236 mediumslateblue: "123,104,238", 7237 mediumspringgreen: "0,250,154", 7238 mediumturquoise: "72,209,204", 7239 mediumvioletred: "199,21,133", 7240 midnightblue: "25,25,112", 7241 mintcream: "245,255,250", 7242 mistyrose: "255,228,225", 7243 moccasin: "255,228,181", 7244 navajowhite: "255,222,173", 7245 navy: "0,0,128", 7246 oldlace: "253,245,230", 7247 olivedrab: "107,142,35", 7248 olive: "128,128,0", 7249 orangered: "255,69,0", 7250 orange: "255,165,0", 7251 orchid: "218,112,214", 7252 palegoldenrod: "238,232,170", 7253 palegreen: "152,251,152", 7254 paleturquoise: "175,238,238", 7255 palevioletred: "219,112,147",
7256 papayawhip: "255,239,213", 7257 peachpuff: "255,218,185", 7258 peru: "205,133,63", 7259 pink: "255,192,203", 7260 plum: "221,160,221", 7261 powderblue: "176,224,230", 7262 purple: "128,0,128", 7263 red: "255,0,0", 7264 rosybrown: "188,143,143", 7265 royalblue: "65,105,225", 7266 saddlebrown: "139,69,19", 7267 salmon: "250,128,114", 7268 sandybrown: "244,164,96", 7269 seagreen: "46,139,87", 7270 seashell: "255,245,238", 7271 sienna: "160,82,45", 7272 silver: "192,192,192", 7273 skyblue: "135,206,235", 7274 slateblue: "106,90,205", 7275 slategray: "112,128,144", 7276 snow: "255,250,250", 7277 springgreen: "0,255,127", 7278 steelblue: "70,130,180", 7279 tan: "210,180,140", 7280 teal: "0,128,128", 7281 thistle: "216,191,216", 7282 tomato: "255,99,71", 7283 turquoise: "64,224,208", 7284 violet: "238,130,238", 7285 wheat: "245,222,179", 7286 whitesmoke: "245,245,245", 7287 white: "255,255,255", 7288 yellowgreen: "154,205,50", 7289 yellow: "255,255,0", 7290 }, 7291 }, 7292 Hooks: { 7293 templates: { 7294 textShadow: ["Color X Y Blur", "black 0px 0px 0px"], 7295 boxShadow: ["Color X Y Blur Spread", "black 0px 0px 0px 0px"], 7296 clip: ["Top Right Bottom Left", "0px 0px 0px 0px"], 7297 backgroundPosition: ["X Y", "0% 0%"], 7298 transformOrigin: ["X Y Z", "50% 50% 0px"], 7299 perspectiveOrigin: ["X Y", "50% 50%"], 7300 }, 7301 registered: {}, 7302 register: function () { 7303 for (var a = 0; a < A.Lists.colors.length; a++) { 7304 var b = 7305 "color" === A.Lists.colors[a] ? "0 0 0 1" : "255 255 255 1"; 7306 A.Hooks.templates[A.Lists.colors[a]] = [ 7307 "Red Green Blue Alpha", 7308 b, 7309 ]; 7310 } 7311 var c, d, e; 7312 if (p) 7313 for (c in A.Hooks.templates) 7314 if (A.Hooks.templates.hasOwnProperty(c)) { 7315 (d = A.Hooks.templates[c]), (e = d[0].split(" ")); 7316 var f = d[1].match(A.RegEx.valueSplit); 7317 "Color" === e[0] && 7318 (e.push(e.shift()), 7319 f.push(f.shift()), 7320 (A.Hooks.templates[c] = [e.join(" "), f.join(" ")])); 7321 } 7322 for (c in A.Hooks.templates) 7323 if (A.Hooks.templates.hasOwnProperty(c)) { 7324 (d = A.Hooks.templates[c]), (e = d[0].split(" ")); 7325 for (var g in e) 7326 if (e.hasOwnProperty(g)) { 7327 var h = c + e[g], 7328 i = g; 7329 A.Hooks.registered[h] = [c, i]; 7330 } 7331 } 7332 }, 7333 getRoot: function (a) { 7334 var b = A.Hooks.registered[a]; 7335 return b ? b[0] : a; 7336 }, 7337 getUnit: function (a, b) { 7338 var c = (a.substr(b || 0, 5).match(/^[a-z%]+/) || [])[0] || ""; 7339 return c && t(A.Lists.units, c) ? c : ""; 7340 }, 7341 fixColors: function (a) { 7342 return a.replace(/(rgba?\(\s*)?(\b[a-z]+\b)/g, function (a, b, c) { 7343 return A.Lists.colorNames.hasOwnProperty(c) 7344 ? (b ? b : "rgba(") + A.Lists.colorNames[c] + (b ? "" : ",1)") 7345 : b + c; 7346 }); 7347 }, 7348 cleanRootPropertyValue: function (a, b) { 7349 return ( 7350 A.RegEx.valueUnwrap.test(b) && 7351 (b = b.match(A.RegEx.valueUnwrap)[1]), 7352 A.Values.isCSSNullValue(b) && (b = A.Hooks.templates[a][1]), 7353 b 7354 ); 7355 }, 7356 extractValue: function (a, b) { 7357 var c = A.Hooks.registered[a]; 7358 if (c) { 7359 var d = c[0], 7360 e = c[1]; 7361 return ( 7362 (b = A.Hooks.cleanRootPropertyValue(d, b)), 7363 b.toString().match(A.RegEx.valueSplit)[e] 7364 ); 7365 } 7366 return b; 7367 }, 7368 injectValue: function (a, b, c) { 7369 var d = A.Hooks.registered[a]; 7370 if (d) { 7371 var e, 7372 f = d[0], 7373 g = d[1]; 7374 return ( 7375 (c = A.Hooks.cleanRootPropertyValue(f, c)), 7376 (e = c.toString().match(A.RegEx.valueSplit)), 7377 (e[g] = b), 7378 e.join(" ") 7379 ); 7380 } 7381 return c; 7382 }, 7383 }, 7384 Normalizations: { 7385 registered: { 7386 clip: function (a, b, c) { 7387 switch (a) { 7388 case "name": 7389 return "clip"; 7390 case "extract": 7391 var d; 7392 return ( 7393 A.RegEx.wrappedValueAlreadyExtracted.test(c) 7394 ? (d = c) 7395 : ((d = c.toString().match(A.RegEx.valueUnwrap
7395)), 7396 (d = d ? d[1].replace(/,(\s+)?/g, " ") : c)), 7397 d 7398 ); 7399 case "inject": 7400 return "rect(" + c + ")"; 7401 } 7402 }, 7403 blur: function (a, b, c) { 7404 switch (a) { 7405 case "name": 7406 return y.State.isFirefox ? "filter" : "-webkit-filter"; 7407 case "extract": 7408 var d = parseFloat(c); 7409 if (!d && 0 !== d) { 7410 var e = c.toString().match(/blur\(([0-9]+[A-z]+)\)/i); 7411 d = e ? e[1] : 0; 7412 } 7413 return d; 7414 case "inject": 7415 return parseFloat(c) ? "blur(" + c + ")" : "none"; 7416 } 7417 }, 7418 opacity: function (a, b, c) { 7419 if (p <= 8) 7420 switch (a) { 7421 case "name": 7422 return "filter"; 7423 case "extract": 7424 var d = c.toString().match(/alpha\(opacity=(.*)\)/i); 7425 return (c = d ? d[1] / 100 : 1); 7426 case "inject": 7427 return ( 7428 (b.style.zoom = 1), 7429 parseFloat(c) >= 1 7430 ? "" 7431 : "alpha(opacity=" + 7432 parseInt(100 * parseFloat(c), 10) + 7433 ")" 7434 ); 7435 } 7436 else 7437 switch (a) { 7438 case "name": 7439 return "opacity"; 7440 case "extract": 7441 return c; 7442 case "inject": 7443 return c; 7444 } 7445 }, 7446 }, 7447 register: function () { 7448 function a(a, b, c) { 7449 if ( 7450 ("border-box" === 7451 A.getPropertyValue(b, "boxSizing") 7452 .toString() 7453 .toLowerCase()) === 7454 (c || !1) 7455 ) { 7456 var d, 7457 e, 7458 f = 0, 7459 g = "width" === a ? ["Left", "Right"] : ["Top", "Bottom"], 7460 h = [ 7461 "padding" + g[0], 7462 "padding" + g[1], 7463 "border" + g[0] + "Width", 7464 "border" + g[1] + "Width", 7465 ]; 7466 for (d = 0; d < h.length; d++) 7467 (e = parseFloat(A.getPropertyValue(b, h[d]))), 7468 isNaN(e) || (f += e); 7469 return c ? -f : f; 7470 } 7471 return 0; 7472 } 7473 function b(b, c) { 7474 return function (d, e, f) { 7475 switch (d) { 7476 case "name": 7477 return b; 7478 case "extract": 7479 return parseFloat(f) + a(b, e, c); 7480 case "inject": 7481 return parseFloat(f) - a(b, e, c) + "px"; 7482 } 7483 }; 7484 } 7485 (p && !(p > 9)) || 7486 y.State.isGingerbread || 7487 (A.Lists.transformsBase = A.Lists.transformsBase.concat( 7488 A.Lists.transforms3D 7489 )); 7490 for (var c = 0; c < A.Lists.transformsBase.length; c++) 7491 !(function () { 7492 var a = A.Lists.transformsBase[c]; 7493 A.Normalizations.registered[a] = function (b, c, e) { 7494 switch (b) { 7495 case "name": 7496 return "transform"; 7497 case "extract": 7498 return g(c) === d || g(c).transformCache[a] === d 7499 ? /^scale/i.test(a) 7500 ? 1 7501 : 0 7502 : g(c).transformCache[a].replace(/[()]/g, ""); 7503 case "inject": 7504 var f = !1; 7505 switch (a.substr(0, a.length - 1)) { 7506 case "translate": 7507 f = !/(%|px|em|rem|vw|vh|\d)$/i.test(e); 7508 break; 7509 case "scal": 7510 case "scale": 7511 y.State.isAndroid && 7512 g(c).transformCache[a] === d && 7513 e < 1 && 7514 (e = 1), 7515 (f = !/(\d)$/i.test(e)); 7516 break; 7517 case "skew": 7518 f = !/(deg|\d)$/i.test(e); 7519 break; 7520 case "rotate": 7521 f = !/(deg|\d)$/i.test(e); 7522 } 7523 return ( 7524 f || (g(c).transformCache[a] = "(" + e + ")"), 7525 g(c).transformCache[a] 7526 ); 7527 } 7528 }; 7529 })(); 7530 for (var e = 0; e < A.Lists.colors.length; e++) 7531 !(function () { 7532 var a = A.Lists.colors[e]; 7533 A.Normalizations.registered[a] = function (b, c, e) { 7534 switch (b) { 7535 case "name": 7536 return a; 7537 case "extract": 7538 var f; 7539 if (A.RegEx.wrappedValueAlreadyExtracted.test(e)) f = e; 7540 else { 7541 var g, 7542 h = { 7543 black: "rgb(0, 0, 0)", 7544 blue: "rgb(0, 0, 255)", 7545 gray: "rgb(128, 128, 128)", 7546 green: "rgb(0, 128, 0)", 7547 red: "rgb(255, 0, 0)", 7548 white: "rgb(255, 255, 255)", 7549 }; 7550 /^[A-z]+$/i.test(e) 7551 ? (g = h[e] !== d ? h[e] : h.black) 7552 : A.RegEx.isHex.test(e) 7553 ? (g = "rgb(" + A.Values.hexToRgb(e).join(" ") + ")") 7554 : /^rgba?\(/i.test(e) || (g = h.black), 7555 (f = (g || e) 7556 .toString()
7557 .match(A.RegEx.valueUnwrap)[1] 7558 .replace(/,(\s+)?/g, " ")); 7559 } 7560 return ( 7561 (!p || p > 8) && 7562 3 === f.split(" ").length && 7563 (f += " 1"), 7564 f 7565 ); 7566 case "inject": 7567 return /^rgb/.test(e) 7568 ? e 7569 : (p <= 8 7570 ? 4 === e.split(" ").length && 7571 (e = e.split(/\s+/).slice(0, 3).join(" ")) 7572 : 3 === e.split(" ").length && (e += " 1"), 7573 (p <= 8 ? "rgb" : "rgba") + 7574 "(" + 7575 e 7576 .replace(/\s+/g, ",") 7577 .replace(/\.(\d)+(?=,)/g, "") + 7578 ")"); 7579 } 7580 }; 7581 })(); 7582 (A.Normalizations.registered.innerWidth = b("width", !0)), 7583 (A.Normalizations.registered.innerHeight = b("height", !0)), 7584 (A.Normalizations.registered.outerWidth = b("width")), 7585 (A.Normalizations.registered.outerHeight = b("height")); 7586 }, 7587 }, 7588 Names: { 7589 camelCase: function (a) { 7590 return a.replace(/-(\w)/g, function (a, b) { 7591 return b.toUpperCase(); 7592 }); 7593 }, 7594 SVGAttribute: function (a) { 7595 var b = "width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2"; 7596 return ( 7597 (p || (y.State.isAndroid && !y.State.isChrome)) && 7598 (b += "|transform"), 7599 new RegExp("^(" + b + ")$", "i").test(a) 7600 ); 7601 }, 7602 prefixCheck: function (a) { 7603 if (y.State.prefixMatches[a]) return [y.State.prefixMatches[a], !0]; 7604 for ( 7605 var b = ["", "Webkit", "Moz", "ms", "O"], c = 0, d = b.length; 7606 c < d; 7607 c++ 7608 ) { 7609 var e; 7610 if ( 7611 ((e = 7612 0 === c 7613 ? a 7614 : b[c] + 7615 a.replace(/^\w/, function (a) { 7616 return a.toUpperCase(); 7617 })), 7618 u.isString(y.State.prefixElement.style[e])) 7619 ) 7620 return (y.State.prefixMatches[a] = e), [e, !0]; 7621 } 7622 return [a, !1]; 7623 }, 7624 }, 7625 Values: { 7626 hexToRgb: function (a) { 7627 var b, 7628 c = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i; 7629 return ( 7630 (a = a.replace( 7631 /^#?([a-f\d])([a-f\d])([a-f\d])$/i, 7632 function (a, b, c, d) { 7633 return b + b + c + c + d + d; 7634 } 7635 )), 7636 (b = c.exec(a)), 7637 b 7638 ? [parseInt(b[1], 16), parseInt(b[2], 16), parseInt(b[3], 16)] 7639 : [0, 0, 0] 7640 ); 7641 }, 7642 isCSSNullValue: function (a) { 7643 return ( 7644 !a || /^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(a) 7645 ); 7646 }, 7647 getUnitType: function (a) { 7648 return /^(rotate|skew)/i.test(a) 7649 ? "deg" 7650 : /(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test( 7651 a 7652 ) 7653 ? "" 7654 : "px"; 7655 }, 7656 getDisplayType: function (a) { 7657 var b = a && a.tagName.toString().toLowerCase(); 7658 return /^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test( 7659 b 7660 ) 7661 ? "inline" 7662 : /^(li)$/i.test(b) 7663 ? "list-item" 7664 : /^(tr)$/i.test(b) 7665 ? "table-row" 7666 : /^(table)$/i.test(b) 7667 ? "table" 7668 : /^(tbody)$/i.test(b) 7669 ? "table-row-group" 7670 : "block"; 7671 }, 7672 addClass: function (a, b) { 7673 if (a) 7674 if (a.classList) a.classList.add(b); 7675 else if (u.isString(a.className)) 7676 a.className += (a.className.length ? " " : "") + b; 7677 else { 7678 var c = a.getAttribute(p <= 7 ? "className" : "class") || ""; 7679 a.setAttribute("class", c + (c ? " " : "") + b); 7680 } 7681 }, 7682 removeClass: function (a, b) { 7683 if (a) 7684 if (a.classList) a.classList.remove(b); 7685 else if (u.isString(a.className)) 7686 a.className = a.className 7687 .toString() 7688 .replace( 7689 new RegExp( 7690 "(^|\\s)" + b.split(" ").join("|") + "(\\s|$)", 7691 "gi" 7692 ), 7693 " " 7694 ); 7695 else { 7696 var c = a.getAttribute(p <= 7 ? "className" : "class") || ""; 7697 a.setAttribute( 7698 "class", 7699 c.replace( 7700 new RegExp( 7701 "(^|s)" + b.split(" ").join("|") + "(s|$)", 7702 "gi" 7703 ), 7704 " " 7705 ) 7706 ); 7707 } 7708 }, 7709 }, 7710 getPropertyValue: function (a, c, e, f) { 7711 function h(a, c) { 7712 var e = 0;
7713 if (p <= 8) e = o.css(a, c); 7714 else { 7715 var i = !1; 7716 /^(width|height)$/.test(c) && 7717 0 === A.getPropertyValue(a, "display") && 7718 ((i = !0), 7719 A.setPropertyValue(a, "display", A.Values.getDisplayType(a))); 7720 var j = function () { 7721 i && A.setPropertyValue(a, "display", "none"); 7722 }; 7723 if (!f) { 7724 if ( 7725 "height" === c && 7726 "border-box" !== 7727 A.getPropertyValue(a, "boxSizing").toString().toLowerCase() 7728 ) { 7729 var k = 7730 a.offsetHeight - 7731 (parseFloat(A.getPropertyValue(a, "borderTopWidth")) || 0) - 7732 (parseFloat(A.getPropertyValue(a, "borderBottomWidth")) || 7733 0) - 7734 (parseFloat(A.getPropertyValue(a, "paddingTop")) || 0) - 7735 (parseFloat(A.getPropertyValue(a, "paddingBottom")) || 0); 7736 return j(), k; 7737 } 7738 if ( 7739 "width" === c && 7740 "border-box" !== 7741 A.getPropertyValue(a, "boxSizing").toString().toLowerCase() 7742 ) { 7743 var l = 7744 a.offsetWidth - 7745 (parseFloat(A.getPropertyValue(a, "borderLeftWidth")) || 7746 0) - 7747 (parseFloat(A.getPropertyValue(a, "borderRightWidth")) || 7748 0) - 7749 (parseFloat(A.getPropertyValue(a, "paddingLeft")) || 0) - 7750 (parseFloat(A.getPropertyValue(a, "paddingRight")) || 0); 7751 return j(), l; 7752 } 7753 } 7754 var m; 7755 (m = 7756 g(a) === d 7757 ? b.getComputedStyle(a, null) 7758 : g(a).computedStyle 7759 ? g(a).computedStyle 7760 : (g(a).computedStyle = b.getComputedStyle(a, null))), 7761 "borderColor" === c && (c = "borderTopColor"), 7762 (e = 9 === p && "filter" === c ? m.getPropertyValue(c) : m[c]), 7763 ("" !== e && null !== e) || (e = a.style[c]), 7764 j(); 7765 } 7766 if ("auto" === e && /^(top|right|bottom|left)$/i.test(c)) { 7767 var n = h(a, "position"); 7768 ("fixed" === n || ("absolute" === n && /top|left/i.test(c))) && 7769 (e = o(a).position()[c] + "px"); 7770 } 7771 return e; 7772 } 7773 var i; 7774 if (A.Hooks.registered[c]) { 7775 var j = c, 7776 k = A.Hooks.getRoot(j); 7777 e === d && (e = A.getPropertyValue(a, A.Names.prefixCheck(k)[0])), 7778 A.Normalizations.registered[k] && 7779 (e = A.Normalizations.registered[k]("extract", a, e)), 7780 (i = A.Hooks.extractValue(j, e)); 7781 } else if (A.Normalizations.registered[c]) { 7782 var l, m; 7783 (l = A.Normalizations.registered[c]("name", a)), 7784 "transform" !== l && 7785 ((m = h(a, A.Names.prefixCheck(l)[0])), 7786 A.Values.isCSSNullValue(m) && 7787 A.Hooks.templates[c] && 7788 (m = A.Hooks.templates[c][1])), 7789 (i = A.Normalizations.registered[c]("extract", a, m)); 7790 } 7791 if (!/^[\d-]/.test(i)) { 7792 var n = g(a); 7793 if (n && n.isSVG && A.Names.SVGAttribute(c)) 7794 if (/^(height|width)$/i.test(c)) 7795 try { 7796 i = a.getBBox()[c]; 7797 } catch (q) { 7798 i = 0; 7799 } 7800 else i = a.getAttribute(c); 7801 else i = h(a, A.Names.prefixCheck(c)[0]); 7802 } 7803 return ( 7804 A.Values.isCSSNullValue(i) && (i = 0), 7805 y.debug >= 2 && console.log("Get " + c + ": " + i), 7806 i 7807 ); 7808 }, 7809 setPropertyValue: function (a, c, d, e, f) { 7810 var h = c; 7811 if ("scroll" === c) 7812 f.container 7813 ? (f.container["scroll" + f.direction] = d) 7814 : "Left" === f.direction 7815 ? b.scrollTo(d, f.alternateValue) 7816 : b.scrollTo(f.alternateValue, d); 7817 else if ( 7818 A.Normalizations.registered[c] && 7819 "transform" === A.Normalizations.registered[c]("name", a) 7820 ) 7821 A.Normalizations.registered[c]("inject", a, d), 7822 (h = "transform"), 7823 (d = g(a).transformCache[c]); 7824 else { 7825 if (A.Hooks.registered[c]) { 7826 var i = c, 7827 j = A.Hooks.getRoot(c); 7828 (e = e || A.getPropertyValue(a, j)), 7829 (d = A.Hooks.injectValue(i, d, e)), 7830 (c = j); 7831 } 7832 if ( 7833 (A.Normalizations.registered[c] && 7834 ((d = A.Normalizations.registered[c]("inject", a, d)), 7835 (c = A.Normalizations.registered[c]("name", a))), 7836 (h = A.Names.prefixCheck(c)[0]), 7837 p <= 8) 7838 ) 7839 try { 7840 a.style[h] = d; 7841 } catch (l) { 7842 y.debug && 7843 console.log( 7844 "Browser does not support [" + d + "] for [" + h + "]" 7845 ); 7846 } 7847 else { 7848 var k = g(a);
7849 k && k.isSVG && A.Names.SVGAttribute(c) 7850 ? a.setAttribute(c, d) 7851 : (a.style[h] = d); 7852 } 7853 y.debug >= 2 && console.log("Set " + c + " (" + h + "): " + d); 7854 } 7855 return [h, d]; 7856 }, 7857 flushTransformCache: function (a) { 7858 var b = "", 7859 c = g(a); 7860 if ((p || (y.State.isAndroid && !y.State.isChrome)) && c && c.isSVG) { 7861 var d = function (b) { 7862 return parseFloat(A.getPropertyValue(a, b)); 7863 }, 7864 e = { 7865 translate: [d("translateX"), d("translateY")], 7866 skewX: [d("skewX")], 7867 skewY: [d("skewY")], 7868 scale: 7869 1 !== d("scale") 7870 ? [d("scale"), d("scale")] 7871 : [d("scaleX"), d("scaleY")], 7872 rotate: [d("rotateZ"), 0, 0], 7873 }; 7874 o.each(g(a).transformCache, function (a) { 7875 /^translate/i.test(a) 7876 ? (a = "translate") 7877 : /^scale/i.test(a) 7878 ? (a = "scale") 7879 : /^rotate/i.test(a) && (a = "rotate"), 7880 e[a] && ((b += a + "(" + e[a].join(" ") + ") "), delete e[a]); 7881 }); 7882 } else { 7883 var f, h; 7884 o.each(g(a).transformCache, function (c) { 7885 if (((f = g(a).transformCache[c]), "transformPerspective" === c)) 7886 return (h = f), !0; 7887 9 === p && "rotateZ" === c && (c = "rotate"), (b += c + f + " "); 7888 }), 7889 h && (b = "perspective" + h + " " + b); 7890 } 7891 A.setPropertyValue(a, "transform", b); 7892 }, 7893 }); 7894 A.Hooks.register(), 7895 A.Normalizations.register(), 7896 (y.hook = function (a, b, c) { 7897 var e; 7898 return ( 7899 (a = f(a)), 7900 o.each(a, function (a, f) { 7901 if ((g(f) === d && y.init(f), c === d)) 7902 e === d && (e = A.getPropertyValue(f, b)); 7903 else { 7904 var h = A.setPropertyValue(f, b, c); 7905 "transform" === h[0] && y.CSS.flushTransformCache(f), (e = h); 7906 } 7907 }), 7908 e 7909 ); 7910 }); 7911 var B = function () { 7912 function a() { 7913 return k ? z.promise || null : p; 7914 } 7915 function e(a, e) { 7916 function f(f) { 7917 var k, n; 7918 if (i.begin && 0 === D) 7919 try { 7920 i.begin.call(r, r); 7921 } catch (V) { 7922 setTimeout(function () { 7923 throw V; 7924 }, 1); 7925 } 7926 if ("scroll" === G) { 7927 var p, 7928 q, 7929 w, 7930 x = /^x$/i.test(i.axis) ? "Left" : "Top", 7931 B = parseFloat(i.offset) || 0; 7932 i.container 7933 ? u.isWrapped(i.container) || u.isNode(i.container) 7934 ? ((i.container = i.container[0] || i.container), 7935 (p = i.container["scroll" + x]), 7936 (w = p + o(a).position()[x.toLowerCase()] + B)) 7937 : (i.container = null) 7938 : ((p = y.State.scrollAnchor[y.State["scrollProperty" + x]]), 7939 (q = 7940 y.State.scrollAnchor[ 7941 y.State[ 7942 "scrollProperty" + ("Left" === x ? "Top" : "Left") 7943 ] 7944 ]), 7945 (w = o(a).offset()[x.toLowerCase()] + B)), 7946 (j = { 7947 scroll: { 7948 rootPropertyValue: !1, 7949 startValue: p, 7950 currentValue: p, 7951 endValue: w, 7952 unitType: "", 7953 easing: i.easing, 7954 scrollData: { 7955 container: i.container, 7956 direction: x, 7957 alternateValue: q, 7958 }, 7959 }, 7960 element: a, 7961 }), 7962 y.debug && 7963 console.log("tweensContainer (scroll): ", j.scroll, a); 7964 } else if ("reverse" === G) { 7965 if (!(k = g(a))) return; 7966 if (!k.tweensContainer) return void o.dequeue(a, i.queue); 7967 "none" === k.opts.display && (k.opts.display = "auto"), 7968 "hidden" === k.opts.visibility && 7969 (k.opts.visibility = "visible"), 7970 (k.opts.loop = !1), 7971 (k.opts.begin = null),
7972 (k.opts.complete = null), 7973 v.easing || delete i.easing, 7974 v.duration || delete i.duration, 7975 (i = o.extend({}, k.opts, i)), 7976 (n = o.extend(!0, {}, k ? k.tweensContainer : null)); 7977 for (var E in n) 7978 if (n.hasOwnProperty(E) && "element" !== E) { 7979 var F = n[E].startValue; 7980 (n[E].startValue = n[E].currentValue = n[E].endValue), 7981 (n[E].endValue = F), 7982 u.isEmptyObject(v) || (n[E].easing = i.easing), 7983 y.debug && 7984 console.log( 7985 "reverse tweensContainer (" + 7986 E + 7987 "): " + 7988 JSON.stringify(n[E]), 7989 a 7990 ); 7991 } 7992 j = n; 7993 } else if ("start" === G) { 7994 (k = g(a)), 7995 k && 7996 k.tweensContainer && 7997 k.isAnimating === !0 && 7998 (n = k.tweensContainer); 7999 var H = function (e, f) { 8000 var g, 8001 l = A.Hooks.getRoot(e), 8002 m = !1, 8003 p = f[0], 8004 q = f[1], 8005 r = f[2]; 8006 if ( 8007 !( 8008 (k && k.isSVG) || 8009 "tween" === l || 8010 A.Names.prefixCheck(l)[1] !== !1 || 8011 A.Normalizations.registered[l] !== d 8012 ) 8013 ) 8014 return void ( 8015 y.debug && 8016 console.log( 8017 "Skipping [" + l + "] due to a lack of browser support." 8018 ) 8019 ); 8020 ((i.display !== d && 8021 null !== i.display && 8022 "none" !== i.display) || 8023 (i.visibility !== d && "hidden" !== i.visibility)) && 8024 /opacity|filter/.test(e) && 8025 !r && 8026 0 !== p && 8027 (r = 0), 8028 i._cacheValues && n && n[e] 8029 ? (r === d && (r = n[e].endValue + n[e].unitType), 8030 (m = k.rootPropertyValueCache[l])) 8031 : A.Hooks.registered[e] 8032 ? r === d 8033 ? ((m = A.getPropertyValue(a, l)), 8034 (r = A.getPropertyValue(a, e, m))) 8035 : (m = A.Hooks.templates[l][1]) 8036 : r === d && (r = A.getPropertyValue(a, e)); 8037 var s, 8038 t, 8039 v, 8040 w = !1, 8041 x = function (a, b) { 8042 var c, d; 8043 return ( 8044 (d = (b || "0") 8045 .toString() 8046 .toLowerCase() 8047 .replace(/[%A-z]+$/, function (a) { 8048 return (c = a), ""; 8049 })), 8050 c || (c = A.Values.getUnitType(a)), 8051 [d, c] 8052 ); 8053 }; 8054 if (r !== p && u.isString(r) && u.isString(p)) { 8055 g = ""; 8056 var z = 0, 8057 B = 0, 8058 C = [], 8059 D = [], 8060 E = 0, 8061 F = 0, 8062 G = 0; 8063 for ( 8064 r = A.Hooks.fixColors(r), p = A.Hooks.fixColors(p); 8065 z < r.length && B < p.length; 8066 8067 ) { 8068 var H = r[z], 8069 I = p[B]; 8070 if (/[\d\.-]/.test(H) && /[\d\.-]/.test(I)) { 8071 for ( 8072 var J = H, K = I, L = ".", N = "."; 8073 ++z < r.length; 8074 8075 ) { 8076 if ((H = r[z]) === L) L = ".."; 8077 else if (!/\d/.test(H)) break; 8078 J += H; 8079 } 8080 for (; ++B < p.length; ) { 8081 if ((I = p[B]) === N) N = "..";
8082 else if (!/\d/.test(I)) break; 8083 K += I; 8084 } 8085 var O = A.Hooks.getUnit(r, z), 8086 P = A.Hooks.getUnit(p, B); 8087 if (((z += O.length), (B += P.length), O === P)) 8088 J === K 8089 ? (g += J + O) 8090 : ((g += "{" + C.length + (F ? "!" : "") + "}" + O), 8091 C.push(parseFloat(J)), 8092 D.push(parseFloat(K))); 8093 else { 8094 var Q = parseFloat(J), 8095 R = parseFloat(K); 8096 (g += 8097 (E < 5 ? "calc" : "") + 8098 "(" + 8099 (Q ? "{" + C.length + (F ? "!" : "") + "}" : "0") + 8100 O + 8101 " + " + 8102 (R 8103 ? "{" + 8104 (C.length + (Q ? 1 : 0)) + 8105 (F ? "!" : "") + 8106 "}" 8107 : "0") + 8108 P + 8109 ")"), 8110 Q && (C.push(Q), D.push(0)), 8111 R && (C.push(0), D.push(R)); 8112 } 8113 } else { 8114 if (H !== I) { 8115 E = 0; 8116 break; 8117 } 8118 (g += H), 8119 z++, 8120 B++, 8121 (0 === E && "c" === H) || 8122 (1 === E && "a" === H) || 8123 (2 === E && "l" === H) || 8124 (3 === E && "c" === H) || 8125 (E >= 4 && "(" === H) 8126 ? E++ 8127 : ((E && E < 5) || 8128 (E >= 4 && ")" === H && --E < 5)) && 8129 (E = 0), 8130 (0 === F && "r" === H) || 8131 (1 === F && "g" === H) || 8132 (2 === F && "b" === H) || 8133 (3 === F && "a" === H) || 8134 (F >= 3 && "(" === H) 8135 ? (3 === F && "a" === H && (G = 1), F++) 8136 : G && "," === H 8137 ? ++G > 3 && (F = G = 0) 8138 : ((G && F < (G ? 5 : 4)) || 8139 (F >= (G ? 4 : 3) && 8140 ")" === H && 8141 --F < (G ? 5 : 4))) && 8142 (F = G = 0); 8143 } 8144 } 8145 (z === r.length && B === p.length) || 8146 (y.debug && 8147 console.error( 8148 'Trying to pattern match mis-matched strings ["' + 8149 p + 8150 '", "' + 8151 r + 8152 '"]' 8153 ), 8154 (g = d)), 8155 g && 8156 (C.length 8157 ? (y.debug && 8158 console.log( 8159 'Pattern found "' + g + '" -> ', 8160 C, 8161 D, 8162 "[" + r + "," + p + "]" 8163 ), 8164 (r = C), 8165 (p = D), 8166 (t = v = "")) 8167 : (g = d)); 8168 } 8169 g || 8170 ((s = x(e, r)), 8171 (r = s[0]), 8172 (v = s[1]), 8173 (s = x(e, p)), 8174 (p = s[0].replace(/^([+-\/*])=/, function (a, b) { 8175 return (w = b), ""; 8176 })), 8177 (t = s[1]), 8178 (r = parseFloat(r) || 0), 8179 (p = parseFloat(p) || 0), 8180 "%" === t && 8181 (/^(fontSize|lineHeight)$/.test(e) 8182 ? ((p /= 100), (t = "em")) 8183 : /^scale/.test(e) 8184 ? ((p /= 100), (t = "")) 8185 : /(Red|Green|Blue)$/i.test(e) && 8186 ((p = (p / 100) * 255), (t = "")))); 8187 if (/[\/*]/.test(w)) t = v; 8188 else if (v !== t && 0 !== r) 8189 if (0 === p) t = v; 8190 else { 8191 h = 8192 h || 8193 (function () { 8194 var d = { 8195 myParent: a.parentNode || c.body, 8196 position: A.getPropertyValue(a, "position"), 8197 fontSize: A.getPropertyValue(a, "fontSize"), 8198 }, 8199 e = 8200 d.position === M.lastPosition && 8201 d.myParent === M.lastParent, 8202 f = d.fontSize === M.lastFontSize; 8203 (M.lastParent = d.myParent), 8204 (M.lastPosition = d.position), 8205 (M.lastFontSize = d.fontSize); 8206 var g = {}; 8207 if (f && e) 8208 (g.emToPx = M.lastEmToPx), 8209 (g.percentToPxWidth = M.lastPercentToPxWidth), 8210 (g.percentToPxHeight = M.lastPercentToPxHeight); 8211 else { 8212 var h = 8213 k && k.isSVG 8214 ? c.createElementNS( 8215 "http://www.w3.org/2000/svg", 8216 "rect" 8217 ) 8218 : c.createElement("div"); 8219 y.init(h), 8220 d.myParent.appendChild(h), 8221 o.each( 8222 ["overflow", "overflowX", "overflowY"], 8223 function (a, b) { 8224 y.CSS.setPropertyValue(h, b, "hidden"); 8225 } 8226 ), 8227 y.CSS.setPropertyValue(h, "position", d.position), 8228 y.CSS.setPropertyValue(h, "fontSize", d.fontSize), 8229 y.CSS.setPropertyValue( 8230 h, 8231 "boxSizing", 8232 "content-box" 8233 ), 8234 o.each( 8235 [ 8236 "minWidth", 8237 "maxWidth", 8238 "width", 8239 "minHeight", 8240 "maxHeight", 8241 "height", 8242 ], 8243 function (a, b) { 8244 y.CSS.setPropertyValue(h, b, "100%"); 8245 } 8246 ), 8247 y.CSS.setPropertyValue(h, "paddingLeft", "100em"), 8248 (g.percentToPxWidth = M.lastPercentToPxWidth = 8249 (parseFloat( 8250 A.getPropertyValue(h, "width", null, !0) 8251 ) || 1) / 100), 8252 (g.percentToPxHeight = M.lastPercentToPxHeight = 8253 (parseFloat( 8254 A.getPropertyValue(h, "height", null, !0) 8255 ) || 1) / 100), 8256 (g.emToPx = M.lastEmToPx = 8257 (parseFloat( 8258 A.getPropertyValue(h, "paddingLeft") 8259 ) || 1) / 100), 8260 d.myParent.removeChild(h); 8261 } 8262 return ( 8263 null === M.remToPx && 8264 (M.remToPx = 8265 parseFloat( 8266 A.getPropertyValue(c.body, "fontSize") 8267 ) || 16), 8268 null === M.vwToPx && 8269 ((M.vwToPx = parseFloat(b.innerWidth) / 100),
8270 (M.vhToPx = parseFloat(b.innerHeight) / 100)), 8271 (g.remToPx = M.remToPx), 8272 (g.vwToPx = M.vwToPx), 8273 (g.vhToPx = M.vhToPx), 8274 y.debug >= 1 && 8275 console.log("Unit ratios: " + JSON.stringify(g), a), 8276 g 8277 ); 8278 })(); 8279 var S = 8280 /margin|padding|left|right|width|text|word|letter/i.test( 8281 e 8282 ) || 8283 /X$/.test(e) || 8284 "x" === e 8285 ? "x" 8286 : "y"; 8287 switch (v) { 8288 case "%": 8289 r *= 8290 "x" === S ? h.percentToPxWidth : h.percentToPxHeight; 8291 break; 8292 case "px": 8293 break; 8294 default: 8295 r *= h[v + "ToPx"]; 8296 } 8297 switch (t) { 8298 case "%": 8299 r *= 8300 1 / 8301 ("x" === S 8302 ? h.percentToPxWidth 8303 : h.percentToPxHeight); 8304 break; 8305 case "px": 8306 break; 8307 default: 8308 r *= 1 / h[t + "ToPx"]; 8309 } 8310 } 8311 switch (w) { 8312 case "+": 8313 p = r + p; 8314 break; 8315 case "-": 8316 p = r - p; 8317 break; 8318 case "*": 8319 p *= r; 8320 break; 8321 case "/": 8322 p = r / p; 8323 } 8324 (j[e] = { 8325 rootPropertyValue: m, 8326 startValue: r, 8327 currentValue: r, 8328 endValue: p, 8329 unitType: t, 8330 easing: q, 8331 }), 8332 g && (j[e].pattern = g), 8333 y.debug && 8334 console.log( 8335 "tweensContainer (" + e + "): " + JSON.stringify(j[e]), 8336 a 8337 ); 8338 }; 8339 for (var I in s) 8340 if (s.hasOwnProperty(I)) { 8341 var J = A.Names.camelCase(I), 8342 K = (function (b, c) { 8343 var d, f, g; 8344 return ( 8345 u.isFunction(b) && (b = b.call(a, e, C)), 8346 u.isArray(b) 8347 ? ((d = b[0]), 8348 (!u.isArray(b[1]) && /^[\d-]/.test(b[1])) || 8349 u.isFunction(b[1]) || 8350 A.RegEx.isHex.test(b[1]) 8351 ? (g = b[1]) 8352 : (u.isString(b[1]) && 8353 !A.RegEx.isHex.test(b[1]) && 8354 y.Easings[b[1]]) || 8355 u.isArray(b[1]) 8356 ? ((f = c ? b[1] : l(b[1], i.duration)), 8357 (g = b[2])) 8358 : (g = b[1] || b[2])) 8359 : (d = b), 8360 c || (f = f || i.easing), 8361 u.isFunction(d) && (d = d.call(a, e, C)), 8362 u.isFunction(g) && (g = g.call(a, e, C)), 8363 [d || 0, f, g] 8364 ); 8365 })(s[I]); 8366 if (t(A.Lists.colors, J)) { 8367 var L = K[0], 8368 O = K[1], 8369 P = K[2]; 8370 if (A.RegEx.isHex.test(L)) { 8371 for ( 8372 var Q = ["Red", "Green", "Blue"], 8373 R = A.Values.hexToRgb(L), 8374 S = P ? A.Values.hexToRgb(P) : d, 8375 T = 0; 8376 T < Q.length; 8377 T++ 8378 ) { 8379 var U = [R[T]]; 8380 O && U.push(O), S !== d && U.push(S[T]), H(J + Q[T], U); 8381 } 8382 continue; 8383 } 8384 } 8385 H(J, K); 8386 } 8387 j.element = a; 8388 } 8389 j.element && 8390 (A.Values.addClass(a, "velocity-animating"), 8391 N.push(j), 8392 (k = g(a)), 8393 k && 8394 ("" === i.queue && ((k.tweensContainer = j), (k.opts = i)), 8395 (k.isAnimating = !0)), 8396 D === C - 1 8397 ? (y.State.calls.push([N, r, i, null, z.resolver, null, 0]), 8398 y.State.isTicking === !1 && ((y.State.isTicking = !0), m())) 8399 : D++); 8400 } 8401 var h, 8402 i = o.extend({}, y.defaults, v), 8403 j = {}; 8404 switch ( 8405 (g(a) === d && y.init(a), 8406 parseFloat(i.delay) && 8407 i.queue !== !1 && 8408 o.queue(a, i.queue, function (b) { 8409 y.velocityQueueEntryFlag = !0; 8410 var c = y.State.delayedElements.count++; 8411 y.State.delayedElements[c] = a; 8412 var d = (function (a) { 8413 return function () { 8414 (y.State.delayedElements[a] = !1), b(); 8415 }; 8416 })(c); 8417 (g(a).delayBegin = new Date().getTime()),
8418 (g(a).delay = parseFloat(i.delay)), 8419 (g(a).delayTimer = { 8420 setTimeout: setTimeout(b, parseFloat(i.delay)), 8421 next: d, 8422 }); 8423 }), 8424 i.duration.toString().toLowerCase()) 8425 ) { 8426 case "fast": 8427 i.duration = 200; 8428 break; 8429 case "normal": 8430 i.duration = w; 8431 break; 8432 case "slow": 8433 i.duration = 600; 8434 break; 8435 default: 8436 i.duration = parseFloat(i.duration) || 1; 8437 } 8438 if ( 8439 (y.mock !== !1 && 8440 (y.mock === !0 8441 ? (i.duration = i.delay = 1) 8442 : ((i.duration *= parseFloat(y.mock) || 1), 8443 (i.delay *= parseFloat(y.mock) || 1))), 8444 (i.easing = l(i.easing, i.duration)), 8445 i.begin && !u.isFunction(i.begin) && (i.begin = null), 8446 i.progress && !u.isFunction(i.progress) && (i.progress = null), 8447 i.complete && !u.isFunction(i.complete) && (i.complete = null), 8448 i.display !== d && 8449 null !== i.display && 8450 ((i.display = i.display.toString().toLowerCase()), 8451 "auto" === i.display && 8452 (i.display = y.CSS.Values.getDisplayType(a))), 8453 i.visibility !== d && 8454 null !== i.visibility && 8455 (i.visibility = i.visibility.toString().toLowerCase()), 8456 (i.mobileHA = 8457 i.mobileHA && y.State.isMobile && !y.State.isGingerbread), 8458 i.queue === !1) 8459 ) 8460 if (i.delay) { 8461 var k = y.State.delayedElements.count++; 8462 y.State.delayedElements[k] = a; 8463 var n = (function (a) { 8464 return function () { 8465 (y.State.delayedElements[a] = !1), f(); 8466 }; 8467 })(k); 8468 (g(a).delayBegin = new Date().getTime()), 8469 (g(a).delay = parseFloat(i.delay)), 8470 (g(a).delayTimer = { 8471 setTimeout: setTimeout(f, parseFloat(i.delay)), 8472 next: n, 8473 }); 8474 } else f(); 8475 else 8476 o.queue(a, i.queue, function (a, b) { 8477 if (b === !0) return z.promise && z.resolver(r), !0; 8478 (y.velocityQueueEntryFlag = !0), f(a); 8479 }); 8480 ("" !== i.queue && "fx" !== i.queue) || 8481 "inprogress" === o.queue(a)[0] || 8482 o.dequeue(a); 8483 } 8484 var j, 8485 k, 8486 p, 8487 q, 8488 r, 8489 s, 8490 v, 8491 x = 8492 arguments[0] && 8493 (arguments[0].p || 8494 (o.isPlainObject(arguments[0].properties) && 8495 !arguments[0].properties.names) || 8496 u.isString(arguments[0].properties)); 8497 u.isWrapped(this) 8498 ? ((k = !1), (q = 0), (r = this), (p = this)) 8499 : ((k = !0), 8500 (q = 1), 8501 (r = x ? arguments[0].elements || arguments[0].e : arguments[0])); 8502 var z = { promise: null, resolver: null, rejecter: null }; 8503 if ( 8504 (k && 8505 y.Promise && 8506 (z.promise = new y.Promise(function (a, b) { 8507 (z.resolver = a), (z.rejecter = b); 8508 })), 8509 x 8510 ? ((s = arguments[0].properties || arguments[0].p), 8511 (v = arguments[0].options || arguments[0].o)) 8512 : ((s = arguments[q]), (v = arguments[q + 1])), 8513 !(r = f(r))) 8514 ) 8515 return void ( 8516 z.promise && 8517 (s && v && v.promiseRejectEmpty === !1 8518 ? z.resolver() 8519 : z.rejecter()) 8520 ); 8521 var C = r.length, 8522 D = 0; 8523 if ( 8524 !/^(stop|finish|finishAll|pause|resume)$/i.test(s) && 8525 !o.isPlainObject(v) 8526 ) { 8527 var E = q + 1; 8528 v = {}; 8529 for (var F = E; F < arguments.length; F++) 8530 u.isArray(arguments[F]) || 8531 (!/^(fast|normal|slow)$/i.test(arguments[F]) && 8532 !/^\d/.test(arguments[F])) 8533 ? u.isString(arguments[F]) || u.isArray(arguments[F]) 8534 ? (v.easing = arguments[F]) 8535 : u.isFunction(arguments[F]) && (v.complete = arguments[F]) 8536 : (v.duration = arguments[F]); 8537 } 8538 var G; 8539 switch (s) { 8540 case "scroll": 8541 G = "scroll"; 8542 break; 8543 case "reverse": 8544 G = "reverse"; 8545 break; 8546 case "pause": 8547 var H = new Date().getTime(); 8548 return ( 8549 o.each(r, function (a, b) { 8550 h(b, H); 8551 }), 8552 o.each(y.State.calls, function (a, b) { 8553 var c = !1; 8554 b && 8555 o.each(b[1], function (a, e) { 8556 var f = v === d ? "" : v; 8557 return ( 8558 (f !== !0 && 8559 b[2].queue !== f && 8560 (v !== d || b[2].queue !== !1)) || 8561 (o.each(r, function (a, d) { 8562 if (d === e) 8563 return (b[5] = { resume: !1 }), (c = !0), !1; 8564 }), 8565 !c && void 0) 8566 ); 8567 }); 8568 }), 8569 a() 8570 ); 8571 case "resume": 8572 return ( 8573 o.each(r, function (a, b) { 8574 i(b, H); 8575 }), 8576 o.each(y.State.calls, function (a, b) { 8577 var c = !1; 8578 b && 8579 o.each(b[1], function (a, e) { 8580 var f = v === d ? "" : v; 8581 return ( 8582 (f !== !0 && 8583 b[2].queue !== f && 8584 (v !== d || b[2].queue !== !1)) || 8585 !b[5] || 8586 (o.each(r, function (a, d) { 8587 if (d === e) return (b[5].resume = !0), (c = !0), !1; 8588 }), 8589 !c && void 0) 8590 ); 8591 }); 8592 }), 8593 a() 8594 ); 8595 case "finish": 8596 case "finishAll": 8597 case "stop": 8598 o.each(r, function (a, b) { 8599 g(b) && 8600 g(b).delayTimer && 8601 (clearTimeout(g(b).delayTimer.setTimeout), 8602 g(b).delayTimer.next && g(b).delayTimer.next(), 8603 delete g(b).delayTimer), 8604 "finishAll" !== s || 8605 (v !== !0 && !u.isString(v)) || 8606 (o.each(o.queue(b, u.isString(v) ? v : ""), function (a, b) { 8607 u.isFunction(b) && b(); 8608 }), 8609 o.queue(b, u.isString(v) ? v : "", [])); 8610 }); 8611 var I = []; 8612 return ( 8613 o.each(y.State.calls, function (a, b) { 8614 b && 8615 o.each(b[1], function (c, e) { 8616 var f = v === d ? "" : v; 8617 if ( 8618 f !== !0 && 8619 b[2].queue !== f && 8620 (v !== d || b[2].queue !== !1) 8621 ) 8622 return !0; 8623 o.each(r, function (c, d) { 8624 if (d === e) 8625 if ( 8626 ((v === !0 || u.isString(v)) && 8627 (o.each( 8628 o.queue(d, u.isString(v) ? v : ""), 8629 function (a, b) { 8630 u.isFunction(b) && b(null, !0); 8631 } 8632 ), 8633 o.queue(d, u.isString(v) ? v : "", [])), 8634 "stop" === s) 8635 ) { 8636 var h = g(d); 8637 h && 8638 h.tweensContainer && 8639 f !== !1 && 8640 o.each(h.tweensContainer, function (a, b) { 8641 b.endValue = b.currentValue; 8642 }), 8643 I.push(a); 8644 } else 8645 ("finish" !== s && "finishAll" !== s) || 8646 (b[2].duration = 1); 8647 }); 8648 }); 8649 }), 8650 "stop" === s && 8651 (o.each(I, function (a, b) { 8652 n(b, !0); 8653 }), 8654 z.promise && z.resolver(r)), 8655 a() 8656 ); 8657 default: 8658 if (!o.isPlainObject(s) || u.isEmptyObject(s)) { 8659 if (u.isString(s) && y.Redirects[s]) { 8660 j = o.extend({}, v); 8661 var J = j.duration, 8662 K = j.delay || 0; 8663 return ( 8664 j.backwards === !0 && (r = o.extend(!0, [], r).reverse()), 8665 o.each(r, function (a, b) { 8666 parseFloat(j.stagger) 8667 ? (j.delay = K + parseFloat(j.stagger) * a) 8668 : u.isFunction(j.stagger) && 8669 (j.delay = K + j.stagger.call(b, a, C)), 8670 j.drag && 8671 ((j.duration = 8672 parseFloat(J) || 8673 (/^(callout|transition)/.test(s) ? 1e3 : w)), 8674 (j.duration = Math.max(
8675 j.duration * (j.backwards ? 1 - a / C : (a + 1) / C), 8676 0.75 * j.duration, 8677 200 8678 ))), 8679 y.Redirects[s].call( 8680 b, 8681 b, 8682 j || {}, 8683 a, 8684 C, 8685 r, 8686 z.promise ? z : d 8687 ); 8688 }), 8689 a() 8690 ); 8691 } 8692 var L = 8693 "Velocity: First argument (" + 8694 s + 8695 ") was not a property map, a known action, or a registered redirect. Aborting."; 8696 return ( 8697 z.promise 8698 ? z.rejecter(new Error(L)) 8699 : b.console && console.log(L), 8700 a() 8701 ); 8702 } 8703 G = "start"; 8704 } 8705 var M = { 8706 lastParent: null, 8707 lastPosition: null, 8708 lastFontSize: null, 8709 lastPercentToPxWidth: null, 8710 lastPercentToPxHeight: null, 8711 lastEmToPx: null, 8712 remToPx: null, 8713 vwToPx: null, 8714 vhToPx: null, 8715 }, 8716 N = []; 8717 o.each(r, function (a, b) { 8718 u.isNode(b) && e(b, a); 8719 }), 8720 (j = o.extend({}, y.defaults, v)), 8721 (j.loop = parseInt(j.loop, 10)); 8722 var O = 2 * j.loop - 1; 8723 if (j.loop) 8724 for (var P = 0; P < O; P++) { 8725 var Q = { delay: j.delay, progress: j.progress }; 8726 P === O - 1 && 8727 ((Q.display = j.display), 8728 (Q.visibility = j.visibility), 8729 (Q.complete = j.complete)), 8730 B(r, "reverse", Q); 8731 } 8732 return a(); 8733 }; 8734 (y = o.extend(B, y)), (y.animate = B); 8735 var C = b.requestAnimationFrame || q; 8736 if (!y.State.isMobile && c.hidden !== d) { 8737 var D = function () { 8738 c.hidden 8739 ? ((C = function (a) { 8740 return setTimeout(function () { 8741 a(!0); 8742 }, 16); 8743 }), 8744 m()) 8745 : (C = b.requestAnimationFrame || q); 8746 }; 8747 D(), c.addEventListener("visibilitychange", D); 8748 } 8749 return ( 8750 (a.Velocity = y), 8751 a !== b && ((a.fn.velocity = B), (a.fn.velocity.defaults = y.defaults)), 8752 o.each(["Down", "Up"], function (a, b) { 8753 y.Redirects["slide" + b] = function (a, c, e, f, g, h) { 8754 var i = o.extend({}, c), 8755 j = i.begin, 8756 k = i.complete, 8757 l = {}, 8758 m = { 8759 height: "", 8760 marginTop: "", 8761 marginBottom: "", 8762 paddingTop: "", 8763 paddingBottom: "", 8764 }; 8765 i.display === d && 8766 (i.display = 8767 "Down" === b 8768 ? "inline" === y.CSS.Values.getDisplayType(a) 8769 ? "inline-block" 8770 : "block" 8771 : "none"), 8772 (i.begin = function () { 8773 0 === e && j && j.call(g, g); 8774 for (var c in m) 8775 if (m.hasOwnProperty(c)) { 8776 l[c] = a.style[c]; 8777 var d = A.getPropertyValue(a, c); 8778 m[c] = "Down" === b ? [d, 0] : [0, d]; 8779 } 8780 (l.overflow = a.style.overflow), (a.style.overflow = "hidden"); 8781 }), 8782 (i.complete = function () { 8783 for (var b in l) l.hasOwnProperty(b) && (a.style[b] = l[b]); 8784 e === f - 1 && (k && k.call(g, g), h && h.resolver(g)); 8785 }), 8786 y(a, m, i); 8787 }; 8788 }), 8789 o.each(["In", "Out"], function (a, b) { 8790 y.Redirects["fade" + b] = function (a, c, e, f, g, h) { 8791 var i = o.extend({}, c), 8792 j = i.complete, 8793 k = { opacity: "In" === b ? 1 : 0 }; 8794 0 !== e && (i.begin = null), 8795 (i.complete = 8796 e !== f - 1 8797 ? null 8798 : function () { 8799 j && j.call(g, g), h && h.resolver(g); 8800 }), 8801 i.display === d && (i.display = "In" === b ? "auto" : "none"), 8802 y(this, k, i); 8803 }; 8804 }), 8805 y 8806 ); 8807 })( 8808 window.jQuery || window.Zepto || window, 8809 window, 8810 window ? window.document : undefined 8811 ); 8812 }); 8813 8814//jQuery UI Easing 8815(function (t) { 8816 "function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery); 8817})(function (t) { 8818 (t.ui = t.ui || {}), (t.ui.version = "1.12.1"); 8819 var e = "ui-effects-", 8820 i = "ui-effects-style", 8821 s = "ui-effects-animated", 8822 n = t; 8823 (t.effects = { effect: {} }), 8824 (function (t, e) { 8825 function i(t, e, i) { 8826 var s = u[e.type] || {}; 8827 return null == t 8828 ? i || !e.def 8829 ? null 8830 : e.def 8831 : ((t = s.floor ? ~~t : parseFloat(t)), 8832 isNaN(t) 8833 ? e.def 8834 : s.mod 8835 ? (t + s.mod) % s.mod 8836 : 0 > t 8837 ? 0 8838 : t > s.max 8839 ? s.max 8840 : t); 8841 } 8842 function s(i) { 8843 var s = h(), 8844 n = (s._rgba = []); 8845 return ( 8846 (i = i.toLowerCase()), 8847 f(l, function (t, o) { 8848 var a, 8849 r = o.re.exec(i), 8850 l = r && o.parse(r), 8851 h = o.space || "rgba"; 8852 return l 8853 ? ((a = s[h](l)), 8854 (s[c[h].cache] = a[c[h].cache]), 8855 (n = s._rgba = a._rgba), 8856 !1) 8857 : e; 8858 }), 8859 n.length 8860 ? ("0,0,0,0" === n.join() && t.extend(n, o.transparent), s) 8861 : o[i] 8862 ); 8863 } 8864 function n(t, e, i) { 8865 return ( 8866 (i = (i + 1) % 1), 8867 1 > 6 * i 8868 ? t + 6 * (e - t) * i 8869 : 1 > 2 * i 8870 ? e 8871 : 2 > 3 * i 8872 ? t + 6 * (e - t) * (2 / 3 - i) 8873 : t 8874 ); 8875 } 8876 var o, 8877 a = 8878 "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor", 8879 r = /^([\-+])=\s*(\d+\.?\d*)/, 8880 l = [ 8881 { 8882 re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, 8883 parse: function (t) { 8884 return [t[1], t[2], t[3], t[4]]; 8885 }, 8886 }, 8887 { 8888 re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, 8889 parse: function (t) { 8890 return [2.55 * t[1], 2.55 * t[2], 2.55 * t[3], t[4]]; 8891 }, 8892 }, 8893 { 8894 re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/, 8895 parse: function (t) { 8896 return [ 8897 parseInt(t[1], 16), 8898 parseInt(t[2], 16), 8899 parseInt(t[3], 16), 8900 ]; 8901 }, 8902 }, 8903 { 8904 re: /#([a-f0-9])([a-f0-9])([a-f0-9])/, 8905 parse: function (t) { 8906 return [ 8907 parseInt(t[1] + t[1], 16), 8908 parseInt(t[2] + t[2], 16), 8909 parseInt(t[3] + t[3], 16), 8910 ]; 8911 }, 8912 }, 8913 { 8914 re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, 8915 space: "hsla", 8916 parse: function (t) { 8917 return [t[1], t[2] / 100, t[3] / 100, t[4]]; 8918 }, 8919 }, 8920 ], 8921 h = (t.Color = function (e, i, s, n) { 8922 return new t.Color.fn.parse(e, i, s, n); 8923 }), 8924 c = { 8925 rgba: { 8926 props: { 8927 red: { idx: 0, type: "byte" }, 8928 green: { idx: 1, type: "byte" }, 8929 blue: { idx: 2, type: "byte" }, 8930 }, 8931 }, 8932 hsla: { 8933 props: { 8934 hue: { idx: 0, type: "degrees" }, 8935 saturation: { idx: 1, type: "percent" }, 8936 lightness: { idx: 2, type: "percent" }, 8937 }, 8938 }, 8939 }, 8940 u = { 8941 byte: { floor: !0, max: 255 }, 8942 percent: { max: 1 }, 8943 degrees: { mod: 360, floor: !0 },
8944 }, 8945 d = (h.support = {}), 8946 p = t("<p>")[0], 8947 f = t.each; 8948 (p.style.cssText = "background-color:rgba(1,1,1,.5)"), 8949 (d.rgba = p.style.backgroundColor.indexOf("rgba") > -1), 8950 f(c, function (t, e) { 8951 (e.cache = "_" + t), 8952 (e.props.alpha = { idx: 3, type: "percent", def: 1 }); 8953 }), 8954 (h.fn = t.extend(h.prototype, { 8955 parse: function (n, a, r, l) { 8956 if (n === e) return (this._rgba = [null, null, null, null]), this; 8957 (n.jquery || n.nodeType) && ((n = t(n).css(a)), (a = e)); 8958 var u = this, 8959 d = t.type(n), 8960 p = (this._rgba = []); 8961 return ( 8962 a !== e && ((n = [n, a, r, l]), (d = "array")), 8963 "string" === d 8964 ? this.parse(s(n) || o._default) 8965 : "array" === d 8966 ? (f(c.rgba.props, function (t, e) { 8967 p[e.idx] = i(n[e.idx], e); 8968 }), 8969 this) 8970 : "object" === d 8971 ? (n instanceof h 8972 ? f(c, function (t, e) { 8973 n[e.cache] && (u[e.cache] = n[e.cache].slice()); 8974 }) 8975 : f(c, function (e, s) { 8976 var o = s.cache; 8977 f(s.props, function (t, e) { 8978 if (!u[o] && s.to) { 8979 if ("alpha" === t || null == n[t]) return; 8980 u[o] = s.to(u._rgba); 8981 } 8982 u[o][e.idx] = i(n[t], e, !0); 8983 }), 8984 u[o] && 8985 0 > t.inArray(null, u[o].slice(0, 3)) && 8986 ((u[o][3] = 1), s.from && (u._rgba = s.from(u[o]))); 8987 }), 8988 this) 8989 : e 8990 ); 8991 }, 8992 is: function (t) { 8993 var i = h(t), 8994 s = !0, 8995 n = this; 8996 return ( 8997 f(c, function (t, o) { 8998 var a, 8999 r = i[o.cache]; 9000 return ( 9001 r && 9002 ((a = n[o.cache] || (o.to && o.to(n._rgba)) || []), 9003 f(o.props, function (t, i) { 9004 return null != r[i.idx] ? (s = r[i.idx] === a[i.idx]) : e; 9005 })), 9006 s 9007 ); 9008 }), 9009 s 9010 ); 9011 }, 9012 _space: function () { 9013 var t = [], 9014 e = this; 9015 return ( 9016 f(c, function (i, s) { 9017 e[s.cache] && t.push(i); 9018 }), 9019 t.pop() 9020 ); 9021 }, 9022 transition: function (t, e) { 9023 var s = h(t), 9024 n = s._space(), 9025 o = c[n], 9026 a = 0 === this.alpha() ? h("transparent") : this, 9027 r = a[o.cache] || o.to(a._rgba), 9028 l = r.slice(); 9029 return ( 9030 (s = s[o.cache]), 9031 f(o.props, function (t, n) { 9032 var o = n.idx, 9033 a = r[o], 9034 h = s[o], 9035 c = u[n.type] || {}; 9036 null !== h && 9037 (null === a 9038 ? (l[o] = h) 9039 : (c.mod && 9040 (h - a > c.mod / 2 9041 ? (a += c.mod) 9042 : a - h > c.mod / 2 && (a -= c.mod)), 9043 (l[o] = i((h - a) * e + a, n)))); 9044 }), 9045 this[n](l) 9046 ); 9047 }, 9048 blend: function (e) { 9049 if (1 === this._rgba[3]) return this; 9050 var i = this._rgba.slice(), 9051 s = i.pop(), 9052 n = h(e)._rgba; 9053 return h( 9054 t.map(i, function (t, e) { 9055 return (1 - s) * n[e] + s * t; 9056 }) 9057 ); 9058 }, 9059 toRgbaString: function () { 9060 var e = "rgba(", 9061 i = t.map(this._rgba, function (t, e) { 9062 return null == t ? (e > 2 ? 1 : 0) : t; 9063 }); 9064 return 1 === i[3] && (i.pop(), (e = "rgb(")), e + i.join() + ")"; 9065 }, 9066 toHslaString: function () { 9067 var e = "hsla(", 9068 i = t.map(this.hsla(), function (t, e) { 9069 return ( 9070 null == t && (t = e > 2 ? 1 : 0), 9071 e && 3 > e && (t = Math.round(100 * t) + "%"), 9072 t 9073 ); 9074 }); 9075 return 1 === i[3] && (i.pop(), (e = "hsl(")), e + i.join() + ")"; 9076 }, 9077 toHexString: function (e) { 9078 var i = this._rgba.slice(), 9079 s = i.pop(); 9080 return ( 9081 e && i.push(~~(255 * s)), 9082 "#" + 9083 t 9084 .map(i, function (t) { 9085 return ( 9086 (t = (t || 0).toString(16)), 1 === t.length ? "0" + t : t 9087 ); 9088 }) 9089 .join("") 9090 ); 9091 }, 9092 toString: function () { 9093 return 0 === this._rgba[3] ? "transparent" : this.toRgbaString(); 9094 }, 9095 })), 9096 (h.fn.parse.prototype = h.fn), 9097 (c.hsla.to = function (t) { 9098 if (null == t[0] || null == t[1] || null == t[2]) 9099 return [null, null, null, t[3]]; 9100 var e, 9101 i,
9102 s = t[0] / 255, 9103 n = t[1] / 255, 9104 o = t[2] / 255, 9105 a = t[3], 9106 r = Math.max(s, n, o), 9107 l = Math.min(s, n, o), 9108 h = r - l, 9109 c = r + l, 9110 u = 0.5 * c; 9111 return ( 9112 (e = 9113 l === r 9114 ? 0 9115 : s === r 9116 ? (60 * (n - o)) / h + 360 9117 : n === r 9118 ? (60 * (o - s)) / h + 120 9119 : (60 * (s - n)) / h + 240), 9120 (i = 0 === h ? 0 : 0.5 >= u ? h / c : h / (2 - c)), 9121 [Math.round(e) % 360, i, u, null == a ? 1 : a] 9122 ); 9123 }), 9124 (c.hsla.from = function (t) { 9125 if (null == t[0] || null == t[1] || null == t[2]) 9126 return [null, null, null, t[3]]; 9127 var e = t[0] / 360, 9128 i = t[1], 9129 s = t[2], 9130 o = t[3], 9131 a = 0.5 >= s ? s * (1 + i) : s + i - s * i, 9132 r = 2 * s - a; 9133 return [ 9134 Math.round(255 * n(r, a, e + 1 / 3)), 9135 Math.round(255 * n(r, a, e)), 9136 Math.round(255 * n(r, a, e - 1 / 3)), 9137 o, 9138 ]; 9139 }), 9140 f(c, function (s, n) { 9141 var o = n.props, 9142 a = n.cache, 9143 l = n.to, 9144 c = n.from; 9145 (h.fn[s] = function (s) { 9146 if ((l && !this[a] && (this[a] = l(this._rgba)), s === e)) 9147 return this[a].slice(); 9148 var n, 9149 r = t.type(s), 9150 u = "array" === r || "object" === r ? s : arguments, 9151 d = this[a].slice(); 9152 return ( 9153 f(o, function (t, e) { 9154 var s = u["object" === r ? t : e.idx]; 9155 null == s && (s = d[e.idx]), (d[e.idx] = i(s, e)); 9156 }), 9157 c ? ((n = h(c(d))), (n[a] = d), n) : h(d) 9158 ); 9159 }), 9160 f(o, function (e, i) { 9161 h.fn[e] || 9162 (h.fn[e] = function (n) { 9163 var o, 9164 a = t.type(n), 9165 l = "alpha" === e ? (this._hsla ? "hsla" : "rgba") : s, 9166 h = this[l](), 9167 c = h[i.idx]; 9168 return "undefined" === a 9169 ? c 9170 : ("function" === a && 9171 ((n = n.call(this, c)), (a = t.type(n))), 9172 null == n && i.empty 9173 ? this 9174 : ("string" === a && 9175 ((o = r.exec(n)), 9176 o && 9177 (n = 9178 c + 9179 parseFloat(o[2]) * ("+" === o[1] ? 1 : -1))), 9180 (h[i.idx] = n), 9181 this[l](h))); 9182 }); 9183 }); 9184 }), 9185 (h.hook = function (e) { 9186 var i = e.split(" "); 9187 f(i, function (e, i) { 9188 (t.cssHooks[i] = { 9189 set: function (e, n) { 9190 var o, 9191 a, 9192 r = ""; 9193 if ( 9194 "transparent" !== n && 9195 ("string" !== t.type(n) || (o = s(n))) 9196 ) { 9197 if (((n = h(o || n)), !d.rgba && 1 !== n._rgba[3])) { 9198 for ( 9199 a = "backgroundColor" === i ? e.parentNode : e; 9200 ("" === r || "transparent" === r) && a && a.style; 9201 9202 ) 9203 try { 9204 (r = t.css(a, "backgroundColor")), (a = a.parentNode); 9205 } catch (l) {} 9206 n = n.blend(r && "transparent" !== r ? r : "_default"); 9207 } 9208 n = n.toRgbaString(); 9209 } 9210 try { 9211 e.style[i] = n; 9212 } catch (l) {} 9213 }, 9214 }), 9215 (t.fx.step[i] = function (e) { 9216 e.colorInit || 9217 ((e.start = h(e.elem, i)), 9218 (e.end = h(e.end)), 9219 (e.colorInit = !0)), 9220 t.cssHooks[i].set(e.elem, e.start.transition(e.end, e.pos)); 9221 }); 9222 }); 9223 }), 9224 h.hook(a), 9225 (t.cssHooks.borderColor = { 9226 expand: function (t) { 9227 var e = {}; 9228 return ( 9229 f(["Top", "Right", "Bottom", "Left"], function (i, s) { 9230 e["border" + s + "Color"] = t; 9231 }), 9232 e 9233 ); 9234 }, 9235 }), 9236 (o = t.Color.names = 9237 { 9238 aqua: "#00ffff", 9239 black: "#000000", 9240 blue: "#0000ff", 9241 fuchsia: "#ff00ff", 9242 gray: "#808080", 9243 green: "#008000", 9244 lime: "#00ff00", 9245 maroon: "#800000", 9246 navy: "#000080", 9247 olive: "#808000", 9248 purple: "#800080", 9249 red: "#ff0000", 9250 silver: "#c0c0c0", 9251 teal: "#008080", 9252 white: "#ffffff", 9253 yellow: "#ffff00", 9254 transparent: [null, null, null, 0], 9255 _default: "#ffffff", 9256 }); 9257 })(n), 9258 (function () { 9259 function e(e) { 9260 var i, 9261 s, 9262 n = e.ownerDocument.defaultView 9263 ? e.ownerDocument.defaultView.getComputedStyle(e, null) 9264 : e.currentStyle, 9265 o = {}; 9266 if (n && n.length && n[0] && n[n[0]]) 9267 for (s = n.length; s--; ) 9268 (i = n[s]), "string" == typeof n[i] && (o[t.camelCase(i)] = n[i]); 9269 else for (i in n) "string" == typeof n[i] && (o[i] = n[i]); 9270 return o; 9271 } 9272 function i(e, i) { 9273 var s, 9274 n, 9275 a = {}; 9276 for (s in i) 9277 (n = i[s]), 9278 e[s] !== n && 9279 (o[s] || ((t.fx.step[s] || !isNaN(parseFloat(n))) && (a[s] = n))); 9280 return a; 9281 } 9282 var s = ["add", "remove", "toggle"], 9283 o = { 9284 border: 1, 9285 borderBottom: 1, 9286 borderColor: 1, 9287 borderLeft: 1, 9288 borderRight: 1, 9289 borderTop: 1, 9290 borderWidth: 1, 9291 margin: 1, 9292 padding: 1, 9293 }; 9294 t.each( 9295 [ 9296 "borderLeftStyle", 9297 "borderRightStyle", 9298 "borderBottomStyle", 9299 "borderTopStyle", 9300 ], 9301 function (e, i) { 9302 t.fx.step[i] = function (t) { 9303 (("none" !== t.end && !t.setAttr) || (1 === t.pos && !t.setAttr)) && 9304 (n.style(t.elem, i, t.end), (t.setAttr = !0)); 9305 }; 9306 } 9307 ), 9308 t.fn.addBack || 9309 (t.fn.addBack = function (t) { 9310 return this.add( 9311 null == t ? this.prevObject : this.prevObject.filter(t) 9312 ); 9313 }), 9314 (t.effects.animateClass = function (n, o, a, r) { 9315 var l = t.speed(o, a, r); 9316 return this.queue(function () { 9317 var o, 9318 a = t(this), 9319 r = a.attr("class") || "", 9320 h = l.children ? a.find("*").addBack() : a; 9321 (h = h.map(function () { 9322 var i = t(this); 9323 return { el: i, start: e(this) }; 9324 })), 9325 (o = function () { 9326 t.each(s, function (t, e) { 9327 n[e] && a[e + "Class"](n[e]); 9328 }); 9329 }), 9330 o(), 9331 (h = h.map(function () { 9332 return ( 9333 (this.end = e(this.el[0])), 9334 (this.diff = i(this.start, this.end)), 9335 this 9336 ); 9337 })), 9338 a.attr("class", r), 9339 (h = h.map(function () { 9340 var e = this, 9341 i = t.Deferred(), 9342 s = t.extend({}, l, { 9343 queue: !1, 9344 complete: function () { 9345 i.resolve(e); 9346 }, 9347 }); 9348 return this.el.animate(this.diff, s), i.promise(); 9349 })), 9350 t.when.apply(t, h.get()).done(function () { 9351 o(), 9352 t.each(arguments, function () { 9353 var e = this.el; 9354 t.each(this.diff, function (t) { 9355 e.css(t, ""); 9356 }); 9357 }), 9358 l.complete.call(a[0]); 9359 }); 9360 }); 9361 }), 9362 t.fn.extend({ 9363 addClass: (function (e) { 9364 return function (i, s, n, o) { 9365 return s 9366 ? t.effects.animateClass.call(this, { add: i }, s, n, o) 9367 : e.apply(this, arguments); 9368 }; 9369 })(t.fn.addClass), 9370 removeClass: (function (e) { 9371 return function (i, s, n, o) { 9372 return arguments.length > 1 9373 ? t.effects.animateClass.call(this, { remove: i }, s, n, o) 9374 : e.apply(this, arguments); 9375 }; 9376 })(t.fn.removeClass), 9377 toggleClass: (function (e) { 9378 return function (i, s, n, o, a) { 9379 return "boolean" == typeof s || void 0 === s 9380 ? n 9381 ? t.effects.animateClass.call( 9382 this, 9383 s ? { add: i } : { remove: i }, 9384 n, 9385 o, 9386 a 9387 ) 9388 : e.apply(this, arguments) 9389 : t.effects.animateClass.call(this, { toggle: i }, s, n, o); 9390 }; 9391 })(t.fn.toggleClass), 9392 switchClass: function (e, i, s, n, o) { 9393 return t.effects.animateClass.call( 9394 this, 9395 { add: i, remove: e }, 9396 s, 9397 n, 9398 o 9399 ); 9400 }, 9401 }); 9402 })(), 9403 (function () { 9404 function n(e, i, s, n) { 9405 return ( 9406 t.isPlainObject(e) && ((i = e), (e = e.effect)), 9407 (e = { effect: e }), 9408 null == i && (i = {}), 9409 t.isFunction(i) && ((n = i), (s = null), (i = {})), 9410 ("number" == typeof i || t.fx.speeds[i]) && 9411 ((n = s), (s = i), (i = {})), 9412 t.isFunction(s) && ((n = s), (s = null)), 9413 i && t.extend(e, i), 9414 (s = s || i.duration), 9415 (e.duration = t.fx.off 9416 ? 0 9417 : "number" == typeof s 9418 ? s 9419 : s in t.fx.speeds 9420 ? t.fx.speeds[s] 9421 : t.fx.speeds._default), 9422 (e.complete = n || i.complete), 9423 e 9424 ); 9425 } 9426 function o(e) { 9427 return !e || "number" == typeof e || t.fx.speeds[e] 9428 ? !0 9429 : "string" != typeof e || t.effects.effect[e] 9430 ? t.isFunction(e) 9431 ? !0 9432 : "object" != typeof e || e.effect 9433 ? !1 9434 : !0 9435 : !0; 9436 } 9437 function a(t, e) { 9438 var i = e.outerWidth(), 9439 s = e.outerHeight(), 9440 n = 9441 /^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/, 9442 o = n.exec(t) || ["", 0, i, s, 0]; 9443 return { 9444 top: parseFloat(o[1]) || 0, 9445 right: "auto" === o[2] ? i : parseFloat(o[2]), 9446 bottom: "auto" === o[3] ? s : parseFloat(o[3]), 9447 left: parseFloat(o[4]) || 0, 9448 }; 9449 } 9450 t.expr && 9451 t.expr.filters && 9452 t.expr.filters.animated && 9453 (t.expr.filters.animated = (function (e) { 9454 return function (i) { 9455 return !!t(i).data(s) || e(i); 9456 }; 9457 })(t.expr.filters.animated)), 9458 t.uiBackCompat !== !1 && 9459 t.extend(t.effects, { 9460 save: function (t, i) { 9461 for (var s = 0, n = i.length; n > s; s++) 9462 null !== i[s] && t.data(e + i[s], t[0].style[i[s]]); 9463 }, 9464 restore: function (t, i) { 9465 for (var s, n = 0, o = i.length; o > n; n++) 9466 null !== i[n] && ((s = t.data(e + i[n])), t.css(i[n], s)); 9467 }, 9468 setMode: function (t, e) { 9469 return ( 9470 "toggle" === e && (e = t.is(":hidden") ? "show" : "hide"), e 9471 ); 9472 }, 9473 createWrapper: function (e) { 9474 if (e.parent().is(".ui-effects-wrapper")) return e.parent(); 9475 var i = { 9476 width: e.outerWidth(!0), 9477 height: e.outerHeight(!0), 9478 float: e.css("float"), 9479 }, 9480 s = t("<div></div>") 9481 .addClass("ui-effects-wrapper") 9482 .css({ 9483 fontSize: "100%", 9484 background: "transparent", 9485 border: "none", 9486 margin: 0, 9487 padding: 0, 9488 }), 9489 n = { width: e.width(), height: e.height() }, 9490 o = document.activeElement; 9491 try { 9492 o.id; 9493 } catch (a) { 9494 o = document.body; 9495 } 9496 return (
9497 e.wrap(s), 9498 (e[0] === o || t.contains(e[0], o)) && t(o).trigger("focus"), 9499 (s = e.parent()), 9500 "static" === e.css("position") 9501 ? (s.css({ position: "relative" }), 9502 e.css({ position: "relative" })) 9503 : (t.extend(i, { 9504 position: e.css("position"), 9505 zIndex: e.css("z-index"), 9506 }), 9507 t.each(["top", "left", "bottom", "right"], function (t, s) { 9508 (i[s] = e.css(s)), 9509 isNaN(parseInt(i[s], 10)) && (i[s] = "auto"); 9510 }), 9511 e.css({ 9512 position: "relative", 9513 top: 0, 9514 left: 0, 9515 right: "auto", 9516 bottom: "auto", 9517 })), 9518 e.css(n), 9519 s.css(i).show() 9520 ); 9521 }, 9522 removeWrapper: function (e) { 9523 var i = document.activeElement; 9524 return ( 9525 e.parent().is(".ui-effects-wrapper") && 9526 (e.parent().replaceWith(e), 9527 (e[0] === i || t.contains(e[0], i)) && t(i).trigger("focus")), 9528 e 9529 ); 9530 }, 9531 }), 9532 t.extend(t.effects, { 9533 version: "1.12.1", 9534 define: function (e, i, s) { 9535 return ( 9536 s || ((s = i), (i = "effect")), 9537 (t.effects.effect[e] = s), 9538 (t.effects.effect[e].mode = i), 9539 s 9540 ); 9541 }, 9542 scaledDimensions: function (t, e, i) { 9543 if (0 === e) 9544 return { height: 0, width: 0, outerHeight: 0, outerWidth: 0 }; 9545 var s = "horizontal" !== i ? (e || 100) / 100 : 1, 9546 n = "vertical" !== i ? (e || 100) / 100 : 1; 9547 return { 9548 height: t.height() * n, 9549 width: t.width() * s, 9550 outerHeight: t.outerHeight() * n, 9551 outerWidth: t.outerWidth() * s, 9552 }; 9553 }, 9554 clipToBox: function (t) { 9555 return { 9556 width: t.clip.right - t.clip.left, 9557 height: t.clip.bottom - t.clip.top, 9558 left: t.clip.left, 9559 top: t.clip.top, 9560 }; 9561 }, 9562 unshift: function (t, e, i) { 9563 var s = t.queue(); 9564 e > 1 && s.splice.apply(s, [1, 0].concat(s.splice(e, i))), 9565 t.dequeue(); 9566 }, 9567 saveStyle: function (t) { 9568 t.data(i, t[0].style.cssText); 9569 }, 9570 restoreStyle: function (t) { 9571 (t[0].style.cssText = t.data(i) || ""), t.removeData(i); 9572 }, 9573 mode: function (t, e) { 9574 var i = t.is(":hidden"); 9575 return ( 9576 "toggle" === e && (e = i ? "show" : "hide"), 9577 (i ? "hide" === e : "show" === e) && (e = "none"), 9578 e 9579 ); 9580 }, 9581 getBaseline: function (t, e) { 9582 var i, s; 9583 switch (t[0]) { 9584 case "top": 9585 i = 0; 9586 break; 9587 case "middle": 9588 i = 0.5; 9589 break; 9590 case "bottom": 9591 i = 1; 9592 break; 9593 default: 9594 i = t[0] / e.height; 9595 } 9596 switch (t[1]) { 9597 case "left": 9598 s = 0; 9599 break; 9600 case "center": 9601 s = 0.5; 9602 break; 9603 case "right": 9604 s = 1; 9605 break; 9606 default: 9607 s = t[1] / e.width; 9608 } 9609 return { x: s, y: i }; 9610 }, 9611 createPlaceholder: function (i) { 9612 var s, 9613 n = i.css("position"), 9614 o = i.position(); 9615 return ( 9616 i 9617 .css({ 9618 marginTop: i.css("marginTop"), 9619 marginBottom: i.css("marginBottom"), 9620 marginLeft: i.css("marginLeft"), 9621 marginRight: i.css("marginRight"), 9622 }) 9623 .outerWidth(i.outerWidth()) 9624 .outerHeight(i.outerHeight()), 9625 /^(static|relative)/.test(n) && 9626 ((n = "absolute"), 9627 (s = t("<" + i[0].nodeName + ">") 9628 .insertAfter(i) 9629 .css({ 9630 display: /^(inline|ruby)/.test(i.css("display")) 9631 ? "inline-block" 9632 : "block", 9633 visibility: "hidden", 9634 marginTop: i.css("marginTop"), 9635 marginBottom: i.css("marginBottom"), 9636 marginLeft: i.css("marginLeft"), 9637 marginRight: i.css("marginRight"), 9638 float: i.css("float"), 9639 }) 9640 .outerWidth(i.outerWidth()) 9641 .outerHeight(i.outerHeight()) 9642 .addClass("ui-effects-placeholder")), 9643 i.data(e + "placeholder", s)), 9644 i.css({ position: n, left: o.left, top: o.top }), 9645 s 9646 ); 9647 }, 9648 removePlaceholder: function (t) { 9649 var i = e + "placeholder", 9650 s = t.data(i); 9651 s && (s.remove(), t.removeData(i)); 9652 }, 9653 cleanUp: function (e) { 9654 t.effects.restoreStyle(e), t.effects.removePlaceholder(e); 9655 }, 9656 setTransition: function (e, i, s, n) { 9657 return ( 9658 (n = n || {}), 9659 t.each(i, function (t, i) { 9660 var o = e.cssUnit(i); 9661 o[0] > 0 && (n[i] = o[0] * s + o[1]); 9662 }), 9663 n 9664 ); 9665 }, 9666 }), 9667 t.fn.extend({ 9668 effect: function () { 9669 function e(e) { 9670 function n() { 9671 l.removeData(s), 9672 t.effects.cleanUp(l), 9673 "hide" === i.mode && l.hide(), 9674 r(); 9675 } 9676 function r() { 9677 t.isFunction(h) && h.call(l[0]), t.isFunction(e) && e(); 9678 } 9679 var l = t(this); 9680 (i.mode = u.shift()), 9681 t.uiBackCompat === !1 || a 9682 ? "none" === i.mode
9683 ? (l[c](), r()) 9684 : o.call(l[0], i, n) 9685 : (l.is(":hidden") ? "hide" === c : "show" === c) 9686 ? (l[c](), r()) 9687 : o.call(l[0], i, r); 9688 } 9689 var i = n.apply(this, arguments), 9690 o = t.effects.effect[i.effect], 9691 a = o.mode, 9692 r = i.queue, 9693 l = r || "fx", 9694 h = i.complete, 9695 c = i.mode, 9696 u = [], 9697 d = function (e) { 9698 var i = t(this), 9699 n = t.effects.mode(i, c) || a; 9700 i.data(s, !0), 9701 u.push(n), 9702 a && ("show" === n || (n === a && "hide" === n)) && i.show(), 9703 (a && "none" === n) || t.effects.saveStyle(i), 9704 t.isFunction(e) && e(); 9705 }; 9706 return t.fx.off || !o 9707 ? c 9708 ? this[c](i.duration, h) 9709 : this.each(function () { 9710 h && h.call(this); 9711 }) 9712 : r === !1 9713 ? this.each(d).each(e) 9714 : this.queue(l, d).queue(l, e); 9715 }, 9716 show: (function (t) { 9717 return function (e) { 9718 if (o(e)) return t.apply(this, arguments); 9719 var i = n.apply(this, arguments); 9720 return (i.mode = "show"), this.effect.call(this, i); 9721 }; 9722 })(t.fn.show), 9723 hide: (function (t) { 9724 return function (e) { 9725 if (o(e)) return t.apply(this, arguments); 9726 var i = n.apply(this, arguments); 9727 return (i.mode = "hide"), this.effect.call(this, i); 9728 }; 9729 })(t.fn.hide), 9730 toggle: (function (t) { 9731 return function (e) { 9732 if (o(e) || "boolean" == typeof e) 9733 return t.apply(this, arguments); 9734 var i = n.apply(this, arguments); 9735 return (i.mode = "toggle"), this.effect.call(this, i); 9736 }; 9737 })(t.fn.toggle), 9738 cssUnit: function (e) { 9739 var i = this.css(e), 9740 s = []; 9741 return ( 9742 t.each(["em", "px", "%", "pt"], function (t, e) { 9743 i.indexOf(e) > 0 && (s = [parseFloat(i), e]); 9744 }), 9745 s 9746 ); 9747 }, 9748 cssClip: function (t) { 9749 return t 9750 ? this.css( 9751 "clip", 9752 "rect(" + 9753 t.top + 9754 "px " + 9755 t.right + 9756 "px " + 9757 t.bottom + 9758 "px " + 9759 t.left + 9760 "px)" 9761 ) 9762 : a(this.css("clip"), this); 9763 }, 9764 transfer: function (e, i) { 9765 var s = t(this), 9766 n = t(e.to), 9767 o = "fixed" === n.css("position"), 9768 a = t("body"), 9769 r = o ? a.scrollTop() : 0, 9770 l = o ? a.scrollLeft() : 0, 9771 h = n.offset(), 9772 c = { 9773 top: h.top - r, 9774 left: h.left - l, 9775 height: n.innerHeight(), 9776 width: n.innerWidth(), 9777 }, 9778 u = s.offset(), 9779 d = t("<div class='ui-effects-transfer'></div>") 9780 .appendTo("body") 9781 .addClass(e.className) 9782 .css({ 9783 top: u.top - r, 9784 left: u.left - l, 9785 height: s.innerHeight(), 9786 width: s.innerWidth(), 9787 position: o ? "fixed" : "absolute", 9788 }) 9789 .animate(c, e.duration, e.easing, function () { 9790 d.remove(), t.isFunction(i) && i(); 9791 }); 9792 }, 9793 }), 9794 (t.fx.step.clip = function (e) { 9795 e.clipInit || 9796 ((e.start = t(e.elem).cssClip()), 9797 "string" == typeof e.end && (e.end = a(e.end, e.elem)), 9798 (e.clipInit = !0)), 9799 t(e.elem).cssClip({ 9800 top: e.pos * (e.end.top - e.start.top) + e.start.top, 9801 right: e.pos * (e.end.right - e.start.right) + e.start.right, 9802 bottom: e.pos * (e.end.bottom - e.start.bottom) + e.start.bottom, 9803 left: e.pos * (e.end.left - e.start.left) + e.start.left, 9804 }); 9805 }); 9806 })(), 9807 (function () { 9808 var e = {}; 9809 t.each(["Quad", "Cubic", "Quart", "Quint", "Expo"], function (t, i) { 9810 e[i] = function (e) { 9811 return Math.pow(e, t + 2); 9812 }; 9813 }), 9814 t.extend(e, { 9815 Sine: function (t) { 9816 return 1 - Math.cos((t * Math.PI) / 2); 9817 }, 9818 Circ: function (t) { 9819 return 1 - Math.sqrt(1 - t * t); 9820 }, 9821 Elastic: function (t) { 9822 return 0 === t || 1 === t 9823 ? t 9824 : -Math.pow(2, 8 * (t - 1)) *
9825 Math.sin(((80 * (t - 1) - 7.5) * Math.PI) / 15); 9826 }, 9827 Back: function (t) { 9828 return t * t * (3 * t - 2); 9829 }, 9830 Bounce: function (t) { 9831 for (var e, i = 4; ((e = Math.pow(2, --i)) - 1) / 11 > t; ); 9832 return ( 9833 1 / Math.pow(4, 3 - i) - 9834 7.5625 * Math.pow((3 * e - 2) / 22 - t, 2) 9835 ); 9836 }, 9837 }), 9838 t.each(e, function (e, i) { 9839 (t.easing["easeIn" + e] = i), 9840 (t.easing["easeOut" + e] = function (t) { 9841 return 1 - i(1 - t); 9842 }), 9843 (t.easing["easeInOut" + e] = function (t) { 9844 return 0.5 > t ? i(2 * t) / 2 : 1 - i(-2 * t + 2) / 2; 9845 }); 9846 }); 9847 })(), 9848 t.effects; 9849}); 9850 9851!(function (t, e) { 9852 "function" == typeof define && define.amd 9853 ? define([], e) 9854 : "object" == typeof exports 9855 ? (module.exports = e()) 9856 : (t.Marquee3k = e()); 9857})(this, function () { 9858 "use strict"; 9859 let t = 0; 9860 class e { 9861 constructor(t, e) { 9862 (this.element = t), 9863 (this.selector = e.selector), 9864 (this.speed = t.dataset.speed || 0.25), 9865 (this.pausable = t.dataset.pausable), 9866 (this.reverse = t.dataset.reverse), 9867 (this.paused = !1), 9868 (this.parent = t.parentElement), 9869 (this.parentProps = this.parent.getBoundingClientRect()), 9870 (this.content = t.children[0]), 9871 (this.innerContent = this.content.innerHTML), 9872 (this.wrapStyles = ""), 9873 (this.offset = 0), 9874 this._setupWrapper(), 9875 this._setupContent(), 9876 this._setupEvents(), 9877 this.wrapper.appendChild(this.content), 9878 this.element.appendChild(this.wrapper); 9879 } 9880 _setupWrapper() { 9881 (this.wrapper = document.createElement("div")), 9882 this.wrapper.classList.add("marquee3k__wrapper"), 9883 (this.wrapper.style.whiteSpace = "nowrap"); 9884 } 9885 _setupContent() { 9886 this.content.classList.add(`${this.selector}__copy`), 9887 (this.content.style.display = "inline-block"), 9888 (this.contentWidth = this.content.offsetWidth), 9889 (this.requiredReps = 9890 this.contentWidth > this.parentProps.width 9891 ? 2 9892 : Math.ceil( 9893 (this.parentProps.width - this.contentWidth) / this.contentWidth 9894 ) + 1); 9895 for (let t = 0; t < this.requiredReps; t++) this._createClone(); 9896 this.reverse && (this.offset = -1 * this.contentWidth), 9897 this.element.classList.add("is-init"); 9898 } 9899 _setupEvents() { 9900 this.element.addEventListener("mouseenter", () => { 9901 this.pausable && (this.paused = !0); 9902 }), 9903 this.element.addEventListener("mouseleave", () => { 9904 this.pausable && (this.paused = !1); 9905 }); 9906 } 9907 _createClone() { 9908 const t = this.content.cloneNode(!0); 9909 (t.style.display = "inline-block"), 9910 t.classList.add(`${this.selector}__copy`), 9911 this.wrapper.appendChild(t); 9912 } 9913 animate() { 9914 if (!this.paused) { 9915 const t = this.reverse 9916 ? this.offset < 0 9917 : this.offset > -1 * this.contentWidth, 9918 e = this.reverse ? -1 : 1, 9919 s = this.reverse ? -1 * this.contentWidth : 0; 9920 t ? (this.offset -= this.speed * e) : (this.offset = s), 9921 (this.wrapper.style.whiteSpace = "nowrap"), 9922 (this.wrapper.style.transform = `translate(${this.offset}px, 0) translateZ(0)`); 9923 } 9924 } 9925 _refresh() { 9926 this.contentWidth = this.content.offsetWidth; 9927 } 9928 repopulate(t, e) { 9929 if (((this.contentWidth = this.content.offsetWidth), e)) { 9930 const e = Math.ceil(t / this.contentWidth) + 1; 9931 for (let t = 0; t < e; t++) this._createClone(); 9932 } 9933 } 9934 static refresh(t) { 9935 MARQUEES[t]._refresh(); 9936 } 9937 static pause(t) { 9938 MARQUEES[t].paused = !0; 9939 } 9940 static play(t) { 9941 MARQUEES[t].paused = !1; 9942 } 9943 static toggle(t) { 9944 MARQUEES[t].paused = !MARQUEES[t].paused; 9945 } 9946 static refreshAll() { 9947 for (let t = 0; t < MARQUEES.length; t++) MARQUEES[t]._refresh(); 9948 } 9949 static pauseAll() { 9950 for (let t = 0; t < MARQUEES.length; t++) MARQUEES[t].paused = !0; 9951 } 9952 static playAll() { 9953 for (let t = 0; t < MARQUEES.length; t++) MARQUEES[t].paused = !1; 9954 } 9955 static toggleAll() { 9956 for (let t = 0; t < MARQUEES.length; t++) 9957 MARQUEES[t].paused = !MARQUEES[t].paused; 9958 } 9959 static init(s = { selector: "marquee3k" }) { 9960 t && window.cancelAnimationFrame(t), (window.MARQUEES = []); 9961 const i = Array.from(document.querySelectorAll(`.${s.selector}`)); 9962 let n, 9963 r = window.innerWidth; 9964 for (let t = 0; t < i.length; t++) { 9965 const n = i[t], 9966 r = new e(n, s); 9967 MARQUEES.push(r); 9968 } 9969 !(function e() { 9970 for (let t = 0; t < MARQUEES.length; t++) MARQUEES[t].animate(); 9971 t = window.requestAnimationFrame(e); 9972 })(), 9973 window.addEventListener("resize", () => { 9974 clearTimeout(n), 9975 (n = setTimeout(() => { 9976 const t = r < window.innerWidth, 9977 e = window.innerWidth - r; 9978 for (let s = 0; s < MARQUEES.length; s++) 9979 MARQUEES[s].repopulate(e, t); 9980 r = this.innerWidth; 9981 }, 250)); 9982 }); 9983 } 9984 } 9985 return e; 9986});
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.