PageSourceSearch

https://www.edingtools.com/js/fancybox/jquery.fancybox.min.js

js edingtools.com collected 2026-10-08 20:29:13 UTC 72,495 bytes, 1,322 lines download raw bytes

1// ==================================================
2// fancyBox v3.2.4
3//
4// Licensed GPLv3 for open source use
5// or fancyBox Commercial License for commercial use
6//
7// http://fancyapps.com/fancybox/
8// Copyright 2017 fancyApps
9//
10// ==================================================
11! function (t, e, n, o) {
12	"use strict";
13
14	function a(t) {
15		var e = n(t.currentTarget),
16			o = t.data ? t.data.options : {},
17			a = e.attr("data-fancybox") || "",
18			i = 0,
19			s = [];
20		t.isDefaultPrevented() || (t.preventDefault(), a ? (s = o.selector ? n(o.selector) : t.data ? t.data.items : [], s = s.length ? s.filter('[data-fancybox="' + a + '"]') : n('[data-fancybox="' + a + '"]'), i = s.index(e), i < 0 && (i = 0)) : s = [e], n.fancybox.open(s, o, i))
21	}
22	if (n) {
23		if (n.fn.fancybox) return void("console" in t && console.log("fancyBox already initialized"));
24		var i = {
25				loop: !1,
26				margin: [44, 0],
27				gutter: 50,
28				keyboard: !0,
29				arrows: !0,
30				infobar: !0,
31				toolbar: !0,
32				buttons: ["slideShow", "fullScreen", "thumbs", "share", "close"],
33				idleTime: 3,
34				smallBtn: "auto",
35				protect: !1,
36				modal: !1,
37				image: {
38					preload: "auto"
39				},
40				ajax: {
41					settings: {
42						data: {
43							fancybox: !0
44						}
45					}
46				},
47				iframe: {
48					tpl: '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen allowtransparency="true" src=""></iframe>',
49					preload: !0,
50					css: {},
51					attr: {
52						scrolling: "auto"
53					}
54				},
55				defaultType: "image",
56				animationEffect: "zoom",
57				animationDuration: 500,
58				zoomOpacity: "auto",
59				transitionEffect: "fade",
60				transitionDuration: 366,
61				slideClass: "",
62				baseClass: "",
63				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-wrap"><div class="fancybox-caption"></div></div></div></div>',
64				spinnerTpl: '<div class="fancybox-loading"></div>',
65				errorTpl: '<div class="fancybox-error"><p>{{ERROR}}<p></div>',
66				btnTpl: {
67					download: '<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}"><svg viewBox="0 0 40 40"><path d="M20,23 L20,8 L20,23 L13,16 L20,23 L27,16 L20,23 M26,28 L13,28 L27,28 L14,28" /></svg></a>',
68					zoom: '<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}"><svg viewBox="0 0 40 40"><path d="M 18,17 m -8, 0 a 8,8 0 1,0 16,0 a 8,8 0 1,0 -16,0 M25,23 L31,29 L25,23" /></svg></button>',
69					close: '<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"><svg viewBox="0 0 40 40"><path d="M10,10 L30,30 M30,10 L10,30" /></svg></button>',
70					smallBtn: '<button data-fancybox-close class="fancybox-close-small" title="{{CLOSE}}"></button>',
71					arrowLeft: '<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}"><svg viewBox="0 0 40 40"><path d="M10,20 L30,20 L10,20 L18,28 L10,20 L18,12 L10,20"></path></svg></button>',
72					arrowRight: '<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}"><svg viewBox="0 0 40 40"><path d="M30,20 L10,20 L30,20 L22,28 L30,20 L22,12 L30,20"></path></svg></button>'
73				},
74				parentEl: "body",
75				autoFocus: !1,
76				backFocus: !0,
77				trapFocus: !0,
78				fullScreen: {
79					autoStart: !1
80				},
81				touch: {
82					vertical: !0,
83					momentum: !0
84				},
85				hash: null,
86				media: {},
87				slideShow: {
88					autoStart: !1,
89					speed: 4e3
90				},
91				thumbs: {
92					autoStart: !1,
93					hideOnClose: !0,
94					parentEl: ".fancybox-container",
95					axis: "y"
96				},
97				onInit: n.noop,
98				beforeLoad: n.noop,
99				afterLoad: n.noop,
100				beforeShow: n.noop,
101				afterShow: n.noop,
102				beforeClose: n.noop,
103				afterClose: n.noop,
104				onActivate: n.noop,
105				onDeactivate: n.noop,
106				clickContent: function (t, e) {
107					return "image" === t.type && "zoom"
108				},
109				clickSlide: "close",
110				clickOutside: "close",
111				dblclickContent: !1,
112				dblclickSlide: !1,
113				dblclickOutside: !1,
114				mobile: {
115					margin: 0,
116					clickContent: function (t, e) {
117						return "image" === t.type && "toggleControls"
118					},
119					clickSlide: function (t, e) {
120						return "image" === t.type ? "toggleControls" : "close"
121					},
122					dblclickContent: function (t, e) {
123						return "image" === t.type && "zoom"
124					},
125					dblclickSlide: function (t, e) {
126						return "image" === t.type && "zoom"
127					}
128				},
129				lang: "en",
130				i18n: {
131					en: {
132						CLOSE: "Close",
133						NEXT: "Next",
134						PREV: "Previous",
135						ERROR: "The requested content cannot be loaded. <br/> Please try again later.",
136						PLAY_START: "Start slideshow",
137						PLAY_STOP: "Pause slideshow",
138						FULL_SCREEN: "Full screen",
139						THUMBS: "Thumbnails",
140						DOWNLOAD: "Download",
141						SHARE: "Share",
142						ZOOM: "Zoom"
143					},
144					de: {
145						CLOSE: "Schliessen",
146						NEXT: "Weiter",
147						PREV: "Zurück",
148						ERROR: "Die angeforderten Daten konnten nicht geladen werden. <br/>
148 Bitte versuchen Sie es später nochmal.",
149						PLAY_START: "Diaschau starten",
150						PLAY_STOP: "Diaschau beenden",
151						FULL_SCREEN: "Vollbild",
152						THUMBS: "Vorschaubilder",
153						DOWNLOAD: "Herunterladen",
154						SHARE: "Teilen",
155						ZOOM: "Maßstab"
156					}
157				}
158			},
159			s = n(t),
160			r = n(e),
161			c = 0,
162			l = function (t) {
163				return t && t.hasOwnProperty && t instanceof n
164			},
165			u = function () {
166				return t.requestAnimationFrame || t.webkitRequestAnimationFrame || t.mozRequestAnimationFrame || t.oRequestAnimationFrame || function (e) {
167					return t.setTimeout(e, 1e3 / 60)
168				}
169			}(),
170			d = function () {
171				var t, n = e.createElement("fakeelement"),
172					a = {
173						transition: "transitionend",
174						OTransition: "oTransitionEnd",
175						MozTransition: "transitionend",
176						WebkitTransition: "webkitTransitionEnd"
177					};
178				for (t in a)
179					if (n.style[t] !== o) return a[t]
180			}(),
181			f = function (t) {
182				return t && t.length && t[0].offsetHeight
183			},
184			p = function (t, o, a) {
185				var i = this;
186				i.opts = n.extend(!0, {
187					index: a
188				}, n.fancybox.defaults, o || {}), n.fancybox.isMobile && (i.opts = n.extend(!0, {}, i.opts, i.opts.mobile)), o && n.isArray(o.buttons) && (i.opts.buttons = o.buttons), i.id = i.opts.id || ++c, i.group = [], i.currIndex = parseInt(i.opts.index, 10) || 0, i.prevIndex = null, i.prevPos = null, i.currPos = 0, i.firstRun = null, i.createGroup(t), i.group.length && (i.$lastFocus = n(e.activeElement).blur(), i.slides = {}, i.init())
189			};
190		n.extend(p.prototype, {
191			init: function () {
192				var a, i, s, c = this,
193					l = c.group[c.currIndex],
194					u = l.opts,
195					d = n.fancybox.scrollbarWidth;
196				c.scrollTop = r.scrollTop(), c.scrollLeft = r.scrollLeft(), n.fancybox.getInstance() || (n("body").addClass("fancybox-active"), /iPad|iPhone|iPod/.test(navigator.userAgent) && !t.MSStream ? "image" !== l.type && n("body").css("top", n("body").scrollTop() * -1).addClass("fancybox-iosfix") : !n.fancybox.isMobile && e.body.scrollHeight > t.innerHeight && (d === o && (a = n('<div style="width:50px;height:50px;overflow:scroll;" />').appendTo("body"), d = n.fancybox.scrollbarWidth = a[0].offsetWidth - a[0].clientWidth, a.remove()), n("head").append('<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar { margin-right: ' + d + "px; }</style>"), n("body").addClass("compensate-for-scrollbar"))), s = "", n.each(u.buttons, function (t, e) {
197					s += u.btnTpl[e] || ""
198				}), i = n(c.translate(c, u.baseTpl.replace("{{buttons}}", s).replace("{{arrows}}", u.btnTpl.arrowLeft + u.btnTpl.arrowRight))).attr("id", "fancybox-container-" + c.id).addClass("fancybox-is-hidden").addClass(u.baseClass).data("FancyBox", c).appendTo(u.parentEl), c.$refs = {
199					container: i
200				}, ["bg", "inner", "infobar", "toolbar", "stage", "caption", "navigation"].forEach(function (t) {
201					c.$refs[t] = i.find(".fancybox-" + t)
202				}), c.trigger("onInit"), c.activate(), c.jumpTo(c.currIndex)
203			},
204			translate: function (t, e) {
205				var n = t.opts.i18n[t.opts.lang];
206				return e.replace(/\{\{(\w+)\}\}/g, function (t, e) {
207					var a = n[e];
208					return a === o ? t : a
209				})
210			},
211			createGroup: function (t) {
212				var e = this,
213					a = n.makeArray(t);
214				n.each(a, function (t, a) {
215					var i, s, r, c, l = {},
216						u = {};
217					n.isPlainObject(a) ? (l = a, u = a.opts || a) : "object" === n.type(a) && n(a).length ? (i = n(a), u = i.data(), u = n.extend({}, u, u.options || {}), u.$orig = i, l.src = u.src || i.attr("href"), l.type || l.src || (l.type = "inline", l.src = a)) : l = {
218						type: "html",
219						src: a + ""
220					}, l.opts = n.extend(!0, {}, e.opts, u), n.isArray(u.buttons) && (l.opts.buttons = u.buttons), s = l.type || l.opts.type, r = l.src || "", !s && r && (r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i) ? s = "image" : r.match(/\.(pdf)((\?|#).*)?$/i) ? s = "pdf" : "#" === r.charAt(0) && (s = "inline")), s ? l.type = s : e.trigger("objectNeedsType", l), l.index = e.group.length, l.opts.$orig && !l.opts.$orig.length && delete l.opts.$orig, !l.opts.$thumb && l.o
220pts.$orig && (l.opts.$thumb = l.opts.$orig.find("img:first")), l.opts.$thumb && !l.opts.$thumb.length && delete l.opts.$thumb, "function" === n.type(l.opts.caption) && (l.opts.caption = l.opts.caption.apply(a, [e, l])), "function" === n.type(e.opts.caption) && (l.opts.caption = e.opts.caption.apply(a, [e, l])), l.opts.caption instanceof n || (l.opts.caption = l.opts.caption === o ? "" : l.opts.caption + ""), "ajax" === s && (c = r.split(/\s+/, 2), c.length > 1 && (l.src = c.shift(), l.opts.filter = c.shift())), "auto" == l.opts.smallBtn && (n.inArray(s, ["html", "inline", "ajax"]) > -1 ? (l.opts.toolbar = !1, l.opts.smallBtn = !0) : l.opts.smallBtn = !1), "pdf" === s && (l.type = "iframe", l.opts.iframe.preload = !1), l.opts.modal && (l.opts = n.extend(!0, l.opts, {
221						infobar: 0,
222						toolbar: 0,
223						smallBtn: 0,
224						keyboard: 0,
225						slideShow: 0,
226						fullScreen: 0,
227						thumbs: 0,
228						touch: 0,
229						clickContent: !1,
230						clickSlide: !1,
231						clickOutside: !1,
232						dblclickContent: !1,
233						dblclickSlide: !1,
234						dblclickOutside: !1
235					})), e.group.push(l)
236				})
237			},
238			addEvents: function () {
239				var o = this;
240				o.removeEvents(), o.$refs.container.on("click.fb-close", "[data-fancybox-close]", function (t) {
241					t.stopPropagation(), t.preventDefault(), o.close(t)
242				}).on("click.fb-prev touchend.fb-prev", "[data-fancybox-prev]", function (t) {
243					t.stopPropagation(), t.preventDefault(), o.previous()
244				}).on("click.fb-next touchend.fb-next", "[data-fancybox-next]", function (t) {
245					t.stopPropagation(), t.preventDefault(), o.next()
246				}).on("click.fb", "[data-fancybox-zoom]", function (t) {
247					o[o.isScaledDown() ? "scaleToActual" : "scaleToFit"]()
248				}), s.on("orientationchange.fb resize.fb", function (t) {
249					t && t.originalEvent && "resize" === t.originalEvent.type ? u(function () {
250						o.update()
251					}) : (o.$refs.stage.hide(), setTimeout(function () {
252						o.$refs.stage.show(), o.update()
253					}, 600))
254				}), r.on("focusin.fb", function (t) {
255					var a = n.fancybox ? n.fancybox.getInstance() : null;
256					a.isClosing || !a.current || !a.current.opts.trapFocus || n(t.target).hasClass("fancybox-container") || n(t.target).is(e) || a && "fixed" !== n(t.target).css("position") && !a.$refs.container.has(t.target).length && (t.stopPropagation(), a.focus(), s.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft))
257				}
257), r.on("keydown.fb", function (t) {
258					var e = o.current,
259						a = t.keyCode || t.which;
260					if (e && e.opts.keyboard && !n(t.target).is("input") && !n(t.target).is("textarea")) return 8 === a || 27 === a ? (t.preventDefault(), void o.close(t)) : 37 === a || 38 === a ? (t.preventDefault(), void o.previous()) : 39 === a || 40 === a ? (t.preventDefault(), void o.next()) : void o.trigger("afterKeydown", t, a)
261				}), o.group[o.currIndex].opts.idleTime && (o.idleSecondsCounter = 0, r.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle", function (t) {
262					o.idleSecondsCounter = 0, o.isIdle && o.showControls(), o.isIdle = !1
263				}), o.idleInterval = t.setInterval(function () {
264					o.idleSecondsCounter++, o.idleSecondsCounter >= o.group[o.currIndex].opts.idleTime && (o.isIdle = !0, o.idleSecondsCounter = 0, o.hideControls())
265				}, 1e3))
266			},
267			removeEvents: function () {
268				var e = this;
269				s.off("orientationchange.fb resize.fb"), r.off("focusin.fb keydown.fb .fb-idle"), this.$refs.container.off(".fb-close .fb-prev .fb-next"), e.idleInterval && (t.clearInterval(e.idleInterval), e.idleInterval = null)
270			},
271			previous: function (t) {
272				return this.jumpTo(this.currPos - 1, t)
273			},
274			next: function (t) {
275				return this.jumpTo(this.currPos + 1, t)
276			},
277			jumpTo: function (t, e, a) {
278				var i, s, r, c, l, u, d, p = this,
279					h = p.group.length;
280				if (!(p.isSliding || p.isClosing || p.isAnimating && p.firstRun)) {
281					if (t = parseInt(t, 10), s = p.current ? p.current.opts.loop : p.opts.loop, !s && (t < 0 || t >= h)) return !1;
282					if (i = p.firstRun = null === p.firstRun, !(h < 2 && !i && p.isSliding)) {
283						if (c = p.current, p.prevIndex = p.currIndex, p.prevPos = p.currPos, r = p.createSlide(t), h > 1 && ((s || r.index > 0) && p.createSlide(t - 1), (s || r.index < h - 1) && p.createSlide(t + 1)), p.current = r, p.currIndex = r.index, p.currPos = r.pos, p.trigger("beforeShow", i), p.updateControls(), u = n.fancybox.getTranslate(r.$slide), r.isMoved = (0 !== u.left || 0 !== u.top) && !r.$slide.hasClass("fancybox-animated"), r.forcedDuration = o, n.isNumeric(e) ? r.forcedDuration = e : e = r.opts[i ? "animationDuration" : "transitionDuration"], e = parseInt(e, 10), i) return r.opts.animationEffect && e && p.$refs.container.css("transition-duration", e + "ms"), p.$refs.container.removeClass("fancybox-is-hidden"), f(p.$refs.container), p.$refs.container.addClass("fancybox-is-open"), r.$slide.addClass("fancybox-slide--current"), p.loadSlide(r), void p.preload();
284						n.each(p.slides, function (t, e) {
285							n.fancybox.stop(e.$slide)
286						}), r.$slide.removeClass("fancybox-slide--next fancybox-slide--previous").addClass("fancybox-slide--current"), r.isMoved ? (l = Math.round(r.$slide.width()), n.each(p.slides, function (t, o) {
287							var a = o.pos - r.pos;
288							n.fancybox.animate(o.$slide, {
289								top: 0,
290								left: a * l + a * o.opts.gutter
291							}, e, function () {
292								o.$slide.removeAttr("style").removeClass("fancybox-slide--next fancybox-slide--previous"), o.pos === p.currPos && (r.isMoved = !1, p.complete())
293							})
294						})) : p.$refs.stage.children().removeAttr("style"), r.isLoaded ? p.revealContent(r) : p.loadSlide(r), p.preload(), c.pos !== r.pos && (d = "fancybox-slide--" + (c.pos > r.pos ? "next" : "previous"), c.$slide.removeClass("fancybox-slide--complete fancybox-slide--current fancybox-slide--next fancybox-slide--previous"), c.isComplete = !1, e && (r.isMoved || r.opts.transitionEffect) && (r.isMoved ? c.$slide.addClass(d) : (d = "fancybox-animated " + d + " fancybox-fx-" + r.opts.transitionEffect, n.fancybox.animate(c.$slide, d, e, function () {
295							c.$slide.removeClass(d).removeAttr("style")
296						}))))
297					}
298				}
299			},
300			createSlide: function (t) {
301				var e, o, a = this;
302				return o = t % a.group.length, o = o < 0 ? a.group.length + o : o, !a.slides[t] && a.group[o] && (e = n('<div class="fancybox-slide"></div>').appendTo(a.$refs.stage), a.slides[t] = n.extend(!0, {}, a.group[o], {
303					pos: t,
304					$slide: e,
305					isLoaded: !1
306				}), a.updateSlide(a.slides[t])), a.slides[t]
307			},
308			scaleToActual: function (t, e, a) {
309				var i, s, r, c, l, u = this,
310					d = u.current,
311					f = d.$content,
312					p = parseInt(d.$slide.width(), 10),
313					h = parseInt(d.$slide.height(), 10),
314					g = d.width,
315					b = d.height;
316				"image" != d.type || d.hasError || !f || u.isAnimating || (n.fancybox.stop(f), u.isAnimating = !0, t = t === o ? .5 * p : t, e = e === o ? .5 * h : e, i = n.fancybox.getTranslate(f), c = g / i.width, l = b / i.height, s = .5 * p - .5 * g, r = .5 * h - .5 * b, g > p && (s = i.left * c - (t * c - t), s > 0 && (s = 0), s < p - g && (s = p - g)), b > h && (r = i.top * l - (e * l - e), r > 0 && (r = 0), r < h - b && (r = h - b)), u.updateCursor(g, b), n.fancybox.animate(f, {
317					top: r,
318					left: s,
319					scaleX: c,
320					scaleY: l
321				}, a || 330, function () {
322					u.isAnimating = !1
323				}), u.SlideShow && u.SlideShow.isActive && u.SlideShow.stop())
324			},
325			scaleToFit: function (t) {
326				var e, o = this,
327					a = o.current,
328					i = a.$content;
329				"image" != a.type || a.hasError || !i || o.isAnimating || (n.fancybox.stop(i), o.isAnimating = !0, e = o.getFitPos(a), o.updateCursor(e.width, e.height), n.fancybox.animate(i, {
330					top: e.top,
331					left: e.left,
332					scaleX: e.width / i.width(),
333					scaleY: e.height / i.height()
334				}, t || 330, function () {
335					o.isAnimating = !1
336				}))
337			},
338			getFitPos: function (t) {
339				var e, o, a, i, s, r = this,
340					c = t.$content,
341					l = t.width,
342					u = t.height,
343					d = t.opts.margin;
344				return !(!c || !c.length || !l && !u) && ("number" === n.type(d) && (d = [d, d]), 2 == d.length && (d = [d[0], d[1], d[0], d[1]]), e = parseInt(r.$refs.stage.width(), 10) - (d[1] + d[3]), o = parseInt(r.$refs.stage.height(), 10) - (d[0] + d[2]), a = Math.min(1, e / l, o / u), i = Math.floor(a * l), s = Math.floor(a * u), {
345					top: Math.floor(.5 * (o - s)) + d[0],
346					left: Math.floor(.5 * (e - i)) + d[3],
347					width: i,
348					height: s
349				})
350			},
351			update: function () {
352				var t = this;
353				n.each(t.slides, function (e, n) {
354					t.updateSlide(n)
355				})
356			},
357			updateSlide: function (t) {
358				var e = this,
359					o = t.$content;
360				o && (t.width || t.height) && (n.fancybox.stop(o), n.fancybox.setTranslate(o, e.getFitPos(t)), t.pos === e.currPos && e.updateCursor()), t.$slide.trigger("refresh"), e.trigger("onUpdate", t)
361			},
362			updateCursor: function (t, e) {
363				var n, a = this,
364					i = a.$refs.container.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-drag fancybox-can-zoomOut");
365				a.current && !a.isClosing && (a.isZoomable() ? (i.addClass("fancybox-is-zoomable"), n = t !== o && e !== o ? t < a.current.width && e < a.current.height : a.isScaledDown(), n ? i.addClass("fancybox-can-zoomIn") : a.current.opts.touch ? i.addClass("fancybox-can-drag") : i.addClass("fancybox-can-zoomOut")) : a.current.opts.touch && i.addClass("fancybox-can-drag"))
366			},
367			isZoomable: function () {
368				var t, e = this,
369					o = e.current;
370				if (o && !e.isClosing) return !!("image" === o.type && o.isLoaded && !o.hasError && ("zoom" === o.opts.clickContent || n.isFunction(o.opts.clickContent) && "zoom" === o.opts.clickContent(o)) && (t = e.getFitPos(o), o.width > t.width || o.height > t.height))
371			},
372			isScaledDown: function () {
373				var t = this,
374					e = t.current,
375					o = e.$content,
376					a = !1;
377				return o && (a = n.fancybox.getTranslate(o), a = a.width < e.width || a.height < e.height), a
378			},
379			canPan: function () {
380				var t = this,
381					e = t.current,
382					n = e.$content,
383					o = !1;
384				return n && (o = t.getFitPos(e), o = Math.abs(n.width() - o.width) > 1 || Math.abs(n.height() - o.height) > 1), o
385			},
386			loadSlide: function (t) {
387				var e, o, a, i = this;
388				if (!t.isLoading && !t.isLoaded) {
389					switch (t.isLoading = !0, i.trigger("beforeLoad", t), e = t.type, o = t.$slide, o.off("refresh").trigger("onReset").addClass("fancybox-slide--" + (e || "unknown")).addClass(t.opts.slideClass), e) {
390						case "image":
391							i.setImage(t);
392							break;
393						case "iframe":
394							i.setIframe(t);
395							break;
396						case "html":
397							i.setContent(t, t.src || t.content);
398							break;
399						case "inline":
400							n(t.src).length ? i.setContent(t, n(t.src)) : i.setError(t);
401							break;
402						case "ajax":
403							i.showLoading(t), a = n.ajax(n.extend({}, t.opts.ajax.settings, {
404								url: t.src,
405								success: function (e, n) {
406									"success" === n && i.setContent(t, e)
407								},
408								error: function (e, n) {
409									e && "abort" !== n && i.setError(t)
410								}
411							})), o.one("onReset", function () {
412								a.abort()
413							});
414							break;
415						default:
416							i.setError(t)
417					}
418					return !0
419				}
420			},
421			setImage: function (e) {
422				var o, a, i, s, r = this,
423					c = e.opts.srcset || e.opts.image.srcset;
424				if (c) {
425					i = t.devicePixelRatio || 1, s = t.innerWidth * i, a = c.split(",").map(function (t) {
426						var e = {};
427						return t.trim().split(/\s+/).forEach(function (t, n) {
428							var o = parseInt(t.substring(0, t.length - 1), 10);
429							return 0 === n ? e.url = t : void(o && (e.value = o, e.postfix = t[t.length - 1]))
430						}), e
431					}), a.sort(function (t, e) {
432						return t.value - e.value
433					});
434					for (var l = 0; l < a.length; l++) {
435						var u = a[l];
436						if ("w" === u.postfix && u.value >= s || "x" === u.postfix && u.value >= i) {
437							o = u;
438							break
439						}
440					}!o && a.length && (o = a[a.length - 1]), o && (e.src = o.url, e.width && e.height && "w" == o.postfix && (e.height = e.width / e.height * o.value, e.width = o.value))
441				}
442				e.$content = n('<div class="fancybox-image-wrap"></div>').addClass("fancybox-is-hidden").appendTo(e.$slide), e.opts.preload !== !1 && e.opts.width && e.opts.height && (e.opts.thumb || e.opts.$thumb) ? (e.width = e.opts.width, e.height = e.opts.height, e.$ghost = n("<img />").one("error", function () {
443					n(this).remove(), e.$ghost = null, r.setBigImage(e)
444				}).one("load", function () {
445					r.afterLoad(e), r.setBigImage(e)
446				}).addClass("fancybox-image").appendTo(e.$content).attr("src", e.opts.thumb || e.opts.$thumb.attr("src"))) : r.setBigImage(e)
447			},
448			setBigImage: function (t) {
449				var e = this,
450					o = n("<img />");
451				t.$image = o.one("error", function () {
452					e.setError(t)
453				}).one("load", function () {
454					clearTimeout(t.timouts), t.timouts = null, e.isClosing || (t.width = this.naturalWidth, t.height = this.naturalHeight, t.opts.image.srcset && o.attr("sizes", "100vw").attr("srcset", t.opts.image.srcset), e.hideLoading(t), t.$ghost ? t.timouts = setTimeout(function () {
455						t.timouts = null, t.$ghost.hide()
456					}, Math.min(300, Math.max(1e3, t.height / 1600))) : e.afterLoad(t))
457				}).addClass("fancybox-image").attr("src", t.src).appendTo(t.$content), (o[0].complete || "complete" == o[0].readyState) && o[0].naturalWidth && o[0].naturalHeight ? o.trigger("load") : o[0].error ? o.trigger("error") : t.timouts = setTimeout(function () {
458					o[0].complete || t.hasError || e.showLoading(t)
459				}, 100)
460			},
461			setIframe: function (t) {
462				var e, a = this,
463					i = t.opts.iframe,
464					s = t.$slide;
465				t.$content = n('<div class="fancybox-content' + (i.preload ? " fancybox-is-hidden" : "") + '"></div>').css(i.css).appendTo(s), e = n(i.tpl.replace(/\{rnd\}/g, (new Date).getTime())).attr(i.attr).appendTo(t.$content), i.preload ? (a.showLoading(t), e.on("load.fb error.fb", function (e) {
466					this.isReady = 1, t.$slide.trigger("refresh"), a.afterLoad(t)
467				}), s.on("refresh.fb", function () {
468					var n, a, s, r = t.$content,
469						c = i.css.width,
470						l = i.css.height;
471					if (1 === e[0].isReady) {
472						try {
473							a = e.contents(), s = a.find("body")
474						} catch (t) {}
475						s && s.length && (c === o && (n = e[0].contentWindow.document.documentElement.scrollWidth, c = Math.ceil(s.outerWidth(!0) + (r.width() - n)), c += r.outerWidth() - r.innerWidth()), l === o && (l = Math.ceil(s.outerHeight(!0)), l += r.outerHeight() - r.innerHeight()), c && r.width(c), l && r.height(l)), r.removeClass("fancybox-is-hidden")
476					}
477				})) : this.afterLoad(t), e.attr("src", t.src), t.opts.smallBtn === !0 && t.$content.prepend(a.translate(t, t.opts.btnTpl.smallBtn)), s.one("onReset", function () {
478					try {
479						n(this).find("iframe").hide().attr("src", "//about:blank")
480					} catch (t) {}
481					n(this).empty(), t.isLoaded = !1
482				})
483			},
484			setContent: function (t, e) {
485				var o = this;
486				o.isClosing || (o.hideLoading(t), t.$slide.empty(), l(e) && e.parent().length ? (e.parent(".fancybox-slide--inline").trigger("onReset"), t.$placeholder = n("<div></div>").hide().insertAfter(e), e.css("display", "inline-block")) : t.hasError || ("string" === n.type(e) && (e = n("<div>").append(n.trim(e)).contents(), 3 === e[0].nodeType && (e = n("<div>").html(e))), t.opts.filter && (e = n("<div>").html(e).find(t.opts.filter))), t.$slide.one("onReset", function () {
487					t.$placeholder && (t.$placeholder.after(e.hide()).remove(), t.$placeholder = null), t.$smallBtn && (t.$smallBtn.remove(), t.$smallBtn = null), t.hasError || (n(this).empty(), t.isLoaded = !1)
488				}), t.$content = n(e).appendTo(t.$slide), this.afterLoad(t))
489			},
490			setError: function (t) {
491				t.hasError = !0, t.$slide.removeClass("fancybox-slide--" + t.type), this.setContent(t, this.translate(t, t.opts.errorTpl))
492			},
493			showLoading: function (t) {
494				var e = this;
495				t = t || e.current, t && !t.$spinner && (t.$spinner = n(e.opts.spinnerTpl).appendTo(t.$slide))
496			},
497			hideLoading: function (t) {
498				var e = this;
499				t = t || e.current, t && t.$spinner && (t.$spinner.remove(), delete t.$spinner)
500			},
501			afterLoad: function (t) {
502				var e = this;
503				e.isClosing || (t.isLoading = !1, t.isLoaded = !0, e.trigger("afterLoad", t), e.hideLoading(t), t.opts.smallBtn && !t.$smallBtn && (t.$smallBtn = n(e.translate(t, t.opts.btnTpl.smallBtn)).appendTo(t.$content.filter("div,form").first())), t.opts.protect && t.$content && !t.hasError && (t.$content.on("contextmenu.fb", function (t) {
504					return 2 == t.button && t.preventDefault(), !0
505				}), "image" === t.type && n('<div class="fancybox-spaceball"></div>').appendTo(t.$content)), e.revealContent(t))
506			},
507			revealContent: function (t) {
508				var e, a, i, s, r, c = this,
509					l = t.$slide,
510					u = !1;
511				return e = t.opts[c.firstRun ? "animationEffect" : "transitionEffect"], i = t.opts[c.firstRun ? "animationDuration" : "transitionDuration"], i = parseInt(t.forcedDuration === o ? i : t.forcedDuration, 10), !t.isMoved && t.pos === c.currPos && i || (e = !1), "zoom" !== e || t.pos === c.currPos && i && "image" === t.type && !t.hasError && (u = c.getThumbPos(t)) || (e = "fade"), "zoom" === e ? (r = c.getFitPos(t), r.scaleX = r.width / u.width, r.scaleY = r.height / u.height, delete r.width, delete r.height, s = t.opts.zoomOpacity, "auto" == s && (s = Math.abs(t.width / t.height - u.width / u.height) > .1), s && (u.opacity = .1, r.opacity = 1), n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"), u), f(t.$content), void n.fancybox.animate(t.$content, r, i, function () {
512					c.complete()
513				})) : (c.updateSlide(t), e ? (n.fancybox.stop(l), a = "fancybox-animated fancybox-slide--" + (t.pos >= c.prevPos ? "next" : "previous") + " fancybox-fx-" + e, l.removeAttr("style").removeClass("fancybox-slide--current fancybox-slide--next fancybox-slide--previous").addClass(a), t.$content.removeClass("fancybox-is-hidden"), f(l), void n.fancybox.animate(l, "fancybox-slide--current", i, function (e) {
514					l.removeClass(a).removeAttr("style"), t.pos === c.currPos && c.complete()
515				}, !0)) : (f(l), t.$content.removeClass("fancybox-is-hidden"), void(t.pos === c.currPos && c.complete())))
516			},
517			getThumbPos: function (o) {
518				var a, i = this,
519					s = !1,
520					r = function (e) {
521						for (var o, a = e[0], i = a.getBoundingClientRect(), s = []; null !== a.parentElement;) "hidden" !== n(a.parentElement).css("overflow") && "auto" !== n(a.parentElement).css("overflow") || s.push(a.parentElement.getBoundingClientRect()), a = a.parentElement;
522						return o = s.every(function (t) {
523							var e = Math.min(i.right, t.right) - Math.max(i.left, t.left),
524								n = Math.min(i.bottom, t.bottom) - Math.max(i.top, t.top);
525							return e > 0 && n > 0
526						}), o && i.bottom > 0 && i.right > 0 && i.left < n(t).width() && i.top < n(t).height()
527					},
528					c = o.opts.$thumb,
529					l = c ? c.offset() : 0;
530				return l && c[0].ownerDocument === e && r(c) && (a = i.$refs.stage.offset(), s = {
531					top: l.top - a.top + parseFloat(c.css("border-top-width") || 0),
532					left: l.left - a.left + parseFloat(c.css("border-left-width") || 0),
533					width: c.width(),
534					height: c.height(),
535					scaleX: 1,
536					scaleY: 1
537				}), s
538			},
539			complete: function () {
540				var t = this,
541					o = t.current,
542					a = {};
543				o.isMoved || !o.isLoaded || o.isComplete || (o.isComplete = !0, o.$slide.siblings().trigger("onReset"), f(o.$slide), o.$slide.addClass("fancybox-slide--complete"), n.each(t.slides, function (e, o) {
544					o.pos >= t.currPos - 1 && o.pos <= t.currPos + 1 ? a[o.pos] = o : o && (n.fancybox.stop(o.$slide), o.$slide.off().remove())
545				}
545), t.slides = a, t.updateCursor(), t.trigger("afterShow"), (n(e.activeElement).is("[disabled]") || o.opts.autoFocus && "image" != o.type && "iframe" !== o.type) && t.focus())
546			},
547			preload: function () {
548				var t, e, n = this;
549				n.group.length < 2 || (t = n.slides[n.currPos + 1], e = n.slides[n.currPos - 1], t && "image" === t.type && n.loadSlide(t), e && "image" === e.type && n.loadSlide(e))
550			},
551			focus: function () {
552				var t, e = this.current;
553				this.isClosing || (e && e.isComplete && (t = e.$slide.find("input[autofocus]:enabled:visible:first"), t.length || (t = e.$slide.find("button,:input,[tabindex],a").filter(":enabled:visible:first"))), t = t && t.length ? t : this.$refs.container, t.focus())
554			},
555			activate: function () {
556				var t = this;
557				n(".fancybox-container").each(function () {
558					var e = n(this).data("FancyBox");
559					e && e.id !== t.id && !e.isClosing && (e.trigger("onDeactivate"), e.removeEvents(), e.isVisible = !1)
560				}), t.isVisible = !0, (t.current || t.isIdle) && (t.update(), t.updateControls()), t.trigger("onActivate"), t.addEvents()
561			},
562			close: function (t, e) {
563				var o, a, i, s, r, c, l = this,
564					f = l.current,
565					p = function () {
566						l.cleanUp(t)
567					};
568				return !l.isClosing && (l.isClosing = !0, l.trigger("beforeClose", t) === !1 ? (l.isClosing = !1, u(function () {
569					l.update()
570				}), !1) : (l.removeEvents(), f.timouts && clearTimeout(f.timouts), i = f.$content, o = f.opts.animationEffect, a = n.isNumeric(e) ? e : o ? f.opts.animationDuration : 0, f.$slide.off(d).removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"), f.$slide.siblings().trigger("onReset").remove(), a && l.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing"), l.hideLoading(f), l.hideControls(), l.updateCursor(), "zoom" !== o || t !== !0 && i && a && "image" === f.type && !f.hasError && (c = l.getThumbPos(f)) || (o = "fade"), "zoom" === o ? (n.fancybox.stop(i), r = n.fancybox.getTranslate(i), r.width = r.width * r.scaleX, r.height = r.height * r.scaleY, s = f.opts.zoomOpacity, "auto" == s && (s = Math.abs(f.width / f.height - c.width / c.height) > .1), s && (c.opacity = 0), r.scaleX = r.width / c.width, r.scaleY = r.height / c.height, r.width = c.width, r.height = c.height, n.fancybox.setTranslate(f.$content, r), n.fancybox.animate(f.$content, c, a, p), !0) : (o && a ? t === !0 ? setTimeout(p, a) : n.fancybox.animate(f.$slide.removeClass("fancybox-slide--current"), "fancybox-animated fancybox-slide--previous fancybox-fx-" + o, a, p) : p(), !0)))
571			},
572			cleanUp: function (t) {
573				var o, a, i = this,
574					r = n("body");
575				i.current.$slide.trigger("onReset"), i.$refs.container.empty().remove(), i.trigger("afterClose", t), i.$lastFocus && i.current.opts.backFocus && i.$lastFocus.focus(), i.current = null, o = n.fancybox.getInstance(), o ? o.activate() : (s.scrollTop(i.scrollTop).scrollLeft(i.scrollLeft), r.removeClass("fancybox-active compensate-for-scrollbar"), r.hasClass("fancybox-iosfix") && (a = parseInt(e.body.style.top, 10), r.removeClass("fancybox-iosfix").css("top", "").scrollTop(a * -1)), n("#fancybox-style-noscroll").remove())
576			},
577			trigger: function (t, e) {
578				var o, a = Array.prototype.slice.call(arguments, 1),
579					i = this,
580					s = e && e.opts ? e : i.current;
581				return s ? a.unshift(s) : s = i, a.unshift(i), n.isFunction(s.opts[t]) && (o = s.opts[t].apply(s, a)), o === !1 ? o : void("afterClose" !== t && i.$refs ? i.$refs.container.trigger(t + ".fb", a) : r.trigger(t + ".fb", a))
582			},
583			updateControls: function (t) {
584				var e = this,
585					n = e.current,
586					o = n.index,
587					a = n.opts.caption,
588					i = e.$refs.container,
589					s = e.$refs.caption;
590				n.$slide.trigger("refresh"), e.$caption = a && a.length ? s.html(a) : null, e.isHiddenControls || e.isIdle || e.showControls(), i.find("[data-fancybox-count]").html(e.group.length), i.find("[data-fancybox-index]").html(o + 1), i.find("[data-fancybox-prev]").prop("disabled", !n.opts.loop && o <= 0), i.find("[data-fancybox-next]").prop("disabled", !n.opts.loop && o >= e.group.length - 1), "image" === n.type ? i.find("[data-fancybox-download]").attr("href", n.opts.image.src || n.src).show() : i.find("[data-fancybox-download],[data-fancybox-zoom]").hide()
591			},
592			hideControls: function () {
593				this.isHiddenControls = !0, this.$refs.container.removeClass("fancybox-show-infobar fancybox-show-toolbar fancybox-show-caption fancybox-show-nav")
594			},
595			showControls: function () {
596				var t = this,
597					e = t.current ? t.current.opts : t.opts,
598					n = t.$refs.container;
599				t.isHiddenControls = !1, t.idleSecondsCounter = 0, n.toggleClass("fancybox-show-toolbar", !(!e.toolbar || !e.buttons)).toggleClass("fancybox-show-infobar", !!(e.infobar && t.group.length > 1)).toggleClass("fancybox-show-nav", !!(e.arrows && t.group.length > 1)).toggleClass("fancybox-is-modal", !!e.modal), t.$caption ? n.addClass("fancybox-show-caption ") : n.removeClass("fancybox-show-caption")
600			},
601			toggleControls: function () {
602				this.isHiddenControls ? this.showControls() : this.hideControls()
603			}
604		}), n.fancybox = {
605			version: "3.2.4",
606			defaults: i,
607			getInstance: function (t) {
608				var e = n('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),
609					o = Array.prototype.slice.call(arguments, 1);
610				return e instanceof p && ("string" === n.type(t) ? e[t].apply(e, o) : "function" === n.type(t) && t.apply(e, o), e)
611			},
612			open: function (t, e, n) {
613				return new p(t, e, n)
614			},
615			close: function (t) {
616				var e = this.getInstance();
617				e && (e.close(), t === !0 && this.close())
618			},
619			destroy: function () {
620				this.close(!0), r.off("click.fb-start")
621			},
622			isMobile: e.createTouch !== o && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),
623			use3d: function () {
624				var n = e.createElement("div");
625				return t.getComputedStyle && t.getComputedStyle(n).getPropertyValue("transform") && !(e.documentMode && e.documentMode < 11)
626			}(),
627			getTranslate: function (t) {
628				var e;
629				if (!t || !t.length) return !1;
630				if (e = t.eq(0).css("transform"), e && e.indexOf("matrix") !== -1 ? (e = e.split("(")[1], e = e.split(")")[0], e = e.split(",")) : e = [], e.length) e = e.length > 10 ? [e[13], e[12], e[0], e[5]] : [e[5], e[4], e[0], e[3]], e = e.map(parseFloat);
631				else {
632					e = [0, 0, 1, 1];
633					var n = /\.*translate\((.*)px,(.*)px\)/i,
634						o = n.exec(t.eq(0).attr("style"));
635					o && (e[0] = parseFloat(o[2]), e[1] = parseFloat(o[1]))
636				}
637				return {
638					top: e[0],
639					left: e[1],
640					scaleX: e[2],
641					scaleY: e[3],
642					opacity: parseFloat(t.css("opacity")),
643					width: t.width(),
644					height: t.height()
645				}
646			},
647			setTranslate: function (t, e) {
648				var n = "",
649					a = {};
650				if (t && e) return e.left === o && e.top === o || (n = (e.left === o ? t.position().left : e.left) + "px, " + (e.top === o ? t.position().top : e.top) + "px", n = this.use3d ? "translate3d(" + n + ", 0px)" : "translate(" + n + ")"), e.scaleX !== o && e.scaleY !== o && (n = (n.length ? n + " " : "") + "scale(" + e.scaleX + ", " + e.scaleY + ")"), n.length && (a.transform = n), e.opacity !== o && (a.opacity = e.opacity), e.width !== o && (a.width = e.width), e.height !== o && (a.height = e.height), t.css(a)
651			},
652			animate: function (t, e, a, i, s) {
653				n.isFunction(a) && (i = a, a = null), n.isPlainObject(e) || t.removeAttr("style"), t.on(d || "transitionend", function (a) {
654					(!a || !a.originalEvent || t.is(a.originalEvent.target) && "z-index" != a.originalEvent.propertyName) && (n.fancybox.stop(t), n.isPlainObject(e) ? e.scaleX !== o && e.scaleY !== o && (t.css("transition-duration", "0ms"), e.width = Math.round(t.width() * e.scaleX), e.height = Math.round(t.height() * e.scaleY), e.scaleX = 1, e.scaleY = 1, n.fancybox.setTranslate(t, e)) : s !== !0 && t.removeClass(e), n.isFunction(i) && i(a))
655				}), n.isNumeric(a) && t.css("transition-duration", a + "ms"), n.isPlainObject(e) ? n.fancybox.setTranslate(t, e) : t.addClass(e), e.scaleX && t.hasClass("fancybox-image-wrap") && t.parent().addClass("fancybox-is-scaling"), t.data("timer", setTimeout(function () {
656					t.trigger("transitionend")
657				}, a + 16))
658			},
659			stop: function (t) {
660				clearTimeout(t.data("timer")), t.off(d || "transitionend"), t.hasClass("fancybox-image-wrap") && t.parent().removeClass("fancybox-is-scaling")
661			}
662		}, n.fn.fancybox = function (t) {
663			var e;
664			return t = t || {}
vendor: 5,869 bytes, lines 664-824
664, e = t.selector || !1, e ? n("body").off("click.fb-start", e).on("click.fb-start", e, {
665				options: t
666			}, a) : this.off("click.fb-start").on("click.fb-start", {
667				items: this,
668				options: t
669			}, a), this
670		}, r.on("click.fb-start", "[data-fancybox]", a)
671	}
672}(window, document, window.jQuery || jQuery),
673function (t) {
674	"use strict";
675	var e = function (e, n, o) {
676			if (e) return o = o || "", "object" === t.type(o) && (o = t.param(o, !0)), t.each(n, function (t, n) {
677				e = e.replace("$" + t, n || "")
678			}), o.length && (e += (e.indexOf("?") > 0 ? "&" : "?") + o), e
679		},
680		n = {
681			youtube: {
682				matcher: /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,
683				params: {
684					autoplay: 1,
685					autohide: 1,
686					fs: 1,
687					rel: 0,
688					hd: 1,
689					wmode: "transparent",
690					enablejsapi: 1,
691					html5: 1
692				},
693				paramPlace: 8,
694				type: "iframe",
695				url: "//www.youtube.com/embed/$4",
696				thumb: "//img.youtube.com/vi/$4/hqdefault.jpg"
697			},
698			vimeo: {
699				matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,
700				params: {
701					autoplay: 1,
702					hd: 1,
703					show_title: 1,
704					show_byline: 1,
705					show_portrait: 0,
706					fullscreen: 1,
707					api: 1
708				},
709				paramPlace: 3,
710				type: "iframe",
711				url: "//player.vimeo.com/video/$2"
712			},
713			metacafe: {
714				matcher: /metacafe.com\/watch\/(\d+)\/(.*)?/,
715				type: "iframe",
716				url: "//www.metacafe.com/embed/$1/?ap=1"
717			},
718			dailymotion: {
719				matcher: /dailymotion.com\/video\/(.*)\/?(.*)/,
720				params: {
721					additionalInfos: 0,
722					autoStart: 1
723				},
724				type: "iframe",
725				url: "//www.dailymotion.com/embed/video/$1"
726			},
727			vine: {
728				matcher: /vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/,
729				type: "iframe",
730				url: "//vine.co/v/$1/embed/simple"
731			},
732			instagram: {
733				matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
734				type: "image",
735				url: "//$1/p/$2/media/?size=l"
736			},
737			gmap_place: {
738				matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,
739				type: "iframe",
740				url: function (t) {
741					return "//maps.google." + t[2] + "/?ll=" + (t[9] ? t[9] + "&z=" + Math.floor(t[10]) + (t[12] ? t[12].replace(/^\//, "&") : "") : t[12]) + "&output=" + (t[12] && t[12].indexOf("layer=c") > 0 ? "svembed" : "embed")
742				}
743			},
744			gmap_search: {
745				matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,
746				type: "iframe",
747				url: function (t) {
748					return "//maps.google." + t[2] + "/maps?q=" + t[5].replace("query=", "q=").replace("api=1", "") + "&output=embed"
749				}
750			}
751		};
752	t(document).on("objectNeedsType.fb", function (o, a, i) {
753		var s, r, c, l, u, d, f, p = i.src || "",
754			h = !1;
755		s = t.extend(!0, {}, n, i.opts.media), t.each(s, function (n, o) {
756			if (c = p.match(o.matcher)) {
757				if (h = o.type, d = {}, o.paramPlace && c[o.paramPlace]) {
758					u = c[o.paramPlace], "?" == u[0] && (u = u.substring(1)), u = u.split("&");
759					for (var a = 0; a < u.length; ++a) {
760						var s = u[a].split("=", 2);
761						2 == s.length && (d[s[0]] = decodeURIComponent(s[1].replace(/\+/g, " ")))
762					}
763				}
764				return l = t.extend(!0, {}, o.params, i.opts[n], d), p = "function" === t.type(o.url) ? o.url.call(this, c, l, i) : e(o.url, c, l), r = "function" === t.type(o.thumb) ? o.thumb.call(this, c, l, i) : e(o.thumb, c), "vimeo" === n && (p = p.replace("&%23", "#")), !1
765			}
766		}), h ? (i.src = p, i.type = h, i.opts.thumb || i.opts.$thumb && i.opts.$thumb.length || (i.opts.thumb = r), "iframe" === h && (t.extend(!0, i.opts, {
767			iframe: {
768				preload: !1,
769				attr: {
770					scrolling: "no"
771				}
772			}
773		}), i.contentProvider = f, i.opts.slideClass += " fancybox-slide--" + ("gmap_place" == f || "gmap_search" == f ? "map" : "video"))) : p && (i.type = i.opts.defaultType)
774	})
775}(window.jQuery || jQuery),
776function (t, e, n) {
777	"use strict";
778	var o = function () {
779			return t.requestAnimationFrame || t.webkitRequestAnimationFrame || t.mozRequestAnimationFrame || t.oRequestAnimationFrame || function (e) {
780				return t.setTimeout(e, 1e3 / 60)
781			}
782		}(),
783		a = function () {
784			return t.cancelAnimationFrame || t.webkitCancelAnimationFrame || t.mozCancelAnimationFrame || t.oCancelAnimationFrame || function (e) {
785				t.clearTimeout(e)
786			}
787		}(),
788		i = function (e) {
789			var n = [];
790			e = e.originalEvent || e || t.e, e = e.touches && e.touches.length ? e.touches : e.changedTouches && e.changedTouches.length ? e.changedTouches : [e];
791			for (var o in e) e[o].pageX ? n.push({
792				x: e[o].pageX,
793				y: e[o].pageY
794			}) : e[o].clientX && n.push({
795				x: e[o].clientX,
796				y: e[o].clientY
797			});
798			return n
799		},
800		s = function (t, e, n) {
801			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
802		},
803		r = function (t) {
804			if (t.is('a,area,button,[role="button"],input,label,select,summary,textarea') || n.isFunction(t.get(0).onclick) || t.data("selectable")) return !0;
805			for (var e = 0, o = t[0].attributes, a = o.length; e < a; e++)
806				if ("data-fancybox-" === o[e].nodeName.substr(0, 14)) return !0;
807			return !1
808		},
809		c = function (e) {
810			var n = t.getComputedStyle(e)["overflow-y"],
811				o = t.getComputedStyle(e)["overflow-x"],
812				a = ("scroll" === n || "auto" === n) && e.scrollHeight > e.clientHeight,
813				i = ("scroll" === o || "auto" === o) && e.scrollWidth > e.clientWidth;
814			return a || i
815		},
816		l = function (t) {
817			for (var e = !1;;) {
818				if (e = c(t.get(0))) break;
819				if (t = t.parent(), !t.length || t.hasClass("fancybox-stage") || t.is("body")) break
820			}
821			return e
822		},
823		u = function (t) {
824			var e = this;
825			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"))
826		};
827	u.prototype.destroy = function () {
828		this.$container.off(".fb.touch")
829	}, u.prototype.ontouchstart = function (o) {
830		var a = this,
831			c = n(o.target),
832			u = a.instance,
833			d = u.current,
834			f = d.$content,
835			p = "touchstart" == o.type;
836		if (p && a.$container.off("mousedown.fb.touch"), !d || a.instance.isAnimating || a.instance.isClosing) return o.stopPropagation(), void o.preventDefault();
837		if ((!o.originalEvent || 2 != o.originalEvent.button) && c.length && !r(c) && !r(c.parent()) && !(o.originalEvent.clientX > c[0].clientWidth + c.offset().left) && (a.startPoints = i(o), a.startPoints && !(a.startPoints.length > 1 && u.isSliding))) {
838			if (a.$target = c, a.$content = f, a.canTap = !0, a.opts = d.opts.touch, n(e).off(".fb.touch"), n(e).on(p ? "touchend.fb.touch touchcancel.fb.touch" : "mouseup.fb.touch mouseleave.fb.touch", n.proxy(a, "ontouchend")), n(e).on(p ? "touchmove.fb.touch" : "mousemove.fb.touch", n.proxy(a, "ontouchmove")), !a.opts && !u.canPan() || !c.is(a.$stage) && !a.$stage.find(c).length) return void(c.is("img") && o.preventDefault());
839			o.stopPropagation(), n.fancybox.isMobile && (l(a.$target) || l(a.$target.parent())) || o.preventDefault(), a.canvasWidth = Math.round(d.$slide[0].clientWidth), a.canvasHeight = Math.round(d.$slide[0].clientHeight), a.startTime = (new Date).getTime(), a.distanceX = a.distanceY = a.distance = 0, a.isPanning = !1, a.isSwiping = !1, a.isZooming = !1, a.sliderStartPos = a.sliderLastPos || {
840				top: 0,
841				left: 0
842			}, a.contentStartPos = n.fancybox.getTranslate(a.$content), a.contentLastPos = null, 1 !== a.startPoints.length || a.isZooming || (a.canTap = !u.isSliding, "image" === d.type && (a.contentStartPos.width > a.canvasWidth + 1 || a.contentStartPos.height > a.canvasHeight + 1) ? (n.fancybox.stop(a.$content), a.$content.css("transition-duration", "0ms"), a.isPanning = !0) : a.isSwiping = !0, a.$container.addClass("fancybox-controls--isGrabbing")), 2 !== a.startPoints.length || u.isAnimating || d.hasError || "image" !== d.type || !d.isLoaded && !d.$ghost || (a.isZooming = !0, a.isSwiping = !1, a.isPanning = !1, n.fancybox.stop(a.$content), a.$content.css("transition-duration", "0ms"), a.centerPointStartX = .5 * (a.startPoints[0].x + a.startPoints[1].x) - n(t).scrollLeft(), a.centerPointStartY = .5 * (a.startPoints[0].y + a.startPoints[1].y) - n(t).scrollTop(), a.percentageOfImageAtPinchPointX = (a.centerPointStartX - a.contentStartPos.left) / a.contentStartPos.width, a.percentageOfImageAtPinchPointY = (a.centerPointStartY - a.contentStartPos.top) / a.contentStartPos.height, a.startDistanceBetweenFingers = s(a.startPoints[0], a.startPoints[1]))
843		}
844	}, u.prototype.ontouchmove = function (t) {
845		var e = this;
846		if (e.newPoints = i(t), n.fancybox.isMobile && (l(e.$target) || l(e.$target.parent()))) return t.stopPropagation(), void(e.canTap = !1);
847		if ((e.opts || e.instance.canPan()) && e.newPoints && e.newPoints.length && (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)) {
848			if (!e.$target.is(e.$stage) && !e.$stage.find(e.$target).length) return;
849			t.stopPropagation(), t.preventDefault(), e.isSwiping ? e.onSwipe() : e.isPanning ? e.onPan() : e.isZooming && e.onZoom()
850		}
851	}, u.prototype.onSwipe = function () {
852		var e, i = this,
853			s = i.isSwiping,
854			r = i.sliderStartPos.left || 0;
855		s === !0 ? Math.abs(i.distance) > 10 && (i.canTap = !1, i.instance.group.length < 2 && i.opts.vertical ? i.isSwiping = "y" : i.instance.isSliding || i.opts.vertical === !1 || "auto" === i.opts.vertical && n(t).width() > 800 ? i.isSwiping = "x" : (e = Math.abs(180 * Math.atan2(i.distanceY, i.distanceX) / Math.PI), i.isSwiping = e > 45 && e < 135 ? "y" : "x"), i.instance.isSliding = i.isSwiping, i.startPoints = i.newPoints, n.each(i.instance.slides, function (t, e) {
856			n.fancybox.stop(e.$slide), e.$slide.css("transition-duration", "0ms"), e.inTransition = !1, e.pos === i.instance.current.pos && (i.sliderStartPos.left = n.fancybox.getTranslate(e.$slide).left)
857		}), i.instance.SlideShow && i.instance.SlideShow.isActive && i.instance.SlideShow.stop()) : ("x" == s && (i.distanceX > 0 && (i.instance.group.length < 2 || 0 === i.instance.current.index && !i.instance.current.opts.loop) ? r += Math.pow(i.distanceX, .8) : i.distanceX < 0 && (i.instance.group.length < 2 || i.instance.current.index === i.instance.group.length - 1 && !i.instance.current.opts.loop) ? r -= Math.pow(-i.distanceX, .8) : r += i.distanceX), i.sliderLastPos = {
858			top: "x" == s ? 0 : i.sliderStartPos.top + i.distanceY,
859			left: r
860		}, i.requestId && (a(i.requestId), i.requestId = null), i.requestId = o(function () {
861			i.sliderLastPos && (n.each(i.instance.slides, function (t, e) {
862				var o = e.pos - i.instance.currPos;
863				n.fancybox.setTranslate(e.$slide, {
864					top: i.sliderLastPos.top,
865					left: i.sliderLastPos.left + o * i.canvasWidth + o * e.opts.gutter
866				})
867			}), i.$container.addClass("fancybox-is-sliding"))
868		}))
869	}, u.prototype.onPan = function () {
870		var t, e, i, s = this;
871		s.canTap = !1, t = s.contentStartPos.width > s.canvasWidth ? s.contentStartPos.left + s.distanceX : s.contentStartPos.left, e = s.contentStartPos.top + s.distanceY, i = s.limitMovement(t, e, s.contentStartPos.width, s.contentStartPos.height), i.scaleX = s.contentStartPos.scaleX, i.scaleY = s.contentStartPos.scaleY, s.contentLastPos = i, s.requestId && (a(s.requestId), s.requestId = null), s.requestId = o(function () {
872			n.fancybox.setTranslate(s.$content, s.contentLastPos)
873		})
874	}, u.prototype.limitMovement = function (t, e, n, o) {
875		var a, i, s, r, c = this,
876			l = c.canvasWidth,
877			u = c.canvasHeight,
878			d = c.contentStartPos.left,
879			f = c.contentStartPos.top,
880			p = c.distanceX,
881			h = c.distanceY;
882		return a = Math.max(0, .5 * l - .5 * n), i = Math.max(0, .5 * u - .5 * o), s = Math.min(l - n, .5 * l - .5 * n), r = Math.min(u - o, .5 * u - .5 * o), n > l && (p > 0 && t > a && (t = a - 1 + Math.pow(-a + d + p, .8) || 0), p < 0 && t < s && (t = s + 1 - Math.pow(s - d - p, .8) || 0)), o > u && (h > 0 && e > i && (e = i - 1 + Math.pow(-i + f + h, .8) || 0), h < 0 && e < r && (e = r + 1 - Math.pow(r - f - h, .8) || 0)), {
883			top: e,
884			left: t
885		}
886	}, u.prototype.limitPosition = function (t, e, n, o) {
887		var a = this,
888			i = a.canvasWidth,
889			s = a.canvasHeight;
890		return n > i ? (t = t > 0 ? 0 : t, t = t < i - n ? i - n : t) : t = Math.max(0, i / 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), {
891			top: e,
892			left: t
893		}
894	}, u.prototype.onZoom = function () {
895		var e = this,
896			i = e.contentStartPos.width,
897			r = e.contentStartPos.height,
898			c = e.contentStartPos.left,
899			l = e.contentStartPos.top,
900			u = s(e.newPoints[0], e.newPoints[1]),
901			d = u / e.startDistanceBetweenFingers,
902			f = Math.floor(i * d),
903			p = Math.floor(r * d),
904			h = (i - f) * e.percentageOfImageAtPinchPointX,
905			g = (r - p) * e.percentageOfImageAtPinchPointY,
906			b = (e.newPoints[0].x + e.newPoints[1].x) / 2 - n(t).scrollLeft(),
907			m = (e.newPoints[0].y + e.newPoints[1].y) / 2 - n(t).scrollTop(),
908			y = b - e.centerPointStartX,
909			v = m - e.centerPointStartY,
910			x = c + (h + y),
911			w = l + (g + v),
912			$ = {
913				top: w,
914				left: x,
915				scaleX: e.contentStartPos.scaleX * d,
916				scaleY: e.contentStartPos.scaleY * d
917			};
918		e.canTap = !1, e.newWidth = f, e.newHeight = p, e.contentLastPos = $, e.requestId && (a(e.requestId), e.requestId = null), e.requestId = o(function () {
919			n.fancybox.setTranslate(e.$content, e.contentLastPos)
920		})
921	}, u.prototype.ontouchend = function (t) {
922		var o = this,
923			s = Math.max((new Date).getTime() - o.startTime, 1),
924			r = o.isSwiping,
925			c = o.isPanning,
926			l = o.isZooming;
927		return o.endPoints = i(t), o.$container.removeClass("fancybox-controls--isGrabbing"), n(e).off(".fb.touch"), o.requestId && (a(o.requestId), o.requestId = null), o.isSwiping = !1, o.isPanning = !1, o.isZooming = !1, o.canTap ? o.onTap(t) : (o.speed = 366, o.velocityX = o.distanceX / s * .5, o.velocityY = o.distanceY / s * .5, o.speedX = Math.max(.5 * o.speed, Math.min(1.5 * o.speed, 1 / Math.abs(o.velocityX) * o.speed)), void(c ? o.endPanning() : l ? o.endZooming() : o.endSwiping(r)))
928	}, u.prototype.endSwiping = function (t) {
929		var e = this,
930			o = !1;
931		e.instance.isSliding = !1, e.sliderLastPos = null, "y" == t && Math.abs(e.distanceY) > 50 ? (n.fancybox.animate(e.instance.current.$slide, {
932			top: e.sliderStartPos.top + e.distanceY + 150 * e.velocityY,
933			opacity: 0
934		}, 150), o = e.instance.close(!0, 300)) : "x" == t && e.distanceX > 50 && e.instance.group.length > 1 ? o = e.instance.previous(e.speedX) : "x" == t && e.distanceX < -50 && e.instance.group.length > 1 && (o = e.instance.next(e.speedX)), o !== !1 || "x" != t && "y" != t || e.instance.jumpTo(e.instance.current.index, 150), e.$container.removeClass("fancybox-is-sliding")
935	}, u.prototype.endPanning = function () {
936		var t, e, o, a = this;
937		a.contentLastPos && (a.opts.momentum === !1 ? (t = a.contentLastPos.left, e = a.contentLastPos.top) : (t = a.contentLastPos.left + a.velocityX * a.speed, e = a.contentLastPos.top + a.velocityY * a.speed), o = a.limitPosition(t, e, a.contentStartPos.width, a.contentStartPos.height), o.width = a.contentStartPos.width, o.height = a.contentStartPos.height, n.fancybox.animate(a.$content, o, 330))
938	}, u.prototype.endZooming = function () {
939		var t, e, o, a, i = this,
940			s = i.instance.current,
941			r = i.newWidth,
942			c = i.newHeight;
943		i.contentLastPos && (t = i.contentLastPos.left, e = i.contentLastPos.top, a = {
944			top: e,
945			left: t,
946			width: r,
947			height: c,
948			scaleX: 1,
949			scaleY: 1
950		}, n.fancybox.setTranslate(i.$content, a), r < i.canvasWidth && c < i.canvasHeight ? i.instance.scaleToFit(150) : r > s.width || c > s.height ? i.instance.scaleToActual(i.centerPointStartX, i.centerPointStartY, 150) : (o = i.limitPosition(t, e, r, c), n.fancybox.setTranslate(i.content, n.fancybox.getTranslate(i.$content)), n.fancybox.animate(i.$content, o, 150)))
951	}, u.prototype.onTap = function (t) {
952		var e, o = this,
953			a = n(t.target),
954			s = o.instance,
955			r = s.current,
956			c = t && i(t) || o.startPoints,
957			l = c[0] ? c[0].x - o.$stage.offset().left : 0,
958			u = c[0] ? c[0].y - o.$stage.offset().top : 0,
959			d = function (e) {
960				var a = r.opts[e];
961				if (n.isFunction(a) && (a = a.apply(s, [r, t])), a) switch (a) {
962					case "close":
963						s.close(o.startEvent);
964						break;
965					case "toggleControls":
966						s.toggleControls(!0);
967						break;
968					case "next":
969						s.next();
970						break;
971					case "nextOrClose":
972						s.group.length > 1 ? s.next() : s.close(o.startEvent);
973						break;
974					case "zoom":
975						"image" == r.type && (r.isLoaded || r.$ghost) && (s.canPan() ? s.scaleToFit() : s.isScaledDown() ? s.scaleToActual(l, u) : s.group.length < 2 && s.close(o.startEvent))
976				}
977			};
978		if (!(t.originalEvent && 2 == t.originalEvent.button || s.isSliding || l > a[0].clientWidth + a.offset().left)) {
979			if (a.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container")) e = "Outside";
980			else if (a.is(".fancybox-slide")) e = "Slide";
981			else {
982				if (!s.current.$content || !s.current.$content.has(t.target).length) return;
983				e = "Content"
984			}
985			if (o.tapped) {
986				if (clearTimeout(o.tapped), o.tapped = null, Math.abs(l - o.tapX) > 50 || Math.abs(u - o.tapY) > 50 || s.isSliding) return this;
987				d("dblclick" + e)
988			} else o.tapX = l, o.tapY = u, r.opts["dblclick" + e] && r.opts["dblclick" + e] !== r.opts["click" + e] ? o.tapped = setTimeout(function () {
989				o.tapped = null, d("click" + e)
990			}, 300) : d("click" + e);
991			return this
992		}
993	}, n(e).on("onActivate.fb", function (t, e) {
994		e && !e.Guestures && (e.Guestures = new u(e))
995	}), n(e).on("beforeClose.fb", function (t, e) {
996		e && e.Guestures && e.Guestures.destroy()
997	})
998}(window, document, window.jQuery || jQuery),
999function (t, e) {
1000	"use strict";
1001	e.extend(!0, e.fancybox.defaults, {
1002		btnTpl: {
1003			slideShow: '<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"><svg viewBox="0 0 40 40"><path d="M13,12 L27,20 L13,27 Z" /><path d="M15,10 v19 M23,10 v19" /></svg></button>'
1004		},
1005		slideShow: {
1006			autoStart: !1,
1007			speed: 3e3
1008		}
1009	});
1010	var n = function (t) {
1011		this.instance = t, this.init()
1012	};
1013	e.extend(n.prototype, {
1014		timer: null,
1015		isActive: !1,
1016		$button: null,
1017		init: function () {
1018			var t = this;
1019			t.$button = t.instance.$refs.toolbar.find("[data-fancybox-play]").on("click", function () {
1020				t.toggle()
1021			}), (t.instance.group.length < 2 || !t.instance.group[t.instance.currIndex].opts.slideShow) && t.$button.hide()
1022		},
1023		set: function (t) {
1024			var e = this;
1025			e.instance && e.instance.current && (t === !0 || e.instance.current.opts.loop || e.instance.currIndex < e.instance.group.length - 1) ? e.timer = setTimeout(function () {
1026				e.isActive && e.instance.jumpTo((e.instance.currIndex + 1) % e.instance.group.length)
1027			}, e.instance.current.opts.slideShow.speed) : (e.stop(), e.instance.idleSecondsCounter = 0, e.instance.showControls())
1028		},
1029		clear: function () {
1030			var t = this;
1031			clearTimeout(t.timer), t.timer = null
1032		},
1033		start: function () {
1034			var t = this,
1035				e = t.instance.current;
1036			e && (t.isActive = !0, t.$button.attr("title", e.opts.i18n[e.opts.lang].PLAY_STOP).removeClass("fancybox-button--play").addClass("fancybox-button--pause"), t.set(!0))
1037		},
1038		stop: function () {
1039			var t = this,
1040				e = t.instance.current;
1041			t.clear(), t.$button.attr("title", e.opts.i18n[e.opts.lang].PLAY_START).removeClass("fancybox-button--pause").addClass("fancybox-button--play"), t.isActive = !1
1042		},
1043		toggle: function () {
1044			var t = this;
1045			t.isActive ? t.stop() : t.start()
1046		}
1047	}), e(t).on({
1048		"onInit.fb": function (t, e) {
1049			e && !e.SlideShow && (e.SlideShow = new n(e))
1050		},
1051		"beforeShow.fb": function (t, e, n, o) {
1052			var a = e && e.SlideShow;
1053			o ? a && n.opts.slideShow.autoStart && a.start() : a && a.isActive && a.clear()
1054		},
1055		"afterShow.fb": function (t, e, n) {
1056			var o = e && e.SlideShow;
1057			o && o.isActive && o.set()
1058		},
1059		"afterKeydown.fb": function (n, o, a, i, s) {
1060			var r = o && o.SlideShow;
1061			!r || !a.opts.slideShow || 80 !== s && 32 !== s || e(t.activeElement).is("button,a,input") || (i.preventDefault(), r.toggle(
1061))
1062		},
1063		"beforeClose.fb onDeactivate.fb": function (t, e) {
1064			var n = e && e.SlideShow;
1065			n && n.stop()
1066		}
1067	}), e(t).on("visibilitychange", function () {
1068		var n = e.fancybox.getInstance(),
1069			o = n && n.SlideShow;
1070		o && o.isActive && (t.hidden ? o.clear() : o.set())
1071	})
1072}(document, window.jQuery || jQuery),
1073function (t, e) {
1074	"use strict";
1075	var n = function () {
1076		var e, n, o, a = [
1077				["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"],
1078				["webkitRequestFullscreen", "webkitExitFullscreen", "webkitFullscreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror"],
1079				["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitCurrentFullScreenElement", "webkitCancelFullScreen", "webkitfullscreenchange", "webkitfullscreenerror"],
1080				["mozRequestFullScreen", "mozCancelFullScreen", "mozFullScreenElement", "mozFullScreenEnabled", "mozfullscreenchange", "mozfullscreenerror"],
1081				["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"]
1082			],
1083			i = {};
1084		for (n = 0; n < a.length; n++)
1085			if (e = a[n], e && e[1] in t) {
1086				for (o = 0; o < e.length; o++) i[a[0][o]] = e[o];
1087				return i
1088			}
1089		return !1
1090	}();
1091	if (!n) return void(e && e.fancybox && (e.fancybox.defaults.btnTpl.fullScreen = !1));
1092	var o = {
1093		request: function (e) {
1094			e = e || t.documentElement, e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT)
1095		},
1096		exit: function () {
1097			t[n.exitFullscreen]()
1098		},
1099		toggle: function (e) {
1100			e = e || t.documentElement, this.isFullscreen() ? this.exit() : this.request(e)
1101		},
1102		isFullscreen: function () {
1103			return Boolean(t[n.fullscreenElement])
1104		},
1105		enabled: function () {
1106			return Boolean(t[n.fullscreenEnabled])
1107		}
1108	};
1109	e.extend(!0, e.fancybox.defaults, {
1110		btnTpl: {
1111			fullScreen: '<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fullscreen" title="{{FULL_SCREEN}}"><svg viewBox="0 0 40 40"><path d="M9,12 h22 v16 h-22 v-16 v16 h22 v-16 Z" /></svg></button>'
1112		},
1113		fullScreen: {
1114			autoStart: !1
1115		}
1116	}), e(t).on({
1117		"onInit.fb": function (t, e) {
1118			var n;
1119			e && e.group[e.currIndex].opts.fullScreen ? (n = e.$refs.container, n.on("click.fb-fullscreen", "[data-fancybox-fullscreen]", function (t) {
1120				t.stopPropagation(), t.preventDefault(), o.toggle(n[0])
1121			}), e.opts.fullScreen && e.opts.fullScreen.autoStart === !0 && o.request(n[0]), e.FullScreen = o) : e && e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide()
1122		},
1123		"afterKeydown.fb": function (t, e, n, o, a) {
1124			e && e.FullScreen && 70 === a && (o.preventDefault(), e.FullScreen.toggle(e.$refs.container[0]))
1125		},
1126		"beforeClose.fb": function (t) {
1127			t && t.FullScreen && o.exit()
1128		}
1129	}), e(t).on(n.fullscreenchange, function () {
1130		var t = o.isFullscreen(),
1131			n = e.fancybox.getInstance();
1132		n && (n.current && "image" === n.current.type && n.isAnimating && (n.current.$content.css("transition", "none"), n.isAnimating = !1, n.update(!0, !0, 0)), n.trigger("onFullscreenChange", t), n.$refs.container.toggleClass("fancybox-is-fullscreen", t))
1133	})
1134}(document, window.jQuery || jQuery),
1135function (t, e) {
1136	"use strict";
1137	e.fancybox.defaults = e.extend(!0, {
1138		btnTpl: {
1139			thumbs: '<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"><svg viewBox="0 0 120 120"><path d="M30,30 h14 v14 h-14 Z M50,30 h14 v14 h-14 Z M70,30 h14 v14 h-14 Z M30,50 h14 v14 h-14 Z M50,50 h14 v14 h-14 Z M70,50 h14 v14 h-14 Z M30,70 h14 v14 h-14 Z M50,70 h14 v14 h-14 Z M70,70 h14 v14 h-14 Z" /></svg></button>'
1140		},
1141		thumbs: {
1142			autoStart: !1,
1143			hideOnClose: !0,
1144			parentEl: ".fancybox-container",
1145			axis: "y"
1146		}
1147	}, e.fancybox.defaults);
1148	var n = function (t) {
1149		this.init(t)
1150	};
1151	e.extend(n.prototype, {
1152		$button: null,
1153		$grid: null,
1154		$list: null,
1155		isVisible: !1,
1156		isActive: !1,
1157		init: function (t) {
1158			var e = this;
1159			e.instance = t, t.Thumbs = e;
1160			var n = t.group[0],
1161				o = t.group[1];
1162			e.opts = t.group[t.currIndex].opts.thumbs, e.$button = t.$refs.toolbar.find("[data-fancybox-thumbs]"), e.opts && n && o && ("image" == n.type || n.opts.thumb || n.opts.$thumb) && ("image" == o.t
1162ype || o.opts.thumb || o.opts.$thumb) ? (e.$button.show().on("click", function () {
1163				e.toggle()
1164			}), e.isActive = !0) : e.$button.hide()
1165		},
1166		create: function () {
1167			var t, n, o = this,
1168				a = o.instance,
1169				i = o.opts.parentEl;
1170			o.$grid = e('<div class="fancybox-thumbs fancybox-thumbs-' + o.opts.axis + '"></div>').appendTo(a.$refs.container.find(i).addBack().filter(i)), t = "<ul>", e.each(a.group, function (e, o) {
1171				n = o.opts.thumb || (o.opts.$thumb ? o.opts.$thumb.attr("src") : null), n || "image" !== o.type || (n = o.src), n && n.length && (t += '<li data-index="' + e + '"  tabindex="0" class="fancybox-thumbs-loading"><img data-src="' + n + '" /></li>')
1172			}), t += "</ul>", o.$list = e(t).appendTo(o.$grid).on("click", "li", function () {
1173				a.jumpTo(e(this).data("index"))
1174			}), o.$list.find("img").hide().one("load", function () {
1175				var t, n, o, a, i = e(this).parent().removeClass("fancybox-thumbs-loading"),
1176					s = i.outerWidth(),
1177					r = i.outerHeight();
1178				t = this.naturalWidth || this.width, n = this.naturalHeight || this.height, o = t / s, a = n / r, o >= 1 && a >= 1 && (o > a ? (t /= a, n = r) : (t = s, n /= o)), e(this).css({
1179					width: Math.floor(t),
1180					height: Math.floor(n),
1181					"margin-top": n > r ? Math.floor(.3 * r - .3 * n) : Math.floor(.5 * r - .5 * n),
1182					"margin-left": Math.floor(.5 * s - .5 * t)
1183				}).show()
1184			}).each(function () {
1185				this.src = e(this).data("src")
1186			}), "x" === o.opts.axis && o.$list.width(parseInt(o.$grid.css("padding-right")) + a.group.length * o.$list.children().eq(0).outerWidth(!0) + "px")
1187		},
1188		focus: function (t) {
1189			var e, n, o = this,
1190				a = o.$list;
1191			o.instance.current && (e = a.children().removeClass("fancybox-thumbs-active").filter('[data-index="' + o.instance.current.index + '"]').addClass("fancybox-thumbs-active"), n = e.position(), "y" === o.opts.axis && (n.top < 0 || n.top > a.height() - e.outerHeight()) ? a.stop().animate({
1192				scrollTop: a.scrollTop() + n.top
1193			}, t) : "x" === o.opts.axis && (n.left < a.parent().scrollLeft() || n.left > a.parent().scrollLeft() + (a.parent().width() - e.outerWidth())) && a.parent().stop().animate({
1194				scrollLeft: n.left
1195			}, t))
1196		},
1197		update: function () {
1198			this.instance.$refs.container.toggleClass("fancybox-show-thumbs", this.isVisible), this.isVisible ? (this.$grid || this.create(), this.instance.trigger("onThumbsShow"), this.focus(0)) : this.$grid && this.instance.trigger("onThumbsHide"), this.instance.update()
1199		},
1200		hide: function () {
1201			this.isVisible = !1, this.update()
1202		},
1203		show: function () {
1204			this.isVisible = !0, this.update()
1205		},
1206		toggle: function () {
1207			this.isVisible = !this.isVisible, this.update()
1208		}
1209	}), e(t).on({
1210		"onInit.fb": function (t, e) {
1211			var o;
1212			e && !e.Thumbs && (o = new n(e), o.isActive && o.opts.autoStart === !0 && o.show())
1213		},
1214		"beforeShow.fb": function (t, e, n, o) {
1215			var a = e && e.Thumbs;
1216			a && a.isVisible && a.focus(o ? 0 : 250)
1217		},
1218		"afterKeydown.fb": function (t, e, n, o, a) {
1219			var i = e && e.Thumbs;
1220			i && i.isActive && 71 === a && (o.preventDefault(), i.toggle())
1221		},
1222		"beforeClose.fb": function (t, e) {
1223			var n = e && e.Thumbs;
1224			n && n.isVisible && n.opts.hideOnClose !== !1 && n.$grid.hide()
1225		}
1226	})
1227}(document, window.jQuery),
1228function (t, e) {
1229	"use strict";
1230
1231	function n(t) {
1232		var e = {
1233			"&": "&amp;",
1234			"<": "&lt;",
1235			">": "&gt;",
1236			'"': "&quot;",
1237			"'": "&#39;",
1238			"/": "&#x2F;",
1239			"`": "&#x60;",
1240			"=": "&#x3D;"
1241		};
1242		return String(t).replace(/[&<>"'`=\/]/g, function (t) {
1243			return e[t]
1244		})
1245	}
1246	e.extend(!0, e.fancybox.defaults, {
1247		btnTpl: {
1248			share: '<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}"><svg viewBox="0 0 40 40"><path d="M6,30 C8,18 19,16 23,16 L23,16 L23,10 L33,20 L23,29 L23,24 C19,24 8,27 6,30 Z"></svg></button>'
1249		},
1250		share: {
1251			tpl: '<div class="fancybox-share"><h1>{{SHARE}}</h1><p><a href="https://www.facebook.com/sharer/sharer.php?u={{src}}" target="_blank" class="fancybox-share_button"><svg version="1.1" viewBox="0 0 32 32" fill="#3b5998"><path d="M27.6 3h-23.2c-.8 0-1.4.6-1.4 1.4v23.1c0 .9.6 1.5 1.4 1.5h12.5v-10.1h-3.4v-3.9h3.4v-2.9c0-3.4 2.1-5.2 5-5.2 1.4 0 2.7.1 3 .2v3.5h-2.1c-1.6 0-1.9.8-1.9 1.9v2.5h3.9l-.5 3.9h-3.4v10.1h6.6c.8 0 1.4-.6 1.4-1.4v-23.2c.1-.8-.5-1.4-1.3-1.4z"></path></svg><span>Facebook</span></a><a href="https://www.pinterest.com/pin/create/button/?url={{src}}&amp;description={{descr}}" target="_blank" class="fancybox-share_button"><svg version="1.1" viewBox="0 0 32 32" fill="#c92228"><path d="M16 3c-7.2 0-13 5.8-13 13 0 5.5 3.4 10.2 8.3 12.1-.1-1-.2-2.6 0-3.7.2-1 1.5-6.5 1.5-6.5s-.4-.8-.4-1.9c0-1.8 1-3.2 2.4-3.2 1.1 0 1.6.8 1.6 1.8 0 1.1-.7 2.8-1.1 4.3-.3 1.3.6 2.3 1.9 2.3 2.3 0 4.1-2.4 4.1-6 0-3.1-2.2-5.3-5.4-5.3-3.7 0-5.9 2.8-5.9 5.6 0 1.1.4 2.3 1 3 .1.1.1.2.1.4-.1.4-.3 1.3-.4 1.5-.1.2-.2.3-.4.2-1.6-.8-2.6-3.1-2.6-5 0-4.1 3-7.9 8.6-7.9 4.5 0 8 3.2 8 7.5 0 4.5-2.8 8.1-6.7 8.1-1.3 0-2.6-.7-3-1.5 0 0-.7 2.5-.8 3.1-.3 1.1-1.1 2.5-1.6 3.4 1.2.4 2.5.6 3.8.6 7.2 0 13-5.8 13-13 0-7.1-5.8-12.9-13-12.9z"></path></svg><span>Pinterest</span></a><a href="https://twitter.com/intent/tweet?url={{src}}&amp;text={{descr}}" target="_blank" class="fancybox-share_button"><svg version="1.1" viewBox="0 0 32 32" fill="#1da1f2"><path d="M30 7.3c-1 .5-2.1.8-3.3.9 1.2-.7 2.1-1.8 2.5-3.2-1.1.7-2.3 1.1-3.6 1.4-1-1.1-2.5-1.8-4.2-1.8-3.2 0-5.7 2.6-5.7 5.7 0 .5.1.9.1 1.3-4.8-.2-9-2.5-11.8-6-.5.9-.8 1.9-.8 3 0 2 1 3.8 2.6 4.8-.9 0-1.8-.3-2.6-.7v.1c0 2.8 2 5.1 4.6 5.6-.5.1-1 .2-1.5.2-.4 0-.7 0-1.1-.1.7 2.3 2.9 3.9 5.4 4-2 1.5-4.4 2.5-7.1 2.5-.5 0-.9 0-1.4-.1 2.5 1.6 5.6 2.6 8.8 2.6 10.6 0 16.3-8.8 16.3-16.3v-.7c1.1-1 2-2 2.8-3.2z"></path></svg><span>Twitter</span></a></p><p><input type="text" value="{{src_raw}}" onfocus="this.select()" /></p></div>'
1252		}
1253	}), e(t).on("click", "[data-fancybox-share]", function () {
1254		var t, o, a = e.fancybox.getInstance();
1255		a && (t = a.current.opts.hash === !1 ? a.current.src : window.location, o = a.current.opts.share.tpl.replace(/\{\{src\}\}/g, encodeURIComponent(t)).replace(/\{\{src_raw\}\}/g, n(t)).replace(/\{\{descr\}\}/g, a.$caption ? encodeURIComponent(a.$caption.text()) : ""), e.fancybox.open({
1256			src: a.translate(a, o),
1257			type: "html",
1258			opts: {
1259				animationEffect: "fade",
1260				animationDuration: 250
1261			}
1262		}))
1263	})
1264}(document, window.jQuery || jQuery),
1265function (t, e, n) {
1266	"use strict";
1267
1268	function o() {
1269		var t = e.location.hash.substr(1),
1270			n = t.split("-"),
1271			o = n.length > 1 && /^\+?\d+$/.test(n[n.length - 1]) ? parseInt(n.pop(-1), 10) || 1 : 1,
1272			a = n.join("-");
1273		return o < 1 && (o = 1), {
1274			hash: t,
1275			index: o,
1276			gallery: a
1277		}
1278	}
1279
1280	function a(t) {
1281		var e;
1282		"" !== t.gallery && (e = n("[data-fancybox='" + n.escapeSelector(t.gallery) + "']").eq(t.index - 1), e.length || (e = n("#" + n.escapeSelector(t.gallery))), e.length && (s = !1, e.trigger("click")))
1283	}
1284
1285	function i(t) {
1286		var e;
1287		return !!t && (e = t.current ? t.current.opts : t.opts, e.hash || (e.$orig ? e.$orig.data("fancybox") : ""))
1288	}
1289	n.escapeSelector || (n.escapeSelector = function (t) {
1290		var e = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,
1291			n = function (t, e) {
1292				return e ? "\0" === t ? "�" : t.slice(0, -1) + "\\" + t.charCodeAt(t.length - 1).toString(16) + " " : "\\" + t
1293			};
1294		return (t + "").replace(e, n)
1295	});
1296	var s = !0,
1297		r = null,
1298		c = null;
1299	n(function () {
1300		n.fancybox.defaults.hash !== !1 && (n(t).on({
1301			"onInit.fb": function (t, e) {
1302				var n, a;
1303				e.group[e.currIndex].opts.hash !== !1 && (n = o(), a = i(e), a && n.gallery && a == n.gallery && (e.currIndex = n.index - 1))
1304			},
1305			"beforeShow.fb": function (n, o, a) {
1306				var l;
1307				a && a.opts.hash !== !1 && (l = i(o), l && "" !== l && (e.location.hash.indexOf(l) < 0 && (o.opts.origHash = e.location.hash), r = l + (o.group.length > 1 ? "-" + (a.index + 1) : ""), "replaceState" in e.history ? (c && clearTimeout(c), c = setTimeout(function () {
1308					e.history[s ? "pushState" : "replaceState"]({}, t.title, e.location.pathname + e.location.search + "#" + r), c = null, s = !1
1309				}, 300)) : e.location.hash = r))
1310			},
1311			"beforeClose.fb": function (o, a, s) {
1312				var l, u;
1313				c && clearTimeout(c), s.opts.hash !== !1 && (l = i(a), u = a && a.opts.origHash ? a.opts.origHash : "", l && "" !== l && ("replaceState" in history ? e.history.replaceState({}, t.title, e.location.pathname + e.location.search + u) : (e.location.hash = u, n(e).scrollTop(a.scrollTop).scrollLeft(a.scrollLeft))), r = null)
1314			}
1315		}), n(e).on("hashchange.fb", function () {
1316			var t = o();
1317			n.fancybox.getInstance() ? !r || r === t.gallery + "-" + t.index || 1 === t.index && r == t.gallery || (r = null, n.fancybox.close()) : "" !== t.gallery && a(t)
1318		}), setTimeout(function () {
1319			a(o())
1320		}, 50))
1321	})
1322}(document, window, window.jQuery || 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.