UNPKG

iobroker.vis-2

Version:

Next generation graphical user interface for ioBroker.

19,437 lines 587 kB
import { u as useDefaultProps, a as styled, m as memoTheme, r as rootShouldForwardProp, c as createSvgIcon, b as blue, d as common, e as green, f as grey, l as lightBlue, o as orange, p as purple, h as red, i as slotShouldForwardProp, S as SvgIcon, __tla as __tla_0 } from "./createSvgIcon-DDwAmV8Q.js";
import { g as getUnit, t as toUnitless, b as Collapse, __tla as __tla_1 } from "./Box-Bl3kq-x-.js";
import { C as ClassNameGenerator, c as composeClasses, b as alpha, g as generateUtilityClass, a as generateUtilityClasses, d as darken, l as lighten, e as emphasize, f as getPath, h as clamp, r as resolveProps, __tla as __tla_2 } from "./createStyled-BvULSPVR.js";
import { V as getDividerUtilityClass, W as ListContext, X as getListItemIconUtilityClass, Y as useSlot, T as Typography, Z as getListItemTextUtilityClass, _ as listItemTextClasses, t as typographyClasses, o as useForkRef, $ as getListItemButtonUtilityClass, q as ButtonBase, a0 as listItemButtonClasses, a1 as debounce, a2 as ownerWindow, k as useSlotProps, z as useTheme, n as useEventCallback, H as ownerDocument, l as useControlled, P as Paper, I as IconButton, a3 as createSimplePaletteValueFilter, a4 as setRef, a5 as ArrowDropDownIcon, J as Popper, O as Chip, a6 as filledInputClasses, a7 as inputBaseClasses, a8 as outlinedInputClasses, a9 as inputClasses, aa as ButtonGroupContext, ab as ButtonGroupButtonContext, s as useFormControl, ac as mergeSlotProps, ad as getReactElementRef, ae as globalCss, af as DialogContext, ag as getDialogTitleUtilityClass, j as Transition, ah as reflow, ai as getTransitionProps, aj as Modal, ak as formControlState, D as useMediaQuery, al as isFocusVisible, am as NativeSelectInput, an as Input, ao as getNativeSelectUtilityClasses, ap as createChainedFunction, v as visuallyHidden, aq as extractEventHandlers, ar as isHostComponent, as as useTimeout, G as Grow, at as Timeout, au as InputBase, M as MenuItem, av as Select, __tla as __tla_3 } from "./Dialog-DElqR5zv.js";
import { c as __mf_31, _ as __mf_24, d as __mf_0, e as __mf_15, p as __mf_14, o as __mf_21, k as __mf_29, f as __mf_9, r as __mf_2, h as __mf_32, i as __mf_20, q as __mf_26, m as __mf_10, l as __mf_11, __tla as __tla_4 } from "./iobroker_vis__loadShare__react__loadShare__.js-Bo2lxMHB.js";
import { P as PropTypes, __tla as __tla_5 } from "./iobroker_vis__loadShare__prop_mf_2_types__loadShare__.js-OoAqYupB.js";
import { c as clsx, a as capitalize, __tla as __tla_6 } from "./clsx-XqGtd7JN.js";
import { j as jsxRuntimeExports, __tla as __tla_7 } from "./jsx-runtime-DgDbgMDY.js";
import { a as useEnhancedEffect, u as useRtl, b as useId, e as extendSxProp, g as getThemeProps, i as isMuiElement, __tla as __tla_8 } from "./useMediaQuery-D88JRmB1.js";
import { a as __mf_133, f as __mf_17, g as __mf_27, h as __mf_13, i as __mf_49, j as __mf_26$1, k as __mf_166, __tla as __tla_9 } from "./iobroker_vis__loadShare___mf_0_mui_mf_1_system__loadShare__.js-Dt1au33l.js";
import { c as createGrid, __tla as __tla_10 } from "./createGrid-DBI1bwPb.js";
import { a as __mf_4, __tla as __tla_11 } from "./iobroker_vis__loadShare__react_mf_2_dom__loadShare__.js-1rEIXFyN.js";
import "./assertThisInitialized-DFQXnDE3.js";
import { __tla as __tla_12 } from "./iobroker_vis__loadShare__react__loadShare__.js_commonjs-proxy-RR2_-oCU.js";
import { __tla as __tla_13 } from "./createSvgIcon-DDwAmV8Q.js";
import { __tla as __tla_14 } from "./Box-Bl3kq-x-.js";
import { __tla as __tla_15 } from "./createStyled-BvULSPVR.js";
import { __tla as __tla_16 } from "./Dialog-DElqR5zv.js";
import { __tla as __tla_17 } from "./iobroker_vis__loadShare___mf_0_mui_mf_1_system__loadShare__.js-Dt1au33l.js";
import { T, j, k, n, q, t, v, w, x, g, y, z, A, B, s } from "./createSvgIcon-DDwAmV8Q.js";
import { B as B2, C, c, a, e, d, f, h, i, j as j2, k as k2, l, m, n as n2, o, p, q as q2, r, u, v as v2, w as w2, x as x2 } from "./Box-Bl3kq-x-.js";
import { i as i2 } from "./createStyled-BvULSPVR.js";
import { aw, B as B3, ax, ay, R, K, U, az, A as A2, aA, x as x3, F, aB, aC, aD, r as r2, w as w3, L, N, aE, d as d2, p as p2, aF, aG, aH, aI, aJ, aK, y as y2, aL, h as h2, E, aM, aN, b, aO, aP, aQ, S, aR, aS, aT, aU, aV, aW, aX, aY, c as c2, aZ, a_, a$, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, ba, bb, bc, bd, be, a as a2, e as e2, bf, bg, bh, bi, bj, bk, bl, bm, bn, bo, g as g2, bp, bq, br, bs, bt, bu, bv, f as f2, m as m2, bw, bx, by, bz, bA, bB, bC, bD, u as u2 } from "./Dialog-DElqR5zv.js";
import { _, l as l2, m as m3, n as n3, o as o2, p as p3, q as q3, r as r3, s as s2, t as t2, u as u3 } from "./iobroker_vis__loadShare___mf_0_mui_mf_1_system__loadShare__.js-Dt1au33l.js";
let Accordion, AccordionActions, AccordionDetails, AccordionSummary, Alert, AlertTitle, AppBar, Autocomplete, Avatar, AvatarGroup, Badge, BottomNavigation, BottomNavigationAction, Breadcrumbs, ButtonGroup, CardActionArea, CardActions, CardMedia, Checkbox, ClickAwayListener, Container, CssBaseline, DialogContentText, DialogTitle, Divider, Drawer, Fab, FormControlLabel, FormGroup, Grid, Grid2, Hidden, Icon, ImageList, ImageListItem, ImageListItemBar, LinearProgress, Link, ListItemAvatar, ListItemButton, ListItemIcon, ListItemText, ListSubheader, MobileStepper, NativeSelect, NoSsr, Pagination, PaginationItem, Radio, RadioGroup, Rating, ScopedCssBaseline, Skeleton, Slide, Slider, SliderMark, SliderMarkLabel, SliderRail, SliderRoot, SliderThumb, SliderTrack, SliderValueLabel, Snackbar, SnackbarContent, SpeedDial, SpeedDialAction, SpeedDialIcon, Stack, Step, StepButton, StepConnector, StepContent, StepContext, StepIcon, StepLabel, Stepper, StepperContext, SwipeableDrawer, Switch, Tab, TabScrollButton, Table, TableBody, TableCell, TableContainer, TableFooter, TableHead, TablePagination, TableRow, TableSortLabel, Tabs, ToggleButton, ToggleButtonGroup, Toolbar, Tooltip, Zoom, accordionActionsClasses, accordionClasses, accordionDetailsClasses, accordionSummaryClasses, alertClasses, alertTitleClasses, appBarClasses, autocompleteClasses, avatarClasses, avatarGroupClasses, badgeClasses, bottomNavigationActionClasses, bottomNavigationClasses, breadcrumbsClasses, buttonGroupClasses, cardActionAreaClasses, cardActionsClasses, cardMediaClasses, checkboxClasses, index, containerClasses, createFilterOptions, darkScrollbar, deprecatedPropType, dialogContentTextClasses, drawerClasses, fabClasses, formControlLabelClasses, formGroupClasses, getAccordionActionsUtilityClass, getAccordionDetailsUtilityClass, getAccordionSummaryUtilityClass, getAccordionUtilityClass, getAlertTitleUtilityClass, getAlertUtilityClass, getAppBarUtilityClass, getAutocompleteUtilityClass, getAvatarGroupUtilityClass, getAvatarUtilityClass, getBadgeUtilityClass, getBottomNavigationActionUtilityClass, getBottomNavigationUtilityClass, getBreadcrumbsUtilityClass, getButtonGroupUtilityClass, getCardActionAreaUtilityClass, getCardActionsUtilityClass, getCardMediaUtilityClass, getCheckboxUtilityClass, getContainerUtilityClass, getDialogContentTextUtilityClass, getDrawerUtilityClass, getFabUtilityClass, getFormControlLabelUtilityClasses, getFormGroupUtilityClass, getGrid2UtilityClass, getIconUtilityClass, getImageListItemBarUtilityClass, getImageListItemUtilityClass, getImageListUtilityClass, getLinearProgressUtilityClass, getLinkUtilityClass, getListItemAvatarUtilityClass, getListSubheaderUtilityClass, getMobileStepperUtilityClass, getPaginationItemUtilityClass, getPaginationUtilityClass, getRadioGroupUtilityClass, getRadioUtilityClass, getRatingUtilityClass, getScopedCssBaselineUtilityClass, getSkeletonUtilityClass, getSliderUtilityClass, getSnackbarContentUtilityClass, getSnackbarUtilityClass, getSpeedDialActionUtilityClass, getSpeedDialIconUtilityClass, getSpeedDialUtilityClass, getStepButtonUtilityClass, getStepConnectorUtilityClass, getStepContentUtilityClass, getStepIconUtilityClass, getStepLabelUtilityClass, getStepUtilityClass, getStepperUtilityClass, getSwitchUtilityClass, getTabScrollButtonUtilityClass, getTabUtilityClass, getTableBodyUtilityClass, getTableCellUtilityClass, getTableContainerUtilityClass, getTableFooterUtilityClass, getTableHeadUtilityClass, getTablePaginationUtilityClass, getTableRowUtilityClass, getTableSortLabelUtilityClass, getTableUtilityClass, getTabsUtilityClass, getToggleButtonGroupUtilityClass, getToggleButtonUtilityClass, getToolbarUtilityClass, getTooltipUtilityClass, grid2Classes, iconClasses, imageListClasses, imageListItemBarClasses, imageListItemClasses, linearProgressClasses, linkClasses, listItemAvatarClasses, listSubheaderClasses, major, minor, mobileStepperClasses, paginationClasses, paginationItemClasses, patch, prerelease, radioClasses, radioGroupClasses, ratingClasses, requirePropFactory, scopedCssBaselineClasses, skeletonClasses, sliderClasses, snackbarClasses, snackbarContentClasses, speedDialActionClasses, speedDialClasses, speedDialIconClasses, stackClasses, stepButtonClasses, stepClasses, stepConnectorClasses, stepContentClasses, stepIconClasses, stepLabelClasses, stepperClasses, switchClasses, tabClasses, tabScrollButtonClasses, tableBodyClasses, tableCellClasses, tableClasses, tableContainerClasses, tableFooterClasses, tableHeadClasses, tablePaginationClasses, tableRowClasses, tableSortLabelClasses, tabsClasses, toggleButtonClasses, toggleButtonGroupClasses, toolbarClasses, tooltipClasses, unstable_ClassNameGenerator, unsupportedProp, useAutocomplete, usePagination, useRadioGroup, useScrollTrigger, useStepContext, useStepperContext, version;
let __tla = Promise.all([
  (() => {
    try {
      return __tla_0;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_1;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_2;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_3;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_4;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_5;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_6;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_7;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_8;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_9;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_10;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_11;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_12;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_13;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_14;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_15;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_16;
    } catch {
    }
  })(),
  (() => {
    try {
      return __tla_17;
    } catch {
    }
  })()
]).then(async () => {
  deprecatedPropType = function(validator, reason) {
    {
      return () => null;
    }
  };
  requirePropFactory = function(componentNameInError, Component) {
    {
      return () => null;
    }
  };
  unsupportedProp = function(props, propName, componentName, location, propFullName) {
    {
      return null;
    }
  };
  const usePreviousProps = (value) => {
    const ref = __mf_31({});
    __mf_24(() => {
      ref.current = value;
    });
    return ref.current;
  };
  function getValidReactChildren(children) {
    return __mf_0.toArray(children).filter((child) => __mf_15(child));
  }
  unstable_ClassNameGenerator = {
    configure: (generator) => {
      ClassNameGenerator.configure(generator);
    }
  };
  const useUtilityClasses$1e = (ownerState) => {
    const { absolute, children, classes, flexItem, light, orientation, textAlign, variant } = ownerState;
    const slots = {
      root: [
        "root",
        absolute && "absolute",
        variant,
        light && "light",
        orientation === "vertical" && "vertical",
        flexItem && "flexItem",
        children && "withChildren",
        children && orientation === "vertical" && "withChildrenVertical",
        textAlign === "right" && orientation !== "vertical" && "textAlignRight",
        textAlign === "left" && orientation !== "vertical" && "textAlignLeft"
      ],
      wrapper: [
        "wrapper",
        orientation === "vertical" && "wrapperVertical"
      ]
    };
    return composeClasses(slots, getDividerUtilityClass, classes);
  };
  const DividerRoot = styled("div", {
    name: "MuiDivider",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        ownerState.absolute && styles2.absolute,
        styles2[ownerState.variant],
        ownerState.light && styles2.light,
        ownerState.orientation === "vertical" && styles2.vertical,
        ownerState.flexItem && styles2.flexItem,
        ownerState.children && styles2.withChildren,
        ownerState.children && ownerState.orientation === "vertical" && styles2.withChildrenVertical,
        ownerState.textAlign === "right" && ownerState.orientation !== "vertical" && styles2.textAlignRight,
        ownerState.textAlign === "left" && ownerState.orientation !== "vertical" && styles2.textAlignLeft
      ];
    }
  })(memoTheme(({ theme }) => ({
    margin: 0,
    flexShrink: 0,
    borderWidth: 0,
    borderStyle: "solid",
    borderColor: (theme.vars || theme).palette.divider,
    borderBottomWidth: "thin",
    variants: [
      {
        props: {
          absolute: true
        },
        style: {
          position: "absolute",
          bottom: 0,
          left: 0,
          width: "100%"
        }
      },
      {
        props: {
          light: true
        },
        style: {
          borderColor: theme.vars ? `rgba(${theme.vars.palette.dividerChannel} / 0.08)` : alpha(theme.palette.divider, 0.08)
        }
      },
      {
        props: {
          variant: "inset"
        },
        style: {
          marginLeft: 72
        }
      },
      {
        props: {
          variant: "middle",
          orientation: "horizontal"
        },
        style: {
          marginLeft: theme.spacing(2),
          marginRight: theme.spacing(2)
        }
      },
      {
        props: {
          variant: "middle",
          orientation: "vertical"
        },
        style: {
          marginTop: theme.spacing(1),
          marginBottom: theme.spacing(1)
        }
      },
      {
        props: {
          orientation: "vertical"
        },
        style: {
          height: "100%",
          borderBottomWidth: 0,
          borderRightWidth: "thin"
        }
      },
      {
        props: {
          flexItem: true
        },
        style: {
          alignSelf: "stretch",
          height: "auto"
        }
      },
      {
        props: ({ ownerState }) => !!ownerState.children,
        style: {
          display: "flex",
          textAlign: "center",
          border: 0,
          borderTopStyle: "solid",
          borderLeftStyle: "solid",
          "&::before, &::after": {
            content: '""',
            alignSelf: "center"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.children && ownerState.orientation !== "vertical",
        style: {
          "&::before, &::after": {
            width: "100%",
            borderTop: `thin solid ${(theme.vars || theme).palette.divider}`,
            borderTopStyle: "inherit"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.orientation === "vertical" && ownerState.children,
        style: {
          flexDirection: "column",
          "&::before, &::after": {
            height: "100%",
            borderLeft: `thin solid ${(theme.vars || theme).palette.divider}`,
            borderLeftStyle: "inherit"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.textAlign === "right" && ownerState.orientation !== "vertical",
        style: {
          "&::before": {
            width: "90%"
          },
          "&::after": {
            width: "10%"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.textAlign === "left" && ownerState.orientation !== "vertical",
        style: {
          "&::before": {
            width: "10%"
          },
          "&::after": {
            width: "90%"
          }
        }
      }
    ]
  })));
  const DividerWrapper = styled("span", {
    name: "MuiDivider",
    slot: "Wrapper",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.wrapper,
        ownerState.orientation === "vertical" && styles2.wrapperVertical
      ];
    }
  })(memoTheme(({ theme }) => ({
    display: "inline-block",
    paddingLeft: `calc(${theme.spacing(1)} * 1.2)`,
    paddingRight: `calc(${theme.spacing(1)} * 1.2)`,
    whiteSpace: "nowrap",
    variants: [
      {
        props: {
          orientation: "vertical"
        },
        style: {
          paddingTop: `calc(${theme.spacing(1)} * 1.2)`,
          paddingBottom: `calc(${theme.spacing(1)} * 1.2)`
        }
      }
    ]
  })));
  Divider = __mf_14(function Divider2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiDivider"
    });
    const { absolute = false, children, className, orientation = "horizontal", component = children || orientation === "vertical" ? "div" : "hr", flexItem = false, light = false, role = component !== "hr" ? "separator" : void 0, textAlign = "center", variant = "fullWidth", ...other } = props;
    const ownerState = {
      ...props,
      absolute,
      component,
      flexItem,
      light,
      orientation,
      role,
      textAlign,
      variant
    };
    const classes = useUtilityClasses$1e(ownerState);
    return jsxRuntimeExports.jsx(DividerRoot, {
      as: component,
      className: clsx(classes.root, className),
      role,
      ref,
      ownerState,
      "aria-orientation": role === "separator" && (component !== "hr" || orientation === "vertical") ? orientation : void 0,
      ...other,
      children: children ? jsxRuntimeExports.jsx(DividerWrapper, {
        className: classes.wrapper,
        ownerState,
        children
      }) : null
    });
  });
  if (Divider) {
    Divider.muiSkipListHighlight = true;
  }
  const useUtilityClasses$1d = (ownerState) => {
    const { alignItems, classes } = ownerState;
    const slots = {
      root: [
        "root",
        alignItems === "flex-start" && "alignItemsFlexStart"
      ]
    };
    return composeClasses(slots, getListItemIconUtilityClass, classes);
  };
  const ListItemIconRoot = styled("div", {
    name: "MuiListItemIcon",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        ownerState.alignItems === "flex-start" && styles2.alignItemsFlexStart
      ];
    }
  })(memoTheme(({ theme }) => ({
    minWidth: 56,
    color: (theme.vars || theme).palette.action.active,
    flexShrink: 0,
    display: "inline-flex",
    variants: [
      {
        props: {
          alignItems: "flex-start"
        },
        style: {
          marginTop: 8
        }
      }
    ]
  })));
  ListItemIcon = __mf_14(function ListItemIcon2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiListItemIcon"
    });
    const { className, ...other } = props;
    const context = __mf_21(ListContext);
    const ownerState = {
      ...props,
      alignItems: context.alignItems
    };
    const classes = useUtilityClasses$1d(ownerState);
    return jsxRuntimeExports.jsx(ListItemIconRoot, {
      className: clsx(classes.root, className),
      ownerState,
      ref,
      ...other
    });
  });
  const useUtilityClasses$1c = (ownerState) => {
    const { classes, inset, primary, secondary, dense } = ownerState;
    const slots = {
      root: [
        "root",
        inset && "inset",
        dense && "dense",
        primary && secondary && "multiline"
      ],
      primary: [
        "primary"
      ],
      secondary: [
        "secondary"
      ]
    };
    return composeClasses(slots, getListItemTextUtilityClass, classes);
  };
  const ListItemTextRoot = styled("div", {
    name: "MuiListItemText",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        {
          [`& .${listItemTextClasses.primary}`]: styles2.primary
        },
        {
          [`& .${listItemTextClasses.secondary}`]: styles2.secondary
        },
        styles2.root,
        ownerState.inset && styles2.inset,
        ownerState.primary && ownerState.secondary && styles2.multiline,
        ownerState.dense && styles2.dense
      ];
    }
  })({
    flex: "1 1 auto",
    minWidth: 0,
    marginTop: 4,
    marginBottom: 4,
    [`.${typographyClasses.root}:where(& .${listItemTextClasses.primary})`]: {
      display: "block"
    },
    [`.${typographyClasses.root}:where(& .${listItemTextClasses.secondary})`]: {
      display: "block"
    },
    variants: [
      {
        props: ({ ownerState }) => ownerState.primary && ownerState.secondary,
        style: {
          marginTop: 6,
          marginBottom: 6
        }
      },
      {
        props: ({ ownerState }) => ownerState.inset,
        style: {
          paddingLeft: 56
        }
      }
    ]
  });
  ListItemText = __mf_14(function ListItemText2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiListItemText"
    });
    const { children, className, disableTypography = false, inset = false, primary: primaryProp, primaryTypographyProps, secondary: secondaryProp, secondaryTypographyProps, slots = {}, slotProps = {}, ...other } = props;
    const { dense } = __mf_21(ListContext);
    let primary = primaryProp != null ? primaryProp : children;
    let secondary = secondaryProp;
    const ownerState = {
      ...props,
      disableTypography,
      inset,
      primary: !!primary,
      secondary: !!secondary,
      dense
    };
    const classes = useUtilityClasses$1c(ownerState);
    const externalForwardedProps = {
      slots,
      slotProps: {
        primary: primaryTypographyProps,
        secondary: secondaryTypographyProps,
        ...slotProps
      }
    };
    const [RootSlot, rootSlotProps] = useSlot("root", {
      className: clsx(classes.root, className),
      elementType: ListItemTextRoot,
      externalForwardedProps: {
        ...externalForwardedProps,
        ...other
      },
      ownerState,
      ref
    });
    const [PrimarySlot, primarySlotProps] = useSlot("primary", {
      className: classes.primary,
      elementType: Typography,
      externalForwardedProps,
      ownerState
    });
    const [SecondarySlot, secondarySlotProps] = useSlot("secondary", {
      className: classes.secondary,
      elementType: Typography,
      externalForwardedProps,
      ownerState
    });
    if (primary != null && primary.type !== Typography && !disableTypography) {
      primary = jsxRuntimeExports.jsx(PrimarySlot, {
        variant: dense ? "body2" : "body1",
        component: (primarySlotProps == null ? void 0 : primarySlotProps.variant) ? void 0 : "span",
        ...primarySlotProps,
        children: primary
      });
    }
    if (secondary != null && secondary.type !== Typography && !disableTypography) {
      secondary = jsxRuntimeExports.jsx(SecondarySlot, {
        variant: "body2",
        color: "textSecondary",
        ...secondarySlotProps,
        children: secondary
      });
    }
    return jsxRuntimeExports.jsxs(RootSlot, {
      ...rootSlotProps,
      children: [
        primary,
        secondary
      ]
    });
  });
  getSkeletonUtilityClass = function(slot) {
    return generateUtilityClass("MuiSkeleton", slot);
  };
  skeletonClasses = generateUtilityClasses("MuiSkeleton", [
    "root",
    "text",
    "rectangular",
    "rounded",
    "circular",
    "pulse",
    "wave",
    "withChildren",
    "fitContent",
    "heightAuto"
  ]);
  const useUtilityClasses$1b = (ownerState) => {
    const { classes, variant, animation, hasChildren, width, height } = ownerState;
    const slots = {
      root: [
        "root",
        variant,
        animation,
        hasChildren && "withChildren",
        hasChildren && !width && "fitContent",
        hasChildren && !height && "heightAuto"
      ]
    };
    return composeClasses(slots, getSkeletonUtilityClass, classes);
  };
  const pulseKeyframe = __mf_27`
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0.4;
  }

  100% {
    opacity: 1;
  }
`;
  const waveKeyframe = __mf_27`
  0% {
    transform: translateX(-100%);
  }

  50% {
    /* +0.5s of delay between each loop */
    transform: translateX(100%);
  }

  100% {
    transform: translateX(100%);
  }
`;
  const pulseAnimation = typeof pulseKeyframe !== "string" ? __mf_17`
        animation: ${pulseKeyframe} 2s ease-in-out 0.5s infinite;
      ` : null;
  const waveAnimation = typeof waveKeyframe !== "string" ? __mf_17`
        &::after {
          animation: ${waveKeyframe} 2s linear 0.5s infinite;
        }
      ` : null;
  const SkeletonRoot = styled("span", {
    name: "MuiSkeleton",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[ownerState.variant],
        ownerState.animation !== false && styles2[ownerState.animation],
        ownerState.hasChildren && styles2.withChildren,
        ownerState.hasChildren && !ownerState.width && styles2.fitContent,
        ownerState.hasChildren && !ownerState.height && styles2.heightAuto
      ];
    }
  })(memoTheme(({ theme }) => {
    const radiusUnit = getUnit(theme.shape.borderRadius) || "px";
    const radiusValue = toUnitless(theme.shape.borderRadius);
    return {
      display: "block",
      backgroundColor: theme.vars ? theme.vars.palette.Skeleton.bg : __mf_133(theme.palette.text.primary, theme.palette.mode === "light" ? 0.11 : 0.13),
      height: "1.2em",
      variants: [
        {
          props: {
            variant: "text"
          },
          style: {
            marginTop: 0,
            marginBottom: 0,
            height: "auto",
            transformOrigin: "0 55%",
            transform: "scale(1, 0.60)",
            borderRadius: `${radiusValue}${radiusUnit}/${Math.round(radiusValue / 0.6 * 10) / 10}${radiusUnit}`,
            "&:empty:before": {
              content: '"\\00a0"'
            }
          }
        },
        {
          props: {
            variant: "circular"
          },
          style: {
            borderRadius: "50%"
          }
        },
        {
          props: {
            variant: "rounded"
          },
          style: {
            borderRadius: (theme.vars || theme).shape.borderRadius
          }
        },
        {
          props: ({ ownerState }) => ownerState.hasChildren,
          style: {
            "& > *": {
              visibility: "hidden"
            }
          }
        },
        {
          props: ({ ownerState }) => ownerState.hasChildren && !ownerState.width,
          style: {
            maxWidth: "fit-content"
          }
        },
        {
          props: ({ ownerState }) => ownerState.hasChildren && !ownerState.height,
          style: {
            height: "auto"
          }
        },
        {
          props: {
            animation: "pulse"
          },
          style: pulseAnimation || {
            animation: `${pulseKeyframe} 2s ease-in-out 0.5s infinite`
          }
        },
        {
          props: {
            animation: "wave"
          },
          style: {
            position: "relative",
            overflow: "hidden",
            WebkitMaskImage: "-webkit-radial-gradient(white, black)",
            "&::after": {
              background: `linear-gradient(
                90deg,
                transparent,
                ${(theme.vars || theme).palette.action.hover},
                transparent
              )`,
              content: '""',
              position: "absolute",
              transform: "translateX(-100%)",
              bottom: 0,
              left: 0,
              right: 0,
              top: 0
            }
          }
        },
        {
          props: {
            animation: "wave"
          },
          style: waveAnimation || {
            "&::after": {
              animation: `${waveKeyframe} 2s linear 0.5s infinite`
            }
          }
        }
      ]
    };
  }));
  Skeleton = __mf_14(function Skeleton2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiSkeleton"
    });
    const { animation = "pulse", className, component = "span", height, style, variant = "text", width, ...other } = props;
    const ownerState = {
      ...props,
      animation,
      component,
      variant,
      hasChildren: Boolean(other.children)
    };
    const classes = useUtilityClasses$1b(ownerState);
    return jsxRuntimeExports.jsx(SkeletonRoot, {
      as: component,
      ref,
      className: clsx(classes.root, className),
      ownerState,
      ...other,
      style: {
        width,
        height,
        ...style
      }
    });
  });
  const overridesResolver$3 = (props, styles2) => {
    const { ownerState } = props;
    return [
      styles2.root,
      ownerState.dense && styles2.dense,
      ownerState.alignItems === "flex-start" && styles2.alignItemsFlexStart,
      ownerState.divider && styles2.divider,
      !ownerState.disableGutters && styles2.gutters
    ];
  };
  const useUtilityClasses$1a = (ownerState) => {
    const { alignItems, classes, dense, disabled, disableGutters, divider, selected } = ownerState;
    const slots = {
      root: [
        "root",
        dense && "dense",
        !disableGutters && "gutters",
        divider && "divider",
        disabled && "disabled",
        alignItems === "flex-start" && "alignItemsFlexStart",
        selected && "selected"
      ]
    };
    const composedClasses = composeClasses(slots, getListItemButtonUtilityClass, classes);
    return {
      ...classes,
      ...composedClasses
    };
  };
  const ListItemButtonRoot = styled(ButtonBase, {
    shouldForwardProp: (prop) => rootShouldForwardProp(prop) || prop === "classes",
    name: "MuiListItemButton",
    slot: "Root",
    overridesResolver: overridesResolver$3
  })(memoTheme(({ theme }) => ({
    display: "flex",
    flexGrow: 1,
    justifyContent: "flex-start",
    alignItems: "center",
    position: "relative",
    textDecoration: "none",
    minWidth: 0,
    boxSizing: "border-box",
    textAlign: "left",
    paddingTop: 8,
    paddingBottom: 8,
    transition: theme.transitions.create("background-color", {
      duration: theme.transitions.duration.shortest
    }),
    "&:hover": {
      textDecoration: "none",
      backgroundColor: (theme.vars || theme).palette.action.hover,
      "@media (hover: none)": {
        backgroundColor: "transparent"
      }
    },
    [`&.${listItemButtonClasses.selected}`]: {
      backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),
      [`&.${listItemButtonClasses.focusVisible}`]: {
        backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)
      }
    },
    [`&.${listItemButtonClasses.selected}:hover`]: {
      backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),
      "@media (hover: none)": {
        backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)
      }
    },
    [`&.${listItemButtonClasses.focusVisible}`]: {
      backgroundColor: (theme.vars || theme).palette.action.focus
    },
    [`&.${listItemButtonClasses.disabled}`]: {
      opacity: (theme.vars || theme).palette.action.disabledOpacity
    },
    variants: [
      {
        props: ({ ownerState }) => ownerState.divider,
        style: {
          borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,
          backgroundClip: "padding-box"
        }
      },
      {
        props: {
          alignItems: "flex-start"
        },
        style: {
          alignItems: "flex-start"
        }
      },
      {
        props: ({ ownerState }) => !ownerState.disableGutters,
        style: {
          paddingLeft: 16,
          paddingRight: 16
        }
      },
      {
        props: ({ ownerState }) => ownerState.dense,
        style: {
          paddingTop: 4,
          paddingBottom: 4
        }
      }
    ]
  })));
  ListItemButton = __mf_14(function ListItemButton2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiListItemButton"
    });
    const { alignItems = "center", autoFocus = false, component = "div", children, dense = false, disableGutters = false, divider = false, focusVisibleClassName, selected = false, className, ...other } = props;
    const context = __mf_21(ListContext);
    const childContext = __mf_29(() => ({
      dense: dense || context.dense || false,
      alignItems,
      disableGutters
    }), [
      alignItems,
      context.dense,
      dense,
      disableGutters
    ]);
    const listItemRef = __mf_31(null);
    useEnhancedEffect(() => {
      if (autoFocus) {
        if (listItemRef.current) {
          listItemRef.current.focus();
        }
      }
    }, [
      autoFocus
    ]);
    const ownerState = {
      ...props,
      alignItems,
      dense: childContext.dense,
      disableGutters,
      divider,
      selected
    };
    const classes = useUtilityClasses$1a(ownerState);
    const handleRef = useForkRef(listItemRef, ref);
    return jsxRuntimeExports.jsx(ListContext.Provider, {
      value: childContext,
      children: jsxRuntimeExports.jsx(ListItemButtonRoot, {
        ref: handleRef,
        href: other.href || other.to,
        component: (other.href || other.to) && component === "div" ? "button" : component,
        focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),
        ownerState,
        className: clsx(classes.root, className),
        ...other,
        classes,
        children
      })
    });
  });
  getTabUtilityClass = function(slot) {
    return generateUtilityClass("MuiTab", slot);
  };
  tabClasses = generateUtilityClasses("MuiTab", [
    "root",
    "labelIcon",
    "textColorInherit",
    "textColorPrimary",
    "textColorSecondary",
    "selected",
    "disabled",
    "fullWidth",
    "wrapped",
    "iconWrapper",
    "icon"
  ]);
  const useUtilityClasses$19 = (ownerState) => {
    const { classes, textColor, fullWidth, wrapped, icon, label, selected, disabled } = ownerState;
    const slots = {
      root: [
        "root",
        icon && label && "labelIcon",
        `textColor${capitalize(textColor)}`,
        fullWidth && "fullWidth",
        wrapped && "wrapped",
        selected && "selected",
        disabled && "disabled"
      ],
      icon: [
        "iconWrapper",
        "icon"
      ]
    };
    return composeClasses(slots, getTabUtilityClass, classes);
  };
  const TabRoot = styled(ButtonBase, {
    name: "MuiTab",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        ownerState.label && ownerState.icon && styles2.labelIcon,
        styles2[`textColor${capitalize(ownerState.textColor)}`],
        ownerState.fullWidth && styles2.fullWidth,
        ownerState.wrapped && styles2.wrapped,
        {
          [`& .${tabClasses.iconWrapper}`]: styles2.iconWrapper
        },
        {
          [`& .${tabClasses.icon}`]: styles2.icon
        }
      ];
    }
  })(memoTheme(({ theme }) => ({
    ...theme.typography.button,
    maxWidth: 360,
    minWidth: 90,
    position: "relative",
    minHeight: 48,
    flexShrink: 0,
    padding: "12px 16px",
    overflow: "hidden",
    whiteSpace: "normal",
    textAlign: "center",
    lineHeight: 1.25,
    variants: [
      {
        props: ({ ownerState }) => ownerState.label && (ownerState.iconPosition === "top" || ownerState.iconPosition === "bottom"),
        style: {
          flexDirection: "column"
        }
      },
      {
        props: ({ ownerState }) => ownerState.label && ownerState.iconPosition !== "top" && ownerState.iconPosition !== "bottom",
        style: {
          flexDirection: "row"
        }
      },
      {
        props: ({ ownerState }) => ownerState.icon && ownerState.label,
        style: {
          minHeight: 72,
          paddingTop: 9,
          paddingBottom: 9
        }
      },
      {
        props: ({ ownerState, iconPosition }) => ownerState.icon && ownerState.label && iconPosition === "top",
        style: {
          [`& > .${tabClasses.icon}`]: {
            marginBottom: 6
          }
        }
      },
      {
        props: ({ ownerState, iconPosition }) => ownerState.icon && ownerState.label && iconPosition === "bottom",
        style: {
          [`& > .${tabClasses.icon}`]: {
            marginTop: 6
          }
        }
      },
      {
        props: ({ ownerState, iconPosition }) => ownerState.icon && ownerState.label && iconPosition === "start",
        style: {
          [`& > .${tabClasses.icon}`]: {
            marginRight: theme.spacing(1)
          }
        }
      },
      {
        props: ({ ownerState, iconPosition }) => ownerState.icon && ownerState.label && iconPosition === "end",
        style: {
          [`& > .${tabClasses.icon}`]: {
            marginLeft: theme.spacing(1)
          }
        }
      },
      {
        props: {
          textColor: "inherit"
        },
        style: {
          color: "inherit",
          opacity: 0.6,
          [`&.${tabClasses.selected}`]: {
            opacity: 1
          },
          [`&.${tabClasses.disabled}`]: {
            opacity: (theme.vars || theme).palette.action.disabledOpacity
          }
        }
      },
      {
        props: {
          textColor: "primary"
        },
        style: {
          color: (theme.vars || theme).palette.text.secondary,
          [`&.${tabClasses.selected}`]: {
            color: (theme.vars || theme).palette.primary.main
          },
          [`&.${tabClasses.disabled}`]: {
            color: (theme.vars || theme).palette.text.disabled
          }
        }
      },
      {
        props: {
          textColor: "secondary"
        },
        style: {
          color: (theme.vars || theme).palette.text.secondary,
          [`&.${tabClasses.selected}`]: {
            color: (theme.vars || theme).palette.secondary.main
          },
          [`&.${tabClasses.disabled}`]: {
            color: (theme.vars || theme).palette.text.disabled
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.fullWidth,
        style: {
          flexShrink: 1,
          flexGrow: 1,
          flexBasis: 0,
          maxWidth: "none"
        }
      },
      {
        props: ({ ownerState }) => ownerState.wrapped,
        style: {
          fontSize: theme.typography.pxToRem(12)
        }
      }
    ]
  })));
  Tab = __mf_14(function Tab2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiTab"
    });
    const { className, disabled = false, disableFocusRipple = false, fullWidth, icon: iconProp, iconPosition = "top", indicator, label, onChange, onClick, onFocus, selected, selectionFollowsFocus, textColor = "inherit", value, wrapped = false, ...other } = props;
    const ownerState = {
      ...props,
      disabled,
      disableFocusRipple,
      selected,
      icon: !!iconProp,
      iconPosition,
      label: !!label,
      fullWidth,
      textColor,
      wrapped
    };
    const classes = useUtilityClasses$19(ownerState);
    const icon = iconProp && label && __mf_15(iconProp) ? __mf_9(iconProp, {
      className: clsx(classes.icon, iconProp.props.className)
    }) : iconProp;
    const handleClick = (event) => {
      if (!selected && onChange) {
        onChange(event, value);
      }
      if (onClick) {
        onClick(event);
      }
    };
    const handleFocus = (event) => {
      if (selectionFollowsFocus && !selected && onChange) {
        onChange(event, value);
      }
      if (onFocus) {
        onFocus(event);
      }
    };
    return jsxRuntimeExports.jsxs(TabRoot, {
      focusRipple: !disableFocusRipple,
      className: clsx(classes.root, className),
      ref,
      role: "tab",
      "aria-selected": selected,
      disabled,
      onClick: handleClick,
      onFocus: handleFocus,
      ownerState,
      tabIndex: selected ? 0 : -1,
      ...other,
      children: [
        iconPosition === "top" || iconPosition === "start" ? jsxRuntimeExports.jsxs(__mf_2, {
          children: [
            icon,
            label
          ]
        }) : jsxRuntimeExports.jsxs(__mf_2, {
          children: [
            label,
            icon
          ]
        }),
        indicator
      ]
    });
  });
  function easeInOutSin(time) {
    return (1 + Math.sin(Math.PI * time - Math.PI / 2)) / 2;
  }
  function animate(property, element, to, options = {}, cb = () => {
  }) {
    const { ease = easeInOutSin, duration = 300 } = options;
    let start = null;
    const from = element[property];
    let cancelled = false;
    const cancel = () => {
      cancelled = true;
    };
    const step = (timestamp) => {
      if (cancelled) {
        cb(new Error("Animation cancelled"));
        return;
      }
      if (start === null) {
        start = timestamp;
      }
      const time = Math.min(1, (timestamp - start) / duration);
      element[property] = ease(time) * (to - from) + from;
      if (time >= 1) {
        requestAnimationFrame(() => {
          cb(null);
        });
        return;
      }
      requestAnimationFrame(step);
    };
    if (from === to) {
      cb(new Error("Element already at target position"));
      return cancel;
    }
    requestAnimationFrame(step);
    return cancel;
  }
  const styles$2 = {
    width: 99,
    height: 99,
    position: "absolute",
    top: -9999,
    overflow: "scroll"
  };
  function ScrollbarSize(props) {
    const { onChange, ...other } = props;
    const scrollbarHeight = __mf_31();
    const nodeRef = __mf_31(null);
    const setMeasurements = () => {
      scrollbarHeight.current = nodeRef.current.offsetHeight - nodeRef.current.clientHeight;
    };
    useEnhancedEffect(() => {
      const handleResize = debounce(() => {
        const prevHeight = scrollbarHeight.current;
        setMeasurements();
        if (prevHeight !== scrollbarHeight.current) {
          onChange(scrollbarHeight.current);
        }
      });
      const containerWindow = ownerWindow(nodeRef.current);
      containerWindow.addEventListener("resize", handleResize);
      return () => {
        handleResize.clear();
        containerWindow.removeEventListener("resize", handleResize);
      };
    }, [
      onChange
    ]);
    __mf_24(() => {
      setMeasurements();
      onChange(scrollbarHeight.current);
    }, [
      onChange
    ]);
    return jsxRuntimeExports.jsx("div", {
      style: styles$2,
      ...other,
      ref: nodeRef
    });
  }
  const KeyboardArrowLeft = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"
  }), "KeyboardArrowLeft");
  const KeyboardArrowRight = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"
  }), "KeyboardArrowRight");
  getTabScrollButtonUtilityClass = function(slot) {
    return generateUtilityClass("MuiTabScrollButton", slot);
  };
  tabScrollButtonClasses = generateUtilityClasses("MuiTabScrollButton", [
    "root",
    "vertical",
    "horizontal",
    "disabled"
  ]);
  const useUtilityClasses$18 = (ownerState) => {
    const { classes, orientation, disabled } = ownerState;
    const slots = {
      root: [
        "root",
        orientation,
        disabled && "disabled"
      ]
    };
    return composeClasses(slots, getTabScrollButtonUtilityClass, classes);
  };
  const TabScrollButtonRoot = styled(ButtonBase, {
    name: "MuiTabScrollButton",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        ownerState.orientation && styles2[ownerState.orientation]
      ];
    }
  })({
    width: 40,
    flexShrink: 0,
    opacity: 0.8,
    [`&.${tabScrollButtonClasses.disabled}`]: {
      opacity: 0
    },
    variants: [
      {
        props: {
          orientation: "vertical"
        },
        style: {
          width: "100%",
          height: 40,
          "& svg": {
            transform: "var(--TabScrollButton-svgRotate)"
          }
        }
      }
    ]
  });
  TabScrollButton = __mf_14(function TabScrollButton2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiTabScrollButton"
    });
    const { className, slots = {}, slotProps = {}, direction, orientation, disabled, ...other } = props;
    const isRtl = useRtl();
    const ownerState = {
      isRtl,
      ...props
    };
    const classes = useUtilityClasses$18(ownerState);
    const StartButtonIcon = slots.StartScrollButtonIcon ?? KeyboardArrowLeft;
    const EndButtonIcon = slots.EndScrollButtonIcon ?? KeyboardArrowRight;
    const startButtonIconProps = useSlotProps({
      elementType: StartButtonIcon,
      externalSlotProps: slotProps.startScrollButtonIcon,
      additionalProps: {
        fontSize: "small"
      },
      ownerState
    });
    const endButtonIconProps = useSlotProps({
      elementType: EndButtonIcon,
      externalSlotProps: slotProps.endScrollButtonIcon,
      additionalProps: {
        fontSize: "small"
      },
      ownerState
    });
    return jsxRuntimeExports.jsx(TabScrollButtonRoot, {
      component: "div",
      className: clsx(classes.root, className),
      ref,
      role: null,
      ownerState,
      tabIndex: null,
      ...other,
      style: {
        ...other.style,
        ...orientation === "vertical" && {
          "--TabScrollButton-svgRotate": `rotate(${isRtl ? -90 : 90}deg)`
        }
      },
      children: direction === "left" ? jsxRuntimeExports.jsx(StartButtonIcon, {
        ...startButtonIconProps
      }) : jsxRuntimeExports.jsx(EndButtonIcon, {
        ...endButtonIconProps
      })
    });
  });
  getTabsUtilityClass = function(slot) {
    return generateUtilityClass("MuiTabs", slot);
  };
  tabsClasses = generateUtilityClasses("MuiTabs", [
    "root",
    "vertical",
    "list",
    "flexContainer",
    "flexContainerVertical",
    "centered",
    "scroller",
    "fixed",
    "scrollableX",
    "scrollableY",
    "hideScrollbar",
    "scrollButtons",
    "scrollButtonsHideMobile",
    "indicator"
  ]);
  const nextItem = (list, item) => {
    if (list === item) {
      return list.firstChild;
    }
    if (item && item.nextElementSibling) {
      return item.nextElementSibling;
    }
    return list.firstChild;
  };
  const previousItem = (list, item) => {
    if (list === item) {
      return list.lastChild;
    }
    if (item && item.previousElementSibling) {
      return item.previousElementSibling;
    }
    return list.lastChild;
  };
  const moveFocus = (list, currentFocus, traversalFunction) => {
    let wrappedOnce = false;
    let nextFocus = traversalFunction(list, currentFocus);
    while (nextFocus) {
      if (nextFocus === list.firstChild) {
        if (wrappedOnce) {
          return;
        }
        wrappedOnce = true;
      }
      const nextFocusDisabled = nextFocus.disabled || nextFocus.getAttribute("aria-disabled") === "true";
      if (!nextFocus.hasAttribute("tabindex") || nextFocusDisabled) {
        nextFocus = traversalFunction(list, nextFocus);
      } else {
        nextFocus.focus();
        return;
      }
    }
  };
  const useUtilityClasses$17 = (ownerState) => {
    const { vertical, fixed, hideScrollbar, scrollableX, scrollableY, centered, scrollButtonsHideMobile, classes } = ownerState;
    const slots = {
      root: [
        "root",
        vertical && "vertical"
      ],
      scroller: [
        "scroller",
        fixed && "fixed",
        hideScrollbar && "hideScrollbar",
        scrollableX && "scrollableX",
        scrollableY && "scrollableY"
      ],
      list: [
        "list",
        "flexContainer",
        vertical && "flexContainerVertical",
        vertical && "vertical",
        centered && "centered"
      ],
      indicator: [
        "indicator"
      ],
      scrollButtons: [
        "scrollButtons",
        scrollButtonsHideMobile && "scrollButtonsHideMobile"
      ],
      scrollableX: [
        scrollableX && "scrollableX"
      ],
      hideScrollbar: [
        hideScrollbar && "hideScrollbar"
      ]
    };
    return composeClasses(slots, getTabsUtilityClass, classes);
  };
  const TabsRoot = styled("div", {
    name: "MuiTabs",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        {
          [`& .${tabsClasses.scrollButtons}`]: styles2.scrollButtons
        },
        {
          [`& .${tabsClasses.scrollButtons}`]: ownerState.scrollButtonsHideMobile && styles2.scrollButtonsHideMobile
        },
        styles2.root,
        ownerState.vertical && styles2.vertical
      ];
    }
  })(memoTheme(({ theme }) => ({
    overflow: "hidden",
    minHeight: 48,
    WebkitOverflowScrolling: "touch",
    display: "flex",
    variants: [
      {
        props: ({ ownerState }) => ownerState.vertical,
        style: {
          flexDirection: "column"
        }
      },
      {
        props: ({ ownerState }) => ownerState.scrollButtonsHideMobile,
        style: {
          [`& .${tabsClasses.scrollButtons}`]: {
            [theme.breakpoints.down("sm")]: {
              display: "none"
            }
          }
        }
      }
    ]
  })));
  const TabsScroller = styled("div", {
    name: "MuiTabs",
    slot: "Scroller",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.scroller,
        ownerState.fixed && styles2.fixed,
        ownerState.hideScrollbar && styles2.hideScrollbar,
        ownerState.scrollableX && styles2.scrollableX,
        ownerState.scrollableY && styles2.scrollableY
      ];
    }
  })({
    position: "relative",
    display: "inline-block",
    flex: "1 1 auto",
    whiteSpace: "nowrap",
    variants: [
      {
        props: ({ ownerState }) => ownerState.fixed,
        style: {
          overflowX: "hidden",
          width: "100%"
        }
      },
      {
        props: ({ ownerState }) => ownerState.hideScrollbar,
        style: {
          scrollbarWidth: "none",
          "&::-webkit-scrollbar": {
            display: "none"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.scrollableX,
        style: {
          overflowX: "auto",
          overflowY: "hidden"
        }
      },
      {
        props: ({ ownerState }) => ownerState.scrollableY,
        style: {
          overflowY: "auto",
          overflowX: "hidden"
        }
      }
    ]
  });
  const List = styled("div", {
    name: "MuiTabs",
    slot: "List",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.list,
        styles2.flexContainer,
        ownerState.vertical && styles2.flexContainerVertical,
        ownerState.centered && styles2.centered
      ];
    }
  })({
    display: "flex",
    variants: [
      {
        props: ({ ownerState }) => ownerState.vertical,
        style: {
          flexDirection: "column"
        }
      },
      {
        props: ({ ownerState }) => ownerState.centered,
        style: {
          justifyContent: "center"
        }
      }
    ]
  });
  const TabsIndicator = styled("span", {
    name: "MuiTabs",
    slot: "Indicator",
    overridesResolver: (props, styles2) => styles2.indicator
  })(memoTheme(({ theme }) => ({
    position: "absolute",
    height: 2,
    bottom: 0,
    width: "100%",
    transition: theme.transitions.create(),
    variants: [
      {
        props: {
          indicatorColor: "primary"
        },
        style: {
          backgroundColor: (theme.vars || theme).palette.primary.main
        }
      },
      {
        props: {
          indicatorColor: "secondary"
        },
        style: {
          backgroundColor: (theme.vars || theme).palette.secondary.main
        }
      },
      {
        props: ({ ownerState }) => ownerState.vertical,
        style: {
          height: "100%",
          width: 2,
          right: 0
        }
      }
    ]
  })));
  const TabsScrollbarSize = styled(ScrollbarSize)({
    overflowX: "auto",
    overflowY: "hidden",
    scrollbarWidth: "none",
    "&::-webkit-scrollbar": {
      display: "none"
    }
  });
  const defaultIndicatorStyle = {};
  Tabs = __mf_14(function Tabs2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiTabs"
    });
    const theme = useTheme();
    const isRtl = useRtl();
    const { "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, action, centered = false, children: childrenProp, className, component = "div", allowScrollButtonsMobile = false, indicatorColor = "primary", onChange, orientation = "horizontal", ScrollButtonComponent, scrollButtons = "auto", selectionFollowsFocus, slots = {}, slotProps = {}, TabIndicatorProps = {}, TabScrollButtonProps = {}, textColor = "primary", value, variant = "standard", visibleScrollbar = false, ...other } = props;
    const scrollable = variant === "scrollable";
    const vertical = orientation === "vertical";
    const scrollStart = vertical ? "scrollTop" : "scrollLeft";
    const start = vertical ? "top" : "left";
    const end = vertical ? "bottom" : "right";
    const clientSize = vertical ? "clientHeight" : "clientWidth";
    const size = vertical ? "height" : "width";
    const ownerState = {
      ...props,
      component,
      allowScrollButtonsMobile,
      indicatorColor,
      orientation,
      vertical,
      scrollButtons,
      textColor,
      variant,
      visibleScrollbar,
      fixed: !scrollable,
      hideScrollbar: scrollable && !visibleScrollbar,
      scrollableX: scrollable && !vertical,
      scrollableY: scrollable && vertical,
      centered: centered && !scrollable,
      scrollButtonsHideMobile: !allowScrollButtonsMobile
    };
    const classes = useUtilityClasses$17(ownerState);
    const startScrollButtonIconProps = useSlotProps({
      elementType: slots.StartScrollButtonIcon,
      externalSlotProps: slotProps.startScrollButtonIcon,
      ownerState
    });
    const endScrollButtonIconProps = useSlotProps({
      elementType: slots.EndScrollButtonIcon,
      externalSlotProps: slotProps.endScrollButtonIcon,
      ownerState
    });
    const [mounted, setMounted] = __mf_32(false);
    const [indicatorStyle, setIndicatorStyle] = __mf_32(defaultIndicatorStyle);
    const [displayStartScroll, setDisplayStartScroll] = __mf_32(false);
    const [displayEndScroll, setDisplayEndScroll] = __mf_32(false);
    const [updateScrollObserver, setUpdateScrollObserver] = __mf_32(false);
    const [scrollerStyle, setScrollerStyle] = __mf_32({
      overflow: "hidden",
      scrollbarWidth: 0
    });
    const valueToIndex = /* @__PURE__ */ new Map();
    const tabsRef = __mf_31(null);
    const tabListRef = __mf_31(null);
    const externalForwardedProps = {
      slots,
      slotProps: {
        indicator: TabIndicatorProps,
        scrollButton: TabScrollButtonProps,
        ...slotProps
      }
    };
    const getTabsMeta = () => {
      const tabsNode = tabsRef.current;
      let tabsMeta;
      if (tabsNode) {
        const rect = tabsNode.getBoundingClientRect();
        tabsMeta = {
          clientWidth: tabsNode.clientWidth,
          scrollLeft: tabsNode.scrollLeft,
          scrollTop: tabsNode.scrollTop,
          scrollWidth: tabsNode.scrollWidth,
          top: rect.top,
          bottom: rect.bottom,
          left: rect.left,
          right: rect.right
        };
      }
      let tabMeta;
      if (tabsNode && value !== false) {
        const children2 = tabListRef.current.children;
        if (children2.length > 0) {
          const tab = children2[valueToIndex.get(value)];
          tabMeta = tab ? tab.getBoundingClientRect() : null;
        }
      }
      return {
        tabsMeta,
        tabMeta
      };
    };
    const updateIndicatorState = useEventCallback(() => {
      const { tabsMeta, tabMeta } = getTabsMeta();
      let startValue = 0;
      let startIndicator;
      if (vertical) {
        startIndicator = "top";
        if (tabMeta && tabsMeta) {
          startValue = tabMeta.top - tabsMeta.top + tabsMeta.scrollTop;
        }
      } else {
        startIndicator = isRtl ? "right" : "left";
        if (tabMeta && tabsMeta) {
          startValue = (isRtl ? -1 : 1) * (tabMeta[startIndicator] - tabsMeta[startIndicator] + tabsMeta.scrollLeft);
        }
      }
      const newIndicatorStyle = {
        [startIndicator]: startValue,
        [size]: tabMeta ? tabMeta[size] : 0
      };
      if (typeof indicatorStyle[startIndicator] !== "number" || typeof indicatorStyle[size] !== "number") {
        setIndicatorStyle(newIndicatorStyle);
      } else {
        const dStart = Math.abs(indicatorStyle[startIndicator] - newIndicatorStyle[startIndicator]);
        const dSize = Math.abs(indicatorStyle[size] - newIndicatorStyle[size]);
        if (dStart >= 1 || dSize >= 1) {
          setIndicatorStyle(newIndicatorStyle);
        }
      }
    });
    const scroll = (scrollValue, { animation = true } = {}) => {
      if (animation) {
        animate(scrollStart, tabsRef.current, scrollValue, {
          duration: theme.transitions.duration.standard
        });
      } else {
        tabsRef.current[scrollStart] = scrollValue;
      }
    };
    const moveTabsScroll = (delta) => {
      let scrollValue = tabsRef.current[scrollStart];
      if (vertical) {
        scrollValue += delta;
      } else {
        scrollValue += delta * (isRtl ? -1 : 1);
      }
      scroll(scrollValue);
    };
    const getScrollSize = () => {
      const containerSize = tabsRef.current[clientSize];
      let totalSize = 0;
      const children2 = Array.from(tabListRef.current.children);
      for (let i3 = 0; i3 < children2.length; i3 += 1) {
        const tab = children2[i3];
        if (totalSize + tab[clientSize] > containerSize) {
          if (i3 === 0) {
            totalSize = containerSize;
          }
          break;
        }
        totalSize += tab[clientSize];
      }
      return totalSize;
    };
    const handleStartScrollClick = () => {
      moveTabsScroll(-1 * getScrollSize());
    };
    const handleEndScrollClick = () => {
      moveTabsScroll(getScrollSize());
    };
    const [ScrollbarSlot, { onChange: scrollbarOnChange, ...scrollbarSlotProps }] = useSlot("scrollbar", {
      className: clsx(classes.scrollableX, classes.hideScrollbar),
      elementType: TabsScrollbarSize,
      shouldForwardComponentProp: true,
      externalForwardedProps,
      ownerState
    });
    const handleScrollbarSizeChange = __mf_20((scrollbarWidth) => {
      scrollbarOnChange == null ? void 0 : scrollbarOnChange(scrollbarWidth);
      setScrollerStyle({
        overflow: null,
        scrollbarWidth
      });
    }, [
      scrollbarOnChange
    ]);
    const [ScrollButtonsSlot, scrollButtonSlotProps] = useSlot("scrollButtons", {
      className: clsx(classes.scrollButtons, TabScrollButtonProps.className),
      elementType: TabScrollButton,
      externalForwardedProps,
      ownerState,
      additionalProps: {
        orientation,
        slots: {
          StartScrollButtonIcon: slots.startScrollButtonIcon || slots.StartScrollButtonIcon,
          EndScrollButtonIcon: slots.endScrollButtonIcon || slots.EndScrollButtonIcon
        },
        slotProps: {
          startScrollButtonIcon: startScrollButtonIconProps,
          endScrollButtonIcon: endScrollButtonIconProps
        }
      }
    });
    const getConditionalElements = () => {
      const conditionalElements2 = {};
      conditionalElements2.scrollbarSizeListener = scrollable ? jsxRuntimeExports.jsx(ScrollbarSlot, {
        ...scrollbarSlotProps,
        onChange: handleScrollbarSizeChange
      }) : null;
      const scrollButtonsActive = displayStartScroll || displayEndScroll;
      const showScrollButtons = scrollable && (scrollButtons === "auto" && scrollButtonsActive || scrollButtons === true);
      conditionalElements2.scrollButtonStart = showScrollButtons ? jsxRuntimeExports.jsx(ScrollButtonsSlot, {
        direction: isRtl ? "right" : "left",
        onClick: handleStartScrollClick,
        disabled: !displayStartScroll,
        ...scrollButtonSlotProps
      }) : null;
      conditionalElements2.scrollButtonEnd = showScrollButtons ? jsxRuntimeExports.jsx(ScrollButtonsSlot, {
        direction: isRtl ? "left" : "right",
        onClick: handleEndScrollClick,
        disabled: !displayEndScroll,
        ...scrollButtonSlotProps
      }) : null;
      return conditionalElements2;
    };
    const scrollSelectedIntoView = useEventCallback((animation) => {
      const { tabsMeta, tabMeta } = getTabsMeta();
      if (!tabMeta || !tabsMeta) {
        return;
      }
      if (tabMeta[start] < tabsMeta[start]) {
        const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[start] - tabsMeta[start]);
        scroll(nextScrollStart, {
          animation
        });
      } else if (tabMeta[end] > tabsMeta[end]) {
        const nextScrollStart = tabsMeta[scrollStart] + (tabMeta[end] - tabsMeta[end]);
        scroll(nextScrollStart, {
          animation
        });
      }
    });
    const updateScrollButtonState = useEventCallback(() => {
      if (scrollable && scrollButtons !== false) {
        setUpdateScrollObserver(!updateScrollObserver);
      }
    });
    __mf_24(() => {
      const handleResize = debounce(() => {
        if (tabsRef.current) {
          updateIndicatorState();
        }
      });
      let resizeObserver;
      const handleMutation = (records) => {
        records.forEach((record) => {
          record.removedNodes.forEach((item) => {
            resizeObserver == null ? void 0 : resizeObserver.unobserve(item);
          });
          record.addedNodes.forEach((item) => {
            resizeObserver == null ? void 0 : resizeObserver.observe(item);
          });
        });
        handleResize();
        updateScrollButtonState();
      };
      const win = ownerWindow(tabsRef.current);
      win.addEventListener("resize", handleResize);
      let mutationObserver;
      if (typeof ResizeObserver !== "undefined") {
        resizeObserver = new ResizeObserver(handleResize);
        Array.from(tabListRef.current.children).forEach((child) => {
          resizeObserver.observe(child);
        });
      }
      if (typeof MutationObserver !== "undefined") {
        mutationObserver = new MutationObserver(handleMutation);
        mutationObserver.observe(tabListRef.current, {
          childList: true
        });
      }
      return () => {
        handleResize.clear();
        win.removeEventListener("resize", handleResize);
        mutationObserver == null ? void 0 : mutationObserver.disconnect();
        resizeObserver == null ? void 0 : resizeObserver.disconnect();
      };
    }, [
      updateIndicatorState,
      updateScrollButtonState
    ]);
    __mf_24(() => {
      const tabListChildren = Array.from(tabListRef.current.children);
      const length = tabListChildren.length;
      if (typeof IntersectionObserver !== "undefined" && length > 0 && scrollable && scrollButtons !== false) {
        const firstTab = tabListChildren[0];
        const lastTab = tabListChildren[length - 1];
        const observerOptions = {
          root: tabsRef.current,
          threshold: 0.99
        };
        const handleScrollButtonStart = (entries) => {
          setDisplayStartScroll(!entries[0].isIntersecting);
        };
        const firstObserver = new IntersectionObserver(handleScrollButtonStart, observerOptions);
        firstObserver.observe(firstTab);
        const handleScrollButtonEnd = (entries) => {
          setDisplayEndScroll(!entries[0].isIntersecting);
        };
        const lastObserver = new IntersectionObserver(handleScrollButtonEnd, observerOptions);
        lastObserver.observe(lastTab);
        return () => {
          firstObserver.disconnect();
          lastObserver.disconnect();
        };
      }
      return void 0;
    }, [
      scrollable,
      scrollButtons,
      updateScrollObserver,
      childrenProp == null ? void 0 : childrenProp.length
    ]);
    __mf_24(() => {
      setMounted(true);
    }, []);
    __mf_24(() => {
      updateIndicatorState();
    });
    __mf_24(() => {
      scrollSelectedIntoView(defaultIndicatorStyle !== indicatorStyle);
    }, [
      scrollSelectedIntoView,
      indicatorStyle
    ]);
    __mf_26(action, () => ({
      updateIndicator: updateIndicatorState,
      updateScrollButtons: updateScrollButtonState
    }), [
      updateIndicatorState,
      updateScrollButtonState
    ]);
    const [IndicatorSlot, indicatorSlotProps] = useSlot("indicator", {
      className: clsx(classes.indicator, TabIndicatorProps.className),
      elementType: TabsIndicator,
      externalForwardedProps,
      ownerState,
      additionalProps: {
        style: indicatorStyle
      }
    });
    const indicator = jsxRuntimeExports.jsx(IndicatorSlot, {
      ...indicatorSlotProps
    });
    let childIndex = 0;
    const children = __mf_0.map(childrenProp, (child) => {
      if (!__mf_15(child)) {
        return null;
      }
      const childValue = child.props.value === void 0 ? childIndex : child.props.value;
      valueToIndex.set(childValue, childIndex);
      const selected = childValue === value;
      childIndex += 1;
      return __mf_9(child, {
        fullWidth: variant === "fullWidth",
        indicator: selected && !mounted && indicator,
        selected,
        selectionFollowsFocus,
        onChange,
        textColor,
        value: childValue,
        ...childIndex === 1 && value === false && !child.props.tabIndex ? {
          tabIndex: 0
        } : {}
      });
    });
    const handleKeyDown = (event) => {
      if (event.altKey || event.shiftKey || event.ctrlKey || event.metaKey) {
        return;
      }
      const list = tabListRef.current;
      const currentFocus = ownerDocument(list).activeElement;
      const role = currentFocus.getAttribute("role");
      if (role !== "tab") {
        return;
      }
      let previousItemKey = orientation === "horizontal" ? "ArrowLeft" : "ArrowUp";
      let nextItemKey = orientation === "horizontal" ? "ArrowRight" : "ArrowDown";
      if (orientation === "horizontal" && isRtl) {
        previousItemKey = "ArrowRight";
        nextItemKey = "ArrowLeft";
      }
      switch (event.key) {
        case previousItemKey:
          event.preventDefault();
          moveFocus(list, currentFocus, previousItem);
          break;
        case nextItemKey:
          event.preventDefault();
          moveFocus(list, currentFocus, nextItem);
          break;
        case "Home":
          event.preventDefault();
          moveFocus(list, null, nextItem);
          break;
        case "End":
          event.preventDefault();
          moveFocus(list, null, previousItem);
          break;
      }
    };
    const conditionalElements = getConditionalElements();
    const [RootSlot, rootSlotProps] = useSlot("root", {
      ref,
      className: clsx(classes.root, className),
      elementType: TabsRoot,
      externalForwardedProps: {
        ...externalForwardedProps,
        ...other,
        component
      },
      ownerState
    });
    const [ScrollerSlot, scrollerSlotProps] = useSlot("scroller", {
      ref: tabsRef,
      className: classes.scroller,
      elementType: TabsScroller,
      externalForwardedProps,
      ownerState,
      additionalProps: {
        style: {
          overflow: scrollerStyle.overflow,
          [vertical ? `margin${isRtl ? "Left" : "Right"}` : "marginBottom"]: visibleScrollbar ? void 0 : -scrollerStyle.scrollbarWidth
        }
      }
    });
    const [ListSlot, listSlotProps] = useSlot("list", {
      ref: tabListRef,
      className: clsx(classes.list, classes.flexContainer),
      elementType: List,
      externalForwardedProps,
      ownerState,
      getSlotProps: (handlers) => ({
        ...handlers,
        onKeyDown: (event) => {
          var _a;
          handleKeyDown(event);
          (_a = handlers.onKeyDown) == null ? void 0 : _a.call(handlers, event);
        }
      })
    });
    return jsxRuntimeExports.jsxs(RootSlot, {
      ...rootSlotProps,
      children: [
        conditionalElements.scrollButtonStart,
        conditionalElements.scrollbarSizeListener,
        jsxRuntimeExports.jsxs(ScrollerSlot, {
          ...scrollerSlotProps,
          children: [
            jsxRuntimeExports.jsx(ListSlot, {
              "aria-label": ariaLabel,
              "aria-labelledby": ariaLabelledBy,
              "aria-orientation": orientation === "vertical" ? "vertical" : null,
              role: "tablist",
              ...listSlotProps,
              children
            }),
            mounted && indicator
          ]
        }),
        conditionalElements.scrollButtonEnd
      ]
    });
  });
  const pink = {
    50: "#fce4ec",
    100: "#f8bbd0",
    200: "#f48fb1",
    300: "#f06292",
    400: "#ec407a",
    500: "#e91e63",
    600: "#d81b60",
    700: "#c2185b",
    800: "#ad1457",
    900: "#880e4f",
    A100: "#ff80ab",
    A200: "#ff4081",
    A400: "#f50057",
    A700: "#c51162"
  };
  const deepPurple = {
    50: "#ede7f6",
    100: "#d1c4e9",
    200: "#b39ddb",
    300: "#9575cd",
    400: "#7e57c2",
    500: "#673ab7",
    600: "#5e35b1",
    700: "#512da8",
    800: "#4527a0",
    900: "#311b92",
    A100: "#b388ff",
    A200: "#7c4dff",
    A400: "#651fff",
    A700: "#6200ea"
  };
  const indigo = {
    50: "#e8eaf6",
    100: "#c5cae9",
    200: "#9fa8da",
    300: "#7986cb",
    400: "#5c6bc0",
    500: "#3f51b5",
    600: "#3949ab",
    700: "#303f9f",
    800: "#283593",
    900: "#1a237e",
    A100: "#8c9eff",
    A200: "#536dfe",
    A400: "#3d5afe",
    A700: "#304ffe"
  };
  const cyan = {
    50: "#e0f7fa",
    100: "#b2ebf2",
    200: "#80deea",
    300: "#4dd0e1",
    400: "#26c6da",
    500: "#00bcd4",
    600: "#00acc1",
    700: "#0097a7",
    800: "#00838f",
    900: "#006064",
    A100: "#84ffff",
    A200: "#18ffff",
    A400: "#00e5ff",
    A700: "#00b8d4"
  };
  const teal = {
    50: "#e0f2f1",
    100: "#b2dfdb",
    200: "#80cbc4",
    300: "#4db6ac",
    400: "#26a69a",
    500: "#009688",
    600: "#00897b",
    700: "#00796b",
    800: "#00695c",
    900: "#004d40",
    A100: "#a7ffeb",
    A200: "#64ffda",
    A400: "#1de9b6",
    A700: "#00bfa5"
  };
  const lightGreen = {
    50: "#f1f8e9",
    100: "#dcedc8",
    200: "#c5e1a5",
    300: "#aed581",
    400: "#9ccc65",
    500: "#8bc34a",
    600: "#7cb342",
    700: "#689f38",
    800: "#558b2f",
    900: "#33691e",
    A100: "#ccff90",
    A200: "#b2ff59",
    A400: "#76ff03",
    A700: "#64dd17"
  };
  const lime = {
    50: "#f9fbe7",
    100: "#f0f4c3",
    200: "#e6ee9c",
    300: "#dce775",
    400: "#d4e157",
    500: "#cddc39",
    600: "#c0ca33",
    700: "#afb42b",
    800: "#9e9d24",
    900: "#827717",
    A100: "#f4ff81",
    A200: "#eeff41",
    A400: "#c6ff00",
    A700: "#aeea00"
  };
  const yellow = {
    50: "#fffde7",
    100: "#fff9c4",
    200: "#fff59d",
    300: "#fff176",
    400: "#ffee58",
    500: "#ffeb3b",
    600: "#fdd835",
    700: "#fbc02d",
    800: "#f9a825",
    900: "#f57f17",
    A100: "#ffff8d",
    A200: "#ffff00",
    A400: "#ffea00",
    A700: "#ffd600"
  };
  const amber = {
    50: "#fff8e1",
    100: "#ffecb3",
    200: "#ffe082",
    300: "#ffd54f",
    400: "#ffca28",
    500: "#ffc107",
    600: "#ffb300",
    700: "#ffa000",
    800: "#ff8f00",
    900: "#ff6f00",
    A100: "#ffe57f",
    A200: "#ffd740",
    A400: "#ffc400",
    A700: "#ffab00"
  };
  const deepOrange = {
    50: "#fbe9e7",
    100: "#ffccbc",
    200: "#ffab91",
    300: "#ff8a65",
    400: "#ff7043",
    500: "#ff5722",
    600: "#f4511e",
    700: "#e64a19",
    800: "#d84315",
    900: "#bf360c",
    A100: "#ff9e80",
    A200: "#ff6e40",
    A400: "#ff3d00",
    A700: "#dd2c00"
  };
  const brown = {
    50: "#efebe9",
    100: "#d7ccc8",
    200: "#bcaaa4",
    300: "#a1887f",
    400: "#8d6e63",
    500: "#795548",
    600: "#6d4c41",
    700: "#5d4037",
    800: "#4e342e",
    900: "#3e2723",
    A100: "#d7ccc8",
    A200: "#bcaaa4",
    A400: "#8d6e63",
    A700: "#5d4037"
  };
  const blueGrey = {
    50: "#eceff1",
    100: "#cfd8dc",
    200: "#b0bec5",
    300: "#90a4ae",
    400: "#78909c",
    500: "#607d8b",
    600: "#546e7a",
    700: "#455a64",
    800: "#37474f",
    900: "#263238",
    A100: "#cfd8dc",
    A200: "#b0bec5",
    A400: "#78909c",
    A700: "#455a64"
  };
  index = Object.freeze(Object.defineProperty({
    __proto__: null,
    amber,
    blue,
    blueGrey,
    brown,
    common,
    cyan,
    deepOrange,
    deepPurple,
    green,
    grey,
    indigo,
    lightBlue,
    lightGreen,
    lime,
    orange,
    pink,
    purple,
    red,
    teal,
    yellow
  }, Symbol.toStringTag, {
    value: "Module"
  }));
  const AccordionContext = __mf_10({});
  getAccordionUtilityClass = function(slot) {
    return generateUtilityClass("MuiAccordion", slot);
  };
  accordionClasses = generateUtilityClasses("MuiAccordion", [
    "root",
    "heading",
    "rounded",
    "expanded",
    "disabled",
    "gutters",
    "region"
  ]);
  const useUtilityClasses$16 = (ownerState) => {
    const { classes, square, expanded, disabled, disableGutters } = ownerState;
    const slots = {
      root: [
        "root",
        !square && "rounded",
        expanded && "expanded",
        disabled && "disabled",
        !disableGutters && "gutters"
      ],
      heading: [
        "heading"
      ],
      region: [
        "region"
      ]
    };
    return composeClasses(slots, getAccordionUtilityClass, classes);
  };
  const AccordionRoot = styled(Paper, {
    name: "MuiAccordion",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        {
          [`& .${accordionClasses.region}`]: styles2.region
        },
        styles2.root,
        !ownerState.square && styles2.rounded,
        !ownerState.disableGutters && styles2.gutters
      ];
    }
  })(memoTheme(({ theme }) => {
    const transition = {
      duration: theme.transitions.duration.shortest
    };
    return {
      position: "relative",
      transition: theme.transitions.create([
        "margin"
      ], transition),
      overflowAnchor: "none",
      "&::before": {
        position: "absolute",
        left: 0,
        top: -1,
        right: 0,
        height: 1,
        content: '""',
        opacity: 1,
        backgroundColor: (theme.vars || theme).palette.divider,
        transition: theme.transitions.create([
          "opacity",
          "background-color"
        ], transition)
      },
      "&:first-of-type": {
        "&::before": {
          display: "none"
        }
      },
      [`&.${accordionClasses.expanded}`]: {
        "&::before": {
          opacity: 0
        },
        "&:first-of-type": {
          marginTop: 0
        },
        "&:last-of-type": {
          marginBottom: 0
        },
        "& + &": {
          "&::before": {
            display: "none"
          }
        }
      },
      [`&.${accordionClasses.disabled}`]: {
        backgroundColor: (theme.vars || theme).palette.action.disabledBackground
      }
    };
  }), memoTheme(({ theme }) => ({
    variants: [
      {
        props: (props) => !props.square,
        style: {
          borderRadius: 0,
          "&:first-of-type": {
            borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,
            borderTopRightRadius: (theme.vars || theme).shape.borderRadius
          },
          "&:last-of-type": {
            borderBottomLeftRadius: (theme.vars || theme).shape.borderRadius,
            borderBottomRightRadius: (theme.vars || theme).shape.borderRadius,
            "@supports (-ms-ime-align: auto)": {
              borderBottomLeftRadius: 0,
              borderBottomRightRadius: 0
            }
          }
        }
      },
      {
        props: (props) => !props.disableGutters,
        style: {
          [`&.${accordionClasses.expanded}`]: {
            margin: "16px 0"
          }
        }
      }
    ]
  })));
  const AccordionHeading = styled("h3", {
    name: "MuiAccordion",
    slot: "Heading",
    overridesResolver: (props, styles2) => styles2.heading
  })({
    all: "unset"
  });
  Accordion = __mf_14(function Accordion2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiAccordion"
    });
    const { children: childrenProp, className, defaultExpanded = false, disabled = false, disableGutters = false, expanded: expandedProp, onChange, square = false, slots = {}, slotProps = {}, TransitionComponent: TransitionComponentProp, TransitionProps: TransitionPropsProp, ...other } = props;
    const [expanded, setExpandedState] = useControlled({
      controlled: expandedProp,
      default: defaultExpanded,
      name: "Accordion",
      state: "expanded"
    });
    const handleChange = __mf_20((event) => {
      setExpandedState(!expanded);
      if (onChange) {
        onChange(event, !expanded);
      }
    }, [
      expanded,
      onChange,
      setExpandedState
    ]);
    const [summary, ...children] = __mf_0.toArray(childrenProp);
    const contextValue = __mf_29(() => ({
      expanded,
      disabled,
      disableGutters,
      toggle: handleChange
    }), [
      expanded,
      disabled,
      disableGutters,
      handleChange
    ]);
    const ownerState = {
      ...props,
      square,
      disabled,
      disableGutters,
      expanded
    };
    const classes = useUtilityClasses$16(ownerState);
    const backwardCompatibleSlots = {
      transition: TransitionComponentProp,
      ...slots
    };
    const backwardCompatibleSlotProps = {
      transition: TransitionPropsProp,
      ...slotProps
    };
    const externalForwardedProps = {
      slots: backwardCompatibleSlots,
      slotProps: backwardCompatibleSlotProps
    };
    const [RootSlot, rootProps] = useSlot("root", {
      elementType: AccordionRoot,
      externalForwardedProps: {
        ...externalForwardedProps,
        ...other
      },
      className: clsx(classes.root, className),
      shouldForwardComponentProp: true,
      ownerState,
      ref,
      additionalProps: {
        square
      }
    });
    const [AccordionHeadingSlot, accordionProps] = useSlot("heading", {
      elementType: AccordionHeading,
      externalForwardedProps,
      className: classes.heading,
      ownerState
    });
    const [TransitionSlot, transitionProps] = useSlot("transition", {
      elementType: Collapse,
      externalForwardedProps,
      ownerState
    });
    return jsxRuntimeExports.jsxs(RootSlot, {
      ...rootProps,
      children: [
        jsxRuntimeExports.jsx(AccordionHeadingSlot, {
          ...accordionProps,
          children: jsxRuntimeExports.jsx(AccordionContext.Provider, {
            value: contextValue,
            children: summary
          })
        }),
        jsxRuntimeExports.jsx(TransitionSlot, {
          in: expanded,
          timeout: "auto",
          ...transitionProps,
          children: jsxRuntimeExports.jsx("div", {
            "aria-labelledby": summary.props.id,
            id: summary.props["aria-controls"],
            role: "region",
            className: classes.region,
            children
          })
        })
      ]
    });
  });
  getAccordionActionsUtilityClass = function(slot) {
    return generateUtilityClass("MuiAccordionActions", slot);
  };
  accordionActionsClasses = generateUtilityClasses("MuiAccordionActions", [
    "root",
    "spacing"
  ]);
  const useUtilityClasses$15 = (ownerState) => {
    const { classes, disableSpacing } = ownerState;
    const slots = {
      root: [
        "root",
        !disableSpacing && "spacing"
      ]
    };
    return composeClasses(slots, getAccordionActionsUtilityClass, classes);
  };
  const AccordionActionsRoot = styled("div", {
    name: "MuiAccordionActions",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        !ownerState.disableSpacing && styles2.spacing
      ];
    }
  })({
    display: "flex",
    alignItems: "center",
    padding: 8,
    justifyContent: "flex-end",
    variants: [
      {
        props: (props) => !props.disableSpacing,
        style: {
          "& > :not(style) ~ :not(style)": {
            marginLeft: 8
          }
        }
      }
    ]
  });
  AccordionActions = __mf_14(function AccordionActions2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiAccordionActions"
    });
    const { className, disableSpacing = false, ...other } = props;
    const ownerState = {
      ...props,
      disableSpacing
    };
    const classes = useUtilityClasses$15(ownerState);
    return jsxRuntimeExports.jsx(AccordionActionsRoot, {
      className: clsx(classes.root, className),
      ref,
      ownerState,
      ...other
    });
  });
  getAccordionDetailsUtilityClass = function(slot) {
    return generateUtilityClass("MuiAccordionDetails", slot);
  };
  accordionDetailsClasses = generateUtilityClasses("MuiAccordionDetails", [
    "root"
  ]);
  const useUtilityClasses$14 = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ]
    };
    return composeClasses(slots, getAccordionDetailsUtilityClass, classes);
  };
  const AccordionDetailsRoot = styled("div", {
    name: "MuiAccordionDetails",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })(memoTheme(({ theme }) => ({
    padding: theme.spacing(1, 2, 2)
  })));
  AccordionDetails = __mf_14(function AccordionDetails2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiAccordionDetails"
    });
    const { className, ...other } = props;
    const ownerState = props;
    const classes = useUtilityClasses$14(ownerState);
    return jsxRuntimeExports.jsx(AccordionDetailsRoot, {
      className: clsx(classes.root, className),
      ref,
      ownerState,
      ...other
    });
  });
  getAccordionSummaryUtilityClass = function(slot) {
    return generateUtilityClass("MuiAccordionSummary", slot);
  };
  accordionSummaryClasses = generateUtilityClasses("MuiAccordionSummary", [
    "root",
    "expanded",
    "focusVisible",
    "disabled",
    "gutters",
    "contentGutters",
    "content",
    "expandIconWrapper"
  ]);
  const useUtilityClasses$13 = (ownerState) => {
    const { classes, expanded, disabled, disableGutters } = ownerState;
    const slots = {
      root: [
        "root",
        expanded && "expanded",
        disabled && "disabled",
        !disableGutters && "gutters"
      ],
      focusVisible: [
        "focusVisible"
      ],
      content: [
        "content",
        expanded && "expanded",
        !disableGutters && "contentGutters"
      ],
      expandIconWrapper: [
        "expandIconWrapper",
        expanded && "expanded"
      ]
    };
    return composeClasses(slots, getAccordionSummaryUtilityClass, classes);
  };
  const AccordionSummaryRoot = styled(ButtonBase, {
    name: "MuiAccordionSummary",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })(memoTheme(({ theme }) => {
    const transition = {
      duration: theme.transitions.duration.shortest
    };
    return {
      display: "flex",
      width: "100%",
      minHeight: 48,
      padding: theme.spacing(0, 2),
      transition: theme.transitions.create([
        "min-height",
        "background-color"
      ], transition),
      [`&.${accordionSummaryClasses.focusVisible}`]: {
        backgroundColor: (theme.vars || theme).palette.action.focus
      },
      [`&.${accordionSummaryClasses.disabled}`]: {
        opacity: (theme.vars || theme).palette.action.disabledOpacity
      },
      [`&:hover:not(.${accordionSummaryClasses.disabled})`]: {
        cursor: "pointer"
      },
      variants: [
        {
          props: (props) => !props.disableGutters,
          style: {
            [`&.${accordionSummaryClasses.expanded}`]: {
              minHeight: 64
            }
          }
        }
      ]
    };
  }));
  const AccordionSummaryContent = styled("span", {
    name: "MuiAccordionSummary",
    slot: "Content",
    overridesResolver: (props, styles2) => styles2.content
  })(memoTheme(({ theme }) => ({
    display: "flex",
    textAlign: "start",
    flexGrow: 1,
    margin: "12px 0",
    variants: [
      {
        props: (props) => !props.disableGutters,
        style: {
          transition: theme.transitions.create([
            "margin"
          ], {
            duration: theme.transitions.duration.shortest
          }),
          [`&.${accordionSummaryClasses.expanded}`]: {
            margin: "20px 0"
          }
        }
      }
    ]
  })));
  const AccordionSummaryExpandIconWrapper = styled("span", {
    name: "MuiAccordionSummary",
    slot: "ExpandIconWrapper",
    overridesResolver: (props, styles2) => styles2.expandIconWrapper
  })(memoTheme(({ theme }) => ({
    display: "flex",
    color: (theme.vars || theme).palette.action.active,
    transform: "rotate(0deg)",
    transition: theme.transitions.create("transform", {
      duration: theme.transitions.duration.shortest
    }),
    [`&.${accordionSummaryClasses.expanded}`]: {
      transform: "rotate(180deg)"
    }
  })));
  AccordionSummary = __mf_14(function AccordionSummary2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiAccordionSummary"
    });
    const { children, className, expandIcon, focusVisibleClassName, onClick, slots, slotProps, ...other } = props;
    const { disabled = false, disableGutters, expanded, toggle } = __mf_21(AccordionContext);
    const handleChange = (event) => {
      if (toggle) {
        toggle(event);
      }
      if (onClick) {
        onClick(event);
      }
    };
    const ownerState = {
      ...props,
      expanded,
      disabled,
      disableGutters
    };
    const classes = useUtilityClasses$13(ownerState);
    const externalForwardedProps = {
      slots,
      slotProps
    };
    const [RootSlot, rootSlotProps] = useSlot("root", {
      ref,
      shouldForwardComponentProp: true,
      className: clsx(classes.root, className),
      elementType: AccordionSummaryRoot,
      externalForwardedProps: {
        ...externalForwardedProps,
        ...other
      },
      ownerState,
      additionalProps: {
        focusRipple: false,
        disableRipple: true,
        disabled,
        "aria-expanded": expanded,
        focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)
      },
      getSlotProps: (handlers) => ({
        ...handlers,
        onClick: (event) => {
          var _a;
          (_a = handlers.onClick) == null ? void 0 : _a.call(handlers, event);
          handleChange(event);
        }
      })
    });
    const [ContentSlot, contentSlotProps] = useSlot("content", {
      className: classes.content,
      elementType: AccordionSummaryContent,
      externalForwardedProps,
      ownerState
    });
    const [ExpandIconWrapperSlot, expandIconWrapperSlotProps] = useSlot("expandIconWrapper", {
      className: classes.expandIconWrapper,
      elementType: AccordionSummaryExpandIconWrapper,
      externalForwardedProps,
      ownerState
    });
    return jsxRuntimeExports.jsxs(RootSlot, {
      ...rootSlotProps,
      children: [
        jsxRuntimeExports.jsx(ContentSlot, {
          ...contentSlotProps,
          children
        }),
        expandIcon && jsxRuntimeExports.jsx(ExpandIconWrapperSlot, {
          ...expandIconWrapperSlotProps,
          children: expandIcon
        })
      ]
    });
  });
  getAlertUtilityClass = function(slot) {
    return generateUtilityClass("MuiAlert", slot);
  };
  alertClasses = generateUtilityClasses("MuiAlert", [
    "root",
    "action",
    "icon",
    "message",
    "filled",
    "colorSuccess",
    "colorInfo",
    "colorWarning",
    "colorError",
    "filledSuccess",
    "filledInfo",
    "filledWarning",
    "filledError",
    "outlined",
    "outlinedSuccess",
    "outlinedInfo",
    "outlinedWarning",
    "outlinedError",
    "standard",
    "standardSuccess",
    "standardInfo",
    "standardWarning",
    "standardError"
  ]);
  const SuccessOutlinedIcon = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"
  }), "SuccessOutlined");
  const ReportProblemOutlinedIcon = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"
  }), "ReportProblemOutlined");
  const ErrorOutlineIcon = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
  }), "ErrorOutline");
  const InfoOutlinedIcon = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"
  }), "InfoOutlined");
  const ClearIcon = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
  }), "Close");
  const useUtilityClasses$12 = (ownerState) => {
    const { variant, color, severity, classes } = ownerState;
    const slots = {
      root: [
        "root",
        `color${capitalize(color || severity)}`,
        `${variant}${capitalize(color || severity)}`,
        `${variant}`
      ],
      icon: [
        "icon"
      ],
      message: [
        "message"
      ],
      action: [
        "action"
      ]
    };
    return composeClasses(slots, getAlertUtilityClass, classes);
  };
  const AlertRoot = styled(Paper, {
    name: "MuiAlert",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[ownerState.variant],
        styles2[`${ownerState.variant}${capitalize(ownerState.color || ownerState.severity)}`]
      ];
    }
  })(memoTheme(({ theme }) => {
    const getColor = theme.palette.mode === "light" ? darken : lighten;
    const getBackgroundColor = theme.palette.mode === "light" ? lighten : darken;
    return {
      ...theme.typography.body2,
      backgroundColor: "transparent",
      display: "flex",
      padding: "6px 16px",
      variants: [
        ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter([
          "light"
        ])).map(([color]) => ({
          props: {
            colorSeverity: color,
            variant: "standard"
          },
          style: {
            color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),
            backgroundColor: theme.vars ? theme.vars.palette.Alert[`${color}StandardBg`] : getBackgroundColor(theme.palette[color].light, 0.9),
            [`& .${alertClasses.icon}`]: theme.vars ? {
              color: theme.vars.palette.Alert[`${color}IconColor`]
            } : {
              color: theme.palette[color].main
            }
          }
        })),
        ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter([
          "light"
        ])).map(([color]) => ({
          props: {
            colorSeverity: color,
            variant: "outlined"
          },
          style: {
            color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),
            border: `1px solid ${(theme.vars || theme).palette[color].light}`,
            [`& .${alertClasses.icon}`]: theme.vars ? {
              color: theme.vars.palette.Alert[`${color}IconColor`]
            } : {
              color: theme.palette[color].main
            }
          }
        })),
        ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter([
          "dark"
        ])).map(([color]) => ({
          props: {
            colorSeverity: color,
            variant: "filled"
          },
          style: {
            fontWeight: theme.typography.fontWeightMedium,
            ...theme.vars ? {
              color: theme.vars.palette.Alert[`${color}FilledColor`],
              backgroundColor: theme.vars.palette.Alert[`${color}FilledBg`]
            } : {
              backgroundColor: theme.palette.mode === "dark" ? theme.palette[color].dark : theme.palette[color].main,
              color: theme.palette.getContrastText(theme.palette[color].main)
            }
          }
        }))
      ]
    };
  }));
  const AlertIcon = styled("div", {
    name: "MuiAlert",
    slot: "Icon",
    overridesResolver: (props, styles2) => styles2.icon
  })({
    marginRight: 12,
    padding: "7px 0",
    display: "flex",
    fontSize: 22,
    opacity: 0.9
  });
  const AlertMessage = styled("div", {
    name: "MuiAlert",
    slot: "Message",
    overridesResolver: (props, styles2) => styles2.message
  })({
    padding: "8px 0",
    minWidth: 0,
    overflow: "auto"
  });
  const AlertAction = styled("div", {
    name: "MuiAlert",
    slot: "Action",
    overridesResolver: (props, styles2) => styles2.action
  })({
    display: "flex",
    alignItems: "flex-start",
    padding: "4px 0 0 16px",
    marginLeft: "auto",
    marginRight: -8
  });
  const defaultIconMapping = {
    success: jsxRuntimeExports.jsx(SuccessOutlinedIcon, {
      fontSize: "inherit"
    }),
    warning: jsxRuntimeExports.jsx(ReportProblemOutlinedIcon, {
      fontSize: "inherit"
    }),
    error: jsxRuntimeExports.jsx(ErrorOutlineIcon, {
      fontSize: "inherit"
    }),
    info: jsxRuntimeExports.jsx(InfoOutlinedIcon, {
      fontSize: "inherit"
    })
  };
  Alert = __mf_14(function Alert2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiAlert"
    });
    const { action, children, className, closeText = "Close", color, components = {}, componentsProps = {}, icon, iconMapping = defaultIconMapping, onClose, role = "alert", severity = "success", slotProps = {}, slots = {}, variant = "standard", ...other } = props;
    const ownerState = {
      ...props,
      color,
      severity,
      variant,
      colorSeverity: color || severity
    };
    const classes = useUtilityClasses$12(ownerState);
    const externalForwardedProps = {
      slots: {
        closeButton: components.CloseButton,
        closeIcon: components.CloseIcon,
        ...slots
      },
      slotProps: {
        ...componentsProps,
        ...slotProps
      }
    };
    const [RootSlot, rootSlotProps] = useSlot("root", {
      ref,
      shouldForwardComponentProp: true,
      className: clsx(classes.root, className),
      elementType: AlertRoot,
      externalForwardedProps: {
        ...externalForwardedProps,
        ...other
      },
      ownerState,
      additionalProps: {
        role,
        elevation: 0
      }
    });
    const [IconSlot, iconSlotProps] = useSlot("icon", {
      className: classes.icon,
      elementType: AlertIcon,
      externalForwardedProps,
      ownerState
    });
    const [MessageSlot, messageSlotProps] = useSlot("message", {
      className: classes.message,
      elementType: AlertMessage,
      externalForwardedProps,
      ownerState
    });
    const [ActionSlot, actionSlotProps] = useSlot("action", {
      className: classes.action,
      elementType: AlertAction,
      externalForwardedProps,
      ownerState
    });
    const [CloseButtonSlot, closeButtonProps] = useSlot("closeButton", {
      elementType: IconButton,
      externalForwardedProps,
      ownerState
    });
    const [CloseIconSlot, closeIconProps] = useSlot("closeIcon", {
      elementType: ClearIcon,
      externalForwardedProps,
      ownerState
    });
    return jsxRuntimeExports.jsxs(RootSlot, {
      ...rootSlotProps,
      children: [
        icon !== false ? jsxRuntimeExports.jsx(IconSlot, {
          ...iconSlotProps,
          children: icon || iconMapping[severity] || defaultIconMapping[severity]
        }) : null,
        jsxRuntimeExports.jsx(MessageSlot, {
          ...messageSlotProps,
          children
        }),
        action != null ? jsxRuntimeExports.jsx(ActionSlot, {
          ...actionSlotProps,
          children: action
        }) : null,
        action == null && onClose ? jsxRuntimeExports.jsx(ActionSlot, {
          ...actionSlotProps,
          children: jsxRuntimeExports.jsx(CloseButtonSlot, {
            size: "small",
            "aria-label": closeText,
            title: closeText,
            color: "inherit",
            onClick: onClose,
            ...closeButtonProps,
            children: jsxRuntimeExports.jsx(CloseIconSlot, {
              fontSize: "small",
              ...closeIconProps
            })
          })
        }) : null
      ]
    });
  });
  getAlertTitleUtilityClass = function(slot) {
    return generateUtilityClass("MuiAlertTitle", slot);
  };
  alertTitleClasses = generateUtilityClasses("MuiAlertTitle", [
    "root"
  ]);
  const useUtilityClasses$11 = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ]
    };
    return composeClasses(slots, getAlertTitleUtilityClass, classes);
  };
  const AlertTitleRoot = styled(Typography, {
    name: "MuiAlertTitle",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })(memoTheme(({ theme }) => {
    return {
      fontWeight: theme.typography.fontWeightMedium,
      marginTop: -2
    };
  }));
  AlertTitle = __mf_14(function AlertTitle2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiAlertTitle"
    });
    const { className, ...other } = props;
    const ownerState = props;
    const classes = useUtilityClasses$11(ownerState);
    return jsxRuntimeExports.jsx(AlertTitleRoot, {
      gutterBottom: true,
      component: "div",
      ownerState,
      ref,
      className: clsx(classes.root, className),
      ...other
    });
  });
  getAppBarUtilityClass = function(slot) {
    return generateUtilityClass("MuiAppBar", slot);
  };
  appBarClasses = generateUtilityClasses("MuiAppBar", [
    "root",
    "positionFixed",
    "positionAbsolute",
    "positionSticky",
    "positionStatic",
    "positionRelative",
    "colorDefault",
    "colorPrimary",
    "colorSecondary",
    "colorInherit",
    "colorTransparent",
    "colorError",
    "colorInfo",
    "colorSuccess",
    "colorWarning"
  ]);
  const useUtilityClasses$10 = (ownerState) => {
    const { color, position, classes } = ownerState;
    const slots = {
      root: [
        "root",
        `color${capitalize(color)}`,
        `position${capitalize(position)}`
      ]
    };
    return composeClasses(slots, getAppBarUtilityClass, classes);
  };
  const joinVars = (var1, var2) => var1 ? `${var1 == null ? void 0 : var1.replace(")", "")}, ${var2})` : var2;
  const AppBarRoot = styled(Paper, {
    name: "MuiAppBar",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[`position${capitalize(ownerState.position)}`],
        styles2[`color${capitalize(ownerState.color)}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    display: "flex",
    flexDirection: "column",
    width: "100%",
    boxSizing: "border-box",
    flexShrink: 0,
    variants: [
      {
        props: {
          position: "fixed"
        },
        style: {
          position: "fixed",
          zIndex: (theme.vars || theme).zIndex.appBar,
          top: 0,
          left: "auto",
          right: 0,
          "@media print": {
            position: "absolute"
          }
        }
      },
      {
        props: {
          position: "absolute"
        },
        style: {
          position: "absolute",
          zIndex: (theme.vars || theme).zIndex.appBar,
          top: 0,
          left: "auto",
          right: 0
        }
      },
      {
        props: {
          position: "sticky"
        },
        style: {
          position: "sticky",
          zIndex: (theme.vars || theme).zIndex.appBar,
          top: 0,
          left: "auto",
          right: 0
        }
      },
      {
        props: {
          position: "static"
        },
        style: {
          position: "static"
        }
      },
      {
        props: {
          position: "relative"
        },
        style: {
          position: "relative"
        }
      },
      {
        props: {
          color: "inherit"
        },
        style: {
          "--AppBar-color": "inherit"
        }
      },
      {
        props: {
          color: "default"
        },
        style: {
          "--AppBar-background": theme.vars ? theme.vars.palette.AppBar.defaultBg : theme.palette.grey[100],
          "--AppBar-color": theme.vars ? theme.vars.palette.text.primary : theme.palette.getContrastText(theme.palette.grey[100]),
          ...theme.applyStyles("dark", {
            "--AppBar-background": theme.vars ? theme.vars.palette.AppBar.defaultBg : theme.palette.grey[900],
            "--AppBar-color": theme.vars ? theme.vars.palette.text.primary : theme.palette.getContrastText(theme.palette.grey[900])
          })
        }
      },
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter([
        "contrastText"
      ])).map(([color]) => ({
        props: {
          color
        },
        style: {
          "--AppBar-background": (theme.vars ?? theme).palette[color].main,
          "--AppBar-color": (theme.vars ?? theme).palette[color].contrastText
        }
      })),
      {
        props: (props) => props.enableColorOnDark === true && ![
          "inherit",
          "transparent"
        ].includes(props.color),
        style: {
          backgroundColor: "var(--AppBar-background)",
          color: "var(--AppBar-color)"
        }
      },
      {
        props: (props) => props.enableColorOnDark === false && ![
          "inherit",
          "transparent"
        ].includes(props.color),
        style: {
          backgroundColor: "var(--AppBar-background)",
          color: "var(--AppBar-color)",
          ...theme.applyStyles("dark", {
            backgroundColor: theme.vars ? joinVars(theme.vars.palette.AppBar.darkBg, "var(--AppBar-background)") : null,
            color: theme.vars ? joinVars(theme.vars.palette.AppBar.darkColor, "var(--AppBar-color)") : null
          })
        }
      },
      {
        props: {
          color: "transparent"
        },
        style: {
          "--AppBar-background": "transparent",
          "--AppBar-color": "inherit",
          backgroundColor: "var(--AppBar-background)",
          color: "var(--AppBar-color)",
          ...theme.applyStyles("dark", {
            backgroundImage: "none"
          })
        }
      }
    ]
  })));
  AppBar = __mf_14(function AppBar2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiAppBar"
    });
    const { className, color = "primary", enableColorOnDark = false, position = "fixed", ...other } = props;
    const ownerState = {
      ...props,
      color,
      position,
      enableColorOnDark
    };
    const classes = useUtilityClasses$10(ownerState);
    return jsxRuntimeExports.jsx(AppBarRoot, {
      square: true,
      component: "header",
      ownerState,
      elevation: 4,
      className: clsx(classes.root, className, position === "fixed" && "mui-fixed"),
      ref,
      ...other
    });
  });
  function stripDiacritics(string) {
    return string.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
  }
  createFilterOptions = function(config = {}) {
    const { ignoreAccents = true, ignoreCase = true, limit, matchFrom = "any", stringify, trim = false } = config;
    return (options, { inputValue, getOptionLabel }) => {
      let input = trim ? inputValue.trim() : inputValue;
      if (ignoreCase) {
        input = input.toLowerCase();
      }
      if (ignoreAccents) {
        input = stripDiacritics(input);
      }
      const filteredOptions = !input ? options : options.filter((option) => {
        let candidate = (stringify || getOptionLabel)(option);
        if (ignoreCase) {
          candidate = candidate.toLowerCase();
        }
        if (ignoreAccents) {
          candidate = stripDiacritics(candidate);
        }
        return matchFrom === "start" ? candidate.startsWith(input) : candidate.includes(input);
      });
      return typeof limit === "number" ? filteredOptions.slice(0, limit) : filteredOptions;
    };
  };
  const defaultFilterOptions = createFilterOptions();
  const pageSize = 5;
  const defaultIsActiveElementInListbox = (listboxRef) => {
    var _a;
    return listboxRef.current !== null && ((_a = listboxRef.current.parentElement) == null ? void 0 : _a.contains(document.activeElement));
  };
  const MULTIPLE_DEFAULT_VALUE = [];
  function getInputValue(value, multiple, getOptionLabel) {
    if (multiple || value == null) {
      return "";
    }
    const optionLabel = getOptionLabel(value);
    return typeof optionLabel === "string" ? optionLabel : "";
  }
  useAutocomplete = function(props) {
    const { unstable_isActiveElementInListbox = defaultIsActiveElementInListbox, unstable_classNamePrefix = "Mui", autoComplete = false, autoHighlight = false, autoSelect = false, blurOnSelect = false, clearOnBlur = !props.freeSolo, clearOnEscape = false, componentName = "useAutocomplete", defaultValue = props.multiple ? MULTIPLE_DEFAULT_VALUE : null, disableClearable = false, disableCloseOnSelect = false, disabled: disabledProp, disabledItemsFocusable = false, disableListWrap = false, filterOptions = defaultFilterOptions, filterSelectedOptions = false, freeSolo = false, getOptionDisabled, getOptionKey, getOptionLabel: getOptionLabelProp = (option) => option.label ?? option, groupBy, handleHomeEndKeys = !props.freeSolo, id: idProp, includeInputInList = false, inputValue: inputValueProp, isOptionEqualToValue = (option, value2) => option === value2, multiple = false, onChange, onClose, onHighlightChange, onInputChange, onOpen, open: openProp, openOnFocus = false, options, readOnly = false, selectOnFocus = !props.freeSolo, value: valueProp } = props;
    const id = useId(idProp);
    let getOptionLabel = getOptionLabelProp;
    getOptionLabel = (option) => {
      const optionLabel = getOptionLabelProp(option);
      if (typeof optionLabel !== "string") {
        return String(optionLabel);
      }
      return optionLabel;
    };
    const ignoreFocus = __mf_31(false);
    const firstFocus = __mf_31(true);
    const inputRef = __mf_31(null);
    const listboxRef = __mf_31(null);
    const [anchorEl, setAnchorEl] = __mf_32(null);
    const [focusedTag, setFocusedTag] = __mf_32(-1);
    const defaultHighlighted = autoHighlight ? 0 : -1;
    const highlightedIndexRef = __mf_31(defaultHighlighted);
    const initialInputValue = __mf_31(getInputValue(defaultValue ?? valueProp, multiple, getOptionLabel)).current;
    const [value, setValueState] = useControlled({
      controlled: valueProp,
      default: defaultValue,
      name: componentName
    });
    const [inputValue, setInputValueState] = useControlled({
      controlled: inputValueProp,
      default: initialInputValue,
      name: componentName,
      state: "inputValue"
    });
    const [focused, setFocused] = __mf_32(false);
    const resetInputValue = __mf_20((event, newValue, reason) => {
      const isOptionSelected = multiple ? value.length < newValue.length : newValue !== null;
      if (!isOptionSelected && !clearOnBlur) {
        return;
      }
      const newInputValue = getInputValue(newValue, multiple, getOptionLabel);
      if (inputValue === newInputValue) {
        return;
      }
      setInputValueState(newInputValue);
      if (onInputChange) {
        onInputChange(event, newInputValue, reason);
      }
    }, [
      getOptionLabel,
      inputValue,
      multiple,
      onInputChange,
      setInputValueState,
      clearOnBlur,
      value
    ]);
    const [open, setOpenState] = useControlled({
      controlled: openProp,
      default: false,
      name: componentName,
      state: "open"
    });
    const [inputPristine, setInputPristine] = __mf_32(true);
    const inputValueIsSelectedValue = !multiple && value != null && inputValue === getOptionLabel(value);
    const popupOpen = open && !readOnly;
    const filteredOptions = popupOpen ? filterOptions(options.filter((option) => {
      if (filterSelectedOptions && (multiple ? value : [
        value
      ]).some((value2) => value2 !== null && isOptionEqualToValue(option, value2))) {
        return false;
      }
      return true;
    }), {
      inputValue: inputValueIsSelectedValue && inputPristine ? "" : inputValue,
      getOptionLabel
    }) : [];
    const previousProps = usePreviousProps({
      filteredOptions,
      value,
      inputValue
    });
    __mf_24(() => {
      const valueChange = value !== previousProps.value;
      if (focused && !valueChange) {
        return;
      }
      if (freeSolo && !valueChange) {
        return;
      }
      resetInputValue(null, value, "reset");
    }, [
      value,
      resetInputValue,
      focused,
      previousProps.value,
      freeSolo
    ]);
    const listboxAvailable = open && filteredOptions.length > 0 && !readOnly;
    const focusTag = useEventCallback((tagToFocus) => {
      if (tagToFocus === -1) {
        inputRef.current.focus();
      } else {
        anchorEl.querySelector(`[data-tag-index="${tagToFocus}"]`).focus();
      }
    });
    __mf_24(() => {
      if (multiple && focusedTag > value.length - 1) {
        setFocusedTag(-1);
        focusTag(-1);
      }
    }, [
      value,
      multiple,
      focusedTag,
      focusTag
    ]);
    function validOptionIndex(index2, direction) {
      if (!listboxRef.current || index2 < 0 || index2 >= filteredOptions.length) {
        return -1;
      }
      let nextFocus = index2;
      while (true) {
        const option = listboxRef.current.querySelector(`[data-option-index="${nextFocus}"]`);
        const nextFocusDisabled = disabledItemsFocusable ? false : !option || option.disabled || option.getAttribute("aria-disabled") === "true";
        if (option && option.hasAttribute("tabindex") && !nextFocusDisabled) {
          return nextFocus;
        }
        if (direction === "next") {
          nextFocus = (nextFocus + 1) % filteredOptions.length;
        } else {
          nextFocus = (nextFocus - 1 + filteredOptions.length) % filteredOptions.length;
        }
        if (nextFocus === index2) {
          return -1;
        }
      }
    }
    const setHighlightedIndex = useEventCallback(({ event, index: index2, reason }) => {
      highlightedIndexRef.current = index2;
      if (index2 === -1) {
        inputRef.current.removeAttribute("aria-activedescendant");
      } else {
        inputRef.current.setAttribute("aria-activedescendant", `${id}-option-${index2}`);
      }
      if (onHighlightChange && [
        "mouse",
        "keyboard",
        "touch"
      ].includes(reason)) {
        onHighlightChange(event, index2 === -1 ? null : filteredOptions[index2], reason);
      }
      if (!listboxRef.current) {
        return;
      }
      const prev = listboxRef.current.querySelector(`[role="option"].${unstable_classNamePrefix}-focused`);
      if (prev) {
        prev.classList.remove(`${unstable_classNamePrefix}-focused`);
        prev.classList.remove(`${unstable_classNamePrefix}-focusVisible`);
      }
      let listboxNode = listboxRef.current;
      if (listboxRef.current.getAttribute("role") !== "listbox") {
        listboxNode = listboxRef.current.parentElement.querySelector('[role="listbox"]');
      }
      if (!listboxNode) {
        return;
      }
      if (index2 === -1) {
        listboxNode.scrollTop = 0;
        return;
      }
      const option = listboxRef.current.querySelector(`[data-option-index="${index2}"]`);
      if (!option) {
        return;
      }
      option.classList.add(`${unstable_classNamePrefix}-focused`);
      if (reason === "keyboard") {
        option.classList.add(`${unstable_classNamePrefix}-focusVisible`);
      }
      if (listboxNode.scrollHeight > listboxNode.clientHeight && reason !== "mouse" && reason !== "touch") {
        const element = option;
        const scrollBottom = listboxNode.clientHeight + listboxNode.scrollTop;
        const elementBottom = element.offsetTop + element.offsetHeight;
        if (elementBottom > scrollBottom) {
          listboxNode.scrollTop = elementBottom - listboxNode.clientHeight;
        } else if (element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0) < listboxNode.scrollTop) {
          listboxNode.scrollTop = element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0);
        }
      }
    });
    const changeHighlightedIndex = useEventCallback(({ event, diff, direction = "next", reason }) => {
      if (!popupOpen) {
        return;
      }
      const getNextIndex = () => {
        const maxIndex = filteredOptions.length - 1;
        if (diff === "reset") {
          return defaultHighlighted;
        }
        if (diff === "start") {
          return 0;
        }
        if (diff === "end") {
          return maxIndex;
        }
        const newIndex = highlightedIndexRef.current + diff;
        if (newIndex < 0) {
          if (newIndex === -1 && includeInputInList) {
            return -1;
          }
          if (disableListWrap && highlightedIndexRef.current !== -1 || Math.abs(diff) > 1) {
            return 0;
          }
          return maxIndex;
        }
        if (newIndex > maxIndex) {
          if (newIndex === maxIndex + 1 && includeInputInList) {
            return -1;
          }
          if (disableListWrap || Math.abs(diff) > 1) {
            return maxIndex;
          }
          return 0;
        }
        return newIndex;
      };
      const nextIndex = validOptionIndex(getNextIndex(), direction);
      setHighlightedIndex({
        index: nextIndex,
        reason,
        event
      });
      if (autoComplete && diff !== "reset") {
        if (nextIndex === -1) {
          inputRef.current.value = inputValue;
        } else {
          const option = getOptionLabel(filteredOptions[nextIndex]);
          inputRef.current.value = option;
          const index2 = option.toLowerCase().indexOf(inputValue.toLowerCase());
          if (index2 === 0 && inputValue.length > 0) {
            inputRef.current.setSelectionRange(inputValue.length, option.length);
          }
        }
      }
    });
    const getPreviousHighlightedOptionIndex = () => {
      const isSameValue = (value1, value2) => {
        const label1 = value1 ? getOptionLabel(value1) : "";
        const label2 = value2 ? getOptionLabel(value2) : "";
        return label1 === label2;
      };
      if (highlightedIndexRef.current !== -1 && previousProps.filteredOptions && previousProps.filteredOptions.length !== filteredOptions.length && previousProps.inputValue === inputValue && (multiple ? value.length === previousProps.value.length && previousProps.value.every((val, i3) => getOptionLabel(value[i3]) === getOptionLabel(val)) : isSameValue(previousProps.value, value))) {
        const previousHighlightedOption = previousProps.filteredOptions[highlightedIndexRef.current];
        if (previousHighlightedOption) {
          return filteredOptions.findIndex((option) => {
            return getOptionLabel(option) === getOptionLabel(previousHighlightedOption);
          });
        }
      }
      return -1;
    };
    const syncHighlightedIndex = __mf_20(() => {
      if (!popupOpen) {
        return;
      }
      const previousHighlightedOptionIndex = getPreviousHighlightedOptionIndex();
      if (previousHighlightedOptionIndex !== -1) {
        highlightedIndexRef.current = previousHighlightedOptionIndex;
        return;
      }
      const valueItem = multiple ? value[0] : value;
      if (filteredOptions.length === 0 || valueItem == null) {
        changeHighlightedIndex({
          diff: "reset"
        });
        return;
      }
      if (!listboxRef.current) {
        return;
      }
      if (valueItem != null) {
        const currentOption = filteredOptions[highlightedIndexRef.current];
        if (multiple && currentOption && value.findIndex((val) => isOptionEqualToValue(currentOption, val)) !== -1) {
          return;
        }
        const itemIndex = filteredOptions.findIndex((optionItem) => isOptionEqualToValue(optionItem, valueItem));
        if (itemIndex === -1) {
          changeHighlightedIndex({
            diff: "reset"
          });
        } else {
          setHighlightedIndex({
            index: itemIndex
          });
        }
        return;
      }
      if (highlightedIndexRef.current >= filteredOptions.length - 1) {
        setHighlightedIndex({
          index: filteredOptions.length - 1
        });
        return;
      }
      setHighlightedIndex({
        index: highlightedIndexRef.current
      });
    }, [
      filteredOptions.length,
      multiple ? false : value,
      filterSelectedOptions,
      changeHighlightedIndex,
      setHighlightedIndex,
      popupOpen,
      inputValue,
      multiple
    ]);
    const handleListboxRef = useEventCallback((node) => {
      setRef(listboxRef, node);
      if (!node) {
        return;
      }
      syncHighlightedIndex();
    });
    __mf_24(() => {
      syncHighlightedIndex();
    }, [
      syncHighlightedIndex
    ]);
    const handleOpen = (event) => {
      if (open) {
        return;
      }
      setOpenState(true);
      setInputPristine(true);
      if (onOpen) {
        onOpen(event);
      }
    };
    const handleClose = (event, reason) => {
      if (!open) {
        return;
      }
      setOpenState(false);
      if (onClose) {
        onClose(event, reason);
      }
    };
    const handleValue = (event, newValue, reason, details) => {
      if (multiple) {
        if (value.length === newValue.length && value.every((val, i3) => val === newValue[i3])) {
          return;
        }
      } else if (value === newValue) {
        return;
      }
      if (onChange) {
        onChange(event, newValue, reason, details);
      }
      setValueState(newValue);
    };
    const isTouch = __mf_31(false);
    const selectNewValue = (event, option, reasonProp = "selectOption", origin = "options") => {
      let reason = reasonProp;
      let newValue = option;
      if (multiple) {
        newValue = Array.isArray(value) ? value.slice() : [];
        const itemIndex = newValue.findIndex((valueItem) => isOptionEqualToValue(option, valueItem));
        if (itemIndex === -1) {
          newValue.push(option);
        } else if (origin !== "freeSolo") {
          newValue.splice(itemIndex, 1);
          reason = "removeOption";
        }
      }
      resetInputValue(event, newValue, reason);
      handleValue(event, newValue, reason, {
        option
      });
      if (!disableCloseOnSelect && (!event || !event.ctrlKey && !event.metaKey)) {
        handleClose(event, reason);
      }
      if (blurOnSelect === true || blurOnSelect === "touch" && isTouch.current || blurOnSelect === "mouse" && !isTouch.current) {
        inputRef.current.blur();
      }
    };
    function validTagIndex(index2, direction) {
      if (index2 === -1) {
        return -1;
      }
      let nextFocus = index2;
      while (true) {
        if (direction === "next" && nextFocus === value.length || direction === "previous" && nextFocus === -1) {
          return -1;
        }
        const option = anchorEl.querySelector(`[data-tag-index="${nextFocus}"]`);
        if (!option || !option.hasAttribute("tabindex") || option.disabled || option.getAttribute("aria-disabled") === "true") {
          nextFocus += direction === "next" ? 1 : -1;
        } else {
          return nextFocus;
        }
      }
    }
    const handleFocusTag = (event, direction) => {
      if (!multiple) {
        return;
      }
      if (inputValue === "") {
        handleClose(event, "toggleInput");
      }
      let nextTag = focusedTag;
      if (focusedTag === -1) {
        if (inputValue === "" && direction === "previous") {
          nextTag = value.length - 1;
        }
      } else {
        nextTag += direction === "next" ? 1 : -1;
        if (nextTag < 0) {
          nextTag = 0;
        }
        if (nextTag === value.length) {
          nextTag = -1;
        }
      }
      nextTag = validTagIndex(nextTag, direction);
      setFocusedTag(nextTag);
      focusTag(nextTag);
    };
    const handleClear = (event) => {
      ignoreFocus.current = true;
      setInputValueState("");
      if (onInputChange) {
        onInputChange(event, "", "clear");
      }
      handleValue(event, multiple ? [] : null, "clear");
    };
    const handleKeyDown = (other) => (event) => {
      if (other.onKeyDown) {
        other.onKeyDown(event);
      }
      if (event.defaultMuiPrevented) {
        return;
      }
      if (focusedTag !== -1 && ![
        "ArrowLeft",
        "ArrowRight"
      ].includes(event.key)) {
        setFocusedTag(-1);
        focusTag(-1);
      }
      if (event.which !== 229) {
        switch (event.key) {
          case "Home":
            if (popupOpen && handleHomeEndKeys) {
              event.preventDefault();
              changeHighlightedIndex({
                diff: "start",
                direction: "next",
                reason: "keyboard",
                event
              });
            }
            break;
          case "End":
            if (popupOpen && handleHomeEndKeys) {
              event.preventDefault();
              changeHighlightedIndex({
                diff: "end",
                direction: "previous",
                reason: "keyboard",
                event
              });
            }
            break;
          case "PageUp":
            event.preventDefault();
            changeHighlightedIndex({
              diff: -pageSize,
              direction: "previous",
              reason: "keyboard",
              event
            });
            handleOpen(event);
            break;
          case "PageDown":
            event.preventDefault();
            changeHighlightedIndex({
              diff: pageSize,
              direction: "next",
              reason: "keyboard",
              event
            });
            handleOpen(event);
            break;
          case "ArrowDown":
            event.preventDefault();
            changeHighlightedIndex({
              diff: 1,
              direction: "next",
              reason: "keyboard",
              event
            });
            handleOpen(event);
            break;
          case "ArrowUp":
            event.preventDefault();
            changeHighlightedIndex({
              diff: -1,
              direction: "previous",
              reason: "keyboard",
              event
            });
            handleOpen(event);
            break;
          case "ArrowLeft":
            handleFocusTag(event, "previous");
            break;
          case "ArrowRight":
            handleFocusTag(event, "next");
            break;
          case "Enter":
            if (highlightedIndexRef.current !== -1 && popupOpen) {
              const option = filteredOptions[highlightedIndexRef.current];
              const disabled = getOptionDisabled ? getOptionDisabled(option) : false;
              event.preventDefault();
              if (disabled) {
                return;
              }
              selectNewValue(event, option, "selectOption");
              if (autoComplete) {
                inputRef.current.setSelectionRange(inputRef.current.value.length, inputRef.current.value.length);
              }
            } else if (freeSolo && inputValue !== "" && inputValueIsSelectedValue === false) {
              if (multiple) {
                event.preventDefault();
              }
              selectNewValue(event, inputValue, "createOption", "freeSolo");
            }
            break;
          case "Escape":
            if (popupOpen) {
              event.preventDefault();
              event.stopPropagation();
              handleClose(event, "escape");
            } else if (clearOnEscape && (inputValue !== "" || multiple && value.length > 0)) {
              event.preventDefault();
              event.stopPropagation();
              handleClear(event);
            }
            break;
          case "Backspace":
            if (multiple && !readOnly && inputValue === "" && value.length > 0) {
              const index2 = focusedTag === -1 ? value.length - 1 : focusedTag;
              const newValue = value.slice();
              newValue.splice(index2, 1);
              handleValue(event, newValue, "removeOption", {
                option: value[index2]
              });
            }
            break;
          case "Delete":
            if (multiple && !readOnly && inputValue === "" && value.length > 0 && focusedTag !== -1) {
              const index2 = focusedTag;
              const newValue = value.slice();
              newValue.splice(index2, 1);
              handleValue(event, newValue, "removeOption", {
                option: value[index2]
              });
            }
            break;
        }
      }
    };
    const handleFocus = (event) => {
      setFocused(true);
      if (openOnFocus && !ignoreFocus.current) {
        handleOpen(event);
      }
    };
    const handleBlur = (event) => {
      if (unstable_isActiveElementInListbox(listboxRef)) {
        inputRef.current.focus();
        return;
      }
      setFocused(false);
      firstFocus.current = true;
      ignoreFocus.current = false;
      if (autoSelect && highlightedIndexRef.current !== -1 && popupOpen) {
        selectNewValue(event, filteredOptions[highlightedIndexRef.current], "blur");
      } else if (autoSelect && freeSolo && inputValue !== "") {
        selectNewValue(event, inputValue, "blur", "freeSolo");
      } else if (clearOnBlur) {
        resetInputValue(event, value, "blur");
      }
      handleClose(event, "blur");
    };
    const handleInputChange = (event) => {
      const newValue = event.target.value;
      if (inputValue !== newValue) {
        setInputValueState(newValue);
        setInputPristine(false);
        if (onInputChange) {
          onInputChange(event, newValue, "input");
        }
      }
      if (newValue === "") {
        if (!disableClearable && !multiple) {
          handleValue(event, null, "clear");
        }
      } else {
        handleOpen(event);
      }
    };
    const handleOptionMouseMove = (event) => {
      const index2 = Number(event.currentTarget.getAttribute("data-option-index"));
      if (highlightedIndexRef.current !== index2) {
        setHighlightedIndex({
          event,
          index: index2,
          reason: "mouse"
        });
      }
    };
    const handleOptionTouchStart = (event) => {
      setHighlightedIndex({
        event,
        index: Number(event.currentTarget.getAttribute("data-option-index")),
        reason: "touch"
      });
      isTouch.current = true;
    };
    const handleOptionClick = (event) => {
      const index2 = Number(event.currentTarget.getAttribute("data-option-index"));
      selectNewValue(event, filteredOptions[index2], "selectOption");
      isTouch.current = false;
    };
    const handleTagDelete = (index2) => (event) => {
      const newValue = value.slice();
      newValue.splice(index2, 1);
      handleValue(event, newValue, "removeOption", {
        option: value[index2]
      });
    };
    const handlePopupIndicator = (event) => {
      if (open) {
        handleClose(event, "toggleInput");
      } else {
        handleOpen(event);
      }
    };
    const handleMouseDown = (event) => {
      if (!event.currentTarget.contains(event.target)) {
        return;
      }
      if (event.target.getAttribute("id") !== id) {
        event.preventDefault();
      }
    };
    const handleClick = (event) => {
      if (!event.currentTarget.contains(event.target)) {
        return;
      }
      inputRef.current.focus();
      if (selectOnFocus && firstFocus.current && inputRef.current.selectionEnd - inputRef.current.selectionStart === 0) {
        inputRef.current.select();
      }
      firstFocus.current = false;
    };
    const handleInputMouseDown = (event) => {
      if (!disabledProp && (inputValue === "" || !open)) {
        handlePopupIndicator(event);
      }
    };
    let dirty = freeSolo && inputValue.length > 0;
    dirty = dirty || (multiple ? value.length > 0 : value !== null);
    let groupedOptions = filteredOptions;
    if (groupBy) {
      groupedOptions = filteredOptions.reduce((acc, option, index2) => {
        const group = groupBy(option);
        if (acc.length > 0 && acc[acc.length - 1].group === group) {
          acc[acc.length - 1].options.push(option);
        } else {
          acc.push({
            key: index2,
            index: index2,
            group,
            options: [
              option
            ]
          });
        }
        return acc;
      }, []);
    }
    if (disabledProp && focused) {
      handleBlur();
    }
    return {
      getRootProps: (other = {}) => ({
        ...other,
        onKeyDown: handleKeyDown(other),
        onMouseDown: handleMouseDown,
        onClick: handleClick
      }),
      getInputLabelProps: () => ({
        id: `${id}-label`,
        htmlFor: id
      }),
      getInputProps: () => ({
        id,
        value: inputValue,
        onBlur: handleBlur,
        onFocus: handleFocus,
        onChange: handleInputChange,
        onMouseDown: handleInputMouseDown,
        "aria-activedescendant": popupOpen ? "" : null,
        "aria-autocomplete": autoComplete ? "both" : "list",
        "aria-controls": listboxAvailable ? `${id}-listbox` : void 0,
        "aria-expanded": listboxAvailable,
        autoComplete: "off",
        ref: inputRef,
        autoCapitalize: "none",
        spellCheck: "false",
        role: "combobox",
        disabled: disabledProp
      }),
      getClearProps: () => ({
        tabIndex: -1,
        type: "button",
        onClick: handleClear
      }),
      getPopupIndicatorProps: () => ({
        tabIndex: -1,
        type: "button",
        onClick: handlePopupIndicator
      }),
      getTagProps: ({ index: index2 }) => ({
        key: index2,
        "data-tag-index": index2,
        tabIndex: -1,
        ...!readOnly && {
          onDelete: handleTagDelete(index2)
        }
      }),
      getListboxProps: () => ({
        role: "listbox",
        id: `${id}-listbox`,
        "aria-labelledby": `${id}-label`,
        ref: handleListboxRef,
        onMouseDown: (event) => {
          event.preventDefault();
        }
      }),
      getOptionProps: ({ index: index2, option }) => {
        const selected = (multiple ? value : [
          value
        ]).some((value2) => value2 != null && isOptionEqualToValue(option, value2));
        const disabled = getOptionDisabled ? getOptionDisabled(option) : false;
        return {
          key: (getOptionKey == null ? void 0 : getOptionKey(option)) ?? getOptionLabel(option),
          tabIndex: -1,
          role: "option",
          id: `${id}-option-${index2}`,
          onMouseMove: handleOptionMouseMove,
          onClick: handleOptionClick,
          onTouchStart: handleOptionTouchStart,
          "data-option-index": index2,
          "aria-disabled": disabled,
          "aria-selected": selected
        };
      },
      id,
      inputValue,
      value,
      dirty,
      expanded: popupOpen && anchorEl,
      popupOpen,
      focused: focused || focusedTag !== -1,
      anchorEl,
      setAnchorEl,
      focusedTag,
      groupedOptions
    };
  };
  getListSubheaderUtilityClass = function(slot) {
    return generateUtilityClass("MuiListSubheader", slot);
  };
  listSubheaderClasses = generateUtilityClasses("MuiListSubheader", [
    "root",
    "colorPrimary",
    "colorInherit",
    "gutters",
    "inset",
    "sticky"
  ]);
  const useUtilityClasses$$ = (ownerState) => {
    const { classes, color, disableGutters, inset, disableSticky } = ownerState;
    const slots = {
      root: [
        "root",
        color !== "default" && `color${capitalize(color)}`,
        !disableGutters && "gutters",
        inset && "inset",
        !disableSticky && "sticky"
      ]
    };
    return composeClasses(slots, getListSubheaderUtilityClass, classes);
  };
  const ListSubheaderRoot = styled("li", {
    name: "MuiListSubheader",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        ownerState.color !== "default" && styles2[`color${capitalize(ownerState.color)}`],
        !ownerState.disableGutters && styles2.gutters,
        ownerState.inset && styles2.inset,
        !ownerState.disableSticky && styles2.sticky
      ];
    }
  })(memoTheme(({ theme }) => ({
    boxSizing: "border-box",
    lineHeight: "48px",
    listStyle: "none",
    color: (theme.vars || theme).palette.text.secondary,
    fontFamily: theme.typography.fontFamily,
    fontWeight: theme.typography.fontWeightMedium,
    fontSize: theme.typography.pxToRem(14),
    variants: [
      {
        props: {
          color: "primary"
        },
        style: {
          color: (theme.vars || theme).palette.primary.main
        }
      },
      {
        props: {
          color: "inherit"
        },
        style: {
          color: "inherit"
        }
      },
      {
        props: ({ ownerState }) => !ownerState.disableGutters,
        style: {
          paddingLeft: 16,
          paddingRight: 16
        }
      },
      {
        props: ({ ownerState }) => ownerState.inset,
        style: {
          paddingLeft: 72
        }
      },
      {
        props: ({ ownerState }) => !ownerState.disableSticky,
        style: {
          position: "sticky",
          top: 0,
          zIndex: 1,
          backgroundColor: (theme.vars || theme).palette.background.paper
        }
      }
    ]
  })));
  ListSubheader = __mf_14(function ListSubheader2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiListSubheader"
    });
    const { className, color = "default", component = "li", disableGutters = false, disableSticky = false, inset = false, ...other } = props;
    const ownerState = {
      ...props,
      color,
      component,
      disableGutters,
      disableSticky,
      inset
    };
    const classes = useUtilityClasses$$(ownerState);
    return jsxRuntimeExports.jsx(ListSubheaderRoot, {
      as: component,
      className: clsx(classes.root, className),
      ref,
      ownerState,
      ...other
    });
  });
  if (ListSubheader) {
    ListSubheader.muiSkipListHighlight = true;
  }
  getAutocompleteUtilityClass = function(slot) {
    return generateUtilityClass("MuiAutocomplete", slot);
  };
  autocompleteClasses = generateUtilityClasses("MuiAutocomplete", [
    "root",
    "expanded",
    "fullWidth",
    "focused",
    "focusVisible",
    "tag",
    "tagSizeSmall",
    "tagSizeMedium",
    "hasPopupIcon",
    "hasClearIcon",
    "inputRoot",
    "input",
    "inputFocused",
    "endAdornment",
    "clearIndicator",
    "popupIndicator",
    "popupIndicatorOpen",
    "popper",
    "popperDisablePortal",
    "paper",
    "listbox",
    "loading",
    "noOptions",
    "option",
    "groupLabel",
    "groupUl"
  ]);
  var _ClearIcon, _ArrowDropDownIcon;
  const useUtilityClasses$_ = (ownerState) => {
    const { classes, disablePortal, expanded, focused, fullWidth, hasClearIcon, hasPopupIcon, inputFocused, popupOpen, size } = ownerState;
    const slots = {
      root: [
        "root",
        expanded && "expanded",
        focused && "focused",
        fullWidth && "fullWidth",
        hasClearIcon && "hasClearIcon",
        hasPopupIcon && "hasPopupIcon"
      ],
      inputRoot: [
        "inputRoot"
      ],
      input: [
        "input",
        inputFocused && "inputFocused"
      ],
      tag: [
        "tag",
        `tagSize${capitalize(size)}`
      ],
      endAdornment: [
        "endAdornment"
      ],
      clearIndicator: [
        "clearIndicator"
      ],
      popupIndicator: [
        "popupIndicator",
        popupOpen && "popupIndicatorOpen"
      ],
      popper: [
        "popper",
        disablePortal && "popperDisablePortal"
      ],
      paper: [
        "paper"
      ],
      listbox: [
        "listbox"
      ],
      loading: [
        "loading"
      ],
      noOptions: [
        "noOptions"
      ],
      option: [
        "option"
      ],
      groupLabel: [
        "groupLabel"
      ],
      groupUl: [
        "groupUl"
      ]
    };
    return composeClasses(slots, getAutocompleteUtilityClass, classes);
  };
  const AutocompleteRoot = styled("div", {
    name: "MuiAutocomplete",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      const { fullWidth, hasClearIcon, hasPopupIcon, inputFocused, size } = ownerState;
      return [
        {
          [`& .${autocompleteClasses.tag}`]: styles2.tag
        },
        {
          [`& .${autocompleteClasses.tag}`]: styles2[`tagSize${capitalize(size)}`]
        },
        {
          [`& .${autocompleteClasses.inputRoot}`]: styles2.inputRoot
        },
        {
          [`& .${autocompleteClasses.input}`]: styles2.input
        },
        {
          [`& .${autocompleteClasses.input}`]: inputFocused && styles2.inputFocused
        },
        styles2.root,
        fullWidth && styles2.fullWidth,
        hasPopupIcon && styles2.hasPopupIcon,
        hasClearIcon && styles2.hasClearIcon
      ];
    }
  })({
    [`&.${autocompleteClasses.focused} .${autocompleteClasses.clearIndicator}`]: {
      visibility: "visible"
    },
    "@media (pointer: fine)": {
      [`&:hover .${autocompleteClasses.clearIndicator}`]: {
        visibility: "visible"
      }
    },
    [`& .${autocompleteClasses.tag}`]: {
      margin: 3,
      maxWidth: "calc(100% - 6px)"
    },
    [`& .${autocompleteClasses.inputRoot}`]: {
      [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {
        paddingRight: 26 + 4
      },
      [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {
        paddingRight: 52 + 4
      },
      [`& .${autocompleteClasses.input}`]: {
        width: 0,
        minWidth: 30
      }
    },
    [`& .${inputClasses.root}`]: {
      paddingBottom: 1,
      "& .MuiInput-input": {
        padding: "4px 4px 4px 0px"
      }
    },
    [`& .${inputClasses.root}.${inputBaseClasses.sizeSmall}`]: {
      [`& .${inputClasses.input}`]: {
        padding: "2px 4px 3px 0"
      }
    },
    [`& .${outlinedInputClasses.root}`]: {
      padding: 9,
      [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {
        paddingRight: 26 + 4 + 9
      },
      [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {
        paddingRight: 52 + 4 + 9
      },
      [`& .${autocompleteClasses.input}`]: {
        padding: "7.5px 4px 7.5px 5px"
      },
      [`& .${autocompleteClasses.endAdornment}`]: {
        right: 9
      }
    },
    [`& .${outlinedInputClasses.root}.${inputBaseClasses.sizeSmall}`]: {
      paddingTop: 6,
      paddingBottom: 6,
      paddingLeft: 6,
      [`& .${autocompleteClasses.input}`]: {
        padding: "2.5px 4px 2.5px 8px"
      }
    },
    [`& .${filledInputClasses.root}`]: {
      paddingTop: 19,
      paddingLeft: 8,
      [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {
        paddingRight: 26 + 4 + 9
      },
      [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {
        paddingRight: 52 + 4 + 9
      },
      [`& .${filledInputClasses.input}`]: {
        padding: "7px 4px"
      },
      [`& .${autocompleteClasses.endAdornment}`]: {
        right: 9
      }
    },
    [`& .${filledInputClasses.root}.${inputBaseClasses.sizeSmall}`]: {
      paddingBottom: 1,
      [`& .${filledInputClasses.input}`]: {
        padding: "2.5px 4px"
      }
    },
    [`& .${inputBaseClasses.hiddenLabel}`]: {
      paddingTop: 8
    },
    [`& .${filledInputClasses.root}.${inputBaseClasses.hiddenLabel}`]: {
      paddingTop: 0,
      paddingBottom: 0,
      [`& .${autocompleteClasses.input}`]: {
        paddingTop: 16,
        paddingBottom: 17
      }
    },
    [`& .${filledInputClasses.root}.${inputBaseClasses.hiddenLabel}.${inputBaseClasses.sizeSmall}`]: {
      [`& .${autocompleteClasses.input}`]: {
        paddingTop: 8,
        paddingBottom: 9
      }
    },
    [`& .${autocompleteClasses.input}`]: {
      flexGrow: 1,
      textOverflow: "ellipsis",
      opacity: 0
    },
    variants: [
      {
        props: {
          fullWidth: true
        },
        style: {
          width: "100%"
        }
      },
      {
        props: {
          size: "small"
        },
        style: {
          [`& .${autocompleteClasses.tag}`]: {
            margin: 2,
            maxWidth: "calc(100% - 4px)"
          }
        }
      },
      {
        props: {
          inputFocused: true
        },
        style: {
          [`& .${autocompleteClasses.input}`]: {
            opacity: 1
          }
        }
      },
      {
        props: {
          multiple: true
        },
        style: {
          [`& .${autocompleteClasses.inputRoot}`]: {
            flexWrap: "wrap"
          }
        }
      }
    ]
  });
  const AutocompleteEndAdornment = styled("div", {
    name: "MuiAutocomplete",
    slot: "EndAdornment",
    overridesResolver: (props, styles2) => styles2.endAdornment
  })({
    position: "absolute",
    right: 0,
    top: "50%",
    transform: "translate(0, -50%)"
  });
  const AutocompleteClearIndicator = styled(IconButton, {
    name: "MuiAutocomplete",
    slot: "ClearIndicator",
    overridesResolver: (props, styles2) => styles2.clearIndicator
  })({
    marginRight: -2,
    padding: 4,
    visibility: "hidden"
  });
  const AutocompletePopupIndicator = styled(IconButton, {
    name: "MuiAutocomplete",
    slot: "PopupIndicator",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.popupIndicator,
        ownerState.popupOpen && styles2.popupIndicatorOpen
      ];
    }
  })({
    padding: 2,
    marginRight: -2,
    variants: [
      {
        props: {
          popupOpen: true
        },
        style: {
          transform: "rotate(180deg)"
        }
      }
    ]
  });
  const AutocompletePopper = styled(Popper, {
    name: "MuiAutocomplete",
    slot: "Popper",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        {
          [`& .${autocompleteClasses.option}`]: styles2.option
        },
        styles2.popper,
        ownerState.disablePortal && styles2.popperDisablePortal
      ];
    }
  })(memoTheme(({ theme }) => ({
    zIndex: (theme.vars || theme).zIndex.modal,
    variants: [
      {
        props: {
          disablePortal: true
        },
        style: {
          position: "absolute"
        }
      }
    ]
  })));
  const AutocompletePaper = styled(Paper, {
    name: "MuiAutocomplete",
    slot: "Paper",
    overridesResolver: (props, styles2) => styles2.paper
  })(memoTheme(({ theme }) => ({
    ...theme.typography.body1,
    overflow: "auto"
  })));
  const AutocompleteLoading = styled("div", {
    name: "MuiAutocomplete",
    slot: "Loading",
    overridesResolver: (props, styles2) => styles2.loading
  })(memoTheme(({ theme }) => ({
    color: (theme.vars || theme).palette.text.secondary,
    padding: "14px 16px"
  })));
  const AutocompleteNoOptions = styled("div", {
    name: "MuiAutocomplete",
    slot: "NoOptions",
    overridesResolver: (props, styles2) => styles2.noOptions
  })(memoTheme(({ theme }) => ({
    color: (theme.vars || theme).palette.text.secondary,
    padding: "14px 16px"
  })));
  const AutocompleteListbox = styled("ul", {
    name: "MuiAutocomplete",
    slot: "Listbox",
    overridesResolver: (props, styles2) => styles2.listbox
  })(memoTheme(({ theme }) => ({
    listStyle: "none",
    margin: 0,
    padding: "8px 0",
    maxHeight: "40vh",
    overflow: "auto",
    position: "relative",
    [`& .${autocompleteClasses.option}`]: {
      minHeight: 48,
      display: "flex",
      overflow: "hidden",
      justifyContent: "flex-start",
      alignItems: "center",
      cursor: "pointer",
      paddingTop: 6,
      boxSizing: "border-box",
      outline: "0",
      WebkitTapHighlightColor: "transparent",
      paddingBottom: 6,
      paddingLeft: 16,
      paddingRight: 16,
      [theme.breakpoints.up("sm")]: {
        minHeight: "auto"
      },
      [`&.${autocompleteClasses.focused}`]: {
        backgroundColor: (theme.vars || theme).palette.action.hover,
        "@media (hover: none)": {
          backgroundColor: "transparent"
        }
      },
      '&[aria-disabled="true"]': {
        opacity: (theme.vars || theme).palette.action.disabledOpacity,
        pointerEvents: "none"
      },
      [`&.${autocompleteClasses.focusVisible}`]: {
        backgroundColor: (theme.vars || theme).palette.action.focus
      },
      '&[aria-selected="true"]': {
        backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),
        [`&.${autocompleteClasses.focused}`]: {
          backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),
          "@media (hover: none)": {
            backgroundColor: (theme.vars || theme).palette.action.selected
          }
        },
        [`&.${autocompleteClasses.focusVisible}`]: {
          backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)
        }
      }
    }
  })));
  const AutocompleteGroupLabel = styled(ListSubheader, {
    name: "MuiAutocomplete",
    slot: "GroupLabel",
    overridesResolver: (props, styles2) => styles2.groupLabel
  })(memoTheme(({ theme }) => ({
    backgroundColor: (theme.vars || theme).palette.background.paper,
    top: -8
  })));
  const AutocompleteGroupUl = styled("ul", {
    name: "MuiAutocomplete",
    slot: "GroupUl",
    overridesResolver: (props, styles2) => styles2.groupUl
  })({
    padding: 0,
    [`& .${autocompleteClasses.option}`]: {
      paddingLeft: 24
    }
  });
  Autocomplete = __mf_14(function Autocomplete2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiAutocomplete"
    });
    const { autoComplete = false, autoHighlight = false, autoSelect = false, blurOnSelect = false, ChipProps: ChipPropsProp, className, clearIcon = _ClearIcon || (_ClearIcon = jsxRuntimeExports.jsx(ClearIcon, {
      fontSize: "small"
    })), clearOnBlur = !props.freeSolo, clearOnEscape = false, clearText = "Clear", closeText = "Close", componentsProps, defaultValue = props.multiple ? [] : null, disableClearable = false, disableCloseOnSelect = false, disabled = false, disabledItemsFocusable = false, disableListWrap = false, disablePortal = false, filterOptions, filterSelectedOptions = false, forcePopupIcon = "auto", freeSolo = false, fullWidth = false, getLimitTagsText = (more) => `+${more}`, getOptionDisabled, getOptionKey, getOptionLabel: getOptionLabelProp, isOptionEqualToValue, groupBy, handleHomeEndKeys = !props.freeSolo, id: idProp, includeInputInList = false, inputValue: inputValueProp, limitTags = -1, ListboxComponent: ListboxComponentProp, ListboxProps: ListboxPropsProp, loading = false, loadingText = "Loading\u2026", multiple = false, noOptionsText = "No options", onChange, onClose, onHighlightChange, onInputChange, onOpen, open, openOnFocus = false, openText = "Open", options, PaperComponent: PaperComponentProp, PopperComponent: PopperComponentProp, popupIcon = _ArrowDropDownIcon || (_ArrowDropDownIcon = jsxRuntimeExports.jsx(ArrowDropDownIcon, {})), readOnly = false, renderGroup: renderGroupProp, renderInput, renderOption: renderOptionProp, renderTags, selectOnFocus = !props.freeSolo, size = "medium", slots = {}, slotProps = {}, value: valueProp, ...other } = props;
    const { getRootProps, getInputProps, getInputLabelProps, getPopupIndicatorProps, getClearProps, getTagProps, getListboxProps, getOptionProps, value, dirty, expanded, id, popupOpen, focused, focusedTag, anchorEl, setAnchorEl, inputValue, groupedOptions } = useAutocomplete({
      ...props,
      componentName: "Autocomplete"
    });
    const hasClearIcon = !disableClearable && !disabled && dirty && !readOnly;
    const hasPopupIcon = (!freeSolo || forcePopupIcon === true) && forcePopupIcon !== false;
    const { onMouseDown: handleInputMouseDown } = getInputProps();
    const { ref: listboxRef, ...otherListboxProps } = getListboxProps();
    const defaultGetOptionLabel = (option) => option.label ?? option;
    const getOptionLabel = getOptionLabelProp || defaultGetOptionLabel;
    const ownerState = {
      ...props,
      disablePortal,
      expanded,
      focused,
      fullWidth,
      getOptionLabel,
      hasClearIcon,
      hasPopupIcon,
      inputFocused: focusedTag === -1,
      popupOpen,
      size
    };
    const classes = useUtilityClasses$_(ownerState);
    const externalForwardedProps = {
      slots: {
        paper: PaperComponentProp,
        popper: PopperComponentProp,
        ...slots
      },
      slotProps: {
        chip: ChipPropsProp,
        listbox: ListboxPropsProp,
        ...componentsProps,
        ...slotProps
      }
    };
    const [ListboxSlot, listboxProps] = useSlot("listbox", {
      elementType: AutocompleteListbox,
      externalForwardedProps,
      ownerState,
      className: classes.listbox,
      additionalProps: otherListboxProps,
      ref: listboxRef
    });
    const [PaperSlot, paperProps] = useSlot("paper", {
      elementType: Paper,
      externalForwardedProps,
      ownerState,
      className: classes.paper
    });
    const [PopperSlot, popperProps] = useSlot("popper", {
      elementType: Popper,
      externalForwardedProps,
      ownerState,
      className: classes.popper,
      additionalProps: {
        disablePortal,
        style: {
          width: anchorEl ? anchorEl.clientWidth : null
        },
        role: "presentation",
        anchorEl,
        open: popupOpen
      }
    });
    let startAdornment;
    if (multiple && value.length > 0) {
      const getCustomizedTagProps = (params) => ({
        className: classes.tag,
        disabled,
        ...getTagProps(params)
      });
      if (renderTags) {
        startAdornment = renderTags(value, getCustomizedTagProps, ownerState);
      } else {
        startAdornment = value.map((option, index2) => {
          const { key, ...customTagProps } = getCustomizedTagProps({
            index: index2
          });
          return jsxRuntimeExports.jsx(Chip, {
            label: getOptionLabel(option),
            size,
            ...customTagProps,
            ...externalForwardedProps.slotProps.chip
          }, key);
        });
      }
    }
    if (limitTags > -1 && Array.isArray(startAdornment)) {
      const more = startAdornment.length - limitTags;
      if (!focused && more > 0) {
        startAdornment = startAdornment.splice(0, limitTags);
        startAdornment.push(jsxRuntimeExports.jsx("span", {
          className: classes.tag,
          children: getLimitTagsText(more)
        }, startAdornment.length));
      }
    }
    const defaultRenderGroup = (params) => jsxRuntimeExports.jsxs("li", {
      children: [
        jsxRuntimeExports.jsx(AutocompleteGroupLabel, {
          className: classes.groupLabel,
          ownerState,
          component: "div",
          children: params.group
        }),
        jsxRuntimeExports.jsx(AutocompleteGroupUl, {
          className: classes.groupUl,
          ownerState,
          children: params.children
        })
      ]
    }, params.key);
    const renderGroup = renderGroupProp || defaultRenderGroup;
    const defaultRenderOption = (props2, option) => {
      const { key, ...otherProps } = props2;
      return jsxRuntimeExports.jsx("li", {
        ...otherProps,
        children: getOptionLabel(option)
      }, key);
    };
    const renderOption = renderOptionProp || defaultRenderOption;
    const renderListOption = (option, index2) => {
      const optionProps = getOptionProps({
        option,
        index: index2
      });
      return renderOption({
        ...optionProps,
        className: classes.option
      }, option, {
        selected: optionProps["aria-selected"],
        index: index2,
        inputValue
      }, ownerState);
    };
    const clearIndicatorSlotProps = externalForwardedProps.slotProps.clearIndicator;
    const popupIndicatorSlotProps = externalForwardedProps.slotProps.popupIndicator;
    return jsxRuntimeExports.jsxs(__mf_2, {
      children: [
        jsxRuntimeExports.jsx(AutocompleteRoot, {
          ref,
          className: clsx(classes.root, className),
          ownerState,
          ...getRootProps(other),
          children: renderInput({
            id,
            disabled,
            fullWidth: true,
            size: size === "small" ? "small" : void 0,
            InputLabelProps: getInputLabelProps(),
            InputProps: {
              ref: setAnchorEl,
              className: classes.inputRoot,
              startAdornment,
              onMouseDown: (event) => {
                if (event.target === event.currentTarget) {
                  handleInputMouseDown(event);
                }
              },
              ...(hasClearIcon || hasPopupIcon) && {
                endAdornment: jsxRuntimeExports.jsxs(AutocompleteEndAdornment, {
                  className: classes.endAdornment,
                  ownerState,
                  children: [
                    hasClearIcon ? jsxRuntimeExports.jsx(AutocompleteClearIndicator, {
                      ...getClearProps(),
                      "aria-label": clearText,
                      title: clearText,
                      ownerState,
                      ...clearIndicatorSlotProps,
                      className: clsx(classes.clearIndicator, clearIndicatorSlotProps == null ? void 0 : clearIndicatorSlotProps.className),
                      children: clearIcon
                    }) : null,
                    hasPopupIcon ? jsxRuntimeExports.jsx(AutocompletePopupIndicator, {
                      ...getPopupIndicatorProps(),
                      disabled,
                      "aria-label": popupOpen ? closeText : openText,
                      title: popupOpen ? closeText : openText,
                      ownerState,
                      ...popupIndicatorSlotProps,
                      className: clsx(classes.popupIndicator, popupIndicatorSlotProps == null ? void 0 : popupIndicatorSlotProps.className),
                      children: popupIcon
                    }) : null
                  ]
                })
              }
            },
            inputProps: {
              className: classes.input,
              disabled,
              readOnly,
              ...getInputProps()
            }
          })
        }),
        anchorEl ? jsxRuntimeExports.jsx(AutocompletePopper, {
          as: PopperSlot,
          ...popperProps,
          children: jsxRuntimeExports.jsxs(AutocompletePaper, {
            as: PaperSlot,
            ...paperProps,
            children: [
              loading && groupedOptions.length === 0 ? jsxRuntimeExports.jsx(AutocompleteLoading, {
                className: classes.loading,
                ownerState,
                children: loadingText
              }) : null,
              groupedOptions.length === 0 && !freeSolo && !loading ? jsxRuntimeExports.jsx(AutocompleteNoOptions, {
                className: classes.noOptions,
                ownerState,
                role: "presentation",
                onMouseDown: (event) => {
                  event.preventDefault();
                },
                children: noOptionsText
              }) : null,
              groupedOptions.length > 0 ? jsxRuntimeExports.jsx(ListboxSlot, {
                as: ListboxComponentProp,
                ...listboxProps,
                children: groupedOptions.map((option, index2) => {
                  if (groupBy) {
                    return renderGroup({
                      key: option.key,
                      group: option.group,
                      children: option.options.map((option2, index22) => renderListOption(option2, option.index + index22))
                    });
                  }
                  return renderListOption(option, index2);
                })
              }) : null
            ]
          })
        }) : null
      ]
    });
  });
  const Person = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"
  }), "Person");
  getAvatarUtilityClass = function(slot) {
    return generateUtilityClass("MuiAvatar", slot);
  };
  avatarClasses = generateUtilityClasses("MuiAvatar", [
    "root",
    "colorDefault",
    "circular",
    "rounded",
    "square",
    "img",
    "fallback"
  ]);
  const useUtilityClasses$Z = (ownerState) => {
    const { classes, variant, colorDefault } = ownerState;
    const slots = {
      root: [
        "root",
        variant,
        colorDefault && "colorDefault"
      ],
      img: [
        "img"
      ],
      fallback: [
        "fallback"
      ]
    };
    return composeClasses(slots, getAvatarUtilityClass, classes);
  };
  const AvatarRoot = styled("div", {
    name: "MuiAvatar",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[ownerState.variant],
        ownerState.colorDefault && styles2.colorDefault
      ];
    }
  })(memoTheme(({ theme }) => ({
    position: "relative",
    display: "flex",
    alignItems: "center",
    justifyContent: "center",
    flexShrink: 0,
    width: 40,
    height: 40,
    fontFamily: theme.typography.fontFamily,
    fontSize: theme.typography.pxToRem(20),
    lineHeight: 1,
    borderRadius: "50%",
    overflow: "hidden",
    userSelect: "none",
    variants: [
      {
        props: {
          variant: "rounded"
        },
        style: {
          borderRadius: (theme.vars || theme).shape.borderRadius
        }
      },
      {
        props: {
          variant: "square"
        },
        style: {
          borderRadius: 0
        }
      },
      {
        props: {
          colorDefault: true
        },
        style: {
          color: (theme.vars || theme).palette.background.default,
          ...theme.vars ? {
            backgroundColor: theme.vars.palette.Avatar.defaultBg
          } : {
            backgroundColor: theme.palette.grey[400],
            ...theme.applyStyles("dark", {
              backgroundColor: theme.palette.grey[600]
            })
          }
        }
      }
    ]
  })));
  const AvatarImg = styled("img", {
    name: "MuiAvatar",
    slot: "Img",
    overridesResolver: (props, styles2) => styles2.img
  })({
    width: "100%",
    height: "100%",
    textAlign: "center",
    objectFit: "cover",
    color: "transparent",
    textIndent: 1e4
  });
  const AvatarFallback = styled(Person, {
    name: "MuiAvatar",
    slot: "Fallback",
    overridesResolver: (props, styles2) => styles2.fallback
  })({
    width: "75%",
    height: "75%"
  });
  function useLoaded({ crossOrigin, referrerPolicy, src, srcSet }) {
    const [loaded, setLoaded] = __mf_32(false);
    __mf_24(() => {
      if (!src && !srcSet) {
        return void 0;
      }
      setLoaded(false);
      let active = true;
      const image = new Image();
      image.onload = () => {
        if (!active) {
          return;
        }
        setLoaded("loaded");
      };
      image.onerror = () => {
        if (!active) {
          return;
        }
        setLoaded("error");
      };
      image.crossOrigin = crossOrigin;
      image.referrerPolicy = referrerPolicy;
      image.src = src;
      if (srcSet) {
        image.srcset = srcSet;
      }
      return () => {
        active = false;
      };
    }, [
      crossOrigin,
      referrerPolicy,
      src,
      srcSet
    ]);
    return loaded;
  }
  Avatar = __mf_14(function Avatar2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiAvatar"
    });
    const { alt, children: childrenProp, className, component = "div", slots = {}, slotProps = {}, imgProps, sizes, src, srcSet, variant = "circular", ...other } = props;
    let children = null;
    const ownerState = {
      ...props,
      component,
      variant
    };
    const loaded = useLoaded({
      ...imgProps,
      ...typeof slotProps.img === "function" ? slotProps.img(ownerState) : slotProps.img,
      src,
      srcSet
    });
    const hasImg = src || srcSet;
    const hasImgNotFailing = hasImg && loaded !== "error";
    ownerState.colorDefault = !hasImgNotFailing;
    delete ownerState.ownerState;
    const classes = useUtilityClasses$Z(ownerState);
    const [ImgSlot, imgSlotProps] = useSlot("img", {
      className: classes.img,
      elementType: AvatarImg,
      externalForwardedProps: {
        slots,
        slotProps: {
          img: {
            ...imgProps,
            ...slotProps.img
          }
        }
      },
      additionalProps: {
        alt,
        src,
        srcSet,
        sizes
      },
      ownerState
    });
    if (hasImgNotFailing) {
      children = jsxRuntimeExports.jsx(ImgSlot, {
        ...imgSlotProps
      });
    } else if (!!childrenProp || childrenProp === 0) {
      children = childrenProp;
    } else if (hasImg && alt) {
      children = alt[0];
    } else {
      children = jsxRuntimeExports.jsx(AvatarFallback, {
        ownerState,
        className: classes.fallback
      });
    }
    return jsxRuntimeExports.jsx(AvatarRoot, {
      as: component,
      className: clsx(classes.root, className),
      ref,
      ...other,
      ownerState,
      children
    });
  });
  getAvatarGroupUtilityClass = function(slot) {
    return generateUtilityClass("MuiAvatarGroup", slot);
  };
  avatarGroupClasses = generateUtilityClasses("MuiAvatarGroup", [
    "root",
    "avatar"
  ]);
  const SPACINGS$2 = {
    small: -16,
    medium: -8
  };
  const useUtilityClasses$Y = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ],
      avatar: [
        "avatar"
      ]
    };
    return composeClasses(slots, getAvatarGroupUtilityClass, classes);
  };
  const AvatarGroupRoot = styled("div", {
    name: "MuiAvatarGroup",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      return [
        {
          [`& .${avatarGroupClasses.avatar}`]: styles2.avatar
        },
        styles2.root
      ];
    }
  })(memoTheme(({ theme }) => ({
    display: "flex",
    flexDirection: "row-reverse",
    [`& .${avatarClasses.root}`]: {
      border: `2px solid ${(theme.vars || theme).palette.background.default}`,
      boxSizing: "content-box",
      marginLeft: "var(--AvatarGroup-spacing, -8px)",
      "&:last-child": {
        marginLeft: 0
      }
    }
  })));
  AvatarGroup = __mf_14(function AvatarGroup2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiAvatarGroup"
    });
    const { children: childrenProp, className, component = "div", componentsProps, max = 5, renderSurplus, slotProps = {}, slots = {}, spacing = "medium", total, variant = "circular", ...other } = props;
    let clampedMax = max < 2 ? 2 : max;
    const ownerState = {
      ...props,
      max,
      spacing,
      component,
      variant
    };
    const classes = useUtilityClasses$Y(ownerState);
    const children = __mf_0.toArray(childrenProp).filter((child) => {
      return __mf_15(child);
    });
    const totalAvatars = total || children.length;
    if (totalAvatars === clampedMax) {
      clampedMax += 1;
    }
    clampedMax = Math.min(totalAvatars + 1, clampedMax);
    const maxAvatars = Math.min(children.length, clampedMax - 1);
    const extraAvatars = Math.max(totalAvatars - clampedMax, totalAvatars - maxAvatars, 0);
    const extraAvatarsElement = renderSurplus ? renderSurplus(extraAvatars) : `+${extraAvatars}`;
    let marginValue;
    if (ownerState.spacing && SPACINGS$2[ownerState.spacing] !== void 0) {
      marginValue = SPACINGS$2[ownerState.spacing];
    } else if (ownerState.spacing === 0) {
      marginValue = 0;
    } else {
      marginValue = -ownerState.spacing || SPACINGS$2.medium;
    }
    const externalForwardedProps = {
      slots,
      slotProps: {
        surplus: slotProps.additionalAvatar ?? (componentsProps == null ? void 0 : componentsProps.additionalAvatar),
        ...componentsProps,
        ...slotProps
      }
    };
    const [SurplusSlot, surplusProps] = useSlot("surplus", {
      elementType: Avatar,
      externalForwardedProps,
      className: classes.avatar,
      ownerState,
      additionalProps: {
        variant
      }
    });
    return jsxRuntimeExports.jsxs(AvatarGroupRoot, {
      as: component,
      ownerState,
      className: clsx(classes.root, className),
      ref,
      ...other,
      style: {
        "--AvatarGroup-spacing": `${marginValue}px`,
        ...other.style
      },
      children: [
        extraAvatars ? jsxRuntimeExports.jsx(SurplusSlot, {
          ...surplusProps,
          children: extraAvatarsElement
        }) : null,
        children.slice(0, maxAvatars).reverse().map((child) => {
          return __mf_9(child, {
            className: clsx(child.props.className, classes.avatar),
            variant: child.props.variant || variant
          });
        })
      ]
    });
  });
  function useBadge(parameters) {
    const { badgeContent: badgeContentProp, invisible: invisibleProp = false, max: maxProp = 99, showZero = false } = parameters;
    const prevProps = usePreviousProps({
      badgeContent: badgeContentProp,
      max: maxProp
    });
    let invisible = invisibleProp;
    if (invisibleProp === false && badgeContentProp === 0 && !showZero) {
      invisible = true;
    }
    const { badgeContent, max = maxProp } = invisible ? prevProps : parameters;
    const displayValue = badgeContent && Number(badgeContent) > max ? `${max}+` : badgeContent;
    return {
      badgeContent,
      invisible,
      max,
      displayValue
    };
  }
  getBadgeUtilityClass = function(slot) {
    return generateUtilityClass("MuiBadge", slot);
  };
  badgeClasses = generateUtilityClasses("MuiBadge", [
    "root",
    "badge",
    "dot",
    "standard",
    "anchorOriginTopRight",
    "anchorOriginBottomRight",
    "anchorOriginTopLeft",
    "anchorOriginBottomLeft",
    "invisible",
    "colorError",
    "colorInfo",
    "colorPrimary",
    "colorSecondary",
    "colorSuccess",
    "colorWarning",
    "overlapRectangular",
    "overlapCircular",
    "anchorOriginTopLeftCircular",
    "anchorOriginTopLeftRectangular",
    "anchorOriginTopRightCircular",
    "anchorOriginTopRightRectangular",
    "anchorOriginBottomLeftCircular",
    "anchorOriginBottomLeftRectangular",
    "anchorOriginBottomRightCircular",
    "anchorOriginBottomRightRectangular"
  ]);
  const RADIUS_STANDARD = 10;
  const RADIUS_DOT = 4;
  const useUtilityClasses$X = (ownerState) => {
    const { color, anchorOrigin, invisible, overlap, variant, classes = {} } = ownerState;
    const slots = {
      root: [
        "root"
      ],
      badge: [
        "badge",
        variant,
        invisible && "invisible",
        `anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}`,
        `anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}${capitalize(overlap)}`,
        `overlap${capitalize(overlap)}`,
        color !== "default" && `color${capitalize(color)}`
      ]
    };
    return composeClasses(slots, getBadgeUtilityClass, classes);
  };
  const BadgeRoot = styled("span", {
    name: "MuiBadge",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })({
    position: "relative",
    display: "inline-flex",
    verticalAlign: "middle",
    flexShrink: 0
  });
  const BadgeBadge = styled("span", {
    name: "MuiBadge",
    slot: "Badge",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.badge,
        styles2[ownerState.variant],
        styles2[`anchorOrigin${capitalize(ownerState.anchorOrigin.vertical)}${capitalize(ownerState.anchorOrigin.horizontal)}${capitalize(ownerState.overlap)}`],
        ownerState.color !== "default" && styles2[`color${capitalize(ownerState.color)}`],
        ownerState.invisible && styles2.invisible
      ];
    }
  })(memoTheme(({ theme }) => ({
    display: "flex",
    flexDirection: "row",
    flexWrap: "wrap",
    justifyContent: "center",
    alignContent: "center",
    alignItems: "center",
    position: "absolute",
    boxSizing: "border-box",
    fontFamily: theme.typography.fontFamily,
    fontWeight: theme.typography.fontWeightMedium,
    fontSize: theme.typography.pxToRem(12),
    minWidth: RADIUS_STANDARD * 2,
    lineHeight: 1,
    padding: "0 6px",
    height: RADIUS_STANDARD * 2,
    borderRadius: RADIUS_STANDARD,
    zIndex: 1,
    transition: theme.transitions.create("transform", {
      easing: theme.transitions.easing.easeInOut,
      duration: theme.transitions.duration.enteringScreen
    }),
    variants: [
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter([
        "contrastText"
      ])).map(([color]) => ({
        props: {
          color
        },
        style: {
          backgroundColor: (theme.vars || theme).palette[color].main,
          color: (theme.vars || theme).palette[color].contrastText
        }
      })),
      {
        props: {
          variant: "dot"
        },
        style: {
          borderRadius: RADIUS_DOT,
          height: RADIUS_DOT * 2,
          minWidth: RADIUS_DOT * 2,
          padding: 0
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "top" && ownerState.anchorOrigin.horizontal === "right" && ownerState.overlap === "rectangular",
        style: {
          top: 0,
          right: 0,
          transform: "scale(1) translate(50%, -50%)",
          transformOrigin: "100% 0%",
          [`&.${badgeClasses.invisible}`]: {
            transform: "scale(0) translate(50%, -50%)"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "bottom" && ownerState.anchorOrigin.horizontal === "right" && ownerState.overlap === "rectangular",
        style: {
          bottom: 0,
          right: 0,
          transform: "scale(1) translate(50%, 50%)",
          transformOrigin: "100% 100%",
          [`&.${badgeClasses.invisible}`]: {
            transform: "scale(0) translate(50%, 50%)"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "top" && ownerState.anchorOrigin.horizontal === "left" && ownerState.overlap === "rectangular",
        style: {
          top: 0,
          left: 0,
          transform: "scale(1) translate(-50%, -50%)",
          transformOrigin: "0% 0%",
          [`&.${badgeClasses.invisible}`]: {
            transform: "scale(0) translate(-50%, -50%)"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "bottom" && ownerState.anchorOrigin.horizontal === "left" && ownerState.overlap === "rectangular",
        style: {
          bottom: 0,
          left: 0,
          transform: "scale(1) translate(-50%, 50%)",
          transformOrigin: "0% 100%",
          [`&.${badgeClasses.invisible}`]: {
            transform: "scale(0) translate(-50%, 50%)"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "top" && ownerState.anchorOrigin.horizontal === "right" && ownerState.overlap === "circular",
        style: {
          top: "14%",
          right: "14%",
          transform: "scale(1) translate(50%, -50%)",
          transformOrigin: "100% 0%",
          [`&.${badgeClasses.invisible}`]: {
            transform: "scale(0) translate(50%, -50%)"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "bottom" && ownerState.anchorOrigin.horizontal === "right" && ownerState.overlap === "circular",
        style: {
          bottom: "14%",
          right: "14%",
          transform: "scale(1) translate(50%, 50%)",
          transformOrigin: "100% 100%",
          [`&.${badgeClasses.invisible}`]: {
            transform: "scale(0) translate(50%, 50%)"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "top" && ownerState.anchorOrigin.horizontal === "left" && ownerState.overlap === "circular",
        style: {
          top: "14%",
          left: "14%",
          transform: "scale(1) translate(-50%, -50%)",
          transformOrigin: "0% 0%",
          [`&.${badgeClasses.invisible}`]: {
            transform: "scale(0) translate(-50%, -50%)"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "bottom" && ownerState.anchorOrigin.horizontal === "left" && ownerState.overlap === "circular",
        style: {
          bottom: "14%",
          left: "14%",
          transform: "scale(1) translate(-50%, 50%)",
          transformOrigin: "0% 100%",
          [`&.${badgeClasses.invisible}`]: {
            transform: "scale(0) translate(-50%, 50%)"
          }
        }
      },
      {
        props: {
          invisible: true
        },
        style: {
          transition: theme.transitions.create("transform", {
            easing: theme.transitions.easing.easeInOut,
            duration: theme.transitions.duration.leavingScreen
          })
        }
      }
    ]
  })));
  function getAnchorOrigin(anchorOrigin) {
    return {
      vertical: (anchorOrigin == null ? void 0 : anchorOrigin.vertical) ?? "top",
      horizontal: (anchorOrigin == null ? void 0 : anchorOrigin.horizontal) ?? "right"
    };
  }
  Badge = __mf_14(function Badge2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiBadge"
    });
    const { anchorOrigin: anchorOriginProp, className, classes: classesProp, component, components = {}, componentsProps = {}, children, overlap: overlapProp = "rectangular", color: colorProp = "default", invisible: invisibleProp = false, max: maxProp = 99, badgeContent: badgeContentProp, slots, slotProps, showZero = false, variant: variantProp = "standard", ...other } = props;
    const { badgeContent, invisible: invisibleFromHook, max, displayValue: displayValueFromHook } = useBadge({
      max: maxProp,
      invisible: invisibleProp,
      badgeContent: badgeContentProp,
      showZero
    });
    const prevProps = usePreviousProps({
      anchorOrigin: getAnchorOrigin(anchorOriginProp),
      color: colorProp,
      overlap: overlapProp,
      variant: variantProp,
      badgeContent: badgeContentProp
    });
    const invisible = invisibleFromHook || badgeContent == null && variantProp !== "dot";
    const { color = colorProp, overlap = overlapProp, anchorOrigin: anchorOriginPropProp, variant = variantProp } = invisible ? prevProps : props;
    const anchorOrigin = getAnchorOrigin(anchorOriginPropProp);
    const displayValue = variant !== "dot" ? displayValueFromHook : void 0;
    const ownerState = {
      ...props,
      badgeContent,
      invisible,
      max,
      displayValue,
      showZero,
      anchorOrigin,
      color,
      overlap,
      variant
    };
    const classes = useUtilityClasses$X(ownerState);
    const externalForwardedProps = {
      slots: {
        root: (slots == null ? void 0 : slots.root) ?? components.Root,
        badge: (slots == null ? void 0 : slots.badge) ?? components.Badge
      },
      slotProps: {
        root: (slotProps == null ? void 0 : slotProps.root) ?? componentsProps.root,
        badge: (slotProps == null ? void 0 : slotProps.badge) ?? componentsProps.badge
      }
    };
    const [RootSlot, rootProps] = useSlot("root", {
      elementType: BadgeRoot,
      externalForwardedProps: {
        ...externalForwardedProps,
        ...other
      },
      ownerState,
      className: clsx(classes.root, className),
      ref,
      additionalProps: {
        as: component
      }
    });
    const [BadgeSlot, badgeProps] = useSlot("badge", {
      elementType: BadgeBadge,
      externalForwardedProps,
      ownerState,
      className: classes.badge
    });
    return jsxRuntimeExports.jsxs(RootSlot, {
      ...rootProps,
      children: [
        children,
        jsxRuntimeExports.jsx(BadgeSlot, {
          ...badgeProps,
          children: displayValue
        })
      ]
    });
  });
  getBottomNavigationUtilityClass = function(slot) {
    return generateUtilityClass("MuiBottomNavigation", slot);
  };
  bottomNavigationClasses = generateUtilityClasses("MuiBottomNavigation", [
    "root"
  ]);
  const useUtilityClasses$W = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ]
    };
    return composeClasses(slots, getBottomNavigationUtilityClass, classes);
  };
  const BottomNavigationRoot = styled("div", {
    name: "MuiBottomNavigation",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })(memoTheme(({ theme }) => ({
    display: "flex",
    justifyContent: "center",
    height: 56,
    backgroundColor: (theme.vars || theme).palette.background.paper
  })));
  BottomNavigation = __mf_14(function BottomNavigation2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiBottomNavigation"
    });
    const { children, className, component = "div", onChange, showLabels = false, value, ...other } = props;
    const ownerState = {
      ...props,
      component,
      showLabels
    };
    const classes = useUtilityClasses$W(ownerState);
    return jsxRuntimeExports.jsx(BottomNavigationRoot, {
      as: component,
      className: clsx(classes.root, className),
      ref,
      ownerState,
      ...other,
      children: __mf_0.map(children, (child, childIndex) => {
        if (!__mf_15(child)) {
          return null;
        }
        const childValue = child.props.value === void 0 ? childIndex : child.props.value;
        return __mf_9(child, {
          selected: childValue === value,
          showLabel: child.props.showLabel !== void 0 ? child.props.showLabel : showLabels,
          value: childValue,
          onChange
        });
      })
    });
  });
  getBottomNavigationActionUtilityClass = function(slot) {
    return generateUtilityClass("MuiBottomNavigationAction", slot);
  };
  bottomNavigationActionClasses = generateUtilityClasses("MuiBottomNavigationAction", [
    "root",
    "iconOnly",
    "selected",
    "label"
  ]);
  const useUtilityClasses$V = (ownerState) => {
    const { classes, showLabel, selected } = ownerState;
    const slots = {
      root: [
        "root",
        !showLabel && !selected && "iconOnly",
        selected && "selected"
      ],
      label: [
        "label",
        !showLabel && !selected && "iconOnly",
        selected && "selected"
      ]
    };
    return composeClasses(slots, getBottomNavigationActionUtilityClass, classes);
  };
  const BottomNavigationActionRoot = styled(ButtonBase, {
    name: "MuiBottomNavigationAction",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        !ownerState.showLabel && !ownerState.selected && styles2.iconOnly
      ];
    }
  })(memoTheme(({ theme }) => ({
    transition: theme.transitions.create([
      "color",
      "padding-top"
    ], {
      duration: theme.transitions.duration.short
    }),
    padding: "0px 12px",
    minWidth: 80,
    maxWidth: 168,
    color: (theme.vars || theme).palette.text.secondary,
    flexDirection: "column",
    flex: "1",
    [`&.${bottomNavigationActionClasses.selected}`]: {
      color: (theme.vars || theme).palette.primary.main
    },
    variants: [
      {
        props: ({ showLabel, selected }) => !showLabel && !selected,
        style: {
          paddingTop: 14
        }
      },
      {
        props: ({ showLabel, selected, label }) => !showLabel && !selected && !label,
        style: {
          paddingTop: 0
        }
      }
    ]
  })));
  const BottomNavigationActionLabel = styled("span", {
    name: "MuiBottomNavigationAction",
    slot: "Label",
    overridesResolver: (props, styles2) => styles2.label
  })(memoTheme(({ theme }) => ({
    fontFamily: theme.typography.fontFamily,
    fontSize: theme.typography.pxToRem(12),
    opacity: 1,
    transition: "font-size 0.2s, opacity 0.2s",
    transitionDelay: "0.1s",
    [`&.${bottomNavigationActionClasses.selected}`]: {
      fontSize: theme.typography.pxToRem(14)
    },
    variants: [
      {
        props: ({ showLabel, selected }) => !showLabel && !selected,
        style: {
          opacity: 0,
          transitionDelay: "0s"
        }
      }
    ]
  })));
  BottomNavigationAction = __mf_14(function BottomNavigationAction2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiBottomNavigationAction"
    });
    const { className, icon, label, onChange, onClick, selected, showLabel, value, slots = {}, slotProps = {}, ...other } = props;
    const ownerState = props;
    const classes = useUtilityClasses$V(ownerState);
    const handleChange = (event) => {
      if (onChange) {
        onChange(event, value);
      }
      if (onClick) {
        onClick(event);
      }
    };
    const externalForwardedProps = {
      slots,
      slotProps
    };
    const [RootSlot, rootProps] = useSlot("root", {
      elementType: BottomNavigationActionRoot,
      externalForwardedProps: {
        ...externalForwardedProps,
        ...other
      },
      shouldForwardComponentProp: true,
      ownerState,
      ref,
      className: clsx(classes.root, className),
      additionalProps: {
        focusRipple: true
      },
      getSlotProps: (handlers) => ({
        ...handlers,
        onClick: (event) => {
          var _a;
          (_a = handlers.onClick) == null ? void 0 : _a.call(handlers, event);
          handleChange(event);
        }
      })
    });
    const [LabelSlot, labelProps] = useSlot("label", {
      elementType: BottomNavigationActionLabel,
      externalForwardedProps,
      ownerState,
      className: classes.label
    });
    return jsxRuntimeExports.jsxs(RootSlot, {
      ...rootProps,
      children: [
        icon,
        jsxRuntimeExports.jsx(LabelSlot, {
          ...labelProps,
          children: label
        })
      ]
    });
  });
  const MoreHorizIcon = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"
  }), "MoreHoriz");
  const BreadcrumbCollapsedButton = styled(ButtonBase, {
    name: "MuiBreadcrumbCollapsed"
  })(memoTheme(({ theme }) => ({
    display: "flex",
    marginLeft: `calc(${theme.spacing(1)} * 0.5)`,
    marginRight: `calc(${theme.spacing(1)} * 0.5)`,
    ...theme.palette.mode === "light" ? {
      backgroundColor: theme.palette.grey[100],
      color: theme.palette.grey[700]
    } : {
      backgroundColor: theme.palette.grey[700],
      color: theme.palette.grey[100]
    },
    borderRadius: 2,
    "&:hover, &:focus": {
      ...theme.palette.mode === "light" ? {
        backgroundColor: theme.palette.grey[200]
      } : {
        backgroundColor: theme.palette.grey[600]
      }
    },
    "&:active": {
      boxShadow: theme.shadows[0],
      ...theme.palette.mode === "light" ? {
        backgroundColor: emphasize(theme.palette.grey[200], 0.12)
      } : {
        backgroundColor: emphasize(theme.palette.grey[600], 0.12)
      }
    }
  })));
  const BreadcrumbCollapsedIcon = styled(MoreHorizIcon)({
    width: 24,
    height: 16
  });
  function BreadcrumbCollapsed(props) {
    const { slots = {}, slotProps = {}, ...otherProps } = props;
    const ownerState = props;
    return jsxRuntimeExports.jsx("li", {
      children: jsxRuntimeExports.jsx(BreadcrumbCollapsedButton, {
        focusRipple: true,
        ...otherProps,
        ownerState,
        children: jsxRuntimeExports.jsx(BreadcrumbCollapsedIcon, {
          as: slots.CollapsedIcon,
          ownerState,
          ...slotProps.collapsedIcon
        })
      })
    });
  }
  getBreadcrumbsUtilityClass = function(slot) {
    return generateUtilityClass("MuiBreadcrumbs", slot);
  };
  breadcrumbsClasses = generateUtilityClasses("MuiBreadcrumbs", [
    "root",
    "ol",
    "li",
    "separator"
  ]);
  const useUtilityClasses$U = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ],
      li: [
        "li"
      ],
      ol: [
        "ol"
      ],
      separator: [
        "separator"
      ]
    };
    return composeClasses(slots, getBreadcrumbsUtilityClass, classes);
  };
  const BreadcrumbsRoot = styled(Typography, {
    name: "MuiBreadcrumbs",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      return [
        {
          [`& .${breadcrumbsClasses.li}`]: styles2.li
        },
        styles2.root
      ];
    }
  })({});
  const BreadcrumbsOl = styled("ol", {
    name: "MuiBreadcrumbs",
    slot: "Ol",
    overridesResolver: (props, styles2) => styles2.ol
  })({
    display: "flex",
    flexWrap: "wrap",
    alignItems: "center",
    padding: 0,
    margin: 0,
    listStyle: "none"
  });
  const BreadcrumbsSeparator = styled("li", {
    name: "MuiBreadcrumbs",
    slot: "Separator",
    overridesResolver: (props, styles2) => styles2.separator
  })({
    display: "flex",
    userSelect: "none",
    marginLeft: 8,
    marginRight: 8
  });
  function insertSeparators(items, className, separator, ownerState) {
    return items.reduce((acc, current, index2) => {
      if (index2 < items.length - 1) {
        acc = acc.concat(current, jsxRuntimeExports.jsx(BreadcrumbsSeparator, {
          "aria-hidden": true,
          className,
          ownerState,
          children: separator
        }, `separator-${index2}`));
      } else {
        acc.push(current);
      }
      return acc;
    }, []);
  }
  Breadcrumbs = __mf_14(function Breadcrumbs2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiBreadcrumbs"
    });
    const { children, className, component = "nav", slots = {}, slotProps = {}, expandText = "Show path", itemsAfterCollapse = 1, itemsBeforeCollapse = 1, maxItems = 8, separator = "/", ...other } = props;
    const [expanded, setExpanded] = __mf_32(false);
    const ownerState = {
      ...props,
      component,
      expanded,
      expandText,
      itemsAfterCollapse,
      itemsBeforeCollapse,
      maxItems,
      separator
    };
    const classes = useUtilityClasses$U(ownerState);
    const collapsedIconSlotProps = useSlotProps({
      elementType: slots.CollapsedIcon,
      externalSlotProps: slotProps.collapsedIcon,
      ownerState
    });
    const listRef = __mf_31(null);
    const renderItemsBeforeAndAfter = (allItems2) => {
      const handleClickExpand = () => {
        setExpanded(true);
        const focusable = listRef.current.querySelector("a[href],button,[tabindex]");
        if (focusable) {
          focusable.focus();
        }
      };
      if (itemsBeforeCollapse + itemsAfterCollapse >= allItems2.length) {
        return allItems2;
      }
      return [
        ...allItems2.slice(0, itemsBeforeCollapse),
        jsxRuntimeExports.jsx(BreadcrumbCollapsed, {
          "aria-label": expandText,
          slots: {
            CollapsedIcon: slots.CollapsedIcon
          },
          slotProps: {
            collapsedIcon: collapsedIconSlotProps
          },
          onClick: handleClickExpand
        }, "ellipsis"),
        ...allItems2.slice(allItems2.length - itemsAfterCollapse, allItems2.length)
      ];
    };
    const allItems = __mf_0.toArray(children).filter((child) => {
      return __mf_15(child);
    }).map((child, index2) => jsxRuntimeExports.jsx("li", {
      className: classes.li,
      children: child
    }, `child-${index2}`));
    return jsxRuntimeExports.jsx(BreadcrumbsRoot, {
      ref,
      component,
      color: "textSecondary",
      className: clsx(classes.root, className),
      ownerState,
      ...other,
      children: jsxRuntimeExports.jsx(BreadcrumbsOl, {
        className: classes.ol,
        ref: listRef,
        ownerState,
        children: insertSeparators(expanded || maxItems && allItems.length <= maxItems ? allItems : renderItemsBeforeAndAfter(allItems), classes.separator, separator, ownerState)
      })
    });
  });
  getButtonGroupUtilityClass = function(slot) {
    return generateUtilityClass("MuiButtonGroup", slot);
  };
  buttonGroupClasses = generateUtilityClasses("MuiButtonGroup", [
    "root",
    "contained",
    "outlined",
    "text",
    "disableElevation",
    "disabled",
    "firstButton",
    "fullWidth",
    "horizontal",
    "vertical",
    "colorPrimary",
    "colorSecondary",
    "grouped",
    "groupedHorizontal",
    "groupedVertical",
    "groupedText",
    "groupedTextHorizontal",
    "groupedTextVertical",
    "groupedTextPrimary",
    "groupedTextSecondary",
    "groupedOutlined",
    "groupedOutlinedHorizontal",
    "groupedOutlinedVertical",
    "groupedOutlinedPrimary",
    "groupedOutlinedSecondary",
    "groupedContained",
    "groupedContainedHorizontal",
    "groupedContainedVertical",
    "groupedContainedPrimary",
    "groupedContainedSecondary",
    "lastButton",
    "middleButton"
  ]);
  const overridesResolver$2 = (props, styles2) => {
    const { ownerState } = props;
    return [
      {
        [`& .${buttonGroupClasses.grouped}`]: styles2.grouped
      },
      {
        [`& .${buttonGroupClasses.grouped}`]: styles2[`grouped${capitalize(ownerState.orientation)}`]
      },
      {
        [`& .${buttonGroupClasses.grouped}`]: styles2[`grouped${capitalize(ownerState.variant)}`]
      },
      {
        [`& .${buttonGroupClasses.grouped}`]: styles2[`grouped${capitalize(ownerState.variant)}${capitalize(ownerState.orientation)}`]
      },
      {
        [`& .${buttonGroupClasses.grouped}`]: styles2[`grouped${capitalize(ownerState.variant)}${capitalize(ownerState.color)}`]
      },
      {
        [`& .${buttonGroupClasses.firstButton}`]: styles2.firstButton
      },
      {
        [`& .${buttonGroupClasses.lastButton}`]: styles2.lastButton
      },
      {
        [`& .${buttonGroupClasses.middleButton}`]: styles2.middleButton
      },
      styles2.root,
      styles2[ownerState.variant],
      ownerState.disableElevation === true && styles2.disableElevation,
      ownerState.fullWidth && styles2.fullWidth,
      ownerState.orientation === "vertical" && styles2.vertical
    ];
  };
  const useUtilityClasses$T = (ownerState) => {
    const { classes, color, disabled, disableElevation, fullWidth, orientation, variant } = ownerState;
    const slots = {
      root: [
        "root",
        variant,
        orientation,
        fullWidth && "fullWidth",
        disableElevation && "disableElevation",
        `color${capitalize(color)}`
      ],
      grouped: [
        "grouped",
        `grouped${capitalize(orientation)}`,
        `grouped${capitalize(variant)}`,
        `grouped${capitalize(variant)}${capitalize(orientation)}`,
        `grouped${capitalize(variant)}${capitalize(color)}`,
        disabled && "disabled"
      ],
      firstButton: [
        "firstButton"
      ],
      lastButton: [
        "lastButton"
      ],
      middleButton: [
        "middleButton"
      ]
    };
    return composeClasses(slots, getButtonGroupUtilityClass, classes);
  };
  const ButtonGroupRoot = styled("div", {
    name: "MuiButtonGroup",
    slot: "Root",
    overridesResolver: overridesResolver$2
  })(memoTheme(({ theme }) => ({
    display: "inline-flex",
    borderRadius: (theme.vars || theme).shape.borderRadius,
    variants: [
      {
        props: {
          variant: "contained"
        },
        style: {
          boxShadow: (theme.vars || theme).shadows[2]
        }
      },
      {
        props: {
          disableElevation: true
        },
        style: {
          boxShadow: "none"
        }
      },
      {
        props: {
          fullWidth: true
        },
        style: {
          width: "100%"
        }
      },
      {
        props: {
          orientation: "vertical"
        },
        style: {
          flexDirection: "column",
          [`& .${buttonGroupClasses.lastButton},& .${buttonGroupClasses.middleButton}`]: {
            borderTopRightRadius: 0,
            borderTopLeftRadius: 0
          },
          [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {
            borderBottomRightRadius: 0,
            borderBottomLeftRadius: 0
          }
        }
      },
      {
        props: {
          orientation: "horizontal"
        },
        style: {
          [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {
            borderTopRightRadius: 0,
            borderBottomRightRadius: 0
          },
          [`& .${buttonGroupClasses.lastButton},& .${buttonGroupClasses.middleButton}`]: {
            borderTopLeftRadius: 0,
            borderBottomLeftRadius: 0
          }
        }
      },
      {
        props: {
          variant: "text",
          orientation: "horizontal"
        },
        style: {
          [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {
            borderRight: theme.vars ? `1px solid rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : `1px solid ${theme.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)"}`,
            [`&.${buttonGroupClasses.disabled}`]: {
              borderRight: `1px solid ${(theme.vars || theme).palette.action.disabled}`
            }
          }
        }
      },
      {
        props: {
          variant: "text",
          orientation: "vertical"
        },
        style: {
          [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {
            borderBottom: theme.vars ? `1px solid rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : `1px solid ${theme.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)"}`,
            [`&.${buttonGroupClasses.disabled}`]: {
              borderBottom: `1px solid ${(theme.vars || theme).palette.action.disabled}`
            }
          }
        }
      },
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).flatMap(([color]) => [
        {
          props: {
            variant: "text",
            color
          },
          style: {
            [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {
              borderColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / 0.5)` : alpha(theme.palette[color].main, 0.5)
            }
          }
        }
      ]),
      {
        props: {
          variant: "outlined",
          orientation: "horizontal"
        },
        style: {
          [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {
            borderRightColor: "transparent",
            "&:hover": {
              borderRightColor: "currentColor"
            }
          },
          [`& .${buttonGroupClasses.lastButton},& .${buttonGroupClasses.middleButton}`]: {
            marginLeft: -1
          }
        }
      },
      {
        props: {
          variant: "outlined",
          orientation: "vertical"
        },
        style: {
          [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {
            borderBottomColor: "transparent",
            "&:hover": {
              borderBottomColor: "currentColor"
            }
          },
          [`& .${buttonGroupClasses.lastButton},& .${buttonGroupClasses.middleButton}`]: {
            marginTop: -1
          }
        }
      },
      {
        props: {
          variant: "contained",
          orientation: "horizontal"
        },
        style: {
          [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {
            borderRight: `1px solid ${(theme.vars || theme).palette.grey[400]}`,
            [`&.${buttonGroupClasses.disabled}`]: {
              borderRight: `1px solid ${(theme.vars || theme).palette.action.disabled}`
            }
          }
        }
      },
      {
        props: {
          variant: "contained",
          orientation: "vertical"
        },
        style: {
          [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {
            borderBottom: `1px solid ${(theme.vars || theme).palette.grey[400]}`,
            [`&.${buttonGroupClasses.disabled}`]: {
              borderBottom: `1px solid ${(theme.vars || theme).palette.action.disabled}`
            }
          }
        }
      },
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter([
        "dark"
      ])).map(([color]) => ({
        props: {
          variant: "contained",
          color
        },
        style: {
          [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {
            borderColor: (theme.vars || theme).palette[color].dark
          }
        }
      }))
    ],
    [`& .${buttonGroupClasses.grouped}`]: {
      minWidth: 40,
      boxShadow: "none",
      props: {
        variant: "contained"
      },
      style: {
        "&:hover": {
          boxShadow: "none"
        }
      }
    }
  })));
  ButtonGroup = __mf_14(function ButtonGroup2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiButtonGroup"
    });
    const { children, className, color = "primary", component = "div", disabled = false, disableElevation = false, disableFocusRipple = false, disableRipple = false, fullWidth = false, orientation = "horizontal", size = "medium", variant = "outlined", ...other } = props;
    const ownerState = {
      ...props,
      color,
      component,
      disabled,
      disableElevation,
      disableFocusRipple,
      disableRipple,
      fullWidth,
      orientation,
      size,
      variant
    };
    const classes = useUtilityClasses$T(ownerState);
    const context = __mf_29(() => ({
      className: classes.grouped,
      color,
      disabled,
      disableElevation,
      disableFocusRipple,
      disableRipple,
      fullWidth,
      size,
      variant
    }), [
      color,
      disabled,
      disableElevation,
      disableFocusRipple,
      disableRipple,
      fullWidth,
      size,
      variant,
      classes.grouped
    ]);
    const validChildren = getValidReactChildren(children);
    const childrenCount = validChildren.length;
    const getButtonPositionClassName = (index2) => {
      const isFirstButton = index2 === 0;
      const isLastButton = index2 === childrenCount - 1;
      if (isFirstButton && isLastButton) {
        return "";
      }
      if (isFirstButton) {
        return classes.firstButton;
      }
      if (isLastButton) {
        return classes.lastButton;
      }
      return classes.middleButton;
    };
    return jsxRuntimeExports.jsx(ButtonGroupRoot, {
      as: component,
      role: "group",
      className: clsx(classes.root, className),
      ref,
      ownerState,
      ...other,
      children: jsxRuntimeExports.jsx(ButtonGroupContext.Provider, {
        value: context,
        children: validChildren.map((child, index2) => {
          return jsxRuntimeExports.jsx(ButtonGroupButtonContext.Provider, {
            value: getButtonPositionClassName(index2),
            children: child
          }, index2);
        })
      })
    });
  });
  getCardActionAreaUtilityClass = function(slot) {
    return generateUtilityClass("MuiCardActionArea", slot);
  };
  cardActionAreaClasses = generateUtilityClasses("MuiCardActionArea", [
    "root",
    "focusVisible",
    "focusHighlight"
  ]);
  const useUtilityClasses$S = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ],
      focusHighlight: [
        "focusHighlight"
      ]
    };
    return composeClasses(slots, getCardActionAreaUtilityClass, classes);
  };
  const CardActionAreaRoot = styled(ButtonBase, {
    name: "MuiCardActionArea",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })(memoTheme(({ theme }) => ({
    display: "block",
    textAlign: "inherit",
    borderRadius: "inherit",
    width: "100%",
    [`&:hover .${cardActionAreaClasses.focusHighlight}`]: {
      opacity: (theme.vars || theme).palette.action.hoverOpacity,
      "@media (hover: none)": {
        opacity: 0
      }
    },
    [`&.${cardActionAreaClasses.focusVisible} .${cardActionAreaClasses.focusHighlight}`]: {
      opacity: (theme.vars || theme).palette.action.focusOpacity
    }
  })));
  const CardActionAreaFocusHighlight = styled("span", {
    name: "MuiCardActionArea",
    slot: "FocusHighlight",
    overridesResolver: (props, styles2) => styles2.focusHighlight
  })(memoTheme(({ theme }) => ({
    overflow: "hidden",
    pointerEvents: "none",
    position: "absolute",
    top: 0,
    right: 0,
    bottom: 0,
    left: 0,
    borderRadius: "inherit",
    opacity: 0,
    backgroundColor: "currentcolor",
    transition: theme.transitions.create("opacity", {
      duration: theme.transitions.duration.short
    })
  })));
  CardActionArea = __mf_14(function CardActionArea2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiCardActionArea"
    });
    const { children, className, focusVisibleClassName, slots = {}, slotProps = {}, ...other } = props;
    const ownerState = props;
    const classes = useUtilityClasses$S(ownerState);
    const externalForwardedProps = {
      slots,
      slotProps
    };
    const [RootSlot, rootProps] = useSlot("root", {
      elementType: CardActionAreaRoot,
      externalForwardedProps: {
        ...externalForwardedProps,
        ...other
      },
      shouldForwardComponentProp: true,
      ownerState,
      ref,
      className: clsx(classes.root, className),
      additionalProps: {
        focusVisibleClassName: clsx(focusVisibleClassName, classes.focusVisible)
      }
    });
    const [FocusHighlightSlot, focusHighlightProps] = useSlot("focusHighlight", {
      elementType: CardActionAreaFocusHighlight,
      externalForwardedProps,
      ownerState,
      ref,
      className: classes.focusHighlight
    });
    return jsxRuntimeExports.jsxs(RootSlot, {
      ...rootProps,
      children: [
        children,
        jsxRuntimeExports.jsx(FocusHighlightSlot, {
          ...focusHighlightProps
        })
      ]
    });
  });
  getCardActionsUtilityClass = function(slot) {
    return generateUtilityClass("MuiCardActions", slot);
  };
  cardActionsClasses = generateUtilityClasses("MuiCardActions", [
    "root",
    "spacing"
  ]);
  const useUtilityClasses$R = (ownerState) => {
    const { classes, disableSpacing } = ownerState;
    const slots = {
      root: [
        "root",
        !disableSpacing && "spacing"
      ]
    };
    return composeClasses(slots, getCardActionsUtilityClass, classes);
  };
  const CardActionsRoot = styled("div", {
    name: "MuiCardActions",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        !ownerState.disableSpacing && styles2.spacing
      ];
    }
  })({
    display: "flex",
    alignItems: "center",
    padding: 8,
    variants: [
      {
        props: {
          disableSpacing: false
        },
        style: {
          "& > :not(style) ~ :not(style)": {
            marginLeft: 8
          }
        }
      }
    ]
  });
  CardActions = __mf_14(function CardActions2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiCardActions"
    });
    const { disableSpacing = false, className, ...other } = props;
    const ownerState = {
      ...props,
      disableSpacing
    };
    const classes = useUtilityClasses$R(ownerState);
    return jsxRuntimeExports.jsx(CardActionsRoot, {
      className: clsx(classes.root, className),
      ownerState,
      ref,
      ...other
    });
  });
  getCardMediaUtilityClass = function(slot) {
    return generateUtilityClass("MuiCardMedia", slot);
  };
  cardMediaClasses = generateUtilityClasses("MuiCardMedia", [
    "root",
    "media",
    "img"
  ]);
  const useUtilityClasses$Q = (ownerState) => {
    const { classes, isMediaComponent, isImageComponent } = ownerState;
    const slots = {
      root: [
        "root",
        isMediaComponent && "media",
        isImageComponent && "img"
      ]
    };
    return composeClasses(slots, getCardMediaUtilityClass, classes);
  };
  const CardMediaRoot = styled("div", {
    name: "MuiCardMedia",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      const { isMediaComponent, isImageComponent } = ownerState;
      return [
        styles2.root,
        isMediaComponent && styles2.media,
        isImageComponent && styles2.img
      ];
    }
  })({
    display: "block",
    backgroundSize: "cover",
    backgroundRepeat: "no-repeat",
    backgroundPosition: "center",
    variants: [
      {
        props: {
          isMediaComponent: true
        },
        style: {
          width: "100%"
        }
      },
      {
        props: {
          isImageComponent: true
        },
        style: {
          objectFit: "cover"
        }
      }
    ]
  });
  const MEDIA_COMPONENTS = [
    "video",
    "audio",
    "picture",
    "iframe",
    "img"
  ];
  const IMAGE_COMPONENTS = [
    "picture",
    "img"
  ];
  CardMedia = __mf_14(function CardMedia2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiCardMedia"
    });
    const { children, className, component = "div", image, src, style, ...other } = props;
    const isMediaComponent = MEDIA_COMPONENTS.includes(component);
    const composedStyle = !isMediaComponent && image ? {
      backgroundImage: `url("${image}")`,
      ...style
    } : style;
    const ownerState = {
      ...props,
      component,
      isMediaComponent,
      isImageComponent: IMAGE_COMPONENTS.includes(component)
    };
    const classes = useUtilityClasses$Q(ownerState);
    return jsxRuntimeExports.jsx(CardMediaRoot, {
      className: clsx(classes.root, className),
      as: component,
      role: !isMediaComponent && image ? "img" : void 0,
      ref,
      style: composedStyle,
      ownerState,
      src: isMediaComponent ? image || src : void 0,
      ...other,
      children
    });
  });
  function getSwitchBaseUtilityClass(slot) {
    return generateUtilityClass("PrivateSwitchBase", slot);
  }
  generateUtilityClasses("PrivateSwitchBase", [
    "root",
    "checked",
    "disabled",
    "input",
    "edgeStart",
    "edgeEnd"
  ]);
  const useUtilityClasses$P = (ownerState) => {
    const { classes, checked, disabled, edge } = ownerState;
    const slots = {
      root: [
        "root",
        checked && "checked",
        disabled && "disabled",
        edge && `edge${capitalize(edge)}`
      ],
      input: [
        "input"
      ]
    };
    return composeClasses(slots, getSwitchBaseUtilityClass, classes);
  };
  const SwitchBaseRoot = styled(ButtonBase, {
    name: "MuiSwitchBase"
  })({
    padding: 9,
    borderRadius: "50%",
    variants: [
      {
        props: {
          edge: "start",
          size: "small"
        },
        style: {
          marginLeft: -3
        }
      },
      {
        props: ({ edge, ownerState }) => edge === "start" && ownerState.size !== "small",
        style: {
          marginLeft: -12
        }
      },
      {
        props: {
          edge: "end",
          size: "small"
        },
        style: {
          marginRight: -3
        }
      },
      {
        props: ({ edge, ownerState }) => edge === "end" && ownerState.size !== "small",
        style: {
          marginRight: -12
        }
      }
    ]
  });
  const SwitchBaseInput = styled("input", {
    name: "MuiSwitchBase",
    shouldForwardProp: rootShouldForwardProp
  })({
    cursor: "inherit",
    position: "absolute",
    opacity: 0,
    width: "100%",
    height: "100%",
    top: 0,
    left: 0,
    margin: 0,
    padding: 0,
    zIndex: 1
  });
  const SwitchBase = __mf_14(function SwitchBase2(props, ref) {
    const { autoFocus, checked: checkedProp, checkedIcon, defaultChecked, disabled: disabledProp, disableFocusRipple = false, edge = false, icon, id, inputProps, inputRef, name, onBlur, onChange, onFocus, readOnly, required = false, tabIndex, type, value, slots = {}, slotProps = {}, ...other } = props;
    const [checked, setCheckedState] = useControlled({
      controlled: checkedProp,
      default: Boolean(defaultChecked),
      name: "SwitchBase",
      state: "checked"
    });
    const muiFormControl = useFormControl();
    const handleFocus = (event) => {
      if (onFocus) {
        onFocus(event);
      }
      if (muiFormControl && muiFormControl.onFocus) {
        muiFormControl.onFocus(event);
      }
    };
    const handleBlur = (event) => {
      if (onBlur) {
        onBlur(event);
      }
      if (muiFormControl && muiFormControl.onBlur) {
        muiFormControl.onBlur(event);
      }
    };
    const handleInputChange = (event) => {
      if (event.nativeEvent.defaultPrevented) {
        return;
      }
      const newChecked = event.target.checked;
      setCheckedState(newChecked);
      if (onChange) {
        onChange(event, newChecked);
      }
    };
    let disabled = disabledProp;
    if (muiFormControl) {
      if (typeof disabled === "undefined") {
        disabled = muiFormControl.disabled;
      }
    }
    const hasLabelFor = type === "checkbox" || type === "radio";
    const ownerState = {
      ...props,
      checked,
      disabled,
      disableFocusRipple,
      edge
    };
    const classes = useUtilityClasses$P(ownerState);
    const externalForwardedProps = {
      slots,
      slotProps: {
        input: inputProps,
        ...slotProps
      }
    };
    const [RootSlot, rootSlotProps] = useSlot("root", {
      ref,
      elementType: SwitchBaseRoot,
      className: classes.root,
      shouldForwardComponentProp: true,
      externalForwardedProps: {
        ...externalForwardedProps,
        component: "span",
        ...other
      },
      getSlotProps: (handlers) => ({
        ...handlers,
        onFocus: (event) => {
          var _a;
          (_a = handlers.onFocus) == null ? void 0 : _a.call(handlers, event);
          handleFocus(event);
        },
        onBlur: (event) => {
          var _a;
          (_a = handlers.onBlur) == null ? void 0 : _a.call(handlers, event);
          handleBlur(event);
        }
      }),
      ownerState,
      additionalProps: {
        centerRipple: true,
        focusRipple: !disableFocusRipple,
        disabled,
        role: void 0,
        tabIndex: null
      }
    });
    const [InputSlot, inputSlotProps] = useSlot("input", {
      ref: inputRef,
      elementType: SwitchBaseInput,
      className: classes.input,
      externalForwardedProps,
      getSlotProps: (handlers) => ({
        onChange: (event) => {
          var _a;
          (_a = handlers.onChange) == null ? void 0 : _a.call(handlers, event);
          handleInputChange(event);
        }
      }),
      ownerState,
      additionalProps: {
        autoFocus,
        checked: checkedProp,
        defaultChecked,
        disabled,
        id: hasLabelFor ? id : void 0,
        name,
        readOnly,
        required,
        tabIndex,
        type,
        ...type === "checkbox" && value === void 0 ? {} : {
          value
        }
      }
    });
    return jsxRuntimeExports.jsxs(RootSlot, {
      ...rootSlotProps,
      children: [
        jsxRuntimeExports.jsx(InputSlot, {
          ...inputSlotProps
        }),
        checked ? checkedIcon : icon
      ]
    });
  });
  const CheckBoxOutlineBlankIcon = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"
  }), "CheckBoxOutlineBlank");
  const CheckBoxIcon = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
  }), "CheckBox");
  const IndeterminateCheckBoxIcon = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"
  }), "IndeterminateCheckBox");
  getCheckboxUtilityClass = function(slot) {
    return generateUtilityClass("MuiCheckbox", slot);
  };
  checkboxClasses = generateUtilityClasses("MuiCheckbox", [
    "root",
    "checked",
    "disabled",
    "indeterminate",
    "colorPrimary",
    "colorSecondary",
    "sizeSmall",
    "sizeMedium"
  ]);
  const useUtilityClasses$O = (ownerState) => {
    const { classes, indeterminate, color, size } = ownerState;
    const slots = {
      root: [
        "root",
        indeterminate && "indeterminate",
        `color${capitalize(color)}`,
        `size${capitalize(size)}`
      ]
    };
    const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);
    return {
      ...classes,
      ...composedClasses
    };
  };
  const CheckboxRoot = styled(SwitchBase, {
    shouldForwardProp: (prop) => rootShouldForwardProp(prop) || prop === "classes",
    name: "MuiCheckbox",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        ownerState.indeterminate && styles2.indeterminate,
        styles2[`size${capitalize(ownerState.size)}`],
        ownerState.color !== "default" && styles2[`color${capitalize(ownerState.color)}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    color: (theme.vars || theme).palette.text.secondary,
    variants: [
      {
        props: {
          color: "default",
          disableRipple: false
        },
        style: {
          "&:hover": {
            backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity)
          }
        }
      },
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
        props: {
          color,
          disableRipple: false
        },
        style: {
          "&:hover": {
            backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[color].main, theme.palette.action.hoverOpacity)
          }
        }
      })),
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
        props: {
          color
        },
        style: {
          [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {
            color: (theme.vars || theme).palette[color].main
          },
          [`&.${checkboxClasses.disabled}`]: {
            color: (theme.vars || theme).palette.action.disabled
          }
        }
      })),
      {
        props: {
          disableRipple: false
        },
        style: {
          "&:hover": {
            "@media (hover: none)": {
              backgroundColor: "transparent"
            }
          }
        }
      }
    ]
  })));
  const defaultCheckedIcon$1 = jsxRuntimeExports.jsx(CheckBoxIcon, {});
  const defaultIcon$2 = jsxRuntimeExports.jsx(CheckBoxOutlineBlankIcon, {});
  const defaultIndeterminateIcon = jsxRuntimeExports.jsx(IndeterminateCheckBoxIcon, {});
  Checkbox = __mf_14(function Checkbox2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiCheckbox"
    });
    const { checkedIcon = defaultCheckedIcon$1, color = "primary", icon: iconProp = defaultIcon$2, indeterminate = false, indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon, inputProps, size = "medium", disableRipple = false, className, slots = {}, slotProps = {}, ...other } = props;
    const icon = indeterminate ? indeterminateIconProp : iconProp;
    const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;
    const ownerState = {
      ...props,
      disableRipple,
      color,
      indeterminate,
      size
    };
    const classes = useUtilityClasses$O(ownerState);
    const externalInputProps = slotProps.input ?? inputProps;
    const [RootSlot, rootSlotProps] = useSlot("root", {
      ref,
      elementType: CheckboxRoot,
      className: clsx(classes.root, className),
      shouldForwardComponentProp: true,
      externalForwardedProps: {
        slots,
        slotProps,
        ...other
      },
      ownerState,
      additionalProps: {
        type: "checkbox",
        icon: __mf_9(icon, {
          fontSize: icon.props.fontSize ?? size
        }),
        checkedIcon: __mf_9(indeterminateIcon, {
          fontSize: indeterminateIcon.props.fontSize ?? size
        }),
        disableRipple,
        slots,
        slotProps: {
          input: mergeSlotProps(typeof externalInputProps === "function" ? externalInputProps(ownerState) : externalInputProps, {
            "data-indeterminate": indeterminate
          })
        }
      }
    });
    return jsxRuntimeExports.jsx(RootSlot, {
      ...rootSlotProps,
      classes
    });
  });
  function mapEventPropToEvent(eventProp) {
    return eventProp.substring(2).toLowerCase();
  }
  function clickedRootScrollbar(event, doc) {
    return doc.documentElement.clientWidth < event.clientX || doc.documentElement.clientHeight < event.clientY;
  }
  ClickAwayListener = function(props) {
    const { children, disableReactTree = false, mouseEvent = "onClick", onClickAway, touchEvent = "onTouchEnd" } = props;
    const movedRef = __mf_31(false);
    const nodeRef = __mf_31(null);
    const activatedRef = __mf_31(false);
    const syntheticEventRef = __mf_31(false);
    __mf_24(() => {
      setTimeout(() => {
        activatedRef.current = true;
      }, 0);
      return () => {
        activatedRef.current = false;
      };
    }, []);
    const handleRef = useForkRef(getReactElementRef(children), nodeRef);
    const handleClickAway = useEventCallback((event) => {
      const insideReactTree = syntheticEventRef.current;
      syntheticEventRef.current = false;
      const doc = ownerDocument(nodeRef.current);
      if (!activatedRef.current || !nodeRef.current || "clientX" in event && clickedRootScrollbar(event, doc)) {
        return;
      }
      if (movedRef.current) {
        movedRef.current = false;
        return;
      }
      let insideDOM;
      if (event.composedPath) {
        insideDOM = event.composedPath().includes(nodeRef.current);
      } else {
        insideDOM = !doc.documentElement.contains(event.target) || nodeRef.current.contains(event.target);
      }
      if (!insideDOM && (disableReactTree || !insideReactTree)) {
        onClickAway(event);
      }
    });
    const createHandleSynthetic = (handlerName) => (event) => {
      syntheticEventRef.current = true;
      const childrenPropsHandler = children.props[handlerName];
      if (childrenPropsHandler) {
        childrenPropsHandler(event);
      }
    };
    const childrenProps = {
      ref: handleRef
    };
    if (touchEvent !== false) {
      childrenProps[touchEvent] = createHandleSynthetic(touchEvent);
    }
    __mf_24(() => {
      if (touchEvent !== false) {
        const mappedTouchEvent = mapEventPropToEvent(touchEvent);
        const doc = ownerDocument(nodeRef.current);
        const handleTouchMove = () => {
          movedRef.current = true;
        };
        doc.addEventListener(mappedTouchEvent, handleClickAway);
        doc.addEventListener("touchmove", handleTouchMove);
        return () => {
          doc.removeEventListener(mappedTouchEvent, handleClickAway);
          doc.removeEventListener("touchmove", handleTouchMove);
        };
      }
      return void 0;
    }, [
      handleClickAway,
      touchEvent
    ]);
    if (mouseEvent !== false) {
      childrenProps[mouseEvent] = createHandleSynthetic(mouseEvent);
    }
    __mf_24(() => {
      if (mouseEvent !== false) {
        const mappedMouseEvent = mapEventPropToEvent(mouseEvent);
        const doc = ownerDocument(nodeRef.current);
        doc.addEventListener(mappedMouseEvent, handleClickAway);
        return () => {
          doc.removeEventListener(mappedMouseEvent, handleClickAway);
        };
      }
      return void 0;
    }, [
      handleClickAway,
      mouseEvent
    ]);
    return __mf_9(children, childrenProps);
  };
  Container = __mf_13({
    createStyledComponent: styled("div", {
      name: "MuiContainer",
      slot: "Root",
      overridesResolver: (props, styles2) => {
        const { ownerState } = props;
        return [
          styles2.root,
          styles2[`maxWidth${capitalize(String(ownerState.maxWidth))}`],
          ownerState.fixed && styles2.fixed,
          ownerState.disableGutters && styles2.disableGutters
        ];
      }
    }),
    useThemeProps: (inProps) => useDefaultProps({
      props: inProps,
      name: "MuiContainer"
    })
  });
  getContainerUtilityClass = function(slot) {
    return generateUtilityClass("MuiContainer", slot);
  };
  containerClasses = generateUtilityClasses("MuiContainer", [
    "root",
    "disableGutters",
    "fixed",
    "maxWidthXs",
    "maxWidthSm",
    "maxWidthMd",
    "maxWidthLg",
    "maxWidthXl"
  ]);
  const isDynamicSupport = typeof globalCss({}) === "function";
  const html = (theme, enableColorScheme) => ({
    WebkitFontSmoothing: "antialiased",
    MozOsxFontSmoothing: "grayscale",
    boxSizing: "border-box",
    WebkitTextSizeAdjust: "100%",
    ...enableColorScheme && !theme.vars && {
      colorScheme: theme.palette.mode
    }
  });
  const body = (theme) => ({
    color: (theme.vars || theme).palette.text.primary,
    ...theme.typography.body1,
    backgroundColor: (theme.vars || theme).palette.background.default,
    "@media print": {
      backgroundColor: (theme.vars || theme).palette.common.white
    }
  });
  const styles$1 = (theme, enableColorScheme = false) => {
    var _a, _b;
    const colorSchemeStyles = {};
    if (enableColorScheme && theme.colorSchemes && typeof theme.getColorSchemeSelector === "function") {
      Object.entries(theme.colorSchemes).forEach(([key, scheme]) => {
        var _a2, _b2;
        const selector = theme.getColorSchemeSelector(key);
        if (selector.startsWith("@")) {
          colorSchemeStyles[selector] = {
            ":root": {
              colorScheme: (_a2 = scheme.palette) == null ? void 0 : _a2.mode
            }
          };
        } else {
          colorSchemeStyles[selector.replace(/\s*&/, "")] = {
            colorScheme: (_b2 = scheme.palette) == null ? void 0 : _b2.mode
          };
        }
      });
    }
    let defaultStyles = {
      html: html(theme, enableColorScheme),
      "*, *::before, *::after": {
        boxSizing: "inherit"
      },
      "strong, b": {
        fontWeight: theme.typography.fontWeightBold
      },
      body: {
        margin: 0,
        ...body(theme),
        "&::backdrop": {
          backgroundColor: (theme.vars || theme).palette.background.default
        }
      },
      ...colorSchemeStyles
    };
    const themeOverrides = (_b = (_a = theme.components) == null ? void 0 : _a.MuiCssBaseline) == null ? void 0 : _b.styleOverrides;
    if (themeOverrides) {
      defaultStyles = [
        defaultStyles,
        themeOverrides
      ];
    }
    return defaultStyles;
  };
  const SELECTOR = "mui-ecs";
  const staticStyles = (theme) => {
    const result = styles$1(theme, false);
    const baseStyles = Array.isArray(result) ? result[0] : result;
    if (!theme.vars && baseStyles) {
      baseStyles.html[`:root:has(${SELECTOR})`] = {
        colorScheme: theme.palette.mode
      };
    }
    if (theme.colorSchemes) {
      Object.entries(theme.colorSchemes).forEach(([key, scheme]) => {
        var _a, _b;
        const selector = theme.getColorSchemeSelector(key);
        if (selector.startsWith("@")) {
          baseStyles[selector] = {
            [`:root:not(:has(.${SELECTOR}))`]: {
              colorScheme: (_a = scheme.palette) == null ? void 0 : _a.mode
            }
          };
        } else {
          baseStyles[selector.replace(/\s*&/, "")] = {
            [`&:not(:has(.${SELECTOR}))`]: {
              colorScheme: (_b = scheme.palette) == null ? void 0 : _b.mode
            }
          };
        }
      });
    }
    return result;
  };
  const GlobalStyles = globalCss(isDynamicSupport ? ({ theme, enableColorScheme }) => styles$1(theme, enableColorScheme) : ({ theme }) => staticStyles(theme));
  CssBaseline = function(inProps) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiCssBaseline"
    });
    const { children, enableColorScheme = false } = props;
    return jsxRuntimeExports.jsxs(__mf_2, {
      children: [
        isDynamicSupport && jsxRuntimeExports.jsx(GlobalStyles, {
          enableColorScheme
        }),
        !isDynamicSupport && !enableColorScheme && jsxRuntimeExports.jsx("span", {
          className: SELECTOR,
          style: {
            display: "none"
          }
        }),
        children
      ]
    });
  };
  const scrollBar = {
    track: "#2b2b2b",
    thumb: "#6b6b6b",
    active: "#959595"
  };
  darkScrollbar = function(options = scrollBar) {
    return {
      scrollbarColor: `${options.thumb} ${options.track}`,
      "&::-webkit-scrollbar, & *::-webkit-scrollbar": {
        backgroundColor: options.track
      },
      "&::-webkit-scrollbar-thumb, & *::-webkit-scrollbar-thumb": {
        borderRadius: 8,
        backgroundColor: options.thumb,
        minHeight: 24,
        border: `3px solid ${options.track}`
      },
      "&::-webkit-scrollbar-thumb:focus, & *::-webkit-scrollbar-thumb:focus": {
        backgroundColor: options.active
      },
      "&::-webkit-scrollbar-thumb:active, & *::-webkit-scrollbar-thumb:active": {
        backgroundColor: options.active
      },
      "&::-webkit-scrollbar-thumb:hover, & *::-webkit-scrollbar-thumb:hover": {
        backgroundColor: options.active
      },
      "&::-webkit-scrollbar-corner, & *::-webkit-scrollbar-corner": {
        backgroundColor: options.track
      }
    };
  };
  getDialogContentTextUtilityClass = function(slot) {
    return generateUtilityClass("MuiDialogContentText", slot);
  };
  dialogContentTextClasses = generateUtilityClasses("MuiDialogContentText", [
    "root"
  ]);
  const useUtilityClasses$N = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ]
    };
    const composedClasses = composeClasses(slots, getDialogContentTextUtilityClass, classes);
    return {
      ...classes,
      ...composedClasses
    };
  };
  const DialogContentTextRoot = styled(Typography, {
    shouldForwardProp: (prop) => rootShouldForwardProp(prop) || prop === "classes",
    name: "MuiDialogContentText",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })({});
  DialogContentText = __mf_14(function DialogContentText2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiDialogContentText"
    });
    const { children, className, ...ownerState } = props;
    const classes = useUtilityClasses$N(ownerState);
    return jsxRuntimeExports.jsx(DialogContentTextRoot, {
      component: "p",
      variant: "body1",
      color: "textSecondary",
      ref,
      ownerState,
      className: clsx(classes.root, className),
      ...props,
      classes
    });
  });
  const useUtilityClasses$M = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ]
    };
    return composeClasses(slots, getDialogTitleUtilityClass, classes);
  };
  const DialogTitleRoot = styled(Typography, {
    name: "MuiDialogTitle",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })({
    padding: "16px 24px",
    flex: "0 0 auto"
  });
  DialogTitle = __mf_14(function DialogTitle2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiDialogTitle"
    });
    const { className, id: idProp, ...other } = props;
    const ownerState = props;
    const classes = useUtilityClasses$M(ownerState);
    const { titleId = idProp } = __mf_21(DialogContext);
    return jsxRuntimeExports.jsx(DialogTitleRoot, {
      component: "h2",
      className: clsx(classes.root, className),
      ownerState,
      ref,
      variant: "h6",
      id: idProp ?? titleId,
      ...other
    });
  });
  function getTranslateValue(direction, node, resolvedContainer) {
    const rect = node.getBoundingClientRect();
    const containerRect = resolvedContainer && resolvedContainer.getBoundingClientRect();
    const containerWindow = ownerWindow(node);
    let transform;
    if (node.fakeTransform) {
      transform = node.fakeTransform;
    } else {
      const computedStyle = containerWindow.getComputedStyle(node);
      transform = computedStyle.getPropertyValue("-webkit-transform") || computedStyle.getPropertyValue("transform");
    }
    let offsetX = 0;
    let offsetY = 0;
    if (transform && transform !== "none" && typeof transform === "string") {
      const transformValues = transform.split("(")[1].split(")")[0].split(",");
      offsetX = parseInt(transformValues[4], 10);
      offsetY = parseInt(transformValues[5], 10);
    }
    if (direction === "left") {
      if (containerRect) {
        return `translateX(${containerRect.right + offsetX - rect.left}px)`;
      }
      return `translateX(${containerWindow.innerWidth + offsetX - rect.left}px)`;
    }
    if (direction === "right") {
      if (containerRect) {
        return `translateX(-${rect.right - containerRect.left - offsetX}px)`;
      }
      return `translateX(-${rect.left + rect.width - offsetX}px)`;
    }
    if (direction === "up") {
      if (containerRect) {
        return `translateY(${containerRect.bottom + offsetY - rect.top}px)`;
      }
      return `translateY(${containerWindow.innerHeight + offsetY - rect.top}px)`;
    }
    if (containerRect) {
      return `translateY(-${rect.top - containerRect.top + rect.height - offsetY}px)`;
    }
    return `translateY(-${rect.top + rect.height - offsetY}px)`;
  }
  function resolveContainer(containerPropProp) {
    return typeof containerPropProp === "function" ? containerPropProp() : containerPropProp;
  }
  function setTranslateValue(direction, node, containerProp) {
    const resolvedContainer = resolveContainer(containerProp);
    const transform = getTranslateValue(direction, node, resolvedContainer);
    if (transform) {
      node.style.webkitTransform = transform;
      node.style.transform = transform;
    }
  }
  Slide = __mf_14(function Slide2(props, ref) {
    const theme = useTheme();
    const defaultEasing = {
      enter: theme.transitions.easing.easeOut,
      exit: theme.transitions.easing.sharp
    };
    const defaultTimeout = {
      enter: theme.transitions.duration.enteringScreen,
      exit: theme.transitions.duration.leavingScreen
    };
    const { addEndListener, appear = true, children, container: containerProp, direction = "down", easing: easingProp = defaultEasing, in: inProp, onEnter, onEntered, onEntering, onExit, onExited, onExiting, style, timeout = defaultTimeout, TransitionComponent = Transition, ...other } = props;
    const childrenRef = __mf_31(null);
    const handleRef = useForkRef(getReactElementRef(children), childrenRef, ref);
    const normalizedTransitionCallback = (callback) => (isAppearing) => {
      if (callback) {
        if (isAppearing === void 0) {
          callback(childrenRef.current);
        } else {
          callback(childrenRef.current, isAppearing);
        }
      }
    };
    const handleEnter = normalizedTransitionCallback((node, isAppearing) => {
      setTranslateValue(direction, node, containerProp);
      reflow(node);
      if (onEnter) {
        onEnter(node, isAppearing);
      }
    });
    const handleEntering = normalizedTransitionCallback((node, isAppearing) => {
      const transitionProps = getTransitionProps({
        timeout,
        style,
        easing: easingProp
      }, {
        mode: "enter"
      });
      node.style.webkitTransition = theme.transitions.create("-webkit-transform", {
        ...transitionProps
      });
      node.style.transition = theme.transitions.create("transform", {
        ...transitionProps
      });
      node.style.webkitTransform = "none";
      node.style.transform = "none";
      if (onEntering) {
        onEntering(node, isAppearing);
      }
    });
    const handleEntered = normalizedTransitionCallback(onEntered);
    const handleExiting = normalizedTransitionCallback(onExiting);
    const handleExit = normalizedTransitionCallback((node) => {
      const transitionProps = getTransitionProps({
        timeout,
        style,
        easing: easingProp
      }, {
        mode: "exit"
      });
      node.style.webkitTransition = theme.transitions.create("-webkit-transform", transitionProps);
      node.style.transition = theme.transitions.create("transform", transitionProps);
      setTranslateValue(direction, node, containerProp);
      if (onExit) {
        onExit(node);
      }
    });
    const handleExited = normalizedTransitionCallback((node) => {
      node.style.webkitTransition = "";
      node.style.transition = "";
      if (onExited) {
        onExited(node);
      }
    });
    const handleAddEndListener = (next) => {
      if (addEndListener) {
        addEndListener(childrenRef.current, next);
      }
    };
    const updatePosition = __mf_20(() => {
      if (childrenRef.current) {
        setTranslateValue(direction, childrenRef.current, containerProp);
      }
    }, [
      direction,
      containerProp
    ]);
    __mf_24(() => {
      if (inProp || direction === "down" || direction === "right") {
        return void 0;
      }
      const handleResize = debounce(() => {
        if (childrenRef.current) {
          setTranslateValue(direction, childrenRef.current, containerProp);
        }
      });
      const containerWindow = ownerWindow(childrenRef.current);
      containerWindow.addEventListener("resize", handleResize);
      return () => {
        handleResize.clear();
        containerWindow.removeEventListener("resize", handleResize);
      };
    }, [
      direction,
      inProp,
      containerProp
    ]);
    __mf_24(() => {
      if (!inProp) {
        updatePosition();
      }
    }, [
      inProp,
      updatePosition
    ]);
    return jsxRuntimeExports.jsx(TransitionComponent, {
      nodeRef: childrenRef,
      onEnter: handleEnter,
      onEntered: handleEntered,
      onEntering: handleEntering,
      onExit: handleExit,
      onExited: handleExited,
      onExiting: handleExiting,
      addEndListener: handleAddEndListener,
      appear,
      in: inProp,
      timeout,
      ...other,
      children: (state, { ownerState, ...restChildProps }) => {
        return __mf_9(children, {
          ref: handleRef,
          style: {
            visibility: state === "exited" && !inProp ? "hidden" : void 0,
            ...style,
            ...children.props.style
          },
          ...restChildProps
        });
      }
    });
  });
  getDrawerUtilityClass = function(slot) {
    return generateUtilityClass("MuiDrawer", slot);
  };
  drawerClasses = generateUtilityClasses("MuiDrawer", [
    "root",
    "docked",
    "paper",
    "anchorLeft",
    "anchorRight",
    "anchorTop",
    "anchorBottom",
    "paperAnchorLeft",
    "paperAnchorRight",
    "paperAnchorTop",
    "paperAnchorBottom",
    "paperAnchorDockedLeft",
    "paperAnchorDockedRight",
    "paperAnchorDockedTop",
    "paperAnchorDockedBottom",
    "modal"
  ]);
  const overridesResolver$1 = (props, styles2) => {
    const { ownerState } = props;
    return [
      styles2.root,
      (ownerState.variant === "permanent" || ownerState.variant === "persistent") && styles2.docked,
      styles2.modal
    ];
  };
  const useUtilityClasses$L = (ownerState) => {
    const { classes, anchor, variant } = ownerState;
    const slots = {
      root: [
        "root",
        `anchor${capitalize(anchor)}`
      ],
      docked: [
        (variant === "permanent" || variant === "persistent") && "docked"
      ],
      modal: [
        "modal"
      ],
      paper: [
        "paper",
        `paperAnchor${capitalize(anchor)}`,
        variant !== "temporary" && `paperAnchorDocked${capitalize(anchor)}`
      ]
    };
    return composeClasses(slots, getDrawerUtilityClass, classes);
  };
  const DrawerRoot = styled(Modal, {
    name: "MuiDrawer",
    slot: "Root",
    overridesResolver: overridesResolver$1
  })(memoTheme(({ theme }) => ({
    zIndex: (theme.vars || theme).zIndex.drawer
  })));
  const DrawerDockedRoot = styled("div", {
    shouldForwardProp: rootShouldForwardProp,
    name: "MuiDrawer",
    slot: "Docked",
    skipVariantsResolver: false,
    overridesResolver: overridesResolver$1
  })({
    flex: "0 0 auto"
  });
  const DrawerPaper = styled(Paper, {
    name: "MuiDrawer",
    slot: "Paper",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.paper,
        styles2[`paperAnchor${capitalize(ownerState.anchor)}`],
        ownerState.variant !== "temporary" && styles2[`paperAnchorDocked${capitalize(ownerState.anchor)}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    overflowY: "auto",
    display: "flex",
    flexDirection: "column",
    height: "100%",
    flex: "1 0 auto",
    zIndex: (theme.vars || theme).zIndex.drawer,
    WebkitOverflowScrolling: "touch",
    position: "fixed",
    top: 0,
    outline: 0,
    variants: [
      {
        props: {
          anchor: "left"
        },
        style: {
          left: 0
        }
      },
      {
        props: {
          anchor: "top"
        },
        style: {
          top: 0,
          left: 0,
          right: 0,
          height: "auto",
          maxHeight: "100%"
        }
      },
      {
        props: {
          anchor: "right"
        },
        style: {
          right: 0
        }
      },
      {
        props: {
          anchor: "bottom"
        },
        style: {
          top: "auto",
          left: 0,
          bottom: 0,
          right: 0,
          height: "auto",
          maxHeight: "100%"
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchor === "left" && ownerState.variant !== "temporary",
        style: {
          borderRight: `1px solid ${(theme.vars || theme).palette.divider}`
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchor === "top" && ownerState.variant !== "temporary",
        style: {
          borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchor === "right" && ownerState.variant !== "temporary",
        style: {
          borderLeft: `1px solid ${(theme.vars || theme).palette.divider}`
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchor === "bottom" && ownerState.variant !== "temporary",
        style: {
          borderTop: `1px solid ${(theme.vars || theme).palette.divider}`
        }
      }
    ]
  })));
  const oppositeDirection = {
    left: "right",
    right: "left",
    top: "down",
    bottom: "up"
  };
  function isHorizontal(anchor) {
    return [
      "left",
      "right"
    ].includes(anchor);
  }
  function getAnchor({ direction }, anchor) {
    return direction === "rtl" && isHorizontal(anchor) ? oppositeDirection[anchor] : anchor;
  }
  Drawer = __mf_14(function Drawer2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiDrawer"
    });
    const theme = useTheme();
    const isRtl = useRtl();
    const defaultTransitionDuration = {
      enter: theme.transitions.duration.enteringScreen,
      exit: theme.transitions.duration.leavingScreen
    };
    const { anchor: anchorProp = "left", BackdropProps, children, className, elevation = 16, hideBackdrop = false, ModalProps: { BackdropProps: BackdropPropsProp, ...ModalProps } = {}, onClose, open = false, PaperProps = {}, SlideProps, TransitionComponent, transitionDuration = defaultTransitionDuration, variant = "temporary", slots = {}, slotProps = {}, ...other } = props;
    const mounted = __mf_31(false);
    __mf_24(() => {
      mounted.current = true;
    }, []);
    const anchorInvariant = getAnchor({
      direction: isRtl ? "rtl" : "ltr"
    }, anchorProp);
    const anchor = anchorProp;
    const ownerState = {
      ...props,
      anchor,
      elevation,
      open,
      variant,
      ...other
    };
    const classes = useUtilityClasses$L(ownerState);
    const externalForwardedProps = {
      slots: {
        transition: TransitionComponent,
        ...slots
      },
      slotProps: {
        paper: PaperProps,
        transition: SlideProps,
        ...slotProps,
        backdrop: mergeSlotProps(slotProps.backdrop || {
          ...BackdropProps,
          ...BackdropPropsProp
        }, {
          transitionDuration
        })
      }
    };
    const [RootSlot, rootSlotProps] = useSlot("root", {
      ref,
      elementType: DrawerRoot,
      className: clsx(classes.root, classes.modal, className),
      shouldForwardComponentProp: true,
      ownerState,
      externalForwardedProps: {
        ...externalForwardedProps,
        ...other,
        ...ModalProps
      },
      additionalProps: {
        open,
        onClose,
        hideBackdrop,
        slots: {
          backdrop: externalForwardedProps.slots.backdrop
        },
        slotProps: {
          backdrop: externalForwardedProps.slotProps.backdrop
        }
      }
    });
    const [PaperSlot, paperSlotProps] = useSlot("paper", {
      elementType: DrawerPaper,
      shouldForwardComponentProp: true,
      className: clsx(classes.paper, PaperProps.className),
      ownerState,
      externalForwardedProps,
      additionalProps: {
        elevation: variant === "temporary" ? elevation : 0,
        square: true
      }
    });
    const [DockedSlot, dockedSlotProps] = useSlot("docked", {
      elementType: DrawerDockedRoot,
      ref,
      className: clsx(classes.root, classes.docked, className),
      ownerState,
      externalForwardedProps,
      additionalProps: other
    });
    const [TransitionSlot, transitionSlotProps] = useSlot("transition", {
      elementType: Slide,
      ownerState,
      externalForwardedProps,
      additionalProps: {
        in: open,
        direction: oppositeDirection[anchorInvariant],
        timeout: transitionDuration,
        appear: mounted.current
      }
    });
    const drawer = jsxRuntimeExports.jsx(PaperSlot, {
      ...paperSlotProps,
      children
    });
    if (variant === "permanent") {
      return jsxRuntimeExports.jsx(DockedSlot, {
        ...dockedSlotProps,
        children: drawer
      });
    }
    const slidingDrawer = jsxRuntimeExports.jsx(TransitionSlot, {
      ...transitionSlotProps,
      children: drawer
    });
    if (variant === "persistent") {
      return jsxRuntimeExports.jsx(DockedSlot, {
        ...dockedSlotProps,
        children: slidingDrawer
      });
    }
    return jsxRuntimeExports.jsx(RootSlot, {
      ...rootSlotProps,
      children: slidingDrawer
    });
  });
  getFabUtilityClass = function(slot) {
    return generateUtilityClass("MuiFab", slot);
  };
  fabClasses = generateUtilityClasses("MuiFab", [
    "root",
    "primary",
    "secondary",
    "extended",
    "circular",
    "focusVisible",
    "disabled",
    "colorInherit",
    "sizeSmall",
    "sizeMedium",
    "sizeLarge",
    "info",
    "error",
    "warning",
    "success"
  ]);
  const useUtilityClasses$K = (ownerState) => {
    const { color, variant, classes, size } = ownerState;
    const slots = {
      root: [
        "root",
        variant,
        `size${capitalize(size)}`,
        color === "inherit" ? "colorInherit" : color
      ]
    };
    const composedClasses = composeClasses(slots, getFabUtilityClass, classes);
    return {
      ...classes,
      ...composedClasses
    };
  };
  const FabRoot = styled(ButtonBase, {
    name: "MuiFab",
    slot: "Root",
    shouldForwardProp: (prop) => rootShouldForwardProp(prop) || prop === "classes",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[ownerState.variant],
        styles2[`size${capitalize(ownerState.size)}`],
        ownerState.color === "inherit" && styles2.colorInherit,
        styles2[capitalize(ownerState.size)],
        styles2[ownerState.color]
      ];
    }
  })(memoTheme(({ theme }) => {
    var _a, _b;
    return {
      ...theme.typography.button,
      minHeight: 36,
      transition: theme.transitions.create([
        "background-color",
        "box-shadow",
        "border-color"
      ], {
        duration: theme.transitions.duration.short
      }),
      borderRadius: "50%",
      padding: 0,
      minWidth: 0,
      width: 56,
      height: 56,
      zIndex: (theme.vars || theme).zIndex.fab,
      boxShadow: (theme.vars || theme).shadows[6],
      "&:active": {
        boxShadow: (theme.vars || theme).shadows[12]
      },
      color: theme.vars ? theme.vars.palette.text.primary : (_b = (_a = theme.palette).getContrastText) == null ? void 0 : _b.call(_a, theme.palette.grey[300]),
      backgroundColor: (theme.vars || theme).palette.grey[300],
      "&:hover": {
        backgroundColor: (theme.vars || theme).palette.grey.A100,
        "@media (hover: none)": {
          backgroundColor: (theme.vars || theme).palette.grey[300]
        },
        textDecoration: "none"
      },
      [`&.${fabClasses.focusVisible}`]: {
        boxShadow: (theme.vars || theme).shadows[6]
      },
      variants: [
        {
          props: {
            size: "small"
          },
          style: {
            width: 40,
            height: 40
          }
        },
        {
          props: {
            size: "medium"
          },
          style: {
            width: 48,
            height: 48
          }
        },
        {
          props: {
            variant: "extended"
          },
          style: {
            borderRadius: 48 / 2,
            padding: "0 16px",
            width: "auto",
            minHeight: "auto",
            minWidth: 48,
            height: 48
          }
        },
        {
          props: {
            variant: "extended",
            size: "small"
          },
          style: {
            width: "auto",
            padding: "0 8px",
            borderRadius: 34 / 2,
            minWidth: 34,
            height: 34
          }
        },
        {
          props: {
            variant: "extended",
            size: "medium"
          },
          style: {
            width: "auto",
            padding: "0 16px",
            borderRadius: 40 / 2,
            minWidth: 40,
            height: 40
          }
        },
        {
          props: {
            color: "inherit"
          },
          style: {
            color: "inherit"
          }
        }
      ]
    };
  }), memoTheme(({ theme }) => ({
    variants: [
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter([
        "dark",
        "contrastText"
      ])).map(([color]) => ({
        props: {
          color
        },
        style: {
          color: (theme.vars || theme).palette[color].contrastText,
          backgroundColor: (theme.vars || theme).palette[color].main,
          "&:hover": {
            backgroundColor: (theme.vars || theme).palette[color].dark,
            "@media (hover: none)": {
              backgroundColor: (theme.vars || theme).palette[color].main
            }
          }
        }
      }))
    ]
  })), memoTheme(({ theme }) => ({
    [`&.${fabClasses.disabled}`]: {
      color: (theme.vars || theme).palette.action.disabled,
      boxShadow: (theme.vars || theme).shadows[0],
      backgroundColor: (theme.vars || theme).palette.action.disabledBackground
    }
  })));
  Fab = __mf_14(function Fab2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiFab"
    });
    const { children, className, color = "default", component = "button", disabled = false, disableFocusRipple = false, focusVisibleClassName, size = "large", variant = "circular", ...other } = props;
    const ownerState = {
      ...props,
      color,
      component,
      disabled,
      disableFocusRipple,
      size,
      variant
    };
    const classes = useUtilityClasses$K(ownerState);
    return jsxRuntimeExports.jsx(FabRoot, {
      className: clsx(classes.root, className),
      component,
      disabled,
      focusRipple: !disableFocusRipple,
      focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),
      ownerState,
      ref,
      ...other,
      classes,
      children
    });
  });
  getFormControlLabelUtilityClasses = function(slot) {
    return generateUtilityClass("MuiFormControlLabel", slot);
  };
  formControlLabelClasses = generateUtilityClasses("MuiFormControlLabel", [
    "root",
    "labelPlacementStart",
    "labelPlacementTop",
    "labelPlacementBottom",
    "disabled",
    "label",
    "error",
    "required",
    "asterisk"
  ]);
  const useUtilityClasses$J = (ownerState) => {
    const { classes, disabled, labelPlacement, error, required } = ownerState;
    const slots = {
      root: [
        "root",
        disabled && "disabled",
        `labelPlacement${capitalize(labelPlacement)}`,
        error && "error",
        required && "required"
      ],
      label: [
        "label",
        disabled && "disabled"
      ],
      asterisk: [
        "asterisk",
        error && "error"
      ]
    };
    return composeClasses(slots, getFormControlLabelUtilityClasses, classes);
  };
  const FormControlLabelRoot = styled("label", {
    name: "MuiFormControlLabel",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        {
          [`& .${formControlLabelClasses.label}`]: styles2.label
        },
        styles2.root,
        styles2[`labelPlacement${capitalize(ownerState.labelPlacement)}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    display: "inline-flex",
    alignItems: "center",
    cursor: "pointer",
    verticalAlign: "middle",
    WebkitTapHighlightColor: "transparent",
    marginLeft: -11,
    marginRight: 16,
    [`&.${formControlLabelClasses.disabled}`]: {
      cursor: "default"
    },
    [`& .${formControlLabelClasses.label}`]: {
      [`&.${formControlLabelClasses.disabled}`]: {
        color: (theme.vars || theme).palette.text.disabled
      }
    },
    variants: [
      {
        props: {
          labelPlacement: "start"
        },
        style: {
          flexDirection: "row-reverse",
          marginRight: -11
        }
      },
      {
        props: {
          labelPlacement: "top"
        },
        style: {
          flexDirection: "column-reverse"
        }
      },
      {
        props: {
          labelPlacement: "bottom"
        },
        style: {
          flexDirection: "column"
        }
      },
      {
        props: ({ labelPlacement }) => labelPlacement === "start" || labelPlacement === "top" || labelPlacement === "bottom",
        style: {
          marginLeft: 16
        }
      }
    ]
  })));
  const AsteriskComponent = styled("span", {
    name: "MuiFormControlLabel",
    slot: "Asterisk",
    overridesResolver: (props, styles2) => styles2.asterisk
  })(memoTheme(({ theme }) => ({
    [`&.${formControlLabelClasses.error}`]: {
      color: (theme.vars || theme).palette.error.main
    }
  })));
  FormControlLabel = __mf_14(function FormControlLabel2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiFormControlLabel"
    });
    const { checked, className, componentsProps = {}, control, disabled: disabledProp, disableTypography, inputRef, label: labelProp, labelPlacement = "end", name, onChange, required: requiredProp, slots = {}, slotProps = {}, value, ...other } = props;
    const muiFormControl = useFormControl();
    const disabled = disabledProp ?? control.props.disabled ?? (muiFormControl == null ? void 0 : muiFormControl.disabled);
    const required = requiredProp ?? control.props.required;
    const controlProps = {
      disabled,
      required
    };
    [
      "checked",
      "name",
      "onChange",
      "value",
      "inputRef"
    ].forEach((key) => {
      if (typeof control.props[key] === "undefined" && typeof props[key] !== "undefined") {
        controlProps[key] = props[key];
      }
    });
    const fcs = formControlState({
      props,
      muiFormControl,
      states: [
        "error"
      ]
    });
    const ownerState = {
      ...props,
      disabled,
      labelPlacement,
      required,
      error: fcs.error
    };
    const classes = useUtilityClasses$J(ownerState);
    const externalForwardedProps = {
      slots,
      slotProps: {
        ...componentsProps,
        ...slotProps
      }
    };
    const [TypographySlot, typographySlotProps] = useSlot("typography", {
      elementType: Typography,
      externalForwardedProps,
      ownerState
    });
    let label = labelProp;
    if (label != null && label.type !== Typography && !disableTypography) {
      label = jsxRuntimeExports.jsx(TypographySlot, {
        component: "span",
        ...typographySlotProps,
        className: clsx(classes.label, typographySlotProps == null ? void 0 : typographySlotProps.className),
        children: label
      });
    }
    return jsxRuntimeExports.jsxs(FormControlLabelRoot, {
      className: clsx(classes.root, className),
      ownerState,
      ref,
      ...other,
      children: [
        __mf_9(control, controlProps),
        required ? jsxRuntimeExports.jsxs("div", {
          children: [
            label,
            jsxRuntimeExports.jsxs(AsteriskComponent, {
              ownerState,
              "aria-hidden": true,
              className: classes.asterisk,
              children: [
                "\u2009",
                "*"
              ]
            })
          ]
        }) : label
      ]
    });
  });
  getFormGroupUtilityClass = function(slot) {
    return generateUtilityClass("MuiFormGroup", slot);
  };
  formGroupClasses = generateUtilityClasses("MuiFormGroup", [
    "root",
    "row",
    "error"
  ]);
  const useUtilityClasses$I = (ownerState) => {
    const { classes, row, error } = ownerState;
    const slots = {
      root: [
        "root",
        row && "row",
        error && "error"
      ]
    };
    return composeClasses(slots, getFormGroupUtilityClass, classes);
  };
  const FormGroupRoot = styled("div", {
    name: "MuiFormGroup",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        ownerState.row && styles2.row
      ];
    }
  })({
    display: "flex",
    flexDirection: "column",
    flexWrap: "wrap",
    variants: [
      {
        props: {
          row: true
        },
        style: {
          flexDirection: "row"
        }
      }
    ]
  });
  FormGroup = __mf_14(function FormGroup2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiFormGroup"
    });
    const { className, row = false, ...other } = props;
    const muiFormControl = useFormControl();
    const fcs = formControlState({
      props,
      muiFormControl,
      states: [
        "error"
      ]
    });
    const ownerState = {
      ...props,
      row,
      error: fcs.error
    };
    const classes = useUtilityClasses$I(ownerState);
    return jsxRuntimeExports.jsx(FormGroupRoot, {
      className: clsx(classes.root, className),
      ownerState,
      ref,
      ...other
    });
  });
  const GridContext = __mf_10();
  function getGridUtilityClass(slot) {
    return generateUtilityClass("MuiGrid", slot);
  }
  const SPACINGS$1 = [
    0,
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10
  ];
  const DIRECTIONS$1 = [
    "column-reverse",
    "column",
    "row-reverse",
    "row"
  ];
  const WRAPS$1 = [
    "nowrap",
    "wrap-reverse",
    "wrap"
  ];
  const GRID_SIZES$1 = [
    "auto",
    true,
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    12
  ];
  const gridClasses = generateUtilityClasses("MuiGrid", [
    "root",
    "container",
    "item",
    "zeroMinWidth",
    ...SPACINGS$1.map((spacing) => `spacing-xs-${spacing}`),
    ...DIRECTIONS$1.map((direction) => `direction-xs-${direction}`),
    ...WRAPS$1.map((wrap) => `wrap-xs-${wrap}`),
    ...GRID_SIZES$1.map((size) => `grid-xs-${size}`),
    ...GRID_SIZES$1.map((size) => `grid-sm-${size}`),
    ...GRID_SIZES$1.map((size) => `grid-md-${size}`),
    ...GRID_SIZES$1.map((size) => `grid-lg-${size}`),
    ...GRID_SIZES$1.map((size) => `grid-xl-${size}`)
  ]);
  function generateGrid({ theme, ownerState }) {
    let size;
    return theme.breakpoints.keys.reduce((globalStyles, breakpoint) => {
      let styles2 = {};
      if (ownerState[breakpoint]) {
        size = ownerState[breakpoint];
      }
      if (!size) {
        return globalStyles;
      }
      if (size === true) {
        styles2 = {
          flexBasis: 0,
          flexGrow: 1,
          maxWidth: "100%"
        };
      } else if (size === "auto") {
        styles2 = {
          flexBasis: "auto",
          flexGrow: 0,
          flexShrink: 0,
          maxWidth: "none",
          width: "auto"
        };
      } else {
        const columnsBreakpointValues = __mf_49({
          values: ownerState.columns,
          breakpoints: theme.breakpoints.values
        });
        const columnValue = typeof columnsBreakpointValues === "object" ? columnsBreakpointValues[breakpoint] : columnsBreakpointValues;
        if (columnValue === void 0 || columnValue === null) {
          return globalStyles;
        }
        const width = `${Math.round(size / columnValue * 1e8) / 1e6}%`;
        let more = {};
        if (ownerState.container && ownerState.item && ownerState.columnSpacing !== 0) {
          const themeSpacing = theme.spacing(ownerState.columnSpacing);
          if (themeSpacing !== "0px") {
            const fullWidth = `calc(${width} + ${themeSpacing})`;
            more = {
              flexBasis: fullWidth,
              maxWidth: fullWidth
            };
          }
        }
        styles2 = {
          flexBasis: width,
          flexGrow: 0,
          maxWidth: width,
          ...more
        };
      }
      if (theme.breakpoints.values[breakpoint] === 0) {
        Object.assign(globalStyles, styles2);
      } else {
        globalStyles[theme.breakpoints.up(breakpoint)] = styles2;
      }
      return globalStyles;
    }, {});
  }
  function generateDirection({ theme, ownerState }) {
    const directionValues = __mf_49({
      values: ownerState.direction,
      breakpoints: theme.breakpoints.values
    });
    return __mf_26$1({
      theme
    }, directionValues, (propValue) => {
      const output = {
        flexDirection: propValue
      };
      if (propValue.startsWith("column")) {
        output[`& > .${gridClasses.item}`] = {
          maxWidth: "none"
        };
      }
      return output;
    });
  }
  function extractZeroValueBreakpointKeys({ breakpoints, values }) {
    let nonZeroKey = "";
    Object.keys(values).forEach((key) => {
      if (nonZeroKey !== "") {
        return;
      }
      if (values[key] !== 0) {
        nonZeroKey = key;
      }
    });
    const sortedBreakpointKeysByValue = Object.keys(breakpoints).sort((a3, b10) => {
      return breakpoints[a3] - breakpoints[b10];
    });
    return sortedBreakpointKeysByValue.slice(0, sortedBreakpointKeysByValue.indexOf(nonZeroKey));
  }
  function generateRowGap({ theme, ownerState }) {
    const { container, rowSpacing } = ownerState;
    let styles2 = {};
    if (container && rowSpacing !== 0) {
      const rowSpacingValues = __mf_49({
        values: rowSpacing,
        breakpoints: theme.breakpoints.values
      });
      let zeroValueBreakpointKeys;
      if (typeof rowSpacingValues === "object") {
        zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({
          breakpoints: theme.breakpoints.values,
          values: rowSpacingValues
        });
      }
      styles2 = __mf_26$1({
        theme
      }, rowSpacingValues, (propValue, breakpoint) => {
        const themeSpacing = theme.spacing(propValue);
        if (themeSpacing !== "0px") {
          return {
            marginTop: `calc(-1 * ${themeSpacing})`,
            [`& > .${gridClasses.item}`]: {
              paddingTop: themeSpacing
            }
          };
        }
        if (zeroValueBreakpointKeys == null ? void 0 : zeroValueBreakpointKeys.includes(breakpoint)) {
          return {};
        }
        return {
          marginTop: 0,
          [`& > .${gridClasses.item}`]: {
            paddingTop: 0
          }
        };
      });
    }
    return styles2;
  }
  function generateColumnGap({ theme, ownerState }) {
    const { container, columnSpacing } = ownerState;
    let styles2 = {};
    if (container && columnSpacing !== 0) {
      const columnSpacingValues = __mf_49({
        values: columnSpacing,
        breakpoints: theme.breakpoints.values
      });
      let zeroValueBreakpointKeys;
      if (typeof columnSpacingValues === "object") {
        zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({
          breakpoints: theme.breakpoints.values,
          values: columnSpacingValues
        });
      }
      styles2 = __mf_26$1({
        theme
      }, columnSpacingValues, (propValue, breakpoint) => {
        const themeSpacing = theme.spacing(propValue);
        if (themeSpacing !== "0px") {
          const negativeValue = `calc(-1 * ${themeSpacing})`;
          return {
            width: `calc(100% + ${themeSpacing})`,
            marginLeft: negativeValue,
            [`& > .${gridClasses.item}`]: {
              paddingLeft: themeSpacing
            }
          };
        }
        if (zeroValueBreakpointKeys == null ? void 0 : zeroValueBreakpointKeys.includes(breakpoint)) {
          return {};
        }
        return {
          width: "100%",
          marginLeft: 0,
          [`& > .${gridClasses.item}`]: {
            paddingLeft: 0
          }
        };
      });
    }
    return styles2;
  }
  function resolveSpacingStyles(spacing, breakpoints, styles2 = {}) {
    if (!spacing || spacing <= 0) {
      return [];
    }
    if (typeof spacing === "string" && !Number.isNaN(Number(spacing)) || typeof spacing === "number") {
      return [
        styles2[`spacing-xs-${String(spacing)}`]
      ];
    }
    const spacingStyles = [];
    breakpoints.forEach((breakpoint) => {
      const value = spacing[breakpoint];
      if (Number(value) > 0) {
        spacingStyles.push(styles2[`spacing-${breakpoint}-${String(value)}`]);
      }
    });
    return spacingStyles;
  }
  const GridRoot = styled("div", {
    name: "MuiGrid",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      const { container, direction, item, spacing, wrap, zeroMinWidth, breakpoints } = ownerState;
      let spacingStyles = [];
      if (container) {
        spacingStyles = resolveSpacingStyles(spacing, breakpoints, styles2);
      }
      const breakpointsStyles = [];
      breakpoints.forEach((breakpoint) => {
        const value = ownerState[breakpoint];
        if (value) {
          breakpointsStyles.push(styles2[`grid-${breakpoint}-${String(value)}`]);
        }
      });
      return [
        styles2.root,
        container && styles2.container,
        item && styles2.item,
        zeroMinWidth && styles2.zeroMinWidth,
        ...spacingStyles,
        direction !== "row" && styles2[`direction-xs-${String(direction)}`],
        wrap !== "wrap" && styles2[`wrap-xs-${String(wrap)}`],
        ...breakpointsStyles
      ];
    }
  })(({ ownerState }) => ({
    boxSizing: "border-box",
    ...ownerState.container && {
      display: "flex",
      flexWrap: "wrap",
      width: "100%"
    },
    ...ownerState.item && {
      margin: 0
    },
    ...ownerState.zeroMinWidth && {
      minWidth: 0
    },
    ...ownerState.wrap !== "wrap" && {
      flexWrap: ownerState.wrap
    }
  }), generateDirection, generateRowGap, generateColumnGap, generateGrid);
  function resolveSpacingClasses(spacing, breakpoints) {
    if (!spacing || spacing <= 0) {
      return [];
    }
    if (typeof spacing === "string" && !Number.isNaN(Number(spacing)) || typeof spacing === "number") {
      return [
        `spacing-xs-${String(spacing)}`
      ];
    }
    const classes = [];
    breakpoints.forEach((breakpoint) => {
      const value = spacing[breakpoint];
      if (Number(value) > 0) {
        const className = `spacing-${breakpoint}-${String(value)}`;
        classes.push(className);
      }
    });
    return classes;
  }
  const useUtilityClasses$H = (ownerState) => {
    const { classes, container, direction, item, spacing, wrap, zeroMinWidth, breakpoints } = ownerState;
    let spacingClasses = [];
    if (container) {
      spacingClasses = resolveSpacingClasses(spacing, breakpoints);
    }
    const breakpointsClasses = [];
    breakpoints.forEach((breakpoint) => {
      const value = ownerState[breakpoint];
      if (value) {
        breakpointsClasses.push(`grid-${breakpoint}-${String(value)}`);
      }
    });
    const slots = {
      root: [
        "root",
        container && "container",
        item && "item",
        zeroMinWidth && "zeroMinWidth",
        ...spacingClasses,
        direction !== "row" && `direction-xs-${String(direction)}`,
        wrap !== "wrap" && `wrap-xs-${String(wrap)}`,
        ...breakpointsClasses
      ]
    };
    return composeClasses(slots, getGridUtilityClass, classes);
  };
  Grid = __mf_14(function Grid22(inProps, ref) {
    const themeProps = useDefaultProps({
      props: inProps,
      name: "MuiGrid"
    });
    const { breakpoints } = useTheme();
    const props = extendSxProp(themeProps);
    const { className, columns: columnsProp, columnSpacing: columnSpacingProp, component = "div", container = false, direction = "row", item = false, rowSpacing: rowSpacingProp, spacing = 0, wrap = "wrap", zeroMinWidth = false, ...other } = props;
    const rowSpacing = rowSpacingProp || spacing;
    const columnSpacing = columnSpacingProp || spacing;
    const columnsContext = __mf_21(GridContext);
    const columns = container ? columnsProp || 12 : columnsContext;
    const breakpointsValues = {};
    const otherFiltered = {
      ...other
    };
    breakpoints.keys.forEach((breakpoint) => {
      if (other[breakpoint] != null) {
        breakpointsValues[breakpoint] = other[breakpoint];
        delete otherFiltered[breakpoint];
      }
    });
    const ownerState = {
      ...props,
      columns,
      container,
      direction,
      item,
      rowSpacing,
      columnSpacing,
      wrap,
      zeroMinWidth,
      spacing,
      ...breakpointsValues,
      breakpoints: breakpoints.keys
    };
    const classes = useUtilityClasses$H(ownerState);
    return jsxRuntimeExports.jsx(GridContext.Provider, {
      value: columns,
      children: jsxRuntimeExports.jsx(GridRoot, {
        ownerState,
        className: clsx(classes.root, className),
        as: component,
        ref,
        ...otherFiltered
      })
    });
  });
  Grid2 = createGrid({
    createStyledComponent: styled("div", {
      name: "MuiGrid2",
      slot: "Root",
      overridesResolver: (props, styles2) => {
        const { ownerState } = props;
        return [
          styles2.root,
          ownerState.container && styles2.container
        ];
      }
    }),
    componentName: "MuiGrid2",
    useThemeProps: (inProps) => useDefaultProps({
      props: inProps,
      name: "MuiGrid2"
    }),
    useTheme
  });
  getGrid2UtilityClass = function(slot) {
    return generateUtilityClass("MuiGrid2", slot);
  };
  const SPACINGS = [
    0,
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10
  ];
  const DIRECTIONS = [
    "column-reverse",
    "column",
    "row-reverse",
    "row"
  ];
  const WRAPS = [
    "nowrap",
    "wrap-reverse",
    "wrap"
  ];
  const GRID_SIZES = [
    "auto",
    true,
    1,
    2,
    3,
    4,
    5,
    6,
    7,
    8,
    9,
    10,
    11,
    12
  ];
  grid2Classes = generateUtilityClasses("MuiGrid2", [
    "root",
    "container",
    ...SPACINGS.map((spacing) => `spacing-xs-${spacing}`),
    ...DIRECTIONS.map((direction) => `direction-xs-${direction}`),
    ...WRAPS.map((wrap) => `wrap-xs-${wrap}`),
    ...GRID_SIZES.map((size) => `grid-xs-${size}`),
    ...GRID_SIZES.map((size) => `grid-sm-${size}`),
    ...GRID_SIZES.map((size) => `grid-md-${size}`),
    ...GRID_SIZES.map((size) => `grid-lg-${size}`),
    ...GRID_SIZES.map((size) => `grid-xl-${size}`)
  ]);
  const breakpointKeys = [
    "xs",
    "sm",
    "md",
    "lg",
    "xl"
  ];
  const isWidthUp = (breakpoint, width, inclusive = true) => {
    if (inclusive) {
      return breakpointKeys.indexOf(breakpoint) <= breakpointKeys.indexOf(width);
    }
    return breakpointKeys.indexOf(breakpoint) < breakpointKeys.indexOf(width);
  };
  const isWidthDown = (breakpoint, width, inclusive = false) => {
    if (inclusive) {
      return breakpointKeys.indexOf(width) <= breakpointKeys.indexOf(breakpoint);
    }
    return breakpointKeys.indexOf(width) < breakpointKeys.indexOf(breakpoint);
  };
  const withWidth = (options = {}) => (Component) => {
    const { withTheme: withThemeOption = false, noSSR = false, initialWidth: initialWidthOption } = options;
    function WithWidth(props) {
      const contextTheme = useTheme();
      const theme = props.theme || contextTheme;
      const { initialWidth, width, ...other } = getThemeProps({
        theme,
        name: "MuiWithWidth",
        props
      });
      const [mountedState, setMountedState] = __mf_32(false);
      useEnhancedEffect(() => {
        setMountedState(true);
      }, []);
      const keys = theme.breakpoints.keys.slice().reverse();
      const widthComputed = keys.reduce((output, key) => {
        const matches = useMediaQuery(theme.breakpoints.up(key));
        return !output && matches ? key : output;
      }, null);
      const more = {
        width: width || (mountedState || noSSR ? widthComputed : void 0) || initialWidth || initialWidthOption,
        ...withThemeOption ? {
          theme
        } : {},
        ...other
      };
      if (more.width === void 0) {
        return null;
      }
      return jsxRuntimeExports.jsx(Component, {
        ...more
      });
    }
    return WithWidth;
  };
  function HiddenJs(props) {
    const { children, only, width } = props;
    const theme = useTheme();
    let visible = true;
    if (only) {
      if (Array.isArray(only)) {
        for (let i3 = 0; i3 < only.length; i3 += 1) {
          const breakpoint = only[i3];
          if (width === breakpoint) {
            visible = false;
            break;
          }
        }
      } else if (only && width === only) {
        visible = false;
      }
    }
    if (visible) {
      for (let i3 = 0; i3 < theme.breakpoints.keys.length; i3 += 1) {
        const breakpoint = theme.breakpoints.keys[i3];
        const breakpointUp = props[`${breakpoint}Up`];
        const breakpointDown = props[`${breakpoint}Down`];
        if (breakpointUp && isWidthUp(breakpoint, width) || breakpointDown && isWidthDown(breakpoint, width)) {
          visible = false;
          break;
        }
      }
    }
    if (!visible) {
      return null;
    }
    return children;
  }
  HiddenJs.propTypes = {
    children: PropTypes.node,
    lgDown: PropTypes.bool,
    lgUp: PropTypes.bool,
    mdDown: PropTypes.bool,
    mdUp: PropTypes.bool,
    only: PropTypes.oneOfType([
      PropTypes.oneOf([
        "xs",
        "sm",
        "md",
        "lg",
        "xl"
      ]),
      PropTypes.arrayOf(PropTypes.oneOf([
        "xs",
        "sm",
        "md",
        "lg",
        "xl"
      ]))
    ]),
    smDown: PropTypes.bool,
    smUp: PropTypes.bool,
    width: PropTypes.string.isRequired,
    xlDown: PropTypes.bool,
    xlUp: PropTypes.bool,
    xsDown: PropTypes.bool,
    xsUp: PropTypes.bool
  };
  const HiddenJs$1 = withWidth()(HiddenJs);
  function getHiddenCssUtilityClass(slot) {
    return generateUtilityClass("PrivateHiddenCss", slot);
  }
  generateUtilityClasses("PrivateHiddenCss", [
    "root",
    "xlDown",
    "xlUp",
    "onlyXl",
    "lgDown",
    "lgUp",
    "onlyLg",
    "mdDown",
    "mdUp",
    "onlyMd",
    "smDown",
    "smUp",
    "onlySm",
    "xsDown",
    "xsUp",
    "onlyXs"
  ]);
  const useUtilityClasses$G = (ownerState) => {
    const { classes, breakpoints } = ownerState;
    const slots = {
      root: [
        "root",
        ...breakpoints.map(({ breakpoint, dir }) => {
          return dir === "only" ? `${dir}${capitalize(breakpoint)}` : `${breakpoint}${capitalize(dir)}`;
        })
      ]
    };
    return composeClasses(slots, getHiddenCssUtilityClass, classes);
  };
  const HiddenCssRoot = styled("div", {
    name: "PrivateHiddenCss",
    slot: "Root"
  })(({ theme, ownerState }) => {
    const hidden = {
      display: "none"
    };
    return {
      ...ownerState.breakpoints.map(({ breakpoint, dir }) => {
        if (dir === "only") {
          return {
            [theme.breakpoints.only(breakpoint)]: hidden
          };
        }
        return dir === "up" ? {
          [theme.breakpoints.up(breakpoint)]: hidden
        } : {
          [theme.breakpoints.down(breakpoint)]: hidden
        };
      }).reduce((r4, o3) => {
        Object.keys(o3).forEach((k3) => {
          r4[k3] = o3[k3];
        });
        return r4;
      }, {})
    };
  });
  function HiddenCss(props) {
    const { children, className, only, ...other } = props;
    const theme = useTheme();
    const breakpoints = [];
    for (let i3 = 0; i3 < theme.breakpoints.keys.length; i3 += 1) {
      const breakpoint = theme.breakpoints.keys[i3];
      const breakpointUp = other[`${breakpoint}Up`];
      const breakpointDown = other[`${breakpoint}Down`];
      if (breakpointUp) {
        breakpoints.push({
          breakpoint,
          dir: "up"
        });
      }
      if (breakpointDown) {
        breakpoints.push({
          breakpoint,
          dir: "down"
        });
      }
    }
    if (only) {
      const onlyBreakpoints = Array.isArray(only) ? only : [
        only
      ];
      onlyBreakpoints.forEach((breakpoint) => {
        breakpoints.push({
          breakpoint,
          dir: "only"
        });
      });
    }
    const ownerState = {
      ...props,
      breakpoints
    };
    const classes = useUtilityClasses$G(ownerState);
    return jsxRuntimeExports.jsx(HiddenCssRoot, {
      className: clsx(classes.root, className),
      ownerState,
      children
    });
  }
  Hidden = function(props) {
    const { implementation = "js", lgDown = false, lgUp = false, mdDown = false, mdUp = false, smDown = false, smUp = false, xlDown = false, xlUp = false, xsDown = false, xsUp = false, ...other } = props;
    if (implementation === "js") {
      return jsxRuntimeExports.jsx(HiddenJs$1, {
        lgDown,
        lgUp,
        mdDown,
        mdUp,
        smDown,
        smUp,
        xlDown,
        xlUp,
        xsDown,
        xsUp,
        ...other
      });
    }
    return jsxRuntimeExports.jsx(HiddenCss, {
      lgDown,
      lgUp,
      mdDown,
      mdUp,
      smDown,
      smUp,
      xlDown,
      xlUp,
      xsDown,
      xsUp,
      ...other
    });
  };
  getIconUtilityClass = function(slot) {
    return generateUtilityClass("MuiIcon", slot);
  };
  iconClasses = generateUtilityClasses("MuiIcon", [
    "root",
    "colorPrimary",
    "colorSecondary",
    "colorAction",
    "colorError",
    "colorDisabled",
    "fontSizeInherit",
    "fontSizeSmall",
    "fontSizeMedium",
    "fontSizeLarge"
  ]);
  const useUtilityClasses$F = (ownerState) => {
    const { color, fontSize, classes } = ownerState;
    const slots = {
      root: [
        "root",
        color !== "inherit" && `color${capitalize(color)}`,
        `fontSize${capitalize(fontSize)}`
      ]
    };
    return composeClasses(slots, getIconUtilityClass, classes);
  };
  const IconRoot = styled("span", {
    name: "MuiIcon",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        ownerState.color !== "inherit" && styles2[`color${capitalize(ownerState.color)}`],
        styles2[`fontSize${capitalize(ownerState.fontSize)}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    userSelect: "none",
    width: "1em",
    height: "1em",
    overflow: "hidden",
    display: "inline-block",
    textAlign: "center",
    flexShrink: 0,
    variants: [
      {
        props: {
          fontSize: "inherit"
        },
        style: {
          fontSize: "inherit"
        }
      },
      {
        props: {
          fontSize: "small"
        },
        style: {
          fontSize: theme.typography.pxToRem(20)
        }
      },
      {
        props: {
          fontSize: "medium"
        },
        style: {
          fontSize: theme.typography.pxToRem(24)
        }
      },
      {
        props: {
          fontSize: "large"
        },
        style: {
          fontSize: theme.typography.pxToRem(36)
        }
      },
      {
        props: {
          color: "action"
        },
        style: {
          color: (theme.vars || theme).palette.action.active
        }
      },
      {
        props: {
          color: "disabled"
        },
        style: {
          color: (theme.vars || theme).palette.action.disabled
        }
      },
      {
        props: {
          color: "inherit"
        },
        style: {
          color: void 0
        }
      },
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
        props: {
          color
        },
        style: {
          color: (theme.vars || theme).palette[color].main
        }
      }))
    ]
  })));
  Icon = __mf_14(function Icon2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiIcon"
    });
    const { baseClassName = "material-icons", className, color = "inherit", component: Component = "span", fontSize = "medium", ...other } = props;
    const ownerState = {
      ...props,
      baseClassName,
      color,
      component: Component,
      fontSize
    };
    const classes = useUtilityClasses$F(ownerState);
    return jsxRuntimeExports.jsx(IconRoot, {
      as: Component,
      className: clsx(baseClassName, "notranslate", classes.root, className),
      ownerState,
      "aria-hidden": true,
      ref,
      ...other
    });
  });
  Icon.muiName = "Icon";
  getImageListUtilityClass = function(slot) {
    return generateUtilityClass("MuiImageList", slot);
  };
  imageListClasses = generateUtilityClasses("MuiImageList", [
    "root",
    "masonry",
    "quilted",
    "standard",
    "woven"
  ]);
  const ImageListContext = __mf_10({});
  const useUtilityClasses$E = (ownerState) => {
    const { classes, variant } = ownerState;
    const slots = {
      root: [
        "root",
        variant
      ]
    };
    return composeClasses(slots, getImageListUtilityClass, classes);
  };
  const ImageListRoot = styled("ul", {
    name: "MuiImageList",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[ownerState.variant]
      ];
    }
  })({
    display: "grid",
    overflowY: "auto",
    listStyle: "none",
    padding: 0,
    WebkitOverflowScrolling: "touch",
    variants: [
      {
        props: {
          variant: "masonry"
        },
        style: {
          display: "block"
        }
      }
    ]
  });
  ImageList = __mf_14(function ImageList2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiImageList"
    });
    const { children, className, cols = 2, component = "ul", rowHeight = "auto", gap = 4, style: styleProp, variant = "standard", ...other } = props;
    const contextValue = __mf_29(() => ({
      rowHeight,
      gap,
      variant
    }), [
      rowHeight,
      gap,
      variant
    ]);
    const style = variant === "masonry" ? {
      columnCount: cols,
      columnGap: gap,
      ...styleProp
    } : {
      gridTemplateColumns: `repeat(${cols}, 1fr)`,
      gap,
      ...styleProp
    };
    const ownerState = {
      ...props,
      component,
      gap,
      rowHeight,
      variant
    };
    const classes = useUtilityClasses$E(ownerState);
    return jsxRuntimeExports.jsx(ImageListRoot, {
      as: component,
      className: clsx(classes.root, classes[variant], className),
      ref,
      style,
      ownerState,
      ...other,
      children: jsxRuntimeExports.jsx(ImageListContext.Provider, {
        value: contextValue,
        children
      })
    });
  });
  getImageListItemUtilityClass = function(slot) {
    return generateUtilityClass("MuiImageListItem", slot);
  };
  imageListItemClasses = generateUtilityClasses("MuiImageListItem", [
    "root",
    "img",
    "standard",
    "woven",
    "masonry",
    "quilted"
  ]);
  const useUtilityClasses$D = (ownerState) => {
    const { classes, variant } = ownerState;
    const slots = {
      root: [
        "root",
        variant
      ],
      img: [
        "img"
      ]
    };
    return composeClasses(slots, getImageListItemUtilityClass, classes);
  };
  const ImageListItemRoot = styled("li", {
    name: "MuiImageListItem",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        {
          [`& .${imageListItemClasses.img}`]: styles2.img
        },
        styles2.root,
        styles2[ownerState.variant]
      ];
    }
  })({
    display: "block",
    position: "relative",
    [`& .${imageListItemClasses.img}`]: {
      objectFit: "cover",
      width: "100%",
      height: "100%",
      display: "block"
    },
    variants: [
      {
        props: {
          variant: "standard"
        },
        style: {
          display: "flex",
          flexDirection: "column"
        }
      },
      {
        props: {
          variant: "woven"
        },
        style: {
          height: "100%",
          alignSelf: "center",
          "&:nth-of-type(even)": {
            height: "70%"
          }
        }
      },
      {
        props: {
          variant: "standard"
        },
        style: {
          [`& .${imageListItemClasses.img}`]: {
            height: "auto",
            flexGrow: 1
          }
        }
      }
    ]
  });
  ImageListItem = __mf_14(function ImageListItem2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiImageListItem"
    });
    const { children, className, cols = 1, component = "li", rows = 1, style, ...other } = props;
    const { rowHeight = "auto", gap, variant } = __mf_21(ImageListContext);
    let height = "auto";
    if (variant === "woven") {
      height = void 0;
    } else if (rowHeight !== "auto") {
      height = rowHeight * rows + gap * (rows - 1);
    }
    const ownerState = {
      ...props,
      cols,
      component,
      gap,
      rowHeight,
      rows,
      variant
    };
    const classes = useUtilityClasses$D(ownerState);
    return jsxRuntimeExports.jsx(ImageListItemRoot, {
      as: component,
      className: clsx(classes.root, classes[variant], className),
      ref,
      style: {
        height,
        gridColumnEnd: variant !== "masonry" ? `span ${cols}` : void 0,
        gridRowEnd: variant !== "masonry" ? `span ${rows}` : void 0,
        marginBottom: variant === "masonry" ? gap : void 0,
        breakInside: variant === "masonry" ? "avoid" : void 0,
        ...style
      },
      ownerState,
      ...other,
      children: __mf_0.map(children, (child) => {
        if (!__mf_15(child)) {
          return null;
        }
        if (child.type === "img" || isMuiElement(child, [
          "Image"
        ])) {
          return __mf_9(child, {
            className: clsx(classes.img, child.props.className)
          });
        }
        return child;
      })
    });
  });
  getImageListItemBarUtilityClass = function(slot) {
    return generateUtilityClass("MuiImageListItemBar", slot);
  };
  imageListItemBarClasses = generateUtilityClasses("MuiImageListItemBar", [
    "root",
    "positionBottom",
    "positionTop",
    "positionBelow",
    "actionPositionLeft",
    "actionPositionRight",
    "titleWrap",
    "titleWrapBottom",
    "titleWrapTop",
    "titleWrapBelow",
    "titleWrapActionPosLeft",
    "titleWrapActionPosRight",
    "title",
    "subtitle",
    "actionIcon",
    "actionIconActionPosLeft",
    "actionIconActionPosRight"
  ]);
  const useUtilityClasses$C = (ownerState) => {
    const { classes, position, actionIcon, actionPosition } = ownerState;
    const slots = {
      root: [
        "root",
        `position${capitalize(position)}`,
        `actionPosition${capitalize(actionPosition)}`
      ],
      titleWrap: [
        "titleWrap",
        `titleWrap${capitalize(position)}`,
        actionIcon && `titleWrapActionPos${capitalize(actionPosition)}`
      ],
      title: [
        "title"
      ],
      subtitle: [
        "subtitle"
      ],
      actionIcon: [
        "actionIcon",
        `actionIconActionPos${capitalize(actionPosition)}`
      ]
    };
    return composeClasses(slots, getImageListItemBarUtilityClass, classes);
  };
  const ImageListItemBarRoot = styled("div", {
    name: "MuiImageListItemBar",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[`position${capitalize(ownerState.position)}`]
      ];
    }
  })(memoTheme(({ theme }) => {
    return {
      position: "absolute",
      left: 0,
      right: 0,
      background: "rgba(0, 0, 0, 0.5)",
      display: "flex",
      alignItems: "center",
      fontFamily: theme.typography.fontFamily,
      variants: [
        {
          props: {
            position: "bottom"
          },
          style: {
            bottom: 0
          }
        },
        {
          props: {
            position: "top"
          },
          style: {
            top: 0
          }
        },
        {
          props: {
            position: "below"
          },
          style: {
            position: "relative",
            background: "transparent",
            alignItems: "normal"
          }
        }
      ]
    };
  }));
  const ImageListItemBarTitleWrap = styled("div", {
    name: "MuiImageListItemBar",
    slot: "TitleWrap",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.titleWrap,
        styles2[`titleWrap${capitalize(ownerState.position)}`],
        ownerState.actionIcon && styles2[`titleWrapActionPos${capitalize(ownerState.actionPosition)}`]
      ];
    }
  })(memoTheme(({ theme }) => {
    return {
      flexGrow: 1,
      padding: "12px 16px",
      color: (theme.vars || theme).palette.common.white,
      overflow: "hidden",
      variants: [
        {
          props: {
            position: "below"
          },
          style: {
            padding: "6px 0 12px",
            color: "inherit"
          }
        },
        {
          props: ({ ownerState }) => ownerState.actionIcon && ownerState.actionPosition === "left",
          style: {
            paddingLeft: 0
          }
        },
        {
          props: ({ ownerState }) => ownerState.actionIcon && ownerState.actionPosition === "right",
          style: {
            paddingRight: 0
          }
        }
      ]
    };
  }));
  const ImageListItemBarTitle = styled("div", {
    name: "MuiImageListItemBar",
    slot: "Title",
    overridesResolver: (props, styles2) => styles2.title
  })(memoTheme(({ theme }) => {
    return {
      fontSize: theme.typography.pxToRem(16),
      lineHeight: "24px",
      textOverflow: "ellipsis",
      overflow: "hidden",
      whiteSpace: "nowrap"
    };
  }));
  const ImageListItemBarSubtitle = styled("div", {
    name: "MuiImageListItemBar",
    slot: "Subtitle",
    overridesResolver: (props, styles2) => styles2.subtitle
  })(memoTheme(({ theme }) => {
    return {
      fontSize: theme.typography.pxToRem(12),
      lineHeight: 1,
      textOverflow: "ellipsis",
      overflow: "hidden",
      whiteSpace: "nowrap"
    };
  }));
  const ImageListItemBarActionIcon = styled("div", {
    name: "MuiImageListItemBar",
    slot: "ActionIcon",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.actionIcon,
        styles2[`actionIconActionPos${capitalize(ownerState.actionPosition)}`]
      ];
    }
  })({
    variants: [
      {
        props: {
          actionPosition: "left"
        },
        style: {
          order: -1
        }
      }
    ]
  });
  ImageListItemBar = __mf_14(function ImageListItemBar2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiImageListItemBar"
    });
    const { actionIcon, actionPosition = "right", className, subtitle, title, position = "bottom", ...other } = props;
    const ownerState = {
      ...props,
      position,
      actionPosition
    };
    const classes = useUtilityClasses$C(ownerState);
    return jsxRuntimeExports.jsxs(ImageListItemBarRoot, {
      ownerState,
      className: clsx(classes.root, className),
      ref,
      ...other,
      children: [
        jsxRuntimeExports.jsxs(ImageListItemBarTitleWrap, {
          ownerState,
          className: classes.titleWrap,
          children: [
            jsxRuntimeExports.jsx(ImageListItemBarTitle, {
              className: classes.title,
              children: title
            }),
            subtitle ? jsxRuntimeExports.jsx(ImageListItemBarSubtitle, {
              className: classes.subtitle,
              children: subtitle
            }) : null
          ]
        }),
        actionIcon ? jsxRuntimeExports.jsx(ImageListItemBarActionIcon, {
          ownerState,
          className: classes.actionIcon,
          children: actionIcon
        }) : null
      ]
    });
  });
  getLinearProgressUtilityClass = function(slot) {
    return generateUtilityClass("MuiLinearProgress", slot);
  };
  linearProgressClasses = generateUtilityClasses("MuiLinearProgress", [
    "root",
    "colorPrimary",
    "colorSecondary",
    "determinate",
    "indeterminate",
    "buffer",
    "query",
    "dashed",
    "dashedColorPrimary",
    "dashedColorSecondary",
    "bar",
    "bar1",
    "bar2",
    "barColorPrimary",
    "barColorSecondary",
    "bar1Indeterminate",
    "bar1Determinate",
    "bar1Buffer",
    "bar2Indeterminate",
    "bar2Buffer"
  ]);
  const TRANSITION_DURATION = 4;
  const indeterminate1Keyframe = __mf_27`
  0% {
    left: -35%;
    right: 100%;
  }

  60% {
    left: 100%;
    right: -90%;
  }

  100% {
    left: 100%;
    right: -90%;
  }
`;
  const indeterminate1Animation = typeof indeterminate1Keyframe !== "string" ? __mf_17`
        animation: ${indeterminate1Keyframe} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
      ` : null;
  const indeterminate2Keyframe = __mf_27`
  0% {
    left: -200%;
    right: 100%;
  }

  60% {
    left: 107%;
    right: -8%;
  }

  100% {
    left: 107%;
    right: -8%;
  }
`;
  const indeterminate2Animation = typeof indeterminate2Keyframe !== "string" ? __mf_17`
        animation: ${indeterminate2Keyframe} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;
      ` : null;
  const bufferKeyframe = __mf_27`
  0% {
    opacity: 1;
    background-position: 0 -23px;
  }

  60% {
    opacity: 0;
    background-position: 0 -23px;
  }

  100% {
    opacity: 1;
    background-position: -200px -23px;
  }
`;
  const bufferAnimation = typeof bufferKeyframe !== "string" ? __mf_17`
        animation: ${bufferKeyframe} 3s infinite linear;
      ` : null;
  const useUtilityClasses$B = (ownerState) => {
    const { classes, variant, color } = ownerState;
    const slots = {
      root: [
        "root",
        `color${capitalize(color)}`,
        variant
      ],
      dashed: [
        "dashed",
        `dashedColor${capitalize(color)}`
      ],
      bar1: [
        "bar",
        "bar1",
        `barColor${capitalize(color)}`,
        (variant === "indeterminate" || variant === "query") && "bar1Indeterminate",
        variant === "determinate" && "bar1Determinate",
        variant === "buffer" && "bar1Buffer"
      ],
      bar2: [
        "bar",
        "bar2",
        variant !== "buffer" && `barColor${capitalize(color)}`,
        variant === "buffer" && `color${capitalize(color)}`,
        (variant === "indeterminate" || variant === "query") && "bar2Indeterminate",
        variant === "buffer" && "bar2Buffer"
      ]
    };
    return composeClasses(slots, getLinearProgressUtilityClass, classes);
  };
  const getColorShade = (theme, color) => {
    if (theme.vars) {
      return theme.vars.palette.LinearProgress[`${color}Bg`];
    }
    return theme.palette.mode === "light" ? lighten(theme.palette[color].main, 0.62) : darken(theme.palette[color].main, 0.5);
  };
  const LinearProgressRoot = styled("span", {
    name: "MuiLinearProgress",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[`color${capitalize(ownerState.color)}`],
        styles2[ownerState.variant]
      ];
    }
  })(memoTheme(({ theme }) => ({
    position: "relative",
    overflow: "hidden",
    display: "block",
    height: 4,
    zIndex: 0,
    "@media print": {
      colorAdjust: "exact"
    },
    variants: [
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
        props: {
          color
        },
        style: {
          backgroundColor: getColorShade(theme, color)
        }
      })),
      {
        props: ({ ownerState }) => ownerState.color === "inherit" && ownerState.variant !== "buffer",
        style: {
          "&::before": {
            content: '""',
            position: "absolute",
            left: 0,
            top: 0,
            right: 0,
            bottom: 0,
            backgroundColor: "currentColor",
            opacity: 0.3
          }
        }
      },
      {
        props: {
          variant: "buffer"
        },
        style: {
          backgroundColor: "transparent"
        }
      },
      {
        props: {
          variant: "query"
        },
        style: {
          transform: "rotate(180deg)"
        }
      }
    ]
  })));
  const LinearProgressDashed = styled("span", {
    name: "MuiLinearProgress",
    slot: "Dashed",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.dashed,
        styles2[`dashedColor${capitalize(ownerState.color)}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    position: "absolute",
    marginTop: 0,
    height: "100%",
    width: "100%",
    backgroundSize: "10px 10px",
    backgroundPosition: "0 -23px",
    variants: [
      {
        props: {
          color: "inherit"
        },
        style: {
          opacity: 0.3,
          backgroundImage: `radial-gradient(currentColor 0%, currentColor 16%, transparent 42%)`
        }
      },
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => {
        const backgroundColor = getColorShade(theme, color);
        return {
          props: {
            color
          },
          style: {
            backgroundImage: `radial-gradient(${backgroundColor} 0%, ${backgroundColor} 16%, transparent 42%)`
          }
        };
      })
    ]
  })), bufferAnimation || {
    animation: `${bufferKeyframe} 3s infinite linear`
  });
  const LinearProgressBar1 = styled("span", {
    name: "MuiLinearProgress",
    slot: "Bar1",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.bar,
        styles2.bar1,
        styles2[`barColor${capitalize(ownerState.color)}`],
        (ownerState.variant === "indeterminate" || ownerState.variant === "query") && styles2.bar1Indeterminate,
        ownerState.variant === "determinate" && styles2.bar1Determinate,
        ownerState.variant === "buffer" && styles2.bar1Buffer
      ];
    }
  })(memoTheme(({ theme }) => ({
    width: "100%",
    position: "absolute",
    left: 0,
    bottom: 0,
    top: 0,
    transition: "transform 0.2s linear",
    transformOrigin: "left",
    variants: [
      {
        props: {
          color: "inherit"
        },
        style: {
          backgroundColor: "currentColor"
        }
      },
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
        props: {
          color
        },
        style: {
          backgroundColor: (theme.vars || theme).palette[color].main
        }
      })),
      {
        props: {
          variant: "determinate"
        },
        style: {
          transition: `transform .${TRANSITION_DURATION}s linear`
        }
      },
      {
        props: {
          variant: "buffer"
        },
        style: {
          zIndex: 1,
          transition: `transform .${TRANSITION_DURATION}s linear`
        }
      },
      {
        props: ({ ownerState }) => ownerState.variant === "indeterminate" || ownerState.variant === "query",
        style: {
          width: "auto"
        }
      },
      {
        props: ({ ownerState }) => ownerState.variant === "indeterminate" || ownerState.variant === "query",
        style: indeterminate1Animation || {
          animation: `${indeterminate1Keyframe} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite`
        }
      }
    ]
  })));
  const LinearProgressBar2 = styled("span", {
    name: "MuiLinearProgress",
    slot: "Bar2",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.bar,
        styles2.bar2,
        styles2[`barColor${capitalize(ownerState.color)}`],
        (ownerState.variant === "indeterminate" || ownerState.variant === "query") && styles2.bar2Indeterminate,
        ownerState.variant === "buffer" && styles2.bar2Buffer
      ];
    }
  })(memoTheme(({ theme }) => ({
    width: "100%",
    position: "absolute",
    left: 0,
    bottom: 0,
    top: 0,
    transition: "transform 0.2s linear",
    transformOrigin: "left",
    variants: [
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
        props: {
          color
        },
        style: {
          "--LinearProgressBar2-barColor": (theme.vars || theme).palette[color].main
        }
      })),
      {
        props: ({ ownerState }) => ownerState.variant !== "buffer" && ownerState.color !== "inherit",
        style: {
          backgroundColor: "var(--LinearProgressBar2-barColor, currentColor)"
        }
      },
      {
        props: ({ ownerState }) => ownerState.variant !== "buffer" && ownerState.color === "inherit",
        style: {
          backgroundColor: "currentColor"
        }
      },
      {
        props: {
          color: "inherit"
        },
        style: {
          opacity: 0.3
        }
      },
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
        props: {
          color,
          variant: "buffer"
        },
        style: {
          backgroundColor: getColorShade(theme, color),
          transition: `transform .${TRANSITION_DURATION}s linear`
        }
      })),
      {
        props: ({ ownerState }) => ownerState.variant === "indeterminate" || ownerState.variant === "query",
        style: {
          width: "auto"
        }
      },
      {
        props: ({ ownerState }) => ownerState.variant === "indeterminate" || ownerState.variant === "query",
        style: indeterminate2Animation || {
          animation: `${indeterminate2Keyframe} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite`
        }
      }
    ]
  })));
  LinearProgress = __mf_14(function LinearProgress2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiLinearProgress"
    });
    const { className, color = "primary", value, valueBuffer, variant = "indeterminate", ...other } = props;
    const ownerState = {
      ...props,
      color,
      variant
    };
    const classes = useUtilityClasses$B(ownerState);
    const isRtl = useRtl();
    const rootProps = {};
    const inlineStyles = {
      bar1: {},
      bar2: {}
    };
    if (variant === "determinate" || variant === "buffer") {
      if (value !== void 0) {
        rootProps["aria-valuenow"] = Math.round(value);
        rootProps["aria-valuemin"] = 0;
        rootProps["aria-valuemax"] = 100;
        let transform = value - 100;
        if (isRtl) {
          transform = -transform;
        }
        inlineStyles.bar1.transform = `translateX(${transform}%)`;
      }
    }
    if (variant === "buffer") {
      if (valueBuffer !== void 0) {
        let transform = (valueBuffer || 0) - 100;
        if (isRtl) {
          transform = -transform;
        }
        inlineStyles.bar2.transform = `translateX(${transform}%)`;
      }
    }
    return jsxRuntimeExports.jsxs(LinearProgressRoot, {
      className: clsx(classes.root, className),
      ownerState,
      role: "progressbar",
      ...rootProps,
      ref,
      ...other,
      children: [
        variant === "buffer" ? jsxRuntimeExports.jsx(LinearProgressDashed, {
          className: classes.dashed,
          ownerState
        }) : null,
        jsxRuntimeExports.jsx(LinearProgressBar1, {
          className: classes.bar1,
          ownerState,
          style: inlineStyles.bar1
        }),
        variant === "determinate" ? null : jsxRuntimeExports.jsx(LinearProgressBar2, {
          className: classes.bar2,
          ownerState,
          style: inlineStyles.bar2
        })
      ]
    });
  });
  getLinkUtilityClass = function(slot) {
    return generateUtilityClass("MuiLink", slot);
  };
  linkClasses = generateUtilityClasses("MuiLink", [
    "root",
    "underlineNone",
    "underlineHover",
    "underlineAlways",
    "button",
    "focusVisible"
  ]);
  const getTextDecoration = ({ theme, ownerState }) => {
    const transformedColor = ownerState.color;
    const color = getPath(theme, `palette.${transformedColor}.main`, false) || getPath(theme, `palette.${transformedColor}`, false) || ownerState.color;
    const channelColor = getPath(theme, `palette.${transformedColor}.mainChannel`) || getPath(theme, `palette.${transformedColor}Channel`);
    if ("vars" in theme && channelColor) {
      return `rgba(${channelColor} / 0.4)`;
    }
    return alpha(color, 0.4);
  };
  const v6Colors = {
    primary: true,
    secondary: true,
    error: true,
    info: true,
    success: true,
    warning: true,
    textPrimary: true,
    textSecondary: true,
    textDisabled: true
  };
  const useUtilityClasses$A = (ownerState) => {
    const { classes, component, focusVisible, underline } = ownerState;
    const slots = {
      root: [
        "root",
        `underline${capitalize(underline)}`,
        component === "button" && "button",
        focusVisible && "focusVisible"
      ]
    };
    return composeClasses(slots, getLinkUtilityClass, classes);
  };
  const LinkRoot = styled(Typography, {
    name: "MuiLink",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[`underline${capitalize(ownerState.underline)}`],
        ownerState.component === "button" && styles2.button
      ];
    }
  })(memoTheme(({ theme }) => {
    return {
      variants: [
        {
          props: {
            underline: "none"
          },
          style: {
            textDecoration: "none"
          }
        },
        {
          props: {
            underline: "hover"
          },
          style: {
            textDecoration: "none",
            "&:hover": {
              textDecoration: "underline"
            }
          }
        },
        {
          props: {
            underline: "always"
          },
          style: {
            textDecoration: "underline",
            "&:hover": {
              textDecorationColor: "inherit"
            }
          }
        },
        {
          props: ({ underline, ownerState }) => underline === "always" && ownerState.color !== "inherit",
          style: {
            textDecorationColor: "var(--Link-underlineColor)"
          }
        },
        ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
          props: {
            underline: "always",
            color
          },
          style: {
            "--Link-underlineColor": theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / 0.4)` : alpha(theme.palette[color].main, 0.4)
          }
        })),
        {
          props: {
            underline: "always",
            color: "textPrimary"
          },
          style: {
            "--Link-underlineColor": theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / 0.4)` : alpha(theme.palette.text.primary, 0.4)
          }
        },
        {
          props: {
            underline: "always",
            color: "textSecondary"
          },
          style: {
            "--Link-underlineColor": theme.vars ? `rgba(${theme.vars.palette.text.secondaryChannel} / 0.4)` : alpha(theme.palette.text.secondary, 0.4)
          }
        },
        {
          props: {
            underline: "always",
            color: "textDisabled"
          },
          style: {
            "--Link-underlineColor": (theme.vars || theme).palette.text.disabled
          }
        },
        {
          props: {
            component: "button"
          },
          style: {
            position: "relative",
            WebkitTapHighlightColor: "transparent",
            backgroundColor: "transparent",
            outline: 0,
            border: 0,
            margin: 0,
            borderRadius: 0,
            padding: 0,
            cursor: "pointer",
            userSelect: "none",
            verticalAlign: "middle",
            MozAppearance: "none",
            WebkitAppearance: "none",
            "&::-moz-focus-inner": {
              borderStyle: "none"
            },
            [`&.${linkClasses.focusVisible}`]: {
              outline: "auto"
            }
          }
        }
      ]
    };
  }));
  Link = __mf_14(function Link2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiLink"
    });
    const theme = useTheme();
    const { className, color = "primary", component = "a", onBlur, onFocus, TypographyClasses, underline = "always", variant = "inherit", sx, ...other } = props;
    const [focusVisible, setFocusVisible] = __mf_32(false);
    const handleBlur = (event) => {
      if (!isFocusVisible(event.target)) {
        setFocusVisible(false);
      }
      if (onBlur) {
        onBlur(event);
      }
    };
    const handleFocus = (event) => {
      if (isFocusVisible(event.target)) {
        setFocusVisible(true);
      }
      if (onFocus) {
        onFocus(event);
      }
    };
    const ownerState = {
      ...props,
      color,
      component,
      focusVisible,
      underline,
      variant
    };
    const classes = useUtilityClasses$A(ownerState);
    return jsxRuntimeExports.jsx(LinkRoot, {
      color,
      className: clsx(classes.root, className),
      classes: TypographyClasses,
      component,
      onBlur: handleBlur,
      onFocus: handleFocus,
      ref,
      ownerState,
      variant,
      ...other,
      sx: [
        ...v6Colors[color] === void 0 ? [
          {
            color
          }
        ] : [],
        ...Array.isArray(sx) ? sx : [
          sx
        ]
      ],
      style: {
        ...other.style,
        ...underline === "always" && color !== "inherit" && !v6Colors[color] && {
          "--Link-underlineColor": getTextDecoration({
            theme,
            ownerState
          })
        }
      }
    });
  });
  getListItemAvatarUtilityClass = function(slot) {
    return generateUtilityClass("MuiListItemAvatar", slot);
  };
  listItemAvatarClasses = generateUtilityClasses("MuiListItemAvatar", [
    "root",
    "alignItemsFlexStart"
  ]);
  const useUtilityClasses$z = (ownerState) => {
    const { alignItems, classes } = ownerState;
    const slots = {
      root: [
        "root",
        alignItems === "flex-start" && "alignItemsFlexStart"
      ]
    };
    return composeClasses(slots, getListItemAvatarUtilityClass, classes);
  };
  const ListItemAvatarRoot = styled("div", {
    name: "MuiListItemAvatar",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        ownerState.alignItems === "flex-start" && styles2.alignItemsFlexStart
      ];
    }
  })({
    minWidth: 56,
    flexShrink: 0,
    variants: [
      {
        props: {
          alignItems: "flex-start"
        },
        style: {
          marginTop: 8
        }
      }
    ]
  });
  ListItemAvatar = __mf_14(function ListItemAvatar2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiListItemAvatar"
    });
    const { className, ...other } = props;
    const context = __mf_21(ListContext);
    const ownerState = {
      ...props,
      alignItems: context.alignItems
    };
    const classes = useUtilityClasses$z(ownerState);
    return jsxRuntimeExports.jsx(ListItemAvatarRoot, {
      className: clsx(classes.root, className),
      ownerState,
      ref,
      ...other
    });
  });
  getMobileStepperUtilityClass = function(slot) {
    return generateUtilityClass("MuiMobileStepper", slot);
  };
  mobileStepperClasses = generateUtilityClasses("MuiMobileStepper", [
    "root",
    "positionBottom",
    "positionTop",
    "positionStatic",
    "dots",
    "dot",
    "dotActive",
    "progress"
  ]);
  const useUtilityClasses$y = (ownerState) => {
    const { classes, position } = ownerState;
    const slots = {
      root: [
        "root",
        `position${capitalize(position)}`
      ],
      dots: [
        "dots"
      ],
      dot: [
        "dot"
      ],
      dotActive: [
        "dotActive"
      ],
      progress: [
        "progress"
      ]
    };
    return composeClasses(slots, getMobileStepperUtilityClass, classes);
  };
  const MobileStepperRoot = styled(Paper, {
    name: "MuiMobileStepper",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[`position${capitalize(ownerState.position)}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    display: "flex",
    flexDirection: "row",
    justifyContent: "space-between",
    alignItems: "center",
    background: (theme.vars || theme).palette.background.default,
    padding: 8,
    variants: [
      {
        props: ({ position }) => position === "top" || position === "bottom",
        style: {
          position: "fixed",
          left: 0,
          right: 0,
          zIndex: (theme.vars || theme).zIndex.mobileStepper
        }
      },
      {
        props: {
          position: "top"
        },
        style: {
          top: 0
        }
      },
      {
        props: {
          position: "bottom"
        },
        style: {
          bottom: 0
        }
      }
    ]
  })));
  const MobileStepperDots = styled("div", {
    name: "MuiMobileStepper",
    slot: "Dots",
    overridesResolver: (props, styles2) => styles2.dots
  })({
    variants: [
      {
        props: {
          variant: "dots"
        },
        style: {
          display: "flex",
          flexDirection: "row"
        }
      }
    ]
  });
  const MobileStepperDot = styled("div", {
    name: "MuiMobileStepper",
    slot: "Dot",
    shouldForwardProp: (prop) => slotShouldForwardProp(prop) && prop !== "dotActive",
    overridesResolver: (props, styles2) => {
      const { dotActive } = props;
      return [
        styles2.dot,
        dotActive && styles2.dotActive
      ];
    }
  })(memoTheme(({ theme }) => ({
    variants: [
      {
        props: {
          variant: "dots"
        },
        style: {
          transition: theme.transitions.create("background-color", {
            duration: theme.transitions.duration.shortest
          }),
          backgroundColor: (theme.vars || theme).palette.action.disabled,
          borderRadius: "50%",
          width: 8,
          height: 8,
          margin: "0 2px"
        }
      },
      {
        props: {
          variant: "dots",
          dotActive: true
        },
        style: {
          backgroundColor: (theme.vars || theme).palette.primary.main
        }
      }
    ]
  })));
  const MobileStepperProgress = styled(LinearProgress, {
    name: "MuiMobileStepper",
    slot: "Progress",
    overridesResolver: (props, styles2) => styles2.progress
  })({
    variants: [
      {
        props: {
          variant: "progress"
        },
        style: {
          width: "50%"
        }
      }
    ]
  });
  MobileStepper = __mf_14(function MobileStepper2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiMobileStepper"
    });
    const { activeStep = 0, backButton, className, LinearProgressProps, nextButton, position = "bottom", steps, variant = "dots", slots = {}, slotProps = {}, ...other } = props;
    const ownerState = {
      ...props,
      activeStep,
      position,
      variant
    };
    let value;
    if (variant === "progress") {
      if (steps === 1) {
        value = 100;
      } else {
        value = Math.ceil(activeStep / (steps - 1) * 100);
      }
    }
    const classes = useUtilityClasses$y(ownerState);
    const externalForwardedProps = {
      slots,
      slotProps: {
        progress: LinearProgressProps,
        ...slotProps
      }
    };
    const [RootSlot, rootSlotProps] = useSlot("root", {
      ref,
      elementType: MobileStepperRoot,
      shouldForwardComponentProp: true,
      className: clsx(classes.root, className),
      externalForwardedProps: {
        ...externalForwardedProps,
        ...other
      },
      ownerState,
      additionalProps: {
        square: true,
        elevation: 0
      }
    });
    const [DotsSlot, dotsSlotProps] = useSlot("dots", {
      className: classes.dots,
      elementType: MobileStepperDots,
      externalForwardedProps,
      ownerState
    });
    const [DotSlot, dotSlotProps] = useSlot("dot", {
      elementType: MobileStepperDot,
      externalForwardedProps,
      ownerState
    });
    const [ProgressSlot, progressSlotProps] = useSlot("progress", {
      className: classes.progress,
      elementType: MobileStepperProgress,
      shouldForwardComponentProp: true,
      externalForwardedProps,
      ownerState,
      additionalProps: {
        value,
        variant: "determinate"
      }
    });
    return jsxRuntimeExports.jsxs(RootSlot, {
      ...rootSlotProps,
      children: [
        backButton,
        variant === "text" && jsxRuntimeExports.jsxs(__mf_2, {
          children: [
            activeStep + 1,
            " / ",
            steps
          ]
        }),
        variant === "dots" && jsxRuntimeExports.jsx(DotsSlot, {
          ...dotsSlotProps,
          children: [
            ...new Array(steps)
          ].map((_2, index2) => jsxRuntimeExports.jsx(DotSlot, {
            ...dotSlotProps,
            className: clsx(classes.dot, dotSlotProps.className, index2 === activeStep && classes.dotActive),
            dotActive: index2 === activeStep
          }, index2))
        }),
        variant === "progress" && jsxRuntimeExports.jsx(ProgressSlot, {
          ...progressSlotProps
        }),
        nextButton
      ]
    });
  });
  const useUtilityClasses$x = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ]
    };
    return composeClasses(slots, getNativeSelectUtilityClasses, classes);
  };
  const defaultInput = jsxRuntimeExports.jsx(Input, {});
  NativeSelect = __mf_14(function NativeSelect2(inProps, ref) {
    const props = useDefaultProps({
      name: "MuiNativeSelect",
      props: inProps
    });
    const { className, children, classes: classesProp = {}, IconComponent = ArrowDropDownIcon, input = defaultInput, inputProps, variant, ...other } = props;
    const muiFormControl = useFormControl();
    const fcs = formControlState({
      props,
      muiFormControl,
      states: [
        "variant"
      ]
    });
    const ownerState = {
      ...props,
      classes: classesProp
    };
    const classes = useUtilityClasses$x(ownerState);
    const { root, ...otherClasses } = classesProp;
    return jsxRuntimeExports.jsx(__mf_2, {
      children: __mf_9(input, {
        inputComponent: NativeSelectInput,
        inputProps: {
          children,
          classes: otherClasses,
          IconComponent,
          variant: fcs.variant,
          type: void 0,
          ...inputProps,
          ...input ? input.props.inputProps : {}
        },
        ref,
        ...other,
        className: clsx(classes.root, input.props.className, className)
      })
    });
  });
  NativeSelect.muiName = "Select";
  NoSsr = function(props) {
    const { children, defer = false, fallback = null } = props;
    const [mountedState, setMountedState] = __mf_32(false);
    useEnhancedEffect(() => {
      if (!defer) {
        setMountedState(true);
      }
    }, [
      defer
    ]);
    __mf_24(() => {
      if (defer) {
        setMountedState(true);
      }
    }, [
      defer
    ]);
    return mountedState ? children : fallback;
  };
  getPaginationUtilityClass = function(slot) {
    return generateUtilityClass("MuiPagination", slot);
  };
  paginationClasses = generateUtilityClasses("MuiPagination", [
    "root",
    "ul",
    "outlined",
    "text"
  ]);
  usePagination = function(props = {}) {
    const { boundaryCount = 1, componentName = "usePagination", count = 1, defaultPage = 1, disabled = false, hideNextButton = false, hidePrevButton = false, onChange: handleChange, page: pageProp, showFirstButton = false, showLastButton = false, siblingCount = 1, ...other } = props;
    const [page, setPageState] = useControlled({
      controlled: pageProp,
      default: defaultPage,
      name: componentName,
      state: "page"
    });
    const handleClick = (event, value) => {
      if (!pageProp) {
        setPageState(value);
      }
      if (handleChange) {
        handleChange(event, value);
      }
    };
    const range = (start, end) => {
      const length = end - start + 1;
      return Array.from({
        length
      }, (_2, i3) => start + i3);
    };
    const startPages = range(1, Math.min(boundaryCount, count));
    const endPages = range(Math.max(count - boundaryCount + 1, boundaryCount + 1), count);
    const siblingsStart = Math.max(Math.min(page - siblingCount, count - boundaryCount - siblingCount * 2 - 1), boundaryCount + 2);
    const siblingsEnd = Math.min(Math.max(page + siblingCount, boundaryCount + siblingCount * 2 + 2), count - boundaryCount - 1);
    const itemList = [
      ...showFirstButton ? [
        "first"
      ] : [],
      ...hidePrevButton ? [] : [
        "previous"
      ],
      ...startPages,
      ...siblingsStart > boundaryCount + 2 ? [
        "start-ellipsis"
      ] : boundaryCount + 1 < count - boundaryCount ? [
        boundaryCount + 1
      ] : [],
      ...range(siblingsStart, siblingsEnd),
      ...siblingsEnd < count - boundaryCount - 1 ? [
        "end-ellipsis"
      ] : count - boundaryCount > boundaryCount ? [
        count - boundaryCount
      ] : [],
      ...endPages,
      ...hideNextButton ? [] : [
        "next"
      ],
      ...showLastButton ? [
        "last"
      ] : []
    ];
    const buttonPage = (type) => {
      switch (type) {
        case "first":
          return 1;
        case "previous":
          return page - 1;
        case "next":
          return page + 1;
        case "last":
          return count;
        default:
          return null;
      }
    };
    const items = itemList.map((item) => {
      return typeof item === "number" ? {
        onClick: (event) => {
          handleClick(event, item);
        },
        type: "page",
        page: item,
        selected: item === page,
        disabled,
        "aria-current": item === page ? "page" : void 0
      } : {
        onClick: (event) => {
          handleClick(event, buttonPage(item));
        },
        type: item,
        page: buttonPage(item),
        selected: false,
        disabled: disabled || !item.includes("ellipsis") && (item === "next" || item === "last" ? page >= count : page <= 1)
      };
    });
    return {
      items,
      ...other
    };
  };
  getPaginationItemUtilityClass = function(slot) {
    return generateUtilityClass("MuiPaginationItem", slot);
  };
  paginationItemClasses = generateUtilityClasses("MuiPaginationItem", [
    "root",
    "page",
    "sizeSmall",
    "sizeLarge",
    "text",
    "textPrimary",
    "textSecondary",
    "outlined",
    "outlinedPrimary",
    "outlinedSecondary",
    "rounded",
    "ellipsis",
    "firstLast",
    "previousNext",
    "focusVisible",
    "disabled",
    "selected",
    "icon",
    "colorPrimary",
    "colorSecondary"
  ]);
  const FirstPageIconDefault = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"
  }), "FirstPage");
  const LastPageIconDefault = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"
  }), "LastPage");
  const NavigateBeforeIcon = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"
  }), "NavigateBefore");
  const NavigateNextIcon = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"
  }), "NavigateNext");
  const overridesResolver = (props, styles2) => {
    const { ownerState } = props;
    return [
      styles2.root,
      styles2[ownerState.variant],
      styles2[`size${capitalize(ownerState.size)}`],
      ownerState.variant === "text" && styles2[`text${capitalize(ownerState.color)}`],
      ownerState.variant === "outlined" && styles2[`outlined${capitalize(ownerState.color)}`],
      ownerState.shape === "rounded" && styles2.rounded,
      ownerState.type === "page" && styles2.page,
      (ownerState.type === "start-ellipsis" || ownerState.type === "end-ellipsis") && styles2.ellipsis,
      (ownerState.type === "previous" || ownerState.type === "next") && styles2.previousNext,
      (ownerState.type === "first" || ownerState.type === "last") && styles2.firstLast
    ];
  };
  const useUtilityClasses$w = (ownerState) => {
    const { classes, color, disabled, selected, size, shape, type, variant } = ownerState;
    const slots = {
      root: [
        "root",
        `size${capitalize(size)}`,
        variant,
        shape,
        color !== "standard" && `color${capitalize(color)}`,
        color !== "standard" && `${variant}${capitalize(color)}`,
        disabled && "disabled",
        selected && "selected",
        {
          page: "page",
          first: "firstLast",
          last: "firstLast",
          "start-ellipsis": "ellipsis",
          "end-ellipsis": "ellipsis",
          previous: "previousNext",
          next: "previousNext"
        }[type]
      ],
      icon: [
        "icon"
      ]
    };
    return composeClasses(slots, getPaginationItemUtilityClass, classes);
  };
  const PaginationItemEllipsis = styled("div", {
    name: "MuiPaginationItem",
    slot: "Root",
    overridesResolver
  })(memoTheme(({ theme }) => ({
    ...theme.typography.body2,
    borderRadius: 32 / 2,
    textAlign: "center",
    boxSizing: "border-box",
    minWidth: 32,
    padding: "0 6px",
    margin: "0 3px",
    color: (theme.vars || theme).palette.text.primary,
    height: "auto",
    [`&.${paginationItemClasses.disabled}`]: {
      opacity: (theme.vars || theme).palette.action.disabledOpacity
    },
    variants: [
      {
        props: {
          size: "small"
        },
        style: {
          minWidth: 26,
          borderRadius: 26 / 2,
          margin: "0 1px",
          padding: "0 4px"
        }
      },
      {
        props: {
          size: "large"
        },
        style: {
          minWidth: 40,
          borderRadius: 40 / 2,
          padding: "0 10px",
          fontSize: theme.typography.pxToRem(15)
        }
      }
    ]
  })));
  const PaginationItemPage = styled(ButtonBase, {
    name: "MuiPaginationItem",
    slot: "Root",
    overridesResolver
  })(memoTheme(({ theme }) => ({
    ...theme.typography.body2,
    borderRadius: 32 / 2,
    textAlign: "center",
    boxSizing: "border-box",
    minWidth: 32,
    height: 32,
    padding: "0 6px",
    margin: "0 3px",
    color: (theme.vars || theme).palette.text.primary,
    [`&.${paginationItemClasses.focusVisible}`]: {
      backgroundColor: (theme.vars || theme).palette.action.focus
    },
    [`&.${paginationItemClasses.disabled}`]: {
      opacity: (theme.vars || theme).palette.action.disabledOpacity
    },
    transition: theme.transitions.create([
      "color",
      "background-color"
    ], {
      duration: theme.transitions.duration.short
    }),
    "&:hover": {
      backgroundColor: (theme.vars || theme).palette.action.hover,
      "@media (hover: none)": {
        backgroundColor: "transparent"
      }
    },
    [`&.${paginationItemClasses.selected}`]: {
      backgroundColor: (theme.vars || theme).palette.action.selected,
      "&:hover": {
        backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),
        "@media (hover: none)": {
          backgroundColor: (theme.vars || theme).palette.action.selected
        }
      },
      [`&.${paginationItemClasses.focusVisible}`]: {
        backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)
      },
      [`&.${paginationItemClasses.disabled}`]: {
        opacity: 1,
        color: (theme.vars || theme).palette.action.disabled,
        backgroundColor: (theme.vars || theme).palette.action.selected
      }
    },
    variants: [
      {
        props: {
          size: "small"
        },
        style: {
          minWidth: 26,
          height: 26,
          borderRadius: 26 / 2,
          margin: "0 1px",
          padding: "0 4px"
        }
      },
      {
        props: {
          size: "large"
        },
        style: {
          minWidth: 40,
          height: 40,
          borderRadius: 40 / 2,
          padding: "0 10px",
          fontSize: theme.typography.pxToRem(15)
        }
      },
      {
        props: {
          shape: "rounded"
        },
        style: {
          borderRadius: (theme.vars || theme).shape.borderRadius
        }
      },
      {
        props: {
          variant: "outlined"
        },
        style: {
          border: theme.vars ? `1px solid rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : `1px solid ${theme.palette.mode === "light" ? "rgba(0, 0, 0, 0.23)" : "rgba(255, 255, 255, 0.23)"}`,
          [`&.${paginationItemClasses.selected}`]: {
            [`&.${paginationItemClasses.disabled}`]: {
              borderColor: (theme.vars || theme).palette.action.disabledBackground,
              color: (theme.vars || theme).palette.action.disabled
            }
          }
        }
      },
      {
        props: {
          variant: "text"
        },
        style: {
          [`&.${paginationItemClasses.selected}`]: {
            [`&.${paginationItemClasses.disabled}`]: {
              color: (theme.vars || theme).palette.action.disabled
            }
          }
        }
      },
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter([
        "dark",
        "contrastText"
      ])).map(([color]) => ({
        props: {
          variant: "text",
          color
        },
        style: {
          [`&.${paginationItemClasses.selected}`]: {
            color: (theme.vars || theme).palette[color].contrastText,
            backgroundColor: (theme.vars || theme).palette[color].main,
            "&:hover": {
              backgroundColor: (theme.vars || theme).palette[color].dark,
              "@media (hover: none)": {
                backgroundColor: (theme.vars || theme).palette[color].main
              }
            },
            [`&.${paginationItemClasses.focusVisible}`]: {
              backgroundColor: (theme.vars || theme).palette[color].dark
            },
            [`&.${paginationItemClasses.disabled}`]: {
              color: (theme.vars || theme).palette.action.disabled
            }
          }
        }
      })),
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter([
        "light"
      ])).map(([color]) => ({
        props: {
          variant: "outlined",
          color
        },
        style: {
          [`&.${paginationItemClasses.selected}`]: {
            color: (theme.vars || theme).palette[color].main,
            border: `1px solid ${theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / 0.5)` : alpha(theme.palette[color].main, 0.5)}`,
            backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.activatedOpacity})` : alpha(theme.palette[color].main, theme.palette.action.activatedOpacity),
            "&:hover": {
              backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / calc(${theme.vars.palette.action.activatedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette[color].main, theme.palette.action.activatedOpacity + theme.palette.action.focusOpacity),
              "@media (hover: none)": {
                backgroundColor: "transparent"
              }
            },
            [`&.${paginationItemClasses.focusVisible}`]: {
              backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / calc(${theme.vars.palette.action.activatedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette[color].main, theme.palette.action.activatedOpacity + theme.palette.action.focusOpacity)
            }
          }
        }
      }))
    ]
  })));
  const PaginationItemPageIcon = styled("div", {
    name: "MuiPaginationItem",
    slot: "Icon",
    overridesResolver: (props, styles2) => styles2.icon
  })(memoTheme(({ theme }) => ({
    fontSize: theme.typography.pxToRem(20),
    margin: "0 -8px",
    variants: [
      {
        props: {
          size: "small"
        },
        style: {
          fontSize: theme.typography.pxToRem(18)
        }
      },
      {
        props: {
          size: "large"
        },
        style: {
          fontSize: theme.typography.pxToRem(22)
        }
      }
    ]
  })));
  PaginationItem = __mf_14(function PaginationItem2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiPaginationItem"
    });
    const { className, color = "standard", component, components = {}, disabled = false, page, selected = false, shape = "circular", size = "medium", slots = {}, slotProps = {}, type = "page", variant = "text", ...other } = props;
    const ownerState = {
      ...props,
      color,
      disabled,
      selected,
      shape,
      size,
      type,
      variant
    };
    const isRtl = useRtl();
    const classes = useUtilityClasses$w(ownerState);
    const externalForwardedProps = {
      slots: {
        previous: slots.previous ?? components.previous,
        next: slots.next ?? components.next,
        first: slots.first ?? components.first,
        last: slots.last ?? components.last
      },
      slotProps
    };
    const [PreviousSlot, previousSlotProps] = useSlot("previous", {
      elementType: NavigateBeforeIcon,
      externalForwardedProps,
      ownerState
    });
    const [NextSlot, nextSlotProps] = useSlot("next", {
      elementType: NavigateNextIcon,
      externalForwardedProps,
      ownerState
    });
    const [FirstSlot, firstSlotProps] = useSlot("first", {
      elementType: FirstPageIconDefault,
      externalForwardedProps,
      ownerState
    });
    const [LastSlot, lastSlotProps] = useSlot("last", {
      elementType: LastPageIconDefault,
      externalForwardedProps,
      ownerState
    });
    const rtlAwareType = isRtl ? {
      previous: "next",
      next: "previous",
      first: "last",
      last: "first"
    }[type] : type;
    const IconSlot = {
      previous: PreviousSlot,
      next: NextSlot,
      first: FirstSlot,
      last: LastSlot
    }[rtlAwareType];
    const iconSlotProps = {
      previous: previousSlotProps,
      next: nextSlotProps,
      first: firstSlotProps,
      last: lastSlotProps
    }[rtlAwareType];
    return type === "start-ellipsis" || type === "end-ellipsis" ? jsxRuntimeExports.jsx(PaginationItemEllipsis, {
      ref,
      ownerState,
      className: clsx(classes.root, className),
      children: "\u2026"
    }) : jsxRuntimeExports.jsxs(PaginationItemPage, {
      ref,
      ownerState,
      component,
      disabled,
      className: clsx(classes.root, className),
      ...other,
      children: [
        type === "page" && page,
        IconSlot ? jsxRuntimeExports.jsx(PaginationItemPageIcon, {
          ...iconSlotProps,
          className: classes.icon,
          as: IconSlot
        }) : null
      ]
    });
  });
  const useUtilityClasses$v = (ownerState) => {
    const { classes, variant } = ownerState;
    const slots = {
      root: [
        "root",
        variant
      ],
      ul: [
        "ul"
      ]
    };
    return composeClasses(slots, getPaginationUtilityClass, classes);
  };
  const PaginationRoot = styled("nav", {
    name: "MuiPagination",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[ownerState.variant]
      ];
    }
  })({});
  const PaginationUl = styled("ul", {
    name: "MuiPagination",
    slot: "Ul",
    overridesResolver: (props, styles2) => styles2.ul
  })({
    display: "flex",
    flexWrap: "wrap",
    alignItems: "center",
    padding: 0,
    margin: 0,
    listStyle: "none"
  });
  function defaultGetAriaLabel$1(type, page, selected) {
    if (type === "page") {
      return `${selected ? "" : "Go to "}page ${page}`;
    }
    return `Go to ${type} page`;
  }
  Pagination = __mf_14(function Pagination2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiPagination"
    });
    const { boundaryCount = 1, className, color = "standard", count = 1, defaultPage = 1, disabled = false, getItemAriaLabel = defaultGetAriaLabel$1, hideNextButton = false, hidePrevButton = false, onChange, page, renderItem = (item) => jsxRuntimeExports.jsx(PaginationItem, {
      ...item
    }), shape = "circular", showFirstButton = false, showLastButton = false, siblingCount = 1, size = "medium", variant = "text", ...other } = props;
    const { items } = usePagination({
      ...props,
      componentName: "Pagination"
    });
    const ownerState = {
      ...props,
      boundaryCount,
      color,
      count,
      defaultPage,
      disabled,
      getItemAriaLabel,
      hideNextButton,
      hidePrevButton,
      renderItem,
      shape,
      showFirstButton,
      showLastButton,
      siblingCount,
      size,
      variant
    };
    const classes = useUtilityClasses$v(ownerState);
    return jsxRuntimeExports.jsx(PaginationRoot, {
      "aria-label": "pagination navigation",
      className: clsx(classes.root, className),
      ownerState,
      ref,
      ...other,
      children: jsxRuntimeExports.jsx(PaginationUl, {
        className: classes.ul,
        ownerState,
        children: items.map((item, index2) => jsxRuntimeExports.jsx("li", {
          children: renderItem({
            ...item,
            color,
            "aria-label": getItemAriaLabel(item.type, item.page, item.selected),
            shape,
            size,
            variant
          })
        }, index2))
      })
    });
  });
  const RadioButtonUncheckedIcon = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
  }), "RadioButtonUnchecked");
  const RadioButtonCheckedIcon = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z"
  }), "RadioButtonChecked");
  const RadioButtonIconRoot = styled("span", {
    name: "MuiRadioButtonIcon",
    shouldForwardProp: rootShouldForwardProp
  })({
    position: "relative",
    display: "flex"
  });
  const RadioButtonIconBackground = styled(RadioButtonUncheckedIcon, {
    name: "MuiRadioButtonIcon"
  })({
    transform: "scale(1)"
  });
  const RadioButtonIconDot = styled(RadioButtonCheckedIcon, {
    name: "MuiRadioButtonIcon"
  })(memoTheme(({ theme }) => ({
    left: 0,
    position: "absolute",
    transform: "scale(0)",
    transition: theme.transitions.create("transform", {
      easing: theme.transitions.easing.easeIn,
      duration: theme.transitions.duration.shortest
    }),
    variants: [
      {
        props: {
          checked: true
        },
        style: {
          transform: "scale(1)",
          transition: theme.transitions.create("transform", {
            easing: theme.transitions.easing.easeOut,
            duration: theme.transitions.duration.shortest
          })
        }
      }
    ]
  })));
  function RadioButtonIcon(props) {
    const { checked = false, classes = {}, fontSize } = props;
    const ownerState = {
      ...props,
      checked
    };
    return jsxRuntimeExports.jsxs(RadioButtonIconRoot, {
      className: classes.root,
      ownerState,
      children: [
        jsxRuntimeExports.jsx(RadioButtonIconBackground, {
          fontSize,
          className: classes.background,
          ownerState
        }),
        jsxRuntimeExports.jsx(RadioButtonIconDot, {
          fontSize,
          className: classes.dot,
          ownerState
        })
      ]
    });
  }
  const RadioGroupContext = __mf_10(void 0);
  useRadioGroup = function() {
    return __mf_21(RadioGroupContext);
  };
  getRadioUtilityClass = function(slot) {
    return generateUtilityClass("MuiRadio", slot);
  };
  radioClasses = generateUtilityClasses("MuiRadio", [
    "root",
    "checked",
    "disabled",
    "colorPrimary",
    "colorSecondary",
    "sizeSmall"
  ]);
  const useUtilityClasses$u = (ownerState) => {
    const { classes, color, size } = ownerState;
    const slots = {
      root: [
        "root",
        `color${capitalize(color)}`,
        size !== "medium" && `size${capitalize(size)}`
      ]
    };
    return {
      ...classes,
      ...composeClasses(slots, getRadioUtilityClass, classes)
    };
  };
  const RadioRoot = styled(SwitchBase, {
    shouldForwardProp: (prop) => rootShouldForwardProp(prop) || prop === "classes",
    name: "MuiRadio",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        ownerState.size !== "medium" && styles2[`size${capitalize(ownerState.size)}`],
        styles2[`color${capitalize(ownerState.color)}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    color: (theme.vars || theme).palette.text.secondary,
    [`&.${radioClasses.disabled}`]: {
      color: (theme.vars || theme).palette.action.disabled
    },
    variants: [
      {
        props: {
          color: "default",
          disabled: false,
          disableRipple: false
        },
        style: {
          "&:hover": {
            backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity)
          }
        }
      },
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
        props: {
          color,
          disabled: false,
          disableRipple: false
        },
        style: {
          "&:hover": {
            backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[color].main, theme.palette.action.hoverOpacity)
          }
        }
      })),
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
        props: {
          color,
          disabled: false
        },
        style: {
          [`&.${radioClasses.checked}`]: {
            color: (theme.vars || theme).palette[color].main
          }
        }
      })),
      {
        props: {
          disableRipple: false
        },
        style: {
          "&:hover": {
            "@media (hover: none)": {
              backgroundColor: "transparent"
            }
          }
        }
      }
    ]
  })));
  function areEqualValues(a3, b10) {
    if (typeof b10 === "object" && b10 !== null) {
      return a3 === b10;
    }
    return String(a3) === String(b10);
  }
  const defaultCheckedIcon = jsxRuntimeExports.jsx(RadioButtonIcon, {
    checked: true
  });
  const defaultIcon$1 = jsxRuntimeExports.jsx(RadioButtonIcon, {});
  Radio = __mf_14(function Radio2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiRadio"
    });
    const { checked: checkedProp, checkedIcon = defaultCheckedIcon, color = "primary", icon = defaultIcon$1, name: nameProp, onChange: onChangeProp, size = "medium", className, disabled: disabledProp, disableRipple = false, slots = {}, slotProps = {}, inputProps, ...other } = props;
    const muiFormControl = useFormControl();
    let disabled = disabledProp;
    if (muiFormControl) {
      if (typeof disabled === "undefined") {
        disabled = muiFormControl.disabled;
      }
    }
    disabled ?? (disabled = false);
    const ownerState = {
      ...props,
      disabled,
      disableRipple,
      color,
      size
    };
    const classes = useUtilityClasses$u(ownerState);
    const radioGroup = useRadioGroup();
    let checked = checkedProp;
    const onChange = createChainedFunction(onChangeProp, radioGroup && radioGroup.onChange);
    let name = nameProp;
    if (radioGroup) {
      if (typeof checked === "undefined") {
        checked = areEqualValues(radioGroup.value, props.value);
      }
      if (typeof name === "undefined") {
        name = radioGroup.name;
      }
    }
    const externalInputProps = slotProps.input ?? inputProps;
    const [RootSlot, rootSlotProps] = useSlot("root", {
      ref,
      elementType: RadioRoot,
      className: clsx(classes.root, className),
      shouldForwardComponentProp: true,
      externalForwardedProps: {
        slots,
        slotProps,
        ...other
      },
      getSlotProps: (handlers) => ({
        ...handlers,
        onChange: (event, ...args) => {
          var _a;
          (_a = handlers.onChange) == null ? void 0 : _a.call(handlers, event, ...args);
          onChange(event, ...args);
        }
      }),
      ownerState,
      additionalProps: {
        type: "radio",
        icon: __mf_9(icon, {
          fontSize: icon.props.fontSize ?? size
        }),
        checkedIcon: __mf_9(checkedIcon, {
          fontSize: checkedIcon.props.fontSize ?? size
        }),
        disabled,
        name,
        checked,
        slots,
        slotProps: {
          input: typeof externalInputProps === "function" ? externalInputProps(ownerState) : externalInputProps
        }
      }
    });
    return jsxRuntimeExports.jsx(RootSlot, {
      ...rootSlotProps,
      classes
    });
  });
  getRadioGroupUtilityClass = function(slot) {
    return generateUtilityClass("MuiRadioGroup", slot);
  };
  radioGroupClasses = generateUtilityClasses("MuiRadioGroup", [
    "root",
    "row",
    "error"
  ]);
  const useUtilityClasses$t = (props) => {
    const { classes, row, error } = props;
    const slots = {
      root: [
        "root",
        row && "row",
        error && "error"
      ]
    };
    return composeClasses(slots, getRadioGroupUtilityClass, classes);
  };
  RadioGroup = __mf_14(function RadioGroup2(props, ref) {
    const { actions, children, className, defaultValue, name: nameProp, onChange, value: valueProp, ...other } = props;
    const rootRef = __mf_31(null);
    const classes = useUtilityClasses$t(props);
    const [value, setValueState] = useControlled({
      controlled: valueProp,
      default: defaultValue,
      name: "RadioGroup"
    });
    __mf_26(actions, () => ({
      focus: () => {
        let input = rootRef.current.querySelector("input:not(:disabled):checked");
        if (!input) {
          input = rootRef.current.querySelector("input:not(:disabled)");
        }
        if (input) {
          input.focus();
        }
      }
    }), []);
    const handleRef = useForkRef(ref, rootRef);
    const name = useId(nameProp);
    const contextValue = __mf_29(() => ({
      name,
      onChange(event) {
        setValueState(event.target.value);
        if (onChange) {
          onChange(event, event.target.value);
        }
      },
      value
    }), [
      name,
      onChange,
      setValueState,
      value
    ]);
    return jsxRuntimeExports.jsx(RadioGroupContext.Provider, {
      value: contextValue,
      children: jsxRuntimeExports.jsx(FormGroup, {
        role: "radiogroup",
        ref: handleRef,
        className: clsx(classes.root, className),
        ...other,
        children
      })
    });
  });
  const Star = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"
  }), "Star");
  const StarBorder = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z"
  }), "StarBorder");
  getRatingUtilityClass = function(slot) {
    return generateUtilityClass("MuiRating", slot);
  };
  ratingClasses = generateUtilityClasses("MuiRating", [
    "root",
    "sizeSmall",
    "sizeMedium",
    "sizeLarge",
    "readOnly",
    "disabled",
    "focusVisible",
    "visuallyHidden",
    "pristine",
    "label",
    "labelEmptyValueActive",
    "icon",
    "iconEmpty",
    "iconFilled",
    "iconHover",
    "iconFocus",
    "iconActive",
    "decimal"
  ]);
  function getDecimalPrecision$1(num) {
    const decimalPart = num.toString().split(".")[1];
    return decimalPart ? decimalPart.length : 0;
  }
  function roundValueToPrecision(value, precision) {
    if (value == null) {
      return value;
    }
    const nearest = Math.round(value / precision) * precision;
    return Number(nearest.toFixed(getDecimalPrecision$1(precision)));
  }
  const useUtilityClasses$s = (ownerState) => {
    const { classes, size, readOnly, disabled, emptyValueFocused, focusVisible } = ownerState;
    const slots = {
      root: [
        "root",
        `size${capitalize(size)}`,
        disabled && "disabled",
        focusVisible && "focusVisible",
        readOnly && "readOnly"
      ],
      label: [
        "label",
        "pristine"
      ],
      labelEmptyValue: [
        emptyValueFocused && "labelEmptyValueActive"
      ],
      icon: [
        "icon"
      ],
      iconEmpty: [
        "iconEmpty"
      ],
      iconFilled: [
        "iconFilled"
      ],
      iconHover: [
        "iconHover"
      ],
      iconFocus: [
        "iconFocus"
      ],
      iconActive: [
        "iconActive"
      ],
      decimal: [
        "decimal"
      ],
      visuallyHidden: [
        "visuallyHidden"
      ]
    };
    return composeClasses(slots, getRatingUtilityClass, classes);
  };
  const RatingRoot = styled("span", {
    name: "MuiRating",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        {
          [`& .${ratingClasses.visuallyHidden}`]: styles2.visuallyHidden
        },
        styles2.root,
        styles2[`size${capitalize(ownerState.size)}`],
        ownerState.readOnly && styles2.readOnly
      ];
    }
  })(memoTheme(({ theme }) => ({
    display: "inline-flex",
    position: "relative",
    fontSize: theme.typography.pxToRem(24),
    color: "#faaf00",
    cursor: "pointer",
    textAlign: "left",
    width: "min-content",
    WebkitTapHighlightColor: "transparent",
    [`&.${ratingClasses.disabled}`]: {
      opacity: (theme.vars || theme).palette.action.disabledOpacity,
      pointerEvents: "none"
    },
    [`&.${ratingClasses.focusVisible} .${ratingClasses.iconActive}`]: {
      outline: "1px solid #999"
    },
    [`& .${ratingClasses.visuallyHidden}`]: visuallyHidden,
    variants: [
      {
        props: {
          size: "small"
        },
        style: {
          fontSize: theme.typography.pxToRem(18)
        }
      },
      {
        props: {
          size: "large"
        },
        style: {
          fontSize: theme.typography.pxToRem(30)
        }
      },
      {
        props: ({ ownerState }) => ownerState.readOnly,
        style: {
          pointerEvents: "none"
        }
      }
    ]
  })));
  const RatingLabel = styled("label", {
    name: "MuiRating",
    slot: "Label",
    overridesResolver: ({ ownerState }, styles2) => [
      styles2.label,
      ownerState.emptyValueFocused && styles2.labelEmptyValueActive
    ]
  })({
    cursor: "inherit",
    variants: [
      {
        props: ({ ownerState }) => ownerState.emptyValueFocused,
        style: {
          top: 0,
          bottom: 0,
          position: "absolute",
          outline: "1px solid #999",
          width: "100%"
        }
      }
    ]
  });
  const RatingIcon = styled("span", {
    name: "MuiRating",
    slot: "Icon",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.icon,
        ownerState.iconEmpty && styles2.iconEmpty,
        ownerState.iconFilled && styles2.iconFilled,
        ownerState.iconHover && styles2.iconHover,
        ownerState.iconFocus && styles2.iconFocus,
        ownerState.iconActive && styles2.iconActive
      ];
    }
  })(memoTheme(({ theme }) => ({
    display: "flex",
    transition: theme.transitions.create("transform", {
      duration: theme.transitions.duration.shortest
    }),
    pointerEvents: "none",
    variants: [
      {
        props: ({ ownerState }) => ownerState.iconActive,
        style: {
          transform: "scale(1.2)"
        }
      },
      {
        props: ({ ownerState }) => ownerState.iconEmpty,
        style: {
          color: (theme.vars || theme).palette.action.disabled
        }
      }
    ]
  })));
  const RatingDecimal = styled("span", {
    name: "MuiRating",
    slot: "Decimal",
    shouldForwardProp: (prop) => slotShouldForwardProp(prop) && prop !== "iconActive",
    overridesResolver: (props, styles2) => {
      const { iconActive } = props;
      return [
        styles2.decimal,
        iconActive && styles2.iconActive
      ];
    }
  })({
    position: "relative",
    variants: [
      {
        props: ({ iconActive }) => iconActive,
        style: {
          transform: "scale(1.2)"
        }
      }
    ]
  });
  function IconContainer(props) {
    const { value, ...other } = props;
    return jsxRuntimeExports.jsx("span", {
      ...other
    });
  }
  function RatingItem(props) {
    const { classes, disabled, emptyIcon, focus, getLabelText, highlightSelectedOnly, hover, icon, IconContainerComponent, isActive, itemValue, labelProps, name, onBlur, onChange, onClick, onFocus, readOnly, ownerState, ratingValue, ratingValueRounded, slots = {}, slotProps = {} } = props;
    const isFilled = highlightSelectedOnly ? itemValue === ratingValue : itemValue <= ratingValue;
    const isHovered = itemValue <= hover;
    const isFocused = itemValue <= focus;
    const isChecked = itemValue === ratingValueRounded;
    const id = `${name}-${useId()}`;
    const externalForwardedProps = {
      slots,
      slotProps
    };
    const [IconSlot, iconSlotProps] = useSlot("icon", {
      elementType: RatingIcon,
      className: clsx(classes.icon, isFilled ? classes.iconFilled : classes.iconEmpty, isHovered && classes.iconHover, isFocused && classes.iconFocus, isActive && classes.iconActive),
      externalForwardedProps,
      ownerState: {
        ...ownerState,
        iconEmpty: !isFilled,
        iconFilled: isFilled,
        iconHover: isHovered,
        iconFocus: isFocused,
        iconActive: isActive
      },
      additionalProps: {
        value: itemValue
      },
      internalForwardedProps: {
        as: IconContainerComponent
      }
    });
    const [LabelSlot, labelSlotProps] = useSlot("label", {
      elementType: RatingLabel,
      externalForwardedProps,
      ownerState: {
        ...ownerState,
        emptyValueFocused: void 0
      },
      additionalProps: {
        style: labelProps == null ? void 0 : labelProps.style,
        htmlFor: id
      }
    });
    const container = jsxRuntimeExports.jsx(IconSlot, {
      ...iconSlotProps,
      children: emptyIcon && !isFilled ? emptyIcon : icon
    });
    if (readOnly) {
      return jsxRuntimeExports.jsx("span", {
        ...labelProps,
        children: container
      });
    }
    return jsxRuntimeExports.jsxs(__mf_2, {
      children: [
        jsxRuntimeExports.jsxs(LabelSlot, {
          ...labelSlotProps,
          children: [
            container,
            jsxRuntimeExports.jsx("span", {
              className: classes.visuallyHidden,
              children: getLabelText(itemValue)
            })
          ]
        }),
        jsxRuntimeExports.jsx("input", {
          className: classes.visuallyHidden,
          onFocus,
          onBlur,
          onChange,
          onClick,
          disabled,
          value: itemValue,
          id,
          type: "radio",
          name,
          checked: isChecked
        })
      ]
    });
  }
  const defaultIcon = jsxRuntimeExports.jsx(Star, {
    fontSize: "inherit"
  });
  const defaultEmptyIcon = jsxRuntimeExports.jsx(StarBorder, {
    fontSize: "inherit"
  });
  function defaultLabelText(value) {
    return `${value || "0"} Star${value !== 1 ? "s" : ""}`;
  }
  Rating = __mf_14(function Rating2(inProps, ref) {
    const props = useDefaultProps({
      name: "MuiRating",
      props: inProps
    });
    const { component = "span", className, defaultValue = null, disabled = false, emptyIcon = defaultEmptyIcon, emptyLabelText = "Empty", getLabelText = defaultLabelText, highlightSelectedOnly = false, icon = defaultIcon, IconContainerComponent = IconContainer, max = 5, name: nameProp, onChange, onChangeActive, onMouseLeave, onMouseMove, precision = 1, readOnly = false, size = "medium", value: valueProp, slots = {}, slotProps = {}, ...other } = props;
    const name = useId(nameProp);
    const [valueDerived, setValueState] = useControlled({
      controlled: valueProp,
      default: defaultValue,
      name: "Rating"
    });
    const valueRounded = roundValueToPrecision(valueDerived, precision);
    const isRtl = useRtl();
    const [{ hover, focus }, setState] = __mf_32({
      hover: -1,
      focus: -1
    });
    let value = valueRounded;
    if (hover !== -1) {
      value = hover;
    }
    if (focus !== -1) {
      value = focus;
    }
    const [focusVisible, setFocusVisible] = __mf_32(false);
    const rootRef = __mf_31();
    const handleRef = useForkRef(rootRef, ref);
    const handleMouseMove = (event) => {
      if (onMouseMove) {
        onMouseMove(event);
      }
      const rootNode = rootRef.current;
      const { right, left, width: containerWidth } = rootNode.getBoundingClientRect();
      let percent;
      if (isRtl) {
        percent = (right - event.clientX) / containerWidth;
      } else {
        percent = (event.clientX - left) / containerWidth;
      }
      let newHover = roundValueToPrecision(max * percent + precision / 2, precision);
      newHover = clamp(newHover, precision, max);
      setState((prev) => prev.hover === newHover && prev.focus === newHover ? prev : {
        hover: newHover,
        focus: newHover
      });
      setFocusVisible(false);
      if (onChangeActive && hover !== newHover) {
        onChangeActive(event, newHover);
      }
    };
    const handleMouseLeave = (event) => {
      if (onMouseLeave) {
        onMouseLeave(event);
      }
      const newHover = -1;
      setState({
        hover: newHover,
        focus: newHover
      });
      if (onChangeActive && hover !== newHover) {
        onChangeActive(event, newHover);
      }
    };
    const handleChange = (event) => {
      let newValue = event.target.value === "" ? null : parseFloat(event.target.value);
      if (hover !== -1) {
        newValue = hover;
      }
      setValueState(newValue);
      if (onChange) {
        onChange(event, newValue);
      }
    };
    const handleClear = (event) => {
      if (event.clientX === 0 && event.clientY === 0) {
        return;
      }
      setState({
        hover: -1,
        focus: -1
      });
      setValueState(null);
      if (onChange && parseFloat(event.target.value) === valueRounded) {
        onChange(event, null);
      }
    };
    const handleFocus = (event) => {
      if (isFocusVisible(event.target)) {
        setFocusVisible(true);
      }
      const newFocus = parseFloat(event.target.value);
      setState((prev) => ({
        hover: prev.hover,
        focus: newFocus
      }));
    };
    const handleBlur = (event) => {
      if (hover !== -1) {
        return;
      }
      if (!isFocusVisible(event.target)) {
        setFocusVisible(false);
      }
      const newFocus = -1;
      setState((prev) => ({
        hover: prev.hover,
        focus: newFocus
      }));
    };
    const [emptyValueFocused, setEmptyValueFocused] = __mf_32(false);
    const ownerState = {
      ...props,
      component,
      defaultValue,
      disabled,
      emptyIcon,
      emptyLabelText,
      emptyValueFocused,
      focusVisible,
      getLabelText,
      icon,
      IconContainerComponent,
      max,
      precision,
      readOnly,
      size
    };
    const classes = useUtilityClasses$s(ownerState);
    const externalForwardedProps = {
      slots,
      slotProps
    };
    const [RootSlot, rootSlotProps] = useSlot("root", {
      ref: handleRef,
      className: clsx(classes.root, className),
      elementType: RatingRoot,
      externalForwardedProps: {
        ...externalForwardedProps,
        ...other,
        component
      },
      getSlotProps: (handlers) => ({
        ...handlers,
        onMouseMove: (event) => {
          var _a;
          handleMouseMove(event);
          (_a = handlers.onMouseMove) == null ? void 0 : _a.call(handlers, event);
        },
        onMouseLeave: (event) => {
          var _a;
          handleMouseLeave(event);
          (_a = handlers.onMouseLeave) == null ? void 0 : _a.call(handlers, event);
        }
      }),
      ownerState,
      additionalProps: {
        role: readOnly ? "img" : null,
        "aria-label": readOnly ? getLabelText(value) : null
      }
    });
    const [LabelSlot, labelSlotProps] = useSlot("label", {
      className: clsx(classes.label, classes.labelEmptyValue),
      elementType: RatingLabel,
      externalForwardedProps,
      ownerState
    });
    const [DecimalSlot, decimalSlotProps] = useSlot("decimal", {
      className: classes.decimal,
      elementType: RatingDecimal,
      externalForwardedProps,
      ownerState
    });
    return jsxRuntimeExports.jsxs(RootSlot, {
      ...rootSlotProps,
      children: [
        Array.from(new Array(max)).map((_2, index2) => {
          const itemValue = index2 + 1;
          const ratingItemProps = {
            classes,
            disabled,
            emptyIcon,
            focus,
            getLabelText,
            highlightSelectedOnly,
            hover,
            icon,
            IconContainerComponent,
            name,
            onBlur: handleBlur,
            onChange: handleChange,
            onClick: handleClear,
            onFocus: handleFocus,
            ratingValue: value,
            ratingValueRounded: valueRounded,
            readOnly,
            ownerState,
            slots,
            slotProps
          };
          const isActive = itemValue === Math.ceil(value) && (hover !== -1 || focus !== -1);
          if (precision < 1) {
            const items = Array.from(new Array(1 / precision));
            return __mf_11(DecimalSlot, {
              ...decimalSlotProps,
              key: itemValue,
              className: clsx(decimalSlotProps.className, isActive && classes.iconActive),
              iconActive: isActive
            }, items.map(($, indexDecimal) => {
              const itemDecimalValue = roundValueToPrecision(itemValue - 1 + (indexDecimal + 1) * precision, precision);
              return jsxRuntimeExports.jsx(RatingItem, {
                ...ratingItemProps,
                isActive: false,
                itemValue: itemDecimalValue,
                labelProps: {
                  style: items.length - 1 === indexDecimal ? {} : {
                    width: itemDecimalValue === value ? `${(indexDecimal + 1) * precision * 100}%` : "0%",
                    overflow: "hidden",
                    position: "absolute"
                  }
                }
              }, itemDecimalValue);
            }));
          }
          return jsxRuntimeExports.jsx(RatingItem, {
            ...ratingItemProps,
            isActive,
            itemValue
          }, itemValue);
        }),
        !readOnly && !disabled && jsxRuntimeExports.jsxs(LabelSlot, {
          ...labelSlotProps,
          children: [
            jsxRuntimeExports.jsx("input", {
              className: classes.visuallyHidden,
              value: "",
              id: `${name}-empty`,
              type: "radio",
              name,
              checked: valueRounded == null,
              onFocus: () => setEmptyValueFocused(true),
              onBlur: () => setEmptyValueFocused(false),
              onChange: handleChange
            }),
            jsxRuntimeExports.jsx("span", {
              className: classes.visuallyHidden,
              children: emptyLabelText
            })
          ]
        })
      ]
    });
  });
  getScopedCssBaselineUtilityClass = function(slot) {
    return generateUtilityClass("MuiScopedCssBaseline", slot);
  };
  scopedCssBaselineClasses = generateUtilityClasses("MuiScopedCssBaseline", [
    "root"
  ]);
  const useUtilityClasses$r = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ]
    };
    return composeClasses(slots, getScopedCssBaselineUtilityClass, classes);
  };
  const ScopedCssBaselineRoot = styled("div", {
    name: "MuiScopedCssBaseline",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })(memoTheme(({ theme }) => {
    const colorSchemeStyles = {};
    if (theme.colorSchemes) {
      Object.entries(theme.colorSchemes).forEach(([key, scheme]) => {
        var _a, _b;
        const selector = theme.getColorSchemeSelector(key);
        if (selector.startsWith("@")) {
          colorSchemeStyles[selector] = {
            colorScheme: (_a = scheme.palette) == null ? void 0 : _a.mode
          };
        } else {
          colorSchemeStyles[`&${selector.replace(/\s*&/, "")}`] = {
            colorScheme: (_b = scheme.palette) == null ? void 0 : _b.mode
          };
        }
      });
    }
    return {
      ...html(theme, false),
      ...body(theme),
      "& *, & *::before, & *::after": {
        boxSizing: "inherit"
      },
      "& strong, & b": {
        fontWeight: theme.typography.fontWeightBold
      },
      variants: [
        {
          props: {
            enableColorScheme: true
          },
          style: theme.vars ? colorSchemeStyles : {
            colorScheme: theme.palette.mode
          }
        }
      ]
    };
  }));
  ScopedCssBaseline = __mf_14(function ScopedCssBaseline2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiScopedCssBaseline"
    });
    const { className, component = "div", enableColorScheme, ...other } = props;
    const ownerState = {
      ...props,
      component
    };
    const classes = useUtilityClasses$r(ownerState);
    return jsxRuntimeExports.jsx(ScopedCssBaselineRoot, {
      as: component,
      className: clsx(classes.root, className),
      ref,
      ownerState,
      ...other
    });
  });
  function areArraysEqual(array1, array2, itemComparer = (a3, b10) => a3 === b10) {
    return array1.length === array2.length && array1.every((value, index2) => itemComparer(value, array2[index2]));
  }
  const INTENTIONAL_DRAG_COUNT_THRESHOLD = 2;
  function getNewValue(currentValue, step, direction, min, max) {
    return direction === 1 ? Math.min(currentValue + step, max) : Math.max(currentValue - step, min);
  }
  function asc(a3, b10) {
    return a3 - b10;
  }
  function findClosest(values, currentValue) {
    const { index: closestIndex } = values.reduce((acc, value, index2) => {
      const distance = Math.abs(currentValue - value);
      if (acc === null || distance < acc.distance || distance === acc.distance) {
        return {
          distance,
          index: index2
        };
      }
      return acc;
    }, null) ?? {};
    return closestIndex;
  }
  function trackFinger(event, touchId) {
    if (touchId.current !== void 0 && event.changedTouches) {
      const touchEvent = event;
      for (let i3 = 0; i3 < touchEvent.changedTouches.length; i3 += 1) {
        const touch = touchEvent.changedTouches[i3];
        if (touch.identifier === touchId.current) {
          return {
            x: touch.clientX,
            y: touch.clientY
          };
        }
      }
      return false;
    }
    return {
      x: event.clientX,
      y: event.clientY
    };
  }
  function valueToPercent(value, min, max) {
    return (value - min) * 100 / (max - min);
  }
  function percentToValue(percent, min, max) {
    return (max - min) * percent + min;
  }
  function getDecimalPrecision(num) {
    if (Math.abs(num) < 1) {
      const parts = num.toExponential().split("e-");
      const matissaDecimalPart = parts[0].split(".")[1];
      return (matissaDecimalPart ? matissaDecimalPart.length : 0) + parseInt(parts[1], 10);
    }
    const decimalPart = num.toString().split(".")[1];
    return decimalPart ? decimalPart.length : 0;
  }
  function roundValueToStep(value, step, min) {
    const nearest = Math.round((value - min) / step) * step + min;
    return Number(nearest.toFixed(getDecimalPrecision(step)));
  }
  function setValueIndex({ values, newValue, index: index2 }) {
    const output = values.slice();
    output[index2] = newValue;
    return output.sort(asc);
  }
  function focusThumb({ sliderRef, activeIndex, setActive }) {
    var _a, _b, _c;
    const doc = ownerDocument(sliderRef.current);
    if (!((_a = sliderRef.current) == null ? void 0 : _a.contains(doc.activeElement)) || Number((_b = doc == null ? void 0 : doc.activeElement) == null ? void 0 : _b.getAttribute("data-index")) !== activeIndex) {
      (_c = sliderRef.current) == null ? void 0 : _c.querySelector(`[type="range"][data-index="${activeIndex}"]`).focus();
    }
    if (setActive) {
      setActive(activeIndex);
    }
  }
  function areValuesEqual(newValue, oldValue) {
    if (typeof newValue === "number" && typeof oldValue === "number") {
      return newValue === oldValue;
    }
    if (typeof newValue === "object" && typeof oldValue === "object") {
      return areArraysEqual(newValue, oldValue);
    }
    return false;
  }
  const axisProps = {
    horizontal: {
      offset: (percent) => ({
        left: `${percent}%`
      }),
      leap: (percent) => ({
        width: `${percent}%`
      })
    },
    "horizontal-reverse": {
      offset: (percent) => ({
        right: `${percent}%`
      }),
      leap: (percent) => ({
        width: `${percent}%`
      })
    },
    vertical: {
      offset: (percent) => ({
        bottom: `${percent}%`
      }),
      leap: (percent) => ({
        height: `${percent}%`
      })
    }
  };
  const Identity$1 = (x4) => x4;
  let cachedSupportsTouchActionNone;
  function doesSupportTouchActionNone() {
    if (cachedSupportsTouchActionNone === void 0) {
      if (typeof CSS !== "undefined" && typeof CSS.supports === "function") {
        cachedSupportsTouchActionNone = CSS.supports("touch-action", "none");
      } else {
        cachedSupportsTouchActionNone = true;
      }
    }
    return cachedSupportsTouchActionNone;
  }
  function useSlider(parameters) {
    const { "aria-labelledby": ariaLabelledby, defaultValue, disabled = false, disableSwap = false, isRtl = false, marks: marksProp = false, max = 100, min = 0, name, onChange, onChangeCommitted, orientation = "horizontal", rootRef: ref, scale = Identity$1, step = 1, shiftStep = 10, tabIndex, value: valueProp } = parameters;
    const touchId = __mf_31(void 0);
    const [active, setActive] = __mf_32(-1);
    const [open, setOpen] = __mf_32(-1);
    const [dragging, setDragging] = __mf_32(false);
    const moveCount = __mf_31(0);
    const lastChangedValue = __mf_31(null);
    const [valueDerived, setValueState] = useControlled({
      controlled: valueProp,
      default: defaultValue ?? min,
      name: "Slider"
    });
    const handleChange = onChange && ((event, value, thumbIndex) => {
      const nativeEvent = event.nativeEvent || event;
      const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);
      Object.defineProperty(clonedEvent, "target", {
        writable: true,
        value: {
          value,
          name
        }
      });
      lastChangedValue.current = value;
      onChange(clonedEvent, value, thumbIndex);
    });
    const range = Array.isArray(valueDerived);
    let values = range ? valueDerived.slice().sort(asc) : [
      valueDerived
    ];
    values = values.map((value) => value == null ? min : clamp(value, min, max));
    const marks = marksProp === true && step !== null ? [
      ...Array(Math.floor((max - min) / step) + 1)
    ].map((_2, index2) => ({
      value: min + step * index2
    })) : marksProp || [];
    const marksValues = marks.map((mark) => mark.value);
    const [focusedThumbIndex, setFocusedThumbIndex] = __mf_32(-1);
    const sliderRef = __mf_31(null);
    const handleRef = useForkRef(ref, sliderRef);
    const createHandleHiddenInputFocus = (otherHandlers) => (event) => {
      var _a;
      const index2 = Number(event.currentTarget.getAttribute("data-index"));
      if (isFocusVisible(event.target)) {
        setFocusedThumbIndex(index2);
      }
      setOpen(index2);
      (_a = otherHandlers == null ? void 0 : otherHandlers.onFocus) == null ? void 0 : _a.call(otherHandlers, event);
    };
    const createHandleHiddenInputBlur = (otherHandlers) => (event) => {
      var _a;
      if (!isFocusVisible(event.target)) {
        setFocusedThumbIndex(-1);
      }
      setOpen(-1);
      (_a = otherHandlers == null ? void 0 : otherHandlers.onBlur) == null ? void 0 : _a.call(otherHandlers, event);
    };
    const changeValue = (event, valueInput) => {
      const index2 = Number(event.currentTarget.getAttribute("data-index"));
      const value = values[index2];
      const marksIndex = marksValues.indexOf(value);
      let newValue = valueInput;
      if (marks && step == null) {
        const maxMarksValue = marksValues[marksValues.length - 1];
        if (newValue >= maxMarksValue) {
          newValue = maxMarksValue;
        } else if (newValue <= marksValues[0]) {
          newValue = marksValues[0];
        } else {
          newValue = newValue < value ? marksValues[marksIndex - 1] : marksValues[marksIndex + 1];
        }
      }
      newValue = clamp(newValue, min, max);
      if (range) {
        if (disableSwap) {
          newValue = clamp(newValue, values[index2 - 1] || -Infinity, values[index2 + 1] || Infinity);
        }
        const previousValue = newValue;
        newValue = setValueIndex({
          values,
          newValue,
          index: index2
        });
        let activeIndex = index2;
        if (!disableSwap) {
          activeIndex = newValue.indexOf(previousValue);
        }
        focusThumb({
          sliderRef,
          activeIndex
        });
      }
      setValueState(newValue);
      setFocusedThumbIndex(index2);
      if (handleChange && !areValuesEqual(newValue, valueDerived)) {
        handleChange(event, newValue, index2);
      }
      if (onChangeCommitted) {
        onChangeCommitted(event, lastChangedValue.current ?? newValue);
      }
    };
    const createHandleHiddenInputKeyDown = (otherHandlers) => (event) => {
      var _a;
      if ([
        "ArrowUp",
        "ArrowDown",
        "ArrowLeft",
        "ArrowRight",
        "PageUp",
        "PageDown",
        "Home",
        "End"
      ].includes(event.key)) {
        event.preventDefault();
        const index2 = Number(event.currentTarget.getAttribute("data-index"));
        const value = values[index2];
        let newValue = null;
        if (step != null) {
          const stepSize = event.shiftKey ? shiftStep : step;
          switch (event.key) {
            case "ArrowUp":
              newValue = getNewValue(value, stepSize, 1, min, max);
              break;
            case "ArrowRight":
              newValue = getNewValue(value, stepSize, isRtl ? -1 : 1, min, max);
              break;
            case "ArrowDown":
              newValue = getNewValue(value, stepSize, -1, min, max);
              break;
            case "ArrowLeft":
              newValue = getNewValue(value, stepSize, isRtl ? 1 : -1, min, max);
              break;
            case "PageUp":
              newValue = getNewValue(value, shiftStep, 1, min, max);
              break;
            case "PageDown":
              newValue = getNewValue(value, shiftStep, -1, min, max);
              break;
            case "Home":
              newValue = min;
              break;
            case "End":
              newValue = max;
              break;
          }
        } else if (marks) {
          const maxMarksValue = marksValues[marksValues.length - 1];
          const currentMarkIndex = marksValues.indexOf(value);
          const decrementKeys = [
            isRtl ? "ArrowRight" : "ArrowLeft",
            "ArrowDown",
            "PageDown",
            "Home"
          ];
          const incrementKeys = [
            isRtl ? "ArrowLeft" : "ArrowRight",
            "ArrowUp",
            "PageUp",
            "End"
          ];
          if (decrementKeys.includes(event.key)) {
            if (currentMarkIndex === 0) {
              newValue = marksValues[0];
            } else {
              newValue = marksValues[currentMarkIndex - 1];
            }
          } else if (incrementKeys.includes(event.key)) {
            if (currentMarkIndex === marksValues.length - 1) {
              newValue = maxMarksValue;
            } else {
              newValue = marksValues[currentMarkIndex + 1];
            }
          }
        }
        if (newValue != null) {
          changeValue(event, newValue);
        }
      }
      (_a = otherHandlers == null ? void 0 : otherHandlers.onKeyDown) == null ? void 0 : _a.call(otherHandlers, event);
    };
    useEnhancedEffect(() => {
      var _a;
      if (disabled && sliderRef.current.contains(document.activeElement)) {
        (_a = document.activeElement) == null ? void 0 : _a.blur();
      }
    }, [
      disabled
    ]);
    if (disabled && active !== -1) {
      setActive(-1);
    }
    if (disabled && focusedThumbIndex !== -1) {
      setFocusedThumbIndex(-1);
    }
    const createHandleHiddenInputChange = (otherHandlers) => (event) => {
      var _a;
      (_a = otherHandlers.onChange) == null ? void 0 : _a.call(otherHandlers, event);
      changeValue(event, event.target.valueAsNumber);
    };
    const previousIndex = __mf_31(void 0);
    let axis = orientation;
    if (isRtl && orientation === "horizontal") {
      axis += "-reverse";
    }
    const getFingerNewValue = ({ finger, move = false }) => {
      const { current: slider } = sliderRef;
      const { width, height, bottom, left } = slider.getBoundingClientRect();
      let percent;
      if (axis.startsWith("vertical")) {
        percent = (bottom - finger.y) / height;
      } else {
        percent = (finger.x - left) / width;
      }
      if (axis.includes("-reverse")) {
        percent = 1 - percent;
      }
      let newValue;
      newValue = percentToValue(percent, min, max);
      if (step) {
        newValue = roundValueToStep(newValue, step, min);
      } else {
        const closestIndex = findClosest(marksValues, newValue);
        newValue = marksValues[closestIndex];
      }
      newValue = clamp(newValue, min, max);
      let activeIndex = 0;
      if (range) {
        if (!move) {
          activeIndex = findClosest(values, newValue);
        } else {
          activeIndex = previousIndex.current;
        }
        if (disableSwap) {
          newValue = clamp(newValue, values[activeIndex - 1] || -Infinity, values[activeIndex + 1] || Infinity);
        }
        const previousValue = newValue;
        newValue = setValueIndex({
          values,
          newValue,
          index: activeIndex
        });
        if (!(disableSwap && move)) {
          activeIndex = newValue.indexOf(previousValue);
          previousIndex.current = activeIndex;
        }
      }
      return {
        newValue,
        activeIndex
      };
    };
    const handleTouchMove = useEventCallback((nativeEvent) => {
      const finger = trackFinger(nativeEvent, touchId);
      if (!finger) {
        return;
      }
      moveCount.current += 1;
      if (nativeEvent.type === "mousemove" && nativeEvent.buttons === 0) {
        handleTouchEnd(nativeEvent);
        return;
      }
      const { newValue, activeIndex } = getFingerNewValue({
        finger,
        move: true
      });
      focusThumb({
        sliderRef,
        activeIndex,
        setActive
      });
      setValueState(newValue);
      if (!dragging && moveCount.current > INTENTIONAL_DRAG_COUNT_THRESHOLD) {
        setDragging(true);
      }
      if (handleChange && !areValuesEqual(newValue, valueDerived)) {
        handleChange(nativeEvent, newValue, activeIndex);
      }
    });
    const handleTouchEnd = useEventCallback((nativeEvent) => {
      const finger = trackFinger(nativeEvent, touchId);
      setDragging(false);
      if (!finger) {
        return;
      }
      const { newValue } = getFingerNewValue({
        finger,
        move: true
      });
      setActive(-1);
      if (nativeEvent.type === "touchend") {
        setOpen(-1);
      }
      if (onChangeCommitted) {
        onChangeCommitted(nativeEvent, lastChangedValue.current ?? newValue);
      }
      touchId.current = void 0;
      stopListening();
    });
    const handleTouchStart = useEventCallback((nativeEvent) => {
      if (disabled) {
        return;
      }
      if (!doesSupportTouchActionNone()) {
        nativeEvent.preventDefault();
      }
      const touch = nativeEvent.changedTouches[0];
      if (touch != null) {
        touchId.current = touch.identifier;
      }
      const finger = trackFinger(nativeEvent, touchId);
      if (finger !== false) {
        const { newValue, activeIndex } = getFingerNewValue({
          finger
        });
        focusThumb({
          sliderRef,
          activeIndex,
          setActive
        });
        setValueState(newValue);
        if (handleChange && !areValuesEqual(newValue, valueDerived)) {
          handleChange(nativeEvent, newValue, activeIndex);
        }
      }
      moveCount.current = 0;
      const doc = ownerDocument(sliderRef.current);
      doc.addEventListener("touchmove", handleTouchMove, {
        passive: true
      });
      doc.addEventListener("touchend", handleTouchEnd, {
        passive: true
      });
    });
    const stopListening = __mf_20(() => {
      const doc = ownerDocument(sliderRef.current);
      doc.removeEventListener("mousemove", handleTouchMove);
      doc.removeEventListener("mouseup", handleTouchEnd);
      doc.removeEventListener("touchmove", handleTouchMove);
      doc.removeEventListener("touchend", handleTouchEnd);
    }, [
      handleTouchEnd,
      handleTouchMove
    ]);
    __mf_24(() => {
      const { current: slider } = sliderRef;
      slider.addEventListener("touchstart", handleTouchStart, {
        passive: doesSupportTouchActionNone()
      });
      return () => {
        slider.removeEventListener("touchstart", handleTouchStart);
        stopListening();
      };
    }, [
      stopListening,
      handleTouchStart
    ]);
    __mf_24(() => {
      if (disabled) {
        stopListening();
      }
    }, [
      disabled,
      stopListening
    ]);
    const createHandleMouseDown = (otherHandlers) => (event) => {
      var _a;
      (_a = otherHandlers.onMouseDown) == null ? void 0 : _a.call(otherHandlers, event);
      if (disabled) {
        return;
      }
      if (event.defaultPrevented) {
        return;
      }
      if (event.button !== 0) {
        return;
      }
      event.preventDefault();
      const finger = trackFinger(event, touchId);
      if (finger !== false) {
        const { newValue, activeIndex } = getFingerNewValue({
          finger
        });
        focusThumb({
          sliderRef,
          activeIndex,
          setActive
        });
        setValueState(newValue);
        if (handleChange && !areValuesEqual(newValue, valueDerived)) {
          handleChange(event, newValue, activeIndex);
        }
      }
      moveCount.current = 0;
      const doc = ownerDocument(sliderRef.current);
      doc.addEventListener("mousemove", handleTouchMove, {
        passive: true
      });
      doc.addEventListener("mouseup", handleTouchEnd);
    };
    const trackOffset = valueToPercent(range ? values[0] : min, min, max);
    const trackLeap = valueToPercent(values[values.length - 1], min, max) - trackOffset;
    const getRootProps = (externalProps = {}) => {
      const externalHandlers = extractEventHandlers(externalProps);
      const ownEventHandlers = {
        onMouseDown: createHandleMouseDown(externalHandlers || {})
      };
      const mergedEventHandlers = {
        ...externalHandlers,
        ...ownEventHandlers
      };
      return {
        ...externalProps,
        ref: handleRef,
        ...mergedEventHandlers
      };
    };
    const createHandleMouseOver = (otherHandlers) => (event) => {
      var _a;
      (_a = otherHandlers.onMouseOver) == null ? void 0 : _a.call(otherHandlers, event);
      const index2 = Number(event.currentTarget.getAttribute("data-index"));
      setOpen(index2);
    };
    const createHandleMouseLeave = (otherHandlers) => (event) => {
      var _a;
      (_a = otherHandlers.onMouseLeave) == null ? void 0 : _a.call(otherHandlers, event);
      setOpen(-1);
    };
    const getThumbProps = (externalProps = {}) => {
      const externalHandlers = extractEventHandlers(externalProps);
      const ownEventHandlers = {
        onMouseOver: createHandleMouseOver(externalHandlers || {}),
        onMouseLeave: createHandleMouseLeave(externalHandlers || {})
      };
      return {
        ...externalProps,
        ...externalHandlers,
        ...ownEventHandlers
      };
    };
    const getThumbStyle = (index2) => {
      return {
        pointerEvents: active !== -1 && active !== index2 ? "none" : void 0
      };
    };
    let cssWritingMode;
    if (orientation === "vertical") {
      cssWritingMode = isRtl ? "vertical-rl" : "vertical-lr";
    }
    const getHiddenInputProps = (externalProps = {}) => {
      const externalHandlers = extractEventHandlers(externalProps);
      const ownEventHandlers = {
        onChange: createHandleHiddenInputChange(externalHandlers || {}),
        onFocus: createHandleHiddenInputFocus(externalHandlers || {}),
        onBlur: createHandleHiddenInputBlur(externalHandlers || {}),
        onKeyDown: createHandleHiddenInputKeyDown(externalHandlers || {})
      };
      const mergedEventHandlers = {
        ...externalHandlers,
        ...ownEventHandlers
      };
      return {
        tabIndex,
        "aria-labelledby": ariaLabelledby,
        "aria-orientation": orientation,
        "aria-valuemax": scale(max),
        "aria-valuemin": scale(min),
        name,
        type: "range",
        min: parameters.min,
        max: parameters.max,
        step: parameters.step === null && parameters.marks ? "any" : parameters.step ?? void 0,
        disabled,
        ...externalProps,
        ...mergedEventHandlers,
        style: {
          ...visuallyHidden,
          direction: isRtl ? "rtl" : "ltr",
          width: "100%",
          height: "100%",
          writingMode: cssWritingMode
        }
      };
    };
    return {
      active,
      axis,
      axisProps,
      dragging,
      focusedThumbIndex,
      getHiddenInputProps,
      getRootProps,
      getThumbProps,
      marks,
      open,
      range,
      rootRef: handleRef,
      trackLeap,
      trackOffset,
      values,
      getThumbStyle
    };
  }
  const shouldSpreadAdditionalProps = (Slot) => {
    return !Slot || !isHostComponent(Slot);
  };
  getSliderUtilityClass = function(slot) {
    return generateUtilityClass("MuiSlider", slot);
  };
  sliderClasses = generateUtilityClasses("MuiSlider", [
    "root",
    "active",
    "colorPrimary",
    "colorSecondary",
    "colorError",
    "colorInfo",
    "colorSuccess",
    "colorWarning",
    "disabled",
    "dragging",
    "focusVisible",
    "mark",
    "markActive",
    "marked",
    "markLabel",
    "markLabelActive",
    "rail",
    "sizeSmall",
    "thumb",
    "thumbColorPrimary",
    "thumbColorSecondary",
    "thumbColorError",
    "thumbColorSuccess",
    "thumbColorInfo",
    "thumbColorWarning",
    "track",
    "trackInverted",
    "trackFalse",
    "thumbSizeSmall",
    "valueLabel",
    "valueLabelOpen",
    "valueLabelCircle",
    "valueLabelLabel",
    "vertical"
  ]);
  const useValueLabelClasses = (props) => {
    const { open } = props;
    const utilityClasses = {
      offset: clsx(open && sliderClasses.valueLabelOpen),
      circle: sliderClasses.valueLabelCircle,
      label: sliderClasses.valueLabelLabel
    };
    return utilityClasses;
  };
  function SliderValueLabel$1(props) {
    const { children, className, value } = props;
    const classes = useValueLabelClasses(props);
    if (!children) {
      return null;
    }
    return __mf_9(children, {
      className: clsx(children.props.className)
    }, jsxRuntimeExports.jsxs(__mf_2, {
      children: [
        children.props.children,
        jsxRuntimeExports.jsx("span", {
          className: clsx(classes.offset, className),
          "aria-hidden": true,
          children: jsxRuntimeExports.jsx("span", {
            className: classes.circle,
            children: jsxRuntimeExports.jsx("span", {
              className: classes.label,
              children: value
            })
          })
        })
      ]
    }));
  }
  function Identity(x4) {
    return x4;
  }
  SliderRoot = styled("span", {
    name: "MuiSlider",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[`color${capitalize(ownerState.color)}`],
        ownerState.size !== "medium" && styles2[`size${capitalize(ownerState.size)}`],
        ownerState.marked && styles2.marked,
        ownerState.orientation === "vertical" && styles2.vertical,
        ownerState.track === "inverted" && styles2.trackInverted,
        ownerState.track === false && styles2.trackFalse
      ];
    }
  })(memoTheme(({ theme }) => ({
    borderRadius: 12,
    boxSizing: "content-box",
    display: "inline-block",
    position: "relative",
    cursor: "pointer",
    touchAction: "none",
    WebkitTapHighlightColor: "transparent",
    "@media print": {
      colorAdjust: "exact"
    },
    [`&.${sliderClasses.disabled}`]: {
      pointerEvents: "none",
      cursor: "default",
      color: (theme.vars || theme).palette.grey[400]
    },
    [`&.${sliderClasses.dragging}`]: {
      [`& .${sliderClasses.thumb}, & .${sliderClasses.track}`]: {
        transition: "none"
      }
    },
    variants: [
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
        props: {
          color
        },
        style: {
          color: (theme.vars || theme).palette[color].main
        }
      })),
      {
        props: {
          orientation: "horizontal"
        },
        style: {
          height: 4,
          width: "100%",
          padding: "13px 0",
          "@media (pointer: coarse)": {
            padding: "20px 0"
          }
        }
      },
      {
        props: {
          orientation: "horizontal",
          size: "small"
        },
        style: {
          height: 2
        }
      },
      {
        props: {
          orientation: "horizontal",
          marked: true
        },
        style: {
          marginBottom: 20
        }
      },
      {
        props: {
          orientation: "vertical"
        },
        style: {
          height: "100%",
          width: 4,
          padding: "0 13px",
          "@media (pointer: coarse)": {
            padding: "0 20px"
          }
        }
      },
      {
        props: {
          orientation: "vertical",
          size: "small"
        },
        style: {
          width: 2
        }
      },
      {
        props: {
          orientation: "vertical",
          marked: true
        },
        style: {
          marginRight: 44
        }
      }
    ]
  })));
  SliderRail = styled("span", {
    name: "MuiSlider",
    slot: "Rail",
    overridesResolver: (props, styles2) => styles2.rail
  })({
    display: "block",
    position: "absolute",
    borderRadius: "inherit",
    backgroundColor: "currentColor",
    opacity: 0.38,
    variants: [
      {
        props: {
          orientation: "horizontal"
        },
        style: {
          width: "100%",
          height: "inherit",
          top: "50%",
          transform: "translateY(-50%)"
        }
      },
      {
        props: {
          orientation: "vertical"
        },
        style: {
          height: "100%",
          width: "inherit",
          left: "50%",
          transform: "translateX(-50%)"
        }
      },
      {
        props: {
          track: "inverted"
        },
        style: {
          opacity: 1
        }
      }
    ]
  });
  SliderTrack = styled("span", {
    name: "MuiSlider",
    slot: "Track",
    overridesResolver: (props, styles2) => styles2.track
  })(memoTheme(({ theme }) => {
    return {
      display: "block",
      position: "absolute",
      borderRadius: "inherit",
      border: "1px solid currentColor",
      backgroundColor: "currentColor",
      transition: theme.transitions.create([
        "left",
        "width",
        "bottom",
        "height"
      ], {
        duration: theme.transitions.duration.shortest
      }),
      variants: [
        {
          props: {
            size: "small"
          },
          style: {
            border: "none"
          }
        },
        {
          props: {
            orientation: "horizontal"
          },
          style: {
            height: "inherit",
            top: "50%",
            transform: "translateY(-50%)"
          }
        },
        {
          props: {
            orientation: "vertical"
          },
          style: {
            width: "inherit",
            left: "50%",
            transform: "translateX(-50%)"
          }
        },
        {
          props: {
            track: false
          },
          style: {
            display: "none"
          }
        },
        ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
          props: {
            color,
            track: "inverted"
          },
          style: {
            ...theme.vars ? {
              backgroundColor: theme.vars.palette.Slider[`${color}Track`],
              borderColor: theme.vars.palette.Slider[`${color}Track`]
            } : {
              backgroundColor: lighten(theme.palette[color].main, 0.62),
              borderColor: lighten(theme.palette[color].main, 0.62),
              ...theme.applyStyles("dark", {
                backgroundColor: darken(theme.palette[color].main, 0.5)
              }),
              ...theme.applyStyles("dark", {
                borderColor: darken(theme.palette[color].main, 0.5)
              })
            }
          }
        }))
      ]
    };
  }));
  SliderThumb = styled("span", {
    name: "MuiSlider",
    slot: "Thumb",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.thumb,
        styles2[`thumbColor${capitalize(ownerState.color)}`],
        ownerState.size !== "medium" && styles2[`thumbSize${capitalize(ownerState.size)}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    position: "absolute",
    width: 20,
    height: 20,
    boxSizing: "border-box",
    borderRadius: "50%",
    outline: 0,
    backgroundColor: "currentColor",
    display: "flex",
    alignItems: "center",
    justifyContent: "center",
    transition: theme.transitions.create([
      "box-shadow",
      "left",
      "bottom"
    ], {
      duration: theme.transitions.duration.shortest
    }),
    "&::before": {
      position: "absolute",
      content: '""',
      borderRadius: "inherit",
      width: "100%",
      height: "100%",
      boxShadow: (theme.vars || theme).shadows[2]
    },
    "&::after": {
      position: "absolute",
      content: '""',
      borderRadius: "50%",
      width: 42,
      height: 42,
      top: "50%",
      left: "50%",
      transform: "translate(-50%, -50%)"
    },
    [`&.${sliderClasses.disabled}`]: {
      "&:hover": {
        boxShadow: "none"
      }
    },
    variants: [
      {
        props: {
          size: "small"
        },
        style: {
          width: 12,
          height: 12,
          "&::before": {
            boxShadow: "none"
          }
        }
      },
      {
        props: {
          orientation: "horizontal"
        },
        style: {
          top: "50%",
          transform: "translate(-50%, -50%)"
        }
      },
      {
        props: {
          orientation: "vertical"
        },
        style: {
          left: "50%",
          transform: "translate(-50%, 50%)"
        }
      },
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
        props: {
          color
        },
        style: {
          [`&:hover, &.${sliderClasses.focusVisible}`]: {
            ...theme.vars ? {
              boxShadow: `0px 0px 0px 8px rgba(${theme.vars.palette[color].mainChannel} / 0.16)`
            } : {
              boxShadow: `0px 0px 0px 8px ${alpha(theme.palette[color].main, 0.16)}`
            },
            "@media (hover: none)": {
              boxShadow: "none"
            }
          },
          [`&.${sliderClasses.active}`]: {
            ...theme.vars ? {
              boxShadow: `0px 0px 0px 14px rgba(${theme.vars.palette[color].mainChannel} / 0.16)`
            } : {
              boxShadow: `0px 0px 0px 14px ${alpha(theme.palette[color].main, 0.16)}`
            }
          }
        }
      }))
    ]
  })));
  SliderValueLabel = styled(SliderValueLabel$1, {
    name: "MuiSlider",
    slot: "ValueLabel",
    overridesResolver: (props, styles2) => styles2.valueLabel
  })(memoTheme(({ theme }) => ({
    zIndex: 1,
    whiteSpace: "nowrap",
    ...theme.typography.body2,
    fontWeight: 500,
    transition: theme.transitions.create([
      "transform"
    ], {
      duration: theme.transitions.duration.shortest
    }),
    position: "absolute",
    backgroundColor: (theme.vars || theme).palette.grey[600],
    borderRadius: 2,
    color: (theme.vars || theme).palette.common.white,
    display: "flex",
    alignItems: "center",
    justifyContent: "center",
    padding: "0.25rem 0.75rem",
    variants: [
      {
        props: {
          orientation: "horizontal"
        },
        style: {
          transform: "translateY(-100%) scale(0)",
          top: "-10px",
          transformOrigin: "bottom center",
          "&::before": {
            position: "absolute",
            content: '""',
            width: 8,
            height: 8,
            transform: "translate(-50%, 50%) rotate(45deg)",
            backgroundColor: "inherit",
            bottom: 0,
            left: "50%"
          },
          [`&.${sliderClasses.valueLabelOpen}`]: {
            transform: "translateY(-100%) scale(1)"
          }
        }
      },
      {
        props: {
          orientation: "vertical"
        },
        style: {
          transform: "translateY(-50%) scale(0)",
          right: "30px",
          top: "50%",
          transformOrigin: "right center",
          "&::before": {
            position: "absolute",
            content: '""',
            width: 8,
            height: 8,
            transform: "translate(-50%, -50%) rotate(45deg)",
            backgroundColor: "inherit",
            right: -8,
            top: "50%"
          },
          [`&.${sliderClasses.valueLabelOpen}`]: {
            transform: "translateY(-50%) scale(1)"
          }
        }
      },
      {
        props: {
          size: "small"
        },
        style: {
          fontSize: theme.typography.pxToRem(12),
          padding: "0.25rem 0.5rem"
        }
      },
      {
        props: {
          orientation: "vertical",
          size: "small"
        },
        style: {
          right: "20px"
        }
      }
    ]
  })));
  SliderMark = styled("span", {
    name: "MuiSlider",
    slot: "Mark",
    shouldForwardProp: (prop) => slotShouldForwardProp(prop) && prop !== "markActive",
    overridesResolver: (props, styles2) => {
      const { markActive } = props;
      return [
        styles2.mark,
        markActive && styles2.markActive
      ];
    }
  })(memoTheme(({ theme }) => ({
    position: "absolute",
    width: 2,
    height: 2,
    borderRadius: 1,
    backgroundColor: "currentColor",
    variants: [
      {
        props: {
          orientation: "horizontal"
        },
        style: {
          top: "50%",
          transform: "translate(-1px, -50%)"
        }
      },
      {
        props: {
          orientation: "vertical"
        },
        style: {
          left: "50%",
          transform: "translate(-50%, 1px)"
        }
      },
      {
        props: {
          markActive: true
        },
        style: {
          backgroundColor: (theme.vars || theme).palette.background.paper,
          opacity: 0.8
        }
      }
    ]
  })));
  SliderMarkLabel = styled("span", {
    name: "MuiSlider",
    slot: "MarkLabel",
    shouldForwardProp: (prop) => slotShouldForwardProp(prop) && prop !== "markLabelActive",
    overridesResolver: (props, styles2) => styles2.markLabel
  })(memoTheme(({ theme }) => ({
    ...theme.typography.body2,
    color: (theme.vars || theme).palette.text.secondary,
    position: "absolute",
    whiteSpace: "nowrap",
    variants: [
      {
        props: {
          orientation: "horizontal"
        },
        style: {
          top: 30,
          transform: "translateX(-50%)",
          "@media (pointer: coarse)": {
            top: 40
          }
        }
      },
      {
        props: {
          orientation: "vertical"
        },
        style: {
          left: 36,
          transform: "translateY(50%)",
          "@media (pointer: coarse)": {
            left: 44
          }
        }
      },
      {
        props: {
          markLabelActive: true
        },
        style: {
          color: (theme.vars || theme).palette.text.primary
        }
      }
    ]
  })));
  const useUtilityClasses$q = (ownerState) => {
    const { disabled, dragging, marked, orientation, track, classes, color, size } = ownerState;
    const slots = {
      root: [
        "root",
        disabled && "disabled",
        dragging && "dragging",
        marked && "marked",
        orientation === "vertical" && "vertical",
        track === "inverted" && "trackInverted",
        track === false && "trackFalse",
        color && `color${capitalize(color)}`,
        size && `size${capitalize(size)}`
      ],
      rail: [
        "rail"
      ],
      track: [
        "track"
      ],
      mark: [
        "mark"
      ],
      markActive: [
        "markActive"
      ],
      markLabel: [
        "markLabel"
      ],
      markLabelActive: [
        "markLabelActive"
      ],
      valueLabel: [
        "valueLabel"
      ],
      thumb: [
        "thumb",
        disabled && "disabled",
        size && `thumbSize${capitalize(size)}`,
        color && `thumbColor${capitalize(color)}`
      ],
      active: [
        "active"
      ],
      disabled: [
        "disabled"
      ],
      focusVisible: [
        "focusVisible"
      ]
    };
    return composeClasses(slots, getSliderUtilityClass, classes);
  };
  const Forward = ({ children }) => children;
  Slider = __mf_14(function Slider2(inputProps, ref) {
    const props = useDefaultProps({
      props: inputProps,
      name: "MuiSlider"
    });
    const isRtl = useRtl();
    const { "aria-label": ariaLabel, "aria-valuetext": ariaValuetext, "aria-labelledby": ariaLabelledby, component = "span", components = {}, componentsProps = {}, color = "primary", classes: classesProp, className, disableSwap = false, disabled = false, getAriaLabel, getAriaValueText, marks: marksProp = false, max = 100, min = 0, name, onChange, onChangeCommitted, orientation = "horizontal", shiftStep = 10, size = "medium", step = 1, scale = Identity, slotProps, slots, tabIndex, track = "normal", value: valueProp, valueLabelDisplay = "off", valueLabelFormat = Identity, ...other } = props;
    const ownerState = {
      ...props,
      isRtl,
      max,
      min,
      classes: classesProp,
      disabled,
      disableSwap,
      orientation,
      marks: marksProp,
      color,
      size,
      step,
      shiftStep,
      scale,
      track,
      valueLabelDisplay,
      valueLabelFormat
    };
    const { axisProps: axisProps2, getRootProps, getHiddenInputProps, getThumbProps, open, active, axis, focusedThumbIndex, range, dragging, marks, values, trackOffset, trackLeap, getThumbStyle } = useSlider({
      ...ownerState,
      rootRef: ref
    });
    ownerState.marked = marks.length > 0 && marks.some((mark) => mark.label);
    ownerState.dragging = dragging;
    ownerState.focusedThumbIndex = focusedThumbIndex;
    const classes = useUtilityClasses$q(ownerState);
    const RootSlot = (slots == null ? void 0 : slots.root) ?? components.Root ?? SliderRoot;
    const RailSlot = (slots == null ? void 0 : slots.rail) ?? components.Rail ?? SliderRail;
    const TrackSlot = (slots == null ? void 0 : slots.track) ?? components.Track ?? SliderTrack;
    const ThumbSlot = (slots == null ? void 0 : slots.thumb) ?? components.Thumb ?? SliderThumb;
    const ValueLabelSlot = (slots == null ? void 0 : slots.valueLabel) ?? components.ValueLabel ?? SliderValueLabel;
    const MarkSlot = (slots == null ? void 0 : slots.mark) ?? components.Mark ?? SliderMark;
    const MarkLabelSlot = (slots == null ? void 0 : slots.markLabel) ?? components.MarkLabel ?? SliderMarkLabel;
    const InputSlot = (slots == null ? void 0 : slots.input) ?? components.Input ?? "input";
    const rootSlotProps = (slotProps == null ? void 0 : slotProps.root) ?? componentsProps.root;
    const railSlotProps = (slotProps == null ? void 0 : slotProps.rail) ?? componentsProps.rail;
    const trackSlotProps = (slotProps == null ? void 0 : slotProps.track) ?? componentsProps.track;
    const thumbSlotProps = (slotProps == null ? void 0 : slotProps.thumb) ?? componentsProps.thumb;
    const valueLabelSlotProps = (slotProps == null ? void 0 : slotProps.valueLabel) ?? componentsProps.valueLabel;
    const markSlotProps = (slotProps == null ? void 0 : slotProps.mark) ?? componentsProps.mark;
    const markLabelSlotProps = (slotProps == null ? void 0 : slotProps.markLabel) ?? componentsProps.markLabel;
    const inputSlotProps = (slotProps == null ? void 0 : slotProps.input) ?? componentsProps.input;
    const rootProps = useSlotProps({
      elementType: RootSlot,
      getSlotProps: getRootProps,
      externalSlotProps: rootSlotProps,
      externalForwardedProps: other,
      additionalProps: {
        ...shouldSpreadAdditionalProps(RootSlot) && {
          as: component
        }
      },
      ownerState: {
        ...ownerState,
        ...rootSlotProps == null ? void 0 : rootSlotProps.ownerState
      },
      className: [
        classes.root,
        className
      ]
    });
    const railProps = useSlotProps({
      elementType: RailSlot,
      externalSlotProps: railSlotProps,
      ownerState,
      className: classes.rail
    });
    const trackProps = useSlotProps({
      elementType: TrackSlot,
      externalSlotProps: trackSlotProps,
      additionalProps: {
        style: {
          ...axisProps2[axis].offset(trackOffset),
          ...axisProps2[axis].leap(trackLeap)
        }
      },
      ownerState: {
        ...ownerState,
        ...trackSlotProps == null ? void 0 : trackSlotProps.ownerState
      },
      className: classes.track
    });
    const thumbProps = useSlotProps({
      elementType: ThumbSlot,
      getSlotProps: getThumbProps,
      externalSlotProps: thumbSlotProps,
      ownerState: {
        ...ownerState,
        ...thumbSlotProps == null ? void 0 : thumbSlotProps.ownerState
      },
      className: classes.thumb
    });
    const valueLabelProps = useSlotProps({
      elementType: ValueLabelSlot,
      externalSlotProps: valueLabelSlotProps,
      ownerState: {
        ...ownerState,
        ...valueLabelSlotProps == null ? void 0 : valueLabelSlotProps.ownerState
      },
      className: classes.valueLabel
    });
    const markProps = useSlotProps({
      elementType: MarkSlot,
      externalSlotProps: markSlotProps,
      ownerState,
      className: classes.mark
    });
    const markLabelProps = useSlotProps({
      elementType: MarkLabelSlot,
      externalSlotProps: markLabelSlotProps,
      ownerState,
      className: classes.markLabel
    });
    const inputSliderProps = useSlotProps({
      elementType: InputSlot,
      getSlotProps: getHiddenInputProps,
      externalSlotProps: inputSlotProps,
      ownerState
    });
    return jsxRuntimeExports.jsxs(RootSlot, {
      ...rootProps,
      children: [
        jsxRuntimeExports.jsx(RailSlot, {
          ...railProps
        }),
        jsxRuntimeExports.jsx(TrackSlot, {
          ...trackProps
        }),
        marks.filter((mark) => mark.value >= min && mark.value <= max).map((mark, index2) => {
          const percent = valueToPercent(mark.value, min, max);
          const style = axisProps2[axis].offset(percent);
          let markActive;
          if (track === false) {
            markActive = values.includes(mark.value);
          } else {
            markActive = track === "normal" && (range ? mark.value >= values[0] && mark.value <= values[values.length - 1] : mark.value <= values[0]) || track === "inverted" && (range ? mark.value <= values[0] || mark.value >= values[values.length - 1] : mark.value >= values[0]);
          }
          return jsxRuntimeExports.jsxs(__mf_2, {
            children: [
              jsxRuntimeExports.jsx(MarkSlot, {
                "data-index": index2,
                ...markProps,
                ...!isHostComponent(MarkSlot) && {
                  markActive
                },
                style: {
                  ...style,
                  ...markProps.style
                },
                className: clsx(markProps.className, markActive && classes.markActive)
              }),
              mark.label != null ? jsxRuntimeExports.jsx(MarkLabelSlot, {
                "aria-hidden": true,
                "data-index": index2,
                ...markLabelProps,
                ...!isHostComponent(MarkLabelSlot) && {
                  markLabelActive: markActive
                },
                style: {
                  ...style,
                  ...markLabelProps.style
                },
                className: clsx(classes.markLabel, markLabelProps.className, markActive && classes.markLabelActive),
                children: mark.label
              }) : null
            ]
          }, index2);
        }),
        values.map((value, index2) => {
          const percent = valueToPercent(value, min, max);
          const style = axisProps2[axis].offset(percent);
          const ValueLabelComponent = valueLabelDisplay === "off" ? Forward : ValueLabelSlot;
          return jsxRuntimeExports.jsx(ValueLabelComponent, {
            ...!isHostComponent(ValueLabelComponent) && {
              valueLabelFormat,
              valueLabelDisplay,
              value: typeof valueLabelFormat === "function" ? valueLabelFormat(scale(value), index2) : valueLabelFormat,
              index: index2,
              open: open === index2 || active === index2 || valueLabelDisplay === "on",
              disabled
            },
            ...valueLabelProps,
            children: jsxRuntimeExports.jsx(ThumbSlot, {
              "data-index": index2,
              ...thumbProps,
              className: clsx(classes.thumb, thumbProps.className, active === index2 && classes.active, focusedThumbIndex === index2 && classes.focusVisible),
              style: {
                ...style,
                ...getThumbStyle(index2),
                ...thumbProps.style
              },
              children: jsxRuntimeExports.jsx(InputSlot, {
                "data-index": index2,
                "aria-label": getAriaLabel ? getAriaLabel(index2) : ariaLabel,
                "aria-valuenow": scale(value),
                "aria-labelledby": ariaLabelledby,
                "aria-valuetext": getAriaValueText ? getAriaValueText(scale(value), index2) : ariaValuetext,
                value: values[index2],
                ...inputSliderProps
              })
            })
          }, index2);
        })
      ]
    });
  });
  function useSnackbar(parameters = {}) {
    const { autoHideDuration = null, disableWindowBlurListener = false, onClose, open, resumeHideDuration } = parameters;
    const timerAutoHide = useTimeout();
    __mf_24(() => {
      if (!open) {
        return void 0;
      }
      function handleKeyDown(nativeEvent) {
        if (!nativeEvent.defaultPrevented) {
          if (nativeEvent.key === "Escape") {
            onClose == null ? void 0 : onClose(nativeEvent, "escapeKeyDown");
          }
        }
      }
      document.addEventListener("keydown", handleKeyDown);
      return () => {
        document.removeEventListener("keydown", handleKeyDown);
      };
    }, [
      open,
      onClose
    ]);
    const handleClose = useEventCallback((event, reason) => {
      onClose == null ? void 0 : onClose(event, reason);
    });
    const setAutoHideTimer = useEventCallback((autoHideDurationParam) => {
      if (!onClose || autoHideDurationParam == null) {
        return;
      }
      timerAutoHide.start(autoHideDurationParam, () => {
        handleClose(null, "timeout");
      });
    });
    __mf_24(() => {
      if (open) {
        setAutoHideTimer(autoHideDuration);
      }
      return timerAutoHide.clear;
    }, [
      open,
      autoHideDuration,
      setAutoHideTimer,
      timerAutoHide
    ]);
    const handleClickAway = (event) => {
      onClose == null ? void 0 : onClose(event, "clickaway");
    };
    const handlePause = timerAutoHide.clear;
    const handleResume = __mf_20(() => {
      if (autoHideDuration != null) {
        setAutoHideTimer(resumeHideDuration != null ? resumeHideDuration : autoHideDuration * 0.5);
      }
    }, [
      autoHideDuration,
      resumeHideDuration,
      setAutoHideTimer
    ]);
    const createHandleBlur = (otherHandlers) => (event) => {
      const onBlurCallback = otherHandlers.onBlur;
      onBlurCallback == null ? void 0 : onBlurCallback(event);
      handleResume();
    };
    const createHandleFocus = (otherHandlers) => (event) => {
      const onFocusCallback = otherHandlers.onFocus;
      onFocusCallback == null ? void 0 : onFocusCallback(event);
      handlePause();
    };
    const createMouseEnter = (otherHandlers) => (event) => {
      const onMouseEnterCallback = otherHandlers.onMouseEnter;
      onMouseEnterCallback == null ? void 0 : onMouseEnterCallback(event);
      handlePause();
    };
    const createMouseLeave = (otherHandlers) => (event) => {
      const onMouseLeaveCallback = otherHandlers.onMouseLeave;
      onMouseLeaveCallback == null ? void 0 : onMouseLeaveCallback(event);
      handleResume();
    };
    __mf_24(() => {
      if (!disableWindowBlurListener && open) {
        window.addEventListener("focus", handleResume);
        window.addEventListener("blur", handlePause);
        return () => {
          window.removeEventListener("focus", handleResume);
          window.removeEventListener("blur", handlePause);
        };
      }
      return void 0;
    }, [
      disableWindowBlurListener,
      open,
      handleResume,
      handlePause
    ]);
    const getRootProps = (externalProps = {}) => {
      const externalEventHandlers = {
        ...extractEventHandlers(parameters),
        ...extractEventHandlers(externalProps)
      };
      return {
        role: "presentation",
        ...externalProps,
        ...externalEventHandlers,
        onBlur: createHandleBlur(externalEventHandlers),
        onFocus: createHandleFocus(externalEventHandlers),
        onMouseEnter: createMouseEnter(externalEventHandlers),
        onMouseLeave: createMouseLeave(externalEventHandlers)
      };
    };
    return {
      getRootProps,
      onClickAway: handleClickAway
    };
  }
  getSnackbarContentUtilityClass = function(slot) {
    return generateUtilityClass("MuiSnackbarContent", slot);
  };
  snackbarContentClasses = generateUtilityClasses("MuiSnackbarContent", [
    "root",
    "message",
    "action"
  ]);
  const useUtilityClasses$p = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ],
      action: [
        "action"
      ],
      message: [
        "message"
      ]
    };
    return composeClasses(slots, getSnackbarContentUtilityClass, classes);
  };
  const SnackbarContentRoot = styled(Paper, {
    name: "MuiSnackbarContent",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })(memoTheme(({ theme }) => {
    const emphasis = theme.palette.mode === "light" ? 0.8 : 0.98;
    const backgroundColor = emphasize(theme.palette.background.default, emphasis);
    return {
      ...theme.typography.body2,
      color: theme.vars ? theme.vars.palette.SnackbarContent.color : theme.palette.getContrastText(backgroundColor),
      backgroundColor: theme.vars ? theme.vars.palette.SnackbarContent.bg : backgroundColor,
      display: "flex",
      alignItems: "center",
      flexWrap: "wrap",
      padding: "6px 16px",
      borderRadius: (theme.vars || theme).shape.borderRadius,
      flexGrow: 1,
      [theme.breakpoints.up("sm")]: {
        flexGrow: "initial",
        minWidth: 288
      }
    };
  }));
  const SnackbarContentMessage = styled("div", {
    name: "MuiSnackbarContent",
    slot: "Message",
    overridesResolver: (props, styles2) => styles2.message
  })({
    padding: "8px 0"
  });
  const SnackbarContentAction = styled("div", {
    name: "MuiSnackbarContent",
    slot: "Action",
    overridesResolver: (props, styles2) => styles2.action
  })({
    display: "flex",
    alignItems: "center",
    marginLeft: "auto",
    paddingLeft: 16,
    marginRight: -8
  });
  SnackbarContent = __mf_14(function SnackbarContent2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiSnackbarContent"
    });
    const { action, className, message, role = "alert", ...other } = props;
    const ownerState = props;
    const classes = useUtilityClasses$p(ownerState);
    return jsxRuntimeExports.jsxs(SnackbarContentRoot, {
      role,
      square: true,
      elevation: 6,
      className: clsx(classes.root, className),
      ownerState,
      ref,
      ...other,
      children: [
        jsxRuntimeExports.jsx(SnackbarContentMessage, {
          className: classes.message,
          ownerState,
          children: message
        }),
        action ? jsxRuntimeExports.jsx(SnackbarContentAction, {
          className: classes.action,
          ownerState,
          children: action
        }) : null
      ]
    });
  });
  getSnackbarUtilityClass = function(slot) {
    return generateUtilityClass("MuiSnackbar", slot);
  };
  snackbarClasses = generateUtilityClasses("MuiSnackbar", [
    "root",
    "anchorOriginTopCenter",
    "anchorOriginBottomCenter",
    "anchorOriginTopRight",
    "anchorOriginBottomRight",
    "anchorOriginTopLeft",
    "anchorOriginBottomLeft"
  ]);
  const useUtilityClasses$o = (ownerState) => {
    const { classes, anchorOrigin } = ownerState;
    const slots = {
      root: [
        "root",
        `anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}`
      ]
    };
    return composeClasses(slots, getSnackbarUtilityClass, classes);
  };
  const SnackbarRoot = styled("div", {
    name: "MuiSnackbar",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[`anchorOrigin${capitalize(ownerState.anchorOrigin.vertical)}${capitalize(ownerState.anchorOrigin.horizontal)}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    zIndex: (theme.vars || theme).zIndex.snackbar,
    position: "fixed",
    display: "flex",
    left: 8,
    right: 8,
    justifyContent: "center",
    alignItems: "center",
    variants: [
      {
        props: ({ ownerState }) => ownerState.anchorOrigin.vertical === "top",
        style: {
          top: 8,
          [theme.breakpoints.up("sm")]: {
            top: 24
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchorOrigin.vertical !== "top",
        style: {
          bottom: 8,
          [theme.breakpoints.up("sm")]: {
            bottom: 24
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchorOrigin.horizontal === "left",
        style: {
          justifyContent: "flex-start",
          [theme.breakpoints.up("sm")]: {
            left: 24,
            right: "auto"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchorOrigin.horizontal === "right",
        style: {
          justifyContent: "flex-end",
          [theme.breakpoints.up("sm")]: {
            right: 24,
            left: "auto"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.anchorOrigin.horizontal === "center",
        style: {
          [theme.breakpoints.up("sm")]: {
            left: "50%",
            right: "auto",
            transform: "translateX(-50%)"
          }
        }
      }
    ]
  })));
  Snackbar = __mf_14(function Snackbar2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiSnackbar"
    });
    const theme = useTheme();
    const defaultTransitionDuration = {
      enter: theme.transitions.duration.enteringScreen,
      exit: theme.transitions.duration.leavingScreen
    };
    const { action, anchorOrigin: { vertical, horizontal } = {
      vertical: "bottom",
      horizontal: "left"
    }, autoHideDuration = null, children, className, ClickAwayListenerProps: ClickAwayListenerPropsProp, ContentProps: ContentPropsProp, disableWindowBlurListener = false, message, onBlur, onClose, onFocus, onMouseEnter, onMouseLeave, open, resumeHideDuration, slots = {}, slotProps = {}, TransitionComponent: TransitionComponentProp, transitionDuration = defaultTransitionDuration, TransitionProps: { onEnter, onExited, ...TransitionPropsProp } = {}, ...other } = props;
    const ownerState = {
      ...props,
      anchorOrigin: {
        vertical,
        horizontal
      },
      autoHideDuration,
      disableWindowBlurListener,
      TransitionComponent: TransitionComponentProp,
      transitionDuration
    };
    const classes = useUtilityClasses$o(ownerState);
    const { getRootProps, onClickAway } = useSnackbar({
      ...ownerState
    });
    const [exited, setExited] = __mf_32(true);
    const handleExited = (node) => {
      setExited(true);
      if (onExited) {
        onExited(node);
      }
    };
    const handleEnter = (node, isAppearing) => {
      setExited(false);
      if (onEnter) {
        onEnter(node, isAppearing);
      }
    };
    const externalForwardedProps = {
      slots: {
        transition: TransitionComponentProp,
        ...slots
      },
      slotProps: {
        content: ContentPropsProp,
        clickAwayListener: ClickAwayListenerPropsProp,
        transition: TransitionPropsProp,
        ...slotProps
      }
    };
    const [Root, rootProps] = useSlot("root", {
      ref,
      className: [
        classes.root,
        className
      ],
      elementType: SnackbarRoot,
      getSlotProps: getRootProps,
      externalForwardedProps: {
        ...externalForwardedProps,
        ...other
      },
      ownerState
    });
    const [ClickAwaySlot, { ownerState: clickAwayOwnerStateProp, ...clickAwayListenerProps }] = useSlot("clickAwayListener", {
      elementType: ClickAwayListener,
      externalForwardedProps,
      getSlotProps: (handlers) => ({
        onClickAway: (...params) => {
          var _a;
          (_a = handlers.onClickAway) == null ? void 0 : _a.call(handlers, ...params);
          onClickAway(...params);
        }
      }),
      ownerState
    });
    const [ContentSlot, contentSlotProps] = useSlot("content", {
      elementType: SnackbarContent,
      shouldForwardComponentProp: true,
      externalForwardedProps,
      additionalProps: {
        message,
        action
      },
      ownerState
    });
    const [TransitionSlot, transitionProps] = useSlot("transition", {
      elementType: Grow,
      externalForwardedProps,
      getSlotProps: (handlers) => ({
        onEnter: (...params) => {
          var _a;
          (_a = handlers.onEnter) == null ? void 0 : _a.call(handlers, ...params);
          handleEnter(...params);
        },
        onExited: (...params) => {
          var _a;
          (_a = handlers.onExited) == null ? void 0 : _a.call(handlers, ...params);
          handleExited(...params);
        }
      }),
      additionalProps: {
        appear: true,
        in: open,
        timeout: transitionDuration,
        direction: vertical === "top" ? "down" : "up"
      },
      ownerState
    });
    if (!open && exited) {
      return null;
    }
    return jsxRuntimeExports.jsx(ClickAwaySlot, {
      ...clickAwayListenerProps,
      ...slots.clickAwayListener && {
        ownerState: clickAwayOwnerStateProp
      },
      children: jsxRuntimeExports.jsx(Root, {
        ...rootProps,
        children: jsxRuntimeExports.jsx(TransitionSlot, {
          ...transitionProps,
          children: children || jsxRuntimeExports.jsx(ContentSlot, {
            ...contentSlotProps
          })
        })
      })
    });
  });
  const styles = {
    entering: {
      transform: "none"
    },
    entered: {
      transform: "none"
    }
  };
  Zoom = __mf_14(function Zoom2(props, ref) {
    const theme = useTheme();
    const defaultTimeout = {
      enter: theme.transitions.duration.enteringScreen,
      exit: theme.transitions.duration.leavingScreen
    };
    const { addEndListener, appear = true, children, easing, in: inProp, onEnter, onEntered, onEntering, onExit, onExited, onExiting, style, timeout = defaultTimeout, TransitionComponent = Transition, ...other } = props;
    const nodeRef = __mf_31(null);
    const handleRef = useForkRef(nodeRef, getReactElementRef(children), ref);
    const normalizedTransitionCallback = (callback) => (maybeIsAppearing) => {
      if (callback) {
        const node = nodeRef.current;
        if (maybeIsAppearing === void 0) {
          callback(node);
        } else {
          callback(node, maybeIsAppearing);
        }
      }
    };
    const handleEntering = normalizedTransitionCallback(onEntering);
    const handleEnter = normalizedTransitionCallback((node, isAppearing) => {
      reflow(node);
      const transitionProps = getTransitionProps({
        style,
        timeout,
        easing
      }, {
        mode: "enter"
      });
      node.style.webkitTransition = theme.transitions.create("transform", transitionProps);
      node.style.transition = theme.transitions.create("transform", transitionProps);
      if (onEnter) {
        onEnter(node, isAppearing);
      }
    });
    const handleEntered = normalizedTransitionCallback(onEntered);
    const handleExiting = normalizedTransitionCallback(onExiting);
    const handleExit = normalizedTransitionCallback((node) => {
      const transitionProps = getTransitionProps({
        style,
        timeout,
        easing
      }, {
        mode: "exit"
      });
      node.style.webkitTransition = theme.transitions.create("transform", transitionProps);
      node.style.transition = theme.transitions.create("transform", transitionProps);
      if (onExit) {
        onExit(node);
      }
    });
    const handleExited = normalizedTransitionCallback(onExited);
    const handleAddEndListener = (next) => {
      if (addEndListener) {
        addEndListener(nodeRef.current, next);
      }
    };
    return jsxRuntimeExports.jsx(TransitionComponent, {
      appear,
      in: inProp,
      nodeRef,
      onEnter: handleEnter,
      onEntered: handleEntered,
      onEntering: handleEntering,
      onExit: handleExit,
      onExited: handleExited,
      onExiting: handleExiting,
      addEndListener: handleAddEndListener,
      timeout,
      ...other,
      children: (state, { ownerState, ...restChildProps }) => {
        return __mf_9(children, {
          style: {
            transform: "scale(0)",
            visibility: state === "exited" && !inProp ? "hidden" : void 0,
            ...styles[state],
            ...style,
            ...children.props.style
          },
          ref: handleRef,
          ...restChildProps
        });
      }
    });
  });
  getSpeedDialUtilityClass = function(slot) {
    return generateUtilityClass("MuiSpeedDial", slot);
  };
  speedDialClasses = generateUtilityClasses("MuiSpeedDial", [
    "root",
    "fab",
    "directionUp",
    "directionDown",
    "directionLeft",
    "directionRight",
    "actions",
    "actionsClosed"
  ]);
  const useUtilityClasses$n = (ownerState) => {
    const { classes, open, direction } = ownerState;
    const slots = {
      root: [
        "root",
        `direction${capitalize(direction)}`
      ],
      fab: [
        "fab"
      ],
      actions: [
        "actions",
        !open && "actionsClosed"
      ]
    };
    return composeClasses(slots, getSpeedDialUtilityClass, classes);
  };
  function getOrientation(direction) {
    if (direction === "up" || direction === "down") {
      return "vertical";
    }
    if (direction === "right" || direction === "left") {
      return "horizontal";
    }
    return void 0;
  }
  const dialRadius = 32;
  const spacingActions = 16;
  const SpeedDialRoot = styled("div", {
    name: "MuiSpeedDial",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[`direction${capitalize(ownerState.direction)}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    zIndex: (theme.vars || theme).zIndex.speedDial,
    display: "flex",
    alignItems: "center",
    pointerEvents: "none",
    variants: [
      {
        props: {
          direction: "up"
        },
        style: {
          flexDirection: "column-reverse",
          [`& .${speedDialClasses.actions}`]: {
            flexDirection: "column-reverse",
            marginBottom: -dialRadius,
            paddingBottom: spacingActions + dialRadius
          }
        }
      },
      {
        props: {
          direction: "down"
        },
        style: {
          flexDirection: "column",
          [`& .${speedDialClasses.actions}`]: {
            flexDirection: "column",
            marginTop: -dialRadius,
            paddingTop: spacingActions + dialRadius
          }
        }
      },
      {
        props: {
          direction: "left"
        },
        style: {
          flexDirection: "row-reverse",
          [`& .${speedDialClasses.actions}`]: {
            flexDirection: "row-reverse",
            marginRight: -dialRadius,
            paddingRight: spacingActions + dialRadius
          }
        }
      },
      {
        props: {
          direction: "right"
        },
        style: {
          flexDirection: "row",
          [`& .${speedDialClasses.actions}`]: {
            flexDirection: "row",
            marginLeft: -dialRadius,
            paddingLeft: spacingActions + dialRadius
          }
        }
      }
    ]
  })));
  const SpeedDialFab = styled(Fab, {
    name: "MuiSpeedDial",
    slot: "Fab",
    overridesResolver: (props, styles2) => styles2.fab
  })({
    pointerEvents: "auto"
  });
  const SpeedDialActions = styled("div", {
    name: "MuiSpeedDial",
    slot: "Actions",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.actions,
        !ownerState.open && styles2.actionsClosed
      ];
    }
  })({
    display: "flex",
    pointerEvents: "auto",
    variants: [
      {
        props: ({ ownerState }) => !ownerState.open,
        style: {
          transition: "top 0s linear 0.2s",
          pointerEvents: "none"
        }
      }
    ]
  });
  SpeedDial = __mf_14(function SpeedDial2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiSpeedDial"
    });
    const theme = useTheme();
    const defaultTransitionDuration = {
      enter: theme.transitions.duration.enteringScreen,
      exit: theme.transitions.duration.leavingScreen
    };
    const { ariaLabel, FabProps: { ref: origDialButtonRef, ...FabProps } = {}, children: childrenProp, className, direction = "up", hidden = false, icon, onBlur, onClose, onFocus, onKeyDown, onMouseEnter, onMouseLeave, onOpen, open: openProp, openIcon, slots = {}, slotProps = {}, TransitionComponent: TransitionComponentProp, TransitionProps: TransitionPropsProp, transitionDuration = defaultTransitionDuration, ...other } = props;
    const [open, setOpenState] = useControlled({
      controlled: openProp,
      default: false,
      name: "SpeedDial",
      state: "open"
    });
    const ownerState = {
      ...props,
      open,
      direction
    };
    const classes = useUtilityClasses$n(ownerState);
    const eventTimer = useTimeout();
    const focusedAction = __mf_31(0);
    const nextItemArrowKey = __mf_31();
    const actions = __mf_31([]);
    actions.current = [
      actions.current[0]
    ];
    const handleOwnFabRef = __mf_20((fabFef) => {
      actions.current[0] = fabFef;
    }, []);
    const handleFabRef = useForkRef(origDialButtonRef, handleOwnFabRef);
    const createHandleSpeedDialActionButtonRef = (dialActionIndex, origButtonRef) => {
      return (buttonRef) => {
        actions.current[dialActionIndex + 1] = buttonRef;
        if (origButtonRef) {
          origButtonRef(buttonRef);
        }
      };
    };
    const handleKeyDown = (event) => {
      if (onKeyDown) {
        onKeyDown(event);
      }
      const key = event.key.replace("Arrow", "").toLowerCase();
      const { current: nextItemArrowKeyCurrent = key } = nextItemArrowKey;
      if (event.key === "Escape") {
        setOpenState(false);
        actions.current[0].focus();
        if (onClose) {
          onClose(event, "escapeKeyDown");
        }
        return;
      }
      if (getOrientation(key) === getOrientation(nextItemArrowKeyCurrent) && getOrientation(key) !== void 0) {
        event.preventDefault();
        const actionStep = key === nextItemArrowKeyCurrent ? 1 : -1;
        const nextAction = clamp(focusedAction.current + actionStep, 0, actions.current.length - 1);
        actions.current[nextAction].focus();
        focusedAction.current = nextAction;
        nextItemArrowKey.current = nextItemArrowKeyCurrent;
      }
    };
    __mf_24(() => {
      if (!open) {
        focusedAction.current = 0;
        nextItemArrowKey.current = void 0;
      }
    }, [
      open
    ]);
    const handleClose = (event) => {
      if (event.type === "mouseleave" && onMouseLeave) {
        onMouseLeave(event);
      }
      if (event.type === "blur" && onBlur) {
        onBlur(event);
      }
      eventTimer.clear();
      if (event.type === "blur") {
        eventTimer.start(0, () => {
          setOpenState(false);
          if (onClose) {
            onClose(event, "blur");
          }
        });
      } else {
        setOpenState(false);
        if (onClose) {
          onClose(event, "mouseLeave");
        }
      }
    };
    const handleClick = (event) => {
      if (FabProps.onClick) {
        FabProps.onClick(event);
      }
      eventTimer.clear();
      if (open) {
        setOpenState(false);
        if (onClose) {
          onClose(event, "toggle");
        }
      } else {
        setOpenState(true);
        if (onOpen) {
          onOpen(event, "toggle");
        }
      }
    };
    const handleOpen = (event) => {
      if (event.type === "mouseenter" && onMouseEnter) {
        onMouseEnter(event);
      }
      if (event.type === "focus" && onFocus) {
        onFocus(event);
      }
      eventTimer.clear();
      if (!open) {
        eventTimer.start(0, () => {
          setOpenState(true);
          if (onOpen) {
            const eventMap = {
              focus: "focus",
              mouseenter: "mouseEnter"
            };
            onOpen(event, eventMap[event.type]);
          }
        });
      }
    };
    const id = ariaLabel.replace(/^[^a-z]+|[^\w:.-]+/gi, "");
    const allItems = __mf_0.toArray(childrenProp).filter((child) => {
      return __mf_15(child);
    });
    const children = allItems.map((child, index2) => {
      const { FabProps: { ref: origButtonRef, ...ChildFabProps } = {}, tooltipPlacement: tooltipPlacementProp } = child.props;
      const tooltipPlacement = tooltipPlacementProp || (getOrientation(direction) === "vertical" ? "left" : "top");
      return __mf_9(child, {
        FabProps: {
          ...ChildFabProps,
          ref: createHandleSpeedDialActionButtonRef(index2, origButtonRef)
        },
        delay: 30 * (open ? index2 : allItems.length - index2),
        open,
        tooltipPlacement,
        id: `${id}-action-${index2}`
      });
    });
    const backwardCompatibleSlots = {
      transition: TransitionComponentProp,
      ...slots
    };
    const backwardCompatibleSlotProps = {
      transition: TransitionPropsProp,
      ...slotProps
    };
    const externalForwardedProps = {
      slots: backwardCompatibleSlots,
      slotProps: backwardCompatibleSlotProps
    };
    const [RootSlot, rootSlotProps] = useSlot("root", {
      elementType: SpeedDialRoot,
      externalForwardedProps: {
        ...externalForwardedProps,
        ...other
      },
      ownerState,
      ref,
      className: clsx(classes.root, className),
      additionalProps: {
        role: "presentation"
      },
      getSlotProps: (handlers) => ({
        ...handlers,
        onKeyDown: (event) => {
          var _a;
          (_a = handlers.onKeyDown) == null ? void 0 : _a.call(handlers, event);
          handleKeyDown(event);
        },
        onBlur: (event) => {
          var _a;
          (_a = handlers.onBlur) == null ? void 0 : _a.call(handlers, event);
          handleClose(event);
        },
        onFocus: (event) => {
          var _a;
          (_a = handlers.onFocus) == null ? void 0 : _a.call(handlers, event);
          handleOpen(event);
        },
        onMouseEnter: (event) => {
          var _a;
          (_a = handlers.onMouseEnter) == null ? void 0 : _a.call(handlers, event);
          handleOpen(event);
        },
        onMouseLeave: (event) => {
          var _a;
          (_a = handlers.onMouseLeave) == null ? void 0 : _a.call(handlers, event);
          handleClose(event);
        }
      })
    });
    const [TransitionSlot, transitionProps] = useSlot("transition", {
      elementType: Zoom,
      externalForwardedProps,
      ownerState
    });
    return jsxRuntimeExports.jsxs(RootSlot, {
      ...rootSlotProps,
      children: [
        jsxRuntimeExports.jsx(TransitionSlot, {
          in: !hidden,
          timeout: transitionDuration,
          unmountOnExit: true,
          ...transitionProps,
          children: jsxRuntimeExports.jsx(SpeedDialFab, {
            color: "primary",
            "aria-label": ariaLabel,
            "aria-haspopup": "true",
            "aria-expanded": open,
            "aria-controls": `${id}-actions`,
            ...FabProps,
            onClick: handleClick,
            className: clsx(classes.fab, FabProps.className),
            ref: handleFabRef,
            ownerState,
            children: __mf_15(icon) && isMuiElement(icon, [
              "SpeedDialIcon"
            ]) ? __mf_9(icon, {
              open
            }) : icon
          })
        }),
        jsxRuntimeExports.jsx(SpeedDialActions, {
          id: `${id}-actions`,
          role: "menu",
          "aria-orientation": getOrientation(direction),
          className: clsx(classes.actions, !open && classes.actionsClosed),
          ownerState,
          children
        })
      ]
    });
  });
  getTooltipUtilityClass = function(slot) {
    return generateUtilityClass("MuiTooltip", slot);
  };
  tooltipClasses = generateUtilityClasses("MuiTooltip", [
    "popper",
    "popperInteractive",
    "popperArrow",
    "popperClose",
    "tooltip",
    "tooltipArrow",
    "touch",
    "tooltipPlacementLeft",
    "tooltipPlacementRight",
    "tooltipPlacementTop",
    "tooltipPlacementBottom",
    "arrow"
  ]);
  function round(value) {
    return Math.round(value * 1e5) / 1e5;
  }
  const useUtilityClasses$m = (ownerState) => {
    const { classes, disableInteractive, arrow, touch, placement } = ownerState;
    const slots = {
      popper: [
        "popper",
        !disableInteractive && "popperInteractive",
        arrow && "popperArrow"
      ],
      tooltip: [
        "tooltip",
        arrow && "tooltipArrow",
        touch && "touch",
        `tooltipPlacement${capitalize(placement.split("-")[0])}`
      ],
      arrow: [
        "arrow"
      ]
    };
    return composeClasses(slots, getTooltipUtilityClass, classes);
  };
  const TooltipPopper = styled(Popper, {
    name: "MuiTooltip",
    slot: "Popper",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.popper,
        !ownerState.disableInteractive && styles2.popperInteractive,
        ownerState.arrow && styles2.popperArrow,
        !ownerState.open && styles2.popperClose
      ];
    }
  })(memoTheme(({ theme }) => ({
    zIndex: (theme.vars || theme).zIndex.tooltip,
    pointerEvents: "none",
    variants: [
      {
        props: ({ ownerState }) => !ownerState.disableInteractive,
        style: {
          pointerEvents: "auto"
        }
      },
      {
        props: ({ open }) => !open,
        style: {
          pointerEvents: "none"
        }
      },
      {
        props: ({ ownerState }) => ownerState.arrow,
        style: {
          [`&[data-popper-placement*="bottom"] .${tooltipClasses.arrow}`]: {
            top: 0,
            marginTop: "-0.71em",
            "&::before": {
              transformOrigin: "0 100%"
            }
          },
          [`&[data-popper-placement*="top"] .${tooltipClasses.arrow}`]: {
            bottom: 0,
            marginBottom: "-0.71em",
            "&::before": {
              transformOrigin: "100% 0"
            }
          },
          [`&[data-popper-placement*="right"] .${tooltipClasses.arrow}`]: {
            height: "1em",
            width: "0.71em",
            "&::before": {
              transformOrigin: "100% 100%"
            }
          },
          [`&[data-popper-placement*="left"] .${tooltipClasses.arrow}`]: {
            height: "1em",
            width: "0.71em",
            "&::before": {
              transformOrigin: "0 0"
            }
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.arrow && !ownerState.isRtl,
        style: {
          [`&[data-popper-placement*="right"] .${tooltipClasses.arrow}`]: {
            left: 0,
            marginLeft: "-0.71em"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.arrow && !!ownerState.isRtl,
        style: {
          [`&[data-popper-placement*="right"] .${tooltipClasses.arrow}`]: {
            right: 0,
            marginRight: "-0.71em"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.arrow && !ownerState.isRtl,
        style: {
          [`&[data-popper-placement*="left"] .${tooltipClasses.arrow}`]: {
            right: 0,
            marginRight: "-0.71em"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.arrow && !!ownerState.isRtl,
        style: {
          [`&[data-popper-placement*="left"] .${tooltipClasses.arrow}`]: {
            left: 0,
            marginLeft: "-0.71em"
          }
        }
      }
    ]
  })));
  const TooltipTooltip = styled("div", {
    name: "MuiTooltip",
    slot: "Tooltip",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.tooltip,
        ownerState.touch && styles2.touch,
        ownerState.arrow && styles2.tooltipArrow,
        styles2[`tooltipPlacement${capitalize(ownerState.placement.split("-")[0])}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    backgroundColor: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.92),
    borderRadius: (theme.vars || theme).shape.borderRadius,
    color: (theme.vars || theme).palette.common.white,
    fontFamily: theme.typography.fontFamily,
    padding: "4px 8px",
    fontSize: theme.typography.pxToRem(11),
    maxWidth: 300,
    margin: 2,
    wordWrap: "break-word",
    fontWeight: theme.typography.fontWeightMedium,
    [`.${tooltipClasses.popper}[data-popper-placement*="left"] &`]: {
      transformOrigin: "right center"
    },
    [`.${tooltipClasses.popper}[data-popper-placement*="right"] &`]: {
      transformOrigin: "left center"
    },
    [`.${tooltipClasses.popper}[data-popper-placement*="top"] &`]: {
      transformOrigin: "center bottom",
      marginBottom: "14px"
    },
    [`.${tooltipClasses.popper}[data-popper-placement*="bottom"] &`]: {
      transformOrigin: "center top",
      marginTop: "14px"
    },
    variants: [
      {
        props: ({ ownerState }) => ownerState.arrow,
        style: {
          position: "relative",
          margin: 0
        }
      },
      {
        props: ({ ownerState }) => ownerState.touch,
        style: {
          padding: "8px 16px",
          fontSize: theme.typography.pxToRem(14),
          lineHeight: `${round(16 / 14)}em`,
          fontWeight: theme.typography.fontWeightRegular
        }
      },
      {
        props: ({ ownerState }) => !ownerState.isRtl,
        style: {
          [`.${tooltipClasses.popper}[data-popper-placement*="left"] &`]: {
            marginRight: "14px"
          },
          [`.${tooltipClasses.popper}[data-popper-placement*="right"] &`]: {
            marginLeft: "14px"
          }
        }
      },
      {
        props: ({ ownerState }) => !ownerState.isRtl && ownerState.touch,
        style: {
          [`.${tooltipClasses.popper}[data-popper-placement*="left"] &`]: {
            marginRight: "24px"
          },
          [`.${tooltipClasses.popper}[data-popper-placement*="right"] &`]: {
            marginLeft: "24px"
          }
        }
      },
      {
        props: ({ ownerState }) => !!ownerState.isRtl,
        style: {
          [`.${tooltipClasses.popper}[data-popper-placement*="left"] &`]: {
            marginLeft: "14px"
          },
          [`.${tooltipClasses.popper}[data-popper-placement*="right"] &`]: {
            marginRight: "14px"
          }
        }
      },
      {
        props: ({ ownerState }) => !!ownerState.isRtl && ownerState.touch,
        style: {
          [`.${tooltipClasses.popper}[data-popper-placement*="left"] &`]: {
            marginLeft: "24px"
          },
          [`.${tooltipClasses.popper}[data-popper-placement*="right"] &`]: {
            marginRight: "24px"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.touch,
        style: {
          [`.${tooltipClasses.popper}[data-popper-placement*="top"] &`]: {
            marginBottom: "24px"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.touch,
        style: {
          [`.${tooltipClasses.popper}[data-popper-placement*="bottom"] &`]: {
            marginTop: "24px"
          }
        }
      }
    ]
  })));
  const TooltipArrow = styled("span", {
    name: "MuiTooltip",
    slot: "Arrow",
    overridesResolver: (props, styles2) => styles2.arrow
  })(memoTheme(({ theme }) => ({
    overflow: "hidden",
    position: "absolute",
    width: "1em",
    height: "0.71em",
    boxSizing: "border-box",
    color: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.9),
    "&::before": {
      content: '""',
      margin: "auto",
      display: "block",
      width: "100%",
      height: "100%",
      backgroundColor: "currentColor",
      transform: "rotate(45deg)"
    }
  })));
  let hystersisOpen = false;
  const hystersisTimer = new Timeout();
  let cursorPosition = {
    x: 0,
    y: 0
  };
  function composeEventHandler(handler, eventHandler) {
    return (event, ...params) => {
      if (eventHandler) {
        eventHandler(event, ...params);
      }
      handler(event, ...params);
    };
  }
  Tooltip = __mf_14(function Tooltip2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiTooltip"
    });
    const { arrow = false, children: childrenProp, classes: classesProp, components = {}, componentsProps = {}, describeChild = false, disableFocusListener = false, disableHoverListener = false, disableInteractive: disableInteractiveProp = false, disableTouchListener = false, enterDelay = 100, enterNextDelay = 0, enterTouchDelay = 700, followCursor = false, id: idProp, leaveDelay = 0, leaveTouchDelay = 1500, onClose, onOpen, open: openProp, placement = "bottom", PopperComponent: PopperComponentProp, PopperProps = {}, slotProps = {}, slots = {}, title, TransitionComponent: TransitionComponentProp, TransitionProps, ...other } = props;
    const children = __mf_15(childrenProp) ? childrenProp : jsxRuntimeExports.jsx("span", {
      children: childrenProp
    });
    const theme = useTheme();
    const isRtl = useRtl();
    const [childNode, setChildNode] = __mf_32();
    const [arrowRef, setArrowRef] = __mf_32(null);
    const ignoreNonTouchEvents = __mf_31(false);
    const disableInteractive = disableInteractiveProp || followCursor;
    const closeTimer = useTimeout();
    const enterTimer = useTimeout();
    const leaveTimer = useTimeout();
    const touchTimer = useTimeout();
    const [openState, setOpenState] = useControlled({
      controlled: openProp,
      default: false,
      name: "Tooltip",
      state: "open"
    });
    let open = openState;
    const id = useId(idProp);
    const prevUserSelect = __mf_31();
    const stopTouchInteraction = useEventCallback(() => {
      if (prevUserSelect.current !== void 0) {
        document.body.style.WebkitUserSelect = prevUserSelect.current;
        prevUserSelect.current = void 0;
      }
      touchTimer.clear();
    });
    __mf_24(() => stopTouchInteraction, [
      stopTouchInteraction
    ]);
    const handleOpen = (event) => {
      hystersisTimer.clear();
      hystersisOpen = true;
      setOpenState(true);
      if (onOpen && !open) {
        onOpen(event);
      }
    };
    const handleClose = useEventCallback((event) => {
      hystersisTimer.start(800 + leaveDelay, () => {
        hystersisOpen = false;
      });
      setOpenState(false);
      if (onClose && open) {
        onClose(event);
      }
      closeTimer.start(theme.transitions.duration.shortest, () => {
        ignoreNonTouchEvents.current = false;
      });
    });
    const handleMouseOver = (event) => {
      if (ignoreNonTouchEvents.current && event.type !== "touchstart") {
        return;
      }
      if (childNode) {
        childNode.removeAttribute("title");
      }
      enterTimer.clear();
      leaveTimer.clear();
      if (enterDelay || hystersisOpen && enterNextDelay) {
        enterTimer.start(hystersisOpen ? enterNextDelay : enterDelay, () => {
          handleOpen(event);
        });
      } else {
        handleOpen(event);
      }
    };
    const handleMouseLeave = (event) => {
      enterTimer.clear();
      leaveTimer.start(leaveDelay, () => {
        handleClose(event);
      });
    };
    const [, setChildIsFocusVisible] = __mf_32(false);
    const handleBlur = (event) => {
      if (!isFocusVisible(event.target)) {
        setChildIsFocusVisible(false);
        handleMouseLeave(event);
      }
    };
    const handleFocus = (event) => {
      if (!childNode) {
        setChildNode(event.currentTarget);
      }
      if (isFocusVisible(event.target)) {
        setChildIsFocusVisible(true);
        handleMouseOver(event);
      }
    };
    const detectTouchStart = (event) => {
      ignoreNonTouchEvents.current = true;
      const childrenProps2 = children.props;
      if (childrenProps2.onTouchStart) {
        childrenProps2.onTouchStart(event);
      }
    };
    const handleTouchStart = (event) => {
      detectTouchStart(event);
      leaveTimer.clear();
      closeTimer.clear();
      stopTouchInteraction();
      prevUserSelect.current = document.body.style.WebkitUserSelect;
      document.body.style.WebkitUserSelect = "none";
      touchTimer.start(enterTouchDelay, () => {
        document.body.style.WebkitUserSelect = prevUserSelect.current;
        handleMouseOver(event);
      });
    };
    const handleTouchEnd = (event) => {
      if (children.props.onTouchEnd) {
        children.props.onTouchEnd(event);
      }
      stopTouchInteraction();
      leaveTimer.start(leaveTouchDelay, () => {
        handleClose(event);
      });
    };
    __mf_24(() => {
      if (!open) {
        return void 0;
      }
      function handleKeyDown(nativeEvent) {
        if (nativeEvent.key === "Escape") {
          handleClose(nativeEvent);
        }
      }
      document.addEventListener("keydown", handleKeyDown);
      return () => {
        document.removeEventListener("keydown", handleKeyDown);
      };
    }, [
      handleClose,
      open
    ]);
    const handleRef = useForkRef(getReactElementRef(children), setChildNode, ref);
    if (!title && title !== 0) {
      open = false;
    }
    const popperRef = __mf_31();
    const handleMouseMove = (event) => {
      const childrenProps2 = children.props;
      if (childrenProps2.onMouseMove) {
        childrenProps2.onMouseMove(event);
      }
      cursorPosition = {
        x: event.clientX,
        y: event.clientY
      };
      if (popperRef.current) {
        popperRef.current.update();
      }
    };
    const nameOrDescProps = {};
    const titleIsString = typeof title === "string";
    if (describeChild) {
      nameOrDescProps.title = !open && titleIsString && !disableHoverListener ? title : null;
      nameOrDescProps["aria-describedby"] = open ? id : null;
    } else {
      nameOrDescProps["aria-label"] = titleIsString ? title : null;
      nameOrDescProps["aria-labelledby"] = open && !titleIsString ? id : null;
    }
    const childrenProps = {
      ...nameOrDescProps,
      ...other,
      ...children.props,
      className: clsx(other.className, children.props.className),
      onTouchStart: detectTouchStart,
      ref: handleRef,
      ...followCursor ? {
        onMouseMove: handleMouseMove
      } : {}
    };
    const interactiveWrapperListeners = {};
    if (!disableTouchListener) {
      childrenProps.onTouchStart = handleTouchStart;
      childrenProps.onTouchEnd = handleTouchEnd;
    }
    if (!disableHoverListener) {
      childrenProps.onMouseOver = composeEventHandler(handleMouseOver, childrenProps.onMouseOver);
      childrenProps.onMouseLeave = composeEventHandler(handleMouseLeave, childrenProps.onMouseLeave);
      if (!disableInteractive) {
        interactiveWrapperListeners.onMouseOver = handleMouseOver;
        interactiveWrapperListeners.onMouseLeave = handleMouseLeave;
      }
    }
    if (!disableFocusListener) {
      childrenProps.onFocus = composeEventHandler(handleFocus, childrenProps.onFocus);
      childrenProps.onBlur = composeEventHandler(handleBlur, childrenProps.onBlur);
      if (!disableInteractive) {
        interactiveWrapperListeners.onFocus = handleFocus;
        interactiveWrapperListeners.onBlur = handleBlur;
      }
    }
    const ownerState = {
      ...props,
      isRtl,
      arrow,
      disableInteractive,
      placement,
      PopperComponentProp,
      touch: ignoreNonTouchEvents.current
    };
    const resolvedPopperProps = typeof slotProps.popper === "function" ? slotProps.popper(ownerState) : slotProps.popper;
    const popperOptions = __mf_29(() => {
      var _a, _b;
      let tooltipModifiers = [
        {
          name: "arrow",
          enabled: Boolean(arrowRef),
          options: {
            element: arrowRef,
            padding: 4
          }
        }
      ];
      if ((_a = PopperProps.popperOptions) == null ? void 0 : _a.modifiers) {
        tooltipModifiers = tooltipModifiers.concat(PopperProps.popperOptions.modifiers);
      }
      if ((_b = resolvedPopperProps == null ? void 0 : resolvedPopperProps.popperOptions) == null ? void 0 : _b.modifiers) {
        tooltipModifiers = tooltipModifiers.concat(resolvedPopperProps.popperOptions.modifiers);
      }
      return {
        ...PopperProps.popperOptions,
        ...resolvedPopperProps == null ? void 0 : resolvedPopperProps.popperOptions,
        modifiers: tooltipModifiers
      };
    }, [
      arrowRef,
      PopperProps.popperOptions,
      resolvedPopperProps == null ? void 0 : resolvedPopperProps.popperOptions
    ]);
    const classes = useUtilityClasses$m(ownerState);
    const resolvedTransitionProps = typeof slotProps.transition === "function" ? slotProps.transition(ownerState) : slotProps.transition;
    const externalForwardedProps = {
      slots: {
        popper: components.Popper,
        transition: components.Transition ?? TransitionComponentProp,
        tooltip: components.Tooltip,
        arrow: components.Arrow,
        ...slots
      },
      slotProps: {
        arrow: slotProps.arrow ?? componentsProps.arrow,
        popper: {
          ...PopperProps,
          ...resolvedPopperProps ?? componentsProps.popper
        },
        tooltip: slotProps.tooltip ?? componentsProps.tooltip,
        transition: {
          ...TransitionProps,
          ...resolvedTransitionProps ?? componentsProps.transition
        }
      }
    };
    const [PopperSlot, popperSlotProps] = useSlot("popper", {
      elementType: TooltipPopper,
      externalForwardedProps,
      ownerState,
      className: clsx(classes.popper, PopperProps == null ? void 0 : PopperProps.className)
    });
    const [TransitionSlot, transitionSlotProps] = useSlot("transition", {
      elementType: Grow,
      externalForwardedProps,
      ownerState
    });
    const [TooltipSlot, tooltipSlotProps] = useSlot("tooltip", {
      elementType: TooltipTooltip,
      className: classes.tooltip,
      externalForwardedProps,
      ownerState
    });
    const [ArrowSlot, arrowSlotProps] = useSlot("arrow", {
      elementType: TooltipArrow,
      className: classes.arrow,
      externalForwardedProps,
      ownerState,
      ref: setArrowRef
    });
    return jsxRuntimeExports.jsxs(__mf_2, {
      children: [
        __mf_9(children, childrenProps),
        jsxRuntimeExports.jsx(PopperSlot, {
          as: PopperComponentProp ?? Popper,
          placement,
          anchorEl: followCursor ? {
            getBoundingClientRect: () => ({
              top: cursorPosition.y,
              left: cursorPosition.x,
              right: cursorPosition.x,
              bottom: cursorPosition.y,
              width: 0,
              height: 0
            })
          } : childNode,
          popperRef,
          open: childNode ? open : false,
          id,
          transition: true,
          ...interactiveWrapperListeners,
          ...popperSlotProps,
          popperOptions,
          children: ({ TransitionProps: TransitionPropsInner }) => jsxRuntimeExports.jsx(TransitionSlot, {
            timeout: theme.transitions.duration.shorter,
            ...TransitionPropsInner,
            ...transitionSlotProps,
            children: jsxRuntimeExports.jsxs(TooltipSlot, {
              ...tooltipSlotProps,
              children: [
                title,
                arrow ? jsxRuntimeExports.jsx(ArrowSlot, {
                  ...arrowSlotProps
                }) : null
              ]
            })
          })
        })
      ]
    });
  });
  getSpeedDialActionUtilityClass = function(slot) {
    return generateUtilityClass("MuiSpeedDialAction", slot);
  };
  speedDialActionClasses = generateUtilityClasses("MuiSpeedDialAction", [
    "fab",
    "fabClosed",
    "staticTooltip",
    "staticTooltipClosed",
    "staticTooltipLabel",
    "tooltipPlacementLeft",
    "tooltipPlacementRight"
  ]);
  const useUtilityClasses$l = (ownerState) => {
    const { open, tooltipPlacement, classes } = ownerState;
    const slots = {
      fab: [
        "fab",
        !open && "fabClosed"
      ],
      staticTooltip: [
        "staticTooltip",
        `tooltipPlacement${capitalize(tooltipPlacement)}`,
        !open && "staticTooltipClosed"
      ],
      staticTooltipLabel: [
        "staticTooltipLabel"
      ]
    };
    return composeClasses(slots, getSpeedDialActionUtilityClass, classes);
  };
  const SpeedDialActionFab = styled(Fab, {
    name: "MuiSpeedDialAction",
    slot: "Fab",
    skipVariantsResolver: false,
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.fab,
        !ownerState.open && styles2.fabClosed
      ];
    }
  })(memoTheme(({ theme }) => ({
    margin: 8,
    color: (theme.vars || theme).palette.text.secondary,
    backgroundColor: (theme.vars || theme).palette.background.paper,
    "&:hover": {
      backgroundColor: theme.vars ? theme.vars.palette.SpeedDialAction.fabHoverBg : emphasize(theme.palette.background.paper, 0.15)
    },
    transition: `${theme.transitions.create("transform", {
      duration: theme.transitions.duration.shorter
    })}, opacity 0.8s`,
    opacity: 1,
    variants: [
      {
        props: ({ ownerState }) => !ownerState.open,
        style: {
          opacity: 0,
          transform: "scale(0)"
        }
      }
    ]
  })));
  const SpeedDialActionStaticTooltip = styled("span", {
    name: "MuiSpeedDialAction",
    slot: "StaticTooltip",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.staticTooltip,
        !ownerState.open && styles2.staticTooltipClosed,
        styles2[`tooltipPlacement${capitalize(ownerState.tooltipPlacement)}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    position: "relative",
    display: "flex",
    alignItems: "center",
    [`& .${speedDialActionClasses.staticTooltipLabel}`]: {
      transition: theme.transitions.create([
        "transform",
        "opacity"
      ], {
        duration: theme.transitions.duration.shorter
      }),
      opacity: 1
    },
    variants: [
      {
        props: ({ ownerState }) => !ownerState.open,
        style: {
          [`& .${speedDialActionClasses.staticTooltipLabel}`]: {
            opacity: 0,
            transform: "scale(0.5)"
          }
        }
      },
      {
        props: {
          tooltipPlacement: "left"
        },
        style: {
          [`& .${speedDialActionClasses.staticTooltipLabel}`]: {
            transformOrigin: "100% 50%",
            right: "100%",
            marginRight: 8
          }
        }
      },
      {
        props: {
          tooltipPlacement: "right"
        },
        style: {
          [`& .${speedDialActionClasses.staticTooltipLabel}`]: {
            transformOrigin: "0% 50%",
            left: "100%",
            marginLeft: 8
          }
        }
      }
    ]
  })));
  const SpeedDialActionStaticTooltipLabel = styled("span", {
    name: "MuiSpeedDialAction",
    slot: "StaticTooltipLabel",
    overridesResolver: (props, styles2) => styles2.staticTooltipLabel
  })(memoTheme(({ theme }) => ({
    position: "absolute",
    ...theme.typography.body1,
    backgroundColor: (theme.vars || theme).palette.background.paper,
    borderRadius: (theme.vars || theme).shape.borderRadius,
    boxShadow: (theme.vars || theme).shadows[1],
    color: (theme.vars || theme).palette.text.secondary,
    padding: "4px 16px",
    wordBreak: "keep-all"
  })));
  SpeedDialAction = __mf_14(function SpeedDialAction2(inProps, ref) {
    var _a;
    const props = useDefaultProps({
      props: inProps,
      name: "MuiSpeedDialAction"
    });
    const { className, delay = 0, FabProps = {}, icon, id, open, TooltipClasses, tooltipOpen: tooltipOpenProp = false, tooltipPlacement = "left", tooltipTitle, slots = {}, slotProps = {}, ...other } = props;
    const ownerState = {
      ...props,
      tooltipPlacement
    };
    const classes = useUtilityClasses$l(ownerState);
    const externalForwardedProps = {
      slots,
      slotProps: {
        fab: FabProps,
        ...slotProps,
        tooltip: mergeSlotProps(typeof slotProps.tooltip === "function" ? slotProps.tooltip(ownerState) : slotProps.tooltip, {
          title: tooltipTitle,
          open: tooltipOpenProp,
          placement: tooltipPlacement,
          classes: TooltipClasses
        })
      }
    };
    const [tooltipOpen, setTooltipOpen] = __mf_32((_a = externalForwardedProps.slotProps.tooltip) == null ? void 0 : _a.open);
    const handleTooltipClose = () => {
      setTooltipOpen(false);
    };
    const handleTooltipOpen = () => {
      setTooltipOpen(true);
    };
    const transitionStyle = {
      transitionDelay: `${delay}ms`
    };
    const [FabSlot, fabSlotProps] = useSlot("fab", {
      elementType: SpeedDialActionFab,
      externalForwardedProps,
      ownerState,
      shouldForwardComponentProp: true,
      className: clsx(classes.fab, className),
      additionalProps: {
        style: transitionStyle,
        tabIndex: -1,
        role: "menuitem",
        size: "small"
      }
    });
    const [TooltipSlot, tooltipSlotProps] = useSlot("tooltip", {
      elementType: Tooltip,
      externalForwardedProps,
      shouldForwardComponentProp: true,
      ref,
      additionalProps: {
        id
      },
      ownerState,
      getSlotProps: (handlers) => ({
        ...handlers,
        onClose: (event) => {
          var _a2;
          (_a2 = handlers.onClose) == null ? void 0 : _a2.call(handlers, event);
          handleTooltipClose();
        },
        onOpen: (event) => {
          var _a2;
          (_a2 = handlers.onOpen) == null ? void 0 : _a2.call(handlers, event);
          handleTooltipOpen();
        }
      })
    });
    const [StaticTooltipSlot, staticTooltipSlotProps] = useSlot("staticTooltip", {
      elementType: SpeedDialActionStaticTooltip,
      externalForwardedProps,
      ownerState,
      ref,
      className: classes.staticTooltip,
      additionalProps: {
        id
      }
    });
    const [StaticTooltipLabelSlot, staticTooltipLabelSlotProps] = useSlot("staticTooltipLabel", {
      elementType: SpeedDialActionStaticTooltipLabel,
      externalForwardedProps,
      ownerState,
      className: classes.staticTooltipLabel,
      additionalProps: {
        style: transitionStyle,
        id: `${id}-label`
      }
    });
    const fab = jsxRuntimeExports.jsx(FabSlot, {
      ...fabSlotProps,
      children: icon
    });
    if (tooltipSlotProps.open) {
      return jsxRuntimeExports.jsxs(StaticTooltipSlot, {
        ...staticTooltipSlotProps,
        ...other,
        children: [
          jsxRuntimeExports.jsx(StaticTooltipLabelSlot, {
            ...staticTooltipLabelSlotProps,
            children: tooltipSlotProps.title
          }),
          __mf_9(fab, {
            "aria-labelledby": `${id}-label`
          })
        ]
      });
    }
    if (!open && tooltipOpen) {
      setTooltipOpen(false);
    }
    return jsxRuntimeExports.jsx(TooltipSlot, {
      ...tooltipSlotProps,
      title: tooltipSlotProps.title,
      open: open && tooltipOpen,
      placement: tooltipSlotProps.placement,
      classes: tooltipSlotProps.classes,
      ...other,
      children: fab
    });
  });
  const AddIcon = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"
  }), "Add");
  getSpeedDialIconUtilityClass = function(slot) {
    return generateUtilityClass("MuiSpeedDialIcon", slot);
  };
  speedDialIconClasses = generateUtilityClasses("MuiSpeedDialIcon", [
    "root",
    "icon",
    "iconOpen",
    "iconWithOpenIconOpen",
    "openIcon",
    "openIconOpen"
  ]);
  const useUtilityClasses$k = (ownerState) => {
    const { classes, open, openIcon } = ownerState;
    const slots = {
      root: [
        "root"
      ],
      icon: [
        "icon",
        open && "iconOpen",
        openIcon && open && "iconWithOpenIconOpen"
      ],
      openIcon: [
        "openIcon",
        open && "openIconOpen"
      ]
    };
    return composeClasses(slots, getSpeedDialIconUtilityClass, classes);
  };
  const SpeedDialIconRoot = styled("span", {
    name: "MuiSpeedDialIcon",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        {
          [`& .${speedDialIconClasses.icon}`]: styles2.icon
        },
        {
          [`& .${speedDialIconClasses.icon}`]: ownerState.open && styles2.iconOpen
        },
        {
          [`& .${speedDialIconClasses.icon}`]: ownerState.open && ownerState.openIcon && styles2.iconWithOpenIconOpen
        },
        {
          [`& .${speedDialIconClasses.openIcon}`]: styles2.openIcon
        },
        {
          [`& .${speedDialIconClasses.openIcon}`]: ownerState.open && styles2.openIconOpen
        },
        styles2.root
      ];
    }
  })(memoTheme(({ theme }) => ({
    height: 24,
    [`& .${speedDialIconClasses.icon}`]: {
      transition: theme.transitions.create([
        "transform",
        "opacity"
      ], {
        duration: theme.transitions.duration.short
      })
    },
    [`& .${speedDialIconClasses.openIcon}`]: {
      position: "absolute",
      transition: theme.transitions.create([
        "transform",
        "opacity"
      ], {
        duration: theme.transitions.duration.short
      }),
      opacity: 0,
      transform: "rotate(-45deg)"
    },
    variants: [
      {
        props: ({ ownerState }) => ownerState.open,
        style: {
          [`& .${speedDialIconClasses.icon}`]: {
            transform: "rotate(45deg)"
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.open && ownerState.openIcon,
        style: {
          [`& .${speedDialIconClasses.icon}`]: {
            opacity: 0
          }
        }
      },
      {
        props: ({ ownerState }) => ownerState.open,
        style: {
          [`& .${speedDialIconClasses.openIcon}`]: {
            transform: "rotate(0deg)",
            opacity: 1
          }
        }
      }
    ]
  })));
  SpeedDialIcon = __mf_14(function SpeedDialIcon2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiSpeedDialIcon"
    });
    const { className, icon: iconProp, open, openIcon: openIconProp, ...other } = props;
    const ownerState = props;
    const classes = useUtilityClasses$k(ownerState);
    function formatIcon(icon, newClassName) {
      if (__mf_15(icon)) {
        return __mf_9(icon, {
          className: newClassName
        });
      }
      return icon;
    }
    return jsxRuntimeExports.jsxs(SpeedDialIconRoot, {
      className: clsx(classes.root, className),
      ref,
      ownerState,
      ...other,
      children: [
        openIconProp ? formatIcon(openIconProp, classes.openIcon) : null,
        iconProp ? formatIcon(iconProp, classes.icon) : jsxRuntimeExports.jsx(AddIcon, {
          className: classes.icon
        })
      ]
    });
  });
  SpeedDialIcon.muiName = "SpeedDialIcon";
  Stack = __mf_166({
    createStyledComponent: styled("div", {
      name: "MuiStack",
      slot: "Root",
      overridesResolver: (props, styles2) => styles2.root
    }),
    useThemeProps: (inProps) => useDefaultProps({
      props: inProps,
      name: "MuiStack"
    })
  });
  stackClasses = generateUtilityClasses("MuiStack", [
    "root"
  ]);
  StepperContext = __mf_10({});
  useStepperContext = function() {
    return __mf_21(StepperContext);
  };
  StepContext = __mf_10({});
  useStepContext = function() {
    return __mf_21(StepContext);
  };
  getStepUtilityClass = function(slot) {
    return generateUtilityClass("MuiStep", slot);
  };
  stepClasses = generateUtilityClasses("MuiStep", [
    "root",
    "horizontal",
    "vertical",
    "alternativeLabel",
    "completed"
  ]);
  const useUtilityClasses$j = (ownerState) => {
    const { classes, orientation, alternativeLabel, completed } = ownerState;
    const slots = {
      root: [
        "root",
        orientation,
        alternativeLabel && "alternativeLabel",
        completed && "completed"
      ]
    };
    return composeClasses(slots, getStepUtilityClass, classes);
  };
  const StepRoot = styled("div", {
    name: "MuiStep",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[ownerState.orientation],
        ownerState.alternativeLabel && styles2.alternativeLabel,
        ownerState.completed && styles2.completed
      ];
    }
  })({
    variants: [
      {
        props: {
          orientation: "horizontal"
        },
        style: {
          paddingLeft: 8,
          paddingRight: 8
        }
      },
      {
        props: {
          alternativeLabel: true
        },
        style: {
          flex: 1,
          position: "relative"
        }
      }
    ]
  });
  Step = __mf_14(function Step2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiStep"
    });
    const { active: activeProp, children, className, component = "div", completed: completedProp, disabled: disabledProp, expanded = false, index: index2, last, ...other } = props;
    const { activeStep, connector, alternativeLabel, orientation, nonLinear } = __mf_21(StepperContext);
    let [active = false, completed = false, disabled = false] = [
      activeProp,
      completedProp,
      disabledProp
    ];
    if (activeStep === index2) {
      active = activeProp !== void 0 ? activeProp : true;
    } else if (!nonLinear && activeStep > index2) {
      completed = completedProp !== void 0 ? completedProp : true;
    } else if (!nonLinear && activeStep < index2) {
      disabled = disabledProp !== void 0 ? disabledProp : true;
    }
    const contextValue = __mf_29(() => ({
      index: index2,
      last,
      expanded,
      icon: index2 + 1,
      active,
      completed,
      disabled
    }), [
      index2,
      last,
      expanded,
      active,
      completed,
      disabled
    ]);
    const ownerState = {
      ...props,
      active,
      orientation,
      alternativeLabel,
      completed,
      disabled,
      expanded,
      component
    };
    const classes = useUtilityClasses$j(ownerState);
    const newChildren = jsxRuntimeExports.jsxs(StepRoot, {
      as: component,
      className: clsx(classes.root, className),
      ref,
      ownerState,
      ...other,
      children: [
        connector && alternativeLabel && index2 !== 0 ? connector : null,
        children
      ]
    });
    return jsxRuntimeExports.jsx(StepContext.Provider, {
      value: contextValue,
      children: connector && !alternativeLabel && index2 !== 0 ? jsxRuntimeExports.jsxs(__mf_2, {
        children: [
          connector,
          newChildren
        ]
      }) : newChildren
    });
  });
  const CheckCircle = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm-2 17l-5-5 1.4-1.4 3.6 3.6 7.6-7.6L19 8l-9 9z"
  }), "CheckCircle");
  const Warning = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"
  }), "Warning");
  getStepIconUtilityClass = function(slot) {
    return generateUtilityClass("MuiStepIcon", slot);
  };
  stepIconClasses = generateUtilityClasses("MuiStepIcon", [
    "root",
    "active",
    "completed",
    "error",
    "text"
  ]);
  var _circle;
  const useUtilityClasses$i = (ownerState) => {
    const { classes, active, completed, error } = ownerState;
    const slots = {
      root: [
        "root",
        active && "active",
        completed && "completed",
        error && "error"
      ],
      text: [
        "text"
      ]
    };
    return composeClasses(slots, getStepIconUtilityClass, classes);
  };
  const StepIconRoot = styled(SvgIcon, {
    name: "MuiStepIcon",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })(memoTheme(({ theme }) => ({
    display: "block",
    transition: theme.transitions.create("color", {
      duration: theme.transitions.duration.shortest
    }),
    color: (theme.vars || theme).palette.text.disabled,
    [`&.${stepIconClasses.completed}`]: {
      color: (theme.vars || theme).palette.primary.main
    },
    [`&.${stepIconClasses.active}`]: {
      color: (theme.vars || theme).palette.primary.main
    },
    [`&.${stepIconClasses.error}`]: {
      color: (theme.vars || theme).palette.error.main
    }
  })));
  const StepIconText = styled("text", {
    name: "MuiStepIcon",
    slot: "Text",
    overridesResolver: (props, styles2) => styles2.text
  })(memoTheme(({ theme }) => ({
    fill: (theme.vars || theme).palette.primary.contrastText,
    fontSize: theme.typography.caption.fontSize,
    fontFamily: theme.typography.fontFamily
  })));
  StepIcon = __mf_14(function StepIcon2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiStepIcon"
    });
    const { active = false, className: classNameProp, completed = false, error = false, icon, ...other } = props;
    const ownerState = {
      ...props,
      active,
      completed,
      error
    };
    const classes = useUtilityClasses$i(ownerState);
    if (typeof icon === "number" || typeof icon === "string") {
      const className = clsx(classNameProp, classes.root);
      if (error) {
        return jsxRuntimeExports.jsx(StepIconRoot, {
          as: Warning,
          className,
          ref,
          ownerState,
          ...other
        });
      }
      if (completed) {
        return jsxRuntimeExports.jsx(StepIconRoot, {
          as: CheckCircle,
          className,
          ref,
          ownerState,
          ...other
        });
      }
      return jsxRuntimeExports.jsxs(StepIconRoot, {
        className,
        ref,
        ownerState,
        ...other,
        children: [
          _circle || (_circle = jsxRuntimeExports.jsx("circle", {
            cx: "12",
            cy: "12",
            r: "12"
          })),
          jsxRuntimeExports.jsx(StepIconText, {
            className: classes.text,
            x: "12",
            y: "12",
            textAnchor: "middle",
            dominantBaseline: "central",
            ownerState,
            children: icon
          })
        ]
      });
    }
    return icon;
  });
  getStepLabelUtilityClass = function(slot) {
    return generateUtilityClass("MuiStepLabel", slot);
  };
  stepLabelClasses = generateUtilityClasses("MuiStepLabel", [
    "root",
    "horizontal",
    "vertical",
    "label",
    "active",
    "completed",
    "error",
    "disabled",
    "iconContainer",
    "alternativeLabel",
    "labelContainer"
  ]);
  const useUtilityClasses$h = (ownerState) => {
    const { classes, orientation, active, completed, error, disabled, alternativeLabel } = ownerState;
    const slots = {
      root: [
        "root",
        orientation,
        error && "error",
        disabled && "disabled",
        alternativeLabel && "alternativeLabel"
      ],
      label: [
        "label",
        active && "active",
        completed && "completed",
        error && "error",
        disabled && "disabled",
        alternativeLabel && "alternativeLabel"
      ],
      iconContainer: [
        "iconContainer",
        active && "active",
        completed && "completed",
        error && "error",
        disabled && "disabled",
        alternativeLabel && "alternativeLabel"
      ],
      labelContainer: [
        "labelContainer",
        alternativeLabel && "alternativeLabel"
      ]
    };
    return composeClasses(slots, getStepLabelUtilityClass, classes);
  };
  const StepLabelRoot = styled("span", {
    name: "MuiStepLabel",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[ownerState.orientation]
      ];
    }
  })({
    display: "flex",
    alignItems: "center",
    [`&.${stepLabelClasses.alternativeLabel}`]: {
      flexDirection: "column"
    },
    [`&.${stepLabelClasses.disabled}`]: {
      cursor: "default"
    },
    variants: [
      {
        props: {
          orientation: "vertical"
        },
        style: {
          textAlign: "left",
          padding: "8px 0"
        }
      }
    ]
  });
  const StepLabelLabel = styled("span", {
    name: "MuiStepLabel",
    slot: "Label",
    overridesResolver: (props, styles2) => styles2.label
  })(memoTheme(({ theme }) => ({
    ...theme.typography.body2,
    display: "block",
    transition: theme.transitions.create("color", {
      duration: theme.transitions.duration.shortest
    }),
    [`&.${stepLabelClasses.active}`]: {
      color: (theme.vars || theme).palette.text.primary,
      fontWeight: 500
    },
    [`&.${stepLabelClasses.completed}`]: {
      color: (theme.vars || theme).palette.text.primary,
      fontWeight: 500
    },
    [`&.${stepLabelClasses.alternativeLabel}`]: {
      marginTop: 16
    },
    [`&.${stepLabelClasses.error}`]: {
      color: (theme.vars || theme).palette.error.main
    }
  })));
  const StepLabelIconContainer = styled("span", {
    name: "MuiStepLabel",
    slot: "IconContainer",
    overridesResolver: (props, styles2) => styles2.iconContainer
  })({
    flexShrink: 0,
    display: "flex",
    paddingRight: 8,
    [`&.${stepLabelClasses.alternativeLabel}`]: {
      paddingRight: 0
    }
  });
  const StepLabelLabelContainer = styled("span", {
    name: "MuiStepLabel",
    slot: "LabelContainer",
    overridesResolver: (props, styles2) => styles2.labelContainer
  })(memoTheme(({ theme }) => ({
    width: "100%",
    color: (theme.vars || theme).palette.text.secondary,
    [`&.${stepLabelClasses.alternativeLabel}`]: {
      textAlign: "center"
    }
  })));
  StepLabel = __mf_14(function StepLabel2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiStepLabel"
    });
    const { children, className, componentsProps = {}, error = false, icon: iconProp, optional, slots = {}, slotProps = {}, StepIconComponent: StepIconComponentProp, StepIconProps, ...other } = props;
    const { alternativeLabel, orientation } = __mf_21(StepperContext);
    const { active, disabled, completed, icon: iconContext } = __mf_21(StepContext);
    const icon = iconProp || iconContext;
    let StepIconComponent = StepIconComponentProp;
    if (icon && !StepIconComponent) {
      StepIconComponent = StepIcon;
    }
    const ownerState = {
      ...props,
      active,
      alternativeLabel,
      completed,
      disabled,
      error,
      orientation
    };
    const classes = useUtilityClasses$h(ownerState);
    const externalForwardedProps = {
      slots,
      slotProps: {
        stepIcon: StepIconProps,
        ...componentsProps,
        ...slotProps
      }
    };
    const [RootSlot, rootProps] = useSlot("root", {
      elementType: StepLabelRoot,
      externalForwardedProps: {
        ...externalForwardedProps,
        ...other
      },
      ownerState,
      ref,
      className: clsx(classes.root, className)
    });
    const [LabelSlot, labelProps] = useSlot("label", {
      elementType: StepLabelLabel,
      externalForwardedProps,
      ownerState
    });
    const [StepIconSlot, stepIconProps] = useSlot("stepIcon", {
      elementType: StepIconComponent,
      externalForwardedProps,
      ownerState
    });
    return jsxRuntimeExports.jsxs(RootSlot, {
      ...rootProps,
      children: [
        icon || StepIconSlot ? jsxRuntimeExports.jsx(StepLabelIconContainer, {
          className: classes.iconContainer,
          ownerState,
          children: jsxRuntimeExports.jsx(StepIconSlot, {
            completed,
            active,
            error,
            icon,
            ...stepIconProps
          })
        }) : null,
        jsxRuntimeExports.jsxs(StepLabelLabelContainer, {
          className: classes.labelContainer,
          ownerState,
          children: [
            children ? jsxRuntimeExports.jsx(LabelSlot, {
              ...labelProps,
              className: clsx(classes.label, labelProps == null ? void 0 : labelProps.className),
              children
            }) : null,
            optional
          ]
        })
      ]
    });
  });
  StepLabel.muiName = "StepLabel";
  getStepButtonUtilityClass = function(slot) {
    return generateUtilityClass("MuiStepButton", slot);
  };
  stepButtonClasses = generateUtilityClasses("MuiStepButton", [
    "root",
    "horizontal",
    "vertical",
    "touchRipple"
  ]);
  const useUtilityClasses$g = (ownerState) => {
    const { classes, orientation } = ownerState;
    const slots = {
      root: [
        "root",
        orientation
      ],
      touchRipple: [
        "touchRipple"
      ]
    };
    return composeClasses(slots, getStepButtonUtilityClass, classes);
  };
  const StepButtonRoot = styled(ButtonBase, {
    name: "MuiStepButton",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        {
          [`& .${stepButtonClasses.touchRipple}`]: styles2.touchRipple
        },
        styles2.root,
        styles2[ownerState.orientation]
      ];
    }
  })({
    width: "100%",
    padding: "24px 16px",
    margin: "-24px -16px",
    boxSizing: "content-box",
    [`& .${stepButtonClasses.touchRipple}`]: {
      color: "rgba(0, 0, 0, 0.3)"
    },
    variants: [
      {
        props: {
          orientation: "vertical"
        },
        style: {
          justifyContent: "flex-start",
          padding: "8px",
          margin: "-8px"
        }
      }
    ]
  });
  StepButton = __mf_14(function StepButton2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiStepButton"
    });
    const { children, className, icon, optional, ...other } = props;
    const { disabled, active } = __mf_21(StepContext);
    const { orientation } = __mf_21(StepperContext);
    const ownerState = {
      ...props,
      orientation
    };
    const classes = useUtilityClasses$g(ownerState);
    const childProps = {
      icon,
      optional
    };
    const child = isMuiElement(children, [
      "StepLabel"
    ]) ? __mf_9(children, childProps) : jsxRuntimeExports.jsx(StepLabel, {
      ...childProps,
      children
    });
    return jsxRuntimeExports.jsx(StepButtonRoot, {
      focusRipple: true,
      disabled,
      TouchRippleProps: {
        className: classes.touchRipple
      },
      className: clsx(classes.root, className),
      ref,
      ownerState,
      "aria-current": active ? "step" : void 0,
      ...other,
      children: child
    });
  });
  getStepConnectorUtilityClass = function(slot) {
    return generateUtilityClass("MuiStepConnector", slot);
  };
  stepConnectorClasses = generateUtilityClasses("MuiStepConnector", [
    "root",
    "horizontal",
    "vertical",
    "alternativeLabel",
    "active",
    "completed",
    "disabled",
    "line",
    "lineHorizontal",
    "lineVertical"
  ]);
  const useUtilityClasses$f = (ownerState) => {
    const { classes, orientation, alternativeLabel, active, completed, disabled } = ownerState;
    const slots = {
      root: [
        "root",
        orientation,
        alternativeLabel && "alternativeLabel",
        active && "active",
        completed && "completed",
        disabled && "disabled"
      ],
      line: [
        "line",
        `line${capitalize(orientation)}`
      ]
    };
    return composeClasses(slots, getStepConnectorUtilityClass, classes);
  };
  const StepConnectorRoot = styled("div", {
    name: "MuiStepConnector",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[ownerState.orientation],
        ownerState.alternativeLabel && styles2.alternativeLabel,
        ownerState.completed && styles2.completed
      ];
    }
  })({
    flex: "1 1 auto",
    variants: [
      {
        props: {
          orientation: "vertical"
        },
        style: {
          marginLeft: 12
        }
      },
      {
        props: {
          alternativeLabel: true
        },
        style: {
          position: "absolute",
          top: 8 + 4,
          left: "calc(-50% + 20px)",
          right: "calc(50% + 20px)"
        }
      }
    ]
  });
  const StepConnectorLine = styled("span", {
    name: "MuiStepConnector",
    slot: "Line",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.line,
        styles2[`line${capitalize(ownerState.orientation)}`]
      ];
    }
  })(memoTheme(({ theme }) => {
    const borderColor = theme.palette.mode === "light" ? theme.palette.grey[400] : theme.palette.grey[600];
    return {
      display: "block",
      borderColor: theme.vars ? theme.vars.palette.StepConnector.border : borderColor,
      variants: [
        {
          props: {
            orientation: "horizontal"
          },
          style: {
            borderTopStyle: "solid",
            borderTopWidth: 1
          }
        },
        {
          props: {
            orientation: "vertical"
          },
          style: {
            borderLeftStyle: "solid",
            borderLeftWidth: 1,
            minHeight: 24
          }
        }
      ]
    };
  }));
  StepConnector = __mf_14(function StepConnector2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiStepConnector"
    });
    const { className, ...other } = props;
    const { alternativeLabel, orientation = "horizontal" } = __mf_21(StepperContext);
    const { active, disabled, completed } = __mf_21(StepContext);
    const ownerState = {
      ...props,
      alternativeLabel,
      orientation,
      active,
      completed,
      disabled
    };
    const classes = useUtilityClasses$f(ownerState);
    return jsxRuntimeExports.jsx(StepConnectorRoot, {
      className: clsx(classes.root, className),
      ref,
      ownerState,
      ...other,
      children: jsxRuntimeExports.jsx(StepConnectorLine, {
        className: classes.line,
        ownerState
      })
    });
  });
  getStepContentUtilityClass = function(slot) {
    return generateUtilityClass("MuiStepContent", slot);
  };
  stepContentClasses = generateUtilityClasses("MuiStepContent", [
    "root",
    "last",
    "transition"
  ]);
  const useUtilityClasses$e = (ownerState) => {
    const { classes, last } = ownerState;
    const slots = {
      root: [
        "root",
        last && "last"
      ],
      transition: [
        "transition"
      ]
    };
    return composeClasses(slots, getStepContentUtilityClass, classes);
  };
  const StepContentRoot = styled("div", {
    name: "MuiStepContent",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        ownerState.last && styles2.last
      ];
    }
  })(memoTheme(({ theme }) => ({
    marginLeft: 12,
    paddingLeft: 8 + 12,
    paddingRight: 8,
    borderLeft: theme.vars ? `1px solid ${theme.vars.palette.StepContent.border}` : `1px solid ${theme.palette.mode === "light" ? theme.palette.grey[400] : theme.palette.grey[600]}`,
    variants: [
      {
        props: {
          last: true
        },
        style: {
          borderLeft: "none"
        }
      }
    ]
  })));
  const StepContentTransition = styled(Collapse, {
    name: "MuiStepContent",
    slot: "Transition",
    overridesResolver: (props, styles2) => styles2.transition
  })({});
  StepContent = __mf_14(function StepContent2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiStepContent"
    });
    const { children, className, TransitionComponent = Collapse, transitionDuration: transitionDurationProp = "auto", TransitionProps, slots = {}, slotProps = {}, ...other } = props;
    const { orientation } = __mf_21(StepperContext);
    const { active, last, expanded } = __mf_21(StepContext);
    const ownerState = {
      ...props,
      last
    };
    const classes = useUtilityClasses$e(ownerState);
    let transitionDuration = transitionDurationProp;
    if (transitionDurationProp === "auto" && !TransitionComponent.muiSupportAuto) {
      transitionDuration = void 0;
    }
    const externalForwardedProps = {
      slots,
      slotProps: {
        transition: TransitionProps,
        ...slotProps
      }
    };
    const [TransitionSlot, transitionProps] = useSlot("transition", {
      elementType: StepContentTransition,
      externalForwardedProps,
      ownerState,
      className: classes.transition,
      additionalProps: {
        in: active || expanded,
        timeout: transitionDuration,
        unmountOnExit: true
      }
    });
    return jsxRuntimeExports.jsx(StepContentRoot, {
      className: clsx(classes.root, className),
      ref,
      ownerState,
      ...other,
      children: jsxRuntimeExports.jsx(TransitionSlot, {
        as: TransitionComponent,
        ...transitionProps,
        children
      })
    });
  });
  getStepperUtilityClass = function(slot) {
    return generateUtilityClass("MuiStepper", slot);
  };
  stepperClasses = generateUtilityClasses("MuiStepper", [
    "root",
    "horizontal",
    "vertical",
    "nonLinear",
    "alternativeLabel"
  ]);
  const useUtilityClasses$d = (ownerState) => {
    const { orientation, nonLinear, alternativeLabel, classes } = ownerState;
    const slots = {
      root: [
        "root",
        orientation,
        nonLinear && "nonLinear",
        alternativeLabel && "alternativeLabel"
      ]
    };
    return composeClasses(slots, getStepperUtilityClass, classes);
  };
  const StepperRoot = styled("div", {
    name: "MuiStepper",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[ownerState.orientation],
        ownerState.alternativeLabel && styles2.alternativeLabel,
        ownerState.nonLinear && styles2.nonLinear
      ];
    }
  })({
    display: "flex",
    variants: [
      {
        props: {
          orientation: "horizontal"
        },
        style: {
          flexDirection: "row",
          alignItems: "center"
        }
      },
      {
        props: {
          orientation: "vertical"
        },
        style: {
          flexDirection: "column"
        }
      },
      {
        props: {
          alternativeLabel: true
        },
        style: {
          alignItems: "flex-start"
        }
      }
    ]
  });
  const defaultConnector = jsxRuntimeExports.jsx(StepConnector, {});
  Stepper = __mf_14(function Stepper2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiStepper"
    });
    const { activeStep = 0, alternativeLabel = false, children, className, component = "div", connector = defaultConnector, nonLinear = false, orientation = "horizontal", ...other } = props;
    const ownerState = {
      ...props,
      nonLinear,
      alternativeLabel,
      orientation,
      component
    };
    const classes = useUtilityClasses$d(ownerState);
    const childrenArray = __mf_0.toArray(children).filter(Boolean);
    const steps = childrenArray.map((step, index2) => {
      return __mf_9(step, {
        index: index2,
        last: index2 + 1 === childrenArray.length,
        ...step.props
      });
    });
    const contextValue = __mf_29(() => ({
      activeStep,
      alternativeLabel,
      connector,
      nonLinear,
      orientation
    }), [
      activeStep,
      alternativeLabel,
      connector,
      nonLinear,
      orientation
    ]);
    return jsxRuntimeExports.jsx(StepperContext.Provider, {
      value: contextValue,
      children: jsxRuntimeExports.jsx(StepperRoot, {
        as: component,
        ownerState,
        className: clsx(classes.root, className),
        ref,
        ...other,
        children: steps
      })
    });
  });
  const SwipeAreaRoot = styled("div", {
    name: "MuiSwipeArea",
    shouldForwardProp: rootShouldForwardProp
  })(memoTheme(({ theme }) => ({
    position: "fixed",
    top: 0,
    left: 0,
    bottom: 0,
    zIndex: theme.zIndex.drawer - 1,
    variants: [
      {
        props: {
          anchor: "left"
        },
        style: {
          right: "auto"
        }
      },
      {
        props: {
          anchor: "right"
        },
        style: {
          left: "auto",
          right: 0
        }
      },
      {
        props: {
          anchor: "top"
        },
        style: {
          bottom: "auto",
          right: 0
        }
      },
      {
        props: {
          anchor: "bottom"
        },
        style: {
          top: "auto",
          bottom: 0,
          right: 0
        }
      }
    ]
  })));
  const SwipeArea = __mf_14(function SwipeArea2(props, ref) {
    const { anchor, classes = {}, className, width, style, ...other } = props;
    const ownerState = props;
    return jsxRuntimeExports.jsx(SwipeAreaRoot, {
      className: clsx("PrivateSwipeArea-root", classes.root, classes[`anchor${capitalize(anchor)}`], className),
      ref,
      style: {
        [isHorizontal(anchor) ? "width" : "height"]: width,
        ...style
      },
      ownerState,
      ...other
    });
  });
  const UNCERTAINTY_THRESHOLD = 3;
  const DRAG_STARTED_SIGNAL = 20;
  let claimedSwipeInstance = null;
  function calculateCurrentX(anchor, touches, doc) {
    return anchor === "right" ? doc.body.offsetWidth - touches[0].pageX : touches[0].pageX;
  }
  function calculateCurrentY(anchor, touches, containerWindow) {
    return anchor === "bottom" ? containerWindow.innerHeight - touches[0].clientY : touches[0].clientY;
  }
  function getMaxTranslate(horizontalSwipe, paperInstance) {
    return horizontalSwipe ? paperInstance.clientWidth : paperInstance.clientHeight;
  }
  function getTranslate(currentTranslate, startLocation, open, maxTranslate) {
    return Math.min(Math.max(open ? startLocation - currentTranslate : maxTranslate + startLocation - currentTranslate, 0), maxTranslate);
  }
  function getDomTreeShapes(element, rootNode) {
    const domTreeShapes = [];
    while (element && element !== rootNode.parentElement) {
      const style = ownerWindow(rootNode).getComputedStyle(element);
      if (style.getPropertyValue("position") === "absolute" || style.getPropertyValue("overflow-x") === "hidden") ;
      else if (element.clientWidth > 0 && element.scrollWidth > element.clientWidth || element.clientHeight > 0 && element.scrollHeight > element.clientHeight) {
        domTreeShapes.push(element);
      }
      element = element.parentElement;
    }
    return domTreeShapes;
  }
  function computeHasNativeHandler({ domTreeShapes, start, current, anchor }) {
    const axisProperties = {
      scrollPosition: {
        x: "scrollLeft",
        y: "scrollTop"
      },
      scrollLength: {
        x: "scrollWidth",
        y: "scrollHeight"
      },
      clientLength: {
        x: "clientWidth",
        y: "clientHeight"
      }
    };
    return domTreeShapes.some((shape) => {
      let goingForward = current >= start;
      if (anchor === "top" || anchor === "left") {
        goingForward = !goingForward;
      }
      const axis = anchor === "left" || anchor === "right" ? "x" : "y";
      const scrollPosition = Math.round(shape[axisProperties.scrollPosition[axis]]);
      const areNotAtStart = scrollPosition > 0;
      const areNotAtEnd = scrollPosition + shape[axisProperties.clientLength[axis]] < shape[axisProperties.scrollLength[axis]];
      if (goingForward && areNotAtEnd || !goingForward && areNotAtStart) {
        return true;
      }
      return false;
    });
  }
  const iOS = typeof navigator !== "undefined" && /iPad|iPhone|iPod/.test(navigator.userAgent);
  SwipeableDrawer = __mf_14(function SwipeableDrawer2(inProps, ref) {
    const props = useDefaultProps({
      name: "MuiSwipeableDrawer",
      props: inProps
    });
    const theme = useTheme();
    const transitionDurationDefault = {
      enter: theme.transitions.duration.enteringScreen,
      exit: theme.transitions.duration.leavingScreen
    };
    const { anchor = "left", disableBackdropTransition = false, disableDiscovery = false, disableSwipeToOpen = iOS, hideBackdrop, hysteresis = 0.52, allowSwipeInChildren = false, minFlingVelocity = 450, ModalProps: { BackdropProps, ...ModalPropsProp } = {}, onClose, onOpen, open = false, PaperProps = {}, SwipeAreaProps, swipeAreaWidth = 20, transitionDuration = transitionDurationDefault, variant = "temporary", slots = {}, slotProps = {}, ...other } = props;
    const [maybeSwiping, setMaybeSwiping] = __mf_32(false);
    const swipeInstance = __mf_31({
      isSwiping: null
    });
    const swipeAreaRef = __mf_31();
    const backdropRef = __mf_31();
    const paperRef = __mf_31();
    const handleRef = useForkRef(PaperProps.ref, paperRef);
    const touchDetected = __mf_31(false);
    const calculatedDurationRef = __mf_31();
    useEnhancedEffect(() => {
      calculatedDurationRef.current = null;
    }, [
      open
    ]);
    const setPosition = __mf_20((translate, options = {}) => {
      const { mode = null, changeTransition = true } = options;
      const anchorRtl = getAnchor(theme, anchor);
      const rtlTranslateMultiplier = [
        "right",
        "bottom"
      ].includes(anchorRtl) ? 1 : -1;
      const horizontalSwipe = isHorizontal(anchor);
      const transform = horizontalSwipe ? `translate(${rtlTranslateMultiplier * translate}px, 0)` : `translate(0, ${rtlTranslateMultiplier * translate}px)`;
      const drawerStyle = paperRef.current.style;
      drawerStyle.webkitTransform = transform;
      drawerStyle.transform = transform;
      let transition = "";
      if (mode) {
        transition = theme.transitions.create("all", getTransitionProps({
          easing: void 0,
          style: void 0,
          timeout: transitionDuration
        }, {
          mode
        }));
      }
      if (changeTransition) {
        drawerStyle.webkitTransition = transition;
        drawerStyle.transition = transition;
      }
      if (!disableBackdropTransition && !hideBackdrop) {
        const backdropStyle = backdropRef.current.style;
        backdropStyle.opacity = 1 - translate / getMaxTranslate(horizontalSwipe, paperRef.current);
        if (changeTransition) {
          backdropStyle.webkitTransition = transition;
          backdropStyle.transition = transition;
        }
      }
    }, [
      anchor,
      disableBackdropTransition,
      hideBackdrop,
      theme,
      transitionDuration
    ]);
    const handleBodyTouchEnd = useEventCallback((nativeEvent) => {
      if (!touchDetected.current) {
        return;
      }
      claimedSwipeInstance = null;
      touchDetected.current = false;
      __mf_4(() => {
        setMaybeSwiping(false);
      });
      if (!swipeInstance.current.isSwiping) {
        swipeInstance.current.isSwiping = null;
        return;
      }
      swipeInstance.current.isSwiping = null;
      const anchorRtl = getAnchor(theme, anchor);
      const horizontal = isHorizontal(anchor);
      let current;
      if (horizontal) {
        current = calculateCurrentX(anchorRtl, nativeEvent.changedTouches, ownerDocument(nativeEvent.currentTarget));
      } else {
        current = calculateCurrentY(anchorRtl, nativeEvent.changedTouches, ownerWindow(nativeEvent.currentTarget));
      }
      const startLocation = horizontal ? swipeInstance.current.startX : swipeInstance.current.startY;
      const maxTranslate = getMaxTranslate(horizontal, paperRef.current);
      const currentTranslate = getTranslate(current, startLocation, open, maxTranslate);
      const translateRatio = currentTranslate / maxTranslate;
      if (Math.abs(swipeInstance.current.velocity) > minFlingVelocity) {
        calculatedDurationRef.current = Math.abs((maxTranslate - currentTranslate) / swipeInstance.current.velocity) * 1e3;
      }
      if (open) {
        if (swipeInstance.current.velocity > minFlingVelocity || translateRatio > hysteresis) {
          onClose();
        } else {
          setPosition(0, {
            mode: "exit"
          });
        }
        return;
      }
      if (swipeInstance.current.velocity < -minFlingVelocity || 1 - translateRatio > hysteresis) {
        onOpen();
      } else {
        setPosition(getMaxTranslate(horizontal, paperRef.current), {
          mode: "enter"
        });
      }
    });
    const startMaybeSwiping = (force = false) => {
      if (!maybeSwiping) {
        if (force || !(disableDiscovery && allowSwipeInChildren)) {
          __mf_4(() => {
            setMaybeSwiping(true);
          });
        }
        const horizontalSwipe = isHorizontal(anchor);
        if (!open && paperRef.current) {
          setPosition(getMaxTranslate(horizontalSwipe, paperRef.current) + (disableDiscovery ? 15 : -DRAG_STARTED_SIGNAL), {
            changeTransition: false
          });
        }
        swipeInstance.current.velocity = 0;
        swipeInstance.current.lastTime = null;
        swipeInstance.current.lastTranslate = null;
        swipeInstance.current.paperHit = false;
        touchDetected.current = true;
      }
    };
    const handleBodyTouchMove = useEventCallback((nativeEvent) => {
      if (!paperRef.current || !touchDetected.current) {
        return;
      }
      if (claimedSwipeInstance !== null && claimedSwipeInstance !== swipeInstance.current) {
        return;
      }
      startMaybeSwiping(true);
      const anchorRtl = getAnchor(theme, anchor);
      const horizontalSwipe = isHorizontal(anchor);
      const currentX = calculateCurrentX(anchorRtl, nativeEvent.touches, ownerDocument(nativeEvent.currentTarget));
      const currentY = calculateCurrentY(anchorRtl, nativeEvent.touches, ownerWindow(nativeEvent.currentTarget));
      if (open && paperRef.current.contains(nativeEvent.target) && claimedSwipeInstance === null) {
        const domTreeShapes = getDomTreeShapes(nativeEvent.target, paperRef.current);
        const hasNativeHandler = computeHasNativeHandler({
          domTreeShapes,
          start: horizontalSwipe ? swipeInstance.current.startX : swipeInstance.current.startY,
          current: horizontalSwipe ? currentX : currentY,
          anchor
        });
        if (hasNativeHandler) {
          claimedSwipeInstance = true;
          return;
        }
        claimedSwipeInstance = swipeInstance.current;
      }
      if (swipeInstance.current.isSwiping == null) {
        const dx = Math.abs(currentX - swipeInstance.current.startX);
        const dy = Math.abs(currentY - swipeInstance.current.startY);
        const definitelySwiping = horizontalSwipe ? dx > dy && dx > UNCERTAINTY_THRESHOLD : dy > dx && dy > UNCERTAINTY_THRESHOLD;
        if (definitelySwiping && nativeEvent.cancelable) {
          nativeEvent.preventDefault();
        }
        if (definitelySwiping === true || (horizontalSwipe ? dy > UNCERTAINTY_THRESHOLD : dx > UNCERTAINTY_THRESHOLD)) {
          swipeInstance.current.isSwiping = definitelySwiping;
          if (!definitelySwiping) {
            handleBodyTouchEnd(nativeEvent);
            return;
          }
          swipeInstance.current.startX = currentX;
          swipeInstance.current.startY = currentY;
          if (!disableDiscovery && !open) {
            if (horizontalSwipe) {
              swipeInstance.current.startX -= DRAG_STARTED_SIGNAL;
            } else {
              swipeInstance.current.startY -= DRAG_STARTED_SIGNAL;
            }
          }
        }
      }
      if (!swipeInstance.current.isSwiping) {
        return;
      }
      const maxTranslate = getMaxTranslate(horizontalSwipe, paperRef.current);
      let startLocation = horizontalSwipe ? swipeInstance.current.startX : swipeInstance.current.startY;
      if (open && !swipeInstance.current.paperHit) {
        startLocation = Math.min(startLocation, maxTranslate);
      }
      const translate = getTranslate(horizontalSwipe ? currentX : currentY, startLocation, open, maxTranslate);
      if (open) {
        if (!swipeInstance.current.paperHit) {
          const paperHit = horizontalSwipe ? currentX < maxTranslate : currentY < maxTranslate;
          if (paperHit) {
            swipeInstance.current.paperHit = true;
            swipeInstance.current.startX = currentX;
            swipeInstance.current.startY = currentY;
          } else {
            return;
          }
        } else if (translate === 0) {
          swipeInstance.current.startX = currentX;
          swipeInstance.current.startY = currentY;
        }
      }
      if (swipeInstance.current.lastTranslate === null) {
        swipeInstance.current.lastTranslate = translate;
        swipeInstance.current.lastTime = performance.now() + 1;
      }
      const velocity = (translate - swipeInstance.current.lastTranslate) / (performance.now() - swipeInstance.current.lastTime) * 1e3;
      swipeInstance.current.velocity = swipeInstance.current.velocity * 0.4 + velocity * 0.6;
      swipeInstance.current.lastTranslate = translate;
      swipeInstance.current.lastTime = performance.now();
      if (nativeEvent.cancelable) {
        nativeEvent.preventDefault();
      }
      setPosition(translate);
    });
    const handleBodyTouchStart = useEventCallback((nativeEvent) => {
      var _a;
      if (nativeEvent.defaultPrevented) {
        return;
      }
      if (nativeEvent.defaultMuiPrevented) {
        return;
      }
      if (open && (hideBackdrop || !backdropRef.current.contains(nativeEvent.target)) && !paperRef.current.contains(nativeEvent.target)) {
        return;
      }
      const anchorRtl = getAnchor(theme, anchor);
      const horizontalSwipe = isHorizontal(anchor);
      const currentX = calculateCurrentX(anchorRtl, nativeEvent.touches, ownerDocument(nativeEvent.currentTarget));
      const currentY = calculateCurrentY(anchorRtl, nativeEvent.touches, ownerWindow(nativeEvent.currentTarget));
      if (!open) {
        if (disableSwipeToOpen || !(nativeEvent.target === swipeAreaRef.current || ((_a = paperRef.current) == null ? void 0 : _a.contains(nativeEvent.target)) && (typeof allowSwipeInChildren === "function" ? allowSwipeInChildren(nativeEvent, swipeAreaRef.current, paperRef.current) : allowSwipeInChildren))) {
          return;
        }
        if (horizontalSwipe) {
          if (currentX > swipeAreaWidth) {
            return;
          }
        } else if (currentY > swipeAreaWidth) {
          return;
        }
      }
      nativeEvent.defaultMuiPrevented = true;
      claimedSwipeInstance = null;
      swipeInstance.current.startX = currentX;
      swipeInstance.current.startY = currentY;
      startMaybeSwiping();
    });
    __mf_24(() => {
      if (variant === "temporary") {
        const doc = ownerDocument(paperRef.current);
        doc.addEventListener("touchstart", handleBodyTouchStart);
        doc.addEventListener("touchmove", handleBodyTouchMove, {
          passive: !open
        });
        doc.addEventListener("touchend", handleBodyTouchEnd);
        return () => {
          doc.removeEventListener("touchstart", handleBodyTouchStart);
          doc.removeEventListener("touchmove", handleBodyTouchMove, {
            passive: !open
          });
          doc.removeEventListener("touchend", handleBodyTouchEnd);
        };
      }
      return void 0;
    }, [
      variant,
      open,
      handleBodyTouchStart,
      handleBodyTouchMove,
      handleBodyTouchEnd
    ]);
    __mf_24(() => () => {
      if (claimedSwipeInstance === swipeInstance.current) {
        claimedSwipeInstance = null;
      }
    }, []);
    __mf_24(() => {
      if (!open) {
        setMaybeSwiping(false);
      }
    }, [
      open
    ]);
    const [SwipeAreaSlot, swipeAreaSlotProps] = useSlot("swipeArea", {
      ref: swipeAreaRef,
      elementType: SwipeArea,
      ownerState: props,
      externalForwardedProps: {
        slots,
        slotProps: {
          swipeArea: SwipeAreaProps,
          ...slotProps
        }
      },
      additionalProps: {
        width: swipeAreaWidth,
        anchor
      }
    });
    return jsxRuntimeExports.jsxs(__mf_2, {
      children: [
        jsxRuntimeExports.jsx(Drawer, {
          open: variant === "temporary" && maybeSwiping ? true : open,
          variant,
          ModalProps: {
            BackdropProps: {
              ...BackdropProps,
              ref: backdropRef
            },
            ...variant === "temporary" && {
              keepMounted: true
            },
            ...ModalPropsProp
          },
          hideBackdrop,
          anchor,
          transitionDuration: calculatedDurationRef.current || transitionDuration,
          onClose,
          ref,
          slots,
          slotProps: {
            ...slotProps,
            backdrop: mergeSlotProps(slotProps.backdrop ?? BackdropProps, {
              ref: backdropRef
            }),
            paper: mergeSlotProps(slotProps.paper ?? PaperProps, {
              style: {
                pointerEvents: variant === "temporary" && !open && !allowSwipeInChildren ? "none" : ""
              },
              ref: handleRef
            })
          },
          ...other
        }),
        !disableSwipeToOpen && variant === "temporary" && jsxRuntimeExports.jsx(NoSsr, {
          children: jsxRuntimeExports.jsx(SwipeAreaSlot, {
            ...swipeAreaSlotProps
          })
        })
      ]
    });
  });
  getSwitchUtilityClass = function(slot) {
    return generateUtilityClass("MuiSwitch", slot);
  };
  switchClasses = generateUtilityClasses("MuiSwitch", [
    "root",
    "edgeStart",
    "edgeEnd",
    "switchBase",
    "colorPrimary",
    "colorSecondary",
    "sizeSmall",
    "sizeMedium",
    "checked",
    "disabled",
    "input",
    "thumb",
    "track"
  ]);
  const useUtilityClasses$c = (ownerState) => {
    const { classes, edge, size, color, checked, disabled } = ownerState;
    const slots = {
      root: [
        "root",
        edge && `edge${capitalize(edge)}`,
        `size${capitalize(size)}`
      ],
      switchBase: [
        "switchBase",
        `color${capitalize(color)}`,
        checked && "checked",
        disabled && "disabled"
      ],
      thumb: [
        "thumb"
      ],
      track: [
        "track"
      ],
      input: [
        "input"
      ]
    };
    const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);
    return {
      ...classes,
      ...composedClasses
    };
  };
  const SwitchRoot = styled("span", {
    name: "MuiSwitch",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        ownerState.edge && styles2[`edge${capitalize(ownerState.edge)}`],
        styles2[`size${capitalize(ownerState.size)}`]
      ];
    }
  })({
    display: "inline-flex",
    width: 34 + 12 * 2,
    height: 14 + 12 * 2,
    overflow: "hidden",
    padding: 12,
    boxSizing: "border-box",
    position: "relative",
    flexShrink: 0,
    zIndex: 0,
    verticalAlign: "middle",
    "@media print": {
      colorAdjust: "exact"
    },
    variants: [
      {
        props: {
          edge: "start"
        },
        style: {
          marginLeft: -8
        }
      },
      {
        props: {
          edge: "end"
        },
        style: {
          marginRight: -8
        }
      },
      {
        props: {
          size: "small"
        },
        style: {
          width: 40,
          height: 24,
          padding: 7,
          [`& .${switchClasses.thumb}`]: {
            width: 16,
            height: 16
          },
          [`& .${switchClasses.switchBase}`]: {
            padding: 4,
            [`&.${switchClasses.checked}`]: {
              transform: "translateX(16px)"
            }
          }
        }
      }
    ]
  });
  const SwitchSwitchBase = styled(SwitchBase, {
    name: "MuiSwitch",
    slot: "SwitchBase",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.switchBase,
        {
          [`& .${switchClasses.input}`]: styles2.input
        },
        ownerState.color !== "default" && styles2[`color${capitalize(ownerState.color)}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    position: "absolute",
    top: 0,
    left: 0,
    zIndex: 1,
    color: theme.vars ? theme.vars.palette.Switch.defaultColor : `${theme.palette.mode === "light" ? theme.palette.common.white : theme.palette.grey[300]}`,
    transition: theme.transitions.create([
      "left",
      "transform"
    ], {
      duration: theme.transitions.duration.shortest
    }),
    [`&.${switchClasses.checked}`]: {
      transform: "translateX(20px)"
    },
    [`&.${switchClasses.disabled}`]: {
      color: theme.vars ? theme.vars.palette.Switch.defaultDisabledColor : `${theme.palette.mode === "light" ? theme.palette.grey[100] : theme.palette.grey[600]}`
    },
    [`&.${switchClasses.checked} + .${switchClasses.track}`]: {
      opacity: 0.5
    },
    [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {
      opacity: theme.vars ? theme.vars.opacity.switchTrackDisabled : `${theme.palette.mode === "light" ? 0.12 : 0.2}`
    },
    [`& .${switchClasses.input}`]: {
      left: "-100%",
      width: "300%"
    }
  })), memoTheme(({ theme }) => ({
    "&:hover": {
      backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),
      "@media (hover: none)": {
        backgroundColor: "transparent"
      }
    },
    variants: [
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter([
        "light"
      ])).map(([color]) => ({
        props: {
          color
        },
        style: {
          [`&.${switchClasses.checked}`]: {
            color: (theme.vars || theme).palette[color].main,
            "&:hover": {
              backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[color].main, theme.palette.action.hoverOpacity),
              "@media (hover: none)": {
                backgroundColor: "transparent"
              }
            },
            [`&.${switchClasses.disabled}`]: {
              color: theme.vars ? theme.vars.palette.Switch[`${color}DisabledColor`] : `${theme.palette.mode === "light" ? lighten(theme.palette[color].main, 0.62) : darken(theme.palette[color].main, 0.55)}`
            }
          },
          [`&.${switchClasses.checked} + .${switchClasses.track}`]: {
            backgroundColor: (theme.vars || theme).palette[color].main
          }
        }
      }))
    ]
  })));
  const SwitchTrack = styled("span", {
    name: "MuiSwitch",
    slot: "Track",
    overridesResolver: (props, styles2) => styles2.track
  })(memoTheme(({ theme }) => ({
    height: "100%",
    width: "100%",
    borderRadius: 14 / 2,
    zIndex: -1,
    transition: theme.transitions.create([
      "opacity",
      "background-color"
    ], {
      duration: theme.transitions.duration.shortest
    }),
    backgroundColor: theme.vars ? theme.vars.palette.common.onBackground : `${theme.palette.mode === "light" ? theme.palette.common.black : theme.palette.common.white}`,
    opacity: theme.vars ? theme.vars.opacity.switchTrack : `${theme.palette.mode === "light" ? 0.38 : 0.3}`
  })));
  const SwitchThumb = styled("span", {
    name: "MuiSwitch",
    slot: "Thumb",
    overridesResolver: (props, styles2) => styles2.thumb
  })(memoTheme(({ theme }) => ({
    boxShadow: (theme.vars || theme).shadows[1],
    backgroundColor: "currentColor",
    width: 20,
    height: 20,
    borderRadius: "50%"
  })));
  Switch = __mf_14(function Switch2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiSwitch"
    });
    const { className, color = "primary", edge = false, size = "medium", sx, slots = {}, slotProps = {}, ...other } = props;
    const ownerState = {
      ...props,
      color,
      edge,
      size
    };
    const classes = useUtilityClasses$c(ownerState);
    const externalForwardedProps = {
      slots,
      slotProps
    };
    const [RootSlot, rootSlotProps] = useSlot("root", {
      className: clsx(classes.root, className),
      elementType: SwitchRoot,
      externalForwardedProps,
      ownerState,
      additionalProps: {
        sx
      }
    });
    const [ThumbSlot, thumbSlotProps] = useSlot("thumb", {
      className: classes.thumb,
      elementType: SwitchThumb,
      externalForwardedProps,
      ownerState
    });
    const icon = jsxRuntimeExports.jsx(ThumbSlot, {
      ...thumbSlotProps
    });
    const [TrackSlot, trackSlotProps] = useSlot("track", {
      className: classes.track,
      elementType: SwitchTrack,
      externalForwardedProps,
      ownerState
    });
    return jsxRuntimeExports.jsxs(RootSlot, {
      ...rootSlotProps,
      children: [
        jsxRuntimeExports.jsx(SwitchSwitchBase, {
          type: "checkbox",
          icon,
          checkedIcon: icon,
          ref,
          ownerState,
          ...other,
          classes: {
            ...classes,
            root: classes.switchBase
          },
          slots: {
            ...slots.switchBase && {
              root: slots.switchBase
            },
            ...slots.input && {
              input: slots.input
            }
          },
          slotProps: {
            ...slotProps.switchBase && {
              root: typeof slotProps.switchBase === "function" ? slotProps.switchBase(ownerState) : slotProps.switchBase
            },
            ...slotProps.input && {
              input: typeof slotProps.input === "function" ? slotProps.input(ownerState) : slotProps.input
            }
          }
        }),
        jsxRuntimeExports.jsx(TrackSlot, {
          ...trackSlotProps
        })
      ]
    });
  });
  const TableContext = __mf_10();
  getTableUtilityClass = function(slot) {
    return generateUtilityClass("MuiTable", slot);
  };
  tableClasses = generateUtilityClasses("MuiTable", [
    "root",
    "stickyHeader"
  ]);
  const useUtilityClasses$b = (ownerState) => {
    const { classes, stickyHeader } = ownerState;
    const slots = {
      root: [
        "root",
        stickyHeader && "stickyHeader"
      ]
    };
    return composeClasses(slots, getTableUtilityClass, classes);
  };
  const TableRoot = styled("table", {
    name: "MuiTable",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        ownerState.stickyHeader && styles2.stickyHeader
      ];
    }
  })(memoTheme(({ theme }) => ({
    display: "table",
    width: "100%",
    borderCollapse: "collapse",
    borderSpacing: 0,
    "& caption": {
      ...theme.typography.body2,
      padding: theme.spacing(2),
      color: (theme.vars || theme).palette.text.secondary,
      textAlign: "left",
      captionSide: "bottom"
    },
    variants: [
      {
        props: ({ ownerState }) => ownerState.stickyHeader,
        style: {
          borderCollapse: "separate"
        }
      }
    ]
  })));
  const defaultComponent$4 = "table";
  Table = __mf_14(function Table2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiTable"
    });
    const { className, component = defaultComponent$4, padding = "normal", size = "medium", stickyHeader = false, ...other } = props;
    const ownerState = {
      ...props,
      component,
      padding,
      size,
      stickyHeader
    };
    const classes = useUtilityClasses$b(ownerState);
    const table = __mf_29(() => ({
      padding,
      size,
      stickyHeader
    }), [
      padding,
      size,
      stickyHeader
    ]);
    return jsxRuntimeExports.jsx(TableContext.Provider, {
      value: table,
      children: jsxRuntimeExports.jsx(TableRoot, {
        as: component,
        role: component === defaultComponent$4 ? null : "table",
        ref,
        className: clsx(classes.root, className),
        ownerState,
        ...other
      })
    });
  });
  const Tablelvl2Context = __mf_10();
  getTableBodyUtilityClass = function(slot) {
    return generateUtilityClass("MuiTableBody", slot);
  };
  tableBodyClasses = generateUtilityClasses("MuiTableBody", [
    "root"
  ]);
  const useUtilityClasses$a = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ]
    };
    return composeClasses(slots, getTableBodyUtilityClass, classes);
  };
  const TableBodyRoot = styled("tbody", {
    name: "MuiTableBody",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })({
    display: "table-row-group"
  });
  const tablelvl2$2 = {
    variant: "body"
  };
  const defaultComponent$3 = "tbody";
  TableBody = __mf_14(function TableBody2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiTableBody"
    });
    const { className, component = defaultComponent$3, ...other } = props;
    const ownerState = {
      ...props,
      component
    };
    const classes = useUtilityClasses$a(ownerState);
    return jsxRuntimeExports.jsx(Tablelvl2Context.Provider, {
      value: tablelvl2$2,
      children: jsxRuntimeExports.jsx(TableBodyRoot, {
        className: clsx(classes.root, className),
        as: component,
        ref,
        role: component === defaultComponent$3 ? null : "rowgroup",
        ownerState,
        ...other
      })
    });
  });
  getTableCellUtilityClass = function(slot) {
    return generateUtilityClass("MuiTableCell", slot);
  };
  tableCellClasses = generateUtilityClasses("MuiTableCell", [
    "root",
    "head",
    "body",
    "footer",
    "sizeSmall",
    "sizeMedium",
    "paddingCheckbox",
    "paddingNone",
    "alignLeft",
    "alignCenter",
    "alignRight",
    "alignJustify",
    "stickyHeader"
  ]);
  const useUtilityClasses$9 = (ownerState) => {
    const { classes, variant, align, padding, size, stickyHeader } = ownerState;
    const slots = {
      root: [
        "root",
        variant,
        stickyHeader && "stickyHeader",
        align !== "inherit" && `align${capitalize(align)}`,
        padding !== "normal" && `padding${capitalize(padding)}`,
        `size${capitalize(size)}`
      ]
    };
    return composeClasses(slots, getTableCellUtilityClass, classes);
  };
  const TableCellRoot = styled("td", {
    name: "MuiTableCell",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[ownerState.variant],
        styles2[`size${capitalize(ownerState.size)}`],
        ownerState.padding !== "normal" && styles2[`padding${capitalize(ownerState.padding)}`],
        ownerState.align !== "inherit" && styles2[`align${capitalize(ownerState.align)}`],
        ownerState.stickyHeader && styles2.stickyHeader
      ];
    }
  })(memoTheme(({ theme }) => ({
    ...theme.typography.body2,
    display: "table-cell",
    verticalAlign: "inherit",
    borderBottom: theme.vars ? `1px solid ${theme.vars.palette.TableCell.border}` : `1px solid
    ${theme.palette.mode === "light" ? lighten(alpha(theme.palette.divider, 1), 0.88) : darken(alpha(theme.palette.divider, 1), 0.68)}`,
    textAlign: "left",
    padding: 16,
    variants: [
      {
        props: {
          variant: "head"
        },
        style: {
          color: (theme.vars || theme).palette.text.primary,
          lineHeight: theme.typography.pxToRem(24),
          fontWeight: theme.typography.fontWeightMedium
        }
      },
      {
        props: {
          variant: "body"
        },
        style: {
          color: (theme.vars || theme).palette.text.primary
        }
      },
      {
        props: {
          variant: "footer"
        },
        style: {
          color: (theme.vars || theme).palette.text.secondary,
          lineHeight: theme.typography.pxToRem(21),
          fontSize: theme.typography.pxToRem(12)
        }
      },
      {
        props: {
          size: "small"
        },
        style: {
          padding: "6px 16px",
          [`&.${tableCellClasses.paddingCheckbox}`]: {
            width: 24,
            padding: "0 12px 0 16px",
            "& > *": {
              padding: 0
            }
          }
        }
      },
      {
        props: {
          padding: "checkbox"
        },
        style: {
          width: 48,
          padding: "0 0 0 4px"
        }
      },
      {
        props: {
          padding: "none"
        },
        style: {
          padding: 0
        }
      },
      {
        props: {
          align: "left"
        },
        style: {
          textAlign: "left"
        }
      },
      {
        props: {
          align: "center"
        },
        style: {
          textAlign: "center"
        }
      },
      {
        props: {
          align: "right"
        },
        style: {
          textAlign: "right",
          flexDirection: "row-reverse"
        }
      },
      {
        props: {
          align: "justify"
        },
        style: {
          textAlign: "justify"
        }
      },
      {
        props: ({ ownerState }) => ownerState.stickyHeader,
        style: {
          position: "sticky",
          top: 0,
          zIndex: 2,
          backgroundColor: (theme.vars || theme).palette.background.default
        }
      }
    ]
  })));
  TableCell = __mf_14(function TableCell2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiTableCell"
    });
    const { align = "inherit", className, component: componentProp, padding: paddingProp, scope: scopeProp, size: sizeProp, sortDirection, variant: variantProp, ...other } = props;
    const table = __mf_21(TableContext);
    const tablelvl22 = __mf_21(Tablelvl2Context);
    const isHeadCell = tablelvl22 && tablelvl22.variant === "head";
    let component;
    if (componentProp) {
      component = componentProp;
    } else {
      component = isHeadCell ? "th" : "td";
    }
    let scope = scopeProp;
    if (component === "td") {
      scope = void 0;
    } else if (!scope && isHeadCell) {
      scope = "col";
    }
    const variant = variantProp || tablelvl22 && tablelvl22.variant;
    const ownerState = {
      ...props,
      align,
      component,
      padding: paddingProp || (table && table.padding ? table.padding : "normal"),
      size: sizeProp || (table && table.size ? table.size : "medium"),
      sortDirection,
      stickyHeader: variant === "head" && table && table.stickyHeader,
      variant
    };
    const classes = useUtilityClasses$9(ownerState);
    let ariaSort = null;
    if (sortDirection) {
      ariaSort = sortDirection === "asc" ? "ascending" : "descending";
    }
    return jsxRuntimeExports.jsx(TableCellRoot, {
      as: component,
      ref,
      className: clsx(classes.root, className),
      "aria-sort": ariaSort,
      scope,
      ownerState,
      ...other
    });
  });
  getTableContainerUtilityClass = function(slot) {
    return generateUtilityClass("MuiTableContainer", slot);
  };
  tableContainerClasses = generateUtilityClasses("MuiTableContainer", [
    "root"
  ]);
  const useUtilityClasses$8 = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ]
    };
    return composeClasses(slots, getTableContainerUtilityClass, classes);
  };
  const TableContainerRoot = styled("div", {
    name: "MuiTableContainer",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })({
    width: "100%",
    overflowX: "auto"
  });
  TableContainer = __mf_14(function TableContainer2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiTableContainer"
    });
    const { className, component = "div", ...other } = props;
    const ownerState = {
      ...props,
      component
    };
    const classes = useUtilityClasses$8(ownerState);
    return jsxRuntimeExports.jsx(TableContainerRoot, {
      ref,
      as: component,
      className: clsx(classes.root, className),
      ownerState,
      ...other
    });
  });
  getTableFooterUtilityClass = function(slot) {
    return generateUtilityClass("MuiTableFooter", slot);
  };
  tableFooterClasses = generateUtilityClasses("MuiTableFooter", [
    "root"
  ]);
  const useUtilityClasses$7 = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ]
    };
    return composeClasses(slots, getTableFooterUtilityClass, classes);
  };
  const TableFooterRoot = styled("tfoot", {
    name: "MuiTableFooter",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })({
    display: "table-footer-group"
  });
  const tablelvl2$1 = {
    variant: "footer"
  };
  const defaultComponent$2 = "tfoot";
  TableFooter = __mf_14(function TableFooter2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiTableFooter"
    });
    const { className, component = defaultComponent$2, ...other } = props;
    const ownerState = {
      ...props,
      component
    };
    const classes = useUtilityClasses$7(ownerState);
    return jsxRuntimeExports.jsx(Tablelvl2Context.Provider, {
      value: tablelvl2$1,
      children: jsxRuntimeExports.jsx(TableFooterRoot, {
        as: component,
        className: clsx(classes.root, className),
        ref,
        role: component === defaultComponent$2 ? null : "rowgroup",
        ownerState,
        ...other
      })
    });
  });
  getTableHeadUtilityClass = function(slot) {
    return generateUtilityClass("MuiTableHead", slot);
  };
  tableHeadClasses = generateUtilityClasses("MuiTableHead", [
    "root"
  ]);
  const useUtilityClasses$6 = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ]
    };
    return composeClasses(slots, getTableHeadUtilityClass, classes);
  };
  const TableHeadRoot = styled("thead", {
    name: "MuiTableHead",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })({
    display: "table-header-group"
  });
  const tablelvl2 = {
    variant: "head"
  };
  const defaultComponent$1 = "thead";
  TableHead = __mf_14(function TableHead2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiTableHead"
    });
    const { className, component = defaultComponent$1, ...other } = props;
    const ownerState = {
      ...props,
      component
    };
    const classes = useUtilityClasses$6(ownerState);
    return jsxRuntimeExports.jsx(Tablelvl2Context.Provider, {
      value: tablelvl2,
      children: jsxRuntimeExports.jsx(TableHeadRoot, {
        as: component,
        className: clsx(classes.root, className),
        ref,
        role: component === defaultComponent$1 ? null : "rowgroup",
        ownerState,
        ...other
      })
    });
  });
  getToolbarUtilityClass = function(slot) {
    return generateUtilityClass("MuiToolbar", slot);
  };
  toolbarClasses = generateUtilityClasses("MuiToolbar", [
    "root",
    "gutters",
    "regular",
    "dense"
  ]);
  const useUtilityClasses$5 = (ownerState) => {
    const { classes, disableGutters, variant } = ownerState;
    const slots = {
      root: [
        "root",
        !disableGutters && "gutters",
        variant
      ]
    };
    return composeClasses(slots, getToolbarUtilityClass, classes);
  };
  const ToolbarRoot = styled("div", {
    name: "MuiToolbar",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        !ownerState.disableGutters && styles2.gutters,
        styles2[ownerState.variant]
      ];
    }
  })(memoTheme(({ theme }) => ({
    position: "relative",
    display: "flex",
    alignItems: "center",
    variants: [
      {
        props: ({ ownerState }) => !ownerState.disableGutters,
        style: {
          paddingLeft: theme.spacing(2),
          paddingRight: theme.spacing(2),
          [theme.breakpoints.up("sm")]: {
            paddingLeft: theme.spacing(3),
            paddingRight: theme.spacing(3)
          }
        }
      },
      {
        props: {
          variant: "dense"
        },
        style: {
          minHeight: 48
        }
      },
      {
        props: {
          variant: "regular"
        },
        style: theme.mixins.toolbar
      }
    ]
  })));
  Toolbar = __mf_14(function Toolbar2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiToolbar"
    });
    const { className, component = "div", disableGutters = false, variant = "regular", ...other } = props;
    const ownerState = {
      ...props,
      component,
      disableGutters,
      variant
    };
    const classes = useUtilityClasses$5(ownerState);
    return jsxRuntimeExports.jsx(ToolbarRoot, {
      as: component,
      className: clsx(classes.root, className),
      ref,
      ownerState,
      ...other
    });
  });
  const TablePaginationActions = __mf_14(function TablePaginationActions2(props, ref) {
    const { backIconButtonProps, count, disabled = false, getItemAriaLabel, nextIconButtonProps, onPageChange, page, rowsPerPage, showFirstButton, showLastButton, slots = {}, slotProps = {}, ...other } = props;
    const isRtl = useRtl();
    const handleFirstPageButtonClick = (event) => {
      onPageChange(event, 0);
    };
    const handleBackButtonClick = (event) => {
      onPageChange(event, page - 1);
    };
    const handleNextButtonClick = (event) => {
      onPageChange(event, page + 1);
    };
    const handleLastPageButtonClick = (event) => {
      onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
    };
    const FirstButton = slots.firstButton ?? IconButton;
    const LastButton = slots.lastButton ?? IconButton;
    const NextButton = slots.nextButton ?? IconButton;
    const PreviousButton = slots.previousButton ?? IconButton;
    const FirstButtonIcon = slots.firstButtonIcon ?? FirstPageIconDefault;
    const LastButtonIcon = slots.lastButtonIcon ?? LastPageIconDefault;
    const NextButtonIcon = slots.nextButtonIcon ?? KeyboardArrowRight;
    const PreviousButtonIcon = slots.previousButtonIcon ?? KeyboardArrowLeft;
    const FirstButtonSlot = isRtl ? LastButton : FirstButton;
    const PreviousButtonSlot = isRtl ? NextButton : PreviousButton;
    const NextButtonSlot = isRtl ? PreviousButton : NextButton;
    const LastButtonSlot = isRtl ? FirstButton : LastButton;
    const firstButtonSlotProps = isRtl ? slotProps.lastButton : slotProps.firstButton;
    const previousButtonSlotProps = isRtl ? slotProps.nextButton : slotProps.previousButton;
    const nextButtonSlotProps = isRtl ? slotProps.previousButton : slotProps.nextButton;
    const lastButtonSlotProps = isRtl ? slotProps.firstButton : slotProps.lastButton;
    return jsxRuntimeExports.jsxs("div", {
      ref,
      ...other,
      children: [
        showFirstButton && jsxRuntimeExports.jsx(FirstButtonSlot, {
          onClick: handleFirstPageButtonClick,
          disabled: disabled || page === 0,
          "aria-label": getItemAriaLabel("first", page),
          title: getItemAriaLabel("first", page),
          ...firstButtonSlotProps,
          children: isRtl ? jsxRuntimeExports.jsx(LastButtonIcon, {
            ...slotProps.lastButtonIcon
          }) : jsxRuntimeExports.jsx(FirstButtonIcon, {
            ...slotProps.firstButtonIcon
          })
        }),
        jsxRuntimeExports.jsx(PreviousButtonSlot, {
          onClick: handleBackButtonClick,
          disabled: disabled || page === 0,
          color: "inherit",
          "aria-label": getItemAriaLabel("previous", page),
          title: getItemAriaLabel("previous", page),
          ...previousButtonSlotProps ?? backIconButtonProps,
          children: isRtl ? jsxRuntimeExports.jsx(NextButtonIcon, {
            ...slotProps.nextButtonIcon
          }) : jsxRuntimeExports.jsx(PreviousButtonIcon, {
            ...slotProps.previousButtonIcon
          })
        }),
        jsxRuntimeExports.jsx(NextButtonSlot, {
          onClick: handleNextButtonClick,
          disabled: disabled || (count !== -1 ? page >= Math.ceil(count / rowsPerPage) - 1 : false),
          color: "inherit",
          "aria-label": getItemAriaLabel("next", page),
          title: getItemAriaLabel("next", page),
          ...nextButtonSlotProps ?? nextIconButtonProps,
          children: isRtl ? jsxRuntimeExports.jsx(PreviousButtonIcon, {
            ...slotProps.previousButtonIcon
          }) : jsxRuntimeExports.jsx(NextButtonIcon, {
            ...slotProps.nextButtonIcon
          })
        }),
        showLastButton && jsxRuntimeExports.jsx(LastButtonSlot, {
          onClick: handleLastPageButtonClick,
          disabled: disabled || page >= Math.ceil(count / rowsPerPage) - 1,
          "aria-label": getItemAriaLabel("last", page),
          title: getItemAriaLabel("last", page),
          ...lastButtonSlotProps,
          children: isRtl ? jsxRuntimeExports.jsx(FirstButtonIcon, {
            ...slotProps.firstButtonIcon
          }) : jsxRuntimeExports.jsx(LastButtonIcon, {
            ...slotProps.lastButtonIcon
          })
        })
      ]
    });
  });
  getTablePaginationUtilityClass = function(slot) {
    return generateUtilityClass("MuiTablePagination", slot);
  };
  tablePaginationClasses = generateUtilityClasses("MuiTablePagination", [
    "root",
    "toolbar",
    "spacer",
    "selectLabel",
    "selectRoot",
    "select",
    "selectIcon",
    "input",
    "menuItem",
    "displayedRows",
    "actions"
  ]);
  var _InputBase;
  const TablePaginationRoot = styled(TableCell, {
    name: "MuiTablePagination",
    slot: "Root",
    overridesResolver: (props, styles2) => styles2.root
  })(memoTheme(({ theme }) => ({
    overflow: "auto",
    color: (theme.vars || theme).palette.text.primary,
    fontSize: theme.typography.pxToRem(14),
    "&:last-child": {
      padding: 0
    }
  })));
  const TablePaginationToolbar = styled(Toolbar, {
    name: "MuiTablePagination",
    slot: "Toolbar",
    overridesResolver: (props, styles2) => ({
      [`& .${tablePaginationClasses.actions}`]: styles2.actions,
      ...styles2.toolbar
    })
  })(memoTheme(({ theme }) => ({
    minHeight: 52,
    paddingRight: 2,
    [`${theme.breakpoints.up("xs")} and (orientation: landscape)`]: {
      minHeight: 52
    },
    [theme.breakpoints.up("sm")]: {
      minHeight: 52,
      paddingRight: 2
    },
    [`& .${tablePaginationClasses.actions}`]: {
      flexShrink: 0,
      marginLeft: 20
    }
  })));
  const TablePaginationSpacer = styled("div", {
    name: "MuiTablePagination",
    slot: "Spacer",
    overridesResolver: (props, styles2) => styles2.spacer
  })({
    flex: "1 1 100%"
  });
  const TablePaginationSelectLabel = styled("p", {
    name: "MuiTablePagination",
    slot: "SelectLabel",
    overridesResolver: (props, styles2) => styles2.selectLabel
  })(memoTheme(({ theme }) => ({
    ...theme.typography.body2,
    flexShrink: 0
  })));
  const TablePaginationSelect = styled(Select, {
    name: "MuiTablePagination",
    slot: "Select",
    overridesResolver: (props, styles2) => ({
      [`& .${tablePaginationClasses.selectIcon}`]: styles2.selectIcon,
      [`& .${tablePaginationClasses.select}`]: styles2.select,
      ...styles2.input,
      ...styles2.selectRoot
    })
  })({
    color: "inherit",
    fontSize: "inherit",
    flexShrink: 0,
    marginRight: 32,
    marginLeft: 8,
    [`& .${tablePaginationClasses.select}`]: {
      paddingLeft: 8,
      paddingRight: 24,
      textAlign: "right",
      textAlignLast: "right"
    }
  });
  const TablePaginationMenuItem = styled(MenuItem, {
    name: "MuiTablePagination",
    slot: "MenuItem",
    overridesResolver: (props, styles2) => styles2.menuItem
  })({});
  const TablePaginationDisplayedRows = styled("p", {
    name: "MuiTablePagination",
    slot: "DisplayedRows",
    overridesResolver: (props, styles2) => styles2.displayedRows
  })(memoTheme(({ theme }) => ({
    ...theme.typography.body2,
    flexShrink: 0
  })));
  function defaultLabelDisplayedRows({ from, to, count }) {
    return `${from}\u2013${to} of ${count !== -1 ? count : `more than ${to}`}`;
  }
  function defaultGetAriaLabel(type) {
    return `Go to ${type} page`;
  }
  const useUtilityClasses$4 = (ownerState) => {
    const { classes } = ownerState;
    const slots = {
      root: [
        "root"
      ],
      toolbar: [
        "toolbar"
      ],
      spacer: [
        "spacer"
      ],
      selectLabel: [
        "selectLabel"
      ],
      select: [
        "select"
      ],
      input: [
        "input"
      ],
      selectIcon: [
        "selectIcon"
      ],
      menuItem: [
        "menuItem"
      ],
      displayedRows: [
        "displayedRows"
      ],
      actions: [
        "actions"
      ]
    };
    return composeClasses(slots, getTablePaginationUtilityClass, classes);
  };
  TablePagination = __mf_14(function TablePagination2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiTablePagination"
    });
    const { ActionsComponent = TablePaginationActions, backIconButtonProps, colSpan: colSpanProp, component = TableCell, count, disabled = false, getItemAriaLabel = defaultGetAriaLabel, labelDisplayedRows = defaultLabelDisplayedRows, labelRowsPerPage = "Rows per page:", nextIconButtonProps, onPageChange, onRowsPerPageChange, page, rowsPerPage, rowsPerPageOptions = [
      10,
      25,
      50,
      100
    ], SelectProps = {}, showFirstButton = false, showLastButton = false, slotProps = {}, slots = {}, ...other } = props;
    const ownerState = props;
    const classes = useUtilityClasses$4(ownerState);
    const selectProps = (slotProps == null ? void 0 : slotProps.select) ?? SelectProps;
    const MenuItemComponent = selectProps.native ? "option" : TablePaginationMenuItem;
    let colSpan;
    if (component === TableCell || component === "td") {
      colSpan = colSpanProp || 1e3;
    }
    const selectId = useId(selectProps.id);
    const labelId = useId(selectProps.labelId);
    const getLabelDisplayedRowsTo = () => {
      if (count === -1) {
        return (page + 1) * rowsPerPage;
      }
      return rowsPerPage === -1 ? count : Math.min(count, (page + 1) * rowsPerPage);
    };
    const externalForwardedProps = {
      slots,
      slotProps
    };
    const [RootSlot, rootSlotProps] = useSlot("root", {
      ref,
      className: classes.root,
      elementType: TablePaginationRoot,
      externalForwardedProps: {
        ...externalForwardedProps,
        component,
        ...other
      },
      ownerState,
      additionalProps: {
        colSpan
      }
    });
    const [ToolbarSlot, toolbarSlotProps] = useSlot("toolbar", {
      className: classes.toolbar,
      elementType: TablePaginationToolbar,
      externalForwardedProps,
      ownerState
    });
    const [SpacerSlot, spacerSlotProps] = useSlot("spacer", {
      className: classes.spacer,
      elementType: TablePaginationSpacer,
      externalForwardedProps,
      ownerState
    });
    const [SelectLabelSlot, selectLabelSlotProps] = useSlot("selectLabel", {
      className: classes.selectLabel,
      elementType: TablePaginationSelectLabel,
      externalForwardedProps,
      ownerState,
      additionalProps: {
        id: labelId
      }
    });
    const [SelectSlot, selectSlotProps] = useSlot("select", {
      className: classes.select,
      elementType: TablePaginationSelect,
      externalForwardedProps,
      ownerState
    });
    const [MenuItemSlot, menuItemSlotProps] = useSlot("menuItem", {
      className: classes.menuItem,
      elementType: MenuItemComponent,
      externalForwardedProps,
      ownerState
    });
    const [DisplayedRows, displayedRowsProps] = useSlot("displayedRows", {
      className: classes.displayedRows,
      elementType: TablePaginationDisplayedRows,
      externalForwardedProps,
      ownerState
    });
    return jsxRuntimeExports.jsx(RootSlot, {
      ...rootSlotProps,
      children: jsxRuntimeExports.jsxs(ToolbarSlot, {
        ...toolbarSlotProps,
        children: [
          jsxRuntimeExports.jsx(SpacerSlot, {
            ...spacerSlotProps
          }),
          rowsPerPageOptions.length > 1 && jsxRuntimeExports.jsx(SelectLabelSlot, {
            ...selectLabelSlotProps,
            children: labelRowsPerPage
          }),
          rowsPerPageOptions.length > 1 && jsxRuntimeExports.jsx(SelectSlot, {
            variant: "standard",
            ...!selectProps.variant && {
              input: _InputBase || (_InputBase = jsxRuntimeExports.jsx(InputBase, {}))
            },
            value: rowsPerPage,
            onChange: onRowsPerPageChange,
            id: selectId,
            labelId,
            ...selectProps,
            classes: {
              ...selectProps.classes,
              root: clsx(classes.input, classes.selectRoot, (selectProps.classes || {}).root),
              select: clsx(classes.select, (selectProps.classes || {}).select),
              icon: clsx(classes.selectIcon, (selectProps.classes || {}).icon)
            },
            disabled,
            ...selectSlotProps,
            children: rowsPerPageOptions.map((rowsPerPageOption) => __mf_11(MenuItemSlot, {
              ...menuItemSlotProps,
              key: rowsPerPageOption.label ? rowsPerPageOption.label : rowsPerPageOption,
              value: rowsPerPageOption.value ? rowsPerPageOption.value : rowsPerPageOption
            }, rowsPerPageOption.label ? rowsPerPageOption.label : rowsPerPageOption))
          }),
          jsxRuntimeExports.jsx(DisplayedRows, {
            ...displayedRowsProps,
            children: labelDisplayedRows({
              from: count === 0 ? 0 : page * rowsPerPage + 1,
              to: getLabelDisplayedRowsTo(),
              count: count === -1 ? -1 : count,
              page
            })
          }),
          jsxRuntimeExports.jsx(ActionsComponent, {
            className: classes.actions,
            backIconButtonProps,
            count,
            nextIconButtonProps,
            onPageChange,
            page,
            rowsPerPage,
            showFirstButton,
            showLastButton,
            slotProps: slotProps.actions,
            slots: slots.actions,
            getItemAriaLabel,
            disabled
          })
        ]
      })
    });
  });
  getTableRowUtilityClass = function(slot) {
    return generateUtilityClass("MuiTableRow", slot);
  };
  tableRowClasses = generateUtilityClasses("MuiTableRow", [
    "root",
    "selected",
    "hover",
    "head",
    "footer"
  ]);
  const useUtilityClasses$3 = (ownerState) => {
    const { classes, selected, hover, head, footer } = ownerState;
    const slots = {
      root: [
        "root",
        selected && "selected",
        hover && "hover",
        head && "head",
        footer && "footer"
      ]
    };
    return composeClasses(slots, getTableRowUtilityClass, classes);
  };
  const TableRowRoot = styled("tr", {
    name: "MuiTableRow",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        ownerState.head && styles2.head,
        ownerState.footer && styles2.footer
      ];
    }
  })(memoTheme(({ theme }) => ({
    color: "inherit",
    display: "table-row",
    verticalAlign: "middle",
    outline: 0,
    [`&.${tableRowClasses.hover}:hover`]: {
      backgroundColor: (theme.vars || theme).palette.action.hover
    },
    [`&.${tableRowClasses.selected}`]: {
      backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),
      "&:hover": {
        backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity)
      }
    }
  })));
  const defaultComponent = "tr";
  TableRow = __mf_14(function TableRow2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiTableRow"
    });
    const { className, component = defaultComponent, hover = false, selected = false, ...other } = props;
    const tablelvl22 = __mf_21(Tablelvl2Context);
    const ownerState = {
      ...props,
      component,
      hover,
      selected,
      head: tablelvl22 && tablelvl22.variant === "head",
      footer: tablelvl22 && tablelvl22.variant === "footer"
    };
    const classes = useUtilityClasses$3(ownerState);
    return jsxRuntimeExports.jsx(TableRowRoot, {
      as: component,
      ref,
      className: clsx(classes.root, className),
      role: component === defaultComponent ? null : "row",
      ownerState,
      ...other
    });
  });
  const ArrowDownwardIcon = createSvgIcon(jsxRuntimeExports.jsx("path", {
    d: "M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
  }), "ArrowDownward");
  getTableSortLabelUtilityClass = function(slot) {
    return generateUtilityClass("MuiTableSortLabel", slot);
  };
  tableSortLabelClasses = generateUtilityClasses("MuiTableSortLabel", [
    "root",
    "active",
    "icon",
    "iconDirectionDesc",
    "iconDirectionAsc",
    "directionDesc",
    "directionAsc"
  ]);
  const useUtilityClasses$2 = (ownerState) => {
    const { classes, direction, active } = ownerState;
    const slots = {
      root: [
        "root",
        active && "active",
        `direction${capitalize(direction)}`
      ],
      icon: [
        "icon",
        `iconDirection${capitalize(direction)}`
      ]
    };
    return composeClasses(slots, getTableSortLabelUtilityClass, classes);
  };
  const TableSortLabelRoot = styled(ButtonBase, {
    name: "MuiTableSortLabel",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        ownerState.active && styles2.active
      ];
    }
  })(memoTheme(({ theme }) => ({
    cursor: "pointer",
    display: "inline-flex",
    justifyContent: "flex-start",
    flexDirection: "inherit",
    alignItems: "center",
    "&:focus": {
      color: (theme.vars || theme).palette.text.secondary
    },
    "&:hover": {
      color: (theme.vars || theme).palette.text.secondary,
      [`& .${tableSortLabelClasses.icon}`]: {
        opacity: 0.5
      }
    },
    [`&.${tableSortLabelClasses.active}`]: {
      color: (theme.vars || theme).palette.text.primary,
      [`& .${tableSortLabelClasses.icon}`]: {
        opacity: 1,
        color: (theme.vars || theme).palette.text.secondary
      }
    }
  })));
  const TableSortLabelIcon = styled("span", {
    name: "MuiTableSortLabel",
    slot: "Icon",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.icon,
        styles2[`iconDirection${capitalize(ownerState.direction)}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    fontSize: 18,
    marginRight: 4,
    marginLeft: 4,
    opacity: 0,
    transition: theme.transitions.create([
      "opacity",
      "transform"
    ], {
      duration: theme.transitions.duration.shorter
    }),
    userSelect: "none",
    variants: [
      {
        props: {
          direction: "desc"
        },
        style: {
          transform: "rotate(0deg)"
        }
      },
      {
        props: {
          direction: "asc"
        },
        style: {
          transform: "rotate(180deg)"
        }
      }
    ]
  })));
  TableSortLabel = __mf_14(function TableSortLabel2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiTableSortLabel"
    });
    const { active = false, children, className, direction = "asc", hideSortIcon = false, IconComponent = ArrowDownwardIcon, slots = {}, slotProps = {}, ...other } = props;
    const ownerState = {
      ...props,
      active,
      direction,
      hideSortIcon,
      IconComponent
    };
    const classes = useUtilityClasses$2(ownerState);
    const externalForwardedProps = {
      slots,
      slotProps
    };
    const [RootSlot, rootProps] = useSlot("root", {
      elementType: TableSortLabelRoot,
      externalForwardedProps,
      ownerState,
      className: clsx(classes.root, className),
      ref
    });
    const [IconSlot, iconProps] = useSlot("icon", {
      elementType: TableSortLabelIcon,
      externalForwardedProps,
      ownerState,
      className: classes.icon
    });
    return jsxRuntimeExports.jsxs(RootSlot, {
      disableRipple: true,
      component: "span",
      ...rootProps,
      ...other,
      children: [
        children,
        hideSortIcon && !active ? null : jsxRuntimeExports.jsx(IconSlot, {
          as: IconComponent,
          ...iconProps
        })
      ]
    });
  });
  getToggleButtonUtilityClass = function(slot) {
    return generateUtilityClass("MuiToggleButton", slot);
  };
  toggleButtonClasses = generateUtilityClasses("MuiToggleButton", [
    "root",
    "disabled",
    "selected",
    "standard",
    "primary",
    "secondary",
    "sizeSmall",
    "sizeMedium",
    "sizeLarge",
    "fullWidth"
  ]);
  const ToggleButtonGroupContext = __mf_10({});
  const ToggleButtonGroupButtonContext = __mf_10(void 0);
  function isValueSelected(value, candidate) {
    if (candidate === void 0 || value === void 0) {
      return false;
    }
    if (Array.isArray(candidate)) {
      return candidate.includes(value);
    }
    return value === candidate;
  }
  const useUtilityClasses$1 = (ownerState) => {
    const { classes, fullWidth, selected, disabled, size, color } = ownerState;
    const slots = {
      root: [
        "root",
        selected && "selected",
        disabled && "disabled",
        fullWidth && "fullWidth",
        `size${capitalize(size)}`,
        color
      ]
    };
    return composeClasses(slots, getToggleButtonUtilityClass, classes);
  };
  const ToggleButtonRoot = styled(ButtonBase, {
    name: "MuiToggleButton",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        styles2.root,
        styles2[`size${capitalize(ownerState.size)}`]
      ];
    }
  })(memoTheme(({ theme }) => ({
    ...theme.typography.button,
    borderRadius: (theme.vars || theme).shape.borderRadius,
    padding: 11,
    border: `1px solid ${(theme.vars || theme).palette.divider}`,
    color: (theme.vars || theme).palette.action.active,
    [`&.${toggleButtonClasses.disabled}`]: {
      color: (theme.vars || theme).palette.action.disabled,
      border: `1px solid ${(theme.vars || theme).palette.action.disabledBackground}`
    },
    "&:hover": {
      textDecoration: "none",
      backgroundColor: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.text.primary, theme.palette.action.hoverOpacity),
      "@media (hover: none)": {
        backgroundColor: "transparent"
      }
    },
    variants: [
      {
        props: {
          color: "standard"
        },
        style: {
          [`&.${toggleButtonClasses.selected}`]: {
            color: (theme.vars || theme).palette.text.primary,
            backgroundColor: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.text.primary, theme.palette.action.selectedOpacity),
            "&:hover": {
              backgroundColor: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.text.primary, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),
              "@media (hover: none)": {
                backgroundColor: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.text.primary, theme.palette.action.selectedOpacity)
              }
            }
          }
        }
      },
      ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
        props: {
          color
        },
        style: {
          [`&.${toggleButtonClasses.selected}`]: {
            color: (theme.vars || theme).palette[color].main,
            backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette[color].main, theme.palette.action.selectedOpacity),
            "&:hover": {
              backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette[color].main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),
              "@media (hover: none)": {
                backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette[color].main, theme.palette.action.selectedOpacity)
              }
            }
          }
        }
      })),
      {
        props: {
          fullWidth: true
        },
        style: {
          width: "100%"
        }
      },
      {
        props: {
          size: "small"
        },
        style: {
          padding: 7,
          fontSize: theme.typography.pxToRem(13)
        }
      },
      {
        props: {
          size: "large"
        },
        style: {
          padding: 15,
          fontSize: theme.typography.pxToRem(15)
        }
      }
    ]
  })));
  ToggleButton = __mf_14(function ToggleButton2(inProps, ref) {
    const { value: contextValue, ...contextProps } = __mf_21(ToggleButtonGroupContext);
    const toggleButtonGroupButtonContextPositionClassName = __mf_21(ToggleButtonGroupButtonContext);
    const resolvedProps = resolveProps({
      ...contextProps,
      selected: isValueSelected(inProps.value, contextValue)
    }, inProps);
    const props = useDefaultProps({
      props: resolvedProps,
      name: "MuiToggleButton"
    });
    const { children, className, color = "standard", disabled = false, disableFocusRipple = false, fullWidth = false, onChange, onClick, selected, size = "medium", value, ...other } = props;
    const ownerState = {
      ...props,
      color,
      disabled,
      disableFocusRipple,
      fullWidth,
      size
    };
    const classes = useUtilityClasses$1(ownerState);
    const handleChange = (event) => {
      if (onClick) {
        onClick(event, value);
        if (event.defaultPrevented) {
          return;
        }
      }
      if (onChange) {
        onChange(event, value);
      }
    };
    const positionClassName = toggleButtonGroupButtonContextPositionClassName || "";
    return jsxRuntimeExports.jsx(ToggleButtonRoot, {
      className: clsx(contextProps.className, classes.root, className, positionClassName),
      disabled,
      focusRipple: !disableFocusRipple,
      ref,
      onClick: handleChange,
      onChange,
      value,
      ownerState,
      "aria-pressed": selected,
      ...other,
      children
    });
  });
  getToggleButtonGroupUtilityClass = function(slot) {
    return generateUtilityClass("MuiToggleButtonGroup", slot);
  };
  toggleButtonGroupClasses = generateUtilityClasses("MuiToggleButtonGroup", [
    "root",
    "selected",
    "horizontal",
    "vertical",
    "disabled",
    "grouped",
    "groupedHorizontal",
    "groupedVertical",
    "fullWidth",
    "firstButton",
    "lastButton",
    "middleButton"
  ]);
  const useUtilityClasses = (ownerState) => {
    const { classes, orientation, fullWidth, disabled } = ownerState;
    const slots = {
      root: [
        "root",
        orientation,
        fullWidth && "fullWidth"
      ],
      grouped: [
        "grouped",
        `grouped${capitalize(orientation)}`,
        disabled && "disabled"
      ],
      firstButton: [
        "firstButton"
      ],
      lastButton: [
        "lastButton"
      ],
      middleButton: [
        "middleButton"
      ]
    };
    return composeClasses(slots, getToggleButtonGroupUtilityClass, classes);
  };
  const ToggleButtonGroupRoot = styled("div", {
    name: "MuiToggleButtonGroup",
    slot: "Root",
    overridesResolver: (props, styles2) => {
      const { ownerState } = props;
      return [
        {
          [`& .${toggleButtonGroupClasses.grouped}`]: styles2.grouped
        },
        {
          [`& .${toggleButtonGroupClasses.grouped}`]: styles2[`grouped${capitalize(ownerState.orientation)}`]
        },
        {
          [`& .${toggleButtonGroupClasses.firstButton}`]: styles2.firstButton
        },
        {
          [`& .${toggleButtonGroupClasses.lastButton}`]: styles2.lastButton
        },
        {
          [`& .${toggleButtonGroupClasses.middleButton}`]: styles2.middleButton
        },
        styles2.root,
        ownerState.orientation === "vertical" && styles2.vertical,
        ownerState.fullWidth && styles2.fullWidth
      ];
    }
  })(memoTheme(({ theme }) => ({
    display: "inline-flex",
    borderRadius: (theme.vars || theme).shape.borderRadius,
    variants: [
      {
        props: {
          orientation: "vertical"
        },
        style: {
          flexDirection: "column",
          [`& .${toggleButtonGroupClasses.grouped}`]: {
            [`&.${toggleButtonGroupClasses.selected} + .${toggleButtonGroupClasses.grouped}.${toggleButtonGroupClasses.selected}`]: {
              borderTop: 0,
              marginTop: 0
            }
          },
          [`& .${toggleButtonGroupClasses.firstButton},& .${toggleButtonGroupClasses.middleButton}`]: {
            borderBottomLeftRadius: 0,
            borderBottomRightRadius: 0
          },
          [`& .${toggleButtonGroupClasses.lastButton},& .${toggleButtonGroupClasses.middleButton}`]: {
            marginTop: -1,
            borderTop: "1px solid transparent",
            borderTopLeftRadius: 0,
            borderTopRightRadius: 0
          },
          [`& .${toggleButtonGroupClasses.lastButton}.${toggleButtonClasses.disabled},& .${toggleButtonGroupClasses.middleButton}.${toggleButtonClasses.disabled}`]: {
            borderTop: "1px solid transparent"
          }
        }
      },
      {
        props: {
          fullWidth: true
        },
        style: {
          width: "100%"
        }
      },
      {
        props: {
          orientation: "horizontal"
        },
        style: {
          [`& .${toggleButtonGroupClasses.grouped}`]: {
            [`&.${toggleButtonGroupClasses.selected} + .${toggleButtonGroupClasses.grouped}.${toggleButtonGroupClasses.selected}`]: {
              borderLeft: 0,
              marginLeft: 0
            }
          },
          [`& .${toggleButtonGroupClasses.firstButton},& .${toggleButtonGroupClasses.middleButton}`]: {
            borderTopRightRadius: 0,
            borderBottomRightRadius: 0
          },
          [`& .${toggleButtonGroupClasses.lastButton},& .${toggleButtonGroupClasses.middleButton}`]: {
            marginLeft: -1,
            borderLeft: "1px solid transparent",
            borderTopLeftRadius: 0,
            borderBottomLeftRadius: 0
          },
          [`& .${toggleButtonGroupClasses.lastButton}.${toggleButtonClasses.disabled},& .${toggleButtonGroupClasses.middleButton}.${toggleButtonClasses.disabled}`]: {
            borderLeft: "1px solid transparent"
          }
        }
      }
    ]
  })));
  ToggleButtonGroup = __mf_14(function ToggleButtonGroup2(inProps, ref) {
    const props = useDefaultProps({
      props: inProps,
      name: "MuiToggleButtonGroup"
    });
    const { children, className, color = "standard", disabled = false, exclusive = false, fullWidth = false, onChange, orientation = "horizontal", size = "medium", value, ...other } = props;
    const ownerState = {
      ...props,
      disabled,
      fullWidth,
      orientation,
      size
    };
    const classes = useUtilityClasses(ownerState);
    const handleChange = __mf_20((event, buttonValue) => {
      if (!onChange) {
        return;
      }
      const index2 = value && value.indexOf(buttonValue);
      let newValue;
      if (value && index2 >= 0) {
        newValue = value.slice();
        newValue.splice(index2, 1);
      } else {
        newValue = value ? value.concat(buttonValue) : [
          buttonValue
        ];
      }
      onChange(event, newValue);
    }, [
      onChange,
      value
    ]);
    const handleExclusiveChange = __mf_20((event, buttonValue) => {
      if (!onChange) {
        return;
      }
      onChange(event, value === buttonValue ? null : buttonValue);
    }, [
      onChange,
      value
    ]);
    const context = __mf_29(() => ({
      className: classes.grouped,
      onChange: exclusive ? handleExclusiveChange : handleChange,
      value,
      size,
      fullWidth,
      color,
      disabled
    }), [
      classes.grouped,
      exclusive,
      handleExclusiveChange,
      handleChange,
      value,
      size,
      fullWidth,
      color,
      disabled
    ]);
    const validChildren = getValidReactChildren(children);
    const childrenCount = validChildren.length;
    const getButtonPositionClassName = (index2) => {
      const isFirstButton = index2 === 0;
      const isLastButton = index2 === childrenCount - 1;
      if (isFirstButton && isLastButton) {
        return "";
      }
      if (isFirstButton) {
        return classes.firstButton;
      }
      if (isLastButton) {
        return classes.lastButton;
      }
      return classes.middleButton;
    };
    return jsxRuntimeExports.jsx(ToggleButtonGroupRoot, {
      role: "group",
      className: clsx(classes.root, className),
      ref,
      ownerState,
      ...other,
      children: jsxRuntimeExports.jsx(ToggleButtonGroupContext.Provider, {
        value: context,
        children: validChildren.map((child, index2) => {
          return jsxRuntimeExports.jsx(ToggleButtonGroupButtonContext.Provider, {
            value: getButtonPositionClassName(index2),
            children: child
          }, index2);
        })
      })
    });
  });
  function defaultTrigger(store, options) {
    const { disableHysteresis = false, threshold = 100, target } = options;
    const previous = store.current;
    if (target) {
      store.current = target.pageYOffset !== void 0 ? target.pageYOffset : target.scrollTop;
    }
    if (!disableHysteresis && previous !== void 0) {
      if (store.current < previous) {
        return false;
      }
    }
    return store.current > threshold;
  }
  const defaultTarget = typeof window !== "undefined" ? window : null;
  useScrollTrigger = function(options = {}) {
    const { getTrigger = defaultTrigger, target = defaultTarget, ...other } = options;
    const store = __mf_31();
    const [trigger, setTrigger] = __mf_32(() => getTrigger(store, other));
    __mf_24(() => {
      if (target === null) {
        return setTrigger(false);
      }
      const handleScroll = () => {
        setTrigger(getTrigger(store, {
          target,
          ...other
        }));
      };
      handleScroll();
      target.addEventListener("scroll", handleScroll, {
        passive: true
      });
      return () => {
        target.removeEventListener("scroll", handleScroll, {
          passive: true
        });
      };
    }, [
      target,
      getTrigger,
      JSON.stringify(other)
    ]);
    return trigger;
  };
  version = "6.5.0";
  major = Number("6");
  minor = Number("5");
  patch = Number("0");
  prerelease = void 0;
});
export {
  Accordion,
  AccordionActions,
  AccordionDetails,
  AccordionSummary,
  Alert,
  AlertTitle,
  AppBar,
  Autocomplete,
  Avatar,
  AvatarGroup,
  aw as Backdrop,
  Badge,
  BottomNavigation,
  BottomNavigationAction,
  B2 as Box,
  Breadcrumbs,
  B3 as Button,
  ButtonBase,
  ButtonGroup,
  ButtonGroupButtonContext,
  ButtonGroupContext,
  C as Card,
  CardActionArea,
  CardActions,
  c as CardContent,
  a as CardHeader,
  CardMedia,
  Checkbox,
  Chip,
  ax as CircularProgress,
  ClickAwayListener,
  Collapse,
  Container,
  CssBaseline,
  ay as CssVarsProvider,
  R as Dialog,
  K as DialogActions,
  U as DialogContent,
  DialogContentText,
  DialogTitle,
  Divider,
  Drawer,
  az as Experimental_CssVarsProvider,
  Fab,
  A2 as Fade,
  aA as FilledInput,
  x3 as FormControl,
  FormControlLabel,
  FormGroup,
  F as FormHelperText,
  aB as FormLabel,
  aC as FormLabelRoot,
  aD as GlobalStyles,
  Grid,
  Grid2,
  Grow,
  Hidden,
  Icon,
  IconButton,
  ImageList,
  ImageListItem,
  ImageListItemBar,
  Input,
  r2 as InputAdornment,
  InputBase,
  w3 as InputLabel,
  LinearProgress,
  Link,
  L as List,
  N as ListItem,
  ListItemAvatar,
  ListItemButton,
  ListItemIcon,
  aE as ListItemSecondaryAction,
  ListItemText,
  ListSubheader,
  d2 as Menu,
  MenuItem,
  p2 as MenuList,
  MobileStepper,
  Modal,
  aF as ModalManager,
  NativeSelect,
  NoSsr,
  aG as OutlinedInput,
  Pagination,
  PaginationItem,
  Paper,
  aH as Popover,
  aI as PopoverPaper,
  aJ as PopoverRoot,
  Popper,
  aK as Portal,
  Radio,
  RadioGroup,
  Rating,
  ScopedCssBaseline,
  Select,
  Skeleton,
  Slide,
  Slider,
  SliderMark,
  SliderMarkLabel,
  SliderRail,
  SliderRoot,
  SliderThumb,
  SliderTrack,
  SliderValueLabel,
  Snackbar,
  SnackbarContent,
  SpeedDial,
  SpeedDialAction,
  SpeedDialIcon,
  Stack,
  Step,
  StepButton,
  StepConnector,
  StepContent,
  StepContext,
  StepIcon,
  StepLabel,
  Stepper,
  StepperContext,
  _ as StyledEngineProvider,
  SvgIcon,
  SwipeableDrawer,
  Switch,
  T as THEME_ID,
  Tab,
  TabScrollButton,
  Table,
  TableBody,
  TableCell,
  TableContainer,
  TableFooter,
  TableHead,
  TablePagination,
  TableRow,
  TableSortLabel,
  Tabs,
  y2 as TextField,
  aL as TextareaAutosize,
  h2 as ThemeProvider,
  ToggleButton,
  ToggleButtonGroup,
  Toolbar,
  Tooltip,
  Typography,
  E as Unstable_TrapFocus,
  Zoom,
  __tla,
  accordionActionsClasses,
  accordionClasses,
  accordionDetailsClasses,
  accordionSummaryClasses,
  e as adaptV4Theme,
  alertClasses,
  alertTitleClasses,
  __mf_133 as alpha,
  appBarClasses,
  autocompleteClasses,
  avatarClasses,
  avatarGroupClasses,
  aM as backdropClasses,
  badgeClasses,
  bottomNavigationActionClasses,
  bottomNavigationClasses,
  d as boxClasses,
  breadcrumbsClasses,
  aN as buttonBaseClasses,
  b as buttonClasses,
  buttonGroupClasses,
  capitalize,
  cardActionAreaClasses,
  cardActionsClasses,
  f as cardClasses,
  h as cardContentClasses,
  i as cardHeaderClasses,
  cardMediaClasses,
  checkboxClasses,
  aO as chipClasses,
  aP as circularProgressClasses,
  j2 as collapseClasses,
  index as colors,
  containerClasses,
  createChainedFunction,
  j as createColorScheme,
  createFilterOptions,
  k as createMuiTheme,
  k2 as createStyles,
  createSvgIcon,
  n as createTheme,
  q as createTransitions,
  __mf_17 as css,
  darkScrollbar,
  l2 as darken,
  debounce,
  m3 as decomposeColor,
  deprecatedPropType,
  aQ as dialogActionsClasses,
  S as dialogClasses,
  aR as dialogContentClasses,
  dialogContentTextClasses,
  aS as dialogTitleClasses,
  aT as dividerClasses,
  drawerClasses,
  t as duration,
  v as easing,
  n3 as emphasize,
  styled as experimentalStyled,
  l as experimental_extendTheme,
  m as experimental_sx,
  w as extendTheme,
  fabClasses,
  filledInputClasses,
  aU as formControlClasses,
  formControlLabelClasses,
  formGroupClasses,
  aV as formHelperTextClasses,
  aW as formLabelClasses,
  generateUtilityClass,
  generateUtilityClasses,
  getAccordionActionsUtilityClass,
  getAccordionDetailsUtilityClass,
  getAccordionSummaryUtilityClass,
  getAccordionUtilityClass,
  getAlertTitleUtilityClass,
  getAlertUtilityClass,
  getAppBarUtilityClass,
  getAutocompleteUtilityClass,
  getAvatarGroupUtilityClass,
  getAvatarUtilityClass,
  aX as getBackdropUtilityClass,
  getBadgeUtilityClass,
  getBottomNavigationActionUtilityClass,
  getBottomNavigationUtilityClass,
  getBreadcrumbsUtilityClass,
  aY as getButtonBaseUtilityClass,
  getButtonGroupUtilityClass,
  c2 as getButtonUtilityClass,
  getCardActionAreaUtilityClass,
  getCardActionsUtilityClass,
  n2 as getCardContentUtilityClass,
  o as getCardHeaderUtilityClass,
  getCardMediaUtilityClass,
  p as getCardUtilityClass,
  getCheckboxUtilityClass,
  aZ as getChipUtilityClass,
  a_ as getCircularProgressUtilityClass,
  q2 as getCollapseUtilityClass,
  getContainerUtilityClass,
  o2 as getContrastRatio,
  a$ as getDialogActionsUtilityClass,
  getDialogContentTextUtilityClass,
  b0 as getDialogContentUtilityClass,
  getDialogTitleUtilityClass,
  b1 as getDialogUtilityClass,
  getDividerUtilityClass,
  getDrawerUtilityClass,
  getFabUtilityClass,
  b2 as getFilledInputUtilityClass,
  getFormControlLabelUtilityClasses,
  b3 as getFormControlUtilityClasses,
  getFormGroupUtilityClass,
  b4 as getFormHelperTextUtilityClasses,
  b5 as getFormLabelUtilityClasses,
  getGrid2UtilityClass,
  b6 as getIconButtonUtilityClass,
  getIconUtilityClass,
  getImageListItemBarUtilityClass,
  getImageListItemUtilityClass,
  getImageListUtilityClass,
  b7 as getInitColorSchemeScript,
  b8 as getInputAdornmentUtilityClass,
  b9 as getInputBaseUtilityClass,
  ba as getInputLabelUtilityClasses,
  bb as getInputUtilityClass,
  getLinearProgressUtilityClass,
  getLinkUtilityClass,
  getListItemAvatarUtilityClass,
  getListItemButtonUtilityClass,
  getListItemIconUtilityClass,
  bc as getListItemSecondaryActionClassesUtilityClass,
  getListItemTextUtilityClass,
  bd as getListItemUtilityClass,
  getListSubheaderUtilityClass,
  be as getListUtilityClass,
  p3 as getLuminance,
  a2 as getMenuItemUtilityClass,
  e2 as getMenuUtilityClass,
  getMobileStepperUtilityClass,
  bf as getModalUtilityClass,
  getNativeSelectUtilityClasses,
  bg as getOffsetLeft,
  bh as getOffsetTop,
  bi as getOutlinedInputUtilityClass,
  x as getOverlayAlpha,
  getPaginationItemUtilityClass,
  getPaginationUtilityClass,
  bj as getPaperUtilityClass,
  bk as getPopoverUtilityClass,
  bl as getPopperUtilityClass,
  getRadioGroupUtilityClass,
  getRadioUtilityClass,
  getRatingUtilityClass,
  getScopedCssBaselineUtilityClass,
  bm as getSelectUtilityClasses,
  getSkeletonUtilityClass,
  getSliderUtilityClass,
  getSnackbarContentUtilityClass,
  getSnackbarUtilityClass,
  getSpeedDialActionUtilityClass,
  getSpeedDialIconUtilityClass,
  getSpeedDialUtilityClass,
  getStepButtonUtilityClass,
  getStepConnectorUtilityClass,
  getStepContentUtilityClass,
  getStepIconUtilityClass,
  getStepLabelUtilityClass,
  getStepUtilityClass,
  getStepperUtilityClass,
  g as getSvgIconUtilityClass,
  getSwitchUtilityClass,
  getTabScrollButtonUtilityClass,
  getTabUtilityClass,
  getTableBodyUtilityClass,
  getTableCellUtilityClass,
  getTableContainerUtilityClass,
  getTableFooterUtilityClass,
  getTableHeadUtilityClass,
  getTablePaginationUtilityClass,
  getTableRowUtilityClass,
  getTableSortLabelUtilityClass,
  getTableUtilityClass,
  getTabsUtilityClass,
  bn as getTextFieldUtilityClass,
  getToggleButtonGroupUtilityClass,
  getToggleButtonUtilityClass,
  getToolbarUtilityClass,
  getTooltipUtilityClass,
  bo as getTouchRippleUtilityClass,
  g2 as getTypographyUtilityClass,
  grid2Classes,
  q3 as hexToRgb,
  r3 as hslToRgb,
  bp as iconButtonClasses,
  iconClasses,
  imageListClasses,
  imageListItemBarClasses,
  imageListItemClasses,
  bq as inputAdornmentClasses,
  inputBaseClasses,
  inputClasses,
  br as inputLabelClasses,
  isMuiElement,
  __mf_27 as keyframes,
  s2 as lighten,
  linearProgressClasses,
  linkClasses,
  bs as listClasses,
  listItemAvatarClasses,
  listItemButtonClasses,
  bt as listItemClasses,
  bu as listItemIconClasses,
  bv as listItemSecondaryActionClasses,
  listItemTextClasses,
  listSubheaderClasses,
  major,
  r as makeStyles,
  f2 as menuClasses,
  m2 as menuItemClasses,
  mergeSlotProps,
  minor,
  mobileStepperClasses,
  bw as modalClasses,
  bx as nativeSelectClasses,
  outlinedInputClasses,
  ownerDocument,
  ownerWindow,
  paginationClasses,
  paginationItemClasses,
  by as paperClasses,
  patch,
  bz as popoverClasses,
  prerelease,
  y as private_createMixins,
  z as private_createTypography,
  A as private_excludeVariablesFromRoot,
  radioClasses,
  radioGroupClasses,
  ratingClasses,
  t2 as recomposeColor,
  requirePropFactory,
  u as responsiveFontSizes,
  u3 as rgbToHex,
  scopedCssBaselineClasses,
  bA as selectClasses,
  setRef,
  B as shouldSkipGeneratingVar,
  skeletonClasses,
  sliderClasses,
  snackbarClasses,
  snackbarContentClasses,
  speedDialActionClasses,
  speedDialClasses,
  speedDialIconClasses,
  stackClasses,
  stepButtonClasses,
  stepClasses,
  stepConnectorClasses,
  stepContentClasses,
  stepIconClasses,
  stepLabelClasses,
  stepperClasses,
  styled,
  s as svgIconClasses,
  switchClasses,
  tabClasses,
  tabScrollButtonClasses,
  tableBodyClasses,
  tableCellClasses,
  tableClasses,
  tableContainerClasses,
  tableFooterClasses,
  tableHeadClasses,
  tablePaginationClasses,
  tableRowClasses,
  tableSortLabelClasses,
  tabsClasses,
  bB as textFieldClasses,
  toggleButtonClasses,
  toggleButtonGroupClasses,
  toolbarClasses,
  tooltipClasses,
  bC as touchRippleClasses,
  typographyClasses,
  unstable_ClassNameGenerator,
  composeClasses as unstable_composeClasses,
  i2 as unstable_createBreakpoints,
  v2 as unstable_createMuiStrictModeTheme,
  getUnit as unstable_getUnit,
  memoTheme as unstable_memoTheme,
  toUnitless as unstable_toUnitless,
  useEnhancedEffect as unstable_useEnhancedEffect,
  useId as unstable_useId,
  unsupportedProp,
  useAutocomplete,
  bD as useColorScheme,
  useControlled,
  useEventCallback,
  useForkRef,
  useFormControl,
  useMediaQuery,
  usePagination,
  useRadioGroup,
  useScrollTrigger,
  useStepContext,
  useStepperContext,
  useTheme,
  u2 as useThemeProps,
  version,
  w2 as withStyles,
  x2 as withTheme
};