1/*! Magnific Popup - v1.1.0 - 2016-02-20 2 * http://dimsemenov.com/plugins/magnific-popup/ 3 * Copyright (c) 2016 Dmitry Semenov; */ 4!(function (a) { 5 "function" == typeof define && define.amd 6 ? define(["jquery"], a) 7 : a( 8 "object" == typeof exports 9 ? require("jquery") 10 : window.jQuery || window.Zepto 11 ); 12})(function (a) { 13 var b, 14 c, 15 d, 16 e, 17 f, 18 g, 19 h = "Close", 20 i = "BeforeClose", 21 j = "AfterClose", 22 k = "BeforeAppend", 23 l = "MarkupParse", 24 m = "Open", 25 n = "Change", 26 o = "mfp", 27 p = "." + o, 28 q = "mfp-ready", 29 r = "mfp-removing", 30 s = "mfp-prevent-close", 31 t = function () {}, 32 u = !!window.jQuery, 33 v = a(window), 34 w = function (a, c) { 35 b.ev.on(o + a + p, c); 36 }, 37 x = function (b, c, d, e) { 38 var f = document.createElement("div"); 39 return ( 40 (f.className = "mfp-" + b), 41 d && (f.innerHTML = d), 42 e ? c && c.appendChild(f) : ((f = a(f)), c && f.appendTo(c)), 43 f 44 ); 45 }, 46 y = function (c, d) { 47 b.ev.triggerHandler(o + c, d), 48 b.st.callbacks && 49 ((c = c.charAt(0).toLowerCase() + c.slice(1)), 50 b.st.callbacks[c] && 51 b.st.callbacks[c].apply(b, a.isArray(d) ? d : [d])); 52 }, 53 z = function (c) { 54 return ( 55 (c === g && b.currTemplate.closeBtn) || 56 ((b.currTemplate.closeBtn = a( 57 b.st.closeMarkup.replace("%title%", b.st.tClose) 58 )), 59 (g = c)), 60 b.currTemplate.closeBtn 61 ); 62 }, 63 A = function () { 64 a.magnificPopup.instance || 65 ((b = new t()), b.init(), (a.magnificPopup.instance = b)); 66 }, 67 B = function () { 68 var a = document.createElement("p").style, 69 b = ["ms", "O", "Moz", "Webkit"]; 70 if (void 0 !== a.transition) return !0; 71 for (; b.length; ) if (b.pop() + "Transition" in a) return !0; 72 return !1; 73 }; 74 (t.prototype = { 75 constructor: t, 76 init: function () { 77 var c = navigator.appVersion; 78 (b.isLowIE = b.isIE8 = document.all && !document.addEventListener), 79 (b.isAndroid = /android/gi.test(c)), 80 (b.isIOS = /iphone|ipad|ipod/gi.test(c)), 81 (b.supportsTransition = B()), 82 (b.probablyMobile = 83 b.isAndroid || 84 b.isIOS || 85 /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test( 86 navigator.userAgent 87 )), 88 (d = a(document)), 89 (b.popupsCache = {}); 90 }, 91 open: function (c) { 92 var e; 93 if (c.isObj === !1) { 94 (b.items = c.items.toArray()), (b.index = 0); 95 var g, 96 h = c.items; 97 for (e = 0; e < h.length; e++) 98 if (((g = h[e]), g.parsed && (g = g.el[0]), g === c.el[0])) { 99 b.index = e; 100 break; 101 } 102 } else 103 (b.items = a.isArray(c.items) ? c.items : [c.items]), 104 (b.index = c.index || 0); 105 if (b.isOpen) return void b.updateItemHTML(); 106 (b.types = []), 107 (f = ""), 108 c.mainEl && c.mainEl.length ? (b.ev = c.mainEl.eq(0)) : (b.ev = d), 109 c.key 110 ? (b.popupsCache[c.key] || (b.popupsCache[c.key] = {}), 111 (b.currTemplate = b.popupsCache[c.key])) 112 : (b.currTemplate = {}), 113 (b.st = a.extend(!0, {}, a.magnificPopup.defaults, c)), 114 (b.fixedContentPos = 115 "auto" === b.st.fixedContentPos 116 ? !b.probablyMobile 117 : b.st.fixedContentPos), 118 b.st.modal && 119 ((b.st.closeOnContentClick = !1), 120 (b.st.closeOnBgClick = !1), 121 (b.st.showCloseBtn = !1), 122 (b.st.enableEscapeKey = !1)), 123 b.bgOverlay || 124 ((b.bgOverlay = x("bg").on("click" + p, function () { 125 b.close(); 126 })), 127 (b.wrap = x("wrap") 128 .attr("tabindex", -1) 129 .on("click" + p, function (a) { 130 b._checkIfClose(a.target) && b.close(); 131 })), 132 (b.container = x("container", b.wrap))), 133 (b.contentContainer = x("content")), 134 b.st.preloader && 135 (b.preloader = x("preloader", b.container, b.st.tLoading)); 136 var i = a.magnificPopup.modules; 137 for (e = 0; e < i.length; e++) { 138 var j = i[e]; 139 (j = j.charAt(0).toUpperCase() + j.slice(1)), b["init" + j].call(b); 140 } 141 y("BeforeOpen"), 142 b.st.showCloseBtn && 143 (b.st.closeBtnInside 144 ? (w(l, function (a, b, c, d) { 145 c.close_replaceWith = z(d.type); 146 }), 147 (f += " mfp-close-btn-in")) 148 : b.wrap.append(z())), 149 b.st.alignTop && (f += " mfp-align-top"), 150 b.fixedContentPos 151 ? b.wrap.css({ 152 overflow: b.st.overflowY, 153 overflowX: "hidden", 154 overflowY: b.st.overflowY, 155 }) 156 : b.wrap.css({ top: v.scrollTop(), position: "absolute" }), 157 (b.st.fixedBgPos === !1 || 158 ("auto" === b.st.fixedBgPos && !b.fixedContentPos)) && 159 b.bgOverlay.css({ height: d.height(), position: "absolute" }), 160 b.st.enableEscapeKey && 161 d.on("keyup" + p, function (a) { 162 27 === a.keyCode && b.close(); 163 }), 164 v.on("resize" + p, function () { 165 b.updateSize(); 166 }), 167 b.st.closeOnContentClick || (f += " mfp-auto-cursor"), 168 f && b.wrap.addClass(f); 169 var k = (b.wH = v.height()), 170 n = {}; 171 if (b.fixedContentPos && b._hasScrollBar(k)) { 172 var o = b._getScrollbarSize(); 173 o && (n.marginRight = o); 174 } 175 b.fixedContentPos && 176 (b.isIE7 177 ? a("body, html").css("overflow", "hidden") 178 : (n.overflow = "hidden")); 179 var r = b.st.mainClass; 180 return ( 181 b.isIE7 && (r += " mfp-ie7"), 182 r && b._addClassToMFP(r), 183 b.updateItemHTML(), 184 y("BuildControls"), 185 a("html").css(n),
186 b.bgOverlay.add(b.wrap).prependTo(b.st.prependTo || a(document.body)), 187 (b._lastFocusedEl = document.activeElement), 188 setTimeout(function () { 189 b.content 190 ? (b._addClassToMFP(q), b._setFocus()) 191 : b.bgOverlay.addClass(q), 192 d.on("focusin" + p, b._onFocusIn); 193 }, 16), 194 (b.isOpen = !0), 195 b.updateSize(k), 196 y(m), 197 c 198 ); 199 }, 200 close: function () { 201 b.isOpen && 202 (y(i), 203 (b.isOpen = !1), 204 b.st.removalDelay && !b.isLowIE && b.supportsTransition 205 ? (b._addClassToMFP(r), 206 setTimeout(function () { 207 b._close(); 208 }, b.st.removalDelay)) 209 : b._close()); 210 }, 211 _close: function () { 212 y(h); 213 var c = r + " " + q + " "; 214 if ( 215 (b.bgOverlay.detach(), 216 b.wrap.detach(), 217 b.container.empty(), 218 b.st.mainClass && (c += b.st.mainClass + " "), 219 b._removeClassFromMFP(c), 220 b.fixedContentPos) 221 ) { 222 var e = { marginRight: "" }; 223 b.isIE7 ? a("body, html").css("overflow", "") : (e.overflow = ""), 224 a("html").css(e); 225 } 226 d.off("keyup" + p + " focusin" + p), 227 b.ev.off(p), 228 b.wrap.attr("class", "mfp-wrap").removeAttr("style"), 229 b.bgOverlay.attr("class", "mfp-bg"), 230 b.container.attr("class", "mfp-container"), 231 !b.st.showCloseBtn || 232 (b.st.closeBtnInside && b.currTemplate[b.currItem.type] !== !0) || 233 (b.currTemplate.closeBtn && b.currTemplate.closeBtn.detach()), 234 b.st.autoFocusLast && b._lastFocusedEl && a(b._lastFocusedEl).focus(), 235 (b.currItem = null), 236 (b.content = null), 237 (b.currTemplate = null), 238 (b.prevHeight = 0), 239 y(j); 240 }, 241 updateSize: function (a) { 242 if (b.isIOS) { 243 var c = document.documentElement.clientWidth / window.innerWidth, 244 d = window.innerHeight * c; 245 b.wrap.css("height", d), (b.wH = d); 246 } else b.wH = a || v.height(); 247 b.fixedContentPos || b.wrap.css("height", b.wH), y("Resize"); 248 }, 249 updateItemHTML: function () { 250 var c = b.items[b.index]; 251 b.contentContainer.detach(), 252 b.content && b.content.detach(), 253 c.parsed || (c = b.parseEl(b.index)); 254 var d = c.type; 255 if ( 256 (y("BeforeChange", [b.currItem ? b.currItem.type : "", d]), 257 (b.currItem = c), 258 !b.currTemplate[d]) 259 ) { 260 var f = b.st[d] ? b.st[d].markup : !1; 261 y("FirstMarkupParse", f), 262 f ? (b.currTemplate[d] = a(f)) : (b.currTemplate[d] = !0); 263 } 264 e && e !== c.type && b.container.removeClass("mfp-" + e + "-holder"); 265 var g = b["get" + d.charAt(0).toUpperCase() + d.slice(1)]( 266 c, 267 b.currTemplate[d] 268 ); 269 b.appendContent(g, d), 270 (c.preloaded = !0), 271 y(n, c), 272 (e = c.type), 273 b.container.prepend(b.contentContainer), 274 y("AfterChange"); 275 }, 276 appendContent: function (a, c) { 277 (b.content = a), 278 a 279 ? b.st.showCloseBtn && b.st.closeBtnInside && b.currTemplate[c] === !0 280 ? b.content.find(".mfp-close").length || b.content.append(z()) 281 : (b.content = a) 282 : (b.content = ""), 283 y(k), 284 b.container.addClass("mfp-" + c + "-holder"), 285 b.contentContainer.append(b.content); 286 }, 287 parseEl: function (c) { 288 var d, 289 e = b.items[c]; 290 if ( 291 (e.tagName 292 ? (e = { el: a(e) }) 293 : ((d = e.type), (e = { data: e, src: e.src })), 294 e.el) 295 ) { 296 for (var f = b.types, g = 0; g < f.length; g++) 297 if (e.el.hasClass("mfp-" + f[g])) { 298 d = f[g]; 299 break; 300 } 301 (e.src = e.el.attr("data-mfp-src")), 302 e.src || (e.src = e.el.attr("href")); 303 } 304 return ( 305 (e.type = d || b.st.type || "inline"), 306 (e.index = c), 307 (e.parsed = !0), 308 (b.items[c] = e), 309 y("ElementParse", e), 310 b.items[c] 311 ); 312 }, 313 addGroup: function (a, c) { 314 var d = function (d) { 315 (d.mfpEl = this), b._openClick(d, a, c); 316 }; 317 c || (c = {}); 318 var e = "click.magnificPopup"; 319 (c.mainEl = a), 320 c.items 321 ? ((c.isObj = !0), a.off(e).on(e, d)) 322 : ((c.isObj = !1), 323 c.delegate 324 ? a.off(e).on(e, c.delegate, d) 325 : ((c.items = a), a.off(e).on(e, d))); 326 }, 327 _openClick: function (c, d, e) { 328 var f = 329 void 0 !== e.midClick ? e.midClick : a.magnificPopup.defaults.midClick; 330 if ( 331 f || 332 !(2 === c.which || c.ctrlKey || c.metaKey || c.altKey || c.shift
332Key) 333 ) { 334 var g = 335 void 0 !== e.disableOn 336 ? e.disableOn 337 : a.magnificPopup.defaults.disableOn; 338 if (g) 339 if (a.isFunction(g)) { 340 if (!g.call(b)) return !0; 341 } else if (v.width() < g) return !0; 342 c.type && (c.preventDefault(), b.isOpen && c.stopPropagation()), 343 (e.el = a(c.mfpEl)), 344 e.delegate && (e.items = d.find(e.delegate)), 345 b.open(e); 346 } 347 }, 348 updateStatus: function (a, d) { 349 if (b.preloader) { 350 c !== a && b.container.removeClass("mfp-s-" + c), 351 d || "loading" !== a || (d = b.st.tLoading); 352 var e = { status: a, text: d }; 353 y("UpdateStatus", e), 354 (a = e.status), 355 (d = e.text), 356 b.preloader.html(d), 357 b.preloader.find("a").on("click", function (a) { 358 a.stopImmediatePropagation(); 359 }), 360 b.container.addClass("mfp-s-" + a), 361 (c = a); 362 } 363 }, 364 _checkIfClose: function (c) { 365 if (!a(c).hasClass(s)) { 366 var d = b.st.closeOnContentClick, 367 e = b.st.closeOnBgClick; 368 if (d && e) return !0; 369 if ( 370 !b.content || 371 a(c).hasClass("mfp-close") || 372 (b.preloader && c === b.preloader[0]) 373 ) 374 return !0; 375 if (c === b.content[0] || a.contains(b.content[0], c)) { 376 if (d) return !0; 377 } else if (e && a.contains(document, c)) return !0; 378 return !1; 379 } 380 }, 381 _addClassToMFP: function (a) { 382 b.bgOverlay.addClass(a), b.wrap.addClass(a); 383 }, 384 _removeClassFromMFP: function (a) { 385 this.bgOverlay.removeClass(a), b.wrap.removeClass(a); 386 }, 387 _hasScrollBar: function (a) { 388 return ( 389 (b.isIE7 ? d.height() : document.body.scrollHeight) > (a || v.height()) 390 ); 391 }, 392 _setFocus: function () { 393 (b.st.focus ? b.content.find(b.st.focus).eq(0) : b.wrap).focus(); 394 }, 395 _onFocusIn: function (c) { 396 return c.target === b.wrap[0] || a.contains(b.wrap[0], c.target) 397 ? void 0 398 : (b._setFocus(), !1); 399 }, 400 _parseMarkup: function (b, c, d) { 401 var e; 402 d.data && (c = a.extend(d.data, c)), 403 y(l, [b, c, d]), 404 a.each(c, function (c, d) { 405 if (void 0 === d || d === !1) return !0; 406 if (((e = c.split("_")), e.length > 1)) { 407 var f = b.find(p + "-" + e[0]); 408 if (f.length > 0) { 409 var g = e[1]; 410 "replaceWith" === g 411 ? f[0] !== d[0] && f.replaceWith(d) 412 : "img" === g 413 ? f.is("img") 414 ? f.attr("src", d) 415 : f.replaceWith( 416 a("<img>").attr("src", d).attr("class", f.attr("class")) 417 ) 418 : f.attr(e[1], d); 419 } 420 } else b.find(p + "-" + c).html(d); 421 }); 422 }, 423 _getScrollbarSize: function () { 424 if (void 0 === b.scrollbarSize) { 425 var a = document.createElement("div"); 426 (a.style.cssText = 427 "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;"), 428 document.body.appendChild(a), 429 (b.scrollbarSize = a.offsetWidth - a.clientWidth), 430 document.body.removeChild(a); 431 } 432 return b.scrollbarSize; 433 }, 434 }), 435 (a.magnificPopup = { 436 instance: null, 437 proto: t.prototype, 438 modules: [], 439 open: function (b, c) { 440 return ( 441 A(), 442 (b = b ? a.extend(!0, {}, b) : {}), 443 (b.isObj = !0), 444 (b.index = c || 0), 445 this.instance.open(b) 446 ); 447 }, 448 close: function () { 449 return a.magnificPopup.instance && a.magnificPopup.instance.close(); 450 }, 451 registerModule: function (b, c) { 452 c.options && (a.magnificPopup.defaults[b] = c.options), 453 a.extend(this.proto, c.proto), 454 this.modules.push(b); 455 }, 456 defaults: { 457 disableOn: 0, 458 key: null, 459 midClick: !1, 460 mainClass: "", 461 preloader: !0, 462 focus: "", 463 closeOnContentClick: !1, 464 closeOnBgClick: !0, 465 closeBtnInside: !0, 466 showCloseBtn: !0, 467 enableEscapeKey: !0, 468 modal: !1, 469 alignTop: !1, 470 removalDelay: 0, 471 prependTo: null, 472 fixedContentPos: "auto", 473 fixedBgPos: "auto", 474 overflowY: "auto", 475 closeMarkup: 476 '<button title="%title%" type="button" class="mfp-close">×</button>', 477 tClose: "Close (Esc)", 478 tLoading: "Loading...", 479 autoFocusLast: !0, 480 }, 481 }), 482 (a.fn.magnificPopup = function (c) { 483 A(); 484 var d = a(this); 485 if ("string" == typeof c) 486 if ("open" === c) { 487 var e, 488 f = u ? d.data("magnificPopup") : d[0].magnificPopup, 489 g = parseInt(arguments[1], 10) || 0; 490 f.items 491 ? (e = f.items[g]) 492 : ((e = d), f.delegate && (e = e.find(f.delegate)), (e = e.eq
492(g))), 493 b._openClick({ mfpEl: e }, d, f); 494 } else 495 b.isOpen && b[c].apply(b, Array.prototype.slice.call(arguments, 1)); 496 else 497 (c = a.extend(!0, {}, c)), 498 u ? d.data("magnificPopup", c) : (d[0].magnificPopup = c), 499 b.addGroup(d, c); 500 return d; 501 }); 502 var C, 503 D, 504 E, 505 F = "inline", 506 G = function () { 507 E && (D.after(E.addClass(C)).detach(), (E = null)); 508 }; 509 a.magnificPopup.registerModule(F, { 510 options: { 511 hiddenClass: "hide", 512 markup: "", 513 tNotFound: "Content not found", 514 }, 515 proto: { 516 initInline: function () { 517 b.types.push(F), 518 w(h + "." + F, function () { 519 G(); 520 }); 521 }, 522 getInline: function (c, d) { 523 if ((G(), c.src)) { 524 var e = b.st.inline, 525 f = a(c.src); 526 if (f.length) { 527 var g = f[0].parentNode; 528 g && 529 g.tagName && 530 (D || ((C = e.hiddenClass), (D = x(C)), (C = "mfp-" + C)), 531 (E = f.after(D).detach().removeClass(C))), 532 b.updateStatus("ready"); 533 } else b.updateStatus("error", e.tNotFound), (f = a("<div>")); 534 return (c.inlineElement = f), f; 535 } 536 return b.updateStatus("ready"), b._parseMarkup(d, {}, c), d; 537 }, 538 }, 539 }); 540 var H, 541 I = "ajax", 542 J = function () { 543 H && a(document.body).removeClass(H); 544 }, 545 K = function () { 546 J(), b.req && b.req.abort(); 547 }; 548 a.magnificPopup.registerModule(I, { 549 options: { 550 settings: null, 551 cursor: "mfp-ajax-cur", 552 tError: '<a href="%url%">The content</a> could not be loaded.', 553 }, 554 proto: { 555 initAjax: function () { 556 b.types.push(I), 557 (H = b.st.ajax.cursor), 558 w(h + "." + I, K), 559 w("BeforeChange." + I, K); 560 }, 561 getAjax: function (c) { 562 H && a(document.body).addClass(H), b.updateStatus("loading"); 563 var d = a.extend( 564 { 565 url: c.src, 566 success: function (d, e, f) { 567 var g = { data: d, xhr: f }; 568 y("ParseAjax", g), 569 b.appendContent(a(g.data), I), 570 (c.finished = !0), 571 J(), 572 b._setFocus(), 573 setTimeout(function () { 574 b.wrap.addClass(q); 575 }, 16), 576 b.updateStatus("ready"), 577 y("AjaxContentAdded"); 578 }, 579 error: function () { 580 J(), 581 (c.finished = c.loadError = !0), 582 b.updateStatus( 583 "error", 584 b.st.ajax.tError.replace("%url%", c.src) 585 ); 586 }, 587 }, 588 b.st.ajax.settings 589 ); 590 return (b.req = a.ajax(d)), ""; 591 }, 592 }, 593 }); 594 var L, 595 M = function (c) { 596 if (c.data && void 0 !== c.data.title) return c.data.title; 597 var d = b.st.image.titleSrc; 598 if (d) { 599 if (a.isFunction(d)) return d.call(b, c); 600 if (c.el) return c.el.attr(d) || ""; 601 } 602 return ""; 603 }; 604 a.magnificPopup.registerModule("image", { 605 options: { 606 markup: 607 '<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>', 608 cursor: "mfp-zoom-out-cur", 609 titleSrc: "title", 610 verticalFit: !0, 611 tError: '<a href="%url%">The image</a> could not be loaded.', 612 }, 613 proto: { 614 initImage: function () { 615 var c = b.st.image, 616 d = ".image"; 617 b.types.push("image"), 618 w(m + d, function () { 619 "image" === b.currItem.type && 620 c.cursor && 621 a(document.body).addClass(c.cursor); 622 }), 623 w(h + d, function () { 624 c.cursor && a(document.body).removeClass(c.cursor), 625 v.off("resize" + p); 626 }), 627 w("Resize" + d, b.resizeImage), 628 b.isLowIE && w("AfterChange", b.resizeImage); 629 }, 630 resizeImage: function () { 631 var a = b.currItem; 632 if (a && a.img && b.st.image.verticalFit) { 633 var c = 0; 634 b.isLowIE && 635 (c = 636 parseInt(a.img.css("padding-top"), 10) + 637 parseInt(a.img.css("padding-bottom"), 10)), 638 a.img.css("max-height", b.wH - c); 639 } 640 }, 641 _onImageHasSize: function (a) { 642 a.img && 643 ((a.hasSize = !0), 644 L && clearInterval(L), 645 (a.isCheckingImgSize = !1), 646 y("ImageHasSize", a), 647 a.imgHidden && 648 (b.content && b.content.removeClass("mfp-loading"), 649 (a.imgHidden = !1))); 650 }, 651 findImageSize: function (a) { 652 var c = 0, 653 d = a.img[0], 654 e = function (f) { 655 L && clearInterval(L), 656 (L = setInterval(function () {
657 return d.naturalWidth > 0 658 ? void b._onImageHasSize(a) 659 : (c > 200 && clearInterval(L), 660 c++, 661 void (3 === c 662 ? e(10) 663 : 40 === c 664 ? e(50) 665 : 100 === c && e(500))); 666 }, f)); 667 }; 668 e(1); 669 }, 670 getImage: function (c, d) { 671 var e = 0, 672 f = function () { 673 c && 674 (c.img[0].complete 675 ? (c.img.off(".mfploader"), 676 c === b.currItem && 677 (b._onImageHasSize(c), b.updateStatus("ready")), 678 (c.hasSize = !0), 679 (c.loaded = !0), 680 y("ImageLoadComplete")) 681 : (e++, 200 > e ? setTimeout(f, 100) : g())); 682 }, 683 g = function () { 684 c && 685 (c.img.off(".mfploader"), 686 c === b.currItem && 687 (b._onImageHasSize(c), 688 b.updateStatus("error", h.tError.replace("%url%", c.src))), 689 (c.hasSize = !0), 690 (c.loaded = !0), 691 (c.loadError = !0)); 692 }, 693 h = b.st.image, 694 i = d.find(".mfp-img"); 695 if (i.length) { 696 var j = document.createElement("img"); 697 (j.className = "mfp-img"), 698 c.el && 699 c.el.find("img").length && 700 (j.alt = c.el.find("img").attr("alt")), 701 (c.img = a(j).on("load.mfploader", f).on("error.mfploader", g)), 702 (j.src = c.src), 703 i.is("img") && (c.img = c.img.clone()), 704 (j = c.img[0]), 705 j.naturalWidth > 0 ? (c.hasSize = !0) : j.width || (c.hasSize = !1); 706 } 707 return ( 708 b._parseMarkup(d, { title: M(c), img_replaceWith: c.img }, c), 709 b.resizeImage(), 710 c.hasSize 711 ? (L && clearInterval(L), 712 c.loadError 713 ? (d.addClass("mfp-loading"), 714 b.updateStatus("error", h.tError.replace("%url%", c.src))) 715 : (d.removeClass("mfp-loading"), b.updateStatus("ready")), 716 d) 717 : (b.updateStatus("loading"), 718 (c.loading = !0), 719 c.hasSize || 720 ((c.imgHidden = !0), 721 d.addClass("mfp-loading"), 722 b.findImageSize(c)), 723 d) 724 ); 725 }, 726 }, 727 }); 728 var N, 729 O = function () { 730 return ( 731 void 0 === N && 732 (N = void 0 !== document.createElement("p").style.MozTransform), 733 N 734 ); 735 }; 736 a.magnificPopup.registerModule("zoom", { 737 options: { 738 enabled: !1, 739 easing: "ease-in-out", 740 duration: 300, 741 opener: function (a) { 742 return a.is("img") ? a : a.find("img"); 743 }, 744 }, 745 proto: { 746 initZoom: function () { 747 var a, 748 c = b.st.zoom, 749 d = ".zoom"; 750 if (c.enabled && b.supportsTransition) { 751 var e, 752 f, 753 g = c.duration, 754 j = function (a) { 755 var b = a 756 .clone() 757 .removeAttr("style") 758 .removeAttr("class") 759 .addClass("mfp-animated-image"), 760 d = "all " + c.duration / 1e3 + "s " + c.easing, 761 e = { 762 position: "fixed", 763 zIndex: 9999, 764 left: 0, 765 top: 0, 766 "-webkit-backface-visibility": "hidden", 767 }, 768 f = "transition"; 769 return ( 770 (e["-webkit-" + f] = e["-moz-" + f] = e["-o-" + f] = e[f] = d), 771 b.css(e), 772 b 773 ); 774 }, 775 k = function () { 776 b.content.css("visibility", "visible"); 777 }; 778 w("BuildControls" + d, function () { 779 if (b._allowZoom()) { 780 if ( 781 (clearTimeout(e), 782 b.content.css("visibility", "hidden"), 783 (a = b._getItemToZoom()), 784 !a) 785 ) 786 return void k(); 787 (f = j(a)), 788 f.css(b._getOffset()), 789 b.wrap.append(f), 790 (e = setTimeout(function () { 791 f.css(b._getOffset(!0)), 792 (e = setTimeout(function () { 793 k(), 794 setTimeout(function () { 795 f.remove(), (a = f = null), y("ZoomAnimationEnded"); 796 }, 16); 797 }, g)); 798 }, 16)); 799 } 800 }), 801 w(i + d, function () { 802 if (b._allowZoom()) {
803 if ((clearTimeout(e), (b.st.removalDelay = g), !a)) { 804 if (((a = b._getItemToZoom()), !a)) return; 805 f = j(a); 806 } 807 f.css(b._getOffset(!0)), 808 b.wrap.append(f), 809 b.content.css("visibility", "hidden"), 810 setTimeout(function () { 811 f.css(b._getOffset()); 812 }, 16); 813 } 814 }), 815 w(h + d, function () { 816 b._allowZoom() && (k(), f && f.remove(), (a = null)); 817 }); 818 } 819 }, 820 _allowZoom: function () { 821 return "image" === b.currItem.type; 822 }, 823 _getItemToZoom: function () { 824 return b.currItem.hasSize ? b.currItem.img : !1; 825 }, 826 _getOffset: function (c) { 827 var d; 828 d = c ? b.currItem.img : b.st.zoom.opener(b.currItem.el || b.currItem); 829 var e = d.offset(), 830 f = parseInt(d.css("padding-top"), 10), 831 g = parseInt(d.css("padding-bottom"), 10); 832 e.top -= a(window).scrollTop() - f; 833 var h = { 834 width: d.width(), 835 height: (u ? d.innerHeight() : d[0].offsetHeight) - g - f, 836 }; 837 return ( 838 O() 839 ? (h["-moz-transform"] = h.transform = 840 "translate(" + e.left + "px," + e.top + "px)") 841 : ((h.left = e.left), (h.top = e.top)), 842 h 843 ); 844 }, 845 }, 846 }); 847 var P = "iframe", 848 Q = "//about:blank", 849 R = function (a) { 850 if (b.currTemplate[P]) { 851 var c = b.currTemplate[P].find("iframe"); 852 c.length && 853 (a || (c[0].src = Q), 854 b.isIE8 && c.css("display", a ? "block" : "none")); 855 } 856 }; 857 a.magnificPopup.registerModule(P, { 858 options: { 859 markup: 860 '<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>', 861 srcAction: "iframe_src", 862 patterns: { 863 youtube: { 864 index: "youtube.com", 865 id: "v=", 866 src: "//www.youtube.com/embed/%id%?autoplay=1", 867 }, 868 vimeo: { 869 index: "vimeo.com/", 870 id: "/", 871 src: "//player.vimeo.com/video/%id%?autoplay=1", 872 }, 873 gmaps: { index: "//maps.google.", src: "%id%&output=embed" }, 874 }, 875 }, 876 proto: { 877 initIframe: function () { 878 b.types.push(P), 879 w("BeforeChange", function (a, b, c) { 880 b !== c && (b === P ? R() : c === P && R(!0)); 881 }), 882 w(h + "." + P, function () { 883 R(); 884 }); 885 }, 886 getIframe: function (c, d) { 887 var e = c.src, 888 f = b.st.iframe; 889 a.each(f.patterns, function () { 890 return e.indexOf(this.index) > -1 891 ? (this.id && 892 (e = 893 "string" == typeof this.id 894 ? e.substr( 895 e.lastIndexOf(this.id) + this.id.length, 896 e.length 897 ) 898 : this.id.call(this, e)), 899 (e = this.src.replace("%id%", e)), 900 !1) 901 : void 0; 902 }); 903 var g = {}; 904 return ( 905 f.srcAction && (g[f.srcAction] = e), 906 b._parseMarkup(d, g, c), 907 b.updateStatus("ready"), 908 d 909 ); 910 }, 911 }, 912 }); 913 var S = function (a) { 914 var c = b.items.length; 915 return a > c - 1 ? a - c : 0 > a ? c + a : a; 916 }, 917 T = function (a, b, c) { 918 return a.replace(/%curr%/gi, b + 1).replace(/%total%/gi, c); 919 }; 920 a.magnificPopup.registerModule("gallery", { 921 options: { 922 enabled: !1, 923 arrowMarkup: 924 '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>', 925 preload: [0, 2], 926 navigateByImgClick: !0, 927 arrows: !0, 928 tPrev: "Previous (Left arrow key)", 929 tNext: "Next (Right arrow key)", 930 tCounter: "%curr% of %total%", 931 }, 932 proto: { 933 initGallery: function () { 934 var c = b.st.gallery, 935 e = ".mfp-gallery"; 936 return ( 937 (b.direction = !0), 938 c && c.enabled 939 ? ((f += " mfp-gallery"), 940 w(m + e, function () { 941 c.navigateByImgClick && 942 b.wrap.on("click" + e, ".mfp-img", function () { 943 return b.items.length > 1 ? (b.next(), !1) : void 0; 944 }), 945 d.on("keydown" + e, function (a) { 946 37 === a.keyCode ? b.prev() : 39 === a.keyCode && b.next(); 947 }); 948 }), 949 w("UpdateStatus" + e, function (a, c) { 950 c.text && 951 (c.text = T(c.text, b.currItem.index, b.items.length)); 952 }), 953 w(l + e, function (a, d, e, f) { 954 var g = b.items.length; 955 e.counter = g > 1 ? T(c.tCounter, f.index, g) : ""; 956 }), 957 w("BuildControls" + e, function () { 958 if (b.items.length > 1 && c.arrows && !b.arrowLeft) { 959 var d = c.arrowMarkup, 960 e = (b.arrowLeft = a( 961 d.replace(/%title%/gi, c.tPrev).replace(/%dir%/gi, "left") 962 ).addClass(s)), 963 f = (b.arrowRight = a( 964 d 965 .replace(/%title%/gi, c.tNext) 966 .replace(/%dir%/gi, "right") 967 ).addClass(s)); 968 e.click(function () { 969 b.prev(); 970 }), 971 f.click(function () { 972 b.next(); 973 }), 974 b.container.append(e.add(f)); 975 } 976 }), 977 w(n + e, function () { 978 b._preloadTimeout && clearTimeout(b._preloadTimeout), 979 (b._preloadTimeout = setTimeout(function () { 980 b.preloadNearbyImages(), (b._preloadTimeout = null); 981 }, 16)); 982 }), 983 void w(h + e, function () { 984 d.off(e), 985 b.wrap.off("click" + e), 986 (b.arrowRight = b.arrowLeft = null); 987 })) 988 : !1 989 ); 990 }, 991 next: function () { 992 (b.direction = !0), (b.index = S(b.index + 1)), b.updateItemHTML(); 993 }, 994 prev: function () { 995 (b.direction = !1), (b.index = S(b.index - 1)), b.updateItemHTML(); 996 }, 997 goTo: function (a) { 998 (b.direction = a >= b.index), (b.index = a), b.updateItemHTML(); 999 }, 1000 preloadNearbyImages: function () { 1001 var a, 1002 c = b.st.gallery.preload, 1003 d = Math.min(c[0], b.items.length), 1004 e = Math.min(c[1], b.items.length); 1005 for (a = 1; a <= (b.direction ? e : d); a++) 1006 b._preloadItem(b.index + a); 1007 for (a = 1; a <= (b.direction ? d : e); a++) 1008 b._preloadItem(b.index - a); 1009 }, 1010 _preloadItem: function (c) { 1011 if (((c = S(c)), !b.items[c].preloaded)) { 1012 var d = b.items[c]; 1013 d.parsed || (d = b.parseEl(c)), 1014 y("LazyLoad", d),
1015 "image" === d.type && 1016 (d.img = a('<img class="mfp-img" />') 1017 .on("load.mfploader", function () { 1018 d.hasSize = !0; 1019 }) 1020 .on("error.mfploader", function () { 1021 (d.hasSize = !0), (d.loadError = !0), y("LazyLoadError", d); 1022 }) 1023 .attr("src", d.src)), 1024 (d.preloaded = !0); 1025 } 1026 }, 1027 }, 1028 }); 1029 var U = "retina"; 1030 a.magnificPopup.registerModule(U, { 1031 options: { 1032 replaceSrc: function (a) { 1033 return a.src.replace(/\.\w+$/, function (a) { 1034 return "@2x" + a; 1035 }); 1036 }, 1037 ratio: 1, 1038 }, 1039 proto: { 1040 initRetina: function () { 1041 if (window.devicePixelRatio > 1) { 1042 var a = b.st.retina, 1043 c = a.ratio; 1044 (c = isNaN(c) ? c() : c), 1045 c > 1 && 1046 (w("ImageHasSize." + U, function (a, b) { 1047 b.img.css({ 1048 "max-width": b.img[0].naturalWidth / c, 1049 width: "100%", 1050 }); 1051 }), 1052 w("ElementParse." + U, function (b, d) { 1053 d.src = a.replaceSrc(d, c); 1054 })); 1055 } 1056 }, 1057 }, 1058 }), 1059 A(); 1060});
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.