/*
 * Owl carousel
 * @version 2.0.0
 * @author Bartosz Wojciechowski
 * @license The MIT License (MIT)
 * @todo Lazy Load Icon
 * @todo prevent animationend bubling
 * @todo itemsScaleUp
 * @todo Test Zepto
 * @todo stagePadding calculate wrong active classes
 */
! function (a, b, c, d) {
	function e(b, c) {
		this.settings = null, this.options = a.extend({}, e.Defaults, c), this.$element = a(b), this.drag = a.extend({}, m), this.state = a.extend({}, n), this.e = a.extend({}, o), this._plugins = {}, this._supress = {}, this._current = null, this._speed = null, this._coordinates = [], this._breakpoint = null, this._width = null, this._items = [], this._clones = [], this._mergers = [], this._invalidated = {}, this._pipe = [], a.each(e.Plugins, a.proxy(function (a, b) {
			this._plugins[a[0].toLowerCase() + a.slice(1)] = new b(this)
		}, this)), a.each(e.Pipe, a.proxy(function (b, c) {
			this._pipe.push({
				filter: c.filter,
				run: a.proxy(c.run, this)
			})
		}, this)), this.setup(), this.initialize()
	}

	function f(a) {
		if (a.touches !== d) return {
			x: a.touches[0].pageX,
			y: a.touches[0].pageY
		};
		if (a.touches === d) {
			if (a.pageX !== d) return {
				x: a.pageX,
				y: a.pageY
			};
			if (a.pageX === d) return {
				x: a.clientX,
				y: a.clientY
			}
		}
	}

	function g(a) {
		var b, d, e = c.createElement("div"),
			f = a;
		for (b in f)
			if (d = f[b], "undefined" != typeof e.style[d]) return e = null, [d, b];
		return [!1]
	}

	function h() {
		return g(["transition", "WebkitTransition", "MozTransition", "OTransition"])[1]
	}

	function i() {
		return g(["transform", "WebkitTransform", "MozTransform", "OTransform", "msTransform"])[0]
	}

	function j() {
		return g(["perspective", "webkitPerspective", "MozPerspective", "OPerspective", "MsPerspective"])[0]
	}

	function k() {
		return "ontouchstart" in b || !!navigator.msMaxTouchPoints
	}

	function l() {
		return b.navigator.msPointerEnabled
	}
	var m, n, o;
	m = {
		start: 0,
		startX: 0,
		startY: 0,
		current: 0,
		currentX: 0,
		currentY: 0,
		offsetX: 0,
		offsetY: 0,
		distance: null,
		startTime: 0,
		endTime: 0,
		updatedX: 0,
		targetEl: null
	}, n = {
		isTouch: !1,
		isScrolling: !1,
		isSwiping: !1,
		direction: !1,
		inMotion: !1
	}, o = {
		_onDragStart: null,
		_onDragMove: null,
		_onDragEnd: null,
		_transitionEnd: null,
		_resizer: null,
		_responsiveCall: null,
		_goToLoop: null,
		_checkVisibile: null
	}, e.Defaults = {
		items: 3,
		loop: !1,
		center: !1,
		mouseDrag: !0,
		touchDrag: !0,
		pullDrag: !0,
		freeDrag: !1,
		margin: 0,
		stagePadding: 0,
		merge: !1,
		mergeFit: !0,
		autoWidth: !1,
		startPosition: 0,
		rtl: !1,
		smartSpeed: 250,
		fluidSpeed: !1,
		dragEndSpeed: !1,
		responsive: {},
		responsiveRefreshRate: 200,
		responsiveBaseElement: b,
		responsiveClass: !1,
		fallbackEasing: "swing",
		info: !1,
		nestedItemSelector: !1,
		itemElement: "div",
		stageElement: "div",
		themeClass: "owl-theme",
		baseClass: "owl-carousel",
		itemClass: "owl-item",
		centerClass: "center",
		activeClass: "active"
	}, e.Width = {
		Default: "default",
		Inner: "inner",
		Outer: "outer"
	}, e.Plugins = {}, e.Pipe = [{
		filter: ["width", "items", "settings"],
		run: function (a) {
			a.current = this._items && this._items[this.relative(this._current)]
		}
	}, {
		filter: ["items", "settings"],
		run: function () {
			var a = this._clones,
				b = this.$stage.children(".cloned");
			(b.length !== a.length || !this.settings.loop && a.length > 0) && (this.$stage.children(".cloned").remove(), this._clones = [])
		}
	}, {
		filter: ["items", "settings"],
		run: function () {
			var a, b, c = this._clones,
				d = this._items,
				e = this.settings.loop ? c.length - Math.max(2 * this.settings.items, 4) : 0;
			for (a = 0, b = Math.abs(e / 2); b > a; a++) e > 0 ? (this.$stage.children().eq(d.length + c.length - 1).remove(), c.pop(), this.$stage.children().eq(0).remove(), c.pop()) : (c.push(c.length / 2), this.$stage.append(d[c[c.length - 1]].clone().addClass("cloned")), c.push(d.length - 1 - (c.length - 1) / 2), this.$stage.prepend(d[c[c.length - 1]].clone().addClass("cloned")))
		}
	}, {
		filter: ["width", "items", "settings"],
		run: function () {
			var a, b, c, d = this.settings.rtl ? 1 : -1,
				e = (this.width() / this.settings.items).toFixed(3),
				f = 0;
			for (this._coordinates = [], b = 0, c = this._clones.length + this._items.length; c > b; b++) a = this._mergers[this.relative(b)], a = this.settings.mergeFit && Math.min(a, this.settings.items) || a, f += (this.settings.autoWidth ? this._items[this.relative(b)].width() + this.settings.margin : e * a) * d, this._coordinates.push(f)
		}
	}, {
		filter: ["width", "items", "settings"],
		run: function () {
			var b, c, d = (this.width() / this.settings.items).toFixed(3),
				e = {
					width: Math.abs(this._coordinates[this._coordinates.length - 1]) + 2 * this.settings.stagePadding,
					"padding-left": this.settings.stagePadding || "",
					"padding-right": this.settings.stagePadding || ""
				};
			if (this.$stage.css(e), e = {
					width: this.settings.autoWidth ? "auto" : d - this.settings.margin
				}, e[this.settings.rtl ? "margin-left" : "margin-right"] = this.settings.margin, !this.settings.autoWidth && a.grep(this._mergers, function (a) {
					return a > 1
				}).length > 0)
				for (b = 0, c = this._coordinates.length; c > b; b++) e.width = Math.abs(this._coordinates[b]) - Math.abs(this._coordinates[b - 1] || 0) - this.settings.margin, this.$stage.children().eq(b).css(e);
			else this.$stage.children().css(e)
		}
	}, {
		filter: ["width", "items", "settings"],
		run: function (a) {
			a.current && this.reset(this.$stage.children().index(a.current))
		}
	}, {
		filter: ["position"],
		run: function () {
			this.animate(this.coordinates(this._current))
		}
	}, {
		filter: ["width", "position", "items", "settings"],
		run: function () {
			var a, b, c, d, e = this.settings.rtl ? 1 : -1,
				f = 2 * this.settings.stagePadding,
				g = this.coordinates(this.current()) + f,
				h = g + this.width() * e,
				i = [];
			for (c = 0, d = this._coordinates.length; d > c; c++) a = this._coordinates[c - 1] || 0, b = Math.abs(this._coordinates[c]) + f * e, (this.op(a, "<=", g) && this.op(a, ">", h) || this.op(b, "<", g) && this.op(b, ">", h)) && i.push(c);
			this.$stage.children("." + this.settings.activeClass).removeClass(this.settings.activeClass), this.$stage.children(":eq(" + i.join("), :eq(") + ")").addClass(this.settings.activeClass), this.settings.center && (this.$stage.children("." + this.settings.centerClass).removeClass(this.settings.centerClass), this.$stage.children().eq(this.current()).addClass(this.settings.centerClass))
		}
	}], e.prototype.initialize = function () {
		if (this.trigger("initialize"), this.$element.addClass(this.settings.baseClass).addClass(this.settings.themeClass).toggleClass("owl-rtl", this.settings.rtl), this.browserSupport(), this.settings.autoWidth && this.state.imagesLoaded !== !0) {
			var b, c, e;
			if (b = this.$element.find("img"), c = this.settings.nestedItemSelector ? "." + this.settings.nestedItemSelector : d, e = this.$element.children(c).width(), b.length && 0 >= e) return this.preloadAutoWidthImages(b), !1
		}
		this.$element.addClass("owl-loading"), this.$stage = a("<" + this.settings.stageElement + ' class="owl-stage"/>').wrap('<div class="owl-stage-outer">'), this.$element.append(this.$stage.parent()), this.replace(this.$element.children().not(this.$stage.parent())), this._width = this.$element.width(), this.refresh(), this.$element.removeClass("owl-loading").addClass("owl-loaded"), this.eventsCall(), this.internalEvents(), this.addTriggerableEvents(), this.trigger("initialized")
	}, e.prototype.setup = function () {
		var b = this.viewport(),
			c = this.options.responsive,
			d = -1,
			e = null;
		c ? (a.each(c, function (a) {
			b >= a && a > d && (d = Number(a))
		}), e = a.extend({}, this.options, c[d]), delete e.responsive, e.responsiveClass && this.$element.attr("class", function (a, b) {
			return b.replace(/\b owl-responsive-\S+/g, "")
		}).addClass("owl-responsive-" + d)) : e = a.extend({}, this.options), (null === this.settings || this._breakpoint !== d) && (this.trigger("change", {
			property: {
				name: "settings",
				value: e
			}
		}), this._breakpoint = d, this.settings = e, this.invalidate("settings"), this.trigger("changed", {
			property: {
				name: "settings",
				value: this.settings
			}
		}))
	}, e.prototype.optionsLogic = function () {
		this.$element.toggleClass("owl-center", this.settings.center), this.settings.loop && this._items.length < this.settings.items && (this.settings.loop = !1), this.settings.autoWidth && (this.settings.stagePadding = !1, this.settings.merge = !1)
	}, e.prototype.prepare = function (b) {
		var c = this.trigger("prepare", {
			content: b
		});
		return c.data || (c.data = a("<" + this.settings.itemElement + "/>").addClass(this.settings.itemClass).append(b)), this.trigger("prepared", {
			content: c.data
		}), c.data
	}, e.prototype.update = function () {
		for (var b = 0, c = this._pipe.length, d = a.proxy(function (a) {
				return this[a]
			}, this._invalidated), e = {}; c > b;)(this._invalidated.all || a.grep(this._pipe[b].filter, d).length > 0) && this._pipe[b].run(e), b++;
		this._invalidated = {}
	}, e.prototype.width = function (a) {
		switch (a = a || e.Width.Default) {
			case e.Width.Inner:
			case e.Width.Outer:
				return this._width;
			default:
				return this._width - 2 * this.settings.stagePadding + this.settings.margin
		}
	}, e.prototype.refresh = function () {
		if (0 === this._items.length) return !1;
		(new Date).getTime();
		this.trigger("refresh"), this.setup(), this.optionsLogic(), this.$stage.addClass("owl-refresh"), this.update(), this.$stage.removeClass("owl-refresh"), this.state.orientation = b.orientation, this.watchVisibility(), this.trigger("refreshed")
	}, e.prototype.eventsCall = function () {
		this.e._onDragStart = a.proxy(function (a) {
			this.onDragStart(a)
		}, this), this.e._onDragMove = a.proxy(function (a) {
			this.onDragMove(a)
		}, this), this.e._onDragEnd = a.proxy(function (a) {
			this.onDragEnd(a)
		}, this), this.e._onResize = a.proxy(function (a) {
			this.onResize(a)
		}, this), this.e._transitionEnd = a.proxy(function (a) {
			this.transitionEnd(a)
		}, this), this.e._preventClick = a.proxy(function (a) {
			this.preventClick(a)
		}, this)
	}, e.prototype.onThrottledResize = function () {
		b.clearTimeout(this.resizeTimer), this.resizeTimer = b.setTimeout(this.e._onResize, this.settings.responsiveRefreshRate)
	}, e.prototype.onResize = function () {
		return this._items.length ? this._width === this.$element.width() ? !1 : this.trigger("resize").isDefaultPrevented() ? !1 : (this._width = this.$element.width(), this.invalidate("width"), this.refresh(), void this.trigger("resized")) : !1
	}, e.prototype.eventsRouter = function (a) {
		var b = a.type;
		"mousedown" === b || "touchstart" === b ? this.onDragStart(a) : "mousemove" === b || "touchmove" === b ? this.onDragMove(a) : "mouseup" === b || "touchend" === b ? this.onDragEnd(a) : "touchcancel" === b && this.onDragEnd(a)
	}, e.prototype.internalEvents = function () {
		var c = (k(), l());
		this.settings.mouseDrag ? (this.$stage.on("mousedown", a.proxy(function (a) {
			this.eventsRouter(a)
		}, this)), this.$stage.on("dragstart", function () {
			return !1
		}), this.$stage.get(0).onselectstart = function () {
			return !1
		}) : this.$element.addClass("owl-text-select-on"), this.settings.touchDrag && !c && this.$stage.on("touchstart touchcancel", a.proxy(function (a) {
			this.eventsRouter(a)
		}, this)), this.transitionEndVendor && this.on(this.$stage.get(0), this.transitionEndVendor, this.e._transitionEnd, !1), this.settings.responsive !== !1 && this.on(b, "resize", a.proxy(this.onThrottledResize, this))
	}, e.prototype.onDragStart = function (d) {
		var e, g, h, i;
		if (e = d.originalEvent || d || b.event, 3 === e.which || this.state.isTouch) return !1;
		if ("mousedown" === e.type && this.$stage.addClass("owl-grab"), this.trigger("drag"), this.drag.startTime = (new Date).getTime(), this.speed(0), this.state.isTouch = !0, this.state.isScrolling = !1, this.state.isSwiping = !1, this.drag.distance = 0, g = f(e).x, h = f(e).y, this.drag.offsetX = this.$stage.position().left, this.drag.offsetY = this.$stage.position().top, this.settings.rtl && (this.drag.offsetX = this.$stage.position().left + this.$stage.width() - this.width() + this.settings.margin), this.state.inMotion && this.support3d) i = this.getTransformProperty(), this.drag.offsetX = i, this.animate(i), this.state.inMotion = !0;
		else if (this.state.inMotion && !this.support3d) return this.state.inMotion = !1, !1;
		this.drag.startX = g - this.drag.offsetX, this.drag.startY = h - this.drag.offsetY, this.drag.start = g - this.drag.startX, this.drag.targetEl = e.target || e.srcElement, this.drag.updatedX = this.drag.start, ("IMG" === this.drag.targetEl.tagName || "A" === this.drag.targetEl.tagName) && (this.drag.targetEl.draggable = !1), a(c).on("mousemove.owl.dragEvents mouseup.owl.dragEvents touchmove.owl.dragEvents touchend.owl.dragEvents", a.proxy(function (a) {
			this.eventsRouter(a)
		}, this))
	}, e.prototype.onDragMove = function (a) {
		var c, e, g, h, i, j;
		this.state.isTouch && (this.state.isScrolling || (c = a.originalEvent || a || b.event, e = f(c).x, g = f(c).y, this.drag.currentX = e - this.drag.startX, this.drag.currentY = g - this.drag.startY, this.drag.distance = this.drag.currentX - this.drag.offsetX, this.drag.distance < 0 ? this.state.direction = this.settings.rtl ? "right" : "left" : this.drag.distance > 0 && (this.state.direction = this.settings.rtl ? "left" : "right"), this.settings.loop ? this.op(this.drag.currentX, ">", this.coordinates(this.minimum())) && "right" === this.state.direction ? this.drag.currentX -= (this.settings.center && this.coordinates(0)) - this.coordinates(this._items.length) : this.op(this.drag.currentX, "<", this.coordinates(this.maximum())) && "left" === this.state.direction && (this.drag.currentX += (this.settings.center && this.coordinates(0)) - this.coordinates(this._items.length)) : (h = this.coordinates(this.settings.rtl ? this.maximum() : this.minimum()), i = this.coordinates(this.settings.rtl ? this.minimum() : this.maximum()), j = this.settings.pullDrag ? this.drag.distance / 5 : 0, this.drag.currentX = Math.max(Math.min(this.drag.currentX, h + j), i + j)), (this.drag.distance > 8 || this.drag.distance < -8) && (c.preventDefault !== d ? c.preventDefault() : c.returnValue = !1, this.state.isSwiping = !0), this.drag.updatedX = this.drag.currentX, (this.drag.currentY > 16 || this.drag.currentY < -16) && this.state.isSwiping === !1 && (this.state.isScrolling = !0, this.drag.updatedX = this.drag.start), this.animate(this.drag.updatedX)))
	}, e.prototype.onDragEnd = function (b) {
		var d, e, f;
		if (this.state.isTouch) {
			if ("mouseup" === b.type && this.$stage.removeClass("owl-grab"), this.trigger("dragged"), this.drag.targetEl.removeAttribute("draggable"), this.state.isTouch = !1, this.state.isScrolling = !1, this.state.isSwiping = !1, 0 === this.drag.distance && this.state.inMotion !== !0) return this.state.inMotion = !1, !1;
			this.drag.endTime = (new Date).getTime(), d = this.drag.endTime - this.drag.startTime, e = Math.abs(this.drag.distance), (e > 3 || d > 300) && this.removeClick(this.drag.targetEl), f = this.closest(this.drag.updatedX), this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed), this.current(f), this.invalidate("position"), this.update(), this.settings.pullDrag || this.drag.updatedX !== this.coordinates(f) || this.transitionEnd(), this.drag.distance = 0, a(c).off(".owl.dragEvents")
		}
	}, e.prototype.removeClick = function (c) {
		this.drag.targetEl = c, a(c).on("click.preventClick", this.e._preventClick), b.setTimeout(function () {
			a(c).off("click.preventClick")
		}, 300)
	}, e.prototype.preventClick = function (b) {
		b.preventDefault ? b.preventDefault() : b.returnValue = !1, b.stopPropagation && b.stopPropagation(), a(b.target).off("click.preventClick")
	}, e.prototype.getTransformProperty = function () {
		var a, c;
		return a = b.getComputedStyle(this.$stage.get(0), null).getPropertyValue(this.vendorName + "transform"), a = a.replace(/matrix(3d)?\(|\)/g, "").split(","), c = 16 === a.length, c !== !0 ? a[4] : a[12]
	}, e.prototype.closest = function (b) {
		var c = -1,
			d = 30,
			e = this.width(),
			f = this.coordinates();
		return this.settings.freeDrag || a.each(f, a.proxy(function (a, g) {
			return b > g - d && g + d > b ? c = a : this.op(b, "<", g) && this.op(b, ">", f[a + 1] || g - e) && (c = "left" === this.state.direction ? a + 1 : a), -1 === c
		}, this)), this.settings.loop || (this.op(b, ">", f[this.minimum()]) ? c = b = this.minimum() : this.op(b, "<", f[this.maximum()]) && (c = b = this.maximum())), c
	}, e.prototype.animate = function (b) {
		this.trigger("translate"), this.state.inMotion = this.speed() > 0, this.support3d ? this.$stage.css({
			transform: "translate3d(" + b + "px,0px, 0px)",
			transition: this.speed() / 1e3 + "s"
		}) : this.state.isTouch ? this.$stage.css({
			left: b + "px"
		}) : this.$stage.animate({
			left: b
		}, this.speed() / 1e3, this.settings.fallbackEasing, a.proxy(function () {
			this.state.inMotion && this.transitionEnd()
		}, this))
	}, e.prototype.current = function (a) {
		if (a === d) return this._current;
		if (0 === this._items.length) return d;
		if (a = this.normalize(a), this._current !== a) {
			var b = this.trigger("change", {
				property: {
					name: "position",
					value: a
				}
			});
			b.data !== d && (a = this.normalize(b.data)), this._current = a, this.invalidate("position"), this.trigger("changed", {
				property: {
					name: "position",
					value: this._current
				}
			})
		}
		return this._current
	}, e.prototype.invalidate = function (a) {
		this._invalidated[a] = !0
	}, e.prototype.reset = function (a) {
		a = this.normalize(a), a !== d && (this._speed = 0, this._current = a, this.suppress(["translate", "translated"]), this.animate(this.coordinates(a)), this.release(["translate", "translated"]))
	}, e.prototype.normalize = function (b, c) {
		var e = c ? this._items.length : this._items.length + this._clones.length;
		return !a.isNumeric(b) || 1 > e ? d : b = this._clones.length ? (b % e + e) % e : Math.max(this.minimum(c), Math.min(this.maximum(c), b))
	}, e.prototype.relative = function (a) {
		return a = this.normalize(a), a -= this._clones.length / 2, this.normalize(a, !0)
	}, e.prototype.maximum = function (a) {
		var b, c, d, e = 0,
			f = this.settings;
		if (a) return this._items.length - 1;
		if (!f.loop && f.center) b = this._items.length - 1;
		else if (f.loop || f.center)
			if (f.loop || f.center) b = this._items.length + f.items;
			else {
				if (!f.autoWidth && !f.merge) throw "Can not detect maximum absolute position.";
				for (revert = f.rtl ? 1 : -1, c = this.$stage.width() - this.$element.width();
					(d = this.coordinates(e)) && !(d * revert >= c);) b = ++e
			}
		else b = this._items.length - f.items;
		return b
	}, e.prototype.minimum = function (a) {
		return a ? 0 : this._clones.length / 2
	}, e.prototype.items = function (a) {
		return a === d ? this._items.slice() : (a = this.normalize(a, !0), this._items[a])
	}, e.prototype.mergers = function (a) {
		return a === d ? this._mergers.slice() : (a = this.normalize(a, !0), this._mergers[a])
	}, e.prototype.clones = function (b) {
		var c = this._clones.length / 2,
			e = c + this._items.length,
			f = function (a) {
				return a % 2 === 0 ? e + a / 2 : c - (a + 1) / 2
			};
		return b === d ? a.map(this._clones, function (a, b) {
			return f(b)
		}) : a.map(this._clones, function (a, c) {
			return a === b ? f(c) : null
		})
	}, e.prototype.speed = function (a) {
		return a !== d && (this._speed = a), this._speed
	}, e.prototype.coordinates = function (b) {
		var c = null;
		return b === d ? a.map(this._coordinates, a.proxy(function (a, b) {
			return this.coordinates(b)
		}, this)) : (this.settings.center ? (c = this._coordinates[b], c += (this.width() - c + (this._coordinates[b - 1] || 0)) / 2 * (this.settings.rtl ? -1 : 1)) : c = this._coordinates[b - 1] || 0, c)
	}, e.prototype.duration = function (a, b, c) {
		return Math.min(Math.max(Math.abs(b - a), 1), 6) * Math.abs(c || this.settings.smartSpeed)
	}, e.prototype.to = function (c, d) {
		if (this.settings.loop) {
			var e = c - this.relative(this.current()),
				f = this.current(),
				g = this.current(),
				h = this.current() + e,
				i = 0 > g - h ? !0 : !1,
				j = this._clones.length + this._items.length;
			h < this.settings.items && i === !1 ? (f = g + this._items.length, this.reset(f)) : h >= j - this.settings.items && i === !0 && (f = g - this._items.length, this.reset(f)), b.clearTimeout(this.e._goToLoop), this.e._goToLoop = b.setTimeout(a.proxy(function () {
				this.speed(this.duration(this.current(), f + e, d)), this.current(f + e), this.update()
			}, this), 30)
		} else this.speed(this.duration(this.current(), c, d)), this.current(c), this.update()
	}, e.prototype.next = function (a) {
		a = a || !1, this.to(this.relative(this.current()) + 1, a)
	}, e.prototype.prev = function (a) {
		a = a || !1, this.to(this.relative(this.current()) - 1, a)
	}, e.prototype.transitionEnd = function (a) {
		return a !== d && (a.stopPropagation(), (a.target || a.srcElement || a.originalTarget) !== this.$stage.get(0)) ? !1 : (this.state.inMotion = !1, void this.trigger("translated"))
	}, e.prototype.viewport = function () {
		var d;
		if (this.options.responsiveBaseElement !== b) d = a(this.options.responsiveBaseElement).width();
		else if (b.innerWidth) d = b.innerWidth;
		else {
			if (!c.documentElement || !c.documentElement.clientWidth) throw "Can not detect viewport width.";
			d = c.documentElement.clientWidth
		}
		return d
	}, e.prototype.replace = function (b) {
		this.$stage.empty(), this._items = [], b && (b = b instanceof jQuery ? b : a(b)), this.settings.nestedItemSelector && (b = b.find("." + this.settings.nestedItemSelector)), b.filter(function () {
			return 1 === this.nodeType
		}).each(a.proxy(function (a, b) {
			b = this.prepare(b), this.$stage.append(b), this._items.push(b), this._mergers.push(1 * b.find("[data-merge]").andSelf("[data-merge]").attr("data-merge") || 1)
		}, this)), this.reset(a.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0), this.invalidate("items")
	}, e.prototype.add = function (a, b) {
		b = b === d ? this._items.length : this.normalize(b, !0), this.trigger("add", {
			content: a,
			position: b
		}), 0 === this._items.length || b === this._items.length ? (this.$stage.append(a), this._items.push(a), this._mergers.push(1 * a.find("[data-merge]").andSelf("[data-merge]").attr("data-merge") || 1)) : (this._items[b].before(a), this._items.splice(b, 0, a), this._mergers.splice(b, 0, 1 * a.find("[data-merge]").andSelf("[data-merge]").attr("data-merge") || 1)), this.invalidate("items"), this.trigger("added", {
			content: a,
			position: b
		})
	}, e.prototype.remove = function (a) {
		a = this.normalize(a, !0), a !== d && (this.trigger("remove", {
			content: this._items[a],
			position: a
		}), this._items[a].remove(), this._items.splice(a, 1), this._mergers.splice(a, 1), this.invalidate("items"), this.trigger("removed", {
			content: null,
			position: a
		}))
	}, e.prototype.addTriggerableEvents = function () {
		var b = a.proxy(function (b, c) {
			return a.proxy(function (a) {
				a.relatedTarget !== this && (this.suppress([c]), b.apply(this, [].slice.call(arguments, 1)), this.release([c]))
			}, this)
		}, this);
		a.each({
			next: this.next,
			prev: this.prev,
			to: this.to,
			destroy: this.destroy,
			refresh: this.refresh,
			replace: this.replace,
			add: this.add,
			remove: this.remove
		}, a.proxy(function (a, c) {
			this.$element.on(a + ".owl.carousel", b(c, a + ".owl.carousel"))
		}, this))
	}, e.prototype.watchVisibility = function () {
		function c(a) {
			return a.offsetWidth > 0 && a.offsetHeight > 0
		}

		function d() {
			c(this.$element.get(0)) && (this.$element.removeClass("owl-hidden"), this.refresh(), b.clearInterval(this.e._checkVisibile))
		}
		c(this.$element.get(0)) || (this.$element.addClass("owl-hidden"), b.clearInterval(this.e._checkVisibile), this.e._checkVisibile = b.setInterval(a.proxy(d, this), 500))
	}, e.prototype.preloadAutoWidthImages = function (b) {
		var c, d, e, f;
		c = 0, d = this, b.each(function (g, h) {
			e = a(h), f = new Image, f.onload = function () {
				c++, e.attr("src", f.src), e.css("opacity", 1), c >= b.length && (d.state.imagesLoaded = !0, d.initialize())
			}, f.src = e.attr("src") || e.attr("data-src") || e.attr("data-src-retina")
		})
	}, e.prototype.destroy = function () {
		this.$element.hasClass(this.settings.themeClass) && this.$element.removeClass(this.settings.themeClass), this.settings.responsive !== !1 && a(b).off("resize.owl.carousel"), this.transitionEndVendor && this.off(this.$stage.get(0), this.transitionEndVendor, this.e._transitionEnd);
		for (var d in this._plugins) this._plugins[d].destroy();
		(this.settings.mouseDrag || this.settings.touchDrag) && (this.$stage.off("mousedown touchstart touchcancel"), a(c).off(".owl.dragEvents"), this.$stage.get(0).onselectstart = function () {}, this.$stage.off("dragstart", function () {
			return !1
		})), this.$element.off(".owl"), this.$stage.children(".cloned").remove(), this.e = null, this.$element.removeData("owlCarousel"), this.$stage.children().contents().unwrap(), this.$stage.children().unwrap(), this.$stage.unwrap()
	}, e.prototype.op = function (a, b, c) {
		var d = this.settings.rtl;
		switch (b) {
			case "<":
				return d ? a > c : c > a;
			case ">":
				return d ? c > a : a > c;
			case ">=":
				return d ? c >= a : a >= c;
			case "<=":
				return d ? a >= c : c >= a
		}
	}, e.prototype.on = function (a, b, c, d) {
		a.addEventListener ? a.addEventListener(b, c, d) : a.attachEvent && a.attachEvent("on" + b, c)
	}, e.prototype.off = function (a, b, c, d) {
		a.removeEventListener ? a.removeEventListener(b, c, d) : a.detachEvent && a.detachEvent("on" + b, c)
	}, e.prototype.trigger = function (b, c, d) {
		var e = {
				item: {
					count: this._items.length,
					index: this.current()
				}
			},
			f = a.camelCase(a.grep(["on", b, d], function (a) {
				return a
			}).join("-").toLowerCase()),
			g = a.Event([b, "owl", d || "carousel"].join(".").toLowerCase(), a.extend({
				relatedTarget: this
			}, e, c));
		return this._supress[b] || (a.each(this._plugins, function (a, b) {
			b.onTrigger && b.onTrigger(g)
		}), this.$element.trigger(g), this.settings && "function" == typeof this.settings[f] && this.settings[f].apply(this, g)), g
	}, e.prototype.suppress = function (b) {
		a.each(b, a.proxy(function (a, b) {
			this._supress[b] = !0
		}, this))
	}, e.prototype.release = function (b) {
		a.each(b, a.proxy(function (a, b) {
			delete this._supress[b]
		}, this))
	}, e.prototype.browserSupport = function () {
		if (this.support3d = j(), this.support3d) {
			this.transformVendor = i();
			var a = ["transitionend", "webkitTransitionEnd", "transitionend", "oTransitionEnd"];
			this.transitionEndVendor = a[h()], this.vendorName = this.transformVendor.replace(/Transform/i, ""), this.vendorName = "" !== this.vendorName ? "-" + this.vendorName.toLowerCase() + "-" : ""
		}
		this.state.orientation = b.orientation
	}, a.fn.owlCarousel = function (b) {
		return this.each(function () {
			a(this).data("owlCarousel") || a(this).data("owlCarousel", new e(this, b))
		})
	}, a.fn.owlCarousel.Constructor = e
}(window.Zepto || window.jQuery, window, document),
function (a, b) {
	var c = function (b) {
		this._core = b, this._loaded = [], this._handlers = {
			"initialized.owl.carousel change.owl.carousel": a.proxy(function (b) {
				if (b.namespace && this._core.settings && this._core.settings.lazyLoad && (b.property && "position" == b.property.name || "initialized" == b.type))
					for (var c = this._core.settings, d = c.center && Math.ceil(c.items / 2) || c.items, e = c.center && -1 * d || 0, f = (b.property && b.property.value || this._core.current()) + e, g = this._core.clones().length, h = a.proxy(function (a, b) {
							this.load(b)
						}, this); e++ < d;) this.load(g / 2 + this._core.relative(f)), g && a.each(this._core.clones(this._core.relative(f++)), h)
			}, this)
		}, this._core.options = a.extend({}, c.Defaults, this._core.options), this._core.$element.on(this._handlers)
	};
	c.Defaults = {
		lazyLoad: !1
	}, c.prototype.load = function (c) {
		var d = this._core.$stage.children().eq(c),
			e = d && d.find(".owl-lazy");
		!e || a.inArray(d.get(0), this._loaded) > -1 || (e.each(a.proxy(function (c, d) {
			var e, f = a(d),
				g = b.devicePixelRatio > 1 && f.attr("data-src-retina") || f.attr("data-src");
			this._core.trigger("load", {
				element: f,
				url: g
			}, "lazy"), f.is("img") ? f.one("load.owl.lazy", a.proxy(function () {
				f.css("opacity", 1), this._core.trigger("loaded", {
					element: f,
					url: g
				}, "lazy")
			}, this)).attr("src", g) : (e = new Image, e.onload = a.proxy(function () {
				f.css({
					"background-image": "url(" + g + ")",
					opacity: "1"
				}), this._core.trigger("loaded", {
					element: f,
					url: g
				}, "lazy")
			}, this), e.src = g)
		}, this)), this._loaded.push(d.get(0)))
	}, c.prototype.destroy = function () {
		var a, b;
		for (a in this.handlers) this._core.$element.off(a, this.handlers[a]);
		for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
	}, a.fn.owlCarousel.Constructor.Plugins.Lazy = c
}(window.Zepto || window.jQuery, window, document),
function (a) {
	var b = function (c) {
		this._core = c, this._handlers = {
			"initialized.owl.carousel": a.proxy(function () {
				this._core.settings.autoHeight && this.update()
			}, this),
			"changed.owl.carousel": a.proxy(function (a) {
				this._core.settings.autoHeight && "position" == a.property.name && this.update()
			}, this),
			"loaded.owl.lazy": a.proxy(function (a) {
				this._core.settings.autoHeight && a.element.closest("." + this._core.settings.itemClass) === this._core.$stage.children().eq(this._core.current()) && this.update()
			}, this)
		}, this._core.options = a.extend({}, b.Defaults, this._core.options), this._core.$element.on(this._handlers)
	};
	b.Defaults = {
		autoHeight: !1,
		autoHeightClass: "owl-height"
	}, b.prototype.update = function () {
		this._core.$stage.parent().height(this._core.$stage.children().eq(this._core.current()).height()).addClass(this._core.settings.autoHeightClass)
	}, b.prototype.destroy = function () {
		var a, b;
		for (a in this._handlers) this._core.$element.off(a, this._handlers[a]);
		for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
	}, a.fn.owlCarousel.Constructor.Plugins.AutoHeight = b
}(window.Zepto || window.jQuery, window, document),
function (a, b, c) {
	var d = function (b) {
		this._core = b, this._videos = {}, this._playing = null, this._fullscreen = !1, this._handlers = {
			"resize.owl.carousel": a.proxy(function (a) {
				this._core.settings.video && !this.isInFullScreen() && a.preventDefault()
			}, this),
			"refresh.owl.carousel changed.owl.carousel": a.proxy(function () {
				this._playing && this.stop()
			}, this),
			"prepared.owl.carousel": a.proxy(function (b) {
				var c = a(b.content).find(".owl-video");
				c.length && (c.css("display", "none"), this.fetch(c, a(b.content)))
			}, this)
		}, this._core.options = a.extend({}, d.Defaults, this._core.options), this._core.$element.on(this._handlers), this._core.$element.on("click.owl.video", ".owl-video-play-icon", a.proxy(function (a) {
			this.play(a)
		}, this))
	};
	d.Defaults = {
		video: !1,
		videoHeight: !1,
		videoWidth: !1
	}, d.prototype.fetch = function (a, b) {
		var c = a.attr("data-vimeo-id") ? "vimeo" : "youtube",
			d = a.attr("data-vimeo-id") || a.attr("data-youtube-id"),
			e = a.attr("data-width") || this._core.settings.videoWidth,
			f = a.attr("data-height") || this._core.settings.videoHeight,
			g = a.attr("href");
		if (!g) throw new Error("Missing video URL.");
		if (d = g.match(/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com))\/(video\/|embed\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/), d[3].indexOf("youtu") > -1) c = "youtube";
		else {
			if (!(d[3].indexOf("vimeo") > -1)) throw new Error("Video URL not supported.");
			c = "vimeo"
		}
		d = d[6], this._videos[g] = {
			type: c,
			id: d,
			width: e,
			height: f
		}, b.attr("data-video", g), this.thumbnail(a, this._videos[g])
	}, d.prototype.thumbnail = function (b, c) {
		var d, e, f, g = c.width && c.height ? 'style="width:' + c.width + "px;height:" + c.height + 'px;"' : "",
			h = b.find("img"),
			i = "src",
			j = "",
			k = this._core.settings,
			l = function (a) {
				e = '<div class="owl-video-play-icon"></div>', d = k.lazyLoad ? '<div class="owl-video-tn ' + j + '" ' + i + '="' + a + '"></div>' : '<div class="owl-video-tn" style="opacity:1;background-image:url(' + a + ')"></div>', b.after(d), b.after(e)
			};
		return b.wrap('<div class="owl-video-wrapper"' + g + "></div>"), this._core.settings.lazyLoad && (i = "data-src", j = "owl-lazy"), h.length ? (l(h.attr(i)), h.remove(), !1) : void("youtube" === c.type ? (f = "http://img.youtube.com/vi/" + c.id + "/hqdefault.jpg", l(f)) : "vimeo" === c.type && a.ajax({
			type: "GET",
			url: "http://vimeo.com/api/v2/video/" + c.id + ".json",
			jsonp: "callback",
			dataType: "jsonp",
			success: function (a) {
				f = a[0].thumbnail_large, l(f)
			}
		}))
	}, d.prototype.stop = function () {
		this._core.trigger("stop", null, "video"), this._playing.find(".owl-video-frame").remove(), this._playing.removeClass("owl-video-playing"), this._playing = null
	}, d.prototype.play = function (b) {
		this._core.trigger("play", null, "video"), this._playing && this.stop();
		var c, d, e = a(b.target || b.srcElement),
			f = e.closest("." + this._core.settings.itemClass),
			g = this._videos[f.attr("data-video")],
			h = g.width || "100%",
			i = g.height || this._core.$stage.height();
		"youtube" === g.type ? c = '<iframe width="' + h + '" height="' + i + '" src="http://www.youtube.com/embed/' + g.id + "?autoplay=1&v=" + g.id + '" frameborder="0" allowfullscreen></iframe>' : "vimeo" === g.type && (c = '<iframe src="http://player.vimeo.com/video/' + g.id + '?autoplay=1" width="' + h + '" height="' + i + '" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>'), f.addClass("owl-video-playing"), this._playing = f, d = a('<div style="height:' + i + "px; width:" + h + 'px" class="owl-video-frame">' + c + "</div>"), e.after(d)
	}, d.prototype.isInFullScreen = function () {
		var d = c.fullscreenElement || c.mozFullScreenElement || c.webkitFullscreenElement;
		return d && a(d).parent().hasClass("owl-video-frame") && (this._core.speed(0), this._fullscreen = !0), d && this._fullscreen && this._playing ? !1 : this._fullscreen ? (this._fullscreen = !1, !1) : this._playing && this._core.state.orientation !== b.orientation ? (this._core.state.orientation = b.orientation, !1) : !0
	}, d.prototype.destroy = function () {
		var a, b;
		this._core.$element.off("click.owl.video");
		for (a in this._handlers) this._core.$element.off(a, this._handlers[a]);
		for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
	}, a.fn.owlCarousel.Constructor.Plugins.Video = d
}(window.Zepto || window.jQuery, window, document),
function (a, b, c, d) {
	var e = function (b) {
		this.core = b, this.core.options = a.extend({}, e.Defaults, this.core.options), this.swapping = !0, this.previous = d, this.next = d, this.handlers = {
			"change.owl.carousel": a.proxy(function (a) {
				"position" == a.property.name && (this.previous = this.core.current(), this.next = a.property.value)
			}, this),
			"drag.owl.carousel dragged.owl.carousel translated.owl.carousel": a.proxy(function (a) {
				this.swapping = "translated" == a.type
			}, this),
			"translate.owl.carousel": a.proxy(function () {
				this.swapping && (this.core.options.animateOut || this.core.options.animateIn) && this.swap()
			}, this)
		}, this.core.$element.on(this.handlers)
	};
	e.Defaults = {
		animateOut: !1,
		animateIn: !1
	}, e.prototype.swap = function () {
		if (1 === this.core.settings.items && this.core.support3d) {
			this.core.speed(0);
			var b, c = a.proxy(this.clear, this),
				d = this.core.$stage.children().eq(this.previous),
				e = this.core.$stage.children().eq(this.next),
				f = this.core.settings.animateIn,
				g = this.core.settings.animateOut;
			this.core.current() !== this.previous && (g && (b = this.core.coordinates(this.previous) - this.core.coordinates(this.next), d.css({
				left: b + "px"
			}).addClass("animated owl-animated-out").addClass(g).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", c)), f && e.addClass("animated owl-animated-in").addClass(f).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", c))
		}
	}, e.prototype.clear = function (b) {
		a(b.target).css({
			left: ""
		}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut), this.core.transitionEnd()
	}, e.prototype.destroy = function () {
		var a, b;
		for (a in this.handlers) this.core.$element.off(a, this.handlers[a]);
		for (b in Object.getOwnPropertyNames(this)) "function" != typeof this[b] && (this[b] = null)
	}, a.fn.owlCarousel.Constructor.Plugins.Animate = e
}(window.Zepto || window.jQuery, window, document),
function (a, b, c) {
	var d = function (b) {
		this.core = b, this.core.options = a.extend({}, d.Defaults, this.core.options), this.handlers = {
			"translated.owl.carousel refreshed.owl.carousel": a.proxy(function () {
				this.autoplay()
			}, this),
			"play.owl.autoplay": a.proxy(function (a, b, c) {
				this.play(b, c)
			}, this),
			"stop.owl.autoplay": a.proxy(function () {
				this.stop()
			}, this),
			"mouseover.owl.autoplay": a.proxy(function () {
				this.core.settings.autoplayHoverPause && this.pause()
			}, this),
			"mouseleave.owl.autoplay": a.proxy(function () {
				this.core.settings.autoplayHoverPause && this.autoplay()
			}, this)
		}, this.core.$element.on(this.handlers)
	};
	d.Defaults = {
		autoplay: !1,
		autoplayTimeout: 5e3,
		autoplayHoverPause: !1,
		autoplaySpeed: !1
	}, d.prototype.autoplay = function () {
		this.core.settings.autoplay && !this.core.state.videoPlay ? (b.clearInterval(this.interval), this.interval = b.setInterval(a.proxy(function () {
			this.play()
		}, this), this.core.settings.autoplayTimeout)) : b.clearInterval(this.interval)
	}, d.prototype.play = function () {
		return c.hidden === !0 || this.core.state.isTouch || this.core.state.isScrolling || this.core.state.isSwiping || this.core.state.inMotion ? void 0 : this.core.settings.autoplay === !1 ? void b.clearInterval(this.interval) : void this.core.next(this.core.settings.autoplaySpeed)
	}, d.prototype.stop = function () {
		b.clearInterval(this.interval)
	}, d.prototype.pause = function () {
		b.clearInterval(this.interval)
	}, d.prototype.destroy = function () {
		var a, c;
		b.clearInterval(this.interval);
		for (a in this.handlers) this.core.$element.off(a, this.handlers[a]);
		for (c in Object.getOwnPropertyNames(this)) "function" != typeof this[c] && (this[c] = null)
	}, a.fn.owlCarousel.Constructor.Plugins.autoplay = d
}(window.Zepto || window.jQuery, window, document),
function (a) {
	"use strict";
	var b = function (c) {
		this._core = c, this._initialized = !1, this._pages = [], this._controls = {}, this._templates = [], this.$element = this._core.$element, this._overrides = {
			next: this._core.next,
			prev: this._core.prev,
			to: this._core.to
		}, this._handlers = {
			"prepared.owl.carousel": a.proxy(function (b) {
				this._core.settings.dotsData && this._templates.push(a(b.content).find("[data-dot]").andSelf("[data-dot]").attr("data-dot"))
			}, this),
			"add.owl.carousel": a.proxy(function (b) {
				this._core.settings.dotsData && this._templates.splice(b.position, 0, a(b.content).find("[data-dot]").andSelf("[data-dot]").attr("data-dot"))
			}, this),
			"remove.owl.carousel prepared.owl.carousel": a.proxy(function (a) {
				this._core.settings.dotsData && this._templates.splice(a.position, 1)
			}, this),
			"change.owl.carousel": a.proxy(function (a) {
				if ("position" == a.property.name && !this._core.state.revert && !this._core.settings.loop && this._core.settings.navRewind) {
					var b = this._core.current(),
						c = this._core.maximum(),
						d = this._core.minimum();
					a.data = a.property.value > c ? b >= c ? d : c : a.property.value < d ? c : a.property.value
				}
			}, this),
			"changed.owl.carousel": a.proxy(function (a) {
				"position" == a.property.name && this.draw()
			}, this),
			"refreshed.owl.carousel": a.proxy(function () {
				this._initialized || (this.initialize(), this._initialized = !0), this._core.trigger("refresh", null, "navigation"), this.update(), this.draw(), this._core.trigger("refreshed", null, "navigation")
			}, this)
		}, this._core.options = a.extend({}, b.Defaults, this._core.options), this.$element.on(this._handlers)
	};
	b.Defaults = {
		nav: !1,
		navRewind: !0,
		navText: ["prev", "next"],
		navSpeed: !1,
		navElement: "div",
		navContainer: !1,
		navContainerClass: "owl-nav",
		navClass: ["owl-prev", "owl-next"],
		slideBy: 1,
		dotClass: "owl-dot",
		dotsClass: "owl-dots",
		dots: !0,
		dotsEach: !1,
		dotData: !1,
		dotsSpeed: !1,
		dotsContainer: !1,
		controlsClass: "owl-controls"
	}, b.prototype.initialize = function () {
		var b, c, d = this._core.settings;
		d.dotsData || (this._templates = [a("<div>").addClass(d.dotClass).append(a("<span>")).prop("outerHTML")]), d.navContainer && d.dotsContainer || (this._controls.$container = a("<div>").addClass(d.controlsClass).appendTo(this.$element)), this._controls.$indicators = d.dotsContainer ? a(d.dotsContainer) : a("<div>").hide().addClass(d.dotsClass).appendTo(this._controls.$container), this._controls.$indicators.on("click", "div", a.proxy(function (b) {
			var c = a(b.target).parent().is(this._controls.$indicators) ? a(b.target).index() : a(b.target).parent().index();
			b.preventDefault(), this.to(c, d.dotsSpeed)
		}, this)), b = d.navContainer ? a(d.navContainer) : a("<div>").addClass(d.navContainerClass).prependTo(this._controls.$container), this._controls.$next = a("<" + d.navElement + ">"), this._controls.$previous = this._controls.$next.clone(), this._controls.$previous.addClass(d.navClass[0]).html(d.navText[0]).hide().prependTo(b).on("click", a.proxy(function () {
			this.prev(d.navSpeed)
		}, this)), this._controls.$next.addClass(d.navClass[1]).html(d.navText[1]).hide().appendTo(b).on("click", a.proxy(function () {
			this.next(d.navSpeed)
		}, this));
		for (c in this._overrides) this._core[c] = a.proxy(this[c], this)
	}, b.prototype.destroy = function () {
		var a, b, c, d;
		for (a in this._handlers) this.$element.off(a, this._handlers[a]);
		for (b in this._controls) this._controls[b].remove();
		for (d in this.overides) this._core[d] = this._overrides[d];
		for (c in Object.getOwnPropertyNames(this)) "function" != typeof this[c] && (this[c] = null)
	}, b.prototype.update = function () {
		var a, b, c, d = this._core.settings,
			e = this._core.clones().length / 2,
			f = e + this._core.items().length,
			g = d.center || d.autoWidth || d.dotData ? 1 : d.dotsEach || d.items;
		if ("page" !== d.slideBy && (d.slideBy = Math.min(d.slideBy, d.items)), d.dots || "page" == d.slideBy)
			for (this._pages = [], a = e, b = 0, c = 0; f > a; a++)(b >= g || 0 === b) && (this._pages.push({
				start: a - e,
				end: a - e + g - 1
			}), b = 0, ++c), b += this._core.mergers(this._core.relative(a))
	}, b.prototype.draw = function () {
		var b, c, d = "",
			e = this._core.settings,
			f = (this._core.$stage.children(), this._core.relative(this._core.current()));
		if (!e.nav || e.loop || e.navRewind || (this._controls.$previous.toggleClass("disabled", 0 >= f), this._controls.$next.toggleClass("disabled", f >= this._core.maximum())), this._controls.$previous.toggle(e.nav), this._controls.$next.toggle(e.nav), e.dots) {
			if (b = this._pages.length - this._controls.$indicators.children().length, e.dotData && 0 !== b) {
				for (c = 0; c < this._controls.$indicators.children().length; c++) d += this._templates[this._core.relative(c)];
				this._controls.$indicators.html(d)
			} else b > 0 ? (d = new Array(b + 1).join(this._templates[0]), this._controls.$indicators.append(d)) : 0 > b && this._controls.$indicators.children().slice(b).remove();
			this._controls.$indicators.find(".active").removeClass("active"), this._controls.$indicators.children().eq(a.inArray(this.current(), this._pages)).addClass("active")
		}
		this._controls.$indicators.toggle(e.dots)
	}, b.prototype.onTrigger = function (b) {
		var c = this._core.settings;
		b.page = {
			index: a.inArray(this.current(), this._pages),
			count: this._pages.length,
			size: c && (c.center || c.autoWidth || c.dotData ? 1 : c.dotsEach || c.items)
		}
	}, b.prototype.current = function () {
		var b = this._core.relative(this._core.current());
		return a.grep(this._pages, function (a) {
			return a.start <= b && a.end >= b
		}).pop()
	}, b.prototype.getPosition = function (b) {
		var c, d, e = this._core.settings;
		return "page" == e.slideBy ? (c = a.inArray(this.current(), this._pages), d = this._pages.length, b ? ++c : --c, c = this._pages[(c % d + d) % d].start) : (c = this._core.relative(this._core.current()), d = this._core.items().length, b ? c += e.slideBy : c -= e.slideBy), c
	}, b.prototype.next = function (b) {
		a.proxy(this._overrides.to, this._core)(this.getPosition(!0), b)
	}, b.prototype.prev = function (b) {
		a.proxy(this._overrides.to, this._core)(this.getPosition(!1), b)
	}, b.prototype.to = function (b, c, d) {
		var e;
		d ? a.proxy(this._overrides.to, this._core)(b, c) : (e = this._pages.length, a.proxy(this._overrides.to, this._core)(this._pages[(b % e + e) % e].start, c))
	}, a.fn.owlCarousel.Constructor.Plugins.Navigation = b
}(window.Zepto || window.jQuery, window, document),
function (a, b) {
	"use strict";
	var c = function (d) {
		this._core = d, this._hashes = {}, this.$element = this._core.$element, this._handlers = {
			"initialized.owl.carousel": a.proxy(function () {
				"URLHash" == this._core.settings.startPosition && a(b).trigger("hashchange.owl.navigation")
			}, this),
			"prepared.owl.carousel": a.proxy(function (b) {
				var c = a(b.content).find("[data-hash]").andSelf("[data-hash]").attr("data-hash");
				this._hashes[c] = b.content
			}, this)
		}, this._core.options = a.extend({}, c.Defaults, this._core.options), this.$element.on(this._handlers), a(b).on("hashchange.owl.navigation", a.proxy(function () {
			var a = b.location.hash.substring(1),
				c = this._core.$stage.children(),
				d = this._hashes[a] && c.index(this._hashes[a]) || 0;
			return a ? void this._core.to(d, !1, !0) : !1
		}, this))
	};
	c.Defaults = {
		URLhashListener: !1
	}, c.prototype.destroy = function () {
		var c, d;
		a(b).off("hashchange.owl.navigation");
		for (c in this._handlers) this._core.$element.off(c, this._handlers[c]);
		for (d in Object.getOwnPropertyNames(this)) "function" != typeof this[d] && (this[d] = null)
	}, a.fn.owlCarousel.Constructor.Plugins.Hash = c
}(window.Zepto || window.jQuery, window, document);

/* SlickSlider */
! function (i) {
	"use strict";
	"function" == typeof define && define.amd ? define(["jquery"], i) : "undefined" != typeof exports ? module.exports = i(require("jquery")) : i(jQuery)
}(function (i) {
	"use strict";
	var e = window.Slick || {};
	(e = function () {
		var e = 0;
		return function (t, o) {
			var s, n = this;
			n.defaults = {
				accessibility: !0,
				adaptiveHeight: !1,
				appendArrows: i(t),
				appendDots: i(t),
				arrows: !0,
				asNavFor: null,
				prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
				nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>',
				autoplay: !1,
				autoplaySpeed: 3e3,
				centerMode: !1,
				centerPadding: "50px",
				cssEase: "ease",
				customPaging: function (e, t) {
					return i('<button type="button" />').text(t + 1)
				},
				dots: !1,
				dotsClass: "slick-dots",
				draggable: !0,
				easing: "linear",
				edgeFriction: .35,
				fade: !1,
				focusOnSelect: !1,
				focusOnChange: !1,
				infinite: !0,
				initialSlide: 0,
				lazyLoad: "ondemand",
				mobileFirst: !1,
				pauseOnHover: !0,
				pauseOnFocus: !0,
				pauseOnDotsHover: !1,
				respondTo: "window",
				responsive: null,
				rows: 1,
				rtl: !1,
				slide: "",
				slidesPerRow: 1,
				slidesToShow: 1,
				slidesToScroll: 1,
				speed: 500,
				swipe: !0,
				swipeToSlide: !1,
				touchMove: !0,
				touchThreshold: 5,
				useCSS: !0,
				useTransform: !0,
				variableWidth: !1,
				vertical: !1,
				verticalSwiping: !1,
				waitForAnimate: !0,
				zIndex: 1e3
			}, n.initials = {
				animating: !1,
				dragging: !1,
				autoPlayTimer: null,
				currentDirection: 0,
				currentLeft: null,
				currentSlide: 0,
				direction: 1,
				$dots: null,
				listWidth: null,
				listHeight: null,
				loadIndex: 0,
				$nextArrow: null,
				$prevArrow: null,
				scrolling: !1,
				slideCount: null,
				slideWidth: null,
				$slideTrack: null,
				$slides: null,
				sliding: !1,
				slideOffset: 0,
				swipeLeft: null,
				swiping: !1,
				$list: null,
				touchObject: {},
				transformsEnabled: !1,
				unslicked: !1
			}, i.extend(n, n.initials), n.activeBreakpoint = null, n.animType = null, n.animProp = null, n.breakpoints = [], n.breakpointSettings = [], n.cssTransitions = !1, n.focussed = !1, n.interrupted = !1, n.hidden = "hidden", n.paused = !0, n.positionProp = null, n.respondTo = null, n.rowCount = 1, n.shouldClick = !0, n.$slider = i(t), n.$slidesCache = null, n.transformType = null, n.transitionType = null, n.visibilityChange = "visibilitychange", n.windowWidth = 0, n.windowTimer = null, s = i(t).data("slick") || {}, n.options = i.extend({}, n.defaults, o, s), n.currentSlide = n.options.initialSlide, n.originalSettings = n.options, void 0 !== document.mozHidden ? (n.hidden = "mozHidden", n.visibilityChange = "mozvisibilitychange") : void 0 !== document.webkitHidden && (n.hidden = "webkitHidden", n.visibilityChange = "webkitvisibilitychange"), n.autoPlay = i.proxy(n.autoPlay, n), n.autoPlayClear = i.proxy(n.autoPlayClear, n), n.autoPlayIterator = i.proxy(n.autoPlayIterator, n), n.changeSlide = i.proxy(n.changeSlide, n), n.clickHandler = i.proxy(n.clickHandler, n), n.selectHandler = i.proxy(n.selectHandler, n), n.setPosition = i.proxy(n.setPosition, n), n.swipeHandler = i.proxy(n.swipeHandler, n), n.dragHandler = i.proxy(n.dragHandler, n), n.keyHandler = i.proxy(n.keyHandler, n), n.instanceUid = e++, n.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/, n.registerBreakpoints(), n.init(!0)
		}
	}()).prototype.activateADA = function () {
		this.$slideTrack.find(".slick-active").attr({
			"aria-hidden": "false"
		}).find("a, input, button, select").attr({
			tabindex: "0"
		})
	}, e.prototype.addSlide = e.prototype.slickAdd = function (e, t, o) {
		var s = this;
		if ("boolean" == typeof t) o = t, t = null;
		else if (t < 0 || t >= s.slideCount) return !1;
		s.unload(), "number" == typeof t ? 0 === t && 0 === s.$slides.length ? i(e).appendTo(s.$slideTrack) : o ? i(e).insertBefore(s.$slides.eq(t)) : i(e).insertAfter(s.$slides.eq(t)) : !0 === o ? i(e).prependTo(s.$slideTrack) : i(e).appendTo(s.$slideTrack), s.$slides = s.$slideTrack.children(this.options.slide), s.$slideTrack.children(this.options.slide).detach(), s.$slideTrack.append(s.$slides), s.$slides.each(function (e, t) {
			i(t).attr("data-slick-index", e)
		}), s.$slidesCache = s.$slides, s.reinit()
	}, e.prototype.animateHeight = function () {
		var i = this;
		if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) {
			var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
			i.$list.animate({
				height: e
			}, i.options.speed)
		}
	}, e.prototype.animateSlide = function (e, t) {
		var o = {},
			s = this;
		s.animateHeight(), !0 === s.options.rtl && !1 === s.options.vertical && (e = -e), !1 === s.transformsEnabled ? !1 === s.options.vertical ? s.$slideTrack.animate({
			left: e
		}, s.options.speed, s.options.easing, t) : s.$slideTrack.animate({
			top: e
		}, s.options.speed, s.options.easing, t) : !1 === s.cssTransitions ? (!0 === s.options.rtl && (s.currentLeft = -s.currentLeft), i({
			animStart: s.currentLeft
		}).animate({
			animStart: e
		}, {
			duration: s.options.speed,
			easing: s.options.easing,
			step: function (i) {
				i = Math.ceil(i), !1 === s.options.vertical ? (o[s.animType] = "translate(" + i + "px, 0px)", s.$slideTrack.css(o)) : (o[s.animType] = "translate(0px," + i + "px)", s.$slideTrack.css(o))
			},
			complete: function () {
				t && t.call()
			}
		})) : (s.applyTransition(), e = Math.ceil(e), !1 === s.options.vertical ? o[s.animType] = "translate3d(" + e + "px, 0px, 0px)" : o[s.animType] = "translate3d(0px," + e + "px, 0px)", s.$slideTrack.css(o), t && setTimeout(function () {
			s.disableTransition(), t.call()
		}, s.options.speed))
	}, e.prototype.getNavTarget = function () {
		var e = this,
			t = e.options.asNavFor;
		return t && null !== t && (t = i(t).not(e.$slider)), t
	}, e.prototype.asNavFor = function (e) {
		var t = this.getNavTarget();
		null !== t && "object" == typeof t && t.each(function () {
			var t = i(this).slick("getSlick");
			t.unslicked || t.slideHandler(e, !0)
		})
	}, e.prototype.applyTransition = function (i) {
		var e = this,
			t = {};
		!1 === e.options.fade ? t[e.transitionType] = e.transformType + " " + e.options.speed + "ms " + e.options.cssEase : t[e.transitionType] = "opacity " + e.options.speed + "ms " + e.options.cssEase, !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t)
	}, e.prototype.autoPlay = function () {
		var i = this;
		i.autoPlayClear(), i.slideCount > i.options.slidesToShow && (i.autoPlayTimer = setInterval(i.autoPlayIterator, i.options.autoplaySpeed))
	}, e.prototype.autoPlayClear = function () {
		var i = this;
		i.autoPlayTimer && clearInterval(i.autoPlayTimer)
	}, e.prototype.autoPlayIterator = function () {
		var i = this,
			e = i.currentSlide + i.options.slidesToScroll;
		i.paused || i.interrupted || i.focussed || (!1 === i.options.infinite && (1 === i.direction && i.currentSlide + 1 === i.slideCount - 1 ? i.direction = 0 : 0 === i.direction && (e = i.currentSlide - i.options.slidesToScroll, i.currentSlide - 1 == 0 && (i.direction = 1))), i.slideHandler(e))
	}, e.prototype.buildArrows = function () {
		var e = this;
		!0 === e.options.arrows && (e.$prevArrow = i(e.options.prevArrow).addClass("slick-arrow"), e.$nextArrow = i(e.options.nextArrow).addClass("slick-arrow"), e.slideCount > e.options.slidesToShow ? (e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"), e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.prependTo(e.options.appendArrows), e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.appendTo(e.options.appendArrows), !0 !== e.options.infinite && e.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true")) : e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({
			"aria-disabled": "true",
			tabindex: "-1"
		}))
	}, e.prototype.buildDots = function () {
		var e, t, o = this;
		if (!0 === o.options.dots) {
			for (o.$slider.addClass("slick-dotted"), t = i("<ul />").addClass(o.options.dotsClass), e = 0; e <= o.getDotCount(); e += 1) t.append(i("<li />").append(o.options.customPaging.call(this, o, e)));
			o.$dots = t.appendTo(o.options.appendDots), o.$dots.find("li").first().addClass("slick-active")
		}
	}, e.prototype.buildOut = function () {
		var e = this;
		e.$slides = e.$slider.children(e.options.slide + ":not(.slick-cloned)").addClass("slick-slide"), e.slideCount = e.$slides.length, e.$slides.each(function (e, t) {
			i(t).attr("data-slick-index", e).data("originalStyling", i(t).attr("style") || "")
		}), e.$slider.addClass("slick-slider"), e.$slideTrack = 0 === e.slideCount ? i('<div class="slick-track"/>').appendTo(e.$slider) : e.$slides.wrapAll('<div class="slick-track"/>').parent(), e.$list = e.$slideTrack.wrap('<div class="slick-list"/>').parent(), e.$slideTrack.css("opacity", 0), !0 !== e.options.centerMode && !0 !== e.options.swipeToSlide || (e.options.slidesToScroll = 1), i("img[data-lazy]", e.$slider).not("[src]").addClass("slick-loading"), e.setupInfinite(), e.buildArrows(), e.buildDots(), e.updateDots(), e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0), !0 === e.options.draggable && e.$list.addClass("draggable")
	}, e.prototype.buildRows = function () {
		var i, e, t, o, s, n, r, l = this;
		if (o = document.createDocumentFragment(), n = l.$slider.children(), l.options.rows > 1) {
			for (r = l.options.slidesPerRow * l.options.rows, s = Math.ceil(n.length / r), i = 0; i < s; i++) {
				var d = document.createElement("div");
				for (e = 0; e < l.options.rows; e++) {
					var a = document.createElement("div");
					for (t = 0; t < l.options.slidesPerRow; t++) {
						var c = i * r + (e * l.options.slidesPerRow + t);
						n.get(c) && a.appendChild(n.get(c))
					}
					d.appendChild(a)
				}
				o.appendChild(d)
			}
			l.$slider.empty().append(o), l.$slider.children().children().children().css({
				width: 100 / l.options.slidesPerRow + "%",
				display: "inline-block"
			})
		}
	}, e.prototype.checkResponsive = function (e, t) {
		var o, s, n, r = this,
			l = !1,
			d = r.$slider.width(),
			a = window.innerWidth || i(window).width();
		if ("window" === r.respondTo ? n = a : "slider" === r.respondTo ? n = d : "min" === r.respondTo && (n = Math.min(a, d)), r.options.responsive && r.options.responsive.length && null !== r.options.responsive) {
			s = null;
			for (o in r.breakpoints) r.breakpoints.hasOwnProperty(o) && (!1 === r.originalSettings.mobileFirst ? n < r.breakpoints[o] && (s = r.breakpoints[o]) : n > r.breakpoints[o] && (s = r.breakpoints[o]));
			null !== s ? null !== r.activeBreakpoint ? (s !== r.activeBreakpoint || t) && (r.activeBreakpoint = s, "unslick" === r.breakpointSettings[s] ? r.unslick(s) : (r.options = i.extend({}, r.originalSettings, r.breakpointSettings[s]), !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e)), l = s) : (r.activeBreakpoint = s, "unslick" === r.breakpointSettings[s] ? r.unslick(s) : (r.options = i.extend({}, r.originalSettings, r.breakpointSettings[s]), !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e)), l = s) : null !== r.activeBreakpoint && (r.activeBreakpoint = null, r.options = r.originalSettings, !0 === e && (r.currentSlide = r.options.initialSlide), r.refresh(e), l = s), e || !1 === l || r.$slider.trigger("breakpoint", [r, l])
		}
	}, e.prototype.changeSlide = function (e, t) {
		var o, s, n, r = this,
			l = i(e.currentTarget);
		switch (l.is("a") && e.preventDefault(), l.is("li") || (l = l.closest("li")), n = r.slideCount % r.options.slidesToScroll != 0, o = n ? 0 : (r.slideCount - r.currentSlide) % r.options.slidesToScroll, e.data.message) {
			case "previous":
				s = 0 === o ? r.options.slidesToScroll : r.options.slidesToShow - o, r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide - s, !1, t);
				break;
			case "next":
				s = 0 === o ? r.options.slidesToScroll : o, r.slideCount > r.options.slidesToShow && r.slideHandler(r.currentSlide + s, !1, t);
				break;
			case "index":
				var d = 0 === e.data.index ? 0 : e.data.index || l.index() * r.options.slidesToScroll;
				r.slideHandler(r.checkNavigable(d), !1, t), l.children().trigger("focus");
				break;
			default:
				return
		}
	}, e.prototype.checkNavigable = function (i) {
		var e, t;
		if (e = this.getNavigableIndexes(), t = 0, i > e[e.length - 1]) i = e[e.length - 1];
		else
			for (var o in e) {
				if (i < e[o]) {
					i = t;
					break
				}
				t = e[o]
			}
		return i
	}, e.prototype.cleanUpEvents = function () {
		var e = this;
		e.options.dots && null !== e.$dots && (i("li", e.$dots).off("click.slick", e.changeSlide).off("mouseenter.slick", i.proxy(e.interrupt, e, !0)).off("mouseleave.slick", i.proxy(e.interrupt, e, !1)), !0 === e.options.accessibility && e.$dots.off("keydown.slick", e.keyHandler)), e.$slider.off("focus.slick blur.slick"), !0 === e.options.arrows && e.slideCount > e.options.slidesToShow && (e.$prevArrow && e.$prevArrow.off("click.slick", e.changeSlide), e.$nextArrow && e.$nextArrow.off("click.slick", e.changeSlide), !0 === e.options.accessibility && (e.$prevArrow && e.$prevArrow.off("keydown.slick", e.keyHandler), e.$nextArrow && e.$nextArrow.off("keydown.slick", e.keyHandler))), e.$list.off("touchstart.slick mousedown.slick", e.swipeHandler), e.$list.off("touchmove.slick mousemove.slick", e.swipeHandler), e.$list.off("touchend.slick mouseup.slick", e.swipeHandler), e.$list.off("touchcancel.slick mouseleave.slick", e.swipeHandler), e.$list.off("click.slick", e.clickHandler), i(document).off(e.visibilityChange, e.visibility), e.cleanUpSlideEvents(), !0 === e.options.accessibility && e.$list.off("keydown.slick", e.keyHandler), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().off("click.slick", e.selectHandler), i(window).off("orientationchange.slick.slick-" + e.instanceUid, e.orientationChange), i(window).off("resize.slick.slick-" + e.instanceUid, e.resize), i("[draggable!=true]", e.$slideTrack).off("dragstart", e.preventDefault), i(window).off("load.slick.slick-" + e.instanceUid, e.setPosition)
	}, e.prototype.cleanUpSlideEvents = function () {
		var e = this;
		e.$list.off("mouseenter.slick", i.proxy(e.interrupt, e, !0)), e.$list.off("mouseleave.slick", i.proxy(e.interrupt, e, !1))
	}, e.prototype.cleanUpRows = function () {
		var i, e = this;
		e.options.rows > 1 && ((i = e.$slides.children().children()).removeAttr("style"), e.$slider.empty().append(i))
	}, e.prototype.clickHandler = function (i) {
		!1 === this.shouldClick && (i.stopImmediatePropagation(), i.stopPropagation(), i.preventDefault())
	}, e.prototype.destroy = function (e) {
		var t = this;
		t.autoPlayClear(), t.touchObject = {}, t.cleanUpEvents(), i(".slick-cloned", t.$slider).detach(), t.$dots && t.$dots.remove(), t.$prevArrow && t.$prevArrow.length && (t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), t.htmlExpr.test(t.options.prevArrow) && t.$prevArrow.remove()), t.$nextArrow && t.$nextArrow.length && (t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), t.htmlExpr.test(t.options.nextArrow) && t.$nextArrow.remove()), t.$slides && (t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function () {
			i(this).attr("style", i(this).data("originalStyling"))
		}), t.$slideTrack.children(this.options.slide).detach(), t.$slideTrack.detach(), t.$list.detach(), t.$slider.append(t.$slides)), t.cleanUpRows(), t.$slider.removeClass("slick-slider"), t.$slider.removeClass("slick-initialized"), t.$slider.removeClass("slick-dotted"), t.unslicked = !0, e || t.$slider.trigger("destroy", [t])
	}, e.prototype.disableTransition = function (i) {
		var e = this,
			t = {};
		t[e.transitionType] = "", !1 === e.options.fade ? e.$slideTrack.css(t) : e.$slides.eq(i).css(t)
	}, e.prototype.fadeSlide = function (i, e) {
		var t = this;
		!1 === t.cssTransitions ? (t.$slides.eq(i).css({
			zIndex: t.options.zIndex
		}), t.$slides.eq(i).animate({
			opacity: 1
		}, t.options.speed, t.options.easing, e)) : (t.applyTransition(i), t.$slides.eq(i).css({
			opacity: 1,
			zIndex: t.options.zIndex
		}), e && setTimeout(function () {
			t.disableTransition(i), e.call()
		}, t.options.speed))
	}, e.prototype.fadeSlideOut = function (i) {
		var e = this;
		!1 === e.cssTransitions ? e.$slides.eq(i).animate({
			opacity: 0,
			zIndex: e.options.zIndex - 2
		}, e.options.speed, e.options.easing) : (e.applyTransition(i), e.$slides.eq(i).css({
			opacity: 0,
			zIndex: e.options.zIndex - 2
		}))
	}, e.prototype.filterSlides = e.prototype.slickFilter = function (i) {
		var e = this;
		null !== i && (e.$slidesCache = e.$slides, e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.filter(i).appendTo(e.$slideTrack), e.reinit())
	}, e.prototype.focusHandler = function () {
		var e = this;
		e.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*", function (t) {
			t.stopImmediatePropagation();
			var o = i(this);
			setTimeout(function () {
				e.options.pauseOnFocus && (e.focussed = o.is(":focus"), e.autoPlay())
			}, 0)
		})
	}, e.prototype.getCurrent = e.prototype.slickCurrentSlide = function () {
		return this.currentSlide
	}, e.prototype.getDotCount = function () {
		var i = this,
			e = 0,
			t = 0,
			o = 0;
		if (!0 === i.options.infinite)
			if (i.slideCount <= i.options.slidesToShow) ++o;
			else
				for (; e < i.slideCount;) ++o, e = t + i.options.slidesToScroll, t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow;
		else if (!0 === i.options.centerMode) o = i.slideCount;
		else if (i.options.asNavFor)
			for (; e < i.slideCount;) ++o, e = t + i.options.slidesToScroll, t += i.options.slidesToScroll <= i.options.slidesToShow ? i.options.slidesToScroll : i.options.slidesToShow;
		else o = 1 + Math.ceil((i.slideCount - i.options.slidesToShow) / i.options.slidesToScroll);
		return o - 1
	}, e.prototype.getLeft = function (i) {
		var e, t, o, s, n = this,
			r = 0;
		return n.slideOffset = 0, t = n.$slides.first().outerHeight(!0), !0 === n.options.infinite ? (n.slideCount > n.options.slidesToShow && (n.slideOffset = n.slideWidth * n.options.slidesToShow * -1, s = -1, !0 === n.options.vertical && !0 === n.options.centerMode && (2 === n.options.slidesToShow ? s = -1.5 : 1 === n.options.slidesToShow && (s = -2)), r = t * n.options.slidesToShow * s), n.slideCount % n.options.slidesToScroll != 0 && i + n.options.slidesToScroll > n.slideCount && n.slideCount > n.options.slidesToShow && (i > n.slideCount ? (n.slideOffset = (n.options.slidesToShow - (i - n.slideCount)) * n.slideWidth * -1, r = (n.options.slidesToShow - (i - n.slideCount)) * t * -1) : (n.slideOffset = n.slideCount % n.options.slidesToScroll * n.slideWidth * -1, r = n.slideCount % n.options.slidesToScroll * t * -1))) : i + n.options.slidesToShow > n.slideCount && (n.slideOffset = (i + n.options.slidesToShow - n.slideCount) * n.slideWidth, r = (i + n.options.slidesToShow - n.slideCount) * t), n.slideCount <= n.options.slidesToShow && (n.slideOffset = 0, r = 0), !0 === n.options.centerMode && n.slideCount <= n.options.slidesToShow ? n.slideOffset = n.slideWidth * Math.floor(n.options.slidesToShow) / 2 - n.slideWidth * n.slideCount / 2 : !0 === n.options.centerMode && !0 === n.options.infinite ? n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2) - n.slideWidth : !0 === n.options.centerMode && (n.slideOffset = 0, n.slideOffset += n.slideWidth * Math.floor(n.options.slidesToShow / 2)), e = !1 === n.options.vertical ? i * n.slideWidth * -1 + n.slideOffset : i * t * -1 + r, !0 === n.options.variableWidth && (o = n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite ? n.$slideTrack.children(".slick-slide").eq(i) : n.$slideTrack.children(".slick-slide").eq(i + n.options.slidesToShow), e = !0 === n.options.rtl ? o[0] ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0, !0 === n.options.centerMode && (o = n.slideCount <= n.options.slidesToShow || !1 === n.options.infinite ? n.$slideTrack.children(".slick-slide").eq(i) : n.$slideTrack.children(".slick-slide").eq(i + n.options.slidesToShow + 1), e = !0 === n.options.rtl ? o[0] ? -1 * (n.$slideTrack.width() - o[0].offsetLeft - o.width()) : 0 : o[0] ? -1 * o[0].offsetLeft : 0, e += (n.$list.width() - o.outerWidth()) / 2)), e
	}, e.prototype.getOption = e.prototype.slickGetOption = function (i) {
		return this.options[i]
	}, e.prototype.getNavigableIndexes = function () {
		var i, e = this,
			t = 0,
			o = 0,
			s = [];
		for (!1 === e.options.infinite ? i = e.slideCount : (t = -1 * e.options.slidesToScroll, o = -1 * e.options.slidesToScroll, i = 2 * e.slideCount); t < i;) s.push(t), t = o + e.options.slidesToScroll, o += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow;
		return s
	}, e.prototype.getSlick = function () {
		return this
	}, e.prototype.getSlideCount = function () {
		var e, t, o = this;
		return t = !0 === o.options.centerMode ? o.slideWidth * Math.floor(o.options.slidesToShow / 2) : 0, !0 === o.options.swipeToSlide ? (o.$slideTrack.find(".slick-slide").each(function (s, n) {
			if (n.offsetLeft - t + i(n).outerWidth() / 2 > -1 * o.swipeLeft) return e = n, !1
		}), Math.abs(i(e).attr("data-slick-index") - o.currentSlide) || 1) : o.options.slidesToScroll
	}, e.prototype.goTo = e.prototype.slickGoTo = function (i, e) {
		this.changeSlide({
			data: {
				message: "index",
				index: parseInt(i)
			}
		}, e)
	}, e.prototype.init = function (e) {
		var t = this;
		i(t.$slider).hasClass("slick-initialized") || (i(t.$slider).addClass("slick-initialized"), t.buildRows(), t.buildOut(), t.setProps(), t.startLoad(), t.loadSlider(), t.initializeEvents(), t.updateArrows(), t.updateDots(), t.checkResponsive(!0), t.focusHandler()), e && t.$slider.trigger("init", [t]), !0 === t.options.accessibility && t.initADA(), t.options.autoplay && (t.paused = !1, t.autoPlay())
	}, e.prototype.initADA = function () {
		var e = this,
			t = Math.ceil(e.slideCount / e.options.slidesToShow),
			o = e.getNavigableIndexes().filter(function (i) {
				return i >= 0 && i < e.slideCount
			});
		e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({
			"aria-hidden": "true",
			tabindex: "-1"
		}).find("a, input, button, select").attr({
			tabindex: "-1"
		}), null !== e.$dots && (e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function (t) {
			var s = o.indexOf(t);
			i(this).attr({
				role: "tabpanel",
				id: "slick-slide" + e.instanceUid + t,
				tabindex: -1
			}), -1 !== s && i(this).attr({
				"aria-describedby": "slick-slide-control" + e.instanceUid + s
			})
		}), e.$dots.attr("role", "tablist").find("li").each(function (s) {
			var n = o[s];
			i(this).attr({
				role: "presentation"
			}), i(this).find("button").first().attr({
				role: "tab",
				id: "slick-slide-control" + e.instanceUid + s,
				"aria-controls": "slick-slide" + e.instanceUid + n,
				"aria-label": s + 1 + " of " + t,
				"aria-selected": null,
				tabindex: "-1"
			})
		}).eq(e.currentSlide).find("button").attr({
			"aria-selected": "true",
			tabindex: "0"
		}).end());
		for (var s = e.currentSlide, n = s + e.options.slidesToShow; s < n; s++) e.$slides.eq(s).attr("tabindex", 0);
		e.activateADA()
	}, e.prototype.initArrowEvents = function () {
		var i = this;
		!0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.off("click.slick").on("click.slick", {
			message: "previous"
		}, i.changeSlide), i.$nextArrow.off("click.slick").on("click.slick", {
			message: "next"
		}, i.changeSlide), !0 === i.options.accessibility && (i.$prevArrow.on("keydown.slick", i.keyHandler), i.$nextArrow.on("keydown.slick", i.keyHandler)))
	}, e.prototype.initDotEvents = function () {
		var e = this;
		!0 === e.options.dots && (i("li", e.$dots).on("click.slick", {
			message: "index"
		}, e.changeSlide), !0 === e.options.accessibility && e.$dots.on("keydown.slick", e.keyHandler)), !0 === e.options.dots && !0 === e.options.pauseOnDotsHover && i("li", e.$dots).on("mouseenter.slick", i.proxy(e.interrupt, e, !0)).on("mouseleave.slick", i.proxy(e.interrupt, e, !1))
	}, e.prototype.initSlideEvents = function () {
		var e = this;
		e.options.pauseOnHover && (e.$list.on("mouseenter.slick", i.proxy(e.interrupt, e, !0)), e.$list.on("mouseleave.slick", i.proxy(e.interrupt, e, !1)))
	}, e.prototype.initializeEvents = function () {
		var e = this;
		e.initArrowEvents(), e.initDotEvents(), e.initSlideEvents(), e.$list.on("touchstart.slick mousedown.slick", {
			action: "start"
		}, e.swipeHandler), e.$list.on("touchmove.slick mousemove.slick", {
			action: "move"
		}, e.swipeHandler), e.$list.on("touchend.slick mouseup.slick", {
			action: "end"
		}, e.swipeHandler), e.$list.on("touchcancel.slick mouseleave.slick", {
			action: "end"
		}, e.swipeHandler), e.$list.on("click.slick", e.clickHandler), i(document).on(e.visibilityChange, i.proxy(e.visibility, e)), !0 === e.options.accessibility && e.$list.on("keydown.slick", e.keyHandler), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on("click.slick", e.selectHandler), i(window).on("orientationchange.slick.slick-" + e.instanceUid, i.proxy(e.orientationChange, e)), i(window).on("resize.slick.slick-" + e.instanceUid, i.proxy(e.resize, e)), i("[draggable!=true]", e.$slideTrack).on("dragstart", e.preventDefault), i(window).on("load.slick.slick-" + e.instanceUid, e.setPosition), i(e.setPosition)
	}, e.prototype.initUI = function () {
		var i = this;
		!0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.show(), i.$nextArrow.show()), !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.show()
	}, e.prototype.keyHandler = function (i) {
		var e = this;
		i.target.tagName.match("TEXTAREA|INPUT|SELECT") || (37 === i.keyCode && !0 === e.options.accessibility ? e.changeSlide({
			data: {
				message: !0 === e.options.rtl ? "next" : "previous"
			}
		}) : 39 === i.keyCode && !0 === e.options.accessibility && e.changeSlide({
			data: {
				message: !0 === e.options.rtl ? "previous" : "next"
			}
		}))
	}, e.prototype.lazyLoad = function () {
		function e(e) {
			i("img[data-lazy]", e).each(function () {
				var e = i(this),
					t = i(this).attr("data-lazy"),
					o = i(this).attr("data-srcset"),
					s = i(this).attr("data-sizes") || n.$slider.attr("data-sizes"),
					r = document.createElement("img");
				r.onload = function () {
					e.animate({
						opacity: 0
					}, 100, function () {
						o && (e.attr("srcset", o), s && e.attr("sizes", s)), e.attr("src", t).animate({
							opacity: 1
						}, 200, function () {
							e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")
						}), n.$slider.trigger("lazyLoaded", [n, e, t])
					})
				}, r.onerror = function () {
					e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), n.$slider.trigger("lazyLoadError", [n, e, t])
				}, r.src = t
			})
		}
		var t, o, s, n = this;
		if (!0 === n.options.centerMode ? !0 === n.options.infinite ? s = (o = n.currentSlide + (n.options.slidesToShow / 2 + 1)) + n.options.slidesToShow + 2 : (o = Math.max(0, n.currentSlide - (n.options.slidesToShow / 2 + 1)), s = n.options.slidesToShow / 2 + 1 + 2 + n.currentSlide) : (o = n.options.infinite ? n.options.slidesToShow + n.currentSlide : n.currentSlide, s = Math.ceil(o + n.options.slidesToShow), !0 === n.options.fade && (o > 0 && o--, s <= n.slideCount && s++)), t = n.$slider.find(".slick-slide").slice(o, s), "anticipated" === n.options.lazyLoad)
			for (var r = o - 1, l = s, d = n.$slider.find(".slick-slide"), a = 0; a < n.options.slidesToScroll; a++) r < 0 && (r = n.slideCount - 1), t = (t = t.add(d.eq(r))).add(d.eq(l)), r--, l++;
		e(t), n.slideCount <= n.options.slidesToShow ? e(n.$slider.find(".slick-slide")) : n.currentSlide >= n.slideCount - n.options.slidesToShow ? e(n.$slider.find(".slick-cloned").slice(0, n.options.slidesToShow)) : 0 === n.currentSlide && e(n.$slider.find(".slick-cloned").slice(-1 * n.options.slidesToShow))
	}, e.prototype.loadSlider = function () {
		var i = this;
		i.setPosition(), i.$slideTrack.css({
			opacity: 1
		}), i.$slider.removeClass("slick-loading"), i.initUI(), "progressive" === i.options.lazyLoad && i.progressiveLazyLoad()
	}, e.prototype.next = e.prototype.slickNext = function () {
		this.changeSlide({
			data: {
				message: "next"
			}
		})
	}, e.prototype.orientationChange = function () {
		var i = this;
		i.checkResponsive(), i.setPosition()
	}, e.prototype.pause = e.prototype.slickPause = function () {
		var i = this;
		i.autoPlayClear(), i.paused = !0
	}, e.prototype.play = e.prototype.slickPlay = function () {
		var i = this;
		i.autoPlay(), i.options.autoplay = !0, i.paused = !1, i.focussed = !1, i.interrupted = !1
	}, e.prototype.postSlide = function (e) {
		var t = this;
		t.unslicked || (t.$slider.trigger("afterChange", [t, e]), t.animating = !1, t.slideCount > t.options.slidesToShow && t.setPosition(), t.swipeLeft = null, t.options.autoplay && t.autoPlay(), !0 === t.options.accessibility && (t.initADA(), t.options.focusOnChange && i(t.$slides.get(t.currentSlide)).attr("tabindex", 0).focus()))
	}, e.prototype.prev = e.prototype.slickPrev = function () {
		this.changeSlide({
			data: {
				message: "previous"
			}
		})
	}, e.prototype.preventDefault = function (i) {
		i.preventDefault()
	}, e.prototype.progressiveLazyLoad = function (e) {
		e = e || 1;
		var t, o, s, n, r, l = this,
			d = i("img[data-lazy]", l.$slider);
		d.length ? (t = d.first(), o = t.attr("data-lazy"), s = t.attr("data-srcset"), n = t.attr("data-sizes") || l.$slider.attr("data-sizes"), (r = document.createElement("img")).onload = function () {
			s && (t.attr("srcset", s), n && t.attr("sizes", n)), t.attr("src", o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"), !0 === l.options.adaptiveHeight && l.setPosition(), l.$slider.trigger("lazyLoaded", [l, t, o]), l.progressiveLazyLoad()
		}, r.onerror = function () {
			e < 3 ? setTimeout(function () {
				l.progressiveLazyLoad(e + 1)
			}, 500) : (t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), l.$slider.trigger("lazyLoadError", [l, t, o]), l.progressiveLazyLoad())
		}, r.src = o) : l.$slider.trigger("allImagesLoaded", [l])
	}, e.prototype.refresh = function (e) {
		var t, o, s = this;
		o = s.slideCount - s.options.slidesToShow, !s.options.infinite && s.currentSlide > o && (s.currentSlide = o), s.slideCount <= s.options.slidesToShow && (s.currentSlide = 0), t = s.currentSlide, s.destroy(!0), i.extend(s, s.initials, {
			currentSlide: t
		}), s.init(), e || s.changeSlide({
			data: {
				message: "index",
				index: t
			}
		}, !1)
	}, e.prototype.registerBreakpoints = function () {
		var e, t, o, s = this,
			n = s.options.responsive || null;
		if ("array" === i.type(n) && n.length) {
			s.respondTo = s.options.respondTo || "window";
			for (e in n)
				if (o = s.breakpoints.length - 1, n.hasOwnProperty(e)) {
					for (t = n[e].breakpoint; o >= 0;) s.breakpoints[o] && s.breakpoints[o] === t && s.breakpoints.splice(o, 1), o--;
					s.breakpoints.push(t), s.breakpointSettings[t] = n[e].settings
				}
			s.breakpoints.sort(function (i, e) {
				return s.options.mobileFirst ? i - e : e - i
			})
		}
	}, e.prototype.reinit = function () {
		var e = this;
		e.$slides = e.$slideTrack.children(e.options.slide).addClass("slick-slide"), e.slideCount = e.$slides.length, e.currentSlide >= e.slideCount && 0 !== e.currentSlide && (e.currentSlide = e.currentSlide - e.options.slidesToScroll), e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0), e.registerBreakpoints(), e.setProps(), e.setupInfinite(), e.buildArrows(), e.updateArrows(), e.initArrowEvents(), e.buildDots(), e.updateDots(), e.initDotEvents(), e.cleanUpSlideEvents(), e.initSlideEvents(), e.checkResponsive(!1, !0), !0 === e.options.focusOnSelect && i(e.$slideTrack).children().on("click.slick", e.selectHandler), e.setSlideClasses("number" == typeof e.currentSlide ? e.currentSlide : 0), e.setPosition(), e.focusHandler(), e.paused = !e.options.autoplay, e.autoPlay(), e.$slider.trigger("reInit", [e])
	}, e.prototype.resize = function () {
		var e = this;
		i(window).width() !== e.windowWidth && (clearTimeout(e.windowDelay), e.windowDelay = window.setTimeout(function () {
			e.windowWidth = i(window).width(), e.checkResponsive(), e.unslicked || e.setPosition()
		}, 50))
	}, e.prototype.removeSlide = e.prototype.slickRemove = function (i, e, t) {
		var o = this;
		if (i = "boolean" == typeof i ? !0 === (e = i) ? 0 : o.slideCount - 1 : !0 === e ? --i : i, o.slideCount < 1 || i < 0 || i > o.slideCount - 1) return !1;
		o.unload(), !0 === t ? o.$slideTrack.children().remove() : o.$slideTrack.children(this.options.slide).eq(i).remove(), o.$slides = o.$slideTrack.children(this.options.slide), o.$slideTrack.children(this.options.slide).detach(), o.$slideTrack.append(o.$slides), o.$slidesCache = o.$slides, o.reinit()
	}, e.prototype.setCSS = function (i) {
		var e, t, o = this,
			s = {};
		!0 === o.options.rtl && (i = -i), e = "left" == o.positionProp ? Math.ceil(i) + "px" : "0px", t = "top" == o.positionProp ? Math.ceil(i) + "px" : "0px", s[o.positionProp] = i, !1 === o.transformsEnabled ? o.$slideTrack.css(s) : (s = {}, !1 === o.cssTransitions ? (s[o.animType] = "translate(" + e + ", " + t + ")", o.$slideTrack.css(s)) : (s[o.animType] = "translate3d(" + e + ", " + t + ", 0px)", o.$slideTrack.css(s)))
	}, e.prototype.setDimensions = function () {
		var i = this;
		!1 === i.options.vertical ? !0 === i.options.centerMode && i.$list.css({
			padding: "0px " + i.options.centerPadding
		}) : (i.$list.height(i.$slides.first().outerHeight(!0) * i.options.slidesToShow), !0 === i.options.centerMode && i.$list.css({
			padding: i.options.centerPadding + " 0px"
		})), i.listWidth = i.$list.width(), i.listHeight = i.$list.height(), !1 === i.options.vertical && !1 === i.options.variableWidth ? (i.slideWidth = Math.ceil(i.listWidth / i.options.slidesToShow), i.$slideTrack.width(Math.ceil(i.slideWidth * i.$slideTrack.children(".slick-slide").length))) : !0 === i.options.variableWidth ? i.$slideTrack.width(5e3 * i.slideCount) : (i.slideWidth = Math.ceil(i.listWidth), i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0) * i.$slideTrack.children(".slick-slide").length)));
		var e = i.$slides.first().outerWidth(!0) - i.$slides.first().width();
		!1 === i.options.variableWidth && i.$slideTrack.children(".slick-slide").width(i.slideWidth - e)
	}, e.prototype.setFade = function () {
		var e, t = this;
		t.$slides.each(function (o, s) {
			e = t.slideWidth * o * -1, !0 === t.options.rtl ? i(s).css({
				position: "relative",
				right: e,
				top: 0,
				zIndex: t.options.zIndex - 2,
				opacity: 0
			}) : i(s).css({
				position: "relative",
				left: e,
				top: 0,
				zIndex: t.options.zIndex - 2,
				opacity: 0
			})
		}), t.$slides.eq(t.currentSlide).css({
			zIndex: t.options.zIndex - 1,
			opacity: 1
		})
	}, e.prototype.setHeight = function () {
		var i = this;
		if (1 === i.options.slidesToShow && !0 === i.options.adaptiveHeight && !1 === i.options.vertical) {
			var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
			i.$list.css("height", e)
		}
	}, e.prototype.setOption = e.prototype.slickSetOption = function () {
		var e, t, o, s, n, r = this,
			l = !1;
		if ("object" === i.type(arguments[0]) ? (o = arguments[0], l = arguments[1], n = "multiple") : "string" === i.type(arguments[0]) && (o = arguments[0], s = arguments[1], l = arguments[2], "responsive" === arguments[0] && "array" === i.type(arguments[1]) ? n = "responsive" : void 0 !== arguments[1] && (n = "single")), "single" === n) r.options[o] = s;
		else if ("multiple" === n) i.each(o, function (i, e) {
			r.options[i] = e
		});
		else if ("responsive" === n)
			for (t in s)
				if ("array" !== i.type(r.options.responsive)) r.options.responsive = [s[t]];
				else {
					for (e = r.options.responsive.length - 1; e >= 0;) r.options.responsive[e].breakpoint === s[t].breakpoint && r.options.responsive.splice(e, 1), e--;
					r.options.responsive.push(s[t])
				}
		l && (r.unload(), r.reinit())
	}, e.prototype.setPosition = function () {
		var i = this;
		i.setDimensions(), i.setHeight(), !1 === i.options.fade ? i.setCSS(i.getLeft(i.currentSlide)) : i.setFade(), i.$slider.trigger("setPosition", [i])
	}, e.prototype.setProps = function () {
		var i = this,
			e = document.body.style;
		i.positionProp = !0 === i.options.vertical ? "top" : "left", "top" === i.positionProp ? i.$slider.addClass("slick-vertical") : i.$slider.removeClass("slick-vertical"), void 0 === e.WebkitTransition && void 0 === e.MozTransition && void 0 === e.msTransition || !0 === i.options.useCSS && (i.cssTransitions = !0), i.options.fade && ("number" == typeof i.options.zIndex ? i.options.zIndex < 3 && (i.options.zIndex = 3) : i.options.zIndex = i.defaults.zIndex), void 0 !== e.OTransform && (i.animType = "OTransform", i.transformType = "-o-transform", i.transitionType = "OTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (i.animType = !1)), void 0 !== e.MozTransform && (i.animType = "MozTransform", i.transformType = "-moz-transform", i.transitionType = "MozTransition", void 0 === e.perspectiveProperty && void 0 === e.MozPerspective && (i.animType = !1)), void 0 !== e.webkitTransform && (i.animType = "webkitTransform", i.transformType = "-webkit-transform", i.transitionType = "webkitTransition", void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (i.animType = !1)), void 0 !== e.msTransform && (i.animType = "msTransform", i.transformType = "-ms-transform", i.transitionType = "msTransition", void 0 === e.msTransform && (i.animType = !1)), void 0 !== e.transform && !1 !== i.animType && (i.animType = "transform", i.transformType = "transform", i.transitionType = "transition"), i.transformsEnabled = i.options.useTransform && null !== i.animType && !1 !== i.animType
	}, e.prototype.setSlideClasses = function (i) {
		var e, t, o, s, n = this;
		if (t = n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true"), n.$slides.eq(i).addClass("slick-current"), !0 === n.options.centerMode) {
			var r = n.options.slidesToShow % 2 == 0 ? 1 : 0;
			e = Math.floor(n.options.slidesToShow / 2), !0 === n.options.infinite && (i >= e && i <= n.slideCount - 1 - e ? n.$slides.slice(i - e + r, i + e + 1).addClass("slick-active").attr("aria-hidden", "false") : (o = n.options.slidesToShow + i, t.slice(o - e + 1 + r, o + e + 2).addClass("slick-active").attr("aria-hidden", "false")), 0 === i ? t.eq(t.length - 1 - n.options.slidesToShow).addClass("slick-center") : i === n.slideCount - 1 && t.eq(n.options.slidesToShow).addClass("slick-center")), n.$slides.eq(i).addClass("slick-center")
		} else i >= 0 && i <= n.slideCount - n.options.slidesToShow ? n.$slides.slice(i, i + n.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false") : t.length <= n.options.slidesToShow ? t.addClass("slick-active").attr("aria-hidden", "false") : (s = n.slideCount % n.options.slidesToShow, o = !0 === n.options.infinite ? n.options.slidesToShow + i : i, n.options.slidesToShow == n.options.slidesToScroll && n.slideCount - i < n.options.slidesToShow ? t.slice(o - (n.options.slidesToShow - s), o + s).addClass("slick-active").attr("aria-hidden", "false") : t.slice(o, o + n.options.slidesToShow).addClass("slick-active").attr("aria-hidden", "false"));
		"ondemand" !== n.options.lazyLoad && "anticipated" !== n.options.lazyLoad || n.lazyLoad()
	}, e.prototype.setupInfinite = function () {
		var e, t, o, s = this;
		if (!0 === s.options.fade && (s.options.centerMode = !1), !0 === s.options.infinite && !1 === s.options.fade && (t = null, s.slideCount > s.options.slidesToShow)) {
			for (o = !0 === s.options.centerMode ? s.options.slidesToShow + 1 : s.options.slidesToShow, e = s.slideCount; e > s.slideCount - o; e -= 1) t = e - 1, i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t - s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");
			for (e = 0; e < o + s.slideCount; e += 1) t = e, i(s.$slides[t]).clone(!0).attr("id", "").attr("data-slick-index", t + s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");
			s.$slideTrack.find(".slick-cloned").find("[id]").each(function () {
				i(this).attr("id", "")
			})
		}
	}, e.prototype.interrupt = function (i) {
		var e = this;
		i || e.autoPlay(), e.interrupted = i
	}, e.prototype.selectHandler = function (e) {
		var t = this,
			o = i(e.target).is(".slick-slide") ? i(e.target) : i(e.target).parents(".slick-slide"),
			s = parseInt(o.attr("data-slick-index"));
		s || (s = 0), t.slideCount <= t.options.slidesToShow ? t.slideHandler(s, !1, !0) : t.slideHandler(s)
	}, e.prototype.slideHandler = function (i, e, t) {
		var o, s, n, r, l, d = null,
			a = this;
		if (e = e || !1, !(!0 === a.animating && !0 === a.options.waitForAnimate || !0 === a.options.fade && a.currentSlide === i))
			if (!1 === e && a.asNavFor(i), o = i, d = a.getLeft(o), r = a.getLeft(a.currentSlide), a.currentLeft = null === a.swipeLeft ? r : a.swipeLeft, !1 === a.options.infinite && !1 === a.options.centerMode && (i < 0 || i > a.getDotCount() * a.options.slidesToScroll)) !1 === a.options.fade && (o = a.currentSlide, !0 !== t ? a.animateSlide(r, function () {
				a.postSlide(o)
			}) : a.postSlide(o));
			else if (!1 === a.options.infinite && !0 === a.options.centerMode && (i < 0 || i > a.slideCount - a.options.slidesToScroll)) !1 === a.options.fade && (o = a.currentSlide, !0 !== t ? a.animateSlide(r, function () {
			a.postSlide(o)
		}) : a.postSlide(o));
		else {
			if (a.options.autoplay && clearInterval(a.autoPlayTimer), s = o < 0 ? a.slideCount % a.options.slidesToScroll != 0 ? a.slideCount - a.slideCount % a.options.slidesToScroll : a.slideCount + o : o >= a.slideCount ? a.slideCount % a.options.slidesToScroll != 0 ? 0 : o - a.slideCount : o, a.animating = !0, a.$slider.trigger("beforeChange", [a, a.currentSlide, s]), n = a.currentSlide, a.currentSlide = s, a.setSlideClasses(a.currentSlide), a.options.asNavFor && (l = (l = a.getNavTarget()).slick("getSlick")).slideCount <= l.options.slidesToShow && l.setSlideClasses(a.currentSlide), a.updateDots(), a.updateArrows(), !0 === a.options.fade) return !0 !== t ? (a.fadeSlideOut(n), a.fadeSlide(s, function () {
				a.postSlide(s)
			})) : a.postSlide(s), void a.animateHeight();
			!0 !== t ? a.animateSlide(d, function () {
				a.postSlide(s)
			}) : a.postSlide(s)
		}
	}, e.prototype.startLoad = function () {
		var i = this;
		!0 === i.options.arrows && i.slideCount > i.options.slidesToShow && (i.$prevArrow.hide(), i.$nextArrow.hide()), !0 === i.options.dots && i.slideCount > i.options.slidesToShow && i.$dots.hide(), i.$slider.addClass("slick-loading")
	}, e.prototype.swipeDirection = function () {
		var i, e, t, o, s = this;
		return i = s.touchObject.startX - s.touchObject.curX, e = s.touchObject.startY - s.touchObject.curY, t = Math.atan2(e, i), (o = Math.round(180 * t / Math.PI)) < 0 && (o = 360 - Math.abs(o)), o <= 45 && o >= 0 ? !1 === s.options.rtl ? "left" : "right" : o <= 360 && o >= 315 ? !1 === s.options.rtl ? "left" : "right" : o >= 135 && o <= 225 ? !1 === s.options.rtl ? "right" : "left" : !0 === s.options.verticalSwiping ? o >= 35 && o <= 135 ? "down" : "up" : "vertical"
	}, e.prototype.swipeEnd = function (i) {
		var e, t, o = this;
		if (o.dragging = !1, o.swiping = !1, o.scrolling) return o.scrolling = !1, !1;
		if (o.interrupted = !1, o.shouldClick = !(o.touchObject.swipeLength > 10), void 0 === o.touchObject.curX) return !1;
		if (!0 === o.touchObject.edgeHit && o.$slider.trigger("edge", [o, o.swipeDirection()]), o.touchObject.swipeLength >= o.touchObject.minSwipe) {
			switch (t = o.swipeDirection()) {
				case "left":
				case "down":
					e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide + o.getSlideCount()) : o.currentSlide + o.getSlideCount(), o.currentDirection = 0;
					break;
				case "right":
				case "up":
					e = o.options.swipeToSlide ? o.checkNavigable(o.currentSlide - o.getSlideCount()) : o.currentSlide - o.getSlideCount(), o.currentDirection = 1
			}
			"vertical" != t && (o.slideHandler(e), o.touchObject = {}, o.$slider.trigger("swipe", [o, t]))
		} else o.touchObject.startX !== o.touchObject.curX && (o.slideHandler(o.currentSlide), o.touchObject = {})
	}, e.prototype.swipeHandler = function (i) {
		var e = this;
		if (!(!1 === e.options.swipe || "ontouchend" in document && !1 === e.options.swipe || !1 === e.options.draggable && -1 !== i.type.indexOf("mouse"))) switch (e.touchObject.fingerCount = i.originalEvent && void 0 !== i.originalEvent.touches ? i.originalEvent.touches.length : 1, e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold, !0 === e.options.verticalSwiping && (e.touchObject.minSwipe = e.listHeight / e.options.touchThreshold), i.data.action) {
			case "start":
				e.swipeStart(i);
				break;
			case "move":
				e.swipeMove(i);
				break;
			case "end":
				e.swipeEnd(i)
		}
	}, e.prototype.swipeMove = function (i) {
		var e, t, o, s, n, r, l = this;
		return n = void 0 !== i.originalEvent ? i.originalEvent.touches : null, !(!l.dragging || l.scrolling || n && 1 !== n.length) && (e = l.getLeft(l.currentSlide), l.touchObject.curX = void 0 !== n ? n[0].pageX : i.clientX, l.touchObject.curY = void 0 !== n ? n[0].pageY : i.clientY, l.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(l.touchObject.curX - l.touchObject.startX, 2))), r = Math.round(Math.sqrt(Math.pow(l.touchObject.curY - l.touchObject.startY, 2))), !l.options.verticalSwiping && !l.swiping && r > 4 ? (l.scrolling = !0, !1) : (!0 === l.options.verticalSwiping && (l.touchObject.swipeLength = r), t = l.swipeDirection(), void 0 !== i.originalEvent && l.touchObject.swipeLength > 4 && (l.swiping = !0, i.preventDefault()), s = (!1 === l.options.rtl ? 1 : -1) * (l.touchObject.curX > l.touchObject.startX ? 1 : -1), !0 === l.options.verticalSwiping && (s = l.touchObject.curY > l.touchObject.startY ? 1 : -1), o = l.touchObject.swipeLength, l.touchObject.edgeHit = !1, !1 === l.options.infinite && (0 === l.currentSlide && "right" === t || l.currentSlide >= l.getDotCount() && "left" === t) && (o = l.touchObject.swipeLength * l.options.edgeFriction, l.touchObject.edgeHit = !0), !1 === l.options.vertical ? l.swipeLeft = e + o * s : l.swipeLeft = e + o * (l.$list.height() / l.listWidth) * s, !0 === l.options.verticalSwiping && (l.swipeLeft = e + o * s), !0 !== l.options.fade && !1 !== l.options.touchMove && (!0 === l.animating ? (l.swipeLeft = null, !1) : void l.setCSS(l.swipeLeft))))
	}, e.prototype.swipeStart = function (i) {
		var e, t = this;
		if (t.interrupted = !0, 1 !== t.touchObject.fingerCount || t.slideCount <= t.options.slidesToShow) return t.touchObject = {}, !1;
		void 0 !== i.originalEvent && void 0 !== i.originalEvent.touches && (e = i.originalEvent.touches[0]), t.touchObject.startX = t.touchObject.curX = void 0 !== e ? e.pageX : i.clientX, t.touchObject.startY = t.touchObject.curY = void 0 !== e ? e.pageY : i.clientY, t.dragging = !0
	}, e.prototype.unfilterSlides = e.prototype.slickUnfilter = function () {
		var i = this;
		null !== i.$slidesCache && (i.unload(), i.$slideTrack.children(this.options.slide).detach(), i.$slidesCache.appendTo(i.$slideTrack), i.reinit())
	}, e.prototype.unload = function () {
		var e = this;
		i(".slick-cloned", e.$slider).remove(), e.$dots && e.$dots.remove(), e.$prevArrow && e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.remove(), e.$nextArrow && e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.remove(), e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "")
	}, e.prototype.unslick = function (i) {
		var e = this;
		e.$slider.trigger("unslick", [e, i]), e.destroy()
	}, e.prototype.updateArrows = function () {
		var i = this;
		Math.floor(i.options.slidesToShow / 2), !0 === i.options.arrows && i.slideCount > i.options.slidesToShow && !i.options.infinite && (i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"), 0 === i.currentSlide ? (i.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"), i.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : i.currentSlide >= i.slideCount - i.options.slidesToShow && !1 === i.options.centerMode ? (i.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")) : i.currentSlide >= i.slideCount - 1 && !0 === i.options.centerMode && (i.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), i.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")))
	}, e.prototype.updateDots = function () {
		var i = this;
		null !== i.$dots && (i.$dots.find("li").removeClass("slick-active").end(), i.$dots.find("li").eq(Math.floor(i.currentSlide / i.options.slidesToScroll)).addClass("slick-active"))
	}, e.prototype.visibility = function () {
		var i = this;
		i.options.autoplay && (document[i.hidden] ? i.interrupted = !0 : i.interrupted = !1)
	}, i.fn.slick = function () {
		var i, t, o = this,
			s = arguments[0],
			n = Array.prototype.slice.call(arguments, 1),
			r = o.length;
		for (i = 0; i < r; i++)
			if ("object" == typeof s || void 0 === s ? o[i].slick = new e(o[i], s) : t = o[i].slick[s].apply(o[i].slick, n), void 0 !== t) return t;
		return o
	}
});

/* This Plugin for Maximage Slider */
/*!
 * jQuery Cycle Plugin (with Transition Definitions)
 * Examples and documentation at: http://jquery.malsup.com/cycle/
 * Copyright (c) 2007-2010 M. Alsup
 * Version: 2.9998 (27-OCT-2011)
 * Dual licensed under the MIT and GPL licenses.
 * http://jquery.malsup.com/license.html
 * Requires: jQuery v1.3.2 or later
 */
! function (e, t) {
	function n(t) {
		e.fn.cycle.debug && i(t)
	}

	function i() {
		window.console && console.log && console.log("[cycle] " + Array.prototype.join.call(arguments, " "))
	}

	function c(t, n, i) {
		var c = e(t).data("cycle.opts"),
			s = !!t.cyclePause;
		s && c.paused ? c.paused(t, c, n, i) : !s && c.resumed && c.resumed(t, c, n, i)
	}

	function s(n, s, o) {
		function l(t, n, c) {
			if (!t && n === !0) {
				var s = e(c).data("cycle.opts");
				if (!s) return i("options not found, can not resume"), !1;
				c.cycleTimeout && (clearTimeout(c.cycleTimeout), c.cycleTimeout = 0), d(s.elements, s, 1, !s.backwards)
			}
		}
		if (n.cycleStop == t && (n.cycleStop = 0), (s === t || null === s) && (s = {}), s.constructor == String) {
			switch (s) {
				case "destroy":
				case "stop":
					var a = e(n).data("cycle.opts");
					return a ? (n.cycleStop++, n.cycleTimeout && clearTimeout(n.cycleTimeout), n.cycleTimeout = 0, a.elements && e(a.elements).stop(), e(n).removeData("cycle.opts"), "destroy" == s && r(a), !1) : !1;
				case "toggle":
					return n.cyclePause = 1 === n.cyclePause ? 0 : 1, l(n.cyclePause, o, n), c(n), !1;
				case "pause":
					return n.cyclePause = 1, c(n), !1;
				case "resume":
					return n.cyclePause = 0, l(!1, o, n), c(n), !1;
				case "prev":
				case "next":
					var a = e(n).data("cycle.opts");
					return a ? (e.fn.cycle[s](a), !1) : (i('options not found, "prev/next" ignored'), !1);
				default:
					s = {
						fx: s
					}
			}
			return s
		}
		if (s.constructor == Number) {
			var f = s;
			return (s = e(n).data("cycle.opts")) ? 0 > f || f >= s.elements.length ? (i("invalid slide index: " + f), !1) : (s.nextSlide = f, n.cycleTimeout && (clearTimeout(n.cycleTimeout), n.cycleTimeout = 0), "string" == typeof o && (s.oneTimeFx = o), d(s.elements, s, 1, f >= s.currSlide), !1) : (i("options not found, can not advance slide"), !1)
		}
		return s
	}

	function o(t, n) {
		if (!e.support.opacity && n.cleartype && t.style.filter) try {
			t.style.removeAttribute("filter")
		} catch (i) {}
	}

	function r(t) {
		t.next && e(t.next).unbind(t.prevNextEvent), t.prev && e(t.prev).unbind(t.prevNextEvent), (t.pager || t.pagerAnchorBuilder) && e.each(t.pagerAnchors || [], function () {
			this.unbind().remove()
		}), t.pagerAnchors = null, t.destroy && t.destroy(t)
	}

	function l(n, s, r, l, h) {
		var p, x = e.extend({}, e.fn.cycle.defaults, l || {}, e.metadata ? n.metadata() : e.meta ? n.data() : {}),
			v = e.isFunction(n.data) ? n.data(x.metaAttr) : null;
		v && (x = e.extend(x, v)), x.autostop && (x.countdown = x.autostopCount || r.length);
		var w = n[0];
		if (n.data("cycle.opts", x), x.$cont = n, x.stopCount = w.cycleStop, x.elements = r, x.before = x.before ? [x.before] : [], x.after = x.after ? [x.after] : [], !e.support.opacity && x.cleartype && x.after.push(function () {
				o(this, x)
			}), x.continuous && x.after.push(function () {
				d(r, x, 0, !x.backwards)
			}), a(x), e.support.opacity || !x.cleartype || x.cleartypeNoBg || g(s), "static" == n.css("position") && n.css("position", "relative"), x.width && n.width(x.width), x.height && "auto" != x.height && n.height(x.height), x.startingSlide != t ? (x.startingSlide = parseInt(x.startingSlide, 10), x.startingSlide >= r.length || x.startSlide < 0 ? x.startingSlide = 0 : p = !0) : x.backwards ? x.startingSlide = r.length - 1 : x.startingSlide = 0, x.random) {
			x.randomMap = [];
			for (var S = 0; S < r.length; S++) x.randomMap.push(S);
			if (x.randomMap.sort(function (e, t) {
					return Math.random() - .5
				}), p)
				for (var b = 0; b < r.length; b++) x.startingSlide == x.randomMap[b] && (x.randomIndex = b);
			else x.randomIndex = 1, x.startingSlide = x.randomMap[1]
		} else x.startingSlide >= r.length && (x.startingSlide = 0);
		x.currSlide = x.startingSlide || 0;
		var B = x.startingSlide;
		s.css({
			position: "absolute",
			top: 0,
			left: 0
		}).hide().each(function (t) {
			var n;
			n = x.backwards ? B ? B >= t ? r.length + (t - B) : B - t : r.length - t : B ? t >= B ? r.length - (t - B) : B - t : r.length - t, e(this).css("z-index", n)
		}), e(r[B]).css("opacity", 1).show(), o(r[B], x), x.fit && (x.aspect ? s.each(function () {
			var t = e(this),
				n = x.aspect === !0 ? t.width() / t.height() : x.aspect;
			x.width && t.width() != x.width && (t.width(x.width), t.height(x.width / n)), x.height && t.height() < x.height && (t.height(x.height), t.width(x.height * n))
		}) : (x.width && s.width(x.width), x.height && "auto" != x.height && s.height(x.height))), !x.center || x.fit && !x.aspect || s.each(function () {
			var t = e(this);
			t.css({
				"margin-left": x.width ? (x.width - t.width()) / 2 + "px" : 0,
				"margin-top": x.height ? (x.height - t.height()) / 2 + "px" : 0
			})
		}), !x.center || x.fit || x.slideResize || s.each(function () {
			var t = e(this);
			t.css({
				"margin-left": x.width ? (x.width - t.width()) / 2 + "px" : 0,
				"margin-top": x.height ? (x.height - t.height()) / 2 + "px" : 0
			})
		});
		var I = x.containerResize && !n.innerHeight();
		if (I) {
			for (var O = 0, F = 0, A = 0; A < r.length; A++) {
				var k = e(r[A]),
					H = k[0],
					T = k.outerWidth(),
					W = k.outerHeight();
				T || (T = H.offsetWidth || H.width || k.attr("width")), W || (W = H.offsetHeight || H.height || k.attr("height")), O = T > O ? T : O, F = W > F ? W : F
			}
			O > 0 && F > 0 && n.css({
				width: O + "px",
				height: F + "px"
			})
		}
		var P = !1;
		if (x.pause && n.hover(function () {
				P = !0, this.cyclePause++, c(w, !0)
			}, function () {
				P && this.cyclePause--, c(w, !0)
			}), f(x) === !1) return !1;
		var R = !1;
		if (l.requeueAttempts = l.requeueAttempts || 0, s.each(function () {
				var t = e(this);
				if (this.cycleH = x.fit && x.height ? x.height : t.height() || this.offsetHeight || this.height || t.attr("height") || 0, this.cycleW = x.fit && x.width ? x.width : t.width() || this.offsetWidth || this.width || t.attr("width") || 0, t.is("img")) {
					var n = e.browser.msie && 28 == this.cycleW && 30 == this.cycleH && !this.complete,
						c = e.browser.mozilla && 34 == this.cycleW && 19 == this.cycleH && !this.complete,
						s = e.browser.opera && (42 == this.cycleW && 19 == this.cycleH || 37 == this.cycleW && 17 == this.cycleH) && !this.complete,
						o = 0 == this.cycleH && 0 == this.cycleW && !this.complete;
					if (n || c || s || o) {
						if (h.s && x.requeueOnImageNotLoaded && ++l.requeueAttempts < 100) return i(l.requeueAttempts, " - img slide not loaded, requeuing slideshow: ", this.src, this.cycleW, this.cycleH), setTimeout(function () {
							e(h.s, h.c).cycle(l)
						}, x.requeueTimeout), R = !0, !1;
						i("could not determine size of image: " + this.src, this.cycleW, this.cycleH)
					}
				}
				return !0
			}), R) return !1;
		if (x.cssBefore = x.cssBefore || {}, x.cssAfter = x.cssAfter || {}, x.cssFirst = x.cssFirst || {}, x.animIn = x.animIn || {}, x.animOut = x.animOut || {}, s.not(":eq(" + B + ")").css(x.cssBefore), e(s[B]).css(x.cssFirst), x.timeout) {
			x.timeout = parseInt(x.timeout, 10), x.speed.constructor == String && (x.speed = e.fx.speeds[x.speed] || parseInt(x.speed, 10)), x.sync || (x.speed = x.speed / 2);
			for (var C = "none" == x.fx ? 0 : "shuffle" == x.fx ? 500 : 250; x.timeout - x.speed < C;) x.timeout += x.speed
		}
		if (x.easing && (x.easeIn = x.easeOut = x.easing), x.speedIn || (x.speedIn = x.speed), x.speedOut || (x.speedOut = x.speed), x.slideCount = r.length, x.currSlide = x.lastSlide = B, x.random ? (++x.randomIndex == r.length && (x.randomIndex = 0), x.nextSlide = x.randomMap[x.randomIndex]) : x.backwards ? x.nextSlide = 0 == x.startingSlide ? r.length - 1 : x.startingSlide - 1 : x.nextSlide = x.startingSlide >= r.length - 1 ? 0 : x.startingSlide + 1, !x.multiFx) {
			var z = e.fn.cycle.transitions[x.fx];
			if (e.isFunction(z)) z(n, s, x);
			else if ("custom" != x.fx && !x.multiFx) return i("unknown transition: " + x.fx, "; slideshow terminating"), !1
		}
		var E = s[B];
		return x.skipInitializationCallbacks || (x.before.length && x.before[0].apply(E, [E, E, x, !0]), x.after.length && x.after[0].apply(E, [E, E, x, !0])), x.next && e(x.next).bind(x.prevNextEvent, function () {
			return m(x, 1)
		}), x.prev && e(x.prev).bind(x.prevNextEvent, function () {
			return m(x, 0)
		}), (x.pager || x.pagerAnchorBuilder) && y(r, x), u(x, r), x
	}

	function a(t) {
		t.original = {
			before: [],
			after: []
		}, t.original.cssBefore = e.extend({}, t.cssBefore), t.original.cssAfter = e.extend({}, t.cssAfter), t.original.animIn = e.extend({}, t.animIn), t.original.animOut = e.extend({}, t.animOut), e.each(t.before, function () {
			t.original.before.push(this)
		}), e.each(t.after, function () {
			t.original.after.push(this)
		})
	}

	function f(t) {
		var c, s, o = e.fn.cycle.transitions;
		if (t.fx.indexOf(",") > 0) {
			for (t.multiFx = !0, t.fxs = t.fx.replace(/\s*/g, "").split(","), c = 0; c < t.fxs.length; c++) {
				var r = t.fxs[c];
				s = o[r], s && o.hasOwnProperty(r) && e.isFunction(s) || (i("discarding unknown transition: ", r), t.fxs.splice(c, 1), c--)
			}
			if (!t.fxs.length) return i("No valid transitions named; slideshow terminating."), !1
		} else if ("all" == t.fx) {
			t.multiFx = !0, t.fxs = [];
			for (p in o) s = o[p], o.hasOwnProperty(p) && e.isFunction(s) && t.fxs.push(p)
		}
		if (t.multiFx && t.randomizeEffects) {
			var l = Math.floor(20 * Math.random()) + 30;
			for (c = 0; l > c; c++) {
				var a = Math.floor(Math.random() * t.fxs.length);
				t.fxs.push(t.fxs.splice(a, 1)[0])
			}
			n("randomized fx sequence: ", t.fxs)
		}
		return !0
	}

	function u(t, n) {
		t.addSlide = function (i, c) {
			var s = e(i),
				o = s[0];
			t.autostopCount || t.countdown++, n[c ? "unshift" : "push"](o), t.els && t.els[c ? "unshift" : "push"](o), t.slideCount = n.length, t.random && (t.randomMap.push(t.slideCount - 1), t.randomMap.sort(function (e, t) {
				return Math.random() - .5
			})), s.css("position", "absolute"), s[c ? "prependTo" : "appendTo"](t.$cont), c && (t.currSlide++, t.nextSlide++), e.support.opacity || !t.cleartype || t.cleartypeNoBg || g(s), t.fit && t.width && s.width(t.width), t.fit && t.height && "auto" != t.height && s.height(t.height), o.cycleH = t.fit && t.height ? t.height : s.height(), o.cycleW = t.fit && t.width ? t.width : s.width(), s.css(t.cssBefore), (t.pager || t.pagerAnchorBuilder) && e.fn.cycle.createPagerAnchor(n.length - 1, o, e(t.pager), n, t), e.isFunction(t.onAddSlide) ? t.onAddSlide(s) : s.hide()
		}
	}

	function d(i, c, s, o) {
		function r() {
			var e = 0;
			c.timeout;
			c.timeout && !c.continuous ? (e = h(i[c.currSlide], i[c.nextSlide], c, o), "shuffle" == c.fx && (e -= c.speedOut)) : c.continuous && l.cyclePause && (e = 10), e > 0 && (l.cycleTimeout = setTimeout(function () {
				d(i, c, 0, !c.backwards)
			}, e))
		}
		if (s && c.busy && c.manualTrump && (n("manualTrump in go(), stopping active transition"), e(i).stop(!0, !0), c.busy = 0), c.busy) return void n("transition active, ignoring new tx request");
		var l = c.$cont[0],
			a = i[c.currSlide],
			f = i[c.nextSlide];
		if (l.cycleStop == c.stopCount && (0 !== l.cycleTimeout || s)) {
			if (!s && !l.cyclePause && !c.bounce && (c.autostop && --c.countdown <= 0 || c.nowrap && !c.random && c.nextSlide < c.currSlide)) return void(c.end && c.end(c));
			var u = !1;
			if (!s && l.cyclePause || c.nextSlide == c.currSlide) r();
			else {
				u = !0;
				var p = c.fx;
				a.cycleH = a.cycleH || e(a).height(), a.cycleW = a.cycleW || e(a).width(), f.cycleH = f.cycleH || e(f).height(), f.cycleW = f.cycleW || e(f).width(), c.multiFx && (o && (c.lastFx == t || ++c.lastFx >= c.fxs.length) ? c.lastFx = 0 : !o && (c.lastFx == t || --c.lastFx < 0) && (c.lastFx = c.fxs.length - 1), p = c.fxs[c.lastFx]), c.oneTimeFx && (p = c.oneTimeFx, c.oneTimeFx = null), e.fn.cycle.resetState(c, p), c.before.length && e.each(c.before, function (e, t) {
					l.cycleStop == c.stopCount && t.apply(f, [a, f, c, o])
				});
				var m = function () {
					c.busy = 0, e.each(c.after, function (e, t) {
						l.cycleStop == c.stopCount && t.apply(f, [a, f, c, o])
					}), l.cycleStop || r()
				};
				n("tx firing(" + p + "); currSlide: " + c.currSlide + "; nextSlide: " + c.nextSlide), c.busy = 1, c.fxFn ? c.fxFn(a, f, c, m, o, s && c.fastOnEvent) : e.isFunction(e.fn.cycle[c.fx]) ? e.fn.cycle[c.fx](a, f, c, m, o, s && c.fastOnEvent) : e.fn.cycle.custom(a, f, c, m, o, s && c.fastOnEvent)
			}
			if (u || c.nextSlide == c.currSlide)
				if (c.lastSlide = c.currSlide, c.random) c.currSlide = c.nextSlide, ++c.randomIndex == i.length && (c.randomIndex = 0, c.randomMap.sort(function (e, t) {
					return Math.random() - .5
				})), c.nextSlide = c.randomMap[c.randomIndex], c.nextSlide == c.currSlide && (c.nextSlide = c.currSlide == c.slideCount - 1 ? 0 : c.currSlide + 1);
				else if (c.backwards) {
				var y = c.nextSlide - 1 < 0;
				y && c.bounce ? (c.backwards = !c.backwards, c.nextSlide = 1, c.currSlide = 0) : (c.nextSlide = y ? i.length - 1 : c.nextSlide - 1, c.currSlide = y ? 0 : c.nextSlide + 1)
			} else {
				var y = c.nextSlide + 1 == i.length;
				y && c.bounce ? (c.backwards = !c.backwards, c.nextSlide = i.length - 2, c.currSlide = i.length - 1) : (c.nextSlide = y ? 0 : c.nextSlide + 1, c.currSlide = y ? i.length - 1 : c.nextSlide - 1)
			}
			u && c.pager && c.updateActivePagerLink(c.pager, c.currSlide, c.activePagerClass)
		}
	}

	function h(e, t, i, c) {
		if (i.timeoutFn) {
			for (var s = i.timeoutFn.call(e, e, t, i, c);
				"none" != i.fx && s - i.speed < 250;) s += i.speed;
			if (n("calculated timeout: " + s + "; speed: " + i.speed), s !== !1) return s
		}
		return i.timeout
	}

	function m(t, n) {
		var i = n ? 1 : -1,
			c = t.elements,
			s = t.$cont[0],
			o = s.cycleTimeout;
		if (o && (clearTimeout(o), s.cycleTimeout = 0), t.random && 0 > i) t.randomIndex--, -2 == --t.randomIndex ? t.randomIndex = c.length - 2 : -1 == t.randomIndex && (t.randomIndex = c.length - 1), t.nextSlide = t.randomMap[t.randomIndex];
		else if (t.random) t.nextSlide = t.randomMap[t.randomIndex];
		else if (t.nextSlide = t.currSlide + i, t.nextSlide < 0) {
			if (t.nowrap) return !1;
			t.nextSlide = c.length - 1
		} else if (t.nextSlide >= c.length) {
			if (t.nowrap) return !1;
			t.nextSlide = 0
		}
		var r = t.onPrevNextEvent || t.prevNextClick;
		return e.isFunction(r) && r(i > 0, t.nextSlide, c[t.nextSlide]), d(c, t, 1, n), !1
	}

	function y(t, n) {
		var i = e(n.pager);
		e.each(t, function (c, s) {
			e.fn.cycle.createPagerAnchor(c, s, i, t, n)
		}), n.updateActivePagerLink(n.pager, n.startingSlide, n.activePagerClass)
	}

	function g(t) {
		function i(e) {
			return e = parseInt(e, 10).toString(16), e.length < 2 ? "0" + e : e
		}

		function c(t) {
			for (; t && "html" != t.nodeName.toLowerCase(); t = t.parentNode) {
				var n = e.css(t, "background-color");
				if (n && n.indexOf("rgb") >= 0) {
					var c = n.match(/\d+/g);
					return "#" + i(c[0]) + i(c[1]) + i(c[2])
				}
				if (n && "transparent" != n) return n
			}
			return "#ffffff"
		}
		n("applying clearType background-color hack"), t.each(function () {
			e(this).css("background-color", c(this))
		})
	}
	var x = "2.9998";
	e.support == t && (e.support = {
		opacity: !e.browser.msie
	}), e.expr[":"].paused = function (e) {
		return e.cyclePause
	}, e.fn.cycle = function (t, c) {
		var o = {
			s: this.selector,
			c: this.context
		};
		return 0 === this.length && "stop" != t ? !e.isReady && o.s ? (i("DOM not ready, queuing slideshow"), e(function () {
			e(o.s, o.c).cycle(t, c)
		}), this) : (i("terminating; zero elements found by selector" + (e.isReady ? "" : " (DOM not ready)")), this) : this.each(function () {
			var r = s(this, t, c);
			if (r !== !1) {
				r.updateActivePagerLink = r.updateActivePagerLink || e.fn.cycle.updateActivePagerLink, this.cycleTimeout && clearTimeout(this.cycleTimeout), this.cycleTimeout = this.cyclePause = 0;
				var a = e(this),
					f = r.slideExpr ? e(r.slideExpr, this) : a.children(),
					u = f.get(),
					p = l(a, f, u, r, o);
				if (p !== !1) {
					if (u.length < 2) return void i("terminating; too few slides: " + u.length);
					var m = p.continuous ? 10 : h(u[p.currSlide], u[p.nextSlide], p, !p.backwards);
					m && (m += p.delay || 0, 10 > m && (m = 10), n("first timeout: " + m), this.cycleTimeout = setTimeout(function () {
						d(u, p, 0, !r.backwards)
					}, m))
				}
			}
		})
	}, e.fn.cycle.resetState = function (t, n) {
		n = n || t.fx, t.before = [], t.after = [], t.cssBefore = e.extend({}, t.original.cssBefore), t.cssAfter = e.extend({}, t.original.cssAfter), t.animIn = e.extend({}, t.original.animIn), t.animOut = e.extend({}, t.original.animOut), t.fxFn = null, e.each(t.original.before, function () {
			t.before.push(this)
		}), e.each(t.original.after, function () {
			t.after.push(this)
		});
		var i = e.fn.cycle.transitions[n];
		e.isFunction(i) && i(t.$cont, e(t.elements), t)
	}, e.fn.cycle.updateActivePagerLink = function (t, n, i) {
		e(t).each(function () {
			e(this).children().removeClass(i).eq(n).addClass(i)
		})
	}, e.fn.cycle.next = function (e) {
		m(e, 1)
	}, e.fn.cycle.prev = function (e) {
		m(e, 0)
	}, e.fn.cycle.createPagerAnchor = function (t, i, s, o, r) {
		var l;
		if (e.isFunction(r.pagerAnchorBuilder) ? (l = r.pagerAnchorBuilder(t, i), n("pagerAnchorBuilder(" + t + ", el) returned: " + l)) : l = '<a href="#">' + (t + 1) + "</a>", l) {
			var a = e(l);
			if (0 === a.parents("body").length) {
				var f = [];
				s.length > 1 ? (s.each(function () {
					var t = a.clone(!0);
					e(this).append(t), f.push(t[0])
				}), a = e(f)) : a.appendTo(s)
			}
			r.pagerAnchors = r.pagerAnchors || [], r.pagerAnchors.push(a);
			var u = function (n) {
				n.preventDefault(), r.nextSlide = t;
				var i = r.$cont[0],
					c = i.cycleTimeout;
				c && (clearTimeout(c), i.cycleTimeout = 0);
				var s = r.onPagerEvent || r.pagerClick;
				e.isFunction(s) && s(r.nextSlide, o[r.nextSlide]), d(o, r, 1, r.currSlide < t)
			};
			/mouseenter|mouseover/i.test(r.pagerEvent) ? a.hover(u, function () {}) : a.bind(r.pagerEvent, u), /^click/.test(r.pagerEvent) || r.allowPagerClickBubble || a.bind("click.cycle", function () {
				return !1
			});
			var h = r.$cont[0],
				p = !1;
			r.pauseOnPagerHover && a.hover(function () {
				p = !0, h.cyclePause++, c(h, !0, !0)
			}, function () {
				p && h.cyclePause--, c(h, !0, !0)
			})
		}
	}, e.fn.cycle.hopsFromLast = function (e, t) {
		var n, i = e.lastSlide,
			c = e.currSlide;
		return n = t ? c > i ? c - i : e.slideCount - i : i > c ? i - c : i + e.slideCount - c
	}, e.fn.cycle.commonReset = function (t, n, i, c, s, o) {
		e(i.elements).not(t).hide(), "undefined" == typeof i.cssBefore.opacity && (i.cssBefore.opacity = 1), i.cssBefore.display = "block", i.slideResize && c !== !1 && n.cycleW > 0 && (i.cssBefore.width = n.cycleW), i.slideResize && s !== !1 && n.cycleH > 0 && (i.cssBefore.height = n.cycleH), i.cssAfter = i.cssAfter || {}, i.cssAfter.display = "none", e(t).css("zIndex", i.slideCount + (o === !0 ? 1 : 0)), e(n).css("zIndex", i.slideCount + (o === !0 ? 0 : 1))
	}, e.fn.cycle.custom = function (t, n, i, c, s, o) {
		var r = e(t),
			l = e(n),
			a = i.speedIn,
			f = i.speedOut,
			u = i.easeIn,
			d = i.easeOut;
		l.css(i.cssBefore), o && (a = f = "number" == typeof o ? o : 1, u = d = null);
		var h = function () {
			l.animate(i.animIn, a, u, function () {
				c()
			})
		};
		r.animate(i.animOut, f, d, function () {
			r.css(i.cssAfter), i.sync || h()
		}), i.sync && h()
	}, e.fn.cycle.transitions = {
		fade: function (t, n, i) {
			n.not(":eq(" + i.currSlide + ")").css("opacity", 0), i.before.push(function (t, n, i) {
				e.fn.cycle.commonReset(t, n, i), i.cssBefore.opacity = 0
			}), i.animIn = {
				opacity: 1
			}, i.animOut = {
				opacity: 0
			}, i.cssBefore = {
				top: 0,
				left: 0
			}
		}
	}, e.fn.cycle.ver = function () {
		return x
	}, e.fn.cycle.defaults = {
		activePagerClass: "activeSlide",
		after: null,
		allowPagerClickBubble: !1,
		animIn: null,
		animOut: null,
		aspect: !1,
		autostop: 0,
		autostopCount: 0,
		backwards: !1,
		before: null,
		center: null,
		cleartype: !e.support.opacity,
		cleartypeNoBg: !1,
		containerResize: 1,
		continuous: 0,
		cssAfter: null,
		cssBefore: null,
		delay: 0,
		easeIn: null,
		easeOut: null,
		easing: null,
		end: null,
		fastOnEvent: 0,
		fit: 0,
		fx: "fade",
		fxFn: null,
		height: "auto",
		manualTrump: !0,
		metaAttr: "cycle",
		next: null,
		nowrap: 0,
		onPagerEvent: null,
		onPrevNextEvent: null,
		pager: null,
		pagerAnchorBuilder: null,
		pagerEvent: "click.cycle",
		pause: 0,
		pauseOnPagerHover: 0,
		prev: null,
		prevNextEvent: "click.cycle",
		random: 0,
		randomizeEffects: 1,
		requeueOnImageNotLoaded: !0,
		requeueTimeout: 250,
		rev: 0,
		shuffle: null,
		skipInitializationCallbacks: !1,
		slideExpr: null,
		slideResize: 1,
		speed: 1e3,
		speedIn: null,
		speedOut: null,
		startingSlide: 0,
		sync: 1,
		timeout: 4e3,
		timeoutFn: null,
		updateActivePagerLink: null,
		width: null
	}
}(jQuery),
function (e) {
	e.fn.cycle.transitions.none = function (t, n, i) {
		i.fxFn = function (t, n, i, c) {
			e(n).show(), e(t).hide(), c()
		}
	}, e.fn.cycle.transitions.fadeout = function (t, n, i) {
		n.not(":eq(" + i.currSlide + ")").css({
			display: "block",
			opacity: 1
		}), i.before.push(function (t, n, i, c, s, o) {
			e(t).css("zIndex", i.slideCount + (!o == !0 ? 1 : 0)), e(n).css("zIndex", i.slideCount + (!o == !0 ? 0 : 1))
		}), i.animIn.opacity = 1, i.animOut.opacity = 0, i.cssBefore.opacity = 1, i.cssBefore.display = "block", i.cssAfter.zIndex = 0
	}, e.fn.cycle.transitions.scrollUp = function (t, n, i) {
		t.css("overflow", "hidden"), i.before.push(e.fn.cycle.commonReset);
		var c = t.height();
		i.cssBefore.top = c, i.cssBefore.left = 0, i.cssFirst.top = 0, i.animIn.top = 0, i.animOut.top = -c
	}, e.fn.cycle.transitions.scrollDown = function (t, n, i) {
		t.css("overflow", "hidden"), i.before.push(e.fn.cycle.commonReset);
		var c = t.height();
		i.cssFirst.top = 0, i.cssBefore.top = -c, i.cssBefore.left = 0, i.animIn.top = 0, i.animOut.top = c
	}, e.fn.cycle.transitions.scrollLeft = function (t, n, i) {
		t.css("overflow", "hidden"), i.before.push(e.fn.cycle.commonReset);
		var c = t.width();
		i.cssFirst.left = 0, i.cssBefore.left = c, i.cssBefore.top = 0, i.animIn.left = 0, i.animOut.left = 0 - c
	}, e.fn.cycle.transitions.scrollRight = function (t, n, i) {
		t.css("overflow", "hidden"), i.before.push(e.fn.cycle.commonReset);
		var c = t.width();
		i.cssFirst.left = 0, i.cssBefore.left = -c, i.cssBefore.top = 0, i.animIn.left = 0, i.animOut.left = c
	}, e.fn.cycle.transitions.scrollHorz = function (t, n, i) {
		t.css("overflow", "hidden").width(), i.before.push(function (t, n, i, c) {
			i.rev && (c = !c), e.fn.cycle.commonReset(t, n, i), i.cssBefore.left = c ? n.cycleW - 1 : 1 - n.cycleW, i.animOut.left = c ? -t.cycleW : t.cycleW
		}), i.cssFirst.left = 0, i.cssBefore.top = 0, i.animIn.left = 0, i.animOut.top = 0
	}, e.fn.cycle.transitions.scrollVert = function (t, n, i) {
		t.css("overflow", "hidden"), i.before.push(function (t, n, i, c) {
			i.rev && (c = !c), e.fn.cycle.commonReset(t, n, i), i.cssBefore.top = c ? 1 - n.cycleH : n.cycleH - 1, i.animOut.top = c ? t.cycleH : -t.cycleH
		}), i.cssFirst.top = 0, i.cssBefore.left = 0, i.animIn.top = 0, i.animOut.left = 0
	}, e.fn.cycle.transitions.slideX = function (t, n, i) {
		i.before.push(function (t, n, i) {
			e(i.elements).not(t).hide(), e.fn.cycle.commonReset(t, n, i, !1, !0), i.animIn.width = n.cycleW
		}), i.cssBefore.left = 0, i.cssBefore.top = 0, i.cssBefore.width = 0, i.animIn.width = "show", i.animOut.width = 0
	}, e.fn.cycle.transitions.slideY = function (t, n, i) {
		i.before.push(function (t, n, i) {
			e(i.elements).not(t).hide(), e.fn.cycle.commonReset(t, n, i, !0, !1), i.animIn.height = n.cycleH
		}), i.cssBefore.left = 0, i.cssBefore.top = 0, i.cssBefore.height = 0, i.animIn.height = "show", i.animOut.height = 0
	}, e.fn.cycle.transitions.shuffle = function (t, n, i) {
		var c, s = t.css("overflow", "visible").width();
		for (n.css({
				left: 0,
				top: 0
			}), i.before.push(function (t, n, i) {
				e.fn.cycle.commonReset(t, n, i, !0, !0, !0)
			}), i.speedAdjusted || (i.speed = i.speed / 2, i.speedAdjusted = !0), i.random = 0, i.shuffle = i.shuffle || {
				left: -s,
				top: 15
			}, i.els = [], c = 0; c < n.length; c++) i.els.push(n[c]);
		for (c = 0; c < i.currSlide; c++) i.els.push(i.els.shift());
		i.fxFn = function (t, n, i, c, s) {
			i.rev && (s = !s);
			var o = e(s ? t : n);
			e(n).css(i.cssBefore);
			var r = i.slideCount;
			o.animate(i.shuffle, i.speedIn, i.easeIn, function () {
				for (var n = e.fn.cycle.hopsFromLast(i, s), l = 0; n > l; l++) s ? i.els.push(i.els.shift()) : i.els.unshift(i.els.pop());
				if (s)
					for (var a = 0, f = i.els.length; f > a; a++) e(i.els[a]).css("z-index", f - a + r);
				else {
					var u = e(t).css("z-index");
					o.css("z-index", parseInt(u, 10) + 1 + r)
				}
				o.animate({
					left: 0,
					top: 0
				}, i.speedOut, i.easeOut, function () {
					e(s ? this : t).hide(), c && c()
				})
			})
		}, e.extend(i.cssBefore, {
			display: "block",
			opacity: 1,
			top: 0,
			left: 0
		})
	}, e.fn.cycle.transitions.turnUp = function (t, n, i) {
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i, !0, !1), i.cssBefore.top = n.cycleH, i.animIn.height = n.cycleH, i.animOut.width = n.cycleW
		}), i.cssFirst.top = 0, i.cssBefore.left = 0, i.cssBefore.height = 0, i.animIn.top = 0, i.animOut.height = 0
	}, e.fn.cycle.transitions.turnDown = function (t, n, i) {
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i, !0, !1), i.animIn.height = n.cycleH, i.animOut.top = t.cycleH
		}), i.cssFirst.top = 0, i.cssBefore.left = 0, i.cssBefore.top = 0, i.cssBefore.height = 0, i.animOut.height = 0
	}, e.fn.cycle.transitions.turnLeft = function (t, n, i) {
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i, !1, !0), i.cssBefore.left = n.cycleW, i.animIn.width = n.cycleW
		}), i.cssBefore.top = 0, i.cssBefore.width = 0, i.animIn.left = 0, i.animOut.width = 0
	}, e.fn.cycle.transitions.turnRight = function (t, n, i) {
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i, !1, !0), i.animIn.width = n.cycleW, i.animOut.left = t.cycleW
		}), e.extend(i.cssBefore, {
			top: 0,
			left: 0,
			width: 0
		}), i.animIn.left = 0, i.animOut.width = 0
	}, e.fn.cycle.transitions.zoom = function (t, n, i) {
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i, !1, !1, !0), i.cssBefore.top = n.cycleH / 2, i.cssBefore.left = n.cycleW / 2, e.extend(i.animIn, {
				top: 0,
				left: 0,
				width: n.cycleW,
				height: n.cycleH
			}), e.extend(i.animOut, {
				width: 0,
				height: 0,
				top: t.cycleH / 2,
				left: t.cycleW / 2
			})
		}), i.cssFirst.top = 0, i.cssFirst.left = 0, i.cssBefore.width = 0, i.cssBefore.height = 0
	}, e.fn.cycle.transitions.fadeZoom = function (t, n, i) {
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i, !1, !1), i.cssBefore.left = n.cycleW / 2, i.cssBefore.top = n.cycleH / 2, e.extend(i.animIn, {
				top: 0,
				left: 0,
				width: n.cycleW,
				height: n.cycleH
			})
		}), i.cssBefore.width = 0, i.cssBefore.height = 0, i.animOut.opacity = 0
	}, e.fn.cycle.transitions.blindX = function (t, n, i) {
		var c = t.css("overflow", "hidden").width();
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i), i.animIn.width = n.cycleW, i.animOut.left = t.cycleW
		}), i.cssBefore.left = c, i.cssBefore.top = 0, i.animIn.left = 0, i.animOut.left = c
	}, e.fn.cycle.transitions.blindY = function (t, n, i) {
		var c = t.css("overflow", "hidden").height();
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i), i.animIn.height = n.cycleH, i.animOut.top = t.cycleH
		}), i.cssBefore.top = c, i.cssBefore.left = 0, i.animIn.top = 0, i.animOut.top = c
	}, e.fn.cycle.transitions.blindZ = function (t, n, i) {
		var c = t.css("overflow", "hidden").height(),
			s = t.width();
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i), i.animIn.height = n.cycleH, i.animOut.top = t.cycleH
		}), i.cssBefore.top = c, i.cssBefore.left = s, i.animIn.top = 0, i.animIn.left = 0, i.animOut.top = c, i.animOut.left = s
	}, e.fn.cycle.transitions.growX = function (t, n, i) {
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i, !1, !0), i.cssBefore.left = this.cycleW / 2, i.animIn.left = 0, i.animIn.width = this.cycleW, i.animOut.left = 0
		}), i.cssBefore.top = 0, i.cssBefore.width = 0
	}, e.fn.cycle.transitions.growY = function (t, n, i) {
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i, !0, !1), i.cssBefore.top = this.cycleH / 2, i.animIn.top = 0, i.animIn.height = this.cycleH, i.animOut.top = 0
		}), i.cssBefore.height = 0, i.cssBefore.left = 0
	}, e.fn.cycle.transitions.curtainX = function (t, n, i) {
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i, !1, !0, !0), i.cssBefore.left = n.cycleW / 2, i.animIn.left = 0, i.animIn.width = this.cycleW, i.animOut.left = t.cycleW / 2, i.animOut.width = 0
		}), i.cssBefore.top = 0, i.cssBefore.width = 0
	}, e.fn.cycle.transitions.curtainY = function (t, n, i) {
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i, !0, !1, !0), i.cssBefore.top = n.cycleH / 2, i.animIn.top = 0, i.animIn.height = n.cycleH, i.animOut.top = t.cycleH / 2, i.animOut.height = 0
		}), i.cssBefore.height = 0, i.cssBefore.left = 0
	}, e.fn.cycle.transitions.cover = function (t, n, i) {
		var c = i.direction || "left",
			s = t.css("overflow", "hidden").width(),
			o = t.height();
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i), "right" == c ? i.cssBefore.left = -s : "up" == c ? i.cssBefore.top = o : "down" == c ? i.cssBefore.top = -o : i.cssBefore.left = s
		}), i.animIn.left = 0, i.animIn.top = 0, i.cssBefore.top = 0, i.cssBefore.left = 0
	}, e.fn.cycle.transitions.uncover = function (t, n, i) {
		var c = i.direction || "left",
			s = t.css("overflow", "hidden").width(),
			o = t.height();
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i, !0, !0, !0), "right" == c ? i.animOut.left = s : "up" == c ? i.animOut.top = -o : "down" == c ? i.animOut.top = o : i.animOut.left = -s
		}), i.animIn.left = 0, i.animIn.top = 0, i.cssBefore.top = 0, i.cssBefore.left = 0
	}, e.fn.cycle.transitions.toss = function (t, n, i) {
		var c = t.css("overflow", "visible").width(),
			s = t.height();
		i.before.push(function (t, n, i) {
			e.fn.cycle.commonReset(t, n, i, !0, !0, !0), i.animOut.left || i.animOut.top ? i.animOut.opacity = 0 : e.extend(i.animOut, {
				left: 2 * c,
				top: -s / 2,
				opacity: 0
			})
		}), i.cssBefore.left = 0, i.cssBefore.top = 0, i.animIn.left = 0
	}, e.fn.cycle.transitions.wipe = function (t, n, i) {
		var c = t.css("overflow", "hidden").width(),
			s = t.height();
		i.cssBefore = i.cssBefore || {};
		var o;
		if (i.clip)
			if (/l2r/.test(i.clip)) o = "rect(0px 0px " + s + "px 0px)";
			else if (/r2l/.test(i.clip)) o = "rect(0px " + c + "px " + s + "px " + c + "px)";
		else if (/t2b/.test(i.clip)) o = "rect(0px " + c + "px 0px 0px)";
		else if (/b2t/.test(i.clip)) o = "rect(" + s + "px " + c + "px " + s + "px 0px)";
		else if (/zoom/.test(i.clip)) {
			var r = parseInt(s / 2, 10),
				l = parseInt(c / 2, 10);
			o = "rect(" + r + "px " + l + "px " + r + "px " + l + "px)"
		}
		i.cssBefore.clip = i.cssBefore.clip || o || "rect(0px 0px 0px 0px)";
		var a = i.cssBefore.clip.match(/(\d+)/g),
			f = parseInt(a[0], 10),
			u = parseInt(a[1], 10),
			d = parseInt(a[2], 10),
			h = parseInt(a[3], 10);
		i.before.push(function (t, n, i) {
			if (t != n) {
				var o = e(t),
					r = e(n);
				e.fn.cycle.commonReset(t, n, i, !0, !0, !1), i.cssAfter.display = "block";
				var l = 1,
					a = parseInt(i.speedIn / 13, 10) - 1;
				! function p() {
					var e = f ? f - parseInt(l * (f / a), 10) : 0,
						t = h ? h - parseInt(l * (h / a), 10) : 0,
						n = s > d ? d + parseInt(l * ((s - d) / a || 1), 10) : s,
						i = c > u ? u + parseInt(l * ((c - u) / a || 1), 10) : c;
					r.css({
						clip: "rect(" + e + "px " + i + "px " + n + "px " + t + "px)"
					}), l++ <= a ? setTimeout(p, 13) : o.css("display", "none")
				}()
			}
		}), e.extend(i.cssBefore, {
			display: "block",
			opacity: 1,
			top: 0,
			left: 0
		}), i.animIn = {
			left: 0
		}, i.animOut = {
			left: 0
		}
	}
}(jQuery);

/*	--------------------------------------------------------------------
	MaxImage 2.0 (Fullscreen Slideshow for use with jQuery Cycle Plugin)
	--------------------------------------------------------------------
	
	Examples and documentation at: http://www.aaronvanderzwan.com/maximage/2.0/
	Copyright (c) 2007-2012 Aaron Vanderzwan
	Dual licensed under the MIT and GPL licenses.
	
	NOTES:
	This plugin is intended to simplify the creation of fullscreen 
	background slideshows.  It is intended to be used alongside the 
	jQuery Cycle plugin: 
	http://jquery.malsup.com/cycle/
	
	If you simply need a fullscreen background image, please
	refer to the following document for ways to do this that
	are much more simple:
	http://css-tricks.com/perfect-full-page-background-image/
	
	If you have any questions please contact Aaron Vanderzwan
	at http://www.aaronvanderzwan.com/blog/
	Documentation at:
	http://blog.aaronvanderzwan.com/2012/07/maximage-2-0/
	
	HISTORY:
	MaxImage 2.0 is a project first built as jQuery MaxImage Plugin 
	(http://www.aaronvanderzwan.com/maximage/). Once CSS3 came along, 
	the background-size:cover solved the problem MaxImage
	was intended to solve.  However, fully customizable
	fullscreen slideshows is still fairly complex and I have not
	found any helpers for integrating with the jQuery Cycle Plugin.
	MaxCycle is intended to solve this problem.
	
	TABLE OF CONTENTS:
	@Modern
		@setup
		@resize
		@preload
	@Old
		@setup
		@preload
		@onceloaded
		@maximage
		@windowresize
		@doneresizing
	@Cycle
		@setup
	@Adjust
		@center
		@fill
		@maxcover
		@maxcontain
	@Utils
		@browser_tests
		@construct_slide_object
		@sizes
	@modern_browser
	@debug
		
*/
/*!	
 * Maximage Version: 2.0.8 (16-Jan-2012) - http://www.aaronvanderzwan.com/maximage/2.0/
 */

! function (e) {
	"use strict";
	e.fn.maximage = function (i, t) {
		function a(e) {
			window.console && window.console.log && window.console.log(e)
		}
		var d;
		("object" == typeof i || void 0 === i) && (d = e.extend(e.fn.maximage.defaults, i || {})), "string" == typeof i && (d = e.fn.maximage.defaults), e.Body = e("body"), e.Window = e(window), e.Scroll = e("html, body"), e.Events = {
			RESIZE: "resize"
		}, this.each(function () {
			var t = e(this),
				n = 0,
				s = [],
				o = {
					setup: function () {
						if (e.Slides.length > 0) {
							var i, a = e.Slides.length;
							for (i = 0; a > i; i++) {
								var d = e.Slides[i];
								t.append('<div class="mc-image ' + d.theclass + '" title="' + d.alt + '" style="background-image:url(\'' + d.url + "');" + d.style + '" data-href="' + d.datahref + '">' + d.content + "</div>")
							}
							o.preload(0), o.resize()
						}
					},
					preload: function (i) {
						var a = e("<img/>");
						a.on("load", function () {
							0 == n && (c.setup(), d.onFirstImageLoaded()), n == e.Slides.length - 1 ? d.onImagesLoaded(t) : (n++, o.preload(n))
						}), a[0].src = e.Slides[i].url, s.push(a[0])
					},
					resize: function () {
						e.Window.bind(e.Events.RESIZE, function () {
							e.Scroll.addClass("mc-hide-scrolls"), e.Window.data("h", h.sizes().h).data("w", h.sizes().w), t.height(e.Window.data("h")).width(e.Window.data("w")).children().height(e.Window.data("h")).width(e.Window.data("w")), t.children().each(function () {
								this.cycleH = e.Window.data("h"), this.cycleW = e.Window.data("w")
							}), e(e.Scroll).removeClass("mc-hide-scrolls")
						})
					}
				},
				r = {
					setup: function () {
						var i, a, n, s = e.Slides.length;
						if (e.BrowserTests.msie && !d.overrideMSIEStop && document.execCommand("Stop", !1), t.html(""), e.Body.addClass("mc-old-browser"), e.Slides.length > 0) {
							for (e.Scroll.addClass("mc-hide-scrolls"), e.Window.data("h", h.sizes().h).data("w", h.sizes().w), e("body").append(e("<div></div>").attr("class", "mc-loader").css({
									position: "absolute",
									left: "-9999px"
								})), n = 0; s > n; n++) i = 0 == e.Slides[n].content.length ? '<img src="' + e.Slides[n].url + '" />' : e.Slides[n].content, a = e("<div>" + i + "</div>").attr("class", "mc-image mc-image-n" + n + " " + e.Slides[n].theclass), t.append(a), 0 == e(".mc-image-n" + n).children("img").length || e("div.mc-loader").append(e(".mc-image-n" + n).children("img").first().clone().addClass("not-loaded"));
							r.preload(), r.windowResize()
						}
					},
					preload: function () {
						var i = setInterval(function () {
							e(".mc-loader").children("img").each(function (i) {
								var t = e(this);
								if (t.hasClass("not-loaded") && t.height() > 0) {
									e(this).removeClass("not-loaded");
									var a = e("div.mc-image-n" + i).children("img").first();
									a.data("h", t.height()).data("w", t.width()).data("ar", t.width() / t.height()), r.onceLoaded(i)
								}
							}), 0 == e(".not-loaded").length && (e(".mc-loader").remove(), clearInterval(i))
						}, 1e3)
					},
					onceLoaded: function (i) {
						r.maximage(i), 0 == i ? (t.css({
							visibility: "visible"
						}), d.onFirstImageLoaded()) : i == e.Slides.length - 1 && (c.setup(), e(e.Scroll).removeClass("mc-hide-scrolls"), d.onImagesLoaded(t), d.debug && (a(" - Final Maximage - "), a(t)))
					},
					maximage: function (i) {
						e("div.mc-image-n" + i).height(e.Window.data("h")).width(e.Window.data("w")).children("img").first().each(function () {
							l.maxcover(e(this))
						})
					},
					windowResize: function () {
						e.Window.bind(e.Events.RESIZE, function () {
							clearTimeout(this.id), e(".mc-image").length >= 1 && (this.id = setTimeout(r.doneResizing, 200))
						})
					},
					doneResizing: function () {
						e(e.Scroll).addClass("mc-hide-scrolls"), e.Window.data("h", h.sizes().h).data("w", h.sizes().w), t.height(e.Window.data("h")).width(e.Window.data("w")), t.find(".mc-image").each(function (e) {
							r.maximage(e)
						});
						var i = t.data("cycle.opts");
						void 0 != i && (i.height = e.Window.data("h"), i.width = e.Window.data("w"), jQuery.each(i.elements, function (i, t) {
							t.cycleW = e.Window.data("w"), t.cycleH = e.Window.data("h")
						})), e(e.Scroll).removeClass("mc-hide-scrolls")
					}
				},
				c = {
					setup: function () {
						t.addClass("mc-cycle"), e.Window.data("h", h.sizes().h).data("w", h.sizes().w), jQuery.easing.easeForCSSTransition = function (e, i, t, a, d, n) {
							return t + a
						};
						var i = e.extend({
							fit: 1,
							containerResize: 0,
							height: e.Window.data("h"),
							width: e.Window.data("w"),
							slideResize: !1,
							easing: e.BrowserTests.cssTransitions && d.cssTransitions ? "easeForCSSTransition" : "swing"
						}, d.cycleOptions);
						t.cycle(i)
					}
				},
				l = {
					center: function (i) {
						d.verticalCenter && i.css({
							marginTop: (i.height() - e.Window.data("h")) / 2 * -1
						}), d.horizontalCenter && i.css({
							marginLeft: (i.width() - e.Window.data("w")) / 2 * -1
						})
					},
					fill: function (i) {
						var t = i.is("object") ? i.parent().first() : i;
						"function" == typeof d.backgroundSize ? d.backgroundSize(i) : "cover" == d.backgroundSize ? e.Window.data("w") / e.Window.data("h") < t.data("ar") ? i.height(e.Window.data("h")).width((e.Window.data("h") * t.data("ar")).toFixed(0)) : i.height((e.Window.data("w") / t.data("ar")).toFixed(0)).width(e.Window.data("w")) : "contain" == d.backgroundSize ? e.Window.data("w") / e.Window.data("h") < t.data("ar") ? i.height((e.Window.data("w") / t.data("ar")).toFixed(0)).width(e.Window.data("w")) : i.height(e.Window.data("h")).width((e.Window.data("h") * t.data("ar")).toFixed(0)) : a("The backgroundSize option was not recognized for older browsers.")
					},
					maxcover: function (e) {
						l.fill(e), l.center(e)
					},
					maxcontain: function (e) {
						l.fill(e), l.center(e)
					}
				},
				h = {
					browser_tests: function () {
						var i = e("<div />")[0],
							t = ["Moz", "Webkit", "Khtml", "O", "ms"],
							n = "transition",
							s = {
								cssTransitions: !1,
								cssBackgroundSize: "backgroundSize" in i.style && d.cssBackgroundSize,
								html5Video: !1,
								msie: !1
							};
						if (d.cssTransitions) {
							"string" == typeof i.style[n] && (s.cssTransitions = !0), n = n.charAt(0).toUpperCase() + n.substr(1);
							for (var o = 0; o < t.length; o++) t[o] + n in i.style && (s.cssTransitions = !0)
						}
						return document.createElement("video").canPlayType && (s.html5Video = !0), s.msie = void 0 !== h.msie(), d.debug && (a(" - Browser Test - "), a(s)), s
					},
					construct_slide_object: function () {
						var i = new Object,
							n = new Array;
						return t.children().each(function (t) {
							var a = e(this).is("img") ? e(this).clone() : e(this).find("img").first().clone();
							i = {}, i.url = a.attr("src"), i.title = void 0 != a.attr("title") ? a.attr("title") : "", i.alt = void 0 != a.attr("alt") ? a.attr("alt") : "", i.theclass = void 0 != a.attr("class") ? a.attr("class") : "", i.styles = void 0 != a.attr("style") ? a.attr("style") : "", i.orig = a.clone(), i.datahref = void 0 != a.attr("data-href") ? a.attr("data-href") : "", i.content = "", e(this).find("img").length > 0 && (e.BrowserTests.cssBackgroundSize && e(this).find("img").first().remove(), i.content = e(this).html()), a[0].src = "", e.BrowserTests.cssBackgroundSize && e(this).remove(), n.push(i)
						}), d.debug && (a(" - Slide Object - "), a(n)), n
					},
					msie: function () {
						for (var e, i = 3, t = document.createElement("div"), a = t.getElementsByTagName("i"); t.innerHTML = "<!--[if gt IE " + ++i + "]><i></i><![endif]-->", a[0];);
						return i > 4 ? i : e
					},
					sizes: function () {
						var i = {
							h: 0,
							w: 0
						};
						if ("window" == d.fillElement) i.h = e.Window.height(), i.w = e.Window.width();
						else {
							var a = t.parents(d.fillElement).first();
							0 == a.height() || 1 == a.data("windowHeight") ? (a.data("windowHeight", !0), i.h = e.Window.height()) : i.h = a.height(), 0 == a.width() || 1 == a.data("windowWidth") ? (a.data("windowWidth", !0), i.w = e.Window.width()) : i.w = a.width()
						}
						return i
					}
				};
			if (e.BrowserTests = h.browser_tests(), "string" == typeof i) {
				if (e.BrowserTests.html5Video || !t.is("video")) {
					var w, g = t.is("object") ? t.parent().first() : t;
					e.Body.hasClass("mc-old-browser") || e.Body.addClass("mc-old-browser"), e.Window.data("h", h.sizes().h).data("w", h.sizes().w), g.data("h", t.height()).data("w", t.width()).data("ar", t.width() / t.height()), e.Window.bind(e.Events.RESIZE, function () {
						e.Window.data("h", h.sizes().h).data("w", h.sizes().w), w = t.data("resizer"), clearTimeout(w), w = setTimeout(l[i](t), 200), t.data("resizer", w)
					}), l[i](t)
				}
			} else e.Slides = h.construct_slide_object(), e.BrowserTests.cssBackgroundSize ? (d.debug && a(" - Using Modern - "), o.setup()) : (d.debug && a(" - Using Old - "), r.setup())
		})
	}, e.fn.maximage.defaults = {
		debug: !1,
		cssBackgroundSize: !0,
		cssTransitions: !0,
		verticalCenter: !0,
		horizontalCenter: !0,
		scaleInterval: 20,
		backgroundSize: "cover",
		fillElement: "window",
		overrideMSIEStop: !1,
		onFirstImageLoaded: function () {},
		onImagesLoaded: function () {}
	}
}(jQuery);


/* ----- Switch Pricing Table Home Layout 2 ----- */
function check() {
	var checkBox = document.getElementById("checbox");
	var text1 = document.getElementsByClassName("text1");
	var text2 = document.getElementsByClassName("text2");
	for (var i = 0; i < text1.length; i++) {
		if (checkBox.checked == true) {
			text1[i].style.display = "block";
			text2[i].style.display = "none";
		} else if (checkBox.checked == false) {
			text1[i].style.display = "none";
			text2[i].style.display = "block";
		}
	}
}
check();


/* ----- Range Slider With Tooltip Start "Simple Animated Slider Control Plugin With jQuery - addSlider"  ----- */
function generateGUID() {
	do var e = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (e) {
		var n = 16 * Math.random() | 0,
			t = "x" == e ? n : 3 & n | 8;
		return t.toString(16)
	}); while (GUIDList.indexOf(e) > -1);
	return e
}

function toFunc(e) {
	if ("function" == typeof e) return e;
	if ("string" == typeof e) {
		if (void 0 != window[e] && "function" == typeof window[e]) return window[e];
		try {
			return new Function(e)
		} catch (n) {}
	}
	return function () {
		return e
	}
}

function Obj() {
	this._parent = null, this._handlers = [], this._onceHandlers = [], this._elements = $(), this.guid = generateGUID(), this.on = function (e, n) {
		"function" == typeof e && void 0 === n && (n = e, e = "all"), e = e.toLowerCase().split(" ");
		for (var t = 0; t < e.length; t++) this._handlers.push({
			event: e[t],
			handler: n
		});
		return this
	}, this.once = function (e, n) {
		"function" == typeof e && void 0 === n && (n = e, e = "all"), e = e.toLowerCase().split(" ");
		for (var t = 0; t < e.length; t++) this._onceHandlers.push({
			event: e[t],
			handler: n
		});
		return this
	}, this.off = function (e, n) {
		if (void 0 === n && "function" == typeof e)
			for (var n = e, t = 0; t < this._handlers.length; t++) this._handlers[t].handler == n && this._handlers.splice(t--, 1);
		else if (void 0 === n && "string" == typeof e) {
			e = e.toLowerCase().split(" ");
			for (var t = 0; t < this._handlers.length; t++) e.indexOf(this._handlers[t].event) > -1 && this._handlers.splice(t--, 1)
		} else {
			e = e.toLowerCase().split(" ");
			for (var t = 0; t < this._handlers.length; t++) e.indexOf(this._handlers[t].event) > -1 && this._handlers[t].handler == n && this._handlers.splice(t--, 1)
		}
		return this
	}, this.offOnce = function (e, n) {
		if (void 0 === n && "function" == typeof e)
			for (var n = e, t = 0; t < this._onceHandlers.length; t++) this._onceHandlers[t].handler == n && this._onceHandlers.splice(t--, 1);
		else if (void 0 === n && "string" == typeof e) {
			e = e.toLowerCase().split(" ");
			for (var t = 0; t < this._onceHandlers.length; t++) e.indexOf(this._onceHandlers[t].event) > -1 && this._onceHandlers.splice(t--, 1)
		} else {
			e = e.toLowerCase().split(" ");
			for (var t = 0; t < this._onceHandlers.length; t++) e.indexOf(this._onceHandlers[t].event) > -1 && this._onceHandlers[t].handler == n && this._onceHandlers.splice(t--, 1)
		}
		return this
	}, this.trigger = function (e, n) {
		e = e.toLowerCase().split(" ");
		for (var t = 0; t < this._handlers.length; t++)(e.indexOf(this._handlers[t].event) > -1 || "all" == this._handlers[t].event) && toFunc(this._handlers[t].handler).call(this, this._handlers[t].event, n);
		for (var t = 0; t < this._onceHandlers.length; t++)(e.indexOf(this._onceHandlers[t].event) > -1 || "all" == this._handlers[t].event) && (toFunc(this._onceHandlers[t].handler).call(this, this._onceHandlers[t].event, n), this._onceHandlers.splice(t--, 1));
		return this
	}, this.renderer = function () {
		return $("<div class='Obj'></div>")
	}, this.refresher = function (e) {
		return this.renderer.apply(this)
	}, this.destroyer = function (e) {}, this.render = function (e, n) {
		var t = this;
		if (void 0 === e) var e = "body";
		if (void 0 === n) var n = "replace";
		else n = n.toLowerCase();
		var i = [].slice.call(arguments, 2),
			r = this;
		return $(e).each(function (e, s) {
			s = $(s);
			var h = $(t.renderer.apply(t, i));
			h.attr("guid", t.guid), t._elements = t._elements.add(h), "append" == n ? s.append(h) : "prepend" == n ? s.prepend(h) : "after" == n ? s.after(h) : "before" == n ? s.before(h) : "return" == n ? r = h : "none" == n || (s.after(h), s.remove())
		}), this.trigger("render"), r
	}, this.refresh = function () {
		for (var e = $(), n = 0; n < this._elements.length; n++) {
			var t = this._elements.eq(n),
				i = this.refresher.call(this, t);
			i ? (i.attr("guid", this.guid), this._elements = this._elements.not(t), t.after(i), t.remove(), e = e.add(i)) : e = e.add(t)
		}
		return this._elements = e, this
	}, this.destroy = function () {
		var e = this;
		return this._elements.each(function (n, t) {
			var i = $(t);
			e.destroyer.call(e, i)
		}), this._elements.remove(), this._elements = $(), delete Objs[this.guid], this
	}, Objs[this.guid] = this
}
var GUIDList = [],
	Objs = {};
if ($add === undefined) var $add = {
	version: {},
	auto: {
		disabled: false
	}
};
$add.version.Slider = "2.0.1";
$add.SliderObj = function (settings) {
	Obj.apply(this);

	function toNearest(num, x) {
		return (Math.round(num * (1 / x)) / (1 / x));
	}

	function betterParseFloat(t) {
		return isNaN(parseFloat(t)) && t.length > 0 ? betterParseFloat(t.substr(1)) : parseFloat(t)
	};

	this._settings = {
		direction: "horizontal",
		min: 0,
		max: 100,
		step: 0.1,
		value: 50,
		fontsize: 18,
		formatter: function (x) {
			if ((this._settings.step + "").indexOf(".") > -1)
				var digits = (this._settings.step + "").split(".").pop().length;
			else
				var digits = 0;
			v = betterParseFloat(x);
			if (x < 0) {
				var neg = true;
				x = 0 - x;
			} else {
				var neg = false;
			}
			if (isNaN(x)) {
				return "NaN";
			}
			var whole = Math.floor(x);
			var dec = (x - whole);
			dec = Math.round(dec * Math.pow(10, digits));
			dec = dec + "";
			while (dec.length < digits) {
				dec = "0" + dec;
			}
			return ((neg) ? "-" : "") + whole + ((digits > 0) ? "." + dec : "");
		},
		timeout: 2000,
		range: false,
		id: false,
		name: "",
		class: ""
	};
	Object.defineProperty(this, "settings", {
		get: function () {
			this.trigger("getsetting settings", this._settings);
			return this._settings;
		},
		set: function (newSettings) {
			this._settings = $.extend(this._settings, settings);
			this.trigger("setsettings settings", this._settings);
			this.refresh();
		}
	});
	Object.defineProperty(this, "value", {
		get: function () {
			this.trigger("getvalue value", this._settings.value);
			return this._settings.value;
		},
		set: function (newVal) {
			var self = this;
			this._settings.value = newVal;

			this._elements.find(".addui-slider-input").val(this._settings.value);
			if (!this._settings.range) {
				var offset = betterParseFloat(this._settings.value) - this._settings.min;
				var per = (toNearest(offset, this._settings.step) / (this._settings.max - this._settings.min)) * 100;
				if (this._settings.direction == "vertical") {
					this._elements.find(".addui-slider-handle").css("bottom", per + "%");
					this._elements.find(".addui-slider-range").css("height", per + "%");
					this._elements.find(".addui-slider-range").css("bottom", "0%");
				} else {
					this._elements.find(".addui-slider-handle").css("left", per + "%");
					this._elements.find(".addui-slider-range").css("width", per + "%");
				}
				this._elements.find(".addui-slider-value span").html(toFunc(this._settings.formatter).call(this, this._settings.value));
			} else {
				var l = (toNearest(parseFloat(this._settings.value.split(",")[0]), this._settings.step));
				var h = (toNearest(parseFloat(this._settings.value.split(",")[1]), this._settings.step));
				var range = this._settings.max - this._settings.min;
				var offsetL = l - this._settings.min;
				var offsetH = h - this._settings.min;
				var lPer = (offsetL / range) * 100;
				var hPer = (offsetH / range) * 100;
				this._elements.each(function (i, el) {
					var $el = $(el);
					if (self._settings.direction == "vertical") {
						$el.find(".addui-slider-handle").eq(0).css("bottom", lPer + "%");
						$el.find(".addui-slider-handle").eq(1).css("bottom", hPer + "%");
						$el.find(".addui-slider-range").css("bottom", lPer + "%").css("height", (hPer - lPer) + "%");
					} else {
						$el.find(".addui-slider-handle").eq(0).css("left", lPer + "%");
						$el.find(".addui-slider-handle").eq(1).css("left", hPer + "%");
						$el.find(".addui-slider-range").css("left", lPer + "%").css("width", (hPer - lPer) + "%");
					}
					$el.find(".addui-slider-handle").eq(0).find(".addui-slider-value span").html(toFunc(self._settings.formatter).call(self, l));
					$el.find(".addui-slider-handle").eq(1).find(".addui-slider-value span").html(toFunc(self._settings.formatter).call(self, h));
				});
			}
		}
	});

	this.renderer = function () {
		var self = this;
		var $slider = $("<div class='addui-slider addui-slider-" + this._settings.direction + ((this._settings.range) ? " addui-slider-isrange" : "") + " " + this._settings.class + "' " + ((this._settings.id) ? "id='" + this._settings.id + "'" : "") + "></div>");
		var $input = $("<input class='addui-slider-input' type='hidden' name='" + this._settings.name + "' value='" + this._settings.value + "' />").appendTo($slider);
		var $track = $("<div class='addui-slider-track'></div>").appendTo($slider);
		var $range = $("<div class='addui-slider-range'></div>").appendTo($track);

		if (!this._settings.range) {
			var $handle = $("<div class='addui-slider-handle'><div class='addui-slider-value'><span style='font-size: " + this._settings.fontsize + "px'></span></div></div>").appendTo($track);
			var activeTimer = null;

			function dragHandler(e) {
				e.preventDefault();
				if (self._settings.direction == "vertical") {
					if (e.type == "touchmove")
						var y = e.originalEvent.changedTouches[0].pageY;
					else
						var y = e.pageY;
					var sliderY = $slider.offset().top + $slider.height();
					var offsetY = sliderY - y;
					var offsetPer = (offsetY / $slider.height()) * 100;
				} else {
					if (e.type == "touchmove")
						var x = e.originalEvent.changedTouches[0].pageX;
					else
						var x = e.pageX;
					var sliderX = $slider.offset().left;
					var offsetX = x - sliderX;
					var offsetPer = (offsetX / $slider.width()) * 100;
				}

				var val = toNearest((offsetPer / 100) * (self._settings.max - self._settings.min), self._settings.step) + self._settings.min;
				val = Math.min(self._settings.max, Math.max(self._settings.min, val));
				self.value = toNearest(val, self._settings.step);
			};

			function dragStopHandler(e) {
				$(window).off("mousemove touchmove", dragHandler);
				activeTimer = setTimeout(function () {
					$handle.removeClass("addui-slider-handle-active");
				}, self._settings.timeout);
			};
			$handle.on("mousedown touchstart", function (e) {
				clearTimeout(activeTimer);
				$handle.addClass("addui-slider-handle-active");
				$(window).on("mousemove touchmove dragmove", dragHandler);
				$(window).one("mouseup touchend", dragStopHandler);
			});
			$slider.on("click", function (e) {
				e.preventDefault();

				if (self._settings.direction == "vertical") {
					if (e.type == "touchmove")
						var y = e.originalEvent.changedTouches[0].pageY;
					else
						var y = e.pageY;
					var sliderY = $slider.offset().top + $slider.height();
					var offsetY = sliderY - y;
					var offsetPer = (offsetY / $slider.height()) * 100;
				} else {
					if (e.type == "touchmove")
						var x = e.originalEvent.changedTouches[0].pageX;
					else
						var x = e.pageX;
					var sliderX = $slider.offset().left;
					var offsetX = x - sliderX;
					var offsetPer = (offsetX / $slider.width()) * 100;
				}

				var val = toNearest((offsetPer / 100) * (self._settings.max - self._settings.min), self._settings.step) + self._settings.min;
				val = Math.min(self._settings.max, Math.max(self._settings.min, val));
				clearTimeout(activeTimer);
				$handle.addClass("addui-slider-handle-active");
				activeTimer = setTimeout(function () {
					$handle.removeClass("addui-slider-handle-active");
				}, self._settings.timeout);
				self.value = val;
			});
		} else {
			var $handle1 = $("<div class='addui-slider-handle addui-slider-handle-l'><div class='addui-slider-value'><span style='font-size: " + this._settings.fontsize + "px'></span></div></div>").appendTo($track);
			var activeTimer1 = null;


			function dragHandler1(e) {
				e.preventDefault();
				if (self._settings.direction == "vertical") {
					if (e.type == "touchmove")
						var y = e.originalEvent.changedTouches[0].pageY;
					else
						var y = e.pageY;
					var sliderY = $slider.offset().top + $slider.height();
					var offsetY = sliderY - y;
					var range = self._settings.max - self._settings.min;
					var offsetPer = (offsetY / $slider.height()) * 100;
				} else {
					if (e.type == "touchmove")
						var x = e.originalEvent.changedTouches[0].pageX;
					else
						var x = e.pageX;
					var sliderX = $slider.offset().left;
					var offsetX = x - sliderX;
					var range = self._settings.max - self._settings.min;
					var offsetPer = (offsetX / $slider.width()) * 100;
				}
				var offsetVal = offsetPer / 100 * range;
				var val = toNearest(offsetVal + self._settings.min, self._settings.step);
				val = Math.min(self._settings.max, Math.max(self._settings.min, val));
				var higherVal = toNearest(betterParseFloat(self._settings.value.split(',')[1]), self._settings.step);
				if (higherVal < val)
					higherVal = val;
				self.value = val + "," + higherVal;
			};


			function dragStopHandler1(e) {
				$(window).off("mousemove touchmove", dragHandler1);
				activeTimer1 = setTimeout(function () {
					$handle1.removeClass("addui-slider-handle-active");
				}, self._settings.timeout);
			};
			$handle1.on("mousedown touchstart", function (e) {
				clearTimeout(activeTimer1);
				$handle1.addClass("addui-slider-handle-active");
				$(window).on("mousemove touchmove dragmove", dragHandler1);
				$(window).one("mouseup touchend", dragStopHandler1);
			});

			var $handle2 = $("<div class='addui-slider-handle addui-slider-handle-h'><div class='addui-slider-value'><span style='font-size: " + this._settings.fontsize + "px'></span></div></div>").appendTo($track);
			var activeTimer2 = null;


			function dragHandler2(e) {
				e.preventDefault();
				if (self._settings.direction == "vertical") {
					if (e.type == "touchmove")
						var y = e.originalEvent.changedTouches[0].pageY;
					else
						var y = e.pageY;
					var sliderY = $slider.offset().top + $slider.height();
					var offsetY = sliderY - y;
					var offsetPer = (offsetY / $slider.height()) * 100;
				} else {
					if (e.type == "touchmove")
						var x = e.originalEvent.changedTouches[0].pageX;
					else
						var x = e.pageX;
					var sliderX = $slider.offset().left;
					var offsetX = x - sliderX;
					var offsetPer = (offsetX / $slider.width()) * 100;
				}
				var range = self._settings.max - self._settings.min;
				var offsetVal = offsetPer / 100 * range;
				var val = toNearest(offsetVal + self._settings.min, self._settings.step);
				val = Math.min(self._settings.max, Math.max(self._settings.min, val));
				var lowerVal = toNearest(betterParseFloat(self._settings.value.split(',')[0]), self._settings.step);
				if (lowerVal > val)
					lowerVal = val;
				self.value = lowerVal + "," + val;
			};


			function dragStopHandler2(e) {
				$(window).off("mousemove touchmove", dragHandler2);
				activeTimer2 = setTimeout(function () {
					$handle2.removeClass("addui-slider-handle-active");
				}, self._settings.timeout);
			};
			$handle2.on("mousedown touchstart", function (e) {
				clearTimeout(activeTimer2);
				$handle2.addClass("addui-slider-handle-active");
				$(window).on("mousemove touchmove dragmove", dragHandler2);
				$(window).one("mouseup touchend", dragStopHandler2);
			});
		}
		return $slider;
	};

	this.init = function (settings) {
		var self = this;
		this.settings = settings;
		if (!this._settings.range) {
			this._settings.value = Math.max(this._settings.min, Math.min(this._settings.max, betterParseFloat(this._settings.value)));
		} else {
			var val = this._settings.value + "";
			if (val.indexOf(",") > -1) { // Already has two values
				var values = val.split(",");
				var v1 = betterParseFloat(values[0]);
				v1 = Math.min(this._settings.max, Math.max(this._settings.min, v1));
				v1 = toNearest(v1, this._settings.step);

				var v2 = betterParseFloat(values[1]);
				v2 = Math.min(this._settings.max, Math.max(this._settings.min, v2));
				v2 = toNearest(v2, this._settings.step);
			} else { // Only has one value
				var val = toNearest(Math.max(this._settings.min, Math.min(this._settings.max, betterParseFloat(this._settings.value))), this._settings.step);
				var middle = (this._settings.max - this._settings.min) / 2;
				if (val < middle) {
					var v1 = val;
					var v2 = this._settings.max - val;
				} else {
					var v2 = val;
					var v1 = this._settings.min + val;
				}
			}
			if (v1 < v2)
				this._settings.value = v1 + "," + v2;
			else
				this._settings.value = v2 + "," + v1;
		}
		this.on("render", function () {
			self.value = self._settings.value;
		})
		this.trigger("init", {
			settings: this._settings
		});
	};
	this.init.apply(this, arguments);
};
$add.Slider = function (selector, settings) {
	var o = $(selector).each(function (i, el) {
		var $el = $(el);
		var s = {};
		if ($el.attr("name"))
			s.name = $el.attr("name");
		if ($el.attr("class"))
			s.class = $el.attr("class");
		if ($el.attr("id"))
			s.id = $el.attr("id");
		if ($el.attr("value"))
			s.value = $el.attr("value");
		if ($el.attr("min"))
			s.min = $el.attr("min");
		if ($el.attr("max"))
			s.max = $el.attr("max");
		if ($el.attr("step"))
			s.step = $el.attr("step");
		settings = $.extend(s, $el.data(), settings);
		var S = new $add.SliderObj(settings);
		S.render($el, "replace");
		return S;
	});
	return (o.length == 0) ? null : (o.length == 1) ? o[0] : o;
};
$.fn.addSlider = function (settings) {
	$add.Slider(this, settings);
};
$add.auto.Slider = function () {
	if (!$add.auto.disabled)
		$("[data-addui=slider]").addSlider();
};
$(function () {
	$add.auto.Slider();
});

function betterParseFloat(x) {
	if (isNaN(parseFloat(x)) && x.length > 0)
		return betterParseFloat(x.substr(1));
	return parseFloat(x);
}

function usd(x) {
	x = betterParseFloat(x);
	if (isNaN(x))
		return "$0.00";
	var dollars = Math.floor(x);
	var cents = Math.round((x - dollars) * 100) + "";
	if (cents.length == 1) cents = "0";
	return "$" + dollars;
}
/* ----- Range Slider With Tooltip END with jQuery UI Touch Punch 0.2.3  ----- */



/**
 * asRange v0.3.4
 * https://github.com/amazingSurge/jquery-asRange
 *
 * Copyright (c) amazingSurge
 * Released under the LGPL-3.0 license
 */
! function (t, e) {
	if ("function" == typeof define && define.amd) define(["jquery"], e);
	else if ("undefined" != typeof exports) e(require("jquery"));
	else {
		e(t.jQuery), t.jqueryAsRangeEs = {}
	}
}(this, function (t) {
	"use strict";
	var e, i = (e = t) && e.__esModule ? e : {
		default: e
	};
	var s = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
		return typeof t
	} : function (t) {
		return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
	};

	function n(t, e) {
		if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
	}
	var a = function () {
			function t(t, e) {
				for (var i = 0; i < e.length; i++) {
					var s = e[i];
					s.enumerable = s.enumerable || !1, s.configurable = !0, "value" in s && (s.writable = !0), Object.defineProperty(t, s.key, s)
				}
			}
			return function (e, i, s) {
				return i && t(e.prototype, i), s && t(e, s), e
			}
		}(),
		o = {
			namespace: "asRange",
			skin: null,
			max: 100,
			min: 0,
			value: null,
			step: 10,
			limit: !0,
			range: !1,
			direction: "h",
			keyboard: !0,
			replaceFirst: !1,
			tip: !0,
			scale: !0,
			format: function (t) {
				return t
			}
		};

	function r(t) {
		var e = t.originalEvent;
		return e.touches && e.touches.length && e.touches[0] && (e = e.touches[0]), e
	}
	var u, l = function () {
			function t(e, s, a) {
				n(this, t), this.$element = e, this.uid = s, this.parent = a, this.options = i.default.extend(!0, {}, this.parent.options), this.direction = this.options.direction, this.value = null, this.classes = {
					active: this.parent.namespace + "-pointer_active"
				}
			}
			return a(t, [{
				key: "mousedown",
				value: function (t) {
					var e = this.parent.direction.axis,
						s = this.parent.direction.position,
						n = this.parent.$wrap.offset();
					this.$element.trigger(this.parent.namespace + "::moveStart", this), this.data = {}, this.data.start = t[e], this.data.position = t[e] - n[s];
					var a = this.parent.getValueFromPosition(this.data.position);
					return this.set(a), i.default.each(this.parent.pointer, function (t, e) {
						e.deactive()
					}), this.active(), this.mousemove = function (t) {
						var i = r(t),
							s = this.parent.getValueFromPosition(this.data.position + (i[e] || this.data.start) - this.data.start);
						return this.set(s), t.preventDefault(), !1
					}, this.mouseup = function () {
						return (0, i.default)(document).off(".asRange mousemove.asRange touchend.asRange mouseup.asRange touchcancel.asRange"), this.$element.trigger(this.parent.namespace + "::moveEnd", this), !1
					}, (0, i.default)(document).on("touchmove.asRange mousemove.asRange", i.default.proxy(this.mousemove, this)).on("touchend.asRange mouseup.asRange", i.default.proxy(this.mouseup, this)), !1
				}
			}, {
				key: "active",
				value: function () {
					this.$element.addClass(this.classes.active)
				}
			}, {
				key: "deactive",
				value: function () {
					this.$element.removeClass(this.classes.active)
				}
			}, {
				key: "set",
				value: function (t) {
					this.value !== t && (this.parent.step && (t = this.matchStep(t)), !0 === this.options.limit ? t = this.matchLimit(t) : (t <= this.parent.min && (t = this.parent.min), t >= this.parent.max && (t = this.parent.max)), this.value = t, this.updatePosition(), this.$element.focus(), this.$element.trigger(this.parent.namespace + "::move", this))
				}
			}, {
				key: "updatePosition",
				value: function () {
					var t = {};
					t[this.parent.direction.position] = this.getPercent() + "%", this.$element.css(t)
				}
			}, {
				key: "getPercent",
				value: function () {
					return (this.value - this.parent.min) / this.parent.interval * 100
				}
			}, {
				key: "get",
				value: function () {
					return this.value
				}
			}, {
				key: "matchStep",
				value: function (t) {
					var e = this.parent.step,
						i = e.toString().split(".")[1];
					return t = Math.round(t / e) * e, i && (t = t.toFixed(i.length)), parseFloat(t)
				}
			}, {
				key: "matchLimit",
				value: function (t) {
					var e = void 0,
						i = void 0,
						s = this.parent.pointer;
					return t <= (e = 1 === this.uid ? this.parent.min : s[this.uid - 2].value) && (t = e), t >= (i = s[this.uid] && null !== s[this.uid].value ? s[this.uid].value : this.parent.max) && (t = i), t
				}
			}, {
				key: "destroy",
				value: function () {
					this.$element.off(".asRange"), this.$element.remove()
				}
			}]), t
		}(),
		h = {
			defaults: {
				scale: {
					valuesNumber: 3,
					gap: 1,
					grid: 5
				}
			},
			init: function (t) {
				var e = i.default.extend({}, this.defaults, t.options.scale).scale;
				e.values = [], e.values.push(t.min);
				for (var s = (t.max - t.min) / (e.valuesNumber - 1), n = 1; n <= e.valuesNumber - 2; n++) e.values.push(s * n);
				e.values.push(t.max);
				var a = {
						scale: t.namespace + "-scale",
						lines: t.namespace + "-scale-lines",
						grid: t.namespace + "-scale-grid",
						inlineGrid: t.namespace + "-scale-inlineGrid",
						values: t.namespace + "-scale-values"
					},
					o = e.values.length,
					r = ((e.grid - 1) * (e.gap + 1) + e.gap) * (o - 1) + o,
					u = 100 / (r - 1),
					l = 100 / (o - 1);
				this.$scale = (0, i.default)("<div></div>").addClass(a.scale), this.$lines = (0, i.default)("<ul></ul>").addClass(a.lines), this.$values = (0, i.default)("<ul></ul>").addClass(a.values);
				for (var h = 0; h < r; h++) {
					(0 === h || h === r || h % ((r - 1) / (o - 1)) == 0 ? (0, i.default)('<li class="' + a.grid + '"></li>') : h % e.grid == 0 ? (0, i.default)('<li class="' + a.inlineGrid + '"></li>') : (0, i.default)("<li></li>")).css({
						left: u * h + "%"
					}).appendTo(this.$lines)
				}
				for (var p = 0; p < o; p++)(0, i.default)("<li><span>" + e.values[p] + "</span></li>").css({
					left: l * p + "%"
				}).appendTo(this.$values);
				this.$lines.add(this.$values).appendTo(this.$scale), this.$scale.appendTo(t.$wrap)
			},
			update: function (t) {
				this.$scale.remove(), this.init(t)
			}
		},
		p = {
			defaults: {},
			init: function (t) {
				var e = this;
				if (this.$arrow = (0, i.default)("<span></span>").appendTo(t.$wrap), this.$arrow.addClass(t.namespace + "-selected"), !1 === t.options.range && t.p1.$element.on(t.namespace + "::move", function (t, i) {
						e.$arrow.css({
							left: 0,
							width: i.getPercent() + "%"
						})
					}), !0 === t.options.range) {
					var s = function () {
						var i = t.p2.getPercent() - t.p1.getPercent(),
							s = void 0;
						i >= 0 ? s = t.p1.getPercent() : (i = -i, s = t.p2.getPercent()), e.$arrow.css({
							left: s + "%",
							width: i + "%"
						})
					};
					t.p1.$element.on(t.namespace + "::move", s), t.p2.$element.on(t.namespace + "::move", s)
				}
			}
		},
		c = {
			defaults: {
				active: "always"
			},
			init: function (t) {
				var e = this,
					n = i.default.extend({}, this.defaults, t.options.tip);
				this.opts = n, this.classes = {
					tip: t.namespace + "-tip",
					show: t.namespace + "-tip-show"
				}, i.default.each(t.pointer, function (n, a) {
					var o = (0, i.default)("<span></span>").appendTo(t.pointer[n].$element);
					o.addClass(e.classes.tip), "onMove" === e.opts.active && (o.css({
						display: "none"
					}), a.$element.on(t.namespace + "::moveEnd", function () {
						return e.hide(o), !1
					}).on(t.namespace + "::moveStart", function () {
						return e.show(o), !1
					})), a.$element.on(t.namespace + "::move", function () {
						var e = void 0;
						if (e = t.options.range ? t.get()[n] : t.get(), "function" == typeof t.options.format)
							if (t.options.replaceFirst && "number" != typeof e) {
								if ("string" == typeof t.options.replaceFirst && (e = t.options.replaceFirst), "object" === s(t.options.replaceFirst))
									for (var i in t.options.replaceFirst) Object.hasOwnProperty(t.options.replaceFirst, i) && (e = t.options.replaceFirst[i])
							} else e = t.options.format(e);
						return o.text(e), !1
					})
				})
			},
			show: function (t) {
				t.addClass(this.classes.show), t.css({
					display: "block"
				})
			},
			hide: function (t) {
				t.removeClass(this.classes.show), t.css({
					display: "none"
				})
			}
		},
		d = {},
		f = function () {
			function t(e, s) {
				var a = this;
				n(this, t);
				var r = {};
				if (this.element = e, this.$element = (0, i.default)(e), this.$element.is("input")) {
					var u = this.$element.val();
					"string" == typeof u && (r.value = u.split(",")), i.default.each(["min", "max", "step"], function (t, e) {
						var i = parseFloat(a.$element.attr(e));
						isNaN(i) || (r[e] = i)
					}), this.$element.css({
						display: "none"
					}), this.$wrap = (0, i.default)("<div></div>"), this.$element.after(this.$wrap)
				} else this.$wrap = this.$element;
				if (this.options = i.default.extend({}, o, s, this.$element.data(), r), this.namespace = this.options.namespace, this.components = i.default.extend(!0, {}, d), this.options.range && (this.options.replaceFirst = !1), this.value = this.options.value, null === this.value && (this.value = this.options.min), this.options.range ? i.default.isArray(this.value) ? 1 === this.value.length && (this.value[1] = this.value[0]) : this.value = [this.value, this.value] : i.default.isArray(this.value) && (this.value = this.value[0]), this.min = this.options.min, this.max = this.options.max, this.step = this.options.step, this.interval = this.max - this.min, this.initialized = !1, this.updating = !1, this.disabled = !1, "v" === this.options.direction ? this.direction = {
						axis: "pageY",
						position: "top"
					} : this.direction = {
						axis: "pageX",
						position: "left"
					}, this.$wrap.addClass(this.namespace), this.options.skin && this.$wrap.addClass(this.namespace + "_" + this.options.skin), this.max < this.min || this.step >= this.interval) throw new Error("error options about max min step");
				this.init()
			}
			return a(t, [{
				key: "init",
				value: function () {
					this.$wrap.append('<div class="' + this.namespace + '-bar" />'), this.buildPointers(), this.components.selected.init(this), !1 !== this.options.tip && this.components.tip.init(this), !1 !== this.options.scale && this.components.scale.init(this), this.set(this.value), this.bindEvents(), this._trigger("ready"), this.initialized = !0
				}
			}, {
				key: "_trigger",
				value: function (t) {
					for (var e = arguments.length, i = Array(e > 1 ? e - 1 : 0), s = 1; s < e; s++) i[s - 1] = arguments[s];
					var n = [this].concat(i);
					this.$element.trigger(this.namespace + "::" + t, n);
					var a = "on" + (t = t.replace(/\b\w+\b/g, function (t) {
						return t.substring(0, 1).toUpperCase() + t.substring(1)
					}));
					"function" == typeof this.options[a] && this.options[a].apply(this, i)
				}
			}, {
				key: "buildPointers",
				value: function () {
					this.pointer = [];
					var t = 1;
					this.options.range && (t = 2);
					for (var e = 1; e <= t; e++) {
						var s = (0, i.default)('<div class="' + this.namespace + "-pointer " + this.namespace + "-pointer-" + e + '"></div>').appendTo(this.$wrap),
							n = new l(s, e, this);
						this.pointer.push(n)
					}
					this.p1 = this.pointer[0], this.options.range && (this.p2 = this.pointer[1])
				}
			}, {
				key: "bindEvents",
				value: function () {
					var t = this,
						e = this;
					this.$wrap.on("touchstart.asRange mousedown.asRange", function (t) {
						if (!0 !== e.disabled) {
							if ((t = r(t)).which ? 3 === t.which : 2 === t.button) return !1;
							var i = e.$wrap.offset(),
								s = t[e.direction.axis] - i[e.direction.position];
							return e.getAdjacentPointer(s).mousedown(t), !1
						}
					}), this.$element.is("input") && this.$element.on(this.namespace + "::change", function () {
						var e = t.get();
						t.$element.val(e)
					}), i.default.each(this.pointer, function (i, s) {
						s.$element.on(t.namespace + "::move", function () {
							return e.value = e.get(), !(!e.initialized || e.updating) && (e._trigger("change", e.value), !1)
						})
					})
				}
			}, {
				key: "getValueFromPosition",
				value: function (t) {
					return t > 0 ? this.min + t / this.getLength() * this.interval : 0
				}
			}, {
				key: "getAdjacentPointer",
				value: function (t) {
					var e = this.getValueFromPosition(t);
					if (this.options.range) {
						var i = this.p1.value,
							s = this.p2.value,
							n = Math.abs(i - s);
						return i <= s ? e > i + n / 2 ? this.p2 : this.p1 : e > s + n / 2 ? this.p1 : this.p2
					}
					return this.p1
				}
			}, {
				key: "getLength",
				value: function () {
					return "v" === this.options.direction ? this.$wrap.height() : this.$wrap.width()
				}
			}, {
				key: "update",
				value: function (t) {
					var e = this;
					this.updating = !0, i.default.each(["max", "min", "step", "limit", "value"], function (i, s) {
						t[s] && (e[s] = t[s])
					}), (t.max || t.min) && this.setInterval(t.min, t.max), t.value || (this.value = t.min), i.default.each(this.components, function (t, i) {
						"function" == typeof i.update && i.update(e)
					}), this.set(this.value), this._trigger("update"), this.updating = !1
				}
			}, {
				key: "get",
				value: function () {
					var t = [];
					if (i.default.each(this.pointer, function (e, i) {
							t[e] = i.get()
						}), this.options.range) return t;
					if (t[0] === this.options.min && ("string" == typeof this.options.replaceFirst && (t[0] = this.options.replaceFirst), "object" === s(this.options.replaceFirst)))
						for (var e in this.options.replaceFirst) Object.hasOwnProperty(this.options.replaceFirst, e) && (t[0] = e);
					return t[0]
				}
			}, {
				key: "set",
				value: function (t) {
					if (this.options.range) {
						if ("number" == typeof t && (t = [t]), !i.default.isArray(t)) return;
						i.default.each(this.pointer, function (e, i) {
							i.set(t[e])
						})
					} else this.p1.set(t);
					this.value = t
				}
			}, {
				key: "val",
				value: function (t) {
					return t ? (this.set(t), this) : this.get()
				}
			}, {
				key: "setInterval",
				value: function (t, e) {
					this.min = t, this.max = e, this.interval = e - t
				}
			}, {
				key: "enable",
				value: function () {
					return this.disabled = !1, this.$wrap.removeClass(this.namespace + "_disabled"), this._trigger("enable"), this
				}
			}, {
				key: "disable",
				value: function () {
					return this.disabled = !0, this.$wrap.addClass(this.namespace + "_disabled"), this._trigger("disable"), this
				}
			}, {
				key: "destroy",
				value: function () {
					i.default.each(this.pointer, function (t, e) {
						e.destroy()
					}), this.$wrap.destroy(), this._trigger("destroy")
				}
			}], [{
				key: "registerComponent",
				value: function (t, e) {
					d[t] = e
				}
			}, {
				key: "setDefaults",
				value: function (t) {
					i.default.extend(o, i.default.isPlainObject(t) && t)
				}
			}]), t
		}();
	f.registerComponent("scale", h), f.registerComponent("selected", p), f.registerComponent("tip", c), (u = (0, i.default)(document)).on("asRange::ready", function (t, e) {
		var s = void 0,
			n = {
				keys: {
					UP: 38,
					DOWN: 40,
					LEFT: 37,
					RIGHT: 39,
					RETURN: 13,
					ESCAPE: 27,
					BACKSPACE: 8,
					SPACE: 32
				},
				map: {},
				bound: !1,
				press: function (t) {
					var e = t.keyCode || t.which;
					if (e in n.map && "function" == typeof n.map[e]) return n.map[e](t), !1
				},
				attach: function (t) {
					var e = void 0,
						i = void 0;
					for (e in t) t.hasOwnProperty(e) && ((i = e.toUpperCase()) in n.keys ? n.map[n.keys[i]] = t[e] : n.map[i] = t[e]);
					n.bound || (n.bound = !0, u.bind("keydown", n.press))
				},
				detach: function () {
					n.bound = !1, n.map = {}, u.unbind("keydown", n.press)
				}
			};
		!0 === e.options.keyboard && i.default.each(e.pointer, function (t, i) {
			s = e.options.step ? e.options.step : 1;
			var a = function () {
					var t = i.value;
					i.set(t - s)
				},
				o = function () {
					var t = i.value;
					i.set(t + s)
				};
			i.$element.attr("tabindex", "0").on("focus", function () {
				return n.attach({
					left: a,
					right: o
				}), !1
			}).on("blur", function () {
				return n.detach(), !1
			})
		})
	});
	var v = "asRange",
		m = i.default.fn.asRange;

	function g(t) {
		for (var e = arguments.length, s = Array(e > 1 ? e - 1 : 0), n = 1; n < e; n++) s[n - 1] = arguments[n];
		if ("string" == typeof t) {
			var a = t;
			if (/^_/.test(a)) return !1;
			if (!(/^(get)$/.test(a) || "val" === a && 0 === s.length)) return this.each(function () {
				var t = i.default.data(this, v);
				t && "function" == typeof t[a] && t[a].apply(t, s)
			});
			var o = this.first().data(v);
			if (o && "function" == typeof o[a]) return o[a].apply(o, s)
		}
		return this.each(function () {
			(0, i.default)(this).data(v) || (0, i.default)(this).data(v, new f(this, t))
		})
	}
	i.default.fn.asRange = g, i.default.asRange = i.default.extend({
		setDefaults: f.setDefaults,
		noConflict: function () {
			return i.default.fn.asRange = m, g
		}
	}, {
		version: "0.3.4"
	})
});



/**
 * Swiper 7.4.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2021 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: December 24, 2021
 */

! function (e, t) {
	"object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).Swiper = t()
}(this, (function () {
			"use strict";

			function e(e) {
				return null !== e && "object" == typeof e && "constructor" in e && e.constructor === Object
			}

			function t(s = {}, a = {}) {
				Object.keys(a).forEach((i => {
					void 0 === s[i] ? s[i] = a[i] : e(a[i]) && e(s[i]) && Object.keys(a[i]).length > 0 && t(s[i], a[i])
				}))
			}
			const s = {
				body: {},
				addEventListener() {},
				removeEventListener() {},
				activeElement: {
					blur() {},
					nodeName: ""
				},
				querySelector: () => null,
				querySelectorAll: () => [],
				getElementById: () => null,
				createEvent: () => ({
					initEvent() {}
				}),
				createElement: () => ({
					children: [],
					childNodes: [],
					style: {},
					setAttribute() {},
					getElementsByTagName: () => []
				}),
				createElementNS: () => ({}),
				importNode: () => null,
				location: {
					hash: "",
					host: "",
					hostname: "",
					href: "",
					origin: "",
					pathname: "",
					protocol: "",
					search: ""
				}
			};

			function a() {
				const e = "undefined" != typeof document ? document : {};
				return t(e, s), e
			}
			const i = {
				document: s,
				navigator: {
					userAgent: ""
				},
				location: {
					hash: "",
					host: "",
					hostname: "",
					href: "",
					origin: "",
					pathname: "",
					protocol: "",
					search: ""
				},
				history: {
					replaceState() {},
					pushState() {},
					go() {},
					back() {}
				},
				CustomEvent: function () {
					return this
				},
				addEventListener() {},
				removeEventListener() {},
				getComputedStyle: () => ({
					getPropertyValue: () => ""
				}),
				Image() {},
				Date() {},
				screen: {},
				setTimeout() {},
				clearTimeout() {},
				matchMedia: () => ({}),
				requestAnimationFrame: e => "undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0),
				cancelAnimationFrame(e) {
					"undefined" != typeof setTimeout && clearTimeout(e)
				}
			};

			function r() {
				const e = "undefined" != typeof window ? window : {};
				return t(e, i), e
			}
			class n extends Array {
				constructor(e) {
					super(...e || []),
						function (e) {
							const t = e.__proto__;
							Object.defineProperty(e, "__proto__", {
								get: () => t,
								set(e) {
									t.__proto__ = e
								}
							})
						}(this)
				}
			}

			function l(e = []) {
				const t = [];
				return e.forEach((e => {
					Array.isArray(e) ? t.push(...l(e)) : t.push(e)
				})), t
			}

			function o(e, t) {
				return Array.prototype.filter.call(e, t)
			}

			function d(e, t) {
				const s = r(),
					i = a();
				let l = [];
				if (!t && e instanceof n) return e;
				if (!e) return new n(l);
				if ("string" == typeof e) {
					const s = e.trim();
					if (s.indexOf("<") >= 0 && s.indexOf(">") >= 0) {
						let e = "div";
						0 === s.indexOf("<li") && (e = "ul"), 0 === s.indexOf("<tr") && (e = "tbody"), 0 !== s.indexOf("<td") && 0 !== s.indexOf("<th") || (e = "tr"), 0 === s.indexOf("<tbody") && (e = "table"), 0 === s.indexOf("<option") && (e = "select");
						const t = i.createElement(e);
						t.innerHTML = s;
						for (let e = 0; e < t.childNodes.length; e += 1) l.push(t.childNodes[e])
					} else l = function (e, t) {
						if ("string" != typeof e) return [e];
						const s = [],
							a = t.querySelectorAll(e);
						for (let e = 0; e < a.length; e += 1) s.push(a[e]);
						return s
					}(e.trim(), t || i)
				} else if (e.nodeType || e === s || e === i) l.push(e);
				else if (Array.isArray(e)) {
					if (e instanceof n) return e;
					l = e
				}
				return new n(function (e) {
					const t = [];
					for (let s = 0; s < e.length; s += 1) - 1 === t.indexOf(e[s]) && t.push(e[s]);
					return t
				}(l))
			}
			d.fn = n.prototype;
			const p = {
				addClass: function (...e) {
					const t = l(e.map((e => e.split(" "))));
					return this.forEach((e => {
						e.classList.add(...t)
					})), this
				},
				removeClass: function (...e) {
					const t = l(e.map((e => e.split(" "))));
					return this.forEach((e => {
						e.classList.remove(...t)
					})), this
				},
				hasClass: function (...e) {
					const t = l(e.map((e => e.split(" "))));
					return o(this, (e => t.filter((t => e.classList.contains(t))).length > 0)).length > 0
				},
				toggleClass: function (...e) {
					const t = l(e.map((e => e.split(" "))));
					this.forEach((e => {
						t.forEach((t => {
							e.classList.toggle(t)
						}))
					}))
				},
				attr: function (e, t) {
					if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e) : void 0;
					for (let s = 0; s < this.length; s += 1)
						if (2 === arguments.length) this[s].setAttribute(e, t);
						else
							for (const t in e) this[s][t] = e[t], this[s].setAttribute(t, e[t]);
					return this
				},
				removeAttr: function (e) {
					for (let t = 0; t < this.length; t += 1) this[t].removeAttribute(e);
					return this
				},
				transform: function (e) {
					for (let t = 0; t < this.length; t += 1) this[t].style.transform = e;
					return this
				},
				transition: function (e) {
					for (let t = 0; t < this.length; t += 1) this[t].style.transitionDuration = "string" != typeof e ? `${e}ms` : e;
					return this
				},
				on: function (...e) {
					let [t, s, a, i] = e;

					function r(e) {
						const t = e.target;
						if (!t) return;
						const i = e.target.dom7EventData || [];
						if (i.indexOf(e) < 0 && i.unshift(e), d(t).is(s)) a.apply(t, i);
						else {
							const e = d(t).parents();
							for (let t = 0; t < e.length; t += 1) d(e[t]).is(s) && a.apply(e[t], i)
						}
					}

					function n(e) {
						const t = e && e.target && e.target.dom7EventData || [];
						t.indexOf(e) < 0 && t.unshift(e), a.apply(this, t)
					}
					"function" == typeof e[1] && ([t, a, i] = e, s = void 0), i || (i = !1);
					const l = t.split(" ");
					let o;
					for (let e = 0; e < this.length; e += 1) {
						const t = this[e];
						if (s)
							for (o = 0; o < l.length; o += 1) {
								const e = l[o];
								t.dom7LiveListeners || (t.dom7LiveListeners = {}), t.dom7LiveListeners[e] || (t.dom7LiveListeners[e] = []), t.dom7LiveListeners[e].push({
									listener: a,
									proxyListener: r
								}), t.addEventListener(e, r, i)
							} else
								for (o = 0; o < l.length; o += 1) {
									const e = l[o];
									t.dom7Listeners || (t.dom7Listeners = {}), t.dom7Listeners[e] || (t.dom7Listeners[e] = []), t.dom7Listeners[e].push({
										listener: a,
										proxyListener: n
									}), t.addEventListener(e, n, i)
								}
					}
					return this
				},
				off: function (...e) {
					let [t, s, a, i] = e;
					"function" == typeof e[1] && ([t, a, i] = e, s = void 0), i || (i = !1);
					const r = t.split(" ");
					for (let e = 0; e < r.length; e += 1) {
						const t = r[e];
						for (let e = 0; e < this.length; e += 1) {
							const r = this[e];
							let n;
							if (!s && r.dom7Listeners ? n = r.dom7Listeners[t] : s && r.dom7LiveListeners && (n = r.dom7LiveListeners[t]), n && n.length)
								for (let e = n.length - 1; e >= 0; e -= 1) {
									const s = n[e];
									a && s.listener === a || a && s.listener && s.listener.dom7proxy && s.listener.dom7proxy === a ? (r.removeEventListener(t, s.proxyListener, i), n.splice(e, 1)) : a || (r.removeEventListener(t, s.proxyListener, i), n.splice(e, 1))
								}
						}
					}
					return this
				},
				trigger: function (...e) {
					const t = r(),
						s = e[0].split(" "),
						a = e[1];
					for (let i = 0; i < s.length; i += 1) {
						const r = s[i];
						for (let s = 0; s < this.length; s += 1) {
							const i = this[s];
							if (t.CustomEvent) {
								const s = new t.CustomEvent(r, {
									detail: a,
									bubbles: !0,
									cancelable: !0
								});
								i.dom7EventData = e.filter(((e, t) => t > 0)), i.dispatchEvent(s), i.dom7EventData = [], delete i.dom7EventData
							}
						}
					}
					return this
				},
				transitionEnd: function (e) {
					const t = this;
					return e && t.on("transitionend", (function s(a) {
						a.target === this && (e.call(this, a), t.off("transitionend", s))
					})), this
				},
				outerWidth: function (e) {
					if (this.length > 0) {
						if (e) {
							const e = this.styles();
							return this[0].offsetWidth + parseFloat(e.getPropertyValue("margin-right")) + parseFloat(e.getPropertyValue("margin-left"))
						}
						return this[0].offsetWidth
					}
					return null
				},
				outerHeight: function (e) {
					if (this.length > 0) {
						if (e) {
							const e = this.styles();
							return this[0].offsetHeight + parseFloat(e.getPropertyValue("margin-top")) + parseFloat(e.getPropertyValue("margin-bottom"))
						}
						return this[0].offsetHeight
					}
					return null
				},
				styles: function () {
					const e = r();
					return this[0] ? e.getComputedStyle(this[0], null) : {}
				},
				offset: function () {
					if (this.length > 0) {
						const e = r(),
							t = a(),
							s = this[0],
							i = s.getBoundingClientRect(),
							n = t.body,
							l = s.clientTop || n.clientTop || 0,
							o = s.clientLeft || n.clientLeft || 0,
							d = s === e ? e.scrollY : s.scrollTop,
							p = s === e ? e.scrollX : s.scrollLeft;
						return {
							top: i.top + d - l,
							left: i.left + p - o
						}
					}
					return null
				},
				css: function (e, t) {
					const s = r();
					let a;
					if (1 === arguments.length) {
						if ("string" != typeof e) {
							for (a = 0; a < this.length; a += 1)
								for (const t in e) this[a].style[t] = e[t];
							return this
						}
						if (this[0]) return s.getComputedStyle(this[0], null).getPropertyValue(e)
					}
					if (2 === arguments.length && "string" == typeof e) {
						for (a = 0; a < this.length; a += 1) this[a].style[e] = t;
						return this
					}
					return this
				},
				each: function (e) {
					return e ? (this.forEach(((t, s) => {
						e.apply(t, [t, s])
					})), this) : this
				},
				html: function (e) {
					if (void 0 === e) return this[0] ? this[0].innerHTML : null;
					for (let t = 0; t < this.length; t += 1) this[t].innerHTML = e;
					return this
				},
				text: function (e) {
					if (void 0 === e) return this[0] ? this[0].textContent.trim() : null;
					for (let t = 0; t < this.length; t += 1) this[t].textContent = e;
					return this
				},
				is: function (e) {
					const t = r(),
						s = a(),
						i = this[0];
					let l, o;
					if (!i || void 0 === e) return !1;
					if ("string" == typeof e) {
						if (i.matches) return i.matches(e);
						if (i.webkitMatchesSelector) return i.webkitMatchesSelector(e);
						if (i.msMatchesSelector) return i.msMatchesSelector(e);
						for (l = d(e), o = 0; o < l.length; o += 1)
							if (l[o] === i) return !0;
						return !1
					}
					if (e === s) return i === s;
					if (e === t) return i === t;
					if (e.nodeType || e instanceof n) {
						for (l = e.nodeType ? [e] : e, o = 0; o < l.length; o += 1)
							if (l[o] === i) return !0;
						return !1
					}
					return !1
				},
				index: function () {
					let e, t = this[0];
					if (t) {
						for (e = 0; null !== (t = t.previousSibling);) 1 === t.nodeType && (e += 1);
						return e
					}
				},
				eq: function (e) {
					if (void 0 === e) return this;
					const t = this.length;
					if (e > t - 1) return d([]);
					if (e < 0) {
						const s = t + e;
						return d(s < 0 ? [] : [this[s]])
					}
					return d([this[e]])
				},
				append: function (...e) {
					let t;
					const s = a();
					for (let a = 0; a < e.length; a += 1) {
						t = e[a];
						for (let e = 0; e < this.length; e += 1)
							if ("string" == typeof t) {
								const a = s.createElement("div");
								for (a.innerHTML = t; a.firstChild;) this[e].appendChild(a.firstChild)
							} else if (t instanceof n)
							for (let s = 0; s < t.length; s += 1) this[e].appendChild(t[s]);
						else this[e].appendChild(t)
					}
					return this
				},
				prepend: function (e) {
					const t = a();
					let s, i;
					for (s = 0; s < this.length; s += 1)
						if ("string" == typeof e) {
							const a = t.createElement("div");
							for (a.innerHTML = e, i = a.childNodes.length - 1; i >= 0; i -= 1) this[s].insertBefore(a.childNodes[i], this[s].childNodes[0])
						} else if (e instanceof n)
						for (i = 0; i < e.length; i += 1) this[s].insertBefore(e[i], this[s].childNodes[0]);
					else this[s].insertBefore(e, this[s].childNodes[0]);
					return this
				},
				next: function (e) {
					return this.length > 0 ? e ? this[0].nextElementSibling && d(this[0].nextElementSibling).is(e) ? d([this[0].nextElementSibling]) : d([]) : this[0].nextElementSibling ? d([this[0].nextElementSibling]) : d([]) : d([])
				},
				nextAll: function (e) {
					const t = [];
					let s = this[0];
					if (!s) return d([]);
					for (; s.nextElementSibling;) {
						const a = s.nextElementSibling;
						e ? d(a).is(e) && t.push(a) : t.push(a), s = a
					}
					return d(t)
				},
				prev: function (e) {
					if (this.length > 0) {
						const t = this[0];
						return e ? t.previousElementSibling && d(t.previousElementSibling).is(e) ? d([t.previousElementSibling]) : d([]) : t.previousElementSibling ? d([t.previousElementSibling]) : d([])
					}
					return d([])
				},
				prevAll: function (e) {
					const t = [];
					let s = this[0];
					if (!s) return d([]);
					for (; s.previousElementSibling;) {
						const a = s.previousElementSibling;
						e ? d(a).is(e) && t.push(a) : t.push(a), s = a
					}
					return d(t)
				},
				parent: function (e) {
					const t = [];
					for (let s = 0; s < this.length; s += 1) null !== this[s].parentNode && (e ? d(this[s].parentNode).is(e) && t.push(this[s].parentNode) : t.push(this[s].parentNode));
					return d(t)
				},
				parents: function (e) {
					const t = [];
					for (let s = 0; s < this.length; s += 1) {
						let a = this[s].parentNode;
						for (; a;) e ? d(a).is(e) && t.push(a) : t.push(a), a = a.parentNode
					}
					return d(t)
				},
				closest: function (e) {
					let t = this;
					return void 0 === e ? d([]) : (t.is(e) || (t = t.parents(e).eq(0)), t)
				},
				find: function (e) {
					const t = [];
					for (let s = 0; s < this.length; s += 1) {
						const a = this[s].querySelectorAll(e);
						for (let e = 0; e < a.length; e += 1) t.push(a[e])
					}
					return d(t)
				},
				children: function (e) {
					const t = [];
					for (let s = 0; s < this.length; s += 1) {
						const a = this[s].children;
						for (let s = 0; s < a.length; s += 1) e && !d(a[s]).is(e) || t.push(a[s])
					}
					return d(t)
				},
				filter: function (e) {
					return d(o(this, e))
				},
				remove: function () {
					for (let e = 0; e < this.length; e += 1) this[e].parentNode && this[e].parentNode.removeChild(this[e]);
					return this
				}
			};

			function c(e, t = 0) {
				return setTimeout(e, t)
			}

			function u() {
				return Date.now()
			}

			function h(e, t = "x") {
				const s = r();
				let a, i, n;
				const l = function (e) {
					const t = r();
					let s;
					return t.getComputedStyle && (s = t.getComputedStyle(e, null)), !s && e.currentStyle && (s = e.currentStyle), s || (s = e.style), s
				}(e);
				return s.WebKitCSSMatrix ? (i = l.transform || l.webkitTransform, i.split(",").length > 6 && (i = i.split(", ").map((e => e.replace(",", "."))).join(", ")), n = new s.WebKitCSSMatrix("none" === i ? "" : i)) : (n = l.MozTransform || l.OTransform || l.MsTransform || l.msTransform || l.transform || l.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,"), a = n.toString().split(",")), "x" === t && (i = s.WebKitCSSMatrix ? n.m41 : 16 === a.length ? parseFloat(a[12]) : parseFloat(a[4])), "y" === t && (i = s.WebKitCSSMatrix ? n.m42 : 16 === a.length ? parseFloat(a[13]) : parseFloat(a[5])), i || 0
			}

			function m(e) {
				return "object" == typeof e && null !== e && e.constructor && "Object" === Object.prototype.toString.call(e).slice(8, -1)
			}

			function f(...e) {
				const t = Object(e[0]),
					s = ["__proto__", "constructor", "prototype"];
				for (let i = 1; i < e.length; i += 1) {
					const r = e[i];
					if (null != r && (a = r, !("undefined" != typeof window && void 0 !== window.HTMLElement ? a instanceof HTMLElement : a && (1 === a.nodeType || 11 === a.nodeType)))) {
						const e = Object.keys(Object(r)).filter((e => s.indexOf(e) < 0));
						for (let s = 0, a = e.length; s < a; s += 1) {
							const a = e[s],
								i = Object.getOwnPropertyDescriptor(r, a);
							void 0 !== i && i.enumerable && (m(t[a]) && m(r[a]) ? r[a].__swiper__ ? t[a] = r[a] : f(t[a], r[a]) : !m(t[a]) && m(r[a]) ? (t[a] = {}, r[a].__swiper__ ? t[a] = r[a] : f(t[a], r[a])) : t[a] = r[a])
						}
					}
				}
				var a;
				return t
			}

			function g(e, t, s) {
				e.style.setProperty(t, s)
			}

			function v({
				swiper: e,
				targetPosition: t,
				side: s
			}) {
				const a = r(),
					i = -e.translate;
				let n, l = null;
				const o = e.params.speed;
				e.wrapperEl.style.scrollSnapType = "none", a.cancelAnimationFrame(e.cssModeFrameID);
				const d = t > i ? "next" : "prev",
					p = (e, t) => "next" === d && e >= t || "prev" === d && e <= t,
					c = () => {
						n = (new Date).getTime(), null === l && (l = n);
						const r = Math.max(Math.min((n - l) / o, 1), 0),
							d = .5 - Math.cos(r * Math.PI) / 2;
						let u = i + d * (t - i);
						if (p(u, t) && (u = t), e.wrapperEl.scrollTo({
								[s]: u
							}), p(u, t)) return e.wrapperEl.style.overflow = "hidden", e.wrapperEl.style.scrollSnapType = "", setTimeout((() => {
							e.wrapperEl.style.overflow = "", e.wrapperEl.scrollTo({
								[s]: u
							})
						})), void a.cancelAnimationFrame(e.cssModeFrameID);
						e.cssModeFrameID = a.requestAnimationFrame(c)
					};
				c()
			}
			let w, b, x;

			function y() {
				return w || (w = function () {
					const e = r(),
						t = a();
					return {
						smoothScroll: t.documentElement && "scrollBehavior" in t.documentElement.style,
						touch: !!("ontouchstart" in e || e.DocumentTouch && t instanceof e.DocumentTouch),
						passiveListener: function () {
							let t = !1;
							try {
								const s = Object.defineProperty({}, "passive", {get() {
										t = !0
									}
								});
								e.addEventListener("testPassiveListener", null, s)
							} catch (e) {}
							return t
						}(),
						gestures: "ongesturestart" in e
					}
				}()), w
			}

			function E(e = {}) {
				return b || (b = function ({
					userAgent: e
				} = {}) {
					const t = y(),
						s = r(),
						a = s.navigator.platform,
						i = e || s.navigator.userAgent,
						n = {
							ios: !1,
							android: !1
						},
						l = s.screen.width,
						o = s.screen.height,
						d = i.match(/(Android);?[\s\/]+([\d.]+)?/);
					let p = i.match(/(iPad).*OS\s([\d_]+)/);
					const c = i.match(/(iPod)(.*OS\s([\d_]+))?/),
						u = !p && i.match(/(iPhone\sOS|iOS)\s([\d_]+)/),
						h = "Win32" === a;
					let m = "MacIntel" === a;
					return !p && m && t.touch && ["1024x1366", "1366x1024", "834x1194", "1194x834", "834x1112", "1112x834", "768x1024", "1024x768", "820x1180", "1180x820", "810x1080", "1080x810"].indexOf(`${l}x${o}`) >= 0 && (p = i.match(/(Version)\/([\d.]+)/), p || (p = [0, 1, "13_0_0"]), m = !1), d && !h && (n.os = "android", n.android = !0), (p || u || c) && (n.os = "ios", n.ios = !0), n
				}(e)), b
			}

			function T() {
				return x || (x = function () {
					const e = r();
					return {
						isSafari: function () {
							const t = e.navigator.userAgent.toLowerCase();
							return t.indexOf("safari") >= 0 && t.indexOf("chrome") < 0 && t.indexOf("android") < 0
						}(),
						isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)
					}
				}()), x
			}
			Object.keys(p).forEach((e => {
				Object.defineProperty(d.fn, e, {
					value: p[e],
					writable: !0
				})
			}));
			var C = {
				on(e, t, s) {
					const a = this;
					if ("function" != typeof t) return a;
					const i = s ? "unshift" : "push";
					return e.split(" ").forEach((e => {
						a.eventsListeners[e] || (a.eventsListeners[e] = []), a.eventsListeners[e][i](t)
					})), a
				},
				once(e, t, s) {
					const a = this;
					if ("function" != typeof t) return a;

					function i(...s) {
						a.off(e, i), i.__emitterProxy && delete i.__emitterProxy, t.apply(a, s)
					}
					return i.__emitterProxy = t, a.on(e, i, s)
				},
				onAny(e, t) {
					const s = this;
					if ("function" != typeof e) return s;
					const a = t ? "unshift" : "push";
					return s.eventsAnyListeners.indexOf(e) < 0 && s.eventsAnyListeners[a](e), s
				},
				offAny(e) {
					const t = this;
					if (!t.eventsAnyListeners) return t;
					const s = t.eventsAnyListeners.indexOf(e);
					return s >= 0 && t.eventsAnyListeners.splice(s, 1), t
				},
				off(e, t) {
					const s = this;
					return s.eventsListeners ? (e.split(" ").forEach((e => {
						void 0 === t ? s.eventsListeners[e] = [] : s.eventsListeners[e] && s.eventsListeners[e].forEach(((a, i) => {
							(a === t || a.__emitterProxy && a.__emitterProxy === t) && s.eventsListeners[e].splice(i, 1)
						}))
					})), s) : s
				},
				emit(...e) {
					const t = this;
					if (!t.eventsListeners) return t;
					let s, a, i;
					"string" == typeof e[0] || Array.isArray(e[0]) ? (s = e[0], a = e.slice(1, e.length), i = t) : (s = e[0].events, a = e[0].data, i = e[0].context || t), a.unshift(i);
					return (Array.isArray(s) ? s : s.split(" ")).forEach((e => {
						t.eventsAnyListeners && t.eventsAnyListeners.length && t.eventsAnyListeners.forEach((t => {
							t.apply(i, [e, ...a])
						})), t.eventsListeners && t.eventsListeners[e] && t.eventsListeners[e].forEach((e => {
							e.apply(i, a)
						}))
					})), t
				}
			};

			function $({
				swiper: e,
				runCallbacks: t,
				direction: s,
				step: a
			}) {
				const {
					activeIndex: i,
					previousIndex: r
				} = e;
				let n = s;
				if (n || (n = i > r ? "next" : i < r ? "prev" : "reset"), e.emit(`transition${a}`), t && i !== r) {
					if ("reset" === n) return void e.emit(`slideResetTransition${a}`);
					e.emit(`slideChangeTransition${a}`), "next" === n ? e.emit(`slideNextTransition${a}`) : e.emit(`slidePrevTransition${a}`)
				}
			}

			function S(e) {
				const t = this,
					s = a(),
					i = r(),
					n = t.touchEventsData,
					{
						params: l,
						touches: o,
						enabled: p
					} = t;
				if (!p) return;
				if (t.animating && l.preventInteractionOnTransition) return;
				!t.animating && l.cssMode && l.loop && t.loopFix();
				let c = e;
				c.originalEvent && (c = c.originalEvent);
				let h = d(c.target);
				if ("wrapper" === l.touchEventsTarget && !h.closest(t.wrapperEl).length) return;
				if (n.isTouchEvent = "touchstart" === c.type, !n.isTouchEvent && "which" in c && 3 === c.which) return;
				if (!n.isTouchEvent && "button" in c && c.button > 0) return;
				if (n.isTouched && n.isMoved) return;
				!!l.noSwipingClass && "" !== l.noSwipingClass && c.target && c.target.shadowRoot && e.path && e.path[0] && (h = d(e.path[0]));
				const m = l.noSwipingSelector ? l.noSwipingSelector : `.${l.noSwipingClass}`,
					f = !(!c.target || !c.target.shadowRoot);
				if (l.noSwiping && (f ? function (e, t = this) {
						return function t(s) {
							return s && s !== a() && s !== r() ? (s.assignedSlot && (s = s.assignedSlot), s.closest(e) || t(s.getRootNode().host)) : null
						}(t)
					}(m, c.target) : h.closest(m)[0])) return void(t.allowClick = !0);
				if (l.swipeHandler && !h.closest(l.swipeHandler)[0]) return;
				o.currentX = "touchstart" === c.type ? c.targetTouches[0].pageX : c.pageX, o.currentY = "touchstart" === c.type ? c.targetTouches[0].pageY : c.pageY;
				const g = o.currentX,
					v = o.currentY,
					w = l.edgeSwipeDetection || l.iOSEdgeSwipeDetection,
					b = l.edgeSwipeThreshold || l.iOSEdgeSwipeThreshold;
				if (w && (g <= b || g >= i.innerWidth - b)) {
					if ("prevent" !== w) return;
					e.preventDefault()
				}
				if (Object.assign(n, {
						isTouched: !0,
						isMoved: !1,
						allowTouchCallbacks: !0,
						isScrolling: void 0,
						startMoving: void 0
					}), o.startX = g, o.startY = v, n.touchStartTime = u(), t.allowClick = !0, t.updateSize(), t.swipeDirection = void 0, l.threshold > 0 && (n.allowThresholdMove = !1), "touchstart" !== c.type) {
					let e = !0;
					h.is(n.focusableElements) && (e = !1), s.activeElement && d(s.activeElement).is(n.focusableElements) && s.activeElement !== h[0] && s.activeElement.blur();
					const a = e && t.allowTouchMove && l.touchStartPreventDefault;
					!l.touchStartForcePreventDefault && !a || h[0].isContentEditable || c.preventDefault()
				}
				t.emit("touchStart", c)
			}

			function M(e) {
				const t = a(),
					s = this,
					i = s.touchEventsData,
					{
						params: r,
						touches: n,
						rtlTranslate: l,
						enabled: o
					} = s;
				if (!o) return;
				let p = e;
				if (p.originalEvent && (p = p.originalEvent), !i.isTouched) return void(i.startMoving && i.isScrolling && s.emit("touchMoveOpposite", p));
				if (i.isTouchEvent && "touchmove" !== p.type) return;
				const c = "touchmove" === p.type && p.targetTouches && (p.targetTouches[0] || p.changedTouches[0]),
					h = "touchmove" === p.type ? c.pageX : p.pageX,
					m = "touchmove" === p.type ? c.pageY : p.pageY;
				if (p.preventedByNestedSwiper) return n.startX = h, void(n.startY = m);
				if (!s.allowTouchMove) return s.allowClick = !1, void(i.isTouched && (Object.assign(n, {
					startX: h,
					startY: m,
					currentX: h,
					currentY: m
				}), i.touchStartTime = u()));
				if (i.isTouchEvent && r.touchReleaseOnEdges && !r.loop)
					if (s.isVertical()) {
						if (m < n.startY && s.translate <= s.maxTranslate() || m > n.startY && s.translate >= s.minTranslate()) return i.isTouched = !1, void(i.isMoved = !1)
					} else if (h < n.startX && s.translate <= s.maxTranslate() || h > n.startX && s.translate >= s.minTranslate()) return;
				if (i.isTouchEvent && t.activeElement && p.target === t.activeElement && d(p.target).is(i.focusableElements)) return i.isMoved = !0, void(s.allowClick = !1);
				if (i.allowTouchCallbacks && s.emit("touchMove", p), p.targetTouches && p.targetTouches.length > 1) return;
				n.currentX = h, n.currentY = m;
				const f = n.currentX - n.startX,
					g = n.currentY - n.startY;
				if (s.params.threshold && Math.sqrt(f ** 2 + g ** 2) < s.params.threshold) return;
				if (void 0 === i.isScrolling) {
					let e;
					s.isHorizontal() && n.currentY === n.startY || s.isVertical() && n.currentX === n.startX ? i.isScrolling = !1 : f * f + g * g >= 25 && (e = 180 * Math.atan2(Math.abs(g), Math.abs(f)) / Math.PI, i.isScrolling = s.isHorizontal() ? e > r.touchAngle : 90 - e > r.touchAngle)
				}
				if (i.isScrolling && s.emit("touchMoveOpposite", p), void 0 === i.startMoving && (n.currentX === n.startX && n.currentY === n.startY || (i.startMoving = !0)), i.isScrolling) return void(i.isTouched = !1);
				if (!i.startMoving) return;
				s.allowClick = !1, !r.cssMode && p.cancelable && p.preventDefault(), r.touchMoveStopPropagation && !r.nested && p.stopPropagation(), i.isMoved || (r.loop && !r.cssMode && s.loopFix(), i.startTranslate = s.getTranslate(), s.setTransition(0), s.animating && s.$wrapperEl.trigger("webkitTransitionEnd transitionend"), i.allowMomentumBounce = !1, !r.grabCursor || !0 !== s.allowSlideNext && !0 !== s.allowSlidePrev || s.setGrabCursor(!0), s.emit("sliderFirstMove", p)), s.emit("sliderMove", p), i.isMoved = !0;
				let v = s.isHorizontal() ? f : g;
				n.diff = v, v *= r.touchRatio, l && (v = -v), s.swipeDirection = v > 0 ? "prev" : "next", i.currentTranslate = v + i.startTranslate;
				let w = !0,
					b = r.resistanceRatio;
				if (r.touchReleaseOnEdges && (b = 0), v > 0 && i.currentTranslate > s.minTranslate() ? (w = !1, r.resistance && (i.currentTranslate = s.minTranslate() - 1 + (-s.minTranslate() + i.startTranslate + v) ** b)) : v < 0 && i.currentTranslate < s.maxTranslate() && (w = !1, r.resistance && (i.currentTranslate = s.maxTranslate() + 1 - (s.maxTranslate() - i.startTranslate - v) ** b)), w && (p.preventedByNestedSwiper = !0), !s.allowSlideNext && "next" === s.swipeDirection && i.currentTranslate < i.startTranslate && (i.currentTranslate = i.startTranslate), !s.allowSlidePrev && "prev" === s.swipeDirection && i.currentTranslate > i.startTranslate && (i.currentTranslate = i.startTranslate), s.allowSlidePrev || s.allowSlideNext || (i.currentTranslate = i.startTranslate), r.threshold > 0) {
					if (!(Math.abs(v) > r.threshold || i.allowThresholdMove)) return void(i.currentTranslate = i.startTranslate);
					if (!i.allowThresholdMove) return i.allowThresholdMove = !0, n.startX = n.currentX, n.startY = n.currentY, i.currentTranslate = i.startTranslate, void(n.diff = s.isHorizontal() ? n.currentX - n.startX : n.currentY - n.startY)
				}
				r.followFinger && !r.cssMode && ((r.freeMode && r.freeMode.enabled && s.freeMode || r.watchSlidesProgress) && (s.updateActiveIndex(), s.updateSlidesClasses()), s.params.freeMode && r.freeMode.enabled && s.freeMode && s.freeMode.onTouchMove(), s.updateProgress(i.currentTranslate), s.setTranslate(i.currentTranslate))
			}

			function P(e) {
				const t = this,
					s = t.touchEventsData,
					{
						params: a,
						touches: i,
						rtlTranslate: r,
						slidesGrid: n,
						enabled: l
					} = t;
				if (!l) return;
				let o = e;
				if (o.originalEvent && (o = o.originalEvent), s.allowTouchCallbacks && t.emit("touchEnd", o), s.allowTouchCallbacks = !1, !s.isTouched) return s.isMoved && a.grabCursor && t.setGrabCursor(!1), s.isMoved = !1, void(s.startMoving = !1);
				a.grabCursor && s.isMoved && s.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1);
				const d = u(),
					p = d - s.touchStartTime;
				if (t.allowClick) {
					const e = o.path || o.composedPath && o.composedPath();
					t.updateClickedSlide(e && e[0] || o.target), t.emit("tap click", o), p < 300 && d - s.lastClickTime < 300 && t.emit("doubleTap doubleClick", o)
				}
				if (s.lastClickTime = u(), c((() => {
						t.destroyed || (t.allowClick = !0)
					})), !s.isTouched || !s.isMoved || !t.swipeDirection || 0 === i.diff || s.currentTranslate === s.startTranslate) return s.isTouched = !1, s.isMoved = !1, void(s.startMoving = !1);
				let h;
				if (s.isTouched = !1, s.isMoved = !1, s.startMoving = !1, h = a.followFinger ? r ? t.translate : -t.translate : -s.currentTranslate, a.cssMode) return;
				if (t.params.freeMode && a.freeMode.enabled) return void t.freeMode.onTouchEnd({
					currentPos: h
				});
				let m = 0,
					f = t.slidesSizesGrid[0];
				for (let e = 0; e < n.length; e += e < a.slidesPerGroupSkip ? 1 : a.slidesPerGroup) {
					const t = e < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup;
					void 0 !== n[e + t] ? h >= n[e] && h < n[e + t] && (m = e, f = n[e + t] - n[e]) : h >= n[e] && (m = e, f = n[n.length - 1] - n[n.length - 2])
				}
				const g = (h - n[m]) / f,
					v = m < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup;
				if (p > a.longSwipesMs) {
					if (!a.longSwipes) return void t.slideTo(t.activeIndex);
					"next" === t.swipeDirection && (g >= a.longSwipesRatio ? t.slideTo(m + v) : t.slideTo(m)), "prev" === t.swipeDirection && (g > 1 - a.longSwipesRatio ? t.slideTo(m + v) : t.slideTo(m))
				} else {
					if (!a.shortSwipes) return void t.slideTo(t.activeIndex);
					t.navigation && (o.target === t.navigation.nextEl || o.target === t.navigation.prevEl) ? o.target === t.navigation.nextEl ? t.slideTo(m + v) : t.slideTo(m) : ("next" === t.swipeDirection && t.slideTo(m + v), "prev" === t.swipeDirection && t.slideTo(m))
				}
			}

			function k() {
				const e = this,
					{
						params: t,
						el: s
					} = e;
				if (s && 0 === s.offsetWidth) return;
				t.breakpoints && e.setBreakpoint();
				const {
					allowSlideNext: a,
					allowSlidePrev: i,
					snapGrid: r
				} = e;
				e.allowSlideNext = !0, e.allowSlidePrev = !0, e.updateSize(), e.updateSlides(), e.updateSlidesClasses(), ("auto" === t.slidesPerView || t.slidesPerView > 1) && e.isEnd && !e.isBeginning && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0), e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.run(), e.allowSlidePrev = i, e.allowSlideNext = a, e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow()
			}

			function z(e) {
				const t = this;
				t.enabled && (t.allowClick || (t.params.preventClicks && e.preventDefault(), t.params.preventClicksPropagation && t.animating && (e.stopPropagation(), e.stopImmediatePropagation())))
			}

			function O() {
				const e = this,
					{
						wrapperEl: t,
						rtlTranslate: s,
						enabled: a
					} = e;
				if (!a) return;
				let i;
				e.previousTranslate = e.translate, e.isHorizontal() ? e.translate = -t.scrollLeft : e.translate = -t.scrollTop, -0 === e.translate && (e.translate = 0), e.updateActiveIndex(), e.updateSlidesClasses();
				const r = e.maxTranslate() - e.minTranslate();
				i = 0 === r ? 0 : (e.translate - e.minTranslate()) / r, i !== e.progress && e.updateProgress(s ? -e.translate : e.translate), e.emit("setTranslate", e.translate, !1)
			}
			let I = !1;

			function L() {}
			const A = (e, t) => {
				const s = a(),
					{
						params: i,
						touchEvents: r,
						el: n,
						wrapperEl: l,
						device: o,
						support: d
					} = e,
					p = !!i.nested,
					c = "on" === t ? "addEventListener" : "removeEventListener",
					u = t;
				if (d.touch) {
					const t = !("touchstart" !== r.start || !d.passiveListener || !i.passiveListeners) && {
						passive: !0,
						capture: !1
					};
					n[c](r.start, e.onTouchStart, t), n[c](r.move, e.onTouchMove, d.passiveListener ? {
						passive: !1,
						capture: p
					} : p), n[c](r.end, e.onTouchEnd, t), r.cancel && n[c](r.cancel, e.onTouchEnd, t)
				} else n[c](r.start, e.onTouchStart, !1), s[c](r.move, e.onTouchMove, p), s[c](r.end, e.onTouchEnd, !1);
				(i.preventClicks || i.preventClicksPropagation) && n[c]("click", e.onClick, !0), i.cssMode && l[c]("scroll", e.onScroll), i.updateOnWindowResize ? e[u](o.ios || o.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", k, !0) : e[u]("observerUpdate", k, !0)
			};
			const D = (e, t) => e.grid && t.grid && t.grid.rows > 1;
			var G = {
				init: !0,
				direction: "horizontal",
				touchEventsTarget: "wrapper",
				initialSlide: 0,
				speed: 300,
				cssMode: !1,
				updateOnWindowResize: !0,
				resizeObserver: !0,
				nested: !1,
				createElements: !1,
				enabled: !0,
				focusableElements: "input, select, option, textarea, button, video, label",
				width: null,
				height: null,
				preventInteractionOnTransition: !1,
				userAgent: null,
				url: null,
				edgeSwipeDetection: !1,
				edgeSwipeThreshold: 20,
				autoHeight: !1,
				setWrapperSize: !1,
				virtualTranslate: !1,
				effect: "slide",
				breakpoints: void 0,
				breakpointsBase: "window",
				spaceBetween: 0,
				slidesPerView: 1,
				slidesPerGroup: 1,
				slidesPerGroupSkip: 0,
				slidesPerGroupAuto: !1,
				centeredSlides: !1,
				centeredSlidesBounds: !1,
				slidesOffsetBefore: 0,
				slidesOffsetAfter: 0,
				normalizeSlideIndex: !0,
				centerInsufficientSlides: !1,
				watchOverflow: !0,
				roundLengths: !1,
				touchRatio: 1,
				touchAngle: 45,
				simulateTouch: !0,
				shortSwipes: !0,
				longSwipes: !0,
				longSwipesRatio: .5,
				longSwipesMs: 300,
				followFinger: !0,
				allowTouchMove: !0,
				threshold: 0,
				touchMoveStopPropagation: !1,
				touchStartPreventDefault: !0,
				touchStartForcePreventDefault: !1,
				touchReleaseOnEdges: !1,
				uniqueNavElements: !0,
				resistance: !0,
				resistanceRatio: .85,
				watchSlidesProgress: !1,
				grabCursor: !1,
				preventClicks: !0,
				preventClicksPropagation: !0,
				slideToClickedSlide: !1,
				preloadImages: !0,
				updateOnImagesReady: !0,
				loop: !1,
				loopAdditionalSlides: 0,
				loopedSlides: null,
				loopFillGroupWithBlank: !1,
				loopPreventsSlide: !0,
				rewind: !1,
				allowSlidePrev: !0,
				allowSlideNext: !0,
				swipeHandler: null,
				noSwiping: !0,
				noSwipingClass: "swiper-no-swiping",
				noSwipingSelector: null,
				passiveListeners: !0,
				containerModifierClass: "swiper-",
				slideClass: "swiper-slide",
				slideBlankClass: "swiper-slide-invisible-blank",
				slideActiveClass: "swiper-slide-active",
				slideDuplicateActiveClass: "swiper-slide-duplicate-active",
				slideVisibleClass: "swiper-slide-visible",
				slideDuplicateClass: "swiper-slide-duplicate",
				slideNextClass: "swiper-slide-next",
				slideDuplicateNextClass: "swiper-slide-duplicate-next",
				slidePrevClass: "swiper-slide-prev",
				slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
				wrapperClass: "swiper-wrapper",
				runCallbacksOnInit: !0,
				_emitClasses: !1
			};

			function N(e, t) {
				return function (s = {}) {
					const a = Object.keys(s)[0],
						i = s[a];
					"object" == typeof i && null !== i ? (["navigation", "pagination", "scrollbar"].indexOf(a) >= 0 && !0 === e[a] && (e[a] = {
						auto: !0
					}), a in e && "enabled" in i ? (!0 === e[a] && (e[a] = {
						enabled: !0
					}), "object" != typeof e[a] || "enabled" in e[a] || (e[a].enabled = !0), e[a] || (e[a] = {
						enabled: !1
					}), f(t, s)) : f(t, s)) : f(t, s)
				}
			}
			const B = {
					eventsEmitter: C,
					update: {
						updateSize: function () {
							const e = this;
							let t, s;
							const a = e.$el;
							t = void 0 !== e.params.width && null !== e.params.width ? e.params.width : a[0].clientWidth, s = void 0 !== e.params.height && null !== e.params.height ? e.params.height : a[0].clientHeight, 0 === t && e.isHorizontal() || 0 === s && e.isVertical() || (t = t - parseInt(a.css("padding-left") || 0, 10) - parseInt(a.css("padding-right") || 0, 10), s = s - parseInt(a.css("padding-top") || 0, 10) - parseInt(a.css("padding-bottom") || 0, 10), Number.isNaN(t) && (t = 0), Number.isNaN(s) && (s = 0), Object.assign(e, {
								width: t,
								height: s,
								size: e.isHorizontal() ? t : s
							}))
						},
						updateSlides: function () {
							const e = this;

							function t(t) {
								return e.isHorizontal() ? t : {
									width: "height",
									"margin-top": "margin-left",
									"margin-bottom ": "margin-right",
									"margin-left": "margin-top",
									"margin-right": "margin-bottom",
									"padding-left": "padding-top",
									"padding-right": "padding-bottom",
									marginRight: "marginBottom"
								}[t]
							}

							function s(e, s) {
								return parseFloat(e.getPropertyValue(t(s)) || 0)
							}
							const a = e.params,
								{
									$wrapperEl: i,
									size: r,
									rtlTranslate: n,
									wrongRTL: l
								} = e,
								o = e.virtual && a.virtual.enabled,
								d = o ? e.virtual.slides.length : e.slides.length,
								p = i.children(`.${e.params.slideClass}`),
								c = o ? e.virtual.slides.length : p.length;
							let u = [];
							const h = [],
								m = [];
							let f = a.slidesOffsetBefore;
							"function" == typeof f && (f = a.slidesOffsetBefore.call(e));
							let v = a.slidesOffsetAfter;
							"function" == typeof v && (v = a.slidesOffsetAfter.call(e));
							const w = e.snapGrid.length,
								b = e.slidesGrid.length;
							let x = a.spaceBetween,
								y = -f,
								E = 0,
								T = 0;
							if (void 0 === r) return;
							"string" == typeof x && x.indexOf("%") >= 0 && (x = parseFloat(x.replace("%", "")) / 100 * r), e.virtualSize = -x, n ? p.css({
								marginLeft: "",
								marginBottom: "",
								marginTop: ""
							}) : p.css({
								marginRight: "",
								marginBottom: "",
								marginTop: ""
							}), a.centeredSlides && a.cssMode && (g(e.wrapperEl, "--swiper-centered-offset-before", ""), g(e.wrapperEl, "--swiper-centered-offset-after", ""));
							const C = a.grid && a.grid.rows > 1 && e.grid;
							let $;
							C && e.grid.initSlides(c);
							const S = "auto" === a.slidesPerView && a.breakpoints && Object.keys(a.breakpoints).filter((e => void 0 !== a.breakpoints[e].slidesPerView)).length > 0;
							for (let i = 0; i < c; i += 1) {
								$ = 0;
								const n = p.eq(i);
								if (C && e.grid.updateSlide(i, n, c, t), "none" !== n.css("display")) {
									if ("auto" === a.slidesPerView) {
										S && (p[i].style[t("width")] = "");
										const r = getComputedStyle(n[0]),
											l = n[0].style.transform,
											o = n[0].style.webkitTransform;
										if (l && (n[0].style.transform = "none"), o && (n[0].style.webkitTransform = "none"), a.roundLengths) $ = e.isHorizontal() ? n.outerWidth(!0) : n.outerHeight(!0);
										else {
											const e = s(r, "width"),
												t = s(r, "padding-left"),
												a = s(r, "padding-right"),
												i = s(r, "margin-left"),
												l = s(r, "margin-right"),
												o = r.getPropertyValue("box-sizing");
											if (o && "border-box" === o) $ = e + i + l;
											else {
												const {
													clientWidth: s,
													offsetWidth: r
												} = n[0];
												$ = e + t + a + i + l + (r - s)
											}
										}
										l && (n[0].style.transform = l), o && (n[0].style.webkitTransform = o), a.roundLengths && ($ = Math.floor($))
									} else $ = (r - (a.slidesPerView - 1) * x) / a.slidesPerView, a.roundLengths && ($ = Math.floor($)), p[i] && (p[i].style[t("width")] = `${$}px`);
									p[i] && (p[i].swiperSlideSize = $), m.push($), a.centeredSlides ? (y = y + $ / 2 + E / 2 + x, 0 === E && 0 !== i && (y = y - r / 2 - x), 0 === i && (y = y - r / 2 - x), Math.abs(y) < .001 && (y = 0), a.roundLengths && (y = Math.floor(y)), T % a.slidesPerGroup == 0 && u.push(y), h.push(y)) : (a.roundLengths && (y = Math.floor(y)), (T - Math.min(e.params.slidesPerGroupSkip, T)) % e.params.slidesPerGroup == 0 && u.push(y), h.push(y), y = y + $ + x), e.virtualSize += $ + x, E = $, T += 1
								}
							}
							if (e.virtualSize = Math.max(e.virtualSize, r) + v, n && l && ("slide" === a.effect || "coverflow" === a.effect) && i.css({
									width: `${e.virtualSize+a.spaceBetween}px`
								}), a.setWrapperSize && i.css({
									[t("width")]: `${e.virtualSize+a.spaceBetween}px`
								}), C && e.grid.updateWrapperSize($, u, t), !a.centeredSlides) {
								const t = [];
								for (let s = 0; s < u.length; s += 1) {
									let i = u[s];
									a.roundLengths && (i = Math.floor(i)), u[s] <= e.virtualSize - r && t.push(i)
								}
								u = t, Math.floor(e.virtualSize - r) - Math.floor(u[u.length - 1]) > 1 && u.push(e.virtualSize - r)
							}
							if (0 === u.length && (u = [0]), 0 !== a.spaceBetween) {
								const s = e.isHorizontal() && n ? "marginLeft" : t("marginRight");
								p.filter(((e, t) => !a.cssMode || t !== p.length - 1)).css({
									[s]: `${x}px`
								})
							}
							if (a.centeredSlides && a.centeredSlidesBounds) {
								let e = 0;
								m.forEach((t => {
									e += t + (a.spaceBetween ? a.spaceBetween : 0)
								})), e -= a.spaceBetween;
								const t = e - r;
								u = u.map((e => e < 0 ? -f : e > t ? t + v : e))
							}
							if (a.centerInsufficientSlides) {
								let e = 0;
								if (m.forEach((t => {
										e += t + (a.spaceBetween ? a.spaceBetween : 0)
									})), e -= a.spaceBetween, e < r) {
									const t = (r - e) / 2;
									u.forEach(((e, s) => {
										u[s] = e - t
									})), h.forEach(((e, s) => {
										h[s] = e + t
									}))
								}
							}
							if (Object.assign(e, {
									slides: p,
									snapGrid: u,
									slidesGrid: h,
									slidesSizesGrid: m
								}), a.centeredSlides && a.cssMode && !a.centeredSlidesBounds) {
								g(e.wrapperEl, "--swiper-centered-offset-before", -u[0] + "px"), g(e.wrapperEl, "--swiper-centered-offset-after", e.size / 2 - m[m.length - 1] / 2 + "px");
								const t = -e.snapGrid[0],
									s = -e.slidesGrid[0];
								e.snapGrid = e.snapGrid.map((e => e + t)), e.slidesGrid = e.slidesGrid.map((e => e + s))
							}
							c !== d && e.emit("slidesLengthChange"), u.length !== w && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), h.length !== b && e.emit("slidesGridLengthChange"), a.watchSlidesProgress && e.updateSlidesOffset()
						},
						updateAutoHeight: function (e) {
							const t = this,
								s = [],
								a = t.virtual && t.params.virtual.enabled;
							let i, r = 0;
							"number" == typeof e ? t.setTransition(e) : !0 === e && t.setTransition(t.params.speed);
							const n = e => a ? t.slides.filter((t => parseInt(t.getAttribute("data-swiper-slide-index"), 10) === e))[0] : t.slides.eq(e)[0];
							if ("auto" !== t.params.slidesPerView && t.params.slidesPerView > 1)
								if (t.params.centeredSlides) t.visibleSlides.each((e => {
									s.push(e)
								}));
								else
									for (i = 0; i < Math.ceil(t.params.slidesPerView); i += 1) {
										const e = t.activeIndex + i;
										if (e > t.slides.length && !a) break;
										s.push(n(e))
									} else s.push(n(t.activeIndex));
							for (i = 0; i < s.length; i += 1)
								if (void 0 !== s[i]) {
									const e = s[i].offsetHeight;
									r = e > r ? e : r
								}(r || 0 === r) && t.$wrapperEl.css("height", `${r}px`)
						},
						updateSlidesOffset: function () {
							const e = this,
								t = e.slides;
							for (let s = 0; s < t.length; s += 1) t[s].swiperSlideOffset = e.isHorizontal() ? t[s].offsetLeft : t[s].offsetTop
						},
						updateSlidesProgress: function (e = this && this.translate || 0) {
							const t = this,
								s = t.params,
								{
									slides: a,
									rtlTranslate: i,
									snapGrid: r
								} = t;
							if (0 === a.length) return;
							void 0 === a[0].swiperSlideOffset && t.updateSlidesOffset();
							let n = -e;
							i && (n = e), a.removeClass(s.slideVisibleClass), t.visibleSlidesIndexes = [], t.visibleSlides = [];
							for (let e = 0; e < a.length; e += 1) {
								const l = a[e];
								let o = l.swiperSlideOffset;
								s.cssMode && s.centeredSlides && (o -= a[0].swiperSlideOffset);
								const d = (n + (s.centeredSlides ? t.minTranslate() : 0) - o) / (l.swiperSlideSize + s.spaceBetween),
									p = (n - r[0] + (s.centeredSlides ? t.minTranslate() : 0) - o) / (l.swiperSlideSize + s.spaceBetween),
									c = -(n - o),
									u = c + t.slidesSizesGrid[e];
								(c >= 0 && c < t.size - 1 || u > 1 && u <= t.size || c <= 0 && u >= t.size) && (t.visibleSlides.push(l), t.visibleSlidesIndexes.push(e), a.eq(e).addClass(s.slideVisibleClass)), l.progress = i ? -d : d, l.originalProgress = i ? -p : p
							}
							t.visibleSlides = d(t.visibleSlides)
						},
						updateProgress: function (e) {
							const t = this;
							if (void 0 === e) {
								const s = t.rtlTranslate ? -1 : 1;
								e = t && t.translate && t.translate * s || 0
							}
							const s = t.params,
								a = t.maxTranslate() - t.minTranslate();
							let {
								progress: i,
								isBeginning: r,
								isEnd: n
							} = t;
							const l = r,
								o = n;
							0 === a ? (i = 0, r = !0, n = !0) : (i = (e - t.minTranslate()) / a, r = i <= 0, n = i >= 1), Object.assign(t, {
								progress: i,
								isBeginning: r,
								isEnd: n
							}), (s.watchSlidesProgress || s.centeredSlides && s.autoHeight) && t.updateSlidesProgress(e), r && !l && t.emit("reachBeginning toEdge"), n && !o && t.emit("reachEnd toEdge"), (l && !r || o && !n) && t.emit("fromEdge"), t.emit("progress", i)
						},
						updateSlidesClasses: function () {
							const e = this,
								{
									slides: t,
									params: s,
									$wrapperEl: a,
									activeIndex: i,
									realIndex: r
								} = e,
								n = e.virtual && s.virtual.enabled;
							let l;
							t.removeClass(`${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}`), l = n ? e.$wrapperEl.find(`.${s.slideClass}[data-swiper-slide-index="${i}"]`) : t.eq(i), l.addClass(s.slideActiveClass), s.loop && (l.hasClass(s.slideDuplicateClass) ? a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass) : a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass));
							let o = l.nextAll(`.${s.slideClass}`).eq(0).addClass(s.slideNextClass);
							s.loop && 0 === o.length && (o = t.eq(0), o.addClass(s.slideNextClass));
							let d = l.prevAll(`.${s.slideClass}`).eq(0).addClass(s.slidePrevClass);
							s.loop && 0 === d.length && (d = t.eq(-1), d.addClass(s.slidePrevClass)), s.loop && (o.hasClass(s.slideDuplicateClass) ? a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass) : a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass), d.hasClass(s.slideDuplicateClass) ? a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass) : a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass)), e.emitSlidesClasses()
						},
						updateActiveIndex: function (e) {
							const t = this,
								s = t.rtlTranslate ? t.translate : -t.translate,
								{
									slidesGrid: a,
									snapGrid: i,
									params: r,
									activeIndex: n,
									realIndex: l,
									snapIndex: o
								} = t;
							let d, p = e;
							if (void 0 === p) {
								for (let e = 0; e < a.length; e += 1) void 0 !== a[e + 1] ? s >= a[e] && s < a[e + 1] - (a[e + 1] - a[e]) / 2 ? p = e : s >= a[e] && s < a[e + 1] && (p = e + 1) : s >= a[e] && (p = e);
								r.normalizeSlideIndex && (p < 0 || void 0 === p) && (p = 0)
							}
							if (i.indexOf(s) >= 0) d = i.indexOf(s);
							else {
								const e = Math.min(r.slidesPerGroupSkip, p);
								d = e + Math.floor((p - e) / r.slidesPerGroup)
							}
							if (d >= i.length && (d = i.length - 1), p === n) return void(d !== o && (t.snapIndex = d, t.emit("snapIndexChange")));
							const c = parseInt(t.slides.eq(p).attr("data-swiper-slide-index") || p, 10);
							Object.assign(t, {
								snapIndex: d,
								realIndex: c,
								previousIndex: n,
								activeIndex: p
							}), t.emit("activeIndexChange"), t.emit("snapIndexChange"), l !== c && t.emit("realIndexChange"), (t.initialized || t.params.runCallbacksOnInit) && t.emit("slideChange")
						},
						updateClickedSlide: function (e) {
							const t = this,
								s = t.params,
								a = d(e).closest(`.${s.slideClass}`)[0];
							let i, r = !1;
							if (a)
								for (let e = 0; e < t.slides.length; e += 1)
									if (t.slides[e] === a) {
										r = !0, i = e;
										break
									}
							if (!a || !r) return t.clickedSlide = void 0, void(t.clickedIndex = void 0);
							t.clickedSlide = a, t.virtual && t.params.virtual.enabled ? t.clickedIndex = parseInt(d(a).attr("data-swiper-slide-index"), 10) : t.clickedIndex = i, s.slideToClickedSlide && void 0 !== t.clickedIndex && t.clickedIndex !== t.activeIndex && t.slideToClickedSlide()
						}
					},
					translate: {
						getTranslate: function (e = (this.isHorizontal() ? "x" : "y")) {
							const {
								params: t,
								rtlTranslate: s,
								translate: a,
								$wrapperEl: i
							} = this;
							if (t.virtualTranslate) return s ? -a : a;
							if (t.cssMode) return a;
							let r = h(i[0], e);
							return s && (r = -r), r || 0
						},
						setTranslate: function (e, t) {
							const s = this,
								{
									rtlTranslate: a,
									params: i,
									$wrapperEl: r,
									wrapperEl: n,
									progress: l
								} = s;
							let o, d = 0,
								p = 0;
							s.isHorizontal() ? d = a ? -e : e : p = e, i.roundLengths && (d = Math.floor(d), p = Math.floor(p)), i.cssMode ? n[s.isHorizontal() ? "scrollLeft" : "scrollTop"] = s.isHorizontal() ? -d : -p : i.virtualTranslate || r.transform(`translate3d(${d}px, ${p}px, 0px)`), s.previousTranslate = s.translate, s.translate = s.isHorizontal() ? d : p;
							const c = s.maxTranslate() - s.minTranslate();
							o = 0 === c ? 0 : (e - s.minTranslate()) / c, o !== l && s.updateProgress(e), s.emit("setTranslate", s.translate, t)
						},
						minTranslate: function () {
							return -this.snapGrid[0]
						},
						maxTranslate: function () {
							return -this.snapGrid[this.snapGrid.length - 1]
						},
						translateTo: function (e = 0, t = this.params.speed, s = !0, a = !0, i) {
							const r = this,
								{
									params: n,
									wrapperEl: l
								} = r;
							if (r.animating && n.preventInteractionOnTransition) return !1;
							const o = r.minTranslate(),
								d = r.maxTranslate();
							let p;
							if (p = a && e > o ? o : a && e < d ? d : e, r.updateProgress(p), n.cssMode) {
								const e = r.isHorizontal();
								if (0 === t) l[e ? "scrollLeft" : "scrollTop"] = -p;
								else {
									if (!r.support.smoothScroll) return v({
										swiper: r,
										targetPosition: -p,
										side: e ? "left" : "top"
									}), !0;
									l.scrollTo({
										[e ? "left" : "top"]: -p,
										behavior: "smooth"
									})
								}
								return !0
							}
							return 0 === t ? (r.setTransition(0), r.setTranslate(p), s && (r.emit("beforeTransitionStart", t, i), r.emit("transitionEnd"))) : (r.setTransition(t), r.setTranslate(p), s && (r.emit("beforeTransitionStart", t, i), r.emit("transitionStart")), r.animating || (r.animating = !0, r.onTranslateToWrapperTransitionEnd || (r.onTranslateToWrapperTransitionEnd = function (e) {
								r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd), r.onTranslateToWrapperTransitionEnd = null, delete r.onTranslateToWrapperTransitionEnd, s && r.emit("transitionEnd"))
							}), r.$wrapperEl[0].addEventListener("transitionend", r.onTranslateToWrapperTransitionEnd), r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd))), !0
						}
					},
					transition: {
						setTransition: function (e, t) {
							const s = this;
							s.params.cssMode || s.$wrapperEl.transition(e), s.emit("setTransition", e, t)
						},
						transitionStart: function (e = !0, t) {
							const s = this,
								{
									params: a
								} = s;
							a.cssMode || (a.autoHeight && s.updateAutoHeight(), $({
								swiper: s,
								runCallbacks: e,
								direction: t,
								step: "Start"
							}))
						},
						transitionEnd: function (e = !0, t) {
							const s = this,
								{
									params: a
								} = s;
							s.animating = !1, a.cssMode || (s.setTransition(0), $({
								swiper: s,
								runCallbacks: e,
								direction: t,
								step: "End"
							}))
						}
					},
					slide: {
						slideTo: function (e = 0, t = this.params.speed, s = !0, a, i) {
							if ("number" != typeof e && "string" != typeof e) throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof e}] given.`);
							if ("string" == typeof e) {
								const t = parseInt(e, 10);
								if (!isFinite(t)) throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`);
								e = t
							}
							const r = this;
							let n = e;
							n < 0 && (n = 0);
							const {
								params: l,
								snapGrid: o,
								slidesGrid: d,
								previousIndex: p,
								activeIndex: c,
								rtlTranslate: u,
								wrapperEl: h,
								enabled: m
							} = r;
							if (r.animating && l.preventInteractionOnTransition || !m && !a && !i) return !1;
							const f = Math.min(r.params.slidesPerGroupSkip, n);
							let g = f + Math.floor((n - f) / r.params.slidesPerGroup);
							g >= o.length && (g = o.length - 1), (c || l.initialSlide || 0) === (p || 0) && s && r.emit("beforeSlideChangeStart");
							const w = -o[g];
							if (r.updateProgress(w), l.normalizeSlideIndex)
								for (let e = 0; e < d.length; e += 1) {
									const t = -Math.floor(100 * w),
										s = Math.floor(100 * d[e]),
										a = Math.floor(100 * d[e + 1]);
									void 0 !== d[e + 1] ? t >= s && t < a - (a - s) / 2 ? n = e : t >= s && t < a && (n = e + 1) : t >= s && (n = e)
								}
							if (r.initialized && n !== c) {
								if (!r.allowSlideNext && w < r.translate && w < r.minTranslate()) return !1;
								if (!r.allowSlidePrev && w > r.translate && w > r.maxTranslate() && (c || 0) !== n) return !1
							}
							let b;
							if (b = n > c ? "next" : n < c ? "prev" : "reset", u && -w === r.translate || !u && w === r.translate) return r.updateActiveIndex(n), l.autoHeight && r.updateAutoHeight(), r.updateSlidesClasses(), "slide" !== l.effect && r.setTranslate(w), "reset" !== b && (r.transitionStart(s, b), r.transitionEnd(s, b)), !1;
							if (l.cssMode) {
								const e = r.isHorizontal(),
									s = u ? w : -w;
								if (0 === t) {
									const t = r.virtual && r.params.virtual.enabled;
									t && (r.wrapperEl.style.scrollSnapType = "none", r._immediateVirtual = !0), h[e ? "scrollLeft" : "scrollTop"] = s, t && requestAnimationFrame((() => {
										r.wrapperEl.style.scrollSnapType = "", r._swiperImmediateVirtual = !1
									}))
								} else {
									if (!r.support.smoothScroll) return v({
										swiper: r,
										targetPosition: s,
										side: e ? "left" : "top"
									}), !0;
									h.scrollTo({
										[e ? "left" : "top"]: s,
										behavior: "smooth"
									})
								}
								return !0
							}
							return r.setTransition(t), r.setTranslate(w), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, a), r.transitionStart(s, b), 0 === t ? r.transitionEnd(s, b) : r.animating || (r.animating = !0, r.onSlideToWrapperTransitionEnd || (r.onSlideToWrapperTransitionEnd = function (e) {
								r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd), r.onSlideToWrapperTransitionEnd = null, delete r.onSlideToWrapperTransitionEnd, r.transitionEnd(s, b))
							}), r.$wrapperEl[0].addEventListener("transitionend", r.onSlideToWrapperTransitionEnd), r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd)), !0
						},
						slideToLoop: function (e = 0, t = this.params.speed, s = !0, a) {
							const i = this;
							let r = e;
							return i.params.loop && (r += i.loopedSlides), i.slideTo(r, t, s, a)
						},
						slideNext: function (e = this.params.speed, t = !0, s) {
							const a = this,
								{
									animating: i,
									enabled: r,
									params: n
								} = a;
							if (!r) return a;
							let l = n.slidesPerGroup;
							"auto" === n.slidesPerView && 1 === n.slidesPerGroup && n.slidesPerGroupAuto && (l = Math.max(a.slidesPerViewDynamic("current", !0), 1));
							const o = a.activeIndex < n.slidesPerGroupSkip ? 1 : l;
							if (n.loop) {
								if (i && n.loopPreventsSlide) return !1;
								a.loopFix(), a._clientLeft = a.$wrapperEl[0].clientLeft
							}
							return n.rewind && a.isEnd ? a.slideTo(0, e, t, s) : a.slideTo(a.activeIndex + o, e, t, s)
						},
						slidePrev: function (e = this.params.speed, t = !0, s) {
							const a = this,
								{
									params: i,
									animating: r,
									snapGrid: n,
									slidesGrid: l,
									rtlTranslate: o,
									enabled: d
								} = a;
							if (!d) return a;
							if (i.loop) {
								if (r && i.loopPreventsSlide) return !1;
								a.loopFix(), a._clientLeft = a.$wrapperEl[0].clientLeft
							}

							function p(e) {
								return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e)
							}
							const c = p(o ? a.translate : -a.translate),
								u = n.map((e => p(e)));
							let h = n[u.indexOf(c) - 1];
							if (void 0 === h && i.cssMode) {
								let e;
								n.forEach(((t, s) => {
									c >= t && (e = s)
								})), void 0 !== e && (h = n[e > 0 ? e - 1 : e])
							}
							let m = 0;
							return void 0 !== h && (m = l.indexOf(h), m < 0 && (m = a.activeIndex - 1), "auto" === i.slidesPerView && 1 === i.slidesPerGroup && i.slidesPerGroupAuto && (m = m - a.slidesPerViewDynamic("previous", !0) + 1, m = Math.max(m, 0))), i.rewind && a.isBeginning ? a.slideTo(a.slides.length - 1, e, t, s) : a.slideTo(m, e, t, s)
						},
						slideReset: function (e = this.params.speed, t = !0, s) {
							return this.slideTo(this.activeIndex, e, t, s)
						},
						slideToClosest: function (e = this.params.speed, t = !0, s, a = .5) {
							const i = this;
							let r = i.activeIndex;
							const n = Math.min(i.params.slidesPerGroupSkip, r),
								l = n + Math.floor((r - n) / i.params.slidesPerGroup),
								o = i.rtlTranslate ? i.translate : -i.translate;
							if (o >= i.snapGrid[l]) {
								const e = i.snapGrid[l];
								o - e > (i.snapGrid[l + 1] - e) * a && (r += i.params.slidesPerGroup)
							} else {
								const e = i.snapGrid[l - 1];
								o - e <= (i.snapGrid[l] - e) * a && (r -= i.params.slidesPerGroup)
							}
							return r = Math.max(r, 0), r = Math.min(r, i.slidesGrid.length - 1), i.slideTo(r, e, t, s)
						},
						slideToClickedSlide: function () {
							const e = this,
								{
									params: t,
									$wrapperEl: s
								} = e,
								a = "auto" === t.slidesPerView ? e.slidesPerViewDynamic() : t.slidesPerView;
							let i, r = e.clickedIndex;
							if (t.loop) {
								if (e.animating) return;
								i = parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"), 10), t.centeredSlides ? r < e.loopedSlides - a / 2 || r > e.slides.length - e.loopedSlides + a / 2 ? (e.loopFix(), r = s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(), c((() => {
									e.slideTo(r)
								}))) : e.slideTo(r) : r > e.slides.length - a ? (e.loopFix(), r = s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(), c((() => {
									e.slideTo(r)
								}))) : e.slideTo(r)
							} else e.slideTo(r)
						}
					},
					loop: {
						loopCreate: function () {
							const e = this,
								t = a(),
								{
									params: s,
									$wrapperEl: i
								} = e,
								r = i.children().length > 0 ? d(i.children()[0].parentNode) : i;
							r.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove();
							let n = r.children(`.${s.slideClass}`);
							if (s.loopFillGroupWithBlank) {
								const e = s.slidesPerGroup - n.length % s.slidesPerGroup;
								if (e !== s.slidesPerGroup) {
									for (let a = 0; a < e; a += 1) {
										const e = d(t.createElement("div")).addClass(`${s.slideClass} ${s.slideBlankClass}`);
										r.append(e)
									}
									n = r.children(`.${s.slideClass}`)
								}
							}
							"auto" !== s.slidesPerView || s.loopedSlides || (s.loopedSlides = n.length), e.loopedSlides = Math.ceil(parseFloat(s.loopedSlides || s.slidesPerView, 10)), e.loopedSlides += s.loopAdditionalSlides, e.loopedSlides > n.length && (e.loopedSlides = n.length);
							const l = [],
								o = [];
							n.each(((t, s) => {
								const a = d(t);
								s < e.loopedSlides && o.push(t), s < n.length && s >= n.length - e.loopedSlides && l.push(t), a.attr("data-swiper-slide-index", s)
							}));
							for (let e = 0; e < o.length; e += 1) r.append(d(o[e].cloneNode(!0)).addClass(s.slideDuplicateClass));
							for (let e = l.length - 1; e >= 0; e -= 1) r.prepend(d(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass))
						},
						loopFix: function () {
							const e = this;
							e.emit("beforeLoopFix");
							const {
								activeIndex: t,
								slides: s,
								loopedSlides: a,
								allowSlidePrev: i,
								allowSlideNext: r,
								snapGrid: n,
								rtlTranslate: l
							} = e;
							let o;
							e.allowSlidePrev = !0, e.allowSlideNext = !0;
							const d = -n[t] - e.getTranslate();
							if (t < a) {
								o = s.length - 3 * a + t, o += a;
								e.slideTo(o, 0, !1, !0) && 0 !== d && e.setTranslate((l ? -e.translate : e.translate) - d)
							} else if (t >= s.length - a) {
								o = -s.length + t + a, o += a;
								e.slideTo(o, 0, !1, !0) && 0 !== d && e.setTranslate((l ? -e.translate : e.translate) - d)
							}
							e.allowSlidePrev = i, e.allowSlideNext = r, e.emit("loopFix")
						},
						loopDestroy: function () {
							const {
								$wrapperEl: e,
								params: t,
								slides: s
							} = this;
							e.children(`.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}`).remove(), s.removeAttr("data-swiper-slide-index")
						}
					},
					grabCursor: {
						setGrabCursor: function (e) {
							const t = this;
							if (t.support.touch || !t.params.simulateTouch || t.params.watchOverflow && t.isLocked || t.params.cssMode) return;
							const s = "container" === t.params.touchEventsTarget ? t.el : t.wrapperEl;
							s.style.cursor = "move", s.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab", s.style.cursor = e ? "-moz-grabbin" : "-moz-grab", s.style.cursor = e ? "grabbing" : "grab"
						},
						unsetGrabCursor: function () {
							const e = this;
							e.support.touch || e.params.watchOverflow && e.isLocked || e.params.cssMode || (e["container" === e.params.touchEventsTarget ? "el" : "wrapperEl"].style.cursor = "")
						}
					},
					events: {
						attachEvents: function () {
							const e = this,
								t = a(),
								{
									params: s,
									support: i
								} = e;
							e.onTouchStart = S.bind(e), e.onTouchMove = M.bind(e), e.onTouchEnd = P.bind(e), s.cssMode && (e.onScroll = O.bind(e)), e.onClick = z.bind(e), i.touch && !I && (t.addEventListener("touchstart", L), I = !0), A(e, "on")
						},
						detachEvents: function () {
							A(this, "off")
						}
					},
					breakpoints: {
						setBreakpoint: function () {
							const e = this,
								{
									activeIndex: t,
									initialized: s,
									loopedSlides: a = 0,
									params: i,
									$el: r
								} = e,
								n = i.breakpoints;
							if (!n || n && 0 === Object.keys(n).length) return;
							const l = e.getBreakpoint(n, e.params.breakpointsBase, e.el);
							if (!l || e.currentBreakpoint === l) return;
							const o = (l in n ? n[l] : void 0) || e.originalParams,
								d = D(e, i),
								p = D(e, o),
								c = i.enabled;
							d && !p ? (r.removeClass(`${i.containerModifierClass}grid ${i.containerModifierClass}grid-column`), e.emitContainerClasses()) : !d && p && (r.addClass(`${i.containerModifierClass}grid`), (o.grid.fill && "column" === o.grid.fill || !o.grid.fill && "column" === i.grid.fill) && r.addClass(`${i.containerModifierClass}grid-column`), e.emitContainerClasses());
							const u = o.direction && o.direction !== i.direction,
								h = i.loop && (o.slidesPerView !== i.slidesPerView || u);
							u && s && e.changeDirection(), f(e.params, o);
							const m = e.params.enabled;
							Object.assign(e, {
								allowTouchMove: e.params.allowTouchMove,
								allowSlideNext: e.params.allowSlideNext,
								allowSlidePrev: e.params.allowSlidePrev
							}), c && !m ? e.disable() : !c && m && e.enable(), e.currentBreakpoint = l, e.emit("_beforeBreakpoint", o), h && s && (e.loopDestroy(), e.loopCreate(), e.updateSlides(), e.slideTo(t - a + e.loopedSlides, 0, !1)), e.emit("breakpoint", o)
						},
						getBreakpoint: function (e, t = "window", s) {
							if (!e || "container" === t && !s) return;
							let a = !1;
							const i = r(),
								n = "window" === t ? i.innerHeight : s.clientHeight,
								l = Object.keys(e).map((e => {
									if ("string" == typeof e && 0 === e.indexOf("@")) {
										const t = parseFloat(e.substr(1));
										return {
											value: n * t,
											point: e
										}
									}
									return {
										value: e,
										point: e
									}
								}));
							l.sort(((e, t) => parseInt(e.value, 10) - parseInt(t.value, 10)));
							for (let e = 0; e < l.length; e += 1) {
								const {
									point: r,
									value: n
								} = l[e];
								"window" === t ? i.matchMedia(`(min-width: ${n}px)`).matches && (a = r) : n <= s.clientWidth && (a = r)
							}
							return a || "max"
						}
					},
					checkOverflow: {
						checkOverflow: function () {
							const e = this,
								{
									isLocked: t,
									params: s
								} = e,
								{
									slidesOffsetBefore: a
								} = s;
							if (a) {
								const t = e.slides.length - 1,
									s = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * a;
								e.isLocked = e.size > s
							} else e.isLocked = 1 === e.snapGrid.length;
							!0 === s.allowSlideNext && (e.allowSlideNext = !e.isLocked), !0 === s.allowSlidePrev && (e.allowSlidePrev = !e.isLocked), t && t !== e.isLocked && (e.isEnd = !1), t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock")
						}
					},
					classes: {
						addClasses: function () {
							const e = this,
								{
									classNames: t,
									params: s,
									rtl: a,
									$el: i,
									device: r,
									support: n
								} = e,
								l = function (e, t) {
									const s = [];
									return e.forEach((e => {
										"object" == typeof e ? Object.keys(e).forEach((a => {
											e[a] && s.push(t + a)
										})) : "string" == typeof e && s.push(t + e)
									})), s
								}(["initialized", s.direction, {
									"pointer-events": !n.touch
								}, {
									"free-mode": e.params.freeMode && s.freeMode.enabled
								}, {
									autoheight: s.autoHeight
								}, {
									rtl: a
								}, {
									grid: s.grid && s.grid.rows > 1
								}, {
									"grid-column": s.grid && s.grid.rows > 1 && "column" === s.grid.fill
								}, {
									android: r.android
								}, {
									ios: r.ios
								}, {
									"css-mode": s.cssMode
								}, {
									centered: s.cssMode && s.centeredSlides
								}], s.containerModifierClass);
							t.push(...l), i.addClass([...t].join(" ")), e.emitContainerClasses()
						},
						removeClasses: function () {
							const {
								$el: e,
								classNames: t
							} = this;
							e.removeClass(t.join(" ")), this.emitContainerClasses()
						}
					},
					images: {
						loadImage: function (e, t, s, a, i, n) {
							const l = r();
							let o;

							function p() {
								n && n()
							}
							d(e).parent("picture")[0] || e.complete && i ? p() : t ? (o = new l.Image, o.onload = p, o.onerror = p, a && (o.sizes = a), s && (o.srcset = s), t && (o.src = t)) : p()
						},
						preloadImages: function () {
							const e = this;

							function t() {
								null != e && e && !e.destroyed && (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e.update(), e.emit("imagesReady")))
							}
							e.imagesToLoad = e.$el.find("img");
							for (let s = 0; s < e.imagesToLoad.length; s += 1) {
								const a = e.imagesToLoad[s];
								e.loadImage(a, a.currentSrc || a.getAttribute("src"), a.srcset || a.getAttribute("srcset"), a.sizes || a.getAttribute("sizes"), !0, t)
							}
						}
					}
				},
				X = {};
			class H {
				constructor(...e) {
					let t, s;
					if (1 === e.length && e[0].constructor && "Object" === Object.prototype.toString.call(e[0]).slice(8, -1) ? s = e[0] : [t, s] = e, s || (s = {}), s = f({}, s), t && !s.el && (s.el = t), s.el && d(s.el).length > 1) {
						const e = [];
						return d(s.el).each((t => {
							const a = f({}, s, {
								el: t
							});
							e.push(new H(a))
						})), e
					}
					const a = this;
					a.__swiper__ = !0, a.support = y(), a.device = E({
						userAgent: s.userAgent
					}), a.browser = T(), a.eventsListeners = {}, a.eventsAnyListeners = [], a.modules = [...a.__modules__], s.modules && Array.isArray(s.modules) && a.modules.push(...s.modules);
					const i = {};
					a.modules.forEach((e => {
						e({
							swiper: a,
							extendParams: N(s, i),
							on: a.on.bind(a),
							once: a.once.bind(a),
							off: a.off.bind(a),
							emit: a.emit.bind(a)
						})
					}));
					const r = f({}, G, i);
					return a.params = f({}, r, X, s), a.originalParams = f({}, a.params), a.passedParams = f({}, s), a.params && a.params.on && Object.keys(a.params.on).forEach((e => {
						a.on(e, a.params.on[e])
					})), a.params && a.params.onAny && a.onAny(a.params.onAny), a.$ = d, Object.assign(a, {
						enabled: a.params.enabled,
						el: t,
						classNames: [],
						slides: d(),
						slidesGrid: [],
						snapGrid: [],
						slidesSizesGrid: [],
						isHorizontal: () => "horizontal" === a.params.direction,
						isVertical: () => "vertical" === a.params.direction,
						activeIndex: 0,
						realIndex: 0,
						isBeginning: !0,
						isEnd: !1,
						translate: 0,
						previousTranslate: 0,
						progress: 0,
						velocity: 0,
						animating: !1,
						allowSlideNext: a.params.allowSlideNext,
						allowSlidePrev: a.params.allowSlidePrev,
						touchEvents: function () {
							const e = ["touchstart", "touchmove", "touchend", "touchcancel"],
								t = ["pointerdown", "pointermove", "pointerup"];
							return a.touchEventsTouch = {
								start: e[0],
								move: e[1],
								end: e[2],
								cancel: e[3]
							}, a.touchEventsDesktop = {
								start: t[0],
								move: t[1],
								end: t[2]
							}, a.support.touch || !a.params.simulateTouch ? a.touchEventsTouch : a.touchEventsDesktop
						}(),
						touchEventsData: {
							isTouched: void 0,
							isMoved: void 0,
							allowTouchCallbacks: void 0,
							touchStartTime: void 0,
							isScrolling: void 0,
							currentTranslate: void 0,
							startTranslate: void 0,
							allowThresholdMove: void 0,
							focusableElements: a.params.focusableElements,
							lastClickTime: u(),
							clickTimeout: void 0,
							velocities: [],
							allowMomentumBounce: void 0,
							isTouchEvent: void 0,
							startMoving: void 0
						},
						allowClick: !0,
						allowTouchMove: a.params.allowTouchMove,
						touches: {
							startX: 0,
							startY: 0,
							currentX: 0,
							currentY: 0,
							diff: 0
						},
						imagesToLoad: [],
						imagesLoaded: 0
					}), a.emit("_swiper"), a.params.init && a.init(), a
				}
				enable() {
					const e = this;
					e.enabled || (e.enabled = !0, e.params.grabCursor && e.setGrabCursor(), e.emit("enable"))
				}
				disable() {
					const e = this;
					e.enabled && (e.enabled = !1, e.params.grabCursor && e.unsetGrabCursor(), e.emit("disable"))
				}
				setProgress(e, t) {
					const s = this;
					e = Math.min(Math.max(e, 0), 1);
					const a = s.minTranslate(),
						i = (s.maxTranslate() - a) * e + a;
					s.translateTo(i, void 0 === t ? 0 : t), s.updateActiveIndex(), s.updateSlidesClasses()
				}
				emitContainerClasses() {
					const e = this;
					if (!e.params._emitClasses || !e.el) return;
					const t = e.el.className.split(" ").filter((t => 0 === t.indexOf("swiper") || 0 === t.indexOf(e.params.containerModifierClass)));
					e.emit("_containerClasses", t.join(" "))
				}
				getSlideClasses(e) {
					const t = this;
					return e.className.split(" ").filter((e => 0 === e.indexOf("swiper-slide") || 0 === e.indexOf(t.params.slideClass))).join(" ")
				}
				emitSlidesClasses() {
					const e = this;
					if (!e.params._emitClasses || !e.el) return;
					const t = [];
					e.slides.each((s => {
						const a = e.getSlideClasses(s);
						t.push({
							slideEl: s,
							classNames: a
						}), e.emit("_slideClass", s, a)
					})), e.emit("_slideClasses", t)
				}
				slidesPerViewDynamic(e = "current", t = !1) {
					const {
						params: s,
						slides: a,
						slidesGrid: i,
						slidesSizesGrid: r,
						size: n,
						activeIndex: l
					} = this;
					let o = 1;
					if (s.centeredSlides) {
						let e, t = a[l].swiperSlideSize;
						for (let s = l + 1; s < a.length; s += 1) a[s] && !e && (t += a[s].swiperSlideSize, o += 1, t > n && (e = !0));
						for (let s = l - 1; s >= 0; s -= 1) a[s] && !e && (t += a[s].swiperSlideSize, o += 1, t > n && (e = !0))
					} else if ("current" === e)
						for (let e = l + 1; e < a.length; e += 1) {
							(t ? i[e] + r[e] - i[l] < n : i[e] - i[l] < n) && (o += 1)
						} else
							for (let e = l - 1; e >= 0; e -= 1) {
								i[l] - i[e] < n && (o += 1)
							}
					return o
				}
				update() {
					const e = this;
					if (!e || e.destroyed) return;
					const {
						snapGrid: t,
						params: s
					} = e;

					function a() {
						const t = e.rtlTranslate ? -1 * e.translate : e.translate,
							s = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
						e.setTranslate(s), e.updateActiveIndex(), e.updateSlidesClasses()
					}
					let i;
					s.breakpoints && e.setBreakpoint(), e.updateSize(), e.updateSlides(), e.updateProgress(), e.updateSlidesClasses(), e.params.freeMode && e.params.freeMode.enabled ? (a(), e.params.autoHeight && e.updateAutoHeight()) : (i = ("auto" === e.params.slidesPerView || e.params.slidesPerView > 1) && e.isEnd && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0), i || a()), s.watchOverflow && t !== e.snapGrid && e.checkOverflow(), e.emit("update")
				}
				changeDirection(e, t = !0) {
					const s = this,
						a = s.params.direction;
					return e || (e = "horizontal" === a ? "vertical" : "horizontal"), e === a || "horizontal" !== e && "vertical" !== e || (s.$el.removeClass(`${s.params.containerModifierClass}${a}`).addClass(`${s.params.containerModifierClass}${e}`), s.emitContainerClasses(), s.params.direction = e, s.slides.each((t => {
						"vertical" === e ? t.style.width = "" : t.style.height = ""
					})), s.emit("changeDirection"), t && s.update()), s
				}
				mount(e) {
					const t = this;
					if (t.mounted) return !0;
					const s = d(e || t.params.el);
					if (!(e = s[0])) return !1;
					e.swiper = t;
					const i = () => `.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;
					let r = (() => {
						if (e && e.shadowRoot && e.shadowRoot.querySelector) {
							const t = d(e.shadowRoot.querySelector(i()));
							return t.children = e => s.children(e), t
						}
						return s.children(i())
					})();
					if (0 === r.length && t.params.createElements) {
						const e = a().createElement("div");
						r = d(e), e.className = t.params.wrapperClass, s.append(e), s.children(`.${t.params.slideClass}`).each((e => {
							r.append(e)
						}))
					}
					return Object.assign(t, {
						$el: s,
						el: e,
						$wrapperEl: r,
						wrapperEl: r[0],
						mounted: !0,
						rtl: "rtl" === e.dir.toLowerCase() || "rtl" === s.css("direction"),
						rtlTranslate: "horizontal" === t.params.direction && ("rtl" === e.dir.toLowerCase() || "rtl" === s.css("direction")),
						wrongRTL: "-webkit-box" === r.css("display")
					}), !0
				}
				init(e) {
					const t = this;
					if (t.initialized) return t;
					return !1 === t.mount(e) || (t.emit("beforeInit"), t.params.breakpoints && t.setBreakpoint(), t.addClasses(), t.params.loop && t.loopCreate(), t.updateSize(), t.updateSlides(), t.params.watchOverflow && t.checkOverflow(), t.params.grabCursor && t.enabled && t.setGrabCursor(), t.params.preloadImages && t.preloadImages(), t.params.loop ? t.slideTo(t.params.initialSlide + t.loopedSlides, 0, t.params.runCallbacksOnInit, !1, !0) : t.slideTo(t.params.initialSlide, 0, t.params.runCallbacksOnInit, !1, !0), t.attachEvents(), t.initialized = !0, t.emit("init"), t.emit("afterInit")), t
				}
				destroy(e = !0, t = !0) {
					const s = this,
						{
							params: a,
							$el: i,
							$wrapperEl: r,
							slides: n
						} = s;
					return void 0 === s.params || s.destroyed || (s.emit("beforeDestroy"), s.initialized = !1, s.detachEvents(), a.loop && s.loopDestroy(), t && (s.removeClasses(), i.removeAttr("style"), r.removeAttr("style"), n && n.length && n.removeClass([a.slideVisibleClass, a.slideActiveClass, a.slideNextClass, a.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")), s.emit("destroy"), Object.keys(s.eventsListeners).forEach((e => {
						s.off(e)
					})), !1 !== e && (s.$el[0].swiper = null, function (e) {
						const t = e;
						Object.keys(t).forEach((e => {
							try {
								t[e] = null
							} catch (e) {}
							try {
								delete t[e]
							} catch (e) {}
						}))
					}(s)), s.destroyed = !0), null
				}
				static extendDefaults(e) {
					f(X, e)
				}
				static get extendedDefaults() {
					return X
				}
				static get defaults() {
					return G
				}
				static installModule(e) {
					H.prototype.__modules__ || (H.prototype.__modules__ = []);
					const t = H.prototype.__modules__;
					"function" == typeof e && t.indexOf(e) < 0 && t.push(e)
				}
				static use(e) {
					return Array.isArray(e) ? (e.forEach((e => H.installModule(e))), H) : (H.installModule(e), H)
				}
			}

			function Y(e, t, s, i) {
				const r = a();
				return e.params.createElements && Object.keys(i).forEach((a => {
					if (!s[a] && !0 === s.auto) {
						let n = e.$el.children(`.${i[a]}`)[0];
						n || (n = r.createElement("div"), n.className = i[a], e.$el.append(n)), s[a] = n, t[a] = n
					}
				})), s
			}

			function W(e = "") {
				return `.${e.trim().replace(/([\.:!\/])/g,"\\$1").replace(/ /g,".")}`
			}

			function R(e) {
				const t = this,
					{
						$wrapperEl: s,
						params: a
					} = t;
				if (a.loop && t.loopDestroy(), "object" == typeof e && "length" in e)
					for (let t = 0; t < e.length; t += 1) e[t] && s.append(e[t]);
				else s.append(e);
				a.loop && t.loopCreate(), a.observer || t.update()
			}

			function j(e) {
				const t = this,
					{
						params: s,
						$wrapperEl: a,
						activeIndex: i
					} = t;
				s.loop && t.loopDestroy();
				let r = i + 1;
				if ("object" == typeof e && "length" in e) {
					for (let t = 0; t < e.length; t += 1) e[t] && a.prepend(e[t]);
					r = i + e.length
				} else a.prepend(e);
				s.loop && t.loopCreate(), s.observer || t.update(), t.slideTo(r, 0, !1)
			}

			function _(e, t) {
				const s = this,
					{
						$wrapperEl: a,
						params: i,
						activeIndex: r
					} = s;
				let n = r;
				i.loop && (n -= s.loopedSlides, s.loopDestroy(), s.slides = a.children(`.${i.slideClass}`));
				const l = s.slides.length;
				if (e <= 0) return void s.prependSlide(t);
				if (e >= l) return void s.appendSlide(t);
				let o = n > e ? n + 1 : n;
				const d = [];
				for (let t = l - 1; t >= e; t -= 1) {
					const e = s.slides.eq(t);
					e.remove(), d.unshift(e)
				}
				if ("object" == typeof t && "length" in t) {
					for (let e = 0; e < t.length; e += 1) t[e] && a.append(t[e]);
					o = n > e ? n + t.length : n
				} else a.append(t);
				for (let e = 0; e < d.length; e += 1) a.append(d[e]);
				i.loop && s.loopCreate(), i.observer || s.update(), i.loop ? s.slideTo(o + s.loopedSlides, 0, !1) : s.slideTo(o, 0, !1)
			}

			function V(e) {
				const t = this,
					{
						params: s,
						$wrapperEl: a,
						activeIndex: i
					} = t;
				let r = i;
				s.loop && (r -= t.loopedSlides, t.loopDestroy(), t.slides = a.children(`.${s.slideClass}`));
				let n, l = r;
				if ("object" == typeof e && "length" in e) {
					for (let s = 0; s < e.length; s += 1) n = e[s], t.slides[n] && t.slides.eq(n).remove(), n < l && (l -= 1);
					l = Math.max(l, 0)
				} else n = e, t.slides[n] && t.slides.eq(n).remove(), n < l && (l -= 1), l = Math.max(l, 0);
				s.loop && t.loopCreate(), s.observer || t.update(), s.loop ? t.slideTo(l + t.loopedSlides, 0, !1) : t.slideTo(l, 0, !1)
			}

			function q() {
				const e = this,
					t = [];
				for (let s = 0; s < e.slides.length; s += 1) t.push(s);
				e.removeSlide(t)
			}

			function F(e) {
				const {
					effect: t,
					swiper: s,
					on: a,
					setTranslate: i,
					setTransition: r,
					overwriteParams: n,
					perspective: l
				} = e;
				a("beforeInit", (() => {
					if (s.params.effect !== t) return;
					s.classNames.push(`${s.params.containerModifierClass}${t}`), l && l() && s.classNames.push(`${s.params.containerModifierClass}3d`);
					const e = n ? n() : {};
					Object.assign(s.params, e), Object.assign(s.originalParams, e)
				})), a("setTranslate", (() => {
					s.params.effect === t && i()
				})), a("setTransition", ((e, a) => {
					s.params.effect === t && r(a)
				}))
			}

			function U(e, t) {
				return e.transformEl ? t.find(e.transformEl).css({
					"backface-visibility": "hidden",
					"-webkit-backface-visibility": "hidden"
				}) : t
			}

			function K({
				swiper: e,
				duration: t,
				transformEl: s,
				allSlides: a
			}) {
				const {
					slides: i,
					activeIndex: r,
					$wrapperEl: n
				} = e;
				if (e.params.virtualTranslate && 0 !== t) {
					let t, l = !1;
					t = a ? s ? i.find(s) : i : s ? i.eq(r).find(s) : i.eq(r), t.transitionEnd((() => {
						if (l) return;
						if (!e || e.destroyed) return;
						l = !0, e.animating = !1;
						const t = ["webkitTransitionEnd", "transitionend"];
						for (let e = 0; e < t.length; e += 1) n.trigger(t[e])
					}))
				}
			}

			function Z(e, t, s) {
				const a = "swiper-slide-shadow" + (s ? `-${s}` : ""),
					i = e.transformEl ? t.find(e.transformEl) : t;
				let r = i.children(`.${a}`);
				return r.length || (r = d(`<div class="swiper-slide-shadow${s?`-${s}`:""}"></div>`),i.append(r)),r}Object.keys(B).forEach((e=>{Object.keys(B[e]).forEach((t=>{H.prototype[t]=B[e][t]}))})),H.use([function({swiper:e,on:t,emit:s}){const a=r();let i=null;const n=()=>{e&&!e.destroyed&&e.initialized&&(s("beforeResize"),s("resize"))},l=()=>{e&&!e.destroyed&&e.initialized&&s("orientationchange")};t("init",(()=>{e.params.resizeObserver&&void 0!==a.ResizeObserver?e&&!e.destroyed&&e.initialized&&(i=new ResizeObserver((t=>{const{width:s,height:a}=e;let i=s,r=a;t.forEach((({contentBoxSize:t,contentRect:s,target:a})=>{a&&a!==e.el||(i=s?s.width:(t[0]||t).inlineSize,r=s?s.height:(t[0]||t).blockSize)})),i===s&&r===a||n()})),i.observe(e.el)):(a.addEventListener("resize",n),a.addEventListener("orientationchange",l))})),t("destroy",(()=>{i&&i.unobserve&&e.el&&(i.unobserve(e.el),i=null),a.removeEventListener("resize",n),a.removeEventListener("orientationchange",l)}))},function({swiper:e,extendParams:t,on:s,emit:a}){const i=[],n=r(),l=(e,t={})=>{const s=new(n.MutationObserver||n.WebkitMutationObserver)((e=>{if(1===e.length)return void a("observerUpdate",e[0]);const t=function(){a("observerUpdate",e[0])};n.requestAnimationFrame?n.requestAnimationFrame(t):n.setTimeout(t,0)}));s.observe(e,{attributes:void 0===t.attributes||t.attributes,childList:void 0===t.childList||t.childList,characterData:void 0===t.characterData||t.characterData}),i.push(s)};t({observer:!1,observeParents:!1,observeSlideChildren:!1}),s("init",(()=>{if(e.params.observer){if(e.params.observeParents){const t=e.$el.parents();for(let e=0;e<t.length;e+=1)l(t[e])}l(e.$el[0],{childList:e.params.observeSlideChildren}),l(e.$wrapperEl[0],{attributes:!1})}})),s("destroy",(()=>{i.forEach((e=>{e.disconnect()})),i.splice(0,i.length)}))}]);const J=[function({swiper:e,extendParams:t,on:s}){let a;function i(t,s){const a=e.params.virtual;if(a.cache&&e.virtual.cache[s])return e.virtual.cache[s];const i=a.renderSlide?d(a.renderSlide.call(e,t,s)):d(`<div class="${e.params.slideClass}" data-swiper-slide-index="${s}">${t}</div>`);return i.attr("data-swiper-slide-index")||i.attr("data-swiper-slide-index",s),a.cache&&(e.virtual.cache[s]=i),i}function r(t){const{slidesPerView:s,slidesPerGroup:a,centeredSlides:r}=e.params,{addSlidesBefore:n,addSlidesAfter:l}=e.params.virtual,{from:o,to:d,slides:p,slidesGrid:c,offset:u}=e.virtual;e.params.cssMode||e.updateActiveIndex();const h=e.activeIndex||0;let m,f,g;m=e.rtlTranslate?"right":e.isHorizontal()?"left":"top",r?(f=Math.floor(s/2)+a+l,g=Math.floor(s/2)+a+n):(f=s+(a-1)+l,g=a+n);const v=Math.max((h||0)-g,0),w=Math.min((h||0)+f,p.length-1),b=(e.slidesGrid[v]||0)-(e.slidesGrid[0]||0);function x(){e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.lazy&&e.params.lazy.enabled&&e.lazy.load()}if(Object.assign(e.virtual,{from:v,to:w,offset:b,slidesGrid:e.slidesGrid}),o===v&&d===w&&!t)return e.slidesGrid!==c&&b!==u&&e.slides.css(m,`${b}px`),void e.updateProgress();if(e.params.virtual.renderExternal)return e.params.virtual.renderExternal.call(e,{offset:b,from:v,to:w,slides:function(){const e=[];for(let t=v;t<=w;t+=1)e.push(p[t]);return e}()}),void(e.params.virtual.renderExternalUpdate&&x());const y=[],E=[];if(t)e.$wrapperEl.find(`.${e.params.slideClass}`).remove();else for(let t=o;t<=d;t+=1)(t<v||t>w)&&e.$wrapperEl.find(`.${e.params.slideClass}[data-swiper-slide-index="${t}"]`).remove();for(let e=0;e<p.length;e+=1)e>=v&&e<=w&&(void 0===d||t?E.push(e):(e>d&&E.push(e),e<o&&y.push(e)));E.forEach((t=>{e.$wrapperEl.append(i(p[t],t))})),y.sort(((e,t)=>t-e)).forEach((t=>{e.$wrapperEl.prepend(i(p[t],t))})),e.$wrapperEl.children(".swiper-slide").css(m,`${b}px`),x()}t({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}}),e.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]},s("beforeInit",(()=>{e.params.virtual.enabled&&(e.virtual.slides=e.params.virtual.slides,e.classNames.push(`${e.params.containerModifierClass}virtual`),e.params.watchSlidesProgress=!0,e.originalParams.watchSlidesProgress=!0,e.params.initialSlide||r())})),s("setTranslate",(()=>{e.params.virtual.enabled&&(e.params.cssMode&&!e._immediateVirtual?(clearTimeout(a),a=setTimeout((()=>{r()}),100)):r())})),s("init update resize",(()=>{e.params.virtual.enabled&&e.params.cssMode&&g(e.wrapperEl,"--swiper-virtual-size",`${e.virtualSize}px`)})),Object.assign(e.virtual,{appendSlide:function(t){if("object"==typeof t&&"length"in t)for(let s=0;s<t.length;s+=1)t[s]&&e.virtual.slides.push(t[s]);else e.virtual.slides.push(t);r(!0)},prependSlide:function(t){const s=e.activeIndex;let a=s+1,i=1;if(Array.isArray(t)){for(let s=0;s<t.length;s+=1)t[s]&&e.virtual.slides.unshift(t[s]);a=s+t.length,i=t.length}else e.virtual.slides.unshift(t);if(e.params.virtual.cache){const t=e.virtual.cache,s={};Object.keys(t).forEach((e=>{const a=t[e],r=a.attr("data-swiper-slide-index");r&&a.attr("data-swiper-slide-index",parseInt(r,10)+i),s[parseInt(e,10)+i]=a})),e.virtual.cache=s}r(!0),e.slideTo(a,0)},removeSlide:function(t){if(null==t)return;let s=e.activeIndex;if(Array.isArray(t))for(let a=t.length-1;a>=0;a-=1)e.virtual.slides.splice(t[a],1),e.params.virtual.cache&&delete e.virtual.cache[t[a]],t[a]<s&&(s-=1),s=Math.max(s,0);else e.virtual.slides.splice(t,1),e.params.virtual.cache&&delete e.virtual.cache[t],t<s&&(s-=1),s=Math.max(s,0);r(!0),e.slideTo(s,0)},removeAllSlides:function(){e.virtual.slides=[],e.params.virtual.cache&&(e.virtual.cache={}),r(!0),e.slideTo(0,0)},update:r})},function({swiper:e,extendParams:t,on:s,emit:i}){const n=a(),l=r();function o(t){if(!e.enabled)return;const{rtlTranslate:s}=e;let a=t;a.originalEvent&&(a=a.originalEvent);const r=a.keyCode||a.charCode,o=e.params.keyboard.pageUpDown,d=o&&33===r,p=o&&34===r,c=37===r,u=39===r,h=38===r,m=40===r;if(!e.allowSlideNext&&(e.isHorizontal()&&u||e.isVertical()&&m||p))return!1;if(!e.allowSlidePrev&&(e.isHorizontal()&&c||e.isVertical()&&h||d))return!1;if(!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey||n.activeElement&&n.activeElement.nodeName&&("input"===n.activeElement.nodeName.toLowerCase()||"textarea"===n.activeElement.nodeName.toLowerCase()))){if(e.params.keyboard.onlyInViewport&&(d||p||c||u||h||m)){let t=!1;if(e.$el.parents(`.${e.params.slideClass}`).length>0&&0===e.$el.parents(`.${e.params.slideActiveClass}`).length)return;const a=e.$el,i=a[0].clientWidth,r=a[0].clientHeight,n=l.innerWidth,o=l.innerHeight,d=e.$el.offset();s&&(d.left-=e.$el[0].scrollLeft);const p=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let e=0;e<p.length;e+=1){const s=p[e];if(s[0]>=0&&s[0]<=n&&s[1]>=0&&s[1]<=o){if(0===s[0]&&0===s[1])continue;t=!0}}if(!t)return}e.isHorizontal()?((d||p||c||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((p||u)&&!s||(d||c)&&s)&&e.slideNext(),((d||c)&&!s||(p||u)&&s)&&e.slidePrev()):((d||p||h||m)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(p||m)&&e.slideNext(),(d||h)&&e.slidePrev()),i("keyPress",r)}}function p(){e.keyboard.enabled||(d(n).on("keydown",o),e.keyboard.enabled=!0)}function c(){e.keyboard.enabled&&(d(n).off("keydown",o),e.keyboard.enabled=!1)}e.keyboard={enabled:!1},t({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),s("init",(()=>{e.params.keyboard.enabled&&p()})),s("destroy",(()=>{e.keyboard.enabled&&c()})),Object.assign(e.keyboard,{enable:p,disable:c})},function({swiper:e,extendParams:t,on:s,emit:a}){const i=r();let n;t({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null}}),e.mousewheel={enabled:!1};let l,o=u();const p=[];function h(){e.enabled&&(e.mouseEntered=!0)}function m(){e.enabled&&(e.mouseEntered=!1)}function f(t){return!(e.params.mousewheel.thresholdDelta&&t.delta<e.params.mousewheel.thresholdDelta)&&(!(e.params.mousewheel.thresholdTime&&u()-o<e.params.mousewheel.thresholdTime)&&(t.delta>=6&&u()-o<60||(t.direction<0?e.isEnd&&!e.params.loop||e.animating||(e.slideNext(),a("scroll",t.raw)):e.isBeginning&&!e.params.loop||e.animating||(e.slidePrev(),a("scroll",t.raw)),o=(new i.Date).getTime(),!1)))}function g(t){let s=t,i=!0;if(!e.enabled)return;const r=e.params.mousewheel;e.params.cssMode&&s.preventDefault();let o=e.$el;if("container"!==e.params.mousewheel.eventsTarget&&(o=d(e.params.mousewheel.eventsTarget)),!e.mouseEntered&&!o[0].contains(s.target)&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let h=0;const m=e.rtlTranslate?-1:1,g=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(e.isHorizontal()){if(!(Math.abs(g.pixelX)>Math.abs(g.pixelY)))return!0;h=-g.pixelX*m}else{if(!(Math.abs(g.pixelY)>Math.abs(g.pixelX)))return!0;h=-g.pixelY}else h=Math.abs(g.pixelX)>Math.abs(g.pixelY)?-g.pixelX*m:-g.pixelY;if(0===h)return!0;r.invert&&(h=-h);let v=e.getTranslate()+h*r.sensitivity;if(v>=e.minTranslate()&&(v=e.minTranslate()),v<=e.maxTranslate()&&(v=e.maxTranslate()),i=!!e.params.loop||!(v===e.minTranslate()||v===e.maxTranslate()),i&&e.params.nested&&s.stopPropagation(),e.params.freeMode&&e.params.freeMode.enabled){const t={time:u(),delta:Math.abs(h),direction:Math.sign(h)},i=l&&t.time<l.time+500&&t.delta<=l.delta&&t.direction===l.direction;if(!i){l=void 0,e.params.loop&&e.loopFix();let o=e.getTranslate()+h*r.sensitivity;const d=e.isBeginning,u=e.isEnd;if(o>=e.minTranslate()&&(o=e.minTranslate()),o<=e.maxTranslate()&&(o=e.maxTranslate()),e.setTransition(0),e.setTranslate(o),e.updateProgress(),e.updateActiveIndex(),e.updateSlidesClasses(),(!d&&e.isBeginning||!u&&e.isEnd)&&e.updateSlidesClasses(),e.params.freeMode.sticky){clearTimeout(n),n=void 0,p.length>=15&&p.shift();const s=p.length?p[p.length-1]:void 0,a=p[0];if(p.push(t),s&&(t.delta>s.delta||t.direction!==s.direction))p.splice(0);else if(p.length>=15&&t.time-a.time<500&&a.delta-t.delta>=1&&t.delta<=6){const s=h>0?.8:.2;l=t,p.splice(0),n=c((()=>{e.slideToClosest(e.params.speed,!0,void 0,s)}),0)}n||(n=c((()=>{l=t,p.splice(0),e.slideToClosest(e.params.speed,!0,void 0,.5)}),500))}if(i||a("scroll",s),e.params.autoplay&&e.params.autoplayDisableOnInteraction&&e.autoplay.stop(),o===e.minTranslate()||o===e.maxTranslate())return!0}}else{const s={time:u(),delta:Math.abs(h),direction:Math.sign(h),raw:t};p.length>=2&&p.shift();const a=p.length?p[p.length-1]:void 0;if(p.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&f(s):f(s),function(t){const s=e.params.mousewheel;if(t.direction<0){if(e.isEnd&&!e.params.loop&&s.releaseOnEdges)return!0}else if(e.isBeginning&&!e.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function v(t){let s=e.$el;"container"!==e.params.mousewheel.eventsTarget&&(s=d(e.params.mousewheel.eventsTarget)),s[t]("mouseenter",h),s[t]("mouseleave",m),s[t]("wheel",g)}function w(){return e.params.cssMode?(e.wrapperEl.removeEventListener("wheel",g),!0):!e.mousewheel.enabled&&(v("on"),e.mousewheel.enabled=!0,!0)}function b(){return e.params.cssMode?(e.wrapperEl.addEventListener(event,g),!0):!!e.mousewheel.enabled&&(v("off"),e.mousewheel.enabled=!1,!0)}s("init",(()=>{!e.params.mousewheel.enabled&&e.params.cssMode&&b(),e.params.mousewheel.enabled&&w()})),s("destroy",(()=>{e.params.cssMode&&w(),e.mousewheel.enabled&&b()})),Object.assign(e.mousewheel,{enable:w,disable:b})},function({swiper:e,extendParams:t,on:s,emit:a}){function i(t){let s;return t&&(s=d(t),e.params.uniqueNavElements&&"string"==typeof t&&s.length>1&&1===e.$el.find(t).length&&(s=e.$el.find(t))),s}function r(t,s){const a=e.params.navigation;t&&t.length>0&&(t[s?"addClass":"removeClass"](a.disabledClass),t[0]&&"BUTTON"===t[0].tagName&&(t[0].disabled=s),e.params.watchOverflow&&e.enabled&&t[e.isLocked?"addClass":"removeClass"](a.lockClass))}function n(){if(e.params.loop)return;const{$nextEl:t,$prevEl:s}=e.navigation;r(s,e.isBeginning&&!e.params.rewind),r(t,e.isEnd&&!e.params.rewind)}function l(t){t.preventDefault(),(!e.isBeginning||e.params.loop||e.params.rewind)&&e.slidePrev()}function o(t){t.preventDefault(),(!e.isEnd||e.params.loop||e.params.rewind)&&e.slideNext()}function p(){const t=e.params.navigation;if(e.params.navigation=Y(e,e.originalParams.navigation,e.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!t.nextEl&&!t.prevEl)return;const s=i(t.nextEl),a=i(t.prevEl);s&&s.length>0&&s.on("click",o),a&&a.length>0&&a.on("click",l),Object.assign(e.navigation,{$nextEl:s,nextEl:s&&s[0],$prevEl:a,prevEl:a&&a[0]}),e.enabled||(s&&s.addClass(t.lockClass),a&&a.addClass(t.lockClass))}function c(){const{$nextEl:t,$prevEl:s}=e.navigation;t&&t.length&&(t.off("click",o),t.removeClass(e.params.navigation.disabledClass)),s&&s.length&&(s.off("click",l),s.removeClass(e.params.navigation.disabledClass))}t({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}}),e.navigation={nextEl:null,$nextEl:null,prevEl:null,$prevEl:null},s("init",(()=>{p(),n()})),s("toEdge fromEdge lock unlock",(()=>{n()})),s("destroy",(()=>{c()})),s("enable disable",(()=>{const{$nextEl:t,$prevEl:s}=e.navigation;t&&t[e.enabled?"removeClass":"addClass"](e.params.navigation.lockClass),s&&s[e.enabled?"removeClass":"addClass"](e.params.navigation.lockClass)})),s("click",((t,s)=>{const{$nextEl:i,$prevEl:r}=e.navigation,n=s.target;if(e.params.navigation.hideOnClick&&!d(n).is(r)&&!d(n).is(i)){if(e.pagination&&e.params.pagination&&e.params.pagination.clickable&&(e.pagination.el===n||e.pagination.el.contains(n)))return;let t;i?t=i.hasClass(e.params.navigation.hiddenClass):r&&(t=r.hasClass(e.params.navigation.hiddenClass)),a(!0===t?"navigationShow":"navigationHide"),i&&i.toggleClass(e.params.navigation.hiddenClass),r&&r.toggleClass(e.params.navigation.hiddenClass)}})),Object.assign(e.navigation,{update:n,init:p,destroy:c})},function({swiper:e,extendParams:t,on:s,emit:a}){const i="swiper-pagination";let r;t({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${i}-bullet`,bulletActiveClass:`${i}-bullet-active`,modifierClass:`${i}-`,currentClass:`${i}-current`,totalClass:`${i}-total`,hiddenClass:`${i}-hidden`,progressbarFillClass:`${i}-progressbar-fill`,progressbarOppositeClass:`${i}-progressbar-opposite`,clickableClass:`${i}-clickable`,lockClass:`${i}-lock`,horizontalClass:`${i}-horizontal`,verticalClass:`${i}-vertical`}}),e.pagination={el:null,$el:null,bullets:[]};let n=0;function l(){return!e.params.pagination.el||!e.pagination.el||!e.pagination.$el||0===e.pagination.$el.length}function o(t,s){const{bulletActiveClass:a}=e.params.pagination;t[s]().addClass(`${a}-${s}`)[s]().addClass(`${a}-${s}-${s}`)}function p(){const t=e.rtl,s=e.params.pagination;if(l())return;const i=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length,p=e.pagination.$el;let c;const u=e.params.loop?Math.ceil((i-2*e.loopedSlides)/e.params.slidesPerGroup):e.snapGrid.length;if(e.params.loop?(c=Math.ceil((e.activeIndex-e.loopedSlides)/e.params.slidesPerGroup),c>i-1-2*e.loopedSlides&&(c-=i-2*e.loopedSlides),c>u-1&&(c-=u),c<0&&"bullets"!==e.params.paginationType&&(c=u+c)):c=void 0!==e.snapIndex?e.snapIndex:e.activeIndex||0,"bullets"===s.type&&e.pagination.bullets&&e.pagination.bullets.length>0){const a=e.pagination.bullets;let i,l,u;if(s.dynamicBullets&&(r=a.eq(0)[e.isHorizontal()?"outerWidth":"outerHeight"](!0),p.css(e.isHorizontal()?"width":"height",r*(s.dynamicMainBullets+4)+"px"),s.dynamicMainBullets>1&&void 0!==e.previousIndex&&(n+=c-(e.previousIndex-e.loopedSlides||0),n>s.dynamicMainBullets-1?n=s.dynamicMainBullets-1:n<0&&(n=0)),i=Math.max(c-n,0),l=i+(Math.min(a.length,s.dynamicMainBullets)-1),u=(l+i)/2),a.removeClass(["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`)).join(" ")),p.length>1)a.each((e=>{const t=d(e),a=t.index();a===c&&t.addClass(s.bulletActiveClass),s.dynamicBullets&&(a>=i&&a<=l&&t.addClass(`${s.bulletActiveClass}-main`),a===i&&o(t,"prev"),a===l&&o(t,"next"))}));else{const t=a.eq(c),r=t.index();if(t.addClass(s.bulletActiveClass),s.dynamicBullets){const t=a.eq(i),n=a.eq(l);for(let e=i;e<=l;e+=1)a.eq(e).addClass(`${s.bulletActiveClass}-main`);if(e.params.loop)if(r>=a.length){for(let e=s.dynamicMainBullets;e>=0;e-=1)a.eq(a.length-e).addClass(`${s.bulletActiveClass}-main`);a.eq(a.length-s.dynamicMainBullets-1).addClass(`${s.bulletActiveClass}-prev`)}else o(t,"prev"),o(n,"next");else o(t,"prev"),o(n,"next")}}if(s.dynamicBullets){const i=Math.min(a.length,s.dynamicMainBullets+4),n=(r*i-r)/2-u*r,l=t?"right":"left";a.css(e.isHorizontal()?l:"top",`${n}px`)}}if("fraction"===s.type&&(p.find(W(s.currentClass)).text(s.formatFractionCurrent(c+1)),p.find(W(s.totalClass)).text(s.formatFractionTotal(u))),"progressbar"===s.type){let t;t=s.progressbarOpposite?e.isHorizontal()?"vertical":"horizontal":e.isHorizontal()?"horizontal":"vertical";const a=(c+1)/u;let i=1,r=1;"horizontal"===t?i=a:r=a,p.find(W(s.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${i}) scaleY(${r})`).transition(e.params.speed)}"custom"===s.type&&s.renderCustom?(p.html(s.renderCustom(e,c+1,u)),a("paginationRender",p[0])):a("paginationUpdate",p[0]),e.params.watchOverflow&&e.enabled&&p[e.isLocked?"addClass":"removeClass"](s.lockClass)}function c(){const t=e.params.pagination;if(l())return;const s=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length,i=e.pagination.$el;let r="";if("bullets"===t.type){let a=e.params.loop?Math.ceil((s-2*e.loopedSlides)/e.params.slidesPerGroup):e.snapGrid.length;e.params.freeMode&&e.params.freeMode.enabled&&!e.params.loop&&a>s&&(a=s);for(let s=0;s<a;s+=1)t.renderBullet?r+=t.renderBullet.call(e,s,t.bulletClass):r+=`<${t.bulletElement} class="${t.bulletClass}"></${t.bulletElement}>`;i.html(r),e.pagination.bullets=i.find(W(t.bulletClass))}"fraction"===t.type&&(r=t.renderFraction?t.renderFraction.call(e,t.currentClass,t.totalClass):`<span class="${t.currentClass}"></span> / <span class="${t.totalClass}"></span>`,i.html(r)),"progressbar"===t.type&&(r=t.renderProgressbar?t.renderProgressbar.call(e,t.progressbarFillClass):`<span class="${t.progressbarFillClass}"></span>`,i.html(r)),"custom"!==t.type&&a("paginationRender",e.pagination.$el[0])}function u(){e.params.pagination=Y(e,e.originalParams.pagination,e.params.pagination,{el:"swiper-pagination"});const t=e.params.pagination;if(!t.el)return;let s=d(t.el);0!==s.length&&(e.params.uniqueNavElements&&"string"==typeof t.el&&s.length>1&&(s=e.$el.find(t.el),s.length>1&&(s=s.filter((t=>d(t).parents(".swiper")[0]===e.el)))),"bullets"===t.type&&t.clickable&&s.addClass(t.clickableClass),s.addClass(t.modifierClass+t.type),s.addClass(t.modifierClass+e.params.direction),"bullets"===t.type&&t.dynamicBullets&&(s.addClass(`${t.modifierClass}${t.type}-dynamic`),n=0,t.dynamicMainBullets<1&&(t.dynamicMainBullets=1)),"progressbar"===t.type&&t.progressbarOpposite&&s.addClass(t.progressbarOppositeClass),t.clickable&&s.on("click",W(t.bulletClass),(function(t){t.preventDefault();let s=d(this).index()*e.params.slidesPerGroup;e.params.loop&&(s+=e.loopedSlides),e.slideTo(s)})),Object.assign(e.pagination,{$el:s,el:s[0]}),e.enabled||s.addClass(t.lockClass))}function h(){const t=e.params.pagination;if(l())return;const s=e.pagination.$el;s.removeClass(t.hiddenClass),s.removeClass(t.modifierClass+t.type),s.removeClass(t.modifierClass+e.params.direction),e.pagination.bullets&&e.pagination.bullets.removeClass&&e.pagination.bullets.removeClass(t.bulletActiveClass),t.clickable&&s.off("click",W(t.bulletClass))}s("init",(()=>{u(),c(),p()})),s("activeIndexChange",(()=>{(e.params.loop||void 0===e.snapIndex)&&p()})),s("snapIndexChange",(()=>{e.params.loop||p()})),s("slidesLengthChange",(()=>{e.params.loop&&(c(),p())})),s("snapGridLengthChange",(()=>{e.params.loop||(c(),p())})),s("destroy",(()=>{h()})),s("enable disable",(()=>{const{$el:t}=e.pagination;t&&t[e.enabled?"removeClass":"addClass"](e.params.pagination.lockClass)})),s("lock unlock",(()=>{p()})),s("click",((t,s)=>{const i=s.target,{$el:r}=e.pagination;if(e.params.pagination.el&&e.params.pagination.hideOnClick&&r.length>0&&!d(i).hasClass(e.params.pagination.bulletClass)){if(e.navigation&&(e.navigation.nextEl&&i===e.navigation.nextEl||e.navigation.prevEl&&i===e.navigation.prevEl))return;const t=r.hasClass(e.params.pagination.hiddenClass);a(!0===t?"paginationShow":"paginationHide"),r.toggleClass(e.params.pagination.hiddenClass)}})),Object.assign(e.pagination,{render:c,update:p,init:u,destroy:h})},function({swiper:e,extendParams:t,on:s,emit:i}){const r=a();let n,l,o,p,u=!1,h=null,m=null;function f(){if(!e.params.scrollbar.el||!e.scrollbar.el)return;const{scrollbar:t,rtlTranslate:s,progress:a}=e,{$dragEl:i,$el:r}=t,n=e.params.scrollbar;let d=l,p=(o-l)*a;s?(p=-p,p>0?(d=l-p,p=0):-p+l>o&&(d=o+p)):p<0?(d=l+p,p=0):p+l>o&&(d=o-p),e.isHorizontal()?(i.transform(`translate3d(${p}px, 0, 0)`),i[0].style.width=`${d}px`):(i.transform(`translate3d(0px, ${p}px, 0)`),i[0].style.height=`${d}px`),n.hide&&(clearTimeout(h),r[0].style.opacity=1,h=setTimeout((()=>{r[0].style.opacity=0,r.transition(400)}),1e3))}function g(){if(!e.params.scrollbar.el||!e.scrollbar.el)return;const{scrollbar:t}=e,{$dragEl:s,$el:a}=t;s[0].style.width="",s[0].style.height="",o=e.isHorizontal()?a[0].offsetWidth:a[0].offsetHeight,p=e.size/(e.virtualSize+e.params.slidesOffsetBefore-(e.params.centeredSlides?e.snapGrid[0]:0)),l="auto"===e.params.scrollbar.dragSize?o*p:parseInt(e.params.scrollbar.dragSize,10),e.isHorizontal()?s[0].style.width=`${l}px`:s[0].style.height=`${l}px`,a[0].style.display=p>=1?"none":"",e.params.scrollbar.hide&&(a[0].style.opacity=0),e.params.watchOverflow&&e.enabled&&t.$el[e.isLocked?"addClass":"removeClass"](e.params.scrollbar.lockClass)}function v(t){return e.isHorizontal()?"touchstart"===t.type||"touchmove"===t.type?t.targetTouches[0].clientX:t.clientX:"touchstart"===t.type||"touchmove"===t.type?t.targetTouches[0].clientY:t.clientY}function w(t){const{scrollbar:s,rtlTranslate:a}=e,{$el:i}=s;let r;r=(v(t)-i.offset()[e.isHorizontal()?"left":"top"]-(null!==n?n:l/2))/(o-l),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const d=e.minTranslate()+(e.maxTranslate()-e.minTranslate())*r;e.updateProgress(d),e.setTranslate(d),e.updateActiveIndex(),e.updateSlidesClasses()}function b(t){const s=e.params.scrollbar,{scrollbar:a,$wrapperEl:r}=e,{$el:l,$dragEl:o}=a;u=!0,n=t.target===o[0]||t.target===o?v(t)-t.target.getBoundingClientRect()[e.isHorizontal()?"left":"top"]:null,t.preventDefault(),t.stopPropagation(),r.transition(100),o.transition(100),w(t),clearTimeout(m),l.transition(0),s.hide&&l.css("opacity",1),e.params.cssMode&&e.$wrapperEl.css("scroll-snap-type","none"),i("scrollbarDragStart",t)}function x(t){const{scrollbar:s,$wrapperEl:a}=e,{$el:r,$dragEl:n}=s;u&&(t.preventDefault?t.preventDefault():t.returnValue=!1,w(t),a.transition(0),r.transition(0),n.transition(0),i("scrollbarDragMove",t))}function y(t){const s=e.params.scrollbar,{scrollbar:a,$wrapperEl:r}=e,{$el:n}=a;u&&(u=!1,e.params.cssMode&&(e.$wrapperEl.css("scroll-snap-type",""),r.transition("")),s.hide&&(clearTimeout(m),m=c((()=>{n.css("opacity",0),n.transition(400)}),1e3)),i("scrollbarDragEnd",t),s.snapOnRelease&&e.slideToClosest())}function E(t){const{scrollbar:s,touchEventsTouch:a,touchEventsDesktop:i,params:n,support:l}=e,o=s.$el[0],d=!(!l.passiveListener||!n.passiveListeners)&&{passive:!1,capture:!1},p=!(!l.passiveListener||!n.passiveListeners)&&{passive:!0,capture:!1};if(!o)return;const c="on"===t?"addEventListener":"removeEventListener";l.touch?(o[c](a.start,b,d),o[c](a.move,x,d),o[c](a.end,y,p)):(o[c](i.start,b,d),r[c](i.move,x,d),r[c](i.end,y,p))}function T(){const{scrollbar:t,$el:s}=e;e.params.scrollbar=Y(e,e.originalParams.scrollbar,e.params.scrollbar,{el:"swiper-scrollbar"});const a=e.params.scrollbar;if(!a.el)return;let i=d(a.el);e.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.find(a.el).length&&(i=s.find(a.el));let r=i.find(`.${e.params.scrollbar.dragClass}`);0===r.length&&(r=d(`<div class="${e.params.scrollbar.dragClass}"></div>`),i.append(r)),Object.assign(t,{$el:i,el:i[0],$dragEl:r,dragEl:r[0]}),a.draggable&&e.params.scrollbar.el&&E("on"),i&&i[e.enabled?"removeClass":"addClass"](e.params.scrollbar.lockClass)}function C(){e.params.scrollbar.el&&E("off")}t({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag"}}),e.scrollbar={el:null,dragEl:null,$el:null,$dragEl:null},s("init",(()=>{T(),g(),f()})),s("update resize observerUpdate lock unlock",(()=>{g()})),s("setTranslate",(()=>{f()})),s("setTransition",((t,s)=>{!function(t){e.params.scrollbar.el&&e.scrollbar.el&&e.scrollbar.$dragEl.transition(t)}(s)})),s("enable disable",(()=>{const{$el:t}=e.scrollbar;t&&t[e.enabled?"removeClass":"addClass"](e.params.scrollbar.lockClass)})),s("destroy",(()=>{C()})),Object.assign(e.scrollbar,{updateSize:g,setTranslate:f,init:T,destroy:C})},function({swiper:e,extendParams:t,on:s}){t({parallax:{enabled:!1}});const a=(t,s)=>{const{rtl:a}=e,i=d(t),r=a?-1:1,n=i.attr("data-swiper-parallax")||"0";let l=i.attr("data-swiper-parallax-x"),o=i.attr("data-swiper-parallax-y");const p=i.attr("data-swiper-parallax-scale"),c=i.attr("data-swiper-parallax-opacity");if(l||o?(l=l||"0",o=o||"0"):e.isHorizontal()?(l=n,o="0"):(o=n,l="0"),l=l.indexOf("%")>=0?parseInt(l,10)*s*r+"%":l*s*r+"px",o=o.indexOf("%")>=0?parseInt(o,10)*s+"%":o*s+"px",null!=c){const e=c-(c-1)*(1-Math.abs(s));i[0].style.opacity=e}if(null==p)i.transform(`translate3d(${l}, ${o}, 0px)`);else{const e=p-(p-1)*(1-Math.abs(s));i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`)}},i=()=>{const{$el:t,slides:s,progress:i,snapGrid:r}=e;t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{a(e,i)})),s.each(((t,s)=>{let n=t.progress;e.params.slidesPerGroup>1&&"auto"!==e.params.slidesPerView&&(n+=Math.ceil(s/2)-i*(r.length-1)),n=Math.min(Math.max(n,-1),1),d(t).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{a(e,n)}))}))};s("beforeInit",(()=>{e.params.parallax.enabled&&(e.params.watchSlidesProgress=!0,e.originalParams.watchSlidesProgress=!0)})),s("init",(()=>{e.params.parallax.enabled&&i()})),s("setTranslate",(()=>{e.params.parallax.enabled&&i()})),s("setTransition",((t,s)=>{e.params.parallax.enabled&&((t=e.params.speed)=>{const{$el:s}=e;s.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{const s=d(e);let a=parseInt(s.attr("data-swiper-parallax-duration"),10)||t;0===t&&(a=0),s.transition(a)}))})(s)}))},function({swiper:e,extendParams:t,on:s,emit:a}){const i=r();t({zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),e.zoom={enabled:!1};let n,l,o,p=1,c=!1;const u={$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},m={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},f={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let g=1;function v(e){if(e.targetTouches.length<2)return 1;const t=e.targetTouches[0].pageX,s=e.targetTouches[0].pageY,a=e.targetTouches[1].pageX,i=e.targetTouches[1].pageY;return Math.sqrt((a-t)**2+(i-s)**2)}function w(t){const s=e.support,a=e.params.zoom;if(l=!1,o=!1,!s.gestures){if("touchstart"!==t.type||"touchstart"===t.type&&t.targetTouches.length<2)return;l=!0,u.scaleStart=v(t)}u.$slideEl&&u.$slideEl.length||(u.$slideEl=d(t.target).closest(`.${e.params.slideClass}`),0===u.$slideEl.length&&(u.$slideEl=e.slides.eq(e.activeIndex)),u.$imageEl=u.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),u.$imageWrapEl=u.$imageEl.parent(`.${a.containerClass}`),u.maxRatio=u.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,0!==u.$imageWrapEl.length)?(u.$imageEl&&u.$imageEl.transition(0),c=!0):u.$imageEl=void 0}function b(t){const s=e.support,a=e.params.zoom,i=e.zoom;if(!s.gestures){if("touchmove"!==t.type||"touchmove"===t.type&&t.targetTouches.length<2)return;o=!0,u.scaleMove=v(t)}u.$imageEl&&0!==u.$imageEl.length?(s.gestures?i.scale=t.scale*p:i.scale=u.scaleMove/u.scaleStart*p,i.scale>u.maxRatio&&(i.scale=u.maxRatio-1+(i.scale-u.maxRatio+1)**.5),i.scale<a.minRatio&&(i.scale=a.minRatio+1-(a.minRatio-i.scale+1)**.5),u.$imageEl.transform(`translate3d(0,0,0) scale(${i.scale})`)):"gesturechange"===t.type&&w(t)}function x(t){const s=e.device,a=e.support,i=e.params.zoom,r=e.zoom;if(!a.gestures){if(!l||!o)return;if("touchend"!==t.type||"touchend"===t.type&&t.changedTouches.length<2&&!s.android)return;l=!1,o=!1}u.$imageEl&&0!==u.$imageEl.length&&(r.scale=Math.max(Math.min(r.scale,u.maxRatio),i.minRatio),u.$imageEl.transition(e.params.speed).transform(`translate3d(0,0,0) scale(${r.scale})`),p=r.scale,c=!1,1===r.scale&&(u.$slideEl=void 0))}function y(t){const s=e.zoom;if(!u.$imageEl||0===u.$imageEl.length)return;if(e.allowClick=!1,!m.isTouched||!u.$slideEl)return;m.isMoved||(m.width=u.$imageEl[0].offsetWidth,m.height=u.$imageEl[0].offsetHeight,m.startX=h(u.$imageWrapEl[0],"x")||0,m.startY=h(u.$imageWrapEl[0],"y")||0,u.slideWidth=u.$slideEl[0].offsetWidth,u.slideHeight=u.$slideEl[0].offsetHeight,u.$imageWrapEl.transition(0));const a=m.width*s.scale,i=m.height*s.scale;if(!(a<u.slideWidth&&i<u.slideHeight)){if(m.minX=Math.min(u.slideWidth/2-a/2,0),m.maxX=-m.minX,m.minY=Math.min(u.slideHeight/2-i/2,0),m.maxY=-m.minY,m.touchesCurrent.x="touchmove"===t.type?t.targetTouches[0].pageX:t.pageX,m.touchesCurrent.y="touchmove"===t.type?t.targetTouches[0].pageY:t.pageY,!m.isMoved&&!c){if(e.isHorizontal()&&(Math.floor(m.minX)===Math.floor(m.startX)&&m.touchesCurrent.x<m.touchesStart.x||Math.floor(m.maxX)===Math.floor(m.startX)&&m.touchesCurrent.x>m.touchesStart.x))return void(m.isTouched=!1);if(!e.isHorizontal()&&(Math.floor(m.minY)===Math.floor(m.startY)&&m.touchesCurrent.y<m.touchesStart.y||Math.floor(m.maxY)===Math.floor(m.startY)&&m.touchesCurrent.y>m.touchesStart.y))return void(m.isTouched=!1)}t.cancelable&&t.preventDefault(),t.stopPropagation(),m.isMoved=!0,m.currentX=m.touchesCurrent.x-m.touchesStart.x+m.startX,m.currentY=m.touchesCurrent.y-m.touchesStart.y+m.startY,m.currentX<m.minX&&(m.currentX=m.minX+1-(m.minX-m.currentX+1)**.8),m.currentX>m.maxX&&(m.currentX=m.maxX-1+(m.currentX-m.maxX+1)**.8),m.currentY<m.minY&&(m.currentY=m.minY+1-(m.minY-m.currentY+1)**.8),m.currentY>m.maxY&&(m.currentY=m.maxY-1+(m.currentY-m.maxY+1)**.8),f.prevPositionX||(f.prevPositionX=m.touchesCurrent.x),f.prevPositionY||(f.prevPositionY=m.touchesCurrent.y),f.prevTime||(f.prevTime=Date.now()),f.x=(m.touchesCurrent.x-f.prevPositionX)/(Date.now()-f.prevTime)/2,f.y=(m.touchesCurrent.y-f.prevPositionY)/(Date.now()-f.prevTime)/2,Math.abs(m.touchesCurrent.x-f.prevPositionX)<2&&(f.x=0),Math.abs(m.touchesCurrent.y-f.prevPositionY)<2&&(f.y=0),f.prevPositionX=m.touchesCurrent.x,f.prevPositionY=m.touchesCurrent.y,f.prevTime=Date.now(),u.$imageWrapEl.transform(`translate3d(${m.currentX}px, ${m.currentY}px,0)`)}}function E(){const t=e.zoom;u.$slideEl&&e.previousIndex!==e.activeIndex&&(u.$imageEl&&u.$imageEl.transform("translate3d(0,0,0) scale(1)"),u.$imageWrapEl&&u.$imageWrapEl.transform("translate3d(0,0,0)"),t.scale=1,p=1,u.$slideEl=void 0,u.$imageEl=void 0,u.$imageWrapEl=void 0)}function T(t){const s=e.zoom,a=e.params.zoom;if(u.$slideEl||(t&&t.target&&(u.$slideEl=d(t.target).closest(`.${e.params.slideClass}`)),u.$slideEl||(e.params.virtual&&e.params.virtual.enabled&&e.virtual?u.$slideEl=e.$wrapperEl.children(`.${e.params.slideActiveClass}`):u.$slideEl=e.slides.eq(e.activeIndex)),u.$imageEl=u.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),u.$imageWrapEl=u.$imageEl.parent(`.${a.containerClass}`)),!u.$imageEl||0===u.$imageEl.length||!u.$imageWrapEl||0===u.$imageWrapEl.length)return;let r,n,l,o,c,h,f,g,v,w,b,x,y,E,T,C,$,S;e.params.cssMode&&(e.wrapperEl.style.overflow="hidden",e.wrapperEl.style.touchAction="none"),u.$slideEl.addClass(`${a.zoomedSlideClass}`),void 0===m.touchesStart.x&&t?(r="touchend"===t.type?t.changedTouches[0].pageX:t.pageX,n="touchend"===t.type?t.changedTouches[0].pageY:t.pageY):(r=m.touchesStart.x,n=m.touchesStart.y),s.scale=u.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,p=u.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,t?($=u.$slideEl[0].offsetWidth,S=u.$slideEl[0].offsetHeight,l=u.$slideEl.offset().left+i.scrollX,o=u.$slideEl.offset().top+i.scrollY,c=l+$/2-r,h=o+S/2-n,v=u.$imageEl[0].offsetWidth,w=u.$imageEl[0].offsetHeight,b=v*s.scale,x=w*s.scale,y=Math.min($/2-b/2,0),E=Math.min(S/2-x/2,0),T=-y,C=-E,f=c*s.scale,g=h*s.scale,f<y&&(f=y),f>T&&(f=T),g<E&&(g=E),g>C&&(g=C)):(f=0,g=0),u.$imageWrapEl.transition(300).transform(`translate3d(${f}px, ${g}px,0)`),u.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${s.scale})`)}function C(){const t=e.zoom,s=e.params.zoom;u.$slideEl||(e.params.virtual&&e.params.virtual.enabled&&e.virtual?u.$slideEl=e.$wrapperEl.children(`.${e.params.slideActiveClass}`):u.$slideEl=e.slides.eq(e.activeIndex),u.$imageEl=u.$slideEl.find(`.${s.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),u.$imageWrapEl=u.$imageEl.parent(`.${s.containerClass}`)),u.$imageEl&&0!==u.$imageEl.length&&u.$imageWrapEl&&0!==u.$imageWrapEl.length&&(e.params.cssMode&&(e.wrapperEl.style.overflow="",e.wrapperEl.style.touchAction=""),t.scale=1,p=1,u.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),u.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),u.$slideEl.removeClass(`${s.zoomedSlideClass}`),u.$slideEl=void 0)}function $(t){const s=e.zoom;s.scale&&1!==s.scale?C():T(t)}function S(){const t=e.support;return{passiveListener:!("touchstart"!==e.touchEvents.start||!t.passiveListener||!e.params.passiveListeners)&&{passive:!0,capture:!1},activeListenerWithCapture:!t.passiveListener||{passive:!1,capture:!0}}}function M(){return`.${e.params.slideClass}`}function P(t){const{passiveListener:s}=S(),a=M();e.$wrapperEl[t]("gesturestart",a,w,s),e.$wrapperEl[t]("gesturechange",a,b,s),e.$wrapperEl[t]("gestureend",a,x,s)}function k(){n||(n=!0,P("on"))}function z(){n&&(n=!1,P("off"))}function O(){const t=e.zoom;if(t.enabled)return;t.enabled=!0;const s=e.support,{passiveListener:a,activeListenerWithCapture:i}=S(),r=M();s.gestures?(e.$wrapperEl.on(e.touchEvents.start,k,a),e.$wrapperEl.on(e.touchEvents.end,z,a)):"touchstart"===e.touchEvents.start&&(e.$wrapperEl.on(e.touchEvents.start,r,w,a),e.$wrapperEl.on(e.touchEvents.move,r,b,i),e.$wrapperEl.on(e.touchEvents.end,r,x,a),e.touchEvents.cancel&&e.$wrapperEl.on(e.touchEvents.cancel,r,x,a)),e.$wrapperEl.on(e.touchEvents.move,`.${e.params.zoom.containerClass}`,y,i)}function I(){const t=e.zoom;if(!t.enabled)return;const s=e.support;t.enabled=!1;const{passiveListener:a,activeListenerWithCapture:i}=S(),r=M();s.gestures?(e.$wrapperEl.off(e.touchEvents.start,k,a),e.$wrapperEl.off(e.touchEvents.end,z,a)):"touchstart"===e.touchEvents.start&&(e.$wrapperEl.off(e.touchEvents.start,r,w,a),e.$wrapperEl.off(e.touchEvents.move,r,b,i),e.$wrapperEl.off(e.touchEvents.end,r,x,a),e.touchEvents.cancel&&e.$wrapperEl.off(e.touchEvents.cancel,r,x,a)),e.$wrapperEl.off(e.touchEvents.move,`.${e.params.zoom.containerClass}`,y,i)}Object.defineProperty(e.zoom,"scale",{get:()=>g,set(e){if(g!==e){const t=u.$imageEl?u.$imageEl[0]:void 0,s=u.$slideEl?u.$slideEl[0]:void 0;a("zoomChange",e,t,s)}g=e}}),s("init",(()=>{e.params.zoom.enabled&&O()})),s("destroy",(()=>{I()})),s("touchStart",((t,s)=>{e.zoom.enabled&&function(t){const s=e.device;u.$imageEl&&0!==u.$imageEl.length&&(m.isTouched||(s.android&&t.cancelable&&t.preventDefault(),m.isTouched=!0,m.touchesStart.x="touchstart"===t.type?t.targetTouches[0].pageX:t.pageX,m.touchesStart.y="touchstart"===t.type?t.targetTouches[0].pageY:t.pageY))}(s)})),s("touchEnd",((t,s)=>{e.zoom.enabled&&function(){const t=e.zoom;if(!u.$imageEl||0===u.$imageEl.length)return;if(!m.isTouched||!m.isMoved)return m.isTouched=!1,void(m.isMoved=!1);m.isTouched=!1,m.isMoved=!1;let s=300,a=300;const i=f.x*s,r=m.currentX+i,n=f.y*a,l=m.currentY+n;0!==f.x&&(s=Math.abs((r-m.currentX)/f.x)),0!==f.y&&(a=Math.abs((l-m.currentY)/f.y));const o=Math.max(s,a);m.currentX=r,m.currentY=l;const d=m.width*t.scale,p=m.height*t.scale;m.minX=Math.min(u.slideWidth/2-d/2,0),m.maxX=-m.minX,m.minY=Math.min(u.slideHeight/2-p/2,0),m.maxY=-m.minY,m.currentX=Math.max(Math.min(m.currentX,m.maxX),m.minX),m.currentY=Math.max(Math.min(m.currentY,m.maxY),m.minY),u.$imageWrapEl.transition(o).transform(`translate3d(${m.currentX}px, ${m.currentY}px,0)`)}()})),s("doubleTap",((t,s)=>{!e.animating&&e.params.zoom.enabled&&e.zoom.enabled&&e.params.zoom.toggle&&$(s)})),s("transitionEnd",(()=>{e.zoom.enabled&&e.params.zoom.enabled&&E()})),s("slideChange",(()=>{e.zoom.enabled&&e.params.zoom.enabled&&e.params.cssMode&&E()})),Object.assign(e.zoom,{enable:O,disable:I,in:T,out:C,toggle:$})},function({swiper:e,extendParams:t,on:s,emit:a}){t({lazy:{checkInView:!1,enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,scrollingElement:"",elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}}),e.lazy={};let i=!1,n=!1;function l(t,s=!0){const i=e.params.lazy;if(void 0===t)return;if(0===e.slides.length)return;const r=e.virtual&&e.params.virtual.enabled?e.$wrapperEl.children(`.${e.params.slideClass}[data-swiper-slide-index="${t}"]`):e.slides.eq(t),n=r.find(`.${i.elementClass}:not(.${i.loadedClass}):not(.${i.loadingClass})`);!r.hasClass(i.elementClass)||r.hasClass(i.loadedClass)||r.hasClass(i.loadingClass)||n.push(r[0]),0!==n.length&&n.each((t=>{const n=d(t);n.addClass(i.loadingClass);const o=n.attr("data-background"),p=n.attr("data-src"),c=n.attr("data-srcset"),u=n.attr("data-sizes"),h=n.parent("picture");e.loadImage(n[0],p||o,c,u,!1,(()=>{if(null!=e&&e&&(!e||e.params)&&!e.destroyed){if(o?(n.css("background-image",`url("${o}")`),n.removeAttr("data-background")):(c&&(n.attr("srcset",c),n.removeAttr("data-srcset")),u&&(n.attr("sizes",u),n.removeAttr("data-sizes")),h.length&&h.children("source").each((e=>{const t=d(e);t.attr("data-srcset")&&(t.attr("srcset",t.attr("data-srcset")),t.removeAttr("data-srcset"))})),p&&(n.attr("src",p),n.removeAttr("data-src"))),n.addClass(i.loadedClass).removeClass(i.loadingClass),r.find(`.${i.preloaderClass}`).remove(),e.params.loop&&s){const t=r.attr("data-swiper-slide-index");if(r.hasClass(e.params.slideDuplicateClass)){l(e.$wrapperEl.children(`[data-swiper-slide-index="${t}"]:not(.${e.params.slideDuplicateClass})`).index(),!1)}else{l(e.$wrapperEl.children(`.${e.params.slideDuplicateClass}[data-swiper-slide-index="${t}"]`).index(),!1)}}a("lazyImageReady",r[0],n[0]),e.params.autoHeight&&e.updateAutoHeight()}})),a("lazyImageLoad",r[0],n[0])}))}function o(){const{$wrapperEl:t,params:s,slides:a,activeIndex:i}=e,r=e.virtual&&s.virtual.enabled,o=s.lazy;let p=s.slidesPerView;function c(e){if(r){if(t.children(`.${s.slideClass}[data-swiper-slide-index="${e}"]`).length)return!0}else if(a[e])return!0;return!1}function u(e){return r?d(e).attr("data-swiper-slide-index"):d(e).index()}if("auto"===p&&(p=0),n||(n=!0),e.params.watchSlidesProgress)t.children(`.${s.slideVisibleClass}`).each((e=>{l(r?d(e).attr("data-swiper-slide-index"):d(e).index())}));else if(p>1)for(let e=i;e<i+p;e+=1)c(e)&&l(e);else l(i);if(o.loadPrevNext)if(p>1||o.loadPrevNextAmount&&o.loadPrevNextAmount>1){const e=o.loadPrevNextAmount,t=p,s=Math.min(i+t+Math.max(e,t),a.length),r=Math.max(i-Math.max(t,e),0);for(let e=i+p;e<s;e+=1)c(e)&&l(e);for(let e=r;e<i;e+=1)c(e)&&l(e)}else{const e=t.children(`.${s.slideNextClass}`);e.length>0&&l(u(e));const a=t.children(`.${s.slidePrevClass}`);a.length>0&&l(u(a))}}function p(){const t=r();if(!e||e.destroyed)return;const s=e.params.lazy.scrollingElement?d(e.params.lazy.scrollingElement):d(t),a=s[0]===t,n=a?t.innerWidth:s[0].offsetWidth,l=a?t.innerHeight:s[0].offsetHeight,c=e.$el.offset(),{rtlTranslate:u}=e;let h=!1;u&&(c.left-=e.$el[0].scrollLeft);const m=[[c.left,c.top],[c.left+e.width,c.top],[c.left,c.top+e.height],[c.left+e.width,c.top+e.height]];for(let e=0;e<m.length;e+=1){const t=m[e];if(t[0]>=0&&t[0]<=n&&t[1]>=0&&t[1]<=l){if(0===t[0]&&0===t[1])continue;h=!0}}const f=!("touchstart"!==e.touchEvents.start||!e.support.passiveListener||!e.params.passiveListeners)&&{passive:!0,capture:!1};h?(o(),s.off("scroll",p,f)):i||(i=!0,s.on("scroll",p,f))}s("beforeInit",(()=>{e.params.lazy.enabled&&e.params.preloadImages&&(e.params.preloadImages=!1)})),s("init",(()=>{e.params.lazy.enabled&&(e.params.lazy.checkInView?p():o())})),s("scroll",(()=>{e.params.freeMode&&e.params.freeMode.enabled&&!e.params.freeMode.sticky&&o()})),s("scrollbarDragMove resize _freeModeNoMomentumRelease",(()=>{e.params.lazy.enabled&&(e.params.lazy.checkInView?p():o())})),s("transitionStart",(()=>{e.params.lazy.enabled&&(e.params.lazy.loadOnTransitionStart||!e.params.lazy.loadOnTransitionStart&&!n)&&(e.params.lazy.checkInView?p():o())})),s("transitionEnd",(()=>{e.params.lazy.enabled&&!e.params.lazy.loadOnTransitionStart&&(e.params.lazy.checkInView?p():o())})),s("slideChange",(()=>{const{lazy:t,cssMode:s,watchSlidesProgress:a,touchReleaseOnEdges:i,resistanceRatio:r}=e.params;t.enabled&&(s||a&&(i||0===r))&&o()})),Object.assign(e.lazy,{load:o,loadInSlide:l})},function({swiper:e,extendParams:t,on:s}){function a(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function i(){e.controller.control&&e.controller.spline&&(e.controller.spline=void 0,delete e.controller.spline)}t({controller:{control:void 0,inverse:!1,by:"slide"}}),e.controller={control:void 0},s("beforeInit",(()=>{e.controller.control=e.params.controller.control})),s("update",(()=>{i()})),s("resize",(()=>{i()})),s("observerUpdate",(()=>{i()})),s("setTranslate",((t,s,a)=>{e.controller.control&&e.controller.setTranslate(s,a)})),s("setTransition",((t,s,a)=>{e.controller.control&&e.controller.setTransition(s,a)})),Object.assign(e.controller,{setTranslate:function(t,s){const i=e.controller.control;let r,n;const l=e.constructor;function o(t){const s=e.rtlTranslate?-e.translate:e.translate;"slide"===e.params.controller.by&&(!function(t){e.controller.spline||(e.controller.spline=e.params.loop?new a(e.slidesGrid,t.slidesGrid):new a(e.snapGrid,t.snapGrid))}(t),n=-e.controller.spline.interpolate(-s)),n&&"container"!==e.params.controller.by||(r=(t.maxTranslate()-t.minTranslate())/(e.maxTranslate()-e.minTranslate()),n=(s-e.minTranslate())*r+t.minTranslate()),e.params.controller.inverse&&(n=t.maxTranslate()-n),t.updateProgress(n),t.setTranslate(n,e),t.updateActiveIndex(),t.updateSlidesClasses()}if(Array.isArray(i))for(let e=0;e<i.length;e+=1)i[e]!==s&&i[e]instanceof l&&o(i[e]);else i instanceof l&&s!==i&&o(i)},setTransition:function(t,s){const a=e.constructor,i=e.controller.control;let r;function n(s){s.setTransition(t,e),0!==t&&(s.transitionStart(),s.params.autoHeight&&c((()=>{s.updateAutoHeight()})),s.$wrapperEl.transitionEnd((()=>{i&&(s.params.loop&&"slide"===e.params.controller.by&&s.loopFix(),s.transitionEnd())})))}if(Array.isArray(i))for(r=0;r<i.length;r+=1)i[r]!==s&&i[r]instanceof a&&n(i[r]);else i instanceof a&&s!==i&&n(i)}})},function({swiper:e,extendParams:t,on:s}){t({a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}",slideLabelMessage:"{{index}} / {{slidesLength}}",containerMessage:null,containerRoleDescriptionMessage:null,itemRoleDescriptionMessage:null,slideRole:"group"}});let a=null;function i(e){const t=a;0!==t.length&&(t.html(""),t.html(e))}function r(e){e.attr("tabIndex","0")}function n(e){e.attr("tabIndex","-1")}function l(e,t){e.attr("role",t)}function o(e,t){e.attr("aria-roledescription",t)}function p(e,t){e.attr("aria-label",t)}function c(e){e.attr("aria-disabled",!0)}function u(e){e.attr("aria-disabled",!1)}function h(t){if(13!==t.keyCode&&32!==t.keyCode)return;const s=e.params.a11y,a=d(t.target);e.navigation&&e.navigation.$nextEl&&a.is(e.navigation.$nextEl)&&(e.isEnd&&!e.params.loop||e.slideNext(),e.isEnd?i(s.lastSlideMessage):i(s.nextSlideMessage)),e.navigation&&e.navigation.$prevEl&&a.is(e.navigation.$prevEl)&&(e.isBeginning&&!e.params.loop||e.slidePrev(),e.isBeginning?i(s.firstSlideMessage):i(s.prevSlideMessage)),e.pagination&&a.is(W(e.params.pagination.bulletClass))&&a[0].click()}function m(){if(e.params.loop||e.params.rewind||!e.navigation)return;const{$nextEl:t,$prevEl:s}=e.navigation;s&&s.length>0&&(e.isBeginning?(c(s),n(s)):(u(s),r(s))),t&&t.length>0&&(e.isEnd?(c(t),n(t)):(u(t),r(t)))}function f(){return e.pagination&&e.pagination.bullets&&e.pagination.bullets.length}function g(){return f()&&e.params.pagination.clickable}const v=(e,t,s)=>{r(e),"BUTTON"!==e[0].tagName&&(l(e,"button"),e.on("keydown",h)),p(e,s),function(e,t){e.attr("aria-controls",t)}(e,t)};function w(){const t=e.params.a11y;e.$el.append(a);const s=e.$el;t.containerRoleDescriptionMessage&&o(s,t.containerRoleDescriptionMessage),t.containerMessage&&p(s,t.containerMessage);const i=e.$wrapperEl,r=i.attr("id")||`swiper-wrapper-${function(e=16){return"x".repeat(e).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}(16)}`,n=e.params.autoplay&&e.params.autoplay.enabled?"off":"polite";var c;c=r,i.attr("id",c),function(e,t){e.attr("aria-live",t)}(i,n),t.itemRoleDescriptionMessage&&o(d(e.slides),t.itemRoleDescriptionMessage),l(d(e.slides),t.slideRole);const u=e.params.loop?e.slides.filter((t=>!t.classList.contains(e.params.slideDuplicateClass))).length:e.slides.length;let m,f;e.slides.each(((s,a)=>{const i=d(s),r=e.params.loop?parseInt(i.attr("data-swiper-slide-index"),10):a;p(i,t.slideLabelMessage.replace(/\{\{index\}\}/,r+1).replace(/\{\{slidesLength\}\}/,u))})),e.navigation&&e.navigation.$nextEl&&(m=e.navigation.$nextEl),e.navigation&&e.navigation.$prevEl&&(f=e.navigation.$prevEl),m&&m.length&&v(m,r,t.nextSlideMessage),f&&f.length&&v(f,r,t.prevSlideMessage),g()&&e.pagination.$el.on("keydown",W(e.params.pagination.bulletClass),h)}s("beforeInit",(()=>{a=d(`<span class="${e.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>`)})),s("afterInit",(()=>{e.params.a11y.enabled&&(w(),m())})),s("toEdge",(()=>{e.params.a11y.enabled&&m()})),s("fromEdge",(()=>{e.params.a11y.enabled&&m()})),s("paginationUpdate",(()=>{e.params.a11y.enabled&&function(){const t=e.params.a11y;f()&&e.pagination.bullets.each((s=>{const a=d(s);e.params.pagination.clickable&&(r(a),e.params.pagination.renderBullet||(l(a,"button"),p(a,t.paginationBulletMessage.replace(/\{\{index\}\}/,a.index()+1)))),a.is(`.${e.params.pagination.bulletActiveClass}`)?a.attr("aria-current","true"):a.removeAttr("aria-current")}))}()})),s("destroy",(()=>{e.params.a11y.enabled&&function(){let t,s;a&&a.length>0&&a.remove(),e.navigation&&e.navigation.$nextEl&&(t=e.navigation.$nextEl),e.navigation&&e.navigation.$prevEl&&(s=e.navigation.$prevEl),t&&t.off("keydown",h),s&&s.off("keydown",h),g()&&e.pagination.$el.off("keydown",W(e.params.pagination.bulletClass),h)}()}))},function({swiper:e,extendParams:t,on:s}){t({history:{enabled:!1,root:"",replaceState:!1,key:"slides"}});let a=!1,i={};const n=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),l=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},o=(t,s)=>{const i=r();if(!a||!e.params.history.enabled)return;let l;l=e.params.url?new URL(e.params.url):i.location;const o=e.slides.eq(s);let d=n(o.attr("data-history"));if(e.params.history.root.length>0){let s=e.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${t}/${d}`}else l.pathname.includes(t)||(d=`${t}/${d}`);const p=i.history.state;p&&p.value===d||(e.params.history.replaceState?i.history.replaceState({value:d},null,d):i.history.pushState({value:d},null,d))},d=(t,s,a)=>{if(s)for(let i=0,r=e.slides.length;i<r;i+=1){const r=e.slides.eq(i);if(n(r.attr("data-history"))===s&&!r.hasClass(e.params.slideDuplicateClass)){const s=r.index();e.slideTo(s,t,a)}}else e.slideTo(0,t,a)},p=()=>{i=l(e.params.url),d(e.params.speed,e.paths.value,!1)};s("init",(()=>{e.params.history.enabled&&(()=>{const t=r();if(e.params.history){if(!t.history||!t.history.pushState)return e.params.history.enabled=!1,void(e.params.hashNavigation.enabled=!0);a=!0,i=l(e.params.url),(i.key||i.value)&&(d(0,i.value,e.params.runCallbacksOnInit),e.params.history.replaceState||t.addEventListener("popstate",p))}})()})),s("destroy",(()=>{e.params.history.enabled&&(()=>{const t=r();e.params.history.replaceState||t.removeEventListener("popstate",p)})()})),s("transitionEnd _freeModeNoMomentumRelease",(()=>{a&&o(e.params.history.key,e.activeIndex)})),s("slideChange",(()=>{a&&e.params.cssMode&&o(e.params.history.key,e.activeIndex)}))},function({swiper:e,extendParams:t,emit:s,on:i}){let n=!1;const l=a(),o=r();t({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}});const p=()=>{s("hashChange");const t=l.location.hash.replace("#","");if(t!==e.slides.eq(e.activeIndex).attr("data-hash")){const s=e.$wrapperEl.children(`.${e.params.slideClass}[data-hash="${t}"]`).index();if(void 0===s)return;e.slideTo(s)}},c=()=>{if(n&&e.params.hashNavigation.enabled)if(e.params.hashNavigation.replaceState&&o.history&&o.history.replaceState)o.history.replaceState(null,null,`#${e.slides.eq(e.activeIndex).attr("data-hash")}`||""),s("hashSet");else{const t=e.slides.eq(e.activeIndex),a=t.attr("data-hash")||t.attr("data-history");l.location.hash=a||"",s("hashSet")}};i("init",(()=>{e.params.hashNavigation.enabled&&(()=>{if(!e.params.hashNavigation.enabled||e.params.history&&e.params.history.enabled)return;n=!0;const t=l.location.hash.replace("#","");if(t){const s=0;for(let a=0,i=e.slides.length;a<i;a+=1){const i=e.slides.eq(a);if((i.attr("data-hash")||i.attr("data-history"))===t&&!i.hasClass(e.params.slideDuplicateClass)){const t=i.index();e.slideTo(t,s,e.params.runCallbacksOnInit,!0)}}}e.params.hashNavigation.watchState&&d(o).on("hashchange",p)})()})),i("destroy",(()=>{e.params.hashNavigation.enabled&&e.params.hashNavigation.watchState&&d(o).off("hashchange",p)})),i("transitionEnd _freeModeNoMomentumRelease",(()=>{n&&c()})),i("slideChange",(()=>{n&&e.params.cssMode&&c()}))},function({swiper:e,extendParams:t,on:s,emit:i}){let r;function n(){const t=e.slides.eq(e.activeIndex);let s=e.params.autoplay.delay;t.attr("data-swiper-autoplay")&&(s=t.attr("data-swiper-autoplay")||e.params.autoplay.delay),clearTimeout(r),r=c((()=>{let t;e.params.autoplay.reverseDirection?e.params.loop?(e.loopFix(),t=e.slidePrev(e.params.speed,!0,!0),i("autoplay")):e.isBeginning?e.params.autoplay.stopOnLastSlide?o():(t=e.slideTo(e.slides.length-1,e.params.speed,!0,!0),i("autoplay")):(t=e.slidePrev(e.params.speed,!0,!0),i("autoplay")):e.params.loop?(e.loopFix(),t=e.slideNext(e.params.speed,!0,!0),i("autoplay")):e.isEnd?e.params.autoplay.stopOnLastSlide?o():(t=e.slideTo(0,e.params.speed,!0,!0),i("autoplay")):(t=e.slideNext(e.params.speed,!0,!0),i("autoplay")),(e.params.cssMode&&e.autoplay.running||!1===t)&&n()}),s)}function l(){return void 0===r&&(!e.autoplay.running&&(e.autoplay.running=!0,i("autoplayStart"),n(),!0))}function o(){return!!e.autoplay.running&&(void 0!==r&&(r&&(clearTimeout(r),r=void 0),e.autoplay.running=!1,i("autoplayStop"),!0))}function d(t){e.autoplay.running&&(e.autoplay.paused||(r&&clearTimeout(r),e.autoplay.paused=!0,0!==t&&e.params.autoplay.waitForTransition?["transitionend","webkitTransitionEnd"].forEach((t=>{e.$wrapperEl[0].addEventListener(t,u)})):(e.autoplay.paused=!1,n())))}function p(){const t=a();"hidden"===t.visibilityState&&e.autoplay.running&&d(),"visible"===t.visibilityState&&e.autoplay.paused&&(n(),e.autoplay.paused=!1)}function u(t){e&&!e.destroyed&&e.$wrapperEl&&t.target===e.$wrapperEl[0]&&(["transitionend","webkitTransitionEnd"].forEach((t=>{e.$wrapperEl[0].removeEventListener(t,u)})),e.autoplay.paused=!1,e.autoplay.running?n():o())}function h(){e.params.autoplay.disableOnInteraction?o():d(),["transitionend","webkitTransitionEnd"].forEach((t=>{e.$wrapperEl[0].removeEventListener(t,u)}))}function m(){e.params.autoplay.disableOnInteraction||(e.autoplay.paused=!1,n())}e.autoplay={running:!1,paused:!1},t({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}}),s("init",(()=>{if(e.params.autoplay.enabled){l();a().addEventListener("visibilitychange",p),e.params.autoplay.pauseOnMouseEnter&&(e.$el.on("mouseenter",h),e.$el.on("mouseleave",m))}})),s("beforeTransitionStart",((t,s,a)=>{e.autoplay.running&&(a||!e.params.autoplay.disableOnInteraction?e.autoplay.pause(s):o())})),s("sliderFirstMove",(()=>{e.autoplay.running&&(e.params.autoplay.disableOnInteraction?o():d())})),s("touchEnd",(()=>{e.params.cssMode&&e.autoplay.paused&&!e.params.autoplay.disableOnInteraction&&n()})),s("destroy",(()=>{e.$el.off("mouseenter",h),e.$el.off("mouseleave",m),e.autoplay.running&&o();a().removeEventListener("visibilitychange",p)})),Object.assign(e.autoplay,{pause:d,run:n,start:l,stop:o})},function({swiper:e,extendParams:t,on:s}){t({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let a=!1,i=!1;function r(){const t=e.thumbs.swiper;if(!t)return;const s=t.clickedIndex,a=t.clickedSlide;if(a&&d(a).hasClass(e.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;if(i=t.params.loop?parseInt(d(t.clickedSlide).attr("data-swiper-slide-index"),10):s,e.params.loop){let t=e.activeIndex;e.slides.eq(t).hasClass(e.params.slideDuplicateClass)&&(e.loopFix(),e._clientLeft=e.$wrapperEl[0].clientLeft,t=e.activeIndex);const s=e.slides.eq(t).prevAll(`[data-swiper-slide-index="${i}"]`).eq(0).index(),a=e.slides.eq(t).nextAll(`[data-swiper-slide-index="${i}"]`).eq(0).index();i=void 0===s?a:void 0===a?s:a-t<t-s?a:s}e.slideTo(i)}function n(){const{thumbs:t}=e.params;if(a)return!1;a=!0;const s=e.constructor;if(t.swiper instanceof s)e.thumbs.swiper=t.swiper,Object.assign(e.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(e.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1});else if(m(t.swiper)){const a=Object.assign({},t.swiper);Object.assign(a,{watchSlidesProgress:!0,slideToClickedSlide:!1}),e.thumbs.swiper=new s(a),i=!0}return e.thumbs.swiper.$el.addClass(e.params.thumbs.thumbsContainerClass),e.thumbs.swiper.on("tap",r),!0}function l(t){const s=e.thumbs.swiper;if(!s)return;const a="auto"===s.params.slidesPerView?s.slidesPerViewDynamic():s.params.slidesPerView,i=e.params.thumbs.autoScrollOffset,r=i&&!s.params.loop;if(e.realIndex!==s.realIndex||r){let n,l,o=s.activeIndex;if(s.params.loop){s.slides.eq(o).hasClass(s.params.slideDuplicateClass)&&(s.loopFix(),s._clientLeft=s.$wrapperEl[0].clientLeft,o=s.activeIndex);const t=s.slides.eq(o).prevAll(`[data-swiper-slide-index="${e.realIndex}"]`).eq(0).index(),a=s.slides.eq(o).nextAll(`[data-swiper-slide-index="${e.realIndex}"]`).eq(0).index();n=void 0===t?a:void 0===a?t:a-o==o-t?s.params.slidesPerGroup>1?a:o:a-o<o-t?a:t,l=e.activeIndex>e.previousIndex?"next":"prev"}else n=e.realIndex,l=n>e.previousIndex?"next":"prev";r&&(n+="next"===l?i:-1*i),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(n)<0&&(s.params.centeredSlides?n=n>o?n-Math.floor(a/2)+1:n+Math.floor(a/2)-1:n>o&&s.params.slidesPerGroup,s.slideTo(n,t?0:void 0))}let n=1;const l=e.params.thumbs.slideThumbActiveClass;if(e.params.slidesPerView>1&&!e.params.centeredSlides&&(n=e.params.slidesPerView),e.params.thumbs.multipleActiveThumbs||(n=1),n=Math.floor(n),s.slides.removeClass(l),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let t=0;t<n;t+=1)s.$wrapperEl.children(`[data-swiper-slide-index="${e.realIndex+t}"]`).addClass(l);else for(let t=0;t<n;t+=1)s.slides.eq(e.realIndex+t).addClass(l)}e.thumbs={swiper:null},s("beforeInit",(()=>{const{thumbs:t}=e.params;t&&t.swiper&&(n(),l(!0))})),s("slideChange update resize observerUpdate",(()=>{e.thumbs.swiper&&l()})),s("setTransition",((t,s)=>{const a=e.thumbs.swiper;a&&a.setTransition(s)})),s("beforeDestroy",(()=>{const t=e.thumbs.swiper;t&&i&&t&&t.destroy()})),Object.assign(e.thumbs,{init:n,update:l})},function({swiper:e,extendParams:t,emit:s,once:a}){t({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(e,{freeMode:{onTouchMove:function(){const{touchEventsData:t,touches:s}=e;0===t.velocities.length&&t.velocities.push({position:s[e.isHorizontal()?"startX":"startY"],time:t.touchStartTime}),t.velocities.push({position:s[e.isHorizontal()?"currentX":"currentY"],time:u()})},onTouchEnd:function({currentPos:t}){const{params:i,$wrapperEl:r,rtlTranslate:n,snapGrid:l,touchEventsData:o}=e,d=u()-o.touchStartTime;if(t<-e.minTranslate())e.slideTo(e.activeIndex);else if(t>-e.maxTranslate())e.slides.length<l.length?e.slideTo(l.length-1):e.slideTo(e.slides.length-1);else{if(i.freeMode.momentum){if(o.velocities.length>1){const t=o.velocities.pop(),s=o.velocities.pop(),a=t.position-s.position,r=t.time-s.time;e.velocity=a/r,e.velocity/=2,Math.abs(e.velocity)<i.freeMode.minimumVelocity&&(e.velocity=0),(r>150||u()-t.time>300)&&(e.velocity=0)}else e.velocity=0;e.velocity*=i.freeMode.momentumVelocityRatio,o.velocities.length=0;let t=1e3*i.freeMode.momentumRatio;const d=e.velocity*t;let p=e.translate+d;n&&(p=-p);let c,h=!1;const m=20*Math.abs(e.velocity)*i.freeMode.momentumBounceRatio;let f;if(p<e.maxTranslate())i.freeMode.momentumBounce?(p+e.maxTranslate()<-m&&(p=e.maxTranslate()-m),c=e.maxTranslate(),h=!0,o.allowMomentumBounce=!0):p=e.maxTranslate(),i.loop&&i.centeredSlides&&(f=!0);else if(p>e.minTranslate())i.freeMode.momentumBounce?(p-e.minTranslate()>m&&(p=e.minTranslate()+m),c=e.minTranslate(),h=!0,o.allowMomentumBounce=!0):p=e.minTranslate(),i.loop&&i.centeredSlides&&(f=!0);else if(i.freeMode.sticky){let t;for(let e=0;e<l.length;e+=1)if(l[e]>-p){t=e;break}p=Math.abs(l[t]-p)<Math.abs(l[t-1]-p)||"next"===e.swipeDirection?l[t]:l[t-1],p=-p}if(f&&a("transitionEnd",(()=>{e.loopFix()})),0!==e.velocity){if(t=n?Math.abs((-p-e.translate)/e.velocity):Math.abs((p-e.translate)/e.velocity),i.freeMode.sticky){const s=Math.abs((n?-p:p)-e.translate),a=e.slidesSizesGrid[e.activeIndex];t=s<a?i.speed:s<2*a?1.5*i.speed:2.5*i.speed}}else if(i.freeMode.sticky)return void e.slideToClosest();i.freeMode.momentumBounce&&h?(e.updateProgress(c),e.setTransition(t),e.setTranslate(p),e.transitionStart(!0,e.swipeDirection),e.animating=!0,r.transitionEnd((()=>{e&&!e.destroyed&&o.allowMomentumBounce&&(s("momentumBounce"),e.setTransition(i.speed),setTimeout((()=>{e.setTranslate(c),r.transitionEnd((()=>{e&&!e.destroyed&&e.transitionEnd()}))}),0))}))):e.velocity?(s("_freeModeNoMomentumRelease"),e.updateProgress(p),e.setTransition(t),e.setTranslate(p),e.transitionStart(!0,e.swipeDirection),e.animating||(e.animating=!0,r.transitionEnd((()=>{e&&!e.destroyed&&e.transitionEnd()})))):e.updateProgress(p),e.updateActiveIndex(),e.updateSlidesClasses()}else{if(i.freeMode.sticky)return void e.slideToClosest();i.freeMode&&s("_freeModeNoMomentumRelease")}(!i.freeMode.momentum||d>=i.longSwipesMs)&&(e.updateProgress(),e.updateActiveIndex(),e.updateSlidesClasses())}}}})},function({swiper:e,extendParams:t}){let s,a,i;t({grid:{rows:1,fill:"column"}}),e.grid={initSlides:t=>{const{slidesPerView:r}=e.params,{rows:n,fill:l}=e.params.grid;a=s/n,i=Math.floor(t/n),s=Math.floor(t/n)===t/n?t:Math.ceil(t/n)*n,"auto"!==r&&"row"===l&&(s=Math.max(s,r*n))},updateSlide:(t,r,n,l)=>{const{slidesPerGroup:o,spaceBetween:d}=e.params,{rows:p,fill:c}=e.params.grid;let u,h,m;if("row"===c&&o>1){const e=Math.floor(t/(o*p)),a=t-p*o*e,i=0===e?o:Math.min(Math.ceil((n-e*p*o)/p),o);m=Math.floor(a/i),h=a-m*i+e*o,u=h+m*s/p,r.css({"-webkit-order":u,order:u})}else"column"===c?(h=Math.floor(t/p),m=t-h*p,(h>i||h===i&&m===p-1)&&(m+=1,m>=p&&(m=0,h+=1))):(m=Math.floor(t/a),h=t-m*a);r.css(l("margin-top"),0!==m?d&&`${d}px`:"")},updateWrapperSize:(t,a,i)=>{const{spaceBetween:r,centeredSlides:n,roundLengths:l}=e.params,{rows:o}=e.params.grid;if(e.virtualSize=(t+r)*s,e.virtualSize=Math.ceil(e.virtualSize/o)-r,e.$wrapperEl.css({[i("width")]:`${e.virtualSize+r}px`}),n){a.splice(0,a.length);const t=[];for(let s=0;s<a.length;s+=1){let i=a[s];l&&(i=Math.floor(i)),a[s]<e.virtualSize+a[0]&&t.push(i)}a.push(...t)}}}},function({swiper:e}){Object.assign(e,{appendSlide:R.bind(e),prependSlide:j.bind(e),addSlide:_.bind(e),removeSlide:V.bind(e),removeAllSlides:q.bind(e)})},function({swiper:e,extendParams:t,on:s}){t({fadeEffect:{crossFade:!1,transformEl:null}}),F({effect:"fade",swiper:e,on:s,setTranslate:()=>{const{slides:t}=e,s=e.params.fadeEffect;for(let a=0;a<t.length;a+=1){const t=e.slides.eq(a);let i=-t[0].swiperSlideOffset;e.params.virtualTranslate||(i-=e.translate);let r=0;e.isHorizontal()||(r=i,i=0);const n=e.params.fadeEffect.crossFade?Math.max(1-Math.abs(t[0].progress),0):1+Math.min(Math.max(t[0].progress,-1),0);U(s,t).css({opacity:n}).transform(`translate3d(${i}px, ${r}px, 0px)`)}},setTransition:t=>{const{transformEl:s}=e.params.fadeEffect;(s?e.slides.find(s):e.slides).transition(t),K({swiper:e,duration:t,transformEl:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!e.params.cssMode})})},function({swiper:e,extendParams:t,on:s}){t({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}}),F({effect:"cube",swiper:e,on:s,setTranslate:()=>{const{$el:t,$wrapperEl:s,slides:a,width:i,height:r,rtlTranslate:n,size:l,browser:o}=e,p=e.params.cubeEffect,c=e.isHorizontal(),u=e.virtual&&e.params.virtual.enabled;let h,m=0;p.shadow&&(c?(h=s.find(".swiper-cube-shadow"),0===h.length&&(h=d('<div class="swiper-cube-shadow"></div>'),s.append(h)),h.css({height:`${i}px`})):(h=t.find(".swiper-cube-shadow"),0===h.length&&(h=d('<div class="swiper-cube-shadow"></div>'),t.append(h))));for(let e=0;e<a.length;e+=1){const t=a.eq(e);let s=e;u&&(s=parseInt(t.attr("data-swiper-slide-index"),10));let i=90*s,r=Math.floor(i/360);n&&(i=-i,r=Math.floor(-i/360));const o=Math.max(Math.min(t[0].progress,1),-1);let h=0,f=0,g=0;s%4==0?(h=4*-r*l,g=0):(s-1)%4==0?(h=0,g=4*-r*l):(s-2)%4==0?(h=l+4*r*l,g=l):(s-3)%4==0&&(h=-l,g=3*l+4*l*r),n&&(h=-h),c||(f=h,h=0);const v=`rotateX(${c?0:-i}deg) rotateY(${c?i:0}deg) translate3d(${h}px, ${f}px, ${g}px)`;if(o<=1&&o>-1&&(m=90*s+90*o,n&&(m=90*-s-90*o)),t.transform(v),p.slideShadows){let e=c?t.find(".swiper-slide-shadow-left"):t.find(".swiper-slide-shadow-top"),s=c?t.find(".swiper-slide-shadow-right"):t.find(".swiper-slide-shadow-bottom");0===e.length&&(e=d(`<div class="swiper-slide-shadow-${c?"left":"top"}"></div>`),t.append(e)),0===s.length&&(s=d(`<div class="swiper-slide-shadow-${c?"right":"bottom"}"></div>`),t.append(s)),e.length&&(e[0].style.opacity=Math.max(-o,0)),s.length&&(s[0].style.opacity=Math.max(o,0))}}if(s.css({"-webkit-transform-origin":`50% 50% -${l/2}px`,"transform-origin":`50% 50% -${l/2}px`}),p.shadow)if(c)h.transform(`translate3d(0px, ${i/2+p.shadowOffset}px, ${-i/2}px) rotateX(90deg) rotateZ(0deg) scale(${p.shadowScale})`);else{const e=Math.abs(m)-90*Math.floor(Math.abs(m)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=p.shadowScale,a=p.shadowScale/t,i=p.shadowOffset;h.transform(`scale3d(${s}, 1, ${a}) translate3d(0px, ${r/2+i}px, ${-r/2/a}px) rotateX(-90deg)`)}const f=o.isSafari||o.isWebView?-l/2:0;s.transform(`translate3d(0px,0,${f}px) rotateX(${e.isHorizontal()?0:m}deg) rotateY(${e.isHorizontal()?-m:0}deg)`)},setTransition:t=>{const{$el:s,slides:a}=e;a.transition(t).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(t),e.params.cubeEffect.shadow&&!e.isHorizontal()&&s.find(".swiper-cube-shadow").transition(t)},perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function({swiper:e,extendParams:t,on:s}){t({flipEffect:{slideShadows:!0,limitRotation:!0,transformEl:null}}),F({effect:"flip",swiper:e,on:s,setTranslate:()=>{const{slides:t,rtlTranslate:s}=e,a=e.params.flipEffect;for(let i=0;i<t.length;i+=1){const r=t.eq(i);let n=r[0].progress;e.params.flipEffect.limitRotation&&(n=Math.max(Math.min(r[0].progress,1),-1));const l=r[0].swiperSlideOffset;let o=-180*n,d=0,p=e.params.cssMode?-l-e.translate:-l,c=0;if(e.isHorizontal()?s&&(o=-o):(c=p,p=0,d=-o,o=0),r[0].style.zIndex=-Math.abs(Math.round(n))+t.length,a.slideShadows){let t=e.isHorizontal()?r.find(".swiper-slide-shadow-left"):r.find(".swiper-slide-shadow-top"),s=e.isHorizontal()?r.find(".swiper-slide-shadow-right"):r.find(".swiper-slide-shadow-bottom");0===t.length&&(t=Z(a,r,e.isHorizontal()?"left":"top")),0===s.length&&(s=Z(a,r,e.isHorizontal()?"right":"bottom")),t.length&&(t[0].style.opacity=Math.max(-n,0)),s.length&&(s[0].style.opacity=Math.max(n,0))}const u=`translate3d(${p}px, ${c}px, 0px) rotateX(${d}deg) rotateY(${o}deg)`;U(a,r).transform(u)}},setTransition:t=>{const{transformEl:s}=e.params.flipEffect;(s?e.slides.find(s):e.slides).transition(t).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(t),K({swiper:e,duration:t,transformEl:s})},perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!e.params.cssMode})})},function({swiper:e,extendParams:t,on:s}){t({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0,transformEl:null}}),F({effect:"coverflow",swiper:e,on:s,setTranslate:()=>{const{width:t,height:s,slides:a,slidesSizesGrid:i}=e,r=e.params.coverflowEffect,n=e.isHorizontal(),l=e.translate,o=n?t/2-l:s/2-l,d=n?r.rotate:-r.rotate,p=r.depth;for(let e=0,t=a.length;e<t;e+=1){const t=a.eq(e),s=i[e],l=(o-t[0].swiperSlideOffset-s/2)/s*r.modifier;let c=n?d*l:0,u=n?0:d*l,h=-p*Math.abs(l),m=r.stretch;"string"==typeof m&&-1!==m.indexOf("%")&&(m=parseFloat(r.stretch)/100*s);let f=n?0:m*l,g=n?m*l:0,v=1-(1-r.scale)*Math.abs(l);Math.abs(g)<.001&&(g=0),Math.abs(f)<.001&&(f=0),Math.abs(h)<.001&&(h=0),Math.abs(c)<.001&&(c=0),Math.abs(u)<.001&&(u=0),Math.abs(v)<.001&&(v=0);const w=`translate3d(${g}px,${f}px,${h}px)  rotateX(${u}deg) rotateY(${c}deg) scale(${v})`;if(U(r,t).transform(w),t[0].style.zIndex=1-Math.abs(Math.round(l)),r.slideShadows){let e=n?t.find(".swiper-slide-shadow-left"):t.find(".swiper-slide-shadow-top"),s=n?t.find(".swiper-slide-shadow-right"):t.find(".swiper-slide-shadow-bottom");0===e.length&&(e=Z(r,t,n?"left":"top")),0===s.length&&(s=Z(r,t,n?"right":"bottom")),e.length&&(e[0].style.opacity=l>0?l:0),s.length&&(s[0].style.opacity=-l>0?-l:0)}}},setTransition:t=>{const{transformEl:s}=e.params.coverflowEffect;(s?e.slides.find(s):e.slides).transition(t).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(t)},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function({swiper:e,extendParams:t,on:s}){t({creativeEffect:{transformEl:null,limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const a=e=>"string"==typeof e?e:`${e}px`;F({effect:"creative",swiper:e,on:s,setTranslate:()=>{const{slides:t,$wrapperEl:s,slidesSizesGrid:i}=e,r=e.params.creativeEffect,{progressMultiplier:n}=r,l=e.params.centeredSlides;if(l){const t=i[0]/2-e.params.slidesOffsetBefore||0;s.transform(`translateX(calc(50% - ${t}px))`)}for(let s=0;s<t.length;s+=1){const i=t.eq(s),o=i[0].progress,d=Math.min(Math.max(i[0].progress,-r.limitProgress),r.limitProgress);let p=d;l||(p=Math.min(Math.max(i[0].originalProgress,-r.limitProgress),r.limitProgress));const c=i[0].swiperSlideOffset,u=[e.params.cssMode?-c-e.translate:-c,0,0],h=[0,0,0];let m=!1;e.isHorizontal()||(u[1]=u[0],u[0]=0);let f={translate:[0,0,0],rotate:[0,0,0],scale:1,opacity:1};d<0?(f=r.next,m=!0):d>0&&(f=r.prev,m=!0),u.forEach(((e,t)=>{u[t]=`calc(${e}px + (${a(f.translate[t])} * ${Math.abs(d*n)}))`})),h.forEach(((e,t)=>{h[t]=f.rotate[t]*Math.abs(d*n)})),i[0].style.zIndex=-Math.abs(Math.round(o))+t.length;const g=u.join(", "),v=`rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`,w=p<0?`scale(${1+(1-f.scale)*p*n})`:`scale(${1-(1-f.scale)*p*n})`,b=p<0?1+(1-f.opacity)*p*n:1-(1-f.opacity)*p*n,x=`translate3d(${g}) ${v} ${w}`;if(m&&f.shadow||!m){let e=i.children(".swiper-slide-shadow");if(0===e.length&&f.shadow&&(e=Z(r,i)),e.length){const t=r.shadowPerProgress?d*(1/r.limitProgress):d;e[0].style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const y=U(r,i);y.transform(x).css({opacity:b}),f.origin&&y.css("transform-origin",f.origin)}},setTransition:t=>{const{transformEl:s}=e.params.creativeEffect;(s?e.slides.find(s):e.slides).transition(t).find(".swiper-slide-shadow").transition(t),K({swiper:e,duration:t,transformEl:s,allSlides:!0})},perspective:()=>e.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!e.params.cssMode})})},function({swiper:e,extendParams:t,on:s}){t({cardsEffect:{slideShadows:!0,transformEl:null}}),F({effect:"cards",swiper:e,on:s,setTranslate:()=>{const{slides:t,activeIndex:s}=e,a=e.params.cardsEffect,{startTranslate:i,isTouched:r}=e.touchEventsData,n=e.translate;for(let l=0;l<t.length;l+=1){const o=t.eq(l),d=o[0].progress,p=Math.min(Math.max(d,-4),4);let c=o[0].swiperSlideOffset;e.params.centeredSlides&&!e.params.cssMode&&e.$wrapperEl.transform(`translateX(${e.minTranslate()}px)`),e.params.centeredSlides&&e.params.cssMode&&(c-=t[0].swiperSlideOffset);let u=e.params.cssMode?-c-e.translate:-c,h=0;const m=-100*Math.abs(p);let f=1,g=-2*p,v=8-.75*Math.abs(p);const w=(l===s||l===s-1)&&p>0&&p<1&&(r||e.params.cssMode)&&n<i,b=(l===s||l===s+1)&&p<0&&p>-1&&(r||e.params.cssMode)&&n>i;if(w||b){const e=(1-Math.abs((Math.abs(p)-.5)/.5))**.5;g+=-28*p*e,f+=-.5*e,v+=96*e,h=-25*e*Math.abs(p)+"%"}if(u=p<0?`calc(${u}px + (${v*Math.abs(p)}%))`:p>0?`calc(${u}px + (-${v*Math.abs(p)}%))`:`${u}px`,!e.isHorizontal()){const e=h;h=u,u=e}const x=`\n        translate3d(${u}, ${h}, ${m}px)\n        rotateZ(${g}deg)\n        scale(${p<0?""+(1+(1-f)*p):""+(1-(1-f)*p)})\n      `;if(a.slideShadows){let e=o.find(".swiper-slide-shadow");0===e.length&&(e=Z(a,o)),e.length&&(e[0].style.opacity=Math.min(Math.max((Math.abs(p)-.5)/.5,0),1))}o[0].style.zIndex=-Math.abs(Math.round(d))+t.length;U(a,o).transform(x)}},setTransition:t=>{const{transformEl:s}=e.params.cardsEffect;(s?e.slides.find(s):e.slides).transition(t).find(".swiper-slide-shadow").transition(t),K({swiper:e,duration:t,transformEl:s})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!e.params.cssMode})})}];return H.use(J),H}));
//# sourceMappingURL=swiper-bundle.min.js.map
