(function (e, t) { if (typeof define === "function" && define.amd) { define([], t); } else if (typeof module === "object" && module.exports) { module.exports = t(); } else { e.htmx = e.htmx || t(); } })(typeof self !== "undefined" ? self : this, function () { return (function () { "use strict"; var Q = { onLoad: F, process: zt, on: de, off: ge, trigger: ce, ajax: Nr, find: C, findAll: f, closest: v, values: function (e, t) { var r = dr(e, t || "post"); return r.values; }, remove: _, addClass: z, removeClass: n, toggleClass: $, takeClass: W, defineExtension: Ur, removeExtension: Br, logAll: V, logNone: j, logger: null, config: { historyEnabled: true, historyCacheSize: 10, refreshOnHistoryMiss: false, defaultSwapStyle: "innerHTML", defaultSwapDelay: 0, defaultSettleDelay: 20, includeIndicatorStyles: true, indicatorClass: "htmx-indicator", requestClass: "htmx-request", addedClass: "htmx-added", settlingClass: "htmx-settling", swappingClass: "htmx-swapping", allowEval: true, allowScriptTags: true, inlineScriptNonce: "", attributesToSettle: ["class", "style", "width", "height"], withCredentials: false, timeout: 0, wsReconnectDelay: "full-jitter", wsBinaryType: "blob", disableSelector: "[hx-disable], [data-hx-disable]", useTemplateFragments: false, scrollBehavior: "smooth", defaultFocusScroll: false, getCacheBusterParam: false, globalViewTransitions: false, methodsThatUseUrlParams: ["get"], selfRequestsOnly: false, ignoreTitle: false, scrollIntoViewOnBoost: true, triggerSpecsCache: null, }, parseInterval: d, _: t, createEventSource: function (e) { return new EventSource(e, { withCredentials: true }); }, createWebSocket: function (e) { var t = new WebSocket(e, []); t.binaryType = Q.config.wsBinaryType; return t; }, version: "1.9.10", }; var r = { addTriggerHandler: Lt, bodyContains: se, canAccessLocalStorage: U, findThisElement: xe, filterValues: yr, hasAttribute: o, getAttributeValue: te, getClosestAttributeValue: ne, getClosestMatch: c, getExpressionVars: Hr, getHeaders: xr, getInputValues: dr, getInternalData: ae, getSwapSpecification: wr, getTriggerSpecs: it, getTarget: ye, makeFragment: l, mergeObjects: le, makeSettleInfo: T, oobSwap: Ee, querySelectorExt: ue, selectAndSwap: je, settleImmediately: nr, shouldCancel: ut, triggerEvent: ce, triggerErrorEvent: fe, withExtensions: R, }; var w = ["get", "post", "put", "delete", "patch"]; var i = w .map(function (e) { return "[hx-" + e + "], [data-hx-" + e + "]"; }) .join(", "); var S = e("head"), q = e("title"), H = e("svg", true); function e(e, t = false) { return new RegExp( `<${e}(\\s[^>]*>|>)([\\s\\S]*?)<\\/${e}>`, t ? "gim" : "im", ); } function d(e) { if (e == undefined) { return undefined; } let t = NaN; if (e.slice(-2) == "ms") { t = parseFloat(e.slice(0, -2)); } else if (e.slice(-1) == "s") { t = parseFloat(e.slice(0, -1)) * 1e3; } else if (e.slice(-1) == "m") { t = parseFloat(e.slice(0, -1)) * 1e3 * 60; } else { t = parseFloat(e); } return isNaN(t) ? undefined : t; } function ee(e, t) { return e.getAttribute && e.getAttribute(t); } function o(e, t) { return ( e.hasAttribute && (e.hasAttribute(t) || e.hasAttribute("data-" + t)) ); } function te(e, t) { return ee(e, t) || ee(e, "data-" + t); } function u(e) { return e.parentElement; } function re() { return document; } function c(e, t) { while (e && !t(e)) { e = u(e); } return e ? e : null; } function L(e, t, r) { var n = te(t, r); var i = te(t, "hx-disinherit"); if (e !== t && i && (i === "*" || i.split(" ").indexOf(r) >= 0)) { return "unset"; } else { return n; } } function ne(t, r) { var n = null; c(t, function (e) { return (n = L(t, e, r)); }); if (n !== "unset") { return n; } } function h(e, t) { var r = e.matches || e.matchesSelector || e.msMatchesSelector || e.mozMatchesSelector || e.webkitMatchesSelector || e.oMatchesSelector; return r && r.call(e, t); } function A(e) { var t = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i; var r = t.exec(e); if (r) { return r[1].toLowerCase(); } else { return ""; } } function a(e, t) { var r = new DOMParser(); var n = r.parseFromString(e, "text/html"); var i = n.body; while (t > 0) { t--; i = i.firstChild; } if (i == null) { i = re().createDocumentFragment(); } return i; } function N(e) { return /", 0); return i.querySelector("template").content; } switch (r) { case "thead": case "tbody": case "tfoot": case "colgroup": case "caption": return a("" + n + "
", 1); case "col": return a("" + n + "
", 2); case "tr": return a("" + n + "
", 2); case "td": case "th": return a("" + n + "
", 3); case "script": case "style": return a("
" + n + "
", 1); default: return a(n, 0); } } function ie(e) { if (e) { e(); } } function I(e, t) { return Object.prototype.toString.call(e) === "[object " + t + "]"; } function k(e) { return I(e, "Function"); } function P(e) { return I(e, "Object"); } function ae(e) { var t = "htmx-internal-data"; var r = e[t]; if (!r) { r = e[t] = {}; } return r; } function M(e) { var t = []; if (e) { for (var r = 0; r < e.length; r++) { t.push(e[r]); } } return t; } function oe(e, t) { if (e) { for (var r = 0; r < e.length; r++) { t(e[r]); } } } function X(e) { var t = e.getBoundingClientRect(); var r = t.top; var n = t.bottom; return r < window.innerHeight && n >= 0; } function se(e) { if (e.getRootNode && e.getRootNode() instanceof window.ShadowRoot) { return re().body.contains(e.getRootNode().host); } else { return re().body.contains(e); } } function D(e) { return e.trim().split(/\s+/); } function le(e, t) { for (var r in t) { if (t.hasOwnProperty(r)) { e[r] = t[r]; } } return e; } function E(e) { try { return JSON.parse(e); } catch (e) { b(e); return null; } } function U() { var e = "htmx:localStorageTest"; try { localStorage.setItem(e, e); localStorage.removeItem(e); return true; } catch (e) { return false; } } function B(t) { try { var e = new URL(t); if (e) { t = e.pathname + e.search; } if (!/^\/$/.test(t)) { t = t.replace(/\/+$/, ""); } return t; } catch (e) { return t; } } function t(e) { return Tr(re().body, function () { return eval(e); }); } function F(t) { var e = Q.on("htmx:load", function (e) { t(e.detail.elt); }); return e; } function V() { Q.logger = function (e, t, r) { if (console) { console.log(t, e, r); } }; } function j() { Q.logger = null; } function C(e, t) { if (t) { return e.querySelector(t); } else { return C(re(), e); } } function f(e, t) { if (t) { return e.querySelectorAll(t); } else { return f(re(), e); } } function _(e, t) { e = g(e); if (t) { setTimeout(function () { _(e); e = null; }, t); } else { e.parentElement.removeChild(e); } } function z(e, t, r) { e = g(e); if (r) { setTimeout(function () { z(e, t); e = null; }, r); } else { e.classList && e.classList.add(t); } } function n(e, t, r) { e = g(e); if (r) { setTimeout(function () { n(e, t); e = null; }, r); } else { if (e.classList) { e.classList.remove(t); if (e.classList.length === 0) { e.removeAttribute("class"); } } } } function $(e, t) { e = g(e); e.classList.toggle(t); } function W(e, t) { e = g(e); oe(e.parentElement.children, function (e) { n(e, t); }); z(e, t); } function v(e, t) { e = g(e); if (e.closest) { return e.closest(t); } else { do { if (e == null || h(e, t)) { return e; } } while ((e = e && u(e))); return null; } } function s(e, t) { return e.substring(0, t.length) === t; } function G(e, t) { return e.substring(e.length - t.length) === t; } function J(e) { var t = e.trim(); if (s(t, "<") && G(t, "/>")) { return t.substring(1, t.length - 2); } else { return t; } } function Z(e, t) { if (t.indexOf("closest ") === 0) { return [v(e, J(t.substr(8)))]; } else if (t.indexOf("find ") === 0) { return [C(e, J(t.substr(5)))]; } else if (t === "next") { return [e.nextElementSibling]; } else if (t.indexOf("next ") === 0) { return [K(e, J(t.substr(5)))]; } else if (t === "previous") { return [e.previousElementSibling]; } else if (t.indexOf("previous ") === 0) { return [Y(e, J(t.substr(9)))]; } else if (t === "document") { return [document]; } else if (t === "window") { return [window]; } else if (t === "body") { return [document.body]; } else { return re().querySelectorAll(J(t)); } } var K = function (e, t) { var r = re().querySelectorAll(t); for (var n = 0; n < r.length; n++) { var i = r[n]; if (i.compareDocumentPosition(e) === Node.DOCUMENT_POSITION_PRECEDING) { return i; } } }; var Y = function (e, t) { var r = re().querySelectorAll(t); for (var n = r.length - 1; n >= 0; n--) { var i = r[n]; if (i.compareDocumentPosition(e) === Node.DOCUMENT_POSITION_FOLLOWING) { return i; } } }; function ue(e, t) { if (t) { return Z(e, t)[0]; } else { return Z(re().body, e)[0]; } } function g(e) { if (I(e, "String")) { return C(e); } else { return e; } } function ve(e, t, r) { if (k(t)) { return { target: re().body, event: e, listener: t }; } else { return { target: g(e), event: t, listener: r }; } } function de(t, r, n) { jr(function () { var e = ve(t, r, n); e.target.addEventListener(e.event, e.listener); }); var e = k(r); return e ? r : n; } function ge(t, r, n) { jr(function () { var e = ve(t, r, n); e.target.removeEventListener(e.event, e.listener); }); return k(r) ? r : n; } var me = re().createElement("output"); function pe(e, t) { var r = ne(e, t); if (r) { if (r === "this") { return [xe(e, t)]; } else { var n = Z(e, r); if (n.length === 0) { b('The selector "' + r + '" on ' + t + " returned no matches!"); return [me]; } else { return n; } } } } function xe(e, t) { return c(e, function (e) { return te(e, t) != null; }); } function ye(e) { var t = ne(e, "hx-target"); if (t) { if (t === "this") { return xe(e, "hx-target"); } else { return ue(e, t); } } else { var r = ae(e); if (r.boosted) { return re().body; } else { return e; } } } function be(e) { var t = Q.config.attributesToSettle; for (var r = 0; r < t.length; r++) { if (e === t[r]) { return true; } } return false; } function we(t, r) { oe(t.attributes, function (e) { if (!r.hasAttribute(e.name) && be(e.name)) { t.removeAttribute(e.name); } }); oe(r.attributes, function (e) { if (be(e.name)) { t.setAttribute(e.name, e.value); } }); } function Se(e, t) { var r = Fr(t); for (var n = 0; n < r.length; n++) { var i = r[n]; try { if (i.isInlineSwap(e)) { return true; } } catch (e) { b(e); } } return e === "outerHTML"; } function Ee(e, i, a) { var t = "#" + ee(i, "id"); var o = "outerHTML"; if (e === "true") { } else if (e.indexOf(":") > 0) { o = e.substr(0, e.indexOf(":")); t = e.substr(e.indexOf(":") + 1, e.length); } else { o = e; } var r = re().querySelectorAll(t); if (r) { oe(r, function (e) { var t; var r = i.cloneNode(true); t = re().createDocumentFragment(); t.appendChild(r); if (!Se(o, e)) { t = r; } var n = { shouldSwap: true, target: e, fragment: t }; if (!ce(e, "htmx:oobBeforeSwap", n)) return; e = n.target; if (n["shouldSwap"]) { Fe(o, e, e, t, a); } oe(a.elts, function (e) { ce(e, "htmx:oobAfterSwap", n); }); }); i.parentNode.removeChild(i); } else { i.parentNode.removeChild(i); fe(re().body, "htmx:oobErrorNoTarget", { content: i }); } return e; } function Ce(e, t, r) { var n = ne(e, "hx-select-oob"); if (n) { var i = n.split(","); for (var a = 0; a < i.length; a++) { var o = i[a].split(":", 2); var s = o[0].trim(); if (s.indexOf("#") === 0) { s = s.substring(1); } var l = o[1] || "true"; var u = t.querySelector("#" + s); if (u) { Ee(l, u, r); } } } oe(f(t, "[hx-swap-oob], [data-hx-swap-oob]"), function (e) { var t = te(e, "hx-swap-oob"); if (t != null) { Ee(t, e, r); } }); } function Re(e) { oe(f(e, "[hx-preserve], [data-hx-preserve]"), function (e) { var t = te(e, "id"); var r = re().getElementById(t); if (r != null) { e.parentNode.replaceChild(r, e); } }); } function Te(o, e, s) { oe(e.querySelectorAll("[id]"), function (e) { var t = ee(e, "id"); if (t && t.length > 0) { var r = t.replace("'", "\\'"); var n = e.tagName.replace(":", "\\:"); var i = o.querySelector(n + "[id='" + r + "']"); if (i && i !== o) { var a = e.cloneNode(); we(e, i); s.tasks.push(function () { we(e, a); }); } } }); } function Oe(e) { return function () { n(e, Q.config.addedClass); zt(e); Nt(e); qe(e); ce(e, "htmx:load"); }; } function qe(e) { var t = "[autofocus]"; var r = h(e, t) ? e : e.querySelector(t); if (r != null) { r.focus(); } } function m(e, t, r, n) { Te(e, r, n); while (r.childNodes.length > 0) { var i = r.firstChild; z(i, Q.config.addedClass); e.insertBefore(i, t); if (i.nodeType !== Node.TEXT_NODE && i.nodeType !== Node.COMMENT_NODE) { n.tasks.push(Oe(i)); } } } function He(e, t) { var r = 0; while (r < e.length) { t = ((t << 5) - t + e.charCodeAt(r++)) | 0; } return t; } function Le(e) { var t = 0; if (e.attributes) { for (var r = 0; r < e.attributes.length; r++) { var n = e.attributes[r]; if (n.value) { t = He(n.name, t); t = He(n.value, t); } } } return t; } function Ae(e) { var t = ae(e); if (t.onHandlers) { for (var r = 0; r < t.onHandlers.length; r++) { const n = t.onHandlers[r]; e.removeEventListener(n.event, n.listener); } delete t.onHandlers; } } function Ne(e) { var t = ae(e); if (t.timeout) { clearTimeout(t.timeout); } if (t.webSocket) { t.webSocket.close(); } if (t.sseEventSource) { t.sseEventSource.close(); } if (t.listenerInfos) { oe(t.listenerInfos, function (e) { if (e.on) { e.on.removeEventListener(e.trigger, e.listener); } }); } Ae(e); oe(Object.keys(t), function (e) { delete t[e]; }); } function p(e) { ce(e, "htmx:beforeCleanupElement"); Ne(e); if (e.children) { oe(e.children, function (e) { p(e); }); } } function Ie(t, e, r) { if (t.tagName === "BODY") { return Ue(t, e, r); } else { var n; var i = t.previousSibling; m(u(t), t, e, r); if (i == null) { n = u(t).firstChild; } else { n = i.nextSibling; } r.elts = r.elts.filter(function (e) { return e != t; }); while (n && n !== t) { if (n.nodeType === Node.ELEMENT_NODE) { r.elts.push(n); } n = n.nextElementSibling; } p(t); u(t).removeChild(t); } } function ke(e, t, r) { return m(e, e.firstChild, t, r); } function Pe(e, t, r) { return m(u(e), e, t, r); } function Me(e, t, r) { return m(e, null, t, r); } function Xe(e, t, r) { return m(u(e), e.nextSibling, t, r); } function De(e, t, r) { p(e); return u(e).removeChild(e); } function Ue(e, t, r) { var n = e.firstChild; m(e, n, t, r); if (n) { while (n.nextSibling) { p(n.nextSibling); e.removeChild(n.nextSibling); } p(n); e.removeChild(n); } } function Be(e, t, r) { var n = r || ne(e, "hx-select"); if (n) { var i = re().createDocumentFragment(); oe(t.querySelectorAll(n), function (e) { i.appendChild(e); }); t = i; } return t; } function Fe(e, t, r, n, i) { switch (e) { case "none": return; case "outerHTML": Ie(r, n, i); return; case "afterbegin": ke(r, n, i); return; case "beforebegin": Pe(r, n, i); return; case "beforeend": Me(r, n, i); return; case "afterend": Xe(r, n, i); return; case "delete": De(r, n, i); return; default: var a = Fr(t); for (var o = 0; o < a.length; o++) { var s = a[o]; try { var l = s.handleSwap(e, r, n, i); if (l) { if (typeof l.length !== "undefined") { for (var u = 0; u < l.length; u++) { var f = l[u]; if ( f.nodeType !== Node.TEXT_NODE && f.nodeType !== Node.COMMENT_NODE ) { i.tasks.push(Oe(f)); } } } return; } } catch (e) { b(e); } } if (e === "innerHTML") { Ue(r, n, i); } else { Fe(Q.config.defaultSwapStyle, t, r, n, i); } } } function Ve(e) { if (e.indexOf(" -1) { var t = e.replace(H, ""); var r = t.match(q); if (r) { return r[2]; } } } function je(e, t, r, n, i, a) { i.title = Ve(n); var o = l(n); if (o) { Ce(r, o, i); o = Be(r, o, a); Re(o); return Fe(e, r, t, o, i); } } function _e(e, t, r) { var n = e.getResponseHeader(t); if (n.indexOf("{") === 0) { var i = E(n); for (var a in i) { if (i.hasOwnProperty(a)) { var o = i[a]; if (!P(o)) { o = { value: o }; } ce(r, a, o); } } } else { var s = n.split(","); for (var l = 0; l < s.length; l++) { ce(r, s[l].trim(), []); } } } var ze = /\s/; var x = /[\s,]/; var $e = /[_$a-zA-Z]/; var We = /[_$a-zA-Z0-9]/; var Ge = ['"', "'", "/"]; var Je = /[^\s]/; var Ze = /[{(]/; var Ke = /[})]/; function Ye(e) { var t = []; var r = 0; while (r < e.length) { if ($e.exec(e.charAt(r))) { var n = r; while (We.exec(e.charAt(r + 1))) { r++; } t.push(e.substr(n, r - n + 1)); } else if (Ge.indexOf(e.charAt(r)) !== -1) { var i = e.charAt(r); var n = r; r++; while (r < e.length && e.charAt(r) !== i) { if (e.charAt(r) === "\\") { r++; } r++; } t.push(e.substr(n, r - n + 1)); } else { var a = e.charAt(r); t.push(a); } r++; } return t; } function Qe(e, t, r) { return ( $e.exec(e.charAt(0)) && e !== "true" && e !== "false" && e !== "this" && e !== r && t !== "." ); } function et(e, t, r) { if (t[0] === "[") { t.shift(); var n = 1; var i = " return (function(" + r + "){ return ("; var a = null; while (t.length > 0) { var o = t[0]; if (o === "]") { n--; if (n === 0) { if (a === null) { i = i + "true"; } t.shift(); i += ")})"; try { var s = Tr( e, function () { return Function(i)(); }, function () { return true; }, ); s.source = i; return s; } catch (e) { fe(re().body, "htmx:syntax:error", { error: e, source: i }); return null; } } } else if (o === "[") { n++; } if (Qe(o, a, r)) { i += "((" + r + "." + o + ") ? (" + r + "." + o + ") : (window." + o + "))"; } else { i = i + o; } a = t.shift(); } } } function y(e, t) { var r = ""; while (e.length > 0 && !t.test(e[0])) { r += e.shift(); } return r; } function tt(e) { var t; if (e.length > 0 && Ze.test(e[0])) { e.shift(); t = y(e, Ke).trim(); e.shift(); } else { t = y(e, x); } return t; } var rt = "input, textarea, select"; function nt(e, t, r) { var n = []; var i = Ye(t); do { y(i, Je); var a = i.length; var o = y(i, /[,\[\s]/); if (o !== "") { if (o === "every") { var s = { trigger: "every" }; y(i, Je); s.pollInterval = d(y(i, /[,\[\s]/)); y(i, Je); var l = et(e, i, "event"); if (l) { s.eventFilter = l; } n.push(s); } else if (o.indexOf("sse:") === 0) { n.push({ trigger: "sse", sseEvent: o.substr(4) }); } else { var u = { trigger: o }; var l = et(e, i, "event"); if (l) { u.eventFilter = l; } while (i.length > 0 && i[0] !== ",") { y(i, Je); var f = i.shift(); if (f === "changed") { u.changed = true; } else if (f === "once") { u.once = true; } else if (f === "consume") { u.consume = true; } else if (f === "delay" && i[0] === ":") { i.shift(); u.delay = d(y(i, x)); } else if (f === "from" && i[0] === ":") { i.shift(); if (Ze.test(i[0])) { var c = tt(i); } else { var c = y(i, x); if ( c === "closest" || c === "find" || c === "next" || c === "previous" ) { i.shift(); var h = tt(i); if (h.length > 0) { c += " " + h; } } } u.from = c; } else if (f === "target" && i[0] === ":") { i.shift(); u.target = tt(i); } else if (f === "throttle" && i[0] === ":") { i.shift(); u.throttle = d(y(i, x)); } else if (f === "queue" && i[0] === ":") { i.shift(); u.queue = y(i, x); } else if (f === "root" && i[0] === ":") { i.shift(); u[f] = tt(i); } else if (f === "threshold" && i[0] === ":") { i.shift(); u[f] = y(i, x); } else { fe(e, "htmx:syntax:error", { token: i.shift() }); } } n.push(u); } } if (i.length === a) { fe(e, "htmx:syntax:error", { token: i.shift() }); } y(i, Je); } while (i[0] === "," && i.shift()); if (r) { r[t] = n; } return n; } function it(e) { var t = te(e, "hx-trigger"); var r = []; if (t) { var n = Q.config.triggerSpecsCache; r = (n && n[t]) || nt(e, t, n); } if (r.length > 0) { return r; } else if (h(e, "form")) { return [{ trigger: "submit" }]; } else if (h(e, 'input[type="button"], input[type="submit"]')) { return [{ trigger: "click" }]; } else if (h(e, rt)) { return [{ trigger: "change" }]; } else { return [{ trigger: "click" }]; } } function at(e) { ae(e).cancelled = true; } function ot(e, t, r) { var n = ae(e); n.timeout = setTimeout(function () { if (se(e) && n.cancelled !== true) { if (!ct(r, e, Wt("hx:poll:trigger", { triggerSpec: r, target: e }))) { t(e); } ot(e, t, r); } }, r.pollInterval); } function st(e) { return ( location.hostname === e.hostname && ee(e, "href") && ee(e, "href").indexOf("#") !== 0 ); } function lt(t, r, e) { if ( (t.tagName === "A" && st(t) && (t.target === "" || t.target === "_self")) || t.tagName === "FORM" ) { r.boosted = true; var n, i; if (t.tagName === "A") { n = "get"; i = ee(t, "href"); } else { var a = ee(t, "method"); n = a ? a.toLowerCase() : "get"; if (n === "get") { } i = ee(t, "action"); } e.forEach(function (e) { ht( t, function (e, t) { if (v(e, Q.config.disableSelector)) { p(e); return; } he(n, i, e, t); }, r, e, true, ); }); } } function ut(e, t) { if (e.type === "submit" || e.type === "click") { if (t.tagName === "FORM") { return true; } if (h(t, 'input[type="submit"], button') && v(t, "form") !== null) { return true; } if ( t.tagName === "A" && t.href && (t.getAttribute("href") === "#" || t.getAttribute("href").indexOf("#") !== 0) ) { return true; } } return false; } function ft(e, t) { return ( ae(e).boosted && e.tagName === "A" && t.type === "click" && (t.ctrlKey || t.metaKey) ); } function ct(e, t, r) { var n = e.eventFilter; if (n) { try { return n.call(t, r) !== true; } catch (e) { fe(re().body, "htmx:eventFilter:error", { error: e, source: n.source, }); return true; } } return false; } function ht(a, o, e, s, l) { var u = ae(a); var t; if (s.from) { t = Z(a, s.from); } else { t = [a]; } if (s.changed) { t.forEach(function (e) { var t = ae(e); t.lastValue = e.value; }); } oe(t, function (n) { var i = function (e) { if (!se(a)) { n.removeEventListener(s.trigger, i); return; } if (ft(a, e)) { return; } if (l || ut(e, a)) { e.preventDefault(); } if (ct(s, a, e)) { return; } var t = ae(e); t.triggerSpec = s; if (t.handledFor == null) { t.handledFor = []; } if (t.handledFor.indexOf(a) < 0) { t.handledFor.push(a); if (s.consume) { e.stopPropagation(); } if (s.target && e.target) { if (!h(e.target, s.target)) { return; } } if (s.once) { if (u.triggeredOnce) { return; } else { u.triggeredOnce = true; } } if (s.changed) { var r = ae(n); if (r.lastValue === n.value) { return; } r.lastValue = n.value; } if (u.delayed) { clearTimeout(u.delayed); } if (u.throttle) { return; } if (s.throttle > 0) { if (!u.throttle) { o(a, e); u.throttle = setTimeout(function () { u.throttle = null; }, s.throttle); } } else if (s.delay > 0) { u.delayed = setTimeout(function () { o(a, e); }, s.delay); } else { ce(a, "htmx:trigger"); o(a, e); } } }; if (e.listenerInfos == null) { e.listenerInfos = []; } e.listenerInfos.push({ trigger: s.trigger, listener: i, on: n }); n.addEventListener(s.trigger, i); }); } var vt = false; var dt = null; function gt() { if (!dt) { dt = function () { vt = true; }; window.addEventListener("scroll", dt); setInterval(function () { if (vt) { vt = false; oe( re().querySelectorAll( "[hx-trigger='revealed'],[data-hx-trigger='revealed']", ), function (e) { mt(e); }, ); } }, 200); } } function mt(t) { if (!o(t, "data-hx-revealed") && X(t)) { t.setAttribute("data-hx-revealed", "true"); var e = ae(t); if (e.initHash) { ce(t, "revealed"); } else { t.addEventListener( "htmx:afterProcessNode", function (e) { ce(t, "revealed"); }, { once: true }, ); } } } function pt(e, t, r) { var n = D(r); for (var i = 0; i < n.length; i++) { var a = n[i].split(/:(.+)/); if (a[0] === "connect") { xt(e, a[1], 0); } if (a[0] === "send") { bt(e); } } } function xt(s, r, n) { if (!se(s)) { return; } if (r.indexOf("/") == 0) { var e = location.hostname + (location.port ? ":" + location.port : ""); if (location.protocol == "https:") { r = "wss://" + e + r; } else if (location.protocol == "http:") { r = "ws://" + e + r; } } var t = Q.createWebSocket(r); t.onerror = function (e) { fe(s, "htmx:wsError", { error: e, socket: t }); yt(s); }; t.onclose = function (e) { if ([1006, 1012, 1013].indexOf(e.code) >= 0) { var t = wt(n); setTimeout(function () { xt(s, r, n + 1); }, t); } }; t.onopen = function (e) { n = 0; }; ae(s).webSocket = t; t.addEventListener("message", function (e) { if (yt(s)) { return; } var t = e.data; R(s, function (e) { t = e.transformResponse(t, null, s); }); var r = T(s); var n = l(t); var i = M(n.children); for (var a = 0; a < i.length; a++) { var o = i[a]; Ee(te(o, "hx-swap-oob") || "true", o, r); } nr(r.tasks); }); } function yt(e) { if (!se(e)) { ae(e).webSocket.close(); return true; } } function bt(u) { var f = c(u, function (e) { return ae(e).webSocket != null; }); if (f) { u.addEventListener(it(u)[0].trigger, function (e) { var t = ae(f).webSocket; var r = xr(u, f); var n = dr(u, "post"); var i = n.errors; var a = n.values; var o = Hr(u); var s = le(a, o); var l = yr(s, u); l["HEADERS"] = r; if (i && i.length > 0) { ce(u, "htmx:validation:halted", i); return; } t.send(JSON.stringify(l)); if (ut(e, u)) { e.preventDefault(); } }); } else { fe(u, "htmx:noWebSocketSourceError"); } } function wt(e) { var t = Q.config.wsReconnectDelay; if (typeof t === "function") { return t(e); } if (t === "full-jitter") { var r = Math.min(e, 6); var n = 1e3 * Math.pow(2, r); return n * Math.random(); } b( 'htmx.config.wsReconnectDelay must either be a function or the string "full-jitter"', ); } function St(e, t, r) { var n = D(r); for (var i = 0; i < n.length; i++) { var a = n[i].split(/:(.+)/); if (a[0] === "connect") { Et(e, a[1]); } if (a[0] === "swap") { Ct(e, a[1]); } } } function Et(t, e) { var r = Q.createEventSource(e); r.onerror = function (e) { fe(t, "htmx:sseError", { error: e, source: r }); Tt(t); }; ae(t).sseEventSource = r; } function Ct(a, o) { var s = c(a, Ot); if (s) { var l = ae(s).sseEventSource; var u = function (e) { if (Tt(s)) { return; } if (!se(a)) { l.removeEventListener(o, u); return; } var t = e.data; R(a, function (e) { t = e.transformResponse(t, null, a); }); var r = wr(a); var n = ye(a); var i = T(a); je(r.swapStyle, n, a, t, i); nr(i.tasks); ce(a, "htmx:sseMessage", e); }; ae(a).sseListener = u; l.addEventListener(o, u); } else { fe(a, "htmx:noSSESourceError"); } } function Rt(e, t, r) { var n = c(e, Ot); if (n) { var i = ae(n).sseEventSource; var a = function () { if (!Tt(n)) { if (se(e)) { t(e); } else { i.removeEventListener(r, a); } } }; ae(e).sseListener = a; i.addEventListener(r, a); } else { fe(e, "htmx:noSSESourceError"); } } function Tt(e) { if (!se(e)) { ae(e).sseEventSource.close(); return true; } } function Ot(e) { return ae(e).sseEventSource != null; } function qt(e, t, r, n) { var i = function () { if (!r.loaded) { r.loaded = true; t(e); } }; if (n > 0) { setTimeout(i, n); } else { i(); } } function Ht(t, i, e) { var a = false; oe(w, function (r) { if (o(t, "hx-" + r)) { var n = te(t, "hx-" + r); a = true; i.path = n; i.verb = r; e.forEach(function (e) { Lt(t, e, i, function (e, t) { if (v(e, Q.config.disableSelector)) { p(e); return; } he(r, n, e, t); }); }); } }); return a; } function Lt(n, e, t, r) { if (e.sseEvent) { Rt(n, r, e.sseEvent); } else if (e.trigger === "revealed") { gt(); ht(n, r, t, e); mt(n); } else if (e.trigger === "intersect") { var i = {}; if (e.root) { i.root = ue(n, e.root); } if (e.threshold) { i.threshold = parseFloat(e.threshold); } var a = new IntersectionObserver(function (e) { for (var t = 0; t < e.length; t++) { var r = e[t]; if (r.isIntersecting) { ce(n, "intersect"); break; } } }, i); a.observe(n); ht(n, r, t, e); } else if (e.trigger === "load") { if (!ct(e, n, Wt("load", { elt: n }))) { qt(n, r, t, e.delay); } } else if (e.pollInterval > 0) { t.polling = true; ot(n, r, e); } else { ht(n, r, t, e); } } function At(e) { if ( Q.config.allowScriptTags && (e.type === "text/javascript" || e.type === "module" || e.type === "") ) { var t = re().createElement("script"); oe(e.attributes, function (e) { t.setAttribute(e.name, e.value); }); t.textContent = e.textContent; t.async = false; if (Q.config.inlineScriptNonce) { t.nonce = Q.config.inlineScriptNonce; } var r = e.parentElement; try { r.insertBefore(t, e); } catch (e) { b(e); } finally { if (e.parentElement) { e.parentElement.removeChild(e); } } } } function Nt(e) { if (h(e, "script")) { At(e); } oe(f(e, "script"), function (e) { At(e); }); } function It(e) { var t = e.attributes; for (var r = 0; r < t.length; r++) { var n = t[r].name; if ( s(n, "hx-on:") || s(n, "data-hx-on:") || s(n, "hx-on-") || s(n, "data-hx-on-") ) { return true; } } return false; } function kt(e) { var t = null; var r = []; if (It(e)) { r.push(e); } if (document.evaluate) { var n = document.evaluate( './/*[@*[ starts-with(name(), "hx-on:") or starts-with(name(), "data-hx-on:") or' + ' starts-with(name(), "hx-on-") or starts-with(name(), "data-hx-on-") ]]', e, ); while ((t = n.iterateNext())) r.push(t); } else { var i = e.getElementsByTagName("*"); for (var a = 0; a < i.length; a++) { if (It(i[a])) { r.push(i[a]); } } } return r; } function Pt(e) { if (e.querySelectorAll) { var t = ", [hx-boost] a, [data-hx-boost] a, a[hx-boost], a[data-hx-boost]"; var r = e.querySelectorAll( i + t + ", form, [type='submit'], [hx-sse], [data-hx-sse], [hx-ws]," + " [data-hx-ws], [hx-ext], [data-hx-ext], [hx-trigger], [data-hx-trigger], [hx-on], [data-hx-on]", ); return r; } else { return []; } } function Mt(e) { var t = v(e.target, "button, input[type='submit']"); var r = Dt(e); if (r) { r.lastButtonClicked = t; } } function Xt(e) { var t = Dt(e); if (t) { t.lastButtonClicked = null; } } function Dt(e) { var t = v(e.target, "button, input[type='submit']"); if (!t) { return; } var r = g("#" + ee(t, "form")) || v(t, "form"); if (!r) { return; } return ae(r); } function Ut(e) { e.addEventListener("click", Mt); e.addEventListener("focusin", Mt); e.addEventListener("focusout", Xt); } function Bt(e) { var t = Ye(e); var r = 0; for (var n = 0; n < t.length; n++) { const i = t[n]; if (i === "{") { r++; } else if (i === "}") { r--; } } return r; } function Ft(t, e, r) { var n = ae(t); if (!Array.isArray(n.onHandlers)) { n.onHandlers = []; } var i; var a = function (e) { return Tr(t, function () { if (!i) { i = new Function("event", r); } i.call(t, e); }); }; t.addEventListener(e, a); n.onHandlers.push({ event: e, listener: a }); } function Vt(e) { var t = te(e, "hx-on"); if (t) { var r = {}; var n = t.split("\n"); var i = null; var a = 0; while (n.length > 0) { var o = n.shift(); var s = o.match(/^\s*([a-zA-Z:\-\.]+:)(.*)/); if (a === 0 && s) { o.split(":"); i = s[1].slice(0, -1); r[i] = s[2]; } else { r[i] += o; } a += Bt(o); } for (var l in r) { Ft(e, l, r[l]); } } } function jt(e) { Ae(e); for (var t = 0; t < e.attributes.length; t++) { var r = e.attributes[t].name; var n = e.attributes[t].value; if (s(r, "hx-on") || s(r, "data-hx-on")) { var i = r.indexOf("-on") + 3; var a = r.slice(i, i + 1); if (a === "-" || a === ":") { var o = r.slice(i + 1); if (s(o, ":")) { o = "htmx" + o; } else if (s(o, "-")) { o = "htmx:" + o.slice(1); } else if (s(o, "htmx-")) { o = "htmx:" + o.slice(5); } Ft(e, o, n); } } } } function _t(t) { if (v(t, Q.config.disableSelector)) { p(t); return; } var r = ae(t); if (r.initHash !== Le(t)) { Ne(t); r.initHash = Le(t); Vt(t); ce(t, "htmx:beforeProcessNode"); if (t.value) { r.lastValue = t.value; } var e = it(t); var n = Ht(t, r, e); if (!n) { if (ne(t, "hx-boost") === "true") { lt(t, r, e); } else if (o(t, "hx-trigger")) { e.forEach(function (e) { Lt(t, e, r, function () {}); }); } } if ( t.tagName === "FORM" || (ee(t, "type") === "submit" && o(t, "form")) ) { Ut(t); } var i = te(t, "hx-sse"); if (i) { St(t, r, i); } var a = te(t, "hx-ws"); if (a) { pt(t, r, a); } ce(t, "htmx:afterProcessNode"); } } function zt(e) { e = g(e); if (v(e, Q.config.disableSelector)) { p(e); return; } _t(e); oe(Pt(e), function (e) { _t(e); }); oe(kt(e), jt); } function $t(e) { return e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(); } function Wt(e, t) { var r; if (window.CustomEvent && typeof window.CustomEvent === "function") { r = new CustomEvent(e, { bubbles: true, cancelable: true, detail: t }); } else { r = re().createEvent("CustomEvent"); r.initCustomEvent(e, true, true, t); } return r; } function fe(e, t, r) { ce(e, t, le({ error: t }, r)); } function Gt(e) { return e === "htmx:afterProcessNode"; } function R(e, t) { oe(Fr(e), function (e) { try { t(e); } catch (e) { b(e); } }); } function b(e) { if (console.error) { console.error(e); } else if (console.log) { console.log("ERROR: ", e); } } function ce(e, t, r) { e = g(e); if (r == null) { r = {}; } r["elt"] = e; var n = Wt(t, r); if (Q.logger && !Gt(t)) { Q.logger(e, t, r); } if (r.error) { b(r.error); ce(e, "htmx:error", { errorInfo: r }); } var i = e.dispatchEvent(n); var a = $t(t); if (i && a !== t) { var o = Wt(a, n.detail); i = i && e.dispatchEvent(o); } R(e, function (e) { i = i && e.onEvent(t, n) !== false && !n.defaultPrevented; }); return i; } var Jt = location.pathname + location.search; function Zt() { var e = re().querySelector("[hx-history-elt],[data-hx-history-elt]"); return e || re().body; } function Kt(e, t, r, n) { if (!U()) { return; } if (Q.config.historyCacheSize <= 0) { localStorage.removeItem("htmx-history-cache"); return; } e = B(e); var i = E(localStorage.getItem("htmx-history-cache")) || []; for (var a = 0; a < i.length; a++) { if (i[a].url === e) { i.splice(a, 1); break; } } var o = { url: e, content: t, title: r, scroll: n }; ce(re().body, "htmx:historyItemCreated", { item: o, cache: i }); i.push(o); while (i.length > Q.config.historyCacheSize) { i.shift(); } while (i.length > 0) { try { localStorage.setItem("htmx-history-cache", JSON.stringify(i)); break; } catch (e) { fe(re().body, "htmx:historyCacheError", { cause: e, cache: i }); i.shift(); } } } function Yt(e) { if (!U()) { return null; } e = B(e); var t = E(localStorage.getItem("htmx-history-cache")) || []; for (var r = 0; r < t.length; r++) { if (t[r].url === e) { return t[r]; } } return null; } function Qt(e) { var t = Q.config.requestClass; var r = e.cloneNode(true); oe(f(r, "." + t), function (e) { n(e, t); }); return r.innerHTML; } function er() { var e = Zt(); var t = Jt || location.pathname + location.search; var r; try { r = re().querySelector( '[hx-history="false" i],[data-hx-history="false" i]', ); } catch (e) { r = re().querySelector( '[hx-history="false"],[data-hx-history="false"]', ); } if (!r) { ce(re().body, "htmx:beforeHistorySave", { path: t, historyElt: e }); Kt(t, Qt(e), re().title, window.scrollY); } if (Q.config.historyEnabled) history.replaceState({ htmx: true }, re().title, window.location.href); } function tr(e) { if (Q.config.getCacheBusterParam) { e = e.replace(/org\.htmx\.cache-buster=[^&]*&?/, ""); if (G(e, "&") || G(e, "?")) { e = e.slice(0, -1); } } if (Q.config.historyEnabled) { history.pushState({ htmx: true }, "", e); } Jt = e; } function rr(e) { if (Q.config.historyEnabled) history.replaceState({ htmx: true }, "", e); Jt = e; } function nr(e) { oe(e, function (e) { e.call(); }); } function ir(a) { var e = new XMLHttpRequest(); var o = { path: a, xhr: e }; ce(re().body, "htmx:historyCacheMiss", o); e.open("GET", a, true); e.setRequestHeader("HX-Request", "true"); e.setRequestHeader("HX-History-Restore-Request", "true"); e.setRequestHeader("HX-Current-URL", re().location.href); e.onload = function () { if (this.status >= 200 && this.status < 400) { ce(re().body, "htmx:historyCacheMissLoad", o); var e = l(this.response); e = e.querySelector("[hx-history-elt],[data-hx-history-elt]") || e; var t = Zt(); var r = T(t); var n = Ve(this.response); if (n) { var i = C("title"); if (i) { i.innerHTML = n; } else { window.document.title = n; } } Ue(t, e, r); nr(r.tasks); Jt = a; ce(re().body, "htmx:historyRestore", { path: a, cacheMiss: true, serverResponse: this.response, }); } else { fe(re().body, "htmx:historyCacheMissLoadError", o); } }; e.send(); } function ar(e) { er(); e = e || location.pathname + location.search; var t = Yt(e); if (t) { var r = l(t.content); var n = Zt(); var i = T(n); Ue(n, r, i); nr(i.tasks); document.title = t.title; setTimeout(function () { window.scrollTo(0, t.scroll); }, 0); Jt = e; ce(re().body, "htmx:historyRestore", { path: e, item: t }); } else { if (Q.config.refreshOnHistoryMiss) { window.location.reload(true); } else { ir(e); } } } function or(e) { var t = pe(e, "hx-indicator"); if (t == null) { t = [e]; } oe(t, function (e) { var t = ae(e); t.requestCount = (t.requestCount || 0) + 1; e.classList["add"].call(e.classList, Q.config.requestClass); }); return t; } function sr(e) { var t = pe(e, "hx-disabled-elt"); if (t == null) { t = []; } oe(t, function (e) { var t = ae(e); t.requestCount = (t.requestCount || 0) + 1; e.setAttribute("disabled", ""); }); return t; } function lr(e, t) { oe(e, function (e) { var t = ae(e); t.requestCount = (t.requestCount || 0) - 1; if (t.requestCount === 0) { e.classList["remove"].call(e.classList, Q.config.requestClass); } }); oe(t, function (e) { var t = ae(e); t.requestCount = (t.requestCount || 0) - 1; if (t.requestCount === 0) { e.removeAttribute("disabled"); } }); } function ur(e, t) { for (var r = 0; r < e.length; r++) { var n = e[r]; if (n.isSameNode(t)) { return true; } } return false; } function fr(e) { if ( e.name === "" || e.name == null || e.disabled || v(e, "fieldset[disabled]") ) { return false; } if ( e.type === "button" || e.type === "submit" || e.tagName === "image" || e.tagName === "reset" || e.tagName === "file" ) { return false; } if (e.type === "checkbox" || e.type === "radio") { return e.checked; } return true; } function cr(e, t, r) { if (e != null && t != null) { var n = r[e]; if (n === undefined) { r[e] = t; } else if (Array.isArray(n)) { if (Array.isArray(t)) { r[e] = n.concat(t); } else { n.push(t); } } else { if (Array.isArray(t)) { r[e] = [n].concat(t); } else { r[e] = [n, t]; } } } } function hr(t, r, n, e, i) { if (e == null || ur(t, e)) { return; } else { t.push(e); } if (fr(e)) { var a = ee(e, "name"); var o = e.value; if (e.multiple && e.tagName === "SELECT") { o = M(e.querySelectorAll("option:checked")).map(function (e) { return e.value; }); } if (e.files) { o = M(e.files); } cr(a, o, r); if (i) { vr(e, n); } } if (h(e, "form")) { var s = e.elements; oe(s, function (e) { hr(t, r, n, e, i); }); } } function vr(e, t) { if (e.willValidate) { ce(e, "htmx:validation:validate"); if (!e.checkValidity()) { t.push({ elt: e, message: e.validationMessage, validity: e.validity, }); ce(e, "htmx:validation:failed", { message: e.validationMessage, validity: e.validity, }); } } } function dr(e, t) { var r = []; var n = {}; var i = {}; var a = []; var o = ae(e); if (o.lastButtonClicked && !se(o.lastButtonClicked)) { o.lastButtonClicked = null; } var s = (h(e, "form") && e.noValidate !== true) || te(e, "hx-validate") === "true"; if (o.lastButtonClicked) { s = s && o.lastButtonClicked.formNoValidate !== true; } if (t !== "get") { hr(r, i, a, v(e, "form"), s); } hr(r, n, a, e, s); if ( o.lastButtonClicked || e.tagName === "BUTTON" || (e.tagName === "INPUT" && ee(e, "type") === "submit") ) { var l = o.lastButtonClicked || e; var u = ee(l, "name"); cr(u, l.value, i); } var f = pe(e, "hx-include"); oe(f, function (e) { hr(r, n, a, e, s); if (!h(e, "form")) { oe(e.querySelectorAll(rt), function (e) { hr(r, n, a, e, s); }); } }); n = le(n, i); return { errors: a, values: n }; } function gr(e, t, r) { if (e !== "") { e += "&"; } if (String(r) === "[object Object]") { r = JSON.stringify(r); } var n = encodeURIComponent(r); e += encodeURIComponent(t) + "=" + n; return e; } function mr(e) { var t = ""; for (var r in e) { if (e.hasOwnProperty(r)) { var n = e[r]; if (Array.isArray(n)) { oe(n, function (e) { t = gr(t, r, e); }); } else { t = gr(t, r, n); } } } return t; } function pr(e) { var t = new FormData(); for (var r in e) { if (e.hasOwnProperty(r)) { var n = e[r]; if (Array.isArray(n)) { oe(n, function (e) { t.append(r, e); }); } else { t.append(r, n); } } } return t; } function xr(e, t, r) { var n = { "HX-Request": "true", "HX-Trigger": ee(e, "id"), "HX-Trigger-Name": ee(e, "name"), "HX-Target": te(t, "id"), "HX-Current-URL": re().location.href, }; Rr(e, "hx-headers", false, n); if (r !== undefined) { n["HX-Prompt"] = r; } if (ae(e).boosted) { n["HX-Boosted"] = "true"; } return n; } function yr(t, e) { var r = ne(e, "hx-params"); if (r) { if (r === "none") { return {}; } else if (r === "*") { return t; } else if (r.indexOf("not ") === 0) { oe(r.substr(4).split(","), function (e) { e = e.trim(); delete t[e]; }); return t; } else { var n = {}; oe(r.split(","), function (e) { e = e.trim(); n[e] = t[e]; }); return n; } } else { return t; } } function br(e) { return ee(e, "href") && ee(e, "href").indexOf("#") >= 0; } function wr(e, t) { var r = t ? t : ne(e, "hx-swap"); var n = { swapStyle: ae(e).boosted ? "innerHTML" : Q.config.defaultSwapStyle, swapDelay: Q.config.defaultSwapDelay, settleDelay: Q.config.defaultSettleDelay, }; if (Q.config.scrollIntoViewOnBoost && ae(e).boosted && !br(e)) { n["show"] = "top"; } if (r) { var i = D(r); if (i.length > 0) { for (var a = 0; a < i.length; a++) { var o = i[a]; if (o.indexOf("swap:") === 0) { n["swapDelay"] = d(o.substr(5)); } else if (o.indexOf("settle:") === 0) { n["settleDelay"] = d(o.substr(7)); } else if (o.indexOf("transition:") === 0) { n["transition"] = o.substr(11) === "true"; } else if (o.indexOf("ignoreTitle:") === 0) { n["ignoreTitle"] = o.substr(12) === "true"; } else if (o.indexOf("scroll:") === 0) { var s = o.substr(7); var l = s.split(":"); var u = l.pop(); var f = l.length > 0 ? l.join(":") : null; n["scroll"] = u; n["scrollTarget"] = f; } else if (o.indexOf("show:") === 0) { var c = o.substr(5); var l = c.split(":"); var h = l.pop(); var f = l.length > 0 ? l.join(":") : null; n["show"] = h; n["showTarget"] = f; } else if (o.indexOf("focus-scroll:") === 0) { var v = o.substr("focus-scroll:".length); n["focusScroll"] = v == "true"; } else if (a == 0) { n["swapStyle"] = o; } else { b("Unknown modifier in hx-swap: " + o); } } } } return n; } function Sr(e) { return ( ne(e, "hx-encoding") === "multipart/form-data" || (h(e, "form") && ee(e, "enctype") === "multipart/form-data") ); } function Er(t, r, n) { var i = null; R(r, function (e) { if (i == null) { i = e.encodeParameters(t, n, r); } }); if (i != null) { return i; } else { if (Sr(r)) { return pr(n); } else { return mr(n); } } } function T(e) { return { tasks: [], elts: [e] }; } function Cr(e, t) { var r = e[0]; var n = e[e.length - 1]; if (t.scroll) { var i = null; if (t.scrollTarget) { i = ue(r, t.scrollTarget); } if (t.scroll === "top" && (r || i)) { i = i || r; i.scrollTop = 0; } if (t.scroll === "bottom" && (n || i)) { i = i || n; i.scrollTop = i.scrollHeight; } } if (t.show) { var i = null; if (t.showTarget) { var a = t.showTarget; if (t.showTarget === "window") { a = "body"; } i = ue(r, a); } if (t.show === "top" && (r || i)) { i = i || r; i.scrollIntoView({ block: "start", behavior: Q.config.scrollBehavior, }); } if (t.show === "bottom" && (n || i)) { i = i || n; i.scrollIntoView({ block: "end", behavior: Q.config.scrollBehavior }); } } } function Rr(e, t, r, n) { if (n == null) { n = {}; } if (e == null) { return n; } var i = te(e, t); if (i) { var a = i.trim(); var o = r; if (a === "unset") { return null; } if (a.indexOf("javascript:") === 0) { a = a.substr(11); o = true; } else if (a.indexOf("js:") === 0) { a = a.substr(3); o = true; } if (a.indexOf("{") !== 0) { a = "{" + a + "}"; } var s; if (o) { s = Tr( e, function () { return Function("return (" + a + ")")(); }, {}, ); } else { s = E(a); } for (var l in s) { if (s.hasOwnProperty(l)) { if (n[l] == null) { n[l] = s[l]; } } } } return Rr(u(e), t, r, n); } function Tr(e, t, r) { if (Q.config.allowEval) { return t(); } else { fe(e, "htmx:evalDisallowedError"); return r; } } function Or(e, t) { return Rr(e, "hx-vars", true, t); } function qr(e, t) { return Rr(e, "hx-vals", false, t); } function Hr(e) { return le(Or(e), qr(e)); } function Lr(t, r, n) { if (n !== null) { try { t.setRequestHeader(r, n); } catch (e) { t.setRequestHeader(r, encodeURIComponent(n)); t.setRequestHeader(r + "-URI-AutoEncoded", "true"); } } } function Ar(t) { if (t.responseURL && typeof URL !== "undefined") { try { var e = new URL(t.responseURL); return e.pathname + e.search; } catch (e) { fe(re().body, "htmx:badResponseUrl", { url: t.responseURL }); } } } function O(e, t) { return t.test(e.getAllResponseHeaders()); } function Nr(e, t, r) { e = e.toLowerCase(); if (r) { if (r instanceof Element || I(r, "String")) { return he(e, t, null, null, { targetOverride: g(r), returnPromise: true, }); } else { return he(e, t, g(r.source), r.event, { handler: r.handler, headers: r.headers, values: r.values, targetOverride: g(r.target), swapOverride: r.swap, select: r.select, returnPromise: true, }); } } else { return he(e, t, null, null, { returnPromise: true }); } } function Ir(e) { var t = []; while (e) { t.push(e); e = e.parentElement; } return t; } function kr(e, t, r) { var n; var i; if (typeof URL === "function") { i = new URL(t, document.location.href); var a = document.location.origin; n = a === i.origin; } else { i = t; n = s(t, document.location.origin); } if (Q.config.selfRequestsOnly) { if (!n) { return false; } } return ce(e, "htmx:validateUrl", le({ url: i, sameHost: n }, r)); } function he(t, r, n, i, a, e) { var o = null; var s = null; a = a != null ? a : {}; if (a.returnPromise && typeof Promise !== "undefined") { var l = new Promise(function (e, t) { o = e; s = t; }); } if (n == null) { n = re().body; } var M = a.handler || Mr; var X = a.select || null; if (!se(n)) { ie(o); return l; } var u = a.targetOverride || ye(n); if (u == null || u == me) { fe(n, "htmx:targetError", { target: te(n, "hx-target") }); ie(s); return l; } var f = ae(n); var c = f.lastButtonClicked; if (c) { var h = ee(c, "formaction"); if (h != null) { r = h; } var v = ee(c, "formmethod"); if (v != null) { if (v.toLowerCase() !== "dialog") { t = v; } } } var d = ne(n, "hx-confirm"); if (e === undefined) { var D = function (e) { return he(t, r, n, i, a, !!e); }; var U = { target: u, elt: n, path: r, verb: t, triggeringEvent: i, etc: a, issueRequest: D, question: d, }; if (ce(n, "htmx:confirm", U) === false) { ie(o); return l; } } var g = n; var m = ne(n, "hx-sync"); var p = null; var x = false; if (m) { var B = m.split(":"); var F = B[0].trim(); if (F === "this") { g = xe(n, "hx-sync"); } else { g = ue(n, F); } m = (B[1] || "drop").trim(); f = ae(g); if (m === "drop" && f.xhr && f.abortable !== true) { ie(o); return l; } else if (m === "abort") { if (f.xhr) { ie(o); return l; } else { x = true; } } else if (m === "replace") { ce(g, "htmx:abort"); } else if (m.indexOf("queue") === 0) { var V = m.split(" "); p = (V[1] || "last").trim(); } } if (f.xhr) { if (f.abortable) { ce(g, "htmx:abort"); } else { if (p == null) { if (i) { var y = ae(i); if (y && y.triggerSpec && y.triggerSpec.queue) { p = y.triggerSpec.queue; } } if (p == null) { p = "last"; } } if (f.queuedRequests == null) { f.queuedRequests = []; } if (p === "first" && f.queuedRequests.length === 0) { f.queuedRequests.push(function () { he(t, r, n, i, a); }); } else if (p === "all") { f.queuedRequests.push(function () { he(t, r, n, i, a); }); } else if (p === "last") { f.queuedRequests = []; f.queuedRequests.push(function () { he(t, r, n, i, a); }); } ie(o); return l; } } var b = new XMLHttpRequest(); f.xhr = b; f.abortable = x; var w = function () { f.xhr = null; f.abortable = false; if (f.queuedRequests != null && f.queuedRequests.length > 0) { var e = f.queuedRequests.shift(); e(); } }; var j = ne(n, "hx-prompt"); if (j) { var S = prompt(j); if (S === null || !ce(n, "htmx:prompt", { prompt: S, target: u })) { ie(o); w(); return l; } } if (d && !e) { if (!confirm(d)) { ie(o); w(); return l; } } var E = xr(n, u, S); if (t !== "get" && !Sr(n)) { E["Content-Type"] = "application/x-www-form-urlencoded"; } if (a.headers) { E = le(E, a.headers); } var _ = dr(n, t); var C = _.errors; var R = _.values; if (a.values) { R = le(R, a.values); } var z = Hr(n); var $ = le(R, z); var T = yr($, n); if (Q.config.getCacheBusterParam && t === "get") { T["org.htmx.cache-buster"] = ee(u, "id") || "true"; } if (r == null || r === "") { r = re().location.href; } var O = Rr(n, "hx-request"); var W = ae(n).boosted; var q = Q.config.methodsThatUseUrlParams.indexOf(t) >= 0; var H = { boosted: W, useUrlParams: q, parameters: T, unfilteredParameters: $, headers: E, target: u, verb: t, errors: C, withCredentials: a.credentials || O.credentials || Q.config.withCredentials, timeout: a.timeout || O.timeout || Q.config.timeout, path: r, triggeringEvent: i, }; if (!ce(n, "htmx:configRequest", H)) { ie(o); w(); return l; } r = H.path; t = H.verb; E = H.headers; T = H.parameters; C = H.errors; q = H.useUrlParams; if (C && C.length > 0) { ce(n, "htmx:validation:halted", H); ie(o); w(); return l; } var G = r.split("#"); var J = G[0]; var L = G[1]; var A = r; if (q) { A = J; var Z = Object.keys(T).length !== 0; if (Z) { if (A.indexOf("?") < 0) { A += "?"; } else { A += "&"; } A += mr(T); if (L) { A += "#" + L; } } } if (!kr(n, A, H)) { fe(n, "htmx:invalidPath", H); ie(s); return l; } b.open(t.toUpperCase(), A, true); b.overrideMimeType("text/html"); b.withCredentials = H.withCredentials; b.timeout = H.timeout; if (O.noHeaders) { } else { for (var N in E) { if (E.hasOwnProperty(N)) { var K = E[N]; Lr(b, N, K); } } } var I = { xhr: b, target: u, requestConfig: H, etc: a, boosted: W, select: X, pathInfo: { requestPath: r, finalRequestPath: A, anchor: L }, }; b.onload = function () { try { var e = Ir(n); I.pathInfo.responsePath = Ar(b); M(n, I); lr(k, P); ce(n, "htmx:afterRequest", I); ce(n, "htmx:afterOnLoad", I); if (!se(n)) { var t = null; while (e.length > 0 && t == null) { var r = e.shift(); if (se(r)) { t = r; } } if (t) { ce(t, "htmx:afterRequest", I); ce(t, "htmx:afterOnLoad", I); } } ie(o); w(); } catch (e) { fe(n, "htmx:onLoadError", le({ error: e }, I)); throw e; } }; b.onerror = function () { lr(k, P); fe(n, "htmx:afterRequest", I); fe(n, "htmx:sendError", I); ie(s); w(); }; b.onabort = function () { lr(k, P); fe(n, "htmx:afterRequest", I); fe(n, "htmx:sendAbort", I); ie(s); w(); }; b.ontimeout = function () { lr(k, P); fe(n, "htmx:afterRequest", I); fe(n, "htmx:timeout", I); ie(s); w(); }; if (!ce(n, "htmx:beforeRequest", I)) { ie(o); w(); return l; } var k = or(n); var P = sr(n); oe(["loadstart", "loadend", "progress", "abort"], function (t) { oe([b, b.upload], function (e) { e.addEventListener(t, function (e) { ce(n, "htmx:xhr:" + t, { lengthComputable: e.lengthComputable, loaded: e.loaded, total: e.total, }); }); }); }); ce(n, "htmx:beforeSend", I); var Y = q ? null : Er(b, n, T); b.send(Y); return l; } function Pr(e, t) { var r = t.xhr; var n = null; var i = null; if (O(r, /HX-Push:/i)) { n = r.getResponseHeader("HX-Push"); i = "push"; } else if (O(r, /HX-Push-Url:/i)) { n = r.getResponseHeader("HX-Push-Url"); i = "push"; } else if (O(r, /HX-Replace-Url:/i)) { n = r.getResponseHeader("HX-Replace-Url"); i = "replace"; } if (n) { if (n === "false") { return {}; } else { return { type: i, path: n }; } } var a = t.pathInfo.finalRequestPath; var o = t.pathInfo.responsePath; var s = ne(e, "hx-push-url"); var l = ne(e, "hx-replace-url"); var u = ae(e).boosted; var f = null; var c = null; if (s) { f = "push"; c = s; } else if (l) { f = "replace"; c = l; } else if (u) { f = "push"; c = o || a; } if (c) { if (c === "false") { return {}; } if (c === "true") { c = o || a; } if (t.pathInfo.anchor && c.indexOf("#") === -1) { c = c + "#" + t.pathInfo.anchor; } return { type: f, path: c }; } else { return {}; } } function Mr(l, u) { var f = u.xhr; var c = u.target; var e = u.etc; var t = u.requestConfig; var h = u.select; if (!ce(l, "htmx:beforeOnLoad", u)) return; if (O(f, /HX-Trigger:/i)) { _e(f, "HX-Trigger", l); } if (O(f, /HX-Location:/i)) { er(); var r = f.getResponseHeader("HX-Location"); var v; if (r.indexOf("{") === 0) { v = E(r); r = v["path"]; delete v["path"]; } Nr("GET", r, v).then(function () { tr(r); }); return; } var n = O(f, /HX-Refresh:/i) && "true" === f.getResponseHeader("HX-Refresh"); if (O(f, /HX-Redirect:/i)) { location.href = f.getResponseHeader("HX-Redirect"); n && location.reload(); return; } if (n) { location.reload(); return; } if (O(f, /HX-Retarget:/i)) { if (f.getResponseHeader("HX-Retarget") === "this") { u.target = l; } else { u.target = ue(l, f.getResponseHeader("HX-Retarget")); } } var d = Pr(l, u); var i = f.status >= 200 && f.status < 400 && f.status !== 204; var g = f.response; var a = f.status >= 400; var m = Q.config.ignoreTitle; var o = le( { shouldSwap: i, serverResponse: g, isError: a, ignoreTitle: m }, u, ); if (!ce(c, "htmx:beforeSwap", o)) return; c = o.target; g = o.serverResponse; a = o.isError; m = o.ignoreTitle; u.target = c; u.failed = a; u.successful = !a; if (o.shouldSwap) { if (f.status === 286) { at(l); } R(l, function (e) { g = e.transformResponse(g, f, l); }); if (d.type) { er(); } var s = e.swapOverride; if (O(f, /HX-Reswap:/i)) { s = f.getResponseHeader("HX-Reswap"); } var v = wr(l, s); if (v.hasOwnProperty("ignoreTitle")) { m = v.ignoreTitle; } c.classList.add(Q.config.swappingClass); var p = null; var x = null; var y = function () { try { var e = document.activeElement; var t = {}; try { t = { elt: e, start: e ? e.selectionStart : null, end: e ? e.selectionEnd : null, }; } catch (e) {} var r; if (h) { r = h; } if (O(f, /HX-Reselect:/i)) { r = f.getResponseHeader("HX-Reselect"); } if (d.type) { ce(re().body, "htmx:beforeHistoryUpdate", le({ history: d }, u)); if (d.type === "push") { tr(d.path); ce(re().body, "htmx:pushedIntoHistory", { path: d.path }); } else { rr(d.path); ce(re().body, "htmx:replacedInHistory", { path: d.path }); } } var n = T(c); je(v.swapStyle, c, l, g, n, r); if (t.elt && !se(t.elt) && ee(t.elt, "id")) { var i = document.getElementById(ee(t.elt, "id")); var a = { preventScroll: v.focusScroll !== undefined ? !v.focusScroll : !Q.config.defaultFocusScroll, }; if (i) { if (t.start && i.setSelectionRange) { try { i.setSelectionRange(t.start, t.end); } catch (e) {} } i.focus(a); } } c.classList.remove(Q.config.swappingClass); oe(n.elts, function (e) { if (e.classList) { e.classList.add(Q.config.settlingClass); } ce(e, "htmx:afterSwap", u); }); if (O(f, /HX-Trigger-After-Swap:/i)) { var o = l; if (!se(l)) { o = re().body; } _e(f, "HX-Trigger-After-Swap", o); } var s = function () { oe(n.tasks, function (e) { e.call(); }); oe(n.elts, function (e) { if (e.classList) { e.classList.remove(Q.config.settlingClass); } ce(e, "htmx:afterSettle", u); }); if (u.pathInfo.anchor) { var e = re().getElementById(u.pathInfo.anchor); if (e) { e.scrollIntoView({ block: "start", behavior: "auto" }); } } if (n.title && !m) { var t = C("title"); if (t) { t.innerHTML = n.title; } else { window.document.title = n.title; } } Cr(n.elts, v); if (O(f, /HX-Trigger-After-Settle:/i)) { var r = l; if (!se(l)) { r = re().body; } _e(f, "HX-Trigger-After-Settle", r); } ie(p); }; if (v.settleDelay > 0) { setTimeout(s, v.settleDelay); } else { s(); } } catch (e) { fe(l, "htmx:swapError", u); ie(x); throw e; } }; var b = Q.config.globalViewTransitions; if (v.hasOwnProperty("transition")) { b = v.transition; } if ( b && ce(l, "htmx:beforeTransition", u) && typeof Promise !== "undefined" && document.startViewTransition ) { var w = new Promise(function (e, t) { p = e; x = t; }); var S = y; y = function () { document.startViewTransition(function () { S(); return w; }); }; } if (v.swapDelay > 0) { setTimeout(y, v.swapDelay); } else { y(); } } if (a) { fe( l, "htmx:responseError", le( { error: "Response Status Error Code " + f.status + " from " + u.pathInfo.requestPath, }, u, ), ); } } var Xr = {}; function Dr() { return { init: function (e) { return null; }, onEvent: function (e, t) { return true; }, transformResponse: function (e, t, r) { return e; }, isInlineSwap: function (e) { return false; }, handleSwap: function (e, t, r, n) { return false; }, encodeParameters: function (e, t, r) { return null; }, }; } function Ur(e, t) { if (t.init) { t.init(r); } Xr[e] = le(Dr(), t); } function Br(e) { delete Xr[e]; } function Fr(e, r, n) { if (e == undefined) { return r; } if (r == undefined) { r = []; } if (n == undefined) { n = []; } var t = te(e, "hx-ext"); if (t) { oe(t.split(","), function (e) { e = e.replace(/ /g, ""); if (e.slice(0, 7) == "ignore:") { n.push(e.slice(7)); return; } if (n.indexOf(e) < 0) { var t = Xr[e]; if (t && r.indexOf(t) < 0) { r.push(t); } } }); } return Fr(u(e), r, n); } var Vr = false; re().addEventListener("DOMContentLoaded", function () { Vr = true; }); function jr(e) { if (Vr || re().readyState === "complete") { e(); } else { re().addEventListener("DOMContentLoaded", e); } } function _r() { if (Q.config.includeIndicatorStyles !== false) { re().head.insertAdjacentHTML( "beforeend", "", ); } } function zr() { var e = re().querySelector('meta[name="htmx-config"]'); if (e) { return E(e.content); } else { return null; } } function $r() { var e = zr(); if (e) { Q.config = le(Q.config, e); } } jr(function () { $r(); _r(); var e = re().body; zt(e); var t = re().querySelectorAll( "[hx-trigger='restored'],[data-hx-trigger='restored']", ); e.addEventListener("htmx:abort", function (e) { var t = e.target; var r = ae(t); if (r && r.xhr) { r.xhr.abort(); } }); const r = window.onpopstate ? window.onpopstate.bind(window) : null; window.onpopstate = function (e) { if (e.state && e.state.htmx) { ar(); oe(t, function (e) { ce(e, "htmx:restored", { document: re(), triggerEvent: ce }); }); } else { if (r) { r(e); } } }; setTimeout(function () { ce(e, "htmx:load", {}); e = null; }, 0); }); return Q; })(); });