PageSourceSearch

https://www.summerbreakspot.org/wp-content/plugins/wp-carousel-pro/assets/fancybox/fancybox.js?ver=5.0.1

js summerbreakspot.org collected 2026-10-02 12:59:31 UTC 166,281 bytes, 5,683 lines download raw bytes

1(function () {
2var exports = {};
3var module = { exports: exports };
4!(
5	/*! License details at fancyapps.com/license */ (function (e, t) {
6		'object' == typeof exports && 'u' > typeof module
7			? t(exports)
8			: 'function' == typeof define && define.amd
9			? define(['exports'], t)
10			: t(((e = 'u' > typeof globalThis ? globalThis : e || self).window = e.window || {}));
11	})(this, function (e) {
12		'use strict';
13		let t,
14			n,
15			o,
16			i,
17			r,
18			l,
19			a = (e) =>
20				'object' == typeof e &&
21				null !== e &&
22				e.constructor === Object &&
23				'[object Object]' === Object.prototype.toString.call(e),
24			s = (e) => 'string' == typeof e,
25			c = (e) => e && null !== e && e instanceof Element && 'nodeType' in e,
26			u = function (e) {
27				var t = new DOMParser().parseFromString(e, 'text/html').body;
28				if (t.childElementCount > 1) {
29					for (var n = document.createElement('div'); t.firstChild; ) n.appendChild(t.firstChild);
30					return n;
31				}
32				let o = t.firstChild;
33				if (o && !(o instanceof HTMLElement)) {
34					var n = document.createElement('div');
35					return n.appendChild(o), n;
36				}
37				return o;
38			},
39			d = function (e) {
40				if (!(e && e instanceof Element && e.offsetParent)) return !1;
41				let t = !1,
42					n = !1;
43				if (e.scrollWidth > e.clientWidth) {
44					let n = window.getComputedStyle(e).overflowX,
45						o = -1 !== n.indexOf('hidden'),
46						i = -1 !== n.indexOf('clip'),
47						r = -1 !== n.indexOf('visible');
48					t = !o && !i && !r;
49				}
50				if (e.scrollHeight > e.clientHeight) {
51					let t = window.getComputedStyle(e).overflowY,
52						o = -1 !== t.indexOf('hidden'),
53						i = -1 !== t.indexOf('clip'),
54						r = -1 !== t.indexOf('visible');
55					n = !o && !i && !r;
56				}
57				return t || n;
58			},
59			f = function (e, t) {
60				return !e || e === document.body || (t && e === t) ? null : d(e) ? e : f(e.parentElement, t);
61			},
62			g = (e = !0, t = '--f-scrollbar-compensate', n = '--f-body-margin', o = 'hide-scrollbar') => {
63				let i = document,
64					r = i.body,
65					l = i.documentElement;
66				if (e) {
67					if (r.classList.contains(o)) return;
68					let e = window.innerWidth - l.getBoundingClientRect().width;
69					e < 0 && (e = 0), l.style.setProperty(t, `${e}px`);
70					let i = parseFloat(window.getComputedStyle(r).marginRight);
71					i && r.style.setProperty(n, `${i}px`), r.classList.add(o);
72				} else
73					r.classList.remove(o), r.style.setProperty(n, ''), i.documentElement.style.setProperty(t, '');
74			},
75			m = (e, ...t) => {
76				let n = t.length;
77				for (let o = 0; o < n; o++)
78					Object.entries(t[o] || {}).forEach(([t, n]) => {
79						let o = Array.isArray(n) ? [] : {};
80						e[t] || Object.assign(e, { [t]: o }),
81							a(n)
82								? Object.assign(e[t], m(e[t], n))
83								: Array.isArray(n)
84								? Object.assign(e, { [t]: [...n] })
85								: Object.assign(e, { [t]: n });
86					});
87				return e;
88			};
89		function p() {
90			return !!('u' > typeof window && window.document && window.document.createElement);
91		}
92		let h = function (e = 0, t = 0, n = 0) {
93				return Math.max(Math.min(t, n), e);
94			},
95			y = function (e = 0, t = 0, n = 0, o = 0, i = 0, r = !1) {
96				let l = ((e - t) / (n - t)) * (i - o) + o;
97				return r ? (o < i ? h(o, l, i) : h(i, l, o)) : l;
98			},
99			v = (e, t = '') => {
100				e &&
101					e.classList &&
102					t.split(' ').forEach((t) => {
103						t && e.classList.add(t);
104					});
105			},
106			b = (e, t = '') => {
107				e &&
108					e.classList &&
109					t.split(' ').forEach((t) => {
110						t && e.classList.remove(t);
111					});
112			},
113			E = (e, t = '', n) => {
114				e &&
115					e.classList &&
116					t.split(' ').forEach((t) => {
117						t && e.classList.toggle(t, n || !1);
118					});
119			};
120		function w(e) {
121			return a(e) || Array.isArray(e);
122		}
123		function x(e, t) {
124			let n = Object.keys(e),
125				o = Object.keys(t);
126			return (
127				n.length === o.length &&
128				n.every((n) => {
129					let o = e[n],
130						i = t[n];
131					return 'function' == typeof o ? `${o}` == `${i}` : w(o) && w(i) ? x(o, i) : o === i;
132				})
133			);
134		}
135		let M = (1 / 60) * 3e3,
136			L = function (e) {
137				for (let t of H) t.getState() === S.Running && t.tick(V ? e - V : 0);
138				(V = e), (D = window.requestAnimationFrame(L));
139			},
140			S =
141				(((T = {})[(T.Initializing = 0)] = 'Initializing'),
142				(T[(T.Running = 1)] = 'Running'),
143				(T[(T.Paused = 2)] = 'Paused'),
144				(T[(T.Completed = 3)] = 'Completed'),
145				(T[(T.Destroyed = 4)] = 'Destroyed'),
146				T);
147		var T,
148			R,
149			P,
150			A,
151			C,
152			O,
153			I,
154			z,
155			k,
156			$,
157			F = (((R = F || {})[(R.Spring = 0)] = 'Spring'), (R[(R.Ease = 1)] = 'Ease'), R);
158		let _ = (((P = {})[(P.Loop = 0)] = 'Loop'), (P[(P.Reverse = 1)] = 'Reverse'), P),
159			H = new Set(),
160			D = null,
161			V = 0;
162		function j() {
163			let e = S.Initializing,
164				t = F.Ease,
165				n = 0,
166				o = 0,
167				i = j.Easings.Linear,
168				r = 500,
169				l = 0,
170				a = 0,
171				s = 0,
172				c = 0,
173				u = 1 / 0,
174				d = 0.01,
175				f = 0.01,
176				g = !1,
177				m = {},
178				p = null,
179				y = {},
180				v = {},
181				b = {},
182				E = 0,
183				w = 0,
184				T = _.Loop,
185				R = j.Easings.Linear,
186				P = new Map();
187			function A(e, ...t) {
188				for (let n of P.get(e) || []) n(...t);
189			}
190			function C(e) {
191				return (
192					(o = 0),
193					e
194						? (p = setTimeout(() => {
195								O();
196						  }, e))
197						: O(),
198					z
199				);
200			}
201			function O() {
202				(e = S.Running), A('start', y, v);
203			}
204			function I() {
205				if (((e = S.Completed), (b = {}), A('end', y), e === S.Completed))
206					if (n < E) {
207						if ((n++, T === _.Reverse)) {
208							let e = { ...m };
209							(m = { ...v }), (v = e);
210						}
211						C(w);
212					} else n = 0;
213				return z;
214			}
215			let z = {
216				getState: function () {
217					return e;
218				},
219				easing: function (e) {
220					return (i = e), (t = F.Ease), (b = {}), z;
221				},
222				duration: function (e) {
223					return (r = e), z;
224				},
225				spring: function (e = {}) {
226					t = F.Spring;
227					let {
228						velocity: n,
229						mass: o,
230						tension: i,
231						friction: r,
232						restDelta: m,
233						restSpeed: p,
234						maxSpeed: h,
235						clamp: y,
236					} = {
237						velocity: 0,
238						mass: 1,
239						tension: 170,
240						friction: 26,
241						restDelta: 0.1,
242						restSpeed: 0.1,
243						maxSpeed: 1 / 0,
244						clamp: !0,
245						...e,
246					};
247					return (l = n), (a = o), (s = i), (c = r), (f = m), (d = p), (u = h), (g = y), (b = {}), z;
248				},
249				isRunning: function () {
250					return e === S.Running;
251				},
252				isSpring: function () {
253					return t === F.Spring;
254				},
255				from: function (e) {
256					return (y = { ...e }), z;
257				},
258				to: function (e) {
259					return (v = e), z;
260				},
261				repeat: function (e, t = 0, n = _.Loop, o) {
262					return (E = e), (w = t), (T = n), (R = o || i), z;
263				},
264				on: function (e, t) {
265					return P.set(e, [...(P.get(e) || []), t]), z;
266				},
267				off: function (e, t) {
268					return (
269						P.has(e) &&
270							P.set(
271								e,
272								P.get(e).filter((e) => e !== t)
273							),
274						z
275					);
276				},
277				start: function (t) {
278					return (
279						x(y, v) ||
280							((e = S.Initializing),
281							(m = { ...y }),
282							H.add(this),
283							D || (D = window.requestAnimationFrame(L)),
284							C(t)),
285						z
286					);
287				},
288				pause: function () {
289					return (
290						p && (clearTimeout(p), (p = null)), e === S.Running && ((e = S.Paused), A('pause', y)), z
291					);
292				},
293				end: I,
294				tick: function (n) {
295					n > M && (n = M), (o += n);
296					let p = 0,
297						E = !1;
298					if (e !== S.Running) return z;
299					if (t === F.Ease) {
300						E = 1 === (p = h(0, o / r, 1));
301						let e = T === _.Reverse ? R : i;
302						for (let t in y) y[t] = m[t] + (v[t] - m[t]) * e(p);
303					}
304					if (t === F.Spring) {
305						let e = 0.001 * n,
306							t = 0;
307						for (let n in y) {
308							let o = v[n],
309								i = y[n];
310							if (!('number' == typeof o && !isNaN(o)) || !('number' == typeof i && !isNaN(i))) continue;
311							if (Math.abs(o - i) <= f) {
312								(y[n] = o), (b[n] = 0);
313								continue;
314							}
315							b[n] ||
316								('object' == typeof l && 'number' == typeof l[n]
317									? (b[n] = l[n])
318									: 'number' == typeof l
319									? (b[n] = l)
320									: (b[n] = 0));
321							let r = b[n],
322								m = (r = h(-1 * Math.abs(u), r, Math.abs(u))) * a * c,
323								p = Math.abs(o - i) * s;
324							(r += (((i > o ? -1 : 1) * p - m) / a) * e), (i += r * e);
325							let E = y[n] > o ? i < o : i > o,
326								w = Math.abs(r) < d && Math.abs(o - i) <= f;
327							g && E && (w = !0), w ? ((i = o), (r = 0)) : t++, (y[n] = i), (b[n] = r);
328						}
329						E = !t;
330					}
331					let w = { ...v };
332					return A('step', y, m, v, p), E && e === S.Running && x(v, w) && ((e = S.Completed), I()), z;
333				},
334				getStartValues: function () {
335					return m;
336				},
337				getCurrentValues: function () {
338					return y;
339				},
340				getCurrentVelocities: function () {
341					return b;
342				},
343				getEndValues: function () {
344					return v;
345				},
346				destroy: function () {
347					(e = S.Destroyed), p && (clearTimeout(p), (p = null)), (m = y = v = {}), H.delete(this);
348				},
349			};
350			return z;
351		}
352		function q(e) {
353			return 'u' > typeof TouchEvent && e instanceof TouchEvent;
354		}
355		function N(e, t) {
356			let n = [];
357			for (let o of q(e)
358				? e[t]
359				: e instanceof MouseEvent && ('changedTouches' === t || 'mouseup' !== e.type)
360				? [e]
361				: [])
362				n.push({ x: o.clientX, y: o.clientY, ts: Date.now() });
363			return n;
364		}
365		function B(e) {
366			return N(e, 'touches');
367		}
368		function W(e) {
369			return N(e, 'targetTouches');
370		}
371		function Z(e) {
372			return N(e, 'changedTouches');
373		}
374		function G(e) {
375			let t = e[0],
376				n = e[1] || t;
377			return { x: (t.x + n.x) / 2, y: (t.y + n.y) / 2, ts: n.ts };
378		}
379		function U(e) {
380			let t = e[0],
381				n = e[1] || e[0];
382			return t && n ? -1 * Math.sqrt((n.x - t.x) * (n.x - t.x) + (n.y - t.y) * (n.y - t.y)) : 0;
383		}
384		(j.destroy = () => {
385			for (let e of H) e.destroy();
386			D && (cancelAnimationFrame(D), (D = null));
387		}),
388			(j.Easings = {
389				Linear: function (e) {
390					return e;
391				},
392				EaseIn: function (e) {
393					return 0 === e ? 0 : Math.pow(2, 10 * e - 10);
394				},
395				EaseOut: function (e) {
396					return 1 === e ? 1 : 1 - Math.pow(2, -10 * e);
397				},
398				EaseInOut: function (e) {
399					return 0 === e
400						? 0
401						: 1 === e
402						? 1
403						: e < 0.5
404						? Math.pow(2, 20 * e - 10) / 2
405						: (2 - Math.pow(2, -20 * e + 10)) / 2;
406				},
407			});
408		let X = (e) => {
409				e.cancelable && e.preventDefault();
410			},
411			Y = { passive: !1 },
412			K = {
413				panThreshold: 5,
414				swipeThreshold: 3,
415				ignore: [
416					'textarea',
417					'input',
418					'select',
419					'[contenteditable]',
420					'[data-selectable]',
421					'[data-draggable]',
422				],
423			},
424			J = !1,
425			Q = !0,
426			ee = (e, t) => {
427				let n,
428					o,
429					i,
430					r,
431					l,
432					a = { ...K, ...t },
433					s = [],
434					c = [],
435					u = [],
436					d = !1,
437					f = !1,
438					g = !1,
439					m = !1,
440					p = 0,
441					h = 0,
442					y = 0,
443					v = 0,
444					b = 0,
445					E = 0,
446					w = 0,
447					x = 0,
448					M = 0,
449					L = [],
450					S = new Map();
451				function T(e) {
452					let t = U(c),
453						i = U(u),
454						r = Math.abs(w) > Math.abs(x) ? w : x,
455						a = {
456							srcEvent: l,
457							isPanRecognized: d,
458							isSwipeRecognized: f,
459							firstTouch: s,
460							previousTouch: u,
461							currentTouch: c,
462							deltaX: y,
463							deltaY: v,
464							offsetX: b,
465							offsetY: E,
466							velocityX: w,
467							velocityY: x,
468							velocity: r,
469							angle: M,
470							axis: o,
471							scale: t && i ? t / i : 0,
472							center: n,
473						};
474					for (let t of S.get(e) || []) t(a);
475				}
476				function R(e) {
477					let t = e.target,
478						n = e.composedPath()[0],
479						o = a.ignore.join(','),
480						i = (e) => e && e instanceof HTMLElement && (e.matches(o) || e.closest(o));
481					if (i(t) || i(n)) return !1;
482				}
483				function P(e) {
484					let t = Date.now();
485					if (
486						((L = L.filter((e) => !e.ts || e.ts > t - 100)),
487						e && L.push(e),
488						(w = 0),
489						(x = 0),
490						L.length > 3)
491					) {
492						let e = L[0],
493							t = L[L.length - 1];
494						if (e && t) {
495							let n = t.x - e.x,
496								o = t.y - e.y,
497								i = e.ts && t.ts ? t.ts - e.ts : 0;
498							i > 0 &&
499								((w = Math.abs(n) > 3 ? n / (i / 30) : 0), (x = Math.abs(o) > 3 ? o / (i / 30) : 0));
500						}
501					}
502				}
503				function A(e) {
504					if (!1 === R(e)) return;
505					if ('u' > typeof MouseEvent && e instanceof MouseEvent) {
506						if (J) return;
507					} else J = !0;
508					if ('u' > typeof MouseEvent && e instanceof MouseEvent) {
509						if (!e.buttons || 0 !== e.button) return;
510						X(e);
511					}
512					e instanceof MouseEvent &&
513						(window.addEventListener('mousemove', C), window.addEventListener('mouseup', O)),
514						window.addEventListener('blur', I),
515						(l = e),
516						(s = [...(c = W(e))]),
517						(u = []),
518						(h = c.length),
519						(n = G(c)),
520						1 === h && ((d = !1), (f = !1), (g = !1)),
521						h && P(G(c));
522					let t = Date.now(),
523						o = t - (p || t);
524					(m = o > 0 && o <= 250 && 1 === h), (p = t), clearTimeout(i), T('start');
525				}
526				function C(e) {
527					if (!s.length || e.defaultPrevented || !1 === R(e)) return;
528					(l = e), (u = [...c]), (c = B(e));
529					let t = G(u),
530						i = G(B(e));
531					if (
532						(P(i),
533						(h = c.length),
534						(n = i),
535						u.length === c.length ? ((y = i.x - t.x), (v = i.y - t.y)) : ((y = 0), (v = 0)),
536						s.length)
537					) {
538						let e = G(s);
539						(b = i.x - e.x), (E = i.y - e.y);
540					}
541					c.length > 1 && Math.abs(U(c) - U(u)) >= 0.1 && ((g = !0), T('pinch')),
542						!d &&
543							(d = Math.abs(b) >= a.panThreshold || Math.abs(E) >= a.panThreshold) &&
544							((Q = !1),
545							clearTimeout(r),
546							(r = void 0),
547							(o = (M = Math.abs((180 * Math.atan2(E, b)) / Math.PI)) > 45 && M < 135 ? 'y' : 'x'),
548							(s = [...c]),
549							(u = [...c]),
550							(b = 0),
551							(E = 0),
552							(y = 0),
553							(v = 0),
554							window.getSelection()?.removeAllRanges(),
555							T('panstart')),
556						d && (y || v) && T('pan'),
557						T('move');
558				}
559				function O(e) {
560					if (((l = e), !s.length)) return;
561					let t = W(e),
562						o = Z(e);
563					if (
564						((h = t.length),
565						(n = G(o)),
566						o.length && P(G(o)),
567						(u = [...c]),
568						(c = [...t]),
569						(s = [...t]),
570						h > 0)
571					)
572						T('end'), (d = !1), (f = !1), (L = []);
573					else {
574						let e = a.swipeThreshold;
575						(Math.abs(w) > e || Math.abs(x) > e) && (f = !0),
576							d && T('panend'),
577							f && T('swipe'),
578							d ||
579								f ||
580								g ||
581								(T('tap'),
582								m
583									? T('doubleTap')
584									: (i = setTimeout(function () {
585											T('singleTap');
586									  }, 250))),
587							T('end'),
588							z();
589					}
590				}
591				function I() {
592					clearTimeout(i), z(), d && T('panend'), T('end');
593				}
594				function z() {
595					(J = !1),
596						(d = !1),
597						(f = !1),
598						(m = !1),
599						(h = 0),
600						(L = []),
601						(c = []),
602						(u = []),
603						(s = []),
604						(y = 0),
605						(v = 0),
606						(b = 0),
607						(E = 0),
608						(w = 0),
609						(x = 0),
610						(M = 0),
611						(o = void 0),
612						window.removeEventListener('mousemove', C),
613						window.removeEventListener('mouseup', O),
614						window.removeEventListener('blur', I),
615						Q ||
616							r ||
617							(r = setTimeout(() => {
618								(Q = !0), (r = void 0);
619							}, 100));
620				}
621				function k(e) {
622					let t = e.target;
623					(J = !1), t && !e.defaultPrevented && (Q || (X(e), e.stopPropagation()));
624				}
625				let $ = {
626					init: function () {
627						return (
628							e &&
629								(e.addEventListener('click', k, Y),
630								e.addEventListener('mousedown', A, Y),
631								e.addEventListener('touchstart', A, Y),
632								e.addEventListener('touchmove', C, Y),
633								e.addEventListener('touchend', O),
634								e.addEventListener('touchcancel', O)),
635							$
636						);
637					},
638					on: function (e, t) {
639						return S.set(e, [...(S.get(e) || []), t]), $;
640					},
641					off: function (e, t) {
642						return (
643							S.has(e) &&
644								S.set(
645									e,
646									S.get(e).filter((e) => e !== t)
647								),
648							$
649						);
650					},
651					isPointerDown: () => h > 0,
652					destroy: function () {
653						clearTimeout(i),
654							clearTimeout(r),
655							(r = void 0),
656							e &&
657								(e.removeEventListener('click', k, Y),
658								e.removeEventListener('mousedown', A, Y),
659								e.removeEventListener('touchstart', A, Y),
660								e.removeEventListener('touchmove', C, Y),
661								e.removeEventListener('touchend', O),
662								e.removeEventListener('touchcancel', O)),
663							(e = null),
664							z();
665					},
666				};
667				return $;
668			};
669		ee.isClickAllowed = () => Q;
670		let et = {
671				IMAGE_ERROR: "This image couldn't be loaded. <br /> Please try again later.",
672				MOVE_UP: 'Move up',
673				MOVE_DOWN: 'Move down',
674				MOVE_LEFT: 'Move left',
675				MOVE_RIGHT: 'Move right',
676				ZOOM_IN: 'Zoom in',
677				ZOOM_OUT: 'Zoom out',
678				TOGGLE_FULL: 'Toggle zoom level',
679				TOGGLE_1TO1: 'Toggle zoom level',
680				ITERATE_ZOOM: 'Toggle zoom level',
681				ROTATE_CCW: 'Rotate counterclockwise',
682				ROTATE_CW: 'Rotate clockwise',
683				FLIP_X: 'Flip horizontally',
684				FLIP_Y: 'Flip vertically',
685				RESET: 'Reset',
686				TOGGLE_FS: 'Toggle fullscreen',
687			},
688			en = 1e4,
689			eo = (e) => {
690				e.cancelable && e.preventDefault();
691			},
692			ei = (e, t = en) => Math.round(((e = parseFloat(e + '') || 0) + Number.EPSILON) * t) / t,
693			er =
694				(((A = {}).Reset = 'reset'),
695				(A.Zoom = 'zoom'),
696				(A.ZoomIn = 'zoomIn'),
697				(A.ZoomOut = 'zoomOut'),
698				(A.ZoomTo = 'zoomTo'),
699				(A.ToggleCover = 'toggleCover'),
700				(A.ToggleFull = 'toggleFull'),
701				(A.ToggleMax = 'toggleMax'),
702				(A.IterateZoom = 'iterateZoom'),
703				(A.Pan = 'pan'),
704				(A.Swipe = 'swipe'),
705				(A.Move = 'move'),
706				(A.MoveLeft = 'moveLeft'),
707				(A.MoveRight = 'moveRight'),
708				(A.MoveUp = 'moveUp'),
709				(A.MoveDown = 'moveDown'),
710				(A.RotateCCW = 'rotateCCW'),
711				(A.RotateCW = 'rotateCW'),
712				(A.FlipX = 'flipX'),
713				(A.FlipY = 'flipY'),
714				(A.ToggleFS = 'toggleFS'),
715				A),
716			el = (((C = {}).Cover = 'cover'), (C.Full = 'full'), (C.Max = 'max'), C),
717			ea = { x: 0, y: 0, scale: 1, angle: 0, flipX: 1, flipY: 1 },
718			es =
719				(((O = {})[(O.Init = 0)] = 'Init'),
720				(O[(O.Loading = 1)] = 'Loading'),
721				(O[(O.Error = 2)] = 'Error'),
722				(O[(O.Ready = 3)] = 'Ready'),
723				(O[(O.Destroyed = 4)] = 'Destroyed'),
724				O),
725			ec = {
726				bounds: !0,
727				classes: {
728					container: 'f-panzoom',
729					wrapper: 'f-panzoom__wrapper',
730					content: 'f-panzoom__content',
731					viewport: 'f-panzoom__viewport',
732				},
733				clickAction: er.ToggleFull,
734				dblClickAction: !1,
735				gestures: {},
736				height: 'auto',
737				l10n: et,
738				maxScale: 4,
739				minScale: 1,
740				mouseMoveFactor: 1,
741				panMode: 'drag',
742				protected: !1,
743				singleClickAction: !1,
744				spinnerTpl: '<div class="f-spinner"></div>',
745				wheelAction: er.Zoom,
746				width: 'auto',
747			},
748			eu = 0,
749			ed = 0,
750			ef = 0,
751			eg = (e, n = {}, o = {}) => {
752				let i,
753					r,
754					l,
755					a,
756					d,
757					g,
758					m,
759					p,
760					y = es.Init,
761					w = { ...ec, ...n },
762					M = {},
763					L = { ...ea },
764					S = { ...ea },
765					T = [];
766				function R(e) {
767					let t = w[e];
768					return t && 'function' == typeof t ? t(eL) : t;
769				}
770				function P() {
771					return e && e.parentElement && i && y === es.Ready;
772				}
773				let A = new Map();
774				function C(e, ...t) {
775					let n = [...(A.get(e) || [])];
776					for (let o of (w.on && n.push(w.on[e]), n)) o && o instanceof Function && o(eL, ...t);
777					'*' !== e && C('*', e, ...t);
778				}
779				function O(e) {
780					if (!P() || f(e.target)) return;
781					let t = Date.now(),
782						n = h(
783							-1,
784							[-e.deltaX || 0, -e.deltaY || 0, -e.detail || 0].reduce(function (e, t) {
785								return Math.abs(t) > Math.abs(e) ? t : e;
786							}),
787							1
788						);
789					C('wheel', e, n);
790					let o = R('wheelAction');
791					if (!o || e.defaultPrevented) return;
792					let i = S.scale,
793						r = i * (n > 0 ? 1.5 : 0.5);
794					if (o === er.Zoom) {
795						let o = 100 > Math.abs(e.deltaY) && 100 > Math.abs(e.deltaX);
796						if (t - ed < (o ? 200 : 45)) return void eo(e);
797						ed = t;
798						let l = B(),
799							a = X();
800						if (
801							(ei(r) < ei(l) && ei(i) <= ei(l)
802								? ((ef += Math.abs(n)), (r = l))
803								: ei(r) > ei(a) && ei(i) >= ei(a)
804								? ((ef += Math.abs(n)), (r = a))
805								: ((ef = 0), (r = h(l, r, a))),
806							ef > 7)
807						)
808							return;
809					}
810					switch ((eo(e), o)) {
811						case er.Pan:
812							Q(o, { srcEvent: e, deltaX: -(2 * e.deltaX), deltaY: -(2 * e.deltaY) });
813							break;
814						case er.Zoom:
815							Q(er.ZoomTo, { srcEvent: e, scale: r, center: { x: e.clientX, y: e.clientY } });
816							break;
817						default:
818							Q(o, { srcEvent: e });
819					}
820				}
821				function I(n) {
822					let o = n.composedPath()[0];
823					if (
824						!ee.isClickAllowed() ||
825						!c(o) ||
826						n.defaultPrevented ||
827						!e?.contains(o) ||
828						o.hasAttribute('disabled') ||
829						o.hasAttribute('aria-disabled') ||
830						o.hasAttribute('data-carousel-go-prev') ||
831						o.hasAttribute('data-carousel-go-next')
832					)
833						return;
834					let r = o.closest('[data-panzoom-action]'),
835						l = r?.dataset?.panzoomAction,
836						a = r?.dataset?.panzoomValue || '';
837					if (l) {
838						switch ((eo(n), l)) {
839							case er.ZoomTo:
840							case er.ZoomIn:
841							case er.ZoomOut:
842								Q(l, { scale: parseFloat(a || '') || void 0 });
843								break;
844							case er.MoveLeft:
845							case er.MoveRight:
846								Q(l, { deltaX: parseFloat(a || '') || void 0 });
847								break;
848							case er.MoveUp:
849							case er.MoveDown:
850								Q(l, { deltaY: parseFloat(a || '') || void 0 });
851								break;
852							case er.ToggleFS:
853								ex();
854								break;
855							default:
856								Q(l);
857						}
858						return;
859					}
860					if (!i?.contains(o)) return;
861					let s = { srcEvent: n };
862					if ((Q(R('clickAction'), s), R('dblClickAction'))) {
863						let e = Date.now(),
864							n = e - (eu || e);
865						(eu = e),
866							n > 0 && n <= 250
867								? (t && (clearTimeout(t), (t = void 0)), Q(R('dblClickAction'), s))
868								: (t = setTimeout(() => {
869										Q(R('singleClickAction'), s);
870								  }, 250));
871					}
872				}
873				function z(e) {
874					if (
875						((p = e),
876						!P() ||
877							!V() ||
878							L.scale <= 1 ||
879							S.scale <= 1 ||
880							(i?.dataset.animationName || '').indexOf('zoom') > -1)
881					)
882						return;
883					let t = q(S.scale);
884					if (!t) return;
885					let { x: n, y: o } = t;
886					Q(er.Pan, { deltaX: n - S.x, deltaY: o - S.y });
887				}
888				function k() {
889					e && (b(e, 'is-loading'), e.querySelector('.f-spinner')?.remove());
890				}
891				function $() {
892					if (!e || !r) return;
893					if ((k(), r instanceof HTMLImageElement && !(r.complete && r.naturalWi
893dth))) {
894						(y = es.Error), i?.classList.add('has-error'), C('error');
895						return;
896					}
897					C('loaded');
898					let { width: t, height: n } = H();
899					r instanceof HTMLImageElement &&
900						(r.setAttribute('width', t + ''), r.setAttribute('height', n + '')),
901						i &&
902							(b(i, 'has-error'),
903							r instanceof HTMLImageElement &&
904								(i.setAttribute('width', t + ''),
905								i.setAttribute('height', n + ''),
906								(i.style.aspectRatio = `${t / n || ''}`))),
907						(g = j()
908							.on('start', (e, t) => {
909								void 0 !== t.angle && (t.angle = 90 * Math.round(t.angle / 90)),
910									void 0 !== t.flipX && (t.flipX = t.flipX > 0 ? 1 : -1),
911									void 0 !== t.flipY && (t.flipY = t.flipY > 0 ? 1 : -1),
912									(S = { ...ea, ...t }),
913									J(),
914									C('animationStart');
915							})
916							.on('pause', (e) => {
917								S = { ...ea, ...e };
918							})
919							.on('step', (e) => {
920								if (!P()) return void g?.end();
921								if (
922									((L = { ...ea, ...e }), V() || !R('bounds') || eb() || S.scale > L.scale || S.scale < W())
923								)
924									return void et();
925								let t = Y(S.scale),
926									n = !1,
927									o = !1,
928									i = !1,
929									r = !1;
930								L.x < t.x[0] && (n = !0),
931									L.x > t.x[1] && (o = !0),
932									L.y < t.y[0] && (r = !0),
933									L.y > t.y[1] && (i = !0);
934								let l = !1,
935									a = !1,
936									s = !1,
937									c = !1;
938								S.x < t.x[0] && (l = !0),
939									S.x > t.x[1] && (a = !0),
940									S.y < t.y[0] && (c = !0),
941									S.y > t.y[1] && (s = !0);
942								let u = !1;
943								((o && a) || (n && l)) && ((S.x = h(t.x[0], S.x, t.x[1])), (u = !0)),
944									((i && s) || (r && c)) && ((S.y = h(t.y[0], S.y, t.y[1])), (u = !0)),
945									u &&
946										g &&
947										g
948											.spring({
949												tension: 94,
950												friction: 17,
951												maxSpeed: 555 * S.scale,
952												restDelta: 0.1,
953												restSpeed: 0.1,
954												velocity: g.getCurrentVelocities(),
955											})
956											.from(L)
957											.to(S)
958											.start(),
959									et();
960							})
961							.on('end', () => {
962								d?.isPointerDown() || K(), g?.isRunning() || (J(), C('animationEnd'));
963							})),
964						(function () {
965							let e = R('gestures');
966							if (!e || !a || !r) return;
967							let t = !1;
968							d = ee(a, e)
969								.on('start', (e) => {
970									if (!R('gestures') || !g || !P() || V()) return;
971									let n = e.srcEvent;
972									(L.scale > 1 || e.currentTouch.length > 1) && (n?.stopPropagation(), g.pause(), (t = !0)),
973										1 === e.currentTouch.length && C('touchStart');
974								})
975								.on('move', (e) => {
976									t &&
977										(1 !== S.scale || e.currentTouch.length > 1) &&
978										(eo(e.srcEvent), e.srcEvent?.stopPropagation());
979								})
980								.on('pan', (e) => {
981									if (!t) return;
982									let n = e.srcEvent;
983									(1 !== S.scale || e.currentTouch.length > 1) && (eo(n), Q(er.Pan, e));
984								})
985								.on('swipe', (e) => {
986									t && S.scale > 1 && Q(er.Swipe, e);
987								})
988								.on('tap', (e) => {
989									C('click', e);
990								})
991								.on('singleTap', (e) => {
992									C('singleClick', e);
993								})
994								.on('doubleTap', (e) => {
995									C('dblClick', e);
996								})
997								.on('pinch', (e) => {
998									t && (e.scale > W() ? Q(er.ZoomIn, e) : e.scale < W() ? Q(er.ZoomOut, e) : Q(er.Pan, e));
999								})
1000								.on('end', (e) => {
1001									t &&
1002										(e.currentTouch.length
1003											? (e.srcEvent.stopPropagation(), eo(e.srcEvent), g?.end())
1004											: ((t = !1), J(), K(), C('touchEnd')));
1005								})
1006								.init();
1007						})(),
1008						a &&
1009							(a.addEventListener('wheel', O, { passive: !1 }),
1010							T.push(() => {
1011								a?.removeEventListener('wheel', O, { passive: !1 });
1012							})),
1013						e?.addEventListener('click', I),
1014						document?.addEventListener('mousemove', z),
1015						T.push(() => {
1016							e?.removeEventListener('click', I), document?.removeEventListener('mousemove', z);
1017						});
1018					let o = F();
1019					(L = { ...o }),
1020						(S = { ...o }),
1021						(y = es.Ready),
1022						et(),
1023						J(),
1024						C('ready'),
1025						requestAnimationFrame(() => {
1026							y === es.Ready && (k(), a && (a.style.visibility = ''));
1027						});
1028				}
1029				function F() {
1030					let e = { ...(R('startPos') || {}) },
1031						t = e.scale,
1032						n = 1;
1033					n = 'string' == typeof t ? N(t) : 'number' == typeof t ? t : W();
1034					let o = { ...ea, ...e, scale: n },
1035						i = V() ? q(n) : void 0;
1036					if (i) {
1037						let { x: e, y: t } = i;
1038						(o.x = e), (o.y = t);
1039					}
1040					return o;
1041				}
1042				function _() {
1043					let e = { top: 0, left: 0, width: 0, height: 0 };
1044					if (i) {
1045						let t = i.getBoundingClientRect();
1046						S.angle % 180 == 90
1047							? ((e.top = t.top + 0.5 * t.height - 0.5 * t.width),
1048							  (e.left = t.left + 0.5 * t.width - 0.5 * t.height),
1049							  (e.width = t.height),
1050							  (e.height = t.width))
1051							: ((e.top = t.top), (e.left = t.left), (e.width = t.width), (e.height = t.height));
1052					}
1053					return e;
1054				}
1055				function H() {
1056					let e = R('width'),
1057						t = R('height');
1058					if (r && 'auto' === e) {
1059						let t = r.getAttribute('width');
1060						e = t
1061							? parseFloat(t + '')
1062							: void 0 !== r.dataset.width
1063							? parseFloat(r.dataset.width + '')
1064							: a instanceof HTMLImageElement
1065							? a.naturalWidth
1066							: r instanceof HTMLImageElement
1067							? r.naturalWidth
1068							: i?.getBoundingClientRect().width || 0;
1069					} else e = s(e) ? parseFloat(e) : e;
1070					if (r && 'auto' === t) {
1071						let e = r.getAttribute('height');
1072						t = e
1073							? parseFloat(e + '')
1074							: void 0 !== r.dataset.height
1075							? parseFloat(r.dataset.height + '')
1076							: a instanceof HTMLImageElement
1077							? a.naturalHeight
1078							: r instanceof HTMLImageElement
1079							? r.naturalHeight
1080							: i?.getBoundingClientRect().height || 0;
1081					} else t = s(t) ? parseFloat(t) : t;
1082					return { width: e, height: t };
1083				}
1084				function D() {
1085					let e = _();
1086					return { width: e.width, height: e.height };
1087				}
1088				function V() {
1089					return 'mousemove' === R('panMode') && matchMedia('(hover: hover)').matches;
1090				}
1091				function q(e) {
1092					let t = p || R('event'),
1093						n = i?.getBoundingClientRect();
1094					if (!t || !n || e <= 1) return { x: 0, y: 0 };
1095					let o = (t.clientX || 0) - n.left,
1096						r = (t.clientY || 0) - n.top,
1097						{ width: l, height: a } = D(),
1098						s = Y(e);
1099					if (e > 1) {
1100						let t = R('mouseMoveFactor');
1101						t > 1 && (e *= t);
1102					}
1103					let c = l * e,
1104						u = a * e,
1105						d = (c - l) * 0.5 - (((o / l) * 100) / 100) * (c - l),
1106						f = (u - a) * 0.5 - (((r / a) * 100) / 100) * (u - a);
1107					return { x: (d = h(s.x[0], d, s.x[1])), y: (f = h(s.y[0], f, s.y[1])) };
1108				}
1109				function N(t) {
1110					if (!t) return S.scale;
1111					if (!e) return 1;
1112					let n = e.getBoundingClientRect(),
1113						o = _(),
1114						{ width: i, height: r } = H(),
1115						l = (e) => {
1116							if ('number' == typeof e) return e;
1117							switch (e) {
1118								case 'min':
1119								case 'base':
1120									return 1;
1121								case 'cover':
1122									return Math.max(n.height / o.height, n.width / o.width) || 1;
1123								case 'full':
1124								case 'max': {
1125									let e = S.angle % 180 == 90 ? r : i;
1126									return e && o.width ? e / o.width : 1;
1127								}
1128							}
1129						},
1130						a = R('minScale'),
1131						s = R('maxScale'),
1132						c = Math.min(l('full'), l(a)),
1133						u = 'number' == typeof s ? l('full') * s : Math.min(l('full'), l(s));
1134					switch (t) {
1135						case 'min':
1136							return c;
1137						case 'base':
1138							return h(c, 1, u);
1139						case 'cover':
1140							return l('cover');
1141						case 'full':
1142							return Math.min(u, l('full'));
1143						case 'max':
1144							return u;
1145					}
1146				}
1147				function B() {
1148					return N('min');
1149				}
1150				function W() {
1151					return N('base');
1152				}
1153				function U() {
1154					return N('full');
1155				}
1156				function X() {
1157					return N('max');
1158				}
1159				function Y(t) {
1160					let n = { x: [0, 0], y: [0, 0] },
1161						o = e?.getBoundingClientRect();
1162					if (!o) return n;
1163					let i = _(),
1164						r = o.width,
1165						l = o.height,
1166						a = i.width,
1167						s = i.height,
1168						c = (t = void 0 === t ? S.scale : t),
1169						u = t;
1170					if (V() && t > 1) {
1171						let e = R('mouseMoveFactor');
1172						e > 1 && (a * t > r + 0.01 && (c *= e), s * t > l + 0.01 && (u *= e));
1173					}
1174					return (
1175						(a *= c),
1176						(s *= u),
1177						t > 1 &&
1178							(a > r && ((n.x[0] = (r - a) * 0.5), (n.x[1] = (a - r) * 0.5)),
1179							(n.x[0] -= (i.left - o.left) * 0.5),
1180							(n.x[1] -= (i.left - o.left) * 0.5),
1181							(n.x[0] -= (i.left + i.width - o.right) * 0.5),
1182							(n.x[1] -= (i.left + i.width - o.right) * 0.5),
1183							s > l && ((n.y[0] = (l - s) * 0.5), (n.y[1] = (s - l) * 0.5)),
1184							(n.y[0] -= (i.top - o.top) * 0.5),
1185							(n.y[1] -= (i.top - o.top) * 0.5),
1186							(n.y[0] -= (i.top + i.height - o.bottom) * 0.5),
1187							(n.y[1] -= (i.top + i.height - o.bottom) * 0.5)),
1188						n
1189					);
1190				}
1191				function K() {
1192					if (!P() || !R('bounds') || !g) return;
1193					let e = B(),
1194						t = X(),
1195						n = h(e, S.scale, t);
1196					if (S.scale < e - 0.01 || S.scale > t + 0.01) return void Q(er.ZoomTo, { scale: n });
1197					if (g.isRunning() || eb()) return;
1198					let o = Y(n);
1199					S.x < o.x[0] || S.x > o.x[1] || S.y < o.y[0] || S.y > o.y[1]
1200						? ((S.x = h(o.x[0], S.x, o.x[1])),
1201						  (S.y = h(o.y[0], S.y, o.y[1])),
1202						  g.spring({
1203								tension: 170,
1204								friction: 17,
1205								restDelta: 0.001,
1206								restSpeed: 0.001,
1207								maxSpeed: 1 / 0,
1208								velocity: g.getCurrentVelocities(),
1209						  }),
1210						  g.from(L).to(S).start())
1211						: et();
1212				}
1213				function J(t) {
1214					if (!P()) return;
1215					let n = ev(),
1216						o = eb(),
1217						r = eE(),
1218						l = ew(),
1219						a = eg(),
1220						s = em();
1221					E(i, 'is-fullsize', l),
1222						E(i, 'is-expanded', r),
1223						E(i, 'is-dragging', o),
1224						E(i, 'can-drag', n),
1225						E(i, 'will-zoom-in', a),
1226						E(i, 'will-zoom-out', s);
1227					let c = eh(),
1228						u = ey(),
1229						d = ep(),
1230						f = !P();
1231					for (let n of (t || e)?.querySelectorAll('[data-panzoom-action]') || []) {
1232						let e = n.dataset.panzoomAction,
1233							t = !1;
1234						if (f) t = !0;
1235						else
1236							switch (e) {
1237								case er.ZoomIn:
1238									c || (t = !0);
1239									break;
1240								case er.ZoomOut:
1241									d || (t = !0);
1242									break;
1243								case er.ToggleFull: {
1244									u || d || (t = !0);
1245									let e = n.querySelector('g');
1246									e && (e.style.display = l && !t ? 'none' : '');
1247									break;
1248								}
1249								case er.IterateZoom: {
1250									c || d || (t = !0);
1251									let e = n.querySelector('g');
1252									e && (e.style.display = c || t ? '' : 'none');
1253									break;
1254								}
1255								case er.ToggleCover:
1256								case er.ToggleMax:
1257									c || d || (t = !0);
1258							}
1259						t
1260							? (n.setAttribute('aria-disabled', ''), n.setAttribute('tabindex', '-1'))
1261							: (n.removeAttribute('aria-disabled'), n.removeAttribute('tabindex'));
1262					}
1263				}
1264				function Q(t, n) {
1265					if (
1266						!t ||
1267						!e ||
1268						!r ||
1269						!g ||
1270						!P() ||
1271						(t === er.Swipe && Math.abs(g.getCurrentVelocities().scale) > 0.01)
1272					)
1273						return;
1274					let o = { ...S },
1275						i = { ...S },
1276						l = Y(V() ? o.scale : L.scale),
1277						a = g.getCurrentVelocities(),
1278						s = _();
1279					n = n || {};
1280					let c = (n.currentTouch?.length || 0) > 1,
1281						u = n.velocityX || 0,
1282						d = n.velocityY || 0,
1283						f = n.center;
1284					n.srcEvent && (f = G(Z(n.srcEvent)));
1285					let m = n.deltaX || 0,
1286						p = n.deltaY || 0;
1287					switch (t) {
1288						case er.MoveRight:
1289							m = n.deltaX || 100;
1290							break;
1291						case er.MoveLeft:
1292							m = n.deltaX || -100;
1293							break;
1294						case er.MoveUp:
1295							p = n.deltaY || -100;
1296							break;
1297						case er.MoveDown:
1298							p = n.deltaY || 100;
1299					}
1300					let y = [];
1301					if ('number' == typeof t) i.scale = t;
1302					else
1303						switch (t) {
1304							case er.Reset:
1305								(i = { ...ea }).scale = W();
1306								break;
1307							case er.ZoomTo:
1308							case er.ZoomIn:
1309							case er.ZoomOut:
1310							case er.ToggleCover:
1311							case er.ToggleFull:
1312							case er.ToggleMax:
1313							case er.IterateZoom:
1314							case er.Zoom:
1315								i.scale = el(t, n);
1316								break;
1317							case er.Pan:
1318							case er.Move:
1319							case er.MoveLeft:
1320							case er.MoveRight:
1321							case er.MoveUp:
1322							case er.MoveDown:
1323								if (eb()) {
1324									let e = 1,
1325										t = 1;
1326									i.x <= l.x[0] &&
1327										u <= 0 &&
1328										(e = 0.2 * Math.max(0.01, 1 - Math.abs((1 / s.width) * Math.abs(i.x - l.x[0])))),
1329										i.x >= l.x[1] &&
1330											u >= 0 &&
1331											(e = 0.2 * Math.max(0.01, 1 - Math.abs((1 / s.width) * Math.abs(i.x - l.x[1])))),
1332										i.y <= l.y[0] &&
1333											d <= 0 &&
1334											(t = 0.2 * Math.max(0.01, 1 - Math.abs((1 / s.height) * Math.abs(i.y - l.y[0])))),
1335										i.y >= l.y[1] &&
1336											d >= 0 &&
1337											(t = 0.2 * Math.max(0.01, 1 - Math.abs((1 / s.height) * Math.abs(i.y - l.y[1])))),
1338										(i.x += m * e),
1339										(i.y += p * t);
1340								} else (i.x = h(l.x[0], i.x + m, l.x[1])), (i.y = h(l.y[0], i.y + p, l.y[1]));
1341								break;
1342							case er.Swipe:
1343								let v = (e = 0) => Math.sign(e) * Math.pow(Math.abs(e), 1.5);
1344								(i.x += h(-1e3, v(u), 1e3)),
1345									(i.y += h(-1e3, v(d), 1e3)),
1346									d && !u && (i.x = h(l.x[0], i.x, l.x[1])),
1347									!d && u && (i.y = h(l.y[0], i.y, l.y[1])),
1348									(a.x = u),
1349									(a.y = d);
1350								break;
1351							case er.RotateCW:
1352								i.angle += 90;
1353								break;
1354							case er.RotateCCW:
1355								i.angle -= 90;
1356								break;
1357							case er.FlipX:
1358								i.flipX *= -1;
1359								break;
1360							case er.FlipY:
1361								i.flipY *= -1;
1362						}
1363					if (
1364						(void 0 !== L.angle &&
1365							Math.abs(L.angle) >= 360 &&
1366							((i.angle -= 360 * Math.floor(L.angle / 360)), (L.angle -= 360 * Math.floor(L.angle / 360))),
1367						y.length)
1368					) {
1369						let e = y.findIndex((e) => e > i.scale + 1 / en);
1370						i.scale = y[e] || y[0];
1371					}
1372					if ((c && (i.scale = h(B() * (c ? 0.8 : 1), i.scale, X() * (c ? 1.6 : 1))), V())) {
1373						let e = q(i.scale);
1374						if (e) {
1375							let { x: t, y: n } = e;
1376							(i.x = t), (i.y = n);
1377						}
1378					} else if (Math.abs(i.scale - o.scale) > 1e-4) {
1379						let t = 0,
1380							n = 0;
1381						if (f) (t = f.x), (n = f.y);
1382						else {
1383							let o = e.getBoundingClientRect();
1384							(t = o.x + 0.5 * o.width), (n = o.y + 0.5 * o.height);
1385						}
1386						let r = t - s.left,
1387							a = n - s.top;
1388						(r -= 0.5 * s.width), (a -= 0.5 * s.height);
1389						let u = (r - o.x) / o.scale,
1390							d = (a - o.y) / o.scale;
1391						(i.x = r - u * i.scale),
1392							(i.y = a - d * i.scale),
1393							!c &&
1394								R('bounds') &&
1395								((l = Y(i.scale)), (i.x = h(l.x[0], i.x, l.x[1])), (i.y = h(l.y[0], i.y, l.y[1])));
1396					}
1397					if (t === er.Swipe) {
1398						let e = 500 * i.scale;
1399						g.spring({
1400							tension: 94,
1401							friction: 17,
1402							maxSpeed: e,
1403							restDelta: 0.1,
1404							restSpeed: 0.1,
1405							velocity: a,
1406						});
1407					} else
1408						t === er.Pan || c
1409							? g.spring({ tension: 900, friction: 17, restDelta: 0.01, restSpeed: 0.01, maxSpeed: 1 })
1410							: g.spring({
1411									tension: 170,
1412									friction: 17,
1413									restDelta: 0.001,
1414									restSpeed: 0.001,
1415									maxSpeed: 1 / 0,
1416									velocity: a,
1417							  });
1418					if (0 === n.velocity || x(L, i)) (L = { ...i }), (S = { ...i }), g.end(), et(), J();
1419					else {
1420						if (x(S, i)) return;
1421						g.from(L).to(i).start();
1422					}
1423					C('action', t);
1424				}
1425				function et() {
1426					if (!r || !i || !a) return;
1427					let { width: t, height: n } = H();
1428					Object.assign(i.style, { maxWidth: `min(${t}px, 100%)`, maxHeight: `min(${n}px, 100%)` });
1429					let {
1430							x: o,
1431							y: l,
1432							width: s,
1433							height: c,
1434							scale: u,
1435							angle: d,
1436							flipX: f,
1437							flipY: g,
1438						} = (function () {
1439							let { width: t, height: n } = H(),
1440								{ width: o, height: i } = D();
1441							if (!e)
1442								return {
1443									x: 0,
1444									y: 0,
1445									width: 0,
1446									height: 0,
1447									scale: 0,
1448									flipX: 0,
1449									flipY: 0,
1450									angle: 0,
1451									fitWidth: o,
1452									fitHeight: i,
1453									fullWidth: t,
1454									fullHeight: n,
1455								};
1456							let { x: r, y: l, scale: a, angle: s, flipX: c, flipY: u } = L,
1457								d = 1 / U(),
1458								f = t,
1459								g = n,
1460								m = L.scale * d,
1461								p = S.scale * d,
1462								h = Math.max(o, i),
1463								y = Math.min(o, i);
1464							t > n ? ((f = h), (g = y)) : ((f = y), (g = h)),
1465								(m = t > n ? (h * a) / t || 1 : (h * a) / n || 1);
1466							let v = f ? t * p : 0,
1467								b = g ? n * p : 0,
1468								E = f && g ? (t * m) / v : 0;
1469							return {
1470								x: (r = r + 0.5 * f - 0.5 * v),
1471								y: (l = l + 0.5 * g - 0.5 * b),
1472								width: v,
1473								height: b,
1474								scale: E,
1475								flipX: c,
1476								flipY: u,
1477								angle: s,
1478								fitWidth: o,
1479								fitHeight: i,
1480								fullWidth: t,
1481								fullHeight: n,
1482							};
1483						})(),
1484						m = `translate(${ei(o)}px, ${ei(l)}px)`;
1485					1 !== f || 1 !== g
1486						? (m += ` scaleX(${ei(u * f)}) scaleY(${ei(u * g)})`)
1487						: (m += ` scale(${ei(u)})`),
1488						0 !== d && (m += ` rotate(${d}deg)`),
1489						(a.style.width = `${ei(s)}px`),
1490						(a.style.height = `${ei(c)}px`),
1491						(a.style.transform = `${m}`),
1492						C('render');
1493				}
1494				function el(e = R('clickAction'), t = {}) {
1495					let n = S.scale,
1496						o = W(),
1497						i = [];
1498					if ('number' == typeof e) o = e;
1499					else if (e) {
1500						switch (e) {
1501							case er.ZoomTo:
1502								o = t.scale || 1;
1503								break;
1504							case er.ZoomIn:
1505								o = n * (t.scale || 2);
1506								break;
1507							case er.ZoomOut:
1508								o = n * (t.scale || 0.5);
1509								break;
1510							case er.ToggleCover:
1511								i = [W(), N('cover')];
1512								break;
1513							case er.ToggleFull:
1514								i = [W(), U()];
1515								break;
1516							case er.ToggleMax:
1517								i = [W(), X()];
1518								break;
1519							case er.IterateZoom:
1520								i = [W(), U(), X()];
1521								break;
1522							case er.Zoom:
1523								let r = U();
1524								o = n >= r - 0.05 ? W() : Math.min(r, n * (t.scale || 2));
1525						}
1526						if (i.length) {
1527							let e = i.findIndex((e) => e > n + 1 / en);
1528							o = i[e] || W();
1529						}
1530					}
1531					return e !== er.ZoomTo && (o = h(B(), o, X())), o;
1532				}
1533				function eg() {
1534					return !!(P() && el() > S.scale);
1535				}
1536				function em() {
1537					return !!(P() && el() < S.scale);
1538				}
1539				function ep() {
1540					return !!(P() && S.scale > B());
1541				}
1542				function eh() {
1543					return !!(P() && S.scale < X());
1544				}
1545				function ey() {
1546					return !!(P() && S.scale < U());
1547				}
1548				function ev() {
1549					return !!(P() && eE() && d && !V());
1550				}
1551				function eb() {
1552					return !!(P() && d?.isPointerDown() && !V());
1553				}
1554				function eE() {
1555					return !!(P() && S.scale > W());
1556				}
1557				function ew() {
1558					return !!(P() && S.scale >= U());
1559				}
1560				function ex() {
1561					let t = 'in-fullscreen',
1562						n = 'with-panzoom-in-fullscreen';
1563					e?.classList.toggle(t);
1564					let o = e?.classList.contains(t);
1565					o
1566						? (document.documentElement.classList.add(n), document.addEventListener('keydown', eM, !0))
1567						: (document.documentElement.classList.remove(n),
1568						  document.removeEventListener('keydown', eM, !0)),
1569						et(),
1570						C(o ? 'enterFS' : 'exitFS');
1571				}
1572				function eM(e) {
1573					'Escape' !== e.key || e.defaultPrevented || ex();
1574				}
1575				let eL = {
1576					canDrag: ev,
1577					canZoomIn: eh,
1578					canZoomOut: ep,
1579					canZoomToFull: ey,
1580					destroy: function () {
1581						for (let e of (C('destroy'), Object.values(M))) e?.destroy(eL);
1582						for (let e of T) e();
1583						return (
1584							i && ((i.style.aspectRatio = ''), (i.style.maxWidth = ''), (i.style.maxHeight = '')),
1585							a && ((a.style.width = ''), (a.style.height = ''), (a.style.transform = '')),
1586							(i = void 0),
1587							(r = void 0),
1588							(a = void 0),
1589							(L = { ...ea }),
1590							(S = { ...ea }),
1591							g?.destroy(),
1592							(g = void 0),
1593							d?.destroy(),
1594							(d = void 0),
1595							(y = es.Destroyed),
1596							eL
1597						);
1598					},
1599					emit: C,
1600					execute: Q,
1601					getBoundaries: Y,
1602					getContainer: function () {
1603						return e;
1604					},
1605					getContent: function () {
1606						return r;
1607					},
1608					getFullDim: H,
1609					getGestures: function () {
1610						return d;
1611					},
1612					getMousemovePos: q,
1613					getOptions: function () {
1614						return w;
1615					},
1616					getPlugins: function () {
1617						return M;
1618					},
1619					getScale: N,
1620					getStartPosition: F,
1621					getState: function () {
1622						return y;
1623					},
1624					getTransform: function (e) {
1625						return !0 === e ? S : L;
1626					},
1627					getTween: function () {
1628						return g;
1629					},
1630					getViewport: function () {
1631						return a;
1632					},
1633					getWrapper: function () {
1634						return i;
1635					},
1636					init: function () {
1637						return (
1638							(y = es.Init),
1639							C('init'),
1640							(function () {
1641								for (let [e, t] of Object.entries({ ...o, ...(w.plugins || {}) }))
1642									if (e && !M[e] && t instanceof Function) {
1643										let n = t();
1644										n.init(eL), (M[e] = n);
1645									}
1646								C('initPlugins');
1647							})(),
1648							(function () {
1649								let t = { ...ec.classes, ...R('classes') },
1650									n = t.content?.split(' ').shift(),
1651									o = t.wrapper?.split(' ').shift(),
1652									s = t.viewport?.split(' ').shift();
1653								if (
1654									n &&
1655									o &&
1656									s &&
1657									e &&
1658									(v(e, t.container), (r = e.querySelector(`.${n}:not(.is-clone)`)))
1659								) {
1660									if (
1661										(r.setAttribute('draggable', 'false'),
1662										(i = e.querySelector(`.${o}`)) ||
1663											(v((i = document.createElement('div')), t.wrapper),
1664											r.insertAdjacentElement('beforebegin', i),
1665											i.insertAdjacentElement('afterbegin', r)),
1666										(a = e.querySelector(`.${s}`)) ||
1667											(v((a = document.createElement('div')), t.viewport),
1668											i.insertAdjacentElement('beforeend', a)),
1669										a.contains(r) || a.insertAdjacentElement('afterbegin', r),
1670										(l = e.querySelector(`.${n}.is-clone`)) ||
1671											((l = r.cloneNode(!0)).removeAttribute('id'),
1672											v(l, 'is-clone'),
1673											i.insertAdjacentElement('afterbegin', l)),
1674										r instanceof HTMLPictureElement && (r = r.querySelector('img')),
1675										l instanceof HTMLPictureElement && (l = l.querySelector('img')),
1676										a instanceof HTMLPictureElement && (a = a.querySelector('img')),
1677										a && ((a.style.visibility = 'hidden'), R('protected')))
1678									) {
1679										a.addEventListener('contextmenu', (e) => {
1680											eo(e);
1681										});
1682										let e = document.createElement('div');
1683										v(e, 'f-panzoom__protected'), a.appendChild(e);
1684									}
1685									C('initLayout');
1686								}
1687							})(),
1688							(function () {
1689								if (e && i && !m) {
1690									let e = null;
1691									(m = new ResizeObserver(() => {
1692										P() &&
1693											(e =
1694												e ||
1695												requestAnimationFrame(() => {
1696													P() && (J(), K(), C('refresh')), (e = null);
1697												}));
1698									})).observe(i),
1699										T.push(() => {
1700											m?.disconnect(), (m = void 0), e && (cancelAnimationFrame(e), (e = null));
1701										});
1702								}
1703							})(),
1704							(function () {
1705								if (!e || !r) return;
1706								if (!(r instanceof HTMLImageElement && l instanceof HTMLImageElement)) return $();
1707								let t = () => {
1708									r &&
1709										r instanceof HTMLImageElement &&
1710										r
1711											.decode()
1712											.then(() => {
1713												$();
1714											})
1715											.catch(() => {
1716												$();
1717											});
1718								};
1719								((y = es.Loading), e.classList.add('is-loading'), C('loading'), l.src && l.complete)
1720									? t()
1721									: ((function () {
1722											if (!e || e?.querySelector('.f-spinner')) return;
1723											let t = u(R('spinnerTpl'));
1724											t &&
1725												(t.classList.add('f-spinner'),
1726												e.classList.add('is-loading'),
1727												i?.insertAdjacentElement('afterbegin', t));
1728									  })(),
1729									  l.addEventListener('load', t, !1),
1730									  l.addEventListener('error', t, !1),
1731									  T.push(() => {
1732											l?.removeEventListener('load', t, !1), l?.removeEventListener('error', t, !1);
1733									  }));
1734							})(),
1735							eL
1736						);
1737					},
1738					isDragging: eb,
1739					isExpanded: eE,
1740					isFullsize: ew,
1741					isMousemoveMode: V,
1742					localize: function (e, t = []) {
1743						let n = R('l10n') || {};
1744						e = String(e).replace(/\{\{(\w+)\}\}/g, (e, t) => n[t] || e);
1745						for (let n = 0; n < t.length; n++) e = e.split(t[n][0]).join(t[n][1]);
1746						return e.replace(/\{\{(.*?)\}\}/g, (e, t) => t);
1747					},
1748					off: function (e, t) {
1749						for (let n of e instanceof Array ? e : [e])
1750							A.has(n) &&
1751								A.set(
1752									n,
1753									A.get(n).filter((e) => e !== t)
1754								);
1755						return eL;
1756					},
1757					on: function (e, t) {
1758						for (let n of e instanceof Array ? e : [e]) A.set(n, [...(A.get(n) || []), t]);
1759						return eL;
1760					},
1761					toggleFS: ex,
1762					updateControls: J,
1763					version: '6.1.13',
1764					willZoomIn: eg,
1765					willZoomOut: em,
1766				};
1767				return eL;
1768			};
1769		(eg.l10n = { en_EN: et }), (eg.getDefaults = () => ec);
1770		let em = (e, t) => {
1771				let n = [];
1772				return (
1773					e.childNodes.forEach((e) => {
1774						e.nodeType === Node.ELEMENT_NODE && (!t || e.matches(t)) && n.push(e);
1775					}),
1776					n
1777				);
1778			},
1779			ep = {
1780				...et,
1781				ERROR: 'Something went wrong. <br /> Please try again later.',
1782				NEXT: 'Next page',
1783				PREV: 'Previous page',
1784				GOTO: 'Go to page #%d',
1785				DOWNLOAD: 'Download',
1786				TOGGLE_FULLSCREEN: 'Toggle full-screen mode',
1787				TOGGLE_EXPAND: 'Toggle full-size mode',
1788				TOGGLE_THUMBS: 'Toggle thumbnails',
1789				TOGGLE_AUTOPLAY: 'Toggle slideshow',
1790			},
1791			eh = (e) => {
1792				e.cancelable && e.preventDefault();
1793			},
1794			ey =
1795				(((I = {})[(I.Init = 0)] = 'Init'),
1796				(I[(I.Ready = 1)] = 'Ready'),
1797				(I[(I.Destroyed = 2)] = 'Destroyed'),
1798				I),
1799			ev =
1800				(((z = {})[(z.Loading = 0)] = 'Loading'),
1801				(z[(z.Loaded = 1)] = 'Loaded'),
1802				(z[(z.Error = 2)] = 'Error'),
1803				z),
1804			eb = {
1805				adaptiveHeight: !1,
1806				center: !0,
1807				classes: {
1808					container: 'f-carousel',
1809					isEnabled: 'is-enabled',
1810					isLTR: 'is-ltr',
1811					isRTL: 'is-rtl',
1812					isHorizontal: 'is-horizontal',
1813					isVertical: 'is-vertical',
1814					hasAdaptiveHeight: 'has-adaptive-height',
1815					viewport: 'f-carousel__viewport',
1816					slide: 'f-carousel__slide',
1817					isSelected: 'is-selected',
1818				},
1819				dragFree: !1,
1820				enabled: !0,
1821				errorTpl: '<div class="f-html">{{ERROR}}</div>',
1822				fill: !1,
1823				infinite: !0,
1824				initialPage: 0,
1825				l10n: ep,
1826				rtl: !1,
1827				slides: [],
1828				slidesPerPage: 'auto',
1829				spinnerTpl: '<div class="f-spinner"></div>',
1830				transition: 'fade',
1831				tween: {
1832					clamp: !0,
1833					mass: 1,
1834					tension: 160,
1835					friction: 25,
1836					restDelta: 1,
1837					restSpeed: 1,
1838					velocity: 0,
1839				},
1840				vertical: !1,
1841			},
1842			eE = 0,
1843			ew = (e, t = {}, o = {}) => {
1844				let i, r, l, d, g;
1845				eE++;
1846				let p = ey.Init,
1847					w = { ...eb },
1848					x = { ...eb },
1849					M = {},
1850					L = null,
1851					S = null,
1852					T = 0,
1853					R = 0,
1854					P = 0,
1855					A = !1,
1856					C = !1,
1857					O = !1,
1858					I = 'height',
1859					z = 0,
1860					k = !0,
1861					$ = 0,
1862					F = 0,
1863					_ = 0,
1864					H = 0,
1865					D = '*',
1866					V = [],
1867					N = [],
1868					B = new Set(),
1869					W = [],
1870					Z = [],
1871					G = 0,
1872					U = 0,
1873					X = 0;
1874				function Y(e, ...t) {
1875					let n = x[e];
1876					return n && n instanceof Function ? n(eF, ...t) : n;
1877				}
1878				function K(e, t = []) {
1879					let n = Y('l10n') || {};
1880					e = String(e).replace(/\{\{(\w+)\}\}/g, (e, t) => n[t] || e);
1881					for (let n = 0; n < t.length; n++) e = e.split(t[n][0]).join(t[n][1]);
1882					return e.replace(/\{\{(.*?)\}\}/g, (e, t) => t);
1883				}
1884				let J = new Map();
1885				function Q(e, ...t) {
1886					let n = [...(J.get(e) || [])];
1887					for (let o of (x.on && n.push(x.on[e]), n)) o && o instanceof Function && o(eF, ...t);
1888					'*' !== e && Q('*', e, ...t);
1889				}
1890				function et() {
1891					let e = m({}, eb, w);
1892					m(e, eb, w);
1893					let t = '',
1894						n = w.breakpoints || {};
1895					if (n)
1896						for (let [o, i] of Object.entries(n)) window.matchMedia(o).matches && ((t += o), m(e, i));
1897					if (void 0 === g || t !== g) {
1898						if (((g = t), p !== ey.Init)) {
1899							let t = Z[$]?.slides[0]?.index;
1900							for (let n of (void 0 === t && (t = x.initialSlide),
1901							(e.initialSlide = t),
1902							(e.slides = []),
1903							V))
1904								n.isVirtual && e.slides.push(n);
1905						}
1906						ez(),
1907							(x = e),
1908							!1 !== Y('enabled') &&
1909								((p = ey.Init),
1910								Q('init'),
1911								(function () {
1912									for (let [e, t] of Object.entries({ ...o, ...(x.plugins || {}) }))
1913										if (e && !M[e] && t instanceof Function) {
1914											let n = t();
1915											n.init(eF, ew), (M[e] = n);
1916										}
1917									Q('initPlugins');
1918								})(),
1919								(function () {
1920									if (!L) return;
1921									let e = Y('classes') || {};
1922									v(L, e.container);
1923									let t = Y('style');
1924									if (t && a(t)) for (let [e, n] of Object.entries(t)) L.style.setProperty(e, n);
1925									(S = L.querySelector(`.${e.viewport}`)) ||
1926										(v((S = document.createElement('div')), e.viewport),
1927										S.append(...em(L, `.${e.slide}`)),
1928										L.insertAdjacentElement('afterbegin', S)),
1929										(L.carousel = eF),
1930										Q('initLayout');
1931								})(),
1932								(function () {
1933									if (!S) return;
1934									let e = Y('classes') || {};
1935									for (let t of ((V = []),
1936									[...em(S, `.${e.slide}
1936`)].forEach((e) => {
1937										if (e.parentElement) {
1938											let t = ef({ el: e, isVirtual: !1, ...(e.dataset || {}) });
1939											Q('createSlide', t), V.push(t);
1940										}
1941									}),
1942									ev(),
1943									V))
1944										Q('addSlide', t);
1945									for (let e of (ed(Y('slides')), V)) {
1946										let t = e.el;
1947										t?.parentElement === S &&
1948											(v(t, x.classes.slide), v(t, e.class), eA(e), Q('attachSlideEl', e));
1949									}
1950									Q('initSlides');
1951								})(),
1952								ex(),
1953								(p = ey.Ready),
1954								v(L, (Y('classes') || {}).isEnabled || ''),
1955								eI(),
1956								el(),
1957								(r = j()
1958									.on('start', () => {
1959										(i && i.isPointerDown()) || (er(), eI());
1960									})
1961									.on('step', (e) => {
1962										let t = z;
1963										(z = e.pos) !== t && ((k = !1), eI());
1964									})
1965									.on('end', (e) => {
1966										!i?.isPointerDown() &&
1967											((z = e.pos),
1968											r && !A && (z < _ || z > H)
1969												? r
1970														.spring({
1971															clamp: !0,
1972															mass: 1,
1973															tension: 200,
1974															friction: 25,
1975															velocity: 0,
1976															restDelta: 1,
1977															restSpeed: 1,
1978														})
1979														.from({ pos: z })
1980														.to({ pos: h(_, z, H) })
1981														.start()
1982												: k || ((k = !0), Q('settle')));
1983									})),
1984								eo(),
1985								(function () {
1986									if (!L || !S) return;
1987									L.addEventListener('click', eT), document.addEventListener('mousemove', en);
1988									let e = S.getBoundingClientRect();
1989									if (((G = e.height), (U = e.width), !l)) {
1990										let e = null;
1991										(l = new ResizeObserver(() => {
1992											e ||
1993												(e = requestAnimationFrame(() => {
1994													(function () {
1995														if (p !== ey.Ready || !S) return;
1996														let e = Z.length,
1997															t = S.getBoundingClientRect(),
1998															n = t.height,
1999															o = t.width;
2000														(e > 1 && ((O && 0.5 > Math.abs(n - G)) || (!O && 0.5 > Math.abs(o - U)))) ||
2001															(ex(),
2002															eo(),
2003															(G = n),
2004															(U = o),
2005															(O && !G) ||
2006																(!O && !U) ||
2007																(L &&
2008																	S &&
2009																	((e === Z.length && i?.isPointerDown()) ||
2010																		(Y('dragFree') && (A || (z > _ && z < H))
2011																			? (er(), eI())
2012																			: eC($, { transition: !1 })))));
2013													})(),
2014														(e = null);
2015												}));
2016										})).observe(S);
2017									}
2018								})(),
2019								Q('ready'));
2020					}
2021				}
2022				function en(e) {
2023					n = e;
2024				}
2025				function eo() {
2026					if (!1 === Y('gestures')) i && (i.destroy(), (i = void 0));
2027					else {
2028						let e;
2029						i ||
2030							((e = Y('gestures')),
2031							!i &&
2032								!1 !== e &&
2033								S &&
2034								(i = ee(S, e)
2035									.on('start', (e) => {
2036										if (!r || !1 === Y('gestures', e)) return;
2037										let { srcEvent: t } = e;
2038										O && q(t) && !f(t.target) && eh(t), r.pause(), (r.getCurrentVelocities().pos = 0);
2039										let n = Z[$]?.slides[0],
2040											o = n?.el;
2041										if (n && B.has(n.index) && o) {
2042											let e;
2043											z =
2044												(n.offset || 0) +
2045												({
2046													width: (e = new DOMMatrixReadOnly(window.getComputedStyle(o).transform)).m41 || 0,
2047													height: e.m42 || 0,
2048												}[I] || 0) *
2049													(C && !O ? 1 : -1);
2050										}
2051										eL(),
2052											!A &&
2053												(z < _ || z > H) &&
2054												r
2055													.spring({
2056														clamp: !0,
2057														mass: 1,
2058														tension: 500,
2059														friction: 25,
2060														velocity: r.getCurrentVelocities()?.pos || 0,
2061														restDelta: 1,
2062														restSpeed: 1,
2063													})
2064													.from({ pos: z })
2065													.to({ pos: h(_, z, H) })
2066													.start();
2067									})
2068									.on('move', (e) => {
2069										if (!1 === Y('gestures', e)) return;
2070										let { srcEvent: t, axis: n, deltaX: o, deltaY: i } = e;
2071										if (q(t) && t.touches?.length > 1) return;
2072										let l = f(t.target),
2073											a = l ? (l.scrollHeight > l.clientHeight ? 'y' : 'x') : void 0;
2074										if (l && l !== S && (!n || n === a)) return;
2075										if (!n) {
2076											eh(t), t.stopPropagation(), t.stopImmediatePropagation();
2077											return;
2078										}
2079										if (('y' === n && !O) || ('x' === n && O) || (eh(t), t.stopPropagation(), !r)) return;
2080										let s = C && !O ? 1 : -1,
2081											c = O ? i : o,
2082											u = r?.isRunning() ? r.getEndValues().pos : z,
2083											d = 1;
2084										!A &&
2085											(u <= _ && c * s < 0
2086												? (d = 0.2 * Math.max(0.01, 1 - (Math.abs((1 / T) * Math.abs(u - _)) || 0)))
2087												: u >= H &&
2088												  c * s > 0 &&
2089												  (d = 0.2 * Math.max(0.01, 1 - (Math.abs((1 / T) * Math.abs(u - H)) || 0)))),
2090											(u += c * d * s),
2091											r
2092												.spring({
2093													clamp: !0,
2094													mass: 1,
2095													tension: 700,
2096													friction: 25,
2097													velocity: r.getCurrentVelocities()?.pos || 0,
2098													restDelta: 1,
2099													restSpeed: 1,
2100												})
2101												.from({ pos: z })
2102												.to({ pos: u })
2103												.start();
2104									})
2105									.on('panstart', (e) => {
2106										!1 !== Y('gestures', e) && e?.axis === (O ? 'y' : 'x') && v(S, 'is-dragging');
2107									})
2108									.on('panend', (e) => {
2109										!1 !== Y('gestures', e) && b(S, 'is-dragging');
2110									})
2111									.on('end', (e) => {
2112										if (!1 === Y('gestures', e)) return;
2113										let { srcEvent: t, axis: n, velocityX: o, velocityY: i, currentTouch: l } = e;
2114										if (l.length > 0 || !r) return;
2115										let a = f(t.target),
2116											s = a ? (a.scrollHeight > a.clientHeight ? 'y' : 'x') : void 0,
2117											c = a && (!n || n === s);
2118										O && q(t) && !n && eT(t);
2119										let u = Z.length,
2120											d = Y('dragFree');
2121										if (!u) return;
2122										let g = c ? 0 : Y('vertical') ? i : o;
2123										n !== (O ? 'y' : 'x') && (g = 0);
2124										let m = r?.isRunning() ? r.getEndValues().pos : z,
2125											p = C && !O ? 1 : -1;
2126										if (
2127											(c || (m += g * (d ? 5 : 1) * p), !A && ((g * p <= 0 && m < _) || (g * p >= 0 && m > H)))
2128										) {
2129											let e = 0;
2130											Math.abs(g) > 0 && (e = Math.min(0.3 * T, (e = 2 * Math.abs(g)))),
2131												(m = h(_ + -1 * e, m, H + e)),
2132												r
2133													.spring({
2134														clamp: !0,
2135														mass: 1,
2136														tension: 380,
2137														friction: 25,
2138														velocity: -1 * g,
2139														restDelta: 1,
2140														restSpeed: 1,
2141													})
2142													.from({ pos: z })
2143													.to({ pos: m })
2144													.start();
2145											return;
2146										}
2147										if (d || M.Autoscroll?.isEnabled())
2148											return void (Math.abs(g) > 10
2149												? r
2150														.spring({
2151															clamp: !0,
2152															mass: 1,
2153															tension: 150,
2154															friction: 25,
2155															velocity: -1 * g,
2156															restDelta: 1,
2157															restSpeed: 1,
2158														})
2159														.from({ pos: z })
2160														.to({ pos: m })
2161														.start()
2162												: r.isRunning() || k || ((k = !0), Q('settle')));
2163										if (
2164											!(d || M.Autoscroll?.isEnabled()) &&
2165											(!(e.offsetX || e.offsetY) || ('y' === n && !O) || ('x' === n && O))
2166										)
2167											return void eC($, { transition: 'tween' });
2168										let y = es(m);
2169										Math.abs(g) > 10 &&
2170											y === $ &&
2171											(g > 0 ? (y += C && !O ? 1 : -1) : (y += C && !O ? -1 : 1)),
2172											eC(y, { transition: 'tween', tween: { velocity: -1 * g } });
2173									})
2174									.init()));
2175					}
2176					E(S, 'is-draggable', !!i && Z.length > 0);
2177				}
2178				function ei(e = '*') {
2179					let t = [];
2180					for (let n of V)
2181						('*' === e || (n.class && n.class.includes(e)) || (n.el && n.el?.classList.contains(e))) &&
2182							t.push(n);
2183					(d = void 0), (D = e), (N = [...t]);
2184				}
2185				function er() {
2186					if (!r) return;
2187					let e = es(r?.isRunning() ? r.getEndValues().pos : z);
2188					e !== $ && ((d = $), ($ = e), eA(), el(), ea(), Q('change', $, d));
2189				}
2190				function el() {
2191					if (!L) return;
2192					for (let e of L.querySelectorAll('[data-carousel-index]')) e.innerHTML = $ + '';
2193					for (let e of L.querySelectorAll('[data-carousel-page]')) e.innerHTML = $ + 1 + '';
2194					for (let e of L.querySelectorAll('[data-carousel-pages]')) e.innerHTML = Z.length + '';
2195					for (let e of L.querySelectorAll('[data-carousel-go-to]'))
2196						parseInt(e.dataset?.carouselGoTo || '-1', 10) === $
2197							? e.setAttribute('aria-current', 'true')
2198							: e.removeAttribute('aria-current');
2199					for (let e of L.querySelectorAll('[data-carousel-go-prev]'))
2200						e.toggleAttribute('aria-disabled', !ek()),
2201							ek() ? e.removeAttribute('tabindex') : e.setAttribute('tabindex', '-1');
2202					for (let e of L.querySelectorAll('[data-carousel-go-next]'))
2203						e.toggleAttribute('aria-disabled', !e$()),
2204							e$() ? e.removeAttribute('tabindex') : e.setAttribute('tabindex', '-1');
2205					let e = !1,
2206						t = Z[$]?.slides[0];
2207					for (let n of (t && (t.downloadSrc || ('image' === t.type && t.src)) && (e = !0),
2208					L.querySelectorAll('[data-carousel-download]')))
2209						n.toggleAttribute('aria-disabled', !e);
2210				}
2211				function ea(e) {
2212					e || (e = Z[$]?.slides[0]);
2213					let t = e?.el;
2214					if (t) for (let n of t.querySelectorAll('[data-slide-index]')) n.innerHTML = e.index + 1 + '';
2215				}
2216				function es(e) {
2217					if (!Z.length) return 0;
2218					let t = ec(),
2219						n = e;
2220					A
2221						? (n -= Math.floor((e - Z[0]?.pos) / t) * t || 0)
2222						: (n = h(Z[0]?.pos, e, Z[Z.length - 1]?.pos));
2223					let o = new Map(),
2224						i = 0;
2225					for (let e of Z) {
2226						let r = Math.min(Math.abs(e.pos - n), Math.abs(e.pos - n - t), Math.abs(e.pos - n + t));
2227						o.set(i, r), i++;
2228					}
2229					return parseInt(
2230						(o.size > 0 ? [...o.entries()].reduce((e, t) => (t[1] < e[1] ? t : e)) : [$, 0])[0]
2231					);
2232				}
2233				function ec(e = !0) {
2234					return N.length ? N.reduce((e, t) => e + t.dim, 0) + (N.length - (A && e ? 0 : 1)) * X : 0;
2235				}
2236				function eu(e) {
2237					let t = ec(),
2238						n = T;
2239					if (!t || !S || !n) return [];
2240					let o = [];
2241					(e = void 0 === e ? z : e), A && (e -= Math.floor(e / t) * t || 0);
2242					let i = 0;
2243					for (let r of N) {
2244						let l = (t = 0) => {
2245							!(o.indexOf(r) > -1) &&
2246								((r.pos = i - e + t || 0),
2247								r.offset + t > e - r.dim - R + 0.51 && r.offset + t < e + n + P - 0.51 && o.push(r));
2248						};
2249						(r.offset = i), A && (l(t), l(-1 * t)), l(), (i += r.dim + X);
2250					}
2251					return o;
2252				}
2253				function ed(e, t) {
2254					let n = [];
2255					for (let t of Array.isArray(e) ? e : [e]) {
2256						let e = ef({ ...t, isVirtual: !0 });
2257						e.el || (e.el = document.createElement('div')), Q('createSlide', e), n.push(e);
2258					}
2259					for (let e of (V.splice(void 0 === t ? V.length : t, 0, ...n), ev(), n))
2260						Q('addSlide', e),
2261							(function (e) {
2262								let t = e.el;
2263								if (!e || !t) return;
2264								let n = e.html ? (e.html instanceof HTMLElement ? e.html : u(e.html)) : void 0;
2265								n && (v(n, 'f-html'), (e.htmlEl = n), v(t, 'has-html'), t.append(n), Q('contentReady', e));
2266							})(e);
2267					return ei(D), n;
2268				}
2269				function ef(e) {
2270					return (
2271						(s(e) || e instanceof HTMLElement) && (e = { html: e }),
2272						{
2273							index: -1,
2274							el: void 0,
2275							class: '',
2276							isVirtual: !0,
2277							dim: 0,
2278							pos: 0,
2279							offset: 0,
2280							html: '',
2281							src: '',
2282							...e,
2283						}
2284					);
2285				}
2286				function eg(e) {
2287					if (!S || !e) return;
2288					let t = e.el;
2289					if (t) {
2290						if ((t.setAttribute('index', e.index + ''), t.parentElement !== S)) {
2291							let n;
2292							for (let o of (v(t, x.classes.slide), v(t, e.class), eA(e), V))
2293								if (o.index > e.index) {
2294									n = o.el;
2295									break;
2296								}
2297							S.insertBefore(t, n && S.contains(n) ? n : null), Q('attachSlideEl', e);
2298						}
2299						return ea(e), t;
2300					}
2301				}
2302				function ep(e) {
2303					let t = e?.el;
2304					t && (t.remove(), eM(t), Q('detachSlideEl', e));
2305				}
2306				function ev() {
2307					for (let e = 0; e < V.length; e++) {
2308						let t = V[e],
2309							n = t.el;
2310						n && (t.index !== e && eM(n), n.setAttribute('index', `${e}`)), (t.index = e);
2311					}
2312				}
2313				function ex() {
2314					if (!L || !S) return;
2315					(C = Y('rtl')), (I = (O = Y('vertical')) ? 'height' : 'width');
2316					let e = Y('classes');
2317					if (
2318						(E(L, e.isLTR, !C),
2319						E(L, e.isRTL, C),
2320						E(L, e.isHorizontal, !O),
2321						E(L, e.isVertical, O),
2322						E(L, e.hasAdaptiveHeight, Y('adaptiveHeight')),
2323						(T = 0),
2324						(R = 0),
2325						(P = 0),
2326						(X = 0),
2327						S)
2328					) {
2329						S.childElementCount || (S.style.display = 'grid');
2330						let e = S.getBoundingClientRect();
2331						T = S.getBoundingClientRect()[I] || 0;
2332						let t = window.getComputedStyle(S);
2333						(X = parseFloat(t.getPropertyValue('--f-carousel-gap')) || 0),
2334							'visible' === t.getPropertyValue('overflow-' + (O ? 'y' : 'x')) &&
2335								((R = Math.abs(e[O ? 'top' : 'left'])),
2336								(P = Math.abs(window[O ? 'innerHeight' : 'innerWidth'] - e[O ? 'bottom' : 'right']))),
2337							(S.style.display = '');
2338					}
2339					if (!T) return;
2340					let t = (function () {
2341						let e = 0;
2342						if (S) {
2343							let t = document.createElement('div');
2344							(t.style.display = 'block'),
2345								v(t, x.classes.slide),
2346								S.appendChild(t),
2347								(e = t.getBoundingClientRect()[I]),
2348								t.remove(),
2349								(t = void 0);
2350						}
2351						return e;
2352					})();
2353					for (let e of N) {
2354						let n = e.el,
2355							o = 0;
2356						if (!e.isVirtual && n && c(n)) {
2357							let e = !1;
2358							(n.parentElement && n.parentElement === S) || (S.appendChild(n), (e = !0)),
2359								(o = n.getBoundingClientRect()[I]),
2360								e && n.parentElement?.removeChild(n);
2361						} else o = t;
2362						e.dim = o;
2363					}
2364					if (((A = !1), Y('infinite'))) {
2365						A = !0;
2366						let e = ec(),
2367							t = T + R + P;
2368						for (let n = 0; n < N.length; n++) {
2369							let o = N[n]?.dim + X;
2370							if (e - o < t && e - o - t < o) {
2371								A = !1;
2372								break;
2373							}
2374						}
2375					}
2376					if (
2377						(!(function () {
2378							let e;
2379							if (!L) return;
2380							let t = T,
2381								n = ec(!1),
2382								o = Y('slidesPerPage');
2383							(o = 'auto' === o ? 1 / 0 : parseFloat(o + '')), (Z = []);
2384							let i = 0,
2385								r = 0;
2386							for (let e of N)
2387								(!Z.length || i + e.dim - t > 0.05 || r >= o) &&
2388									(Z.push({ index: Z.length, slides: [], dim: 0, offset: 0, pos: 0 }), (i = 0), (r = 0)),
2389									Z[Z.length - 1]?.slides.push(e),
2390									(i += e.dim + X),
2391									r++;
2392							let l = Y('center'),
2393								a = Y('fill'),
2394								s = 0;
2395							for (let e of Z) {
2396								for (let t of ((e.dim = (e.slides.length - 1) * X), e.slides)) e.dim += t.dim;
2397								(e.offset = s),
2398									(e.pos = s),
2399									!1 !== l && (e.pos -= (t - e.dim) * 0.5),
2400									a && !A && n > t && (e.pos = h(0, e.pos, n - t)),
2401									(s += e.dim + X);
2402							}
2403							let c = [];
2404							for (let t of Z) {
2405								let n = { ...t };
2406								e && 0.1 > Math.abs(n.pos - e.pos)
2407									? ((e.dim += n.dim), (e.slides = [...e.slides, ...n.slides]))
2408									: ((e = n), (n.index = c.length), c.push(n));
2409							}
2410							$ = h(0, $, (Z = c).length - 1);
2411						})(),
2412						(_ = Z[0]?.pos || 0),
2413						(H = Z[Z.length - 1]?.pos || 0),
2414						p === ey.Init)
2415					) {
2416						let e;
2417						(d = void 0),
2418							($ = Y('initialPage')),
2419							void 0 !== (e = Y('initialSlide') || void 0) && ($ = eF.getPageIndex(e) || 0),
2420							($ = h(0, $, Z.length - 1)),
2421							(F = z = Z[$]?.pos || 0);
2422					} else F = Z[$ || 0]?.pos || 0;
2423					Q('refresh'), el();
2424				}
2425				function eM(e) {
2426					if (!e || !c(e)) return;
2427					let t = parseInt(e.getAttribute('index') || '-1'),
2428						n = '';
2429					for (let t of Array.from(e.classList)) {
2430						let e = t.match(/^f-(\w+)(Out|In)$/);
2431						e && e[1] && (n = e[1] + '');
2432					}
2433					if (!e || !n) return;
2434					let o = [`f-${n}Out`, `f-${n}In`, 'to-prev', 'to-next', 'from-prev', 'from-next'];
2435					e.removeEventListener('animationend', eS), b(e, o.join(' ')), B.delete(t);
2436				}
2437				function eL() {
2438					if (!S) return;
2439					let e = B.size > 0;
2440					for (let e of N) eM(e.el);
2441					B.clear(), e && eI();
2442				}
2443				function eS(e) {
2444					e.animationName?.substring(0, 2) === 'f-' &&
2445						(eM(e.target),
2446						!B.size &&
2447							(b(L, 'in-transition'),
2448							!k && 0.5 > Math.abs(eF.getPosition(!0) - F) && ((k = !0), Q('settle'))),
2449						eI());
2450				}
2451				function eT(e) {
2452					if (e.defaultPrevented) return;
2453					let t = e.composedPath()[0];
2454					if (t.closest('[data-carousel-go-prev]')) {
2455						eh(e), eF.prev();
2456						return;
2457					}
2458					if (t.closest('[data-carousel-go-next]')) {
2459						eh(e), eF.next();
2460						return;
2461					}
2462					let n = t.closest('[data-carousel-go-to]');
2463					if (n) {
2464						eh(e), eF.goTo(parseFloat(n.dataset.carouselGoTo || '') || 0);
2465						return;
2466					}
2467					if (t.closest('[data-carousel-download]')) {
2468						eh(e);
2469						let t = Z[$]?.slides[0];
2470						if (t && (t.downloadSrc || ('image' === t.type && t.src))) {
2471							let e = t.downloadFilename,
2472								n = document.createElement('a'),
2473								o = t.downloadSrc || t.src || '';
2474							(n.href = o), (n.target = '_blank'), (n.download = e || o), n.click();
2475						}
2476						return;
2477					}
2478					Q('click', e);
2479				}
2480				function eR(e) {
2481					let t = e.el;
2482					t && t.querySelector('.f-spinner')?.remove();
2483				}
2484				function eP(e) {
2485					let t = e.el;
2486					t && (t.querySelector('.f-html.is-error')?.remove(), b(t, 'has-error'));
2487				}
2488				function eA(e) {
2489					e || (e = Z[$]?.slides[0]);
2490					let t = e?.el;
2491					if (!t) return;
2492					let n = Y('formatCaption', e);
2493					void 0 === n && (n = e.caption), (n = n || '');
2494					let o = Y('captionEl');
2495					if (o && o instanceof HTMLElement) {
2496						if (e.index !== $) return;
2497						if ((s(n) && (o.innerHTML = K(n + '')), n instanceof HTMLElement)) {
2498							if (n.parentElement === o) return;
2499							(o.innerHTML = ''), n.parentElement && (n = n.cloneNode(!0)), o.append(n);
2500						}
2501						return;
2502					}
2503					if (!n) return;
2504					let i = e.captionEl || t.querySelector('.f-caption');
2505					!i && n instanceof HTMLElement && n.classList.contains('f-caption') && (i = n),
2506						!i &&
2507							(v((i = document.createElement('div')), 'f-caption'),
2508							s(n)
2509								? (i.innerHTML = K(n + ''))
2510								: n instanceof HTMLElement && (n.parentElement && (n = n.cloneNode(!0)), i.append(n)));
2511					let r = `f-caption-${eE}_${e.index}`;
2512					i.setAttribute('id', r),
2513						(i.dataset.selectable = 'true'),
2514						v(t, 'has-caption'),
2515						t.setAttribute('aria-labelledby', r),
2516						(e.captionEl = i),
2517						t.insertAdjacentElement('beforeend', i);
2518				}
2519				function eC(e, t = {}) {
2520					let { transition: n, tween: o } = {
2521						...{ transition: x.transition, tween: x.tween },
2522						...(t || {}),
2523					};
2524					if (!L || !r) return;
2525					let i = Z.length;
2526					if (
2527						!i ||
2528						(function (e, t) {
2529							if (!L || !T || !r || !t || !s(t) || 'tween' === t) return !1;
2530							for (let e of W) if (T - e.dim > 0.5) return !1;
2531							if (R > 0.5 || P > 0.5) return;
2532							let n = Z.length,
2533								o = e > $ ? 1 : -1;
2534							(e = A ? ((e % n) + n) % n : h(0, e, n - 1)), C && (o *= -1);
2535							let i = Z[$]?.slides[0],
2536								l = i?.index,
2537								a = Z[e]?.slides[0],
2538								c = a?.index,
2539								u = Z[e]?.pos;
2540							if (void 0 === c || void 0 === l || l === c || z === u || Math.abs(T - (a?.dim || 0)) > 1)
2541								return !1;
2542							(k = !1), r.pause(), eL(), v(L, 'in-transition'), (z = F = u);
2543							let d = eg(i),
2544								f = eg(a);
2545							return (
2546								er(),
2547								d &&
2548									(B.add(l),
2549									(d.style.transform = ''),
2550									d.addEventListener('animationend', eS),
2551									b(d, x.classes.isSelected),
2552									(d.inert = !1),
2553									v(d, `f-${t}Out to-${o > 0 ? 'next' : 'prev'}`)),
2554								f &&
2555									(B.add(c),
2556									(f.style.transform = ''),
2557									f.addEventListener('animationend', eS),
2558									v(f, x.classes.isSelected),
2559									(f.inert = !1),
2560									v(f, `f-${t}In from-${o > 0 ? 'prev' : 'next'}`)),
2561								eI(),
2562								!0
2563							);
2564						})(e, n)
2565					)
2566						return;
2567					(e = A ? ((e % i) + i) % i : h(0, e, i - 1)), (F = Z[e || 0]?.pos || 0);
2568					let l = r.isRunning() ? r.getEndValues().pos : z;
2569					if (1 > Math.abs(F - l)) {
2570						(z = F),
2571							$ !== e && (eA(), (d = $), ($ = e), el(), ea(), Q('change', $, d)),
2572							eI(),
2573							k || ((k = !0), Q('settle'));
2574						return;
2575					}
2576					if ((r.pause(), eL(), A)) {
2577						let e = ec(),
2578							t = Math.floor((l - Z[0]?.pos) / e) || 0,
2579							n = F + t * e,
2580							o = n - e;
2581						F = [n + e, n, o].reduce(function (e, t) {
2582							return Math.abs(t - l) < Math.abs(e - l) ? t : e;
2583						});
2584					}
2585					!1 !== n && a(o)
2586						? r
2587								.spring(m({}, x.tween, o))
2588								.from({ pos: z })
2589								.to({ pos: F })
2590								.start()
2591						: ((z = F), er(), eI(), k || ((k = !0), Q('settle')));
2592				}
2593				function eO(e) {
2594					let t = z;
2595					if (A && !0 !== e) {
2596						let e = ec();
2597						t -= (Math.floor((z - Z[0]?.pos || 0) / e) || 0) * e;
2598					}
2599					return t;
2600				}
2601				function eI() {
2602					let e;
2603					if (!L || !S) return;
2604					W = eu();
2605					let t = new Set(),
2606						n = [],
2607						o = Z[$],
2608						i = x.setTransform;
2609					for (let i of N) {
2610						let r = B.has(i.index),
2611							l = W.indexOf(i) > -1,
2612							a = o?.slides?.indexOf(i) > -1;
2613						if (i.isVirtual && !r && !l) continue;
2614						let s = eg(i);
2615						if (s && (n.push(i), a && t.add(s), Y('adaptiveHeight') && a)) {
2616							let t = (s.lastElementChild || s).getBoundingClientRect().height;
2617							e = void 0 == e ? t : Math.max(e, t);
2618						}
2619					}
2620					S && e && (S.style.height = `${e}px`),
2621						[...em(S, `.${x.classes.slide}`)].forEach((e) => {
2622							E(e, x.classes.isSelected, t.has(e));
2623							let n = V[parseInt(e.getAttribute('index') || '-1')];
2624							if (!n) {
2625								e.remove(), eM(e);
2626								return;
2627							}
2628							let o = B.has(n.index),
2629								r = W.indexOf(n) > -1;
2630							if (n.isVirtual && !o && !r) return void ep(n);
2631							if (((e.inert = !r), !1 === i)) return;
2632							let l = n.pos ? Math.round(1e4 * n.pos) / 1e4 : 0,
2633								a = 0,
2634								s = 0,
2635								c = 0,
2636								u = 0;
2637							o ||
2638								((a = O ? 0 : C ? -1 * l : l),
2639								(s = O ? l : 0),
2640								(c = y(a, 0, n.dim, 0, 100)),
2641								(u = y(s, 0, n.dim, 0, 100))),
2642								i instanceof Function && !o
2643									? i(eF, n, { x: a, y: s, xPercent: c, yPercent: u })
2644									: (e.style.transform = a || s ? `translate3d(${c}%, ${u}%,0)` : '');
2645						}),
2646						Q('render', n);
2647				}
2648				function ez() {
2649					for (let e of (L?.removeEventListener('click', eT),
2650					document.removeEventListener('mousemove', en),
2651					B.clear(),
2652					l?.disconnect(),
2653					(l = void 0),
2654					V)) {
2655						let t = e.el;
2656						t &&
2657							c(t) &&
2658							((e.state = void 0),
2659							eR(e),
2660							eP(e),
2661							e.isVirtual
2662								? (ep(e), (e.el = void 0))
2663								: (eM(t), (t.style.transform = ''), S && !S.contains(t) && S.appendChild(t)));
2664					}
2665					for (let e of Object.values(M)) e?.destroy();
2666					for (let [e, t] of ((M = {}),
2667					i?.destroy(),
2668					(i = void 0),
2669					r?.destroy(),
2670					(r = void 0),
2671					Object.entries(x.classes || {})))
2672						'container' !== e && b(L, t);
2673					b(S, 'is-draggable');
2674				}
2675				function ek() {
2676					return A || $ > 0;
2677				}
2678				function e$() {
2679					return A || $ < Z.length - 1;
2680				}
2681				let eF = {
2682					add: function (e, t) {
2683						let n = z,
2684							o = $,
2685							i = ec(),
2686							l = r?.isRunning() ? r.getEndValues().pos : z,
2687							a = (i && Math.floor((l - (Z[0]?.pos || 0)) / i)) || 0;
2688						return (
2689							ed(e, t),
2690							ei(D),
2691							ex(),
2692							r &&
2693								i &&
2694								(o === $ && (n -= a * i),
2695								n === F
2696									? (z = F)
2697									: r
2698											.spring({ clamp: !0, mass: 1, tension: 300, friction: 25, restDelta: 1, restSpeed: 1 })
2699											.from({ pos: n })
2700											.to({ pos: F })
2701											.start()),
2702							eI(),
2703							eF
2704						);
2705					},
2706					canGoPrev: ek,
2707					canGoNext: e$,
2708					destroy: function () {
2709						return (
2710							Q('destroy'),
2711							window.removeEventListener('resize', et),
2712							ez(),
2713							J.clear(),
2714							(L = null),
2715							(Z = []),
2716							(V = []),
2717							(x = { ...eb }),
2718							(M = {}),
2719							(N = []),
2720							(g = void 0),
2721							(D = '*'),
2722							(p = ey.Destroyed),
2723							eF
2724						);
2725					},
2726					emit: Q,
2727					filter: function (e = '*') {
2728						return ei(e), ex(), (z = h(_, z, H)), eI(), Q('filter', e), eF;
2729					},
2730					getContainer: function () {
2731						return L;
2732					},
2733					getGapDim: function () {
2734						return X;
2735					},
2736					getGestures: function () {
2737						return i;
2738					},
2739					getLastMouseMove: function () {
2740						return n;
2741					},
2742					getOption: function (e) {
2743						return Y(e);
2744					},
2745					getOptions: function () {
2746						return x;
2747					},
2748					getPage: function () {
2749						return Z[$];
2750					},
2751					getPageIndex: function (e) {
2752						if (void 0 !== e) {
2753							for (let t of Z || []) for (let n of t.slides) if (n.index === e) return t.index;
2754							return -1;
2755						}
2756						return $;
2757					},
2758					getPageIndexFromPosition: es,
2759					getPageProgress: function (e, t) {
2760						void 0 === e && (e = $);
2761						let n = Z[e];
2762						if (!n) return e > $ ? -1 : 1;
2763						let o = ec(),
2764							i = X,
2765							r = n.pos,
2766							l = eO();
2767						if (A && !0 !== t) {
2768							let e = Math.floor((l - Z[0]?.pos) / o) || 0;
2769							(l -= e * o),
2770								(r = [r + o, r, r - o].reduce(function (e, t) {
2771									return Math.abs(t - l) < Math.abs(e - l) ? t : e;
2772								}));
2773						}
2774						return (l - r) / (n.dim + i) || 0;
2775					},
2776					getPageVisibility: function (e) {
2777						void 0 === e && (e = $);
2778						let t = Z[e];
2779						if (!t) return e > $ ? -1 : 1;
2780						let n = eO(),
2781							o = T,
2782							i = t.pos;
2783						if (A) {
2784							let e = ec(),
2785								t = i + (Math.floor((n - Z[0]?.pos) / e) || 0) * e,
2786								o = t - e;
2787							i = [t + e, t, o].reduce(function (e, t) {
2788								return Math.abs(t - n) < Math.abs(e - n) ? t : e;
2789							});
2790						}
2791						return i > n && i + t.dim < n + o
2792							? 1
2793							: i < n
2794							? (i + t.dim - n) / t.dim || 0
2795							: (i + t.dim > n + o && (n + o - i) / t.dim) || 0;
2796					},
2797					getPages: function () {
2798						return Z;
2799					},
2800					getPlugins: function () {
2801						return M;
2802					},
2803					getPosition: eO,
2804					getSlides: function () {
2805						return V;
2806					},
2807					getState: function () {
2808						return p;
2809					},
2810					getTotalSlideDim: ec,
2811					getTween: function () {
2812						return r;
2813					},
2814					getViewport: function () {
2815						return S;
2816					},
2817					getViewportDim: function () {
2818						return T;
2819					},
2820					getVisibleSlides: function (e) {
2821						return void 0 === e ? W : eu(e);
2822					},
2823					goTo: eC,
2824					hasNavigated: function () {
2825						return void 0 !== d;
2826					},
2827					hideError: eP,
2828					hideLoading: eR,
2829					init: function () {
2830						if (!e || !c(e)) throw Error('No Element found');
2831						return (
2832							p !== ey.Init && (ez(), (p = ey.Init)),
2833							(L = e),
2834							(w = t),
2835							window.removeEventListener('resize', et),
2836							w.breakpoints && window.addEventListener('resize', et),
2837							et(),
2838							eF
2839						);
2840					},
2841					isInfinite: function () {
2842						return A;
2843					},
2844					isInTransition: function () {
2845						return B.size > 0;
2846					},
2847					isRTL: function () {
2848						return C;
2849					},
2850					isSettled: function () {
2851						return k;
2852					},
2853					isVertical: function () {
2854						return O;
2855					},
2856					localize: K,
2857					next: function (e = {}) {
2858						return eC($ + 1, e), eF;
2859					},
2860					off: function (e, t) {
2861						for (let n of e instanceof Array ? e : [e])
2862							J.has(n) &&
2863								J.set(
2864									n,
2865									J.get(n).filter((e) => e !== t)
2866								);
2867						return eF;
2868					},
2869					on: function (e, t) {
2870						for (let n of e instanceof Array ? e : [e]) J.set(n, [...(J.get(n) || []), t]);
2871						return eF;
2872					},
2873					prev: function (e = {}) {
2874						return eC($ - 1, e), eF;
2875					},
2876					reInit: function (e = {}, n) {
2877						return (
2878							ez(), (p = ey.Init), (g = void 0), (D = '*'), (t = e), (w = e), a(n) && (o = n), et(), eF
2879						);
2880					},
2881					remove: function (e) {
2882						void 0 === e && (e = V.length - 1);
2883						let t = V[e];
2884						return (
2885							t &&
2886								(Q('removeSlide', t),
2887								t.el && (eM(t.el), t.el.remove(), (t.el = void 0)),
2888								V.splice(e, 1),
2889								ei(D),
2890								ex(),
2891								(z = h(_, z, H)),
2892								eI()),
2893							eF
2894						);
2895					},
2896					setPosition: function (e) {
2897						(z = e), er(), eI();
2898					},
2899					showError: function (e, t) {
2900						if (p === ey.Ready) {
2901							eR(e), eP(e);
2902							let n = e.el;
2903							if (n) {
2904								let o = document.createElement('div');
2905								v(o, 'f-html'),
2906									v(o, 'is-error'),
2907									(o.innerHTML = K(t || '<p>{{ERROR}}</p>')),
2908									(e.htmlEl = o),
2909									v(n, 'has-html has-error'),
2910									n.insertAdjacentElement('afterbegin', o),
2911									Q('contentReady', e);
2912							}
2913						}
2914						return eF;
2915					},
2916					showLoading: function (e) {
2917						let t = e.el,
2918							n = t?.querySelector('.f-spinner');
2919						if (!t || n) return eF;
2920						let o = u(Y('spinnerTpl'));
2921						return o && (v(o, 'f-spinner'), t.insertAdjacentElement('beforeend', o)), eF;
2922					},
2923					version: '6.1.13',
2924				};
2925				return eF;
2926			};
2927		(ew.l10n = { en_EN: ep }), (ew.getDefaults = () => eb);
2928		let ex = function (e = '', t = '', n = '') {
2929				return e.split(t).join(n);
2930			},
2931			eM = {
2932				tpl: (e) => `<img class="f-panzoom__content" 
2933    ${e.srcset ? 'data-lazy-srcset="{{srcset}}"' : ''} 
2934    ${e.sizes ? 'data-lazy-sizes="{{sizes}}"' : ''} 
2935    data-lazy-src="{{src}}" alt="{{alt}}" />`,
2936			},
2937			eL = () => {
2938				let e;
2939				function t(t, n) {
2940					let o = e?.getOptions().Zoomable,
2941						i = (a(o) ? { ...eM, ...o } : eM)[t];
2942					return i && 'function' == typeof i && n ? i(n) : i;
2943				}
2944				function n() {
2945					e &&
2946						!1 !== e.getOptions().Zoomable &&
2947						(e.on('addSlide', r),
2948						e.on('removeSlide', l),
2949						e.on('attachSlideEl', c),
2950						e.on('click', i),
2951						e.on('change', o),
2952						e.on('ready', o));
2953				}
2954				function o() {
2955					u();
2956					let t = e?.getVisibleSlides() || [];
2957					if (t.length > 1 || e?.getOption('transition') === 'slide')
2958						for (let n of t) {
2959							let t = n.panzoomRef;
2960							t &&
2961								0 > (e?.getPage().slides || []).indexOf(n) &&
2962								t.execute(er.ZoomTo, { ...t.getStartPosition() });
2963						}
2964				}
2965				function i(e, t) {
2966					let n = t.target;
2967					n && !t.defaultPrevented && n.dataset.panzoomAction && d(n.dataset.panzoomAction);
2968				}
2969				function r(n, o) {
2970					let i = o.el;
2971					if (!e || !i || o.panzoomRef) return;
2972					let r = o.src || o.lazySrc || '',
2973						l = o.alt || o.caption || `Image #${o.index}`,
2974						a = o.srcset || o.lazySrcset || '',
2975						c = o.sizes || o.lazySizes || '';
2976					if (r && s(r) && !o.html && (!o.type || 'image' === o.type)) {
2977						(o.type = 'image'), (o.thumbSrc = o.thumbSrc || r);
2978						let e = t('tpl', o);
2979						(e = ex(e, '{{src}}', r + '')),
2980							(e = ex(e, '{{srcset}}', a + '')),
2981							(e = ex(e, '{{sizes}}', c + '')),
2982							i.insertAdjacentHTML('afterbegin', e);
2983					}
2984					let d = i.querySelector('.f-panzoom__content');
2985					if (!d) return;
2986					d.setAttribute('alt', l + '');
2987					let f = eg(i, {
2988						width: o.width && 'auto' !== o.width ? parseFloat(o.width + '') : 'auto',
2989						height: o.height && 'auto' !== o.height ? parseFloat(o.height + '') : 'auto',
2990						classes: { container: 'f-zoomable' },
2991						event: () => e?.getLastMouseMove(),
2992						spinnerTpl: () => e?.getOption('spinnerTpl') || '',
2993						...t('Panzoom'),
2994					});
2995					f.on('*', (t, n, ...i) => {
2996						e &&
2997							('loading' === n && (o.state = 0),
2998							'loaded' === n && (o.state = 1),
2999							'error' === n && ((o.state = 2), e?.showError(o, '{{IMAGE_ERROR}}')),
3000							e.emit(`panzoom:${n}`, o, ...i),
3001							'loading' === n && e.emit('contentLoading', o),
3002							'ready' === n && e.emit('contentReady', o),
3003							o.index === e?.getPageIndex() && u());
3004					}),
3005						(o.panzoomRef = f);
3006				}
3007				function l(e, t) {
3008					t.panzoomRef && (t.panzoomRef.destroy(), (t.panzoomRef = void 0));
3009				}
3010				function c(e, t) {
3011					let n = t.panzoomRef;
3012					if (n)
3013						switch (n.getState()) {
3014							case es.Init:
3015								n.init();
3016								break;
3017							case es.Ready:
3018								n.execute(er.ZoomTo, { ...n.getStartPosition(), velocity: 0 });
3019						}
3020				}
3021				function u() {
3022					let t = e?.getContainer() || void 0,
3023						n = e?.getPage()?.slides[0]?.panzoomRef;
3024					if (t)
3025						if (n) n.updateControls(t);
3026						else
3027							for (let e of t.querySelectorAll('[data-panzoom-action]') || [])
3028								e.setAttribute('aria-disabled', ''), e.setAttribute('tabindex', '-1');
3029				}
3030				function d(t, ...n) {
3031					e?.getPage().slides[0].panzoomRef?.execute(t, ...n);
3032				}
3033				return {
3034					init: function (t) {
3035						(e = t).on('initPlugins', n);
3036					},
3037					destroy: function () {
3038						if (e)
3039							for (let t of (e.off('initPlugins', n),
3040							e.off('addSlide', r),
3041							e.off('removeSlide', l),
3042							e.off('attachSlideEl', c),
3043							e.off('click', i),
3044							e.off('change', o),
3045							e.off('ready', o),
3046							e.getSlides()))
3047								l(e, t);
3048						e = void 0;
3049					},
3050					execute: d,
3051				};
3052			},
3053			eS = { syncOnChange: !1, syncOnClick: !0, syncOnHover: !1 },
3054			eT = () => {
3055				let e, t;
3056				function n() {
3057					let t = e?.getOptions().Sync;
3058					return a(t) ? { ...eS, ...t } : eS;
3059				}
3060				function o() {
3061					let o = n().target;
3062					e &&
3063						o &&
3064						e &&
3065						o &&
3066						((t = o),
3067						(e.getOptions().classes = { ...e.getOptions().classes, isSelected: '' }),
3068						(e.getOptions().initialSlide = t.getPage()?.slides[0]?.index || 0),
3069						n().syncOnChange && e.on('change', r),
3070						n().syncOnClick && e.on('click', s),
3071						n().syncOnHover && e.getViewport()?.addEventListener('mouseover', c),
3072						e && t && (e.on('ready', i), e.on('refresh', u), t.on('change', l), t.on('filter', d)));
3073				}
3074				function i() {
3075					f();
3076				}
3077				function r() {
3078					if (e && t) {
3079						let n = e.getPage()?.slides || [],
3080							o = t.getPageIndex(n[0].index || 0);
3081						o > -1 && t.goTo(o, e.hasNavigated() ? void 0 : { tween: !1, transition: !1 }), f();
3082					}
3083				}
3084				function l() {
3085					if (e && t) {
3086						let n = e.getPageIndex(t.getPage()?.slides[0].index || 0);
3087						n > -1 && e.goTo(n, t.hasNavigated() ? void 0 : { tween: !1, transition: !1 }), f();
3088					}
3089				}
3090				function s(n, o) {
3091					if (!e || !t || e.getTween()?.isRunning()) return;
3092					let i = e?.getOptions().classes.slide;
3093					if (!i) return;
3094					let r = i ? o.target.closest(`.${i}`) : null;
3095					if (r) {
3096						let e = parseInt(r.getAttribute('index') || '') || 0,
3097							n = t.getPageIndex(e);
3098						t.goTo(n);
3099					}
3100				}
3101				function c(t) {
3102					e && s(e, t);
3103				}
3104				function u() {
3105					if (e && t) {
3106						let n = e.getPageIndex(t.getPage()?.slides[0].index || 0);
3107						n > -1 && e.goTo(n, { tween: !1, transition: !1 }), f();
3108					}
3109				}
3110				function d(n, o) {
3111					e && t && (e.filter(o), l());
3112				}
3113				function f() {
3114					if (!t) return;
3115					let n = t.getPage()?.slides[0]?.index || 0;
3116					for (let t of e?.getSlides() || []) t.el?.classList.toggle('is-selected', t.index === n);
3117				}
3118				return {
3119					init: function (t) {
3120						(e = t).on('initSlides', o);
3121					},
3122					destroy: function () {
3123						e?.off('ready', i),
3124							e?.off('refresh', u),
3125							e?.off('change', r),
3126							e?.off('click', s),
3127							e?.getViewport()?.removeEventListener('mouseover', c),
3128							t?.off('change', l),
3129							t?.off('filter', d),
3130							(t = void 0),
3131							e?.off('initSlides', o),
3132							(e = void 0);
3133					},
3134					getTarget: function () {
3135						return t;
3136					},
3137				};
3138			},
3139			eR = { showLoading: !0, preload: 1 },
3140			eP = 'is-lazyloading',
3141			eA = 'is-lazyloaded',
3142			eC = 'has-lazyerror',
3143			eO = () => {
3144				let e;
3145				function t() {
3146					let t = e?.getOptions().Lazyload;
3147					return a(t) ? { ...eR, ...t } : eR;
3148				}
3149				function n() {
3150					if (!e) return;
3151					let n = [...e.getVisibleSlides()],
3152						o = t().preload;
3153					if (o > 0) {
3154						let t = e.getPosition(),
3155							i = e.getViewportDim();
3156						n.push(...e.getVisibleSlides(t + i * o), ...e.getVisibleSlides(t - i * o));
3157					}
3158					for (let o of n)
3159						!(function (n) {
3160							let o = n.el;
3161							if (!o) return;
3162							let i = '[data-lazy-src],[data-lazy-srcset],[data-lazy-bg]',
3163								r = Array.from(o.querySelectorAll(i));
3164							for (let l of (o.matches(i) && r.push(o), r)) {
3165								let o = l.dataset.lazySrc,
3166									i = l.dataset.lazySrcset,
3167									r = l.dataset.lazySizes,
3168									a = l.dataset.lazyBg,
3169									s = (l instanceof HTMLImageElement || l instanceof HTMLSourceElement) && (o || i),
3170									c = l instanceof HTMLElement && a;
3171								if (!(s || c)) continue;
3172								let u = o || i || a;
3173								if (u) {
3174									if (s && u) {
3175										let a = l.parentElement?.classList.contains('f-panzoom__wrapper');
3176										t().showLoading && e?.showLoading(n),
3177											l.addEventListener('load', () => {
3178												e?.hideLoading(n),
3179													b(l, eC),
3180													l instanceof HTMLImageElement
3181														? l
3182																.decode()
3183																.then(() => {
3184																	b(l, eP), v(l, eA);
3185																})
3186																.catch(() => {
3187																	b(l, eP), v(l, eA);
3188																})
3189														: (b(l, eP), v(l, eA)),
3190													a || e?.emit('lazyLoad:loaded', n, l, u);
3191											}),
3192											l.addEventListener('error', () => {
3193												e?.hideLoading(n), b(l, eP), v(l, eC), a || e?.emit('lazyLoad:error', n, l, u);
3194											}),
3195											l.classList.add('f-lazyload'),
3196											l.classList.add(eP),
3197											a || e?.emit('lazyLoad:load', n, l, u),
3198											o && (l.src = o),
3199											i && (l.srcset = i),
3200											r && (l.sizes = r);
3201									} else
3202										c &&
3203											(document.body.contains(l) || (document.createElement('img').src = a),
3204											(l.style.backgroundImage = `url('${a}')`));
3205									delete l.dataset.lazySrc,
3206										delete l.dataset.lazySrcset,
3207										delete l.dataset.lazySizes,
3208										delete l.dataset.lazyBg;
3209								}
3210							}
3211						})(o);
3212				}
3213				return {
3214					init: function (t) {
3215						(e = t).on('render', n);
3216					},
3217					destroy: function () {
3218						e?.off('render', n), (e = void 0);
3219					},
3220				};
3221			},
3222			eI = '<svg width="24" height="24" viewBox="0 0 24 24" tabindex="-1">',
3223			ez = '</svg>',
3224			ek = {
3225				prevTpl: eI + '<path d="M15 3l-9 9 9 9"></path>' + ez,
3226				nextTpl: eI + '<path d="M9 3l9 9-9 9"></path>' + ez,
3227			},
3228			e$ = () => {
3229				let e, t, n;
3230				function o() {
3231					let t = e?.getOptions().Arrows;
3232					return a(t) ? { ...ek, ...t } : ek;
3233				}
3234				function i(t) {
3235					if (!e) return;
3236					let n =
3237							`<button data-carousel-go-${t} tabindex="0" class="f-button is-arrow is-${t}" title="{{${t.toUpperCase()}}}">` +
3238							o()[`${t}Tpl`] +
3239							'</button',
3240						i = u(e.localize(n)) || void 0;
3241					return i && v(i, o()[`${t}Class`]), i;
3242				}
3243				function r() {
3244					t?.remove(),
3245						(t = void 0),
3246						n?.remove(),
3247						(n = void 0),
3248						e?.getContainer()?.classList.remove('has-arrows');
3249				}
3250				function l() {
3251					e && !1 !== e.getOptions().Arrows && e.getPages().length > 1
3252						? (!(function () {
3253								if (!e) return;
3254								let o = e.getViewport();
3255								o &&
3256									(!t && (t = i('prev')) && o.insertAdjacentElement('beforebegin', t),
3257									!n && (n = i('next')) && o.insertAdjacentElement('afterend', n),
3258									E(e.getContainer(), 'has-arrows', !!(t || n)));
3259						  })(),
3260						  e &&
3261								(t?.toggleAttribute('aria-disabled', !e.canGoPrev()),
3262								n?.toggleAttribute('aria-disabled', !e.canGoNext())))
3263						: r();
3264				}
3265				return {
3266					init: function (t) {
3267						e = t.on(['change', 'refresh'], l);
3268					},
3269					destroy: function () {
3270						r(), e?.off(['change', 'refresh'], l), (e = void 0);
3271					},
3272				};
3273			},
3274			eF = '<circle cx="11" cy="11" r="7.5"/><path d="m21 21-4.35-4.35M8 11h6"/>',
3275			e_ = '<g><line x1="11" y1="8" x2="11" y2="14"></line></g>' + eF,
3276			eH = {};
3277		for (let [e, t] of Object.entries({
3278			moveLeft: ['moveLeft', 'MOVE_LEFT', '<path d="M5 12h14M5 12l6 6M5 12l6-6"/>'],
3279			moveRight: ['moveRight', 'MOVE_RIGHT', '<path d="M5 12h14M13 18l6-6M13 6l6 6"/>'],
3280			moveUp: ['moveUp', 'MOVE_UP', '<path d="M12 5v14M18 11l-6-6M6 11l6-6"/>'],
3281			moveDown: ['moveDown', 'MOVE_DOWN', '<path d="M12 5v14M18 13l-6 6M6 13l6 6"/>'],
3282			zoomOut: ['zoomOut', 'ZOOM_OUT', eF],
3283			zoomIn: ['zoomIn', 'ZOOM_IN', e_],
3284			toggleFull: ['toggleFull', 'TOGGLE_FULL', e_],
3285			iterateZoom: ['iterateZoom', 'ITERATE_ZOOM', e_],
3286			toggle1to1: [
3287				'toggleFull',
3288				'TOGGLE_FULL',
3289				'<path d="M3.51 3.07c5.74.02 11.48-.02 17.22.02 1.37.1 2.34 1.64 2.18 3.13 0 4.08.02 8.16 0 12.23-.1 1.54-1.47 2.64-2.79 2.46-5.61-.01-11.24.02-16.86-.01-1.36-.12-2.33-1.65-2.17-3.14 0-4.07-.02-8.16 0-12.23.1-1.36 1.22-2.48 2.42-2.46Z"/><path d="M5.65 8.54h1.49v6.92m8.94-6.92h1.49v6.92M11.5 9.4v.02m0 5.18v0"/>',
3290			],
3291			rotateCCW: [
3292				'rotateCCW',
3293				'ROTATE_CCW',
3294				'<path d="M15 4.55a8 8 0 0 0-6 14.9M9 15v5H4M18.37 7.16v.01M13 19.94v.01M16.84 18.37v.01M19.37 15.1v.01M19.94 11v.01"/>',
3295			],
3296			rotateCW: [
3297				'rotateCW',
3298				'ROTATE_CW',
3299				'<path d="M9 4.55a8 8 0 0 1 6 14.9M15 15v5h5M5.63 7.16v.01M4.06 11v.01M4.63 15.1v.01M7.16 18.37v.01M11 19.94v.01"/>',
3300			],
3301			flipX: ['flipX', 'FLIP_X', '<path d="M12 3v18M16 7v10h5L16 7M8 7v10H3L8 7"/>'],
3302			flipY: ['flipY', 'FLIP_Y', '<path d="M3 12h18M7 16h10L7 21v-5M7 8h10L7 3v5"/>'],
3303			reset: [
3304				'reset',
3305				'RESET',
3306				'<path d="M20 11A8.1 8.1 0 0 0 4.5 9M4 5v4h4M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"/>',
3307			],
3308			toggleFS: [
3309				'toggleFS',
3310				'TOGGLE_FS',
3311				'<g><path d="M14.5 9.5 21 3m0 0h-6m6 0v6M3 21l6.5-6.5M3 21v-6m0 6h6"/></g><g><path d="m14 10 7-7m-7 7h6m-6 0V4M3 21l7-7m0 0v6m0-6H4"/></g>',
3312			],
3313		}))
3314			eH[e] = {
3315				tpl: `<button data-panzoom-action="${t[0]}" class="f-button" title="{{${t[1]}}}"><svg>${t[2]}</svg></button>`,
3316			};
3317		let eD = (((k = {}).Left = 'left'), (k.middle = 'middle'), (k.right = 'right'), k),
3318			eV = {
3319				counter: {
3320					tpl: '<div class="f-counter"><span data-carousel-page></span>/<span data-carousel-pages></span></div>',
3321				},
3322				download: {
3323					tpl: '<button data-carousel-download class="f-button" title="{{DOWNLOAD}}"><svg><path d="M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M7 11l5 5 5-5M12 4v12"/></svg></button>',
3324				},
3325				autoplay: {
3326					tpl: '<button data-autoplay-action="toggle" class="f-button" title="{{TOGGLE_AUTOPLAY}}"><svg><g><path d="M5 3.5 19 12 5 20.5Z"/></g><g><path d="M8 4v15M17 4v15"/></g></svg></button>',
3327				},
3328				thumbs: {
3329					tpl: '<button data-thumbs-action="toggle" class="f-button" title="{{TOGGLE_THUMBS}}"><svg><rect width="18" height="14" x="3" y="3" rx="2"/><path d="M4 21h1M9 21h1M14 21h1M19 21h1"/></svg></button>',
3330				},
3331				...eH,
3332			},
3333			ej = {
3334				absolute: !1,
3335				display: {
3336					left: [],
3337					middle: [
3338						'zoomIn',
3339						'zoomOut',
3340						'toggle1to1',
3341						'rotateCCW',
3342						'rotateCW',
3343						'flipX',
3344						'flipY',
3345						'reset',
3346					],
3347					right: [],
3348				},
3349				enabled: 'auto',
3350				items: {},
3351			},
3352			eq = () => {
3353				let e, t;
3354				function n(t) {
3355					let n = e?.getOptions().Toolbar,
3356						o = (a(n) ? { ...ej, ...n } : ej)[t];
3357					return o && 'function' == typeof o && e ? o(e) : o;
3358				}
3359				function o() {
3360					if (!e?.getOptions().Toolbar || !e || t) return;
3361					let o = e.getContainer();
3362					if (!o) return;
3363					let i = n('enabled');
3364					if (!i) return;
3365					let r = n('absolute'),
3366						l = e.getSlides().length > 1,
3367						c = !1,
3368						d = !1;
3369					for (let t of e.getSlides())
3370						t.panzoomRef && (c = !0), (t.downloadSrc || ('image' === t.type && t.src)) && (d = !0);
3371					let f = e.getPlugins().Thumbs?.isEnabled() || !1,
3372						g = (l && e.getPlugins().Autoplay) || !1,
3373						p =
3374							e.getPlugins().Fullscreen &&
3375							(document.fullscreenEnabled || document.webkitFullscreenEnabled);
3376					if (('auto' === i && (i = c), !i)) return;
3377					(t = o.querySelector('.f-carousel__toolbar') || void 0) ||
3378						v((t = document.createElement('div')), 'f-carousel__toolbar');
3379					let h = n('display'),
3380						y = m({}, eV, n('items'));
3381					for (let n of ['left', 'middle', 'right']) {
3382						let o = h[n] || [],
3383							i = document.createElement('div');
3384						for (let t of (v(i, `f-carousel__toolbar__column is-${n}`), o)) {
3385							let n;
3386							if (s(t)) {
3387								if (
3388									('counter' === t && !l) ||
3389									('autoplay' === t && !g) ||
3390									(eH[t] && !c) ||
3391									('fullscreen' === t && !p) ||
3392									('thumbs' === t && !f) ||
3393									('download' === t && !d)
3394								)
3395									continue;
3396								n = y[t];
3397							}
3398							if ((a(t) && (n = t), n && n.tpl)) {
3399								let t = e.localize(n.tpl),
3400									o = u(
3401										(t = t
3402											.split('<svg>')
3403											.join('<svg tabindex="-1" width="24" height="24" viewBox="0 0 24 24">'))
3404									);
3405								o &&
3406									('function' == typeof n.click &&
3407										e &&
3408										o.addEventListener('click', (t) => {
3409											t.preventDefault(),
3410												t.stopPropagation(),
3411												'function' == typeof n.click && e && n.click(e, t);
3412										}),
3413									i.append(o));
3414							}
3415						}
3416						t.append(i);
3417					}
3418					if (t.childElementCount) {
3419						if ((r && v(t, 'is-absolute'), !t.parentElement)) {
3420							let e = n('parentEl');
3421							e ? e.insertAdjacentElement('afterbegin', t) : o.insertAdjacentElement('afterbegin', t);
3422						}
3423						o.contains(t) && (v(o, 'has-toolbar'), r && v(o, 'has-absolute-toolbar'));
3424					}
3425				}
3426				return {
3427					init: function (t) {
3428						(e = t), e?.on('initSlides', o);
3429					},
3430					destroy: function () {
3431						e?.off('initSlides', o),
3432							b(e?.getContainer(), 'has-toolbar has-absolute-toolbar'),
3433							t?.remove(),
3434							(t = void 0);
3435					},
3436					add: function (e, t) {
3437						eV[e] = t;
3438					},
3439					isEnabled: function () {
3440						return !!t;
3441					},
3442				};
3443			},
3444			eN = { autoStart: !0, pauseOnHover: !0, showProgressbar: !0, timeout: 2e3 },
3445			eB = () => {
3446				let e,
3447					t,
3448					n = !1,
3449					o = !1,
3450					i = !1,
3451					r = null;
3452				function l(t) {
3453					let n = e?.getOptions().Autoplay,
3454						o = (a(n) ? { ...eN, ...n } : eN)[t];
3455					return o && 'function' == typeof o && e ? o(e) : o;
3456				}
3457				function s() {
3458					clearTimeout(t), (t = void 0);
3459				}
3460				function c() {
3461					!e ||
3462						!n ||
3463						i ||
3464						o ||
3465						t ||
3466						!e.isSettled() ||
3467						(function () {
3468							for (let t of e?.getPage()?.slides || []) if (0 === t.state) return !0;
3469							return !1;
3470						})() ||
3471						((function () {
3472							if (!e || (f(), !l('showProgressbar'))) return;
3473							let t = l('progressbarParentEl');
3474							if (
3475								(!t && e.getPlugins().Toolbar?.isEnabled() && (t = e.getContainer()),
3476								!t && e.getPlugins().Toolbar?.isEnabled() !== !0)
3477							) {
3478								let n = e.getPages()[0]?.slides || [],
3479									o = e.getPage()?.slides || [];
3480								1 === n.length && 1 === o.length && (t = o[0].el);
3481							}
3482							if ((t || (t = e.getViewport()), !t)) return;
3483							v((r = document.createElement('div')), 'f-progressbar'), t.prepend(r);
3484							let n = l('timeout') || 1e3;
3485							r.style.animationDuration = `${n}ms`;
3486						})(),
3487						(t = setTimeout(() => {
3488							if (e && n && !o) {
3489								if (!e.isInfinite() && e.getPageIndex() === e.getPages().length - 1) return void e.goTo(0);
3490								e.next();
3491							}
3492						}, l('timeout'))));
3493				}
3494				function u() {
3495					if (!e || e.getPages().length < 2 || !1 === e.getOptions().Autoplay || n) return;
3496					(n = !0),
3497						e.emit('autoplay:start', l('timeout')),
3498						v(e.getContainer(), 'has-autoplay'),
3499						e.getTween()?.on('start', b);
3500					let t = e?.getContainer();
3501					t &&
3502						l('pauseOnHover') &&
3503						matchMedia('(hover: hover)').matches &&
3504						(t.addEventListener('mouseenter', E, !1), t.addEventListener('mouseleave', w, !1)),
3505						e.on('change', h),
3506						e.on('settle', y),
3507						e.on('contentReady', m),
3508						e.on('panzoom:touchStart', d),
3509						e.on('panzoom:wheel', d),
3510						e.isSettled() && c();
3511				}
3512				function d() {
3513					if ((s(), f(), e)) {
3514						if (n) {
3515							e.emit('autoplay:end'), e.getTween()?.off('start', b);
3516							let t = e.getContainer();
3517							t &&
3518								(t.classList.remove('has-autoplay'),
3519								t.removeEventListener('mouseenter', E, !1),
3520								t.removeEventListener('mouseleave', w, !1));
3521						}
3522						e.off('change', h),
3523							e.off('settle', y),
3524							e.off('contentReady', m),
3525							e.off('panzoom:touchStart', d),
3526							e.off('panzoom:wheel', d);
3527					}
3528					(n = !1), (o = !1);
3529				}
3530				function f() {
3531					r && (r.remove(), (r = null));
3532				}
3533				function g() {
3534					e && e.getPages().length > 1 && l('autoStart') && u();
3535				}
3536				function m() {
3537					c();
3538				}
3539				function p(e, t) {
3540					let n = t.target;
3541					n && !t.defaultPrevented && 'toggle' === n.dataset.autoplayAction && x.toggle();
3542				}
3543				function h() {
3544					e && (e?.isInfinite() || e.getPageIndex() !== e.getPages().length - 1) ? (f(), s()) : d();
3545				}
3546				function y() {
3547					c();
3548				}
3549				function b() {
3550					s(), f();
3551				}
3552				function E() {
3553					(i = !0), n && (f(), s());
3554				}
3555				function w() {
3556					(i = !1), n && !o && e?.isSettled() && c();
3557				}
3558				let x = {
3559					init: function (t) {
3560						(e = t).on('ready', g), e.on('click', p);
3561					},
3562					destroy: function () {
3563						d(), e?.off('ready', g), e?.off('click', p), (e = void 0);
3564					},
3565					isEnabled: () => n,
3566					pause: function () {
3567						(o = !0), s();
3568					},
3569					resume: function () {
3570						(o = !1), n && !i && c();
3571					},
3572					start() {
3573						u();
3574					},
3575					stop() {
3576						d();
3577					},
3578					toggle() {
3579						n ? d() : u();
3580					},
3581				};
3582				return x;
3583			},
3584			eW = {
3585				Carousel: { Lazyload: { showLoading: !1 } },
3586				minCount: 2,
3587				showOnStart: !0,
3588				thumbTpl:
3589					'<button aria-label="Slide to #{{page}}"><img draggable="false" alt="{{alt}}" data-lazy-src="{{src}}" /></button>',
3590				type: 'modern',
3591			},
3592			eZ = () => {
3593				let e,
3594					t,
3595					n,
3596					i,
3597					r,
3598					l = 0,
3599					s = 0,
3600					c = !0;
3601				function d(t) {
3602					let n = e?.getOptions().Thumbs,
3603						o = (a(n) ? { ...eW, ...n } : eW)[t];
3604					return o && 'function' == typeof o && e ? o(e) : o;
3605				}
3606				function f() {
3607					if (!e || e?.getOptions().Thumbs === !1) return !1;
3608					let t = 0;
3609					for (let n of e.getSlides()) n.thumbSrc && t++;
3610					return t >= d('minCount');
3611				}
3612				function g() {
3613					return 'modern' === d('type');
3614				}
3615				function p() {
3616					return 'scrollable' === d('type');
3617				}
3618				function y() {
3619					let t = [];
3620					for (let n of e?.getSlides() || [])
3621						t.push({ index: n.index, class: n.thumbClass, html: b(n) });
3622					return t;
3623				}
3624				function b(e) {
3625					let t = e.thumb
3626							? e.thumb instanceof HTMLImageElement
3627								? e.thumb.src
3628								: e.thumb
3629							: e.thumbSrc || void 0,
3630						n = void 0 === e.thumbAlt ? `Thumbnail #${(e.index || 0) + 1}` : e.thumbAlt + '',
3631						o = d('thumbTpl');
3632					return (
3633						(o = ex(o, '{{alt}}', n)),
3634						(o = ex(o, '{{src}}', t + '')),
3635						(o = ex(o, '{{index}}
3635', `${e.index || 0}`)),
3636						(o = ex(o, '{{page}}', `${(e.index || 0) + 1}`))
3637					);
3638				}
3639				function E(e) {
3640					return `<div index="${e.index || 0}" class="f-thumbs__slide ${e.class || ''}">${
3641						e.html || ''
3642					}</div>`;
3643				}
3644				function w(t = !1) {
3645					let o = e?.getContainer();
3646					if (!e || !o || n || !f()) return;
3647					let i = d('Carousel')?.classes || {};
3648					if (((i.container = i.container || 'f-thumbs'), !n)) {
3649						let e = o.nextElementSibling;
3650						e?.classList.contains(i.container) && (n = e);
3651					}
3652					if (!n) {
3653						n = document.createElement('div');
3654						let e = d('parentEl');
3655						e ? e.insertAdjacentElement('beforeend', n) : o.insertAdjacentElement('afterend', n);
3656					}
3657					v(n, i.container), v(n, 'f-thumbs'), v(n, `is-${d('type')}`), t && v(n, 'is-hidden');
3658				}
3659				function x() {
3660					if (!n || !p()) return;
3661					v((i = document.createElement('div')), 'f-thumbs__viewport');
3662					let t = '';
3663					for (let e of y()) 'string' == typeof (e.html || '') && (t += E(e));
3664					(i.innerHTML = t),
3665						n.append(i),
3666						n.addEventListener('click', (t) => {
3667							t.preventDefault();
3668							let n = t.target.closest('[index]'),
3669								o = parseInt(n?.getAttribute('index') || '-1');
3670							e && o > -1 && e.goTo(o);
3671						}),
3672						(r = new IntersectionObserver(
3673							(e) => {
3674								e.forEach((e) => {
3675									e.isIntersecting &&
3676										e.target instanceof HTMLImageElement &&
3677										((e.target.src = e.target.getAttribute('data-lazy-src') + ''),
3678										e.target.removeAttribute('data-lazy-src'),
3679										r?.unobserve(e.target));
3680								});
3681							},
3682							{ root: i, rootMargin: '100px' }
3683						)),
3684						n.querySelectorAll('[data-lazy-src]').forEach((e) => {
3685							r?.observe(e);
3686						}),
3687						e?.emit('thumbs:ready');
3688				}
3689				function M() {
3690					if (!o || !e || !n || p() || t) return;
3691					let i = y();
3692					if (!i.length) return;
3693					let r = m(
3694						{},
3695						{
3696							Sync: { target: e },
3697							Lazyload: { preload: 1 },
3698							slides: i,
3699							classes: { container: 'f-thumbs', viewport: 'f-thumbs__viewport', slide: 'f-thumbs__slide' },
3700							center: !0,
3701							fill: !g(),
3702							infinite: !1,
3703							dragFree: !0,
3704							rtl: e.getOptions().rtl || !1,
3705							slidesPerPage: (e) => {
3706								let t = 0;
3707								return (g() &&
3708									((function () {
3709										if (!g() || !n) return;
3710										let e = (e) =>
3711											(n && parseFloat(getComputedStyle(n).getPropertyValue('--f-thumb-' + e))) || 0;
3712										(l = e('width')), (s = e('clip-width'));
3713									})(),
3714									(t = (l - s) * 4)),
3715								e && e.getTotalSlideDim() <= e.getViewportDim() - t)
3716									? 1 / 0
3717									: 1;
3718							},
3719						},
3720						eW.Carousel || {},
3721						d('Carousel') || {}
3722					);
3723					(t = o(n, r, { Sync: eT, Lazyload: eO })).on('ready', () => {
3724						v(n, 'is-syncing'), e?.emit('thumbs:ready'), g() && e?.on('render', R);
3725					}),
3726						t.on('destroy', () => {
3727							e?.emit('thumbs:destroy');
3728						}),
3729						t.init(),
3730						t.getGestures()?.on('start', () => {
3731							c = !1;
3732						}),
3733						t.on('click', (e, t) => {
3734							let n = t.target;
3735							if (n) {
3736								let e = n.matches('button') ? n : n.firstElementChild;
3737								e && e.matches('button') && (t.preventDefault(), e.focus({ preventScroll: !0 }));
3738							}
3739						}),
3740						v(e.getContainer(), 'has-thumbs'),
3741						k();
3742				}
3743				function L() {
3744					f() && d('showOnStart') && (w(), x());
3745				}
3746				function S() {
3747					f() &&
3748						(M(),
3749						e?.on('addSlide', A),
3750						e?.on('removeSlide', C),
3751						e?.on('click', O),
3752						e?.on('refresh', I),
3753						e?.getGestures()?.on('start', T),
3754						z(!0));
3755				}
3756				function T() {
3757					(c = !0), document.activeElement?.closest('.f-thumbs') && document.activeElement?.blur();
3758				}
3759				function R() {
3760					n?.classList.toggle('is-syncing', e?.hasNavigated() === !1 || e?.getTween()?.isRunning()),
3761						k(),
3762						e?.getGestures()?.isPointerDown() &&
3763							(function () {
3764								if (!g() || !e || !t || !c) return;
3765								let n = t.getTween(),
3766									o = t.getPages(),
3767									i = e.getPageIndex() || 0,
3768									r = e.getPageProgress() || 0;
3769								if (!e || !o || !o[i] || !n) return;
3770								let a = n.isRunning() ? n.getCurrentValues().pos : t.getPosition();
3771								if (void 0 === a) return;
3772								let u = o[i].pos + r * (l - s);
3773								(u = h(o[0].pos, u, o[o.length - 1].pos)), n.from({ pos: a }).to({ pos: u }).start();
3774							})();
3775				}
3776				function P() {
3777					(c = !0), z();
3778				}
3779				function A(e, n) {
3780					let o = { html: b(n) };
3781					if (t) t.add(o, n.index);
3782					else if (i) {
3783						let e = u(E(o));
3784						if (e) {
3785							i.append(e);
3786							let t = e.querySelector('img');
3787							t && r?.observe(t);
3788						}
3789					}
3790				}
3791				function C(e, n) {
3792					t ? t.remove(n.index) : i && i.querySelector(`[index="${n.index}"]`)?.remove();
3793				}
3794				function O(e, t) {
3795					let o = t.target;
3796					!t.defaultPrevented &&
3797						o?.dataset?.thumbsAction === 'toggle' &&
3798						(n || (w(!0), x(), M()), n && n.classList.toggle('is-hidden'));
3799				}
3800				function I() {
3801					z();
3802				}
3803				function z(t = !1) {
3804					if (!e || !i || !p()) return;
3805					let n = e.getPageIndex();
3806					i.querySelectorAll('.is-selected').forEach((e) => {
3807						e.classList.remove('is-selected');
3808					});
3809					let o = i.querySelector(`[index="${n}"]`);
3810					if (o) {
3811						o.classList.add('is-selected');
3812						let e = i.getBoundingClientRect(),
3813							n = o.getBoundingClientRect(),
3814							r = o.offsetTop - i.offsetTop - 0.5 * e.height + 0.5 * n.height,
3815							l = o.scrollLeft - i.scrollLeft - 0.5 * e.width + 0.5 * n.width;
3816						i.scrollTo({ top: r, left: l, behavior: t ? 'instant' : 'smooth' });
3817					}
3818				}
3819				function k() {
3820					if (!g() || !e || !t) return;
3821					let n = t?.getSlides() || [],
3822						o = -0.5 * l;
3823					for (let t of n) {
3824						let n = t.el;
3825						if (!n) continue;
3826						let i = e.getPageProgress(t.index) || 0;
3827						(i = Math.max(-1, Math.min(1, i))) > -1 && i < 1 && (o += 0.5 * l * (1 - Math.abs(i))),
3828							(i = Math.round(1e4 * i) / 1e4),
3829							(o = Math.round(1e4 * o) / 1e4),
3830							n.style.setProperty('--progress', `${Math.abs(i)}`),
3831							n.style.setProperty('--shift', `${e?.isRTL() ? -1 * o : o}px`),
3832							i > -1 && i < 1 && (o += 0.5 * l * (1 - Math.abs(i)));
3833					}
3834				}
3835				return {
3836					init: function (t, n) {
3837						(o = n), (e = t).on('ready', S), e.on('initSlides', L), e.on('change', P);
3838					},
3839					destroy: function () {
3840						p() && e?.emit('thumbs:destroy'),
3841							e?.off('ready', S),
3842							e?.off('initSlides', L),
3843							e?.off('change', P),
3844							e?.off('render', R),
3845							e?.off('addSlide', A),
3846							e?.off('click', O),
3847							e?.off('refresh', I),
3848							e?.getGestures()?.off('start', T),
3849							e?.getContainer()?.classList.remove('has-thumbs'),
3850							(e = void 0),
3851							t?.destroy(),
3852							(t = void 0),
3853							n?.remove(),
3854							(n = void 0);
3855					},
3856					getCarousel: function () {
3857						return t;
3858					},
3859					getContainer: function () {
3860						return n;
3861					},
3862					getType: function () {
3863						return d('type');
3864					},
3865					isEnabled: f,
3866				};
3867			},
3868			eG = {
3869				autosize: !1,
3870				iframeAttr: { allow: 'autoplay; fullscreen', scrolling: 'auto' },
3871				preload: !1,
3872			},
3873			eU = () => {
3874				let e;
3875				function t() {
3876					let t = e?.getOptions().Html;
3877					return a(t) ? { ...eG, ...t } : eG;
3878				}
3879				function n(e, n) {
3880					let o = e[n];
3881					return void 0 === o && (o = t()[n]), 'true' === o || ('false' !== o && o);
3882				}
3883				function o(e, t) {
3884					let n = t.type,
3885						o = t.src;
3886					if (!n && s(o)) {
3887						if (
3888							('#' === o.charAt(0)
3889								? (n = 'inline')
3890								: o.match(
3891										/(^data:image\/[a-z0-9+\/=]*,)|(\.((a)?png|avif|gif|jp(g|eg)|pjp(eg)?|jfif|svg|webp|bmp|
3891ico|tif(f)?)((\?|#).*)?$)/i
3892								  )
3893								? (n = 'image')
3894								: o.match(/\.(pdf)((\?|#).*)?$/i)
3895								? (n = 'pdf')
3896								: o.match(/\.(html|php)((\?|#).*)?$/i) && (n = 'iframe'),
3897							!n)
3898						) {
3899							let e = o.match(
3900								/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:(?:(?:maps\/(?:place\/(?:.*)\/)?\@(.*),(\d+.?\d+?)z))|(?:\?ll=))(.*)?/i
3901							);
3902							e &&
3903								((o = `https://maps.google.${e[1]}/?ll=${(e[2]
3904									? e[2] + '&z=' + Math.floor(parseFloat(e[3])) + (e[4] ? e[4].replace(/^\//, '&') : '')
3905									: e[4] + ''
3906								).replace(/\?/, '&')}&output=${e[4] && e[4].indexOf('layer=c') > 0 ? 'svembed' : 'embed'}`),
3907								(n = 'gmap'));
3908						}
3909						if (!n) {
3910							let e = o.match(/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:maps\/search\/)(.*)/i);
3911							e &&
3912								((o = `https://maps.google.${e[1]}/maps?q=${e[2]
3913									.replace('query=', 'q=')
3914									.replace('api=1', '')}&output=embed`),
3915								(n = 'gmap'));
3916						}
3917						n && ((t.src = o), (t.type = n));
3918					}
3919				}
3920				function i(o, i) {
3921					('iframe' === i.type || 'pdf' === i.type || 'gmap' === i.type) &&
3922						(function (o) {
3923							let i = o.el,
3924								r = o.src;
3925							if (!e || !i || !r) return;
3926							let l = document.createElement('iframe');
3927							for (let [e, n] of (v(l, 'f-iframe'), Object.entries(t().iframeAttr || {})))
3928								l.setAttribute(e, n);
3929							l.onerror = () => {
3930								(o.state = 2), e?.showError(o, '{{IFRAME_ERROR}}');
3931							};
3932							let a = document.createElement('div');
3933							if ((v(a, 'f-html'), a.append(l), o.width)) {
3934								let e = `${o.width}`;
3935								e.match(/^\d+$/) && (e += 'px'), (a.style.maxWidth = `${e}`);
3936							}
3937							if (o.height) {
3938								let e = `${o.height}`;
3939								e.match(/^\d+$/) && (e += 'px'), (a.style.maxHeight = `${e}`);
3940							}
3941							if (o.aspectRatio) {
3942								let e = i.getBoundingClientRect();
3943								(a.style.aspectRatio = `${o.aspectRatio}`),
3944									(a.style[e.width > e.height ? 'width' : 'height'] = 'auto'),
3945									(a.style[e.width > e.height ? 'maxWidth' : 'maxHeight'] = 'none');
3946							}
3947							(o.htmlEl = a), (o.contentEl = l), v(i, `has-html has-iframe has-${o.type}`), i.prepend(a);
3948							let s = n(o, 'preload'),
3949								c = n(o, 'autosize');
3950							'iframe' === o.type && (s || c)
3951								? ((o.state = 0),
3952								  e.showLoading(o),
3953								  v(i, 'is-loading'),
3954								  (l.onload = () => {
3955										if (!e || 1 !== e.getState() || !l.src.length) return;
3956										o.state = 1;
3957										let t = 'true' !== l.dataset.ready;
3958										(l.dataset.ready = 'true'),
3959											(function (e) {
3960												let t = e.contentEl,
3961													o = t?.parentElement,
3962													i = o?.style,
3963													r = n(e, 'autosize'),
3964													l = e.width || 0,
3965													a = e.height || 0;
3966												if ((l && a && (r = !1), t && o && i && r)) {
3967													try {
3968														let e = window.getComputedStyle(o),
3969															n = parseFloat(e.paddingLeft) + parseFloat(e.paddingRight),
3970															r = parseFloat(e.paddingTop) + parseFloat(e.paddingBottom),
3971															s = t.contentWindow;
3972														if (s) {
3973															let e = s.document,
3974																t = e.getElementsByTagName('html')[0],
3975																o = e.body;
3976															i.width = '';
3977															let c = window.getComputedStyle(o),
3978																u = parseFloat(c.marginLeft) + parseFloat(c.marginRight),
3979																d = o.style.overflow || '';
3980															(o.style.overflow = 'hidden'),
3981																(l = l || o.scrollWidth + u + n),
3982																(i.flex = '0 0 auto'),
3983																(i.width = `${l}px`),
3984																(i.height = `${o.scrollHeight}px`),
3985																(o.style.overflow = d),
3986																(a = Math.max(t.scrollHeight, Math.ceil(t.getBoundingClientRect().height)) + r);
3987														}
3988													} catch (e) {}
3989													if (l || a) {
3990														let e = { flex: '0 1 auto', width: '', height: '' };
3991														l && 'auto' !== l && (e.width = `${l}px`),
3992															a && 'auto' !== a && (e.height = `${a}px`),
3993															Object.assign(i, e);
3994													}
3995												}
3996											})(o),
3997											e.hideLoading(o),
3998											t && e.emit('contentReady', o),
3999											b(i, 'is-loading');
4000								  }),
4001								  (l.src = `${r}`))
4002								: ((l.src = `${r}`), e.emit('contentReady', o));
4003						})(i);
4004				}
4005				function r(t, n) {
4006					('iframe' === n.type || 'pdf' === n.type || 'gmap' === n.type) &&
4007						(e?.hideError(n),
4008						n.contentEl?.remove(),
4009						(n.contentEl = void 0),
4010						n.htmlEl?.remove(),
4011						(n.htmlEl = void 0));
4012				}
4013				return {
4014					init: function (t) {
4015						(e = t).on('addSlide', o), e.on('attachSlideEl', i), e.on('detachSlideEl', r);
4016					},
4017					destroy: function () {
4018						e?.off('addSlide', o), e?.off('attachSlideEl', i), e?.off('detachSlideEl', r), (e = void 0);
4019					},
4020				};
4021			},
4022			eX = (e, t = {}) => {
4023				let n = new URLSearchParams(new URL(e).search),
4024					o = new URLSearchParams();
4025				for (let [e, i] of [...n, ...Object.entries(t)]) {
4026					let t = i + '';
4027					if ('t' === e) {
4028						let e = t.match(/((\d*)m)?(\d*)s?/);
4029						e && o.set('start', 60 * parseInt(e[2] || '0') + parseInt(e[3] || '0') + '');
4030					} else o.set(e, t);
4031				}
4032				let i = o + '',
4033					r = e.match(/#t=((.*)?\d+s)/);
4034				return r && (i += `#t=${r[1]}`), i;
4035			},
4036			eY = {
4037				autoplay: !1,
4038				html5videoTpl: `<video class="f-html5video" playsinline controls controlsList="nodownload" poster="{{poster}}">
4039    <source src="{{src}}" type="{{format}}" />Sorry, your browser doesn't support embedded videos.</video>`,
4040				iframeAttr: {
4041					allow: 'autoplay; fullscreen',
4042					scrolling: 'no',
4043					referrerPolicy: 'strict-origin-when-cross-origin',
4044					credentialless: '',
4045				},
4046				vimeo: { byline: 1, color: '00adef', controls: 1, dnt: 1, muted: 0 },
4047				youtube: { controls: 1, enablejsapi: 1, nocookie: 1, rel: 0, fs: 1 },
4048			},
4049			eK = () => {
4050				let e,
4051					t = !1;
4052				function n() {
4053					let t = e?.getOptions().Video;
4054					return a(t) ? { ...eY, ...t } : eY;
4055				}
4056				function o() {
4057					return e?.getPage()?.slides[0];
4058				}
4059				let i = (t) => {
4060					try {
4061						let n = JSON.parse(t.data);
4062						if ('https://player.vimeo.com' === t.origin) {
4063							if ('ready' === n.event)
4064								for (let n of Array.from(e?.getContainer()?.getElementsByClassName('f-iframe') || []))
4065									n instanceof HTMLIFrameElement &&
4066										n.contentWindow === t.source &&
4067										(n.dataset.ready = 'true');
4068						} else if (
4069							t.origin.match(/^https:\/\/(www.)?youtube(-nocookie)?.com$/) &&
4070							'onReady' === n.event
4071						) {
4072							let e = document.getElementById(n.id);
4073							e && (e.dataset.ready = 'true');
4074						}
4075					} catch (e) {}
4076				};
4077				function r(e, t) {
4078					let o = t.src;
4079					if (!s(o)) return;
4080					let i = t.type;
4081					if (!i || 'html5video' === i) {
4082						let e = o.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i);
4083						e &&
4084							((i = 'html5video'),
4085							(t.html5videoFormat = t.html5videoFormat || 'video/' + ('ogv' === e[1] ? 'ogg' : e[1])));
4086					}
4087					if (!i || 'youtube' === i) {
4088						let e = o.match(
4089							/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(?:watch\?(?:.*&)?v=|v\/|u\/|shorts\/|embed\/?)?(videoseries\?list=(?:.*)|[\w-]{11}|\?listType=(?:.*)&list=(?:.*))(?:.*)/i
4090						);
4091						if (e) {
4092							let r = { ...n().youtube, ...(t.youtube || {}) },
4093								l = `www.youtube${r.nocookie ? '-nocookie' : ''}.com`,
4094								a = eX(o, r),
4095								s = encodeURIComponent(e[2]);
4096							(t.videoId = s),
4097								(t.src = `https://${l}/embed/${s}?${a}`),
4098								(t.thumb = t.thumb || `https://i.ytimg.com/vi/${s}/mqdefault.jpg`),
4099								(i = 'youtube');
4100						}
4101					}
4102					if (!i || 'vimeo' === i) {
4103						let e = o.match(/^.+vimeo.com\/(?:\/)?(video\/)?([\d]+)((\/|\?h=)([a-z0-9]+))?(.*)?/);
4104						if (e) {
4105							let r = eX(o, { ...n().vimeo, ...(t.vimeo || {}) }),
4106								l = encodeURIComponent(e[2]),
4107								a = e[5] || '';
4108							(t.videoId = l),
4109								(t.src = `https://player.vimeo.com/video/${l}?${a ? `h=${a}${r ? '&' : ''}` : ''}${r}`),
4110								(i = 'vimeo');
4111						}
4112					}
4113					t.type = i;
4114				}
4115				function l(t, o) {
4116					'html5video' === o.type &&
4117						(function (t) {
4118							let o = t.el,
4119								i = t.src;
4120							if (!e || !o || !i) return;
4121							let r = t.html5videoTpl || n().html5videoTpl,
4122								l = t.html5videoFormat || n().html5videoFormat;
4123							if (!r) return;
4124							let a = t.poster || (t.thumb && s(t.thumb) ? t.thumb : ''),
4125								c = u(
4126									r
4127										.replace(/\{\{src\}\}/gi, i + '')
4128										.replace(/\{\{format\}\}/gi, l || '')
4129										.replace(/\{\{poster\}\}/gi, a + '')
4130								);
4131							if (!c) return;
4132							let d = document.createElement('div');
4133							v(d, 'f-html'),
4134								d.append(c),
4135								(t.contentEl = c),
4136								(t.htmlEl = d),
4137								v(o, `has-${t.type}`),
4138								o.prepend(d),
4139								g(t),
4140								e.emit('contentReady', t);
4141						})(o),
4142						('youtube' === o.type || 'vimeo' === o.type) &&
4143							(function (t) {
4144								let o = t.el,
4145									i = t.src;
4146								if (!e || !o || !i) return;
4147								let r = document.createElement('iframe');
4148								for (let [e, o] of (v(r, 'f-iframe'),
4149								r.setAttribute('id', `f-iframe_${t.videoId}`),
4150								Object.entries(n().iframeAttr || {})))
4151									r.setAttribute(e, o);
4152								'youtube' === t.type &&
4153									(r.onload = () => {
4154										e?.getState() === 1 &&
4155											r.contentWindow?.postMessage(
4156												JSON.stringify({ event: 'listening', id: r.getAttribute('id') }),
4157												'*'
4158											);
4159									}),
4160									(r.onerror = () => {
4161										e?.showError(t, '{{IFRAME_ERROR}}');
4162									});
4163								let l = document.createElement('div');
4164								v(l, 'f-html'),
4165									l.append(r),
4166									(t.contentEl = r),
4167									(t.htmlEl = l),
4168									v(o, `has-html has-iframe has-${t.type}`),
4169									(r.src = `${t.src}`),
4170									o.prepend(l),
4171									g(t),
4172									e.emit('contentReady', t);
4173							})(o);
4174				}
4175				function c(e, t) {
4176					('html5video' === t.type || 'youtube' === t.type || 'vimeo' === t.type) &&
4177						(t.contentEl?.remove(), (t.contentEl = void 0), t.htmlEl?.remove(), (t.htmlEl = void 0)),
4178						t.poller && clearTimeout(t.poller);
4179				}
4180				function d() {
4181					t = !1;
4182				}
4183				function f() {
4184					if (t) return;
4185					t = !0;
4186					let e = o();
4187					(e && void 0 !== e.autoplay ? e.autoplay : n().autoplay) &&
4188						(!(function () {
4189							let e = o(),
4190								t = e?.el;
4191							if (t && e?.type === 'html5video')
4192								try {
4193									let e = t.querySelector('video');
4194									if (e) {
4195										let t = e.play();
4196										void 0 !== t &&
4197											t
4198												.then(() => {})
4199												.catch((t) => {
4200													(e.muted = !0), e.play();
4201												});
4202									}
4203								} catch (e) {}
4204							let n = e?.htmlEl;
4205							n instanceof HTMLIFrameElement &&
4206								n.contentWindow?.postMessage('{"event":"command","func":"stopVideo","args":""}', '*');
4207						})(),
4208						(function () {
4209							let e = o(),
4210								t = e?.type;
4211							if (!(e?.el && ('youtube' === t || 'vimeo' === t))) return;
4212							let n = () => {
4213								if (e.contentEl && e.contentEl instanceof HTMLIFrameElement && e.contentEl.contentWindow) {
4214									let t;
4215									if ('true' === e.contentEl.dataset.ready) {
4216										(t =
4217											'youtube' === e.type
4218												? { event: 'command', func: 'playVideo' }
4219												: { method: 'play', value: 'true' }) &&
4220											e.contentEl.contentWindow.postMessage(JSON.stringify(t), '*'),
4221											(e.poller = void 0);
4222										return;
4223									}
4224									'youtube' === e.type &&
4225										((t = { event: 'listening', id: e.contentEl.getAttribute('id') }),
4226										e.contentEl.contentWindow.postMessage(JSON.stringify(t), '*'));
4227								}
4228								e.poller = setTimeout(n, 250);
4229							};
4230							n();
4231						})());
4232				}
4233				function g(e) {
4234					let t = e?.htmlEl;
4235					if (e && t && ('html5video' === e.type || 'youtube' === e.type || 'vimeo' === e.type)) {
4236						if (
4237							((t.style.aspectRatio = ''),
4238							(t.style.width = ''),
4239							(t.style.height = ''),
4240							(t.style.maxWidth = ''),
4241							(t.style.maxHeight = ''),
4242							e.width)
4243						) {
4244							let n = `${e.width}`;
4245							n.match(/^\d+$/) && (n += 'px'), (t.style.maxWidth = `${n}`);
4246						}
4247						if (e.height) {
4248							let n = `${e.height}`;
4249							n.match(/^\d+$/) && (n += 'px'), (t.style.maxHeight = `${n}`);
4250						}
4251						if (e.aspectRatio) {
4252							let n = e.aspectRatio.split('/'),
4253								o = parseFloat(n[0].trim()),
4254								i = n[1] ? parseFloat(n[1].trim()) : 0;
4255							t.offsetHeight;
4256							let r = t.getBoundingClientRect(),
4257								l = (o && i ? o / i : o) < (r.width || 1) / (r.height || 1);
4258							(t.style.aspectRatio = `${e.aspectRatio}`),
4259								(t.style.width = l ? 'auto' : ''),
4260								(t.style.height = l ? '' : 'auto');
4261						}
4262					}
4263				}
4264				function m() {
4265					g(o());
4266				}
4267				return {
4268					init: function (t) {
4269						(e = t).on('addSlide', r),
4270							e.on('attachSlideEl', l),
4271							e.on('detachSlideEl', c),
4272							e.on('ready', f),
4273							e.on('change', d),
4274							e.on('settle', f),
4275							e.on('refresh', m),
4276							window.addEventListener('message', i);
4277					},
4278					destroy: function () {
4279						e?.off('addSlide', r),
4280							e?.off('attachSlideEl', l),
4281							e?.off('detachSlideEl', c),
4282							e?.off('ready', f),
4283							e?.off('change', d),
4284							e?.off('settle', f),
4285							e?.off('refresh', m),
4286							window.removeEventListener('message', i),
4287							(e = void 0);
4288					},
4289				};
4290			},
4291			eJ = {
4292				autoStart: !1,
4293				btnTpl:
4294					'<button data-fullscreen-action="toggle" class="f-button" title="{{TOGGLE_FULLSCREEN}}"><svg><g><path d="M8 3H5a2 2 0 0 0-2 2v3M21 8V5a2 2 0 0 0-2-2h-3M3 16v3a2 2 0 0 0 2 2h3M16 21h3a2 2 0 0 0 2-2v-3"/></g><g><path d="M15 19v-2a2 2 0 0 1 2-2h2M15 5v2a2 2 0 0 0 2 2h2M5 15h2a2 2 0 0 1 2 2v2M5 9h2a2 2 0 0 0 2-2V5"/></g></svg></button>',
4295			},
4296			eQ = 'in-fullscreen-mode',
4297			e0 = () => {
4298				let e;
4299				function t(t) {
4300					let n = e?.getOptions().Fullscreen,
4301						o = (a(n) ? { ...eJ, ...n } : eJ)[t];
4302					return o && 'function' == typeof o && e ? o(e) : o;
4303				}
4304				function n() {
4305					e?.getPlugins().Toolbar?.add('fullscreen', { tpl: t('btnTpl') });
4306				}
4307				function o() {
4308					if (t('autoStart')) {
4309						let e = r();
4310						e && s(e);
4311					}
4312				}
4313				function i(e, t) {
4314					let n = t.target;
4315					n && !t.defaultPrevented && 'toggle' === n.dataset.fullscreenAction && u();
4316				}
4317				function r() {
4318					return t('el') || e?.getContainer() || void 0;
4319				}
4320				function l() {
4321					let e = document;
4322					return e.fullscreenEnabled
4323						? !!e.fullscreenElement
4324						: !!e.webkitFullscreenEnabled && !!e.webkitFullscreenElement;
4325				}
4326				function s(e) {
4327					let t,
4328						n = document;
4329					return (
4330						e || (e = n.documentElement),
4331						n.fullscreenEnabled
4332							? (t = e.requestFullscreen())
4333							: n.webkitFullscreenEnabled && (t = e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)),
4334						t &&
4335							t.then(() => {
4336								e.classList.add(eQ);
4337							}),
4338						t
4339					);
4340				}
4341				function c() {
4342					let e,
4343						t = document;
4344					return (
4345						t.fullscreenEnabled
4346							? (e = t.fullscreenElement && t.exitFullscreen())
4347							: t.webkitFullscreenEnabled && (e = t.webkitFullscreenElement && t.webkitExitFullscreen()),
4348						e &&
4349							e.then(() => {
4350								r()?.classList.remove(eQ);
4351							}),
4352						e
4353					);
4354				}
4355				function u() {
4356					if (l()) c();
4357					else {
4358						let e = r();
4359						e && s(e);
4360					}
4361				}
4362				return {
4363					init: function (t) {
4364						(e = t).on('initPlugins', n), e.on('ready', o), e.on('click', i);
4365					},
4366					destroy: function () {
4367						e?.off('initPlugins', n), e?.off('ready', o), e?.off('click', i);
4368					},
4369					exit: c,
4370					inFullscreen: l,
4371					request: s,
4372					toggle: u,
4373				};
4374			},
4375			e1 = !1,
4376			e2 = !1,
4377			e5 = !1,
4378			e4 = !1,
4379			e3 = () => {
4380				let e = new URL(document.URL).hash,
4381					t = e.slice(1).split('-'),
4382					n = t[t.length - 1],
4383					o = (n && /^\+?\d+$/.test(n) && parseInt(t.pop() || '1', 10)) || 1;
4384				return { urlHash: e, urlSlug: t.join('-'), urlIndex: o };
4385			},
4386			e6 = () => {
4387				let e = i?.getInstance(),
4388					t = e?.getState();
4389				return !!e && (0 === t || 1 === t);
4390			},
4391			e7 = () => {
4392				if (!i || e6()) return;
4393				let { urlSlug: e, urlIndex: t } = e3();
4394				if (!e) return;
4395				let n = document.querySelector(`[data-slug="${e}"]`);
4396				n && i.fromTriggerEl(n),
4397					!e6() &&
4398						(n = document.querySelectorAll(`[data-fancybox="${e}"]`)[t - 1]) &&
4399						i.fromTriggerEl(n, { startIndex: t - 1 }),
4400					e6() &&
4401						n &&
4402						!n.closest('[inert]') &&
4403						n.scrollIntoView({ behavior: 'instant', block: 'center', inline: 'center' });
4404			},
4405			e9 = (e) => {
4406				let t = e.getOptions().Hash,
4407					n = e.getSlide();
4408				return (n && (n.slug || n.fancybox || (a(t) ? t.slug : ''))) || '';
4409			},
4410			e8 = (e) => {
4411				let t = e9(e),
4412					n = e.getSlide();
4413				if (!n || !t) return '';
4414				let o = parseInt(n.index + '', 10) + 1,
4415					i = n.slug ? `#${n.slug}` : `#${t}-${o}`;
4416				return 2 > (e.getCarousel()?.getPages()?.length || 0) && (i = `#${t}`), i;
4417			},
4418			te = () => {
4419				if (!i || e5) return;
4420				let e = i?.getInstance(),
4421					t = e?.getCarousel(),
4422					{ urlSlug: n, urlIndex: o } = e3(),
4423					r = e?.getOptions().Hash;
4424				if (!1 !== r) {
4425					if (e && 1 === e.getState() && t) {
4426						for (let e of t.getSlides() || [])
4427							if (e.slug === n || ((e.fancybox === n || (a(r) && r.slug === n)) && e.index === o - 1)) {
4428								(e2 = !1), t.goTo(e.index);
4429								return;
4430							}
4431						(e4 = !0), e.close(), (e4 = !1);
4432					}
4433					e7();
4434				}
4435			},
4436			tt = () => {
4437				i &&
4438					((r = setTimeout(() => {
4439						(e1 = !0), e7(), (e1 = !1);
4440					}, 300)),
4441					window.addEventListener('hashchange', te, !1));
4442			};
4443		function tn() {
4444			history.scrollRestoration && l && ((history.scrollRestoration = l), (l = void 0));
4445		}
4446		let to = () => {
4447			let e,
4448				t = '';
4449			function n() {
4450				if (!e || !e.isTopMost() || !1 === e.getOptions().Hash) return;
4451				if (e1) {
4452					let t = e.getOptions().sync;
4453					t && t.goTo(e?.getCarousel()?.getPageIndex() || 0, { transition: !1, tween: !1 });
4454				}
4455				let n = e.getCarousel();
4456				if (!n || !e.getSlide()) return;
4457				let i = e9(e);
4458				if (!i) return;
4459				let { urlHash: r, urlSlug: a } = e3(),
4460					s = e8(e);
4461				r !== s && (t = r),
4462					history.scrollRestoration &&
4463						!l &&
4464						((l = history.scrollRestoration),
4465						(history.scrollRestoration = 'manual'),
4466						window.addEventListener('beforeunload', tn)),
4467					n.on('change', o);
4468				let c = i !== a;
4469				try {
4470					window.history[c ? 'pushState' : 'replaceState'](
4471						{},
4472						document.title,
4473						window.location.pathname + window.location.search + s
4474					),
4475						c && (e2 = !0);
4476				} catch (e) {}
4477			}
4478			function o() {
4479				if (!e || !e.isTopMost() || !1 === e.getOptions().Hash || !e.getSlide() || !e9(e)) return;
4480				let t = e8(e);
4481				e5 = !0;
4482				try {
4483					window.history.replaceState(
4484						{},
4485						document.title,
4486						window.location.pathname + window.location.search + t
4487					);
4488				} catch (e) {}
4489				e5 = !1;
4490			}
4491			function a() {
4492				if (e && e.isTopMost() && !1 !== e.getOptions().Hash && !e4 && e9(e)) {
4493					e5 = !0;
4494					try {
4495						e2 &&
4496						!(function () {
4497							if (window.parent === window) return !1;
4498							try {
4499								var e = window.frameElement;
4500							} catch (t) {
4501								e = null;
4502							}
4503							return null === e ? 'data:' === location.protocol : e.hasAttribute('sandbox');
4504						})() &&
4505						document.activeElement?.nodeName !== 'IFRAME'
4506							? window.history.back()
4507							: window.history.replaceState(
4508									{},
4509									document.title,
4510									window.location.pathname + window.location.search + t
4511							  );
4512					} catch (e) {}
4513					e5 = !1;
4514				}
4515			}
4516			return {
4517				init: function (t) {
4518					clearTimeout(r), (e = t).on('ready', n), e.on('close', a);
4519				},
4520				destroy: function () {
4521					e?.off('ready', n), e?.off('close', a);
4522					let t = e?.getCarousel();
4523					t && t.off('change', o),
4524						(e = void 0),
4525						i?.getInstance() || (tn(), window.removeEventListener('beforeunload', tn));
4526				},
4527			};
4528		};
4529		(to.getInfoFromURL = e3),
4530			(to.startFromUrl = e7),
4531			(to.setup = function (e) {
4532				!i &&
4533					((i = e),
4534					p() &&
4535						(/complete|interactive|loaded/.test(document.readyState)
4536							? tt()
4537							: document.addEventListener('DOMContentLoaded', tt)));
4538			});
4539		let ti = {
4540				...ep,
4541				CLOSE: 'Close',
4542				NEXT: 'Next',
4543				PREV: 'Previous',
4544				MODAL: 'You can close this modal content with the ESC key',
4545				ELEMENT_NOT_FOUND: 'HTML Element Not Found',
4546				IFRAME_ERROR: 'Error Loading Page',
4547				NO_CAPTION: 'No Caption',
4548				TOGGLE_SIDEBAR: 'Toggle sidebar',
4549			},
4550			tr =
4551				'<button class="f-button" title="{{CLOSE}}" data-fancybox-close><svg tabindex="-1" width="24" height="24" viewBox="0 0 24 24"><path d="M19.286 4.714 4.714 19.286M4.714 4.714l14.572 14.572" /></svg></button>';
4552		eq().add('close', { tpl: tr });
4553		let tl = (e) => {
4554				e.cancelable && e.preventDefault();
4555			},
4556			ta = (e = null, t = '', n) => {
4557				if (!e || !e.parentElement || !t) {
4558					n && n();
4559					return;
4560				}
4561				ts(e);
4562				let o = (i) => {
4563					i.target === e &&
4564						e.dataset.animationName &&
4565						(e.removeEventListener('animationend', o),
4566						delete e.dataset.animationName,
4567						n && n(),
4568						e.classList.remove(t));
4569				};
4570				(e.dataset.animationName = t), e.addEventListener('animationend', o), v(e, t);
4571			},
4572			ts = (e) => {
4573				e &&
4574					e.dispatchEvent(
4575						new CustomEvent('animationend', { bubbles: !1, cancelable: !0, currentTarget: e })
4576					);
4577			},
4578			tc =
4579				((($ = {})[($.Init = 0)] = 'Init'),
4580				($[($.Ready = 1)] = 'Ready'),
4581				($[($.Closing = 2)] = 'Closing'),
4582				($[($.Destroyed = 3)] = 'Destroyed'),
4583				$),
4584			tu = {
4585				ajax: null,
4586				backdropClick: 'close',
4587				Carousel: {},
4588				closeButton: 'auto',
4589				closeButtonTpl: tr,
4590				closeExisting: !1,
4591				delegateEl: void 0,
4592				dragToClose: !0,
4593				fadeEffect: !0,
4594				groupAll: !1,
4595				groupAttr: 'data-fancybox',
4596				hideClass: 'f-fadeOut',
4597				hideScrollbar: !0,
4598				id: void 0,
4599				idle: !1,
4600				keyboard: {
4601					Escape: 'close',
4602					Delete: 'close',
4603					Backspace: 'close',
4604					PageUp: 'next',
4605					PageDown: 'prev',
4606					ArrowUp: 'prev',
4607					ArrowDown: 'next',
4608					ArrowRight: 'next',
4609					ArrowLeft: 'prev',
4610				},
4611				l10n: ti,
4612				mainClass: '',
4613				mainStyle: {},
4614				mainTpl: `<dialog class="fancybox__dialog">
4615    <div class="fancybox__container" tabindex="0" aria-label="{{MODAL}}">
4616      <div class="fancybox__backdrop"></div>
4617      <div class="fancybox__carousel"></div>
4618    </div>
4619  </dialog>`,
4620				modal: !0,
4621				on: {},
4622				parentEl: void 0,
4623				placeFocusBack: !0,
4624				showClass: 'f-zoomInUp',
4625				startIndex: 0,
4626				sync: void 0,
4627				theme: 'dark',
4628				triggerEl: void 0,
4629				triggerEvent: void 0,
4630				zoomEffect: !0,
4631			},
4632			td = new Map(),
4633			tf = 0,
4634			tg = 'with-fancybox';
4635		function tm() {
4636			for (let e of Object.values(th.Plugins)) {
4637				let t = e.setup;
4638				'function' == typeof t && t(th);
4639			}
4640		}
4641		function tp(e, t = {}) {
4642			let n, o, i, r;
4643			if (!(e && e instanceof Element)) return;
4644			let l = {};
4645			for (let [t, a] of th.openers)
4646				if (t.contains(e))
4647					for (let [s, c] of a) {
4648						let a;
4649						if (s) {
4650							for (let n of t.querySelectorAll(s))
4651								if (n.contains(e)) {
4652									a = n;
4653									break;
4654								}
4655							if (!a) continue;
4656						}
4657						for (let [s, u] of c) {
4658							let c = null;
4659							try {
4660								c = e.closest(s);
4661							} catch (e) {}
4662							c && ((o = t), (i = a), (n = c), (r = s), m(l, u || {}));
4663						}
4664					}
4665			if (!o || !r || !n) return;
4666			let a = m({}, tu, t, l, { triggerEl: n }),
4667				s = [].slice.call((i || o).querySelectorAll(r)),
4668				c = n.closest('.f-carousel'),
4669				u = c?.carousel;
4670			if (u && !(i && c.contains(i))) {
4671				let e = [];
4672				for (let t of u?.getSlides()) {
4673					let n = t.el;
4674					n && (n.matches(r) ? e.push(n) : e.push(...[].slice.call(n.querySelectorAll(r))));
4675				}
4676				e.length &&
4677					((s = [...e]),
4678					u.getPlugins().Autoplay?.pause(),
4679					u.getPlugins().Autoscroll?.pause(),
4680					(a.sync = u));
4681			}
4682			if (!1 === a.groupAll) {
4683				let e = a.groupAttr,
4684					t = e && n ? n.getAttribute(`${e}`) : '';
4685				s = e && t ? s.filter((n) => n.getAttribute(`${e}`) === t) : [n];
4686			}
4687			if (!s.length) return;
4688			a.triggerEvent?.preventDefault();
4689			let d = th.getInstance(),
4690				f = d?.getState();
4691			if (d && (f === tc.Init || f === tc.Ready)) {
4692				let e = d.getOptions().triggerEl;
4693				if (e && s.indexOf(e) > -1) return;
4694			}
4695			return (
4696				{ ...(a.Carousel || {}) }.rtl && (s = s.reverse()),
4697				n && void 0 === t.startIndex && (a.startIndex = s.indexOf(n)),
4698				th.fromNodes(s, a)
4699			);
4700		}
4701		let th = {
4702			Plugins: { Hash: to },
4703			version: '6.1.13',
4704			openers: new Map(),
4705			bind: function (e, t, n, o) {
4706				if (!p()) return;
4707				let i = document.body,
4708					r = null,
4709					l = '[data-fancybox]',
4710					a = {};
4711				e instanceof Element && (i = e),
4712					s(e) && s(t)
4713						? ((r = e), (l = t))
4714						: s(t) && s(n)
4715						? ((r = t), (l = n))
4716						: s(t)
4717						? (l = t)
4718						: s(e) && (l = e),
4719					'object' == typeof t && (a = t || {}),
4720					'object' == typeof n && (a = n || {}),
4721					'object' == typeof o && (a = o || {}),
4722					(function (e, t, n, o = {}) {
4723						if (!(e && e instanceof Element) || !n) return;
4724						let i = th.openers.get(e) || new Map(),
4725							r = i.get(t) || new Map();
4726						r.set(n, o),
4727							i.set(t, r),
4728							th.openers.set(e, i),
4729							1 === i.size && e.addEventListener('click', th.fromEvent),
4730							tm();
4731					})(i, r, l, a);
4732			},
4733			close: function (e = !0, ...t) {
4734				if (e) for (let e of td.values()) e.close(...t);
4735				else {
4736					let e = th.getInstance();
4737					e && e.close(...t);
4738				}
4739			},
4740			destroy: function () {
4741				let e;
4742				for (; (e = th.getInstance()); ) e.destroy();
4743				for (let e of th.openers.keys()) e.removeEventListener('click', th.fromEvent);
4744				th.openers.clear();
4745			},
4746			fromEvent: function (e) {
4747				if (e.defaultPrevented || (e.button && 0 !== e.button) || e.ctrlKey || e.metaKey || e.shiftKey)
4748					return;
4749				let t = e.composedPath()[0],
4750					n = { triggerEvent: e };
4751				if (t.closest('.fancybox__container.is-hiding')) {
4752					tl(e), e.stopPropagation();
4753					return;
4754				}
4755				let o = t.closest('[data-fancybox-delegate]') || void 0;
4756				if (o) {
4757					let e = o.dataset.fancyboxDelegate || '',
4758						i = document.querySelectorAll(`[data-fancybox="${e}"]`),
4759						r = parseInt(o.dataset.fancyboxIndex || '', 10) || 0;
4760					(t = i[r] || i[0]), m(n, { delegateEl: o, startIndex: r });
4761				}
4762				return tp(t, n);
4763			},
4764			fromNodes: function (e, t) {
4765				t = m({}, tu, t || {});
4766				let n = [],
4767					o = (e) =>
4768						e instanceof HTMLImageElement
4769							? e
4770							: e instanceof HTMLElement
4771							? e.querySelector('img:not([aria-hidden])')
4772							: void 0;
4773				for (let i of e) {
4774					let r = i.dataset || {},
4775						l = t.delegateEl && e.indexOf(i) === t.startIndex ? t.delegateEl : void 0,
4776						a = o(l) || o(i) || void 0,
4777						s =
4778							r.src ||
4779							i.getAttribute('href') ||
4780							i.getAttribute('currentSrc') ||
4781							i.getAttribute('src') ||
4782							void 0,
4783						c =
4784							r.thumb ||
4785							r.thumbSrc ||
4786							a?.getAttribute('currentSrc') ||
4787							a?.getAttribute('src') ||
4788							a?.dataset.lazySrc ||
4789							void 0,
4790						u = {
4791							src: s,
4792							alt: r.alt || a?.getAttribute('alt') || void 0,
4793							thumbSrc: c,
4794							thumbEl: a,
4795							triggerEl: i,
4796							delegateEl: l,
4797						};
4798					for (let e in r) {
4799						let t = r[e] + '';
4800						(t = 'false' !== t && ('true' === t || t)), (u[e] = t);
4801					}
4802					n.push(u);
4803				}
4804				return th.show(n, t);
4805			},
4806			fromSelector: function (e, t, n, o) {
4807				if (!p()) return;
4808				let i = document.body,
4809					r = null,
4810					l = '[data-fancybox]',
4811					a = {};
4812				for (let [c, u] of (e instanceof Element && (i = e),
4813				s(e) && s(t)
4814					? ((r = e), (l = t))
4815					: s(t) && s(n)
4816					? ((r = t), (l = n))
4817					: s(t)
4818					? (l = t)
4819					: s(e) && (l = e),
4820				'object' == typeof t && (a = t || {}),
4821				'object' == typeof n && (a = n || {}),
4822				'object' == typeof o && (a = o || {}),
4823				th.openers))
4824					for (let [e, t] of u)
4825						for (let [n, o] of t)
4826							if (c === i && e === r) {
4827								let t = i.querySelector((e ? `${e} ` : '') + l);
4828								if (t && t.matches(n)) return th.fromTriggerEl(t, a);
4829							}
4830			},
4831			fromTriggerEl: tp,
4832			getCarousel: function () {
4833				return th.getInstance()?.getCarousel() || void 0;
4834			},
4835			getDefaults: function () {
4836				return tu;
4837			},
4838			getInstance: function (e) {
4839				if (e) {
4840					let t = td.get(e);
4841					return t && t.getState() !== tc.Destroyed ? t : void 0;
4842				}
4843				return (
4844					Array.from(td.values())
4845						.reverse()
4846						.find((e) => {
4847							if (e.getState() !== tc.Destroyed) return e;
4848						}) || void 0
4849				);
4850			},
4851			getSlide: function () {
4852				return th.getInstance()?.getSlide() || void 0;
4853			},
4854			show: function (e = [], t = {}) {
4855				return (
4856					tm(),
4857					(() => {
4858						let e,
4859							t,
4860							n,
4861							o,
4862							i,
4863							r,
4864							l,
4865							d = tc.Init,
4866							p = { ...tu },
4867							h = -1,
4868							w = {},
4869							x = [],
4870							M = !1,
4871							L = !0,
4872							S = 0;
4873						function T(e, ...t) {
4874							let n = p[e];
4875							return n && 'function' == typeof n ? n(ef, ...t) : n;
4876						}
4877						function R(e, t = []) {
4878							let n = T('l10n') || {};
4879							e = String(e).replace(/\{\{(\w+)\}\}/g, (e, t) => n[t] || e);
4880							for (let n = 0; n < t.length; n++) e = e.split(t[n][0]).join(t[n][1]);
4881							return e.replace(/\{\{(.*?)\}\}/g, (e, t) => t);
4882						}
4883						let P = new Map();
4884						function A(e, ...t) {
4885							let n = [...(P.get(e) || [])];
4886							for (let [t, o] of Object.entries(p.on || {}))
4887								(t === e || t.split(' ').indexOf(e) > -1) && n.push(o);
4888							for (let e of n) e && 'function' == typeof e && e(ef, ...t);
4889							'*' !== e && A('*', e, ...t);
4890						}
4891						function C() {
4892							b(r, 'is-revealing');
4893							try {
4894								document.activeElement === i && (r?.querySelector('[autofocus]') || r).focus();
4895							} catch (e) {}
4896						}
4897						function O(t, n) {
4898							G(n),
4899								V(),
4900								n.el?.addEventListener('click', z),
4901								('inline' === n.type || 'clone' === n.type) &&
4902									(function (t) {
4903										if (!e || !t || !t.el) return;
4904										let n = null;
4905										if (s(t.src)) {
4906											let e = t.src.split('#', 2).pop();
4907											n = e ? document.getElementById(e) : null;
4908										}
4909										if (n) {
4910											if ((v(n, 'f-html'), 'clone' === t.type || n.closest('.fancybox__carousel'))) {
4911												let e = (n = n.cloneNode(!0)).dataset.animationName;
4912												e && (n.classList.remove(e), delete n.dataset.animationName);
4913												let o = n.getAttribute('id');
4914												(o = o ? `${o}--clone` : `clone-${h}-${t.index}`), n.setAttribute('id', o);
4915											} else if (n.parentNode) {
4916												let e = document.createElement('div');
4917												(e.inert = !0), n.parentNode.insertBefore(e, n), (t.placeholderEl = e);
4918											}
4919											(t.htmlEl = n),
4920												v(t.el, 'has-html'),
4921												t.el.prepend(n),
4922												n.classList.remove('hidden'),
4923												'none' === n.style.display && (n.style.display = ''),
4924												'none' === getComputedStyle(n).getPropertyValue('display') &&
4925													(n.style.display = n.dataset.display || 'flex'),
4926												e?.emit('contentReady', t);
4927										} else e?.showError(t, '{{ELEMENT_NOT_FOUND}}');
4928									})(n),
4929								'ajax' === n.type &&
4930									(function (t) {
4931										let n = t.el;
4932										if (!n || t.htmlEl || t.xhr) return;
4933										e?.showLoading(t), (t.state = ev.Loading);
4934										let o = new XMLHttpRequest();
4935										o.onreadystatechange = function () {
4936											if (o.readyState === XMLHttpRequest.DONE && d === tc.Ready)
4937												if ((e?.hideLoading(t), (t.state = ev.Loaded), 200 === o.status)) {
4938													let i = o.responseText + '',
4939														r = null,
4940														l = null;
4941													if (t.filter) {
4942														let e = document.createElement('div');
4943														(e.innerHTML = i), (l = e.querySelector(t.filter + ''));
4944													}
4945													l && l instanceof HTMLElement
4946														? (r = l)
4947														: ((r = document.createElement('div')).innerHTML = i),
4948														r.classList.add('f-html'),
4949														(t.htmlEl = r),
4950														n.classList.add('has-html'),
4951														n.classList.add('has-ajax'),
4952														n.prepend(r),
4953														e?.emit('contentReady', t);
4954												} else e?.showError(t);
4955										};
4956										let i = T('ajax') || null;
4957										o.open(i ? 'POST' : 'GET', t.src + ''),
4958											o.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'),
4959											o.setRequestHeader('X-Requested-With', 'XMLHttpRequest'),
4960											o.send(i),
4961											(t.xhr = o);
4962									})(n);
4963						}
4964						function I(e, t) {
4965							var n;
4966							let o, i;
4967							U(t),
4968								t.el?.removeEventListener('click', z),
4969								('inline' === t.type || 'clone' === t.type) &&
4970									((o = (n = t).htmlEl),
4971									(i = n.placeholderEl),
4972									o &&
4973										('none' !== getComputedStyle(o).getPropertyValue('display') && (o.style.display = 'none'),
4974										o.offsetHeight),
4975									i && (o && i.parentNode && i.parentNode.insertBefore(o, i), i.remove()),
4976									(n.htmlEl = void 0),
4977									(n.placeholderEl = void 0)),
4978								t.xhr && (t.xhr.abort(), (t.xhr = void 0));
4979						}
4980						function z(e) {
4981							if (!Y()) return;
4982							if (d !== tc.Ready) {
4983								tl(e), e.stopPropagation();
4984								return;
4985							}
4986							if (e.defaultPrevented || !ee.isClickAllowed()) return;
4987							let t = e.composedPath()[0];
4988							t.closest('.fancybox__carousel') && t.classList.contains('fancybox__slide') && N(e);
4989						}
4990						function k() {
4991							(L = !1), r && e && r.classList.remove('is-revealing'), V();
4992							let t = T('sync');
4993							if (e && t) {
4994								let n = t.getPageIndex(e.getPageIndex()) || 0;
4995								t.goTo(n, { transition: !1, tween: !1 });
4996							}
4997						}
4998						function $() {
4999							(function () {
5000								let o = e?.getViewport();
5001								if (!T('dragToClose') || !e || !o || !(t = ee(o).init())) return;
5002								let i = !1,
5003									l = 0,
5004									a = 0,
5005									s = {},
5006									c = 1;
5007								function u() {
5008									n?.spring({
5009										clamp: !0,
5010										mass: 1,
5011										tension: 0 === a ? 140 : 960,
5012										friction: 17,
5013										restDelta: 0.1,
5014										restSpeed: 0.1,
5015										maxSpeed: 1 / 0,
5016									})
5017										.from({ y: l })
5018										.to({ y: a })
5019										.start();
5020									let t = e?.getViewport()?.getBoundingClientRect().height || 0,
5021										o = K()?.panzoomRef;
5022									if (t && o)
5023										if (0 === a) o.execute(er.Reset);
5024										else {
5025											let e = y(Math.abs(l), 0, 0.33 * t, c, 0.77 * c, !1);
5026											o.execute(er.ZoomTo, { scale: e });
5027										}
5028								}
5029								let g = (t) => {
5030									let n = t.srcEvent,
5031										o = n.target;
5032									return e && !(q(n) && n.touches?.length > 1) && o && !f(o);
5033								};
5034								(n = j().on('step', (e) => {
5035									if (r && o && d === tc.Ready) {
5036										let t = o.getBoundingClientRect().height,
5037											n = y(Math.abs((l = Math.min(t, Math.max(-1 * t, e.y)))), 0, 0.65 * t, 1, 0.2, !0);
5038										r.style.setProperty('--f-drag-opacity', n + ''),
5039											r.style.setProperty('--f-drag-offset', l + 'px');
5040									}
5041								})),
5042									t
5043										.on('start', function () {
5044											i || (n?.pause(), (a = l));
5045										})
5046										.on('panstart', (t) => {
5047											if (!i && g(t) && 'y' === t.axis) {
5048												tl(t.srcEvent), (i = !0), es(), e?.getViewport()?.classList.add('is-dragging');
5049												let n = K()?.panzoomRef;
5050												if (n) {
5051													c = n.getTransform().scale || 1;
5052													let e = n.getOptions();
5053													(s = { ...e }), (e.bounds = !1), (e.gestures = !1);
5054												}
5055											} else i = !1;
5056										})
5057										.on('pan', function (e) {
5058											i &&
5059												g(e) &&
5060												(tl(e.srcEvent),
5061												e.srcEvent.stopPropagation(),
5062												'y' === e.axis && ((a += e.deltaY), u()));
5063										})
5064										.on('end', (t) => {
5065											if ((e?.getViewport()?.classList.remove('is-dragging'), i)) {
5066												let e = K()?.panzoomRef;
5067												if (e) {
5068													e.getTween()?.end();
5069													let t = e.getOptions();
5070													(t.bounds = s.bounds || !1), (t.gestures = s.gestures || !1);
5071												}
5072												g(t) &&
5073													'y' === t.axis &&
5074													(Math.abs(t.velocityY) > 5 || Math.abs(l) > 50) &&
5075													ec(t.srcEvent, 'f-throwOut' + (t.velocityY > 0 ? 'Down' : 'Up'));
5076											}
5077											(i = !1), d === tc.Ready && 0 !== l && ((a = 0), u());
5078										});
5079							})(),
5080								document.body.addEventListener('click', Z),
5081								document.body.addEventListener('keydown', W, { passive: !1, capture: !0 }),
5082								V(),
5083								en();
5084							let o = T('sync');
5085							e && o && o.getTween()?.start(), X(K());
5086						}
5087						function F() {
5088							e?.canGoNext() ? en() : el();
5089						}
5090						function _(e, t) {
5091							G(t);
5092						}
5093						function H(e, t) {
5094							G(t), X(t);
5095						}
5096						function D() {
5097							let t = e?.getPlugins().Thumbs;
5098							E(r, 'has-thumbs', t?.isEnabled() || !1),
5099								E(
5100									r,
5101									'has-vertical-thumbs',
5102									!!t && ('scrollable' === t.getType() || t.getCarousel()?.isVertical() === !0)
5103								);
5104						}
5105						function V() {
5106							if (r) {
5107								let t = e?.getPages() || [],
5108									n = e?.getPageIndex() || 0;
5109								for (let e of r.querySelectorAll('[data-fancybox-index]')) e.innerHTML = n + '';
5110								for (let e of r.querySelectorAll('[data-fancybox-page]')) e.innerHTML = n + 1 + '';
5111								for (let e of r.querySelectorAll('[data-fancybox-pages]')) e.innerHTML = t.length + '';
5112							}
5113						}
5114						function N(e) {
5115							e.composedPath()[0].closest('[data-fancybox-close]')
5116								? ec(e)
5117								: (A('backdropClick', e), e.defaultPrevented || (T('backdropClick') && ec(e)));
5118						}
5119						function B() {
5120							ei();
5121						}
5122						function W(t) {
5123							let n;
5124							if (!Y() || d !== tc.Ready) return;
5125							let o = t.key,
5126								i = T('keyboard');
5127							if (!i || t.ctrlKey || t.altKey || t.shiftKey) return;
5128							let r = t.composedPath()[0];
5129							if (
5130								!c(r) ||
5131								('Escape' !== o &&
5132									((n =
5133										'input,textarea,select,option,video,iframe,[contenteditable],[data-selectable],[data-draggable]'),
5134									r.matches(n) || r.closest(n))) ||
5135								(A('keydown', t), t.defaultPrevented)
5136							)
5137								return;
5138							let l = i[o];
5139							if (l)
5140								switch (l) {
5141									case 'close':
5142										ec(t);
5143										break;
5144									case 'next':
5145										tl(t), e?.next();
5146										break;
5147									case 'prev':
5148										tl(t), e?.prev();
5149								}
5150						}
5151						function Z(e) {
5152							if (!Y() || d !== tc.Ready || (ei(), e.defaultPrevented)) return;
5153							let t = e.composedPath()[0],
5154								n = !!t.closest('[data-fancybox-close]'),
5155								o = t.classList.contains('fancybox__backdrop');
5156							(n || o) && N(e);
5157						}
5158						function G(t) {
5159							let { el: n, htmlEl: o, panzoomRef: i, closeButtonEl: r } = t,
5160								l = i ? i.getWrapper() : o;
5161							if (!n || !n.parentElement || !l) return;
5162							let a = T('closeButton');
5163							if (('auto' === a && (a = e?.getPlugins().Toolbar?.isEnabled() !== !0), !a))
5164								return void U(t);
5165							if (!r) {
5166								let e = u(R(T('closeButtonTpl')));
5167								e &&
5168									(v(e, 'is-close-button'),
5169									(t.closeButtonEl = l.insertAdjacentElement('afterbegin', e)),
5170									v(n, 'has-close-btn'));
5171							}
5172						}
5173						function U(e) {
5174							e.closeButtonEl && (e.closeButtonEl.remove(), (e.closeButtonEl = void 0)),
5175								b(e.el, 'has-close-btn');
5176						}
5177						function X(t) {
5178							if (
5179								!(
5180									L &&
5181									e &&
5182									e.getState() === ey.Ready &&
5183									t &&
5184									t.index === e.getOptions().initialPage &&
5185									t.el &&
5186									t.el.parentElement
5187								) ||
5188								(void 0 !== t.state && t.state !== ev.Loaded)
5189							)
5190								return;
5191							L = !1;
5192							let n = t.panzoomRef,
5193								o = n?.getTween(),
5194								i = T('zoomEffect') && o ? Q(t) : void 0;
5195							if (n && o && i) {
5196								let { x: e, y: t, scale: r }
5196 = n.getStartPosition();
5197								o.spring({
5198									tension: 215,
5199									friction: 25,
5200									restDelta: 0.001,
5201									restSpeed: 0.001,
5202									maxSpeed: 1 / 0,
5203								})
5204									.from(i)
5205									.to({ x: e, y: t, scale: r })
5206									.start();
5207								return;
5208							}
5209							let r = n?.getContent() || t.htmlEl;
5210							r && ta(r, T('showClass', t));
5211						}
5212						function Y() {
5213							return th.getInstance()?.getId() === h;
5214						}
5215						function K() {
5216							return e?.getPage()?.slides[0];
5217						}
5218						function J() {
5219							let e = K();
5220							return e ? e.triggerEl || T('triggerEl') : void 0;
5221						}
5222						function Q(e) {
5223							let t = e.thumbEl;
5224							if (
5225								!t ||
5226								!((e) => {
5227									let t = e.getBoundingClientRect(),
5228										n = e.closest('[style]'),
5229										o = n?.parentElement;
5230									if (n && n.style.transform && o) {
5231										let e = o.getBoundingClientRect();
5232										if (
5233											t.left < e.left ||
5234											t.left > e.left + e.width - t.width ||
5235											t.top < e.top ||
5236											t.top > e.top + e.height - t.height
5237										)
5238											return !1;
5239									}
5240									let i = Math.max(document.documentElement.clientHeight, window.innerHeight),
5241										r = Math.max(document.documentElement.clientWidth, window.innerWidth);
5242									return !(t.bottom < 0) && !(t.top - i >= 0) && !(t.right < 0) && !(t.left - r >= 0);
5243								})(t)
5244							)
5245								return;
5246							let n = e.panzoomRef?.getWrapper()?.getBoundingClientRect(),
5247								o = n?.width,
5248								i = n?.height;
5249							if (!o || !i) return;
5250							let r = t.getBoundingClientRect(),
5251								l = r.width,
5252								a = r.height,
5253								s = r.left,
5254								c = r.top;
5255							if (!r || !l || !a) return;
5256							if (t instanceof HTMLImageElement) {
5257								let e = window.getComputedStyle(t).getPropertyValue('object-fit');
5258								if ('contain' === e || 'scale-down' === e) {
5259									let { width: n, height: o } = ((e, t, n, o, i = 'contain') => {
5260										if ('contain' === i || e > n || t > o) {
5261											let i = Math.min(n / e, o / t);
5262											(e *= i), (t *= i);
5263										}
5264										return { width: e, height: t };
5265									})(t.naturalWidth, t.naturalHeight, l, a, e);
5266									(s += (l - n) * 0.5), (c += (a - o) * 0.5), (l = n), (a = o);
5267								}
5268							}
5269							if (Math.abs(o / i - l / a) > 0.1) return;
5270							let u = s + 0.5 * l - (n.left + 0.5 * o);
5271							return { x: u, y: c + 0.5 * a - (n.top + 0.5 * i), scale: l / o };
5272						}
5273						function et() {
5274							o && clearTimeout(o), (o = void 0), document.removeEventListener('mousemove', B);
5275						}
5276						function en() {
5277							if (M || o) return;
5278							let e = T('idle');
5279							e && (o = setTimeout(eo, e));
5280						}
5281						function eo() {
5282							r && (et(), v(r, 'is-idle'), document.addEventListener('mousemove', B), (M = !0));
5283						}
5284						function ei() {
5285							M && (el(), en());
5286						}
5287						function el() {
5288							et(), r?.classList.remove('is-idle'), (M = !1);
5289						}
5290						function es() {
5291							var e;
5292							let t = J();
5293							!t ||
5294								((e = t.getBoundingClientRect()).bottom > 0 &&
5295									e.right > 0 &&
5296									e.left < (window.innerWidth || document.documentElement.clientWidth) &&
5297									e.top < (window.innerHeight || document.documentElement.clientHeight)) ||
5298								t.closest('[inert]') ||
5299								t.scrollIntoView({ behavior: 'instant', block: 'center', inline: 'center' });
5300						}
5301						function ec(o, i) {
5302							if (d === tc.Closing || d === tc.Destroyed) return;
5303							let r = new Event('shouldClose', { bubbles: !0, cancelable: !0 });
5304							if ((A('shouldClose', r, o), r.defaultPrevented)) return;
5305							if ((et(), o)) {
5306								if (o.defaultPrevented) return;
5307								tl(o), o.stopPropagation(), o.stopImmediatePropagation();
5308							}
5309							if (((d = tc.Closing), n?.pause(), t?.destroy(), e))
5310								for (let t of (e.getGestures()?.destroy(), e.getTween()?.pause(), e.getSlides())) {
5311									let e = t.panzoomRef;
5312									e &&
5313										(m(e.getOptions(), {
5314											clickAction: !1,
5315											dblClickAction: !1,
5316											wheelAction: !1,
5317											bounds: !1,
5318											minScale: 0,
5319											maxScale: 1 / 0,
5320										}),
5321										e.getGestures()?.destroy(),
5322										e.getTween()?.pause());
5323								}
5324							let l = e?.getPlugins();
5325							l?.Autoplay?.stop();
5326							let a = l?.Fullscreen;
5327							a && a.inFullscreen()
5328								? Promise.resolve(a.exit()).then(() => {
5329										setTimeout(() => {
5330											eu(o, i);
5331										}, 150);
5332								  })
5333								: eu(o, i);
5334						}
5335						function eu(t, n) {
5336							if (d !== tc.Closing) return;
5337							A('close', t),
5338								(L = !1),
5339								document.body.removeEventListener('click', Z),
5340								document.body.removeEventListener('keydown', W, { passive: !1, capture: !0 }),
5341								T('placeFocusBack') && es();
5342							let o = document.activeElement;
5343							o && i?.contains(o) && o.blur(),
5344								T('fadeEffect') && (r?.classList.remove('is-ready'), r?.classList.add('is-hiding')),
5345								r?.classList.add('is-closing');
5346							let l = K(),
5347								a = l?.el,
5348								s = l?.panzoomRef,
5349								c = l?.panzoomRef?.getTween(),
5350								u = n || T('hideClass'),
5351								f = !1,
5352								g = !1;
5353							if (e && l && a && s && c) {
5354								let e;
5355								if ((T('zoomEffect') && l.state === ev.Loaded && (e = Q(l)), e)) {
5356									f = !0;
5357									let t = () => {
5358										(e = Q(l)) ? c.to({ ...ea, ...e }) : ed();
5359									};
5360									s.on('refresh', () => {
5361										t();
5362									}),
5363										c
5364											.easing(j.Easings.EaseOut)
5365											.duration(350)
5366											.from({ ...s.getTransform() })
5367											.to({ ...ea, ...e })
5368											.start(),
5369										a?.getAnimations() &&
5370											((a.style.animationPlayState = 'paused'),
5371											requestAnimationFrame(() => {
5372												t();
5373											}));
5374								}
5375							}
5376							let m = l?.htmlEl || l?.panzoomRef?.getWrapper();
5377							m && ts(m),
5378								!f &&
5379									u &&
5380									m &&
5381									((g = !0),
5382									ta(m, u, () => {
5383										ed();
5384									})),
5385								f || g
5386									? setTimeout(() => {
5387											ed();
5388									  }, 350)
5389									: ed();
5390						}
5391						function ed() {
5392							if (d === tc.Destroyed) return;
5393							d = tc.Destroyed;
5394							let t = J();
5395							for (let t of (A('destroy'),
5396							T('sync')?.getPlugins().Autoplay?.resume(),
5397							T('sync')?.getPlugins().Autoscroll?.resume(),
5398							i instanceof HTMLDialogElement && i.close(),
5399							e?.getContainer()?.classList.remove('is-idle'),
5400							e?.destroy(),
5401							Object.values(w)))
5402								t?.destroy();
5403							if (
5404								((w = {}),
5405								i?.remove(),
5406								(i = void 0),
5407								(r = void 0),
5408								(e = void 0),
5409								td.delete(h),
5410								!td.size &&
5411									(g(!1),
5412									document.documentElement.classList.remove(tg),
5413									T('placeFocusBack') && t && !t.closest('[inert]')))
5414							)
5415								try {
5416									t?.focus({ preventScroll: !0 });
5417								} catch (e) {}
5418						}
5419						let ef = {
5420							close: ec,
5421							destroy: ed,
5422							getCarousel: function () {
5423								return e;
5424							},
5425							getContainer: function () {
5426								return r;
5427							},
5428							getId: function () {
5429								return h;
5430							},
5431							getOptions: function () {
5432								return p;
5433							},
5434							getPlugins: function () {
5435								return w;
5436							},
5437							getSlide: function () {
5438								return K();
5439							},
5440							getState: function () {
5441								return d;
5442							},
5443							init: function (t = [], n = {}) {
5444								d !== tc.Init && (ef.destroy(), (d = tc.Init)),
5445									(p = m({}, tu, n)),
5446									(h = T('id') || `fancybox-${++tf}`);
5447								let o = td.get(h);
5448								if (
5449									(o && o.destroy(),
5450									td.set(h, ef),
5451									A('init'),
5452									(function () {
5453										for (let [e, t] of Object.entries({ ...th.Plugins, ...(p.plugins || {}) }))
5454											if (e && !w[e] && t instanceof Function) {
5455												let n = t();
5456												n.init(ef), (w[e] = n);
5457											}
5458										A('initPlugins');
5459									})(),
5460									(function (e = []) {
5461										A('initSlides', e), (x = [...e]);
5462									})(t),
5463									(function () {
5464										let t = T('parentEl') || document.body;
5465										if (
5466											!(t && t instanceof HTMLElement) ||
5467											!(i = u(R(T('mainTpl') || '')) || void 0) ||
5468											!((r = i.querySelector('.fancybox__container')) && r instanceof HTMLElement)
5469										)
5470											return;
5471										let n = T('mainClass');
5472										n && v(r, n);
5473										let o = T('mainStyle');
5474										if (o && a(o)) for (let [e, t] of Object.entries(o)) r.style.setProperty(e, t);
5475										let l = T('theme'),
5476											s =
5477												'auto' === l
5478													? window.matchMedia('(prefers-color-scheme:light)').matches
5479													: 'light' === l;
5480										r.setAttribute('theme', s ? 'light' : 'dark'),
5481											i.setAttribute('id', `${h}`),
5482											i.addEventListener('keydown', (e) => {
5483												'Escape' === e.key && tl(e);
5484											}),
5485											i.addEventListener(
5486												'wheel',
5487												(t) => {
5488													let n = t.target,
5489														o = T('wheel', t);
5490													n.closest('.f-thumbs') && (o = 'slide');
5491													let i = 'slide' === o,
5492														r = Math.max(
5493															-1,
5494															Math.min(
5495																1,
5496																[-t.deltaX || 0, -t.deltaY || 0, -t.detail || 0].reduce(function (e, t) {
5497																	return Math.abs(t) > Math.abs(e) ? t : e;
5498																})
5499															)
5500														),
5501														l = Date.now();
5502													if (S && l - S < 300) {
5503														i && tl(t);
5504														return;
5505													}
5506													(S = l),
5507														A('wheel', t, r),
5508														t.defaultPrevented ||
5509															('close' === o
5510																? ec(t)
5511																: 'slide' === o && e && !f(n) && (tl(t), e[r > 0 ? 'prev' : 'next']()));
5512												},
5513												{ capture: !0, passive: !1 }
5514											),
5515											i.addEventListener('cancel', (e) => {
5516												ec(e);
5517											}),
5518											t.append(i),
5519											1 === td.size &&
5520												(T('hideScrollbar') && g(!0), document.documentElement.classList.add(tg)),
5521											A('initLayout'),
5522											i instanceof HTMLDialogElement && (T('modal') ? i.showModal() : i.show());
5523									})(),
5524									(function () {
5525										if (!(l = i?.querySelector('.fancybox__carousel') || void 0)) return;
5526										l.fancybox = ef;
5527										let t = m(
5528											{},
5529											{
5530												Autoplay: {
5531													autoStart: !1,
5532													pauseOnHover: !1,
5533													progressbarParentEl: (e) => {
5534														let t = e.getContainer();
5535														return t?.querySelector('.f-carousel__toolbar [data-autoplay-action]') || t;
5536													},
5537												},
5538												Fullscreen: { el: r },
5539												Toolbar: {
5540													absolute: !0,
5541													items: {
5542														counter: {
5543															tpl: '<div class="f-counter"><span data-fancybox-page></span>/<span data-fancybox-pages></span></div>',
5544														},
5545													},
5546													display: {
5547														left: ['counter'],
5548														right: ['toggleFull', 'autoplay', 'fullscreen', 'thumbs', 'close'],
5549													},
5550												},
5551												Video: { autoplay: !0 },
5552												Thumbs: { minCount: 2, Carousel: { classes: { container: 'fancybox__thumbs' } } },
5553												classes: {
5554													container: 'fancybox__carousel',
5555													viewport: 'fancybox__viewport',
5556													slide: 'fancybox__slide',
5557												},
5558												spinnerTpl: '<div class="f-spinner" data-fancybox-close></div>',
5559												dragFree: !1,
5560												slidesPerPage: 1,
5561												plugins: {
5562													Sync: eT,
5563													Arrows: e$,
5564													Lazyload: eO,
5565													Zoomable: eL,
5566													Html: eU,
5567													Video: eK,
5568													Autoplay: eB,
5569													Fullscreen: e0,
5570													Thumbs: eZ,
5571													Toolbar: eq,
5572												},
5573											},
5574											T('Carousel') || {},
5575											{ slides: x, enabled: !0, initialPage: T('startIndex') || 0, l10n: T('l10n') }
5576										);
5577										A('initCarousel', (e = ew(l, t))),
5578											e.on('*', (e, t, ...n) => {
5579												A(`Carousel.${t}`, e, ...n);
5580											}),
5581											e.on('attachSlideEl', O),
5582											e.on('detachSlideEl', I),
5583											e.on('contentLoading', _),
5584											e.on('contentReady', H),
5585											e.on('ready', $),
5586											e.on('change', k),
5587											e.on('settle', F),
5588											e.on('thumbs:ready', D),
5589											e.on('thumbs:destroy', D),
5590											e.init();
5591									})(),
5592									i && r)
5593								) {
5594									if (T('closeExisting')) for (let [e, t] of td.entries()) e !== h && t.close();
5595									T('fadeEffect')
5596										? (setTimeout(() => {
5597												C();
5598										  }, 500),
5599										  v(r, 'is-revealing'))
5600										: C(),
5601										r.classList.add('is-ready'),
5602										(d = tc.Ready),
5603										A('ready');
5604								}
5605							},
5606							isCurrentSlide: function (e) {
5607								let t = K();
5608								return !!e && !!t && t.index === e.index;
5609							},
5610							isTopMost: function () {
5611								return Y();
5612							},
5613							localize: R,
5614							off: function (e, t) {
5615								return (
5616									P.has(e) &&
5617										P.set(
5618											e,
5619											P.get(e).filter((e) => e !== t)
5620										),
5621									ef
5622								);
5623							},
5624							on: function (e, t) {
5625								return P.set(e, [...(P.get(e) || []), t]), ef;
5626							},
5627							toggleIdle(e) {
5628								(M || !0 === e) && eo(), (M && !1 !== e) || el();
5629							},
5630						};
5631						return ef;
5632					})().init(e, t)
5633				);
5634			},
5635			unbind: function (e, t, n) {
5636				if (!p()) return;
5637				let o = document.body,
5638					i = null,
5639					r = '[data-fancybox]';
5640				e instanceof Element && (o = e),
5641					s(e) && s(t)
5642						? ((i = e), (r = t))
5643						: s(t) && s(n)
5644						? ((i = t), (r = n))
5645						: s(t)
5646						? (r = t)
5647						: s(e) && (r = e),
5648					(function (e, t, n) {
5649						if (!(e && e instanceof Element) || !n) return;
5650						let o = th.openers.get(e) || new Map(),
5651							i = o.get(t) || new Map();
5652						i && n && i.delete(n),
5653							(i.size && n) || o.delete(t),
5654							o.size || (th.openers.delete(e), e.removeEventListener('click', th.fromEvent));
5655					})(o, i, r);
5656			},
5657		};
5658		(e.Arrows = e$),
5659			(e.Autoplay = eB),
5660			(e.Carousel = ew),
5661			(e.CarouselSlideContentState = ev),
5662			(e.CarouselState = ey),
5663			(e.Fancybox = th),
5664			(e.FancyboxState = tc),
5665			(e.Fullscreen = e0),
5666			(e.Html = eU),
5667			(e.Lazyload = eO),
5668			(e.PANZOOM_DEFAULT_POS = ea),
5669			(e.Panzoom = eg),
5670			(e.PanzoomAction = er),
5671			(e.PanzoomState = es),
5672			(e.PanzoomZoomLevel = el),
5673			(e.Sync = eT),
5674			(e.Thumbs = eZ),
5675			(e.Toolbar = eq),
5676			(e.ToolbarColumn = eD),
5677			(e.Video = eK),
5678			(e.Zoomable = eL);
5679	})
5680);
5681
5682window.Fancybox = exports.Fancybox;
5683})();

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.