"use strict"; var KTBlockUI = function(e, t) { var n = this; if (null != e) { var i = { zIndex: !1, overlayClass: "", overflow: "hidden", message: '' }, r = function() { n.options = KTUtil.deepExtend({}, i, t), n.element = e, n.overlayElement = null, n.blocked = !1, n.positionChanged = !1, n.overflowChanged = !1, KTUtil.data(n.element).set("blockui", n) }; KTUtil.data(e).has("blockui") ? n = KTUtil.data(e).get("blockui") : r(), n.block = function() { ! function() { if (!1 !== KTEventHandler.trigger(n.element, "kt.blockui.block", n)) { var e = "BODY" === n.element.tagName, t = KTUtil.css(n.element, "position"), i = KTUtil.css(n.element, "overflow"), r = e ? 1e4 : 1; n.options.zIndex > 0 ? r = n.options.zIndex : "auto" != KTUtil.css(n.element, "z-index") && (r = KTUtil.css(n.element, "z-index")), n.element.classList.add("blockui"), "absolute" !== t && "relative" !== t && "fixed" !== t || (KTUtil.css(n.element, "position", "relative"), n.positionChanged = !0), "hidden" === n.options.overflow && "visible" === i && (KTUtil.css(n.element, "overflow", "hidden"), n.overflowChanged = !0), n.overlayElement = document.createElement("DIV"), n.overlayElement.setAttribute("class", "blockui-overlay " + n.options.overlayClass), n.overlayElement.innerHTML = n.options.message, KTUtil.css(n.overlayElement, "z-index", r), n.element.append(n.overlayElement), n.blocked = !0, KTEventHandler.trigger(n.element, "kt.blockui.after.blocked", n) } }() }, n.release = function() { !1 !== KTEventHandler.trigger(n.element, "kt.blockui.release", n) && (n.element.classList.add("blockui"), n.positionChanged && KTUtil.css(n.element, "position", ""), n.overflowChanged && KTUtil.css(n.element, "overflow", ""), n.overlayElement && KTUtil.remove(n.overlayElement), n.blocked = !1, KTEventHandler.trigger(n.element, "kt.blockui.released", n)) }, n.isBlocked = function() { return n.blocked }, n.destroy = function() { KTUtil.data(n.element).remove("blockui") }, n.on = function(e, t) { return KTEventHandler.on(n.element, e, t) }, n.one = function(e, t) { return KTEventHandler.one(n.element, e, t) }, n.off = function(e, t) { return KTEventHandler.off(n.element, e, t) }, n.trigger = function(e, t) { return KTEventHandler.trigger(n.element, e, t, n, t) } } }; KTBlockUI.getInstance = function(e) { return null !== e && KTUtil.data(e).has("blockui") ? KTUtil.data(e).get("blockui") : null }, "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTBlockUI); var KTCookie = { get: function(e) { var t = document.cookie.match(new RegExp("(?:^|; )" + e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, "\\$1") + "=([^;]*)")); return t ? decodeURIComponent(t[1]) : null }, set: function(e, t, n) { null == n && (n = {}), (n = Object.assign({}, { path: "/" }, n)).expires instanceof Date && (n.expires = n.expires.toUTCString()); var i = encodeURIComponent(e) + "=" + encodeURIComponent(t); for (var r in n) if (!1 !== n.hasOwnProperty(r)) { i += "; " + r; var o = n[r]; !0 !== o && (i += "=" + o) } document.cookie = i }, remove: function(e) { this.set(e, "", { "max-age": -1 }) } }; "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTCookie); var KTDialer = function(e, t) { var n = this; if (e) { var i = { min: null, max: null, step: 1, decimals: 0, prefix: "", suffix: "" }, r = function() { n.options = KTUtil.deepExtend({}, i, t), n.element = e, n.incElement = n.element.querySelector('[data-kt-dialer-control="increase"]'), n.decElement = n.element.querySelector('[data-kt-dialer-control="decrease"]'), n.inputElement = n.element.querySelector("input[type]"), c("decimals") && (n.options.decimals = parseInt(c("decimals"))), c("prefix") && (n.options.prefix = c("prefix")), c("suffix") && (n.options.suffix = c("suffix")), c("step") && (n.options.step = parseFloat(c("step"))), c("min") && (n.options.min = parseFloat(c("min"))), c("max") && (n.options.max = parseFloat(c("max"))), n.value = parseFloat(n.inputElement.value.replace(/[^\d.]/g, "")), s(), o(), KTUtil.data(n.element).set("dialer", n) }, o = function() { KTUtil.addEvent(n.incElement, "click", (function(e) { e.preventDefault(), a() })), KTUtil.addEvent(n.decElement, "click", (function(e) { e.preventDefault(), l() })), KTUtil.addEvent(n.inputElement, "input", (function(e) { e.preventDefault(), s() })) }, a = function() { return KTEventHandler.trigger(n.element, "kt.dialer.increase", n), n.inputElement.value = n.value + n.options.step, s(), KTEventHandler.trigger(n.element, "kt.dialer.increased", n), n }, l = function() { return KTEventHandler.trigger(n.element, "kt.dialer.decrease", n), n.inputElement.value = n.value - n.options.step, s(), KTEventHandler.trigger(n.element, "kt.dialer.decreased", n), n }, s = function(e) { KTEventHandler.trigger(n.element, "kt.dialer.change", n), n.value = void 0 !== e ? e : u(n.inputElement.value), null !== n.options.min && n.value < n.options.min && (n.value = n.options.min), null !== n.options.max && n.value > n.options.max && (n.value = n.options.max), n.inputElement.value = d(n.value), n.inputElement.dispatchEvent(new Event("change")), KTEventHandler.trigger(n.element, "kt.dialer.changed", n) }, u = function(e) { return e = e.replace(/[^0-9.-]/g, "").replace(/(\..*)\./g, "$1").replace(/(?!^)-/g, "").replace(/^0+(\d)/gm, "$1"), e = parseFloat(e), isNaN(e) && (e = 0), e }, d = function(e) { return n.options.prefix + parseFloat(e).toFixed(n.options.decimals) + n.options.suffix }, c = function(e) { return !0 === n.element.hasAttribute("data-kt-dialer-" + e) ? n.element.getAttribute("data-kt-dialer-" + e) : null }; !0 === KTUtil.data(e).has("dialer") ? n = KTUtil.data(e).get("dialer") : r(), n.setMinValue = function(e) { n.options.min = e }, n.setMaxValue = function(e) { n.options.max = e }, n.setValue = function(e) { s(e) }, n.getValue = function() { return n.inputElement.value }, n.update = function() { s() }, n.increase = function() { return a() }, n.decrease = function() { return l() }, n.getElement = function() { return n.element }, n.destroy = function() { KTUtil.data(n.element).remove("dialer") }, n.on = function(e, t) { return KTEventHandler.on(n.element, e, t) }, n.one = function(e, t) { return KTEventHandler.one(n.element, e, t) }, n.off = function(e, t) { return KTEventHandler.off(n.element, e, t) }, n.trigger = function(e, t) { return KTEventHandler.trigger(n.element, e, t, n, t) } } }; KTDialer.getInstance = function(e) { return null !== e && KTUtil.data(e).has("dialer") ? KTUtil.data(e).get("dialer") : null }, KTDialer.createInstances = function(e = '[data-kt-dialer="true"]') { var t = document.querySelectorAll(e); if (t && t.length > 0) for (var n = 0, i = t.length; n < i; n++) new KTDialer(t[n]) }, KTDialer.init = function() { KTDialer.createInstances() }, "loading" === document.readyState ? document.addEventListener("DOMContentLoaded", KTDialer.init) : KTDialer.init(), "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTDialer); var KTDrawer = function(e, t) { var n = this; if (null != e) { var i = { overlay: !0, direction: "end", baseClass: "drawer", overlayClass: "drawer-overlay" }, r = function() { n.options = KTUtil.deepExtend({}, i, t), n.uid = KTUtil.getUniqueId("drawer"), n.element = e, n.overlayElement = null, n.name = n.element.getAttribute("data-kt-drawer-name"), n.shown = !1, n.lastWidth, n.toggleElement = null, n.element.setAttribute("data-kt-drawer", "true"), o(), u(), KTUtil.data(n.element).set("drawer", n) }, o = function() { var e = m("toggle"), t = m("close"); null !== e && e.length > 0 && KTUtil.on(document.body, e, "click", (function(e) { e.preventDefault(), n.toggleElement = this, a() })), null !== t && t.length > 0 && KTUtil.on(document.body, t, "click", (function(e) { e.preventDefault(), n.closeElement = this, l() })) }, a = function() { !1 !== KTEventHandler.trigger(n.element, "kt.drawer.toggle", n) && (!0 === n.shown ? l() : s(), KTEventHandler.trigger(n.element, "kt.drawer.toggled", n)) }, l = function() { !1 !== KTEventHandler.trigger(n.element, "kt.drawer.hide", n) && (n.shown = !1, c(), document.body.removeAttribute("data-kt-drawer-" + n.name, "on"), document.body.removeAttribute("data-kt-drawer"), KTUtil.removeClass(n.element, n.options.baseClass + "-on"), null !== n.toggleElement && KTUtil.removeClass(n.toggleElement, "active"), KTEventHandler.trigger(n.element, "kt.drawer.after.hidden", n)) }, s = function() { !1 !== KTEventHandler.trigger(n.element, "kt.drawer.show", n) && (n.shown = !0, d(), document.body.setAttribute("data-kt-drawer-" + n.name, "on"), document.body.setAttribute("data-kt-drawer", "on"), KTUtil.addClass(n.element, n.options.baseClass + "-on"), null !== n.toggleElement && KTUtil.addClass(n.toggleElement, "active"), KTEventHandler.trigger(n.element, "kt.drawer.shown", n)) }, u = function() { var e = f(), t = m("direction"), i = m("top"), r = m("bottom"), o = m("start"), a = m("end"); !0 === KTUtil.hasClass(n.element, n.options.baseClass + "-on") && "on" === String(document.body.getAttribute("data-kt-drawer-" + n.name + "-")) ? n.shown = !0 : n.shown = !1, !0 === m("activate") ? (KTUtil.addClass(n.element, n.options.baseClass), KTUtil.addClass(n.element, n.options.baseClass + "-" + t), KTUtil.css(n.element, "width", e, !0), n.lastWidth = e, i && KTUtil.css(n.element, "top", i), r && KTUtil.css(n.element, "bottom", r), o && (KTUtil.isRTL() ? KTUtil.css(n.element, "right", o) : KTUtil.css(n.element, "left", o)), a && (KTUtil.isRTL() ? KTUtil.css(n.element, "left", a) : KTUtil.css(n.element, "right", a))) : (KTUtil.removeClass(n.element, n.options.baseClass), KTUtil.removeClass(n.element, n.options.baseClass + "-" + t), KTUtil.css(n.element, "width", ""), i && KTUtil.css(n.element, "top", ""), r && KTUtil.css(n.element, "bottom", ""), o && (KTUtil.isRTL() ? KTUtil.css(n.element, "right", "") : KTUtil.css(n.element, "left", "")), a && (KTUtil.isRTL() ? KTUtil.css(n.element, "left", "") : KTUtil.css(n.element, "right", "")), l()) }, d = function() { !0 === m("overlay") && (n.overlayElement = document.createElement("DIV"), KTUtil.css(n.overlayElement, "z-index", KTUtil.css(n.element, "z-index") - 1), document.body.append(n.overlayElement), KTUtil.addClass(n.overlayElement, m("overlay-class")), KTUtil.addEvent(n.overlayElement, "click", (function(e) { e.preventDefault(), l() }))) }, c = function() { null !== n.overlayElement && KTUtil.remove(n.overlayElement) }, m = function(e) { if (!0 === n.element.hasAttribute("data-kt-drawer-" + e)) { var t = n.element.getAttribute("data-kt-drawer-" + e), i = KTUtil.getResponsiveValue(t); return null !== i && "true" === String(i) ? i = !0 : null !== i && "false" === String(i) && (i = !1), i } var r = KTUtil.snakeToCamel(e); return n.options[r] ? KTUtil.getResponsiveValue(n.options[r]) : null }, f = function() { var e = m("width"); return "auto" === e && (e = KTUtil.css(n.element, "width")), e }; KTUtil.data(e).has("drawer") ? n = KTUtil.data(e).get("drawer") : r(), n.toggle = function() { return a() }, n.show = function() { return s() }, n.hide = function() { return l() }, n.isShown = function() { return n.shown }, n.update = function() { u() }, n.goElement = function() { return n.element }, n.destroy = function() { KTUtil.data(n.element).remove("drawer") }, n.on = function(e, t) { return KTEventHandler.on(n.element, e, t) }, n.one = function(e, t) { return KTEventHandler.one(n.element, e, t) }, n.off = function(e, t) { return KTEventHandler.off(n.element, e, t) }, n.trigger = function(e, t) { return KTEventHandler.trigger(n.element, e, t, n, t) } } }; KTDrawer.getInstance = function(e) { return null !== e && KTUtil.data(e).has("drawer") ? KTUtil.data(e).get("drawer") : null }, KTDrawer.hideAll = function(e = null, t = '[data-kt-drawer="true"]') { var n = document.querySelectorAll(t); if (n && n.length > 0) for (var i = 0, r = n.length; i < r; i++) { var o = n[i], a = KTDrawer.getInstance(o); a && (e ? o !== e && a.hide() : a.hide()) } }, KTDrawer.updateAll = function(e = '[data-kt-drawer="true"]') { var t = document.querySelectorAll(e); if (t && t.length > 0) for (var n = 0, i = t.length; n < i; n++) { var r = KTDrawer.getInstance(t[n]); r && r.update() } }, KTDrawer.createInstances = function(e = '[data-kt-drawer="true"]') { var t = document.querySelectorAll(e); if (t && t.length > 0) for (var n = 0, i = t.length; n < i; n++) new KTDrawer(t[n]) }, KTDrawer.handleShow = function() { KTUtil.on(document.body, '[data-kt-drawer-show="true"][data-kt-drawer-target]', "click", (function(e) { e.preventDefault(); var t = document.querySelector(this.getAttribute("data-kt-drawer-target")); t && KTDrawer.getInstance(t).show() })) }, KTDrawer.handleDismiss = function() { KTUtil.on(document.body, '[data-kt-drawer-dismiss="true"]', "click", (function(e) { var t = this.closest('[data-kt-drawer="true"]'); if (t) { var n = KTDrawer.getInstance(t); n.isShown() && n.hide() } })) }, KTDrawer.handleResize = function() { window.addEventListener("resize", (function() { KTUtil.throttle(undefined, (function() { var e = document.querySelectorAll('[data-kt-drawer="true"]'); if (e && e.length > 0) for (var t = 0, n = e.length; t < n; t++) { var i = KTDrawer.getInstance(e[t]); i && i.update() } }), 200) })) }, KTDrawer.init = function() { KTDrawer.createInstances(), KTDrawer.handleResize(), KTDrawer.handleShow(), KTDrawer.handleDismiss() }, "loading" === document.readyState ? document.addEventListener("DOMContentLoaded", KTDrawer.init) : KTDrawer.init(), "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTDrawer); var KTEventHandler = function() { var e = {}, t = function(t, n, i, r) { var o = KTUtil.getUniqueId("event"), a = KTUtil.data(t).get(n); return a || (a = []), a.push(o), KTUtil.data(t).set(n, a), e[n] || (e[n] = {}), e[n][o] = { name: n, callback: i, one: r, fired: !1 }, o }; return { trigger: function(t, n, i) { return function(t, n, i) { var r, o = !0; if (!0 === KTUtil.data(t).has(n)) for (var a, l = KTUtil.data(t).get(n), s = 0; s < l.length; s++) if (a = l[s], e[n] && e[n][a]) { var u = e[n][a]; u.name === n && (1 == u.one ? 0 == u.fired && (e[n][a].fired = !0, r = u.callback.call(this, i)) : r = u.callback.call(this, i), !1 === r && (o = !1)) } return o }(t, n, i) }, on: function(e, n, i) { return t(e, n, i) }, one: function(e, n, i) { return t(e, n, i, !0) }, off: function(t, n, i) { return function(t, n, i) { var r = KTUtil.data(t).get(n), o = r && r.indexOf(i); - 1 !== o && (r.splice(o, 1), KTUtil.data(t).set(n, r)), e[n] && e[n][i] && delete e[n][i] }(t, n, i) }, debug: function() { for (var t in e) e.hasOwnProperty(t) && console.log(t) } } }(); "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTEventHandler); var KTFeedback = function(e) { var t = this, n = { width: 100, placement: "top-center", content: "", type: "popup" }, i = function() { t.options = KTUtil.deepExtend({}, n, e), t.uid = KTUtil.getUniqueId("feedback"), t.element, t.shown = !1, r(), KTUtil.data(t.element).set("feedback", t) }, r = function() { KTUtil.addEvent(t.element, "click", (function(e) { e.preventDefault(), _go() })) }, o = function() { t.element = document.createElement("DIV"), KTUtil.addClass(t.element, "feedback feedback-popup"), KTUtil.setHTML(t.element, t.options.content), "top-center" == t.options.placement && a(), document.body.appendChild(t.element), KTUtil.addClass(t.element, "feedback-shown"), t.shown = !0 }, a = function() { var e = KTUtil.getResponsiveValue(t.options.width), n = KTUtil.css(t.element, "height"); KTUtil.addClass(t.element, "feedback-top-center"), KTUtil.css(t.element, "width", e), KTUtil.css(t.element, "left", "50%"), KTUtil.css(t.element, "top", "-" + n) }, l = function() { t.element.remove() }; i(), t.show = function() { return function() { if (!1 !== KTEventHandler.trigger(t.element, "kt.feedback.show", t)) return "popup" === t.options.type && o(), KTEventHandler.trigger(t.element, "kt.feedback.shown", t), t }() }, t.hide = function() { return function() { if (!1 !== KTEventHandler.trigger(t.element, "kt.feedback.hide", t)) return "popup" === t.options.type && l(), t.shown = !1, KTEventHandler.trigger(t.element, "kt.feedback.hidden", t), t }() }, t.isShown = function() { return t.shown }, t.getElement = function() { return t.element }, t.destroy = function() { KTUtil.data(t.element).remove("feedback") }, t.on = function(e, n) { return KTEventHandler.on(t.element, e, n) }, t.one = function(e, n) { return KTEventHandler.one(t.element, e, n) }, t.off = function(e, n) { return KTEventHandler.off(t.element, e, n) }, t.trigger = function(e, n) { return KTEventHandler.trigger(t.element, e, n, t, n) } }; "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTFeedback); var KTImageInput = function(e, t) { var n = this; if (null != e) { var i = {}, r = function() { n.options = KTUtil.deepExtend({}, i, t), n.uid = KTUtil.getUniqueId("image-input"), n.element = e, n.inputElement = KTUtil.find(e, 'input[type="file"]'), n.wrapperElement = KTUtil.find(e, ".image-input-wrapper"), n.cancelElement = KTUtil.find(e, '[data-kt-image-input-action="cancel"]'), n.removeElement = KTUtil.find(e, '[data-kt-image-input-action="remove"]'), n.hiddenElement = KTUtil.find(e, 'input[type="hidden"]'), n.src = KTUtil.css(n.wrapperElement, "backgroundImage"), n.element.setAttribute("data-kt-image-input", "true"), o(), KTUtil.data(n.element).set("image-input", n) }, o = function() { KTUtil.addEvent(n.inputElement, "change", a), KTUtil.addEvent(n.cancelElement, "click", l), KTUtil.addEvent(n.removeElement, "click", s) }, a = function(e) { if (e.preventDefault(), null !== n.inputElement && n.inputElement.files && n.inputElement.files[0]) { if (!1 === KTEventHandler.trigger(n.element, "kt.imageinput.change", n)) return; var t = new FileReader; t.onload = function(e) { KTUtil.css(n.wrapperElement, "background-image", "url(" + e.target.result + ")") }, t.readAsDataURL(n.inputElement.files[0]), n.element.classList.add("image-input-changed"), n.element.classList.remove("image-input-empty"), KTEventHandler.trigger(n.element, "kt.imageinput.changed", n) } }, l = function(e) { e.preventDefault(), !1 !== KTEventHandler.trigger(n.element, "kt.imageinput.cancel", n) && (n.element.classList.remove("image-input-changed"), n.element.classList.remove("image-input-empty"), "none" === n.src ? (KTUtil.css(n.wrapperElement, "background-image", ""), n.element.classList.add("image-input-empty")) : KTUtil.css(n.wrapperElement, "background-image", n.src), n.inputElement.value = "", null !== n.hiddenElement && (n.hiddenElement.value = "0"), KTEventHandler.trigger(n.element, "kt.imageinput.canceled", n)) }, s = function(e) { e.preventDefault(), !1 !== KTEventHandler.trigger(n.element, "kt.imageinput.remove", n) && (n.element.classList.remove("image-input-changed"), n.element.classList.add("image-input-empty"), KTUtil.css(n.wrapperElement, "background-image", "none"), n.inputElement.value = "", null !== n.hiddenElement && (n.hiddenElement.value = "1"), KTEventHandler.trigger(n.element, "kt.imageinput.removed", n)) }; !0 === KTUtil.data(e).has("image-input") ? n = KTUtil.data(e).get("image-input") : r(), n.getInputElement = function() { return n.inputElement }, n.goElement = function() { return n.element }, n.destroy = function() { KTUtil.data(n.element).remove("image-input") }, n.on = function(e, t) { return KTEventHandler.on(n.element, e, t) }, n.one = function(e, t) { return KTEventHandler.one(n.element, e, t) }, n.off = function(e, t) { return KTEventHandler.off(n.element, e, t) }, n.trigger = function(e, t) { return KTEventHandler.trigger(n.element, e, t, n, t) } } }; KTImageInput.getInstance = function(e) { return null !== e && KTUtil.data(e).has("image-input") ? KTUtil.data(e).get("image-input") : null }, KTImageInput.createInstances = function(e = "[data-kt-image-input]") { var t = document.querySelectorAll(e); if (t && t.length > 0) for (var n = 0, i = t.length; n < i; n++) new KTImageInput(t[n]) }, KTImageInput.init = function() { KTImageInput.createInstances() }, "loading" === document.readyState ? document.addEventListener("DOMContentLoaded", KTImageInput.init) : KTImageInput.init(), "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTImageInput); var KTMenu = function(e, t) { var n = this; if (null != e) { var i = { dropdown: { hoverTimeout: 200, zindex: 105 }, accordion: { slideSpeed: 250, expand: !1 } }, r = function() { n.options = KTUtil.deepExtend({}, i, t), n.uid = KTUtil.getUniqueId("menu"), n.element = e, n.triggerElement, n.disabled = !1, n.element.setAttribute("data-kt-menu", "true"), d(), u(), KTUtil.data(n.element).set("menu", n) }, o = function(e) { e || (e = n.triggerElement), !0 === m(e) ? l(e) : a(e) }, a = function(e) { e || (e = n.triggerElement), !0 !== m(e) && ("dropdown" === v(e) ? U(e) : "accordion" === v(e) && A(e), KTUtil.data(e).set("type", v(e))) }, l = function(e) { e || (e = n.triggerElement), !1 !== m(e) && ("dropdown" === v(e) ? w(e) : "accordion" === v(e) && x(e)) }, s = function(e) { if (!1 !== f(e)) { var t = g(e); KTUtil.data(e).has("type") && KTUtil.data(e).get("type") !== v(e) && (KTUtil.removeClass(e, "hover"), KTUtil.removeClass(e, "show"), KTUtil.removeClass(t, "show")) } }, u = function() { var e = n.element.querySelectorAll(".menu-item[data-kt-menu-trigger]"); if (e && e.length > 0) for (var t = 0, i = e.length; t < i; t++) s(e[t]) }, d = function() { var e = document.querySelector('[data-kt-menu-target="# ' + n.element.getAttribute("id") + '"]'); null !== e ? n.triggerElement = e : n.element.closest("[data-kt-menu-trigger]") ? n.triggerElement = n.element.closest("[data-kt-menu-trigger]") : n.element.parentNode && KTUtil.child(n.element.parentNode, "[data-kt-menu-trigger]") && (n.triggerElement = KTUtil.child(n.element.parentNode, "[data-kt-menu-trigger]")), n.triggerElement && KTUtil.data(n.triggerElement).set("menu", n) }, c = function(e) { return n.triggerElement === e }, m = function(e) { var t = g(e); return null !== t && ("dropdown" === v(e) ? !0 === KTUtil.hasClass(t, "show") && !0 === t.hasAttribute("data-popper-placement") : KTUtil.hasClass(e, "show")) }, f = function(e) { return KTUtil.hasClass(e, "menu-item") && e.hasAttribute("data-kt-menu-trigger") }, p = function(e) { return KTUtil.child(e, ".menu-link") }, g = function(e) { return !0 === c(e) ? n.element : !0 === e.classList.contains("menu-sub") ? e : KTUtil.data(e).has("sub") ? KTUtil.data(e).get("sub") : KTUtil.child(e, ".menu-sub") }, v = function(e) { var t = g(e); return t && parseInt(KTUtil.css(t, "z-index")) > 0 ? "dropdown" : "accordion" }, T = function(e) { var t, n; return c(e) || e.hasAttribute("data-kt-menu-trigger") ? e : KTUtil.data(e).has("item") ? KTUtil.data(e).get("item") : (t = e.closest(".menu-item[data-kt-menu-trigger]")) ? t : (n = e.closest(".menu-sub")) && !0 === KTUtil.data(n).has("item") ? KTUtil.data(n).get("item") : void 0 }, h = function(e) { var t, n = e.closest(".menu-sub"); return KTUtil.data(n).has("item") ? KTUtil.data(n).get("item") : n && (t = n.closest(".menu-item[data-kt-menu-trigger]")) ? t : null }, K = function(e) { var t, i = [], r = 0; do { (t = h(e)) && (i.push(t), e = t), r++ } while (null !== t && r < 20); return n.triggerElement && i.unshift(n.triggerElement), i }, b = function(e) { var t = e; return KTUtil.data(e).get("sub") && (t = KTUtil.data(e).get("sub")), null !== t && t.querySelector(".menu-item[data-kt-menu-trigger]") || null }, k = function(e) { var t, n = [], i = 0; do { (t = b(e)) && (n.push(t), e = t), i++ } while (null !== t && i < 20); return n }, U = function(e) { if (!1 !== KTEventHandler.trigger(n.element, "kt.menu.dropdown.show", e)) { KTMenu.hideDropdowns(e); c(e) || p(e); var t = g(e), i = I(e, "width"), r = I(e, "height"), o = n.options.dropdown.zindex, a = KTUtil.getHighestZindex(e); null !== a && a >= o && (o = a + 1), o > 0 && KTUtil.css(t, "z-index", o), null !== i && KTUtil.css(t, "width", i), null !== r && KTUtil.css(t, "height", r), KTUtil.css(t, "display", ""), KTUtil.css(t, "overflow", ""), y(e, t), KTUtil.addClass(e, "show"), KTUtil.addClass(e, "menu-dropdown"), KTUtil.addClass(t, "show"), !0 === I(e, "overflow") ? (document.body.appendChild(t), KTUtil.data(e).set("sub", t), KTUtil.data(t).set("item", e), KTUtil.data(t).set("menu", n)) : KTUtil.data(t).set("item", e), KTEventHandler.trigger(n.element, "kt.menu.dropdown.shown", e) } }, w = function(e) { if (!1 !== KTEventHandler.trigger(n.element, "kt.menu.dropdown.hide", e)) { var t = g(e); KTUtil.css(t, "z-index", ""), KTUtil.css(t, "width", ""), KTUtil.css(t, "height", ""), KTUtil.removeClass(e, "show"), KTUtil.removeClass(e, "menu-dropdown"), KTUtil.removeClass(t, "show"), !0 === I(e, "overflow") && (e.classList.contains("menu-item") ? e.appendChild(t) : KTUtil.insertAfter(n.element, e), KTUtil.data(e).remove("sub"), KTUtil.data(t).remove("item"), KTUtil.data(t).remove("menu")), E(e), KTEventHandler.trigger(n.element, "kt.menu.dropdown.hidden", e) } }, y = function(e, t) { var n, i = I(e, "attach"); n = i ? "parent" === i ? e.parentNode : document.querySelector(i) : e; var r = Popper.createPopper(n, t, S(e)); KTUtil.data(e).set("popper", r) }, E = function(e) { !0 === KTUtil.data(e).has("popper") && (KTUtil.data(e).get("popper").destroy(), KTUtil.data(e).remove("popper")) }, S = function(e) { var t = I(e, "placement"); t || (t = "right"); var n = I(e, "offset"), i = n ? n.split(",") : []; return 2 === i.length && (i[0] = parseInt(i[0]), i[1] = parseInt(i[1])), { placement: t, strategy: !0 === I(e, "overflow") ? "absolute" : "fixed", modifiers: [{ name: "offset", options: { offset: i } }, { name: "preventOverflow", options: { altAxis: !1 !== I(e, "flip") } }, { name: "flip", options: { flipVariations: !1 } }] } }, A = function(e) { if (!1 !== KTEventHandler.trigger(n.element, "kt.menu.accordion.show", e)) { var t = g(e), i = n.options.accordion.expand; !0 === I(e, "expand") ? i = !0 : !1 === I(e, "expand") ? i = !1 : !0 === I(n.element, "expand") && (i = !0), !1 === i && L(e), !0 === KTUtil.data(e).has("popper") && w(e), KTUtil.addClass(e, "hover"), KTUtil.addClass(e, "showing"), KTUtil.slideDown(t, n.options.accordion.slideSpeed, (function() { KTUtil.removeClass(e, "showing"), KTUtil.addClass(e, "show"), KTUtil.addClass(t, "show"), KTEventHandler.trigger(n.element, "kt.menu.accordion.shown", e) })) } }, x = function(e) { if (!1 !== KTEventHandler.trigger(n.element, "kt.menu.accordion.hide", e)) { var t = g(e); KTUtil.addClass(e, "hiding"), KTUtil.slideUp(t, n.options.accordion.slideSpeed, (function() { KTUtil.removeClass(e, "hiding"), KTUtil.removeClass(e, "show"), KTUtil.removeClass(t, "show"), KTUtil.removeClass(e, "hover"), KTEventHandler.trigger(n.element, "kt.menu.accordion.hidden", e) })) } }, L = function(e) { var t, i = KTUtil.findAll(n.element, ".show[data-kt-menu-trigger]"); if (i && i.length > 0) for (var r = 0, o = i.length; r < o; r++) t = i[r], "accordion" === v(t) && t !== e && !1 === e.contains(t) && !1 === t.contains(e) && x(t) }, I = function(e, t) { var n, i = null; return e && e.hasAttribute("data-kt-menu-" + t) && (n = e.getAttribute("data-kt-menu-" + t), null !== (i = KTUtil.getResponsiveValue(n)) && "true" === String(i) ? i = !0 : null !== i && "false" === String(i) && (i = !1)), i }; !0 === KTUtil.data(e).has("menu") ? n = KTUtil.data(e).get("menu") : r(), n.click = function(e, t) { return function(e, t) { if (t.preventDefault(), !0 !== n.disabled) { var i = T(e); "click" === I(i, "trigger") && (!1 === I(i, "toggle") ? a(i) : o(i)) } }(e, t) }, n.link = function(e, t) { return function(e, t) { !0 !== n.disabled && !1 !== KTEventHandler.trigger(n.element, "kt.menu.link.click", e) && (KTMenu.hideDropdowns(), KTEventHandler.trigger(n.element, "kt.menu.link.clicked", e)) }(e) }, n.dismiss = function(e, t) { return function(e, t) { var n = T(e), i = k(n); if (null !== n && "dropdown" === v(n) && (l(n), i.length > 0)) for (var r = 0, o = i.length; r < o; r++) null !== i[r] && "dropdown" === v(i[r]) && l(tems[r]) }(e) }, n.mouseover = function(e, t) { return function(e, t) { var i = T(e); !0 !== n.disabled && null !== i && "hover" === I(i, "trigger") && ("1" === KTUtil.data(i).get("hover") && (clearTimeout(KTUtil.data(i).get("timeout")), KTUtil.data(i).remove("hover"), KTUtil.data(i).remove("timeout")), a(i)) }(e) }, n.mouseout = function(e, t) { return function(e, t) { var i = T(e); if (!0 !== n.disabled && null !== i && "hover" === I(i, "trigger")) { var r = setTimeout((function() { "1" === KTUtil.data(i).get("hover") && l(i) }), n.options.dropdown.hoverTimeout); KTUtil.data(i).set("hover", "1"), KTUtil.data(i).set("timeout", r) } }(e) }, n.getItemTriggerType = function(e) { return I(e, "trigger") }, n.getItemSubType = function(e) { return v(e) }, n.show = function(e) { return a(e) }, n.hide = function(e) { return l(e) }, n.reset = function(e) { return s(e) }, n.update = function() { return u() }, n.getElement = function() { return n.element }, n.setActiveLink = function(e) { return function(e) { var t = T(e), i = K(t), r = e.closest(".tab-pane"), o = [].slice.call(n.element.querySelectorAll(".menu-link.active")), a = [].slice.call(n.element.querySelectorAll(".menu-item.here, .menu-item.show")); if ("accordion" === v(t) ? A(t) : t.classList.add("here"), i && i.length > 0) for (var l = 0, s = i.length; l < s; l++) { var u = i[l]; "accordion" === v(u) ? A(u) : u.classList.add("here") } if (o.map((function(e) { e.classList.remove("active") })), a.map((function(e) { !1 === e.contains(t) && (e.classList.remove("here"), e.classList.remove("show")) })), r && bootstrap.Tab) { var d = n.element.querySelector('[data-bs-target="#' + r.getAttribute("id") + '"]'), c = new bootstrap.Tab(d); c && c.show() } e.classList.add("active") }(e) }, n.getLinkByAttribute = function(e, t = "href") { return function(e, t = "href") { var i = n.element.querySelector("a[" + t + '="' + e + '"]'); if (i) return i }(e, t) }, n.getItemLinkElement = function(e) { return p(e) }, n.getItemToggleElement = function(e) { return function(e) { return n.triggerElement ? n.triggerElement : p(e) }(e) }, n.getItemSubElement = function(e) { return g(e) }, n.getItemParentElements = function(e) { return K(e) }, n.isItemSubShown = function(e) { return m(e) }, n.isItemParentShown = function(e) { return function(e) { return KTUtil.parents(e, ".menu-item.show").length > 0 }(e) }, n.getTriggerElement = function() { return n.triggerElement }, n.isItemDropdownPermanent = function(e) { return function(e) { return !0 === I(e, "permanent") }(e) }, n.destroy = function() { KTUtil.data(n.element).remove("menu") }, n.disable = function() { n.disabled = !0 }, n.enable = function() { n.disabled = !1 }, n.hideAccordions = function(e) { return L(e) }, n.on = function(e, t) { return KTEventHandler.on(n.element, e, t) }, n.one = function(e, t) { return KTEventHandler.one(n.element, e, t) }, n.off = function(e, t) { return KTEventHandler.off(n.element, e, t) } } }; KTMenu.getInstance = function(e) { var t; if (KTUtil.data(e).has("menu")) return KTUtil.data(e).get("menu"); if ((t = e.closest(".menu")) && KTUtil.data(t).has("menu")) return KTUtil.data(t).get("menu"); if (KTUtil.hasClass(e, "menu-link")) { var n = e.closest(".menu-sub"); if (KTUtil.data(n).has("menu")) return KTUtil.data(n).get("menu") } return null }, KTMenu.hideDropdowns = function(e) { var t = document.querySelectorAll(".show.menu-dropdown[data-kt-menu-trigger]"); if (t && t.length > 0) for (var n = 0, i = t.length; n < i; n++) { var r = t[n], o = KTMenu.getInstance(r); o && "dropdown" === o.getItemSubType(r) && (e ? !1 === o.getItemSubElement(r).contains(e) && !1 === r.contains(e) && r !== e && o.hide(r) : o.hide(r)) } }, KTMenu.updateDropdowns = function() { var e = document.querySelectorAll(".show.menu-dropdown[data-kt-menu-trigger]"); if (e && e.length > 0) for (var t = 0, n = e.length; t < n; t++) { var i = e[t]; KTUtil.data(i).has("popper") && KTUtil.data(i).get("popper").forceUpdate() } }, KTMenu.initHandlers = function() { document.addEventListener("click", (function(e) { var t, n, i, r = document.querySelectorAll(".show.menu-dropdown[data-kt-menu-trigger]"); if (r && r.length > 0) for (var o = 0, a = r.length; o < a; o++) if (t = r[o], (i = KTMenu.getInstance(t)) && "dropdown" === i.getItemSubType(t)) { if (i.getElement(), n = i.getItemSubElement(t), t === e.target || t.contains(e.target)) continue; if (n === e.target || n.contains(e.target)) continue; i.hide(t) } })), KTUtil.on(document.body, '.menu-item[data-kt-menu-trigger] > .menu-link, [data-kt-menu-trigger]:not(.menu-item):not([data-kt-menu-trigger="auto"])', "click", (function(e) { var t = KTMenu.getInstance(this); if (null !== t) return t.click(this, e) })), KTUtil.on(document.body, ".menu-item:not([data-kt-menu-trigger]) > .menu-link", "click", (function(e) { var t = KTMenu.getInstance(this); if (null !== t) return t.link(this, e) })), KTUtil.on(document.body, '[data-kt-menu-dismiss="true"]', "click", (function(e) { var t = KTMenu.getInstance(this); if (null !== t) return t.dismiss(this, e) })), KTUtil.on(document.body, "[data-kt-menu-trigger], .menu-sub", "mouseover", (function(e) { var t = KTMenu.getInstance(this); if (null !== t && "dropdown" === t.getItemSubType(this)) return t.mouseover(this, e) })), KTUtil.on(document.body, "[data-kt-menu-trigger], .menu-sub", "mouseout", (function(e) { var t = KTMenu.getInstance(this); if (null !== t && "dropdown" === t.getItemSubType(this)) return t.mouseout(this, e) })), window.addEventListener("resize", (function() { var e; KTUtil.throttle(undefined, (function() { var t = document.querySelectorAll('[data-kt-menu="true"]'); if (t && t.length > 0) for (var n = 0, i = t.length; n < i; n++)(e = KTMenu.getInstance(t[n])) && e.update() }), 200) })) }, KTMenu.updateByLinkAttribute = function(e, t = "href") { var n = document.querySelectorAll('[data-kt-menu="true"]'); if (n && n.length > 0) for (var i = 0, r = n.length; i < r; i++) { var o = KTMenu.getInstance(n[i]); if (o) { var a = o.getLinkByAttribute(e, t); a && o.setActiveLink(a) } } }, KTMenu.createInstances = function(e = '[data-kt-menu="true"]') { var t = document.querySelectorAll(e); if (t && t.length > 0) for (var n = 0, i = t.length; n < i; n++) new KTMenu(t[n]) }, KTMenu.init = function() { KTMenu.initHandlers(), KTMenu.createInstances() }, "loading" === document.readyState ? document.addEventListener("DOMContentLoaded", KTMenu.init) : KTMenu.init(), "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTMenu); var KTPasswordMeter = function(e, t) { var n = this; if (e) { var i = { minLength: 8, checkUppercase: !0, checkLowercase: !0, checkDigit: !0, checkChar: !0, scoreHighlightClass: "active" }, r = function() { n.options = KTUtil.deepExtend({}, i, t), n.score = 0, n.checkSteps = 5, n.element = e, n.inputElement = n.element.querySelector("input[type]"), n.visibilityElement = n.element.querySelector('[data-kt-password-meter-control="visibility"]'), n.highlightElement = n.element.querySelector('[data-kt-password-meter-control="highlight"]'), n.element.setAttribute("data-kt-password-meter", "true"), o(), KTUtil.data(n.element).set("password-meter", n) }, o = function() { n.inputElement.addEventListener("input", (function() { a() })), n.visibilityElement && n.visibilityElement.addEventListener("click", (function() { p() })) }, a = function() { var e = 0, t = m(); !0 === l() && (e += t), !0 === n.options.checkUppercase && !0 === s() && (e += t), !0 === n.options.checkLowercase && !0 === u() && (e += t), !0 === n.options.checkDigit && !0 === d() && (e += t), !0 === n.options.checkChar && !0 === c() && (e += t), n.score = e, f() }, l = function() { return n.inputElement.value.length >= n.options.minLength }, s = function() { return /[a-z]/.test(n.inputElement.value) }, u = function() { return /[A-Z]/.test(n.inputElement.value) }, d = function() { return /[0-9]/.test(n.inputElement.value) }, c = function() { return /[~`!#@$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g.test(n.inputElement.value) }, m = function() { var e = 1; return !0 === n.options.checkUppercase && e++, !0 === n.options.checkLowercase && e++, !0 === n.options.checkDigit && e++, !0 === n.options.checkChar && e++, n.checkSteps = e, 100 / n.checkSteps }, f = function() { var e = [].slice.call(n.highlightElement.querySelectorAll("div")), t = e.length, i = 0, r = m(), o = g(); e.map((function(e) { i++, r * i * (n.checkSteps / t) <= o ? e.classList.add("active") : e.classList.remove("active") })) }, p = function() { var e = n.visibilityElement.querySelector("i:not(.d-none), .svg-icon:not(.d-none)"), t = n.visibilityElement.querySelector("i.d-none, .svg-icon.d-none"); "password" === n.inputElement.getAttribute("type").toLowerCase() ? n.inputElement.setAttribute("type", "text") : n.inputElement.setAttribute("type", "password"), e.classList.add("d-none"), t.classList.remove("d-none"), n.inputElement.focus() }, g = function() { return n.score }; !0 === KTUtil.data(e).has("password-meter") ? n = KTUtil.data(e).get("password-meter") : r(), n.check = function() { return a() }, n.getScore = function() { return g() }, n.reset = function() { return n.score = 0, void f() }, n.destroy = function() { KTUtil.data(n.element).remove("password-meter") } } }; KTPasswordMeter.getInstance = function(e) { return null !== e && KTUtil.data(e).has("password-meter") ? KTUtil.data(e).get("password-meter") : null }, KTPasswordMeter.createInstances = function(e = "[data-kt-password-meter]") { var t = document.body.querySelectorAll(e); if (t && t.length > 0) for (var n = 0, i = t.length; n < i; n++) new KTPasswordMeter(t[n]) }, KTPasswordMeter.init = function() { KTPasswordMeter.createInstances() }, "loading" === document.readyState ? document.addEventListener("DOMContentLoaded", KTPasswordMeter.init) : KTPasswordMeter.init(), "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTPasswordMeter); var KTScroll = function(e, t) { var n = this; if (e) { var i = { saveState: !0 }, r = function() { n.options = KTUtil.deepExtend({}, i, t), n.element = e, n.id = n.element.getAttribute("id"), n.element.setAttribute("data-kt-scroll", "true"), l(), KTUtil.data(n.element).set("scroll", n) }, o = function(e) { return document.body.hasAttribute("data-kt-name") ? document.body.getAttribute("data-kt-name") + "_" : "" }, a = function() { var e = o(); localStorage.setItem(e + n.id + "st", n.element.scrollTop) }, l = function() { var e, t; !0 === f("activate") || !1 === n.element.hasAttribute("data-kt-scroll-activate") ? (e = p(), null !== (t = u()) && t.length > 0 ? KTUtil.css(n.element, e, t) : KTUtil.css(n.element, e, ""), s(), !0 === f("save-state") && n.id ? n.element.addEventListener("scroll", a) : n.element.removeEventListener("scroll", a), function() { var e = o(); if (!0 === f("save-state") && n.id && localStorage.getItem(e + n.id + "st")) { var t = parseInt(localStorage.getItem(e + n.id + "st")); t > 0 && n.element.scroll({ top: t, behavior: "instant" }) } }()) : (KTUtil.css(n.element, p(), ""), n.element.removeEventListener("scroll", a)) }, s = function() { var e = f("stretch"); if (null !== e) { var t = document.querySelectorAll(e); if (t && 2 == t.length) { var i = t[0], r = t[1], o = c(r) - c(i); if (o > 0) { var a = parseInt(KTUtil.css(n.element, p())) + o; KTUtil.css(n.element, p(), String(a) + "px") } } } }, u = function() { var e = f(p()); return e instanceof Function ? e.call() : null !== e && "string" == typeof e && "auto" === e.toLowerCase() ? d() : e }, d = function() { var e, t = KTUtil.getViewPort().height, i = f("dependencies"), r = f("wrappers"), o = f("offset"); if ((t -= m(n.element), null !== i) && ((e = document.querySelectorAll(i)) && e.length > 0)) for (var a = 0, l = e.length; a < l; a++) !1 !== KTUtil.visible(e[a]) && (t -= c(e[a])); if (null !== r && ((e = document.querySelectorAll(r)) && e.length > 0)) for (a = 0, l = e.length; a < l; a++) !1 !== KTUtil.visible(e[a]) && (t -= m(e[a])); return null !== o && "object" != typeof o && (t -= parseInt(o)), String(t) + "px" }, c = function(e) { var t = 0; return null !== e && (t += parseInt(KTUtil.css(e, "height")), t += parseInt(KTUtil.css(e, "margin-top")), t += parseInt(KTUtil.css(e, "margin-bottom")), KTUtil.css(e, "border-top") && (t += parseInt(KTUtil.css(e, "border-top"))), KTUtil.css(e, "border-bottom") && (t += parseInt(KTUtil.css(e, "border-bottom")))), t }, m = function(e) { var t = 0; return null !== e && (t += parseInt(KTUtil.css(e, "margin-top")), t += parseInt(KTUtil.css(e, "margin-bottom")), t += parseInt(KTUtil.css(e, "padding-top")), t += parseInt(KTUtil.css(e, "padding-bottom")), KTUtil.css(e, "border-top") && (t += parseInt(KTUtil.css(e, "border-top"))), KTUtil.css(e, "border-bottom") && (t += parseInt(KTUtil.css(e, "border-bottom")))), t }, f = function(e) { if (!0 === n.element.hasAttribute("data-kt-scroll-" + e)) { var t = n.element.getAttribute("data-kt-scroll-" + e), i = KTUtil.getResponsiveValue(t); return null !== i && "true" === String(i) ? i = !0 : null !== i && "false" === String(i) && (i = !1), i } var r = KTUtil.snakeToCamel(e); return n.options[r] ? KTUtil.getResponsiveValue(n.options[r]) : null }, p = function() { return f("height") ? "height" : f("min-height") ? "min-height" : f("max-height") ? "max-height" : void 0 }; KTUtil.data(e).has("scroll") ? n = KTUtil.data(e).get("scroll") : r(), n.update = function() { return l() }, n.getHeight = function() { return u() }, n.getElement = function() { return n.element }, n.destroy = function() { KTUtil.data(n.element).remove("scroll") } } }; KTScroll.getInstance = function(e) { return null !== e && KTUtil.data(e).has("scroll") ? KTUtil.data(e).get("scroll") : null }, KTScroll.createInstances = function(e = '[data-kt-scroll="true"]') { var t = document.body.querySelectorAll(e); if (t && t.length > 0) for (var n = 0, i = t.length; n < i; n++) new KTScroll(t[n]) }, KTScroll.handleResize = function() { window.addEventListener("resize", (function() { KTUtil.throttle(undefined, (function() { var e = document.body.querySelectorAll('[data-kt-scroll="true"]'); if (e && e.length > 0) for (var t = 0, n = e.length; t < n; t++) { var i = KTScroll.getInstance(e[t]); i && i.update() } }), 200) })) }, KTScroll.init = function() { KTScroll.createInstances(), KTScroll.handleResize() }, "loading" === document.readyState ? document.addEventListener("DOMContentLoaded", KTScroll.init) : KTScroll.init(), "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTScroll); var KTScrolltop = function(e, t) { var n = this; if (null != e) { var i = { offset: 300, speed: 600 }, r = function() { n.options = KTUtil.deepExtend({}, i, t), n.uid = KTUtil.getUniqueId("scrolltop"), n.element = e, n.element.setAttribute("data-kt-scrolltop", "true"), o(), KTUtil.data(n.element).set("scrolltop", n) }, o = function() { window.addEventListener("scroll", (function() { KTUtil.throttle(undefined, (function() { a() }), 200) })), KTUtil.addEvent(n.element, "click", (function(e) { e.preventDefault(), l() })) }, a = function() { var e = parseInt(s("offset")); KTUtil.getScrollTop() > e ? !1 === document.body.hasAttribute("data-kt-scrolltop") && document.body.setAttribute("data-kt-scrolltop", "on") : !0 === document.body.hasAttribute("data-kt-scrolltop") && document.body.removeAttribute("data-kt-scrolltop") }, l = function() { parseInt(s("speed")); window.scrollTo({ top: 0, behavior: "smooth" }) }, s = function(e) { if (!0 === n.element.hasAttribute("data-kt-scrolltop-" + e)) { var t = n.element.getAttribute("data-kt-scrolltop-" + e), i = KTUtil.getResponsiveValue(t); return null !== i && "true" === String(i) ? i = !0 : null !== i && "false" === String(i) && (i = !1), i } var r = KTUtil.snakeToCamel(e); return n.options[r] ? KTUtil.getResponsiveValue(n.options[r]) : null }; KTUtil.data(e).has("scrolltop") ? n = KTUtil.data(e).get("scrolltop") : r(), n.go = function() { return l() }, n.getElement = function() { return n.element }, n.destroy = function() { KTUtil.data(n.element).remove("scrolltop") } } }; KTScrolltop.getInstance = function(e) { return e && KTUtil.data(e).has("scrolltop") ? KTUtil.data(e).get("scrolltop") : null }, KTScrolltop.createInstances = function(e = '[data-kt-scrolltop="true"]') { var t = document.body.querySelectorAll(e); if (t && t.length > 0) for (var n = 0, i = t.length; n < i; n++) new KTScrolltop(t[n]) }, KTScrolltop.init = function() { KTScrolltop.createInstances() }, "loading" === document.readyState ? document.addEventListener("DOMContentLoaded", KTScrolltop.init) : KTScrolltop.init(), "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTScrolltop); var KTSearch = function(e, t) { var n = this; if (e) { var i = { minLength: 2, keypress: !0, enter: !0, layout: "menu", responsive: null, showOnFocus: !0 }, r = function() { n.options = KTUtil.deepExtend({}, i, t), n.processing = !1, n.element = e, n.contentElement = v("content"), n.formElement = v("form"), n.inputElement = v("input"), n.spinnerElement = v("spinner"), n.clearElement = v("clear"), n.toggleElement = v("toggle"), n.submitElement = v("submit"), n.toolbarElement = v("toolbar"), n.resultsElement = v("results"), n.suggestionElement = v("suggestion"), n.emptyElement = v("empty"), n.element.setAttribute("data-kt-search", "true"), n.layout = g("layout"), "menu" === n.layout ? n.menuObject = new KTMenu(n.contentElement) : n.menuObject = null, m(), o(), KTUtil.data(n.element).set("search", n) }, o = function() { n.inputElement.addEventListener("focus", a), n.inputElement.addEventListener("blur", l), !0 === g("keypress") && n.inputElement.addEventListener("input", u), n.submitElement && n.submitElement.addEventListener("click", d), !0 === g("enter") && n.inputElement.addEventListener("keypress", s), n.clearElement && n.clearElement.addEventListener("click", c), n.menuObject && (n.toggleElement && (n.toggleElement.addEventListener("click", f), n.menuObject.on("kt.menu.dropdown.show", (function(e) { KTUtil.visible(n.toggleElement) && (n.toggleElement.classList.add("active"), n.toggleElement.classList.add("show")) })), n.menuObject.on("kt.menu.dropdown.hide", (function(e) { KTUtil.visible(n.toggleElement) && (n.toggleElement.classList.remove("active"), n.toggleElement.classList.remove("show")) }))), n.menuObject.on("kt.menu.dropdown.shown", (function() { n.inputElement.focus() }))), window.addEventListener("resize", (function() { KTUtil.throttle(undefined, (function() { m() }), 200) })) }, a = function() { n.element.classList.add("focus"), (!0 === g("show-on-focus") || n.inputElement.value.length >= minLength) && f() }, l = function() { n.element.classList.remove("focus") }, s = function(e) { 13 == (e.charCode || e.keyCode || 0) && (e.preventDefault(), d()) }, u = function() { if (g("min-length")) { var e = parseInt(g("min-length")); n.inputElement.value.length >= e ? d() : 0 === n.inputElement.value.length && c() } }, d = function() { !1 === n.processing && (n.spinnerElement && n.spinnerElement.classList.remove("d-none"), n.clearElement && n.clearElement.classList.add("d-none"), n.toolbarElement && n.formElement.contains(n.toolbarElement) && n.toolbarElement.classList.add("d-none"), n.inputElement.focus(), n.processing = !0, KTEventHandler.trigger(n.element, "kt.search.process", n)) }, c = function() { !1 !== KTEventHandler.trigger(n.element, "kt.search.clear", n) && (n.inputElement.value = "", n.inputElement.focus(), n.clearElement && n.clearElement.classList.add("d-none"), n.toolbarElement && n.formElement.contains(n.toolbarElement) && n.toolbarElement.classList.remove("d-none"), !1 === g("show-on-focus") && p(), KTEventHandler.trigger(n.element, "kt.search.cleared", n)) }, m = function() { if ("menu" === n.layout) { var e = T(); "on" === e && !1 === n.contentElement.contains(n.formElement) ? (n.contentElement.prepend(n.formElement), n.formElement.classList.remove("d-none")) : "off" === e && !0 === n.contentElement.contains(n.formElement) && (n.element.prepend(n.formElement), n.formElement.classList.add("d-none")) } }, f = function() { n.menuObject && (m(), n.menuObject.show(n.element)) }, p = function() { n.menuObject && (m(), n.menuObject.hide(n.element)) }, g = function(e) { if (!0 === n.element.hasAttribute("data-kt-search-" + e)) { var t = n.element.getAttribute("data-kt-search-" + e), i = KTUtil.getResponsiveValue(t); return null !== i && "true" === String(i) ? i = !0 : null !== i && "false" === String(i) && (i = !1), i } var r = KTUtil.snakeToCamel(e); return n.options[r] ? KTUtil.getResponsiveValue(n.options[r]) : null }, v = function(e) { return n.element.querySelector('[data-kt-search-element="' + e + '"]') }, T = function() { var e = g("responsive"), t = KTUtil.getViewPort().width; if (!e) return null; var n = KTUtil.getBreakpoint(e); return n || (n = parseInt(e)), t < n ? "on" : "off" }; !0 === KTUtil.data(e).has("search") ? n = KTUtil.data(e).get("search") : r(), n.show = function() { return f() }, n.hide = function() { return p() }, n.update = function() { return m() }, n.search = function() { return d() }, n.complete = function() { return n.spinnerElement && n.spinnerElement.classList.add("d-none"), n.clearElement && n.clearElement.classList.remove("d-none"), 0 === n.inputElement.value.length && c(), n.inputElement.focus(), f(), void(n.processing = !1) }, n.clear = function() { return c() }, n.isProcessing = function() { return n.processing }, n.getQuery = function() { return n.inputElement.value }, n.getMenu = function() { return n.menuObject }, n.getFormElement = function() { return n.formElement }, n.getInputElement = function() { return n.inputElement }, n.getContentElement = function() { return n.contentElement }, n.getElement = function() { return n.element }, n.destroy = function() { KTUtil.data(n.element).remove("search") }, n.on = function(e, t) { return KTEventHandler.on(n.element, e, t) }, n.one = function(e, t) { return KTEventHandler.one(n.element, e, t) }, n.off = function(e, t) { return KTEventHandler.off(n.element, e, t) } } }; KTSearch.getInstance = function(e) { return null !== e && KTUtil.data(e).has("search") ? KTUtil.data(e).get("search") : null }, "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTSearch); var KTStepper = function(e, t) { var n = this; if (null != e) { var i = { startIndex: 1, animation: !1, animationSpeed: "0.3s", animationNextClass: "animate__animated animate__slideInRight animate__fast", animationPreviousClass: "animate__animated animate__slideInLeft animate__fast" }, r = function() { n.options = KTUtil.deepExtend({}, i, t), n.uid = KTUtil.getUniqueId("stepper"), n.element = e, n.element.setAttribute("data-kt-stepper", "true"), n.steps = KTUtil.findAll(n.element, '[data-kt-stepper-element="nav"]'), n.btnNext = KTUtil.find(n.element, '[data-kt-stepper-action="next"]'), n.btnPrevious = KTUtil.find(n.element, '[data-kt-stepper-action="previous"]'), n.btnSubmit = KTUtil.find(n.element, '[data-kt-stepper-action="submit"]'), n.totalStepsNumber = n.steps.length, n.passedStepIndex = 0, n.currentStepIndex = 1, n.clickedStepIndex = 0, n.options.startIndex > 1 && o(n.options.startIndex), KTUtil.addEvent(n.btnNext, "click", (function(e) { e.preventDefault(), KTEventHandler.trigger(n.element, "kt.stepper.next", n) })), KTUtil.addEvent(n.btnPrevious, "click", (function(e) { e.preventDefault(), KTEventHandler.trigger(n.element, "kt.stepper.previous", n) })), KTUtil.on(n.element, '[data-kt-stepper-action="step"]', "click", (function(e) { if (e.preventDefault(), n.steps && n.steps.length > 0) for (var t = 0, i = n.steps.length; t < i; t++) if (n.steps[t] === this) return n.clickedStepIndex = t + 1, void KTEventHandler.trigger(n.element, "kt.stepper.click", n) })), KTUtil.data(n.element).set("stepper", n) }, o = function(e) { if (KTEventHandler.trigger(n.element, "kt.stepper.change", n), !(e === n.currentStepIndex || e > n.totalStepsNumber || e < 0)) return e = parseInt(e), n.passedStepIndex = n.currentStepIndex, n.currentStepIndex = e, a(), KTEventHandler.trigger(n.element, "kt.stepper.changed", n), n }, a = function() { var e = ""; e = l() ? "last" : s() ? "first" : "between", KTUtil.removeClass(n.element, "last"), KTUtil.removeClass(n.element, "first"), KTUtil.removeClass(n.element, "between"), KTUtil.addClass(n.element, e); var t = KTUtil.findAll(n.element, '[data-kt-stepper-element="nav"], [data-kt-stepper-element="content"], [data-kt-stepper-element="info"]'); if (t && t.length > 0) for (var i = 0, r = t.length; i < r; i++) { var o = t[i], a = KTUtil.index(o) + 1; if (KTUtil.removeClass(o, "current"), KTUtil.removeClass(o, "completed"), KTUtil.removeClass(o, "pending"), a == n.currentStepIndex) { if (KTUtil.addClass(o, "current"), !1 !== n.options.animation && "content" == o.getAttribute("data-kt-stepper-element")) { KTUtil.css(o, "animationDuration", n.options.animationSpeed); var u = "previous" === f(n.passedStepIndex) ? n.options.animationPreviousClass : n.options.animationNextClass; KTUtil.animateClass(o, u) } } else a < n.currentStepIndex ? KTUtil.addClass(o, "completed") : KTUtil.addClass(o, "pending") } }, l = function() { return n.currentStepIndex === n.totalStepsNumber }, s = function() { return 1 === n.currentStepIndex }, u = function() { return n.totalStepsNumber >= n.currentStepIndex + 1 ? n.currentStepIndex + 1 : n.totalStepsNumber }, d = function() { return n.currentStepIndex - 1 > 1 ? n.currentStepIndex - 1 : 1 }, c = function() { return 1 }, m = function() { return n.totalStepsNumber }, f = function(e) { return e > n.currentStepIndex ? "next" : "previous" }; !0 === KTUtil.data(e).has("stepper") ? n = KTUtil.data(e).get("stepper") : r(), n.getElement = function(e) { return n.element }, n.goTo = function(e) { return o(e) }, n.goPrevious = function() { return o(d()) }, n.goNext = function() { return o(u()) }, n.goFirst = function() { return o(c()) }, n.goLast = function() { return o(m()) }, n.getCurrentStepIndex = function() { return n.currentStepIndex }, n.getNextStepIndex = function() { return n.nextStepIndex }, n.getPassedStepIndex = function() { return n.passedStepIndex }, n.getClickedStepIndex = function() { return n.clickedStepIndex }, n.getPreviousStepIndex = function() { return n.PreviousStepIndex }, n.destroy = function() { KTUtil.data(n.element).remove("stepper") }, n.on = function(e, t) { return KTEventHandler.on(n.element, e, t) }, n.one = function(e, t) { return KTEventHandler.one(n.element, e, t) }, n.off = function(e, t) { return KTEventHandler.off(n.element, e, t) }, n.trigger = function(e, t) { return KTEventHandler.trigger(n.element, e, t, n, t) } } }; KTStepper.getInstance = function(e) { return null !== e && KTUtil.data(e).has("stepper") ? KTUtil.data(e).get("stepper") : null }, "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTStepper); var KTSticky = function(e, t) { var n = this; if (null != e) { var i = { offset: 200, reverse: !1, animation: !0, animationSpeed: "0.3s", animationClass: "animation-slide-in-down" }, r = function() { n.element = e, n.options = KTUtil.deepExtend({}, i, t), n.uid = KTUtil.getUniqueId("sticky"), n.name = n.element.getAttribute("data-kt-sticky-name"), n.attributeName = "data-kt-sticky-" + n.name, n.attributeName2 = "data-kt-" + n.name, n.eventTriggerState = !0, n.lastScrollTop = 0, n.scrollHandler, n.element.setAttribute("data-kt-sticky", "true"), window.addEventListener("scroll", o), o(), KTUtil.data(n.element).set("sticky", n) }, o = function(e) { var t, i = u("offset"), r = u("reverse"); if (!1 !== i) if (i = parseInt(i), t = KTUtil.getScrollTop(), document.documentElement.scrollHeight - window.innerHeight - KTUtil.getScrollTop(), !0 === r) { if (t > i) { if (!1 === document.body.hasAttribute(n.attributeName)) { if (!1 === a()) return; document.body.setAttribute(n.attributeName, "on"), document.body.setAttribute(n.attributeName2, "on") }!0 === n.eventTriggerState && (KTEventHandler.trigger(n.element, "kt.sticky.on", n), KTEventHandler.trigger(n.element, "kt.sticky.change", n), n.eventTriggerState = !1) } else !0 === document.body.hasAttribute(n.attributeName) && (l(), document.body.removeAttribute(n.attributeName), document.body.removeAttribute(n.attributeName2)), !1 === n.eventTriggerState && (KTEventHandler.trigger(n.element, "kt.sticky.off", n), KTEventHandler.trigger(n.element, "kt.sticky.change", n), n.eventTriggerState = !0); n.lastScrollTop = t } else if (t > i) { if (!1 === document.body.hasAttribute(n.attributeName)) { if (!1 === a()) return; document.body.setAttribute(n.attributeName, "on"), document.body.setAttribute(n.attributeName2, "on") }!0 === n.eventTriggerState && (KTEventHandler.trigger(n.element, "kt.sticky.on", n), KTEventHandler.trigger(n.element, "kt.sticky.change", n), n.eventTriggerState = !1) } else !0 === document.body.hasAttribute(n.attributeName) && (l(), document.body.removeAttribute(n.attributeName), document.body.removeAttribute(n.attributeName2)), !1 === n.eventTriggerState && (KTEventHandler.trigger(n.element, "kt.sticky.off", n), KTEventHandler.trigger(n.element, "kt.sticky.change", n), n.eventTriggerState = !0) }, a = function(e) { var t = u("top"); t = t ? parseInt(t) : 0; var i = u("left"), r = u("right"), o = u("width"), a = u("zindex"), l = u("dependencies"), d = u("class"), c = s(), m = u("height-offset"); if (c + (m = m ? parseInt(m) : 0) + t > KTUtil.getViewPort().height) return !1; if (!0 !== e && !0 === u("animation") && (KTUtil.css(n.element, "animationDuration", u("animationSpeed")), KTUtil.animateClass(n.element, "animation " + u("animationClass"))), null !== d && KTUtil.addClass(n.element, d), null !== a && (KTUtil.css(n.element, "z-index", a), KTUtil.css(n.element, "position", "fixed")), t > 0 && KTUtil.css(n.element, "top", String(t) + "px"), null !== o) { if (o.target) { var f = document.querySelector(o.target); f && (o = KTUtil.css(f, "width")) } KTUtil.css(n.element, "width", o) } if (null !== i) if ("auto" === String(i).toLowerCase()) { var p = KTUtil.offset(n.element).left; p > 0 && KTUtil.css(n.element, "left", String(p) + "px") } else KTUtil.css(n.element, "left", i); if (null !== r && KTUtil.css(n.element, "right", r), null !== l) { var g = document.querySelectorAll(l); if (g && g.length > 0) for (var v = 0, T = g.length; v < T; v++) KTUtil.css(g[v], "padding-top", String(c) + "px") } }, l = function() { KTUtil.css(n.element, "top", ""), KTUtil.css(n.element, "width", ""), KTUtil.css(n.element, "left", ""), KTUtil.css(n.element, "right", ""), KTUtil.css(n.element, "z-index", ""), KTUtil.css(n.element, "position", ""); var e = u("dependencies"), t = u("class"); if (null !== t && KTUtil.removeClass(n.element, t), null !== e) { var i = document.querySelectorAll(e); if (i && i.length > 0) for (var r = 0, o = i.length; r < o; r++) KTUtil.css(i[r], "padding-top", "") } }, s = function() { var t = parseFloat(KTUtil.css(n.element, "height")); return t += parseFloat(KTUtil.css(n.element, "margin-top")), t += parseFloat(KTUtil.css(n.element, "margin-bottom")), KTUtil.css(e, "border-top") && (t += parseFloat(KTUtil.css(n.element, "border-top"))), KTUtil.css(e, "border-bottom") && (t += parseFloat(KTUtil.css(n.element, "border-bottom"))), t }, u = function(e) { if (!0 === n.element.hasAttribute("data-kt-sticky-" + e)) { var t = n.element.getAttribute("data-kt-sticky-" + e), i = KTUtil.getResponsiveValue(t); return null !== i && "true" === String(i) ? i = !0 : null !== i && "false" === String(i) && (i = !1), i } var r = KTUtil.snakeToCamel(e); return n.options[r] ? KTUtil.getResponsiveValue(n.options[r]) : null }; !0 === KTUtil.data(e).has("sticky") ? n = KTUtil.data(e).get("sticky") : r(), n.update = function() { !0 === document.body.hasAttribute(n.attributeName) && (l(), document.body.removeAttribute(n.attributeName), document.body.removeAttribute(n.attributeName2), a(!0), document.body.setAttribute(n.attributeName, "on"), document.body.setAttribute(n.attributeName2, "on")) }, n.destroy = function() { return window.removeEventListener("scroll", o), void KTUtil.data(n.element).remove("sticky") }, n.on = function(e, t) { return KTEventHandler.on(n.element, e, t) }, n.one = function(e, t) { return KTEventHandler.one(n.element, e, t) }, n.off = function(e, t) { return KTEventHandler.off(n.element, e, t) }, n.trigger = function(e, t) { return KTEventHandler.trigger(n.element, e, t, n, t) } } }; KTSticky.getInstance = function(e) { return null !== e && KTUtil.data(e).has("sticky") ? KTUtil.data(e).get("sticky") : null }, KTSticky.createInstances = function(e = '[data-kt-sticky="true"]') { var t = document.body.querySelectorAll(e); if (t && t.length > 0) for (var n = 0, i = t.length; n < i; n++) new KTSticky(t[n]) }, KTSticky.handleResize = function() { window.addEventListener("resize", (function() { KTUtil.throttle(undefined, (function() { var e = document.body.querySelectorAll('[data-kt-sticky="true"]'); if (e && e.length > 0) for (var t = 0, n = e.length; t < n; t++) { var i = KTSticky.getInstance(e[t]); i && i.update() } }), 200) })) }, KTSticky.init = function() { KTSticky.createInstances(), KTSticky.handleResize() }, "loading" === document.readyState ? document.addEventListener("DOMContentLoaded", KTSticky.init) : KTSticky.init(), "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTSticky); var KTSwapper = function(e, t) { var n = this; if (null != e) { var i = { mode: "append" }, r = function() { n.element = e, n.options = KTUtil.deepExtend({}, i, t), n.element.setAttribute("data-kt-swapper", "true"), o(), KTUtil.data(n.element).set("swapper", n) }, o = function(t) { var n = a("parent"), i = a("mode"), r = n ? document.querySelector(n) : null; r && e.parentNode !== r && ("prepend" === i ? r.prepend(e) : "append" === i && r.append(e)) }, a = function(e) { if (!0 === n.element.hasAttribute("data-kt-swapper-" + e)) { var t = n.element.getAttribute("data-kt-swapper-" + e), i = KTUtil.getResponsiveValue(t); return null !== i && "true" === String(i) ? i = !0 : null !== i && "false" === String(i) && (i = !1), i } var r = KTUtil.snakeToCamel(e); return n.options[r] ? KTUtil.getResponsiveValue(n.options[r]) : null }; !0 === KTUtil.data(e).has("swapper") ? n = KTUtil.data(e).get("swapper") : r(), n.update = function() { o() }, n.destroy = function() { KTUtil.data(n.element).remove("swapper") }, n.on = function(e, t) { return KTEventHandler.on(n.element, e, t) }, n.one = function(e, t) { return KTEventHandler.one(n.element, e, t) }, n.off = function(e, t) { return KTEventHandler.off(n.element, e, t) }, n.trigger = function(e, t) { return KTEventHandler.trigger(n.element, e, t, n, t) } } }; KTSwapper.getInstance = function(e) { return null !== e && KTUtil.data(e).has("swapper") ? KTUtil.data(e).get("swapper") : null }, KTSwapper.createInstances = function(e = '[data-kt-swapper="true"]') { var t = document.querySelectorAll(e); if (t && t.length > 0) for (var n = 0, i = t.length; n < i; n++) new KTSwapper(t[n]) }, window.addEventListener("resize", (function() { KTUtil.throttle(undefined, (function() { var e = document.querySelectorAll('[data-kt-swapper="true"]'); if (e && e.length > 0) for (var t = 0, n = e.length; t < n; t++) { var i = KTSwapper.getInstance(e[t]); i && i.update() } }), 200) })), KTSwapper.init = function() { KTSwapper.createInstances() }, "loading" === document.readyState ? document.addEventListener("DOMContentLoaded", KTSwapper.init) : KTSwapper.init(), "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTSwapper); var KTToggle = function(e, t) { var n = this; if (e) { var i = { saveState: !0 }, r = function() { n.options = KTUtil.deepExtend({}, i, t), n.uid = KTUtil.getUniqueId("toggle"), n.element = e, n.target = document.querySelector(n.element.getAttribute("data-kt-toggle-target")) ? document.querySelector(n.element.getAttribute("data-kt-toggle-target")) : n.element, n.state = n.element.hasAttribute("data-kt-toggle-state") ? n.element.getAttribute("data-kt-toggle-state") : "", n.mode = n.element.hasAttribute("data-kt-toggle-mode") ? n.element.getAttribute("data-kt-toggle-mode") : "", n.attribute = "data-kt-" + n.element.getAttribute("data-kt-toggle-name"), o(), KTUtil.data(n.element).set("toggle", n) }, o = function() { KTUtil.addEvent(n.element, "click", (function(e) { e.preventDefault(), "" !== n.mode ? ("off" === n.mode && !1 === u() || "on" === n.mode && !0 === u()) && a() : a() })) }, a = function() { return KTEventHandler.trigger(n.element, "kt.toggle.change", n), u() ? s() : l(), KTEventHandler.trigger(n.element, "kt.toggle.changed", n), n }, l = function() { if (!0 !== u()) return KTEventHandler.trigger(n.element, "kt.toggle.enable", n), n.target.setAttribute(n.attribute, "on"), n.state.length > 0 && n.element.classList.add(n.state), void 0 !== KTCookie && !0 === n.options.saveState && KTCookie.set(n.attribute, "on"), KTEventHandler.trigger(n.element, "kt.toggle.enabled", n), n }, s = function() { if (!1 !== u()) return KTEventHandler.trigger(n.element, "kt.toggle.disable", n), n.target.removeAttribute(n.attribute), n.state.length > 0 && n.element.classList.remove(n.state), void 0 !== KTCookie && !0 === n.options.saveState && KTCookie.remove(n.attribute), KTEventHandler.trigger(n.element, "kt.toggle.disabled", n), n }, u = function() { return "on" === String(n.target.getAttribute(n.attribute)).toLowerCase() }; !0 === KTUtil.data(e).has("toggle") ? n = KTUtil.data(e).get("toggle") : r(), n.toggle = function() { return a() }, n.enable = function() { return l() }, n.disable = function() { return s() }, n.isEnabled = function() { return u() }, n.goElement = function() { return n.element }, n.destroy = function() { KTUtil.data(n.element).remove("toggle") }, n.on = function(e, t) { return KTEventHandler.on(n.element, e, t) }, n.one = function(e, t) { return KTEventHandler.one(n.element, e, t) }, n.off = function(e, t) { return KTEventHandler.off(n.element, e, t) }, n.trigger = function(e, t) { return KTEventHandler.trigger(n.element, e, t, n, t) } } }; KTToggle.getInstance = function(e) { return null !== e && KTUtil.data(e).has("toggle") ? KTUtil.data(e).get("toggle") : null }, KTToggle.createInstances = function(e = "[data-kt-toggle]") { var t = document.body.querySelectorAll(e); if (t && t.length > 0) for (var n = 0, i = t.length; n < i; n++) new KTToggle(t[n]) }, KTToggle.init = function() { KTToggle.createInstances() }, "loading" === document.readyState ? document.addEventListener("DOMContentLoaded", KTToggle.init) : KTToggle.init(), "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTToggle), Element.prototype.matches || (Element.prototype.matches = function(e) { for (var t = (this.document || this.ownerDocument).querySelectorAll(e), n = t.length; --n >= 0 && t.item(n) !== this;); return n > -1 }), Element.prototype.closest || (Element.prototype.closest = function(e) { var t = this; if (!document.documentElement.contains(this)) return null; do { if (t.matches(e)) return t; t = t.parentElement } while (null !== t); return null }) /** * ChildNode.remove() polyfill * https://gomakethings.com/removing-an-element-from-the-dom-the-es6-way/ * @author Chris Ferdinandi * @license MIT */ , function(e) { for (var t = 0; t < e.length; t++) window[e[t]] && !("remove" in window[e[t]].prototype) && (window[e[t]].prototype.remove = function() { this.parentNode.removeChild(this) }) }(["Element", "CharacterData", "DocumentType"]), function() { for (var e = 0, t = ["webkit", "moz"], n = 0; n < t.length && !window.requestAnimationFrame; ++n) window.requestAnimationFrame = window[t[n] + "RequestAnimationFrame"], window.cancelAnimationFrame = window[t[n] + "CancelAnimationFrame"] || window[t[n] + "CancelRequestAnimationFrame"]; window.requestAnimationFrame || (window.requestAnimationFrame = function(t) { var n = (new Date).getTime(), i = Math.max(0, 16 - (n - e)), r = window.setTimeout((function() { t(n + i) }), i); return e = n + i, r }), window.cancelAnimationFrame || (window.cancelAnimationFrame = function(e) { clearTimeout(e) }) }(), [Element.prototype, Document.prototype, DocumentFragment.prototype].forEach((function(e) { e.hasOwnProperty("prepend") || Object.defineProperty(e, "prepend", { configurable: !0, enumerable: !0, writable: !0, value: function() { var e = Array.prototype.slice.call(arguments), t = document.createDocumentFragment(); e.forEach((function(e) { var n = e instanceof Node; t.appendChild(n ? e : document.createTextNode(String(e))) })), this.insertBefore(t, this.firstChild) } }) })), null == Element.prototype.getAttributeNames && (Element.prototype.getAttributeNames = function() { for (var e = this.attributes, t = e.length, n = new Array(t), i = 0; i < t; i++) n[i] = e[i].name; return n }), window.KTUtilElementDataStore = {}, window.KTUtilElementDataStoreID = 0, window.KTUtilDelegatedEventHandlers = {}; var KTUtil = function() { var e = [], t = function() { window.addEventListener("resize", (function() { KTUtil.throttle(undefined, (function() { ! function() { for (var t = 0; t < e.length; t++) e[t].call() }() }), 200) })) }; return { init: function(e) { t() }, addResizeHandler: function(t) { e.push(t) }, removeResizeHandler: function(t) { for (var n = 0; n < e.length; n++) t === e[n] && delete e[n] }, runResizeHandlers: function() { _runResizeHandlers() }, resize: function() { if ("function" == typeof Event) window.dispatchEvent(new Event("resize")); else { var e = window.document.createEvent("UIEvents"); e.initUIEvent("resize", !0, !1, window, 0), window.dispatchEvent(e) } }, getURLParam: function(e) { var t, n, i = window.location.search.substring(1).split("&"); for (t = 0; t < i.length; t++) if ((n = i[t].split("="))[0] == e) return unescape(n[1]); return null }, isMobileDevice: function() { var e = this.getViewPort().width < this.getBreakpoint("lg"); return !1 === e && (e = null != navigator.userAgent.match(/iPad/i)), e }, isDesktopDevice: function() { return !KTUtil.isMobileDevice() }, getViewPort: function() { var e = window, t = "inner"; return "innerWidth" in window || (t = "client", e = document.documentElement || document.body), { width: e[t + "Width"], height: e[t + "Height"] } }, isBreakpointUp: function(e) { return this.getViewPort().width >= this.getBreakpoint(e) }, isBreakpointDown: function(e) { return this.getViewPort().width < this.getBreakpoint(e) }, getViewportWidth: function() { return this.getViewPort().width }, getUniqueId: function(e) { return e + Math.floor(Math.random() * (new Date).getTime()) }, getBreakpoint: function(e) { var t = this.getCssVariableValue("--kt-" + e); return t && (t = parseInt(t.trim())), t }, isset: function(e, t) { var n; if (-1 !== (t = t || "").indexOf("[")) throw new Error("Unsupported object path notation."); t = t.split("."); do { if (void 0 === e) return !1; if (n = t.shift(), !e.hasOwnProperty(n)) return !1; e = e[n] } while (t.length); return !0 }, getHighestZindex: function(e) { for (var t, n; e && e !== document;) { if (("absolute" === (t = KTUtil.css(e, "position")) || "relative" === t || "fixed" === t) && (n = parseInt(KTUtil.css(e, "z-index")), !isNaN(n) && 0 !== n)) return n; e = e.parentNode } return 1 }, hasFixedPositionedParent: function(e) { for (; e && e !== document;) { if ("fixed" === KTUtil.css(e, "position")) return !0; e = e.parentNode } return !1 }, sleep: function(e) { for (var t = (new Date).getTime(), n = 0; n < 1e7 && !((new Date).getTime() - t > e); n++); }, getRandomInt: function(e, t) { return Math.floor(Math.random() * (t - e + 1)) + e }, isAngularVersion: function() { return void 0 !== window.Zone }, deepExtend: function(e) { e = e || {}; for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; if (n) for (var i in n) n.hasOwnProperty(i) && ("[object Object]" !== Object.prototype.toString.call(n[i]) ? e[i] = n[i] : e[i] = KTUtil.deepExtend(e[i], n[i])) } return e }, extend: function(e) { e = e || {}; for (var t = 1; t < arguments.length; t++) if (arguments[t]) for (var n in arguments[t]) arguments[t].hasOwnProperty(n) && (e[n] = arguments[t][n]); return e }, getBody: function() { return document.getElementsByTagName("body")[0] }, hasClasses: function(e, t) { if (e) { for (var n = t.split(" "), i = 0; i < n.length; i++) if (0 == KTUtil.hasClass(e, KTUtil.trim(n[i]))) return !1; return !0 } }, hasClass: function(e, t) { if (e) return e.classList ? e.classList.contains(t) : new RegExp("\\b" + t + "\\b").test(e.className) }, addClass: function(e, t) { if (e && void 0 !== t) { var n = t.split(" "); if (e.classList) for (var i = 0; i < n.length; i++) n[i] && n[i].length > 0 && e.classList.add(KTUtil.trim(n[i])); else if (!KTUtil.hasClass(e, t)) for (var r = 0; r < n.length; r++) e.className += " " + KTUtil.trim(n[r]) } }, removeClass: function(e, t) { if (e && void 0 !== t) { var n = t.split(" "); if (e.classList) for (var i = 0; i < n.length; i++) e.classList.remove(KTUtil.trim(n[i])); else if (KTUtil.hasClass(e, t)) for (var r = 0; r < n.length; r++) e.className = e.className.replace(new RegExp("\\b" + KTUtil.trim(n[r]) + "\\b", "g"), "") } }, triggerCustomEvent: function(e, t, n) { var i; window.CustomEvent ? i = new CustomEvent(t, { detail: n }) : (i = document.createEvent("CustomEvent")).initCustomEvent(t, !0, !0, n), e.dispatchEvent(i) }, triggerEvent: function(e, t) { var n; if (e.ownerDocument) n = e.ownerDocument; else { if (9 != e.nodeType) throw new Error("Invalid node passed to fireEvent: " + e.id); n = e } if (e.dispatchEvent) { var i = ""; switch (t) { case "click": case "mouseenter": case "mouseleave": case "mousedown": case "mouseup": i = "MouseEvents"; break; case "focus": case "change": case "blur": case "select": i = "HTMLEvents"; break; default: throw "fireEvent: Couldn't find an event class for event '" + t + "'." } var r = "change" != t; (o = n.createEvent(i)).initEvent(t, r, !0), o.synthetic = !0, e.dispatchEvent(o, !0) } else if (e.fireEvent) { var o; (o = n.createEventObject()).synthetic = !0, e.fireEvent("on" + t, o) } }, index: function(e) { for (var t = e.parentNode.children, n = 0; n < t.length; n++) if (t[n] == e) return n }, trim: function(e) { return e.trim() }, eventTriggered: function(e) { return !!e.currentTarget.dataset.triggered || (e.currentTarget.dataset.triggered = !0, !1) }, remove: function(e) { e && e.parentNode && e.parentNode.removeChild(e) }, find: function(e, t) { return null !== e ? e.querySelector(t) : null }, findAll: function(e, t) { return null !== e ? e.querySelectorAll(t) : null }, insertAfter: function(e, t) { return t.parentNode.insertBefore(e, t.nextSibling) }, parents: function(e, t) { for (var n = []; e && e !== document; e = e.parentNode) t ? e.matches(t) && n.push(e) : n.push(e); return n }, children: function(e, t, n) { if (!e || !e.childNodes) return null; for (var i = [], r = 0, o = e.childNodes.length; r < o; ++r) 1 == e.childNodes[r].nodeType && KTUtil.matches(e.childNodes[r], t, n) && i.push(e.childNodes[r]); return i }, child: function(e, t, n) { var i = KTUtil.children(e, t, n); return i ? i[0] : null }, matches: function(e, t, n) { var i = Element.prototype, r = i.matches || i.webkitMatchesSelector || i.mozMatchesSelector || i.msMatchesSelector || function(e) { return -1 !== [].indexOf.call(document.querySelectorAll(e), this) }; return !(!e || !e.tagName) && r.call(e, t) }, data: function(e) { return { set: function(t, n) { e && (void 0 === e.customDataTag && (window.KTUtilElementDataStoreID++, e.customDataTag = window.KTUtilElementDataStoreID), void 0 === window.KTUtilElementDataStore[e.customDataTag] && (window.KTUtilElementDataStore[e.customDataTag] = {}), window.KTUtilElementDataStore[e.customDataTag][t] = n) }, get: function(t) { if (e) return void 0 === e.customDataTag ? null : this.has(t) ? window.KTUtilElementDataStore[e.customDataTag][t] : null }, has: function(t) { return !!e && (void 0 !== e.customDataTag && !(!window.KTUtilElementDataStore[e.customDataTag] || !window.KTUtilElementDataStore[e.customDataTag][t])) }, remove: function(t) { e && this.has(t) && delete window.KTUtilElementDataStore[e.customDataTag][t] } } }, outerWidth: function(e, t) { var n; return !0 === t ? (n = parseFloat(e.offsetWidth), n += parseFloat(KTUtil.css(e, "margin-left")) + parseFloat(KTUtil.css(e, "margin-right")), parseFloat(n)) : n = parseFloat(e.offsetWidth) }, offset: function(e) { var t, n; if (e) return e.getClientRects().length ? (t = e.getBoundingClientRect(), n = e.ownerDocument.defaultView, { top: t.top + n.pageYOffset, left: t.left + n.pageXOffset, right: window.innerWidth - (e.offsetLeft + e.offsetWidth) }) : { top: 0, left: 0 } }, height: function(e) { return KTUtil.css(e, "height") }, outerHeight: function(e, t) { var n, i = e.offsetHeight; return void 0 !== t && !0 === t ? (n = getComputedStyle(e), i += parseInt(n.marginTop) + parseInt(n.marginBottom)) : i }, visible: function(e) { return !(0 === e.offsetWidth && 0 === e.offsetHeight) }, isVisibleInContainer: function(e, t) { const n = e.offsetTop, i = n + e.clientHeight, r = t.scrollTop, o = r + t.clientHeight; return n >= r && i <= o || n < r && r < i || n < o && o < i }, getRelativeTopPosition: function(e, t) { return e.offsetTop - t.offsetTop }, attr: function(e, t, n) { if (null != e) return void 0 === n ? e.getAttribute(t) : void e.setAttribute(t, n) }, hasAttr: function(e, t) { if (null != e) return !!e.getAttribute(t) }, removeAttr: function(e, t) { null != e && e.removeAttribute(t) }, animate: function(e, t, n, i, r, o) { var a = {}; if (a.linear = function(e, t, n, i) { return n * e / i + t }, r = a.linear, "number" == typeof e && "number" == typeof t && "number" == typeof n && "function" == typeof i) { "function" != typeof o && (o = function() {}); var l = window.requestAnimationFrame || function(e) { window.setTimeout(e, 20) }, s = t - e; i(e); var u = window.performance && window.performance.now ? window.performance.now() : +new Date; l((function a(d) { var c = (d || +new Date) - u; c >= 0 && i(r(c, e, s, n)), c >= 0 && c >= n ? (i(t), o()) : l(a) })) } }, actualCss: function(e, t, n) { var i, r = ""; if (e instanceof HTMLElement != !1) return e.getAttribute("kt-hidden-" + t) && !1 !== n ? parseFloat(e.getAttribute("kt-hidden-" + t)) : (r = e.style.cssText, e.style.cssText = "position: absolute; visibility: hidden; display: block;", "width" == t ? i = e.offsetWidth : "height" == t && (i = e.offsetHeight), e.style.cssText = r, e.setAttribute("kt-hidden-" + t, i), parseFloat(i)) }, actualHeight: function(e, t) { return KTUtil.actualCss(e, "height", t) }, actualWidth: function(e, t) { return KTUtil.actualCss(e, "width", t) }, getScroll: function(e, t) { return t = "scroll" + t, e == window || e == document ? self["scrollTop" == t ? "pageYOffset" : "pageXOffset"] || browserSupportsBoxModel && document.documentElement[t] || document.body[t] : e[t] }, css: function(e, t, n, i) { if (e) if (void 0 !== n) !0 === i ? e.style.setProperty(t, n, "important") : e.style[t] = n; else { var r = (e.ownerDocument || document).defaultView; if (r && r.getComputedStyle) return t = t.replace(/([A-Z])/g, "-$1").toLowerCase(), r.getComputedStyle(e, null).getPropertyValue(t); if (e.currentStyle) return t = t.replace(/\-(\w)/g, (function(e, t) { return t.toUpperCase() })), n = e.currentStyle[t], /^\d+(em|pt|%|ex)?$/i.test(n) ? function(t) { var n = e.style.left, i = e.runtimeStyle.left; return e.runtimeStyle.left = e.currentStyle.left, e.style.left = t || 0, t = e.style.pixelLeft + "px", e.style.left = n, e.runtimeStyle.left = i, t }(n) : n } }, slide: function(e, t, n, i, r) { if (!(!e || "up" == t && !1 === KTUtil.visible(e) || "down" == t && !0 === KTUtil.visible(e))) { n = n || 600; var o = KTUtil.actualHeight(e), a = !1, l = !1; KTUtil.css(e, "padding-top") && !0 !== KTUtil.data(e).has("slide-padding-top") && KTUtil.data(e).set("slide-padding-top", KTUtil.css(e, "padding-top")), KTUtil.css(e, "padding-bottom") && !0 !== KTUtil.data(e).has("slide-padding-bottom") && KTUtil.data(e).set("slide-padding-bottom", KTUtil.css(e, "padding-bottom")), KTUtil.data(e).has("slide-padding-top") && (a = parseInt(KTUtil.data(e).get("slide-padding-top"))), KTUtil.data(e).has("slide-padding-bottom") && (l = parseInt(KTUtil.data(e).get("slide-padding-bottom"))), "up" == t ? (e.style.cssText = "display: block; overflow: hidden;", a && KTUtil.animate(0, a, n, (function(t) { e.style.paddingTop = a - t + "px" }), "linear"), l && KTUtil.animate(0, l, n, (function(t) { e.style.paddingBottom = l - t + "px" }), "linear"), KTUtil.animate(0, o, n, (function(t) { e.style.height = o - t + "px" }), "linear", (function() { e.style.height = "", e.style.display = "none", "function" == typeof i && i() }))) : "down" == t && (e.style.cssText = "display: block; overflow: hidden;", a && KTUtil.animate(0, a, n, (function(t) { e.style.paddingTop = t + "px" }), "linear", (function() { e.style.paddingTop = "" })), l && KTUtil.animate(0, l, n, (function(t) { e.style.paddingBottom = t + "px" }), "linear", (function() { e.style.paddingBottom = "" })), KTUtil.animate(0, o, n, (function(t) { e.style.height = t + "px" }), "linear", (function() { e.style.height = "", e.style.display = "", e.style.overflow = "", "function" == typeof i && i() }))) } }, slideUp: function(e, t, n) { KTUtil.slide(e, "up", t, n) }, slideDown: function(e, t, n) { KTUtil.slide(e, "down", t, n) }, show: function(e, t) { void 0 !== e && (e.style.display = t || "block") }, hide: function(e) { void 0 !== e && (e.style.display = "none") }, addEvent: function(e, t, n, i) { null != e && e.addEventListener(t, n) }, removeEvent: function(e, t, n) { null !== e && e.removeEventListener(t, n) }, on: function(e, t, n, i) { if (null !== e) { var r = KTUtil.getUniqueId("event"); return window.KTUtilDelegatedEventHandlers[r] = function(n) { for (var r = e.querySelectorAll(t), o = n.target; o && o !== e;) { for (var a = 0, l = r.length; a < l; a++) o === r[a] && i.call(o, n); o = o.parentNode } }, KTUtil.addEvent(e, n, window.KTUtilDelegatedEventHandlers[r]), r } }, off: function(e, t, n) { e && window.KTUtilDelegatedEventHandlers[n] && (KTUtil.removeEvent(e, t, window.KTUtilDelegatedEventHandlers[n]), delete window.KTUtilDelegatedEventHandlers[n]) }, one: function(e, t, n) { e.addEventListener(t, (function t(i) { return i.target && i.target.removeEventListener && i.target.removeEventListener(i.type, t), e && e.removeEventListener && i.currentTarget.removeEventListener(i.type, t), n(i) })) }, hash: function(e) { var t, n = 0; if (0 === e.length) return n; for (t = 0; t < e.length; t++) n = (n << 5) - n + e.charCodeAt(t), n |= 0; return n }, animateClass: function(e, t, n) { var i, r = { animation: "animationend", OAnimation: "oAnimationEnd", MozAnimation: "mozAnimationEnd", WebkitAnimation: "webkitAnimationEnd", msAnimation: "msAnimationEnd" }; for (var o in r) void 0 !== e.style[o] && (i = r[o]); KTUtil.addClass(e, t), KTUtil.one(e, i, (function() { KTUtil.removeClass(e, t) })), n && KTUtil.one(e, i, n) }, transitionEnd: function(e, t) { var n, i = { transition: "transitionend", OTransition: "oTransitionEnd", MozTransition: "mozTransitionEnd", WebkitTransition: "webkitTransitionEnd", msTransition: "msTransitionEnd" }; for (var r in i) void 0 !== e.style[r] && (n = i[r]); KTUtil.one(e, n, t) }, animationEnd: function(e, t) { var n, i = { animation: "animationend", OAnimation: "oAnimationEnd", MozAnimation: "mozAnimationEnd", WebkitAnimation: "webkitAnimationEnd", msAnimation: "msAnimationEnd" }; for (var r in i) void 0 !== e.style[r] && (n = i[r]); KTUtil.one(e, n, t) }, animateDelay: function(e, t) { for (var n = ["webkit-", "moz-", "ms-", "o-", ""], i = 0; i < n.length; i++) KTUtil.css(e, n[i] + "animation-delay", t) }, animateDuration: function(e, t) { for (var n = ["webkit-", "moz-", "ms-", "o-", ""], i = 0; i < n.length; i++) KTUtil.css(e, n[i] + "animation-duration", t) }, scrollTo: function(e, t, n) { n = n || 500; var i, r, o = e ? KTUtil.offset(e).top : 0; t && (o -= t), i = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0, r = o, KTUtil.animate(i, r, n, (function(e) { document.documentElement.scrollTop = e, document.body.parentNode.scrollTop = e, document.body.scrollTop = e })) }, scrollTop: function(e, t) { KTUtil.scrollTo(null, e, t) }, isArray: function(e) { return e && Array.isArray(e) }, isEmpty: function(e) { for (var t in e) if (e.hasOwnProperty(t)) return !1; return !0 }, numberString: function(e) { for (var t = (e += "").split("."), n = t[0], i = t.length > 1 ? "." + t[1] : "", r = /(\d+)(\d{3})/; r.test(n);) n = n.replace(r, "$1,$2"); return n + i }, isRTL: function() { return "rtl" === document.querySelector("html").getAttribute("direction") }, snakeToCamel: function(e) { return e.replace(/(\-\w)/g, (function(e) { return e[1].toUpperCase() })) }, filterBoolean: function(e) { return !0 === e || "true" === e || !1 !== e && "false" !== e && e }, setHTML: function(e, t) { e.innerHTML = t }, getHTML: function(e) { if (e) return e.innerHTML }, getDocumentHeight: function() { var e = document.body, t = document.documentElement; return Math.max(e.scrollHeight, e.offsetHeight, t.clientHeight, t.scrollHeight, t.offsetHeight) }, getScrollTop: function() { return (document.scrollingElement || document.documentElement).scrollTop }, colorLighten: function(e, t) { const n = function(e, t) { let n = parseInt(e, 16) + t, i = n > 255 ? 255 : n; return i = i.toString(16).length > 1 ? i.toString(16) : `0${i.toString(16)}`, i }; return e = e.indexOf("#") >= 0 ? e.substring(1, e.length) : e, t = parseInt(255 * t / 100), `#${n(e.substring(0,2),t)}${n(e.substring(2,4),t)}${n(e.substring(4,6),t)}` }, colorDarken: function(e, t) { const n = function(e, t) { let n = parseInt(e, 16) - t, i = n < 0 ? 0 : n; return i = i.toString(16).length > 1 ? i.toString(16) : `0${i.toString(16)}`, i }; return e = e.indexOf("#") >= 0 ? e.substring(1, e.length) : e, t = parseInt(255 * t / 100), `#${n(e.substring(0,2),t)}${n(e.substring(2,4),t)}${n(e.substring(4,6),t)}` }, throttle: function(e, t, n) { e || (e = setTimeout((function() { t(), e = void 0 }), n)) }, debounce: function(e, t, n) { clearTimeout(e), e = setTimeout(t, n) }, parseJson: function(e) { if ("string" == typeof e) { var t = (e = e.replace(/'/g, '"')).replace(/(\w+:)|(\w+ :)/g, (function(e) { return '"' + e.substring(0, e.length - 1) + '":' })); try { e = JSON.parse(t) } catch (e) {} } return e }, getResponsiveValue: function(e, t) { var n, i = this.getViewPort().width; if ("object" == typeof(e = KTUtil.parseJson(e))) { var r, o, a = -1; for (var l in e)(o = "default" === l ? 0 : this.getBreakpoint(l) ? this.getBreakpoint(l) : parseInt(l)) <= i && o > a && (r = l, a = o); n = r ? e[r] : e } else n = e; return n }, each: function(e, t) { return [].slice.call(e).map(t) }, getSelectorMatchValue: function(e) { var t = null; if ("object" == typeof(e = KTUtil.parseJson(e))) { if (void 0 !== e.match) { var n = Object.keys(e.match)[0]; e = Object.values(e.match)[0], null !== document.querySelector(n) && (t = e) } } else t = e; return t }, getConditionalValue: function(e) { e = KTUtil.parseJson(e); var t = KTUtil.getResponsiveValue(e); return null !== t && void 0 !== t.match && (t = KTUtil.getSelectorMatchValue(t)), null === t && null !== e && void 0 !== e.default && (t = e.default), t }, getCssVariableValue: function(e) { var t = getComputedStyle(document.documentElement).getPropertyValue(e); return t && t.length > 0 && (t = t.trim()), t }, isInViewport: function(e) { var t = e.getBoundingClientRect(); return t.top >= 0 && t.left >= 0 && t.bottom <= (window.innerHeight || document.documentElement.clientHeight) && t.right <= (window.innerWidth || document.documentElement.clientWidth) }, onDOMContentLoaded: function(e) { "loading" === document.readyState ? document.addEventListener("DOMContentLoaded", e) : e() }, inIframe: function() { try { return window.self !== window.top } catch (e) { return !0 } }, isHexColor: e => /^#[0-9A-F]{6}$/i.test(e) } }(); "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTUtil); var KTApp = function() { var e = !1, t = !1, n = function() { [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map((function(e) { ! function(e, t) { if ("1" !== e.getAttribute("data-kt-initialized")) { var n = {}; e.hasAttribute("data-bs-delay-hide") && (n.hide = e.getAttribute("data-bs-delay-hide")), e.hasAttribute("data-bs-delay-show") && (n.show = e.getAttribute("data-bs-delay-show")), n && (t.delay = n), e.hasAttribute("data-bs-dismiss") && "click" == e.getAttribute("data-bs-dismiss") && (t.dismiss = "click"); var i = new bootstrap.Tooltip(e, t); t.dismiss && "click" === t.dismiss && e.addEventListener("click", (function(e) { i.hide() })), e.setAttribute("data-kt-initialized", "1") } }(e, {}) })) }, i = function() { [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')).map((function(e) { ! function(e, t) { if ("1" !== e.getAttribute("data-kt-initialized")) { var n = {}; e.hasAttribute("data-bs-delay-hide") && (n.hide = e.getAttribute("data-bs-delay-hide")), e.hasAttribute("data-bs-delay-show") && (n.show = e.getAttribute("data-bs-delay-show")), n && (t.delay = n), "true" == e.getAttribute("data-bs-dismiss") && (t.dismiss = !0), !0 === t.dismiss && (t.template = ''); var i = new bootstrap.Popover(e, t); if (!0 === t.dismiss) { var r = function(e) { i.hide() }; e.addEventListener("shown.bs.popover", (function() { document.getElementById(e.getAttribute("aria-describedby")).addEventListener("click", r) })), e.addEventListener("hide.bs.popover", (function() { document.getElementById(e.getAttribute("aria-describedby")).removeEventListener("click", r) })) } e.setAttribute("data-kt-initialized", "1") } }(e, {}) })) }, r = function() { [].slice.call(document.querySelectorAll('[data-kt-countup="true"]:not(.counted)')).map((function(e) { if (KTUtil.isInViewport(e) && KTUtil.visible(e)) { if ("1" === e.getAttribute("data-kt-initialized")) return; var t = {}, n = e.getAttribute("data-kt-countup-value"); n = parseFloat(n.replace(/,/g, "")), e.hasAttribute("data-kt-countup-start-val") && (t.startVal = parseFloat(e.getAttribute("data-kt-countup-start-val"))), e.hasAttribute("data-kt-countup-duration") && (t.duration = parseInt(e.getAttribute("data-kt-countup-duration"))), e.hasAttribute("data-kt-countup-decimal-places") && (t.decimalPlaces = parseInt(e.getAttribute("data-kt-countup-decimal-places"))), e.hasAttribute("data-kt-countup-prefix") && (t.prefix = e.getAttribute("data-kt-countup-prefix")), e.hasAttribute("data-kt-countup-separator") && (t.separator = e.getAttribute("data-kt-countup-separator")), e.hasAttribute("data-kt-countup-suffix") && (t.suffix = e.getAttribute("data-kt-countup-suffix")), new countUp.CountUp(e, n, t).start(), e.classList.add("counted"), e.setAttribute("data-kt-initialized", "1") } })) }, o = function() { const e = Array.prototype.slice.call(document.querySelectorAll('[data-tns="true"]'), 0); (e || 0 !== e.length) && e.forEach((function(e) { "1" !== e.getAttribute("data-kt-initialized") && (! function(e) { if (!e) return; const t = {}; e.getAttributeNames().forEach((function(n) { if (/^data-tns-.*/g.test(n)) { let r = n.replace("data-tns-", "").toLowerCase().replace(/(?:[\s-])\w/g, (function(e) { return e.replace("-", "").toUpperCase() })); if ("data-tns-responsive" === n) { const i = e.getAttribute(n).replace(/(\w+:)|(\w+ :)/g, (function(e) { return '"' + e.substring(0, e.length - 1) + '":' })); try { t[r] = JSON.parse(i) } catch (e) {} } else t[r] = "true" === (i = e.getAttribute(n)) || "false" !== i && i } var i })); const n = Object.assign({}, { container: e, slideBy: "page", autoplay: !0, autoplayButtonOutput: !1 }, t); e.closest(".tns") && KTUtil.addClass(e.closest(".tns"), "tns-initiazlied"), tns(n) }(e), e.setAttribute("data-kt-initialized", "1")) })) }; return { init: function() { SmoothScroll && new SmoothScroll('a[data-kt-scroll-toggle][href*="#"]', { speed: 1e3, speedAsDuration: !0, offset: function(e, t) { return e.hasAttribute("data-kt-scroll-offset") ? KTUtil.getResponsiveValue(e.getAttribute("data-kt-scroll-offset")) : 0 } }), KTUtil.on(document.body, '[data-kt-check="true"]', "change", (function(e) { var t = this, n = document.querySelectorAll(t.getAttribute("data-kt-check-target")); KTUtil.each(n, (function(e) { "checkbox" == e.type ? e.checked = t.checked : e.classList.toggle("active") })) })), KTUtil.on(document.body, '.collapsible[data-bs-toggle="collapse"]', "click", (function(e) { if (this.classList.contains("collapsed") ? (this.classList.remove("active"), this.blur()) : this.classList.add("active"), this.hasAttribute("data-kt-toggle-text")) { var t = this.getAttribute("data-kt-toggle-text"), n = (n = this.querySelector('[data-kt-toggle-text-target="true"]')) || this; this.setAttribute("data-kt-toggle-text", n.innerText), n.innerText = t } })), KTUtil.on(document.body, '[data-kt-rotate="true"]', "click", (function(e) { this.classList.contains("active") ? (this.classList.remove("active"), this.blur()) : this.classList.add("active") })) }, initPageLoader: function() { KTUtil.removeClass(document.body, "page-loading"), document.body.removeAttribute("data-kt-app-page-loading") }, createInstances: function() { n(), i(), [].slice.call(document.querySelectorAll(".toast")).map((function(e) { if ("1" !== e.getAttribute("data-kt-initialized")) return e.setAttribute("data-kt-initialized", "1"), new bootstrap.Toast(e, {}) })), function() { if ("undefined" != typeof jQuery && void 0 !== $.fn.daterangepicker) { var e = [].slice.call(document.querySelectorAll('[data-kt-daterangepicker="true"]')), t = moment().subtract(29, "days"), n = moment(); e.map((function(e) { if ("1" !== e.getAttribute("data-kt-initialized")) { var i = e.querySelector("div"), r = e.hasAttribute("data-kt-daterangepicker-opens") ? e.getAttribute("data-kt-daterangepicker-opens") : "left", o = function(e, t) { var n = moment(); i && (n.isSame(e, "day") && n.isSame(t, "day") ? i.innerHTML = e.format("D MMM YYYY") : i.innerHTML = e.format("D MMM YYYY") + " - " + t.format("D MMM YYYY")) }; "today" === e.getAttribute("data-kt-daterangepicker-range") && (t = moment(), n = moment()), $(e).daterangepicker({ startDate: t, endDate: n, opens: r, ranges: { Today: [moment(), moment()], Yesterday: [moment().subtract(1, "days"), moment().subtract(1, "days")], "Last 7 Days": [moment().subtract(6, "days"), moment()], "Last 30 Days": [moment().subtract(29, "days"), moment()], "This Month": [moment().startOf("month"), moment().endOf("month")], "Last Month": [moment().subtract(1, "month").startOf("month"), moment().subtract(1, "month").endOf("month")] } }, o), o(t, n), e.setAttribute("data-kt-initialized", "1") } })) } }(), [].slice.call(document.querySelectorAll('[data-kt-buttons="true"]')).map((function(e) { if ("1" !== e.getAttribute("data-kt-initialized")) { var t = e.hasAttribute("data-kt-buttons-target") ? e.getAttribute("data-kt-buttons-target") : ".btn", n = [].slice.call(e.querySelectorAll(t)); KTUtil.on(e, t, "click", (function(e) { n.map((function(e) { e.classList.remove("active") })), this.classList.add("active") })), e.setAttribute("data-kt-initialized", "1") } })), "undefined" != typeof jQuery && void 0 !== $.fn.select2 && ([].slice.call(document.querySelectorAll('[data-control="select2"], [data-kt-select2="true"]')).map((function(e) { if ("1" !== e.getAttribute("data-kt-initialized")) { var t = { dir: document.body.getAttribute("direction") }; "true" == e.getAttribute("data-hide-search") && (t.minimumResultsForSearch = 1 / 0), $(e).select2(t), e.setAttribute("data-kt-initialized", "1") } })), !1 === e && (e = !0, $(document).on("select2:open", (function(e) { var t = document.querySelectorAll(".select2-container--open .select2-search__field"); t.length > 0 && t[t.length - 1].focus() })))), r(), !1 === t && (r(), window.addEventListener("scroll", r)), [].slice.call(document.querySelectorAll('[data-kt-countup-tabs="true"][data-bs-toggle="tab"]')).map((function(e) { "1" !== e.getAttribute("data-kt-initialized") && (e.addEventListener("shown.bs.tab", r), e.setAttribute("data-kt-initialized", "1")) })), t = !0, [].slice.call(document.querySelectorAll('[data-kt-autosize="true"]')).map((function(e) { "1" !== e.getAttribute("data-kt-initialized") && (autosize(e), e.setAttribute("data-kt-initialized", "1")) })), o() } } }(); KTUtil.onDOMContentLoaded((function() { KTApp.init(), KTApp.createInstances() })), window.addEventListener("load", (function() { KTApp.initPageLoader() })), "undefined" != typeof module && void 0 !== module.exports && (module.exports = KTApp); var KTAppLayoutBuilder = function() { var e, t, n, i, r, o; return { init: function() { var a, l, s; (e = document.querySelector("#kt_app_layout_builder_form")) && (n = e.getAttribute("action"), t = document.querySelector("#kt_app_layout_builder_action"), i = document.querySelector("#kt_app_layout_builder_preview"), r = document.querySelector("#kt_app_layout_builder_export"), o = document.querySelector("#kt_app_layout_builder_reset"), i && i.addEventListener("click", (function(r) { r.preventDefault(), t.value = "preview", i.setAttribute("data-kt-indicator", "on"); var o = $(e).serialize(); $.ajax({ type: "POST", dataType: "html", url: n, data: o, success: function(e, t, n) { history.scrollRestoration && (history.scrollRestoration = "manual"), location.reload() }, error: function(e) { toastr.error("Please try it again later.", "Something went wrong!", { timeOut: 0, extendedTimeOut: 0, closeButton: !0, closeDuration: 0 }) }, complete: function() { i.removeAttribute("data-kt-indicator") } }) })), r && r.addEventListener("click", (function(i) { i.preventDefault(), toastr.success("Process has been started and it may take a while.", "Generating HTML!", { timeOut: 0, extendedTimeOut: 0, closeButton: !0, closeDuration: 0 }), r.setAttribute("data-kt-indicator", "on"), t.value = "export"; var o = $(e).serialize(); $.ajax({ type: "POST", dataType: "html", url: n, data: o, success: function(e, t, i) { var o = setInterval((function() { $("