PageSourceSearch

https://laod.cn/wp-content/themes/justnews/js/main.js?ver=6.25.1

js laod.cn collected 2026-10-05 03:40:47 UTC 331,175 bytes, 8,289 lines download raw bytes

1(function(e) {
2	"function" == typeof define && define.amd ? define([], e) : e();
3})(function() {
4	var e = Object.create, t = Object.defineProperty, i = Object.getOwnPropertyDescriptor, s = Object.getOwnPropertyNames, n = Object.getPrototypeOf, o = Object.prototype.hasOwnProperty, a = (e, t, i) => () => {
5		if (i) throw i[0];
6		try {
7			return e && (t = e(e = 0)), t;
8		} catch (e) {
9			throw i = [e], e;
10		}
11	}, r = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), l = (a, r, l) => (l = null != a ? e(n(a)) : {}, ((e, n, a, r) => {
12		if (n && "object" == typeof n || "function" == typeof n) for (var l, d = s(n), c = 0, p = d.length; c < p; c++) l = d[c], o.call(e, l) || l === a || t(e, l, {
13			get: ((e) => n[e]).bind(null, l),
14			enumerable: !(r = i(n, l)) || r.enumerable
15		});
16		return e;
17	})(!r && a && a.__esModule && o.call(a, "default") ? l : t(l, "default", {
18		value: a,
19		enumerable: !0
20	}), a)), d = a(() => {
21		(function(e) {
22			"use strict";
23			e.fn.emulateTransitionEnd = function(t) {
24				var i = !1, s = this;
25				e(this).one("wpcomTransitionEnd", function() {
26					i = !0;
27				});
28				return setTimeout(function() {
29					i || e(s).trigger(e.__transition.end);
30				}, t), this;
31			}, e(function() {
32				e.__transition = function() {
33					var e = document.createElement("wpcom"), t = {
34						WebkitTransition: "webkitTransitionEnd",
35						MozTransition: "transitionend",
36						OTransition: "oTransitionEnd otransitionend",
37						transition: "transitionend"
38					};
39					for (var i in t) if (void 0 !== e.style[i]) return { end: t[i] };
40					return !1;
41				}(), e.__transition && (e.event.special.wpcomTransitionEnd = {
42					bindType: e.__transition.end,
43					delegateType: e.__transition.end,
44					handle: function(t) {
45						if (e(t.target).is(this)) return t.handleObj.handler.apply(this, arguments);
46					}
47				});
48			});
49		})(jQuery);
50	}), c = a(() => {
51		(function(e) {
52			"use strict";
53			var t = "[data-dismiss=\"alert\"], [data-wpcom-dismiss=\"alert\"]", i = function(i) {
54				e(i).on("click", t, this.close);
55			};
56			i.TRANSITION_DURATION = 150, i.prototype.close = function(t) {
57				var s = e(this), n = s.attr("data-target");
58				n || (n = (n = s.attr("href")) && n.replace(/.*(?=#[^\s]*$)/, "")), n = "#" === n ? [] : n;
59				var o = e(document).find(n);
60				function a() {
61					o.detach().trigger("closed.wpcom.alert").remove();
62				}
63				t && t.preventDefault(), o.length || (o = s.closest(".wpcom-alert")), o.trigger(t = e.Event("close.wpcom.alert")), t.isDefaultPrevented() || (o.removeClass("in"), e.__transition && o.hasClass("fade") ? o.one("wpcomTransitionEnd", a).emulateTransitionEnd(i.TRANSITION_DURATION) : a());
64			};
65			var s = e.fn._alert;
66			e.fn._alert = function(t) {
67				return this.each(function() {
68					var s = e(this), n = s.data("wpcom.alert");
69					n || s.data("wpcom.alert", n = new i(this)), "string" == typeof t && n[t].call(s);
70				});
71			}, e.fn._alert.Constructor = i, e.fn._alert.noConflict = function() {
72				return e.fn._alert = s, this;
73			}, e(document).on("click.wpcom.alert.data-api", t, i.prototype.close);
74		})(jQuery);
75	}), p = a(() => {
76		(function(e) {
77			"use strict";
78			var t = function(i, s) {
79				this.$element = e(i), this.options = e.extend({}, t.DEFAULTS, s), this.$trigger = e("[data-toggle=\"collapse\"][href=\"#" + i.id + "\"],[data-toggle=\"collapse\"][data-target=\"#" + i.id + "\"]"), this.transitioning = null, this.options.parent ? this.$parent = this.getParent() : this.addAriaAndCollapsedClass(this.$element, this.$trigger), this.options.toggle && this.toggle();
80			};
81			function i(t) {
82				var i, s = t.attr("data-target") || (i = t.attr("href")) && i.replace(/.*(?=#[^\s]+$)/, "");
83				return e(document).find(s);
84			}
85			function s(i) {
86				return this.each(function() {
87					var s = e(this), n = s.data("wpcom.collapse"), o = e.extend({}, t.DEFAULTS, s.data(), "object" == typeof i && i);
88					!n && o.toggle && /show|hide/.test(i) && (o.toggle = !1), n || s.data("wpcom.collapse", n = new t(this, o)), "string" == typeof i && n[i]();
89				});
90			}
91			t.VERSION = "3.4.1", t.TRANSITION_DURATION = 350, t.DEFAULTS = { toggle: !0 }, t.prototype.dimension = function() {
92				return this.$element.hasClass("width") ? "width" : "height";
93			}, t.prototype.show = function() {
94				if (!this.transitioning && !this.$element.hasClass("in")) {
95					var i, n = this.$parent && this.$parent.children(".panel").children(".in, .collapsing");
96					if (!(n && n.length && (i = n.data("wpcom.collapse")) && i.transitioning)) {
97						var o = e.Event("show.wpcom.collapse");
98						if (this.$element.trigger(o), !o.isDefaultPrevented()) {
99							n && n.length && (s.call(n, "hide"), i || n.data("wpcom.collapse", null));
100							var a = this.dimension();
101							this.$element.removeClass("collapse").addClass("collapsing")[a](0).attr("aria-expanded", !0), this.$trigger.removeClass("collapsed").attr("aria-expanded", !0), this.transitioning = 1;
102							var r = function() {
103								this.$element.removeClass("collapsing").addClass("collapse in")[a](""), this.transitioning = 0, this.$element.trigger("shown.wpcom.collapse");
104							};
105							if (!e.support.transition) return r.call(this);
106							var l = e.camelCase(["scroll", a].join("-"));
107							this.$element.one("wpcomTransitionEnd", e.proxy(r, this)).emulateTransitionEnd(t.TRANSITION_DURATION)[a](this.$element[0][l]);
108						}
109					}
110				}
111			}, t.prototype.hide = function() {
112				if (!this.transitioning && this.$element.hasClass("in")) {
113					var i = e.Event("hide.wpcom.collapse");
114					if (this.$element.trigger(i), !i.isDefaultPrevented()) {
115						var s = this.dimension();
116						this.$element[s](this.$element[s]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded", !1), this.$trigger.addClass("collapsed").attr("aria-expanded", !1), this.transitioning = 1;
117						var n = function() {
118							this.transitioning = 0, this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.wpcom.collapse");
119						};
120						if (!e.support.transition) return n.call(this);
121						this.$element[s](0).one("wpcomTransitionEnd", e.proxy(n, this)).emulateTransitionEnd(t.TRANSITION_DURATION);
122					}
123				}
124			}, t.prototype.toggle = function() {
125				this[this.$element.hasClass("in") ? "hide" : "show"]();
126			}, t.prototype.getParent = function() {
127				return e(document).find(this.options.parent).find("[data-toggle=\"collapse\"][data-parent=\"" + this.options.parent + "\"]").each(e.proxy(function(t, s) {
128					var n = e(s);
129					this.addAriaAndCollapsedClass(i(n), n);
130				}, this)).end();
131			}, t.prototype.addAriaAndCollapsedClass = function(e, t) {
132				var i = e.hasClass("in");
133				e.attr("aria-expanded", i), t.toggleClass("collapsed", !i).attr("aria-expanded", i);
134			};
135			var n = e.fn.collapse;
136			e.fn.collapse = s, e.fn.collapse.Constructor = t, e.fn.collapse.noConflict = function() {
137				return e.fn.collapse = n, this;
138			}, e(document).on("click.wpcom.collapse.data-api", "[data-toggle=\"collapse\"]", function(t) {
139				var n = e(this);
140				n.attr("data-target") || t.preventDefault();
141				var o = i(n), a = o.data("wpcom.collapse") ? "toggle" : n.data();
142				s.call(o, a);
143			});
144		})(jQuery);
145	}), u = a(() => {
146		(function(e) {
147			"use strict";
148			var t = function(t, i) {
149				this.options = i, this.$body = e(document.body), this.$element = e(t), this.$dialog = this.$element.find(".modal
149-dialog"), this.$backdrop = null, this.isShown = null, this.originalBodyPad = null, this.scrollbarWidth = 0, this.ignoreBackdropClick = !1, this.fixedContent = ".navbar-fixed-top, .navbar-fixed-bottom", this.options.remote && this.$element.find(".modal-content").load(this.options.remote, e.proxy(function() {
150					this.$element.trigger("loaded.wpcom.modal");
151				}, this));
152			};
153			function i(i, s) {
154				return this.each(function() {
155					var n = e(this), o = n.data("wpcom.modal"), a = e.extend({}, t.DEFAULTS, n.data(), "object" == typeof i && i);
156					o || n.data("wpcom.modal", o = new t(this, a)), "string" == typeof i ? o[i](s) : a.show && o.show(s);
157				});
158			}
159			t.TRANSITION_DURATION = 250, t.BACKDROP_TRANSITION_DURATION = 120, t.DEFAULTS = {
160				backdrop: !0,
161				keyboard: !0,
162				show: !0
163			}, t.prototype.toggle = function(e) {
164				return this.isShown ? this.hide() : this.show(e);
165			}, t.prototype.show = function(i) {
166				var s = this, n = e.Event("show.wpcom.modal", { relatedTarget: i });
167				this.$element.trigger(n), this.isShown || n.isDefaultPrevented() || (this.isShown = !0, this.checkScrollbar(), this.setScrollbar(), this.$body.addClass("modal-open"), this.escape(), this.resize(), this.$element.on("click.dismiss.wpcom.modal", "[data-dismiss=\"modal\"], [data-wpcom-dismiss=\"modal\"]", e.proxy(this.hide, this)), this.$dialog.on("mousedown.dismiss.wpcom.modal", function() {
168					s.$element.one("mouseup.dismiss.wpcom.modal", function(t) {
169						e(t.target).is(s.$element) && (s.ignoreBackdropClick = !0);
170					});
171				}), this.backdrop(function() {
172					var n = e.__transition && s.$element.hasClass("fade");
173					s.$element.parent().length || s.$element.appendTo(s.$body), s.$element.show().scrollTop(0), s.adjustDialog(), n && s.$element[0].offsetWidth, s.$element.addClass("in"), s.enforceFocus();
174					var o = e.Event("shown.wpcom.modal", { relatedTarget: i });
175					n ? s.$dialog.one("wpcomTransitionEnd", function() {
176						s.$element.trigger("focus").trigger(o);
177					}).emulateTransitionEnd(t.TRANSITION_DURATION) : s.$element.trigger("focus").trigger(o);
178				}));
179			}, t.prototype.hide = function(i) {
180				i && i.preventDefault(), i = e.Event("hide.wpcom.modal"), this.$element.trigger(i), this.isShown && !i.isDefaultPrevented() && (this.isShown = !1, this.escape(), this.resize(), e(document).off("focusin.wpcom.modal"), this.$element.removeClass("in").off("click.dismiss.wpcom.modal").off("mouseup.dismiss.wpcom.modal"), this.$dialog.off("mousedown.dismiss.wpcom.modal"), e.__transition && this.$element.hasClass("fade") ? this.$element.one("wpcomTransitionEnd", e.proxy(this.hideModal, this)).emulateTransitionEnd(t.TRANSITION_DURATION) : this.hideModal());
181			}, t.prototype.enforceFocus = function() {
182				e(document).off("focusin.wpcom.modal").on("focusin.wpcom.modal", e.proxy(function(e) {
183					document === e.target || this.$element[0] === e.target || this.$element.has(e.target).length || this.$element.trigger("focus");
184				}, this));
185			}, t.prototype.escape = function() {
186				this.isShown && this.options.keyboard ? this.$element.on("keydown.dismiss.wpcom.modal", e.proxy(function(e) {
187					27 == e.which && this.hide();
188				}, this)) : this.isShown || this.$element.off("keydown.dismiss.wpcom.modal");
189			}, t.prototype.resize = function() {
190				this.isShown ? e(window).on("resize.wpcom.modal", e.proxy(this.handleUpdate, this)) : e(window).off("resize.wpcom.modal");
191			}, t.prototype.hideModal = function() {
192				var e = this;
193				this.$element.hide(), this.backdrop(function() {
194					e.$body.removeClass("modal-open"), e.resetAdjustments(), e.resetScrollbar(), e.$element.trigger("hidden.wpcom.modal");
195				});
196			}, t.prototype.removeBackdrop = function() {
197				this.$backdrop && this.$backdrop.remove(), this.$backdrop = null;
198			}, t.prototype.backdrop = function(i) {
199				var s = this, n = this.$element.hasClass("fade") ? "fade" : "";
200				if (this.isShown && this.options.backdrop) {
201					var o = e.__transition && n;
202					if (this.$backdrop = e(document.createElement("div")).addClass("wpcom-modal-backdrop " + n).appendTo(this.$body), this.$element.on("click.dismiss.wpcom.modal", e.proxy(function(e) {
203						this.ignoreBackdropClick ? this.ignoreBackdropClick = !1 : e.target === e.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus() : this.hide());
204					}, this)), o && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), !i) return;
205					o ? this.$backdrop.one("wpcomTransitionEnd", i).emulateTransitionEnd(t.BACKDROP_TRANSITION_DURATION) : i();
206				} else if (!this.isShown && this.$backdrop) {
207					this.$backdrop.removeClass("in");
208					var a = function() {
209						s.removeBackdrop(), i && i();
210					};
211					e.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one("wpcomTransitionEnd", a).emulateTransitionEnd(t.BACKDROP_TRANSITION_DURATION) : a();
212				} else i && i();
213			}, t.prototype.handleUpdate = function() {
214				this.adjustDialog();
215			}, t.prototype.adjustDialog = function() {
216				var e = this.$element[0].scrollHeight > document.documentElement.clientHeight;
217				this.$element.css({
218					paddingLeft: !this.bodyIsOverflowing && e ? this.scrollbarWidth : "",
219					paddingRight: this.bodyIsOverflowing && !e ? this.scrollbarWidth : ""
220				});
221			}, t.prototype.resetAdjustments = function() {
222				this.$element.css({
223					paddingLeft: "",
224					paddingRight: ""
225				});
226			}, t.prototype.checkScrollbar = function() {
227				var e = window.innerWidth;
228				if (!e) {
229					var t = document.documentElement.getBoundingClientRect();
230					e = t.right - Math.abs(t.left);
231				}
232				this.bodyIsOverflowing = document.body.clientWidth < e, this.scrollbarWidth = this.measureScrollbar();
233			}, t.prototype.setScrollbar = function() {
234				var t = parseInt(this.$body.css("padding-right") || 0, 10);
235				this.originalBodyPad = document.body.style.paddingRight || 0;
236				var i = this.scrollbarWidth;
237				this.bodyIsOverflowing && (this.$body.css("--scrollbar-width", t + i + "px"), e(this.fixedContent).each(function(t, s) {
238					var n = s.style.paddingRight, o = e(s).css("padding-right");
239					e(s).data("padding-right", n).css("padding-right", parseFloat(o) + i + "px");
240				}));
241			}, t.prototype.resetScrollbar = function() {
242				this.$body.css("--scrollbar-width", this.originalBodyPad + "px"), e(this.fixedContent).each(function(t, i) {
243					var s = e(i).data("padding-right");
244					e(i).removeData("padding-right"), i.style.paddingRight = s || "";
245				});
246			}, t.prototype.measureScrollbar = function() {
247				var e = document.createElement("div");
vendor: 16,081 bytes, lines 248-599
248				e.className = "modal-scrollbar-measure", this.$body.append(e);
249				var t = e.offsetWidth - e.clientWidth;
250				return this.$body[0].removeChild(e), t;
251			};
252			var s = e.fn._modal, n = e.fn.modal;
253			e.fn._modal = i, e.fn._modal.Constructor = t, e.fn.modal = i, e.fn.modal.Constructor = t, e.fn._modal.noConflict = function() {
254				return e.fn._modal = s, this;
255			}, e.fn.modal.noConflict = function() {
256				return e.fn.modal = n, this;
257			}, e(document).on("click.wpcom.modal.data-api", "[data-toggle=\"modal\"]", function(t) {
258				var s = e(this), n = s.attr("href"), o = s.attr("data-target") || n && n.replace(/.*(?=#[^\s]+$)/, ""), a = e(document).find(o), r = a.data("wpcom.modal") ? "toggle" : e.extend({ remote: !/#/.test(n) && n }, a.data(), s.data());
259				s.is("a") && t.preventDefault(), a.one("show.wpcom.modal", function(e) {
260					e.isDefaultPrevented() || a.one("hidden.wpcom.modal", function() {
261						s.is(":visible") && s.trigger("focus");
262					});
263				}), i.call(a, r, this);
264			});
265		})(jQuery);
266	}), h = a(() => {
267		(function(e) {
268			"use strict";
269			var t = [
270				"sanitize",
271				"whiteList",
272				"sanitizeFn"
273			], i = [
274				"background",
275				"cite",
276				"href",
277				"itemtype",
278				"longdesc",
279				"poster",
280				"src",
281				"xlink:href"
282			], s = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi, n = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;
283			function o(t, o) {
284				var a = t.nodeName.toLowerCase();
285				if (-1 !== e.inArray(a, o)) return -1 === e.inArray(a, i) || Boolean(t.nodeValue.match(s) || t.nodeValue.match(n));
286				for (var r = e(o).filter(function(e, t) {
287					return t instanceof RegExp;
288				}), l = 0, d = r.length; l < d; l++) if (a.match(r[l])) return !0;
289				return !1;
290			}
291			function a(t, i, s) {
292				if (0 === t.length) return t;
293				if (s && "function" == typeof s) return s(t);
294				if (!document.implementation || !document.implementation.createHTMLDocument) return t;
295				var n = document.implementation.createHTMLDocument("sanitization");
296				n.body.innerHTML = t;
297				for (var a = e.map(i, function(e, t) {
298					return t;
299				}), r = e(n.body).find("*"), l = 0, d = r.length; l < d; l++) {
300					var c = r[l], p = c.nodeName.toLowerCase();
301					if (-1 !== e.inArray(p, a)) for (var u = e.map(c.attributes, function(e) {
302						return e;
303					}), h = [].concat(i["*"] || [], i[p] || []), m = 0, f = u.length; m < f; m++) o(u[m], h) || c.removeAttribute(u[m].nodeName);
304					else c.parentNode.removeChild(c);
305				}
306				return n.body.innerHTML;
307			}
308			var r = function(e, t) {
309				this.type = null, this.options = null, this.enabled = null, this.timeout = null, this.hoverState = null, this.$element = null, this.inState = null, this.init("tooltip", e, t);
310			};
311			r.VERSION = "3.4.1", r.TRANSITION_DURATION = 150, r.DEFAULTS = {
312				animation: !0,
313				placement: "top",
314				selector: !1,
315				template: "<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>",
316				trigger: "hover focus",
317				title: "",
318				delay: 0,
319				html: !1,
320				container: !1,
321				viewport: {
322					selector: "body",
323					padding: 0
324				},
325				sanitize: !0,
326				sanitizeFn: null,
327				whiteList: {
328					"*": [
329						"class",
330						"dir",
331						"id",
332						"lang",
333						"role",
334						/^aria-[\w-]*$/i
335					],
336					a: [
337						"target",
338						"href",
339						"title",
340						"rel"
341					],
342					area: [],
343					b: [],
344					br: [],
345					col: [],
346					code: [],
347					div: [],
348					em: [],
349					hr: [],
350					h1: [],
351					h2: [],
352					h3: [],
353					h4: [],
354					h5: [],
355					h6: [],
356					i: [],
357					img: [
358						"src",
359						"alt",
360						"title",
361						"width",
362						"height"
363					],
364					li: [],
365					ol: [],
366					p: [],
367					pre: [],
368					s: [],
369					small: [],
370					span: [],
371					sub: [],
372					sup: [],
373					strong: [],
374					u: [],
375					ul: []
376				}
377			}, r.prototype.init = function(t, i, s) {
378				if (this.enabled = !0, this.type = t, this.$element = e(i), this.options = this.getOptions(s), this.$viewport = this.options.viewport && e(document).find(e.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : this.options.viewport.selector || this.options.viewport), this.inState = {
379					click: !1,
380					hover: !1,
381					focus: !1
382				}, this.$element[0] instanceof document.constructor && !this.options.selector) throw new Error("`selector` option must be specified when initializing " + this.type + " on the window.document object!");
383				for (var n = this.options.trigger.split(" "), o = n.length; o--;) {
384					var a = n[o];
385					if ("click" == a) this.$element.on("click." + this.type, this.options.selector, e.proxy(this.toggle, this));
386					else if ("manual" != a) {
387						var r = "hover" == a ? "mouseenter" : "focusin", l = "hover" == a ? "mouseleave" : "focusout";
388						this.$element.on(r + "." + this.type, this.options.selector, e.proxy(this.enter, this)), this.$element.on(l + "." + this.type, this.options.selector, e.proxy(this.leave, this));
389					}
390				}
391				this.options.selector ? this._options = e.extend({}, this.options, {
392					trigger: "manual",
393					selector: ""
394				}) : this.fixTitle();
395			}, r.prototype.getDefaults = function() {
396				return r.DEFAULTS;
397			}, r.prototype.getOptions = function(i) {
398				var s = this.$element.data();
399				for (var n in s) s.hasOwnProperty(n) && -1 !== e.inArray(n, t) && delete s[n];
400				return (i = e.extend({}, this.getDefaults(), s, i)).delay && "number" == typeof i.delay && (i.delay = {
401					show: i.delay,
402					hide: i.delay
403				}), i.sanitize && (i.template = a(i.template, i.whiteList, i.sanitizeFn)), i;
404			}, r.prototype.getDelegateOptions = function() {
405				var t = {}, i = this.getDefaults();
406				return this._options && e.each(this._options, function(e, s) {
407					i[e] != s && (t[e] = s);
408				}), t;
409			}, r.prototype.enter = function(t) {
410				var i = t instanceof this.constructor ? t : e(t.currentTarget).data("bs." + this.type);
411				if (i || (i = new this.constructor(t.currentTarget, this.getDelegateOptions()), e(t.currentTarget).data("bs." + this.type, i)), t instanceof e.Event && (i.inState["focusin" == t.type ? "focus" : "hover"] = !0), i.tip().hasClass("in") || "in" == i.hoverState) i.hoverState = "in";
412				else {
413					if (clearTimeout(i.timeout), i.hoverState = "in", !i.options.delay || !i.options.delay.show) return i.show();
414					i.timeout = setTimeout(function() {
415						"in" == i.hoverState && i.show();
416					}, i.options.delay.show);
417				}
418			}, r.prototype.isInStateTrue = function() {
419				for (var e in this.inState) if (this.inState[e]) return !0;
420				return !1;
421			}, r.prototype.leave = function(t) {
422				var i = t instanceof this.constructor ? t : e(t.currentTarget).data("bs." + this.type);
423				if (i || (i = new this.constructor(t.currentTarget, this.getDelegateOptions()), e(t.currentTarget).data("bs." + this.type, i)), t instanceof e.Event && (i.inState["focusout" == t.type ? "focus" : "hover"] = !1), !i.isInStateTrue()) {
424					if (clearTimeout(i.timeout), i.hoverState = "out", !i.options.delay || !i.options.delay.hide) return i.hide();
425					i.timeout = setTimeout(function() {
426						"out" == i.hoverState && i.hide();
427					}, i.options.delay.hide);
428				}
429			}, r.prototype.show = function() {
430				var t = e.Event("show.bs." + this.type);
431				if (this.hasContent() && this.enabled) {
432					this.$element.trigger(t);
433					var i = e.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]);
434					if (t.isDefaultPrevented() || !i) return;
435					var s = this, n = this.tip(), o = this.getUID(this.type);
436					this.setContent(), n.attr("id", o), this.$element.attr("aria-describedby", o), this.options.animation && n.addClass("fade");
437					var a = "function" == typeof this.options.placement ? this.options.placement.call(this, n[0], this.$element[0]) : this.options.placement, l = /\s?auto?\s?/i, d = l.test(a);
438					d && (a = a.replace(l, "") || "top"), n.detach().css({
439						top: 0,
440						left: 0,
441						display: "block"
442					}).addClass(a).data("bs." + this.type, this), this.options.container ? n.appendTo(e(document).find(this.options.container)) : n.insertAfter(this.$element), this.$element.trigger("inserted.bs." + this.type);
443					var c = this.getPosition(), p = n[0].offsetWidth, u = n[0].offsetHeight;
444					if (d) {
445						var h = a, m = this.getPosition(this.$viewport);
446						a = "bottom" == a && c.bottom + u > m.bottom ? "top" : "top" == a && c.top - u < m.top ? "bottom" : "right" == a && c.right + p > m.width ? "left" : "left" == a && c.left - p < m.left ? "right" : a, n.removeClass(h).addClass(a);
447					}
448					var f = this.getCalculatedOffset(a, c, p, u);
449					this.applyPlacement(f, a);
450					var g = function() {
451						var e = s.hoverState;
452						s.$element.trigger("shown.bs." + s.type), s.hoverState = null, "out" == e && s.leave(s);
453					};
454					e.__transition && this.$tip.hasClass("fade") ? n.one("wpcomTransitionEnd", g).emulateTransitionEnd(r.TRANSITION_DURATION) : g();
455				}
456			}, r.prototype.applyPlacement = function(t, i) {
457				var s = this.tip(), n = s[0].offsetWidth, o = s[0].offsetHeight, a = parseInt(s.css("margin-top"), 10), r = parseInt(s.css("margin-left"), 10);
458				isNaN(a) && (a = 0), isNaN(r) && (r = 0), t.top += a, t.left += r, e.offset.setOffset(s[0], e.extend({ using: function(e) {
459					s.css({
460						top: Math.round(e.top),
461						left: Math.round(e.left)
462					});
463				} }, t), 0), s.addClass("in");
464				var l = s[0].offsetWidth, d = s[0].offsetHeight;
465				"top" == i && d != o && (t.top = t.top + o - d);
466				var c = this.getViewportAdjustedDelta(i, t, l, d);
467				c.left ? t.left += c.left : t.top += c.top;
468				var p = /top|bottom/.test(i), u = p ? 2 * c.left - n + l : 2 * c.top - o + d, h = p ? "offsetWidth" : "offsetHeight";
469				s.offset(t), this.replaceArrow(u, s[0][h], p);
470			}, r.prototype.replaceArrow = function(e, t, i) {
471				this.arrow().css(i ? "left" : "top", 50 * (1 - e / t) + "%").css(i ? "top" : "left", "");
472			}, r.prototype.setContent = function() {
473				var e = this.tip(), t = this.getTitle();
474				this.options.html ? (this.options.sanitize && (t = a(t, this.options.whiteList, this.options.sanitizeFn)), e.find(".tooltip-inner").html(t)) : e.find(".tooltip-inner").text(t), e.removeClass("fade in top bottom left right");
475			}, r.prototype.hide = function(t) {
476				var i = this, s = e(this.$tip), n = e.Event("hide.bs." + this.type);
477				function o() {
478					"in" != i.hoverState && s.detach(), i.$element && i.$element.removeAttr("aria-describedby").trigger("hidden.bs." + i.type), t && t();
479				}
480				if (this.$element.trigger(n), !n.isDefaultPrevented()) return s.removeClass("in"), e.__transition && s.hasClass("fade") ? s.one("wpcomTransitionEnd", o).emulateTransitionEnd(r.TRANSITION_DURATION) : o(), this.hoverState = null, this;
481			}, r.prototype.fixTitle = function() {
482				var e = this.$element;
483				(e.attr("title") || "string" != typeof e.attr("data-original-title")) && e.attr("data-original-title", e.attr("title") || "").attr("title", "");
484			}, r.prototype.hasContent = function() {
485				return this.getTitle();
486			}, r.prototype.getPosition = function(t) {
487				var i = (t = t || this.$element)[0], s = "BODY" == i.tagName, n = i.getBoundingClientRect();
488				null == n.width && (n = e.extend({}, n, {
489					width: n.right - n.left,
490					height: n.bottom - n.top
491				}));
492				var o = window.SVGElement && i instanceof window.SVGElement, a = s ? {
493					top: 0,
494					left: 0
495				} : o ? null : t.offset(), r = { scroll: s ? document.documentElement.scrollTop || document.body.scrollTop : t.scrollTop() }, l = s ? {
496					width: e(window).width(),
497					height: e(window).height()
498				} : null;
499				return e.extend({}, n, r, l, a);
500			}, r.prototype.getCalculatedOffset = function(e, t, i, s) {
501				return "bottom" == e ? {
502					top: t.top + t.height,
503					left: t.left + t.width / 2 - i / 2
504				} : "top" == e ? {
505					top: t.top - s,
506					left: t.left + t.width / 2 - i / 2
507				} : "left" == e ? {
508					top: t.top + t.height / 2 - s / 2,
509					left: t.left - i
510				} : {
511					top: t.top + t.height / 2 - s / 2,
512					left: t.left + t.width
513				};
514			}, r.prototype.getViewportAdjustedDelta = function(e, t, i, s) {
515				var n = {
516					top: 0,
517					left: 0
518				};
519				if (!this.$viewport) return n;
520				var o = this.options.viewport && this.options.viewport.padding || 0, a = this.getPosition(this.$viewport);
521				if (/right|left/.test(e)) {
522					var r = t.top - o - a.scroll, l = t.top + o - a.scroll + s;
523					r < a.top ? n.top = a.top - r : l > a.top + a.height && (n.top = a.top + a.height - l);
524				} else {
525					var d = t.left - o, c = t.left + o + i;
526					d < a.left ? n.left = a.left - d : c > a.right && (n.left = a.left + a.width - c);
527				}
528				return n;
529			}, r.prototype.getTitle = function() {
530				var e = this.$element, t = this.options;
531				return e.attr("data-original-title") || ("function" == typeof t.title ? t.title.call(e[0]) : t.title);
532			}, r.prototype.getUID = function(e) {
533				do
534					e += ~~(1e6 * Math.random());
535				while (document.getElementById(e));
536				return e;
537			}, r.prototype.tip = function() {
538				if (!this.$tip && (this.$tip = e(this.options.template), 1 != this.$tip.length)) throw new Error(this.type + " `template` option must consist of exactly 1 top-level element!");
539				return this.$tip;
540			}, r.prototype.arrow = function() {
541				return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow");
542			}, r.prototype.enable = function() {
543				this.enabled = !0;
544			}, r.prototype.disable = function() {
545				this.enabled = !1;
546			}, r.prototype.toggleEnabled = function() {
547				this.enabled = !this.enabled;
548			}, r.prototype.toggle = function(t) {
549				var i = this;
550				t && ((i = e(t.currentTarget).data("bs." + this.type)) || (i = new this.constructor(t.currentTarget, this.getDelegateOptions()), e(t.currentTarget).data("bs." + this.type, i))), t ? (i.inState.click = !i.inState.click, i.isInStateTrue() ? i.enter(i) : i.leave(i)) : i.tip().hasClass("in") ? i.leave(i) : i.enter(i);
551			}, r.prototype.destroy = function() {
552				var e = this;
553				clearTimeout(this.timeout), this.hide(function() {
554					e.$element.off("." + e.type).removeData("bs." + e.type), e.$tip && e.$tip.detach(), e.$tip = null, e.$arrow = null, e.$viewport = null, e.$element = null;
555				});
556			}, r.prototype.sanitizeHtml = function(e) {
557				return a(e, this.options.whiteList, this.options.sanitizeFn);
558			};
559			var l = e.fn.tooltip;
560			e.fn.tooltip = function(t) {
561				return this.each(function() {
562					var i = e(this), s = i.data("bs.tooltip"), n = "object" == typeof t && t;
563					!s && /destroy|hide/.test(t) || (s || i.data("bs.tooltip", s = new r(this, n)), "string" == typeof t && s[t]());
564				});
565			}, e.fn.tooltip.Constructor = r, e.fn.tooltip.noConflict = function() {
566				return e.fn.tooltip = l, this;
567			};
568		})(jQuery);
569	}), m = a(() => {
570		(function(e) {
571			"use strict";
572			var t = function(t) {
573				this.element = e(t);
574			};
575			function i(i) {
576				return this.each(function() {
577					var s = e(this), n = s.data("bs.tab");
578					n || s.data("bs.tab", n = new t(this)), "string" == typeof i && n[i]();
579				});
580			}
581			t.VERSION = "3.4.1", t.TRANSITION_DURATION = 150, t.prototype.show = function() {
582				var t = this.element, i = t.closest("ul:not(.dropdown-menu)"), s = t.data("target");
583				if (s || (s = (s = t.attr("href")) && s.replace(/.*(?=#[^\s]*$)/, "")), !t.parent("li").hasClass("active")) {
584					var n = i.find(".active:last a"), o = e.Event("hide.bs.tab", { relatedTarget: t[0] }), a = e.Event("show.bs.tab", { relatedTarget: n[0] });
585					if (n.trigger(o), t.trigger(a), !a.isDefaultPrevented() && !o.isDefaultPrevented()) {
586						var r = e(document).find(s);
587						this.activate(t.closest("li"), i), this.activate(r, r.parent(), function() {
588							n.trigger({
589								type: "hidden.bs.tab",
590								relatedTarget: t[0]
591							}), t.trigger({
592								type: "shown.bs.tab",
593								relatedTarget: n[0]
594							});
595						});
596					}
597				}
598			}, t.prototype.activate = function(i, s, n) {
599				var o = s.find(">
599 .active"), a = n && e.__transition && (o.length && o.hasClass("fade") || !!s.find("> .fade").length);
600				function r() {
601					o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find("[data-toggle=\"tab\"]").attr("aria-expanded", !1), i.addClass("active").find("[data-toggle=\"tab\"]").attr("aria-expanded", !0), a ? (i[0].offsetWidth, i.addClass("in")) : i.removeClass("fade"), i.parent(".dropdown-menu").length && i.closest("li.dropdown").addClass("active").end().find("[data-toggle=\"tab\"]").attr("aria-expanded", !0), n && n();
602				}
603				o.length && a ? o.one("wpcomTransitionEnd", r).emulateTransitionEnd(t.TRANSITION_DURATION) : r(), o.removeClass("in");
604			};
605			var s = e.fn.tab;
606			e.fn.tab = i, e.fn.tab.Constructor = t, e.fn.tab.noConflict = function() {
607				return e.fn.tab = s, this;
608			};
609			var n = function(t) {
610				t.preventDefault(), i.call(e(this), "show");
611			};
612			e(document).on("click.bs.tab.data-api", "[data-toggle=\"tab\"]", n).on("click.bs.tab.data-api", "[data-toggle=\"pill\"]", n);
613		})(jQuery);
614	});
615	d(), c(), p(), u(), h(), m();
616	var g = (r((e, t) => {
617		/*!
618		* Lazy Load - JavaScript plugin for lazy loading images
619		*
620		* Copyright (c) 2007-2019 Mika Tuupola
621		*
622		* Licensed under the MIT license:
623		*   http://www.opensource.org/licenses/mit-license.php
624		*
625		* Project home:
626		*   https://appelsiini.net/projects/lazyload
627		*
628		* Version: 2.0.0-rc.2
629		*
630		*/
631		var i = "undefined" != typeof global ? global : window || e.global, s = function(e) {
632			"use strict";
633			"function" == typeof define && define.amd && (e = window);
634			const t = function() {
635				try {
636					let e = navigator.userAgent.match(/Firefox\/([0-9]+)\./), t = navigator.userAgent.match(/Chrome\/([0-9]+)\./);
637					return e && e[1] >= 65 || t && t[1] >= 32 || 0 === document.createElement("canvas").toDataURL("image/webp").indexOf("data:image/webp");
638				} catch (e) {
639					return !1;
640				}
641			}();
642			function i(e, t) {
643				if (!e) return e;
644				const i = e.split("?")[0].split(".").pop().toLowerCase();
645				return [
646					"jpg",
647					"jpeg",
648					"png",
649					"bmp",
650					"tiff",
651					"tif"
652				].includes(i) ? (e.split("?").length > 1 ? e.match(/([&?]+)x-oss-process=/i) ? e = e.replace(/([&?]+)x-oss-process=/i, "$1x-oss-process=image/format,webp,") : e.match(/([&?]+)imageMogr2/i) ? e = e.replace(/([&?]+)imageMogr2\//i, "$1imageMogr2/format/webp/") : e += t.replace("?", "&") : e += t, e) : e;
653			}
654			const s = {
655				src: "data-src",
656				srcset: "data-srcset",
657				selector: ".j-lazy",
658				root: null,
659				rootMargin: "150px",
660				threshold: 0
661			}, n = function() {
662				let e = {}, t = !1, i = 0, s = arguments.length;
663				"[object Boolean]" === Object.prototype.toString.call(arguments[0]) && (t = arguments[0], i++);
664				let o = function(i) {
665					for (let s in i) Object.prototype.hasOwnProperty.call(i, s) && (t && "[object Object]" === Object.prototype.toString.call(i[s]) ? e[s] = n(!0, e[s], i[s]) : e[s] = i[s]);
666				};
667				for (; i < s; i++) o(arguments[i]);
668				return e;
669			};
670			function o(e, t) {
671				this.settings = n(s, t || {}), this.images = e || document.querySelectorAll(this.settings.selector), this.observer = null, this.init();
672			}
673			if (o.prototype = {
674				init: function() {
675					if (!e.IntersectionObserver) return void this.loadImages();
676					let s = this, n = {
677						root: this.settings.root,
678						rootMargin: this.settings.rootMargin,
679						threshold: this.settings.threshold
680					};
681					this.observer = new IntersectionObserver(function(e) {
682						Array.prototype.forEach.call(e, function(e) {
683							if (e.isIntersecting) {
684								s.observer.unobserve(e.target);
685								let n = e.target.getAttribute(s.settings.src), o = e.target.getAttribute(s.settings.srcset);
686								n && t && s.settings.webp && (n = i(n, s.settings.webp)), o && t && s.settings.webp && (o = i(o, s.settings.webp));
687								let a = jQuery(e.target);
688								"img" === e.target.tagName.toLowerCase() ? (n && (e.target.src = n), o && (e.target.srcset = o), e.target.onerror = (e) => {
689									a.trigger("lazy_loaded");
690								}) : e.target.style.backgroundImage = "url(" + n + ")", a.one("load", function() {
691									a.trigger("lazy_loaded");
692								});
693							}
694						});
695					}, n), Array.prototype.forEach.call(this.images, function(e) {
696						s.observer.observe(e);
697					});
698				},
699				loadAndDestroy: function() {
700					this.settings && (this.loadImages(), this.destroy());
701				},
702				loadImages: function() {
703					if (!this.settings) return;
704					let e = this;
705					Array.prototype.forEach.call(this.images, function(t) {
706						let i = t.getAttribute(e.settings.src), s = t.getAttribute(e.settings.srcset);
707						"img" === t.tagName.toLowerCase() ? (i && (t.src = i), s && (t.srcset = s)) : t.style.backgroundImage = "url('" + i + "')";
708					});
709				},
710				destroy: function() {
711					this.settings && (this.observer.disconnect(), this.settings = null);
712				}
713			}, e.jQuery) {
714				const t = e.jQuery;
715				t.fn.lazyload = function(e) {
716					(e = e || {}).attribute = e.attribute || "data-original", e.src = e.attribute || "data-original";
717					let i = t.makeArray(this), s = "";
718					if (i && i.length) {
719						let e = jQuery(i[0]);
720						e.is("img") ? s = e.attr("src") : (s = window.getComputedStyle(i[0]).getPropertyValue("background-image"), s && (s = s.slice(4, -1).replace(/['"]/g, "")));
721					}
722					const n = document.createElement("img");
723					return n.src = s, n.onload = () => {
724						new o(i, e);
725					}, n.onerror = () => {
726						new o(i, e);
727					}, this;
728				};
729			}
730			return o;
731		};
732		"object" == typeof e ? t.exports = s(i) : "function" == typeof define && define.amd ? define([], s) : i.LazyLoad = s(i);
733	})(), () => {
734		const e = navigator.userAgent;
735		return e.indexOf("iPhone") > 0 || e.indexOf("iPad") > 0 || e.indexOf("ipod") > 0 || e.indexOf("Android") > 0;
736	});
737	var w = function e(t, ...i) {
738		t = t || {};
739		for (let s = 0; s < i.length; s++) {
740			const n = i[s];
741			if (n) {
742				for (const i in n) if (Object.hasOwn(n, i)) {
743					const s = n[i];
744					t[i] = s && "object" == typeof s ? e(t[i] ?? {}, s) : s;
745				}
746			}
747		}
748		return t;
749	}, v = {
750		classNames: {
751			smartPhoto: "smartphoto",
752			smartPhotoClose: "smartphoto-close",
753			smartPhotoBody: "smartphoto-body",
754			smartPhotoInner: "smartphoto-inner",
755			smartPhotoContent: "smartphoto-content",
756			smartPhotoImg: "smartphoto-img",
757			smartPhotoImgOnMove: "smartphoto-img-onmove",
758			smartPhotoImgElasticMove: "smartphoto-img-elasticmove",
759			smartPhotoImgWrap: "smartphoto-img-wrap",
760			smartPhotoArrows: "smartphoto-arrows",
761			smartPhotoNav: "smartphoto-nav",
762			smartPhotoArrowRight: "smartphoto-arrow-right",
763			smartPhotoArrowLeft: "smartphoto-arrow-left",
764			smartPhotoArrowHideIcon: "smartphoto-arrow-hide",
765			smartPhotoImgLeft: "smartphoto-img-left",
766			smartPhotoImgRight: "smartphoto-img-right",
767			smartPhotoList: "smartphoto-list",
768			smartPhotoListOnMove: "smartphoto-list-onmove",
769			smartPhotoHeader: "smartphoto-header",
770			smartPhotoCount: "smartphoto-count",
771			smartPhotoCaption: "smartphoto-caption",
772			smartPhotoDismiss: "smartphoto-dismiss",
773			smartPhotoLoader: "smartphoto-loader",
774			smartPhotoLoaderWrap: "smartphoto-loader-wrap",
775			smartPhotoImgClone: "smartphoto-img-clone"
776		},
777		message: {
778			gotoNextImage: "go to the next image",
779			gotoPrevImage: "go to the previous image",
780			closeDialog: "close the image dialog",
781			carouselLabel: "Images"
782		},
783		arrows: !0,
784		nav: !0,
785		showAnimation: !0,
786		verticalGravity: !1,
787		useOrientationApi: !1,
788		useHistoryApi: !0,
789		swipeTopToClose: !1,
790		swipeBottomToClose: !0,
791		swipeOffset: 100,
792		swipeVelocity: .5,
793		headerHeight: 60,
794		footerHeight: 60,
795		forceInterval: 10,
796		registance: .5,
797		loadOffset: 2,
798		resizeStyle: "fit",
799		lazyAttribute: "data-src",
800		animationSpeed: 450
801	};
802	function y(e) {
803		return Object.keys(e).forEach((t) => {
804			const i = e[t];
805			i && "object" == typeof i && !Object.isFrozen(i) && y(i);
806		}), Object.freeze(e);
807	}
808	function b(e) {
809		return e.getAttribute("data-group") || "nogroup";
810	}
811	function x(e) {
812		return e.group || "nogroup";
813	}
814	function T(e, t, i, s) {
815		const n = b(e), o = e.getAttribute("href"), a = e.querySelector("img");
816		let r = o;
817		a && (r = a.getAttribute(t.lazyAttribute) ? a.getAttribute(t.lazyAttribute) : a.currentSrc ? a.currentSrc : a.src);
818		let l = "";
819		l = a?.getAttribute("alt") ? a.getAttribute("alt") : e.getAttribute("data-caption") ? e.getAttribute("data-caption") : o ?? "";
820		const d = e.getAttribute("data-id");
821		return {
822			src: o,
823			thumb: r,
824			caption: e.getAttribute("data-caption"),
825			alt: l,
826			groupId: n,
827			translateX: s * i,
828			translateY: 0,
829			index: i,
830			width: 50,
831			height: 50,
832			scale: 1,
833			x: 0,
834			y: 0,
835			id: d || i,
836			loaded: !1,
837			processed: !1,
838			element: e
839		};
840	}
841	function C(e, t) {
842		e.groups.has(t.groupId) || e.groups.set(t.groupId, []), e.groups.get(t.groupId).push(t), e.viewer.currentGroup = t.groupId;
843	}
844	function E(e) {
845		return null === e.viewer.currentGroup ? null : e.groups.get(e.viewer.currentGroup) ?? null;
846	}
847	function S(e) {
848		const t = E(e);
849		return t ? t[e.viewer.currentIndex] ?? null : null;
850	}
851	function _(e) {
852		const t = E(e);
853		if (!t) return;
854		const i = t.length, s = e.viewer.currentIndex + 1, n = e.viewer.currentIndex - 1;
855		e.viewer.showNextArrow = !1, e.viewer.showPrevArrow = !1, s !== i && (e.viewer.next = s, e.viewer.showNextArrow = !0), -1 !== n && (e.viewer.prev = n, e.viewer.showPrevArrow = !0);
856	}
857	function k(e, t) {
858		e.forEach((e, i) => {
859			e.translateX = t * i;
860		});
861	}
862	function j(e, t) {
863		const i = 10 ** t;
864		return Math.round(e * i) / i;
865	}
866	function P(e, t, i, s) {
867		return s ? e.width > e.height ? i / (e.height * e.scale) : t / (e.width * e.scale) : 1 / e.scale;
868	}
869	function M(e, t) {
870		const i = 10 ** t;
871		return Math.round(e * i) / i;
872	}
873	function I(e) {
874		return {
875			x: e.pageX,
876			y: e.pageY
877		};
878	}
879	function L(e, t) {
880		const i = e.x - t.x, s = e.y - t.y;
881		return Math.sqrt(i * i + s * s);
882	}
883	function A() {
884		return {
885			width: document.documentElement.clientWidth,
886			height: document.documentElement.clientHeight
887		};
888	}
889	function O({ state: e, callbacks: t }, { signal: i }) {
890		const s = /* @__PURE__ */ new Map();
891		let n = Date.now(), o = !1, a = !1, r = null, l = null, d = null, c = 0, p = !1, u = null, h = null, m = 0, f = 0, w = !1, v = 0, y = null, b = 0, x = 0;
892		function T() {
893			return g();
894		}
895		function C(t) {
896			const { width: i, height: s } = A();
897			return function(e, t, i, s) {
898				const n = e.width * e.scale * t.scaleSize, o = e.height * e.scale * t.scaleSize;
899				let a, r, l, d;
900				return i > n ? (l = (i - n) / 2, a = -1 * l) : (l = (n - i) / 2, a = -1 * l), s > o ? (d = (s - o) / 2, r = -1 * d) : (d = (o - s) / 2, r = -1 * d), {
901					minX: j(a, 6) * t.scaleSize,
902					minY: j(r, 6) * t.scaleSize,
903					maxX: j(l, 6) * t.scaleSize,
904					maxY: j(d, 6) * t.scaleSize
905				};
906			}(t, e.viewer, i, s);
907		}
908		function _(e) {
909			const { width: t, height: i } = A();
910			return P(e, t, i, T());
911		}
912		const k = setInterval(() => {
913			if (w || o || p || e.viewer.elastic || !e.viewer.scale) return;
914			e.viewer.photoPosX += b, e.viewer.photoPosY += x;
915			const i = S(e);
916			if (!i) return;
917			const s = C(i);
918			e.viewer.photoPosX < s.minX ? (e.viewer.photoPosX = s.minX, b *= -.2) : e.viewer.photoPosX > s.maxX && (e.viewer.photoPosX = s.maxX, b *= -.2), e.viewer.photoPosY < s.minY ? (e.viewer.photoPosY = s.minY, x *= -.2) : e.viewer.photoPosY > s.maxY && (e.viewer.photoPosY = s.maxY, x *= -.2);
919			const n = (a = b, r = x, {
920				force: Math.sqrt(a * a + r * r),
921				theta: Math.atan2(r, a)
922			});
923			var a, r;
924			const l = n.force - e.options.registance;
925			Math.abs(l) < .5 || (b = Math.cos(n.theta) * l, x = Math.sin(n.theta) * l, t.onPhotoDragMove());
926		}, e.options.forceInterval);
927		function O(t, i) {
928			(t > 5 || t < -5) && (b += .05 * t), e.options.verticalGravity && (i > 5 || i < -5) && (x += .05 * i);
929		}
930		function $(i) {
931			try {
932				i.currentTarget.setPointerCapture?.(i.pointerId);
933			} catch {}
934			s.set(i.pointerId, I(i)), s.size > 1 ? function() {
935				w = !0, o = !1, p = !1;
936				const i = Array.from(s.values());
937				v = L(i[0], i[1]), e.viewer.scale = !0, t.onGestureStart();
938			}() : e.viewer.scale ? function(e) {
939				p = !0;
940				const t = I(e);
941				h = t, u = t;
942			}(i) : function(e) {
943				const t = I(e);
944				o = !0, a = !0, r = t, l = t, c = Date.now();
945			}(i);
946		}
947		function z() {
948			const i = Array.from(s.values()), n = L(i[0], i[1]), o = (n - v) / 100, a = e.viewer.scaleSize, r = e.viewer.photoPosX, l = e.viewer.photoPosY;
949			e.viewer.scaleSize += M(o, 6), e.viewer.scaleSize < .2 && (e.viewer.scaleSize = .2), e.viewer.scaleSize < a && (e.viewer.photoPosX = (1 + e.viewer.scaleSize - a) * r, e.viewer.photoPosY = (1 + e.viewer.scaleSize - a) * l);
950			const d = S(e);
951			if (d) {
952				const t = _(d);
953				e.viewer.hideUi = e.viewer.scaleSize < 1 || e.viewer.scaleSize > t;
954			}
955			v = n, null === y && (y = requestAnimationFrame(() => {
956				y = null, t.onGestureMove();
957			}));
958		}
959		function D(i) {
960			s.has(i.pointerId) && (s.set(i.pointerId, I(i)), w ? z() : p ? function(i) {
961				const s = I(i), n = s.x - h.x, o = s.y - h.y, a = M(e.viewer.scaleSize * n, 6), r = M(e.viewer.scaleSize * o, 6);
962				e.viewer.photoPosX += a, m = a, e.viewer.photoPosY += r, f = r, h = s, t.onPhotoDragMove();
963			}(i) : function(i) {
964				const s = I(i), n = s.x - l.x, o = s.y - r.y;
965				a && (t.onSwipeStart(), a = !1, d = Math.abs(n) > Math.abs(o) ? "horizontal" : "vertical"), "horizontal" === d ? e.viewer.translateX += n : e.viewer.translateY = o, l = s, t.onSwipeMove();
966			}(i));
967		}
968		function N() {
969			w = !1, null !== y && (cancelAnimationFrame(y), y = null, t.onGestureMove());
970			const i = S(e);
971			if (!i) return;
972			const s = _(i);
973			e.viewer.scaleSize > s || (e.viewer.photoPosX = 0, e.viewer.photoPosY = 0, e.viewer.scale = !1, e.viewer.scaleSize = 1, e.viewer.hideUi = !1, t.onGestureEnd());
974		}
975		function B() {
976			p = !1;
977			const i = u;
978			if (h.x === i.x) return void t.onPhotoDragEnd("zoom-out");
979			const s = S(e);
980			if (!s) return void t.onPhotoDragEnd(null);
981			const n = C(s), o = e.options.swipeOffset * e.viewer.scaleSize;
982			let a = 0, r = 0;
983			e.viewer.photoPosX > n.maxX ? a = -1 : e.viewer.photoPosX < n.minX && (a = 1), e.viewer.photoPosY > n.maxY ? r = -1 : e.viewer.photoPosY < n.minY && (r = 1), e.viewer.photoPosX - n.maxX > o && 0 !== e.viewer.currentIndex ? t.onPhotoDragEnd("prev") : n.minX - e.viewer.photoPosX > o && e.viewer.currentIndex + 1 !== e.viewer.total ? t.onPhotoDragEnd("next") : (0 === a && 0 === r ? (b = m / 5, x = f / 5) : function(i, s) {
984				const n = C(S(e));
985				e.viewer.elastic = !0, 1 === i ? e.viewer.photoPosX = n.minX : -1 === i && (e.viewer.photoPosX = n.maxX), 1 === s ? e.viewer.photoPosY = n.minY : -1 === s && (e.viewer.photoPosY = n.maxY), t.onPhotoDragMove(), setTimeout(() => {
986					e.viewer.elastic = !1, t.onPhotoDragMove();
987				}, 300);
988			}(a, r), t.onPhotoDragEnd(null));
989		}
990		function R(i) {
991			s.delete(i.pointerId), w ? s.size < 2 && N() : p ? B() : o && function() {
992				o = !1;
993				const i = r, s = l, a = Date.now(), p = n - a, u = s.x - i.x, h = s.y - i.y, m = 0 === u && 0 === h;
994				if (!T() && m) return void t.onTap();
995				if (Math.abs(p) <= 500 && m) return void t.onTap();
996				n = a;
997				const f = E(e) ?? [];
998				if ("horizontal" === d) {
999					let i = "stay";
1000					const s = Math.max(a - c, 1), n = Math.abs(u) >= 10 && Math.abs(u) / s >= e.options.swipeVelocity;
1001					(u >= e.options.swipeOffset || n && u > 0) && 0 !== e.viewer.currentIndex ? i = "prev" : (u <= -e.options.swipeOffset || n && u < 0) && e.viewer.currentIndex !== f.length - 1 && (i = "next"), t.onSwipeEnd(i);
1002				} else {
1003					let i = "stay";
1004					e.options.swipeBottomToClose && h >= e.options.swipeOffset ? i = "close-bottom" : e.options.swipeTopToClose && h <= -e.options.swipeOffset && (i = "close-top"), t.onSwipeEnd(i);
1005				}
1006			}();
1007		}
1008		return e.options.useOrientationApi && window.addEventListener("deviceorientation", function(t) {
1009			if (!t?.gamma || e.viewer.appearEffect) return;
1010			if (w || o || p || e.viewer.elastic || !e.viewer.scale) return;
1011			const { orientation: i } = window;
1012			0 === i ? O(t.gamma, t.beta) : 90 === i ? O(t.beta, t.gamma) : -90 === i ? O(-t.beta, -t.gamma) : 180 === i && O(-t.gamma, -t.beta);
1013		}, { signal: i }), {
1014			attach: function(...e) {
1015				for (const t of e) t.addEventListener("pointerdown", $, { signal: i }), t.addEventListener("pointermove", D, { signal: i }), t.addEventListener("pointerup", R, { signal: i }), t.addEventListener("pointercancel", R, { signal: i });
1016			},
1017			detach: function() {
1018				clearInterval(k), null !== y && (cancelAnimationFrame(y), y = null);
1019			}
1020		};
1021	}
1022	function $(e) {
1023		const t = document.createElement("span");
1024		return t.className = "smartphoto-sr-only", t.textContent = e, t;
1025	}
1026	function z() {
1027		const e = document.createElement("button");
1028		return e.type = "button", e;
1029	}
1030	function D({ id: e, options: t }, i, { signal: s }) {
1031		const { classNames: n, message: o } = t, a = document.createElement("div");
1032		a.setAttribute("data-id", e);
1033		const r = document.createElement("dialog");
1034		r.className = n.smartPhoto, r.setAttribute("aria-labelledby", `smartphoto-${e}-title`), r.style.setProperty("--smartphoto-animation-speed", `${t.animationSpeed}ms`);
1035		const l = document.createElement("div");
1036		l.className = n.smartPhotoBody;
1037		const d = document.createElement("div");
1038		d.className = n.smartPhotoInner;
1039		const c = document.createElement("div");
1040		c.className = n.smartPhotoHeader;
1041		const p = document.createElement("span");
1042		p.className = n.smartPhotoCount;
1043		const u = document.createElement("h1");
1044		u.id = `smartphoto-${e}-title`, u.className = n.smartPhotoCaption, u.setAttribute("tabindex", "-1");
1045		const h = document.createElement("button");
1046		h.className = n.smartPhotoDismiss, h.appendChild($(o.closeDialog)), h.addEventListener("click", () => i.onDismiss(), { signal: s }), c.append(p, u, h);
1047		const m = document.createElement("div");
1048		m.className = n.smartPhotoContent, m.addEventListener("click", (e) => {
1049			e.target === m && i.onBackdropClick();
1050		}, { signal: s });
1051		const f = document.createElement("ul");
1052		f.className = n.smartPhotoList, f.setAttribute("role", "region"), f.setAttribute("aria-roledescription", "carousel"), f.setAttribute("aria-label", o.carouselLabel), f.setAttribute("aria-live", "polite"), f.setAttribute("aria-atomic", "false"), d.append(c, m, f);
1053		let g = null, w = null, v = null;
1054		if (t.arrows) {
1055			g = document.createElement("ul"), g.className = n.smartPhotoArrows, w = document.createElement("li"), w.className = n.smartPhotoArrowLeft;
1056			const e = z();
1057			e.appendChild($(o.gotoPrevImage)), e.addEventListener("click", () => i.onPrev(), { signal: s }), w.appendChild(e), v = document.createElement("li"), v.className = n.smartPhotoArrowRight;
1058			const t = z();
1059			t.appendChild($(o.gotoNextImage)), t.addEventListener("click", () => i.onNext(), { signal: s }), v.appendChild(t), g.append(w, v), d.appendChild(g);
1060		}
1061		let y = null, b = null;
1062		t.nav && (y = document.createElement("nav"), y.className = n.smartPhotoNav, y.setAttribute("aria-label", "Choose slide to display"), b = document.createElement("ul"), y.appendChild(b), d.appendChild(y)), l.appendChild(d), r.appendChild(l), a.appendChild(r);
1063		const x = {
1064			dialog: r,
1065			count: p,
1066			caption: u,
1067			dismiss: h,
1068			content: m,
1069			list: f,
1070			arrows: g,
1071			arrowLeft: w,
1072			arrowRight: v,
1073			nav: y,
1074			navList: b,
1075			slides: /* @__PURE__ */ new Map(),
1076			imgClone: null
1077		};
1078		function T(e) {
1079			const t = document.createElement("div");
1080			t.className = n.smartPhotoImgWrap;
1081			const i = document.createElement("img");
1082			return i.className = n.smartPhotoImg, i.src = e.src ?? "", i.alt = e.alt ?? "", i.addEventListener("dragstart", (e) => e.preventDefault(), { signal: s }), t.appendChild(i), {
1083				imgWrap: t,
1084				img: i
1085			};
1086		}
1087		function C(e) {
1088			e && document.activeElement && e.contains(document.activeElement) && x.caption.focus();
1089		}
1090		function E(e) {
1091			const { viewer: t } = e;
1092			x.count.textContent = `${t.currentIndex + 1}/${t.total}`, x.slides.forEach((e, i) => {
1093				const s = function(e, t) {
1094					if (t.imgWrap || !e.processed) return t;
1095					const { imgWrap: i, img: s } = T(e);
1096					return t.loaderWrap?.replaceWith(i), t.loaderWrap = null, t.imgWrap = i, t.img = s, t;
1097				}(i, e), o = i.index === t.currentIndex;
1098				s.li.style.transform = `translate(${i.translateX}px,${i.translateY}px)`, s.li.classList.toggle("current", o), o ? s.li.removeAttribute("aria-hidden") : s.li.setAttribute("aria-hidden", "true"), o && (x.caption.textContent = i.caption ?? ""), s.imgWrap && s.img && (s.imgWrap.style.transform = `translate(${i.x}px,${i.y}px) scale(${i.scale})`, s.img.style.width = `${i.width}px`, s.img.classList.toggle("active", t.appear), s.img.classList.toggle(n.smartPhotoImgOnMove, t.scale), s.img.classList.toggle(n.smartPhotoImgElasticMove, t.elastic)), s.navLink && (s.navLink.classList.toggle("current", o), o ? s.navLink.setAttribute("aria-current", "true") : s.navLink.removeAttribute("aria-current"));
1099			}), x.arrowLeft && (t.showPrevArrow ? x.arrowLeft.removeAttribute("aria-hidden") : (C(x.arrowLeft), x.arrowLeft.setAttribute("aria-hidden", "true"))), x.arrowRight && (t.showNextArrow ? x.arrowRight.removeAttribute("aria-hidden") : (C(x.arrowRight), x.arrowRight.setAttribute("aria-hidden", "true"))), x.arrows && (t.hideUi && C(x.arrows), x.arrows.setAttribute("aria-hidden", t.hideUi ? "true" : "false")), x.nav && (t.hideUi && C(x.nav), x.nav.setAttribute("aria-hidden", t.hideUi ? "true" : "false"));
1100		}
1101		return {
1102			root: a,
1103			refs: x,
1104			render: E,
1105			syncSlides: function(e, t) {
1106				x.list.replaceChildren(), x.navList?.replaceChildren(), x.slides = /* @__PURE__ */ new Map(), e.forEach((t) => {
1107					const o = document.createElement("li");
1108					o.setAttribute("role", "group"), o.setAttribute("aria-roledescription", "slide"), o.setAttribute("aria-label", `${t.index + 1} of ${e.length}`);
1109					const a = {
1110						li: o,
1111						loaderWrap: null,
1112						imgWrap: null,
1113						img: null,
1114						navLink: null
1115					};
1116					if (t.processed) {
1117						const { imgWrap: e, img: i } = T(t);
1118						o.appendChild(e), a.imgWrap = e, a.img = i;
1119					} else {
1120						const e = function() {
1121							const e = document.createElement("div");
1122							e.className = n.smartPhotoLoaderWrap;
1123							const t = document.createElement("span");
1124							return t.className = n.smartPhotoLoader, e.appendChild(t), e;
1125						}();
1126						o.appendChild(e), a.loaderWrap = e;
1127					}
1128					if (x.list.appendChild(o), x.slides.set(t, a), x.navList) {
1129						const e = document.createElement("li"), n = z();
1130						n.style.backgroundImage = `url("${r = t.thumb ?? "", r.replace(/"/g, "\\\"")}")`;
1131						const o = t.index;
1132						n.addEventListener("click", () => i.onNavigate(o), { signal: s }), n.appendChild($(`go to ${t.caption ?? ""}`)), e.appendChild(n), x.navList.appendChild(e), a.navLink = n;
1133					}
1134					var r;
1135				}), E(t);
1136			},
1137			updatePhotoTransform: function(e) {
1138				const { viewer: t } = e, i = function(e) {
1139					for (const [t, i] of x.slides) if (t.index === e.viewer.currentIndex) return i;
1140					return null;
1141				}(e)?.img;
1142				i && (i.style.transform = `translate(${t.photoPosX}px,${t.photoPosY}px) scale(${t.scaleSize})`, i.classList.toggle(n.smartPhotoImgOnMove, t.scale), i.classList.toggle(n.smartPhotoImgElasticMove, t.elastic)), x.nav && (t.hideUi && C(x.nav), x.nav.setAttribute("aria-hidden", t.hideUi ? "true" : "false")), x.arrows && (t.hideUi && C(x.arrows), x.arrows.setAttribute("aria-hidden", t.hideUi ? "true" : "false"));
1143			},
1144			updateListTransform: function(e) {
1145				const { viewer: t } = e;
1146				x.list.style.transform = `translate(${t.translateX}px,${t.translateY}px)`, x.list.classList.toggle(n.smartPhotoListOnMove, t.onMove);
1147			},
1148			showAppearEffect: function(e) {
1149				const t = document.createElement("img");
1150				t.className = n.smartPhotoImgClone, t.src = e.img, t.style.width = `${e.width}px`, t.style.height = `${e.height}px`, t.style.transform = `translate(${e.left}px,${e.top}px) scale(1)`, l.appendChild(t), x.imgClone = t;
1151			},
1152			removeAppearEffect: function() {
1153				x.imgClone?.remove(), x.imgClone = null;
1154			},
1155			destroy: function() {
1156				a.remove();
1157			}
1158		};
1159	}
1160	function N() {
1161		return document.documentElement.clientWidth;
1162	}
1163	function B() {
1164		const e = window.visualViewport;
1165		return e ? e.height * e.scale : document.documentElement.clientHeight;
1166	}
1167	function R() {
1168		return {
1169			x: void 0 !== window.pageXOffset ? window.pageXOffset : document.documentElement.scrollLeft,
1170			y: void 0 !== window.pageYOffset ? window.pageYOffset : document.documentElement.scrollTop
1171		};
1172	}
1173	var q, G = class {
1174		constructor(e, t) {
1175			this.id = (Date.now().toString(36) + Math.random().toString(36).substring(2, 7)).toUpperCase(), this.abortController = new AbortController(), this.isSmartPhoneFlag = g(), this.lastTriggerElement = null, this.isFiringPublicCloseEvent = !1, this.finishHideEffect = null, this.timeouts = [], this.loadAllFired = /* @__PURE__ */ new Set(), this.syncedGroupId = null, this.rootSelector = null, this.itemsByElement = /* @__PURE__ */ new Map(), this.handleDocumentClick = (e) => {
1176				if (!(e.target instanceof Element)) return;
1177				const t = e;
1178				if (t.__smartphotoClaimed) return;
1179				let i = this.findRegisteredAncestor(e.target);
1180				if (!i && this.rootSelector && (i = e.target.closest(this.rootSelector)), !i) return;
1181				if (e.preventDefault(), t.__smartphotoClaimed = !0, !this.itemsByElement.has(i) && this.rootSelector) {
1182					const e = b(i);
1183					this.resyncGroupFromDom(e) && this.syncCurrentGroupView();
1184				}
1185				const s = this.itemsByElement.get(i);
1186				s && this.openPhoto(s, i);
1187			}, this.updateViewportHeight = () => {
1188				this.view.refs.dialog.style.setProperty("--smartphoto-vh", `${B()}px`);
1189			}, this.handleResize = () => {
1190				E(this.state) && (this.updateViewportHeight(), this.resetTranslateCurrent(), this.setPosByCurrentIndex(), this.setSizeByScreen(), this.commit());
1191			}, this.handleKeydown = (e) => {
1192				if (!this.state.viewer.isOpen) return;
1193				const t = e.keyCode || e.which;
1194				37 === t ? this.gotoSlide(this.state.viewer.prev) : 39 === t ? this.gotoSlide(this.state.viewer.next) : 27 === t && this.hidePhoto();
1195			}, this.handleOrientationChange = () => {
1196				if (!E(this.state)) return;
1197				this.updateViewportHeight(), this.resetTranslateCurrent(), this.setPosByCurrentIndex(), this.setHashByCurrentIndex(), this.setSizeByScreen(), this.commit();
1198				const e = N(), t = (i) => {
1199					this.scheduleTimeout(() => {
1200						e !== N() ? (this.updateViewportHeight(), this.resetTranslateCurrent(), this.setPosByCurrentIndex(), this.setHashByCurrentIndex(), this.setSizeByScreen(), this.commit()) : i <= 500 && t(i + 25);
1201					}, 25);
1202				};
1203				t(0);
1204			}, this.rootSelector = "string" == typeof e ? e : null, this.state = function(e) {
1205				return {
1206					options: y(w({}, v, e)),
1207					viewer: {
1208						isOpen: !1,
1209						currentGroup: null,
1210						currentIndex: 0,
1211						oldIndex: 0,
1212						total: 0,
1213						translateX: 0,
1214						translateY: 0,
1215						photoPosX: 0,
1216						photoPosY: 0,
1217						scaleSize: 1,
1218						scale: !1,
1219						elastic: !1,
1220						hideUi: !1,
1221						onMove: !1,
1222						appear: !1,
1223						appearEffect: null,
1224						prev: -1,
1225						next: -1,
1226						showPrevArrow: !1,
1227						showNextArrow: !1
1228					},
1229					groups: /* @__PURE__ */ new Map()
1230				};
1231			}(t ?? {}), this.view = D({
1232				id: this.id,
1233				options: this.state.options
1234			}, this.buildViewHandlers(), { signal: this.abortController.signal }), document.body.appendChild(this.view.root), this.gestures = O({
1235				state: this.state,
1236				callbacks: this.buildGestureCallbacks()
1237			}, { signal: this.abortController.signal }), this.gestures.attach(this.view.refs.content, this.view.refs.list), this.view.refs.dialog.addEventListener("close", () => {
1238				!this.isFiringPublicCloseEvent && this.state.viewer.isOpen && this.hidePhoto();
1239			}, { signal: this.abortController.signal }), document.addEventListener("click", this.handleDocumentClick, { signal: this.abortController.signal }), this.ingestSource(e), this.syncCurrentGroupView();
1240			const i = this.restoreFromHash();
1241			if (i && this.openPhoto(i, i.element), this.updateViewportHeight(), window.visualViewport ? window.visualViewport.addEventListener("resize", this.updateViewportHeight, { signal: this.abortController.signal }
1241) : window.addEventListener("resize", this.updateViewportHeight, { signal: this.abortController.signal }), !this.isSmartPhoneFlag) return window.addEventListener("resize", this.handleResize, { signal: this.abortController.signal }), void window.addEventListener("keydown", this.handleKeydown, { signal: this.abortController.signal });
1242			window.addEventListener("orientationchange", this.handleOrientationChange, { signal: this.abortController.signal });
1243		}
1244		on(e, t) {
1245			const i = this.view.refs.dialog;
1246			i.addEventListener(e, (e) => t.call(i, e), { signal: this.abortController.signal });
1247		}
1248		destroy() {
1249			this.state.viewer.isOpen = !1, this.view.refs.dialog.open && this.view.refs.dialog.close(), this.abortController.abort(), this.timeouts.forEach((e) => {
1250				clearTimeout(e);
1251			}), this.timeouts = [], this.itemsByElement.clear(), this.gestures.detach(), this.view.destroy();
1252		}
1253		[Symbol.dispose]() {
1254			this.destroy();
1255		}
1256		gotoSlide(e) {
1257			this.state.viewer.currentIndex = Number.parseInt(String(e), 10), this.state.viewer.currentIndex || (this.state.viewer.currentIndex = 0), this.slideList();
1258		}
1259		hidePhoto(e = "bottom") {
1260			if (!this.state.viewer.isOpen) return;
1261			this.state.viewer.isOpen = !1, this.state.viewer.appear = !1, this.state.viewer.appearEffect = null, this.view.removeAppearEffect(), this.state.viewer.hideUi = !1, this.state.viewer.scale = !1, this.state.viewer.scaleSize = 1;
1262			const t = R();
1263			location.hash && this.setHash(""), window.scroll(t.x, t.y), this.syncDialog(), this.lastTriggerElement?.isConnected && this.lastTriggerElement.focus(), this.lastTriggerElement = null, this.doHideEffect(e).then(() => {
1264				this.view.render(this.state), this.isFiringPublicCloseEvent = !0, this.fireEvent("close"), this.isFiringPublicCloseEvent = !1;
1265			});
1266		}
1267		zoomPhoto() {
1268			const e = S(this.state);
1269			e && (this.state.viewer.hideUi = !0, this.state.viewer.scaleSize = P(e, N(), B(), this.isSmartPhoneFlag), this.state.viewer.scaleSize <= 1 || (this.state.viewer.photoPosX = 0, this.state.viewer.photoPosY = 0, this.view.updatePhotoTransform(this.state), this.scheduleTimeout(() => {
1270				this.state.viewer.scale = !0, this.view.updatePhotoTransform(this.state), this.fireEvent("zoomin");
1271			}, 300)));
1272		}
1273		zoomOutPhoto() {
1274			this.state.viewer.scaleSize = 1, this.state.viewer.hideUi = !1, this.state.viewer.scale = !1, this.state.viewer.photoPosX = 0, this.state.viewer.photoPosY = 0, this.view.updatePhotoTransform(this.state), this.fireEvent("zoomout");
1275		}
1276		addNewItem(e) {
1277			return this.addItem(e);
1278		}
1279		show(e = 0, t = {}) {
1280			const i = t.group ?? this.state.viewer.currentGroup;
1281			if (null === i) return;
1282			const s = this.state.groups.get(i);
1283			if (!s?.length) return;
1284			const n = "number" == typeof e ? s[e] : s.find((t) => t.id === e);
1285			if (!n) return;
1286			const o = document.activeElement instanceof HTMLElement ? document.activeElement : null, a = t.trigger ?? n.element ?? o;
1287			this.openPhoto(n, a);
1288		}
1289		hide() {
1290			this.hidePhoto();
1291		}
1292		next() {
1293			this.state.viewer.showNextArrow && this.gotoSlide(this.state.viewer.next);
1294		}
1295		prev() {
1296			this.state.viewer.showPrevArrow && this.gotoSlide(this.state.viewer.prev);
1297		}
1298		addItem(e) {
1299			const t = e instanceof HTMLElement ? this.addElementItem(e) : this.addSlideItem(e);
1300			return this.syncCurrentGroupView(), t;
1301		}
1302		get currentIndex() {
1303			return this.state.viewer.currentIndex;
1304		}
1305		ingestSource(e) {
1306			!Array.isArray(e) || function(e) {
1307				return e.length > 0 && e[0] instanceof Element;
1308			}(e) ? ("string" == typeof e ? Array.from(document.querySelectorAll(e)) : Array.from(e)).forEach((e) => {
1309				this.addElementItem(e);
1310			}) : e.forEach((e) => {
1311				this.addSlideItem(e);
1312			});
1313		}
1314		addElementItem(e) {
1315			const t = b(e), i = this.state.groups.get(t)?.length ?? 0, s = T(e, this.state.options, i, N());
1316			return C(this.state, s), this.loadAllFired.delete(t), this.itemsByElement.set(e, s), s;
1317		}
1318		addSlideItem(e) {
1319			const t = x(e), i = function(e, t, i) {
1320				const s = x(e), n = e.src, o = e.thumb ?? n, a = e.caption ?? null, r = e.alt ?? a ?? n, l = "number" == typeof e.width && "number" == typeof e.height;
1321				return {
1322					src: n,
1323					thumb: o,
1324					caption: a,
1325					alt: r,
1326					groupId: s,
1327					translateX: i * t,
1328					translateY: 0,
1329					index: t,
1330					width: l ? e.width : 50,
1331					height: l ? e.height : 50,
1332					scale: 1,
1333					x: 0,
1334					y: 0,
1335					id: e.id ?? t,
1336					loaded: l,
1337					processed: !1,
1338					element: null
1339				};
1340			}(e, this.state.groups.get(t)?.length ?? 0, N());
1341			return C(this.state, i), this.loadAllFired.delete(t), i;
1342		}
1343		findRegisteredAncestor(e) {
1344			let t = e;
1345			for (; t;) {
1346				if (this.itemsByElement.has(t)) return t;
1347				t = t.parentElement;
1348			}
1349			return null;
1350		}
1351		resyncGroupFromDom(e) {
1352			if (!this.rootSelector) return !1;
1353			const t = Array.from(document.querySelectorAll(this.rootSelector)).filter((t) => b(t) === e), i = new Set(t), s = this.state.groups.get(e) ?? [], n = /* @__PURE__ */ new Map();
1354			s.forEach((e) => {
1355				e.element && n.set(e.element, e);
1356			});
1357			let o = t.length !== s.length;
1358			const a = t.map((e, t) => {
1359				const i = n.get(e);
1360				if (i) return i.index !== t && (o = !0, i.index = t), i;
1361				o = !0;
1362				const s = T(e, this.state.options, t, N());
1363				return this.itemsByElement.set(e, s), s;
1364			});
1365			return s.forEach((e) => {
1366				e.element && !i.has(e.element) && this.itemsByElement.delete(e.element);
1367			}), k(a, N()), this.state.groups.set(e, a), o && this.loadAllFired.delete(e), o;
1368		}
1369		syncCurrentGroupView() {
1370			const e = E(this.state);
1371			e && (this.view.syncSlides(e, this.state), this.syncedGroupId = this.state.viewer.currentGroup);
1372		}
1373		setHash(e) {
1374			if (!window.history?.pushState || !this.state.options.useHistoryApi) return;
1375			const t = `${location.pathname}${location.search}`;
1376			window.history.replaceState(null, "", e ? `${t}#${e}` : t);
1377		}
1378		setHashByCurrentIndex() {
1379			const e = R();
1380			this.setHash(function(e) {
1381				const t = S(e);
1382				return t ? `group=${e.viewer.currentGroup}&photo=${t.id}` : "";
1383			}(this.state)), window.scroll(e.x, e.y);
1384		}
1385		restoreFromHash() {
1386			const e = location.hash.substring(1);
1387			return e ? function(e, t) {
1388				let i = null;
1389				return e.groups.forEach((e) => {
1390					e.forEach((e) => {
1391						t.group === e.groupId && t.photo === e.id && (i = e);
1392					});
1393				}), i;
1394			}(this.state, ((e) => {
1395				const t = {};
1396				for (const i of e.split("&")) {
1397					const e = i.split("="), s = e[0], n = e.length > 1 ? e.slice(1).join("=") : s;
1398					t[s] = decodeURIComponent(n);
1399				}
1400				return t;
1401			})(e)) : null;
1402		}
1403		setPosByCurrentIndex() {
1404			const e = S(this.state);
1405			e && (this.state.viewer.translateX = -e.translateX, this.state.viewer.translateY = 0, this.view.updateListTransform(this.state));
1406		}
1407		setSizeByScreen() {
1408			const e = E(this.state);
1409			e && function(e, t, i, s, n) {
1410				const o = i - (s + n);
1411				e.forEach((e) => {
1412					e.loaded && (e.processed = !0, e.scale = o / e.height, e.height < o && (e.scale = 1), e.x = (e.scale - 1) / 2 * e.width + (t - e.width * e.scale) / 2, e.y = (e.scale - 1) / 2 * e.height + (i - e.height * e.scale) / 2, e.width * e.scale > t && (e.scale = t / e.width, e.x = (e.scale - 1) / 2 * e.width));
1413				});
1414			}(e, N(), B(), this.state.options.headerHeight, this.state.options.footerHeight);
1415		}
1416		resetTranslateCurrent() {
1417			k(E(this.state), N());
1418		}
1419		currentImgElement() {
1420			for (const [e, t] of this.view.refs.slides) if (e.index === this.state.viewer.currentIndex) return t.img;
1421			return null;
1422		}
1423		syncDialog() {
1424			const { dialog: e, caption: t } = this.view.refs;
1425			this.state.viewer.isOpen && !e.open ? (e.showModal(), t.focus()) : !this.state.viewer.isOpen && e.open && e.close();
1426		}
1427		commit() {
1428			this.view.render(this.state), this.syncDialog();
1429		}
1430		initPhoto() {
1431			this.finishHideEffect?.(), this.view.refs.dialog.style.opacity = "";
1432			const e = E(this.state);
1433			if (this.state.viewer.total = e.length, this.state.viewer.isOpen = !0, this.state.viewer.photoPosX = 0, this.state.viewer.photoPosY = 0, this.setPosByCurrentIndex(), this.setSizeByScreen(), _(this.state), "fill" === this.state.options.resizeStyle && this.isSmartPhoneFlag) {
1434				const e = S(this.state);
1435				this.state.viewer.scale = !0, this.state.viewer.hideUi = !0, this.state.viewer.scaleSize = P(e, N(), B(), this.isSmartPhoneFlag);
1436			}
1437		}
1438		supportsViewTransition() {
1439			return "function" == typeof document.startViewTransition;
1440		}
1441		openPhotoWithViewTransition(e) {
1442			document.documentElement.style.setProperty("--smartphoto-animation-speed", `${this.state.options.animationSpeed}ms`);
1443			const t = "smartphoto-hero", i = e?.querySelector("img") ?? null;
1444			i && (i.style.viewTransitionName = t);
1445			const s = () => {
1446				i && (i.style.viewTransitionName = "");
1447				const e = this.currentImgElement();
1448				e && (e.style.viewTransitionName = "");
1449			}, n = document.startViewTransition?.(() => {
1450				this.initPhoto(), this.state.viewer.appear = !0, this.commit(), i && (i.style.viewTransitionName = ""), this.currentImgElement().style.viewTransitionName = t;
1451			});
1452			n?.ready.catch(() => {
1453				s();
1454			}), n?.finished.then(s, s);
1455		}
1456		addAppearEffect(e, t) {
1457			const i = e?.querySelector("img") ?? null;
1458			if (!i) return void (this.state.viewer.appear = !0);
1459			const s = {
1460				left: (n = i).getBoundingClientRect().left,
1461				top: n.getBoundingClientRect().top
1462			};
1463			var n;
1464			const o = i.offsetWidth, a = i.offsetHeight, r = N(), l = B(), d = l - this.state.options.headerHeight - this.state.options.footerHeight;
1465			let c = 1;
1466			"fill" === this.state.options.resizeStyle && this.isSmartPhoneFlag ? c = o > a ? l / a : r / o : (c = o >= a ? t.height < d ? t.width / o : d / a : t.height < d ? t.height / a : d / a, o * c > r && (c = r / o));
1467			const p = (c - 1) / 2 * o + (r - o * c) / 2, u = (c - 1) / 2 * a + (l - a * c) / 2, h = i.getAttribute(this.state.options.lazyAttribute);
1468			this.state.viewer.appearEffect = {
1469				width: o,
1470				height: a,
1471				top: s.top,
1472				left: s.left,
1473				once: !0,
1474				img: h || t.src || "",
1475				afterX: p,
1476				afterY: u,
1477				scale: c
1478			};
1479		}
1480		runAppearEffect(e) {
1481			this.view.showAppearEffect(e);
1482			const t = this.view.refs.imgClone;
1483			return new Promise((i) => {
1484				const s = () => {
1485					t.removeEventListener("transitionend", s, !0), i();
1486				};
1487				t.addEventListener("transitionend", s, !0), this.scheduleTimeout(() => {
1488					t.style.transform = `translate(${e.afterX}px, ${e.afterY}px) scale(${e.scale})`;
1489				}, 10);
1490			});
1491		}
1492		doOpen(e, t) {
1493			if (!1 !== this.state.options.showAnimation && this.supportsViewTransition()) this.openPhotoWithViewTransition(e);
1494			else if (!1 === this.state.options.showAnimation) this.initPhoto(), this.state.viewer.appear = !0, this.commit();
1495			else {
1496				this.initPhoto(), this.addAppearEffect(e, t), this.commit();
1497				const i = this.state.viewer.appearEffect;
1498				i && this.runAppearEffect(i).then(() => {
1499					this.state.viewer.appearEffect = null, this.view.removeAppearEffect(), this.state.viewer.appear = !0, this.commit();
1500				});
1501			}
1502			this.fireEvent("open"), this.resyncSizeAfterOpen();
1503		}
1504		resyncSizeAfterOpen() {
1505			const e = N(), t = B();
1506			requestAnimationFrame(() => {
1507				this.state.viewer.isOpen && (N() === e && B() === t || (this.resetTranslateCurrent(), this.setPosByCurrentIndex(), this.setSizeByScreen(), this.view.render(this.state)));
1508			});
1509		}
1510		openPhoto(e, t) {
1511			const i = !!this.rootSelector && this.resyncGroupFromDom(e.groupId);
1512			this.lastTriggerElement = t, this.state.viewer.currentGroup = e.groupId, this.state.viewer.currentIndex = e.index, (this.syncedGroupId !== e.groupId || i) && this.syncCurrentGroupView(), this.setHashByCurrentIndex(), e.loaded ? this.doOpen(t, e) : this.loadItem(e).then(() => {
1513				this.doOpen(t, e);
1514			});
1515		}
1516		doHideEffect(e) {
1517			return new Promise((t) => {
1518				const i = this.view.refs.dialog, s = this.currentImgElement(), n = B(), o = "top" === e ? `translateY(-${n}px)` : `translateY(${n}px)`, a = () => {
1519					this.finishHideEffect === a && (this.finishHideEffect = null, i.removeEventListener("transitionend", a, !0), s && s.style.transform === o && (s.style.transform = ""), t());
1520				};
1521				this.finishHideEffect = a, s && (s.style.transform = o), i.addEventListener("transitionend", a, !0), this.scheduleTimeout(a, this.state.options.animationSpeed + 100);
1522			});
1523		}
1524		loadItem(e) {
1525			return new Promise((t) => {
1526				const i = new Image();
1527				i.onload = () => {
1528					e.width = i.width, e.height = i.height, e.loaded = !0, this.checkLoadAll(e.groupId), t();
1529				}, i.onerror = () => t(), i.src = e.src ?? "";
1530			});
1531		}
1532		checkLoadAll(e) {
1533			if (this.loadAllFired.has(e)) return;
1534			const t = this.state.groups.get(e);
1535			t?.length && t.every((e) => e.loaded) && (this.loadAllFired.add(e), this.fireEvent("loadall"));
1536		}
1537		loadNeighborItems() {
1538			const e = E(this.state);
1539			if (!e) return;
1540			const { currentIndex: t } = this.state.viewer, { loadOffset: i } = this.state.options, s = [];
1541			for (let n = t - i; n < t + i; n++) {
1542				const t = e[n];
1543				t && !t.loaded && s.push(this.loadItem(t));
1544			}
1545			s.length && Promise.all(s).then(() => {
1546				this.initPhoto(), this.commit();
1547			});
1548		}
1549		slideList() {
1550			this.state.viewer.scaleSize = 1, this.state.viewer.hideUi = !1, this.state.viewer.scale = !1, this.state.viewer.photoPosX = 0, this.state.viewer.photoPosY = 0, this.state.viewer.onMove = !0, this.updateViewportHe
1550ight(), this.setPosByCurrentIndex(), this.setHashByCurrentIndex(), this.setSizeByScreen(), this.scheduleTimeout(() => {
1551				const e = S(this.state);
1552				this.state.viewer.onMove = !1, _(this.state), this.commit(), this.state.viewer.oldIndex !== this.state.viewer.currentIndex && this.fireEvent("change"), this.state.viewer.oldIndex = this.state.viewer.currentIndex, this.loadNeighborItems(), e && !e.loaded && this.loadItem(e).then(() => {
1553					this.initPhoto(), this.commit();
1554				});
1555			}, 200);
1556		}
1557		scheduleTimeout(e, t) {
1558			const i = window.setTimeout(() => {
1559				this.timeouts = this.timeouts.filter((e) => e !== i), e();
1560			}, t);
1561			return this.timeouts.push(i), i;
1562		}
1563		fireEvent(e) {
1564			((e, t, i) => {
1565				let s;
1566				window.CustomEvent ? s = new CustomEvent(t, { cancelable: !0 }) : (s = document.createEvent("CustomEvent"), s.initCustomEvent(t, !1, !1, i)), e.dispatchEvent(s);
1567			})(this.view.refs.dialog, e);
1568		}
1569		buildViewHandlers() {
1570			return {
1571				onDismiss: () => this.hidePhoto(),
1572				onPrev: () => this.prev(),
1573				onNext: () => this.next(),
1574				onNavigate: (e) => this.gotoSlide(e),
1575				onBackdropClick: () => this.hidePhoto()
1576			};
1577		}
1578		buildGestureCallbacks() {
1579			return {
1580				onSwipeStart: () => this.fireEvent("swipestart"),
1581				onSwipeMove: () => this.view.updateListTransform(this.state),
1582				onSwipeEnd: (e) => {
1583					this.fireEvent("swipeend"), "close-bottom" !== e ? "close-top" !== e ? ("prev" === e ? this.state.viewer.currentIndex -= 1 : "next" === e && (this.state.viewer.currentIndex += 1), this.slideList()) : this.hidePhoto("top") : this.hidePhoto("bottom");
1584				},
1585				onTap: () => this.zoomPhoto(),
1586				onGestureStart: () => {
1587					this.fireEvent("gesturestart"), this.view.updatePhotoTransform(this.state);
1588				},
1589				onGestureMove: () => this.view.updatePhotoTransform(this.state),
1590				onGestureEnd: () => {
1591					this.fireEvent("gestureend"), this.view.updatePhotoTransform(this.state);
1592				},
1593				onPhotoDragMove: () => this.view.updatePhotoTransform(this.state),
1594				onPhotoDragEnd: (e) => {
1595					"zoom-out" !== e ? "prev" !== e ? "next" !== e ? this.view.updatePhotoTransform(this.state) : this.gotoSlide(this.state.viewer.next) : this.gotoSlide(this.state.viewer.prev) : this.zoomOutPhoto();
1596				}
1597			};
1598		}
1599	}, H = G;
1600	function V() {
1601		let e = this.getMeta("url");
1602		e.match(/^http/i) || (e = location.href), this.defaults = {
1603			url: e,
1604			origin: location.origin,
1605			source: this.getMeta("site_name") || document.title,
1606			title: this.getMeta("title") || document.title,
1607			description: this.getMeta("description") || "",
1608			image: this.getMeta("image")
1609		};
1610	}
1611	(q = jQuery).fn.qrcode = function(e) {
1612		var t;
1613		function i(e) {
1614			this.mode = t, this.data = e;
1615		}
1616		function s(e, t) {
1617			this.typeNumber = e, this.errorCorrectLevel = t, this.modules = null, this.moduleCount = 0, this.dataCache = null, this.dataList = [];
1618		}
1619		function n(e, t) {
1620			if (null == e.length) throw Error(e.length + "/" + t);
1621			for (var i = 0; i < e.length && 0 == e[i];) i++;
1622			this.num = Array(e.length - i + t);
1623			for (var s = 0; s < e.length - i; s++) this.num[s] = e[s + i];
1624		}
1625		function o(e, t) {
1626			this.totalCount = e, this.dataCount = t;
1627		}
1628		function a() {
1629			this.buffer = [], this.length = 0;
1630		}
1631		i.prototype = {
1632			getLength: function() {
1633				return this.data.length;
1634			},
1635			write: function(e) {
1636				for (var t = 0; t < this.data.length; t++) e.put(this.data.charCodeAt(t), 8);
1637			}
1638		}, s.prototype = {
1639			addData: function(e) {
1640				this.dataList.push(new i(e)), this.dataCache = null;
1641			},
1642			isDark: function(e, t) {
1643				if (0 > e || this.moduleCount <= e || 0 > t || this.moduleCount <= t) throw Error(e + "," + t);
1644				return this.modules[e][t];
1645			},
1646			getModuleCount: function() {
1647				return this.moduleCount;
1648			},
1649			make: function() {
1650				if (1 > this.typeNumber) {
1651					var e = 1;
1652					for (e = 1; 40 > e; e++) {
1653						for (var t = o.getRSBlocks(e, this.errorCorrectLevel), i = new a(), s = 0, n = 0; n < t.length; n++) s += t[n].dataCount;
1654						for (n = 0; n < this.dataList.length; n++) t = this.dataList[n], i.put(t.mode, 4), i.put(t.getLength(), r.getLengthInBits(t.mode, e)), t.write(i);
1655						if (i.getLengthInBits() <= 8 * s) break;
1656					}
1657					this.typeNumber = e;
1658				}
1659				this.makeImpl(!1, this.getBestMaskPattern());
1660			},
1661			makeImpl: function(e, t) {
1662				this.moduleCount = 4 * this.typeNumber + 17, this.modules = Array(this.moduleCount);
1663				for (var i = 0; i < this.moduleCount; i++) {
1664					this.modules[i] = Array(this.moduleCount);
1665					for (var n = 0; n < this.moduleCount; n++) this.modules[i][n] = null;
1666				}
1667				this.setupPositionProbePattern(0, 0), this.setupPositionProbePattern(this.moduleCount - 7, 0), this.setupPositionProbePattern(0, this.moduleCount - 7), this.setupPositionAdjustPattern(), this.setupTimingPattern(), this.setupTypeInfo(e, t), 7 <= this.typeNumber && this.setupTypeNumber(e), this.dataCache ??= s.createData(this.typeNumber, this.errorCorrectLevel, this.dataList), this.mapData(this.dataCache, t);
1668			},
1669			setupPositionProbePattern: function(e, t) {
1670				for (var i = -1; 7 >= i; i++) if (!(-1 >= e + i || this.moduleCount <= e + i)) for (var s = -1; 7 >= s; s++) -1 >= t + s || this.moduleCount <= t + s || (this.modules[e + i][t + s] = 0 <= i && 6 >= i && (0 == s || 6 == s) || 0 <= s && 6 >= s && (0 == i || 6 == i) || 2 <= i && 4 >= i && 2 <= s && 4 >= s);
1671			},
1672			getBestMaskPattern: function() {
1673				for (var e = 0, t = 0, i = 0; 8 > i; i++) {
1674					this.makeImpl(!0, i);
1675					var s = r.getLostPoint(this);
1676					(0 == i || e > s) && (e = s, t = i);
1677				}
1678				return t;
1679			},
1680			createMovieClip: function(e, t, i) {
1681				for (e = e.createEmptyMovieClip(t, i), this.make(), t = 0; t < this.modules.length; t++) {
1682					i = 1 * t;
1683					for (var s = 0; s < this.modules[t].length; s++) {
1684						var n = 1 * s;
1685						this.modules[t][s] && (e.beginFill(0, 100), e.moveTo(n, i), e.lineTo(n + 1, i), e.lineTo(n + 1, i + 1), e.lineTo(n, i + 1), e.endFill());
1686					}
1687				}
1688				return e;
1689			},
1690			setupTimingPattern: function() {
1691				for (var e = 8; e < this.moduleCount - 8; e++) this.modules[e][6] ?? (this.modules[e][6] = 0 == e % 2);
1692				for (e = 8; e < this.moduleCount - 8; e++) this.modules[6][e] ?? (this.modules[6][e] = 0 == e % 2);
1693			},
1694			setupPositionAdjustPattern: function() {
1695				for (var e = r.getPatternPosition(this.typeNumber), t = 0; t < e.length; t++) for (var i = 0; i < e.length; i++) {
1696					var s = e[t], n = e[i];
1697					if (null == this.modules[s][n]) for (var o = -2; 2 >= o; o++) for (var a = -2; 2 >= a; a++) this.modules[s + o][n + a] = -2 == o || 2 == o || -2 == a || 2 == a || 0 == o && 0 == a;
1698				}
1699			},
1700			setupTypeNumber: function(e) {
1701				for (var t = r.getBCHTypeNumber(this.typeNumber), i = 0; 18 > i; i++) {
1702					var s = !e && 1 == (t >> i & 1);
1703					this.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = s;
1704				}
1705				for (i = 0; 18 > i; i++) s = !e && 1 == (t >> i & 1), this.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = s;
1706			},
1707			setupTypeInfo: function(e, t) {
1708				for (var i = r.getBCHTypeInfo(this.errorCorrectLevel << 3 | t), s = 0; 15 > s; s++) {
1709					var n = !e && 1 == (i >> s & 1);
1710					6 > s ? this.modules[s][8] = n : 8 > s ? this.modules[s + 1][8] = n : this.modules[this.moduleCount - 15 + s][8] = n;
1711				}
1712				for (s = 0; 15 > s; s++) n = !e && 1 == (i >> s & 1), 8 > s ? this.modules[8][this.moduleCount - s - 1] = n : 9 > s ? this.modules[8][15 - s - 1 + 1] = n : this.modules[8][15 - s - 1] = n;
1713				this.modules[this.moduleCount - 8][8] = !e;
1714			},
1715			mapData: function(e, t) {
1716				for (var i = -1, s = this.moduleCount - 1, n = 7, o = 0, a = this.moduleCount - 1; 0 < a; a -= 2) for (6 == a && a--;;) {
1717					for (var l = 0; 2 > l; l++) if (null == this.modules[s][a - l]) {
1718						var d = !1;
1719						o < e.length && (d = 1 == (e[o] >>> n & 1)), r.getMask(t, s, a - l) && (d = !d), this.modules[s][a - l] = d, -1 == --n && (o++, n = 7);
1720					}
1721					if (0 > (s += i) || this.moduleCount <= s) {
1722						s -= i, i = -i;
1723						break;
1724					}
1725				}
1726			}
1727		}, s.PAD0 = 236, s.PAD1 = 17, s.createData = function(e, t, i) {
1728			t = o.getRSBlocks(e, t);
1729			for (var n = new a(), l = 0; l < i.length; l++) {
1730				var d = i[l];
1731				n.put(d.mode, 4), n.put(d.getLength(), r.getLengthInBits(d.mode, e)), d.write(n);
1732			}
1733			for (l = e = 0; l < t.length; l++) e += t[l].dataCount;
1734			if (n.getLengthInBits() > 8 * e) throw Error("code length overflow. (" + n.getLengthInBits() + ">" + 8 * e + ")");
1735			for (n.getLengthInBits() + 4 <= 8 * e && n.put(0, 4); 0 != n.getLengthInBits() % 8;) n.putBit(!1);
1736			for (; !(n.getLengthInBits() >= 8 * e || (n.put(s.PAD0, 8), n.getLengthInBits() >= 8 * e));) n.put(s.PAD1, 8);
1737			return s.createBytes(n, t);
1738		}, s.createBytes = function(e, t) {
1739			for (var i = 0, s = 0, o = 0, a = Array(t.length), l = Array(t.length), d = 0; d < t.length; d++) {
1740				var c = t[d].dataCount, p = t[d].totalCount - c;
1741				s = Math.max(s, c), o = Math.max(o, p), a[d] = Array(c);
1742				for (var u = 0; u < a[d].length; u++) a[d][u] = 255 & e.buffer[u + i];
1743				for (i += c, u = r.getErrorCorrectPolynomial(p), c = new n(a[d], u.getLength() - 1).mod(u), l[d] = Array(u.getLength() - 1), u = 0; u < l[d].length; u++) p = u + c.getLength() - l[d].length, l[d][u] = 0 <= p ? c.get(p) : 0;
1744			}
1745			for (u = d = 0; u < t.length; u++) d += t[u].totalCount;
1746			for (i = Array(d), u = c = 0; u < s; u++) for (d = 0; d < t.length; d++) u < a[d].length && (i[c++] = a[d][u]);
1747			for (u = 0; u < o; u++) for (d = 0; d < t.length; d++) u < l[d].length && (i[c++] = l[d][u]);
1748			return i;
1749		}, t = 4;
1750		for (var r = {
1751			PATTERN_POSITION_TABLE: [
1752				[],
1753				[6, 18],
1754				[6, 22],
1755				[6, 26],
1756				[6, 30],
1757				[6, 34],
1758				[
1759					6,
1760					22,
1761					38
1762				],
1763				[
1764					6,
1765					24,
1766					42
1767				],
1768				[
1769					6,
1770					26,
1771					46
1772				],
1773				[
1774					6,
1775					28,
1776					50
1777				],
1778				[
1779					6,
1780					30,
1781					54
1782				],
1783				[
1784					6,
1785					32,
1786					58
1787				],
1788				[
1789					6,
1790					34,
1791					62
1792				],
1793				[
1794					6,
1795					26,
1796					46,
1797					66
1798				],
1799				[
1800					6,
1801					26,
1802					48,
1803					70
1804				],
1805				[
1806					6,
1807					26,
1808					50,
1809					74
1810				],
1811				[
1812					6,
1813					30,
1814					54,
1815					78
1816				],
1817				[
1818					6,
1819					30,
1820					56,
1821					82
1822				],
1823				[
1824					6,
1825					30,
1826					58,
1827					86
1828				],
1829				[
1830					6,
1831					34,
1832					62,
1833					90
1834				],
1835				[
1836					6,
1837					28,
1838					50,
1839					72,
1840					94
1841				],
1842				[
1843					6,
1844					26,
1845					50,
1846					74,
1847					98
1848				],
1849				[
1850					6,
1851					30,
1852					54,
1853					78,
1854					102
1855				],
1856				[
1857					6,
1858					28,
1859					54,
1860					80,
1861					106
1862				],
1863				[
1864					6,
1865					32,
1866					58,
1867					84,
1868					110
1869				],
1870				[
1871					6,
1872					30,
1873					58,
1874					86,
1875					114
1876				],
1877				[
1878					6,
1879					34,
1880					62,
1881					90,
1882					118
1883				],
1884				[
1885					6,
1886					26,
1887					50,
1888					74,
1889					98,
1890					122
1891				],
1892				[
1893					6,
1894					30,
1895					54,
1896					78,
1897					102,
1898					126
1899				],
1900				[
1901					6,
1902					26,
1903					52,
1904					78,
1905					104,
1906					130
1907				],
1908				[
1909					6,
1910					30,
1911					56,
1912					82,
1913					108,
1914					134
1915				],
1916				[
1917					6,
1918					34,
1919					60,
1920					86,
1921					112,
1922					138
1923				],
1924				[
1925					6,
1926					30,
1927					58,
1928					86,
1929					114,
1930					142
1931				],
1932				[
1933					6,
1934					34,
1935					62,
1936					90,
1937					118,
1938					146
1939				],
1940				[
1941					6,
1942					30,
1943					54,
1944					78,
1945					102,
1946					126,
1947					150
1948				],
1949				[
1950					6,
1951					24,
1952					50,
1953					76,
1954					102,
1955					128,
1956					154
1957				],
1958				[
1959					6,
1960					28,
1961					54,
1962					80,
1963					106,
1964					132,
1965					158
1966				],
1967				[
1968					6,
1969					32,
1970					58,
1971					84,
1972					110,
1973					136,
1974					162
1975				],
1976				[
1977					6,
1978					26,
1979					54,
1980					82,
1981					110,
1982					138,
1983					166
1984				],
1985				[
1986					6,
1987					30,
1988					58,
1989					86,
1990					114,
1991					142,
1992					170
1993				]
1994			],
1995			G15: 1335,
1996			G18: 7973,
1997			G15_MASK: 21522,
1998			getBCHTypeInfo: function(e) {
1999				for (var t = e << 10;
1999 0 <= r.getBCHDigit(t) - r.getBCHDigit(r.G15);) t ^= r.G15 << r.getBCHDigit(t) - r.getBCHDigit(r.G15);
2000				return (e << 10 | t) ^ r.G15_MASK;
2001			},
2002			getBCHTypeNumber: function(e) {
2003				for (var t = e << 12; 0 <= r.getBCHDigit(t) - r.getBCHDigit(r.G18);) t ^= r.G18 << r.getBCHDigit(t) - r.getBCHDigit(r.G18);
2004				return e << 12 | t;
2005			},
2006			getBCHDigit: function(e) {
2007				for (var t = 0; 0 != e;) t++, e >>>= 1;
2008				return t;
2009			},
2010			getPatternPosition: function(e) {
2011				return r.PATTERN_POSITION_TABLE[e - 1];
2012			},
2013			getMask: function(e, t, i) {
2014				switch (e) {
2015					case 0: return 0 == (t + i) % 2;
2016					case 1: return 0 == t % 2;
2017					case 2: return 0 == i % 3;
2018					case 3: return 0 == (t + i) % 3;
2019					case 4: return 0 == (Math.floor(t / 2) + Math.floor(i / 3)) % 2;
2020					case 5: return 0 == t * i % 2 + t * i % 3;
2021					case 6: return 0 == (t * i % 2 + t * i % 3) % 2;
2022					case 7: return 0 == (t * i % 3 + (t + i) % 2) % 2;
2023					default: throw Error("bad maskPattern:" + e);
2024				}
2025			},
2026			getErrorCorrectPolynomial: function(e) {
2027				for (var t = new n([1], 0), i = 0; i < e; i++) t = t.multiply(new n([1, l.gexp(i)], 0));
2028				return t;
2029			},
2030			getLengthInBits: function(e, i) {
2031				if (1 <= i && 10 > i) switch (e) {
2032					case 1: return 10;
2033					case 2: return 9;
2034					case t:
2035					case 8: return 8;
2036					default: throw Error("mode:" + e);
2037				}
2038				else if (27 > i) switch (e) {
2039					case 1: return 12;
2040					case 2: return 11;
2041					case t: return 16;
2042					case 8: return 10;
2043					default: throw Error("mode:" + e);
2044				}
2045				else {
2046					if (!(41 > i)) throw Error("type:" + i);
2047					switch (e) {
2048						case 1: return 14;
2049						case 2: return 13;
2050						case t: return 16;
2051						case 8: return 12;
2052						default: throw Error("mode:" + e);
2053					}
2054				}
2055			},
2056			getLostPoint: function(e) {
2057				for (var t = e.getModuleCount(), i = 0, s = 0; s < t; s++) for (var n = 0; n < t; n++) {
2058					for (var o = 0, a = e.isDark(s, n), r = -1; 1 >= r; r++) if (!(0 > s + r || t <= s + r)) for (var l = -1; 1 >= l; l++) 0 > n + l || t <= n + l || 0 == r && 0 == l || a == e.isDark(s + r, n + l) && o++;
2059					5 < o && (i += 3 + o - 5);
2060				}
2061				for (s = 0; s < t - 1; s++) for (n = 0; n < t - 1; n++) o = 0, e.isDark(s, n) && o++, e.isDark(s + 1, n) && o++, e.isDark(s, n + 1) && o++, e.isDark(s + 1, n + 1) && o++, (0 == o || 4 == o) && (i += 3);
2062				for (s = 0; s < t; s++) for (n = 0; n < t - 6; n++) e.isDark(s, n) && !e.isDark(s, n + 1) && e.isDark(s, n + 2) && e.isDark(s, n + 3) && e.isDark(s, n + 4) && !e.isDark(s, n + 5) && e.isDark(s, n + 6) && (i += 40);
2063				for (n = 0; n < t; n++) for (s = 0; s < t - 6; s++) e.isDark(s, n) && !e.isDark(s + 1, n) && e.isDark(s + 2, n) && e.isDark(s + 3, n) && e.isDark(s + 4, n) && !e.isDark(s + 5, n) && e.isDark(s + 6, n) && (i += 40);
2064				for (n = o = 0; n < t; n++) for (s = 0; s < t; s++) e.isDark(s, n) && o++;
2065				return i + 10 * (e = Math.abs(100 * o / t / t - 50) / 5);
2066			}
2067		}, l = {
2068			glog: function(e) {
2069				if (1 > e) throw Error("glog(" + e + ")");
2070				return l.LOG_TABLE[e];
2071			},
2072			gexp: function(e) {
2073				for (; 0 > e;) e += 255;
2074				for (; 256 <= e;) e -= 255;
2075				return l.EXP_TABLE[e];
2076			},
2077			EXP_TABLE: Array(256),
2078			LOG_TABLE: Array(256)
2079		}, d = 0; 8 > d; d++) l.EXP_TABLE[d] = 1 << d;
2080		for (d = 8; 256 > d; d++) l.EXP_TABLE[d] = l.EXP_TABLE[d - 4] ^ l.EXP_TABLE[d - 5] ^ l.EXP_TABLE[d - 6] ^ l.EXP_TABLE[d - 8];
2081		for (d = 0; 255 > d; d++) l.LOG_TABLE[l.EXP_TABLE[d]] = d;
2082		return n.prototype = {
2083			get: function(e) {
2084				return this.num[e];
2085			},
2086			getLength: function() {
2087				return this.num.length;
2088			},
2089			multiply: function(e) {
2090				for (var t = Array(this.getLength() + e.getLength() - 1), i = 0; i < this.getLength(); i++) for (var s = 0; s < e.getLength(); s++) t[i + s] ^= l.gexp(l.glog(this.get(i)) + l.glog(e.get(s)));
2091				return new n(t, 0);
2092			},
2093			mod: function(e) {
2094				if (0 > this.getLength() - e.getLength()) return this;
2095				for (var t = l.glog(this.get(0)) - l.glog(e.get(0)), i = Array(this.getLength()), s = 0; s < this.getLength(); s++) i[s] = this.get(s);
2096				for (s = 0; s < e.getLength(); s++) i[s] ^= l.gexp(l.glog(e.get(s)) + t);
2097				return new n(i, 0).mod(e);
2098			}
2099		}, o.RS_BLOCK_TABLE = [
2100			[
2101				1,
2102				26,
2103				19
2104			],
2105			[
2106				1,
2107				26,
2108				16
2109			],
2110			[
2111				1,
2112				26,
2113				13
2114			],
2115			[
2116				1,
2117				26,
2118				9
2119			],
2120			[
2121				1,
2122				44,
2123				34
2124			],
2125			[
2126				1,
2127				44,
2128				28
2129			],
2130			[
2131				1,
2132				44,
2133				22
2134			],
2135			[
2136				1,
2137				44,
2138				16
2139			],
2140			[
2141				1,
2142				70,
2143				55
2144			],
2145			[
2146				1,
2147				70,
2148				44
2149			],
2150			[
2151				2,
2152				35,
2153				17
2154			],
2155			[
2156				2,
2157				35,
2158				13
2159			],
2160			[
2161				1,
2162				100,
2163				80
2164			],
2165			[
2166				2,
2167				50,
2168				32
2169			],
2170			[
2171				2,
2172				50,
2173				24
2174			],
2175			[
2176				4,
2177				25,
2178				9
2179			],
2180			[
2181				1,
2182				134,
2183				108
2184			],
2185			[
2186				2,
2187				67,
2188				43
2189			],
2190			[
2191				2,
2192				33,
2193				15,
2194				2,
2195				34,
2196				16
2197			],
2198			[
2199				2,
2200				33,
2201				11,
2202				2,
2203				34,
2204				12
2205			],
2206			[
2207				2,
2208				86,
2209				68
2210			],
2211			[
2212				4,
2213				43,
2214				27
2215			],
2216			[
2217				4,
2218				43,
2219				19
2220			],
2221			[
2222				4,
2223				43,
2224				15
2225			],
2226			[
2227				2,
2228				98,
2229				78
2230			],
2231			[
2232				4,
2233				49,
2234				31
2235			],
2236			[
2237				2,
2238				32,
2239				14,
2240				4,
2241				33,
2242				15
2243			],
2244			[
2245				4,
2246				39,
2247				13,
2248				1,
2249				40,
2250				14
2251			],
2252			[
2253				2,
2254				121,
2255				97
2256			],
2257			[
2258				2,
2259				60,
2260				38,
2261				2,
2262				61,
2263				39
2264			],
2265			[
2266				4,
2267				40,
2268				18,
2269				2,
2270				41,
2271				19
2272			],
2273			[
2274				4,
2275				40,
2276				14,
2277				2,
2278				41,
2279				15
2280			],
2281			[
2282				2,
2283				146,
2284				116
2285			],
2286			[
2287				3,
2288				58,
2289				36,
2290				2,
2291				59,
2292				37
2293			],
2294			[
2295				4,
2296				36,
2297				16,
2298				4,
2299				37,
2300				17
2301			],
2302			[
2303				4,
2304				36,
2305				12,
2306				4,
2307				37,
2308				13
2309			],
2310			[
2311				2,
2312				86,
2313				68,
2314				2,
2315				87,
2316				69
2317			],
2318			[
2319				4,
2320				69,
2321				43,
2322				1,
2323				70,
2324				44
2325			],
2326			[
2327				6,
2328				43,
2329				19,
2330				2,
2331				44,
2332				20
2333			],
2334			[
2335				6,
2336				43,
2337				15,
2338				2,
2339				44,
2340				16
2341			],
2342			[
2343				4,
2344				101,
2345				81
2346			],
2347			[
2348				1,
2349				80,
2350				50,
2351				4,
2352				81,
2353				51
2354			],
2355			[
2356				4,
2357				50,
2358				22,
2359				4,
2360				51,
2361				23
2362			],
2363			[
2364				3,
2365				36,
2366				12,
2367				8,
2368				37,
2369				13
2370			],
2371			[
2372				2,
2373				116,
2374				92,
2375				2,
2376				117,
2377				93
2378			],
2379			[
2380				6,
2381				58,
2382				36,
2383				2,
2384				59,
2385				37
2386			],
2387			[
2388				4,
2389				46,
2390				20,
2391				6,
2392				47,
2393				21
2394			],
2395			[
2396				7,
2397				42,
2398				14,
2399				4,
2400				43,
2401				15
2402			],
2403			[
2404				4,
2405				133,
2406				107
2407			],
2408			[
2409				8,
2410				59,
2411				37,
2412				1,
2413				60,
2414				38
2415			],
2416			[
2417				8,
2418				44,
2419				20,
2420				4,
2421				45,
2422				21
2423			],
2424			[
2425				12,
2426				33,
2427				11,
2428				4,
2429				34,
2430				12
2431			],
2432			[
2433				3,
2434				145,
2435				115,
2436				1,
2437				146,
2438				116
2439			],
2440			[
2441				4,
2442				64,
2443				40,
2444				5,
2445				65,
2446				41
2447			],
2448			[
2449				11,
2450				36,
2451				16,
2452				5,
2453				37,
2454				17
2455			],
2456			[
2457				11,
2458				36,
2459				12,
2460				5,
2461				37,
2462				13
2463			],
2464			[
2465				5,
2466				109,
2467				87,
2468				1,
2469				110,
2470				88
2471			],
2472			[
2473				5,
2474				65,
2475				41,
2476				5,
2477				66,
2478				42
2479			],
2480			[
2481				5,
2482				54,
2483				24,
2484				7,
2485				55,
2486				25
2487			],
2488			[
2489				11,
2490				36,
2491				12
2492			],
2493			[
2494				5,
2495				122,
2496				98,
2497				1,
2498				123,
2499				99
2500			],
2501			[
2502				7,
2503				73,
2504				45,
2505				3,
2506				74,
2507				46
2508			],
2509			[
2510				15,
2511				43,
2512				19,
2513				2,
2514				44,
2515				20
2516			],
2517			[
2518				3,
2519				45,
2520				15,
2521				13,
2522				46,
2523				16
2524			],
2525			[
2526				1,
2527				135,
2528				107,
2529				5,
2530				136,
2531				108
2532			],
2533			[
2534				10,
2535				74,
2536				46,
2537				1,
2538				75,
2539				47
2540			],
2541			[
2542				1,
2543				50,
2544				22,
2545				15,
2546				51,
2547				23
2548			],
2549			[
2550				2,
2551				42,
2552				14,
2553				17,
2554				43,
2555				15
2556			],
2557			[
2558				5,
2559				150,
2560				120,
2561				1,
2562				151,
2563				121
2564			],
2565			[
2566				9,
2567				69,
2568				43,
2569				4,
2570				70,
2571				44
2572			],
2573			[
2574				17,
2575				50,
2576				22,
2577				1,
2578				51,
2579				23
2580			],
2581			[
2582				2,
2583				42,
2584				14,
2585				19,
2586				43,
2587				15
2588			],
2589			[
2590				3,
2591				141,
2592				113,
2593				4,
2594				142,
2595				114
2596			],
2597			[
2598				3,
2599				70,
2600				44,
2601				11,
2602				71,
2603				45
2604			],
2605			[
2606				17,
2607				47,
2608				21,
2609				4,
2610				48,
2611				22
2612			],
2613			[
2614				9,
2615				39,
2616				13,
2617				16,
2618				40,
2619				14
2620			],
2621			[
2622				3,
2623				135,
2624				107,
2625				5,
2626				136,
2627				108
2628			],
2629			[
2630				3,
2631				67,
2632				41,
2633				13,
2634				68,
2635				42
2636			],
2637			[
2638				15,
2639				54,
2640				24,
2641				5,
2642				55,
2643				25
2644			],
2645			[
2646				15,
2647				43,
2648				15,
2649				10,
2650				44,
2651				16
2652			],
2653			[
2654				4,
2655				144,
2656				116,
2657				4,
2658				145,
2659				117
2660			],
2661			[
2662				17,
2663				68,
2664				42
2665			],
2666			[
2667				17,
2668				50,
2669				22,
2670				6,
2671				51,
2672				23
2673			],
2674			[
2675				19,
2676				46,
2677				16,
2678				6,
2679				47,
2680				17
2681			],
2682			[
2683				2,
2684				139,
2685				111,
2686				7,
2687				140,
2688				112
2689			],
2690			[
2691				17,
2692				74,
2693				46
2694			],
2695			[
2696				7,
2697				54,
2698				24,
2699				16,
2700				55,
2701				25
2702			],
2703			[
2704				34,
2705				37,
2706				13
2707			],
2708			[
2709				4,
2710				151,
2711				121,
2712				5,
2713				152,
2714				122
2715			],
2716			[
2717				4,
2718				75,
2719				47,
2720				14,
2721				76,
2722				48
2723			],
2724			[
2725				11,
2726				54,
2727				24,
2728				14,
2729				55,
2730				25
2731			],
2732			[
2733				16,
2734				45,
2735				15,
2736				14,
2737				46,
2738				16
2739			],
2740			[
2741				6,
2742				147,
2743				117,
2744				4,
2745				148,
2746				118
2747			],
2748			[
2749				6,
2750				73,
2751				45,
2752				14,
2753				74,
2754				46
2755			],
2756			[
2757				11,
2758				54,
2759				24,
2760				16,
2761				55,
2762				25
2763			],
2764			[
2765				30,
2766				46,
2767				16,
2768				2,
2769				47,
2770				17
2771			],
2772			[
2773				8,
2774				132,
2775				106,
2776				4,
2777				133,
2778				107
2779			],
2780			[
2781				8,
2782				75,
2783				47,
2784				13,
2785				76,
2786				48
2787			],
2788			[
2789				7,
2790				54,
2791				24,
2792				22,
2793				55,
2794				25
2795			],
2796			[
2797				22,
2798				45,
2799				15,
2800				13,
2801				46,
2802				16
2803			],
2804			[
2805				10,
2806				142,
2807				114,
2808				2,
2809				143,
2810				115
2811			],
2812			[
2813				19,
2814				74,
2815				46,
2816				4,
2817				75,
2818				47
2819			],
2820			[
2821				28,
2822				50,
2823				22,
2824				6,
2825				51,
2826				23
2827			],
2828			[
2829				33,
2830				46,
2831				16,
2832				4,
2833				47,
2834				17
2835			],
2836			[
2837				8,
2838				152,
2839				122,
2840				4,
2841				153,
2842				123
2843			],
2844			[
2845				22,
2846				73,
2847				45,
2848				3,
2849				74,
2850				46
2851			],
2852			[
2853				8,
2854				53,
2855				23,
2856				26,
2857				54,
2858				24
2859			],
2860			[
2861				12,
2862				45,
2863				15,
2864				28,
2865				46,
2866				16
2867			],
2868			[
2869				3,
2870				147,
2871				117,
2872				10,
2873				148,
2874				118
2875			],
2876			[
2877				3,
2878				73,
2879				45,
2880				23,
2881				74,
2882				46
2883			],
2884			[
2885				4,
2886				54,
2887				24,
2888				31,
2889				55,
2890				25
2891			],
2892			[
2893				11,
2894				45,
2895				15,
2896				31,
2897				46,
2898				16
2899			],
2900			[
2901				7,
2902				146,
2903				116,
2904				7,
2905				147,
2906				117
2907			],
2908			[
2909				21,
2910				73,
2911				45,
2912				7,
2913				74,
2914				46
2915			],
2916			[
2917				1,
2918				53,
2919				23,
2920				37,
2921				54,
2922				24
2923			],
2924			[
2925				19,
2926				45,
2927				15,
2928				26,
2929				46,
2930				16
2931			],
2932			[
2933				5,
2934				145,
2935				115,
2936				10,
2937				146,
2938				116
2939			],
2940			[
2941				19,
2942				75,
2943				47,
2944				10,
2945				76,
2946				48
2947			],
2948			[
2949				15,
2950				54,
2951				24,
2952				25,
2953				55,
2954				25
2955			],
2956			[
2957				23,
2958				45,
2959				15,
2960				25,
2961				46,
2962				16
2963			],
2964			[
2965				13,
2966				145,
2967				115,
2968				3,
2969				146,
2970				116
2971			],
2972			[
2973				2,
2974				74,
2975				46,
2976				29,
2977				75,
2978				47
2979			],
2980			[
2981				42,
2982				54,
2983				24,
2984				1,
2985				55,
2986				25
2987			],
2988			[
2989				23,
2990				45,
2991				15,
2992				28,
2993				46,
2994				16
2995			],
2996			[
2997				17,
2998				145,
2999				115
3000			],
3001			[
3002				10,
3003				74,
3004				46,
3005				23,
3006				75,
3007				47
3008			],
3009			[
3010				10,
3011				54,
3012				24,
3013				35,
3014				55,
3015				25
3016			],
3017			[
3018				19,
3019				45,
3020				15,
3021				35,
3022				46,
3023				16
3024			],
3025			[
3026				17,
3027				145,
3028				115,
3029				1,
3030				146,
3031				116
3032			],
3033			[
3034				14,
3035				74,
3036				46,
3037				21,
3038				75,
3039				47
3040			],
3041			[
3042				29,
3043				54,
3044				24,
3045				19,
3046				55,
3047				25
3048			],
3049			[
3050				11,
3051				45,
3052				15,
3053				46,
3054				46,
3055				16
3056			],
3057			[
3058				13,
3059				145,
3060				115,
3061				6,
3062				146,
3063				116
3064			],
3065			[
3066				14,
3067				74,
3068				46,
3069				23,
3070				75,
3071				47
3072			],
3073			[
3074				44,
3075				54,
3076				24,
3077				7,
3078				55,
3079				25
3080			],
3081			[
3082				59,
3083				46,
3084				16,
3085				1,
3086				47,
3087				17
3088			],
3089			[
3090				12,
3091				151,
3092				121,
3093				7,
3094				152,
3095				122
3096			],
3097			[
3098				12,
3099				75,
3100				47,
3101				26,
3102				76,
3103				48
3104			],
3105			[
3106				39,
3107				54,
3108				24,
3109				14,
3110				55,
3111				25
3112			],
3113			[
3114				22,
3115				45,
3116				15,
3117				41,
3118				46,
3119				16
3120			],
3121			[
3122				6,
3123				151,
3124				121,
3125				14,
3126				152,
3127				122
3128			],
3129			[
3130				6,
3131				75,
3132				47,
3133				34,
3134				76,
3135				48
3136			],
3137			[
3138				46,
3139				54,
3140				24,
3141				10,
3142				55,
3143				25
3144			],
3145			[
3146				2,
3147				45,
3148				15,
3149				64,
3150				46,
3151				16
3152			],
3153			[
3154				17,
3155				152,
3156				122,
3157				4,
3158				153,
3159				123
3160			],
3161			[
3162				29,
3163				74,
3164				46,
3165				14,
3166				75,
3167				47
3168			],
3169			[
3170				49,
3171				54,
3172				24,
3173				10,
3174				55,
3175				25
3176			],
3177			[
3178				24,
3179				45,
3180				15,
3181				46,
3182				46,
3183				16
3184			],
3185			[
3186				4,
3187				152,
3188				122,
3189				18,
3190				153,
3191				123
3192			],
3193			[
3194				13,
3195				74,
3196				46,
3197				32,
3198				75,
3199				47
3200			],
3201			[
3202				48,
3203				54,
3204				24,
3205				14,
3206				55,
3207				25
3208			],
3209			[
3210				42,
3211				45,
3212				15,
3213				32,
3214				46,
3215				16
3216			],
3217			[
3218				20,
3219				147,
3220				117,
3221				4,
3222				148,
3223				118
3224			],
3225			[
3226				40,
3227				75,
3228				47,
3229				7,
3230				76,
3231				48
3232			],
3233			[
3234				43,
3235				54,
3236				24,
3237				22,
3238				55,
3239				25
3240			],
3241			[
3242				10,
3243				45,
3244				15,
3245				67,
3246				46,
3247				16
3248			],
3249			[
3250				19,
3251				148,
3252				118,
3253				6,
3254				149,
3255				119
3256			],
3257			[
3258				18,
3259				75,
3260				47,
3261				31,
3262				76,
3263				48
3264			],
3265			[
3266				34,
3267				54,
3268				24,
3269				34,
3270				55,
3271				25
3272			],
3273			[
3274				20,
3275				45,
3276				15,
3277				61,
3278				46,
3279				16
3280			]
3281		], o.getRSBlocks = function(e, t) {
3282			var i = o.getRsBlockTable(e, t);
3283			if (null == i) throw Error("bad rs block @ typeNumber:" + e + "/errorCorrectLevel:" + t);
3284			for (var s = i.length / 3, n = [], a = 0; a < s; a++) for (var r = i[3 * a + 0], l = i[3 * a + 1], d = i[3 * a + 2], c = 0; c < r; c++) n.push(new o(l, d));
3285			return n;
3286		}, o.getRsBlockTable = function(e, t) {
3287			switch (t) {
3288				case 1: return o.RS_BLOCK_TABLE[4 * (e - 1) + 0];
3289				case 0: return o.RS_BLOCK_TABLE[4 * (e - 1) + 1];
3290				case 3: return o.RS_BLOCK_TABLE[4 * (e - 1) + 2];
3291				case 2: return o.RS_BLOCK_TABLE[4 * (e - 1) + 3];
3292			}
3293		}, a.prototype = {
3294			get: function(e) {
3295				return 1 == (this.buffer[Math.floor(e / 8)] >>> 7 - e % 8 & 1);
3296			},
3297			put: function(e, t) {
3298				for (var i = 0; i < t; i++) this.putBit(1 == (e >>> t - i - 1 & 1));
3299			},
3300			getLengthInBits: function() {
3301				return this.length;
3302			},
3303			putBit: function(e) {
3304				var t = Math.floor(this.length / 8);
3305				this.buffer.length <= t && this.buffer.push(0), e && (this.buffer[t] |= 128 >>> this.length % 8), this.length++;
3306			}
3307		}, "string" == typeof e && (e = { text: e }), e = q.extend({}, {
3308			render: "canvas",
3309			width: 256,
3310			height: 256,
3311			typeNumber: -1,
3312			correctLevel: 2,
3313			background: "#ffffff",
3314			foreground: "#000000"
3315		}, e), this.each(function() {
3316			var t;
3317			if ("canvas" == e.render) {
3318				(t = new s(e.typeNumber, e.correctLevel)).addData(e.text), t.make();
3319				var i = document.createElement("canvas");
3320				i.width = e.width, i.height = e.height;
3321				for (var n = i.getContext("2d"), o = e.width / t.getModuleCount(), a = e.height / t.getModuleCount(), r = 0; r < t.getModuleCount(); r++) for (var l = 0; l < t.getModuleCount(); l++) {
3322					n.fillStyle = t.isDark(r, l) ? e.foreground : e.background;
3323					var d = Math.ceil((l + 1) * o) - Math.floor(l * o), c = Math.ceil((r + 1) * o) - Math.floor(r * o);
3324					n.fillRect(Math.round(l * o), Math.round(r * a), d, c);
3325				}
3326			} else for ((t = new s(e.typeNumber, e.correctLevel)).addData(e.text), t.make(), i = q("<table></table>").css("width", e.width + "px").css("height", e.height + "px").css("border", "0px").css("border-collapse", "collapse").css("background-color", e.background), n = e.width / t.getModuleCount(), o = e.height / t.getModuleCount(), a = 0; a < t.getModuleCount(); a++) for (r = q("<tr></tr>").css("height", o + "px").appendTo(i), l = 0; l < t.getModuleCount(); l++) q("<td></td>").css("width", n + "px").css("background-color", t.isDark(a, l) ? e.foreground : e.background).appendTo(r);
3327			t = i, jQuery(t).appendTo(this);
3328		});
3329	}, "function" != typeof Object.assign && (Object.assign = function(e) {
3330		"use strict";
3331		if (null == e) throw new TypeError("Cannot convert undefined or null to object");
3332		e = Object(e);
3333		for (var t = 1; t < arguments.length; t++) {
3334			var i = arguments[t];
3335			if (null != i) for (var s in i) Object.prototype.hasOwnProperty.call(i, s) && (e[s] = i[s]);
3336		}
3337		return e;
3338	}), V.prototype = {
3339		getMeta(e) {
3340			const t = document.querySelector("meta[property=\"og:" + e + "\"]");
3341			return t ? t.getAttribute("content") : "";
3342		},
3343		templates: {
3344			qzone: "https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={{URL}}&title={{TITLE}}&desc={{DESCRIPTION}}&summary={{SUMMARY}}&site={{SOURCE}}&pics={{IMAGE}}",
3345			qq: "https://connect.qq.com/widget/shareqq/index.html?url={{URL}}&title={{TITLE}}&source={{SOURCE}}&desc={{DESCRIPTION}}&pics={{IMAGE}}&summary=\"{{SUMMARY}}\"",
3346			weibo: "https://service.weibo.com/share/share.php?url={{URL}}&title={{TITLE}}&pic={{IMAGE}}&appkey={{WEIBOKEY}}&searchPic=true",
3347			wechat: "javascript:",
3348			douban: "https://www.douban.com/recommend/?title={{TITLE}}&url={{URL}}",
3349			linkedin: "https://www.linkedin.com/shareArticle?mini=true&ro=true&title={{TITLE}}&url={{URL}}&summary={{SUMMARY}}&source={{SOURCE}}&armin=armin",
3350			facebook: "https://www.facebook.com/sharer.php?t={{TITLE}}&u={{URL}}",
3351			twitter: "https://twitter.com/intent/tweet?text={{TITLE}}&url={{URL}}&via={{ORIGIN}}",
3352			x: "https://twitter.com/intent/tweet?text={{TITLE}}&url={{URL}}&via={{ORIGIN}}",
3353			mail: "mailto:?subject={{TITLE}}&body={{URL}}",
3354			tumblr: "https://www.tumblr.com/share?t={{TITLE}}&u={{URL}}&v=3",
3355			whatsapp: "https://web.whatsapp.com/send?text={{URL}}",
3356			pinterest: "https://www.pinterest.com/pin/create/button/?description={{TITLE}}&media=&url={{URL}}",
3357			line: "https://lineit.line.me/share/ui?url={{URL}}&text={{TITLE}}",
3358			telegram: "https://t.me/share/url?url={{URL}}&text={{TITLE}}&to="
3359		},
3360		makeUrl(e, t) {
3361			t = t || this.defaults;
3362			var i = this.subString(t.description, 236);
3363			return t.description = i && i !== t.description ? i + "..." : t.description, t.summary || (t.summary = t.description), this.templates[e].replace(/\{\{(\w)(\w*)\}\}/g, function(i, s, n) {
3364				var o = e + s + n.toLowerCase();
3365				return n = (s + n).toLowerCase(), encodeURIComponent((void 0 === t[o] ? t[n] : t[o]) || "");
3366			});
3367		},
3368		init() {
3369			let e = this;
3370			jQuery("a[data-share]").each(function() {
3371				let t = jQuery(this), i = t.data("share");
3372				if (i && e.templates[i]) {
3373					let s = Object.assign({}, e.defaults);
3374					t.data("share-callback") && window[t.data("share-callback")] && (s = Object.assign(s, window[t.data("share-callback")].apply(window, [this]))), t.attr("href", e.makeUrl(i, s)), "wechat" === i && 0 === t.find(".share-wx-wrap").length && (t.attr("target", ""), t.append("<span class=\"share-wx-wrap\"><span class=\"j-share-qrcode\"></span><span>微信扫码分享</span></span>"), t.find(".j-share-qrcode").qrcode({ text: s.url }));
3375				}
3376			});
3377		},
3378		subString(e, t) {
3379			let i = /[^\x00-\xff]/g;
3380			if (e.replace(i, "aa").length <= t) return e;
3381			for (var s = Math.floor(t / 2), n = e.length; s < n; s++) if (e.substring(0, s).replace(i, "aa").length >= t) return e.substring(0, s);
3382			return e;
3383		}
3384	};
3385	var F = new V(), W = {
3386		init() {
3387			jQuery("pre.wp-block-code").each((e, t) => {
3388				let i = jQuery(t), s = i.removeClass("wp-block-code").prop("outerHTML");
3389				i.replaceWith("<div class=\"wp-block-wpcom-hljs\">" + s + "</div>");
3390			});
3391			const e = jQuery(".wp-block-wpcom-hljs > pre");
3392			e.length && this.load(e), jQuery(document).on("hljs.wpcom", (e) => {
3393				e.target && this.load(jQuery(e.target));
3394			});
3395		},
3396		load(e) {
3397			if ("undefined" == typeof hljs) {
3398				const t = this, i = void 0 !== _wpcom_js.framework_url ? _wpcom_js.framework_url : _wpcom_js.theme_url + "/themer";
3399				let s = i + "/assets/js/highlight-11.9.0.min.js", n = i + "/assets/css/highlight-11.9.0.min.css", o = document.createElement("script");
3400				o.src = s, o.async = !0, o.onload = function() {
3401					let i = document.createElement("link");
3402					i.href = n, i.rel = "stylesheet", i.type = "text/css", document.body.appendChild(i), hljs.configure({ ignoreUnescapedHTML: !0 }), t.render(e);
3403				}, o.onerror = function() {
3404					console.error("Failed to load highlight.js: " + s);
3405				}, document.head.appendChild(o);
3406			} else this.render(e);
3407		},
3408		render(e) {
3409			e.length && (this.copyBtn(e), e.each(function(e, t) {
3410				hljs.highlightElement(t);
3411			}));
3412		},
3413		copyBtn(e) {
3414			void 0 !== document.execCommand && (e.parent().each(function(e, t) {
3415				const i = jQuery(t);
3416				i.data("value", i.find(">pre").text());
3417			}), e.parent().append("<div class=\"copy-btn\"><i class=\"wpcom-icon wi\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-copy\"></use></svg></i></div>"), e.parent().on("click", ".copy-btn", function() {
3418				const e = jQuery(this);
3419				let t = e.closest(".wp-block-wpcom-hljs").data("value"), i = document.createElement("textarea");
3420				i.value = t, jQuery("body").append(i), i.style.position = "fixed", i.style.height = 0, i.select(), document.execCommand("copy"), i.remove(), e.html("<i class=\"wpcom
3420-icon wi\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-dagou\"></use></svg></i>").addClass("success"), setTimeout(function() {
3421					e.html("<i class=\"wpcom-icon wi\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-copy\"></use></svg></i>").removeClass("success");
3422				}, 2e3);
3423			}));
3424		}
3425	};
3426	function Q(e, t = 0) {
3427		return setTimeout(e, t);
3428	}
3429	function U() {
3430		return Date.now();
3431	}
3432	function X(e, t = "x") {
3433		const i = function(e) {
3434			return window.getComputedStyle(e, null);
3435		}(e), s = i.transform || i.webkitTransform;
3436		if (!s || "none" === s) return 0;
3437		const n = new DOMMatrixReadOnly(s);
3438		return "x" === t ? n.m41 : n.m42;
3439	}
3440	function Y(e) {
3441		return "object" == typeof e && null !== e && !!e.constructor && "Object" === Object.prototype.toString.call(e).slice(8, -1);
3442	}
3443	function K(e) {
3444		return "undefined" != typeof HTMLElement && e instanceof HTMLElement || !!e && "object" == typeof e && (1 === e.nodeType || 11 === e.nodeType);
3445	}
3446	function Z(e, ...t) {
3447		const i = Object(e);
3448		for (let e = 0; e < t.length; e += 1) {
3449			const s = t[e];
3450			if (null == s || K(s)) continue;
3451			const n = s, o = Object.keys(Object(n)).filter((e) => "__proto__" !== e && "constructor" !== e && "prototype" !== e);
3452			for (const e of o) {
3453				const t = Object.getOwnPropertyDescriptor(n, e);
3454				if (!t || !t.enumerable) continue;
3455				const s = n[e];
3456				Y(i[e]) && Y(s) ? s.__swiper__ ? i[e] = s : Z(i[e], s) : !Y(i[e]) && Y(s) ? (i[e] = {}, s.__swiper__ ? i[e] = s : Z(i[e], s)) : i[e] = s;
3457			}
3458		}
3459		return i;
3460	}
3461	function J(e, t, i) {
3462		e.style.setProperty(t, i);
3463	}
3464	function ee(e) {
3465		const t = e.querySelector(".swiper-slide-transform");
3466		if (t) return t;
3467		if (e.shadowRoot) {
3468			const t = e.shadowRoot.querySelector(".swiper-slide-transform");
3469			if (t) return t;
3470		}
3471		return e;
3472	}
3473	function te(e, t = "") {
3474		const i = [...e.children];
3475		return e instanceof HTMLSlotElement && i.push(...e.assignedElements()), t ? i.filter((e) => e.matches(t)) : i;
3476	}
3477	function ie(e) {
3478		try {
3479			console.warn(e);
3480		} catch {}
3481	}
3482	function se(e, t = []) {
3483		const i = document.createElement(e);
3484		return i.classList.add(...Array.isArray(t) ? t : function(e = "") {
3485			return e.trim().split(" ").filter((e) => !!e.trim());
3486		}(t)), i;
3487	}
3488	function ne(e, t) {
3489		return window.getComputedStyle(e, null).getPropertyValue(t);
3490	}
3491	function oe(e) {
3492		if (e && e.parentNode) return [...e.parentNode.children].indexOf(e);
3493	}
3494	function ae(e, t) {
3495		const i = [];
3496		let s = e.parentElement;
3497		for (; s;) t && !s.matches(t) || i.push(s), s = s.parentElement;
3498		return i;
3499	}
3500	function re(e, t, i) {
3501		{
3502			const i = window.getComputedStyle(e, null);
3503			return e["width" === t ? "offsetWidth" : "offsetHeight"] + parseFloat(i.getPropertyValue("width" === t ? "margin-right" : "margin-top")) + parseFloat(i.getPropertyValue("width" === t ? "margin-left" : "margin-bottom"));
3504		}
3505	}
3506	function le(e) {
3507		return (Array.isArray(e) ? e : [e]).filter((e) => !!e);
3508	}
3509	function de(e) {
3510		return (t) => Math.abs(t) > 0 && e.browser && e.browser.need3dFix && Math.abs(t) % 90 == 0 ? t + .001 : t;
3511	}
3512	function ce(e, t = "") {
3513		const i = globalThis.trustedTypes;
3514		e.innerHTML = void 0 !== i ? i.createPolicy("html", { createHTML: (e) => e }).createHTML(t) : t;
3515	}
3516	let pe, ue, he;
3517	function me() {
3518		return pe || (pe = "undefined" == typeof window ? { touch: !1 } : { touch: "ontouchstart" in window || navigator.maxTouchPoints > 0 }), pe;
3519	}
3520	function fe(e = {}) {
3521		return ue || (ue = function({ userAgent: e } = {}) {
3522			if ("undefined" == typeof window) return {
3523				ios: !1,
3524				android: !1
3525			};
3526			const t = me(), i = navigator.platform, s = e || navigator.userAgent, n = {
3527				ios: !1,
3528				android: !1
3529			}, o = /(Android);?[\s/]+([\d.]+)?/.test(s), a = /(iPhone\sOS|iOS|iPod)/.test(s), r = /iPad/.test(s), l = "MacIntel" === i && t.touch && navigator.maxTouchPoints > 1, d = r || l;
3530			return o && "Win32" !== i && (n.os = "android", n.android = !0), (d || a) && (n.os = "ios", n.ios = !0), n;
3531		}(e)), ue;
3532	}
3533	function ge() {
3534		return he || (he = function() {
3535			if ("undefined" == typeof window) return {
3536				isSafari: !1,
3537				isWebView: !1,
3538				need3dFix: !1
3539			};
3540			const e = fe(), t = navigator.userAgent, i = t.toLowerCase(), s = i.includes("safari") && !i.includes("chrome") && !i.includes("android"), n = /(iPhone|iPod|iPad).*AppleWeb
3540Kit(?!.*Safari)/i.test(t);
3541			return {
3542				isSafari: s,
3543				isWebView: n,
3544				need3dFix: s || n && e.ios
3545			};
3546		}()), he;
3547	}
3548	const we = (e, t) => {
3549		if (!e || e.destroyed || !e.params) return;
3550		const i = t.closest(e.isElement ? "swiper-slide" : `.${e.params.slideClass}`);
3551		if (i) {
3552			let t = i.querySelector(`.${e.params.lazyPreloaderClass}`);
3553			!t && e.isElement && (i.shadowRoot ? t = i.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`) : requestAnimationFrame(() => {
3554				if (i.shadowRoot) {
3555					const t = i.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`);
3556					t && !t.lazyPreloaderManaged && t.remove();
3557				}
3558			})), t && !t.lazyPreloaderManaged && t.remove();
3559		}
3560	}, ve = (e, t) => {
3561		if (!e.slides[t]) return;
3562		const i = e.slides[t].querySelector("[loading=\"lazy\"]");
3563		i && i.removeAttribute("loading");
3564	}, ye = (e) => {
3565		if (!e || e.destroyed || !e.params) return;
3566		let t = e.params.lazyPreloadPrevNext;
3567		const i = e.slides.length;
3568		if (!i || !t || t < 0) return;
3569		t = Math.min(t, i);
3570		const s = "auto" === e.params.slidesPerView ? e.slidesPerViewDynamic() : Math.ceil(e.params.slidesPerView), n = e.activeIndex;
3571		if (e.params.grid && (e.params.grid.rows ?? 1) > 1) {
3572			const i = n, o = [i - t];
3573			o.push(...Array.from({ length: t }).map((e, t) => i + s + t)), e.slides.forEach((t, i) => {
3574				void 0 !== t.column && o.includes(t.column) && ve(e, i);
3575			});
3576			return;
3577		}
3578		const o = n + s - 1;
3579		if (e.params.rewind || e.params.loop) for (let s = n - t; s <= o + t; s += 1) {
3580			const t = (s % i + i) % i;
3581			(t < n || t > o) && ve(e, t);
3582		}
3583		else for (let s = Math.max(n - t, 0); s <= Math.min(o + t, i - 1); s += 1) s !== n && (s > o || s < n) && ve(e, s);
3584	};
3585	const be = (e, t) => !!(e.grid && t.grid && t.grid.rows > 1);
3586	var xe = {
3587		setBreakpoint: function() {
3588			const e = this, { realIndex: t, initialized: i, params: s, el: n } = e, o = s.breakpoints;
3589			if (!o || o && 0 === Object.keys(o).length) return;
3590			const a = "window" !== s.breakpointsBase && s.breakpointsBase ? "container" : s.breakpointsBase, r = ["window", "container"].includes(s.breakpointsBase) || !s.breakpointsBase ? e.el : document.querySelector(s.breakpointsBase), l = e.getBreakp
vendor: 4,827 bytes, lines 3590-3710
3590oint(o, a, r);
3591			if (!l || e.currentBreakpoint === l) return;
3592			const d = (l in o ? o[l] : void 0) || e.originalParams, c = be(e, s), p = be(e, d), u = e.params.grabCursor, h = d.grabCursor, m = s.enabled;
3593			c && !p ? (n.classList.remove(`${s.containerModifierClass}grid`, `${s.containerModifierClass}grid-column`), e.emitContainerClasses()) : !c && p && (n.classList.add(`${s.containerModifierClass}grid`), (d.grid.fill && "column" === d.grid.fill || !d.grid.fill && "column" === s.grid.fill) && n.classList.add(`${s.containerModifierClass}grid-column`), e.emitContainerClasses()), u && !h ? e.unsetGrabCursor() : !u && h && e.setGrabCursor();
3594			const f = (e, t) => e[t];
3595			[
3596				"navigation",
3597				"pagination",
3598				"scrollbar"
3599			].forEach((t) => {
3600				const i = f(d, t);
3601				if (void 0 === i) return;
3602				const n = f(s, t), o = "object" == typeof n && null !== n && n.enabled, a = "object" == typeof i && null !== i && i.enabled, r = e[t];
3603				o && !a && r?.disable?.(), !o && a && r?.enable?.();
3604			});
3605			const g = d.direction && d.direction !== s.direction, w = s.loop && (d.slidesPerView !== s.slidesPerView || g), v = s.loop;
3606			g && i && e.changeDirection(), Z(e.params, d);
3607			const y = e.params.enabled, b = e.params.loop;
3608			Object.assign(e, {
3609				allowTouchMove: e.params.allowTouchMove,
3610				allowSlideNext: e.params.allowSlideNext,
3611				allowSlidePrev: e.params.allowSlidePrev
3612			}), m && !y ? e.disable() : !m && y && e.enable(), e.currentBreakpoint = l, e.emit("_beforeBreakpoint", d), i && (w ? (e.loopDestroy(), e.loopCreate(t), e.updateSlides()) : !v && b ? (e.loopCreate(t), e.updateSlides()) : v && !b && e.loopDestroy()), e.emit("breakpoint", d);
3613		},
3614		getBreakpoint: function(e, t = "window", i) {
3615			if (!e || "container" === t && !i) return;
3616			let s = !1;
3617			const n = "window" === t ? window.innerHeight : i.clientHeight, o = Object.keys(e).map((e) => {
3618				if ("string" == typeof e && 0 === e.indexOf("@")) {
3619					const t = parseFloat(e.substr(1));
3620					return {
3621						value: n * t,
3622						point: e
3623					};
3624				}
3625				return {
3626					value: e,
3627					point: e
3628				};
3629			});
3630			o.sort((e, t) => parseInt(String(e.value), 10) - parseInt(String(t.value), 10));
3631			for (let e = 0; e < o.length; e += 1) {
3632				const { point: n, value: a } = o[e];
3633				"window" === t ? window.matchMedia(`(min-width: ${a}px)`).matches && (s = n) : a <= i.clientWidth && (s = n);
3634			}
3635			return s || "max";
3636		}
3637	};
3638	var Te = { checkOverflow: function() {
3639		const e = this, { isLocked: t, params: i } = e, { slidesOffsetBefore: s } = i;
3640		if (s) {
3641			const t = e.slides.length - 1, i = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * s;
3642			e.isLocked = e.size > i;
3643		} else e.isLocked = 1 === e.snapGrid.length;
3644		!0 === i.allowSlideNext && (e.allowSlideNext = !e.isLocked), !0 === i.allowSlidePrev && (e.allowSlidePrev = !e.isLocked), t && t !== e.isLocked && (e.isEnd = !1), t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock");
3645	} };
3646	var Ce = {
3647		addClasses: function() {
3648			const e = this, { classNames: t, params: i, rtl: s, el: n, device: o } = e, a = function(e, t) {
3649				const i = [];
3650				return e.forEach((e) => {
3651					"object" == typeof e ? Object.keys(e).forEach((s) => {
3652						e[s] && i.push(t + s);
3653					}) : "string" == typeof e && i.push(t + e);
3654				}), i;
3655			}([
3656				"initialized",
3657				i.direction,
3658				{ "free-mode": e.params.freeMode && i.freeMode.enabled },
3659				{ autoheight: i.autoHeight },
3660				{ rtl: s },
3661				{ grid: i.grid && i.grid.rows > 1 },
3662				{ "grid-column": i.grid && i.grid.rows > 1 && "column" === i.grid.fill },
3663				{ android: o.android },
3664				{ ios: o.ios },
3665				{ "css-mode": i.cssMode },
3666				{ centered: i.cssMode && i.centeredSlides },
3667				{ "watch-progress": i.watchSlidesProgress }
3668			], i.containerModifierClass);
3669			t.push(...a), n.classList.add(...t), e.emitContainerClasses();
3670		},
3671		removeClasses: function() {
3672			const { el: e, classNames: t } = this;
3673			e && "string" != typeof e && (e.classList.remove(...t), this.emitContainerClasses());
3674		}
3675	};
3676	const Ee = {
3677		init: !0,
3678		direction: "horizontal",
3679		oneWayMovement: !1,
3680		swiperElementNodeName: "SWIPER-CONTAINER",
3681		touchEventsTarget: "wrapper",
3682		initialSlide: 0,
3683		speed: 300,
3684		cssMode: !1,
3685		updateOnWindowResize: !0,
3686		resizeObserver: !0,
3687		nested: !1,
3688		createElements: !1,
3689		eventsPrefix: "swiper",
3690		enabled: !0,
3691		focusableElements: "input, select, option, textarea, button, video, label",
3692		width: null,
3693		height: null,
3694		preventInteractionOnTransition: !1,
3695		userAgent: null,
3696		url: null,
3697		edgeSwipeDetection: !1,
3698		edgeSwipeThreshold: 20,
3699		autoHeight: !1,
3700		setWrapperSize: !1,
3701		virtualTranslate: !1,
3702		effect: "slide",
3703		breakpoints: void 0,
3704		breakpointsBase: "window",
3705		spaceBetween: 0,
3706		slidesPerView: 1,
3707		slidesPerGroup: 1,
3708		slidesPerGroupSkip: 0,
3709		slidesPerGroupAuto: !1,
3710		centeredSlides: !1,
3711		centeredSlidesBounds: !1,
3712		slidesOffsetBefore: 0,
3713		slidesOffsetAfter: 0,
3714		normalizeSlideIndex: !0,
3715		centerInsufficientSlides: !1,
3716		snapToSlideEdge: !1,
3717		watchOverflow: !0,
3718		roundLengths: !1,
3719		touchRatio: 1,
3720		touchAngle: 45,
3721		simulateTouch: !0,
3722		shortSwipes: !0,
3723		longSwipes: !0,
3724		longSwipesRatio: .5,
3725		longSwipesMs: 300,
3726		followFinger: !0,
3727		allowTouchMove: !0,
3728		threshold: 5,
3729		touchMoveStopPropagation: !1,
3730		touchStartPreventDefault: !0,
3731		touchStartForcePreventDefault: !1,
3732		touchReleaseOnEdges: !1,
3733		uniqueNavElements: !0,
3734		resistance: !0,
3735		resistanceRatio: .85,
3736		watchSlidesProgress: !1,
3737		grabCursor: !1,
3738		preventClicks: !0,
3739		preventClicksPropagation: !0,
3740		slideToClickedSlide: !1,
3741		loop: !1,
3742		loopAddBlankSlides: !0,
3743		loopAdditionalSlides: 0,
3744		loopPreventsSliding: !0,
3745		rewind: !1,
3746		allowSlidePrev: !0,
3747		allowSlideNext: !0,
3748		swipeHandler: null,
3749		noSwiping: !0,
3750		noSwipingClass: "swiper-no-swiping",
3751		noSwipingSelector: null,
3752		passiveListeners: !0,
3753		maxBackfaceHiddenSlides: 10,
3754		containerModifierClass: "swiper-",
3755		slideClass: "swiper-slide",
3756		slideBlankClass: "swiper-slide-blank",
3757		slideActiveClass: "swiper-slide-active",
3758		slideVisibleClass: "swiper-slide-visible",
3759		slideFullyVisibleClass: "swiper-slide-fully-visible",
3760		slideNextClass: "swiper-slide-next",
3761		slidePrevClass: "swiper-slide-prev",
3762		wrapperClass: "swiper-wrapper",
3763		lazyPreloaderClass: "swiper-lazy-preloader",
3764		lazyPreloadPrevNext: 0,
3765		runCallbacksOnInit: !0,
3766		_emitClasses: !1
3767	};
3768	var Se = {
3769		on(e, t, i) {
3770			const s = this;
3771			if (!s.eventsListeners || s.destroyed) return s;
3772			if ("function" != typeof t) return s;
3773			const n = i ? "unshift" : "push";
3774			return e.split(" ").forEach((e) => {
3775				s.eventsListeners[e] || (s.eventsListeners[e] = []), s.eventsListeners[e][n](t);
3776			}), s;
3777		},
3778		once(e, t, i) {
3779			const s = this;
3780			if (!s.eventsListeners || s.destroyed) return s;
3781			if ("function" != typeof t) return s;
3782			const n = function(...i) {
3783				s.off(e, n), n.__emitterProxy && delete n.__emitterProxy, t.apply(s, i);
3784			};
3785			return n.__emitterProxy = t, s.on(e, n, i);
3786		},
3787		onAny(e, t) {
3788			const i = this;
3789			if (!i.eventsListeners || i.destroyed) return i;
3790			if ("function" != typeof e) return i;
3791			const s = t ? "unshift" : "push";
3792			return i.eventsAnyListeners.indexOf(e) < 0 && i.eventsAnyListeners[s](e), i;
3793		},
3794		offAny(e) {
3795			const t = this;
3796			if (!t.eventsListeners || t.destroyed) return t;
3797			if (!t.eventsAnyListeners) return t;
3798			const i = t.eventsAnyListeners.indexOf(e);
3799			return i >= 0 && t.eventsAnyListeners.splice(i, 1), t;
3800		},
3801		off(e, t) {
3802			const i = this;
3803			return !i.eventsListeners || i.destroyed ? i : i.eventsListeners ? (e.split(" ").forEach((e) => {
3804				void 0 === t ? i.eventsListeners[e] = [] : i.eventsListeners[e] && i.eventsListeners[e].forEach((s, n) => {
3805					(s === t || s.__emitterProxy && s.__emitterProxy === t) && i.eventsListeners[e].splice(n, 1);
3806				});
3807			}), i) : i;
3808		},
3809		emit(...e) {
3810			const t = this;
3811			if (!t.eventsListeners || t.destroyed) return t;
3812			if (!t.eventsListeners) return t;
3813			let i, s, n;
3814			if ("string" == typeof e[0] || Array.isArray(e[0])) i = e[0], s = e.slice(1, e.length), n = t;
3815			else {
3816				const o = e[0];
3817				i = o.events, s = o.data ?? [], n = o.context || t;
3818			}
3819			return s.unshift(n), (Array.isArray(i) ? i : i.split(" ")).forEach((e) => {
3820				t.eventsAnyListeners && t.eventsAnyListeners.length && t.eventsAnyListeners.forEach((t) => {
3821					t.apply(n, [e, ...s]);
3822				}), t.eventsListeners && t.eventsListeners[e] && t.eventsListeners[e].forEach((e) => {
3823					e.apply(n, s);
3824				});
3825			}), t;
3826		}
3827	};
3828	function _e(e) {
3829		const t = this;
3830		t.destroyed || t.enabled && (t.allowClick || (t.params.preventClicks && e.preventDefault(), t.params.preventClicksPropagation && t.animating && (e.stopPropagation(), e.stopImmediatePropagation())));
3831	}
3832	function ke() {
3833		const e = this;
3834		e.destroyed || e.documentTouchHandlerProceeded || (e.documentTouchHandlerProceeded = !0, e.params.touchReleaseOnEdges && (e.el.style.touchAction = "auto"));
3835	}
3836	function je(e) {
3837		const t = this;
3838		t.destroyed || (we(t, e.target), t.params.cssMode || "auto" !== t.params.slidesPerView && !t.params.autoHeight || t.update(
vendor: 17,606 bytes, lines 3838-4111
3838));
3839	}
3840	function Pe() {
3841		const e = this, { params: t, el: i } = e;
3842		if (i && 0 === i.offsetWidth) return;
3843		t.breakpoints && e.setBreakpoint();
3844		const { allowSlideNext: s, allowSlidePrev: n, snapGrid: o } = e, a = e.virtual && e.params.virtual?.enabled;
3845		e.allowSlideNext = !0, e.allowSlidePrev = !0, e.updateSize(), e.updateSlides(), e.updateSlidesClasses();
3846		const r = a && t.loop;
3847		if (!("auto" === t.slidesPerView || t.slidesPerView > 1) || !e.isEnd || e.isBeginning || e.params.centeredSlides || r) e.params.loop && !a ? e.slideToLoop(e.realIndex, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0);
3848		else {
3849			const t = a ? e.virtual.slides.length : e.slides.length;
3850			e.slideTo(t - 1, 0, !1, !0);
3851		}
3852		if (e.autoplay && e.autoplay.running && e.autoplay.paused) {
3853			const t = e.autoplay;
3854			clearTimeout(t.resizeTimeout), t.resizeTimeout = setTimeout(() => {
3855				e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.resume();
3856			}, 500);
3857		}
3858		e.allowSlidePrev = n, e.allowSlideNext = s, e.params.watchOverflow && o !== e.snapGrid && e.checkOverflow();
3859	}
3860	function Me() {
3861		const e = this;
3862		if (e.destroyed) return;
3863		const { wrapperEl: t, rtlTranslate: i, enabled: s } = e;
3864		if (!s) return;
3865		let n;
3866		e.previousTranslate = e.translate, e.isHorizontal() ? e.translate = -t.scrollLeft : e.translate = -t.scrollTop, 0 === e.translate && (e.translate = 0), e.updateActiveIndex(), e.updateSlidesClasses();
3867		const o = e.maxTranslate() - e.minTranslate();
3868		n = 0 === o ? 0 : (e.translate - e.minTranslate()) / o, n !== e.progress && e.updateProgress(i ? -e.translate : e.translate), e.emit("setTranslate", e.translate, !1);
3869	}
3870	function Ie(e) {
3871		const t = this;
3872		if (t.destroyed) return;
3873		const i = t.touchEventsData;
3874		let s = e.originalEvent ?? e;
3875		if ("touchend" !== s.type && "touchcancel" !== s.type) {
3876			if (null !== i.touchId) return;
3877			if (s.pointerId !== i.pointerId) return;
3878		} else {
3879			const e = [...s.changedTouches].find((e) => e.identifier === i.touchId);
3880			if (!e || e.identifier !== i.touchId) return;
3881		}
3882		if ([
3883			"pointercancel",
3884			"pointerout",
3885			"pointerleave",
3886			"contextmenu"
3887		].includes(s.type) && (!["pointercancel", "contextmenu"].includes(s.type) || !t.browser.isSafari && !t.browser.isWebView)) return;
3888		i.pointerId = null, i.touchId = null;
3889		const { params: n, touches: o, rtlTranslate: a, slidesGrid: r, enabled: l } = t;
3890		if (!l) return;
3891		if (!n.simulateTouch && "mouse" === s.pointerType) return;
3892		if (i.allowTouchCallbacks && t.emit("touchEnd", s), i.allowTouchCallbacks = !1, !i.isTouched) return i.isMoved && n.grabCursor && t.setGrabCursor(!1), i.isMoved = !1, void (i.startMoving = !1);
3893		n.grabCursor && i.isMoved && i.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1);
3894		const d = U(), c = d - i.touchStartTime;
3895		if (t.allowClick) {
3896			const e = s.path ?? (s.composedPath && s.composedPath());
3897			t.updateClickedSlide(e && e[0], e), t.emit("tap click", s), c < 300 && d - i.lastClickTime < 300 && t.emit("doubleTap doubleClick", s);
3898		}
3899		if (i.lastClickTime = U(), Q(() => {
3900			t.destroyed || (t.allowClick = !0);
3901		}), !i.isTouched || !i.isMoved || !t.swipeDirection || 0 === o.diff && !i.loopSwapReset || i.currentTranslate === i.startTranslate && !i.loopSwapReset) return i.isTouched = !1, i.isMoved = !1, void (i.startMoving = !1);
3902		let p;
3903		if (i.isTouched = !1, i.isMoved = !1, i.startMoving = !1, p = n.followFinger ? a ? t.translate : -t.translate : -(i.currentTranslate ?? 0), n.cssMode) return;
3904		if (n.freeMode && n.freeMode.enabled) return void t.freeMode.onTouchEnd({ currentPos: p });
3905		const u = p >= -t.maxTranslate() && !t.params.loop;
3906		let h = 0, m = t.slidesSizesGrid[0];
3907		for (let e = 0; e < r.length; e += e < n.slidesPerGroupSkip ? 1 : n.slidesPerGroup) {
3908			const t = e < n.slidesPerGroupSkip - 1 ? 1 : n.slidesPerGroup;
3909			void 0 !== r[e + t] ? (u || p >= r[e] && p < r[e + t]) && (h = e, m = r[e + t] - r[e]) : (u || p >= r[e]) && (h = e, m = r[r.length - 1] - r[r.length - 2]);
3910		}
3911		let f = null, g = null;
3912		n.rewind && (t.isBeginning ? g = n.virtual?.enabled && t.virtual ? t.virtual.slides.length - 1 : t.slides.length - 1 : t.isEnd && (f = 0));
3913		const w = (p - r[h]) / m, v = h < n.slidesPerGroupSkip - 1 ? 1 : n.slidesPerGroup;
3914		if (c > n.longSwipesMs) {
3915			if (!n.longSwipes) return void t.slideTo(t.activeIndex);
3916			"next" === t.swipeDirection && (w >= n.longSwipesRatio ? t.slideTo(n.rewind && t.isEnd ? f : h + v) : t.slideTo(h)), "prev" === t.swipeDirection && (w > 1 - n.longSwipesRatio ? t.slideTo(h + v) : null !== g && w < 0 && Math.abs(w) > n.longSwipesRatio ? t.slideTo(g) : t.slideTo(h));
3917		} else {
3918			if (!n.shortSwipes) return void t.slideTo(t.activeIndex);
3919			!t.navigation || s.target !== t.navigation.nextEl && s.target !== t.navigation.prevEl ? ("next" === t.swipeDirection && t.slideTo(null !== f ? f : h + v), "prev" === t.swipeDirection && t.slideTo(null !== g ? g : h)) : s.target === t.navigation.nextEl ? t.slideTo(h + v) : t.slideTo(h);
3920		}
3921	}
3922	function Le(e) {
3923		const t = this;
3924		if (t.destroyed) return;
3925		const i = t.touchEventsData, { params: s, touches: n, rtlTranslate: o, enabled: a } = t;
3926		if (!a) return;
3927		if (!s.simulateTouch && "mouse" === e.pointerType) return;
3928		const r = e, l = r.originalEvent ?? r;
3929		if ("pointermove" === l.type) {
3930			if (null !== i.touchId) return;
3931			if (l.pointerId !== i.pointerId) return;
3932		}
3933		let d;
3934		if ("touchmove" === l.type) {
3935			const e = [...l.changedTouches].find((e) => e.identifier === i.touchId);
3936			if (!e || e.identifier !== i.touchId) return;
3937			d = e;
3938		} else d = l;
3939		if (!i.isTouched) return void (i.startMoving && i.isScrolling && t.emit("touchMoveOpposite", l));
3940		const c = d.pageX, p = d.pageY;
3941		if (l.preventedByNestedSwiper) return n.startX = c, void (n.startY = p);
3942		if (!t.allowTouchMove) return l.target.matches(i.focusableElements) || (t.allowClick = !1), void (i.isTouched && (Object.assign(n, {
3943			startX: c,
3944			startY: p,
3945			currentX: c,
3946			currentY: p
3947		}), i.touchStartTime = U()));
3948		if (s.touchReleaseOnEdges && !s.loop) if (t.isVertical()) {
3949			if (p < n.startY && t.translate <= t.maxTranslate() || p > n.startY && t.translate >= t.minTranslate()) return i.isTouched = !1, void (i.isMoved = !1);
3950		} else {
3951			if (o && (c > n.startX && -t.translate <= t.maxTranslate() || c < n.startX && -t.translate >= t.minTranslate())) return;
3952			if (!o && (c < n.startX && t.translate <= t.maxTranslate() || c > n.startX && t.translate >= t.minTranslate())) return;
3953		}
3954		if (document.activeElement && document.activeElement.matches(i.focusableElements) && document.activeElement !== l.target && "mouse" !== l.pointerType && document.activeElement.blur(), document.activeElement && l.target === document.activeElement && l.target.matches(i.focusableElements)) return i.isMoved = !0, void (t.allowClick = !1);
3955		i.allowTouchCallbacks && t.emit("touchMove", l), n.previousX = n.currentX, n.previousY = n.currentY, n.currentX = c, n.currentY = p;
3956		const u = n.currentX - n.startX, h = n.currentY - n.startY;
3957		if (t.params.threshold && Math.sqrt(u ** 2 + h ** 2) < t.params.threshold) return;
3958		if (void 0 === i.isScrolling) {
3959			let e;
3960			t.isHorizontal() && n.currentY === n.startY || t.isVertical() && n.currentX === n.startX ? i.isScrolling = !1 : u * u + h * h >= 25 && (e = 180 * Math.atan2(Math.abs(h), Math.abs(u)) / Math.PI, i.isScrolling = t.isHorizontal() ? e > s.touchAngle : 90 - e > s.touchAngle);
3961		}
3962		if (i.isScrolling && t.emit("touchMoveOpposite", l), void 0 === i.startMoving && (n.currentX === n.startX && n.currentY === n.startY || (i.startMoving = !0)), i.isScrolling || "touchmove" === l.type && i.preventTouchMoveFromPointerMove) return void (i.isTouched = !1);
3963		if (!i.startMoving) return;
3964		t.allowClick = !1, !s.cssMode && l.cancelable && l.preventDefault(), s.touchMoveStopPropagation && !s.nested && l.stopPropagation();
3965		let m = t.isHorizontal() ? u : h, f = t.isHorizontal() ? n.currentX - n.previousX : n.currentY - n.previousY;
3966		s.oneWayMovement && (m = Math.abs(m) * (o ? 1 : -1), f = Math.abs(f) * (o ? 1 : -1)), n.diff = m, m *= s.touchRatio, o && (m = -m, f = -f);
3967		const g = t.touchesDirection;
3968		t.swipeDirection = m > 0 ? "prev" : "next", t.touchesDirection = f > 0 ? "prev" : "next";
3969		const w = t.params.loop && !s.cssMode, v = "next" === t.touchesDirection && t.allowSlideNext || "prev" === t.touchesDirection && t.allowSlidePrev;
3970		if (!i.isMoved) {
3971			if (w && v && t.loopFix({ direction: t.swipeDirection }), i.startTranslate = t.getTranslate(), t.setTransition(0), t.animating) {
3972				const e = new window.CustomEvent("transitionend", {
3973					bubbles: !0,
3974					cancelable: !0,
3975					detail: { bySwiperTouchMove: !0 }
3976				});
3977				t.wrapperEl.dispatchEvent(e);
3978			}
3979			i.allowMomentumBounce = !1, !s.grabCursor || !0 !== t.allowSlideNext && !0 !== t.allowSlidePrev || t.setGrabCursor(!0), t.emit("sliderFirstMove", l);
3980		}
3981		if ((/* @__PURE__ */ new Date()).getTime(), !1 !== s._loopSwapReset && i.isMoved && i.allowThresholdMove && g !== t.touchesDirection && w && v && Math.abs(m) >= 1) return Object.assign(n, {
3982			startX: c,
3983			startY: p,
3984			currentX: c,
3985			currentY: p,
3986			startTranslate: i.currentTranslate
3987		}), i.loopSwapReset = !0, void (i.startTranslate = i.currentTranslate);
3988		t.emit("sliderMove", l), i.isMoved = !0;
3989		const y = i.startTranslate ?? 0;
3990		i.currentTranslate = m + y;
3991		let b = !0, x = s.resistanceRatio;
3992		if (s.touchReleaseOnEdges && (x = 0), m > 0 ? (w && v && i.allowThresholdMove && i.currentTranslate > (s.centeredSlides ? t.minTranslate() - t.slidesSizesGrid[t.activeIndex + 1] - ("auto" !== s.slidesPerView && t.slides.length - s.slidesPerView >= 2 ? t.slidesSizesGrid[t.activeIndex + 1] + t.params.spaceBetween : 0) - t.params.spaceBetween : t.minTranslate()) && t.loopFix({
3993			direction: "prev",
3994			setTranslate: !0,
3995			activeSlideIndex: 0
3996		}), i.currentTranslate > t.minTranslate() && (b = !1, s.resistance && (i.currentTranslate = t.minTranslate() - 1 + (-t.minTranslate() + y + m) ** x))) : m < 0 && (w && v && i.allowThresholdMove && i.currentTranslate < (s.centeredSlides ? t.maxTranslate() + t.slidesSizesGrid[t.slidesSizesGrid.length - 1] + t.params.spaceBetween + ("auto" !== s.slidesPerView && t.slides.length - s.slidesPerView >= 2 ? t.slidesSizesGrid[t.slidesSizesGrid.length - 1] + t.params.spaceBetween : 0) : t.maxTranslate()) && t.loopFix({
3997			direction: "next",
3998			setTranslate: !0,
3999			activeSlideIndex: t.slides.length - ("auto" === s.slidesPerView ? t.slidesPerViewDynamic() : Math.ceil(parseFloat(String(s.slidesPerView))))
4000		}), i.currentTranslate < t.maxTranslate() && (b = !1, s.resistance && (i.currentTranslate = t.maxTranslate() + 1 - (t.maxTranslate() - y - m) ** x))), b && (l.preventedByNestedSwiper = !0), !t.allowSlideNext && "next" === t.swipeDirection && (i.currentTranslate ?? 0) < y && (i.currentTranslate = y), !t.allowSlidePrev && "prev" === t.swipeDirection && (i.currentTranslate ?? 0) > y && (i.currentTranslate = y), t.allowSlidePrev || t.allowSlideNext || (i.currentTranslate = y), s.threshold > 0) {
4001			if (!(Math.abs(m) > s.threshold || i.allowThresholdMove)) return void (i.currentTranslate = i.startTranslate);
4002			if (!i.allowThresholdMove) return i.allowThresholdMove = !0, n.startX = n.currentX, n.startY = n.currentY, i.currentTranslate = i.startTranslate, void (n.diff = t.isHorizontal() ? n.currentX - n.startX : n.currentY - n.startY);
4003		}
4004		s.followFinger && !s.cssMode && ((s.freeMode && s.freeMode.enabled && t.freeMode || s.watchSlidesProgress) && (t.updateActiveIndex(), t.updateSlidesClasses()), s.freeMode && s.freeMode.enabled && t.freeMode && t.freeMode.onTouchMove(), t.updateProgress(i.currentTranslate), t.setTranslate(i.currentTranslate ?? 0));
4005	}
4006	function Ae(e, t, i) {
4007		const { params: s } = e, n = s.edgeSwipeDetection, o = s.edgeSwipeThreshold;
4008		return !n || !(i <= o || i >= window.innerWidth - o) || "prevent" === n && (t.preventDefault(), !0);
4009	}
4010	function Oe(e) {
4011		const t = this;
4012		if (t.destroyed) return;
4013		const i = e.originalEvent ?? e, s = t.touchEventsData;
4014		if ("pointerdown" === i.type) {
4015			const e = i;
4016			if (null !== s.pointerId && s.pointerId !== e.pointerId) return;
4017			s.pointerId = e.pointerId;
4018		} else "touchstart" === i.type && 1 === i.targetTouches.length && (s.touchId = i.targetTouches[0].identifier);
4019		if ("touchstart" === i.type) return void Ae(t, i, i.targetTouches[0].pageX);
4020		const { params: n, touches: o, enabled: a } = t;
4021		if (!a) return;
4022		if (!n.simulateTouch && "mouse" === i.pointerType) return;
4023		if (t.animating && n.preventInteractionOnTransition) return;
4024		!t.animating && n.cssMode && n.loop && t.loopFix();
4025		let r = i.target;
4026		if ("wrapper" === n.touchEventsTarget && !function(e, t) {
4027			let i = t.contains(e);
4028			return !i && t instanceof HTMLSlotElement && (i = [...t.assignedElements()].includes(e), i || (i = function(e, t) {
4029				const i = [t];
4030				for (; i.length > 0;) {
4031					const t = i.shift();
4032					if (e === t) return !0;
4033					i.push(...t.children, ...t.shadowRoot ? t.shadowRoot.children : [], ...t.assignedElements ? t.assignedElements() : []);
4034				}
4035				return !1;
4036			}(e, t))), i;
4037		}(r, t.wrapperEl)) return;
4038		const l = i;
4039		if ("number" == typeof l.which && 3 === l.which) return;
4040		if ("number" == typeof l.button && l.button > 0) return;
4041		if (s.isTouched && s.isMoved) return;
4042		const d = !!n.noSwipingClass && "" !== n.noSwipingClass, c = i.composedPath ? i.composedPath() : i.path;
4043		d && i.target && i.target.shadowRoot && c && (r = c[0]);
4044		const p = n.noSwipingSelector ? n.noSwipingSelector : `.${n.noSwipingClass}`, u = !(!i.target || !i.target.shadowRoot);
4045		if (n.noSwiping && (u ? (h = p, function e(t) {
4046			if (!t || t === document || t === window) return null;
4047			let i = t;
4048			i.assignedSlot && (i = i.assignedSlot);
4049			const s = i.closest(h);
4050			if (!s && !i.getRootNode) return null;
4051			const n = i.getRootNode();
4052			return s || e(n.host);
4053		}(r)) : r.closest(p))) return void (t.allowClick = !0);
4054		var h;
4055		if (n.swipeHandler && "string" == typeof n.swipeHandler && !r.closest(n.swipeHandler)) return;
4056		const m = i;
4057		o.currentX = m.pageX, o.currentY = m.pageY;
4058		const f = o.currentX, g = o.currentY;
4059		if (!Ae(t, i, f)) return;
4060		Object.assign(s, {
4061			isTouched: !0,
4062			isMoved: !1,
4063			allowTouchCallbacks: !0,
4064			isScrolling: void 0,
4065			startMoving: void 0
4066		}), o.startX = f, o.startY = g, s.touchStartTime = U(), t.allowClick = !0, t.updateSize(), t.swipeDirection = void 0, n.threshold > 0 && (s.allowThresholdMove = !1);
4067		let w = !0;
4068		r.matches(s.focusableElements) && (w = !1, "SELECT" === r.nodeName && (s.isTouched = !1)), document.activeElement && document.activeElement.matches(s.focusableElements) && document.activeElement !== r && ("mouse" === m.pointerType || "mouse" !== m.pointerType && !r.matches(s.focusableElements)) && document.activeElement.blur();
4069		const v = w && t.allowTouchMove && n.touchStartPreventDefault;
4070		!n.touchStartForcePreventDefault && !v || r.isContentEditable || i.preventDefault(), n.freeMode && n.freeMode.enabled && t.freeMode && t.animating && !n.cssMode && t.freeMode.onTouchStart(), t.emit("touchStart", i);
4071	}
4072	const $e = (e, t) => {
4073		const { params: i, el: s, wrapperEl: n, device: o } = e, a = !!i.nested, r = "on" === t ? "addEventListener" : "removeEventListener", l = t;
4074		if (!s || "string" == typeof s) return;
4075		document[r]("touchstart", e.onDocumentTouchStart, {
4076			passive: !1,
4077			capture: a
4078		}), s[r]("touchstart", e.onTouchStart, { passive: !1 }), s[r]("pointerdown", e.onTouchStart, { passive: !1 }), document[r]("touchmove", e.onTouchMove, {
4079			passive: !1,
4080			capture: a
4081		}), document[r]("pointermove", e.onTouchMove, {
4082			passive: !1,
4083			capture: a
4084		}), document[r]("touchend", e.onTouchEnd, { passive: !0 }), document[r]("pointerup", e.onTouchEnd, { passive: !0 }), document[r]("pointercancel", e.onTouchEnd, { passive: !0 }), document[r]("touchcancel", e.onTouchEnd, { passive: !0 }), document[r]("pointerout", e.onTouchEnd, { passive: !0 }), document[r]("pointerleave", e.onTouchEnd, { passive: !0 }), document[r]("contextmenu", e.onTouchEnd, { passive: !0 }), (i.preventClicks || i.preventClicksPropagation) && s[r]("click", e.onClick, !0), i.cssMode && n[r]("scroll", e.onScroll);
4085		const d = (t) => {
4086			e[l](t, Pe, !0);
4087		};
4088		i.updateOnWindowResize ? d(o.ios || o.android ? "resize orientationchange observerUpdate" : "resize observerUpdate") : d("observerUpdate"), s[r]("load", e.onLoad, { capture: !0 });
4089	};
4090	var ze = {
4091		loopCreate: function(e, t) {
4092			const i = this, { params: s, slidesEl: n } = i;
4093			if (!s.loop || i.virtual && i.params.virtual?.enabled) return;
4094			const o = () => {
4095				te(n, `.${s.slideClass}, swiper-slide`).forEach((e, t) => {
4096					e.setAttribute("data-swiper-slide-index", String(t));
4097				});
4098			}, a = i.grid && s.grid && s.grid.rows > 1;
4099			s.loopAddBlankSlides && (s.slidesPerGroup > 1 || a) && (() => {
4100				const e = te(n, `.${s.slideBlankClass}`);
4101				e.forEach((e) => {
4102					e.remove();
4103				}), e.length > 0 && (i.recalcSlides(), i.updateSlides());
4104			})();
4105			const r = s.slidesPerGroup * (a ? s.grid.rows : 1), l = i.slides.length % r !== 0, d = a && i.slides.length % s.grid.rows !== 0, c = (e) => {
4106				for (let t = 0; t < e; t += 1) {
4107					const e = i.isElement ? se("swiper-slide", [s.slideBlankClass]) : se("div", [s.slideClass, s.slideBlankClass]);
4108					i.slidesEl.append(e);
4109				}
4110			};
4111			l ? (s.loopAddBlankSlides ? (c(r - i.slides.length % r), i.recalcSlides(), i.updateSlides()) : ie("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may 
4111not function properly. You need to add more slides (or make duplicates, or empty slides)"), o()) : d ? (s.loopAddBlankSlides ? (c(s.grid.rows - i.slides.length % s.grid.rows), i.recalcSlides(), i.updateSlides()) : ie("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)"), o()) : o();
4112			const p = s.centeredSlides || !!s.slidesOffsetBefore || !!s.slidesOffsetAfter;
4113			i.loopFix({
4114				slideRealIndex: e,
4115				direction: p ? void 0 : "next",
4116				initial: t
4117			});
4118		},
4119		loopFix: function(e = {}) {
4120			const { slideRealIndex: t, slideTo: i = !0, direction: s, setTranslate: n, activeSlideIndex: o, initial: a, byController: r, byMousewheel: l } = e;
4121			let d = o;
4122			const c = this;
4123			if (!c.params.loop) return;
4124			c.emit("beforeLoopFix");
4125			const { slides: p, allowSlidePrev: u, allowSlideNext: h, slidesEl: m, params: f } = c, { centeredSlides: g, slidesOffsetBefore: w, slidesOffsetAfter: v, initialSlide: y } = f, b = g || !!w || !!v;
4126			if (c.allowSlidePrev = !0, c.allowSlideNext = !0, c.virtual && f.virtual?.enabled) {
4127				if (i) {
4128					const e = c.virtual.slides.length, t = c.virtual.slidesBefore ?? 0;
4129					b || 0 !== c.snapIndex ? b && c.snapIndex < f.slidesPerView ? c.slideTo(e + c.snapIndex, 0, !1, !0) : c.snapIndex === c.snapGrid.length - 1 && c.slideTo(t, 0, !1, !0) : c.slideTo(e, 0, !1, !0);
4130				}
4131				c.allowSlidePrev = u, c.allowSlideNext = h, c.emit("loopFix");
4132				return;
4133			}
4134			let x = f.slidesPerView;
4135			"auto" === x ? x = c.slidesPerViewDynamic() : (x = Math.ceil(parseFloat(String(f.slidesPerView))), b && x % 2 == 0 && (x += 1));
4136			const T = f.slidesPerGroupAuto ? x : f.slidesPerGroup;
4137			let C = b ? Math.max(T, Math.ceil(x / 2)) : T;
4138			C % T !== 0 && (C += T - C % T), C += f.loopAdditionalSlides, c.loopedSlides = C;
4139			const E = c.grid && f.grid && f.grid.rows > 1;
4140			p.length < x + C || "cards" === c.params.effect && p.length < x + 2 * C ? ie("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters") : E && "row" === f.grid.fill && ie("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");
4141			const S = [], _ = [], k = E ? Math.ceil(p.length / f.grid.rows) : p.length, j = a && k - y < x && !b;
4142			let P = j ? y : c.activeIndex;
4143			void 0 === d ? d = c.getSlideIndex(p.find((e) => e.classList.contains(f.slideActiveClass))) : P = d;
4144			const M = "next" === s || !s, I = "prev" === s || !s;
4145			let L = 0, A = 0;
4146			const O = (E ? p[d].column ?? 0 : d) + (b && void 0 === n ? -x / 2 + .5 : 0);
4147			if (O < C) {
4148				L = Math.max(C - O, T);
4149				for (let e = 0; e < C - O; e += 1) {
4150					const t = e - Math.floor(e / k) * k;
4151					if (E) {
4152						const e = k - t - 1;
4153						for (let t = p.length - 1; t >= 0; t -= 1) p[t].column === e && S.push(t);
4154					} else S.push(k - t - 1);
4155				}
4156			} else if (O + x > k - C) {
4157				A = Math.max(O - (k - 2 * C), T), j && (A = Math.max(A, x - k + y + 1));
4158				for (let e = 0; e < A; e += 1) {
4159					const t = e - Math.floor(e / k) * k;
4160					E ? p.forEach((e, i) => {
4161						e.column === t && _.push(i);
4162					}) : _.push(t);
4163				}
4164			}
4165			if (c.__preventObserver__ = !0, requestAnimationFrame(() => {
4166				c.__preventObserver__ = !1;
4167			}), "cards" === c.params.effect && p.length < x + 2 * C && (_.includes(d) && _.splice(_.indexOf(d), 1), S.includes(d) && S.splice(S.indexOf(d), 1)), I && S.forEach((e) => {
4168				const t = p[e];
4169				t.swiperLoopMoveDOM = !0, m.prepend(t), t.swiperLoopMoveDOM = !1;
4170			}), M && _.forEach((e) => {
4171				const t = p[e];
4172				t.swiperLoopMoveDOM = !0, m.append(t), t.swiperLoopMoveDOM = !1;
4173			}), c.recalcSlides(), "auto" === f.slidesPerView ? c.updateSlides() : E && (S.length > 0 && I || _.length > 0 && M) && c.slides.forEach((e, t) => {
4174				c.grid.updateSlide(t, e, c.slides);
4175			}), f.watchSlidesProgress && c.updateSlidesOffset(), i) {
4176				if (S.length > 0 && I) {
4177					if (void 0 === t) {
4178						const e = c.slidesGrid[P], t = c.slidesGrid[P + L] - e;
4179						l ? c.setTranslate(c.translate - t) : (c.slideTo(P + Math.ceil(L), 0, !1, !0), n && (c.touchEventsData.startTranslate = c.touchEventsData.startTranslate - t, c.touchEventsData.currentTranslate = c.touchEventsData.currentTranslate - t));
4180					} else if (n) {
4181						const e = E ? S.length / f.grid.rows : S.length;
4182						c.slideTo(c.activeIndex + e, 0, !1, !0), c.touchEventsData.currentTranslate = c.translate;
4183					}
4184				} else if (_.length > 0 && M) if (void 0 === t) {
4185					const e = c.slidesGrid[P], t = c.slidesGrid[P - A] - e;
4186					l ? c.setTranslate(c.translate - t) : (c.slideTo(P - A, 0, !1, !0), n && (c.touchEventsData.startTranslate = c.touchEventsData.startTranslate - t, c.touchEventsData.currentTranslate = c.touchEventsData.currentTranslate - t));
4187				} else {
4188					const e = E ? _.length / f.grid.rows : _.length;
4189					c.slideTo(c.activeIndex - e, 0, !1, !0);
4190				}
4191			}
4192			c.allowSlidePrev = u, c.allowSlideNext = h;
4193			const $ = c.controller?.control;
4194			if ($ && !r) {
4195				const e = {
4196					slideRealIndex: t,
4197					direction: s,
4198					setTranslate: n,
4199					activeSlideIndex: d,
vendor: 16,227 bytes, lines 4200-4478
4200					byController: !0
4201				};
4202				Array.isArray($) ? $.forEach((t) => {
4203					!t.destroyed && t.params.loop && t.loopFix({
4204						...e,
4205						slideTo: t.params.slidesPerView === f.slidesPerView && i
4206					});
4207				}) : $ instanceof c.constructor && $.params.loop && $.loopFix({
4208					...e,
4209					slideTo: $.params.slidesPerView === f.slidesPerView && i
4210				});
4211			}
4212			c.emit("loopFix");
4213		},
4214		loopDestroy: function() {
4215			const e = this, { params: t, slidesEl: i } = e;
4216			if (!t.loop || !i || e.virtual && e.params.virtual?.enabled) return;
4217			e.recalcSlides();
4218			const s = [];
4219			e.slides.forEach((e) => {
4220				const t = e, i = void 0 === t.swiperSlideIndex ? Number(e.getAttribute("data-swiper-slide-index")) : t.swiperSlideIndex;
4221				s[i] = e;
4222			}), e.slides.forEach((e) => {
4223				e.removeAttribute("data-swiper-slide-index");
4224			}), s.forEach((e) => {
4225				i.append(e);
4226			}), e.recalcSlides(), e.slideTo(e.realIndex, 0);
4227		}
4228	};
4229	function De(e, t) {
4230		return function(i = {}) {
4231			const s = Object.keys(i)[0], n = i[s];
4232			"object" == typeof n && null !== n ? (!0 === e[s] && (e[s] = { enabled: !0 }), "navigation" === s && e[s] && e[s].enabled && !e[s].prevEl && !e[s].nextEl && (e[s].auto = !0), ["pagination", "scrollbar"].indexOf(s) >= 0 && e[s] && e[s].enabled && !e[s].el && (e[s].auto = !0), s in e && "enabled" in n ? ("object" != typeof e[s] || "enabled" in e[s] || (e[s].enabled = !0), e[s] || (e[s] = { enabled: !1 }), Z(t, i)) : Z(t, i)) : Z(t, i);
4233		};
4234	}
4235	var Ne = {
4236		slideTo: function(e = 0, t, i = !0, s, n) {
4237			"string" == typeof e && (e = parseInt(e, 10));
4238			const o = this;
4239			let a = e;
4240			a < 0 && (a = 0);
4241			const { params: r, snapGrid: l, slidesGrid: d, previousIndex: c, activeIndex: p, rtlTranslate: u, wrapperEl: h, enabled: m } = o;
4242			if (!m && !s && !n || o.destroyed || o.animating && r.preventInteractionOnTransition) return !1;
4243			void 0 === t && (t = o.params.speed);
4244			const f = Math.min(o.params.slidesPerGroupSkip, a);
4245			let g = f + Math.floor((a - f) / o.params.slidesPerGroup);
4246			g >= l.length && (g = l.length - 1);
4247			const w = -l[g];
4248			if (r.normalizeSlideIndex) for (let e = 0; e < d.length; e += 1) {
4249				const t = -Math.floor(100 * w), i = Math.floor(100 * d[e]), s = Math.floor(100 * d[e + 1]);
4250				void 0 !== d[e + 1] ? t >= i && t < s - (s - i) / 2 ? a = e : t >= i && t < s && (a = e + 1) : t >= i && (a = e);
4251			}
4252			if (o.initialized && a !== p) {
4253				if (!o.allowSlideNext && (u ? w > o.translate && w > o.minTranslate() : w < o.translate && w < o.minTranslate())) return !1;
4254				if (!o.allowSlidePrev && w > o.translate && w > o.maxTranslate() && (p || 0) !== a) return !1;
4255			}
4256			let v;
4257			a !== (c || 0) && i && o.emit("beforeSlideChangeStart"), o.updateProgress(w), v = a > p ? "next" : a < p ? "prev" : "reset";
4258			const y = o.virtual && o.params.virtual?.enabled;
4259			if ((!y || !n) && (u && -w === o.translate || !u && w === o.translate)) return o.updateActiveIndex(a), r.autoHeight && o.updateAutoHeight(), o.updateSlidesClasses(), "slide" !== r.effect && o.setTranslate(w), "reset" !== v && (o.transitionStart(i, v), o.transitionEnd(i, v)), !1;
4260			if (r.cssMode) {
4261				const e = o.isHorizontal(), i = u ? w : -w;
4262				return 0 === t ? (y && (o.wrapperEl.style.scrollSnapType = "none", o._immediateVirtual = !0), y && !o._cssModeVirtualInitialSet && (o.params.initialSlide ?? 0) > 0 ? (o._cssModeVirtualInitialSet = !0, requestAnimationFrame(() => {
4263					h[e ? "scrollLeft" : "scrollTop"] = i;
4264				})) : h[e ? "scrollLeft" : "scrollTop"] = i, y && requestAnimationFrame(() => {
4265					o.wrapperEl.style.scrollSnapType = "", o._immediateVirtual = !1;
4266				})) : h.scrollTo({
4267					[e ? "left" : "top"]: i,
4268					behavior: "smooth"
4269				}), !0;
4270			}
4271			const b = ge().isSafari;
4272			return y && !n && b && o.isElement && o.virtual.update(!1, !1, a), o.setTransition(t), o.setTranslate(w), o.updateActiveIndex(a), o.updateSlidesClasses(), o.emit("beforeTransitionStart", t, s), o.transitionStart(i, v), 0 === t ? o.transitionEnd(i, v) : o.animating || (o.animating = !0, o.onSlideToWrapperTransitionEnd || (o.onSlideToWrapperTransitionEnd = function(e) {
4273				o && !o.destroyed && e.target === this && (o.wrapperEl.removeEventListener("transitionend", o.onSlideToWrapperTransitionEnd), o.onSlideToWrapperTransitionEnd = null, delete o.onSlideToWrapperTransitionEnd, o.transitionEnd(i, v));
4274			}), o.wrapperEl.addEventListener("transitionend", o.onSlideToWrapperTransitionEnd)), !0;
4275		},
4276		slideToLoop: function(e = 0, t, i = !0, s) {
4277			"string" == typeof e && (e = parseInt(e, 10));
4278			const n = this;
4279			if (n.destroyed) return;
4280			void 0 === t && (t = n.params.speed);
4281			const o = n.grid && n.params.grid && n.params.grid.rows > 1;
4282			let a = e;
4283			if (n.params.loop) if (n.virtual && n.params.virtual?.enabled) a += n.virtual.slidesBefore ?? 0;
4284			else {
4285				let e;
4286				if (o) {
4287					const t = a * n.params.grid.rows;
4288					e = n.slides.find((e) => Number(e.getAttribute("data-swiper-slide-index")) === t)?.column ?? 0;
4289				} else e = n.getSlideIndexByData(a);
4290				const t = o ? Math.ceil(n.slides.length / n.params.grid.rows) : n.slides.length, { centeredSlides: i, slidesOffsetBefore: r, slidesOffsetAfter: l } = n.params, d = i || !!r || !!l;
4291				let c;
4292				"auto" === n.params.slidesPerView ? c = n.slidesPerViewDynamic() : (c = Math.ceil(parseFloat(String(n.params.slidesPerView))), d && c % 2 == 0 && (c += 1));
4293				let p = t - e < c;
4294				if (d && (p = p || e < Math.ceil(c / 2)), s && d && "auto" !== n.params.slidesPerView && !o && (p = !1), p) {
4295					const i = d ? e < n.activeIndex ? "prev" : "next" : e - n.activeIndex - 1 < n.params.slidesPerView ? "next" : "prev";
4296					n.loopFix({
4297						direction: i,
4298						slideTo: !0,
4299						activeSlideIndex: "next" === i ? e + 1 : e - t + 1,
4300						slideRealIndex: "next" === i ? n.realIndex : void 0
4301					});
4302				}
4303				if (o) {
4304					const e = a * n.params.grid.rows;
4305					a = n.slides.find((t) => Number(t.getAttribute("data-swiper-slide-index")) === e)?.column ?? 0;
4306				} else a = n.getSlideIndexByData(a);
4307			}
4308			return requestAnimationFrame(() => {
4309				n.slideTo(a, t, i, s);
4310			}), n;
4311		},
4312		slideNext: function(e, t = !0, i) {
4313			const s = this, { enabled: n, params: o, animating: a } = s;
4314			if (!n || s.destroyed) return s;
4315			void 0 === e && (e = s.params.speed);
4316			let r = o.slidesPerGroup;
4317			"auto" === o.slidesPerView && 1 === o.slidesPerGroup && o.slidesPerGroupAuto && (r = Math.max(s.slidesPerViewDynamic("current", !0), 1));
4318			const l = s.activeIndex < o.slidesPerGroupSkip ? 1 : r, d = s.virtual && o.virtual?.enabled;
4319			if (o.loop) {
4320				if (a && !d && o.loopPreventsSliding) return !1;
4321				if (s.loopFix({ direction: "next" }), s._clientLeft = s.wrapperEl.clientLeft, s.activeIndex === s.slides.length - 1 && o.cssMode) return requestAnimationFrame(() => {
4322					s.slideTo(s.activeIndex + l, e, t, i);
4323				}), !0;
4324			}
4325			return o.rewind && s.isEnd ? s.slideTo(0, e, t, i) : s.slideTo(s.activeIndex + l, e, t, i);
4326		},
4327		slidePrev: function(e, t = !0, i) {
4328			const s = this, { params: n, snapGrid: o, slidesGrid: a, rtlTranslate: r, enabled: l, animating: d } = s;
4329			if (!l || s.destroyed) return s;
4330			void 0 === e && (e = s.params.speed);
4331			const c = s.virtual && n.virtual?.enabled;
4332			if (n.loop) {
4333				if (d && !c && n.loopPreventsSliding) return !1;
4334				s.loopFix({ direction: "prev" }), s._clientLeft = s.wrapperEl.clientLeft;
4335			}
4336			function p(e) {
4337				return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e);
4338			}
4339			const u = p(r ? s.translate : -s.translate), h = o.map((e) => p(e)), m = n.freeMode && n.freeMode.enabled;
4340			let f = o[h.indexOf(u) - 1];
4341			if (void 0 === f && (n.cssMode || m)) {
4342				let e;
4343				o.forEach((t, i) => {
4344					u >= t && (e = i);
4345				}), void 0 !== e && (f = m ? o[e] : o[e > 0 ? e - 1 : e]);
4346			}
4347			let g = 0;
4348			if (void 0 !== f && (g = a.indexOf(f), g < 0 && (g = s.activeIndex - 1), "auto" === n.slidesPerView && 1 === n.slidesPerGroup && n.slidesPerGroupAuto && (g = g - s.slidesPerViewDynamic("previous", !0) + 1, g = Math.max(g, 0))), n.rewind && s.isBeginning) {
4349				const n = s.params.virtual?.enabled && s.virtual ? s.virtual.slides.length - 1 : s.slides.length - 1;
4350				return s.slideTo(n, e, t, i);
4351			}
4352			return n.loop && 0 === s.activeIndex && n.cssMode ? (requestAnimationFrame(() => {
4353				s.slideTo(g, e, t, i);
4354			}), !0) : s.slideTo(g, e, t, i);
4355		},
4356		slideReset: function(e, t = !0, i) {
4357			const s = this;
4358			if (!s.destroyed) return void 0 === e && (e = s.params.speed), s.slideTo(s.activeIndex, e, t, i);
4359		},
4360		slideToClosest: function(e, t = !0, i, s = .5) {
4361			const n = this;
4362			if (n.destroyed) return;
4363			void 0 === e && (e = n.params.speed);
4364			let o = n.activeIndex;
4365			const a = Math.min(n.params.slidesPerGroupSkip, o), r = a + Math.floor((o - a) / n.params.slidesPerGroup), l = n.rtlTranslate ? n.translate : -n.translate;
4366			if (l >= n.snapGrid[r]) {
4367				const e = n.snapGrid[r];
4368				l - e > (n.snapGrid[r + 1] - e) * s && (o += n.params.slidesPerGroup);
4369			} else {
4370				const e = n.snapGrid[r - 1];
4371				l - e <= (n.snapGrid[r] - e) * s && (o -= n.params.slidesPerGroup);
4372			}
4373			return o = Math.max(o, 0), o = Math.min(o, n.slidesGrid.length - 1), n.slideTo(o, e, t, i);
4374		},
4375		slideToClickedSlide: function() {
4376			const e = this;
4377			if (e.destroyed) return;
4378			const { params: t, slidesEl: i, clickedSlide: s, clickedIndex: n } = e;
4379			if (void 0 === s || void 0 === n) return;
4380			const o = "auto" === t.slidesPerView ? e.slidesPerViewDynamic() : t.slidesPerView;
4381			let a, r = e.getSlideIndexWhenGrid(n);
4382			const l = e.isElement ? "swiper-slide" : `.${t.slideClass}`, d = e.grid && e.params.grid && e.params.grid.rows > 1;
4383			if (t.loop) {
4384				if (e.animating) return;
4385				a = parseInt(s.getAttribute("data-swiper-slide-index"), 10), t.centeredSlides ? e.slideToLoop(a) : r > (d ? (e.slides.length - o) / 2 - (e.params.grid.rows - 1) : e.slides.length - o) ? (e.loopFix(), r = e.getSlideIndex(te(i, `${l}[data-swiper-slide-index="${a}"]`)[0]), Q(() => {
4386					e.slideTo(r);
4387				})) : e.slideTo(r);
4388			} else e.slideTo(r);
4389		}
4390	};
4391	function Be({ swiper: e, runCallbacks: t, direction: i, step: s }) {
4392		const { activeIndex: n, previousIndex: o } = e;
4393		let a = i;
4394		a || (a = n > o ? "next" : n < o ? "prev" : "reset"), e.emit(`transition${s}`), t && "reset" === a ? e.emit(`slideResetTransition${s}`) : t && n !== o && (e.emit(`slideChangeTransition${s}`), "next" === a ? e.emit(`slideNextTransition${s}`) : e.emit(`slidePrevTransition${s}`));
4395	}
4396	var Re = {
4397		getTranslate: function(e = this.isHorizontal() ? "x" : "y") {
4398			const { params: t, rtlTranslate: i, translate: s, wrapperEl: n } = this;
4399			if (t.virtualTranslate) return i ? -s : s;
4400			if (t.cssMode) return s;
4401			let o = X(n, e);
4402			return o += this.cssOverflowAdjustment(), i && (o = -o), o || 0;
4403		},
4404		setTranslate: function(e, t) {
4405			const i = this, { rtlTranslate: s, params: n, wrapperEl: o, progress: a } = i;
4406			let r, l = 0, d = 0;
4407			i.isHorizontal() ? l = s ? -e : e : d = e, n.roundLengths && (l = Math.floor(l), d = Math.floor(d)), i.previousTranslate = i.translate, i.translate = i.isHorizontal() ? l : d, n.cssMode ? o[i.isHorizontal() ? "scrollLeft" : "scrollTop"] = i.isHorizontal() ? -l : -d : n.virtualTranslate || (i.isHorizontal() ? l -= i.cssOverflowAdjustment() : d -= i.cssOverflowAdjustment(), o.style.transform = `translate3d(${l}px, ${d}px, 0px)`);
4408			const c = i.maxTranslate() - i.minTranslate();
4409			r = 0 === c ? 0 : (e - i.minTranslate()) / c, r !== a && i.updateProgress(e), i.emit("setTranslate", i.translate, t);
4410		},
4411		minTranslate: function() {
4412			return -this.snapGrid[0];
4413		},
4414		maxTranslate: function() {
4415			return -this.snapGrid[this.snapGrid.length - 1];
4416		},
4417		translateTo: function(e = 0, t = this.params.speed, i = !0, s = !0, n) {
4418			const o = this, { params: a, wrapperEl: r } = o;
4419			if (o.animating && a.preventInteractionOnTransition) return !1;
4420			const l = o.minTranslate(), d = o.maxTranslate();
4421			let c;
4422			if (c = s && e > l ? l : s && e < d ? d : e, o.updateProgress(c), a.cssMode) {
4423				const e = o.isHorizontal();
4424				return 0 === t ? r[e ? "scrollLeft" : "scrollTop"] = -c : r.scrollTo({
4425					[e ? "left" : "top"]: -c,
4426					behavior: "smooth"
4427				}), !0;
4428			}
4429			return 0 === t ? (o.setTransition(0), o.setTranslate(c), i && (o.emit("beforeTransitionStart", t, n), o.emit("transitionEnd"))) : (o.setTransition(t), o.setTranslate(c), i && (o.emit("beforeTransitionStart", t, n), o.emit("transitionStart")), o.animating || (o.animating = !0, o.onTranslateToWrapperTransitionEnd || (o.onTranslateToWrapperTransitionEnd = function(e) {
4430				o && !o.destroyed && e.target === this && (o.wrapperEl.removeEventListener("transitionend", o.onTranslateToWrapperTransitionEnd), o.onTranslateToWrapperTransitionEnd = null, delete o.onTranslateToWrapperTransitionEnd, o.animating = !1, i && o.emit("transitionEnd"));
4431			}), o.wrapperEl.addEventListener("transitionend", o.onTranslateToWrapperTransitionEnd))), !0;
4432		}
4433	};
4434	const qe = (e, t, i) => {
4435		t && !e.classList.contains(i) ? e.classList.add(i) : !t && e.classList.contains(i) && e.classList.remove(i);
4436	};
4437	const Ge = (e, t, i) => {
4438		t && !e.classList.contains(i) ? e.classList.add(i) : !t && e.classList.contains(i) && e.classList.remove(i);
4439	};
4440	const He = {
4441		eventsEmitter: Se,
4442		update: {
4443			updateSize: function() {
4444				const e = this;
4445				let t, i;
4446				const s = e.el;
4447				t = void 0 !== e.params.width && null !== e.params.width ? e.params.width : s.clientWidth, i = void 0 !== e.params.height && null !== e.params.height ? e.params.height : s.clientHeight, 0 === t && e.isHorizontal() || 0 === i && e.isVertical() || (t = t - parseInt(ne(s, "padding-left") || "0", 10) - parseInt(ne(s, "padding-right") || "0", 10), i = i - parseInt(ne(s, "padding-top") || "0", 10) - parseInt(ne(s, "padding-bottom") || "0", 10), Number.isNaN(t) && (t = 0), Number.isNaN(i) && (i = 0), Object.assign(e, {
4448					width: t,
4449					height: i,
4450					size: e.isHorizontal() ? t : i
4451				}));
4452			},
4453			updateSlides: function() {
4454				const e = this;
4455				function t(t, i) {
4456					return parseFloat(t.getPropertyValue(e.getDirectionLabel(i)) || "0");
4457				}
4458				const i = e.params, { wrapperEl: s, slidesEl: n, rtlTranslate: o, wrongRTL: a } = e, r = !(!e.virtual || !i.virtual?.enabled), l = r ? e.virtual.slides.length : e.slides.length, d = te(n, `.${e.params.slideClass}, swiper-slide`), c = r ? e.virtual.slides.length : d.length;
4459				let p = [];
4460				const u = [], h = [], m = (t) => "function" == typeof t ? t.call(e) : t, f = m(i.slidesOffsetBefore), g = m(i.slidesOffsetAfter), w = e.snapGrid.length, v = e.slidesGrid.length, y = e.size - f - g;
4461				let b = i.spaceBetween, x = -f, T = 0, C = 0;
4462				if (void 0 === y) return;
4463				"string" == typeof b && b.indexOf("%") >= 0 ? b = parseFloat(b.replace("%", "")) / 100 * y : "string" == typeof b && (b = parseFloat(b)), e.virtualSize = -b - f - g, d.forEach((e) => {
4464					o ? e.style.marginLeft = "" : e.style.marginRight = "", e.style.marginBottom = "", e.style.marginTop = "";
4465				}), i.centeredSlides && i.cssMode && (J(s, "--swiper-centered-offset-before", ""), J(s, "--swiper-centered-offset-after", "")), i.cssMode && (J(s, "--swiper-slides-offset-before", `${f}px`), J(s, "--swiper-slides-offset-after", `${g}px`));
4466				const E = i.grid && i.grid.rows > 1 && e.grid;
4467				E ? e.grid.initSlides(d) : e.grid && e.grid.unsetSlides();
4468				let S = 0;
4469				const _ = "auto" === i.slidesPerView && i.breakpoints && Object.keys(i.breakpoints).filter((e) => void 0 !== i.breakpoints[e]?.slidesPerView).length > 0;
4470				for (let s = 0; s < c; s += 1) {
4471					S = 0;
4472					const n = d[s];
4473					if (!n || (E && e.grid.updateSlide(s, n, d), "none" !== ne(n, "display"))) {
4474						if (r && "auto" === i.slidesPerView) i.virtual?.slidesPerViewAutoSlideSize && (S = i.virtual.slidesPerViewAutoSlideSize), S && n && (i.roundLengths && (S = Math.floor(S)), n.style[e.getDirectionLabel("width")] = `${S}px`);
4475						else if ("auto" === i.slidesPerView) {
4476							_ && (n.style[e.getDirectionLabel("width")] = "");
4477							const s = getComputedStyle(n), o = n.style.transform, a = n.style.webkitTransform;
4478							if (o && (n.style.transform = "none"), a && (n.style.webkitTransform = "none"), i.roundLengths) S = e.isHorizontal() ? re
4478(n, "width") : re(n, "height");
4479							else {
4480								const e = t(s, "width"), i = t(s, "padding-left"), o = t(s, "padding-right"), a = t(s, "margin-left"), r = t(s, "margin-right"), l = s.getPropertyValue("box-sizing");
4481								if (l && "border-box" === l) S = e + a + r;
4482								else {
4483									const { clientWidth: t, offsetWidth: s } = n;
4484									S = e + i + o + a + r + (s - t);
4485								}
4486							}
4487							o && (n.style.transform = o), a && (n.style.webkitTransform = a), i.roundLengths && (S = Math.floor(S));
4488						} else S = (y - (i.slidesPerView - 1) * b) / i.slidesPerView, i.roundLengths && (S = Math.floor(S)), n && (n.style[e.getDirectionLabel("width")] = `${S}px`);
4489						n && (n.swiperSlideSize = S), h.push(S), i.centeredSlides ? (x = x + S / 2 + T / 2 + b, 0 === T && 0 !== s && (x = x - y / 2 - b), 0 === s && (x = x - y / 2 - b), Math.abs(x) < .001 && (x = 0), i.roundLengths && (x = Math.floor(x)), C % i.slidesPerGroup === 0 && p.push(x), u.push(x)) : (i.roundLengths && (x = Math.floor(x)), (C - Math.min(e.params.slidesPerGroupSkip, C)) % e.params.slidesPerGroup === 0 && p.push(x), u.push(x), x = x + S + b), e.virtualSize += S + b, T = S, C += 1;
4490					}
4491				}
4492				if (e.virtualSize = Math.max(e.virtualSize, y) + g, o && a && ("slide" === i.effect || "coverflow" === i.effect) && (s.style.width = `${e.virtualSize + b}px`), i.setWrapperSize && (s.style[e.getDirectionLabel("width")] = `${e.virtualSize + b}px`), E && e.grid.updateWrapperSize(S, p), !i.centeredSlides) {
4493					const t = "auto" !== i.slidesPerView && i.slidesPerView % 1 != 0, s = i.snapToSlideEdge && !i.loop && ("auto" === i.slidesPerView || t);
4494					let n = p.length;
4495					if (s) {
4496						let e;
4497						if ("auto" === i.slidesPerView) {
4498							e = 1;
4499							let t = 0;
4500							for (let i = h.length - 1; i >= 0 && (t += h[i] + (i < h.length - 1 ? b : 0), t <= y); i -= 1) e = h.length - i;
4501						} else e = Math.floor(i.slidesPerView);
4502						n = Math.max(c - e, 0);
4503					}
4504					const o = [];
4505					for (let t = 0; t < p.length; t += 1) {
4506						let a = p[t];
4507						i.roundLengths && (a = Math.floor(a)), s ? t <= n && o.push(a) : p[t] <= e.virtualSize - y && o.push(a);
4508					}
4509					p = o, Math.floor(e.virtualSize - y) - Math.floor(p[p.length - 1]) > 1 && (s || p.push(e.virtualSize - y));
4510				}
4511				if (r && i.loop) {
4512					const t = h[0] + b, s = (e.virtual.slidesBefore ?? 0) + (e.virtual.slidesAfter ?? 0);
4513					if (i.slidesPerGroup > 1) {
4514						const e = Math.ceil(s / i.slidesPerGroup), n = t * i.slidesPerGroup;
4515						for (let t = 0; t < e; t += 1) p.push(p[p.length - 1] + n);
4516					}
4517					for (let n = 0; n < s; n += 1) 1 === i.slidesPerGroup && p.push(p[p.length - 1] + t), u.push(u[u.length - 1] + t), e.virtualSize += t;
4518				}
4519				if (0 === p.length && (p = [0]), 0 !== b) {
4520					const t = e.isHorizontal() && o ? "marginLeft" : e.getDirectionLabel("marginRight");
4521					d.filter((e, t) => !(i.cssMode && !i.loop) || t !== d.length - 1).forEach((e) => {
4522						e.style[t] = `${b}px`;
4523					});
4524				}
4525				if (i.centeredSlides && i.centeredSlidesBounds) {
4526					let e = 0;
4527					h.forEach((t) => {
4528						e += t + (b || 0);
4529					}), e -= b;
4530					const t = e > y ? e - y : 0;
4531					p = p.map((e) => e <= 0 ? -f : e > t ? t + g : e);
4532				}
4533				if (i.centerInsufficientSlides) {
4534					let e = 0;
4535					if (h.forEach((t) => {
4536						e += t + (b || 0);
4537					}), e -= b, e < y) {
4538						const t = (y - e) / 2;
4539						p.forEach((e, i) => {
4540							p[i] = e - t;
4541						}), u.forEach((e, i) => {
4542							u[i] = e + t;
4543						});
4544					}
4545				}
4546				if (Object.assign(e, {
4547					slides: d,
4548					snapGrid: p,
4549					slidesGrid: u,
4550					slidesSizesGrid: h
4551				}), i.centeredSlides && i.cssMode && !i.centeredSlidesBounds) {
4552					J(s, "--swiper-centered-offset-before", -p[0] + "px"), J(s, "--swiper-centered-offset-after", e.size / 2 - h[h.length - 1] / 2 + "px");
4553					const t = -e.snapGrid[0], i = -e.slidesGrid[0];
4554					e.snapGrid = e.snapGrid.map((e) => e + t), e.slidesGrid = e.slidesGrid.map((e) => e + i);
4555				}
4556				if (c !== l && e.emit("slidesLengthChange"), p.length !== w && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), u.length !== v && e.emit("slidesGridLengthChange"), i.watchSlidesProgress && e.updateSlidesOffset(), e.emit("slidesUpdated"), !(r || i.cssMode || "slide" !== i.effect && "fade" !== i.effect)) {
4557					const t = `${i.containerModifierClass}backface-hidden`, s = e.el.classList.contains(t);
4558					c <= i.maxBackfaceHiddenSlides ? s || e.el.classList.add(t) : s && e.el.classList.remove(t);
4559				}
4560			},
4561			updateAutoHeight: function(e) {
4562				const t = this, i = [], s = t.virtual && t.params.virtual?.enabled;
4563				let n, o = 0;
4564				"number" == typeof e ? t.setTransition(e) : !0 === e && t.setTransition(t.params.speed);
4565				const a = (e) => s ? t.slides[t.getSlideIndexByData(e)] : t.slides[e];
4566				if ("auto" !== t.params.slidesPerView && t.params.slidesPerView >
vendor: 5,667 bytes, lines 4566-4672
4566 1) if (t.params.centeredSlides) (t.visibleSlides || []).forEach((e) => {
4567					i.push(e);
4568				});
4569				else for (n = 0; n < Math.ceil(t.params.slidesPerView); n += 1) {
4570					const e = t.activeIndex + n;
4571					if (e > t.slides.length && !s) break;
4572					const o = a(e);
4573					o && i.push(o);
4574				}
4575				else {
4576					const e = a(t.activeIndex);
4577					e && i.push(e);
4578				}
4579				for (n = 0; n < i.length; n += 1) if (void 0 !== i[n]) {
4580					const e = i[n].offsetHeight;
4581					o = e > o ? e : o;
4582				}
4583				(o || 0 === o) && (t.wrapperEl.style.height = `${o}px`);
4584			},
4585			updateSlidesOffset: function() {
4586				const e = this, t = e.slides, i = e.isElement ? e.isHorizontal() ? e.wrapperEl.offsetLeft : e.wrapperEl.offsetTop : 0;
4587				for (let s = 0; s < t.length; s += 1) t[s].swiperSlideOffset = (e.isHorizontal() ? t[s].offsetLeft : t[s].offsetTop) - i - e.cssOverflowAdjustment();
4588			},
4589			updateSlidesProgress: function(e = this && this.translate || 0) {
4590				const t = this, i = t.params, { slides: s, rtlTranslate: n, snapGrid: o } = t;
4591				if (0 === s.length) return;
4592				void 0 === s[0].swiperSlideOffset && t.updateSlidesOffset();
4593				let a = -e;
4594				n && (a = e), t.visibleSlidesIndexes = [], t.visibleSlides = [];
4595				let r = i.spaceBetween;
4596				"string" == typeof r && r.indexOf("%") >= 0 ? r = parseFloat(r.replace("%", "")) / 100 * t.size : "string" == typeof r && (r = parseFloat(r));
4597				for (let e = 0; e < s.length; e += 1) {
4598					const l = s[e];
4599					let d = l.swiperSlideOffset ?? 0;
4600					i.cssMode && i.centeredSlides && (d -= s[0].swiperSlideOffset ?? 0);
4601					const c = l.swiperSlideSize ?? 0, p = (a + (i.centeredSlides ? t.minTranslate() : 0) - d) / (c + r), u = (a - o[0] + (i.centeredSlides ? t.minTranslate() : 0) - d) / (c + r), h = -(a - d), m = h + t.slidesSizesGrid[e], f = h >= 0 && h <= t.size - t.slidesSizesGrid[e], g = h >= 0 && h < t.size - 1 || m > 1 && m <= t.size || h <= 0 && m >= t.size;
4602					g && (t.visibleSlides.push(l), t.visibleSlidesIndexes.push(e)), Ge(l, g, i.slideVisibleClass), Ge(l, f, i.slideFullyVisibleClass), l.progress = n ? -p : p, l.originalProgress = n ? -u : u;
4603				}
4604			},
4605			updateProgress: function(e) {
4606				const t = this;
4607				if (void 0 === e) {
4608					const i = t.rtlTranslate ? -1 : 1;
4609					e = t && t.translate && t.translate * i || 0;
4610				}
4611				const i = t.params, s = t.maxTranslate() - t.minTranslate();
4612				let { progress: n, isBeginning: o, isEnd: a } = t, r = t.progressLoop;
4613				const l = o, d = a;
4614				if (0 === s) n = 0, o = !0, a = !0;
4615				else {
4616					n = (e - t.minTranslate()) / s;
4617					const i = Math.abs(e - t.minTranslate()) < 1, r = Math.abs(e - t.maxTranslate()) < 1;
4618					o = i || n <= 0, a = r || n >= 1, i && (n = 0), r && (n = 1);
4619				}
4620				if (i.loop) {
4621					const i = t.getSlideIndexByData(0), s = t.getSlideIndexByData(t.slides.length - 1), n = t.slidesGrid[i], o = t.slidesGrid[s], a = t.slidesGrid[t.slidesGrid.length - 1], l = Math.abs(e);
4622					r = l >= n ? (l - n) / a : (l + a - o) / a, r > 1 && (r -= 1);
4623				}
4624				Object.assign(t, {
4625					progress: n,
4626					progressLoop: r,
4627					isBeginning: o,
4628					isEnd: a
4629				}), (i.watchSlidesProgress || i.centeredSlides && i.autoHeight) && t.updateSlidesProgress(e), o && !l && t.emit("reachBeginning toEdge"), a && !d && t.emit("reachEnd toEdge"), (l && !o || d && !a) && t.emit("fromEdge"), t.emit("progress", n);
4630			},
4631			updateSlidesClasses: function() {
4632				const e = this, { slides: t, params: i, slidesEl: s, activeIndex: n } = e, o = !(!e.virtual || !i.virtual?.enabled), a = e.grid && i.grid && i.grid.rows > 1, r = (e) => te(s, `.${i.slideClass}${e}, swiper-slide${e}`)[0];
4633				let l, d, c;
4634				if (o) if (i.loop) {
4635					const t = e.virtual.slides;
4636					let i = n - (e.virtual.slidesBefore ?? 0);
4637					i < 0 && (i = t.length + i), i >= t.length && (i -= t.length), l = r(`[data-swiper-slide-index="${i}"]`);
4638				} else l = r(`[data-swiper-slide-index="${n}"]`);
4639				else a ? (l = t.find((e) => e.column === n), c = t.find((e) => e.column === n + 1), d = t.find((e) => e.column === n - 1)) : l = t[n];
4640				l && (a || (c = function(e, t) {
4641					const i = [];
4642					let s = e.nextElementSibling;
4643					for (; s;) t && !s.matches(t) || i.push(s), s = s.nextElementSibling;
4644					return i;
4645				}(l, `.${i.slideClass}, swiper-slide`)[0], i.loop && !c && (c = t[0]), d = function(e, t) {
4646					const i = [];
4647					let s = e.previousElementSibling;
4648					for (; s;) t && !s.matches(t) || i.push(s), s = s.previousElementSibling;
4649					return i;
4650				}(l, `.${i.slideClass}, swiper-slide`)[0], i.loop)), t.forEach((e) => {
4651					qe(e, e === l, i.slideActiveClass), qe(e, e === c, i.slideNextClass), qe(e, e === d, i.slidePrevClass);
4652				}), e.emitSlidesClasses();
4653			},
4654			updateActiveIndex: function(e) {
4655				const t = this, i = t.rtlTranslate ? t.translate : -t.translate, { snapGrid: s, params: n, activeIndex: o, realIndex: a, snapIndex: r } = t;
4656				let l, d = e;
4657				const c = (e) => {
4658					const i = t.virtual.slides;
4659					let s = e - (t.virtual.slidesBefore ?? 0);
4660					return s < 0 && (s = i.length + s), s >= i.length && (s -= i.length), s;
4661				};
4662				if (void 0 === d && (d = function(e) {
4663					const { slidesGrid: t, params: i } = e, s = e.rtlTranslate ? e.translate : -e.translate;
4664					let n;
4665					for (let e = 0; e < t.length; e += 1) void 0 !== t[e + 1] ? s >= t[e] && s < t[e + 1] - (t[e + 1] - t[e]) / 2 ? n = e : s >= t[e] && s < t[e + 1] && (n = e + 1) : s >= t[e] && (n = e);
4666					return i.normalizeSlideIndex && (n < 0 || void 0 === n) && (n = 0), n;
4667				}(t)), s.indexOf(i) >= 0) l = s.indexOf(i);
4668				else {
4669					const e = Math.min(n.slidesPerGroupSkip, d);
4670					l = e + Math.floor((d - e) / n.slidesPerGroup);
4671				}
4672				if (l >
4672= s.length && (l = s.length - 1), d === o && !t.params.loop) return void (l !== r && (t.snapIndex = l, t.emit("snapIndexChange")));
4673				if (d === o && t.params.loop && t.virtual && t.params.virtual?.enabled) return void (t.realIndex = c(d));
4674				const p = t.grid && n.grid && n.grid.rows > 1;
4675				let u;
4676				if (t.virtual && n.virtual?.enabled) u = n.loop ? c(d) : d;
4677				else if (p) {
4678					const e = t.slides.find((e) => e.column === d);
4679					let i = parseInt(e.getAttribute("data-swiper-slide-index"), 10);
4680					Number.isNaN(i) && (i = Math.max(t.slides.indexOf(e), 0)), u = Math.floor(i / n.grid.rows);
4681				} else if (t.slides[d]) {
4682					const e = t.slides[d].getAttribute("data-swiper-slide-index");
4683					u = e ? parseInt(e, 10) : d;
4684				} else u = d;
4685				Object.assign(t, {
4686					previousSnapIndex: r,
4687					snapIndex: l,
4688					previousRealIndex: a,
4689					realIndex: u,
4690					previousIndex: o,
4691					activeIndex: d
4692				}), t.initialized && ye(t), t.emit("activeIndexChange"), t.emit("snapIndexChange"), (t.initialized || t.params.runCallbacksOnInit) && (a !== u && t.emit("realIndexChange"), t.emit("slideChange"));
4693			},
4694			updateClickedSlide: function(e, t) {
4695				const i = this, s = i.params;
4696				let n = e.closest(`.${s.slideClass}, swiper-slide`);
4697				!n && i.isElement && t && t.length > 1 && t.includes(e) && [...t.slice(t.indexOf(e) + 1, t.length)].forEac
4697h((e) => {
4698					!n && e.matches && e.matches(`.${s.slideClass}, swiper-slide`) && (n = e);
4699				});
4700				let o, a = !1;
4701				if (n) {
4702					for (let e = 0; e < i.slides.length; e += 1) if (i.slides[e] === n) {
4703						a = !0, o = e;
4704						break;
4705					}
4706				}
4707				if (!n || !a) return i.clickedSlide = void 0, void (i.clickedIndex = void 0);
4708				i.clickedSlide = n, i.virtual && i.params.virtual?.enabled ? i.clickedIndex = parseInt(n.getAttribute("data-swiper-slide-index"), 10) : i.clickedIndex = o, s.slideToClickedSlide && void 0 !== i.clickedIndex && i.clickedIndex !== i.activeIndex && i.slideToClickedSlide();
4709			}
4710		},
4711		translate: Re,
4712		transition: {
4713			setTransition: function(e, t) {
4714				const i = this;
4715				i.params.cssMode || (i.wrapperEl.style.transitionDuration = `${e}ms`, i.wrapperEl.style.transitionDelay = 0 === e ? "0ms" : ""), i.emit("setTransition", e, t);
4716			},
4717			transitionStart: function(e = !0, t) {
4718				const i = this, { params: s } = i;
4719				s.cssMode || (s.autoHeight && i.updateAutoHeight(), Be({
4720					swiper: i,
4721					runCallbacks: e,
4722					direction: t,
4723					step: "Start"
4724				}));
4725			},
4726			transitionEnd: function(e = !0, t) {
4727				const i = this, { params: s } = i;
4728				i.animating = !1, s.cssMode || (i.setTransition(0), Be({
4729					swiper: i,
4730					runCallbacks: e,
4731					direction: t,
4732					step: "End"
4733				}));
4734			}
4735		},
4736		slide: Ne,
4737		loop: ze,
4738		grabCursor: {
4739			setGrabCursor: function(e) {
4740				const t = this;
4741				if (!t.params.simulateTouch || t.params.watchOverflow && t.isLocked || t.params.cssMode) return;
4742				const i = "container" === t.params.touchEventsTarget ? t.el : t.wrapperEl;
4743				t.isElement && (t.__preventObserver__ = !0), i.style.cursor = "move", i.style.cursor = e ? "grabbing" : "grab", t.isElement && requestAnimationFrame(() => {
4744					t.__preventObserver__ = !1;
4745				});
4746			},
4747			unsetGrabCursor: function() {
4748				const e = this;
4749				e.params.watchOverflow && e.isLocked || e.params.cssMode || (e.isElement && (e.__preventObserver__ = !0), e["container" === e.params.touchEventsTarget ? "el" : "wrapperEl"].style.cursor = "", e.isElement && requestAnimationFrame(() => {
4750					e.__preventObserver__ = !1;
4751				}));
4752			}
4753		},
4754		events: {
4755			attachEvents: function() {
4756				const e = this, { params: t } = e;
4757				e.onTouchStart = Oe.bind(e), e.onTouchMove = Le.bind(e), e.onTouchEnd = Ie.bind(e), e.onDocumentTouchStart = ke.bind(e), t.cssMode && (e.onScroll = Me.bind(e)), e.onClick = _e.bind(e), e.onLoad = je.bind(e), $e(e, "on");
4758			},
4759			detachEvents: function() {
4760				$e(this, "off");
4761			}
4762		},
4763		breakpoints: xe,
4764		checkOverflow: Te,
4765		classes: Ce
4766	}, Ve = {};
4767	var Fe = class e {
4768		static extendedDefaults;
4769		static defaults;
4770		constructor(...t) {
4771			let i, s;
4772			if (1 === t.length && null !== t[0] && "object" == typeof t[0] && "Object" === Object.prototype.toString.call(t[0]).slice(8, -1) ? s = t[0] : [i, s] = t, s || (s = {}), s = Z({}, s), i && !s.el && (s.el = i), s.el && "string" == typeof s.el && "undefined" != typeof document && document.querySelectorAll(s.el).length > 1) {
4773				const t = [];
4774				return document.querySelectorAll(s.el).forEach((i) => {
4775					const n = Z({}, s, { el: i });
4776					t.push(new e(n));
4777				}), t;
4778			}
4779			const n = this;
4780			n.__swiper__ = !0, n.support = me(), n.device = fe({ userAgent: s.userAgent ?? void 0 }), n.browser = ge(), n.eventsListeners = {}, n.eventsAnyListeners = [], n.modules = [...n.__modules__ || []], s.modules && Array.isArray(s.modules) && s.modules.forEach((e) => {
4781				const t = e;
4782				"function" == typeof t && n.modules.indexOf(t) < 0 && n.modules.push(t);
4783			});
4784			const o = {};
4785			n.modules.forEach((e) => {
4786				e({
4787					params: s,
4788					swiper: n,
4789					extendParams: De(s, o),
4790					on: n.on.bind(n),
4791					once: n.once.bind(n),
4792					off: n.off.bind(n),
4793					emit: n.emit.bind(n)
4794				});
4795			});
4796			if (n.params = Z({}, Z({}, Ee, o), Ve, s), n.originalParams = Z({}, n.params), n.passedParams = Z({}, s), n.params && n.params.on) {
4797				const e = n.params.on;
4798				Object.keys(e).forEach((t) => {
4799					const i = e[t];
4800					i && n.on(t, i);
4801				});
4802			}
4803			return n.params && n.params.onAny && n.onAny(n.params.onAny), Object.assign(n, {
4804				enabled: n.params.enabled,
4805				el: i,
4806				classNames: [],
4807				slides: [],
4808				slidesGrid: [],
4809				snapGrid: [],
4810				slidesSizesGrid: [],
4811				isHorizontal: () => "horizontal" === n.params.direction,
4812				isVertical: () => "vertical" === n.params.direction,
4813				activeIndex: 0,
4814				realIndex: 0,
4815				isBeginning: !0,
4816				isEnd: !1,
4817				translate: 0,
4818				previousTranslate: 0,
4819				progress: 0,
4820				velocity: 0,
4821				animating: !1,
4822				cssOverflowAdjustment() {
4823					return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;
4824				},
4825				allowSlideNext: n.params.allowSlideNext,
4826				allowSlidePrev: n.params.allowSlidePrev,
4827				touchEventsData: {
4828					isTouched: void 0,
4829					isMoved: void 0,
4830					allowTouchCallbacks: void 0,
4831					touchStartTime: void 0,
4832					isScrolling: void 0,
4833					currentTranslate: void 0,
4834					startTranslate: void 0,
4835					allowThresholdMove: void 0,
4836					focusableElements: n.params.focusableElements,
4837					lastClickTime: 0,
4838					clickTimeout: void 0,
4839					velocities: [],
4840					allowMomentumBounce: void 0,
4841					startMoving: void 0,
4842					pointerId: null,
4843					touchId: null
4844				},
4845				allowClick: !0,
4846				allowTouchMove: n.params.allowTouchMove,
4847				touches: {
4848					startX: 0,
4849					startY: 0,
4850					currentX: 0,
4851					currentY: 0,
4852					diff: 0
4853				},
4854				imagesToLoad: [],
4855				imagesLoaded: 0
4856			}), n.emit("_swiper"), n.params.init && n.init(), n;
4857		}
4858		getDirectionLabel(e) {
4859			return this.isHorizontal() ? e : {
4860				width: "height",
4861				"margin-top": "margin-left",
4862				"margin-bottom ": "margin-right",
4863				"margin-left": "margin-top",
4864				"margin-right": "margin-bottom",
4865				"padding-left": "padding-top",
4866				"padding-right": "padding-bottom",
4867				marginRight: "marginBottom"
4868			}[e];
4869		}
4870		isHorizontal() {
4871			return "horizontal" === this.params.direction;
4872		}
4873		isVertical() {
4874			return "vertical" === this.params.direction;
4875		}
4876		cssOverflowAdjustment() {
4877			return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;
4878		}
4879		getSlideIndex(e) {
4880			const { slidesEl: t, params: i } = this, s = oe(te(t, `.${i.slideClass}, swiper-slide`)[0]);
4881			return oe(e) - (s ?? 0);
4882		}
4883		getSlideIndexByData(e) {
4884			return this.getSlideIndex(this.slides.find((t) => Number(t.getAttribute("data-swiper-slide-index")) === e));
4885		}
4886		getSlideIndexWhenGrid(e) {
4887			return this.grid && this.params.grid && this.params.grid.rows > 1 && ("column" === this.params.grid.fill ? e = Math.floor(e / this.params.grid.rows) : "row" === this.params.grid.fill && (e %= Math.ceil(this.slides.length / this.params.grid.rows))), e;
4888		}
4889		recalcSlides() {
4890			const { slidesEl: e, params: t } = this;
4891			this.slides = te(e, `.${t.slideClass}, swiper-slide`);
4892		}
4893		enable() {
4894			this.enabled || (this.enabled = !0, this.params.grabCursor && this.setGrabCursor(), this.emit("enable"));
4895		}
4896		disable() {
4897			this.enabled && (this.enabled = !1, this.params.grabCursor && this.unsetGrabCursor(), this.emit("disable"));
4898		}
4899		setProgress(e, t) {
4900			e = Math.min(Math.max(e, 0), 1);
4901			const i = this.minTranslate(), s = (this.maxTranslate() - i) * e + i;
4902			this.translateTo(s, void 0 === t ? 0 : t), this.updateActiveIndex(), this.updateSlidesClasses();
4903		}
4904		emitContainerClasses() {
4905			if (!this.params._emitClasses || !this.el) return;
4906			const e = this.el.className.split(" ").filter((e) => 0 === e.indexOf("swiper") || 0 === e.indexOf(this.params.containerModifierClass));
4907			this.emit("_containerClasses", e.join(" "));
4908		}
4909		getSlideClasses(e) {
4910			return this.destroyed ? "" : e.className.split(" ").filter((e) => 0 === e.indexOf("swiper-slide") || 0 === e.indexOf(this.params.slideClass)).join(" ");
4911		}
4912		emitSlidesClasses() {
4913			if (!this.params._emitClasses || !this.el) return;
4914			const e = [];
4915			this.slides.forEach((t) => {
4916				const i = this.getSlideClasses(t);
4917				e.push({
4918					slideEl: t,
4919					classNames: i
4920				}), this.emit("_slideClass", t, i);
4921			}), this.emit("_slideClasses", e);
4922		}
4923		slidesPerViewDynamic(e = "current", t = !1) {
4924			const { params: i, slides: s, slidesGrid: n, slidesSizesGrid: o, size: a, activeIndex: r } = this;
4925			let l = 1;
4926			if ("number" == typeof i.slidesPerView) return i.slidesPerView;
4927			if (!a) return l;
4928			if (i.centeredSlides) {
4929				let e = s[r] ? Math.ceil(s[r].swiperSlideSize ?? 0) : 0, t = !1;
4930				for (let i = r + 1; i < s.length; i += 1) s[i] && !t && (e += Math.ceil(s[i].swiperSlideSize ?? 0), l += 1, e > a && (t = !0));
4931				for (let i = r - 1; i >= 0; i -= 1) s[i] && !t && (e += s[i].swiperSlideSize ?? 0, l += 1, e > a && (t = !0));
4932			} else if ("current" === e) for (let e = r + 1; e < s.length; e += 1) (t ? n[e] + o[e] - n[r] < a : n[e] - n[r] < a) && (l += 1);
4933			else for (let e = r - 1; e >= 0; e -= 1) n[r] - n[e] < a && (l += 1);
4934			return l;
4935		}
4936		update() {
4937			const e = this;
4938			if (!e || e.destroyed) return;
4939			const { snapGrid: t, params: i } = e;
4940			function s() {
4941				const t = e.rtlTranslate ? -1 * e.translate : e.translate, i = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
4942				e.setTranslate(i), e.updateActiveIndex(), e.updateSlidesClasses();
4943			}
4944			let n;
4945			if (i.breakpoints && e.setBreakpoint(), [...e.el.querySelectorAll("[loading=\"lazy\"]")].forEach((t) => {
4946				t.complete && we(e, t);
4947			}), e.updateSize(), e.updateSlides(), e.updateProgress(), e.updateSlidesClasses(), i.freeMode?.enabled && !i.cssMode) s(), i.autoHeight && e.updateAutoHeight();
4948			else {
4949				if (("auto" === i.slidesPerView || i.slidesPerView > 1) && e.isEnd && !i.centeredSlides) {
4950					const t = e.virtual && i.virtual?.enabled ? e.virtual.slides.length : e.slides.length;
4951					n = e.slideTo(t - 1, 0, !1, !0);
4952				} else n = e.slideTo(e.activeIndex, 0, !1, !0);
4953				n || s();
4954			}
4955			i.watchOverflow && t !== e.snapGrid && e.checkOverflow(), e.emit("update");
4956		}
4957		changeDirection(e, t = !0) {
4958			const i = this, s = i.params.direction;
4959			return e || (e = "horizontal" === s ? "vertical" : "horizontal"), e === s || "horizontal" !== e && "vertical" !== e || (i.el.classList.remove(`${i.params.containerModifierClass}${s}`), i.el.classList.add(`${i.params.containerModifierClass}${e}`), i.emitContainerClasses(), i.params.direction = e, i.slides.forEach((t) => {
4960				"vertical" === e ? t.style.width = "" : t.style.height = "";
4961			}), i.emit("changeDirection"), t && i.update()), i;
4962		}
4963		changeLanguageDirection(e) {
4964			const t = this;
4965			t.rtl && "rtl" === e || !t.rtl && "ltr" === e || (t.rtl = "rtl" === e, t.rtlTranslate = "horizontal" === t.params.direction && t.rtl, t.rtl ? (t.el.classList.add(`${t.params.containerModifierClass}rtl`), t.el.dir = "rtl") : (t.el.classList.remove(`${t.params.containerModifierClass}
4965rtl`), t.el.dir = "ltr"), t.update());
4966		}
4967		mount(e) {
4968			const t = this;
4969			if (t.mounted) return !0;
4970			if ("undefined" == typeof document) return !1;
4971			const i = e ?? t.params.el;
4972			let s = null;
4973			if ("string" == typeof i ? s = document.querySelector(i) : i instanceof HTMLElement && (s = i), !s) return !1;
4974			s.swiper = t;
4975			const n = s.parentNode;
4976			n && n.host && n.host.nodeName === t.params.swiperElementNodeName.toUpperCase() && (t.isElement = !0);
4977			const o = () => `.${(t.params.wrapperClass || "").trim().split(" ").join(".")}`;
4978			let a = s && s.shadowRoot ? s.shadowRoot.querySelector(o()) : te(s, o())[0];
4979			!a && t.params.createElements && (a = se("div", t.params.wrapperClass), s.append(a), te(s, `.${t.params.slideClass}`).forEach((e) => {
4980				a.append(e);
4981			}));
4982			const r = t.isElement ? s.parentNode.host : null;
4983			return Object.assign(t, {
4984				el: s,
4985				wrapperEl: a,
4986				slidesEl: t.isElement && !r.slideSlots ? r : a,
4987				hostEl: t.isElement ? r : s,
4988				mounted: !0,
4989				rtl: "rtl" === s.dir.toLowerCase() || "rtl" === ne(s, "direction"),
4990				rtlTranslate: "horizontal" === t.params.direction && ("rtl" === s.dir.toLowerCase() || "rtl" === ne(s, "direction")),
4991				wrongRTL: "-webkit-box" === ne(a, "display")
4992			}), !0;
4993		}
4994		init(e) {
4995			const t = this;
4996			if (t.initialized) return t;
4997			if (!1 === t.mount(e)) return t;
4998			t.emit("beforeInit"), t.params.breakpoints && t.setBreakpoint(), t.addClasses(), t.updateSize(), t.updateSlides(), t.params.watchOverflow && t.checkOverflow(), t.params.grabCursor && t.enabled && t.setGrabCursor(), t.params.loop && t.virtual && t.params.virtual?.enabled ? t.slideTo((t.params.initialSlide ?? 0) + (t.virtual.slidesBefore ?? 0), 0, t.params.runCallbacksOnInit, !1, !0) : t.slideTo(t.params.initialSlide, 0, t.params.runCallbacksOnInit, !1, !0), t.params.loop && t.loopCreate(void 0, !0), t.attachEvents();
4999			const i = [...t.el.querySelectorAll("[loading=\"lazy\"]")];
5000			return t.isElement && i.push(...t.hostEl.querySelectorAll("[loading=\"lazy\"]")), i.forEach((e) => {
5001				e.complete ? we(t, e) : e.addEventListener("load", (e) => {
5002					we(t, e.target);
5003				});
5004			}), ye(t), t.initialized = !0, ye(t), t.emit("init"), t.emit("afterInit"), t;
5005		}
5006		destroy(e = !0, t = !0) {
5007			const i = this, { params: s, el: n, wrapperEl: o, slides: a } = i;
5008			return void 0 === i.params || i.destroyed || (i.emit("beforeDestroy"), i.initialized = !1, i.detachEvents(), s.loop && i.loopDestroy(), t && (i.removeClasses(), n && "string" != typeof n && n.removeAttribute("style"), o && o.removeAttribute("style"), a && a.length && a.forEach((e) => {
5009				e.classList.remove(s.slideVisibleClass, s.slideFullyVisibleClass, s.slideActiveClass, s.slideNextClass, s.slidePrevClass), e.removeAttribute("style"), e.removeAttribute("data-swiper-slide-index");
5010			})), i.emit("destroy"), Object.keys(i.eventsListeners).forEach((e) => {
5011				i.off(e);
5012			}), !1 !== e && (i.el && "string" != typeof i.el && (i.el.swiper = null), r = i, Object.keys(r).forEach((e) => {
5013				try {
5014					r[e] = null;
5015				} catch {}
5016				try {
5017					delete r[e];
5018				} catch {}
5019			})), i.destroyed = !0), null;
5020			var r;
5021		}
5022		static extendDefaults(e) {
5023			Z(Ve, e);
5024		}
5025		static installModule(t) {
5026			e.prototype.__modules__ || (e.prototype.__modules__ = []);
5027			const i = e.prototype.__modules__;
5028			"function" == typeof t && i.indexOf(t) < 0 && i.push(t);
5029		}
5030		static use(t) {
5031			return Array.isArray(t) ? (t.forEach((t) => e.installModule(t)), e) : (e.installModule(t), e);
5032		}
5033	};
5034	Object.defineProperty(Fe, "extendedDefaults", { get: () => Ve }), Object.defineProperty(Fe, "defaults", { get: () => Ee });
5035	const We = He, Qe = Fe.prototype;
5036	function Ue(e, t, i, s) {
5037		const n = i ?? {}, o = t ?? {};
5038		return e.params.createElements && Object.keys(s).forEach((t) => {
5039			if (!n[t] && !0 === n.auto) {
5040				let i = te(e.el, `.${s[t]}`)[0];
5041				i || (i = se("div", s[t]), i.className = s[t], e.el.append(i)), n[t] = i, o[t] = i;
5042			}
5043		}), n;
5044	}
5045	Object.keys(We).forEach((e) => {
5046		const t = We[e];
5047		Object.keys(t).forEach((e) => {
5048			Qe[e] = t[e];
5049		});
5050	}), Fe.use([({ swiper: e, on: t, emit: i }) => {
5051		let s = null, n = null;
5052		const o = () => {
5053			e && !e.destroyed && e.initialized && (i("beforeResize"), i("resize"));
5054		}, a = () => {
5055			e && !e.destroyed && e.initialized && i("orientationchange");
5056		};
5057		t("init", () => {
5058			e.params.resizeObserver && void 0 !== window.ResizeObserver ? e && !e.destroyed && e.initialized && (s = new ResizeObserver((t) => {
5059				n = window.requestAnimationFrame(() => {
5060					const { width: i, height: s } = e;
5061					let n = i, a = s;
5062					t.forEach(({ contentBoxSize: t, contentRect: i, target: s }) => {
5063						if (s && s !== e.el) return;
5064						const o = Array.isArray(t) ? t[0] : t;
5065						n = i ? i.width : o.inlineSize, a = i ? i.height : o.blockSize;
5066					}), n === i && a === s || o();
5067				});
5068			}), s.observe(e.el)) : (window.addEventListener("resize", o), window.addEventListener("orientationchange", a));
5069		}), t("destroy", () => {
5070			n && window.cancelAnimationFrame(n), s && s.unobserve && e.el && (s.unobserve(e.el), s = null), window.removeEventListener("resize", o), window.removeEventListener("orientationchange", a);
5071		});
5072	}, ({ swiper: e, extendParams: t, on: i }) => {
5073		const s = [], n = (t, i = {}) => {
5074			const n = window.MutationObserver || window.WebkitMutationObserver;
5075			if (!n) return;
5076			const o = new n((t) => {
5077				if (e.__preventObserver__) return;
5078				if (1 === t.length) return void e.emit("observerUpdate", t[0]);
5079				const i = function() {
5080					e.emit("observerUpdate", t[0]);
5081				};
5082				window.requestAnimationFrame ? window.requestAnimationFrame(i) : window.setTimeout(i, 0);
5083			});
5084			o.observe(t, {
5085				attributes: void 0 === i.attributes || i.attributes,
5086				childList: e.isElement || void 0 === i.childList || i.childList,
5087				characterData: void 0 === i.characterData || i.characterData
5088			}), s.push(o);
5089		};
5090		t({
5091			observer: !1,
5092			observeParents: !1,
5093			observeSlideChildren: !1
5094		}), i("init", () => {
5095			if (e.params.observer) {
5096				if (e.params.observeParents) {
5097					const t = ae(e.hostEl);
5098					for (let e = 0; e < t.length; e += 1) n(t[e]);
5099				}
5100				n(e.hostEl, { childList: e.params.observeSlideChildren }), n(e.wrapperEl, { attributes: !1 });
5101			}
5102		}), i("destroy", () => {
5103			s.forEach((e) => {
5104				e.disconnect();
5105			}), s.splice(0, s.length);
5106		});
5107	}]);
5108	const Xe = "<svg class=\"swiper-navigation-icon\" width=\"11\" height=\"20\" viewBox=\"0 0 11 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0.38296 20.0762C0.111788 19.805 0.111788 19.3654 0.38296 19.0942L9.19758 10.2796L0.38296 1.46497C0.111788 1.19379 0.111788 0.754138 0.38296 0.482966C0.654131 0.211794 1.09379 0.211794 1.36496 0.482966L10.4341 9.55214C10.8359 9.9539 10.8359 10.6053 10.4341 11.007L1.36496 20.0762C1.09379 20.3474 0.654131 20.3474 0.38296 20.0762Z\" fill=\"currentColor\"/></svg>", Ye = ({ swiper: e, extendParams: t, on: i, emit: s }) => {
5109		function n() {
5110			return e.params.navigation;
5111		}
5112		function o(t) {
5113			let i;
5114			return t && "string" == typeof t && e.isElement && (i = e.el.querySelector(t) || e.hostEl.querySelector(t), i) ? i : (t && ("string" == typeof t && (i = [...document.querySelectorAll(t)]), e.params.uniqueNavElements && "string" == typeof t && i && i.length > 1 && 1 === e.el.querySelectorAll(t).length ? i = e.el.querySelector(t) : i && 1 === i.length && (i = i[0])), t && !i ? t : i);
5115		}
5116		function a(t, i) {
5117			const s = n();
5118			le(t).forEach((t) => {
5119				t && (t.classList[i ? "add" : "remove"](...s.disabledClass.split(" ")), "BUTTON" === t.tagName && (t.disabled = i), e.params.watchOverflow && e.enabled && t.classList[e.isLocked ? "add" : "remove"](s.lockClass));
5120			});
5121		}
5122		function r() {
5123			const { nextEl: t, prevEl: i } = e.navigation;
5124			if (e.params.loop) return a(i, !1), void a(t, !1);
5125			a(i, e.isBeginning && !e.params.rewind), a(t, e.isEnd && !e.params.rewind);
5126		}
5127		function l(t) {
5128			t.preventDefault(), (!e.isBeginning || e.params.loop || e.params.rewind) && (e.slidePrev(), s("navigationPrev"));
5129		}
5130		function d(t) {
5131			t.preventDefault(), (!e.isEnd || e.params.loop || e.params.rewind) && (e.slideNext(), s("navigationNext"));
5132		}
5133		function c() {
5134			e.params.navigation = Ue(e, e.originalParams.navigation, e.params.navigation, {
5135				nextEl: "swiper-button-next",
5136				prevEl: "swiper-button-prev"
5137			});
5138			const t = n();
5139			if (!t.nextEl && !t.prevEl) return;
5140			const i = o(t.nextEl), s = o(t.prevEl);
5141			Object.assign(e.navigation, {
5142				nextEl: i,
5143				prevEl: s
5144			});
5145			const a = le(i), r = le(s), c = (i, s) => {
5146				if (i) {
5147					if (t.addIcons && i.matches(".swiper-button-next,.swiper-button-prev") && !i.querySelector("svg")) {
5148						const e = document.createElement("div");
5149						ce(e, Xe);
5150						const t = e.querySelector("svg");
5151						t && i.appendChild(t), e.remove();
5152					}
5153					i.addEventListener("click", "next" === s ? d : l);
5154				}
5155				!e.enabled && i && i.classList.add(...t.lockClass.split(" "));
5156			};
5157			a.forEach((e) => c(e, "next")), r.forEach((e) => c(e, "prev"));
5158		}
5159		function p() {
5160			const t = n(), { nextEl: i, prevEl: s } = e.navigation, o = le(i), a = le(s), r = (e, i) => {
5161				e.removeEventListener("click", "next" === i ? d : l), e.classList.remove(...t.disabledClass.split(" "));
5162			};
5163			o.forEach((e) => r(e, "next")), a.forEach((e) => r(e, "prev"));
5164		}
5165		t({ navigation: {
5166			nextEl: null,
5167			prevEl: null,
5168			addIcons: !0,
5169			hideOnClick: !1,
5170			disabledClass: "swiper-button-disabled",
5171			hiddenClass: "swiper-button-hidden",
5172			lockClass: "swiper-button-lock",
5173			navigationDisabledClass: "swiper-navigation-disabled"
5174		} }), e.navigation = {
5175			nextEl: null,
5176			prevEl: null,
5177			arrowSvg: Xe
5178		}, i("init", () => {
5179			!1 === n().enabled ? u() : (c(), r());
5180		}), i("toEdge fromEdge lock unlock", () => {
5181			r();
5182		}), i("destroy", () => {
5183			p();
5184		}), i("enable disable", () => {
5185			const t = n(), { nextEl: i, prevEl: s } = e.navigation, o = le(i), a = le(s);
5186			e.enabled ? r() : [...o, ...a].filter((e) => !!e).forEach((e) => e.classList.add(t.lockClass));
5187		}), i("click", (t, i) => {
5188			const o = n(), { nextEl: a, prevEl: r } = e.navigation, l = le(a), d = le(r), c = i.target;
5189			let p = d.includes(c) || l.includes(c);
5190			if (e.isElement && !p) {
5191				const e = i.composedPath ? i.composedPath() : [];
5192				e.length && (p = e.find((e) => l.includes(e) || d.includes(e)));
5193			}
5194			if (o.hideOnClick && !p) {
5195				if (e.pagination && e.params.pagination && e.params.pagination.clickable && (e.pagination.el === c || e.pagination.el.contains(c))) return;
5196				let t;
5197				l.length ? t = l[0].classList.contains(o.hiddenClass) : d.length && (t = d[0].classList.contains(o.hiddenClass)), s(!0 === t ? "navigationShow" : "navigationHide"), [...l, ...d].filter((e) => !!e).forEach((e) => e.classList.toggle(o.hiddenClass));
5198			}
5199		});
5200		const u = () => {
5201			const t = n();
5202			e.el.classList.add(...t.navigationDisabledClass.split(" ")), p();
5203		};
5204		Object.assign(e.navigation, {
5205			enable: () => {
5206				const t = n();
5207				e.el.classList.remove(...t.navigationDisabledClass.split(" ")), c(), r();
5208			},
5209			disable: u,
5210			update: r,
5211			init: c,
5212			destroy: p
5213		});
5214	};
5215	function Ke(e = "") {
5216		return `.${e.trim().replace(/([.:!+/()[\]#>~*^$|=,'"@{}\\])/g, "\\$1").replace(/ /g, ".")}`;
5217	}
5218	const Ze = (e) => {
5219		if (((e) => !!e.virtual && !!e.params.virtual?.enabled)(e)) return e.virtual.slides.length;
5220		const t = e.params.grid?.rows;
5221		return e.grid && t && t > 1 ? e.slides.length / Math.ceil(t) : e.slides.length;
5222	}, Je = ({ swiper: e, extendParams: t, on: i, emit: s }) => {
5223		const n = "swiper-pagination";
5224		let o;
5225		t({ pagination: {
5226			el: null,
5227			bulletElement: "span",
5228			clickable: !1,
5229			hideOnClick: !1,
5230			renderBullet: null,
5231			renderProgressbar: null,
5232			renderFraction: null,
5233			renderCustom: null,
5234			progressbarOpposite: !1,
5235			type: "bullets",
5236			dynamicBullets: !1,
5237			dynamicMainBullets: 1,
5238			formatFractionCurrent: (e) => e,
5239			formatFractionTotal: (e) => e,
5240			bulletClass: `${n}-bullet`,
5241			bulletActiveClass: `${n}-bullet-active`,
5242			modifierClass: `${n}-`,
5243			currentClass: `${n}-current`,
5244			totalClass: `${n}-total`,
5245			hiddenClass: `${n}-hidden`,
5246			progressbarFillClass: `${n}-progressbar-fill`,
5247			progressbarOppositeClass: `${n}-progressbar-opposite`,
5248			clickableClass: `${n}-clickable`,
5249			lockClass: `${n}-lock`,
5250			horizontalClass: `${n}-horizontal`,
5251			verticalClass: `${n}-vertical`,
5252			paginationDisabledClass: `${n}-disabled`
5253		} }), e.pagination = {
5254			el: null,
5255			bullets: []
5256		};
5257		let a = 0;
5258		function r() {
5259			return e.params.pagination;
5260		}
5261		function l() {
5262			return !r().el || !e.pagination.el || Array.isArray(e.pagination.el) && 0 === e.pagination.el.length;
5263		}
5264		function d(e, t) {
5265			const { bulletActiveClass: i } = r();
5266			if (!e) return;
5267			let s = e[("prev" === t ? "previous" : "next") + "ElementSibling"];
5268			s && (s.classList.add(`${i}-${t}`), s = s[("prev" === t ? "previous" : "next") + "ElementSibling"], s && s.classList.add(`${i}-${t}-${t}`));
5269		}
5270		function c(t) {
5271			const i = t.target.closest(Ke(r().bulletClass));
5272			if (!i) return;
5273			t.preventDefault();
5274			const s = (oe(i) ?? 0) * (e.params.slidesPerGroup ?? 1);
5275			if (e.params.loop) {
5276				if (e.realIndex === s) return;
5277				const t = (n = e.realIndex, o = s, a = e.slides.length, (o %= a) === 1 + (n %= a) ? "next" : o === n - 1 ? "previous" : void 0);
5278				"next" === t ? e.slideNext() : "previous" === t ? e.slidePrev() : e.slideToLoop(s);
5279			} else e.slideTo(s);
5280			var n, o, a;
5281		}
5282		function p() {
5283			const t = e.rtl, i = r();
5284			if (l()) return;
5285			const n = le(e.pagination.el);
5286			let c, p;
5287			const u = Ze(e), h = e.params.loop ? Math.ceil(u / (e.params.slidesPerGroup ?? 1)) : e.snapGrid.length;
5288			if (e.params.loop ? (p = e.previousRealIndex || 0, c = (e.params.slidesPerGroup ?? 1) > 1 ? Math.floor(e.realIndex / (e.params.slidesPerGroup ?? 1)) : e.realIndex) : void 0 !== e.snap
5288Index ? (c = e.snapIndex, p = e.previousSnapIndex) : (p = e.previousIndex || 0, c = e.activeIndex || 0), "bullets" === i.type && e.pagination.bullets && e.pagination.bullets.length > 0) {
5289				const s = e.pagination.bullets;
5290				let r = 0, l = 0, u = 0;
5291				if (i.dynamicBullets) {
5292					o = re(s[0], e.isHorizontal() ? "width" : "height");
5293					const t = e.isHorizontal() ? "width" : "height";
5294					n.forEach((e) => {
5295						e.style[t] = (o ?? 0) * (i.dynamicMainBullets + 4) + "px";
5296					}), i.dynamicMainBullets > 1 && void 0 !== p && (a += c - (p || 0), a > i.dynamicMainBullets - 1 ? a = i.dynamicMainBullets - 1 : a < 0 && (a = 0)), r = Math.max(c - a, 0), l = r + (Math.min(s.length, i.dynamicMainBullets) - 1), u = (l + r) / 2;
5297				}
5298				if (s.forEach((e) => {
5299					const t = [
5300						"",
5301						"-next",
5302						"-next-next",
5303						"-prev",
5304						"-prev-prev",
5305						"-main"
5306					].map((e) => `${i.bulletActiveClass}${e}`).flatMap((e) => "string" == typeof e && e.includes(" ") ? e.split(" ") : [e]);
5307					e.classList.remove(...t);
5308				}), n.length > 1) s.forEach((t) => {
5309					const s = oe(t);
5310					s === c ? t.classList.add(...i.bulletActiveClass.split(" ")) : e.isElement && t.setAttribute("part", "bullet"), i.dynamicBullets && void 0 !== s && (s >= r && s <= l && t.classList.add(...`${i.bulletActiveClass}-main`.split(" ")), s === r && d(t, "prev"), s === l && d(t, "next"));
5311				});
5312				else {
5313					const t = s[c];
5314					if (t && t.classList.add(...i.bulletActiveClass.split(" ")), e.isElement && s.forEac
5314h((e, t) => {
5315						e.setAttribute("part", t === c ? "bullet-active" : "bullet");
5316					}), i.dynamicBullets) {
5317						const e = s[r], t = s[l];
5318						for (let e = r; e <= l; e += 1) s[e] && s[e].classList.add(...`${i.bulletActiveClass}-main`.split(" "));
5319						d(e, "prev"), d(t, "next");
5320					}
5321				}
5322				if (i.dynamicBullets) {
5323					const n = Math.min(s.length, i.dynamicMainBullets + 4), a = ((o ?? 0) * n - (o ?? 0)) / 2 - u * (o ?? 0), r = t ? "right" : "left", l = e.isHorizontal() ? r : "top";
5324					s.forEach((e) => {
5325						e.style[l] = `${a}px`;
5326					});
5327				}
5328			}
5329			n.forEach((t, n) => {
5330				if ("fraction" === i.type && (t.querySelectorAll(Ke(i.currentClass)).forEach((e) => {
5331					e.textContent = String(i.formatFractionCurrent(c + 1));
5332				}), t.querySelectorAll(Ke(i.totalClass)).forEach((e) => {
5333					e.textContent = String(i.formatFractionTotal(h));
5334				})), "progressbar" === i.type) {
5335					let s;
5336					s = i.progressbarOpposite ? e.isHorizontal() ? "vertical" : "horizontal" : e.isHorizontal() ? "horizontal" : "vertical";
5337					const n = (c + 1) / h;
5338					let o = 1, a = 1;
5339					"horizontal" === s ? o = n : a = n, t.querySelectorAll(Ke(i.progressbarFillClass)).forEach((t) => {
5340						t.style.transform = `translate3d(0,0,0) scaleX(${o}) scaleY(${a})`, t.style.transitionDuration = `${e.params.speed}ms`;
5341					});
5342				}
5343				"custom" === i.type && i.renderCustom ? (ce(t, i.renderCustom(e, c + 1, h)), 0 === n && s("paginationRender", t)) : (0 === n && s("paginationRender", t), s("paginationUpdate", t)), e.params.watchOverflow && e.enabled && t.classList[e.isLocked ? "add" : "remove"](i.lockClass);
5344			});
5345		}
5346		function u() {
5347			const t = r();
5348			if (l()) return;
5349			const i = Ze(e), n = le(e.pagination.el);
5350			let o = "";
5351			if ("bullets" === t.type) {
5352				let s = e.params.loop ? Math.ceil(i / (e.params.slidesPerGroup ?? 1)) : e.snapGrid.length;
5353				e.params.freeMode && ((e) => !!e.params.freeMode?.enabled)(e) && s > i && (s = i);
5354				for (let i = 0; i < s; i += 1) t.renderBullet ? o += t.renderBullet.call(e, i, t.bulletClass) : o += `<${t.bulletElement} ${e.isElement ? "part=\"bullet\"" : ""} class="${t.bulletClass}"></${t.bulletElement}>`;
5355			}
5356			"fraction" === t.type && (o = t.renderFraction ? t.renderFraction.call(e, t.currentClass, t.totalClass) : `<span class="${t.currentClass}"></span> / <span class="${t.totalClass}"></span>`), "progressbar" === t.type && (o = t.renderProgressbar ? t.renderProgressbar.call(e, t.progressbarFillClass) : `<span class="${t.progressbarFillClass}"></span>`), e.pagination.bullets = [], n.forEach((i) => {
5357				"custom" !== t.type && ce(i, o || ""), "bullets" === t.type && e.pagination.bullets.push(...Array.from(i.querySelectorAll(Ke(t.bulletClass))));
5358			}), "custom" !== t.type && s("paginationRender", n[0]);
5359		}
5360		function h() {
5361			e.params.pagination = Ue(e, e.originalParams.pagination, e.params.pagination, { el: "swiper-pagination" });
5362			const t = r();
5363			if (!t.el) return;
5364			let i;
5365			if ("string" == typeof t.el && e.isElement && (i = e.el.querySelector(t.el)), i || "string" != typeof t.el || (i = [...document.querySelectorAll(t.el)]), i || (i = t.el), i && (!Array.isArray(i) || 0 !== i.length)) {
5366				if (e.params.uniqueNavElements && "string" == typeof t.el && Array.isArray(i) && i.length > 1 && (i = [...e.el.querySelectorAll(t.el)], i.length > 1)) {
5367					const t = i.find((t) => ae(t, ".swiper")[0] === e.el);
5368					t && (i = t);
5369				}
5370				Array.isArray(i) && 1 === i.length && (i = i[0]), Object.assign(e.pagination, { el: i }), le(i).forEach((i) => {
5371					"bullets" === t.type && t.clickable && i.classList.add(...(t.clickableClass || "").split(" ")), i.classList.add(t.modifierClass + t.type), i.classList.add(e.isHorizontal() ? t.horizontalClass : t.verticalClass), "bullets" === t.type && t.dynamicBullets && (i.classList.add(`${t.modifierClass}${t.type}-dynamic`), a = 0, t.dynamicMainBullets < 1 && (t.dynamicMainBullets = 1)), "progressbar" === t.type && t.progressbarOpposite && i.classList.add(t.progressbarOppositeClass), t.clickable && i.addEventListener("click", c), e.enabled || i.classList.add(t.lockClass);
5372				});
5373			}
5374		}
5375		function m() {
5376			const t = r();
5377			if (l()) return;
5378			const i = e.pagination.el;
5379			i && le(i).forEach((i) => {
5380				i.classList.remove(t.hiddenClass), i.classList.remove(t.modifierClass + t.type), i.classList.remove(e.isHorizontal() ? t.horizontalClass : t.verticalClass), t.clickable && (i.classList.remove(...(t.clickableClass || "").split(" ")), i.removeEventListener("click", c));
5381			}), e.pagination.bullets && e.pagination.bullets.forEach((e) => e.classList.remove(...t.bulletActiveClass.split(" ")));
5382		}
5383		i("changeDirection", () => {
5384			if (!e.pagination || !e.pagination.el) return;
5385			const t = r();
5386			le(e.pagination.el).forEach((i) => {
5387				i.classList.remove(t.horizontalClass, t.verticalClass), i.classList.add(e.isHorizontal() ? t.horizontalClass : t.verticalClass);
5388			});
5389		}), i("init", () => {
5390			!1 === r().enabled ? f() : (h(), u(), p());
5391		}), i("activeIndexChange", () => {
5392			void 0 === e.snapIndex && p();
5393		}), i("snapIndexChange", () => {
5394			p();
5395		}), i("snapGridLengthChange", () => {
5396			u(), p();
5397		}), i("destroy", () => {
5398			m();
5399		}), i("enable disable", () => {
5400			const { el: t } = e.pagination;
5401			if (t) {
5402				const i = r();
5403				le(t).forEach((t) => t.classList[e.enabled ? "remove" : "add"](i.lockClass));
5404			}
5405		}), i("lock unlock", () => {
5406			p();
5407		}), i("click", (t, i) => {
5408			const n = i.target, o = le(e.pagination.el), a = r();
5409			if (a.el && a.hideOnClick && o && o.length > 0 && !n.classList.contains(a.bulletClass)) {
5410				if (e.navigation && (e.navigation.nextEl && n === e.navigation.nextEl || e.navigation.prevEl && n === e.navigation.prevEl)) return;
5411				!0 === o[0].classList.contains(a.hiddenClass) ? s("paginationShow") : s("paginationHide"), o.forEach((e) => e.classList.toggle(a.hiddenClass));
5412			}
5413		});
5414		const f = () => {
5415			const t = r();
5416			e.el.classList.add(t.paginationDisabledClass);
5417			const { el: i } = e.pagination;
5418			i && le(i).forEach((e) => e.classList.add(t.paginationDisabledClass)), m();
5419		};
5420		Object.assign(e.pagination, {
5421			enable: () => {
5422				const t = r();
5423				e.el.classList.remove(t.paginationDisabledClass);
5424				const { el: i } = e.pagination;
5425				i && le(i).forEach((e) => e.classList.remove(t.paginationDisabledClass)), h(), u(), p();
5426			},
5427			disable: f,
5428			render: u,
5429			update: p,
5430			init: h,
5431			destroy: m
5432		});
5433	}, et = ({ swiper: e, extendParams: t, on: i, emit: s, params: n }) => {
5434		function o() {
5435			return e.params.autoplay;
5436		}
5437		e.autoplay = {
5438			running: !1,
5439			paused: !1,
5440			timeLeft: 0
5441		}, t({ autoplay: {
5442			enabled: !1,
5443			delay: 3e3,
5444			waitForTransition: !0,
5445			disableOnInteraction: !1,
5446			stopOnLastSlide: !1,
5447			reverseDirection: !1,
5448			pauseOnMouseEnter: !1
5449		} });
5450		const a = "object" == typeof n.autoplay && n.autoplay && "number" == typeof n.autoplay.delay ? n.autoplay.delay : 3e3;
5451		let r, l, d, c = a, p = a, u = 0, h = (/* @__PURE__ */ new Date()).getTime(), m = !1, f = !1, g = !1, w = !1, v = !1;
5452		function y(t) {
5453			if (!e || e.destroyed || !e.wrapperEl) return;
5454			if (t.target !== e.wrapperEl) return;
5455			e.wrapperEl.removeEventListener("transitionend", y);
5456			const i = t.detail;
5457			v || i && i.bySwiperTouchMove || _();
5458		}
5459		const b = () => {
5460			if (e.destroyed || !e.autoplay.running) return;
5461			e.autoplay.paused ? m = !0 : m && (p = u, m = !1);
5462			const t = e.autoplay.paused ? u : h + p - (/* @__PURE__ */ new Date()).getTime();
5463			e.autoplay.timeLeft = t, s("autoplayTimeLeft", t, t / c), l = requestAnimationFrame(() => {
5464				b();
5465			});
5466		}, x = () => {
5467			let t = o().delay;
5468			const i = (() => {
5469				let t;
5470				const i = !!e.params.virtual?.enabled;
5471				if (t = e.virtual && i ? e.slides.find((e) => e.classList.contains("swiper-slide-active")) : e.slides[e.activeIndex], !t) return;
5472				const s = t.getAttribute("data-swiper-autoplay");
5473				return null != s ? parseInt(s, 10) : void 0;
5474			})();
5475			return "number" == typeof i && !Number.isNaN(i) && i > 0 && (t = i), t;
5476		}, T = (t) => {
5477			if (e.destroyed || !e.autoplay.running) return 0;
5478			void 0 !== l && cancelAnimationFrame(l), b();
5479			let i = t;
5480			void 0 === i && (i = x(), c = i, p = i), u = i;
5481			const n = e.params.speed, a = () => {
5482				if (!e || e.destroyed) return;
5483				const t = o();
5484				t.reverseDirection ? !e.isBeginning || e.params.loop || e.params.rewind ? (e.slidePrev(n, !0, !0), s("autoplay")) : t.stopOnLastSlide || (e.slideTo(e.slides.length - 1, n, !0, !0), s("autoplay")) : !e.isEnd || e.params.loop || e.params.rewind ? (e.slideNext(n, !0, !0), s("autoplay")) : t.stopOnLastSlide || (e.slideTo(0, n, !0, !0), s("autoplay")), e.params.cssMode && (h = (/* @__PURE__ */ new Date()).getTime(), requestAnimationFrame(() => {
5485					T();
5486				}));
5487			};
5488			return i > 0 ? (void 0 !== r && clearTimeout(r), r = setTimeout(() => {
5489				a();
5490			}
5490, i)) : requestAnimationFrame(() => {
5491				a();
5492			}), i;
5493		}, C = () => (h = (/* @__PURE__ */ new Date()).getTime(), e.autoplay.running = !0, T(), s("autoplayStart"), !0), E = () => (e.autoplay.running = !1, void 0 !== r && clearTimeout(r), void 0 !== l && cancelAnimationFrame(l), s("autoplayStop"), !0), S = (t, i) => {
5494			if (e.destroyed || !e.autoplay.running) return;
5495			void 0 !== r && clearTimeout(r), t || (w = !0);
5496			const n = () => {
5497				s("autoplayPause"), o().waitForTransition ? e.wrapperEl.addEventListener("transitionend", y) : _();
5498			};
5499			e.autoplay.paused = !0, i ? n() : (u = (u || o().delay) - ((/* @__PURE__ */ new Date()).getTime() - h), e.isEnd && u < 0 && !e.params.loop || (u < 0 && (u = 0), n()));
5500		}, _ = () => {
5501			e.isEnd && u < 0 && !e.params.loop || e.destroyed || !e.autoplay.running || (h = (/* @__PURE__ */ new Date()).getTime(), w ? (w = !1, T(u)) : T(), e.autoplay.paused = !1, s("autoplayResume"));
5502		}, k = () => {
5503			!e.destroyed && e.autoplay.running && ("hidden" === document.visibilityState && (w = !0, S(!0)), "visible" === document.visibilityState && _());
5504		}, j = (t) => {
5505			"mouse" === t.pointerType && (w = !0, v = !0, e.animating || e.autoplay.paused || S(!0));
5506		}, P = (t) => {
5507			"mouse" === t.pointerType && (v = !1, e.autoplay.paused && _());
5508		};
5509		i("init", () => {
5510			o().enabled && (o().pauseOnMouseEnter && (e.el.addEventListener("pointerenter", j), e.el.addEventListener("pointerleave", P)), document.addEventListener("visibilitychange", k), C());
5511		}), i("destroy", () => {
5512			e.el && "string" != typeof e.el && (e.el.removeEventListener("pointerenter", j), e.el.removeEventListener("pointerleave", P)), document.removeEventListener("visibilitychange", k), e.autoplay.running && E();
5513		}), i("_freeModeStaticRelease", () => {
5514			(g || w) && _();
5515		}), i("_freeModeNoMomentumRelease", () => {
5516			o().disableOnInteraction ? E() : S(!0, !0);
5517		}), i("beforeTransitionStart", (t, i, s) => {
5518			!e.destroyed && e.autoplay.running && (s || !o().disableOnInteraction ? S(!0, !0) : E());
5519		}), i("sliderFirstMove", () => {
5520			!e.destroyed && e.autoplay.running && (o().disableOnInteraction ? E() : (f = !0, g = !1, w = !1, d = setTimeout(() => {
5521				w = !0, g = !0, S(!0);
5522			}, 200)));
5523		}), i("touchEnd", () => {
5524			if (!e.destroyed && e.autoplay.running && f) {
5525				if (void 0 !== d && clearTimeout(d), void 0 !== r && clearTimeout(r), o().disableOnInteraction) return g = !1, void (f = !1);
5526				g && e.params.cssMode && _(), g = !1, f = !1;
5527			}
5528		}), i("slideChange", () => {
5529			!e.destroyed && e.autoplay.running && e.autoplay.paused && (u = x(), c = x());
5530		}), Object.assign(e.autoplay, {
5531			start: C,
5532			stop: E,
5533			pause: S,
5534			resume: _
5535		});
5536	}, tt = ({ swiper: e, extendParams: t, on: i }) => {
5537		t({ thumbs: {
5538			swiper: null,
5539			multipleActiveThumbs: !0,
5540			autoScrollOffset: 0,
5541			slideThumbActiveClass: "swiper-slide-thumb-active",
5542			thumbsContainerClass: "swiper-thumbs"
5543		} });
5544		let s = !1, n = !1;
5545		function o() {
5546			return e.params.thumbs;
5547		}
5548		function a() {
5549			const t = e.thumbs.swiper;
5550			if (!t || t.destroyed) return !1;
5551			const i = t.params.virtual;
5552			return !!i && !!i.enabled;
5553		}
5554		function r() {
5555			const t = e.thumbs.swiper;
5556			if (!t || t.destroyed) return;
5557			const i = t.clickedIndex, s = t.clickedSlide, n = o();
5558			if (s && s.classList.contains(n.slideThumbActiveClass)) return;
5559			if (null == i) return;
5560			let a;
5561			if (t.params.loop) {
5562				const e = t.clickedSlide?.getAttribute("data-swiper-slide-index");
5563				a = null == e ? i : parseInt(e, 10);
5564			} else a = i;
5565			e.params.loop ? e.slideToLoop(a) : e.slideTo(a);
5566		}
5567		function l() {
5568			const t = o();
5569			if (s) return !1;
5570			s = !0;
5571			const i = e.constructor;
5572			if (t.swiper instanceof i) {
5573				if (t.swiper.destroyed) return s = !1, !1;
5574				const i = t.swiper;
5575				e.thumbs.swiper = i, Object.assign(i.originalParams, {
5576					watchSlidesProgress: !0,
5577					slideToClickedSlide: !1
5578				}), Object.assign(i.params, {
5579					watchSlidesProgress: !0,
5580					slideToClickedSlide: !1
5581				}), i.update();
5582			} else if (Y(t.swiper)) {
5583				const s = Object.assign({}, t.swiper);
5584				Object.assign(s, {
5585					watchSlidesProgress: !0,
5586					slideToClickedSlide: !1
5587				}), e.thumbs.swiper = new i(s), n = !0;
5588			}
5589			const l = e.thumbs.swiper;
5590			return !!l && (l.el.classList.add(t.thumbsContainerClass), l.on("tap", r), a() && l.on("virtualUpdate", () => {
5591				d(!1, { autoScroll: !1 });
5592			}), !0);
5593		}
5594		function d(t, i) {
5595			const s = e.thumbs.swiper;
5596			if (!s || s.destroyed) return;
5597			let n = 1;
5598			const r = o(), l = r.slideThumbActiveClass, d = e.params.slidesPerView;
5599			if ("number" == typeof d && d > 1 && !e.params.centeredSlides && (n = d), r.multipleActiveThumbs || (n = 1), n = Math.floor(n), s.slides.forEac
5599h((e) => e.classList.remove(l)), s.params.loop || a()) for (let t = 0; t < n; t += 1) te(s.slidesEl, `[data-swiper-slide-index="${e.realIndex + t}"]`).forEach((e) => {
5600				e.classList.add(l);
5601			});
5602			else for (let t = 0; t < n; t += 1) {
5603				const i = s.slides[e.realIndex + t];
5604				i && i.classList.add(l);
5605			}
5606			(i?.autoScroll ?? 1) && function(t) {
5607				const i = e.thumbs.swiper;
5608				if (!i || i.destroyed) return;
5609				const s = i.params.slidesPerView, n = "auto" === s ? i.slidesPerViewDynamic() : s ?? 1, a = o().autoScrollOffset, r = a && !i.params.loop;
5610				if (e.realIndex !== i.realIndex || r) {
5611					const s = i.activeIndex;
5612					let o, l;
5613					if (i.params.loop) {
5614						const t = i.slides.find((t) => t.getAttribute("data-swiper-slide-index") === `${e.realIndex}`);
5615						o = t ? i.slides.indexOf(t) : -1, l = e.activeIndex > e.previousIndex ? "next" : "prev";
5616					} else o = e.realIndex, l = o > e.previousIndex ? "next" : "prev";
5617					r && (o += "next" === l ? a : -1 * a), i.visibleSlidesIndexes && i.visibleSlidesIndexes.indexOf(o) < 0 && (i.params.centeredSlides ? o = o > s ? o - Math.floor(n / 2) + 1 : o + Math.floor(n / 2) - 1 : o > s && i.params.slidesPerGroup, i.slideTo(o, t));
5618				}
5619			}(t ? 0 : void 0);
5620		}
5621		e.thumbs = { swiper: null }, i("beforeInit", () => {
5622			const t = e.params.thumbs;
5623			if (t && t.swiper) if ("string" == typeof t.swiper || t.swiper instanceof HTMLElement) {
5624				const i = () => {
5625					const i = "string" == typeof t.swiper ? document.querySelector(t.swiper) : t.swiper;
5626					if (i && i.swiper) t.swiper = i.swiper, l(), d(!0);
5627					else if (i) {
5628						const s = `${e.params.eventsPrefix}init`, n = (o) => {
5629							const a = o.detail;
5630							t.swiper = a[0], i.removeEventListener(s, n), l(), d(!0), t.swiper.update(), e.update();
5631						};
5632						i.addEventListener(s, n);
5633					}
5634					return i;
5635				}, s = () => {
5636					e.destroyed || i() || requestAnimationFrame(s);
5637				};
5638				requestAnimationFrame(s);
5639			} else l(), d(!0);
5640		}), i("slideChange update resize observerUpdate", () => {
5641			d();
5642		}), i("setTransition", (t, i) => {
5643			const s = e.thumbs.swiper;
5644			s && !s.destroyed && s.setTransition(i);
5645		}), i("beforeDestroy", () => {
5646			const t = e.thumbs.swiper;
5647			t && !t.destroyed && n && t.destroy();
5648		}), Object.assign(e.thumbs, {
5649			init: l,
5650			update: d
5651		});
5652	}, it = ({ swiper: e, extendParams: t, on: i }) => {
5653		function s() {
5654			return e.params.grid;
5655		}
5656		let n, o, a, r;
5657		t({ grid: {
5658			rows: 1,
5659			fill: "column"
5660		} });
5661		const l = () => {
5662			let t = e.params.spaceBetween ?? 0;
5663			return "string" == typeof t && t.indexOf("%") >= 0 ? t = parseFloat(t.replace("%", "")) / 100 * e.size : "string" == typeof t && (t = parseFloat(t)), t;
5664		}, d = () => {
5665			const t = e.params.virtual;
5666			return !!e.virtual && "object" == typeof t && null !== t && !!t.enabled;
5667		};
5668		i("init", () => {
5669			const t = e.params.grid;
5670			r = !!(t && (t.rows ?? 1) > 1);
5671		}), i("update", () => {
5672			const { params: t, el: i } = e, s = t.grid, n = !!(s && (s.rows ?? 1) > 1);
5673			r && !n ? (i.classList.remove(`${t.containerModifierClass}grid`, `${t.containerModifierClass}grid-column`), a = 1, e.emitContainerClasses()) : !r && n && (i.classList.add(`${t.containerModifierClass}grid`), "column" === s.fill && i.classList.add(`${t.containerModifierClass}grid-column`), e.emitContainerClasses()), r = n;
5674		}), e.grid = {
5675			initSlides: (t) => {
5676				const { slidesPerView: i } = e.params, { rows: r, fill: l } = s(), c = d() ? e.virtual.slides.length : t.length;
5677				a = Math.floor(c / r), n = Math.floor(c / r) === c / r ? c : Math.ceil(c / r) * r, "auto" !== i && "row" === l && (n = Math.max(n, Math.floor(i ?? 1) * r)), o = n / r;
5678			},
5679			unsetSlides: () => {
5680				e.slides && e.slides.forEach((t) => {
5681					t.swiperSlideGridSet && (t.style.height = "", t.style.setProperty(e.getDirectionLabel("margin-top"), ""));
5682				});
5683			},
5684			updateSlide: (t, i, r) => {
5685				const { slidesPerGroup: c } = e.params, p = l(), { rows: u, fill: h } = s(), m = d() ? e.virtual.slides.length : r.length;
5686				let f, g, w;
5687				if ("row" === h && (c ?? 1) > 1) {
5688					const e = c ?? 1, s = Math.floor(t / (e * u)), o = t - u * e * s, a = 0 === s ? e : Math.min(Math.ceil((m - s * u * e) / u), e);
5689					w = Math.floor(o / a), g = o - w * a + s * e, f = g + w * n / u, i.style.order = String(f);
5690				} else "column" === h ? (g = Math.floor(t / u), w = t - g * u, (g > a || g === a && w === u - 1) && (w += 1, w >= u && (w = 0, g += 1))) : (w = Math.floor(t / o), g = t - w * o);
5691				const v = i;
vendor: 6,808 bytes, lines 5692-5884
5692				v.row = w, v.column = g, i.style.height = `calc((100% - ${(u - 1) * p}px) / ${u})`, i.style.setProperty(e.getDirectionLabel("margin-top"), 0 !== w && p ? `${p}px` : ""), v.swiperSlideGridSet = !0;
5693			},
5694			updateWrapperSize: (t, i) => {
5695				const { centeredSlides: o, roundLengths: a } = e.params, r = l(), { rows: d } = s();
5696				if (e.virtualSize = (t + r) * n, e.virtualSize = Math.ceil(e.virtualSize / d) - r, e.params.cssMode || e.wrapperEl.style.setProperty(e.getDirectionLabel("width"), `${e.virtualSize + r}px`), o) {
5697					const t = [];
5698					for (let s = 0; s < i.length; s += 1) {
5699						let n = i[s];
5700						a && (n = Math.floor(n)), i[s] < e.virtualSize + i[0] && t.push(n);
5701					}
5702					i.splice(0, i.length), i.push(...t);
5703				}
5704			}
5705		};
5706	};
5707	function st(e, t) {
5708		const i = this, { params: s, activeIndex: n, slidesEl: o } = i;
5709		let a = n;
5710		s.loop && (a -= i.loopedSlides ?? 0, i.loopDestroy(), i.recalcSlides());
5711		const r = i.slides.length;
5712		if (e <= 0) return void i.prependSlide(t);
5713		if (e >= r) return void i.appendSlide(t);
5714		let l = a > e ? a + 1 : a;
5715		const d = [];
5716		for (let t = r - 1; t >= e; t -= 1) {
5717			const e = i.slides[t];
5718			e && (e.remove(), d.unshift(e));
5719		}
5720		if (Array.isArray(t)) {
5721			for (let e = 0; e < t.length; e += 1) {
5722				const i = t[e];
5723				i && o.append(i);
5724			}
5725			l = a > e ? a + t.length : a;
5726		} else o.append(t);
5727		for (let e = 0; e < d.length; e += 1) o.append(d[e]);
5728		i.recalcSlides(), s.loop && i.loopCreate(), s.observer && !i.isElement || i.update(), s.loop ? i.slideTo(l + (i.loopedSlides ?? 0), 0, !1) : i.slideTo(l, 0, !1);
5729	}
5730	function nt(e) {
5731		const t = this, { params: i, slidesEl: s } = t;
5732		i.loop && t.loopDestroy();
5733		const n = (e) => {
5734			if ("string" == typeof e) {
5735				const t = document.createElement("div");
5736				ce(t, e);
5737				const i = t.children[0];
5738				i && s.append(i), ce(t, "");
5739			} else s.append(e);
5740		};
5741		if (Array.isArray(e)) for (let t = 0; t < e.length; t += 1) {
5742			const i = e[t];
5743			i && n(i);
5744		}
5745		else n(e);
5746		t.recalcSlides(), i.loop && t.loopCreate(), i.observer && !t.isElement || t.update();
5747	}
5748	function ot(e) {
5749		const t = this, { params: i, activeIndex: s, slidesEl: n } = t;
5750		i.loop && t.loopDestroy();
5751		let o = s + 1;
5752		const a = (e) => {
5753			if ("string" == typeof e) {
5754				const t = document.createElement("div");
5755				ce(t, e);
5756				const i = t.children[0];
5757				i && n.prepend(i), ce(t, "");
5758			} else n.prepend(e);
5759		};
5760		if (Array.isArray(e)) {
5761			for (let t = 0; t < e.length; t += 1) {
5762				const i = e[t];
5763				i && a(i);
5764			}
5765			o = s + e.length;
5766		} else a(e);
5767		t.recalcSlides(), i.loop && t.loopCreate(), i.observer && !t.isElement || t.update(), t.slideTo(o, 0, !1);
5768	}
5769	function at() {
5770		const e = this, t = [];
5771		for (let i = 0; i < e.slides.length; i += 1) t.push(i);
5772		e.removeSlide(t);
5773	}
5774	function rt(e) {
5775		const t = this, { params: i, activeIndex: s } = t;
5776		let n = s;
5777		i.loop && (n -= t.loopedSlides ?? 0, t.loopDestroy());
5778		let o = n;
5779		if (Array.isArray(e)) {
5780			for (let i = 0; i < e.length; i += 1) {
5781				const s = e[i];
5782				t.slides[s] && t.slides[s].remove(), s < o && (o -= 1);
5783			}
5784			o = Math.max(o, 0);
5785		} else {
5786			const i = e;
5787			t.slides[i] && t.slides[i].remove(), i < o && (o -= 1), o = Math.max(o, 0);
5788		}
5789		t.recalcSlides(), i.loop && t.loopCreate(), i.observer && !t.isElement || t.update(), i.loop ? t.slideTo(o + (t.loopedSlides ?? 0), 0, !1) : t.slideTo(o, 0, !1);
5790	}
5791	const lt = ({ swiper: e }) => {
5792		Object.assign(e, {
5793			appendSlide: nt.bind(e),
5794			prependSlide: ot.bind(e),
5795			addSlide: st.bind(e),
5796			removeSlide: rt.bind(e),
5797			removeAllSlides: at.bind(e)
5798		});
5799	};
5800	function dt(e) {
5801		const { effect: t, swiper: i, on: s, setTranslate: n, setTransition: o, overwriteParams: a, perspective: r, recreateShadows: l, getEffectParams: d } = e;
5802		s("beforeInit", () => {
5803			if (i.params.effect !== t) return;
5804			i.classNames.push(`${i.params.containerModifierClass}${t}`), r && r() && i.classNames.push(`${i.params.containerModifierClass}3d`);
5805			const e = a ? a() : {};
5806			Object.assign(i.params, e), Object.assign(i.originalParams, e);
5807		}), s("setTranslate _virtualUpdated", () => {
5808			i.params.effect === t && n();
5809		}), s("setTransition", (e, s) => {
5810			i.params.effect === t && o(s);
5811		}), s("transitionEnd", () => {
5812			if (i.params.effect === t && l) {
5813				const e = d ? d() : void 0;
5814				if (!e || !e.slideShadows) return;
5815				i.slides.forEach((e) => {
5816					e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e) => e.remove());
5817				}), l();
5818			}
5819		});
5820		let c = !1;
5821		s("virtualUpdate", () => {
5822			i.params.effect === t && (i.slides.length || (c = !0), requestAnimationFrame(() => {
5823				c && i.slides && i.slides.length && (n(), c = !1);
5824			}));
5825		});
5826	}
5827	function ct(e, t) {
5828		const i = ee(t);
5829		return i !== t && (i.style.backfaceVisibility = "hidden", i.style.setProperty("-webkit-backface-visibility", "hidden")), i;
5830	}
5831	function pt({ swiper: e, duration: t, transformElements: i, allSlides: s }) {
5832		const { activeIndex: n } = e;
5833		if (e.params.virtualTranslate && 0 !== t) {
5834			let t, o = !1;
5835			t = s ? i : i.filter((t) => {
5836				const i = t.classList.contains("swiper-slide-transform") ? ((t) => t.parentElement ? t.parentElement instanceof HTMLElement ? t.parentElement : void 0 : e.slides.find((e) => e.shadowRoot && e.shadowRoot === t.parentNode))(t) : t;
5837				return !!i && e.getSlideIndex(i) === n;
5838			}), t.forEach((t) => {
5839				(function(e, t) {
5840					t && e.addEventListener("transitionend", function(i) {
5841						i.target === e && t.call(e, i);
5842					}, { once: !0 });
5843				})(t, () => {
5844					if (o) return;
5845					if (!e || e.destroyed) return;
5846					o = !0, e.animating = !1;
5847					const t = new CustomEvent("transitionend", {
5848						bubbles: !0,
5849						cancelable: !0
5850					});
5851					e.wrapperEl.dispatchEvent(t);
5852				});
5853			});
5854		}
5855	}
5856	const ut = ({ swiper: e, extendParams: t, on: i }) => {
5857		t({ fadeEffect: { crossFade: !1 } });
5858		dt({
5859			effect: "fade",
5860			swiper: e,
5861			on: i,
5862			setTranslate: () => {
5863				const { slides: t } = e, i = e.params.fadeEffect;
5864				for (let s = 0; s < t.length; s += 1) {
5865					const n = t[s];
5866					let o = -(n.swiperSlideOffset ?? 0);
5867					e.params.virtualTranslate || (o -= e.translate);
5868					let a = 0;
5869					e.isHorizontal() || (a = o, o = 0);
5870					const r = n.progress ?? 0, l = i.crossFade ? Math.max(1 - Math.abs(r), 0) : 1 + Math.min(Math.max(r, -1), 0), d = ct(0, n);
5871					d.style.opacity = String(l), d.style.transform = `translate3d(${o}px, ${a}px, 0px)`;
5872				}
5873			},
5874			setTransition: (t) => {
5875				const i = e.slides.map((e) => ee(e));
5876				i.forEach((e) => {
5877					e.style.transitionDuration = `${t}ms`;
5878				}), pt({
5879					swiper: e,
5880					duration: t,
5881					transformElements: i,
5882					allSlides: !0
5883				});
5884			},
5885			overwriteParams: () => ({
5886				slidesPerView: 1,
5887				slidesPerGroup: 1,
5888				watchSlidesProgress: !0,
5889				spaceBetween: 0,
5890				virtualTranslate: !e.params.cssMode
5891			})
5892		});
5893	}, ht = ({ swiper: e, extendParams: t, on: i }) => {
5894		t({ cubeEffect: {
5895			slideShadows: !0,
5896			shadow: !0,
5897			shadowOffset: 20,
5898			shadowScale: .94
5899		} });
5900		const s = (e, t, i) => {
5901			let s = i ? e.querySelector(".swiper-slide-shadow-left") : e.querySelector(".swiper-slide-shadow-top"), n = i ? e.querySelector(".swiper-slide-shadow-right") : e.querySelector(".swiper-slide-shadow-bottom");
5902			s || (s = se("div", ("swiper-slide-shadow-cube swiper-slide-shadow-" + (i ? "left" : "top")).split(" ")), e.append(s)), n || (n = se("div", ("swiper-slide-shadow-cube swiper-slide-shadow-" + (i ? "right" : "bottom")).split(" ")), e.append(n)), s && (s.style.opacity = String(Math.max(-t, 0))), n && (n.style.opacity = String(Math.max(t, 0)));
5903		};
5904		dt({
5905			effect: "cube",
5906			swiper: e,
5907			on: i,
5908			setTranslate: () => {
5909				const { el: t, wrapperEl: i, slides: n, width: o, height: a, rtlTranslate: r, size: l } = e, d = de(e), c = e.params.cubeEffect, p = e.isHorizontal(), u = !(!e.virtual || !e.params.virtual?.enabled);
5910				let h = 0, m = null;
5911				c.shadow && (p ? (m = e.wrapperEl.querySelector(".swiper-cube-shadow"), m || (m = se("div", "swiper-cube-shadow"), e.wrapperEl.append(m)), m.style.height = `${o}px`) : (m = t.querySelector(".swiper-cube-shadow"), m || (m = se("div", "swiper-cube-shadow"), t.append(m))));
5912				for (let e = 0; e < n.length; e += 1) {
5913					const t = n[e];
5914					let i = e;
5915					u && (i = parseInt(t.getAttribute("data-swiper-slide-index") ?? "0", 10));
5916					let o = 90 * i, a = Math.floor(o / 360);
5917					r && (o = -o, a = Math.floor(-o / 360));
5918					const m = Math.max(Math.min(t.progress ?? 0, 1), -1);
5919					let f = 0, g = 0, w = 0;
5920					i % 4 == 0 ? (f = 4 * -a * l, w = 0) : (i - 1) % 4 == 0 ? (f = 0, w = 4 * -a * l) : (i - 2) % 4 == 0 ? (f = l + 4 * a * l, w = l) : (i - 3) % 4 == 0 && (f = -l, w = 3 * l + 4 * l * a), r && (f = -f), p || (g = f, f = 0);
5921					const v = `rotateX(${d(p ? 0 : -o)}deg) rotateY(${d(p ? o : 0)}deg) translate3d(${f}px, ${g}px, ${w}px)`;
5922					m <= 1 && m > -1 && (h = 90 * i + 90 * m, r && (h = 90 * -i - 90 * m)), t.style.transform = v, c.slideShadows && s(t, m, p);
5923				}
5924				if (i.style.transformOrigin = `50% 50% -${l / 2}px`, i.style.setProperty("-webkit-transform-origin", `50% 50% -${l / 2}px`), c.shadow && m) if (p) m.style.transform = `translate3d(0px, ${o / 2 + c.shadowOffset}px, ${-o / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${c.shadowScale})`;
5925				else {
5926					const e = Math.abs(h) - 90 * Math.floor(Math.abs(h) / 90), t = 1.5 - (Math.sin(2 * e * Math.PI / 360) / 2 + Math.cos(2 * e * Math.PI / 360) / 2), i = c.shadowScale, s = c.shadowScale / t, n = c.shadowOffset;
5927					m.style.transform = `scale3d(${i}, 1, ${s}) translate3d(0px, ${a / 2 + n}px, ${-a / 2 / s}px) rotateX(-89.99deg)`;
5928				}
5929				i.style.transform = `translate3d(0px,0,0px) rotateX(${d(e.isHorizontal() ? 0 : h)}deg) rotateY(${d(e.isHorizontal() ? -h : 0)}deg)`, i.style.setProperty("--swiper-cube-translate-z", "0px");
5930			},
5931			setTransition: (t) => {
5932				const { el: i, slides: s } = e;
5933				if (s.forEach((e) => {
5934					e.style.transitionDuration = `${t}ms`, e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e) => {
5935						e.style.transitionDuration = `${t}ms`;
5936					});
5937				}), e.params.cubeEffect?.shadow && !e.isHorizontal()) {
5938					const e = i.querySelector(".swiper-cube-shadow");
5939					e && (e.style.transitionDuration = `${t}ms`);
5940				}
5941			},
5942			recreateShadows: () => {
5943				const t = e.isHorizontal();
5944				e.slides.forEach((e) => {
5945					const i = Math.max(Math.min(e.progress ?? 0, 1), -1);
5946					s(e, i, t);
5947				});
5948			},
5949			getEffectParams: () => e.params.cubeEffect,
5950			perspective: () => !0,
5951			overwriteParams: () => ({
5952				slidesPerView: 1,
5953				slidesPerGroup: 1,
5954				watchSlidesProgress: !0,
5955				resistanceRatio: 0,
5956				spaceBetween: 0,
5957				centeredSlides: !1,
5958				virtualTranslate: !0
5959			})
5960		});
5961	};
5962	function mt(e, t, i) {
5963		const s = `swiper-slide-shadow${i ? `-${i}` : ""}${e ? ` swiper-slide-shadow-${e}` : ""}`, n = ee(t), o = `.${s.split(" ").join(".")}`, a = n.querySelector(o);
5964		if (a) return a;
5965		const r = se("div", s.split(" "));
5966		return n.append(r), r;
5967	}
5968	const ft = ({ swiper: e, extendParams: t, on: i }) => {
5969		t({ coverflowEffect: {
5970			rotate: 50,
5971			stretch: 0,
5972			depth: 100,
5973			scale: 1,
5974			modifier: 1,
5975			slideShadows: !0
5976		} });
5977		dt({
5978			effect: "coverflow",
5979			swiper: e,
5980			on: i,
5981			setTranslate: () => {
5982				const { width: t, height: i, slides: s, slidesSizesGrid: n } = e, o = e.params.coverflowEffect, a = e.isHorizontal(), r = e.translate, l = a ? t / 2 - r : i / 2 - r, d = a ? o.rotate : -o.rotate, c = o.depth, p = de(e);
5983				for (let e = 0, t = s.length; e < t; e += 1) {
5984					const t = s[e], i = n[e], r = (l - (t.swiperSlideOffset ?? 0) - i / 2) / i, u = "function" == typeof o.modifier ? o.modifier(r) : r * o.modifier;
5985					let h = a ? d * u : 0, m = a ? 0 : d * u, f = -c * Math.abs(u), g = "string" == typeof o.stretch && -1 !== o.stretch.indexOf("%") ? parseFloat(o.stretch) / 100 * i : o.stretch, w = a ? 0 : g * u, v = a ? g * u : 0, y = 1 - (1 - o.scale) * Math.abs(u);
5986					Math.abs(v) < .001 && (v = 0), Math.abs(w) < .001 && (w = 0), Math.abs(f) < .001 && (f = 0), Math.abs(h) < .001 && (h = 0), Math.abs(m) < .001 && (m = 0), Math.abs(y) < .001 && (y = 0);
5987					const b = `translate3d(${v}px,${w}px,${f}px)  rotateX(${p(m)}deg) rotateY(${p(h)}deg) scale(${y})`;
5988					if (ct(0, t).style.transform = b, t.style.zIndex = String(1 - Math.abs(Math.round(u))), o.slideShadows) {
5989						let e = a ? t.querySelector(".swiper-slide-shadow-left") : t.querySelector(".swiper-slide-shadow-top"), i = a ? t.querySelector(".swiper-slide-shadow-right") : t.querySelector(".swiper-slide-shadow-bottom");
5990						e || (e = mt("coverflow", t, a ? "left" : "top")), i || (i = mt("coverflow", t, a ? "right" : "bottom")), e && (e.style.opacity = String(u > 0 ? u : 0)), i && (i.style.opacity = String(-u > 0 ? -u : 0));
5991					}
5992				}
5993			},
5994			setTransition: (t) => {
5995				e.slides.map((e) =>
5995 ee(e)).forEach((e) => {
5996					e.style.transitionDuration = `${t}ms`, e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach((e) => {
5997						e.style.transitionDuration = `${t}ms`;
5998					});
5999				});
6000			},
6001			perspective: () => !0,
6002			overwriteParams: () => ({ watchSlidesProgress: !0 })
6003		});
6004	}, gt = ({ swiper: e, extendParams: t, on: i }) => {
6005		function s() {
6006			return e.params.cardsEffect;
6007		}
6008		t({ cardsEffect: {
6009			slideShadows: !0,
6010			rotate: !0,
6011			perSlideRotate: 2,
6012			perSlideOffset: 8
6013		} });
6014		dt({
6015			effect: "cards",
6016			swiper: e,
6017			on: i,
6018			setTranslate: () => {
6019				const { slides: t, activeIndex: i, rtlTranslate: n } = e, o = s(), { startTranslate: a, isTouched: r } = e.touchEventsData, l = n ? -e.translate : e.translate;
6020				for (let s = 0; s < t.length; s += 1) {
6021					const d = t[s], c = d.progress ?? 0, p = Math.min(Math.max(c, -4), 4);
6022					let u = d.swiperSlideOffset ?? 0;
6023					e.params.centeredSlides && !e.params.cssMode && (e.wrapperEl.style.transform = `translateX(${e.minTranslate()}px)`), e.params.centeredSlides && e.params.cssMode && (u -= t[0].swiperSlideOffset ?? 0);
6024					let h = e.params.cssMode ? -u - e.translate : -u, m = 0;
6025					const f = -100 * Math.abs(p);
6026					let g = 1, w = -o.perSlideRotate * p, v = o.perSlideOffset - .75 * Math.abs(p);
6027					const y = e.virtual && e.params.virtual?.enabled ? e.virtual.from + s : s, b = (y === i || y === i - 1) && p > 0 && p < 1 && (r || e.params.cssMode) && (l ?? 0) < (a ?? 0), x = (y === i || y === i + 1) && p < 0 && p > -1 && (r || e.params.cssMode) && (l ?? 0) > (a ?? 0);
6028					if (b || x) {
6029						const t = (1 - Math.abs((Math.abs(p) - .5) / .5)) ** .5;
6030						w += -28 * p * t, g += -.5 * t, v += 96 * t, m = (o.rotate || e.isHorizontal() ? -25 : 0) * t * Math.abs(p) + "%";
6031					}
6032					if (h = p < 0 ? `calc(${h}px ${n ? "-" : "+"} (${v * Math.abs(p)}%))` : p > 0 ? `calc(${h}px ${n ? "-" : "+"} (-${v * Math.abs(p)}%))` : `${h}px`, !e.isHorizontal()) {
6033						const e = m;
6034						m = h, h = e;
6035					}
6036					const T = p < 0 ? "" + (1 + (1 - g) * p) : "" + (1 - (1 - g) * p), C = `\n        translate3d(${h}, ${m}, ${f}px)\n        rotateZ(${o.rotate ? n ? -w : w : 0}deg)\n        scale(${T})\n      `;
6037					if (o.slideShadows) {
6038						let e = d.querySelector(".swiper-slide-shadow");
6039						e || (e = mt("cards", d)), e && (e.style.opacity = String(Math.min(Math.max((Math.abs(p) - .5) / .5, 0), 1)));
6040					}
6041					d.style.zIndex = String(-Math.abs(Math.round(c)) + t.length);
6042					ct(0, d).style.transform = C;
6043				}
6044			},
6045			setTransition: (t) => {
6046				const i = e.slides.map((e) => ee(e));
6047				i.forEach((e) => {
6048					e.style.transitionDuration = `${t}ms`, e.querySelectorAll(".swiper-slide-shadow").forEach((e) => {
6049						e.style.transitionDuration = `${t}ms`;
6050					});
6051				}), pt({
6052					swiper: e,
6053					duration: t,
6054					transformElements: i
6055				});
6056			},
6057			perspective: () => !0,
6058			overwriteParams: () => ({
6059				_loopSwapReset: !1,
6060				watchSlidesProgress: !0,
6061				loopAdditionalSlides: s().rotate ? 3 : 2,
6062				centeredSlides: !0,
6063				virtualTranslate: !e.params.cssMode
6064			})
6065		});
6066	};
6067	if ({
6068		init() {
6069			const e = this;
6070			jQuery(document.body).on("swiper", (t, i) => {
6071				let s = Object.assign({
6072					on: {},
6073					loop: !0,
6074					effect: "slide",
6075					autoplay: {
6076						delay: _wpcom_js.slide_speed ? +_wpcom_js.slide_speed : 5e3,
6077						pauseOnMouseEnter: !0
6078					}
6079				}, i.args), n = [et, lt];
6080				s.pagination && n.push(Je), s.navigation && (s.navigation.addIcons = !1, n.push(Ye)), "fade" === s.effect && n.push(ut), "cube" === s.effect && n.push(ht), "coverflow" === s.effect && n.push(ft), "cards" === s.effect && n.push(gt), s.grid && n.push(it), s.thumbs && n.push(tt), s.modules = n, i.args.on && i.args.on.init || (s.on.init = e.onInit), s.on.slidesLengthChange = e.checkSize;
6081				let o = new Fe(i.el, s);
6082				i.args._callback && i.args._callback(o);
6083			});
6084		},
6085		checkSize(e) {
6086			if (e.slides.length < 2) e.params.autoplay = !1, e.params.touchRatio = 0, e.autoplay.stop();
6087			else {
6088				function t(e, t) {
6089					if (e.params.slidesPerView && e.slides.length <= e.params.slidesPerView) {
6090						let i = [];
6091						e.slides.map((e) => {
6092							i.push(e.outerHTML);
6093						}), e.appendSlide(i), t && t();
6094					}
6095				}
6096				t(e, () => t(e));
6097			}
6098		},
6099		onInit(e) {
6100			e.el.__swiper = e;
6101			let t = jQuery(e.el);
6102			e.params.navigation || t.on("click", ".swiper-button-next", function() {
6103				e.slideNext();
6104			}).on("click", ".swiper-button-prev", function() {
6105				e.slidePrev();
6106			}), t.find(".j-lazy").lazyload({ webp: void 0 !== _wpcom_js.webp && _wpcom_js.webp ? _wpcom_js.webp : null }), t.find("img").on("load", () => {
6107				e.update();
6108			}), setTimeout(function() {
6109				e.params.autoHeight && e.updateAutoHeight(200);
6110			}, 500);
6111		}
6112	}.init(), {
6113		player_js: null,
6114		hls_js: null,
6115		init() {
6116			jQuery(document.body).on("player", async (e, t) => {
6117				let i = Object.assign({
6118					theme: "var(--theme-color)",
6119					playbackRate: !0,
6120					aspectRatio: !0,
6121					setting: !0,
6122					pip: !0,
6123					fullscreen: !0,
6124					flip: !0,
6125					autoPlayback: !0
6126				}, t.args ? t.args : {});
6127				try {
6128					await this.load_js("player"), Artplayer.CONTROL_HIDE_TIME = 1500, Artplayer.CONTEXTMENU = !1;
6129					let e = jQuery(t.el), s = t.args && t.args.url ? t.args.url : e.attr("src");
6130					s = s || e.find("source").attr("src"), [
6131						"poster",
6132						"autoplay",
6133						"loop",
6134						"muted"
6135					].forEach((s) => {
6136						t.args && null != t.args[s] || (i[s] = e.prop(s));
6137					});
6138					let n = e.parent().get(0);
6139					if (n && "DIV" !== n.tagName) {
6140						let t = document.createElement("div");
6141						t.className = n.className, t.innerHTML = e.prop("outerHTML"), e.parent().replaceWith(t), n = t;
6142					}
6143					let o = Object.assign(i, {
6144						container: n,
6145						url: s
6146					});
6147					s.search(/(\.m3u8|m3u8\?)/i) > -1 && (await this.load_js("hls"), o.type = "m3u8", o.customType = { m3u8: this.playM3u8 });
6148					let a = new Artplayer(o);
6149					t.callback && t.callback(a), a.on("fullscreen", (e) => {
6150						a.video.style.objectFit = e ? "contain" : "cover";
6151					});
6152				} catch (e) {
6153					console.error("Error loading player script:", e);
6154				}
6155			});
6156		},
6157		load_js(e = "player") {
6158			if ("player" === e && this.player_js) return this.player_js;
6159			if ("hls" === e && this.hls_js) return this.hls_js;
6160			let t = void 0 !== _wpcom_js.framework_url ? _wpcom_js.framework_url : _wpcom_js.theme_url + "/themer", i = "player" === e ? t + "/assets/js/artplayer-5.4.0.min.js" : t + "/assets/js/hls-1.6.16.min.js", s = new Promise((t, s) => {
6161				let n = document.createElement("script");
6162				n.src = i, n.async = !0, n.onload = t, n.onerror = () => {
6163					"player" === e ? this.player_js = null : this.hls_js = null, n.remove(), s(/* @__PURE__ */ new Error("Failed to load script: " + i));
6164				}, document.head.appendChild(n);
6165			});
6166			return "player" === e ? this.player_js = s : this.hls_js = s, s;
6167		},
6168		playM3u8(e, t, i) {
6169			if (Hls.isSupported()) {
6170				i.hls && i.hls.destroy();
6171				const s = new Hls();
6172				s.loadSource(t), s.attachMedia(e), i.hls = s, i.on("destroy", () => s.destroy());
6173			} else e.canPlayType("application/vnd.apple.mpegurl") ? e.src = t : i.notice.show = "Unsupported playback format: m3u8";
6174		}
6175	}.init(), "undefined" != typeof document && "function" == typeof document.startViewTransition) {
6176		const e = document.startViewTransition.bind(document);
6177		document.startViewTransition = function(t) {
6178			let i;
6179			document.documentElement.classList.add("sp-vt-suppress");
6180			try {
6181				i = e(t);
6182			} catch (e) {
6183				throw document.documentElement.classList.remove("sp-vt-suppress"), e;
6184			}
6185			const s = () => document.documentElement.classList.remove("sp-vt-suppress");
6186			return i && i.finished ? i.finished.then(s, s) : s(), i;
6187		};
6188	}
6189	jQuery(function(e) {
6190		const t = e(window), i = e(document.body), s = navigator.userAgent.toLowerCase();
6191		let n = 1, o = [], a = void 0 !== _wpcom_js.webp && _wpcom_js.webp ? _wpcom_js.webp : null;
6192		(e(".wpcom-user-list").length || e(".wpcom-member").length) && (n = 0), e("[data-toggle=\"tooltip\"]").tooltip(), L(), e.fn.loading || e.fn.extend({ loading: function(t) {
6193			let i = e(this);
6194			t ? i.addClass("loading").prepend("<i class=\"wpcom-icon wi wi-loader\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-loader\"></use></svg></i>") : i.removeClass("loading").find(".wi-loader").remove();
6195		} }), e("#wpcom-video").length && i.trigger("player", [{
6196			el: "#wpcom-video",
6197			callback(e) {
6198				e.on("view", (t) => {
6199					e.mini = !t && e.playing && !e.pip;
6200				});
6201			}
6202		}]);
6203		let r = e(".j-wpcom-video, .wp-block-video video, .wp-block-wpcom-video-code video, .wp-video video");
6204		if (r.length) for (let e = 0; e < r.length; e++) i.trigger("player", [{ el: r[e] }]);
6205		let l = e(".modules-video-player");
6206		if (l.length) for (let e = 0; e < l.length; e++) d(l[e]);
6207		function d(e) {
6208			if (!e) return;
6209			const t = e.parentElement;
6210			i.trigger("player", [{
6211				el: e,
6212				args: {
6213					autoPlayback: !1,
6214					icons: { state: "<i class=\"wpcom-icon wi\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-play\"></use></svg></i>" }
6215				},
6216				callback(e) {
6217					t.__player = e, e.on("ready", () => {
6218						e.controls.show = !1;
6219					}), jQuery(e.template.$player).on("mouseenter", () => {
6220						e.controls.show = !0;
6221					}).on("mouseleave", function() {
6222						e.controls.show = !1;
6223					});
6224				}
6225			}]);
6226		}
6227		W.init(), e(".entry-content-slider").each((e, t) => {
6228			let s = {
6229				autoHeight: !0,
6230				pagination: {
6231					el: t.querySelector(".swiper-pagination"),
6232					clickable: !0
6233				}
6234			};
6235			i.trigger("swiper", {
6236				el: t,
6237				args: s
6238			});
6239		});
6240		let c, p = 0, u = 0;
6241		function h() {
6242			let e = window.innerWidth;
6243			if (!e) {
6244				let t = document.documentElement.getBoundingClientRect();
6245				e = t.right - Math.abs(t.left);
6246			}
6247			c = document.body.clientWidth < e, u = function() {
6248				let e = document.createElement("div");
6249				e.className = "modal-scrollbar-measure", i.append(e);
6250				let t = e.offsetWidth - e.clientWidth;
6251				return document.body.removeChild(e), t;
6252			}();
6253		}
6254		if (e(document).on("smartphoto", function(t, s) {
6255			const n = {};
6256			s.each(function() {
6257				const t = e(this).attr("data-group") || "nogroup", i = n[t] || 0;
6258				e(this).attr("data-id", i), n[t] = i + 1;
6259			});
6260			const o = new H(s, { nav: !1 });
6261			o.on("open", function() {
6262				(function() {
6263					let e = parseInt(i.css("padding-right") || 0, 10);
6264					p = document.body.style.paddingRight || 0, c && i.css("--scrollbar-width", e + u + "px");
6265				})(), i.addClass("modal-open");
6266			}), o.on("close", function() {
6267				i.removeClass("modal-open"), i.css("--scrollbar-width", p + "px"), h();
6268			}), s.off("update").on("update", function(e, t) {
6269				if (t && o.state && o.state.groups) {
6270					const e = o.state.groups.get(t.group);
6271					e && e[t.index] && (e[t.index].src = t.src, e[t.index].thumb = t.src);
6272				}
6273			});
6274		}).off("copy_text").on("copy_text", function(e, t, i, s) {
6275			if (navigator.clipboard) navigator.clipboard.writeText(t).then(() => {
6276				i && i();
6277			}, () => {
6278				console.error("Failed to copy"), s && s();
6279			});
6280			else if (void 0 !== document.execCommand) {
6281				const e = document.createElement("textarea");
6282				document.body.appendChild(e), e.style.position = "fixed", e.style.height = 0, e.value = t, e.select(), document.execCommand("copy", !0), document.body.removeChild(e), i && i();
6283			} else s && s();
6284		}).on("init_share", function() {
6285			F.init();
6286		}).on("init_lazyload", function(e, t) {
6287			t.length && t.lazyload({ webp: a });
6288		}
6288), "baiduboxapp" == s.match(/baiduboxapp/i)) e(document).on("click", "a.j-wpcom-lightbox", function(t) {
6289			t.preventDefault();
6290			let i = "baiduboxapp://v19/utils/previewImage?params=" + encodeURIComponent(JSON.stringify({
6291				urls: o,
6292				current: e(this).attr("href")
6293			})), s = document.createElement("iframe");
6294			s.style.display = "none", s.src = i;
6295			const n = document.body;
6296			n.appendChild(s), setTimeout(function() {
6297				n.removeChild(s), s = null;
6298			}, 0);
6299		});
6300		else {
6301			h();
6302			let t = e(".entry-content .j-wpcom-lightbox, .modules-gutenberg .j-wpcom-lightbox");
6303			t.length && (t.find("noscript").remove(), e(document).trigger("smartphoto", [t]));
6304		}
6305		if (window.location.hash && P(window.location.hash), e(document).trigger("init_lazyload", [e(".j-lazy")]), e("a[href^=\"http\"]").not("a[href*=\"" + location.hostname + "\"]").each(function(t, i) {
6306			let s = e(i), n = s.attr("rel");
6307			n && !/noopener/i.test(n) ? n += " noopener" : n = n || "noopener", s.attr("rel", n);
6308		}), /(iPhone|iPad|iPod|iOS|Android|Mobile|HarmonyOS)/i.test(s) && (e("body").addClass("is-mobile"), e(".modules-fullwidth > .module-bg-video").remove()), I(), e(".entry-content.text-indent > p > img, .entry-content.text-indent > p > .j-wpcom-lightbox, .entry-content.text-indent .q-entry > p > img, .entry-content.text-indent .q-entry > p > .j-wpcom-lightbox").each(function() {
6309			let t = e(this).parent(), i = t.children(), s = 0;
6310			(1 === i.length && "" === e.trim(t.prop("outerText")) || 2 === i.length && "NOSCRIPT" === i.eq(0).prop("tagName") && "" === e.trim(t.prop("outerText"))) && (s = 1), s && t.css("text-indent", 0);
6311		}), "undefined" != typeof _wpcom_js && void 0 !== _wpcom_js.top_news) {
6312			let t = parseInt(localStorage.getItem("hideTopNews"));
6313			if (!t || isNaN(t) || t < Date.now()) {
6314				const t = _wpcom_js.top_news, s = e("<div>").addClass(t.classes).attr("style", t.background), n = e("<div>").addClass("top-news-content container"), o = e("<div>").addClass("content-text").html(t.content), a = e("<i>").addClass("wpcom-icon wi top-news-close").html("<svg aria-hidden=\"true\"><use xlink:href=\"#wi-close\"></use></svg>");
6315				n.append(o, a), s.append(n), i.addClass("has-top-news");
6316				const r = e("header.header");
6317				r.length && (r.before(s), requestAnimationFrame(() => {
6318					s.slideDown(300);
6319				}), e(".wpcom-member .btn-home").css("top", 90)), a.on("click", function() {
6320					s.slideUp(300, function() {
6321						e(this).remove(), i.removeClass("has-top-news"), e(".wpcom-member .btn-home").css("top", 30);
6322					}), localStorage.setItem("hideTopNews", Date.now() + 864e5);
6323				});
6324			}
6325		}
6326		function m(t, i) {
6327			let s = "<div class=\"wpcom-modal fade\" id=\"footer-bar\">\n            <div class=\"modal-dialog modal-sm\">\n                <div class=\"modal-content\">\n                    <div class=\"modal-header\">\n                        <div class=\"wpcom-close\" data-wpcom-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\"><i class=\"wpcom-icon wi\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-close\"></use></svg></i></span></div><h4 class=\"modal-title\">" + (i || "") + "</h4>\n                    </div>\n                    <div class=\"modal-body\">\n" + t + "                    </div>\n                </div>\n            </div>\n        </div>";
6328			0 === e("#footer-bar").length ? e("body").append(s) : e("#footer-bar").replaceWith(s), e("#footer-bar")._modal();
6329		}
6330		function f(e) {
6331			const t = e, i = t.closest(".modules-search").find("input[name=\"cat\"]");
6332			let s = t.find("option:selected").data("cat");
6333			"post" === t.val() && s ? i.length ? i.val(s) : t.after("<input type=\"hidden\" name=\"cat\" value=\"" + s + "\">") : i.length && i.remove();
6334		}
6335		e(".multi-filter .multi-filter-item").each(function(t, i) {
6336			let s = e(i);
6337			s.find(".multi-filter-ul").outerHeight() > 80 && s.addClass("has-more");
6338		}).on("click", ".multi-filter-more", function() {
6339			e(this).closest(".multi-filter-item").toggleClass("open");
6340		}), e(document).on("click", "a[href^=\"#\"]", function(t) {
6341			let i = e(this), s = i.attr("role");
6342			"tab" != s && "button" != s && (this.hash && -1 !== this.hash.indexOf("vip.") || (t.preventDefault(), i.hasClass("ez-toc-link") && this.hash && "undefined" != typeof ezTOC && ezTOC.scroll_offset ? P(this.hash, ezTOC.scroll_offset) : this.hash && P(this.hash)));
6343		}).on("click", ".j-footer-bar-qrcode,.j-footer-bar-text", function(t) {
6344			t.preventDefault();
6345			const i = e(this);
6346			let s = i.find("> span").text(), n = "";
6347			return n = i.hasClass("j-footer-bar-qrcode") ? "<img src=\"" + i.attr("href") + "\">" : i.find("script").html(), m(n, s || _wpcom_js.js_lang.qrcode), !1;
6348		}).on("click", ".j-footer-bar-copy", function(t) {
6349			const i = e(this);
6350			let s = i.find("script.j-copy-text").text(), n = i.find("script.j-copy-callback").html();
6351			e(document).trigger("copy_text", [
6352				s,
6353				() => {
6354					n && "" !== n.trim() ? (n = "<div class=\"copy-callback-success\">" + _wpcom_js.js_lang.copy_done + "</div>" + n, m(n, i.find("> span").text())) : wpcom_notice({
6355						message: _wpcom_js.js_lang.copy_done,
6356						show: 1500
6357					});
6358				},
6359				() => {
6360					let e = _wpcom_js.js_lang.copy_fail;
6361					e += "<br />" + s, wpcom_alert(e);
6362				}
6363			]);
6364		}).on("shown.bs.collapse", ".wp-block-wpcom-accordion", function() {
6365			e(this).find(".panel-collapse.in").closest(".panel").find(".panel-title a").attr("aria-expanded", "true");
6366		}).on("change", ".modules-search select[name=post_type]", function() {
6367			f(e(this));
6368		}).on("click", ".modules-search .modules-search-type-item", function() {
6369			let t = e(this), i = t.closest(".modules-search");
6370			if (t.hasClass("active")) return !1;
6371			i.find(".modules-search-type-item").removeClass("active"), t.addClass("active"), t.data("search-url") ? (i.find("form.modules-search-from").data("search-url", t.data("search-url")), i.find(".modules-search-post").hide()) : (i.find("form.modules-search-from").data("search-url", ""), i.find(".modules-search-post").show());
6372		}).on("submit", ".modules-search form.modules-search-from", function() {
6373			let t = e(this), i = t.data("search-url");
6374			if (i) {
6375				let e = t.find("input[name=s]").val();
6376				return i = i.replace("%KEYWORDS%", e), "_blank" === t.attr("target") ? window.open(i, "_blank") : window.location.href = i, !1;
6377			}
6378		}).on("click", ".tabs-switch-click > .tabs-switch-item", function() {
6379			let t = e(this);
6380			if (t.hasClass("active")) return !1;
6381			let i = t.index();
6382			t.parent().find(".tabs-switch-item").removeClass("active"), t.addClass("active"), t.closest(".modules-tabs").find(" > .tabs-content > .tabs-content-item").removeClass("active").eq(i).addClass("active"), t[0].scrollIntoView && t[0].scrollIntoView({
6383				behavior: "smooth",
6384				inline: "center",
6385				block: "nearest"
6386			});
6387		}).on("mouseenter", ".tabs-switch-hover > .tabs-switch-item", function() {
6388			let t = e(this);
6389			if (t.hasClass("active")) return !1;
6390			let i = t.index();
6391			t.parent().find(".tabs-switch-item").removeClass("active"), t.addClass("active"), t.closest(".modules-tabs").find(" > .tabs-content > .tabs-content-item").removeClass("active").eq(i).addClass("active"), t[0].scrollIntoView && t[0].scrollIntoView({
6392				behavior: "smooth",
6393				inline: "center",
6394				block: "nearest"
6395			});
6396		}), e(".modules-search select[name=post_type]").each(function() {
6397			f(e(this));
6398		}), e(".modules-search .modules-search-type").each(function() {
6399			e(this).find(".modules-search-type-item").eq(0).trigger("click");
6400		}), e(".wp-block-wpcom-accordion").collapse("show"), window.location.base = 0, e(".wpcom-modal.modal-video").on("shown.wpcom.modal", function(t) {
6401			let s = e(this).closest(".modules-video").find(".video-wrap");
6402			e(".modal-body", this).html(s.find(".video-code").html());
6403			let n = e(this).find(".j-wpcom-video");
6404			n.length && i.trigger("player", [{ el: n }]);
6405		}).on("hidden.wpcom.modal", function(t) {
6406			e(".modal-body", this).html("");
6407		});
6408		const g = new MutationObserver(function(t) {
6409			t.forEach(function(t) {
6410				Array.prototype.slice.call(t.addedNodes).forEach(function(t) {
6411					!t.className || "widget_shopping_cart_content" !== t.className && "woocommerce-cart-form" !== t.className || e(document).trigger("init_lazyload", [e(t).find(".j-lazy")]);
6412				});
6413			});
6414		});
6415		let w, v = {
6416			childList: !0,
6417			subtree: !0,
6418			attributes: !1,
6419			characterData: !1
6420		}, y = document.querySelector(".shopping-cart"), b = document.querySelector(".woocommerce-cart-form-wrap"), x = document.querySelector(".widget_shopping_cart");
6421		y && g.observe(y, v), b && g.observe(b, v), x && g.observe(x, v);
6422		const T = new MutationObserver(function(e) {
6423			e.forEach(function(e) {
6424				("attributes" === e.type && "UL" !== e.target.nodeName && "id" !== e.attributeName || "childList" === e.type) && (clearTimeout(w), w = setTimeout(() => M(), 50));
6425			});
6426		});
6427		let C, E = document.querySelector("header.header");
6428		E && T.observe(E, {
6429			childList: !0,
6430			subtree: !0,
6431			attributes: !0,
6432			characterData: !1
6433		}), e(document).on("reset_adv_menu", "header.header", function() {
6434			M();
6435		}).on("wpcom.map", function() {
6436			I();
6437		}).on("wpcom.lightbox", function(t, i) {
6438			if (L(), i && "baiduboxapp" !== s.match(/baiduboxapp/i)) {
6439				let t = i.find(".j-wpcom-lightbox");
6440				t.length && (t.find("noscript").remove(), e(document).trigger("smartphoto", [t]));
6441			}
6442		}).on("change", ".woocommerce input.qty", function() {
6443			void 0 !== C && clearTimeout(C), C = setTimeout(function() {
6444				e("[name='update_cart']").trigger("click");
6445			}, 600);
6446		}), i.on("click", ".navbar-toggle", function() {
6447			i.hasClass("navbar-on") ? i.removeClass("navbar-on navbar-ing") : (i.addClass("navbar-on navbar-ing"), setTimeout(function() {
6448				i.removeClass("navbar-ing");
6449			}, 500)), 0 == e(".navbar-on-shadow").length && e("#wrap").append("<div class=\"navbar-on-shadow\"></div>");
6450		}).on("click", ".m-dropdown", function() {
6451			const t = e(this).parent();
6452			return t.find("> .dropdown-menu").slideToggle("fast"), t.toggleClass("dropdown-open"), !1;
6453		}).on("click", ".top-news-close", function() {}).on("click", ".action .j-top", function() {
6454			e("html, body").animate({ scrollTop: 0 }, "slow");
6455		}).on("module.destroy.default-slider", function(e, t) {
6456			t && t.length && t.forEach((e) => {
6457				let t = document.querySelector(`#modules-${e} .swiper-el`), i = document.querySelector(`#modules-${e} .swiper-thumbs`);
6458				t && t.__swiper && t.__swiper.destroy(), i && i.__swiper && i.__swiper.destroy();
6459			});
6460		}).on("module.render.video", function(e, t) {
6461			t && t.length && t.forEach((e) => {
6462				let t = document.querySelector(`#modules-${e} > .video-wrap .modules-video-player`);
6463				t && d(t);
6464			});
6465		}).on("module.destroy.video", function(e, t) {
6466			t && t.length && t.forEach((e) => {
6467				let t = document.querySelector(`#modules-${e} .video-inline-player`);
6468				t && t.__player && t.__player.destroy();
6469			});
6470		}), e("#wrap").on("click", ".navbar-on-shadow", function() {
6471			i.hasClass("navbar-ing") || e(".navbar-toggle").trigger("click");
6472		}), i.off("click.quantity").on("click.quantity", ".woocommerce .qty-down, .woocommerce .qty-up, .entry-summary .qty-down, .entry-summary .qty-up", function() {
6473			let t = e(this).hasClass("qty-down") ? 0 : 1;
6474			console.log("click.quantity", t);
6475			let i = e(this).parent().find(".qty"), s = parseInt(i.val()), n = t ? 1 + s : s - 1;
6476			n = i.attr("min") && n < i.attr("min") ? i.attr("min") : n, n = i.attr("max") && n > i.attr("max") ? i.attr("max") : n, s != n && i.val(n).trigger("change");
6477		}).off("blur.quantity").on("blur.quantity", ".woocommerce .qty, .entry-summary .qty", function() {
6478			var t = e(this), i = t.val();
6479			i = t.attr("min") && i < t.attr("min") ? t.attr("min") : i, i = t.attr("max") && i > t.attr("max") ? t.attr("max") : i, t.val(i);
6480		});
6481		let S, _, k = e(".j-top"), j = e(".action");
6482		function P(t, i) {
6483			let s = 0;
6484			if (t && /^#[A-Za-z_][\w:.-]*$/.test(t) && -1 === t.indexOf("group=")) {
6485				let i = null;
6486				try {
6487					i = e(t);
6488				} catch (e) {
6489					i = null;
6490				}
6491				s = i && i.length ? i.offset().top : 0;
6492			}
6493			(i = i || 10) && (s -= i);
6494			let n = e("header.header");
6495			if (n.length) {
6496				let e = getComputedStyle(n[0]);
6497				e && e.position && "fixed" === e.position && (s -= n.outerHeight());
6498			}
6499			s = e("#wpadminbar").length ? s - e("#wpadminbar").outerHeight() : s, s = e(".top-news").length ? s - e(".top-news").outerHeight() : s, s = s < 0 ? 0 : s, e("html, body").animate({ scrollTop: s }, 400);
6500		}
6501		function M() {
6502			const t = /(iPhone|iPad|iPod|iOS|Android|Mobile|HarmonyOS)/i.test(s);
6503			e(".wpcom-adv-menu").each(function(i, s) {
6504				const n = e(s);
6505				let o = e("body").width(), a = n.closest(".container").width();
6506				a = a || o - 64;
6507				let r = e("#wrap > .container").width(), l = e("footer.footer > .container").width();
6508				r = !r || l && l < r ? l : r, r = r && r < a ? r : a, n.css({ "--menu-margin-left": (o - r) / 2 + "px" }), n.find(" > .menu-item-style").each(function(i, s) {
6509					let r = e(s), l = r.find(" > .menu-item-wrap");
6510					if (r.hasClass("menu-item-style-5") || r.hasClass("menu-item-style-3") || l.hasClass("menu-item-col-4") || l.hasClass("menu-item-col-5")) {
6511						let i = r.offset().left;
6512						if (l.css({
6513							left: -i,
6514							width: o
6515						}), !t && r.hasClass("menu-item-style-5") && 0 === r.find(".dropdown-menu-tab").length) {
6516							const t = r.find(" > .dropdown-menu");
6517							let i = "", s = "";
6518							t.find(" > ul > li").each(function(t) {
6519								const n = e(this), o = n.find("> .dropdown-menu").html() || "", a = n.find("> a").html();
6520								i += `<div class="menu-tab-item ${0 === t ? "active" : ""}">${a}</div>`, s += `<ul class="dropdown-menu ${0 === t ? "active" : ""}">${o}</ul>`;
6521							});
6522							let n = `<div class="dropdown-menu-tab">${i}</div><div class="dropdown-menu-wrap">${s}</div>`;
6523							t.html(n), e(document).trigger("init_lazyload", [t.find(".j-lazy")]), r.find(".menu-tab-item").on("mouseenter", function() {
6524								const t = e(this).index();
6525								e(this).addClass("active").siblings().removeClass("active"), r.find(".dropdown-menu-wrap > .dropdown-menu").removeClass("active").eq(t).addClass("active");
6526							});
6527						} else if (t && r.hasClass("menu-item-style-5") && r.find(" > div.dropdown-menu").length) {
6528							const t = r.find(" > div.dropdown-menu");
6529							let i = t.html();
6530							t.replaceWith(i), e(document).trigger("init_lazyload", [t.find(".j-lazy")]);
6531						}
6532					} else {
6533						let e = r.position().left, t = l.outerWidth(), i = n.offset().left - (o - a) / 2, s = "";
6534						e + t > a - i && (s = -(r.offset().left + t - a - (o - a) / 2)), s && l.css("--dropdown-menu-left", s + "px");
6535					}
6536				}), setTimeout(() => n.addClass("menu-ready"), 100);
6537			});
6538		}
6539		function I() {
6540			e(".j-map").each(function(t, i) {
6541				let s = e(i).find("script").html(), n = JSON.parse(s);
6542				void 0 === window.wpcom_maps && (window.wpcom_maps = []), window.wpcom_maps.push(n);
6543			}), void 0 !== window.wpcom_maps && window.wpcom_maps.length && function() {
6544				let t = "暂未设置地图接口,如果您是网站管理员,请前往【主题设置>常规设置>地图接口】进行设置", i = [], s = [];
6545				for (var n in window.wpcom_maps) 1 == window.wpcom_maps[n].type ? s.push(window.wpcom_maps[n]) : i.push(window.wpcom_maps[n]);
6546				i.length && "1" === _wpcom_js.is_admin && wpcom_alert("温馨提示:由于百度地图商用需要授权,经考虑目前已将百度地图功能下线,建议您将页面涉及到百度地图展示相关的模块进行删除或者调整。(仅管理员可见)");
6547				if (s.length && !s[0].key) wpcom_alert(t);
6548				else if (s.length) {
6549					let t = "//maps.googleapis.com/maps/api/js?key=" + s[0].key, i = document.createElement("script");
6550					i.src = t, i.async = !0, i.onload = function() {
6551						let t = [], i = [], n = [];
6552						for (let o = 0; o < s.length; o++) (function(o) {
6553							let a = s[o], r = {
6554								zoom: 15,
6555								center: {
6556									lat: Number(e.trim(a.pos[0])),
6557									lng: Number(e.trim(a.pos[1]))
6558								},
6559								scrollwheel: !!a.scrollWheelZoom,
6560								styles: [
6561									{
6562										elementType: "geometry",
6563										stylers: [{ lightness: 45 }, { saturation: -25 }]
6564									},
6565									{
6566										featureType: "poi",
6567										stylers: [{ visibility: "off" }]
6568									},
6569									{
6570										featureType: "transit",
6571										stylers: [{ visibility: "off" }]
6572									}
6573								],
6574								disableDefaultUI: !0
6575							};
6576							t[o] = new google.maps.Map(document.getElementById(a.id), r);
6577							let l = {
6578								position: r.center,
6579								map: t[o]
6580							};
6581							a.icon && (l.icon = {
6582								url: a.icon,
6583								size: new google.maps.Size(27, 27),
6584								scaledSize: new google.maps.Size(27, 27)
6585							}), i[o] = new google.maps.Marker(l), a.html && (n[o] = new google.maps.InfoWindow({
6586								content: a.html,
6587								maxWidth: 500
6588							}), n[o].open(t[o], i[o]), i[o].addListener("click", function() {
6589								n[o].open(t[o], i[o]);
6590							}));
6591						})(o);
6592					}, i.onerror = function() {
6593						console.error("Failed to load Google Maps API: " + t);
6594					}, document.head.appendChild(i);
6595				}
6596			}();
6597		}
6598		function L() {
6599			n && void 0 !== _wpcom_js.lightbox && 1 == _wpcom_js.lightbox && e(".entry-content img").each(function(t, i) {
6600				let n = e(i);
6601				if (!n.hasClass("no-lightbox")) {
6602					let e = n.parent(), t = n.data("original");
6603					if (t = t || n.attr("src"), t && t.match(/^\/\//) && (t = window.location.protocol + t), "a" === e.prop("tagName").toLowerCase()) {
6604						let i = e.attr("href");
6605						!e.hasClass("j-wpcom-lightbox") && (i == t || i && i.match(/.*(\.png|\.jpg|\.jpeg|\.gif|\.webp|\.bmp)$/i)) && (e.addClass("j-wpcom-lightbox"), e.attr("data-group", "0"), (s.match(/MicroMessenger/i) || s.match(/baiduboxapp/i)) && o.push(t));
6606					} else n.hasClass("wp-smiley") || n.closest("a").length || (n.replaceWith("<a class=\"j-wpcom-lightbox\" href=\"" + t + "\" data-group=\"0\">" + i.outerHTML + "</a>"), (s.match(/MicroMessenger/i) || s.match(/baiduboxapp/i)) && o.push(t));
6607				}
6608			});
6609		}
6610		if (k.length && t.on("scroll", function() {
6611			t.scrollTop() > 100 ? (k.addClass("active"), j.removeClass("hide-gotop")) : (k.removeClass("active"), j.addClass("hide-gotop"));
6612		}), j.length && setTimeout(function() {
6613			j.find(".action-item").each(function(t, i) {
6614				let s = e(i).find(".action-item-inner");
6615				s.length && s.css("margin-top", -s.outerHeight() / 2);
6616			});
6617		}, 200), j.on("mouseenter", ".action-item", function() {
6618			let t = e(this).find(".action-item-inner");
6619			t.length && t.css("margin-top", -t.outerHeight() / 2);
6620		}), t.on("resize", function() {
6621			S && clearTimeout(S), S = setTimeout(function() {
6622				M(), e(".navbar-collapse").removeAttr("style");
6623			}, 50);
6624		}), setTimeout(function() {
6625			e(document).trigger("init_share");
6626		}, 50), M(), e(".wpcom-adv-menu").find("img").on("load", () => {
6627			_ && clearTimeout(_), _ = setTimeout(() => M(), 100);
6628		}), function() {
6629			if (s.match(/MicroMessenger/i)) {
6630				var t, i = location.href.split("#")[0], n = document.querySelector("body").classList, a = 0;
6631				if (n.contains("page")) for (var r = 0; r < n.length; r++) (t = n[r].match(/page-id-(\d+)$/)) && (a = t[1]);
6632				else if (n.contains("single")) for (r = 0; r < n.length; r++) (t = n[r].match(/postid-(\d+)$/)) && (a = t[1]);
6633				e(".q-content.q-single").length && (a = e(".q-content.q-single").data("id")), e.ajax({
6634					url: _wpcom_js.ajaxurl,
6635					type: "POST",
6636					data: {
6637						action: "wpcom_wx_config",
6638						url: encodeURIComponent(i),
6639						ID: a
6640					},
6641					dataType: "json",
6642					success(t) {
6643						if (!t.signature) return;
6644						let s = t.thumb;
6645						s.match(/^\/\//) && (s = window.location.protocol + s);
6646						let n = document.title, a = e("meta[name=description]").attr("content");
6647						a = a || t.desc;
6648						let r = document.createElement("script");
6649						r.src = "//res.wx.qq.com/open/js/jweixin-1.6.0.js", r.onload = function() {
6650							window.wx.config({
6651								debug: !1,
6652								appId: t.appId,
6653								timestamp: t.timestamp,
6654								nonceStr: t.noncestr,
6655								signature: t.signature,
6656								jsApiList: [
6657									"updateAppMessageShareData",
6658									"updateTimelineShareData",
6659									"onMenuShareWeibo",
6660									"previewImage"
6661								]
6662							}), window.wx.ready(function() {
6663								e(document).trigger("wx.ready");
6664								let t = {
6665									imgUrl: s,
6666									link: i,
6667									desc: a,
6668									title: n
6669								}, r = {
6670									imgUrl: s,
6671									link: i,
6672									title: n
6673								};
6674								wx.updateAppMessageShareData(t), wx.updateTimelineShareData(r), wx.onMenuShareWeibo(t), e(".entry-content,.modules-gutenberg").find("a.j-wpcom-lightbox").each(function(t, i) {
6675									let s = e(i), n = s.find("> img"), o = s.attr("href");
6676									n.attr("data-img", o).addClass("j-previewImage"), s.replaceWith(s.html());
6677								}), e(document).trigger("init_lazyload", [e(".entry-content .j-previewImage.j-lazy")]), e(document).on("click", "img.j-previewImage", function(t) {
6678									t.preventDefault(), wx.previewImage({
6679										current: e(this).data("img"),
6680										urls: o
6681									});
6682								});
6683							}), wx.error(function(e) {
6684								console.log(e, "error");
6685							});
6686						}, document.body.appendChild(r);
6687					}
6688				});
6689			}
6690		}(), void 0 !== _wpcom_js.share && "1" == _wpcom_js.share) {
6691			let e = void 0 !== _wpcom_js.share_items && _wpcom_js.share_items;
6692			setup_share(e);
6693		}
6694	}), window.wpcom_alert = function(e, t) {
6695		t = t || "提示信息";
6696		let i = jQuery("#wpcom-alert");
6697		if (i.length) i.find(".modal-title").html(t), i.find(".modal-body").html(e), i._modal("show");
6698		else {
6699			let i = "<div class=\"wpcom-modal fade modal-alert\" id=\"wpcom-alert\" data-backdrop=\"static\">\n            <div class=\"modal-dialog modal-sm\">\n                <div class=\"modal-content\">                   <div class=\"modal-header\"><div class=\"wpcom-close\" data-wpcom-dismiss=\"modal\" aria-label=\"Close\"><i class=\"wpcom-icon wi\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-close\"></use></svg></i></div><h4 class=\"modal-title\">" + t + "</h4></div>\n                   <div class=\"modal-body\">" + e + "</div>\n                   <div class=\"modal-footer\"><button type=\"button\" class=\"wpcom-btn btn-primary\" data-wpcom-dismiss=\"modal\" aria-label=\"Close\">" + _wpcom_js.js_lang.confirm + "</button></div>                </div>\n            </div>\n        </div>";
6700			jQuery("body").append(i);
6701		}
6702		jQuery("#wpcom-alert")._modal("show");
6703	}, window.wpcom_notice = function(e) {
6704		if (!arguments.length || 1 === arguments.length && "object" == typeof arguments[0] || (e = {}, void 0 !== arguments[0] && (e.message = arguments[0]), void 0 !== arguments[1] && (e.type = arguments[1]), void 0 !== arguments[2] && "loading" !== e.type && (e.show = arguments[2]), void 0 !== arguments[2] && "loading" === e.type && (e.callback = arguments[2])), e && e.message) {
6705			e.type = e.type ? e.type : "success";
6706			let t = "<div class=\"notice-message\"><div class=\"notice-message-content notice-message-" + e.type + "\">";
6707			"success" === e.type ? t += "<i class=\"wpcom-icon wi notice-message-icon\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-success\"></use></svg></i>" : "warning" === e.type || "error" === e.type ? t += "<i class=\"wpcom-icon wi notice-message-icon\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-warning\"></use></svg></i>" : "loading" === e.type && (t += "<i class=\"wpcom-icon wi notice-message-icon\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-loader\"></use></svg></i>"), t += e.message + "</div></div>";
6708			let i = jQuery(t), s = jQuery(".notice-message-wrapper");
6709			return 0 === s.length && (jQuery(document.body).append("<div class=\"notice-message-wrapper\"></div>"), s = jQuery(".notice-message-wrapper")), s.append(i), i.one("hide.notice", function() {
6710				let e = jQuery(this);
6711				e.removeClass("notice-message-active").addClass("notice-message-up"), setTimeout(() => {
6712					e.remove(), 0 === s.find(".notice-message").length && s.remove();
6713				}, 320);
6714			}), setTimeout(() => {
6715				i.addClass("notice-message-active"), "loading" === e.type && void 0 !== e.callback ? e.callback(i) : setTimeout(() => {
6716					i.trigger("hide.notice");
6717				}, e.show ? e.show : 3e3);
6718			}, 50), i;
6719		}
6720	}, window.setup_share = function(e) {
6721		if (e && Object.keys(e).length) {
6722			let t = "<div class=\"action-item-inner share-more-wrap\"><h4 class=\"share-more-title\">" + _wpcom_js.js_lang.share_to + "</h4>";
6723			for (let i in e) t += "<a class=\"action-share-item\" data-share=\"" + i + "\" target=\"_blank\" rel=\"noopener\">
6723<i class=\"wpcom-icon wi wi-" + i + "\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-" + e[i].icon + "\"></use></svg></i>" + e[i].title + "</a>";
6724			t += "</div>", jQuery(".action .action-item.j-share").append(t);
6725		} else {
6726			let e = [
6727				{
6728					name: "weibo",
6729					label: "微博"
6730				},
6731				{
6732					name: "wechat",
6733					label: "微信"
6734				},
6735				{
6736					name: "qq",
6737					label: "QQ好友"
6738				},
6739				{
6740					name: "qzone",
6741					label: "QQ空间"
6742				},
6743				{
6744					name: "douban",
6745					label: "豆瓣"
6746				},
6747				{
6748					name: "linkedin",
6749					label: "LinkedIn"
6750				},
6751				{
6752					name: "facebook",
6753					label: "Facebook"
6754				},
6755				{
6756					name: "x",
6757					label: "X",
6758					icon: "twitter-x"
6759				}
6760			], t = "";
6761			for (let i in e) t += "<a class=\"action-share-item\" data-share=\"" + e[i].name + "\" target=\"_blank\" rel=\"noopener noreferrer\"><i class=\"wpcom-icon wi wi-" + e[i].name + "\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-" + (e[i].icon ? e[i].icon : e[i].name) + "\"></use></svg></i>" + e[i].label + "</a>";
6762			jQuery(".action .action-item.j-share").append("<div class=\"action-item-inner share-more-wrap\"><h4 class=\"share-more-title\">" + _wpcom_js.js_lang.share_to + "</h4>" + t + "</div>");
6763		}
6764	};
6765	var yt = {
6766		init() {
6767			const e = this;
6768			this.checker = null, this.loader = "<i class=\"wpcom-icon wi wpcom-icon-loader\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-loader\"></use></svg></i>", this.error = "<i class=\"wpcom-icon wi wpcom-icon-error\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-warning\"></use></svg></i>", jQuery(document).on("click", ".j-message", function(t) {
6769				e.load_box(t);
6770			}).on("click", ".j-message-send", function(t) {
6771				e.send(t);
6772			}).on("input propertychange change", ".j-message-text", function() {
6773				let e = jQuery(this);
6774				jQuery.trim(e.val()).length ? e.parent().find(".j-message-send").removeClass("disabled") : e.parent().find(".j-message-send").addClass("disabled");
6775			}).on("keydown", ".j-message-text", function(e) {
6776				13 !== e.keyCode || e.shiftKey || (e.preventDefault(), e.returnValue = !1, jQuery(e.target).closest(".modal-content").find(".j-message-send").trigger("click"));
6777			});
6778		},
6779		load_box(e) {
6780			if (!1 === window.is_login) return jQuery("#login-modal")._modal(), !1;
6781			const t = this;
6782			let i = jQuery(e.target).closest(".j-message");
6783			if (i.hasClass("loading")) return !1;
6784			let s = i.data("user");
6785			s && (i.loading(1), jQuery.ajax({
6786				type: "POST",
6787				url: _wpcom_js.ajaxurl,
6788				data: {
6789					action: "wpcom_message_box",
6790					user: s
6791				},
6792				dataType: "json",
6793				success(e, n, o) {
6794					if (i.loading(0), i.find(".wi").show(), 0 == e.result) {
6795						jQuery("#message-modal").length || jQuery("body").append("<div class=\"wpcom-modal modal-message fade\" id=\"message-modal\" data-backdrop=\"static\">\n            <div class=\"modal-dialog\">\n                <div class=\"modal-content\"><div class=\"modal-header\">\n                <div class=\"wpcom-close\" data-wpcom-dismiss=\"modal\" aria-label=\"Close\"><i class=\"wpcom-icon wi\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-close\"></use></svg></i></div>\n                <h4 class=\"modal-title\"></h4>\n            </div>\n                    <div class=\"modal-body\"><div class=\"modal-message-list\"></div><div class=\"modal-message-editor modal-editor-withbar\"><div class=\"modal-message-smile j-smilies\" data-target=\".j-message-text\"><i class=\"wpcom-icon wi smile-icon\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-emotion\"></use></svg></i></div><textarea class=\"modal-message-text j-message-text\"></textarea><div class=\"modal-message-send\">按 Enter 键发送<button type=\"button\" class=\"wpcom-btn btn-primary btn-message disabled j-message-send\">发送</button></div></div></div>\n                </div>\n            </div>\n        </div>");
6796						const n = jQuery("#message-modal");
6797						let a = "<div class=\"modal-message-more\">" + t.loader + "</div>", r = n.find(".modal-message-list"), l = e.to_uname ? e.to_uname : " ";
6798						e.to_url && (l = "<a href=\"" + e.to_url + "\" target=\"_blank\">" + l + "</a>
6798"), n.find(".modal-title").html(l).data("user", e.to_uid ? e.to_uid : 0), r.html(a + (e.messages ? e.messages : "")), n.find(".j-message-send").data("avatar", e.avatar), n._modal("show").find(".j-message-text").val(""), setTimeout(function() {
6799							n.find(".j-message-text").focus();
6800						}, 500), "0" === o.getResponseHeader("Next-page") && n.find(".modal-message-more").remove(), setTimeout(function() {
6801							let e = n.find(".modal-message-item:last-child")[0];
6802							e && e.scrollIntoView(), t.load_more(n, s);
6803						}, 200), t.set_read(s, i), t.checker && clearInterval(t.checker), t.checker = setInterval(function() {
6804							t.check_messages(n, s);
6805						}, 1e4), n.on("hide.wpcom.modal", function() {
6806							clearInterval(t.checker);
6807						});
6808					} else -1 == e.result ? (jQuery(document).trigger("wpcom_not_login"), jQuery("#login-modal")._modal()) : -3 == e.result && e.msg && wpcom_notice({
6809						message: e.msg,
6810						type: "warning",
6811						show: 1500
6812					});
6813				},
6814				error() {
6815					i.loading(0), i.find(".wi").show();
6816				}
6817			}));
6818		},
6819		send(e) {
6820			let t = jQuery(e.target).closest(".j-message-send");
6821			if (t.hasClass("disabled")) return;
6822			let i = t.closest(".modal-content"), s = i.find(".modal-message-list"), n = i.find(".j-message-text").val().trim(), o = i.find(".modal-title").data("user"), a = this;
6823			if (n) {
6824				a.checker && clearInterval(a.checker), a.checker = setInterval(function() {
6825					a.check_messages(i, o);
6826				}, 1e4);
6827				var r = jQuery("<div class=\"modal-message-item message-sender\"><div class=\"modal-message-time\"></div><div class=\"modal-message-inner\"><div class=\"modal-message-status\">" + a.loader + "</div><div class=\"modal-message-content\"><div class=\"message-text\"></div></div><div class=\"modal-message-avatar\"><img src=\"" + t.data("avatar") + "\"></div></div></div>");
6828				r.find(".message-text").text(n);
6829				var l = s.find(".modal-message-item:last-child"), d = l.length ? l.data("id") : 0;
6830				s.append(r), i.find(".j-message-text").val("").trigger("input"), setTimeout(function() {
6831					s.animate({ scrollTop: s.prop("scrollHeight") }, 150);
6832				}, 100), jQuery.ajax({
6833					type: "POST",
6834					url: _wpcom_js.ajaxurl,
6835					data: {
6836						action: "wpcom_send_message",
6837						to: o,
6838						content: n,
6839						last: d
6840					},
6841					dataType: "json",
6842					success(e) {
6843						try {
6844							0 === e.result ? e.messages ? (r.replaceWith(e.messages), s.animate({ scrollTop: s.prop("scrollHeight") }, 150)) : (r.data("id", e.message_id).find(".modal-message-status").html(""), r.find(".modal-message-time").html(e.message_time), e.message_content && r.find(".modal-message-content .message-text").html(e.message_content)) : -1 === e.result ? (jQuery(document).trigger("wpcom_not_login"), i.closest(".wpcom-modal")._modal("hide"), setTimeout(function() {
6845								jQuery("#login-modal")._modal("show");
6846							}, 100)) : -3 === e.result ? (e.msg && wpcom_notice({
6847								message: e.msg,
6848								type: "warning",
6849								show: 1500
6850							}), r.remove()) : r.find(".modal-message-status").html(a.error);
6851						} catch (e) {
6852							r.find(".modal-message-status").html(a.error);
6853						}
6854					},
6855					error() {
6856						r.find(".modal-message-status").html(a.error);
6857					}
6858				});
6859			} else wpcom_alert("私信内容不能为空");
6860		},
6861		load_more(e, t) {
6862			let i = 0, s = e.find(".modal-message-list"), n = e.find(".modal-message-more");
6863			s.off("scroll.message").on("scroll.message", function(o) {
6864				if (o.target.scrollTop <= 20 && o.target.scrollTop < i && (n = e.find(".modal-message-more"), n.length && !n.hasClass("active"))) {
6865					n.addClass("active");
6866					var a = e.find(".modal-message-item").first(), r = a.length ? a.data("id") : 0;
6867					jQuery.ajax({
6868						type: "POST",
6869						url: _wpcom_js.ajaxurl,
6870						data: {
6871							action: "wpcom_load_messages",
6872							user: t,
6873							last: r
6874						},
6875						dataType: "html",
6876						success(e, t, i) {
6877							if (e) {
6878								var o = a.offset().top - s.scrollTop();
6879								n.after(e), s.scrollTop(a.offset().top - o);
6880							}
6881							n.removeClass("active"), "0" === i.getResponseHeader("Next-page") && n.remove();
6882						},
6883						error() {
6884							n.removeClass("active");
6885						}
6886					});
6887				}
6888				i = o.target.scrollTop;
6889			});
6890		},
6891		set_read(e, t) {
6892			jQuery.ajax({
6893				type: "POST",
6894				url: _wpcom_js.ajaxurl,
6895				data: {
6896					action: "wpcom_read_messages",
6897					user: e
6898				},
6899				dataType: "html",
6900				success(e) {
6901					e > 0 && t && t.find(".messages-item-unread").length && t.find(".messages-item-unread").remove();
6902				}
6903			});
6904		},
6905		check_messages(e, t) {
6906			const i = this, s = e.find(".modal-message-list");
6907			let n = s.find(".modal-message-item:last-child"), o = n.length ? n.data("id") : 0;
6908			jQuery.ajax({
6909				type: "POST",
6910				url: _wpcom_js.ajaxurl,
6911				data: {
6912					action: "wpcom_check_messages",
6913					user: t,
6914					last: o
6915				},
6916				dataType: "json",
6917				success(e) {
6918					0 === e.result && e.messages && (s.append(e.messages), i.set_read(t), s.animate({ scrollTop: s.prop("scrollHeight") }, 150));
6919				}
6920			});
6921		}
6922	}, bt = {
6923		init() {
6924			const e = this;
6925			jQuery(document).on("click", ".j-notification .notify-item-title a", function(t) {
6926				var i = jQuery(this).closest(".j-notification");
6927				if (!i.hasClass("status-1")) {
6928					var s = i.data("id");
6929					e.set_read(i, s);
6930				}
6931			}).on("change", ".j-notify-filter-unread", function() {
6932				var e = new URL(window.location.href);
6933				this.checked ? e.searchParams.set("filter", "unread") : e.searchParams.delete("filter"), window.location.href = e.toString();
6934			}).on("click", ".j-notify-read-all", function() {
6935				var e = jQuery(this);
6936				e.hasClass("loading") || (e.addClass("loading").prop("disabled", !0), jQuery.ajax({
6937					type: "POST",
6938					url: _wpcom_js.ajaxurl,
6939					data: { action: "wpcom_read_all_notifications" },
6940					dataType: "json",
6941					success(t) {
6942						e.removeClass("loading").prop("disabled", !1), t && t.result && (jQuery(".j-notification").each(function() {
6943							var e = jQuery(this);
6944							e.hasClass("status-1") || e.removeClass("status-0").addClass("status-1");
6945						}), wpcom_notice({
6946							message: t.message ? t.message : "标记已读成功",
6947							show: 1500
6948						}), window.location.search.indexOf("filter=unread") > -1 && setTimeout(function() {
6949							window.location.reload();
6950						}, 1e3));
6951					},
6952					error() {
6953						e.removeClass("loading").prop("disabled", !1);
6954					}
6955				}));
6956			});
6957		},
6958		set_read(e, t, i) {
6959			jQuery.ajax({
6960				type: "POST",
6961				url: _wpcom_js.ajaxurl,
6962				data: {
6963					action: "wpcom_read_notification",
6964					id: t
6965				},
6966				dataType: "html",
6967				success(t) {
6968					t && e.removeClass("status-0").addClass("status-1"), "function" == typeof i && i(t);
6969				},
6970				error() {
6971					"function" == typeof i && i(0);
6972				}
6973			});
6974		}
6975	}, xt = {
6976		init() {
6977			let e = this;
6978			jQuery(document).on("click", ".j-follow", function(t) {
6979				e.follow(t);
6980			}).on("check_follow wpcom_login", function() {
6981				e.check_follow();
6982			}).on("click", ".profile-tab .profile-tab-item", function() {
6983				let e = jQuery(this), t = e.closest(".wpcom-profile-main"), i = e.index();
6984				t.find(".profile-tab-item, .profile-tab-content").removeClass("active"), e.addClass("active"), t.find(".profile-tab-content").eq(i).addClass("active").trigger("profile_tab_show");
6985			}).on("profile_tab_show", ".profile-tab-content", function() {
6986				const e = jQuery(this);
6987				e.closest(".profile-follows").length && e.find(".follow-items-loading").length && e.find(".j-user-followers").trigger("click");
6988			});
6989		},
6990		follow(e) {
6991			if (!1 === window.is_login) return jQuery("#login-modal")._modal(), !1;
6992			let t = jQuery(e.target).closest(".j-follow");
6993			if (t.hasClass("loading")) return !1;
6994			var i = t.hasClass("followed"), s = t.data("user");
6995			s && (t.loading(1), jQuery.ajax({
6996				type: "POST",
6997				url: _wpcom_js.ajaxurl,
6998				data: {
6999					action: "wpcom_follow",
7000					follow: s
7001				},
7002				dataType: "json",
7003				success: function(e) {
7004					0 == e.result ? t.html(_wpcom_js.followed_btn).addClass("followed").removeClass("btn-primary") : 1 == e.result ? t.html(_wpcom_js.follow_btn).removeClass("followed").addClass("btn-primary") : -1 == e.result ? (jQuery(document).trigger("wpcom_not_login"), jQuery("#login-modal")._modal(), t.html(i ? _wpcom_js.followed_btn : _wpcom_js.follow_btn)) : (t.html(i ? _wpcom_js.followed_btn : _wpcom_js.follow_btn), e.msg && wpcom_notice({
7005						message: e.msg,
7006						type: "warning",
7007						show: 1500
7008					})), t.loading(0);
7009				},
7010				error: function() {
7011					t.html(i ? _wpcom_js.followed_btn : _wpcom_js.follow_btn).loading(0);
7012				}
7013			}));
7014		},
7015		check_follow() {
7016			var e = [];
7017			jQuery(".j-follow").each(function(t, i) {
7018				var s = jQuery(i).data("user");
7019				s && jQuery.inArray(s, e) < 0 && e.push(s);
7020			}), e.length && jQuery.ajax({
7021				type: "POST",
7022				url: _wpcom_js.ajaxurl,
7023				data: {
7024					action: "wpcom_check_follow",
7025					ids: e
7026				},
7027				dataType: "json",
7028				success(t) {
7029					if (t && "object" == typeof t) for (var i in t) t[i] && jQuery.inArray(i, e) && jQuery(".j-follow[data-user=" + i + "]").addClass("followed").removeClass("btn-primary").html(_wpcom_js.followed_btn);
7030				}
7031			});
7032		}
7033	}, Tt = {
7034		init() {
7035			if (this.is_mobile() || !_wpcom_js.user_card) return;
7036			const e = this;
7037			jQuery(document).on("mouseenter", ".j-user-card", function() {
7038				e.timer && clearTimeout(e.timer), e.timer2 && clearTimeout(e.timer2);
7039				const t = this;
7040				e.timer = setTimeout(function() {
7041					const i = jQuery(t);
7042					let s = i.data("user");
7043					s && (e.show_card(i), e.get_data(s, function(t) {
7044						setTimeout(function() {
7045							e.render_card(t, i);
7046						}, 300);
7047					}));
7048				}, 500);
7049			}).on("mouseleave", ".j-user-card", function() {
7050				e.timer && clearTimeout(e.timer), e.timer2 && clearTimeout(e.timer2), e.hide_card();
7051			}).on("mouseenter", "#j-user-card", function() {
7052				e.timer && clearTimeout(e.timer), e.timer2 && clearTimeout(e.timer2);
7053			}).on("mouseleave", "#j-user-card", function() {
7054				e.timer && clearTimeout(e.timer), e.timer2 && clearTimeout(e.timer2), e.hide_card();
7055			});
7056		},
7057		get_data(e, t) {
7058			jQuery.ajax({
7059				type: "POST",
7060				url: _wpcom_js.ajaxurl,
7061				data: {
7062					action: "wpcom_user_card",
7063					user: e
7064				},
7065				dataType: "json",
7066				success(e) {
7067					t(e.html);
7068				}
7069			});
7070		},
7071		show_card(e) {
7072			let t = jQuery("#j-user-card"), i = t.length ? t : jQuery("<div id=\"j-user-card\" class=\"user-card-wrap\"><div class=\"user-card-loading\"><i class=\"wpcom-icon wi wi-loader\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-loader\"></use></svg></i></div></div>");
7073			t.length || jQuery("body").append(i);
7074			let s = this.get_style(e, !i.find(".user-card-loading").length);
7075			i.css(s), t.length || i.fadeIn(200);
7076		},
7077		hide_card() {
7078			this.timer2 = setTimeout(function() {
7079				jQuery("#j-user-card").fadeOut(200, function() {
7080					jQuery("#j-user-card").remove();
7081				});
7082			}, 300);
7083		},
7084		render_card(e, t) {
7085			let i = jQuery("#j-user-card");
7086			i.html(e);
7087			let s = this.get_style(t, 1);
7088			i.css(s);
7089		},
7090		get_style(e, t) {
7091			let i = e.offset(), s = jQuery(window), n = 0;
7092			if (s.height() - (i.top - s.scrollTop() + e.outerHeight()) < 350) {
7093				let e = t ? _wpcom_js.user_card_height ? _wpcom_js.user_card_height : 346 : 180;
7094				n = i.top - e - 5;
7095			} else n = i.top + e.outerHeight() + 5;
7096			return {
7097				left: i.left,
7098				top: n
7099			};
7100		},
7101		is_mobile: () => /(iPhone|iPad|iPod|iOS|Android)/i.test(navigator.userAgent)
7102	}, Ct = {
7103		init() {
7104			const e = this;
7105			this.loaded = 0, this.builded = 0, this.builded_id = 0, this.post_id = 0;
7106			const t = void 0 !== _wpcom_js.framework_url ? _wpcom_js.framework_url : _wpcom_js.theme_url + "/themer";
7107			jQuery(".j-mobile-share").length && this.loadFont(), jQuery(document).on("click", ".j-mobile-share", function() {
7108				let i = "<div class=\"mobile-share-bg\"></div><div class=\"mobile-share-wrap\"><div class=\"loading\"><i class=\"wpcom-icon wi wpcom-icon-loader\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-loader\"></use></svg></i>" + _wpcom_js.poster.generating + "</div></div>";
7109				jQuery("body").append(i);
7110				let s = jQuery(this);
7111				if (e.post_id = s.data("id"), e.loaded) return e.getData(s), !1;
7112				let n = "1.4.1";
7113				(navigator.userAgent.indexOf("Safari/") > -1 || navigator.userAgent.indexOf("iPhone;") > -1) && (n = "1.0.0-rc.1"), jQuery.ajax({
7114					url: t + "/assets/js/html2canvas-" + n + ".min.js",
7115					dataType: "script",
7116					cache: !0,
7117					success: function() {
7118						e.loaded = 1, e.getData(s);
7119					}
7120				});
7121			}).on("click", ".mobile-share-close,.mobile-share-bg,.mobile-share-wrap", function() {
7122				jQuery(".mobile-share-bg,.mobile-share-wrap").remove();
7123			}).on("click", ".mobile-share-down", function() {
7124				let t = jQuery(".mobile-share-canvas img");
7125				if (t.length && t.attr("src")) {
7126					let i = t.attr("src"), s = document.createElement("a");
7127					s.href = i, s.download = "poster_" + e.post_id + ".png", s.click();
7128				}
7129				return !1;
7130			}).on("click", ".mobile-share-container", function(e) {
7131				e.stopPropagation();
7132			});
7133		},
7134		getData(e) {
7135			let t = e.data("id");
7136			const i = this;
7137			if (this.builded && this.builded_id === t) return jQuery(".mobile-share-wrap").html("<div class=\"mobile-share-container\"><div class=\"top_tips\">" + _wpcom_js.poster.notice + "</div><div class=\"mobile-share-canvas\"><img src=\"" + this.builded + "\"></div></div><div class=\"mobile-share-action\"><div class=\"mobile-share-down\">
7137<i class=\"wpcom-icon wi\"><svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M3 19h18v2H3v-2zm10-5.828L19.071 7.1l1.414 1.415L12 17 3.515 8.515 4.929 7.1 11 13.172V2h2v11.172z\"/></svg></i>下载</div><div class=\"mobile-share-close\"><i class=\"wpcom-icon wi\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-close\"></use></svg></i>关闭</div></div>").find(".top_tips").show(), !1;
7138			jQuery.ajax({
7139				url: _wpcom_js.ajaxurl,
7140				data: {
7141					id: t,
7142					action: "wpcom_mobile_share"
7143				},
7144				method: "POST",
7145				dataType: "html",
7146				timeout: 1e4,
7147				success(s) {
7148					let n = jQuery(".meta-item.wechat"), o = "";
7149					if (n = n.length ? n : e.closest(".kx-meta").find(".j-share-qrcode"), n.find("canvas")[0]) o = n.find("canvas")[0].toDataURL();
7150					else {
7151						let t = jQuery("<div style=\"display: none;\"></div>");
7152						jQuery("body").append(t);
7153						var a = e.data("qrcode") ? e.data("qrcode") : location.href;
7154						t.qrcode({ text: a }), o = t.find("canvas")[0].toDataURL(), t.remove();
7155					}
7156					if (s && o) {
7157						let e = jQuery(s);
7158						e.find(".mobile-share-qrcode").html("<img src=\"" + o + "\">"), e && (jQuery(".mobile-share-wrap").html(e), setTimeout(function() {
7159							html2canvas(document.querySelector(".mobile-share-inner"), {
7160								scale: 2,
7161								useCORS: !0,
7162								scrollY: 0,
7163								backgroundColor: null
7164							}).then(function(e) {
7165								let s = e.toDataURL("image/png");
7166								jQuery(".mobile-share-canvas").html("<img src=\"" + s + "\">"), jQuery(".mobile-share-wrap .top_tips").show(), jQuery(".mobile-share-inner").css("visibility", "hidden"), i.builded = s, i.builded_id = t;
7167							});
7168						}, 300));
7169					} else jQuery(".mobile-share-bg,.mobile-share-wrap").remove(), setTimeout(function() {
7170						wpcom_alert(_wpcom_js.poster.failed);
7171					}, 50);
7172				},
7173				error() {
7174					jQuery(".mobile-share-bg,.mobile-share-wrap").remove(), setTimeout(function() {
7175						wpcom_alert(_wpcom_js.poster.failed);
7176					}, 50);
7177				}
7178			});
7179		},
7180		loadFont() {
7181			if (this.loaded_font) return;
7182			let e = document.getElementsByTagName("head")[0], t = document.createElement("link");
7183			t.href = _wpcom_js.font_url, t.rel = "stylesheet", t.type = "text/css", e.appendChild(t), this.loaded_font = 1;
7184		}
7185	}, Et = {
7186		init: function() {
7187			const e = this;
7188			jQuery(document.body).on("click", ".j-smilies .smile-icon", function() {
7189				return e.$el = jQuery(this).closest(".j-smilies"), e.target = e.$el.data("target"), e.open_smile_box(), void 0 === window.smilies && e.get_smilies(), !1;
7190			}).on("smilies_loaded", function() {
7191				e.render_smilies();
7192			}).on("click", ".smilies-item", function() {
7193				let t = jQuery(this).data("name");
7194				t && e.add_smile(t);
7195			}).on("click", function(t) {
7196				if (e.target) {
7197					let i = jQuery(t.target);
7198					0 === i.closest(e.target).length && 0 === i.closest(".j-smilies").length && e.$el.find(".smilies-box").removeClass("active");
7199				}
7200			});
7201		},
7202		get_smilies: function() {
7203			jQuery.ajax({
7204				type: "GET",
7205				url: _wpcom_js.ajaxurl,
7206				data: { action: "wpcom_get_smilies" },
7207				dataType: "json",
7208				success: function(e) {
7209					e && "object" == typeof e && (window.smilies = e, jQuery(document.body).trigger("smilies_loaded"));
7210				}
7211			});
7212		},
7213		open_smile_box: function() {
7214			let e = this.$el.find(".smilies-box");
7215			e.length || (e = jQuery("<div class=\"smilies-box\"><div class=\"smilies-box-loading\"><i class=\"wpcom-icon wi\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-loader\"></use></svg></i></div></div>"), this.$el.append(e)), this.render_smilies(), e.toggleClass("active");
7216		},
7217		render_smilies: function() {
7218			if (window.smilies && !this.$el.find(".smilies-box .smilies-item").length) {
7219				let e = "";
7220				for (let t in window.smilies) e += "<div class=\"smilies-item\" data-name=\"" + window.smilies[t].name + "\" title=\"" + window.smilies[t].title + "\"><img src=\"" + window.smilies[t].src + "\" alt=\"" + window.smilies[t].name + "\"></div>";
7221				this.$el.find(".smilies-box").html(e);
7222			}
7223		},
7224		add_smile: function(e) {
7225			let t = this.target ? jQuery(this.target) : null;
7226			t && this.ins2pos(e, t);
7227		},
7228		ins2pos: function(e, t) {
7229			let i = t.val(), s = i.substring(0, t[0].selectionStart), n = i.substring(t[0].selectionEnd, i.length);
7230			t.val(s + e + n).trigger("change"), this.setCursor(t[0], s.length + e.length);
7231		},
7232		setCursor: function(e, t) {
7233			if (e.setSelectionRange) e.focus(), e.setSelectionRange(t, t);
7234			else if (e.createTextRange) {
7235				var i = e.createTextRange();
7236				i.collapse(!0), i.moveEnd("character", t), i.moveStart("character", t), i.select();
7237			}
7238		}
7239	}, St = {
7240		init: function() {
7241			const e = this;
7242			jQuery(function(t) {
7243				e.$ = t, e.load_content(), t(".hidden-content-wrap").off("click", ".j-refresh-hidden-content").on("click", ".j-refresh-hidden-content", function() {
7244					const i = t(this);
7245					return i.addClass("loading"), e.load_content(function() {
7246						i.removeClass("loading");
7247					}), !1;
7248				}).off("click", ".hidden-content-btn-password").on("click", ".hidden-content-btn-password", function() {
7249					const i = t(this).parent();
7250					let s = i.find("input[name=\"password\"]").val();
7251					if (s) {
7252						let t = i.closest(".hidden-content-wrap").attr("id");
7253						e.load_content(function(e) {
7254							void 0 === e[t] && wpcom_notice({
7255								message: "解锁失败,请检查口令是否正确",
7256								type: "warning",
7257								show: 2e3
7258							});
7259						}, s, t);
7260					} else i.addClass("error"), wpcom_notice({
7261						message: "请输入口令",
7262						type: "warning",
7263						show: 2e3
7264					});
7265				}).off("input change", ".hidden-content-input input[name=\"password\"]").on("input change", ".hidden-content-input input[name=\"password\"]", function() {
7266					t(this).parent().removeClass("error");
7267				});
7268			});
7269		},
7270		load_content: function(e, t, i) {
7271			const s = this.$, n = s(".wp-block-wpcom-hidden-content .hidden-content-wrap");
7272			if (n.length) {
7273				n.addClass("loading");
7274				let o = "undefined" != typeof _wpcom_js && _wpcom_js.post_id ? _wpcom_js : _wpmx_js;
7275				0 === n.find(".hidden-content-loading").length && n.append("<i class=\"wpcom-icon wi hidden-content-loading\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-loader\"></use></svg></i>");
7276				let a = {
7277					post_id: o.post_id ? o.post_id : "",
7278					action: "wpcom_get_hidden_content"
7279				};
7280				t && (a.password = t, a.id = i), s.ajax({
7281					url: o.ajaxurl,
7282					data: a,
7283					method: "POST",
7284					dataType: "json",
7285					success: function(t) {
7286						if (t) for (let e in t) {
7287							let i = s("#" + e).parent();
7288							i.html(t[e]), i.find(".j-map").length && s(document).trigger("wpcom.map"), i.find(".wp-block-wpcom-accordion").length && i.find(".wp-block-wpcom-accordion").collapse("show"), s(document).trigger("wpcom.lightbox", [i]), /^post-hidden-content-[\d]+$/.test(e) && s(".entry-content .wpcom-unlock-more").remove(), i.find(".wp-block-wpcom-hljs > pre").length && i.find(".wp-block-wpcom-hljs > pre").trigger("hljs.wpcom");
7289							let n = i.find(".j-wpcom-video, .wp-block-video video, .wp-block-wpcom-video-code video, .wp-video video");
7290							if (n.length) for (let e = 0; e < n.length; e++) s("body").trigger("player", [{ el: n[e] }]);
7291						}
7292						n.removeClass("loading"), e && e(t);
7293					},
7294					error: function() {
7295						n.removeClass("loading"), e && e();
7296					}
7297				});
7298			}
7299		}
7300	}, kt = l(r((e, t) => {
7301		var i = e, s = function() {
7302			"use strict";
7303			function e(e, t) {
7304				var i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
7305				if (window.Promise) return m(e, t, i);
7306				e.recalculate(!0, !0);
7307			}
7308			function t(e) {
7309				var t = e.useContainerForBreakpoints ? e.container.clientWidth : window.innerWidth, i = { columns: e.columns };
7310				w(e.margin) ? i.margin = {
7311					x: e.margin.x,
7312					y: e.margin.y
7313				} : i.margin = {
7314					x: e.margin,
7315					y: e.margin
7316				};
7317				var s = Object.keys(e.breakAt);
7318				return e.mobileFirst ? function(e) {
7319					for (var t = e.options, i = e.responsiveOptions, s = e.keys, n = e.docWidth, o = void 0, a = 0; a < s.length; a++) {
7320						var r = parseInt(s[a], 10);
7321						n >= r && (o = t.breakAt[r], v(o, i));
7322					}
7323					return i;
7324				}({
7325					options: e,
7326					responsiveOptions: i,
7327					keys: s,
7328					docWidth: t
7329				}) : function(e) {
7330					for (var t = e.options, i = e.responsiveOptions, s = e.keys, n = e.docWidth, o = void 0, a = s.length - 1; a >= 0; a--) {
7331						var r = parseInt(s[a], 10);
7332						n <= r && (o = t.breakAt[r], v(o, i));
7333					}
7334					return i;
7335				}({
7336					options: e,
7337					responsiveOptions: i,
7338					keys: s,
7339					docWidth: t
7340				});
7341			}
7342			function i(e) {
7343				return t(e).columns;
7344			}
7345			function s(e) {
7346				return t(e).margin;
7347			}
7348			function n(e) {
7349				var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], n = i(e), o = s(e).x, a = 100 / n;
7350				if (!t) return a;
7351				if (1 === n) return "100%";
7352				var r = "px";
7353				if ("string" == typeof o) {
7354					var l = parseFloat(o);
7355					r = o.replace(l, ""), o = l;
7356				}
7357				return o = (n - 1) * o / n, "%" === r ? a - o + "%" : "calc(" + a + "% - " + o + r + ")";
7358			}
7359			function o(e, t) {
7360				var o, a = i(e.options), r = 0, l = void 0;
7361				if (1 === ++t) return 0;
7362				var d = "px";
7363				if ("string" == typeof (l = s(e.options).x)) {
7364					var c = parseFloat(l, 10);
7365					d = l.replace(c, ""), l = c;
7366				}
7367				return o = (l - (a - 1) * l / a) * (t - 1), r += n(e.options, !1) * (t - 1), "%" === d ? r + o + "%" : "calc(" + r + "% + " + o + d + ")";
7368			}
7369			function a(e) {
7370				var t = 0, i = e.container, s = e.rows;
7371				l(s, function(e) {
7372					t = e > t ? e : t;
7373				}), i.style.height = t + "px";
7374			}
7375			var r = function e(t, i) {
7376				if (!(this instanceof e)) return new e(t, i);
7377				if (t && t.nodeName) return t;
7378				if (t = t.replace(/^\s*/, "").replace(/\s*$/, ""), i) return this.byCss(t, i);
7379				for (var s in this.selectors) if (i = s.split("/"), new RegExp(i[1], i[2]).test(t)) return this.selectors[s](t);
7380				return this.byCss(t);
7381			};
7382			r.prototype.byCss = function(e, t) {
7383				return (t || document).querySelectorAll(e);
7384			}, r.prototype.selectors = {}, r.prototype.selectors[/^\.[\w\-]+$/] = function(e) {
7385				return document.getElementsByClassName(e.substring(1));
7386			}, r.prototype.selectors[/^\w+$/] = function(e) {
7387				return document.getElementsByTagName(e);
7388			}, r.prototype.selectors[/^\#[\w\-]+$/] = function(e) {
7389				return document.getElementById(e.substring(1));
7390			};
7391			var l = function(e, t) {
7392				for (var i = e.length, s = i; i--;) t(e[s - i - 1]);
7393			}, d = function() {
7394				var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
7395				this.running = !1, this.events = [], this.add(e);
7396			};
7397			d.prototype.run = function() {
7398				if (!this.running && this.events.length > 0) {
7399					var e = this.events.shift();
7400					this.running = !0, e(), this.running = !1, this.run();
7401				}
7402			}, d.prototype.add = function() {
7403				var e = this, t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
7404				return !!t && (Array.isArray(t) ? l(t, function(t) {
7405					return e.add(t);
7406				}) : (this.events.push(t), void this.run()));
7407			}, d.prototype.clear = function() {
7408				this.events = [];
7409			};
7410			var c = function(e) {
7411				var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
7412				return this.instance = e, this.data = t, this;
7413			}, p = function() {
7414				var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
7415				this.events = {}, this.instance = e;
7416			};
7417			p.prototype.on = function() {
7418				var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0], t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
7419				return !(!e || !t) && (Array.isArray(this.events[e]) || (this.events[e] = []), this.events[e].push(t));
7420			}, p.prototype.emit = function() {
7421				var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0], t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
7422				if (!e || !Array.isArray(this.events[e])) return !1;
7423				var i = new c(this.instance, t);
7424				l(this.events[e], function(e) {
7425					return e(i);
7426				});
7427			};
7428			var u = function(e) {
7429				return !("naturalHeight" in e && e.naturalHeight + e.naturalWi
7429dth === 0) || e.width + e.height !== 0;
7430			}, h = function(e, t) {
7431				var i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
7432				return function(e, t) {
7433					for (var i = e.length, s = i, n = []; i--;) n.push(t(e[s - i - 1]));
7434					return n;
7435				}(t, function(t) {
7436					return function(e, t) {
7437						var i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
7438						return new Promise(function(e, i) {
7439							if (t.complete) return u(t) ? e(t) : i(t);
7440							t.addEventListener("load", function() {
7441								return u(t) ? e(t) : i(t);
7442							}), t.addEventListener("error", function() {
7443								return i(t);
7444							});
7445						}).then(function(t) {
7446							i && e.emit(e.constants.EVENT_IMAGE_LOAD, { img: t });
7447						}).catch(function(t) {
7448							return e.emit(e.constants.EVENT_IMAGE_ERROR, { img: t });
7449						});
7450					}(e, t, i);
7451				});
7452			}, m = function(e, t) {
7453				var i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
7454				return Promise.all(h(e, t, i)).then(function() {
7455					e.emit(e.constants.EVENT_IMAGE_COMPLETE);
7456				});
7457			}, f = function(e) {
7458				return function(e, t) {
7459					var i = void 0;
7460					return function() {
7461						i && clearTimeout(i), i = setTimeout(e, t);
7462					};
7463				}(function() {
7464					e.emit(e.constants.EVENT_RESIZE), e.queue.add(function() {
7465						return e.recalculate(!0, !0);
7466					});
7467				}, 100);
7468			}, g = function(t) {
7469				(function(e) {
7470					if (e.container = r(e.options.container), e.container instanceof r || !e.container) return !!e.options.debug && console.error("Error: Container not found");
7471					e.container.length && (e.container = e.container[0]), e.options.container = e.container, e.container.style.position = "relative";
7472				})(t), function(e) {
7473					e.queue = new d(), e.events = new p(e), e.rows = [], e.resizer = f(e);
7474				}(t), function(t) {
7475					var i = r("img", t.container);
7476					window.addEventListener("resize", t.resizer), t.on(t.constants.EVENT_IMAGE_LOAD, function() {
7477						return t.recalculate(!1, !1);
7478					}), t.on(t.constants.EVENT_IMAGE_COMPLETE, function() {
7479						return t.recalculate(!0, !0);
7480					}), t.options.useOwnImageLoader || e(t, i, !t.options.waitForImages), t.emit(t.constants.EVENT_INITIALIZED);
7481				}(t);
7482			}, w = function(e) {
7483				return e === Object(e) && "[object Array]" !== Object.prototype.toString.call(e);
7484			}, v = function(e, t) {
7485				w(e) || (t.columns = e), w(e) && e.columns && (t.columns = e.columns), w(e) && e.margin && !w(e.margin) && (t.margin = {
7486					x: e.margin,
7487					y: e.margin
7488				}), w(e) && e.margin && w(e.margin) && e.margin.x && (t.margin.x = e.margin.x), w(e) && e.margin && w(e.margin) && e.margin.y && (t.margin.y = e.margin.y);
7489			}, y = function(e, t) {
7490				return window.getComputedStyle(e, null).getPropertyValue(t);
7491			}, b = function(e, t) {
7492				var i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
7493				if (e.lastcol || (e.lastcol = 0), e.rows.length < 1 && (i = !0), i) {
7494					e.rows = [], e.cols = [], e.lastcol = 0;
7495					for (var s = t - 1; s >= 0; s--) e.rows[s] = 0, e.cols[s] = o(e, s);
7496				} else if (e.tmpRows) for (e.rows = [], s = t - 1; s >= 0; s--) e.rows[s] = e.tmpRows[s];
7497				else for (e.tmpRows = [], s = t - 1; s >= 0; s--) e.tmpRows[s] = e.rows[s];
7498			}, x = function(e) {
7499				var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], o = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], d = t ? e.container.children : r(":scope > *:not([data-macy-complete=\"1\"])", e.container);
7500				d = Array.from(d).filter(function(e) {
7501					return null !== e.offsetParent;
7502				});
7503				var c = n(e.options);
7504				return l(d, function(e) {
7505					t && (e.dataset.macyComplete = 0), e.style.width = c;
7506				}
7506), e.options.trueOrder ? (function(e, t) {
7507					var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], o = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3], r = i(e.options), d = s(e.options).y;
7508					b(e, r, n), l(t, function(t) {
7509						e.lastcol === r && (e.lastcol = 0);
7510						var i = y(t, "height");
7511						i = parseInt(t.offsetHeight, 10), isNaN(i) || (t.style.position = "absolute", t.style.top = e.rows[e.lastcol] + "px", t.style.left = "" + e.cols[e.lastcol], e.rows[e.lastcol] += isNaN(i) ? 0 : i + d, e.lastcol += 1, o && (t.dataset.macyComplete = 1));
7512					}), o && (e.tmpRows = null), a(e);
7513				}(e, d, t, o), e.emit(e.constants.EVENT_RECALCULATED)) : (function(e, t) {
7514					var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], o = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3], r = i(e.options), d = s(e.options).y;
7515					b(e, r, n), l(t, function(t) {
7516						var i = 0, s = parseInt(t.offsetHeight, 10);
7517						isNaN(s) || (e.rows.forEach(function(t, s) {
7518							t < e.rows[i] && (i = s);
7519						}), t.style.position = "absolute", t.style.top = e.rows[i] + "px", t.style.left = "" + e.cols[i], e.rows[i] += isNaN(s) ? 0 : s + d, o && (t.dataset.macyComplete = 1));
7520					}), o && (e.tmpRows = null), a(e);
7521				}(e, d, t, o), e.emit(e.constants.EVENT_RECALCULATED));
7522			}, T = Object.assign || function(e) {
7523				for (var t = 1; t < arguments.length; t++) {
7524					var i = arguments[t];
7525					for (var s in i) Object.prototype.hasOwnProperty.call(i, s) && (e[s] = i[s]);
7526				}
7527				return e;
7528			};
7529			Array.from || (Array.from = function(e) {
7530				for (var t = 0, i = []; t < e.length;) i.push(e[t++]);
7531				return i;
7532			});
7533			var C = {
7534				columns: 4,
7535				margin: 2,
7536				trueOrder: !1,
7537				waitForImages: !1,
7538				useImageLoader: !0,
7539				breakAt: {},
7540				useOwnImageLoader: !1,
7541				onInit: !1,
7542				cancelLegacy: !1,
7543				useContainerForBreakpoints: !1
7544			};
7545			(function() {
7546				try {
7547					document.createElement("a").querySelector(":scope *");
7548				} catch (e) {
7549					(function() {
7550						function e(e) {
7551							return function(i) {
7552								if (i && t.test(i)) {
7553									var s = this.getAttribute("id");
7554									s || (this.id = "q" + Math.floor(9e6 * Math.random()) + 1e6), arguments[0] = i.replace(t, "#" + this.id);
7555									var n = e.apply(this, arguments);
7556									return null === s ? this.removeAttribute("id") : s || (this.id = s), n;
7557								}
7558								return e.apply(this, arguments);
7559							};
7560						}
7561						var t = /:scope\b/gi, i = e(Element.prototype.querySelector);
7562						Element.prototype.querySelector = function(e) {
7563							return i.apply(this, arguments);
7564						};
7565						var s = e(Element.prototype.querySelectorAll);
7566						Element.prototype.querySelectorAll = function(e) {
7567							return s.apply(this, arguments);
7568						};
7569					})();
7570				}
7571			})();
7572			var E = function e() {
7573				var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : C;
7574				if (!(this instanceof e)) return new e(t);
7575				this.options = {}, T(this.options, C, t), this.options.cancelLegacy && !window.Promise || g(this);
7576			};
7577			return E.init = function(e) {
7578				return console.warn("Depreciated: Macy.init will be removed in v3.0.0 opt to use Macy directly like so Macy({ /*options here*/ }) "), new E(e);
7579			}, E.prototype.recalculateOnImageLoad = function() {
7580				var t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
7581				return e(this, r("img", this.container), !t);
7582			}, E.prototype.runOnImageLoad = function(t) {
7583				var i = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], s = r("img", this.container);
7584				return this.on(this.constants.EVENT_IMAGE_COMPLETE, t), i && this.on(this.constants.EVENT_IMAGE_LOAD, t), e(this, s, i);
7585			}, E.prototype.recalculate = function() {
7586				var e = this, t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0], i = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1];
7587				return i && this.queue.clear(), this.queue.add(function() {
7588					return x(e, t, i);
7589				});
7590			}, E.prototype.remove = function() {
7591				window.removeEventListener("resize", this.resizer), l(this.container.children, function(e) {
7592					e.removeAttribute("data-macy-complete"), e.removeAttribute("style");
7593				}), this.container.removeAttribute("style");
7594			}, E.prototype.reInit = function() {
7595				this.recalculate(!0, !0), this.emit(this.constants.EVENT_INITIALIZED), window.addEventListener("resize", this.resizer), this.container.style.position = "relative";
7596			}, E.prototype.on = function(e, t) {
7597				this.events.on(e, t);
7598			}, E.prototype.emit = function(e, t) {
7599				this.events.emit(e, t);
7600			}, E.constants = {
7601				EVENT_INITIALIZED: "macy.initialized",
7602				EVENT_RECALCULATED: "macy.recalculated",
7603				EVENT_IMAGE_LOAD: "macy.image.load",
7604				EVENT_IMAGE_ERROR: "macy.image.error",
7605				EVENT_IMAGE_COMPLETE: "macy.images.complete",
7606				EVENT_RESIZE: "macy.resize"
7607			}, E.prototype.constants = E.constants, E;
7608		};
7609		"object" == typeof e && void 0 !== t ? t.exports = s() : "function" == typeof define && define.amd ? define(s) : i.Macy = s();
7610	})(), 1);
7611	jQuery(function(e) {
7612		const t = e(window), i = e("body");
7613		let s = t.height(), n = e(".navbar-toggle").is(":hidden"), o = e("header.header"), a = {}, r = 0, l = function(e) {
7614			return { pagination: {
7615				el: e.querySelector(".swiper-pagination"),
7616				clickable: !0
7617			} };
7618		};
7619		yt.init(), bt.init(), xt.init(), Tt.init(), Ct.init(), Et.init(), St.init();
7620		let d = e(".dark-style-toggle");
7621		function c(e, t) {
7622			setTimeout(() => {
7623				"undefined" != typeof tinymce && tinymce.editors && tinymce.editors.map((t) => {
7624					try {
7625						t.contentWindow.document.body.style.color = e ? "#fff" : "#232339", e ? t.contentWindow.document.body.classList.add("style-for-dark") : t.contentWindow.document.body.classList.remove("style-for-dark");
7626					} catch (e) {}
7627				}), t && setTimeout(() => {
7628					"undefined" != typeof tinymce && tinymce.editors && tinymce.editors.map((t) => {
7629						t.contentWindow.document.body.style.color = e ? "#fff" : "#232339", e ? t.contentWindow.document.body.classList.add("style-for-dark") : t.contentWindow.document.body.classList.remove("style-for-dark");
7630					});
7631				}, 2e3);
7632			}, 500);
7633		}
7634		function p(e) {
7635			i.trigger("swiper", {
7636				el: e,
7637				args: Object.assign(l(e), {
7638					autoHeight: !0,
7639					breakpoints: { 768: { autoHeight: !1 } }
7640				})
7641			});
7642		}
7643		function u() {
7644			if (!n) for (var t = e("header li.dropdown"), i = 0; i < t.length; i++) {
7645				var s = e(t[i]);
7646				0 == s.find(".m-dropdown").length && s.append("<div class=\"m-dropdown\"><i class=\"wpcom-icon wi\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-arrow-down-3\"></use></svg></i></div>");
7647			}
7648		}
7649		0 === d.length && _wpcom_js.dark_style && "1" == _wpcom_js.dark_style || _wpcom_js.dark_style && "2" == _wpcom_js.dark_style && window.matchMedia("(prefers-color-scheme: dark)").matches ? c(1, 1) : d.length && c(d.hasClass("active"), 1), window.kx_share = function(t) {
7650			let i = e(t).closest(".kx-item");
7651			if (i.length && i.hasClass("entry-footer")) return i = e(".entry"), {
7652				title: i.find(".entry-title").text().trim(),
7653				description: i.find(".entry-content").text().trim().replace("[原文链接]", ""),
7654				url: window.location.href,
7655				image: i.find(".entry-content img").attr("src")
7656			};
7657			if (i.length) {
7658				let e = (i.find(".kx-title").length ? i.find(".kx-title").text() : i.find(".kx-content h2").text()).match(/^\s*([^\s]+)\s*$/);
7659				return {
7660					title: e && e[1] ? e[1] : "",
7661					description: i.find(".kx-content p").text().trim().replace("[原文链接]", ""),
7662					url: i.find(".kx-meta").data("url"),
7663					image: i.find(".kx-content img").length ? i.find(".kx-content img").attr("src") : ""
7664				};
7665			}
7666		}, window.zt_share = function(t) {
7667			let i = e(t).closest(".special-item");
7668			if (i.length) return {
7669				title: i.find(".special-item-title h2").text().trim(),
7670				description: i.find(".special-item-desc").text().trim(),
7671				url: i.find(".special-item-more").attr("href"),
7672				image: i.find(".special-item-thumb img").attr("src")
7673			};
7674		}, u(), t.on("resize", function() {
7675			n = e(".navbar-toggle").is(":hidden"), s = t.height(), u(), b();
7676		}), e(".swiper-container").not(".main-slider,.entry-content-slider,.modules-default-slider > .swiper-container").each((t, s) => {
7677			e(s).closest(".widget_post_slider, .widget_image_slider").length, i.trigger("swiper", {
7678				el: s,
7679				args: l(s)
7680			});
7681		}), e(".main-slider").each((e, t) => {
7682			p(t);
7683		});
7684		const h = e("#wrap"), m = e("footer.footer");
7685		let f;
7686		h.find(".post-loop-masonry").length && h.find(".post-loop-masonry").each(function(t, i) {
7687			(function(t) {
7688				const i = e(t);
7689				let s = "id-" + r;
7690				i.data("macy_id", s), r += 1;
7691				let n, o = i.attr("class").match(/cols-([\d]+)/i), l = (0, kt.default)({
7692					container: t,
7693					columns: o && o[1] ? o[1] : 3,
7694					breakAt: {
7695						1024: 3,
7696						767: 2
7697					}
7698				});
7699				a[s] = l, requestAnimationFrame(() => {
7700					null !== t.offsetParent && a[s].recalculate(!0);
7701				}), new MutationObserver(function(t) {
7702					t.forEach(function(t) {
7703						if ("attributes" === t.type && "IMG" === t.target.nodeName) n && clearTimeout(n), n = setTimeout(() => l.recalculate(!0), 5);
7704						else if ("childList" === t.type) {
7705							let i = Array.prototype.slice.call(t.addedNodes);
7706							if (i && i.length) {
7707								let t = e(i);
7708								t.find("img.j-lazy").on("load", function() {
7709									e(this).attr("img-loaded", !0);
7710								}
7710), t.find(".item-img img:not(.j-lazy)").on("load", function() {
7711									e(this).attr("img-loaded", !0);
7712								});
7713							}
7714						}
7715					});
7716				}).observe(t, {
7717					childList: !0,
7718					subtree: !0,
7719					attributes: !0,
7720					characterData: !1
7721				}), i.find(".item-img img:not(.j-lazy)").on("load", function() {
7722					e(this).attr("img-loaded", !0);
7723				});
7724			})(i);
7725		});
7726		const g = new MutationObserver(function(e) {
7727			e.forEach(function(e) {
7728				f && clearTimeout(f), f = setTimeout(() => {
7729					b(), h.find("img").eq(0).attr("top-news-change", !0);
7730				}, 50);
7731			});
7732		});
7733		let w = document.querySelector(".top-news");
7734		w && g.observe(w, {
7735			childList: !0,
7736			subtree: !0,
7737			attributes: !0,
7738			characterData: !1
7739		});
7740		const v = new MutationObserver(function(e) {
7741			e.forEach(function(e) {
7742				"childList" === e.type && e.addedNodes.length && u();
7743			});
7744		});
7745		let y = e(".navbar-action");
7746		function b() {
7747			if (h.length && m.length) {
7748				let e = parseInt(m.css("marginBottom"));
7749				e = e || 0;
7750				let t = s - h.offset().top - m.outerHeight() - e;
7751				h.css("min-height", t);
7752			}
7753		}
7754		y.length && v.observe(y[0], {
7755			childList: !0,
7756			subtree: !0,
7757			attributes: !1,
7758			characterData: !1
7759		}), i.on("click", ".kx-new", function() {
7760			window.location.href = window.location.href;
7761		}).on("click", ".widget-kx-list .kx-title", function() {
7762			var t = e(this);
7763			t.parent().find(".kx-content").slideToggle("fast"), t.closest(".kx-item").toggleClass("active");
7764		}).on("click", ".j-post-tab", function() {
7765			let t = e(this), i = t.closest(".widget"), s = t.index(), n = i.find(".j-post-tab-wrap");
7766			i.find(".j-post-tab").removeClass("active"), t.addClass("active"), n.removeClass("active").eq(s).addClass("active");
7767		}).on("click", ".ez-toc-widget-sticky-container li > a, .ez-toc-widget-container li > a, .ez-toc-counter li > a", function() {
7768			C.find(".entry-readmore-btn").trigger("click");
7769		}).on("module.render.tjnr", function(e, t, i) {
7770			t && t.length && t.forEach((e) => {
7771				const t = document.querySelector(`#modules-${e} .main-slider`);
7772				t && p(t);
7773			});
7774		}).on("module.destroy.tjnr", function(e, t) {
7775			t && t.length && t.forEach((e) => {
7776				let t = document.querySelector(`#modules-${e} .main-slider`);
7777				t && t.__swiper && t.__swiper.destroy();
7778			});
7779		}), b();
7780		const x = e(".kx-list");
7781		if (x.length && !x.closest(".main-list-inner").length) {
7782			let i;
7783			window.kxDate = x.find(".kx-date"), i = o.outerHeight() + o.position().top;
7784			let s = kxDate.first().offset().top, n = { $el: null }, a = e(".kx-new"), r = kxDate.first().outerHeight();
7785			t.on("scroll", function() {
7786				let o = t.scrollTop(), l = kxDate.length - 1;
7787				e.each(kxDate, function(t, d) {
7788					var c = e(d), p = c.offset().top - o - i;
7789					p > 0 && n.$el && n.top < 0 ? (kxDate.removeClass("fixed").css({
7790						width: "auto",
7791						top: "auto"
7792					}), n.$el.addClass("fixed").css("top", i).css("width", x.outerWidth()), a.addClass("fixed").css({
7793						top: i + 51,
7794						width: x.outerWidth()
7795					}), x.css("padding-top", r)) : 0 === t && p <= 0 ? (s - i >= o ? (kxDate.removeClass("fixed").css({
7796						width: "auto",
7797						top: "auto"
7798					}), a.removeClass("fixed").css("width", "auto"), x.css("padding-top", "")) : (kxDate.removeClass("fixed").css({
7799						width: "auto",
7800						top: "auto"
7801					}), c.addClass("fixed").css("top", i).css("width", x.outerWidth()), a.addClass("fixed").css({
7802						top: i + 51,
7803						width: x.outerWidth()
7804					}), x.css("padding-top", r)), n.$el = c, n.top = p) : (t === l && p <= 0 ? (kxDate.removeClass("fixed").css({
7805						width: "auto",
7806						top: "auto"
7807					}), c.addClass("fixed").css("top", i).css("width", x.outerWidth()), a.addClass("fixed").css({
7808						top: i + 51,
7809						width: x.outerWidth()
7810					}), x.css("padding-top", r)) : 0 === t && p > 0 && kxDate.hasClass("fixed") && (kxDate.removeClass("fixed").css({
7811						width: "auto",
7812						top: "auto"
7813					}), a.removeClass("fixed").css("width", "auto"), x.css("padding-top", "")), n.$el = c, n.top = p);
7814				});
7815			}), setInterval(function() {
7816				let t = e(".kx-item").first().data("id");
7817				e.ajax({
7818					url: _wpcom_js.ajaxurl,
7819					data: {
7820						id: t,
7821						action: "wpcom_new_kuaixun"
7822					},
7823					method: "POST",
7824					dataType: "text",
7825					success: function(t) {
7826						t && e(".kx-new").html(t).show();
7827					}
7828				});
7829			}, 1e4);
7830		}
7831		e(".kx-list,.widget-kx-list,.entry-footer,.main-list-inner").on("click", ".share-icon", function() {
7832			const t = e(this), i = kx_share(this);
7833			if (i && t.hasClass("copy")) {
7834				let t = i.title + "\r\n" + i.description + "\r\n" + decodeURIComponent(i.url);
7835				e(document).trigger("copy_text", [
7836					t,
7837					() => {
7838						wpcom_notice({
7839							message: _wpcom_js.js_lang.copy_done,
7840							show: 1500
7841						});
7842					},
7843					() => {
7844						wpcom_alert(_wpcom_js.js_lang.copy_fail);
7845					}
7846				]);
7847			}
7848		}), e(".navbar-search").on("keydown", ".navbar-search-input", function() {
7849			e(this).closest(".navbar-search").removeClass("warning");
7850		}).on("submit", function() {
7851			var t = e(this);
7852			if ("" === t.find(".navbar-search-input").val().trim()) return t.addClass("warning"), t.find(".navbar-search-input").trigger("focus"), !1;
7853		}), e(document).on("click", function(t) {
7854			const i = e(t.target);
7855			n && 0 === i.closest(".navbar-search").length && 0 === i.closest(".j-navbar-search").length && o.find(".navbar-search").fadeOut(300, function() {
7856				o.find(".primary-menu").fadeIn(300), o.find(".j-navbar-search").fadeIn(300).css("display", "inline-block"), o.removeClass("is-search");
7857			});
7858		}).on("click", ".j-navbar-search", function() {
7859			o.find(".j-navbar-search").fadeOut(300), o.find(".primary-menu").fadeOut(300, function() {
7860				o.find(".navbar-search").removeClass("warning").fadeIn(300, function() {
7861					e(".navbar-search-input").trigger("focus");
7862				}), o.addClass("is-search");
7863			});
7864		}).on("click", ".navbar-search-close", function() {
7865			o.find(".navbar-search").fadeOut(300, function() {
7866				o.find(".primary-menu").fadeIn(300), o.find(".j-navbar-search").fadeIn(300).css("display", "inline-block"), o.removeClass("is-search");
7867			});
7868		}).on("click", "#j-reading-back", function() {
7869			i.removeClass("reading"), e(this).remove();
7870		}).on("click", "#j-reading", function() {
7871			i.addClass("reading").append("<div class=\"reading-back\" id=\"j-reading-back\"><i class=\"wpcom-icon wi\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-back\"></use></svg></i></div>");
7872		}).on("click", ".dark-style-toggle", function() {
7873			let t = e(this), s = t.hasClass("active");
7874			t.addClass("loading"), window.localStorage && localStorage.setItem("darkStyle", s ? 0 : 1), c(s ? 0 : 1), s ? (i.removeClass("style-for-dark"), setTimeout(() => {
7875				t.find("use")[0].setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", "#wi-sun-fill"), t.removeClass("active"), t.removeClass("loading");
7876			}, 580)) : (i.addClass("style-for-dark"), setTimeout(() => {
7877				t.find("use")[0].setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", "#wi-moon-fill"), t.addClass("active"), t.removeClass("loading");
7878			}, 580));
7879		}), e(".entry").on("click", ".btn-zan", function() {
7880			var t = e(this);
7881			if (!t.hasClass("liked")) {
7882				var i = t.data("id");
7883				e.ajax({
7884					type: "POST",
7885					url: _wpcom_js.ajaxurl,
7886					data: {
7887						action: "wpcom_like_it",
7888						id: i
7889					},
7890					dataType: "json",
7891					success: function(e) {
7892						0 == e.result ? t.addClass("liked").find("span").html("(" + e.likes + ")") : -2 == e.result && t.addClass("liked");
7893					}
7894				});
7895			}
7896		}).on("click", ".j-heart", function() {
7897			const t = e(this);
7898			let i = t.data("id");
7899			e.ajax({
7900				type: "POST",
7901				url: _wpcom_js.ajaxurl,
7902				data: {
7903					action: "wpcom_heart_it",
7904					id: i
7905				},
7906				dataType: "json",
7907				success: function(i) {
7908					0 == i.result ? (t.addClass("hearted").find("span").html(i.favorites), t.find(".wi").html("<svg aria-hidden=\"true\"><use xlink:href=\"#wi-star-fill\"></use></svg>")) : 1 == i.result ? (t.removeClass("hearted").find("span").html(i.favorites), t.find(".wi").html("<svg aria-hidden=\"true\"><use xlink:href=\"#wi-star\"></use></svg>")) : -1 == i.result && e("#login-modal")._modal();
7909				}
7910			});
7911		}), e("#commentform").on("submit", function() {
7912			var t = e(".comment-form-comment textarea"), i = 0, s = 0, n = e(this).find("input.required");
7913			if ("" === t.val().trim() && (t.addClass("error").trigger("focus"), s = 1, i = 1), n.each(function(t, n) {
7914				var o = e(n);
7915				"" === o.val().trim() && (o.addClass("error"), 0 == s && (o.trigger("focus"), s = 1), i = 1);
7916			}), i) return !1;
7917		}).on("keydown", ".required", function() {
7918			e(this).removeClass("error");
7919		}), e("#comments, #reviews").on("click", ".comment-must-login,#must-submit,.comment-reply-login", function() {
7920			return e("#login-modal")._modal(), !1;
7921		});
7922		var T = e(".entry-bar");
7923		T.length && t.width() > 767 && (E(), t.on("scroll", function() {
7924			E();
7925		}));
7926		const C = e(".entry-readmore");
7927		if (C.length) {
7928			const i = e(".entry-content");
7929			let s = i.outerHeight();
7930			if (i.find(".entry-copyright").length && (s -= i.find(".entry-copyright").outerHeight()), s > t.height() + 150) {
7931				let e = (s - t.height()) / s, n = _wpcom_js.js_lang.expand_more.replace("%s", parseInt(100 * e) + "%");
7932				C.find(".entry-readmore-btn").html(n + "<i class=\"wpcom-icon wi\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-expand\"></use></svg></i>"), i.css({
7933					height: t.height(),
7934					overflow: "hidden"
7935				}), C.on("click", ".entry-readmore-btn", function() {
7936					i.css({
7937						height: "",
7938						overflow: ""
7939					}), C.hide();
7940				}), C.show();
7941			}
7942		}
7943		function E() {
7944			T.offset().top + T.outerHeight() > t.scrollTop() + s ? (T.addClass("fixed"), T.find(".entry-bar-inner").css("width", e(".main").width())) : T.removeClass("fixed");
7945		}
7946		h.find("img.j-lazy").on("load", function() {
7947			e(this).attr("img-loaded", !0);
7948		});
7949		let S = null;
7950		e("#wrap").on("click", ".j-newslist .main-list-tab", function() {
7951			let t = e(this), s = t.parent(), n = t.closest(".main-list").find(".main-list-inner"), o = s.find(".main-list-tab.active").index(), r = t.index();
7952			s.find(".main-list-tab").removeClass("active"), t.addClass("active");
7953			let d = t.find("a").data("id");
7954			if (!d || 1 == t.data("loaded") || 0 === t.index()) {
7955				n.removeClass("active"), n.eq(r).addClass("active");
7956				let e = n.eq(r).find(".post-loop-masonry");
7957				if (e.length && e.data("macy_id")) {
7958					let t = e.data("macy_id");
7959					a && a[t] && a[t].recalculate(!0);
7960				}
7961				return;
7962			}
7963			n.eq(o).append("<i class=\"wpcom-icon wi wi-loader\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-loader\"></use></svg></i>"), n.eq(o).addClass("loading");
7964			const c = t.closest(".main-list");
7965			let p = c.data("type"), u = c.data("per_page");
7966			e.ajax({
7967				type: "POST",
7968				url: _wpcom_js.ajaxurl,
7969				data: {
7970					action: "wpcom_load_posts",
7971					id: d,
7972					type: p ?? "default",
7973					per_page: u
7974				},
7975				dataType: "html",
7976				success(s) {
7977					const d = e("0" == s ? "<li class=\"item\"><p style=\"text-align: center;color:#999;margin:10px 0;\">" + _wpcom_js.js_lang.no_content + "</p></li>" : s);
7978					n.eq(r).find(".post-loop").html(d), n.eq(o).find(".wi-loader").remove(), n.eq(o).removeClass("loading"), requestAnimationFrame(() => {
7979						n.removeClass("active"), n.eq(r).addClass("active");
7980						const t = d.parent().find(".load-more-wrap");
7981						if (t.length) {
7982							let e = t.prop("outerHTML");
7983							n.eq(r).append(e), t.remove();
7984						}
7985						let s = n.eq(r).find(".post-loop-masonry");
7986						if (s.length && (s.find("img.j-lazy").on("load", function() {
7987							e(this).attr("img-loaded", !0);
7988						}), s.data("macy_id"))) {
7989							let e = s.data("macy_id");
7990							a && a[e] && requestAnimationFrame(() => {
7991								a[e].recalculate(!0);
7992							});
7993						}
7994						e(document).trigger("init_lazyload", [d.find(".j-lazy")]), d.find(".swiper-container").length && d.find(".swiper-container").each((e, t) => {
7995							i.trigger("swiper", {
7996								el: t,
7997								args: l(t)
7998							});
7999						});
8000					}), t.data("loaded", 1);
8001				},
8002				error() {
8003					n.eq(o).find(".wi-loader").remove(), n.eq(o).removeClass("loading"), n.removeClass("active"), n.eq(r).addClass("active"), n.eq(r).find(".post-loop").html("<li class=\"item\"><p style=\"text-align: center;color:#999;margin:10px 0;\">" + _wpcom_js.js_lang.load_failed + "</p></li>");
8004				}
8005			});
8006		}).on("click", ".j-mix-tabs .main-list-tab", function() {
8007			let t = e(this), i = t.parent(), s = t.closest(".mix-tabs").find(".main-list-inner");
8008			if (i.find(".main-list-tab").removeClass("active"), t.addClass("active"), s.removeClass("active"), s.eq(t.index()).addClass("active"), 1 == t.data("loaded") || 0 === t.index()) {
8009				let e = s.eq(t.index()).find(".post-loop-masonry");
8010				if (e.length && e.data("macy_id")) {
8011					let t = e.data("macy_id");
8012					a && a[t] && a[t].recalculate(!0);
8013				}
8014				return;
8015			}
8016			s.eq(t.index()).addClass("loading");
8017			let n = i.closest(".wpcom-modules").find("script").html();
8018			n = JSON.parse(n);
8019			const o = n[t.index()];
8020			o && e.ajax({
8021				type: "POST",
8022				url: _wpcom_js.ajaxurl,
8023				data: Object.assign(o, { action: "wpcom_load_mix_tabs" }),
8024				dataType: "html",
8025				success(i) {
8026					s.eq(t.index()).removeClass("loading");
8027					const n = e(i);
8028					s.eq(t.index()).html(n), s.eq(t.index()).find(".post-loop-masonry").length && s.eq(t.index()).find(".post-loop-masonry").find("img.j-lazy").on("load", function() {
8029						e(this).attr("img-loaded", !0);
8030					}), e(document).trigger("init_lazyload", [n.find(".j-lazy")]), 2 == o.t
8030ype && e(document).trigger("init_share"), t.data("loaded", 1);
8031				},
8032				error() {
8033					s.eq(t.index()).html("<li class=\"item\"><p style=\"text-align: center;color:#999;margin:10px 0;\">" + _wpcom_js.js_lang.load_failed + "</p></li>"), s.eq(t.index()).removeClass("loading");
8034				}
8035			});
8036		}).on("mouseenter", ".j-newslist > li, .j-mix-tabs > li", function() {
8037			clearTimeout(S);
8038			const t = e(this), i = t.closest("ul"), s = i.find(".tab-underscore"), n = i.find(">li").first().position().left;
8039			let o = t.position().left - n;
8040			s.css({
8041				transform: "translateX(" + o + "px)",
8042				width: t.width()
8043			});
8044		}).on("mouseleave", ".j-newslist > li, .j-mix-tabs > li", function() {
8045			const t = this;
8046			clearTimeout(S), S = setTimeout(function() {
8047				const i = e(t).closest("ul"), s = i.find(".active"), n = i.find(".tab-underscore"), o = i.find(">li").first().position().left;
8048				let a = s.position().left - o;
8049				n.css({
8050					transform: "translateX(" + a + "px)",
8051					width: s.width()
8052				});
8053			}, 300);
8054		}).on("click", ".j-load-more, .j-load-kx", function() {
8055			const t = e(this);
8056			if (t.hasClass("disabled") || t.hasClass("loading")) return;
8057			let s = null, n = t.data("page");
8058			if (n = void 0 !== n ? n + 1 : 2, t.hasClass("j-load-kx")) s = {
8059				action: "wpcom_load_kuaixun",
8060				page: n
8061			};
8062			else {
8063				let e = t.data("id"), i = t.data("exclude");
8064				const o = t.closest(".main-list");
8065				let a = o.data("type"), r = o.data("per_page");
8066				s = {
8067					action: "wpcom_load_posts",
8068					id: e,
8069					page: n,
8070					type: a || "default",
8071					per_page: r,
8072					exclude: i
8073				};
8074			}
8075			return t.loading(1), e.ajax({
8076				type: "POST",
8077				url: _wpcom_js.ajaxurl,
8078				data: s,
8079				dataType: "html",
8080				success(s, o, a) {
8081					if ("0" == s) t.addClass("disabled").text(_wpcom_js.js_lang.page_loaded);
8082					else {
8083						const o = e(s);
8084						t.hasClass("j-load-more") ? t.closest(".main-list-inner").find(".post-loop").append(o) : t.hasClass("j-load-kx") && (e(o[0]).text() == e(".kx-list .kx-date:last").text() && o.first().hide(), t.parent().before(o), t.parent().parent().find(".kx-date:hidden").remove(), window.kxDate = e(".kx-list .kx-date"), e(document).trigger("init_share")), e(document).trigger("init_lazyload", [o.find(".j-lazy")]), o.find(".swiper-container").length && o.find(".swiper-container").each((e, t) => {
8085							i.trigger("swiper", {
8086								el: t,
8087								args: l(t)
8088							});
8089						}), t.data("page", n);
8090					}
8091					t.loading(0);
8092				},
8093				error() {
8094					t.loading(0);
8095				}
8096			}), !1;
8097		}).on("click", ".j-mix-tabs-more", function() {
8098			const t = e(this), i = t.closest(".main-list-inner"), s = t.closest(".wpcom-modules");
8099			if (t.hasClass("disabled") || t.hasClass("loading")) return;
8100			let n = s.find("script").html();
8101			n = JSON.parse(n);
8102			let o = t.data("page");
8103			o = o || 2;
8104			let a = i.data("index");
8105			if (n && n[a]) {
8106				t.loading(1);
8107				const s = n[a];
8108				s.page = o, e.ajax({
8109					type: "POST",
8110					url: _wpcom_js.ajaxurl,
8111					data: Object.assign(s, { action: "wpcom_load_mix_tabs" }),
8112					dataType: "html",
8113					success(n) {
8114						const a = e(e(n).html());
8115						a && a.length ? (0 == s.type ? i.find(".post-loop").append(a) : 1 == s.type ? i.find(".topic-list").append(a) : 3 == s.type ? i.find(".q-content").append(a) : (i.find(".kx-list").append(a), e(document).trigger("init_share")), e(document).trigger("init_lazyload", [a.find(".j-lazy")]), t.data("page", o + 1)) : (t.addClass("disabled"), t.text(_wpcom_js.js_lang.page_loaded)), t.loading(0);
8116					},
8117					error() {
8118						t.loading(0);
8119					}
8120				});
8121			}
8122		}).on("click", ".j-load-archive", function() {
8123			const t = e(this);
8124			if (t.hasClass("disabled") || t.hasClass("loading")) return;
8125			let i = t.data("page");
8126			i = void 0 !== i ? i + 1 : 2, t.loading(1);
8127			const s = t.closest(".sec-panel-body").find(" > .post-loop");
8128			let n = s.attr("class").match(/post-loop-([a-z0-9_-]+)/i), o = j("attr"), a = j("order");
8129			return k({
8130				$dom: s,
8131				data: {
8132					action: "wpcom_load_posts",
8133					page: i,
8134					taxonomy: t.data("tax"),
8135					id: t.data("id"),
8136					type: n && n[1] ? n[1] : "default",
8137					attr: o || "",
8138					order: a || ""
8139				},
8140				callback() {
8141					t.data("page", i), t.loading(0);
8142				},
8143				error() {
8144					t.loading(0);
8145				}
8146			}), !1;
8147		}), e(".special-wrap").on("click", ".load-more", function() {
8148			var t = e(this);
8149			if (!t.hasClass("disabled") && !t.hasClass("loading")) {
8150				var i = t.data("page");
8151				i = i ? i + 1 : 2, t.loading(1), e.ajax({
8152					type: "POST",
8153					url: _wpcom_js.ajaxurl,
8154					data: {
8155						action: "wpcom_load_special",
8156						page: i
8157					},
8158					dataType: "html",
8159					success(s) {
8160						if ("0" == s) t.addClass("disabled").text(_wpcom_js.js_lang.page_loaded);
8161						else {
8162							var n = e(s);
8163							t.closest(".special-wrap").find(".special-list").append(n), e(document).trigger("init_lazyload", [n.find(".j-lazy")]), t.data("page", i), e(document).trigger("init_share");
8164						}
8165						t.loading(0);
8166					},
8167					error() {
8168						t.loading(0);
8169					}
8170				});
8171			}
8172		});
8173		const _ = e(".load-more-wrap > .scroll-loader");
8174		if (_.length) {
8175			let e = _.parent();
8176			t.on("scroll", function() {
8177				if (t.scrollTop() + s > e.offset().top - 50) {
8178					if (_.hasClass("disabled") || _.hasClass("loading")) return;
8179					let e = _.data("page");
8180					e = void 0 !== e ? e + 1 : 2, _.addClass("loading");
8181					const t = _.closest(".sec-panel-body").find(" > .post-loop");
8182					let i = t.attr("class").match(/post-loop-([a-z0-9_-]+)/i), s = j("attr"), n = j("order");
8183					k({
8184						$dom: t,
8185						data: {
8186							action: "wpcom_load_posts",
8187							page: e,
8188							taxonomy: _.data("tax"),
8189							id: _.data("id"),
8190							type: i && i[1] ? i[1] : "default",
8191							attr: s || "",
8192							order: n || ""
8193						},
8194						callback(t) {
8195							_.data("page", e), "0" == t ? _.removeClass("loading").addClass("disabled").text(_wpcom_js.js_lang.page_loaded) : _.removeClass("loading");
8196						},
8197						error() {
8198							_.removeClass("loading").addClass("disabled");
8199						}
8200					});
8201				}
8202			});
8203		}
8204		function k(t) {
8205			e.ajax({
8206				type: "POST",
8207				url: _wpcom_js.ajaxurl,
8208				data: t.data,
8209				dataType: "html",
8210				success(s) {
8211					if ("0" == s) t.$dom.parent().find(".load-more").addClass("disabled").text(_wpcom_js.js_lang.page_loaded);
8212					else {
8213						const n = e(s);
8214						t.$dom.append(n), e(document).trigger("init_lazyload", [n.find(".j-lazy")]), n.find(".swiper-container").length && n.find(".swiper-container").each((e, t) => {
8215							i.trigger("swiper", {
8216								el: t,
8217								args: l(t)
8218							});
8219						});
8220					}
8221					t.callback && t.callback(s);
8222				},
8223				error() {
8224					t.error && t.error();
8225				}
8226			});
8227		}
8228		function j(e) {
8229			let t = new RegExp("(^|&)" + e + "=([^&]*)(&|$)", "i"), i = window.location.search.substr(1).match(t);
8230			return null != i ? decodeURIComponent(i[2]) : null;
8231		}
8232		function P(e) {
8233			if (!e || !e.length) return;
8234			const t = e.find(".main-list-tabs");
8235			if (!t.length) return;
8236			const i = t[0], s = i.scrollWidth - i.clientWidth;
8237			if (s > 2) {
8238				const t = i.scrollLeft <= 2, n = i.scrollLeft >= s - 2;
8239				e.addClass("is-scrollable"), e.toggleClass("is-at-start", t), e.toggleClass("is-at-end", n), e.find(".tabs-scroll-prev").css("display", t ? "none" : "flex"), e.find(".tabs-scroll-next").css("display", n ? "none" : "flex");
8240			} else e.removeClass("is-scrollable is-at-start is-at-end"), e.find(".tabs-scroll-btn").css("display", "none");
8241		}
8242		function M() {
8243			e(".tabs-scroll-wrap").each(function() {
8244				P(e(this));
8245			});
8246		}
8247		function I(e, t) {
8248			e[0].scrollTo({
8249				left: t,
8250				behavior: "smooth"
8251			}), setTimeout(() => M(), 350);
8252		}
8253		let L;
8254		e(".j-newslist, .j-mix-tabs").each(function() {
8255			const t = e(this);
8256			if (t.parent().hasClass("tabs-scroll-wrap")) return;
8257			t.wrap("<div class=\"tabs-scroll-wrap\"></div>");
8258			const i = t.parent(".tabs-scroll-wrap");
8259			i.prepend("<span class=\"tabs-scroll-btn tabs-scroll-prev\"><i class=\"wpcom-icon wi\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-arrow-left\"></use></svg></i></span>"), i.append("<span class=\"tabs-scroll-btn tabs-scroll-next\"><i class=\"wpcom-icon wi\"><svg aria-hidden=\"true\"><use xlink:href=\"#wi-arrow-right\"></use></svg></i></span>"), P(i);
8260		}), t.on("resize", function() {
8261			clearTimeout(L), L = setTimeout(M, 200);
8262		}), h.on("scroll", ".tabs-scroll-wrap .main-list-tabs", function() {
8263			const t = e(this).parent(".tabs-scroll-wrap");
8264			t.length && P(t);
8265		}), h.on("click", ".tabs-scroll-prev", function() {
8266			const t = e(this).siblings(".main-list-tabs"), i = t[0], s = Math.max(.6 * i.clientWidth, 200);
8267			I(t, Math.max(0, i.scrollLeft - s));
8268		}).on("click", ".tabs-scroll-next", function() {
8269			const t = e(this).siblings(".main-list-tabs"), i = t[0], s = Math.max(.6 * i.clientWidth, 200);
8270			I(t, Math.min(i.scrollWidth - i.clientWidth, i.scrollLeft + s));
8271		});
8272		const A = new MutationObserver(function() {
8273			M();
8274		});
8275		e(".j-newslist, .j-mix-tabs").each(function() {
8276			A.observe(this, {
8277				childList: !0,
8278				subtree: !0,
8279				attributes: !0,
8280				characterData: !1
8281			});
8282		}), h.on("click", ".j-newslist .main-list-tab, .j-mix-tabs .main-list-tab", function() {
8283			const t = e(this), i = t.closest(".main-list-tabs");
8284			if (!i.parent(".tabs-scroll-wrap").hasClass("is-scrollable")) return;
8285			const s = i[0], n = t.position().left, o = n + t.outerWidth(), a = s.scrollLeft, r = a + s.clientWidth, l = parseInt(i.css("padding-left")) || 0;
8286			n - l < a ? I(i, Math.max(0, n - l - 30)) : o > r && I(i, Math.min(s.scrollWidth - s.clientWidth, o - s.clientWidth + 30));
8287		});
8288	});
8289});

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.