@entur-partner/common 10.0.1 → 11.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,9 @@
1
+ import "./BetaTopNavigation.scss";
2
+ import React, { FC, ReactNode } from "react";
3
+ interface BetaTopNavigationProps {
4
+ children: ReactNode;
5
+ as?: "nav" | React.ElementType;
6
+ className?: string;
7
+ }
8
+ export declare const BetaTopNavigation: FC<BetaTopNavigationProps>;
9
+ export {};
@@ -196,6 +196,17 @@ var AuditInfo = function AuditInfo(_ref) {
196
196
  }));
197
197
  };
198
198
 
199
+ var BetaTopNavigation = function BetaTopNavigation(_ref) {
200
+ var _ref$as = _ref.as,
201
+ Component = _ref$as === void 0 ? "nav" : _ref$as,
202
+ className = _ref.className,
203
+ children = _ref.children;
204
+ var classList = cx([className]);
205
+ return React.createElement(Component, {
206
+ className: classList
207
+ }, " ", children);
208
+ };
209
+
199
210
  var Breadcrumbs = function Breadcrumbs(_ref) {
200
211
  var prependBreadcrumbItem = _ref.prependBreadcrumbItem,
201
212
  pathname = _ref.pathname,
@@ -1110,6 +1121,7 @@ exports.ActionBar = ActionBar;
1110
1121
  exports.ActionBarLeft = ActionBarLeft;
1111
1122
  exports.ActionBarRight = ActionBarRight;
1112
1123
  exports.AuditInfo = AuditInfo;
1124
+ exports.BetaTopNavigation = BetaTopNavigation;
1113
1125
  exports.Box = Box;
1114
1126
  exports.Breadcrumbs = Breadcrumbs;
1115
1127
  exports.ConfirmModal = ConfirmModal;
@@ -1 +1 @@
1
- {"version":3,"file":"common.cjs.development.js","sources":["../src/ActionBar.tsx","../src/FormatDateTime.tsx","../src/Box.tsx","../src/Stack.tsx","../src/AuditInfo.tsx","../src/Breadcrumbs.tsx","../src/ConfirmModal.tsx","../src/Content.tsx","../src/environment.ts","../src/EnturPartnerLogo.tsx","../src/ErrorBoundary.tsx","../src/ExpandableMultiLanguageInput.tsx","../src/FeatureToggle.tsx","../src/FormatCurrencyAmount.tsx","../src/LanguageSelect.tsx","../src/Link.tsx","../src/LinkButton.tsx","../src/Menu.tsx","../src/MultiLanguageInput.tsx","../src/OrganisationDropdown.tsx","../src/Pager.tsx","../src/PageTitle.tsx","../src/PermissionCheck.tsx","../src/RouteLeavingGuard.tsx","../src/StatusLabel.tsx","../src/Text.tsx","../src/Unbutton.tsx","../src/UserMenu/components/CustomOverflowMenuItem.tsx","../src/UserMenu/components/CookieSettingsMenuItem.tsx","../src/UserMenu/useOutsideClick.ts","../src/UserMenu/components/CustomOverflowMenu.tsx","../src/UserMenu/components/LanguageSwitchMenuItem.tsx","../src/UserMenu/components/LogOutMenuItem.tsx","../src/UserMenu/components/UserMenuItem.tsx","../src/UserMenu/components/VersionMenuItem.tsx","../src/UserMenu/index.tsx","../src/useEventListener.ts"],"sourcesContent":["import \"./ActionBar.scss\";\nimport React, { type ReactNode } from \"react\";\n\nexport interface ActionBarProps {\n\tchildren: ReactNode;\n}\n\nconst ActionBarLeft = ({ children }: ActionBarProps) => {\n\treturn <div className=\"eps-action-bar-left\">{children}</div>;\n};\n\nconst ActionBarRight = ({ children }: ActionBarProps) => {\n\treturn <div className=\"eps-action-bar-right\">{children}</div>;\n};\n\nconst ActionBar = ({ children }: ActionBarProps) => {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"eps-action-bar-padding\" />\n\t\t\t<div className=\"eps-action-bar\">{children}</div>\n\t\t</>\n\t);\n};\n\nexport { ActionBar, ActionBarLeft, ActionBarRight };\n","import { localeDate, localeDateTime } from \"@entur-partner/util\";\nimport React, { type FC } from \"react\";\n\nexport interface FormatDateTimeProps {\n\tdate: string | Date;\n\tlocale: string;\n\t// biome-ignore lint/suspicious/noExplicitAny: Ignore for now.\n\t[key: string]: any;\n}\n\nexport const FormatDateTime: FC<FormatDateTimeProps> = ({\n\tdate,\n\tlocale,\n\tas: Component = \"main\",\n\thideTime,\n\t...rest\n}) => {\n\treturn (\n\t\t<Component {...rest}>\n\t\t\t{hideTime ? localeDate(date, locale) : localeDateTime(date, locale)}\n\t\t</Component>\n\t);\n};\n","import \"./Box.scss\";\n\nimport cx from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport React from \"react\";\n\ntype StyleSpacing =\n\t| \"none\"\n\t| \"extraSmall2\"\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\"\n\t| \"extraLarge5\"\n\t| \"extraLarge6\"\n\t| \"extraLarge7\"\n\t| \"extraLarge8\"\n\t| \"extraLarge9\";\n\ntype StyleMargin = StyleSpacing | \"auto\";\n\ntype StyleDisplay = \"block\" | \"flex\" | \"inline\" | \"inline-block\";\ntype StyleJustifyContent = \"center\" | \"space-between\" | \"start\" | \"end\";\ntype StyleAlignItems = \"center\" | \"start\" | \"end\" | \"stretch\" | \"baseline\";\n\ntype StyleMaxWidth =\n\t| \"none\"\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\"\n\t| \"extraLarge5\"\n\t| \"extraLarge6\"\n\t| \"full\";\ntype StyleWidth = \"auto\" | \"full\";\n\nexport type StyleBackground = \"blue\" | \"lavender\" | \"white\" | \"blue70\";\nexport type StyleColor = \"blue\" | \"lavender\" | \"white\" | \"black\";\n\ntype StyleFlexDirection = \"row\" | \"column\" | \"row-reverse\" | \"column-reverse\";\ntype StyleFlexWrap = \"wrap\" | \"nowrap\" | \"wrap-reverse\";\n\nexport type ResponsiveStyleSpacing =\n\t| StyleSpacing\n\t| [StyleSpacing?, StyleSpacing?, StyleSpacing?];\nexport type ResponsiveStyleMargin =\n\t| StyleMargin\n\t| [StyleMargin?, StyleMargin?, StyleMargin?];\n\nexport type ResponsiveStyleDisplay =\n\t| StyleDisplay\n\t| [StyleDisplay?, StyleDisplay?, StyleDisplay?];\nexport type ResponsiveStyleJustifyContent =\n\t| StyleJustifyContent\n\t| [StyleJustifyContent?, StyleJustifyContent?, StyleJustifyContent?];\nexport type ResponsiveStyleAlignItems =\n\t| StyleAlignItems\n\t| [StyleAlignItems?, StyleAlignItems?, StyleAlignItems?];\n\nexport type ResponsiveStyleMaxWidth =\n\t| StyleMaxWidth\n\t| [StyleMaxWidth?, StyleMaxWidth?, StyleMaxWidth?];\nexport type ResponsiveStyleWidth =\n\t| StyleWidth\n\t| [StyleWidth?, StyleWidth?, StyleWidth?];\n\nexport type ResponsiveStyleFlexDirection =\n\t| StyleFlexDirection\n\t| [StyleFlexDirection?, StyleFlexDirection?, StyleFlexDirection?];\nexport type ResponsiveStyleFlexWrap =\n\t| StyleFlexWrap\n\t| [StyleFlexWrap?, StyleFlexWrap?, StyleFlexWrap?];\n\nexport interface BoxProps {\n\tclassName?: string;\n\tas?: React.ElementType;\n\t[key: string]: object | string | number | boolean | undefined | ReactNode;\n\tchildren: ReactNode;\n\n\tcontrast?: boolean;\n\n\tpaddingTop?: ResponsiveStyleSpacing;\n\tpaddingRight?: ResponsiveStyleSpacing;\n\tpaddingBottom?: ResponsiveStyleSpacing;\n\tpaddingLeft?: ResponsiveStyleSpacing;\n\tpaddingX?: ResponsiveStyleSpacing;\n\tpaddingY?: ResponsiveStyleSpacing;\n\tpadding?: ResponsiveStyleSpacing;\n\n\tmarginTop?: ResponsiveStyleMargin;\n\tmarginRight?: ResponsiveStyleMargin;\n\tmarginBottom?: ResponsiveStyleMargin;\n\tmarginLeft?: ResponsiveStyleMargin;\n\tmarginX?: ResponsiveStyleMargin;\n\tmarginY?: ResponsiveStyleMargin;\n\tmargin?: ResponsiveStyleMargin;\n\n\tdisplay?: ResponsiveStyleDisplay;\n\tjustifyContent?: ResponsiveStyleJustifyContent;\n\talignItems?: ResponsiveStyleAlignItems;\n\n\tmaxWidth?: ResponsiveStyleMaxWidth;\n\twidth?: ResponsiveStyleWidth;\n\tbackground?: StyleBackground;\n\tcolor?: StyleColor;\n\n\tflexDirection?: ResponsiveStyleFlexDirection;\n\tflexWrap?: ResponsiveStyleFlexWrap;\n}\n\ntype ResponsiveProp = string | [string?, string?, string?];\n\nexport function responsiveProp(prefix: string, prop: ResponsiveProp): string[] {\n\tif (Array.isArray(prop)) {\n\t\tconst classes = [];\n\t\tprop[0] && classes.push(prefix + prop[0]);\n\t\tprop[1] && classes.push(`${prefix}${prop[1]}-lg`);\n\t\tprop[2] && classes.push(`${prefix}${prop[2]}-xl`);\n\t\treturn classes;\n\t}\n\treturn [prefix + prop];\n}\n\nexport const Box = ({\n\tas: Component = \"div\",\n\tchildren,\n\tcontrast,\n\tpaddingTop,\n\tpaddingRight,\n\tpaddingBottom,\n\tpaddingLeft,\n\tpaddingX,\n\tpaddingY,\n\tpadding,\n\tmarginTop,\n\tmarginRight,\n\tmarginBottom,\n\tmarginLeft,\n\tmarginX,\n\tmarginY,\n\tmargin,\n\tdisplay,\n\tjustifyContent,\n\talignItems,\n\tmaxWidth,\n\twidth,\n\tbackground,\n\tcolor,\n\tflexDirection,\n\tflexWrap,\n\tclassName,\n\t...rest\n}: BoxProps) => {\n\tconst classes = [];\n\tconst resolvedPaddingTop = paddingTop || paddingY || padding;\n\tconst resolvedPaddingBottom = paddingBottom || paddingY || padding;\n\tconst resolvedPaddingLeft = paddingLeft || paddingX || padding;\n\tconst resolvedPaddingRight = paddingRight || paddingX || padding;\n\n\tconst resolvedMarginTop = marginTop || marginY || margin;\n\tconst resolvedMarginBottom = marginBottom || marginY || margin;\n\tconst resolvedMarginLeft = marginLeft || marginX || margin;\n\tconst resolvedMarginRight = marginRight || marginX || margin;\n\n\tcontrast && classes.push(\"eds-contrast\");\n\tresolvedPaddingTop &&\n\t\tclasses.push(...responsiveProp(\"eps-pt-\", resolvedPaddingTop));\n\tresolvedPaddingBottom &&\n\t\tclasses.push(...responsiveProp(\"eps-pb-\", resolvedPaddingBottom));\n\tresolvedPaddingLeft &&\n\t\tclasses.push(...responsiveProp(\"eps-pl-\", resolvedPaddingLeft));\n\tresolvedPaddingRight &&\n\t\tclasses.push(...responsiveProp(\"eps-pr-\", resolvedPaddingRight));\n\tresolvedMarginTop &&\n\t\tclasses.push(...responsiveProp(\"eps-mt-\", resolvedMarginTop));\n\tresolvedMarginBottom &&\n\t\tclasses.push(...responsiveProp(\"eps-mb-\", resolvedMarginBottom));\n\tresolvedMarginLeft &&\n\t\tclasses.push(...responsiveProp(\"eps-ml-\", resolvedMarginLeft));\n\tresolvedMarginRight &&\n\t\tclasses.push(...responsiveProp(\"eps-mr-\", resolvedMarginRight));\n\n\tdisplay && classes.push(...responsiveProp(\"eps-\", display));\n\tjustifyContent &&\n\t\tclasses.push(...responsiveProp(\"eps-justify-\", justifyContent));\n\tif (alignItems) {\n\t\tclasses.push(...responsiveProp(\"eps-items-\", alignItems));\n\t}\n\n\tmaxWidth && classes.push(...responsiveProp(\"eps-max-w-\", maxWidth));\n\twidth && classes.push(...responsiveProp(\"eps-w-\", width));\n\n\tcolor && classes.push(`eps-color-${color}`);\n\tbackground && classes.push(`eps-bg-${background}`);\n\n\tflexDirection && classes.push(...responsiveProp(\"eps-flex-\", flexDirection));\n\tflexWrap && classes.push(...responsiveProp(\"eps-flex-wrap-\", flexWrap));\n\n\tconst classList = cx(classes, className);\n\n\treturn (\n\t\t<Component className={classList} {...rest}>\n\t\t\t{children}\n\t\t</Component>\n\t);\n};\n","/** biome-ignore-all lint/suspicious/noArrayIndexKey: Ignore for now. Should be tested properly before doing changes */\nimport React, { Children, type ReactNode } from \"react\";\n\nimport { Box, type ResponsiveStyleSpacing } from \"./Box\";\n\nexport interface StackProps {\n\tclassName?: string;\n\tchildren: ReactNode;\n\tspace: ResponsiveStyleSpacing;\n}\n\nexport const Stack = ({ children, space, className }: StackProps) => {\n\tconst stackItems = Children.toArray(children);\n\tif (stackItems.length <= 1) {\n\t\treturn <>{stackItems}</>;\n\t}\n\n\treturn (\n\t\t<div className={className}>\n\t\t\t{stackItems.map((child, index) =>\n\t\t\t\tindex === stackItems.length - 1 ? (\n\t\t\t\t\t<div key={index}>{child}</div>\n\t\t\t\t) : (\n\t\t\t\t\t<Box paddingBottom={space} key={index}>\n\t\t\t\t\t\t{child}\n\t\t\t\t\t</Box>\n\t\t\t\t),\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import \"./AuditInfo.scss\";\n\nimport { isDate, isDateString } from \"@entur-partner/util\";\nimport cx from \"classnames\";\nimport React, { type FC } from \"react\";\n\nimport { FormatDateTime } from \"./FormatDateTime\";\nimport { Stack } from \"./Stack\";\n\ninterface Item {\n\tlabel: string;\n\tvalue: Date | string;\n}\n\nexport interface AuditInfoProps {\n\titems: Item[];\n\tlocale: string;\n\tclassName?: string;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const AuditInfo: FC<AuditInfoProps> = ({\n\titems,\n\tlocale,\n\tclassName,\n\t...rest\n}) => {\n\tconst classNames = cx(\"ep-audit-info\", className);\n\treturn (\n\t\t<div className={classNames} {...rest}>\n\t\t\t{items.map(({ label, value }) => (\n\t\t\t\t<Stack space=\"small\" key={value.toString()}>\n\t\t\t\t\t<div className=\"ep-audit-info-label\">{label}</div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{isDate(value) || isDateString(value) ? (\n\t\t\t\t\t\t\t<FormatDateTime date={value} locale={locale} />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span>{value}</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</Stack>\n\t\t\t))}\n\t\t</div>\n\t);\n};\n","import \"./Breadcrumbs.scss\";\nimport { BreadcrumbItem, BreadcrumbNavigation } from \"@entur/menu\";\nimport { splitUrlPath } from \"@entur-partner/util\";\nimport React, { type FC, type ReactElement } from \"react\";\nimport { Link } from \"react-router-dom\";\n\nexport interface BreadcrumbsProps {\n\tpathname: string;\n\tonBreadcrumbLookup: (path: string) => string | undefined;\n\tprependBreadcrumbItem?: ReactElement;\n}\n\nexport const Breadcrumbs: FC<BreadcrumbsProps> = ({\n\tprependBreadcrumbItem,\n\tpathname,\n\tonBreadcrumbLookup,\n}) => {\n\tconst paths: string[] = splitUrlPath(pathname);\n\n\tconst breadcrumbs = paths\n\t\t.map((path) => ({ title: onBreadcrumbLookup(path), path }))\n\t\t.filter(({ title }) => title !== undefined);\n\n\tconst breadcrumbElements = breadcrumbs.map(({ title, path }, i) => {\n\t\tconst isLast = i === breadcrumbs.length - 1;\n\t\tif (isLast) {\n\t\t\treturn (\n\t\t\t\t<BreadcrumbItem key={path} as={\"span\"}>\n\t\t\t\t\t{title}\n\t\t\t\t</BreadcrumbItem>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<BreadcrumbItem key={path} as={Link} to={path}>\n\t\t\t\t{title}\n\t\t\t</BreadcrumbItem>\n\t\t);\n\t});\n\n\tif (prependBreadcrumbItem) {\n\t\treturn (\n\t\t\t<BreadcrumbNavigation>\n\t\t\t\t{[prependBreadcrumbItem, ...breadcrumbElements]}\n\t\t\t</BreadcrumbNavigation>\n\t\t);\n\t}\n\n\treturn <BreadcrumbNavigation>{breadcrumbElements}</BreadcrumbNavigation>;\n};\n","import \"./ConfirmModal.scss\";\n\nimport { ButtonGroup, PrimaryButton, SecondaryButton } from \"@entur/button\";\nimport { Modal, type ModalProps } from \"@entur/modal\";\nimport { Paragraph } from \"@entur/typography\";\nimport { isString } from \"@entur-partner/util\";\nimport type { FC, ReactNode } from \"react\";\nimport React from \"react\";\n\nimport { Box } from \"./Box\";\n\nexport interface BaseConfirmModalProps extends Partial<ModalProps> {\n\ttitle: string;\n\tchildren: React.ReactNode;\n\tcloseLabel: string;\n\n\t/** Deprecated use children prop */\n\tmessage?: ReactNode;\n\t/** Deprecated use open prop */\n\tisOpen?: boolean;\n\t/** Deprecated use onDismiss prop */\n\tonClose?: () => void;\n}\n\ninterface CustomConfirmModalButtons extends BaseConfirmModalProps {\n\tbuttons: ReactNode[];\n}\n\ninterface DefaultConfirmModalHandler extends BaseConfirmModalProps {\n\tonConfirm: () => void;\n\tmessages: {\n\t\tconfirm: string;\n\t\tcancel: string;\n\t};\n}\n\nexport type ConfirmModalProps =\n\t| CustomConfirmModalButtons\n\t| DefaultConfirmModalHandler;\n\nexport const ConfirmModal: FC<ConfirmModalProps> = ({\n\tisOpen = false,\n\tchildren,\n\tmessage,\n\tsize = \"medium\",\n\tbuttons,\n\tonConfirm,\n\tmessages,\n\tonClose,\n\tonDismiss,\n\t...rest\n}) => {\n\tconst childrenToRender = children ? children : message;\n\tconst handleDismiss = onClose ? onClose : onDismiss;\n\treturn (\n\t\t<Modal size={size} open={isOpen} onDismiss={handleDismiss} {...rest}>\n\t\t\t{isString(childrenToRender) ? (\n\t\t\t\t<Paragraph>{childrenToRender}</Paragraph>\n\t\t\t) : (\n\t\t\t\t<Box paddingBottom=\"medium\">{childrenToRender}</Box>\n\t\t\t)}\n\n\t\t\t<ButtonGroup>\n\t\t\t\t{onConfirm ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<SecondaryButton\n\t\t\t\t\t\t\tonClick={handleDismiss}\n\t\t\t\t\t\t\tdata-testid=\"cancel-modal-button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{messages.cancel}\n\t\t\t\t\t\t</SecondaryButton>\n\t\t\t\t\t\t<PrimaryButton\n\t\t\t\t\t\t\tonClick={onConfirm}\n\t\t\t\t\t\t\tdata-testid=\"confirm-modal-button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{messages.confirm}\n\t\t\t\t\t\t</PrimaryButton>\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\tbuttons\n\t\t\t\t)}\n\t\t\t</ButtonGroup>\n\t\t</Modal>\n\t);\n};\n","import \"./Content.scss\";\n\nimport classnames from \"classnames\";\nimport type { FC, ReactNode } from \"react\";\nimport React from \"react\";\n\ninterface ContentProps {\n\tchildren: ReactNode;\n\tas?: \"main\" | React.ElementType;\n\tclassName?: string;\n}\nexport const Content: FC<ContentProps> = ({\n\tas: Component = \"main\",\n\tclassName,\n\tchildren,\n}) => {\n\tconst classList = classnames([\"eps-content\", className]);\n\n\treturn <Component className={classList}>{children}</Component>;\n};\n","export enum Environment {\n\tLocal = \"local\",\n\tDevelopment = \"dev\",\n\tStaging = \"staging\",\n\tProduction = \"prod\",\n}\n\nconst environmentColors: Record<\n\tExclude<Environment, Environment.Production>,\n\tstring\n> = {\n\t[Environment.Local]: \"#B482FB\",\n\t[Environment.Development]: \"#5AC39A\",\n\t[Environment.Staging]: \"#FFCA28\",\n};\n\n/**\n * Gets the color for the given environment. This is the color used for the environment\n * indicator. There is no color for production as it should not have any special environment\n * indication.\n */\nexport const getColorForEnvironment = (\n\tenvironment: Exclude<Environment, Environment.Production>,\n) => environmentColors[environment];\n\nconst humanReadableEnvironment: Record<Environment, string> = {\n\t[Environment.Local]: \"Local\",\n\t[Environment.Development]: \"Dev\",\n\t[Environment.Staging]: \"Staging\",\n\t[Environment.Production]: \"Prod\",\n};\n\nexport const getHumanReadableEnvironment = (environment: Environment) =>\n\thumanReadableEnvironment[environment];\n","import \"./EnturPartnerLogo.scss\";\n\nimport classnames from \"classnames\";\nimport type { FC } from \"react\";\nimport React from \"react\";\n\nimport { Environment, getColorForEnvironment } from \"./environment\";\n\ninterface LogoProps {\n\ttitle: string;\n\tclassName?: string;\n\taccentColor?: string;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const EnturPartnerLogoSvg: FC<LogoProps> = ({\n\ttitle,\n\taccentColor = \"#FF5959\",\n\t...rest\n}) => {\n\treturn (\n\t\t<svg width={257} height={37} viewBox=\"0 0 257 37\" {...rest}>\n\t\t\t<title>{title}</title>\n\t\t\t<g fill=\"none\" fillRule=\"evenodd\">\n\t\t\t\t<path\n\t\t\t\t\tfill=\"#FFF\"\n\t\t\t\t\td=\"M0 .231V25.72h18.745v-4.318H4.869v-6.163h12.31v-4.318H4.87V4.55h13.876V.231z\"\n\t\t\t\t/>\n\t\t\t\t<path fill={accentColor} d=\"M0 36.408h45.253v-4.32H0z\" />\n\t\t\t\t<path\n\t\t\t\t\tfill=\"#FFF\"\n\t\t\t\t\td=\"M40.384.231v15.425L23.656.231h-.521V25.72h4.869V10.573L44.732 25.72h.521V.23zM69.25 15.238h-7.267v21.17h-4.87v-21.17H49.81V10.92h19.44zM83.863 36.86c-1.646 0-3.142-.255-4.486-.765-1.345-.51-2.493-1.23-3.443-2.159-.95-.928-1.687-2.054-2.208-3.378-.522-1.323-.783-2.797-.783-4.422V10.92h4.869v15.216c0 1.277.209 2.333.626 3.169.417.836.933 1.497 1.548 1.985a5.346 5.346 0 001.982 1.01c.707.186 1.339.278 1.895.278.557 0 1.188-.092 1.896-.279a5.35 5.35 0 001.982-1.01c.614-.487 1.13-1.148 1.548-1.984.417-.836.625-1.892.625-3.169V10.92h4.87v15.216c0 1.625-.256 3.1-.766 4.422-.51 1.324-1.24 2.45-2.19 3.378-.952.929-2.1 1.648-3.444 2.159-1.344.51-2.851.766-4.52.766M104.21 24.047h5.546c1.016 0 1.854-.127 2.513-.383.658-.255 1.179-.592 1.56-1.01.381-.418.641-.888.78-1.41.138-.522.208-1.05.208-1.584 0-.627-.099-1.207-.295-1.741a3.718 3.718 0 00-.901-1.393c-.405-.394-.924-.708-1.56-.94-.636-.232-1.404-.348-2.305-.348h-5.546v8.81zm0 4.248v8.113h-4.87V10.92h11.567c1.3 0 2.49.215 3.57.644 1.08.43 2.004 1.033 2.77 1.81a8.287 8.287 0 011.794 2.787c.43 1.079.645 2.257.645 3.534 0 .952-.128 1.874-.383 2.768-.256.894-.61 1.7-1.063 2.42a7.32 7.32 0 01-1.672 1.863 5.929 5.929 0 01-2.178 1.096l6.339 8.566h-5.808l-5.893-8.113h-4.818z\"\n\t\t\t\t/>\n\t\t\t\t<g fill={accentColor}>\n\t\t\t\t\t<path d=\"M141.051 23.448h5.628c4.185 0 5.989-1.984 5.989-4.942 0-2.742-1.515-4.618-5.989-4.618h-5.628v9.56zm0 3.067v9.776h-3.571V10.75h9.632c6.674 0 9.127 3.211 9.127 7.54 0 4.979-3.102 8.226-9.2 8.226h-5.988zM169.695 28.715c-1.371-.288-2.958-.505-4.401-.505-2.85 0-4.041 1.263-4.041 3.139s1.407 2.706 3.463 2.706c2.49 0 4.979-1.443 4.979-4.221v-1.119zm-4.293-2.958c1.551 0 3.174.253 4.293.469v-.83c0-2.525-1.154-3.896-4.33-3.896-2.164 0-3.824.866-4.942 2.092l-2.02-2.272c1.732-1.66 3.644-2.598 7.07-2.598 5.052 0 7.469 1.876 7.469 7.215v10.354h-3.211V34.02h-.108c-1.082 1.767-3.211 2.705-5.592 2.705-3.32 0-6.241-1.66-6.241-5.303 0-3.103 1.912-5.664 7.612-5.664zM178.965 19.191h3.211v2.886h.108c.938-1.984 2.922-3.355 5.231-3.355.47 0 .938.036 1.335.144l-.144 3.14a6.77 6.77 0 00-1.552-.181c-3.246 0-4.798 2.633-4.798 5.483v8.983h-3.39v-17.1zM199.961 36.291h-1.912c-4.004 0-5.988-.938-5.988-5.772v-8.55h-2.778V19.19h2.778v-4.654h3.355v4.654h4.473v2.778h-4.473v7.973c0 3.427 1.587 3.535 3.319 3.535h1.226v2.814zM219.767 36.291h-3.391V26.84c0-2.778-1.083-5.375-4.257-5.375-3.14 0-5.268 2.597-5.268 6.169v8.658h-3.391v-17.1h3.32v2.814h.143c.794-1.623 3.067-3.283 5.99-3.283 4.941 0 6.854 3.644 6.854 8.081v9.488zM227.847 26.262h10.57c0-2.597-2.272-4.726-5.087-4.726-2.922 0-5.014 1.948-5.483 4.726zm-.036 2.453c.397 3.355 2.633 5.195 5.844 5.195 2.778 0 4.618-1.623 5.484-2.67l2.164 1.804c-1.37 1.913-4.365 3.716-8.045 3.716-4.942 0-8.73-3.535-8.73-8.55 0-5.195 3.752-9.488 8.983-9.488 5.303 0 8.009 4.365 8.009 8.19 0 .649-.036 1.226-.072 1.803H227.81zM246.245 19.191h3.21v2.886h.109c.938-1.984 2.922-3.355 5.231-3.355.469 0 .938.036 1.335.144l-.145 3.14a6.77 6.77 0 00-1.551-.181c-3.247 0-4.798 2.633-4.798 5.483v8.983h-3.391v-17.1z\" />\n\t\t\t\t</g>\n\t\t\t</g>\n\t\t</svg>\n\t);\n};\n\ninterface EnturPartnerLogoProps {\n\taltText: string;\n\tas?: \"div\" | React.ElementType;\n\tclassName?: string;\n\tenvironment?: Environment;\n}\n\nexport const EnturPartnerLogo: FC<EnturPartnerLogoProps> = ({\n\tas: Component = \"nav\",\n\tclassName,\n\taltText,\n\tenvironment,\n}) => {\n\tconst classList = classnames([\"eps-logo-wrapper\", className]);\n\n\treturn (\n\t\t<Component className={classList}>\n\t\t\t<EnturPartnerLogoSvg\n\t\t\t\ttitle={altText}\n\t\t\t\tclassName=\"logo\"\n\t\t\t\taccentColor={\n\t\t\t\t\tenvironment !== undefined && environment !== Environment.Production\n\t\t\t\t\t\t? getColorForEnvironment(environment)\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t/>\n\t\t</Component>\n\t);\n};\n","import { BannerAlertBox } from \"@entur/alert\";\nimport { PrimaryButton } from \"@entur/button\";\nimport { Paragraph } from \"@entur/typography\";\nimport { isFunction } from \"@entur-partner/util\";\nimport React, { Component, type ErrorInfo, type ReactNode } from \"react\";\nimport { Box } from \"./Box\";\n\ntype FallbackOptions = {\n\tretry: () => void;\n\terror: Error;\n};\n\ntype RenderProp = (options: FallbackOptions) => ReactNode;\n\ntype Props = {\n\thandleError?: (error: Error, errorInfo: ErrorInfo) => void;\n\tfallback: ReactNode | RenderProp;\n\tchildren: ReactNode;\n};\n\ntype State = {\n\terror: null | Error;\n};\n\nconst newAppVersionErrorMessage =\n\t\"Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.\";\n\nexport class ErrorBoundary extends Component<Props, State> {\n\tconstructor(props: Props) {\n\t\tsuper(props);\n\t\tthis.state = { error: null };\n\t}\n\n\tstatic getDerivedStateFromError(error: Error): State {\n\t\treturn {\n\t\t\terror,\n\t\t};\n\t}\n\n\tcomponentDidCatch(error: Error, errorInfo: ErrorInfo) {\n\t\t// React always logs in development\n\t\tthis.props.handleError?.(error, errorInfo);\n\t}\n\n\trender() {\n\t\tconst { error } = this.state;\n\t\tconst { fallback, children } = this.props;\n\n\t\tif (error) {\n\t\t\tif (isFunction<RenderProp>(fallback)) {\n\t\t\t\treturn fallback({ retry: () => this.setState({ error: null }), error });\n\t\t\t} else if (\n\t\t\t\terror.name === \"NotFoundError\" &&\n\t\t\t\terror.message === newAppVersionErrorMessage\n\t\t\t) {\n\t\t\t\treturn <RefreshBannerInfo />;\n\t\t\t}\n\n\t\t\treturn fallback;\n\t\t}\n\n\t\treturn children;\n\t}\n}\n\nexport const LANGUAGE_STORAGE_KEY = \"EP::locale\";\n\nfunction RefreshBannerInfo() {\n\t// Taken from ./app-shell/src/storage.ts\n\tconst language = localStorage.getItem(LANGUAGE_STORAGE_KEY);\n\tconst isNorwegian = language === \"nb\" || language === \"nb-NO\";\n\treturn (\n\t\t<Box maxWidth=\"large\">\n\t\t\t<BannerAlertBox\n\t\t\t\tvariant=\"info\"\n\t\t\t\ttitle={\n\t\t\t\t\tisNorwegian\n\t\t\t\t\t\t? \"En ny versjon av nettsiden er tilgjengelig.\"\n\t\t\t\t\t\t: \"A new version of the website is available.\"\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<Box paddingBottom=\"medium\">\n\t\t\t\t\t<Paragraph margin=\"none\">\n\t\t\t\t\t\t{isNorwegian ? \"Vennligst oppdater.\" : \"Please refresh.\"}\n\t\t\t\t\t</Paragraph>\n\t\t\t\t</Box>\n\t\t\t\t<PrimaryButton onClick={() => window.location.reload()}>\n\t\t\t\t\t{isNorwegian ? \"Oppdater\" : \"Refresh\"}\n\t\t\t\t</PrimaryButton>\n\t\t\t</BannerAlertBox>\n\t\t</Box>\n\t);\n}\n","import { ExpandablePanel } from \"@entur/expand\";\nimport type { VariantType } from \"@entur/form\";\nimport type { ChangeEvent } from \"react\";\nimport React from \"react\";\n\nimport type { LanguageKey, LanguageOption } from \"./LanguageSelect\";\nimport { Stack } from \"./Stack\";\n\nexport type MultiLanguageValues = Record<LanguageKey, string>;\n\ntype ExpandableMultiLanguageInputProps = {\n\ttitle: string;\n\tinputComponent: React.ElementType;\n\tlanguages: LanguageOption[];\n\tvalues: MultiLanguageValues;\n\tonChange: (values: MultiLanguageValues) => void;\n\tname: string;\n\tvariant?: (lang: LanguageKey) => VariantType;\n\tfeedback?: (lang: LanguageKey) => string;\n\t[key: string]: object | string | number | boolean | undefined;\n};\n\nexport const ExpandableMultiLanguageInput = ({\n\ttitle,\n\tinputComponent: InputComponent,\n\tlanguages,\n\tvalues,\n\tonChange,\n\tname,\n\tvariant,\n\tfeedback,\n\t...rest\n}: ExpandableMultiLanguageInputProps) => {\n\tconst handleOnChange = (language: LanguageKey, value?: string) => {\n\t\tconst changes = { ...values };\n\t\tif (value === \"\" || !value) {\n\t\t\tdelete changes[language];\n\t\t} else {\n\t\t\tchanges[language] = value;\n\t\t}\n\t\tonChange(changes);\n\t};\n\n\treturn (\n\t\t<ExpandablePanel\n\t\t\ttitle={title}\n\t\t\tdefaultOpen\n\t\t\tcontentStyle={{\n\t\t\t\tpadding: \"4px 4px 4px 4px\",\n\t\t\t\tmarginTop: \"16px\",\n\t\t\t\tmarginBottom: \"16px\",\n\t\t\t}}\n\t\t>\n\t\t\t<Stack space=\"medium\">\n\t\t\t\t{languages.map(({ value: langKey, label, required }) => (\n\t\t\t\t\t<InputComponent\n\t\t\t\t\t\tdata-testid={`multi-lang-input-${name}-${langKey}`}\n\t\t\t\t\t\tkey={title + langKey}\n\t\t\t\t\t\tlabel={required ? `${label}*` : label}\n\t\t\t\t\t\tvariant={variant?.(langKey)}\n\t\t\t\t\t\tfeedback={feedback?.(langKey)}\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tonChange={(e: ChangeEvent<HTMLInputElement>) => {\n\t\t\t\t\t\t\thandleOnChange(langKey, e.target.value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvalue={values[langKey] || \"\"}\n\t\t\t\t\t\t{...rest}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</Stack>\n\t\t</ExpandablePanel>\n\t);\n};\n","/// <reference types=\"vite/client\" />\nimport React, { type ReactNode } from \"react\";\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the VITE_APP_ prefix.\n */\nexport function featureFlag(flag: string): boolean {\n\treturn (\n\t\timport.meta.env[`VITE_APP_${flag}`] === \"true\" ||\n\t\twindow.localStorage?.getItem(flag) === \"true\" ||\n\t\twindow.localStorage?.getItem(`VITE_APP_${flag}`) === \"true\"\n\t);\n}\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the VITE_APP_ prefix.\n */\nexport function useFeatureToggle(flag: string): boolean {\n\treturn featureFlag(flag);\n}\n\nexport interface FeatureToggleProps {\n\t/** Visible if flag exist, hidden if not.*/\n\tchildren: ReactNode;\n\t/** Case sensitive flag. If it is an environment variable\n\t * you can drop the VITE_APP_ prefix. */\n\tflag: string;\n}\n\nexport const FeatureToggle = ({ children, flag }: FeatureToggleProps) => {\n\tconst feature = useFeatureToggle(flag);\n\tif (feature) {\n\t\treturn <>{children}</>;\n\t}\n\treturn null;\n};\n","import type { FC } from \"react\";\nimport React from \"react\";\n\nexport interface FormatCurrencyAmountProps {\n\tamount: number | string;\n\tas?: \"span\" | React.ElementType;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const FormatCurrencyAmount: FC<FormatCurrencyAmountProps> = ({\n\tamount,\n\tas: Component = \"span\",\n\t...rest\n}) => {\n\tconst parsedAmount = Number(amount) || 0;\n\n\tconst formattedAmount = new Intl.NumberFormat(\"nb-NO\", {\n\t\tmaximumFractionDigits: 2,\n\t\tminimumFractionDigits: 2,\n\t}).format(parsedAmount);\n\n\treturn <Component {...rest}>{formattedAmount}</Component>;\n};\n","import \"./LanguageSelect.scss\";\n\nimport { SegmentedChoice, SegmentedControl } from \"@entur/form\";\nimport { assertIsDefined } from \"@entur-partner/util\";\nimport cx from \"classnames\";\nimport React, { type FC } from \"react\";\n\nexport type LanguageKey = \"nob\" | \"nno\" | \"eng\";\n\nexport interface LanguageOption {\n\tvalue: LanguageKey;\n\tlabel: string;\n\trequired: boolean;\n}\n\nexport interface LanguageSelectProps {\n\tlanguage: string;\n\toptions: LanguageOption[];\n\tclassName?: string;\n\tonChange: (language: string) => void;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const LanguageSelect: FC<LanguageSelectProps> = ({\n\tlanguage,\n\toptions,\n\tclassName,\n\tonChange,\n\t...rest\n}) => {\n\tconst classNames = cx(\"eps-language-select\", className);\n\treturn (\n\t\t<div {...rest} className={classNames}>\n\t\t\t<SegmentedControl\n\t\t\t\tonChange={(language) => {\n\t\t\t\t\tassertIsDefined(language);\n\t\t\t\t\tonChange(language);\n\t\t\t\t}}\n\t\t\t\tselectedValue={language}\n\t\t\t>\n\t\t\t\t{options.map((option) => (\n\t\t\t\t\t<SegmentedChoice key={option.value} value={option.value}>\n\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t{option.required && <span className=\"asterisk-margin\">{\"*\"}</span>}\n\t\t\t\t\t</SegmentedChoice>\n\t\t\t\t))}\n\t\t\t</SegmentedControl>\n\t\t</div>\n\t);\n};\n","import { Link as A } from \"@entur/typography\";\nimport React, { type FC } from \"react\";\nimport { type LinkProps, Link as RouterLink } from \"react-router-dom\";\n\ninterface Props extends LinkProps {}\n\nexport const Link: FC<Props> = (props) => {\n\treturn (\n\t\t<A {...props} as={RouterLink}>\n\t\t\t{props.children}\n\t\t</A>\n\t);\n};\n","import \"./LinkButton.scss\";\n\nimport { Link } from \"@entur/typography\";\nimport cx from \"classnames\";\nimport React, { type ReactNode } from \"react\";\n\nexport interface LinkButtonProps {\n\tchildren: ReactNode;\n\tclassName?: string;\n\t[key: string]: object | string | number | boolean | undefined | ReactNode;\n}\n\nexport const LinkButton = ({\n\tchildren,\n\tclassName,\n\t...rest\n}: LinkButtonProps) => (\n\t<Link {...rest} as=\"button\" className={cx(\"eps-link-button\", className)}>\n\t\t{children}\n\t</Link>\n);\n","import \"./Menu.scss\";\n\nimport classnames from \"classnames\";\nimport type { FC, ReactNode } from \"react\";\nimport React from \"react\";\n\ninterface MenuProps {\n\tchildren: ReactNode;\n\tas?: \"div\" | React.ElementType;\n\tclassName?: string;\n}\nexport const Menu: FC<MenuProps> = ({\n\tas: Component = \"nav\",\n\tclassName,\n\tchildren,\n}) => {\n\tconst classList = classnames([\"eds-contrast\", \"eps-menu\", className]);\n\n\treturn <Component className={classList}>{children}</Component>;\n};\n","import \"./MultiLanguageInput.scss\";\n\nimport type { VariantType } from \"@entur/form\";\nimport cx from \"classnames\";\nimport React, {\n\ttype ChangeEvent,\n\ttype FC,\n\ttype FocusEvent,\n\tuseState,\n} from \"react\";\nimport { type LanguageOption, LanguageSelect } from \"./LanguageSelect\";\nimport { Stack } from \"./Stack\";\n\ntype Values = { [key: string]: string };\n\nexport interface MultiLanguageInputProps {\n\tclassName?: string;\n\tonBlur?: (e: FocusEvent<HTMLDivElement>) => void;\n\tinputComponent: React.ElementType;\n\tvalues: { [key: string]: string };\n\tlanguages: LanguageOption[];\n\tonChange: (values: Values) => void;\n\tname: string;\n\talertLevel?: VariantType;\n\talertLabel?: string;\n\tlabel?: string;\n\tdefaultLanguage?: string;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n/**\n * @deprecated use ExpandableMultiLanguageInput\n */\nexport const MultiLanguageInput: FC<MultiLanguageInputProps> = ({\n\tclassName,\n\tinputComponent: InputComponent,\n\talertLabel,\n\talertLevel,\n\tname,\n\tlanguages,\n\tvalues,\n\tonChange,\n\tdefaultLanguage = \"nob\",\n\tlabel = \"\",\n\tonBlur = () => {},\n\t...rest\n}) => {\n\tconst [language, setLanguage] = useState(defaultLanguage);\n\tconst classNames = cx(\"multi-language-input\", className);\n\tconst currentValue = values[language];\n\n\tconst handleOnBlur = (e: FocusEvent<HTMLDivElement>) => {\n\t\te.persist();\n\t\tconst currentTarget = e.currentTarget;\n\t\tsetTimeout(() => {\n\t\t\tif (currentTarget && !currentTarget.contains(document.activeElement)) {\n\t\t\t\tonBlur(e);\n\t\t\t}\n\t\t}, 0);\n\t};\n\n\tconst handleLanguageChange = (language: string) => {\n\t\tsetLanguage(language);\n\t};\n\n\tconst handleOnChange = (value?: string) => {\n\t\tconst changes = Object.assign({}, values);\n\t\tif (value === \"\" || !value) {\n\t\t\tdelete changes[language];\n\t\t} else {\n\t\t\tchanges[language] = value;\n\t\t}\n\t\tonChange(changes);\n\t};\n\n\treturn (\n\t\t// biome-ignore lint/a11y/noStaticElementInteractions: Legacy component\n\t\t<div\n\t\t\tclassName={classNames}\n\t\t\t// biome-ignore lint/a11y/noNoninteractiveTabindex: Legacy component\n\t\t\ttabIndex={0}\n\t\t\tonBlur={handleOnBlur}\n\t\t\tdata-testid={`multi-lang-input-${name}`}\n\t\t>\n\t\t\t<Stack space=\"extraSmall\">\n\t\t\t\t<LanguageSelect\n\t\t\t\t\tlanguage={language}\n\t\t\t\t\toptions={languages}\n\t\t\t\t\tonChange={(lang) => handleLanguageChange(lang)}\n\t\t\t\t/>\n\t\t\t\t<InputComponent\n\t\t\t\t\tlabel={label}\n\t\t\t\t\tvariant={alertLevel}\n\t\t\t\t\tfeedback={alertLabel}\n\t\t\t\t\tname={name}\n\t\t\t\t\tclassName=\"language-item\"\n\t\t\t\t\tonChange={(e: ChangeEvent<HTMLInputElement>) =>\n\t\t\t\t\t\thandleOnChange(e.target.value)\n\t\t\t\t\t}\n\t\t\t\t\tvalue={currentValue || \"\"}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t</Stack>\n\t\t</div>\n\t);\n};\n","import { SearchableDropdown } from \"@entur/dropdown\";\nimport React, { type FC, useEffect, useState } from \"react\";\n\ninterface OrganisationV3 {\n\torganisationId: number;\n\ttradingName: string;\n}\n\ninterface OrganisationDropDownProps {\n\tlabel: string;\n\tonChange: (organisationId: number) => void;\n\torganisations: OrganisationV3[];\n\tselectedOrganisationId?: number;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const OrganisationDropDown: FC<OrganisationDropDownProps> = ({\n\tlabel,\n\torganisations,\n\tonChange: handleChange,\n\tselectedOrganisationId,\n\t...rest\n}) => {\n\tconst [selectedOrganisation, setSelectedOrganisation] =\n\t\tuseState<OrganisationV3>();\n\n\tuseEffect(() => {\n\t\tsetSelectedOrganisation(\n\t\t\torganisations.find(\n\t\t\t\t(org) => org.organisationId === selectedOrganisationId,\n\t\t\t),\n\t\t);\n\t}, [selectedOrganisationId, organisations]);\n\n\treturn (\n\t\t<SearchableDropdown\n\t\t\tlabel={label}\n\t\t\titems={[\n\t\t\t\t...organisations\n\t\t\t\t\t.sort((a, b) => a.tradingName.localeCompare(b.tradingName, \"nb\"))\n\t\t\t\t\t.map((organisation) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tvalue: organisation.organisationId,\n\t\t\t\t\t\t\tlabel: organisation.tradingName,\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t]}\n\t\t\tselectedItem={\n\t\t\t\tselectedOrganisation\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tvalue: selectedOrganisation.organisationId,\n\t\t\t\t\t\t\tlabel: selectedOrganisation.tradingName,\n\t\t\t\t\t\t}\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\tonChange={(selectedValue) => {\n\t\t\t\tif (selectedValue) {\n\t\t\t\t\thandleChange(selectedValue.value);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tclearable={false}\n\t\t\t{...rest}\n\t\t/>\n\t);\n};\n","import { Pagination } from \"@entur/menu\";\nimport React, { type FC } from \"react\";\n\nexport interface PagerProps {\n\tcurrentPage: number;\n\tcollectionSize: number;\n\tpageSize: number;\n\tonPageChange: (page: number) => void;\n}\n\nexport const Pager: FC<PagerProps> = ({\n\tcollectionSize,\n\tpageSize,\n\tonPageChange,\n\tcurrentPage,\n}) => {\n\tconst pageCount = Math.ceil(collectionSize / pageSize);\n\treturn (\n\t\t<Pagination\n\t\t\tpageCount={pageCount}\n\t\t\tcurrentPage={currentPage}\n\t\t\tonPageChange={(page) => {\n\t\t\t\tonPageChange(page);\n\t\t\t}}\n\t\t/>\n\t);\n};\n","import { splitUrlPath } from \"@entur-partner/util\";\nimport { useEffect } from \"react\";\n\ntype DocumentTitleProps = {\n\ttitle: string;\n\tsuffix?: string;\n};\n\nexport const useDocumentTitle = ({ title, suffix }: DocumentTitleProps) => {\n\tuseEffect(() => {\n\t\tif (suffix) {\n\t\t\tdocument.title = `${title}${suffix}`;\n\t\t} else {\n\t\t\tdocument.title = title;\n\t\t}\n\t}, [title, suffix]);\n};\n\ntype Props = {\n\treadonly pathname: string;\n\treadonly onBreadcrumbLookup: (path: string) => string | undefined;\n\treadonly appTitle?: string;\n};\n\nexport const PageTitle = ({\n\tpathname,\n\tonBreadcrumbLookup,\n\tappTitle = \"Entur Partner\",\n}: Props) => {\n\tconst paths: string[] = splitUrlPath(pathname);\n\n\tconst pageTitles = paths\n\t\t.map((path) => ({ title: onBreadcrumbLookup(path), path }))\n\t\t.filter(({ title }) => title !== undefined)\n\t\t.map(({ title }) => title)\n\t\t.reverse()\n\t\t.join(\" | \");\n\n\tconst title = pageTitles ? `${pageTitles} | ${appTitle}` : appTitle;\n\n\tuseDocumentTitle({ title });\n\n\treturn null;\n};\n","import type { BusinessCapability } from \"@entur-partner/permission-client-node\";\nimport { hasAllPermissions, hasOneOfPermissions } from \"@entur-partner/util\";\nimport React, { type FC, type ReactNode } from \"react\";\n\n/**\n * Note: We use BusinessCapability here, not because we only want to check\n * BusinessCapabilities but because it represents a minimal subset of what we\n * need to check.\n */\nexport interface PermissionCheckProps {\n\tchildren: ReactNode;\n\t/** User permissions to check */\n\tpermissions: BusinessCapability[];\n\t/** Check that at least one of the permissions is present */\n\toneOf?: BusinessCapability[];\n\t/** Check that all of the permissions is present */\n\tall?: BusinessCapability[] | BusinessCapability;\n\t/** Rendered if check fails. Defaults to null */\n\tfallback?: ReactNode;\n}\n\n/**\n * Note: This component uses BusinessCapability, not because we only want to\n * check BusinessCapabilities but because it represents a minimal subset of\n * what we need to check.\n */\nexport const PermissionCheck: FC<PermissionCheckProps> = ({\n\tchildren,\n\tfallback = null,\n\tpermissions,\n\toneOf = [],\n\tall = [],\n}) => {\n\tconst allIsAllowed = hasAllPermissions(all, permissions);\n\n\tconst oneOfIsAllowed = hasOneOfPermissions(oneOf, permissions);\n\n\tconst allowed = allIsAllowed && oneOfIsAllowed;\n\treturn <>{allowed ? children : fallback}</>;\n};\n","import type { ModalProps } from \"@entur/modal\";\nimport { assertIsDefined } from \"@entur-partner/util\";\nimport type { Location } from \"history\";\nimport React, { type FC, type ReactNode } from \"react\";\nimport { useBlocker, useInRouterContext } from \"react-router-dom\";\n\nimport { ConfirmModal } from \"./ConfirmModal\";\n\nexport interface RouteLeavingGuardProps extends Partial<ModalProps> {\n\ttitle: string;\n\tcloseLabel: string;\n\tmessages: {\n\t\tcancel: string;\n\t\tconfirm: string;\n\t};\n\tchildren: ReactNode;\n\tshouldBlockNavigation: (location: Location) => boolean;\n}\n\nexport const RouteLeavingGuard: FC<RouteLeavingGuardProps> = ({\n\tchildren,\n\tshouldBlockNavigation,\n\t...rest\n}) => {\n\tassertIsDefined(\n\t\tuseInRouterContext() ? true : undefined,\n\t\t`RouteLeavingGuard must be used within a data router.`,\n\t);\n\n\tconst blocker = useBlocker(\n\t\t({ currentLocation, nextLocation }) =>\n\t\t\tcurrentLocation.pathname !== nextLocation.pathname &&\n\t\t\tshouldBlockNavigation(nextLocation),\n\t);\n\n\treturn (\n\t\t<ConfirmModal\n\t\t\tonDismiss={() => {\n\t\t\t\tif (blocker.state === \"blocked\") {\n\t\t\t\t\tblocker.reset();\n\t\t\t\t}\n\t\t\t}}\n\t\t\topen={blocker.state === \"blocked\"}\n\t\t\tonConfirm={() => {\n\t\t\t\tif (blocker.state === \"blocked\") {\n\t\t\t\t\tblocker.proceed();\n\t\t\t\t}\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</ConfirmModal>\n\t);\n};\n","import \"./StatusLabel.scss\";\n\nimport cx from \"classnames\";\nimport React, { type FC } from \"react\";\n\ninterface StatusLabelProps {\n\tlabel: string;\n\tactive: boolean;\n\taggressiveInactive?: boolean;\n\tshowBullet?: boolean;\n\tcenter?: boolean;\n}\nexport const StatusLabel: FC<StatusLabelProps> = ({\n\tactive = false,\n\tlabel = \"\",\n\taggressiveInactive,\n\tshowBullet,\n\tcenter,\n}) => {\n\tconst bulletClassNames = cx(\"eps-status-label__bullet\", {\n\t\tactive,\n\t\taggressive: aggressiveInactive,\n\t});\n\tconst statusLabelClassNames = cx(\"eps-status-label\", {\n\t\tcenter,\n\t});\n\treturn (\n\t\t<div className={statusLabelClassNames}>\n\t\t\t{showBullet && <div className={bulletClassNames} />}\n\t\t\t<div>{label}</div>\n\t\t</div>\n\t);\n};\n","import \"./Text.scss\";\n\nimport cx from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport React from \"react\";\n\nimport { Box, responsiveProp, type StyleColor } from \"./Box\";\n\ntype StyleFontSize =\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\";\n\ntype StyleFontWeight = \"body\" | \"heading\";\n\ntype StyleLineHeight =\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\"\n\t| \"extraLarge5\"\n\t| \"extraLarge6\"\n\t| \"extraLarge7\";\n\nexport type ResponsiveStyleFontSize =\n\t| StyleFontSize\n\t| [StyleFontSize?, StyleFontSize?, StyleFontSize?];\n\nexport type ResponsiveStyleLineHeight =\n\t| StyleLineHeight\n\t| [StyleLineHeight?, StyleLineHeight?, StyleLineHeight?];\n\nexport interface TextProps {\n\tclassName?: string;\n\tas?: React.ElementType;\n\tchildren: ReactNode;\n\tfontSize?: ResponsiveStyleFontSize;\n\tlineHeight?: ResponsiveStyleLineHeight;\n\tcolor?: StyleColor;\n\tfontWeight?: StyleFontWeight;\n\t// biome-ignore lint/suspicious/noExplicitAny: Ignore for now.\n\t[key: string]: any;\n}\n\nexport const Text = ({\n\tas: component = \"span\",\n\tchildren,\n\tfontSize,\n\tcolor,\n\tlineHeight,\n\tfontWeight,\n\tclassName,\n\t...rest\n}: TextProps) => {\n\tconst classes = [];\n\n\tfontSize && classes.push(...responsiveProp(\"eps-font-size-\", fontSize));\n\tlineHeight && classes.push(...responsiveProp(\"eps-line-height-\", lineHeight));\n\tfontWeight && classes.push(`eps-font-weight-${fontWeight}`);\n\n\tconst classList = cx(classes, className);\n\n\treturn (\n\t\t<Box as={component} color={color} className={classList} {...rest}>\n\t\t\t{children}\n\t\t</Box>\n\t);\n};\n","import \"./Unbutton.scss\";\n\nimport { Button, type ButtonProps } from \"@entur/button\";\nimport cx from \"classnames\";\nimport React, { type FC } from \"react\";\n\ninterface UnbuttonProps extends Omit<ButtonProps<typeof Button>, \"variant\"> {}\n\nexport const Unbutton: FC<UnbuttonProps> = ({\n\tchildren,\n\tclassName,\n\t...rest\n}) => (\n\t<Button variant=\"primary\" {...rest} className={cx(\"eps-unbutton\", className)}>\n\t\t{children}\n\t</Button>\n);\n","import \"../index.scss\";\n\nimport cx from \"classnames\";\nimport React from \"react\";\n\nexport const CustomOverflowMenuItem: React.FC<\n\tReact.DetailedHTMLProps<\n\t\tReact.ButtonHTMLAttributes<HTMLButtonElement>,\n\t\tHTMLButtonElement\n\t>\n> = (props) => {\n\treturn (\n\t\t<button\n\t\t\tclassName={cx(props.className, \"eps-overflow-menu__item\")}\n\t\t\trole=\"menuitem\"\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n","import \"../index.scss\";\n\nimport { CookieIcon } from \"@entur/icons\";\nimport React from \"react\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tname: string;\n\tsetOpen: (open: boolean) => void;\n\tonCookieSettingsOpen: () => void;\n};\n\nexport const CookieSettingsMenuItem = ({\n\tname,\n\tsetOpen,\n\tonCookieSettingsOpen,\n}: Props) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={() => {\n\t\t\t\tonCookieSettingsOpen();\n\t\t\t\tsetOpen(false);\n\t\t\t}}\n\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t>\n\t\t\t<span aria-hidden={true}>\n\t\t\t\t<CookieIcon size=\"1rem\" inline />\n\t\t\t</span>\n\t\t\t{name}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import React from \"react\";\n\nexport function useOutsideClick(\n\tref: React.RefObject<HTMLDivElement>,\n\tbuttonRef: React.RefObject<HTMLButtonElement>,\n\thandler: () => void,\n) {\n\tReact.useEffect(() => {\n\t\tconst listener = (event: Event) => {\n\t\t\tif (\n\t\t\t\telementContainsEventTarget(ref.current, event) ||\n\t\t\t\telementContainsEventTarget(buttonRef.current, event)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\thandler();\n\t\t};\n\n\t\tdocument.addEventListener(\"mousedown\", listener);\n\t\tdocument.addEventListener(\"touchstart\", listener);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\"mousedown\", listener);\n\t\t\tdocument.removeEventListener(\"touchstart\", listener);\n\t\t};\n\t}, [ref, buttonRef, handler]);\n}\n\nfunction elementContainsEventTarget(element: HTMLElement | null, event: Event) {\n\tif (!element) {\n\t\treturn false;\n\t}\n\n\tif (element.contains(event.target as Node)) {\n\t\treturn true;\n\t}\n\n\t// For elements inside a Shadow DOM we need to check the composedPath\n\tif (event.composed && event.composedPath) {\n\t\tconst contains = event.composedPath().find((target) => {\n\t\t\tif (target === window) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn element.contains(target as Node);\n\t\t});\n\t\treturn !!contains;\n\t}\n\n\treturn false;\n}\n","import \"../index.scss\";\n\nimport { SecondaryButton } from \"@entur/button\";\nimport { DownArrowIcon, UserIcon } from \"@entur/icons\";\nimport { Heading6 } from \"@entur/typography\";\nimport cx from \"classnames\";\nimport React from \"react\";\n\nimport {\n\tEnvironment,\n\tgetColorForEnvironment,\n\tgetHumanReadableEnvironment,\n} from \"../../environment\";\nimport { useOutsideClick } from \"../useOutsideClick\";\n\nexport const CustomOverflowMenu: React.FC<{\n\tclassName?: string;\n\tchildren: React.ReactNode;\n\tuserName: string;\n\topen: boolean;\n\tonOpenChange: (open: boolean) => void;\n\tenvironment?: Environment;\n}> = ({\n\tclassName,\n\tchildren,\n\tuserName,\n\topen,\n\tonOpenChange,\n\tenvironment,\n\t...rest\n}) => {\n\tconst overflowItemsClasses = cx(\"eps-overflow-menu__group\", {\n\t\t\"eps-overflow-menu__group--open\": open,\n\t});\n\tconst overflowContentRef = React.useRef<HTMLDivElement>(null);\n\tconst overflowMenuTriggerRef = React.useRef<HTMLButtonElement>(null);\n\tuseOutsideClick(overflowContentRef, overflowMenuTriggerRef, () =>\n\t\tonOpenChange(false),\n\t);\n\treturn (\n\t\t<div>\n\t\t\t<SecondaryButton\n\t\t\t\tclassName={cx(\"eps-overflow-menu__button\", className)}\n\t\t\t\tonClick={() => onOpenChange(!open)}\n\t\t\t\taria-haspopup={true}\n\t\t\t\taria-expanded={open}\n\t\t\t\tref={overflowMenuTriggerRef}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div className=\"eps-overflow-menu__button-contents\">\n\t\t\t\t\t<span className=\"eds-overflow-menu__user-icon\">\n\t\t\t\t\t\t<UserIcon inline />\n\t\t\t\t\t</span>\n\t\t\t\t\t<Heading6 margin=\"none\" as=\"span\">\n\t\t\t\t\t\t{userName}\n\t\t\t\t\t\t{environment !== undefined &&\n\t\t\t\t\t\t\tenvironment !== Environment.Production && (\n\t\t\t\t\t\t\t\t<span style={{ color: getColorForEnvironment(environment) }}>\n\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t({getHumanReadableEnvironment(environment)})\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t</Heading6>\n\t\t\t\t\t<span className=\"eps-arrow-icon\">\n\t\t\t\t\t\t<DownArrowIcon inline />\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</SecondaryButton>\n\t\t\t{open && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={overflowItemsClasses}\n\t\t\t\t\trole=\"menu\"\n\t\t\t\t\tref={overflowContentRef}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import \"../index.scss\";\n\nimport { NorwayIcon, UKIcon } from \"@entur/icons\";\nimport React from \"react\";\n\nimport { useFeatureToggle } from \"../../FeatureToggle\";\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tlanguage: string;\n\tonLanguageChange: (language: string) => void;\n\tsetOpen: (open: boolean) => void;\n\tname: string;\n};\n\nexport const LanguageSwitchMenuItem = ({\n\tlanguage,\n\tonLanguageChange,\n\tsetOpen,\n\tname,\n}: Props) => {\n\tconst useB47LanguageKey = useFeatureToggle(\"USE_BCP-47_LANGUAGE_KEY\");\n\tconst norwegianLanguageKey = useB47LanguageKey ? \"nb-NO\" : \"nb\";\n\tconst englishLanguageKey = useB47LanguageKey ? \"en-GB\" : \"en\";\n\n\treturn (\n\t\t<>\n\t\t\t{language === englishLanguageKey ? (\n\t\t\t\t<CustomOverflowMenuItem\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tonLanguageChange(norwegianLanguageKey);\n\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t\t\t>\n\t\t\t\t\t<span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n\t\t\t\t\t\t<NorwayIcon size=\"1rem\" inline />\n\t\t\t\t\t</span>\n\t\t\t\t\t{name}\n\t\t\t\t</CustomOverflowMenuItem>\n\t\t\t) : (\n\t\t\t\t<CustomOverflowMenuItem\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tonLanguageChange(englishLanguageKey);\n\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t\t\t>\n\t\t\t\t\t<span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n\t\t\t\t\t\t<UKIcon size=\"1rem\" inline />\n\t\t\t\t\t</span>\n\t\t\t\t\t{name}\n\t\t\t\t</CustomOverflowMenuItem>\n\t\t\t)}\n\t\t</>\n\t);\n};\n","import \"../index.scss\";\n\nimport { LogOutIcon } from \"@entur/icons\";\nimport React from \"react\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tname: string;\n\tsetOpen: (open: boolean) => void;\n\tonLogout: () => void;\n};\n\nexport const LogOutMenuItem = ({ name, setOpen, onLogout }: Props) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={() => {\n\t\t\t\tonLogout();\n\t\t\t\tsetOpen(false);\n\t\t\t}}\n\t\t\tdata-testid=\"user-menu-logout\"\n\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t>\n\t\t\t<span aria-hidden>\n\t\t\t\t<LogOutIcon size=\"1rem\" inline />\n\t\t\t</span>\n\t\t\t{name}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import \"../index.scss\";\n\nimport { UserIcon } from \"@entur/icons\";\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tname: string;\n\tsetOpen: (open: boolean) => void;\n\tonNavigateToMyProfile: () => void;\n};\n\nexport const UserMenuItem = ({\n\tname,\n\tsetOpen,\n\tonNavigateToMyProfile,\n}: Props) => {\n\treturn (\n\t\t<Link to=\"/permission-admin/my-profile\" style={{ textDecoration: \"none\" }}>\n\t\t\t<CustomOverflowMenuItem\n\t\t\t\tonClick={() => {\n\t\t\t\t\tsetOpen(false);\n\t\t\t\t\tonNavigateToMyProfile();\n\t\t\t\t}}\n\t\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t\t>\n\t\t\t\t<span aria-hidden>\n\t\t\t\t\t<UserIcon size=\"1rem\" inline />\n\t\t\t\t</span>\n\t\t\t\t{name}\n\t\t\t</CustomOverflowMenuItem>\n\t\t</Link>\n\t);\n};\n","import { ChannelsIcon } from \"@entur/icons\";\nimport React from \"react\";\nimport { useNavigate } from \"react-router-dom\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\nexport const VersionMenuItem: React.FC<{\n\ttitle: string;\n\tsetOpen: (isOpen: boolean) => void;\n}> = ({ title, setOpen }) => {\n\tconst navigate = useNavigate(); // Hide useNavigate from standalone micro-frontends because it is not under RouterProvider\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={() => {\n\t\t\t\tnavigate(\"/app-version\");\n\t\t\t\tsetOpen(false);\n\t\t\t}}\n\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t>\n\t\t\t<span aria-hidden>\n\t\t\t\t<ChannelsIcon className=\"eps-version-icon\" size=\"1rem\" inline />\n\t\t\t</span>\n\t\t\t{title}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","/** biome-ignore-all lint/correctness/useUniqueElementIds: Ignore unique id for now */\nimport \"./index.scss\";\n\nimport cx from \"classnames\";\nimport React, { type FC, useState } from \"react\";\n\nimport type { Environment } from \"../environment\";\nimport { CookieSettingsMenuItem } from \"./components/CookieSettingsMenuItem\";\nimport { CustomOverflowMenu } from \"./components/CustomOverflowMenu\";\nimport { LanguageSwitchMenuItem } from \"./components/LanguageSwitchMenuItem\";\nimport { LogOutMenuItem } from \"./components/LogOutMenuItem\";\nimport { UserMenuItem } from \"./components/UserMenuItem\";\nimport { VersionMenuItem } from \"./components/VersionMenuItem\";\n\ninterface UserMenuProps {\n\tuserName: string;\n\tmessages: {\n\t\tlogout: string;\n\t\tswitchLanguage: string;\n\t\tappVersion?: string;\n\t\tmyProfile?: string;\n\t\tcookieSettings?: string;\n\t};\n\tonLogout: () => void;\n\tonLanguageChange: (language: string) => void;\n\tlanguage: string;\n\tclassName?: string;\n\tenvironment?: Environment;\n\tshowVersionItem?: boolean;\n\tshowMyProfileItem?: boolean;\n\tshowCookieSettingsItem?: boolean;\n\tonNavigateToMyProfile: () => void;\n\tonCookieSettingsOpen?: () => void;\n}\n\nexport const UserMenu: FC<UserMenuProps> = ({\n\tclassName,\n\tmessages,\n\tonLogout,\n\tonLanguageChange,\n\tuserName,\n\tlanguage,\n\tenvironment,\n\tshowVersionItem,\n\tshowMyProfileItem,\n\tshowCookieSettingsItem,\n\tonNavigateToMyProfile,\n\tonCookieSettingsOpen = () => {},\n}) => {\n\tconst triggerClassList = cx([\"eps-user-menu__trigger-button\", className]);\n\tconst [open, setOpen] = useState(false);\n\n\treturn (\n\t\t<div id=\"eps-user-menu\">\n\t\t\t<CustomOverflowMenu\n\t\t\t\topen={open}\n\t\t\t\tonOpenChange={setOpen}\n\t\t\t\tclassName={triggerClassList}\n\t\t\t\tuserName={userName}\n\t\t\t\tenvironment={environment}\n\t\t\t>\n\t\t\t\t<div id=\"eps-overflow-menu\">\n\t\t\t\t\t<LanguageSwitchMenuItem\n\t\t\t\t\t\tname={messages.switchLanguage}\n\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\tonLanguageChange={onLanguageChange}\n\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t/>\n\t\t\t\t\t{showVersionItem && messages.appVersion && (\n\t\t\t\t\t\t<VersionMenuItem title={messages.appVersion} setOpen={setOpen} />\n\t\t\t\t\t)}\n\t\t\t\t\t{showMyProfileItem && messages.myProfile && (\n\t\t\t\t\t\t<UserMenuItem\n\t\t\t\t\t\t\tname={messages.myProfile}\n\t\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t\t\tonNavigateToMyProfile={onNavigateToMyProfile}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{showCookieSettingsItem && messages.cookieSettings && (\n\t\t\t\t\t\t<CookieSettingsMenuItem\n\t\t\t\t\t\t\tname={messages.cookieSettings}\n\t\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t\t\tonCookieSettingsOpen={onCookieSettingsOpen}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<LogOutMenuItem\n\t\t\t\t\t\tname={messages.logout}\n\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t\tonLogout={onLogout}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</CustomOverflowMenu>\n\t\t</div>\n\t);\n};\n","/*global EventListener WindowEventHandlers*/\nimport { useEffect, useRef } from \"react\";\n\ntype TypedEventListener<T extends Event> = (evt: T) => void;\n\nexport function useEventListener<T extends Event = Event>(\n\teventName: string,\n\thandler: TypedEventListener<T>,\n\telement: WindowEventHandlers = window,\n) {\n\tconst savedHandler = useRef<TypedEventListener<T>>();\n\n\tuseEffect(() => {\n\t\tsavedHandler.current = handler;\n\t}, [handler]);\n\n\tuseEffect(() => {\n\t\tconst isSupported = element?.addEventListener;\n\t\tif (!isSupported) return;\n\n\t\tconst eventListener = ((event: T): void =>\n\t\t\tsavedHandler.current?.(event)) as EventListener;\n\n\t\telement.addEventListener(eventName, eventListener);\n\n\t\treturn () => {\n\t\t\telement.removeEventListener(eventName, eventListener);\n\t\t};\n\t}, [eventName, element]);\n}\n"],"names":["ActionBarLeft","_ref","children","React","className","ActionBarRight","_ref2","ActionBar","_ref3","createElement","Fragment","FormatDateTime","date","locale","_ref$as","as","Component","hideTime","rest","_objectWithoutPropertiesLoose","_excluded","_extends","localeDate","localeDateTime","responsiveProp","prefix","prop","Array","isArray","classes","push","Box","contrast","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","padding","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","margin","display","justifyContent","alignItems","maxWidth","width","background","color","flexDirection","flexWrap","resolvedPaddingTop","resolvedPaddingBottom","resolvedPaddingLeft","resolvedPaddingRight","resolvedMarginTop","resolvedMarginBottom","resolvedMarginLeft","resolvedMarginRight","apply","classList","cx","Stack","space","stackItems","Children","toArray","length","map","child","index","key","AuditInfo","items","classNames","label","value","toString","isDate","isDateString","Breadcrumbs","prependBreadcrumbItem","pathname","onBreadcrumbLookup","paths","splitUrlPath","breadcrumbs","path","title","filter","undefined","breadcrumbElements","i","isLast","BreadcrumbItem","Link","to","BreadcrumbNavigation","concat","ConfirmModal","_ref$isOpen","isOpen","message","_ref$size","size","buttons","onConfirm","messages","onClose","onDismiss","childrenToRender","handleDismiss","Modal","open","isString","Paragraph","ButtonGroup","SecondaryButton","onClick","cancel","PrimaryButton","confirm","Content","classnames","Environment","environmentColors","_environmentColors","Local","Development","Staging","getColorForEnvironment","environment","humanReadableEnvironment","_humanReadableEnviron","Production","getHumanReadableEnvironment","EnturPartnerLogoSvg","_ref$accentColor","accentColor","height","viewBox","fill","fillRule","d","EnturPartnerLogo","_ref2$as","altText","newAppVersionErrorMessage","ErrorBoundary","_Component","props","_this","call","state","error","_inheritsLoose","getDerivedStateFromError","_proto","prototype","componentDidCatch","errorInfo","_this$props$handleErr","_this$props","handleError","render","_this2","_this$props2","fallback","isFunction","retry","setState","name","RefreshBannerInfo","LANGUAGE_STORAGE_KEY","language","localStorage","getItem","isNorwegian","BannerAlertBox","variant","window","location","reload","ExpandableMultiLanguageInput","InputComponent","inputComponent","languages","values","onChange","feedback","handleOnChange","changes","ExpandablePanel","defaultOpen","contentStyle","langKey","required","e","target","featureFlag","flag","_window$localStorage","_window$localStorage2","import","useFeatureToggle","FeatureToggle","feature","FormatCurrencyAmount","amount","parsedAmount","Number","formattedAmount","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","format","LanguageSelect","options","SegmentedControl","assertIsDefined","selectedValue","option","SegmentedChoice","A","RouterLink","LinkButton","Menu","MultiLanguageInput","alertLabel","alertLevel","_ref$defaultLanguage","defaultLanguage","_ref$label","_ref$onBlur","onBlur","_useState","useState","setLanguage","currentValue","handleOnBlur","persist","currentTarget","setTimeout","contains","document","activeElement","handleLanguageChange","Object","assign","tabIndex","lang","OrganisationDropDown","organisations","handleChange","selectedOrganisationId","selectedOrganisation","setSelectedOrganisation","useEffect","find","org","organisationId","SearchableDropdown","sort","a","b","tradingName","localeCompare","organisation","selectedItem","clearable","Pager","collectionSize","pageSize","onPageChange","currentPage","pageCount","Math","ceil","Pagination","page","useDocumentTitle","suffix","PageTitle","_ref2$appTitle","appTitle","pageTitles","_ref4","reverse","join","PermissionCheck","_ref$fallback","permissions","_ref$oneOf","oneOf","_ref$all","all","allIsAllowed","hasAllPermissions","oneOfIsAllowed","hasOneOfPermissions","allowed","RouteLeavingGuard","shouldBlockNavigation","useInRouterContext","blocker","useBlocker","currentLocation","nextLocation","reset","proceed","StatusLabel","_ref$active","active","aggressiveInactive","showBullet","center","bulletClassNames","aggressive","statusLabelClassNames","Text","component","fontSize","lineHeight","fontWeight","Unbutton","Button","CustomOverflowMenuItem","role","CookieSettingsMenuItem","setOpen","onCookieSettingsOpen","CookieIcon","inline","useOutsideClick","ref","buttonRef","handler","listener","event","elementContainsEventTarget","current","addEventListener","removeEventListener","element","composed","composedPath","CustomOverflowMenu","userName","onOpenChange","overflowItemsClasses","overflowContentRef","useRef","overflowMenuTriggerRef","UserIcon","Heading6","style","DownArrowIcon","LanguageSwitchMenuItem","onLanguageChange","useB47LanguageKey","norwegianLanguageKey","englishLanguageKey","NorwayIcon","UKIcon","LogOutMenuItem","onLogout","LogOutIcon","UserMenuItem","onNavigateToMyProfile","textDecoration","VersionMenuItem","navigate","useNavigate","ChannelsIcon","UserMenu","showVersionItem","showMyProfileItem","showCookieSettingsItem","_ref$onCookieSettings","triggerClassList","id","switchLanguage","appVersion","myProfile","cookieSettings","logout","useEventListener","eventName","savedHandler","_element","isSupported","eventListener"],"mappings":";;;;;;;;;;;;;;;;;;AAOA,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAAoC;AAAA,EAAA,IAA9BC,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;AAChC,EAAA,OAAOC;AAAKC,IAAAA,SAAS,EAAC,qBAAA;GAAuB,EAAAF,QAAQ,CAAO,CAAA;AAC7D,EAAC;AAED,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,KAAA,EAAoC;AAAA,EAAA,IAA9BJ,QAAQ,GAAAI,KAAA,CAARJ,QAAQ,CAAA;AACjC,EAAA,OAAOC;AAAKC,IAAAA,SAAS,EAAC,sBAAA;GAAwB,EAAAF,QAAQ,CAAO,CAAA;AAC9D,EAAC;AAED,IAAMK,SAAS,GAAG,SAAZA,SAASA,CAAAC,KAAA,EAAoC;AAAA,EAAA,IAA9BN,QAAQ,GAAAM,KAAA,CAARN,QAAQ,CAAA;AAC5B,EAAA,OACCC,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,EAAA,IAAA,EACCP,KAAK,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAAL,IAAAA,SAAS,EAAC,wBAAA;AAA2B,GAAA,CAAA,EAC1CD,KAAK,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAAL,IAAAA,SAAS,EAAC,gBAAA;GAAgB,EAAEF,QAAQ,CAAO,CAC9C,CAAA;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICZaS,cAAc,GAA4B,SAA1CA,cAAcA,CAAAV,IAAA,EAMtB;AAAA,EAAA,IALJW,IAAI,GAAAX,IAAA,CAAJW,IAAI;IACJC,MAAM,GAAAZ,IAAA,CAANY,MAAM;IAAAC,OAAA,GAAAb,IAAA,CACNc,EAAE;AAAEC,IAAAA,SAAS,GAAAF,OAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,OAAA;IACtBG,QAAQ,GAAAhB,IAAA,CAARgB,QAAQ;AACLC,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;EAEP,OACCjB,KAAC,CAAAM,aAAA,CAAAO,SAAS,EAAAK,QAAA,CAAA,EAAA,EAAKH,IAAI,CAAA,EACjBD,QAAQ,GAAGK,eAAU,CAACV,IAAI,EAAEC,MAAM,CAAC,GAAGU,mBAAc,CAACX,IAAI,EAAEC,MAAM,CAAC,CACxD,CAAA;AAEd;;;ACkGgB,SAAAW,cAAcA,CAACC,MAAc,EAAEC,IAAoB,EAAA;AAClE,EAAA,IAAIC,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;IACxB,IAAMG,OAAO,GAAG,EAAE,CAAA;AAClBH,IAAAA,IAAI,CAAC,CAAC,CAAC,IAAIG,OAAO,CAACC,IAAI,CAACL,MAAM,GAAGC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACzCA,IAAAA,IAAI,CAAC,CAAC,CAAC,IAAIG,OAAO,CAACC,IAAI,CAAIL,EAAAA,GAAAA,MAAM,GAAGC,IAAI,CAAC,CAAC,CAAC,QAAK,CAAC,CAAA;AACjDA,IAAAA,IAAI,CAAC,CAAC,CAAC,IAAIG,OAAO,CAACC,IAAI,CAAIL,EAAAA,GAAAA,MAAM,GAAGC,IAAI,CAAC,CAAC,CAAC,QAAK,CAAC,CAAA;AACjD,IAAA,OAAOG,OAAO,CAAA;AACf,GAAA;AACA,EAAA,OAAO,CAACJ,MAAM,GAAGC,IAAI,CAAC,CAAA;AACvB,CAAA;IAEaK,GAAG,GAAG,SAANA,GAAGA,CAAA9B,IAAA,EA6BD;AAAA,EAAA,IAAAa,OAAA,GAAAb,IAAA,CA5Bdc,EAAE;AAAEC,IAAAA,SAAS,GAAAF,OAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,OAAA;IACrBZ,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACR8B,QAAQ,GAAA/B,IAAA,CAAR+B,QAAQ;IACRC,UAAU,GAAAhC,IAAA,CAAVgC,UAAU;IACVC,YAAY,GAAAjC,IAAA,CAAZiC,YAAY;IACZC,aAAa,GAAAlC,IAAA,CAAbkC,aAAa;IACbC,WAAW,GAAAnC,IAAA,CAAXmC,WAAW;IACXC,QAAQ,GAAApC,IAAA,CAARoC,QAAQ;IACRC,QAAQ,GAAArC,IAAA,CAARqC,QAAQ;IACRC,OAAO,GAAAtC,IAAA,CAAPsC,OAAO;IACPC,SAAS,GAAAvC,IAAA,CAATuC,SAAS;IACTC,WAAW,GAAAxC,IAAA,CAAXwC,WAAW;IACXC,YAAY,GAAAzC,IAAA,CAAZyC,YAAY;IACZC,UAAU,GAAA1C,IAAA,CAAV0C,UAAU;IACVC,OAAO,GAAA3C,IAAA,CAAP2C,OAAO;IACPC,OAAO,GAAA5C,IAAA,CAAP4C,OAAO;IACPC,MAAM,GAAA7C,IAAA,CAAN6C,MAAM;IACNC,OAAO,GAAA9C,IAAA,CAAP8C,OAAO;IACPC,cAAc,GAAA/C,IAAA,CAAd+C,cAAc;IACdC,UAAU,GAAAhD,IAAA,CAAVgD,UAAU;IACVC,QAAQ,GAAAjD,IAAA,CAARiD,QAAQ;IACRC,KAAK,GAAAlD,IAAA,CAALkD,KAAK;IACLC,UAAU,GAAAnD,IAAA,CAAVmD,UAAU;IACVC,KAAK,GAAApD,IAAA,CAALoD,KAAK;IACLC,aAAa,GAAArD,IAAA,CAAbqD,aAAa;IACbC,QAAQ,GAAAtD,IAAA,CAARsD,QAAQ;IACRnD,SAAS,GAAAH,IAAA,CAATG,SAAS;AACNc,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;EAEP,IAAMS,OAAO,GAAG,EAAE,CAAA;AAClB,EAAA,IAAM2B,kBAAkB,GAAGvB,UAAU,IAAIK,QAAQ,IAAIC,OAAO,CAAA;AAC5D,EAAA,IAAMkB,qBAAqB,GAAGtB,aAAa,IAAIG,QAAQ,IAAIC,OAAO,CAAA;AAClE,EAAA,IAAMmB,mBAAmB,GAAGtB,WAAW,IAAIC,QAAQ,IAAIE,OAAO,CAAA;AAC9D,EAAA,IAAMoB,oBAAoB,GAAGzB,YAAY,IAAIG,QAAQ,IAAIE,OAAO,CAAA;AAEhE,EAAA,IAAMqB,iBAAiB,GAAGpB,SAAS,IAAIK,OAAO,IAAIC,MAAM,CAAA;AACxD,EAAA,IAAMe,oBAAoB,GAAGnB,YAAY,IAAIG,OAAO,IAAIC,MAAM,CAAA;AAC9D,EAAA,IAAMgB,kBAAkB,GAAGnB,UAAU,IAAIC,OAAO,IAAIE,MAAM,CAAA;AAC1D,EAAA,IAAMiB,mBAAmB,GAAGtB,WAAW,IAAIG,OAAO,IAAIE,MAAM,CAAA;AAE5Dd,EAAAA,QAAQ,IAAIH,OAAO,CAACC,IAAI,CAAC,cAAc,CAAC,CAAA;AACxC0B,EAAAA,kBAAkB,IACjB3B,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEgC,kBAAkB,CAAC,CAAC,CAAA;AAC/DC,EAAAA,qBAAqB,IACpB5B,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEiC,qBAAqB,CAAC,CAAC,CAAA;AAClEC,EAAAA,mBAAmB,IAClB7B,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEkC,mBAAmB,CAAC,CAAC,CAAA;AAChEC,EAAAA,oBAAoB,IACnB9B,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEmC,oBAAoB,CAAC,CAAC,CAAA;AACjEC,EAAAA,iBAAiB,IAChB/B,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEoC,iBAAiB,CAAC,CAAC,CAAA;AAC9DC,EAAAA,oBAAoB,IACnBhC,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEqC,oBAAoB,CAAC,CAAC,CAAA;AACjEC,EAAAA,kBAAkB,IACjBjC,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEsC,kBAAkB,CAAC,CAAC,CAAA;AAC/DC,EAAAA,mBAAmB,IAClBlC,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEuC,mBAAmB,CAAC,CAAC,CAAA;AAEhEhB,EAAAA,OAAO,IAAIlB,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,MAAM,EAAEuB,OAAO,CAAC,CAAC,CAAA;AAC3DC,EAAAA,cAAc,IACbnB,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,cAAc,EAAEwB,cAAc,CAAC,CAAC,CAAA;AAChE,EAAA,IAAIC,UAAU,EAAE;AACfpB,IAAAA,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,YAAY,EAAEyB,UAAU,CAAC,CAAC,CAAA;AAC1D,GAAA;AAEAC,EAAAA,QAAQ,IAAIrB,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,YAAY,EAAE0B,QAAQ,CAAC,CAAC,CAAA;AACnEC,EAAAA,KAAK,IAAItB,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,QAAQ,EAAE2B,KAAK,CAAC,CAAC,CAAA;AAEzDE,EAAAA,KAAK,IAAIxB,OAAO,CAACC,IAAI,CAAA,YAAA,GAAcuB,KAAO,CAAC,CAAA;AAC3CD,EAAAA,UAAU,IAAIvB,OAAO,CAACC,IAAI,CAAA,SAAA,GAAWsB,UAAY,CAAC,CAAA;AAElDE,EAAAA,aAAa,IAAIzB,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,WAAW,EAAE8B,aAAa,CAAC,CAAC,CAAA;AAC5EC,EAAAA,QAAQ,IAAI1B,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,gBAAgB,EAAE+B,QAAQ,CAAC,CAAC,CAAA;AAEvE,EAAA,IAAMU,SAAS,GAAGC,EAAE,CAACrC,OAAO,EAAEzB,SAAS,CAAC,CAAA;AAExC,EAAA,OACCD,KAAA,CAAAM,aAAA,CAACO,SAAS,EAAAK,QAAA,CAAA;AAACjB,IAAAA,SAAS,EAAE6D,SAAAA;GAAe/C,EAAAA,IAAI,CACvChB,EAAAA,QAAQ,CACE,CAAA;AAEd;;ACrNA;IAWaiE,KAAK,GAAG,SAARA,KAAKA,CAAAlE,IAAA,EAAkD;AAAA,EAAA,IAA5CC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEkE,KAAK,GAAAnE,IAAA,CAALmE,KAAK;IAAEhE,SAAS,GAAAH,IAAA,CAATG,SAAS,CAAA;AACjD,EAAA,IAAMiE,UAAU,GAAGC,cAAQ,CAACC,OAAO,CAACrE,QAAQ,CAAC,CAAA;AAC7C,EAAA,IAAImE,UAAU,CAACG,MAAM,IAAI,CAAC,EAAE;IAC3B,OAAOrE,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,EAAA,IAAA,EAAG2D,UAAU,CAAI,CAAA;AACzB,GAAA;AAEA,EAAA,OACClE,KAAK,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAAL,IAAAA,SAAS,EAAEA,SAAAA;GACd,EAAAiE,UAAU,CAACI,GAAG,CAAC,UAACC,KAAK,EAAEC,KAAK,EAAA;AAAA,IAAA,OAC5BA,KAAK,KAAKN,UAAU,CAACG,MAAM,GAAG,CAAC,GAC9BrE;AAAKyE,MAAAA,GAAG,EAAED,KAAAA;KAAK,EAAGD,KAAK,CAAO,GAE9BvE,KAAA,CAAAM,aAAA,CAACsB,GAAG,EAAA;AAACI,MAAAA,aAAa,EAAEiC,KAAK;AAAEQ,MAAAA,GAAG,EAAED,KAAAA;KAAK,EACnCD,KAAK,CAEP,CAAA;AAAA,GAAA,CACD,CACI,CAAA;AAER;;;ICTaG,SAAS,GAAuB,SAAhCA,SAASA,CAAA5E,IAAA,EAKjB;AAAA,EAAA,IAJJ6E,KAAK,GAAA7E,IAAA,CAAL6E,KAAK;IACLjE,MAAM,GAAAZ,IAAA,CAANY,MAAM;IACNT,SAAS,GAAAH,IAAA,CAATG,SAAS;AACNc,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,IAAM2D,UAAU,GAAGb,EAAE,CAAC,eAAe,EAAE9D,SAAS,CAAC,CAAA;AACjD,EAAA,OACCD,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAAY,QAAA,CAAA;AAAKjB,IAAAA,SAAS,EAAE2E,UAAAA;AAAU,GAAA,EAAM7D,IAAI,CAClC4D,EAAAA,KAAK,CAACL,GAAG,CAAC,UAAAnE,KAAA,EAAA;AAAA,IAAA,IAAG0E,KAAK,GAAA1E,KAAA,CAAL0E,KAAK;MAAEC,KAAK,GAAA3E,KAAA,CAAL2E,KAAK,CAAA;AAAA,IAAA,OACzB9E,KAAA,CAAAM,aAAA,CAAC0D,KAAK,EAAC;AAAAC,MAAAA,KAAK,EAAC,OAAO;AAACQ,MAAAA,GAAG,EAAEK,KAAK,CAACC,QAAQ,EAAE;AAAA,KAAA,EACzC/E,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAKL,MAAAA,SAAS,EAAC,qBAAA;KAAqB,EAAE4E,KAAK,CAAO,EAClD7E,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAA,IAAA,EACE0E,WAAM,CAACF,KAAK,CAAC,IAAIG,iBAAY,CAACH,KAAK,CAAC,GACpC9E,oBAACQ,cAAc,EAAA;AAACC,MAAAA,IAAI,EAAEqE,KAAK;AAAEpE,MAAAA,MAAM,EAAEA,MAAAA;AAAM,KAAA,CAAI,GAE/CV,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA,IAAA,EAAOwE,KAAK,CACZ,CACI,CACC,CAAA;AAAA,GACR,CAAC,CACG,CAAA;AAER;;IChCaI,WAAW,GAAyB,SAApCA,WAAWA,CAAApF,IAAA,EAInB;AAAA,EAAA,IAHJqF,qBAAqB,GAAArF,IAAA,CAArBqF,qBAAqB;IACrBC,QAAQ,GAAAtF,IAAA,CAARsF,QAAQ;IACRC,kBAAkB,GAAAvF,IAAA,CAAlBuF,kBAAkB,CAAA;AAElB,EAAA,IAAMC,KAAK,GAAaC,iBAAY,CAACH,QAAQ,CAAC,CAAA;AAE9C,EAAA,IAAMI,WAAW,GAAGF,KAAK,CACvBhB,GAAG,CAAC,UAACmB,IAAI,EAAA;IAAA,OAAM;AAAEC,MAAAA,KAAK,EAAEL,kBAAkB,CAACI,IAAI,CAAC;AAAEA,MAAAA,IAAI,EAAJA,IAAAA;KAAM,CAAA;AAAA,GAAC,CAAC,CAC1DE,MAAM,CAAC,UAAAxF,KAAA,EAAA;AAAA,IAAA,IAAGuF,KAAK,GAAAvF,KAAA,CAALuF,KAAK,CAAA;IAAA,OAAOA,KAAK,KAAKE,SAAS,CAAA;GAAC,CAAA,CAAA;EAE5C,IAAMC,kBAAkB,GAAGL,WAAW,CAAClB,GAAG,CAAC,UAAAjE,KAAA,EAAkByF,CAAC,EAAI;AAAA,IAAA,IAApBJ,KAAK,GAAArF,KAAA,CAALqF,KAAK;MAAED,IAAI,GAAApF,KAAA,CAAJoF,IAAI,CAAA;IACxD,IAAMM,MAAM,GAAGD,CAAC,KAAKN,WAAW,CAACnB,MAAM,GAAG,CAAC,CAAA;AAC3C,IAAA,IAAI0B,MAAM,EAAE;AACX,MAAA,OACC/F,KAAA,CAAAM,aAAA,CAAC0F,mBAAc,EAAA;AAACvB,QAAAA,GAAG,EAAEgB,IAAI;AAAE7E,QAAAA,EAAE,EAAE,MAAA;OAAM,EACnC8E,KAAK,CACU,CAAA;AAEnB,KAAA;AACA,IAAA,OACC1F,KAAC,CAAAM,aAAA,CAAA0F,mBAAc;AAACvB,MAAAA,GAAG,EAAEgB,IAAI;AAAE7E,MAAAA,EAAE,EAAEqF,mBAAI;AAAEC,MAAAA,EAAE,EAAET,IAAAA;OACvCC,KAAK,CACU,CAAA;AAEnB,GAAC,CAAC,CAAA;AAEF,EAAA,IAAIP,qBAAqB,EAAE;AAC1B,IAAA,OACCnF,KAAA,CAAAM,aAAA,CAAC6F,yBAAoB,EAAA,IAAA,EAClBhB,CAAAA,qBAAqB,CAAAiB,CAAAA,MAAA,CAAKP,kBAAkB,CAAC,CACzB,CAAA;AAEzB,GAAA;EAEA,OAAO7F,KAAC,CAAAM,aAAA,CAAA6F,yBAAoB,EAAE,IAAA,EAAAN,kBAAkB,CAAwB,CAAA;AACzE;;;ICRaQ,YAAY,GAA0B,SAAtCA,YAAYA,CAAAvG,IAAA,EAWpB;AAAA,EAAA,IAAAwG,WAAA,GAAAxG,IAAA,CAVJyG,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;IACdvG,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRyG,OAAO,GAAA1G,IAAA,CAAP0G,OAAO;IAAAC,SAAA,GAAA3G,IAAA,CACP4G,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,SAAA;IACfE,OAAO,GAAA7G,IAAA,CAAP6G,OAAO;IACPC,SAAS,GAAA9G,IAAA,CAAT8G,SAAS;IACTC,QAAQ,GAAA/G,IAAA,CAAR+G,QAAQ;IACRC,OAAO,GAAAhH,IAAA,CAAPgH,OAAO;IACPC,SAAS,GAAAjH,IAAA,CAATiH,SAAS;AACNhG,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,IAAM+F,gBAAgB,GAAGjH,QAAQ,GAAGA,QAAQ,GAAGyG,OAAO,CAAA;AACtD,EAAA,IAAMS,aAAa,GAAGH,OAAO,GAAGA,OAAO,GAAGC,SAAS,CAAA;AACnD,EAAA,OACC/G,KAAC,CAAAM,aAAA,CAAA4G,WAAK,EAAAhG,QAAA,CAAA;AAACwF,IAAAA,IAAI,EAAEA,IAAI;AAAES,IAAAA,IAAI,EAAEZ,MAAM;AAAEQ,IAAAA,SAAS,EAAEE,aAAAA;GAAmBlG,EAAAA,IAAI,GACjEqG,aAAQ,CAACJ,gBAAgB,CAAC,GAC1BhH,KAAC,CAAAM,aAAA,CAAA+G,oBAAS,EAAE,IAAA,EAAAL,gBAAgB,CAAa,GAEzChH,KAAA,CAAAM,aAAA,CAACsB,GAAG,EAAA;AAACI,IAAAA,aAAa,EAAC,QAAA;AAAQ,GAAA,EAAEgF,gBAAgB,CAC7C,EAEDhH,KAAA,CAAAM,aAAA,CAACgH,kBAAW,EACV,IAAA,EAAAV,SAAS,GACT5G,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,EAAA,IAAA,EACCP,KAAC,CAAAM,aAAA,CAAAiH,sBAAe,EACf;AAAAC,IAAAA,OAAO,EAAEP,aAAa;AACV,IAAA,aAAA,EAAA,qBAAA;GAEX,EAAAJ,QAAQ,CAACY,MAAM,CACC,EAClBzH,KAAC,CAAAM,aAAA,CAAAoH,oBAAa;AACbF,IAAAA,OAAO,EAAEZ,SAAS;AACN,IAAA,aAAA,EAAA,sBAAA;GAEX,EAAAC,QAAQ,CAACc,OAAO,CACF,CACd,GAEHhB,OACA,CACY,CACP,CAAA;AAEV;;ICzEaiB,OAAO,GAAqB,SAA5BA,OAAOA,CAAA9H,IAAA,EAIf;AAAA,EAAA,IAAAa,OAAA,GAAAb,IAAA,CAHJc,EAAE;AAAEC,IAAAA,SAAS,GAAAF,OAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,OAAA;IACtBV,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTF,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;EAER,IAAM+D,SAAS,GAAG+D,EAAU,CAAC,CAAC,aAAa,EAAE5H,SAAS,CAAC,CAAC,CAAA;AAExD,EAAA,OAAOD,KAAA,CAAAM,aAAA,CAACO,SAAS,EAAC;AAAAZ,IAAAA,SAAS,EAAE6D,SAAAA;GAAS,EAAG/D,QAAQ,CAAa,CAAA;AAC/D;;;ACnBY+H,6BAKX;AALD,CAAA,UAAYA,WAAW,EAAA;AACtBA,EAAAA,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,WAAA,CAAA,aAAA,CAAA,GAAA,KAAmB,CAAA;AACnBA,EAAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,WAAA,CAAA,YAAA,CAAA,GAAA,MAAmB,CAAA;AACpB,CAAC,EALWA,mBAAW,KAAXA,mBAAW,GAKtB,EAAA,CAAA,CAAA,CAAA;AAED,IAAMC,iBAAiB,IAAAC,kBAAA,GAAA,EAAA,EAAAA,kBAAA,CAIrBF,mBAAW,CAACG,KAAK,CAAA,GAAG,SAAS,EAAAD,kBAAA,CAC7BF,mBAAW,CAACI,WAAW,CAAA,GAAG,SAAS,EAAAF,kBAAA,CACnCF,mBAAW,CAACK,OAAO,CAAA,GAAG,SAAS,EAAAH,kBAAA,CAChC,CAAA;AAED;;;;AAIG;IACUI,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAClCC,WAAyD,EAAA;EAAA,OACrDN,iBAAiB,CAACM,WAAW,CAAC,CAAA;AAAA,EAAA;AAEnC,IAAMC,wBAAwB,IAAAC,qBAAA,GAAAA,EAAAA,EAAAA,qBAAA,CAC5BT,mBAAW,CAACG,KAAK,CAAA,GAAG,OAAO,EAAAM,qBAAA,CAC3BT,mBAAW,CAACI,WAAW,CAAA,GAAG,KAAK,EAAAK,qBAAA,CAC/BT,mBAAW,CAACK,OAAO,IAAG,SAAS,EAAAI,qBAAA,CAC/BT,mBAAW,CAACU,UAAU,IAAG,MAAM,EAAAD,qBAAA,CAChC,CAAA;IAEYE,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAIJ,WAAwB,EAAA;EAAA,OACnEC,wBAAwB,CAACD,WAAW,CAAC,CAAA;AAAA;;;IClBzBK,mBAAmB,GAAkB,SAArCA,mBAAmBA,CAAA5I,IAAA,EAI3B;AAAA,EAAA,IAHJ4F,KAAK,GAAA5F,IAAA,CAAL4F,KAAK;IAAAiD,gBAAA,GAAA7I,IAAA,CACL8I,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,gBAAA;AACpB5H,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,OACCjB,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAAY,QAAA,CAAA;AAAK8B,IAAAA,KAAK,EAAE,GAAG;AAAE6F,IAAAA,MAAM,EAAE,EAAE;AAAEC,IAAAA,OAAO,EAAC,YAAA;AAAY,GAAA,EAAK/H,IAAI,CACzDf,EAAAA,KAAA,CAAAM,aAAA,CAAA,OAAA,EAAA,IAAA,EAAQoF,KAAK,CAAS,EACtB1F,KAAA,CAAAM,aAAA,CAAA,GAAA,EAAA;AAAGyI,IAAAA,IAAI,EAAC,MAAM;AAACC,IAAAA,QAAQ,EAAC,SAAA;AAAS,GAAA,EAChChJ,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA;AACCyI,IAAAA,IAAI,EAAC,MAAM;AACXE,IAAAA,CAAC,EAAC,8EAAA;AACD,GAAA,CAAA,EACFjJ,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAMyI,IAAAA,IAAI,EAAEH,WAAW;AAAEK,IAAAA,CAAC,EAAC,2BAAA;AAA8B,GAAA,CAAA,EACzDjJ,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA;AACCyI,IAAAA,IAAI,EAAC,MAAM;AACXE,IAAAA,CAAC,EAAC,4sCAAA;AACD,GAAA,CAAA,EACFjJ,KAAG,CAAAM,aAAA,CAAA,GAAA,EAAA;AAAAyI,IAAAA,IAAI,EAAEH,WAAAA;AAAW,GAAA,EACnB5I,KAAM,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAA2I,IAAAA,CAAC,EAAC,6rDAAA;GAA6rD,CAAG,CACrsD,CACD,CACC,CAAA;AAER,EAAC;IASYC,gBAAgB,GAA8B,SAA9CA,gBAAgBA,CAAA/I,KAAA,EAKxB;AAAA,EAAA,IAAAgJ,QAAA,GAAAhJ,KAAA,CAJJS,EAAE;AAAEC,IAAAA,SAAS,GAAAsI,QAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,QAAA;IACrBlJ,SAAS,GAAAE,KAAA,CAATF,SAAS;IACTmJ,OAAO,GAAAjJ,KAAA,CAAPiJ,OAAO;IACPf,WAAW,GAAAlI,KAAA,CAAXkI,WAAW,CAAA;EAEX,IAAMvE,SAAS,GAAG+D,EAAU,CAAC,CAAC,kBAAkB,EAAE5H,SAAS,CAAC,CAAC,CAAA;AAE7D,EAAA,OACCD,KAAC,CAAAM,aAAA,CAAAO,SAAS,EAAC;AAAAZ,IAAAA,SAAS,EAAE6D,SAAAA;AAAS,GAAA,EAC9B9D,KAAC,CAAAM,aAAA,CAAAoI,mBAAmB;AACnBhD,IAAAA,KAAK,EAAE0D,OAAO;AACdnJ,IAAAA,SAAS,EAAC,MAAM;AAChB2I,IAAAA,WAAW,EACVP,WAAW,KAAKzC,SAAS,IAAIyC,WAAW,KAAKP,mBAAW,CAACU,UAAU,GAChEJ,sBAAsB,CAACC,WAAW,CAAC,GACnCzC,SAAAA;AAEH,GAAA,CAAA,CACS,CAAA;AAEd;;AC7CA,IAAMyD,yBAAyB,GAC9B,gGAAgG,CAAA;AAEpFC,IAAAA,aAAc,0BAAAC,UAAA,EAAA;EAC1B,SAAAD,aAAAA,CAAYE,KAAY,EAAA;AAAA,IAAA,IAAAC,KAAA,CAAA;AACvBA,IAAAA,KAAA,GAAAF,UAAA,CAAAG,IAAA,CAAA,IAAA,EAAMF,KAAK,CAAC,IAAA,IAAA,CAAA;IACZC,KAAA,CAAKE,KAAK,GAAG;AAAEC,MAAAA,KAAK,EAAE,IAAA;KAAM,CAAA;AAAC,IAAA,OAAAH,KAAA,CAAA;AAC9B,GAAA;EAACI,cAAA,CAAAP,aAAA,EAAAC,UAAA,CAAA,CAAA;AAAAD,EAAAA,aAAA,CAEMQ,wBAAwB,GAA/B,SAAOA,wBAAwBA,CAACF,KAAY,EAAA;IAC3C,OAAO;AACNA,MAAAA,KAAK,EAALA,KAAAA;KACA,CAAA;GACD,CAAA;AAAA,EAAA,IAAAG,MAAA,GAAAT,aAAA,CAAAU,SAAA,CAAA;EAAAD,MAAA,CAEDE,iBAAiB,GAAjB,SAAAA,iBAAiBA,CAACL,KAAY,EAAEM,SAAoB,EAAA;IAAA,IAAAC,qBAAA,EAAAC,WAAA,CAAA;AACnD;AACA,IAAA,CAAAD,qBAAA,GAAAC,CAAAA,WAAA,OAAI,CAACZ,KAAK,EAACa,WAAW,KAAA,IAAA,IAAtBF,qBAAA,CAAAT,IAAA,CAAAU,WAAA,EAAyBR,KAAK,EAAEM,SAAS,CAAC,CAAA;GAC1C,CAAA;AAAAH,EAAAA,MAAA,CAEDO,MAAM,GAAN,SAAAA,MAAMA,GAAA;AAAA,IAAA,IAAAC,MAAA,GAAA,IAAA,CAAA;AACL,IAAA,IAAQX,KAAK,GAAK,IAAI,CAACD,KAAK,CAApBC,KAAK,CAAA;AACb,IAAA,IAAAY,YAAA,GAA+B,IAAI,CAAChB,KAAK;MAAjCiB,QAAQ,GAAAD,YAAA,CAARC,QAAQ;MAAE1K,QAAQ,GAAAyK,YAAA,CAARzK,QAAQ,CAAA;AAE1B,IAAA,IAAI6J,KAAK,EAAE;AACV,MAAA,IAAIc,eAAU,CAAaD,QAAQ,CAAC,EAAE;AACrC,QAAA,OAAOA,QAAQ,CAAC;UAAEE,KAAK,EAAE,SAAPA,KAAKA,GAAA;YAAA,OAAQJ,MAAI,CAACK,QAAQ,CAAC;AAAEhB,cAAAA,KAAK,EAAE,IAAA;AAAI,aAAE,CAAC,CAAA;AAAA,WAAA;AAAEA,UAAAA,KAAK,EAALA,KAAAA;AAAO,SAAA,CAAC,CAAA;AACxE,OAAC,MAAM,IACNA,KAAK,CAACiB,IAAI,KAAK,eAAe,IAC9BjB,KAAK,CAACpD,OAAO,KAAK6C,yBAAyB,EAC1C;AACD,QAAA,OAAOrJ,KAAA,CAAAM,aAAA,CAACwK,iBAAiB,EAAA,IAAA,CAAG,CAAA;AAC7B,OAAA;AAEA,MAAA,OAAOL,QAAQ,CAAA;AAChB,KAAA;AAEA,IAAA,OAAO1K,QAAQ,CAAA;GACf,CAAA;AAAA,EAAA,OAAAuJ,aAAA,CAAA;AAAA,CAAA,CAnCiCzI,eAAuB,EAAA;AAsCnD,IAAMkK,oBAAoB,GAAG,YAAY,CAAA;AAEhD,SAASD,iBAAiBA,GAAA;AACzB;AACA,EAAA,IAAME,QAAQ,GAAGC,YAAY,CAACC,OAAO,CAACH,oBAAoB,CAAC,CAAA;EAC3D,IAAMI,WAAW,GAAGH,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,OAAO,CAAA;AAC7D,EAAA,OACChL,KAAC,CAAAM,aAAA,CAAAsB,GAAG,EAAC;AAAAmB,IAAAA,QAAQ,EAAC,OAAA;AAAO,GAAA,EACpB/C,KAAC,CAAAM,aAAA,CAAA8K,oBAAc;AACdC,IAAAA,OAAO,EAAC,MAAM;AACd3F,IAAAA,KAAK,EACJyF,WAAW,GACR,6CAA6C,GAC7C,4CAAA;AAA4C,GAAA,EAGhDnL,KAAA,CAAAM,aAAA,CAACsB,GAAG,EAAA;AAACI,IAAAA,aAAa,EAAC,QAAA;AAAQ,GAAA,EAC1BhC,KAAA,CAAAM,aAAA,CAAC+G,oBAAS,EAAC;AAAA1E,IAAAA,MAAM,EAAC,MAAA;KAChBwI,WAAW,GAAG,qBAAqB,GAAG,iBAAiB,CAC7C,CACP,EACNnL,KAAC,CAAAM,aAAA,CAAAoH,oBAAa,EAAC;IAAAF,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQ8D,MAAM,CAACC,QAAQ,CAACC,MAAM,EAAE,CAAA;AAAA,KAAA;GACpD,EAAAL,WAAW,GAAG,UAAU,GAAG,SAAS,CACtB,CACA,CACZ,CAAA;AAER;;;ICtEaM,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAA3L,IAAA,EAUD;AAAA,EAAA,IATvC4F,KAAK,GAAA5F,IAAA,CAAL4F,KAAK;IACWgG,cAAc,GAAA5L,IAAA,CAA9B6L,cAAc;IACdC,SAAS,GAAA9L,IAAA,CAAT8L,SAAS;IACTC,MAAM,GAAA/L,IAAA,CAAN+L,MAAM;IACNC,QAAQ,GAAAhM,IAAA,CAARgM,QAAQ;IACRjB,IAAI,GAAA/K,IAAA,CAAJ+K,IAAI;IACJQ,OAAO,GAAAvL,IAAA,CAAPuL,OAAO;IACPU,QAAQ,GAAAjM,IAAA,CAARiM,QAAQ;AACLhL,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;EAEP,IAAM+K,cAAc,GAAG,SAAjBA,cAAcA,CAAIhB,QAAqB,EAAElG,KAAc,EAAI;AAChE,IAAA,IAAMmH,OAAO,GAAA/K,QAAA,CAAA,EAAA,EAAQ2K,MAAM,CAAE,CAAA;AAC7B,IAAA,IAAI/G,KAAK,KAAK,EAAE,IAAI,CAACA,KAAK,EAAE;MAC3B,OAAOmH,OAAO,CAACjB,QAAQ,CAAC,CAAA;AACzB,KAAC,MAAM;AACNiB,MAAAA,OAAO,CAACjB,QAAQ,CAAC,GAAGlG,KAAK,CAAA;AAC1B,KAAA;IACAgH,QAAQ,CAACG,OAAO,CAAC,CAAA;GACjB,CAAA;AAED,EAAA,OACCjM,KAAC,CAAAM,aAAA,CAAA4L,sBAAe,EACf;AAAAxG,IAAAA,KAAK,EAAEA,KAAK;AACZyG,IAAAA,WAAW,EACX,IAAA;AAAAC,IAAAA,YAAY,EAAE;AACbhK,MAAAA,OAAO,EAAE,iBAAiB;AAC1BC,MAAAA,SAAS,EAAE,MAAM;AACjBE,MAAAA,YAAY,EAAE,MAAA;AACd,KAAA;AAAA,GAAA,EAEDvC,KAAA,CAAAM,aAAA,CAAC0D,KAAK,EAAC;AAAAC,IAAAA,KAAK,EAAC,QAAA;KACX2H,SAAS,CAACtH,GAAG,CAAC,UAAAnE,KAAA,EAAA;AAAA,IAAA,IAAUkM,OAAO,GAAAlM,KAAA,CAAd2E,KAAK;MAAWD,KAAK,GAAA1E,KAAA,CAAL0E,KAAK;MAAEyH,QAAQ,GAAAnM,KAAA,CAARmM,QAAQ,CAAA;AAAA,IAAA,OAChDtM,KAAA,CAAAM,aAAA,CAACoL,cAAc,EAAAxK,QAAA,CAAA;MACD,aAAA,EAAA,mBAAA,GAAoB2J,IAAI,GAAA,GAAA,GAAIwB,OAAS;MAClD5H,GAAG,EAAEiB,KAAK,GAAG2G,OAAO;AACpBxH,MAAAA,KAAK,EAAEyH,QAAQ,GAAMzH,KAAK,SAAMA,KAAK;AACrCwG,MAAAA,OAAO,EAAEA,OAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAGgB,OAAO,CAAC;AAC3BN,MAAAA,QAAQ,EAAEA,QAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAGM,OAAO,CAAC;AAC7BxB,MAAAA,IAAI,EAAEA,IAAI;AACViB,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGS,CAAgC,EAAI;QAC9CP,cAAc,CAACK,OAAO,EAAEE,CAAC,CAACC,MAAM,CAAC1H,KAAK,CAAC,CAAA;OACvC;AACDA,MAAAA,KAAK,EAAE+G,MAAM,CAACQ,OAAO,CAAC,IAAI,EAAA;KACtBtL,EAAAA,IAAI,CACP,CAAA,CAAA;GACF,CAAC,CACK,CACS,CAAA;AAEpB;;ACxEA;AAGA;;;;;;AAMG;AACG,SAAU0L,WAAWA,CAACC,IAAY,EAAA;EAAA,IAAAC,oBAAA,EAAAC,qBAAA,CAAA;AACvC,EAAA,OACCC,SAAe,CAAA,WAAA,GAAaH,IAAI,CAAG,KAAK,MAAM,IAC9C,EAAAC,oBAAA,GAAArB,MAAM,CAACL,YAAY,qBAAnB0B,oBAAA,CAAqBzB,OAAO,CAACwB,IAAI,CAAC,MAAK,MAAM,IAC7C,CAAA,CAAAE,qBAAA,GAAAtB,MAAM,CAACL,YAAY,KAAA,IAAA,GAAA,KAAA,CAAA,GAAnB2B,qBAAA,CAAqB1B,OAAO,eAAawB,IAAM,CAAC,MAAK,MAAM,CAAA;AAE7D,CAAA;AAEA;;;;;;AAMG;AACG,SAAUI,gBAAgBA,CAACJ,IAAY,EAAA;EAC5C,OAAOD,WAAW,CAACC,IAAI,CAAC,CAAA;AACzB,CAAA;IAUaK,aAAa,GAAG,SAAhBA,aAAaA,CAAAjN,IAAA,EAA8C;AAAA,EAAA,IAAxCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAE2M,IAAI,GAAA5M,IAAA,CAAJ4M,IAAI,CAAA;AAC7C,EAAA,IAAMM,OAAO,GAAGF,gBAAgB,CAACJ,IAAI,CAAC,CAAA;AACtC,EAAA,IAAIM,OAAO,EAAE;IACZ,OAAOhN,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,EAAA,IAAA,EAAGR,QAAQ,CAAI,CAAA;AACvB,GAAA;AACA,EAAA,OAAO,IAAI,CAAA;AACZ;;;IClCakN,oBAAoB,GAAkC,SAAtDA,oBAAoBA,CAAAnN,IAAA,EAI5B;AAAA,EAAA,IAHJoN,MAAM,GAAApN,IAAA,CAANoN,MAAM;IAAAvM,OAAA,GAAAb,IAAA,CACNc,EAAE;AAAEC,IAAAA,SAAS,GAAAF,OAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,OAAA;AACnBI,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,IAAMkM,YAAY,GAAGC,MAAM,CAACF,MAAM,CAAC,IAAI,CAAC,CAAA;EAExC,IAAMG,eAAe,GAAG,IAAIC,IAAI,CAACC,YAAY,CAAC,OAAO,EAAE;AACtDC,IAAAA,qBAAqB,EAAE,CAAC;AACxBC,IAAAA,qBAAqB,EAAE,CAAA;AACvB,GAAA,CAAC,CAACC,MAAM,CAACP,YAAY,CAAC,CAAA;EAEvB,OAAOnN,oBAACa,SAAS,EAAAK,QAAA,CAAKH,EAAAA,EAAAA,IAAI,CAAGsM,EAAAA,eAAe,CAAa,CAAA;AAC1D;;;ICCaM,cAAc,GAA4B,SAA1CA,cAAcA,CAAA7N,IAAA,EAMtB;AAAA,EAAA,IALJkL,QAAQ,GAAAlL,IAAA,CAARkL,QAAQ;IACR4C,OAAO,GAAA9N,IAAA,CAAP8N,OAAO;IACP3N,SAAS,GAAAH,IAAA,CAATG,SAAS;IACT6L,SAAQ,GAAAhM,IAAA,CAARgM,QAAQ;AACL/K,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,IAAM2D,UAAU,GAAGb,EAAE,CAAC,qBAAqB,EAAE9D,SAAS,CAAC,CAAA;EACvD,OACCD,KAAS,CAAAM,aAAA,CAAA,KAAA,EAAAY,QAAA,KAAAH,IAAI,EAAA;AAAEd,IAAAA,SAAS,EAAE2E,UAAAA;AAAU,GAAA,CAAA,EACnC5E,KAAA,CAAAM,aAAA,CAACuN,qBAAgB,EAChB;AAAA/B,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGd,QAAQ,EAAI;MACtB8C,oBAAe,CAAC9C,QAAQ,CAAC,CAAA;MACzBc,SAAQ,CAACd,QAAQ,CAAC,CAAA;KAClB;AACD+C,IAAAA,aAAa,EAAE/C,QAAAA;AAEd,GAAA,EAAA4C,OAAO,CAACtJ,GAAG,CAAC,UAAC0J,MAAM,EAAA;AAAA,IAAA,OACnBhO,KAAA,CAAAM,aAAA,CAAC2N,oBAAe,EAAA;MAACxJ,GAAG,EAAEuJ,MAAM,CAAClJ,KAAK;MAAEA,KAAK,EAAEkJ,MAAM,CAAClJ,KAAAA;AAAK,KAAA,EACrDkJ,MAAM,CAACnJ,KAAK,EACZmJ,MAAM,CAAC1B,QAAQ,IAAItM,KAAM,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAAL,MAAAA,SAAS,EAAC,iBAAA;KAAiB,EAAE,GAAG,CAAQ,CACjD,CAAA;GAClB,CAAC,CACgB,CACd,CAAA;AAER;;IC3CagG,IAAI,GAAc,SAAlBA,IAAIA,CAAeuD,KAAK,EAAI;EACxC,OACCxJ,KAAA,CAAAM,aAAA,CAAC4N,eAAC,EAAAhN,QAAA,KAAKsI,KAAK,EAAA;AAAE5I,IAAAA,EAAE,EAAEuN,mBAAAA;GAChB3E,CAAAA,EAAAA,KAAK,CAACzJ,QAAQ,CACZ,CAAA;AAEN;;;ICAaqO,UAAU,GAAG,SAAbA,UAAUA,CAAAtO,IAAA,EAAA;AAAA,EAAA,IACtBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRE,SAAS,GAAAH,IAAA,CAATG,SAAS;AACNc,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;EAAA,OAEPjB,KAAC,CAAAM,aAAA,CAAA2F,eAAI,EAAA/E,QAAA,KAAKH,IAAI,EAAA;AAAEH,IAAAA,EAAE,EAAC,QAAQ;AAACX,IAAAA,SAAS,EAAE8D,EAAE,CAAC,iBAAiB,EAAE9D,SAAS,CAAA;AAAC,GAAA,CAAA,EACrEF,QAAQ,CACH,CAAA;AAAA;;ICRKsO,IAAI,GAAkB,SAAtBA,IAAIA,CAAAvO,IAAA,EAIZ;AAAA,EAAA,IAAAa,OAAA,GAAAb,IAAA,CAHJc,EAAE;AAAEC,IAAAA,SAAS,GAAAF,OAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,OAAA;IACrBV,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTF,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;EAER,IAAM+D,SAAS,GAAG+D,EAAU,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE5H,SAAS,CAAC,CAAC,CAAA;AAErE,EAAA,OAAOD,KAAA,CAAAM,aAAA,CAACO,SAAS,EAAC;AAAAZ,IAAAA,SAAS,EAAE6D,SAAAA;GAAS,EAAG/D,QAAQ,CAAa,CAAA;AAC/D;;;ACUA;;AAEG;IACUuO,kBAAkB,GAAgC,SAAlDA,kBAAkBA,CAAAxO,IAAA,EAa1B;AAAA,EAAA,IAZJG,SAAS,GAAAH,IAAA,CAATG,SAAS;IACOyL,cAAc,GAAA5L,IAAA,CAA9B6L,cAAc;IACd4C,UAAU,GAAAzO,IAAA,CAAVyO,UAAU;IACVC,UAAU,GAAA1O,IAAA,CAAV0O,UAAU;IACV3D,IAAI,GAAA/K,IAAA,CAAJ+K,IAAI;IACJe,SAAS,GAAA9L,IAAA,CAAT8L,SAAS;IACTC,MAAM,GAAA/L,IAAA,CAAN+L,MAAM;IACNC,QAAQ,GAAAhM,IAAA,CAARgM,QAAQ;IAAA2C,oBAAA,GAAA3O,IAAA,CACR4O,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA;IAAAE,UAAA,GAAA7O,IAAA,CACvB+E,KAAK;AAALA,IAAAA,KAAK,GAAA8J,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAC,WAAA,GAAA9O,IAAA,CACV+O,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAA,KAAA,CAAA,GAAG,cAAQ,GAAAA,WAAA;AACd7N,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,IAAA6N,SAAA,GAAgCC,cAAQ,CAACL,eAAe,CAAC;AAAlD1D,IAAAA,QAAQ,GAAA8D,SAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,WAAW,GAAAF,SAAA,CAAA,CAAA,CAAA,CAAA;AAC5B,EAAA,IAAMlK,UAAU,GAAGb,EAAE,CAAC,sBAAsB,EAAE9D,SAAS,CAAC,CAAA;AACxD,EAAA,IAAMgP,YAAY,GAAGpD,MAAM,CAACb,QAAQ,CAAC,CAAA;AAErC,EAAA,IAAMkE,YAAY,GAAG,SAAfA,YAAYA,CAAI3C,CAA6B,EAAI;IACtDA,CAAC,CAAC4C,OAAO,EAAE,CAAA;AACX,IAAA,IAAMC,aAAa,GAAG7C,CAAC,CAAC6C,aAAa,CAAA;AACrCC,IAAAA,UAAU,CAAC,YAAK;MACf,IAAID,aAAa,IAAI,CAACA,aAAa,CAACE,QAAQ,CAACC,QAAQ,CAACC,aAAa,CAAC,EAAE;QACrEX,MAAM,CAACtC,CAAC,CAAC,CAAA;AACV,OAAA;KACA,EAAE,CAAC,CAAC,CAAA;GACL,CAAA;AAED,EAAA,IAAMkD,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIzE,QAAgB,EAAI;IACjDgE,WAAW,CAAChE,QAAQ,CAAC,CAAA;GACrB,CAAA;AAED,EAAA,IAAMgB,cAAc,GAAG,SAAjBA,cAAcA,CAAIlH,KAAc,EAAI;IACzC,IAAMmH,OAAO,GAAGyD,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE9D,MAAM,CAAC,CAAA;AACzC,IAAA,IAAI/G,KAAK,KAAK,EAAE,IAAI,CAACA,KAAK,EAAE;MAC3B,OAAOmH,OAAO,CAACjB,QAAQ,CAAC,CAAA;AACzB,KAAC,MAAM;AACNiB,MAAAA,OAAO,CAACjB,QAAQ,CAAC,GAAGlG,KAAK,CAAA;AAC1B,KAAA;IACAgH,QAAQ,CAACG,OAAO,CAAC,CAAA;GACjB,CAAA;AAED,EAAA;AACC;AACAjM,IAAAA,KACC,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAAL,MAAAA,SAAS,EAAE2E,UAAU;AACrB;AACAgL,MAAAA,QAAQ,EAAE,CAAC;AACXf,MAAAA,MAAM,EAAEK,YAAY;AAAA,MAAA,aAAA,EACarE,mBAAAA,GAAAA,IAAAA;AAAM,KAAA,EAEvC7K,KAAA,CAAAM,aAAA,CAAC0D,KAAK,EAAA;AAACC,MAAAA,KAAK,EAAC,YAAA;AAAY,KAAA,EACxBjE,KAAC,CAAAM,aAAA,CAAAqN,cAAc;AACd3C,MAAAA,QAAQ,EAAEA,QAAQ;AAClB4C,MAAAA,OAAO,EAAEhC,SAAS;AAClBE,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAG+D,IAAI,EAAA;QAAA,OAAKJ,oBAAoB,CAACI,IAAI,CAAC,CAAA;AAAA,OAAA;KAC7C,CAAA,EACF7P,KAAC,CAAAM,aAAA,CAAAoL,cAAc,EAAAxK,QAAA,CAAA;AACd2D,MAAAA,KAAK,EAAEA,KAAK;AACZwG,MAAAA,OAAO,EAAEmD,UAAU;AACnBzC,MAAAA,QAAQ,EAAEwC,UAAU;AACpB1D,MAAAA,IAAI,EAAEA,IAAI;AACV5K,MAAAA,SAAS,EAAC,eAAe;AACzB6L,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGS,CAAgC,EAAA;AAAA,QAAA,OAC1CP,cAAc,CAACO,CAAC,CAACC,MAAM,CAAC1H,KAAK,CAAC,CAAA;AAAA,OAAA;MAE/BA,KAAK,EAAEmK,YAAY,IAAI,EAAA;KACnBlO,EAAAA,IAAI,CACP,CAAA,CACK,CAAA;AACH,IAAA;AAER;;;ICxFa+O,oBAAoB,GAAkC,SAAtDA,oBAAoBA,CAAAhQ,IAAA,EAM5B;AAAA,EAAA,IALJ+E,KAAK,GAAA/E,IAAA,CAAL+E,KAAK;IACLkL,aAAa,GAAAjQ,IAAA,CAAbiQ,aAAa;IACHC,YAAY,GAAAlQ,IAAA,CAAtBgM,QAAQ;IACRmE,sBAAsB,GAAAnQ,IAAA,CAAtBmQ,sBAAsB;AACnBlP,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,IAAA6N,SAAA,GACCC,cAAQ,EAAkB;AADpBmB,IAAAA,oBAAoB,GAAApB,SAAA,CAAA,CAAA,CAAA;AAAEqB,IAAAA,uBAAuB,GAAArB,SAAA,CAAA,CAAA,CAAA,CAAA;AAGpDsB,EAAAA,eAAS,CAAC,YAAK;AACdD,IAAAA,uBAAuB,CACtBJ,aAAa,CAACM,IAAI,CACjB,UAACC,GAAG,EAAA;AAAA,MAAA,OAAKA,GAAG,CAACC,cAAc,KAAKN,sBAAsB,CAAA;AAAA,KAAA,CACtD,CACD,CAAA;AACF,GAAC,EAAE,CAACA,sBAAsB,EAAEF,aAAa,CAAC,CAAC,CAAA;AAE3C,EAAA,OACC/P,oBAACwQ,2BAAkB,EAAAtP,QAAA,CAAA;AAClB2D,IAAAA,KAAK,EAAEA,KAAK;IACZF,KAAK,EAAA,EAAA,CAAAyB,MAAA,CACD2J,aAAa,CACdU,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC,EAAA;MAAA,OAAKD,CAAC,CAACE,WAAW,CAACC,aAAa,CAACF,CAAC,CAACC,WAAW,EAAE,IAAI,CAAC,CAAA;AAAA,KAAA,CAAC,CAChEtM,GAAG,CAAC,UAACwM,YAAY,EAAI;MACrB,OAAO;QACNhM,KAAK,EAAEgM,YAAY,CAACP,cAAc;QAClC1L,KAAK,EAAEiM,YAAY,CAACF,WAAAA;OACpB,CAAA;AACF,KAAC,CAAC,CACH;IACDG,YAAY,EACXb,oBAAoB,GACjB;MACApL,KAAK,EAAEoL,oBAAoB,CAACK,cAAc;MAC1C1L,KAAK,EAAEqL,oBAAoB,CAACU,WAAAA;AAC5B,KAAA,GACA,IAAI;AAER9E,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGiC,aAAa,EAAI;AAC3B,MAAA,IAAIA,aAAa,EAAE;AAClBiC,QAAAA,YAAY,CAACjC,aAAa,CAACjJ,KAAK,CAAC,CAAA;AAClC,OAAA;KACA;AACDkM,IAAAA,SAAS,EAAE,KAAA;GACPjQ,EAAAA,IAAI,CAAA,CACP,CAAA;AAEJ;;ICtDakQ,KAAK,GAAmB,SAAxBA,KAAKA,CAAAnR,IAAA,EAKb;AAAA,EAAA,IAJJoR,cAAc,GAAApR,IAAA,CAAdoR,cAAc;IACdC,QAAQ,GAAArR,IAAA,CAARqR,QAAQ;IACRC,aAAY,GAAAtR,IAAA,CAAZsR,YAAY;IACZC,WAAW,GAAAvR,IAAA,CAAXuR,WAAW,CAAA;EAEX,IAAMC,SAAS,GAAGC,IAAI,CAACC,IAAI,CAACN,cAAc,GAAGC,QAAQ,CAAC,CAAA;AACtD,EAAA,OACCnR,KAAC,CAAAM,aAAA,CAAAmR,eAAU,EACV;AAAAH,IAAAA,SAAS,EAAEA,SAAS;AACpBD,IAAAA,WAAW,EAAEA,WAAW;AACxBD,IAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAGM,IAAI,EAAI;MACtBN,aAAY,CAACM,IAAI,CAAC,CAAA;AACnB,KAAA;AAAC,GAAA,CACA,CAAA;AAEJ;;IClBaC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA7R,IAAA,EAA6C;AAAA,EAAA,IAAvC4F,KAAK,GAAA5F,IAAA,CAAL4F,KAAK;IAAEkM,MAAM,GAAA9R,IAAA,CAAN8R,MAAM,CAAA;AAC/CxB,EAAAA,eAAS,CAAC,YAAK;AACd,IAAA,IAAIwB,MAAM,EAAE;AACXrC,MAAAA,QAAQ,CAAC7J,KAAK,GAAMA,EAAAA,GAAAA,KAAK,GAAGkM,MAAQ,CAAA;AACrC,KAAC,MAAM;MACNrC,QAAQ,CAAC7J,KAAK,GAAGA,KAAK,CAAA;AACvB,KAAA;AACD,GAAC,EAAE,CAACA,KAAK,EAAEkM,MAAM,CAAC,CAAC,CAAA;AACpB,EAAC;IAQYC,SAAS,GAAG,SAAZA,SAASA,CAAA1R,KAAA,EAIV;AAAA,EAAA,IAHXiF,QAAQ,GAAAjF,KAAA,CAARiF,QAAQ;IACRC,kBAAkB,GAAAlF,KAAA,CAAlBkF,kBAAkB;IAAAyM,cAAA,GAAA3R,KAAA,CAClB4R,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,eAAe,GAAAA,cAAA,CAAA;AAE1B,EAAA,IAAMxM,KAAK,GAAaC,iBAAY,CAACH,QAAQ,CAAC,CAAA;AAE9C,EAAA,IAAM4M,UAAU,GAAG1M,KAAK,CACtBhB,GAAG,CAAC,UAACmB,IAAI,EAAA;IAAA,OAAM;AAAEC,MAAAA,KAAK,EAAEL,kBAAkB,CAACI,IAAI,CAAC;AAAEA,MAAAA,IAAI,EAAJA,IAAAA;KAAM,CAAA;AAAA,GAAC,CAAC,CAC1DE,MAAM,CAAC,UAAAtF,KAAA,EAAA;AAAA,IAAA,IAAGqF,KAAK,GAAArF,KAAA,CAALqF,KAAK,CAAA;IAAA,OAAOA,KAAK,KAAKE,SAAS,CAAA;AAAA,GAAA,CAAC,CAC1CtB,GAAG,CAAC,UAAA2N,KAAA,EAAA;AAAA,IAAA,IAAGvM,KAAK,GAAAuM,KAAA,CAALvM,KAAK,CAAA;AAAA,IAAA,OAAOA,KAAK,CAAA;GAAC,CAAA,CACzBwM,OAAO,EAAE,CACTC,IAAI,CAAC,KAAK,CAAC,CAAA;EAEb,IAAMzM,KAAK,GAAGsM,UAAU,GAAMA,UAAU,GAAMD,KAAAA,GAAAA,QAAQ,GAAKA,QAAQ,CAAA;AAEnEJ,EAAAA,gBAAgB,CAAC;AAAEjM,IAAAA,KAAK,EAALA,KAAAA;AAAK,GAAE,CAAC,CAAA;AAE3B,EAAA,OAAO,IAAI,CAAA;AACZ;;ACtBA;;;;AAIG;IACU0M,eAAe,GAA6B,SAA5CA,eAAeA,CAAAtS,IAAA,EAMvB;AAAA,EAAA,IALJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAAsS,aAAA,GAAAvS,IAAA,CACR2K,QAAQ;AAARA,IAAAA,QAAQ,GAAA4H,aAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,aAAA;IACfC,WAAW,GAAAxS,IAAA,CAAXwS,WAAW;IAAAC,UAAA,GAAAzS,IAAA,CACX0S,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAE,QAAA,GAAA3S,IAAA,CACV4S,GAAG;AAAHA,IAAAA,GAAG,GAAAD,QAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,QAAA,CAAA;AAER,EAAA,IAAME,YAAY,GAAGC,sBAAiB,CAACF,GAAG,EAAEJ,WAAW,CAAC,CAAA;AAExD,EAAA,IAAMO,cAAc,GAAGC,wBAAmB,CAACN,KAAK,EAAEF,WAAW,CAAC,CAAA;AAE9D,EAAA,IAAMS,OAAO,GAAGJ,YAAY,IAAIE,cAAc,CAAA;AAC9C,EAAA,OAAO7S,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,EAAA,IAAA,EAAGwS,OAAO,GAAGhT,QAAQ,GAAG0K,QAAQ,CAAI,CAAA;AAC5C;;;ICpBauI,iBAAiB,GAA+B,SAAhDA,iBAAiBA,CAAAlT,IAAA,EAIzB;AAAA,EAAA,IAHJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRkT,qBAAqB,GAAAnT,IAAA,CAArBmT,qBAAqB;AAClBlS,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;EAEP6M,oBAAe,CACdoF,iCAAkB,EAAE,GAAG,IAAI,GAAGtN,SAAS,EAAA,sDACe,CACtD,CAAA;AAED,EAAA,IAAMuN,OAAO,GAAGC,yBAAU,CACzB,UAAAjT,KAAA,EAAA;AAAA,IAAA,IAAGkT,eAAe,GAAAlT,KAAA,CAAfkT,eAAe;MAAEC,YAAY,GAAAnT,KAAA,CAAZmT,YAAY,CAAA;IAAA,OAC/BD,eAAe,CAACjO,QAAQ,KAAKkO,YAAY,CAAClO,QAAQ,IAClD6N,qBAAqB,CAACK,YAAY,CAAC,CAAA;GACpC,CAAA,CAAA;AAED,EAAA,OACCtT,KAAC,CAAAM,aAAA,CAAA+F,YAAY,EAAAnF,QAAA,CAAA;AACZ6F,IAAAA,SAAS,EAAE,SAAXA,SAASA,GAAO;AACf,MAAA,IAAIoM,OAAO,CAACxJ,KAAK,KAAK,SAAS,EAAE;QAChCwJ,OAAO,CAACI,KAAK,EAAE,CAAA;AAChB,OAAA;KACA;AACDpM,IAAAA,IAAI,EAAEgM,OAAO,CAACxJ,KAAK,KAAK,SAAS;AACjC/C,IAAAA,SAAS,EAAE,SAAXA,SAASA,GAAO;AACf,MAAA,IAAIuM,OAAO,CAACxJ,KAAK,KAAK,SAAS,EAAE;QAChCwJ,OAAO,CAACK,OAAO,EAAE,CAAA;AAClB,OAAA;AACD,KAAA;GACIzS,EAAAA,IAAI,CAEPhB,EAAAA,QAAQ,CACK,CAAA;AAEjB;;ICzCa0T,WAAW,GAAyB,SAApCA,WAAWA,CAAA3T,IAAA,EAMnB;AAAA,EAAA,IAAA4T,WAAA,GAAA5T,IAAA,CALJ6T,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;IAAA/E,UAAA,GAAA7O,IAAA,CACd+E,KAAK;AAALA,IAAAA,KAAK,GAAA8J,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IACViF,kBAAkB,GAAA9T,IAAA,CAAlB8T,kBAAkB;IAClBC,UAAU,GAAA/T,IAAA,CAAV+T,UAAU;IACVC,MAAM,GAAAhU,IAAA,CAANgU,MAAM,CAAA;AAEN,EAAA,IAAMC,gBAAgB,GAAGhQ,EAAE,CAAC,0BAA0B,EAAE;AACvD4P,IAAAA,MAAM,EAANA,MAAM;AACNK,IAAAA,UAAU,EAAEJ,kBAAAA;AACZ,GAAA,CAAC,CAAA;AACF,EAAA,IAAMK,qBAAqB,GAAGlQ,EAAE,CAAC,kBAAkB,EAAE;AACpD+P,IAAAA,MAAM,EAANA,MAAAA;AACA,GAAA,CAAC,CAAA;AACF,EAAA,OACC9T,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAKL,IAAAA,SAAS,EAAEgU,qBAAAA;GAAqB,EACnCJ,UAAU,IAAI7T,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAKL,IAAAA,SAAS,EAAE8T,gBAAAA;AAAoB,GAAA,CAAA,EACnD/T,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAA,IAAA,EAAMuE,KAAK,CAAO,CACb,CAAA;AAER;;;ICqBaqP,IAAI,GAAG,SAAPA,IAAIA,CAAApU,IAAA,EASD;AAAA,EAAA,IAAAa,OAAA,GAAAb,IAAA,CARfc,EAAE;AAAEuT,IAAAA,SAAS,GAAAxT,OAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,OAAA;IACtBZ,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRqU,QAAQ,GAAAtU,IAAA,CAARsU,QAAQ;IACRlR,KAAK,GAAApD,IAAA,CAALoD,KAAK;IACLmR,UAAU,GAAAvU,IAAA,CAAVuU,UAAU;IACVC,UAAU,GAAAxU,IAAA,CAAVwU,UAAU;IACVrU,SAAS,GAAAH,IAAA,CAATG,SAAS;AACNc,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;EAEP,IAAMS,OAAO,GAAG,EAAE,CAAA;AAElB0S,EAAAA,QAAQ,IAAI1S,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,gBAAgB,EAAE+S,QAAQ,CAAC,CAAC,CAAA;AACvEC,EAAAA,UAAU,IAAI3S,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,kBAAkB,EAAEgT,UAAU,CAAC,CAAC,CAAA;AAC7EC,EAAAA,UAAU,IAAI5S,OAAO,CAACC,IAAI,CAAA,kBAAA,GAAoB2S,UAAY,CAAC,CAAA;AAE3D,EAAA,IAAMxQ,SAAS,GAAGC,EAAE,CAACrC,OAAO,EAAEzB,SAAS,CAAC,CAAA;AAExC,EAAA,OACCD,oBAAC4B,GAAG,EAAAV,QAAA,CAAA;AAACN,IAAAA,EAAE,EAAEuT,SAAS;AAAEjR,IAAAA,KAAK,EAAEA,KAAK;AAAEjD,IAAAA,SAAS,EAAE6D,SAAAA;GAAe/C,EAAAA,IAAI,CAC9DhB,EAAAA,QAAQ,CACJ,CAAA;AAER;;;ICpEawU,QAAQ,GAAsB,SAA9BA,QAAQA,CAAAzU,IAAA,EAAA;AAAA,EAAA,IACpBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRE,SAAS,GAAAH,IAAA,CAATG,SAAS;AACNc,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAAA,EAAA,OAEPjB,KAAC,CAAAM,aAAA,CAAAkU,aAAM,EAAAtT,QAAA,CAAA;AAACmK,IAAAA,OAAO,EAAC,SAAA;AAAS,GAAA,EAAKtK,IAAI,EAAA;AAAEd,IAAAA,SAAS,EAAE8D,EAAE,CAAC,cAAc,EAAE9D,SAAS,CAAA;AAAC,GAAA,CAAA,EAC1EF,QAAQ,CACD,CAAA;AAAA;;ACVH,IAAM0U,sBAAsB,GAK/B,SALSA,sBAAsBA,CAK9BjL,KAAK,EAAI;AACb,EAAA,OACCxJ;IACCC,SAAS,EAAE8D,EAAE,CAACyF,KAAK,CAACvJ,SAAS,EAAE,yBAAyB,CAAC;AACzDyU,IAAAA,IAAI,EAAC,UAAA;GACDlL,EAAAA,KAAK,CAAA,CACR,CAAA;AAEJ,CAAC;;ACLM,IAAMmL,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA7U,IAAA,EAIvB;AAAA,EAAA,IAHX+K,IAAI,GAAA/K,IAAA,CAAJ+K,IAAI;IACJ+J,OAAO,GAAA9U,IAAA,CAAP8U,OAAO;IACPC,oBAAoB,GAAA/U,IAAA,CAApB+U,oBAAoB,CAAA;AAEpB,EAAA,OACC7U,KAAC,CAAAM,aAAA,CAAAmU,sBAAsB;AACtBjN,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAO;AACbqN,MAAAA,oBAAoB,EAAE,CAAA;MACtBD,OAAO,CAAC,KAAK,CAAC,CAAA;KACd;AACD3U,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EAEnCD,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAA,IAAA,aAAA,EAAmB,IAAA;AAAI,GAAA,EACtBN,KAAC,CAAAM,aAAA,CAAAwU,gBAAU;AAACpO,IAAAA,IAAI,EAAC,MAAM;AAACqO,IAAAA,MAAM;IAAG,CAC3B,EACNlK,IAAI,CACmB,CAAA;AAE3B,CAAC;;SC9BemK,eAAeA,CAC9BC,GAAoC,EACpCC,SAA6C,EAC7CC,OAAmB,EAAA;EAEnBnV,KAAK,CAACoQ,SAAS,CAAC,YAAK;AACpB,IAAA,IAAMgF,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,KAAY,EAAI;AACjC,MAAA,IACCC,0BAA0B,CAACL,GAAG,CAACM,OAAO,EAAEF,KAAK,CAAC,IAC9CC,0BAA0B,CAACJ,SAAS,CAACK,OAAO,EAAEF,KAAK,CAAC,EACnD;AACD,QAAA,OAAA;AACD,OAAA;AAEAF,MAAAA,OAAO,EAAE,CAAA;KACT,CAAA;AAED5F,IAAAA,QAAQ,CAACiG,gBAAgB,CAAC,WAAW,EAAEJ,QAAQ,CAAC,CAAA;AAChD7F,IAAAA,QAAQ,CAACiG,gBAAgB,CAAC,YAAY,EAAEJ,QAAQ,CAAC,CAAA;AAEjD,IAAA,OAAO,YAAK;AACX7F,MAAAA,QAAQ,CAACkG,mBAAmB,CAAC,WAAW,EAAEL,QAAQ,CAAC,CAAA;AACnD7F,MAAAA,QAAQ,CAACkG,mBAAmB,CAAC,YAAY,EAAEL,QAAQ,CAAC,CAAA;KACpD,CAAA;GACD,EAAE,CAACH,GAAG,EAAEC,SAAS,EAAEC,OAAO,CAAC,CAAC,CAAA;AAC9B,CAAA;AAEA,SAASG,0BAA0BA,CAACI,OAA2B,EAAEL,KAAY,EAAA;EAC5E,IAAI,CAACK,OAAO,EAAE;AACb,IAAA,OAAO,KAAK,CAAA;AACb,GAAA;EAEA,IAAIA,OAAO,CAACpG,QAAQ,CAAC+F,KAAK,CAAC7I,MAAc,CAAC,EAAE;AAC3C,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AAEA;AACA,EAAA,IAAI6I,KAAK,CAACM,QAAQ,IAAIN,KAAK,CAACO,YAAY,EAAE;AACzC,IAAA,IAAMtG,QAAQ,GAAG+F,KAAK,CAACO,YAAY,EAAE,CAACvF,IAAI,CAAC,UAAC7D,MAAM,EAAI;MACrD,IAAIA,MAAM,KAAKlB,MAAM,EAAE;AACtB,QAAA,OAAO,KAAK,CAAA;AACb,OAAA;AACA,MAAA,OAAOoK,OAAO,CAACpG,QAAQ,CAAC9C,MAAc,CAAC,CAAA;AACxC,KAAC,CAAC,CAAA;IACF,OAAO,CAAC,CAAC8C,QAAQ,CAAA;AAClB,GAAA;AAEA,EAAA,OAAO,KAAK,CAAA;AACb;;;ACnCO,IAAMuG,kBAAkB,GAO1B,SAPQA,kBAAkBA,CAAA/V,IAAA,EAe1B;AAAA,EAAA,IAPJG,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTF,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACR+V,QAAQ,GAAAhW,IAAA,CAARgW,QAAQ;IACR3O,IAAI,GAAArH,IAAA,CAAJqH,IAAI;IACJ4O,YAAY,GAAAjW,IAAA,CAAZiW,YAAY;IACZ1N,WAAW,GAAAvI,IAAA,CAAXuI,WAAW;AACRtH,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,SAAA,CAAA,CAAA;AAEP,EAAA,IAAM+U,oBAAoB,GAAGjS,EAAE,CAAC,0BAA0B,EAAE;AAC3D,IAAA,gCAAgC,EAAEoD,IAAAA;AAClC,GAAA,CAAC,CAAA;AACF,EAAA,IAAM8O,kBAAkB,GAAGjW,KAAK,CAACkW,MAAM,CAAiB,IAAI,CAAC,CAAA;AAC7D,EAAA,IAAMC,sBAAsB,GAAGnW,KAAK,CAACkW,MAAM,CAAoB,IAAI,CAAC,CAAA;AACpElB,EAAAA,eAAe,CAACiB,kBAAkB,EAAEE,sBAAsB,EAAE,YAAA;IAAA,OAC3DJ,YAAY,CAAC,KAAK,CAAC,CAAA;GACnB,CAAA,CAAA;AACD,EAAA,OACC/V,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAA,IAAA,EACCN,KAAA,CAAAM,aAAA,CAACiH,sBAAe,EAAArG,QAAA,CAAA;AACfjB,IAAAA,SAAS,EAAE8D,EAAE,CAAC,2BAA2B,EAAE9D,SAAS,CAAC;IACrDuH,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQuO,YAAY,CAAC,CAAC5O,IAAI,CAAC,CAAA;AAAA,KAAA;AACnB,IAAA,eAAA,EAAA,IAAI;AACJ,IAAA,eAAA,EAAAA,IAAI;AACnB8N,IAAAA,GAAG,EAAEkB,sBAAAA;AAAsB,GAAA,EACvBpV,IAAI,CAERf,EAAAA,KAAK,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAAL,IAAAA,SAAS,EAAC,oCAAA;AAAoC,GAAA,EAClDD,KAAM,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAAL,IAAAA,SAAS,EAAC,8BAAA;AAA8B,GAAA,EAC7CD,KAAA,CAAAM,aAAA,CAAC8V,cAAQ,EAAA;AAACrB,IAAAA,MAAM,EAAA,IAAA;GAAA,CAAG,CACb,EACP/U,KAAC,CAAAM,aAAA,CAAA+V,mBAAQ;AAAC1T,IAAAA,MAAM,EAAC,MAAM;AAAC/B,IAAAA,EAAE,EAAC,MAAA;AAAM,GAAA,EAC/BkV,QAAQ,EACRzN,WAAW,KAAKzC,SAAS,IACzByC,WAAW,KAAKP,mBAAW,CAACU,UAAU,IACrCxI,KAAM,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAAgW,IAAAA,KAAK,EAAE;MAAEpT,KAAK,EAAEkF,sBAAsB,CAACC,WAAW,CAAA;AAAG,KAAA;AAAA,GAAA,EACzD,GAAG,OACFI,2BAA2B,CAACJ,WAAW,CAAC,EACpC,GAAA,CACP,CACQ,EACXrI,KAAM,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAAL,IAAAA,SAAS,EAAC,gBAAA;AAAgB,GAAA,EAC/BD,KAAA,CAAAM,aAAA,CAACiW,mBAAa,EAAC;AAAAxB,IAAAA,MAAM,EAAG,IAAA;AAAA,GAAA,CAAA,CAClB,CACF,CACW,EACjB5N,IAAI,IACJnH,KACC,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAAL,IAAAA,SAAS,EAAE+V,oBAAoB;AAC/BtB,IAAAA,IAAI,EAAC,MAAM;AACXO,IAAAA,GAAG,EAAEgB,kBAAAA;GAEJ,EAAAlW,QAAQ,CAEV,CACI,CAAA;AAER,CAAC;;AChEM,IAAMyW,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA1W,IAAA,EAKvB;AAAA,EAAA,IAJXkL,QAAQ,GAAAlL,IAAA,CAARkL,QAAQ;IACRyL,gBAAgB,GAAA3W,IAAA,CAAhB2W,gBAAgB;IAChB7B,OAAO,GAAA9U,IAAA,CAAP8U,OAAO;IACP/J,IAAI,GAAA/K,IAAA,CAAJ+K,IAAI,CAAA;AAEJ,EAAA,IAAM6L,iBAAiB,GAAG5J,gBAAgB,CAAC,yBAAyB,CAAC,CAAA;AACrE,EAAA,IAAM6J,oBAAoB,GAAGD,iBAAiB,GAAG,OAAO,GAAG,IAAI,CAAA;AAC/D,EAAA,IAAME,kBAAkB,GAAGF,iBAAiB,GAAG,OAAO,GAAG,IAAI,CAAA;AAE7D,EAAA,OACC1W,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,EAAA,IAAA,EACEyK,QAAQ,KAAK4L,kBAAkB,GAC/B5W,oBAACyU,sBAAsB,EAAA;AACtBjN,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAO;MACbiP,gBAAgB,CAACE,oBAAoB,CAAC,CAAA;MACtC/B,OAAO,CAAC,KAAK,CAAC,CAAA;KACd;AACD3U,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EAEnCD,KAAkB,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAA,IAAA,aAAA,EAAA,IAAA;AAAAL,IAAAA,SAAS,EAAC,gCAAA;AAAgC,GAAA,EAC3DD,KAAC,CAAAM,aAAA,CAAAuW,gBAAU;AAACnQ,IAAAA,IAAI,EAAC,MAAM;AAACqO,IAAAA,MAAM;IAAG,CAC3B,EACNlK,IAAI,CACmB,GAEzB7K,KAAC,CAAAM,aAAA,CAAAmU,sBAAsB,EACtB;AAAAjN,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAO;MACbiP,gBAAgB,CAACG,kBAAkB,CAAC,CAAA;MACpChC,OAAO,CAAC,KAAK,CAAC,CAAA;KACd;AACD3U,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EAEnCD,KAAkB,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAA,IAAA,aAAA,EAAA,IAAA;AAAAL,IAAAA,SAAS,EAAC,gCAAA;AAAgC,GAAA,EAC3DD,KAAC,CAAAM,aAAA,CAAAwW,YAAM;AAACpQ,IAAAA,IAAI,EAAC,MAAM;AAACqO,IAAAA,MAAM;IAAG,CACvB,EACNlK,IAAI,CAEN,CACC,CAAA;AAEL,CAAC;;AC3CM,IAAMkM,cAAc,GAAG,SAAjBA,cAAcA,CAAAjX,IAAA,EAA0C;AAAA,EAAA,IAApC+K,IAAI,GAAA/K,IAAA,CAAJ+K,IAAI;IAAE+J,OAAO,GAAA9U,IAAA,CAAP8U,OAAO;IAAEoC,QAAQ,GAAAlX,IAAA,CAARkX,QAAQ,CAAA;AACvD,EAAA,OACChX,KAAC,CAAAM,aAAA,CAAAmU,sBAAsB;AACtBjN,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAO;AACbwP,MAAAA,QAAQ,EAAE,CAAA;MACVpC,OAAO,CAAC,KAAK,CAAC,CAAA;KACd;AACW,IAAA,aAAA,EAAA,kBAAkB;AAC9B3U,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EAEnCD,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAA,IAAA,aAAA,EAAA,IAAA;AAAA,GAAA,EACCN,KAAC,CAAAM,aAAA,CAAA2W,gBAAU;AAACvQ,IAAAA,IAAI,EAAC,MAAM;AAACqO,IAAAA,MAAM;IAAG,CAC3B,EACNlK,IAAI,CACmB,CAAA;AAE3B,CAAC;;ACfM,IAAMqM,YAAY,GAAG,SAAfA,YAAYA,CAAApX,IAAA,EAIb;AAAA,EAAA,IAHX+K,IAAI,GAAA/K,IAAA,CAAJ+K,IAAI;IACJ+J,OAAO,GAAA9U,IAAA,CAAP8U,OAAO;IACPuC,qBAAqB,GAAArX,IAAA,CAArBqX,qBAAqB,CAAA;AAErB,EAAA,OACCnX,KAAA,CAAAM,aAAA,CAAC2F,mBAAI,EAAA;AAACC,IAAAA,EAAE,EAAC,8BAA8B;AAACoQ,IAAAA,KAAK,EAAE;AAAEc,MAAAA,cAAc,EAAE,MAAA;AAAQ,KAAA;AAAA,GAAA,EACxEpX,KAAA,CAAAM,aAAA,CAACmU,sBAAsB,EAAA;AACtBjN,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAO;MACboN,OAAO,CAAC,KAAK,CAAC,CAAA;AACduC,MAAAA,qBAAqB,EAAE,CAAA;KACvB;AACDlX,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EAEnCD,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAA,IAAA,aAAA,EAAA,IAAA;AAAA,GAAA,EACCN,KAAC,CAAAM,aAAA,CAAA8V,cAAQ;AAAC1P,IAAAA,IAAI,EAAC,MAAM;AAACqO,IAAAA,MAAM;IAAG,CACzB,EACNlK,IAAI,CACmB,CACnB,CAAA;AAET,CAAC;;AC7BM,IAAMwM,eAAe,GAGvB,SAHQA,eAAeA,CAAAvX,IAAA,EAGA;AAAA,EAAA,IAApB4F,KAAK,GAAA5F,IAAA,CAAL4F,KAAK;IAAEkP,OAAO,GAAA9U,IAAA,CAAP8U,OAAO,CAAA;AACrB,EAAA,IAAM0C,QAAQ,GAAGC,0BAAW,EAAE,CAAC;AAC/B,EAAA,OACCvX,KAAC,CAAAM,aAAA,CAAAmU,sBAAsB;AACtBjN,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAO;MACb8P,QAAQ,CAAC,cAAc,CAAC,CAAA;MACxB1C,OAAO,CAAC,KAAK,CAAC,CAAA;KACd;AACD3U,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EAEnCD,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAA,IAAA,aAAA,EAAA,IAAA;AAAA,GAAA,EACCN,KAAA,CAAAM,aAAA,CAACkX,kBAAY,EAAA;AAACvX,IAAAA,SAAS,EAAC,kBAAkB;AAACyG,IAAAA,IAAI,EAAC,MAAM;AAACqO,IAAAA,MAAM,EAAA,IAAA;AAAA,GAAA,CAAG,CAC1D,EACNrP,KAAK,CACkB,CAAA;AAE3B,CAAC;;ACzBD;IAmCa+R,QAAQ,GAAsB,SAA9BA,QAAQA,CAAA3X,IAAA,EAahB;AAAA,EAAA,IAZJG,SAAS,GAAAH,IAAA,CAATG,SAAS;IACT4G,QAAQ,GAAA/G,IAAA,CAAR+G,QAAQ;IACRmQ,QAAQ,GAAAlX,IAAA,CAARkX,QAAQ;IACRP,gBAAgB,GAAA3W,IAAA,CAAhB2W,gBAAgB;IAChBX,QAAQ,GAAAhW,IAAA,CAARgW,QAAQ;IACR9K,QAAQ,GAAAlL,IAAA,CAARkL,QAAQ;IACR3C,WAAW,GAAAvI,IAAA,CAAXuI,WAAW;IACXqP,eAAe,GAAA5X,IAAA,CAAf4X,eAAe;IACfC,iBAAiB,GAAA7X,IAAA,CAAjB6X,iBAAiB;IACjBC,sBAAsB,GAAA9X,IAAA,CAAtB8X,sBAAsB;IACtBT,qBAAqB,GAAArX,IAAA,CAArBqX,qBAAqB;IAAAU,qBAAA,GAAA/X,IAAA,CACrB+U,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAgD,qBAAA,KAAA,KAAA,CAAA,GAAG,YAAK,EAAG,GAAAA,qBAAA,CAAA;EAE/B,IAAMC,gBAAgB,GAAG/T,EAAE,CAAC,CAAC,+BAA+B,EAAE9D,SAAS,CAAC,CAAC,CAAA;AACzE,EAAA,IAAA6O,SAAA,GAAwBC,cAAQ,CAAC,KAAK,CAAC;AAAhC5H,IAAAA,IAAI,GAAA2H,SAAA,CAAA,CAAA,CAAA;AAAE8F,IAAAA,OAAO,GAAA9F,SAAA,CAAA,CAAA,CAAA,CAAA;AAEpB,EAAA,OACC9O,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAKyX,IAAAA,EAAE,EAAC,eAAA;AAAe,GAAA,EACtB/X,KAAC,CAAAM,aAAA,CAAAuV,kBAAkB;AAClB1O,IAAAA,IAAI,EAAEA,IAAI;AACV4O,IAAAA,YAAY,EAAEnB,OAAO;AACrB3U,IAAAA,SAAS,EAAE6X,gBAAgB;AAC3BhC,IAAAA,QAAQ,EAAEA,QAAQ;AAClBzN,IAAAA,WAAW,EAAEA,WAAAA;AAAW,GAAA,EAExBrI,KAAK,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAAyX,IAAAA,EAAE,EAAC,mBAAA;AAAmB,GAAA,EAC1B/X,KAAA,CAAAM,aAAA,CAACkW,sBAAsB,EACtB;IAAA3L,IAAI,EAAEhE,QAAQ,CAACmR,cAAc;AAC7BhN,IAAAA,QAAQ,EAAEA,QAAQ;AAClByL,IAAAA,gBAAgB,EAAEA,gBAAgB;AAClC7B,IAAAA,OAAO,EAAEA,OAAAA;AACR,GAAA,CAAA,EACD8C,eAAe,IAAI7Q,QAAQ,CAACoR,UAAU,IACtCjY,oBAACqX,eAAe,EAAA;IAAC3R,KAAK,EAAEmB,QAAQ,CAACoR,UAAU;AAAErD,IAAAA,OAAO,EAAEA,OAAAA;IACtD,EACA+C,iBAAiB,IAAI9Q,QAAQ,CAACqR,SAAS,IACvClY,KAAA,CAAAM,aAAA,CAAC4W,YAAY,EAAA;IACZrM,IAAI,EAAEhE,QAAQ,CAACqR,SAAS;AACxBtD,IAAAA,OAAO,EAAEA,OAAO;AAChBuC,IAAAA,qBAAqB,EAAEA,qBAAAA;AAAqB,GAAA,CAE7C,EACAS,sBAAsB,IAAI/Q,QAAQ,CAACsR,cAAc,IACjDnY,KAAA,CAAAM,aAAA,CAACqU,sBAAsB,EAAA;IACtB9J,IAAI,EAAEhE,QAAQ,CAACsR,cAAc;AAC7BvD,IAAAA,OAAO,EAAEA,OAAO;AAChBC,IAAAA,oBAAoB,EAAEA,oBAAAA;AAAoB,GAAA,CAE3C,EACD7U,KAAC,CAAAM,aAAA,CAAAyW,cAAc;IACdlM,IAAI,EAAEhE,QAAQ,CAACuR,MAAM;AACrBxD,IAAAA,OAAO,EAAEA,OAAO;AAChBoC,IAAAA,QAAQ,EAAEA,QAAAA;GAAQ,CACjB,CACG,CACc,CAChB,CAAA;AAER;;AC9FA;AAKM,SAAUqB,gBAAgBA,CAC/BC,SAAiB,EACjBnD,OAA8B,EAC9BO,SAAqC;AAAA,EAAA,IAArCA;AAAAA,IAAAA,UAA+BpK,MAAM,CAAA;AAAA,GAAA;AAErC,EAAA,IAAMiN,YAAY,GAAGrC,YAAM,EAAyB,CAAA;AAEpD9F,EAAAA,eAAS,CAAC,YAAK;IACdmI,YAAY,CAAChD,OAAO,GAAGJ,OAAO,CAAA;AAC/B,GAAC,EAAE,CAACA,OAAO,CAAC,CAAC,CAAA;AAEb/E,EAAAA,eAAS,CAAC,YAAK;AAAA,IAAA,IAAAoI,QAAA,CAAA;IACd,IAAMC,WAAW,IAAAD,QAAA,GAAG9C,OAAO,KAAP8C,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAA,CAAShD,gBAAgB,CAAA;IAC7C,IAAI,CAACiD,WAAW,EAAE,OAAA;AAElB,IAAA,IAAMC,aAAa,GAAI,SAAjBA,aAAaA,CAAKrD,KAAQ,EAAA;MAAA,OAC/BkD,YAAY,CAAChD,OAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAApBgD,YAAY,CAAChD,OAAO,CAAGF,KAAK,CAAC,CAAA;KAAkB,CAAA;AAEhDK,IAAAA,OAAO,CAACF,gBAAgB,CAAC8C,SAAS,EAAEI,aAAa,CAAC,CAAA;AAElD,IAAA,OAAO,YAAK;AACXhD,MAAAA,OAAO,CAACD,mBAAmB,CAAC6C,SAAS,EAAEI,aAAa,CAAC,CAAA;KACrD,CAAA;AACF,GAAC,EAAE,CAACJ,SAAS,EAAE5C,OAAO,CAAC,CAAC,CAAA;AACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"common.cjs.development.js","sources":["../src/ActionBar.tsx","../src/FormatDateTime.tsx","../src/Box.tsx","../src/Stack.tsx","../src/AuditInfo.tsx","../src/BetaTopNavigation.tsx","../src/Breadcrumbs.tsx","../src/ConfirmModal.tsx","../src/Content.tsx","../src/environment.ts","../src/EnturPartnerLogo.tsx","../src/ErrorBoundary.tsx","../src/ExpandableMultiLanguageInput.tsx","../src/FeatureToggle.tsx","../src/FormatCurrencyAmount.tsx","../src/LanguageSelect.tsx","../src/Link.tsx","../src/LinkButton.tsx","../src/Menu.tsx","../src/MultiLanguageInput.tsx","../src/OrganisationDropdown.tsx","../src/Pager.tsx","../src/PageTitle.tsx","../src/PermissionCheck.tsx","../src/RouteLeavingGuard.tsx","../src/StatusLabel.tsx","../src/Text.tsx","../src/Unbutton.tsx","../src/UserMenu/components/CustomOverflowMenuItem.tsx","../src/UserMenu/components/CookieSettingsMenuItem.tsx","../src/UserMenu/useOutsideClick.ts","../src/UserMenu/components/CustomOverflowMenu.tsx","../src/UserMenu/components/LanguageSwitchMenuItem.tsx","../src/UserMenu/components/LogOutMenuItem.tsx","../src/UserMenu/components/UserMenuItem.tsx","../src/UserMenu/components/VersionMenuItem.tsx","../src/UserMenu/index.tsx","../src/useEventListener.ts"],"sourcesContent":["import \"./ActionBar.scss\";\nimport React, { type ReactNode } from \"react\";\n\nexport interface ActionBarProps {\n\tchildren: ReactNode;\n}\n\nconst ActionBarLeft = ({ children }: ActionBarProps) => {\n\treturn <div className=\"eps-action-bar-left\">{children}</div>;\n};\n\nconst ActionBarRight = ({ children }: ActionBarProps) => {\n\treturn <div className=\"eps-action-bar-right\">{children}</div>;\n};\n\nconst ActionBar = ({ children }: ActionBarProps) => {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"eps-action-bar-padding\" />\n\t\t\t<div className=\"eps-action-bar\">{children}</div>\n\t\t</>\n\t);\n};\n\nexport { ActionBar, ActionBarLeft, ActionBarRight };\n","import { localeDate, localeDateTime } from \"@entur-partner/util\";\nimport React, { type FC } from \"react\";\n\nexport interface FormatDateTimeProps {\n\tdate: string | Date;\n\tlocale: string;\n\t// biome-ignore lint/suspicious/noExplicitAny: Ignore for now.\n\t[key: string]: any;\n}\n\nexport const FormatDateTime: FC<FormatDateTimeProps> = ({\n\tdate,\n\tlocale,\n\tas: Component = \"main\",\n\thideTime,\n\t...rest\n}) => {\n\treturn (\n\t\t<Component {...rest}>\n\t\t\t{hideTime ? localeDate(date, locale) : localeDateTime(date, locale)}\n\t\t</Component>\n\t);\n};\n","import \"./Box.scss\";\n\nimport cx from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport React from \"react\";\n\ntype StyleSpacing =\n\t| \"none\"\n\t| \"extraSmall2\"\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\"\n\t| \"extraLarge5\"\n\t| \"extraLarge6\"\n\t| \"extraLarge7\"\n\t| \"extraLarge8\"\n\t| \"extraLarge9\";\n\ntype StyleMargin = StyleSpacing | \"auto\";\n\ntype StyleDisplay = \"block\" | \"flex\" | \"inline\" | \"inline-block\";\ntype StyleJustifyContent = \"center\" | \"space-between\" | \"start\" | \"end\";\ntype StyleAlignItems = \"center\" | \"start\" | \"end\" | \"stretch\" | \"baseline\";\n\ntype StyleMaxWidth =\n\t| \"none\"\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\"\n\t| \"extraLarge5\"\n\t| \"extraLarge6\"\n\t| \"full\";\ntype StyleWidth = \"auto\" | \"full\";\n\nexport type StyleBackground = \"blue\" | \"lavender\" | \"white\" | \"blue70\";\nexport type StyleColor = \"blue\" | \"lavender\" | \"white\" | \"black\";\n\ntype StyleFlexDirection = \"row\" | \"column\" | \"row-reverse\" | \"column-reverse\";\ntype StyleFlexWrap = \"wrap\" | \"nowrap\" | \"wrap-reverse\";\n\nexport type ResponsiveStyleSpacing =\n\t| StyleSpacing\n\t| [StyleSpacing?, StyleSpacing?, StyleSpacing?];\nexport type ResponsiveStyleMargin =\n\t| StyleMargin\n\t| [StyleMargin?, StyleMargin?, StyleMargin?];\n\nexport type ResponsiveStyleDisplay =\n\t| StyleDisplay\n\t| [StyleDisplay?, StyleDisplay?, StyleDisplay?];\nexport type ResponsiveStyleJustifyContent =\n\t| StyleJustifyContent\n\t| [StyleJustifyContent?, StyleJustifyContent?, StyleJustifyContent?];\nexport type ResponsiveStyleAlignItems =\n\t| StyleAlignItems\n\t| [StyleAlignItems?, StyleAlignItems?, StyleAlignItems?];\n\nexport type ResponsiveStyleMaxWidth =\n\t| StyleMaxWidth\n\t| [StyleMaxWidth?, StyleMaxWidth?, StyleMaxWidth?];\nexport type ResponsiveStyleWidth =\n\t| StyleWidth\n\t| [StyleWidth?, StyleWidth?, StyleWidth?];\n\nexport type ResponsiveStyleFlexDirection =\n\t| StyleFlexDirection\n\t| [StyleFlexDirection?, StyleFlexDirection?, StyleFlexDirection?];\nexport type ResponsiveStyleFlexWrap =\n\t| StyleFlexWrap\n\t| [StyleFlexWrap?, StyleFlexWrap?, StyleFlexWrap?];\n\nexport interface BoxProps {\n\tclassName?: string;\n\tas?: React.ElementType;\n\t[key: string]: object | string | number | boolean | undefined | ReactNode;\n\tchildren: ReactNode;\n\n\tcontrast?: boolean;\n\n\tpaddingTop?: ResponsiveStyleSpacing;\n\tpaddingRight?: ResponsiveStyleSpacing;\n\tpaddingBottom?: ResponsiveStyleSpacing;\n\tpaddingLeft?: ResponsiveStyleSpacing;\n\tpaddingX?: ResponsiveStyleSpacing;\n\tpaddingY?: ResponsiveStyleSpacing;\n\tpadding?: ResponsiveStyleSpacing;\n\n\tmarginTop?: ResponsiveStyleMargin;\n\tmarginRight?: ResponsiveStyleMargin;\n\tmarginBottom?: ResponsiveStyleMargin;\n\tmarginLeft?: ResponsiveStyleMargin;\n\tmarginX?: ResponsiveStyleMargin;\n\tmarginY?: ResponsiveStyleMargin;\n\tmargin?: ResponsiveStyleMargin;\n\n\tdisplay?: ResponsiveStyleDisplay;\n\tjustifyContent?: ResponsiveStyleJustifyContent;\n\talignItems?: ResponsiveStyleAlignItems;\n\n\tmaxWidth?: ResponsiveStyleMaxWidth;\n\twidth?: ResponsiveStyleWidth;\n\tbackground?: StyleBackground;\n\tcolor?: StyleColor;\n\n\tflexDirection?: ResponsiveStyleFlexDirection;\n\tflexWrap?: ResponsiveStyleFlexWrap;\n}\n\ntype ResponsiveProp = string | [string?, string?, string?];\n\nexport function responsiveProp(prefix: string, prop: ResponsiveProp): string[] {\n\tif (Array.isArray(prop)) {\n\t\tconst classes = [];\n\t\tprop[0] && classes.push(prefix + prop[0]);\n\t\tprop[1] && classes.push(`${prefix}${prop[1]}-lg`);\n\t\tprop[2] && classes.push(`${prefix}${prop[2]}-xl`);\n\t\treturn classes;\n\t}\n\treturn [prefix + prop];\n}\n\nexport const Box = ({\n\tas: Component = \"div\",\n\tchildren,\n\tcontrast,\n\tpaddingTop,\n\tpaddingRight,\n\tpaddingBottom,\n\tpaddingLeft,\n\tpaddingX,\n\tpaddingY,\n\tpadding,\n\tmarginTop,\n\tmarginRight,\n\tmarginBottom,\n\tmarginLeft,\n\tmarginX,\n\tmarginY,\n\tmargin,\n\tdisplay,\n\tjustifyContent,\n\talignItems,\n\tmaxWidth,\n\twidth,\n\tbackground,\n\tcolor,\n\tflexDirection,\n\tflexWrap,\n\tclassName,\n\t...rest\n}: BoxProps) => {\n\tconst classes = [];\n\tconst resolvedPaddingTop = paddingTop || paddingY || padding;\n\tconst resolvedPaddingBottom = paddingBottom || paddingY || padding;\n\tconst resolvedPaddingLeft = paddingLeft || paddingX || padding;\n\tconst resolvedPaddingRight = paddingRight || paddingX || padding;\n\n\tconst resolvedMarginTop = marginTop || marginY || margin;\n\tconst resolvedMarginBottom = marginBottom || marginY || margin;\n\tconst resolvedMarginLeft = marginLeft || marginX || margin;\n\tconst resolvedMarginRight = marginRight || marginX || margin;\n\n\tcontrast && classes.push(\"eds-contrast\");\n\tresolvedPaddingTop &&\n\t\tclasses.push(...responsiveProp(\"eps-pt-\", resolvedPaddingTop));\n\tresolvedPaddingBottom &&\n\t\tclasses.push(...responsiveProp(\"eps-pb-\", resolvedPaddingBottom));\n\tresolvedPaddingLeft &&\n\t\tclasses.push(...responsiveProp(\"eps-pl-\", resolvedPaddingLeft));\n\tresolvedPaddingRight &&\n\t\tclasses.push(...responsiveProp(\"eps-pr-\", resolvedPaddingRight));\n\tresolvedMarginTop &&\n\t\tclasses.push(...responsiveProp(\"eps-mt-\", resolvedMarginTop));\n\tresolvedMarginBottom &&\n\t\tclasses.push(...responsiveProp(\"eps-mb-\", resolvedMarginBottom));\n\tresolvedMarginLeft &&\n\t\tclasses.push(...responsiveProp(\"eps-ml-\", resolvedMarginLeft));\n\tresolvedMarginRight &&\n\t\tclasses.push(...responsiveProp(\"eps-mr-\", resolvedMarginRight));\n\n\tdisplay && classes.push(...responsiveProp(\"eps-\", display));\n\tjustifyContent &&\n\t\tclasses.push(...responsiveProp(\"eps-justify-\", justifyContent));\n\tif (alignItems) {\n\t\tclasses.push(...responsiveProp(\"eps-items-\", alignItems));\n\t}\n\n\tmaxWidth && classes.push(...responsiveProp(\"eps-max-w-\", maxWidth));\n\twidth && classes.push(...responsiveProp(\"eps-w-\", width));\n\n\tcolor && classes.push(`eps-color-${color}`);\n\tbackground && classes.push(`eps-bg-${background}`);\n\n\tflexDirection && classes.push(...responsiveProp(\"eps-flex-\", flexDirection));\n\tflexWrap && classes.push(...responsiveProp(\"eps-flex-wrap-\", flexWrap));\n\n\tconst classList = cx(classes, className);\n\n\treturn (\n\t\t<Component className={classList} {...rest}>\n\t\t\t{children}\n\t\t</Component>\n\t);\n};\n","/** biome-ignore-all lint/suspicious/noArrayIndexKey: Ignore for now. Should be tested properly before doing changes */\nimport React, { Children, type ReactNode } from \"react\";\n\nimport { Box, type ResponsiveStyleSpacing } from \"./Box\";\n\nexport interface StackProps {\n\tclassName?: string;\n\tchildren: ReactNode;\n\tspace: ResponsiveStyleSpacing;\n}\n\nexport const Stack = ({ children, space, className }: StackProps) => {\n\tconst stackItems = Children.toArray(children);\n\tif (stackItems.length <= 1) {\n\t\treturn <>{stackItems}</>;\n\t}\n\n\treturn (\n\t\t<div className={className}>\n\t\t\t{stackItems.map((child, index) =>\n\t\t\t\tindex === stackItems.length - 1 ? (\n\t\t\t\t\t<div key={index}>{child}</div>\n\t\t\t\t) : (\n\t\t\t\t\t<Box paddingBottom={space} key={index}>\n\t\t\t\t\t\t{child}\n\t\t\t\t\t</Box>\n\t\t\t\t),\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import \"./AuditInfo.scss\";\n\nimport { isDate, isDateString } from \"@entur-partner/util\";\nimport cx from \"classnames\";\nimport React, { type FC } from \"react\";\n\nimport { FormatDateTime } from \"./FormatDateTime\";\nimport { Stack } from \"./Stack\";\n\ninterface Item {\n\tlabel: string;\n\tvalue: Date | string;\n}\n\nexport interface AuditInfoProps {\n\titems: Item[];\n\tlocale: string;\n\tclassName?: string;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const AuditInfo: FC<AuditInfoProps> = ({\n\titems,\n\tlocale,\n\tclassName,\n\t...rest\n}) => {\n\tconst classNames = cx(\"ep-audit-info\", className);\n\treturn (\n\t\t<div className={classNames} {...rest}>\n\t\t\t{items.map(({ label, value }) => (\n\t\t\t\t<Stack space=\"small\" key={value.toString()}>\n\t\t\t\t\t<div className=\"ep-audit-info-label\">{label}</div>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{isDate(value) || isDateString(value) ? (\n\t\t\t\t\t\t\t<FormatDateTime date={value} locale={locale} />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span>{value}</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</Stack>\n\t\t\t))}\n\t\t</div>\n\t);\n};\n","import \"./BetaTopNavigation.scss\";\n\nimport classnames from \"classnames\";\nimport React, { FC, ReactNode } from \"react\";\n\ninterface BetaTopNavigationProps {\n\tchildren: ReactNode;\n\tas?: \"nav\" | React.ElementType;\n\tclassName?: string;\n}\n\nexport const BetaTopNavigation: FC<BetaTopNavigationProps> = ({\n\tas: Component = \"nav\",\n\tclassName,\n\tchildren,\n}) => {\n\tconst classList = classnames([className]);\n\n\treturn <Component className={classList}> {children}</Component>;\n};\n","import \"./Breadcrumbs.scss\";\nimport { BreadcrumbItem, BreadcrumbNavigation } from \"@entur/menu\";\nimport { splitUrlPath } from \"@entur-partner/util\";\nimport React, { type FC, type ReactElement } from \"react\";\nimport { Link } from \"react-router-dom\";\n\nexport interface BreadcrumbsProps {\n\tpathname: string;\n\tonBreadcrumbLookup: (path: string) => string | undefined;\n\tprependBreadcrumbItem?: ReactElement;\n}\n\nexport const Breadcrumbs: FC<BreadcrumbsProps> = ({\n\tprependBreadcrumbItem,\n\tpathname,\n\tonBreadcrumbLookup,\n}) => {\n\tconst paths: string[] = splitUrlPath(pathname);\n\n\tconst breadcrumbs = paths\n\t\t.map((path) => ({ title: onBreadcrumbLookup(path), path }))\n\t\t.filter(({ title }) => title !== undefined);\n\n\tconst breadcrumbElements = breadcrumbs.map(({ title, path }, i) => {\n\t\tconst isLast = i === breadcrumbs.length - 1;\n\t\tif (isLast) {\n\t\t\treturn (\n\t\t\t\t<BreadcrumbItem key={path} as={\"span\"}>\n\t\t\t\t\t{title}\n\t\t\t\t</BreadcrumbItem>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<BreadcrumbItem key={path} as={Link} to={path}>\n\t\t\t\t{title}\n\t\t\t</BreadcrumbItem>\n\t\t);\n\t});\n\n\tif (prependBreadcrumbItem) {\n\t\treturn (\n\t\t\t<BreadcrumbNavigation>\n\t\t\t\t{[prependBreadcrumbItem, ...breadcrumbElements]}\n\t\t\t</BreadcrumbNavigation>\n\t\t);\n\t}\n\n\treturn <BreadcrumbNavigation>{breadcrumbElements}</BreadcrumbNavigation>;\n};\n","import \"./ConfirmModal.scss\";\n\nimport { ButtonGroup, PrimaryButton, SecondaryButton } from \"@entur/button\";\nimport { Modal, type ModalProps } from \"@entur/modal\";\nimport { Paragraph } from \"@entur/typography\";\nimport { isString } from \"@entur-partner/util\";\nimport type { FC, ReactNode } from \"react\";\nimport React from \"react\";\n\nimport { Box } from \"./Box\";\n\nexport interface BaseConfirmModalProps extends Partial<ModalProps> {\n\ttitle: string;\n\tchildren: React.ReactNode;\n\tcloseLabel: string;\n\n\t/** Deprecated use children prop */\n\tmessage?: ReactNode;\n\t/** Deprecated use open prop */\n\tisOpen?: boolean;\n\t/** Deprecated use onDismiss prop */\n\tonClose?: () => void;\n}\n\ninterface CustomConfirmModalButtons extends BaseConfirmModalProps {\n\tbuttons: ReactNode[];\n}\n\ninterface DefaultConfirmModalHandler extends BaseConfirmModalProps {\n\tonConfirm: () => void;\n\tmessages: {\n\t\tconfirm: string;\n\t\tcancel: string;\n\t};\n}\n\nexport type ConfirmModalProps =\n\t| CustomConfirmModalButtons\n\t| DefaultConfirmModalHandler;\n\nexport const ConfirmModal: FC<ConfirmModalProps> = ({\n\tisOpen = false,\n\tchildren,\n\tmessage,\n\tsize = \"medium\",\n\tbuttons,\n\tonConfirm,\n\tmessages,\n\tonClose,\n\tonDismiss,\n\t...rest\n}) => {\n\tconst childrenToRender = children ? children : message;\n\tconst handleDismiss = onClose ? onClose : onDismiss;\n\treturn (\n\t\t<Modal size={size} open={isOpen} onDismiss={handleDismiss} {...rest}>\n\t\t\t{isString(childrenToRender) ? (\n\t\t\t\t<Paragraph>{childrenToRender}</Paragraph>\n\t\t\t) : (\n\t\t\t\t<Box paddingBottom=\"medium\">{childrenToRender}</Box>\n\t\t\t)}\n\n\t\t\t<ButtonGroup>\n\t\t\t\t{onConfirm ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<SecondaryButton\n\t\t\t\t\t\t\tonClick={handleDismiss}\n\t\t\t\t\t\t\tdata-testid=\"cancel-modal-button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{messages.cancel}\n\t\t\t\t\t\t</SecondaryButton>\n\t\t\t\t\t\t<PrimaryButton\n\t\t\t\t\t\t\tonClick={onConfirm}\n\t\t\t\t\t\t\tdata-testid=\"confirm-modal-button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{messages.confirm}\n\t\t\t\t\t\t</PrimaryButton>\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\tbuttons\n\t\t\t\t)}\n\t\t\t</ButtonGroup>\n\t\t</Modal>\n\t);\n};\n","import \"./Content.scss\";\n\nimport classnames from \"classnames\";\nimport type { FC, ReactNode } from \"react\";\nimport React from \"react\";\n\ninterface ContentProps {\n\tchildren: ReactNode;\n\tas?: \"main\" | React.ElementType;\n\tclassName?: string;\n}\nexport const Content: FC<ContentProps> = ({\n\tas: Component = \"main\",\n\tclassName,\n\tchildren,\n}) => {\n\tconst classList = classnames([\"eps-content\", className]);\n\n\treturn <Component className={classList}>{children}</Component>;\n};\n","export enum Environment {\n\tLocal = \"local\",\n\tDevelopment = \"dev\",\n\tStaging = \"staging\",\n\tProduction = \"prod\",\n}\n\nconst environmentColors: Record<\n\tExclude<Environment, Environment.Production>,\n\tstring\n> = {\n\t[Environment.Local]: \"#B482FB\",\n\t[Environment.Development]: \"#5AC39A\",\n\t[Environment.Staging]: \"#FFCA28\",\n};\n\n/**\n * Gets the color for the given environment. This is the color used for the environment\n * indicator. There is no color for production as it should not have any special environment\n * indication.\n */\nexport const getColorForEnvironment = (\n\tenvironment: Exclude<Environment, Environment.Production>,\n) => environmentColors[environment];\n\nconst humanReadableEnvironment: Record<Environment, string> = {\n\t[Environment.Local]: \"Local\",\n\t[Environment.Development]: \"Dev\",\n\t[Environment.Staging]: \"Staging\",\n\t[Environment.Production]: \"Prod\",\n};\n\nexport const getHumanReadableEnvironment = (environment: Environment) =>\n\thumanReadableEnvironment[environment];\n","import \"./EnturPartnerLogo.scss\";\n\nimport classnames from \"classnames\";\nimport type { FC } from \"react\";\nimport React from \"react\";\n\nimport { Environment, getColorForEnvironment } from \"./environment\";\n\ninterface LogoProps {\n\ttitle: string;\n\tclassName?: string;\n\taccentColor?: string;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const EnturPartnerLogoSvg: FC<LogoProps> = ({\n\ttitle,\n\taccentColor = \"#FF5959\",\n\t...rest\n}) => {\n\treturn (\n\t\t<svg width={257} height={37} viewBox=\"0 0 257 37\" {...rest}>\n\t\t\t<title>{title}</title>\n\t\t\t<g fill=\"none\" fillRule=\"evenodd\">\n\t\t\t\t<path\n\t\t\t\t\tfill=\"#FFF\"\n\t\t\t\t\td=\"M0 .231V25.72h18.745v-4.318H4.869v-6.163h12.31v-4.318H4.87V4.55h13.876V.231z\"\n\t\t\t\t/>\n\t\t\t\t<path fill={accentColor} d=\"M0 36.408h45.253v-4.32H0z\" />\n\t\t\t\t<path\n\t\t\t\t\tfill=\"#FFF\"\n\t\t\t\t\td=\"M40.384.231v15.425L23.656.231h-.521V25.72h4.869V10.573L44.732 25.72h.521V.23zM69.25 15.238h-7.267v21.17h-4.87v-21.17H49.81V10.92h19.44zM83.863 36.86c-1.646 0-3.142-.255-4.486-.765-1.345-.51-2.493-1.23-3.443-2.159-.95-.928-1.687-2.054-2.208-3.378-.522-1.323-.783-2.797-.783-4.422V10.92h4.869v15.216c0 1.277.209 2.333.626 3.169.417.836.933 1.497 1.548 1.985a5.346 5.346 0 001.982 1.01c.707.186 1.339.278 1.895.278.557 0 1.188-.092 1.896-.279a5.35 5.35 0 001.982-1.01c.614-.487 1.13-1.148 1.548-1.984.417-.836.625-1.892.625-3.169V10.92h4.87v15.216c0 1.625-.256 3.1-.766 4.422-.51 1.324-1.24 2.45-2.19 3.378-.952.929-2.1 1.648-3.444 2.159-1.344.51-2.851.766-4.52.766M104.21 24.047h5.546c1.016 0 1.854-.127 2.513-.383.658-.255 1.179-.592 1.56-1.01.381-.418.641-.888.78-1.41.138-.522.208-1.05.208-1.584 0-.627-.099-1.207-.295-1.741a3.718 3.718 0 00-.901-1.393c-.405-.394-.924-.708-1.56-.94-.636-.232-1.404-.348-2.305-.348h-5.546v8.81zm0 4.248v8.113h-4.87V10.92h11.567c1.3 0 2.49.215 3.57.644 1.08.43 2.004 1.033 2.77 1.81a8.287 8.287 0 011.794 2.787c.43 1.079.645 2.257.645 3.534 0 .952-.128 1.874-.383 2.768-.256.894-.61 1.7-1.063 2.42a7.32 7.32 0 01-1.672 1.863 5.929 5.929 0 01-2.178 1.096l6.339 8.566h-5.808l-5.893-8.113h-4.818z\"\n\t\t\t\t/>\n\t\t\t\t<g fill={accentColor}>\n\t\t\t\t\t<path d=\"M141.051 23.448h5.628c4.185 0 5.989-1.984 5.989-4.942 0-2.742-1.515-4.618-5.989-4.618h-5.628v9.56zm0 3.067v9.776h-3.571V10.75h9.632c6.674 0 9.127 3.211 9.127 7.54 0 4.979-3.102 8.226-9.2 8.226h-5.988zM169.695 28.715c-1.371-.288-2.958-.505-4.401-.505-2.85 0-4.041 1.263-4.041 3.139s1.407 2.706 3.463 2.706c2.49 0 4.979-1.443 4.979-4.221v-1.119zm-4.293-2.958c1.551 0 3.174.253 4.293.469v-.83c0-2.525-1.154-3.896-4.33-3.896-2.164 0-3.824.866-4.942 2.092l-2.02-2.272c1.732-1.66 3.644-2.598 7.07-2.598 5.052 0 7.469 1.876 7.469 7.215v10.354h-3.211V34.02h-.108c-1.082 1.767-3.211 2.705-5.592 2.705-3.32 0-6.241-1.66-6.241-5.303 0-3.103 1.912-5.664 7.612-5.664zM178.965 19.191h3.211v2.886h.108c.938-1.984 2.922-3.355 5.231-3.355.47 0 .938.036 1.335.144l-.144 3.14a6.77 6.77 0 00-1.552-.181c-3.246 0-4.798 2.633-4.798 5.483v8.983h-3.39v-17.1zM199.961 36.291h-1.912c-4.004 0-5.988-.938-5.988-5.772v-8.55h-2.778V19.19h2.778v-4.654h3.355v4.654h4.473v2.778h-4.473v7.973c0 3.427 1.587 3.535 3.319 3.535h1.226v2.814zM219.767 36.291h-3.391V26.84c0-2.778-1.083-5.375-4.257-5.375-3.14 0-5.268 2.597-5.268 6.169v8.658h-3.391v-17.1h3.32v2.814h.143c.794-1.623 3.067-3.283 5.99-3.283 4.941 0 6.854 3.644 6.854 8.081v9.488zM227.847 26.262h10.57c0-2.597-2.272-4.726-5.087-4.726-2.922 0-5.014 1.948-5.483 4.726zm-.036 2.453c.397 3.355 2.633 5.195 5.844 5.195 2.778 0 4.618-1.623 5.484-2.67l2.164 1.804c-1.37 1.913-4.365 3.716-8.045 3.716-4.942 0-8.73-3.535-8.73-8.55 0-5.195 3.752-9.488 8.983-9.488 5.303 0 8.009 4.365 8.009 8.19 0 .649-.036 1.226-.072 1.803H227.81zM246.245 19.191h3.21v2.886h.109c.938-1.984 2.922-3.355 5.231-3.355.469 0 .938.036 1.335.144l-.145 3.14a6.77 6.77 0 00-1.551-.181c-3.247 0-4.798 2.633-4.798 5.483v8.983h-3.391v-17.1z\" />\n\t\t\t\t</g>\n\t\t\t</g>\n\t\t</svg>\n\t);\n};\n\ninterface EnturPartnerLogoProps {\n\taltText: string;\n\tas?: \"div\" | React.ElementType;\n\tclassName?: string;\n\tenvironment?: Environment;\n}\n\nexport const EnturPartnerLogo: FC<EnturPartnerLogoProps> = ({\n\tas: Component = \"nav\",\n\tclassName,\n\taltText,\n\tenvironment,\n}) => {\n\tconst classList = classnames([\"eps-logo-wrapper\", className]);\n\n\treturn (\n\t\t<Component className={classList}>\n\t\t\t<EnturPartnerLogoSvg\n\t\t\t\ttitle={altText}\n\t\t\t\tclassName=\"logo\"\n\t\t\t\taccentColor={\n\t\t\t\t\tenvironment !== undefined && environment !== Environment.Production\n\t\t\t\t\t\t? getColorForEnvironment(environment)\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t/>\n\t\t</Component>\n\t);\n};\n","import { BannerAlertBox } from \"@entur/alert\";\nimport { PrimaryButton } from \"@entur/button\";\nimport { Paragraph } from \"@entur/typography\";\nimport { isFunction } from \"@entur-partner/util\";\nimport React, { Component, type ErrorInfo, type ReactNode } from \"react\";\nimport { Box } from \"./Box\";\n\ntype FallbackOptions = {\n\tretry: () => void;\n\terror: Error;\n};\n\ntype RenderProp = (options: FallbackOptions) => ReactNode;\n\ntype Props = {\n\thandleError?: (error: Error, errorInfo: ErrorInfo) => void;\n\tfallback: ReactNode | RenderProp;\n\tchildren: ReactNode;\n};\n\ntype State = {\n\terror: null | Error;\n};\n\nconst newAppVersionErrorMessage =\n\t\"Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.\";\n\nexport class ErrorBoundary extends Component<Props, State> {\n\tconstructor(props: Props) {\n\t\tsuper(props);\n\t\tthis.state = { error: null };\n\t}\n\n\tstatic getDerivedStateFromError(error: Error): State {\n\t\treturn {\n\t\t\terror,\n\t\t};\n\t}\n\n\tcomponentDidCatch(error: Error, errorInfo: ErrorInfo) {\n\t\t// React always logs in development\n\t\tthis.props.handleError?.(error, errorInfo);\n\t}\n\n\trender() {\n\t\tconst { error } = this.state;\n\t\tconst { fallback, children } = this.props;\n\n\t\tif (error) {\n\t\t\tif (isFunction<RenderProp>(fallback)) {\n\t\t\t\treturn fallback({ retry: () => this.setState({ error: null }), error });\n\t\t\t} else if (\n\t\t\t\terror.name === \"NotFoundError\" &&\n\t\t\t\terror.message === newAppVersionErrorMessage\n\t\t\t) {\n\t\t\t\treturn <RefreshBannerInfo />;\n\t\t\t}\n\n\t\t\treturn fallback;\n\t\t}\n\n\t\treturn children;\n\t}\n}\n\nexport const LANGUAGE_STORAGE_KEY = \"EP::locale\";\n\nfunction RefreshBannerInfo() {\n\t// Taken from ./app-shell/src/storage.ts\n\tconst language = localStorage.getItem(LANGUAGE_STORAGE_KEY);\n\tconst isNorwegian = language === \"nb\" || language === \"nb-NO\";\n\treturn (\n\t\t<Box maxWidth=\"large\">\n\t\t\t<BannerAlertBox\n\t\t\t\tvariant=\"info\"\n\t\t\t\ttitle={\n\t\t\t\t\tisNorwegian\n\t\t\t\t\t\t? \"En ny versjon av nettsiden er tilgjengelig.\"\n\t\t\t\t\t\t: \"A new version of the website is available.\"\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<Box paddingBottom=\"medium\">\n\t\t\t\t\t<Paragraph margin=\"none\">\n\t\t\t\t\t\t{isNorwegian ? \"Vennligst oppdater.\" : \"Please refresh.\"}\n\t\t\t\t\t</Paragraph>\n\t\t\t\t</Box>\n\t\t\t\t<PrimaryButton onClick={() => window.location.reload()}>\n\t\t\t\t\t{isNorwegian ? \"Oppdater\" : \"Refresh\"}\n\t\t\t\t</PrimaryButton>\n\t\t\t</BannerAlertBox>\n\t\t</Box>\n\t);\n}\n","import { ExpandablePanel } from \"@entur/expand\";\nimport type { VariantType } from \"@entur/form\";\nimport type { ChangeEvent } from \"react\";\nimport React from \"react\";\n\nimport type { LanguageKey, LanguageOption } from \"./LanguageSelect\";\nimport { Stack } from \"./Stack\";\n\nexport type MultiLanguageValues = Record<LanguageKey, string>;\n\ntype ExpandableMultiLanguageInputProps = {\n\ttitle: string;\n\tinputComponent: React.ElementType;\n\tlanguages: LanguageOption[];\n\tvalues: MultiLanguageValues;\n\tonChange: (values: MultiLanguageValues) => void;\n\tname: string;\n\tvariant?: (lang: LanguageKey) => VariantType;\n\tfeedback?: (lang: LanguageKey) => string;\n\t[key: string]: object | string | number | boolean | undefined;\n};\n\nexport const ExpandableMultiLanguageInput = ({\n\ttitle,\n\tinputComponent: InputComponent,\n\tlanguages,\n\tvalues,\n\tonChange,\n\tname,\n\tvariant,\n\tfeedback,\n\t...rest\n}: ExpandableMultiLanguageInputProps) => {\n\tconst handleOnChange = (language: LanguageKey, value?: string) => {\n\t\tconst changes = { ...values };\n\t\tif (value === \"\" || !value) {\n\t\t\tdelete changes[language];\n\t\t} else {\n\t\t\tchanges[language] = value;\n\t\t}\n\t\tonChange(changes);\n\t};\n\n\treturn (\n\t\t<ExpandablePanel\n\t\t\ttitle={title}\n\t\t\tdefaultOpen\n\t\t\tcontentStyle={{\n\t\t\t\tpadding: \"4px 4px 4px 4px\",\n\t\t\t\tmarginTop: \"16px\",\n\t\t\t\tmarginBottom: \"16px\",\n\t\t\t}}\n\t\t>\n\t\t\t<Stack space=\"medium\">\n\t\t\t\t{languages.map(({ value: langKey, label, required }) => (\n\t\t\t\t\t<InputComponent\n\t\t\t\t\t\tdata-testid={`multi-lang-input-${name}-${langKey}`}\n\t\t\t\t\t\tkey={title + langKey}\n\t\t\t\t\t\tlabel={required ? `${label}*` : label}\n\t\t\t\t\t\tvariant={variant?.(langKey)}\n\t\t\t\t\t\tfeedback={feedback?.(langKey)}\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tonChange={(e: ChangeEvent<HTMLInputElement>) => {\n\t\t\t\t\t\t\thandleOnChange(langKey, e.target.value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvalue={values[langKey] || \"\"}\n\t\t\t\t\t\t{...rest}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</Stack>\n\t\t</ExpandablePanel>\n\t);\n};\n","/// <reference types=\"vite/client\" />\nimport React, { type ReactNode } from \"react\";\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the VITE_APP_ prefix.\n */\nexport function featureFlag(flag: string): boolean {\n\treturn (\n\t\timport.meta.env[`VITE_APP_${flag}`] === \"true\" ||\n\t\twindow.localStorage?.getItem(flag) === \"true\" ||\n\t\twindow.localStorage?.getItem(`VITE_APP_${flag}`) === \"true\"\n\t);\n}\n\n/**\n * Returns true if the provided flag exist in localStorage\n * or is set as an environment variable.\n *\n * @param flag case sensitive flag. If it is an environment variable\n * you can drop the VITE_APP_ prefix.\n */\nexport function useFeatureToggle(flag: string): boolean {\n\treturn featureFlag(flag);\n}\n\nexport interface FeatureToggleProps {\n\t/** Visible if flag exist, hidden if not.*/\n\tchildren: ReactNode;\n\t/** Case sensitive flag. If it is an environment variable\n\t * you can drop the VITE_APP_ prefix. */\n\tflag: string;\n}\n\nexport const FeatureToggle = ({ children, flag }: FeatureToggleProps) => {\n\tconst feature = useFeatureToggle(flag);\n\tif (feature) {\n\t\treturn <>{children}</>;\n\t}\n\treturn null;\n};\n","import type { FC } from \"react\";\nimport React from \"react\";\n\nexport interface FormatCurrencyAmountProps {\n\tamount: number | string;\n\tas?: \"span\" | React.ElementType;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const FormatCurrencyAmount: FC<FormatCurrencyAmountProps> = ({\n\tamount,\n\tas: Component = \"span\",\n\t...rest\n}) => {\n\tconst parsedAmount = Number(amount) || 0;\n\n\tconst formattedAmount = new Intl.NumberFormat(\"nb-NO\", {\n\t\tmaximumFractionDigits: 2,\n\t\tminimumFractionDigits: 2,\n\t}).format(parsedAmount);\n\n\treturn <Component {...rest}>{formattedAmount}</Component>;\n};\n","import \"./LanguageSelect.scss\";\n\nimport { SegmentedChoice, SegmentedControl } from \"@entur/form\";\nimport { assertIsDefined } from \"@entur-partner/util\";\nimport cx from \"classnames\";\nimport React, { type FC } from \"react\";\n\nexport type LanguageKey = \"nob\" | \"nno\" | \"eng\";\n\nexport interface LanguageOption {\n\tvalue: LanguageKey;\n\tlabel: string;\n\trequired: boolean;\n}\n\nexport interface LanguageSelectProps {\n\tlanguage: string;\n\toptions: LanguageOption[];\n\tclassName?: string;\n\tonChange: (language: string) => void;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const LanguageSelect: FC<LanguageSelectProps> = ({\n\tlanguage,\n\toptions,\n\tclassName,\n\tonChange,\n\t...rest\n}) => {\n\tconst classNames = cx(\"eps-language-select\", className);\n\treturn (\n\t\t<div {...rest} className={classNames}>\n\t\t\t<SegmentedControl\n\t\t\t\tonChange={(language) => {\n\t\t\t\t\tassertIsDefined(language);\n\t\t\t\t\tonChange(language);\n\t\t\t\t}}\n\t\t\t\tselectedValue={language}\n\t\t\t>\n\t\t\t\t{options.map((option) => (\n\t\t\t\t\t<SegmentedChoice key={option.value} value={option.value}>\n\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t{option.required && <span className=\"asterisk-margin\">{\"*\"}</span>}\n\t\t\t\t\t</SegmentedChoice>\n\t\t\t\t))}\n\t\t\t</SegmentedControl>\n\t\t</div>\n\t);\n};\n","import { Link as A } from \"@entur/typography\";\nimport React, { type FC } from \"react\";\nimport { type LinkProps, Link as RouterLink } from \"react-router-dom\";\n\ninterface Props extends LinkProps {}\n\nexport const Link: FC<Props> = (props) => {\n\treturn (\n\t\t<A {...props} as={RouterLink}>\n\t\t\t{props.children}\n\t\t</A>\n\t);\n};\n","import \"./LinkButton.scss\";\n\nimport { Link } from \"@entur/typography\";\nimport cx from \"classnames\";\nimport React, { type ReactNode } from \"react\";\n\nexport interface LinkButtonProps {\n\tchildren: ReactNode;\n\tclassName?: string;\n\t[key: string]: object | string | number | boolean | undefined | ReactNode;\n}\n\nexport const LinkButton = ({\n\tchildren,\n\tclassName,\n\t...rest\n}: LinkButtonProps) => (\n\t<Link {...rest} as=\"button\" className={cx(\"eps-link-button\", className)}>\n\t\t{children}\n\t</Link>\n);\n","import \"./Menu.scss\";\n\nimport classnames from \"classnames\";\nimport type { FC, ReactNode } from \"react\";\nimport React from \"react\";\n\ninterface MenuProps {\n\tchildren: ReactNode;\n\tas?: \"div\" | React.ElementType;\n\tclassName?: string;\n}\nexport const Menu: FC<MenuProps> = ({\n\tas: Component = \"nav\",\n\tclassName,\n\tchildren,\n}) => {\n\tconst classList = classnames([\"eds-contrast\", \"eps-menu\", className]);\n\n\treturn <Component className={classList}>{children}</Component>;\n};\n","import \"./MultiLanguageInput.scss\";\n\nimport type { VariantType } from \"@entur/form\";\nimport cx from \"classnames\";\nimport React, {\n\ttype ChangeEvent,\n\ttype FC,\n\ttype FocusEvent,\n\tuseState,\n} from \"react\";\nimport { type LanguageOption, LanguageSelect } from \"./LanguageSelect\";\nimport { Stack } from \"./Stack\";\n\ntype Values = { [key: string]: string };\n\nexport interface MultiLanguageInputProps {\n\tclassName?: string;\n\tonBlur?: (e: FocusEvent<HTMLDivElement>) => void;\n\tinputComponent: React.ElementType;\n\tvalues: { [key: string]: string };\n\tlanguages: LanguageOption[];\n\tonChange: (values: Values) => void;\n\tname: string;\n\talertLevel?: VariantType;\n\talertLabel?: string;\n\tlabel?: string;\n\tdefaultLanguage?: string;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n/**\n * @deprecated use ExpandableMultiLanguageInput\n */\nexport const MultiLanguageInput: FC<MultiLanguageInputProps> = ({\n\tclassName,\n\tinputComponent: InputComponent,\n\talertLabel,\n\talertLevel,\n\tname,\n\tlanguages,\n\tvalues,\n\tonChange,\n\tdefaultLanguage = \"nob\",\n\tlabel = \"\",\n\tonBlur = () => {},\n\t...rest\n}) => {\n\tconst [language, setLanguage] = useState(defaultLanguage);\n\tconst classNames = cx(\"multi-language-input\", className);\n\tconst currentValue = values[language];\n\n\tconst handleOnBlur = (e: FocusEvent<HTMLDivElement>) => {\n\t\te.persist();\n\t\tconst currentTarget = e.currentTarget;\n\t\tsetTimeout(() => {\n\t\t\tif (currentTarget && !currentTarget.contains(document.activeElement)) {\n\t\t\t\tonBlur(e);\n\t\t\t}\n\t\t}, 0);\n\t};\n\n\tconst handleLanguageChange = (language: string) => {\n\t\tsetLanguage(language);\n\t};\n\n\tconst handleOnChange = (value?: string) => {\n\t\tconst changes = Object.assign({}, values);\n\t\tif (value === \"\" || !value) {\n\t\t\tdelete changes[language];\n\t\t} else {\n\t\t\tchanges[language] = value;\n\t\t}\n\t\tonChange(changes);\n\t};\n\n\treturn (\n\t\t// biome-ignore lint/a11y/noStaticElementInteractions: Legacy component\n\t\t<div\n\t\t\tclassName={classNames}\n\t\t\t// biome-ignore lint/a11y/noNoninteractiveTabindex: Legacy component\n\t\t\ttabIndex={0}\n\t\t\tonBlur={handleOnBlur}\n\t\t\tdata-testid={`multi-lang-input-${name}`}\n\t\t>\n\t\t\t<Stack space=\"extraSmall\">\n\t\t\t\t<LanguageSelect\n\t\t\t\t\tlanguage={language}\n\t\t\t\t\toptions={languages}\n\t\t\t\t\tonChange={(lang) => handleLanguageChange(lang)}\n\t\t\t\t/>\n\t\t\t\t<InputComponent\n\t\t\t\t\tlabel={label}\n\t\t\t\t\tvariant={alertLevel}\n\t\t\t\t\tfeedback={alertLabel}\n\t\t\t\t\tname={name}\n\t\t\t\t\tclassName=\"language-item\"\n\t\t\t\t\tonChange={(e: ChangeEvent<HTMLInputElement>) =>\n\t\t\t\t\t\thandleOnChange(e.target.value)\n\t\t\t\t\t}\n\t\t\t\t\tvalue={currentValue || \"\"}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t</Stack>\n\t\t</div>\n\t);\n};\n","import { SearchableDropdown } from \"@entur/dropdown\";\nimport React, { type FC, useEffect, useState } from \"react\";\n\ninterface OrganisationV3 {\n\torganisationId: number;\n\ttradingName: string;\n}\n\ninterface OrganisationDropDownProps {\n\tlabel: string;\n\tonChange: (organisationId: number) => void;\n\torganisations: OrganisationV3[];\n\tselectedOrganisationId?: number;\n\t[key: string]: object | string | number | boolean | undefined;\n}\n\nexport const OrganisationDropDown: FC<OrganisationDropDownProps> = ({\n\tlabel,\n\torganisations,\n\tonChange: handleChange,\n\tselectedOrganisationId,\n\t...rest\n}) => {\n\tconst [selectedOrganisation, setSelectedOrganisation] =\n\t\tuseState<OrganisationV3>();\n\n\tuseEffect(() => {\n\t\tsetSelectedOrganisation(\n\t\t\torganisations.find(\n\t\t\t\t(org) => org.organisationId === selectedOrganisationId,\n\t\t\t),\n\t\t);\n\t}, [selectedOrganisationId, organisations]);\n\n\treturn (\n\t\t<SearchableDropdown\n\t\t\tlabel={label}\n\t\t\titems={[\n\t\t\t\t...organisations\n\t\t\t\t\t.sort((a, b) => a.tradingName.localeCompare(b.tradingName, \"nb\"))\n\t\t\t\t\t.map((organisation) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tvalue: organisation.organisationId,\n\t\t\t\t\t\t\tlabel: organisation.tradingName,\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t]}\n\t\t\tselectedItem={\n\t\t\t\tselectedOrganisation\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tvalue: selectedOrganisation.organisationId,\n\t\t\t\t\t\t\tlabel: selectedOrganisation.tradingName,\n\t\t\t\t\t\t}\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\tonChange={(selectedValue) => {\n\t\t\t\tif (selectedValue) {\n\t\t\t\t\thandleChange(selectedValue.value);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tclearable={false}\n\t\t\t{...rest}\n\t\t/>\n\t);\n};\n","import { Pagination } from \"@entur/menu\";\nimport React, { type FC } from \"react\";\n\nexport interface PagerProps {\n\tcurrentPage: number;\n\tcollectionSize: number;\n\tpageSize: number;\n\tonPageChange: (page: number) => void;\n}\n\nexport const Pager: FC<PagerProps> = ({\n\tcollectionSize,\n\tpageSize,\n\tonPageChange,\n\tcurrentPage,\n}) => {\n\tconst pageCount = Math.ceil(collectionSize / pageSize);\n\treturn (\n\t\t<Pagination\n\t\t\tpageCount={pageCount}\n\t\t\tcurrentPage={currentPage}\n\t\t\tonPageChange={(page) => {\n\t\t\t\tonPageChange(page);\n\t\t\t}}\n\t\t/>\n\t);\n};\n","import { splitUrlPath } from \"@entur-partner/util\";\nimport { useEffect } from \"react\";\n\ntype DocumentTitleProps = {\n\ttitle: string;\n\tsuffix?: string;\n};\n\nexport const useDocumentTitle = ({ title, suffix }: DocumentTitleProps) => {\n\tuseEffect(() => {\n\t\tif (suffix) {\n\t\t\tdocument.title = `${title}${suffix}`;\n\t\t} else {\n\t\t\tdocument.title = title;\n\t\t}\n\t}, [title, suffix]);\n};\n\ntype Props = {\n\treadonly pathname: string;\n\treadonly onBreadcrumbLookup: (path: string) => string | undefined;\n\treadonly appTitle?: string;\n};\n\nexport const PageTitle = ({\n\tpathname,\n\tonBreadcrumbLookup,\n\tappTitle = \"Entur Partner\",\n}: Props) => {\n\tconst paths: string[] = splitUrlPath(pathname);\n\n\tconst pageTitles = paths\n\t\t.map((path) => ({ title: onBreadcrumbLookup(path), path }))\n\t\t.filter(({ title }) => title !== undefined)\n\t\t.map(({ title }) => title)\n\t\t.reverse()\n\t\t.join(\" | \");\n\n\tconst title = pageTitles ? `${pageTitles} | ${appTitle}` : appTitle;\n\n\tuseDocumentTitle({ title });\n\n\treturn null;\n};\n","import type { BusinessCapability } from \"@entur-partner/permission-client-node\";\nimport { hasAllPermissions, hasOneOfPermissions } from \"@entur-partner/util\";\nimport React, { type FC, type ReactNode } from \"react\";\n\n/**\n * Note: We use BusinessCapability here, not because we only want to check\n * BusinessCapabilities but because it represents a minimal subset of what we\n * need to check.\n */\nexport interface PermissionCheckProps {\n\tchildren: ReactNode;\n\t/** User permissions to check */\n\tpermissions: BusinessCapability[];\n\t/** Check that at least one of the permissions is present */\n\toneOf?: BusinessCapability[];\n\t/** Check that all of the permissions is present */\n\tall?: BusinessCapability[] | BusinessCapability;\n\t/** Rendered if check fails. Defaults to null */\n\tfallback?: ReactNode;\n}\n\n/**\n * Note: This component uses BusinessCapability, not because we only want to\n * check BusinessCapabilities but because it represents a minimal subset of\n * what we need to check.\n */\nexport const PermissionCheck: FC<PermissionCheckProps> = ({\n\tchildren,\n\tfallback = null,\n\tpermissions,\n\toneOf = [],\n\tall = [],\n}) => {\n\tconst allIsAllowed = hasAllPermissions(all, permissions);\n\n\tconst oneOfIsAllowed = hasOneOfPermissions(oneOf, permissions);\n\n\tconst allowed = allIsAllowed && oneOfIsAllowed;\n\treturn <>{allowed ? children : fallback}</>;\n};\n","import type { ModalProps } from \"@entur/modal\";\nimport { assertIsDefined } from \"@entur-partner/util\";\nimport type { Location } from \"history\";\nimport React, { type FC, type ReactNode } from \"react\";\nimport { useBlocker, useInRouterContext } from \"react-router-dom\";\n\nimport { ConfirmModal } from \"./ConfirmModal\";\n\nexport interface RouteLeavingGuardProps extends Partial<ModalProps> {\n\ttitle: string;\n\tcloseLabel: string;\n\tmessages: {\n\t\tcancel: string;\n\t\tconfirm: string;\n\t};\n\tchildren: ReactNode;\n\tshouldBlockNavigation: (location: Location) => boolean;\n}\n\nexport const RouteLeavingGuard: FC<RouteLeavingGuardProps> = ({\n\tchildren,\n\tshouldBlockNavigation,\n\t...rest\n}) => {\n\tassertIsDefined(\n\t\tuseInRouterContext() ? true : undefined,\n\t\t`RouteLeavingGuard must be used within a data router.`,\n\t);\n\n\tconst blocker = useBlocker(\n\t\t({ currentLocation, nextLocation }) =>\n\t\t\tcurrentLocation.pathname !== nextLocation.pathname &&\n\t\t\tshouldBlockNavigation(nextLocation),\n\t);\n\n\treturn (\n\t\t<ConfirmModal\n\t\t\tonDismiss={() => {\n\t\t\t\tif (blocker.state === \"blocked\") {\n\t\t\t\t\tblocker.reset();\n\t\t\t\t}\n\t\t\t}}\n\t\t\topen={blocker.state === \"blocked\"}\n\t\t\tonConfirm={() => {\n\t\t\t\tif (blocker.state === \"blocked\") {\n\t\t\t\t\tblocker.proceed();\n\t\t\t\t}\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</ConfirmModal>\n\t);\n};\n","import \"./StatusLabel.scss\";\n\nimport cx from \"classnames\";\nimport React, { type FC } from \"react\";\n\ninterface StatusLabelProps {\n\tlabel: string;\n\tactive: boolean;\n\taggressiveInactive?: boolean;\n\tshowBullet?: boolean;\n\tcenter?: boolean;\n}\nexport const StatusLabel: FC<StatusLabelProps> = ({\n\tactive = false,\n\tlabel = \"\",\n\taggressiveInactive,\n\tshowBullet,\n\tcenter,\n}) => {\n\tconst bulletClassNames = cx(\"eps-status-label__bullet\", {\n\t\tactive,\n\t\taggressive: aggressiveInactive,\n\t});\n\tconst statusLabelClassNames = cx(\"eps-status-label\", {\n\t\tcenter,\n\t});\n\treturn (\n\t\t<div className={statusLabelClassNames}>\n\t\t\t{showBullet && <div className={bulletClassNames} />}\n\t\t\t<div>{label}</div>\n\t\t</div>\n\t);\n};\n","import \"./Text.scss\";\n\nimport cx from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport React from \"react\";\n\nimport { Box, responsiveProp, type StyleColor } from \"./Box\";\n\ntype StyleFontSize =\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\";\n\ntype StyleFontWeight = \"body\" | \"heading\";\n\ntype StyleLineHeight =\n\t| \"extraSmall\"\n\t| \"small\"\n\t| \"medium\"\n\t| \"large\"\n\t| \"extraLarge\"\n\t| \"extraLarge2\"\n\t| \"extraLarge3\"\n\t| \"extraLarge4\"\n\t| \"extraLarge5\"\n\t| \"extraLarge6\"\n\t| \"extraLarge7\";\n\nexport type ResponsiveStyleFontSize =\n\t| StyleFontSize\n\t| [StyleFontSize?, StyleFontSize?, StyleFontSize?];\n\nexport type ResponsiveStyleLineHeight =\n\t| StyleLineHeight\n\t| [StyleLineHeight?, StyleLineHeight?, StyleLineHeight?];\n\nexport interface TextProps {\n\tclassName?: string;\n\tas?: React.ElementType;\n\tchildren: ReactNode;\n\tfontSize?: ResponsiveStyleFontSize;\n\tlineHeight?: ResponsiveStyleLineHeight;\n\tcolor?: StyleColor;\n\tfontWeight?: StyleFontWeight;\n\t// biome-ignore lint/suspicious/noExplicitAny: Ignore for now.\n\t[key: string]: any;\n}\n\nexport const Text = ({\n\tas: component = \"span\",\n\tchildren,\n\tfontSize,\n\tcolor,\n\tlineHeight,\n\tfontWeight,\n\tclassName,\n\t...rest\n}: TextProps) => {\n\tconst classes = [];\n\n\tfontSize && classes.push(...responsiveProp(\"eps-font-size-\", fontSize));\n\tlineHeight && classes.push(...responsiveProp(\"eps-line-height-\", lineHeight));\n\tfontWeight && classes.push(`eps-font-weight-${fontWeight}`);\n\n\tconst classList = cx(classes, className);\n\n\treturn (\n\t\t<Box as={component} color={color} className={classList} {...rest}>\n\t\t\t{children}\n\t\t</Box>\n\t);\n};\n","import \"./Unbutton.scss\";\n\nimport { Button, type ButtonProps } from \"@entur/button\";\nimport cx from \"classnames\";\nimport React, { type FC } from \"react\";\n\ninterface UnbuttonProps extends Omit<ButtonProps<typeof Button>, \"variant\"> {}\n\nexport const Unbutton: FC<UnbuttonProps> = ({\n\tchildren,\n\tclassName,\n\t...rest\n}) => (\n\t<Button variant=\"primary\" {...rest} className={cx(\"eps-unbutton\", className)}>\n\t\t{children}\n\t</Button>\n);\n","import \"../index.scss\";\n\nimport cx from \"classnames\";\nimport React from \"react\";\n\nexport const CustomOverflowMenuItem: React.FC<\n\tReact.DetailedHTMLProps<\n\t\tReact.ButtonHTMLAttributes<HTMLButtonElement>,\n\t\tHTMLButtonElement\n\t>\n> = (props) => {\n\treturn (\n\t\t<button\n\t\t\tclassName={cx(props.className, \"eps-overflow-menu__item\")}\n\t\t\trole=\"menuitem\"\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n","import \"../index.scss\";\n\nimport { CookieIcon } from \"@entur/icons\";\nimport React from \"react\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tname: string;\n\tsetOpen: (open: boolean) => void;\n\tonCookieSettingsOpen: () => void;\n};\n\nexport const CookieSettingsMenuItem = ({\n\tname,\n\tsetOpen,\n\tonCookieSettingsOpen,\n}: Props) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={() => {\n\t\t\t\tonCookieSettingsOpen();\n\t\t\t\tsetOpen(false);\n\t\t\t}}\n\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t>\n\t\t\t<span aria-hidden={true}>\n\t\t\t\t<CookieIcon size=\"1rem\" inline />\n\t\t\t</span>\n\t\t\t{name}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import React from \"react\";\n\nexport function useOutsideClick(\n\tref: React.RefObject<HTMLDivElement>,\n\tbuttonRef: React.RefObject<HTMLButtonElement>,\n\thandler: () => void,\n) {\n\tReact.useEffect(() => {\n\t\tconst listener = (event: Event) => {\n\t\t\tif (\n\t\t\t\telementContainsEventTarget(ref.current, event) ||\n\t\t\t\telementContainsEventTarget(buttonRef.current, event)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\thandler();\n\t\t};\n\n\t\tdocument.addEventListener(\"mousedown\", listener);\n\t\tdocument.addEventListener(\"touchstart\", listener);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\"mousedown\", listener);\n\t\t\tdocument.removeEventListener(\"touchstart\", listener);\n\t\t};\n\t}, [ref, buttonRef, handler]);\n}\n\nfunction elementContainsEventTarget(element: HTMLElement | null, event: Event) {\n\tif (!element) {\n\t\treturn false;\n\t}\n\n\tif (element.contains(event.target as Node)) {\n\t\treturn true;\n\t}\n\n\t// For elements inside a Shadow DOM we need to check the composedPath\n\tif (event.composed && event.composedPath) {\n\t\tconst contains = event.composedPath().find((target) => {\n\t\t\tif (target === window) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn element.contains(target as Node);\n\t\t});\n\t\treturn !!contains;\n\t}\n\n\treturn false;\n}\n","import \"../index.scss\";\n\nimport { SecondaryButton } from \"@entur/button\";\nimport { DownArrowIcon, UserIcon } from \"@entur/icons\";\nimport { Heading6 } from \"@entur/typography\";\nimport cx from \"classnames\";\nimport React from \"react\";\n\nimport {\n\tEnvironment,\n\tgetColorForEnvironment,\n\tgetHumanReadableEnvironment,\n} from \"../../environment\";\nimport { useOutsideClick } from \"../useOutsideClick\";\n\nexport const CustomOverflowMenu: React.FC<{\n\tclassName?: string;\n\tchildren: React.ReactNode;\n\tuserName: string;\n\topen: boolean;\n\tonOpenChange: (open: boolean) => void;\n\tenvironment?: Environment;\n}> = ({\n\tclassName,\n\tchildren,\n\tuserName,\n\topen,\n\tonOpenChange,\n\tenvironment,\n\t...rest\n}) => {\n\tconst overflowItemsClasses = cx(\"eps-overflow-menu__group\", {\n\t\t\"eps-overflow-menu__group--open\": open,\n\t});\n\tconst overflowContentRef = React.useRef<HTMLDivElement>(null);\n\tconst overflowMenuTriggerRef = React.useRef<HTMLButtonElement>(null);\n\tuseOutsideClick(overflowContentRef, overflowMenuTriggerRef, () =>\n\t\tonOpenChange(false),\n\t);\n\treturn (\n\t\t<div>\n\t\t\t<SecondaryButton\n\t\t\t\tclassName={cx(\"eps-overflow-menu__button\", className)}\n\t\t\t\tonClick={() => onOpenChange(!open)}\n\t\t\t\taria-haspopup={true}\n\t\t\t\taria-expanded={open}\n\t\t\t\tref={overflowMenuTriggerRef}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<div className=\"eps-overflow-menu__button-contents\">\n\t\t\t\t\t<span className=\"eds-overflow-menu__user-icon\">\n\t\t\t\t\t\t<UserIcon inline />\n\t\t\t\t\t</span>\n\t\t\t\t\t<Heading6 margin=\"none\" as=\"span\">\n\t\t\t\t\t\t{userName}\n\t\t\t\t\t\t{environment !== undefined &&\n\t\t\t\t\t\t\tenvironment !== Environment.Production && (\n\t\t\t\t\t\t\t\t<span style={{ color: getColorForEnvironment(environment) }}>\n\t\t\t\t\t\t\t\t\t{\" \"}\n\t\t\t\t\t\t\t\t\t({getHumanReadableEnvironment(environment)})\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t</Heading6>\n\t\t\t\t\t<span className=\"eps-arrow-icon\">\n\t\t\t\t\t\t<DownArrowIcon inline />\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</SecondaryButton>\n\t\t\t{open && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={overflowItemsClasses}\n\t\t\t\t\trole=\"menu\"\n\t\t\t\t\tref={overflowContentRef}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n","import \"../index.scss\";\n\nimport { NorwayIcon, UKIcon } from \"@entur/icons\";\nimport React from \"react\";\n\nimport { useFeatureToggle } from \"../../FeatureToggle\";\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tlanguage: string;\n\tonLanguageChange: (language: string) => void;\n\tsetOpen: (open: boolean) => void;\n\tname: string;\n};\n\nexport const LanguageSwitchMenuItem = ({\n\tlanguage,\n\tonLanguageChange,\n\tsetOpen,\n\tname,\n}: Props) => {\n\tconst useB47LanguageKey = useFeatureToggle(\"USE_BCP-47_LANGUAGE_KEY\");\n\tconst norwegianLanguageKey = useB47LanguageKey ? \"nb-NO\" : \"nb\";\n\tconst englishLanguageKey = useB47LanguageKey ? \"en-GB\" : \"en\";\n\n\treturn (\n\t\t<>\n\t\t\t{language === englishLanguageKey ? (\n\t\t\t\t<CustomOverflowMenuItem\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tonLanguageChange(norwegianLanguageKey);\n\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t\t\t>\n\t\t\t\t\t<span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n\t\t\t\t\t\t<NorwayIcon size=\"1rem\" inline />\n\t\t\t\t\t</span>\n\t\t\t\t\t{name}\n\t\t\t\t</CustomOverflowMenuItem>\n\t\t\t) : (\n\t\t\t\t<CustomOverflowMenuItem\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tonLanguageChange(englishLanguageKey);\n\t\t\t\t\t\tsetOpen(false);\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t\t\t>\n\t\t\t\t\t<span aria-hidden className=\"eps-overflow-menu__icon-margin\">\n\t\t\t\t\t\t<UKIcon size=\"1rem\" inline />\n\t\t\t\t\t</span>\n\t\t\t\t\t{name}\n\t\t\t\t</CustomOverflowMenuItem>\n\t\t\t)}\n\t\t</>\n\t);\n};\n","import \"../index.scss\";\n\nimport { LogOutIcon } from \"@entur/icons\";\nimport React from \"react\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tname: string;\n\tsetOpen: (open: boolean) => void;\n\tonLogout: () => void;\n};\n\nexport const LogOutMenuItem = ({ name, setOpen, onLogout }: Props) => {\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={() => {\n\t\t\t\tonLogout();\n\t\t\t\tsetOpen(false);\n\t\t\t}}\n\t\t\tdata-testid=\"user-menu-logout\"\n\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t>\n\t\t\t<span aria-hidden>\n\t\t\t\t<LogOutIcon size=\"1rem\" inline />\n\t\t\t</span>\n\t\t\t{name}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","import \"../index.scss\";\n\nimport { UserIcon } from \"@entur/icons\";\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\ntype Props = {\n\tname: string;\n\tsetOpen: (open: boolean) => void;\n\tonNavigateToMyProfile: () => void;\n};\n\nexport const UserMenuItem = ({\n\tname,\n\tsetOpen,\n\tonNavigateToMyProfile,\n}: Props) => {\n\treturn (\n\t\t<Link to=\"/permission-admin/my-profile\" style={{ textDecoration: \"none\" }}>\n\t\t\t<CustomOverflowMenuItem\n\t\t\t\tonClick={() => {\n\t\t\t\t\tsetOpen(false);\n\t\t\t\t\tonNavigateToMyProfile();\n\t\t\t\t}}\n\t\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t\t>\n\t\t\t\t<span aria-hidden>\n\t\t\t\t\t<UserIcon size=\"1rem\" inline />\n\t\t\t\t</span>\n\t\t\t\t{name}\n\t\t\t</CustomOverflowMenuItem>\n\t\t</Link>\n\t);\n};\n","import { ChannelsIcon } from \"@entur/icons\";\nimport React from \"react\";\nimport { useNavigate } from \"react-router-dom\";\n\nimport { CustomOverflowMenuItem } from \"./CustomOverflowMenuItem\";\n\nexport const VersionMenuItem: React.FC<{\n\ttitle: string;\n\tsetOpen: (isOpen: boolean) => void;\n}> = ({ title, setOpen }) => {\n\tconst navigate = useNavigate(); // Hide useNavigate from standalone micro-frontends because it is not under RouterProvider\n\treturn (\n\t\t<CustomOverflowMenuItem\n\t\t\tonClick={() => {\n\t\t\t\tnavigate(\"/app-version\");\n\t\t\t\tsetOpen(false);\n\t\t\t}}\n\t\t\tclassName=\"eps-overflow-menu__item\"\n\t\t>\n\t\t\t<span aria-hidden>\n\t\t\t\t<ChannelsIcon className=\"eps-version-icon\" size=\"1rem\" inline />\n\t\t\t</span>\n\t\t\t{title}\n\t\t</CustomOverflowMenuItem>\n\t);\n};\n","/** biome-ignore-all lint/correctness/useUniqueElementIds: Ignore unique id for now */\nimport \"./index.scss\";\n\nimport cx from \"classnames\";\nimport React, { type FC, useState } from \"react\";\n\nimport type { Environment } from \"../environment\";\nimport { CookieSettingsMenuItem } from \"./components/CookieSettingsMenuItem\";\nimport { CustomOverflowMenu } from \"./components/CustomOverflowMenu\";\nimport { LanguageSwitchMenuItem } from \"./components/LanguageSwitchMenuItem\";\nimport { LogOutMenuItem } from \"./components/LogOutMenuItem\";\nimport { UserMenuItem } from \"./components/UserMenuItem\";\nimport { VersionMenuItem } from \"./components/VersionMenuItem\";\n\ninterface UserMenuProps {\n\tuserName: string;\n\tmessages: {\n\t\tlogout: string;\n\t\tswitchLanguage: string;\n\t\tappVersion?: string;\n\t\tmyProfile?: string;\n\t\tcookieSettings?: string;\n\t};\n\tonLogout: () => void;\n\tonLanguageChange: (language: string) => void;\n\tlanguage: string;\n\tclassName?: string;\n\tenvironment?: Environment;\n\tshowVersionItem?: boolean;\n\tshowMyProfileItem?: boolean;\n\tshowCookieSettingsItem?: boolean;\n\tonNavigateToMyProfile: () => void;\n\tonCookieSettingsOpen?: () => void;\n}\n\nexport const UserMenu: FC<UserMenuProps> = ({\n\tclassName,\n\tmessages,\n\tonLogout,\n\tonLanguageChange,\n\tuserName,\n\tlanguage,\n\tenvironment,\n\tshowVersionItem,\n\tshowMyProfileItem,\n\tshowCookieSettingsItem,\n\tonNavigateToMyProfile,\n\tonCookieSettingsOpen = () => {},\n}) => {\n\tconst triggerClassList = cx([\"eps-user-menu__trigger-button\", className]);\n\tconst [open, setOpen] = useState(false);\n\n\treturn (\n\t\t<div id=\"eps-user-menu\">\n\t\t\t<CustomOverflowMenu\n\t\t\t\topen={open}\n\t\t\t\tonOpenChange={setOpen}\n\t\t\t\tclassName={triggerClassList}\n\t\t\t\tuserName={userName}\n\t\t\t\tenvironment={environment}\n\t\t\t>\n\t\t\t\t<div id=\"eps-overflow-menu\">\n\t\t\t\t\t<LanguageSwitchMenuItem\n\t\t\t\t\t\tname={messages.switchLanguage}\n\t\t\t\t\t\tlanguage={language}\n\t\t\t\t\t\tonLanguageChange={onLanguageChange}\n\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t/>\n\t\t\t\t\t{showVersionItem && messages.appVersion && (\n\t\t\t\t\t\t<VersionMenuItem title={messages.appVersion} setOpen={setOpen} />\n\t\t\t\t\t)}\n\t\t\t\t\t{showMyProfileItem && messages.myProfile && (\n\t\t\t\t\t\t<UserMenuItem\n\t\t\t\t\t\t\tname={messages.myProfile}\n\t\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t\t\tonNavigateToMyProfile={onNavigateToMyProfile}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{showCookieSettingsItem && messages.cookieSettings && (\n\t\t\t\t\t\t<CookieSettingsMenuItem\n\t\t\t\t\t\t\tname={messages.cookieSettings}\n\t\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t\t\tonCookieSettingsOpen={onCookieSettingsOpen}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<LogOutMenuItem\n\t\t\t\t\t\tname={messages.logout}\n\t\t\t\t\t\tsetOpen={setOpen}\n\t\t\t\t\t\tonLogout={onLogout}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</CustomOverflowMenu>\n\t\t</div>\n\t);\n};\n","/*global EventListener WindowEventHandlers*/\nimport { useEffect, useRef } from \"react\";\n\ntype TypedEventListener<T extends Event> = (evt: T) => void;\n\nexport function useEventListener<T extends Event = Event>(\n\teventName: string,\n\thandler: TypedEventListener<T>,\n\telement: WindowEventHandlers = window,\n) {\n\tconst savedHandler = useRef<TypedEventListener<T>>();\n\n\tuseEffect(() => {\n\t\tsavedHandler.current = handler;\n\t}, [handler]);\n\n\tuseEffect(() => {\n\t\tconst isSupported = element?.addEventListener;\n\t\tif (!isSupported) return;\n\n\t\tconst eventListener = ((event: T): void =>\n\t\t\tsavedHandler.current?.(event)) as EventListener;\n\n\t\telement.addEventListener(eventName, eventListener);\n\n\t\treturn () => {\n\t\t\telement.removeEventListener(eventName, eventListener);\n\t\t};\n\t}, [eventName, element]);\n}\n"],"names":["ActionBarLeft","_ref","children","React","className","ActionBarRight","_ref2","ActionBar","_ref3","createElement","Fragment","FormatDateTime","date","locale","_ref$as","as","Component","hideTime","rest","_objectWithoutPropertiesLoose","_excluded","_extends","localeDate","localeDateTime","responsiveProp","prefix","prop","Array","isArray","classes","push","Box","contrast","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","padding","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","margin","display","justifyContent","alignItems","maxWidth","width","background","color","flexDirection","flexWrap","resolvedPaddingTop","resolvedPaddingBottom","resolvedPaddingLeft","resolvedPaddingRight","resolvedMarginTop","resolvedMarginBottom","resolvedMarginLeft","resolvedMarginRight","apply","classList","cx","Stack","space","stackItems","Children","toArray","length","map","child","index","key","AuditInfo","items","classNames","label","value","toString","isDate","isDateString","BetaTopNavigation","classnames","Breadcrumbs","prependBreadcrumbItem","pathname","onBreadcrumbLookup","paths","splitUrlPath","breadcrumbs","path","title","filter","undefined","breadcrumbElements","i","isLast","BreadcrumbItem","Link","to","BreadcrumbNavigation","concat","ConfirmModal","_ref$isOpen","isOpen","message","_ref$size","size","buttons","onConfirm","messages","onClose","onDismiss","childrenToRender","handleDismiss","Modal","open","isString","Paragraph","ButtonGroup","SecondaryButton","onClick","cancel","PrimaryButton","confirm","Content","Environment","environmentColors","_environmentColors","Local","Development","Staging","getColorForEnvironment","environment","humanReadableEnvironment","_humanReadableEnviron","Production","getHumanReadableEnvironment","EnturPartnerLogoSvg","_ref$accentColor","accentColor","height","viewBox","fill","fillRule","d","EnturPartnerLogo","_ref2$as","altText","newAppVersionErrorMessage","ErrorBoundary","_Component","props","_this","call","state","error","_inheritsLoose","getDerivedStateFromError","_proto","prototype","componentDidCatch","errorInfo","_this$props$handleErr","_this$props","handleError","render","_this2","_this$props2","fallback","isFunction","retry","setState","name","RefreshBannerInfo","LANGUAGE_STORAGE_KEY","language","localStorage","getItem","isNorwegian","BannerAlertBox","variant","window","location","reload","ExpandableMultiLanguageInput","InputComponent","inputComponent","languages","values","onChange","feedback","handleOnChange","changes","ExpandablePanel","defaultOpen","contentStyle","langKey","required","e","target","featureFlag","flag","_window$localStorage","_window$localStorage2","import","useFeatureToggle","FeatureToggle","feature","FormatCurrencyAmount","amount","parsedAmount","Number","formattedAmount","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","format","LanguageSelect","options","SegmentedControl","assertIsDefined","selectedValue","option","SegmentedChoice","A","RouterLink","LinkButton","Menu","MultiLanguageInput","alertLabel","alertLevel","_ref$defaultLanguage","defaultLanguage","_ref$label","_ref$onBlur","onBlur","_useState","useState","setLanguage","currentValue","handleOnBlur","persist","currentTarget","setTimeout","contains","document","activeElement","handleLanguageChange","Object","assign","tabIndex","lang","OrganisationDropDown","organisations","handleChange","selectedOrganisationId","selectedOrganisation","setSelectedOrganisation","useEffect","find","org","organisationId","SearchableDropdown","sort","a","b","tradingName","localeCompare","organisation","selectedItem","clearable","Pager","collectionSize","pageSize","onPageChange","currentPage","pageCount","Math","ceil","Pagination","page","useDocumentTitle","suffix","PageTitle","_ref2$appTitle","appTitle","pageTitles","_ref4","reverse","join","PermissionCheck","_ref$fallback","permissions","_ref$oneOf","oneOf","_ref$all","all","allIsAllowed","hasAllPermissions","oneOfIsAllowed","hasOneOfPermissions","allowed","RouteLeavingGuard","shouldBlockNavigation","useInRouterContext","blocker","useBlocker","currentLocation","nextLocation","reset","proceed","StatusLabel","_ref$active","active","aggressiveInactive","showBullet","center","bulletClassNames","aggressive","statusLabelClassNames","Text","component","fontSize","lineHeight","fontWeight","Unbutton","Button","CustomOverflowMenuItem","role","CookieSettingsMenuItem","setOpen","onCookieSettingsOpen","CookieIcon","inline","useOutsideClick","ref","buttonRef","handler","listener","event","elementContainsEventTarget","current","addEventListener","removeEventListener","element","composed","composedPath","CustomOverflowMenu","userName","onOpenChange","overflowItemsClasses","overflowContentRef","useRef","overflowMenuTriggerRef","UserIcon","Heading6","style","DownArrowIcon","LanguageSwitchMenuItem","onLanguageChange","useB47LanguageKey","norwegianLanguageKey","englishLanguageKey","NorwayIcon","UKIcon","LogOutMenuItem","onLogout","LogOutIcon","UserMenuItem","onNavigateToMyProfile","textDecoration","VersionMenuItem","navigate","useNavigate","ChannelsIcon","UserMenu","showVersionItem","showMyProfileItem","showCookieSettingsItem","_ref$onCookieSettings","triggerClassList","id","switchLanguage","appVersion","myProfile","cookieSettings","logout","useEventListener","eventName","savedHandler","_element","isSupported","eventListener"],"mappings":";;;;;;;;;;;;;;;;;;AAOA,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAAoC;AAAA,EAAA,IAA9BC,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;AAChC,EAAA,OAAOC;AAAKC,IAAAA,SAAS,EAAC,qBAAA;GAAuB,EAAAF,QAAQ,CAAO,CAAA;AAC7D,EAAC;AAED,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,KAAA,EAAoC;AAAA,EAAA,IAA9BJ,QAAQ,GAAAI,KAAA,CAARJ,QAAQ,CAAA;AACjC,EAAA,OAAOC;AAAKC,IAAAA,SAAS,EAAC,sBAAA;GAAwB,EAAAF,QAAQ,CAAO,CAAA;AAC9D,EAAC;AAED,IAAMK,SAAS,GAAG,SAAZA,SAASA,CAAAC,KAAA,EAAoC;AAAA,EAAA,IAA9BN,QAAQ,GAAAM,KAAA,CAARN,QAAQ,CAAA;AAC5B,EAAA,OACCC,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,EAAA,IAAA,EACCP,KAAK,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAAL,IAAAA,SAAS,EAAC,wBAAA;AAA2B,GAAA,CAAA,EAC1CD,KAAK,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAAL,IAAAA,SAAS,EAAC,gBAAA;GAAgB,EAAEF,QAAQ,CAAO,CAC9C,CAAA;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICZaS,cAAc,GAA4B,SAA1CA,cAAcA,CAAAV,IAAA,EAMtB;AAAA,EAAA,IALJW,IAAI,GAAAX,IAAA,CAAJW,IAAI;IACJC,MAAM,GAAAZ,IAAA,CAANY,MAAM;IAAAC,OAAA,GAAAb,IAAA,CACNc,EAAE;AAAEC,IAAAA,SAAS,GAAAF,OAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,OAAA;IACtBG,QAAQ,GAAAhB,IAAA,CAARgB,QAAQ;AACLC,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;EAEP,OACCjB,KAAC,CAAAM,aAAA,CAAAO,SAAS,EAAAK,QAAA,CAAA,EAAA,EAAKH,IAAI,CAAA,EACjBD,QAAQ,GAAGK,eAAU,CAACV,IAAI,EAAEC,MAAM,CAAC,GAAGU,mBAAc,CAACX,IAAI,EAAEC,MAAM,CAAC,CACxD,CAAA;AAEd;;;ACkGgB,SAAAW,cAAcA,CAACC,MAAc,EAAEC,IAAoB,EAAA;AAClE,EAAA,IAAIC,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;IACxB,IAAMG,OAAO,GAAG,EAAE,CAAA;AAClBH,IAAAA,IAAI,CAAC,CAAC,CAAC,IAAIG,OAAO,CAACC,IAAI,CAACL,MAAM,GAAGC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACzCA,IAAAA,IAAI,CAAC,CAAC,CAAC,IAAIG,OAAO,CAACC,IAAI,CAAIL,EAAAA,GAAAA,MAAM,GAAGC,IAAI,CAAC,CAAC,CAAC,QAAK,CAAC,CAAA;AACjDA,IAAAA,IAAI,CAAC,CAAC,CAAC,IAAIG,OAAO,CAACC,IAAI,CAAIL,EAAAA,GAAAA,MAAM,GAAGC,IAAI,CAAC,CAAC,CAAC,QAAK,CAAC,CAAA;AACjD,IAAA,OAAOG,OAAO,CAAA;AACf,GAAA;AACA,EAAA,OAAO,CAACJ,MAAM,GAAGC,IAAI,CAAC,CAAA;AACvB,CAAA;IAEaK,GAAG,GAAG,SAANA,GAAGA,CAAA9B,IAAA,EA6BD;AAAA,EAAA,IAAAa,OAAA,GAAAb,IAAA,CA5Bdc,EAAE;AAAEC,IAAAA,SAAS,GAAAF,OAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,OAAA;IACrBZ,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACR8B,QAAQ,GAAA/B,IAAA,CAAR+B,QAAQ;IACRC,UAAU,GAAAhC,IAAA,CAAVgC,UAAU;IACVC,YAAY,GAAAjC,IAAA,CAAZiC,YAAY;IACZC,aAAa,GAAAlC,IAAA,CAAbkC,aAAa;IACbC,WAAW,GAAAnC,IAAA,CAAXmC,WAAW;IACXC,QAAQ,GAAApC,IAAA,CAARoC,QAAQ;IACRC,QAAQ,GAAArC,IAAA,CAARqC,QAAQ;IACRC,OAAO,GAAAtC,IAAA,CAAPsC,OAAO;IACPC,SAAS,GAAAvC,IAAA,CAATuC,SAAS;IACTC,WAAW,GAAAxC,IAAA,CAAXwC,WAAW;IACXC,YAAY,GAAAzC,IAAA,CAAZyC,YAAY;IACZC,UAAU,GAAA1C,IAAA,CAAV0C,UAAU;IACVC,OAAO,GAAA3C,IAAA,CAAP2C,OAAO;IACPC,OAAO,GAAA5C,IAAA,CAAP4C,OAAO;IACPC,MAAM,GAAA7C,IAAA,CAAN6C,MAAM;IACNC,OAAO,GAAA9C,IAAA,CAAP8C,OAAO;IACPC,cAAc,GAAA/C,IAAA,CAAd+C,cAAc;IACdC,UAAU,GAAAhD,IAAA,CAAVgD,UAAU;IACVC,QAAQ,GAAAjD,IAAA,CAARiD,QAAQ;IACRC,KAAK,GAAAlD,IAAA,CAALkD,KAAK;IACLC,UAAU,GAAAnD,IAAA,CAAVmD,UAAU;IACVC,KAAK,GAAApD,IAAA,CAALoD,KAAK;IACLC,aAAa,GAAArD,IAAA,CAAbqD,aAAa;IACbC,QAAQ,GAAAtD,IAAA,CAARsD,QAAQ;IACRnD,SAAS,GAAAH,IAAA,CAATG,SAAS;AACNc,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;EAEP,IAAMS,OAAO,GAAG,EAAE,CAAA;AAClB,EAAA,IAAM2B,kBAAkB,GAAGvB,UAAU,IAAIK,QAAQ,IAAIC,OAAO,CAAA;AAC5D,EAAA,IAAMkB,qBAAqB,GAAGtB,aAAa,IAAIG,QAAQ,IAAIC,OAAO,CAAA;AAClE,EAAA,IAAMmB,mBAAmB,GAAGtB,WAAW,IAAIC,QAAQ,IAAIE,OAAO,CAAA;AAC9D,EAAA,IAAMoB,oBAAoB,GAAGzB,YAAY,IAAIG,QAAQ,IAAIE,OAAO,CAAA;AAEhE,EAAA,IAAMqB,iBAAiB,GAAGpB,SAAS,IAAIK,OAAO,IAAIC,MAAM,CAAA;AACxD,EAAA,IAAMe,oBAAoB,GAAGnB,YAAY,IAAIG,OAAO,IAAIC,MAAM,CAAA;AAC9D,EAAA,IAAMgB,kBAAkB,GAAGnB,UAAU,IAAIC,OAAO,IAAIE,MAAM,CAAA;AAC1D,EAAA,IAAMiB,mBAAmB,GAAGtB,WAAW,IAAIG,OAAO,IAAIE,MAAM,CAAA;AAE5Dd,EAAAA,QAAQ,IAAIH,OAAO,CAACC,IAAI,CAAC,cAAc,CAAC,CAAA;AACxC0B,EAAAA,kBAAkB,IACjB3B,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEgC,kBAAkB,CAAC,CAAC,CAAA;AAC/DC,EAAAA,qBAAqB,IACpB5B,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEiC,qBAAqB,CAAC,CAAC,CAAA;AAClEC,EAAAA,mBAAmB,IAClB7B,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEkC,mBAAmB,CAAC,CAAC,CAAA;AAChEC,EAAAA,oBAAoB,IACnB9B,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEmC,oBAAoB,CAAC,CAAC,CAAA;AACjEC,EAAAA,iBAAiB,IAChB/B,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEoC,iBAAiB,CAAC,CAAC,CAAA;AAC9DC,EAAAA,oBAAoB,IACnBhC,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEqC,oBAAoB,CAAC,CAAC,CAAA;AACjEC,EAAAA,kBAAkB,IACjBjC,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEsC,kBAAkB,CAAC,CAAC,CAAA;AAC/DC,EAAAA,mBAAmB,IAClBlC,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,SAAS,EAAEuC,mBAAmB,CAAC,CAAC,CAAA;AAEhEhB,EAAAA,OAAO,IAAIlB,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,MAAM,EAAEuB,OAAO,CAAC,CAAC,CAAA;AAC3DC,EAAAA,cAAc,IACbnB,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,cAAc,EAAEwB,cAAc,CAAC,CAAC,CAAA;AAChE,EAAA,IAAIC,UAAU,EAAE;AACfpB,IAAAA,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,YAAY,EAAEyB,UAAU,CAAC,CAAC,CAAA;AAC1D,GAAA;AAEAC,EAAAA,QAAQ,IAAIrB,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,YAAY,EAAE0B,QAAQ,CAAC,CAAC,CAAA;AACnEC,EAAAA,KAAK,IAAItB,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,QAAQ,EAAE2B,KAAK,CAAC,CAAC,CAAA;AAEzDE,EAAAA,KAAK,IAAIxB,OAAO,CAACC,IAAI,CAAA,YAAA,GAAcuB,KAAO,CAAC,CAAA;AAC3CD,EAAAA,UAAU,IAAIvB,OAAO,CAACC,IAAI,CAAA,SAAA,GAAWsB,UAAY,CAAC,CAAA;AAElDE,EAAAA,aAAa,IAAIzB,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,WAAW,EAAE8B,aAAa,CAAC,CAAC,CAAA;AAC5EC,EAAAA,QAAQ,IAAI1B,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,gBAAgB,EAAE+B,QAAQ,CAAC,CAAC,CAAA;AAEvE,EAAA,IAAMU,SAAS,GAAGC,EAAE,CAACrC,OAAO,EAAEzB,SAAS,CAAC,CAAA;AAExC,EAAA,OACCD,KAAA,CAAAM,aAAA,CAACO,SAAS,EAAAK,QAAA,CAAA;AAACjB,IAAAA,SAAS,EAAE6D,SAAAA;GAAe/C,EAAAA,IAAI,CACvChB,EAAAA,QAAQ,CACE,CAAA;AAEd;;ACrNA;IAWaiE,KAAK,GAAG,SAARA,KAAKA,CAAAlE,IAAA,EAAkD;AAAA,EAAA,IAA5CC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEkE,KAAK,GAAAnE,IAAA,CAALmE,KAAK;IAAEhE,SAAS,GAAAH,IAAA,CAATG,SAAS,CAAA;AACjD,EAAA,IAAMiE,UAAU,GAAGC,cAAQ,CAACC,OAAO,CAACrE,QAAQ,CAAC,CAAA;AAC7C,EAAA,IAAImE,UAAU,CAACG,MAAM,IAAI,CAAC,EAAE;IAC3B,OAAOrE,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,EAAA,IAAA,EAAG2D,UAAU,CAAI,CAAA;AACzB,GAAA;AAEA,EAAA,OACClE,KAAK,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAAL,IAAAA,SAAS,EAAEA,SAAAA;GACd,EAAAiE,UAAU,CAACI,GAAG,CAAC,UAACC,KAAK,EAAEC,KAAK,EAAA;AAAA,IAAA,OAC5BA,KAAK,KAAKN,UAAU,CAACG,MAAM,GAAG,CAAC,GAC9BrE;AAAKyE,MAAAA,GAAG,EAAED,KAAAA;KAAK,EAAGD,KAAK,CAAO,GAE9BvE,KAAA,CAAAM,aAAA,CAACsB,GAAG,EAAA;AAACI,MAAAA,aAAa,EAAEiC,KAAK;AAAEQ,MAAAA,GAAG,EAAED,KAAAA;KAAK,EACnCD,KAAK,CAEP,CAAA;AAAA,GAAA,CACD,CACI,CAAA;AAER;;;ICTaG,SAAS,GAAuB,SAAhCA,SAASA,CAAA5E,IAAA,EAKjB;AAAA,EAAA,IAJJ6E,KAAK,GAAA7E,IAAA,CAAL6E,KAAK;IACLjE,MAAM,GAAAZ,IAAA,CAANY,MAAM;IACNT,SAAS,GAAAH,IAAA,CAATG,SAAS;AACNc,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,IAAM2D,UAAU,GAAGb,EAAE,CAAC,eAAe,EAAE9D,SAAS,CAAC,CAAA;AACjD,EAAA,OACCD,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAAY,QAAA,CAAA;AAAKjB,IAAAA,SAAS,EAAE2E,UAAAA;AAAU,GAAA,EAAM7D,IAAI,CAClC4D,EAAAA,KAAK,CAACL,GAAG,CAAC,UAAAnE,KAAA,EAAA;AAAA,IAAA,IAAG0E,KAAK,GAAA1E,KAAA,CAAL0E,KAAK;MAAEC,KAAK,GAAA3E,KAAA,CAAL2E,KAAK,CAAA;AAAA,IAAA,OACzB9E,KAAA,CAAAM,aAAA,CAAC0D,KAAK,EAAC;AAAAC,MAAAA,KAAK,EAAC,OAAO;AAACQ,MAAAA,GAAG,EAAEK,KAAK,CAACC,QAAQ,EAAE;AAAA,KAAA,EACzC/E,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAKL,MAAAA,SAAS,EAAC,qBAAA;KAAqB,EAAE4E,KAAK,CAAO,EAClD7E,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAA,IAAA,EACE0E,WAAM,CAACF,KAAK,CAAC,IAAIG,iBAAY,CAACH,KAAK,CAAC,GACpC9E,oBAACQ,cAAc,EAAA;AAACC,MAAAA,IAAI,EAAEqE,KAAK;AAAEpE,MAAAA,MAAM,EAAEA,MAAAA;AAAM,KAAA,CAAI,GAE/CV,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA,IAAA,EAAOwE,KAAK,CACZ,CACI,CACC,CAAA;AAAA,GACR,CAAC,CACG,CAAA;AAER;;ICjCaI,iBAAiB,GAA+B,SAAhDA,iBAAiBA,CAAApF,IAAA,EAIzB;AAAA,EAAA,IAAAa,OAAA,GAAAb,IAAA,CAHJc,EAAE;AAAEC,IAAAA,SAAS,GAAAF,OAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,OAAA;IACrBV,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTF,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;AAER,EAAA,IAAM+D,SAAS,GAAGqB,EAAU,CAAC,CAAClF,SAAS,CAAC,CAAC,CAAA;AAEzC,EAAA,OAAOD,KAAC,CAAAM,aAAA,CAAAO,SAAS,EAAC;AAAAZ,IAAAA,SAAS,EAAE6D,SAAAA;AAAS,GAAA,OAAI/D,QAAQ,CAAa,CAAA;AAChE;;ICPaqF,WAAW,GAAyB,SAApCA,WAAWA,CAAAtF,IAAA,EAInB;AAAA,EAAA,IAHJuF,qBAAqB,GAAAvF,IAAA,CAArBuF,qBAAqB;IACrBC,QAAQ,GAAAxF,IAAA,CAARwF,QAAQ;IACRC,kBAAkB,GAAAzF,IAAA,CAAlByF,kBAAkB,CAAA;AAElB,EAAA,IAAMC,KAAK,GAAaC,iBAAY,CAACH,QAAQ,CAAC,CAAA;AAE9C,EAAA,IAAMI,WAAW,GAAGF,KAAK,CACvBlB,GAAG,CAAC,UAACqB,IAAI,EAAA;IAAA,OAAM;AAAEC,MAAAA,KAAK,EAAEL,kBAAkB,CAACI,IAAI,CAAC;AAAEA,MAAAA,IAAI,EAAJA,IAAAA;KAAM,CAAA;AAAA,GAAC,CAAC,CAC1DE,MAAM,CAAC,UAAA1F,KAAA,EAAA;AAAA,IAAA,IAAGyF,KAAK,GAAAzF,KAAA,CAALyF,KAAK,CAAA;IAAA,OAAOA,KAAK,KAAKE,SAAS,CAAA;GAAC,CAAA,CAAA;EAE5C,IAAMC,kBAAkB,GAAGL,WAAW,CAACpB,GAAG,CAAC,UAAAjE,KAAA,EAAkB2F,CAAC,EAAI;AAAA,IAAA,IAApBJ,KAAK,GAAAvF,KAAA,CAALuF,KAAK;MAAED,IAAI,GAAAtF,KAAA,CAAJsF,IAAI,CAAA;IACxD,IAAMM,MAAM,GAAGD,CAAC,KAAKN,WAAW,CAACrB,MAAM,GAAG,CAAC,CAAA;AAC3C,IAAA,IAAI4B,MAAM,EAAE;AACX,MAAA,OACCjG,KAAA,CAAAM,aAAA,CAAC4F,mBAAc,EAAA;AAACzB,QAAAA,GAAG,EAAEkB,IAAI;AAAE/E,QAAAA,EAAE,EAAE,MAAA;OAAM,EACnCgF,KAAK,CACU,CAAA;AAEnB,KAAA;AACA,IAAA,OACC5F,KAAC,CAAAM,aAAA,CAAA4F,mBAAc;AAACzB,MAAAA,GAAG,EAAEkB,IAAI;AAAE/E,MAAAA,EAAE,EAAEuF,mBAAI;AAAEC,MAAAA,EAAE,EAAET,IAAAA;OACvCC,KAAK,CACU,CAAA;AAEnB,GAAC,CAAC,CAAA;AAEF,EAAA,IAAIP,qBAAqB,EAAE;AAC1B,IAAA,OACCrF,KAAA,CAAAM,aAAA,CAAC+F,yBAAoB,EAAA,IAAA,EAClBhB,CAAAA,qBAAqB,CAAAiB,CAAAA,MAAA,CAAKP,kBAAkB,CAAC,CACzB,CAAA;AAEzB,GAAA;EAEA,OAAO/F,KAAC,CAAAM,aAAA,CAAA+F,yBAAoB,EAAE,IAAA,EAAAN,kBAAkB,CAAwB,CAAA;AACzE;;;ICRaQ,YAAY,GAA0B,SAAtCA,YAAYA,CAAAzG,IAAA,EAWpB;AAAA,EAAA,IAAA0G,WAAA,GAAA1G,IAAA,CAVJ2G,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;IACdzG,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACR2G,OAAO,GAAA5G,IAAA,CAAP4G,OAAO;IAAAC,SAAA,GAAA7G,IAAA,CACP8G,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,SAAA;IACfE,OAAO,GAAA/G,IAAA,CAAP+G,OAAO;IACPC,SAAS,GAAAhH,IAAA,CAATgH,SAAS;IACTC,QAAQ,GAAAjH,IAAA,CAARiH,QAAQ;IACRC,OAAO,GAAAlH,IAAA,CAAPkH,OAAO;IACPC,SAAS,GAAAnH,IAAA,CAATmH,SAAS;AACNlG,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,IAAMiG,gBAAgB,GAAGnH,QAAQ,GAAGA,QAAQ,GAAG2G,OAAO,CAAA;AACtD,EAAA,IAAMS,aAAa,GAAGH,OAAO,GAAGA,OAAO,GAAGC,SAAS,CAAA;AACnD,EAAA,OACCjH,KAAC,CAAAM,aAAA,CAAA8G,WAAK,EAAAlG,QAAA,CAAA;AAAC0F,IAAAA,IAAI,EAAEA,IAAI;AAAES,IAAAA,IAAI,EAAEZ,MAAM;AAAEQ,IAAAA,SAAS,EAAEE,aAAAA;GAAmBpG,EAAAA,IAAI,GACjEuG,aAAQ,CAACJ,gBAAgB,CAAC,GAC1BlH,KAAC,CAAAM,aAAA,CAAAiH,oBAAS,EAAE,IAAA,EAAAL,gBAAgB,CAAa,GAEzClH,KAAA,CAAAM,aAAA,CAACsB,GAAG,EAAA;AAACI,IAAAA,aAAa,EAAC,QAAA;AAAQ,GAAA,EAAEkF,gBAAgB,CAC7C,EAEDlH,KAAA,CAAAM,aAAA,CAACkH,kBAAW,EACV,IAAA,EAAAV,SAAS,GACT9G,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,EAAA,IAAA,EACCP,KAAC,CAAAM,aAAA,CAAAmH,sBAAe,EACf;AAAAC,IAAAA,OAAO,EAAEP,aAAa;AACV,IAAA,aAAA,EAAA,qBAAA;GAEX,EAAAJ,QAAQ,CAACY,MAAM,CACC,EAClB3H,KAAC,CAAAM,aAAA,CAAAsH,oBAAa;AACbF,IAAAA,OAAO,EAAEZ,SAAS;AACN,IAAA,aAAA,EAAA,sBAAA;GAEX,EAAAC,QAAQ,CAACc,OAAO,CACF,CACd,GAEHhB,OACA,CACY,CACP,CAAA;AAEV;;ICzEaiB,OAAO,GAAqB,SAA5BA,OAAOA,CAAAhI,IAAA,EAIf;AAAA,EAAA,IAAAa,OAAA,GAAAb,IAAA,CAHJc,EAAE;AAAEC,IAAAA,SAAS,GAAAF,OAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,OAAA;IACtBV,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTF,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;EAER,IAAM+D,SAAS,GAAGqB,EAAU,CAAC,CAAC,aAAa,EAAElF,SAAS,CAAC,CAAC,CAAA;AAExD,EAAA,OAAOD,KAAA,CAAAM,aAAA,CAACO,SAAS,EAAC;AAAAZ,IAAAA,SAAS,EAAE6D,SAAAA;GAAS,EAAG/D,QAAQ,CAAa,CAAA;AAC/D;;;ACnBYgI,6BAKX;AALD,CAAA,UAAYA,WAAW,EAAA;AACtBA,EAAAA,WAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACfA,EAAAA,WAAA,CAAA,aAAA,CAAA,GAAA,KAAmB,CAAA;AACnBA,EAAAA,WAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnBA,EAAAA,WAAA,CAAA,YAAA,CAAA,GAAA,MAAmB,CAAA;AACpB,CAAC,EALWA,mBAAW,KAAXA,mBAAW,GAKtB,EAAA,CAAA,CAAA,CAAA;AAED,IAAMC,iBAAiB,IAAAC,kBAAA,GAAA,EAAA,EAAAA,kBAAA,CAIrBF,mBAAW,CAACG,KAAK,CAAA,GAAG,SAAS,EAAAD,kBAAA,CAC7BF,mBAAW,CAACI,WAAW,CAAA,GAAG,SAAS,EAAAF,kBAAA,CACnCF,mBAAW,CAACK,OAAO,CAAA,GAAG,SAAS,EAAAH,kBAAA,CAChC,CAAA;AAED;;;;AAIG;IACUI,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAClCC,WAAyD,EAAA;EAAA,OACrDN,iBAAiB,CAACM,WAAW,CAAC,CAAA;AAAA,EAAA;AAEnC,IAAMC,wBAAwB,IAAAC,qBAAA,GAAAA,EAAAA,EAAAA,qBAAA,CAC5BT,mBAAW,CAACG,KAAK,CAAA,GAAG,OAAO,EAAAM,qBAAA,CAC3BT,mBAAW,CAACI,WAAW,CAAA,GAAG,KAAK,EAAAK,qBAAA,CAC/BT,mBAAW,CAACK,OAAO,IAAG,SAAS,EAAAI,qBAAA,CAC/BT,mBAAW,CAACU,UAAU,IAAG,MAAM,EAAAD,qBAAA,CAChC,CAAA;IAEYE,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAIJ,WAAwB,EAAA;EAAA,OACnEC,wBAAwB,CAACD,WAAW,CAAC,CAAA;AAAA;;;IClBzBK,mBAAmB,GAAkB,SAArCA,mBAAmBA,CAAA7I,IAAA,EAI3B;AAAA,EAAA,IAHJ8F,KAAK,GAAA9F,IAAA,CAAL8F,KAAK;IAAAgD,gBAAA,GAAA9I,IAAA,CACL+I,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,gBAAA;AACpB7H,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,OACCjB,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAAY,QAAA,CAAA;AAAK8B,IAAAA,KAAK,EAAE,GAAG;AAAE8F,IAAAA,MAAM,EAAE,EAAE;AAAEC,IAAAA,OAAO,EAAC,YAAA;AAAY,GAAA,EAAKhI,IAAI,CACzDf,EAAAA,KAAA,CAAAM,aAAA,CAAA,OAAA,EAAA,IAAA,EAAQsF,KAAK,CAAS,EACtB5F,KAAA,CAAAM,aAAA,CAAA,GAAA,EAAA;AAAG0I,IAAAA,IAAI,EAAC,MAAM;AAACC,IAAAA,QAAQ,EAAC,SAAA;AAAS,GAAA,EAChCjJ,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA;AACC0I,IAAAA,IAAI,EAAC,MAAM;AACXE,IAAAA,CAAC,EAAC,8EAAA;AACD,GAAA,CAAA,EACFlJ,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAM0I,IAAAA,IAAI,EAAEH,WAAW;AAAEK,IAAAA,CAAC,EAAC,2BAAA;AAA8B,GAAA,CAAA,EACzDlJ,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA;AACC0I,IAAAA,IAAI,EAAC,MAAM;AACXE,IAAAA,CAAC,EAAC,4sCAAA;AACD,GAAA,CAAA,EACFlJ,KAAG,CAAAM,aAAA,CAAA,GAAA,EAAA;AAAA0I,IAAAA,IAAI,EAAEH,WAAAA;AAAW,GAAA,EACnB7I,KAAM,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAA4I,IAAAA,CAAC,EAAC,6rDAAA;GAA6rD,CAAG,CACrsD,CACD,CACC,CAAA;AAER,EAAC;IASYC,gBAAgB,GAA8B,SAA9CA,gBAAgBA,CAAAhJ,KAAA,EAKxB;AAAA,EAAA,IAAAiJ,QAAA,GAAAjJ,KAAA,CAJJS,EAAE;AAAEC,IAAAA,SAAS,GAAAuI,QAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,QAAA;IACrBnJ,SAAS,GAAAE,KAAA,CAATF,SAAS;IACToJ,OAAO,GAAAlJ,KAAA,CAAPkJ,OAAO;IACPf,WAAW,GAAAnI,KAAA,CAAXmI,WAAW,CAAA;EAEX,IAAMxE,SAAS,GAAGqB,EAAU,CAAC,CAAC,kBAAkB,EAAElF,SAAS,CAAC,CAAC,CAAA;AAE7D,EAAA,OACCD,KAAC,CAAAM,aAAA,CAAAO,SAAS,EAAC;AAAAZ,IAAAA,SAAS,EAAE6D,SAAAA;AAAS,GAAA,EAC9B9D,KAAC,CAAAM,aAAA,CAAAqI,mBAAmB;AACnB/C,IAAAA,KAAK,EAAEyD,OAAO;AACdpJ,IAAAA,SAAS,EAAC,MAAM;AAChB4I,IAAAA,WAAW,EACVP,WAAW,KAAKxC,SAAS,IAAIwC,WAAW,KAAKP,mBAAW,CAACU,UAAU,GAChEJ,sBAAsB,CAACC,WAAW,CAAC,GACnCxC,SAAAA;AAEH,GAAA,CAAA,CACS,CAAA;AAEd;;AC7CA,IAAMwD,yBAAyB,GAC9B,gGAAgG,CAAA;AAEpFC,IAAAA,aAAc,0BAAAC,UAAA,EAAA;EAC1B,SAAAD,aAAAA,CAAYE,KAAY,EAAA;AAAA,IAAA,IAAAC,KAAA,CAAA;AACvBA,IAAAA,KAAA,GAAAF,UAAA,CAAAG,IAAA,CAAA,IAAA,EAAMF,KAAK,CAAC,IAAA,IAAA,CAAA;IACZC,KAAA,CAAKE,KAAK,GAAG;AAAEC,MAAAA,KAAK,EAAE,IAAA;KAAM,CAAA;AAAC,IAAA,OAAAH,KAAA,CAAA;AAC9B,GAAA;EAACI,cAAA,CAAAP,aAAA,EAAAC,UAAA,CAAA,CAAA;AAAAD,EAAAA,aAAA,CAEMQ,wBAAwB,GAA/B,SAAOA,wBAAwBA,CAACF,KAAY,EAAA;IAC3C,OAAO;AACNA,MAAAA,KAAK,EAALA,KAAAA;KACA,CAAA;GACD,CAAA;AAAA,EAAA,IAAAG,MAAA,GAAAT,aAAA,CAAAU,SAAA,CAAA;EAAAD,MAAA,CAEDE,iBAAiB,GAAjB,SAAAA,iBAAiBA,CAACL,KAAY,EAAEM,SAAoB,EAAA;IAAA,IAAAC,qBAAA,EAAAC,WAAA,CAAA;AACnD;AACA,IAAA,CAAAD,qBAAA,GAAAC,CAAAA,WAAA,OAAI,CAACZ,KAAK,EAACa,WAAW,KAAA,IAAA,IAAtBF,qBAAA,CAAAT,IAAA,CAAAU,WAAA,EAAyBR,KAAK,EAAEM,SAAS,CAAC,CAAA;GAC1C,CAAA;AAAAH,EAAAA,MAAA,CAEDO,MAAM,GAAN,SAAAA,MAAMA,GAAA;AAAA,IAAA,IAAAC,MAAA,GAAA,IAAA,CAAA;AACL,IAAA,IAAQX,KAAK,GAAK,IAAI,CAACD,KAAK,CAApBC,KAAK,CAAA;AACb,IAAA,IAAAY,YAAA,GAA+B,IAAI,CAAChB,KAAK;MAAjCiB,QAAQ,GAAAD,YAAA,CAARC,QAAQ;MAAE3K,QAAQ,GAAA0K,YAAA,CAAR1K,QAAQ,CAAA;AAE1B,IAAA,IAAI8J,KAAK,EAAE;AACV,MAAA,IAAIc,eAAU,CAAaD,QAAQ,CAAC,EAAE;AACrC,QAAA,OAAOA,QAAQ,CAAC;UAAEE,KAAK,EAAE,SAAPA,KAAKA,GAAA;YAAA,OAAQJ,MAAI,CAACK,QAAQ,CAAC;AAAEhB,cAAAA,KAAK,EAAE,IAAA;AAAI,aAAE,CAAC,CAAA;AAAA,WAAA;AAAEA,UAAAA,KAAK,EAALA,KAAAA;AAAO,SAAA,CAAC,CAAA;AACxE,OAAC,MAAM,IACNA,KAAK,CAACiB,IAAI,KAAK,eAAe,IAC9BjB,KAAK,CAACnD,OAAO,KAAK4C,yBAAyB,EAC1C;AACD,QAAA,OAAOtJ,KAAA,CAAAM,aAAA,CAACyK,iBAAiB,EAAA,IAAA,CAAG,CAAA;AAC7B,OAAA;AAEA,MAAA,OAAOL,QAAQ,CAAA;AAChB,KAAA;AAEA,IAAA,OAAO3K,QAAQ,CAAA;GACf,CAAA;AAAA,EAAA,OAAAwJ,aAAA,CAAA;AAAA,CAAA,CAnCiC1I,eAAuB,EAAA;AAsCnD,IAAMmK,oBAAoB,GAAG,YAAY,CAAA;AAEhD,SAASD,iBAAiBA,GAAA;AACzB;AACA,EAAA,IAAME,QAAQ,GAAGC,YAAY,CAACC,OAAO,CAACH,oBAAoB,CAAC,CAAA;EAC3D,IAAMI,WAAW,GAAGH,QAAQ,KAAK,IAAI,IAAIA,QAAQ,KAAK,OAAO,CAAA;AAC7D,EAAA,OACCjL,KAAC,CAAAM,aAAA,CAAAsB,GAAG,EAAC;AAAAmB,IAAAA,QAAQ,EAAC,OAAA;AAAO,GAAA,EACpB/C,KAAC,CAAAM,aAAA,CAAA+K,oBAAc;AACdC,IAAAA,OAAO,EAAC,MAAM;AACd1F,IAAAA,KAAK,EACJwF,WAAW,GACR,6CAA6C,GAC7C,4CAAA;AAA4C,GAAA,EAGhDpL,KAAA,CAAAM,aAAA,CAACsB,GAAG,EAAA;AAACI,IAAAA,aAAa,EAAC,QAAA;AAAQ,GAAA,EAC1BhC,KAAA,CAAAM,aAAA,CAACiH,oBAAS,EAAC;AAAA5E,IAAAA,MAAM,EAAC,MAAA;KAChByI,WAAW,GAAG,qBAAqB,GAAG,iBAAiB,CAC7C,CACP,EACNpL,KAAC,CAAAM,aAAA,CAAAsH,oBAAa,EAAC;IAAAF,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQ6D,MAAM,CAACC,QAAQ,CAACC,MAAM,EAAE,CAAA;AAAA,KAAA;GACpD,EAAAL,WAAW,GAAG,UAAU,GAAG,SAAS,CACtB,CACA,CACZ,CAAA;AAER;;;ICtEaM,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAA5L,IAAA,EAUD;AAAA,EAAA,IATvC8F,KAAK,GAAA9F,IAAA,CAAL8F,KAAK;IACW+F,cAAc,GAAA7L,IAAA,CAA9B8L,cAAc;IACdC,SAAS,GAAA/L,IAAA,CAAT+L,SAAS;IACTC,MAAM,GAAAhM,IAAA,CAANgM,MAAM;IACNC,QAAQ,GAAAjM,IAAA,CAARiM,QAAQ;IACRjB,IAAI,GAAAhL,IAAA,CAAJgL,IAAI;IACJQ,OAAO,GAAAxL,IAAA,CAAPwL,OAAO;IACPU,QAAQ,GAAAlM,IAAA,CAARkM,QAAQ;AACLjL,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;EAEP,IAAMgL,cAAc,GAAG,SAAjBA,cAAcA,CAAIhB,QAAqB,EAAEnG,KAAc,EAAI;AAChE,IAAA,IAAMoH,OAAO,GAAAhL,QAAA,CAAA,EAAA,EAAQ4K,MAAM,CAAE,CAAA;AAC7B,IAAA,IAAIhH,KAAK,KAAK,EAAE,IAAI,CAACA,KAAK,EAAE;MAC3B,OAAOoH,OAAO,CAACjB,QAAQ,CAAC,CAAA;AACzB,KAAC,MAAM;AACNiB,MAAAA,OAAO,CAACjB,QAAQ,CAAC,GAAGnG,KAAK,CAAA;AAC1B,KAAA;IACAiH,QAAQ,CAACG,OAAO,CAAC,CAAA;GACjB,CAAA;AAED,EAAA,OACClM,KAAC,CAAAM,aAAA,CAAA6L,sBAAe,EACf;AAAAvG,IAAAA,KAAK,EAAEA,KAAK;AACZwG,IAAAA,WAAW,EACX,IAAA;AAAAC,IAAAA,YAAY,EAAE;AACbjK,MAAAA,OAAO,EAAE,iBAAiB;AAC1BC,MAAAA,SAAS,EAAE,MAAM;AACjBE,MAAAA,YAAY,EAAE,MAAA;AACd,KAAA;AAAA,GAAA,EAEDvC,KAAA,CAAAM,aAAA,CAAC0D,KAAK,EAAC;AAAAC,IAAAA,KAAK,EAAC,QAAA;KACX4H,SAAS,CAACvH,GAAG,CAAC,UAAAnE,KAAA,EAAA;AAAA,IAAA,IAAUmM,OAAO,GAAAnM,KAAA,CAAd2E,KAAK;MAAWD,KAAK,GAAA1E,KAAA,CAAL0E,KAAK;MAAE0H,QAAQ,GAAApM,KAAA,CAARoM,QAAQ,CAAA;AAAA,IAAA,OAChDvM,KAAA,CAAAM,aAAA,CAACqL,cAAc,EAAAzK,QAAA,CAAA;MACD,aAAA,EAAA,mBAAA,GAAoB4J,IAAI,GAAA,GAAA,GAAIwB,OAAS;MAClD7H,GAAG,EAAEmB,KAAK,GAAG0G,OAAO;AACpBzH,MAAAA,KAAK,EAAE0H,QAAQ,GAAM1H,KAAK,SAAMA,KAAK;AACrCyG,MAAAA,OAAO,EAAEA,OAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAGgB,OAAO,CAAC;AAC3BN,MAAAA,QAAQ,EAAEA,QAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAGM,OAAO,CAAC;AAC7BxB,MAAAA,IAAI,EAAEA,IAAI;AACViB,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGS,CAAgC,EAAI;QAC9CP,cAAc,CAACK,OAAO,EAAEE,CAAC,CAACC,MAAM,CAAC3H,KAAK,CAAC,CAAA;OACvC;AACDA,MAAAA,KAAK,EAAEgH,MAAM,CAACQ,OAAO,CAAC,IAAI,EAAA;KACtBvL,EAAAA,IAAI,CACP,CAAA,CAAA;GACF,CAAC,CACK,CACS,CAAA;AAEpB;;ACxEA;AAGA;;;;;;AAMG;AACG,SAAU2L,WAAWA,CAACC,IAAY,EAAA;EAAA,IAAAC,oBAAA,EAAAC,qBAAA,CAAA;AACvC,EAAA,OACCC,SAAe,CAAA,WAAA,GAAaH,IAAI,CAAG,KAAK,MAAM,IAC9C,EAAAC,oBAAA,GAAArB,MAAM,CAACL,YAAY,qBAAnB0B,oBAAA,CAAqBzB,OAAO,CAACwB,IAAI,CAAC,MAAK,MAAM,IAC7C,CAAA,CAAAE,qBAAA,GAAAtB,MAAM,CAACL,YAAY,KAAA,IAAA,GAAA,KAAA,CAAA,GAAnB2B,qBAAA,CAAqB1B,OAAO,eAAawB,IAAM,CAAC,MAAK,MAAM,CAAA;AAE7D,CAAA;AAEA;;;;;;AAMG;AACG,SAAUI,gBAAgBA,CAACJ,IAAY,EAAA;EAC5C,OAAOD,WAAW,CAACC,IAAI,CAAC,CAAA;AACzB,CAAA;IAUaK,aAAa,GAAG,SAAhBA,aAAaA,CAAAlN,IAAA,EAA8C;AAAA,EAAA,IAAxCC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAE4M,IAAI,GAAA7M,IAAA,CAAJ6M,IAAI,CAAA;AAC7C,EAAA,IAAMM,OAAO,GAAGF,gBAAgB,CAACJ,IAAI,CAAC,CAAA;AACtC,EAAA,IAAIM,OAAO,EAAE;IACZ,OAAOjN,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,EAAA,IAAA,EAAGR,QAAQ,CAAI,CAAA;AACvB,GAAA;AACA,EAAA,OAAO,IAAI,CAAA;AACZ;;;IClCamN,oBAAoB,GAAkC,SAAtDA,oBAAoBA,CAAApN,IAAA,EAI5B;AAAA,EAAA,IAHJqN,MAAM,GAAArN,IAAA,CAANqN,MAAM;IAAAxM,OAAA,GAAAb,IAAA,CACNc,EAAE;AAAEC,IAAAA,SAAS,GAAAF,OAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,OAAA;AACnBI,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,IAAMmM,YAAY,GAAGC,MAAM,CAACF,MAAM,CAAC,IAAI,CAAC,CAAA;EAExC,IAAMG,eAAe,GAAG,IAAIC,IAAI,CAACC,YAAY,CAAC,OAAO,EAAE;AACtDC,IAAAA,qBAAqB,EAAE,CAAC;AACxBC,IAAAA,qBAAqB,EAAE,CAAA;AACvB,GAAA,CAAC,CAACC,MAAM,CAACP,YAAY,CAAC,CAAA;EAEvB,OAAOpN,oBAACa,SAAS,EAAAK,QAAA,CAAKH,EAAAA,EAAAA,IAAI,CAAGuM,EAAAA,eAAe,CAAa,CAAA;AAC1D;;;ICCaM,cAAc,GAA4B,SAA1CA,cAAcA,CAAA9N,IAAA,EAMtB;AAAA,EAAA,IALJmL,QAAQ,GAAAnL,IAAA,CAARmL,QAAQ;IACR4C,OAAO,GAAA/N,IAAA,CAAP+N,OAAO;IACP5N,SAAS,GAAAH,IAAA,CAATG,SAAS;IACT8L,SAAQ,GAAAjM,IAAA,CAARiM,QAAQ;AACLhL,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,IAAM2D,UAAU,GAAGb,EAAE,CAAC,qBAAqB,EAAE9D,SAAS,CAAC,CAAA;EACvD,OACCD,KAAS,CAAAM,aAAA,CAAA,KAAA,EAAAY,QAAA,KAAAH,IAAI,EAAA;AAAEd,IAAAA,SAAS,EAAE2E,UAAAA;AAAU,GAAA,CAAA,EACnC5E,KAAA,CAAAM,aAAA,CAACwN,qBAAgB,EAChB;AAAA/B,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGd,QAAQ,EAAI;MACtB8C,oBAAe,CAAC9C,QAAQ,CAAC,CAAA;MACzBc,SAAQ,CAACd,QAAQ,CAAC,CAAA;KAClB;AACD+C,IAAAA,aAAa,EAAE/C,QAAAA;AAEd,GAAA,EAAA4C,OAAO,CAACvJ,GAAG,CAAC,UAAC2J,MAAM,EAAA;AAAA,IAAA,OACnBjO,KAAA,CAAAM,aAAA,CAAC4N,oBAAe,EAAA;MAACzJ,GAAG,EAAEwJ,MAAM,CAACnJ,KAAK;MAAEA,KAAK,EAAEmJ,MAAM,CAACnJ,KAAAA;AAAK,KAAA,EACrDmJ,MAAM,CAACpJ,KAAK,EACZoJ,MAAM,CAAC1B,QAAQ,IAAIvM,KAAM,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAAL,MAAAA,SAAS,EAAC,iBAAA;KAAiB,EAAE,GAAG,CAAQ,CACjD,CAAA;GAClB,CAAC,CACgB,CACd,CAAA;AAER;;IC3CakG,IAAI,GAAc,SAAlBA,IAAIA,CAAesD,KAAK,EAAI;EACxC,OACCzJ,KAAA,CAAAM,aAAA,CAAC6N,eAAC,EAAAjN,QAAA,KAAKuI,KAAK,EAAA;AAAE7I,IAAAA,EAAE,EAAEwN,mBAAAA;GAChB3E,CAAAA,EAAAA,KAAK,CAAC1J,QAAQ,CACZ,CAAA;AAEN;;;ICAasO,UAAU,GAAG,SAAbA,UAAUA,CAAAvO,IAAA,EAAA;AAAA,EAAA,IACtBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRE,SAAS,GAAAH,IAAA,CAATG,SAAS;AACNc,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;EAAA,OAEPjB,KAAC,CAAAM,aAAA,CAAA6F,eAAI,EAAAjF,QAAA,KAAKH,IAAI,EAAA;AAAEH,IAAAA,EAAE,EAAC,QAAQ;AAACX,IAAAA,SAAS,EAAE8D,EAAE,CAAC,iBAAiB,EAAE9D,SAAS,CAAA;AAAC,GAAA,CAAA,EACrEF,QAAQ,CACH,CAAA;AAAA;;ICRKuO,IAAI,GAAkB,SAAtBA,IAAIA,CAAAxO,IAAA,EAIZ;AAAA,EAAA,IAAAa,OAAA,GAAAb,IAAA,CAHJc,EAAE;AAAEC,IAAAA,SAAS,GAAAF,OAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,OAAA;IACrBV,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTF,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;EAER,IAAM+D,SAAS,GAAGqB,EAAU,CAAC,CAAC,cAAc,EAAE,UAAU,EAAElF,SAAS,CAAC,CAAC,CAAA;AAErE,EAAA,OAAOD,KAAA,CAAAM,aAAA,CAACO,SAAS,EAAC;AAAAZ,IAAAA,SAAS,EAAE6D,SAAAA;GAAS,EAAG/D,QAAQ,CAAa,CAAA;AAC/D;;;ACUA;;AAEG;IACUwO,kBAAkB,GAAgC,SAAlDA,kBAAkBA,CAAAzO,IAAA,EAa1B;AAAA,EAAA,IAZJG,SAAS,GAAAH,IAAA,CAATG,SAAS;IACO0L,cAAc,GAAA7L,IAAA,CAA9B8L,cAAc;IACd4C,UAAU,GAAA1O,IAAA,CAAV0O,UAAU;IACVC,UAAU,GAAA3O,IAAA,CAAV2O,UAAU;IACV3D,IAAI,GAAAhL,IAAA,CAAJgL,IAAI;IACJe,SAAS,GAAA/L,IAAA,CAAT+L,SAAS;IACTC,MAAM,GAAAhM,IAAA,CAANgM,MAAM;IACNC,QAAQ,GAAAjM,IAAA,CAARiM,QAAQ;IAAA2C,oBAAA,GAAA5O,IAAA,CACR6O,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA;IAAAE,UAAA,GAAA9O,IAAA,CACvB+E,KAAK;AAALA,IAAAA,KAAK,GAAA+J,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAC,WAAA,GAAA/O,IAAA,CACVgP,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAA,KAAA,CAAA,GAAG,cAAQ,GAAAA,WAAA;AACd9N,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,IAAA8N,SAAA,GAAgCC,cAAQ,CAACL,eAAe,CAAC;AAAlD1D,IAAAA,QAAQ,GAAA8D,SAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,WAAW,GAAAF,SAAA,CAAA,CAAA,CAAA,CAAA;AAC5B,EAAA,IAAMnK,UAAU,GAAGb,EAAE,CAAC,sBAAsB,EAAE9D,SAAS,CAAC,CAAA;AACxD,EAAA,IAAMiP,YAAY,GAAGpD,MAAM,CAACb,QAAQ,CAAC,CAAA;AAErC,EAAA,IAAMkE,YAAY,GAAG,SAAfA,YAAYA,CAAI3C,CAA6B,EAAI;IACtDA,CAAC,CAAC4C,OAAO,EAAE,CAAA;AACX,IAAA,IAAMC,aAAa,GAAG7C,CAAC,CAAC6C,aAAa,CAAA;AACrCC,IAAAA,UAAU,CAAC,YAAK;MACf,IAAID,aAAa,IAAI,CAACA,aAAa,CAACE,QAAQ,CAACC,QAAQ,CAACC,aAAa,CAAC,EAAE;QACrEX,MAAM,CAACtC,CAAC,CAAC,CAAA;AACV,OAAA;KACA,EAAE,CAAC,CAAC,CAAA;GACL,CAAA;AAED,EAAA,IAAMkD,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIzE,QAAgB,EAAI;IACjDgE,WAAW,CAAChE,QAAQ,CAAC,CAAA;GACrB,CAAA;AAED,EAAA,IAAMgB,cAAc,GAAG,SAAjBA,cAAcA,CAAInH,KAAc,EAAI;IACzC,IAAMoH,OAAO,GAAGyD,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE9D,MAAM,CAAC,CAAA;AACzC,IAAA,IAAIhH,KAAK,KAAK,EAAE,IAAI,CAACA,KAAK,EAAE;MAC3B,OAAOoH,OAAO,CAACjB,QAAQ,CAAC,CAAA;AACzB,KAAC,MAAM;AACNiB,MAAAA,OAAO,CAACjB,QAAQ,CAAC,GAAGnG,KAAK,CAAA;AAC1B,KAAA;IACAiH,QAAQ,CAACG,OAAO,CAAC,CAAA;GACjB,CAAA;AAED,EAAA;AACC;AACAlM,IAAAA,KACC,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAAL,MAAAA,SAAS,EAAE2E,UAAU;AACrB;AACAiL,MAAAA,QAAQ,EAAE,CAAC;AACXf,MAAAA,MAAM,EAAEK,YAAY;AAAA,MAAA,aAAA,EACarE,mBAAAA,GAAAA,IAAAA;AAAM,KAAA,EAEvC9K,KAAA,CAAAM,aAAA,CAAC0D,KAAK,EAAA;AAACC,MAAAA,KAAK,EAAC,YAAA;AAAY,KAAA,EACxBjE,KAAC,CAAAM,aAAA,CAAAsN,cAAc;AACd3C,MAAAA,QAAQ,EAAEA,QAAQ;AAClB4C,MAAAA,OAAO,EAAEhC,SAAS;AAClBE,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAG+D,IAAI,EAAA;QAAA,OAAKJ,oBAAoB,CAACI,IAAI,CAAC,CAAA;AAAA,OAAA;KAC7C,CAAA,EACF9P,KAAC,CAAAM,aAAA,CAAAqL,cAAc,EAAAzK,QAAA,CAAA;AACd2D,MAAAA,KAAK,EAAEA,KAAK;AACZyG,MAAAA,OAAO,EAAEmD,UAAU;AACnBzC,MAAAA,QAAQ,EAAEwC,UAAU;AACpB1D,MAAAA,IAAI,EAAEA,IAAI;AACV7K,MAAAA,SAAS,EAAC,eAAe;AACzB8L,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGS,CAAgC,EAAA;AAAA,QAAA,OAC1CP,cAAc,CAACO,CAAC,CAACC,MAAM,CAAC3H,KAAK,CAAC,CAAA;AAAA,OAAA;MAE/BA,KAAK,EAAEoK,YAAY,IAAI,EAAA;KACnBnO,EAAAA,IAAI,CACP,CAAA,CACK,CAAA;AACH,IAAA;AAER;;;ICxFagP,oBAAoB,GAAkC,SAAtDA,oBAAoBA,CAAAjQ,IAAA,EAM5B;AAAA,EAAA,IALJ+E,KAAK,GAAA/E,IAAA,CAAL+E,KAAK;IACLmL,aAAa,GAAAlQ,IAAA,CAAbkQ,aAAa;IACHC,YAAY,GAAAnQ,IAAA,CAAtBiM,QAAQ;IACRmE,sBAAsB,GAAApQ,IAAA,CAAtBoQ,sBAAsB;AACnBnP,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,IAAA8N,SAAA,GACCC,cAAQ,EAAkB;AADpBmB,IAAAA,oBAAoB,GAAApB,SAAA,CAAA,CAAA,CAAA;AAAEqB,IAAAA,uBAAuB,GAAArB,SAAA,CAAA,CAAA,CAAA,CAAA;AAGpDsB,EAAAA,eAAS,CAAC,YAAK;AACdD,IAAAA,uBAAuB,CACtBJ,aAAa,CAACM,IAAI,CACjB,UAACC,GAAG,EAAA;AAAA,MAAA,OAAKA,GAAG,CAACC,cAAc,KAAKN,sBAAsB,CAAA;AAAA,KAAA,CACtD,CACD,CAAA;AACF,GAAC,EAAE,CAACA,sBAAsB,EAAEF,aAAa,CAAC,CAAC,CAAA;AAE3C,EAAA,OACChQ,oBAACyQ,2BAAkB,EAAAvP,QAAA,CAAA;AAClB2D,IAAAA,KAAK,EAAEA,KAAK;IACZF,KAAK,EAAA,EAAA,CAAA2B,MAAA,CACD0J,aAAa,CACdU,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC,EAAA;MAAA,OAAKD,CAAC,CAACE,WAAW,CAACC,aAAa,CAACF,CAAC,CAACC,WAAW,EAAE,IAAI,CAAC,CAAA;AAAA,KAAA,CAAC,CAChEvM,GAAG,CAAC,UAACyM,YAAY,EAAI;MACrB,OAAO;QACNjM,KAAK,EAAEiM,YAAY,CAACP,cAAc;QAClC3L,KAAK,EAAEkM,YAAY,CAACF,WAAAA;OACpB,CAAA;AACF,KAAC,CAAC,CACH;IACDG,YAAY,EACXb,oBAAoB,GACjB;MACArL,KAAK,EAAEqL,oBAAoB,CAACK,cAAc;MAC1C3L,KAAK,EAAEsL,oBAAoB,CAACU,WAAAA;AAC5B,KAAA,GACA,IAAI;AAER9E,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAGiC,aAAa,EAAI;AAC3B,MAAA,IAAIA,aAAa,EAAE;AAClBiC,QAAAA,YAAY,CAACjC,aAAa,CAAClJ,KAAK,CAAC,CAAA;AAClC,OAAA;KACA;AACDmM,IAAAA,SAAS,EAAE,KAAA;GACPlQ,EAAAA,IAAI,CAAA,CACP,CAAA;AAEJ;;ICtDamQ,KAAK,GAAmB,SAAxBA,KAAKA,CAAApR,IAAA,EAKb;AAAA,EAAA,IAJJqR,cAAc,GAAArR,IAAA,CAAdqR,cAAc;IACdC,QAAQ,GAAAtR,IAAA,CAARsR,QAAQ;IACRC,aAAY,GAAAvR,IAAA,CAAZuR,YAAY;IACZC,WAAW,GAAAxR,IAAA,CAAXwR,WAAW,CAAA;EAEX,IAAMC,SAAS,GAAGC,IAAI,CAACC,IAAI,CAACN,cAAc,GAAGC,QAAQ,CAAC,CAAA;AACtD,EAAA,OACCpR,KAAC,CAAAM,aAAA,CAAAoR,eAAU,EACV;AAAAH,IAAAA,SAAS,EAAEA,SAAS;AACpBD,IAAAA,WAAW,EAAEA,WAAW;AACxBD,IAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAGM,IAAI,EAAI;MACtBN,aAAY,CAACM,IAAI,CAAC,CAAA;AACnB,KAAA;AAAC,GAAA,CACA,CAAA;AAEJ;;IClBaC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA9R,IAAA,EAA6C;AAAA,EAAA,IAAvC8F,KAAK,GAAA9F,IAAA,CAAL8F,KAAK;IAAEiM,MAAM,GAAA/R,IAAA,CAAN+R,MAAM,CAAA;AAC/CxB,EAAAA,eAAS,CAAC,YAAK;AACd,IAAA,IAAIwB,MAAM,EAAE;AACXrC,MAAAA,QAAQ,CAAC5J,KAAK,GAAMA,EAAAA,GAAAA,KAAK,GAAGiM,MAAQ,CAAA;AACrC,KAAC,MAAM;MACNrC,QAAQ,CAAC5J,KAAK,GAAGA,KAAK,CAAA;AACvB,KAAA;AACD,GAAC,EAAE,CAACA,KAAK,EAAEiM,MAAM,CAAC,CAAC,CAAA;AACpB,EAAC;IAQYC,SAAS,GAAG,SAAZA,SAASA,CAAA3R,KAAA,EAIV;AAAA,EAAA,IAHXmF,QAAQ,GAAAnF,KAAA,CAARmF,QAAQ;IACRC,kBAAkB,GAAApF,KAAA,CAAlBoF,kBAAkB;IAAAwM,cAAA,GAAA5R,KAAA,CAClB6R,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,eAAe,GAAAA,cAAA,CAAA;AAE1B,EAAA,IAAMvM,KAAK,GAAaC,iBAAY,CAACH,QAAQ,CAAC,CAAA;AAE9C,EAAA,IAAM2M,UAAU,GAAGzM,KAAK,CACtBlB,GAAG,CAAC,UAACqB,IAAI,EAAA;IAAA,OAAM;AAAEC,MAAAA,KAAK,EAAEL,kBAAkB,CAACI,IAAI,CAAC;AAAEA,MAAAA,IAAI,EAAJA,IAAAA;KAAM,CAAA;AAAA,GAAC,CAAC,CAC1DE,MAAM,CAAC,UAAAxF,KAAA,EAAA;AAAA,IAAA,IAAGuF,KAAK,GAAAvF,KAAA,CAALuF,KAAK,CAAA;IAAA,OAAOA,KAAK,KAAKE,SAAS,CAAA;AAAA,GAAA,CAAC,CAC1CxB,GAAG,CAAC,UAAA4N,KAAA,EAAA;AAAA,IAAA,IAAGtM,KAAK,GAAAsM,KAAA,CAALtM,KAAK,CAAA;AAAA,IAAA,OAAOA,KAAK,CAAA;GAAC,CAAA,CACzBuM,OAAO,EAAE,CACTC,IAAI,CAAC,KAAK,CAAC,CAAA;EAEb,IAAMxM,KAAK,GAAGqM,UAAU,GAAMA,UAAU,GAAMD,KAAAA,GAAAA,QAAQ,GAAKA,QAAQ,CAAA;AAEnEJ,EAAAA,gBAAgB,CAAC;AAAEhM,IAAAA,KAAK,EAALA,KAAAA;AAAK,GAAE,CAAC,CAAA;AAE3B,EAAA,OAAO,IAAI,CAAA;AACZ;;ACtBA;;;;AAIG;IACUyM,eAAe,GAA6B,SAA5CA,eAAeA,CAAAvS,IAAA,EAMvB;AAAA,EAAA,IALJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAAuS,aAAA,GAAAxS,IAAA,CACR4K,QAAQ;AAARA,IAAAA,QAAQ,GAAA4H,aAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,aAAA;IACfC,WAAW,GAAAzS,IAAA,CAAXyS,WAAW;IAAAC,UAAA,GAAA1S,IAAA,CACX2S,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAE,QAAA,GAAA5S,IAAA,CACV6S,GAAG;AAAHA,IAAAA,GAAG,GAAAD,QAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,QAAA,CAAA;AAER,EAAA,IAAME,YAAY,GAAGC,sBAAiB,CAACF,GAAG,EAAEJ,WAAW,CAAC,CAAA;AAExD,EAAA,IAAMO,cAAc,GAAGC,wBAAmB,CAACN,KAAK,EAAEF,WAAW,CAAC,CAAA;AAE9D,EAAA,IAAMS,OAAO,GAAGJ,YAAY,IAAIE,cAAc,CAAA;AAC9C,EAAA,OAAO9S,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,EAAA,IAAA,EAAGyS,OAAO,GAAGjT,QAAQ,GAAG2K,QAAQ,CAAI,CAAA;AAC5C;;;ICpBauI,iBAAiB,GAA+B,SAAhDA,iBAAiBA,CAAAnT,IAAA,EAIzB;AAAA,EAAA,IAHJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRmT,qBAAqB,GAAApT,IAAA,CAArBoT,qBAAqB;AAClBnS,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;EAEP8M,oBAAe,CACdoF,iCAAkB,EAAE,GAAG,IAAI,GAAGrN,SAAS,EAAA,sDACe,CACtD,CAAA;AAED,EAAA,IAAMsN,OAAO,GAAGC,yBAAU,CACzB,UAAAlT,KAAA,EAAA;AAAA,IAAA,IAAGmT,eAAe,GAAAnT,KAAA,CAAfmT,eAAe;MAAEC,YAAY,GAAApT,KAAA,CAAZoT,YAAY,CAAA;IAAA,OAC/BD,eAAe,CAAChO,QAAQ,KAAKiO,YAAY,CAACjO,QAAQ,IAClD4N,qBAAqB,CAACK,YAAY,CAAC,CAAA;GACpC,CAAA,CAAA;AAED,EAAA,OACCvT,KAAC,CAAAM,aAAA,CAAAiG,YAAY,EAAArF,QAAA,CAAA;AACZ+F,IAAAA,SAAS,EAAE,SAAXA,SAASA,GAAO;AACf,MAAA,IAAImM,OAAO,CAACxJ,KAAK,KAAK,SAAS,EAAE;QAChCwJ,OAAO,CAACI,KAAK,EAAE,CAAA;AAChB,OAAA;KACA;AACDnM,IAAAA,IAAI,EAAE+L,OAAO,CAACxJ,KAAK,KAAK,SAAS;AACjC9C,IAAAA,SAAS,EAAE,SAAXA,SAASA,GAAO;AACf,MAAA,IAAIsM,OAAO,CAACxJ,KAAK,KAAK,SAAS,EAAE;QAChCwJ,OAAO,CAACK,OAAO,EAAE,CAAA;AAClB,OAAA;AACD,KAAA;GACI1S,EAAAA,IAAI,CAEPhB,EAAAA,QAAQ,CACK,CAAA;AAEjB;;ICzCa2T,WAAW,GAAyB,SAApCA,WAAWA,CAAA5T,IAAA,EAMnB;AAAA,EAAA,IAAA6T,WAAA,GAAA7T,IAAA,CALJ8T,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;IAAA/E,UAAA,GAAA9O,IAAA,CACd+E,KAAK;AAALA,IAAAA,KAAK,GAAA+J,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IACViF,kBAAkB,GAAA/T,IAAA,CAAlB+T,kBAAkB;IAClBC,UAAU,GAAAhU,IAAA,CAAVgU,UAAU;IACVC,MAAM,GAAAjU,IAAA,CAANiU,MAAM,CAAA;AAEN,EAAA,IAAMC,gBAAgB,GAAGjQ,EAAE,CAAC,0BAA0B,EAAE;AACvD6P,IAAAA,MAAM,EAANA,MAAM;AACNK,IAAAA,UAAU,EAAEJ,kBAAAA;AACZ,GAAA,CAAC,CAAA;AACF,EAAA,IAAMK,qBAAqB,GAAGnQ,EAAE,CAAC,kBAAkB,EAAE;AACpDgQ,IAAAA,MAAM,EAANA,MAAAA;AACA,GAAA,CAAC,CAAA;AACF,EAAA,OACC/T,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAKL,IAAAA,SAAS,EAAEiU,qBAAAA;GAAqB,EACnCJ,UAAU,IAAI9T,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAKL,IAAAA,SAAS,EAAE+T,gBAAAA;AAAoB,GAAA,CAAA,EACnDhU,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAA,IAAA,EAAMuE,KAAK,CAAO,CACb,CAAA;AAER;;;ICqBasP,IAAI,GAAG,SAAPA,IAAIA,CAAArU,IAAA,EASD;AAAA,EAAA,IAAAa,OAAA,GAAAb,IAAA,CARfc,EAAE;AAAEwT,IAAAA,SAAS,GAAAzT,OAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,OAAA;IACtBZ,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRsU,QAAQ,GAAAvU,IAAA,CAARuU,QAAQ;IACRnR,KAAK,GAAApD,IAAA,CAALoD,KAAK;IACLoR,UAAU,GAAAxU,IAAA,CAAVwU,UAAU;IACVC,UAAU,GAAAzU,IAAA,CAAVyU,UAAU;IACVtU,SAAS,GAAAH,IAAA,CAATG,SAAS;AACNc,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;EAEP,IAAMS,OAAO,GAAG,EAAE,CAAA;AAElB2S,EAAAA,QAAQ,IAAI3S,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,gBAAgB,EAAEgT,QAAQ,CAAC,CAAC,CAAA;AACvEC,EAAAA,UAAU,IAAI5S,OAAO,CAACC,IAAI,CAAAkC,KAAA,CAAZnC,OAAO,EAASL,cAAc,CAAC,kBAAkB,EAAEiT,UAAU,CAAC,CAAC,CAAA;AAC7EC,EAAAA,UAAU,IAAI7S,OAAO,CAACC,IAAI,CAAA,kBAAA,GAAoB4S,UAAY,CAAC,CAAA;AAE3D,EAAA,IAAMzQ,SAAS,GAAGC,EAAE,CAACrC,OAAO,EAAEzB,SAAS,CAAC,CAAA;AAExC,EAAA,OACCD,oBAAC4B,GAAG,EAAAV,QAAA,CAAA;AAACN,IAAAA,EAAE,EAAEwT,SAAS;AAAElR,IAAAA,KAAK,EAAEA,KAAK;AAAEjD,IAAAA,SAAS,EAAE6D,SAAAA;GAAe/C,EAAAA,IAAI,CAC9DhB,EAAAA,QAAQ,CACJ,CAAA;AAER;;;ICpEayU,QAAQ,GAAsB,SAA9BA,QAAQA,CAAA1U,IAAA,EAAA;AAAA,EAAA,IACpBC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRE,SAAS,GAAAH,IAAA,CAATG,SAAS;AACNc,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAAA,EAAA,OAEPjB,KAAC,CAAAM,aAAA,CAAAmU,aAAM,EAAAvT,QAAA,CAAA;AAACoK,IAAAA,OAAO,EAAC,SAAA;AAAS,GAAA,EAAKvK,IAAI,EAAA;AAAEd,IAAAA,SAAS,EAAE8D,EAAE,CAAC,cAAc,EAAE9D,SAAS,CAAA;AAAC,GAAA,CAAA,EAC1EF,QAAQ,CACD,CAAA;AAAA;;ACVH,IAAM2U,sBAAsB,GAK/B,SALSA,sBAAsBA,CAK9BjL,KAAK,EAAI;AACb,EAAA,OACCzJ;IACCC,SAAS,EAAE8D,EAAE,CAAC0F,KAAK,CAACxJ,SAAS,EAAE,yBAAyB,CAAC;AACzD0U,IAAAA,IAAI,EAAC,UAAA;GACDlL,EAAAA,KAAK,CAAA,CACR,CAAA;AAEJ,CAAC;;ACLM,IAAMmL,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA9U,IAAA,EAIvB;AAAA,EAAA,IAHXgL,IAAI,GAAAhL,IAAA,CAAJgL,IAAI;IACJ+J,OAAO,GAAA/U,IAAA,CAAP+U,OAAO;IACPC,oBAAoB,GAAAhV,IAAA,CAApBgV,oBAAoB,CAAA;AAEpB,EAAA,OACC9U,KAAC,CAAAM,aAAA,CAAAoU,sBAAsB;AACtBhN,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAO;AACboN,MAAAA,oBAAoB,EAAE,CAAA;MACtBD,OAAO,CAAC,KAAK,CAAC,CAAA;KACd;AACD5U,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EAEnCD,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAA,IAAA,aAAA,EAAmB,IAAA;AAAI,GAAA,EACtBN,KAAC,CAAAM,aAAA,CAAAyU,gBAAU;AAACnO,IAAAA,IAAI,EAAC,MAAM;AAACoO,IAAAA,MAAM;IAAG,CAC3B,EACNlK,IAAI,CACmB,CAAA;AAE3B,CAAC;;SC9BemK,eAAeA,CAC9BC,GAAoC,EACpCC,SAA6C,EAC7CC,OAAmB,EAAA;EAEnBpV,KAAK,CAACqQ,SAAS,CAAC,YAAK;AACpB,IAAA,IAAMgF,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,KAAY,EAAI;AACjC,MAAA,IACCC,0BAA0B,CAACL,GAAG,CAACM,OAAO,EAAEF,KAAK,CAAC,IAC9CC,0BAA0B,CAACJ,SAAS,CAACK,OAAO,EAAEF,KAAK,CAAC,EACnD;AACD,QAAA,OAAA;AACD,OAAA;AAEAF,MAAAA,OAAO,EAAE,CAAA;KACT,CAAA;AAED5F,IAAAA,QAAQ,CAACiG,gBAAgB,CAAC,WAAW,EAAEJ,QAAQ,CAAC,CAAA;AAChD7F,IAAAA,QAAQ,CAACiG,gBAAgB,CAAC,YAAY,EAAEJ,QAAQ,CAAC,CAAA;AAEjD,IAAA,OAAO,YAAK;AACX7F,MAAAA,QAAQ,CAACkG,mBAAmB,CAAC,WAAW,EAAEL,QAAQ,CAAC,CAAA;AACnD7F,MAAAA,QAAQ,CAACkG,mBAAmB,CAAC,YAAY,EAAEL,QAAQ,CAAC,CAAA;KACpD,CAAA;GACD,EAAE,CAACH,GAAG,EAAEC,SAAS,EAAEC,OAAO,CAAC,CAAC,CAAA;AAC9B,CAAA;AAEA,SAASG,0BAA0BA,CAACI,OAA2B,EAAEL,KAAY,EAAA;EAC5E,IAAI,CAACK,OAAO,EAAE;AACb,IAAA,OAAO,KAAK,CAAA;AACb,GAAA;EAEA,IAAIA,OAAO,CAACpG,QAAQ,CAAC+F,KAAK,CAAC7I,MAAc,CAAC,EAAE;AAC3C,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AAEA;AACA,EAAA,IAAI6I,KAAK,CAACM,QAAQ,IAAIN,KAAK,CAACO,YAAY,EAAE;AACzC,IAAA,IAAMtG,QAAQ,GAAG+F,KAAK,CAACO,YAAY,EAAE,CAACvF,IAAI,CAAC,UAAC7D,MAAM,EAAI;MACrD,IAAIA,MAAM,KAAKlB,MAAM,EAAE;AACtB,QAAA,OAAO,KAAK,CAAA;AACb,OAAA;AACA,MAAA,OAAOoK,OAAO,CAACpG,QAAQ,CAAC9C,MAAc,CAAC,CAAA;AACxC,KAAC,CAAC,CAAA;IACF,OAAO,CAAC,CAAC8C,QAAQ,CAAA;AAClB,GAAA;AAEA,EAAA,OAAO,KAAK,CAAA;AACb;;;ACnCO,IAAMuG,kBAAkB,GAO1B,SAPQA,kBAAkBA,CAAAhW,IAAA,EAe1B;AAAA,EAAA,IAPJG,SAAS,GAAAH,IAAA,CAATG,SAAS;IACTF,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRgW,QAAQ,GAAAjW,IAAA,CAARiW,QAAQ;IACR1O,IAAI,GAAAvH,IAAA,CAAJuH,IAAI;IACJ2O,YAAY,GAAAlW,IAAA,CAAZkW,YAAY;IACZ1N,WAAW,GAAAxI,IAAA,CAAXwI,WAAW;AACRvH,IAAAA,IAAI,GAAAC,6BAAA,CAAAlB,IAAA,EAAAmB,SAAA,CAAA,CAAA;AAEP,EAAA,IAAMgV,oBAAoB,GAAGlS,EAAE,CAAC,0BAA0B,EAAE;AAC3D,IAAA,gCAAgC,EAAEsD,IAAAA;AAClC,GAAA,CAAC,CAAA;AACF,EAAA,IAAM6O,kBAAkB,GAAGlW,KAAK,CAACmW,MAAM,CAAiB,IAAI,CAAC,CAAA;AAC7D,EAAA,IAAMC,sBAAsB,GAAGpW,KAAK,CAACmW,MAAM,CAAoB,IAAI,CAAC,CAAA;AACpElB,EAAAA,eAAe,CAACiB,kBAAkB,EAAEE,sBAAsB,EAAE,YAAA;IAAA,OAC3DJ,YAAY,CAAC,KAAK,CAAC,CAAA;GACnB,CAAA,CAAA;AACD,EAAA,OACChW,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAA,IAAA,EACCN,KAAA,CAAAM,aAAA,CAACmH,sBAAe,EAAAvG,QAAA,CAAA;AACfjB,IAAAA,SAAS,EAAE8D,EAAE,CAAC,2BAA2B,EAAE9D,SAAS,CAAC;IACrDyH,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQsO,YAAY,CAAC,CAAC3O,IAAI,CAAC,CAAA;AAAA,KAAA;AACnB,IAAA,eAAA,EAAA,IAAI;AACJ,IAAA,eAAA,EAAAA,IAAI;AACnB6N,IAAAA,GAAG,EAAEkB,sBAAAA;AAAsB,GAAA,EACvBrV,IAAI,CAERf,EAAAA,KAAK,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAAL,IAAAA,SAAS,EAAC,oCAAA;AAAoC,GAAA,EAClDD,KAAM,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAAL,IAAAA,SAAS,EAAC,8BAAA;AAA8B,GAAA,EAC7CD,KAAA,CAAAM,aAAA,CAAC+V,cAAQ,EAAA;AAACrB,IAAAA,MAAM,EAAA,IAAA;GAAA,CAAG,CACb,EACPhV,KAAC,CAAAM,aAAA,CAAAgW,mBAAQ;AAAC3T,IAAAA,MAAM,EAAC,MAAM;AAAC/B,IAAAA,EAAE,EAAC,MAAA;AAAM,GAAA,EAC/BmV,QAAQ,EACRzN,WAAW,KAAKxC,SAAS,IACzBwC,WAAW,KAAKP,mBAAW,CAACU,UAAU,IACrCzI,KAAM,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAAiW,IAAAA,KAAK,EAAE;MAAErT,KAAK,EAAEmF,sBAAsB,CAACC,WAAW,CAAA;AAAG,KAAA;AAAA,GAAA,EACzD,GAAG,OACFI,2BAA2B,CAACJ,WAAW,CAAC,EACpC,GAAA,CACP,CACQ,EACXtI,KAAM,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAAL,IAAAA,SAAS,EAAC,gBAAA;AAAgB,GAAA,EAC/BD,KAAA,CAAAM,aAAA,CAACkW,mBAAa,EAAC;AAAAxB,IAAAA,MAAM,EAAG,IAAA;AAAA,GAAA,CAAA,CAClB,CACF,CACW,EACjB3N,IAAI,IACJrH,KACC,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAAL,IAAAA,SAAS,EAAEgW,oBAAoB;AAC/BtB,IAAAA,IAAI,EAAC,MAAM;AACXO,IAAAA,GAAG,EAAEgB,kBAAAA;GAEJ,EAAAnW,QAAQ,CAEV,CACI,CAAA;AAER,CAAC;;AChEM,IAAM0W,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAA3W,IAAA,EAKvB;AAAA,EAAA,IAJXmL,QAAQ,GAAAnL,IAAA,CAARmL,QAAQ;IACRyL,gBAAgB,GAAA5W,IAAA,CAAhB4W,gBAAgB;IAChB7B,OAAO,GAAA/U,IAAA,CAAP+U,OAAO;IACP/J,IAAI,GAAAhL,IAAA,CAAJgL,IAAI,CAAA;AAEJ,EAAA,IAAM6L,iBAAiB,GAAG5J,gBAAgB,CAAC,yBAAyB,CAAC,CAAA;AACrE,EAAA,IAAM6J,oBAAoB,GAAGD,iBAAiB,GAAG,OAAO,GAAG,IAAI,CAAA;AAC/D,EAAA,IAAME,kBAAkB,GAAGF,iBAAiB,GAAG,OAAO,GAAG,IAAI,CAAA;AAE7D,EAAA,OACC3W,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,EAAA,IAAA,EACE0K,QAAQ,KAAK4L,kBAAkB,GAC/B7W,oBAAC0U,sBAAsB,EAAA;AACtBhN,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAO;MACbgP,gBAAgB,CAACE,oBAAoB,CAAC,CAAA;MACtC/B,OAAO,CAAC,KAAK,CAAC,CAAA;KACd;AACD5U,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EAEnCD,KAAkB,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAA,IAAA,aAAA,EAAA,IAAA;AAAAL,IAAAA,SAAS,EAAC,gCAAA;AAAgC,GAAA,EAC3DD,KAAC,CAAAM,aAAA,CAAAwW,gBAAU;AAAClQ,IAAAA,IAAI,EAAC,MAAM;AAACoO,IAAAA,MAAM;IAAG,CAC3B,EACNlK,IAAI,CACmB,GAEzB9K,KAAC,CAAAM,aAAA,CAAAoU,sBAAsB,EACtB;AAAAhN,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAO;MACbgP,gBAAgB,CAACG,kBAAkB,CAAC,CAAA;MACpChC,OAAO,CAAC,KAAK,CAAC,CAAA;KACd;AACD5U,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EAEnCD,KAAkB,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAA,IAAA,aAAA,EAAA,IAAA;AAAAL,IAAAA,SAAS,EAAC,gCAAA;AAAgC,GAAA,EAC3DD,KAAC,CAAAM,aAAA,CAAAyW,YAAM;AAACnQ,IAAAA,IAAI,EAAC,MAAM;AAACoO,IAAAA,MAAM;IAAG,CACvB,EACNlK,IAAI,CAEN,CACC,CAAA;AAEL,CAAC;;AC3CM,IAAMkM,cAAc,GAAG,SAAjBA,cAAcA,CAAAlX,IAAA,EAA0C;AAAA,EAAA,IAApCgL,IAAI,GAAAhL,IAAA,CAAJgL,IAAI;IAAE+J,OAAO,GAAA/U,IAAA,CAAP+U,OAAO;IAAEoC,QAAQ,GAAAnX,IAAA,CAARmX,QAAQ,CAAA;AACvD,EAAA,OACCjX,KAAC,CAAAM,aAAA,CAAAoU,sBAAsB;AACtBhN,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAO;AACbuP,MAAAA,QAAQ,EAAE,CAAA;MACVpC,OAAO,CAAC,KAAK,CAAC,CAAA;KACd;AACW,IAAA,aAAA,EAAA,kBAAkB;AAC9B5U,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EAEnCD,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAA,IAAA,aAAA,EAAA,IAAA;AAAA,GAAA,EACCN,KAAC,CAAAM,aAAA,CAAA4W,gBAAU;AAACtQ,IAAAA,IAAI,EAAC,MAAM;AAACoO,IAAAA,MAAM;IAAG,CAC3B,EACNlK,IAAI,CACmB,CAAA;AAE3B,CAAC;;ACfM,IAAMqM,YAAY,GAAG,SAAfA,YAAYA,CAAArX,IAAA,EAIb;AAAA,EAAA,IAHXgL,IAAI,GAAAhL,IAAA,CAAJgL,IAAI;IACJ+J,OAAO,GAAA/U,IAAA,CAAP+U,OAAO;IACPuC,qBAAqB,GAAAtX,IAAA,CAArBsX,qBAAqB,CAAA;AAErB,EAAA,OACCpX,KAAA,CAAAM,aAAA,CAAC6F,mBAAI,EAAA;AAACC,IAAAA,EAAE,EAAC,8BAA8B;AAACmQ,IAAAA,KAAK,EAAE;AAAEc,MAAAA,cAAc,EAAE,MAAA;AAAQ,KAAA;AAAA,GAAA,EACxErX,KAAA,CAAAM,aAAA,CAACoU,sBAAsB,EAAA;AACtBhN,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAO;MACbmN,OAAO,CAAC,KAAK,CAAC,CAAA;AACduC,MAAAA,qBAAqB,EAAE,CAAA;KACvB;AACDnX,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EAEnCD,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAA,IAAA,aAAA,EAAA,IAAA;AAAA,GAAA,EACCN,KAAC,CAAAM,aAAA,CAAA+V,cAAQ;AAACzP,IAAAA,IAAI,EAAC,MAAM;AAACoO,IAAAA,MAAM;IAAG,CACzB,EACNlK,IAAI,CACmB,CACnB,CAAA;AAET,CAAC;;AC7BM,IAAMwM,eAAe,GAGvB,SAHQA,eAAeA,CAAAxX,IAAA,EAGA;AAAA,EAAA,IAApB8F,KAAK,GAAA9F,IAAA,CAAL8F,KAAK;IAAEiP,OAAO,GAAA/U,IAAA,CAAP+U,OAAO,CAAA;AACrB,EAAA,IAAM0C,QAAQ,GAAGC,0BAAW,EAAE,CAAC;AAC/B,EAAA,OACCxX,KAAC,CAAAM,aAAA,CAAAoU,sBAAsB;AACtBhN,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAO;MACb6P,QAAQ,CAAC,cAAc,CAAC,CAAA;MACxB1C,OAAO,CAAC,KAAK,CAAC,CAAA;KACd;AACD5U,IAAAA,SAAS,EAAC,yBAAA;AAAyB,GAAA,EAEnCD,KAAA,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAA,IAAA,aAAA,EAAA,IAAA;AAAA,GAAA,EACCN,KAAA,CAAAM,aAAA,CAACmX,kBAAY,EAAA;AAACxX,IAAAA,SAAS,EAAC,kBAAkB;AAAC2G,IAAAA,IAAI,EAAC,MAAM;AAACoO,IAAAA,MAAM,EAAA,IAAA;AAAA,GAAA,CAAG,CAC1D,EACNpP,KAAK,CACkB,CAAA;AAE3B,CAAC;;ACzBD;IAmCa8R,QAAQ,GAAsB,SAA9BA,QAAQA,CAAA5X,IAAA,EAahB;AAAA,EAAA,IAZJG,SAAS,GAAAH,IAAA,CAATG,SAAS;IACT8G,QAAQ,GAAAjH,IAAA,CAARiH,QAAQ;IACRkQ,QAAQ,GAAAnX,IAAA,CAARmX,QAAQ;IACRP,gBAAgB,GAAA5W,IAAA,CAAhB4W,gBAAgB;IAChBX,QAAQ,GAAAjW,IAAA,CAARiW,QAAQ;IACR9K,QAAQ,GAAAnL,IAAA,CAARmL,QAAQ;IACR3C,WAAW,GAAAxI,IAAA,CAAXwI,WAAW;IACXqP,eAAe,GAAA7X,IAAA,CAAf6X,eAAe;IACfC,iBAAiB,GAAA9X,IAAA,CAAjB8X,iBAAiB;IACjBC,sBAAsB,GAAA/X,IAAA,CAAtB+X,sBAAsB;IACtBT,qBAAqB,GAAAtX,IAAA,CAArBsX,qBAAqB;IAAAU,qBAAA,GAAAhY,IAAA,CACrBgV,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAgD,qBAAA,KAAA,KAAA,CAAA,GAAG,YAAK,EAAG,GAAAA,qBAAA,CAAA;EAE/B,IAAMC,gBAAgB,GAAGhU,EAAE,CAAC,CAAC,+BAA+B,EAAE9D,SAAS,CAAC,CAAC,CAAA;AACzE,EAAA,IAAA8O,SAAA,GAAwBC,cAAQ,CAAC,KAAK,CAAC;AAAhC3H,IAAAA,IAAI,GAAA0H,SAAA,CAAA,CAAA,CAAA;AAAE8F,IAAAA,OAAO,GAAA9F,SAAA,CAAA,CAAA,CAAA,CAAA;AAEpB,EAAA,OACC/O,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAK0X,IAAAA,EAAE,EAAC,eAAA;AAAe,GAAA,EACtBhY,KAAC,CAAAM,aAAA,CAAAwV,kBAAkB;AAClBzO,IAAAA,IAAI,EAAEA,IAAI;AACV2O,IAAAA,YAAY,EAAEnB,OAAO;AACrB5U,IAAAA,SAAS,EAAE8X,gBAAgB;AAC3BhC,IAAAA,QAAQ,EAAEA,QAAQ;AAClBzN,IAAAA,WAAW,EAAEA,WAAAA;AAAW,GAAA,EAExBtI,KAAK,CAAAM,aAAA,CAAA,KAAA,EAAA;AAAA0X,IAAAA,EAAE,EAAC,mBAAA;AAAmB,GAAA,EAC1BhY,KAAA,CAAAM,aAAA,CAACmW,sBAAsB,EACtB;IAAA3L,IAAI,EAAE/D,QAAQ,CAACkR,cAAc;AAC7BhN,IAAAA,QAAQ,EAAEA,QAAQ;AAClByL,IAAAA,gBAAgB,EAAEA,gBAAgB;AAClC7B,IAAAA,OAAO,EAAEA,OAAAA;AACR,GAAA,CAAA,EACD8C,eAAe,IAAI5Q,QAAQ,CAACmR,UAAU,IACtClY,oBAACsX,eAAe,EAAA;IAAC1R,KAAK,EAAEmB,QAAQ,CAACmR,UAAU;AAAErD,IAAAA,OAAO,EAAEA,OAAAA;IACtD,EACA+C,iBAAiB,IAAI7Q,QAAQ,CAACoR,SAAS,IACvCnY,KAAA,CAAAM,aAAA,CAAC6W,YAAY,EAAA;IACZrM,IAAI,EAAE/D,QAAQ,CAACoR,SAAS;AACxBtD,IAAAA,OAAO,EAAEA,OAAO;AAChBuC,IAAAA,qBAAqB,EAAEA,qBAAAA;AAAqB,GAAA,CAE7C,EACAS,sBAAsB,IAAI9Q,QAAQ,CAACqR,cAAc,IACjDpY,KAAA,CAAAM,aAAA,CAACsU,sBAAsB,EAAA;IACtB9J,IAAI,EAAE/D,QAAQ,CAACqR,cAAc;AAC7BvD,IAAAA,OAAO,EAAEA,OAAO;AAChBC,IAAAA,oBAAoB,EAAEA,oBAAAA;AAAoB,GAAA,CAE3C,EACD9U,KAAC,CAAAM,aAAA,CAAA0W,cAAc;IACdlM,IAAI,EAAE/D,QAAQ,CAACsR,MAAM;AACrBxD,IAAAA,OAAO,EAAEA,OAAO;AAChBoC,IAAAA,QAAQ,EAAEA,QAAAA;GAAQ,CACjB,CACG,CACc,CAChB,CAAA;AAER;;AC9FA;AAKM,SAAUqB,gBAAgBA,CAC/BC,SAAiB,EACjBnD,OAA8B,EAC9BO,SAAqC;AAAA,EAAA,IAArCA;AAAAA,IAAAA,UAA+BpK,MAAM,CAAA;AAAA,GAAA;AAErC,EAAA,IAAMiN,YAAY,GAAGrC,YAAM,EAAyB,CAAA;AAEpD9F,EAAAA,eAAS,CAAC,YAAK;IACdmI,YAAY,CAAChD,OAAO,GAAGJ,OAAO,CAAA;AAC/B,GAAC,EAAE,CAACA,OAAO,CAAC,CAAC,CAAA;AAEb/E,EAAAA,eAAS,CAAC,YAAK;AAAA,IAAA,IAAAoI,QAAA,CAAA;IACd,IAAMC,WAAW,IAAAD,QAAA,GAAG9C,OAAO,KAAP8C,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAA,CAAShD,gBAAgB,CAAA;IAC7C,IAAI,CAACiD,WAAW,EAAE,OAAA;AAElB,IAAA,IAAMC,aAAa,GAAI,SAAjBA,aAAaA,CAAKrD,KAAQ,EAAA;MAAA,OAC/BkD,YAAY,CAAChD,OAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAApBgD,YAAY,CAAChD,OAAO,CAAGF,KAAK,CAAC,CAAA;KAAkB,CAAA;AAEhDK,IAAAA,OAAO,CAACF,gBAAgB,CAAC8C,SAAS,EAAEI,aAAa,CAAC,CAAA;AAElD,IAAA,OAAO,YAAK;AACXhD,MAAAA,OAAO,CAACD,mBAAmB,CAAC6C,SAAS,EAAEI,aAAa,CAAC,CAAA;KACrD,CAAA;AACF,GAAC,EAAE,CAACJ,SAAS,EAAE5C,OAAO,CAAC,CAAC,CAAA;AACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}