/*! jQuery UI - v1.13.3 - 2024-04-26 * https://jqueryui.com * Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js * Copyright jQuery Foundation and other contributors; Licensed MIT */ ! function(t) { "use strict"; "function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery) }(function(x) { "use strict"; var t, e, i, n, W, C, o, s, r, l, a, h, u; function E(t, e, i) { return [parseFloat(t[0]) * (a.test(t[0]) ? e / 100 : 1), parseFloat(t[1]) * (a.test(t[1]) ? i / 100 : 1)] } function L(t, e) { return parseInt(x.css(t, e), 10) || 0 } function N(t) { return null != t && t === t.window } x.ui = x.ui || {}, x.ui.version = "1.13.3", /*! * jQuery UI :data 1.13.3 * https://jqueryui.com * * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license */ x.extend(x.expr.pseudos, { data: x.expr.createPseudo ? x.expr.createPseudo(function(e) { return function(t) { return !!x.data(t, e) } }) : function(t, e, i) { return !!x.data(t, i[3]) } }), /*! * jQuery UI Disable Selection 1.13.3 * https://jqueryui.com * * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license */ x.fn.extend({ disableSelection: (t = "onselectstart" in document.createElement("div") ? "selectstart" : "mousedown", function() { return this.on(t + ".ui-disableSelection", function(t) { t.preventDefault() }) }), enableSelection: function() { return this.off(".ui-disableSelection") } }), /*! * jQuery UI Focusable 1.13.3 * https://jqueryui.com * * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license */ x.ui.focusable = function(t, e) { var i, n, o, s = t.nodeName.toLowerCase(); return "area" === s ? (o = (i = t.parentNode).name, !(!t.href || !o || "map" !== i.nodeName.toLowerCase()) && 0 < (i = x("img[usemap='#" + o + "']")).length && i.is(":visible")) : (/^(input|select|textarea|button|object)$/.test(s) ? (n = !t.disabled) && (o = x(t).closest("fieldset")[0]) && (n = !o.disabled) : n = "a" === s && t.href || e, n && x(t).is(":visible") && function(t) { var e = t.css("visibility"); for (; "inherit" === e;) t = t.parent(), e = t.css("visibility"); return "visible" === e }(x(t))) }, x.extend(x.expr.pseudos, { focusable: function(t) { return x.ui.focusable(t, null != x.attr(t, "tabindex")) } }), x.fn._form = function() { return "string" == typeof this[0].form ? this.closest("form") : x(this[0].form) }, /*! * jQuery UI Form Reset Mixin 1.13.3 * https://jqueryui.com * * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license */ x.ui.formResetMixin = { _formResetHandler: function() { var e = x(this); setTimeout(function() { var t = e.data("ui-form-reset-instances"); x.each(t, function() { this.refresh() }) }) }, _bindFormResetHandler: function() { var t; this.form = this.element._form(), this.form.length && ((t = this.form.data("ui-form-reset-instances") || []).length || this.form.on("reset.ui-form-reset", this._formResetHandler), t.push(this), this.form.data("ui-form-reset-instances", t)) }, _unbindFormResetHandler: function() { var t; this.form.length && ((t = this.form.data("ui-form-reset-instances")).splice(x.inArray(this, t), 1), t.length ? this.form.data("ui-form-reset-instances", t) : this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")) } }, x.ui.ie = !!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()), /*! * jQuery UI Support for jQuery core 1.8.x and newer 1.13.3 * https://jqueryui.com * * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license * */ x.expr.pseudos || (x.expr.pseudos = x.expr[":"]), x.uniqueSort || (x.uniqueSort = x.unique), x.escapeSelector || (e = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, i = function(t, e) { return e ? "\0" === t ? "�" : t.slice(0, -1) + "\\" + t.charCodeAt(t.length - 1).toString(16) + " " : "\\" + t }, x.escapeSelector = function(t) { return (t + "").replace(e, i) }), x.fn.even && x.fn.odd || x.fn.extend({ even: function() { return this.filter(function(t) { return t % 2 == 0 }) }, odd: function() { return this.filter(function(t) { return t % 2 == 1 }) } }), /*! * jQuery UI Keycode 1.13.3 * https://jqueryui.com * * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license */ x.ui.keyCode = { BACKSPACE: 8, COMMA: 188, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, LEFT: 37, PAGE_DOWN: 34, PAGE_UP: 33, PERIOD: 190, RIGHT: 39, SPACE: 32, TAB: 9, UP: 38 }, /*! * jQuery UI Labels 1.13.3 * https://jqueryui.com * * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license */ x.fn.labels = function() { var t, e, i; return this.length ? this[0].labels && this[0].labels.length ? this.pushStack(this[0].labels) : (e = this.eq(0).parents("label"), (t = this.attr("id")) && (i = (i = this.eq(0).parents().last()).add((i.length ? i : this).siblings()), t = "label[for='" + x.escapeSelector(t) + "']", e = e.add(i.find(t).addBack(t))), this.pushStack(e)) : this.pushStack([]) }, x.ui.plugin = { add: function(t, e, i) { var n, o = x.ui[t].prototype; for (n in i) o.plugins[n] = o.plugins[n] || [], o.plugins[n].push([e, i[n]]) }, call: function(t, e, i, n) { var o, s = t.plugins[e]; if (s && (n || t.element[0].parentNode && 11 !== t.element[0].parentNode.nodeType)) for (o = 0; o < s.length; o++) t.options[s[o][0]] && s[o][1].apply(t.element, i) } }, /*! * jQuery UI Position 1.13.3 * https://jqueryui.com * * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license * * https://api.jqueryui.com/position/ */ W = Math.max, C = Math.abs, o = /left|center|right/, s = /top|center|bottom/, r = /[\+\-]\d+(\.[\d]+)?%?/, l = /^\w+/, a = /%$/, h = x.fn.position, x.position = { scrollbarWidth: function() { var t, e, i; return void 0 !== n ? n : (i = (e = x("
")).children()[0], x("body").append(e), t = i.offsetWidth, e.css("overflow", "scroll"), t === (i = i.offsetWidth) && (i = e[0].clientWidth), e.remove(), n = t - i) }, getScrollInfo: function(t) { var e = t.isWindow || t.isDocument ? "" : t.element.css("overflow-x"), i = t.isWindow || t.isDocument ? "" : t.element.css("overflow-y"), e = "scroll" === e || "auto" === e && t.width < t.element[0].scrollWidth; return { width: "scroll" === i || "auto" === i && t.height < t.element[0].scrollHeight ? x.position.scrollbarWidth() : 0, height: e ? x.position.scrollbarWidth() : 0 } }, getWithinInfo: function(t) { var e = x(t || window), i = N(e[0]), n = !!e[0] && 9 === e[0].nodeType; return { element: e, isWindow: i, isDocument: n, offset: !i && !n ? x(t).offset() : { left: 0, top: 0 }, scrollLeft: e.scrollLeft(), scrollTop: e.scrollTop(), width: e.outerWidth(), height: e.outerHeight() } } }, x.fn.position = function(f) { var c, d, p, g, m, v, y, w, b, _, t, e; return f && f.of ? (v = "string" == typeof(f = x.extend({}, f)).of ? x(document).find(f.of) : x(f.of), y = x.position.getWithinInfo(f.within), w = x.position.getScrollInfo(y), b = (f.collision || "flip").split(" "), _ = {}, e = 9 === (e = (t = v)[0]).nodeType ? { width: t.width(), height: t.height(), offset: { top: 0, left: 0 } } : N(e) ? { width: t.width(), height: t.height(), offset: { top: t.scrollTop(), left: t.scrollLeft() } } : e.preventDefault ? { width: 0, height: 0, offset: { top: e.pageY, left: e.pageX } } : { width: t.outerWidth(), height: t.outerHeight(), offset: t.offset() }, v[0].preventDefault && (f.at = "left top"), d = e.width, p = e.height, m = x.extend({}, g = e.offset), x.each(["my", "at"], function() { var t, e, i = (f[this] || "").split(" "); (i = 1 === i.length ? o.test(i[0]) ? i.concat(["center"]) : s.test(i[0]) ? ["center"].concat(i) : ["center", "center"] : i)[0] = o.test(i[0]) ? i[0] : "center", i[1] = s.test(i[1]) ? i[1] : "center", t = r.exec(i[0]), e = r.exec(i[1]), _[this] = [t ? t[0] : 0, e ? e[0] : 0], f[this] = [l.exec(i[0])[0], l.exec(i[1])[0]] }), 1 === b.length && (b[1] = b[0]), "right" === f.at[0] ? m.left += d : "center" === f.at[0] && (m.left += d / 2), "bottom" === f.at[1] ? m.top += p : "center" === f.at[1] && (m.top += p / 2), c = E(_.at, d, p), m.left += c[0], m.top += c[1], this.each(function() { var i, t, r = x(this), l = r.outerWidth(), a = r.outerHeight(), e = L(this, "marginLeft"), n = L(this, "marginTop"), o = l + e + L(this, "marginRight") + w.width, s = a + n + L(this, "marginBottom") + w.height, h = x.extend({}, m), u = E(_.my, r.outerWidth(), r.outerHeight()); "right" === f.my[0] ? h.left -= l : "center" === f.my[0] && (h.left -= l / 2), "bottom" === f.my[1] ? h.top -= a : "center" === f.my[1] && (h.top -= a / 2), h.left += u[0], h.top += u[1], i = { marginLeft: e, marginTop: n }, x.each(["left", "top"], function(t, e) { x.ui.position[b[t]] && x.ui.position[b[t]][e](h, { targetWidth: d, targetHeight: p, elemWidth: l, elemHeight: a, collisionPosition: i, collisionWidth: o, collisionHeight: s, offset: [c[0] + u[0], c[1] + u[1]], my: f.my, at: f.at, within: y, elem: r }) }), f.using && (t = function(t) { var e = g.left - h.left, i = e + d - l, n = g.top - h.top, o = n + p - a, s = { target: { element: v, left: g.left, top: g.top, width: d, height: p }, element: { element: r, left: h.left, top: h.top, width: l, height: a }, horizontal: i < 0 ? "left" : 0 < e ? "right" : "center", vertical: o < 0 ? "top" : 0 < n ? "bottom" : "middle" }; d < l && C(e + i) < d && (s.horizontal = "center"), p < a && C(n + o) < p && (s.vertical = "middle"), W(C(e), C(i)) > W(C(n), C(o)) ? s.important = "horizontal" : s.important = "vertical", f.using.call(this, t, s) }), r.offset(x.extend(h, { using: t })) })) : h.apply(this, arguments) }, x.ui.position = { fit: { left: function(t, e) { var i, n = e.within, o = n.isWindow ? n.scrollLeft : n.offset.left, n = n.width, s = t.left - e.collisionPosition.marginLeft, r = o - s, l = s + e.collisionWidth - n - o; n < e.collisionWidth ? 0 < r && l <= 0 ? (i = t.left + r + e.collisionWidth - n - o, t.left += r - i) : t.left = !(0 < l && r <= 0) && l < r ? o + n - e.collisionWidth : o : 0 < r ? t.left += r : 0 < l ? t.left -= l : t.left = W(t.left - s, t.left) }, top: function(t, e) { var i, n = e.within, n = n.isWindow ? n.scrollTop : n.offset.top, o = e.within.height, s = t.top - e.collisionPosition.marginTop, r = n - s, l = s + e.collisionHeight - o - n; o < e.collisionHeight ? 0 < r && l <= 0 ? (i = t.top + r + e.collisionHeight - o - n, t.top += r - i) : t.top = !(0 < l && r <= 0) && l < r ? n + o - e.collisionHeight : n : 0 < r ? t.top += r : 0 < l ? t.top -= l : t.top = W(t.top - s, t.top) } }, flip: { left: function(t, e) { var i = e.within, n = i.offset.left + i.scrollLeft, o = i.width, i = i.isWindow ? i.scrollLeft : i.offset.left, s = t.left - e.collisionPosition.marginLeft, r = s - i, s = s + e.collisionWidth - o - i, l = "left" === e.my[0] ? -e.elemWidth : "right" === e.my[0] ? e.elemWidth : 0, a = "left" === e.at[0] ? e.targetWidth : "right" === e.at[0] ? -e.targetWidth : 0, h = -2 * e.offset[0]; r < 0 ? ((o = t.left + l + a + h + e.collisionWidth - o - n) < 0 || o < C(r)) && (t.left += l + a + h) : 0 < s && (0 < (n = t.left - e.collisionPosition.marginLeft + l + a + h - i) || C(n) < s) && (t.left += l + a + h) }, top: function(t, e) { var i = e.within, n = i.offset.top + i.scrollTop, o = i.height, i = i.isWindow ? i.scrollTop : i.offset.top, s = t.top - e.collisionPosition.marginTop, r = s - i, s = s + e.collisionHeight - o - i, l = "top" === e.my[1] ? -e.elemHeight : "bottom" === e.my[1] ? e.elemHeight : 0, a = "top" === e.at[1] ? e.targetHeight : "bottom" === e.at[1] ? -e.targetHeight : 0, h = -2 * e.offset[1]; r < 0 ? ((o = t.top + l + a + h + e.collisionHeight - o - n) < 0 || o < C(r)) && (t.top += l + a + h) : 0 < s && (0 < (n = t.top - e.collisionPosition.marginTop + l + a + h - i) || C(n) < s) && (t.top += l + a + h) } }, flipfit: { left: function() { x.ui.position.flip.left.apply(this, arguments), x.ui.position.fit.left.apply(this, arguments) }, top: function() { x.ui.position.flip.top.apply(this, arguments), x.ui.position.fit.top.apply(this, arguments) } } }, x.ui.safeActiveElement = function(e) { var i; try { i = e.activeElement } catch (t) { i = e.body } return i = (i = i || e.body).nodeName ? i : e.body }, x.ui.safeBlur = function(t) { t && "body" !== t.nodeName.toLowerCase() && x(t).trigger("blur") }, /*! * jQuery UI Scroll Parent 1.13.3 * https://jqueryui.com * * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license */ x.fn.scrollParent = function(t) { var e = this.css("position"), i = "absolute" === e, n = t ? /(auto|scroll|hidden)/ : /(auto|scroll)/, t = this.parents().filter(function() { var t = x(this); return (!i || "static" !== t.css("position")) && n.test(t.css("overflow") + t.css("overflow-y") + t.css("overflow-x")) }).eq(0); return "fixed" !== e && t.length ? t : x(this[0].ownerDocument || document) }, /*! * jQuery UI Tabbable 1.13.3 * https://jqueryui.com * * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license */ x.extend(x.expr.pseudos, { tabbable: function(t) { var e = x.attr(t, "tabindex"), i = null != e; return (!i || 0 <= e) && x.ui.focusable(t, i) } }), /*! * jQuery UI Unique ID 1.13.3 * https://jqueryui.com * * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license */ x.fn.extend({ uniqueId: (u = 0, function() { return this.each(function() { this.id || (this.id = "ui-id-" + ++u) }) }), removeUniqueId: function() { return this.each(function() { /^ui-id-\d+$/.test(this.id) && x(this).removeAttr("id") }) } }); /*! * jQuery UI Widget 1.13.3 * https://jqueryui.com * * Copyright OpenJS Foundation and other contributors * Released under the MIT license. * https://jquery.org/license */ var f, c = 0, d = Array.prototype.hasOwnProperty, p = Array.prototype.slice; x.cleanData = (f = x.cleanData, function(t) { for (var e, i, n = 0; null != (i = t[n]); n++)(e = x._data(i, "events")) && e.remove && x(i).triggerHandler("remove"); f(t) }), x.widget = function(t, i, e) { var n, o, s, r = {}, l = t.split(".")[0], a = l + "-" + (t = t.split(".")[1]); return e || (e = i, i = x.Widget), Array.isArray(e) && (e = x.extend.apply(null, [{}].concat(e))), x.expr.pseudos[a.toLowerCase()] = function(t) { return !!x.data(t, a) }, x[l] = x[l] || {}, n = x[l][t], o = x[l][t] = function(t, e) { if (!this || !this._createWidget) return new o(t, e); arguments.length && this._createWidget(t, e) }, x.extend(o, n, { version: e.version, _proto: x.extend({}, e), _childConstructors: [] }), (s = new i).options = x.widget.extend({}, s.options), x.each(e, function(e, n) { function o() { return i.prototype[e].apply(this, arguments) } function s(t) { return i.prototype[e].apply(this, t) } r[e] = "function" != typeof n ? n : function() { var t, e = this._super, i = this._superApply; return this._super = o, this._superApply = s, t = n.apply(this, arguments), this._super = e, this._superApply = i, t } }), o.prototype = x.widget.extend(s, { widgetEventPrefix: n && s.widgetEventPrefix || t }, r, { constructor: o, namespace: l, widgetName: t, widgetFullName: a }), n ? (x.each(n._childConstructors, function(t, e) { var i = e.prototype; x.widget(i.namespace + "." + i.widgetName, o, e._proto) }), delete n._childConstructors) : i._childConstructors.push(o), x.widget.bridge(t, o), o }, x.widget.extend = function(t) { for (var e, i, n = p.call(arguments, 1), o = 0, s = n.length; o < s; o++) for (e in n[o]) i = n[o][e], d.call(n[o], e) && void 0 !== i && (x.isPlainObject(i) ? t[e] = x.isPlainObject(t[e]) ? x.widget.extend({}, t[e], i) : x.widget.extend({}, i) : t[e] = i); return t }, x.widget.bridge = function(s, e) { var r = e.prototype.widgetFullName || s; x.fn[s] = function(i) { var t = "string" == typeof i, n = p.call(arguments, 1), o = this; return t ? this.length || "instance" !== i ? this.each(function() { var t, e = x.data(this, r); return "instance" === i ? (o = e, !1) : e ? "function" != typeof e[i] || "_" === i.charAt(0) ? x.error("no such method '" + i + "' for " + s + " widget instance") : (t = e[i].apply(e, n)) !== e && void 0 !== t ? (o = t && t.jquery ? o.pushStack(t.get()) : t, !1) : void 0 : x.error("cannot call methods on " + s + " prior to initialization; attempted to call method '" + i + "'") }) : o = void 0 : (n.length && (i = x.widget.extend.apply(null, [i].concat(n))), this.each(function() { var t = x.data(this, r); t ? (t.option(i || {}), t._init && t._init()) : x.data(this, r, new e(i, this)) })), o } }, x.Widget = function() {}, x.Widget._childConstructors = [], x.Widget.prototype = { widgetName: "widget", widgetEventPrefix: "", defaultElement: "