PageSourceSearch

https://greenaturelandscaping.netlify.app/js/jquery.fancybox.min.js

js greenaturelandscaping.netlify.app collected 2026-10-03 10:51:02 UTC 97,706 bytes, 1,868 lines download raw bytes

1// ==================================================
2// fancyBox v3.5.7
3//
4// Licensed GPLv3 for open source use
5// or fancyBox Commercial License for commercial use
6//
7// http://fancyapps.com/fancybox/
8// Copyright 2019 fancyApps
9//
10// ==================================================
11!(function (t, e, n, o) {
12  "use strict";
13  function i(t, e) {
14    var o,
15      i,
16      a,
17      s = [],
18      r = 0;
19    (t && t.isDefaultPrevented()) || (t.preventDefault(), (e = e || {}), t && t.data && (e = h(t.data.options, e)), (o = e.$target || n(t.currentTarget).trigger("blur")), ((a = n.fancybox.getInstance()) && a.$trigger && a.$trigger.is(o)) || (e.selector ? (s = n(e.selector)) : ((i = o.attr("data-fancybox") || ""), i ? ((s = t.data ? t.data.items : []), (s = s.length ? s.filter('[data-fancybox="' + i + '"]') : n('[data-fancybox="' + i + '"]'))) : (s = [o])), (r = n(s).index(o)), r < 0 && (r = 0), (a = n.fancybox.open(s, e, r)), (a.$trigger = o)));
20  }
21  if (((t.console = t.console || { info: function (t) {} }), n)) {
22    if (n.fn.fancybox) return void console.info("fancyBox already initialized");
23    var a = {
24        closeExisting: !1,
25        loop: !1,
26        gutter: 50,
27        keyboard: !0,
28        preventCaptionOverlap: !0,
29        arrows: !0,
30        infobar: !0,
31        smallBtn: "auto",
32        toolbar: "auto",
33        buttons: ["zoom", "slideShow", "thumbs", "close"],
34        idleTime: 3,
35        protect: !1,
36        modal: !1,
37        image: { preload: !1 },
38        ajax: { settings: { data: { fancybox: !0 } } },
39        iframe: { tpl: '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" allowfullscreen="allowfullscreen" allow="autoplay; fullscreen" src=""></iframe>', preload: !0, css: {}, attr: { scrolling: "auto" } },
40        video: { tpl: '<video class="fancybox-video" controls controlsList="nodownload" poster="{{poster}}"><source src="{{src}}" type="{{format}}" />Sorry, your browser doesn\'t support embedded videos, <a href="{{src}}">download</a> and watch with your favorite video player!</video>', format: "", autoStart: !0 },
41        defaultType: "image",
42        animationEffect: "zoom",
43        animationDuration: 366,
44        zoomOpacity: "auto",
45        transitionEffect: "fade",
46        transitionDuration: 366,
47        slideClass: "",
48        baseClass: "",
49        baseTpl: '<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-inner"><div class="fancybox-infobar"><span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span></div><div class="fancybox-toolbar">{{buttons}}</div><div class="fancybox-navigation">{{arrows}}</div><div class="fancybox-stage"></div><div class="fancybox-caption"><div class="fancybox-caption__body"></div></div></div></div>',
50        spinnerTpl: '<div class="fancybox-loading"></div>',
51        errorTpl: '<div class="fancybox-error"><p>{{ERROR}}</p></div>',
52        btnTpl: {
53          download: '<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}" href="javascript:;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.62 17.09V19H5.38v-1.91zm-2.97-6.96L17 11.45l-5 4.87-5-4.87 1.36-1.32 2.68 2.64V5h1.92v7.77z"/></svg></a>',
54          zoom: '<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.7 17.3l-3-3a5.9 5.9 0 0 0-.6-7.6 5.9 5.9 0 0 0-8.4 0 5.9 5.9 0 0 0 0 8.4 5.9 5.9 0 0 0 7.7.7l3 3a1 1 0 0 0 1.3 0c.4-.5.4-1 0-1.5zM8.1 13.8a4 4 0 0 1 0-5.7 4 4 0 0 1 5.7 0 4 4 0 0 1 0 5.7 4 4 0 0 1-5.7 0z"/></svg></button>',
55          close: '<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 10.6L6.6 5.2 5.2 6.6l5.4 5.4-5.4 5.4 1.4 1.4 5.4-5.4 5.4 5.4 1.4-1.4-5.4-5.4 5.4-5.4-1.4-1.4-5.4 5.4z"/></svg></button>',
56          arrowLeft: '<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
56<path d="M11.28 15.7l-1.34 1.37L5 12l4.94-5.07 1.34 1.38-2.68 2.72H19v1.94H8.6z"/></svg></div></button>',
57          arrowRight: '<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 12.97l-2.68 2.72 1.34 1.38L19 12l-4.94-5.07-1.34 1.38 2.68 2.72H5v1.94z"/></svg></div></button>',
58          smallBtn: '<button type="button" data-fancybox-close class="fancybox-button fancybox-close-small" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"/></svg></button>',
59        },
60        parentEl: "body",
61        hideScrollbar: !0,
62        autoFocus: !0,
63        backFocus: !0,
64        trapFocus: !0,
65        fullScreen: { autoStart: !1 },
66        touch: { vertical: !0, momentum: !0 },
67        hash: null,
68        media: {},
69        slideShow: { autoStart: !1, speed: 3e3 },
70        thumbs: { autoStart: !1, hideOnClose: !0, parentEl: ".fancybox-container", axis: "y" },
71        wheel: "auto",
72        onInit: n.noop,
73        beforeLoad: n.noop,
74        afterLoad: n.noop,
75        beforeShow: n.noop,
76        afterShow: n.noop,
77        beforeClose: n.noop,
78        afterClose: n.noop,
79        onActivate: n.noop,
80        onDeactivate: n.noop,
81        clickContent: function (t, e) {
82          return "image" === t.type && "zoom";
83        },
84        clickSlide: "close",
85        clickOutside: "close",
86        dblclickContent: !1,
87        dblclickSlide: !1,
88        dblclickOutside: !1,
89        mobile: {
90          preventCaptionOverlap: !1,
91          idleTime: !1,
92          clickContent: function (t, e) {
93            return "image" === t.type && "toggleControls";
94          },
95          clickSlide: function (t, e) {
96            return "image" === t.type ? "toggleControls" : "close";
97          },
98          dblclickContent: function (t, e) {
99            return "image" === t.type && "zoom";
100          },
101          dblclickSlide: function (t, e) {
102            return "image" === t.type && "zoom";
103          },
104        },
105        lang: "en",
106        i18n: { en: { CLOSE: "Close", NEXT: "Next", PREV: "Previous", ERROR: "The requested content cannot be loaded. <br/> Please try again later.", PLAY_START: "Start slideshow", PLAY_STOP: "Pause slideshow", FULL_SCREEN: "Full screen", THUMBS: "Thumbnails", DOWNLOAD: "Download", SHARE: "Share", ZOOM: "Zoom" }, de: { CLOSE: "Schlie&szlig;en", NEXT: "Weiter", PREV: "Zur&uuml;ck", ERROR: "Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es sp&auml;ter nochmal.", PLAY_START: "Diaschau starten", PLAY_STOP: "Diaschau beenden", FULL_SCREEN: "Vollbild", THUMBS: "Vorschaubilder", DOWNLOAD: "Herunterladen", SHARE: "Teilen", ZOOM: "Vergr&ouml;&szlig;ern" } },
107      },
108      s = n(t),
109      r = n(e),
110      c = 0,
111      l = function (t) {
112        return t && t.hasOwnProperty && t instanceof n;
113      },
114      d = (function () {
115        return (
116          t.requestAnimationFrame ||
117          t.webkitRequestAnimationFrame ||
118          t.mozRequestAnimationFrame ||
119          t.oRequestAnimationFrame ||
120          function (e) {
121            return t.setTimeout(e, 1e3 / 60);
122          }
123        );
124      })(),
125      u = (function () {
126        return (
127          t.cancelAnimationFrame ||
128          t.webkitCancelAnimationFrame ||
129          t.mozCancelAnimationFrame ||
130          t.oCancelAnimationFrame ||
131          function (e) {
132            t.clearTimeout(e);
133          }
134        );
135      })(),
136      f = (function () {
137        var t,
138          n = e.createElement("fakeelement"),
139          o = { transition: "transitionend", OTransition: "oTransitionEnd", MozTransition: "transitionend", WebkitTransition: "webkitTransitionEnd" };
140        for (t in o) if (void 0 !== n.style[t]) return o[t];
141        return "transitionend";
142      })(),
143      p = function (t) {
144        return t && t.length && t[0].offsetHeight;
145      },
146      h = function (t, e) {
147        var o = n.extend(!0, {}, t, e);
148        return (
149          n.each(e, function (t, e) {
150            n.isArray(e) && (o[t] = e);
151          }),
152          o
153        );
154      },
155      g = function (t) {
156        var o, i;
157        return !(!t || t.ownerDocument !== e) && (n(".fancybox-container").css("pointer-events", "none"), (o = { x: t.getBoundingClientRect().left + t.offsetWidth / 2, y: t.getBoundingClientRect().top + t.offsetHeight / 2 }), (i = e.elementFromPoint(o.x, o.y) === t), n(".fancybox-container").css("pointer-events", ""), i);
158      },
159      b = function (t, e, o) {
160        var i = this;
161        (i.opts = h({ index: o }, n.fancybox.defaults)), n.isPlainObject(e) && (i.opts = h(i.opts, e)), n.fancybox.isMobile && (i.opts = h(i.opts, i.opts.mobile)), (i.id = i.opts.id || ++c), (i.currIndex = parseInt(i.opts.index, 10) || 0), (i.prevIndex = null), (i.prevPos = null), (i.currPos = 0), (i.firstRun = !0), (i.group = []), (i.slides = {}), i.addContent(t), i.group.length && i.init();
162      };
163    n.extend(b.prototype, {
164      init: function () {
165        var o,
166          i,
167          a = this,
168          s = a.group[a.currIndex],
169          r = s.opts;
170        r.closeExisting && n.fancybox.close(!0),
171          n("body").addClass("fancybox-active"),
172          !n.fancybox.getInstance() && !1 !== r.hideScrollbar && !n.fancybox.isMobile && e.body.scrollHeight >
172 t.innerHeight && (n("head").append('<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar{margin-right:' + (t.innerWidth - e.documentElement.clientWidth) + "px;}</style>"), n("body").addClass("compensate-for-scrollbar")),
173          (i = ""),
174          n.each(r.buttons, function (t, e) {
175            i += r.btnTpl[e] || "";
176          }),
177          (o = n(a.translate(a, r.baseTpl.replace("{{buttons}}", i).replace("{{arrows}}", r.btnTpl.arrowLeft + r.btnTpl.arrowRight)))
178            .attr("id", "fancybox-container-" + a.id)
179            .addClass(r.baseClass)
180            .data("FancyBox", a)
181            .appendTo(r.parentEl)),
182          (a.$refs = { container: o }),
183          ["bg", "inner", "infobar", "toolbar", "stage", "caption", "navigation"].forEach(function (t) {
184            a.$refs[t] = o.find(".fancybox-" + t);
185          }),
186          a.trigger("onInit"),
187          a.activate(),
188          a.jumpTo(a.currIndex);
189      },
190      translate: function (t, e) {
191        var n = t.opts.i18n[t.opts.lang] || t.opts.i18n.en;
192        return e.replace(/\{\{(\w+)\}\}/g, function (t, e) {
193          return void 0 === n[e] ? t : n[e];
194        });
195      },
196      addContent: function (t) {
197        var e,
198          o = this,
199          i = n.makeArray(t);
200        n.each(i, function (t, e) {
201          var i,
202            a,
203            s,
204            r,
205            c,
206            l = {},
207            d = {};
208          n.isPlainObject(e) ? ((l = e), (d = e.opts || e)) : "object" === n.type(e) && n(e).length ? ((i = n(e)), (d = i.data() || {}), (d = n.extend(!0, {}, d, d.options)), (d.$orig = i), (l.src = o.opts.src || d.src || i.attr("href")), l.type || l.src || ((l.type = "inline"), (l.src = e))) : (l = { type: "html", src: e + "" }),
209            (l.opts = n.extend(!0, {}, o.opts, d)),
210            n.isArray(d.buttons) && (l.opts.buttons = d.buttons),
211            n.fancybox.isMobile && l.opts.mobile && (l.opts = h(l.opts, l.opts.mobile)),
212            (a = l.type || l.opts.type),
213            (r = l.src || ""),
214            !a && r && ((s = r.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i)) ? ((a = "video"), l.opts.video.format || (l.opts.video.format = "video/" + ("ogv" === s[1] ? "ogg" : s[1]))) : r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i) ? (a = "image") : r.match(/\.(pdf)((\?|#).*)?$/i) ? ((a = "iframe"), (l = n.extend(!0, l, { contentType: "pdf", opts: { iframe: { preload: !1 } } }))) : "#" === r.charAt(0) && (a = "inline")),
215            a ? (l.type = a) : o.trigger("objectNeedsType", l),
216            l.contentType || (l.contentType = n.inArray(l.type, ["html", "inline", "ajax"]) > -1 ? "html" : l.type),
217            (l.index = o.group.length),
218            "auto" == l.opts.smallBtn && (l.opts.smallBtn = n.inArray(l.type, ["html", "inline", "ajax"]) > -1),
219            "auto" === l.opts.toolbar && (l.opts.toolbar = !l.opts.smallBtn),
220            (l.$thumb = l.opts.$thumb || null),
221            l.opts.$trigger && l.index === o.opts.index && ((l.$thumb = l.opts.$trigger.find("img:first")), l.$thumb.length && (l.opts.$orig = l.opts.$trigger)),
222            (l.$thumb && l.$thumb.length) || !l.opts.$orig || (l.$thumb = l.opts.$orig.find("img:first")),
223            l.$thumb && !l.$thumb.length && (l.$thumb = null),
224            (l.thumb = l.opts.thumb || (l.$thumb ? l.$thumb[0].src : null)),
225            "function" === n.type(l.opts.caption) && (l.opts.caption = l.opts.caption.apply(e, [o, l])),
226            "function" === n.type(o.opts.caption) && (l.opts.caption = o.opts.caption.apply(e, [o, l])),
227            l.opts.caption instanceof n || (l.opts.caption = void 0 === l.opts.caption ? "" : l.opts.caption + ""),
228            "ajax" === l.type && ((c = r.split(/\s+/, 2)), c.length > 1 && ((l.src = c.shift()), (l.opts.filter = c.shift()))),
229            l.opts.modal && (l.opts = n.extend(!0, l.opts, { trapFocus: !0, infobar: 0, toolbar: 0, smallBtn: 0, keyboard: 0, slideShow: 0, fullScreen: 0, thumbs: 0, touch: 0, clickContent: !1, clickSlide: !1, clickOutside: !1, dblclickContent: !1, dblclickSlide: !1, dblclickOutside: !1 })),
230            o.group.push(l);
231        }),
232          Object.keys(o.slides).length && (o.updateControls(), (e = o.Thumbs
232) && e.isActive && (e.create(), e.focus()));
233      },
234      addEvents: function () {
235        var e = this;
236        e.removeEvents(),
237          e.$refs.container
238            .on("click.fb-close", "[data-fancybox-close]", function (t) {
239              t.stopPropagation(), t.preventDefault(), e.close(t);
240            })
241            .on("touchstart.fb-prev click.fb-prev", "[data-fancybox-prev]", function (t) {
242              t.stopPropagation(), t.preventDefault(), e.previous();
243            })
244            .on("touchstart.fb-next click.fb-next", "[data-fancybox-next]", function (t) {
245              t.stopPropagation(), t.preventDefault(), e.next();
246            })
247            .on("click.fb", "[data-fancybox-zoom]", function (t) {
248              e[e.isScaledDown() ? "scaleToActual" : "scaleToFit"]();
249            }),
250          s.on("orientationchange.fb resize.fb", function (t) {
251            t && t.originalEvent && "resize" === t.originalEvent.type
252              ? (e.requestId && u(e.requestId),
253                (e.requestId = d(function () {
254                  e.update(t);
255                })))
256              : (e.current && "iframe" === e.current.type && e.$refs.stage.hide(),
257                setTimeout(
258                  function () {
259                    e.$refs.stage.show(), e.update(t);
260                  },
261                  n.fancybox.isMobile ? 600 : 250
262                ));
263          }),
264          r.on("keydown.fb", function (t) {
265            var o = n.fancybox ? n.fancybox.getInstance() : null,
266              i = o.current,
267              a = t.keyCode || t.which;
268            if (9 == a) return void (i.opts.trapFocus && e.focus(t));
269            if (!(!i.opts.keyboard || t.ctrlKey || t.altKey || t.shiftKey || n(t.target).is("input,textarea,video,audio,select"))) return 8 === a || 27 === a ? (t.preventDefault(), void e.close(t)) : 37 === a || 38 === a ? (t.preventDefault(), void e.previous()) : 39 === a || 40 === a ? (t.preventDefault(), void e.next()) : void e.trigger("afterKeydown", t, a);
270          }),
271          e.group[e.currIndex].opts.idleTime &&
272            ((e.idleSecondsCounter = 0),
273            r.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle", function (t) {
274              (e.idleSecondsCounter = 0), e.isIdle && e.showControls(), (e.isIdle = !1);
275            }),
276            (e.idleInterval = t.setInterval(function () {
277              ++e.idleSecondsCounter >= e.group[e.currIndex].opts.idleTime && !e.isDragging && ((e.isIdle = !0), (e.idleSecondsCounter = 0), e.hideControls());
278            }, 1e3)));
279      },
280      removeEvents: function () {
281        var e = this;
282        s.off("orientationchange.fb resize.fb"), r.off("keydown.fb .fb-idle"), this.$refs.container.off(".fb-close .fb-prev .fb-next"), e.idleInterval && (t.clearInterval(e.idleInterval), (e.idleInterval = null));
283      },
284      previous: function (t) {
285        return this.jumpTo(this.currPos - 1, t);
286      },
287      next: function (t) {
288        return this.jumpTo(this.currPos + 1, t);
289      },
290      jumpTo: function (t, e) {
291        var o,
292          i,
293          a,
294          s,
295          r,
296          c,
297          l,
298          d,
299          u,
300          f = this,
301          h = f.group.length;
302        if (!(f.isDragging || f.isClosing || (f.isAnimating && f.firstRun))) {
303          if (((t = parseInt(t, 10)), !(a = f.current ? f.current.opts.loop : f.opts.loop) && (t < 0 || t >= h))) return !1;
304          if (((o = f.firstRun = !Object.keys(f.slides).length), (r = f.current), (f.prevIndex = f.currIndex), (f.prevPos = f.currPos), (s = f.createSlide(t)), h > 1 && ((a || s.index < h - 1) && f.createSlide(t + 1), (a || s.index > 0) && f.createSlide(t - 1)), (f.current = s), (f.currIndex = s.index), (f.currPos = s.pos), f.trigger("beforeShow", o), f.updateControls(), (s.forcedDuration = void 0), n.isNumeric(e) ? (s.forcedDuration = e) : (e = s.opts[o ? "animationDuration" : "transitionDuration"]), (e = parseInt(e, 10)), (i = f.isMoved(s)), s.$slide.addClass("fancybox-slide--current"), o)) return s.opts.animationEffect && e && f.$refs.container.css("transition-duration", e + "ms"), f.$refs.container.addClass("fancybox-is-open").trigger("focus"), f.loadSlide(s), void f.preload("image");
305          (c = n.fancybox.getTranslate(r.$slide)),
306            (l = n.fancybox.getTranslate(f.$refs.stage)),
307            n.each(f.slides, function (t, e) {
308              n.fancybox.stop(e.$slide, !0);
309            }),
310            r.pos !== s.pos && (r.isComplete = !1),
311            r.$slide.removeClass("fancybox-slide--complete fancybox-slide--current"),
312            i
313              ? ((u = c.left - (r.pos * c.width + r.pos * r.opts.gutter)),
314                n.each(f.slides, function (t, o) {
315                  o.$slide.removeClass("fancybox-animated").removeClass(function (t, e) {
316                    return (e.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" ");
317                  });
318                  var i = o.pos * c.width + o.pos * o.opts.gutter;
319                  n.fancybox.setTranslate(o.$slide, { top: 0, left: i - l.left + u }),
320                    o.pos !== s.pos && o.$slide.addClass("fancybox-slide--" + (o.pos > s.pos ? "next" : "previous")),
321                    p(o.$slide),
322                    n.fancybox.animate(o.$slide, { top: 0, left: (o.pos - s.pos) * c.width + (o.pos - s.pos) * o.opts.gutter }, e, function () {
323                      o.$slide.css({ transform: "", opacity: "" }).removeClass("fancybox-slide--next fancybox-slide--previous"), o.pos === f.currPos && f.complete();
324                    });
325                }))
326              : e &&
327                s.opts.transitionEffect &&
328                ((d = "fancybox-animated fancybox-fx-" + s.opts.transitionEffect),
329                r.$slide.addClass("fancybox-slide--" + (r.pos > s.pos ? "next" : "previous")),
330                n.fancybox.animate(
331                  r.$slide,
332                  d,
333                  e,
334                  function () {
335                    r.$slide.removeClass(d).removeClass("fancybox-slide--next fancybox-slide--previous");
336                  },
337                  !1
338                )),
339            s.isLoaded ? f.revealContent(s) : f.loadSlide(s),
340            f.preload("image");
341        }
342      },
343      createSlide: function (t) {
344        var e,
345          o,
346          i = this;
347        return (o = t % i.group.length), (o = o < 0 ? i.group.length + o : o), !i.slides[t] && i.group[o] && ((e = n('<div class="fancybox-slide"></div>').appendTo(i.$refs.stage)), (i.slides[t] = n.extend(!0, {}, i.group[o], { pos: t, $slide: e, isLoaded: !1 })), i.updateSlide(i.slides[t])), i.slides[t];
348      },
349      scaleToActual: function (t, e, o) {
350        var i,
351          a,
352          s,
353          r,
354          c,
355          l = this,
356          d = l.current,
357          u = d.$content,
358          f = n.fancybox.getTranslate(d.$slide).width,
359          p = n.fancybox.getTranslate(d.$slide).height,
360          h = d.width,
361          g = d.height;
362        l.isAnimating ||
363          l.isMoved() ||
364          !u ||
365          "image" != d.type ||
366          !d.isLoaded ||
367          d.hasError ||
368          ((l.isAnimating = !0),
369          n.fancybox.stop(u),
370          (t = void 0 === t ? 0.5 * f : t),
371          (e = void 0 === e ? 0.5 * p : e),
372          (i = n.fancybox.getTranslate(u)),
373          (i.top -= n.fancybox.getTranslate(d.$slide).top),
374          (i.left -= n.fancybox.getTranslate(d.$slide).left),
375          (r = h / i.width),
376          (c = g / i.height),
377          (a = 0.5 * f - 0.5 * h),
378          (s = 0.5 * p - 0.5 * g),
379          h > f && ((a = i.left * r - (t * r - t)), a > 0 && (a = 0), a < f - h && (a = f - h)),
380          g > p && ((s = i.top * c - (e * c - e)), s > 0 && (s = 0), s < p - g && (s = p - g)),
381          l.updateCursor(h, g),
382          n.fancybox.animate(u, { top: s, left: a, scaleX: r, scaleY: c }, o || 366, function () {
383            l.isAnimating = !1;
384          }),
385          l.SlideShow && l.SlideShow.isActive && l.SlideShow.stop());
386      },
387      scaleToFit: function (t) {
388        var e,
389          o = this,
390          i = o.current,
391          a = i.$content;
392        o.isAnimating ||
393          o.isMoved() ||
394          !a ||
395          "image" != i.type ||
396          !i.isLoaded ||
397          i.hasError ||
398          ((o.isAnimating = !0),
399          n.fancybox.stop(a),
400          (e = o.getFitPos(i)),
401          o.updateCursor(e.width, e.height),
402          n.fancybox.animate(a, { top: e.top, left: e.left, scaleX: e.width / a.width(), scaleY: e.height / a.height() }, t || 366, function () {
403            o.isAnimating = !1;
404          }));
405      },
406      getFitPos: function (t) {
407        var e,
408          o,
409          i,
410          a,
411          s = this,
412          r = t.$content,
413          c = t.$slide,
414          l = t.width || t.opts.width,
415          d = t.height || t.opts.height,
416          u = {};
417        return !!(t.isLoaded && r && r.length) && ((e = n.fancybox.getTranslate(s.$refs.stage).width), (o = n.fancybox.getTranslate(s.$refs.stage).height), (e -= parseFloat(c.css("paddingLeft")) + parseFloat(c.css("paddingRight")) + parseFloat(r.css("marginLeft")) + parseFloat(r.css("marginRight"))), (o -= parseFloat(c.css("paddingTop")) + parseFloat(c.css("paddingBottom")) + parseFloat(r.css("marginTop")) + parseFloat(r.css("marginBottom"))), (l && d) || ((l = e), (d = o)), (i = Math.min(1, e / l, o / d)), (l *= i), (d *= i), l > e - 0.5 && (l = e), d > o - 0.5 && (d = o), "image" === t.type ? ((u.top = Math.floor(0.5 * (o - d)) + parseFloat(c.css("paddingTop"))), (u.left = Math.floor(0.5 * (e - l)) + parseFloat(c.css("paddingLeft")))) : "video" === t.contentType && ((a = t.opts.width && t.opts.height ? l / d : t.opts.ratio || 16 / 9), d > l / a ? (d = l / a) : l > d * a && (l = d * a)), (u.width = l), (u.height = d), u);
418      },
419      update: function (t) {
420        var e = this;
421        n.each(e.slides, function (n, o) {
422          e.updateSlide(o, t);
423        });
424      },
425      updateSlide: function (t, e) {
426        var o = this,
427          i = t && t.$content,
428          a = t.width || t.opts.width,
429          s = t.height || t.opts.height,
430          r = t.$slide;
431        o.adjustCaption(t), i && (a || s || "video" === t.contentType) && !t.hasError && (n.fancybox.stop(i), n.fancybox.setTranslate(i, o.getFitPos(t)), t.pos === o.currPos && ((o.isAnimating = !1), o.updateCursor(
431))), o.adjustLayout(t), r.length && (r.trigger("refresh"), t.pos === o.currPos && o.$refs.toolbar.add(o.$refs.navigation.find(".fancybox-button--arrow_right")).toggleClass("compensate-for-scrollbar", r.get(0).scrollHeight > r.get(0).clientHeight)), o.trigger("onUpdate", t, e);
432      },
433      centerSlide: function (t) {
434        var e = this,
435          o = e.current,
436          i = o.$slide;
437        !e.isClosing &&
438          o &&
439          (i.siblings().css({ transform: "", opacity: "" }),
440          i.parent().children().removeClass("fancybox-slide--previous fancybox-slide--next"),
441          n.fancybox.animate(
442            i,
443            { top: 0, left: 0, opacity: 1 },
444            void 0 === t ? 0 : t,
445            function () {
446              i.css({ transform: "", opacity: "" }), o.isComplete || e.complete();
447            },
448            !1
449          ));
450      },
451      isMoved: function (t) {
452        var e,
453          o,
454          i = t || this.current;
455        return !!i && ((o = n.fancybox.getTranslate(this.$refs.stage)), (e = n.fancybox.getTranslate(i.$slide)), !i.$slide.hasClass("fancybox-animated") && (Math.abs(e.top - o.top) > 0.5 || Math.abs(e.left - o.left) > 0.5));
456      },
457      updateCursor: function (t, e) {
458        var o,
459          i,
460          a = this,
461          s = a.current,
462          r = a.$refs.container;
463        s && !a.isClosing && a.Guestures && (r.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan"), (o = a.canPan(t, e)), (i = !!o || a.isZoomable()), r.toggleClass("fancybox-is-zoomable", i), n("[data-fancybox-zoom]").prop("disabled", !i), o ? r.addClass("fancybox-can-pan") : i && ("zoom" === s.opts.clickContent || (n.isFunction(s.opts.clickContent) && "zoom" == s.opts.clickContent(s))) ? r.addClass("fancybox-can-zoomIn") : s.opts.touch && (s.opts.touch.vertical || a.group.length > 1) && "video" !== s.contentType && r.addClass("fancybox-can-swipe"));
464      },
465      isZoomable: function () {
466        var t,
467          e = this,
468          n = e.current;
469        if (n && !e.isClosing && "image" === n.type && !n.hasError) {
470          if (!n.isLoaded) return !0;
471          if ((t = e.getFitPos(n)) && (n.width > t.width || n.height > t.height)) return !0;
472        }
473        return !1;
474      },
475      isScaledDown: function (t, e) {
476        var o = this,
477          i = !1,
478          a = o.current,
479          s = a.$content;
480        return void 0 !== t && void 0 !== e ? (i = t < a.width && e < a.height) : s && ((i = n.fancybox.getTranslate(s)), (i = i.width < a.width && i.height < a.height)), i;
481      },
482      canPan: function (t, e) {
483        var o = this,
484          i = o.current,
485          a = null,
486          s = !1;
487        return "image" === i.type && (i.isComplete || (t && e)) && !i.hasError && ((s = o.getFitPos(i)), void 0 !== t && void 0 !== e ? (a = { width: t, height: e }) : i.isComplete && (a = n.fancybox.getTranslate(i.$content)), a && s && (s = Math.abs(a.width - s.width) > 1.5 || Math.abs(a.height - s.height) > 1.5)), s;
488      },
489      loadSlide: function (t) {
490        var e,
491          o,
492          i,
493          a = this;
494        if (!t.isLoading && !t.isLoaded) {
495          if (((t.isLoading = !0), !1 === a.trigger("beforeLoad", t))) return (t.isLoading = !1), !1;
496          switch (((e = t.type), (o = t.$slide), o.off("refresh").trigger("onReset").addClass(t.opts.slideClass), e)) {
497            case "image":
498              a.setImage(t);
499              break;
500            case "iframe":
501              a.setIframe(t);
502              break;
503            case "html":
504              a.setContent(t, t.src || t.content);
505              break;
506            case "video":
507              a.setContent(
508                t,
509                t.opts.video.tpl
510                  .replace(/\{\{src\}\}/gi, t.src)
511                  .replace("{{format}}", t.opts.videoFormat || t.opts.video.format || "")
512                  .replace("{{poster}}", t.thumb || "")
513              );
514              break;
515            case "inline":
516              n(t.src).length ? a.setContent(t, n(t.src)) : a.setError(t);
517              break;
518            case "ajax":
519              a.showLoading(t),
520                (i = n.ajax(
521                  n.extend({}, t.opts.ajax.settings, {
522                    url: t.src,
523                    success: function (e, n) {
524                      "success" === n && a.setContent(t, e);
525                    },
526                    error: function (e, n) {
527                      e && "abort" !== n && a.setError(t);
528                    },
529                  })
530                )),
531                o.one("onReset", function () {
532                  i.abort();
533                });
534              break;
535            default:
536              a.setError(t);
537          }
538          return !0;
539        }
540      },
541      setImage: function (t) {
542        var o,
543          i = this;
544        setTimeout(function () {
545          var e = t.$image;
546          i.isClosing || !t.isLoading || (e && e.length && e[0].complete) || t.hasError || i.showLoading(t);
547        }, 50),
548          i.checkSrcset(t),
549          (t.$content = n('<div class="fancybox-content"></div>').addClass("fancybox-is-hidden").appendTo(t.$slide.addClass("fancybox-slide--image"))),
550          !1 !== t.opts.preload &&
551            t.opts.width &&
552            t.opts.height &&
553            t.thumb &&
554            ((t.width = t.opts.width),
555            (t.height = t.opts.height),
556            (o = e.createElement("img")),
557            (o.onerror = function () {
558              n(this).remove(), (t.$ghost = null);
559            }),
560            (o.onload = function () {
561              i.afterLoad(t);
562            }),
563            (t.$ghost = n(o).addClass("fancybox-image").appendTo(t.$content).attr("src", t.thumb))),
564          i.setBigImage(t);
565      },
566      checkSrcset: function (e) {
567        var n,
568          o,
569          i,
570          a,
571          s = e.opts.srcset || e.opts.image.srcset;
572        if (s) {
573          (i = t.devicePixelRatio || 1),
574            (a = t.innerWidth * i),
575            (o = s.split(",").map(function (t) {
576              var e = {};
577              return (
578                t
579                  .trim()
580                  .split(/\s+/)
581                  .forEach(function (t, n) {
582                    var o = parseInt(t.substring(0, t.length - 1), 10);
583                    if (0 === n) return (e.url = t);
584                    o && ((e.value = o), (e.postfix = t[t.length - 1]));
585                  }),
586                e
587              );
588            })),
589            o.sort(function (t, e) {
590              return t.value - e.value;
591            });
592          for (var r = 0; r < o.length; r++) {
593            var c = o[r];
594            if (("w" === c.postfix && c.value >= a) || ("x" === c.postfix && c.value >= i)) {
595              n = c;
596              break;
597            }
598          }
599          !n && o.length && (n = o[o.length - 1]), n && ((e.src = n.url), e.width && e.height && "w" == n.postfix && ((e.height = (e.width / e.height) * n.value), (e.width = n.value)), (e.opts.srcset = s));
600        }
601      },
602      setBigImage: function (t) {
603        var o = this,
604          i = e.createElement("img"),
605          a = n(i);
606        (t.$image = a
607          .one("error", function () {
608            o.setError(t);
609          })
610          .one("load", function () {
611            var e;
612            t.$ghost || (o.resolveImageSlideSize(t, this.naturalWi
612dth, this.naturalHeight), o.afterLoad(t)),
613              o.isClosing ||
614                (t.opts.srcset && ((e = t.opts.sizes), (e && "auto" !== e) || (e = (t.width / t.height > 1 && s.width() / s.height() > 1 ? "100" : Math.round((t.width / t.height) * 100)) + "vw"), a.attr("sizes", e).attr("srcset", t.opts.srcset)),
615                t.$ghost &&
616                  setTimeout(function () {
617                    t.$ghost && !o.isClosing && t.$ghost.hide();
618                  }, Math.min(300, Math.max(1e3, t.height / 1600))),
619                o.hideLoading(t));
620          })
621          .addClass("fancybox-image")
622          .attr("src", t.src)
623          .appendTo(t.$content)),
624          (i.complete || "complete" == i.readyState) && a.naturalWidth && a.naturalHeight ? a.trigger("load") : i.error && a.trigger("error");
625      },
626      resolveImageSlideSize: function (t, e, n) {
627        var o = parseInt(t.opts.width, 10),
628          i = parseInt(t.opts.height, 10);
629        (t.width = e), (t.height = n), o > 0 && ((t.width = o), (t.height = Math.floor((o * n) / e))), i > 0 && ((t.width = Math.floor((i * e) / n)), (t.height = i));
630      },
631      setIframe: function (t) {
632        var e,
633          o = this,
634          i = t.opts.iframe,
635          a = t.$slide;
636        (t.$content = n('<div class="fancybox-content' + (i.preload ? " fancybox-is-hidden" : "") + '"></div>')
637          .css(i.css)
638          .appendTo(a)),
639          a.addClass("fancybox-slide--" + t.contentType),
640          (t.$iframe = e =
641            n(i.tpl.replace(/\{rnd\}/g, new Date().getTime()))
642              .attr(i.attr)
643              .appendTo(t.$content)),
644          i.preload
645            ? (o.showLoading(t),
646              e.on("load.fb error.fb", function (e) {
647                (this.isReady = 1), t.$slide.trigger("refresh"), o.afterLoad(t);
648              }),
649              a.on("refresh.fb", function () {
650                var n,
651                  o,
652                  s = t.$content,
653                  r = i.css.width,
654                  c = i.css.height;
655                if (1 === e[0].isReady) {
656                  try {
657                    (n = e.contents()), (o = n.find("body"));
658                  } catch (t) {}
659                  o && o.length && o.children().length && (a.css("overflow", "visible"), s.css({ width: "100%", "max-width": "100%", height: "9999px" }), void 0 === r && (r = Math.ceil(Math.max(o[0].clientWidth, o.outerWidth(!0)))), s.css("width", r || "").css("max-width", ""), void 0 === c && (c = Math.ceil(Math.max(o[0].clientHeight, o.outerHeight(!0)))), s.css("height", c || ""), a.css("overflow", "auto")), s.removeClass("fancybox-is-hidden");
660                }
661              }))
662            : o.afterLoad(t),
663          e.attr("src", t.src),
664          a.one("onReset", function () {
665            try {
666              n(this).find("iframe").hide().unbind().attr("src", "//about:blank");
667            } catch (t) {}
668            n(this).off("refresh.fb").empty(), (t.isLoaded = !1), (t.isRevealed = !1);
669          });
670      },
671      setContent: function (t, e) {
672        var o = this;
673        o.isClosing ||
674          (o.hideLoading(t),
675          t.$content && n.fancybox.stop(t.$content),
676          t.$slide.empty(),
677          l(e) && e.parent().length ? ((e.hasClass("fancybox-content") || e.parent().hasClass("fancybox-content")) && e.parents(".fancybox-slide").trigger("onReset"), (t.$placeholder = n("<div>").hide().insertAfter(e)), e.css("display", "inline-block")) : t.hasError || ("string" === n.type(e) && (e = n("<div>").append(n.trim(e)).contents()), t.opts.filter && (e = n("<div>").html(e).find(t.opts.filter))),
678          t.$slide.one("onReset", function () {
679            n(this).find("video,audio").trigger("pause"), t.$placeholder && (t.$placeholder.after(e.removeClass("fancybox-content").hide()).remove(), (t.$placeholder = null)), t.$smallBtn && (t.$smallBtn.remove(), (t.$smallBtn = null)), t.hasError || (n(this).empty(), (t.isLoaded = !1), (t.isRevealed = !1));
680          }),
681          n(e).appendTo(t.$slide),
682          n(e).is("video,audio") && (n(e).addClass("fancybox-video"), n(e).wrap("<div></div>"), (t.contentType = "video"), (t.opts.width = t.opts.width || n(e).attr("width")), (t.opts.height = t.opts.height || n(e).attr("height"))),
683          (t.$content = t.$slide.children().filter("div,form,main,video,audio,article,.fancybox-content").first()),
684          t.$content.siblings().hide(),
685          t.$content.length || (t.$content = t.$slide.wrapInner("<div></div>").children().first()),
686          t.$content.addClass("fancybox-content"),
687          t.$slide.addClass("fancybox-slide--" + t.contentType),
688          o.afterLoad(t));
689      },
690      setError: function (t) {
691        (t.hasError = !0),
692          t.$slide
693            .trigger("onReset")
694            .removeClass("fancybox-slide--" + t.contentType)
695            .addClass("fancybox-slide--error"),
696          (t.contentType = "html"),
697          this.setContent(t, this.translate(t, t.opts.errorTpl)),
698          t.pos === this.currPos && (this.isAnimating = !1);
699      },
700      showLoading: function (t) {
701        var e = this;
702        (t = t || e.current) && !t.$spinner && (t.$spinner = n(e.translate(e, e.opts.spinnerTpl)).appendTo(t.$slide).hide().fadeIn("fast"));
703      },
704      hideLoading: function (t) {
705        var e = this;
706        (t = t || e.current) && t.$spinner && (t.$spinner.stop().remove(), delete t.$spinner);
707      },
708      afterLoad: function (t) {
709        var e = this;
710        e.isClosing ||
711          ((t.isLoading = !1),
712          (t.isLoaded = !0),
713          e.trigger("afterLoad", t),
714          e.hideLoading(t),
715          !t.opts.smallBtn || (t.$smallBtn && t.$smallBtn.length) || (t.$smallBtn = n(e.translate(t, t.opts.btnTpl.smallBtn)).appendTo(t.$content)),
716          t.opts.protect &&
717            t.$content &&
718            !t.hasError &&
719            (t.$content.on("contextmenu.fb", function (t) {
720              return 2 == t.button && t.preventDefault(), !0;
721            }),
722            "image" === t.type && n('<div class="fancybox-spaceball"></div>').appendTo(t.$content)),
723          e.adjustCaption(t),
724          e.adjustLayout(t),
725          t.pos === e.currPos && e.updateCursor(),
726          e.revealContent(t));
727      },
728      adjustCaption: function (t) {
729        var e,
730          n = this,
731          o = t || n.current,
732          i = o.opts.caption,
733          a = o.opts.preventCaptionOverlap,
734          s = n.$refs.caption,
735          r = !1;
736        s.toggleClass("fancybox-caption--separate", a), a && i && i.length && (o.pos !== n.currPos ? ((e = s.clone().appendTo(s.parent())), e.children().eq(0).empty().html(i), (r = e.outerHeight(!0)), e.empty().remove()) : n.$caption && (r = n.$caption.outerHeight(!0)), o.$slide.css("padding-bottom", r || ""));
737      },
738      adjustLayout: function (t) {
739        var e,
740          n,
741          o,
742          i,
743          a = this,
744          s = t || a.current;
745        s.isLoaded && !0 !== s.opts.disableLayoutFix && (s.$content.css("margin-bottom", ""), s.$content.outerHeight() > s.$slide.height() + 0.5 && ((o = s.$slide[0].style["padding-bottom"]), (i = s.$slide.css("padding-bottom")), parseFloat(i) > 0 && ((e = s.$slide[0].scrollHeight), s.$slide.css("padding-bottom", 0), Math.abs(e - s.$slide[0].scrollHeight) < 1 && (n = i), s.$slide.css("padding-bottom", o))), s.$content.css("margin-bottom", n));
746      },
747      revealContent: function (t) {
748        var e,
749          o,
750          i,
751          a,
752          s = this,
753          r = t.$slide,
754          c = !1,
755          l = !1,
756          d = s.isMoved(t),
757          u = t.isRevealed;
758        return (
759          (t.isRevealed = !0),
760          (e = t.opts[s.firstRun ? "animationEffect" : "transitionEffect"]),
761          (i = t.opts[s.firstRun ? "animationDuration" : "transitionDuration"]),
762          (i = parseInt(void 0 === t.forcedDuration ? i : t.forcedDuration, 10)),
763          (!d && t.pos === s.currPos && i) || (e = !1),
764          "zoom" === e && (t.pos === s.currPos && i && "image" === t.type && !t.hasError && (l = s.getThumbPos(t)) ? (c = s.getFitPos(t)) : (e = "fade")),
765          "zoom" === e
766            ? ((s.isAnimating = !0),
767              (c.scaleX = c.width / l.width),
768              (c.scaleY = c.height / l.height),
769              (a = t.opts.zoomOpacity),
770              "auto" == a && (a = Math.abs(t.width / t.height - l.width / l.height) > 0.1),
771              a && ((l.opacity = 0.1), (c.opacity = 1)),
772              n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"), l),
773              p(t.$content),
774              void n.fancybox.animate(t.$content, c, i, function () {
775                (s.isAnimating = !1), s.complete();
776              }))
777            : (s.updateSlide(t),
778              e
779                ? (n.fancybox.stop(r),
780                  (o = "fancybox-slide--" + (t.pos >= s.prevPos ? "next" : "previous") + " fancybox-animated fancybox-fx-" + e),
781                  r.addClass(o).removeClass("fancybox-slide--current"),
782                  t.$content.removeClass("fancybox-is-hidden"),
783                  p(r),
784                  "image" !== t.type && t.$content.hide().show(0),
785                  void n.fancybox.animate(
786                    r,
787                    "fancybox-slide--current",
788                    i,
789                    function () {
790                      r.removeClass(o).css({ transform: "", opacity: "" }), t.pos === s.currPos && s.complete();
791                    },
792                    !0
793                  ))
794                : (t.$content.removeClass("fancybox-is-hidden"), u || !d || "image" !== t.type || t.hasError || t.$content.hide().fadeIn("fast"), void (t.pos === s.currPos && s.complete())))
795        );
796      },
797      getThumbPos: function (t) {
798        var e,
799          o,
800          i,
801          a,
802          s,
803          r = !1,
804          c = t.$thumb;
805        return !(!c || !g(c[0])) && ((e = n.fancybox.getTranslate(c)), (o = parseFloat(c.css("border-top-width") || 0)), (i = parseFloat(c.css("border-right-width") || 0)), (a = parseFloat(c.css("border-bottom-width") || 0)), (s = parseFloat(c.css("border-left-width") || 0)), (r = { top: e.top + o, left: e.left + s, width: e.width - i - s, height: e.height - o - a, scaleX: 1, scaleY: 1 }
805), e.width > 0 && e.height > 0 && r);
806      },
807      complete: function () {
808        var t,
809          e = this,
810          o = e.current,
811          i = {};
812        !e.isMoved() &&
813          o.isLoaded &&
814          (o.isComplete ||
815            ((o.isComplete = !0),
816            o.$slide.siblings().trigger("onReset"),
817            e.preload("inline"),
818            p(o.$slide),
819            o.$slide.addClass("fancybox-slide--complete"),
820            n.each(e.slides, function (t, o) {
821              o.pos >= e.currPos - 1 && o.pos <= e.currPos + 1 ? (i[o.pos] = o) : o && (n.fancybox.stop(o.$slide), o.$slide.off().remove());
822            }),
823            (e.slides = i)),
824          (e.isAnimating = !1),
825          e.updateCursor(),
826          e.trigger("afterShow"),
827          o.opts.video.autoStart &&
828            o.$slide
829              .find("video,audio")
830              .filter(":visible:first")
831              .trigger("play")
832              .one("ended", function () {
833                Document.exitFullscreen ? Document.exitFullscreen() : this.webkitExitFullscreen && this.webkitExitFullscreen(), e.next();
834              }),
835          o.opts.autoFocus && "html" === o.contentType && ((t = o.$content.find("input[autofocus]:enabled:visible:first")), t.length ? t.trigger("focus") : e.focus(null, !0)),
836          o.$slide.scrollTop(0).scrollLeft(0));
837      },
838      preload: function (t) {
839        var e,
840          n,
841          o = this;
842        o.group.length < 2 || ((n = o.slides[o.currPos + 1]), (e = o.slides[o.currPos - 1]), e && e.type === t && o.loadSlide(e), n && n.type === t && o.loadSlide(n));
843      },
844      focus: function (t, o) {
845        var i,
846          a,
847          s = this,
848          r = ["a[href]", "area[href]", 'input:not([disabled]):not([type="hidden"]):not([aria-hidden])', "select:not([disabled]):not([aria-hidden])", "textarea:not([disabled]):not([aria-hidden])", "button:not([disabled]):not([aria-hidden])", "iframe", "object", "embed", "video", "audio", "[contenteditable]", '[tabindex]:not([tabindex^="-"])'].join(",");
849        s.isClosing ||
850          ((i = !t && s.current && s.current.isComplete ? s.current.$slide.find("*:visible" + (o ? ":not(.fancybox-close-small)" : "")) : s.$refs.container.find("*:visible")),
851          (i = i.filter(r).filter(function () {
852            return "hidden" !== n(this).css("visibility") && !n(this).hasClass("disabled");
853          })),
854          i.length ? ((a = i.index(e.activeElement)), t && t.shiftKey ? (a < 0 || 0 == a) && (t.preventDefault(), i.eq(i.length - 1).trigger("focus")) : (a < 0 || a == i.length - 1) && (t && t.preventDefault(), i.eq(0).trigger("focus"))) : s.$refs.container.trigger("focus"));
855      },
856      activate: function () {
857        var t = this;
858        n(".fancybox-container").each(function () {
859          var e = n(this).data("FancyBox");
860          e && e.id !== t.id && !e.isClosing && (e.trigger("onDeactivate"), e.removeEvents(), (e.isVisible = !1));
861        }),
862          (t.isVisible = !0),
863          (t.current || t.isIdle) && (t.update(), t.updateControls()),
864          t.trigger("onActivate"),
865          t.addEvents();
866      },
867      close: function (t, e) {
868        var o,
869          i,
870          a,
871          s,
872          r,
873          c,
874          l,
875          u = this,
876          f = u.current,
877          h = function () {
878            u.cleanUp(t);
879          };
880        return (
881          !u.isClosing &&
882          ((u.isClosing = !0),
883          !1 === u.trigger("beforeClose", t)
884            ? ((u.isClosing = !1),
885              d(function () {
886                u.update();
887              }),
888              !1)
889            : (u.removeEvents(),
890              (a = f.$content),
891              (o = f.opts.animationEffect),
892              (i = n.isNumeric(e) ? e : o ? f.opts.animationDuration : 0),
893              f.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"),
894              !0 !== t ? n.fancybox.stop(f.$slide) : (o = !1),
895              f.$slide.siblings().trigger("onReset").remove(),
896              i &&
897                u.$refs.container
898                  .removeClass("fancybox-is-open")
899                  .addClass("fancybox-is-closing")
900                  .css("transition-duration", i + "ms"),
901              u.hideLoading(f),
902              u.hideControls(!0),
903              u.updateCursor(),
904              "zoom" !== o || (a && i && "image" === f.type && !u.isMoved() && !f.hasError && (l = u.getThumbPos(f))) || (o = "fade"),
905              "zoom" === o ? (n.fancybox.stop(a), (s = n.fancybox.getTranslate(a)), (c = { top: s.top, left: s.left, scaleX: s.width / l.width, scaleY: s.height / l.height, width: l.width, height: l.height }), (r = f.opts.zoomOpacity), "auto" == r && (r = Math.abs(f.width / f.height - l.width / l.height) > 0.1), r && (l.opacity = 0), n.fancybox.setTranslate(a, c), p(a), n.fancybox.animate(a, l, i, h), !0) : (o && i ? n.fancybox.animate(f.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"), "fancybox-animated fancybox-fx-" + o, i, h) : !0 === t ? setTimeout(h, i) : h(), !0)))
906        );
907      },
908      cleanUp: function (e) {
909        var o,
910          i,
911          a,
912          s = this,
913          r = s.current.opts.$orig;
914        s.current.$slide.trigger("onReset"), s.$refs.container.empty().remove(), s.trigger("afterClose", e), s.current.opts.backFocus && ((r && r.length && r.is(":visible")) || (r = s.$trigger), r && r.length && ((i = t.scrollX), (a = t.scrollY), r.trigger("focus"), n("html, body").scrollTop(a).scrollLeft(i))), (s.current = null), (o = n.fancybox.getInstance()), o ? o.activate() : (n("body").removeClass("fancybox-active compensate-for-scrollbar"), n("#fancybox-style-noscroll").remove());
915      },
916      trigger: function (t, e) {
917        var o,
918          i = Array.prototype.slice.call(arguments, 1),
919          a = this,
920          s = e && e.opts ? e : a.current;
921        if ((s ? i.unshift(s) : (s = a), i.unshift(a), n.isFunction(s.opts[t]) && (o = s.opts[t].apply(s, i)), !1 === o)) return o;
922        "afterClose" !== t && a.$refs ? a.$refs.container.trigger(t + ".fb", i) : r.trigger(t + ".fb", i);
923      },
924      updateControls: function () {
925        var t = this,
926          o = t.current,
927          i = o.index,
928          a = t.$refs.container,
929          s = t.$refs.caption,
930          r = o.opts.caption;
931        o.$slide.trigger("refresh"),
932          r && r.length ? ((t.$caption = s), s.children().eq(0).html(r)) : (t.$caption = null),
933          t.hasHiddenControls || t.isIdle || t.showControls(),
934          a.find("[data-fancybox-count]").html(t.group.length),
935          a.find("[data-fancybox-index]").html(i + 1),
936          a.find("[data-fancybox-prev]").prop("disabled", !o.opts.loop && i <= 0),
937          a.find("[data-fancybox-next]").prop("disabled", !o.opts.loop && i >= t.group.length - 1),
938          "image" === o.type
939            ? a
940                .find("[data-fancybox-zoom]")
941                .show()
942                .end()
943                .find("[data-fancybox-download]")
944                .attr("href", o.opts.image.src || o.src)
945                .show()
946            : o.opts.toolbar && a.find("[data-fancybox-download],[data-fancybox-zoom]").hide(),
947          n(e.activeElement).is(":hidden,[disabled]") && t.$refs.container.trigger("focus");
948      },
949      hideControls: function (t) {
950        var e = this,
951          n = ["infobar", "toolbar", "nav"];
952        (!t && e.current.opts.preventCaptionOverlap) || n.push("caption"),
953          this.$refs.container.removeClass(
954            n
955              .map(function (t) {
956                return "fancybox-show-" + t;
957              })
958              .join(" ")
959          ),
960          (this.hasHiddenControls = !0);
961      },
962      showControls: function () {
963        var t = this,
964          e = t.current ? t.current.opts : t.opts,
965          n = t.$refs.container;
966        (t.hasHiddenControls = !1),
967          (t.idleSecondsCounter = 0),
968          n
969            .toggleClass("fancybox-show-toolbar", !(!e.toolbar || !e.buttons))
970            .toggleClass("fancybox-show-infobar", !!(e.infobar && t.group.length > 1))
971            .toggleClass("fancybox-show-caption", !!t.$caption)
972            .toggleClass("fancybox-show-nav", !!(e.arrows && t.group.length > 1))
973            .toggleClass("fancybox-is-modal", !!e.modal);
974      },
975      toggleControls: function () {
976        this.hasHiddenControls ? this.showControls() : this.hideControls();
977      },
978    }),
979      (n.fancybox = {
980        version: "3.5.7",
981        defaults: a,
982        getInstance: function (t) {
983          var e = n('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),
984            o = Array.prototype.slice.call(arguments, 1);
985          return e instanceof b && ("string" === n.type(t) ? e[t].apply(e, o) : "function" === n.type(t) && t.apply(e, o), e);
986        },
987        open: function (t, e, n) {
988          return new b(t, e, n);
989        },
990        close: function (t) {
991          var e = this.getInstance();
992          e && (e.close(), !0 === t && this.close(t));
993        },
994        destroy: function () {
995          this.close(!0), r.add("body").off("click.fb-start", "**");
996        },
997        isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),
998        use3d: (function () {
999          var n = e.createElement("div");
1000          return t.getComputedStyle && t.getComputedStyle(n) && t.getComputedStyle(n).getPropertyValue("transform") && !(e.documentMode && e.documentMode < 11);
1001        })(),
1002        getTranslate: function (t) {
1003          var e;
1004          return !(!t || !t.length) && ((e = t[0].getBoundingClientRect()), { top: e.top || 0, left: e.left || 0, width: e.width, height: e.height, opacity: parseFloat(t.css("opacity")) });
1005        },
1006        setTranslate: function (t, e) {
1007          var n = "",
1008            o = {};
1009          if (t && e) return (void 0 === e.left && void 0 === e.top) || ((n = (void 0 === e.left ? t.position().left : e.left) + "px, " + (void 0 === e.top ? t.position().top : e.top) + "px"), (n = this.use3d ? "translate3d(" + n + ", 0px)" : "translate(" + n + ")")), void 0 !== e.scaleX && void 0 !== e.scaleY ? (n += " scale(" + e.scaleX + ", " + e.scaleY + ")") : void 0 !== e.scaleX && (n += " scaleX(" + e.scaleX + ")"), n.length && (o.transform = n), void 0 !== e.opacity && (o.opacity = e.opacity), void 0 !== e.width && (o.width = e.width), void 0 !== e.height && (o.height = e.height), t.css(o);
1010        },
1011        animate: function (t, e, o, i, a) {
1012          var s,
1013            r = this;
1014          n.isFunction(o) && ((i = o), (o = null)),
1015            r.stop(t),
1016            (s = r.getTranslate(t)),
1017            t.on(f, function (c) {
1018              (!c || !c.originalEvent || (t.is(c.originalEvent.target) && "z-index" != c.originalEvent.propertyName)) && (r.stop(t), n.isNumeric(o) && t.css("transition-duration", ""), n.isPlainObject(e) ? void 0 !== e.scaleX && void 0 !== e.scaleY && r.setTranslate(t, { top: e.top, left: e.left, width: s.width * e.scaleX, height: s.height * e.scaleY, scaleX: 1, scaleY: 1 }) : !0 !== a && t.removeClass(e), n.isFunction(i) && i(c));
1019            }),
1020            n.isNumeric(o) && t.css("transition-duration", o + "ms"),
1021            n.isPlainObject(e) ? (void 0 !== e.scaleX && void 0 !== e.scaleY && (delete e.width, delete e.height, t.parent().hasClass("fancybox-slide--image") && t.parent().addClass("fancybox-is-scaling")), n.fancybox.setTranslate(t, e)) : t.addClass(e),
1022            t.data(
1023              "timer",
1024              setTimeout(function () {
1025                t.trigger(f);
1026              }, o + 33)
1027            );
1028        },
1029        stop: function (t, e) {
1030          t && t.length && (clearTimeout(t.data("timer")), e && t.trigger(f), t.off(f).css("transition-duration", ""), t.parent().removeClass("fancybox-is-scaling"));
1031        },
1032      }),
1033      (n.fn.fancybox = function (t) {
1034        var e;
1035        return (t = t || {}), (e = t.selector || !1), e ? n("body").off("click.fb-start", e).on("click.fb-start", e, { options: t }, i) : this.off("click.fb-start").on("click.fb-start", { items: this, options: t }, i), this;
1036      }),
1037      r.on("click.fb-start", "[data-fancybox]", i),
1038      r.on("click.fb-start", "[data-fancybox-trigger]", function (t) {
1039        n('[data-fancybox="' + n(this).attr("data-fancybox-trigger") + '"]')
1040          .eq(n(this).attr("data-fancybox-index") || 0)
1041          .trigger("click.fb-start", { $trigger: n(this) });
1042      }),
1043      (function () {
1044        var t = null;
1045        r.on("mousedown mouseup focus blur", ".fancybox-button", function (e) {
1046          switch (e.type) {
1047            case "mousedown":
1048              t = n(this);
1049              break;
1050            case "mouseup":
1051              t = null;
1052              break;
1053            case "focusin":
1054              n(".fancybox-button").removeClass("fancybox-focus"), n(this).is(t) || n(this).is("[disabled]") || n(this).addClass("fancybox-focus");
1055              break;
1056            case "focusout":
1057              n(".fancybox-button").removeClass("fancybox-focus");
1058          }
1059        });
1060      })();
1061  }
1062})(window, document, jQuery),
1063  (function (t) {
1064    "use strict";
1065    var e = {
1066        youtube: { matcher: /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i, params: { autoplay: 1, autohide: 1, fs: 1, rel: 0, hd: 1, wmode: "transparent", enablejsapi: 1, html5: 1 }, paramPlace: 8, type: "iframe", url: "https://www.youtube-nocookie.com/embed/$4", thumb: "https://img.youtube.com/vi/$4/hqdefault.jpg" },
1067        vimeo: { matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/, params: { autoplay: 1, hd: 1, show_title: 1, show_byline: 1, show_portrait: 0, fullscreen: 1 }, paramPlace: 3, type: "iframe", url: "//player.vimeo.com/video/$2" },
1068        instagram: { matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i, type: "image", url: "//$1/p/$2/media/?size=l" },
1069        gmap_place: {
1070          matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,
1071          type: "iframe",
1072          url: function (t) {
1073            return "//maps.google." + t[2] + "/?ll=" + (t[9] ? t[9] + "&z=" + Math.floor(t[10]) + (t[12] ? t[12].replace(/^\//, "&") : "") : t[12] + "").replace(/\?/, "&") + "&output=" + (t[12] && t[12].indexOf("layer=c") > 0 ? "svembed" : "embed");
1074          },
1075        },
1076        gmap_search: {
1077          matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,
1078          type: "iframe",
1079          url: function (t) {
1080            return "//maps.google." + t[2] + "/maps?q=" + t[5].replace("query=", "q=").replace("api=1", "") + "&output=embed";
1081          },
1082        },
1083      },
1084      n = function (e, n, o) {
1085        if (e)
1086          return (
1087            (o = o || ""),
1088            "object" === t.type(o) && (o = t.param(o, !0)),
1089            t.each(n, function (t, n) {
1090              e = e.replace("$" + t, n || "");
1091            }),
1092            o.length && (e += (e.indexOf("?") > 0 ? "&" : "?") + o),
1093            e
1094          );
1095      };
1096    t(document).on("objectNeedsType.fb", function (o, i, a) {
1097      var s,
1098        r,
1099        c,
1100        l,
1101        d,
1102        u,
1103        f,
1104        p = a.src || "",
1105        h = !1;
1106      (s = t.extend(!0, {}, e, a.opts.media)),
1107        t.each(s, function (e, o) {
1108          if ((c = p.match(o.matcher))) {
1109            if (((h = o.type), (f = e), (u = {}), o.paramPlace && c[o.paramPlace])) {
1110              (d = c[o.paramPlace]), "?" == d[0] && (d = d.substring(1)), (d = d.split("&"));
1111              for (var i = 0; i < d.length; ++i) {
1112                var s = d[i].split("=", 2);
1113                2 == s.length && (u[s[0]] = decodeURIComponent(s[1].replace(/\+/g, " ")));
1114              }
1115            }
1116            return (
1117              (l = t.extend(!0, {}, o.params, a.opts[e], u)),
1118              (p = "function" === t.type(o.url) ? o.url.call(this, c, l, a) : n(o.url, c, l)),
1119              (r = "function" === t.type(o.thumb) ? o.thumb.call(this, c, l, a) : n(o.thumb, c)),
1120              "youtube" === e
1121                ? (p = p.replace(/&t=((\d+)m)?(\d+)s/, function (t, e, n, o) {
1122                    return "&start=" + ((n ? 60 * parseInt(n, 10) : 0) + parseInt(o, 10));
1123                  }))
1124                : "vimeo" === e && (p = p.replace("&%23", "#")),
1125              !1
1126            );
1127          }
1128        }),
1129        h ? (a.opts.thumb || (a.opts.$thumb && a.opts.$thumb.length) || (a.opts.thumb = r), "iframe" === h && (a.opts = t.extend(!0, a.opts, { iframe: { preload: !1, attr: { scrolling: "no" } } })), t.extend(a, { type: h, src: p, origSrc: a.src, contentSource: f, contentType: "image" === h ? "image" : "gmap_place" == f || "gmap_search" == f ? "map" : "video" })) : p && (a.type = a.opts.defaultType);
1130    });
1131    var o = {
1132      youtube: { src: "https://www.youtube.com/iframe_api", class: "YT", loading: !1, loaded: !1 },
1133      vimeo: { src: "https://player.vimeo.com/api/player.js", class: "Vimeo", loading: !1, loaded: !1 },
1134      load: function (t) {
1135        var e,
1136          n = this;
1137        if (this[t].loaded)
1138          return void setTimeout(function () {
1139            n.done(t);
1140          });
1141        this[t].loading ||
1142          ((this[t].loading = !0),
1143          (e = document.createElement("script")),
1144          (e.type = "text/javascript"),
1145          (e.src = this[t].src),
1146          "youtube" === t
1147            ? (window.onYouTubeIframeAPIReady = function () {
1148                (n[t].loaded = !0), n.done(t);
1149              })
1150            : (e.onload = function () {
1151                (n[t].loaded = !0), n.done(t);
1152              }),
1153          document.body.appendChild(e));
1154      },
1155      done: function (e) {
1156        var n, o, i;
1157        "youtube" === e && delete window.onYouTubeIframeAPIReady,
1158          (n = t.fancybox.getInstance()) &&
1159            ((o = n.current.$content.find("iframe")),
1160            "youtube" === e && void 0 !== YT && YT
1161              ? (i = new YT.Player(o.attr("id"), {
1162                  events: {
1163                    onStateChange: function (t) {
1164                      0 == t.data && n.next();
1165                    },
1166                  },
1167                }))
1168              : "vimeo" === e &&
1169                void 0 !== Vimeo &&
1170                Vimeo &&
1171                ((i = new Vimeo.Player(o)),
1172                i.on("ended", function () {
1173                  n.next();
1174                })));
1175      },
1176    };
1177    t(document).on({
1178      "afterShow.fb": function (t, e, n) {
1179        e.group.length > 1 && ("youtube" === n.contentSource || "vimeo" === n.contentSource) && o.load(n.contentSource);
1180      },
1181    });
1182  })(jQuery),
1183  (function (t, e, n) {
1184    "use strict";
1185    var o = (function () {
1186        return (
1187          t.requestAnimationFrame ||
1188          t.webkitRequestAnimationFrame ||
1189          t.mozRequestAnimationFrame ||
1190          t.oRequestAnimationFrame ||
1191          function (e) {
1192            return t.setTimeout(e, 1e3 / 60);
1193          }
1194        );
1195      })(),
1196      i = (function () {
1197        return (
1198          t.cancelAnimationFrame ||
1199          t.webkitCancelAnimationFrame ||
1200          t.mozCancelAnimationFrame ||
1201          t.oCancelAnimationFrame ||
1202          function (e) {
1203            t.clearTimeout(e);
1204          }
1205        );
1206      })(),
1207      a = function (e) {
1208        var n = [];
1209        (e = e.originalEvent || e || t.e), (e = e.touches && e.touches.length ? e.touches : e.changedTouches && e.changedTouches.length ? e.changedTouches : [e]);
1210        for (var o in e) e[o].pageX ? n.push({ x: e[o].pageX, y: e[o].pageY }) : e[o].clientX && n.push({ x: e[o].clientX, y: e[o].clientY });
1211        return n;
1212      },
1213      s = function (t, e, n) {
1214        return e && t ? ("x" === n ? t.x - e.x : "y" === n ? t.y - e.y : Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2))) : 0;
1215      },
1216      r = function (t) {
1217        if (t.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe') || n.isFunction(t.get(0).onclick) || t.data("selectable")) return !0;
1218        for (var e = 0, o = t[0].attributes, i = o.length; e < i; e++) if ("data-fancybox-" === o[e].nodeName.substr(0, 14)) return !0;
1219        return !1;
1220      },
1221      c = function (e) {
1222        var n = t.getComputedStyle(e)["overflow-y"],
1223          o = t.getComputedStyle(e)["overflow-x"],
1224          i = ("scroll" === n || "auto" === n) && e.scrollHeight > e.clientHeight,
1225          a = ("scroll" === o || "auto" === o) && e.scrollWidth > e.clientWidth;
1226        return i || a;
1227      },
1228      l = function (t) {
1229        for (var e = !1; ; ) {
1230          if ((e = c(t.get(0)))) break;
1231          if (((t = t.parent()), !t.length || t.hasClass("fancybox-stage") || t.is("body"))) break;
1232        }
1233        return e;
1234      },
1235      d = function (t) {
1236        var e = this;
1237        (e.instance = t), (e.$bg = t.$refs.bg), (e.$stage = t.$refs.stage), (e.$container = t.$refs.container), e.destroy(), e.$container.on("touchstart.fb.touch mousedown.fb.touch", n.proxy(e, "ontouchstart"));
1238      };
1239    (d.prototype.destroy = function () {
1240      var t = this;
1241      t.$container.off(".fb.touch"), n(e).off(".fb.touch"), t.requestId && (i(t.requestId), (t.requestId = null)), t.tapped && (clearTimeout(t.tapped), (t.tapped = null));
1242    }),
1243      (d.prototype.ontouchstart = function (o) {
1244        var i = this,
1245          c = n(o.target),
1246          d = i.instance,
1247          u = d.current,
1248          f = u.$slide,
1249          p = u.$content,
1250          h = "touchstart" == o.type;
1251        if ((h && i.$container.off("mousedown.fb.touch"), (!o.originalEvent || 2 != o.originalEvent.button) && f.length && c.length && !r(c) && !r(c.parent()) && (c.is("img") || !(o.originalEvent.clientX > c[0].clientWidth + c.offset().left)))) {
1252          if (!u || d.isAnimating || u.$slide.hasClass("fancybox-animated")) return o.stopPropagation(), void o.preventDefault();
1253          (i.realPoints = i.startPoints = a(o)),
1254            i.startPoints.length &&
1255              (u.touch && o.stopPropagation(),
1256              (i.startEvent = o),
1257              (i.canTap = !0),
1258              (i.$target = c),
1259              (i.$content = p),
1260              (i.opts = u.opts.touch),
1261              (i.isPanning = !1),
1262              (i.isSwiping = !1),
1263              (i.isZooming = !1),
1264              (i.isScrolling = !1),
1265              (i.canPan = d.canPan()),
1266              (i.startTime = new Date().getTime()),
1267              (i.distanceX = i.distanceY = i.distance = 0),
1268              (i.canvasWidth = Math.round(f[0].clientWidth)),
1269              (i.canvasHeight = Math.round(f[0].clientHeight)),
1270              (i.contentLastPos = null),
1271              (i.contentStartPos = n.fancybox.getTranslate(i.$content) || { top: 0, left: 0 }),
1272              (i.sliderStartPos = n.fancybox.getTranslate(f)),
1273              (i.stagePos = n.fancybox.getTranslate(d.$refs.stage)),
1274              (i.sliderStartPos.top -= i.stagePos.top),
1275              (i.sliderStartPos.left -= i.stagePos.left),
1276              (i.contentStartPos.top -= i.stagePos.top),
1277              (i.contentStartPos.left -= i.stagePos.left),
1278              n(e)
1279                .off(".fb.touch")
1280                .on(h ? "touchend.fb.touch touchcancel.fb.touch" : "mouseup.fb.touch mouseleave.fb.touch", n.proxy(i, "ontouchend"))
1281                .on(h ? "touchmove.fb.touch" : "mousemove.fb.touch", n.proxy(i, "ontouchmove")),
1282              n.fancybox.isMobile && e.addEventListener("scroll", i.onscroll, !0),
1283              (((i.opts || i.canPan) && (c.is(i.$stage) || i.$stage.find(c).length)) || (c.is(".fancybox-image") && o.preventDefault(), n.fancybox.isMobile && c.parents(".fancybox-caption").length)) && ((i.isScrollable = l(c) || l(c.parent())), (n.fancybox.isMobile && i.isScrollable) || o.preventDefault(), (1 === i.startPoints.length || u.hasError) && (i.canPan ? (n.fancybox.stop(i.$content), (i.isPanning = !0)) : (i.isSwiping = !0), i.$container.addClass("fancybox-is-grabbing")), 2 === i.startPoints.length && "image" === u.type && (u.isLoaded || u.$ghost) && ((i.canTap = !1), (i.isSwiping = !1), (i.isPanning = !1), (i.isZooming = !0), n.fancybox.stop(i.$content), (i.centerPointStartX = 0.5 * (i.startPoints[0].x + i.startPoints[1].x) - n(t).scrollLeft()), (i.centerPointStartY = 0.5 * (i.startPoints[0].y + i.startPoints[1].y) - n(t).scrollTop()), (i.percentageOfImageAtPinchPointX = (i.centerPointStartX - i.contentStartPos.left) / i.contentStartPos.width), (i.percentageOfImageAtPinchPointY = (i.centerPointStartY - i.contentStartPos.top) / i.contentStartPos.height), (i.startDistanceBetweenFingers = s(i.startPoints[0], i.startPoints[1])))));
1284        }
1285      }),
1286      (d.prototype.onscroll = function (t) {
1287        var n = this;
1288        (n.isScrolling = !0), e.removeEventListener("scroll", n.onscroll, !0);
1289      }),
1290      (d.prototype.ontouchmove = function (t) {
1291        var e = this;
1292        return void 0 !== t.originalEvent.buttons && 0 === t.originalEvent.buttons ? void e.ontouchend(t) : e.isScrolling ? void (e.canTap = !1) : ((e.newPoints = a(t)), void ((e.opts || e.canPan) && e.newPoints.length && e.newPoints.length && ((e.isSwiping && !0 === e.isSwiping) || t.preventDefault(), (e.distanceX = s(e.newPoints[0], e.startPoints[0], "x")), (e.distanceY = s(e.newPoints[0], e.startPoints[0], "y")), (e.distance = s(e.newPoints[0], e.startPoints[0])), e.distance > 0 && (e.isSwiping ? e.onSwipe(t) : e.isPanning ? e.onPan() : e.isZooming && e.onZoom()))));
1293      }),
1294      (d.prototype.onSwipe = function (e) {
1295        var a,
1296          s = this,
1297          r = s.instance,
1298          c = s.isSwiping,
1299          l = s.sliderStartPos.left || 0;
1300        if (!0 !== c)
1301          "x" == c && (s.distanceX > 0 && (s.instance.group.length < 2 || (0 === s.instance.current.index && !s.instance.current.opts.loop)) ? (l += Math.pow(s.distanceX, 0.8)) : s.distanceX < 0 && (s.instance.group.length < 2 || (s.instance.current.index === s.instance.group.length - 1 && !s.instance.current.opts.loop)) ? (l -= Math.pow(-s.distanceX, 0.8)) : (l += s.distanceX)),
1302            (s.sliderLastPos = { top: "x" == c ? 0 : s.sliderStartPos.top + s.distanceY, left: l }),
1303            s.requestId && (i(s.requestId), (s.requestId = null)),
1304            (s.requestId = o(function () {
1305              s.sliderLastPos &&
1306                (n.each(s.instance.slides, function (t, e) {
1307                  var o = e.pos - s.instance.currPos;
1308                  n.fancybox.setTranslate(e.$slide, { top: s.sliderLastPos.top, left: s.sliderLastPos.left + o * s.canvasWidth + o * e.opts.gutter });
1309                }),
1310                s.$container.addClass("fancybox-is-sliding"));
1311            }));
1312        else if (Math.abs(s.distance) > 10) {
1313          if (((s.canTap = !1), r.group.length < 2 && s.opts.vertical ? (s.isSwiping = "y") : r.isDragging || !1 === s.opts.vertical || ("auto" === s.opts.vertical && n(t).width() > 800) ? (s.isSwiping = "x") : ((a = Math.abs((180 * Math.atan2(s.distanceY, s.distanceX)) / Math.PI)), (s.isSwiping = a >
1313 45 && a < 135 ? "y" : "x")), "y" === s.isSwiping && n.fancybox.isMobile && s.isScrollable)) return void (s.isScrolling = !0);
1314          (r.isDragging = s.isSwiping),
1315            (s.startPoints = s.newPoints),
1316            n.each(r.slides, function (t, e) {
1317              var o, i;
1318              n.fancybox.stop(e.$slide),
1319                (o = n.fancybox.getTranslate(e.$slide)),
1320                (i = n.fancybox.getTranslate(r.$refs.stage)),
1321                e.$slide
1322                  .css({ transform: "", opacity: "", "transition-duration": "" })
1323                  .removeClass("fancybox-animated")
1324                  .removeClass(function (t, e) {
1325                    return (e.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" ");
1326                  }),
1327                e.pos === r.current.pos && ((s.sliderStartPos.top = o.top - i.top), (s.sliderStartPos.left = o.left - i.left)),
1328                n.fancybox.setTranslate(e.$slide, { top: o.top - i.top, left: o.left - i.left });
1329            }),
1330            r.SlideShow && r.SlideShow.isActive && r.SlideShow.stop();
1331        }
1332      }),
1333      (d.prototype.onPan = function () {
1334        var t = this;
1335        if (s(t.newPoints[0], t.realPoints[0]) < (n.fancybox.isMobile ? 10 : 5)) return void (t.startPoints = t.newPoints);
1336        (t.canTap = !1),
1337          (t.contentLastPos = t.limitMovement()),
1338          t.requestId && i(t.requestId),
1339          (t.requestId = o(function () {
1340            n.fancybox.setTranslate(t.$content, t.contentLastPos);
1341          }));
1342      }),
1343      (d.prototype.limitMovement = function () {
1344        var t,
1345          e,
1346          n,
1347          o,
1348          i,
1349          a,
1350          s = this,
1351          r = s.canvasWidth,
1352          c = s.canvasHeight,
1353          l = s.distanceX,
1354          d = s.distanceY,
1355          u = s.contentStartPos,
1356          f = u.left,
1357          p = u.top,
1358          h = u.width,
1359          g = u.height;
1360        return (i = h > r ? f + l : f), (a = p + d), (t = Math.max(0, 0.5 * r - 0.5 * h)), (e = Math.max(0, 0.5 * c - 0.5 * g)), (n = Math.min(r - h, 0.5 * r - 0.5 * h)), (o = Math.min(c - g, 0.5 * c - 0.5 * g)), l > 0 && i > t && (i = t - 1 + Math.pow(-t + f + l, 0.8) || 0), l < 0 && i < n && (i = n + 1 - Math.pow(n - f - l, 0.8) || 0), d > 0 && a > e && (a = e - 1 + Math.pow(-e + p + d, 0.8) || 0), d < 0 && a < o && (a = o + 1 - Math.pow(o - p - d, 0.8) || 0), { top: a, left: i };
1361      }),
1362      (d.prototype.limitPosition = function (t, e, n, o) {
1363        var i = this,
1364          a = i.canvasWidth,
1365          s = i.canvasHeight;
1366        return n > a ? ((t = t > 0 ? 0 : t), (t = t < a - n ? a - n : t)) : (t = Math.max(0, a / 2 - n / 2)), o > s ? ((e = e > 0 ? 0 : e), (e = e < s - o ? s - o : e)) : (e = Math.max(0, s / 2 - o / 2)), { top: e, left: t };
1367      }),
1368      (d.prototype.onZoom = function () {
1369        var e = this,
1370          a = e.contentStartPos,
1371          r = a.width,
1372          c = a.height,
1373          l = a.left,
1374          d = a.top,
1375          u = s(e.newPoints[0], e.newPoints[1]),
1376          f = u / e.startDistanceBetweenFingers,
1377          p = Math.floor(r * f),
1378          h = Math.floor(c * f),
1379          g = (r - p) * e.percentageOfImageAtPinchPointX,
1380          b = (c - h) * e.percentageOfImageAtPinchPointY,
1381          m = (e.newPoints[0].x + e.newPoints[1].x) / 2 - n(t).scrollLeft(),
1382          v = (e.newPoints[0].y + e.newPoints[1].y) / 2 - n(t).scrollTop(),
1383          y = m - e.centerPointStartX,
1384          x = v - e.centerPointStartY,
1385          w = l + (g + y),
1386          $ = d + (b + x),
1387          S = { top: $, left: w, scaleX: f, scaleY: f };
1388        (e.canTap = !1),
1389          (e.newWidth = p),
1390          (e.newHeight = h),
1391          (e.contentLastPos = S),
1392          e.requestId && i(e.requestId),
1393          (e.requestId = o(function () {
1394            n.fancybox.setTranslate(e.$content, e.contentLastPos);
1395          }));
1396      }),
1397      (d.prototype.ontouchend = function (t) {
1398        var o = this,
1399          s = o.isSwiping,
1400          r = o.isPanning,
1401          c = o.isZooming,
1402          l = o.isScrolling;
1403        if (((o.endPoints = a(t)), (o.dMs = Math.max(new Date().getTime() - o.startTime, 1)), o.$container.removeClass("fancybox-is-grabbing"), n(e).off(".fb.touch"), e.removeEventListener("scroll", o.onscroll, !0), o.requestId && (i(o.requestId), (o.requestId = null)), (o.isSwiping = !1), (o.isPanning = !1), (o.isZooming = !1), (o.isScrolling = !1), (o.instance.isDragging = !1), o.canTap)) return o.onTap(t);
1404        (o.speed = 100), (o.velocityX = (o.distanceX / o.dMs) * 0.5), (o.velocityY = (o.distanceY / o.dMs) * 0.5), r ? o.endPanning() : c ? o.endZooming() : o.endSwiping(s, l);
1405      }),
1406      (d.prototype.endSwiping = function (t, e) {
1407        var o = this,
1408          i = !1,
1409          a = o.instance.group.length,
1410          s = Math.abs(o.distanceX),
1411          r = "x" == t && a > 1 && ((o.dMs > 130 && s > 10) || s > 50);
1412        (o.sliderLastPos = null), "y" == t && !e && Math.abs(o.distanceY) > 50 ? (n.fancybox.animate(o.instance.current.$slide, { top: o.sliderStartPos.top + o.distanceY + 150 * o.velocityY, opacity: 0 }, 200), (i = o.instance.close(!0, 250))) : r && o.distanceX > 0 ? (i = o.instance.previous(300)) : r && o.distanceX < 0 && (i = o.instance.next(300)), !1 !== i || ("x" != t && "y" != t) || o.instance.centerSlide(200), o.$container.removeClass("fancybox-is-sliding");
1413      }),
1414      (d.prototype.endPanning = function () {
1415        var t,
1416          e,
1417          o,
1418          i = this;
1419        i.contentLastPos && (!1 === i.opts.momentum || i.dMs > 350 ? ((t = i.contentLastPos.left), (e = i.contentLastPos.top)) : ((t = i.contentLastPos.left + 500 * i.velocityX), (e = i.contentLastPos.top + 500 * i.velocityY)), (o = i.limitPosition(t, e, i.c
1419ontentStartPos.width, i.contentStartPos.height)), (o.width = i.contentStartPos.width), (o.height = i.contentStartPos.height), n.fancybox.animate(i.$content, o, 366));
1420      }),
1421      (d.prototype.endZooming = function () {
1422        var t,
1423          e,
1424          o,
1425          i,
1426          a = this,
1427          s = a.instance.current,
1428          r = a.newWidth,
1429          c = a.newHeight;
1430        a.contentLastPos && ((t = a.contentLastPos.left), (e = a.contentLastPos.top), (i = { top: e, left: t, width: r, height: c, scaleX: 1, scaleY: 1 }), n.fancybox.setTranslate(a.$content, i), r < a.canvasWidth && c < a.canvasHeight ? a.instance.scaleToFit(150) : r > s.width || c > s.height ? a.instance.scaleToActual(a.centerPointStartX, a.centerPointStartY, 150) : ((o = a.limitPosition(t, e, r, c)), n.fancybox.animate(a.$content, o, 150)));
1431      }),
1432      (d.prototype.onTap = function (e) {
1433        var o,
1434          i = this,
1435          s = n(e.target),
1436          r = i.instance,
1437          c = r.current,
1438          l = (e && a(e)) || i.startPoints,
1439          d = l[0] ? l[0].x - n(t).scrollLeft() - i.stagePos.left : 0,
1440          u = l[0] ? l[0].y - n(t).scrollTop() - i.stagePos.top : 0,
1441          f = function (t) {
1442            var o = c.opts[t];
1443            if ((n.isFunction(o) && (o = o.apply(r, [c, e])), o))
1444              switch (o) {
1445                case "close":
1446                  r.close(i.startEvent);
1447                  break;
1448                case "toggleControls":
1449                  r.toggleControls();
1450                  break;
1451                case "next":
1452                  r.next();
1453                  break;
1454                case "nextOrClose":
1455                  r.group.length > 1 ? r.next() : r.close(i.startEvent);
1456                  break;
1457                case "zoom":
1458                  "image" == c.type && (c.isLoaded || c.$ghost) && (r.canPan() ? r.scaleToFit() : r.isScaledDown() ? r.scaleToActual(d, u) : r.group.length < 2 && r.close(i.startEvent));
1459              }
1460          };
1461        if ((!e.originalEvent || 2 != e.originalEvent.button) && (s.is("img") || !(d > s[0].clientWidth + s.offset().left))) {
1462          if (s.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container")) o = "Outside";
1463          else if (s.is(".fancybox-slide")) o = "Slide";
1464          else {
1465            if (!r.current.$content || !r.current.$content.find(s).addBack().filter(s).length) return;
1466            o = "Content";
1467          }
1468          if (i.tapped) {
1469            if ((clearTimeout(i.tapped), (i.tapped = null), Math.abs(d - i.tapX) > 50 || Math.abs(u - i.tapY) > 50)) return this;
1470            f("dblclick" + o);
1471          } else
1472            (i.tapX = d),
1473              (i.tapY = u),
1474              c.opts["dblclick" + o] && c.opts["dblclick" + o] !== c.opts["click" + o]
1475                ? (i.tapped = setTimeout(function () {
1476                    (i.tapped = null), r.isAnimating || f("click" + o);
1477                  }, 500))
1478                : f("click" + o);
1479          return this;
1480        }
1481      }),
1482      n(e)
1483        .on("onActivate.fb", function (t, e) {
1484          e && !e.Guestures && (e.Guestures = new d(e));
1485        })
1486        .on("beforeClose.fb", function (t, e) {
1487          e && e.Guestures && e.Guestures.destroy();
1488        });
1489  })(window, document, jQuery),
1490  (function (t, e) {
1491    "use strict";
1492    e.extend(!0, e.fancybox.defaults, { btnTpl: { slideShow: '<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.5 5.4v13.2l11-6.6z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.33 5.75h2.2v12.5h-2.2V5.75zm5.15 0h2.2v12.5h-2.2V5.75z"/></svg></button>' }, slideShow: { autoStart: !1, speed: 3e3, progress: !0 } });
1493    var n = function (t) {
1494      (this.instance = t), this.init();
1495    };
1496    e.extend(n.prototype, {
1497      timer: null,
1498      isActive: !1,
1499      $button: null,
1500      init: function () {
1501        var t = this,
1502          n = t.instance,
1503          o = n.group[n.currIndex].opts.slideShow;
1504        (t.$button = n.$refs.toolbar.find("[data-fancybox-play]").on("click", function () {
1505          t.toggle();
1506        })),
1507          n.group.length < 2 || !o ? t.$button.hide() : o.progress && (t.$progress = e('<div class="fancybox-progress"></div>').appendTo(n.$refs.inner));
1508      },
1509      set: function (t) {
1510        var n = this,
1511          o = n.instance,
1512          i = o.current;
1513        i && (!0 === t || i.opts.loop || o.currIndex < o.group.length - 1)
1514          ? n.isActive &&
1515            "video" !== i.contentType &&
1516            (n.$progress && e.fancybox.animate(n.$progress.show(), { scaleX: 1 }, i.opts.slideShow.speed),
1517            (n.timer = setTimeout(function () {
1518              o.current.opts.loop || o.current.index != o.group.length - 1 ? o.next() : o.jumpTo(0);
1519            }, i.opts.slideShow.speed)))
1520          : (n.stop(), (o.idleSecondsCounter = 0), o.showControls());
1521      },
1522      clear: function () {
1523        var t = this;
1524        clearTimeout(t.timer), (t.timer = null), t.$progress && t.$progress.removeAttr("style").hide();
1525      },
1526      start: function () {
1527        var t = this,
1528          e = t.instance.current;
1529        e &&
1530          (t.$button
1531            .attr("title", (e.opts.i18n[e.opts.lang] || e.opts.i18n.en).PLAY_STOP)
1532            .removeClass("fancybox-button--play")
1533            .addClass("fancybox-button--pause"),
1534          (t.isActive = !0),
1535          e.isComplete && t.set(!0),
1536          t.instance.trigger("onSlideShowChange", !0));
1537      },
1538      stop: function () {
1539        var t = this,
1540          e = t.instance.current;
1541        t.clear(),
1542          t.$button
1543            .attr("title", (e.opts.i18n[e.opts.lang] || e.opts.i18n.en).PLAY_START)
1544            .removeClass("fancybox-button--pause")
1545            .addClass("fancybox-button--play"),
1546          (t.isActive = !1),
1547          t.instance.trigger("onSlideShowChange", !1),
1548          t.$progress && t.$progress.removeAttr("style").hide();
1549      },
1550      toggle: function () {
1551        var t = this;
1552        t.isActive ? t.stop() : t.start();
1553      },
1554    }),
1555      e(t).on({
1556        "onInit.fb": function (t, e) {
1557          e && !e.SlideShow && (e.SlideShow = new n(e));
1558        },
1559        "beforeShow.fb": function (t, e, n, o) {
1560          var i = e && e.SlideShow;
1561          o ? i && n.opts.slideShow.autoStart && i.start() : i && i.isActive && i.clear();
1562        },
1563        "afterShow.fb": function (t, e, n) {
1564          var o = e && e.SlideShow;
1565          o && o.isActive && o.set();
1566        },
1567        "afterKeydown.fb": function (n, o, i, a, s) {
1568          var r = o && o.SlideShow;
1569          !r || !i.opts.slideShow || (80 !== s && 32 !== s) || e(t.activeElement).is("button,a,input") || (a.preventDefault(), r.toggle());
1570        },
1571        "beforeClose.fb onDeactivate.fb": function (t, e) {
1572          var n = e && e.SlideShow;
1573          n && n.stop();
1574        },
1575      }),
1576      e(t).on("visibilitychange", function () {
1577        var n = e.fancybox.getInstance(),
1578          o = n && n.SlideShow;
1579        o && o.isActive && (t.hidden ? o.clear() : o.set());
1580      });
1581  })(document, jQuery),
1582  (function (t, e) {
1583    "use strict";
1584    var n = (function () {
1585      for (
1586        var e = [
1587            ["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"],
1588            ["webkitRequestFullscreen", "webkitExitFullscreen", "webkitFullscreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror"],
1589            ["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitCurrentFullScreenElement", "webkitCancelFullScreen", "webkitfullscreenchange", "webkitfullscreenerror"],
1590            ["mozRequestFullScreen", "mozCancelFullScreen", "mozFullScreenElement", "mozFullScreenEnabled", "mozfullscreenchange", "mozfullscreenerror"],
1591            ["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"],
1592          ],
1593          n = {},
1594          o = 0;
1595        o < e.length;
1596        o++
1597      ) {
1598        var i = e[o];
1599        if (i && i[1] in t) {
1600          for (var a = 0; a < i.length; a++) n[e[0][a]] = i[a];
1601          return n;
1602        }
1603      }
1604      return !1;
1605    })();
1606    if (n) {
1607      var o = {
1608        request: function (e) {
1609          (e = e || t.documentElement), e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT);
1610        },
1611        exit: function () {
1612          t[n.exitFullscreen]();
1613        },
1614        toggle: function (e) {
1615          (e = e || t.documentElement), this.isFullscreen() ? this.exit() : this.request(e);
1616        },
1617        isFullscreen: function () {
1618          return Boolean(t[n.fullscreenElement]);
1619        },
1620        enabled: function () {
1621          return Boolean(t[n.fullscreenEnabled]);
1622        },
1623      };
1624      e.extend(!0, e.fancybox.defaults, { btnTpl: { fullScreen: '<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fsenter" title="{{FULL_SCREEN}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
1624<path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 16h3v3h2v-5H5zm3-8H5v2h5V5H8zm6 11h2v-3h3v-2h-5zm2-11V5h-2v5h5V8z"/></svg></button>' }, fullScreen: { autoStart: !1 } }),
1625        e(t).on(n.fullscreenchange, function () {
1626          var t = o.isFullscreen(),
1627            n = e.fancybox.getInstance();
1628          n && (n.current && "image" === n.current.type && n.isAnimating && ((n.isAnimating = !1), n.update(!0, !0, 0), n.isComplete || n.complete()), n.trigger("onFullscreenChange", t), n.$refs.container.toggleClass("fancybox-is-fullscreen", t), n.$refs.toolbar.find("[data-fancybox-fullscreen]").toggleClass("fancybox-button--fsenter", !t).toggleClass("fancybox-button--fsexit", t));
1629        });
1630    }
1631    e(t).on({
1632      "onInit.fb": function (t, e) {
1633        var i;
1634        if (!n) return void e.$refs.toolbar.find("[data-fancybox-fullscreen]").remove();
1635        e && e.group[e.currIndex].opts.fullScreen
1636          ? ((i = e.$refs.container),
1637            i.on("click.fb-fullscreen", "[data-fancybox-fullscreen]", function (t) {
1638              t.stopPropagation(), t.preventDefault(), o.toggle();
1639            }),
1640            e.opts.fullScreen && !0 === e.opts.fullScreen.autoStart && o.request(),
1641            (e.FullScreen = o))
1642          : e && e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide();
1643      },
1644      "afterKeydown.fb": function (t, e, n, o, i) {
1645        e && e.FullScreen && 70 === i && (o.preventDefault(), e.FullScreen.toggle());
1646      },
1647      "beforeClose.fb": function (t, e) {
1648        e && e.FullScreen && e.$refs.container.hasClass("fancybox-is-fullscreen") && o.exit();
1649      },
1650    });
1651  })(document, jQuery),
1652  (function (t, e) {
1653    "use strict";
1654    var n = "fancybox-thumbs";
1655    e.fancybox.defaults = e.extend(!0, { btnTpl: { thumbs: '<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.59 14.59h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76H5.65V5.65z"/></svg></button>' }, thumbs: { autoStart: !1, hideOnClose: !0, parentEl: ".fancybox-container", axis: "y" } }, e.fancybox.defaults);
1656    var o = function (t) {
1657      this.init(t);
1658    };
1659    e.extend(o.prototype, {
1660      $button: null,
1661      $grid: null,
1662      $list: null,
1663      isVisible: !1,
1664      isActive: !1,
1665      init: function (t) {
1666        var e = this,
1667          n = t.group,
1668          o = 0;
1669        (e.instance = t), (e.opts = n[t.currIndex].opts.thumbs), (t.Thumbs = e), (e.$button = t.$refs.toolbar.find("[data-fancybox-thumbs]"));
1670        for (var i = 0, a = n.length; i < a && (n[i].thumb && o++, !(o > 1)); i++);
1671        o > 1 && e.opts
1672          ? (e.$button.removeAttr("style").on("click", function () {
1673              e.toggle();
1674            }),
1675            (e.isActive = !0))
1676          : e.$button.hide();
1677      },
1678      create: function () {
1679        var t,
1680          o = this,
1681          i = o.instance,
1682          a = o.opts.parentEl,
1683          s = [];
1684        o.$grid ||
1685          ((o.$grid = e('<div class="' + n + " " + n + "-" + o.opts.axis + '"></div>').appendTo(i.$refs.container.find(a).addBack().filter(a))),
1686          o.$grid.on("click", "a", function () {
1687            i.jumpTo(e(this).attr("data-index"));
1688          })),
1689          o.$list || (o.$list = e('<div class="' + n + '__list">').appendTo(o.$grid)),
1690          e.each(i.group, function (e, n) {
1691            (t = n.thumb), t || "image" !== n.type || (t = n.src), s.push('<a href="javascript:;" tabindex="0" data-index="' + e + '"' + (t && t.length ? ' style="background-image:url(' + t + ')"' : 'class="fancybox-thumbs-missing"') + "></a>");
1692          }),
1693          (o.$list[0].innerHTML = s.join("")),
1694          "x" === o.opts.axis && o.$list.width(parseInt(o.$grid.css("padding-right"), 10) + i.group.length * o.$list.children().eq(0).outerWidth(!0));
1695      },
1696      focus: function (t) {
1697        var e,
1698          n,
1699          o = this,
1700          i = o.$list,
1701          a = o.$grid;
1702        o.instance.current &&
1703          ((e = i
1704            .children()
1705            .removeClass("fancybox-thumbs-active")
1706            .filter('[data-index="' + o.instance.current.index + '"]')
1707            .addClass("fancybox-thumbs-active")),
1708          (n = e.position()),
1709          "y" === o.opts.axis && (n.top < 0 || n.top > i.height() - e.outerHeight()) ? i.stop().animate({ scrollTop: i.scrollTop() + n.top }, t) : "x" === o.opts.axis && (n.left < a.scrollLeft() || n.left > a.scrollLeft() + (a.width() - e.outerWidth())) && i.parent().stop().animate({ scrollLeft: n.left }, t));
1710      },
1711      update: function () {
1712        var t = this;
1713        t.instance.$refs.container.toggleClass("fancybox-show-thumbs", this.isVisible), t.isVisible ? (t.$grid || t.create(), t.instance.trigger("onThumbsShow"), t.focus(0)) : t.$grid && t.instance.trigger("onThumbsHide"), t.instance.update(
1713);
1714      },
1715      hide: function () {
1716        (this.isVisible = !1), this.update();
1717      },
1718      show: function () {
1719        (this.isVisible = !0), this.update();
1720      },
1721      toggle: function () {
1722        (this.isVisible = !this.isVisible), this.update();
1723      },
1724    }),
1725      e(t).on({
1726        "onInit.fb": function (t, e) {
1727          var n;
1728          e && !e.Thumbs && ((n = new o(e)), n.isActive && !0 === n.opts.autoStart && n.show());
1729        },
1730        "beforeShow.fb": function (t, e, n, o) {
1731          var i = e && e.Thumbs;
1732          i && i.isVisible && i.focus(o ? 0 : 250);
1733        },
1734        "afterKeydown.fb": function (t, e, n, o, i) {
1735          var a = e && e.Thumbs;
1736          a && a.isActive && 71 === i && (o.preventDefault(), a.toggle());
1737        },
1738        "beforeClose.fb": function (t, e) {
1739          var n = e && e.Thumbs;
1740          n && n.isVisible && !1 !== n.opts.hideOnClose && n.$grid.hide();
1741        },
1742      });
1743  })(document, jQuery),
1744  (function (t, e) {
1745    "use strict";
1746    function n(t) {
1747      var e = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;", "/": "&#x2F;", "`": "&#x60;", "=": "&#x3D;" };
1748      return String(t).replace(/[&<>"'`=\/]/g, function (t) {
1749        return e[t];
1750      });
1751    }
1752    e.extend(!0, e.fancybox.defaults, {
1753      btnTpl: { share: '<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.55 19c1.4-8.4 9.1-9.8 11.9-9.8V5l7 7-7 6.3v-3.5c-2.8 0-10.5 2.1-11.9 4.2z"/></svg></button>' },
1754      share: {
1755        url: function (t, e) {
1756          return (!t.currentHash && "inline" !== e.type && "html" !== e.type && (e.origSrc || e.src)) || window.location;
1757        },
1758        tpl: '<div class="fancybox-share"><h1>{{SHARE}}</h1><p><a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg><span>Facebook</span></a><a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg><span>Twitter</span></a><a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg><span>Pinterest</span></a></p><p><input class="fancybox-share__input" type="text" value="{{url_raw}}" onclick="select()" /></p></div>',
1759      },
1760    }),
1761      e(t).on("click", "[data-fancybox-share]", function () {
1762        var t,
1763          o,
1764          i = e.fancybox.getInstance(),
1765          a = i.current || null;
1766        a &&
1767          ("function" === e.type(a.opts.share.url) && (t = a.opts.share.url.apply(a, [i, a])),
1768          (o = a.opts.share.tpl
1769            .replace(/\{\{media\}\}/g, "image" === a.type ? encodeURIComponent(a.src) : "")
1770            .replace(/\{\{url\}\}/g, encodeURIComponent(t))
1771            .replace(/\{\{url_raw\}\}/g, n(t))
1772            .replace(/\{\{descr\}\}/g, i.$caption ? encodeURIComponent(i.$caption.text()) : "")),
1773          e.fancybox.open({
1774            src: i.translate(i, o),
1775            type: "html",
1776            opts: {
1777              touch: !1,
1778              animationEffect: !1,
1779              afterLoad: function (t, e) {
1780                i.$refs.container.one("beforeClose.fb", function () {
1781                  t.close(null, 0);
1782                }),
1783                  e.$content.find(".fancybox-share__button").click(function () {
1784                    return window.open(this.href, "Share", "width=550, height=450"), !1;
1785                  });
1786              },
1787              mobile: { autoFocus: !1 },
1788            },
1789          }));
1790      });
1791  })(document, jQuery),
1792  (function (t, e, n) {
1793    "use strict";
1794    function o() {
1795      var e = t.location.hash.substr(1),
1796        n = e.split("-"),
1797        o = n.length > 1 && /^\+?\d+$/.test(n[n.length - 1]) ? parseInt(n.pop(-1), 10) || 1 : 1,
1798        i = n.join("-");
1799      return { hash: e, index: o < 1 ? 1 : o, gallery: i };
1800    }
1801    function i(t) {
1802      "" !== t.gallery &&
1803        n("[data-fancybox='" + n.escapeSelector(t.gallery) + "']")
1804          .eq(t.index - 1)
1805          .focus()
1806          .trigger("click.fb-start");
1807    }
1808    function a(t) {
1809      var e, n;
1810      return !!t && ((e = t.current ? t.current.opts : t.opts), "" !== (n = e.hash || (e.$orig ? e.$orig.data("fancybox") || e.$orig.data("fancybox-trigger") : "")) && n);
1811    }
1812    n.escapeSelector ||
1813      (n.escapeSelector = function (t) {
1814        return (t + "").replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, function (t, e) {
1815          return e ? ("\0" === t ? "�" : t.slice(0, -1) + "\\" + t.charCodeAt(t.length - 1).toString(16) + " ") : "\\" + t;
1816        });
1817      }),
1818      n(function () {
1819        !1 !== n.fancybox.defaults.hash &&
1820          (n(e).on({
1821            "onInit.fb": function (t, e) {
1822              var n, i;
1823              !1 !== e.group[e.currIndex].opts.hash && ((n = o()), (i = a(e)) && n.gallery && i == n.gallery && (e.currIndex = n.index - 1));
1824            },
1825            "beforeShow.fb": function (n, o, i, s) {
1826              var r;
1827              i &&
1828                !1 !== i.opts.hash &&
1829                (r = a(o)) &&
1830                ((o.currentHash = r + (o.group.length > 1 ? "-" + (i.index + 1) : "")),
1831                t.location.hash !== "#" + o.currentHash &&
1832                  (s && !o.origHash && (o.origHash = t.location.hash),
1833                  o.hashTimer && clearTimeout(o.hashTimer),
1834                  (o.hashTimer = setTimeout(function () {
1835                    "replaceState" in t.history ? (t.history[s ? "pushState" : "replaceState"]({}, e.title, t.location.pathname + t.location.search + "#" + o.currentHash), s && (o.hasCreatedHistory = !0)) : (t.location.hash = o.currentHash), (o.hashTimer = null);
1836                  }, 300))));
1837            },
1838            "beforeClose.fb": function (n, o, i) {
1839              i && !1 !== i.opts.hash && (clearTimeout(o.hashTimer), o.currentHash && o.hasCreatedHistory ? t.history.back() : o.currentHash && ("replaceState" in t.history ? t.history.replaceState({}, e.title, t.location.pathname + t.location.search + (o.origHash || "")) : (t.location.hash = o.origHash)), (o.currentHash = null));
1840            },
1841          }),
1842          n(t).on("hashchange.fb", function () {
1843            var t = o(),
1844              e = null;
1845            n.each(n(".fancybox-container").get().reverse(), function (t, o) {
1846              var i = n(o).data("FancyBox");
1847              if (i && i.currentHash) return (e = i), !1;
1848            }),
1849              e ? e.currentHash === t.gallery + "-" + t.index || (1 === t.index && e.currentHash == t.gallery) || ((e.currentHash = null), e.close()) : "" !== t.gallery && i(t);
1850          }),
1851          setTimeout(function () {
1852            n.fancybox.getInstance() || i(o());
1853          }, 50));
1854      });
1855  })(window, document, jQuery),
1856  (function (t, e) {
1857    "use strict";
1858    var n = new Date().getTime();
1859    e(t).on({
1860      "onInit.fb": function (t, e, o) {
1861        e.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll", function (t) {
1862          var o = e.current,
1863            i = new Date().getTime();
1864          e.group.length < 2 || !1 === o.opts.wheel || ("auto" === o.opts.wheel && "image" !== o.type) || (t.preventDefault(), t.stopPropagation(), o.$slide.hasClass("fancybox-animated") || ((t = t.originalEvent || t), i - n < 250 || ((n = i), e[(-t.deltaY || -t.deltaX || t.wheelDelta || -t.detail) < 0 ? "next" : "previous"]())));
1865        });
1866      },
1867    });
1868  })(document, jQuery);

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.