import { r as __toESM, t as __commonJSMin } from "./chunk-CYJPkc-J.js";
import { t as require_react } from "./react.js";
import { t as require_react_dom } from "./react-dom-CNDVFBRK.js";
//#region node_modules/react-aria/dist/private/utils/domHelpers.mjs
var $d447af545b77c9f1$export$b204af158042fbac = (el) => {
	return el?.ownerDocument ?? document;
};
var $d447af545b77c9f1$export$f21a1ffae260145a = (el) => {
	if (el && "window" in el && el.window === el) return el;
	return $d447af545b77c9f1$export$b204af158042fbac(el).defaultView || window;
};
/**
* Type guard that checks if a value is a Node. Verifies the presence and type of the nodeType property.
*/ function $d447af545b77c9f1$var$isNode(value) {
	return value !== null && typeof value === "object" && "nodeType" in value && typeof value.nodeType === "number";
}
function $d447af545b77c9f1$export$af51f0f06c0f328a(node) {
	return $d447af545b77c9f1$var$isNode(node) && node.nodeType === Node.DOCUMENT_FRAGMENT_NODE && "host" in node;
}
//#endregion
//#region node_modules/react-stately/dist/private/flags/flags.mjs
var $6a20a7989e6c817a$var$_shadowDOM = false;
function $6a20a7989e6c817a$export$98658e8c59125e6a() {
	return $6a20a7989e6c817a$var$_shadowDOM;
}
//#endregion
//#region node_modules/react-aria/dist/private/utils/shadowdom/DOMFunctions.mjs
function $23f2114a1b82827e$export$4282f70798064fe0(node, otherNode) {
	if (!$6a20a7989e6c817a$export$98658e8c59125e6a()) return otherNode && node ? node.contains(otherNode) : false;
	if (!node || !otherNode) return false;
	let currentNode = otherNode;
	while (currentNode !== null) {
		if (currentNode === node) return true;
		if (currentNode.tagName === "SLOT" && currentNode.assignedSlot) currentNode = currentNode.assignedSlot.parentNode;
		else if ($d447af545b77c9f1$export$af51f0f06c0f328a(currentNode)) currentNode = currentNode.host;
		else currentNode = currentNode.parentNode;
	}
	return false;
}
var $23f2114a1b82827e$export$cd4e5573fbe2b576 = (doc = document) => {
	if (!$6a20a7989e6c817a$export$98658e8c59125e6a()) return doc.activeElement;
	let activeElement = doc.activeElement;
	while (activeElement && "shadowRoot" in activeElement && activeElement.shadowRoot?.activeElement) activeElement = activeElement.shadowRoot.activeElement;
	return activeElement;
};
function $23f2114a1b82827e$export$e58f029f0fbfdb29(event) {
	if ($6a20a7989e6c817a$export$98658e8c59125e6a() && event.target instanceof Element && event.target.shadowRoot) {
		if ("composedPath" in event) return event.composedPath()[0] ?? null;
		else if ("composedPath" in event.nativeEvent) return event.nativeEvent.composedPath()[0] ?? null;
	}
	return event.target;
}
//#endregion
//#region node_modules/react-aria/dist/private/utils/focusWithoutScrolling.mjs
function $1969ac565cfec8d0$export$de79e2c695e052f3(element) {
	if ($1969ac565cfec8d0$var$supportsPreventScroll()) element.focus({ preventScroll: true });
	else {
		let scrollableElements = $1969ac565cfec8d0$var$getScrollableElements(element);
		element.focus();
		$1969ac565cfec8d0$var$restoreScrollPosition(scrollableElements);
	}
}
var $1969ac565cfec8d0$var$supportsPreventScrollCached = null;
function $1969ac565cfec8d0$var$supportsPreventScroll() {
	if ($1969ac565cfec8d0$var$supportsPreventScrollCached == null) {
		$1969ac565cfec8d0$var$supportsPreventScrollCached = false;
		try {
			document.createElement("div").focus({ get preventScroll() {
				$1969ac565cfec8d0$var$supportsPreventScrollCached = true;
				return true;
			} });
		} catch {}
	}
	return $1969ac565cfec8d0$var$supportsPreventScrollCached;
}
function $1969ac565cfec8d0$var$getScrollableElements(element) {
	let parent = element.parentNode;
	let scrollableElements = [];
	let rootScrollingElement = document.scrollingElement || document.documentElement;
	while (parent instanceof HTMLElement && parent !== rootScrollingElement) {
		if (parent.offsetHeight < parent.scrollHeight || parent.offsetWidth < parent.scrollWidth) scrollableElements.push({
			element: parent,
			scrollTop: parent.scrollTop,
			scrollLeft: parent.scrollLeft
		});
		parent = parent.parentNode;
	}
	if (rootScrollingElement instanceof HTMLElement) scrollableElements.push({
		element: rootScrollingElement,
		scrollTop: rootScrollingElement.scrollTop,
		scrollLeft: rootScrollingElement.scrollLeft
	});
	return scrollableElements;
}
function $1969ac565cfec8d0$var$restoreScrollPosition(scrollableElements) {
	for (let { element, scrollTop, scrollLeft } of scrollableElements) {
		element.scrollTop = scrollTop;
		element.scrollLeft = scrollLeft;
	}
}
//#endregion
//#region node_modules/react-aria/dist/private/utils/useLayoutEffect.mjs
var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
var $c4867b2f328c2698$export$e5c5a5f917a5871c = typeof document !== "undefined" ? import_react.useLayoutEffect : () => {};
//#endregion
//#region node_modules/react-aria/dist/private/interactions/utils.mjs
function $a92dc41f639950be$export$525bc4921d56d4a(nativeEvent) {
	let event = nativeEvent;
	event.nativeEvent = nativeEvent;
	event.isDefaultPrevented = () => event.defaultPrevented;
	event.isPropagationStopped = () => event.cancelBubble;
	event.persist = () => {};
	return event;
}
function $a92dc41f639950be$export$c2b7abe5d61ec696(event, target) {
	Object.defineProperty(event, "target", { value: target });
	Object.defineProperty(event, "currentTarget", { value: target });
}
function $a92dc41f639950be$export$715c682d09d639cc(onBlur) {
	let stateRef = (0, import_react.useRef)({
		isFocused: false,
		observer: null
	});
	$c4867b2f328c2698$export$e5c5a5f917a5871c(() => {
		const state = stateRef.current;
		return () => {
			if (state.observer) {
				state.observer.disconnect();
				state.observer = null;
			}
		};
	}, []);
	return (0, import_react.useCallback)((e) => {
		let eventTarget = $23f2114a1b82827e$export$e58f029f0fbfdb29(e);
		if (eventTarget instanceof HTMLButtonElement || eventTarget instanceof HTMLInputElement || eventTarget instanceof HTMLTextAreaElement || eventTarget instanceof HTMLSelectElement) {
			stateRef.current.isFocused = true;
			let target = eventTarget;
			let onBlurHandler = (e) => {
				stateRef.current.isFocused = false;
				if (target.disabled) {
					let event = $a92dc41f639950be$export$525bc4921d56d4a(e);
					onBlur?.(event);
				}
				if (stateRef.current.observer) {
					stateRef.current.observer.disconnect();
					stateRef.current.observer = null;
				}
			};
			target.addEventListener("focusout", onBlurHandler, { once: true });
			stateRef.current.observer = new MutationObserver(() => {
				if (stateRef.current.isFocused && target.disabled) {
					stateRef.current.observer?.disconnect();
					let relatedTargetEl = target === $23f2114a1b82827e$export$cd4e5573fbe2b576() ? null : $23f2114a1b82827e$export$cd4e5573fbe2b576();
					target.dispatchEvent(new FocusEvent("blur", { relatedTarget: relatedTargetEl }));
					target.dispatchEvent(new FocusEvent("focusout", {
						bubbles: true,
						relatedTarget: relatedTargetEl
					}));
				}
			});
			stateRef.current.observer.observe(target, {
				attributes: true,
				attributeFilter: ["disabled"]
			});
		}
	}, [onBlur]);
}
var $a92dc41f639950be$export$fda7da73ab5d4c48 = false;
//#endregion
//#region node_modules/react-aria/dist/private/utils/platform.mjs
function $2add3ce32c6007eb$var$testUserAgent(re) {
	if (typeof window === "undefined" || window.navigator == null) return false;
	let brands = window.navigator["userAgentData"]?.brands;
	return Array.isArray(brands) && brands.some((brand) => re.test(brand.brand)) || re.test(window.navigator.userAgent);
}
function $2add3ce32c6007eb$var$testPlatform(re) {
	return typeof window !== "undefined" && window.navigator != null ? re.test(window.navigator["userAgentData"]?.platform || window.navigator.platform) : false;
}
function $2add3ce32c6007eb$var$cached(fn) {
	let res = null;
	return () => {
		if (res == null) res = fn();
		return res;
	};
}
var $2add3ce32c6007eb$export$9ac100e40613ea10 = $2add3ce32c6007eb$var$cached(function() {
	return $2add3ce32c6007eb$var$testPlatform(/^Mac/i);
});
var $2add3ce32c6007eb$export$7bef049ce92e4224 = $2add3ce32c6007eb$var$cached(function() {
	return $2add3ce32c6007eb$var$testPlatform(/^iPad/i) || $2add3ce32c6007eb$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;
});
var $2add3ce32c6007eb$export$78551043582a6a98 = $2add3ce32c6007eb$var$cached(function() {
	return $2add3ce32c6007eb$var$testUserAgent(/AppleWebKit/i) && !$2add3ce32c6007eb$export$6446a186d09e379e();
});
var $2add3ce32c6007eb$export$6446a186d09e379e = $2add3ce32c6007eb$var$cached(function() {
	return $2add3ce32c6007eb$var$testUserAgent(/Chrome/i);
});
var $2add3ce32c6007eb$export$a11b0059900ceec8 = $2add3ce32c6007eb$var$cached(function() {
	return $2add3ce32c6007eb$var$testUserAgent(/Android/i);
});
var $2add3ce32c6007eb$export$b7d78993b74f766d = $2add3ce32c6007eb$var$cached(function() {
	return $2add3ce32c6007eb$var$testUserAgent(/Firefox/i);
});
//#endregion
//#region node_modules/react-aria/dist/private/utils/isVirtualEvent.mjs
function $b5c62b033c25b96d$export$60278871457622de(event) {
	if (event.pointerType === "" && event.isTrusted) return true;
	if ($2add3ce32c6007eb$export$a11b0059900ceec8() && event.pointerType) return event.type === "click" && event.buttons === 1;
	return event.detail === 0 && !event.pointerType;
}
//#endregion
//#region node_modules/react-aria/dist/private/utils/openLink.mjs
function $caaf0dd3060ed57c$export$95185d699e05d4d7(target, modifiers, setOpening = true) {
	let { metaKey, ctrlKey, altKey, shiftKey } = modifiers;
	if ($2add3ce32c6007eb$export$b7d78993b74f766d() && window.event?.type?.startsWith("key") && target.target === "_blank") if ($2add3ce32c6007eb$export$9ac100e40613ea10()) metaKey = true;
	else ctrlKey = true;
	let event = $2add3ce32c6007eb$export$78551043582a6a98() && $2add3ce32c6007eb$export$9ac100e40613ea10() && !$2add3ce32c6007eb$export$7bef049ce92e4224() && true ? new KeyboardEvent("keydown", {
		keyIdentifier: "Enter",
		metaKey,
		ctrlKey,
		altKey,
		shiftKey
	}) : new MouseEvent("click", {
		metaKey,
		ctrlKey,
		altKey,
		shiftKey,
		detail: 1,
		bubbles: true,
		cancelable: true
	});
	$caaf0dd3060ed57c$export$95185d699e05d4d7.isOpening = setOpening;
	$1969ac565cfec8d0$export$de79e2c695e052f3(target);
	target.dispatchEvent(event);
	$caaf0dd3060ed57c$export$95185d699e05d4d7.isOpening = false;
}
$caaf0dd3060ed57c$export$95185d699e05d4d7.isOpening = false;
//#endregion
//#region node_modules/react-aria/dist/private/interactions/useFocusVisible.mjs
var $8f5a2122b0992be3$var$currentModality = null;
var $8f5a2122b0992be3$export$901e90a13c50a14e = /* @__PURE__ */ new Set();
var $8f5a2122b0992be3$export$d90243b58daecda7 = /* @__PURE__ */ new Map();
var $8f5a2122b0992be3$var$hasEventBeforeFocus = false;
var $8f5a2122b0992be3$var$hasBlurredWindowRecently = false;
var $8f5a2122b0992be3$var$FOCUS_VISIBLE_INPUT_KEYS = {
	Tab: true,
	Escape: true
};
function $8f5a2122b0992be3$var$triggerChangeHandlers(modality, e) {
	for (let handler of $8f5a2122b0992be3$export$901e90a13c50a14e) handler(modality, e);
}
/**
* Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus styles visible.
*/ function $8f5a2122b0992be3$var$isValidKey(e) {
	return !(e.metaKey || !$2add3ce32c6007eb$export$9ac100e40613ea10() && e.altKey || e.ctrlKey || e.key === "Control" || e.key === "Shift" || e.key === "Meta");
}
function $8f5a2122b0992be3$var$handleKeyboardEvent(e) {
	$8f5a2122b0992be3$var$hasEventBeforeFocus = true;
	if (!$caaf0dd3060ed57c$export$95185d699e05d4d7.isOpening && $8f5a2122b0992be3$var$isValidKey(e)) {
		$8f5a2122b0992be3$var$currentModality = "keyboard";
		$8f5a2122b0992be3$var$triggerChangeHandlers("keyboard", e);
	}
}
function $8f5a2122b0992be3$var$handlePointerEvent(e) {
	$8f5a2122b0992be3$var$currentModality = "pointer";
	"pointerType" in e && e.pointerType;
	if (e.type === "mousedown" || e.type === "pointerdown") {
		$8f5a2122b0992be3$var$hasEventBeforeFocus = true;
		$8f5a2122b0992be3$var$triggerChangeHandlers("pointer", e);
	}
}
function $8f5a2122b0992be3$var$handleClickEvent(e) {
	if (!$caaf0dd3060ed57c$export$95185d699e05d4d7.isOpening && $b5c62b033c25b96d$export$60278871457622de(e)) {
		$8f5a2122b0992be3$var$hasEventBeforeFocus = true;
		$8f5a2122b0992be3$var$currentModality = "virtual";
	}
}
function $8f5a2122b0992be3$var$handleFocusEvent(e) {
	let ownerWindow = $d447af545b77c9f1$export$f21a1ffae260145a($23f2114a1b82827e$export$e58f029f0fbfdb29(e));
	let ownerDocument = $d447af545b77c9f1$export$b204af158042fbac($23f2114a1b82827e$export$e58f029f0fbfdb29(e));
	if ($23f2114a1b82827e$export$e58f029f0fbfdb29(e) === ownerWindow || $23f2114a1b82827e$export$e58f029f0fbfdb29(e) === ownerDocument || $a92dc41f639950be$export$fda7da73ab5d4c48 || !e.isTrusted) return;
	if (!$8f5a2122b0992be3$var$hasEventBeforeFocus && !$8f5a2122b0992be3$var$hasBlurredWindowRecently) {
		$8f5a2122b0992be3$var$currentModality = "virtual";
		$8f5a2122b0992be3$var$triggerChangeHandlers("virtual", e);
	}
	$8f5a2122b0992be3$var$hasEventBeforeFocus = false;
	$8f5a2122b0992be3$var$hasBlurredWindowRecently = false;
}
function $8f5a2122b0992be3$var$handleWindowBlur() {
	if ($a92dc41f639950be$export$fda7da73ab5d4c48) return;
	$8f5a2122b0992be3$var$hasEventBeforeFocus = false;
	$8f5a2122b0992be3$var$hasBlurredWindowRecently = true;
}
/**
* Setup global event listeners to control when keyboard focus style should be visible.
*/ function $8f5a2122b0992be3$var$setupGlobalFocusEvents(element) {
	if (typeof window === "undefined" || typeof document === "undefined") return;
	const windowObject = $d447af545b77c9f1$export$f21a1ffae260145a(element);
	const documentObject = $d447af545b77c9f1$export$b204af158042fbac(element);
	if ($8f5a2122b0992be3$export$d90243b58daecda7.get(windowObject)) return;
	let focus = windowObject.HTMLElement.prototype.focus;
	windowObject.HTMLElement.prototype.focus = function() {
		$8f5a2122b0992be3$var$hasEventBeforeFocus = true;
		focus.apply(this, arguments);
	};
	documentObject.addEventListener("keydown", $8f5a2122b0992be3$var$handleKeyboardEvent, true);
	documentObject.addEventListener("keyup", $8f5a2122b0992be3$var$handleKeyboardEvent, true);
	documentObject.addEventListener("click", $8f5a2122b0992be3$var$handleClickEvent, true);
	windowObject.addEventListener("focus", $8f5a2122b0992be3$var$handleFocusEvent, true);
	windowObject.addEventListener("blur", $8f5a2122b0992be3$var$handleWindowBlur, false);
	if (typeof PointerEvent !== "undefined") {
		documentObject.addEventListener("pointerdown", $8f5a2122b0992be3$var$handlePointerEvent, true);
		documentObject.addEventListener("pointermove", $8f5a2122b0992be3$var$handlePointerEvent, true);
		documentObject.addEventListener("pointerup", $8f5a2122b0992be3$var$handlePointerEvent, true);
	}
	windowObject.addEventListener("beforeunload", () => {
		$8f5a2122b0992be3$var$tearDownWindowFocusTracking(element);
	}, { once: true });
	$8f5a2122b0992be3$export$d90243b58daecda7.set(windowObject, { focus });
}
var $8f5a2122b0992be3$var$tearDownWindowFocusTracking = (element, loadListener) => {
	const windowObject = $d447af545b77c9f1$export$f21a1ffae260145a(element);
	const documentObject = $d447af545b77c9f1$export$b204af158042fbac(element);
	if (loadListener) documentObject.removeEventListener("DOMContentLoaded", loadListener);
	if (!$8f5a2122b0992be3$export$d90243b58daecda7.has(windowObject)) return;
	windowObject.HTMLElement.prototype.focus = $8f5a2122b0992be3$export$d90243b58daecda7.get(windowObject).focus;
	documentObject.removeEventListener("keydown", $8f5a2122b0992be3$var$handleKeyboardEvent, true);
	documentObject.removeEventListener("keyup", $8f5a2122b0992be3$var$handleKeyboardEvent, true);
	documentObject.removeEventListener("click", $8f5a2122b0992be3$var$handleClickEvent, true);
	windowObject.removeEventListener("focus", $8f5a2122b0992be3$var$handleFocusEvent, true);
	windowObject.removeEventListener("blur", $8f5a2122b0992be3$var$handleWindowBlur, false);
	if (typeof PointerEvent !== "undefined") {
		documentObject.removeEventListener("pointerdown", $8f5a2122b0992be3$var$handlePointerEvent, true);
		documentObject.removeEventListener("pointermove", $8f5a2122b0992be3$var$handlePointerEvent, true);
		documentObject.removeEventListener("pointerup", $8f5a2122b0992be3$var$handlePointerEvent, true);
	}
	$8f5a2122b0992be3$export$d90243b58daecda7.delete(windowObject);
};
function $8f5a2122b0992be3$export$2f1888112f558a7d(element) {
	const documentObject = $d447af545b77c9f1$export$b204af158042fbac(element);
	let loadListener;
	if (documentObject.readyState !== "loading") $8f5a2122b0992be3$var$setupGlobalFocusEvents(element);
	else {
		loadListener = () => {
			$8f5a2122b0992be3$var$setupGlobalFocusEvents(element);
		};
		documentObject.addEventListener("DOMContentLoaded", loadListener);
	}
	return () => $8f5a2122b0992be3$var$tearDownWindowFocusTracking(element, loadListener);
}
if (typeof document !== "undefined") $8f5a2122b0992be3$export$2f1888112f558a7d();
function $8f5a2122b0992be3$export$b9b3dfddab17db27() {
	return $8f5a2122b0992be3$var$currentModality !== "pointer";
}
var $8f5a2122b0992be3$var$nonTextInputTypes = new Set([
	"checkbox",
	"radio",
	"range",
	"color",
	"file",
	"image",
	"button",
	"submit",
	"reset"
]);
/**
* If this is attached to text input component, return if the event is a focus event (Tab/Escape keys pressed) so that
* focus visible style can be properly set.
*/ function $8f5a2122b0992be3$var$isKeyboardFocusEvent(isTextInput, modality, e) {
	let eventTarget = e ? $23f2114a1b82827e$export$e58f029f0fbfdb29(e) : void 0;
	let document1 = $d447af545b77c9f1$export$b204af158042fbac(eventTarget);
	let ownerWindow = $d447af545b77c9f1$export$f21a1ffae260145a(eventTarget);
	const IHTMLInputElement = typeof ownerWindow !== "undefined" ? ownerWindow.HTMLInputElement : HTMLInputElement;
	const IHTMLTextAreaElement = typeof ownerWindow !== "undefined" ? ownerWindow.HTMLTextAreaElement : HTMLTextAreaElement;
	const IHTMLElement = typeof ownerWindow !== "undefined" ? ownerWindow.HTMLElement : HTMLElement;
	const IKeyboardEvent = typeof ownerWindow !== "undefined" ? ownerWindow.KeyboardEvent : KeyboardEvent;
	let activeElement = $23f2114a1b82827e$export$cd4e5573fbe2b576(document1);
	isTextInput = isTextInput || activeElement instanceof IHTMLInputElement && !$8f5a2122b0992be3$var$nonTextInputTypes.has(activeElement.type) || activeElement instanceof IHTMLTextAreaElement || activeElement instanceof IHTMLElement && activeElement.isContentEditable;
	return !(isTextInput && modality === "keyboard" && e instanceof IKeyboardEvent && !$8f5a2122b0992be3$var$FOCUS_VISIBLE_INPUT_KEYS[e.key]);
}
function $8f5a2122b0992be3$export$ec71b4b83ac08ec3(fn, deps, opts) {
	$8f5a2122b0992be3$var$setupGlobalFocusEvents();
	(0, import_react.useEffect)(() => {
		if (opts?.enabled === false) return;
		let handler = (modality, e) => {
			if (!$8f5a2122b0992be3$var$isKeyboardFocusEvent(!!opts?.isTextInput, modality, e)) return;
			fn($8f5a2122b0992be3$export$b9b3dfddab17db27());
		};
		$8f5a2122b0992be3$export$901e90a13c50a14e.add(handler);
		return () => {
			$8f5a2122b0992be3$export$901e90a13c50a14e.delete(handler);
		};
	}, deps);
}
//#endregion
//#region node_modules/react-aria/dist/private/interactions/useFocus.mjs
function $1e74c67db218ce67$export$f8168d8dd8fd66e6(props) {
	let { isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange } = props;
	const onBlur = (0, import_react.useCallback)((e) => {
		if ($23f2114a1b82827e$export$e58f029f0fbfdb29(e) === e.currentTarget) {
			if (onBlurProp) onBlurProp(e);
			if (onFocusChange) onFocusChange(false);
			return true;
		}
	}, [onBlurProp, onFocusChange]);
	const onSyntheticFocus = $a92dc41f639950be$export$715c682d09d639cc(onBlur);
	const onFocus = (0, import_react.useCallback)((e) => {
		let eventTarget = $23f2114a1b82827e$export$e58f029f0fbfdb29(e);
		const ownerDocument = $d447af545b77c9f1$export$b204af158042fbac(eventTarget);
		const activeElement = ownerDocument ? $23f2114a1b82827e$export$cd4e5573fbe2b576(ownerDocument) : $23f2114a1b82827e$export$cd4e5573fbe2b576();
		if (eventTarget === e.currentTarget && eventTarget === activeElement) {
			if (onFocusProp) onFocusProp(e);
			if (onFocusChange) onFocusChange(true);
			onSyntheticFocus(e);
		}
	}, [
		onFocusChange,
		onFocusProp,
		onSyntheticFocus
	]);
	return { focusProps: {
		onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : void 0,
		onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : void 0
	} };
}
//#endregion
//#region node_modules/react-aria/dist/private/utils/useGlobalListeners.mjs
function $48a7d519b337145d$export$4eaf04e54aa8eed6() {
	let globalListeners = (0, import_react.useRef)(/* @__PURE__ */ new Map());
	let addGlobalListener = (0, import_react.useCallback)((eventTarget, type, listener, options) => {
		let fn = options?.once ? (...args) => {
			globalListeners.current.delete(listener);
			listener(...args);
		} : listener;
		globalListeners.current.set(listener, {
			type,
			eventTarget,
			fn,
			options
		});
		eventTarget.addEventListener(type, fn, options);
	}, []);
	let removeGlobalListener = (0, import_react.useCallback)((eventTarget, type, listener, options) => {
		let fn = globalListeners.current.get(listener)?.fn || listener;
		eventTarget.removeEventListener(type, fn, options);
		globalListeners.current.delete(listener);
	}, []);
	let removeAllGlobalListeners = (0, import_react.useCallback)(() => {
		globalListeners.current.forEach((value, key) => {
			removeGlobalListener(value.eventTarget, value.type, key, value.options);
		});
	}, [removeGlobalListener]);
	(0, import_react.useEffect)(() => {
		return removeAllGlobalListeners;
	}, [removeAllGlobalListeners]);
	return {
		addGlobalListener,
		removeGlobalListener,
		removeAllGlobalListeners
	};
}
//#endregion
//#region node_modules/react-aria/dist/private/interactions/useFocusWithin.mjs
function $2c9edc598a03d523$export$420e68273165f4ec(props) {
	let { isDisabled, onBlurWithin, onFocusWithin, onFocusWithinChange } = props;
	let state = (0, import_react.useRef)({ isFocusWithin: false });
	let { addGlobalListener, removeAllGlobalListeners } = $48a7d519b337145d$export$4eaf04e54aa8eed6();
	let onBlur = (0, import_react.useCallback)((e) => {
		if (!$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) return;
		if (state.current.isFocusWithin && !$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, e.relatedTarget)) {
			state.current.isFocusWithin = false;
			removeAllGlobalListeners();
			if (onBlurWithin) onBlurWithin(e);
			if (onFocusWithinChange) onFocusWithinChange(false);
		}
	}, [
		onBlurWithin,
		onFocusWithinChange,
		state,
		removeAllGlobalListeners
	]);
	let onSyntheticFocus = $a92dc41f639950be$export$715c682d09d639cc(onBlur);
	let onFocus = (0, import_react.useCallback)((e) => {
		if (!$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) return;
		let eventTarget = $23f2114a1b82827e$export$e58f029f0fbfdb29(e);
		const ownerDocument = $d447af545b77c9f1$export$b204af158042fbac(eventTarget);
		const activeElement = $23f2114a1b82827e$export$cd4e5573fbe2b576(ownerDocument);
		if (!state.current.isFocusWithin && activeElement === eventTarget) {
			if (onFocusWithin) onFocusWithin(e);
			if (onFocusWithinChange) onFocusWithinChange(true);
			state.current.isFocusWithin = true;
			onSyntheticFocus(e);
			let currentTarget = e.currentTarget;
			addGlobalListener(ownerDocument, "focus", (e) => {
				let eventTarget = $23f2114a1b82827e$export$e58f029f0fbfdb29(e);
				if (state.current.isFocusWithin && !$23f2114a1b82827e$export$4282f70798064fe0(currentTarget, eventTarget)) {
					let nativeEvent = new ownerDocument.defaultView.FocusEvent("blur", { relatedTarget: eventTarget });
					$a92dc41f639950be$export$c2b7abe5d61ec696(nativeEvent, currentTarget);
					onBlur($a92dc41f639950be$export$525bc4921d56d4a(nativeEvent));
				}
			}, { capture: true });
		}
	}, [
		onFocusWithin,
		onFocusWithinChange,
		onSyntheticFocus,
		addGlobalListener,
		onBlur
	]);
	if (isDisabled) return { focusWithinProps: {
		onFocus: void 0,
		onBlur: void 0
	} };
	return { focusWithinProps: {
		onFocus,
		onBlur
	} };
}
//#endregion
//#region node_modules/react-aria/dist/private/focus/useFocusRing.mjs
function $0c4a58759813079a$export$4e328f61c538687f(props = {}) {
	let { autoFocus = false, isTextInput, within } = props;
	let state = (0, import_react.useRef)({
		isFocused: false,
		isFocusVisible: autoFocus || $8f5a2122b0992be3$export$b9b3dfddab17db27()
	});
	let [isFocused, setFocused] = (0, import_react.useState)(false);
	let [isFocusVisibleState, setFocusVisible] = (0, import_react.useState)(() => state.current.isFocused && state.current.isFocusVisible);
	let updateState = (0, import_react.useCallback)(() => setFocusVisible(state.current.isFocused && state.current.isFocusVisible), []);
	let onFocusChange = (0, import_react.useCallback)((isFocused) => {
		state.current.isFocused = isFocused;
		state.current.isFocusVisible = $8f5a2122b0992be3$export$b9b3dfddab17db27();
		setFocused(isFocused);
		updateState();
	}, [updateState]);
	$8f5a2122b0992be3$export$ec71b4b83ac08ec3((isFocusVisible) => {
		state.current.isFocusVisible = isFocusVisible;
		updateState();
	}, [isTextInput, isFocused], {
		enabled: isFocused,
		isTextInput
	});
	let { focusProps } = $1e74c67db218ce67$export$f8168d8dd8fd66e6({
		isDisabled: within,
		onFocusChange
	});
	let { focusWithinProps } = $2c9edc598a03d523$export$420e68273165f4ec({
		isDisabled: !within,
		onFocusWithinChange: onFocusChange
	});
	return {
		isFocused,
		isFocusVisible: isFocusVisibleState,
		focusProps: within ? focusWithinProps : focusProps
	};
}
//#endregion
//#region node_modules/react-aria/dist/private/interactions/useHover.mjs
var $e969f22b6713ca4a$var$globalIgnoreEmulatedMouseEvents = false;
var $e969f22b6713ca4a$var$hoverCount = 0;
function $e969f22b6713ca4a$var$setGlobalIgnoreEmulatedMouseEvents() {
	$e969f22b6713ca4a$var$globalIgnoreEmulatedMouseEvents = true;
	setTimeout(() => {
		$e969f22b6713ca4a$var$globalIgnoreEmulatedMouseEvents = false;
	}, 500);
}
function $e969f22b6713ca4a$var$handleGlobalPointerEvent(e) {
	if (e.pointerType === "touch") $e969f22b6713ca4a$var$setGlobalIgnoreEmulatedMouseEvents();
}
function $e969f22b6713ca4a$var$setupGlobalTouchEvents() {
	let ownerDocument = $d447af545b77c9f1$export$b204af158042fbac(null);
	if (typeof ownerDocument === "undefined") return;
	if ($e969f22b6713ca4a$var$hoverCount === 0) {
		if (typeof PointerEvent !== "undefined") ownerDocument.addEventListener("pointerup", $e969f22b6713ca4a$var$handleGlobalPointerEvent);
	}
	$e969f22b6713ca4a$var$hoverCount++;
	return () => {
		$e969f22b6713ca4a$var$hoverCount--;
		if ($e969f22b6713ca4a$var$hoverCount > 0) return;
		if (typeof PointerEvent !== "undefined") ownerDocument.removeEventListener("pointerup", $e969f22b6713ca4a$var$handleGlobalPointerEvent);
	};
}
function $e969f22b6713ca4a$export$ae780daf29e6d456(props) {
	let { onHoverStart, onHoverChange, onHoverEnd, isDisabled } = props;
	let [isHovered, setHovered] = (0, import_react.useState)(false);
	let state = (0, import_react.useRef)({
		isHovered: false,
		ignoreEmulatedMouseEvents: false,
		pointerType: "",
		target: null
	}).current;
	(0, import_react.useEffect)($e969f22b6713ca4a$var$setupGlobalTouchEvents, []);
	let { addGlobalListener, removeAllGlobalListeners } = $48a7d519b337145d$export$4eaf04e54aa8eed6();
	let { hoverProps, triggerHoverEnd } = (0, import_react.useMemo)(() => {
		let triggerHoverStart = (event, pointerType) => {
			state.pointerType = pointerType;
			if (isDisabled || pointerType === "touch" || state.isHovered || !$23f2114a1b82827e$export$4282f70798064fe0(event.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(event))) return;
			state.isHovered = true;
			let target = event.currentTarget;
			state.target = target;
			addGlobalListener($d447af545b77c9f1$export$b204af158042fbac($23f2114a1b82827e$export$e58f029f0fbfdb29(event)), "pointerover", (e) => {
				if (state.isHovered && state.target && !$23f2114a1b82827e$export$4282f70798064fe0(state.target, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) triggerHoverEnd(e, e.pointerType);
			}, { capture: true });
			if (onHoverStart) onHoverStart({
				type: "hoverstart",
				target,
				pointerType
			});
			if (onHoverChange) onHoverChange(true);
			setHovered(true);
		};
		let triggerHoverEnd = (event, pointerType) => {
			let target = state.target;
			state.pointerType = "";
			state.target = null;
			if (pointerType === "touch" || !state.isHovered || !target) return;
			state.isHovered = false;
			removeAllGlobalListeners();
			if (onHoverEnd) onHoverEnd({
				type: "hoverend",
				target,
				pointerType
			});
			if (onHoverChange) onHoverChange(false);
			setHovered(false);
		};
		let hoverProps = {};
		if (typeof PointerEvent !== "undefined") {
			hoverProps.onPointerEnter = (e) => {
				if ($e969f22b6713ca4a$var$globalIgnoreEmulatedMouseEvents && e.pointerType === "mouse") return;
				triggerHoverStart(e, e.pointerType);
			};
			hoverProps.onPointerLeave = (e) => {
				if (!isDisabled && $23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) triggerHoverEnd(e, e.pointerType);
			};
		}
		return {
			hoverProps,
			triggerHoverEnd
		};
	}, [
		onHoverStart,
		onHoverChange,
		onHoverEnd,
		isDisabled,
		state,
		addGlobalListener,
		removeAllGlobalListeners
	]);
	(0, import_react.useEffect)(() => {
		if (isDisabled) triggerHoverEnd({ currentTarget: state.target }, state.pointerType);
	}, [isDisabled]);
	return {
		hoverProps,
		isHovered
	};
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/env.js
var i$14 = Object.defineProperty;
var d$12 = (t, e, n) => e in t ? i$14(t, e, {
	enumerable: !0,
	configurable: !0,
	writable: !0,
	value: n
}) : t[e] = n;
var r$19 = (t, e, n) => (d$12(t, typeof e != "symbol" ? e + "" : e, n), n);
var o$17 = class {
	constructor() {
		r$19(this, "current", this.detect());
		r$19(this, "handoffState", "pending");
		r$19(this, "currentId", 0);
	}
	set(e) {
		this.current !== e && (this.handoffState = "pending", this.currentId = 0, this.current = e);
	}
	reset() {
		this.set(this.detect());
	}
	nextId() {
		return ++this.currentId;
	}
	get isServer() {
		return this.current === "server";
	}
	get isClient() {
		return this.current === "client";
	}
	detect() {
		return typeof window == "undefined" || typeof document == "undefined" ? "server" : "client";
	}
	handoff() {
		this.handoffState === "pending" && (this.handoffState = "complete");
	}
	get isHandoffComplete() {
		return this.handoffState === "complete";
	}
};
var s$19 = new o$17();
//#endregion
//#region node_modules/@headlessui/react/dist/utils/owner.js
function l$16(n) {
	var u;
	return s$19.isServer ? null : n == null ? document : (u = n == null ? void 0 : n.ownerDocument) != null ? u : document;
}
function r$18(n) {
	var u, o;
	return s$19.isServer ? null : n == null ? document : (o = (u = n == null ? void 0 : n.getRootNode) == null ? void 0 : u.call(n)) != null ? o : document;
}
function e$7(n) {
	var u, o;
	return (o = (u = r$18(n)) == null ? void 0 : u.activeElement) != null ? o : null;
}
function d$11(n) {
	return e$7(n) === n;
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/micro-task.js
function t$11(e) {
	typeof queueMicrotask == "function" ? queueMicrotask(e) : Promise.resolve().then(e).catch((o) => setTimeout(() => {
		throw o;
	}));
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/disposables.js
function o$16() {
	let s = [], r = {
		addEventListener(e, t, n, i) {
			return e.addEventListener(t, n, i), r.add(() => e.removeEventListener(t, n, i));
		},
		requestAnimationFrame(...e) {
			let t = requestAnimationFrame(...e);
			return r.add(() => cancelAnimationFrame(t));
		},
		nextFrame(...e) {
			return r.requestAnimationFrame(() => r.requestAnimationFrame(...e));
		},
		setTimeout(...e) {
			let t = setTimeout(...e);
			return r.add(() => clearTimeout(t));
		},
		microTask(...e) {
			let t = { current: !0 };
			return t$11(() => {
				t.current && e[0]();
			}), r.add(() => {
				t.current = !1;
			});
		},
		style(e, t, n) {
			let i = e.style.getPropertyValue(t);
			return Object.assign(e.style, { [t]: n }), this.add(() => {
				Object.assign(e.style, { [t]: i });
			});
		},
		group(e) {
			let t = o$16();
			return e(t), this.add(() => t.dispose());
		},
		add(e) {
			return s.includes(e) || s.push(e), () => {
				let t = s.indexOf(e);
				if (t >= 0) for (let n of s.splice(t, 1)) n();
			};
		},
		dispose() {
			for (let e of s.splice(0)) e();
		}
	};
	return r;
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-disposables.js
function p$11() {
	let [e] = (0, import_react.useState)(o$16);
	return (0, import_react.useEffect)(() => () => e.dispose(), [e]), e;
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js
var n$15 = (e, t) => {
	s$19.isServer ? (0, import_react.useEffect)(e, t) : (0, import_react.useLayoutEffect)(e, t);
};
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-latest-value.js
function s$17(e) {
	let r = (0, import_react.useRef)(e);
	return n$15(() => {
		r.current = e;
	}, [e]), r;
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-event.js
var o$14 = function(t) {
	let e = s$17(t);
	return import_react.useCallback((...r) => e.current(...r), [e]);
};
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-active-press.js
function E$12(e) {
	let t = e.width / 2, n = e.height / 2;
	return {
		top: e.clientY - n,
		right: e.clientX + t,
		bottom: e.clientY + n,
		left: e.clientX - t
	};
}
function P$5(e, t) {
	return !(!e || !t || e.right < t.left || e.left > t.right || e.bottom < t.top || e.top > t.bottom);
}
function w$11({ disabled: e = !1 } = {}) {
	let t = (0, import_react.useRef)(null), [n, l] = (0, import_react.useState)(!1), r = p$11(), o = o$14(() => {
		t.current = null, l(!1), r.dispose();
	}), f = o$14((s) => {
		if (r.dispose(), t.current === null) {
			t.current = s.currentTarget, l(!0);
			{
				let i = l$16(s.currentTarget);
				r.addEventListener(i, "pointerup", o, !1), r.addEventListener(i, "pointermove", (c) => {
					if (t.current) l(P$5(E$12(c), t.current.getBoundingClientRect()));
				}, !1), r.addEventListener(i, "pointercancel", o, !1);
			}
		}
	});
	return {
		pressed: n,
		pressProps: e ? {} : {
			onPointerDown: f,
			onPointerUp: o,
			onClick: o
		}
	};
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-slot.js
function n$14(e) {
	return (0, import_react.useMemo)(() => e, Object.values(e));
}
//#endregion
//#region node_modules/@headlessui/react/dist/internal/disabled.js
var e$6 = (0, import_react.createContext)(void 0);
function a$24() {
	return (0, import_react.useContext)(e$6);
}
function l$15({ value: t, children: o }) {
	return import_react.createElement(e$6.Provider, { value: t }, o);
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/class-names.js
function t$8(...r) {
	return Array.from(new Set(r.flatMap((n) => typeof n == "string" ? n.split(" ") : []))).filter(Boolean).join(" ");
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/match.js
function u$23(r, n, ...a) {
	if (r in n) {
		let e = n[r];
		return typeof e == "function" ? e(...a) : e;
	}
	let t = /* @__PURE__ */ new Error(`Tried to handle "${r}" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map((e) => `"${e}"`).join(", ")}.`);
	throw Error.captureStackTrace && Error.captureStackTrace(t, u$23), t;
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/render.js
var A$3 = ((a) => (a[a.None = 0] = "None", a[a.RenderStrategy = 1] = "RenderStrategy", a[a.Static = 2] = "Static", a))(A$3 || {}), C$9 = ((t) => (t[t.Unmount = 0] = "Unmount", t[t.Hidden = 1] = "Hidden", t))(C$9 || {});
function K$2() {
	let e = I$8();
	return (0, import_react.useCallback)((r) => U$1({
		mergeRefs: e,
		...r
	}), [e]);
}
function U$1({ ourProps: e, theirProps: r, slot: t, defaultTag: a, features: o, visible: n = !0, name: i, mergeRefs: l }) {
	l = l != null ? l : H$8;
	let s = P$4(r, e);
	if (n) return F$5(s, t, a, i, l);
	let y = o != null ? o : 0;
	if (y & 2) {
		let { static: f = !1, ...u } = s;
		if (f) return F$5(u, t, a, i, l);
	}
	if (y & 1) {
		let { unmount: f = !0, ...u } = s;
		return u$23(f ? 0 : 1, {
			[0]() {
				return null;
			},
			[1]() {
				return F$5({
					...u,
					hidden: !0,
					style: { display: "none" }
				}, t, a, i, l);
			}
		});
	}
	return F$5(s, t, a, i, l);
}
function F$5(e, r = {}, t, a, o) {
	let { as: n = t, children: i, refName: l = "ref", ...s } = h$13(e, ["unmount", "static"]), y = e.ref !== void 0 ? { [l]: e.ref } : {}, f = typeof i == "function" ? i(r) : i;
	f = E$11(f), "className" in s && s.className && typeof s.className == "function" && (s.className = s.className(r)), s["aria-labelledby"] && s["aria-labelledby"] === s.id && (s["aria-labelledby"] = void 0);
	let u = {};
	if (r) {
		let d = !1, p = [];
		for (let [c, T] of Object.entries(r)) typeof T == "boolean" && (d = !0), T === !0 && p.push(c.replace(/([A-Z])/g, (g) => `-${g.toLowerCase()}`));
		if (d) {
			u["data-headlessui-state"] = p.join(" ");
			for (let c of p) u[`data-${c}`] = "";
		}
	}
	if (b$12(n) && (Object.keys(m$7(s)).length > 0 || Object.keys(m$7(u)).length > 0)) if (!(0, import_react.isValidElement)(f) || Array.isArray(f) && f.length > 1 || L$6(f)) {
		if (Object.keys(m$7(s)).length > 0) throw new Error([
			"Passing props on \"Fragment\"!",
			"",
			`The current component <${a} /> is rendering a "Fragment".`,
			"However we need to passthrough the following props:",
			Object.keys(m$7(s)).concat(Object.keys(m$7(u))).map((d) => `  - ${d}`).join(`
`),
			"",
			"You can apply a few solutions:",
			["Add an `as=\"...\"` prop, to ensure that we render an actual element instead of a \"Fragment\".", "Render a single element as the child so that we can forward the props onto that element."].map((d) => `  - ${d}`).join(`
`)
		].join(`
`));
	} else {
		let d = f.props, p = d == null ? void 0 : d.className, c = typeof p == "function" ? (...R) => t$8(p(...R), s.className) : t$8(p, s.className), T = c ? { className: c } : {}, g = P$4(f.props, m$7(h$13(s, ["ref"])));
		for (let R in u) R in g && delete u[R];
		return (0, import_react.cloneElement)(f, Object.assign({}, g, u, y, { ref: o(D$10(f), y.ref) }, T));
	}
	return (0, import_react.createElement)(n, Object.assign({}, h$13(s, ["ref"]), !b$12(n) && y, !b$12(n) && u), f);
}
function I$8() {
	let e = (0, import_react.useRef)([]), r = (0, import_react.useCallback)((t) => {
		for (let a of e.current) a != null && (typeof a == "function" ? a(t) : a.current = t);
	}, []);
	return (...t) => {
		if (!t.every((a) => a == null)) return e.current = t, r;
	};
}
function H$8(...e) {
	return e.every((r) => r == null) ? void 0 : (r) => {
		for (let t of e) t != null && (typeof t == "function" ? t(r) : t.current = r);
	};
}
function P$4(...e) {
	if (e.length === 0) return {};
	if (e.length === 1) return e[0];
	let r = {}, t = {};
	for (let o of e) for (let n in o) n.startsWith("on") && typeof o[n] == "function" ? (t[n] ?? (t[n] = []), t[n].push(o[n])) : r[n] = o[n];
	if (r.disabled || r["aria-disabled"]) for (let o in t) /^(on(?:Click|Pointer|Mouse|Key)(?:Down|Up|Press)?)$/.test(o) && (t[o] = [(n) => {
		var i;
		return (i = n == null ? void 0 : n.preventDefault) == null ? void 0 : i.call(n);
	}]);
	for (let o in t) Object.assign(r, { [o](n, ...i) {
		let l = t[o];
		for (let s of l) {
			if ((n instanceof Event || (n == null ? void 0 : n.nativeEvent) instanceof Event) && n.defaultPrevented) return;
			s(n, ...i);
		}
	} });
	return r;
}
function V$4(...e) {
	if (e.length === 0) return {};
	if (e.length === 1) return e[0];
	let r = {}, t = {};
	for (let o of e) for (let n in o) n.startsWith("on") && typeof o[n] == "function" ? (t[n] ?? (t[n] = []), t[n].push(o[n])) : r[n] = o[n];
	for (let o in t) Object.assign(r, { [o](...n) {
		let i = t[o];
		for (let l of i) l?.(...n);
	} });
	return r;
}
function Y$3(e) {
	var r;
	return Object.assign((0, import_react.forwardRef)(e), { displayName: (r = e.displayName) != null ? r : e.name });
}
function m$7(e) {
	let r = Object.assign({}, e);
	for (let t in r) r[t] === void 0 && delete r[t];
	return r;
}
function h$13(e, r = []) {
	let t = Object.assign({}, e);
	for (let a of r) a in t && delete t[a];
	return t;
}
function D$10(e) {
	return import_react.version.split(".")[0] >= "19" ? e.props.ref : e.ref;
}
function E$11(e) {
	if (e != null && e.$$typeof === Symbol.for("react.lazy")) {
		let r = e._payload;
		if (r != null && r.status === "fulfilled") return E$11(r.value);
	}
	return e;
}
function b$12(e) {
	return e === import_react.Fragment || e === Symbol.for("react.fragment");
}
function L$6(e) {
	return b$12(e.type);
}
//#endregion
//#region node_modules/@headlessui/react/dist/components/button/button.js
var R$6 = "button";
function v$8(s, n) {
	var r;
	let p = a$24(), { disabled: e = p || !1, autoFocus: t = !1, ...o } = s, { isFocusVisible: a, focusProps: l } = $0c4a58759813079a$export$4e328f61c538687f({ autoFocus: t }), { isHovered: u, hoverProps: i } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: e }), { pressed: T, pressProps: d } = w$11({ disabled: e }), f = V$4({
		ref: n,
		type: (r = o.type) != null ? r : "button",
		disabled: e || void 0,
		autoFocus: t
	}, l, i, d), m = n$14({
		disabled: e,
		hover: u,
		focus: a,
		active: T,
		autofocus: t
	});
	return K$2()({
		ourProps: f,
		theirProps: o,
		slot: m,
		defaultTag: R$6,
		name: "Button"
	});
}
var L = Y$3(v$8);
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-controllable.js
var import_react_dom = /* @__PURE__ */ __toESM(require_react_dom(), 1);
function b$11(l, r, c) {
	let [i, s] = (0, import_react.useState)(c), e = l !== void 0, t = (0, import_react.useRef)(e), u = (0, import_react.useRef)(!1), d = (0, import_react.useRef)(!1);
	return e && !t.current && !u.current ? (u.current = !0, t.current = e, console.error("A component is changing from uncontrolled to controlled. This may be caused by the value changing from undefined to a defined value, which should not happen.")) : !e && t.current && !d.current && (d.current = !0, t.current = e, console.error("A component is changing from controlled to uncontrolled. This may be caused by the value changing from a defined value to undefined, which should not happen.")), [e ? l : i, o$14((n) => (e || (0, import_react_dom.flushSync)(() => s(n)), r == null ? void 0 : r(n)))];
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-default-value.js
function l$14(e) {
	let [t] = (0, import_react.useState)(e);
	return t;
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/form.js
function p$10(t = {}, i = null, n = []) {
	for (let [e, o] of Object.entries(t)) s$16(n, r$15(i, e), o);
	return n;
}
function r$15(t, i) {
	return t ? t + "[" + i + "]" : i;
}
function s$16(t, i, n) {
	if (Array.isArray(n)) for (let [e, o] of n.entries()) s$16(t, r$15(i, e.toString()), o);
	else n instanceof Date ? t.push([i, n.toISOString()]) : typeof n == "boolean" ? t.push([i, n ? "1" : "0"]) : typeof n == "string" ? t.push([i, n]) : typeof n == "number" ? t.push([i, `${n}`]) : n == null ? t.push([i, ""]) : c$18(n) && !(0, import_react.isValidElement)(n) && p$10(n, i, t);
}
function g$7(t) {
	var n, e;
	let i = (n = t == null ? void 0 : t.form) != null ? n : t.closest("form");
	if (i) {
		for (let o of i.elements) if (o !== t && (o.tagName === "INPUT" && o.type === "submit" || o.tagName === "BUTTON" && o.type === "submit" || o.nodeName === "INPUT" && o.type === "image")) {
			o.click();
			return;
		}
		(e = i.requestSubmit) == null || e.call(i);
	}
}
function c$18(t) {
	if (Object.prototype.toString.call(t) !== "[object Object]") return !1;
	let i = Object.getPrototypeOf(t);
	return i === null || Object.getPrototypeOf(i) === null;
}
//#endregion
//#region node_modules/@headlessui/react/dist/internal/hidden.js
var a$22 = "span";
var s$15 = ((e) => (e[e.None = 1] = "None", e[e.Focusable = 2] = "Focusable", e[e.Hidden = 4] = "Hidden", e))(s$15 || {});
function l$13(t, r) {
	var n;
	let { features: d = 1, ...e } = t, o = {
		ref: r,
		"aria-hidden": (d & 2) === 2 ? !0 : (n = e["aria-hidden"]) != null ? n : void 0,
		hidden: (d & 4) === 4 ? !0 : void 0,
		style: {
			position: "fixed",
			top: 1,
			left: 1,
			width: 1,
			height: 0,
			padding: 0,
			margin: -1,
			overflow: "hidden",
			clip: "rect(0, 0, 0, 0)",
			whiteSpace: "nowrap",
			borderWidth: "0",
			...(d & 4) === 4 && (d & 2) !== 2 && { display: "none" }
		}
	};
	return K$2()({
		ourProps: o,
		theirProps: e,
		slot: {},
		defaultTag: a$22,
		name: "Hidden"
	});
}
var f$17 = Y$3(l$13);
//#endregion
//#region node_modules/@headlessui/react/dist/internal/form-fields.js
var f$16 = (0, import_react.createContext)(null);
function W$2(t) {
	let [e, r] = (0, import_react.useState)(null);
	return import_react.createElement(f$16.Provider, { value: { target: e } }, t.children, import_react.createElement(f$17, {
		features: s$15.Hidden,
		ref: r
	}));
}
function c$17({ children: t }) {
	let e = (0, import_react.useContext)(f$16);
	if (!e) return import_react.createElement(import_react.Fragment, null, t);
	let { target: r } = e;
	return r ? (0, import_react_dom.createPortal)(import_react.createElement(import_react.Fragment, null, t), r) : null;
}
function j$7({ data: t, form: e, disabled: r, onReset: n, overrides: F }) {
	let [i, a] = (0, import_react.useState)(null), p = p$11();
	return (0, import_react.useEffect)(() => {
		if (n && i) return p.addEventListener(i, "reset", n);
	}, [
		i,
		e,
		n
	]), import_react.createElement(c$17, null, import_react.createElement(C$8, {
		setForm: a,
		formId: e
	}), p$10(t).map(([s, v]) => import_react.createElement(f$17, {
		features: s$15.Hidden,
		...m$7({
			key: s,
			as: "input",
			type: "hidden",
			hidden: !0,
			readOnly: !0,
			form: e,
			disabled: r,
			name: s,
			value: v,
			...F
		})
	})));
}
function C$8({ setForm: t, formId: e }) {
	return (0, import_react.useEffect)(() => {
		if (e) {
			let r = document.getElementById(e);
			r && t(r);
		}
	}, [t, e]), e ? null : import_react.createElement(f$17, {
		features: s$15.Hidden,
		as: "input",
		type: "hidden",
		hidden: !0,
		readOnly: !0,
		ref: (r) => {
			if (!r) return;
			let n = r.closest("form");
			n && t(n);
		}
	});
}
//#endregion
//#region node_modules/@headlessui/react/dist/internal/id.js
var e$5 = (0, import_react.createContext)(void 0);
function u$20() {
	return (0, import_react.useContext)(e$5);
}
function f$15({ id: t, children: r }) {
	return import_react.createElement(e$5.Provider, { value: t }, r);
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/dom.js
function o$11(e) {
	return typeof e != "object" || e === null ? !1 : "nodeType" in e;
}
function t$7(e) {
	return o$11(e) && "tagName" in e;
}
function n$11(e) {
	return t$7(e) && "accessKey" in e;
}
function i$11(e) {
	return t$7(e) && "tabIndex" in e;
}
function r$14(e) {
	return t$7(e) && "style" in e;
}
function u$19(e) {
	return n$11(e) && e.nodeName === "IFRAME";
}
function l$12(e) {
	return n$11(e) && e.nodeName === "INPUT";
}
function m$5(e) {
	return n$11(e) && e.nodeName === "LABEL";
}
function a$21(e) {
	return n$11(e) && e.nodeName === "FIELDSET";
}
function E$9(e) {
	return n$11(e) && e.nodeName === "LEGEND";
}
function L$5(e) {
	return t$7(e) ? e.matches("a[href],audio[controls],button,details,embed,iframe,img[usemap],input:not([type=\"hidden\"]),label,select,textarea,video[controls]") : !1;
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/bugs.js
function s$14(l) {
	let e = l.parentElement, t = null;
	for (; e && !a$21(e);) E$9(e) && (t = e), e = e.parentElement;
	let i = (e == null ? void 0 : e.getAttribute("disabled")) === "";
	return i && r$13(t) ? !1 : i;
}
function r$13(l) {
	if (!l) return !1;
	let e = l.previousElementSibling;
	for (; e !== null;) {
		if (E$9(e)) return !1;
		e = e.previousElementSibling;
	}
	return !0;
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-sync-refs.js
var u$18 = Symbol();
function T$9(t, n = !0) {
	return Object.assign(t, { [u$18]: n });
}
function y$8(...t) {
	let n = (0, import_react.useRef)(t);
	(0, import_react.useEffect)(() => {
		n.current = t;
	}, [t]);
	let c = o$14((e) => {
		for (let o of n.current) o != null && (typeof o == "function" ? o(e) : o.current = e);
	});
	return t.every((e) => e == null || (e == null ? void 0 : e[u$18])) ? void 0 : c;
}
//#endregion
//#region node_modules/@headlessui/react/dist/components/description/description.js
var a$20 = (0, import_react.createContext)(null);
a$20.displayName = "DescriptionContext";
function f$14() {
	let r = (0, import_react.useContext)(a$20);
	if (r === null) {
		let e = /* @__PURE__ */ new Error("You used a <Description /> component, but it is not inside a relevant parent.");
		throw Error.captureStackTrace && Error.captureStackTrace(e, f$14), e;
	}
	return r;
}
function w$9() {
	var r, e;
	return (e = (r = (0, import_react.useContext)(a$20)) == null ? void 0 : r.value) != null ? e : void 0;
}
function H$6() {
	let [r, e] = (0, import_react.useState)([]);
	return [r.length > 0 ? r.join(" ") : void 0, (0, import_react.useMemo)(() => function(t) {
		let i = o$14((n) => (e((o) => [...o, n]), () => e((o) => {
			let s = o.slice(), p = s.indexOf(n);
			return p !== -1 && s.splice(p, 1), s;
		}))), l = (0, import_react.useMemo)(() => ({
			register: i,
			slot: t.slot,
			name: t.name,
			props: t.props,
			value: t.value
		}), [
			i,
			t.slot,
			t.name,
			t.props,
			t.value
		]);
		return import_react.createElement(a$20.Provider, { value: l }, t.children);
	}, [e])];
}
var I$7 = "p";
function C$7(r, e) {
	let c = (0, import_react.useId)(), t = a$24(), { id: i = `headlessui-description-${c}`, ...l } = r, n = f$14(), o = y$8(e);
	n$15(() => n.register(i), [i, n.register]);
	let s = n$14({
		...n.slot,
		disabled: t || !1
	}), p = {
		ref: o,
		...n.props,
		id: i
	};
	return K$2()({
		ourProps: p,
		theirProps: l,
		slot: s,
		defaultTag: I$7,
		name: n.name || "Description"
	});
}
var _$8 = Y$3(C$7), M = Object.assign(_$8, {});
//#endregion
//#region node_modules/@headlessui/react/dist/components/keyboard.js
var o$10 = ((r) => (r.Space = " ", r.Enter = "Enter", r.Escape = "Escape", r.Backspace = "Backspace", r.Delete = "Delete", r.ArrowLeft = "ArrowLeft", r.ArrowUp = "ArrowUp", r.ArrowRight = "ArrowRight", r.ArrowDown = "ArrowDown", r.Home = "Home", r.End = "End", r.PageUp = "PageUp", r.PageDown = "PageDown", r.Tab = "Tab", r))(o$10 || {});
//#endregion
//#region node_modules/@headlessui/react/dist/components/label/label.js
var L$4 = (0, import_react.createContext)(null);
L$4.displayName = "LabelContext";
function C$6() {
	let n = (0, import_react.useContext)(L$4);
	if (n === null) {
		let l = /* @__PURE__ */ new Error("You used a <Label /> component, but it is not inside a relevant parent.");
		throw Error.captureStackTrace && Error.captureStackTrace(l, C$6), l;
	}
	return n;
}
function N$2(n) {
	var a, e, o;
	let l = (e = (a = (0, import_react.useContext)(L$4)) == null ? void 0 : a.value) != null ? e : void 0;
	return ((o = n == null ? void 0 : n.length) != null ? o : 0) > 0 ? [l, ...n].filter(Boolean).join(" ") : l;
}
function V$3({ inherit: n = !1 } = {}) {
	let l = N$2(), [a, e] = (0, import_react.useState)([]), o = n ? [l, ...a].filter(Boolean) : a;
	return [o.length > 0 ? o.join(" ") : void 0, (0, import_react.useMemo)(() => function(t) {
		let p = o$14((i) => (e((u) => [...u, i]), () => e((u) => {
			let d = u.slice(), f = d.indexOf(i);
			return f !== -1 && d.splice(f, 1), d;
		}))), b = (0, import_react.useMemo)(() => ({
			register: p,
			slot: t.slot,
			name: t.name,
			props: t.props,
			value: t.value
		}), [
			p,
			t.slot,
			t.name,
			t.props,
			t.value
		]);
		return import_react.createElement(L$4.Provider, { value: b }, t.children);
	}, [e])];
}
var G$4 = "label";
function U(n, l) {
	var y;
	let a = (0, import_react.useId)(), e = C$6(), o = u$20(), T = a$24(), { id: t = `headlessui-label-${a}`, htmlFor: p = o != null ? o : (y = e.props) == null ? void 0 : y.htmlFor, passive: b = !1, ...i } = n, u = y$8(l);
	n$15(() => e.register(t), [t, e.register]);
	let d = o$14((s) => {
		let g = s.currentTarget;
		if (!(s.target !== s.currentTarget && L$5(s.target)) && (m$5(g) && s.preventDefault(), e.props && "onClick" in e.props && typeof e.props.onClick == "function" && e.props.onClick(s), m$5(g))) {
			let r = document.getElementById(g.htmlFor);
			if (r) {
				let E = r.getAttribute("disabled");
				if (E === "true" || E === "") return;
				let x = r.getAttribute("aria-disabled");
				if (x === "true" || x === "") return;
				(l$12(r) && (r.type === "file" || r.type === "radio" || r.type === "checkbox") || r.role === "radio" || r.role === "checkbox" || r.role === "switch") && r.click(), r.focus({ preventScroll: !0 });
			}
		}
	}), f = n$14({
		...e.slot,
		disabled: T || !1
	}), c = {
		ref: u,
		...e.props,
		id: t,
		htmlFor: p,
		onClick: d
	};
	return b && ("onClick" in c && (delete c.htmlFor, delete c.onClick), "onClick" in i && delete i.onClick), K$2()({
		ourProps: c,
		theirProps: i,
		slot: f,
		defaultTag: p ? G$4 : "div",
		name: e.name || "Label"
	});
}
var j$6 = Y$3(U), Z = Object.assign(j$6, {});
//#endregion
//#region node_modules/@headlessui/react/dist/components/checkbox/checkbox.js
var de$4 = "span";
function pe$2(u, b) {
	let f = (0, import_react.useId)(), y = u$20(), T = a$24(), { id: h = y || `headlessui-checkbox-${f}`, disabled: o = T || !1, autoFocus: i = !1, checked: C, defaultChecked: k, onChange: x, name: d, value: g, form: E, indeterminate: l = !1, tabIndex: v = 0, ...P } = u, r = l$14(k), [a, t] = b$11(C, x, r != null ? r : !1), D = N$2(), R = w$9(), A = p$11(), [F, p] = (0, import_react.useState)(!1), c = o$14(() => {
		p(!0), t?.(!a), A.nextFrame(() => {
			p(!1);
		});
	}), K = o$14((e) => {
		if (s$14(e.currentTarget)) return e.preventDefault();
		e.preventDefault(), c();
	}), _ = o$14((e) => {
		e.key === o$10.Space ? (e.preventDefault(), c()) : e.key === o$10.Enter && g$7(e.currentTarget);
	}), H = o$14((e) => e.preventDefault()), { isFocusVisible: B, focusProps: I } = $0c4a58759813079a$export$4e328f61c538687f({ autoFocus: i }), { isHovered: L, hoverProps: M } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: o }), { pressed: U, pressProps: O } = w$11({ disabled: o }), S = V$4({
		ref: b,
		id: h,
		role: "checkbox",
		"aria-checked": l ? "mixed" : a ? "true" : "false",
		"aria-labelledby": D,
		"aria-describedby": R,
		"aria-disabled": o ? !0 : void 0,
		indeterminate: l ? "true" : void 0,
		tabIndex: o ? void 0 : v,
		onKeyUp: o ? void 0 : _,
		onKeyPress: o ? void 0 : H,
		onClick: o ? void 0 : K
	}, I, M, O), X = n$14({
		checked: a,
		disabled: o,
		hover: L,
		focus: B,
		active: U,
		indeterminate: l,
		changing: F,
		autofocus: i
	}), G = (0, import_react.useCallback)(() => {
		if (r !== void 0) return t == null ? void 0 : t(r);
	}, [t, r]), W = K$2();
	return import_react.createElement(import_react.Fragment, null, d != null && import_react.createElement(j$7, {
		disabled: o,
		data: { [d]: g || "on" },
		overrides: {
			type: "checkbox",
			checked: a
		},
		form: E,
		onReset: G
	}), W({
		ourProps: S,
		theirProps: P,
		slot: X,
		defaultTag: de$4,
		name: "Checkbox"
	}));
}
var Ke = Y$3(pe$2);
//#endregion
//#region node_modules/@headlessui/react/dist/internal/close-provider.js
var e$4 = (0, import_react.createContext)(() => {});
function u() {
	return (0, import_react.useContext)(e$4);
}
function C$5({ value: t, children: o }) {
	return import_react.createElement(e$4.Provider, { value: t }, o);
}
//#endregion
//#region node_modules/@headlessui/react/dist/components/close-button/close-button.js
function l$10(t, e) {
	let o = u();
	return import_react.createElement(L, {
		ref: e,
		...V$4({ onClick: o }, t)
	});
}
var y = Y$3(l$10);
//#endregion
//#region node_modules/@tanstack/virtual-core/dist/esm/utils.js
function memo(getDeps, fn, opts) {
	let deps = opts.initialDeps ?? [];
	let result;
	let isInitial = true;
	function memoizedFunction() {
		var _a, _b, _c;
		let depTime;
		if (opts.key && ((_a = opts.debug) == null ? void 0 : _a.call(opts))) depTime = Date.now();
		const newDeps = getDeps();
		if (!(newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep))) return result;
		deps = newDeps;
		let resultTime;
		if (opts.key && ((_b = opts.debug) == null ? void 0 : _b.call(opts))) resultTime = Date.now();
		result = fn(...newDeps);
		if (opts.key && ((_c = opts.debug) == null ? void 0 : _c.call(opts))) {
			const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;
			const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;
			const resultFpsPercentage = resultEndTime / 16;
			const pad = (str, num) => {
				str = String(str);
				while (str.length < num) str = " " + str;
				return str;
			};
			console.info(`%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`, `
            font-size: .6rem;
            font-weight: bold;
            color: hsl(${Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120))}deg 100% 31%);`, opts == null ? void 0 : opts.key);
		}
		if ((opts == null ? void 0 : opts.onChange) && !(isInitial && opts.skipInitialOnChange)) opts.onChange(result);
		isInitial = false;
		return result;
	}
	memoizedFunction.updateDeps = (newDeps) => {
		deps = newDeps;
	};
	return memoizedFunction;
}
function notUndefined(value, msg) {
	if (value === void 0) throw new Error(`Unexpected undefined${msg ? `: ${msg}` : ""}`);
	else return value;
}
var approxEqual = (a, b) => Math.abs(a - b) < 1.01;
var debounce = (targetWindow, fn, ms) => {
	let timeoutId;
	return function(...args) {
		targetWindow.clearTimeout(timeoutId);
		timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);
	};
};
//#endregion
//#region node_modules/@tanstack/virtual-core/dist/esm/index.js
var getRect = (element) => {
	const { offsetWidth, offsetHeight } = element;
	return {
		width: offsetWidth,
		height: offsetHeight
	};
};
var defaultKeyExtractor = (index) => index;
var defaultRangeExtractor = (range) => {
	const start = Math.max(range.startIndex - range.overscan, 0);
	const end = Math.min(range.endIndex + range.overscan, range.count - 1);
	const arr = [];
	for (let i = start; i <= end; i++) arr.push(i);
	return arr;
};
var observeElementRect = (instance, cb) => {
	const element = instance.scrollElement;
	if (!element) return;
	const targetWindow = instance.targetWindow;
	if (!targetWindow) return;
	const handler = (rect) => {
		const { width, height } = rect;
		cb({
			width: Math.round(width),
			height: Math.round(height)
		});
	};
	handler(getRect(element));
	if (!targetWindow.ResizeObserver) return () => {};
	const observer = new targetWindow.ResizeObserver((entries) => {
		const run = () => {
			const entry = entries[0];
			if (entry == null ? void 0 : entry.borderBoxSize) {
				const box = entry.borderBoxSize[0];
				if (box) {
					handler({
						width: box.inlineSize,
						height: box.blockSize
					});
					return;
				}
			}
			handler(getRect(element));
		};
		instance.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();
	});
	observer.observe(element, { box: "border-box" });
	return () => {
		observer.unobserve(element);
	};
};
var addEventListenerOptions = { passive: true };
var supportsScrollend = typeof window == "undefined" ? true : "onscrollend" in window;
var observeElementOffset = (instance, cb) => {
	const element = instance.scrollElement;
	if (!element) return;
	const targetWindow = instance.targetWindow;
	if (!targetWindow) return;
	let offset = 0;
	const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce(targetWindow, () => {
		cb(offset, false);
	}, instance.options.isScrollingResetDelay);
	const createHandler = (isScrolling) => () => {
		const { horizontal, isRtl } = instance.options;
		offset = horizontal ? element["scrollLeft"] * (isRtl && -1 || 1) : element["scrollTop"];
		fallback();
		cb(offset, isScrolling);
	};
	const handler = createHandler(true);
	const endHandler = createHandler(false);
	element.addEventListener("scroll", handler, addEventListenerOptions);
	const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;
	if (registerScrollendEvent) element.addEventListener("scrollend", endHandler, addEventListenerOptions);
	return () => {
		element.removeEventListener("scroll", handler);
		if (registerScrollendEvent) element.removeEventListener("scrollend", endHandler);
	};
};
var measureElement = (element, entry, instance) => {
	if (entry == null ? void 0 : entry.borderBoxSize) {
		const box = entry.borderBoxSize[0];
		if (box) return Math.round(box[instance.options.horizontal ? "inlineSize" : "blockSize"]);
	}
	return element[instance.options.horizontal ? "offsetWidth" : "offsetHeight"];
};
var elementScroll = (offset, { adjustments = 0, behavior }, instance) => {
	var _a, _b;
	const toOffset = offset + adjustments;
	(_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null || _b.call(_a, {
		[instance.options.horizontal ? "left" : "top"]: toOffset,
		behavior
	});
};
var Virtualizer = class {
	constructor(opts) {
		this.unsubs = [];
		this.scrollElement = null;
		this.targetWindow = null;
		this.isScrolling = false;
		this.scrollState = null;
		this.measurementsCache = [];
		this.itemSizeCache = /* @__PURE__ */ new Map();
		this.laneAssignments = /* @__PURE__ */ new Map();
		this.pendingMeasuredCacheIndexes = [];
		this.prevLanes = void 0;
		this.lanesChangedFlag = false;
		this.lanesSettling = false;
		this.scrollRect = null;
		this.scrollOffset = null;
		this.scrollDirection = null;
		this.scrollAdjustments = 0;
		this.elementsCache = /* @__PURE__ */ new Map();
		this.now = () => {
			var _a, _b, _c;
			return ((_c = (_b = (_a = this.targetWindow) == null ? void 0 : _a.performance) == null ? void 0 : _b.now) == null ? void 0 : _c.call(_b)) ?? Date.now();
		};
		this.observer = /* @__PURE__ */ (() => {
			let _ro = null;
			const get = () => {
				if (_ro) return _ro;
				if (!this.targetWindow || !this.targetWindow.ResizeObserver) return null;
				return _ro = new this.targetWindow.ResizeObserver((entries) => {
					entries.forEach((entry) => {
						const run = () => {
							const node = entry.target;
							const index = this.indexFromElement(node);
							if (!node.isConnected) {
								this.observer.unobserve(node);
								return;
							}
							if (this.shouldMeasureDuringScroll(index)) this.resizeItem(index, this.options.measureElement(node, entry, this));
						};
						this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();
					});
				});
			};
			return {
				disconnect: () => {
					var _a;
					(_a = get()) == null || _a.disconnect();
					_ro = null;
				},
				observe: (target) => {
					var _a;
					return (_a = get()) == null ? void 0 : _a.observe(target, { box: "border-box" });
				},
				unobserve: (target) => {
					var _a;
					return (_a = get()) == null ? void 0 : _a.unobserve(target);
				}
			};
		})();
		this.range = null;
		this.setOptions = (opts2) => {
			Object.entries(opts2).forEach(([key, value]) => {
				if (typeof value === "undefined") delete opts2[key];
			});
			this.options = {
				debug: false,
				initialOffset: 0,
				overscan: 1,
				paddingStart: 0,
				paddingEnd: 0,
				scrollPaddingStart: 0,
				scrollPaddingEnd: 0,
				horizontal: false,
				getItemKey: defaultKeyExtractor,
				rangeExtractor: defaultRangeExtractor,
				onChange: () => {},
				measureElement,
				initialRect: {
					width: 0,
					height: 0
				},
				scrollMargin: 0,
				gap: 0,
				indexAttribute: "data-index",
				initialMeasurementsCache: [],
				lanes: 1,
				isScrollingResetDelay: 150,
				enabled: true,
				isRtl: false,
				useScrollendEvent: false,
				useAnimationFrameWithResizeObserver: false,
				laneAssignmentMode: "estimate",
				...opts2
			};
		};
		this.notify = (sync) => {
			var _a, _b;
			(_b = (_a = this.options).onChange) == null || _b.call(_a, this, sync);
		};
		this.maybeNotify = memo(() => {
			this.calculateRange();
			return [
				this.isScrolling,
				this.range ? this.range.startIndex : null,
				this.range ? this.range.endIndex : null
			];
		}, (isScrolling) => {
			this.notify(isScrolling);
		}, {
			key: "maybeNotify",
			debug: () => this.options.debug,
			initialDeps: [
				this.isScrolling,
				this.range ? this.range.startIndex : null,
				this.range ? this.range.endIndex : null
			]
		});
		this.cleanup = () => {
			this.unsubs.filter(Boolean).forEach((d) => d());
			this.unsubs = [];
			this.observer.disconnect();
			if (this.rafId != null && this.targetWindow) {
				this.targetWindow.cancelAnimationFrame(this.rafId);
				this.rafId = null;
			}
			this.scrollState = null;
			this.scrollElement = null;
			this.targetWindow = null;
		};
		this._didMount = () => {
			return () => {
				this.cleanup();
			};
		};
		this._willUpdate = () => {
			var _a;
			const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;
			if (this.scrollElement !== scrollElement) {
				this.cleanup();
				if (!scrollElement) {
					this.maybeNotify();
					return;
				}
				this.scrollElement = scrollElement;
				if (this.scrollElement && "ownerDocument" in this.scrollElement) this.targetWindow = this.scrollElement.ownerDocument.defaultView;
				else this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null;
				this.elementsCache.forEach((cached) => {
					this.observer.observe(cached);
				});
				this.unsubs.push(this.options.observeElementRect(this, (rect) => {
					this.scrollRect = rect;
					this.maybeNotify();
				}));
				this.unsubs.push(this.options.observeElementOffset(this, (offset, isScrolling) => {
					this.scrollAdjustments = 0;
					this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? "forward" : "backward" : null;
					this.scrollOffset = offset;
					this.isScrolling = isScrolling;
					if (this.scrollState) this.scheduleScrollReconcile();
					this.maybeNotify();
				}));
				this._scrollToOffset(this.getScrollOffset(), {
					adjustments: void 0,
					behavior: void 0
				});
			}
		};
		this.rafId = null;
		this.getSize = () => {
			if (!this.options.enabled) {
				this.scrollRect = null;
				return 0;
			}
			this.scrollRect = this.scrollRect ?? this.options.initialRect;
			return this.scrollRect[this.options.horizontal ? "width" : "height"];
		};
		this.getScrollOffset = () => {
			if (!this.options.enabled) {
				this.scrollOffset = null;
				return 0;
			}
			this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === "function" ? this.options.initialOffset() : this.options.initialOffset);
			return this.scrollOffset;
		};
		this.getFurthestMeasurement = (measurements, index) => {
			const furthestMeasurementsFound = /* @__PURE__ */ new Map();
			const furthestMeasurements = /* @__PURE__ */ new Map();
			for (let m = index - 1; m >= 0; m--) {
				const measurement = measurements[m];
				if (furthestMeasurementsFound.has(measurement.lane)) continue;
				const previousFurthestMeasurement = furthestMeasurements.get(measurement.lane);
				if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) furthestMeasurements.set(measurement.lane, measurement);
				else if (measurement.end < previousFurthestMeasurement.end) furthestMeasurementsFound.set(measurement.lane, true);
				if (furthestMeasurementsFound.size === this.options.lanes) break;
			}
			return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a, b) => {
				if (a.end === b.end) return a.index - b.index;
				return a.end - b.end;
			})[0] : void 0;
		};
		this.getMeasurementOptions = memo(() => [
			this.options.count,
			this.options.paddingStart,
			this.options.scrollMargin,
			this.options.getItemKey,
			this.options.enabled,
			this.options.lanes,
			this.options.laneAssignmentMode
		], (count, paddingStart, scrollMargin, getItemKey, enabled, lanes, laneAssignmentMode) => {
			if (this.prevLanes !== void 0 && this.prevLanes !== lanes) this.lanesChangedFlag = true;
			this.prevLanes = lanes;
			this.pendingMeasuredCacheIndexes = [];
			return {
				count,
				paddingStart,
				scrollMargin,
				getItemKey,
				enabled,
				lanes,
				laneAssignmentMode
			};
		}, { key: false });
		this.getMeasurements = memo(() => [this.getMeasurementOptions(), this.itemSizeCache], ({ count, paddingStart, scrollMargin, getItemKey, enabled, lanes, laneAssignmentMode }, itemSizeCache) => {
			if (!enabled) {
				this.measurementsCache = [];
				this.itemSizeCache.clear();
				this.laneAssignments.clear();
				return [];
			}
			if (this.laneAssignments.size > count) {
				for (const index of this.laneAssignments.keys()) if (index >= count) this.laneAssignments.delete(index);
			}
			if (this.lanesChangedFlag) {
				this.lanesChangedFlag = false;
				this.lanesSettling = true;
				this.measurementsCache = [];
				this.itemSizeCache.clear();
				this.laneAssignments.clear();
				this.pendingMeasuredCacheIndexes = [];
			}
			if (this.measurementsCache.length === 0 && !this.lanesSettling) {
				this.measurementsCache = this.options.initialMeasurementsCache;
				this.measurementsCache.forEach((item) => {
					this.itemSizeCache.set(item.key, item.size);
				});
			}
			const min = this.lanesSettling ? 0 : this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;
			this.pendingMeasuredCacheIndexes = [];
			if (this.lanesSettling && this.measurementsCache.length === count) this.lanesSettling = false;
			const measurements = this.measurementsCache.slice(0, min);
			const laneLastIndex = new Array(lanes).fill(void 0);
			for (let m = 0; m < min; m++) {
				const item = measurements[m];
				if (item) laneLastIndex[item.lane] = m;
			}
			for (let i = min; i < count; i++) {
				const key = getItemKey(i);
				const cachedLane = this.laneAssignments.get(i);
				let lane;
				let start;
				const shouldCacheLane = laneAssignmentMode === "estimate" || itemSizeCache.has(key);
				if (cachedLane !== void 0 && this.options.lanes > 1) {
					lane = cachedLane;
					const prevIndex = laneLastIndex[lane];
					const prevInLane = prevIndex !== void 0 ? measurements[prevIndex] : void 0;
					start = prevInLane ? prevInLane.end + this.options.gap : paddingStart + scrollMargin;
				} else {
					const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);
					start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;
					lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;
					if (this.options.lanes > 1 && shouldCacheLane) this.laneAssignments.set(i, lane);
				}
				const measuredSize = itemSizeCache.get(key);
				const size = typeof measuredSize === "number" ? measuredSize : this.options.estimateSize(i);
				const end = start + size;
				measurements[i] = {
					index: i,
					start,
					size,
					end,
					key,
					lane
				};
				laneLastIndex[lane] = i;
			}
			this.measurementsCache = measurements;
			return measurements;
		}, {
			key: "getMeasurements",
			debug: () => this.options.debug
		});
		this.calculateRange = memo(() => [
			this.getMeasurements(),
			this.getSize(),
			this.getScrollOffset(),
			this.options.lanes
		], (measurements, outerSize, scrollOffset, lanes) => {
			return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({
				measurements,
				outerSize,
				scrollOffset,
				lanes
			}) : null;
		}, {
			key: "calculateRange",
			debug: () => this.options.debug
		});
		this.getVirtualIndexes = memo(() => {
			let startIndex = null;
			let endIndex = null;
			const range = this.calculateRange();
			if (range) {
				startIndex = range.startIndex;
				endIndex = range.endIndex;
			}
			this.maybeNotify.updateDeps([
				this.isScrolling,
				startIndex,
				endIndex
			]);
			return [
				this.options.rangeExtractor,
				this.options.overscan,
				this.options.count,
				startIndex,
				endIndex
			];
		}, (rangeExtractor, overscan, count, startIndex, endIndex) => {
			return startIndex === null || endIndex === null ? [] : rangeExtractor({
				startIndex,
				endIndex,
				overscan,
				count
			});
		}, {
			key: "getVirtualIndexes",
			debug: () => this.options.debug
		});
		this.indexFromElement = (node) => {
			const attributeName = this.options.indexAttribute;
			const indexStr = node.getAttribute(attributeName);
			if (!indexStr) {
				console.warn(`Missing attribute name '${attributeName}={index}' on measured element.`);
				return -1;
			}
			return parseInt(indexStr, 10);
		};
		this.shouldMeasureDuringScroll = (index) => {
			var _a;
			if (!this.scrollState || this.scrollState.behavior !== "smooth") return true;
			const scrollIndex = this.scrollState.index ?? ((_a = this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)) == null ? void 0 : _a.index);
			if (scrollIndex !== void 0 && this.range) {
				const bufferSize = Math.max(this.options.overscan, Math.ceil((this.range.endIndex - this.range.startIndex) / 2));
				const minIndex = Math.max(0, scrollIndex - bufferSize);
				const maxIndex = Math.min(this.options.count - 1, scrollIndex + bufferSize);
				return index >= minIndex && index <= maxIndex;
			}
			return true;
		};
		this.measureElement = (node) => {
			if (!node) {
				this.elementsCache.forEach((cached, key2) => {
					if (!cached.isConnected) {
						this.observer.unobserve(cached);
						this.elementsCache.delete(key2);
					}
				});
				return;
			}
			const index = this.indexFromElement(node);
			const key = this.options.getItemKey(index);
			const prevNode = this.elementsCache.get(key);
			if (prevNode !== node) {
				if (prevNode) this.observer.unobserve(prevNode);
				this.observer.observe(node);
				this.elementsCache.set(key, node);
			}
			if ((!this.isScrolling || this.scrollState) && this.shouldMeasureDuringScroll(index)) this.resizeItem(index, this.options.measureElement(node, void 0, this));
		};
		this.resizeItem = (index, size) => {
			var _a;
			const item = this.measurementsCache[index];
			if (!item) return;
			const delta = size - (this.itemSizeCache.get(item.key) ?? item.size);
			if (delta !== 0) {
				if (((_a = this.scrollState) == null ? void 0 : _a.behavior) !== "smooth" && (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(item, delta, this) : item.start < this.getScrollOffset() + this.scrollAdjustments)) {
					if (this.options.debug) console.info("correction", delta);
					this._scrollToOffset(this.getScrollOffset(), {
						adjustments: this.scrollAdjustments += delta,
						behavior: void 0
					});
				}
				this.pendingMeasuredCacheIndexes.push(item.index);
				this.itemSizeCache = new Map(this.itemSizeCache.set(item.key, size));
				this.notify(false);
			}
		};
		this.getVirtualItems = memo(() => [this.getVirtualIndexes(), this.getMeasurements()], (indexes, measurements) => {
			const virtualItems = [];
			for (let k = 0, len = indexes.length; k < len; k++) {
				const measurement = measurements[indexes[k]];
				virtualItems.push(measurement);
			}
			return virtualItems;
		}, {
			key: "getVirtualItems",
			debug: () => this.options.debug
		});
		this.getVirtualItemForOffset = (offset) => {
			const measurements = this.getMeasurements();
			if (measurements.length === 0) return;
			return notUndefined(measurements[findNearestBinarySearch(0, measurements.length - 1, (index) => notUndefined(measurements[index]).start, offset)]);
		};
		this.getMaxScrollOffset = () => {
			if (!this.scrollElement) return 0;
			if ("scrollHeight" in this.scrollElement) return this.options.horizontal ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth : this.scrollElement.scrollHeight - this.scrollElement.clientHeight;
			else {
				const doc = this.scrollElement.document.documentElement;
				return this.options.horizontal ? doc.scrollWidth - this.scrollElement.innerWidth : doc.scrollHeight - this.scrollElement.innerHeight;
			}
		};
		this.getOffsetForAlignment = (toOffset, align, itemSize = 0) => {
			if (!this.scrollElement) return 0;
			const size = this.getSize();
			const scrollOffset = this.getScrollOffset();
			if (align === "auto") align = toOffset >= scrollOffset + size ? "end" : "start";
			if (align === "center") toOffset += (itemSize - size) / 2;
			else if (align === "end") toOffset -= size;
			const maxOffset = this.getMaxScrollOffset();
			return Math.max(Math.min(maxOffset, toOffset), 0);
		};
		this.getOffsetForIndex = (index, align = "auto") => {
			index = Math.max(0, Math.min(index, this.options.count - 1));
			const size = this.getSize();
			const scrollOffset = this.getScrollOffset();
			const item = this.measurementsCache[index];
			if (!item) return;
			if (align === "auto") if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) align = "end";
			else if (item.start <= scrollOffset + this.options.scrollPaddingStart) align = "start";
			else return [scrollOffset, align];
			if (align === "end" && index === this.options.count - 1) return [this.getMaxScrollOffset(), align];
			const toOffset = align === "end" ? item.end + this.options.scrollPaddingEnd : item.start - this.options.scrollPaddingStart;
			return [this.getOffsetForAlignment(toOffset, align, item.size), align];
		};
		this.scrollToOffset = (toOffset, { align = "start", behavior = "auto" } = {}) => {
			const offset = this.getOffsetForAlignment(toOffset, align);
			const now = this.now();
			this.scrollState = {
				index: null,
				align,
				behavior,
				startedAt: now,
				lastTargetOffset: offset,
				stableFrames: 0
			};
			this._scrollToOffset(offset, {
				adjustments: void 0,
				behavior
			});
			this.scheduleScrollReconcile();
		};
		this.scrollToIndex = (index, { align: initialAlign = "auto", behavior = "auto" } = {}) => {
			index = Math.max(0, Math.min(index, this.options.count - 1));
			const offsetInfo = this.getOffsetForIndex(index, initialAlign);
			if (!offsetInfo) return;
			const [offset, align] = offsetInfo;
			const now = this.now();
			this.scrollState = {
				index,
				align,
				behavior,
				startedAt: now,
				lastTargetOffset: offset,
				stableFrames: 0
			};
			this._scrollToOffset(offset, {
				adjustments: void 0,
				behavior
			});
			this.scheduleScrollReconcile();
		};
		this.scrollBy = (delta, { behavior = "auto" } = {}) => {
			const offset = this.getScrollOffset() + delta;
			const now = this.now();
			this.scrollState = {
				index: null,
				align: "start",
				behavior,
				startedAt: now,
				lastTargetOffset: offset,
				stableFrames: 0
			};
			this._scrollToOffset(offset, {
				adjustments: void 0,
				behavior
			});
			this.scheduleScrollReconcile();
		};
		this.getTotalSize = () => {
			var _a;
			const measurements = this.getMeasurements();
			let end;
			if (measurements.length === 0) end = this.options.paddingStart;
			else if (this.options.lanes === 1) end = ((_a = measurements[measurements.length - 1]) == null ? void 0 : _a.end) ?? 0;
			else {
				const endByLane = Array(this.options.lanes).fill(null);
				let endIndex = measurements.length - 1;
				while (endIndex >= 0 && endByLane.some((val) => val === null)) {
					const item = measurements[endIndex];
					if (endByLane[item.lane] === null) endByLane[item.lane] = item.end;
					endIndex--;
				}
				end = Math.max(...endByLane.filter((val) => val !== null));
			}
			return Math.max(end - this.options.scrollMargin + this.options.paddingEnd, 0);
		};
		this._scrollToOffset = (offset, { adjustments, behavior }) => {
			this.options.scrollToFn(offset, {
				behavior,
				adjustments
			}, this);
		};
		this.measure = () => {
			this.itemSizeCache = /* @__PURE__ */ new Map();
			this.laneAssignments = /* @__PURE__ */ new Map();
			this.notify(false);
		};
		this.setOptions(opts);
	}
	scheduleScrollReconcile() {
		if (!this.targetWindow) {
			this.scrollState = null;
			return;
		}
		if (this.rafId != null) return;
		this.rafId = this.targetWindow.requestAnimationFrame(() => {
			this.rafId = null;
			this.reconcileScroll();
		});
	}
	reconcileScroll() {
		if (!this.scrollState) return;
		if (!this.scrollElement) return;
		if (this.now() - this.scrollState.startedAt > 5e3) {
			this.scrollState = null;
			return;
		}
		const offsetInfo = this.scrollState.index != null ? this.getOffsetForIndex(this.scrollState.index, this.scrollState.align) : void 0;
		const targetOffset = offsetInfo ? offsetInfo[0] : this.scrollState.lastTargetOffset;
		const STABLE_FRAMES = 1;
		const targetChanged = targetOffset !== this.scrollState.lastTargetOffset;
		if (!targetChanged && approxEqual(targetOffset, this.getScrollOffset())) {
			this.scrollState.stableFrames++;
			if (this.scrollState.stableFrames >= STABLE_FRAMES) {
				this.scrollState = null;
				return;
			}
		} else {
			this.scrollState.stableFrames = 0;
			if (targetChanged) {
				this.scrollState.lastTargetOffset = targetOffset;
				this.scrollState.behavior = "auto";
				this._scrollToOffset(targetOffset, {
					adjustments: void 0,
					behavior: "auto"
				});
			}
		}
		this.scheduleScrollReconcile();
	}
};
var findNearestBinarySearch = (low, high, getCurrentValue, value) => {
	while (low <= high) {
		const middle = (low + high) / 2 | 0;
		const currentValue = getCurrentValue(middle);
		if (currentValue < value) low = middle + 1;
		else if (currentValue > value) high = middle - 1;
		else return middle;
	}
	if (low > 0) return low - 1;
	else return 0;
};
function calculateRange({ measurements, outerSize, scrollOffset, lanes }) {
	const lastIndex = measurements.length - 1;
	const getOffset = (index) => measurements[index].start;
	if (measurements.length <= lanes) return {
		startIndex: 0,
		endIndex: lastIndex
	};
	let startIndex = findNearestBinarySearch(0, lastIndex, getOffset, scrollOffset);
	let endIndex = startIndex;
	if (lanes === 1) while (endIndex < lastIndex && measurements[endIndex].end < scrollOffset + outerSize) endIndex++;
	else if (lanes > 1) {
		const endPerLane = Array(lanes).fill(0);
		while (endIndex < lastIndex && endPerLane.some((pos) => pos < scrollOffset + outerSize)) {
			const item = measurements[endIndex];
			endPerLane[item.lane] = item.end;
			endIndex++;
		}
		const startPerLane = Array(lanes).fill(scrollOffset + outerSize);
		while (startIndex >= 0 && startPerLane.some((pos) => pos >= scrollOffset)) {
			const item = measurements[startIndex];
			startPerLane[item.lane] = item.start;
			startIndex--;
		}
		startIndex = Math.max(0, startIndex - startIndex % lanes);
		endIndex = Math.min(lastIndex, endIndex + (lanes - 1 - endIndex % lanes));
	}
	return {
		startIndex,
		endIndex
	};
}
//#endregion
//#region node_modules/@tanstack/react-virtual/dist/esm/index.js
var useIsomorphicLayoutEffect = typeof document !== "undefined" ? import_react.useLayoutEffect : import_react.useEffect;
function useVirtualizerBase({ useFlushSync = true, ...options }) {
	const rerender = import_react.useReducer(() => ({}), {})[1];
	const resolvedOptions = {
		...options,
		onChange: (instance2, sync) => {
			var _a;
			if (useFlushSync && sync) (0, import_react_dom.flushSync)(rerender);
			else rerender();
			(_a = options.onChange) == null || _a.call(options, instance2, sync);
		}
	};
	const [instance] = import_react.useState(() => new Virtualizer(resolvedOptions));
	instance.setOptions(resolvedOptions);
	useIsomorphicLayoutEffect(() => {
		return instance._didMount();
	}, []);
	useIsomorphicLayoutEffect(() => {
		return instance._willUpdate();
	});
	return instance;
}
function useVirtualizer(options) {
	return useVirtualizerBase({
		observeElementRect,
		observeElementOffset,
		scrollToFn: elementScroll,
		...options
	});
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-by-comparator.js
function l$9(e, r) {
	return e !== null && r !== null && typeof e == "object" && typeof r == "object" && "id" in e && "id" in r ? e.id === r.id : e === r;
}
function u$16(e = l$9) {
	return (0, import_react.useCallback)((r, t) => {
		if (typeof e == "string") {
			let o = e;
			return (r == null ? void 0 : r[o]) === (t == null ? void 0 : t[o]);
		}
		return e(r, t);
	}, [e]);
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-element-size.js
function h$11(i) {
	if (i === null) return {
		width: 0,
		height: 0
	};
	let { width: t, height: e } = i.getBoundingClientRect();
	return {
		width: t,
		height: e
	};
}
function w$7(i, t, e = !1) {
	let [r, f] = (0, import_react.useState)(() => h$11(t));
	return n$15(() => {
		if (!t || !i) return;
		let n = o$16();
		return n.requestAnimationFrame(function s() {
			n.requestAnimationFrame(s), f((u) => {
				let o = h$11(t);
				return o.width === u.width && o.height === u.height ? u : o;
			});
		}), () => {
			n.dispose();
		};
	}, [t, i]), e ? {
		width: `${r.width}px`,
		height: `${r.height}px`
	} : r;
}
//#endregion
//#region node_modules/@headlessui/react/dist/components/mouse.js
var g$4 = ((f) => (f[f.Left = 0] = "Left", f[f.Right = 2] = "Right", f))(g$4 || {});
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-handle-toggle.js
function s$12(t) {
	let r = (0, import_react.useRef)(null);
	return {
		onPointerDown: o$14((e) => {
			r.current = e.pointerType, !s$14(e.currentTarget) && e.pointerType === "mouse" && e.button === g$4.Left && (e.preventDefault(), t(e));
		}),
		onClick: o$14((e) => {
			r.current !== "mouse" && (s$14(e.currentTarget) || t(e));
		})
	};
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/default-map.js
var a$19 = class extends Map {
	constructor(t) {
		super();
		this.factory = t;
	}
	get(t) {
		let e = super.get(t);
		return e === void 0 && (e = this.factory(t), this.set(t, e)), e;
	}
};
//#endregion
//#region node_modules/@headlessui/react/dist/machine.js
var h$10 = Object.defineProperty;
var v$6 = (t, e, r) => e in t ? h$10(t, e, {
	enumerable: !0,
	configurable: !0,
	writable: !0,
	value: r
}) : t[e] = r;
var S$6 = (t, e, r) => (v$6(t, typeof e != "symbol" ? e + "" : e, r), r), b$10 = (t, e, r) => {
	if (!e.has(t)) throw TypeError("Cannot " + r);
};
var i$8 = (t, e, r) => (b$10(t, e, "read from private field"), r ? r.call(t) : e.get(t)), c$16 = (t, e, r) => {
	if (e.has(t)) throw TypeError("Cannot add the same private member more than once");
	e instanceof WeakSet ? e.add(t) : e.set(t, r);
}, u$15 = (t, e, r, s) => (b$10(t, e, "write to private field"), s ? s.call(t, r) : e.set(t, r), r);
var n$7, a$18, o$9;
var T$7 = class {
	constructor(e) {
		c$16(this, n$7, {});
		c$16(this, a$18, new a$19(() => /* @__PURE__ */ new Set()));
		c$16(this, o$9, /* @__PURE__ */ new Set());
		S$6(this, "disposables", o$16());
		u$15(this, n$7, e), s$19.isServer && this.disposables.microTask(() => {
			this.dispose();
		});
	}
	dispose() {
		this.disposables.dispose();
	}
	get state() {
		return i$8(this, n$7);
	}
	subscribe(e, r) {
		if (s$19.isServer) return () => {};
		let s = {
			selector: e,
			callback: r,
			current: e(i$8(this, n$7))
		};
		return i$8(this, o$9).add(s), this.disposables.add(() => {
			i$8(this, o$9).delete(s);
		});
	}
	on(e, r) {
		return s$19.isServer ? () => {} : (i$8(this, a$18).get(e).add(r), this.disposables.add(() => {
			i$8(this, a$18).get(e).delete(r);
		}));
	}
	send(e) {
		let r = this.reduce(i$8(this, n$7), e);
		if (r !== i$8(this, n$7)) {
			u$15(this, n$7, r);
			for (let s of i$8(this, o$9)) {
				let l = s.selector(i$8(this, n$7));
				j$5(s.current, l) || (s.current = l, s.callback(l));
			}
			for (let s of i$8(this, a$18).get(e.type)) s(i$8(this, n$7), e);
		}
	}
};
n$7 = /* @__PURE__ */ new WeakMap(), a$18 = /* @__PURE__ */ new WeakMap(), o$9 = /* @__PURE__ */ new WeakMap();
function j$5(t, e) {
	return Object.is(t, e) ? !0 : typeof t != "object" || t === null || typeof e != "object" || e === null ? !1 : Array.isArray(t) && Array.isArray(e) ? t.length !== e.length ? !1 : f$13(t[Symbol.iterator](), e[Symbol.iterator]()) : t instanceof Map && e instanceof Map || t instanceof Set && e instanceof Set ? t.size !== e.size ? !1 : f$13(t.entries(), e.entries()) : p$9(t) && p$9(e) ? f$13(Object.entries(t)[Symbol.iterator](), Object.entries(e)[Symbol.iterator]()) : !1;
}
function f$13(t, e) {
	do {
		let r = t.next(), s = e.next();
		if (r.done && s.done) return !0;
		if (r.done || s.done || !Object.is(r.value, s.value)) return !1;
	} while (!0);
}
function p$9(t) {
	if (Object.prototype.toString.call(t) !== "[object Object]") return !1;
	let e = Object.getPrototypeOf(t);
	return e === null || Object.getPrototypeOf(e) === null;
}
function k$11(t) {
	let [e, r] = t(), s = o$16();
	return (...l) => {
		e(...l), s.dispose(), s.microTask(r);
	};
}
//#endregion
//#region node_modules/@headlessui/react/dist/machines/stack-machine.js
var a$17 = Object.defineProperty;
var r$11 = (e, c, t) => c in e ? a$17(e, c, {
	enumerable: !0,
	configurable: !0,
	writable: !0,
	value: t
}) : e[c] = t;
var p$8 = (e, c, t) => (r$11(e, typeof c != "symbol" ? c + "" : c, t), t);
var k$10 = ((t) => (t[t.Push = 0] = "Push", t[t.Pop = 1] = "Pop", t))(k$10 || {});
var y$7 = {
	[0](e, c) {
		let t = c.id, s = e.stack, i = e.stack.indexOf(t);
		if (i !== -1) {
			let n = e.stack.slice();
			return n.splice(i, 1), n.push(t), s = n, {
				...e,
				stack: s
			};
		}
		return {
			...e,
			stack: [...e.stack, t]
		};
	},
	[1](e, c) {
		let t = c.id, s = e.stack.indexOf(t);
		if (s === -1) return e;
		let i = e.stack.slice();
		return i.splice(s, 1), {
			...e,
			stack: i
		};
	}
};
var o$8 = class o$8 extends T$7 {
	constructor() {
		super(...arguments);
		p$8(this, "actions", {
			push: (t) => this.send({
				type: 0,
				id: t
			}),
			pop: (t) => this.send({
				type: 1,
				id: t
			})
		});
		p$8(this, "selectors", {
			isTop: (t, s) => t.stack[t.stack.length - 1] === s,
			inStack: (t, s) => t.stack.includes(s)
		});
	}
	static new() {
		return new o$8({ stack: [] });
	}
	reduce(t, s) {
		return u$23(s.type, y$7, t, s);
	}
};
var x$7 = new a$19(() => o$8.new());
//#endregion
//#region node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js
/**
* @license React
* use-sync-external-store-with-selector.development.js
*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var require_use_sync_external_store_with_selector_development = /* @__PURE__ */ __commonJSMin(((exports) => {
	(function() {
		function is(x, y) {
			return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
		}
		"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
		var React = require_react(), objectIs = "function" === typeof Object.is ? Object.is : is, useSyncExternalStore = React.useSyncExternalStore, useRef = React.useRef, useEffect = React.useEffect, useMemo = React.useMemo, useDebugValue = React.useDebugValue;
		exports.useSyncExternalStoreWithSelector = function(subscribe, getSnapshot, getServerSnapshot, selector, isEqual) {
			var instRef = useRef(null);
			if (null === instRef.current) {
				var inst = {
					hasValue: !1,
					value: null
				};
				instRef.current = inst;
			} else inst = instRef.current;
			instRef = useMemo(function() {
				function memoizedSelector(nextSnapshot) {
					if (!hasMemo) {
						hasMemo = !0;
						memoizedSnapshot = nextSnapshot;
						nextSnapshot = selector(nextSnapshot);
						if (void 0 !== isEqual && inst.hasValue) {
							var currentSelection = inst.value;
							if (isEqual(currentSelection, nextSnapshot)) return memoizedSelection = currentSelection;
						}
						return memoizedSelection = nextSnapshot;
					}
					currentSelection = memoizedSelection;
					if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;
					var nextSelection = selector(nextSnapshot);
					if (void 0 !== isEqual && isEqual(currentSelection, nextSelection)) return memoizedSnapshot = nextSnapshot, currentSelection;
					memoizedSnapshot = nextSnapshot;
					return memoizedSelection = nextSelection;
				}
				var hasMemo = !1, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot;
				return [function() {
					return memoizedSelector(getSnapshot());
				}, null === maybeGetServerSnapshot ? void 0 : function() {
					return memoizedSelector(maybeGetServerSnapshot());
				}];
			}, [
				getSnapshot,
				getServerSnapshot,
				selector,
				isEqual
			]);
			var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);
			useEffect(function() {
				inst.hasValue = !0;
				inst.value = value;
			}, [value]);
			useDebugValue(value);
			return value;
		};
		"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
	})();
}));
//#endregion
//#region node_modules/@headlessui/react/dist/react-glue.js
var import_with_selector = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
	module.exports = require_use_sync_external_store_with_selector_development();
})))();
function S$5(e, n, r = j$5) {
	return (0, import_with_selector.useSyncExternalStoreWithSelector)(o$14((i) => e.subscribe(s$11, i)), o$14(() => e.state), o$14(() => e.state), o$14(n), r);
}
function s$11(e) {
	return e;
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-is-top-layer.js
function I$6(o, s) {
	let t = (0, import_react.useId)(), r = x$7.get(s), [i, c] = S$5(r, (0, import_react.useCallback)((e) => [r.selectors.isTop(e, t), r.selectors.inStack(e, t)], [r, t]));
	return n$15(() => {
		if (o) return r.actions.push(t), () => r.actions.pop(t);
	}, [
		r,
		o,
		t
	]), o ? c ? i : !0 : !1;
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-inert-others.js
var f$12 = /* @__PURE__ */ new Map(), u$13 = /* @__PURE__ */ new Map();
function h$9(t) {
	var e;
	let r = (e = u$13.get(t)) != null ? e : 0;
	return u$13.set(t, r + 1), r !== 0 ? () => m$3(t) : (f$12.set(t, {
		"aria-hidden": t.getAttribute("aria-hidden"),
		inert: t.inert
	}), t.setAttribute("aria-hidden", "true"), t.inert = !0, () => m$3(t));
}
function m$3(t) {
	var i;
	let r = (i = u$13.get(t)) != null ? i : 1;
	if (r === 1 ? u$13.delete(t) : u$13.set(t, r - 1), r !== 1) return;
	let e = f$12.get(t);
	e && (e["aria-hidden"] === null ? t.removeAttribute("aria-hidden") : t.setAttribute("aria-hidden", e["aria-hidden"]), t.inert = e.inert, f$12.delete(t));
}
function y$6(t, { allowed: r, disallowed: e } = {}) {
	let i = I$6(t, "inert-others");
	n$15(() => {
		var d, c;
		if (!i) return;
		let a = o$16();
		for (let n of (d = e == null ? void 0 : e()) != null ? d : []) n && a.add(h$9(n));
		let s = (c = r == null ? void 0 : r()) != null ? c : [];
		for (let n of s) {
			if (!n) continue;
			let l = l$16(n);
			if (!l) continue;
			let o = n.parentElement;
			for (; o && o !== l.body;) {
				for (let p of o.children) s.some((E) => p.contains(E)) || a.add(h$9(p));
				o = o.parentElement;
			}
		}
		return a.dispose;
	}, [
		i,
		r,
		e
	]);
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-on-disappear.js
function p$7(s, n, o) {
	let i = s$17((t) => {
		let e = t.getBoundingClientRect();
		e.x === 0 && e.y === 0 && e.width === 0 && e.height === 0 && o();
	});
	(0, import_react.useEffect)(() => {
		if (!s) return;
		let t = n === null ? null : n$11(n) ? n : n.current;
		if (!t) return;
		let e = o$16();
		if (typeof ResizeObserver != "undefined") {
			let r = new ResizeObserver(() => i.current(t));
			r.observe(t), e.add(() => r.disconnect());
		}
		if (typeof IntersectionObserver != "undefined") {
			let r = new IntersectionObserver(() => i.current(t));
			r.observe(t), e.add(() => r.disconnect());
		}
		return () => e.dispose();
	}, [
		n,
		i,
		s
	]);
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/focus-management.js
var E$8 = [
	"[contentEditable=true]",
	"[tabindex]",
	"a[href]",
	"area[href]",
	"button:not([disabled])",
	"iframe",
	"input:not([disabled])",
	"select:not([disabled])",
	"details>summary",
	"textarea:not([disabled])"
].map((e) => `${e}:not([tabindex='-1'])`).join(","), S$4 = ["[data-autofocus]"].map((e) => `${e}:not([tabindex='-1'])`).join(",");
var T$6 = ((o) => (o[o.First = 1] = "First", o[o.Previous = 2] = "Previous", o[o.Next = 4] = "Next", o[o.Last = 8] = "Last", o[o.WrapAround = 16] = "WrapAround", o[o.NoScroll = 32] = "NoScroll", o[o.AutoFocus = 64] = "AutoFocus", o))(T$6 || {}), A$2 = ((n) => (n[n.Error = 0] = "Error", n[n.Overflow = 1] = "Overflow", n[n.Success = 2] = "Success", n[n.Underflow = 3] = "Underflow", n))(A$2 || {}), O$3 = ((t) => (t[t.Previous = -1] = "Previous", t[t.Next = 1] = "Next", t))(O$3 || {});
function x$6(e = document.body) {
	return e == null ? [] : Array.from(e.querySelectorAll(E$8)).sort((r, t) => Math.sign((r.tabIndex || Number.MAX_SAFE_INTEGER) - (t.tabIndex || Number.MAX_SAFE_INTEGER)));
}
function h$8(e = document.body) {
	return e == null ? [] : Array.from(e.querySelectorAll(S$4)).sort((r, t) => Math.sign((r.tabIndex || Number.MAX_SAFE_INTEGER) - (t.tabIndex || Number.MAX_SAFE_INTEGER)));
}
var I$5 = ((t) => (t[t.Strict = 0] = "Strict", t[t.Loose = 1] = "Loose", t))(I$5 || {});
function H$5(e, r = 0) {
	var t;
	return e === ((t = l$16(e)) == null ? void 0 : t.body) ? !1 : u$23(r, {
		[0]() {
			return e.matches(E$8);
		},
		[1]() {
			let l = e;
			for (; l !== null;) {
				if (l.matches(E$8)) return !0;
				l = l.parentElement;
			}
			return !1;
		}
	});
}
function K$1(e) {
	o$16().nextFrame(() => {
		let r = e$7(e);
		r && i$11(r) && !H$5(r, 0) && w$6(e);
	});
}
var g$3 = ((t) => (t[t.Keyboard = 0] = "Keyboard", t[t.Mouse = 1] = "Mouse", t))(g$3 || {});
typeof window != "undefined" && typeof document != "undefined" && (document.addEventListener("keydown", (e) => {
	e.metaKey || e.altKey || e.ctrlKey || (document.documentElement.dataset.headlessuiFocusVisible = "");
}, !0), document.addEventListener("click", (e) => {
	e.detail === 1 ? delete document.documentElement.dataset.headlessuiFocusVisible : e.detail === 0 && (document.documentElement.dataset.headlessuiFocusVisible = "");
}, !0));
function w$6(e) {
	e?.focus({ preventScroll: !0 });
}
var _$6 = ["textarea", "input"].join(",");
function P$3(e) {
	var r, t;
	return (t = (r = e == null ? void 0 : e.matches) == null ? void 0 : r.call(e, _$6)) != null ? t : !1;
}
function G$3(e, r = (t) => t) {
	return e.slice().sort((t, l) => {
		let n = r(t), a = r(l);
		if (n === null || a === null) return 0;
		let u = n.compareDocumentPosition(a);
		return u & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : u & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;
	});
}
function R$4(e, r, t = e === null ? document.body : r$18(e)) {
	return v$5(x$6(t), r, { relativeTo: e });
}
function v$5(e, r, { sorted: t = !0, relativeTo: l = null, skipElements: n = [] } = {}) {
	let a = Array.isArray(e) ? e.length > 0 ? r$18(e[0]) : document : r$18(e), u = Array.isArray(e) ? t ? G$3(e) : e : r & 64 ? h$8(e) : x$6(e);
	n.length > 0 && u.length > 1 && (u = u.filter((i) => !n.some((d) => d != null && "current" in d ? (d == null ? void 0 : d.current) === i : d === i))), l = l != null ? l : a == null ? void 0 : a.activeElement;
	let o = (() => {
		if (r & 5) return 1;
		if (r & 10) return -1;
		throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
	})(), M = (() => {
		if (r & 1) return 0;
		if (r & 2) return Math.max(0, u.indexOf(l)) - 1;
		if (r & 4) return Math.max(0, u.indexOf(l)) + 1;
		if (r & 8) return u.length - 1;
		throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
	})(), N = r & 32 ? { preventScroll: !0 } : {}, m = 0, c = u.length, s;
	do {
		if (m >= c || m + c <= 0) return 0;
		let i = M + m;
		if (r & 16) i = (i + c) % c;
		else {
			if (i < 0) return 3;
			if (i >= c) return 1;
		}
		s = u[i], s?.focus(N), m += o;
	} while (s !== e$7(s));
	return r & 6 && P$3(s) && s.select(), 2;
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/platform.js
function t$6() {
	return /iPhone/gi.test(window.navigator.platform) || /Mac/gi.test(window.navigator.platform) && window.navigator.maxTouchPoints > 0;
}
function i$7() {
	return /Android/gi.test(window.navigator.userAgent);
}
function n$5() {
	return t$6() || i$7();
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-document-event.js
function i$6(t, e, o, n) {
	let u = s$17(o);
	(0, import_react.useEffect)(() => {
		if (!t) return;
		function r(m) {
			u.current(m);
		}
		return document.addEventListener(e, r, n), () => document.removeEventListener(e, r, n);
	}, [
		t,
		e,
		n
	]);
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-window-event.js
function s$10(t, e, o, n) {
	let i = s$17(o);
	(0, import_react.useEffect)(() => {
		if (!t) return;
		function r(d) {
			i.current(d);
		}
		return window.addEventListener(e, r, n), () => window.removeEventListener(e, r, n);
	}, [
		t,
		e,
		n
	]);
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-outside-click.js
var C$4 = 30;
function k$9(o, f, h) {
	let m = s$17(h), s = (0, import_react.useCallback)(function(e, c) {
		if (e.defaultPrevented) return;
		let r = c(e);
		if (r === null || !r.getRootNode().contains(r) || !r.isConnected) return;
		let M = function u(n) {
			return typeof n == "function" ? u(n()) : Array.isArray(n) || n instanceof Set ? n : [n];
		}(f);
		for (let u of M) if (u !== null && (u.contains(r) || e.composed && e.composedPath().includes(u))) return;
		return !H$5(r, I$5.Loose) && r.tabIndex !== -1 && e.preventDefault(), m.current(e, r);
	}, [m, f]), i = (0, import_react.useRef)(null);
	i$6(o, "pointerdown", (t) => {
		var e, c;
		n$5() || (i.current = ((c = (e = t.composedPath) == null ? void 0 : e.call(t)) == null ? void 0 : c[0]) || t.target);
	}, !0), i$6(o, "pointerup", (t) => {
		if (n$5() || !i.current) return;
		let e = i.current;
		return i.current = null, s(t, () => e);
	}, !0);
	let l = (0, import_react.useRef)({
		x: 0,
		y: 0
	});
	i$6(o, "touchstart", (t) => {
		l.current.x = t.touches[0].clientX, l.current.y = t.touches[0].clientY;
	}, !0), i$6(o, "touchend", (t) => {
		let e = {
			x: t.changedTouches[0].clientX,
			y: t.changedTouches[0].clientY
		};
		if (!(Math.abs(e.x - l.current.x) >= C$4 || Math.abs(e.y - l.current.y) >= C$4)) return s(t, () => i$11(t.target) ? t.target : null);
	}, !0), s$10(o, "blur", (t) => s(t, () => u$19(window.document.activeElement) ? window.document.activeElement : null), !0);
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-owner.js
function u$12(...e) {
	return (0, import_react.useMemo)(() => l$16(...e), [...e]);
}
function c$14(...e) {
	return (0, import_react.useMemo)(() => r$18(...e), [...e]);
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-quick-release.js
var H$4 = ((e) => (e[e.Ignore = 0] = "Ignore", e[e.Select = 1] = "Select", e[e.Close = 2] = "Close", e))(H$4 || {});
var S$3 = {
	Ignore: { kind: 0 },
	Select: (r) => ({
		kind: 1,
		target: r
	}),
	Close: { kind: 2 }
}, M$8 = 200, f$11 = 5;
function L$3(r, { trigger: n, action: T, close: e, select: p }) {
	let l = (0, import_react.useRef)(null), i = (0, import_react.useRef)(null), u = (0, import_react.useRef)(null);
	i$6(r && n !== null, "pointerdown", (t) => {
		o$11(t == null ? void 0 : t.target) && n != null && n.contains(t.target) && (i.current = t.x, u.current = t.y, l.current = t.timeStamp);
	}), i$6(r && n !== null, "pointerup", (t) => {
		var s, m;
		let c = l.current;
		if (c === null || (l.current = null, !i$11(t.target)) || Math.abs(t.x - ((s = i.current) != null ? s : t.x)) < f$11 && Math.abs(t.y - ((m = u.current) != null ? m : t.y)) < f$11) return;
		let a = T(t);
		switch (a.kind) {
			case 0: return;
			case 1:
				t.timeStamp - c > M$8 && (p(a.target), e());
				break;
			case 2:
				e();
				break;
		}
	}, { capture: !0 });
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-event-listener.js
function E$6(n, e, a, t) {
	let i = s$17(a);
	(0, import_react.useEffect)(() => {
		n = n != null ? n : window;
		function r(o) {
			i.current(o);
		}
		return n.addEventListener(e, r, t), () => n.removeEventListener(e, r, t);
	}, [
		n,
		e,
		t
	]);
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-refocusable-input.js
function v$4(e) {
	let l = (0, import_react.useRef)({
		value: "",
		selectionStart: null,
		selectionEnd: null
	});
	return E$6(e, "blur", (n) => {
		let t = n.target;
		l$12(t) && (l.current = {
			value: t.value,
			selectionStart: t.selectionStart,
			selectionEnd: t.selectionEnd
		});
	}), o$14(() => {
		if (!d$11(e) && l$12(e) && e.isConnected) {
			if (e.focus({ preventScroll: !0 }), e.value !== l.current.value) e.setSelectionRange(e.value.length, e.value.length);
			else {
				let { selectionStart: n, selectionEnd: t } = l.current;
				n !== null && t !== null && e.setSelectionRange(n, t);
			}
			l.current = {
				value: "",
				selectionStart: null,
				selectionEnd: null
			};
		}
	});
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js
function e$3(t, u) {
	return (0, import_react.useMemo)(() => {
		var n;
		if (t.type) return t.type;
		let r = (n = t.as) != null ? n : "button";
		if (typeof r == "string" && r.toLowerCase() === "button" || (u == null ? void 0 : u.tagName) === "BUTTON" && !u.hasAttribute("type")) return "button";
	}, [
		t.type,
		t.as,
		u
	]);
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-store.js
function o$5(t) {
	return (0, import_react.useSyncExternalStore)(t.subscribe, t.getSnapshot, t.getSnapshot);
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/store.js
function a$13(o, r) {
	let t = o(), n = /* @__PURE__ */ new Set();
	return {
		getSnapshot() {
			return t;
		},
		subscribe(e) {
			return n.add(e), () => n.delete(e);
		},
		dispatch(e, ...s) {
			let i = r[e].call(t, ...s);
			i && (t = i, n.forEach((c) => c()));
		}
	};
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/document-overflow/adjust-scrollbar-padding.js
function d$7() {
	let r;
	return {
		before({ doc: e }) {
			var l;
			let o = e.documentElement, t = (l = e.defaultView) != null ? l : window;
			r = Math.max(0, t.innerWidth - o.clientWidth);
		},
		after({ doc: e, d: o }) {
			let t = e.documentElement, l = Math.max(0, t.clientWidth - t.offsetWidth), n = Math.max(0, r - l);
			o.style(t, "paddingRight", `${n}px`);
		}
	};
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/document-overflow/handle-ios-locking.js
function w$5() {
	return t$6() ? { before({ doc: o, d: r, meta: m }) {
		function a(s) {
			for (let l of m().containers) for (let c of l()) if (c.contains(s)) return !0;
			return !1;
		}
		r.microTask(() => {
			var c;
			if (window.getComputedStyle(o.documentElement).scrollBehavior !== "auto") {
				let t = o$16();
				t.style(o.documentElement, "scrollBehavior", "auto"), r.add(() => r.microTask(() => t.dispose()));
			}
			let s = (c = window.scrollY) != null ? c : window.pageYOffset, l = null;
			r.addEventListener(o, "click", (t) => {
				if (i$11(t.target)) try {
					let e = t.target.closest("a");
					if (!e) return;
					let { hash: n } = new URL(e.href), f = o.querySelector(n);
					i$11(f) && !a(f) && (l = f);
				} catch {}
			}, !0), r.group((t) => {
				r.addEventListener(o, "touchstart", (e) => {
					if (t.dispose(), i$11(e.target) && r$14(e.target)) if (a(e.target)) {
						let n = e.target;
						for (; n.parentElement && a(n.parentElement);) n = n.parentElement;
						t.style(n, "overscrollBehavior", "contain");
					} else t.style(e.target, "touchAction", "none");
				});
			}), r.addEventListener(o, "touchmove", (t) => {
				if (i$11(t.target)) {
					if (l$12(t.target)) return;
					if (a(t.target)) {
						let e = t.target;
						for (; e.parentElement && e.dataset.headlessuiPortal !== "" && !(e.scrollHeight > e.clientHeight || e.scrollWidth > e.clientWidth);) e = e.parentElement;
						e.dataset.headlessuiPortal === "" && t.preventDefault();
					} else t.preventDefault();
				}
			}, { passive: !1 }), r.add(() => {
				var e;
				s !== ((e = window.scrollY) != null ? e : window.pageYOffset) && window.scrollTo(0, s), l && l.isConnected && (l.scrollIntoView({ block: "nearest" }), l = null);
			});
		});
	} } : {};
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/document-overflow/prevent-scroll.js
function r$10() {
	return { before({ doc: e, d: o }) {
		o.style(e.documentElement, "overflow", "hidden");
	} };
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/document-overflow/overflow-store.js
function r$9(e) {
	let o = {};
	for (let t of e) Object.assign(o, t(o));
	return o;
}
var c$13 = a$13(() => /* @__PURE__ */ new Map(), {
	PUSH(e, o) {
		var n;
		let t = (n = this.get(e)) != null ? n : {
			doc: e,
			count: 0,
			d: o$16(),
			meta: /* @__PURE__ */ new Set(),
			computedMeta: {}
		};
		return t.count++, t.meta.add(o), t.computedMeta = r$9(t.meta), this.set(e, t), this;
	},
	POP(e, o) {
		let t = this.get(e);
		return t && (t.count--, t.meta.delete(o), t.computedMeta = r$9(t.meta)), this;
	},
	SCROLL_PREVENT(e) {
		let o = {
			doc: e.doc,
			d: e.d,
			meta() {
				return e.computedMeta;
			}
		}, t = [
			w$5(),
			d$7(),
			r$10()
		];
		t.forEach(({ before: n }) => n == null ? void 0 : n(o)), t.forEach(({ after: n }) => n == null ? void 0 : n(o));
	},
	SCROLL_ALLOW({ d: e }) {
		e.dispose();
	},
	TEARDOWN({ doc: e }) {
		this.delete(e);
	}
});
c$13.subscribe(() => {
	let e = c$13.getSnapshot(), o = /* @__PURE__ */ new Map();
	for (let [t] of e) o.set(t, t.documentElement.style.overflow);
	for (let t of e.values()) {
		let n = o.get(t.doc) === "hidden", a = t.count !== 0;
		(a && !n || !a && n) && c$13.dispatch(t.count > 0 ? "SCROLL_PREVENT" : "SCROLL_ALLOW", t), t.count === 0 && c$13.dispatch("TEARDOWN", t);
	}
});
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/document-overflow/use-document-overflow.js
function a$12(r, e, n = () => ({ containers: [] })) {
	let f = o$5(c$13), o = e ? f.get(e) : void 0, i = o ? o.count > 0 : !1;
	return n$15(() => {
		if (!(!e || !r)) return c$13.dispatch("PUSH", e, n), () => c$13.dispatch("POP", e, n);
	}, [r, e]), i;
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-scroll-lock.js
function f$10(e, c, n = () => [document.body]) {
	a$12(I$6(e, "scroll-lock"), c, (t) => {
		var o;
		return { containers: [...(o = t.containers) != null ? o : [], n] };
	});
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-tracked-pointer.js
function t$5(e) {
	return [e.screenX, e.screenY];
}
function u$10() {
	let e = (0, import_react.useRef)([-1, -1]);
	return {
		wasMoved(r) {
			let n = t$5(r);
			return e.current[0] === n[0] && e.current[1] === n[1] ? !1 : (e.current = n, !0);
		},
		update(r) {
			e.current = t$5(r);
		}
	};
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-flags.js
function c$12(u = 0) {
	let [r, a] = (0, import_react.useState)(u);
	return {
		flags: r,
		setFlag: (0, import_react.useCallback)((e) => a(e), []),
		addFlag: (0, import_react.useCallback)((e) => a((l) => l | e), []),
		hasFlag: (0, import_react.useCallback)((e) => (r & e) === e, [r]),
		removeFlag: (0, import_react.useCallback)((e) => a((l) => l & ~e), []),
		toggleFlag: (0, import_react.useCallback)((e) => a((l) => l ^ e), [])
	};
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-transition.js
var T$4, S$2;
typeof process != "undefined" && typeof globalThis != "undefined" && typeof Element != "undefined" && ((T$4 = process == null ? void 0 : process.env) == null ? void 0 : T$4["NODE_ENV"]) === "test" && typeof ((S$2 = Element == null ? void 0 : Element.prototype) == null ? void 0 : S$2.getAnimations) == "undefined" && (Element.prototype.getAnimations = function() {
	return console.warn([
		"Headless UI has polyfilled `Element.prototype.getAnimations` for your tests.",
		"Please install a proper polyfill e.g. `jsdom-testing-mocks`, to silence these warnings.",
		"",
		"Example usage:",
		"```js",
		"import { mockAnimationsApi } from 'jsdom-testing-mocks'",
		"mockAnimationsApi()",
		"```"
	].join(`
`)), [];
});
var A$1 = ((i) => (i[i.None = 0] = "None", i[i.Closed = 1] = "Closed", i[i.Enter = 2] = "Enter", i[i.Leave = 4] = "Leave", i))(A$1 || {});
function x$5(e) {
	let r = {};
	for (let t in e) e[t] === !0 && (r[`data-${t}`] = "");
	return r;
}
function N$1(e, r, t, n) {
	let [i, a] = (0, import_react.useState)(t), { hasFlag: s, addFlag: o, removeFlag: l } = c$12(e && i ? 3 : 0), u = (0, import_react.useRef)(!1), f = (0, import_react.useRef)(!1);
	return n$15(() => {
		var d;
		if (e) {
			if (t && a(!0), !r) {
				t && o(3);
				return;
			}
			return (d = n == null ? void 0 : n.start) == null || d.call(n, t), C$3(r, {
				inFlight: u,
				prepare() {
					f.current ? f.current = !1 : f.current = u.current, u.current = !0, !f.current && (t ? (o(3), l(4)) : (o(4), l(2)));
				},
				run() {
					f.current ? t ? (l(3), o(4)) : (l(4), o(3)) : t ? l(1) : o(1);
				},
				done() {
					var p;
					f.current && D$7(r) || (u.current = !1, l(7), t || a(!1), (p = n == null ? void 0 : n.end) == null || p.call(n, t));
				}
			});
		}
	}, [
		e,
		t,
		r,
		p$11()
	]), e ? [i, {
		closed: s(1),
		enter: s(2),
		leave: s(4),
		transition: s(2) || s(4)
	}] : [t, {
		closed: void 0,
		enter: void 0,
		leave: void 0,
		transition: void 0
	}];
}
function C$3(e, { prepare: r, run: t, done: n, inFlight: i }) {
	let a = o$16();
	return j$4(e, {
		prepare: r,
		inFlight: i
	}), a.nextFrame(() => {
		t(), a.requestAnimationFrame(() => {
			a.add(M$7(e, n));
		});
	}), a.dispose;
}
function M$7(e, r) {
	var a, s;
	let t = o$16();
	if (!e) return t.dispose;
	let n = !1;
	t.add(() => {
		n = !0;
	});
	let i = (s = (a = e.getAnimations) == null ? void 0 : a.call(e).filter((o) => o instanceof CSSTransition)) != null ? s : [];
	return i.length === 0 ? (r(), t.dispose) : (Promise.allSettled(i.map((o) => o.finished)).then(() => {
		n || r();
	}), t.dispose);
}
function j$4(e, { inFlight: r, prepare: t }) {
	if (r != null && r.current) {
		t();
		return;
	}
	let n = e.style.transition;
	e.style.transition = "none", t(), e.offsetHeight, e.style.transition = n;
}
function D$7(e) {
	var t, n;
	return ((n = (t = e.getAnimations) == null ? void 0 : t.call(e)) != null ? n : []).some((i) => i instanceof CSSTransition && i.playState !== "finished");
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-tree-walker.js
function F$4(c, { container: e, accept: t, walk: r }) {
	let o = (0, import_react.useRef)(t), l = (0, import_react.useRef)(r);
	(0, import_react.useEffect)(() => {
		o.current = t, l.current = r;
	}, [t, r]), n$15(() => {
		if (!e || !c) return;
		let n = l$16(e);
		if (!n) return;
		let f = o.current, p = l.current, i = Object.assign((m) => f(m), { acceptNode: f }), u = n.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, i, !1);
		for (; u.nextNode();) p(u.currentNode);
	}, [
		e,
		c,
		o,
		l
	]);
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-watch.js
function m$2(u, t) {
	let e = (0, import_react.useRef)([]), r = o$14(u);
	(0, import_react.useEffect)(() => {
		let o = [...e.current];
		for (let [a, l] of t.entries()) if (e.current[a] !== l) {
			let n = r(t, o);
			return e.current = t, n;
		}
	}, [r, ...t]);
}
//#endregion
//#region node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
function hasWindow() {
	return typeof window !== "undefined";
}
function getNodeName(node) {
	if (isNode(node)) return (node.nodeName || "").toLowerCase();
	return "#document";
}
function getWindow(node) {
	var _node$ownerDocument;
	return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
}
function getDocumentElement(node) {
	var _ref;
	return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
}
function isNode(value) {
	if (!hasWindow()) return false;
	return value instanceof Node || value instanceof getWindow(value).Node;
}
function isElement(value) {
	if (!hasWindow()) return false;
	return value instanceof Element || value instanceof getWindow(value).Element;
}
function isHTMLElement(value) {
	if (!hasWindow()) return false;
	return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
}
function isShadowRoot(value) {
	if (!hasWindow() || typeof ShadowRoot === "undefined") return false;
	return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
}
function isOverflowElement(element) {
	const { overflow, overflowX, overflowY, display } = getComputedStyle$1(element);
	return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
}
function isTableElement(element) {
	return /^(table|td|th)$/.test(getNodeName(element));
}
function isTopLayer(element) {
	try {
		if (element.matches(":popover-open")) return true;
	} catch (_e) {}
	try {
		return element.matches(":modal");
	} catch (_e) {
		return false;
	}
}
var willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
var containRe = /paint|layout|strict|content/;
var isNotNone = (value) => !!value && value !== "none";
var isWebKitValue;
function isContainingBlock(elementOrCss) {
	const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
	return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || "") || containRe.test(css.contain || "");
}
function getContainingBlock(element) {
	let currentNode = getParentNode(element);
	while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
		if (isContainingBlock(currentNode)) return currentNode;
		else if (isTopLayer(currentNode)) return null;
		currentNode = getParentNode(currentNode);
	}
	return null;
}
function isWebKit() {
	if (isWebKitValue == null) isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
	return isWebKitValue;
}
function isLastTraversableNode(node) {
	return /^(html|body|#document)$/.test(getNodeName(node));
}
function getComputedStyle$1(element) {
	return getWindow(element).getComputedStyle(element);
}
function getNodeScroll(element) {
	if (isElement(element)) return {
		scrollLeft: element.scrollLeft,
		scrollTop: element.scrollTop
	};
	return {
		scrollLeft: element.scrollX,
		scrollTop: element.scrollY
	};
}
function getParentNode(node) {
	if (getNodeName(node) === "html") return node;
	const result = node.assignedSlot || node.parentNode || isShadowRoot(node) && node.host || getDocumentElement(node);
	return isShadowRoot(result) ? result.host : result;
}
function getNearestOverflowAncestor(node) {
	const parentNode = getParentNode(node);
	if (isLastTraversableNode(parentNode)) return node.ownerDocument ? node.ownerDocument.body : node.body;
	if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) return parentNode;
	return getNearestOverflowAncestor(parentNode);
}
function getOverflowAncestors(node, list, traverseIframes) {
	var _node$ownerDocument2;
	if (list === void 0) list = [];
	if (traverseIframes === void 0) traverseIframes = true;
	const scrollableAncestor = getNearestOverflowAncestor(node);
	const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
	const win = getWindow(scrollableAncestor);
	if (isBody) {
		const frameElement = getFrameElement(win);
		return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
	} else return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
}
function getFrameElement(win) {
	return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
}
//#endregion
//#region node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs
function getUserAgent() {
	const uaData = navigator.userAgentData;
	if (uaData && Array.isArray(uaData.brands)) return uaData.brands.map((_ref) => {
		let { brand, version } = _ref;
		return brand + "/" + version;
	}).join(" ");
	return navigator.userAgent;
}
//#endregion
//#region node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
var min = Math.min;
var max = Math.max;
var round = Math.round;
var floor = Math.floor;
var createCoords = (v) => ({
	x: v,
	y: v
});
var oppositeSideMap = {
	left: "right",
	right: "left",
	bottom: "top",
	top: "bottom"
};
function clamp(start, value, end) {
	return max(start, min(value, end));
}
function evaluate(value, param) {
	return typeof value === "function" ? value(param) : value;
}
function getSide(placement) {
	return placement.split("-")[0];
}
function getAlignment(placement) {
	return placement.split("-")[1];
}
function getOppositeAxis(axis) {
	return axis === "x" ? "y" : "x";
}
function getAxisLength(axis) {
	return axis === "y" ? "height" : "width";
}
function getSideAxis(placement) {
	const firstChar = placement[0];
	return firstChar === "t" || firstChar === "b" ? "y" : "x";
}
function getAlignmentAxis(placement) {
	return getOppositeAxis(getSideAxis(placement));
}
function getAlignmentSides(placement, rects, rtl) {
	if (rtl === void 0) rtl = false;
	const alignment = getAlignment(placement);
	const alignmentAxis = getAlignmentAxis(placement);
	const length = getAxisLength(alignmentAxis);
	let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top";
	if (rects.reference[length] > rects.floating[length]) mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
	return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];
}
function getExpandedPlacements(placement) {
	const oppositePlacement = getOppositePlacement(placement);
	return [
		getOppositeAlignmentPlacement(placement),
		oppositePlacement,
		getOppositeAlignmentPlacement(oppositePlacement)
	];
}
function getOppositeAlignmentPlacement(placement) {
	return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start");
}
var lrPlacement = ["left", "right"];
var rlPlacement = ["right", "left"];
var tbPlacement = ["top", "bottom"];
var btPlacement = ["bottom", "top"];
function getSideList(side, isStart, rtl) {
	switch (side) {
		case "top":
		case "bottom":
			if (rtl) return isStart ? rlPlacement : lrPlacement;
			return isStart ? lrPlacement : rlPlacement;
		case "left":
		case "right": return isStart ? tbPlacement : btPlacement;
		default: return [];
	}
}
function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
	const alignment = getAlignment(placement);
	let list = getSideList(getSide(placement), direction === "start", rtl);
	if (alignment) {
		list = list.map((side) => side + "-" + alignment);
		if (flipAlignment) list = list.concat(list.map(getOppositeAlignmentPlacement));
	}
	return list;
}
function getOppositePlacement(placement) {
	const side = getSide(placement);
	return oppositeSideMap[side] + placement.slice(side.length);
}
function expandPaddingObject(padding) {
	return {
		top: 0,
		right: 0,
		bottom: 0,
		left: 0,
		...padding
	};
}
function getPaddingObject(padding) {
	return typeof padding !== "number" ? expandPaddingObject(padding) : {
		top: padding,
		right: padding,
		bottom: padding,
		left: padding
	};
}
function rectToClientRect(rect) {
	const { x, y, width, height } = rect;
	return {
		width,
		height,
		top: y,
		left: x,
		right: x + width,
		bottom: y + height,
		x,
		y
	};
}
//#endregion
//#region node_modules/tabbable/dist/index.esm.js
/*!
* tabbable 6.4.0
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
*/
var NoElement = typeof Element === "undefined";
NoElement || Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
!NoElement && Element.prototype.getRootNode;
//#endregion
//#region node_modules/@floating-ui/core/dist/floating-ui.core.mjs
function computeCoordsFromPlacement(_ref, placement, rtl) {
	let { reference, floating } = _ref;
	const sideAxis = getSideAxis(placement);
	const alignmentAxis = getAlignmentAxis(placement);
	const alignLength = getAxisLength(alignmentAxis);
	const side = getSide(placement);
	const isVertical = sideAxis === "y";
	const commonX = reference.x + reference.width / 2 - floating.width / 2;
	const commonY = reference.y + reference.height / 2 - floating.height / 2;
	const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
	let coords;
	switch (side) {
		case "top":
			coords = {
				x: commonX,
				y: reference.y - floating.height
			};
			break;
		case "bottom":
			coords = {
				x: commonX,
				y: reference.y + reference.height
			};
			break;
		case "right":
			coords = {
				x: reference.x + reference.width,
				y: commonY
			};
			break;
		case "left":
			coords = {
				x: reference.x - floating.width,
				y: commonY
			};
			break;
		default: coords = {
			x: reference.x,
			y: reference.y
		};
	}
	switch (getAlignment(placement)) {
		case "start":
			coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);
			break;
		case "end":
			coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
			break;
	}
	return coords;
}
/**
* Resolves with an object of overflow side offsets that determine how much the
* element is overflowing a given clipping boundary on each side.
* - positive = overflowing the boundary by that number of pixels
* - negative = how many pixels left before it will overflow
* - 0 = lies flush with the boundary
* @see https://floating-ui.com/docs/detectOverflow
*/
async function detectOverflow$1(state, options) {
	var _await$platform$isEle;
	if (options === void 0) options = {};
	const { x, y, platform, rects, elements, strategy } = state;
	const { boundary = "clippingAncestors", rootBoundary = "viewport", elementContext = "floating", altBoundary = false, padding = 0 } = evaluate(options, state);
	const paddingObject = getPaddingObject(padding);
	const element = elements[altBoundary ? elementContext === "floating" ? "reference" : "floating" : elementContext];
	const clippingClientRect = rectToClientRect(await platform.getClippingRect({
		element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating)),
		boundary,
		rootBoundary,
		strategy
	}));
	const rect = elementContext === "floating" ? {
		x,
		y,
		width: rects.floating.width,
		height: rects.floating.height
	} : rects.reference;
	const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
	const offsetScale = await (platform.isElement == null ? void 0 : platform.isElement(offsetParent)) ? await (platform.getScale == null ? void 0 : platform.getScale(offsetParent)) || {
		x: 1,
		y: 1
	} : {
		x: 1,
		y: 1
	};
	const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
		elements,
		rect,
		offsetParent,
		strategy
	}) : rect);
	return {
		top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
		bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
		left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
		right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
	};
}
var MAX_RESET_COUNT = 50;
/**
* Computes the `x` and `y` coordinates that will place the floating element
* next to a given reference element.
*
* This export does not have any `platform` interface logic. You will need to
* write one for the platform you are using Floating UI with.
*/
var computePosition$1 = async (reference, floating, config) => {
	const { placement = "bottom", strategy = "absolute", middleware = [], platform } = config;
	const platformWithDetectOverflow = platform.detectOverflow ? platform : {
		...platform,
		detectOverflow: detectOverflow$1
	};
	const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
	let rects = await platform.getElementRects({
		reference,
		floating,
		strategy
	});
	let { x, y } = computeCoordsFromPlacement(rects, placement, rtl);
	let statefulPlacement = placement;
	let resetCount = 0;
	const middlewareData = {};
	for (let i = 0; i < middleware.length; i++) {
		const currentMiddleware = middleware[i];
		if (!currentMiddleware) continue;
		const { name, fn } = currentMiddleware;
		const { x: nextX, y: nextY, data, reset } = await fn({
			x,
			y,
			initialPlacement: placement,
			placement: statefulPlacement,
			strategy,
			middlewareData,
			rects,
			platform: platformWithDetectOverflow,
			elements: {
				reference,
				floating
			}
		});
		x = nextX != null ? nextX : x;
		y = nextY != null ? nextY : y;
		middlewareData[name] = {
			...middlewareData[name],
			...data
		};
		if (reset && resetCount < MAX_RESET_COUNT) {
			resetCount++;
			if (typeof reset === "object") {
				if (reset.placement) statefulPlacement = reset.placement;
				if (reset.rects) rects = reset.rects === true ? await platform.getElementRects({
					reference,
					floating,
					strategy
				}) : reset.rects;
				({x, y} = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
			}
			i = -1;
		}
	}
	return {
		x,
		y,
		placement: statefulPlacement,
		strategy,
		middlewareData
	};
};
/**
* Optimizes the visibility of the floating element by flipping the `placement`
* in order to keep it in view when the preferred placement(s) will overflow the
* clipping boundary. Alternative to `autoPlacement`.
* @see https://floating-ui.com/docs/flip
*/
var flip$2 = function(options) {
	if (options === void 0) options = {};
	return {
		name: "flip",
		options,
		async fn(state) {
			var _middlewareData$arrow, _middlewareData$flip;
			const { placement, middlewareData, rects, initialPlacement, platform, elements } = state;
			const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = true, fallbackPlacements: specifiedFallbackPlacements, fallbackStrategy = "bestFit", fallbackAxisSideDirection = "none", flipAlignment = true, ...detectOverflowOptions } = evaluate(options, state);
			if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) return {};
			const side = getSide(placement);
			const initialSideAxis = getSideAxis(initialPlacement);
			const isBasePlacement = getSide(initialPlacement) === initialPlacement;
			const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
			const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
			const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== "none";
			if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
			const placements = [initialPlacement, ...fallbackPlacements];
			const overflow = await platform.detectOverflow(state, detectOverflowOptions);
			const overflows = [];
			let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
			if (checkMainAxis) overflows.push(overflow[side]);
			if (checkCrossAxis) {
				const sides = getAlignmentSides(placement, rects, rtl);
				overflows.push(overflow[sides[0]], overflow[sides[1]]);
			}
			overflowsData = [...overflowsData, {
				placement,
				overflows
			}];
			if (!overflows.every((side) => side <= 0)) {
				var _middlewareData$flip2, _overflowsData$filter;
				const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
				const nextPlacement = placements[nextIndex];
				if (nextPlacement) {
					if (!(checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false) || overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) return {
						data: {
							index: nextIndex,
							overflows: overflowsData
						},
						reset: { placement: nextPlacement }
					};
				}
				let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;
				if (!resetPlacement) switch (fallbackStrategy) {
					case "bestFit": {
						var _overflowsData$filter2;
						const placement = (_overflowsData$filter2 = overflowsData.filter((d) => {
							if (hasFallbackAxisSideDirection) {
								const currentSideAxis = getSideAxis(d.placement);
								return currentSideAxis === initialSideAxis || currentSideAxis === "y";
							}
							return true;
						}).map((d) => [d.placement, d.overflows.filter((overflow) => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];
						if (placement) resetPlacement = placement;
						break;
					}
					case "initialPlacement":
						resetPlacement = initialPlacement;
						break;
				}
				if (placement !== resetPlacement) return { reset: { placement: resetPlacement } };
			}
			return {};
		}
	};
};
var originSides = /* @__PURE__ */ new Set(["left", "top"]);
async function convertValueToCoords(state, options) {
	const { placement, platform, elements } = state;
	const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
	const side = getSide(placement);
	const alignment = getAlignment(placement);
	const isVertical = getSideAxis(placement) === "y";
	const mainAxisMulti = originSides.has(side) ? -1 : 1;
	const crossAxisMulti = rtl && isVertical ? -1 : 1;
	const rawValue = evaluate(options, state);
	let { mainAxis, crossAxis, alignmentAxis } = typeof rawValue === "number" ? {
		mainAxis: rawValue,
		crossAxis: 0,
		alignmentAxis: null
	} : {
		mainAxis: rawValue.mainAxis || 0,
		crossAxis: rawValue.crossAxis || 0,
		alignmentAxis: rawValue.alignmentAxis
	};
	if (alignment && typeof alignmentAxis === "number") crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis;
	return isVertical ? {
		x: crossAxis * crossAxisMulti,
		y: mainAxis * mainAxisMulti
	} : {
		x: mainAxis * mainAxisMulti,
		y: crossAxis * crossAxisMulti
	};
}
/**
* Modifies the placement by translating the floating element along the
* specified axes.
* A number (shorthand for `mainAxis` or distance), or an axes configuration
* object may be passed.
* @see https://floating-ui.com/docs/offset
*/
var offset$2 = function(options) {
	if (options === void 0) options = 0;
	return {
		name: "offset",
		options,
		async fn(state) {
			var _middlewareData$offse, _middlewareData$arrow;
			const { x, y, placement, middlewareData } = state;
			const diffCoords = await convertValueToCoords(state, options);
			if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) return {};
			return {
				x: x + diffCoords.x,
				y: y + diffCoords.y,
				data: {
					...diffCoords,
					placement
				}
			};
		}
	};
};
/**
* Optimizes the visibility of the floating element by shifting it in order to
* keep it in view when it will overflow the clipping boundary.
* @see https://floating-ui.com/docs/shift
*/
var shift$2 = function(options) {
	if (options === void 0) options = {};
	return {
		name: "shift",
		options,
		async fn(state) {
			const { x, y, placement, platform } = state;
			const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = false, limiter = { fn: (_ref) => {
				let { x, y } = _ref;
				return {
					x,
					y
				};
			} }, ...detectOverflowOptions } = evaluate(options, state);
			const coords = {
				x,
				y
			};
			const overflow = await platform.detectOverflow(state, detectOverflowOptions);
			const crossAxis = getSideAxis(getSide(placement));
			const mainAxis = getOppositeAxis(crossAxis);
			let mainAxisCoord = coords[mainAxis];
			let crossAxisCoord = coords[crossAxis];
			if (checkMainAxis) {
				const minSide = mainAxis === "y" ? "top" : "left";
				const maxSide = mainAxis === "y" ? "bottom" : "right";
				const min = mainAxisCoord + overflow[minSide];
				const max = mainAxisCoord - overflow[maxSide];
				mainAxisCoord = clamp(min, mainAxisCoord, max);
			}
			if (checkCrossAxis) {
				const minSide = crossAxis === "y" ? "top" : "left";
				const maxSide = crossAxis === "y" ? "bottom" : "right";
				const min = crossAxisCoord + overflow[minSide];
				const max = crossAxisCoord - overflow[maxSide];
				crossAxisCoord = clamp(min, crossAxisCoord, max);
			}
			const limitedCoords = limiter.fn({
				...state,
				[mainAxis]: mainAxisCoord,
				[crossAxis]: crossAxisCoord
			});
			return {
				...limitedCoords,
				data: {
					x: limitedCoords.x - x,
					y: limitedCoords.y - y,
					enabled: {
						[mainAxis]: checkMainAxis,
						[crossAxis]: checkCrossAxis
					}
				}
			};
		}
	};
};
/**
* Provides data that allows you to change the size of the floating element —
* for instance, prevent it from overflowing the clipping boundary or match the
* width of the reference element.
* @see https://floating-ui.com/docs/size
*/
var size$2 = function(options) {
	if (options === void 0) options = {};
	return {
		name: "size",
		options,
		async fn(state) {
			var _state$middlewareData, _state$middlewareData2;
			const { placement, rects, platform, elements } = state;
			const { apply = () => {}, ...detectOverflowOptions } = evaluate(options, state);
			const overflow = await platform.detectOverflow(state, detectOverflowOptions);
			const side = getSide(placement);
			const alignment = getAlignment(placement);
			const isYAxis = getSideAxis(placement) === "y";
			const { width, height } = rects.floating;
			let heightSide;
			let widthSide;
			if (side === "top" || side === "bottom") {
				heightSide = side;
				widthSide = alignment === (await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)) ? "start" : "end") ? "left" : "right";
			} else {
				widthSide = side;
				heightSide = alignment === "end" ? "top" : "bottom";
			}
			const maximumClippingHeight = height - overflow.top - overflow.bottom;
			const maximumClippingWidth = width - overflow.left - overflow.right;
			const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
			const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
			const noShift = !state.middlewareData.shift;
			let availableHeight = overflowAvailableHeight;
			let availableWidth = overflowAvailableWidth;
			if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) availableWidth = maximumClippingWidth;
			if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) availableHeight = maximumClippingHeight;
			if (noShift && !alignment) {
				const xMin = max(overflow.left, 0);
				const xMax = max(overflow.right, 0);
				const yMin = max(overflow.top, 0);
				const yMax = max(overflow.bottom, 0);
				if (isYAxis) availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));
				else availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
			}
			await apply({
				...state,
				availableWidth,
				availableHeight
			});
			const nextDimensions = await platform.getDimensions(elements.floating);
			if (width !== nextDimensions.width || height !== nextDimensions.height) return { reset: { rects: true } };
			return {};
		}
	};
};
//#endregion
//#region node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
function getCssDimensions(element) {
	const css = getComputedStyle$1(element);
	let width = parseFloat(css.width) || 0;
	let height = parseFloat(css.height) || 0;
	const hasOffset = isHTMLElement(element);
	const offsetWidth = hasOffset ? element.offsetWidth : width;
	const offsetHeight = hasOffset ? element.offsetHeight : height;
	const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
	if (shouldFallback) {
		width = offsetWidth;
		height = offsetHeight;
	}
	return {
		width,
		height,
		$: shouldFallback
	};
}
function unwrapElement(element) {
	return !isElement(element) ? element.contextElement : element;
}
function getScale(element) {
	const domElement = unwrapElement(element);
	if (!isHTMLElement(domElement)) return createCoords(1);
	const rect = domElement.getBoundingClientRect();
	const { width, height, $ } = getCssDimensions(domElement);
	let x = ($ ? round(rect.width) : rect.width) / width;
	let y = ($ ? round(rect.height) : rect.height) / height;
	if (!x || !Number.isFinite(x)) x = 1;
	if (!y || !Number.isFinite(y)) y = 1;
	return {
		x,
		y
	};
}
var noOffsets = /* @__PURE__ */ createCoords(0);
function getVisualOffsets(element) {
	const win = getWindow(element);
	if (!isWebKit() || !win.visualViewport) return noOffsets;
	return {
		x: win.visualViewport.offsetLeft,
		y: win.visualViewport.offsetTop
	};
}
function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
	if (isFixed === void 0) isFixed = false;
	if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) return false;
	return isFixed;
}
function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
	if (includeScale === void 0) includeScale = false;
	if (isFixedStrategy === void 0) isFixedStrategy = false;
	const clientRect = element.getBoundingClientRect();
	const domElement = unwrapElement(element);
	let scale = createCoords(1);
	if (includeScale) if (offsetParent) {
		if (isElement(offsetParent)) scale = getScale(offsetParent);
	} else scale = getScale(element);
	const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
	let x = (clientRect.left + visualOffsets.x) / scale.x;
	let y = (clientRect.top + visualOffsets.y) / scale.y;
	let width = clientRect.width / scale.x;
	let height = clientRect.height / scale.y;
	if (domElement) {
		const win = getWindow(domElement);
		const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
		let currentWin = win;
		let currentIFrame = getFrameElement(currentWin);
		while (currentIFrame && offsetParent && offsetWin !== currentWin) {
			const iframeScale = getScale(currentIFrame);
			const iframeRect = currentIFrame.getBoundingClientRect();
			const css = getComputedStyle$1(currentIFrame);
			const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
			const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
			x *= iframeScale.x;
			y *= iframeScale.y;
			width *= iframeScale.x;
			height *= iframeScale.y;
			x += left;
			y += top;
			currentWin = getWindow(currentIFrame);
			currentIFrame = getFrameElement(currentWin);
		}
	}
	return rectToClientRect({
		width,
		height,
		x,
		y
	});
}
function getWindowScrollBarX(element, rect) {
	const leftScroll = getNodeScroll(element).scrollLeft;
	if (!rect) return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
	return rect.left + leftScroll;
}
function getHTMLOffset(documentElement, scroll) {
	const htmlRect = documentElement.getBoundingClientRect();
	return {
		x: htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect),
		y: htmlRect.top + scroll.scrollTop
	};
}
function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
	let { elements, rect, offsetParent, strategy } = _ref;
	const isFixed = strategy === "fixed";
	const documentElement = getDocumentElement(offsetParent);
	const topLayer = elements ? isTopLayer(elements.floating) : false;
	if (offsetParent === documentElement || topLayer && isFixed) return rect;
	let scroll = {
		scrollLeft: 0,
		scrollTop: 0
	};
	let scale = createCoords(1);
	const offsets = createCoords(0);
	const isOffsetParentAnElement = isHTMLElement(offsetParent);
	if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
		if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) scroll = getNodeScroll(offsetParent);
		if (isOffsetParentAnElement) {
			const offsetRect = getBoundingClientRect(offsetParent);
			scale = getScale(offsetParent);
			offsets.x = offsetRect.x + offsetParent.clientLeft;
			offsets.y = offsetRect.y + offsetParent.clientTop;
		}
	}
	const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
	return {
		width: rect.width * scale.x,
		height: rect.height * scale.y,
		x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
		y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
	};
}
function getClientRects(element) {
	return Array.from(element.getClientRects());
}
function getDocumentRect(element) {
	const html = getDocumentElement(element);
	const scroll = getNodeScroll(element);
	const body = element.ownerDocument.body;
	const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
	const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
	let x = -scroll.scrollLeft + getWindowScrollBarX(element);
	const y = -scroll.scrollTop;
	if (getComputedStyle$1(body).direction === "rtl") x += max(html.clientWidth, body.clientWidth) - width;
	return {
		width,
		height,
		x,
		y
	};
}
var SCROLLBAR_MAX = 25;
function getViewportRect(element, strategy) {
	const win = getWindow(element);
	const html = getDocumentElement(element);
	const visualViewport = win.visualViewport;
	let width = html.clientWidth;
	let height = html.clientHeight;
	let x = 0;
	let y = 0;
	if (visualViewport) {
		width = visualViewport.width;
		height = visualViewport.height;
		const visualViewportBased = isWebKit();
		if (!visualViewportBased || visualViewportBased && strategy === "fixed") {
			x = visualViewport.offsetLeft;
			y = visualViewport.offsetTop;
		}
	}
	const windowScrollbarX = getWindowScrollBarX(html);
	if (windowScrollbarX <= 0) {
		const doc = html.ownerDocument;
		const body = doc.body;
		const bodyStyles = getComputedStyle(body);
		const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
		const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
		if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) width -= clippingStableScrollbarWidth;
	} else if (windowScrollbarX <= SCROLLBAR_MAX) width += windowScrollbarX;
	return {
		width,
		height,
		x,
		y
	};
}
function getInnerBoundingClientRect(element, strategy) {
	const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
	const top = clientRect.top + element.clientTop;
	const left = clientRect.left + element.clientLeft;
	const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);
	return {
		width: element.clientWidth * scale.x,
		height: element.clientHeight * scale.y,
		x: left * scale.x,
		y: top * scale.y
	};
}
function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
	let rect;
	if (clippingAncestor === "viewport") rect = getViewportRect(element, strategy);
	else if (clippingAncestor === "document") rect = getDocumentRect(getDocumentElement(element));
	else if (isElement(clippingAncestor)) rect = getInnerBoundingClientRect(clippingAncestor, strategy);
	else {
		const visualOffsets = getVisualOffsets(element);
		rect = {
			x: clippingAncestor.x - visualOffsets.x,
			y: clippingAncestor.y - visualOffsets.y,
			width: clippingAncestor.width,
			height: clippingAncestor.height
		};
	}
	return rectToClientRect(rect);
}
function hasFixedPositionAncestor(element, stopNode) {
	const parentNode = getParentNode(element);
	if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) return false;
	return getComputedStyle$1(parentNode).position === "fixed" || hasFixedPositionAncestor(parentNode, stopNode);
}
function getClippingElementAncestors(element, cache) {
	const cachedResult = cache.get(element);
	if (cachedResult) return cachedResult;
	let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== "body");
	let currentContainingBlockComputedStyle = null;
	const elementIsFixed = getComputedStyle$1(element).position === "fixed";
	let currentNode = elementIsFixed ? getParentNode(element) : element;
	while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
		const computedStyle = getComputedStyle$1(currentNode);
		const currentNodeIsContaining = isContainingBlock(currentNode);
		if (!currentNodeIsContaining && computedStyle.position === "fixed") currentContainingBlockComputedStyle = null;
		if (elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === "absolute" || currentContainingBlockComputedStyle.position === "fixed") || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode)) result = result.filter((ancestor) => ancestor !== currentNode);
		else currentContainingBlockComputedStyle = computedStyle;
		currentNode = getParentNode(currentNode);
	}
	cache.set(element, result);
	return result;
}
function getClippingRect(_ref) {
	let { element, boundary, rootBoundary, strategy } = _ref;
	const clippingAncestors = [...boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary), rootBoundary];
	const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
	let top = firstRect.top;
	let right = firstRect.right;
	let bottom = firstRect.bottom;
	let left = firstRect.left;
	for (let i = 1; i < clippingAncestors.length; i++) {
		const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
		top = max(rect.top, top);
		right = min(rect.right, right);
		bottom = min(rect.bottom, bottom);
		left = max(rect.left, left);
	}
	return {
		width: right - left,
		height: bottom - top,
		x: left,
		y: top
	};
}
function getDimensions(element) {
	const { width, height } = getCssDimensions(element);
	return {
		width,
		height
	};
}
function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
	const isOffsetParentAnElement = isHTMLElement(offsetParent);
	const documentElement = getDocumentElement(offsetParent);
	const isFixed = strategy === "fixed";
	const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
	let scroll = {
		scrollLeft: 0,
		scrollTop: 0
	};
	const offsets = createCoords(0);
	function setLeftRTLScrollbarOffset() {
		offsets.x = getWindowScrollBarX(documentElement);
	}
	if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
		if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) scroll = getNodeScroll(offsetParent);
		if (isOffsetParentAnElement) {
			const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
			offsets.x = offsetRect.x + offsetParent.clientLeft;
			offsets.y = offsetRect.y + offsetParent.clientTop;
		} else if (documentElement) setLeftRTLScrollbarOffset();
	}
	if (isFixed && !isOffsetParentAnElement && documentElement) setLeftRTLScrollbarOffset();
	const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
	return {
		x: rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x,
		y: rect.top + scroll.scrollTop - offsets.y - htmlOffset.y,
		width: rect.width,
		height: rect.height
	};
}
function isStaticPositioned(element) {
	return getComputedStyle$1(element).position === "static";
}
function getTrueOffsetParent(element, polyfill) {
	if (!isHTMLElement(element) || getComputedStyle$1(element).position === "fixed") return null;
	if (polyfill) return polyfill(element);
	let rawOffsetParent = element.offsetParent;
	if (getDocumentElement(element) === rawOffsetParent) rawOffsetParent = rawOffsetParent.ownerDocument.body;
	return rawOffsetParent;
}
function getOffsetParent(element, polyfill) {
	const win = getWindow(element);
	if (isTopLayer(element)) return win;
	if (!isHTMLElement(element)) {
		let svgOffsetParent = getParentNode(element);
		while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
			if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) return svgOffsetParent;
			svgOffsetParent = getParentNode(svgOffsetParent);
		}
		return win;
	}
	let offsetParent = getTrueOffsetParent(element, polyfill);
	while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) offsetParent = getTrueOffsetParent(offsetParent, polyfill);
	if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) return win;
	return offsetParent || getContainingBlock(element) || win;
}
var getElementRects = async function(data) {
	const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
	const getDimensionsFn = this.getDimensions;
	const floatingDimensions = await getDimensionsFn(data.floating);
	return {
		reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
		floating: {
			x: 0,
			y: 0,
			width: floatingDimensions.width,
			height: floatingDimensions.height
		}
	};
};
function isRTL(element) {
	return getComputedStyle$1(element).direction === "rtl";
}
var platform = {
	convertOffsetParentRelativeRectToViewportRelativeRect,
	getDocumentElement,
	getClippingRect,
	getOffsetParent,
	getElementRects,
	getClientRects,
	getDimensions,
	getScale,
	isElement,
	isRTL
};
function rectsAreEqual(a, b) {
	return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
}
function observeMove(element, onMove) {
	let io = null;
	let timeoutId;
	const root = getDocumentElement(element);
	function cleanup() {
		var _io;
		clearTimeout(timeoutId);
		(_io = io) == null || _io.disconnect();
		io = null;
	}
	function refresh(skip, threshold) {
		if (skip === void 0) skip = false;
		if (threshold === void 0) threshold = 1;
		cleanup();
		const elementRectForRootMargin = element.getBoundingClientRect();
		const { left, top, width, height } = elementRectForRootMargin;
		if (!skip) onMove();
		if (!width || !height) return;
		const insetTop = floor(top);
		const insetRight = floor(root.clientWidth - (left + width));
		const insetBottom = floor(root.clientHeight - (top + height));
		const insetLeft = floor(left);
		const options = {
			rootMargin: -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px",
			threshold: max(0, min(1, threshold)) || 1
		};
		let isFirstUpdate = true;
		function handleObserve(entries) {
			const ratio = entries[0].intersectionRatio;
			if (ratio !== threshold) {
				if (!isFirstUpdate) return refresh();
				if (!ratio) timeoutId = setTimeout(() => {
					refresh(false, 1e-7);
				}, 1e3);
				else refresh(false, ratio);
			}
			if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) refresh();
			isFirstUpdate = false;
		}
		try {
			io = new IntersectionObserver(handleObserve, {
				...options,
				root: root.ownerDocument
			});
		} catch (_e) {
			io = new IntersectionObserver(handleObserve, options);
		}
		io.observe(element);
	}
	refresh(true);
	return cleanup;
}
/**
* Automatically updates the position of the floating element when necessary.
* Should only be called when the floating element is mounted on the DOM or
* visible on the screen.
* @returns cleanup function that should be invoked when the floating element is
* removed from the DOM or hidden from the screen.
* @see https://floating-ui.com/docs/autoUpdate
*/
function autoUpdate(reference, floating, update, options) {
	if (options === void 0) options = {};
	const { ancestorScroll = true, ancestorResize = true, elementResize = typeof ResizeObserver === "function", layoutShift = typeof IntersectionObserver === "function", animationFrame = false } = options;
	const referenceEl = unwrapElement(reference);
	const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];
	ancestors.forEach((ancestor) => {
		ancestorScroll && ancestor.addEventListener("scroll", update, { passive: true });
		ancestorResize && ancestor.addEventListener("resize", update);
	});
	const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
	let reobserveFrame = -1;
	let resizeObserver = null;
	if (elementResize) {
		resizeObserver = new ResizeObserver((_ref) => {
			let [firstEntry] = _ref;
			if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
				resizeObserver.unobserve(floating);
				cancelAnimationFrame(reobserveFrame);
				reobserveFrame = requestAnimationFrame(() => {
					var _resizeObserver;
					(_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
				});
			}
			update();
		});
		if (referenceEl && !animationFrame) resizeObserver.observe(referenceEl);
		if (floating) resizeObserver.observe(floating);
	}
	let frameId;
	let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
	if (animationFrame) frameLoop();
	function frameLoop() {
		const nextRefRect = getBoundingClientRect(reference);
		if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) update();
		prevRefRect = nextRefRect;
		frameId = requestAnimationFrame(frameLoop);
	}
	update();
	return () => {
		var _resizeObserver2;
		ancestors.forEach((ancestor) => {
			ancestorScroll && ancestor.removeEventListener("scroll", update);
			ancestorResize && ancestor.removeEventListener("resize", update);
		});
		cleanupIo?.();
		(_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
		resizeObserver = null;
		if (animationFrame) cancelAnimationFrame(frameId);
	};
}
/**
* Resolves with an object of overflow side offsets that determine how much the
* element is overflowing a given clipping boundary on each side.
* - positive = overflowing the boundary by that number of pixels
* - negative = how many pixels left before it will overflow
* - 0 = lies flush with the boundary
* @see https://floating-ui.com/docs/detectOverflow
*/
var detectOverflow = detectOverflow$1;
/**
* Modifies the placement by translating the floating element along the
* specified axes.
* A number (shorthand for `mainAxis` or distance), or an axes configuration
* object may be passed.
* @see https://floating-ui.com/docs/offset
*/
var offset$1 = offset$2;
/**
* Optimizes the visibility of the floating element by shifting it in order to
* keep it in view when it will overflow the clipping boundary.
* @see https://floating-ui.com/docs/shift
*/
var shift$1 = shift$2;
/**
* Optimizes the visibility of the floating element by flipping the `placement`
* in order to keep it in view when the preferred placement(s) will overflow the
* clipping boundary. Alternative to `autoPlacement`.
* @see https://floating-ui.com/docs/flip
*/
var flip$1 = flip$2;
/**
* Provides data that allows you to change the size of the floating element —
* for instance, prevent it from overflowing the clipping boundary or match the
* width of the reference element.
* @see https://floating-ui.com/docs/size
*/
var size$1 = size$2;
/**
* Computes the `x` and `y` coordinates that will place the floating element
* next to a given reference element.
*/
var computePosition = (reference, floating, options) => {
	const cache = /* @__PURE__ */ new Map();
	const mergedOptions = {
		platform,
		...options
	};
	const platformWithCache = {
		...mergedOptions.platform,
		_c: cache
	};
	return computePosition$1(reference, floating, {
		...mergedOptions,
		platform: platformWithCache
	});
};
//#endregion
//#region node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs
var index$1 = typeof document !== "undefined" ? import_react.useLayoutEffect : function noop() {};
function deepEqual(a, b) {
	if (a === b) return true;
	if (typeof a !== typeof b) return false;
	if (typeof a === "function" && a.toString() === b.toString()) return true;
	let length;
	let i;
	let keys;
	if (a && b && typeof a === "object") {
		if (Array.isArray(a)) {
			length = a.length;
			if (length !== b.length) return false;
			for (i = length; i-- !== 0;) if (!deepEqual(a[i], b[i])) return false;
			return true;
		}
		keys = Object.keys(a);
		length = keys.length;
		if (length !== Object.keys(b).length) return false;
		for (i = length; i-- !== 0;) if (!{}.hasOwnProperty.call(b, keys[i])) return false;
		for (i = length; i-- !== 0;) {
			const key = keys[i];
			if (key === "_owner" && a.$$typeof) continue;
			if (!deepEqual(a[key], b[key])) return false;
		}
		return true;
	}
	return a !== a && b !== b;
}
function getDPR(element) {
	if (typeof window === "undefined") return 1;
	return (element.ownerDocument.defaultView || window).devicePixelRatio || 1;
}
function roundByDPR(element, value) {
	const dpr = getDPR(element);
	return Math.round(value * dpr) / dpr;
}
function useLatestRef(value) {
	const ref = import_react.useRef(value);
	index$1(() => {
		ref.current = value;
	});
	return ref;
}
/**
* Provides data to position a floating element.
* @see https://floating-ui.com/docs/useFloating
*/
function useFloating$1(options) {
	if (options === void 0) options = {};
	const { placement = "bottom", strategy = "absolute", middleware = [], platform, elements: { reference: externalReference, floating: externalFloating } = {}, transform = true, whileElementsMounted, open } = options;
	const [data, setData] = import_react.useState({
		x: 0,
		y: 0,
		strategy,
		placement,
		middlewareData: {},
		isPositioned: false
	});
	const [latestMiddleware, setLatestMiddleware] = import_react.useState(middleware);
	if (!deepEqual(latestMiddleware, middleware)) setLatestMiddleware(middleware);
	const [_reference, _setReference] = import_react.useState(null);
	const [_floating, _setFloating] = import_react.useState(null);
	const setReference = import_react.useCallback((node) => {
		if (node !== referenceRef.current) {
			referenceRef.current = node;
			_setReference(node);
		}
	}, []);
	const setFloating = import_react.useCallback((node) => {
		if (node !== floatingRef.current) {
			floatingRef.current = node;
			_setFloating(node);
		}
	}, []);
	const referenceEl = externalReference || _reference;
	const floatingEl = externalFloating || _floating;
	const referenceRef = import_react.useRef(null);
	const floatingRef = import_react.useRef(null);
	const dataRef = import_react.useRef(data);
	const hasWhileElementsMounted = whileElementsMounted != null;
	const whileElementsMountedRef = useLatestRef(whileElementsMounted);
	const platformRef = useLatestRef(platform);
	const openRef = useLatestRef(open);
	const update = import_react.useCallback(() => {
		if (!referenceRef.current || !floatingRef.current) return;
		const config = {
			placement,
			strategy,
			middleware: latestMiddleware
		};
		if (platformRef.current) config.platform = platformRef.current;
		computePosition(referenceRef.current, floatingRef.current, config).then((data) => {
			const fullData = {
				...data,
				isPositioned: openRef.current !== false
			};
			if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {
				dataRef.current = fullData;
				import_react_dom.flushSync(() => {
					setData(fullData);
				});
			}
		});
	}, [
		latestMiddleware,
		placement,
		strategy,
		platformRef,
		openRef
	]);
	index$1(() => {
		if (open === false && dataRef.current.isPositioned) {
			dataRef.current.isPositioned = false;
			setData((data) => ({
				...data,
				isPositioned: false
			}));
		}
	}, [open]);
	const isMountedRef = import_react.useRef(false);
	index$1(() => {
		isMountedRef.current = true;
		return () => {
			isMountedRef.current = false;
		};
	}, []);
	index$1(() => {
		if (referenceEl) referenceRef.current = referenceEl;
		if (floatingEl) floatingRef.current = floatingEl;
		if (referenceEl && floatingEl) {
			if (whileElementsMountedRef.current) return whileElementsMountedRef.current(referenceEl, floatingEl, update);
			update();
		}
	}, [
		referenceEl,
		floatingEl,
		update,
		whileElementsMountedRef,
		hasWhileElementsMounted
	]);
	const refs = import_react.useMemo(() => ({
		reference: referenceRef,
		floating: floatingRef,
		setReference,
		setFloating
	}), [setReference, setFloating]);
	const elements = import_react.useMemo(() => ({
		reference: referenceEl,
		floating: floatingEl
	}), [referenceEl, floatingEl]);
	const floatingStyles = import_react.useMemo(() => {
		const initialStyles = {
			position: strategy,
			left: 0,
			top: 0
		};
		if (!elements.floating) return initialStyles;
		const x = roundByDPR(elements.floating, data.x);
		const y = roundByDPR(elements.floating, data.y);
		if (transform) return {
			...initialStyles,
			transform: "translate(" + x + "px, " + y + "px)",
			...getDPR(elements.floating) >= 1.5 && { willChange: "transform" }
		};
		return {
			position: strategy,
			left: x,
			top: y
		};
	}, [
		strategy,
		transform,
		elements.floating,
		data.x,
		data.y
	]);
	return import_react.useMemo(() => ({
		...data,
		update,
		refs,
		elements,
		floatingStyles
	}), [
		data,
		update,
		refs,
		elements,
		floatingStyles
	]);
}
/**
* Modifies the placement by translating the floating element along the
* specified axes.
* A number (shorthand for `mainAxis` or distance), or an axes configuration
* object may be passed.
* @see https://floating-ui.com/docs/offset
*/
var offset = (options, deps) => {
	const result = offset$1(options);
	return {
		name: result.name,
		fn: result.fn,
		options: [options, deps]
	};
};
/**
* Optimizes the visibility of the floating element by shifting it in order to
* keep it in view when it will overflow the clipping boundary.
* @see https://floating-ui.com/docs/shift
*/
var shift = (options, deps) => {
	const result = shift$1(options);
	return {
		name: result.name,
		fn: result.fn,
		options: [options, deps]
	};
};
/**
* Optimizes the visibility of the floating element by flipping the `placement`
* in order to keep it in view when the preferred placement(s) will overflow the
* clipping boundary. Alternative to `autoPlacement`.
* @see https://floating-ui.com/docs/flip
*/
var flip = (options, deps) => {
	const result = flip$1(options);
	return {
		name: result.name,
		fn: result.fn,
		options: [options, deps]
	};
};
/**
* Provides data that allows you to change the size of the floating element —
* for instance, prevent it from overflowing the clipping boundary or match the
* width of the reference element.
* @see https://floating-ui.com/docs/size
*/
var size = (options, deps) => {
	const result = size$1(options);
	return {
		name: result.name,
		fn: result.fn,
		options: [options, deps]
	};
};
//#endregion
//#region node_modules/@floating-ui/react/dist/floating-ui.react.mjs
var SafeReact = { ...import_react };
var useSafeInsertionEffect = SafeReact.useInsertionEffect || ((fn) => fn());
function useEffectEvent(callback) {
	const ref = import_react.useRef(() => {
		throw new Error("Cannot call an event handler while rendering.");
	});
	useSafeInsertionEffect(() => {
		ref.current = callback;
	});
	return import_react.useCallback(function() {
		for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
		return ref.current == null ? void 0 : ref.current(...args);
	}, []);
}
var ARROW_UP = "ArrowUp";
var ARROW_DOWN = "ArrowDown";
var ARROW_LEFT = "ArrowLeft";
var ARROW_RIGHT = "ArrowRight";
var index = typeof document !== "undefined" ? import_react.useLayoutEffect : import_react.useEffect;
var horizontalKeys = [ARROW_LEFT, ARROW_RIGHT];
var verticalKeys = [ARROW_UP, ARROW_DOWN];
[...horizontalKeys, ...verticalKeys];
var serverHandoffComplete = false;
var count = 0;
var genId = () => "floating-ui-" + Math.random().toString(36).slice(2, 6) + count++;
function useFloatingId() {
	const [id, setId] = import_react.useState(() => serverHandoffComplete ? genId() : void 0);
	index(() => {
		if (id == null) setId(genId());
	}, []);
	import_react.useEffect(() => {
		serverHandoffComplete = true;
	}, []);
	return id;
}
/**
* Uses React 18's built-in `useId()` when available, or falls back to a
* slightly less performant (requiring a double render) implementation for
* earlier React versions.
* @see https://floating-ui.com/docs/react-utils#useid
*/
var useId = SafeReact.useId || useFloatingId;
var devMessageSet = /* @__PURE__ */ new Set();
function warn() {
	var _devMessageSet;
	for (var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++) messages[_key] = arguments[_key];
	const message = "Floating UI: " + messages.join(" ");
	if (!((_devMessageSet = devMessageSet) != null && _devMessageSet.has(message))) {
		var _devMessageSet2;
		(_devMessageSet2 = devMessageSet) == null || _devMessageSet2.add(message);
		console.warn(message);
	}
}
function error() {
	var _devMessageSet3;
	for (var _len2 = arguments.length, messages = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) messages[_key2] = arguments[_key2];
	const message = "Floating UI: " + messages.join(" ");
	if (!((_devMessageSet3 = devMessageSet) != null && _devMessageSet3.has(message))) {
		var _devMessageSet4;
		(_devMessageSet4 = devMessageSet) == null || _devMessageSet4.add(message);
		console.error(message);
	}
}
function createPubSub() {
	const map = /* @__PURE__ */ new Map();
	return {
		emit(event, data) {
			var _map$get;
			(_map$get = map.get(event)) == null || _map$get.forEach((handler) => handler(data));
		},
		on(event, listener) {
			map.set(event, [...map.get(event) || [], listener]);
		},
		off(event, listener) {
			var _map$get2;
			map.set(event, ((_map$get2 = map.get(event)) == null ? void 0 : _map$get2.filter((l) => l !== listener)) || []);
		}
	};
}
var FloatingNodeContext = /* @__PURE__ */ import_react.createContext(null);
var FloatingTreeContext = /* @__PURE__ */ import_react.createContext(null);
/**
* Returns the parent node id for nested floating elements, if available.
* Returns `null` for top-level floating elements.
*/
var useFloatingParentNodeId = () => {
	var _React$useContext;
	return ((_React$useContext = import_react.useContext(FloatingNodeContext)) == null ? void 0 : _React$useContext.id) || null;
};
/**
* Returns the nearest floating tree context, if available.
*/
var useFloatingTree = () => import_react.useContext(FloatingTreeContext);
var FOCUSABLE_ATTRIBUTE = "data-floating-ui-focusable";
function useFloatingRootContext(options) {
	const { open = false, onOpenChange: onOpenChangeProp, elements: elementsProp } = options;
	const floatingId = useId();
	const dataRef = import_react.useRef({});
	const [events] = import_react.useState(() => createPubSub());
	const nested = useFloatingParentNodeId() != null;
	{
		const optionDomReference = elementsProp.reference;
		if (optionDomReference && !isElement(optionDomReference)) error("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `refs.setPositionReference()`", "instead.");
	}
	const [positionReference, setPositionReference] = import_react.useState(elementsProp.reference);
	const onOpenChange = useEffectEvent((open, event, reason) => {
		dataRef.current.openEvent = open ? event : void 0;
		events.emit("openchange", {
			open,
			event,
			reason,
			nested
		});
		onOpenChangeProp?.(open, event, reason);
	});
	const refs = import_react.useMemo(() => ({ setPositionReference }), []);
	const elements = import_react.useMemo(() => ({
		reference: positionReference || elementsProp.reference || null,
		floating: elementsProp.floating || null,
		domReference: elementsProp.reference
	}), [
		positionReference,
		elementsProp.reference,
		elementsProp.floating
	]);
	return import_react.useMemo(() => ({
		dataRef,
		open,
		onOpenChange,
		elements,
		events,
		floatingId,
		refs
	}), [
		open,
		onOpenChange,
		elements,
		events,
		floatingId,
		refs
	]);
}
/**
* Provides data to position a floating element and context to add interactions.
* @see https://floating-ui.com/docs/useFloating
*/
function useFloating(options) {
	if (options === void 0) options = {};
	const { nodeId } = options;
	const internalRootContext = useFloatingRootContext({
		...options,
		elements: {
			reference: null,
			floating: null,
			...options.elements
		}
	});
	const rootContext = options.rootContext || internalRootContext;
	const computedElements = rootContext.elements;
	const [_domReference, setDomReference] = import_react.useState(null);
	const [positionReference, _setPositionReference] = import_react.useState(null);
	const domReference = (computedElements == null ? void 0 : computedElements.domReference) || _domReference;
	const domReferenceRef = import_react.useRef(null);
	const tree = useFloatingTree();
	index(() => {
		if (domReference) domReferenceRef.current = domReference;
	}, [domReference]);
	const position = useFloating$1({
		...options,
		elements: {
			...computedElements,
			...positionReference && { reference: positionReference }
		}
	});
	const setPositionReference = import_react.useCallback((node) => {
		const computedPositionReference = isElement(node) ? {
			getBoundingClientRect: () => node.getBoundingClientRect(),
			contextElement: node
		} : node;
		_setPositionReference(computedPositionReference);
		position.refs.setReference(computedPositionReference);
	}, [position.refs]);
	const setReference = import_react.useCallback((node) => {
		if (isElement(node) || node === null) {
			domReferenceRef.current = node;
			setDomReference(node);
		}
		if (isElement(position.refs.reference.current) || position.refs.reference.current === null || node !== null && !isElement(node)) position.refs.setReference(node);
	}, [position.refs]);
	const refs = import_react.useMemo(() => ({
		...position.refs,
		setReference,
		setPositionReference,
		domReference: domReferenceRef
	}), [
		position.refs,
		setReference,
		setPositionReference
	]);
	const elements = import_react.useMemo(() => ({
		...position.elements,
		domReference
	}), [position.elements, domReference]);
	const context = import_react.useMemo(() => ({
		...position,
		...rootContext,
		refs,
		elements,
		nodeId
	}), [
		position,
		refs,
		elements,
		nodeId,
		rootContext
	]);
	index(() => {
		rootContext.dataRef.current.floatingContext = context;
		const node = tree == null ? void 0 : tree.nodesRef.current.find((node) => node.id === nodeId);
		if (node) node.context = context;
	});
	return import_react.useMemo(() => ({
		...position,
		context,
		refs,
		elements
	}), [
		position,
		refs,
		elements,
		context
	]);
}
var ACTIVE_KEY = "active";
var SELECTED_KEY = "selected";
function mergeProps(userProps, propsList, elementKey) {
	const map = /* @__PURE__ */ new Map();
	const isItem = elementKey === "item";
	let domUserProps = userProps;
	if (isItem && userProps) {
		const { [ACTIVE_KEY]: _, [SELECTED_KEY]: __, ...validProps } = userProps;
		domUserProps = validProps;
	}
	return {
		...elementKey === "floating" && {
			tabIndex: -1,
			[FOCUSABLE_ATTRIBUTE]: ""
		},
		...domUserProps,
		...propsList.map((value) => {
			const propsOrGetProps = value ? value[elementKey] : null;
			if (typeof propsOrGetProps === "function") return userProps ? propsOrGetProps(userProps) : null;
			return propsOrGetProps;
		}).concat(userProps).reduce((acc, props) => {
			if (!props) return acc;
			Object.entries(props).forEach((_ref) => {
				let [key, value] = _ref;
				if (isItem && [ACTIVE_KEY, SELECTED_KEY].includes(key)) return;
				if (key.indexOf("on") === 0) {
					if (!map.has(key)) map.set(key, []);
					if (typeof value === "function") {
						var _map$get;
						(_map$get = map.get(key)) == null || _map$get.push(value);
						acc[key] = function() {
							var _map$get2;
							for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) args[_key] = arguments[_key];
							return (_map$get2 = map.get(key)) == null ? void 0 : _map$get2.map((fn) => fn(...args)).find((val) => val !== void 0);
						};
					}
				} else acc[key] = value;
			});
			return acc;
		}, {})
	};
}
/**
* Merges an array of interaction hooks' props into prop getters, allowing
* event handler functions to be composed together without overwriting one
* another.
* @see https://floating-ui.com/docs/useInteractions
*/
function useInteractions(propsList) {
	if (propsList === void 0) propsList = [];
	const referenceDeps = propsList.map((key) => key == null ? void 0 : key.reference);
	const floatingDeps = propsList.map((key) => key == null ? void 0 : key.floating);
	const itemDeps = propsList.map((key) => key == null ? void 0 : key.item);
	const getReferenceProps = import_react.useCallback((userProps) => mergeProps(userProps, propsList, "reference"), referenceDeps);
	const getFloatingProps = import_react.useCallback((userProps) => mergeProps(userProps, propsList, "floating"), floatingDeps);
	const getItemProps = import_react.useCallback((userProps) => mergeProps(userProps, propsList, "item"), itemDeps);
	return import_react.useMemo(() => ({
		getReferenceProps,
		getFloatingProps,
		getItemProps
	}), [
		getReferenceProps,
		getFloatingProps,
		getItemProps
	]);
}
function getArgsWithCustomFloatingHeight(state, height) {
	return {
		...state,
		rects: {
			...state.rects,
			floating: {
				...state.rects.floating,
				height
			}
		}
	};
}
/**
* Positions the floating element such that an inner element inside of it is
* anchored to the reference element.
* @see https://floating-ui.com/docs/inner
*/
var inner = (props) => ({
	name: "inner",
	options: props,
	async fn(state) {
		const { listRef, overflowRef, onFallbackChange, offset: innerOffset = 0, index = 0, minItemsVisible = 4, referenceOverflowThreshold = 0, scrollRef, ...detectOverflowOptions } = evaluate(props, state);
		const { rects, elements: { floating } } = state;
		const item = listRef.current[index];
		const scrollEl = (scrollRef == null ? void 0 : scrollRef.current) || floating;
		const clientTop = floating.clientTop || scrollEl.clientTop;
		const floatingIsBordered = floating.clientTop !== 0;
		const scrollElIsBordered = scrollEl.clientTop !== 0;
		const floatingIsScrollEl = floating === scrollEl;
		if (!state.placement.startsWith("bottom")) warn("`placement` side must be \"bottom\" when using the `inner`", "middleware.");
		if (!item) return {};
		const nextArgs = {
			...state,
			...await offset(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state)
		};
		const overflow = await detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, scrollEl.scrollHeight + clientTop + floating.clientTop), detectOverflowOptions);
		const refOverflow = await detectOverflow(nextArgs, {
			...detectOverflowOptions,
			elementContext: "reference"
		});
		const diffY = max(0, overflow.top);
		const nextY = nextArgs.y + diffY;
		const maxHeight = (scrollEl.scrollHeight > scrollEl.clientHeight ? (v) => v : round)(max(0, scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - max(0, overflow.bottom)));
		scrollEl.style.maxHeight = maxHeight + "px";
		scrollEl.scrollTop = diffY;
		if (onFallbackChange) {
			const shouldFallback = scrollEl.offsetHeight < item.offsetHeight * min(minItemsVisible, listRef.current.length) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold;
			import_react_dom.flushSync(() => onFallbackChange(shouldFallback));
		}
		if (overflowRef) overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({
			...nextArgs,
			y: nextY
		}, scrollEl.offsetHeight + clientTop + floating.clientTop), detectOverflowOptions);
		return { y: nextY };
	}
});
/**
* Changes the `inner` middleware's `offset` upon a `wheel` event to
* expand the floating element's height, revealing more list items.
* @see https://floating-ui.com/docs/inner
*/
function useInnerOffset(context, props) {
	const { open, elements } = context;
	const { enabled = true, overflowRef, scrollRef, onChange: unstable_onChange } = props;
	const onChange = useEffectEvent(unstable_onChange);
	const controlledScrollingRef = import_react.useRef(false);
	const prevScrollTopRef = import_react.useRef(null);
	const initialOverflowRef = import_react.useRef(null);
	import_react.useEffect(() => {
		if (!enabled) return;
		function onWheel(e) {
			if (e.ctrlKey || !el || overflowRef.current == null) return;
			const dY = e.deltaY;
			const isAtTop = overflowRef.current.top >= -.5;
			const isAtBottom = overflowRef.current.bottom >= -.5;
			const remainingScroll = el.scrollHeight - el.clientHeight;
			const sign = dY < 0 ? -1 : 1;
			const method = dY < 0 ? "max" : "min";
			if (el.scrollHeight <= el.clientHeight) return;
			if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {
				e.preventDefault();
				import_react_dom.flushSync(() => {
					onChange((d) => d + Math[method](dY, remainingScroll * sign));
				});
			} else if (/firefox/i.test(getUserAgent())) el.scrollTop += dY;
		}
		const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;
		if (open && el) {
			el.addEventListener("wheel", onWheel);
			requestAnimationFrame(() => {
				prevScrollTopRef.current = el.scrollTop;
				if (overflowRef.current != null) initialOverflowRef.current = { ...overflowRef.current };
			});
			return () => {
				prevScrollTopRef.current = null;
				initialOverflowRef.current = null;
				el.removeEventListener("wheel", onWheel);
			};
		}
	}, [
		enabled,
		open,
		elements.floating,
		overflowRef,
		scrollRef,
		onChange
	]);
	const floating = import_react.useMemo(() => ({
		onKeyDown() {
			controlledScrollingRef.current = true;
		},
		onWheel() {
			controlledScrollingRef.current = false;
		},
		onPointerMove() {
			controlledScrollingRef.current = false;
		},
		onScroll() {
			const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;
			if (!overflowRef.current || !el || !controlledScrollingRef.current) return;
			if (prevScrollTopRef.current !== null) {
				const scrollDiff = el.scrollTop - prevScrollTopRef.current;
				if (overflowRef.current.bottom < -.5 && scrollDiff < -1 || overflowRef.current.top < -.5 && scrollDiff > 1) import_react_dom.flushSync(() => onChange((d) => d + scrollDiff));
			}
			requestAnimationFrame(() => {
				prevScrollTopRef.current = el.scrollTop;
			});
		}
	}), [
		elements.floating,
		onChange,
		overflowRef,
		scrollRef
	]);
	return import_react.useMemo(() => enabled ? { floating } : {}, [enabled, floating]);
}
//#endregion
//#region node_modules/@headlessui/react/dist/internal/floating.js
var y$5 = (0, import_react.createContext)({
	styles: void 0,
	setReference: () => {},
	setFloating: () => {},
	getReferenceProps: () => ({}),
	getFloatingProps: () => ({}),
	slot: {}
});
y$5.displayName = "FloatingContext";
var $$3 = (0, import_react.createContext)(null);
$$3.displayName = "PlacementContext";
function ye$2(e) {
	return (0, import_react.useMemo)(() => e ? typeof e == "string" ? { to: e } : e : null, [e]);
}
function Fe$5() {
	return (0, import_react.useContext)(y$5).setReference;
}
function be$1() {
	return (0, import_react.useContext)(y$5).getReferenceProps;
}
function Te$3() {
	let { getFloatingProps: e, slot: t } = (0, import_react.useContext)(y$5);
	return (0, import_react.useCallback)((...n) => Object.assign({}, e(...n), { "data-anchor": t.anchor }), [e, t]);
}
function Re$2(e = null) {
	e === !1 && (e = null), typeof e == "string" && (e = { to: e });
	let t = (0, import_react.useContext)($$3), n = (0, import_react.useMemo)(() => e, [JSON.stringify(e, (l, o) => {
		var u;
		return (u = o == null ? void 0 : o.outerHTML) != null ? u : o;
	})]);
	n$15(() => {
		t?.(n != null ? n : null);
	}, [t, n]);
	let r = (0, import_react.useContext)(y$5);
	return (0, import_react.useMemo)(() => [r.setFloating, e ? r.styles : {}], [
		r.setFloating,
		e,
		r.styles
	]);
}
var D$6 = 4;
function Ae$5({ children: e, enabled: t = !0 }) {
	let [n, r] = (0, import_react.useState)(null), [l, o] = (0, import_react.useState)(0), u = (0, import_react.useRef)(null), [f, s] = (0, import_react.useState)(null);
	ce$1(f);
	let i = t && n !== null && f !== null, { to: F = "bottom", gap: E = 0, offset: A = 0, padding: c = 0, inner: h } = ge$5(n, f), [a, p = "center"] = F.split(" ");
	n$15(() => {
		i && o(0);
	}, [i]);
	let { refs: b, floatingStyles: S, context: g } = useFloating({
		open: i,
		placement: a === "selection" ? p === "center" ? "bottom" : `bottom-${p}` : p === "center" ? `${a}` : `${a}-${p}`,
		strategy: "absolute",
		transform: !1,
		middleware: [
			offset({
				mainAxis: a === "selection" ? 0 : E,
				crossAxis: A
			}),
			shift({ padding: c }),
			a !== "selection" && flip({ padding: c }),
			a === "selection" && h ? inner({
				...h,
				padding: c,
				overflowRef: u,
				offset: l,
				minItemsVisible: D$6,
				referenceOverflowThreshold: c,
				onFallbackChange(P) {
					var L, N;
					if (!P) return;
					let d = g.elements.floating;
					if (!d) return;
					let M = parseFloat(getComputedStyle(d).scrollPaddingBottom) || 0, I = Math.min(D$6, d.childElementCount), W = 0, B = 0;
					for (let m of (N = (L = g.elements.floating) == null ? void 0 : L.childNodes) != null ? N : []) if (n$11(m)) {
						let x = m.offsetTop, k = x + m.clientHeight + M, H = d.scrollTop, U = H + d.clientHeight;
						if (x >= H && k <= U) I--;
						else {
							B = Math.max(0, Math.min(k, U) - Math.max(x, H)), W = m.clientHeight;
							break;
						}
					}
					I >= 1 && o((m) => {
						let x = W * I - B + M;
						return m >= x ? m : x;
					});
				}
			}) : null,
			size({
				padding: c,
				apply({ availableWidth: P, availableHeight: d, elements: M }) {
					Object.assign(M.floating.style, {
						overflow: "auto",
						maxWidth: `${P}px`,
						maxHeight: `min(var(--anchor-max-height, 100vh), ${d}px)`
					});
				}
			})
		].filter(Boolean),
		whileElementsMounted: autoUpdate
	}), [w = a, V = p] = g.placement.split("-");
	a === "selection" && (w = "selection");
	let G = (0, import_react.useMemo)(() => ({ anchor: [w, V].filter(Boolean).join(" ") }), [w, V]), { getReferenceProps: Q, getFloatingProps: X } = useInteractions([useInnerOffset(g, {
		overflowRef: u,
		onChange: o
	})]), Y = o$14((P) => {
		s(P), b.setFloating(P);
	});
	return import_react.createElement($$3.Provider, { value: r }, import_react.createElement(y$5.Provider, { value: {
		setFloating: Y,
		setReference: b.setReference,
		styles: S,
		getReferenceProps: Q,
		getFloatingProps: X,
		slot: G
	} }, e));
}
function ce$1(e) {
	n$15(() => {
		if (!e) return;
		let t = new MutationObserver(() => {
			let n = window.getComputedStyle(e).maxHeight, r = parseFloat(n);
			if (isNaN(r)) return;
			let l = parseInt(n);
			isNaN(l) || r !== l && (e.style.maxHeight = `${Math.ceil(r)}px`);
		});
		return t.observe(e, {
			attributes: !0,
			attributeFilter: ["style"]
		}), () => {
			t.disconnect();
		};
	}, [e]);
}
function ge$5(e, t) {
	var o, u, f;
	let n = O$2((o = e == null ? void 0 : e.gap) != null ? o : "var(--anchor-gap, 0)", t), r = O$2((u = e == null ? void 0 : e.offset) != null ? u : "var(--anchor-offset, 0)", t), l = O$2((f = e == null ? void 0 : e.padding) != null ? f : "var(--anchor-padding, 0)", t);
	return {
		...e,
		gap: n,
		offset: r,
		padding: l
	};
}
function O$2(e, t, n = void 0) {
	let r = p$11(), l = o$14((s, i) => {
		if (s == null) return [n, null];
		if (typeof s == "number") return [s, null];
		if (typeof s == "string") {
			if (!i) return [n, null];
			let F = J$1(s, i);
			return [F, (E) => {
				let A = q$3(s);
				{
					let c = A.map((h) => window.getComputedStyle(i).getPropertyValue(h));
					r.requestAnimationFrame(function h() {
						r.nextFrame(h);
						let a = !1;
						for (let [b, S] of A.entries()) {
							let g = window.getComputedStyle(i).getPropertyValue(S);
							if (c[b] !== g) {
								c[b] = g, a = !0;
								break;
							}
						}
						if (!a) return;
						let p = J$1(s, i);
						F !== p && (E(p), F = p);
					});
				}
				return r.dispose;
			}];
		}
		return [n, null];
	}), o = (0, import_react.useMemo)(() => l(e, t)[0], [e, t]), [u = o, f] = (0, import_react.useState)();
	return n$15(() => {
		let [s, i] = l(e, t);
		if (f(s), !!i) return i(f);
	}, [e, t]), u;
}
function q$3(e) {
	let t = /var\((.*)\)/.exec(e);
	if (t) {
		let n = t[1].indexOf(",");
		if (n === -1) return [t[1]];
		let r = t[1].slice(0, n).trim(), l = t[1].slice(n + 1).trim();
		return l ? [r, ...q$3(l)] : [r];
	}
	return [];
}
function J$1(e, t) {
	let n = document.createElement("div");
	t.appendChild(n), n.style.setProperty("margin-top", "0px", "important"), n.style.setProperty("margin-top", e, "important");
	let r = parseFloat(window.getComputedStyle(n).marginTop) || 0;
	return t.removeChild(n), r;
}
//#endregion
//#region node_modules/@headlessui/react/dist/internal/frozen.js
function f$8({ children: t, freeze: e }, o) {
	let n = u$9(e, t);
	return (0, import_react.isValidElement)(n) ? (0, import_react.cloneElement)(n, { ref: o }) : import_react.createElement(import_react.Fragment, null, n);
}
var s$8 = import_react.forwardRef(f$8);
function u$9(t, e) {
	let [o, n] = (0, import_react.useState)(e);
	return !t && o !== e && n(e), t ? o : e;
}
//#endregion
//#region node_modules/@headlessui/react/dist/internal/open-closed.js
var n$4 = (0, import_react.createContext)(null);
n$4.displayName = "OpenClosedContext";
var i$5 = ((e) => (e[e.Open = 1] = "Open", e[e.Closed = 2] = "Closed", e[e.Closing = 4] = "Closing", e[e.Opening = 8] = "Opening", e))(i$5 || {});
function u$8() {
	return (0, import_react.useContext)(n$4);
}
function c$9({ value: o, children: t }) {
	return import_react.createElement(n$4.Provider, { value: o }, t);
}
function s$7({ children: o }) {
	return import_react.createElement(n$4.Provider, { value: null }, o);
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/document-ready.js
function t$3(n) {
	function e() {
		document.readyState !== "loading" && (n(), document.removeEventListener("DOMContentLoaded", e));
	}
	typeof window != "undefined" && typeof document != "undefined" && (document.addEventListener("DOMContentLoaded", e), e());
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/active-element-history.js
var n$3 = [];
t$3(() => {
	function e(t) {
		if (!i$11(t.target) || t.target === document.body || n$3[0] === t.target) return;
		let r = t.target;
		r = r.closest(E$8), n$3.unshift(r != null ? r : t.target), n$3 = n$3.filter((o) => o != null && o.isConnected), n$3.splice(10);
	}
	window.addEventListener("click", e, { capture: !0 }), window.addEventListener("mousedown", e, { capture: !0 }), window.addEventListener("focus", e, { capture: !0 }), document.body.addEventListener("click", e, { capture: !0 }), document.body.addEventListener("mousedown", e, { capture: !0 }), document.body.addEventListener("focus", e, { capture: !0 });
});
//#endregion
//#region node_modules/@headlessui/react/dist/utils/calculate-active-index.js
function u$7(l) {
	throw new Error("Unexpected object: " + l);
}
var c$8 = ((i) => (i[i.First = 0] = "First", i[i.Previous = 1] = "Previous", i[i.Next = 2] = "Next", i[i.Last = 3] = "Last", i[i.Specific = 4] = "Specific", i[i.Nothing = 5] = "Nothing", i))(c$8 || {});
function f$7(l, n) {
	let t = n.resolveItems();
	if (t.length <= 0) return null;
	let r = n.resolveActiveIndex(), s = r != null ? r : -1;
	switch (l.focus) {
		case 0:
			for (let e = 0; e < t.length; ++e) if (!n.resolveDisabled(t[e], e, t)) return e;
			return r;
		case 1:
			s === -1 && (s = t.length);
			for (let e = s - 1; e >= 0; --e) if (!n.resolveDisabled(t[e], e, t)) return e;
			return r;
		case 2:
			for (let e = s + 1; e < t.length; ++e) if (!n.resolveDisabled(t[e], e, t)) return e;
			return r;
		case 3:
			for (let e = t.length - 1; e >= 0; --e) if (!n.resolveDisabled(t[e], e, t)) return e;
			return r;
		case 4:
			for (let e = 0; e < t.length; ++e) if (n.resolveId(t[e], e, t) === l.id) return e;
			return r;
		case 5: return null;
		default: u$7(l);
	}
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-on-unmount.js
function c$7(t) {
	let r = o$14(t), e = (0, import_react.useRef)(!1);
	(0, import_react.useEffect)(() => (e.current = !1, () => {
		e.current = !0, t$11(() => {
			e.current && r();
		});
	}), [r]);
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-server-handoff-complete.js
function s$6() {
	let r = typeof document == "undefined";
	return "useSyncExternalStore" in import_react ? ((o) => o.useSyncExternalStore)(import_react)(() => () => {}, () => !1, () => !r) : !1;
}
function l$3() {
	let r = s$6(), [e, n] = import_react.useState(s$19.isHandoffComplete);
	return e && s$19.isHandoffComplete === !1 && n(!1), import_react.useEffect(() => {
		e !== !0 && n(!0);
	}, [e]), import_react.useEffect(() => s$19.handoff(), []), r ? !1 : e;
}
//#endregion
//#region node_modules/@headlessui/react/dist/internal/portal-force-root.js
var e$1 = (0, import_react.createContext)(!1);
function a$10() {
	return (0, import_react.useContext)(e$1);
}
function l$2(o) {
	return import_react.createElement(e$1.Provider, { value: o.force }, o.children);
}
//#endregion
//#region node_modules/@headlessui/react/dist/components/portal/portal.js
function j$3(e) {
	let o = a$10(), l = (0, import_react.useContext)(c$5), [r, p] = (0, import_react.useState)(() => {
		var s;
		if (!o && l !== null) return (s = l.current) != null ? s : null;
		if (s$19.isServer) return null;
		let t = e == null ? void 0 : e.getElementById("headlessui-portal-root");
		if (t) return t;
		if (e === null) return null;
		let n = e.createElement("div");
		return n.setAttribute("id", "headlessui-portal-root"), e.body.appendChild(n);
	});
	return (0, import_react.useEffect)(() => {
		r !== null && (e != null && e.body.contains(r) || e == null || e.body.appendChild(r));
	}, [r, e]), (0, import_react.useEffect)(() => {
		o || l !== null && p(l.current);
	}, [
		l,
		p,
		o
	]), r;
}
var _$4 = import_react.Fragment, I$4 = Y$3(function(o, l) {
	let { ownerDocument: r = null, ...p } = o, t = (0, import_react.useRef)(null), n = y$8(T$9((a) => {
		t.current = a;
	}), l), s = u$12(t.current), u = j$3(r != null ? r : s), y = (0, import_react.useContext)(m$1), g = p$11(), v = l$3(), M = K$2();
	return c$7(() => {
		var a;
		u && u.childNodes.length <= 0 && ((a = u.parentElement) == null || a.removeChild(u));
	}), !u || !v ? null : (0, import_react_dom.createPortal)(import_react.createElement("div", {
		"data-headlessui-portal": "",
		ref: (a) => {
			g.dispose(), y && a && g.add(y.register(a));
		}
	}, M({
		ourProps: { ref: n },
		theirProps: p,
		slot: {},
		defaultTag: _$4,
		name: "Portal"
	})), u);
});
function D$5(e, o) {
	let l = y$8(o), { enabled: r = !0, ownerDocument: p, ...t } = e, n = K$2();
	return r ? import_react.createElement(I$4, {
		...t,
		ownerDocument: p,
		ref: l
	}) : n({
		ourProps: { ref: l },
		theirProps: t,
		slot: {},
		defaultTag: _$4,
		name: "Portal"
	});
}
var J = import_react.Fragment, c$5 = (0, import_react.createContext)(null);
function X$3(e, o) {
	let { target: l, ...r } = e, t = { ref: y$8(o) }, n = K$2();
	return import_react.createElement(c$5.Provider, { value: l }, n({
		ourProps: t,
		theirProps: r,
		defaultTag: J,
		name: "Popover.Group"
	}));
}
var m$1 = (0, import_react.createContext)(null);
function oe$5() {
	let e = (0, import_react.useContext)(m$1), o = (0, import_react.useRef)([]), l = o$14((t) => (o.current.push(t), e && e.register(t), () => r(t))), r = o$14((t) => {
		let n = o.current.indexOf(t);
		n !== -1 && o.current.splice(n, 1), e && e.unregister(t);
	}), p = (0, import_react.useMemo)(() => ({
		register: l,
		unregister: r,
		portals: o
	}), [
		l,
		r,
		o
	]);
	return [o, (0, import_react.useMemo)(() => function({ children: n }) {
		return import_react.createElement(m$1.Provider, { value: p }, n);
	}, [p])];
}
var k$8 = Y$3(D$5), B$3 = Y$3(X$3), le = Object.assign(k$8, { Group: B$3 });
//#endregion
//#region node_modules/@headlessui/react/dist/utils/element-movement.js
var c$4 = {
	Idle: { kind: "Idle" },
	Tracked: (e) => ({
		kind: "Tracked",
		position: e
	}),
	Moved: { kind: "Moved" }
};
function a$9(e) {
	let t = e.getBoundingClientRect();
	return `${t.x},${t.y}`;
}
function p$6(e, t, i) {
	let n = o$16();
	if (t.kind === "Tracked") {
		let o = function() {
			d !== a$9(e) && (n.dispose(), i());
		};
		let { position: d } = t, s = new ResizeObserver(o);
		s.observe(e), n.add(() => s.disconnect()), n.addEventListener(window, "scroll", o, { passive: !0 }), n.addEventListener(window, "resize", o);
	}
	return () => n.dispose();
}
//#endregion
//#region node_modules/@headlessui/react/dist/components/combobox/combobox-machine.js
var I$3 = Object.defineProperty;
var h$7 = (t, i, e) => i in t ? I$3(t, i, {
	enumerable: !0,
	configurable: !0,
	writable: !0,
	value: e
}) : t[i] = e;
var f$5 = (t, i, e) => (h$7(t, typeof i != "symbol" ? i + "" : i, e), e);
var P$2 = ((e) => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))(P$2 || {}), k$7 = ((e) => (e[e.Single = 0] = "Single", e[e.Multi = 1] = "Multi", e))(k$7 || {}), _$3 = ((n) => (n[n.Pointer = 0] = "Pointer", n[n.Focus = 1] = "Focus", n[n.Other = 2] = "Other", n))(_$3 || {}), D$4 = ((l) => (l[l.OpenCombobox = 0] = "OpenCombobox", l[l.CloseCombobox = 1] = "CloseCombobox", l[l.GoToOption = 2] = "GoToOption", l[l.SetTyping = 3] = "SetTyping", l[l.RegisterOption = 4] = "RegisterOption", l[l.UnregisterOption = 5] = "UnregisterOption", l[l.DefaultToFirstOption = 6] = "DefaultToFirstOption", l[l.SetActivationTrigger = 7] = "SetActivationTrigger", l[l.UpdateVirtualConfiguration = 8] = "UpdateVirtualConfiguration", l[l.SetInputElement = 9] = "SetInputElement", l[l.SetButtonElement = 10] = "SetButtonElement", l[l.SetOptionsElement = 11] = "SetOptionsElement", l[l.MarkInputAsMoved = 12] = "MarkInputAsMoved", l))(D$4 || {});
function v$2(t, i = (e) => e) {
	let e = t.activeOptionIndex !== null ? t.options[t.activeOptionIndex] : null, n = i(t.options.slice()), o = n.length > 0 && n[0].dataRef.current.order !== null ? n.sort((u, a) => u.dataRef.current.order - a.dataRef.current.order) : G$3(n, (u) => u.dataRef.current.domRef.current), r = e ? o.indexOf(e) : null;
	return r === -1 && (r = null), {
		options: o,
		activeOptionIndex: r
	};
}
var j$2 = {
	[1](t) {
		var e;
		if ((e = t.dataRef.current) != null && e.disabled || t.comboboxState === 1) return t;
		let i = t.inputElement ? c$4.Tracked(a$9(t.inputElement)) : t.inputPositionState;
		return {
			...t,
			activeOptionIndex: null,
			comboboxState: 1,
			isTyping: !1,
			activationTrigger: 2,
			inputPositionState: i,
			__demoMode: !1
		};
	},
	[0](t) {
		var i, e;
		if ((i = t.dataRef.current) != null && i.disabled || t.comboboxState === 0) return t;
		if ((e = t.dataRef.current) != null && e.value) {
			let n = t.dataRef.current.calculateIndex(t.dataRef.current.value);
			if (n !== -1) return {
				...t,
				activeOptionIndex: n,
				comboboxState: 0,
				__demoMode: !1,
				inputPositionState: c$4.Idle
			};
		}
		return {
			...t,
			comboboxState: 0,
			inputPositionState: c$4.Idle,
			__demoMode: !1
		};
	},
	[3](t, i) {
		return t.isTyping === i.isTyping ? t : {
			...t,
			isTyping: i.isTyping
		};
	},
	[2](t, i) {
		var r, u, a, s;
		if ((r = t.dataRef.current) != null && r.disabled || t.optionsElement && !((u = t.dataRef.current) != null && u.optionsPropsRef.current.static) && t.comboboxState === 1) return t;
		if (t.virtual) {
			let { options: p, disabled: c } = t.virtual, m = i.focus === c$8.Specific ? i.idx : f$7(i, {
				resolveItems: () => p,
				resolveActiveIndex: () => {
					var l, x;
					return (x = (l = t.activeOptionIndex) != null ? l : p.findIndex((S) => !c(S))) != null ? x : null;
				},
				resolveDisabled: c,
				resolveId() {
					throw new Error("Function not implemented.");
				}
			}), b = (a = i.trigger) != null ? a : 2;
			return t.activeOptionIndex === m && t.activationTrigger === b ? t : {
				...t,
				activeOptionIndex: m,
				activationTrigger: b,
				isTyping: !1,
				__demoMode: !1
			};
		}
		let e = v$2(t);
		if (e.activeOptionIndex === null) {
			let p = e.options.findIndex((c) => !c.dataRef.current.disabled);
			p !== -1 && (e.activeOptionIndex = p);
		}
		let n = i.focus === c$8.Specific ? i.idx : f$7(i, {
			resolveItems: () => e.options,
			resolveActiveIndex: () => e.activeOptionIndex,
			resolveId: (p) => p.id,
			resolveDisabled: (p) => p.dataRef.current.disabled
		}), o = (s = i.trigger) != null ? s : 2;
		return t.activeOptionIndex === n && t.activationTrigger === o ? t : {
			...t,
			...e,
			isTyping: !1,
			activeOptionIndex: n,
			activationTrigger: o,
			__demoMode: !1
		};
	},
	[4]: (t, i) => {
		var r, u, a, s;
		if ((r = t.dataRef.current) != null && r.virtual) return {
			...t,
			options: [...t.options, i.payload]
		};
		let e = i.payload, n = v$2(t, (p) => (p.push(e), p));
		t.activeOptionIndex === null && (a = (u = t.dataRef.current).isSelected) != null && a.call(u, i.payload.dataRef.current.value) && (n.activeOptionIndex = n.options.indexOf(e));
		let o = {
			...t,
			...n,
			activationTrigger: 2
		};
		return (s = t.dataRef.current) != null && s.__demoMode && t.dataRef.current.value === void 0 && (o.activeOptionIndex = 0), o;
	},
	[5]: (t, i) => {
		var n;
		if ((n = t.dataRef.current) != null && n.virtual) return {
			...t,
			options: t.options.filter((o) => o.id !== i.id)
		};
		let e = v$2(t, (o) => {
			let r = o.findIndex((u) => u.id === i.id);
			return r !== -1 && o.splice(r, 1), o;
		});
		return {
			...t,
			...e,
			activationTrigger: 2
		};
	},
	[6]: (t, i) => t.defaultToFirstOption === i.value ? t : {
		...t,
		defaultToFirstOption: i.value
	},
	[7]: (t, i) => t.activationTrigger === i.trigger ? t : {
		...t,
		activationTrigger: i.trigger
	},
	[8]: (t, i) => {
		var n, o;
		if (t.virtual === null) return {
			...t,
			virtual: {
				options: i.options,
				disabled: (n = i.disabled) != null ? n : () => !1
			}
		};
		if (t.virtual.options === i.options && t.virtual.disabled === i.disabled) return t;
		let e = t.activeOptionIndex;
		if (t.activeOptionIndex !== null) {
			let r = i.options.indexOf(t.virtual.options[t.activeOptionIndex]);
			r !== -1 ? e = r : e = null;
		}
		return {
			...t,
			activeOptionIndex: e,
			virtual: {
				options: i.options,
				disabled: (o = i.disabled) != null ? o : () => !1
			}
		};
	},
	[9]: (t, i) => t.inputElement === i.element ? t : {
		...t,
		inputElement: i.element
	},
	[10]: (t, i) => t.buttonElement === i.element ? t : {
		...t,
		buttonElement: i.element
	},
	[11]: (t, i) => t.optionsElement === i.element ? t : {
		...t,
		optionsElement: i.element
	},
	[12](t) {
		return t.inputPositionState.kind !== "Tracked" ? t : {
			...t,
			inputPositionState: c$4.Moved
		};
	}
};
var y$4 = class y$4 extends T$7 {
	constructor(e) {
		super(e);
		f$5(this, "actions", {
			onChange: (e) => {
				let { onChange: n, compare: o, mode: r, value: u } = this.state.dataRef.current;
				return u$23(r, {
					[0]: () => n == null ? void 0 : n(e),
					[1]: () => {
						let a = u.slice(), s = a.findIndex((p) => o(p, e));
						return s === -1 ? a.push(e) : a.splice(s, 1), n == null ? void 0 : n(a);
					}
				});
			},
			registerOption: (e, n) => (this.send({
				type: 4,
				payload: {
					id: e,
					dataRef: n
				}
			}), () => {
				this.state.activeOptionIndex === this.state.dataRef.current.calculateIndex(n.current.value) && this.send({
					type: 6,
					value: !0
				}), this.send({
					type: 5,
					id: e
				});
			}),
			goToOption: (e, n) => (this.send({
				type: 6,
				value: !1
			}), this.send({
				type: 2,
				...e,
				trigger: n
			})),
			setIsTyping: (e) => {
				this.send({
					type: 3,
					isTyping: e
				});
			},
			closeCombobox: () => {
				var e, n;
				this.send({ type: 1 }), this.send({
					type: 6,
					value: !1
				}), (n = (e = this.state.dataRef.current).onClose) == null || n.call(e);
			},
			openCombobox: () => {
				this.send({ type: 0 }), this.send({
					type: 6,
					value: !0
				});
			},
			setActivationTrigger: (e) => {
				this.send({
					type: 7,
					trigger: e
				});
			},
			selectActiveOption: () => {
				let e = this.selectors.activeOptionIndex(this.state);
				if (e !== null) {
					if (this.actions.setIsTyping(!1), this.state.virtual) this.actions.onChange(this.state.virtual.options[e]);
					else {
						let { dataRef: n } = this.state.options[e];
						this.actions.onChange(n.current.value);
					}
					this.actions.goToOption({
						focus: c$8.Specific,
						idx: e
					});
				}
			},
			setInputElement: (e) => {
				this.send({
					type: 9,
					element: e
				});
			},
			setButtonElement: (e) => {
				this.send({
					type: 10,
					element: e
				});
			},
			setOptionsElement: (e) => {
				this.send({
					type: 11,
					element: e
				});
			}
		});
		f$5(this, "selectors", {
			activeDescendantId: (e) => {
				var o, r;
				let n = this.selectors.activeOptionIndex(e);
				if (n !== null) return e.virtual ? (r = e.options.find((u) => !u.dataRef.current.disabled && e.dataRef.current.compare(u.dataRef.current.value, e.virtual.options[n]))) == null ? void 0 : r.id : (o = e.options[n]) == null ? void 0 : o.id;
			},
			activeOptionIndex: (e) => {
				if (e.defaultToFirstOption && e.activeOptionIndex === null && (e.virtual ? e.virtual.options.length > 0 : e.options.length > 0)) {
					if (e.virtual) {
						let { options: o, disabled: r } = e.virtual, u = o.findIndex((a) => {
							var s;
							return !((s = r == null ? void 0 : r(a)) != null && s);
						});
						if (u !== -1) return u;
					}
					let n = e.options.findIndex((o) => !o.dataRef.current.disabled);
					if (n !== -1) return n;
				}
				return e.activeOptionIndex;
			},
			activeOption: (e) => {
				var o, r;
				let n = this.selectors.activeOptionIndex(e);
				return n === null ? null : e.virtual ? e.virtual.options[n != null ? n : 0] : (r = (o = e.options[n]) == null ? void 0 : o.dataRef.current.value) != null ? r : null;
			},
			isActive: (e, n, o) => {
				var u;
				let r = this.selectors.activeOptionIndex(e);
				return r === null ? !1 : e.virtual ? r === e.dataRef.current.calculateIndex(n) : ((u = e.options[r]) == null ? void 0 : u.id) === o;
			},
			shouldScrollIntoView: (e, n, o) => !(e.virtual || e.__demoMode || e.comboboxState !== 0 || e.activationTrigger === 0 || !this.selectors.isActive(e, n, o)),
			didInputMove(e) {
				return e.inputPositionState.kind === "Moved";
			}
		});
		{
			let n = this.state.id, o = x$7.get(null);
			this.disposables.add(o.on(k$10.Push, (r) => {
				!o.selectors.isTop(r, n) && this.state.comboboxState === 0 && this.actions.closeCombobox();
			})), this.on(0, () => o.actions.push(n)), this.on(1, () => o.actions.pop(n));
		}
		this.disposables.group((n) => {
			this.on(1, (o) => {
				o.inputElement && (n.dispose(), n.add(p$6(o.inputElement, o.inputPositionState, () => {
					this.send({ type: 12 });
				})));
			});
		});
	}
	static new({ id: e, virtual: n = null, __demoMode: o = !1 }) {
		var r;
		return new y$4({
			id: e,
			dataRef: { current: {} },
			comboboxState: o ? 0 : 1,
			isTyping: !1,
			options: [],
			virtual: n ? {
				options: n.options,
				disabled: (r = n.disabled) != null ? r : () => !1
			} : null,
			activeOptionIndex: null,
			activationTrigger: 2,
			inputElement: null,
			buttonElement: null,
			optionsElement: null,
			__demoMode: o,
			inputPositionState: c$4.Idle
		});
	}
	reduce(e, n) {
		return u$23(n.type, j$2, e, n);
	}
};
//#endregion
//#region node_modules/@headlessui/react/dist/components/combobox/combobox-machine-glue.js
var u$5 = (0, import_react.createContext)(null);
function p$5(n) {
	let o = (0, import_react.useContext)(u$5);
	if (o === null) {
		let e = /* @__PURE__ */ new Error(`<${n} /> is missing a parent <Combobox /> component.`);
		throw Error.captureStackTrace && Error.captureStackTrace(e, b$6), e;
	}
	return o;
}
function b$6({ id: n, virtual: o = null, __demoMode: e = !1 }) {
	let t = (0, import_react.useMemo)(() => y$4.new({
		id: n,
		virtual: o,
		__demoMode: e
	}), []);
	return c$7(() => t.dispose()), t;
}
//#endregion
//#region node_modules/@headlessui/react/dist/components/combobox/combobox.js
var de$3 = (0, import_react.createContext)(null);
de$3.displayName = "ComboboxDataContext";
function te$4(T) {
	let O = (0, import_react.useContext)(de$3);
	if (O === null) {
		let e = /* @__PURE__ */ new Error(`<${T} /> is missing a parent <Combobox /> component.`);
		throw Error.captureStackTrace && Error.captureStackTrace(e, te$4), e;
	}
	return O;
}
var Le$4 = (0, import_react.createContext)(null);
function Eo(T) {
	let O = p$5("VirtualProvider"), { options: o } = te$4("VirtualProvider").virtual, E = S$5(O, (a) => a.optionsElement), [R, y] = (0, import_react.useMemo)(() => {
		let a = E;
		if (!a) return [0, 0];
		let u = window.getComputedStyle(a);
		return [parseFloat(u.paddingBlockStart || u.paddingTop), parseFloat(u.paddingBlockEnd || u.paddingBottom)];
	}, [E]), b = useVirtualizer({
		enabled: o.length !== 0,
		scrollPaddingStart: R,
		scrollPaddingEnd: y,
		count: o.length,
		estimateSize() {
			return 40;
		},
		getScrollElement() {
			return O.state.optionsElement;
		},
		overscan: 12
	}), [h, p] = (0, import_react.useState)(0);
	n$15(() => {
		p((a) => a + 1);
	}, [o]);
	let f = b.getVirtualItems(), n = S$5(O, (a) => a.activationTrigger === _$3.Pointer), m = S$5(O, O.selectors.activeOptionIndex);
	return f.length === 0 ? null : import_react.createElement(Le$4.Provider, { value: b }, import_react.createElement("div", {
		style: {
			position: "relative",
			width: "100%",
			height: `${b.getTotalSize()}px`
		},
		ref: (a) => {
			a && (n || m !== null && o.length > m && b.scrollToIndex(m));
		}
	}, f.map((a) => {
		var u;
		return import_react.createElement(import_react.Fragment, { key: a.key }, import_react.cloneElement((u = T.children) == null ? void 0 : u.call(T, {
			...T.slot,
			option: o[a.index]
		}), {
			key: `${h}-${a.key}`,
			"data-index": a.index,
			"aria-setsize": o.length,
			"aria-posinset": a.index + 1,
			style: {
				position: "absolute",
				top: 0,
				left: 0,
				transform: `translateY(${a.start}px)`,
				overflowAnchor: "none"
			}
		}));
	})));
}
var ho = import_react.Fragment;
function Ao(T, O) {
	let e = (0, import_react.useId)(), o = a$24(), { value: E, defaultValue: R, onChange: y, form: b, name: h, by: p, invalid: f = !1, disabled: n = o || !1, onClose: m, __demoMode: a = !1, multiple: u = !1, immediate: A = !1, virtual: d = null, nullable: X, ...G } = T, C = l$14(R), [x = u ? [] : void 0, v] = b$11(E, y, C), c = b$6({
		id: e,
		virtual: d,
		__demoMode: a
	}), z = (0, import_react.useRef)({
		static: !1,
		hold: !1
	}), D = u$16(p), K = o$14((i) => d ? p === null ? d.options.indexOf(i) : d.options.findIndex((M) => D(M, i)) : c.state.options.findIndex((M) => D(M.dataRef.current.value, i))), W = (0, import_react.useCallback)((i) => u$23(l.mode, {
		[k$7.Multi]: () => x.some((M) => D(M, i)),
		[k$7.Single]: () => D(x, i)
	}), [x]), S = S$5(c, (i) => i.virtual), j = o$14(() => m == null ? void 0 : m()), l = (0, import_react.useMemo)(() => ({
		__demoMode: a,
		immediate: A,
		optionsPropsRef: z,
		value: x,
		defaultValue: C,
		disabled: n,
		invalid: f,
		mode: u ? k$7.Multi : k$7.Single,
		virtual: d ? S : null,
		onChange: v,
		isSelected: W,
		calculateIndex: K,
		compare: D,
		onClose: j
	}), [
		a,
		A,
		z,
		x,
		C,
		n,
		f,
		u,
		d,
		S,
		v,
		W,
		K,
		D,
		j
	]);
	n$15(() => {
		var i;
		d && c.send({
			type: D$4.UpdateVirtualConfiguration,
			options: d.options,
			disabled: (i = d.disabled) != null ? i : null
		});
	}, [
		d,
		d == null ? void 0 : d.options,
		d == null ? void 0 : d.disabled
	]), n$15(() => {
		c.state.dataRef.current = l;
	}, [l]);
	let [k, Y, s, U] = S$5(c, (i) => [
		i.comboboxState,
		i.buttonElement,
		i.inputElement,
		i.optionsElement
	]), $ = x$7.get(null);
	k$9(S$5($, (0, import_react.useCallback)((i) => $.selectors.isTop(i, e), [$, e])), [
		Y,
		s,
		U
	], () => c.actions.closeCombobox());
	let be = S$5(c, c.selectors.activeOptionIndex), ee = S$5(c, c.selectors.activeOption), q = n$14({
		open: k === P$2.Open,
		disabled: n,
		invalid: f,
		activeIndex: be,
		activeOption: ee,
		value: x
	}), [t, V] = V$3(), P = O === null ? {} : { ref: O }, N = (0, import_react.useCallback)(() => {
		if (C !== void 0) return v == null ? void 0 : v(C);
	}, [v, C]), g = K$2();
	return import_react.createElement(V, {
		value: t,
		props: { htmlFor: s == null ? void 0 : s.id },
		slot: {
			open: k === P$2.Open,
			disabled: n
		}
	}, import_react.createElement(Ae$5, null, import_react.createElement(de$3.Provider, { value: l }, import_react.createElement(u$5.Provider, { value: c }, import_react.createElement(c$9, { value: u$23(k, {
		[P$2.Open]: i$5.Open,
		[P$2.Closed]: i$5.Closed
	}) }, h != null && import_react.createElement(j$7, {
		disabled: n,
		data: x != null ? { [h]: x } : {},
		form: b,
		onReset: N
	}), g({
		ourProps: P,
		theirProps: G,
		slot: q,
		defaultTag: ho,
		name: "Combobox"
	}))))));
}
var Io = "input";
function Ro(T, O) {
	var ee, q;
	let e = p$5("Combobox.Input"), o = te$4("Combobox.Input"), E = (0, import_react.useId)(), R = u$20(), { id: y = R || `headlessui-combobox-input-${E}`, onChange: b, displayValue: h, disabled: p = o.disabled || !1, autoFocus: f = !1, type: n = "text", ...m } = T, a = (0, import_react.useRef)(null), u = y$8(a, O, Fe$5(), e.actions.setInputElement), [A, d] = S$5(e, (t) => [t.comboboxState, t.isTyping]), X = p$11(), G = o$14(() => {
		e.actions.onChange(null), e.state.optionsElement && (e.state.optionsElement.scrollTop = 0), e.actions.goToOption({ focus: c$8.Nothing });
	});
	m$2(([t, V], [P, N]) => {
		if (e.state.isTyping) return;
		let g = a.current;
		g && ((N === P$2.Open && V === P$2.Closed || t !== P) && (g.value = t), requestAnimationFrame(() => {
			if (e.state.isTyping || !g || d$11(g)) return;
			let { selectionStart: i, selectionEnd: M } = g;
			Math.abs((M != null ? M : 0) - (i != null ? i : 0)) === 0 && i === 0 && g.setSelectionRange(g.value.length, g.value.length);
		}));
	}, [
		(0, import_react.useMemo)(() => {
			var t;
			return typeof h == "function" && o.value !== void 0 ? (t = h(o.value)) != null ? t : "" : typeof o.value == "string" ? o.value : "";
		}, [o.value, h]),
		A,
		d
	]), m$2(([t], [V]) => {
		if (t === P$2.Open && V === P$2.Closed) {
			if (e.state.isTyping) return;
			let P = a.current;
			if (!P) return;
			let N = P.value, { selectionStart: g, selectionEnd: i, selectionDirection: M } = P;
			P.value = "", P.value = N, M !== null ? P.setSelectionRange(g, i, M) : P.setSelectionRange(g, i);
		}
	}, [A]);
	let x = (0, import_react.useRef)(!1), v = o$14(() => {
		x.current = !0;
	}), c = o$14(() => {
		X.nextFrame(() => {
			x.current = !1;
		});
	}), z = o$14((t) => {
		switch (e.actions.setIsTyping(!0), t.key) {
			case o$10.Enter:
				if (e.state.comboboxState !== P$2.Open || x.current) return;
				if (t.preventDefault(), t.stopPropagation(), e.selectors.activeOptionIndex(e.state) === null) {
					e.actions.closeCombobox();
					return;
				}
				e.actions.selectActiveOption(), o.mode === k$7.Single && e.actions.closeCombobox();
				break;
			case o$10.ArrowDown: return t.preventDefault(), t.stopPropagation(), u$23(e.state.comboboxState, {
				[P$2.Open]: () => e.actions.goToOption({ focus: c$8.Next }),
				[P$2.Closed]: () => e.actions.openCombobox()
			});
			case o$10.ArrowUp: return t.preventDefault(), t.stopPropagation(), u$23(e.state.comboboxState, {
				[P$2.Open]: () => e.actions.goToOption({ focus: c$8.Previous }),
				[P$2.Closed]: () => {
					(0, import_react_dom.flushSync)(() => e.actions.openCombobox()), o.value || e.actions.goToOption({ focus: c$8.Last });
				}
			});
			case o$10.Home:
				if (e.state.comboboxState === P$2.Closed || t.shiftKey) break;
				return t.preventDefault(), t.stopPropagation(), e.actions.goToOption({ focus: c$8.First });
			case o$10.PageUp: return t.preventDefault(), t.stopPropagation(), e.actions.goToOption({ focus: c$8.First });
			case o$10.End:
				if (e.state.comboboxState === P$2.Closed || t.shiftKey) break;
				return t.preventDefault(), t.stopPropagation(), e.actions.goToOption({ focus: c$8.Last });
			case o$10.PageDown: return t.preventDefault(), t.stopPropagation(), e.actions.goToOption({ focus: c$8.Last });
			case o$10.Escape: return e.state.comboboxState !== P$2.Open ? void 0 : (t.preventDefault(), e.state.optionsElement && !o.optionsPropsRef.current.static && t.stopPropagation(), o.mode === k$7.Single && o.value === null && G(), e.actions.closeCombobox());
			case o$10.Tab:
				if (e.actions.setIsTyping(!1), e.state.comboboxState !== P$2.Open) return;
				o.mode === k$7.Single && e.state.activationTrigger !== _$3.Focus && e.actions.selectActiveOption(), e.actions.closeCombobox();
				break;
		}
	}), D = o$14((t) => {
		b?.(t), o.mode === k$7.Single && t.target.value === "" && G(), e.actions.openCombobox();
	}), K = o$14((t) => {
		var P, N, g;
		let V = (P = t.relatedTarget) != null ? P : n$3.find((i) => i !== t.currentTarget);
		if (!((N = e.state.optionsElement) != null && N.contains(V)) && !((g = e.state.buttonElement) != null && g.contains(V)) && e.state.comboboxState === P$2.Open) return t.preventDefault(), o.mode === k$7.Single && o.value === null && G(), e.actions.closeCombobox();
	}), W = o$14((t) => {
		var P, N, g;
		let V = (P = t.relatedTarget) != null ? P : n$3.find((i) => i !== t.currentTarget);
		(N = e.state.buttonElement) != null && N.contains(V) || (g = e.state.optionsElement) != null && g.contains(V) || o.disabled || o.immediate && e.state.comboboxState !== P$2.Open && X.microTask(() => {
			(0, import_react_dom.flushSync)(() => e.actions.openCombobox()), e.actions.setActivationTrigger(_$3.Focus);
		});
	}), S = N$2(), j = w$9(), { isFocused: l, focusProps: k } = $0c4a58759813079a$export$4e328f61c538687f({ autoFocus: f }), { isHovered: Y, hoverProps: s } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: p }), U = S$5(e, (t) => t.optionsElement), $ = n$14({
		open: A === P$2.Open,
		disabled: p,
		invalid: o.invalid,
		hover: Y,
		focus: l,
		autofocus: f
	}), ne = V$4({
		ref: u,
		id: y,
		role: "combobox",
		type: n,
		"aria-controls": U == null ? void 0 : U.id,
		"aria-expanded": A === P$2.Open,
		"aria-activedescendant": S$5(e, e.selectors.activeDescendantId),
		"aria-labelledby": S,
		"aria-describedby": j,
		"aria-autocomplete": "list",
		defaultValue: (q = (ee = T.defaultValue) != null ? ee : o.defaultValue !== void 0 ? h == null ? void 0 : h(o.defaultValue) : null) != null ? q : o.defaultValue,
		disabled: p || void 0,
		autoFocus: f,
		onCompositionStart: v,
		onCompositionEnd: c,
		onKeyDown: z,
		onChange: D,
		onFocus: W,
		onBlur: K
	}, k, s);
	return K$2()({
		ourProps: ne,
		theirProps: m,
		slot: $,
		defaultTag: Io,
		name: "Combobox.Input"
	});
}
var _o = "button";
function Fo(T, O) {
	let e = p$5("Combobox.Button"), o = te$4("Combobox.Button"), [E, R] = (0, import_react.useState)(null), y = y$8(O, R, e.actions.setButtonElement), b = (0, import_react.useId)(), { id: h = `headlessui-combobox-button-${b}`, disabled: p = o.disabled || !1, autoFocus: f = !1, ...n } = T, [m, a, u] = S$5(e, (l) => [
		l.comboboxState,
		l.inputElement,
		l.optionsElement
	]), A = v$4(a);
	L$3(m === P$2.Open, {
		trigger: E,
		action: (0, import_react.useCallback)((l) => {
			if (E != null && E.contains(l.target)) return S$3.Ignore;
			if (a != null && a.contains(l.target)) return S$3.Ignore;
			let k = l.target.closest("[role=\"option\"]:not([data-disabled])");
			return n$11(k) ? S$3.Select(k) : u != null && u.contains(l.target) ? S$3.Ignore : S$3.Close;
		}, [
			E,
			a,
			u
		]),
		close: e.actions.closeCombobox,
		select: e.actions.selectActiveOption
	});
	let X = o$14((l) => {
		switch (l.key) {
			case o$10.Space:
			case o$10.Enter:
				l.preventDefault(), l.stopPropagation(), e.state.comboboxState === P$2.Closed && (0, import_react_dom.flushSync)(() => e.actions.openCombobox()), A();
				return;
			case o$10.ArrowDown:
				l.preventDefault(), l.stopPropagation(), e.state.comboboxState === P$2.Closed && ((0, import_react_dom.flushSync)(() => e.actions.openCombobox()), e.state.dataRef.current.value || e.actions.goToOption({ focus: c$8.First })), A();
				return;
			case o$10.ArrowUp:
				l.preventDefault(), l.stopPropagation(), e.state.comboboxState === P$2.Closed && ((0, import_react_dom.flushSync)(() => e.actions.openCombobox()), e.state.dataRef.current.value || e.actions.goToOption({ focus: c$8.Last })), A();
				return;
			case o$10.Escape:
				if (e.state.comboboxState !== P$2.Open) return;
				l.preventDefault(), e.state.optionsElement && !o.optionsPropsRef.current.static && l.stopPropagation(), (0, import_react_dom.flushSync)(() => e.actions.closeCombobox()), A();
				return;
			default: return;
		}
	}), G = s$12(() => {
		e.state.comboboxState === P$2.Open ? e.actions.closeCombobox() : e.actions.openCombobox(), A();
	}), C = N$2([h]), { isFocusVisible: x, focusProps: v } = $0c4a58759813079a$export$4e328f61c538687f({ autoFocus: f }), { isHovered: c, hoverProps: z } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: p }), { pressed: D, pressProps: K } = w$11({ disabled: p }), W = n$14({
		open: m === P$2.Open,
		active: D || m === P$2.Open,
		disabled: p,
		invalid: o.invalid,
		value: o.value,
		hover: c,
		focus: x
	}), S = V$4({
		ref: y,
		id: h,
		type: e$3(T, E),
		tabIndex: -1,
		"aria-haspopup": "listbox",
		"aria-controls": u == null ? void 0 : u.id,
		"aria-expanded": m === P$2.Open,
		"aria-labelledby": C,
		disabled: p || void 0,
		autoFocus: f,
		onKeyDown: X
	}, G, v, z, K);
	return K$2()({
		ourProps: S,
		theirProps: n,
		slot: W,
		defaultTag: _o,
		name: "Combobox.Button"
	});
}
var Do = "div", So = A$3.RenderStrategy | A$3.Static;
function Mo$1(T, O) {
	var M, Ce, ve;
	let e = (0, import_react.useId)(), { id: o = `headlessui-combobox-options-${e}`, hold: E = !1, anchor: R, portal: y = !1, modal: b = !0, transition: h = !1, ...p } = T, f = p$5("Combobox.Options"), n = te$4("Combobox.Options"), m = ye$2(R);
	m && (y = !0);
	let [a, u] = Re$2(m), [A, d] = (0, import_react.useState)(null), X = Te$3(), G = y$8(O, m ? a : null, f.actions.setOptionsElement, d), [C, x, v, c, z] = S$5(f, (_) => [
		_.comboboxState,
		_.inputElement,
		_.buttonElement,
		_.optionsElement,
		_.activationTrigger
	]), D = u$12(x || v), K = u$12(c), W = u$8(), [S, j] = N$1(h, A, W !== null ? (W & i$5.Open) === i$5.Open : C === P$2.Open);
	p$7(S, x, f.actions.closeCombobox);
	f$10(n.__demoMode ? !1 : b && C === P$2.Open, K);
	y$6(n.__demoMode ? !1 : b && C === P$2.Open, { allowed: (0, import_react.useCallback)(() => [
		x,
		v,
		c
	], [
		x,
		v,
		c
	]) });
	let s = S$5(f, f.selectors.didInputMove) ? !1 : S;
	n$15(() => {
		var _;
		n.optionsPropsRef.current.static = (_ = T.static) != null ? _ : !1;
	}, [n.optionsPropsRef, T.static]), n$15(() => {
		n.optionsPropsRef.current.hold = E;
	}, [n.optionsPropsRef, E]), F$4(C === P$2.Open, {
		container: c,
		accept(_) {
			return _.getAttribute("role") === "option" ? NodeFilter.FILTER_REJECT : _.hasAttribute("role") ? NodeFilter.FILTER_SKIP : NodeFilter.FILTER_ACCEPT;
		},
		walk(_) {
			_.setAttribute("role", "none");
		}
	});
	let U = N$2([v == null ? void 0 : v.id]), $ = n$14({
		open: C === P$2.Open,
		option: void 0
	}), ne = o$14(() => {
		f.actions.setActivationTrigger(_$3.Pointer);
	}), be = o$14((_) => {
		_.preventDefault(), f.actions.setActivationTrigger(_$3.Pointer);
	}), ee = V$4(m ? X() : {}, {
		"aria-labelledby": U,
		role: "listbox",
		"aria-multiselectable": n.mode === k$7.Multi ? !0 : void 0,
		id: o,
		ref: G,
		style: {
			...p.style,
			...u,
			"--input-width": w$7(S, x, !0).width,
			"--button-width": w$7(S, v, !0).width
		},
		onWheel: z === _$3.Pointer ? void 0 : ne,
		onMouseDown: be,
		...x$5(j)
	}), q = S && C === P$2.Closed && !T.static, t = u$9(q, (M = n.virtual) == null ? void 0 : M.options), V = u$9(q, n.value), P = (0, import_react.useCallback)((_) => n.compare(V, _), [n.compare, V]), N = (0, import_react.useMemo)(() => {
		if (!n.virtual) return n;
		if (t === void 0) throw new Error("Missing `options` in virtual mode");
		return t !== n.virtual.options ? {
			...n,
			virtual: {
				...n.virtual,
				options: t
			}
		} : n;
	}, [
		n,
		t,
		(Ce = n.virtual) == null ? void 0 : Ce.options
	]);
	n.virtual && Object.assign(p, { children: import_react.createElement(de$3.Provider, { value: N }, import_react.createElement(Eo, { slot: $ }, p.children)) });
	let g = K$2(), i = (0, import_react.useMemo)(() => n.mode === k$7.Multi ? n : {
		...n,
		isSelected: P
	}, [n, P]);
	return import_react.createElement(le, {
		enabled: y ? T.static || S : !1,
		ownerDocument: D
	}, import_react.createElement(de$3.Provider, { value: i }, g({
		ourProps: ee,
		theirProps: {
			...p,
			children: import_react.createElement(s$8, { freeze: q }, typeof p.children == "function" ? (ve = p.children) == null ? void 0 : ve.call(p, $) : p.children)
		},
		slot: $,
		defaultTag: Do,
		features: So,
		visible: s,
		name: "Combobox.Options"
	})));
}
var Lo = "div";
function Vo(T, O) {
	var l, k, Y;
	let e = te$4("Combobox.Option"), o = p$5("Combobox.Option"), E = (0, import_react.useId)(), { id: R = `headlessui-combobox-option-${E}`, value: y, disabled: b = (Y = (k = (l = e.virtual) == null ? void 0 : l.disabled) == null ? void 0 : k.call(l, y)) != null ? Y : !1, order: h = null, ...p } = T, [f] = S$5(o, (s) => [s.inputElement]), n = v$4(f), m = S$5(o, (0, import_react.useCallback)((s) => o.selectors.isActive(s, y, R), [y, R])), a = e.isSelected(y), u = (0, import_react.useRef)(null), A = s$17({
		disabled: b,
		value: y,
		domRef: u,
		order: h
	}), d = (0, import_react.useContext)(Le$4), X = y$8(O, u, d ? d.measureElement : null), G = o$14(() => {
		o.actions.setIsTyping(!1), o.actions.onChange(y);
	});
	n$15(() => o.actions.registerOption(R, A), [A, R]);
	let C = S$5(o, (0, import_react.useCallback)((s) => o.selectors.shouldScrollIntoView(s, y, R), [y, R]));
	n$15(() => {
		if (C) return o$16().requestAnimationFrame(() => {
			var s, U;
			(U = (s = u.current) == null ? void 0 : s.scrollIntoView) == null || U.call(s, { block: "nearest" });
		});
	}, [C, u]);
	let x = o$14((s) => {
		s.preventDefault(), s.button === g$4.Left && (b || (G(), n$5() || requestAnimationFrame(() => n()), e.mode === k$7.Single && o.actions.closeCombobox()));
	}), v = o$14(() => {
		if (b) return o.actions.goToOption({ focus: c$8.Nothing });
		let s = e.calculateIndex(y);
		o.actions.goToOption({
			focus: c$8.Specific,
			idx: s
		});
	}), c = u$10(), z = o$14((s) => c.update(s)), D = o$14((s) => {
		if (!c.wasMoved(s) || b || m && o.state.activationTrigger === _$3.Pointer) return;
		let U = e.calculateIndex(y);
		o.actions.goToOption({
			focus: c$8.Specific,
			idx: U
		}, _$3.Pointer);
	}), K = o$14((s) => {
		c.wasMoved(s) && (b || m && (e.optionsPropsRef.current.hold || o.state.activationTrigger === _$3.Pointer && o.actions.goToOption({ focus: c$8.Nothing })));
	}), W = n$14({
		active: m,
		focus: m,
		selected: a,
		disabled: b
	}), S = {
		id: R,
		ref: X,
		role: "option",
		tabIndex: b === !0 ? void 0 : -1,
		"aria-disabled": b === !0 ? !0 : void 0,
		"aria-selected": a,
		disabled: void 0,
		onMouseDown: x,
		onFocus: v,
		onPointerEnter: z,
		onMouseEnter: z,
		onPointerMove: D,
		onMouseMove: D,
		onPointerLeave: K,
		onMouseLeave: K
	};
	return K$2()({
		ourProps: S,
		theirProps: p,
		slot: W,
		defaultTag: Lo,
		name: "Combobox.Option"
	});
}
var wo = Y$3(Ao), Bo = Y$3(Fo), ko = Y$3(Ro), No = Z, Uo = Y$3(Mo$1), Ho = Y$3(Vo), Ht = Object.assign(wo, {
	Input: ko,
	Button: Bo,
	Label: No,
	Options: Uo,
	Option: Ho
});
//#endregion
//#region node_modules/@headlessui/react/dist/components/data-interactive/data-interactive.js
var E$3 = import_react.Fragment;
function d$5(t, r) {
	let { ...a } = t, e = !1, { isFocusVisible: o, focusProps: n } = $0c4a58759813079a$export$4e328f61c538687f(), { isHovered: p, hoverProps: s } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: e }), { pressed: i, pressProps: T } = w$11({ disabled: e }), l = V$4({ ref: r }, n, s, T), m = n$14({
		hover: p,
		focus: o,
		active: i
	});
	return K$2()({
		ourProps: l,
		theirProps: a,
		slot: m,
		defaultTag: E$3,
		name: "DataInteractive"
	});
}
var b = Y$3(d$5);
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-escape.js
function a$7(o, r = typeof document != "undefined" ? document.defaultView : null, t) {
	let n = I$6(o, "escape");
	E$6(r, "keydown", (e) => {
		n && (e.defaultPrevented || e.key === o$10.Escape && t(e));
	});
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-is-touch-device.js
function f$4() {
	var t;
	let [e] = (0, import_react.useState)(() => typeof window != "undefined" && typeof window.matchMedia == "function" ? window.matchMedia("(pointer: coarse)") : null), [o, c] = (0, import_react.useState)((t = e == null ? void 0 : e.matches) != null ? t : !1);
	return n$15(() => {
		if (!e) return;
		function n(r) {
			c(r.matches);
		}
		return e.addEventListener("change", n), () => e.removeEventListener("change", n);
	}, [e]), o;
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-root-containers.js
function S$1({ defaultContainers: l = [], portals: n, mainTreeNode: o } = {}) {
	let c = o$14(() => {
		var r, u;
		let i = l$16(o), t = [];
		for (let e of l) e !== null && (t$7(e) ? t.push(e) : "current" in e && t$7(e.current) && t.push(e.current));
		if (n != null && n.current) for (let e of n.current) t.push(e);
		for (let e of (r = i == null ? void 0 : i.querySelectorAll("html > *, body > *")) != null ? r : []) e !== document.body && e !== document.head && t$7(e) && e.id !== "headlessui-portal-root" && (o && (e.contains(o) || e.contains((u = o == null ? void 0 : o.getRootNode()) == null ? void 0 : u.host)) || t.some((E) => e.contains(E)) || t.push(e));
		return t;
	});
	return {
		resolveContainers: c,
		contains: o$14((i) => c().some((t) => t.contains(i)))
	};
}
var d$4 = (0, import_react.createContext)(null);
function j$1({ children: l, node: n }) {
	let [o, c] = (0, import_react.useState)(null), i = x$3(n != null ? n : o);
	return import_react.createElement(d$4.Provider, { value: i }, l, i === null && import_react.createElement(f$17, {
		features: s$15.Hidden,
		ref: (t) => {
			var r, u;
			if (t) {
				for (let e of (u = (r = l$16(t)) == null ? void 0 : r.querySelectorAll("html > *, body > *")) != null ? u : []) if (e !== document.body && e !== document.head && t$7(e) && e != null && e.contains(t)) {
					c(e);
					break;
				}
			}
		}
	}));
}
function x$3(l = null) {
	var n;
	return (n = (0, import_react.useContext)(d$4)) != null ? n : l;
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-is-mounted.js
function f$3() {
	let e = (0, import_react.useRef)(!1);
	return n$15(() => (e.current = !0, () => {
		e.current = !1;
	}), []), e;
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-tab-direction.js
var a$6 = ((r) => (r[r.Forwards = 0] = "Forwards", r[r.Backwards = 1] = "Backwards", r))(a$6 || {});
function u$4() {
	let e = (0, import_react.useRef)(0);
	return s$10(!0, "keydown", (r) => {
		r.key === "Tab" && (e.current = r.shiftKey ? 1 : 0);
	}, !0), e;
}
//#endregion
//#region node_modules/@headlessui/react/dist/components/focus-trap/focus-trap.js
function x$2(o) {
	if (!o) return /* @__PURE__ */ new Set();
	if (typeof o == "function") return new Set(o());
	let t = /* @__PURE__ */ new Set();
	for (let e of o.current) t$7(e.current) && t.add(e.current);
	return t;
}
var $$2 = "div";
var G = ((n) => (n[n.None = 0] = "None", n[n.InitialFocus = 1] = "InitialFocus", n[n.TabLock = 2] = "TabLock", n[n.FocusLock = 4] = "FocusLock", n[n.RestoreFocus = 8] = "RestoreFocus", n[n.AutoFocus = 16] = "AutoFocus", n))(G || {});
function w$4(o, t) {
	let e = (0, import_react.useRef)(null), r = y$8(e, t), { initialFocus: u, initialFocusFallback: a, containers: n, features: s = 15, ...f } = o;
	l$3() || (s = 0);
	let l = u$12(e.current);
	re$2(s, { ownerDocument: l });
	let T = ne$2(s, {
		ownerDocument: l,
		container: e,
		initialFocus: u,
		initialFocusFallback: a
	});
	oe$3(s, {
		ownerDocument: l,
		container: e,
		containers: n,
		previousActiveElement: T
	});
	let g = u$4(), A = o$14((c) => {
		if (!n$11(e.current)) return;
		let E = e.current;
		((V) => V())(() => {
			u$23(g.current, {
				[a$6.Forwards]: () => {
					v$5(E, T$6.First, { skipElements: [c.relatedTarget, a] });
				},
				[a$6.Backwards]: () => {
					v$5(E, T$6.Last, { skipElements: [c.relatedTarget, a] });
				}
			});
		});
	}), v = I$6(!!(s & 2), "focus-trap#tab-lock"), N = p$11(), b = (0, import_react.useRef)(!1), k = {
		ref: r,
		onKeyDown(c) {
			c.key == "Tab" && (b.current = !0, N.requestAnimationFrame(() => {
				b.current = !1;
			}));
		},
		onBlur(c) {
			if (!(s & 4)) return;
			let E = x$2(n);
			n$11(e.current) && E.add(e.current);
			let L = c.relatedTarget;
			i$11(L) && L.dataset.headlessuiFocusGuard !== "true" && (I$2(E, L) || (b.current ? v$5(e.current, u$23(g.current, {
				[a$6.Forwards]: () => T$6.Next,
				[a$6.Backwards]: () => T$6.Previous
			}) | T$6.WrapAround, { relativeTo: c.target }) : i$11(c.target) && w$6(c.target)));
		}
	}, B = K$2();
	return import_react.createElement(import_react.Fragment, null, v && import_react.createElement(f$17, {
		as: "button",
		type: "button",
		"data-headlessui-focus-guard": !0,
		onFocus: A,
		features: s$15.Focusable
	}), B({
		ourProps: k,
		theirProps: f,
		defaultTag: $$2,
		name: "FocusTrap"
	}), v && import_react.createElement(f$17, {
		as: "button",
		type: "button",
		"data-headlessui-focus-guard": !0,
		onFocus: A,
		features: s$15.Focusable
	}));
}
var ee$4 = Y$3(w$4), ge = Object.assign(ee$4, { features: G });
function te$3(o = !0) {
	let t = (0, import_react.useRef)(n$3.slice());
	return m$2(([e], [r]) => {
		r === !0 && e === !1 && t$11(() => {
			t.current.splice(0);
		}), r === !1 && e === !0 && (t.current = n$3.slice());
	}, [
		o,
		n$3,
		t
	]), o$14(() => {
		var e;
		return (e = t.current.find((r) => r != null && r.isConnected)) != null ? e : null;
	});
}
function re$2(o, { ownerDocument: t }) {
	let e = !!(o & 8), r = te$3(e);
	m$2(() => {
		e || d$11(t == null ? void 0 : t.body) && w$6(r());
	}, [e]), c$7(() => {
		e && w$6(r());
	});
}
function ne$2(o, { ownerDocument: t, container: e, initialFocus: r, initialFocusFallback: u }) {
	let a = (0, import_react.useRef)(null), n = I$6(!!(o & 1), "focus-trap#initial-focus"), s = f$3();
	return m$2(() => {
		if (o === 0) return;
		if (!n) {
			u != null && u.current && w$6(u.current);
			return;
		}
		let f = e.current;
		f && t$11(() => {
			if (!s.current) return;
			let l = t == null ? void 0 : t.activeElement;
			if (r != null && r.current) {
				if ((r == null ? void 0 : r.current) === l) {
					a.current = l;
					return;
				}
			} else if (f.contains(l)) {
				a.current = l;
				return;
			}
			if (r != null && r.current) w$6(r.current);
			else {
				if (o & 16) {
					if (v$5(f, T$6.First | T$6.AutoFocus) !== A$2.Error) return;
				} else if (v$5(f, T$6.First) !== A$2.Error) return;
				if (u != null && u.current && (w$6(u.current), (t == null ? void 0 : t.activeElement) === u.current)) return;
				console.warn("There are no focusable elements inside the <FocusTrap />");
			}
			a.current = t == null ? void 0 : t.activeElement;
		});
	}, [
		u,
		n,
		o
	]), a;
}
function oe$3(o, { ownerDocument: t, container: e, containers: r, previousActiveElement: u }) {
	let a = f$3(), n = !!(o & 4);
	E$6(t == null ? void 0 : t.defaultView, "focus", (s) => {
		if (!n || !a.current) return;
		let f = x$2(r);
		n$11(e.current) && f.add(e.current);
		let l = u.current;
		if (!l) return;
		let T = s.target;
		n$11(T) ? I$2(f, T) ? (u.current = T, w$6(T)) : (s.preventDefault(), s.stopPropagation(), w$6(l)) : w$6(u.current);
	}, !0);
}
function I$2(o, t) {
	for (let e of o) if (e.contains(t)) return !0;
	return !1;
}
//#endregion
//#region node_modules/@headlessui/react/dist/components/transition/transition.js
function ue$2(e) {
	var t;
	return !!(e.enter || e.enterFrom || e.enterTo || e.leave || e.leaveFrom || e.leaveTo) || !b$12((t = e.as) != null ? t : de$2) || import_react.Children.count(e.children) === 1;
}
var V$2 = (0, import_react.createContext)(null);
V$2.displayName = "TransitionContext";
var De$3 = ((n) => (n.Visible = "visible", n.Hidden = "hidden", n))(De$3 || {});
function He$3() {
	let e = (0, import_react.useContext)(V$2);
	if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
	return e;
}
function Ae$3() {
	let e = (0, import_react.useContext)(w$3);
	if (e === null) throw new Error("A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.");
	return e;
}
var w$3 = (0, import_react.createContext)(null);
w$3.displayName = "NestingContext";
function M$5(e) {
	return "children" in e ? M$5(e.children) : e.current.filter(({ el: t }) => t.current !== null).filter(({ state: t }) => t === "visible").length > 0;
}
function Te$2(e, t) {
	let n = s$17(e), l = (0, import_react.useRef)([]), S = f$3(), R = p$11(), d = o$14((o, i = C$9.Hidden) => {
		let a = l.current.findIndex(({ el: s }) => s === o);
		a !== -1 && (u$23(i, {
			[C$9.Unmount]() {
				l.current.splice(a, 1);
			},
			[C$9.Hidden]() {
				l.current[a].state = "hidden";
			}
		}), R.microTask(() => {
			var s;
			!M$5(l) && S.current && ((s = n.current) == null || s.call(n));
		}));
	}), y = o$14((o) => {
		let i = l.current.find(({ el: a }) => a === o);
		return i ? i.state !== "visible" && (i.state = "visible") : l.current.push({
			el: o,
			state: "visible"
		}), () => d(o, C$9.Unmount);
	}), C = (0, import_react.useRef)([]), p = (0, import_react.useRef)(Promise.resolve()), h = (0, import_react.useRef)({
		enter: [],
		leave: []
	}), g = o$14((o, i, a) => {
		C.current.splice(0), t && (t.chains.current[i] = t.chains.current[i].filter(([s]) => s !== o)), t?.chains.current[i].push([o, new Promise((s) => {
			C.current.push(s);
		})]), t?.chains.current[i].push([o, new Promise((s) => {
			Promise.all(h.current[i].map(([r, f]) => f)).then(() => s());
		})]), i === "enter" ? p.current = p.current.then(() => t == null ? void 0 : t.wait.current).then(() => a(i)) : a(i);
	}), v = o$14((o, i, a) => {
		Promise.all(h.current[i].splice(0).map(([s, r]) => r)).then(() => {
			var s;
			(s = C.current.shift()) == null || s();
		}).then(() => a(i));
	});
	return (0, import_react.useMemo)(() => ({
		children: l,
		register: y,
		unregister: d,
		onStart: g,
		onStop: v,
		wait: p,
		chains: h
	}), [
		y,
		d,
		l,
		g,
		v,
		h,
		p
	]);
}
var de$2 = import_react.Fragment, fe$5 = A$3.RenderStrategy;
function Fe$4(e, t) {
	var ee, te;
	let { transition: n = !0, beforeEnter: l, afterEnter: S, beforeLeave: R, afterLeave: d, enter: y, enterFrom: C, enterTo: p, entered: h, leave: g, leaveFrom: v, leaveTo: o, ...i } = e, [a, s] = (0, import_react.useState)(null), r = (0, import_react.useRef)(null), f = ue$2(e), U = y$8(...f ? [
		r,
		t,
		s
	] : t === null ? [] : [t]), H = (ee = i.unmount) == null || ee ? C$9.Unmount : C$9.Hidden, { show: u, appear: z, initial: K } = He$3(), [m, j] = (0, import_react.useState)(u ? "visible" : "hidden"), Q = Ae$3(), { register: A, unregister: F } = Q;
	n$15(() => A(r), [A, r]), n$15(() => {
		if (H === C$9.Hidden && r.current) {
			if (u && m !== "visible") {
				j("visible");
				return;
			}
			return u$23(m, {
				["hidden"]: () => F(r),
				["visible"]: () => A(r)
			});
		}
	}, [
		m,
		r,
		A,
		F,
		u,
		H
	]);
	let G = l$3();
	n$15(() => {
		if (f && G && m === "visible" && r.current === null) throw new Error("Did you forget to passthrough the `ref` to the actual DOM node?");
	}, [
		r,
		m,
		G,
		f
	]);
	let ce = K && !z, Y = z && u && K, B = (0, import_react.useRef)(!1), I = Te$2(() => {
		B.current || (j("hidden"), F(r));
	}, Q), Z = o$14((W) => {
		B.current = !0;
		let L = W ? "enter" : "leave";
		I.onStart(r, L, (_) => {
			_ === "enter" ? l?.() : _ === "leave" && R?.();
		});
	}), $ = o$14((W) => {
		let L = W ? "enter" : "leave";
		B.current = !1, I.onStop(r, L, (_) => {
			_ === "enter" ? S?.() : _ === "leave" && d?.();
		}), L === "leave" && !M$5(I) && (j("hidden"), F(r));
	});
	(0, import_react.useEffect)(() => {
		f && n || (Z(u), $(u));
	}, [
		u,
		f,
		n
	]);
	let [, T] = N$1(!(!n || !f || !G || ce), a, u, {
		start: Z,
		end: $
	}), Ce = m$7({
		ref: U,
		className: ((te = t$8(i.className, Y && y, Y && C, T.enter && y, T.enter && T.closed && C, T.enter && !T.closed && p, T.leave && g, T.leave && !T.closed && v, T.leave && T.closed && o, !T.transition && u && h)) == null ? void 0 : te.trim()) || void 0,
		...x$5(T)
	}), N = 0;
	m === "visible" && (N |= i$5.Open), m === "hidden" && (N |= i$5.Closed), u && m === "hidden" && (N |= i$5.Opening), !u && m === "visible" && (N |= i$5.Closing);
	let he = K$2();
	return import_react.createElement(w$3.Provider, { value: I }, import_react.createElement(c$9, { value: N }, he({
		ourProps: Ce,
		theirProps: i,
		defaultTag: de$2,
		features: fe$5,
		visible: m === "visible",
		name: "Transition.Child"
	})));
}
function Ie$3(e, t) {
	let { show: n, appear: l = !1, unmount: S = !0, ...R } = e, d = (0, import_react.useRef)(null), C = y$8(...ue$2(e) ? [d, t] : t === null ? [] : [t]);
	l$3();
	let p = u$8();
	if (n === void 0 && p !== null && (n = (p & i$5.Open) === i$5.Open), n === void 0) throw new Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");
	let [h, g] = (0, import_react.useState)(n ? "visible" : "hidden"), v = Te$2(() => {
		n || g("hidden");
	}), [o, i] = (0, import_react.useState)(!0), a = (0, import_react.useRef)([n]);
	n$15(() => {
		o !== !1 && a.current[a.current.length - 1] !== n && (a.current.push(n), i(!1));
	}, [a, n]);
	let s = (0, import_react.useMemo)(() => ({
		show: n,
		appear: l,
		initial: o
	}), [
		n,
		l,
		o
	]);
	n$15(() => {
		n ? g("visible") : !M$5(v) && d.current !== null && g("hidden");
	}, [n, v]);
	let r = { unmount: S }, f = o$14(() => {
		var u;
		o && i(!1), (u = e.beforeEnter) == null || u.call(e);
	}), U = o$14(() => {
		var u;
		o && i(!1), (u = e.beforeLeave) == null || u.call(e);
	}), H = K$2();
	return import_react.createElement(w$3.Provider, { value: v }, import_react.createElement(V$2.Provider, { value: s }, H({
		ourProps: {
			...r,
			as: import_react.Fragment,
			children: import_react.createElement(me$2, {
				ref: C,
				...r,
				...R,
				beforeEnter: f,
				beforeLeave: U
			})
		},
		theirProps: {},
		defaultTag: import_react.Fragment,
		features: fe$5,
		visible: h === "visible",
		name: "Transition"
	})));
}
function Le$3(e, t) {
	let n = (0, import_react.useContext)(V$2) !== null, l = u$8() !== null;
	return import_react.createElement(import_react.Fragment, null, !n && l ? import_react.createElement(X$2, {
		ref: t,
		...e
	}) : import_react.createElement(me$2, {
		ref: t,
		...e
	}));
}
var X$2 = Y$3(Ie$3), me$2 = Y$3(Fe$4), Oe = Y$3(Le$3), Ke$3 = Object.assign(X$2, {
	Child: Oe,
	Root: X$2
});
//#endregion
//#region node_modules/@headlessui/react/dist/components/dialog/dialog.js
var we$3 = ((o) => (o[o.Open = 0] = "Open", o[o.Closed = 1] = "Closed", o))(we$3 || {}), Be$2 = ((t) => (t[t.SetTitleId = 0] = "SetTitleId", t))(Be$2 || {});
var Ue$2 = { [0](e, t) {
	return e.titleId === t.id ? e : {
		...e,
		titleId: t.id
	};
} }, w$2 = (0, import_react.createContext)(null);
w$2.displayName = "DialogContext";
function O(e) {
	let t = (0, import_react.useContext)(w$2);
	if (t === null) {
		let o = /* @__PURE__ */ new Error(`<${e} /> is missing a parent <Dialog /> component.`);
		throw Error.captureStackTrace && Error.captureStackTrace(o, O), o;
	}
	return t;
}
function He$2(e, t) {
	return u$23(t.type, Ue$2, e, t);
}
var z$2 = Y$3(function(t, o) {
	let a = (0, import_react.useId)(), { id: n = `headlessui-dialog-${a}`, open: i, onClose: p, initialFocus: d, role: s = "dialog", autoFocus: f = !0, __demoMode: u = !1, unmount: y = !1, ...S } = t, R = (0, import_react.useRef)(!1);
	s = function() {
		return s === "dialog" || s === "alertdialog" ? s : (R.current || (R.current = !0, console.warn(`Invalid role [${s}] passed to <Dialog />. Only \`dialog\` and and \`alertdialog\` are supported. Using \`dialog\` instead.`)), "dialog");
	}();
	let g = u$8();
	i === void 0 && g !== null && (i = (g & i$5.Open) === i$5.Open);
	let T = (0, import_react.useRef)(null), I = y$8(T, o), F = u$12(T.current), c = i ? 0 : 1, [b, Q] = (0, import_react.useReducer)(He$2, {
		titleId: null,
		descriptionId: null,
		panelRef: (0, import_react.createRef)()
	}), m = o$14(() => p(!1)), B = o$14((r) => Q({
		type: 0,
		id: r
	})), D = l$3() ? c === 0 : !1, [Z, ee] = oe$5(), te = { get current() {
		var r;
		return (r = b.panelRef.current) != null ? r : T.current;
	} }, v = x$3(), { resolveContainers: M } = S$1({
		mainTreeNode: v,
		portals: Z,
		defaultContainers: [te]
	}), U = g !== null ? (g & i$5.Closing) === i$5.Closing : !1;
	y$6(u || U ? !1 : D, {
		allowed: o$14(() => {
			var r, W;
			return [(W = (r = T.current) == null ? void 0 : r.closest("[data-headlessui-portal]")) != null ? W : null];
		}),
		disallowed: o$14(() => {
			var r;
			return [(r = v == null ? void 0 : v.closest("body > *:not(#headlessui-portal-root)")) != null ? r : null];
		})
	});
	let P = x$7.get(null);
	n$15(() => {
		if (D) return P.actions.push(n), () => P.actions.pop(n);
	}, [
		P,
		n,
		D
	]);
	let H = S$5(P, (0, import_react.useCallback)((r) => P.selectors.isTop(r, n), [P, n]));
	k$9(H, M, (r) => {
		r.preventDefault(), m();
	}), a$7(H, F == null ? void 0 : F.defaultView, (r) => {
		r.preventDefault(), r.stopPropagation(), document.activeElement && "blur" in document.activeElement && typeof document.activeElement.blur == "function" && document.activeElement.blur(), m();
	}), f$10(u || U ? !1 : D, F, M), p$7(D, T, m);
	let [oe, ne] = H$6(), re = (0, import_react.useMemo)(() => [{
		dialogState: c,
		close: m,
		setTitleId: B,
		unmount: y
	}, b], [
		c,
		m,
		B,
		y,
		b
	]), N = n$14({ open: c === 0 }), le$4 = {
		ref: I,
		id: n,
		role: s,
		tabIndex: -1,
		"aria-modal": u ? void 0 : c === 0 ? !0 : void 0,
		"aria-labelledby": b.titleId,
		"aria-describedby": oe,
		unmount: y
	}, ae = !f$4(), E = G.None;
	D && !u && (E |= G.RestoreFocus, E |= G.TabLock, f && (E |= G.AutoFocus), ae && (E |= G.InitialFocus));
	let ie = K$2();
	return import_react.createElement(s$7, null, import_react.createElement(l$2, { force: !0 }, import_react.createElement(le, null, import_react.createElement(w$2.Provider, { value: re }, import_react.createElement(B$3, { target: T }, import_react.createElement(l$2, { force: !1 }, import_react.createElement(ne, { slot: N }, import_react.createElement(ee, null, import_react.createElement(ge, {
		initialFocus: d,
		initialFocusFallback: T,
		containers: M,
		features: E
	}, import_react.createElement(C$5, { value: m }, ie({
		ourProps: le$4,
		theirProps: S,
		slot: N,
		defaultTag: Ne$3,
		features: We$2,
		visible: c === 0,
		name: "Dialog"
	})))))))))));
}), Ne$3 = "div", We$2 = A$3.RenderStrategy | A$3.Static;
function $e$1(e, t) {
	let { transition: o = !1, open: a, ...n } = e, i = u$8(), p = e.hasOwnProperty("open") || i !== null, d = e.hasOwnProperty("onClose");
	if (!p && !d) throw new Error("You have to provide an `open` and an `onClose` prop to the `Dialog` component.");
	if (!p) throw new Error("You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.");
	if (!d) throw new Error("You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.");
	if (!i && typeof e.open != "boolean") throw new Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${e.open}`);
	if (typeof e.onClose != "function") throw new Error(`You provided an \`onClose\` prop to the \`Dialog\`, but the value is not a function. Received: ${e.onClose}`);
	return (a !== void 0 || o) && !n.static ? import_react.createElement(j$1, null, import_react.createElement(Ke$3, {
		show: a,
		transition: o,
		unmount: n.unmount
	}, import_react.createElement(z$2, {
		ref: t,
		...n
	}))) : import_react.createElement(j$1, null, import_react.createElement(z$2, {
		ref: t,
		open: a,
		...n
	}));
}
var je$2 = "div";
function Ye(e, t) {
	let o = (0, import_react.useId)(), { id: a = `headlessui-dialog-panel-${o}`, transition: n = !1, ...i } = e, [{ dialogState: p, unmount: d }, s] = O("Dialog.Panel"), f = y$8(t, s.panelRef), u = n$14({ open: p === 0 }), S = {
		ref: f,
		id: a,
		onClick: o$14((I) => {
			I.stopPropagation();
		})
	}, R = n ? Oe : import_react.Fragment, g = n ? { unmount: d } : {}, T = K$2();
	return import_react.createElement(R, { ...g }, T({
		ourProps: S,
		theirProps: i,
		slot: u,
		defaultTag: je$2,
		name: "Dialog.Panel"
	}));
}
var Je = "div";
function Ke$4(e, t) {
	let { transition: o = !1, ...a } = e, [{ dialogState: n, unmount: i }] = O("Dialog.Backdrop"), p = n$14({ open: n === 0 }), d = {
		ref: t,
		"aria-hidden": !0
	}, s = o ? Oe : import_react.Fragment, f = o ? { unmount: i } : {}, u = K$2();
	return import_react.createElement(s, { ...f }, u({
		ourProps: d,
		theirProps: a,
		slot: p,
		defaultTag: Je,
		name: "Dialog.Backdrop"
	}));
}
var Xe$1 = "h2";
function Ve$1(e, t) {
	let o = (0, import_react.useId)(), { id: a = `headlessui-dialog-title-${o}`, ...n } = e, [{ dialogState: i, setTitleId: p }] = O("Dialog.Title"), d = y$8(t);
	(0, import_react.useEffect)(() => (p(a), () => p(null)), [a, p]);
	let s = n$14({ open: i === 0 }), f = {
		ref: d,
		id: a
	};
	return K$2()({
		ourProps: f,
		theirProps: n,
		slot: s,
		defaultTag: Xe$1,
		name: "Dialog.Title"
	});
}
var qe = Y$3($e$1), ze = Y$3(Ye), Lt = Y$3(Ke$4), Qe = Y$3(Ve$1), xt = M, ht = Object.assign(qe, {
	Panel: ze,
	Title: Qe,
	Description: M
});
//#endregion
//#region node_modules/@headlessui/react/dist/utils/start-transition.js
var t$1;
var a$5 = (t$1 = import_react.startTransition) != null ? t$1 : function(i) {
	i();
};
//#endregion
//#region node_modules/@headlessui/react/dist/components/disclosure/disclosure.js
var me$1 = ((l) => (l[l.Open = 0] = "Open", l[l.Closed = 1] = "Closed", l))(me$1 || {}), fe$3 = ((n) => (n[n.ToggleDisclosure = 0] = "ToggleDisclosure", n[n.CloseDisclosure = 1] = "CloseDisclosure", n[n.SetButtonId = 2] = "SetButtonId", n[n.SetPanelId = 3] = "SetPanelId", n[n.SetButtonElement = 4] = "SetButtonElement", n[n.SetPanelElement = 5] = "SetPanelElement", n))(fe$3 || {});
var De$2 = {
	[0]: (e) => ({
		...e,
		disclosureState: u$23(e.disclosureState, {
			[0]: 1,
			[1]: 0
		})
	}),
	[1]: (e) => e.disclosureState === 1 ? e : {
		...e,
		disclosureState: 1
	},
	[2](e, t) {
		return e.buttonId === t.buttonId ? e : {
			...e,
			buttonId: t.buttonId
		};
	},
	[3](e, t) {
		return e.panelId === t.panelId ? e : {
			...e,
			panelId: t.panelId
		};
	},
	[4](e, t) {
		return e.buttonElement === t.element ? e : {
			...e,
			buttonElement: t.element
		};
	},
	[5](e, t) {
		return e.panelElement === t.element ? e : {
			...e,
			panelElement: t.element
		};
	}
}, _$2 = (0, import_react.createContext)(null);
_$2.displayName = "DisclosureContext";
function M$4(e) {
	let t = (0, import_react.useContext)(_$2);
	if (t === null) {
		let l = /* @__PURE__ */ new Error(`<${e} /> is missing a parent <Disclosure /> component.`);
		throw Error.captureStackTrace && Error.captureStackTrace(l, M$4), l;
	}
	return t;
}
var F$2 = (0, import_react.createContext)(null);
F$2.displayName = "DisclosureAPIContext";
function V$1(e) {
	let t = (0, import_react.useContext)(F$2);
	if (t === null) {
		let l = /* @__PURE__ */ new Error(`<${e} /> is missing a parent <Disclosure /> component.`);
		throw Error.captureStackTrace && Error.captureStackTrace(l, V$1), l;
	}
	return t;
}
var H$2 = (0, import_react.createContext)(null);
H$2.displayName = "DisclosurePanelContext";
function ye$1() {
	return (0, import_react.useContext)(H$2);
}
function Pe(e, t) {
	return u$23(t.type, De$2, e, t);
}
var Ee = import_react.Fragment;
function Se$3(e, t) {
	let { defaultOpen: l = !1, ...p } = e, a = (0, import_react.useRef)(null), c = y$8(t, T$9((u) => {
		a.current = u;
	}, e.as === void 0 || b$12(e.as))), n = (0, import_react.useReducer)(Pe, {
		disclosureState: l ? 0 : 1,
		buttonElement: null,
		panelElement: null,
		buttonId: null,
		panelId: null
	}), [{ disclosureState: o, buttonId: r }, f] = n, s = o$14((u) => {
		f({ type: 1 });
		let m = l$16(a.current);
		if (!m || !r) return;
		(u ? i$11(u) ? u : "current" in u && i$11(u.current) ? u.current : m.getElementById(r) : m.getElementById(r))?.focus();
	}), E = (0, import_react.useMemo)(() => ({ close: s }), [s]), T = n$14({
		open: o === 0,
		close: s
	}), D = { ref: c }, S = K$2();
	return import_react.createElement(_$2.Provider, { value: n }, import_react.createElement(F$2.Provider, { value: E }, import_react.createElement(C$5, { value: s }, import_react.createElement(c$9, { value: u$23(o, {
		[0]: i$5.Open,
		[1]: i$5.Closed
	}) }, S({
		ourProps: D,
		theirProps: p,
		slot: T,
		defaultTag: Ee,
		name: "Disclosure"
	})))));
}
var ge$2 = "button";
function Ae$2(e, t) {
	let l = (0, import_react.useId)(), { id: p = `headlessui-disclosure-button-${l}`, disabled: a = !1, autoFocus: c = !1, ...n } = e, [o, r] = M$4("Disclosure.Button"), f = ye$1(), s = f === null ? !1 : f === o.panelId, T = y$8((0, import_react.useRef)(null), t, o$14((i) => {
		if (!s) return r({
			type: 4,
			element: i
		});
	}));
	(0, import_react.useEffect)(() => {
		if (!s) return r({
			type: 2,
			buttonId: p
		}), () => {
			r({
				type: 2,
				buttonId: null
			});
		};
	}, [
		p,
		r,
		s
	]);
	let D = o$14((i) => {
		var g;
		if (s) {
			if (o.disclosureState === 1) return;
			switch (i.key) {
				case o$10.Space:
				case o$10.Enter:
					i.preventDefault(), i.stopPropagation(), r({ type: 0 }), (g = o.buttonElement) == null || g.focus();
					break;
			}
		} else switch (i.key) {
			case o$10.Space:
			case o$10.Enter:
				i.preventDefault(), i.stopPropagation(), r({ type: 0 });
				break;
		}
	}), S = o$14((i) => {
		switch (i.key) {
			case o$10.Space:
				i.preventDefault();
				break;
		}
	}), u = o$14((i) => {
		var g;
		s$14(i.currentTarget) || a || (s ? (r({ type: 0 }), (g = o.buttonElement) == null || g.focus()) : r({ type: 0 }));
	}), { isFocusVisible: m, focusProps: d } = $0c4a58759813079a$export$4e328f61c538687f({ autoFocus: c }), { isHovered: C, hoverProps: h } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: a }), { pressed: $, pressProps: U } = w$11({ disabled: a }), J = n$14({
		open: o.disclosureState === 0,
		hover: C,
		active: $,
		disabled: a,
		focus: m,
		autofocus: c
	}), G = e$3(e, o.buttonElement), X = s ? V$4({
		ref: T,
		type: G,
		disabled: a || void 0,
		autoFocus: c,
		onKeyDown: D,
		onClick: u
	}, d, h, U) : V$4({
		ref: T,
		id: p,
		type: G,
		"aria-expanded": o.disclosureState === 0,
		"aria-controls": o.panelElement ? o.panelId : void 0,
		disabled: a || void 0,
		autoFocus: c,
		onKeyDown: D,
		onKeyUp: S,
		onClick: u
	}, d, h, U);
	return K$2()({
		ourProps: X,
		theirProps: n,
		slot: J,
		defaultTag: ge$2,
		name: "Disclosure.Button"
	});
}
var be = "div", Ce$3 = A$3.RenderStrategy | A$3.Static;
function Re$1(e, t) {
	let l = (0, import_react.useId)(), { id: p = `headlessui-disclosure-panel-${l}`, transition: a = !1, ...c } = e, [n, o] = M$4("Disclosure.Panel"), { close: r } = V$1("Disclosure.Panel"), [f, s] = (0, import_react.useState)(null), E = y$8(t, o$14((C) => {
		a$5(() => o({
			type: 5,
			element: C
		}));
	}), s);
	(0, import_react.useEffect)(() => (o({
		type: 3,
		panelId: p
	}), () => {
		o({
			type: 3,
			panelId: null
		});
	}), [p, o]);
	let T = u$8(), [D, S] = N$1(a, f, T !== null ? (T & i$5.Open) === i$5.Open : n.disclosureState === 0), u = n$14({
		open: n.disclosureState === 0,
		close: r
	}), m = {
		ref: E,
		id: p,
		...x$5(S)
	}, d = K$2();
	return import_react.createElement(s$7, null, import_react.createElement(H$2.Provider, { value: n.panelId }, d({
		ourProps: m,
		theirProps: c,
		slot: u,
		defaultTag: be,
		features: Ce$3,
		visible: D,
		name: "Disclosure.Panel"
	})));
}
var Ie$2 = Y$3(Se$3), xe = Y$3(Ae$2), Le = Y$3(Re$1), Xe = Object.assign(Ie$2, {
	Button: xe,
	Panel: Le
});
//#endregion
//#region node_modules/@headlessui/react/dist/components/field/field.js
var _$1 = "div";
function c$2(d, l) {
	let t = `headlessui-control-${(0, import_react.useId)()}`, [p, n] = V$3(), [s, a] = H$6(), m = a$24(), { disabled: r = m || !1, ...o } = d, i = n$14({ disabled: r }), f = {
		ref: l,
		disabled: r || void 0,
		"aria-disabled": r || void 0
	}, F = K$2();
	return import_react.createElement(l$15, { value: r }, import_react.createElement(n, { value: p }, import_react.createElement(a, { value: s }, import_react.createElement(f$15, { id: t }, F({
		ourProps: f,
		theirProps: {
			...o,
			children: import_react.createElement(W$2, null, typeof o.children == "function" ? o.children(i) : o.children)
		},
		slot: i,
		defaultTag: _$1,
		name: "Field"
	})))));
}
var W = Y$3(c$2);
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-resolved-tag.js
function d$3(t) {
	let e = typeof t == "string" ? t : void 0, [s, o] = (0, import_react.useState)(e);
	return [e != null ? e : s, (0, import_react.useCallback)((n) => {
		e || n$11(n) && o(n.tagName.toLowerCase());
	}, [e])];
}
//#endregion
//#region node_modules/@headlessui/react/dist/components/fieldset/fieldset.js
var d$2 = "fieldset";
function R(t, i) {
	var o;
	let a = a$24(), { disabled: e = a || !1, ...p } = t, [n, T] = d$3((o = t.as) != null ? o : d$2), l = y$8(i, T), [r, f] = V$3(), m = n$14({ disabled: e }), y = n === "fieldset" ? {
		ref: l,
		"aria-labelledby": r,
		disabled: e || void 0
	} : {
		ref: l,
		role: "group",
		"aria-labelledby": r,
		"aria-disabled": e || void 0
	}, F = K$2();
	return import_react.createElement(l$15, { value: e }, import_react.createElement(f, null, F({
		ourProps: y,
		theirProps: p,
		slot: m,
		defaultTag: d$2,
		name: "Fieldset"
	})));
}
var I = Y$3(R);
//#endregion
//#region node_modules/@headlessui/react/dist/components/input/input.js
var x$1 = "input";
function h$5(r, p) {
	let n = (0, import_react.useId)(), s = u$20(), a = a$24(), { id: l = s || `headlessui-input-${n}`, disabled: e = a || !1, autoFocus: o = !1, invalid: t = !1, ...i } = r, d = N$2(), u = w$9(), { isFocused: f, focusProps: m } = $0c4a58759813079a$export$4e328f61c538687f({ autoFocus: o }), { isHovered: T, hoverProps: b } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: e }), y = V$4({
		ref: p,
		id: l,
		"aria-labelledby": d,
		"aria-describedby": u,
		"aria-invalid": t ? "true" : void 0,
		disabled: e || void 0,
		autoFocus: o
	}, m, b), I = n$14({
		disabled: e,
		invalid: t,
		hover: T,
		focus: f,
		autofocus: o
	});
	return K$2()({
		ourProps: y,
		theirProps: i,
		slot: I,
		defaultTag: x$1,
		name: "Input"
	});
}
var X = Y$3(h$5);
//#endregion
//#region node_modules/@headlessui/react/dist/components/legend/legend.js
function o$2(t, n) {
	return import_react.createElement(Z, {
		as: "div",
		ref: n,
		...t
	});
}
var d = Y$3(o$2);
//#endregion
//#region node_modules/@headlessui/react/dist/utils/get-text-value.js
var a$3 = /([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;
function o$1(e) {
	var l, n;
	let i = (l = e.innerText) != null ? l : "", t = e.cloneNode(!0);
	if (!n$11(t)) return i;
	let u = !1;
	for (let f of t.querySelectorAll("[hidden],[aria-hidden],[role=\"img\"]")) f.remove(), u = !0;
	let r = u ? (n = t.innerText) != null ? n : "" : i;
	return a$3.test(r) && (r = r.replace(a$3, "")), r;
}
function F$1(e) {
	let i = e.getAttribute("aria-label");
	if (typeof i == "string") return i.trim();
	let t = e.getAttribute("aria-labelledby");
	if (t) {
		let u = t.split(" ").map((r) => {
			let l = document.getElementById(r);
			if (l) {
				let n = l.getAttribute("aria-label");
				return typeof n == "string" ? n.trim() : o$1(l).trim();
			}
			return null;
		}).filter(Boolean);
		if (u.length > 0) return u.join(", ");
	}
	return o$1(e).trim();
}
//#endregion
//#region node_modules/@headlessui/react/dist/hooks/use-text-value.js
function s$3(c) {
	let t = (0, import_react.useRef)(""), r = (0, import_react.useRef)("");
	return o$14(() => {
		let e = c.current;
		if (!e) return "";
		let u = e.innerText;
		if (t.current === u) return r.current;
		let n = F$1(e).trim().toLowerCase();
		return t.current = u, r.current = n, n;
	});
}
//#endregion
//#region node_modules/@headlessui/react/dist/components/listbox/listbox-machine.js
var T = Object.defineProperty;
var y$2 = (e, o, t) => o in e ? T(e, o, {
	enumerable: !0,
	configurable: !0,
	writable: !0,
	value: t
}) : e[o] = t;
var b$3 = (e, o, t) => (y$2(e, typeof o != "symbol" ? o + "" : o, t), t);
var F = ((t) => (t[t.Open = 0] = "Open", t[t.Closed = 1] = "Closed", t))(F || {}), P$1 = ((t) => (t[t.Single = 0] = "Single", t[t.Multi = 1] = "Multi", t))(P$1 || {}), C$2 = ((t) => (t[t.Pointer = 0] = "Pointer", t[t.Other = 1] = "Other", t))(C$2 || {}), k$3 = ((r) => (r[r.OpenListbox = 0] = "OpenListbox", r[r.CloseListbox = 1] = "CloseListbox", r[r.GoToOption = 2] = "GoToOption", r[r.Search = 3] = "Search", r[r.ClearSearch = 4] = "ClearSearch", r[r.SelectOption = 5] = "SelectOption", r[r.RegisterOptions = 6] = "RegisterOptions", r[r.UnregisterOptions = 7] = "UnregisterOptions", r[r.SetButtonElement = 8] = "SetButtonElement", r[r.SetOptionsElement = 9] = "SetOptionsElement", r[r.SortOptions = 10] = "SortOptions", r[r.MarkButtonAsMoved = 11] = "MarkButtonAsMoved", r))(k$3 || {});
function g$1(e, o = (t) => t) {
	let t = e.activeOptionIndex !== null ? e.options[e.activeOptionIndex] : null, n = G$3(o(e.options.slice()), (s) => s.dataRef.current.domRef.current), i = t ? n.indexOf(t) : null;
	return i === -1 && (i = null), {
		options: n,
		activeOptionIndex: i
	};
}
var D$2 = {
	[1](e) {
		if (e.dataRef.current.disabled || e.listboxState === 1) return e;
		let o = e.buttonElement ? c$4.Tracked(a$9(e.buttonElement)) : e.buttonPositionState;
		return {
			...e,
			activeOptionIndex: null,
			pendingFocus: { focus: c$8.Nothing },
			listboxState: 1,
			__demoMode: !1,
			buttonPositionState: o
		};
	},
	[0](e, o) {
		if (e.dataRef.current.disabled || e.listboxState === 0) return e;
		let t = e.activeOptionIndex, { isSelected: n } = e.dataRef.current, i = e.options.findIndex((s) => n(s.dataRef.current.value));
		return i !== -1 && (t = i), {
			...e,
			frozenValue: !1,
			pendingFocus: o.focus,
			listboxState: 0,
			activeOptionIndex: t,
			__demoMode: !1,
			buttonPositionState: c$4.Idle
		};
	},
	[2](e, o) {
		var s, l, c, p, f;
		if (e.dataRef.current.disabled || e.listboxState === 1) return e;
		let t = {
			...e,
			searchQuery: "",
			activationTrigger: (s = o.trigger) != null ? s : 1,
			__demoMode: !1
		};
		if (o.focus === c$8.Nothing) return {
			...t,
			activeOptionIndex: null
		};
		if (o.focus === c$8.Specific) return {
			...t,
			activeOptionIndex: e.options.findIndex((d) => d.id === o.id)
		};
		if (o.focus === c$8.Previous) {
			let d = e.activeOptionIndex;
			if (d !== null) {
				let O = e.options[d].dataRef.current.domRef, r = f$7(o, {
					resolveItems: () => e.options,
					resolveActiveIndex: () => e.activeOptionIndex,
					resolveId: (u) => u.id,
					resolveDisabled: (u) => u.dataRef.current.disabled
				});
				if (r !== null) {
					let u = e.options[r].dataRef.current.domRef;
					if (((l = O.current) == null ? void 0 : l.previousElementSibling) === u.current || ((c = u.current) == null ? void 0 : c.previousElementSibling) === null) return {
						...t,
						activeOptionIndex: r
					};
				}
			}
		} else if (o.focus === c$8.Next) {
			let d = e.activeOptionIndex;
			if (d !== null) {
				let O = e.options[d].dataRef.current.domRef, r = f$7(o, {
					resolveItems: () => e.options,
					resolveActiveIndex: () => e.activeOptionIndex,
					resolveId: (u) => u.id,
					resolveDisabled: (u) => u.dataRef.current.disabled
				});
				if (r !== null) {
					let u = e.options[r].dataRef.current.domRef;
					if (((p = O.current) == null ? void 0 : p.nextElementSibling) === u.current || ((f = u.current) == null ? void 0 : f.nextElementSibling) === null) return {
						...t,
						activeOptionIndex: r
					};
				}
			}
		}
		let n = g$1(e), i = f$7(o, {
			resolveItems: () => n.options,
			resolveActiveIndex: () => n.activeOptionIndex,
			resolveId: (d) => d.id,
			resolveDisabled: (d) => d.dataRef.current.disabled
		});
		return {
			...t,
			...n,
			activeOptionIndex: i
		};
	},
	[3]: (e, o) => {
		if (e.dataRef.current.disabled || e.listboxState === 1) return e;
		let n = e.searchQuery !== "" ? 0 : 1, i = e.searchQuery + o.value.toLowerCase(), l = (e.activeOptionIndex !== null ? e.options.slice(e.activeOptionIndex + n).concat(e.options.slice(0, e.activeOptionIndex + n)) : e.options).find((p) => {
			var f;
			return !p.dataRef.current.disabled && ((f = p.dataRef.current.textValue) == null ? void 0 : f.startsWith(i));
		}), c = l ? e.options.indexOf(l) : -1;
		return c === -1 || c === e.activeOptionIndex ? {
			...e,
			searchQuery: i
		} : {
			...e,
			searchQuery: i,
			activeOptionIndex: c,
			activationTrigger: 1
		};
	},
	[4](e) {
		return e.dataRef.current.disabled || e.listboxState === 1 || e.searchQuery === "" ? e : {
			...e,
			searchQuery: ""
		};
	},
	[5](e) {
		return e.dataRef.current.mode === 0 ? {
			...e,
			frozenValue: !0
		} : { ...e };
	},
	[6]: (e, o) => {
		let t = e.options.concat(o.options), n = e.activeOptionIndex;
		if (e.pendingFocus.focus !== c$8.Nothing && (n = f$7(e.pendingFocus, {
			resolveItems: () => t,
			resolveActiveIndex: () => e.activeOptionIndex,
			resolveId: (i) => i.id,
			resolveDisabled: (i) => i.dataRef.current.disabled
		})), e.activeOptionIndex === null) {
			let { isSelected: i } = e.dataRef.current;
			if (i) {
				let s = t.findIndex((l) => i == null ? void 0 : i(l.dataRef.current.value));
				s !== -1 && (n = s);
			}
		}
		return {
			...e,
			options: t,
			activeOptionIndex: n,
			pendingFocus: { focus: c$8.Nothing },
			pendingShouldSort: !0
		};
	},
	[7]: (e, o) => {
		let t = e.options, n = [], i = new Set(o.options);
		for (let [s, l] of t.entries()) if (i.has(l.id) && (n.push(s), i.delete(l.id), i.size === 0)) break;
		if (n.length > 0) {
			t = t.slice();
			for (let s of n.reverse()) t.splice(s, 1);
		}
		return {
			...e,
			options: t,
			activationTrigger: 1
		};
	},
	[8]: (e, o) => e.buttonElement === o.element ? e : {
		...e,
		buttonElement: o.element
	},
	[9]: (e, o) => e.optionsElement === o.element ? e : {
		...e,
		optionsElement: o.element
	},
	[10]: (e) => e.pendingShouldSort ? {
		...e,
		...g$1(e),
		pendingShouldSort: !1
	} : e,
	[11](e) {
		return e.buttonPositionState.kind !== "Tracked" ? e : {
			...e,
			buttonPositionState: c$4.Moved
		};
	}
};
var h$4 = class h$4 extends T$7 {
	constructor(t) {
		super(t);
		b$3(this, "actions", {
			onChange: (t) => {
				let { onChange: n, compare: i, mode: s, value: l } = this.state.dataRef.current;
				return u$23(s, {
					[0]: () => n == null ? void 0 : n(t),
					[1]: () => {
						let c = l.slice(), p = c.findIndex((f) => i(f, t));
						return p === -1 ? c.push(t) : c.splice(p, 1), n == null ? void 0 : n(c);
					}
				});
			},
			registerOption: k$11(() => {
				let t = [], n = /* @__PURE__ */ new Set();
				return [(i, s) => {
					n.has(s) || (n.add(s), t.push({
						id: i,
						dataRef: s
					}));
				}, () => (n.clear(), this.send({
					type: 6,
					options: t.splice(0)
				}))];
			}),
			unregisterOption: k$11(() => {
				let t = [];
				return [(n) => t.push(n), () => {
					this.send({
						type: 7,
						options: t.splice(0)
					});
				}];
			}),
			goToOption: k$11(() => {
				let t = null;
				return [(n, i) => {
					t = {
						type: 2,
						...n,
						trigger: i
					};
				}, () => t && this.send(t)];
			}),
			closeListbox: () => {
				this.send({ type: 1 });
			},
			openListbox: (t) => {
				this.send({
					type: 0,
					focus: t
				});
			},
			selectActiveOption: () => {
				var t;
				if (this.state.activeOptionIndex !== null) {
					let { dataRef: n } = this.state.options[this.state.activeOptionIndex];
					this.actions.selectOption(n.current.value);
				} else this.state.dataRef.current.mode === 0 && (this.actions.closeListbox(), (t = this.state.buttonElement) == null || t.focus({ preventScroll: !0 }));
			},
			selectOption: (t) => {
				this.send({
					type: 5,
					value: t
				});
			},
			search: (t) => {
				this.send({
					type: 3,
					value: t
				});
			},
			clearSearch: () => {
				this.send({ type: 4 });
			},
			setButtonElement: (t) => {
				this.send({
					type: 8,
					element: t
				});
			},
			setOptionsElement: (t) => {
				this.send({
					type: 9,
					element: t
				});
			}
		});
		b$3(this, "selectors", {
			activeDescendantId(t) {
				var s;
				let n = t.activeOptionIndex, i = t.options;
				return n === null || (s = i[n]) == null ? void 0 : s.id;
			},
			isActive(t, n) {
				var l;
				let i = t.activeOptionIndex, s = t.options;
				return i !== null ? ((l = s[i]) == null ? void 0 : l.id) === n : !1;
			},
			hasFrozenValue(t) {
				return t.frozenValue;
			},
			shouldScrollIntoView(t, n) {
				return t.__demoMode || t.listboxState !== 0 || t.activationTrigger === 0 ? !1 : this.isActive(t, n);
			},
			didButtonMove(t) {
				return t.buttonPositionState.kind === "Moved";
			}
		});
		this.on(6, () => {
			requestAnimationFrame(() => {
				this.send({ type: 10 });
			});
		});
		{
			let n = this.state.id, i = x$7.get(null);
			this.disposables.add(i.on(k$10.Push, (s) => {
				!i.selectors.isTop(s, n) && this.state.listboxState === 0 && this.actions.closeListbox();
			})), this.on(0, () => i.actions.push(n)), this.on(1, () => i.actions.pop(n));
		}
		this.disposables.group((n) => {
			this.on(1, (i) => {
				i.buttonElement && (n.dispose(), n.add(p$6(i.buttonElement, i.buttonPositionState, () => {
					this.send({ type: 11 });
				})));
			});
		}), this.on(5, (n, i) => {
			var s;
			this.actions.onChange(i.value), this.state.dataRef.current.mode === 0 && (this.actions.closeListbox(), (s = this.state.buttonElement) == null || s.focus({ preventScroll: !0 }));
		});
	}
	static new({ id: t, __demoMode: n = !1 }) {
		return new h$4({
			id: t,
			dataRef: { current: {} },
			listboxState: n ? 0 : 1,
			options: [],
			searchQuery: "",
			activeOptionIndex: null,
			activationTrigger: 1,
			buttonElement: null,
			optionsElement: null,
			pendingShouldSort: !1,
			pendingFocus: { focus: c$8.Nothing },
			frozenValue: !1,
			__demoMode: n,
			buttonPositionState: c$4.Idle
		});
	}
	reduce(t, n) {
		return u$23(n.type, D$2, t, n);
	}
};
//#endregion
//#region node_modules/@headlessui/react/dist/components/listbox/listbox-machine-glue.js
var c$1 = (0, import_react.createContext)(null);
function p$2(o) {
	let e = (0, import_react.useContext)(c$1);
	if (e === null) {
		let t = /* @__PURE__ */ new Error(`<${o} /> is missing a parent <Listbox /> component.`);
		throw Error.captureStackTrace && Error.captureStackTrace(t, u$3), t;
	}
	return e;
}
function u$3({ id: o, __demoMode: e = !1 }) {
	let t = (0, import_react.useMemo)(() => h$4.new({
		id: o,
		__demoMode: e
	}), []);
	return c$7(() => t.dispose()), t;
}
//#endregion
//#region node_modules/@headlessui/react/dist/components/listbox/listbox.js
var oe$2 = (0, import_react.createContext)(null);
oe$2.displayName = "ListboxDataContext";
function Q$3(b) {
	let E = (0, import_react.useContext)(oe$2);
	if (E === null) {
		let m = /* @__PURE__ */ new Error(`<${b} /> is missing a parent <Listbox /> component.`);
		throw Error.captureStackTrace && Error.captureStackTrace(m, Q$3), m;
	}
	return E;
}
var Pt$1 = import_react.Fragment;
function gt$2(b, E) {
	let m = (0, import_react.useId)(), u = a$24(), { value: s, defaultValue: a, form: _, name: i, onChange: y, by: o, invalid: x = !1, disabled: O = u || !1, horizontal: l = !1, multiple: t = !1, __demoMode: p = !1, ...S } = b;
	const h = l ? "horizontal" : "vertical";
	let I = y$8(E), R = l$14(a), [c = t ? [] : void 0, L] = b$11(s, y, R), f = u$3({
		id: m,
		__demoMode: p
	}), k = (0, import_react.useRef)({
		static: !1,
		hold: !1
	}), N = (0, import_react.useRef)(/* @__PURE__ */ new Map()), C = u$16(o), V = (0, import_react.useCallback)((P) => u$23(n.mode, {
		[P$1.Multi]: () => c.some((W) => C(W, P)),
		[P$1.Single]: () => C(c, P)
	}), [c]), n = n$14({
		value: c,
		disabled: O,
		invalid: x,
		mode: t ? P$1.Multi : P$1.Single,
		orientation: h,
		onChange: L,
		compare: C,
		isSelected: V,
		optionsPropsRef: k,
		listRef: N
	});
	n$15(() => {
		f.state.dataRef.current = n;
	}, [n]);
	let F$6 = S$5(f, (P) => P.listboxState), U = x$7.get(null), H = S$5(U, (0, import_react.useCallback)((P) => U.selectors.isTop(P, m), [U, m])), [A, $] = S$5(f, (P) => [P.buttonElement, P.optionsElement]);
	k$9(H, [A, $], (P, W) => {
		f.send({ type: k$3.CloseListbox }), H$5(W, I$5.Loose) || (P.preventDefault(), A?.focus());
	});
	let r = n$14({
		open: F$6 === F.Open,
		disabled: O,
		invalid: x,
		value: c
	}), [M, ne] = V$3({ inherit: !0 }), re = { ref: I }, q = (0, import_react.useCallback)(() => {
		if (R !== void 0) return L == null ? void 0 : L(R);
	}, [L, R]), le = K$2();
	return import_react.createElement(ne, {
		value: M,
		props: { htmlFor: A == null ? void 0 : A.id },
		slot: {
			open: F$6 === F.Open,
			disabled: O
		}
	}, import_react.createElement(Ae$5, null, import_react.createElement(c$1.Provider, { value: f }, import_react.createElement(oe$2.Provider, { value: n }, import_react.createElement(c$9, { value: u$23(F$6, {
		[F.Open]: i$5.Open,
		[F.Closed]: i$5.Closed
	}) }, i != null && c != null && import_react.createElement(j$7, {
		disabled: O,
		data: { [i]: c },
		form: _,
		onReset: q
	}), le({
		ourProps: re,
		theirProps: S,
		slot: r,
		defaultTag: Pt$1,
		name: "Listbox"
	}))))));
}
var vt$1 = "button";
function Et$2(b, E) {
	let m = (0, import_react.useId)(), u = u$20(), s = Q$3("Listbox.Button"), a = p$2("Listbox.Button"), { id: _ = u || `headlessui-listbox-button-${m}`, disabled: i = s.disabled || !1, autoFocus: y = !1, ...o } = b, x = y$8(E, Fe$5(), a.actions.setButtonElement), O = be$1(), [l, t, p] = S$5(a, (r) => [
		r.listboxState,
		r.buttonElement,
		r.optionsElement
	]);
	L$3(l === F.Open, {
		trigger: t,
		action: (0, import_react.useCallback)((r) => {
			if (t != null && t.contains(r.target)) return S$3.Ignore;
			let M = r.target.closest("[role=\"option\"]:not([data-disabled])");
			return n$11(M) ? S$3.Select(M) : p != null && p.contains(r.target) ? S$3.Ignore : S$3.Close;
		}, [t, p]),
		close: a.actions.closeListbox,
		select: a.actions.selectActiveOption
	});
	let h = o$14((r) => {
		switch (r.key) {
			case o$10.Enter:
				g$7(r.currentTarget);
				break;
			case o$10.Space:
			case o$10.ArrowDown:
				r.preventDefault(), a.actions.openListbox({ focus: s.value ? c$8.Nothing : c$8.First });
				break;
			case o$10.ArrowUp:
				r.preventDefault(), a.actions.openListbox({ focus: s.value ? c$8.Nothing : c$8.Last });
				break;
		}
	}), I = o$14((r) => {
		switch (r.key) {
			case o$10.Space:
				r.preventDefault();
				break;
		}
	}), R = s$12((r) => {
		var M;
		a.state.listboxState === F.Open ? ((0, import_react_dom.flushSync)(() => a.actions.closeListbox()), (M = a.state.buttonElement) == null || M.focus({ preventScroll: !0 })) : (r.preventDefault(), a.actions.openListbox({ focus: c$8.Nothing }));
	}), c = o$14((r) => r.preventDefault()), L = N$2([_]), f = w$9(), { isFocusVisible: k, focusProps: N } = $0c4a58759813079a$export$4e328f61c538687f({ autoFocus: y }), { isHovered: C, hoverProps: V } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: i }), { pressed: n, pressProps: F$7 } = w$11({ disabled: i }), U = n$14({
		open: l === F.Open,
		active: n || l === F.Open,
		disabled: i,
		invalid: s.invalid,
		value: s.value,
		hover: C,
		focus: k,
		autofocus: y
	}), H = S$5(a, (r) => r.listboxState === F.Open), A = V$4(O(), {
		ref: x,
		id: _,
		type: e$3(b, t),
		"aria-haspopup": "listbox",
		"aria-controls": p == null ? void 0 : p.id,
		"aria-expanded": H,
		"aria-labelledby": L,
		"aria-describedby": f,
		disabled: i || void 0,
		autoFocus: y,
		onKeyDown: h,
		onKeyUp: I,
		onKeyPress: c
	}, R, N, V, F$7);
	return K$2()({
		ourProps: A,
		theirProps: o,
		slot: U,
		defaultTag: vt$1,
		name: "Listbox.Button"
	});
}
var Oe$3 = (0, import_react.createContext)(!1), ht$2 = "div", At$1 = A$3.RenderStrategy | A$3.Static;
function _t$1(b, E) {
	let m = (0, import_react.useId)(), { id: u = `headlessui-listbox-options-${m}`, anchor: s, portal: a = !1, modal: _ = !0, transition: i = !1, ...y } = b, o = ye$2(s), [x, O] = (0, import_react.useState)(null);
	o && (a = !0);
	let l = Q$3("Listbox.Options"), t = p$2("Listbox.Options"), [p, S, h, I] = S$5(t, (e) => [
		e.listboxState,
		e.buttonElement,
		e.optionsElement,
		e.__demoMode
	]), R = u$12(S), c = u$12(h), L = u$8(), [f, k] = N$1(i, x, L !== null ? (L & i$5.Open) === i$5.Open : p === F.Open);
	p$7(f, S, t.actions.closeListbox);
	f$10(I ? !1 : _ && p === F.Open, c);
	y$6(I ? !1 : _ && p === F.Open, { allowed: (0, import_react.useCallback)(() => [S, h], [S, h]) });
	let n = S$5(t, t.selectors.didButtonMove) ? !1 : f, U = u$9(S$5(t, t.selectors.hasFrozenValue) && !b.static, l.value), H = (0, import_react.useCallback)((e) => l.compare(U, e), [l.compare, U]), A = S$5(t, (e) => {
		var de;
		if (o == null || !((de = o == null ? void 0 : o.to) != null && de.includes("selection"))) return null;
		let w = e.options.findIndex((ve) => H(ve.dataRef.current.value));
		return w === -1 && (w = 0), w;
	}), [r, M] = Re$2((() => {
		if (o == null) return;
		if (A === null) return {
			...o,
			inner: void 0
		};
		let e = Array.from(l.listRef.current.values());
		return {
			...o,
			inner: {
				listRef: { current: e },
				index: A
			}
		};
	})()), ne = Te$3(), re = y$8(E, o ? r : null, t.actions.setOptionsElement, O), q = p$11();
	(0, import_react.useEffect)(() => {
		let e = h;
		e && p === F.Open && (d$11(e) || e == null || e.focus({ preventScroll: !0 }));
	}, [p, h]);
	let le$3 = o$14((e) => {
		var w;
		switch (q.dispose(), e.key) {
			case o$10.Space: if (t.state.searchQuery !== "") return e.preventDefault(), e.stopPropagation(), t.actions.search(e.key);
			case o$10.Enter:
				e.preventDefault(), e.stopPropagation(), t.actions.selectActiveOption();
				break;
			case u$23(l.orientation, {
				vertical: o$10.ArrowDown,
				horizontal: o$10.ArrowRight
			}): return e.preventDefault(), e.stopPropagation(), t.actions.goToOption({ focus: c$8.Next });
			case u$23(l.orientation, {
				vertical: o$10.ArrowUp,
				horizontal: o$10.ArrowLeft
			}): return e.preventDefault(), e.stopPropagation(), t.actions.goToOption({ focus: c$8.Previous });
			case o$10.Home:
			case o$10.PageUp: return e.preventDefault(), e.stopPropagation(), t.actions.goToOption({ focus: c$8.First });
			case o$10.End:
			case o$10.PageDown: return e.preventDefault(), e.stopPropagation(), t.actions.goToOption({ focus: c$8.Last });
			case o$10.Escape:
				e.preventDefault(), e.stopPropagation(), (0, import_react_dom.flushSync)(() => t.actions.closeListbox()), (w = t.state.buttonElement) == null || w.focus({ preventScroll: !0 });
				return;
			case o$10.Tab:
				e.preventDefault(), e.stopPropagation(), (0, import_react_dom.flushSync)(() => t.actions.closeListbox()), R$4(t.state.buttonElement, e.shiftKey ? T$6.Previous : T$6.Next);
				break;
			default:
				e.key.length === 1 && (t.actions.search(e.key), q.setTimeout(() => t.actions.clearSearch(), 350));
				break;
		}
	}), P = S$5(t, (e) => {
		var w;
		return (w = e.buttonElement) == null ? void 0 : w.id;
	}), W = n$14({ open: p === F.Open }), Le = V$4(o ? ne() : {}, {
		id: u,
		ref: re,
		"aria-activedescendant": S$5(t, t.selectors.activeDescendantId),
		"aria-multiselectable": l.mode === P$1.Multi ? !0 : void 0,
		"aria-labelledby": P,
		"aria-orientation": l.orientation,
		onKeyDown: le$3,
		role: "listbox",
		tabIndex: p === F.Open ? 0 : void 0,
		style: {
			...y.style,
			...M,
			"--button-width": w$7(f, S, !0).width
		},
		...x$5(k)
	}), Pe = K$2(), ge = (0, import_react.useMemo)(() => l.mode === P$1.Multi ? l : {
		...l,
		isSelected: H
	}, [l, H]);
	return import_react.createElement(le, {
		enabled: a ? b.static || f : !1,
		ownerDocument: R
	}, import_react.createElement(oe$2.Provider, { value: ge }, Pe({
		ourProps: Le,
		theirProps: y,
		slot: W,
		defaultTag: ht$2,
		features: At$1,
		visible: n,
		name: "Listbox.Options"
	})));
}
var St = "div";
function Dt$1(b, E) {
	let m = (0, import_react.useId)(), { id: u = `headlessui-listbox-option-${m}`, disabled: s = !1, value: a, ..._ } = b, i = (0, import_react.useContext)(Oe$3) === !0, y = Q$3("Listbox.Option"), o = p$2("Listbox.Option"), x = S$5(o, (n) => o.selectors.isActive(n, u)), O = y.isSelected(a), l = (0, import_react.useRef)(null), t = s$3(l), p = s$17({
		disabled: s,
		value: a,
		domRef: l,
		get textValue() {
			return t();
		}
	}), S = y$8(E, l, (n) => {
		n ? y.listRef.current.set(u, n) : y.listRef.current.delete(u);
	}), h = S$5(o, (n) => o.selectors.shouldScrollIntoView(n, u));
	n$15(() => {
		if (h) return o$16().requestAnimationFrame(() => {
			var n, F;
			(F = (n = l.current) == null ? void 0 : n.scrollIntoView) == null || F.call(n, { block: "nearest" });
		});
	}, [h, l]), n$15(() => {
		if (!i) return o.actions.registerOption(u, p), () => o.actions.unregisterOption(u);
	}, [
		p,
		u,
		i
	]);
	let I = o$14((n) => {
		if (s) return n.preventDefault();
		o.actions.selectOption(a);
	}), R = o$14(() => {
		if (s) return o.actions.goToOption({ focus: c$8.Nothing });
		o.actions.goToOption({
			focus: c$8.Specific,
			id: u
		});
	}), c = u$10(), L = o$14((n) => c.update(n)), f = o$14((n) => {
		c.wasMoved(n) && (s || x && o.state.activationTrigger === C$2.Pointer || o.actions.goToOption({
			focus: c$8.Specific,
			id: u
		}, C$2.Pointer));
	}), k = o$14((n) => {
		c.wasMoved(n) && (s || x && o.state.activationTrigger === C$2.Pointer && o.actions.goToOption({ focus: c$8.Nothing }));
	}), N = n$14({
		active: x,
		focus: x,
		selected: O,
		disabled: s,
		selectedOption: O && i
	}), C = i ? {} : {
		id: u,
		ref: S,
		role: "option",
		tabIndex: s === !0 ? void 0 : -1,
		"aria-disabled": s === !0 ? !0 : void 0,
		"aria-selected": O,
		disabled: void 0,
		onClick: I,
		onFocus: R,
		onPointerEnter: L,
		onMouseEnter: L,
		onPointerMove: f,
		onMouseMove: f,
		onPointerLeave: k,
		onMouseLeave: k
	}, V = K$2();
	return !O && i ? null : V({
		ourProps: C,
		theirProps: _,
		slot: N,
		defaultTag: St,
		name: "Listbox.Option"
	});
}
var Rt$1 = import_react.Fragment;
function Ft$1(b, E) {
	let { options: m, placeholder: u, ...s } = b, _ = { ref: y$8(E) }, i = Q$3("ListboxSelectedOption"), y = n$14({}), o = i.value === void 0 || i.value === null || i.mode === P$1.Multi && Array.isArray(i.value) && i.value.length === 0, x = K$2();
	return import_react.createElement(Oe$3.Provider, { value: !0 }, x({
		ourProps: _,
		theirProps: {
			...s,
			children: import_react.createElement(import_react.Fragment, null, u && o ? u : m)
		},
		slot: y,
		defaultTag: Rt$1,
		name: "ListboxSelectedOption"
	}));
}
var Ct$1 = Y$3(gt$2), Mt = Y$3(Et$2), wt = Z, Bt = Y$3(_t$1), It = Y$3(Dt$1), kt = Y$3(Ft$1), Mo = Object.assign(Ct$1, {
	Button: Mt,
	Label: wt,
	Options: Bt,
	Option: It,
	SelectedOption: kt
});
//#endregion
//#region node_modules/@headlessui/react/dist/components/menu/menu-machine.js
var y$1 = Object.defineProperty;
var M$3 = (e, i, t) => i in e ? y$1(e, i, {
	enumerable: !0,
	configurable: !0,
	writable: !0,
	value: t
}) : e[i] = t;
var S = (e, i, t) => (M$3(e, typeof i != "symbol" ? i + "" : i, t), t);
var P = ((t) => (t[t.Open = 0] = "Open", t[t.Closed = 1] = "Closed", t))(P || {}), D = ((t) => (t[t.Pointer = 0] = "Pointer", t[t.Other = 1] = "Other", t))(D || {}), C$1 = ((o) => (o[o.OpenMenu = 0] = "OpenMenu", o[o.CloseMenu = 1] = "CloseMenu", o[o.GoToItem = 2] = "GoToItem", o[o.Search = 3] = "Search", o[o.ClearSearch = 4] = "ClearSearch", o[o.RegisterItems = 5] = "RegisterItems", o[o.UnregisterItems = 6] = "UnregisterItems", o[o.SetButtonElement = 7] = "SetButtonElement", o[o.SetItemsElement = 8] = "SetItemsElement", o[o.SortItems = 9] = "SortItems", o[o.MarkButtonAsMoved = 10] = "MarkButtonAsMoved", o))(C$1 || {});
function x(e, i = (t) => t) {
	let t = e.activeItemIndex !== null ? e.items[e.activeItemIndex] : null, n = G$3(i(e.items.slice()), (s) => s.dataRef.current.domRef.current), r = t ? n.indexOf(t) : null;
	return r === -1 && (r = null), {
		items: n,
		activeItemIndex: r
	};
}
var k$2 = {
	[1](e) {
		if (e.menuState === 1) return e;
		let i = e.buttonElement ? c$4.Tracked(a$9(e.buttonElement)) : e.buttonPositionState;
		return {
			...e,
			activeItemIndex: null,
			pendingFocus: { focus: c$8.Nothing },
			menuState: 1,
			buttonPositionState: i
		};
	},
	[0](e, i) {
		return e.menuState === 0 ? e : {
			...e,
			__demoMode: !1,
			pendingFocus: i.focus,
			menuState: 0,
			buttonPositionState: c$4.Idle
		};
	},
	[2]: (e, i) => {
		var s, l, a, I, f;
		if (e.menuState === 1) return e;
		let t = {
			...e,
			searchQuery: "",
			activationTrigger: (s = i.trigger) != null ? s : 1,
			__demoMode: !1
		};
		if (i.focus === c$8.Nothing) return {
			...t,
			activeItemIndex: null
		};
		if (i.focus === c$8.Specific) return {
			...t,
			activeItemIndex: e.items.findIndex((d) => d.id === i.id)
		};
		if (i.focus === c$8.Previous) {
			let d = e.activeItemIndex;
			if (d !== null) {
				let o = e.items[d].dataRef.current.domRef, c = f$7(i, {
					resolveItems: () => e.items,
					resolveActiveIndex: () => e.activeItemIndex,
					resolveId: (u) => u.id,
					resolveDisabled: (u) => u.dataRef.current.disabled
				});
				if (c !== null) {
					let u = e.items[c].dataRef.current.domRef;
					if (((l = o.current) == null ? void 0 : l.previousElementSibling) === u.current || ((a = u.current) == null ? void 0 : a.previousElementSibling) === null) return {
						...t,
						activeItemIndex: c
					};
				}
			}
		} else if (i.focus === c$8.Next) {
			let d = e.activeItemIndex;
			if (d !== null) {
				let o = e.items[d].dataRef.current.domRef, c = f$7(i, {
					resolveItems: () => e.items,
					resolveActiveIndex: () => e.activeItemIndex,
					resolveId: (u) => u.id,
					resolveDisabled: (u) => u.dataRef.current.disabled
				});
				if (c !== null) {
					let u = e.items[c].dataRef.current.domRef;
					if (((I = o.current) == null ? void 0 : I.nextElementSibling) === u.current || ((f = u.current) == null ? void 0 : f.nextElementSibling) === null) return {
						...t,
						activeItemIndex: c
					};
				}
			}
		}
		let n = x(e), r = f$7(i, {
			resolveItems: () => n.items,
			resolveActiveIndex: () => n.activeItemIndex,
			resolveId: (d) => d.id,
			resolveDisabled: (d) => d.dataRef.current.disabled
		});
		return {
			...t,
			...n,
			activeItemIndex: r
		};
	},
	[3]: (e, i) => {
		let n = e.searchQuery !== "" ? 0 : 1, r = e.searchQuery + i.value.toLowerCase(), l = (e.activeItemIndex !== null ? e.items.slice(e.activeItemIndex + n).concat(e.items.slice(0, e.activeItemIndex + n)) : e.items).find((I) => {
			var f;
			return ((f = I.dataRef.current.textValue) == null ? void 0 : f.startsWith(r)) && !I.dataRef.current.disabled;
		}), a = l ? e.items.indexOf(l) : -1;
		return a === -1 || a === e.activeItemIndex ? {
			...e,
			searchQuery: r
		} : {
			...e,
			searchQuery: r,
			activeItemIndex: a,
			activationTrigger: 1
		};
	},
	[4](e) {
		return e.searchQuery === "" ? e : {
			...e,
			searchQuery: "",
			searchActiveItemIndex: null
		};
	},
	[5]: (e, i) => {
		let t = e.items.concat(i.items.map((r) => r)), n = e.activeItemIndex;
		return e.pendingFocus.focus !== c$8.Nothing && (n = f$7(e.pendingFocus, {
			resolveItems: () => t,
			resolveActiveIndex: () => e.activeItemIndex,
			resolveId: (r) => r.id,
			resolveDisabled: (r) => r.dataRef.current.disabled
		})), {
			...e,
			items: t,
			activeItemIndex: n,
			pendingFocus: { focus: c$8.Nothing },
			pendingShouldSort: !0
		};
	},
	[6]: (e, i) => {
		let t = e.items, n = [], r = new Set(i.items);
		for (let [s, l] of t.entries()) if (r.has(l.id) && (n.push(s), r.delete(l.id), r.size === 0)) break;
		if (n.length > 0) {
			t = t.slice();
			for (let s of n.reverse()) t.splice(s, 1);
		}
		return {
			...e,
			items: t,
			activationTrigger: 1
		};
	},
	[7]: (e, i) => e.buttonElement === i.element ? e : {
		...e,
		buttonElement: i.element
	},
	[8]: (e, i) => e.itemsElement === i.element ? e : {
		...e,
		itemsElement: i.element
	},
	[9]: (e) => e.pendingShouldSort ? {
		...e,
		...x(e),
		pendingShouldSort: !1
	} : e,
	[10](e) {
		return e.buttonPositionState.kind !== "Tracked" ? e : {
			...e,
			buttonPositionState: c$4.Moved
		};
	}
};
var h$3 = class h$3 extends T$7 {
	constructor(t) {
		super(t);
		S(this, "actions", {
			registerItem: k$11(() => {
				let t = [], n = /* @__PURE__ */ new Set();
				return [(r, s) => {
					n.has(s) || (n.add(s), t.push({
						id: r,
						dataRef: s
					}));
				}, () => (n.clear(), this.send({
					type: 5,
					items: t.splice(0)
				}))];
			}),
			unregisterItem: k$11(() => {
				let t = [];
				return [(n) => t.push(n), () => this.send({
					type: 6,
					items: t.splice(0)
				})];
			})
		});
		S(this, "selectors", {
			activeDescendantId(t) {
				var s;
				let n = t.activeItemIndex, r = t.items;
				return n === null || (s = r[n]) == null ? void 0 : s.id;
			},
			isActive(t, n) {
				var l;
				let r = t.activeItemIndex, s = t.items;
				return r !== null ? ((l = s[r]) == null ? void 0 : l.id) === n : !1;
			},
			shouldScrollIntoView(t, n) {
				return t.__demoMode || t.menuState !== 0 || t.activationTrigger === 0 ? !1 : this.isActive(t, n);
			},
			didButtonMove(t) {
				return t.buttonPositionState.kind === "Moved";
			}
		});
		this.on(5, () => {
			this.disposables.requestAnimationFrame(() => {
				this.send({ type: 9 });
			});
		});
		{
			let n = this.state.id, r = x$7.get(null);
			this.disposables.add(r.on(k$10.Push, (s) => {
				!r.selectors.isTop(s, n) && this.state.menuState === 0 && this.send({ type: 1 });
			})), this.on(0, () => r.actions.push(n)), this.on(1, () => r.actions.pop(n));
		}
		this.disposables.group((n) => {
			this.on(1, (r) => {
				r.buttonElement && (n.dispose(), n.add(p$6(r.buttonElement, r.buttonPositionState, () => {
					this.send({ type: 10 });
				})));
			});
		});
	}
	static new({ id: t, __demoMode: n = !1 }) {
		return new h$3({
			id: t,
			__demoMode: n,
			menuState: n ? 0 : 1,
			buttonElement: null,
			itemsElement: null,
			items: [],
			searchQuery: "",
			activeItemIndex: null,
			activationTrigger: 1,
			pendingShouldSort: !1,
			pendingFocus: { focus: c$8.Nothing },
			buttonPositionState: c$4.Idle
		});
	}
	reduce(t, n) {
		return u$23(n.type, k$2, t, n);
	}
};
//#endregion
//#region node_modules/@headlessui/react/dist/components/menu/menu-machine-glue.js
var a$2 = (0, import_react.createContext)(null);
function p$1(t) {
	let n = (0, import_react.useContext)(a$2);
	if (n === null) {
		let e = /* @__PURE__ */ new Error(`<${t} /> is missing a parent <Menu /> component.`);
		throw Error.captureStackTrace && Error.captureStackTrace(e, s$2), e;
	}
	return n;
}
function s$2({ id: t, __demoMode: n = !1 }) {
	let e = (0, import_react.useMemo)(() => h$3.new({
		id: t,
		__demoMode: n
	}), []);
	return c$7(() => e.dispose()), e;
}
//#endregion
//#region node_modules/@headlessui/react/dist/components/menu/menu.js
var Ze = import_react.Fragment;
function et(m, y) {
	let l = (0, import_react.useId)(), { __demoMode: a = !1, ...p } = m, s = s$2({
		id: l,
		__demoMode: a
	}), [n, M, f] = S$5(s, (d) => [
		d.menuState,
		d.itemsElement,
		d.buttonElement
	]), _ = y$8(y), o = x$7.get(null);
	k$9(S$5(o, (0, import_react.useCallback)((d) => o.selectors.isTop(d, l), [o, l])), [f, M], (d, T) => {
		var P;
		s.send({ type: C$1.CloseMenu }), H$5(T, I$5.Loose) || (d.preventDefault(), (P = s.state.buttonElement) == null || P.focus());
	});
	let I = o$14(() => {
		s.send({ type: C$1.CloseMenu });
	}), b = n$14({
		open: n === P.Open,
		close: I
	}), i = { ref: _ }, g = K$2();
	return import_react.createElement(Ae$5, null, import_react.createElement(a$2.Provider, { value: s }, import_react.createElement(c$9, { value: u$23(n, {
		[P.Open]: i$5.Open,
		[P.Closed]: i$5.Closed
	}) }, g({
		ourProps: i,
		theirProps: p,
		slot: b,
		defaultTag: Ze,
		name: "Menu"
	}))));
}
var tt$1 = "button";
function ot(m, y) {
	let l = p$1("Menu.Button"), a = (0, import_react.useId)(), { id: p = `headlessui-menu-button-${a}`, disabled: s = !1, autoFocus: n = !1, ...M } = m, f = (0, import_react.useRef)(null), _ = be$1(), o = y$8(y, f, Fe$5(), o$14((t) => l.send({
		type: C$1.SetButtonElement,
		element: t
	}))), F = o$14((t) => {
		switch (t.key) {
			case o$10.Space:
			case o$10.Enter:
			case o$10.ArrowDown:
				t.preventDefault(), t.stopPropagation(), l.send({
					type: C$1.OpenMenu,
					focus: { focus: c$8.First }
				});
				break;
			case o$10.ArrowUp:
				t.preventDefault(), t.stopPropagation(), l.send({
					type: C$1.OpenMenu,
					focus: { focus: c$8.Last }
				});
				break;
		}
	}), I = o$14((t) => {
		switch (t.key) {
			case o$10.Space:
				t.preventDefault();
				break;
		}
	}), [b, i, g] = S$5(l, (t) => [
		t.menuState,
		t.buttonElement,
		t.itemsElement
	]);
	L$3(b === P.Open, {
		trigger: i,
		action: (0, import_react.useCallback)((t) => {
			if (i != null && i.contains(t.target)) return S$3.Ignore;
			let S = t.target.closest("[role=\"menuitem\"]:not([data-disabled])");
			return n$11(S) ? S$3.Select(S) : g != null && g.contains(t.target) ? S$3.Ignore : S$3.Close;
		}, [i, g]),
		close: (0, import_react.useCallback)(() => l.send({ type: C$1.CloseMenu }), []),
		select: (0, import_react.useCallback)((t) => t.click(), [])
	});
	let T = s$12((t) => {
		var S;
		s || (b === P.Open ? ((0, import_react_dom.flushSync)(() => l.send({ type: C$1.CloseMenu })), (S = f.current) == null || S.focus({ preventScroll: !0 })) : (t.preventDefault(), l.send({
			type: C$1.OpenMenu,
			focus: { focus: c$8.Nothing },
			trigger: D.Pointer
		})));
	}), { isFocusVisible: P$6, focusProps: L } = $0c4a58759813079a$export$4e328f61c538687f({ autoFocus: n }), { isHovered: O, hoverProps: v } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: s }), { pressed: D$11, pressProps: U } = w$11({ disabled: s }), H = n$14({
		open: b === P.Open,
		active: D$11 || b === P.Open,
		disabled: s,
		hover: O,
		focus: P$6,
		autofocus: n
	}), G = V$4(_(), {
		ref: o,
		id: p,
		type: e$3(m, f.current),
		"aria-haspopup": "menu",
		"aria-controls": g == null ? void 0 : g.id,
		"aria-expanded": b === P.Open,
		disabled: s || void 0,
		autoFocus: n,
		onKeyDown: F,
		onKeyUp: I
	}, T, L, v, U);
	return K$2()({
		ourProps: G,
		theirProps: M,
		slot: H,
		defaultTag: tt$1,
		name: "Menu.Button"
	});
}
var nt = "div", rt = A$3.RenderStrategy | A$3.Static;
function at(m, y) {
	let l = (0, import_react.useId)(), { id: a = `headlessui-menu-items-${l}`, anchor: p, portal: s = !1, modal: n = !0, transition: M = !1, ...f } = m, _ = ye$2(p), o = p$1("Menu.Items"), [F, I] = Re$2(_), b = Te$3(), [i, g] = (0, import_react.useState)(null), d = y$8(y, _ ? F : null, o$14((e) => o.send({
		type: C$1.SetItemsElement,
		element: e
	})), g), [T, P$7] = S$5(o, (e) => [e.menuState, e.buttonElement]), L = u$12(P$7), O = u$12(i);
	_ && (s = !0);
	let v = u$8(), [D, U] = N$1(M, i, v !== null ? (v & i$5.Open) === i$5.Open : T === P.Open);
	p$7(D, P$7, () => {
		o.send({ type: C$1.CloseMenu });
	});
	let H = S$5(o, (e) => e.__demoMode);
	f$10(H ? !1 : n && T === P.Open, O);
	y$6(H ? !1 : n && T === P.Open, { allowed: (0, import_react.useCallback)(() => [P$7, i], [P$7, i]) });
	let S = S$5(o, o.selectors.didButtonMove) ? !1 : D;
	(0, import_react.useEffect)(() => {
		let e = i;
		e && T === P.Open && (d$11(e) || e.focus({ preventScroll: !0 }));
	}, [T, i]), F$4(T === P.Open, {
		container: i,
		accept(e) {
			return e.getAttribute("role") === "menuitem" ? NodeFilter.FILTER_REJECT : e.hasAttribute("role") ? NodeFilter.FILTER_SKIP : NodeFilter.FILTER_ACCEPT;
		},
		walk(e) {
			e.setAttribute("role", "none");
		}
	});
	let z = p$11(), le$2 = o$14((e) => {
		var N, Y, Z;
		switch (z.dispose(), e.key) {
			case o$10.Space: if (o.state.searchQuery !== "") return e.preventDefault(), e.stopPropagation(), o.send({
				type: C$1.Search,
				value: e.key
			});
			case o$10.Enter:
				if (e.preventDefault(), e.stopPropagation(), o.state.activeItemIndex !== null) {
					let { dataRef: de } = o.state.items[o.state.activeItemIndex];
					(Y = (N = de.current) == null ? void 0 : N.domRef.current) == null || Y.click();
				}
				o.send({ type: C$1.CloseMenu }), K$1(o.state.buttonElement);
				break;
			case o$10.ArrowDown: return e.preventDefault(), e.stopPropagation(), o.send({
				type: C$1.GoToItem,
				focus: c$8.Next
			});
			case o$10.ArrowUp: return e.preventDefault(), e.stopPropagation(), o.send({
				type: C$1.GoToItem,
				focus: c$8.Previous
			});
			case o$10.Home:
			case o$10.PageUp: return e.preventDefault(), e.stopPropagation(), o.send({
				type: C$1.GoToItem,
				focus: c$8.First
			});
			case o$10.End:
			case o$10.PageDown: return e.preventDefault(), e.stopPropagation(), o.send({
				type: C$1.GoToItem,
				focus: c$8.Last
			});
			case o$10.Escape:
				e.preventDefault(), e.stopPropagation(), (0, import_react_dom.flushSync)(() => o.send({ type: C$1.CloseMenu })), (Z = o.state.buttonElement) == null || Z.focus({ preventScroll: !0 });
				break;
			case o$10.Tab:
				e.preventDefault(), e.stopPropagation(), (0, import_react_dom.flushSync)(() => o.send({ type: C$1.CloseMenu })), R$4(o.state.buttonElement, e.shiftKey ? T$6.Previous : T$6.Next);
				break;
			default:
				e.key.length === 1 && (o.send({
					type: C$1.Search,
					value: e.key
				}), z.setTimeout(() => o.send({ type: C$1.ClearSearch }), 350));
				break;
		}
	}), pe = o$14((e) => {
		switch (e.key) {
			case o$10.Space:
				e.preventDefault();
				break;
		}
	}), ie = n$14({ open: T === P.Open }), ue = V$4(_ ? b() : {}, {
		"aria-activedescendant": S$5(o, o.selectors.activeDescendantId),
		"aria-labelledby": S$5(o, (e) => {
			var N;
			return (N = e.buttonElement) == null ? void 0 : N.id;
		}),
		id: a,
		onKeyDown: le$2,
		onKeyUp: pe,
		role: "menu",
		tabIndex: T === P.Open ? 0 : void 0,
		ref: d,
		style: {
			...f.style,
			...I,
			"--button-width": w$7(D, P$7, !0).width
		},
		...x$5(U)
	}), me = K$2();
	return import_react.createElement(le, {
		enabled: s ? m.static || D : !1,
		ownerDocument: L
	}, me({
		ourProps: ue,
		theirProps: f,
		slot: ie,
		defaultTag: nt,
		features: rt,
		visible: S,
		name: "Menu.Items"
	}));
}
var st = import_react.Fragment;
function lt(m, y) {
	let l = (0, import_react.useId)(), { id: a = `headlessui-menu-item-${l}`, disabled: p = !1, ...s } = m, n = p$1("Menu.Item"), M = S$5(n, (t) => n.selectors.isActive(t, a)), f = (0, import_react.useRef)(null), _ = y$8(y, f), o = S$5(n, (t) => n.selectors.shouldScrollIntoView(t, a));
	n$15(() => {
		if (o) return o$16().requestAnimationFrame(() => {
			var t, S;
			(S = (t = f.current) == null ? void 0 : t.scrollIntoView) == null || S.call(t, { block: "nearest" });
		});
	}, [o, f]);
	let F = s$3(f), I = (0, import_react.useRef)({
		disabled: p,
		domRef: f,
		get textValue() {
			return F();
		}
	});
	n$15(() => {
		I.current.disabled = p;
	}, [I, p]), n$15(() => (n.actions.registerItem(a, I), () => n.actions.unregisterItem(a)), [I, a]);
	let b = o$14(() => {
		n.send({ type: C$1.CloseMenu });
	}), i = o$14((t) => {
		if (p) return t.preventDefault();
		n.send({ type: C$1.CloseMenu }), K$1(n.state.buttonElement);
	}), g = o$14(() => {
		if (p) return n.send({
			type: C$1.GoToItem,
			focus: c$8.Nothing
		});
		n.send({
			type: C$1.GoToItem,
			focus: c$8.Specific,
			id: a
		});
	}), d = u$10(), T = o$14((t) => d.update(t)), P = o$14((t) => {
		d.wasMoved(t) && (p || M || n.send({
			type: C$1.GoToItem,
			focus: c$8.Specific,
			id: a,
			trigger: D.Pointer
		}));
	}), L = o$14((t) => {
		d.wasMoved(t) && (p || M && n.state.activationTrigger === D.Pointer && n.send({
			type: C$1.GoToItem,
			focus: c$8.Nothing
		}));
	}), [O, v] = V$3(), [D$12, U] = H$6(), H = n$14({
		active: M,
		focus: M,
		disabled: p,
		close: b
	}), G = {
		id: a,
		ref: _,
		role: "menuitem",
		tabIndex: p === !0 ? void 0 : -1,
		"aria-disabled": p === !0 ? !0 : void 0,
		"aria-labelledby": O,
		"aria-describedby": D$12,
		disabled: void 0,
		onClick: i,
		onFocus: g,
		onPointerEnter: T,
		onMouseEnter: T,
		onPointerMove: P,
		onMouseMove: P,
		onPointerLeave: L,
		onMouseLeave: L
	}, w = K$2();
	return import_react.createElement(v, null, import_react.createElement(U, null, w({
		ourProps: G,
		theirProps: s,
		slot: H,
		defaultTag: st,
		name: "Menu.Item"
	})));
}
var pt = "div";
function it(m, y) {
	let [l, a] = V$3(), p = m, s = {
		ref: y,
		"aria-labelledby": l,
		role: "group"
	}, n = K$2();
	return import_react.createElement(a, null, n({
		ourProps: s,
		theirProps: p,
		slot: {},
		defaultTag: pt,
		name: "Menu.Section"
	}));
}
var ut = "header";
function mt$1(m, y) {
	let l = (0, import_react.useId)(), { id: a = `headlessui-menu-heading-${l}`, ...p } = m, s = C$6();
	n$15(() => s.register(a), [a, s.register]);
	let n = {
		id: a,
		ref: y,
		role: "presentation",
		...s.props
	};
	return K$2()({
		ourProps: n,
		theirProps: p,
		slot: {},
		defaultTag: ut,
		name: "Menu.Heading"
	});
}
var dt$1 = "div";
function Tt$1(m, y) {
	let l = m, a = {
		ref: y,
		role: "separator"
	};
	return K$2()({
		ourProps: a,
		theirProps: l,
		slot: {},
		defaultTag: dt$1,
		name: "Menu.Separator"
	});
}
var ct = Y$3(et), ft = Y$3(ot), yt = Y$3(at), gt = Y$3(lt), Pt = Y$3(it), Et = Y$3(mt$1), Mt$1 = Y$3(Tt$1), lo = Object.assign(ct, {
	Button: ft,
	Items: yt,
	Item: gt,
	Section: Pt,
	Heading: Et,
	Separator: Mt$1
});
//#endregion
//#region node_modules/@headlessui/react/dist/components/popover/popover-machine.js
var f$2 = Object.defineProperty;
var b$2 = (t, n, e) => n in t ? f$2(t, n, {
	enumerable: !0,
	configurable: !0,
	writable: !0,
	value: e
}) : t[n] = e;
var p = (t, n, e) => (b$2(t, typeof n != "symbol" ? n + "" : n, e), e);
var v$1 = ((e) => (e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e))(v$1 || {}), h$1 = ((r) => (r[r.OpenPopover = 0] = "OpenPopover", r[r.ClosePopover = 1] = "ClosePopover", r[r.SetButton = 2] = "SetButton", r[r.SetButtonId = 3] = "SetButtonId", r[r.SetPanel = 4] = "SetPanel", r[r.SetPanelId = 5] = "SetPanelId", r))(h$1 || {});
var E$2 = {
	[0]: (t) => t.popoverState === 0 ? t : {
		...t,
		popoverState: 0,
		__demoMode: !1
	},
	[1](t) {
		return t.popoverState === 1 ? t : {
			...t,
			popoverState: 1,
			__demoMode: !1
		};
	},
	[2](t, n) {
		return t.button === n.button ? t : {
			...t,
			button: n.button
		};
	},
	[3](t, n) {
		return t.buttonId === n.buttonId ? t : {
			...t,
			buttonId: n.buttonId
		};
	},
	[4](t, n) {
		return t.panel === n.panel ? t : {
			...t,
			panel: n.panel
		};
	},
	[5](t, n) {
		return t.panelId === n.panelId ? t : {
			...t,
			panelId: n.panelId
		};
	}
};
var d$1 = class d$1 extends T$7 {
	constructor(e) {
		super(e);
		p(this, "actions", {
			close: () => this.send({ type: 1 }),
			refocusableClose: (e) => {
				this.actions.close();
				(e ? n$11(e) ? e : "current" in e && n$11(e.current) ? e.current : this.state.button : this.state.button)?.focus();
			},
			open: () => this.send({ type: 0 }),
			setButtonId: (e) => this.send({
				type: 3,
				buttonId: e
			}),
			setButton: (e) => this.send({
				type: 2,
				button: e
			}),
			setPanelId: (e) => this.send({
				type: 5,
				panelId: e
			}),
			setPanel: (e) => this.send({
				type: 4,
				panel: e
			})
		});
		p(this, "selectors", { isPortalled: (e) => {
			var i;
			if (!e.button || !e.panel) return !1;
			let o = (i = l$16(e.button)) != null ? i : document;
			for (let u of o.querySelectorAll("body > *")) if (Number(u == null ? void 0 : u.contains(e.button)) ^ Number(u == null ? void 0 : u.contains(e.panel))) return !0;
			let l = x$6(o), s = l.indexOf(e.button), r = (s + l.length - 1) % l.length, c = (s + 1) % l.length, S = l[r], m = l[c];
			return !e.panel.contains(S) && !e.panel.contains(m);
		} });
		{
			let o = this.state.id, l = x$7.get(null);
			this.on(0, () => l.actions.push(o)), this.on(1, () => l.actions.pop(o));
		}
	}
	static new({ id: e, __demoMode: o = !1 }) {
		return new d$1({
			id: e,
			__demoMode: o,
			popoverState: o ? 0 : 1,
			buttons: { current: [] },
			button: null,
			buttonId: null,
			panel: null,
			panelId: null,
			beforePanelSentinel: { current: null },
			afterPanelSentinel: { current: null },
			afterButtonSentinel: { current: null }
		});
	}
	reduce(e, o) {
		return u$23(o.type, E$2, e, o);
	}
};
//#endregion
//#region node_modules/@headlessui/react/dist/components/popover/popover-machine-glue.js
var a$1 = (0, import_react.createContext)(null);
function u$1(r) {
	let o = (0, import_react.useContext)(a$1);
	if (o === null) {
		let e = /* @__PURE__ */ new Error(`<${r} /> is missing a parent <Popover /> component.`);
		throw Error.captureStackTrace && Error.captureStackTrace(e, u$1), e;
	}
	return o;
}
function f$1({ id: r, __demoMode: o = !1 }) {
	let e = (0, import_react.useMemo)(() => d$1.new({
		id: r,
		__demoMode: o
	}), []);
	return c$7(() => e.dispose()), e;
}
//#endregion
//#region node_modules/@headlessui/react/dist/components/popover/popover.js
var Fe$3 = (0, import_react.createContext)(null);
Fe$3.displayName = "PopoverGroupContext";
function we$2() {
	return (0, import_react.useContext)(Fe$3);
}
var de = (0, import_react.createContext)(null);
de.displayName = "PopoverPanelContext";
function mt() {
	return (0, import_react.useContext)(de);
}
var vt = "div";
function Tt(E, O) {
	var M;
	let R = (0, import_react.useId)(), { __demoMode: B = !1, ...T } = E, n = f$1({
		id: R,
		__demoMode: B
	}), b = (0, import_react.useRef)(null), t = y$8(O, T$9((r) => {
		b.current = r;
	})), [A, d, o, C, y] = S$5(n, (0, import_react.useCallback)((r) => [
		r.popoverState,
		r.button,
		r.panel,
		r.buttonId,
		r.panelId
	], [])), D = c$14((M = b.current) != null ? M : d), _ = s$17(C), a = s$17(y), u = (0, import_react.useMemo)(() => ({
		buttonId: _,
		panelId: a,
		close: n.actions.close
	}), [
		_,
		a,
		n
	]), f = we$2(), l = f == null ? void 0 : f.registerPopover, c = o$14(() => {
		var F, G;
		let r = e$7((F = b.current) != null ? F : d);
		return (G = f == null ? void 0 : f.isFocusWithinPopoverGroup()) != null ? G : r && ((d == null ? void 0 : d.contains(r)) || (o == null ? void 0 : o.contains(r)));
	});
	(0, import_react.useEffect)(() => l == null ? void 0 : l(u), [l, u]);
	let [m, W] = oe$5(), V = x$3(d), j = S$1({
		mainTreeNode: V,
		portals: m,
		defaultContainers: [{ get current() {
			return n.state.button;
		} }, { get current() {
			return n.state.panel;
		} }]
	});
	E$6(D, "focus", (r) => {
		var F, G, h, k, I, H;
		r.target !== window && i$11(r.target) && n.state.popoverState === v$1.Open && (c() || n.state.button && n.state.panel && (j.contains(r.target) || (G = (F = n.state.beforePanelSentinel.current) == null ? void 0 : F.contains) != null && G.call(F, r.target) || (k = (h = n.state.afterPanelSentinel.current) == null ? void 0 : h.contains) != null && k.call(h, r.target) || (H = (I = n.state.afterButtonSentinel.current) == null ? void 0 : I.contains) != null && H.call(I, r.target) || n.actions.close()));
	}, !0);
	k$9(A === v$1.Open, j.resolveContainers, (r, F) => {
		n.actions.close(), H$5(F, I$5.Loose) || (r.preventDefault(), d?.focus());
	});
	let Y = n$14({
		open: A === v$1.Open,
		close: n.actions.refocusableClose
	}), $ = S$5(n, (0, import_react.useCallback)((r) => u$23(r.popoverState, {
		[v$1.Open]: i$5.Open,
		[v$1.Closed]: i$5.Closed
	}), [])), Q = { ref: t }, Z = K$2();
	return import_react.createElement(j$1, { node: V }, import_react.createElement(Ae$5, null, import_react.createElement(de.Provider, { value: null }, import_react.createElement(a$1.Provider, { value: n }, import_react.createElement(C$5, { value: n.actions.refocusableClose }, import_react.createElement(c$9, { value: $ }, import_react.createElement(W, null, Z({
		ourProps: Q,
		theirProps: T,
		slot: Y,
		defaultTag: vt,
		name: "Popover"
	}))))))));
}
var Et$1 = "button";
function bt(E, O) {
	let R = (0, import_react.useId)(), { id: B = `headlessui-popover-button-${R}`, disabled: T = !1, autoFocus: n = !1, ...b } = E, t = u$1("Popover.Button"), [A, d, o, C, y, D, _] = S$5(t, (0, import_react.useCallback)((e) => [
		e.popoverState,
		t.selectors.isPortalled(e),
		e.button,
		e.buttonId,
		e.panel,
		e.panelId,
		e.afterButtonSentinel
	], [])), a = (0, import_react.useRef)(null), u = `headlessui-focus-sentinel-${(0, import_react.useId)()}`, f = we$2(), l = f == null ? void 0 : f.closeOthers, m = mt() !== null;
	(0, import_react.useEffect)(() => {
		if (!m) return t.actions.setButtonId(B), () => t.actions.setButtonId(null);
	}, [
		m,
		B,
		t
	]);
	let [W] = (0, import_react.useState)(() => Symbol()), V = y$8(a, O, Fe$5(), o$14((e) => {
		if (!m) {
			if (e) t.state.buttons.current.push(W);
			else {
				let p = t.state.buttons.current.indexOf(W);
				p !== -1 && t.state.buttons.current.splice(p, 1);
			}
			t.state.buttons.current.length > 1 && console.warn("You are already using a <Popover.Button /> but only 1 <Popover.Button /> is supported."), e && t.actions.setButton(e);
		}
	})), j = y$8(a, O), L = o$14((e) => {
		var p, i, x;
		if (m) {
			if (t.state.popoverState === v$1.Closed) return;
			switch (e.key) {
				case o$10.Space:
				case o$10.Enter:
					e.preventDefault(), (i = (p = e.target).click) == null || i.call(p), t.actions.close(), (x = t.state.button) == null || x.focus();
					break;
			}
		} else switch (e.key) {
			case o$10.Space:
			case o$10.Enter:
				e.preventDefault(), e.stopPropagation(), t.state.popoverState === v$1.Closed ? (l?.(t.state.buttonId), t.actions.open()) : t.actions.close();
				break;
			case o$10.Escape:
				if (t.state.popoverState !== v$1.Open) return l == null ? void 0 : l(t.state.buttonId);
				if (!a.current) return;
				let S = e$7(a.current);
				if (S && !a.current.contains(S)) return;
				e.preventDefault(), e.stopPropagation(), t.actions.close();
				break;
		}
	}), Y = o$14((e) => {
		m || e.key === o$10.Space && e.preventDefault();
	}), $ = o$14((e) => {
		var p, i;
		s$14(e.currentTarget) || T || (m ? (t.actions.close(), (p = t.state.button) == null || p.focus()) : (e.preventDefault(), e.stopPropagation(), t.state.popoverState === v$1.Closed ? (l?.(t.state.buttonId), t.actions.open()) : t.actions.close(), (i = t.state.button) == null || i.focus()));
	}), Q = o$14((e) => {
		e.preventDefault(), e.stopPropagation();
	}), { isFocusVisible: Z, focusProps: M } = $0c4a58759813079a$export$4e328f61c538687f({ autoFocus: n }), { isHovered: r, hoverProps: F } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: T }), { pressed: G, pressProps: h } = w$11({ disabled: T }), k = A === v$1.Open, I = n$14({
		open: k,
		active: G || k,
		disabled: T,
		hover: r,
		focus: Z,
		autofocus: n
	}), H = e$3(E, o), fe = m ? V$4({
		ref: j,
		type: H,
		onKeyDown: L,
		onClick: $,
		disabled: T || void 0,
		autoFocus: n
	}, M, F, h) : V$4({
		ref: V,
		id: C,
		type: H,
		"aria-expanded": A === v$1.Open,
		"aria-controls": y ? D : void 0,
		disabled: T || void 0,
		autoFocus: n,
		onKeyDown: L,
		onKeyUp: Y,
		onClick: $,
		onMouseDown: Q
	}, M, F, h), ae = u$4(), Pe = o$14(() => {
		if (!n$11(t.state.panel)) return;
		let e = t.state.panel;
		function p() {
			u$23(ae.current, {
				[a$6.Forwards]: () => v$5(e, T$6.First),
				[a$6.Backwards]: () => v$5(e, T$6.Last)
			}) === A$2.Error && v$5(x$6(r$18(t.state.button)).filter((x) => x.dataset.headlessuiFocusGuard !== "true"), u$23(ae.current, {
				[a$6.Forwards]: T$6.Next,
				[a$6.Backwards]: T$6.Previous
			}), { relativeTo: t.state.button });
		}
		p();
	}), s = K$2();
	return import_react.createElement(import_react.Fragment, null, s({
		ourProps: fe,
		theirProps: b,
		slot: I,
		defaultTag: Et$1,
		name: "Popover.Button"
	}), k && !m && d && import_react.createElement(f$17, {
		id: u,
		ref: _,
		features: s$15.Focusable,
		"data-headlessui-focus-guard": !0,
		as: "button",
		type: "button",
		onFocus: Pe
	}));
}
var yt$2 = "div", gt$1 = A$3.RenderStrategy | A$3.Static;
function Ne$2(E, O) {
	let R = (0, import_react.useId)(), { id: B = `headlessui-popover-backdrop-${R}`, transition: T = !1, ...n } = E, b = u$1("Popover.Backdrop"), t = S$5(b, (0, import_react.useCallback)((l) => l.popoverState, [])), [A, d] = (0, import_react.useState)(null), o = y$8(O, d), C = u$8(), [y, D] = N$1(T, A, C !== null ? (C & i$5.Open) === i$5.Open : t === v$1.Open), _ = o$14((l) => {
		if (s$14(l.currentTarget)) return l.preventDefault();
		b.actions.close();
	}), a = n$14({ open: t === v$1.Open }), u = {
		ref: o,
		id: B,
		"aria-hidden": !0,
		onClick: _,
		...x$5(D)
	};
	return K$2()({
		ourProps: u,
		theirProps: n,
		slot: a,
		defaultTag: yt$2,
		features: gt$1,
		visible: y,
		name: "Popover.Backdrop"
	});
}
var Rt = "div", Ft = A$3.RenderStrategy | A$3.Static;
function Bt$1(E, O) {
	let R = (0, import_react.useId)(), { id: B = `headlessui-popover-panel-${R}`, focus: T = !1, anchor: n, portal: b = !1, modal: t = !1, transition: A = !1, ...d } = E, o = u$1("Popover.Panel"), C = S$5(o, o.selectors.isPortalled), [y, D, _, a, u] = S$5(o, (0, import_react.useCallback)((s) => [
		s.popoverState,
		s.button,
		s.__demoMode,
		s.beforePanelSentinel,
		s.afterPanelSentinel
	], [])), f = `headlessui-focus-sentinel-before-${R}`, l = `headlessui-focus-sentinel-after-${R}`, c = (0, import_react.useRef)(null), m = ye$2(n), [W, V] = Re$2(m), j = Te$3();
	m && (b = !0);
	let [L, Y] = (0, import_react.useState)(null), $ = y$8(c, O, m ? W : null, o.actions.setPanel, Y), Q = u$12(D), Z = u$12(c.current);
	n$15(() => (o.actions.setPanelId(B), () => o.actions.setPanelId(null)), [B, o]);
	let M = u$8(), [r, F] = N$1(A, L, M !== null ? (M & i$5.Open) === i$5.Open : y === v$1.Open);
	p$7(r, D, o.actions.close), f$10(_ ? !1 : t && r, Z);
	let h = o$14((s) => {
		var e;
		switch (s.key) {
			case o$10.Escape:
				if (o.state.popoverState !== v$1.Open || !c.current) return;
				let p = e$7(c.current);
				if (p && !c.current.contains(p)) return;
				s.preventDefault(), s.stopPropagation(), o.actions.close(), (e = o.state.button) == null || e.focus();
				break;
		}
	});
	(0, import_react.useEffect)(() => {
		var s;
		E.static || y === v$1.Closed && ((s = E.unmount) == null || s) && o.actions.setPanel(null);
	}, [
		y,
		E.unmount,
		E.static,
		o
	]), (0, import_react.useEffect)(() => {
		if (_ || !T || y !== v$1.Open || !c.current) return;
		let s = e$7(c.current);
		c.current.contains(s) || v$5(c.current, T$6.First);
	}, [
		_,
		T,
		c.current,
		y
	]);
	let k = n$14({
		open: y === v$1.Open,
		close: o.actions.refocusableClose
	}), I = V$4(m ? j() : {}, {
		ref: $,
		id: B,
		onKeyDown: h,
		onBlur: T && y === v$1.Open ? (s) => {
			var p, i, x, S, me;
			let e = s.relatedTarget;
			e && c.current && ((p = c.current) != null && p.contains(e) || (o.actions.close(), ((x = (i = a.current) == null ? void 0 : i.contains) != null && x.call(i, e) || (me = (S = u.current) == null ? void 0 : S.contains) != null && me.call(S, e)) && e.focus({ preventScroll: !0 })));
		} : void 0,
		tabIndex: -1,
		style: {
			...d.style,
			...V,
			"--button-width": w$7(r, D, !0).width
		},
		...x$5(F)
	}), H = u$4(), fe = o$14(() => {
		let s = c.current;
		if (!s) return;
		function e() {
			u$23(H.current, {
				[a$6.Forwards]: () => {
					var i;
					v$5(s, T$6.First) === A$2.Error && ((i = o.state.afterPanelSentinel.current) == null || i.focus());
				},
				[a$6.Backwards]: () => {
					var p;
					(p = o.state.button) == null || p.focus({ preventScroll: !0 });
				}
			});
		}
		e();
	}), ae = o$14(() => {
		let s = c.current;
		if (!s) return;
		function e() {
			u$23(H.current, {
				[a$6.Forwards]: () => {
					var Be;
					if (!o.state.button) return;
					let i = x$6((Be = r$18(o.state.button)) != null ? Be : document.body), x = i.indexOf(o.state.button), S = i.slice(0, x + 1), se = [...i.slice(x + 1), ...S];
					for (let ve of se.slice()) if (ve.dataset.headlessuiFocusGuard === "true" || L != null && L.contains(ve)) {
						let Ae = se.indexOf(ve);
						Ae !== -1 && se.splice(Ae, 1);
					}
					v$5(se, T$6.First, { sorted: !1 });
				},
				[a$6.Backwards]: () => {
					var i;
					v$5(s, T$6.Previous) === A$2.Error && ((i = o.state.button) == null || i.focus());
				}
			});
		}
		e();
	}), Pe = K$2();
	return import_react.createElement(s$7, null, import_react.createElement(de.Provider, { value: B }, import_react.createElement(C$5, { value: o.actions.refocusableClose }, import_react.createElement(le, {
		enabled: b ? E.static || r : !1,
		ownerDocument: Q
	}, r && C && import_react.createElement(f$17, {
		id: f,
		ref: a,
		features: s$15.Focusable,
		"data-headlessui-focus-guard": !0,
		as: "button",
		type: "button",
		onFocus: fe
	}), Pe({
		ourProps: I,
		theirProps: d,
		slot: k,
		defaultTag: Rt,
		features: Ft,
		visible: r,
		name: "Popover.Panel"
	}), r && C && import_react.createElement(f$17, {
		id: l,
		ref: u,
		features: s$15.Focusable,
		"data-headlessui-focus-guard": !0,
		as: "button",
		type: "button",
		onFocus: ae
	})))));
}
var At = "div";
function _t(E, O) {
	let R = (0, import_react.useRef)(null), B = y$8(R, O), [T, n] = (0, import_react.useState)([]), b = o$14((a) => {
		n((u) => {
			let f = u.indexOf(a);
			if (f !== -1) {
				let l = u.slice();
				return l.splice(f, 1), l;
			}
			return u;
		});
	}), t = o$14((a) => (n((u) => [...u, a]), () => b(a))), A = o$14(() => {
		var f;
		let a = r$18(R.current);
		if (!a) return !1;
		let u = e$7(R.current);
		return (f = R.current) != null && f.contains(u) ? !0 : T.some((l) => {
			var c, m;
			return ((c = a.getElementById(l.buttonId.current)) == null ? void 0 : c.contains(u)) || ((m = a.getElementById(l.panelId.current)) == null ? void 0 : m.contains(u));
		});
	}), d = o$14((a) => {
		for (let u of T) u.buttonId.current !== a && u.close();
	}), o = (0, import_react.useMemo)(() => ({
		registerPopover: t,
		unregisterPopover: b,
		isFocusWithinPopoverGroup: A,
		closeOthers: d
	}), [
		t,
		b,
		A,
		d
	]), C = n$14({}), y = E, D = { ref: B }, _ = K$2();
	return import_react.createElement(j$1, null, import_react.createElement(Fe$3.Provider, { value: o }, _({
		ourProps: D,
		theirProps: y,
		slot: C,
		defaultTag: At,
		name: "Popover.Group"
	})));
}
var Ct = Y$3(Tt), Dt = Y$3(bt), Ot = Y$3(Ne$2), xt$1 = Y$3(Ne$2), Lt$1 = Y$3(Bt$1), ht$1 = Y$3(_t), vo = Object.assign(Ct, {
	Button: Dt,
	Backdrop: xt$1,
	Overlay: Ot,
	Panel: Lt$1,
	Group: ht$1
});
//#endregion
//#region node_modules/@headlessui/react/dist/components/radio-group/radio-group.js
var Ie$1 = ((e) => (e[e.RegisterOption = 0] = "RegisterOption", e[e.UnregisterOption = 1] = "UnregisterOption", e))(Ie$1 || {});
var Fe$2 = {
	[0](o, t) {
		let e = [...o.options, {
			id: t.id,
			element: t.element,
			propsRef: t.propsRef
		}];
		return {
			...o,
			options: G$3(e, (n) => n.element.current)
		};
	},
	[1](o, t) {
		let e = o.options.slice(), n = o.options.findIndex((P) => P.id === t.id);
		return n === -1 ? o : (e.splice(n, 1), {
			...o,
			options: e
		});
	}
}, X$1 = (0, import_react.createContext)(null);
X$1.displayName = "RadioGroupDataContext";
function z$1(o) {
	let t = (0, import_react.useContext)(X$1);
	if (t === null) {
		let e = /* @__PURE__ */ new Error(`<${o} /> is missing a parent <RadioGroup /> component.`);
		throw Error.captureStackTrace && Error.captureStackTrace(e, z$1), e;
	}
	return t;
}
var q$1 = (0, import_react.createContext)(null);
q$1.displayName = "RadioGroupActionsContext";
function Q$1(o) {
	let t = (0, import_react.useContext)(q$1);
	if (t === null) {
		let e = /* @__PURE__ */ new Error(`<${o} /> is missing a parent <RadioGroup /> component.`);
		throw Error.captureStackTrace && Error.captureStackTrace(e, Q$1), e;
	}
	return t;
}
function Ue$1(o, t) {
	return u$23(t.type, Fe$2, o, t);
}
var we$1 = "div";
function Se$1(o, t) {
	let e = (0, import_react.useId)(), n = a$24(), { id: P = `headlessui-radiogroup-${e}`, value: R, form: D, name: i, onChange: c, by: d, disabled: a = n || !1, defaultValue: h, tabIndex: f = 0, ...L } = o, T = u$16(d), [v, y] = (0, import_react.useReducer)(Ue$1, { options: [] }), p = v.options, [k, G] = V$3(), [I, F] = H$6(), E = (0, import_react.useRef)(null), m = y$8(E, t), b = l$14(h), [s, x] = b$11(R, c, b), g = (0, import_react.useMemo)(() => p.find((r) => !r.propsRef.current.disabled), [p]), O = (0, import_react.useMemo)(() => p.some((r) => T(r.propsRef.current.value, s)), [p, s]), l = o$14((r) => {
		var U;
		if (a || T(r, s)) return !1;
		let S = (U = p.find((u) => T(u.propsRef.current.value, r))) == null ? void 0 : U.propsRef.current;
		return S != null && S.disabled ? !1 : (x?.(r), !0);
	}), ce = o$14((r) => {
		if (!E.current) return;
		let U = p.filter((u) => u.propsRef.current.disabled === !1).map((u) => u.element.current);
		switch (r.key) {
			case o$10.Enter:
				g$7(r.currentTarget);
				break;
			case o$10.ArrowLeft:
			case o$10.ArrowUp:
				if (r.preventDefault(), r.stopPropagation(), v$5(U, T$6.Previous | T$6.WrapAround) === A$2.Success) {
					let A = p.find((N) => d$11(N.element.current));
					A && l(A.propsRef.current.value);
				}
				break;
			case o$10.ArrowRight:
			case o$10.ArrowDown:
				if (r.preventDefault(), r.stopPropagation(), v$5(U, T$6.Next | T$6.WrapAround) === A$2.Success) {
					let A = p.find((N) => d$11(N.element.current));
					A && l(A.propsRef.current.value);
				}
				break;
			case o$10.Space:
				{
					r.preventDefault(), r.stopPropagation();
					let u = p.find((A) => d$11(A.element.current));
					u && l(u.propsRef.current.value);
				}
				break;
		}
	}), Y = o$14((r) => (y({
		type: 0,
		...r
	}), () => y({
		type: 1,
		id: r.id
	}))), fe = (0, import_react.useMemo)(() => ({
		value: s,
		firstOption: g,
		containsCheckedOption: O,
		disabled: a,
		compare: T,
		tabIndex: f,
		...v
	}), [
		s,
		g,
		O,
		a,
		T,
		f,
		v
	]), Te = (0, import_react.useMemo)(() => ({
		registerOption: Y,
		change: l
	}), [Y, l]), me = {
		ref: m,
		id: P,
		role: "radiogroup",
		"aria-labelledby": k,
		"aria-describedby": I,
		onKeyDown: ce
	}, Re = n$14({ value: s }), ye = (0, import_react.useCallback)(() => {
		if (b !== void 0) return l(b);
	}, [l, b]), be = K$2();
	return import_react.createElement(F, { name: "RadioGroup.Description" }, import_react.createElement(G, { name: "RadioGroup.Label" }, import_react.createElement(q$1.Provider, { value: Te }, import_react.createElement(X$1.Provider, { value: fe }, i != null && import_react.createElement(j$7, {
		disabled: a,
		data: { [i]: s || "on" },
		overrides: {
			type: "radio",
			checked: s != null
		},
		form: D,
		onReset: ye
	}), be({
		ourProps: me,
		theirProps: L,
		slot: Re,
		defaultTag: we$1,
		name: "RadioGroup"
	})))));
}
var Me$1 = "div";
function He$1(o, t) {
	var g;
	let e = z$1("RadioGroup.Option"), n = Q$1("RadioGroup.Option"), P = (0, import_react.useId)(), { id: R = `headlessui-radiogroup-option-${P}`, value: D, disabled: i = e.disabled || !1, autoFocus: c = !1, ...d } = o, a = (0, import_react.useRef)(null), h = y$8(a, t), [f, L] = V$3(), [T, v] = H$6(), y = s$17({
		value: D,
		disabled: i
	});
	n$15(() => n.registerOption({
		id: R,
		element: a,
		propsRef: y
	}), [
		R,
		n,
		a,
		y
	]);
	let p = o$14((O) => {
		var l;
		if (s$14(O.currentTarget)) return O.preventDefault();
		n.change(D) && ((l = a.current) == null || l.focus());
	}), k = ((g = e.firstOption) == null ? void 0 : g.id) === R, { isFocusVisible: G, focusProps: I } = $0c4a58759813079a$export$4e328f61c538687f({ autoFocus: c }), { isHovered: F, hoverProps: E } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: i }), m = e.compare(e.value, D), b = V$4({
		ref: h,
		id: R,
		role: "radio",
		"aria-checked": m ? "true" : "false",
		"aria-labelledby": f,
		"aria-describedby": T,
		"aria-disabled": i ? !0 : void 0,
		tabIndex: i ? -1 : m || !e.containsCheckedOption && k ? e.tabIndex : -1,
		onClick: i ? void 0 : p,
		autoFocus: c
	}, I, E), s = n$14({
		checked: m,
		disabled: i,
		active: G,
		hover: F,
		focus: G,
		autofocus: c
	}), x = K$2();
	return import_react.createElement(v, { name: "RadioGroup.Description" }, import_react.createElement(L, { name: "RadioGroup.Label" }, x({
		ourProps: b,
		theirProps: d,
		slot: s,
		defaultTag: Me$1,
		name: "RadioGroup.Option"
	})));
}
var Ne$1 = "span";
function We$1(o, t) {
	var g;
	let e = z$1("Radio"), n = Q$1("Radio"), P = (0, import_react.useId)(), R = u$20(), D = a$24(), { id: i = R || `headlessui-radio-${P}`, value: c, disabled: d = e.disabled || D || !1, autoFocus: a = !1, ...h } = o, f = (0, import_react.useRef)(null), L = y$8(f, t), T = N$2(), v = w$9(), y = s$17({
		value: c,
		disabled: d
	});
	n$15(() => n.registerOption({
		id: i,
		element: f,
		propsRef: y
	}), [
		i,
		n,
		f,
		y
	]);
	let p = o$14((O) => {
		var l;
		if (s$14(O.currentTarget)) return O.preventDefault();
		n.change(c) && ((l = f.current) == null || l.focus());
	}), { isFocusVisible: k, focusProps: G } = $0c4a58759813079a$export$4e328f61c538687f({ autoFocus: a }), { isHovered: I, hoverProps: F } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: d }), E = ((g = e.firstOption) == null ? void 0 : g.id) === i, m = e.compare(e.value, c), b = V$4({
		ref: L,
		id: i,
		role: "radio",
		"aria-checked": m ? "true" : "false",
		"aria-labelledby": T,
		"aria-describedby": v,
		"aria-disabled": d ? !0 : void 0,
		tabIndex: d ? -1 : m || !e.containsCheckedOption && E ? e.tabIndex : -1,
		autoFocus: a,
		onClick: d ? void 0 : p
	}, G, F), s = n$14({
		checked: m,
		disabled: d,
		hover: I,
		focus: k,
		autofocus: a
	});
	return K$2()({
		ourProps: b,
		theirProps: h,
		slot: s,
		defaultTag: Ne$1,
		name: "Radio"
	});
}
var Be$1 = Y$3(Se$1), Ve = Y$3(He$1), Ke$1 = Y$3(We$1), $e = Z, je = M, yt$1 = Object.assign(Be$1, {
	Option: Ve,
	Radio: Ke$1,
	Label: $e,
	Description: je
});
//#endregion
//#region node_modules/@headlessui/react/dist/components/select/select.js
var H$1 = "select";
function B(r, l) {
	let s = (0, import_react.useId)(), a = u$20(), i = a$24(), { id: p = a || `headlessui-select-${s}`, disabled: e = i || !1, invalid: t = !1, autoFocus: o = !1, ...d } = r, n = N$2(), c = w$9(), { isFocusVisible: m, focusProps: f } = $0c4a58759813079a$export$4e328f61c538687f({ autoFocus: o }), { isHovered: u, hoverProps: T } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: e }), { pressed: b, pressProps: y } = w$11({ disabled: e }), P = V$4({
		ref: l,
		id: p,
		"aria-labelledby": n,
		"aria-describedby": c,
		"aria-invalid": t ? "true" : void 0,
		disabled: e || void 0,
		autoFocus: o
	}, f, T, y), S = n$14({
		disabled: e,
		invalid: t,
		hover: u,
		focus: m,
		active: b,
		autofocus: o
	});
	return K$2()({
		ourProps: P,
		theirProps: d,
		slot: S,
		defaultTag: H$1,
		name: "Select"
	});
}
var k = Y$3(B);
//#endregion
//#region node_modules/@headlessui/react/dist/components/switch/switch.js
var E$1 = (0, import_react.createContext)(null);
E$1.displayName = "GroupContext";
var ve$1 = import_react.Fragment;
function xe$1(n) {
	var c;
	let [t, a] = (0, import_react.useState)(null), [f, h] = V$3(), [b, o] = H$6(), s = (0, import_react.useMemo)(() => ({
		switch: t,
		setSwitch: a
	}), [t, a]), T = {}, y = n, p = K$2();
	return import_react.createElement(o, {
		name: "Switch.Description",
		value: b
	}, import_react.createElement(h, {
		name: "Switch.Label",
		value: f,
		props: {
			htmlFor: (c = s.switch) == null ? void 0 : c.id,
			onClick(u) {
				t && (m$5(u.currentTarget) && u.preventDefault(), t.click(), t.focus({ preventScroll: !0 }));
			}
		}
	}, import_react.createElement(E$1.Provider, { value: s }, p({
		ourProps: T,
		theirProps: y,
		slot: {},
		defaultTag: ve$1,
		name: "Switch.Group"
	}))));
}
var Ce$1 = "button";
function Le$2(n, t) {
	var g;
	let a = (0, import_react.useId)(), f = u$20(), h = a$24(), { id: b = f || `headlessui-switch-${a}`, disabled: o = h || !1, checked: s, defaultChecked: T, onChange: y, name: p, value: c, form: u, autoFocus: S = !1, ...C } = n, _ = (0, import_react.useContext)(E$1), [L, R] = (0, import_react.useState)(null), A = y$8((0, import_react.useRef)(null), t, _ === null ? null : _.setSwitch, R), l = l$14(T), [d, r] = b$11(s, y, l != null ? l : !1), F = p$11(), [H, P] = (0, import_react.useState)(!1), D = o$14(() => {
		P(!0), r?.(!d), F.nextFrame(() => {
			P(!1);
		});
	}), k = o$14((e) => {
		if (s$14(e.currentTarget)) return e.preventDefault();
		e.preventDefault(), D();
	}), M = o$14((e) => {
		e.key === o$10.Space ? (e.preventDefault(), D()) : e.key === o$10.Enter && g$7(e.currentTarget);
	}), U = o$14((e) => e.preventDefault()), I = N$2(), B = w$9(), { isFocusVisible: K, focusProps: O } = $0c4a58759813079a$export$4e328f61c538687f({ autoFocus: S }), { isHovered: W, hoverProps: N } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: o }), { pressed: J, pressProps: V } = w$11({ disabled: o }), X = n$14({
		checked: d,
		disabled: o,
		hover: W,
		focus: K,
		active: J,
		autofocus: S,
		changing: H
	}), j = V$4({
		id: b,
		ref: A,
		role: "switch",
		type: e$3(n, L),
		tabIndex: n.tabIndex === -1 ? 0 : (g = n.tabIndex) != null ? g : 0,
		"aria-checked": d,
		"aria-labelledby": I,
		"aria-describedby": B,
		disabled: o || void 0,
		autoFocus: S,
		onClick: k,
		onKeyUp: M,
		onKeyPress: U
	}, O, N, V), $ = (0, import_react.useCallback)(() => {
		if (l !== void 0) return r == null ? void 0 : r(l);
	}, [r, l]), q = K$2();
	return import_react.createElement(import_react.Fragment, null, p != null && import_react.createElement(j$7, {
		disabled: o,
		data: { [p]: c || "on" },
		overrides: {
			type: "checkbox",
			checked: d
		},
		form: u,
		onReset: $
	}), q({
		ourProps: j,
		theirProps: C,
		slot: X,
		defaultTag: Ce$1,
		name: "Switch"
	}));
}
var Re = Y$3(Le$2), Ge = xe$1, Ae = Z, Fe = M, tt = Object.assign(Re, {
	Group: Ge,
	Label: Ae,
	Description: Fe
});
//#endregion
//#region node_modules/@headlessui/react/dist/internal/focus-sentinel.js
function b$1({ onFocus: n }) {
	let [r, o] = (0, import_react.useState)(!0), u = f$3();
	return r ? import_react.createElement(f$17, {
		as: "button",
		type: "button",
		features: s$15.Focusable,
		onFocus: (a) => {
			a.preventDefault();
			let e, i = 50;
			function t() {
				if (i-- <= 0) {
					e && cancelAnimationFrame(e);
					return;
				}
				if (n()) {
					if (cancelAnimationFrame(e), !u.current) return;
					o(!1);
					return;
				}
				e = requestAnimationFrame(t);
			}
			e = requestAnimationFrame(t);
		}
	}) : null;
}
//#endregion
//#region node_modules/@headlessui/react/dist/utils/stable-collection.js
var s = import_react.createContext(null);
function a() {
	return {
		groups: /* @__PURE__ */ new Map(),
		get(o, e) {
			var i;
			let t = this.groups.get(o);
			t || (t = /* @__PURE__ */ new Map(), this.groups.set(o, t));
			let n = (i = t.get(e)) != null ? i : 0;
			t.set(e, n + 1);
			let r = Array.from(t.keys()).indexOf(e);
			function u() {
				let c = t.get(e);
				c > 1 ? t.set(e, c - 1) : t.delete(e);
			}
			return [r, u];
		}
	};
}
function f({ children: o }) {
	let e = import_react.useRef(a());
	return import_react.createElement(s.Provider, { value: e }, o);
}
function C(o) {
	let e = import_react.useContext(s);
	if (!e) throw new Error("You must wrap your component in a <StableCollection>");
	let t = import_react.useId(), [n, r] = e.current.get(o, t);
	return import_react.useEffect(() => r, []), n;
}
//#endregion
//#region node_modules/@headlessui/react/dist/components/tabs/tabs.js
var Le$1 = ((t) => (t[t.Forwards = 0] = "Forwards", t[t.Backwards = 1] = "Backwards", t))(Le$1 || {}), _e = ((l) => (l[l.Less = -1] = "Less", l[l.Equal = 0] = "Equal", l[l.Greater = 1] = "Greater", l))(_e || {}), Se = ((n) => (n[n.SetSelectedIndex = 0] = "SetSelectedIndex", n[n.RegisterTab = 1] = "RegisterTab", n[n.UnregisterTab = 2] = "UnregisterTab", n[n.RegisterPanel = 3] = "RegisterPanel", n[n.UnregisterPanel = 4] = "UnregisterPanel", n))(Se || {});
var De = {
	[0](e, r) {
		var d;
		let t = G$3(e.tabs, (u) => u.current), l = G$3(e.panels, (u) => u.current), a = t.filter((u) => {
			var T;
			return !((T = u.current) != null && T.hasAttribute("disabled"));
		}), n = {
			...e,
			tabs: t,
			panels: l
		};
		if (r.index < 0 || r.index > t.length - 1) {
			let u = u$23(Math.sign(r.index - e.selectedIndex), {
				[-1]: () => 1,
				[0]: () => u$23(Math.sign(r.index), {
					[-1]: () => 0,
					[0]: () => 0,
					[1]: () => 1
				}),
				[1]: () => 0
			});
			if (a.length === 0) return n;
			let T = u$23(u, {
				[0]: () => t.indexOf(a[0]),
				[1]: () => t.indexOf(a[a.length - 1])
			});
			return {
				...n,
				selectedIndex: T === -1 ? e.selectedIndex : T
			};
		}
		let s = t.slice(0, r.index), f = [...t.slice(r.index), ...s].find((u) => a.includes(u));
		if (!f) return n;
		let b = (d = t.indexOf(f)) != null ? d : e.selectedIndex;
		return b === -1 && (b = e.selectedIndex), {
			...n,
			selectedIndex: b
		};
	},
	[1](e, r) {
		if (e.tabs.includes(r.tab)) return e;
		let t = e.tabs[e.selectedIndex], l = G$3([...e.tabs, r.tab], (n) => n.current), a = e.selectedIndex;
		return e.info.current.isControlled || (a = l.indexOf(t), a === -1 && (a = e.selectedIndex)), {
			...e,
			tabs: l,
			selectedIndex: a
		};
	},
	[2](e, r) {
		return {
			...e,
			tabs: e.tabs.filter((t) => t !== r.tab)
		};
	},
	[3](e, r) {
		return e.panels.includes(r.panel) ? e : {
			...e,
			panels: G$3([...e.panels, r.panel], (t) => t.current)
		};
	},
	[4](e, r) {
		return {
			...e,
			panels: e.panels.filter((t) => t !== r.panel)
		};
	}
}, z = (0, import_react.createContext)(null);
z.displayName = "TabsDataContext";
function h(e) {
	let r = (0, import_react.useContext)(z);
	if (r === null) {
		let t = /* @__PURE__ */ new Error(`<${e} /> is missing a parent <Tab.Group /> component.`);
		throw Error.captureStackTrace && Error.captureStackTrace(t, h), t;
	}
	return r;
}
var V = (0, import_react.createContext)(null);
V.displayName = "TabsActionsContext";
function Q(e) {
	let r = (0, import_react.useContext)(V);
	if (r === null) {
		let t = /* @__PURE__ */ new Error(`<${e} /> is missing a parent <Tab.Group /> component.`);
		throw Error.captureStackTrace && Error.captureStackTrace(t, Q), t;
	}
	return r;
}
function Fe$1(e, r) {
	return u$23(r.type, De, e, r);
}
var Ie = "div";
function he(e, r) {
	let { defaultIndex: t = 0, vertical: l = !1, manual: a = !1, onChange: n, selectedIndex: s = null, ...g } = e;
	const f$21 = l ? "vertical" : "horizontal", b = a ? "manual" : "auto";
	let d = s !== null, u = s$17({ isControlled: d }), T = y$8(r), [p, c] = (0, import_react.useReducer)(Fe$1, {
		info: u,
		selectedIndex: s != null ? s : t,
		tabs: [],
		panels: []
	}), v = n$14({ selectedIndex: p.selectedIndex }), m = s$17(n || (() => {})), C = s$17(p.tabs), D = (0, import_react.useMemo)(() => ({
		orientation: f$21,
		activation: b,
		...p
	}), [
		f$21,
		b,
		p
	]), P = o$14((i) => (c({
		type: 1,
		tab: i
	}), () => c({
		type: 2,
		tab: i
	}))), R = o$14((i) => (c({
		type: 3,
		panel: i
	}), () => c({
		type: 4,
		panel: i
	}))), A = o$14((i) => {
		L.current !== i && m.current(i), d || c({
			type: 0,
			index: i
		});
	}), L = s$17(d ? e.selectedIndex : p.selectedIndex), _ = (0, import_react.useMemo)(() => ({
		registerTab: P,
		registerPanel: R,
		change: A
	}), []);
	n$15(() => {
		c({
			type: 0,
			index: s != null ? s : t
		});
	}, [s]), n$15(() => {
		if (L.current === void 0 || p.tabs.length <= 0) return;
		let i = G$3(p.tabs, (S) => S.current);
		i.some((S, $) => p.tabs[$] !== S) && A(i.indexOf(p.tabs[L.current]));
	});
	let J = { ref: T }, X = K$2();
	return import_react.createElement(f, null, import_react.createElement(V.Provider, { value: _ }, import_react.createElement(z.Provider, { value: D }, D.tabs.length <= 0 && import_react.createElement(b$1, { onFocus: () => {
		var i, M;
		for (let S of C.current) if (((i = S.current) == null ? void 0 : i.tabIndex) === 0) return (M = S.current) == null || M.focus(), !0;
		return !1;
	} }), X({
		ourProps: J,
		theirProps: g,
		slot: v,
		defaultTag: Ie,
		name: "Tabs"
	}))));
}
var ve = "div";
function Ce(e, r) {
	let { orientation: t, selectedIndex: l } = h("Tab.List"), a = y$8(r), n = n$14({ selectedIndex: l }), s = e, g = {
		ref: a,
		role: "tablist",
		"aria-orientation": t
	};
	return K$2()({
		ourProps: g,
		theirProps: s,
		slot: n,
		defaultTag: ve,
		name: "Tabs.List"
	});
}
var Me = "button";
function Ge$1(e, r) {
	var Y, Z;
	let t = (0, import_react.useId)(), { id: l = `headlessui-tabs-tab-${t}`, disabled: a = !1, autoFocus: n = !1, ...s } = e, { orientation: g, activation: f, selectedIndex: b, tabs: d, panels: u } = h("Tab"), T = Q("Tab"), p = h("Tab"), [c, v] = (0, import_react.useState)(null), m = (0, import_react.useRef)(null), C$10 = y$8(m, r, v);
	n$15(() => T.registerTab(m), [T, m]);
	let D = C("tabs"), P = d.indexOf(m);
	P === -1 && (P = D);
	let R = P === b, A = o$14((o) => {
		let E = o();
		if (E === A$2.Success && f === "auto") {
			let ee = e$7(m.current), B = p.tabs.findIndex((ce) => ce.current === ee);
			B !== -1 && T.change(B);
		}
		return E;
	}), L = o$14((o) => {
		let E = d.map((B) => B.current).filter(Boolean);
		if (o.key === o$10.Space || o.key === o$10.Enter) {
			o.preventDefault(), o.stopPropagation(), T.change(P);
			return;
		}
		switch (o.key) {
			case o$10.Home:
			case o$10.PageUp: return o.preventDefault(), o.stopPropagation(), A(() => v$5(E, T$6.First));
			case o$10.End:
			case o$10.PageDown: return o.preventDefault(), o.stopPropagation(), A(() => v$5(E, T$6.Last));
		}
		if (A(() => u$23(g, {
			vertical() {
				return o.key === o$10.ArrowUp ? v$5(E, T$6.Previous | T$6.WrapAround) : o.key === o$10.ArrowDown ? v$5(E, T$6.Next | T$6.WrapAround) : A$2.Error;
			},
			horizontal() {
				return o.key === o$10.ArrowLeft ? v$5(E, T$6.Previous | T$6.WrapAround) : o.key === o$10.ArrowRight ? v$5(E, T$6.Next | T$6.WrapAround) : A$2.Error;
			}
		})) === A$2.Success) return o.preventDefault();
	}), _ = (0, import_react.useRef)(!1), J = o$14(() => {
		var o;
		_.current || (_.current = !0, (o = m.current) == null || o.focus({ preventScroll: !0 }), T.change(P), t$11(() => {
			_.current = !1;
		}));
	}), X = o$14((o) => {
		o.preventDefault();
	}), { isFocusVisible: i, focusProps: M } = $0c4a58759813079a$export$4e328f61c538687f({ autoFocus: n }), { isHovered: S, hoverProps: $ } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: a }), { pressed: pe, pressProps: ue } = w$11({ disabled: a }), Te = n$14({
		selected: R,
		hover: S,
		active: pe,
		focus: i,
		autofocus: n,
		disabled: a
	}), de = V$4({
		ref: C$10,
		onKeyDown: L,
		onMouseDown: X,
		onClick: J,
		id: l,
		role: "tab",
		type: e$3(e, c),
		"aria-controls": (Z = (Y = u[P]) == null ? void 0 : Y.current) == null ? void 0 : Z.id,
		"aria-selected": R,
		tabIndex: R ? 0 : -1,
		disabled: a || void 0,
		autoFocus: n
	}, M, $, ue);
	return K$2()({
		ourProps: de,
		theirProps: s,
		slot: Te,
		defaultTag: Me,
		name: "Tabs.Tab"
	});
}
var Ue = "div";
function He(e, r) {
	let { selectedIndex: t } = h("Tab.Panels"), l = y$8(r), a = n$14({ selectedIndex: t }), n = e, s = { ref: l };
	return K$2()({
		ourProps: s,
		theirProps: n,
		slot: a,
		defaultTag: Ue,
		name: "Tabs.Panels"
	});
}
var we = "div", Oe$1 = A$3.RenderStrategy | A$3.Static;
function Ne(e, r) {
	var R, A, L, _;
	let t = (0, import_react.useId)(), { id: l = `headlessui-tabs-panel-${t}`, tabIndex: a = 0, ...n } = e, { selectedIndex: s, tabs: g, panels: f } = h("Tab.Panel"), b = Q("Tab.Panel"), d = (0, import_react.useRef)(null), u = y$8(d, r);
	n$15(() => b.registerPanel(d), [b, d]);
	let T = C("panels"), p = f.indexOf(d);
	p === -1 && (p = T);
	let c = p === s, { isFocusVisible: v, focusProps: m } = $0c4a58759813079a$export$4e328f61c538687f(), C$11 = n$14({
		selected: c,
		focus: v
	}), D = V$4({
		ref: u,
		id: l,
		role: "tabpanel",
		"aria-labelledby": (A = (R = g[p]) == null ? void 0 : R.current) == null ? void 0 : A.id,
		tabIndex: c ? a : -1
	}, m), P = K$2();
	return !c && ((L = n.unmount) == null || L) && !((_ = n.static) != null && _) ? import_react.createElement(f$17, {
		"aria-hidden": "true",
		...D
	}) : P({
		ourProps: D,
		theirProps: n,
		slot: C$11,
		defaultTag: we,
		features: Oe$1,
		visible: c,
		name: "Tabs.Panel"
	});
}
var ke = Y$3(Ge$1), Be = Y$3(he), We = Y$3(Ce), je$1 = Y$3(He), Ke$2 = Y$3(Ne), dt = Object.assign(ke, {
	Group: Be,
	List: We,
	Panels: je$1,
	Panel: Ke$2
});
//#endregion
//#region node_modules/@headlessui/react/dist/components/textarea/textarea.js
var L$1 = "textarea";
function H(a, t) {
	let s = (0, import_react.useId)(), l = u$20(), d = a$24(), { id: i = l || `headlessui-textarea-${s}`, disabled: e = d || !1, autoFocus: r = !1, invalid: o = !1, ...p } = a, n = N$2(), T = w$9(), { isFocused: f, focusProps: m } = $0c4a58759813079a$export$4e328f61c538687f({ autoFocus: r }), { isHovered: u, hoverProps: b } = $e969f22b6713ca4a$export$ae780daf29e6d456({ isDisabled: e }), y = V$4({
		ref: t,
		id: i,
		"aria-labelledby": n,
		"aria-describedby": T,
		"aria-invalid": o ? "true" : void 0,
		disabled: e || void 0,
		autoFocus: r
	}, m, b), x = n$14({
		disabled: e,
		invalid: o,
		hover: u,
		focus: f,
		autofocus: r
	});
	return K$2()({
		ourProps: y,
		theirProps: p,
		slot: x,
		defaultTag: L$1,
		name: "Textarea"
	});
}
var M$1 = Y$3(H);
//#endregion
export { L as Button, Ke as Checkbox, y as CloseButton, Ht as Combobox, Bo as ComboboxButton, ko as ComboboxInput, No as ComboboxLabel, Ho as ComboboxOption, Uo as ComboboxOptions, b as DataInteractive, M as Description, ht as Dialog, Lt as DialogBackdrop, xt as DialogDescription, ze as DialogPanel, Qe as DialogTitle, Xe as Disclosure, xe as DisclosureButton, Le as DisclosurePanel, W as Field, I as Fieldset, ge as FocusTrap, G as FocusTrapFeatures, X as Input, Z as Label, d as Legend, Mo as Listbox, Mt as ListboxButton, wt as ListboxLabel, It as ListboxOption, Bt as ListboxOptions, kt as ListboxSelectedOption, lo as Menu, ft as MenuButton, Et as MenuHeading, gt as MenuItem, yt as MenuItems, Pt as MenuSection, Mt$1 as MenuSeparator, vo as Popover, xt$1 as PopoverBackdrop, Dt as PopoverButton, ht$1 as PopoverGroup, Ot as PopoverOverlay, Lt$1 as PopoverPanel, le as Portal, Ke$1 as Radio, yt$1 as RadioGroup, je as RadioGroupDescription, $e as RadioGroupLabel, Ve as RadioGroupOption, k as Select, tt as Switch, Fe as SwitchDescription, Ge as SwitchGroup, Ae as SwitchLabel, dt as Tab, Be as TabGroup, We as TabList, Ke$2 as TabPanel, je$1 as TabPanels, M$1 as Textarea, Ke$3 as Transition, Oe as TransitionChild, u as useClose };

//# sourceMappingURL=@headlessui_react.js.map