"use strict";
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
/*! jQuery UI - v1.12.1 - 2020-11-03
* http://jqueryui.com
* Includes: widget.js, data.js, keycode.js, scroll-parent.js, widgets/draggable.js, widgets/datepicker.js, widgets/mouse.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */
!function (t) {
"function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery);
}(function (t) {
t.ui = t.ui || {};
t.ui.version = "1.12.1";
/*!
* jQuery UI Widget 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
var e,
i = 0,
s = Array.prototype.slice;
t.cleanData = (e = t.cleanData, function (i) {
var s, a, n;
for (n = 0; null != (a = i[n]); n++) {
try {
(s = t._data(a, "events")) && s.remove && t(a).triggerHandler("remove");
} catch (t) {}
}
e(i);
}), t.widget = function (e, i, s) {
var a,
n,
r,
o = {},
l = e.split(".")[0],
h = l + "-" + (e = e.split(".")[1]);
return s || (s = i, i = t.Widget), t.isArray(s) && (s = t.extend.apply(null, [{}].concat(s))), t.expr[":"][h.toLowerCase()] = function (e) {
return !!t.data(e, h);
}, t[l] = t[l] || {}, a = t[l][e], n = t[l][e] = function (t, e) {
if (!this._createWidget) return new n(t, e);
arguments.length && this._createWidget(t, e);
}, t.extend(n, a, {
version: s.version,
_proto: t.extend({}, s),
_childConstructors: []
}), (r = new i()).options = t.widget.extend({}, r.options), t.each(s, function (e, s) {
t.isFunction(s) ? o[e] = function () {
function t() {
return i.prototype[e].apply(this, arguments);
}
function a(t) {
return i.prototype[e].apply(this, t);
}
return function () {
var e,
i = this._super,
n = this._superApply;
return this._super = t, this._superApply = a, e = s.apply(this, arguments), this._super = i, this._superApply = n, e;
};
}() : o[e] = s;
}), n.prototype = t.widget.extend(r, {
widgetEventPrefix: a && r.widgetEventPrefix || e
}, o, {
constructor: n,
namespace: l,
widgetName: e,
widgetFullName: h
}), a ? (t.each(a._childConstructors, function (e, i) {
var s = i.prototype;
t.widget(s.namespace + "." + s.widgetName, n, i._proto);
}), delete a._childConstructors) : i._childConstructors.push(n), t.widget.bridge(e, n), n;
}, t.widget.extend = function (e) {
for (var i, a, n = s.call(arguments, 1), r = 0, o = n.length; r < o; r++) {
for (i in n[r]) {
a = n[r][i], n[r].hasOwnProperty(i) && void 0 !== a && (t.isPlainObject(a) ? e[i] = t.isPlainObject(e[i]) ? t.widget.extend({}, e[i], a) : t.widget.extend({}, a) : e[i] = a);
}
}
return e;
}, t.widget.bridge = function (e, i) {
var a = i.prototype.widgetFullName || e;
t.fn[e] = function (n) {
var r = "string" == typeof n,
o = s.call(arguments, 1),
l = this;
return r ? this.length || "instance" !== n ? this.each(function () {
var i,
s = t.data(this, a);
return "instance" === n ? (l = s, !1) : s ? t.isFunction(s[n]) && "_" !== n.charAt(0) ? (i = s[n].apply(s, o)) !== s && void 0 !== i ? (l = i && i.jquery ? l.pushStack(i.get()) : i, !1) : void 0 : t.error("no such method '" + n + "' for " + e + " widget instance") : t.error("cannot call methods on " + e + " prior to initialization; attempted to call method '" + n + "'");
}) : l = void 0 : (o.length && (n = t.widget.extend.apply(null, [n].concat(o))), this.each(function () {
var e = t.data(this, a);
e ? (e.option(n || {}), e._init && e._init()) : t.data(this, a, new i(n, this));
})), l;
};
}, t.Widget = function () {}, t.Widget._childConstructors = [], t.Widget.prototype = {
widgetName: "widget",
widgetEventPrefix: "",
defaultElement: "
",
options: {
classes: {},
disabled: !1,
create: null
},
_createWidget: function _createWidget(e, s) {
s = t(s || this.defaultElement || this)[0], this.element = t(s), this.uuid = i++, this.eventNamespace = "." + this.widgetName + this.uuid, this.bindings = t(), this.hoverable = t(), this.focusable = t(), this.classesElementLookup = {}, s !== this && (t.data(s, this.widgetFullName, this), this._on(!0, this.element, {
remove: function remove(t) {
t.target === s && this.destroy();
}
}), this.document = t(s.style ? s.ownerDocument : s.document || s), this.window = t(this.document[0].defaultView || this.document[0].parentWindow)), this.options = t.widget.extend({}, this.options, this._getCreateOptions(), e), this._create(), this.options.disabled && this._setOptionDisabled(this.options.disabled), this._trigger("create", null, this._getCreateEventData()), this._init();
},
_getCreateOptions: function _getCreateOptions() {
return {};
},
_getCreateEventData: t.noop,
_create: t.noop,
_init: t.noop,
destroy: function destroy() {
var e = this;
this._destroy(), t.each(this.classesElementLookup, function (t, i) {
e._removeClass(i, t);
}), this.element.off(this.eventNamespace).removeData(this.widgetFullName), this.widget().off(this.eventNamespace).removeAttr("aria-disabled"), this.bindings.off(this.eventNamespace);
},
_destroy: t.noop,
widget: function widget() {
return this.element;
},
option: function option(e, i) {
var s,
a,
n,
r = e;
if (0 === arguments.length) return t.widget.extend({}, this.options);
if ("string" == typeof e) if (r = {}, e = (s = e.split(".")).shift(), s.length) {
for (a = r[e] = t.widget.extend({}, this.options[e]), n = 0; n < s.length - 1; n++) {
a[s[n]] = a[s[n]] || {}, a = a[s[n]];
}
if (e = s.pop(), 1 === arguments.length) return void 0 === a[e] ? null : a[e];
a[e] = i;
} else {
if (1 === arguments.length) return void 0 === this.options[e] ? null : this.options[e];
r[e] = i;
}
return this._setOptions(r), this;
},
_setOptions: function _setOptions(t) {
var e;
for (e in t) {
this._setOption(e, t[e]);
}
return this;
},
_setOption: function _setOption(t, e) {
return "classes" === t && this._setOptionClasses(e), this.options[t] = e, "disabled" === t && this._setOptionDisabled(e), this;
},
_setOptionClasses: function _setOptionClasses(e) {
var i, s, a;
for (i in e) {
a = this.classesElementLookup[i], e[i] !== this.options.classes[i] && a && a.length && (s = t(a.get()), this._removeClass(a, i), s.addClass(this._classes({
element: s,
keys: i,
classes: e,
add: !0
})));
}
},
_setOptionDisabled: function _setOptionDisabled(t) {
this._toggleClass(this.widget(), this.widgetFullName + "-disabled", null, !!t), t && (this._removeClass(this.hoverable, null, "ui-state-hover"), this._removeClass(this.focusable, null, "ui-state-focus"));
},
enable: function enable() {
return this._setOptions({
disabled: !1
});
},
disable: function disable() {
return this._setOptions({
disabled: !0
});
},
_classes: function _classes(e) {
var i = [],
s = this;
function a(a, n) {
var r, o;
for (o = 0; o < a.length; o++) {
r = s.classesElementLookup[a[o]] || t(), r = e.add ? t(t.unique(r.get().concat(e.element.get()))) : t(r.not(e.element).get()), s.classesElementLookup[a[o]] = r, i.push(a[o]), n && e.classes[a[o]] && i.push(e.classes[a[o]]);
}
}
return e = t.extend({
element: this.element,
classes: this.options.classes || {}
}, e), this._on(e.element, {
remove: "_untrackClassesElement"
}), e.keys && a(e.keys.match(/\S+/g) || [], !0), e.extra && a(e.extra.match(/\S+/g) || []), i.join(" ");
},
_untrackClassesElement: function _untrackClassesElement(e) {
var i = this;
t.each(i.classesElementLookup, function (s, a) {
-1 !== t.inArray(e.target, a) && (i.classesElementLookup[s] = t(a.not(e.target).get()));
});
},
_removeClass: function _removeClass(t, e, i) {
return this._toggleClass(t, e, i, !1);
},
_addClass: function _addClass(t, e, i) {
return this._toggleClass(t, e, i, !0);
},
_toggleClass: function _toggleClass(t, e, i, s) {
s = "boolean" == typeof s ? s : i;
var a = "string" == typeof t || null === t,
n = {
extra: a ? e : i,
keys: a ? t : e,
element: a ? this.element : t,
add: s
};
return n.element.toggleClass(this._classes(n), s), this;
},
_on: function _on(e, i, s) {
var a,
n = this;
"boolean" != typeof e && (s = i, i = e, e = !1), s ? (i = a = t(i), this.bindings = this.bindings.add(i)) : (s = i, i = this.element, a = this.widget()), t.each(s, function (s, r) {
function o() {
if (e || !0 !== n.options.disabled && !t(this).hasClass("ui-state-disabled")) return ("string" == typeof r ? n[r] : r).apply(n, arguments);
}
"string" != typeof r && (o.guid = r.guid = r.guid || o.guid || t.guid++);
var l = s.match(/^([\w:-]*)\s*(.*)$/),
h = l[1] + n.eventNamespace,
c = l[2];
c ? a.on(h, c, o) : i.on(h, o);
});
},
_off: function _off(e, i) {
i = (i || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace, e.off(i).off(i), this.bindings = t(this.bindings.not(e).get()), this.focusable = t(this.focusable.not(e).get()), this.hoverable = t(this.hoverable.not(e).get());
},
_delay: function _delay(t, e) {
var i = this;
return setTimeout(function () {
return ("string" == typeof t ? i[t] : t).apply(i, arguments);
}, e || 0);
},
_hoverable: function _hoverable(e) {
this.hoverable = this.hoverable.add(e), this._on(e, {
mouseenter: function mouseenter(e) {
this._addClass(t(e.currentTarget), null, "ui-state-hover");
},
mouseleave: function mouseleave(e) {
this._removeClass(t(e.currentTarget), null, "ui-state-hover");
}
});
},
_focusable: function _focusable(e) {
this.focusable = this.focusable.add(e), this._on(e, {
focusin: function focusin(e) {
this._addClass(t(e.currentTarget), null, "ui-state-focus");
},
focusout: function focusout(e) {
this._removeClass(t(e.currentTarget), null, "ui-state-focus");
}
});
},
_trigger: function _trigger(e, i, s) {
var a,
n,
r = this.options[e];
if (s = s || {}, (i = t.Event(i)).type = (e === this.widgetEventPrefix ? e : this.widgetEventPrefix + e).toLowerCase(), i.target = this.element[0], n = i.originalEvent) for (a in n) {
a in i || (i[a] = n[a]);
}
return this.element.trigger(i, s), !(t.isFunction(r) && !1 === r.apply(this.element[0], [i].concat(s)) || i.isDefaultPrevented());
}
}, t.each({
show: "fadeIn",
hide: "fadeOut"
}, function (e, i) {
t.Widget.prototype["_" + e] = function (s, a, n) {
var r;
"string" == typeof a && (a = {
effect: a
});
var o = a ? !0 === a || "number" == typeof a ? i : a.effect || i : e;
"number" == typeof (a = a || {}) && (a = {
duration: a
}), r = !t.isEmptyObject(a), a.complete = n, a.delay && s.delay(a.delay), r && t.effects && t.effects.effect[o] ? s[e](a) : o !== e && s[o] ? s[o](a.duration, a.easing, n) : s.queue(function (i) {
t(this)[e](), n && n.call(s[0]), i();
});
};
});
t.widget, t.extend(t.expr[":"], {
data: t.expr.createPseudo ? t.expr.createPseudo(function (e) {
return function (i) {
return !!t.data(i, e);
};
}) : function (e, i, s) {
return !!t.data(e, s[3]);
}
}), t.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
}, t.fn.scrollParent = function (e) {
var i = this.css("position"),
s = "absolute" === i,
a = e ? /(auto|scroll|hidden)/ : /(auto|scroll)/,
n = this.parents().filter(function () {
var e = t(this);
return (!s || "static" !== e.css("position")) && a.test(e.css("overflow") + e.css("overflow-y") + e.css("overflow-x"));
}).eq(0);
return "fixed" !== i && n.length ? n : t(this[0].ownerDocument || document);
}, t.ui.ie = !!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());
/*!
* jQuery UI :data 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
var a = !1;
t(document).on("mouseup", function () {
a = !1;
});
t.widget("ui.mouse", {
version: "1.12.1",
options: {
cancel: "input, textarea, button, select, option",
distance: 1,
delay: 0
},
_mouseInit: function _mouseInit() {
var e = this;
this.element.on("mousedown." + this.widgetName, function (t) {
return e._mouseDown(t);
}).on("click." + this.widgetName, function (i) {
if (!0 === t.data(i.target, e.widgetName + ".preventClickEvent")) return t.removeData(i.target, e.widgetName + ".preventClickEvent"), i.stopImmediatePropagation(), !1;
}), this.started = !1;
},
_mouseDestroy: function _mouseDestroy() {
this.element.off("." + this.widgetName), this._mouseMoveDelegate && this.document.off("mousemove." + this.widgetName, this._mouseMoveDelegate).off("mouseup." + this.widgetName, this._mouseUpDelegate);
},
_mouseDown: function _mouseDown(e) {
if (!a) {
this._mouseMoved = !1, this._mouseStarted && this._mouseUp(e), this._mouseDownEvent = e;
var i = this,
s = 1 === e.which,
n = !("string" != typeof this.options.cancel || !e.target.nodeName) && t(e.target).closest(this.options.cancel).length;
return !(s && !n && this._mouseCapture(e)) || (this.mouseDelayMet = !this.options.delay, this.mouseDelayMet || (this._mouseDelayTimer = setTimeout(function () {
i.mouseDelayMet = !0;
}, this.options.delay)), this._mouseDistanceMet(e) && this._mouseDelayMet(e) && (this._mouseStarted = !1 !== this._mouseStart(e), !this._mouseStarted) ? (e.preventDefault(), !0) : (!0 === t.data(e.target, this.widgetName + ".preventClickEvent") && t.removeData(e.target, this.widgetName + ".preventClickEvent"), this._mouseMoveDelegate = function (t) {
return i._mouseMove(t);
}, this._mouseUpDelegate = function (t) {
return i._mouseUp(t);
}, this.document.on("mousemove." + this.widgetName, this._mouseMoveDelegate).on("mouseup." + this.widgetName, this._mouseUpDelegate), e.preventDefault(), a = !0, !0));
}
},
_mouseMove: function _mouseMove(e) {
if (this._mouseMoved) {
if (t.ui.ie && (!document.documentMode || document.documentMode < 9) && !e.button) return this._mouseUp(e);
if (!e.which) if (e.originalEvent.altKey || e.originalEvent.ctrlKey || e.originalEvent.metaKey || e.originalEvent.shiftKey) this.ignoreMissingWhich = !0;else if (!this.ignoreMissingWhich) return this._mouseUp(e);
}
return (e.which || e.button) && (this._mouseMoved = !0), this._mouseStarted ? (this._mouseDrag(e), e.preventDefault()) : (this._mouseDistanceMet(e) && this._mouseDelayMet(e) && (this._mouseStarted = !1 !== this._mouseStart(this._mouseDownEvent, e), this._mouseStarted ? this._mouseDrag(e) : this._mouseUp(e)), !this._mouseStarted);
},
_mouseUp: function _mouseUp(e) {
this.document.off("mousemove." + this.widgetName, this._mouseMoveDelegate).off("mouseup." + this.widgetName, this._mouseUpDelegate), this._mouseStarted && (this._mouseStarted = !1, e.target === this._mouseDownEvent.target && t.data(e.target, this.widgetName + ".preventClickEvent", !0), this._mouseStop(e)), this._mouseDelayTimer && (clearTimeout(this._mouseDelayTimer), delete this._mouseDelayTimer), this.ignoreMissingWhich = !1, a = !1, e.preventDefault();
},
_mouseDistanceMet: function _mouseDistanceMet(t) {
return Math.max(Math.abs(this._mouseDownEvent.pageX - t.pageX), Math.abs(this._mouseDownEvent.pageY - t.pageY)) >= this.options.distance;
},
_mouseDelayMet: function _mouseDelayMet() {
return this.mouseDelayMet;
},
_mouseStart: function _mouseStart() {},
_mouseDrag: function _mouseDrag() {},
_mouseStop: function _mouseStop() {},
_mouseCapture: function _mouseCapture() {
return !0;
}
}), t.ui.plugin = {
add: function add(e, i, s) {
var a,
n = t.ui[e].prototype;
for (a in s) {
n.plugins[a] = n.plugins[a] || [], n.plugins[a].push([i, s[a]]);
}
},
call: function call(t, e, i, s) {
var a,
n = t.plugins[e];
if (n && (s || t.element[0].parentNode && 11 !== t.element[0].parentNode.nodeType)) for (a = 0; a < n.length; a++) {
t.options[n[a][0]] && n[a][1].apply(t.element, i);
}
}
}, t.ui.safeActiveElement = function (t) {
var e;
try {
e = t.activeElement;
} catch (i) {
e = t.body;
}
return e || (e = t.body), e.nodeName || (e = t.body), e;
}, t.ui.safeBlur = function (e) {
e && "body" !== e.nodeName.toLowerCase() && t(e).trigger("blur");
};
/*!
* jQuery UI Draggable 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
t.widget("ui.draggable", t.ui.mouse, {
version: "1.12.1",
widgetEventPrefix: "drag",
options: {
addClasses: !0,
appendTo: "parent",
axis: !1,
connectToSortable: !1,
containment: !1,
cursor: "auto",
cursorAt: !1,
grid: !1,
handle: !1,
helper: "original",
iframeFix: !1,
opacity: !1,
refreshPositions: !1,
revert: !1,
revertDuration: 500,
scope: "default",
scroll: !0,
scrollSensitivity: 20,
scrollSpeed: 20,
snap: !1,
snapMode: "both",
snapTolerance: 20,
stack: !1,
zIndex: !1,
drag: null,
start: null,
stop: null
},
_create: function _create() {
"original" === this.options.helper && this._setPositionRelative(), this.options.addClasses && this._addClass("ui-draggable"), this._setHandleClassName(), this._mouseInit();
},
_setOption: function _setOption(t, e) {
this._super(t, e), "handle" === t && (this._removeHandleClassName(), this._setHandleClassName());
},
_destroy: function _destroy() {
(this.helper || this.element).is(".ui-draggable-dragging") ? this.destroyOnClear = !0 : (this._removeHandleClassName(), this._mouseDestroy());
},
_mouseCapture: function _mouseCapture(e) {
var i = this.options;
return !(this.helper || i.disabled || t(e.target).closest(".ui-resizable-handle").length > 0) && (this.handle = this._getHandle(e), !!this.handle && (this._blurActiveElement(e), this._blockFrames(!0 === i.iframeFix ? "iframe" : i.iframeFix), !0));
},
_blockFrames: function _blockFrames(e) {
this.iframeBlocks = this.document.find(e).map(function () {
var e = t(this);
return t("
").css("position", "absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0];
});
},
_unblockFrames: function _unblockFrames() {
this.iframeBlocks && (this.iframeBlocks.remove(), delete this.iframeBlocks);
},
_blurActiveElement: function _blurActiveElement(e) {
var i = t.ui.safeActiveElement(this.document[0]);
t(e.target).closest(i).length || t.ui.safeBlur(i);
},
_mouseStart: function _mouseStart(e) {
var i = this.options;
return this.helper = this._createHelper(e), this._addClass(this.helper, "ui-draggable-dragging"), this._cacheHelperProportions(), t.ui.ddmanager && (t.ui.ddmanager.current = this), this._cacheMargins(), this.cssPosition = this.helper.css("position"), this.scrollParent = this.helper.scrollParent(!0), this.offsetParent = this.helper.offsetParent(), this.hasFixedAncestor = this.helper.parents().filter(function () {
return "fixed" === t(this).css("position");
}).length > 0, this.positionAbs = this.element.offset(), this._refreshOffsets(e), this.originalPosition = this.position = this._generatePosition(e, !1), this.originalPageX = e.pageX, this.originalPageY = e.pageY, i.cursorAt && this._adjustOffsetFromHelper(i.cursorAt), this._setContainment(), !1 === this._trigger("start", e) ? (this._clear(), !1) : (this._cacheHelperProportions(), t.ui.ddmanager && !i.dropBehaviour && t.ui.ddmanager.prepareOffsets(this, e), this._mouseDrag(e, !0), t.ui.ddmanager && t.ui.ddmanager.dragStart(this, e), !0);
},
_refreshOffsets: function _refreshOffsets(t) {
this.offset = {
top: this.positionAbs.top - this.margins.top,
left: this.positionAbs.left - this.margins.left,
scroll: !1,
parent: this._getParentOffset(),
relative: this._getRelativeOffset()
}, this.offset.click = {
left: t.pageX - this.offset.left,
top: t.pageY - this.offset.top
};
},
_mouseDrag: function _mouseDrag(e, i) {
if (this.hasFixedAncestor && (this.offset.parent = this._getParentOffset()), this.position = this._generatePosition(e, !0), this.positionAbs = this._convertPositionTo("absolute"), !i) {
var s = this._uiHash();
if (!1 === this._trigger("drag", e, s)) return this._mouseUp(new t.Event("mouseup", e)), !1;
this.position = s.position;
}
return this.helper[0].style.left = this.position.left + "px", this.helper[0].style.top = this.position.top + "px", t.ui.ddmanager && t.ui.ddmanager.drag(this, e), !1;
},
_mouseStop: function _mouseStop(e) {
var i = this,
s = !1;
return t.ui.ddmanager && !this.options.dropBehaviour && (s = t.ui.ddmanager.drop(this, e)), this.dropped && (s = this.dropped, this.dropped = !1), "invalid" === this.options.revert && !s || "valid" === this.options.revert && s || !0 === this.options.revert || t.isFunction(this.options.revert) && this.options.revert.call(this.element, s) ? t(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function () {
!1 !== i._trigger("stop", e) && i._clear();
}) : !1 !== this._trigger("stop", e) && this._clear(), !1;
},
_mouseUp: function _mouseUp(e) {
return this._unblockFrames(), t.ui.ddmanager && t.ui.ddmanager.dragStop(this, e), this.handleElement.is(e.target) && this.element.trigger("focus"), t.ui.mouse.prototype._mouseUp.call(this, e);
},
cancel: function cancel() {
return this.helper.is(".ui-draggable-dragging") ? this._mouseUp(new t.Event("mouseup", {
target: this.element[0]
})) : this._clear(), this;
},
_getHandle: function _getHandle(e) {
return !this.options.handle || !!t(e.target).closest(this.element.find(this.options.handle)).length;
},
_setHandleClassName: function _setHandleClassName() {
this.handleElement = this.options.handle ? this.element.find(this.options.handle) : this.element, this._addClass(this.handleElement, "ui-draggable-handle");
},
_removeHandleClassName: function _removeHandleClassName() {
this._removeClass(this.handleElement, "ui-draggable-handle");
},
_createHelper: function _createHelper(e) {
var i = this.options,
s = t.isFunction(i.helper),
a = s ? t(i.helper.apply(this.element[0], [e])) : "clone" === i.helper ? this.element.clone().removeAttr("id") : this.element;
return a.parents("body").length || a.appendTo("parent" === i.appendTo ? this.element[0].parentNode : i.appendTo), s && a[0] === this.element[0] && this._setPositionRelative(), a[0] === this.element[0] || /(fixed|absolute)/.test(a.css("position")) || a.css("position", "absolute"), a;
},
_setPositionRelative: function _setPositionRelative() {
/^(?:r|a|f)/.test(this.element.css("position")) || (this.element[0].style.position = "relative");
},
_adjustOffsetFromHelper: function _adjustOffsetFromHelper(e) {
"string" == typeof e && (e = e.split(" ")), t.isArray(e) && (e = {
left: +e[0],
top: +e[1] || 0
}), "left" in e && (this.offset.click.left = e.left + this.margins.left), "right" in e && (this.offset.click.left = this.helperProportions.width - e.right + this.margins.left), "top" in e && (this.offset.click.top = e.top + this.margins.top), "bottom" in e && (this.offset.click.top = this.helperProportions.height - e.bottom + this.margins.top);
},
_isRootNode: function _isRootNode(t) {
return /(html|body)/i.test(t.tagName) || t === this.document[0];
},
_getParentOffset: function _getParentOffset() {
var e = this.offsetParent.offset(),
i = this.document[0];
return "absolute" === this.cssPosition && this.scrollParent[0] !== i && t.contains(this.scrollParent[0], this.offsetParent[0]) && (e.left += this.scrollParent.scrollLeft(), e.top += this.scrollParent.scrollTop()), this._isRootNode(this.offsetParent[0]) && (e = {
top: 0,
left: 0
}), {
top: e.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0),
left: e.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)
};
},
_getRelativeOffset: function _getRelativeOffset() {
if ("relative" !== this.cssPosition) return {
top: 0,
left: 0
};
var t = this.element.position(),
e = this._isRootNode(this.scrollParent[0]);
return {
top: t.top - (parseInt(this.helper.css("top"), 10) || 0) + (e ? 0 : this.scrollParent.scrollTop()),
left: t.left - (parseInt(this.helper.css("left"), 10) || 0) + (e ? 0 : this.scrollParent.scrollLeft())
};
},
_cacheMargins: function _cacheMargins() {
this.margins = {
left: parseInt(this.element.css("marginLeft"), 10) || 0,
top: parseInt(this.element.css("marginTop"), 10) || 0,
right: parseInt(this.element.css("marginRight"), 10) || 0,
bottom: parseInt(this.element.css("marginBottom"), 10) || 0
};
},
_cacheHelperProportions: function _cacheHelperProportions() {
this.helperProportions = {
width: this.helper.outerWidth(),
height: this.helper.outerHeight()
};
},
_setContainment: function _setContainment() {
var e,
i,
s,
a = this.options,
n = this.document[0];
this.relativeContainer = null, a.containment ? "window" !== a.containment ? "document" !== a.containment ? a.containment.constructor !== Array ? ("parent" === a.containment && (a.containment = this.helper[0].parentNode), (s = (i = t(a.containment))[0]) && (e = /(scroll|auto)/.test(i.css("overflow")), this.containment = [(parseInt(i.css("borderLeftWidth"), 10) || 0) + (parseInt(i.css("paddingLeft"), 10) || 0), (parseInt(i.css("borderTopWidth"), 10) || 0) + (parseInt(i.css("paddingTop"), 10) || 0), (e ? Math.max(s.scrollWidth, s.offsetWidth) : s.offsetWidth) - (parseInt(i.css("borderRightWidth"), 10) || 0) - (parseInt(i.css("paddingRight"), 10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right, (e ? Math.max(s.scrollHeight, s.offsetHeight) : s.offsetHeight) - (parseInt(i.css("borderBottomWidth"), 10) || 0) - (parseInt(i.css("paddingBottom"), 10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom], this.relativeContainer = i)) : this.containment = a.containment : this.containment = [0, 0, t(n).width() - this.helperProportions.width - this.margins.left, (t(n).height() || n.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top] : this.containment = [t(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left, t(window).scrollTop() - this.offset.relative.top - this.offset.parent.top, t(window).scrollLeft() + t(window).width() - this.helperProportions.width - this.margins.left, t(window).scrollTop() + (t(window).height() || n.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top] : this.containment = null;
},
_convertPositionTo: function _convertPositionTo(t, e) {
e || (e = this.position);
var i = "absolute" === t ? 1 : -1,
s = this._isRootNode(this.scrollParent[0]);
return {
top: e.top + this.offset.relative.top * i + this.offset.parent.top * i - ("fixed" === this.cssPosition ? -this.offset.scroll.top : s ? 0 : this.offset.scroll.top) * i,
left: e.left + this.offset.relative.left * i + this.offset.parent.left * i - ("fixed" === this.cssPosition ? -this.offset.scroll.left : s ? 0 : this.offset.scroll.left) * i
};
},
_generatePosition: function _generatePosition(t, e) {
var i,
s,
a,
n,
r = this.options,
o = this._isRootNode(this.scrollParent[0]),
l = t.pageX,
h = t.pageY;
return o && this.offset.scroll || (this.offset.scroll = {
top: this.scrollParent.scrollTop(),
left: this.scrollParent.scrollLeft()
}), e && (this.containment && (this.relativeContainer ? (s = this.relativeContainer.offset(), i = [this.containment[0] + s.left, this.containment[1] + s.top, this.containment[2] + s.left, this.containment[3] + s.top]) : i = this.containment, t.pageX - this.offset.click.left < i[0] && (l = i[0] + this.offset.click.left), t.pageY - this.offset.click.top < i[1] && (h = i[1] + this.offset.click.top), t.pageX - this.offset.click.left > i[2] && (l = i[2] + this.offset.click.left), t.pageY - this.offset.click.top > i[3] && (h = i[3] + this.offset.click.top)), r.grid && (a = r.grid[1] ? this.originalPageY + Math.round((h - this.originalPageY) / r.grid[1]) * r.grid[1] : this.originalPageY, h = i ? a - this.offset.click.top >= i[1] || a - this.offset.click.top > i[3] ? a : a - this.offset.click.top >= i[1] ? a - r.grid[1] : a + r.grid[1] : a, n = r.grid[0] ? this.originalPageX + Math.round((l - this.originalPageX) / r.grid[0]) * r.grid[0] : this.originalPageX, l = i ? n - this.offset.click.left >= i[0] || n - this.offset.click.left > i[2] ? n : n - this.offset.click.left >= i[0] ? n - r.grid[0] : n + r.grid[0] : n), "y" === r.axis && (l = this.originalPageX), "x" === r.axis && (h = this.originalPageY)), {
top: h - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + ("fixed" === this.cssPosition ? -this.offset.scroll.top : o ? 0 : this.offset.scroll.top),
left: l - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + ("fixed" === this.cssPosition ? -this.offset.scroll.left : o ? 0 : this.offset.scroll.left)
};
},
_clear: function _clear() {
this._removeClass(this.helper, "ui-draggable-dragging"), this.helper[0] === this.element[0] || this.cancelHelperRemoval || this.helper.remove(), this.helper = null, this.cancelHelperRemoval = !1, this.destroyOnClear && this.destroy();
},
_trigger: function _trigger(e, i, s) {
return s = s || this._uiHash(), t.ui.plugin.call(this, e, [i, s, this], !0), /^(drag|start|stop)/.test(e) && (this.positionAbs = this._convertPositionTo("absolute"), s.offset = this.positionAbs), t.Widget.prototype._trigger.call(this, e, i, s);
},
plugins: {},
_uiHash: function _uiHash() {
return {
helper: this.helper,
position: this.position,
originalPosition: this.originalPosition,
offset: this.positionAbs
};
}
}), t.ui.plugin.add("draggable", "connectToSortable", {
start: function start(e, i, s) {
var a = t.extend({}, i, {
item: s.element
});
s.sortables = [], t(s.options.connectToSortable).each(function () {
var i = t(this).sortable("instance");
i && !i.options.disabled && (s.sortables.push(i), i.refreshPositions(), i._trigger("activate", e, a));
});
},
stop: function stop(e, i, s) {
var a = t.extend({}, i, {
item: s.element
});
s.cancelHelperRemoval = !1, t.each(s.sortables, function () {
this.isOver ? (this.isOver = 0, s.cancelHelperRemoval = !0, this.cancelHelperRemoval = !1, this._storedCSS = {
position: this.placeholder.css("position"),
top: this.placeholder.css("top"),
left: this.placeholder.css("left")
}, this._mouseStop(e), this.options.helper = this.options._helper) : (this.cancelHelperRemoval = !0, this._trigger("deactivate", e, a));
});
},
drag: function drag(e, i, s) {
t.each(s.sortables, function () {
var a = !1,
n = this;
n.positionAbs = s.positionAbs, n.helperProportions = s.helperProportions, n.offset.click = s.offset.click, n._intersectsWith(n.containerCache) && (a = !0, t.each(s.sortables, function () {
return this.positionAbs = s.positionAbs, this.helperProportions = s.helperProportions, this.offset.click = s.offset.click, this !== n && this._intersectsWith(this.containerCache) && t.contains(n.element[0], this.element[0]) && (a = !1), a;
})), a ? (n.isOver || (n.isOver = 1, s._parent = i.helper.parent(), n.currentItem = i.helper.appendTo(n.element).data("ui-sortable-item", !0), n.options._helper = n.options.helper, n.options.helper = function () {
return i.helper[0];
}, e.target = n.currentItem[0], n._mouseCapture(e, !0), n._mouseStart(e, !0, !0), n.offset.click.top = s.offset.click.top, n.offset.click.left = s.offset.click.left, n.offset.parent.left -= s.offset.parent.left - n.offset.parent.left, n.offset.parent.top -= s.offset.parent.top - n.offset.parent.top, s._trigger("toSortable", e), s.dropped = n.element, t.each(s.sortables, function () {
this.refreshPositions();
}), s.currentItem = s.element, n.fromOutside = s), n.currentItem && (n._mouseDrag(e), i.position = n.position)) : n.isOver && (n.isOver = 0, n.cancelHelperRemoval = !0, n.options._revert = n.options.revert, n.options.revert = !1, n._trigger("out", e, n._uiHash(n)), n._mouseStop(e, !0), n.options.revert = n.options._revert, n.options.helper = n.options._helper, n.placeholder && n.placeholder.remove(), i.helper.appendTo(s._parent), s._refreshOffsets(e), i.position = s._generatePosition(e, !0), s._trigger("fromSortable", e), s.dropped = !1, t.each(s.sortables, function () {
this.refreshPositions();
}));
});
}
}), t.ui.plugin.add("draggable", "cursor", {
start: function start(e, i, s) {
var a = t("body"),
n = s.options;
a.css("cursor") && (n._cursor = a.css("cursor")), a.css("cursor", n.cursor);
},
stop: function stop(e, i, s) {
var a = s.options;
a._cursor && t("body").css("cursor", a._cursor);
}
}), t.ui.plugin.add("draggable", "opacity", {
start: function start(e, i, s) {
var a = t(i.helper),
n = s.options;
a.css("opacity") && (n._opacity = a.css("opacity")), a.css("opacity", n.opacity);
},
stop: function stop(e, i, s) {
var a = s.options;
a._opacity && t(i.helper).css("opacity", a._opacity);
}
}), t.ui.plugin.add("draggable", "scroll", {
start: function start(t, e, i) {
i.scrollParentNotHidden || (i.scrollParentNotHidden = i.helper.scrollParent(!1)), i.scrollParentNotHidden[0] !== i.document[0] && "HTML" !== i.scrollParentNotHidden[0].tagName && (i.overflowOffset = i.scrollParentNotHidden.offset());
},
drag: function drag(e, i, s) {
var a = s.options,
n = !1,
r = s.scrollParentNotHidden[0],
o = s.document[0];
r !== o && "HTML" !== r.tagName ? (a.axis && "x" === a.axis || (s.overflowOffset.top + r.offsetHeight - e.pageY < a.scrollSensitivity ? r.scrollTop = n = r.scrollTop + a.scrollSpeed : e.pageY - s.overflowOffset.top < a.scrollSensitivity && (r.scrollTop = n = r.scrollTop - a.scrollSpeed)), a.axis && "y" === a.axis || (s.overflowOffset.left + r.offsetWidth - e.pageX < a.scrollSensitivity ? r.scrollLeft = n = r.scrollLeft + a.scrollSpeed : e.pageX - s.overflowOffset.left < a.scrollSensitivity && (r.scrollLeft = n = r.scrollLeft - a.scrollSpeed))) : (a.axis && "x" === a.axis || (e.pageY - t(o).scrollTop() < a.scrollSensitivity ? n = t(o).scrollTop(t(o).scrollTop() - a.scrollSpeed) : t(window).height() - (e.pageY - t(o).scrollTop()) < a.scrollSensitivity && (n = t(o).scrollTop(t(o).scrollTop() + a.scrollSpeed))), a.axis && "y" === a.axis || (e.pageX - t(o).scrollLeft() < a.scrollSensitivity ? n = t(o).scrollLeft(t(o).scrollLeft() - a.scrollSpeed) : t(window).width() - (e.pageX - t(o).scrollLeft()) < a.scrollSensitivity && (n = t(o).scrollLeft(t(o).scrollLeft() + a.scrollSpeed)))), !1 !== n && t.ui.ddmanager && !a.dropBehaviour && t.ui.ddmanager.prepareOffsets(s, e);
}
}), t.ui.plugin.add("draggable", "snap", {
start: function start(e, i, s) {
var a = s.options;
s.snapElements = [], t(a.snap.constructor !== String ? a.snap.items || ":data(ui-draggable)" : a.snap).each(function () {
var e = t(this),
i = e.offset();
this !== s.element[0] && s.snapElements.push({
item: this,
width: e.outerWidth(),
height: e.outerHeight(),
top: i.top,
left: i.left
});
});
},
drag: function drag(e, i, s) {
var a,
n,
r,
o,
l,
h,
c,
d,
p,
u,
f = s.options,
g = f.snapTolerance,
m = i.offset.left,
_ = m + s.helperProportions.width,
v = i.offset.top,
k = v + s.helperProportions.height;
for (p = s.snapElements.length - 1; p >= 0; p--) {
h = (l = s.snapElements[p].left - s.margins.left) + s.snapElements[p].width, d = (c = s.snapElements[p].top - s.margins.top) + s.snapElements[p].height, _ < l - g || m > h + g || k < c - g || v > d + g || !t.contains(s.snapElements[p].item.ownerDocument, s.snapElements[p].item) ? (s.snapElements[p].snapping && s.options.snap.release && s.options.snap.release.call(s.element, e, t.extend(s._uiHash(), {
snapItem: s.snapElements[p].item
})), s.snapElements[p].snapping = !1) : ("inner" !== f.snapMode && (a = Math.abs(c - k) <= g, n = Math.abs(d - v) <= g, r = Math.abs(l - _) <= g, o = Math.abs(h - m) <= g, a && (i.position.top = s._convertPositionTo("relative", {
top: c - s.helperProportions.height,
left: 0
}).top), n && (i.position.top = s._convertPositionTo("relative", {
top: d,
left: 0
}).top), r && (i.position.left = s._convertPositionTo("relative", {
top: 0,
left: l - s.helperProportions.width
}).left), o && (i.position.left = s._convertPositionTo("relative", {
top: 0,
left: h
}).left)), u = a || n || r || o, "outer" !== f.snapMode && (a = Math.abs(c - v) <= g, n = Math.abs(d - k) <= g, r = Math.abs(l - m) <= g, o = Math.abs(h - _) <= g, a && (i.position.top = s._convertPositionTo("relative", {
top: c,
left: 0
}).top), n && (i.position.top = s._convertPositionTo("relative", {
top: d - s.helperProportions.height,
left: 0
}).top), r && (i.position.left = s._convertPositionTo("relative", {
top: 0,
left: l
}).left), o && (i.position.left = s._convertPositionTo("relative", {
top: 0,
left: h - s.helperProportions.width
}).left)), !s.snapElements[p].snapping && (a || n || r || o || u) && s.options.snap.snap && s.options.snap.snap.call(s.element, e, t.extend(s._uiHash(), {
snapItem: s.snapElements[p].item
})), s.snapElements[p].snapping = a || n || r || o || u);
}
}
}), t.ui.plugin.add("draggable", "stack", {
start: function start(e, i, s) {
var a,
n = s.options,
r = t.makeArray(t(n.stack)).sort(function (e, i) {
return (parseInt(t(e).css("zIndex"), 10) || 0) - (parseInt(t(i).css("zIndex"), 10) || 0);
});
r.length && (a = parseInt(t(r[0]).css("zIndex"), 10) || 0, t(r).each(function (e) {
t(this).css("zIndex", a + e);
}), this.css("zIndex", a + r.length));
}
}), t.ui.plugin.add("draggable", "zIndex", {
start: function start(e, i, s) {
var a = t(i.helper),
n = s.options;
a.css("zIndex") && (n._zIndex = a.css("zIndex")), a.css("zIndex", n.zIndex);
},
stop: function stop(e, i, s) {
var a = s.options;
a._zIndex && t(i.helper).css("zIndex", a._zIndex);
}
});
var n;
/*!
* jQuery UI Datepicker 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
t.ui.draggable;
function r() {
this._curInst = null, this._keyEvent = !1, this._disabledInputs = [], this._datepickerShowing = !1, this._inDialog = !1, this._mainDivId = "ui-datepicker-div", this._inlineClass = "ui-datepicker-inline", this._appendClass = "ui-datepicker-append", this._triggerClass = "ui-datepicker-trigger", this._dialogClass = "ui-datepicker-dialog", this._disableClass = "ui-datepicker-disabled", this._unselectableClass = "ui-datepicker-unselectable", this._currentClass = "ui-datepicker-current-day", this._dayOverClass = "ui-datepicker-days-cell-over", this.regional = [], this.regional[""] = {
closeText: "Done",
prevText: "Prev",
nextText: "Next",
currentText: "Today",
monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
weekHeader: "Wk",
dateFormat: "mm/dd/yy",
firstDay: 0,
isRTL: !1,
showMonthAfterYear: !1,
yearSuffix: ""
}, this._defaults = {
showOn: "focus",
showAnim: "fadeIn",
showOptions: {},
defaultDate: null,
appendText: "",
buttonText: "...",
buttonImage: "",
buttonImageOnly: !1,
hideIfNoPrevNext: !1,
navigationAsDateFormat: !1,
gotoCurrent: !1,
changeMonth: !1,
changeYear: !1,
yearRange: "c-10:c+10",
showOtherMonths: !1,
selectOtherMonths: !1,
showWeek: !1,
calculateWeek: this.iso8601Week,
shortYearCutoff: "+10",
minDate: null,
maxDate: null,
duration: "fast",
beforeShowDay: null,
beforeShow: null,
onSelect: null,
onChangeMonthYear: null,
onClose: null,
numberOfMonths: 1,
showCurrentAtPos: 0,
stepMonths: 1,
stepBigMonths: 12,
altField: "",
altFormat: "",
constrainInput: !0,
showButtonPanel: !1,
autoSize: !1,
disabled: !1
}, t.extend(this._defaults, this.regional[""]), this.regional.en = t.extend(!0, {}, this.regional[""]), this.regional["en-US"] = t.extend(!0, {}, this.regional.en), this.dpDiv = o(t(""));
}
function o(e) {
var i = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";
return e.on("mouseout", i, function () {
t(this).removeClass("ui-state-hover"), -1 !== this.className.indexOf("ui-datepicker-prev") && t(this).removeClass("ui-datepicker-prev-hover"), -1 !== this.className.indexOf("ui-datepicker-next") && t(this).removeClass("ui-datepicker-next-hover");
}).on("mouseover", i, l);
}
function l() {
t.datepicker._isDisabledDatepicker(n.inline ? n.dpDiv.parent()[0] : n.input[0]) || (t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"), t(this).addClass("ui-state-hover"), -1 !== this.className.indexOf("ui-datepicker-prev") && t(this).addClass("ui-datepicker-prev-hover"), -1 !== this.className.indexOf("ui-datepicker-next") && t(this).addClass("ui-datepicker-next-hover"));
}
function h(e, i) {
for (var s in t.extend(e, i), i) {
null == i[s] && (e[s] = i[s]);
}
return e;
}
t.extend(t.ui, {
datepicker: {
version: "1.12.1"
}
}), t.extend(r.prototype, {
markerClassName: "hasDatepicker",
maxRows: 4,
_widgetDatepicker: function _widgetDatepicker() {
return this.dpDiv;
},
setDefaults: function setDefaults(t) {
return h(this._defaults, t || {}), this;
},
_attachDatepicker: function _attachDatepicker(e, i) {
var s, a, n;
a = "div" === (s = e.nodeName.toLowerCase()) || "span" === s, e.id || (this.uuid += 1, e.id = "dp" + this.uuid), (n = this._newInst(t(e), a)).settings = t.extend({}, i || {}), "input" === s ? this._connectDatepicker(e, n) : a && this._inlineDatepicker(e, n);
},
_newInst: function _newInst(e, i) {
return {
id: e[0].id.replace(/([^A-Za-z0-9_\-])/g, "\\\\$1"),
input: e,
selectedDay: 0,
selectedMonth: 0,
selectedYear: 0,
drawMonth: 0,
drawYear: 0,
inline: i,
dpDiv: i ? o(t("")) : this.dpDiv
};
},
_connectDatepicker: function _connectDatepicker(e, i) {
var s = t(e);
i.append = t([]), i.trigger = t([]), s.hasClass(this.markerClassName) || (this._attachments(s, i), s.addClass(this.markerClassName).on("keydown", this._doKeyDown).on("keypress", this._doKeyPress).on("keyup", this._doKeyUp), this._autoSize(i), t.data(e, "datepicker", i), i.settings.disabled && this._disableDatepicker(e));
},
_attachments: function _attachments(e, i) {
var s,
a,
n,
r = this._get(i, "appendText"),
o = this._get(i, "isRTL");
i.append && i.append.remove(), r && (i.append = t("" + r + ""), e[o ? "before" : "after"](i.append)), e.off("focus", this._showDatepicker), i.trigger && i.trigger.remove(), "focus" !== (s = this._get(i, "showOn")) && "both" !== s || e.on("focus", this._showDatepicker), "button" !== s && "both" !== s || (a = this._get(i, "buttonText"), n = this._get(i, "buttonImage"), i.trigger = t(this._get(i, "buttonImageOnly") ? t("").addClass(this._triggerClass).attr({
src: n,
alt: a,
title: a
}) : t("").addClass(this._triggerClass).html(n ? t("").attr({
src: n,
alt: a,
title: a
}) : a)), e[o ? "before" : "after"](i.trigger), i.trigger.on("click", function () {
return t.datepicker._datepickerShowing && t.datepicker._lastInput === e[0] ? t.datepicker._hideDatepicker() : t.datepicker._datepickerShowing && t.datepicker._lastInput !== e[0] ? (t.datepicker._hideDatepicker(), t.datepicker._showDatepicker(e[0])) : t.datepicker._showDatepicker(e[0]), !1;
}));
},
_autoSize: function _autoSize(t) {
if (this._get(t, "autoSize") && !t.inline) {
var e,
i,
s,
a,
n = new Date(2009, 11, 20),
r = this._get(t, "dateFormat");
r.match(/[DM]/) && (e = function e(t) {
for (i = 0, s = 0, a = 0; a < t.length; a++) {
t[a].length > i && (i = t[a].length, s = a);
}
return s;
}, n.setMonth(e(this._get(t, r.match(/MM/) ? "monthNames" : "monthNamesShort"))), n.setDate(e(this._get(t, r.match(/DD/) ? "dayNames" : "dayNamesShort")) + 20 - n.getDay())), t.input.attr("size", this._formatDate(t, n).length);
}
},
_inlineDatepicker: function _inlineDatepicker(e, i) {
var s = t(e);
s.hasClass(this.markerClassName) || (s.addClass(this.markerClassName).append(i.dpDiv), t.data(e, "datepicker", i), this._setDate(i, this._getDefaultDate(i), !0), this._updateDatepicker(i), this._updateAlternate(i), i.settings.disabled && this._disableDatepicker(e), i.dpDiv.css("display", "block"));
},
_dialogDatepicker: function _dialogDatepicker(e, i, s, a, n) {
var r,
o,
l,
c,
d,
p = this._dialogInst;
return p || (this.uuid += 1, r = "dp" + this.uuid, this._dialogInput = t(""), this._dialogInput.on("keydown", this._doKeyDown), t("body").append(this._dialogInput), (p = this._dialogInst = this._newInst(this._dialogInput, !1)).settings = {}, t.data(this._dialogInput[0], "datepicker", p)), h(p.settings, a || {}), i = i && i.constructor === Date ? this._formatDate(p, i) : i, this._dialogInput.val(i), this._pos = n ? n.length ? n : [n.pageX, n.pageY] : null, this._pos || (o = document.documentElement.clientWidth, l = document.documentElement.clientHeight, c = document.documentElement.scrollLeft || document.body.scrollLeft, d = document.documentElement.scrollTop || document.body.scrollTop, this._pos = [o / 2 - 100 + c, l / 2 - 150 + d]), this._dialogInput.css("left", this._pos[0] + 20 + "px").css("top", this._pos[1] + "px"), p.settings.onSelect = s, this._inDialog = !0, this.dpDiv.addClass(this._dialogClass), this._showDatepicker(this._dialogInput[0]), t.blockUI && t.blockUI(this.dpDiv), t.data(this._dialogInput[0], "datepicker", p), this;
},
_destroyDatepicker: function _destroyDatepicker(e) {
var i,
s = t(e),
a = t.data(e, "datepicker");
s.hasClass(this.markerClassName) && (i = e.nodeName.toLowerCase(), t.removeData(e, "datepicker"), "input" === i ? (a.append.remove(), a.trigger.remove(), s.removeClass(this.markerClassName).off("focus", this._showDatepicker).off("keydown", this._doKeyDown).off("keypress", this._doKeyPress).off("keyup", this._doKeyUp)) : "div" !== i && "span" !== i || s.removeClass(this.markerClassName).empty(), n === a && (n = null));
},
_enableDatepicker: function _enableDatepicker(e) {
var i,
s,
a = t(e),
n = t.data(e, "datepicker");
a.hasClass(this.markerClassName) && ("input" === (i = e.nodeName.toLowerCase()) ? (e.disabled = !1, n.trigger.filter("button").each(function () {
this.disabled = !1;
}).end().filter("img").css({
opacity: "1.0",
cursor: ""
})) : "div" !== i && "span" !== i || ((s = a.children("." + this._inlineClass)).children().removeClass("ui-state-disabled"), s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled", !1)), this._disabledInputs = t.map(this._disabledInputs, function (t) {
return t === e ? null : t;
}));
},
_disableDatepicker: function _disableDatepicker(e) {
var i,
s,
a = t(e),
n = t.data(e, "datepicker");
a.hasClass(this.markerClassName) && ("input" === (i = e.nodeName.toLowerCase()) ? (e.disabled = !0, n.trigger.filter("button").each(function () {
this.disabled = !0;
}).end().filter("img").css({
opacity: "0.5",
cursor: "default"
})) : "div" !== i && "span" !== i || ((s = a.children("." + this._inlineClass)).children().addClass("ui-state-disabled"), s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled", !0)), this._disabledInputs = t.map(this._disabledInputs, function (t) {
return t === e ? null : t;
}), this._disabledInputs[this._disabledInputs.length] = e);
},
_isDisabledDatepicker: function _isDisabledDatepicker(t) {
if (!t) return !1;
for (var e = 0; e < this._disabledInputs.length; e++) {
if (this._disabledInputs[e] === t) return !0;
}
return !1;
},
_getInst: function _getInst(e) {
try {
return t.data(e, "datepicker");
} catch (t) {
throw "Missing instance data for this datepicker";
}
},
_optionDatepicker: function _optionDatepicker(e, i, s) {
var a,
n,
r,
o,
l = this._getInst(e);
if (2 === arguments.length && "string" == typeof i) return "defaults" === i ? t.extend({}, t.datepicker._defaults) : l ? "all" === i ? t.extend({}, l.settings) : this._get(l, i) : null;
a = i || {}, "string" == typeof i && ((a = {})[i] = s), l && (this._curInst === l && this._hideDatepicker(), n = this._getDateDatepicker(e, !0), r = this._getMinMaxDate(l, "min"), o = this._getMinMaxDate(l, "max"), h(l.settings, a), null !== r && void 0 !== a.dateFormat && void 0 === a.minDate && (l.settings.minDate = this._formatDate(l, r)), null !== o && void 0 !== a.dateFormat && void 0 === a.maxDate && (l.settings.maxDate = this._formatDate(l, o)), "disabled" in a && (a.disabled ? this._disableDatepicker(e) : this._enableDatepicker(e)), this._attachments(t(e), l), this._autoSize(l), this._setDate(l, n), this._updateAlternate(l), this._updateDatepicker(l));
},
_changeDatepicker: function _changeDatepicker(t, e, i) {
this._optionDatepicker(t, e, i);
},
_refreshDatepicker: function _refreshDatepicker(t) {
var e = this._getInst(t);
e && this._updateDatepicker(e);
},
_setDateDatepicker: function _setDateDatepicker(t, e) {
var i = this._getInst(t);
i && (this._setDate(i, e), this._updateDatepicker(i), this._updateAlternate(i));
},
_getDateDatepicker: function _getDateDatepicker(t, e) {
var i = this._getInst(t);
return i && !i.inline && this._setDateFromField(i, e), i ? this._getDate(i) : null;
},
_doKeyDown: function _doKeyDown(e) {
var i,
s,
a,
n = t.datepicker._getInst(e.target),
r = !0,
o = n.dpDiv.is(".ui-datepicker-rtl");
if (n._keyEvent = !0, t.datepicker._datepickerShowing) switch (e.keyCode) {
case 9:
t.datepicker._hideDatepicker(), r = !1;
break;
case 13:
return (a = t("td." + t.datepicker._dayOverClass + ":not(." + t.datepicker._currentClass + ")", n.dpDiv))[0] && t.datepicker._selectDay(e.target, n.selectedMonth, n.selectedYear, a[0]), (i = t.datepicker._get(n, "onSelect")) ? (s = t.datepicker._formatDate(n), i.apply(n.input ? n.input[0] : null, [s, n])) : t.datepicker._hideDatepicker(), !1;
case 27:
t.datepicker._hideDatepicker();
break;
case 33:
t.datepicker._adjustDate(e.target, e.ctrlKey ? -t.datepicker._get(n, "stepBigMonths") : -t.datepicker._get(n, "stepMonths"), "M");
break;
case 34:
t.datepicker._adjustDate(e.target, e.ctrlKey ? +t.datepicker._get(n, "stepBigMonths") : +t.datepicker._get(n, "stepMonths"), "M");
break;
case 35:
(e.ctrlKey || e.metaKey) && t.datepicker._clearDate(e.target), r = e.ctrlKey || e.metaKey;
break;
case 36:
(e.ctrlKey || e.metaKey) && t.datepicker._gotoToday(e.target), r = e.ctrlKey || e.metaKey;
break;
case 37:
(e.ctrlKey || e.metaKey) && t.datepicker._adjustDate(e.target, o ? 1 : -1, "D"), r = e.ctrlKey || e.metaKey, e.originalEvent.altKey && t.datepicker._adjustDate(e.target, e.ctrlKey ? -t.datepicker._get(n, "stepBigMonths") : -t.datepicker._get(n, "stepMonths"), "M");
break;
case 38:
(e.ctrlKey || e.metaKey) && t.datepicker._adjustDate(e.target, -7, "D"), r = e.ctrlKey || e.metaKey;
break;
case 39:
(e.ctrlKey || e.metaKey) && t.datepicker._adjustDate(e.target, o ? -1 : 1, "D"), r = e.ctrlKey || e.metaKey, e.originalEvent.altKey && t.datepicker._adjustDate(e.target, e.ctrlKey ? +t.datepicker._get(n, "stepBigMonths") : +t.datepicker._get(n, "stepMonths"), "M");
break;
case 40:
(e.ctrlKey || e.metaKey) && t.datepicker._adjustDate(e.target, 7, "D"), r = e.ctrlKey || e.metaKey;
break;
default:
r = !1;
} else 36 === e.keyCode && e.ctrlKey ? t.datepicker._showDatepicker(this) : r = !1;
r && (e.preventDefault(), e.stopPropagation());
},
_doKeyPress: function _doKeyPress(e) {
var i,
s,
a = t.datepicker._getInst(e.target);
if (t.datepicker._get(a, "constrainInput")) return i = t.datepicker._possibleChars(t.datepicker._get(a, "dateFormat")), s = String.fromCharCode(null == e.charCode ? e.keyCode : e.charCode), e.ctrlKey || e.metaKey || s < " " || !i || i.indexOf(s) > -1;
},
_doKeyUp: function _doKeyUp(e) {
var i = t.datepicker._getInst(e.target);
if (i.input.val() !== i.lastVal) try {
t.datepicker.parseDate(t.datepicker._get(i, "dateFormat"), i.input ? i.input.val() : null, t.datepicker._getFormatConfig(i)) && (t.datepicker._setDateFromField(i), t.datepicker._updateAlternate(i), t.datepicker._updateDatepicker(i));
} catch (t) {}
return !0;
},
_showDatepicker: function _showDatepicker(e) {
var i, s, a, n, r, o, l;
("input" !== (e = e.target || e).nodeName.toLowerCase() && (e = t("input", e.parentNode)[0]), t.datepicker._isDisabledDatepicker(e) || t.datepicker._lastInput === e) || (i = t.datepicker._getInst(e), t.datepicker._curInst && t.datepicker._curInst !== i && (t.datepicker._curInst.dpDiv.stop(!0, !0), i && t.datepicker._datepickerShowing && t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])), !1 !== (a = (s = t.datepicker._get(i, "beforeShow")) ? s.apply(e, [e, i]) : {}) && (h(i.settings, a), i.lastVal = null, t.datepicker._lastInput = e, t.datepicker._setDateFromField(i), t.datepicker._inDialog && (e.value = ""), t.datepicker._pos || (t.datepicker._pos = t.datepicker._findPos(e), t.datepicker._pos[1] += e.offsetHeight), n = !1, t(e).parents().each(function () {
return !(n |= "fixed" === t(this).css("position"));
}), r = {
left: t.datepicker._pos[0],
top: t.datepicker._pos[1]
}, t.datepicker._pos = null, i.dpDiv.empty(), i.dpDiv.css({
position: "absolute",
display: "block",
top: "-1000px"
}), t.datepicker._updateDatepicker(i), r = t.datepicker._checkOffset(i, r, n), i.dpDiv.css({
position: t.datepicker._inDialog && t.blockUI ? "static" : n ? "fixed" : "absolute",
display: "none",
left: r.left + "px",
top: r.top + "px"
}), i.inline || (o = t.datepicker._get(i, "showAnim"), l = t.datepicker._get(i, "duration"), i.dpDiv.css("z-index", function (t) {
for (var e, i; t.length && t[0] !== document;) {
if (("absolute" === (e = t.css("position")) || "relative" === e || "fixed" === e) && (i = parseInt(t.css("zIndex"), 10), !isNaN(i) && 0 !== i)) return i;
t = t.parent();
}
return 0;
}(t(e)) + 1), t.datepicker._datepickerShowing = !0, t.effects && t.effects.effect[o] ? i.dpDiv.show(o, t.datepicker._get(i, "showOptions"), l) : i.dpDiv[o || "show"](o ? l : null), t.datepicker._shouldFocusInput(i) && i.input.trigger("focus"), t.datepicker._curInst = i)));
},
_updateDatepicker: function _updateDatepicker(e) {
this.maxRows = 4, n = e, e.dpDiv.empty().append(this._generateHTML(e)), this._attachHandlers(e);
var i,
s = this._getNumberOfMonths(e),
a = s[1],
r = e.dpDiv.find("." + this._dayOverClass + " a");
r.length > 0 && l.apply(r.get(0)), e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""), a > 1 && e.dpDiv.addClass("ui-datepicker-multi-" + a).css("width", 17 * a + "em"), e.dpDiv[(1 !== s[0] || 1 !== s[1] ? "add" : "remove") + "Class"]("ui-datepicker-multi"), e.dpDiv[(this._get(e, "isRTL") ? "add" : "remove") + "Class"]("ui-datepicker-rtl"), e === t.datepicker._curInst && t.datepicker._datepickerShowing && t.datepicker._shouldFocusInput(e) && e.input.trigger("focus"), e.yearshtml && (i = e.yearshtml, setTimeout(function () {
i === e.yearshtml && e.yearshtml && e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml), i = e.yearshtml = null;
}, 0));
},
_shouldFocusInput: function _shouldFocusInput(t) {
return t.input && t.input.is(":visible") && !t.input.is(":disabled") && !t.input.is(":focus");
},
_checkOffset: function _checkOffset(e, i, s) {
var a = e.dpDiv.outerWidth(),
n = e.dpDiv.outerHeight(),
r = e.input ? e.input.outerWidth() : 0,
o = e.input ? e.input.outerHeight() : 0,
l = document.documentElement.clientWidth + (s ? 0 : t(document).scrollLeft()),
h = document.documentElement.clientHeight + (s ? 0 : t(document).scrollTop());
return i.left -= this._get(e, "isRTL") ? a - r : 0, i.left -= s && i.left === e.input.offset().left ? t(document).scrollLeft() : 0, i.top -= s && i.top === e.input.offset().top + o ? t(document).scrollTop() : 0, i.left -= Math.min(i.left, i.left + a > l && l > a ? Math.abs(i.left + a - l) : 0), i.top -= Math.min(i.top, i.top + n > h && h > n ? Math.abs(n + o) : 0), i;
},
_findPos: function _findPos(e) {
for (var i, s = this._getInst(e), a = this._get(s, "isRTL"); e && ("hidden" === e.type || 1 !== e.nodeType || t.expr.filters.hidden(e));) {
e = e[a ? "previousSibling" : "nextSibling"];
}
return [(i = t(e).offset()).left, i.top];
},
_hideDatepicker: function _hideDatepicker(e) {
var i,
s,
a,
n,
r = this._curInst;
!r || e && r !== t.data(e, "datepicker") || this._datepickerShowing && (i = this._get(r, "showAnim"), s = this._get(r, "duration"), a = function a() {
t.datepicker._tidyDialog(r);
}, t.effects && (t.effects.effect[i] || t.effects[i]) ? r.dpDiv.hide(i, t.datepicker._get(r, "showOptions"), s, a) : r.dpDiv["slideDown" === i ? "slideUp" : "fadeIn" === i ? "fadeOut" : "hide"](i ? s : null, a), i || a(), this._datepickerShowing = !1, (n = this._get(r, "onClose")) && n.apply(r.input ? r.input[0] : null, [r.input ? r.input.val() : "", r]), this._lastInput = null, this._inDialog && (this._dialogInput.css({
position: "absolute",
left: "0",
top: "-100px"
}), t.blockUI && (t.unblockUI(), t("body").append(this.dpDiv))), this._inDialog = !1);
},
_tidyDialog: function _tidyDialog(t) {
t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar");
},
_checkExternalClick: function _checkExternalClick(e) {
if (t.datepicker._curInst) {
var i = t(e.target),
s = t.datepicker._getInst(i[0]);
(i[0].id === t.datepicker._mainDivId || 0 !== i.parents("#" + t.datepicker._mainDivId).length || i.hasClass(t.datepicker.markerClassName) || i.closest("." + t.datepicker._triggerClass).length || !t.datepicker._datepickerShowing || t.datepicker._inDialog && t.blockUI) && (!i.hasClass(t.datepicker.markerClassName) || t.datepicker._curInst === s) || t.datepicker._hideDatepicker();
}
},
_adjustDate: function _adjustDate(e, i, s) {
var a = t(e),
n = this._getInst(a[0]);
this._isDisabledDatepicker(a[0]) || (this._adjustInstDate(n, i + ("M" === s ? this._get(n, "showCurrentAtPos") : 0), s), this._updateDatepicker(n));
},
_gotoToday: function _gotoToday(e) {
var i,
s = t(e),
a = this._getInst(s[0]);
this._get(a, "gotoCurrent") && a.currentDay ? (a.selectedDay = a.currentDay, a.drawMonth = a.selectedMonth = a.currentMonth, a.drawYear = a.selectedYear = a.currentYear) : (i = new Date(), a.selectedDay = i.getDate(), a.drawMonth = a.selectedMonth = i.getMonth(), a.drawYear = a.selectedYear = i.getFullYear()), this._notifyChange(a), this._adjustDate(s);
},
_selectMonthYear: function _selectMonthYear(e, i, s) {
var a = t(e),
n = this._getInst(a[0]);
n["selected" + ("M" === s ? "Month" : "Year")] = n["draw" + ("M" === s ? "Month" : "Year")] = parseInt(i.options[i.selectedIndex].value, 10), this._notifyChange(n), this._adjustDate(a);
},
_selectDay: function _selectDay(e, i, s, a) {
var n,
r = t(e);
t(a).hasClass(this._unselectableClass) || this._isDisabledDatepicker(r[0]) || ((n = this._getInst(r[0])).selectedDay = n.currentDay = t("a", a).html(), n.selectedMonth = n.currentMonth = i, n.selectedYear = n.currentYear = s, this._selectDate(e, this._formatDate(n, n.currentDay, n.currentMonth, n.currentYear)));
},
_clearDate: function _clearDate(e) {
var i = t(e);
this._selectDate(i, "");
},
_selectDate: function _selectDate(e, i) {
var s,
a = t(e),
n = this._getInst(a[0]);
i = null != i ? i : this._formatDate(n), n.input && n.input.val(i), this._updateAlternate(n), (s = this._get(n, "onSelect")) ? s.apply(n.input ? n.input[0] : null, [i, n]) : n.input && n.input.trigger("change"), n.inline ? this._updateDatepicker(n) : (this._hideDatepicker(), this._lastInput = n.input[0], "object" != _typeof(n.input[0]) && n.input.trigger("focus"), this._lastInput = null);
},
_updateAlternate: function _updateAlternate(e) {
var i,
s,
a,
n = this._get(e, "altField");
n && (i = this._get(e, "altFormat") || this._get(e, "dateFormat"), s = this._getDate(e), a = this.formatDate(i, s, this._getFormatConfig(e)), t(n).val(a));
},
noWeekends: function noWeekends(t) {
var e = t.getDay();
return [e > 0 && e < 6, ""];
},
iso8601Week: function iso8601Week(t) {
var e,
i = new Date(t.getTime());
return i.setDate(i.getDate() + 4 - (i.getDay() || 7)), e = i.getTime(), i.setMonth(0), i.setDate(1), Math.floor(Math.round((e - i) / 864e5) / 7) + 1;
},
parseDate: function parseDate(e, i, s) {
if (null == e || null == i) throw "Invalid arguments";
if ("" === (i = "object" == _typeof(i) ? i.toString() : i + "")) return null;
var a,
n,
r,
o,
l = 0,
h = (s ? s.shortYearCutoff : null) || this._defaults.shortYearCutoff,
c = "string" != typeof h ? h : new Date().getFullYear() % 100 + parseInt(h, 10),
d = (s ? s.dayNamesShort : null) || this._defaults.dayNamesShort,
p = (s ? s.dayNames : null) || this._defaults.dayNames,
u = (s ? s.monthNamesShort : null) || this._defaults.monthNamesShort,
f = (s ? s.monthNames : null) || this._defaults.monthNames,
g = -1,
m = -1,
_ = -1,
v = -1,
k = !1,
y = function y(t) {
var i = a + 1 < e.length && e.charAt(a + 1) === t;
return i && a++, i;
},
D = function D(t) {
var e = y(t),
s = "@" === t ? 14 : "!" === t ? 20 : "y" === t && e ? 4 : "o" === t ? 3 : 2,
a = new RegExp("^\\d{" + ("y" === t ? s : 1) + "," + s + "}"),
n = i.substring(l).match(a);
if (!n) throw "Missing number at position " + l;
return l += n[0].length, parseInt(n[0], 10);
},
b = function b(e, s, a) {
var n = -1,
r = t.map(y(e) ? a : s, function (t, e) {
return [[e, t]];
}).sort(function (t, e) {
return -(t[1].length - e[1].length);
});
if (t.each(r, function (t, e) {
var s = e[1];
if (i.substr(l, s.length).toLowerCase() === s.toLowerCase()) return n = e[0], l += s.length, !1;
}), -1 !== n) return n + 1;
throw "Unknown name at position " + l;
},
w = function w() {
if (i.charAt(l) !== e.charAt(a)) throw "Unexpected literal at position " + l;
l++;
};
for (a = 0; a < e.length; a++) {
if (k) "'" !== e.charAt(a) || y("'") ? w() : k = !1;else switch (e.charAt(a)) {
case "d":
_ = D("d");
break;
case "D":
b("D", d, p);
break;
case "o":
v = D("o");
break;
case "m":
m = D("m");
break;
case "M":
m = b("M", u, f);
break;
case "y":
g = D("y");
break;
case "@":
g = (o = new Date(D("@"))).getFullYear(), m = o.getMonth() + 1, _ = o.getDate();
break;
case "!":
g = (o = new Date((D("!") - this._ticksTo1970) / 1e4)).getFullYear(), m = o.getMonth() + 1, _ = o.getDate();
break;
case "'":
y("'") ? w() : k = !0;
break;
default:
w();
}
}
if (l < i.length && (r = i.substr(l), !/^\s+/.test(r))) throw "Extra/unparsed characters found in date: " + r;
if (-1 === g ? g = new Date().getFullYear() : g < 100 && (g += new Date().getFullYear() - new Date().getFullYear() % 100 + (g <= c ? 0 : -100)), v > -1) for (m = 1, _ = v;;) {
if (_ <= (n = this._getDaysInMonth(g, m - 1))) break;
m++, _ -= n;
}
if ((o = this._daylightSavingAdjust(new Date(g, m - 1, _))).getFullYear() !== g || o.getMonth() + 1 !== m || o.getDate() !== _) throw "Invalid date";
return o;
},
ATOM: "yy-mm-dd",
COOKIE: "D, dd M yy",
ISO_8601: "yy-mm-dd",
RFC_822: "D, d M y",
RFC_850: "DD, dd-M-y",
RFC_1036: "D, d M y",
RFC_1123: "D, d M yy",
RFC_2822: "D, d M yy",
RSS: "D, d M y",
TICKS: "!",
TIMESTAMP: "@",
W3C: "yy-mm-dd",
_ticksTo1970: 24 * (718685 + Math.floor(492.5) - Math.floor(19.7) + Math.floor(4.925)) * 60 * 60 * 1e7,
formatDate: function formatDate(t, e, i) {
if (!e) return "";
var s,
a = (i ? i.dayNamesShort : null) || this._defaults.dayNamesShort,
n = (i ? i.dayNames : null) || this._defaults.dayNames,
r = (i ? i.monthNamesShort : null) || this._defaults.monthNamesShort,
o = (i ? i.monthNames : null) || this._defaults.monthNames,
l = function l(e) {
var i = s + 1 < t.length && t.charAt(s + 1) === e;
return i && s++, i;
},
h = function h(t, e, i) {
var s = "" + e;
if (l(t)) for (; s.length < i;) {
s = "0" + s;
}
return s;
},
c = function c(t, e, i, s) {
return l(t) ? s[e] : i[e];
},
d = "",
p = !1;
if (e) for (s = 0; s < t.length; s++) {
if (p) "'" !== t.charAt(s) || l("'") ? d += t.charAt(s) : p = !1;else switch (t.charAt(s)) {
case "d":
d += h("d", e.getDate(), 2);
break;
case "D":
d += c("D", e.getDay(), a, n);
break;
case "o":
d += h("o", Math.round((new Date(e.getFullYear(), e.getMonth(), e.getDate()).getTime() - new Date(e.getFullYear(), 0, 0).getTime()) / 864e5), 3);
break;
case "m":
d += h("m", e.getMonth() + 1, 2);
break;
case "M":
d += c("M", e.getMonth(), r, o);
break;
case "y":
d += l("y") ? e.getFullYear() : (e.getFullYear() % 100 < 10 ? "0" : "") + e.getFullYear() % 100;
break;
case "@":
d += e.getTime();
break;
case "!":
d += 1e4 * e.getTime() + this._ticksTo1970;
break;
case "'":
l("'") ? d += "'" : p = !0;
break;
default:
d += t.charAt(s);
}
}
return d;
},
_possibleChars: function _possibleChars(t) {
var e,
i = "",
s = !1,
a = function a(i) {
var s = e + 1 < t.length && t.charAt(e + 1) === i;
return s && e++, s;
};
for (e = 0; e < t.length; e++) {
if (s) "'" !== t.charAt(e) || a("'") ? i += t.charAt(e) : s = !1;else switch (t.charAt(e)) {
case "d":
case "m":
case "y":
case "@":
i += "0123456789";
break;
case "D":
case "M":
return null;
case "'":
a("'") ? i += "'" : s = !0;
break;
default:
i += t.charAt(e);
}
}
return i;
},
_get: function _get(t, e) {
return void 0 !== t.settings[e] ? t.settings[e] : this._defaults[e];
},
_setDateFromField: function _setDateFromField(t, e) {
if (t.input.val() !== t.lastVal) {
var i = this._get(t, "dateFormat"),
s = t.lastVal = t.input ? t.input.val() : null,
a = this._getDefaultDate(t),
n = a,
r = this._getFormatConfig(t);
try {
n = this.parseDate(i, s, r) || a;
} catch (t) {
s = e ? "" : s;
}
t.selectedDay = n.getDate(), t.drawMonth = t.selectedMonth = n.getMonth(), t.drawYear = t.selectedYear = n.getFullYear(), t.currentDay = s ? n.getDate() : 0, t.currentMonth = s ? n.getMonth() : 0, t.currentYear = s ? n.getFullYear() : 0, this._adjustInstDate(t);
}
},
_getDefaultDate: function _getDefaultDate(t) {
return this._restrictMinMax(t, this._determineDate(t, this._get(t, "defaultDate"), new Date()));
},
_determineDate: function _determineDate(e, i, s) {
var a = null == i || "" === i ? s : "string" == typeof i ? function (i) {
try {
return t.datepicker.parseDate(t.datepicker._get(e, "dateFormat"), i, t.datepicker._getFormatConfig(e));
} catch (t) {}
for (var s = (i.toLowerCase().match(/^c/) ? t.datepicker._getDate(e) : null) || new Date(), a = s.getFullYear(), n = s.getMonth(), r = s.getDate(), o = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, l = o.exec(i); l;) {
switch (l[2] || "d") {
case "d":
case "D":
r += parseInt(l[1], 10);
break;
case "w":
case "W":
r += 7 * parseInt(l[1], 10);
break;
case "m":
case "M":
n += parseInt(l[1], 10), r = Math.min(r, t.datepicker._getDaysInMonth(a, n));
break;
case "y":
case "Y":
a += parseInt(l[1], 10), r = Math.min(r, t.datepicker._getDaysInMonth(a, n));
}
l = o.exec(i);
}
return new Date(a, n, r);
}(i) : "number" == typeof i ? isNaN(i) ? s : function (t) {
var e = new Date();
return e.setDate(e.getDate() + t), e;
}(i) : new Date(i.getTime());
return (a = a && "Invalid Date" === a.toString() ? s : a) && (a.setHours(0), a.setMinutes(0), a.setSeconds(0), a.setMilliseconds(0)), this._daylightSavingAdjust(a);
},
_daylightSavingAdjust: function _daylightSavingAdjust(t) {
return t ? (t.setHours(t.getHours() > 12 ? t.getHours() + 2 : 0), t) : null;
},
_setDate: function _setDate(t, e, i) {
var s = !e,
a = t.selectedMonth,
n = t.selectedYear,
r = this._restrictMinMax(t, this._determineDate(t, e, new Date()));
t.selectedDay = t.currentDay = r.getDate(), t.drawMonth = t.selectedMonth = t.currentMonth = r.getMonth(), t.drawYear = t.selectedYear = t.currentYear = r.getFullYear(), a === t.selectedMonth && n === t.selectedYear || i || this._notifyChange(t), this._adjustInstDate(t), t.input && t.input.val(s ? "" : this._formatDate(t));
},
_getDate: function _getDate(t) {
return !t.currentYear || t.input && "" === t.input.val() ? null : this._daylightSavingAdjust(new Date(t.currentYear, t.currentMonth, t.currentDay));
},
_attachHandlers: function _attachHandlers(e) {
var i = this._get(e, "stepMonths"),
s = "#" + e.id.replace(/\\\\/g, "\\");
e.dpDiv.find("[data-handler]").map(function () {
var e = {
prev: function prev() {
t.datepicker._adjustDate(s, -i, "M");
},
next: function next() {
t.datepicker._adjustDate(s, +i, "M");
},
hide: function hide() {
t.datepicker._hideDatepicker();
},
today: function today() {
t.datepicker._gotoToday(s);
},
selectDay: function selectDay() {
return t.datepicker._selectDay(s, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this), !1;
},
selectMonth: function selectMonth() {
return t.datepicker._selectMonthYear(s, this, "M"), !1;
},
selectYear: function selectYear() {
return t.datepicker._selectMonthYear(s, this, "Y"), !1;
}
};
t(this).on(this.getAttribute("data-event"), e[this.getAttribute("data-handler")]);
});
},
_generateHTML: function _generateHTML(t) {
var e,
i,
s,
a,
n,
r,
o,
l,
h,
c,
d,
p,
u,
f,
g,
m,
_,
v,
k,
y,
D,
b,
w,
M,
C,
x,
I,
N,
S,
P,
T,
A,
Y,
F,
E,
O,
H,
L,
j,
K = new Date(),
W = this._daylightSavingAdjust(new Date(K.getFullYear(), K.getMonth(), K.getDate())),
R = this._get(t, "isRTL"),
z = this._get(t, "showButtonPanel"),
U = this._get(t, "hideIfNoPrevNext"),
B = this._get(t, "navigationAsDateFormat"),
X = this._getNumberOfMonths(t),
J = this._get(t, "showCurrentAtPos"),
q = this._get(t, "stepMonths"),
V = 1 !== X[0] || 1 !== X[1],
G = this._daylightSavingAdjust(t.currentDay ? new Date(t.currentYear, t.currentMonth, t.currentDay) : new Date(9999, 9, 9)),
$ = this._getMinMaxDate(t, "min"),
Q = this._getMinMaxDate(t, "max"),
Z = t.drawMonth - J,
tt = t.drawYear;
if (Z < 0 && (Z += 12, tt--), Q) for (e = this._daylightSavingAdjust(new Date(Q.getFullYear(), Q.getMonth() - X[0] * X[1] + 1, Q.getDate())), e = $ && e < $ ? $ : e; this._daylightSavingAdjust(new Date(tt, Z, 1)) > e;) {
--Z < 0 && (Z = 11, tt--);
}
for (t.drawMonth = Z, t.drawYear = tt, i = this._get(t, "prevText"), i = B ? this.formatDate(i, this._daylightSavingAdjust(new Date(tt, Z - q, 1)), this._getFormatConfig(t)) : i, s = this._canAdjustMonth(t, -1, tt, Z) ? "" + i + "" : U ? "" : "" + i + "", a = this._get(t, "nextText"), a = B ? this.formatDate(a, this._daylightSavingAdjust(new Date(tt, Z + q, 1)), this._getFormatConfig(t)) : a, n = this._canAdjustMonth(t, 1, tt, Z) ? "" + a + "" : U ? "" : "" + a + "", r = this._get(t, "currentText"), o = this._get(t, "gotoCurrent") && t.currentDay ? G : W, r = B ? this.formatDate(r, o, this._getFormatConfig(t)) : r, l = t.inline ? "" : "", h = z ? "
" : "", c = parseInt(this._get(t, "firstDay"), 10), c = isNaN(c) ? 0 : c, d = this._get(t, "showWeek"), p = this._get(t, "dayNames"), u = this._get(t, "dayNamesMin"), f = this._get(t, "monthNames"), g = this._get(t, "monthNamesShort"), m = this._get(t, "beforeShowDay"), _ = this._get(t, "showOtherMonths"), v = this._get(t, "selectOtherMonths"), k = this._getDefaultDate(t), y = "", b = 0; b < X[0]; b++) {
for (w = "", this.maxRows = 4, M = 0; M < X[1]; M++) {
if (C = this._daylightSavingAdjust(new Date(tt, Z, t.selectedDay)), x = " ui-corner-all", I = "", V) {
if (I += "
";
}
for (I += "
" + (/all|left/.test(x) && 0 === b ? R ? n : s : "") + (/all|right/.test(x) && 0 === b ? R ? s : n : "") + this._generateMonthYearHeader(t, Z, tt, $, Q, b > 0 || M > 0, f, g) + "
", P = this._getDaysInMonth(tt, Z), tt === t.selectedYear && Z === t.selectedMonth && (t.selectedDay = Math.min(t.selectedDay, P)), T = (this._getFirstDayOfMonth(tt, Z) - c + 7) % 7, A = Math.ceil((T + P) / 7), Y = V && this.maxRows > A ? this.maxRows : A, this.maxRows = Y, F = this._daylightSavingAdjust(new Date(tt, Z, 1 - T)), E = 0; E < Y; E++) {
for (I += "
", O = d ? "
" + this._get(t, "calculateWeek")(F) + "
" : "", D = 0; D < 7; D++) {
H = m ? m.apply(t.input ? t.input[0] : null, [F]) : [!0, ""], j = (L = F.getMonth() !== Z) && !v || !H[0] || $ && F < $ || Q && F > Q, O += "
", F.setDate(F.getDate() + 1), F = this._daylightSavingAdjust(F);
}
I += O + "
";
}
++Z > 11 && (Z = 0, tt++), w += I += "
" + (V ? "
" + (X[0] > 0 && M === X[1] - 1 ? "" : "") : "");
}
y += w;
}
return y += h, t._keyEvent = !1, y;
},
_generateMonthYearHeader: function _generateMonthYearHeader(t, e, i, s, a, n, r, o) {
var l,
h,
c,
d,
p,
u,
f,
g,
m = this._get(t, "changeMonth"),
_ = this._get(t, "changeYear"),
v = this._get(t, "showMonthAfterYear"),
k = "
",
y = "";
if (n || !m) y += "" + r[e] + "";else {
for (l = s && s.getFullYear() === i, h = a && a.getFullYear() === i, y += "";
}
if (v || (k += y + (!n && m && _ ? "" : " ")), !t.yearshtml) if (t.yearshtml = "", n || !_) k += "" + i + "";else {
for (d = this._get(t, "yearRange").split(":"), p = new Date().getFullYear(), f = (u = function u(t) {
var e = t.match(/c[+\-].*/) ? i + parseInt(t.substring(1), 10) : t.match(/[+\-].*/) ? p + parseInt(t, 10) : parseInt(t, 10);
return isNaN(e) ? p : e;
})(d[0]), g = Math.max(f, u(d[1] || "")), f = s ? Math.max(f, s.getFullYear()) : f, g = a ? Math.min(g, a.getFullYear()) : g, t.yearshtml += "", k += t.yearshtml, t.yearshtml = null;
}
return k += this._get(t, "yearSuffix"), v && (k += (!n && m && _ ? "" : " ") + y), k += "
";
},
_adjustInstDate: function _adjustInstDate(t, e, i) {
var s = t.selectedYear + ("Y" === i ? e : 0),
a = t.selectedMonth + ("M" === i ? e : 0),
n = Math.min(t.selectedDay, this._getDaysInMonth(s, a)) + ("D" === i ? e : 0),
r = this._restrictMinMax(t, this._daylightSavingAdjust(new Date(s, a, n)));
t.selectedDay = r.getDate(), t.drawMonth = t.selectedMonth = r.getMonth(), t.drawYear = t.selectedYear = r.getFullYear(), "M" !== i && "Y" !== i || this._notifyChange(t);
},
_restrictMinMax: function _restrictMinMax(t, e) {
var i = this._getMinMaxDate(t, "min"),
s = this._getMinMaxDate(t, "max"),
a = i && e < i ? i : e;
return s && a > s ? s : a;
},
_notifyChange: function _notifyChange(t) {
var e = this._get(t, "onChangeMonthYear");
e && e.apply(t.input ? t.input[0] : null, [t.selectedYear, t.selectedMonth + 1, t]);
},
_getNumberOfMonths: function _getNumberOfMonths(t) {
var e = this._get(t, "numberOfMonths");
return null == e ? [1, 1] : "number" == typeof e ? [1, e] : e;
},
_getMinMaxDate: function _getMinMaxDate(t, e) {
return this._determineDate(t, this._get(t, e + "Date"), null);
},
_getDaysInMonth: function _getDaysInMonth(t, e) {
return 32 - this._daylightSavingAdjust(new Date(t, e, 32)).getDate();
},
_getFirstDayOfMonth: function _getFirstDayOfMonth(t, e) {
return new Date(t, e, 1).getDay();
},
_canAdjustMonth: function _canAdjustMonth(t, e, i, s) {
var a = this._getNumberOfMonths(t),
n = this._daylightSavingAdjust(new Date(i, s + (e < 0 ? e : a[0] * a[1]), 1));
return e < 0 && n.setDate(this._getDaysInMonth(n.getFullYear(), n.getMonth())), this._isInRange(t, n);
},
_isInRange: function _isInRange(t, e) {
var i,
s,
a = this._getMinMaxDate(t, "min"),
n = this._getMinMaxDate(t, "max"),
r = null,
o = null,
l = this._get(t, "yearRange");
return l && (i = l.split(":"), s = new Date().getFullYear(), r = parseInt(i[0], 10), o = parseInt(i[1], 10), i[0].match(/[+\-].*/) && (r += s), i[1].match(/[+\-].*/) && (o += s)), (!a || e.getTime() >= a.getTime()) && (!n || e.getTime() <= n.getTime()) && (!r || e.getFullYear() >= r) && (!o || e.getFullYear() <= o);
},
_getFormatConfig: function _getFormatConfig(t) {
var e = this._get(t, "shortYearCutoff");
return {
shortYearCutoff: e = "string" != typeof e ? e : new Date().getFullYear() % 100 + parseInt(e, 10),
dayNamesShort: this._get(t, "dayNamesShort"),
dayNames: this._get(t, "dayNames"),
monthNamesShort: this._get(t, "monthNamesShort"),
monthNames: this._get(t, "monthNames")
};
},
_formatDate: function _formatDate(t, e, i, s) {
e || (t.currentDay = t.selectedDay, t.currentMonth = t.selectedMonth, t.currentYear = t.selectedYear);
var a = e ? "object" == _typeof(e) ? e : this._daylightSavingAdjust(new Date(s, i, e)) : this._daylightSavingAdjust(new Date(t.currentYear, t.currentMonth, t.currentDay));
return this.formatDate(this._get(t, "dateFormat"), a, this._getFormatConfig(t));
}
}), t.fn.datepicker = function (e) {
if (!this.length) return this;
t.datepicker.initialized || (t(document).on("mousedown", t.datepicker._checkExternalClick), t.datepicker.initialized = !0), 0 === t("#" + t.datepicker._mainDivId).length && t("body").append(t.datepicker.dpDiv);
var i = Array.prototype.slice.call(arguments, 1);
return "string" != typeof e || "isDisabled" !== e && "getDate" !== e && "widget" !== e ? "option" === e && 2 === arguments.length && "string" == typeof arguments[1] ? t.datepicker["_" + e + "Datepicker"].apply(t.datepicker, [this[0]].concat(i)) : this.each(function () {
"string" == typeof e ? t.datepicker["_" + e + "Datepicker"].apply(t.datepicker, [this].concat(i)) : t.datepicker._attachDatepicker(this, e);
}) : t.datepicker["_" + e + "Datepicker"].apply(t.datepicker, [this[0]].concat(i));
}, t.datepicker = new r(), t.datepicker.initialized = !1, t.datepicker.uuid = new Date().getTime(), t.datepicker.version = "1.12.1";
t.datepicker;
});