@evercam/ui 0.0.45-beta.6 → 0.0.46
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.
- package/README.md +47 -47
- package/dist/attributes.json +6 -6
- package/dist/index.mjs +1294 -6876
- package/dist/index.mjs.map +1 -1
- package/dist/index.umd.js +2 -2
- package/dist/index.umd.js.map +1 -1
- package/dist/src/components/ETimeline.vue.d.ts +10 -3
- package/dist/src/components/EVideoEmbed.vue.d.ts +45 -0
- package/dist/src/components/EVideoPlayer.vue.d.ts +1 -4
- package/dist/src/index.d.ts +53 -6
- package/dist/style.css +1 -1
- package/dist/styles.css +3214 -3211
- package/dist/tags.json +2 -2
- package/dist/web-types.json +22 -12
- package/package.json +76 -76
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/types.ts","../src/components/EBadge.vue?vue&type=script&lang.ts","../src/components/EAvatar.vue?vue&type=script&lang.ts","../node_modules/tailwindcss/lib/util/negateValue.js","../node_modules/tailwindcss/lib/corePluginList.js","../node_modules/tailwindcss/lib/util/configurePlugins.js","../node_modules/picocolors/picocolors.browser.js","../node_modules/tailwindcss/lib/util/log.js","../node_modules/tailwindcss/lib/public/colors.js","../node_modules/tailwindcss/lib/util/defaults.js","../node_modules/tailwindcss/lib/util/toPath.js","../node_modules/tailwindcss/lib/featureFlags.js","../node_modules/tailwindcss/lib/util/normalizeConfig.js","../node_modules/tailwindcss/lib/util/isPlainObject.js","../node_modules/tailwindcss/lib/util/cloneDeep.js","../node_modules/tailwindcss/lib/util/escapeCommas.js","../node_modules/tailwindcss/lib/util/colorNames.js","../node_modules/tailwindcss/lib/util/color.js","../node_modules/tailwindcss/lib/util/withAlphaVariable.js","../node_modules/tailwindcss/lib/util/splitAtTopLevelOnly.js","../node_modules/tailwindcss/lib/util/parseBoxShadowValue.js","../node_modules/tailwindcss/lib/util/dataTypes.js","../node_modules/tailwindcss/lib/util/validateFormalSyntax.js","../node_modules/tailwindcss/lib/util/pluginUtils.js","../node_modules/tailwindcss/lib/util/toColorValue.js","../node_modules/tailwindcss/lib/util/resolveConfig.js","../node_modules/tailwindcss/stubs/config.full.js","../node_modules/tailwindcss/lib/util/getAllConfigs.js","../node_modules/tailwindcss/lib/public/resolve-config.js","../node_modules/tailwindcss/resolveConfig.js","../node_modules/tailwindcss/colors.js","../config.ts","../src/constants.ts","../src/components/EIcon.vue?vue&type=script&lang.ts","../src/components/ESpinner.vue?vue&type=script&lang.ts","../src/components/ERow.vue?vue&type=script&lang.ts","../src/components/ECol.vue?vue&type=script&lang.ts","../../../node_modules/@evercam/ui/dist/index.mjs","../src/components/EVideoPlayer.vue?vue&type=script&lang.ts","../src/components/ETimeline.config.ts","../src/directives/resize-observer.ts","../src/directives/index.ts","../src/components/ETimeline.vue?vue&type=script&lang.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":["import { BadgeSizes, AvatarSizes, IconSizes, BadgeColors } from \"@/constants\"\r\n\r\nexport enum Size {\r\n dot = \"dot\",\r\n xs = \"xs\",\r\n sm = \"sm\",\r\n md = \"base\",\r\n base = \"base\",\r\n lg = \"lg\",\r\n xl = \"xl\",\r\n \"2xl\" = \"2xl\",\r\n \"3xl\" = \"3xl\",\r\n \"4xl\" = \"4xl\",\r\n \"5xl\" = \"5xl\",\r\n \"6xl\" = \"6xl\",\r\n \"7xl\" = \"7xl\",\r\n \"8xl\" = \"8xl\",\r\n \"9xl\" = \"9xl\",\r\n}\r\n\r\nexport enum BaseColor {\r\n warning = \"warning\",\r\n error = \"error\",\r\n info = \"info\",\r\n success = \"success\",\r\n primary = \"primary\",\r\n brand = \"brand\",\r\n default = \"default\",\r\n}\r\n\r\nexport type TBadgeSize = (typeof BadgeSizes)[number]\r\n\r\nexport type TAvatarSize = (typeof AvatarSizes)[number]\r\n\r\nexport type TIconSize = (typeof IconSizes)[number]\r\n\r\nexport type TBadgeColor = (typeof BadgeColors)[number]\r\n\r\nexport type TailwindColorClass = string\r\n\r\nexport type FlexJustifyContent =\r\n | \"around\"\r\n | \"between\"\r\n | \"center\"\r\n | \"end\"\r\n | \"evenly\"\r\n | \"normal\"\r\n | \"start\"\r\n | \"stretch\"\r\n\r\nexport type FlexAlignItems = \"start\" | \"center\" | \"end\" | \"baseline\" | \"stretch\"\r\n\r\nexport type FlexAlignContent =\r\n | \"around\"\r\n | \"baseline\"\r\n | \"between\"\r\n | \"center\"\r\n | \"end\"\r\n | \"evenly\"\r\n | \"normal\"\r\n | \"start\"\r\n | \"stretch\"\r\n\r\nexport type FlexAlignSelf =\r\n | \"auto\"\r\n | \"baseline\"\r\n | \"center\"\r\n | \"end\"\r\n | \"start\"\r\n | \"stretch\"\r\n\r\nexport enum TimelineAxis {\r\n overview = \"overview\",\r\n detailed = \"detailed\",\r\n detailedBackground = \"detailedBackground\",\r\n}\r\n\r\nexport type TimelineTicksConfig = {\r\n precision: number\r\n interval: any\r\n format: string | ((d: Date) => string)\r\n}\r\n\r\nexport type TimelineAxesConfig = {\r\n [key in TimelineAxis]: TimelineTicksConfig[]\r\n}\r\n\r\nexport type Timestamp = Date | string | number\r\n\r\nexport default {}\r\n","\r\nimport Vue, { PropType } from \"vue\"\r\nimport { BaseColor, Size, TBadgeColor, TBadgeSize } from \"@/types\"\r\n\r\nexport default Vue.extend({\r\n name: \"EBadge\",\r\n props: {\r\n text: {\r\n type: String,\r\n default: \"\",\r\n },\r\n color: {\r\n type: String as PropType<TBadgeColor>,\r\n default: BaseColor.default,\r\n },\r\n size: {\r\n type: String as PropType<TBadgeSize>,\r\n default: Size.base,\r\n },\r\n },\r\n data() {\r\n return {\r\n colors: {\r\n [BaseColor.error]: \"e-bg-rose-500 e-text-white\",\r\n [BaseColor.info]: \"e-bg-cyan-500 e-text-white\",\r\n [BaseColor.warning]: \"e-bg-amber-500 e-text-white\",\r\n [BaseColor.primary]: \"e-bg-sky-500 e-text-white\",\r\n [BaseColor.default]: \"e-bg-slate-300 e-text-white\",\r\n [BaseColor.success]: \"e-bg-lime-500 e-text-white\",\r\n },\r\n sizes: {\r\n [Size.dot]: \"e-w-2 e-h-2\",\r\n [Size.xs]: \"e-w-3 e-h-3\",\r\n [Size.sm]: \"e-w-4 e-h-4\",\r\n [Size.md]: \"e-w-5 e-h-5\",\r\n [Size.lg]:\r\n \"e-min-w-[2rem] e-max-w-[4rem] e-px-1 e-h-6 e-text-sm e-font-medium\",\r\n [Size.xl]:\r\n \"e-min-w-[3rem] e-max-w-[5rem] e-px-1 e-h-8 e-text-base e-font-medium\",\r\n },\r\n }\r\n },\r\n computed: {\r\n badgeClasses(): string[] {\r\n const colorClasses =\r\n this.colors[this.color] || this.colors[BaseColor.default]\r\n const sizeClasses = this.sizes[this.size] || this.sizes[Size.md]\r\n\r\n return [\r\n \"e-flex e-items-center e-justify-center e-rounded-full\",\r\n colorClasses,\r\n sizeClasses,\r\n ]\r\n },\r\n showText(): boolean {\r\n return [Size.lg, Size.xl].includes(this.size)\r\n },\r\n },\r\n})\r\n","\r\nimport Vue, { PropType } from \"vue\"\r\nimport Badge from \"@/components/EBadge.vue\"\r\nimport { BaseColor, Size, TAvatarSize, TBadgeColor, TBadgeSize } from \"@/types\"\r\n\r\nexport default Vue.extend({\r\n name: \"EAvatar\",\r\n components: {\r\n Badge,\r\n },\r\n props: {\r\n size: {\r\n type: String as PropType<TAvatarSize>,\r\n default: Size.md,\r\n },\r\n showBadge: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n badgeColor: {\r\n type: String as PropType<TBadgeColor>,\r\n default: BaseColor.error,\r\n },\r\n badgeText: {\r\n type: String,\r\n default: \"\",\r\n },\r\n badgeSize: {\r\n type: String as PropType<TBadgeSize>,\r\n default: Size.md,\r\n },\r\n image: {\r\n type: String,\r\n default: \"\",\r\n },\r\n },\r\n data() {\r\n return {\r\n sizes: {\r\n [Size.xs]: \"e-w-8 e-h-8 e-text-xs\",\r\n [Size.sm]: \"e-w-10 e-h-10 e-text-sm\",\r\n [Size.md]: \"e-w-14 e-h-14 e-text-base\",\r\n [Size.lg]: \"e-w-20 e-h-20 e-text-2xl\",\r\n [Size.xl]: \"e-w-28 e-h-28 e-text-3xl\",\r\n [Size[\"2xl\"]]: \"e-w-36 e-h-36 e-text-5xl\",\r\n },\r\n }\r\n },\r\n computed: {\r\n avatarClasses(): string[] {\r\n const sizeClasses = this.sizes[this.size] || this.sizes[Size.xs]\r\n\r\n return [\r\n \"e-flex e-items-center e-justify-center e-rounded-full e-bg-purple-500 e-text-white e-font-medium\",\r\n sizeClasses,\r\n ]\r\n },\r\n },\r\n})\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return negateValue;\n }\n});\nfunction negateValue(value) {\n value = `${value}`;\n if (value === \"0\") {\n return \"0\";\n }\n // Flip sign of numbers\n if (/^[+-]?(\\d+|\\d*\\.\\d+)(e[+-]?\\d+)?(%|\\w+)?$/.test(value)) {\n return value.replace(/^[+-]?/, (sign)=>sign === \"-\" ? \"\" : \"-\");\n }\n // What functions we support negating numeric values for\n // var() isn't inherently a numeric function but we support it anyway\n // The trigonometric functions are omitted because you'll need to use calc(…) with them _anyway_\n // to produce generally useful results and that will be covered already\n let numericFunctions = [\n \"var\",\n \"calc\",\n \"min\",\n \"max\",\n \"clamp\"\n ];\n for (const fn of numericFunctions){\n if (value.includes(`${fn}(`)) {\n return `calc(${value} * -1)`;\n }\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _default = [\n \"preflight\",\n \"container\",\n \"accessibility\",\n \"pointerEvents\",\n \"visibility\",\n \"position\",\n \"inset\",\n \"isolation\",\n \"zIndex\",\n \"order\",\n \"gridColumn\",\n \"gridColumnStart\",\n \"gridColumnEnd\",\n \"gridRow\",\n \"gridRowStart\",\n \"gridRowEnd\",\n \"float\",\n \"clear\",\n \"margin\",\n \"boxSizing\",\n \"lineClamp\",\n \"display\",\n \"aspectRatio\",\n \"height\",\n \"maxHeight\",\n \"minHeight\",\n \"width\",\n \"minWidth\",\n \"maxWidth\",\n \"flex\",\n \"flexShrink\",\n \"flexGrow\",\n \"flexBasis\",\n \"tableLayout\",\n \"captionSide\",\n \"borderCollapse\",\n \"borderSpacing\",\n \"transformOrigin\",\n \"translate\",\n \"rotate\",\n \"skew\",\n \"scale\",\n \"transform\",\n \"animation\",\n \"cursor\",\n \"touchAction\",\n \"userSelect\",\n \"resize\",\n \"scrollSnapType\",\n \"scrollSnapAlign\",\n \"scrollSnapStop\",\n \"scrollMargin\",\n \"scrollPadding\",\n \"listStylePosition\",\n \"listStyleType\",\n \"listStyleImage\",\n \"appearance\",\n \"columns\",\n \"breakBefore\",\n \"breakInside\",\n \"breakAfter\",\n \"gridAutoColumns\",\n \"gridAutoFlow\",\n \"gridAutoRows\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"flexDirection\",\n \"flexWrap\",\n \"placeContent\",\n \"placeItems\",\n \"alignContent\",\n \"alignItems\",\n \"justifyContent\",\n \"justifyItems\",\n \"gap\",\n \"space\",\n \"divideWidth\",\n \"divideStyle\",\n \"divideColor\",\n \"divideOpacity\",\n \"placeSelf\",\n \"alignSelf\",\n \"justifySelf\",\n \"overflow\",\n \"overscrollBehavior\",\n \"scrollBehavior\",\n \"textOverflow\",\n \"hyphens\",\n \"whitespace\",\n \"wordBreak\",\n \"borderRadius\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderOpacity\",\n \"backgroundColor\",\n \"backgroundOpacity\",\n \"backgroundImage\",\n \"gradientColorStops\",\n \"boxDecorationBreak\",\n \"backgroundSize\",\n \"backgroundAttachment\",\n \"backgroundClip\",\n \"backgroundPosition\",\n \"backgroundRepeat\",\n \"backgroundOrigin\",\n \"fill\",\n \"stroke\",\n \"strokeWidth\",\n \"objectFit\",\n \"objectPosition\",\n \"padding\",\n \"textAlign\",\n \"textIndent\",\n \"verticalAlign\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"textTransform\",\n \"fontStyle\",\n \"fontVariantNumeric\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textColor\",\n \"textOpacity\",\n \"textDecoration\",\n \"textDecorationColor\",\n \"textDecorationStyle\",\n \"textDecorationThickness\",\n \"textUnderlineOffset\",\n \"fontSmoothing\",\n \"placeholderColor\",\n \"placeholderOpacity\",\n \"caretColor\",\n \"accentColor\",\n \"opacity\",\n \"backgroundBlendMode\",\n \"mixBlendMode\",\n \"boxShadow\",\n \"boxShadowColor\",\n \"outlineStyle\",\n \"outlineWidth\",\n \"outlineOffset\",\n \"outlineColor\",\n \"ringWidth\",\n \"ringColor\",\n \"ringOpacity\",\n \"ringOffsetWidth\",\n \"ringOffsetColor\",\n \"blur\",\n \"brightness\",\n \"contrast\",\n \"dropShadow\",\n \"grayscale\",\n \"hueRotate\",\n \"invert\",\n \"saturate\",\n \"sepia\",\n \"filter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropGrayscale\",\n \"backdropHueRotate\",\n \"backdropInvert\",\n \"backdropOpacity\",\n \"backdropSaturate\",\n \"backdropSepia\",\n \"backdropFilter\",\n \"transitionProperty\",\n \"transitionDelay\",\n \"transitionDuration\",\n \"transitionTimingFunction\",\n \"willChange\",\n \"content\"\n];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nfunction _default(pluginConfig, plugins) {\n if (pluginConfig === undefined) {\n return plugins;\n }\n const pluginNames = Array.isArray(pluginConfig) ? pluginConfig : [\n ...new Set(plugins.filter((pluginName)=>{\n return pluginConfig !== false && pluginConfig[pluginName] !== false;\n }).concat(Object.keys(pluginConfig).filter((pluginName)=>{\n return pluginConfig[pluginName] !== false;\n })))\n ];\n return pluginNames;\n}\n","var x=String;\nvar create=function() {return {isColorSupported:false,reset:x,bold:x,dim:x,italic:x,underline:x,inverse:x,hidden:x,strikethrough:x,black:x,red:x,green:x,yellow:x,blue:x,magenta:x,cyan:x,white:x,gray:x,bgBlack:x,bgRed:x,bgGreen:x,bgYellow:x,bgBlue:x,bgMagenta:x,bgCyan:x,bgWhite:x}};\nmodule.exports=create();\nmodule.exports.createColors = create;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n dim: function() {\n return dim;\n },\n default: function() {\n return _default;\n }\n});\nconst _picocolors = /*#__PURE__*/ _interop_require_default(require(\"picocolors\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nlet alreadyShown = new Set();\nfunction log(type, messages, key) {\n if (typeof process !== \"undefined\" && process.env.JEST_WORKER_ID) return;\n if (key && alreadyShown.has(key)) return;\n if (key) alreadyShown.add(key);\n console.warn(\"\");\n messages.forEach((message)=>console.warn(type, \"-\", message));\n}\nfunction dim(input) {\n return _picocolors.default.dim(input);\n}\nconst _default = {\n info (key, messages) {\n log(_picocolors.default.bold(_picocolors.default.cyan(\"info\")), ...Array.isArray(key) ? [\n key\n ] : [\n messages,\n key\n ]);\n },\n warn (key, messages) {\n log(_picocolors.default.bold(_picocolors.default.yellow(\"warn\")), ...Array.isArray(key) ? [\n key\n ] : [\n messages,\n key\n ]);\n },\n risk (key, messages) {\n log(_picocolors.default.bold(_picocolors.default.magenta(\"risk\")), ...Array.isArray(key) ? [\n key\n ] : [\n messages,\n key\n ]);\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _log = /*#__PURE__*/ _interop_require_default(require(\"../util/log\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction warn({ version , from , to }) {\n _log.default.warn(`${from}-color-renamed`, [\n `As of Tailwind CSS ${version}, \\`${from}\\` has been renamed to \\`${to}\\`.`,\n \"Update your configuration file to silence this warning.\"\n ]);\n}\nconst _default = {\n inherit: \"inherit\",\n current: \"currentColor\",\n transparent: \"transparent\",\n black: \"#000\",\n white: \"#fff\",\n slate: {\n 50: \"#f8fafc\",\n 100: \"#f1f5f9\",\n 200: \"#e2e8f0\",\n 300: \"#cbd5e1\",\n 400: \"#94a3b8\",\n 500: \"#64748b\",\n 600: \"#475569\",\n 700: \"#334155\",\n 800: \"#1e293b\",\n 900: \"#0f172a\",\n 950: \"#020617\"\n },\n gray: {\n 50: \"#f9fafb\",\n 100: \"#f3f4f6\",\n 200: \"#e5e7eb\",\n 300: \"#d1d5db\",\n 400: \"#9ca3af\",\n 500: \"#6b7280\",\n 600: \"#4b5563\",\n 700: \"#374151\",\n 800: \"#1f2937\",\n 900: \"#111827\",\n 950: \"#030712\"\n },\n zinc: {\n 50: \"#fafafa\",\n 100: \"#f4f4f5\",\n 200: \"#e4e4e7\",\n 300: \"#d4d4d8\",\n 400: \"#a1a1aa\",\n 500: \"#71717a\",\n 600: \"#52525b\",\n 700: \"#3f3f46\",\n 800: \"#27272a\",\n 900: \"#18181b\",\n 950: \"#09090b\"\n },\n neutral: {\n 50: \"#fafafa\",\n 100: \"#f5f5f5\",\n 200: \"#e5e5e5\",\n 300: \"#d4d4d4\",\n 400: \"#a3a3a3\",\n 500: \"#737373\",\n 600: \"#525252\",\n 700: \"#404040\",\n 800: \"#262626\",\n 900: \"#171717\",\n 950: \"#0a0a0a\"\n },\n stone: {\n 50: \"#fafaf9\",\n 100: \"#f5f5f4\",\n 200: \"#e7e5e4\",\n 300: \"#d6d3d1\",\n 400: \"#a8a29e\",\n 500: \"#78716c\",\n 600: \"#57534e\",\n 700: \"#44403c\",\n 800: \"#292524\",\n 900: \"#1c1917\",\n 950: \"#0c0a09\"\n },\n red: {\n 50: \"#fef2f2\",\n 100: \"#fee2e2\",\n 200: \"#fecaca\",\n 300: \"#fca5a5\",\n 400: \"#f87171\",\n 500: \"#ef4444\",\n 600: \"#dc2626\",\n 700: \"#b91c1c\",\n 800: \"#991b1b\",\n 900: \"#7f1d1d\",\n 950: \"#450a0a\"\n },\n orange: {\n 50: \"#fff7ed\",\n 100: \"#ffedd5\",\n 200: \"#fed7aa\",\n 300: \"#fdba74\",\n 400: \"#fb923c\",\n 500: \"#f97316\",\n 600: \"#ea580c\",\n 700: \"#c2410c\",\n 800: \"#9a3412\",\n 900: \"#7c2d12\",\n 950: \"#431407\"\n },\n amber: {\n 50: \"#fffbeb\",\n 100: \"#fef3c7\",\n 200: \"#fde68a\",\n 300: \"#fcd34d\",\n 400: \"#fbbf24\",\n 500: \"#f59e0b\",\n 600: \"#d97706\",\n 700: \"#b45309\",\n 800: \"#92400e\",\n 900: \"#78350f\",\n 950: \"#451a03\"\n },\n yellow: {\n 50: \"#fefce8\",\n 100: \"#fef9c3\",\n 200: \"#fef08a\",\n 300: \"#fde047\",\n 400: \"#facc15\",\n 500: \"#eab308\",\n 600: \"#ca8a04\",\n 700: \"#a16207\",\n 800: \"#854d0e\",\n 900: \"#713f12\",\n 950: \"#422006\"\n },\n lime: {\n 50: \"#f7fee7\",\n 100: \"#ecfccb\",\n 200: \"#d9f99d\",\n 300: \"#bef264\",\n 400: \"#a3e635\",\n 500: \"#84cc16\",\n 600: \"#65a30d\",\n 700: \"#4d7c0f\",\n 800: \"#3f6212\",\n 900: \"#365314\",\n 950: \"#1a2e05\"\n },\n green: {\n 50: \"#f0fdf4\",\n 100: \"#dcfce7\",\n 200: \"#bbf7d0\",\n 300: \"#86efac\",\n 400: \"#4ade80\",\n 500: \"#22c55e\",\n 600: \"#16a34a\",\n 700: \"#15803d\",\n 800: \"#166534\",\n 900: \"#14532d\",\n 950: \"#052e16\"\n },\n emerald: {\n 50: \"#ecfdf5\",\n 100: \"#d1fae5\",\n 200: \"#a7f3d0\",\n 300: \"#6ee7b7\",\n 400: \"#34d399\",\n 500: \"#10b981\",\n 600: \"#059669\",\n 700: \"#047857\",\n 800: \"#065f46\",\n 900: \"#064e3b\",\n 950: \"#022c22\"\n },\n teal: {\n 50: \"#f0fdfa\",\n 100: \"#ccfbf1\",\n 200: \"#99f6e4\",\n 300: \"#5eead4\",\n 400: \"#2dd4bf\",\n 500: \"#14b8a6\",\n 600: \"#0d9488\",\n 700: \"#0f766e\",\n 800: \"#115e59\",\n 900: \"#134e4a\",\n 950: \"#042f2e\"\n },\n cyan: {\n 50: \"#ecfeff\",\n 100: \"#cffafe\",\n 200: \"#a5f3fc\",\n 300: \"#67e8f9\",\n 400: \"#22d3ee\",\n 500: \"#06b6d4\",\n 600: \"#0891b2\",\n 700: \"#0e7490\",\n 800: \"#155e75\",\n 900: \"#164e63\",\n 950: \"#083344\"\n },\n sky: {\n 50: \"#f0f9ff\",\n 100: \"#e0f2fe\",\n 200: \"#bae6fd\",\n 300: \"#7dd3fc\",\n 400: \"#38bdf8\",\n 500: \"#0ea5e9\",\n 600: \"#0284c7\",\n 700: \"#0369a1\",\n 800: \"#075985\",\n 900: \"#0c4a6e\",\n 950: \"#082f49\"\n },\n blue: {\n 50: \"#eff6ff\",\n 100: \"#dbeafe\",\n 200: \"#bfdbfe\",\n 300: \"#93c5fd\",\n 400: \"#60a5fa\",\n 500: \"#3b82f6\",\n 600: \"#2563eb\",\n 700: \"#1d4ed8\",\n 800: \"#1e40af\",\n 900: \"#1e3a8a\",\n 950: \"#172554\"\n },\n indigo: {\n 50: \"#eef2ff\",\n 100: \"#e0e7ff\",\n 200: \"#c7d2fe\",\n 300: \"#a5b4fc\",\n 400: \"#818cf8\",\n 500: \"#6366f1\",\n 600: \"#4f46e5\",\n 700: \"#4338ca\",\n 800: \"#3730a3\",\n 900: \"#312e81\",\n 950: \"#1e1b4b\"\n },\n violet: {\n 50: \"#f5f3ff\",\n 100: \"#ede9fe\",\n 200: \"#ddd6fe\",\n 300: \"#c4b5fd\",\n 400: \"#a78bfa\",\n 500: \"#8b5cf6\",\n 600: \"#7c3aed\",\n 700: \"#6d28d9\",\n 800: \"#5b21b6\",\n 900: \"#4c1d95\",\n 950: \"#2e1065\"\n },\n purple: {\n 50: \"#faf5ff\",\n 100: \"#f3e8ff\",\n 200: \"#e9d5ff\",\n 300: \"#d8b4fe\",\n 400: \"#c084fc\",\n 500: \"#a855f7\",\n 600: \"#9333ea\",\n 700: \"#7e22ce\",\n 800: \"#6b21a8\",\n 900: \"#581c87\",\n 950: \"#3b0764\"\n },\n fuchsia: {\n 50: \"#fdf4ff\",\n 100: \"#fae8ff\",\n 200: \"#f5d0fe\",\n 300: \"#f0abfc\",\n 400: \"#e879f9\",\n 500: \"#d946ef\",\n 600: \"#c026d3\",\n 700: \"#a21caf\",\n 800: \"#86198f\",\n 900: \"#701a75\",\n 950: \"#4a044e\"\n },\n pink: {\n 50: \"#fdf2f8\",\n 100: \"#fce7f3\",\n 200: \"#fbcfe8\",\n 300: \"#f9a8d4\",\n 400: \"#f472b6\",\n 500: \"#ec4899\",\n 600: \"#db2777\",\n 700: \"#be185d\",\n 800: \"#9d174d\",\n 900: \"#831843\",\n 950: \"#500724\"\n },\n rose: {\n 50: \"#fff1f2\",\n 100: \"#ffe4e6\",\n 200: \"#fecdd3\",\n 300: \"#fda4af\",\n 400: \"#fb7185\",\n 500: \"#f43f5e\",\n 600: \"#e11d48\",\n 700: \"#be123c\",\n 800: \"#9f1239\",\n 900: \"#881337\",\n 950: \"#4c0519\"\n },\n get lightBlue () {\n warn({\n version: \"v2.2\",\n from: \"lightBlue\",\n to: \"sky\"\n });\n return this.sky;\n },\n get warmGray () {\n warn({\n version: \"v3.0\",\n from: \"warmGray\",\n to: \"stone\"\n });\n return this.stone;\n },\n get trueGray () {\n warn({\n version: \"v3.0\",\n from: \"trueGray\",\n to: \"neutral\"\n });\n return this.neutral;\n },\n get coolGray () {\n warn({\n version: \"v3.0\",\n from: \"coolGray\",\n to: \"gray\"\n });\n return this.gray;\n },\n get blueGray () {\n warn({\n version: \"v3.0\",\n from: \"blueGray\",\n to: \"slate\"\n });\n return this.slate;\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"defaults\", {\n enumerable: true,\n get: function() {\n return defaults;\n }\n});\nfunction defaults(target, ...sources) {\n for (let source of sources){\n for(let k in source){\n var _target_hasOwnProperty;\n if (!(target === null || target === void 0 ? void 0 : (_target_hasOwnProperty = target.hasOwnProperty) === null || _target_hasOwnProperty === void 0 ? void 0 : _target_hasOwnProperty.call(target, k))) {\n target[k] = source[k];\n }\n }\n for (let k of Object.getOwnPropertySymbols(source)){\n var _target_hasOwnProperty1;\n if (!(target === null || target === void 0 ? void 0 : (_target_hasOwnProperty1 = target.hasOwnProperty) === null || _target_hasOwnProperty1 === void 0 ? void 0 : _target_hasOwnProperty1.call(target, k))) {\n target[k] = source[k];\n }\n }\n }\n return target;\n}\n","/**\n * Parse a path string into an array of path segments.\n *\n * Square bracket notation `a[b]` may be used to \"escape\" dots that would otherwise be interpreted as path separators.\n *\n * Example:\n * a -> ['a']\n * a.b.c -> ['a', 'b', 'c']\n * a[b].c -> ['a', 'b', 'c']\n * a[b.c].e.f -> ['a', 'b.c', 'e', 'f']\n * a[b][c][d] -> ['a', 'b', 'c', 'd']\n *\n * @param {string|string[]} path\n **/ \"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"toPath\", {\n enumerable: true,\n get: function() {\n return toPath;\n }\n});\nfunction toPath(path) {\n if (Array.isArray(path)) return path;\n let openBrackets = path.split(\"[\").length - 1;\n let closedBrackets = path.split(\"]\").length - 1;\n if (openBrackets !== closedBrackets) {\n throw new Error(`Path is invalid. Has unbalanced brackets: ${path}`);\n }\n return path.split(/\\.(?![^\\[]*\\])|[\\[\\]]/g).filter(Boolean);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n flagEnabled: function() {\n return flagEnabled;\n },\n issueFlagNotices: function() {\n return issueFlagNotices;\n },\n default: function() {\n return _default;\n }\n});\nconst _picocolors = /*#__PURE__*/ _interop_require_default(require(\"picocolors\"));\nconst _log = /*#__PURE__*/ _interop_require_default(require(\"./util/log\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nlet defaults = {\n optimizeUniversalDefaults: false,\n generalizedModifiers: true,\n get disableColorOpacityUtilitiesByDefault () {\n return false;\n },\n get relativeContentPathsByDefault () {\n return false;\n }\n};\nlet featureFlags = {\n future: [\n \"hoverOnlyWhenSupported\",\n \"respectDefaultRingColorOpacity\",\n \"disableColorOpacityUtilitiesByDefault\",\n \"relativeContentPathsByDefault\"\n ],\n experimental: [\n \"optimizeUniversalDefaults\",\n \"generalizedModifiers\"\n ]\n};\nfunction flagEnabled(config, flag) {\n if (featureFlags.future.includes(flag)) {\n var _config_future;\n var _config_future_flag, _ref;\n return config.future === \"all\" || ((_ref = (_config_future_flag = config === null || config === void 0 ? void 0 : (_config_future = config.future) === null || _config_future === void 0 ? void 0 : _config_future[flag]) !== null && _config_future_flag !== void 0 ? _config_future_flag : defaults[flag]) !== null && _ref !== void 0 ? _ref : false);\n }\n if (featureFlags.experimental.includes(flag)) {\n var _config_experimental;\n var _config_experimental_flag, _ref1;\n return config.experimental === \"all\" || ((_ref1 = (_config_experimental_flag = config === null || config === void 0 ? void 0 : (_config_experimental = config.experimental) === null || _config_experimental === void 0 ? void 0 : _config_experimental[flag]) !== null && _config_experimental_flag !== void 0 ? _config_experimental_flag : defaults[flag]) !== null && _ref1 !== void 0 ? _ref1 : false);\n }\n return false;\n}\nfunction experimentalFlagsEnabled(config) {\n if (config.experimental === \"all\") {\n return featureFlags.experimental;\n }\n var _config_experimental;\n return Object.keys((_config_experimental = config === null || config === void 0 ? void 0 : config.experimental) !== null && _config_experimental !== void 0 ? _config_experimental : {}).filter((flag)=>featureFlags.experimental.includes(flag) && config.experimental[flag]);\n}\nfunction issueFlagNotices(config) {\n if (process.env.JEST_WORKER_ID !== undefined) {\n return;\n }\n if (experimentalFlagsEnabled(config).length > 0) {\n let changes = experimentalFlagsEnabled(config).map((s)=>_picocolors.default.yellow(s)).join(\", \");\n _log.default.warn(\"experimental-flags-enabled\", [\n `You have enabled experimental features: ${changes}`,\n \"Experimental features in Tailwind CSS are not covered by semver, may introduce breaking changes, and can change at any time.\"\n ]);\n }\n}\nconst _default = featureFlags;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"normalizeConfig\", {\n enumerable: true,\n get: function() {\n return normalizeConfig;\n }\n});\nconst _featureFlags = require(\"../featureFlags\");\nconst _log = /*#__PURE__*/ _interop_require_wildcard(require(\"./log\"));\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\nfunction normalizeConfig(config) {\n // Quick structure validation\n /**\n * type FilePath = string\n * type RawFile = { raw: string, extension?: string }\n * type ExtractorFn = (content: string) => Array<string>\n * type TransformerFn = (content: string) => string\n *\n * type Content =\n * | Array<FilePath | RawFile>\n * | {\n * files: Array<FilePath | RawFile>,\n * extract?: ExtractorFn | { [extension: string]: ExtractorFn }\n * transform?: TransformerFn | { [extension: string]: TransformerFn }\n * }\n */ let valid = (()=>{\n // `config.purge` should not exist anymore\n if (config.purge) {\n return false;\n }\n // `config.content` should exist\n if (!config.content) {\n return false;\n }\n // `config.content` should be an object or an array\n if (!Array.isArray(config.content) && !(typeof config.content === \"object\" && config.content !== null)) {\n return false;\n }\n // When `config.content` is an array, it should consist of FilePaths or RawFiles\n if (Array.isArray(config.content)) {\n return config.content.every((path)=>{\n // `path` can be a string\n if (typeof path === \"string\") return true;\n // `path` can be an object { raw: string, extension?: string }\n // `raw` must be a string\n if (typeof (path === null || path === void 0 ? void 0 : path.raw) !== \"string\") return false;\n // `extension` (if provided) should also be a string\n if ((path === null || path === void 0 ? void 0 : path.extension) && typeof (path === null || path === void 0 ? void 0 : path.extension) !== \"string\") {\n return false;\n }\n return true;\n });\n }\n // When `config.content` is an object\n if (typeof config.content === \"object\" && config.content !== null) {\n // Only `files`, `relative`, `extract`, and `transform` can exist in `config.content`\n if (Object.keys(config.content).some((key)=>![\n \"files\",\n \"relative\",\n \"extract\",\n \"transform\"\n ].includes(key))) {\n return false;\n }\n // `config.content.files` should exist of FilePaths or RawFiles\n if (Array.isArray(config.content.files)) {\n if (!config.content.files.every((path)=>{\n // `path` can be a string\n if (typeof path === \"string\") return true;\n // `path` can be an object { raw: string, extension?: string }\n // `raw` must be a string\n if (typeof (path === null || path === void 0 ? void 0 : path.raw) !== \"string\") return false;\n // `extension` (if provided) should also be a string\n if ((path === null || path === void 0 ? void 0 : path.extension) && typeof (path === null || path === void 0 ? void 0 : path.extension) !== \"string\") {\n return false;\n }\n return true;\n })) {\n return false;\n }\n // `config.content.extract` is optional, and can be a Function or a Record<String, Function>\n if (typeof config.content.extract === \"object\") {\n for (let value of Object.values(config.content.extract)){\n if (typeof value !== \"function\") {\n return false;\n }\n }\n } else if (!(config.content.extract === undefined || typeof config.content.extract === \"function\")) {\n return false;\n }\n // `config.content.transform` is optional, and can be a Function or a Record<String, Function>\n if (typeof config.content.transform === \"object\") {\n for (let value of Object.values(config.content.transform)){\n if (typeof value !== \"function\") {\n return false;\n }\n }\n } else if (!(config.content.transform === undefined || typeof config.content.transform === \"function\")) {\n return false;\n }\n // `config.content.relative` is optional and can be a boolean\n if (typeof config.content.relative !== \"boolean\" && typeof config.content.relative !== \"undefined\") {\n return false;\n }\n }\n return true;\n }\n return false;\n })();\n if (!valid) {\n _log.default.warn(\"purge-deprecation\", [\n \"The `purge`/`content` options have changed in Tailwind CSS v3.0.\",\n \"Update your configuration file to eliminate this warning.\",\n \"https://tailwindcss.com/docs/upgrade-guide#configure-content-sources\"\n ]);\n }\n // Normalize the `safelist`\n config.safelist = (()=>{\n var _purge_options;\n let { content , purge , safelist } = config;\n if (Array.isArray(safelist)) return safelist;\n if (Array.isArray(content === null || content === void 0 ? void 0 : content.safelist)) return content.safelist;\n if (Array.isArray(purge === null || purge === void 0 ? void 0 : purge.safelist)) return purge.safelist;\n if (Array.isArray(purge === null || purge === void 0 ? void 0 : (_purge_options = purge.options) === null || _purge_options === void 0 ? void 0 : _purge_options.safelist)) return purge.options.safelist;\n return [];\n })();\n // Normalize the `blocklist`\n config.blocklist = (()=>{\n let { blocklist } = config;\n if (Array.isArray(blocklist)) {\n if (blocklist.every((item)=>typeof item === \"string\")) {\n return blocklist;\n }\n _log.default.warn(\"blocklist-invalid\", [\n \"The `blocklist` option must be an array of strings.\",\n \"https://tailwindcss.com/docs/content-configuration#discarding-classes\"\n ]);\n }\n return [];\n })();\n // Normalize prefix option\n if (typeof config.prefix === \"function\") {\n _log.default.warn(\"prefix-function\", [\n \"As of Tailwind CSS v3.0, `prefix` cannot be a function.\",\n \"Update `prefix` in your configuration to be a string to eliminate this warning.\",\n \"https://tailwindcss.com/docs/upgrade-guide#prefix-cannot-be-a-function\"\n ]);\n config.prefix = \"\";\n } else {\n var _config_prefix;\n config.prefix = (_config_prefix = config.prefix) !== null && _config_prefix !== void 0 ? _config_prefix : \"\";\n }\n // Normalize the `content`\n config.content = {\n relative: (()=>{\n let { content } = config;\n if (content === null || content === void 0 ? void 0 : content.relative) {\n return content.relative;\n }\n return (0, _featureFlags.flagEnabled)(config, \"relativeContentPathsByDefault\");\n })(),\n files: (()=>{\n let { content , purge } = config;\n if (Array.isArray(purge)) return purge;\n if (Array.isArray(purge === null || purge === void 0 ? void 0 : purge.content)) return purge.content;\n if (Array.isArray(content)) return content;\n if (Array.isArray(content === null || content === void 0 ? void 0 : content.content)) return content.content;\n if (Array.isArray(content === null || content === void 0 ? void 0 : content.files)) return content.files;\n return [];\n })(),\n extract: (()=>{\n let extract = (()=>{\n var _config_purge, _config_content, _config_purge1, _config_purge_extract, _config_content1, _config_content_extract, _config_purge2, _config_purge_options, _config_content2, _config_content_options;\n if ((_config_purge = config.purge) === null || _config_purge === void 0 ? void 0 : _config_purge.extract) return config.purge.extract;\n if ((_config_content = config.content) === null || _config_content === void 0 ? void 0 : _config_content.extract) return config.content.extract;\n if ((_config_purge1 = config.purge) === null || _config_purge1 === void 0 ? void 0 : (_config_purge_extract = _config_purge1.extract) === null || _config_purge_extract === void 0 ? void 0 : _config_purge_extract.DEFAULT) return config.purge.extract.DEFAULT;\n if ((_config_content1 = config.content) === null || _config_content1 === void 0 ? void 0 : (_config_content_extract = _config_content1.extract) === null || _config_content_extract === void 0 ? void 0 : _config_content_extract.DEFAULT) return config.content.extract.DEFAULT;\n if ((_config_purge2 = config.purge) === null || _config_purge2 === void 0 ? void 0 : (_config_purge_options = _config_purge2.options) === null || _config_purge_options === void 0 ? void 0 : _config_purge_options.extractors) return config.purge.options.extractors;\n if ((_config_content2 = config.content) === null || _config_content2 === void 0 ? void 0 : (_config_content_options = _config_content2.options) === null || _config_content_options === void 0 ? void 0 : _config_content_options.extractors) return config.content.options.extractors;\n return {};\n })();\n let extractors = {};\n let defaultExtractor = (()=>{\n var _config_purge, _config_purge_options, _config_content, _config_content_options;\n if ((_config_purge = config.purge) === null || _config_purge === void 0 ? void 0 : (_config_purge_options = _config_purge.options) === null || _config_purge_options === void 0 ? void 0 : _config_purge_options.defaultExtractor) {\n return config.purge.options.defaultExtractor;\n }\n if ((_config_content = config.content) === null || _config_content === void 0 ? void 0 : (_config_content_options = _config_content.options) === null || _config_content_options === void 0 ? void 0 : _config_content_options.defaultExtractor) {\n return config.content.options.defaultExtractor;\n }\n return undefined;\n })();\n if (defaultExtractor !== undefined) {\n extractors.DEFAULT = defaultExtractor;\n }\n // Functions\n if (typeof extract === \"function\") {\n extractors.DEFAULT = extract;\n } else if (Array.isArray(extract)) {\n for (let { extensions , extractor } of extract !== null && extract !== void 0 ? extract : []){\n for (let extension of extensions){\n extractors[extension] = extractor;\n }\n }\n } else if (typeof extract === \"object\" && extract !== null) {\n Object.assign(extractors, extract);\n }\n return extractors;\n })(),\n transform: (()=>{\n let transform = (()=>{\n var _config_purge, _config_content, _config_purge1, _config_purge_transform, _config_content1, _config_content_transform;\n if ((_config_purge = config.purge) === null || _config_purge === void 0 ? void 0 : _config_purge.transform) return config.purge.transform;\n if ((_config_content = config.content) === null || _config_content === void 0 ? void 0 : _config_content.transform) return config.content.transform;\n if ((_config_purge1 = config.purge) === null || _config_purge1 === void 0 ? void 0 : (_config_purge_transform = _config_purge1.transform) === null || _config_purge_transform === void 0 ? void 0 : _config_purge_transform.DEFAULT) return config.purge.transform.DEFAULT;\n if ((_config_content1 = config.content) === null || _config_content1 === void 0 ? void 0 : (_config_content_transform = _config_content1.transform) === null || _config_content_transform === void 0 ? void 0 : _config_content_transform.DEFAULT) return config.content.transform.DEFAULT;\n return {};\n })();\n let transformers = {};\n if (typeof transform === \"function\") {\n transformers.DEFAULT = transform;\n }\n if (typeof transform === \"object\" && transform !== null) {\n Object.assign(transformers, transform);\n }\n return transformers;\n })()\n };\n // Validate globs to prevent bogus globs.\n // E.g.: `./src/*.{html}` is invalid, the `{html}` should just be `html`\n for (let file of config.content.files){\n if (typeof file === \"string\" && /{([^,]*?)}/g.test(file)) {\n _log.default.warn(\"invalid-glob-braces\", [\n `The glob pattern ${(0, _log.dim)(file)} in your Tailwind CSS configuration is invalid.`,\n `Update it to ${(0, _log.dim)(file.replace(/{([^,]*?)}/g, \"$1\"))} to silence this warning.`\n ]);\n break;\n }\n }\n return config;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return isPlainObject;\n }\n});\nfunction isPlainObject(value) {\n if (Object.prototype.toString.call(value) !== \"[object Object]\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n return prototype === null || prototype === Object.prototype;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"cloneDeep\", {\n enumerable: true,\n get: function() {\n return cloneDeep;\n }\n});\nfunction cloneDeep(value) {\n if (Array.isArray(value)) {\n return value.map((child)=>cloneDeep(child));\n }\n if (typeof value === \"object\" && value !== null) {\n return Object.fromEntries(Object.entries(value).map(([k, v])=>[\n k,\n cloneDeep(v)\n ]));\n }\n return value;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return escapeCommas;\n }\n});\nfunction escapeCommas(className) {\n return className.replace(/\\\\,/g, \"\\\\2c \");\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _default = {\n aliceblue: [\n 240,\n 248,\n 255\n ],\n antiquewhite: [\n 250,\n 235,\n 215\n ],\n aqua: [\n 0,\n 255,\n 255\n ],\n aquamarine: [\n 127,\n 255,\n 212\n ],\n azure: [\n 240,\n 255,\n 255\n ],\n beige: [\n 245,\n 245,\n 220\n ],\n bisque: [\n 255,\n 228,\n 196\n ],\n black: [\n 0,\n 0,\n 0\n ],\n blanchedalmond: [\n 255,\n 235,\n 205\n ],\n blue: [\n 0,\n 0,\n 255\n ],\n blueviolet: [\n 138,\n 43,\n 226\n ],\n brown: [\n 165,\n 42,\n 42\n ],\n burlywood: [\n 222,\n 184,\n 135\n ],\n cadetblue: [\n 95,\n 158,\n 160\n ],\n chartreuse: [\n 127,\n 255,\n 0\n ],\n chocolate: [\n 210,\n 105,\n 30\n ],\n coral: [\n 255,\n 127,\n 80\n ],\n cornflowerblue: [\n 100,\n 149,\n 237\n ],\n cornsilk: [\n 255,\n 248,\n 220\n ],\n crimson: [\n 220,\n 20,\n 60\n ],\n cyan: [\n 0,\n 255,\n 255\n ],\n darkblue: [\n 0,\n 0,\n 139\n ],\n darkcyan: [\n 0,\n 139,\n 139\n ],\n darkgoldenrod: [\n 184,\n 134,\n 11\n ],\n darkgray: [\n 169,\n 169,\n 169\n ],\n darkgreen: [\n 0,\n 100,\n 0\n ],\n darkgrey: [\n 169,\n 169,\n 169\n ],\n darkkhaki: [\n 189,\n 183,\n 107\n ],\n darkmagenta: [\n 139,\n 0,\n 139\n ],\n darkolivegreen: [\n 85,\n 107,\n 47\n ],\n darkorange: [\n 255,\n 140,\n 0\n ],\n darkorchid: [\n 153,\n 50,\n 204\n ],\n darkred: [\n 139,\n 0,\n 0\n ],\n darksalmon: [\n 233,\n 150,\n 122\n ],\n darkseagreen: [\n 143,\n 188,\n 143\n ],\n darkslateblue: [\n 72,\n 61,\n 139\n ],\n darkslategray: [\n 47,\n 79,\n 79\n ],\n darkslategrey: [\n 47,\n 79,\n 79\n ],\n darkturquoise: [\n 0,\n 206,\n 209\n ],\n darkviolet: [\n 148,\n 0,\n 211\n ],\n deeppink: [\n 255,\n 20,\n 147\n ],\n deepskyblue: [\n 0,\n 191,\n 255\n ],\n dimgray: [\n 105,\n 105,\n 105\n ],\n dimgrey: [\n 105,\n 105,\n 105\n ],\n dodgerblue: [\n 30,\n 144,\n 255\n ],\n firebrick: [\n 178,\n 34,\n 34\n ],\n floralwhite: [\n 255,\n 250,\n 240\n ],\n forestgreen: [\n 34,\n 139,\n 34\n ],\n fuchsia: [\n 255,\n 0,\n 255\n ],\n gainsboro: [\n 220,\n 220,\n 220\n ],\n ghostwhite: [\n 248,\n 248,\n 255\n ],\n gold: [\n 255,\n 215,\n 0\n ],\n goldenrod: [\n 218,\n 165,\n 32\n ],\n gray: [\n 128,\n 128,\n 128\n ],\n green: [\n 0,\n 128,\n 0\n ],\n greenyellow: [\n 173,\n 255,\n 47\n ],\n grey: [\n 128,\n 128,\n 128\n ],\n honeydew: [\n 240,\n 255,\n 240\n ],\n hotpink: [\n 255,\n 105,\n 180\n ],\n indianred: [\n 205,\n 92,\n 92\n ],\n indigo: [\n 75,\n 0,\n 130\n ],\n ivory: [\n 255,\n 255,\n 240\n ],\n khaki: [\n 240,\n 230,\n 140\n ],\n lavender: [\n 230,\n 230,\n 250\n ],\n lavenderblush: [\n 255,\n 240,\n 245\n ],\n lawngreen: [\n 124,\n 252,\n 0\n ],\n lemonchiffon: [\n 255,\n 250,\n 205\n ],\n lightblue: [\n 173,\n 216,\n 230\n ],\n lightcoral: [\n 240,\n 128,\n 128\n ],\n lightcyan: [\n 224,\n 255,\n 255\n ],\n lightgoldenrodyellow: [\n 250,\n 250,\n 210\n ],\n lightgray: [\n 211,\n 211,\n 211\n ],\n lightgreen: [\n 144,\n 238,\n 144\n ],\n lightgrey: [\n 211,\n 211,\n 211\n ],\n lightpink: [\n 255,\n 182,\n 193\n ],\n lightsalmon: [\n 255,\n 160,\n 122\n ],\n lightseagreen: [\n 32,\n 178,\n 170\n ],\n lightskyblue: [\n 135,\n 206,\n 250\n ],\n lightslategray: [\n 119,\n 136,\n 153\n ],\n lightslategrey: [\n 119,\n 136,\n 153\n ],\n lightsteelblue: [\n 176,\n 196,\n 222\n ],\n lightyellow: [\n 255,\n 255,\n 224\n ],\n lime: [\n 0,\n 255,\n 0\n ],\n limegreen: [\n 50,\n 205,\n 50\n ],\n linen: [\n 250,\n 240,\n 230\n ],\n magenta: [\n 255,\n 0,\n 255\n ],\n maroon: [\n 128,\n 0,\n 0\n ],\n mediumaquamarine: [\n 102,\n 205,\n 170\n ],\n mediumblue: [\n 0,\n 0,\n 205\n ],\n mediumorchid: [\n 186,\n 85,\n 211\n ],\n mediumpurple: [\n 147,\n 112,\n 219\n ],\n mediumseagreen: [\n 60,\n 179,\n 113\n ],\n mediumslateblue: [\n 123,\n 104,\n 238\n ],\n mediumspringgreen: [\n 0,\n 250,\n 154\n ],\n mediumturquoise: [\n 72,\n 209,\n 204\n ],\n mediumvioletred: [\n 199,\n 21,\n 133\n ],\n midnightblue: [\n 25,\n 25,\n 112\n ],\n mintcream: [\n 245,\n 255,\n 250\n ],\n mistyrose: [\n 255,\n 228,\n 225\n ],\n moccasin: [\n 255,\n 228,\n 181\n ],\n navajowhite: [\n 255,\n 222,\n 173\n ],\n navy: [\n 0,\n 0,\n 128\n ],\n oldlace: [\n 253,\n 245,\n 230\n ],\n olive: [\n 128,\n 128,\n 0\n ],\n olivedrab: [\n 107,\n 142,\n 35\n ],\n orange: [\n 255,\n 165,\n 0\n ],\n orangered: [\n 255,\n 69,\n 0\n ],\n orchid: [\n 218,\n 112,\n 214\n ],\n palegoldenrod: [\n 238,\n 232,\n 170\n ],\n palegreen: [\n 152,\n 251,\n 152\n ],\n paleturquoise: [\n 175,\n 238,\n 238\n ],\n palevioletred: [\n 219,\n 112,\n 147\n ],\n papayawhip: [\n 255,\n 239,\n 213\n ],\n peachpuff: [\n 255,\n 218,\n 185\n ],\n peru: [\n 205,\n 133,\n 63\n ],\n pink: [\n 255,\n 192,\n 203\n ],\n plum: [\n 221,\n 160,\n 221\n ],\n powderblue: [\n 176,\n 224,\n 230\n ],\n purple: [\n 128,\n 0,\n 128\n ],\n rebeccapurple: [\n 102,\n 51,\n 153\n ],\n red: [\n 255,\n 0,\n 0\n ],\n rosybrown: [\n 188,\n 143,\n 143\n ],\n royalblue: [\n 65,\n 105,\n 225\n ],\n saddlebrown: [\n 139,\n 69,\n 19\n ],\n salmon: [\n 250,\n 128,\n 114\n ],\n sandybrown: [\n 244,\n 164,\n 96\n ],\n seagreen: [\n 46,\n 139,\n 87\n ],\n seashell: [\n 255,\n 245,\n 238\n ],\n sienna: [\n 160,\n 82,\n 45\n ],\n silver: [\n 192,\n 192,\n 192\n ],\n skyblue: [\n 135,\n 206,\n 235\n ],\n slateblue: [\n 106,\n 90,\n 205\n ],\n slategray: [\n 112,\n 128,\n 144\n ],\n slategrey: [\n 112,\n 128,\n 144\n ],\n snow: [\n 255,\n 250,\n 250\n ],\n springgreen: [\n 0,\n 255,\n 127\n ],\n steelblue: [\n 70,\n 130,\n 180\n ],\n tan: [\n 210,\n 180,\n 140\n ],\n teal: [\n 0,\n 128,\n 128\n ],\n thistle: [\n 216,\n 191,\n 216\n ],\n tomato: [\n 255,\n 99,\n 71\n ],\n turquoise: [\n 64,\n 224,\n 208\n ],\n violet: [\n 238,\n 130,\n 238\n ],\n wheat: [\n 245,\n 222,\n 179\n ],\n white: [\n 255,\n 255,\n 255\n ],\n whitesmoke: [\n 245,\n 245,\n 245\n ],\n yellow: [\n 255,\n 255,\n 0\n ],\n yellowgreen: [\n 154,\n 205,\n 50\n ]\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n parseColor: function() {\n return parseColor;\n },\n formatColor: function() {\n return formatColor;\n }\n});\nconst _colorNames = /*#__PURE__*/ _interop_require_default(require(\"./colorNames\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nlet HEX = /^#([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?$/i;\nlet SHORT_HEX = /^#([a-f\\d])([a-f\\d])([a-f\\d])([a-f\\d])?$/i;\nlet VALUE = /(?:\\d+|\\d*\\.\\d+)%?/;\nlet SEP = /(?:\\s*,\\s*|\\s+)/;\nlet ALPHA_SEP = /\\s*[,/]\\s*/;\nlet CUSTOM_PROPERTY = /var\\(--(?:[^ )]*?)\\)/;\nlet RGB = new RegExp(`^(rgba?)\\\\(\\\\s*(${VALUE.source}|${CUSTOM_PROPERTY.source})(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${ALPHA_SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?\\\\s*\\\\)$`);\nlet HSL = new RegExp(`^(hsla?)\\\\(\\\\s*((?:${VALUE.source})(?:deg|rad|grad|turn)?|${CUSTOM_PROPERTY.source})(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${ALPHA_SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?\\\\s*\\\\)$`);\nfunction parseColor(value, { loose =false } = {}) {\n var _match_, _match__toString;\n if (typeof value !== \"string\") {\n return null;\n }\n value = value.trim();\n if (value === \"transparent\") {\n return {\n mode: \"rgb\",\n color: [\n \"0\",\n \"0\",\n \"0\"\n ],\n alpha: \"0\"\n };\n }\n if (value in _colorNames.default) {\n return {\n mode: \"rgb\",\n color: _colorNames.default[value].map((v)=>v.toString())\n };\n }\n let hex = value.replace(SHORT_HEX, (_, r, g, b, a)=>[\n \"#\",\n r,\n r,\n g,\n g,\n b,\n b,\n a ? a + a : \"\"\n ].join(\"\")).match(HEX);\n if (hex !== null) {\n return {\n mode: \"rgb\",\n color: [\n parseInt(hex[1], 16),\n parseInt(hex[2], 16),\n parseInt(hex[3], 16)\n ].map((v)=>v.toString()),\n alpha: hex[4] ? (parseInt(hex[4], 16) / 255).toString() : undefined\n };\n }\n var _value_match;\n let match = (_value_match = value.match(RGB)) !== null && _value_match !== void 0 ? _value_match : value.match(HSL);\n if (match === null) {\n return null;\n }\n let color = [\n match[2],\n match[3],\n match[4]\n ].filter(Boolean).map((v)=>v.toString());\n // rgba(var(--my-color), 0.1)\n // hsla(var(--my-color), 0.1)\n if (color.length === 2 && color[0].startsWith(\"var(\")) {\n return {\n mode: match[1],\n color: [\n color[0]\n ],\n alpha: color[1]\n };\n }\n if (!loose && color.length !== 3) {\n return null;\n }\n if (color.length < 3 && !color.some((part)=>/^var\\(.*?\\)$/.test(part))) {\n return null;\n }\n return {\n mode: match[1],\n color,\n alpha: (_match_ = match[5]) === null || _match_ === void 0 ? void 0 : (_match__toString = _match_.toString) === null || _match__toString === void 0 ? void 0 : _match__toString.call(_match_)\n };\n}\nfunction formatColor({ mode , color , alpha }) {\n let hasAlpha = alpha !== undefined;\n if (mode === \"rgba\" || mode === \"hsla\") {\n return `${mode}(${color.join(\", \")}${hasAlpha ? `, ${alpha}` : \"\"})`;\n }\n return `${mode}(${color.join(\" \")}${hasAlpha ? ` / ${alpha}` : \"\"})`;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n withAlphaValue: function() {\n return withAlphaValue;\n },\n default: function() {\n return withAlphaVariable;\n }\n});\nconst _color = require(\"./color\");\nfunction withAlphaValue(color, alphaValue, defaultValue) {\n if (typeof color === \"function\") {\n return color({\n opacityValue: alphaValue\n });\n }\n let parsed = (0, _color.parseColor)(color, {\n loose: true\n });\n if (parsed === null) {\n return defaultValue;\n }\n return (0, _color.formatColor)({\n ...parsed,\n alpha: alphaValue\n });\n}\nfunction withAlphaVariable({ color , property , variable }) {\n let properties = [].concat(property);\n if (typeof color === \"function\") {\n return {\n [variable]: \"1\",\n ...Object.fromEntries(properties.map((p)=>{\n return [\n p,\n color({\n opacityVariable: variable,\n opacityValue: `var(${variable})`\n })\n ];\n }))\n };\n }\n const parsed = (0, _color.parseColor)(color);\n if (parsed === null) {\n return Object.fromEntries(properties.map((p)=>[\n p,\n color\n ]));\n }\n if (parsed.alpha !== undefined) {\n // Has an alpha value, return color as-is\n return Object.fromEntries(properties.map((p)=>[\n p,\n color\n ]));\n }\n return {\n [variable]: \"1\",\n ...Object.fromEntries(properties.map((p)=>{\n return [\n p,\n (0, _color.formatColor)({\n ...parsed,\n alpha: `var(${variable})`\n })\n ];\n }))\n };\n}\n","/**\n * This splits a string on a top-level character.\n *\n * Regex doesn't support recursion (at least not the JS-flavored version).\n * So we have to use a tiny state machine to keep track of paren placement.\n *\n * Expected behavior using commas:\n * var(--a, 0 0 1px rgb(0, 0, 0)), 0 0 1px rgb(0, 0, 0)\n * ─┬─ ┬ ┬ ┬\n * x x x ╰──────── Split because top-level\n * ╰──────────────┴──┴───────────── Ignored b/c inside >= 1 levels of parens\n *\n * @param {string} input\n * @param {string} separator\n */ \"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"splitAtTopLevelOnly\", {\n enumerable: true,\n get: function() {\n return splitAtTopLevelOnly;\n }\n});\nfunction splitAtTopLevelOnly(input, separator) {\n let stack = [];\n let parts = [];\n let lastPos = 0;\n let isEscaped = false;\n for(let idx = 0; idx < input.length; idx++){\n let char = input[idx];\n if (stack.length === 0 && char === separator[0] && !isEscaped) {\n if (separator.length === 1 || input.slice(idx, idx + separator.length) === separator) {\n parts.push(input.slice(lastPos, idx));\n lastPos = idx + separator.length;\n }\n }\n if (isEscaped) {\n isEscaped = false;\n } else if (char === \"\\\\\") {\n isEscaped = true;\n }\n if (char === \"(\" || char === \"[\" || char === \"{\") {\n stack.push(char);\n } else if (char === \")\" && stack[stack.length - 1] === \"(\" || char === \"]\" && stack[stack.length - 1] === \"[\" || char === \"}\" && stack[stack.length - 1] === \"{\") {\n stack.pop();\n }\n }\n parts.push(input.slice(lastPos));\n return parts;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n parseBoxShadowValue: function() {\n return parseBoxShadowValue;\n },\n formatBoxShadowValue: function() {\n return formatBoxShadowValue;\n }\n});\nconst _splitAtTopLevelOnly = require(\"./splitAtTopLevelOnly\");\nlet KEYWORDS = new Set([\n \"inset\",\n \"inherit\",\n \"initial\",\n \"revert\",\n \"unset\"\n]);\nlet SPACE = /\\ +(?![^(]*\\))/g // Similar to the one above, but with spaces instead.\n;\nlet LENGTH = /^-?(\\d+|\\.\\d+)(.*?)$/g;\nfunction parseBoxShadowValue(input) {\n let shadows = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(input, \",\");\n return shadows.map((shadow)=>{\n let value = shadow.trim();\n let result = {\n raw: value\n };\n let parts = value.split(SPACE);\n let seen = new Set();\n for (let part of parts){\n // Reset index, since the regex is stateful.\n LENGTH.lastIndex = 0;\n // Keyword\n if (!seen.has(\"KEYWORD\") && KEYWORDS.has(part)) {\n result.keyword = part;\n seen.add(\"KEYWORD\");\n } else if (LENGTH.test(part)) {\n if (!seen.has(\"X\")) {\n result.x = part;\n seen.add(\"X\");\n } else if (!seen.has(\"Y\")) {\n result.y = part;\n seen.add(\"Y\");\n } else if (!seen.has(\"BLUR\")) {\n result.blur = part;\n seen.add(\"BLUR\");\n } else if (!seen.has(\"SPREAD\")) {\n result.spread = part;\n seen.add(\"SPREAD\");\n }\n } else {\n if (!result.color) {\n result.color = part;\n } else {\n if (!result.unknown) result.unknown = [];\n result.unknown.push(part);\n }\n }\n }\n // Check if valid\n result.valid = result.x !== undefined && result.y !== undefined;\n return result;\n });\n}\nfunction formatBoxShadowValue(shadows) {\n return shadows.map((shadow)=>{\n if (!shadow.valid) {\n return shadow.raw;\n }\n return [\n shadow.keyword,\n shadow.x,\n shadow.y,\n shadow.blur,\n shadow.spread,\n shadow.color\n ].filter(Boolean).join(\" \");\n }).join(\", \");\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalize: function() {\n return normalize;\n },\n url: function() {\n return url;\n },\n number: function() {\n return number;\n },\n percentage: function() {\n return percentage;\n },\n length: function() {\n return length;\n },\n lineWidth: function() {\n return lineWidth;\n },\n shadow: function() {\n return shadow;\n },\n color: function() {\n return color;\n },\n image: function() {\n return image;\n },\n gradient: function() {\n return gradient;\n },\n position: function() {\n return position;\n },\n familyName: function() {\n return familyName;\n },\n genericName: function() {\n return genericName;\n },\n absoluteSize: function() {\n return absoluteSize;\n },\n relativeSize: function() {\n return relativeSize;\n }\n});\nconst _color = require(\"./color\");\nconst _parseBoxShadowValue = require(\"./parseBoxShadowValue\");\nconst _splitAtTopLevelOnly = require(\"./splitAtTopLevelOnly\");\nlet cssFunctions = [\n \"min\",\n \"max\",\n \"clamp\",\n \"calc\"\n];\n// Ref: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Types\nfunction isCSSFunction(value) {\n return cssFunctions.some((fn)=>new RegExp(`^${fn}\\\\(.*\\\\)`).test(value));\n}\nconst placeholder = \"--tw-placeholder\";\nconst placeholderRe = new RegExp(placeholder, \"g\");\nfunction normalize(value, isRoot = true) {\n if (value.startsWith(\"--\")) {\n return `var(${value})`;\n }\n // Keep raw strings if it starts with `url(`\n if (value.includes(\"url(\")) {\n return value.split(/(url\\(.*?\\))/g).filter(Boolean).map((part)=>{\n if (/^url\\(.*?\\)$/.test(part)) {\n return part;\n }\n return normalize(part, false);\n }).join(\"\");\n }\n // Convert `_` to ` `, except for escaped underscores `\\_`\n value = value.replace(/([^\\\\])_+/g, (fullMatch, characterBefore)=>characterBefore + \" \".repeat(fullMatch.length - 1)).replace(/^_/g, \" \").replace(/\\\\_/g, \"_\");\n // Remove leftover whitespace\n if (isRoot) {\n value = value.trim();\n }\n value = normalizeMathOperatorSpacing(value);\n return value;\n}\n/**\n * Add spaces around operators inside math functions\n * like calc() that do not follow an operator or '('.\n *\n * @param {string} value\n * @returns {string}\n */ function normalizeMathOperatorSpacing(value) {\n return value.replace(/(calc|min|max|clamp)\\(.+\\)/g, (match)=>{\n let vars = [];\n return match.replace(/var\\((--.+?)[,)]/g, (match, g1)=>{\n vars.push(g1);\n return match.replace(g1, placeholder);\n }).replace(/(-?\\d*\\.?\\d(?!\\b-\\d.+[,)](?![^+\\-/*])\\D)(?:%|[a-z]+)?|\\))([+\\-/*])/g, \"$1 $2 \").replace(placeholderRe, ()=>vars.shift());\n });\n}\nfunction url(value) {\n return value.startsWith(\"url(\");\n}\nfunction number(value) {\n return !isNaN(Number(value)) || isCSSFunction(value);\n}\nfunction percentage(value) {\n return value.endsWith(\"%\") && number(value.slice(0, -1)) || isCSSFunction(value);\n}\n// Please refer to MDN when updating this list:\n// https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units\n// https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Container_Queries#container_query_length_units\nlet lengthUnits = [\n \"cm\",\n \"mm\",\n \"Q\",\n \"in\",\n \"pc\",\n \"pt\",\n \"px\",\n \"em\",\n \"ex\",\n \"ch\",\n \"rem\",\n \"lh\",\n \"rlh\",\n \"vw\",\n \"vh\",\n \"vmin\",\n \"vmax\",\n \"vb\",\n \"vi\",\n \"svw\",\n \"svh\",\n \"lvw\",\n \"lvh\",\n \"dvw\",\n \"dvh\",\n \"cqw\",\n \"cqh\",\n \"cqi\",\n \"cqb\",\n \"cqmin\",\n \"cqmax\"\n];\nlet lengthUnitsPattern = `(?:${lengthUnits.join(\"|\")})`;\nfunction length(value) {\n return value === \"0\" || new RegExp(`^[+-]?[0-9]*\\.?[0-9]+(?:[eE][+-]?[0-9]+)?${lengthUnitsPattern}$`).test(value) || isCSSFunction(value);\n}\nlet lineWidths = new Set([\n \"thin\",\n \"medium\",\n \"thick\"\n]);\nfunction lineWidth(value) {\n return lineWidths.has(value);\n}\nfunction shadow(value) {\n let parsedShadows = (0, _parseBoxShadowValue.parseBoxShadowValue)(normalize(value));\n for (let parsedShadow of parsedShadows){\n if (!parsedShadow.valid) {\n return false;\n }\n }\n return true;\n}\nfunction color(value) {\n let colors = 0;\n let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, \"_\").every((part)=>{\n part = normalize(part);\n if (part.startsWith(\"var(\")) return true;\n if ((0, _color.parseColor)(part, {\n loose: true\n }) !== null) return colors++, true;\n return false;\n });\n if (!result) return false;\n return colors > 0;\n}\nfunction image(value) {\n let images = 0;\n let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, \",\").every((part)=>{\n part = normalize(part);\n if (part.startsWith(\"var(\")) return true;\n if (url(part) || gradient(part) || [\n \"element(\",\n \"image(\",\n \"cross-fade(\",\n \"image-set(\"\n ].some((fn)=>part.startsWith(fn))) {\n images++;\n return true;\n }\n return false;\n });\n if (!result) return false;\n return images > 0;\n}\nlet gradientTypes = new Set([\n \"conic-gradient\",\n \"linear-gradient\",\n \"radial-gradient\",\n \"repeating-conic-gradient\",\n \"repeating-linear-gradient\",\n \"repeating-radial-gradient\"\n]);\nfunction gradient(value) {\n value = normalize(value);\n for (let type of gradientTypes){\n if (value.startsWith(`${type}(`)) {\n return true;\n }\n }\n return false;\n}\nlet validPositions = new Set([\n \"center\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\"\n]);\nfunction position(value) {\n let positions = 0;\n let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, \"_\").every((part)=>{\n part = normalize(part);\n if (part.startsWith(\"var(\")) return true;\n if (validPositions.has(part) || length(part) || percentage(part)) {\n positions++;\n return true;\n }\n return false;\n });\n if (!result) return false;\n return positions > 0;\n}\nfunction familyName(value) {\n let fonts = 0;\n let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, \",\").every((part)=>{\n part = normalize(part);\n if (part.startsWith(\"var(\")) return true;\n // If it contains spaces, then it should be quoted\n if (part.includes(\" \")) {\n if (!/(['\"])([^\"']+)\\1/g.test(part)) {\n return false;\n }\n }\n // If it starts with a number, it's invalid\n if (/^\\d/g.test(part)) {\n return false;\n }\n fonts++;\n return true;\n });\n if (!result) return false;\n return fonts > 0;\n}\nlet genericNames = new Set([\n \"serif\",\n \"sans-serif\",\n \"monospace\",\n \"cursive\",\n \"fantasy\",\n \"system-ui\",\n \"ui-serif\",\n \"ui-sans-serif\",\n \"ui-monospace\",\n \"ui-rounded\",\n \"math\",\n \"emoji\",\n \"fangsong\"\n]);\nfunction genericName(value) {\n return genericNames.has(value);\n}\nlet absoluteSizes = new Set([\n \"xx-small\",\n \"x-small\",\n \"small\",\n \"medium\",\n \"large\",\n \"x-large\",\n \"x-large\",\n \"xxx-large\"\n]);\nfunction absoluteSize(value) {\n return absoluteSizes.has(value);\n}\nlet relativeSizes = new Set([\n \"larger\",\n \"smaller\"\n]);\nfunction relativeSize(value) {\n return relativeSizes.has(value);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"backgroundSize\", {\n enumerable: true,\n get: function() {\n return backgroundSize;\n }\n});\nconst _dataTypes = require(\"./dataTypes\");\nconst _splitAtTopLevelOnly = require(\"./splitAtTopLevelOnly\");\nfunction backgroundSize(value) {\n let keywordValues = [\n \"cover\",\n \"contain\"\n ];\n // the <length-percentage> type will probably be a css function\n // so we have to use `splitAtTopLevelOnly`\n return (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, \",\").every((part)=>{\n let sizes = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(part, \"_\").filter(Boolean);\n if (sizes.length === 1 && keywordValues.includes(sizes[0])) return true;\n if (sizes.length !== 1 && sizes.length !== 2) return false;\n return sizes.every((size)=>(0, _dataTypes.length)(size) || (0, _dataTypes.percentage)(size) || size === \"auto\");\n });\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n updateAllClasses: function() {\n return updateAllClasses;\n },\n asValue: function() {\n return asValue;\n },\n parseColorFormat: function() {\n return parseColorFormat;\n },\n asColor: function() {\n return asColor;\n },\n asLookupValue: function() {\n return asLookupValue;\n },\n typeMap: function() {\n return typeMap;\n },\n coerceValue: function() {\n return coerceValue;\n },\n getMatchingTypes: function() {\n return getMatchingTypes;\n }\n});\nconst _escapeCommas = /*#__PURE__*/ _interop_require_default(require(\"./escapeCommas\"));\nconst _withAlphaVariable = require(\"./withAlphaVariable\");\nconst _dataTypes = require(\"./dataTypes\");\nconst _negateValue = /*#__PURE__*/ _interop_require_default(require(\"./negateValue\"));\nconst _validateFormalSyntax = require(\"./validateFormalSyntax\");\nconst _featureFlags = require(\"../featureFlags.js\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction updateAllClasses(selectors, updateClass) {\n selectors.walkClasses((sel)=>{\n sel.value = updateClass(sel.value);\n if (sel.raws && sel.raws.value) {\n sel.raws.value = (0, _escapeCommas.default)(sel.raws.value);\n }\n });\n}\nfunction resolveArbitraryValue(modifier, validate) {\n if (!isArbitraryValue(modifier)) {\n return undefined;\n }\n let value = modifier.slice(1, -1);\n if (!validate(value)) {\n return undefined;\n }\n return (0, _dataTypes.normalize)(value);\n}\nfunction asNegativeValue(modifier, lookup = {}, validate) {\n let positiveValue = lookup[modifier];\n if (positiveValue !== undefined) {\n return (0, _negateValue.default)(positiveValue);\n }\n if (isArbitraryValue(modifier)) {\n let resolved = resolveArbitraryValue(modifier, validate);\n if (resolved === undefined) {\n return undefined;\n }\n return (0, _negateValue.default)(resolved);\n }\n}\nfunction asValue(modifier, options = {}, { validate =()=>true } = {}) {\n var _options_values;\n let value = (_options_values = options.values) === null || _options_values === void 0 ? void 0 : _options_values[modifier];\n if (value !== undefined) {\n return value;\n }\n if (options.supportsNegativeValues && modifier.startsWith(\"-\")) {\n return asNegativeValue(modifier.slice(1), options.values, validate);\n }\n return resolveArbitraryValue(modifier, validate);\n}\nfunction isArbitraryValue(input) {\n return input.startsWith(\"[\") && input.endsWith(\"]\");\n}\nfunction splitUtilityModifier(modifier) {\n let slashIdx = modifier.lastIndexOf(\"/\");\n if (slashIdx === -1 || slashIdx === modifier.length - 1) {\n return [\n modifier,\n undefined\n ];\n }\n let arbitrary = isArbitraryValue(modifier);\n // The modifier could be of the form `[foo]/[bar]`\n // We want to handle this case properly\n // without affecting `[foo/bar]`\n if (arbitrary && !modifier.includes(\"]/[\")) {\n return [\n modifier,\n undefined\n ];\n }\n return [\n modifier.slice(0, slashIdx),\n modifier.slice(slashIdx + 1)\n ];\n}\nfunction parseColorFormat(value) {\n if (typeof value === \"string\" && value.includes(\"<alpha-value>\")) {\n let oldValue = value;\n return ({ opacityValue =1 })=>oldValue.replace(\"<alpha-value>\", opacityValue);\n }\n return value;\n}\nfunction unwrapArbitraryModifier(modifier) {\n return (0, _dataTypes.normalize)(modifier.slice(1, -1));\n}\nfunction asColor(modifier, options = {}, { tailwindConfig ={} } = {}) {\n var _options_values;\n if (((_options_values = options.values) === null || _options_values === void 0 ? void 0 : _options_values[modifier]) !== undefined) {\n var _options_values1;\n return parseColorFormat((_options_values1 = options.values) === null || _options_values1 === void 0 ? void 0 : _options_values1[modifier]);\n }\n // TODO: Hoist this up to getMatchingTypes or something\n // We do this here because we need the alpha value (if any)\n let [color, alpha] = splitUtilityModifier(modifier);\n if (alpha !== undefined) {\n var _options_values2, _tailwindConfig_theme, _tailwindConfig_theme_opacity;\n var _options_values_color;\n let normalizedColor = (_options_values_color = (_options_values2 = options.values) === null || _options_values2 === void 0 ? void 0 : _options_values2[color]) !== null && _options_values_color !== void 0 ? _options_values_color : isArbitraryValue(color) ? color.slice(1, -1) : undefined;\n if (normalizedColor === undefined) {\n return undefined;\n }\n normalizedColor = parseColorFormat(normalizedColor);\n if (isArbitraryValue(alpha)) {\n return (0, _withAlphaVariable.withAlphaValue)(normalizedColor, unwrapArbitraryModifier(alpha));\n }\n if (((_tailwindConfig_theme = tailwindConfig.theme) === null || _tailwindConfig_theme === void 0 ? void 0 : (_tailwindConfig_theme_opacity = _tailwindConfig_theme.opacity) === null || _tailwindConfig_theme_opacity === void 0 ? void 0 : _tailwindConfig_theme_opacity[alpha]) === undefined) {\n return undefined;\n }\n return (0, _withAlphaVariable.withAlphaValue)(normalizedColor, tailwindConfig.theme.opacity[alpha]);\n }\n return asValue(modifier, options, {\n validate: _dataTypes.color\n });\n}\nfunction asLookupValue(modifier, options = {}) {\n var _options_values;\n return (_options_values = options.values) === null || _options_values === void 0 ? void 0 : _options_values[modifier];\n}\nfunction guess(validate) {\n return (modifier, options)=>{\n return asValue(modifier, options, {\n validate\n });\n };\n}\nlet typeMap = {\n any: asValue,\n color: asColor,\n url: guess(_dataTypes.url),\n image: guess(_dataTypes.image),\n length: guess(_dataTypes.length),\n percentage: guess(_dataTypes.percentage),\n position: guess(_dataTypes.position),\n lookup: asLookupValue,\n \"generic-name\": guess(_dataTypes.genericName),\n \"family-name\": guess(_dataTypes.familyName),\n number: guess(_dataTypes.number),\n \"line-width\": guess(_dataTypes.lineWidth),\n \"absolute-size\": guess(_dataTypes.absoluteSize),\n \"relative-size\": guess(_dataTypes.relativeSize),\n shadow: guess(_dataTypes.shadow),\n size: guess(_validateFormalSyntax.backgroundSize)\n};\nlet supportedTypes = Object.keys(typeMap);\nfunction splitAtFirst(input, delim) {\n let idx = input.indexOf(delim);\n if (idx === -1) return [\n undefined,\n input\n ];\n return [\n input.slice(0, idx),\n input.slice(idx + 1)\n ];\n}\nfunction coerceValue(types, modifier, options, tailwindConfig) {\n if (options.values && modifier in options.values) {\n for (let { type } of types !== null && types !== void 0 ? types : []){\n let result = typeMap[type](modifier, options, {\n tailwindConfig\n });\n if (result === undefined) {\n continue;\n }\n return [\n result,\n type,\n null\n ];\n }\n }\n if (isArbitraryValue(modifier)) {\n let arbitraryValue = modifier.slice(1, -1);\n let [explicitType, value] = splitAtFirst(arbitraryValue, \":\");\n // It could be that this resolves to `url(https` which is not a valid\n // identifier. We currently only support \"simple\" words with dashes or\n // underscores. E.g.: family-name\n if (!/^[\\w-_]+$/g.test(explicitType)) {\n value = arbitraryValue;\n } else if (explicitType !== undefined && !supportedTypes.includes(explicitType)) {\n return [];\n }\n if (value.length > 0 && supportedTypes.includes(explicitType)) {\n return [\n asValue(`[${value}]`, options),\n explicitType,\n null\n ];\n }\n }\n let matches = getMatchingTypes(types, modifier, options, tailwindConfig);\n // Find first matching type\n for (let match of matches){\n return match;\n }\n return [];\n}\nfunction* getMatchingTypes(types, rawModifier, options, tailwindConfig) {\n let modifiersEnabled = (0, _featureFlags.flagEnabled)(tailwindConfig, \"generalizedModifiers\");\n let [modifier, utilityModifier] = splitUtilityModifier(rawModifier);\n let canUseUtilityModifier = modifiersEnabled && options.modifiers != null && (options.modifiers === \"any\" || typeof options.modifiers === \"object\" && (utilityModifier && isArbitraryValue(utilityModifier) || utilityModifier in options.modifiers));\n if (!canUseUtilityModifier) {\n modifier = rawModifier;\n utilityModifier = undefined;\n }\n if (utilityModifier !== undefined && modifier === \"\") {\n modifier = \"DEFAULT\";\n }\n // Check the full value first\n // TODO: Move to asValue… somehow\n if (utilityModifier !== undefined) {\n if (typeof options.modifiers === \"object\") {\n var _options_modifiers;\n var _options_modifiers_utilityModifier;\n let configValue = (_options_modifiers_utilityModifier = (_options_modifiers = options.modifiers) === null || _options_modifiers === void 0 ? void 0 : _options_modifiers[utilityModifier]) !== null && _options_modifiers_utilityModifier !== void 0 ? _options_modifiers_utilityModifier : null;\n if (configValue !== null) {\n utilityModifier = configValue;\n } else if (isArbitraryValue(utilityModifier)) {\n utilityModifier = unwrapArbitraryModifier(utilityModifier);\n }\n }\n }\n for (let { type } of types !== null && types !== void 0 ? types : []){\n let result = typeMap[type](modifier, options, {\n tailwindConfig\n });\n if (result === undefined) {\n continue;\n }\n yield [\n result,\n type,\n utilityModifier !== null && utilityModifier !== void 0 ? utilityModifier : null\n ];\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return toColorValue;\n }\n});\nfunction toColorValue(maybeFunction) {\n return typeof maybeFunction === \"function\" ? maybeFunction({}) : maybeFunction;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return resolveConfig;\n }\n});\nconst _negateValue = /*#__PURE__*/ _interop_require_default(require(\"./negateValue\"));\nconst _corePluginList = /*#__PURE__*/ _interop_require_default(require(\"../corePluginList\"));\nconst _configurePlugins = /*#__PURE__*/ _interop_require_default(require(\"./configurePlugins\"));\nconst _colors = /*#__PURE__*/ _interop_require_default(require(\"../public/colors\"));\nconst _defaults = require(\"./defaults\");\nconst _toPath = require(\"./toPath\");\nconst _normalizeConfig = require(\"./normalizeConfig\");\nconst _isPlainObject = /*#__PURE__*/ _interop_require_default(require(\"./isPlainObject\"));\nconst _cloneDeep = require(\"./cloneDeep\");\nconst _pluginUtils = require(\"./pluginUtils\");\nconst _withAlphaVariable = require(\"./withAlphaVariable\");\nconst _toColorValue = /*#__PURE__*/ _interop_require_default(require(\"./toColorValue\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction isFunction(input) {\n return typeof input === \"function\";\n}\nfunction mergeWith(target, ...sources) {\n let customizer = sources.pop();\n for (let source of sources){\n for(let k in source){\n let merged = customizer(target[k], source[k]);\n if (merged === undefined) {\n if ((0, _isPlainObject.default)(target[k]) && (0, _isPlainObject.default)(source[k])) {\n target[k] = mergeWith({}, target[k], source[k], customizer);\n } else {\n target[k] = source[k];\n }\n } else {\n target[k] = merged;\n }\n }\n }\n return target;\n}\nconst configUtils = {\n colors: _colors.default,\n negative (scale) {\n // TODO: Log that this function isn't really needed anymore?\n return Object.keys(scale).filter((key)=>scale[key] !== \"0\").reduce((negativeScale, key)=>{\n let negativeValue = (0, _negateValue.default)(scale[key]);\n if (negativeValue !== undefined) {\n negativeScale[`-${key}`] = negativeValue;\n }\n return negativeScale;\n }, {});\n },\n breakpoints (screens) {\n return Object.keys(screens).filter((key)=>typeof screens[key] === \"string\").reduce((breakpoints, key)=>({\n ...breakpoints,\n [`screen-${key}`]: screens[key]\n }), {});\n }\n};\nfunction value(valueToResolve, ...args) {\n return isFunction(valueToResolve) ? valueToResolve(...args) : valueToResolve;\n}\nfunction collectExtends(items) {\n return items.reduce((merged, { extend })=>{\n return mergeWith(merged, extend, (mergedValue, extendValue)=>{\n if (mergedValue === undefined) {\n return [\n extendValue\n ];\n }\n if (Array.isArray(mergedValue)) {\n return [\n extendValue,\n ...mergedValue\n ];\n }\n return [\n extendValue,\n mergedValue\n ];\n });\n }, {});\n}\nfunction mergeThemes(themes) {\n return {\n ...themes.reduce((merged, theme)=>(0, _defaults.defaults)(merged, theme), {}),\n // In order to resolve n config objects, we combine all of their `extend` properties\n // into arrays instead of objects so they aren't overridden.\n extend: collectExtends(themes)\n };\n}\nfunction mergeExtensionCustomizer(merged, value) {\n // When we have an array of objects, we do want to merge it\n if (Array.isArray(merged) && (0, _isPlainObject.default)(merged[0])) {\n return merged.concat(value);\n }\n // When the incoming value is an array, and the existing config is an object, prepend the existing object\n if (Array.isArray(value) && (0, _isPlainObject.default)(value[0]) && (0, _isPlainObject.default)(merged)) {\n return [\n merged,\n ...value\n ];\n }\n // Override arrays (for example for font-families, box-shadows, ...)\n if (Array.isArray(value)) {\n return value;\n }\n // Execute default behaviour\n return undefined;\n}\nfunction mergeExtensions({ extend , ...theme }) {\n return mergeWith(theme, extend, (themeValue, extensions)=>{\n // The `extend` property is an array, so we need to check if it contains any functions\n if (!isFunction(themeValue) && !extensions.some(isFunction)) {\n return mergeWith({}, themeValue, ...extensions, mergeExtensionCustomizer);\n }\n return (resolveThemePath, utils)=>mergeWith({}, ...[\n themeValue,\n ...extensions\n ].map((e)=>value(e, resolveThemePath, utils)), mergeExtensionCustomizer);\n });\n}\n/**\n *\n * @param {string} key\n * @return {Iterable<string[] & {alpha: string | undefined}>}\n */ function* toPaths(key) {\n let path = (0, _toPath.toPath)(key);\n if (path.length === 0) {\n return;\n }\n yield path;\n if (Array.isArray(key)) {\n return;\n }\n let pattern = /^(.*?)\\s*\\/\\s*([^/]+)$/;\n let matches = key.match(pattern);\n if (matches !== null) {\n let [, prefix, alpha] = matches;\n let newPath = (0, _toPath.toPath)(prefix);\n newPath.alpha = alpha;\n yield newPath;\n }\n}\nfunction resolveFunctionKeys(object) {\n // theme('colors.red.500 / 0.5') -> ['colors', 'red', '500 / 0', '5]\n const resolvePath = (key, defaultValue)=>{\n for (const path of toPaths(key)){\n let index = 0;\n let val = object;\n while(val !== undefined && val !== null && index < path.length){\n val = val[path[index++]];\n let shouldResolveAsFn = isFunction(val) && (path.alpha === undefined || index <= path.length - 1);\n val = shouldResolveAsFn ? val(resolvePath, configUtils) : val;\n }\n if (val !== undefined) {\n if (path.alpha !== undefined) {\n let normalized = (0, _pluginUtils.parseColorFormat)(val);\n return (0, _withAlphaVariable.withAlphaValue)(normalized, path.alpha, (0, _toColorValue.default)(normalized));\n }\n if ((0, _isPlainObject.default)(val)) {\n return (0, _cloneDeep.cloneDeep)(val);\n }\n return val;\n }\n }\n return defaultValue;\n };\n Object.assign(resolvePath, {\n theme: resolvePath,\n ...configUtils\n });\n return Object.keys(object).reduce((resolved, key)=>{\n resolved[key] = isFunction(object[key]) ? object[key](resolvePath, configUtils) : object[key];\n return resolved;\n }, {});\n}\nfunction extractPluginConfigs(configs) {\n let allConfigs = [];\n configs.forEach((config)=>{\n allConfigs = [\n ...allConfigs,\n config\n ];\n var _config_plugins;\n const plugins = (_config_plugins = config === null || config === void 0 ? void 0 : config.plugins) !== null && _config_plugins !== void 0 ? _config_plugins : [];\n if (plugins.length === 0) {\n return;\n }\n plugins.forEach((plugin)=>{\n if (plugin.__isOptionsFunction) {\n plugin = plugin();\n }\n var _plugin_config;\n allConfigs = [\n ...allConfigs,\n ...extractPluginConfigs([\n (_plugin_config = plugin === null || plugin === void 0 ? void 0 : plugin.config) !== null && _plugin_config !== void 0 ? _plugin_config : {}\n ])\n ];\n });\n });\n return allConfigs;\n}\nfunction resolveCorePlugins(corePluginConfigs) {\n const result = [\n ...corePluginConfigs\n ].reduceRight((resolved, corePluginConfig)=>{\n if (isFunction(corePluginConfig)) {\n return corePluginConfig({\n corePlugins: resolved\n });\n }\n return (0, _configurePlugins.default)(corePluginConfig, resolved);\n }, _corePluginList.default);\n return result;\n}\nfunction resolvePluginLists(pluginLists) {\n const result = [\n ...pluginLists\n ].reduceRight((resolved, pluginList)=>{\n return [\n ...resolved,\n ...pluginList\n ];\n }, []);\n return result;\n}\nfunction resolveConfig(configs) {\n let allConfigs = [\n ...extractPluginConfigs(configs),\n {\n prefix: \"\",\n important: false,\n separator: \":\"\n }\n ];\n var _t_theme, _c_plugins;\n return (0, _normalizeConfig.normalizeConfig)((0, _defaults.defaults)({\n theme: resolveFunctionKeys(mergeExtensions(mergeThemes(allConfigs.map((t)=>{\n return (_t_theme = t === null || t === void 0 ? void 0 : t.theme) !== null && _t_theme !== void 0 ? _t_theme : {};\n })))),\n corePlugins: resolveCorePlugins(allConfigs.map((c)=>c.corePlugins)),\n plugins: resolvePluginLists(configs.map((c)=>{\n return (_c_plugins = c === null || c === void 0 ? void 0 : c.plugins) !== null && _c_plugins !== void 0 ? _c_plugins : [];\n }))\n }, ...allConfigs));\n}\n","module.exports = {\n content: [],\n presets: [],\n darkMode: 'media', // or 'class'\n theme: {\n accentColor: ({ theme }) => ({\n ...theme('colors'),\n auto: 'auto',\n }),\n animation: {\n none: 'none',\n spin: 'spin 1s linear infinite',\n ping: 'ping 1s cubic-bezier(0, 0, 0.2, 1) infinite',\n pulse: 'pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite',\n bounce: 'bounce 1s infinite',\n },\n aria: {\n busy: 'busy=\"true\"',\n checked: 'checked=\"true\"',\n disabled: 'disabled=\"true\"',\n expanded: 'expanded=\"true\"',\n hidden: 'hidden=\"true\"',\n pressed: 'pressed=\"true\"',\n readonly: 'readonly=\"true\"',\n required: 'required=\"true\"',\n selected: 'selected=\"true\"',\n },\n aspectRatio: {\n auto: 'auto',\n square: '1 / 1',\n video: '16 / 9',\n },\n backdropBlur: ({ theme }) => theme('blur'),\n backdropBrightness: ({ theme }) => theme('brightness'),\n backdropContrast: ({ theme }) => theme('contrast'),\n backdropGrayscale: ({ theme }) => theme('grayscale'),\n backdropHueRotate: ({ theme }) => theme('hueRotate'),\n backdropInvert: ({ theme }) => theme('invert'),\n backdropOpacity: ({ theme }) => theme('opacity'),\n backdropSaturate: ({ theme }) => theme('saturate'),\n backdropSepia: ({ theme }) => theme('sepia'),\n backgroundColor: ({ theme }) => theme('colors'),\n backgroundImage: {\n none: 'none',\n 'gradient-to-t': 'linear-gradient(to top, var(--tw-gradient-stops))',\n 'gradient-to-tr': 'linear-gradient(to top right, var(--tw-gradient-stops))',\n 'gradient-to-r': 'linear-gradient(to right, var(--tw-gradient-stops))',\n 'gradient-to-br': 'linear-gradient(to bottom right, var(--tw-gradient-stops))',\n 'gradient-to-b': 'linear-gradient(to bottom, var(--tw-gradient-stops))',\n 'gradient-to-bl': 'linear-gradient(to bottom left, var(--tw-gradient-stops))',\n 'gradient-to-l': 'linear-gradient(to left, var(--tw-gradient-stops))',\n 'gradient-to-tl': 'linear-gradient(to top left, var(--tw-gradient-stops))',\n },\n backgroundOpacity: ({ theme }) => theme('opacity'),\n backgroundPosition: {\n bottom: 'bottom',\n center: 'center',\n left: 'left',\n 'left-bottom': 'left bottom',\n 'left-top': 'left top',\n right: 'right',\n 'right-bottom': 'right bottom',\n 'right-top': 'right top',\n top: 'top',\n },\n backgroundSize: {\n auto: 'auto',\n cover: 'cover',\n contain: 'contain',\n },\n blur: {\n 0: '0',\n none: '0',\n sm: '4px',\n DEFAULT: '8px',\n md: '12px',\n lg: '16px',\n xl: '24px',\n '2xl': '40px',\n '3xl': '64px',\n },\n borderColor: ({ theme }) => ({\n ...theme('colors'),\n DEFAULT: theme('colors.gray.200', 'currentColor'),\n }),\n borderOpacity: ({ theme }) => theme('opacity'),\n borderRadius: {\n none: '0px',\n sm: '0.125rem',\n DEFAULT: '0.25rem',\n md: '0.375rem',\n lg: '0.5rem',\n xl: '0.75rem',\n '2xl': '1rem',\n '3xl': '1.5rem',\n full: '9999px',\n },\n borderSpacing: ({ theme }) => ({\n ...theme('spacing'),\n }),\n borderWidth: {\n DEFAULT: '1px',\n 0: '0px',\n 2: '2px',\n 4: '4px',\n 8: '8px',\n },\n boxShadow: {\n sm: '0 1px 2px 0 rgb(0 0 0 / 0.05)',\n DEFAULT: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',\n md: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',\n lg: '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',\n xl: '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)',\n '2xl': '0 25px 50px -12px rgb(0 0 0 / 0.25)',\n inner: 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)',\n none: 'none',\n },\n boxShadowColor: ({ theme }) => theme('colors'),\n brightness: {\n 0: '0',\n 50: '.5',\n 75: '.75',\n 90: '.9',\n 95: '.95',\n 100: '1',\n 105: '1.05',\n 110: '1.1',\n 125: '1.25',\n 150: '1.5',\n 200: '2',\n },\n caretColor: ({ theme }) => theme('colors'),\n colors: ({ colors }) => ({\n inherit: colors.inherit,\n current: colors.current,\n transparent: colors.transparent,\n black: colors.black,\n white: colors.white,\n slate: colors.slate,\n gray: colors.gray,\n zinc: colors.zinc,\n neutral: colors.neutral,\n stone: colors.stone,\n red: colors.red,\n orange: colors.orange,\n amber: colors.amber,\n yellow: colors.yellow,\n lime: colors.lime,\n green: colors.green,\n emerald: colors.emerald,\n teal: colors.teal,\n cyan: colors.cyan,\n sky: colors.sky,\n blue: colors.blue,\n indigo: colors.indigo,\n violet: colors.violet,\n purple: colors.purple,\n fuchsia: colors.fuchsia,\n pink: colors.pink,\n rose: colors.rose,\n }),\n columns: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n '3xs': '16rem',\n '2xs': '18rem',\n xs: '20rem',\n sm: '24rem',\n md: '28rem',\n lg: '32rem',\n xl: '36rem',\n '2xl': '42rem',\n '3xl': '48rem',\n '4xl': '56rem',\n '5xl': '64rem',\n '6xl': '72rem',\n '7xl': '80rem',\n },\n container: {},\n content: {\n none: 'none',\n },\n contrast: {\n 0: '0',\n 50: '.5',\n 75: '.75',\n 100: '1',\n 125: '1.25',\n 150: '1.5',\n 200: '2',\n },\n cursor: {\n auto: 'auto',\n default: 'default',\n pointer: 'pointer',\n wait: 'wait',\n text: 'text',\n move: 'move',\n help: 'help',\n 'not-allowed': 'not-allowed',\n none: 'none',\n 'context-menu': 'context-menu',\n progress: 'progress',\n cell: 'cell',\n crosshair: 'crosshair',\n 'vertical-text': 'vertical-text',\n alias: 'alias',\n copy: 'copy',\n 'no-drop': 'no-drop',\n grab: 'grab',\n grabbing: 'grabbing',\n 'all-scroll': 'all-scroll',\n 'col-resize': 'col-resize',\n 'row-resize': 'row-resize',\n 'n-resize': 'n-resize',\n 'e-resize': 'e-resize',\n 's-resize': 's-resize',\n 'w-resize': 'w-resize',\n 'ne-resize': 'ne-resize',\n 'nw-resize': 'nw-resize',\n 'se-resize': 'se-resize',\n 'sw-resize': 'sw-resize',\n 'ew-resize': 'ew-resize',\n 'ns-resize': 'ns-resize',\n 'nesw-resize': 'nesw-resize',\n 'nwse-resize': 'nwse-resize',\n 'zoom-in': 'zoom-in',\n 'zoom-out': 'zoom-out',\n },\n divideColor: ({ theme }) => theme('borderColor'),\n divideOpacity: ({ theme }) => theme('borderOpacity'),\n divideWidth: ({ theme }) => theme('borderWidth'),\n dropShadow: {\n sm: '0 1px 1px rgb(0 0 0 / 0.05)',\n DEFAULT: ['0 1px 2px rgb(0 0 0 / 0.1)', '0 1px 1px rgb(0 0 0 / 0.06)'],\n md: ['0 4px 3px rgb(0 0 0 / 0.07)', '0 2px 2px rgb(0 0 0 / 0.06)'],\n lg: ['0 10px 8px rgb(0 0 0 / 0.04)', '0 4px 3px rgb(0 0 0 / 0.1)'],\n xl: ['0 20px 13px rgb(0 0 0 / 0.03)', '0 8px 5px rgb(0 0 0 / 0.08)'],\n '2xl': '0 25px 25px rgb(0 0 0 / 0.15)',\n none: '0 0 #0000',\n },\n fill: ({ theme }) => ({\n none: 'none',\n ...theme('colors'),\n }),\n flex: {\n 1: '1 1 0%',\n auto: '1 1 auto',\n initial: '0 1 auto',\n none: 'none',\n },\n flexBasis: ({ theme }) => ({\n auto: 'auto',\n ...theme('spacing'),\n '1/2': '50%',\n '1/3': '33.333333%',\n '2/3': '66.666667%',\n '1/4': '25%',\n '2/4': '50%',\n '3/4': '75%',\n '1/5': '20%',\n '2/5': '40%',\n '3/5': '60%',\n '4/5': '80%',\n '1/6': '16.666667%',\n '2/6': '33.333333%',\n '3/6': '50%',\n '4/6': '66.666667%',\n '5/6': '83.333333%',\n '1/12': '8.333333%',\n '2/12': '16.666667%',\n '3/12': '25%',\n '4/12': '33.333333%',\n '5/12': '41.666667%',\n '6/12': '50%',\n '7/12': '58.333333%',\n '8/12': '66.666667%',\n '9/12': '75%',\n '10/12': '83.333333%',\n '11/12': '91.666667%',\n full: '100%',\n }),\n flexGrow: {\n 0: '0',\n DEFAULT: '1',\n },\n flexShrink: {\n 0: '0',\n DEFAULT: '1',\n },\n fontFamily: {\n sans: [\n 'ui-sans-serif',\n 'system-ui',\n '-apple-system',\n 'BlinkMacSystemFont',\n '\"Segoe UI\"',\n 'Roboto',\n '\"Helvetica Neue\"',\n 'Arial',\n '\"Noto Sans\"',\n 'sans-serif',\n '\"Apple Color Emoji\"',\n '\"Segoe UI Emoji\"',\n '\"Segoe UI Symbol\"',\n '\"Noto Color Emoji\"',\n ],\n serif: ['ui-serif', 'Georgia', 'Cambria', '\"Times New Roman\"', 'Times', 'serif'],\n mono: [\n 'ui-monospace',\n 'SFMono-Regular',\n 'Menlo',\n 'Monaco',\n 'Consolas',\n '\"Liberation Mono\"',\n '\"Courier New\"',\n 'monospace',\n ],\n },\n fontSize: {\n xs: ['0.75rem', { lineHeight: '1rem' }],\n sm: ['0.875rem', { lineHeight: '1.25rem' }],\n base: ['1rem', { lineHeight: '1.5rem' }],\n lg: ['1.125rem', { lineHeight: '1.75rem' }],\n xl: ['1.25rem', { lineHeight: '1.75rem' }],\n '2xl': ['1.5rem', { lineHeight: '2rem' }],\n '3xl': ['1.875rem', { lineHeight: '2.25rem' }],\n '4xl': ['2.25rem', { lineHeight: '2.5rem' }],\n '5xl': ['3rem', { lineHeight: '1' }],\n '6xl': ['3.75rem', { lineHeight: '1' }],\n '7xl': ['4.5rem', { lineHeight: '1' }],\n '8xl': ['6rem', { lineHeight: '1' }],\n '9xl': ['8rem', { lineHeight: '1' }],\n },\n fontWeight: {\n thin: '100',\n extralight: '200',\n light: '300',\n normal: '400',\n medium: '500',\n semibold: '600',\n bold: '700',\n extrabold: '800',\n black: '900',\n },\n gap: ({ theme }) => theme('spacing'),\n gradientColorStops: ({ theme }) => theme('colors'),\n gradientColorStopPositions: {\n '0%': '0%',\n '5%': '5%',\n '10%': '10%',\n '15%': '15%',\n '20%': '20%',\n '25%': '25%',\n '30%': '30%',\n '35%': '35%',\n '40%': '40%',\n '45%': '45%',\n '50%': '50%',\n '55%': '55%',\n '60%': '60%',\n '65%': '65%',\n '70%': '70%',\n '75%': '75%',\n '80%': '80%',\n '85%': '85%',\n '90%': '90%',\n '95%': '95%',\n '100%': '100%',\n },\n grayscale: {\n 0: '0',\n DEFAULT: '100%',\n },\n gridAutoColumns: {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n },\n gridAutoRows: {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n },\n gridColumn: {\n auto: 'auto',\n 'span-1': 'span 1 / span 1',\n 'span-2': 'span 2 / span 2',\n 'span-3': 'span 3 / span 3',\n 'span-4': 'span 4 / span 4',\n 'span-5': 'span 5 / span 5',\n 'span-6': 'span 6 / span 6',\n 'span-7': 'span 7 / span 7',\n 'span-8': 'span 8 / span 8',\n 'span-9': 'span 9 / span 9',\n 'span-10': 'span 10 / span 10',\n 'span-11': 'span 11 / span 11',\n 'span-12': 'span 12 / span 12',\n 'span-full': '1 / -1',\n },\n gridColumnEnd: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n 13: '13',\n },\n gridColumnStart: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n 13: '13',\n },\n gridRow: {\n auto: 'auto',\n 'span-1': 'span 1 / span 1',\n 'span-2': 'span 2 / span 2',\n 'span-3': 'span 3 / span 3',\n 'span-4': 'span 4 / span 4',\n 'span-5': 'span 5 / span 5',\n 'span-6': 'span 6 / span 6',\n 'span-full': '1 / -1',\n },\n gridRowEnd: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n },\n gridRowStart: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n },\n gridTemplateColumns: {\n none: 'none',\n 1: 'repeat(1, minmax(0, 1fr))',\n 2: 'repeat(2, minmax(0, 1fr))',\n 3: 'repeat(3, minmax(0, 1fr))',\n 4: 'repeat(4, minmax(0, 1fr))',\n 5: 'repeat(5, minmax(0, 1fr))',\n 6: 'repeat(6, minmax(0, 1fr))',\n 7: 'repeat(7, minmax(0, 1fr))',\n 8: 'repeat(8, minmax(0, 1fr))',\n 9: 'repeat(9, minmax(0, 1fr))',\n 10: 'repeat(10, minmax(0, 1fr))',\n 11: 'repeat(11, minmax(0, 1fr))',\n 12: 'repeat(12, minmax(0, 1fr))',\n },\n gridTemplateRows: {\n none: 'none',\n 1: 'repeat(1, minmax(0, 1fr))',\n 2: 'repeat(2, minmax(0, 1fr))',\n 3: 'repeat(3, minmax(0, 1fr))',\n 4: 'repeat(4, minmax(0, 1fr))',\n 5: 'repeat(5, minmax(0, 1fr))',\n 6: 'repeat(6, minmax(0, 1fr))',\n },\n height: ({ theme }) => ({\n auto: 'auto',\n ...theme('spacing'),\n '1/2': '50%',\n '1/3': '33.333333%',\n '2/3': '66.666667%',\n '1/4': '25%',\n '2/4': '50%',\n '3/4': '75%',\n '1/5': '20%',\n '2/5': '40%',\n '3/5': '60%',\n '4/5': '80%',\n '1/6': '16.666667%',\n '2/6': '33.333333%',\n '3/6': '50%',\n '4/6': '66.666667%',\n '5/6': '83.333333%',\n full: '100%',\n screen: '100vh',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n }),\n hueRotate: {\n 0: '0deg',\n 15: '15deg',\n 30: '30deg',\n 60: '60deg',\n 90: '90deg',\n 180: '180deg',\n },\n inset: ({ theme }) => ({\n auto: 'auto',\n ...theme('spacing'),\n '1/2': '50%',\n '1/3': '33.333333%',\n '2/3': '66.666667%',\n '1/4': '25%',\n '2/4': '50%',\n '3/4': '75%',\n full: '100%',\n }),\n invert: {\n 0: '0',\n DEFAULT: '100%',\n },\n keyframes: {\n spin: {\n to: {\n transform: 'rotate(360deg)',\n },\n },\n ping: {\n '75%, 100%': {\n transform: 'scale(2)',\n opacity: '0',\n },\n },\n pulse: {\n '50%': {\n opacity: '.5',\n },\n },\n bounce: {\n '0%, 100%': {\n transform: 'translateY(-25%)',\n animationTimingFunction: 'cubic-bezier(0.8,0,1,1)',\n },\n '50%': {\n transform: 'none',\n animationTimingFunction: 'cubic-bezier(0,0,0.2,1)',\n },\n },\n },\n letterSpacing: {\n tighter: '-0.05em',\n tight: '-0.025em',\n normal: '0em',\n wide: '0.025em',\n wider: '0.05em',\n widest: '0.1em',\n },\n lineHeight: {\n none: '1',\n tight: '1.25',\n snug: '1.375',\n normal: '1.5',\n relaxed: '1.625',\n loose: '2',\n 3: '.75rem',\n 4: '1rem',\n 5: '1.25rem',\n 6: '1.5rem',\n 7: '1.75rem',\n 8: '2rem',\n 9: '2.25rem',\n 10: '2.5rem',\n },\n listStyleType: {\n none: 'none',\n disc: 'disc',\n decimal: 'decimal',\n },\n listStyleImage: {\n none: 'none',\n },\n margin: ({ theme }) => ({\n auto: 'auto',\n ...theme('spacing'),\n }),\n lineClamp: {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n },\n maxHeight: ({ theme }) => ({\n ...theme('spacing'),\n none: 'none',\n full: '100%',\n screen: '100vh',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n }),\n maxWidth: ({ theme, breakpoints }) => ({\n none: 'none',\n 0: '0rem',\n xs: '20rem',\n sm: '24rem',\n md: '28rem',\n lg: '32rem',\n xl: '36rem',\n '2xl': '42rem',\n '3xl': '48rem',\n '4xl': '56rem',\n '5xl': '64rem',\n '6xl': '72rem',\n '7xl': '80rem',\n full: '100%',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n prose: '65ch',\n ...breakpoints(theme('screens')),\n }),\n minHeight: {\n 0: '0px',\n full: '100%',\n screen: '100vh',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n },\n minWidth: {\n 0: '0px',\n full: '100%',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n },\n objectPosition: {\n bottom: 'bottom',\n center: 'center',\n left: 'left',\n 'left-bottom': 'left bottom',\n 'left-top': 'left top',\n right: 'right',\n 'right-bottom': 'right bottom',\n 'right-top': 'right top',\n top: 'top',\n },\n opacity: {\n 0: '0',\n 5: '0.05',\n 10: '0.1',\n 20: '0.2',\n 25: '0.25',\n 30: '0.3',\n 40: '0.4',\n 50: '0.5',\n 60: '0.6',\n 70: '0.7',\n 75: '0.75',\n 80: '0.8',\n 90: '0.9',\n 95: '0.95',\n 100: '1',\n },\n order: {\n first: '-9999',\n last: '9999',\n none: '0',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n outlineColor: ({ theme }) => theme('colors'),\n outlineOffset: {\n 0: '0px',\n 1: '1px',\n 2: '2px',\n 4: '4px',\n 8: '8px',\n },\n outlineWidth: {\n 0: '0px',\n 1: '1px',\n 2: '2px',\n 4: '4px',\n 8: '8px',\n },\n padding: ({ theme }) => theme('spacing'),\n placeholderColor: ({ theme }) => theme('colors'),\n placeholderOpacity: ({ theme }) => theme('opacity'),\n ringColor: ({ theme }) => ({\n DEFAULT: theme('colors.blue.500', '#3b82f6'),\n ...theme('colors'),\n }),\n ringOffsetColor: ({ theme }) => theme('colors'),\n ringOffsetWidth: {\n 0: '0px',\n 1: '1px',\n 2: '2px',\n 4: '4px',\n 8: '8px',\n },\n ringOpacity: ({ theme }) => ({\n DEFAULT: '0.5',\n ...theme('opacity'),\n }),\n ringWidth: {\n DEFAULT: '3px',\n 0: '0px',\n 1: '1px',\n 2: '2px',\n 4: '4px',\n 8: '8px',\n },\n rotate: {\n 0: '0deg',\n 1: '1deg',\n 2: '2deg',\n 3: '3deg',\n 6: '6deg',\n 12: '12deg',\n 45: '45deg',\n 90: '90deg',\n 180: '180deg',\n },\n saturate: {\n 0: '0',\n 50: '.5',\n 100: '1',\n 150: '1.5',\n 200: '2',\n },\n scale: {\n 0: '0',\n 50: '.5',\n 75: '.75',\n 90: '.9',\n 95: '.95',\n 100: '1',\n 105: '1.05',\n 110: '1.1',\n 125: '1.25',\n 150: '1.5',\n },\n screens: {\n sm: '640px',\n md: '768px',\n lg: '1024px',\n xl: '1280px',\n '2xl': '1536px',\n },\n scrollMargin: ({ theme }) => ({\n ...theme('spacing'),\n }),\n scrollPadding: ({ theme }) => theme('spacing'),\n sepia: {\n 0: '0',\n DEFAULT: '100%',\n },\n skew: {\n 0: '0deg',\n 1: '1deg',\n 2: '2deg',\n 3: '3deg',\n 6: '6deg',\n 12: '12deg',\n },\n space: ({ theme }) => ({\n ...theme('spacing'),\n }),\n spacing: {\n px: '1px',\n 0: '0px',\n 0.5: '0.125rem',\n 1: '0.25rem',\n 1.5: '0.375rem',\n 2: '0.5rem',\n 2.5: '0.625rem',\n 3: '0.75rem',\n 3.5: '0.875rem',\n 4: '1rem',\n 5: '1.25rem',\n 6: '1.5rem',\n 7: '1.75rem',\n 8: '2rem',\n 9: '2.25rem',\n 10: '2.5rem',\n 11: '2.75rem',\n 12: '3rem',\n 14: '3.5rem',\n 16: '4rem',\n 20: '5rem',\n 24: '6rem',\n 28: '7rem',\n 32: '8rem',\n 36: '9rem',\n 40: '10rem',\n 44: '11rem',\n 48: '12rem',\n 52: '13rem',\n 56: '14rem',\n 60: '15rem',\n 64: '16rem',\n 72: '18rem',\n 80: '20rem',\n 96: '24rem',\n },\n stroke: ({ theme }) => ({\n none: 'none',\n ...theme('colors'),\n }),\n strokeWidth: {\n 0: '0',\n 1: '1',\n 2: '2',\n },\n supports: {},\n data: {},\n textColor: ({ theme }) => theme('colors'),\n textDecorationColor: ({ theme }) => theme('colors'),\n textDecorationThickness: {\n auto: 'auto',\n 'from-font': 'from-font',\n 0: '0px',\n 1: '1px',\n 2: '2px',\n 4: '4px',\n 8: '8px',\n },\n textIndent: ({ theme }) => ({\n ...theme('spacing'),\n }),\n textOpacity: ({ theme }) => theme('opacity'),\n textUnderlineOffset: {\n auto: 'auto',\n 0: '0px',\n 1: '1px',\n 2: '2px',\n 4: '4px',\n 8: '8px',\n },\n transformOrigin: {\n center: 'center',\n top: 'top',\n 'top-right': 'top right',\n right: 'right',\n 'bottom-right': 'bottom right',\n bottom: 'bottom',\n 'bottom-left': 'bottom left',\n left: 'left',\n 'top-left': 'top left',\n },\n transitionDelay: {\n 0: '0s',\n 75: '75ms',\n 100: '100ms',\n 150: '150ms',\n 200: '200ms',\n 300: '300ms',\n 500: '500ms',\n 700: '700ms',\n 1000: '1000ms',\n },\n transitionDuration: {\n DEFAULT: '150ms',\n 0: '0s',\n 75: '75ms',\n 100: '100ms',\n 150: '150ms',\n 200: '200ms',\n 300: '300ms',\n 500: '500ms',\n 700: '700ms',\n 1000: '1000ms',\n },\n transitionProperty: {\n none: 'none',\n all: 'all',\n DEFAULT:\n 'color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter',\n colors: 'color, background-color, border-color, text-decoration-color, fill, stroke',\n opacity: 'opacity',\n shadow: 'box-shadow',\n transform: 'transform',\n },\n transitionTimingFunction: {\n DEFAULT: 'cubic-bezier(0.4, 0, 0.2, 1)',\n linear: 'linear',\n in: 'cubic-bezier(0.4, 0, 1, 1)',\n out: 'cubic-bezier(0, 0, 0.2, 1)',\n 'in-out': 'cubic-bezier(0.4, 0, 0.2, 1)',\n },\n translate: ({ theme }) => ({\n ...theme('spacing'),\n '1/2': '50%',\n '1/3': '33.333333%',\n '2/3': '66.666667%',\n '1/4': '25%',\n '2/4': '50%',\n '3/4': '75%',\n full: '100%',\n }),\n width: ({ theme }) => ({\n auto: 'auto',\n ...theme('spacing'),\n '1/2': '50%',\n '1/3': '33.333333%',\n '2/3': '66.666667%',\n '1/4': '25%',\n '2/4': '50%',\n '3/4': '75%',\n '1/5': '20%',\n '2/5': '40%',\n '3/5': '60%',\n '4/5': '80%',\n '1/6': '16.666667%',\n '2/6': '33.333333%',\n '3/6': '50%',\n '4/6': '66.666667%',\n '5/6': '83.333333%',\n '1/12': '8.333333%',\n '2/12': '16.666667%',\n '3/12': '25%',\n '4/12': '33.333333%',\n '5/12': '41.666667%',\n '6/12': '50%',\n '7/12': '58.333333%',\n '8/12': '66.666667%',\n '9/12': '75%',\n '10/12': '83.333333%',\n '11/12': '91.666667%',\n full: '100%',\n screen: '100vw',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n }),\n willChange: {\n auto: 'auto',\n scroll: 'scroll-position',\n contents: 'contents',\n transform: 'transform',\n },\n zIndex: {\n auto: 'auto',\n 0: '0',\n 10: '10',\n 20: '20',\n 30: '30',\n 40: '40',\n 50: '50',\n },\n },\n plugins: [],\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return getAllConfigs;\n }\n});\nconst _configfull = /*#__PURE__*/ _interop_require_default(require(\"../../stubs/config.full.js\"));\nconst _featureFlags = require(\"../featureFlags\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction getAllConfigs(config) {\n var _config_presets;\n const configs = ((_config_presets = config === null || config === void 0 ? void 0 : config.presets) !== null && _config_presets !== void 0 ? _config_presets : [\n _configfull.default\n ]).slice().reverse().flatMap((preset)=>getAllConfigs(preset instanceof Function ? preset() : preset));\n const features = {\n // Add experimental configs here...\n respectDefaultRingColorOpacity: {\n theme: {\n ringColor: ({ theme })=>({\n DEFAULT: \"#3b82f67f\",\n ...theme(\"colors\")\n })\n }\n },\n disableColorOpacityUtilitiesByDefault: {\n corePlugins: {\n backgroundOpacity: false,\n borderOpacity: false,\n divideOpacity: false,\n placeholderOpacity: false,\n ringOpacity: false,\n textOpacity: false\n }\n }\n };\n const experimentals = Object.keys(features).filter((feature)=>(0, _featureFlags.flagEnabled)(config, feature)).map((feature)=>features[feature]);\n return [\n config,\n ...experimentals,\n ...configs\n ];\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return resolveConfig;\n }\n});\nconst _resolveConfig = /*#__PURE__*/ _interop_require_default(require(\"../util/resolveConfig\"));\nconst _getAllConfigs = /*#__PURE__*/ _interop_require_default(require(\"../util/getAllConfigs\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction resolveConfig(...configs) {\n let [, ...defaultConfigs] = (0, _getAllConfigs.default)(configs[0]);\n return (0, _resolveConfig.default)([\n ...configs,\n ...defaultConfigs\n ]);\n}\n","let resolveConfig = require('./lib/public/resolve-config')\nmodule.exports = (resolveConfig.__esModule ? resolveConfig : { default: resolveConfig }).default\n","let colors = require('./lib/public/colors')\nmodule.exports = (colors.__esModule ? colors : { default: colors }).default\n","import * as TailwindColors from \"tailwindcss/colors\"\r\n\r\nexport const BrandColors = {\r\n 50: \"#FCE3E4\",\r\n 100: \"#F9CDCE\",\r\n 200: \"#F39699\",\r\n 300: \"#ED6368\",\r\n 400: \"#E72C32\",\r\n 500: \"#C4161C\",\r\n 600: \"#9C1216\",\r\n 700: \"#770D11\",\r\n 800: \"#4E090B\",\r\n 900: \"#290506\",\r\n}\r\n\r\nconst customColors = {\r\n onprimary: TailwindColors.white,\r\n warning: TailwindColors.amber,\r\n error: TailwindColors.rose,\r\n info: TailwindColors.cyan,\r\n success: TailwindColors.lime,\r\n primary: TailwindColors.sky,\r\n brand: BrandColors,\r\n}\r\n\r\nexport const CustomColors = {\r\n ...customColors,\r\n // Warning\r\n warning: customColors.warning[\"500\"],\r\n \"warning-darken\": customColors.warning[\"600\"],\r\n \"warning-lighten\": customColors.warning[\"400\"],\r\n // Success\r\n success: customColors.success[\"500\"],\r\n \"success-darken\": customColors.success[\"600\"],\r\n \"success-lighten\": customColors.success[\"400\"],\r\n // Error\r\n error: customColors.error[\"500\"],\r\n \"error-darken\": customColors.error[\"600\"],\r\n \"error-lighten\": customColors.error[\"400\"],\r\n // Info\r\n info: customColors.info[\"500\"],\r\n \"info-darken\": customColors.info[\"600\"],\r\n \"info-lighten\": customColors.info[\"400\"],\r\n // Primary\r\n primary: customColors.primary[\"500\"],\r\n \"primary-darken\": customColors.primary[\"600\"],\r\n \"primary-lighten\": customColors.primary[\"400\"],\r\n // Surfaces\r\n onsurface: TailwindColors.slate[\"500\"],\r\n onbackground: TailwindColors.slate[\"700\"],\r\n surface: TailwindColors.slate[\"50\"],\r\n background: TailwindColors.white,\r\n}\r\n\r\nexport default {\r\n prefix: \"e-\",\r\n corePlugins: {\r\n preflight: false,\r\n },\r\n content: [\"./src/**/*.{html,js,vue,ts}\"],\r\n theme: {\r\n extend: {\r\n colors: CustomColors,\r\n maxWidth: {\r\n \"1/12\": \"8.333333333%\",\r\n \"2/12\": \"16.666666666%\",\r\n \"3/12\": \"25%\",\r\n \"4/12\": \"33.333333333%\",\r\n \"5/12\": \"41.666666667%\",\r\n \"6/12\": \"50%\",\r\n \"7/12\": \"58.333333334%\",\r\n \"8/12\": \"66.666666666%\",\r\n \"9/12\": \"75%\",\r\n \"10/12\": \"83.333333334%\",\r\n \"11/12\": \"91.666666666%\",\r\n \"12/12\": \"100%\",\r\n },\r\n },\r\n fontSize: {\r\n xs: \"0.75rem\",\r\n sm: \"0.875rem\",\r\n base: \"1rem\",\r\n lg: \"1.125rem\",\r\n xl: \"1.25rem\",\r\n \"2xl\": \"1.5rem\",\r\n \"3xl\": \"1.875rem\",\r\n \"4xl\": \"2.25rem\",\r\n \"5xl\": \"3rem\",\r\n \"6xl\": \"3.75rem\",\r\n \"7xl\": \"4.5rem\",\r\n \"8xl\": \"6rem\",\r\n \"9xl\": \"8rem\",\r\n },\r\n },\r\n plugins: [],\r\n safelist: [\r\n {\r\n pattern: /e-w-(full|auto)/,\r\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"],\r\n },\r\n {\r\n pattern: /e-grow/,\r\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"],\r\n },\r\n {\r\n pattern: /e-basis-(\\d{1,2}\\/\\d{1,2}|full|auto|0)/,\r\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"],\r\n },\r\n {\r\n pattern: /^!?e-max-w-(\\d{1,2}\\/\\d{1,2})/,\r\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"],\r\n },\r\n {\r\n pattern: /e-offset-(1[0-2]|[1-9])/,\r\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"],\r\n },\r\n {\r\n pattern: /e-items-(start|center|end|baseline|stretch)/,\r\n },\r\n {\r\n pattern: /e-self-(start|center|end|baseline|stretch)/,\r\n },\r\n {\r\n pattern:\r\n /e-justify-(around|between|center|end|evenly|normal|start|stretch)/,\r\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"],\r\n },\r\n {\r\n pattern:\r\n /e-content-(around|baseline|between|center|end|evenly|normal|start|stretch)/,\r\n },\r\n ],\r\n}\r\n","import resolveConfig from \"tailwindcss/resolveConfig\"\r\nimport tailwindConfig from \"../config\"\r\nimport { Size, BaseColor } from \"@/types\"\r\n\r\nexport const fullConfig = resolveConfig(tailwindConfig) as any\r\n\r\nexport const TextSizes = fullConfig.theme.fontSize\r\n\r\nexport const Colors = fullConfig.theme.colors\r\n\r\nexport const BadgeSizes = [\r\n Size.dot,\r\n Size.xs,\r\n Size.sm,\r\n Size.md,\r\n Size.lg,\r\n Size.xl,\r\n] as const\r\n\r\nexport const AvatarSizes = [\r\n Size.xs,\r\n Size.sm,\r\n Size.md,\r\n Size.lg,\r\n Size.xl,\r\n Size[\"2xl\"],\r\n] as const\r\n\r\nexport const IconSizes = [\r\n Size.xs,\r\n Size.sm,\r\n Size.md,\r\n Size.base,\r\n Size.lg,\r\n Size.xl,\r\n Size[\"2xl\"],\r\n Size[\"3xl\"],\r\n Size[\"4xl\"],\r\n Size[\"5xl\"],\r\n Size[\"6xl\"],\r\n Size[\"7xl\"],\r\n Size[\"8xl\"],\r\n Size[\"9xl\"],\r\n] as const\r\n\r\nexport const BadgeColors = [\r\n BaseColor.warning,\r\n BaseColor.error,\r\n BaseColor.info,\r\n BaseColor.success,\r\n BaseColor.primary,\r\n BaseColor.default,\r\n] as const\r\n\r\nexport const EVENTS = [\r\n \"play\",\r\n \"pause\",\r\n \"ended\",\r\n \"loadeddata\",\r\n \"waiting\",\r\n \"playing\",\r\n \"timeupdate\",\r\n \"canplay\",\r\n \"canplaythrough\",\r\n \"statechanged\",\r\n]\r\n\r\nexport default {}\r\n","\r\nimport Vue, { PropType } from \"vue\"\r\nimport { IconSizes } from \"@/constants\"\r\nimport { BaseColor, Size, TailwindColorClass, TIconSize } from \"@/types\"\r\n\r\nexport default Vue.extend({\r\n name: \"EIcon\",\r\n props: {\r\n icon: {\r\n type: String,\r\n default: \"\",\r\n },\r\n color: {\r\n type: String as PropType<TailwindColorClass>,\r\n default: BaseColor.default,\r\n },\r\n size: {\r\n type: String as PropType<TIconSize>,\r\n default: Size.sm,\r\n },\r\n },\r\n computed: {\r\n sizes(): Record<Size, string> {\r\n return IconSizes.reduce((acc, s) => {\r\n return {\r\n ...acc,\r\n [s]: `e-text-${s}`,\r\n }\r\n }, {}) as Record<Size, string>\r\n },\r\n iconClasses(): string[] {\r\n const sizeClasses = this.sizes[this.size] || this.sizes[Size.sm]\r\n const iconClasses = `${\r\n this.icon?.split(\" \")?.length > 1 ? this.icon : `fa fa-${this.icon}`\r\n }`\r\n const color = this.color\r\n\r\n return [\r\n \"e-inline-flex e-items-center e-justify-center e-rounded-full\",\r\n color,\r\n iconClasses,\r\n sizeClasses,\r\n ]\r\n },\r\n },\r\n})\r\n","\r\nimport Vue, { PropType } from \"vue\"\r\nimport { Size } from \"@/types\"\r\nimport { TextSizes, Colors } from \"@/constants\"\r\n\r\nexport default Vue.extend({\r\n name: \"ESpinner\",\r\n props: {\r\n dark: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n color: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n animationDuration: {\r\n type: [Number, String],\r\n default: 1000,\r\n },\r\n size: {\r\n type: String as PropType<Size>,\r\n default: Size.base,\r\n },\r\n opacity: {\r\n type: [String, Number],\r\n default: 1,\r\n },\r\n },\r\n data() {\r\n return {\r\n sizes: TextSizes,\r\n colors: Colors,\r\n }\r\n },\r\n computed: {\r\n computedSize(): number {\r\n return this.sizes[Size[this.size]] || this.size || this.sizes[Size.base]\r\n },\r\n fill(): { primary: string; secondary: string } {\r\n let fill = {\r\n primary: this.colors.brand[500],\r\n secondary: this.colors.neutral[300],\r\n }\r\n\r\n if (this.dark && !this.color) {\r\n fill = {\r\n primary: this.colors.neutral[100],\r\n secondary: this.colors.neutral[100],\r\n }\r\n }\r\n\r\n if (!this.dark && this.color) {\r\n fill = {\r\n primary: this.colors.brand[500],\r\n secondary: this.colors.neutral[950],\r\n }\r\n }\r\n\r\n if (!this.dark && !this.color) {\r\n fill = {\r\n primary: this.colors.neutral[200],\r\n secondary: this.colors.neutral[200],\r\n }\r\n }\r\n\r\n return fill\r\n },\r\n },\r\n methods: {\r\n getNthPathStyle(index: number) {\r\n const animationDuration =\r\n typeof this.animationDuration === \"string\"\r\n ? Number.parseInt(this.animationDuration)\r\n : this.animationDuration\r\n\r\n return {\r\n animationDuration: `${this.animationDuration}ms`,\r\n animationDelay: `${(index / 10) * animationDuration}ms`,\r\n fill: `${this.fill[index % 2 === 0 ? \"primary\" : \"secondary\"]}`,\r\n }\r\n },\r\n },\r\n})\r\n","\r\nimport Vue, { PropType } from \"vue\"\r\nimport { FlexAlignContent, FlexAlignItems, FlexJustifyContent } from \"@/types\"\r\n\r\nexport default Vue.extend({\r\n props: {\r\n align: {\r\n type: String as PropType<FlexAlignItems>,\r\n default: undefined,\r\n },\r\n alignContent: {\r\n type: String as PropType<FlexAlignContent>,\r\n default: undefined,\r\n },\r\n justify: {\r\n type: String as PropType<FlexJustifyContent>,\r\n default: undefined,\r\n },\r\n justifyXs: {\r\n type: String as PropType<FlexJustifyContent>,\r\n default: undefined,\r\n },\r\n justifySm: {\r\n type: String as PropType<FlexJustifyContent>,\r\n default: undefined,\r\n },\r\n justifyMd: {\r\n type: String as PropType<FlexJustifyContent>,\r\n default: undefined,\r\n },\r\n justifyLg: {\r\n type: String as PropType<FlexJustifyContent>,\r\n default: undefined,\r\n },\r\n justifyXl: {\r\n type: String as PropType<FlexJustifyContent>,\r\n default: undefined,\r\n },\r\n noGutters: {\r\n type: Boolean as PropType<boolean>,\r\n default: false,\r\n },\r\n },\r\n computed: {\r\n justifyClasses(): Record<string, boolean> {\r\n return {\r\n [`e-justify-${this.justify}`]: !!this.justify,\r\n [`xs:e-justify-${this.justifySm}`]: !!this.justifySm,\r\n [`sm:e-justify-${this.justifySm}`]: !!this.justifySm,\r\n [`md:e-justify-${this.justifyMd}`]: !!this.justifyMd,\r\n [`lg:e-justify-${this.justifyLg}`]: !!this.justifyLg,\r\n [`xl:e-justify-${this.justifyXl}`]: !!this.justifyXl,\r\n }\r\n },\r\n rowClasses(): Record<string, boolean> {\r\n return {\r\n ...(this.align ? { [`e-items-${this.align}`]: true } : {}),\r\n ...(this.alignContent\r\n ? { [`e-content-${this.alignContent}`]: true }\r\n : {}),\r\n ...(this.noGutters ? { [\"e-row--no-gutters\"]: true } : {}),\r\n ...this.justifyClasses,\r\n }\r\n },\r\n },\r\n})\r\n","\r\nimport Vue, { PropType } from \"vue\"\r\nimport { FlexAlignSelf } from \"@/types\"\r\n\r\nexport default Vue.extend({\r\n props: {\r\n alignSelf: {\r\n type: String as PropType<FlexAlignSelf>,\r\n default: \"auto\",\r\n },\r\n cols: {\r\n type: [Boolean, String, Number] as PropType<boolean | string | number>,\r\n default: undefined,\r\n },\r\n lg: {\r\n type: [Boolean, String, Number] as PropType<boolean | string | number>,\r\n default: undefined,\r\n },\r\n md: {\r\n type: [Boolean, String, Number] as PropType<boolean | string | number>,\r\n default: undefined,\r\n },\r\n offset: {\r\n type: [String, Number] as PropType<string | number>,\r\n default: undefined,\r\n },\r\n offsetLg: {\r\n type: [String, Number] as PropType<string | number>,\r\n default: undefined,\r\n },\r\n offsetMd: {\r\n type: [String, Number] as PropType<string | number>,\r\n default: undefined,\r\n },\r\n offsetSm: {\r\n type: [String, Number] as PropType<string | number>,\r\n default: undefined,\r\n },\r\n offsetXs: {\r\n type: [String, Number] as PropType<string | number>,\r\n default: undefined,\r\n },\r\n offsetXl: {\r\n type: [String, Number] as PropType<string | number>,\r\n default: undefined,\r\n },\r\n sm: {\r\n type: [Boolean, String, Number] as PropType<boolean | string | number>,\r\n default: undefined,\r\n },\r\n xs: {\r\n type: [Boolean, String, Number] as PropType<boolean | string | number>,\r\n default: undefined,\r\n },\r\n xl: {\r\n type: [Boolean, String, Number] as PropType<boolean | string | number>,\r\n default: undefined,\r\n },\r\n },\r\n computed: {\r\n colClasses(): Record<string, boolean> {\r\n return {\r\n // Align self\r\n ...(this.alignSelf ? { [`e-self-${this.alignSelf}`]: true } : {}),\r\n\r\n // cols=\"auto\"\r\n [this.autoClasses(\"xs:\", this.xs)]: this.isSizePropAuto(this.xs),\r\n [this.autoClasses(\"sm:\", this.sm)]: this.isSizePropAuto(this.sm),\r\n [this.autoClasses(\"md:\", this.md)]: this.isSizePropAuto(this.md),\r\n [this.autoClasses(\"lg:\", this.lg)]: this.isSizePropAuto(this.lg),\r\n [this.autoClasses(\"xl:e\", this.xl)]: this.isSizePropAuto(this.xl),\r\n [this.autoClasses(\"\", this.cols)]: this.isSizePropAuto(this.cols, true),\r\n\r\n // cols=\"12\"\r\n \"xs:e-basis-full xs:!e-max-w-12/12\": this.xs === 12 || this.xs === \"12\",\r\n \"sm:e-basis-full sm:!e-max-w-12/12\": this.sm === 12 || this.sm === \"12\",\r\n \"md:e-basis-full md:!e-max-w-12/12\": this.md === 12 || this.md === \"12\",\r\n \"lg:e-basis-full lg:!e-max-w-12/12\": this.lg === 12 || this.lg === \"12\",\r\n \"xl:e-basis-full xl:!e-max-w-12/12\": this.xl === 12 || this.xl === \"12\",\r\n \"e-basis-full e-max-w-12/12\": this.cols === 12 || this.cols === \"12\",\r\n\r\n // cols=\"n\"\r\n [`xs:e-basis-${this.xs}/12 xs:!e-max-w-${this.xs}/12`]:\r\n this.isSizePropertyNumeric(this.xs),\r\n [`sm:e-basis-${this.sm}/12 sm:!e-max-w-${this.sm}/12`]:\r\n this.isSizePropertyNumeric(this.sm),\r\n [`md:e-basis-${this.md}/12 md:!e-max-w-${this.md}/12`]:\r\n this.isSizePropertyNumeric(this.md),\r\n [`lg:e-basis-${this.lg}/12 lg:!e-max-w-${this.lg}/12`]:\r\n this.isSizePropertyNumeric(this.lg),\r\n [`xl:e-basis-${this.xl}/12 xl:!e-max-w-${this.xl}/12`]:\r\n this.isSizePropertyNumeric(this.xl),\r\n [`e-basis-${this.cols}/12 !e-max-w-${this.cols}/12`]:\r\n this.isSizePropertyNumeric(this.cols),\r\n\r\n // offset=\"n\"\r\n [`xs:e-offset-${this.offsetXs}`]: this.offsetXs !== undefined,\r\n [`sm:e-offset-${this.offsetSm}`]: this.offsetSm !== undefined,\r\n [`md:e-offset-${this.offsetMd}`]: this.offsetMd !== undefined,\r\n [`lg:e-offset-${this.offsetLg}`]: this.offsetLg !== undefined,\r\n [`xl:e-offset-${this.offsetXl}`]: this.offsetXl !== undefined,\r\n [`e-offset-${this.offset}`]: this.offset !== undefined,\r\n }\r\n },\r\n },\r\n methods: {\r\n autoClasses(prefix: string, value: boolean | string | number) {\r\n const basis = value === \"auto\" ? \"auto\" : \"0\"\r\n const grow = value === \"auto\" ? \"-0\" : \"\"\r\n const width = value === \"auto\" ? \"auto\" : \"full\"\r\n\r\n return `${prefix}e-basis-${basis} ${prefix}e-grow${grow} ${prefix}e-w-${width}`\r\n },\r\n isSizePropAuto(\r\n prop: boolean | string | number | undefined,\r\n acceptUndefined = false\r\n ) {\r\n return (\r\n prop === \"auto\" ||\r\n prop === 0 ||\r\n prop === \"0\" ||\r\n (acceptUndefined && !prop)\r\n )\r\n },\r\n isSizePropertyNumeric(prop: boolean | string | number | undefined) {\r\n const n = Number.parseInt(prop as string)\r\n\r\n return prop !== \"auto\" && !isNaN(n) && n >= 1 && n < 12\r\n },\r\n },\r\n})\r\n","import V from \"vue\";\nimport * as u from \"d3\";\nimport K from \"moment-timezone\";\nvar T = /* @__PURE__ */ ((e) => (e.dot = \"dot\", e.xs = \"xs\", e.sm = \"sm\", e.md = \"base\", e.base = \"base\", e.lg = \"lg\", e.xl = \"xl\", e[\"2xl\"] = \"2xl\", e[\"3xl\"] = \"3xl\", e[\"4xl\"] = \"4xl\", e[\"5xl\"] = \"5xl\", e[\"6xl\"] = \"6xl\", e[\"7xl\"] = \"7xl\", e[\"8xl\"] = \"8xl\", e[\"9xl\"] = \"9xl\", e))(T || {}), j = /* @__PURE__ */ ((e) => (e.warning = \"warning\", e.error = \"error\", e.info = \"info\", e.success = \"success\", e.primary = \"primary\", e.brand = \"brand\", e.default = \"default\", e))(j || {}), ee = /* @__PURE__ */ ((e) => (e.overview = \"overview\", e.detailed = \"detailed\", e.detailedBackground = \"detailedBackground\", e))(ee || {});\nconst et = V.extend({\n name: \"EBadge\",\n props: {\n text: {\n type: String,\n default: \"\"\n },\n color: {\n type: String,\n default: j.default\n },\n size: {\n type: String,\n default: T.base\n }\n },\n data() {\n return {\n colors: {\n [j.error]: \"e-bg-rose-500 e-text-white\",\n [j.info]: \"e-bg-cyan-500 e-text-white\",\n [j.warning]: \"e-bg-amber-500 e-text-white\",\n [j.primary]: \"e-bg-sky-500 e-text-white\",\n [j.default]: \"e-bg-slate-300 e-text-white\",\n [j.success]: \"e-bg-lime-500 e-text-white\"\n },\n sizes: {\n [T.dot]: \"e-w-2 e-h-2\",\n [T.xs]: \"e-w-3 e-h-3\",\n [T.sm]: \"e-w-4 e-h-4\",\n [T.md]: \"e-w-5 e-h-5\",\n [T.lg]: \"e-min-w-[2rem] e-max-w-[4rem] e-px-1 e-h-6 e-text-sm e-font-medium\",\n [T.xl]: \"e-min-w-[3rem] e-max-w-[5rem] e-px-1 e-h-8 e-text-base e-font-medium\"\n }\n };\n },\n computed: {\n badgeClasses() {\n const e = this.colors[this.color] || this.colors[j.default], t = this.sizes[this.size] || this.sizes[T.md];\n return [\n \"e-flex e-items-center e-justify-center e-rounded-full\",\n e,\n t\n ];\n },\n showText() {\n return [T.lg, T.xl].includes(this.size);\n }\n }\n});\nfunction q(e, t, r, n, a, o, i, c) {\n var l = typeof e == \"function\" ? e.options : e;\n t && (l.render = t, l.staticRenderFns = r, l._compiled = !0), n && (l.functional = !0), o && (l._scopeId = \"data-v-\" + o);\n var s;\n if (i ? (s = function(h) {\n h = h || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !h && typeof __VUE_SSR_CONTEXT__ != \"undefined\" && (h = __VUE_SSR_CONTEXT__), a && a.call(this, h), h && h._registeredComponents && h._registeredComponents.add(i);\n }, l._ssrRegister = s) : a && (s = c ? function() {\n a.call(\n this,\n (l.functional ? this.parent : this).$root.$options.shadowRoot\n );\n } : a), s)\n if (l.functional) {\n l._injectStyles = s;\n var d = l.render;\n l.render = function(E, y) {\n return s.call(y), d(E, y);\n };\n } else {\n var v = l.beforeCreate;\n l.beforeCreate = v ? [].concat(v, s) : [s];\n }\n return {\n exports: e,\n options: l\n };\n}\nvar tt = function() {\n var t = this, r = t._self._c;\n return r(\"span\", { staticClass: \"e-badge\", class: t.badgeClasses }, [t.showText ? r(\"span\", [t._v(t._s(t.text))]) : t._e()]);\n}, rt = [], nt = /* @__PURE__ */ q(\n et,\n tt,\n rt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Ae = nt.exports, it = V.extend({\n name: \"EAvatar\",\n components: {\n Badge: Ae\n },\n props: {\n size: {\n type: String,\n default: T.md\n },\n showBadge: {\n type: Boolean,\n default: !1\n },\n badgeColor: {\n type: String,\n default: j.error\n },\n badgeText: {\n type: String,\n default: \"\"\n },\n badgeSize: {\n type: String,\n default: T.md\n },\n image: {\n type: String,\n default: \"\"\n }\n },\n data() {\n return {\n sizes: {\n [T.xs]: \"e-w-8 e-h-8 e-text-xs\",\n [T.sm]: \"e-w-10 e-h-10 e-text-sm\",\n [T.md]: \"e-w-14 e-h-14 e-text-base\",\n [T.lg]: \"e-w-20 e-h-20 e-text-2xl\",\n [T.xl]: \"e-w-28 e-h-28 e-text-3xl\",\n [T[\"2xl\"]]: \"e-w-36 e-h-36 e-text-5xl\"\n }\n };\n },\n computed: {\n avatarClasses() {\n return [\n \"e-flex e-items-center e-justify-center e-rounded-full e-bg-purple-500 e-text-white e-font-medium\",\n this.sizes[this.size] || this.sizes[T.xs]\n ];\n }\n }\n});\nvar st = function() {\n var t = this, r = t._self._c;\n return r(\"div\", { staticClass: \"e-avatar e-relative\", class: t.avatarClasses }, [t._t(\"default\", function() {\n return [t.image ? r(\"img\", { staticClass: \"e-avatar__image e-w-full e-h-full e-object-cover e-rounded-full\", attrs: { src: t.image } }) : t._e()];\n }), t.showBadge ? r(\"div\", { staticClass: \"e-avatar__badge e-absolute e-top-0 e-right-0\" }, [t._t(\"badge\", function() {\n return [r(\"Badge\", { attrs: { text: t.badgeText, color: t.badgeColor, size: t.badgeSize } })];\n })], 2) : t._e()], 2);\n}, at = [], ot = /* @__PURE__ */ q(\n it,\n st,\n at,\n !1,\n null,\n null,\n null,\n null\n);\nconst lt = ot.exports;\nfunction ut(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar Fe = {}, Me = {}, fe = {};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"default\", {\n enumerable: !0,\n get: function() {\n return t;\n }\n });\n function t(r) {\n if (r = `${r}`, r === \"0\")\n return \"0\";\n if (/^[+-]?(\\d+|\\d*\\.\\d+)(e[+-]?\\d+)?(%|\\w+)?$/.test(r))\n return r.replace(/^[+-]?/, (a) => a === \"-\" ? \"\" : \"-\");\n let n = [\n \"var\",\n \"calc\",\n \"min\",\n \"max\",\n \"clamp\"\n ];\n for (const a of n)\n if (r.includes(`${a}(`))\n return `calc(${r} * -1)`;\n }\n})(fe);\nvar ze = {};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"default\", {\n enumerable: !0,\n get: function() {\n return t;\n }\n });\n const t = [\n \"preflight\",\n \"container\",\n \"accessibility\",\n \"pointerEvents\",\n \"visibility\",\n \"position\",\n \"inset\",\n \"isolation\",\n \"zIndex\",\n \"order\",\n \"gridColumn\",\n \"gridColumnStart\",\n \"gridColumnEnd\",\n \"gridRow\",\n \"gridRowStart\",\n \"gridRowEnd\",\n \"float\",\n \"clear\",\n \"margin\",\n \"boxSizing\",\n \"lineClamp\",\n \"display\",\n \"aspectRatio\",\n \"height\",\n \"maxHeight\",\n \"minHeight\",\n \"width\",\n \"minWidth\",\n \"maxWidth\",\n \"flex\",\n \"flexShrink\",\n \"flexGrow\",\n \"flexBasis\",\n \"tableLayout\",\n \"captionSide\",\n \"borderCollapse\",\n \"borderSpacing\",\n \"transformOrigin\",\n \"translate\",\n \"rotate\",\n \"skew\",\n \"scale\",\n \"transform\",\n \"animation\",\n \"cursor\",\n \"touchAction\",\n \"userSelect\",\n \"resize\",\n \"scrollSnapType\",\n \"scrollSnapAlign\",\n \"scrollSnapStop\",\n \"scrollMargin\",\n \"scrollPadding\",\n \"listStylePosition\",\n \"listStyleType\",\n \"listStyleImage\",\n \"appearance\",\n \"columns\",\n \"breakBefore\",\n \"breakInside\",\n \"breakAfter\",\n \"gridAutoColumns\",\n \"gridAutoFlow\",\n \"gridAutoRows\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"flexDirection\",\n \"flexWrap\",\n \"placeContent\",\n \"placeItems\",\n \"alignContent\",\n \"alignItems\",\n \"justifyContent\",\n \"justifyItems\",\n \"gap\",\n \"space\",\n \"divideWidth\",\n \"divideStyle\",\n \"divideColor\",\n \"divideOpacity\",\n \"placeSelf\",\n \"alignSelf\",\n \"justifySelf\",\n \"overflow\",\n \"overscrollBehavior\",\n \"scrollBehavior\",\n \"textOverflow\",\n \"hyphens\",\n \"whitespace\",\n \"wordBreak\",\n \"borderRadius\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderOpacity\",\n \"backgroundColor\",\n \"backgroundOpacity\",\n \"backgroundImage\",\n \"gradientColorStops\",\n \"boxDecorationBreak\",\n \"backgroundSize\",\n \"backgroundAttachment\",\n \"backgroundClip\",\n \"backgroundPosition\",\n \"backgroundRepeat\",\n \"backgroundOrigin\",\n \"fill\",\n \"stroke\",\n \"strokeWidth\",\n \"objectFit\",\n \"objectPosition\",\n \"padding\",\n \"textAlign\",\n \"textIndent\",\n \"verticalAlign\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"textTransform\",\n \"fontStyle\",\n \"fontVariantNumeric\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textColor\",\n \"textOpacity\",\n \"textDecoration\",\n \"textDecorationColor\",\n \"textDecorationStyle\",\n \"textDecorationThickness\",\n \"textUnderlineOffset\",\n \"fontSmoothing\",\n \"placeholderColor\",\n \"placeholderOpacity\",\n \"caretColor\",\n \"accentColor\",\n \"opacity\",\n \"backgroundBlendMode\",\n \"mixBlendMode\",\n \"boxShadow\",\n \"boxShadowColor\",\n \"outlineStyle\",\n \"outlineWidth\",\n \"outlineOffset\",\n \"outlineColor\",\n \"ringWidth\",\n \"ringColor\",\n \"ringOpacity\",\n \"ringOffsetWidth\",\n \"ringOffsetColor\",\n \"blur\",\n \"brightness\",\n \"contrast\",\n \"dropShadow\",\n \"grayscale\",\n \"hueRotate\",\n \"invert\",\n \"saturate\",\n \"sepia\",\n \"filter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropGrayscale\",\n \"backdropHueRotate\",\n \"backdropInvert\",\n \"backdropOpacity\",\n \"backdropSaturate\",\n \"backdropSepia\",\n \"backdropFilter\",\n \"transitionProperty\",\n \"transitionDelay\",\n \"transitionDuration\",\n \"transitionTimingFunction\",\n \"willChange\",\n \"content\"\n ];\n})(ze);\nvar Pe = {};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"default\", {\n enumerable: !0,\n get: function() {\n return t;\n }\n });\n function t(r, n) {\n return r === void 0 ? n : Array.isArray(r) ? r : [\n ...new Set(n.filter((o) => r !== !1 && r[o] !== !1).concat(Object.keys(r).filter((o) => r[o] !== !1)))\n ];\n }\n})(Pe);\nvar he = {}, re = {}, me = { exports: {} }, z = String, Le = function() {\n return { isColorSupported: !1, reset: z, bold: z, dim: z, italic: z, underline: z, inverse: z, hidden: z, strikethrough: z, black: z, red: z, green: z, yellow: z, blue: z, magenta: z, cyan: z, white: z, gray: z, bgBlack: z, bgRed: z, bgGreen: z, bgYellow: z, bgBlue: z, bgMagenta: z, bgCyan: z, bgWhite: z };\n};\nme.exports = Le();\nme.exports.createColors = Le;\nvar Ge = me.exports;\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n function t(l, s) {\n for (var d in s)\n Object.defineProperty(l, d, {\n enumerable: !0,\n get: s[d]\n });\n }\n t(e, {\n dim: function() {\n return i;\n },\n default: function() {\n return c;\n }\n });\n const r = /* @__PURE__ */ n(Ge);\n function n(l) {\n return l && l.__esModule ? l : {\n default: l\n };\n }\n let a = /* @__PURE__ */ new Set();\n function o(l, s, d) {\n typeof process != \"undefined\" && process.env.JEST_WORKER_ID || d && a.has(d) || (d && a.add(d), console.warn(\"\"), s.forEach((v) => console.warn(l, \"-\", v)));\n }\n function i(l) {\n return r.default.dim(l);\n }\n const c = {\n info(l, s) {\n o(r.default.bold(r.default.cyan(\"info\")), ...Array.isArray(l) ? [\n l\n ] : [\n s,\n l\n ]);\n },\n warn(l, s) {\n o(r.default.bold(r.default.yellow(\"warn\")), ...Array.isArray(l) ? [\n l\n ] : [\n s,\n l\n ]);\n },\n risk(l, s) {\n o(r.default.bold(r.default.magenta(\"risk\")), ...Array.isArray(l) ? [\n l\n ] : [\n s,\n l\n ]);\n }\n };\n})(re);\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"default\", {\n enumerable: !0,\n get: function() {\n return a;\n }\n });\n const t = /* @__PURE__ */ r(re);\n function r(o) {\n return o && o.__esModule ? o : {\n default: o\n };\n }\n function n({ version: o, from: i, to: c }) {\n t.default.warn(`${i}-color-renamed`, [\n `As of Tailwind CSS ${o}, \\`${i}\\` has been renamed to \\`${c}\\`.`,\n \"Update your configuration file to silence this warning.\"\n ]);\n }\n const a = {\n inherit: \"inherit\",\n current: \"currentColor\",\n transparent: \"transparent\",\n black: \"#000\",\n white: \"#fff\",\n slate: {\n 50: \"#f8fafc\",\n 100: \"#f1f5f9\",\n 200: \"#e2e8f0\",\n 300: \"#cbd5e1\",\n 400: \"#94a3b8\",\n 500: \"#64748b\",\n 600: \"#475569\",\n 700: \"#334155\",\n 800: \"#1e293b\",\n 900: \"#0f172a\",\n 950: \"#020617\"\n },\n gray: {\n 50: \"#f9fafb\",\n 100: \"#f3f4f6\",\n 200: \"#e5e7eb\",\n 300: \"#d1d5db\",\n 400: \"#9ca3af\",\n 500: \"#6b7280\",\n 600: \"#4b5563\",\n 700: \"#374151\",\n 800: \"#1f2937\",\n 900: \"#111827\",\n 950: \"#030712\"\n },\n zinc: {\n 50: \"#fafafa\",\n 100: \"#f4f4f5\",\n 200: \"#e4e4e7\",\n 300: \"#d4d4d8\",\n 400: \"#a1a1aa\",\n 500: \"#71717a\",\n 600: \"#52525b\",\n 700: \"#3f3f46\",\n 800: \"#27272a\",\n 900: \"#18181b\",\n 950: \"#09090b\"\n },\n neutral: {\n 50: \"#fafafa\",\n 100: \"#f5f5f5\",\n 200: \"#e5e5e5\",\n 300: \"#d4d4d4\",\n 400: \"#a3a3a3\",\n 500: \"#737373\",\n 600: \"#525252\",\n 700: \"#404040\",\n 800: \"#262626\",\n 900: \"#171717\",\n 950: \"#0a0a0a\"\n },\n stone: {\n 50: \"#fafaf9\",\n 100: \"#f5f5f4\",\n 200: \"#e7e5e4\",\n 300: \"#d6d3d1\",\n 400: \"#a8a29e\",\n 500: \"#78716c\",\n 600: \"#57534e\",\n 700: \"#44403c\",\n 800: \"#292524\",\n 900: \"#1c1917\",\n 950: \"#0c0a09\"\n },\n red: {\n 50: \"#fef2f2\",\n 100: \"#fee2e2\",\n 200: \"#fecaca\",\n 300: \"#fca5a5\",\n 400: \"#f87171\",\n 500: \"#ef4444\",\n 600: \"#dc2626\",\n 700: \"#b91c1c\",\n 800: \"#991b1b\",\n 900: \"#7f1d1d\",\n 950: \"#450a0a\"\n },\n orange: {\n 50: \"#fff7ed\",\n 100: \"#ffedd5\",\n 200: \"#fed7aa\",\n 300: \"#fdba74\",\n 400: \"#fb923c\",\n 500: \"#f97316\",\n 600: \"#ea580c\",\n 700: \"#c2410c\",\n 800: \"#9a3412\",\n 900: \"#7c2d12\",\n 950: \"#431407\"\n },\n amber: {\n 50: \"#fffbeb\",\n 100: \"#fef3c7\",\n 200: \"#fde68a\",\n 300: \"#fcd34d\",\n 400: \"#fbbf24\",\n 500: \"#f59e0b\",\n 600: \"#d97706\",\n 700: \"#b45309\",\n 800: \"#92400e\",\n 900: \"#78350f\",\n 950: \"#451a03\"\n },\n yellow: {\n 50: \"#fefce8\",\n 100: \"#fef9c3\",\n 200: \"#fef08a\",\n 300: \"#fde047\",\n 400: \"#facc15\",\n 500: \"#eab308\",\n 600: \"#ca8a04\",\n 700: \"#a16207\",\n 800: \"#854d0e\",\n 900: \"#713f12\",\n 950: \"#422006\"\n },\n lime: {\n 50: \"#f7fee7\",\n 100: \"#ecfccb\",\n 200: \"#d9f99d\",\n 300: \"#bef264\",\n 400: \"#a3e635\",\n 500: \"#84cc16\",\n 600: \"#65a30d\",\n 700: \"#4d7c0f\",\n 800: \"#3f6212\",\n 900: \"#365314\",\n 950: \"#1a2e05\"\n },\n green: {\n 50: \"#f0fdf4\",\n 100: \"#dcfce7\",\n 200: \"#bbf7d0\",\n 300: \"#86efac\",\n 400: \"#4ade80\",\n 500: \"#22c55e\",\n 600: \"#16a34a\",\n 700: \"#15803d\",\n 800: \"#166534\",\n 900: \"#14532d\",\n 950: \"#052e16\"\n },\n emerald: {\n 50: \"#ecfdf5\",\n 100: \"#d1fae5\",\n 200: \"#a7f3d0\",\n 300: \"#6ee7b7\",\n 400: \"#34d399\",\n 500: \"#10b981\",\n 600: \"#059669\",\n 700: \"#047857\",\n 800: \"#065f46\",\n 900: \"#064e3b\",\n 950: \"#022c22\"\n },\n teal: {\n 50: \"#f0fdfa\",\n 100: \"#ccfbf1\",\n 200: \"#99f6e4\",\n 300: \"#5eead4\",\n 400: \"#2dd4bf\",\n 500: \"#14b8a6\",\n 600: \"#0d9488\",\n 700: \"#0f766e\",\n 800: \"#115e59\",\n 900: \"#134e4a\",\n 950: \"#042f2e\"\n },\n cyan: {\n 50: \"#ecfeff\",\n 100: \"#cffafe\",\n 200: \"#a5f3fc\",\n 300: \"#67e8f9\",\n 400: \"#22d3ee\",\n 500: \"#06b6d4\",\n 600: \"#0891b2\",\n 700: \"#0e7490\",\n 800: \"#155e75\",\n 900: \"#164e63\",\n 950: \"#083344\"\n },\n sky: {\n 50: \"#f0f9ff\",\n 100: \"#e0f2fe\",\n 200: \"#bae6fd\",\n 300: \"#7dd3fc\",\n 400: \"#38bdf8\",\n 500: \"#0ea5e9\",\n 600: \"#0284c7\",\n 700: \"#0369a1\",\n 800: \"#075985\",\n 900: \"#0c4a6e\",\n 950: \"#082f49\"\n },\n blue: {\n 50: \"#eff6ff\",\n 100: \"#dbeafe\",\n 200: \"#bfdbfe\",\n 300: \"#93c5fd\",\n 400: \"#60a5fa\",\n 500: \"#3b82f6\",\n 600: \"#2563eb\",\n 700: \"#1d4ed8\",\n 800: \"#1e40af\",\n 900: \"#1e3a8a\",\n 950: \"#172554\"\n },\n indigo: {\n 50: \"#eef2ff\",\n 100: \"#e0e7ff\",\n 200: \"#c7d2fe\",\n 300: \"#a5b4fc\",\n 400: \"#818cf8\",\n 500: \"#6366f1\",\n 600: \"#4f46e5\",\n 700: \"#4338ca\",\n 800: \"#3730a3\",\n 900: \"#312e81\",\n 950: \"#1e1b4b\"\n },\n violet: {\n 50: \"#f5f3ff\",\n 100: \"#ede9fe\",\n 200: \"#ddd6fe\",\n 300: \"#c4b5fd\",\n 400: \"#a78bfa\",\n 500: \"#8b5cf6\",\n 600: \"#7c3aed\",\n 700: \"#6d28d9\",\n 800: \"#5b21b6\",\n 900: \"#4c1d95\",\n 950: \"#2e1065\"\n },\n purple: {\n 50: \"#faf5ff\",\n 100: \"#f3e8ff\",\n 200: \"#e9d5ff\",\n 300: \"#d8b4fe\",\n 400: \"#c084fc\",\n 500: \"#a855f7\",\n 600: \"#9333ea\",\n 700: \"#7e22ce\",\n 800: \"#6b21a8\",\n 900: \"#581c87\",\n 950: \"#3b0764\"\n },\n fuchsia: {\n 50: \"#fdf4ff\",\n 100: \"#fae8ff\",\n 200: \"#f5d0fe\",\n 300: \"#f0abfc\",\n 400: \"#e879f9\",\n 500: \"#d946ef\",\n 600: \"#c026d3\",\n 700: \"#a21caf\",\n 800: \"#86198f\",\n 900: \"#701a75\",\n 950: \"#4a044e\"\n },\n pink: {\n 50: \"#fdf2f8\",\n 100: \"#fce7f3\",\n 200: \"#fbcfe8\",\n 300: \"#f9a8d4\",\n 400: \"#f472b6\",\n 500: \"#ec4899\",\n 600: \"#db2777\",\n 700: \"#be185d\",\n 800: \"#9d174d\",\n 900: \"#831843\",\n 950: \"#500724\"\n },\n rose: {\n 50: \"#fff1f2\",\n 100: \"#ffe4e6\",\n 200: \"#fecdd3\",\n 300: \"#fda4af\",\n 400: \"#fb7185\",\n 500: \"#f43f5e\",\n 600: \"#e11d48\",\n 700: \"#be123c\",\n 800: \"#9f1239\",\n 900: \"#881337\",\n 950: \"#4c0519\"\n },\n get lightBlue() {\n return n({\n version: \"v2.2\",\n from: \"lightBlue\",\n to: \"sky\"\n }), this.sky;\n },\n get warmGray() {\n return n({\n version: \"v3.0\",\n from: \"warmGray\",\n to: \"stone\"\n }), this.stone;\n },\n get trueGray() {\n return n({\n version: \"v3.0\",\n from: \"trueGray\",\n to: \"neutral\"\n }), this.neutral;\n },\n get coolGray() {\n return n({\n version: \"v3.0\",\n from: \"coolGray\",\n to: \"gray\"\n }), this.gray;\n },\n get blueGray() {\n return n({\n version: \"v3.0\",\n from: \"blueGray\",\n to: \"slate\"\n }), this.slate;\n }\n };\n})(he);\nvar He = {};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"defaults\", {\n enumerable: !0,\n get: function() {\n return t;\n }\n });\n function t(r, ...n) {\n for (let i of n) {\n for (let c in i) {\n var a;\n !(r == null || (a = r.hasOwnProperty) === null || a === void 0) && a.call(r, c) || (r[c] = i[c]);\n }\n for (let c of Object.getOwnPropertySymbols(i)) {\n var o;\n !(r == null || (o = r.hasOwnProperty) === null || o === void 0) && o.call(r, c) || (r[c] = i[c]);\n }\n }\n return r;\n }\n})(He);\nvar je = {};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"toPath\", {\n enumerable: !0,\n get: function() {\n return t;\n }\n });\n function t(r) {\n if (Array.isArray(r))\n return r;\n let n = r.split(\"[\").length - 1, a = r.split(\"]\").length - 1;\n if (n !== a)\n throw new Error(`Path is invalid. Has unbalanced brackets: ${r}`);\n return r.split(/\\.(?![^\\[]*\\])|[\\[\\]]/g).filter(Boolean);\n }\n})(je);\nvar Be = {}, ne = {};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n function t(v, h) {\n for (var E in h)\n Object.defineProperty(v, E, {\n enumerable: !0,\n get: h[E]\n });\n }\n t(e, {\n flagEnabled: function() {\n return c;\n },\n issueFlagNotices: function() {\n return s;\n },\n default: function() {\n return d;\n }\n });\n const r = /* @__PURE__ */ a(Ge), n = /* @__PURE__ */ a(re);\n function a(v) {\n return v && v.__esModule ? v : {\n default: v\n };\n }\n let o = {\n optimizeUniversalDefaults: !1,\n generalizedModifiers: !0,\n get disableColorOpacityUtilitiesByDefault() {\n return !1;\n },\n get relativeContentPathsByDefault() {\n return !1;\n }\n }, i = {\n future: [\n \"hoverOnlyWhenSupported\",\n \"respectDefaultRingColorOpacity\",\n \"disableColorOpacityUtilitiesByDefault\",\n \"relativeContentPathsByDefault\"\n ],\n experimental: [\n \"optimizeUniversalDefaults\",\n \"generalizedModifiers\"\n ]\n };\n function c(v, h) {\n if (i.future.includes(h)) {\n var E, y, k;\n return v.future === \"all\" || ((k = (y = v == null || (E = v.future) === null || E === void 0 ? void 0 : E[h]) !== null && y !== void 0 ? y : o[h]) !== null && k !== void 0 ? k : !1);\n }\n if (i.experimental.includes(h)) {\n var A, P, L;\n return v.experimental === \"all\" || ((L = (P = v == null || (A = v.experimental) === null || A === void 0 ? void 0 : A[h]) !== null && P !== void 0 ? P : o[h]) !== null && L !== void 0 ? L : !1);\n }\n return !1;\n }\n function l(v) {\n if (v.experimental === \"all\")\n return i.experimental;\n var h;\n return Object.keys((h = v == null ? void 0 : v.experimental) !== null && h !== void 0 ? h : {}).filter((E) => i.experimental.includes(E) && v.experimental[E]);\n }\n function s(v) {\n if (process.env.JEST_WORKER_ID === void 0 && l(v).length > 0) {\n let h = l(v).map((E) => r.default.yellow(E)).join(\", \");\n n.default.warn(\"experimental-flags-enabled\", [\n `You have enabled experimental features: ${h}`,\n \"Experimental features in Tailwind CSS are not covered by semver, may introduce breaking changes, and can change at any time.\"\n ]);\n }\n }\n const d = i;\n})(ne);\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"normalizeConfig\", {\n enumerable: !0,\n get: function() {\n return o;\n }\n });\n const t = ne, r = /* @__PURE__ */ a(re);\n function n(i) {\n if (typeof WeakMap != \"function\")\n return null;\n var c = /* @__PURE__ */ new WeakMap(), l = /* @__PURE__ */ new WeakMap();\n return (n = function(s) {\n return s ? l : c;\n })(i);\n }\n function a(i, c) {\n if (!c && i && i.__esModule)\n return i;\n if (i === null || typeof i != \"object\" && typeof i != \"function\")\n return {\n default: i\n };\n var l = n(c);\n if (l && l.has(i))\n return l.get(i);\n var s = {}, d = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var v in i)\n if (v !== \"default\" && Object.prototype.hasOwnProperty.call(i, v)) {\n var h = d ? Object.getOwnPropertyDescriptor(i, v) : null;\n h && (h.get || h.set) ? Object.defineProperty(s, v, h) : s[v] = i[v];\n }\n return s.default = i, l && l.set(i, s), s;\n }\n function o(i) {\n if ((() => {\n if (i.purge || !i.content || !Array.isArray(i.content) && !(typeof i.content == \"object\" && i.content !== null))\n return !1;\n if (Array.isArray(i.content))\n return i.content.every((s) => typeof s == \"string\" ? !0 : !(typeof (s == null ? void 0 : s.raw) != \"string\" || s != null && s.extension && typeof (s == null ? void 0 : s.extension) != \"string\"));\n if (typeof i.content == \"object\" && i.content !== null) {\n if (Object.keys(i.content).some((s) => ![\n \"files\",\n \"relative\",\n \"extract\",\n \"transform\"\n ].includes(s)))\n return !1;\n if (Array.isArray(i.content.files)) {\n if (!i.content.files.every((s) => typeof s == \"string\" ? !0 : !(typeof (s == null ? void 0 : s.raw) != \"string\" || s != null && s.extension && typeof (s == null ? void 0 : s.extension) != \"string\")))\n return !1;\n if (typeof i.content.extract == \"object\") {\n for (let s of Object.values(i.content.extract))\n if (typeof s != \"function\")\n return !1;\n } else if (!(i.content.extract === void 0 || typeof i.content.extract == \"function\"))\n return !1;\n if (typeof i.content.transform == \"object\") {\n for (let s of Object.values(i.content.transform))\n if (typeof s != \"function\")\n return !1;\n } else if (!(i.content.transform === void 0 || typeof i.content.transform == \"function\"))\n return !1;\n if (typeof i.content.relative != \"boolean\" && typeof i.content.relative != \"undefined\")\n return !1;\n }\n return !0;\n }\n return !1;\n })() || r.default.warn(\"purge-deprecation\", [\n \"The `purge`/`content` options have changed in Tailwind CSS v3.0.\",\n \"Update your configuration file to eliminate this warning.\",\n \"https://tailwindcss.com/docs/upgrade-guide#configure-content-sources\"\n ]), i.safelist = (() => {\n var s;\n let { content: d, purge: v, safelist: h } = i;\n return Array.isArray(h) ? h : Array.isArray(d == null ? void 0 : d.safelist) ? d.safelist : Array.isArray(v == null ? void 0 : v.safelist) ? v.safelist : Array.isArray(v == null || (s = v.options) === null || s === void 0 ? void 0 : s.safelist) ? v.options.safelist : [];\n })(), i.blocklist = (() => {\n let { blocklist: s } = i;\n if (Array.isArray(s)) {\n if (s.every((d) => typeof d == \"string\"))\n return s;\n r.default.warn(\"blocklist-invalid\", [\n \"The `blocklist` option must be an array of strings.\",\n \"https://tailwindcss.com/docs/content-configuration#discarding-classes\"\n ]);\n }\n return [];\n })(), typeof i.prefix == \"function\")\n r.default.warn(\"prefix-function\", [\n \"As of Tailwind CSS v3.0, `prefix` cannot be a function.\",\n \"Update `prefix` in your configuration to be a string to eliminate this warning.\",\n \"https://tailwindcss.com/docs/upgrade-guide#prefix-cannot-be-a-function\"\n ]), i.prefix = \"\";\n else {\n var l;\n i.prefix = (l = i.prefix) !== null && l !== void 0 ? l : \"\";\n }\n i.content = {\n relative: (() => {\n let { content: s } = i;\n return s != null && s.relative ? s.relative : (0, t.flagEnabled)(i, \"relativeContentPathsByDefault\");\n })(),\n files: (() => {\n let { content: s, purge: d } = i;\n return Array.isArray(d) ? d : Array.isArray(d == null ? void 0 : d.content) ? d.content : Array.isArray(s) ? s : Array.isArray(s == null ? void 0 : s.content) ? s.content : Array.isArray(s == null ? void 0 : s.files) ? s.files : [];\n })(),\n extract: (() => {\n let s = (() => {\n var h, E, y, k, A, P, L, M, G, H;\n return !((h = i.purge) === null || h === void 0) && h.extract ? i.purge.extract : !((E = i.content) === null || E === void 0) && E.extract ? i.content.extract : !((y = i.purge) === null || y === void 0 || (k = y.extract) === null || k === void 0) && k.DEFAULT ? i.purge.extract.DEFAULT : !((A = i.content) === null || A === void 0 || (P = A.extract) === null || P === void 0) && P.DEFAULT ? i.content.extract.DEFAULT : !((L = i.purge) === null || L === void 0 || (M = L.options) === null || M === void 0) && M.extractors ? i.purge.options.extractors : !((G = i.content) === null || G === void 0 || (H = G.options) === null || H === void 0) && H.extractors ? i.content.options.extractors : {};\n })(), d = {}, v = (() => {\n var h, E, y, k;\n if (!((h = i.purge) === null || h === void 0 || (E = h.options) === null || E === void 0) && E.defaultExtractor)\n return i.purge.options.defaultExtractor;\n if (!((y = i.content) === null || y === void 0 || (k = y.options) === null || k === void 0) && k.defaultExtractor)\n return i.content.options.defaultExtractor;\n })();\n if (v !== void 0 && (d.DEFAULT = v), typeof s == \"function\")\n d.DEFAULT = s;\n else if (Array.isArray(s))\n for (let { extensions: h, extractor: E } of s != null ? s : [])\n for (let y of h)\n d[y] = E;\n else\n typeof s == \"object\" && s !== null && Object.assign(d, s);\n return d;\n })(),\n transform: (() => {\n let s = (() => {\n var v, h, E, y, k, A;\n return !((v = i.purge) === null || v === void 0) && v.transform ? i.purge.transform : !((h = i.content) === null || h === void 0) && h.transform ? i.content.transform : !((E = i.purge) === null || E === void 0 || (y = E.transform) === null || y === void 0) && y.DEFAULT ? i.purge.transform.DEFAULT : !((k = i.content) === null || k === void 0 || (A = k.transform) === null || A === void 0) && A.DEFAULT ? i.content.transform.DEFAULT : {};\n })(), d = {};\n return typeof s == \"function\" && (d.DEFAULT = s), typeof s == \"object\" && s !== null && Object.assign(d, s), d;\n })()\n };\n for (let s of i.content.files)\n if (typeof s == \"string\" && /{([^,]*?)}/g.test(s)) {\n r.default.warn(\"invalid-glob-braces\", [\n `The glob pattern ${(0, r.dim)(s)} in your Tailwind CSS configuration is invalid.`,\n `Update it to ${(0, r.dim)(s.replace(/{([^,]*?)}/g, \"$1\"))} to silence this warning.`\n ]);\n break;\n }\n return i;\n }\n})(Be);\nvar We = {};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"default\", {\n enumerable: !0,\n get: function() {\n return t;\n }\n });\n function t(r) {\n if (Object.prototype.toString.call(r) !== \"[object Object]\")\n return !1;\n const n = Object.getPrototypeOf(r);\n return n === null || n === Object.prototype;\n }\n})(We);\nvar Re = {};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"cloneDeep\", {\n enumerable: !0,\n get: function() {\n return t;\n }\n });\n function t(r) {\n return Array.isArray(r) ? r.map((n) => t(n)) : typeof r == \"object\" && r !== null ? Object.fromEntries(Object.entries(r).map(([n, a]) => [\n n,\n t(a)\n ])) : r;\n }\n})(Re);\nvar Ue = {}, Ne = {};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"default\", {\n enumerable: !0,\n get: function() {\n return t;\n }\n });\n function t(r) {\n return r.replace(/\\\\,/g, \"\\\\2c \");\n }\n})(Ne);\nvar pe = {}, ge = {}, Ie = {};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"default\", {\n enumerable: !0,\n get: function() {\n return t;\n }\n });\n const t = {\n aliceblue: [\n 240,\n 248,\n 255\n ],\n antiquewhite: [\n 250,\n 235,\n 215\n ],\n aqua: [\n 0,\n 255,\n 255\n ],\n aquamarine: [\n 127,\n 255,\n 212\n ],\n azure: [\n 240,\n 255,\n 255\n ],\n beige: [\n 245,\n 245,\n 220\n ],\n bisque: [\n 255,\n 228,\n 196\n ],\n black: [\n 0,\n 0,\n 0\n ],\n blanchedalmond: [\n 255,\n 235,\n 205\n ],\n blue: [\n 0,\n 0,\n 255\n ],\n blueviolet: [\n 138,\n 43,\n 226\n ],\n brown: [\n 165,\n 42,\n 42\n ],\n burlywood: [\n 222,\n 184,\n 135\n ],\n cadetblue: [\n 95,\n 158,\n 160\n ],\n chartreuse: [\n 127,\n 255,\n 0\n ],\n chocolate: [\n 210,\n 105,\n 30\n ],\n coral: [\n 255,\n 127,\n 80\n ],\n cornflowerblue: [\n 100,\n 149,\n 237\n ],\n cornsilk: [\n 255,\n 248,\n 220\n ],\n crimson: [\n 220,\n 20,\n 60\n ],\n cyan: [\n 0,\n 255,\n 255\n ],\n darkblue: [\n 0,\n 0,\n 139\n ],\n darkcyan: [\n 0,\n 139,\n 139\n ],\n darkgoldenrod: [\n 184,\n 134,\n 11\n ],\n darkgray: [\n 169,\n 169,\n 169\n ],\n darkgreen: [\n 0,\n 100,\n 0\n ],\n darkgrey: [\n 169,\n 169,\n 169\n ],\n darkkhaki: [\n 189,\n 183,\n 107\n ],\n darkmagenta: [\n 139,\n 0,\n 139\n ],\n darkolivegreen: [\n 85,\n 107,\n 47\n ],\n darkorange: [\n 255,\n 140,\n 0\n ],\n darkorchid: [\n 153,\n 50,\n 204\n ],\n darkred: [\n 139,\n 0,\n 0\n ],\n darksalmon: [\n 233,\n 150,\n 122\n ],\n darkseagreen: [\n 143,\n 188,\n 143\n ],\n darkslateblue: [\n 72,\n 61,\n 139\n ],\n darkslategray: [\n 47,\n 79,\n 79\n ],\n darkslategrey: [\n 47,\n 79,\n 79\n ],\n darkturquoise: [\n 0,\n 206,\n 209\n ],\n darkviolet: [\n 148,\n 0,\n 211\n ],\n deeppink: [\n 255,\n 20,\n 147\n ],\n deepskyblue: [\n 0,\n 191,\n 255\n ],\n dimgray: [\n 105,\n 105,\n 105\n ],\n dimgrey: [\n 105,\n 105,\n 105\n ],\n dodgerblue: [\n 30,\n 144,\n 255\n ],\n firebrick: [\n 178,\n 34,\n 34\n ],\n floralwhite: [\n 255,\n 250,\n 240\n ],\n forestgreen: [\n 34,\n 139,\n 34\n ],\n fuchsia: [\n 255,\n 0,\n 255\n ],\n gainsboro: [\n 220,\n 220,\n 220\n ],\n ghostwhite: [\n 248,\n 248,\n 255\n ],\n gold: [\n 255,\n 215,\n 0\n ],\n goldenrod: [\n 218,\n 165,\n 32\n ],\n gray: [\n 128,\n 128,\n 128\n ],\n green: [\n 0,\n 128,\n 0\n ],\n greenyellow: [\n 173,\n 255,\n 47\n ],\n grey: [\n 128,\n 128,\n 128\n ],\n honeydew: [\n 240,\n 255,\n 240\n ],\n hotpink: [\n 255,\n 105,\n 180\n ],\n indianred: [\n 205,\n 92,\n 92\n ],\n indigo: [\n 75,\n 0,\n 130\n ],\n ivory: [\n 255,\n 255,\n 240\n ],\n khaki: [\n 240,\n 230,\n 140\n ],\n lavender: [\n 230,\n 230,\n 250\n ],\n lavenderblush: [\n 255,\n 240,\n 245\n ],\n lawngreen: [\n 124,\n 252,\n 0\n ],\n lemonchiffon: [\n 255,\n 250,\n 205\n ],\n lightblue: [\n 173,\n 216,\n 230\n ],\n lightcoral: [\n 240,\n 128,\n 128\n ],\n lightcyan: [\n 224,\n 255,\n 255\n ],\n lightgoldenrodyellow: [\n 250,\n 250,\n 210\n ],\n lightgray: [\n 211,\n 211,\n 211\n ],\n lightgreen: [\n 144,\n 238,\n 144\n ],\n lightgrey: [\n 211,\n 211,\n 211\n ],\n lightpink: [\n 255,\n 182,\n 193\n ],\n lightsalmon: [\n 255,\n 160,\n 122\n ],\n lightseagreen: [\n 32,\n 178,\n 170\n ],\n lightskyblue: [\n 135,\n 206,\n 250\n ],\n lightslategray: [\n 119,\n 136,\n 153\n ],\n lightslategrey: [\n 119,\n 136,\n 153\n ],\n lightsteelblue: [\n 176,\n 196,\n 222\n ],\n lightyellow: [\n 255,\n 255,\n 224\n ],\n lime: [\n 0,\n 255,\n 0\n ],\n limegreen: [\n 50,\n 205,\n 50\n ],\n linen: [\n 250,\n 240,\n 230\n ],\n magenta: [\n 255,\n 0,\n 255\n ],\n maroon: [\n 128,\n 0,\n 0\n ],\n mediumaquamarine: [\n 102,\n 205,\n 170\n ],\n mediumblue: [\n 0,\n 0,\n 205\n ],\n mediumorchid: [\n 186,\n 85,\n 211\n ],\n mediumpurple: [\n 147,\n 112,\n 219\n ],\n mediumseagreen: [\n 60,\n 179,\n 113\n ],\n mediumslateblue: [\n 123,\n 104,\n 238\n ],\n mediumspringgreen: [\n 0,\n 250,\n 154\n ],\n mediumturquoise: [\n 72,\n 209,\n 204\n ],\n mediumvioletred: [\n 199,\n 21,\n 133\n ],\n midnightblue: [\n 25,\n 25,\n 112\n ],\n mintcream: [\n 245,\n 255,\n 250\n ],\n mistyrose: [\n 255,\n 228,\n 225\n ],\n moccasin: [\n 255,\n 228,\n 181\n ],\n navajowhite: [\n 255,\n 222,\n 173\n ],\n navy: [\n 0,\n 0,\n 128\n ],\n oldlace: [\n 253,\n 245,\n 230\n ],\n olive: [\n 128,\n 128,\n 0\n ],\n olivedrab: [\n 107,\n 142,\n 35\n ],\n orange: [\n 255,\n 165,\n 0\n ],\n orangered: [\n 255,\n 69,\n 0\n ],\n orchid: [\n 218,\n 112,\n 214\n ],\n palegoldenrod: [\n 238,\n 232,\n 170\n ],\n palegreen: [\n 152,\n 251,\n 152\n ],\n paleturquoise: [\n 175,\n 238,\n 238\n ],\n palevioletred: [\n 219,\n 112,\n 147\n ],\n papayawhip: [\n 255,\n 239,\n 213\n ],\n peachpuff: [\n 255,\n 218,\n 185\n ],\n peru: [\n 205,\n 133,\n 63\n ],\n pink: [\n 255,\n 192,\n 203\n ],\n plum: [\n 221,\n 160,\n 221\n ],\n powderblue: [\n 176,\n 224,\n 230\n ],\n purple: [\n 128,\n 0,\n 128\n ],\n rebeccapurple: [\n 102,\n 51,\n 153\n ],\n red: [\n 255,\n 0,\n 0\n ],\n rosybrown: [\n 188,\n 143,\n 143\n ],\n royalblue: [\n 65,\n 105,\n 225\n ],\n saddlebrown: [\n 139,\n 69,\n 19\n ],\n salmon: [\n 250,\n 128,\n 114\n ],\n sandybrown: [\n 244,\n 164,\n 96\n ],\n seagreen: [\n 46,\n 139,\n 87\n ],\n seashell: [\n 255,\n 245,\n 238\n ],\n sienna: [\n 160,\n 82,\n 45\n ],\n silver: [\n 192,\n 192,\n 192\n ],\n skyblue: [\n 135,\n 206,\n 235\n ],\n slateblue: [\n 106,\n 90,\n 205\n ],\n slategray: [\n 112,\n 128,\n 144\n ],\n slategrey: [\n 112,\n 128,\n 144\n ],\n snow: [\n 255,\n 250,\n 250\n ],\n springgreen: [\n 0,\n 255,\n 127\n ],\n steelblue: [\n 70,\n 130,\n 180\n ],\n tan: [\n 210,\n 180,\n 140\n ],\n teal: [\n 0,\n 128,\n 128\n ],\n thistle: [\n 216,\n 191,\n 216\n ],\n tomato: [\n 255,\n 99,\n 71\n ],\n turquoise: [\n 64,\n 224,\n 208\n ],\n violet: [\n 238,\n 130,\n 238\n ],\n wheat: [\n 245,\n 222,\n 179\n ],\n white: [\n 255,\n 255,\n 255\n ],\n whitesmoke: [\n 245,\n 245,\n 245\n ],\n yellow: [\n 255,\n 255,\n 0\n ],\n yellowgreen: [\n 154,\n 205,\n 50\n ]\n };\n})(Ie);\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n function t(y, k) {\n for (var A in k)\n Object.defineProperty(y, A, {\n enumerable: !0,\n get: k[A]\n });\n }\n t(e, {\n parseColor: function() {\n return h;\n },\n formatColor: function() {\n return E;\n }\n });\n const r = /* @__PURE__ */ n(Ie);\n function n(y) {\n return y && y.__esModule ? y : {\n default: y\n };\n }\n let a = /^#([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?$/i, o = /^#([a-f\\d])([a-f\\d])([a-f\\d])([a-f\\d])?$/i, i = /(?:\\d+|\\d*\\.\\d+)%?/, c = /(?:\\s*,\\s*|\\s+)/, l = /\\s*[,/]\\s*/, s = /var\\(--(?:[^ )]*?)\\)/, d = new RegExp(`^(rgba?)\\\\(\\\\s*(${i.source}|${s.source})(?:${c.source}(${i.source}|${s.source}))?(?:${c.source}(${i.source}|${s.source}))?(?:${l.source}(${i.source}|${s.source}))?\\\\s*\\\\)$`), v = new RegExp(`^(hsla?)\\\\(\\\\s*((?:${i.source})(?:deg|rad|grad|turn)?|${s.source})(?:${c.source}(${i.source}|${s.source}))?(?:${c.source}(${i.source}|${s.source}))?(?:${l.source}(${i.source}|${s.source}))?\\\\s*\\\\)$`);\n function h(y, { loose: k = !1 } = {}) {\n var A, P;\n if (typeof y != \"string\")\n return null;\n if (y = y.trim(), y === \"transparent\")\n return {\n mode: \"rgb\",\n color: [\n \"0\",\n \"0\",\n \"0\"\n ],\n alpha: \"0\"\n };\n if (y in r.default)\n return {\n mode: \"rgb\",\n color: r.default[y].map((W) => W.toString())\n };\n let L = y.replace(o, (W, N, R, g, D) => [\n \"#\",\n N,\n N,\n R,\n R,\n g,\n g,\n D ? D + D : \"\"\n ].join(\"\")).match(a);\n if (L !== null)\n return {\n mode: \"rgb\",\n color: [\n parseInt(L[1], 16),\n parseInt(L[2], 16),\n parseInt(L[3], 16)\n ].map((W) => W.toString()),\n alpha: L[4] ? (parseInt(L[4], 16) / 255).toString() : void 0\n };\n var M;\n let G = (M = y.match(d)) !== null && M !== void 0 ? M : y.match(v);\n if (G === null)\n return null;\n let H = [\n G[2],\n G[3],\n G[4]\n ].filter(Boolean).map((W) => W.toString());\n return H.length === 2 && H[0].startsWith(\"var(\") ? {\n mode: G[1],\n color: [\n H[0]\n ],\n alpha: H[1]\n } : !k && H.length !== 3 || H.length < 3 && !H.some((W) => /^var\\(.*?\\)$/.test(W)) ? null : {\n mode: G[1],\n color: H,\n alpha: (A = G[5]) === null || A === void 0 || (P = A.toString) === null || P === void 0 ? void 0 : P.call(A)\n };\n }\n function E({ mode: y, color: k, alpha: A }) {\n let P = A !== void 0;\n return y === \"rgba\" || y === \"hsla\" ? `${y}(${k.join(\", \")}${P ? `, ${A}` : \"\"})` : `${y}(${k.join(\" \")}${P ? ` / ${A}` : \"\"})`;\n }\n})(ge);\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n function t(o, i) {\n for (var c in i)\n Object.defineProperty(o, c, {\n enumerable: !0,\n get: i[c]\n });\n }\n t(e, {\n withAlphaValue: function() {\n return n;\n },\n default: function() {\n return a;\n }\n });\n const r = ge;\n function n(o, i, c) {\n if (typeof o == \"function\")\n return o({\n opacityValue: i\n });\n let l = (0, r.parseColor)(o, {\n loose: !0\n });\n return l === null ? c : (0, r.formatColor)({\n ...l,\n alpha: i\n });\n }\n function a({ color: o, property: i, variable: c }) {\n let l = [].concat(i);\n if (typeof o == \"function\")\n return {\n [c]: \"1\",\n ...Object.fromEntries(l.map((d) => [\n d,\n o({\n opacityVariable: c,\n opacityValue: `var(${c})`\n })\n ]))\n };\n const s = (0, r.parseColor)(o);\n return s === null ? Object.fromEntries(l.map((d) => [\n d,\n o\n ])) : s.alpha !== void 0 ? Object.fromEntries(l.map((d) => [\n d,\n o\n ])) : {\n [c]: \"1\",\n ...Object.fromEntries(l.map((d) => [\n d,\n (0, r.formatColor)({\n ...s,\n alpha: `var(${c})`\n })\n ]))\n };\n }\n})(pe);\nvar ve = {}, Ve = {}, ie = {};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"splitAtTopLevelOnly\", {\n enumerable: !0,\n get: function() {\n return t;\n }\n });\n function t(r, n) {\n let a = [], o = [], i = 0, c = !1;\n for (let l = 0; l < r.length; l++) {\n let s = r[l];\n a.length === 0 && s === n[0] && !c && (n.length === 1 || r.slice(l, l + n.length) === n) && (o.push(r.slice(i, l)), i = l + n.length), c ? c = !1 : s === \"\\\\\" && (c = !0), s === \"(\" || s === \"[\" || s === \"{\" ? a.push(s) : (s === \")\" && a[a.length - 1] === \"(\" || s === \"]\" && a[a.length - 1] === \"[\" || s === \"}\" && a[a.length - 1] === \"{\") && a.pop();\n }\n return o.push(r.slice(i)), o;\n }\n})(ie);\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n function t(l, s) {\n for (var d in s)\n Object.defineProperty(l, d, {\n enumerable: !0,\n get: s[d]\n });\n }\n t(e, {\n parseBoxShadowValue: function() {\n return i;\n },\n formatBoxShadowValue: function() {\n return c;\n }\n });\n const r = ie;\n let n = /* @__PURE__ */ new Set([\n \"inset\",\n \"inherit\",\n \"initial\",\n \"revert\",\n \"unset\"\n ]), a = /\\ +(?![^(]*\\))/g, o = /^-?(\\d+|\\.\\d+)(.*?)$/g;\n function i(l) {\n return (0, r.splitAtTopLevelOnly)(l, \",\").map((d) => {\n let v = d.trim(), h = {\n raw: v\n }, E = v.split(a), y = /* @__PURE__ */ new Set();\n for (let k of E)\n o.lastIndex = 0, !y.has(\"KEYWORD\") && n.has(k) ? (h.keyword = k, y.add(\"KEYWORD\")) : o.test(k) ? y.has(\"X\") ? y.has(\"Y\") ? y.has(\"BLUR\") ? y.has(\"SPREAD\") || (h.spread = k, y.add(\"SPREAD\")) : (h.blur = k, y.add(\"BLUR\")) : (h.y = k, y.add(\"Y\")) : (h.x = k, y.add(\"X\")) : h.color ? (h.unknown || (h.unknown = []), h.unknown.push(k)) : h.color = k;\n return h.valid = h.x !== void 0 && h.y !== void 0, h;\n });\n }\n function c(l) {\n return l.map((s) => s.valid ? [\n s.keyword,\n s.x,\n s.y,\n s.blur,\n s.spread,\n s.color\n ].filter(Boolean).join(\" \") : s.raw).join(\", \");\n }\n})(Ve);\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n function t(f, _) {\n for (var F in _)\n Object.defineProperty(f, F, {\n enumerable: !0,\n get: _[F]\n });\n }\n t(e, {\n normalize: function() {\n return s;\n },\n url: function() {\n return v;\n },\n number: function() {\n return h;\n },\n percentage: function() {\n return E;\n },\n length: function() {\n return A;\n },\n lineWidth: function() {\n return L;\n },\n shadow: function() {\n return M;\n },\n color: function() {\n return G;\n },\n image: function() {\n return H;\n },\n gradient: function() {\n return N;\n },\n position: function() {\n return g;\n },\n familyName: function() {\n return D;\n },\n genericName: function() {\n return m;\n },\n absoluteSize: function() {\n return x;\n },\n relativeSize: function() {\n return $;\n }\n });\n const r = ge, n = Ve, a = ie;\n let o = [\n \"min\",\n \"max\",\n \"clamp\",\n \"calc\"\n ];\n function i(f) {\n return o.some((_) => new RegExp(`^${_}\\\\(.*\\\\)`).test(f));\n }\n const c = \"--tw-placeholder\", l = new RegExp(c, \"g\");\n function s(f, _ = !0) {\n return f.startsWith(\"--\") ? `var(${f})` : f.includes(\"url(\") ? f.split(/(url\\(.*?\\))/g).filter(Boolean).map((F) => /^url\\(.*?\\)$/.test(F) ? F : s(F, !1)).join(\"\") : (f = f.replace(/([^\\\\])_+/g, (F, O) => O + \" \".repeat(F.length - 1)).replace(/^_/g, \" \").replace(/\\\\_/g, \"_\"), _ && (f = f.trim()), f = d(f), f);\n }\n function d(f) {\n return f.replace(/(calc|min|max|clamp)\\(.+\\)/g, (_) => {\n let F = [];\n return _.replace(/var\\((--.+?)[,)]/g, (O, Z) => (F.push(Z), O.replace(Z, c))).replace(/(-?\\d*\\.?\\d(?!\\b-\\d.+[,)](?![^+\\-/*])\\D)(?:%|[a-z]+)?|\\))([+\\-/*])/g, \"$1 $2 \").replace(l, () => F.shift());\n });\n }\n function v(f) {\n return f.startsWith(\"url(\");\n }\n function h(f) {\n return !isNaN(Number(f)) || i(f);\n }\n function E(f) {\n return f.endsWith(\"%\") && h(f.slice(0, -1)) || i(f);\n }\n let k = `(?:${[\n \"cm\",\n \"mm\",\n \"Q\",\n \"in\",\n \"pc\",\n \"pt\",\n \"px\",\n \"em\",\n \"ex\",\n \"ch\",\n \"rem\",\n \"lh\",\n \"rlh\",\n \"vw\",\n \"vh\",\n \"vmin\",\n \"vmax\",\n \"vb\",\n \"vi\",\n \"svw\",\n \"svh\",\n \"lvw\",\n \"lvh\",\n \"dvw\",\n \"dvh\",\n \"cqw\",\n \"cqh\",\n \"cqi\",\n \"cqb\",\n \"cqmin\",\n \"cqmax\"\n ].join(\"|\")})`;\n function A(f) {\n return f === \"0\" || new RegExp(`^[+-]?[0-9]*.?[0-9]+(?:[eE][+-]?[0-9]+)?${k}$`).test(f) || i(f);\n }\n let P = /* @__PURE__ */ new Set([\n \"thin\",\n \"medium\",\n \"thick\"\n ]);\n function L(f) {\n return P.has(f);\n }\n function M(f) {\n let _ = (0, n.parseBoxShadowValue)(s(f));\n for (let F of _)\n if (!F.valid)\n return !1;\n return !0;\n }\n function G(f) {\n let _ = 0;\n return (0, a.splitAtTopLevelOnly)(f, \"_\").every((O) => (O = s(O), O.startsWith(\"var(\") ? !0 : (0, r.parseColor)(O, {\n loose: !0\n }) !== null ? (_++, !0) : !1)) ? _ > 0 : !1;\n }\n function H(f) {\n let _ = 0;\n return (0, a.splitAtTopLevelOnly)(f, \",\").every((O) => (O = s(O), O.startsWith(\"var(\") ? !0 : v(O) || N(O) || [\n \"element(\",\n \"image(\",\n \"cross-fade(\",\n \"image-set(\"\n ].some((Z) => O.startsWith(Z)) ? (_++, !0) : !1)) ? _ > 0 : !1;\n }\n let W = /* @__PURE__ */ new Set([\n \"conic-gradient\",\n \"linear-gradient\",\n \"radial-gradient\",\n \"repeating-conic-gradient\",\n \"repeating-linear-gradient\",\n \"repeating-radial-gradient\"\n ]);\n function N(f) {\n f = s(f);\n for (let _ of W)\n if (f.startsWith(`${_}(`))\n return !0;\n return !1;\n }\n let R = /* @__PURE__ */ new Set([\n \"center\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\"\n ]);\n function g(f) {\n let _ = 0;\n return (0, a.splitAtTopLevelOnly)(f, \"_\").every((O) => (O = s(O), O.startsWith(\"var(\") ? !0 : R.has(O) || A(O) || E(O) ? (_++, !0) : !1)) ? _ > 0 : !1;\n }\n function D(f) {\n let _ = 0;\n return (0, a.splitAtTopLevelOnly)(f, \",\").every((O) => (O = s(O), O.startsWith(\"var(\") ? !0 : O.includes(\" \") && !/(['\"])([^\"']+)\\1/g.test(O) || /^\\d/g.test(O) ? !1 : (_++, !0))) ? _ > 0 : !1;\n }\n let C = /* @__PURE__ */ new Set([\n \"serif\",\n \"sans-serif\",\n \"monospace\",\n \"cursive\",\n \"fantasy\",\n \"system-ui\",\n \"ui-serif\",\n \"ui-sans-serif\",\n \"ui-monospace\",\n \"ui-rounded\",\n \"math\",\n \"emoji\",\n \"fangsong\"\n ]);\n function m(f) {\n return C.has(f);\n }\n let b = /* @__PURE__ */ new Set([\n \"xx-small\",\n \"x-small\",\n \"small\",\n \"medium\",\n \"large\",\n \"x-large\",\n \"x-large\",\n \"xxx-large\"\n ]);\n function x(f) {\n return b.has(f);\n }\n let p = /* @__PURE__ */ new Set([\n \"larger\",\n \"smaller\"\n ]);\n function $(f) {\n return p.has(f);\n }\n})(ve);\nvar qe = {};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"backgroundSize\", {\n enumerable: !0,\n get: function() {\n return n;\n }\n });\n const t = ve, r = ie;\n function n(a) {\n let o = [\n \"cover\",\n \"contain\"\n ];\n return (0, r.splitAtTopLevelOnly)(a, \",\").every((i) => {\n let c = (0, r.splitAtTopLevelOnly)(i, \"_\").filter(Boolean);\n return c.length === 1 && o.includes(c[0]) ? !0 : c.length !== 1 && c.length !== 2 ? !1 : c.every((l) => (0, t.length)(l) || (0, t.percentage)(l) || l === \"auto\");\n });\n }\n})(qe);\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n function t(g, D) {\n for (var C in D)\n Object.defineProperty(g, C, {\n enumerable: !0,\n get: D[C]\n });\n }\n t(e, {\n updateAllClasses: function() {\n return s;\n },\n asValue: function() {\n return h;\n },\n parseColorFormat: function() {\n return k;\n },\n asColor: function() {\n return P;\n },\n asLookupValue: function() {\n return L;\n },\n typeMap: function() {\n return G;\n },\n coerceValue: function() {\n return N;\n },\n getMatchingTypes: function() {\n return R;\n }\n });\n const r = /* @__PURE__ */ l(Ne), n = pe, a = ve, o = /* @__PURE__ */ l(fe), i = qe, c = ne;\n function l(g) {\n return g && g.__esModule ? g : {\n default: g\n };\n }\n function s(g, D) {\n g.walkClasses((C) => {\n C.value = D(C.value), C.raws && C.raws.value && (C.raws.value = (0, r.default)(C.raws.value));\n });\n }\n function d(g, D) {\n if (!E(g))\n return;\n let C = g.slice(1, -1);\n if (D(C))\n return (0, a.normalize)(C);\n }\n function v(g, D = {}, C) {\n let m = D[g];\n if (m !== void 0)\n return (0, o.default)(m);\n if (E(g)) {\n let b = d(g, C);\n return b === void 0 ? void 0 : (0, o.default)(b);\n }\n }\n function h(g, D = {}, { validate: C = () => !0 } = {}) {\n var m;\n let b = (m = D.values) === null || m === void 0 ? void 0 : m[g];\n return b !== void 0 ? b : D.supportsNegativeValues && g.startsWith(\"-\") ? v(g.slice(1), D.values, C) : d(g, C);\n }\n function E(g) {\n return g.startsWith(\"[\") && g.endsWith(\"]\");\n }\n function y(g) {\n let D = g.lastIndexOf(\"/\");\n return D === -1 || D === g.length - 1 ? [\n g,\n void 0\n ] : E(g) && !g.includes(\"]/[\") ? [\n g,\n void 0\n ] : [\n g.slice(0, D),\n g.slice(D + 1)\n ];\n }\n function k(g) {\n if (typeof g == \"string\" && g.includes(\"<alpha-value>\")) {\n let D = g;\n return ({ opacityValue: C = 1 }) => D.replace(\"<alpha-value>\", C);\n }\n return g;\n }\n function A(g) {\n return (0, a.normalize)(g.slice(1, -1));\n }\n function P(g, D = {}, { tailwindConfig: C = {} } = {}) {\n var m;\n if (((m = D.values) === null || m === void 0 ? void 0 : m[g]) !== void 0) {\n var b;\n return k((b = D.values) === null || b === void 0 ? void 0 : b[g]);\n }\n let [x, p] = y(g);\n if (p !== void 0) {\n var $, f, _, F;\n let O = (F = ($ = D.values) === null || $ === void 0 ? void 0 : $[x]) !== null && F !== void 0 ? F : E(x) ? x.slice(1, -1) : void 0;\n return O === void 0 ? void 0 : (O = k(O), E(p) ? (0, n.withAlphaValue)(O, A(p)) : ((f = C.theme) === null || f === void 0 || (_ = f.opacity) === null || _ === void 0 ? void 0 : _[p]) === void 0 ? void 0 : (0, n.withAlphaValue)(O, C.theme.opacity[p]));\n }\n return h(g, D, {\n validate: a.color\n });\n }\n function L(g, D = {}) {\n var C;\n return (C = D.values) === null || C === void 0 ? void 0 : C[g];\n }\n function M(g) {\n return (D, C) => h(D, C, {\n validate: g\n });\n }\n let G = {\n any: h,\n color: P,\n url: M(a.url),\n image: M(a.image),\n length: M(a.length),\n percentage: M(a.percentage),\n position: M(a.position),\n lookup: L,\n \"generic-name\": M(a.genericName),\n \"family-name\": M(a.familyName),\n number: M(a.number),\n \"line-width\": M(a.lineWidth),\n \"absolute-size\": M(a.absoluteSize),\n \"relative-size\": M(a.relativeSize),\n shadow: M(a.shadow),\n size: M(i.backgroundSize)\n }, H = Object.keys(G);\n function W(g, D) {\n let C = g.indexOf(D);\n return C === -1 ? [\n void 0,\n g\n ] : [\n g.slice(0, C),\n g.slice(C + 1)\n ];\n }\n function N(g, D, C, m) {\n if (C.values && D in C.values)\n for (let { type: x } of g != null ? g : []) {\n let p = G[x](D, C, {\n tailwindConfig: m\n });\n if (p !== void 0)\n return [\n p,\n x,\n null\n ];\n }\n if (E(D)) {\n let x = D.slice(1, -1), [p, $] = W(x, \":\");\n if (!/^[\\w-_]+$/g.test(p))\n $ = x;\n else if (p !== void 0 && !H.includes(p))\n return [];\n if ($.length > 0 && H.includes(p))\n return [\n h(`[${$}]`, C),\n p,\n null\n ];\n }\n let b = R(g, D, C, m);\n for (let x of b)\n return x;\n return [];\n }\n function* R(g, D, C, m) {\n let b = (0, c.flagEnabled)(m, \"generalizedModifiers\"), [x, p] = y(D);\n if (b && C.modifiers != null && (C.modifiers === \"any\" || typeof C.modifiers == \"object\" && (p && E(p) || p in C.modifiers)) || (x = D, p = void 0), p !== void 0 && x === \"\" && (x = \"DEFAULT\"), p !== void 0 && typeof C.modifiers == \"object\") {\n var f, _;\n let F = (_ = (f = C.modifiers) === null || f === void 0 ? void 0 : f[p]) !== null && _ !== void 0 ? _ : null;\n F !== null ? p = F : E(p) && (p = A(p));\n }\n for (let { type: F } of g != null ? g : []) {\n let O = G[F](x, C, {\n tailwindConfig: m\n });\n O !== void 0 && (yield [\n O,\n F,\n p != null ? p : null\n ]);\n }\n }\n})(Ue);\nvar Xe = {};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"default\", {\n enumerable: !0,\n get: function() {\n return t;\n }\n });\n function t(r) {\n return typeof r == \"function\" ? r({}) : r;\n }\n})(Xe);\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"default\", {\n enumerable: !0,\n get: function() {\n return C;\n }\n });\n const t = /* @__PURE__ */ E(fe), r = /* @__PURE__ */ E(ze), n = /* @__PURE__ */ E(Pe), a = /* @__PURE__ */ E(he), o = He, i = je, c = Be, l = /* @__PURE__ */ E(We), s = Re, d = Ue, v = pe, h = /* @__PURE__ */ E(Xe);\n function E(m) {\n return m && m.__esModule ? m : {\n default: m\n };\n }\n function y(m) {\n return typeof m == \"function\";\n }\n function k(m, ...b) {\n let x = b.pop();\n for (let p of b)\n for (let $ in p) {\n let f = x(m[$], p[$]);\n f === void 0 ? (0, l.default)(m[$]) && (0, l.default)(p[$]) ? m[$] = k({}, m[$], p[$], x) : m[$] = p[$] : m[$] = f;\n }\n return m;\n }\n const A = {\n colors: a.default,\n negative(m) {\n return Object.keys(m).filter((b) => m[b] !== \"0\").reduce((b, x) => {\n let p = (0, t.default)(m[x]);\n return p !== void 0 && (b[`-${x}`] = p), b;\n }, {});\n },\n breakpoints(m) {\n return Object.keys(m).filter((b) => typeof m[b] == \"string\").reduce((b, x) => ({\n ...b,\n [`screen-${x}`]: m[x]\n }), {});\n }\n };\n function P(m, ...b) {\n return y(m) ? m(...b) : m;\n }\n function L(m) {\n return m.reduce((b, { extend: x }) => k(b, x, (p, $) => p === void 0 ? [\n $\n ] : Array.isArray(p) ? [\n $,\n ...p\n ] : [\n $,\n p\n ]), {});\n }\n function M(m) {\n return {\n ...m.reduce((b, x) => (0, o.defaults)(b, x), {}),\n // In order to resolve n config objects, we combine all of their `extend` properties\n // into arrays instead of objects so they aren't overridden.\n extend: L(m)\n };\n }\n function G(m, b) {\n if (Array.isArray(m) && (0, l.default)(m[0]))\n return m.concat(b);\n if (Array.isArray(b) && (0, l.default)(b[0]) && (0, l.default)(m))\n return [\n m,\n ...b\n ];\n if (Array.isArray(b))\n return b;\n }\n function H({ extend: m, ...b }) {\n return k(b, m, (x, p) => !y(x) && !p.some(y) ? k({}, x, ...p, G) : ($, f) => k({}, ...[\n x,\n ...p\n ].map((_) => P(_, $, f)), G));\n }\n function* W(m) {\n let b = (0, i.toPath)(m);\n if (b.length === 0 || (yield b, Array.isArray(m)))\n return;\n let x = /^(.*?)\\s*\\/\\s*([^/]+)$/, p = m.match(x);\n if (p !== null) {\n let [, $, f] = p, _ = (0, i.toPath)($);\n _.alpha = f, yield _;\n }\n }\n function N(m) {\n const b = (x, p) => {\n for (const $ of W(x)) {\n let f = 0, _ = m;\n for (; _ != null && f < $.length; )\n _ = _[$[f++]], _ = y(_) && ($.alpha === void 0 || f <= $.length - 1) ? _(b, A) : _;\n if (_ !== void 0) {\n if ($.alpha !== void 0) {\n let F = (0, d.parseColorFormat)(_);\n return (0, v.withAlphaValue)(F, $.alpha, (0, h.default)(F));\n }\n return (0, l.default)(_) ? (0, s.cloneDeep)(_) : _;\n }\n }\n return p;\n };\n return Object.assign(b, {\n theme: b,\n ...A\n }), Object.keys(m).reduce((x, p) => (x[p] = y(m[p]) ? m[p](b, A) : m[p], x), {});\n }\n function R(m) {\n let b = [];\n return m.forEach((x) => {\n b = [\n ...b,\n x\n ];\n var p;\n const $ = (p = x == null ? void 0 : x.plugins) !== null && p !== void 0 ? p : [];\n $.length !== 0 && $.forEach((f) => {\n f.__isOptionsFunction && (f = f());\n var _;\n b = [\n ...b,\n ...R([\n (_ = f == null ? void 0 : f.config) !== null && _ !== void 0 ? _ : {}\n ])\n ];\n });\n }), b;\n }\n function g(m) {\n return [\n ...m\n ].reduceRight((x, p) => y(p) ? p({\n corePlugins: x\n }) : (0, n.default)(p, x), r.default);\n }\n function D(m) {\n return [\n ...m\n ].reduceRight((x, p) => [\n ...x,\n ...p\n ], []);\n }\n function C(m) {\n let b = [\n ...R(m),\n {\n prefix: \"\",\n important: !1,\n separator: \":\"\n }\n ];\n var x, p;\n return (0, c.normalizeConfig)((0, o.defaults)({\n theme: N(H(M(b.map(($) => (x = $ == null ? void 0 : $.theme) !== null && x !== void 0 ? x : {})))),\n corePlugins: g(b.map(($) => $.corePlugins)),\n plugins: D(m.map(($) => (p = $ == null ? void 0 : $.plugins) !== null && p !== void 0 ? p : []))\n }, ...b));\n }\n})(Me);\nvar Ye = {}, ct = {\n content: [],\n presets: [],\n darkMode: \"media\",\n // or 'class'\n theme: {\n accentColor: ({ theme: e }) => ({\n ...e(\"colors\"),\n auto: \"auto\"\n }),\n animation: {\n none: \"none\",\n spin: \"spin 1s linear infinite\",\n ping: \"ping 1s cubic-bezier(0, 0, 0.2, 1) infinite\",\n pulse: \"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite\",\n bounce: \"bounce 1s infinite\"\n },\n aria: {\n busy: 'busy=\"true\"',\n checked: 'checked=\"true\"',\n disabled: 'disabled=\"true\"',\n expanded: 'expanded=\"true\"',\n hidden: 'hidden=\"true\"',\n pressed: 'pressed=\"true\"',\n readonly: 'readonly=\"true\"',\n required: 'required=\"true\"',\n selected: 'selected=\"true\"'\n },\n aspectRatio: {\n auto: \"auto\",\n square: \"1 / 1\",\n video: \"16 / 9\"\n },\n backdropBlur: ({ theme: e }) => e(\"blur\"),\n backdropBrightness: ({ theme: e }) => e(\"brightness\"),\n backdropContrast: ({ theme: e }) => e(\"contrast\"),\n backdropGrayscale: ({ theme: e }) => e(\"grayscale\"),\n backdropHueRotate: ({ theme: e }) => e(\"hueRotate\"),\n backdropInvert: ({ theme: e }) => e(\"invert\"),\n backdropOpacity: ({ theme: e }) => e(\"opacity\"),\n backdropSaturate: ({ theme: e }) => e(\"saturate\"),\n backdropSepia: ({ theme: e }) => e(\"sepia\"),\n backgroundColor: ({ theme: e }) => e(\"colors\"),\n backgroundImage: {\n none: \"none\",\n \"gradient-to-t\": \"linear-gradient(to top, var(--tw-gradient-stops))\",\n \"gradient-to-tr\": \"linear-gradient(to top right, var(--tw-gradient-stops))\",\n \"gradient-to-r\": \"linear-gradient(to right, var(--tw-gradient-stops))\",\n \"gradient-to-br\": \"linear-gradient(to bottom right, var(--tw-gradient-stops))\",\n \"gradient-to-b\": \"linear-gradient(to bottom, var(--tw-gradient-stops))\",\n \"gradient-to-bl\": \"linear-gradient(to bottom left, var(--tw-gradient-stops))\",\n \"gradient-to-l\": \"linear-gradient(to left, var(--tw-gradient-stops))\",\n \"gradient-to-tl\": \"linear-gradient(to top left, var(--tw-gradient-stops))\"\n },\n backgroundOpacity: ({ theme: e }) => e(\"opacity\"),\n backgroundPosition: {\n bottom: \"bottom\",\n center: \"center\",\n left: \"left\",\n \"left-bottom\": \"left bottom\",\n \"left-top\": \"left top\",\n right: \"right\",\n \"right-bottom\": \"right bottom\",\n \"right-top\": \"right top\",\n top: \"top\"\n },\n backgroundSize: {\n auto: \"auto\",\n cover: \"cover\",\n contain: \"contain\"\n },\n blur: {\n 0: \"0\",\n none: \"0\",\n sm: \"4px\",\n DEFAULT: \"8px\",\n md: \"12px\",\n lg: \"16px\",\n xl: \"24px\",\n \"2xl\": \"40px\",\n \"3xl\": \"64px\"\n },\n borderColor: ({ theme: e }) => ({\n ...e(\"colors\"),\n DEFAULT: e(\"colors.gray.200\", \"currentColor\")\n }),\n borderOpacity: ({ theme: e }) => e(\"opacity\"),\n borderRadius: {\n none: \"0px\",\n sm: \"0.125rem\",\n DEFAULT: \"0.25rem\",\n md: \"0.375rem\",\n lg: \"0.5rem\",\n xl: \"0.75rem\",\n \"2xl\": \"1rem\",\n \"3xl\": \"1.5rem\",\n full: \"9999px\"\n },\n borderSpacing: ({ theme: e }) => ({\n ...e(\"spacing\")\n }),\n borderWidth: {\n DEFAULT: \"1px\",\n 0: \"0px\",\n 2: \"2px\",\n 4: \"4px\",\n 8: \"8px\"\n },\n boxShadow: {\n sm: \"0 1px 2px 0 rgb(0 0 0 / 0.05)\",\n DEFAULT: \"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)\",\n md: \"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)\",\n lg: \"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)\",\n xl: \"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)\",\n \"2xl\": \"0 25px 50px -12px rgb(0 0 0 / 0.25)\",\n inner: \"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)\",\n none: \"none\"\n },\n boxShadowColor: ({ theme: e }) => e(\"colors\"),\n brightness: {\n 0: \"0\",\n 50: \".5\",\n 75: \".75\",\n 90: \".9\",\n 95: \".95\",\n 100: \"1\",\n 105: \"1.05\",\n 110: \"1.1\",\n 125: \"1.25\",\n 150: \"1.5\",\n 200: \"2\"\n },\n caretColor: ({ theme: e }) => e(\"colors\"),\n colors: ({ colors: e }) => ({\n inherit: e.inherit,\n current: e.current,\n transparent: e.transparent,\n black: e.black,\n white: e.white,\n slate: e.slate,\n gray: e.gray,\n zinc: e.zinc,\n neutral: e.neutral,\n stone: e.stone,\n red: e.red,\n orange: e.orange,\n amber: e.amber,\n yellow: e.yellow,\n lime: e.lime,\n green: e.green,\n emerald: e.emerald,\n teal: e.teal,\n cyan: e.cyan,\n sky: e.sky,\n blue: e.blue,\n indigo: e.indigo,\n violet: e.violet,\n purple: e.purple,\n fuchsia: e.fuchsia,\n pink: e.pink,\n rose: e.rose\n }),\n columns: {\n auto: \"auto\",\n 1: \"1\",\n 2: \"2\",\n 3: \"3\",\n 4: \"4\",\n 5: \"5\",\n 6: \"6\",\n 7: \"7\",\n 8: \"8\",\n 9: \"9\",\n 10: \"10\",\n 11: \"11\",\n 12: \"12\",\n \"3xs\": \"16rem\",\n \"2xs\": \"18rem\",\n xs: \"20rem\",\n sm: \"24rem\",\n md: \"28rem\",\n lg: \"32rem\",\n xl: \"36rem\",\n \"2xl\": \"42rem\",\n \"3xl\": \"48rem\",\n \"4xl\": \"56rem\",\n \"5xl\": \"64rem\",\n \"6xl\": \"72rem\",\n \"7xl\": \"80rem\"\n },\n container: {},\n content: {\n none: \"none\"\n },\n contrast: {\n 0: \"0\",\n 50: \".5\",\n 75: \".75\",\n 100: \"1\",\n 125: \"1.25\",\n 150: \"1.5\",\n 200: \"2\"\n },\n cursor: {\n auto: \"auto\",\n default: \"default\",\n pointer: \"pointer\",\n wait: \"wait\",\n text: \"text\",\n move: \"move\",\n help: \"help\",\n \"not-allowed\": \"not-allowed\",\n none: \"none\",\n \"context-menu\": \"context-menu\",\n progress: \"progress\",\n cell: \"cell\",\n crosshair: \"crosshair\",\n \"vertical-text\": \"vertical-text\",\n alias: \"alias\",\n copy: \"copy\",\n \"no-drop\": \"no-drop\",\n grab: \"grab\",\n grabbing: \"grabbing\",\n \"all-scroll\": \"all-scroll\",\n \"col-resize\": \"col-resize\",\n \"row-resize\": \"row-resize\",\n \"n-resize\": \"n-resize\",\n \"e-resize\": \"e-resize\",\n \"s-resize\": \"s-resize\",\n \"w-resize\": \"w-resize\",\n \"ne-resize\": \"ne-resize\",\n \"nw-resize\": \"nw-resize\",\n \"se-resize\": \"se-resize\",\n \"sw-resize\": \"sw-resize\",\n \"ew-resize\": \"ew-resize\",\n \"ns-resize\": \"ns-resize\",\n \"nesw-resize\": \"nesw-resize\",\n \"nwse-resize\": \"nwse-resize\",\n \"zoom-in\": \"zoom-in\",\n \"zoom-out\": \"zoom-out\"\n },\n divideColor: ({ theme: e }) => e(\"borderColor\"),\n divideOpacity: ({ theme: e }) => e(\"borderOpacity\"),\n divideWidth: ({ theme: e }) => e(\"borderWidth\"),\n dropShadow: {\n sm: \"0 1px 1px rgb(0 0 0 / 0.05)\",\n DEFAULT: [\"0 1px 2px rgb(0 0 0 / 0.1)\", \"0 1px 1px rgb(0 0 0 / 0.06)\"],\n md: [\"0 4px 3px rgb(0 0 0 / 0.07)\", \"0 2px 2px rgb(0 0 0 / 0.06)\"],\n lg: [\"0 10px 8px rgb(0 0 0 / 0.04)\", \"0 4px 3px rgb(0 0 0 / 0.1)\"],\n xl: [\"0 20px 13px rgb(0 0 0 / 0.03)\", \"0 8px 5px rgb(0 0 0 / 0.08)\"],\n \"2xl\": \"0 25px 25px rgb(0 0 0 / 0.15)\",\n none: \"0 0 #0000\"\n },\n fill: ({ theme: e }) => ({\n none: \"none\",\n ...e(\"colors\")\n }),\n flex: {\n 1: \"1 1 0%\",\n auto: \"1 1 auto\",\n initial: \"0 1 auto\",\n none: \"none\"\n },\n flexBasis: ({ theme: e }) => ({\n auto: \"auto\",\n ...e(\"spacing\"),\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n \"1/5\": \"20%\",\n \"2/5\": \"40%\",\n \"3/5\": \"60%\",\n \"4/5\": \"80%\",\n \"1/6\": \"16.666667%\",\n \"2/6\": \"33.333333%\",\n \"3/6\": \"50%\",\n \"4/6\": \"66.666667%\",\n \"5/6\": \"83.333333%\",\n \"1/12\": \"8.333333%\",\n \"2/12\": \"16.666667%\",\n \"3/12\": \"25%\",\n \"4/12\": \"33.333333%\",\n \"5/12\": \"41.666667%\",\n \"6/12\": \"50%\",\n \"7/12\": \"58.333333%\",\n \"8/12\": \"66.666667%\",\n \"9/12\": \"75%\",\n \"10/12\": \"83.333333%\",\n \"11/12\": \"91.666667%\",\n full: \"100%\"\n }),\n flexGrow: {\n 0: \"0\",\n DEFAULT: \"1\"\n },\n flexShrink: {\n 0: \"0\",\n DEFAULT: \"1\"\n },\n fontFamily: {\n sans: [\n \"ui-sans-serif\",\n \"system-ui\",\n \"-apple-system\",\n \"BlinkMacSystemFont\",\n '\"Segoe UI\"',\n \"Roboto\",\n '\"Helvetica Neue\"',\n \"Arial\",\n '\"Noto Sans\"',\n \"sans-serif\",\n '\"Apple Color Emoji\"',\n '\"Segoe UI Emoji\"',\n '\"Segoe UI Symbol\"',\n '\"Noto Color Emoji\"'\n ],\n serif: [\"ui-serif\", \"Georgia\", \"Cambria\", '\"Times New Roman\"', \"Times\", \"serif\"],\n mono: [\n \"ui-monospace\",\n \"SFMono-Regular\",\n \"Menlo\",\n \"Monaco\",\n \"Consolas\",\n '\"Liberation Mono\"',\n '\"Courier New\"',\n \"monospace\"\n ]\n },\n fontSize: {\n xs: [\"0.75rem\", { lineHeight: \"1rem\" }],\n sm: [\"0.875rem\", { lineHeight: \"1.25rem\" }],\n base: [\"1rem\", { lineHeight: \"1.5rem\" }],\n lg: [\"1.125rem\", { lineHeight: \"1.75rem\" }],\n xl: [\"1.25rem\", { lineHeight: \"1.75rem\" }],\n \"2xl\": [\"1.5rem\", { lineHeight: \"2rem\" }],\n \"3xl\": [\"1.875rem\", { lineHeight: \"2.25rem\" }],\n \"4xl\": [\"2.25rem\", { lineHeight: \"2.5rem\" }],\n \"5xl\": [\"3rem\", { lineHeight: \"1\" }],\n \"6xl\": [\"3.75rem\", { lineHeight: \"1\" }],\n \"7xl\": [\"4.5rem\", { lineHeight: \"1\" }],\n \"8xl\": [\"6rem\", { lineHeight: \"1\" }],\n \"9xl\": [\"8rem\", { lineHeight: \"1\" }]\n },\n fontWeight: {\n thin: \"100\",\n extralight: \"200\",\n light: \"300\",\n normal: \"400\",\n medium: \"500\",\n semibold: \"600\",\n bold: \"700\",\n extrabold: \"800\",\n black: \"900\"\n },\n gap: ({ theme: e }) => e(\"spacing\"),\n gradientColorStops: ({ theme: e }) => e(\"colors\"),\n gradientColorStopPositions: {\n \"0%\": \"0%\",\n \"5%\": \"5%\",\n \"10%\": \"10%\",\n \"15%\": \"15%\",\n \"20%\": \"20%\",\n \"25%\": \"25%\",\n \"30%\": \"30%\",\n \"35%\": \"35%\",\n \"40%\": \"40%\",\n \"45%\": \"45%\",\n \"50%\": \"50%\",\n \"55%\": \"55%\",\n \"60%\": \"60%\",\n \"65%\": \"65%\",\n \"70%\": \"70%\",\n \"75%\": \"75%\",\n \"80%\": \"80%\",\n \"85%\": \"85%\",\n \"90%\": \"90%\",\n \"95%\": \"95%\",\n \"100%\": \"100%\"\n },\n grayscale: {\n 0: \"0\",\n DEFAULT: \"100%\"\n },\n gridAutoColumns: {\n auto: \"auto\",\n min: \"min-content\",\n max: \"max-content\",\n fr: \"minmax(0, 1fr)\"\n },\n gridAutoRows: {\n auto: \"auto\",\n min: \"min-content\",\n max: \"max-content\",\n fr: \"minmax(0, 1fr)\"\n },\n gridColumn: {\n auto: \"auto\",\n \"span-1\": \"span 1 / span 1\",\n \"span-2\": \"span 2 / span 2\",\n \"span-3\": \"span 3 / span 3\",\n \"span-4\": \"span 4 / span 4\",\n \"span-5\": \"span 5 / span 5\",\n \"span-6\": \"span 6 / span 6\",\n \"span-7\": \"span 7 / span 7\",\n \"span-8\": \"span 8 / span 8\",\n \"span-9\": \"span 9 / span 9\",\n \"span-10\": \"span 10 / span 10\",\n \"span-11\": \"span 11 / span 11\",\n \"span-12\": \"span 12 / span 12\",\n \"span-full\": \"1 / -1\"\n },\n gridColumnEnd: {\n auto: \"auto\",\n 1: \"1\",\n 2: \"2\",\n 3: \"3\",\n 4: \"4\",\n 5: \"5\",\n 6: \"6\",\n 7: \"7\",\n 8: \"8\",\n 9: \"9\",\n 10: \"10\",\n 11: \"11\",\n 12: \"12\",\n 13: \"13\"\n },\n gridColumnStart: {\n auto: \"auto\",\n 1: \"1\",\n 2: \"2\",\n 3: \"3\",\n 4: \"4\",\n 5: \"5\",\n 6: \"6\",\n 7: \"7\",\n 8: \"8\",\n 9: \"9\",\n 10: \"10\",\n 11: \"11\",\n 12: \"12\",\n 13: \"13\"\n },\n gridRow: {\n auto: \"auto\",\n \"span-1\": \"span 1 / span 1\",\n \"span-2\": \"span 2 / span 2\",\n \"span-3\": \"span 3 / span 3\",\n \"span-4\": \"span 4 / span 4\",\n \"span-5\": \"span 5 / span 5\",\n \"span-6\": \"span 6 / span 6\",\n \"span-full\": \"1 / -1\"\n },\n gridRowEnd: {\n auto: \"auto\",\n 1: \"1\",\n 2: \"2\",\n 3: \"3\",\n 4: \"4\",\n 5: \"5\",\n 6: \"6\",\n 7: \"7\"\n },\n gridRowStart: {\n auto: \"auto\",\n 1: \"1\",\n 2: \"2\",\n 3: \"3\",\n 4: \"4\",\n 5: \"5\",\n 6: \"6\",\n 7: \"7\"\n },\n gridTemplateColumns: {\n none: \"none\",\n 1: \"repeat(1, minmax(0, 1fr))\",\n 2: \"repeat(2, minmax(0, 1fr))\",\n 3: \"repeat(3, minmax(0, 1fr))\",\n 4: \"repeat(4, minmax(0, 1fr))\",\n 5: \"repeat(5, minmax(0, 1fr))\",\n 6: \"repeat(6, minmax(0, 1fr))\",\n 7: \"repeat(7, minmax(0, 1fr))\",\n 8: \"repeat(8, minmax(0, 1fr))\",\n 9: \"repeat(9, minmax(0, 1fr))\",\n 10: \"repeat(10, minmax(0, 1fr))\",\n 11: \"repeat(11, minmax(0, 1fr))\",\n 12: \"repeat(12, minmax(0, 1fr))\"\n },\n gridTemplateRows: {\n none: \"none\",\n 1: \"repeat(1, minmax(0, 1fr))\",\n 2: \"repeat(2, minmax(0, 1fr))\",\n 3: \"repeat(3, minmax(0, 1fr))\",\n 4: \"repeat(4, minmax(0, 1fr))\",\n 5: \"repeat(5, minmax(0, 1fr))\",\n 6: \"repeat(6, minmax(0, 1fr))\"\n },\n height: ({ theme: e }) => ({\n auto: \"auto\",\n ...e(\"spacing\"),\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n \"1/5\": \"20%\",\n \"2/5\": \"40%\",\n \"3/5\": \"60%\",\n \"4/5\": \"80%\",\n \"1/6\": \"16.666667%\",\n \"2/6\": \"33.333333%\",\n \"3/6\": \"50%\",\n \"4/6\": \"66.666667%\",\n \"5/6\": \"83.333333%\",\n full: \"100%\",\n screen: \"100vh\",\n min: \"min-content\",\n max: \"max-content\",\n fit: \"fit-content\"\n }),\n hueRotate: {\n 0: \"0deg\",\n 15: \"15deg\",\n 30: \"30deg\",\n 60: \"60deg\",\n 90: \"90deg\",\n 180: \"180deg\"\n },\n inset: ({ theme: e }) => ({\n auto: \"auto\",\n ...e(\"spacing\"),\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n full: \"100%\"\n }),\n invert: {\n 0: \"0\",\n DEFAULT: \"100%\"\n },\n keyframes: {\n spin: {\n to: {\n transform: \"rotate(360deg)\"\n }\n },\n ping: {\n \"75%, 100%\": {\n transform: \"scale(2)\",\n opacity: \"0\"\n }\n },\n pulse: {\n \"50%\": {\n opacity: \".5\"\n }\n },\n bounce: {\n \"0%, 100%\": {\n transform: \"translateY(-25%)\",\n animationTimingFunction: \"cubic-bezier(0.8,0,1,1)\"\n },\n \"50%\": {\n transform: \"none\",\n animationTimingFunction: \"cubic-bezier(0,0,0.2,1)\"\n }\n }\n },\n letterSpacing: {\n tighter: \"-0.05em\",\n tight: \"-0.025em\",\n normal: \"0em\",\n wide: \"0.025em\",\n wider: \"0.05em\",\n widest: \"0.1em\"\n },\n lineHeight: {\n none: \"1\",\n tight: \"1.25\",\n snug: \"1.375\",\n normal: \"1.5\",\n relaxed: \"1.625\",\n loose: \"2\",\n 3: \".75rem\",\n 4: \"1rem\",\n 5: \"1.25rem\",\n 6: \"1.5rem\",\n 7: \"1.75rem\",\n 8: \"2rem\",\n 9: \"2.25rem\",\n 10: \"2.5rem\"\n },\n listStyleType: {\n none: \"none\",\n disc: \"disc\",\n decimal: \"decimal\"\n },\n listStyleImage: {\n none: \"none\"\n },\n margin: ({ theme: e }) => ({\n auto: \"auto\",\n ...e(\"spacing\")\n }),\n lineClamp: {\n 1: \"1\",\n 2: \"2\",\n 3: \"3\",\n 4: \"4\",\n 5: \"5\",\n 6: \"6\"\n },\n maxHeight: ({ theme: e }) => ({\n ...e(\"spacing\"),\n none: \"none\",\n full: \"100%\",\n screen: \"100vh\",\n min: \"min-content\",\n max: \"max-content\",\n fit: \"fit-content\"\n }),\n maxWidth: ({ theme: e, breakpoints: t }) => ({\n none: \"none\",\n 0: \"0rem\",\n xs: \"20rem\",\n sm: \"24rem\",\n md: \"28rem\",\n lg: \"32rem\",\n xl: \"36rem\",\n \"2xl\": \"42rem\",\n \"3xl\": \"48rem\",\n \"4xl\": \"56rem\",\n \"5xl\": \"64rem\",\n \"6xl\": \"72rem\",\n \"7xl\": \"80rem\",\n full: \"100%\",\n min: \"min-content\",\n max: \"max-content\",\n fit: \"fit-content\",\n prose: \"65ch\",\n ...t(e(\"screens\"))\n }),\n minHeight: {\n 0: \"0px\",\n full: \"100%\",\n screen: \"100vh\",\n min: \"min-content\",\n max: \"max-content\",\n fit: \"fit-content\"\n },\n minWidth: {\n 0: \"0px\",\n full: \"100%\",\n min: \"min-content\",\n max: \"max-content\",\n fit: \"fit-content\"\n },\n objectPosition: {\n bottom: \"bottom\",\n center: \"center\",\n left: \"left\",\n \"left-bottom\": \"left bottom\",\n \"left-top\": \"left top\",\n right: \"right\",\n \"right-bottom\": \"right bottom\",\n \"right-top\": \"right top\",\n top: \"top\"\n },\n opacity: {\n 0: \"0\",\n 5: \"0.05\",\n 10: \"0.1\",\n 20: \"0.2\",\n 25: \"0.25\",\n 30: \"0.3\",\n 40: \"0.4\",\n 50: \"0.5\",\n 60: \"0.6\",\n 70: \"0.7\",\n 75: \"0.75\",\n 80: \"0.8\",\n 90: \"0.9\",\n 95: \"0.95\",\n 100: \"1\"\n },\n order: {\n first: \"-9999\",\n last: \"9999\",\n none: \"0\",\n 1: \"1\",\n 2: \"2\",\n 3: \"3\",\n 4: \"4\",\n 5: \"5\",\n 6: \"6\",\n 7: \"7\",\n 8: \"8\",\n 9: \"9\",\n 10: \"10\",\n 11: \"11\",\n 12: \"12\"\n },\n outlineColor: ({ theme: e }) => e(\"colors\"),\n outlineOffset: {\n 0: \"0px\",\n 1: \"1px\",\n 2: \"2px\",\n 4: \"4px\",\n 8: \"8px\"\n },\n outlineWidth: {\n 0: \"0px\",\n 1: \"1px\",\n 2: \"2px\",\n 4: \"4px\",\n 8: \"8px\"\n },\n padding: ({ theme: e }) => e(\"spacing\"),\n placeholderColor: ({ theme: e }) => e(\"colors\"),\n placeholderOpacity: ({ theme: e }) => e(\"opacity\"),\n ringColor: ({ theme: e }) => ({\n DEFAULT: e(\"colors.blue.500\", \"#3b82f6\"),\n ...e(\"colors\")\n }),\n ringOffsetColor: ({ theme: e }) => e(\"colors\"),\n ringOffsetWidth: {\n 0: \"0px\",\n 1: \"1px\",\n 2: \"2px\",\n 4: \"4px\",\n 8: \"8px\"\n },\n ringOpacity: ({ theme: e }) => ({\n DEFAULT: \"0.5\",\n ...e(\"opacity\")\n }),\n ringWidth: {\n DEFAULT: \"3px\",\n 0: \"0px\",\n 1: \"1px\",\n 2: \"2px\",\n 4: \"4px\",\n 8: \"8px\"\n },\n rotate: {\n 0: \"0deg\",\n 1: \"1deg\",\n 2: \"2deg\",\n 3: \"3deg\",\n 6: \"6deg\",\n 12: \"12deg\",\n 45: \"45deg\",\n 90: \"90deg\",\n 180: \"180deg\"\n },\n saturate: {\n 0: \"0\",\n 50: \".5\",\n 100: \"1\",\n 150: \"1.5\",\n 200: \"2\"\n },\n scale: {\n 0: \"0\",\n 50: \".5\",\n 75: \".75\",\n 90: \".9\",\n 95: \".95\",\n 100: \"1\",\n 105: \"1.05\",\n 110: \"1.1\",\n 125: \"1.25\",\n 150: \"1.5\"\n },\n screens: {\n sm: \"640px\",\n md: \"768px\",\n lg: \"1024px\",\n xl: \"1280px\",\n \"2xl\": \"1536px\"\n },\n scrollMargin: ({ theme: e }) => ({\n ...e(\"spacing\")\n }),\n scrollPadding: ({ theme: e }) => e(\"spacing\"),\n sepia: {\n 0: \"0\",\n DEFAULT: \"100%\"\n },\n skew: {\n 0: \"0deg\",\n 1: \"1deg\",\n 2: \"2deg\",\n 3: \"3deg\",\n 6: \"6deg\",\n 12: \"12deg\"\n },\n space: ({ theme: e }) => ({\n ...e(\"spacing\")\n }),\n spacing: {\n px: \"1px\",\n 0: \"0px\",\n 0.5: \"0.125rem\",\n 1: \"0.25rem\",\n 1.5: \"0.375rem\",\n 2: \"0.5rem\",\n 2.5: \"0.625rem\",\n 3: \"0.75rem\",\n 3.5: \"0.875rem\",\n 4: \"1rem\",\n 5: \"1.25rem\",\n 6: \"1.5rem\",\n 7: \"1.75rem\",\n 8: \"2rem\",\n 9: \"2.25rem\",\n 10: \"2.5rem\",\n 11: \"2.75rem\",\n 12: \"3rem\",\n 14: \"3.5rem\",\n 16: \"4rem\",\n 20: \"5rem\",\n 24: \"6rem\",\n 28: \"7rem\",\n 32: \"8rem\",\n 36: \"9rem\",\n 40: \"10rem\",\n 44: \"11rem\",\n 48: \"12rem\",\n 52: \"13rem\",\n 56: \"14rem\",\n 60: \"15rem\",\n 64: \"16rem\",\n 72: \"18rem\",\n 80: \"20rem\",\n 96: \"24rem\"\n },\n stroke: ({ theme: e }) => ({\n none: \"none\",\n ...e(\"colors\")\n }),\n strokeWidth: {\n 0: \"0\",\n 1: \"1\",\n 2: \"2\"\n },\n supports: {},\n data: {},\n textColor: ({ theme: e }) => e(\"colors\"),\n textDecorationColor: ({ theme: e }) => e(\"colors\"),\n textDecorationThickness: {\n auto: \"auto\",\n \"from-font\": \"from-font\",\n 0: \"0px\",\n 1: \"1px\",\n 2: \"2px\",\n 4: \"4px\",\n 8: \"8px\"\n },\n textIndent: ({ theme: e }) => ({\n ...e(\"spacing\")\n }),\n textOpacity: ({ theme: e }) => e(\"opacity\"),\n textUnderlineOffset: {\n auto: \"auto\",\n 0: \"0px\",\n 1: \"1px\",\n 2: \"2px\",\n 4: \"4px\",\n 8: \"8px\"\n },\n transformOrigin: {\n center: \"center\",\n top: \"top\",\n \"top-right\": \"top right\",\n right: \"right\",\n \"bottom-right\": \"bottom right\",\n bottom: \"bottom\",\n \"bottom-left\": \"bottom left\",\n left: \"left\",\n \"top-left\": \"top left\"\n },\n transitionDelay: {\n 0: \"0s\",\n 75: \"75ms\",\n 100: \"100ms\",\n 150: \"150ms\",\n 200: \"200ms\",\n 300: \"300ms\",\n 500: \"500ms\",\n 700: \"700ms\",\n 1e3: \"1000ms\"\n },\n transitionDuration: {\n DEFAULT: \"150ms\",\n 0: \"0s\",\n 75: \"75ms\",\n 100: \"100ms\",\n 150: \"150ms\",\n 200: \"200ms\",\n 300: \"300ms\",\n 500: \"500ms\",\n 700: \"700ms\",\n 1e3: \"1000ms\"\n },\n transitionProperty: {\n none: \"none\",\n all: \"all\",\n DEFAULT: \"color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter\",\n colors: \"color, background-color, border-color, text-decoration-color, fill, stroke\",\n opacity: \"opacity\",\n shadow: \"box-shadow\",\n transform: \"transform\"\n },\n transitionTimingFunction: {\n DEFAULT: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n linear: \"linear\",\n in: \"cubic-bezier(0.4, 0, 1, 1)\",\n out: \"cubic-bezier(0, 0, 0.2, 1)\",\n \"in-out\": \"cubic-bezier(0.4, 0, 0.2, 1)\"\n },\n translate: ({ theme: e }) => ({\n ...e(\"spacing\"),\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n full: \"100%\"\n }),\n width: ({ theme: e }) => ({\n auto: \"auto\",\n ...e(\"spacing\"),\n \"1/2\": \"50%\",\n \"1/3\": \"33.333333%\",\n \"2/3\": \"66.666667%\",\n \"1/4\": \"25%\",\n \"2/4\": \"50%\",\n \"3/4\": \"75%\",\n \"1/5\": \"20%\",\n \"2/5\": \"40%\",\n \"3/5\": \"60%\",\n \"4/5\": \"80%\",\n \"1/6\": \"16.666667%\",\n \"2/6\": \"33.333333%\",\n \"3/6\": \"50%\",\n \"4/6\": \"66.666667%\",\n \"5/6\": \"83.333333%\",\n \"1/12\": \"8.333333%\",\n \"2/12\": \"16.666667%\",\n \"3/12\": \"25%\",\n \"4/12\": \"33.333333%\",\n \"5/12\": \"41.666667%\",\n \"6/12\": \"50%\",\n \"7/12\": \"58.333333%\",\n \"8/12\": \"66.666667%\",\n \"9/12\": \"75%\",\n \"10/12\": \"83.333333%\",\n \"11/12\": \"91.666667%\",\n full: \"100%\",\n screen: \"100vw\",\n min: \"min-content\",\n max: \"max-content\",\n fit: \"fit-content\"\n }),\n willChange: {\n auto: \"auto\",\n scroll: \"scroll-position\",\n contents: \"contents\",\n transform: \"transform\"\n },\n zIndex: {\n auto: \"auto\",\n 0: \"0\",\n 10: \"10\",\n 20: \"20\",\n 30: \"30\",\n 40: \"40\",\n 50: \"50\"\n }\n },\n plugins: []\n};\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"default\", {\n enumerable: !0,\n get: function() {\n return a;\n }\n });\n const t = /* @__PURE__ */ n(ct), r = ne;\n function n(o) {\n return o && o.__esModule ? o : {\n default: o\n };\n }\n function a(o) {\n var i;\n const c = ((i = o == null ? void 0 : o.presets) !== null && i !== void 0 ? i : [\n t.default\n ]).slice().reverse().flatMap((d) => a(d instanceof Function ? d() : d)), l = {\n // Add experimental configs here...\n respectDefaultRingColorOpacity: {\n theme: {\n ringColor: ({ theme: d }) => ({\n DEFAULT: \"#3b82f67f\",\n ...d(\"colors\")\n })\n }\n },\n disableColorOpacityUtilitiesByDefault: {\n corePlugins: {\n backgroundOpacity: !1,\n borderOpacity: !1,\n divideOpacity: !1,\n placeholderOpacity: !1,\n ringOpacity: !1,\n textOpacity: !1\n }\n }\n }, s = Object.keys(l).filter((d) => (0, r.flagEnabled)(o, d)).map((d) => l[d]);\n return [\n o,\n ...s,\n ...c\n ];\n }\n})(Ye);\n(function(e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), Object.defineProperty(e, \"default\", {\n enumerable: !0,\n get: function() {\n return a;\n }\n });\n const t = /* @__PURE__ */ n(Me), r = /* @__PURE__ */ n(Ye);\n function n(o) {\n return o && o.__esModule ? o : {\n default: o\n };\n }\n function a(...o) {\n let [, ...i] = (0, r.default)(o[0]);\n return (0, t.default)([\n ...o,\n ...i\n ]);\n }\n})(Fe);\nlet se = Fe;\nvar dt = (se.__esModule ? se : { default: se }).default;\nconst ft = /* @__PURE__ */ ut(dt);\nlet ae = he;\nvar U = (ae.__esModule ? ae : { default: ae }).default;\nconst ht = {\n 50: \"#FCE3E4\",\n 100: \"#F9CDCE\",\n 200: \"#F39699\",\n 300: \"#ED6368\",\n 400: \"#E72C32\",\n 500: \"#C4161C\",\n 600: \"#9C1216\",\n 700: \"#770D11\",\n 800: \"#4E090B\",\n 900: \"#290506\"\n}, B = {\n onprimary: U.white,\n warning: U.amber,\n error: U.rose,\n info: U.cyan,\n success: U.lime,\n primary: U.sky,\n brand: ht\n}, mt = {\n ...B,\n // Warning\n warning: B.warning[500],\n \"warning-darken\": B.warning[600],\n \"warning-lighten\": B.warning[400],\n // Success\n success: B.success[500],\n \"success-darken\": B.success[600],\n \"success-lighten\": B.success[400],\n // Error\n error: B.error[500],\n \"error-darken\": B.error[600],\n \"error-lighten\": B.error[400],\n // Info\n info: B.info[500],\n \"info-darken\": B.info[600],\n \"info-lighten\": B.info[400],\n // Primary\n primary: B.primary[500],\n \"primary-darken\": B.primary[600],\n \"primary-lighten\": B.primary[400],\n // Surfaces\n onsurface: U.slate[500],\n onbackground: U.slate[700],\n surface: U.slate[50],\n background: U.white\n}, pt = {\n prefix: \"e-\",\n corePlugins: {\n preflight: !1\n },\n content: [\"./src/**/*.{html,js,vue,ts}\"],\n theme: {\n extend: {\n colors: mt,\n maxWidth: {\n \"1/12\": \"8.333333333%\",\n \"2/12\": \"16.666666666%\",\n \"3/12\": \"25%\",\n \"4/12\": \"33.333333333%\",\n \"5/12\": \"41.666666667%\",\n \"6/12\": \"50%\",\n \"7/12\": \"58.333333334%\",\n \"8/12\": \"66.666666666%\",\n \"9/12\": \"75%\",\n \"10/12\": \"83.333333334%\",\n \"11/12\": \"91.666666666%\",\n \"12/12\": \"100%\"\n }\n },\n fontSize: {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n base: \"1rem\",\n lg: \"1.125rem\",\n xl: \"1.25rem\",\n \"2xl\": \"1.5rem\",\n \"3xl\": \"1.875rem\",\n \"4xl\": \"2.25rem\",\n \"5xl\": \"3rem\",\n \"6xl\": \"3.75rem\",\n \"7xl\": \"4.5rem\",\n \"8xl\": \"6rem\",\n \"9xl\": \"8rem\"\n }\n },\n plugins: [],\n safelist: [\n {\n pattern: /e-w-(full|auto)/,\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"]\n },\n {\n pattern: /e-grow/,\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"]\n },\n {\n pattern: /e-basis-(\\d{1,2}\\/\\d{1,2}|full|auto|0)/,\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"]\n },\n {\n pattern: /^!?e-max-w-(\\d{1,2}\\/\\d{1,2})/,\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"]\n },\n {\n pattern: /e-offset-(1[0-2]|[1-9])/,\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"]\n },\n {\n pattern: /e-items-(start|center|end|baseline|stretch)/\n },\n {\n pattern: /e-self-(start|center|end|baseline|stretch)/\n },\n {\n pattern: /e-justify-(around|between|center|end|evenly|normal|start|stretch)/,\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"]\n },\n {\n pattern: /e-content-(around|baseline|between|center|end|evenly|normal|start|stretch)/\n }\n ]\n}, Ze = ft(pt), gt = Ze.theme.fontSize, vt = Ze.theme.colors, er = [\n T.dot,\n T.xs,\n T.sm,\n T.md,\n T.lg,\n T.xl\n], tr = [\n T.xs,\n T.sm,\n T.md,\n T.lg,\n T.xl,\n T[\"2xl\"]\n], yt = [\n T.xs,\n T.sm,\n T.md,\n T.base,\n T.lg,\n T.xl,\n T[\"2xl\"],\n T[\"3xl\"],\n T[\"4xl\"],\n T[\"5xl\"],\n T[\"6xl\"],\n T[\"7xl\"],\n T[\"8xl\"],\n T[\"9xl\"]\n], rr = [\n j.warning,\n j.error,\n j.info,\n j.success,\n j.primary,\n j.default\n], nr = [\n \"play\",\n \"pause\",\n \"ended\",\n \"loadeddata\",\n \"waiting\",\n \"playing\",\n \"timeupdate\",\n \"canplay\",\n \"canplaythrough\",\n \"statechanged\"\n], bt = V.extend({\n name: \"EIcon\",\n props: {\n icon: {\n type: String,\n default: \"\"\n },\n color: {\n type: String,\n default: j.default\n },\n size: {\n type: String,\n default: T.sm\n }\n },\n computed: {\n sizes() {\n return yt.reduce((e, t) => ({\n ...e,\n [t]: `e-text-${t}`\n }), {});\n },\n iconClasses() {\n var n, a;\n const e = this.sizes[this.size] || this.sizes[T.sm], t = `${((a = (n = this.icon) == null ? void 0 : n.split(\" \")) == null ? void 0 : a.length) > 1 ? this.icon : `fa fa-${this.icon}`}`;\n return [\n \"e-inline-flex e-items-center e-justify-center e-rounded-full\",\n this.color,\n t,\n e\n ];\n }\n }\n});\nvar xt = function() {\n var t = this, r = t._self._c;\n return r(\"div\", { staticClass: \"e-icon\" }, [r(\"i\", { class: t.iconClasses })]);\n}, _t = [], wt = /* @__PURE__ */ q(\n bt,\n xt,\n _t,\n !1,\n null,\n null,\n null,\n null\n);\nconst Ct = wt.exports, St = V.extend({\n name: \"ESpinner\",\n props: {\n dark: {\n type: Boolean,\n default: !1\n },\n color: {\n type: Boolean,\n default: !0\n },\n animationDuration: {\n type: [Number, String],\n default: 1e3\n },\n size: {\n type: String,\n default: T.base\n },\n opacity: {\n type: [String, Number],\n default: 1\n }\n },\n data() {\n return {\n sizes: gt,\n colors: vt\n };\n },\n computed: {\n computedSize() {\n return this.sizes[T[this.size]] || this.size || this.sizes[T.base];\n },\n fill() {\n let e = {\n primary: this.colors.brand[500],\n secondary: this.colors.neutral[300]\n };\n return this.dark && !this.color && (e = {\n primary: this.colors.neutral[100],\n secondary: this.colors.neutral[100]\n }), !this.dark && this.color && (e = {\n primary: this.colors.brand[500],\n secondary: this.colors.neutral[950]\n }), !this.dark && !this.color && (e = {\n primary: this.colors.neutral[200],\n secondary: this.colors.neutral[200]\n }), e;\n }\n },\n methods: {\n getNthPathStyle(e) {\n const t = typeof this.animationDuration == \"string\" ? Number.parseInt(this.animationDuration) : this.animationDuration;\n return {\n animationDuration: `${this.animationDuration}ms`,\n animationDelay: `${e / 10 * t}ms`,\n fill: `${this.fill[e % 2 === 0 ? \"primary\" : \"secondary\"]}`\n };\n }\n }\n});\nvar Tt = function() {\n var t = this, r = t._self._c;\n return r(\"svg\", { staticClass: \"e-spinner e-block\", class: {\n \"e-spinner--dark\": t.dark,\n \"e-spinner--grey\": !t.color\n }, style: { opacity: t.opacity }, attrs: { xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 1629.32 1608.86\", width: t.computedSize, height: t.computedSize } }, [r(\"path\", { staticClass: \"e-spinner__primary\", style: t.getNthPathStyle(0), attrs: { d: \"m1254.12,591.61C992.01,401.11,439.78,0,439.78,0h601.2c14.3,0,48.95,9.02,62.54,38.01,55.27,117.88,111.32,235.46,170.48,351.43,33.16,70.9-8.99,170.35-19.87,202.16\" } }), r(\"path\", { staticClass: \"e-spinner__secondary\", style: t.getNthPathStyle(1), attrs: { d: \"m1404.65,131.67c-29.37,89.94-55.8,170.95-82.25,251.93-4.05.87-8.1,1.73-12.15,2.61-40.61-83.95-81.21-167.9-123.12-254.54h217.51Z\" } }), r(\"path\", { staticClass: \"e-spinner__primary\", style: t.getNthPathStyle(2), attrs: { d: \"m1129.06,1093.51c100.75-307.98,312.75-956.75,312.75-956.75,0,0,180.36,558.53,184.75,572.14,4.39,13.59,6.45,49.34-16.96,71.19-95.21,88.81-189.88,178.28-282.06,270.2-57.29,53.34-164.86,43.8-198.48,43.21\" } }), r(\"path\", { staticClass: \"e-spinner__secondary\", style: t.getNthPathStyle(3), attrs: { d: \"m1342.3,1083.06c66.6-63.43,133.22-126.86,207.93-197.98,21.51,73.55,40.3,137.81,60.64,207.37h-263.35c-1.75-3.13-3.48-6.27-5.22-9.39\" } }), r(\"path\", { staticClass: \"e-spinner__primary\", style: t.getNthPathStyle(4), attrs: { d: \"m610.27,1137.17c324.03-.53,1006.55-1.85,1006.55-1.85,0,0-474.19,345.83-485.74,354.25-11.55,8.42-44.87,21.56-72.94,6.14-114.11-62.68-228.69-124.66-344.81-183.5-68.56-37.76-93.12-142.93-103.06-175.04\" } }), r(\"path\", { staticClass: \"e-spinner__secondary\", style: t.getNthPathStyle(5), attrs: { d: \"m938.58,1468.29c-62.81,42.58-118.35,80.24-180.28,122.23-28.35-87.22-54.62-168.03-80.89-248.86,2.62-2.92,5.26-5.85,7.9-8.76,81.89,43.78,163.79,87.56,253.26,135.39\" } }), r(\"path\", { staticClass: \"e-spinner__primary\", style: t.getNthPathStyle(6), attrs: { d: \"m413.07,652.86c101.35,307.77,314.99,956,314.99,956,0,0-476.23-343.04-487.83-351.39-11.58-8.36-34.44-35.93-28.52-67.4,24.07-127.96,47.3-256.13,67.09-384.8,14.54-76.9,106.84-132.96,134.28-152.42\" } }), r(\"path\", { staticClass: \"e-spinner__secondary\", style: t.getNthPathStyle(7), attrs: { d: \"m197.48,1068.8c-62.36-47.73-115.99-88.79-176.78-135.33,75.54-54.91,146.18-106.24,216.83-157.57,3.73,2.24,7.45,4.47,11.19,6.71-16.36,91.3-32.7,182.61-51.25,286.19\" } }), r(\"path\", { staticClass: \"e-spinner__primary\", style: t.getNthPathStyle(8), attrs: { d: \"m813.58,314.41C551.63,505.15,0,907.07,0,907.07c0,0,180.68-558.4,185.09-572.01,4.39-13.59,23.65-43.78,55.41-47.8,129.19-16.29,258.32-33.41,386.86-53.99,77.67-9.72,159.3,60.97,186.22,81.13\" } }), r(\"path\", { staticClass: \"e-spinner__secondary\", style: t.getNthPathStyle(9), attrs: { d: \"m635.14,199.78c-91.99,12.38-183.97,24.77-288.07,38.76,25.77-73.18,48.3-137.14,73.8-209.53,76.56,55.41,147.27,106.58,217.97,157.75-1.23,4.34-2.46,8.68-3.69,13.02\" } })]);\n}, Et = [], $t = /* @__PURE__ */ q(\n St,\n Tt,\n Et,\n !1,\n null,\n \"f6962f4a\",\n null,\n null\n);\nconst Ke = $t.exports, Dt = V.extend({\n props: {\n align: {\n type: String,\n default: void 0\n },\n alignContent: {\n type: String,\n default: void 0\n },\n justify: {\n type: String,\n default: void 0\n },\n justifyXs: {\n type: String,\n default: void 0\n },\n justifySm: {\n type: String,\n default: void 0\n },\n justifyMd: {\n type: String,\n default: void 0\n },\n justifyLg: {\n type: String,\n default: void 0\n },\n justifyXl: {\n type: String,\n default: void 0\n },\n noGutters: {\n type: Boolean,\n default: !1\n }\n },\n computed: {\n justifyClasses() {\n return {\n [`e-justify-${this.justify}`]: !!this.justify,\n [`xs:e-justify-${this.justifySm}`]: !!this.justifySm,\n [`sm:e-justify-${this.justifySm}`]: !!this.justifySm,\n [`md:e-justify-${this.justifyMd}`]: !!this.justifyMd,\n [`lg:e-justify-${this.justifyLg}`]: !!this.justifyLg,\n [`xl:e-justify-${this.justifyXl}`]: !!this.justifyXl\n };\n },\n rowClasses() {\n return {\n ...this.align ? { [`e-items-${this.align}`]: !0 } : {},\n ...this.alignContent ? { [`e-content-${this.alignContent}`]: !0 } : {},\n ...this.noGutters ? { \"e-row--no-gutters\": !0 } : {},\n ...this.justifyClasses\n };\n }\n }\n});\nvar kt = function() {\n var t = this, r = t._self._c;\n return t._self._setupProxy, r(\"div\", { staticClass: \"e-row e-flex e-flex-wrap\", class: t.rowClasses }, [t._t(\"default\")], 2);\n}, Ot = [], At = /* @__PURE__ */ q(\n Dt,\n kt,\n Ot,\n !1,\n null,\n null,\n null,\n null\n);\nconst Ft = At.exports, Mt = V.extend({\n props: {\n alignSelf: {\n type: String,\n default: \"auto\"\n },\n cols: {\n type: [Boolean, String, Number],\n default: void 0\n },\n lg: {\n type: [Boolean, String, Number],\n default: void 0\n },\n md: {\n type: [Boolean, String, Number],\n default: void 0\n },\n offset: {\n type: [String, Number],\n default: void 0\n },\n offsetLg: {\n type: [String, Number],\n default: void 0\n },\n offsetMd: {\n type: [String, Number],\n default: void 0\n },\n offsetSm: {\n type: [String, Number],\n default: void 0\n },\n offsetXs: {\n type: [String, Number],\n default: void 0\n },\n offsetXl: {\n type: [String, Number],\n default: void 0\n },\n sm: {\n type: [Boolean, String, Number],\n default: void 0\n },\n xs: {\n type: [Boolean, String, Number],\n default: void 0\n },\n xl: {\n type: [Boolean, String, Number],\n default: void 0\n }\n },\n computed: {\n colClasses() {\n return {\n // Align self\n ...this.alignSelf ? { [`e-self-${this.alignSelf}`]: !0 } : {},\n // cols=\"auto\"\n [this.autoClasses(\"xs:\", this.xs)]: this.isSizePropAuto(this.xs),\n [this.autoClasses(\"sm:\", this.sm)]: this.isSizePropAuto(this.sm),\n [this.autoClasses(\"md:\", this.md)]: this.isSizePropAuto(this.md),\n [this.autoClasses(\"lg:\", this.lg)]: this.isSizePropAuto(this.lg),\n [this.autoClasses(\"xl:e\", this.xl)]: this.isSizePropAuto(this.xl),\n [this.autoClasses(\"\", this.cols)]: this.isSizePropAuto(this.cols, !0),\n // cols=\"12\"\n \"xs:e-basis-full xs:!e-max-w-12/12\": this.xs === 12 || this.xs === \"12\",\n \"sm:e-basis-full sm:!e-max-w-12/12\": this.sm === 12 || this.sm === \"12\",\n \"md:e-basis-full md:!e-max-w-12/12\": this.md === 12 || this.md === \"12\",\n \"lg:e-basis-full lg:!e-max-w-12/12\": this.lg === 12 || this.lg === \"12\",\n \"xl:e-basis-full xl:!e-max-w-12/12\": this.xl === 12 || this.xl === \"12\",\n \"e-basis-full e-max-w-12/12\": this.cols === 12 || this.cols === \"12\",\n // cols=\"n\"\n [`xs:e-basis-${this.xs}/12 xs:!e-max-w-${this.xs}/12`]: this.isSizePropertyNumeric(this.xs),\n [`sm:e-basis-${this.sm}/12 sm:!e-max-w-${this.sm}/12`]: this.isSizePropertyNumeric(this.sm),\n [`md:e-basis-${this.md}/12 md:!e-max-w-${this.md}/12`]: this.isSizePropertyNumeric(this.md),\n [`lg:e-basis-${this.lg}/12 lg:!e-max-w-${this.lg}/12`]: this.isSizePropertyNumeric(this.lg),\n [`xl:e-basis-${this.xl}/12 xl:!e-max-w-${this.xl}/12`]: this.isSizePropertyNumeric(this.xl),\n [`e-basis-${this.cols}/12 !e-max-w-${this.cols}/12`]: this.isSizePropertyNumeric(this.cols),\n // offset=\"n\"\n [`xs:e-offset-${this.offsetXs}`]: this.offsetXs !== void 0,\n [`sm:e-offset-${this.offsetSm}`]: this.offsetSm !== void 0,\n [`md:e-offset-${this.offsetMd}`]: this.offsetMd !== void 0,\n [`lg:e-offset-${this.offsetLg}`]: this.offsetLg !== void 0,\n [`xl:e-offset-${this.offsetXl}`]: this.offsetXl !== void 0,\n [`e-offset-${this.offset}`]: this.offset !== void 0\n };\n }\n },\n methods: {\n autoClasses(e, t) {\n return `${e}e-basis-${t === \"auto\" ? \"auto\" : \"0\"} ${e}e-grow${t === \"auto\" ? \"-0\" : \"\"} ${e}e-w-${t === \"auto\" ? \"auto\" : \"full\"}`;\n },\n isSizePropAuto(e, t = !1) {\n return e === \"auto\" || e === 0 || e === \"0\" || t && !e;\n },\n isSizePropertyNumeric(e) {\n const t = Number.parseInt(e);\n return e !== \"auto\" && !isNaN(t) && t >= 1 && t < 12;\n }\n }\n});\nvar zt = function() {\n var t = this, r = t._self._c;\n return r(\"div\", { staticClass: \"e-col\", class: t.colClasses }, [t._t(\"default\")], 2);\n}, Pt = [], Lt = /* @__PURE__ */ q(\n Mt,\n zt,\n Pt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Gt = Lt.exports;\nfunction Je() {\n return !!(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement);\n}\nfunction Ht(e) {\n if (Je())\n return new Promise((t) => t());\n if (e.requestFullscreen)\n return e == null ? void 0 : e.requestFullscreen();\n if (e.mozRequestFullScreen)\n return e == null ? void 0 : e.mozRequestFullScreen();\n if (e.webkitRequestFullScreen)\n return e == null ? void 0 : e.webkitRequestFullScreen();\n if (e.msRequestFullscreen)\n return e == null ? void 0 : e.msRequestFullscreen();\n}\nfunction jt() {\n if (!Je())\n return new Promise((e) => e());\n if (document.exitFullscreen)\n return document.exitFullscreen();\n if (document.mozCancelFullScreen)\n return document.mozCancelFullScreen();\n if (document.webkitCancelFullScreen)\n return document.webkitCancelFullScreen();\n if (document.msExitFullscreen)\n return document.msExitFullscreen();\n}\nconst oe = new Intl.NumberFormat(void 0, {\n minimumIntegerDigits: 2\n}), ye = [\n \"play\",\n \"pause\",\n \"ended\",\n \"loadeddata\",\n \"waiting\",\n \"playing\",\n \"timeupdate\",\n \"canplay\",\n \"canplaythrough\",\n \"statechanged\",\n \"error\"\n], J = (e) => {\n const t = Math.floor(e % 60), r = Math.floor(e / 60) % 60, n = Math.floor(e / 3600);\n return n === 0 ? `${r}:${oe.format(t)}` : `${n}:${oe.format(\n r\n )}:${oe.format(t)}`;\n}, Bt = V.extend({\n name: \"VideoPlayer\",\n components: {\n ESpinner: Ke\n },\n props: {\n sources: {\n type: [Array, String],\n required: !0\n },\n videoListeners: {\n type: Object,\n default: () => ({})\n },\n videoOptions: {\n type: Object,\n default: () => ({})\n }\n },\n data() {\n return {\n playing: !1,\n percentagePlayed: 0,\n videoLength: \"0:00\",\n duration: 0,\n videoDuration: 0,\n currentTime: \"0:00\",\n realtime: 0,\n isScrubbing: !1,\n wasPaused: !1,\n isFullscreen: !1,\n isFinished: !1,\n isLoading: !0,\n isError: !1\n };\n },\n computed: {\n sourceItems() {\n return Array.isArray(this.sources) ? this.sources : [{ src: this.sources }];\n },\n hasStartedOrFinished() {\n return (this.isFinished || this.realtime <= 0.1) && !this.isLoading && !this.isLooped();\n },\n withControls() {\n const e = this.videoOptions;\n return (e == null ? void 0 : e.controls) === !1 ? \"hide\" : \"\";\n }\n },\n mounted() {\n this.bindEvents(), this.initializePlayer(), this.initializeFullscreenListeners();\n },\n destroyed() {\n this.unbindEvents(), this.destroyPlayer(), this.removeFullscreenListeners();\n },\n methods: {\n handle404Error() {\n if (typeof this.sources == \"object\" && \"srcObject\" in this.sources) {\n this.handleLoading();\n return;\n } else\n this.isError = !0, this.isLoading = !1, this.playing = !1;\n },\n bindEvents() {\n ye.forEach((e) => {\n this.bindVideoEvent(e);\n });\n },\n unbindEvents() {\n ye.forEach((e) => {\n this.unbindVideoEvent(e);\n });\n },\n bindVideoEvent(e) {\n const t = this.$refs.player, r = this.$refs.timelineContainer;\n t.addEventListener(\n e,\n (n) => {\n e === \"loadeddata\" && (this.videoLength = J(t.duration)), e === \"timeupdate\" && (this.percentagePlayed = t.currentTime / t.duration * 100, r.style.setProperty(\n \"--progress-position\",\n this.percentagePlayed.toString()\n )), this.$emit(e, { event: n, player: this });\n },\n !0\n );\n },\n unbindVideoEvent(e) {\n const t = this.$refs.player, r = this.$refs.timelineContainer;\n t.addEventListener(\n e,\n (n) => {\n e === \"loadeddata\" && (this.videoLength = J(t.duration)), e === \"timeupdate\" && (this.percentagePlayed = t.currentTime / t.duration * 100, r.style.setProperty(\n \"--progress-position\",\n this.percentagePlayed.toString()\n )), this.$emit(e, { event: n, player: this });\n },\n !0\n );\n },\n initializePlayer() {\n const e = this.$refs.player;\n e && (e.autoplay && this.setPlaying(!0), document.addEventListener(\"mouseup\", this.handleScrubbingOnMouseEnd), document.addEventListener(\"keydown\", this.handleKeyDown));\n },\n destroyPlayer() {\n window.removeEventListener(\"keydown\", this.handleKeyDown), document.removeEventListener(\"mouseup\", this.handleScrubbingOnMouseEnd);\n },\n removeFullscreenListeners() {\n document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled ? (document.removeEventListener(\n \"fullscreenchange\",\n this.handleFullscreenChange\n ), document.removeEventListener(\n \"webkitfullscreenchange\",\n this.handleFullscreenChange\n ), document.removeEventListener(\n \"mozfullscreenchange\",\n this.handleFullscreenChange\n ), document.removeEventListener(\n \"MSFullscreenChange\",\n this.handleFullscreenChange\n )) : console.log(\"Fullscreen API is not supported in this browser.\");\n },\n initializeFullscreenListeners() {\n document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled ? (document.addEventListener(\n \"fullscreenchange\",\n this.handleFullscreenChange\n ), document.addEventListener(\n \"webkitfullscreenchange\",\n this.handleFullscreenChange\n ), document.addEventListener(\n \"mozfullscreenchange\",\n this.handleFullscreenChange\n ), document.addEventListener(\n \"MSFullscreenChange\",\n this.handleFullscreenChange\n )) : console.log(\"Fullscreen API is not supported in this browser.\");\n },\n handleFullscreenChange() {\n this.isFullscreen = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement || window.innerWidth == screen.width && window.innerHeight == screen.height;\n },\n isLooped() {\n return this.$refs.player.loop;\n },\n handleScrubbingOnMouseEnd(e) {\n this.isScrubbing && this.toggleScrubbing(e);\n },\n handleEnded() {\n this.isFinished = !0, this.playing = !1;\n },\n handleLoading() {\n this.isLoading = !1;\n },\n play() {\n const e = this.$refs.player;\n if (!e)\n return;\n e.play() !== void 0 && e.play().then(() => this.setPlaying(!0)).catch(console.error);\n },\n pause() {\n const e = this.$refs.player;\n e && (e.pause(), this.setPlaying(!1));\n },\n togglePlay() {\n this.playing ? this.pause() : this.play();\n },\n setPlaying(e) {\n this.playing = e;\n },\n seekToPercentage(e) {\n const t = this.$refs.player;\n if (!t)\n return;\n const r = e / 100 * t.duration;\n t.currentTime = r;\n },\n convertTimeToDuration(e) {\n return [parseInt(e / 60 % 60, 10), parseInt(e % 60, 10)].join(\":\").replace(/\\b(\\d)\\b/g, \"0$1\");\n },\n closeFullscreenMode() {\n document.fullscreenElement && (jt().then(() => {\n this.isFullscreen = !1, console.log(\"Exited fullscreen\");\n }), this.isFullscreen = !1);\n },\n openFullscreenMode() {\n const e = this.$refs.videoContainer;\n e && (Ht(e).then(() => {\n this.isFullscreen = !0;\n }), this.isFullscreen = !0);\n },\n toggleFullscreenMode() {\n this.isFullscreen ? this.closeFullscreenMode() : this.openFullscreenMode();\n },\n getDuration() {\n const e = this.$refs.player;\n this.videoLength = J(e.duration), this.videoDuration = e.duration;\n },\n handleTimeUpdate() {\n const e = this.$refs.player, t = this.$refs.timelineContainer;\n if (!e || !t)\n return;\n this.currentTime = J(e.currentTime), this.realtime = e.currentTime;\n const r = Number(this.realtime) / Number(this.videoDuration);\n t.style.setProperty(\n \"--progress-position\",\n r.toString()\n );\n },\n handleTimelineUpdate(e) {\n const t = this.$refs.player;\n if (!document.body.contains(t))\n return;\n const r = this.$refs.timelineContainer, n = r.getBoundingClientRect(), a = Math.min(Math.max(0, e.x - n.x), n.width) / n.width;\n r.style.setProperty(\n \"--preview-position\",\n a.toString()\n ), this.isScrubbing && (e.preventDefault(), r.style.setProperty(\n \"--progress-position\",\n a.toString()\n ));\n },\n skip(e = 5) {\n const t = this.$refs.player;\n t.currentTime += e;\n },\n async toggleScrubbing(e) {\n const t = this.$refs.timelineContainer, r = this.$refs.videoContainer, n = this.$refs.player;\n if (!n)\n return;\n const a = t.getBoundingClientRect(), o = Math.min(Math.max(0, e.x - a.x), a.width) / a.width;\n if (this.isScrubbing = (e.buttons & 1) === 1, r.classList.toggle(\"scrubbing\", this.isScrubbing), this.isScrubbing) {\n this.wasPaused = n.paused, await n.pause(), this.handleTimelineUpdate(e);\n return;\n }\n if (this.realtime = o * this.videoDuration, n.currentTime = o * this.videoDuration, this.wasPaused)\n return;\n const i = n.play();\n i !== void 0 && i.then(() => this.handleTimelineUpdate(e)).catch(console.error);\n },\n handleKeyDown(e) {\n var r;\n const t = (r = document.activeElement) == null ? void 0 : r.tagName.toLowerCase();\n if (t !== \"input\")\n switch (e.key.toLowerCase()) {\n case \" \":\n if (t === \"button\")\n return;\n this.togglePlay();\n break;\n case \"k\":\n this.togglePlay();\n break;\n case \"escape\":\n e.preventDefault(), this.closeFullscreenMode(), this.isFullscreen = !1;\n break;\n case \"f\":\n this.openFullscreenMode(), this.isFullscreen = !0;\n break;\n }\n }\n }\n});\nvar Wt = function() {\n var t = this, r = t._self._c;\n return r(\"div\", { ref: \"videoContainer\", staticClass: \"video-container paused\", attrs: { \"data-volume-level\": \"high\" } }, [r(\"video\", t._g(t._b({ ref: \"player\", attrs: { controls: !1, preload: \"auto\" }, on: { ended: t.handleEnded, click: t.togglePlay, loadedmetadata: t.getDuration, timeupdate: t.handleTimeUpdate, loadeddata: t.handleLoading } }, \"video\", t.videoOptions, !1), t.videoListeners), t._l(t.sourceItems, function(n) {\n return r(\"source\", { key: n.src, attrs: { src: n.src, type: n.type }, on: { error: t.handle404Error } });\n }), 0), t.isLoading ? r(\"div\", { staticClass: \"spinner-container\" }, [r(\"ESpinner\", { attrs: { size: \"9xl\", opacity: \"0.6\", dark: !0 } })], 1) : t._e(), t.isError ? r(\"div\", { staticClass: \"spinner-container e-gap-3\" }, [r(\"i\", { staticClass: \"fa-solid fa-video-slash fa-2xl e-align-middle\" }), r(\"span\", [t._v(\"This video file cannot be played.\")])]) : t._e(), r(\"div\", { class: [\"video-controls-container\", t.withControls] }, [r(\"div\", { staticClass: \"controls\" }, [r(\"button\", { ref: \"playPauseBtn\", staticClass: \"play-pause-btn fa-lg fa-solid\", class: {\n \"fa-play\": !t.playing,\n \"fa-pause\": t.playing\n }, attrs: { title: t.playing ? \"pause\" : \"play\" }, on: { click: t.togglePlay } }), r(\"div\", { staticClass: \"duration-container\" }, [r(\"div\", { ref: \"currentTimeElem\", staticClass: \"current-time\" }, [t._v(\" \" + t._s(t.currentTime) + \" \")]), t._v(\" / \"), r(\"div\", { ref: \"totalTimeElem\", staticClass: \"total-time\" }, [t._v(t._s(t.videoLength))])]), r(\"div\", { ref: \"timelineContainer\", staticClass: \"timeline-container\", on: { mousemove: t.handleTimelineUpdate, mousedown: t.toggleScrubbing } }, [t._m(0)]), r(\"button\", { ref: \"fullScreenBtn\", staticClass: \"full-screen-btn fa-solid\", class: {\n \"fa-expand\": !t.isFullscreen,\n \"fa-compress\": t.isFullscreen\n }, on: { click: t.toggleFullscreenMode } })])])]);\n}, Rt = [function() {\n var e = this, t = e._self._c;\n return t(\"div\", { staticClass: \"timeline\" }, [t(\"div\", { staticClass: \"thumb-indicator\" })]);\n}], Ut = /* @__PURE__ */ q(\n Bt,\n Wt,\n Rt,\n !1,\n null,\n \"e3141ce0\",\n null,\n null\n);\nconst Nt = Ut.exports, te = (e) => {\n const t = u.utcFormat(\"%_d\")(e), n = {\n 1: \"st\",\n 2: \"nd\",\n 3: \"rd\"\n }[t.charAt(1)] || \"th\";\n return `${t}${n}`;\n}, be = (e) => new Date(\n Date.UTC(e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate() + 1)\n).getUTCDate() === 1 ? \"\" : u.utcFormat(\"%-d\")(e), X = (e) => [\"0\", \" 0\", \"00\"].includes(u.utcFormat(\"%H\")(e)) ? \"\" : `${u.utcFormat(\"%H\")(e)}h`, I = (e) => {\n const t = u.utcFormat(\"%H:%M\")(e);\n return t === \"00:00\" ? \"\" : t;\n}, le = (e) => u.utcFormat(\"%M:%S\")(e), xe = (e) => `${u.utcFormat(\"%Hh%Mm\")(e)}`, de = (e) => {\n const t = I(e), r = te(e), n = u.utcFormat(\"%B\")(e);\n return t || `${n} ${r}`;\n}, ue = (e) => {\n const t = I(e), r = Number.parseInt(u.utcFormat(\"%H\")(e)), n = te(e), a = u.utcFormat(\"%B\")(e);\n return t && r % 6 === 0 ? `${a} ${n} ${t}` : de(e);\n}, Y = (e) => (t) => {\n const r = u.utcFormat(\"%H\")(t);\n return !(u.utcFormat(\"%M\")(t) === \"00\" && Number.parseInt(r) % e === 0);\n}, ce = (e) => (t) => {\n const r = u.utcFormat(\"%M\")(t);\n return Number.parseInt(r) % e !== 0;\n}, _e = (e) => (t) => {\n const r = u.utcFormat(\"%M\")(t), n = u.utcFormat(\"%S\")(t);\n return Number.parseInt(r) % e !== 0 && Number.parseInt(n) === 0;\n}, S = {\n _10_seconds: 25e-6,\n _20_seconds: 1e-4,\n _30_seconds: 15e-5,\n _1_minute: 3e-4,\n _2_minutes: 75e-5,\n _5_minutes: 2e-3,\n _15_minutes: 5e-3,\n _30_minutes: 0.01,\n _1_hour: 0.025,\n _2_hours: 0.05,\n _3_hours: 0.1,\n _4_hours: 0.15,\n _6_hours: 0.25,\n _1_day: 1,\n _2_days: 2,\n _1_month: 8,\n _1_month_abbr: 13,\n _1_month_letter: 22,\n _3_months: 33,\n infinity: 1 / 0\n};\nvar Ce, Se, Te, Ee, $e, De, ke, Oe;\nconst It = {\n [ee.overview]: [\n {\n precision: S._30_seconds,\n interval: u.utcMinute.every(2),\n format: xe\n },\n {\n precision: S._1_minute,\n interval: u.utcMinute.every(5),\n format: xe\n },\n {\n precision: S._2_minutes,\n interval: u.utcMinute.every(10),\n format: de\n },\n {\n precision: S._5_minutes,\n interval: u.utcMinute.every(20),\n format: ue\n },\n {\n precision: S._15_minutes,\n interval: u.utcHour,\n format: ue\n },\n {\n precision: S._30_minutes,\n interval: u.utcHour.every(2),\n format: ue\n },\n {\n precision: S._2_hours,\n interval: u.utcHour.every(6),\n format: (e) => {\n const t = I(e), r = te(e), n = u.utcFormat(\"%B\")(e);\n return t || `${n} ${r}`;\n }\n },\n {\n precision: S._3_hours,\n interval: u.utcHour.every(12),\n format: de\n },\n {\n precision: S._6_hours,\n interval: u.utcHour.every(24),\n format: (e) => {\n const t = te(e);\n return `${u.utcFormat(\"%b\")(e)} ${t}`;\n }\n },\n {\n precision: S._2_days,\n interval: u.utcMonth,\n format: (e) => {\n const r = e.getUTCMonth() === 0 && e.getUTCDate() === 1 ? \"%Y – %B\" : \"%B\";\n return u.utcFormat(r)(e);\n }\n },\n {\n precision: S.infinity,\n interval: u.utcYear,\n format: \"%Y\"\n }\n ],\n [ee.detailed]: [\n {\n precision: S._10_seconds,\n interval: u.utcSecond.every(10),\n format: le\n },\n {\n precision: S._20_seconds,\n interval: (Ce = u.utcSecond.every(20)) == null ? void 0 : Ce.filter(_e(2)),\n format: le\n },\n {\n precision: S._30_seconds,\n interval: (Se = u.utcSecond.every(30)) == null ? void 0 : Se.filter(_e(2)),\n format: le\n },\n {\n precision: S._1_minute,\n interval: u.utcMinute.filter(ce(5)),\n format: I\n },\n {\n precision: S._2_minutes,\n interval: (Te = u.utcMinute.every(2)) == null ? void 0 : Te.filter(ce(10)),\n format: I\n },\n {\n precision: S._5_minutes,\n interval: (Ee = u.utcMinute.every(5)) == null ? void 0 : Ee.filter(ce(20)),\n format: I\n },\n {\n precision: S._15_minutes,\n interval: ($e = u.utcMinute.every(15)) == null ? void 0 : $e.filter(Y(1)),\n format: I\n },\n {\n precision: S._30_minutes,\n interval: (De = u.utcMinute.every(30)) == null ? void 0 : De.filter(Y(2)),\n format: I\n },\n {\n precision: S._1_hour,\n interval: u.utcHour.filter(Y(6)),\n format: X\n },\n {\n precision: S._2_hours,\n interval: (ke = u.utcHour.every(2)) == null ? void 0 : ke.filter(Y(6)),\n format: X\n },\n {\n precision: S._3_hours,\n interval: (Oe = u.utcHour.every(3)) == null ? void 0 : Oe.filter(Y(12)),\n format: X\n },\n {\n precision: S._4_hours,\n interval: u.utcHour.every(4),\n format: X\n },\n {\n precision: S._6_hours,\n interval: u.utcHour.every(6),\n format: X\n },\n {\n precision: S._1_day,\n interval: u.utcDay,\n format: be\n },\n {\n precision: S._2_days,\n interval: u.utcDay.every(2),\n format: be\n },\n {\n precision: S._1_month,\n interval: u.utcMonth,\n format: \"%B\"\n },\n {\n precision: S._1_month_abbr,\n interval: u.utcMonth,\n format: \"%b\"\n },\n {\n precision: S._1_month_letter,\n interval: u.utcMonth,\n format: (e) => u.utcFormat(\"%B\")(e).charAt(0)\n },\n {\n precision: S._3_months,\n interval: u.utcMonth.every(3),\n format: \"Q%q\"\n },\n {\n precision: S.infinity,\n interval: u.utcMonth.every(3),\n format: \"\"\n }\n ],\n [ee.detailedBackground]: [\n {\n precision: S._10_seconds,\n interval: u.utcSecond,\n format: \"\"\n },\n {\n precision: S._20_seconds,\n interval: u.utcSecond.every(5),\n format: \"\"\n },\n {\n precision: S._30_seconds,\n interval: u.utcSecond.every(10),\n format: \"\"\n },\n {\n precision: S._1_minute,\n interval: u.utcSecond.every(20),\n format: \"\"\n },\n {\n precision: S._2_minutes,\n interval: u.utcSecond.every(30),\n format: \"\"\n },\n {\n precision: S._5_minutes,\n interval: u.utcMinute,\n format: \"\"\n },\n {\n precision: S._15_minutes,\n interval: u.utcMinute.every(3),\n format: \"\"\n },\n {\n precision: S._30_minutes,\n interval: u.utcMinute.every(6),\n format: \"\"\n },\n {\n precision: S._1_hour,\n interval: u.utcMinute.every(15),\n format: \"\"\n },\n {\n precision: S._2_hours,\n interval: u.utcMinute.every(30),\n format: \"\"\n },\n {\n precision: S._3_hours,\n interval: u.utcHour,\n format: \"\"\n },\n {\n precision: S._4_hours,\n interval: u.utcHour,\n format: \"\"\n },\n {\n precision: S._6_hours,\n interval: u.utcMinute.every(120),\n format: \"\"\n },\n {\n precision: S._1_day,\n interval: u.utcHour.every(8),\n format: \"\"\n },\n {\n precision: S._2_days,\n interval: u.utcHour.every(12),\n format: \"\"\n },\n {\n precision: S._1_month,\n interval: u.utcDay.filter((e) => {\n const t = e.getUTCDate(), r = new Date(\n e.getUTCFullYear(),\n e.getUTCMonth() + 1,\n 0\n ).getUTCDate(), n = Math.ceil(r / 5);\n return t === n || t === 2 * n || t === 3 * n || t === 4 * n;\n }),\n format: \"\"\n },\n {\n precision: S._1_month_abbr,\n interval: u.utcDay.filter((e) => {\n const t = e.getUTCDate(), r = new Date(\n e.getUTCFullYear(),\n e.getUTCMonth() + 1,\n 0\n ).getUTCDate(), n = Math.ceil(r / 4);\n return t === n || t === 2 * n || t === 3 * n;\n }),\n format: \"\"\n },\n {\n precision: S._1_month_letter,\n interval: u.utcDay.filter((e) => {\n const t = e.getUTCDate(), r = new Date(\n e.getUTCFullYear(),\n e.getUTCMonth() + 1,\n 0\n ).getUTCDate(), n = Math.ceil(r / 2);\n return t === n;\n }),\n format: \"\"\n },\n {\n precision: S._3_months,\n interval: u.utcMonth,\n format: \"\"\n },\n {\n precision: S.infinity,\n interval: u.utcMonth,\n format: \"\"\n }\n ]\n}, Qe = {\n bind(e, t) {\n const { value: r } = t;\n if (typeof r != \"function\") {\n console.error(\"Invalid callback function provided to v-resize-observer\");\n return;\n }\n const n = new ResizeObserver(\n (a) => {\n a[0] && r(a[0]);\n }\n );\n n.observe(e), e.__resizeObserver__ = n;\n },\n unbind(e) {\n e.__resizeObserver__ && (e.__resizeObserver__.disconnect(), delete e.__resizeObserver__);\n }\n}, Vt = [\n {\n name: \"resize-observer\",\n definition: Qe\n }\n], w = {\n eventGroup: \"event-group\",\n eventGroupBg: \"event-group-bg\",\n eventRect: \"event-rect\",\n labelBg: \"label-bg\",\n labelBgFill: \"label-bg-fill\",\n labelText: \"label-text\",\n loadingIndicator: \"loading-indicator\",\n xAxis: \"x-axis\",\n selectedTimestampCursor: \"selected-timestamp-cursor\",\n lineGraphGroup: \"line-graph-group\",\n lineGraphPath: \"line-graph-path\",\n lineGraphHoverZone: \"line-graph-hover-zone\",\n lineGraphDot: \"line-graph-dot\",\n curtain: \"curtain\"\n}, Q = {\n areaGradient: \"area-gradient\",\n loadingGradient: \"loading-gradient\"\n}, qt = V.extend({\n name: \"ETimeline\",\n directives: {\n resizeObserver: Qe\n },\n props: {\n eventsGroups: {\n type: Object,\n default: () => ({})\n },\n xAxesConfig: {\n type: Object,\n default: () => It\n },\n dark: {\n type: Boolean,\n default: !1\n },\n startDate: {\n type: String,\n default: void 0\n },\n endDate: {\n type: String,\n default: void 0\n },\n selectedTimestamp: {\n type: String,\n default: void 0\n },\n showEventTooltip: {\n type: Boolean,\n default: !0\n },\n disableZoom: {\n type: Boolean,\n default: !1\n },\n normalizeEvents: {\n type: Boolean,\n default: !0\n },\n flattenLineGraphEnds: {\n type: Boolean,\n default: !0\n },\n curtains: {\n type: Boolean,\n default: !1\n },\n showLabels: {\n type: Boolean,\n default: !0\n },\n rectMinWidth: {\n type: Number,\n default: 1\n },\n barChartHeight: {\n type: Number,\n default: 18\n },\n lineGraphMinHeight: {\n type: Number,\n default: 60\n },\n minZoom: {\n type: Number,\n default: 1e-4\n },\n maxZoom: {\n type: Number,\n default: 85e4\n },\n cursorTimestamp: {\n type: [String, void 0],\n default: void 0\n }\n },\n data() {\n return {\n tooltip: null,\n cursor: null,\n timeline: null,\n selectedTimestampCursor: null,\n svg: null,\n axesContainer: null,\n xAxes: {},\n timeScale: null,\n initialTimeScale: null,\n currentTimeScaleDensity: null,\n zoomBehavior: null,\n isMouseDown: !1,\n axisHeight: 22,\n eventGroupPadding: 0,\n isHoveringEvent: !1,\n hoveredEvent: null,\n isHoveringTimeline: !1,\n hoveredTimestamp: null,\n eventTooltipStyle: {},\n hoveredEventType: null,\n utcOffset: 0,\n lastTransform: { x: 0, k: 1 },\n transformDiff: { translation: 0, scale: 1 },\n yScale: null,\n hoveredCounts: [],\n countsByTimestamp: {},\n dotsByTimestamp: {},\n visibleFrom: null,\n visibleTo: null,\n curtainHandleWidth: 5,\n leftCurtainWidth: 50,\n rightCurtainWidth: 50,\n isHoveringCurtain: !1,\n isDraggingCurtain: !1\n };\n },\n computed: {\n classes() {\n return {\n wrapper: {\n \"e-border-gray-700 e-timeline--dark\": this.dark,\n \"e-border-gray-300\": !this.dark,\n \"e-timeline--dragging\": this.isInteractingWithCurtain\n },\n background: this.dark ? \"e-bg-gray-900\" : \"e-bg-gray-50\",\n tooltipSlot: this.dark ? \"e-bg-gray-900 e-text-white e-border-gray-700\" : \"e-bg-gray-100 e-text-gray-700 e-border-gray-300\",\n eventTooltipSlot: this.dark ? \"e-bg-gray-900 e-text-white e-border-gray-700\" : \"e-bg-gray-100 e-text-gray-700 e-border-gray-300\"\n };\n },\n lineGraphGroups() {\n return Object.entries(this.filteredEventsGroups).reduce(\n (e, [t, r]) => r.chartType === \"lineGraph\" ? { ...e, [t]: r } : e,\n {}\n );\n },\n lineGraphChartHeight() {\n if (!this.showLabels)\n return this.lineGraphMinHeight;\n const e = Object.keys(this.lineGraphGroups).length * this.barChartHeight;\n return Math.max(this.lineGraphMinHeight, e);\n },\n barGroups() {\n return Object.entries(this.filteredEventsGroups).reduce(\n (e, [t, r]) => r.chartType !== \"lineGraph\" ? { ...e, [t]: r } : e,\n {}\n );\n },\n hasLineGraphChart() {\n return Object.keys(this.lineGraphGroups).length > 0;\n },\n labelRectWidth() {\n return Object.values(\n this.eventsGroups\n ).reduce((r, n) => {\n var a;\n return Math.max(r, (a = n.label) == null ? void 0 : a.length);\n }, 0) * 7.5 + 5;\n },\n combinedXAxesHeight() {\n const e = Object.keys(this.xAxesConfig).length - 1;\n return this.axisHeight * e;\n },\n timelineHeight() {\n const e = Object.keys(this.barGroups).length, t = this.hasLineGraphChart ? this.lineGraphChartHeight : 0, r = this.eventGroupPadding * (e - 1), n = this.barChartHeight * e;\n return this.combinedXAxesHeight + t + n + r;\n },\n filteredEventsGroups() {\n const e = Object.entries(this.eventsGroups).filter(\n ([t, r]) => !r.isHidden\n );\n return Object.fromEntries(e);\n },\n allEventsSorted() {\n return Object.values(this.filteredEventsGroups).map((t) => t.events).flat().sort(\n (t, r) => new Date(t.timestamp || t.startDate) > new Date(r.timestamp || r.startDate) ? 1 : -1\n );\n },\n oldestEvent() {\n let e;\n return this.allEventsSorted.length > 1 ? e = this.allEventsSorted[0] : e = {\n timestamp: new Date((/* @__PURE__ */ new Date()).getTime() - 864e5)\n }, e;\n },\n latestEvent() {\n let e;\n return this.allEventsSorted.length > 1 ? e = this.allEventsSorted[this.allEventsSorted.length - 1] : e = {\n timestamp: /* @__PURE__ */ new Date()\n }, e;\n },\n allLineChartTimestamps() {\n const e = /* @__PURE__ */ new Set();\n return Object.values(this.lineGraphGroups).forEach((t) => {\n t.events.forEach((r) => {\n e.add(r.timestamp);\n });\n }), Array.from(e).sort();\n },\n placeholderLineChartGroup() {\n return this.fillTimeGaps(\n this.allLineChartTimestamps.map((e) => ({\n timestamp: e,\n count: 0\n }))\n );\n },\n normalizedLineGraphGroups() {\n return Object.entries(this.lineGraphGroups).reduce(\n (e, [t, r]) => ({\n ...e,\n [t]: {\n ...r,\n events: this.getNormalizedEvents(r.events)\n }\n }),\n {}\n );\n },\n isInteractingWithCurtain() {\n return this.isHoveringCurtain || this.isDraggingCurtain;\n }\n },\n watch: {\n dark() {\n this.handleDarkModeChange();\n },\n selectedTimestamp() {\n this.repositionSelectedTimestampCursor();\n },\n startDate() {\n this.zoomToStartAndEndDates();\n },\n endDate() {\n this.zoomToStartAndEndDates();\n },\n eventsGroups() {\n this.updateAndRedrawTimeline();\n },\n cursorTimestamp() {\n if (this.cursorTimestamp) {\n this.hoveredTimestamp = this.cursorTimestamp;\n const e = this.tzStringToDate(this.hoveredTimestamp), t = this.timeScale(e);\n this.cursor.style.left = t + \"px\", this.isHoveringTimeline = !0;\n } else\n this.isHoveringTimeline = !1;\n }\n },\n mounted() {\n this.initTimeline();\n },\n beforeDestroy() {\n document.removeEventListener(\"mouseup\", this.handleDocumentMouseUp);\n },\n methods: {\n initTimeline(e, t) {\n if (this.initRefs(), !this.timeline) {\n setTimeout(this.initTimeline, 500);\n return;\n }\n this.initSvg(), this.initDefs(), this.initUtcOffset(), this.initTimeScale(e, t), this.initXAxes(), this.initYScale(), this.initZoomBehavior(), this.drawEventsGroups(), this.initCurtains(), this.emitCurtainChange(), this.initSelectedTimestampCursor(), this.registerEventsListeners(), this.emitVisibleInterval();\n },\n initRefs() {\n this.tooltip = this.$refs.tooltip, this.cursor = this.$refs.cursor, this.timeline = this.$refs.timelineContainer, this.selectedTimestampCursor = this.$refs.selectedTimestamp;\n },\n initSvg() {\n this.svg = u.select(this.timeline).append(\"svg\").attr(\"width\", this.timeline.offsetWidth).attr(\"height\", this.timelineHeight);\n },\n initDefs() {\n const e = this.svg.append(\"defs\");\n Object.entries(this.filteredEventsGroups).forEach(\n ([t, r]) => {\n const { color: n, chartType: a } = r, o = e.append(\"linearGradient\").attr(\"id\", `${Q.loadingGradient}-${t}`).attr(\"x1\", \"0%\").attr(\"y1\", \"0%\").attr(\"x2\", \"100%\").attr(\"y2\", \"0%\");\n if (o.append(\"stop\").attr(\"offset\", \"0%\").attr(\"stop-color\", n).attr(\"stop-opacity\", \"0\"), o.append(\"stop\").attr(\"offset\", \"50%\").attr(\"stop-color\", n).attr(\"stop-opacity\", \"0.6\"), o.append(\"stop\").attr(\"offset\", \"100%\").attr(\"stop-color\", n).attr(\"stop-opacity\", \"0\"), a === \"lineGraph\") {\n const i = e.append(\"linearGradient\").attr(\"id\", `${Q.areaGradient}-${t}`).attr(\"x1\", \"0%\").attr(\"x2\", \"0%\").attr(\"y1\", \"0%\").attr(\"y2\", \"100%\");\n i.append(\"stop\").attr(\"offset\", \"0%\").style(\"stop-color\", n).style(\"stop-opacity\", 0.3), i.append(\"stop\").attr(\"offset\", \"38%\").style(\"stop-color\", n).style(\"stop-opacity\", 0);\n }\n }\n );\n },\n initUtcOffset() {\n const e = this.startDate || this.oldestEvent.timestamp || this.oldestEvent.startDate;\n this.utcOffset = K.parseZone(e).utcOffset();\n },\n initTimeScale(e, t) {\n const r = e || this.startDate || this.oldestEvent.timestamp || this.oldestEvent.startDate, n = t || this.endDate || this.latestEvent.timestamp || this.latestEvent.endDate;\n this.timeScale = u.scaleTime().domain([this.tzStringToDate(r), this.tzStringToDate(n)]).range([0, this.timeline.offsetWidth]), this.initialTimeScale = this.timeScale.copy(), this.updateCurrentTimeScaleDensity();\n },\n initXAxes() {\n let e = 0;\n const t = 5;\n for (const r in this.xAxesConfig) {\n const n = this.createAxis(r);\n this.xAxes[r] = n, this.svg.append(\"g\").classed(w.xAxis, !0).classed(`${w.xAxis}-${r}`, !0).attr(\"transform\", `translate(0, ${e || t})`).call(n), this.translateTicksText(r), e += this.axisHeight;\n }\n },\n initYScale() {\n this.yScale = u.scaleLinear().range([this.lineGraphChartHeight, 0]);\n const e = Object.values(this.lineGraphGroups).map((r) => r.events).flat(), t = u.max(e, (r) => r.count);\n this.yScale.domain([0, t]);\n },\n initZoomBehavior() {\n this.disableZoom || (this.zoomBehavior = u.zoom().on(\"zoom\", this.handleZoom).scaleExtent([this.minZoom, this.maxZoom]), this.svg.call(this.zoomBehavior));\n },\n initSelectedTimestampCursor() {\n this.svg.append(\"line\").attr(\"class\", w.selectedTimestampCursor).style(\"stroke\", \"red\").style(\"stroke-width\", \"1px\").style(\"opacity\", 0).attr(\"x1\", 0).attr(\"x2\", 0).attr(\"y1\", 0).attr(\"y2\", this.timelineHeight), this.repositionSelectedTimestampCursor();\n },\n updateAndRedrawTimeline() {\n const { startDate: e, endDate: t } = this.getCurrentTimeBounds();\n this.clearTimeline(), this.initTimeline(e, t);\n },\n clearTimeline() {\n this.svg && this.svg.remove(), this.countsByTimestamp = {};\n },\n repositionSelectedTimestampCursor() {\n const e = this.svg.select(`.${w.selectedTimestampCursor}`);\n if (!this.selectedTimestamp) {\n e.style(\"opacity\", 0);\n return;\n }\n const t = this.tzStringToDate(this.selectedTimestamp), r = this.timeScale(t);\n isNaN(r) ? e.style(\"opacity\", 0) : e.attr(\"x1\", r).attr(\"x2\", r).style(\"opacity\", 0.5);\n },\n updateCurrentTimeScaleDensity() {\n const e = this.timeScale.invert(0).getTime(), t = this.timeScale.invert(1).getTime(), r = 36e5;\n this.currentTimeScaleDensity = (t - e) / r;\n },\n registerEventsListeners() {\n document.addEventListener(\"mouseup\", this.handleDocumentMouseUp), this.svg.on(\"mousedown\", this.handleMouseDown), this.svg.on(\"mousemove\", this.handleMouseMove), this.svg.on(\"click\", this.handleClick), this.svg.on(\"mouseleave\", this.handleMouseLeave);\n },\n emitVisibleInterval() {\n const e = this.timeScale.invert(0), t = this.timeScale.invert(this.timeline.offsetWidth);\n if (this.visibleFrom && this.visibleFrom.getTime() === e.getTime() && this.visibleTo && this.visibleTo.getTime() === t.getTime())\n return;\n this.visibleFrom = e, this.visibleTo = t;\n const r = this.dateToTzString(this.visibleFrom), n = this.dateToTzString(this.visibleTo);\n this.$emit(\"visible-interval-change\", {\n fromDate: r,\n toDate: n,\n transform: this.transformDiff\n });\n },\n createAxis(e) {\n const t = this.xAxesConfig[e], r = this.getAxisTicksConfig(t);\n return u.axisBottom(this.timeScale).ticks(r.interval).tickFormat(r.formatFn).tickSizeOuter(0).tickSizeInner(this.timelineHeight);\n },\n getAxisTicksConfig(e) {\n const { interval: t, format: r } = e.find(\n (a) => a.precision >= this.currentTimeScaleDensity && a.interval\n );\n return {\n formatFn: (a) => typeof r == \"function\" ? r(a) : u.timeFormat(r)(a),\n interval: t\n };\n },\n handleResize({ contentRect: e }) {\n this.svg && (this.svg.attr(\"width\", e.width), this.updateCurtainsOnResize(e.width));\n },\n handleDarkModeChange() {\n if (!this.showLabels)\n return;\n const e = this;\n this.svg.selectAll(`.${w.labelBg}`).each(function() {\n u.select(this).style(\"fill\", e.dark ? \"black\" : \"white\");\n }), this.svg.selectAll(`.${w.labelBgFill}`).each(function() {\n const t = u.select(this), r = t.node().dataset.color;\n t.style(\"fill\", e.getLabelBackgroundColor(r)).style(\"stroke\", e.getTextFillColor(r)).style(\"stroke-width\", 0.25);\n }), this.svg.selectAll(`.${w.labelText}`).each(function() {\n const t = u.select(this), r = t.node().dataset.color;\n t.style(\"fill\", e.getTextFillColor(r));\n });\n },\n handleMouseDown() {\n this.isMouseDown = !0;\n },\n handleDocumentMouseUp() {\n this.isMouseDown = !1;\n },\n handleMouseLeave() {\n this.isHoveringTimeline = !1, this.$emit(\"hovered-timestamp\", void 0);\n },\n handleMouseMove(e) {\n if (this.isMouseDown)\n return;\n const t = e.offsetX, r = this.timeScale.invert(t);\n this.hoveredTimestamp = this.dateToTzString(r), this.isHoveringTimeline = !0, this.$emit(\"hovered-timestamp\", this.hoveredTimestamp), this.cursor.style.left = t + \"px\", this.tooltip && (this.eventTooltipStyle = {\n left: `${t}px`,\n bottom: `${this.timeline.getBoundingClientRect().height}px`\n }, this.repositionSelectedTimestampCursor());\n },\n handleClick(e) {\n const t = e.offsetX, r = this.timeScale.invert(t), n = this.dateToTzString(r);\n this.$emit(\"date-clicked\", n), this.isHoveringEvent && this.$emit(\"event-clicked\", {\n event: this.hoveredEvent,\n type: this.hoveredEventType\n });\n },\n handleLineMouseOver(e, t, r) {\n this.hoveredCounts = Object.entries(\n this.countsByTimestamp[`${t.timestamp}`]\n ).reduce((n, a) => {\n const [o, i] = a;\n return [...n, { type: o, count: i }];\n }, []), this.hoveredEvent = t, this.isHoveringEvent = !0, this.$emit(\"event-mouseover\", {\n eventData: t,\n eventType: r,\n hoveredCounts: this.hoveredCounts\n });\n },\n handleLineMouseOut() {\n this.isHoveringEvent = !1, this.hoveredCounts = [], this.$emit(\"event-mouseout\");\n },\n handleBarMouseOver(e, t, r) {\n this.hoveredEvent = t, this.hoveredEventType = r, this.isHoveringEvent = !0, this.$emit(\"event-mouseover\", { eventData: t, eventType: r });\n },\n handleBarMouseOut() {\n this.isHoveringEvent = !1, this.hoveredEvent = null, this.$emit(\"event-mouseout\");\n },\n handleLabelMouseOver(e) {\n u.selectAll(`.${w.lineGraphGroup}-${e}`).classed(\n `${w.lineGraphGroup}--highlighted`,\n !0\n ), u.selectAll(`.${w.lineGraphGroup}-label`).classed(\n `${w.lineGraphGroup}-label--highlighted`,\n !0\n );\n },\n handleLabelMouseLeave(e) {\n u.selectAll(`.${w.lineGraphGroup}-${e}`).classed(\n `${w.lineGraphGroup}--highlighted`,\n !1\n ), u.selectAll(`.${w.lineGraphGroup}-label`).classed(\n `${w.lineGraphGroup}-label--highlighted`,\n !1\n );\n },\n handleZoom(e) {\n const t = e.transform.rescaleX(this.initialTimeScale);\n this.timeScale.domain(t.domain()), this.updateCurrentTimeScaleDensity();\n const r = e.transform.k / this.lastTransform.k;\n this.transformDiff = {\n scale: r,\n translation: e.transform.x - this.lastTransform.x\n }, this.lastTransform = { ...e.transform };\n for (const n in this.xAxes)\n this.rescaleAxis(n, t), this.translateTicksText(n);\n this.updateBarCharts(), this.updateLineGraphs(), this.updateLineGraphHoverZones(), this.repositionSelectedTimestampCursor(), this.emitVisibleInterval(), this.emitCurtainChange();\n },\n emitCurtainChange() {\n const { startDate: e, endDate: t } = this.calculateDateRangeFromCurtains();\n this.$emit(\"curtain-range-change\", {\n startDate: new Date(e).toISOString(),\n endDate: new Date(t).toISOString()\n });\n },\n calculateDateRangeFromCurtains() {\n const e = this.timeline.offsetWidth, t = this.timeScale.domain(), r = t[1].getTime() - t[0].getTime(), n = (this.leftCurtainWidth - this.curtainHandleWidth * 2) / e * r, a = (this.rightCurtainWidth + this.curtainHandleWidth * 2) / e * r, o = new Date(t[0].getTime() + n), i = new Date(t[1].getTime() - a);\n return { startDate: o, endDate: i };\n },\n updateCurtainsOnResize(e) {\n const { startDate: t, endDate: r } = this.calculateDateRangeFromCurtains(), n = this.timeScale.domain(), a = n[1].getTime() - n[0].getTime(), o = t.getTime() - n[0].getTime(), i = n[1].getTime() - r.getTime();\n this.leftCurtainWidth = o / a * e, this.rightCurtainWidth = i / a * e, this.svg.select(`.${w.curtain}--left`).attr(\"width\", this.leftCurtainWidth), this.svg.select(`.${w.curtain}--right`).attr(\n \"x\",\n e - this.rightCurtainWidth + this.curtainHandleWidth * 2\n ).attr(\"width\", this.rightCurtainWidth);\n },\n handleDragStart() {\n this.isDraggingCurtain = !0;\n },\n handleDragEnd() {\n this.isDraggingCurtain = !1;\n },\n handleLeftDrag(e) {\n e.sourceEvent.stopPropagation();\n const t = Math.min(\n e.x,\n this.timeline.offsetWidth - this.rightCurtainWidth\n );\n this.leftCurtainWidth = Math.max(0, t), this.svg.select(`.${w.curtain}--left`).attr(\"width\", this.leftCurtainWidth), this.emitCurtainChange();\n },\n handleRightDrag(e) {\n e.sourceEvent.stopPropagation();\n const t = this.timeline.offsetWidth, r = Math.min(\n this.timeline.offsetWidth - e.x,\n this.timeline.offsetWidth - this.leftCurtainWidth\n ), n = t - r;\n this.rightCurtainWidth = Math.max(0, r), this.svg.select(`.${w.curtain}--right`).attr(\"width\", this.rightCurtainWidth).attr(\"x\", n), this.emitCurtainChange();\n },\n zoomToStartAndEndDates() {\n const e = this.startDate || this.oldestEvent.timestamp || this.oldestEvent.startDate, t = this.endDate || this.latestEvent.timestamp || this.latestEvent.endDate, r = this.tzStringToDate(e), n = this.tzStringToDate(t), a = this.timeline.offsetWidth, o = [r, n], i = [0, a];\n this.timeScale = u.scaleTime().domain(o).range(i), this.initialTimeScale = this.timeScale.copy(), this.updateCurrentTimeScaleDensity();\n for (const c in this.xAxes)\n this.rescaleAxis(c, this.timeScale), this.translateTicksText(c);\n this.updateBarCharts(), this.updateLineGraphs(), this.updateLineGraphHoverZones(), this.repositionSelectedTimestampCursor();\n },\n rescaleAxis(e, t) {\n const r = this.xAxes[e], n = this.getAxisTicksConfig(\n this.xAxesConfig[e]\n );\n r.scale(t).ticks(n.interval).tickFormat(n.formatFn).tickSizeOuter(0), this.svg.select(`.${w.xAxis}-${e}`).call(r);\n },\n translateTicksText(e) {\n this.svg.select(`.${w.xAxis}-${e}`).selectAll(\".tick text\").each(function() {\n let t = u.select(this), r = t.node().getBBox();\n t.attr(\"x\", r.height / 2).attr(\"y\", 0).style(\"text-anchor\", \"start\");\n });\n },\n updateBarCharts() {\n const e = `.${w.eventGroup} > rect.${w.eventRect}`;\n this.svg.selectAll(e).attr(\"x\", this.getEventRectX).attr(\"width\", this.getEventRectWidth).attr(\"height\", this.barChartHeight);\n },\n updateLineGraphs() {\n Object.entries(this.lineGraphGroups).forEach(([e]) => {\n const t = u.area().x((r) => this.timeScale(this.tzStringToDate(r.timestamp))).y0(this.timelineHeight).y1((r) => this.yScale(r.count)).curve(u.curveMonotoneX);\n this.svg.selectAll(\n `.${w.lineGraphPath}-${e}`\n ).attr(\"d\", (r) => t(r));\n });\n },\n updateLineGraphHoverZones() {\n Object.keys(this.lineGraphGroups).forEach((e) => {\n const t = this;\n this.svg.selectAll(\n `.${w.lineGraphDot}-${e}`\n ).each(function(r) {\n u.select(this).attr(\"cx\", t.timeScale(t.tzStringToDate(r.timestamp))).attr(\"cy\", t.yScale(r.count));\n }), this.svg.selectAll(\n `.${w.lineGraphHoverZone}-${e}`\n ).each(function(r) {\n const n = t.timeScale(t.tzStringToDate(r.timestamp).getTime()) - 15;\n u.select(this).attr(\"x\", n).attr(\"y\", 0).attr(\"width\", 30).attr(\"height\", t.lineGraphChartHeight);\n });\n });\n },\n getEventRectX(e) {\n return this.timeScale(this.tzStringToDate(e.startDate || e.timestamp));\n },\n getEventRectWidth(e) {\n if (!e)\n return 0;\n if (e.startDate && e.endDate) {\n const t = new Date(e.startDate), r = new Date(e.endDate), n = this.timeScale(r) - this.timeScale(t);\n return Math.max(n, this.rectMinWidth);\n } else {\n const t = 1 / (this.currentTimeScaleDensity * 3600);\n return Math.max(t, this.rectMinWidth);\n }\n },\n initCurtains() {\n if (!this.curtains)\n return;\n const e = this.timeline.offsetWidth, t = this.timelineHeight;\n this.svg.append(\"rect\").classed(`${w.curtain} ${w.curtain}--left`, !0).attr(\"width\", this.leftCurtainWidth).attr(\"height\", t + this.curtainHandleWidth * 2).attr(\"y\", -this.curtainHandleWidth).attr(\"x\", -this.curtainHandleWidth).attr(\"fill\", \"rgba(0, 0, 0, 0.5)\").on(\"mouseenter\", () => this.isHoveringCurtain = !0).on(\"mouseleave\", () => this.isHoveringCurtain = !1).call(\n u.drag().on(\"start\", this.handleDragStart).on(\"drag\", this.handleLeftDrag).on(\"end\", this.handleDragEnd)\n ), this.svg.append(\"rect\").classed(`${w.curtain} ${w.curtain}--right`, !0).attr(\n \"x\",\n e - this.rightCurtainWidth + this.curtainHandleWidth * 2\n ).attr(\"y\", -this.curtainHandleWidth).attr(\"width\", this.rightCurtainWidth + this.curtainHandleWidth * 2).attr(\"height\", t + this.curtainHandleWidth * 2).attr(\"fill\", \"rgba(0, 0, 0, 0.5)\").on(\"mouseenter\", () => this.isHoveringCurtain = !0).on(\"mouseleave\", () => this.isHoveringCurtain = !1).call(\n u.drag().on(\"start\", this.handleDragStart).on(\"drag\", this.handleRightDrag).on(\"end\", this.handleDragEnd)\n );\n },\n drawEventsGroups() {\n this.svg.selectAll(`g.${w.eventGroup}`).remove(), this.drawLineGraphEventsGroups(), this.drawBarEventsGroups();\n },\n drawLineGraphEventsGroups() {\n const e = this.combinedXAxesHeight, t = this.normalizeEvents ? this.normalizedLineGraphGroups : this.lineGraphGroups;\n Object.entries(t).forEach(([r, n]) => {\n const a = this.svg.append(\"g\").classed(\n `${w.lineGraphGroup} ${w.lineGraphGroup}-${r}`,\n !0\n ).attr(\"transform\", `translate(0,${e})`), { color: o, events: i } = n;\n this.drawLineGraph({\n events: i,\n gElement: a,\n color: o,\n type: r\n }), this.drawLineGraphHoverZones({\n events: i,\n gElement: a,\n color: o,\n type: r\n });\n }), Object.entries(this.lineGraphGroups).forEach(\n ([r, n], a) => {\n const { color: o, isLoading: i, label: c } = n, l = this.lineGraphChartHeight - this.barChartHeight * (a + 1), s = e + this.lineGraphChartHeight - this.barChartHeight, d = this.svg.append(\"g\").classed(`${w.lineGraphGroup}-label`, !0).attr(\"transform\", `translate(0,${e})`).on(\"mouseover\", () => this.handleLabelMouseOver(r)).on(\"mouseleave\", () => this.handleLabelMouseLeave(r));\n this.drawProgressIndicator({\n type: r,\n color: o,\n isLoading: i,\n yPosition: s\n }), this.drawTextLabel({\n color: o,\n label: c,\n yPosition: l,\n gElement: d\n });\n }\n );\n },\n drawLineGraph({\n events: e,\n gElement: t,\n color: r,\n type: n\n }) {\n const a = u.area().x((o) => this.timeScale(this.tzStringToDate(o.timestamp))).y0(this.timelineHeight).y1((o) => this.yScale(o.count)).curve(u.curveMonotoneX);\n t.append(\"path\").datum(e).classed(`${w.lineGraphPath}-${n}`, !0).attr(\"fill\", `url(#${Q.areaGradient}-${n})`).attr(\"stroke\", r).attr(\"stroke-linejoin\", \"round\").attr(\"stroke-linecap\", \"round\").attr(\"stroke-width\", 1).attr(\"d\", (o) => a(o));\n },\n drawLineGraphHoverZones({\n events: e,\n gElement: t,\n color: r,\n type: n\n }) {\n e.forEach((a) => {\n const o = `${a.timestamp}`;\n this.countsByTimestamp[o] = {\n ...this.countsByTimestamp[o] || {},\n [n]: a.count\n };\n const i = t.append(\"circle\").classed(\n `${w.lineGraphDot} ${w.lineGraphDot}-${n}`,\n !0\n ).attr(\"cx\", this.timeScale(this.tzStringToDate(a.timestamp))).attr(\"cy\", this.yScale(a.count)).attr(\"r\", 1.5).attr(\"fill\", r).attr(\"stroke-width\", 0).datum(a);\n this.dotsByTimestamp[o] = [\n ...this.dotsByTimestamp[o] || [],\n i\n ], t.append(\"rect\").classed(`${w.lineGraphHoverZone}-${n}`, !0).attr(\"x\", this.timeScale(this.tzStringToDate(a.timestamp)) - 15).attr(\"y\", 0).attr(\"width\", 30).attr(\"height\", this.lineGraphChartHeight).attr(\"fill\", \"transparent\").datum(a).on(\"mouseover\", (c) => {\n this.handleLineMouseOver(c, a, n), this.dotsByTimestamp[o].forEach(\n (l) => l.classed(`${w.lineGraphDot}--active`, !0)\n );\n }).on(\"mouseout\", () => {\n this.handleLineMouseOut(), this.dotsByTimestamp[o].forEach(\n (c) => c.classed(`${w.lineGraphDot}--active`, !1)\n );\n });\n });\n },\n drawBarEventsGroups() {\n Object.entries(this.barGroups).forEach(([e, t], r) => {\n const { color: n, label: a, events: o, isLoading: i } = t, c = r === 0 ? 0 : this.eventGroupPadding, l = this.hasLineGraphChart ? this.lineGraphChartHeight : 0, s = r * (this.barChartHeight + c) + this.combinedXAxesHeight + l;\n this.drawProgressIndicator({\n yPosition: s,\n type: e,\n color: n,\n isLoading: i\n });\n const d = this.svg.append(\"g\").attr(\"data-color\", n).classed(w.eventGroup, !0).classed(`${w.eventGroup}-${e}`, !0);\n this.drawBackground({\n color: n,\n gElement: d,\n yPosition: s\n }), this.drawBars({\n events: o,\n color: n,\n gElement: d,\n yPosition: s,\n type: e\n }), this.drawTextLabel({\n color: n,\n label: a,\n gElement: d,\n yPosition: s\n });\n });\n },\n drawProgressIndicator({\n yPosition: e,\n type: t,\n isLoading: r\n }) {\n this.svg.append(\"rect\").classed(\n `${w.loadingIndicator} ${w.loadingIndicator}-${t}`,\n !0\n ).attr(\"x\", 0).attr(\"y\", e).attr(\"width\", this.timeline.offsetWidth / 3).attr(\"height\", this.barChartHeight).attr(\"fill\", `url(#${Q.loadingGradient}-${t})`).style(\"visibility\", r ? \"visible\" : \"hidden\");\n },\n drawBackground({\n color: e,\n yPosition: t,\n gElement: r\n }) {\n r.append(\"rect\").attr(\"class\", w.eventGroupBg).attr(\"x\", 0).attr(\"y\", t).attr(\"width\", this.timeline.offsetWidth).attr(\"height\", this.barChartHeight).attr(\"fill\", u.color(e).toString()).style(\"opacity\", 0.1);\n },\n drawBars({\n events: e,\n gElement: t,\n yPosition: r,\n color: n,\n type: a\n }) {\n const o = this;\n t.selectAll(w.eventRect).data(e).enter().append(\"rect\").classed(w.eventRect, !0).attr(\"x\", this.getEventRectX).attr(\"y\", r).attr(\"ry\", 1.5).attr(\"rx\", 1.5).attr(\"width\", this.getEventRectWidth).attr(\"height\", this.barChartHeight).attr(\"stroke-width\", 5).attr(\"cursor\", \"pointer\").attr(\"stroke\", \"#0000\").style(\"fill\", n).on(\"mouseover\", function(i, c) {\n u.select(this).classed(`${w.eventRect}--hovered`, !0), o.handleBarMouseOver(i, c, a);\n }).on(\"mouseout\", function() {\n u.select(this).classed(`${w.eventRect}--hovered`, !1), o.handleBarMouseOut();\n });\n },\n drawTextLabel({\n gElement: e,\n yPosition: t,\n color: r,\n label: n\n }) {\n if (!this.showLabels)\n return;\n const a = {\n x: -5,\n y: t,\n w: this.labelRectWidth + 5,\n h: this.barChartHeight,\n radius: 3\n };\n e.append(\"rect\").attr(\"class\", w.labelBg).attr(\"data-color\", r).attr(\"x\", a.x).attr(\"y\", a.y).attr(\"width\", a.w).attr(\"height\", a.h).attr(\"rx\", a.radius).attr(\"ry\", a.radius).style(\"fill\", this.dark ? \"#131a29\" : \"white\"), e.append(\"rect\").attr(\"class\", w.labelBgFill).attr(\"data-color\", r).attr(\"x\", a.x).attr(\"y\", a.y).attr(\"width\", a.w).attr(\"height\", a.h).attr(\"rx\", a.radius).attr(\"ry\", a.radius).style(\"fill\", this.getLabelBackgroundColor(r)).style(\"stroke\", this.getTextFillColor(r)).style(\"stroke-width\", 0.25), e.append(\"text\").attr(\"class\", w.labelText).attr(\"data-color\", r).attr(\"x\", 5).attr(\"y\", t + this.barChartHeight / 2).attr(\"dy\", \"0.35em\").style(\"text-anchor\", \"start\").style(\"font-size\", \"12px\").style(\"font-weight\", 500).style(\"stroke-linejoin\", \"round\").style(\"paint-order\", \"stroke\").style(\"fill\", this.getTextFillColor(r)).text(n);\n },\n getTextFillColor(e) {\n var t, r;\n return (this.dark ? (t = u.color(e)) == null ? void 0 : t.brighter(1.5) : (r = u.color(e)) == null ? void 0 : r.darker(2)).toString();\n },\n getLabelBackgroundColor(e) {\n let t = u.color(e);\n return t.opacity = this.dark ? 0.2 : 0.5, t.toString();\n },\n tzStringToDate(e) {\n return K(e).add(this.utcOffset, \"minutes\").toDate();\n },\n dateToTzString(e) {\n const t = new Date(e).getTimezoneOffset();\n return K(e).add(t, \"minutes\").utcOffset(this.utcOffset, !0).format();\n },\n getCurrentTimeBounds() {\n const e = this.timeScale.domain();\n return { startDate: e[0], endDate: e[1] };\n },\n getFormattedTimestamp(e) {\n return K.parseZone(e).format(\"YYYY-MM-DDTHH:mm:ss\");\n },\n fillTimeGaps(e) {\n if (e.length <= 1)\n return e;\n const t = (i) => new Date(i), r = (i) => t(i).getTime(), n = (i, c) => new Date(i.getTime() + c), a = e.map(\n (i, c) => c === 0 ? 1 / 0 : r(i.timestamp) - r(e[c - 1].timestamp)\n ).reduce(\n (i, c) => Math.min(i, c),\n 1 / 0\n );\n let o = e.flatMap(\n (i, c) => {\n const l = e[c + 1];\n if (!l)\n if (this.flattenLineGraphEnds) {\n const v = n(\n t(i.timestamp),\n a\n );\n return [\n i,\n { timestamp: v.toISOString(), count: 0 }\n ];\n } else\n return [i];\n const s = t(i.timestamp), d = t(l.timestamp);\n if (d.getTime() - s.getTime() > a) {\n const v = n(d, -a), h = n(s, a);\n return [\n i,\n { timestamp: h.toISOString(), count: 0 },\n { timestamp: v.toISOString(), count: 0 },\n l\n ];\n } else\n return [i, l];\n }\n );\n return this.flattenLineGraphEnds && (o = [\n { timestamp: n(\n t(e[0].timestamp),\n -a\n ).toISOString(), count: 0 },\n ...o\n ]), o;\n },\n getNormalizedEvents(e) {\n return this.placeholderLineChartGroup.map((t) => e.find(\n (n) => n.timestamp === t.timestamp\n ) || t);\n }\n }\n});\nvar Xt = function() {\n var t = this, r = t._self._c;\n return r(\"div\", { staticClass: \"e-relative e-timeline e-border e-rounded\", class: t.classes.wrapper }, [r(\"div\", { staticClass: \"e-timeline__background e-w-full e-h-full e-absolute e-top-0 e-rounded\", class: t.classes.background }), r(\"div\", { directives: [{ name: \"resize-observer\", rawName: \"v-resize-observer\", value: t.handleResize, expression: \"handleResize\" }], ref: \"timelineContainer\", staticClass: \"e-timeline__svg-container e-relative e-h-13 e-rounded e-select-none e-overflow-x-hidden e-overflow-hidden\" }), r(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: t.isHoveringTimeline && !t.isInteractingWithCurtain, expression: \"isHoveringTimeline && !isInteractingWithCurtain\" }], ref: \"cursor\", staticClass: \"e-timeline__cursor e-absolute e-bg-green-600 e-w-px e-h-full e-top-0 e-pointer-events-none\" }), r(\"div\", { ref: \"tooltip\", staticClass: \"e-absolute\", style: t.eventTooltipStyle }, [t._t(\"tooltip\", function() {\n return [r(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: t.isHoveringTimeline && !t.isHoveringEvent && !t.isInteractingWithCurtain && !t.cursorTimestamp, expression: `\n isHoveringTimeline &&\n !isHoveringEvent &&\n !isInteractingWithCurtain &&\n !cursorTimestamp\n ` }], staticClass: \"e-timeline__tooltip e-border e-rounded e-px-2 -e-left-2/4 e-relative\", class: t.classes.tooltipSlot }, [t._v(\" \" + t._s(t.hoveredTimestamp) + \" \")])];\n }, { timestamp: t.hoveredTimestamp, active: t.isHoveringTimeline && !t.isInteractingWithCurtain && !t.cursorTimestamp })], 2), r(\"div\", { ref: \"eventPreviewTooltip\", staticClass: \"e-absolute\", style: t.eventTooltipStyle }, [t._t(\"eventTooltip\", function() {\n return [t.showEventTooltip && (t.hoveredEvent || t.hoveredCounts.length) ? r(\"div\", { directives: [{ name: \"show\", rawName: \"v-show\", value: t.isHoveringEvent && !t.isInteractingWithCurtain, expression: \"isHoveringEvent && !isInteractingWithCurtain\" }], staticClass: \"e-timeline__event-tooltip e-border e-rounded e-px-2 -e-left-2/4 e-relative\", class: t.classes.eventTooltipSlot }, [t.hoveredCounts.length ? r(\"div\", [r(\"strong\", [t._v(\"Timestamp\")]), t._v(\": \" + t._s(t.hoveredEvent.timestamp) + \" \"), t._l(t.hoveredCounts, function(n, a) {\n return r(\"div\", { key: a }, [r(\"strong\", [t._v(t._s(n.type) + \" Count\")]), t._v(\": \" + t._s(n.count) + \" \")]);\n })], 2) : t.hoveredEvent ? r(\"div\", [t.hoveredEvent.timestamp ? r(\"div\", [r(\"strong\", [t._v(\"Event time\")]), t._v(\": \" + t._s(t.hoveredEvent.timestamp) + \" \")]) : t._e(), t.hoveredEvent.startDate ? r(\"div\", [r(\"strong\", [t._v(\"From\")]), t._v(\":\" + t._s(t.hoveredEvent.startDate) + \" \")]) : t._e(), t.hoveredEvent.endDate ? r(\"div\", [r(\"strong\", [t._v(\"To\")]), t._v(\":\" + t._s(t.hoveredEvent.endDate) + \" \")]) : t._e()]) : t._e()]) : t._e()];\n }, { event: t.hoveredEvent, counts: t.hoveredCounts, active: t.isHoveringEvent && !t.isInteractingWithCurtain, type: t.hoveredEventType })], 2)]);\n}, Yt = [], Zt = /* @__PURE__ */ q(\n qt,\n Xt,\n Yt,\n !1,\n null,\n null,\n null,\n null\n);\nconst Kt = Zt.exports, we = {\n EAvatar: lt,\n EBadge: Ae,\n EIcon: Ct,\n ESpinner: Ke,\n ERow: Ft,\n ECol: Gt,\n EVideoPlayer: Nt,\n ETimeline: Kt\n}, ir = {\n install(e) {\n Object.keys(we).forEach((t) => {\n e.component(t, we[t]);\n }), Vt.forEach(({ name: t, definition: r }) => {\n e.directive(t, r);\n });\n }\n};\nexport {\n tr as AvatarSizes,\n rr as BadgeColors,\n er as BadgeSizes,\n j as BaseColor,\n vt as Colors,\n Vt as DirectivesMap,\n lt as EAvatar,\n Ae as EBadge,\n Gt as ECol,\n Ct as EIcon,\n Ft as ERow,\n Ke as ESpinner,\n Kt as ETimeline,\n nr as EVENTS,\n Nt as EVideoPlayer,\n yt as IconSizes,\n Qe as ResizeObserverDirective,\n T as Size,\n gt as TextSizes,\n ee as TimelineAxis,\n we as components,\n ir as default,\n jt as exitFullScreen,\n Ze as fullConfig,\n Je as isFullScreen,\n Ht as makeFullScreen\n};\n//# sourceMappingURL=index.mjs.map\n","\r\nimport Vue, { PropType } from \"vue\"\r\nimport { makeFullScreen, exitFullScreen } from \"@evercam/ui\"\r\n// types:\r\nexport type VideoSource = {\r\n type: string\r\n src: string\r\n srcObject?: MediaStream\r\n}\r\n\r\nexport type MediaType = \"video\" | \"webRtc\" | \"ptz\" | \"hls\"\r\n\r\n// Helper functions\r\nconst leadingZeroFormatter = new Intl.NumberFormat(undefined, {\r\n minimumIntegerDigits: 2,\r\n})\r\n\r\n// List of events so we can bind them on mount\r\nexport const VIDEO_PLAYER_EVENTS = [\r\n \"play\",\r\n \"pause\",\r\n \"ended\",\r\n \"loadeddata\",\r\n \"waiting\",\r\n \"playing\",\r\n \"timeupdate\",\r\n \"canplay\",\r\n \"canplaythrough\",\r\n \"statechanged\",\r\n \"error\",\r\n]\r\n\r\nconst formatDuration = (time: number) => {\r\n const seconds = Math.floor(time % 60)\r\n const minutes = Math.floor(time / 60) % 60\r\n const hours = Math.floor(time / 3600)\r\n if (hours === 0) {\r\n return `${minutes}:${leadingZeroFormatter.format(seconds)}`\r\n } else {\r\n return `${hours}:${leadingZeroFormatter.format(\r\n minutes\r\n )}:${leadingZeroFormatter.format(seconds)}`\r\n }\r\n}\r\n\r\nexport default Vue.extend({\r\n name: \"VideoPlayer\",\r\n\r\n props: {\r\n type: {\r\n type: String as PropType<MediaType>,\r\n default: \"video\",\r\n },\r\n sources: {\r\n type: [Array, String] as PropType<VideoSource[] | string>,\r\n required: true,\r\n },\r\n videoListeners: {\r\n type: Object as PropType<Partial<HTMLVideoElement>>,\r\n default: () => ({}),\r\n },\r\n videoOptions: {\r\n type: Object as PropType<Partial<HTMLVideoElement>>,\r\n default: () => ({}),\r\n },\r\n },\r\n data() {\r\n return {\r\n playing: false,\r\n percentagePlayed: 0,\r\n videoLength: \"0:00\",\r\n duration: 0,\r\n videoDuration: 0,\r\n currentTime: \"0:00\",\r\n realtime: 0,\r\n isScrubbing: false,\r\n wasPaused: false,\r\n isFullscreen: false,\r\n isFinished: false,\r\n isLoading: true,\r\n isError: false,\r\n }\r\n },\r\n computed: {\r\n sourceItems() {\r\n return (\r\n Array.isArray(this.sources) ? this.sources : [{ src: this.sources }]\r\n ) as VideoSource[]\r\n },\r\n hasStartedOrFinished(): boolean {\r\n return (\r\n (this.isFinished || this.realtime <= 0.1) &&\r\n !this.isLoading &&\r\n !this.isLooped()\r\n )\r\n },\r\n withControls() {\r\n const videoOptions = this.videoOptions as Partial<HTMLVideoElement>\r\n\r\n return videoOptions?.controls === false ? \"hide\" : \"\"\r\n },\r\n },\r\n mounted() {\r\n this.bindEvents()\r\n this.initializePlayer()\r\n this.initializeFullscreenListeners()\r\n },\r\n destroyed() {\r\n this.unbindEvents()\r\n this.destroyPlayer()\r\n this.removeFullscreenListeners()\r\n },\r\n\r\n methods: {\r\n handle404Error(e) {\r\n console.log({ e })\r\n if (this.type === \"webRtc\") {\r\n this.handleLoading()\r\n\r\n return\r\n } else {\r\n this.isError = true\r\n this.isLoading = false\r\n this.playing = false\r\n }\r\n },\r\n bindEvents() {\r\n VIDEO_PLAYER_EVENTS.forEach((event) => {\r\n this.bindVideoEvent(event)\r\n })\r\n },\r\n unbindEvents() {\r\n VIDEO_PLAYER_EVENTS.forEach((event) => {\r\n this.unbindVideoEvent(event)\r\n })\r\n },\r\n bindVideoEvent(which: string) {\r\n const player = this.$refs.player as HTMLVideoElement\r\n const timelineContainer = this.$refs.timelineContainer as HTMLDivElement\r\n player.addEventListener(\r\n which,\r\n (event) => {\r\n if (which === \"loadeddata\") {\r\n this.videoLength = formatDuration(player.duration)\r\n }\r\n\r\n if (which === \"timeupdate\") {\r\n this.percentagePlayed = (player.currentTime / player.duration) * 100\r\n timelineContainer.style.setProperty(\r\n \"--progress-position\",\r\n this.percentagePlayed.toString()\r\n )\r\n }\r\n\r\n this.$emit(which, { event, player: this })\r\n },\r\n true\r\n )\r\n },\r\n unbindVideoEvent(which: string) {\r\n const player = this.$refs.player as HTMLVideoElement\r\n const timelineContainer = this.$refs.timelineContainer as HTMLDivElement\r\n player.addEventListener(\r\n which,\r\n (event) => {\r\n if (which === \"loadeddata\") {\r\n this.videoLength = formatDuration(player.duration)\r\n }\r\n\r\n if (which === \"timeupdate\") {\r\n this.percentagePlayed = (player.currentTime / player.duration) * 100\r\n timelineContainer.style.setProperty(\r\n \"--progress-position\",\r\n this.percentagePlayed.toString()\r\n )\r\n }\r\n\r\n this.$emit(which, { event, player: this })\r\n },\r\n true\r\n )\r\n },\r\n initializePlayer() {\r\n const playerRef = this.$refs.player as HTMLVideoElement\r\n if (!playerRef) {\r\n return\r\n }\r\n if (playerRef.autoplay) {\r\n this.setPlaying(true)\r\n }\r\n document.addEventListener(\"mouseup\", this.handleScrubbingOnMouseEnd)\r\n document.addEventListener(\"keydown\", this.handleKeyDown)\r\n },\r\n destroyPlayer() {\r\n window.removeEventListener(\"keydown\", this.handleKeyDown)\r\n document.removeEventListener(\"mouseup\", this.handleScrubbingOnMouseEnd)\r\n },\r\n removeFullscreenListeners() {\r\n if (\r\n document.fullscreenEnabled ||\r\n document.webkitFullscreenEnabled ||\r\n document.mozFullScreenEnabled ||\r\n document.msFullscreenEnabled\r\n ) {\r\n document.removeEventListener(\r\n \"fullscreenchange\",\r\n this.handleFullscreenChange\r\n )\r\n document.removeEventListener(\r\n \"webkitfullscreenchange\",\r\n this.handleFullscreenChange\r\n )\r\n document.removeEventListener(\r\n \"mozfullscreenchange\",\r\n this.handleFullscreenChange\r\n )\r\n document.removeEventListener(\r\n \"MSFullscreenChange\",\r\n this.handleFullscreenChange\r\n )\r\n } else {\r\n console.log(\"Fullscreen API is not supported in this browser.\")\r\n }\r\n },\r\n initializeFullscreenListeners() {\r\n if (\r\n document.fullscreenEnabled ||\r\n document.webkitFullscreenEnabled ||\r\n document.mozFullScreenEnabled ||\r\n document.msFullscreenEnabled\r\n ) {\r\n document.addEventListener(\r\n \"fullscreenchange\",\r\n this.handleFullscreenChange\r\n )\r\n document.addEventListener(\r\n \"webkitfullscreenchange\",\r\n this.handleFullscreenChange\r\n )\r\n document.addEventListener(\r\n \"mozfullscreenchange\",\r\n this.handleFullscreenChange\r\n )\r\n document.addEventListener(\r\n \"MSFullscreenChange\",\r\n this.handleFullscreenChange\r\n )\r\n } else {\r\n console.log(\"Fullscreen API is not supported in this browser.\")\r\n }\r\n },\r\n handleFullscreenChange() {\r\n this.isFullscreen =\r\n document.fullscreenElement ||\r\n document.mozFullScreenElement ||\r\n document.webkitFullscreenElement ||\r\n document.msFullscreenElement ||\r\n (window.innerWidth == screen.width &&\r\n window.innerHeight == screen.height)\r\n },\r\n\r\n isLooped() {\r\n const player = this.$refs.player as HTMLVideoElement\r\n\r\n return player.loop\r\n },\r\n handleScrubbingOnMouseEnd(e: MouseEvent) {\r\n if (this.isScrubbing) {\r\n this.toggleScrubbing(e)\r\n }\r\n },\r\n handleEnded() {\r\n this.isFinished = true\r\n this.playing = false\r\n },\r\n handleLoading() {\r\n this.isLoading = false\r\n },\r\n play() {\r\n const playerRef = this.$refs.player as HTMLVideoElement\r\n if (!playerRef) {\r\n return\r\n }\r\n const playPromise = playerRef.play()\r\n if (playPromise !== undefined) {\r\n playerRef\r\n .play()\r\n .then(() => this.setPlaying(true))\r\n .catch(console.error)\r\n }\r\n },\r\n pause() {\r\n const playerRef = this.$refs.player as HTMLVideoElement\r\n if (!playerRef) {\r\n return\r\n }\r\n playerRef.pause()\r\n this.setPlaying(false)\r\n },\r\n togglePlay() {\r\n if (this.playing) {\r\n this.pause()\r\n } else {\r\n this.play()\r\n }\r\n },\r\n setPlaying(state: boolean) {\r\n this.playing = state\r\n },\r\n seekToPercentage(percentage: number) {\r\n const playerRef = this.$refs.player as HTMLVideoElement\r\n if (!playerRef) {\r\n return\r\n }\r\n const currentTime = (percentage / 100) * playerRef.duration\r\n playerRef.currentTime = currentTime\r\n },\r\n convertTimeToDuration(seconds: number) {\r\n // @ts-ignore\r\n return [parseInt((seconds / 60) % 60, 10), parseInt(seconds % 60, 10)]\r\n .join(\":\")\r\n .replace(/\\b(\\d)\\b/g, \"0$1\")\r\n },\r\n\r\n closeFullscreenMode() {\r\n if (document.fullscreenElement) {\r\n exitFullScreen().then(() => {\r\n this.isFullscreen = false\r\n console.log(\"Exited fullscreen\")\r\n })\r\n\r\n this.isFullscreen = false\r\n }\r\n },\r\n openFullscreenMode() {\r\n const element = this.$refs.videoContainer as HTMLDivElement\r\n if (element) {\r\n makeFullScreen(element).then(() => {\r\n this.isFullscreen = true\r\n })\r\n this.isFullscreen = true\r\n }\r\n },\r\n toggleFullscreenMode() {\r\n if (this.isFullscreen) {\r\n this.closeFullscreenMode()\r\n } else {\r\n this.openFullscreenMode()\r\n }\r\n },\r\n\r\n getDuration() {\r\n const player = this.$refs.player as HTMLVideoElement\r\n this.videoLength = formatDuration(player.duration)\r\n this.videoDuration = player.duration\r\n },\r\n handleTimeUpdate() {\r\n const player = this.$refs.player as HTMLVideoElement\r\n const timelineContainer = this.$refs.timelineContainer as HTMLDivElement\r\n if (!player || !timelineContainer) {\r\n return\r\n }\r\n this.currentTime = formatDuration(player.currentTime)\r\n this.realtime = player.currentTime\r\n const percent = Number(this.realtime) / Number(this.videoDuration)\r\n timelineContainer.style.setProperty(\r\n \"--progress-position\",\r\n percent.toString()\r\n )\r\n },\r\n handleTimelineUpdate(e: MouseEvent) {\r\n const player = this.$refs.player as HTMLVideoElement\r\n if (!document.body.contains(player)) {\r\n return\r\n }\r\n const timelineContainer = this.$refs.timelineContainer as HTMLDivElement\r\n const rect = timelineContainer.getBoundingClientRect()\r\n const percent =\r\n Math.min(Math.max(0, e.x - rect.x), rect.width) / rect.width\r\n timelineContainer.style.setProperty(\r\n \"--preview-position\",\r\n percent.toString()\r\n )\r\n if (this.isScrubbing) {\r\n e.preventDefault()\r\n timelineContainer.style.setProperty(\r\n \"--progress-position\",\r\n percent.toString()\r\n )\r\n }\r\n },\r\n skip(duration = 5) {\r\n const player = this.$refs.player as HTMLVideoElement\r\n\r\n player.currentTime += duration\r\n },\r\n async toggleScrubbing(e: MouseEvent) {\r\n const timelineContainer = this.$refs.timelineContainer as HTMLDivElement\r\n const videoContainer = this.$refs.videoContainer as HTMLDivElement\r\n const player = this.$refs.player as HTMLVideoElement\r\n if (!player) {\r\n return\r\n }\r\n const rect = timelineContainer.getBoundingClientRect()\r\n const percent =\r\n Math.min(Math.max(0, e.x - rect.x), rect.width) / rect.width\r\n this.isScrubbing = (e.buttons & 1) === 1\r\n videoContainer.classList.toggle(\"scrubbing\", this.isScrubbing)\r\n if (this.isScrubbing) {\r\n this.wasPaused = player.paused\r\n await player.pause()\r\n this.handleTimelineUpdate(e)\r\n\r\n return\r\n }\r\n this.realtime = percent * this.videoDuration\r\n player.currentTime = percent * this.videoDuration\r\n if (this.wasPaused) {\r\n return\r\n }\r\n const playPromise = player.play()\r\n // @see issue: https://developer.chrome.com/blog/play-request-was-interrupted/\r\n if (playPromise !== undefined) {\r\n playPromise\r\n .then(() => this.handleTimelineUpdate(e))\r\n .catch(console.error)\r\n }\r\n },\r\n\r\n handleKeyDown(e: KeyboardEvent) {\r\n const tagName = document.activeElement?.tagName.toLowerCase()\r\n if (tagName === \"input\") {\r\n return\r\n }\r\n switch (e.key.toLowerCase()) {\r\n case \" \":\r\n if (tagName === \"button\") {\r\n return\r\n }\r\n this.togglePlay()\r\n break\r\n case \"k\":\r\n this.togglePlay()\r\n break\r\n case \"escape\":\r\n e.preventDefault()\r\n this.closeFullscreenMode()\r\n this.isFullscreen = false\r\n\r\n break\r\n case \"f\":\r\n this.openFullscreenMode()\r\n this.isFullscreen = true\r\n\r\n break\r\n }\r\n },\r\n },\r\n})\r\n","import * as d3 from \"d3\"\r\nimport { TimelineAxis, TimelineAxesConfig } from \"@/types\"\r\n\r\nconst getFormattedDay = (d: Date) => {\r\n const day = d3.utcFormat(\"%_d\")(d)\r\n const daySuffixes: { [key: string]: string } = {\r\n [\"1\"]: \"st\",\r\n [\"2\"]: \"nd\",\r\n [\"3\"]: \"rd\",\r\n }\r\n\r\n const daySuffix = daySuffixes[day.charAt(1)] || \"th\"\r\n\r\n return `${day}${daySuffix}`\r\n}\r\n\r\nconst getFormattedDayNoEndOfMonth = (d: Date) => {\r\n const nextDay = new Date(\r\n Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate() + 1)\r\n )\r\n const isEndOfTheMonth = nextDay.getUTCDate() === 1\r\n\r\n if (isEndOfTheMonth) {\r\n return \"\"\r\n }\r\n\r\n return d3.utcFormat(\"%-d\")(d)\r\n}\r\n\r\nconst getFormattedHour = (d: Date) => {\r\n return [\"0\", \" 0\", \"00\"].includes(d3.utcFormat(\"%H\")(d))\r\n ? \"\"\r\n : `${d3.utcFormat(\"%H\")(d)}h`\r\n}\r\n\r\nconst getFormattedHourMinute = (d: Date) => {\r\n const HH_MM = d3.utcFormat(\"%H:%M\")(d)\r\n\r\n return HH_MM === \"00:00\" ? \"\" : HH_MM\r\n}\r\n\r\nconst getFormattedMinuteSecond = (d: Date) => {\r\n return d3.utcFormat(\"%M:%S\")(d)\r\n}\r\n\r\nconst getFormattedOverviewMinuteSecond = (d: Date) => {\r\n const HH_MM_SS = d3.utcFormat(\"%Hh%Mm\")(d)\r\n\r\n return `${HH_MM_SS}`\r\n}\r\n\r\nconst getFormattedOverviewHour = (d: Date) => {\r\n const hour = getFormattedHourMinute(d)\r\n const day = getFormattedDay(d)\r\n const month = d3.utcFormat(\"%B\")(d)\r\n\r\n return hour || `${month} ${day}`\r\n}\r\n\r\nconst getFormattedDayHourMinute = (d: Date) => {\r\n const HH_MM = getFormattedHourMinute(d)\r\n const hour = Number.parseInt(d3.utcFormat(\"%H\")(d))\r\n const day = getFormattedDay(d)\r\n const month = d3.utcFormat(\"%B\")(d)\r\n\r\n if (HH_MM && hour % 6 === 0) {\r\n return `${month} ${day} ${HH_MM}`\r\n }\r\n\r\n return getFormattedOverviewHour(d)\r\n}\r\n\r\nconst filterHourDivisibleBy = (n: number) => {\r\n return (d: Date) => {\r\n const hour = d3.utcFormat(\"%H\")(d)\r\n const minute = d3.utcFormat(\"%M\")(d)\r\n\r\n return !(minute === \"00\" && Number.parseInt(hour) % n === 0)\r\n }\r\n}\r\n\r\nconst filterMinutesDivisibleBy = (n: number) => {\r\n return (d: Date) => {\r\n const minute = d3.utcFormat(\"%M\")(d)\r\n\r\n return Number.parseInt(minute) % n !== 0\r\n }\r\n}\r\n\r\nconst filterMinutesSecondsDivisibleBy = (n: number) => {\r\n return (d: Date) => {\r\n const minute = d3.utcFormat(\"%M\")(d)\r\n const second = d3.utcFormat(\"%S\")(d)\r\n\r\n return Number.parseInt(minute) % n !== 0 && Number.parseInt(second) === 0\r\n }\r\n}\r\n\r\n/**\r\n * Precision of the timeline ticks\r\n * (measured in Hours per Pixel)\r\n */\r\nconst Precision = {\r\n _10_seconds: 0.000025,\r\n _20_seconds: 0.0001,\r\n _30_seconds: 0.00015,\r\n _1_minute: 0.0003,\r\n _2_minutes: 0.00075,\r\n _5_minutes: 0.002,\r\n _15_minutes: 0.005,\r\n _30_minutes: 0.01,\r\n _1_hour: 0.025,\r\n _2_hours: 0.05,\r\n _3_hours: 0.1,\r\n _4_hours: 0.15,\r\n _6_hours: 0.25,\r\n _1_day: 1,\r\n _2_days: 2,\r\n _1_month: 8,\r\n _1_month_abbr: 13,\r\n _1_month_letter: 22,\r\n _3_months: 33,\r\n infinity: Infinity,\r\n}\r\n\r\n/**\r\n * Map of formats and ticks intervals for the Timeline axis(s) by type.\r\n */\r\nexport const defaultAxesConfig: TimelineAxesConfig = {\r\n [TimelineAxis.overview]: [\r\n {\r\n precision: Precision._30_seconds,\r\n interval: d3.utcMinute.every(2),\r\n format: getFormattedOverviewMinuteSecond,\r\n },\r\n {\r\n precision: Precision._1_minute,\r\n interval: d3.utcMinute.every(5),\r\n format: getFormattedOverviewMinuteSecond,\r\n },\r\n {\r\n precision: Precision._2_minutes,\r\n interval: d3.utcMinute.every(10),\r\n format: getFormattedOverviewHour,\r\n },\r\n {\r\n precision: Precision._5_minutes,\r\n interval: d3.utcMinute.every(20),\r\n format: getFormattedDayHourMinute,\r\n },\r\n {\r\n precision: Precision._15_minutes,\r\n interval: d3.utcHour,\r\n format: getFormattedDayHourMinute,\r\n },\r\n {\r\n precision: Precision._30_minutes,\r\n interval: d3.utcHour.every(2),\r\n format: getFormattedDayHourMinute,\r\n },\r\n {\r\n precision: Precision._2_hours,\r\n interval: d3.utcHour.every(6),\r\n format: (d: Date) => {\r\n const hour = getFormattedHourMinute(d)\r\n const day = getFormattedDay(d)\r\n const month = d3.utcFormat(\"%B\")(d)\r\n\r\n return hour || `${month} ${day}`\r\n },\r\n },\r\n {\r\n precision: Precision._3_hours,\r\n interval: d3.utcHour.every(12),\r\n format: getFormattedOverviewHour,\r\n },\r\n {\r\n precision: Precision._6_hours,\r\n interval: d3.utcHour.every(24),\r\n format: (d: Date) => {\r\n const day = getFormattedDay(d)\r\n const abbreviatedMonth = d3.utcFormat(\"%b\")(d)\r\n\r\n return `${abbreviatedMonth} ${day}`\r\n },\r\n },\r\n {\r\n precision: Precision._2_days,\r\n interval: d3.utcMonth,\r\n format: (d: Date) => {\r\n const startOfTheYear = d.getUTCMonth() === 0 && d.getUTCDate() === 1\r\n const format = startOfTheYear ? \"%Y – %B\" : \"%B\"\r\n\r\n return d3.utcFormat(format)(d)\r\n },\r\n },\r\n {\r\n precision: Precision.infinity,\r\n interval: d3.utcYear,\r\n format: \"%Y\",\r\n },\r\n ],\r\n [TimelineAxis.detailed]: [\r\n {\r\n precision: Precision._10_seconds,\r\n interval: d3.utcSecond.every(10),\r\n format: getFormattedMinuteSecond,\r\n },\r\n {\r\n precision: Precision._20_seconds,\r\n interval: d3.utcSecond\r\n .every(20)\r\n ?.filter(filterMinutesSecondsDivisibleBy(2)),\r\n format: getFormattedMinuteSecond,\r\n },\r\n {\r\n precision: Precision._30_seconds,\r\n interval: d3.utcSecond\r\n .every(30)\r\n ?.filter(filterMinutesSecondsDivisibleBy(2)),\r\n format: getFormattedMinuteSecond,\r\n },\r\n {\r\n precision: Precision._1_minute,\r\n interval: d3.utcMinute.filter(filterMinutesDivisibleBy(5)),\r\n format: getFormattedHourMinute,\r\n },\r\n {\r\n precision: Precision._2_minutes,\r\n interval: d3.utcMinute.every(2)?.filter(filterMinutesDivisibleBy(10)),\r\n format: getFormattedHourMinute,\r\n },\r\n {\r\n precision: Precision._5_minutes,\r\n interval: d3.utcMinute.every(5)?.filter(filterMinutesDivisibleBy(20)),\r\n format: getFormattedHourMinute,\r\n },\r\n {\r\n precision: Precision._15_minutes,\r\n interval: d3.utcMinute.every(15)?.filter(filterHourDivisibleBy(1)),\r\n format: getFormattedHourMinute,\r\n },\r\n {\r\n precision: Precision._30_minutes,\r\n interval: d3.utcMinute.every(30)?.filter(filterHourDivisibleBy(2)),\r\n format: getFormattedHourMinute,\r\n },\r\n {\r\n precision: Precision._1_hour,\r\n interval: d3.utcHour.filter(filterHourDivisibleBy(6)),\r\n format: getFormattedHour,\r\n },\r\n {\r\n precision: Precision._2_hours,\r\n interval: d3.utcHour.every(2)?.filter(filterHourDivisibleBy(6)),\r\n format: getFormattedHour,\r\n },\r\n {\r\n precision: Precision._3_hours,\r\n interval: d3.utcHour.every(3)?.filter(filterHourDivisibleBy(12)),\r\n format: getFormattedHour,\r\n },\r\n {\r\n precision: Precision._4_hours,\r\n interval: d3.utcHour.every(4),\r\n format: getFormattedHour,\r\n },\r\n {\r\n precision: Precision._6_hours,\r\n interval: d3.utcHour.every(6),\r\n format: getFormattedHour,\r\n },\r\n {\r\n precision: Precision._1_day,\r\n interval: d3.utcDay,\r\n format: getFormattedDayNoEndOfMonth,\r\n },\r\n {\r\n precision: Precision._2_days,\r\n interval: d3.utcDay.every(2),\r\n format: getFormattedDayNoEndOfMonth,\r\n },\r\n {\r\n precision: Precision._1_month,\r\n interval: d3.utcMonth,\r\n format: \"%B\",\r\n },\r\n {\r\n precision: Precision._1_month_abbr,\r\n interval: d3.utcMonth,\r\n format: \"%b\",\r\n },\r\n {\r\n precision: Precision._1_month_letter,\r\n interval: d3.utcMonth,\r\n format: (d: Date) => d3.utcFormat(\"%B\")(d).charAt(0),\r\n },\r\n {\r\n precision: Precision._3_months,\r\n interval: d3.utcMonth.every(3),\r\n format: \"Q%q\",\r\n },\r\n {\r\n precision: Precision.infinity,\r\n interval: d3.utcMonth.every(3),\r\n format: \"\",\r\n },\r\n ],\r\n [TimelineAxis.detailedBackground]: [\r\n {\r\n precision: Precision._10_seconds,\r\n interval: d3.utcSecond,\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._20_seconds,\r\n interval: d3.utcSecond.every(5),\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._30_seconds,\r\n interval: d3.utcSecond.every(10),\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._1_minute,\r\n interval: d3.utcSecond.every(20),\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._2_minutes,\r\n interval: d3.utcSecond.every(30),\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._5_minutes,\r\n interval: d3.utcMinute,\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._15_minutes,\r\n interval: d3.utcMinute.every(3),\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._30_minutes,\r\n interval: d3.utcMinute.every(6),\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._1_hour,\r\n interval: d3.utcMinute.every(15),\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._2_hours,\r\n interval: d3.utcMinute.every(30),\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._3_hours,\r\n interval: d3.utcHour,\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._4_hours,\r\n interval: d3.utcHour,\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._6_hours,\r\n interval: d3.utcMinute.every(120),\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._1_day,\r\n interval: d3.utcHour.every(8),\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._2_days,\r\n interval: d3.utcHour.every(12),\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._1_month,\r\n interval: d3.utcDay.filter((d: Date) => {\r\n const dayOfMonth = d.getUTCDate()\r\n const daysInMonth = new Date(\r\n d.getUTCFullYear(),\r\n d.getUTCMonth() + 1,\r\n 0\r\n ).getUTCDate()\r\n const fifthOfMonth = Math.ceil(daysInMonth / 5) // 1/4 of the month\r\n\r\n return (\r\n dayOfMonth === fifthOfMonth ||\r\n dayOfMonth === 2 * fifthOfMonth ||\r\n dayOfMonth === 3 * fifthOfMonth ||\r\n dayOfMonth === 4 * fifthOfMonth\r\n )\r\n }),\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._1_month_abbr,\r\n interval: d3.utcDay.filter((d: Date) => {\r\n const dayOfMonth = d.getUTCDate()\r\n const daysInMonth = new Date(\r\n d.getUTCFullYear(),\r\n d.getUTCMonth() + 1,\r\n 0\r\n ).getUTCDate()\r\n const quarterOfTheMonth = Math.ceil(daysInMonth / 4) // 1/4 of the month\r\n\r\n return (\r\n dayOfMonth === quarterOfTheMonth ||\r\n dayOfMonth === 2 * quarterOfTheMonth ||\r\n dayOfMonth === 3 * quarterOfTheMonth\r\n )\r\n }),\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._1_month_letter,\r\n interval: d3.utcDay.filter((d: Date) => {\r\n const dayOfMonth = d.getUTCDate()\r\n const daysInMonth = new Date(\r\n d.getUTCFullYear(),\r\n d.getUTCMonth() + 1,\r\n 0\r\n ).getUTCDate()\r\n const halfOfTheMonth = Math.ceil(daysInMonth / 2) // 1/4 of the month\r\n\r\n return dayOfMonth === halfOfTheMonth\r\n }),\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision._3_months,\r\n interval: d3.utcMonth,\r\n format: \"\",\r\n },\r\n {\r\n precision: Precision.infinity,\r\n interval: d3.utcMonth,\r\n format: \"\",\r\n },\r\n ],\r\n}\r\n","import { DirectiveOptions } from \"vue\"\r\n\r\nexport interface ObservedElement extends HTMLElement {\r\n __resizeObserver__?: ResizeObserver\r\n}\r\n\r\nconst ResizeObserverDirective: DirectiveOptions = {\r\n bind(el, binding) {\r\n const { value: callback } = binding\r\n\r\n if (typeof callback !== \"function\") {\r\n console.error(\"Invalid callback function provided to v-resize-observer\")\r\n\r\n return\r\n }\r\n\r\n const observer: ResizeObserver = new ResizeObserver(\r\n (entries: ResizeObserverEntry[]) => {\r\n if (!entries[0]) {\r\n return\r\n }\r\n\r\n callback(entries[0])\r\n }\r\n )\r\n\r\n observer.observe(el)\r\n ;(el as ObservedElement).__resizeObserver__ = observer\r\n },\r\n unbind(el) {\r\n if ((el as ObservedElement).__resizeObserver__) {\r\n ;(el as ObservedElement).__resizeObserver__!.disconnect()\r\n delete (el as ObservedElement).__resizeObserver__\r\n }\r\n },\r\n}\r\n\r\nexport default ResizeObserverDirective\r\n","import ResizeObserverDirective from \"@/directives/resize-observer\"\r\n\r\nexport const DirectivesMap = [\r\n {\r\n name: \"resize-observer\",\r\n definition: ResizeObserverDirective,\r\n },\r\n]\r\n\r\nexport { ResizeObserverDirective }\r\n","\r\nimport * as d3 from \"d3\"\r\nimport Vue, { PropType } from \"vue\"\r\nimport { D3ZoomEvent, Axis, ZoomBehavior } from \"d3\"\r\nimport { defaultAxesConfig } from \"@/components/ETimeline.config\"\r\nimport {\r\n TimelineAxesConfig,\r\n TimelineAxis,\r\n TimelineTicksConfig,\r\n Timestamp,\r\n} from \"@/types\"\r\nimport { ResizeObserverDirective } from \"@/directives\"\r\nimport moment from \"moment-timezone\"\r\n\r\nexport type TimelineBarEvent = {\r\n timestamp: string | Date\r\n [key: string]: any\r\n}\r\n\r\nexport type TimelineRangeEvent = {\r\n startDate: string | Date\r\n endDate: string | Date\r\n [key: string]: any\r\n}\r\n\r\nexport type TimelineCountEvent = {\r\n timestamp: string | Date\r\n count: number\r\n [key: string]: any\r\n}\r\n\r\nexport type TimelineEvent =\r\n | TimelineBarEvent\r\n | TimelineRangeEvent\r\n | TimelineCountEvent\r\n\r\nexport enum TimelineChartType {\r\n bars = \"bars\",\r\n lineGraph = \"lineGraph\",\r\n}\r\n\r\nexport type TimelineEventsGroup = {\r\n label: string\r\n color: string\r\n isLoading?: Boolean\r\n isHidden?: Boolean\r\n chartType?: TimelineChartType\r\n events: Array<TimelineEvent>\r\n}\r\n\r\nexport type TimelineEventsByType = {\r\n [eventsType: string]: TimelineEventsGroup\r\n}\r\n\r\nconst classes = {\r\n eventGroup: \"event-group\",\r\n eventGroupBg: \"event-group-bg\",\r\n eventRect: \"event-rect\",\r\n labelBg: \"label-bg\",\r\n labelBgFill: \"label-bg-fill\",\r\n labelText: \"label-text\",\r\n loadingIndicator: \"loading-indicator\",\r\n xAxis: \"x-axis\",\r\n selectedTimestampCursor: \"selected-timestamp-cursor\",\r\n lineGraphGroup: \"line-graph-group\",\r\n lineGraphPath: \"line-graph-path\",\r\n lineGraphHoverZone: \"line-graph-hover-zone\",\r\n lineGraphDot: \"line-graph-dot\",\r\n curtain: \"curtain\",\r\n}\r\n\r\nconst defs = {\r\n areaGradient: \"area-gradient\",\r\n loadingGradient: \"loading-gradient\",\r\n}\r\n\r\nexport default Vue.extend({\r\n name: \"ETimeline\",\r\n directives: {\r\n resizeObserver: ResizeObserverDirective,\r\n },\r\n props: {\r\n eventsGroups: {\r\n type: Object as PropType<TimelineEventsByType>,\r\n default: () => ({}),\r\n },\r\n xAxesConfig: {\r\n type: Object as PropType<TimelineAxesConfig>,\r\n default: () => defaultAxesConfig,\r\n },\r\n dark: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n startDate: {\r\n type: String,\r\n default: undefined,\r\n },\r\n endDate: {\r\n type: String,\r\n default: undefined,\r\n },\r\n selectedTimestamp: {\r\n type: String,\r\n default: undefined,\r\n },\r\n showEventTooltip: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n disableZoom: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n normalizeEvents: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n flattenLineGraphEnds: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n curtains: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n showLabels: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n rectMinWidth: {\r\n type: Number,\r\n default: 1,\r\n },\r\n barChartHeight: {\r\n type: Number,\r\n default: 18,\r\n },\r\n lineGraphMinHeight: {\r\n type: Number,\r\n default: 60,\r\n },\r\n minZoom: {\r\n type: Number,\r\n default: 0.0001,\r\n },\r\n maxZoom: {\r\n type: Number,\r\n default: 850_000,\r\n },\r\n cursorTimestamp: {\r\n type: [String, undefined] as PropType<string | undefined>,\r\n default: undefined,\r\n },\r\n },\r\n data() {\r\n return {\r\n tooltip: null as unknown as HTMLElement,\r\n cursor: null as unknown as HTMLElement,\r\n timeline: null as unknown as HTMLElement,\r\n selectedTimestampCursor: null as unknown as HTMLElement,\r\n svg: null as unknown as d3.Selection<SVGSVGElement, any, any, any>,\r\n axesContainer: null as unknown as d3.Selection<\r\n SVGGElement,\r\n any,\r\n any,\r\n any\r\n >,\r\n xAxes: {} as unknown as Record<TimelineAxis, Axis<Date>>,\r\n timeScale: null as unknown as d3.ScaleTime<any, any, unknown>,\r\n initialTimeScale: null as unknown as d3.ScaleTime<any, any, unknown>,\r\n currentTimeScaleDensity: null as unknown as number,\r\n zoomBehavior: null as unknown as ZoomBehavior<SVGSVGElement, unknown>,\r\n isMouseDown: false,\r\n axisHeight: 22,\r\n eventGroupPadding: 0,\r\n isHoveringEvent: false,\r\n hoveredEvent: null as unknown as TimelineEvent,\r\n isHoveringTimeline: false,\r\n hoveredTimestamp: null as unknown as string,\r\n eventTooltipStyle: {},\r\n hoveredEventType: null as unknown as string,\r\n utcOffset: 0,\r\n lastTransform: { x: 0, k: 1 },\r\n transformDiff: { translation: 0, scale: 1 },\r\n yScale: null as unknown as d3.ScaleLinear<any, any>,\r\n hoveredCounts: [] as { count: number; type: string }[],\r\n countsByTimestamp: {} as Record<string, Record<string, number>>,\r\n dotsByTimestamp: {} as Record<\r\n string,\r\n d3.Selection<SVGCircleElement, any, any, any>[]\r\n >,\r\n visibleFrom: null as unknown as Date,\r\n visibleTo: null as unknown as Date,\r\n curtainHandleWidth: 5,\r\n leftCurtainWidth: 50,\r\n rightCurtainWidth: 50,\r\n isHoveringCurtain: false,\r\n isDraggingCurtain: false,\r\n }\r\n },\r\n computed: {\r\n classes(): Record<string, string | Record<string, boolean>> {\r\n return {\r\n wrapper: {\r\n \"e-border-gray-700 e-timeline--dark\": this.dark,\r\n \"e-border-gray-300\": !this.dark,\r\n \"e-timeline--dragging\": this.isInteractingWithCurtain,\r\n },\r\n background: this.dark ? \"e-bg-gray-900\" : \"e-bg-gray-50\",\r\n tooltipSlot: this.dark\r\n ? \"e-bg-gray-900 e-text-white e-border-gray-700\"\r\n : \"e-bg-gray-100 e-text-gray-700 e-border-gray-300\",\r\n eventTooltipSlot: this.dark\r\n ? \"e-bg-gray-900 e-text-white e-border-gray-700\"\r\n : \"e-bg-gray-100 e-text-gray-700 e-border-gray-300\",\r\n }\r\n },\r\n lineGraphGroups(): TimelineEventsByType {\r\n return Object.entries(this.filteredEventsGroups).reduce(\r\n (acc, [type, eventsGroup]) => {\r\n if (eventsGroup.chartType === TimelineChartType.lineGraph) {\r\n return { ...acc, [type]: eventsGroup }\r\n } else {\r\n return acc\r\n }\r\n },\r\n {}\r\n )\r\n },\r\n lineGraphChartHeight(): number {\r\n if (!this.showLabels) {\r\n return this.lineGraphMinHeight\r\n }\r\n\r\n const combinedLabelsHeight =\r\n Object.keys(this.lineGraphGroups).length * this.barChartHeight\r\n\r\n return Math.max(this.lineGraphMinHeight, combinedLabelsHeight)\r\n },\r\n barGroups(): TimelineEventsByType {\r\n return Object.entries(this.filteredEventsGroups).reduce(\r\n (acc, [type, eventsGroup]) => {\r\n if (eventsGroup.chartType !== TimelineChartType.lineGraph) {\r\n return { ...acc, [type]: eventsGroup }\r\n } else {\r\n return acc\r\n }\r\n },\r\n {}\r\n )\r\n },\r\n hasLineGraphChart(): boolean {\r\n return Object.keys(this.lineGraphGroups).length > 0\r\n },\r\n labelRectWidth(): number {\r\n const eventsGroups = Object.values(\r\n this.eventsGroups\r\n ) as TimelineEventsGroup[]\r\n const maxLabelLength = eventsGroups.reduce((acc, eventsGroup) => {\r\n return Math.max(acc, eventsGroup.label?.length)\r\n }, 0)\r\n\r\n return maxLabelLength * 7.5 + 5\r\n },\r\n combinedXAxesHeight(): number {\r\n const axesCount = Object.keys(this.xAxesConfig).length - 1\r\n\r\n return this.axisHeight * axesCount\r\n },\r\n timelineHeight(): number {\r\n const barGroupsCount = Object.keys(this.barGroups).length\r\n const lineGraphChartHeight = this.hasLineGraphChart\r\n ? this.lineGraphChartHeight\r\n : 0\r\n const padding = this.eventGroupPadding * (barGroupsCount - 1)\r\n const eventsGouprsHeight = this.barChartHeight * barGroupsCount\r\n\r\n return (\r\n this.combinedXAxesHeight +\r\n lineGraphChartHeight +\r\n eventsGouprsHeight +\r\n padding\r\n )\r\n },\r\n filteredEventsGroups(): TimelineEventsByType {\r\n const entries = Object.entries(this.eventsGroups).filter(\r\n ([_type, group]) => {\r\n return !(group as TimelineEventsGroup).isHidden\r\n }\r\n )\r\n\r\n return Object.fromEntries(entries) as TimelineEventsByType\r\n },\r\n allEventsSorted(): TimelineEvent[] {\r\n const flattenedEvents = (\r\n Object.values(this.filteredEventsGroups) as TimelineEventsGroup[]\r\n )\r\n .map((e: TimelineEventsGroup) => e.events)\r\n .flat()\r\n\r\n return flattenedEvents.sort((a, b) =>\r\n new Date(a.timestamp || a.startDate) >\r\n new Date(b.timestamp || b.startDate)\r\n ? 1\r\n : -1\r\n )\r\n },\r\n oldestEvent(): TimelineEvent {\r\n let oldestEvent\r\n if (this.allEventsSorted.length > 1) {\r\n oldestEvent = this.allEventsSorted[0]\r\n } else {\r\n const DAY = 86_400_000\r\n const yesterday = new Date(new Date().getTime() - DAY)\r\n\r\n oldestEvent = {\r\n timestamp: yesterday,\r\n }\r\n }\r\n\r\n return oldestEvent\r\n },\r\n latestEvent(): TimelineEvent {\r\n let latestEvent\r\n if (this.allEventsSorted.length > 1) {\r\n latestEvent = this.allEventsSorted[this.allEventsSorted.length - 1]\r\n } else {\r\n const defaultMaxDate = new Date()\r\n\r\n latestEvent = {\r\n timestamp: defaultMaxDate,\r\n }\r\n }\r\n\r\n return latestEvent\r\n },\r\n allLineChartTimestamps(): string[] {\r\n const allTimestamps = new Set()\r\n Object.values(this.lineGraphGroups).forEach((group) => {\r\n group.events.forEach((event) => {\r\n allTimestamps.add(event.timestamp)\r\n })\r\n })\r\n\r\n return Array.from(allTimestamps).sort() as unknown as string[]\r\n },\r\n placeholderLineChartGroup(): TimelineEvent[] {\r\n return this.fillTimeGaps(\r\n this.allLineChartTimestamps.map((timestamp) => ({\r\n timestamp,\r\n count: 0,\r\n }))\r\n )\r\n },\r\n normalizedLineGraphGroups(): TimelineEventsByType {\r\n return Object.entries(this.lineGraphGroups).reduce(\r\n (acc, [type, group]) => {\r\n return {\r\n ...acc,\r\n [type]: {\r\n ...group,\r\n events: this.getNormalizedEvents(group.events),\r\n },\r\n }\r\n },\r\n {}\r\n )\r\n },\r\n isInteractingWithCurtain(): boolean {\r\n return this.isHoveringCurtain || this.isDraggingCurtain\r\n },\r\n },\r\n watch: {\r\n dark() {\r\n this.handleDarkModeChange()\r\n },\r\n selectedTimestamp() {\r\n this.repositionSelectedTimestampCursor()\r\n },\r\n startDate() {\r\n this.zoomToStartAndEndDates()\r\n },\r\n endDate() {\r\n this.zoomToStartAndEndDates()\r\n },\r\n eventsGroups() {\r\n this.updateAndRedrawTimeline()\r\n },\r\n cursorTimestamp() {\r\n if (this.cursorTimestamp) {\r\n this.hoveredTimestamp = this.cursorTimestamp\r\n const timestamp = this.tzStringToDate(this.hoveredTimestamp)\r\n const cursorX = this.timeScale(timestamp)\r\n this.cursor.style.left = cursorX + \"px\"\r\n this.isHoveringTimeline = true\r\n } else {\r\n this.isHoveringTimeline = false\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.initTimeline()\r\n },\r\n beforeDestroy() {\r\n document.removeEventListener(\"mouseup\", this.handleDocumentMouseUp)\r\n },\r\n methods: {\r\n initTimeline(startDate?: string, endDate?: string) {\r\n this.initRefs()\r\n\r\n if (!this.timeline) {\r\n setTimeout(this.initTimeline, 500)\r\n\r\n return\r\n }\r\n\r\n this.initSvg()\r\n this.initDefs()\r\n this.initUtcOffset()\r\n this.initTimeScale(startDate, endDate)\r\n this.initXAxes()\r\n this.initYScale()\r\n this.initZoomBehavior()\r\n this.drawEventsGroups()\r\n this.initCurtains()\r\n this.emitCurtainChange()\r\n this.initSelectedTimestampCursor()\r\n this.registerEventsListeners()\r\n this.emitVisibleInterval()\r\n },\r\n initRefs() {\r\n this.tooltip = this.$refs.tooltip as HTMLElement\r\n this.cursor = this.$refs.cursor as HTMLElement\r\n this.timeline = this.$refs.timelineContainer as HTMLElement\r\n this.selectedTimestampCursor = this.$refs.selectedTimestamp as HTMLElement\r\n },\r\n initSvg() {\r\n this.svg = d3\r\n .select(this.timeline)\r\n .append(\"svg\")\r\n .attr(\"width\", this.timeline.offsetWidth)\r\n .attr(\"height\", this.timelineHeight) as d3.Selection<\r\n SVGSVGElement,\r\n any,\r\n any,\r\n any\r\n >\r\n },\r\n initDefs() {\r\n const defsSelection = this.svg.append(\"defs\")\r\n\r\n Object.entries(this.filteredEventsGroups).forEach(\r\n ([type, eventsGroup]) => {\r\n const { color, chartType } = eventsGroup\r\n const gradient = defsSelection\r\n .append(\"linearGradient\")\r\n .attr(\"id\", `${defs.loadingGradient}-${type}`)\r\n .attr(\"x1\", \"0%\")\r\n .attr(\"y1\", \"0%\")\r\n .attr(\"x2\", \"100%\")\r\n .attr(\"y2\", \"0%\")\r\n\r\n gradient\r\n .append(\"stop\")\r\n .attr(\"offset\", \"0%\")\r\n .attr(\"stop-color\", color)\r\n .attr(\"stop-opacity\", \"0\")\r\n gradient\r\n .append(\"stop\")\r\n .attr(\"offset\", \"50%\")\r\n .attr(\"stop-color\", color)\r\n .attr(\"stop-opacity\", \"0.6\")\r\n gradient\r\n .append(\"stop\")\r\n .attr(\"offset\", \"100%\")\r\n .attr(\"stop-color\", color)\r\n .attr(\"stop-opacity\", \"0\")\r\n\r\n if (chartType === TimelineChartType.lineGraph) {\r\n const areaGradient = defsSelection\r\n .append(\"linearGradient\")\r\n .attr(\"id\", `${defs.areaGradient}-${type}`)\r\n .attr(\"x1\", \"0%\")\r\n .attr(\"x2\", \"0%\")\r\n .attr(\"y1\", \"0%\")\r\n .attr(\"y2\", \"100%\")\r\n areaGradient\r\n .append(\"stop\")\r\n .attr(\"offset\", \"0%\")\r\n .style(\"stop-color\", color)\r\n .style(\"stop-opacity\", 0.3)\r\n areaGradient\r\n .append(\"stop\")\r\n .attr(\"offset\", \"38%\")\r\n .style(\"stop-color\", color)\r\n .style(\"stop-opacity\", 0)\r\n }\r\n }\r\n )\r\n },\r\n initUtcOffset() {\r\n const sampleTimestamp =\r\n this.startDate ||\r\n this.oldestEvent.timestamp ||\r\n this.oldestEvent.startDate\r\n this.utcOffset = moment.parseZone(sampleTimestamp).utcOffset()\r\n },\r\n initTimeScale(start?: string, end?: string) {\r\n const startDate =\r\n start ||\r\n this.startDate ||\r\n this.oldestEvent.timestamp ||\r\n this.oldestEvent.startDate\r\n const endDate =\r\n end ||\r\n this.endDate ||\r\n this.latestEvent.timestamp ||\r\n this.latestEvent.endDate\r\n\r\n this.timeScale = d3\r\n .scaleTime()\r\n .domain([this.tzStringToDate(startDate), this.tzStringToDate(endDate)])\r\n .range([0, this.timeline.offsetWidth])\r\n\r\n this.initialTimeScale = this.timeScale.copy()\r\n this.updateCurrentTimeScaleDensity()\r\n },\r\n initXAxes() {\r\n let i = 0\r\n const padding = 5\r\n for (const axisName in this.xAxesConfig) {\r\n const axis = this.createAxis(axisName as TimelineAxis)\r\n this.xAxes[axisName as TimelineAxis] = axis\r\n this.svg\r\n .append(\"g\")\r\n .classed(classes.xAxis, true)\r\n .classed(`${classes.xAxis}-${axisName}`, true)\r\n .attr(\"transform\", `translate(0, ${i || padding})`)\r\n .call(axis)\r\n\r\n this.translateTicksText(axisName)\r\n i += this.axisHeight\r\n }\r\n },\r\n initYScale() {\r\n this.yScale = d3.scaleLinear().range([this.lineGraphChartHeight, 0])\r\n const flattenedCounts = Object.values(this.lineGraphGroups)\r\n .map((g) => g.events)\r\n .flat()\r\n const maxCount = d3.max(flattenedCounts, (d) => d.count)\r\n this.yScale.domain([0, maxCount])\r\n },\r\n initZoomBehavior() {\r\n if (this.disableZoom) {\r\n return\r\n }\r\n\r\n this.zoomBehavior = d3\r\n .zoom<SVGSVGElement, unknown>()\r\n .on(\"zoom\", this.handleZoom)\r\n .scaleExtent([this.minZoom, this.maxZoom])\r\n\r\n this.svg.call(this.zoomBehavior)\r\n },\r\n initSelectedTimestampCursor() {\r\n this.svg\r\n .append(\"line\")\r\n .attr(\"class\", classes.selectedTimestampCursor)\r\n .style(\"stroke\", \"red\")\r\n .style(\"stroke-width\", \"1px\")\r\n .style(\"opacity\", 0)\r\n .attr(\"x1\", 0)\r\n .attr(\"x2\", 0)\r\n .attr(\"y1\", 0)\r\n .attr(\"y2\", this.timelineHeight)\r\n this.repositionSelectedTimestampCursor()\r\n },\r\n updateAndRedrawTimeline() {\r\n const { startDate, endDate } = this.getCurrentTimeBounds()\r\n this.clearTimeline()\r\n this.initTimeline(startDate, endDate)\r\n },\r\n clearTimeline() {\r\n if (this.svg) {\r\n this.svg.remove()\r\n }\r\n this.countsByTimestamp = {}\r\n },\r\n repositionSelectedTimestampCursor() {\r\n const cursor = this.svg.select(`.${classes.selectedTimestampCursor}`)\r\n if (!this.selectedTimestamp) {\r\n cursor.style(\"opacity\", 0)\r\n\r\n return\r\n }\r\n const timestamp = this.tzStringToDate(this.selectedTimestamp)\r\n const cursorX = this.timeScale(timestamp)\r\n if (!isNaN(cursorX)) {\r\n cursor.attr(\"x1\", cursorX).attr(\"x2\", cursorX).style(\"opacity\", 0.5)\r\n } else {\r\n cursor.style(\"opacity\", 0)\r\n }\r\n },\r\n updateCurrentTimeScaleDensity() {\r\n const timeAtPixel0 = this.timeScale.invert(0).getTime()\r\n const timeAtPixel1 = this.timeScale.invert(1).getTime()\r\n const HOUR = 3_600_000\r\n\r\n this.currentTimeScaleDensity = (timeAtPixel1 - timeAtPixel0) / HOUR\r\n },\r\n registerEventsListeners() {\r\n document.addEventListener(\"mouseup\", this.handleDocumentMouseUp)\r\n this.svg.on(\"mousedown\", this.handleMouseDown)\r\n this.svg.on(\"mousemove\", this.handleMouseMove)\r\n this.svg.on(\"click\", this.handleClick)\r\n this.svg.on(\"mouseleave\", this.handleMouseLeave)\r\n },\r\n emitVisibleInterval() {\r\n const visibleFrom = this.timeScale.invert(0)\r\n const visibleTo = this.timeScale.invert(this.timeline.offsetWidth)\r\n\r\n if (\r\n this.visibleFrom &&\r\n this.visibleFrom.getTime() === visibleFrom.getTime() &&\r\n this.visibleTo &&\r\n this.visibleTo.getTime() === visibleTo.getTime()\r\n ) {\r\n return\r\n }\r\n\r\n this.visibleFrom = visibleFrom\r\n this.visibleTo = visibleTo\r\n\r\n const fromDate = this.dateToTzString(this.visibleFrom)\r\n const toDate = this.dateToTzString(this.visibleTo)\r\n\r\n this.$emit(\"visible-interval-change\", {\r\n fromDate,\r\n toDate,\r\n transform: this.transformDiff,\r\n })\r\n },\r\n createAxis(axisName: TimelineAxis) {\r\n const axis = this.xAxesConfig[axisName as TimelineAxis]\r\n const config = this.getAxisTicksConfig(axis)\r\n\r\n return d3\r\n .axisBottom<Date>(this.timeScale)\r\n .ticks(config.interval)\r\n .tickFormat(config.formatFn)\r\n .tickSizeOuter(0)\r\n .tickSizeInner(this.timelineHeight)\r\n },\r\n getAxisTicksConfig(configs: TimelineTicksConfig[]) {\r\n const { interval, format } = configs.find(\r\n (config) =>\r\n config.precision >= this.currentTimeScaleDensity && config.interval\r\n ) as TimelineTicksConfig\r\n\r\n const formatFn = (d: Date): string => {\r\n return typeof format === \"function\"\r\n ? format(d)\r\n : d3.timeFormat(format)(d)\r\n }\r\n\r\n return {\r\n formatFn,\r\n interval,\r\n }\r\n },\r\n handleResize({ contentRect }: ResizeObserverEntry) {\r\n if (this.svg) {\r\n this.svg.attr(\"width\", contentRect.width)\r\n this.updateCurtainsOnResize(contentRect.width)\r\n }\r\n },\r\n handleDarkModeChange() {\r\n if (!this.showLabels) {\r\n return\r\n }\r\n\r\n const that = this\r\n this.svg.selectAll(`.${classes.labelBg}`).each(function () {\r\n const label = d3.select(this)\r\n label.style(\"fill\", that.dark ? \"black\" : \"white\")\r\n })\r\n this.svg.selectAll(`.${classes.labelBgFill}`).each(function () {\r\n const bgFill = d3.select(this)\r\n const color = (bgFill.node()! as HTMLElement).dataset.color\r\n bgFill\r\n .style(\"fill\", that.getLabelBackgroundColor(color as string))\r\n .style(\"stroke\", that.getTextFillColor(color as string))\r\n .style(\"stroke-width\", 0.25)\r\n })\r\n this.svg.selectAll(`.${classes.labelText}`).each(function () {\r\n const text = d3.select(this)\r\n const color = (text.node()! as HTMLElement).dataset.color\r\n text.style(\"fill\", that.getTextFillColor(color as string))\r\n })\r\n },\r\n handleMouseDown() {\r\n this.isMouseDown = true\r\n },\r\n handleDocumentMouseUp() {\r\n this.isMouseDown = false\r\n },\r\n handleMouseLeave() {\r\n this.isHoveringTimeline = false\r\n this.$emit(\"hovered-timestamp\", undefined)\r\n },\r\n handleMouseMove(event: MouseEvent) {\r\n if (this.isMouseDown) {\r\n return\r\n }\r\n const mouseX = event.offsetX\r\n const date = this.timeScale.invert(mouseX)\r\n this.hoveredTimestamp = this.dateToTzString(date)\r\n this.isHoveringTimeline = true\r\n this.$emit(\"hovered-timestamp\", this.hoveredTimestamp)\r\n this.cursor.style.left = mouseX + \"px\"\r\n\r\n if (!this.tooltip) {\r\n return\r\n }\r\n\r\n this.eventTooltipStyle = {\r\n left: `${mouseX}px`,\r\n bottom: `${this.timeline.getBoundingClientRect().height}px`,\r\n }\r\n this.repositionSelectedTimestampCursor()\r\n },\r\n handleClick(event: MouseEvent) {\r\n const mouseX = event.offsetX\r\n const date = this.timeScale.invert(mouseX)\r\n const formattedDateTz = this.dateToTzString(date)\r\n\r\n this.$emit(\"date-clicked\", formattedDateTz)\r\n\r\n if (this.isHoveringEvent) {\r\n this.$emit(\"event-clicked\", {\r\n event: this.hoveredEvent,\r\n type: this.hoveredEventType,\r\n })\r\n }\r\n },\r\n handleLineMouseOver(\r\n _event: MouseEvent,\r\n eventData: TimelineCountEvent,\r\n eventType: string\r\n ) {\r\n this.hoveredCounts = Object.entries(\r\n this.countsByTimestamp[`${eventData.timestamp}`]\r\n ).reduce((acc, entry) => {\r\n const [type, count] = entry\r\n\r\n return [...acc, { type, count }]\r\n }, [] as { type: string; count: number }[])\r\n this.hoveredEvent = eventData\r\n this.isHoveringEvent = true\r\n this.$emit(\"event-mouseover\", {\r\n eventData,\r\n eventType,\r\n hoveredCounts: this.hoveredCounts,\r\n })\r\n },\r\n handleLineMouseOut() {\r\n this.isHoveringEvent = false\r\n this.hoveredCounts = []\r\n this.$emit(\"event-mouseout\")\r\n },\r\n handleBarMouseOver(\r\n _event: MouseEvent,\r\n eventData: TimelineEvent,\r\n eventType: string\r\n ) {\r\n this.hoveredEvent = eventData\r\n this.hoveredEventType = eventType\r\n this.isHoveringEvent = true\r\n this.$emit(\"event-mouseover\", { eventData, eventType })\r\n },\r\n handleBarMouseOut() {\r\n this.isHoveringEvent = false\r\n this.hoveredEvent = null as unknown as TimelineEvent\r\n this.$emit(\"event-mouseout\")\r\n },\r\n handleLabelMouseOver(groupType: string) {\r\n d3.selectAll(`.${classes.lineGraphGroup}-${groupType}`).classed(\r\n `${classes.lineGraphGroup}--highlighted`,\r\n true\r\n )\r\n d3.selectAll(`.${classes.lineGraphGroup}-label`).classed(\r\n `${classes.lineGraphGroup}-label--highlighted`,\r\n true\r\n )\r\n },\r\n handleLabelMouseLeave(groupType: string) {\r\n d3.selectAll(`.${classes.lineGraphGroup}-${groupType}`).classed(\r\n `${classes.lineGraphGroup}--highlighted`,\r\n false\r\n )\r\n d3.selectAll(`.${classes.lineGraphGroup}-label`).classed(\r\n `${classes.lineGraphGroup}-label--highlighted`,\r\n false\r\n )\r\n },\r\n handleZoom(event: D3ZoomEvent<SVGSVGElement, any>) {\r\n const newScale = event.transform.rescaleX(this.initialTimeScale)\r\n this.timeScale.domain(newScale.domain())\r\n this.updateCurrentTimeScaleDensity()\r\n const scale = event.transform.k / this.lastTransform.k\r\n this.transformDiff = {\r\n scale: scale,\r\n translation: event.transform.x - this.lastTransform.x,\r\n }\r\n this.lastTransform = { ...event.transform }\r\n\r\n for (const axisName in this.xAxes) {\r\n this.rescaleAxis(axisName, newScale)\r\n this.translateTicksText(axisName)\r\n }\r\n this.updateBarCharts()\r\n this.updateLineGraphs()\r\n this.updateLineGraphHoverZones()\r\n this.repositionSelectedTimestampCursor()\r\n this.emitVisibleInterval()\r\n this.emitCurtainChange()\r\n },\r\n emitCurtainChange() {\r\n const { startDate, endDate } = this.calculateDateRangeFromCurtains()\r\n this.$emit(\"curtain-range-change\", {\r\n startDate: new Date(startDate).toISOString(),\r\n endDate: new Date(endDate).toISOString(),\r\n })\r\n },\r\n calculateDateRangeFromCurtains() {\r\n const timelineWidth = this.timeline.offsetWidth\r\n const fullRange = this.timeScale.domain()\r\n const totalDuration = fullRange[1].getTime() - fullRange[0].getTime()\r\n\r\n const leftDuration =\r\n ((this.leftCurtainWidth - this.curtainHandleWidth * 2) /\r\n timelineWidth) *\r\n totalDuration\r\n const rightDuration =\r\n ((this.rightCurtainWidth + this.curtainHandleWidth * 2) /\r\n timelineWidth) *\r\n totalDuration\r\n\r\n const startDate = new Date(fullRange[0].getTime() + leftDuration)\r\n const endDate = new Date(fullRange[1].getTime() - rightDuration)\r\n\r\n return { startDate, endDate }\r\n },\r\n updateCurtainsOnResize(timelineWidth: number) {\r\n const { startDate, endDate } = this.calculateDateRangeFromCurtains()\r\n const fullRange = this.timeScale.domain()\r\n const totalDuration = fullRange[1].getTime() - fullRange[0].getTime()\r\n\r\n const leftDuration = startDate.getTime() - fullRange[0].getTime()\r\n const rightDuration = fullRange[1].getTime() - endDate.getTime()\r\n\r\n this.leftCurtainWidth = (leftDuration / totalDuration) * timelineWidth\r\n this.rightCurtainWidth = (rightDuration / totalDuration) * timelineWidth\r\n\r\n this.svg\r\n .select(`.${classes.curtain}--left`)\r\n .attr(\"width\", this.leftCurtainWidth)\r\n this.svg\r\n .select(`.${classes.curtain}--right`)\r\n .attr(\r\n \"x\",\r\n timelineWidth - this.rightCurtainWidth + this.curtainHandleWidth * 2\r\n )\r\n .attr(\"width\", this.rightCurtainWidth)\r\n },\r\n handleDragStart() {\r\n this.isDraggingCurtain = true\r\n },\r\n handleDragEnd() {\r\n this.isDraggingCurtain = false\r\n },\r\n handleLeftDrag(event: d3.D3DragEvent<SVGRectElement, any, any>) {\r\n event.sourceEvent.stopPropagation()\r\n const newWidth = Math.min(\r\n event.x,\r\n this.timeline.offsetWidth - this.rightCurtainWidth\r\n )\r\n this.leftCurtainWidth = Math.max(0, newWidth)\r\n this.svg\r\n .select(`.${classes.curtain}--left`)\r\n .attr(\"width\", this.leftCurtainWidth)\r\n this.emitCurtainChange()\r\n },\r\n handleRightDrag(event: d3.D3DragEvent<SVGRectElement, any, any>) {\r\n event.sourceEvent.stopPropagation()\r\n\r\n const timelineWidth = this.timeline.offsetWidth\r\n const newWidth = Math.min(\r\n this.timeline.offsetWidth - event.x,\r\n this.timeline.offsetWidth - this.leftCurtainWidth\r\n )\r\n const newX = timelineWidth - newWidth\r\n this.rightCurtainWidth = Math.max(0, newWidth)\r\n\r\n this.svg\r\n .select(`.${classes.curtain}--right`)\r\n .attr(\"width\", this.rightCurtainWidth)\r\n .attr(\"x\", newX)\r\n\r\n this.emitCurtainChange()\r\n },\r\n zoomToStartAndEndDates() {\r\n const startDate =\r\n this.startDate ||\r\n this.oldestEvent.timestamp ||\r\n this.oldestEvent.startDate\r\n const endDate =\r\n this.endDate || this.latestEvent.timestamp || this.latestEvent.endDate\r\n\r\n const startTime = this.tzStringToDate(startDate)\r\n const endTime = this.tzStringToDate(endDate)\r\n const timelineWidth = this.timeline.offsetWidth\r\n const newDomain = [startTime, endTime]\r\n const newRange = [0, timelineWidth]\r\n\r\n this.timeScale = d3.scaleTime().domain(newDomain).range(newRange)\r\n this.initialTimeScale = this.timeScale.copy()\r\n\r\n this.updateCurrentTimeScaleDensity()\r\n for (const axisName in this.xAxes) {\r\n this.rescaleAxis(axisName, this.timeScale)\r\n this.translateTicksText(axisName)\r\n }\r\n this.updateBarCharts()\r\n this.updateLineGraphs()\r\n this.updateLineGraphHoverZones()\r\n this.repositionSelectedTimestampCursor()\r\n },\r\n rescaleAxis(axisName: string, newScale: d3.ScaleTime<any, any, unknown>) {\r\n const axis: Axis<Date> = this.xAxes[axisName as TimelineAxis]\r\n const ticksConfig = this.getAxisTicksConfig(\r\n this.xAxesConfig[axisName as TimelineAxis]\r\n )\r\n axis\r\n .scale(newScale)\r\n .ticks(ticksConfig.interval)\r\n .tickFormat(ticksConfig.formatFn)\r\n .tickSizeOuter(0)\r\n this.svg.select<SVGGElement>(`.${classes.xAxis}-${axisName}`).call(axis)\r\n },\r\n translateTicksText(axisName: string) {\r\n this.svg\r\n .select<SVGGElement>(`.${classes.xAxis}-${axisName}`)\r\n .selectAll(\".tick text\")\r\n .each(function () {\r\n let textElement = d3.select(this as SVGTextElement)\r\n let textBBox = (textElement.node() as SVGGraphicsElement).getBBox()\r\n textElement\r\n .attr(\"x\", textBBox.height / 2)\r\n .attr(\"y\", 0)\r\n .style(\"text-anchor\", \"start\")\r\n })\r\n },\r\n updateBarCharts() {\r\n const rectsSelector = `.${classes.eventGroup} > rect.${classes.eventRect}`\r\n this.svg\r\n .selectAll<SVGRectElement, TimelineEvent>(rectsSelector)\r\n .attr(\"x\", this.getEventRectX)\r\n .attr(\"width\", this.getEventRectWidth)\r\n .attr(\"height\", this.barChartHeight)\r\n },\r\n updateLineGraphs() {\r\n Object.entries(this.lineGraphGroups).forEach(([type]) => {\r\n const area = d3\r\n .area<TimelineCountEvent>()\r\n .x((d) => this.timeScale(this.tzStringToDate(d.timestamp)))\r\n .y0(this.timelineHeight)\r\n .y1((d) => this.yScale(d.count))\r\n .curve(d3.curveMonotoneX)\r\n\r\n this.svg\r\n .selectAll<SVGPathElement, TimelineCountEvent[]>(\r\n `.${classes.lineGraphPath}-${type}`\r\n )\r\n .attr(\"d\", (d) => area(d))\r\n })\r\n },\r\n updateLineGraphHoverZones() {\r\n Object.keys(this.lineGraphGroups).forEach((type) => {\r\n const that = this\r\n this.svg\r\n .selectAll<SVGCircleElement, TimelineCountEvent>(\r\n `.${classes.lineGraphDot}-${type}`\r\n )\r\n .each(function (d) {\r\n d3.select(this)\r\n .attr(\"cx\", that.timeScale(that.tzStringToDate(d.timestamp)))\r\n .attr(\"cy\", that.yScale(d.count))\r\n })\r\n\r\n this.svg\r\n .selectAll<SVGRectElement, TimelineCountEvent>(\r\n `.${classes.lineGraphHoverZone}-${type}`\r\n )\r\n .each(function (d) {\r\n const x =\r\n that.timeScale(that.tzStringToDate(d.timestamp).getTime()) - 15\r\n d3.select(this)\r\n .attr(\"x\", x)\r\n .attr(\"y\", 0)\r\n .attr(\"width\", 30)\r\n .attr(\"height\", that.lineGraphChartHeight)\r\n })\r\n })\r\n },\r\n getEventRectX(d: TimelineEvent) {\r\n return this.timeScale(this.tzStringToDate(d.startDate || d.timestamp))\r\n },\r\n getEventRectWidth(d: TimelineEvent) {\r\n if (!d) {\r\n return 0\r\n }\r\n if (d.startDate && d.endDate) {\r\n const startTimestamp = new Date(d.startDate)\r\n const endTimestamp = new Date(d.endDate)\r\n const width =\r\n this.timeScale(endTimestamp) - this.timeScale(startTimestamp)\r\n\r\n return Math.max(width, this.rectMinWidth)\r\n } else {\r\n const oneSecondWidth = 1 / (this.currentTimeScaleDensity * 3600)\r\n\r\n return Math.max(oneSecondWidth, this.rectMinWidth)\r\n }\r\n },\r\n initCurtains() {\r\n if (!this.curtains) {\r\n return\r\n }\r\n\r\n const timelineWidth = this.timeline.offsetWidth\r\n const timelineHeight = this.timelineHeight\r\n\r\n this.svg\r\n .append(\"rect\")\r\n .classed(`${classes.curtain} ${classes.curtain}--left`, true)\r\n .attr(\"width\", this.leftCurtainWidth)\r\n .attr(\"height\", timelineHeight + this.curtainHandleWidth * 2)\r\n .attr(\"y\", -this.curtainHandleWidth)\r\n .attr(\"x\", -this.curtainHandleWidth)\r\n .attr(\"fill\", \"rgba(0, 0, 0, 0.5)\")\r\n .on(\"mouseenter\", () => (this.isHoveringCurtain = true))\r\n .on(\"mouseleave\", () => (this.isHoveringCurtain = false))\r\n .call(\r\n d3\r\n .drag<SVGRectElement, any, any>()\r\n .on(\"start\", this.handleDragStart)\r\n .on(\"drag\", this.handleLeftDrag)\r\n .on(\"end\", this.handleDragEnd)\r\n )\r\n\r\n this.svg\r\n .append(\"rect\")\r\n .classed(`${classes.curtain} ${classes.curtain}--right`, true)\r\n .attr(\r\n \"x\",\r\n timelineWidth - this.rightCurtainWidth + this.curtainHandleWidth * 2\r\n )\r\n .attr(\"y\", -this.curtainHandleWidth)\r\n .attr(\"width\", this.rightCurtainWidth + this.curtainHandleWidth * 2)\r\n .attr(\"height\", timelineHeight + this.curtainHandleWidth * 2)\r\n .attr(\"fill\", \"rgba(0, 0, 0, 0.5)\")\r\n .on(\"mouseenter\", () => (this.isHoveringCurtain = true))\r\n .on(\"mouseleave\", () => (this.isHoveringCurtain = false))\r\n .call(\r\n d3\r\n .drag<SVGRectElement, any, any>()\r\n .on(\"start\", this.handleDragStart)\r\n .on(\"drag\", this.handleRightDrag)\r\n .on(\"end\", this.handleDragEnd)\r\n )\r\n },\r\n drawEventsGroups() {\r\n this.svg.selectAll(`g.${classes.eventGroup}`).remove()\r\n\r\n this.drawLineGraphEventsGroups()\r\n this.drawBarEventsGroups()\r\n },\r\n drawLineGraphEventsGroups() {\r\n const yOffset = this.combinedXAxesHeight\r\n const eventsGroups = this.normalizeEvents\r\n ? this.normalizedLineGraphGroups\r\n : this.lineGraphGroups\r\n\r\n Object.entries(eventsGroups).forEach(([type, eventsGroup]) => {\r\n const gElement = this.svg\r\n .append(\"g\")\r\n .classed(\r\n `${classes.lineGraphGroup} ${classes.lineGraphGroup}-${type}`,\r\n true\r\n )\r\n .attr(\"transform\", `translate(0,${yOffset})`)\r\n const { color, events } = eventsGroup\r\n\r\n this.drawLineGraph({\r\n events,\r\n gElement,\r\n color,\r\n type,\r\n })\r\n this.drawLineGraphHoverZones({\r\n events: events as TimelineCountEvent[],\r\n gElement,\r\n color,\r\n type,\r\n })\r\n })\r\n\r\n Object.entries(this.lineGraphGroups).forEach(\r\n ([type, eventsGroup], index) => {\r\n const { color, isLoading, label } = eventsGroup\r\n const labelYPosition =\r\n this.lineGraphChartHeight - this.barChartHeight * (index + 1)\r\n const loadingIndicatorYPosition =\r\n yOffset + this.lineGraphChartHeight - this.barChartHeight\r\n const labelsGElement = this.svg\r\n .append(\"g\")\r\n .classed(`${classes.lineGraphGroup}-label`, true)\r\n .attr(\"transform\", `translate(0,${yOffset})`)\r\n .on(\"mouseover\", () => this.handleLabelMouseOver(type))\r\n .on(\"mouseleave\", () => this.handleLabelMouseLeave(type))\r\n\r\n this.drawProgressIndicator({\r\n type,\r\n color,\r\n isLoading,\r\n yPosition: loadingIndicatorYPosition,\r\n })\r\n this.drawTextLabel({\r\n color,\r\n label,\r\n yPosition: labelYPosition,\r\n gElement: labelsGElement,\r\n })\r\n }\r\n )\r\n },\r\n drawLineGraph({\r\n events,\r\n gElement,\r\n color,\r\n type,\r\n }: {\r\n events: TimelineEvent[]\r\n gElement: d3.Selection<SVGGElement, any, any, any>\r\n color: string\r\n type: string\r\n }) {\r\n const area = d3\r\n .area<TimelineCountEvent>()\r\n .x((d) => this.timeScale(this.tzStringToDate(d.timestamp)))\r\n .y0(this.timelineHeight)\r\n .y1((d) => this.yScale(d.count))\r\n .curve(d3.curveMonotoneX)\r\n\r\n gElement\r\n .append(\"path\")\r\n .datum(events as TimelineCountEvent[])\r\n .classed(`${classes.lineGraphPath}-${type}`, true)\r\n .attr(\"fill\", `url(#${defs.areaGradient}-${type})`)\r\n .attr(\"stroke\", color)\r\n .attr(\"stroke-linejoin\", \"round\")\r\n .attr(\"stroke-linecap\", \"round\")\r\n .attr(\"stroke-width\", 1)\r\n .attr(\"d\", (d) => area(d))\r\n },\r\n drawLineGraphHoverZones({\r\n events,\r\n gElement,\r\n color,\r\n type,\r\n }: {\r\n events: TimelineCountEvent[]\r\n gElement: d3.Selection<SVGGElement, any, any, any>\r\n color: string\r\n type: string\r\n }) {\r\n events.forEach((event: TimelineCountEvent) => {\r\n const timestamp = `${event.timestamp}`\r\n this.countsByTimestamp[timestamp] = {\r\n ...(this.countsByTimestamp[timestamp] || {}),\r\n [type]: event.count,\r\n }\r\n\r\n const circle = gElement\r\n .append(\"circle\")\r\n .classed(\r\n `${classes.lineGraphDot} ${classes.lineGraphDot}-${type}`,\r\n true\r\n )\r\n .attr(\"cx\", this.timeScale(this.tzStringToDate(event.timestamp)))\r\n .attr(\"cy\", this.yScale(event.count))\r\n .attr(\"r\", 1.5)\r\n .attr(\"fill\", color)\r\n .attr(\"stroke-width\", 0)\r\n .datum(event)\r\n\r\n this.dotsByTimestamp[timestamp] = [\r\n ...(this.dotsByTimestamp[timestamp] || []),\r\n circle,\r\n ]\r\n\r\n gElement\r\n .append(\"rect\")\r\n .classed(`${classes.lineGraphHoverZone}-${type}`, true)\r\n .attr(\"x\", this.timeScale(this.tzStringToDate(event.timestamp)) - 15)\r\n .attr(\"y\", 0)\r\n .attr(\"width\", 30)\r\n .attr(\"height\", this.lineGraphChartHeight)\r\n .attr(\"fill\", \"transparent\")\r\n .datum(event)\r\n .on(\"mouseover\", (e) => {\r\n this.handleLineMouseOver(e, event, type)\r\n this.dotsByTimestamp[timestamp].forEach((d) =>\r\n d.classed(`${classes.lineGraphDot}--active`, true)\r\n )\r\n })\r\n .on(\"mouseout\", () => {\r\n this.handleLineMouseOut()\r\n this.dotsByTimestamp[timestamp].forEach((d) =>\r\n d.classed(`${classes.lineGraphDot}--active`, false)\r\n )\r\n })\r\n })\r\n },\r\n drawBarEventsGroups() {\r\n Object.entries(this.barGroups).forEach(([type, eventsGroup], index) => {\r\n const { color, label, events, isLoading } =\r\n eventsGroup as TimelineEventsGroup\r\n const padding = index === 0 ? 0 : this.eventGroupPadding\r\n const yOffset = this.hasLineGraphChart ? this.lineGraphChartHeight : 0\r\n const yPosition =\r\n index * (this.barChartHeight + padding) +\r\n this.combinedXAxesHeight +\r\n yOffset\r\n\r\n this.drawProgressIndicator({\r\n yPosition,\r\n type,\r\n color,\r\n isLoading,\r\n })\r\n\r\n const gElement = this.svg\r\n .append(\"g\")\r\n .attr(\"data-color\", color)\r\n .classed(classes.eventGroup, true)\r\n .classed(`${classes.eventGroup}-${type}`, true)\r\n\r\n this.drawBackground({\r\n color,\r\n gElement,\r\n yPosition,\r\n })\r\n this.drawBars({\r\n events,\r\n color,\r\n gElement,\r\n yPosition,\r\n type,\r\n })\r\n this.drawTextLabel({\r\n color,\r\n label,\r\n gElement,\r\n yPosition,\r\n })\r\n })\r\n },\r\n drawProgressIndicator({\r\n yPosition,\r\n type,\r\n isLoading,\r\n }: {\r\n yPosition: number\r\n type: string\r\n color: string\r\n isLoading: Boolean | undefined\r\n }) {\r\n const rect = this.svg\r\n .append(\"rect\")\r\n .classed(\r\n `${classes.loadingIndicator} ${classes.loadingIndicator}-${type}`,\r\n true\r\n )\r\n .attr(\"x\", 0)\r\n .attr(\"y\", yPosition)\r\n .attr(\"width\", this.timeline.offsetWidth / 3)\r\n .attr(\"height\", this.barChartHeight)\r\n .attr(\"fill\", `url(#${defs.loadingGradient}-${type})`)\r\n\r\n rect.style(\"visibility\", isLoading ? \"visible\" : \"hidden\")\r\n },\r\n drawBackground({\r\n color,\r\n yPosition,\r\n gElement,\r\n }: {\r\n gElement: d3.Selection<SVGGElement, any, any, any>\r\n yPosition: number\r\n color: string\r\n }) {\r\n gElement\r\n .append(\"rect\")\r\n .attr(\"class\", classes.eventGroupBg)\r\n .attr(\"x\", 0)\r\n .attr(\"y\", yPosition)\r\n .attr(\"width\", this.timeline.offsetWidth)\r\n .attr(\"height\", this.barChartHeight)\r\n .attr(\"fill\", d3.color(color)!.toString())\r\n .style(\"opacity\", 0.1)\r\n },\r\n drawBars({\r\n events,\r\n gElement,\r\n yPosition,\r\n color,\r\n type,\r\n }: {\r\n events: TimelineEvent[]\r\n gElement: d3.Selection<SVGGElement, any, any, any>\r\n yPosition: number\r\n color: string\r\n type: string\r\n }) {\r\n const that = this\r\n gElement\r\n .selectAll(classes.eventRect)\r\n .data(events)\r\n .enter()\r\n .append(\"rect\")\r\n .classed(classes.eventRect, true)\r\n .attr(\"x\", this.getEventRectX)\r\n .attr(\"y\", yPosition)\r\n .attr(\"ry\", 1.5)\r\n .attr(\"rx\", 1.5)\r\n .attr(\"width\", this.getEventRectWidth)\r\n .attr(\"height\", this.barChartHeight)\r\n .attr(\"stroke-width\", 5)\r\n .attr(\"cursor\", \"pointer\")\r\n .attr(\"stroke\", \"#0000\")\r\n .style(\"fill\", color)\r\n .on(\"mouseover\", function (event, eventData) {\r\n const rect = d3.select(this)\r\n rect.classed(`${classes.eventRect}--hovered`, true)\r\n that.handleBarMouseOver(event, eventData, type)\r\n })\r\n .on(\"mouseout\", function () {\r\n const rect = d3.select(this)\r\n rect.classed(`${classes.eventRect}--hovered`, false)\r\n that.handleBarMouseOut()\r\n })\r\n },\r\n drawTextLabel({\r\n gElement,\r\n yPosition,\r\n color,\r\n label,\r\n }: {\r\n gElement: d3.Selection<SVGGElement, any, any, any>\r\n yPosition: number\r\n color: string\r\n label: string\r\n }) {\r\n if (!this.showLabels) {\r\n return\r\n }\r\n\r\n const bg = {\r\n x: -5,\r\n y: yPosition,\r\n w: this.labelRectWidth + 5,\r\n h: this.barChartHeight,\r\n radius: 3,\r\n }\r\n\r\n // Label rect background\r\n gElement\r\n .append(\"rect\")\r\n .attr(\"class\", classes.labelBg)\r\n .attr(\"data-color\", color)\r\n .attr(\"x\", bg.x)\r\n .attr(\"y\", bg.y)\r\n .attr(\"width\", bg.w)\r\n .attr(\"height\", bg.h)\r\n .attr(\"rx\", bg.radius)\r\n .attr(\"ry\", bg.radius)\r\n .style(\"fill\", this.dark ? \"#131a29\" : \"white\")\r\n\r\n // Label rect fill\r\n gElement\r\n .append(\"rect\")\r\n .attr(\"class\", classes.labelBgFill)\r\n .attr(\"data-color\", color)\r\n .attr(\"x\", bg.x)\r\n .attr(\"y\", bg.y)\r\n .attr(\"width\", bg.w)\r\n .attr(\"height\", bg.h)\r\n .attr(\"rx\", bg.radius)\r\n .attr(\"ry\", bg.radius)\r\n .style(\"fill\", this.getLabelBackgroundColor(color))\r\n .style(\"stroke\", this.getTextFillColor(color))\r\n .style(\"stroke-width\", 0.25)\r\n\r\n // Label text\r\n gElement\r\n .append(\"text\")\r\n .attr(\"class\", classes.labelText)\r\n .attr(\"data-color\", color)\r\n .attr(\"x\", 5)\r\n .attr(\"y\", yPosition + this.barChartHeight / 2)\r\n .attr(\"dy\", \"0.35em\")\r\n .style(\"text-anchor\", \"start\")\r\n .style(\"font-size\", \"12px\")\r\n .style(\"font-weight\", 500)\r\n .style(\"stroke-linejoin\", \"round\")\r\n .style(\"paint-order\", \"stroke\")\r\n .style(\"fill\", this.getTextFillColor(color))\r\n .text(label)\r\n },\r\n getTextFillColor(baseColor: string) {\r\n return (\r\n this.dark\r\n ? d3.color(baseColor)?.brighter(1.5)\r\n : d3.color(baseColor)?.darker(2)\r\n )!.toString()\r\n },\r\n getLabelBackgroundColor(baseColor: string) {\r\n let color = d3.color(baseColor)\r\n color!.opacity = this.dark ? 0.2 : 0.5\r\n\r\n return color!.toString()\r\n },\r\n\r\n tzStringToDate(timestamp: Timestamp): Date {\r\n return moment(timestamp).add(this.utcOffset, \"minutes\").toDate()\r\n },\r\n dateToTzString(date: Date): string {\r\n const userUtcOffset = new Date(date).getTimezoneOffset()\r\n\r\n return moment(date)\r\n .add(userUtcOffset, \"minutes\")\r\n .utcOffset(this.utcOffset, true)\r\n .format()\r\n },\r\n getCurrentTimeBounds() {\r\n const bounds = this.timeScale.domain() as unknown as [string, string]\r\n\r\n return { startDate: bounds[0], endDate: bounds[1] }\r\n },\r\n getFormattedTimestamp(timestamp: Timestamp): string {\r\n return moment.parseZone(timestamp).format(\"YYYY-MM-DDTHH:mm:ss\")\r\n },\r\n fillTimeGaps(events: TimelineEvent[]) {\r\n if (events.length <= 1) {\r\n return events\r\n }\r\n\r\n const toDate = (t: string) => new Date(t)\r\n const toMilliseconds = (t: string) => toDate(t).getTime()\r\n const addInterval = (date: Date, interval: number) =>\r\n new Date(date.getTime() + interval)\r\n\r\n const minInterval = events\r\n .map((event: TimelineEvent, index: number) =>\r\n index === 0\r\n ? Infinity\r\n : toMilliseconds(event.timestamp) -\r\n toMilliseconds(events[index - 1].timestamp)\r\n )\r\n .reduce(\r\n (min: number, interval: number) => Math.min(min, interval),\r\n Infinity\r\n )\r\n\r\n let filledEvents = events.flatMap(\r\n (event: TimelineEvent, index: number) => {\r\n const nextEvent = events[index + 1]\r\n\r\n if (!nextEvent) {\r\n if (this.flattenLineGraphEnds) {\r\n const nextTimestamp = addInterval(\r\n toDate(event.timestamp),\r\n minInterval\r\n )\r\n\r\n return [\r\n event,\r\n { timestamp: nextTimestamp.toISOString(), count: 0 },\r\n ]\r\n } else {\r\n return [event]\r\n }\r\n }\r\n\r\n const nextTimestamp = toDate(event.timestamp)\r\n const endTimestamp = toDate(nextEvent.timestamp)\r\n\r\n if (endTimestamp.getTime() - nextTimestamp.getTime() > minInterval) {\r\n const fillerBeforeNext = addInterval(endTimestamp, -minInterval)\r\n const fillerAfterCurrent = addInterval(nextTimestamp, minInterval)\r\n\r\n return [\r\n event,\r\n { timestamp: fillerAfterCurrent.toISOString(), count: 0 },\r\n { timestamp: fillerBeforeNext.toISOString(), count: 0 },\r\n nextEvent,\r\n ]\r\n } else {\r\n return [event, nextEvent]\r\n }\r\n }\r\n )\r\n\r\n if (this.flattenLineGraphEnds) {\r\n const firstTimestamp = addInterval(\r\n toDate(events[0].timestamp),\r\n -minInterval\r\n )\r\n filledEvents = [\r\n { timestamp: firstTimestamp.toISOString(), count: 0 },\r\n ...filledEvents,\r\n ]\r\n }\r\n\r\n return filledEvents\r\n },\r\n getNormalizedEvents(events: TimelineEvent[]): TimelineEvent[] {\r\n return this.placeholderLineChartGroup.map((defaultEvent) => {\r\n const actualEvent = events.find(\r\n (event) => event.timestamp === defaultEvent.timestamp\r\n )\r\n\r\n return actualEvent || defaultEvent\r\n })\r\n },\r\n },\r\n})\r\n","export function isFullScreen() {\r\n return !!(\r\n document.fullscreenElement ||\r\n document.mozFullScreenElement ||\r\n document.webkitFullscreenElement ||\r\n document.msFullscreenElement\r\n )\r\n}\r\n\r\nexport function makeFullScreen(element: HTMLElement) {\r\n if (isFullScreen()) {\r\n return new Promise((resolve) => resolve())\r\n }\r\n\r\n if (element.requestFullscreen) {\r\n return element?.requestFullscreen()\r\n } else if (element.mozRequestFullScreen) {\r\n return element?.mozRequestFullScreen()\r\n } else if (element.webkitRequestFullScreen) {\r\n return element?.webkitRequestFullScreen()\r\n } else if (element.msRequestFullscreen) {\r\n return element?.msRequestFullscreen()\r\n }\r\n}\r\n\r\nexport function exitFullScreen() {\r\n if (!isFullScreen()) {\r\n return new Promise((resolve) => resolve())\r\n }\r\n\r\n if (document.exitFullscreen) {\r\n return document.exitFullscreen()\r\n } else if (document.mozCancelFullScreen) {\r\n return document.mozCancelFullScreen()\r\n } else if (document.webkitCancelFullScreen) {\r\n return document.webkitCancelFullScreen()\r\n } else if (document.msExitFullscreen) {\r\n return document.msExitFullscreen()\r\n }\r\n}\r\n","// Components\r\nimport EAvatar from \"@/components/EAvatar.vue\"\r\nimport EBadge from \"@/components/EBadge.vue\"\r\nimport EIcon from \"@/components/EIcon.vue\"\r\nimport ESpinner from \"@/components/ESpinner.vue\"\r\nimport ERow from \"@/components/ERow.vue\"\r\nimport ECol from \"@/components/ECol.vue\"\r\nimport EVideoPlayer from \"@/components/EVideoPlayer.vue\"\r\nimport ETimeline from \"@/components/ETimeline.vue\"\r\n\r\n// Directives\r\nimport { DirectivesMap } from \"@/directives\"\r\n\r\nimport { VueConstructor } from \"vue\"\r\n\r\nexport const components = {\r\n EAvatar,\r\n EBadge,\r\n EIcon,\r\n ESpinner,\r\n ERow,\r\n ECol,\r\n EVideoPlayer,\r\n ETimeline,\r\n}\r\n\r\nexport default {\r\n install(Vue: VueConstructor) {\r\n // Register components\r\n Object.keys(components).forEach((name) => {\r\n // @ts-ignore\r\n Vue.component(name, components[name])\r\n })\r\n\r\n // Register directives\r\n DirectivesMap.forEach(({ name, definition }) => {\r\n Vue.directive(name, definition)\r\n })\r\n },\r\n}\r\n\r\nexport { EAvatar, EBadge, EIcon, ESpinner, ERow, ECol, EVideoPlayer, ETimeline }\r\n\r\nexport * from \"@/constants\"\r\n\r\nexport * from \"@/types\"\r\n\r\nexport * from \"@/utils\"\r\n\r\nexport * from \"@/directives\"\r\n"],"names":["Size","BaseColor","TimelineAxis","Vue","colorClasses","sizeClasses","Badge","exports","negateValue","value","sign","numericFunctions","fn","_default","pluginConfig","plugins","pluginName","x","create","picocolors_browserModule","_export","target","all","name","dim","_picocolors","_interop_require_default","require$$0","obj","alreadyShown","log","type","messages","key","message","input","_log","warn","version","from","to","defaults","sources","source","k","_target_hasOwnProperty","_target_hasOwnProperty1","toPath","path","openBrackets","closedBrackets","flagEnabled","issueFlagNotices","require$$1","featureFlags","config","flag","_config_future","_config_future_flag","_ref","_config_experimental","_config_experimental_flag","_ref1","experimentalFlagsEnabled","changes","s","normalizeConfig","_featureFlags","_interop_require_wildcard","_getRequireWildcardCache","nodeInterop","cacheBabelInterop","cacheNodeInterop","cache","newObj","hasPropertyDescriptor","desc","_purge_options","content","purge","safelist","blocklist","item","_config_prefix","extract","_config_purge","_config_content","_config_purge1","_config_purge_extract","_config_content1","_config_content_extract","_config_purge2","_config_purge_options","_config_content2","_config_content_options","extractors","defaultExtractor","extensions","extractor","extension","transform","_config_purge_transform","_config_content_transform","transformers","file","isPlainObject","prototype","cloneDeep","child","v","escapeCommas","className","parseColor","formatColor","_colorNames","HEX","SHORT_HEX","VALUE","SEP","ALPHA_SEP","CUSTOM_PROPERTY","RGB","HSL","loose","_match_","_match__toString","hex","_","r","g","b","a","_value_match","match","color","part","mode","alpha","hasAlpha","withAlphaValue","withAlphaVariable","_color","alphaValue","defaultValue","parsed","property","variable","properties","p","splitAtTopLevelOnly","separator","stack","parts","lastPos","isEscaped","idx","char","parseBoxShadowValue","formatBoxShadowValue","_splitAtTopLevelOnly","KEYWORDS","SPACE","LENGTH","shadow","result","seen","shadows","normalize","url","number","percentage","length","lineWidth","image","gradient","position","familyName","genericName","absoluteSize","relativeSize","_parseBoxShadowValue","require$$2","cssFunctions","isCSSFunction","placeholder","placeholderRe","isRoot","fullMatch","characterBefore","normalizeMathOperatorSpacing","vars","g1","lengthUnitsPattern","lineWidths","parsedShadows","parsedShadow","colors","images","gradientTypes","validPositions","positions","fonts","genericNames","absoluteSizes","relativeSizes","backgroundSize","_dataTypes","keywordValues","sizes","size","updateAllClasses","asValue","parseColorFormat","asColor","asLookupValue","typeMap","coerceValue","getMatchingTypes","_escapeCommas","_withAlphaVariable","_negateValue","require$$3","_validateFormalSyntax","require$$4","require$$5","selectors","updateClass","sel","resolveArbitraryValue","modifier","validate","isArbitraryValue","asNegativeValue","lookup","positiveValue","resolved","options","_options_values","splitUtilityModifier","slashIdx","oldValue","opacityValue","unwrapArbitraryModifier","tailwindConfig","_options_values1","_options_values2","_tailwindConfig_theme","_tailwindConfig_theme_opacity","_options_values_color","normalizedColor","guess","supportedTypes","splitAtFirst","delim","types","arbitraryValue","explicitType","matches","rawModifier","modifiersEnabled","utilityModifier","_options_modifiers","_options_modifiers_utilityModifier","configValue","toColorValue","maybeFunction","resolveConfig","_corePluginList","_configurePlugins","_colors","_defaults","_toPath","_normalizeConfig","require$$6","_isPlainObject","require$$7","_cloneDeep","require$$8","_pluginUtils","require$$9","require$$10","_toColorValue","require$$11","isFunction","mergeWith","customizer","merged","configUtils","scale","negativeScale","negativeValue","screens","breakpoints","valueToResolve","args","collectExtends","items","extend","mergedValue","extendValue","mergeThemes","themes","theme","mergeExtensionCustomizer","mergeExtensions","themeValue","resolveThemePath","utils","e","toPaths","pattern","prefix","newPath","resolveFunctionKeys","object","resolvePath","index","val","normalized","extractPluginConfigs","configs","allConfigs","_config_plugins","plugin","_plugin_config","resolveCorePlugins","corePluginConfigs","corePluginConfig","resolvePluginLists","pluginLists","pluginList","_t_theme","_c_plugins","t","c","config_full","getAllConfigs","_configfull","_config_presets","preset","features","experimentals","feature","_resolveConfig","_getAllConfigs","defaultConfigs","resolveConfig_1","colors_1","BrandColors","customColors","TailwindColors.white","TailwindColors.amber","TailwindColors.rose","TailwindColors.cyan","TailwindColors.lime","TailwindColors.sky","CustomColors","TailwindColors.slate","fullConfig","TextSizes","Colors","BadgeSizes","AvatarSizes","IconSizes","BadgeColors","EVENTS","acc","iconClasses","_b","_a","fill","animationDuration","prop","acceptUndefined","n","T","j","ee","et","V","q","o","l","h","d","E","y","tt","rt","nt","Ae","ut","Fe","Me","fe","ze","Pe","he","re","me","z","Le","Ge","He","je","Be","ne","A","P","L","M","G","We","Re","Ue","Ne","pe","ge","Ie","N","R","D","H","ve","Ve","ie","f","F","m","$","O","Z","W","C","qe","Xe","Ye","ct","se","dt","ft","ae","U","ht","B","mt","pt","Ze","gt","vt","yt","St","Tt","Et","$t","Ke","Je","Ht","jt","oe","ye","J","te","be","X","I","le","xe","de","ue","Y","ce","_e","S","Ce","Se","Te","Ee","$e","De","ke","Oe","It","Qe","w","Q","K","leadingZeroFormatter","VIDEO_PLAYER_EVENTS","formatDuration","time","seconds","minutes","hours","videoOptions","event","which","player","timelineContainer","playerRef","state","currentTime","exitFullScreen","element","makeFullScreen","percent","rect","duration","videoContainer","playPromise","tagName","getFormattedDay","day","d3","daySuffix","getFormattedDayNoEndOfMonth","getFormattedHour","getFormattedHourMinute","HH_MM","getFormattedMinuteSecond","getFormattedOverviewMinuteSecond","getFormattedOverviewHour","hour","month","getFormattedDayHourMinute","filterHourDivisibleBy","filterMinutesDivisibleBy","minute","filterMinutesSecondsDivisibleBy","second","Precision","defaultAxesConfig","format","dayOfMonth","daysInMonth","fifthOfMonth","quarterOfTheMonth","halfOfTheMonth","ResizeObserverDirective","el","binding","callback","observer","entries","DirectivesMap","classes","defs","eventsGroup","combinedLabelsHeight","axesCount","barGroupsCount","lineGraphChartHeight","padding","eventsGouprsHeight","_type","group","oldestEvent","latestEvent","allTimestamps","timestamp","cursorX","startDate","endDate","defsSelection","chartType","areaGradient","sampleTimestamp","moment","start","end","i","axisName","axis","flattenedCounts","maxCount","cursor","timeAtPixel0","timeAtPixel1","HOUR","visibleFrom","visibleTo","fromDate","toDate","interval","contentRect","that","bgFill","text","mouseX","date","formattedDateTz","_event","eventData","eventType","entry","count","groupType","newScale","timelineWidth","fullRange","totalDuration","leftDuration","rightDuration","newWidth","newX","startTime","endTime","newDomain","newRange","ticksConfig","textElement","textBBox","rectsSelector","area","startTimestamp","endTimestamp","width","oneSecondWidth","timelineHeight","yOffset","eventsGroups","gElement","events","isLoading","label","labelYPosition","loadingIndicatorYPosition","labelsGElement","circle","yPosition","bg","baseColor","userUtcOffset","bounds","toMilliseconds","addInterval","minInterval","min","filledEvents","nextEvent","nextTimestamp","fillerBeforeNext","fillerAfterCurrent","defaultEvent","isFullScreen","resolve","components","EAvatar","EBadge","EIcon","ESpinner","ERow","ECol","EVideoPlayer","ETimeline","definition"],"mappings":"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,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA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AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACA,GAAGA,EAAE;AACL,IAAIC,KAAK,CAAA;AAAA,CACR,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACR,CAAA,GAAG,OAAO,eAAe,GAAG,WAAW;AAAA,IACtC,YAAY;AAAA,IACZ,KAAK,WAAW;AACd,aAAO;AAAA,IACR;AAAA,EACL,CAAG;AACD,WAAS,EAAE,GAAG,GAAG;AACf,WAAO,MAAM,SAAS,IAAI,MAAM,QAAQ,CAAC,IAAI,IAAI;AAAA,MAC/C,GAAG,IAAI,IAAI,EAAE,OAAO,CAACf,MAAM,MAAM,MAAM,EAAEA,CAAC,MAAM,EAAE,EAAE,OAAO,OAAO,KAAK,CAAC,EAAE,OAAO,CAACA,MAAM,EAAEA,CAAC,MAAM,EAAE,CAAC,CAAC;AAAA,IAC3G;AAAA,EACG;AACH,GAAGe,EAAE;AACL,IAAIC,KAAK,CAAE,GAAEC,KAAK,CAAA,GAAIC,KAAK,EAAE,SAAS,CAAA,KAAMC,IAAI,QAAQC,KAAK,WAAW;AACtE,SAAO,EAAE,kBAAkB,IAAI,OAAOD,GAAG,MAAMA,GAAG,KAAKA,GAAG,QAAQA,GAAG,WAAWA,GAAG,SAASA,GAAG,QAAQA,GAAG,eAAeA,GAAG,OAAOA,GAAG,KAAKA,GAAG,OAAOA,GAAG,QAAQA,GAAG,MAAMA,GAAG,SAASA,GAAG,MAAMA,GAAG,OAAOA,GAAG,MAAMA,GAAG,SAASA,GAAG,OAAOA,GAAG,SAASA,GAAG,UAAUA,GAAG,QAAQA,GAAG,WAAWA,GAAG,QAAQA,GAAG,SAASA,EAAC;AACnT;AACAD,GAAG,UAAUE;AACbF,GAAG,QAAQ,eAAeE;AAC1B,IAAIC,KAAKH,GAAG;AAAA,CACX,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACX,CAAG;AACD,WAAS,EAAEjB,GAAG7T,GAAG;AACf,aAAS+T,KAAK/T;AACZ,aAAO,eAAe6T,GAAGE,GAAG;AAAA,QAC1B,YAAY;AAAA,QACZ,KAAK/T,EAAE+T,CAAC;AAAA,MAChB,CAAO;AAAA,EACJ;AACD,IAAE,GAAG;AAAA,IACH,KAAK,WAAW;AACd,aAAO;AAAA,IACR;AAAA,IACD,SAAS,WAAW;AAClB,aAAO;AAAA,IACR;AAAA,EACL,CAAG;AACD,QAAM,IAAoB,kBAAEkB,EAAE;AAC9B,WAAS,EAAEpB,GAAG;AACZ,WAAOA,KAAKA,EAAE,aAAaA,IAAI;AAAA,MAC7B,SAASA;AAAA,IACf;AAAA,EACG;AACD,MAAI3P,IAAoB,oBAAI;AAC5B,WAAS0P,EAAEC,GAAG7T,GAAG+T,GAAG;AAClB,WAAO,WAAW,eAAe,QAAQ,IAAI,kBAAkBA,KAAK7P,EAAE,IAAI6P,CAAC,MAAMA,KAAK7P,EAAE,IAAI6P,CAAC,GAAG,QAAQ,KAAK,EAAE,GAAG/T,EAAE,QAAQ,CAAC4C,MAAM,QAAQ,KAAKiR,GAAG,KAAKjR,CAAC,CAAC;AAAA,EAC3J;AACD,WAAS,EAAEiR,GAAG;AACZ,WAAO,EAAE,QAAQ,IAAIA,CAAC;AAAA,EACvB;AACD,QAAM,IAAI;AAAA,IACR,KAAKA,GAAG7T,GAAG;AACT,MAAA4T,EAAE,EAAE,QAAQ,KAAK,EAAE,QAAQ,KAAK,MAAM,CAAC,GAAG,GAAG,MAAM,QAAQC,CAAC,IAAI;AAAA,QAC9DA;AAAA,MACR,IAAU;AAAA,QACF7T;AAAA,QACA6T;AAAA,MACR,CAAO;AAAA,IACF;AAAA,IACD,KAAKA,GAAG7T,GAAG;AACT,MAAA4T,EAAE,EAAE,QAAQ,KAAK,EAAE,QAAQ,OAAO,MAAM,CAAC,GAAG,GAAG,MAAM,QAAQC,CAAC,IAAI;AAAA,QAChEA;AAAA,MACR,IAAU;AAAA,QACF7T;AAAA,QACA6T;AAAA,MACR,CAAO;AAAA,IACF;AAAA,IACD,KAAKA,GAAG7T,GAAG;AACT,MAAA4T,EAAE,EAAE,QAAQ,KAAK,EAAE,QAAQ,QAAQ,MAAM,CAAC,GAAG,GAAG,MAAM,QAAQC,CAAC,IAAI;AAAA,QACjEA;AAAA,MACR,IAAU;AAAA,QACF7T;AAAA,QACA6T;AAAA,MACR,CAAO;AAAA,IACF;AAAA,EACL;AACA,GAAGgB,EAAE;AAAA,CACJ,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACR,CAAA,GAAG,OAAO,eAAe,GAAG,WAAW;AAAA,IACtC,YAAY;AAAA,IACZ,KAAK,WAAW;AACd,aAAO3Q;AAAA,IACR;AAAA,EACL,CAAG;AACD,QAAM,IAAoB,kBAAE2Q,EAAE;AAC9B,WAAS,EAAEjB,GAAG;AACZ,WAAOA,KAAKA,EAAE,aAAaA,IAAI;AAAA,MAC7B,SAASA;AAAA,IACf;AAAA,EACG;AACD,WAAS,EAAE,EAAE,SAASA,GAAG,MAAM,GAAG,IAAI,KAAK;AACzC,MAAE,QAAQ,KAAK,GAAG,CAAC,kBAAkB;AAAA,MACnC,sBAAsBA,CAAC,OAAO,CAAC,4BAA4B,CAAC;AAAA,MAC5D;AAAA,IACN,CAAK;AAAA,EACF;AACD,QAAM1P,IAAI;AAAA,IACR,SAAS;AAAA,IACT,SAAS;AAAA,IACT,aAAa;AAAA,IACb,OAAO;AAAA,IACP,OAAO;AAAA,IACP,OAAO;AAAA,MACL,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,SAAS;AAAA,MACP,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,OAAO;AAAA,MACL,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,KAAK;AAAA,MACH,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,QAAQ;AAAA,MACN,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,OAAO;AAAA,MACL,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,QAAQ;AAAA,MACN,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,OAAO;AAAA,MACL,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,SAAS;AAAA,MACP,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,KAAK;AAAA,MACH,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,QAAQ;AAAA,MACN,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,QAAQ;AAAA,MACN,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,QAAQ;AAAA,MACN,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,SAAS;AAAA,MACP,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,IAAI,YAAY;AACd,aAAO,EAAE;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,QACN,IAAI;AAAA,MACZ,CAAO,GAAG,KAAK;AAAA,IACV;AAAA,IACD,IAAI,WAAW;AACb,aAAO,EAAE;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,QACN,IAAI;AAAA,MACZ,CAAO,GAAG,KAAK;AAAA,IACV;AAAA,IACD,IAAI,WAAW;AACb,aAAO,EAAE;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,QACN,IAAI;AAAA,MACZ,CAAO,GAAG,KAAK;AAAA,IACV;AAAA,IACD,IAAI,WAAW;AACb,aAAO,EAAE;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,QACN,IAAI;AAAA,MACZ,CAAO,GAAG,KAAK;AAAA,IACV;AAAA,IACD,IAAI,WAAW;AACb,aAAO,EAAE;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,QACN,IAAI;AAAA,MACZ,CAAO,GAAG,KAAK;AAAA,IACV;AAAA,EACL;AACA,GAAG0Q,EAAE;AACL,IAAIM,KAAK,CAAA;AAAA,CACR,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACR,CAAA,GAAG,OAAO,eAAe,GAAG,YAAY;AAAA,IACvC,YAAY;AAAA,IACZ,KAAK,WAAW;AACd,aAAO;AAAA,IACR;AAAA,EACL,CAAG;AACD,WAAS,EAAE,MAAM,GAAG;AAClB,aAAS,KAAK,GAAG;AACf,eAAS,KAAK,GAAG;AACf,YAAIhR;AACJ,UAAE,KAAK,SAASA,IAAI,EAAE,oBAAoB,QAAQA,MAAM,WAAWA,EAAE,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAAA,MAC/F;AACD,eAAS,KAAK,OAAO,sBAAsB,CAAC,GAAG;AAC7C,YAAI0P;AACJ,UAAE,KAAK,SAASA,IAAI,EAAE,oBAAoB,QAAQA,MAAM,WAAWA,EAAE,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAAA,MAC/F;AAAA,IACF;AACD,WAAO;AAAA,EACR;AACH,GAAGsB,EAAE;AACL,IAAIC,KAAK,CAAA;AAAA,CACR,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACR,CAAA,GAAG,OAAO,eAAe,GAAG,UAAU;AAAA,IACrC,YAAY;AAAA,IACZ,KAAK,WAAW;AACd,aAAO;AAAA,IACR;AAAA,EACL,CAAG;AACD,WAAS,EAAE,GAAG;AACZ,QAAI,MAAM,QAAQ,CAAC;AACjB,aAAO;AACT,QAAI,IAAI,EAAE,MAAM,GAAG,EAAE,SAAS,GAAGjR,IAAI,EAAE,MAAM,GAAG,EAAE,SAAS;AAC3D,QAAI,MAAMA;AACR,YAAM,IAAI,MAAM,6CAA6C,CAAC,EAAE;AAClE,WAAO,EAAE,MAAM,wBAAwB,EAAE,OAAO,OAAO;AAAA,EACxD;AACH,GAAGiR,EAAE;AACL,IAAIC,KAAK,CAAA,GAAIC,KAAK;CACjB,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACX,CAAG;AACD,WAAS,EAAEzS,GAAGkR,GAAG;AACf,aAASE,KAAKF;AACZ,aAAO,eAAelR,GAAGoR,GAAG;AAAA,QAC1B,YAAY;AAAA,QACZ,KAAKF,EAAEE,CAAC;AAAA,MAChB,CAAO;AAAA,EACJ;AACD,IAAE,GAAG;AAAA,IACH,aAAa,WAAW;AACtB,aAAO;AAAA,IACR;AAAA,IACD,kBAAkB,WAAW;AAC3B,aAAOhU;AAAA,IACR;AAAA,IACD,SAAS,WAAW;AAClB,aAAO+T;AAAA,IACR;AAAA,EACL,CAAG;AACD,QAAM,IAAoB,gBAAA7P,EAAE+Q,EAAE,GAAG,IAAoB,gBAAA/Q,EAAE2Q,EAAE;AACzD,WAAS3Q,EAAEtB,GAAG;AACZ,WAAOA,KAAKA,EAAE,aAAaA,IAAI;AAAA,MAC7B,SAASA;AAAA,IACf;AAAA,EACG;AACD,MAAIgR,IAAI;AAAA,IACN,2BAA2B;AAAA,IAC3B,sBAAsB;AAAA,IACtB,IAAI,wCAAwC;AAC1C,aAAO;AAAA,IACR;AAAA,IACD,IAAI,gCAAgC;AAClC,aAAO;AAAA,IACR;AAAA,EACF,GAAE,IAAI;AAAA,IACL,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,cAAc;AAAA,MACZ;AAAA,MACA;AAAA,IACD;AAAA,EACL;AACE,WAAS,EAAEhR,GAAGkR,GAAG;AACf,QAAI,EAAE,OAAO,SAASA,CAAC,GAAG;AACxB,UAAIE,GAAGC,GAAGtV;AACV,aAAOiE,EAAE,WAAW,WAAWjE,KAAKsV,IAAIrR,KAAK,SAASoR,IAAIpR,EAAE,YAAY,QAAQoR,MAAM,SAAS,SAASA,EAAEF,CAAC,OAAO,QAAQG,MAAM,SAASA,IAAIL,EAAEE,CAAC,OAAO,QAAQnV,MAAM,SAASA,IAAI;AAAA,IACnL;AACD,QAAI,EAAE,aAAa,SAASmV,CAAC,GAAG;AAC9B,UAAIwB,GAAGC,GAAGC;AACV,aAAO5S,EAAE,iBAAiB,WAAW4S,KAAKD,IAAI3S,KAAK,SAAS0S,IAAI1S,EAAE,kBAAkB,QAAQ0S,MAAM,SAAS,SAASA,EAAExB,CAAC,OAAO,QAAQyB,MAAM,SAASA,IAAI3B,EAAEE,CAAC,OAAO,QAAQ0B,MAAM,SAASA,IAAI;AAAA,IAC/L;AACD,WAAO;AAAA,EACR;AACD,WAAS3B,EAAEjR,GAAG;AACZ,QAAIA,EAAE,iBAAiB;AACrB,aAAO,EAAE;AACX,QAAIkR;AACJ,WAAO,OAAO,MAAMA,IAAIlR,KAAK,OAAO,SAASA,EAAE,kBAAkB,QAAQkR,MAAM,SAASA,IAAI,CAAA,CAAE,EAAE,OAAO,CAACE,MAAM,EAAE,aAAa,SAASA,CAAC,KAAKpR,EAAE,aAAaoR,CAAC,CAAC;AAAA,EAC9J;AACD,WAAShU,EAAE4C,GAAG;AACZ,QAAI,QAAQ,IAAI,mBAAmB,UAAUiR,EAAEjR,CAAC,EAAE,SAAS,GAAG;AAC5D,UAAIkR,IAAID,EAAEjR,CAAC,EAAE,IAAI,CAACoR,MAAM,EAAE,QAAQ,OAAOA,CAAC,CAAC,EAAE,KAAK,IAAI;AACtD,QAAE,QAAQ,KAAK,8BAA8B;AAAA,QAC3C,2CAA2CF,CAAC;AAAA,QAC5C;AAAA,MACR,CAAO;AAAA,IACF;AAAA,EACF;AACD,QAAMC,IAAI;AACZ,GAAGsB,EAAE;AAAA,CACJ,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACR,CAAA,GAAG,OAAO,eAAe,GAAG,mBAAmB;AAAA,IAC9C,YAAY;AAAA,IACZ,KAAK,WAAW;AACd,aAAOzB;AAAA,IACR;AAAA,EACL,CAAG;AACD,QAAM,IAAIyB,IAAI,IAAoB,gBAAAnR,EAAE2Q,EAAE;AACtC,WAAS,EAAE,GAAG;AACZ,QAAI,OAAO,WAAW;AACpB,aAAO;AACT,QAAI,IAAoB,oBAAI,QAAO,GAAIhB,IAAoB,oBAAI,QAAO;AACtE,YAAQ,IAAI,SAAS7T,GAAG;AACtB,aAAOA,IAAI6T,IAAI;AAAA,IAChB,GAAE,CAAC;AAAA,EACL;AACD,WAAS3P,EAAE,GAAG,GAAG;AACf,QAAI,CAAC,KAAK,KAAK,EAAE;AACf,aAAO;AACT,QAAI,MAAM,QAAQ,OAAO,KAAK,YAAY,OAAO,KAAK;AACpD,aAAO;AAAA,QACL,SAAS;AAAA,MACjB;AACI,QAAI2P,IAAI,EAAE,CAAC;AACX,QAAIA,KAAKA,EAAE,IAAI,CAAC;AACd,aAAOA,EAAE,IAAI,CAAC;AAChB,QAAI7T,IAAI,CAAA,GAAI+T,IAAI,OAAO,kBAAkB,OAAO;AAChD,aAASnR,KAAK;AACZ,UAAIA,MAAM,aAAa,OAAO,UAAU,eAAe,KAAK,GAAGA,CAAC,GAAG;AACjE,YAAIkR,IAAIC,IAAI,OAAO,yBAAyB,GAAGnR,CAAC,IAAI;AACpD,QAAAkR,MAAMA,EAAE,OAAOA,EAAE,OAAO,OAAO,eAAe9T,GAAG4C,GAAGkR,CAAC,IAAI9T,EAAE4C,CAAC,IAAI,EAAEA,CAAC;AAAA,MACpE;AACH,WAAO5C,EAAE,UAAU,GAAG6T,KAAKA,EAAE,IAAI,GAAG7T,CAAC,GAAGA;AAAA,EACzC;AACD,WAAS4T,EAAE,GAAG;AACZ,SAAK,MAAM;AACT,UAAI,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,QAAQ,EAAE,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,YAAY,EAAE,YAAY;AACxG,eAAO;AACT,UAAI,MAAM,QAAQ,EAAE,OAAO;AACzB,eAAO,EAAE,QAAQ,MAAM,CAAC5T,MAAM,OAAOA,KAAK,WAAW,KAAK,EAAE,QAAQA,KAAK,OAAO,SAASA,EAAE,QAAQ,YAAYA,KAAK,QAAQA,EAAE,aAAa,QAAQA,KAAK,OAAO,SAASA,EAAE,cAAc,SAAS;AACnM,UAAI,OAAO,EAAE,WAAW,YAAY,EAAE,YAAY,MAAM;AACtD,YAAI,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,CAACA,MAAM,CAAC;AAAA,UACtC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACV,EAAU,SAASA,CAAC,CAAC;AACX,iBAAO;AACT,YAAI,MAAM,QAAQ,EAAE,QAAQ,KAAK,GAAG;AAClC,cAAI,CAAC,EAAE,QAAQ,MAAM,MAAM,CAACA,MAAM,OAAOA,KAAK,WAAW,KAAK,EAAE,QAAQA,KAAK,OAAO,SAASA,EAAE,QAAQ,YAAYA,KAAK,QAAQA,EAAE,aAAa,QAAQA,KAAK,OAAO,SAASA,EAAE,cAAc,SAAS;AACnM,mBAAO;AACT,cAAI,OAAO,EAAE,QAAQ,WAAW;AAC9B,qBAASA,KAAK,OAAO,OAAO,EAAE,QAAQ,OAAO;AAC3C,kBAAI,OAAOA,KAAK;AACd,uBAAO;AAAA,qBACF,EAAE,EAAE,QAAQ,YAAY,UAAU,OAAO,EAAE,QAAQ,WAAW;AACvE,mBAAO;AACT,cAAI,OAAO,EAAE,QAAQ,aAAa;AAChC,qBAASA,KAAK,OAAO,OAAO,EAAE,QAAQ,SAAS;AAC7C,kBAAI,OAAOA,KAAK;AACd,uBAAO;AAAA,qBACF,EAAE,EAAE,QAAQ,cAAc,UAAU,OAAO,EAAE,QAAQ,aAAa;AAC3E,mBAAO;AACT,cAAI,OAAO,EAAE,QAAQ,YAAY,aAAa,OAAO,EAAE,QAAQ,YAAY;AACzE,mBAAO;AAAA,QACV;AACD,eAAO;AAAA,MACR;AACD,aAAO;AAAA,IACR,GAAA,KAAO,EAAE,QAAQ,KAAK,qBAAqB;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,IACN,CAAK,GAAG,EAAE,YAAY,MAAM;AACtB,UAAIA;AACJ,UAAI,EAAE,SAAS+T,GAAG,OAAOnR,GAAG,UAAUkR,EAAG,IAAG;AAC5C,aAAO,MAAM,QAAQA,CAAC,IAAIA,IAAI,MAAM,QAAQC,KAAK,OAAO,SAASA,EAAE,QAAQ,IAAIA,EAAE,WAAW,MAAM,QAAQnR,KAAK,OAAO,SAASA,EAAE,QAAQ,IAAIA,EAAE,WAAW,MAAM,QAAQA,KAAK,SAAS5C,IAAI4C,EAAE,aAAa,QAAQ5C,MAAM,SAAS,SAASA,EAAE,QAAQ,IAAI4C,EAAE,QAAQ,WAAW;IAClR,MAAU,EAAE,aAAa,MAAM;AACzB,UAAI,EAAE,WAAW5C,EAAG,IAAG;AACvB,UAAI,MAAM,QAAQA,CAAC,GAAG;AACpB,YAAIA,EAAE,MAAM,CAAC+T,MAAM,OAAOA,KAAK,QAAQ;AACrC,iBAAO/T;AACT,UAAE,QAAQ,KAAK,qBAAqB;AAAA,UAClC;AAAA,UACA;AAAA,QACV,CAAS;AAAA,MACF;AACD,aAAO;IACb,MAAU,OAAO,EAAE,UAAU;AACvB,QAAE,QAAQ,KAAK,mBAAmB;AAAA,QAChC;AAAA,QACA;AAAA,QACA;AAAA,MACR,CAAO,GAAG,EAAE,SAAS;AAAA,SACZ;AACH,UAAI6T;AACJ,QAAE,UAAUA,IAAI,EAAE,YAAY,QAAQA,MAAM,SAASA,IAAI;AAAA,IAC1D;AACD,MAAE,UAAU;AAAA,MACV,WAAW,MAAM;AACf,YAAI,EAAE,SAAS7T,EAAG,IAAG;AACrB,eAAOA,KAAK,QAAQA,EAAE,WAAWA,EAAE,eAAe,EAAE,aAAa,GAAG,+BAA+B;AAAA,MAC3G,GAAU;AAAA,MACJ,QAAQ,MAAM;AACZ,YAAI,EAAE,SAASA,GAAG,OAAO+T,EAAC,IAAK;AAC/B,eAAO,MAAM,QAAQA,CAAC,IAAIA,IAAI,MAAM,QAAQA,KAAK,OAAO,SAASA,EAAE,OAAO,IAAIA,EAAE,UAAU,MAAM,QAAQ/T,CAAC,IAAIA,IAAI,MAAM,QAAQA,KAAK,OAAO,SAASA,EAAE,OAAO,IAAIA,EAAE,UAAU,MAAM,QAAQA,KAAK,OAAO,SAASA,EAAE,KAAK,IAAIA,EAAE,QAAQ;MAC7O,GAAU;AAAA,MACJ,UAAU,MAAM;AACd,YAAIA,KAAK,MAAM;AACb,cAAI8T,GAAGE,GAAGC,GAAGtV,GAAG2W,GAAGC,GAAG,GAAGE,GAAGC,GAAG;AAC/B,iBAAO,GAAG5B,IAAI,EAAE,WAAW,QAAQA,MAAM,WAAWA,EAAE,UAAU,EAAE,MAAM,UAAU,GAAGE,IAAI,EAAE,aAAa,QAAQA,MAAM,WAAWA,EAAE,UAAU,EAAE,QAAQ,UAAU,GAAGC,IAAI,EAAE,WAAW,QAAQA,MAAM,WAAWtV,IAAIsV,EAAE,aAAa,QAAQtV,MAAM,WAAWA,EAAE,UAAU,EAAE,MAAM,QAAQ,UAAU,GAAG2W,IAAI,EAAE,aAAa,QAAQA,MAAM,WAAWC,IAAID,EAAE,aAAa,QAAQC,MAAM,WAAWA,EAAE,UAAU,EAAE,QAAQ,QAAQ,UAAU,GAAG,IAAI,EAAE,WAAW,QAAQ,MAAM,WAAWE,IAAI,EAAE,aAAa,QAAQA,MAAM,WAAWA,EAAE,aAAa,EAAE,MAAM,QAAQ,aAAa,GAAGC,IAAI,EAAE,aAAa,QAAQA,MAAM,WAAW,IAAIA,EAAE,aAAa,QAAQ,MAAM,WAAW,EAAE,aAAa,EAAE,QAAQ,QAAQ,aAAa,CAAA;AAAA,QAClrB,GAAA,GAAK3B,IAAI,IAAInR,KAAK,MAAM;AACvB,cAAIkR,GAAGE,GAAGC,GAAGtV;AACb,cAAI,GAAGmV,IAAI,EAAE,WAAW,QAAQA,MAAM,WAAWE,IAAIF,EAAE,aAAa,QAAQE,MAAM,WAAWA,EAAE;AAC7F,mBAAO,EAAE,MAAM,QAAQ;AACzB,cAAI,GAAGC,IAAI,EAAE,aAAa,QAAQA,MAAM,WAAWtV,IAAIsV,EAAE,aAAa,QAAQtV,MAAM,WAAWA,EAAE;AAC/F,mBAAO,EAAE,QAAQ,QAAQ;AAAA,QACrC;AACQ,YAAIiE,MAAM,WAAWmR,EAAE,UAAUnR,IAAI,OAAO5C,KAAK;AAC/C,UAAA+T,EAAE,UAAU/T;AAAA,iBACL,MAAM,QAAQA,CAAC;AACtB,mBAAS,EAAE,YAAY8T,GAAG,WAAWE,EAAC,KAAMhU,KAAK,OAAOA,IAAI,CAAE;AAC5D,qBAASiU,KAAKH;AACZ,cAAAC,EAAEE,CAAC,IAAID;AAAA;AAEX,iBAAOhU,KAAK,YAAYA,MAAM,QAAQ,OAAO,OAAO+T,GAAG/T,CAAC;AAC1D,eAAO+T;AAAA,MACf,GAAU;AAAA,MACJ,YAAY,MAAM;AAChB,YAAI/T,KAAK,MAAM;AACb,cAAI4C,GAAGkR,GAAGE,GAAGC,GAAGtV,GAAG2W;AACnB,iBAAO,GAAG1S,IAAI,EAAE,WAAW,QAAQA,MAAM,WAAWA,EAAE,YAAY,EAAE,MAAM,YAAY,GAAGkR,IAAI,EAAE,aAAa,QAAQA,MAAM,WAAWA,EAAE,YAAY,EAAE,QAAQ,YAAY,GAAGE,IAAI,EAAE,WAAW,QAAQA,MAAM,WAAWC,IAAID,EAAE,eAAe,QAAQC,MAAM,WAAWA,EAAE,UAAU,EAAE,MAAM,UAAU,UAAU,GAAGtV,IAAI,EAAE,aAAa,QAAQA,MAAM,WAAW2W,IAAI3W,EAAE,eAAe,QAAQ2W,MAAM,WAAWA,EAAE,UAAU,EAAE,QAAQ,UAAU,UAAU;QAC7b,GAAY,GAAEvB,IAAI;AACV,eAAO,OAAO/T,KAAK,eAAe+T,EAAE,UAAU/T,IAAI,OAAOA,KAAK,YAAYA,MAAM,QAAQ,OAAO,OAAO+T,GAAG/T,CAAC,GAAG+T;AAAA,MACrH,GAAU;AAAA,IACV;AACI,aAAS/T,KAAK,EAAE,QAAQ;AACtB,UAAI,OAAOA,KAAK,YAAY,cAAc,KAAKA,CAAC,GAAG;AACjD,UAAE,QAAQ,KAAK,uBAAuB;AAAA,UACpC,wBAAwB,EAAE,KAAKA,CAAC,CAAC;AAAA,UACjC,oBAAoB,EAAE,KAAKA,EAAE,QAAQ,eAAe,IAAI,CAAC,CAAC;AAAA,QACpE,CAAS;AACD;AAAA,MACD;AACH,WAAO;AAAA,EACR;AACH,GAAGoV,EAAE;AACL,IAAIO,KAAK,CAAA;AAAA,CACR,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACR,CAAA,GAAG,OAAO,eAAe,GAAG,WAAW;AAAA,IACtC,YAAY;AAAA,IACZ,KAAK,WAAW;AACd,aAAO;AAAA,IACR;AAAA,EACL,CAAG;AACD,WAAS,EAAE,GAAG;AACZ,QAAI,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM;AACxC,aAAO;AACT,UAAM,IAAI,OAAO,eAAe,CAAC;AACjC,WAAO,MAAM,QAAQ,MAAM,OAAO;AAAA,EACnC;AACH,GAAGA,EAAE;AACL,IAAIC,KAAK,CAAA;AAAA,CACR,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACR,CAAA,GAAG,OAAO,eAAe,GAAG,aAAa;AAAA,IACxC,YAAY;AAAA,IACZ,KAAK,WAAW;AACd,aAAO;AAAA,IACR;AAAA,EACL,CAAG;AACD,WAAS,EAAE,GAAG;AACZ,WAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,OAAO,KAAK,YAAY,MAAM,OAAO,OAAO,YAAY,OAAO,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG1R,CAAC,MAAM;AAAA,MACvI;AAAA,MACA,EAAEA,CAAC;AAAA,IACT,CAAK,CAAC,IAAI;AAAA,EACP;AACH,GAAG0R,EAAE;AACL,IAAIC,KAAK,CAAA,GAAIC,KAAK;CACjB,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACR,CAAA,GAAG,OAAO,eAAe,GAAG,WAAW;AAAA,IACtC,YAAY;AAAA,IACZ,KAAK,WAAW;AACd,aAAO;AAAA,IACR;AAAA,EACL,CAAG;AACD,WAAS,EAAE,GAAG;AACZ,WAAO,EAAE,QAAQ,QAAQ,OAAO;AAAA,EACjC;AACH,GAAGA,EAAE;AACL,IAAIC,KAAK,CAAA,GAAIC,KAAK,CAAA,GAAIC,KAAK,CAAA;AAAA,CAC1B,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACR,CAAA,GAAG,OAAO,eAAe,GAAG,WAAW;AAAA,IACtC,YAAY;AAAA,IACZ,KAAK,WAAW;AACd,aAAO;AAAA,IACR;AAAA,EACL,CAAG;AACD,QAAM,IAAI;AAAA,IACR,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,cAAc;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,gBAAgB;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,gBAAgB;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,eAAe;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,gBAAgB;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,cAAc;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,eAAe;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,eAAe;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,eAAe;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,eAAe;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,eAAe;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,cAAc;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,sBAAsB;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,eAAe;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,cAAc;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,gBAAgB;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,gBAAgB;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,gBAAgB;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,kBAAkB;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,cAAc;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,cAAc;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,gBAAgB;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,mBAAmB;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,iBAAiB;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,cAAc;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,eAAe;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,eAAe;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,eAAe;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,eAAe;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,KAAK;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,KAAK;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,MAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,QAAQ;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,IACD,aAAa;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACL;AACA,GAAGA,EAAE;AAAA,CACJ,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACX,CAAG;AACD,WAAS,EAAEhC,GAAGtV,GAAG;AACf,aAAS2W,KAAK3W;AACZ,aAAO,eAAesV,GAAGqB,GAAG;AAAA,QAC1B,YAAY;AAAA,QACZ,KAAK3W,EAAE2W,CAAC;AAAA,MAChB,CAAO;AAAA,EACJ;AACD,IAAE,GAAG;AAAA,IACH,YAAY,WAAW;AACrB,aAAOxB;AAAA,IACR;AAAA,IACD,aAAa,WAAW;AACtB,aAAOE;AAAA,IACR;AAAA,EACL,CAAG;AACD,QAAM,IAAoB,kBAAEiC,EAAE;AAC9B,WAAS,EAAEhC,GAAG;AACZ,WAAOA,KAAKA,EAAE,aAAaA,IAAI;AAAA,MAC7B,SAASA;AAAA,IACf;AAAA,EACG;AACD,MAAI/P,IAAI,yDAAyD0P,IAAI,6CAA6C,IAAI,sBAAsB,IAAI,mBAAmBC,IAAI,cAAc7T,IAAI,wBAAwB+T,IAAI,IAAI,OAAO,mBAAmB,EAAE,MAAM,IAAI/T,EAAE,MAAM,OAAO,EAAE,MAAM,IAAI,EAAE,MAAM,IAAIA,EAAE,MAAM,SAAS,EAAE,MAAM,IAAI,EAAE,MAAM,IAAIA,EAAE,MAAM,SAAS6T,EAAE,MAAM,IAAI,EAAE,MAAM,IAAI7T,EAAE,MAAM,aAAa,GAAG4C,IAAI,IAAI,OAAO,sBAAsB,EAAE,MAAM,2BAA2B5C,EAAE,MAAM,OAAO,EAAE,MAAM,IAAI,EAAE,MAAM,IAAIA,EAAE,MAAM,SAAS,EAAE,MAAM,IAAI,EAAE,MAAM,IAAIA,EAAE,MAAM,SAAS6T,EAAE,MAAM,IAAI,EAAE,MAAM,IAAI7T,EAAE,MAAM,aAAa;AACtmB,WAAS8T,EAAEG,GAAG,EAAE,OAAOtV,IAAI,GAAI,IAAG,IAAI;AACpC,QAAI2W,GAAGC;AACP,QAAI,OAAOtB,KAAK;AACd,aAAO;AACT,QAAIA,IAAIA,EAAE,KAAM,GAAEA,MAAM;AACtB,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,QACD;AAAA,QACD,OAAO;AAAA,MACf;AACI,QAAIA,KAAK,EAAE;AACT,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO,EAAE,QAAQA,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU;AAAA,MACnD;AACI,QAAIuB,IAAIvB,EAAE,QAAQL,GAAG,CAAC,GAAGsC,GAAGC,GAAGnS,GAAGoS,MAAM;AAAA,MACtC;AAAA,MACAF;AAAA,MACAA;AAAA,MACAC;AAAA,MACAA;AAAA,MACAnS;AAAA,MACAA;AAAA,MACAoS,IAAIA,IAAIA,IAAI;AAAA,IACb,EAAC,KAAK,EAAE,CAAC,EAAE,MAAMlS,CAAC;AACnB,QAAIsR,MAAM;AACR,aAAO;AAAA,QACL,MAAM;AAAA,QACN,OAAO;AAAA,UACL,SAASA,EAAE,CAAC,GAAG,EAAE;AAAA,UACjB,SAASA,EAAE,CAAC,GAAG,EAAE;AAAA,UACjB,SAASA,EAAE,CAAC,GAAG,EAAE;AAAA,QAClB,EAAC,IAAI,CAAC,MAAM,EAAE,SAAQ,CAAE;AAAA,QACzB,OAAOA,EAAE,CAAC,KAAK,SAASA,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,SAAQ,IAAK;AAAA,MAC9D;AACI,QAAIC;AACJ,QAAIC,KAAKD,IAAIxB,EAAE,MAAMF,CAAC,OAAO,QAAQ0B,MAAM,SAASA,IAAIxB,EAAE,MAAMrR,CAAC;AACjE,QAAI8S,MAAM;AACR,aAAO;AACT,QAAIW,IAAI;AAAA,MACNX,EAAE,CAAC;AAAA,MACHA,EAAE,CAAC;AAAA,MACHA,EAAE,CAAC;AAAA,IACT,EAAM,OAAO,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,SAAQ,CAAE;AACzC,WAAOW,EAAE,WAAW,KAAKA,EAAE,CAAC,EAAE,WAAW,MAAM,IAAI;AAAA,MACjD,MAAMX,EAAE,CAAC;AAAA,MACT,OAAO;AAAA,QACLW,EAAE,CAAC;AAAA,MACJ;AAAA,MACD,OAAOA,EAAE,CAAC;AAAA,IAChB,IAAQ,CAAC1X,KAAK0X,EAAE,WAAW,KAAKA,EAAE,SAAS,KAAK,CAACA,EAAE,KAAK,CAAC,MAAM,eAAe,KAAK,CAAC,CAAC,IAAI,OAAO;AAAA,MAC1F,MAAMX,EAAE,CAAC;AAAA,MACT,OAAOW;AAAA,MACP,QAAQf,IAAII,EAAE,CAAC,OAAO,QAAQJ,MAAM,WAAWC,IAAID,EAAE,cAAc,QAAQC,MAAM,SAAS,SAASA,EAAE,KAAKD,CAAC;AAAA,IACjH;AAAA,EACG;AACD,WAAStB,EAAE,EAAE,MAAMC,GAAG,OAAOtV,GAAG,OAAO2W,KAAK;AAC1C,QAAIC,IAAID,MAAM;AACd,WAAOrB,MAAM,UAAUA,MAAM,SAAS,GAAGA,CAAC,IAAItV,EAAE,KAAK,IAAI,CAAC,GAAG4W,IAAI,KAAKD,CAAC,KAAK,EAAE,MAAM,GAAGrB,CAAC,IAAItV,EAAE,KAAK,GAAG,CAAC,GAAG4W,IAAI,MAAMD,CAAC,KAAK,EAAE;AAAA,EAC7H;AACH,GAAGU,EAAE;AAAA,CACJ,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACX,CAAG;AACD,WAAS,EAAEpC,GAAG,GAAG;AACf,aAAS,KAAK;AACZ,aAAO,eAAeA,GAAG,GAAG;AAAA,QAC1B,YAAY;AAAA,QACZ,KAAK,EAAE,CAAC;AAAA,MAChB,CAAO;AAAA,EACJ;AACD,IAAE,GAAG;AAAA,IACH,gBAAgB,WAAW;AACzB,aAAO;AAAA,IACR;AAAA,IACD,SAAS,WAAW;AAClB,aAAO1P;AAAA,IACR;AAAA,EACL,CAAG;AACD,QAAM,IAAI8R;AACV,WAAS,EAAEpC,GAAG,GAAG,GAAG;AAClB,QAAI,OAAOA,KAAK;AACd,aAAOA,EAAE;AAAA,QACP,cAAc;AAAA,MACtB,CAAO;AACH,QAAIC,QAAQ,EAAE,YAAYD,GAAG;AAAA,MAC3B,OAAO;AAAA,IACb,CAAK;AACD,WAAOC,MAAM,OAAO,QAAQ,EAAE,aAAa;AAAA,MACzC,GAAGA;AAAA,MACH,OAAO;AAAA,IACb,CAAK;AAAA,EACF;AACD,WAAS3P,EAAE,EAAE,OAAO0P,GAAG,UAAU,GAAG,UAAU,KAAK;AACjD,QAAIC,IAAI,CAAA,EAAG,OAAO,CAAC;AACnB,QAAI,OAAOD,KAAK;AACd,aAAO;AAAA,QACL,CAAC,CAAC,GAAG;AAAA,QACL,GAAG,OAAO,YAAYC,EAAE,IAAI,CAACE,MAAM;AAAA,UACjCA;AAAA,UACAH,EAAE;AAAA,YACA,iBAAiB;AAAA,YACjB,cAAc,OAAO,CAAC;AAAA,UAClC,CAAW;AAAA,QACX,CAAS,CAAC;AAAA,MACV;AACI,UAAM5T,QAAQ,EAAE,YAAY4T,CAAC;AAC7B,WAAO5T,MAAM,OAAO,OAAO,YAAY6T,EAAE,IAAI,CAACE,MAAM;AAAA,MAClDA;AAAA,MACAH;AAAA,IACD,CAAA,CAAC,IAAI5T,EAAE,UAAU,SAAS,OAAO,YAAY6T,EAAE,IAAI,CAACE,MAAM;AAAA,MACzDA;AAAA,MACAH;AAAA,IACD,CAAA,CAAC,IAAI;AAAA,MACJ,CAAC,CAAC,GAAG;AAAA,MACL,GAAG,OAAO,YAAYC,EAAE,IAAI,CAACE,MAAM;AAAA,QACjCA;AAAA,YACI,EAAE,aAAa;AAAA,UACjB,GAAG/T;AAAA,UACH,OAAO,OAAO,CAAC;AAAA,QACzB,CAAS;AAAA,MACT,CAAO,CAAC;AAAA,IACR;AAAA,EACG;AACH,GAAG+V,EAAE;AACL,IAAIO,KAAK,CAAA,GAAIC,KAAK,CAAA,GAAIC,KAAK,CAAA;AAAA,CAC1B,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACR,CAAA,GAAG,OAAO,eAAe,GAAG,uBAAuB;AAAA,IAClD,YAAY;AAAA,IACZ,KAAK,WAAW;AACd,aAAO;AAAA,IACR;AAAA,EACL,CAAG;AACD,WAAS,EAAE,GAAG,GAAG;AACf,QAAItS,IAAI,CAAE,GAAE0P,IAAI,CAAA,GAAI,IAAI,GAAG,IAAI;AAC/B,aAASC,IAAI,GAAGA,IAAI,EAAE,QAAQA,KAAK;AACjC,UAAI7T,IAAI,EAAE6T,CAAC;AACX,MAAA3P,EAAE,WAAW,KAAKlE,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,KAAK,EAAE,MAAM6T,GAAGA,IAAI,EAAE,MAAM,MAAM,OAAOD,EAAE,KAAK,EAAE,MAAM,GAAGC,CAAC,CAAC,GAAG,IAAIA,IAAI,EAAE,SAAS,IAAI,IAAI,KAAK7T,MAAM,SAAS,IAAI,KAAKA,MAAM,OAAOA,MAAM,OAAOA,MAAM,MAAMkE,EAAE,KAAKlE,CAAC,KAAKA,MAAM,OAAOkE,EAAEA,EAAE,SAAS,CAAC,MAAM,OAAOlE,MAAM,OAAOkE,EAAEA,EAAE,SAAS,CAAC,MAAM,OAAOlE,MAAM,OAAOkE,EAAEA,EAAE,SAAS,CAAC,MAAM,QAAQA,EAAE;IAC3V;AACD,WAAO0P,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,GAAGA;AAAA,EAC5B;AACH,GAAG4C,EAAE;AAAA,CACJ,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACX,CAAG;AACD,WAAS,EAAE3C,GAAG7T,GAAG;AACf,aAAS+T,KAAK/T;AACZ,aAAO,eAAe6T,GAAGE,GAAG;AAAA,QAC1B,YAAY;AAAA,QACZ,KAAK/T,EAAE+T,CAAC;AAAA,MAChB,CAAO;AAAA,EACJ;AACD,IAAE,GAAG;AAAA,IACH,qBAAqB,WAAW;AAC9B,aAAO;AAAA,IACR;AAAA,IACD,sBAAsB,WAAW;AAC/B,aAAO;AAAA,IACR;AAAA,EACL,CAAG;AACD,QAAM,IAAIyC;AACV,MAAI,IAAoB,oBAAI,IAAI;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAA,GAAGtS,IAAI,mBAAmB0P,IAAI;AAC/B,WAAS,EAAEC,GAAG;AACZ,eAAW,EAAE,qBAAqBA,GAAG,GAAG,EAAE,IAAI,CAACE,MAAM;AACnD,UAAInR,IAAImR,EAAE,KAAI,GAAID,IAAI;AAAA,QACpB,KAAKlR;AAAA,MACb,GAASoR,IAAIpR,EAAE,MAAMsB,CAAC,GAAG+P,IAAoB,oBAAI;AAC3C,eAAStV,KAAKqV;AACZ,QAAAJ,EAAE,YAAY,GAAG,CAACK,EAAE,IAAI,SAAS,KAAK,EAAE,IAAItV,CAAC,KAAKmV,EAAE,UAAUnV,GAAGsV,EAAE,IAAI,SAAS,KAAKL,EAAE,KAAKjV,CAAC,IAAIsV,EAAE,IAAI,GAAG,IAAIA,EAAE,IAAI,GAAG,IAAIA,EAAE,IAAI,MAAM,IAAIA,EAAE,IAAI,QAAQ,MAAMH,EAAE,SAASnV,GAAGsV,EAAE,IAAI,QAAQ,MAAMH,EAAE,OAAOnV,GAAGsV,EAAE,IAAI,MAAM,MAAMH,EAAE,IAAInV,GAAGsV,EAAE,IAAI,GAAG,MAAMH,EAAE,IAAInV,GAAGsV,EAAE,IAAI,GAAG,KAAKH,EAAE,SAASA,EAAE,YAAYA,EAAE,UAAU,CAAA,IAAKA,EAAE,QAAQ,KAAKnV,CAAC,KAAKmV,EAAE,QAAQnV;AACzV,aAAOmV,EAAE,QAAQA,EAAE,MAAM,UAAUA,EAAE,MAAM,QAAQA;AAAA,IACzD,CAAK;AAAA,EACF;AACD,WAAS,EAAED,GAAG;AACZ,WAAOA,EAAE,IAAI,CAAC7T,MAAMA,EAAE,QAAQ;AAAA,MAC5BA,EAAE;AAAA,MACFA,EAAE;AAAA,MACFA,EAAE;AAAA,MACFA,EAAE;AAAA,MACFA,EAAE;AAAA,MACFA,EAAE;AAAA,IACH,EAAC,OAAO,OAAO,EAAE,KAAK,GAAG,IAAIA,EAAE,GAAG,EAAE,KAAK,IAAI;AAAA,EAC/C;AACH,GAAGuW,EAAE;AAAA,CACJ,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACX,CAAG;AACD,WAAS,EAAEE,GAAG3S,GAAG;AACf,aAAS4S,KAAK5S;AACZ,aAAO,eAAe2S,GAAGC,GAAG;AAAA,QAC1B,YAAY;AAAA,QACZ,KAAK5S,EAAE4S,CAAC;AAAA,MAChB,CAAO;AAAA,EACJ;AACD,IAAE,GAAG;AAAA,IACH,WAAW,WAAW;AACpB,aAAO1W;AAAA,IACR;AAAA,IACD,KAAK,WAAW;AACd,aAAO4C;AAAA,IACR;AAAA,IACD,QAAQ,WAAW;AACjB,aAAOkR;AAAA,IACR;AAAA,IACD,YAAY,WAAW;AACrB,aAAOE;AAAA,IACR;AAAA,IACD,QAAQ,WAAW;AACjB,aAAOsB;AAAA,IACR;AAAA,IACD,WAAW,WAAW;AACpB,aAAO;AAAA,IACR;AAAA,IACD,QAAQ,WAAW;AACjB,aAAOG;AAAA,IACR;AAAA,IACD,OAAO,WAAW;AAChB,aAAOC;AAAA,IACR;AAAA,IACD,OAAO,WAAW;AAChB,aAAO;AAAA,IACR;AAAA,IACD,UAAU,WAAW;AACnB,aAAOQ;AAAA,IACR;AAAA,IACD,UAAU,WAAW;AACnB,aAAOlS;AAAA,IACR;AAAA,IACD,YAAY,WAAW;AACrB,aAAOoS;AAAA,IACR;AAAA,IACD,aAAa,WAAW;AACtB,aAAOO;AAAA,IACR;AAAA,IACD,cAAc,WAAW;AACvB,aAAO3Z;AAAA,IACR;AAAA,IACD,cAAc,WAAW;AACvB,aAAO4Z;AAAA,IACR;AAAA,EACL,CAAG;AACD,QAAM,IAAIZ,IAAI,IAAIO,IAAIrS,IAAIsS;AAC1B,MAAI5C,IAAI;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACE,WAAS,EAAE6C,GAAG;AACZ,WAAO7C,EAAE,KAAK,CAAC9P,MAAM,IAAI,OAAO,IAAIA,CAAC,UAAU,EAAE,KAAK2S,CAAC,CAAC;AAAA,EACzD;AACD,QAAM,IAAI,oBAAoB5C,IAAI,IAAI,OAAO,GAAG,GAAG;AACnD,WAAS7T,EAAEyW,GAAG3S,IAAI,IAAI;AACpB,WAAO2S,EAAE,WAAW,IAAI,IAAI,OAAOA,CAAC,MAAMA,EAAE,SAAS,MAAM,IAAIA,EAAE,MAAM,eAAe,EAAE,OAAO,OAAO,EAAE,IAAI,CAACC,MAAM,eAAe,KAAKA,CAAC,IAAIA,IAAI1W,EAAE0W,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAKD,IAAIA,EAAE,QAAQ,cAAc,CAACC,GAAGG,MAAMA,IAAI,IAAI,OAAOH,EAAE,SAAS,CAAC,CAAC,EAAE,QAAQ,OAAO,GAAG,EAAE,QAAQ,QAAQ,GAAG,GAAG5S,MAAM2S,IAAIA,EAAE,KAAM,IAAGA,IAAI1C,EAAE0C,CAAC,GAAGA;AAAA,EACpT;AACD,WAAS1C,EAAE0C,GAAG;AACZ,WAAOA,EAAE,QAAQ,+BAA+B,CAAC3S,MAAM;AACrD,UAAI4S,IAAI,CAAA;AACR,aAAO5S,EAAE,QAAQ,qBAAqB,CAAC+S,GAAGC,OAAOJ,EAAE,KAAKI,CAAC,GAAGD,EAAE,QAAQC,GAAG,CAAC,EAAE,EAAE,QAAQ,uEAAuE,QAAQ,EAAE,QAAQjD,GAAG,MAAM6C,EAAE,MAAO,CAAA;AAAA,IACvM,CAAK;AAAA,EACF;AACD,WAAS9T,EAAE6T,GAAG;AACZ,WAAOA,EAAE,WAAW,MAAM;AAAA,EAC3B;AACD,WAAS3C,EAAE2C,GAAG;AACZ,WAAO,CAAC,MAAM,OAAOA,CAAC,CAAC,KAAK,EAAEA,CAAC;AAAA,EAChC;AACD,WAASzC,EAAEyC,GAAG;AACZ,WAAOA,EAAE,SAAS,GAAG,KAAK3C,EAAE2C,EAAE,MAAM,GAAG,EAAE,CAAC,KAAK,EAAEA,CAAC;AAAA,EACnD;AACD,MAAI9X,IAAI,MAAM;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,EAAC,KAAK,GAAG,CAAC;AACX,WAAS2W,EAAEmB,GAAG;AACZ,WAAOA,MAAM,OAAO,IAAI,OAAO,2CAA2C9X,CAAC,GAAG,EAAE,KAAK8X,CAAC,KAAK,EAAEA,CAAC;AAAA,EAC/F;AACD,MAAIlB,IAAoB,oBAAI,IAAI;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAG;AACD,WAAS,EAAEkB,GAAG;AACZ,WAAOlB,EAAE,IAAIkB,CAAC;AAAA,EACf;AACD,WAAShB,EAAEgB,GAAG;AACZ,QAAI3S,QAAQ,EAAE,qBAAqB9D,EAAEyW,CAAC,CAAC;AACvC,aAASC,KAAK5S;AACZ,UAAI,CAAC4S,EAAE;AACL,eAAO;AACX,WAAO;AAAA,EACR;AACD,WAAShB,EAAEe,GAAG;AACZ,QAAI3S,IAAI;AACR,eAAWI,EAAE,qBAAqBuS,GAAG,GAAG,EAAE,MAAM,CAACI,OAAOA,IAAI7W,EAAE6W,CAAC,GAAGA,EAAE,WAAW,MAAM,IAAI,SAAS,EAAE,YAAYA,GAAG;AAAA,MACjH,OAAO;AAAA,IACR,CAAA,MAAM,QAAQ/S,KAAK,MAAM,GAAG,IAAIA,IAAI,IAAI;AAAA,EAC1C;AACD,WAAS,EAAE2S,GAAG;AACZ,QAAI3S,IAAI;AACR,eAAWI,EAAE,qBAAqBuS,GAAG,GAAG,EAAE,MAAM,CAACI,OAAOA,IAAI7W,EAAE6W,CAAC,GAAGA,EAAE,WAAW,MAAM,IAAI,KAAKjU,EAAEiU,CAAC,KAAKX,EAAEW,CAAC,KAAK;AAAA,MAC5G;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACN,EAAM,KAAK,CAACC,MAAMD,EAAE,WAAWC,CAAC,CAAC,KAAKhT,KAAK,MAAM,GAAG,IAAIA,IAAI,IAAI;AAAA,EAC7D;AACD,MAAIiT,IAAoB,oBAAI,IAAI;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAG;AACD,WAASb,EAAEO,GAAG;AACZ,IAAAA,IAAIzW,EAAEyW,CAAC;AACP,aAAS3S,KAAKiT;AACZ,UAAIN,EAAE,WAAW,GAAG3S,CAAC,GAAG;AACtB,eAAO;AACX,WAAO;AAAA,EACR;AACD,MAAIqS,IAAoB,oBAAI,IAAI;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAG;AACD,WAASnS,EAAEyS,GAAG;AACZ,QAAI3S,IAAI;AACR,eAAWI,EAAE,qBAAqBuS,GAAG,GAAG,EAAE,MAAM,CAACI,OAAOA,IAAI7W,EAAE6W,CAAC,GAAGA,EAAE,WAAW,MAAM,IAAI,KAAKV,EAAE,IAAIU,CAAC,KAAKvB,EAAEuB,CAAC,KAAK7C,EAAE6C,CAAC,KAAK/S,KAAK,MAAM,GAAG,IAAIA,IAAI,IAAI;AAAA,EACrJ;AACD,WAASsS,EAAEK,GAAG;AACZ,QAAI3S,IAAI;AACR,eAAWI,EAAE,qBAAqBuS,GAAG,GAAG,EAAE,MAAM,CAACI,OAAOA,IAAI7W,EAAE6W,CAAC,GAAGA,EAAE,WAAW,MAAM,IAAI,KAAKA,EAAE,SAAS,GAAG,KAAK,CAAC,oBAAoB,KAAKA,CAAC,KAAK,OAAO,KAAKA,CAAC,IAAI,MAAM/S,KAAK,IAAI,IAAIA,IAAI,IAAI;AAAA,EAC9L;AACD,MAAIkT,IAAoB,oBAAI,IAAI;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAG;AACD,WAASL,EAAEF,GAAG;AACZ,WAAOO,EAAE,IAAIP,CAAC;AAAA,EACf;AACD,MAAIxS,IAAoB,oBAAI,IAAI;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAG;AACD,WAASjH,EAAEyZ,GAAG;AACZ,WAAOxS,EAAE,IAAIwS,CAAC;AAAA,EACf;AACD,MAAItR,IAAoB,oBAAI,IAAI;AAAA,IAC9B;AAAA,IACA;AAAA,EACJ,CAAG;AACD,WAASyR,EAAEH,GAAG;AACZ,WAAOtR,EAAE,IAAIsR,CAAC;AAAA,EACf;AACH,GAAGH,EAAE;AACL,IAAIW,KAAK,CAAA;AAAA,CACR,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACR,CAAA,GAAG,OAAO,eAAe,GAAG,kBAAkB;AAAA,IAC7C,YAAY;AAAA,IACZ,KAAK,WAAW;AACd,aAAO;AAAA,IACR;AAAA,EACL,CAAG;AACD,QAAM,IAAIX,IAAI,IAAIE;AAClB,WAAS,EAAEtS,GAAG;AACZ,QAAI0P,IAAI;AAAA,MACN;AAAA,MACA;AAAA,IACN;AACI,eAAW,EAAE,qBAAqB1P,GAAG,GAAG,EAAE,MAAM,CAAC,MAAM;AACrD,UAAI,QAAQ,EAAE,qBAAqB,GAAG,GAAG,EAAE,OAAO,OAAO;AACzD,aAAO,EAAE,WAAW,KAAK0P,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,WAAW,KAAK,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,CAACC,UAAU,EAAE,QAAQA,CAAC,SAAS,EAAE,YAAYA,CAAC,KAAKA,MAAM,MAAM;AAAA,IACtK,CAAK;AAAA,EACF;AACH,GAAGoD,EAAE;AAAA,CACJ,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACX,CAAG;AACD,WAAS,EAAEjT,GAAGoS,GAAG;AACf,aAAS,KAAKA;AACZ,aAAO,eAAepS,GAAG,GAAG;AAAA,QAC1B,YAAY;AAAA,QACZ,KAAKoS,EAAE,CAAC;AAAA,MAChB,CAAO;AAAA,EACJ;AACD,IAAE,GAAG;AAAA,IACH,kBAAkB,WAAW;AAC3B,aAAOpW;AAAA,IACR;AAAA,IACD,SAAS,WAAW;AAClB,aAAO8T;AAAA,IACR;AAAA,IACD,kBAAkB,WAAW;AAC3B,aAAOnV;AAAA,IACR;AAAA,IACD,SAAS,WAAW;AAClB,aAAO4W;AAAA,IACR;AAAA,IACD,eAAe,WAAW;AACxB,aAAOC;AAAA,IACR;AAAA,IACD,SAAS,WAAW;AAClB,aAAOE;AAAA,IACR;AAAA,IACD,aAAa,WAAW;AACtB,aAAOQ;AAAA,IACR;AAAA,IACD,kBAAkB,WAAW;AAC3B,aAAOC;AAAA,IACR;AAAA,EACL,CAAG;AACD,QAAM,IAAoB,gBAAAtC,EAAEiC,EAAE,GAAG,IAAIC,IAAI7R,IAAIoS,IAAI1C,IAAoB,gBAAAC,EAAEY,EAAE,GAAG,IAAIwC,IAAI,IAAI5B;AACxF,WAASxB,EAAE7P,GAAG;AACZ,WAAOA,KAAKA,EAAE,aAAaA,IAAI;AAAA,MAC7B,SAASA;AAAA,IACf;AAAA,EACG;AACD,WAAShE,EAAEgE,GAAGoS,GAAG;AACf,IAAApS,EAAE,YAAY,CAAC,MAAM;AACnB,QAAE,QAAQoS,EAAE,EAAE,KAAK,GAAG,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,SAAS,EAAE,KAAK,KAAK;AAAA,IACjG,CAAK;AAAA,EACF;AACD,WAASrC,EAAE/P,GAAGoS,GAAG;AACf,QAAI,CAACpC,EAAEhQ,CAAC;AACN;AACF,QAAI,IAAIA,EAAE,MAAM,GAAG,EAAE;AACrB,QAAIoS,EAAE,CAAC;AACL,iBAAWlS,EAAE,WAAW,CAAC;AAAA,EAC5B;AACD,WAAStB,EAAEoB,GAAGoS,IAAI,CAAA,GAAI,GAAG;AACvB,QAAIO,IAAIP,EAAEpS,CAAC;AACX,QAAI2S,MAAM;AACR,iBAAW/C,EAAE,SAAS+C,CAAC;AACzB,QAAI3C,EAAEhQ,CAAC,GAAG;AACR,UAAIC,IAAI8P,EAAE/P,GAAG,CAAC;AACd,aAAOC,MAAM,SAAS,aAAa2P,EAAE,SAAS3P,CAAC;AAAA,IAChD;AAAA,EACF;AACD,WAAS6P,EAAE9P,GAAGoS,IAAI,IAAI,EAAE,UAAU,IAAI,MAAM,GAAI,IAAG,IAAI;AACrD,QAAIO;AACJ,QAAI1S,KAAK0S,IAAIP,EAAE,YAAY,QAAQO,MAAM,SAAS,SAASA,EAAE3S,CAAC;AAC9D,WAAOC,MAAM,SAASA,IAAImS,EAAE,0BAA0BpS,EAAE,WAAW,GAAG,IAAIpB,EAAEoB,EAAE,MAAM,CAAC,GAAGoS,EAAE,QAAQ,CAAC,IAAIrC,EAAE/P,GAAG,CAAC;AAAA,EAC9G;AACD,WAASgQ,EAAEhQ,GAAG;AACZ,WAAOA,EAAE,WAAW,GAAG,KAAKA,EAAE,SAAS,GAAG;AAAA,EAC3C;AACD,WAASiQ,EAAEjQ,GAAG;AACZ,QAAIoS,IAAIpS,EAAE,YAAY,GAAG;AACzB,WAAOoS,MAAM,MAAMA,MAAMpS,EAAE,SAAS,IAAI;AAAA,MACtCA;AAAA,MACA;AAAA,IACN,IAAQgQ,EAAEhQ,CAAC,KAAK,CAACA,EAAE,SAAS,KAAK,IAAI;AAAA,MAC/BA;AAAA,MACA;AAAA,IACN,IAAQ;AAAA,MACFA,EAAE,MAAM,GAAGoS,CAAC;AAAA,MACZpS,EAAE,MAAMoS,IAAI,CAAC;AAAA,IACnB;AAAA,EACG;AACD,WAASzX,EAAEqF,GAAG;AACZ,QAAI,OAAOA,KAAK,YAAYA,EAAE,SAAS,eAAe,GAAG;AACvD,UAAIoS,IAAIpS;AACR,aAAO,CAAC,EAAE,cAAc,IAAI,EAAC,MAAOoS,EAAE,QAAQ,iBAAiB,CAAC;AAAA,IACjE;AACD,WAAOpS;AAAA,EACR;AACD,WAASsR,EAAEtR,GAAG;AACZ,eAAWE,EAAE,WAAWF,EAAE,MAAM,GAAG,EAAE,CAAC;AAAA,EACvC;AACD,WAASuR,EAAEvR,GAAGoS,IAAI,CAAE,GAAE,EAAE,gBAAgB,IAAI,GAAI,IAAG,IAAI;AACrD,QAAIO;AACJ,UAAMA,IAAIP,EAAE,YAAY,QAAQO,MAAM,SAAS,SAASA,EAAE3S,CAAC,OAAO,QAAQ;AACxE,UAAIC;AACJ,aAAOtF,GAAGsF,IAAImS,EAAE,YAAY,QAAQnS,MAAM,SAAS,SAASA,EAAED,CAAC,CAAC;AAAA,IACjE;AACD,QAAI,CAAChH,GAAGmI,CAAC,IAAI8O,EAAEjQ,CAAC;AAChB,QAAImB,MAAM,QAAQ;AAChB,UAAIyR,GAAGH,GAAG3S,GAAG4S;AACb,UAAIG,KAAKH,KAAKE,IAAIR,EAAE,YAAY,QAAQQ,MAAM,SAAS,SAASA,EAAE5Z,CAAC,OAAO,QAAQ0Z,MAAM,SAASA,IAAI1C,EAAEhX,CAAC,IAAIA,EAAE,MAAM,GAAG,EAAE,IAAI;AAC7H,aAAO6Z,MAAM,SAAS,UAAUA,IAAIlY,EAAEkY,CAAC,GAAG7C,EAAE7O,CAAC,QAAQ,EAAE,gBAAgB0R,GAAGvB,EAAEnQ,CAAC,CAAC,MAAMsR,IAAI,EAAE,WAAW,QAAQA,MAAM,WAAW3S,IAAI2S,EAAE,aAAa,QAAQ3S,MAAM,SAAS,SAASA,EAAEqB,CAAC,OAAO,SAAS,aAAa,EAAE,gBAAgB0R,GAAG,EAAE,MAAM,QAAQ1R,CAAC,CAAC;AAAA,IACzP;AACD,WAAO2O,EAAE9P,GAAGoS,GAAG;AAAA,MACb,UAAUlS,EAAE;AAAA,IAClB,CAAK;AAAA,EACF;AACD,WAASsR,EAAExR,GAAGoS,IAAI,IAAI;AACpB,QAAI;AACJ,YAAQ,IAAIA,EAAE,YAAY,QAAQ,MAAM,SAAS,SAAS,EAAEpS,CAAC;AAAA,EAC9D;AACD,WAASyR,EAAEzR,GAAG;AACZ,WAAO,CAACoS,GAAG,MAAMtC,EAAEsC,GAAG,GAAG;AAAA,MACvB,UAAUpS;AAAA,IAChB,CAAK;AAAA,EACF;AACD,MAAI0R,IAAI;AAAA,IACN,KAAK5B;AAAA,IACL,OAAOyB;AAAA,IACP,KAAKE,EAAEvR,EAAE,GAAG;AAAA,IACZ,OAAOuR,EAAEvR,EAAE,KAAK;AAAA,IAChB,QAAQuR,EAAEvR,EAAE,MAAM;AAAA,IAClB,YAAYuR,EAAEvR,EAAE,UAAU;AAAA,IAC1B,UAAUuR,EAAEvR,EAAE,QAAQ;AAAA,IACtB,QAAQsR;AAAA,IACR,gBAAgBC,EAAEvR,EAAE,WAAW;AAAA,IAC/B,eAAeuR,EAAEvR,EAAE,UAAU;AAAA,IAC7B,QAAQuR,EAAEvR,EAAE,MAAM;AAAA,IAClB,cAAcuR,EAAEvR,EAAE,SAAS;AAAA,IAC3B,iBAAiBuR,EAAEvR,EAAE,YAAY;AAAA,IACjC,iBAAiBuR,EAAEvR,EAAE,YAAY;AAAA,IACjC,QAAQuR,EAAEvR,EAAE,MAAM;AAAA,IAClB,MAAMuR,EAAE,EAAE,cAAc;AAAA,EACzB,GAAEY,IAAI,OAAO,KAAKX,CAAC;AACpB,WAAS,EAAE1R,GAAGoS,GAAG;AACf,QAAI,IAAIpS,EAAE,QAAQoS,CAAC;AACnB,WAAO,MAAM,KAAK;AAAA,MAChB;AAAA,MACApS;AAAA,IACN,IAAQ;AAAA,MACFA,EAAE,MAAM,GAAG,CAAC;AAAA,MACZA,EAAE,MAAM,IAAI,CAAC;AAAA,IACnB;AAAA,EACG;AACD,WAASkS,EAAElS,GAAGoS,GAAG,GAAGO,GAAG;AACrB,QAAI,EAAE,UAAUP,KAAK,EAAE;AACrB,eAAS,EAAE,MAAMpZ,EAAC,KAAMgH,KAAK,OAAOA,IAAI,IAAI;AAC1C,YAAImB,IAAIuQ,EAAE1Y,CAAC,EAAEoZ,GAAG,GAAG;AAAA,UACjB,gBAAgBO;AAAA,QAC1B,CAAS;AACD,YAAIxR,MAAM;AACR,iBAAO;AAAA,YACLA;AAAA,YACAnI;AAAA,YACA;AAAA,UACZ;AAAA,MACO;AACH,QAAIgX,EAAEoC,CAAC,GAAG;AACR,UAAIpZ,IAAIoZ,EAAE,MAAM,GAAG,EAAE,GAAG,CAACjR,GAAGyR,CAAC,IAAI,EAAE5Z,GAAG,GAAG;AACzC,UAAI,CAAC,aAAa,KAAKmI,CAAC;AACtB,QAAAyR,IAAI5Z;AAAA,eACGmI,MAAM,UAAU,CAACkR,EAAE,SAASlR,CAAC;AACpC,eAAO;AACT,UAAIyR,EAAE,SAAS,KAAKP,EAAE,SAASlR,CAAC;AAC9B,eAAO;AAAA,UACL2O,EAAE,IAAI8C,CAAC,KAAK,CAAC;AAAA,UACbzR;AAAA,UACA;AAAA,QACV;AAAA,IACK;AACD,QAAIlB,IAAIkS,EAAEnS,GAAGoS,GAAG,GAAGO,CAAC;AACpB,aAAS3Z,KAAKiH;AACZ,aAAOjH;AACT,WAAO;EACR;AACD,YAAUmZ,EAAEnS,GAAGoS,GAAG,GAAGO,GAAG;AACtB,QAAI1S,QAAQ,EAAE,aAAa0S,GAAG,sBAAsB,GAAG,CAAC3Z,GAAGmI,CAAC,IAAI8O,EAAEmC,CAAC;AACnE,QAAInS,KAAK,EAAE,aAAa,SAAS,EAAE,cAAc,SAAS,OAAO,EAAE,aAAa,aAAakB,KAAK6O,EAAE7O,CAAC,KAAKA,KAAK,EAAE,gBAAgBnI,IAAIoZ,GAAGjR,IAAI,SAASA,MAAM,UAAUnI,MAAM,OAAOA,IAAI,YAAYmI,MAAM,UAAU,OAAO,EAAE,aAAa,UAAU;AAChP,UAAIsR,GAAG3S;AACP,UAAI4S,KAAK5S,KAAK2S,IAAI,EAAE,eAAe,QAAQA,MAAM,SAAS,SAASA,EAAEtR,CAAC,OAAO,QAAQrB,MAAM,SAASA,IAAI;AACxG,MAAA4S,MAAM,OAAOvR,IAAIuR,IAAI1C,EAAE7O,CAAC,MAAMA,IAAImQ,EAAEnQ,CAAC;AAAA,IACtC;AACD,aAAS,EAAE,MAAMuR,EAAC,KAAM1S,KAAK,OAAOA,IAAI,IAAI;AAC1C,UAAI6S,IAAInB,EAAEgB,CAAC,EAAE1Z,GAAG,GAAG;AAAA,QACjB,gBAAgB2Z;AAAA,MACxB,CAAO;AACD,MAAAE,MAAM,WAAW,MAAM;AAAA,QACrBA;AAAA,QACAH;AAAA,QACAvR,KAAK,OAAOA,IAAI;AAAA,MACxB;AAAA,IACK;AAAA,EACF;AACH,GAAG0Q,EAAE;AACL,IAAIqB,KAAK,CAAA;AAAA,CACR,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACR,CAAA,GAAG,OAAO,eAAe,GAAG,WAAW;AAAA,IACtC,YAAY;AAAA,IACZ,KAAK,WAAW;AACd,aAAO;AAAA,IACR;AAAA,EACL,CAAG;AACD,WAAS,EAAE,GAAG;AACZ,WAAO,OAAO,KAAK,aAAa,EAAE,CAAE,CAAA,IAAI;AAAA,EACzC;AACH,GAAGA,EAAE;AAAA,CACJ,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACR,CAAA,GAAG,OAAO,eAAe,GAAG,WAAW;AAAA,IACtC,YAAY;AAAA,IACZ,KAAK,WAAW;AACd,aAAO;AAAA,IACR;AAAA,EACL,CAAG;AACD,QAAM,IAAoB,gBAAAlD,EAAES,EAAE,GAAG,IAAoB,gBAAAT,EAAEU,EAAE,GAAG,IAAoB,gBAAAV,EAAEW,EAAE,GAAGzQ,IAAoB,gBAAA8P,EAAEY,EAAE,GAAGhB,IAAIsB,IAAI,IAAIC,IAAI,IAAIC,IAAIvB,IAAoB,gBAAAG,EAAE2B,EAAE,GAAG3V,IAAI4V,IAAI7B,IAAI8B,IAAIjT,IAAImT,IAAIjC,IAAoB,gBAAAE,EAAEkD,EAAE;AACrN,WAASlD,EAAE2C,GAAG;AACZ,WAAOA,KAAKA,EAAE,aAAaA,IAAI;AAAA,MAC7B,SAASA;AAAA,IACf;AAAA,EACG;AACD,WAAS1C,EAAE0C,GAAG;AACZ,WAAO,OAAOA,KAAK;AAAA,EACpB;AACD,WAAShY,EAAEgY,MAAM1S,GAAG;AAClB,QAAIjH,IAAIiH,EAAE;AACV,aAASkB,KAAKlB;AACZ,eAAS2S,KAAKzR,GAAG;AACf,YAAIsR,IAAIzZ,EAAE2Z,EAAEC,CAAC,GAAGzR,EAAEyR,CAAC,CAAC;AACpB,QAAAH,MAAM,aAAa5C,EAAE,SAAS8C,EAAEC,CAAC,CAAC,SAAS/C,EAAE,SAAS1O,EAAEyR,CAAC,CAAC,IAAID,EAAEC,CAAC,IAAIjY,EAAE,CAAE,GAAEgY,EAAEC,CAAC,GAAGzR,EAAEyR,CAAC,GAAG5Z,CAAC,IAAI2Z,EAAEC,CAAC,IAAIzR,EAAEyR,CAAC,IAAID,EAAEC,CAAC,IAAIH;AAAA,MAClH;AACH,WAAOE;AAAA,EACR;AACD,QAAMrB,IAAI;AAAA,IACR,QAAQpR,EAAE;AAAA,IACV,SAASyS,GAAG;AACV,aAAO,OAAO,KAAKA,CAAC,EAAE,OAAO,CAAC1S,MAAM0S,EAAE1S,CAAC,MAAM,GAAG,EAAE,OAAO,CAACA,GAAGjH,MAAM;AACjE,YAAImI,QAAQ,EAAE,SAASwR,EAAE3Z,CAAC,CAAC;AAC3B,eAAOmI,MAAM,WAAWlB,EAAE,IAAIjH,CAAC,EAAE,IAAImI,IAAIlB;AAAA,MAC1C,GAAE,CAAE,CAAA;AAAA,IACN;AAAA,IACD,YAAY0S,GAAG;AACb,aAAO,OAAO,KAAKA,CAAC,EAAE,OAAO,CAAC1S,MAAM,OAAO0S,EAAE1S,CAAC,KAAK,QAAQ,EAAE,OAAO,CAACA,GAAGjH,OAAO;AAAA,QAC7E,GAAGiH;AAAA,QACH,CAAC,UAAUjH,CAAC,EAAE,GAAG2Z,EAAE3Z,CAAC;AAAA,MAC5B,IAAU,CAAE,CAAA;AAAA,IACP;AAAA,EACL;AACE,WAASuY,EAAEoB,MAAM1S,GAAG;AAClB,WAAOgQ,EAAE0C,CAAC,IAAIA,EAAE,GAAG1S,CAAC,IAAI0S;AAAA,EACzB;AACD,WAASnB,EAAEmB,GAAG;AACZ,WAAOA,EAAE,OAAO,CAAC1S,GAAG,EAAE,QAAQjH,EAAG,MAAK2B,EAAEsF,GAAGjH,GAAG,CAACmI,GAAGyR,MAAMzR,MAAM,SAAS;AAAA,MACrEyR;AAAA,IACN,IAAQ,MAAM,QAAQzR,CAAC,IAAI;AAAA,MACrByR;AAAA,MACA,GAAGzR;AAAA,IACT,IAAQ;AAAA,MACFyR;AAAA,MACAzR;AAAA,IACN,CAAK,GAAG,CAAE,CAAA;AAAA,EACP;AACD,WAASsQ,EAAEkB,GAAG;AACZ,WAAO;AAAA,MACL,GAAGA,EAAE,OAAO,CAAC1S,GAAGjH,UAAU4W,EAAE,UAAU3P,GAAGjH,CAAC,GAAG,CAAA,CAAE;AAAA;AAAA;AAAA,MAG/C,QAAQwY,EAAEmB,CAAC;AAAA,IACjB;AAAA,EACG;AACD,WAASjB,EAAEiB,GAAG1S,GAAG;AACf,QAAI,MAAM,QAAQ0S,CAAC,SAAS9C,EAAE,SAAS8C,EAAE,CAAC,CAAC;AACzC,aAAOA,EAAE,OAAO1S,CAAC;AACnB,QAAI,MAAM,QAAQA,CAAC,SAAS4P,EAAE,SAAS5P,EAAE,CAAC,CAAC,SAAS4P,EAAE,SAAS8C,CAAC;AAC9D,aAAO;AAAA,QACLA;AAAA,QACA,GAAG1S;AAAA,MACX;AACI,QAAI,MAAM,QAAQA,CAAC;AACjB,aAAOA;AAAA,EACV;AACD,WAASoS,EAAE,EAAE,QAAQM,GAAG,GAAG1S,EAAC,GAAI;AAC9B,WAAOtF,EAAEsF,GAAG0S,GAAG,CAAC3Z,GAAGmI,MAAM,CAAC8O,EAAEjX,CAAC,KAAK,CAACmI,EAAE,KAAK8O,CAAC,IAAItV,EAAE,CAAA,GAAI3B,GAAG,GAAGmI,GAAGuQ,CAAC,IAAI,CAACkB,GAAGH,MAAM9X,EAAE,CAAE,GAAE,GAAG;AAAA,MACpF3B;AAAA,MACA,GAAGmI;AAAA,IACT,EAAM,IAAI,CAACrB,MAAMyR,EAAEzR,GAAG8S,GAAGH,CAAC,CAAC,GAAGf,CAAC,CAAC;AAAA,EAC7B;AACD,YAAU,EAAEiB,GAAG;AACb,QAAI1S,QAAQ,EAAE,QAAQ0S,CAAC;AACvB,QAAI1S,EAAE,WAAW,MAAM,MAAMA,GAAG,MAAM,QAAQ0S,CAAC;AAC7C;AACF,QAAI3Z,IAAI,0BAA0BmI,IAAIwR,EAAE,MAAM3Z,CAAC;AAC/C,QAAImI,MAAM,MAAM;AACd,UAAI,CAAG,EAAAyR,GAAGH,CAAC,IAAItR,GAAGrB,QAAQ,EAAE,QAAQ8S,CAAC;AACrC,MAAA9S,EAAE,QAAQ2S,GAAG,MAAM3S;AAAA,IACpB;AAAA,EACF;AACD,WAASoS,EAAES,GAAG;AACZ,UAAM1S,IAAI,CAACjH,GAAGmI,MAAM;AAClB,iBAAWyR,KAAK,EAAE5Z,CAAC,GAAG;AACpB,YAAIyZ,IAAI,GAAG3S,IAAI6S;AACf,eAAO7S,KAAK,QAAQ2S,IAAIG,EAAE;AACxB,UAAA9S,IAAIA,EAAE8S,EAAEH,GAAG,CAAC,GAAG3S,IAAImQ,EAAEnQ,CAAC,MAAM8S,EAAE,UAAU,UAAUH,KAAKG,EAAE,SAAS,KAAK9S,EAAEG,GAAGqR,CAAC,IAAIxR;AACnF,YAAIA,MAAM,QAAQ;AAChB,cAAI8S,EAAE,UAAU,QAAQ;AACtB,gBAAIF,QAAQ3C,EAAE,kBAAkBjQ,CAAC;AACjC,uBAAWlB,EAAE,gBAAgB8T,GAAGE,EAAE,WAAW9C,EAAE,SAAS4C,CAAC,CAAC;AAAA,UAC3D;AACD,qBAAW7C,EAAE,SAAS/P,CAAC,QAAQ9D,EAAE,WAAW8D,CAAC,IAAIA;AAAA,QAClD;AAAA,MACF;AACD,aAAOqB;AAAA,IACb;AACI,WAAO,OAAO,OAAOlB,GAAG;AAAA,MACtB,OAAOA;AAAA,MACP,GAAGqR;AAAA,IACJ,CAAA,GAAG,OAAO,KAAKqB,CAAC,EAAE,OAAO,CAAC3Z,GAAGmI,OAAOnI,EAAEmI,CAAC,IAAI8O,EAAE0C,EAAExR,CAAC,CAAC,IAAIwR,EAAExR,CAAC,EAAElB,GAAGqR,CAAC,IAAIqB,EAAExR,CAAC,GAAGnI,IAAI,CAAE,CAAA;AAAA,EAChF;AACD,WAASmZ,EAAEQ,GAAG;AACZ,QAAI1S,IAAI,CAAA;AACR,WAAO0S,EAAE,QAAQ,CAAC3Z,MAAM;AACtB,MAAAiH,IAAI;AAAA,QACF,GAAGA;AAAA,QACHjH;AAAA,MACR;AACM,UAAImI;AACJ,YAAMyR,KAAKzR,IAAInI,KAAK,OAAO,SAASA,EAAE,aAAa,QAAQmI,MAAM,SAASA,IAAI,CAAA;AAC9E,MAAAyR,EAAE,WAAW,KAAKA,EAAE,QAAQ,CAACH,MAAM;AACjC,QAAAA,EAAE,wBAAwBA,IAAIA,EAAG;AACjC,YAAI3S;AACJ,QAAAG,IAAI;AAAA,UACF,GAAGA;AAAA,UACH,GAAGkS,EAAE;AAAA,aACFrS,IAAI2S,KAAK,OAAO,SAASA,EAAE,YAAY,QAAQ3S,MAAM,SAASA,IAAI,CAAE;AAAA,UACjF,CAAW;AAAA,QACX;AAAA,MACA,CAAO;AAAA,IACF,CAAA,GAAGG;AAAA,EACL;AACD,WAASD,EAAE2S,GAAG;AACZ,WAAO;AAAA,MACL,GAAGA;AAAA,IACT,EAAM,YAAY,CAAC3Z,GAAGmI,MAAM8O,EAAE9O,CAAC,IAAIA,EAAE;AAAA,MAC/B,aAAanI;AAAA,IACnB,CAAK,QAAQ,EAAE,SAASmI,GAAGnI,CAAC,GAAG,EAAE,OAAO;AAAA,EACrC;AACD,WAASoZ,EAAEO,GAAG;AACZ,WAAO;AAAA,MACL,GAAGA;AAAA,IACT,EAAM,YAAY,CAAC3Z,GAAGmI,MAAM;AAAA,MACtB,GAAGnI;AAAA,MACH,GAAGmI;AAAA,IACJ,GAAE,CAAE,CAAA;AAAA,EACN;AACD,WAAS,EAAEwR,GAAG;AACZ,QAAI1S,IAAI;AAAA,MACN,GAAGkS,EAAEQ,CAAC;AAAA,MACN;AAAA,QACE,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,WAAW;AAAA,MACZ;AAAA,IACP;AACI,QAAI3Z,GAAGmI;AACP,eAAW,EAAE,qBAAqByO,EAAE,UAAU;AAAA,MAC5C,OAAOsC,EAAEG,EAAEZ,EAAExR,EAAE,IAAI,CAAC2S,OAAO5Z,IAAI4Z,KAAK,OAAO,SAASA,EAAE,WAAW,QAAQ5Z,MAAM,SAASA,IAAI,EAAE,CAAC,CAAC,CAAC;AAAA,MACjG,aAAagH,EAAEC,EAAE,IAAI,CAAC2S,MAAMA,EAAE,WAAW,CAAC;AAAA,MAC1C,SAASR,EAAEO,EAAE,IAAI,CAACC,OAAOzR,IAAIyR,KAAK,OAAO,SAASA,EAAE,aAAa,QAAQzR,MAAM,SAASA,IAAI,CAAA,CAAE,CAAC;AAAA,IACrG,GAAO,GAAGlB,CAAC,CAAC;AAAA,EACT;AACH,GAAGuQ,EAAE;AACL,IAAI2C,KAAK,CAAE,GAAEC,KAAK;AAAA,EAChB,SAAS,CAAE;AAAA,EACX,SAAS,CAAE;AAAA,EACX,UAAU;AAAA;AAAA,EAEV,OAAO;AAAA,IACL,aAAa,CAAC,EAAE,OAAO,SAAS;AAAA,MAC9B,GAAG,EAAE,QAAQ;AAAA,MACb,MAAM;AAAA,IACZ;AAAA,IACI,WAAW;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,IACT;AAAA,IACD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,MACT,UAAU;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,IACX;AAAA,IACD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA,IACD,cAAc,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,MAAM;AAAA,IACxC,oBAAoB,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,YAAY;AAAA,IACpD,kBAAkB,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,UAAU;AAAA,IAChD,mBAAmB,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,WAAW;AAAA,IAClD,mBAAmB,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,WAAW;AAAA,IAClD,gBAAgB,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,QAAQ;AAAA,IAC5C,iBAAiB,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,SAAS;AAAA,IAC9C,kBAAkB,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,UAAU;AAAA,IAChD,eAAe,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,OAAO;AAAA,IAC1C,iBAAiB,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,QAAQ;AAAA,IAC7C,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,kBAAkB;AAAA,IACnB;AAAA,IACD,mBAAmB,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,SAAS;AAAA,IAChD,oBAAoB;AAAA,MAClB,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,KAAK;AAAA,IACN;AAAA,IACD,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,IACV;AAAA,IACD,MAAM;AAAA,MACJ,GAAG;AAAA,MACH,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,IACR;AAAA,IACD,aAAa,CAAC,EAAE,OAAO,SAAS;AAAA,MAC9B,GAAG,EAAE,QAAQ;AAAA,MACb,SAAS,EAAE,mBAAmB,cAAc;AAAA,IAClD;AAAA,IACI,eAAe,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,SAAS;AAAA,IAC5C,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,IACP;AAAA,IACD,eAAe,CAAC,EAAE,OAAO,SAAS;AAAA,MAChC,GAAG,EAAE,SAAS;AAAA,IACpB;AAAA,IACI,aAAa;AAAA,MACX,SAAS;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,IACD,WAAW;AAAA,MACT,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,IACP;AAAA,IACD,gBAAgB,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,QAAQ;AAAA,IAC5C,YAAY;AAAA,MACV,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,YAAY,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,QAAQ;AAAA,IACxC,QAAQ,CAAC,EAAE,QAAQ,SAAS;AAAA,MAC1B,SAAS,EAAE;AAAA,MACX,SAAS,EAAE;AAAA,MACX,aAAa,EAAE;AAAA,MACf,OAAO,EAAE;AAAA,MACT,OAAO,EAAE;AAAA,MACT,OAAO,EAAE;AAAA,MACT,MAAM,EAAE;AAAA,MACR,MAAM,EAAE;AAAA,MACR,SAAS,EAAE;AAAA,MACX,OAAO,EAAE;AAAA,MACT,KAAK,EAAE;AAAA,MACP,QAAQ,EAAE;AAAA,MACV,OAAO,EAAE;AAAA,MACT,QAAQ,EAAE;AAAA,MACV,MAAM,EAAE;AAAA,MACR,OAAO,EAAE;AAAA,MACT,SAAS,EAAE;AAAA,MACX,MAAM,EAAE;AAAA,MACR,MAAM,EAAE;AAAA,MACR,KAAK,EAAE;AAAA,MACP,MAAM,EAAE;AAAA,MACR,QAAQ,EAAE;AAAA,MACV,QAAQ,EAAE;AAAA,MACV,QAAQ,EAAE;AAAA,MACV,SAAS,EAAE;AAAA,MACX,MAAM,EAAE;AAAA,MACR,MAAM,EAAE;AAAA,IACd;AAAA,IACI,SAAS;AAAA,MACP,MAAM;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,IACR;AAAA,IACD,WAAW,CAAE;AAAA,IACb,SAAS;AAAA,MACP,MAAM;AAAA,IACP;AAAA,IACD,UAAU;AAAA,MACR,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,eAAe;AAAA,MACf,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,UAAU;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,MACX,iBAAiB;AAAA,MACjB,OAAO;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,MACN,UAAU;AAAA,MACV,cAAc;AAAA,MACd,cAAc;AAAA,MACd,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,aAAa;AAAA,MACb,aAAa;AAAA,MACb,aAAa;AAAA,MACb,aAAa;AAAA,MACb,aAAa;AAAA,MACb,eAAe;AAAA,MACf,eAAe;AAAA,MACf,WAAW;AAAA,MACX,YAAY;AAAA,IACb;AAAA,IACD,aAAa,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,aAAa;AAAA,IAC9C,eAAe,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,eAAe;AAAA,IAClD,aAAa,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,aAAa;AAAA,IAC9C,YAAY;AAAA,MACV,IAAI;AAAA,MACJ,SAAS,CAAC,8BAA8B,6BAA6B;AAAA,MACrE,IAAI,CAAC,+BAA+B,6BAA6B;AAAA,MACjE,IAAI,CAAC,gCAAgC,4BAA4B;AAAA,MACjE,IAAI,CAAC,iCAAiC,6BAA6B;AAAA,MACnE,OAAO;AAAA,MACP,MAAM;AAAA,IACP;AAAA,IACD,MAAM,CAAC,EAAE,OAAO,SAAS;AAAA,MACvB,MAAM;AAAA,MACN,GAAG,EAAE,QAAQ;AAAA,IACnB;AAAA,IACI,MAAM;AAAA,MACJ,GAAG;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM;AAAA,IACP;AAAA,IACD,WAAW,CAAC,EAAE,OAAO,SAAS;AAAA,MAC5B,MAAM;AAAA,MACN,GAAG,EAAE,SAAS;AAAA,MACd,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,IACZ;AAAA,IACI,UAAU;AAAA,MACR,GAAG;AAAA,MACH,SAAS;AAAA,IACV;AAAA,IACD,YAAY;AAAA,MACV,GAAG;AAAA,MACH,SAAS;AAAA,IACV;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,MACD,OAAO,CAAC,YAAY,WAAW,WAAW,qBAAqB,SAAS,OAAO;AAAA,MAC/E,MAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACF;AAAA,IACD,UAAU;AAAA,MACR,IAAI,CAAC,WAAW,EAAE,YAAY,OAAM,CAAE;AAAA,MACtC,IAAI,CAAC,YAAY,EAAE,YAAY,UAAS,CAAE;AAAA,MAC1C,MAAM,CAAC,QAAQ,EAAE,YAAY,SAAQ,CAAE;AAAA,MACvC,IAAI,CAAC,YAAY,EAAE,YAAY,UAAS,CAAE;AAAA,MAC1C,IAAI,CAAC,WAAW,EAAE,YAAY,UAAS,CAAE;AAAA,MACzC,OAAO,CAAC,UAAU,EAAE,YAAY,OAAM,CAAE;AAAA,MACxC,OAAO,CAAC,YAAY,EAAE,YAAY,UAAS,CAAE;AAAA,MAC7C,OAAO,CAAC,WAAW,EAAE,YAAY,SAAQ,CAAE;AAAA,MAC3C,OAAO,CAAC,QAAQ,EAAE,YAAY,IAAG,CAAE;AAAA,MACnC,OAAO,CAAC,WAAW,EAAE,YAAY,IAAG,CAAE;AAAA,MACtC,OAAO,CAAC,UAAU,EAAE,YAAY,IAAG,CAAE;AAAA,MACrC,OAAO,CAAC,QAAQ,EAAE,YAAY,IAAG,CAAE;AAAA,MACnC,OAAO,CAAC,QAAQ,EAAE,YAAY,IAAG,CAAE;AAAA,IACpC;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,MACX,OAAO;AAAA,IACR;AAAA,IACD,KAAK,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,SAAS;AAAA,IAClC,oBAAoB,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,QAAQ;AAAA,IAChD,4BAA4B;AAAA,MAC1B,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,IACT;AAAA,IACD,WAAW;AAAA,MACT,GAAG;AAAA,MACH,SAAS;AAAA,IACV;AAAA,IACD,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,KAAK;AAAA,MACL,KAAK;AAAA,MACL,IAAI;AAAA,IACL;AAAA,IACD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,KAAK;AAAA,MACL,KAAK;AAAA,MACL,IAAI;AAAA,IACL;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,aAAa;AAAA,IACd;AAAA,IACD,eAAe;AAAA,MACb,MAAM;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACL;AAAA,IACD,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACL;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,aAAa;AAAA,IACd;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,IACD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,IACD,qBAAqB;AAAA,MACnB,MAAM;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACL;AAAA,IACD,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,IACD,QAAQ,CAAC,EAAE,OAAO,SAAS;AAAA,MACzB,MAAM;AAAA,MACN,GAAG,EAAE,SAAS;AAAA,MACd,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACX;AAAA,IACI,WAAW;AAAA,MACT,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,IACN;AAAA,IACD,OAAO,CAAC,EAAE,OAAO,SAAS;AAAA,MACxB,MAAM;AAAA,MACN,GAAG,EAAE,SAAS;AAAA,MACd,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,IACZ;AAAA,IACI,QAAQ;AAAA,MACN,GAAG;AAAA,MACH,SAAS;AAAA,IACV;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,QACJ,IAAI;AAAA,UACF,WAAW;AAAA,QACZ;AAAA,MACF;AAAA,MACD,MAAM;AAAA,QACJ,aAAa;AAAA,UACX,WAAW;AAAA,UACX,SAAS;AAAA,QACV;AAAA,MACF;AAAA,MACD,OAAO;AAAA,QACL,OAAO;AAAA,UACL,SAAS;AAAA,QACV;AAAA,MACF;AAAA,MACD,QAAQ;AAAA,QACN,YAAY;AAAA,UACV,WAAW;AAAA,UACX,yBAAyB;AAAA,QAC1B;AAAA,QACD,OAAO;AAAA,UACL,WAAW;AAAA,UACX,yBAAyB;AAAA,QAC1B;AAAA,MACF;AAAA,IACF;AAAA,IACD,eAAe;AAAA,MACb,SAAS;AAAA,MACT,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,IACT;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,OAAO;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACL;AAAA,IACD,eAAe;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,gBAAgB;AAAA,MACd,MAAM;AAAA,IACP;AAAA,IACD,QAAQ,CAAC,EAAE,OAAO,SAAS;AAAA,MACzB,MAAM;AAAA,MACN,GAAG,EAAE,SAAS;AAAA,IACpB;AAAA,IACI,WAAW;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,IACD,WAAW,CAAC,EAAE,OAAO,SAAS;AAAA,MAC5B,GAAG,EAAE,SAAS;AAAA,MACd,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACX;AAAA,IACI,UAAU,CAAC,EAAE,OAAO,GAAG,aAAa,EAAC,OAAQ;AAAA,MAC3C,MAAM;AAAA,MACN,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,OAAO;AAAA,MACP,GAAG,EAAE,EAAE,SAAS,CAAC;AAAA,IACvB;AAAA,IACI,WAAW;AAAA,MACT,GAAG;AAAA,MACH,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,UAAU;AAAA,MACR,GAAG;AAAA,MACH,MAAM;AAAA,MACN,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,gBAAgB;AAAA,MACd,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,gBAAgB;AAAA,MAChB,aAAa;AAAA,MACb,KAAK;AAAA,IACN;AAAA,IACD,SAAS;AAAA,MACP,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,IACN;AAAA,IACD,OAAO;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACL;AAAA,IACD,cAAc,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,QAAQ;AAAA,IAC1C,eAAe;AAAA,MACb,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,IACD,cAAc;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,IACD,SAAS,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,SAAS;AAAA,IACtC,kBAAkB,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,QAAQ;AAAA,IAC9C,oBAAoB,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,SAAS;AAAA,IACjD,WAAW,CAAC,EAAE,OAAO,SAAS;AAAA,MAC5B,SAAS,EAAE,mBAAmB,SAAS;AAAA,MACvC,GAAG,EAAE,QAAQ;AAAA,IACnB;AAAA,IACI,iBAAiB,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,QAAQ;AAAA,IAC7C,iBAAiB;AAAA,MACf,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,IACD,aAAa,CAAC,EAAE,OAAO,SAAS;AAAA,MAC9B,SAAS;AAAA,MACT,GAAG,EAAE,SAAS;AAAA,IACpB;AAAA,IACI,WAAW;AAAA,MACT,SAAS;AAAA,MACT,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,IACD,QAAQ;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,IACN;AAAA,IACD,UAAU;AAAA,MACR,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,OAAO;AAAA,MACL,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,SAAS;AAAA,MACP,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,IACR;AAAA,IACD,cAAc,CAAC,EAAE,OAAO,SAAS;AAAA,MAC/B,GAAG,EAAE,SAAS;AAAA,IACpB;AAAA,IACI,eAAe,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,SAAS;AAAA,IAC5C,OAAO;AAAA,MACL,GAAG;AAAA,MACH,SAAS;AAAA,IACV;AAAA,IACD,MAAM;AAAA,MACJ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,IACL;AAAA,IACD,OAAO,CAAC,EAAE,OAAO,SAAS;AAAA,MACxB,GAAG,EAAE,SAAS;AAAA,IACpB;AAAA,IACI,SAAS;AAAA,MACP,IAAI;AAAA,MACJ,GAAG;AAAA,MACH,KAAK;AAAA,MACL,GAAG;AAAA,MACH,KAAK;AAAA,MACL,GAAG;AAAA,MACH,KAAK;AAAA,MACL,GAAG;AAAA,MACH,KAAK;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACL;AAAA,IACD,QAAQ,CAAC,EAAE,OAAO,SAAS;AAAA,MACzB,MAAM;AAAA,MACN,GAAG,EAAE,QAAQ;AAAA,IACnB;AAAA,IACI,aAAa;AAAA,MACX,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,IACD,UAAU,CAAE;AAAA,IACZ,MAAM,CAAE;AAAA,IACR,WAAW,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,QAAQ;AAAA,IACvC,qBAAqB,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,QAAQ;AAAA,IACjD,yBAAyB;AAAA,MACvB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,IACD,YAAY,CAAC,EAAE,OAAO,SAAS;AAAA,MAC7B,GAAG,EAAE,SAAS;AAAA,IACpB;AAAA,IACI,aAAa,CAAC,EAAE,OAAO,EAAC,MAAO,EAAE,SAAS;AAAA,IAC1C,qBAAqB;AAAA,MACnB,MAAM;AAAA,MACN,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAAA,IACD,iBAAiB;AAAA,MACf,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,aAAa;AAAA,MACb,OAAO;AAAA,MACP,gBAAgB;AAAA,MAChB,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,MAAM;AAAA,MACN,YAAY;AAAA,IACb;AAAA,IACD,iBAAiB;AAAA,MACf,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,oBAAoB;AAAA,MAClB,SAAS;AAAA,MACT,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACN;AAAA,IACD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,KAAK;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,IACZ;AAAA,IACD,0BAA0B;AAAA,MACxB,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,UAAU;AAAA,IACX;AAAA,IACD,WAAW,CAAC,EAAE,OAAO,SAAS;AAAA,MAC5B,GAAG,EAAE,SAAS;AAAA,MACd,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,IACZ;AAAA,IACI,OAAO,CAAC,EAAE,OAAO,SAAS;AAAA,MACxB,MAAM;AAAA,MACN,GAAG,EAAE,SAAS;AAAA,MACd,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,SAAS;AAAA,MACT,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACX;AAAA,IACI,YAAY;AAAA,MACV,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,IACZ;AAAA,IACD,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACL;AAAA,EACF;AAAA,EACD,SAAS,CAAE;AACb;AAAA,CACC,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACR,CAAA,GAAG,OAAO,eAAe,GAAG,WAAW;AAAA,IACtC,YAAY;AAAA,IACZ,KAAK,WAAW;AACd,aAAOlT;AAAA,IACR;AAAA,EACL,CAAG;AACD,QAAM,IAAoB,kBAAEkT,EAAE,GAAG,IAAI/B;AACrC,WAAS,EAAEzB,GAAG;AACZ,WAAOA,KAAKA,EAAE,aAAaA,IAAI;AAAA,MAC7B,SAASA;AAAA,IACf;AAAA,EACG;AACD,WAAS1P,EAAE0P,GAAG;AACZ,QAAI;AACJ,UAAM,MAAM,IAAIA,KAAK,OAAO,SAASA,EAAE,aAAa,QAAQ,MAAM,SAAS,IAAI;AAAA,MAC7E,EAAE;AAAA,IACH,GAAE,MAAK,EAAG,QAAS,EAAC,QAAQ,CAACG,MAAM7P,EAAE6P,aAAa,WAAWA,EAAC,IAAKA,CAAC,CAAC,GAAGF,IAAI;AAAA;AAAA,MAE3E,gCAAgC;AAAA,QAC9B,OAAO;AAAA,UACL,WAAW,CAAC,EAAE,OAAOE,SAAS;AAAA,YAC5B,SAAS;AAAA,YACT,GAAGA,EAAE,QAAQ;AAAA,UACzB;AAAA,QACS;AAAA,MACF;AAAA,MACD,uCAAuC;AAAA,QACrC,aAAa;AAAA,UACX,mBAAmB;AAAA,UACnB,eAAe;AAAA,UACf,eAAe;AAAA,UACf,oBAAoB;AAAA,UACpB,aAAa;AAAA,UACb,aAAa;AAAA,QACd;AAAA,MACF;AAAA,IACP,GAAO/T,IAAI,OAAO,KAAK6T,CAAC,EAAE,OAAO,CAACE,UAAU,EAAE,aAAaH,GAAGG,CAAC,CAAC,EAAE,IAAI,CAACA,MAAMF,EAAEE,CAAC,CAAC;AAC7E,WAAO;AAAA,MACLH;AAAA,MACA,GAAG5T;AAAA,MACH,GAAG;AAAA,IACT;AAAA,EACG;AACH,GAAGmX,EAAE;AAAA,CACJ,SAAS,GAAG;AACX,SAAO,eAAe,GAAG,cAAc;AAAA,IACrC,OAAO;AAAA,EACR,CAAA,GAAG,OAAO,eAAe,GAAG,WAAW;AAAA,IACtC,YAAY;AAAA,IACZ,KAAK,WAAW;AACd,aAAOjT;AAAA,IACR;AAAA,EACL,CAAG;AACD,QAAM,IAAoB,kBAAEsQ,EAAE,GAAG,IAAoB,kBAAE2C,EAAE;AACzD,WAAS,EAAEvD,GAAG;AACZ,WAAOA,KAAKA,EAAE,aAAaA,IAAI;AAAA,MAC7B,SAASA;AAAA,IACf;AAAA,EACG;AACD,WAAS1P,KAAK0P,GAAG;AACf,QAAI,CAAG,EAAA,GAAG,CAAC,QAAQ,EAAE,SAASA,EAAE,CAAC,CAAC;AAClC,eAAW,EAAE,SAAS;AAAA,MACpB,GAAGA;AAAA,MACH,GAAG;AAAA,IACT,CAAK;AAAA,EACF;AACH,GAAGW,EAAE;AACL,IAAI8C,KAAK9C;AACT,IAAI+C,MAAMD,GAAG,aAAaA,KAAK,EAAE,SAASA,GAAI,GAAE;AAChD,MAAME,KAAqB,gBAAAjD,GAAGgD,EAAE;AAChC,IAAIE,KAAK5C;AACT,IAAI6C,KAAKD,GAAG,aAAaA,KAAK,EAAE,SAASA,GAAI,GAAE;AAC1C,MAACE,KAAK;AAAA,EACT,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AACP,GAAGC,IAAI;AAAA,EACL,WAAWF,EAAE;AAAA,EACb,SAASA,EAAE;AAAA,EACX,OAAOA,EAAE;AAAA,EACT,MAAMA,EAAE;AAAA,EACR,SAASA,EAAE;AAAA,EACX,SAASA,EAAE;AAAA,EACX,OAAOC;AACT,GAAGE,KAAK;AAAA,EACN,GAAGD;AAAA;AAAA,EAEH,SAASA,EAAE,QAAQ,GAAG;AAAA,EACtB,kBAAkBA,EAAE,QAAQ,GAAG;AAAA,EAC/B,mBAAmBA,EAAE,QAAQ,GAAG;AAAA;AAAA,EAEhC,SAASA,EAAE,QAAQ,GAAG;AAAA,EACtB,kBAAkBA,EAAE,QAAQ,GAAG;AAAA,EAC/B,mBAAmBA,EAAE,QAAQ,GAAG;AAAA;AAAA,EAEhC,OAAOA,EAAE,MAAM,GAAG;AAAA,EAClB,gBAAgBA,EAAE,MAAM,GAAG;AAAA,EAC3B,iBAAiBA,EAAE,MAAM,GAAG;AAAA;AAAA,EAE5B,MAAMA,EAAE,KAAK,GAAG;AAAA,EAChB,eAAeA,EAAE,KAAK,GAAG;AAAA,EACzB,gBAAgBA,EAAE,KAAK,GAAG;AAAA;AAAA,EAE1B,SAASA,EAAE,QAAQ,GAAG;AAAA,EACtB,kBAAkBA,EAAE,QAAQ,GAAG;AAAA,EAC/B,mBAAmBA,EAAE,QAAQ,GAAG;AAAA;AAAA,EAEhC,WAAWF,EAAE,MAAM,GAAG;AAAA,EACtB,cAAcA,EAAE,MAAM,GAAG;AAAA,EACzB,SAASA,EAAE,MAAM,EAAE;AAAA,EACnB,YAAYA,EAAE;AAChB,GAAGI,KAAK;AAAA,EACN,QAAQ;AAAA,EACR,aAAa;AAAA,IACX,WAAW;AAAA,EACZ;AAAA,EACD,SAAS,CAAC,6BAA6B;AAAA,EACvC,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,QAAQD;AAAA,MACR,UAAU;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,MACV;AAAA,IACF;AAAA,IACD,UAAU;AAAA,MACR,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,MACP,OAAO;AAAA,IACR;AAAA,EACF;AAAA,EACD,SAAS,CAAE;AAAA,EACX,UAAU;AAAA,IACR;AAAA,MACE,SAAS;AAAA,MACT,UAAU,CAAC,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,IACxC;AAAA,IACD;AAAA,MACE,SAAS;AAAA,MACT,UAAU,CAAC,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,IACxC;AAAA,IACD;AAAA,MACE,SAAS;AAAA,MACT,UAAU,CAAC,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,IACxC;AAAA,IACD;AAAA,MACE,SAAS;AAAA,MACT,UAAU,CAAC,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,IACxC;AAAA,IACD;AAAA,MACE,SAAS;AAAA,MACT,UAAU,CAAC,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,IACxC;AAAA,IACD;AAAA,MACE,SAAS;AAAA,IACV;AAAA,IACD;AAAA,MACE,SAAS;AAAA,IACV;AAAA,IACD;AAAA,MACE,SAAS;AAAA,MACT,UAAU,CAAC,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,IACxC;AAAA,IACD;AAAA,MACE,SAAS;AAAA,IACV;AAAA,EACF;AACH,GAAGE,KAAKP,GAAGM,EAAE,GAAGE,KAAKD,GAAG,MAAM,UAAUE,KAAKF,GAAG,MAAM;AACpDxE,EAAE,KACFA,EAAE,IACFA,EAAE,IACFA,EAAE,IACFA,EAAE,IACFA,EAAE;AAEFA,EAAE,IACFA,EAAE,IACFA,EAAE,IACFA,EAAE,IACFA,EAAE,IACFA,EAAE,KAAK;AACN,MAAA2E,KAAK;AAAA,EACN3E,EAAE;AAAA,EACFA,EAAE;AAAA,EACFA,EAAE;AAAA,EACFA,EAAE;AAAA,EACFA,EAAE;AAAA,EACFA,EAAE;AAAA,EACFA,EAAE,KAAK;AAAA,EACPA,EAAE,KAAK;AAAA,EACPA,EAAE,KAAK;AAAA,EACPA,EAAE,KAAK;AAAA,EACPA,EAAE,KAAK;AAAA,EACPA,EAAE,KAAK;AAAA,EACPA,EAAE,KAAK;AAAA,EACPA,EAAE,KAAK;AACT;AACEC,EAAE,SACFA,EAAE,OACFA,EAAE,MACFA,EAAE,SACFA,EAAE,SACFA,EAAE;AAYIG,EAAE,OAAO;AAAA,EACf,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAASH,EAAE;AAAA,IACZ;AAAA,IACD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAASD,EAAE;AAAA,IACZ;AAAA,EACF;AAAA,EACD,UAAU;AAAA,IACR,QAAQ;AACN,aAAO2E,GAAG,OAAO,CAAC,GAAG,OAAO;AAAA,QAC1B,GAAG;AAAA,QACH,CAAC,CAAC,GAAG,UAAU,CAAC;AAAA,MACxB,IAAU,CAAE,CAAA;AAAA,IACP;AAAA,IACD,cAAc;AACZ,UAAI5E,GAAGnP;AACP,YAAMiL,IAAI,KAAK,MAAM,KAAK,IAAI,KAAK,KAAK,MAAMmE,EAAE,EAAE,GAAG1C,IAAI,KAAK1M,KAAKmP,IAAI,KAAK,SAAS,OAAO,SAASA,EAAE,MAAM,GAAG,MAAM,OAAO,SAASnP,EAAE,UAAU,IAAI,KAAK,OAAO,SAAS,KAAK,IAAI,EAAE;AACtL,aAAO;AAAA,QACL;AAAA,QACA,KAAK;AAAA,QACL0M;AAAA,QACAzB;AAAA,MACR;AAAA,IACK;AAAA,EACF;AACH,CAAC;AAcI,MAAkB+I,KAAKxE,EAAE,OAAO;AAAA,EACnC,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,mBAAmB;AAAA,MACjB,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACV;AAAA,IACD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAASJ,EAAE;AAAA,IACZ;AAAA,IACD,SAAS;AAAA,MACP,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,OAAOyE;AAAA,MACP,QAAQC;AAAA,IACd;AAAA,EACG;AAAA,EACD,UAAU;AAAA,IACR,eAAe;AACb,aAAO,KAAK,MAAM1E,EAAE,KAAK,IAAI,CAAC,KAAK,KAAK,QAAQ,KAAK,MAAMA,EAAE,IAAI;AAAA,IAClE;AAAA,IACD,OAAO;AACL,UAAI,IAAI;AAAA,QACN,SAAS,KAAK,OAAO,MAAM,GAAG;AAAA,QAC9B,WAAW,KAAK,OAAO,QAAQ,GAAG;AAAA,MAC1C;AACM,aAAO,KAAK,QAAQ,CAAC,KAAK,UAAU,IAAI;AAAA,QACtC,SAAS,KAAK,OAAO,QAAQ,GAAG;AAAA,QAChC,WAAW,KAAK,OAAO,QAAQ,GAAG;AAAA,MAC1C,IAAU,CAAC,KAAK,QAAQ,KAAK,UAAU,IAAI;AAAA,QACnC,SAAS,KAAK,OAAO,MAAM,GAAG;AAAA,QAC9B,WAAW,KAAK,OAAO,QAAQ,GAAG;AAAA,MAC1C,IAAU,CAAC,KAAK,QAAQ,CAAC,KAAK,UAAU,IAAI;AAAA,QACpC,SAAS,KAAK,OAAO,QAAQ,GAAG;AAAA,QAChC,WAAW,KAAK,OAAO,QAAQ,GAAG;AAAA,MACnC,IAAG;AAAA,IACL;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,gBAAgB,GAAG;AACjB,YAAM,IAAI,OAAO,KAAK,qBAAqB,WAAW,OAAO,SAAS,KAAK,iBAAiB,IAAI,KAAK;AACrG,aAAO;AAAA,QACL,mBAAmB,GAAG,KAAK,iBAAiB;AAAA,QAC5C,gBAAgB,GAAG,IAAI,KAAK,CAAC;AAAA,QAC7B,MAAM,GAAG,KAAK,KAAK,IAAI,MAAM,IAAI,YAAY,WAAW,CAAC;AAAA,MACjE;AAAA,IACK;AAAA,EACF;AACH,CAAC;AACD,IAAI6E,KAAK,WAAW;AAClB,MAAIvH,IAAI,MAAM7M,IAAI6M,EAAE,MAAM;AAC1B,SAAO7M,EAAE,OAAO,EAAE,aAAa,qBAAqB,OAAO;AAAA,IACzD,mBAAmB6M,EAAE;AAAA,IACrB,mBAAmB,CAACA,EAAE;AAAA,EAC1B,GAAK,OAAO,EAAE,SAASA,EAAE,QAAO,GAAI,OAAO,EAAE,OAAO,8BAA8B,SAAS,uBAAuB,OAAOA,EAAE,cAAc,QAAQA,EAAE,aAAc,EAAA,GAAI,CAAC7M,EAAE,QAAQ,EAAE,aAAa,sBAAsB,OAAO6M,EAAE,gBAAgB,CAAC,GAAG,OAAO,EAAE,GAAG,mKAAoK,EAAA,CAAE,GAAG7M,EAAE,QAAQ,EAAE,aAAa,wBAAwB,OAAO6M,EAAE,gBAAgB,CAAC,GAAG,OAAO,EAAE,GAAG,kIAAiI,GAAI,GAAG7M,EAAE,QAAQ,EAAE,aAAa,sBAAsB,OAAO6M,EAAE,gBAAgB,CAAC,GAAG,OAAO,EAAE,GAAG,2MAA0M,EAAI,CAAA,GAAG7M,EAAE,QAAQ,EAAE,aAAa,wBAAwB,OAAO6M,EAAE,gBAAgB,CAAC,GAAG,OAAO,EAAE,GAAG,uIAAwI,CAAA,GAAG7M,EAAE,QAAQ,EAAE,aAAa,sBAAsB,OAAO6M,EAAE,gBAAgB,CAAC,GAAG,OAAO,EAAE,GAAG,wMAAuM,EAAI,CAAA,GAAG7M,EAAE,QAAQ,EAAE,aAAa,wBAAwB,OAAO6M,EAAE,gBAAgB,CAAC,GAAG,OAAO,EAAE,GAAG,sKAAuK,CAAA,GAAG7M,EAAE,QAAQ,EAAE,aAAa,sBAAsB,OAAO6M,EAAE,gBAAgB,CAAC,GAAG,OAAO,EAAE,GAAG,mMAAoM,EAAA,CAAE,GAAG7M,EAAE,QAAQ,EAAE,aAAa,wBAAwB,OAAO6M,EAAE,gBAAgB,CAAC,GAAG,OAAO,EAAE,GAAG,oKAAqK,EAAA,CAAE,GAAG7M,EAAE,QAAQ,EAAE,aAAa,sBAAsB,OAAO6M,EAAE,gBAAgB,CAAC,GAAG,OAAO,EAAE,GAAG,6LAA4L,GAAI,GAAG7M,EAAE,QAAQ,EAAE,aAAa,wBAAwB,OAAO6M,EAAE,gBAAgB,CAAC,GAAG,OAAO,EAAE,GAAG,mKAAkK,GAAI,CAAC,CAAC;AACnwF,GAAGwH,KAAK,IAAIC,KAAqB,gBAAA1E;AAAA,EAC/BuE;AAAA,EACAC;AAAA,EACAC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACK,MAACE,KAAKD,GAAG;AAAc3E,EAAE,OAAO;AAAA,EACnC,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,UAAU;AAAA,IACR,iBAAiB;AACf,aAAO;AAAA,QACL,CAAC,aAAa,KAAK,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK;AAAA,QACtC,CAAC,gBAAgB,KAAK,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK;AAAA,QAC3C,CAAC,gBAAgB,KAAK,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK;AAAA,QAC3C,CAAC,gBAAgB,KAAK,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK;AAAA,QAC3C,CAAC,gBAAgB,KAAK,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK;AAAA,QAC3C,CAAC,gBAAgB,KAAK,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK;AAAA,MACnD;AAAA,IACK;AAAA,IACD,aAAa;AACX,aAAO;AAAA,QACL,GAAG,KAAK,QAAQ,EAAE,CAAC,WAAW,KAAK,KAAK,EAAE,GAAG,GAAE,IAAK,CAAE;AAAA,QACtD,GAAG,KAAK,eAAe,EAAE,CAAC,aAAa,KAAK,YAAY,EAAE,GAAG,GAAE,IAAK,CAAE;AAAA,QACtE,GAAG,KAAK,YAAY,EAAE,qBAAqB,GAAI,IAAG,CAAE;AAAA,QACpD,GAAG,KAAK;AAAA,MAChB;AAAA,IACK;AAAA,EACF;AACH,CAAC;AAc2BA,EAAE,OAAO;AAAA,EACnC,OAAO;AAAA,IACL,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,MAAM;AAAA,MACJ,MAAM,CAAC,SAAS,QAAQ,MAAM;AAAA,MAC9B,SAAS;AAAA,IACV;AAAA,IACD,IAAI;AAAA,MACF,MAAM,CAAC,SAAS,QAAQ,MAAM;AAAA,MAC9B,SAAS;AAAA,IACV;AAAA,IACD,IAAI;AAAA,MACF,MAAM,CAAC,SAAS,QAAQ,MAAM;AAAA,MAC9B,SAAS;AAAA,IACV;AAAA,IACD,QAAQ;AAAA,MACN,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACV;AAAA,IACD,UAAU;AAAA,MACR,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACV;AAAA,IACD,UAAU;AAAA,MACR,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACV;AAAA,IACD,UAAU;AAAA,MACR,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACV;AAAA,IACD,UAAU;AAAA,MACR,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACV;AAAA,IACD,UAAU;AAAA,MACR,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACV;AAAA,IACD,IAAI;AAAA,MACF,MAAM,CAAC,SAAS,QAAQ,MAAM;AAAA,MAC9B,SAAS;AAAA,IACV;AAAA,IACD,IAAI;AAAA,MACF,MAAM,CAAC,SAAS,QAAQ,MAAM;AAAA,MAC9B,SAAS;AAAA,IACV;AAAA,IACD,IAAI;AAAA,MACF,MAAM,CAAC,SAAS,QAAQ,MAAM;AAAA,MAC9B,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,UAAU;AAAA,IACR,aAAa;AACX,aAAO;AAAA;AAAA,QAEL,GAAG,KAAK,YAAY,EAAE,CAAC,UAAU,KAAK,SAAS,EAAE,GAAG,GAAE,IAAK,CAAE;AAAA;AAAA,QAE7D,CAAC,KAAK,YAAY,OAAO,KAAK,EAAE,CAAC,GAAG,KAAK,eAAe,KAAK,EAAE;AAAA,QAC/D,CAAC,KAAK,YAAY,OAAO,KAAK,EAAE,CAAC,GAAG,KAAK,eAAe,KAAK,EAAE;AAAA,QAC/D,CAAC,KAAK,YAAY,OAAO,KAAK,EAAE,CAAC,GAAG,KAAK,eAAe,KAAK,EAAE;AAAA,QAC/D,CAAC,KAAK,YAAY,OAAO,KAAK,EAAE,CAAC,GAAG,KAAK,eAAe,KAAK,EAAE;AAAA,QAC/D,CAAC,KAAK,YAAY,QAAQ,KAAK,EAAE,CAAC,GAAG,KAAK,eAAe,KAAK,EAAE;AAAA,QAChE,CAAC,KAAK,YAAY,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,eAAe,KAAK,MAAM,EAAE;AAAA;AAAA,QAEpE,qCAAqC,KAAK,OAAO,MAAM,KAAK,OAAO;AAAA,QACnE,qCAAqC,KAAK,OAAO,MAAM,KAAK,OAAO;AAAA,QACnE,qCAAqC,KAAK,OAAO,MAAM,KAAK,OAAO;AAAA,QACnE,qCAAqC,KAAK,OAAO,MAAM,KAAK,OAAO;AAAA,QACnE,qCAAqC,KAAK,OAAO,MAAM,KAAK,OAAO;AAAA,QACnE,8BAA8B,KAAK,SAAS,MAAM,KAAK,SAAS;AAAA;AAAA,QAEhE,CAAC,cAAc,KAAK,EAAE,mBAAmB,KAAK,EAAE,KAAK,GAAG,KAAK,sBAAsB,KAAK,EAAE;AAAA,QAC1F,CAAC,cAAc,KAAK,EAAE,mBAAmB,KAAK,EAAE,KAAK,GAAG,KAAK,sBAAsB,KAAK,EAAE;AAAA,QAC1F,CAAC,cAAc,KAAK,EAAE,mBAAmB,KAAK,EAAE,KAAK,GAAG,KAAK,sBAAsB,KAAK,EAAE;AAAA,QAC1F,CAAC,cAAc,KAAK,EAAE,mBAAmB,KAAK,EAAE,KAAK,GAAG,KAAK,sBAAsB,KAAK,EAAE;AAAA,QAC1F,CAAC,cAAc,KAAK,EAAE,mBAAmB,KAAK,EAAE,KAAK,GAAG,KAAK,sBAAsB,KAAK,EAAE;AAAA,QAC1F,CAAC,WAAW,KAAK,IAAI,gBAAgB,KAAK,IAAI,KAAK,GAAG,KAAK,sBAAsB,KAAK,IAAI;AAAA;AAAA,QAE1F,CAAC,eAAe,KAAK,QAAQ,EAAE,GAAG,KAAK,aAAa;AAAA,QACpD,CAAC,eAAe,KAAK,QAAQ,EAAE,GAAG,KAAK,aAAa;AAAA,QACpD,CAAC,eAAe,KAAK,QAAQ,EAAE,GAAG,KAAK,aAAa;AAAA,QACpD,CAAC,eAAe,KAAK,QAAQ,EAAE,GAAG,KAAK,aAAa;AAAA,QACpD,CAAC,eAAe,KAAK,QAAQ,EAAE,GAAG,KAAK,aAAa;AAAA,QACpD,CAAC,YAAY,KAAK,MAAM,EAAE,GAAG,KAAK,WAAW;AAAA,MACrD;AAAA,IACK;AAAA,EACF;AAAA,EACD,SAAS;AAAA,IACP,YAAY,GAAG,GAAG;AAChB,aAAO,GAAG,CAAC,WAAW,MAAM,SAAS,SAAS,GAAG,IAAI,CAAC,SAAS,MAAM,SAAS,OAAO,EAAE,IAAI,CAAC,OAAO,MAAM,SAAS,SAAS,MAAM;AAAA,IAClI;AAAA,IACD,eAAe,GAAG,IAAI,IAAI;AACxB,aAAO,MAAM,UAAU,MAAM,KAAK,MAAM,OAAO,KAAK,CAAC;AAAA,IACtD;AAAA,IACD,sBAAsB,GAAG;AACvB,YAAM,IAAI,OAAO,SAAS,CAAC;AAC3B,aAAO,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI;AAAA,IACnD;AAAA,EACF;AACH,CAAC;AAeD,SAAS6E,KAAK;AACZ,SAAO,CAAC,EAAE,SAAS,qBAAqB,SAAS,wBAAwB,SAAS,2BAA2B,SAAS;AACxH;AACA,SAASC,GAAG,GAAG;AACb,MAAID,GAAI;AACN,WAAO,IAAI,QAAQ,CAAC,MAAM,EAAG,CAAA;AAC/B,MAAI,EAAE;AACJ,WAAO,KAAK,OAAO,SAAS,EAAE,kBAAiB;AACjD,MAAI,EAAE;AACJ,WAAO,KAAK,OAAO,SAAS,EAAE,qBAAoB;AACpD,MAAI,EAAE;AACJ,WAAO,KAAK,OAAO,SAAS,EAAE,wBAAuB;AACvD,MAAI,EAAE;AACJ,WAAO,KAAK,OAAO,SAAS,EAAE,oBAAmB;AACrD;AACA,SAASE,KAAK;AACZ,MAAI,CAACF,GAAI;AACP,WAAO,IAAI,QAAQ,CAAC,MAAM,EAAG,CAAA;AAC/B,MAAI,SAAS;AACX,WAAO,SAAS;AAClB,MAAI,SAAS;AACX,WAAO,SAAS;AAClB,MAAI,SAAS;AACX,WAAO,SAAS;AAClB,MAAI,SAAS;AACX,WAAO,SAAS;AACpB;AACK,MAACG,KAAK,IAAI,KAAK,aAAa,QAAQ;AAAA,EACvC,sBAAsB;AACxB,CAAC,GAAGC,KAAK;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAGC,KAAI,CAAC,MAAM;AACZ,QAAM,IAAI,KAAK,MAAM,IAAI,EAAE,GAAG,IAAI,KAAK,MAAM,IAAI,EAAE,IAAI,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI;AAClF,SAAO,MAAM,IAAI,GAAG,CAAC,IAAIF,GAAG,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,IAAIA,GAAG;AAAA,IACnD;AAAA,EACD,CAAA,IAAIA,GAAG,OAAO,CAAC,CAAC;AACnB;AAAQhF,EAAE,OAAO;AAAA,EACf,MAAM;AAAA,EACN,YAAY;AAAA,IACV,UAAU4E;AAAA,EACX;AAAA,EACD,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM,CAAC,OAAO,MAAM;AAAA,MACpB,UAAU;AAAA,IACX;AAAA,IACD,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IACjB;AAAA,IACD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IACjB;AAAA,EACF;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,SAAS;AAAA,MACT,kBAAkB;AAAA,MAClB,aAAa;AAAA,MACb,UAAU;AAAA,MACV,eAAe;AAAA,MACf,aAAa;AAAA,MACb,UAAU;AAAA,MACV,aAAa;AAAA,MACb,WAAW;AAAA,MACX,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,SAAS;AAAA,IACf;AAAA,EACG;AAAA,EACD,UAAU;AAAA,IACR,cAAc;AACZ,aAAO,MAAM,QAAQ,KAAK,OAAO,IAAI,KAAK,UAAU,CAAC,EAAE,KAAK,KAAK,QAAS,CAAA;AAAA,IAC3E;AAAA,IACD,uBAAuB;AACrB,cAAQ,KAAK,cAAc,KAAK,YAAY,QAAQ,CAAC,KAAK,aAAa,CAAC,KAAK,SAAQ;AAAA,IACtF;AAAA,IACD,eAAe;AACb,YAAM,IAAI,KAAK;AACf,cAAQ,KAAK,OAAO,SAAS,EAAE,cAAc,KAAK,SAAS;AAAA,IAC5D;AAAA,EACF;AAAA,EACD,UAAU;AACR,SAAK,WAAU,GAAI,KAAK,iBAAgB,GAAI,KAAK;EAClD;AAAA,EACD,YAAY;AACV,SAAK,aAAY,GAAI,KAAK,cAAa,GAAI,KAAK;EACjD;AAAA,EACD,SAAS;AAAA,IACP,iBAAiB;AACf,UAAI,OAAO,KAAK,WAAW,YAAY,eAAe,KAAK,SAAS;AAClE,aAAK,cAAa;AAClB;AAAA,MACD;AACC,aAAK,UAAU,IAAI,KAAK,YAAY,IAAI,KAAK,UAAU;AAAA,IAC1D;AAAA,IACD,aAAa;AACX,MAAAK,GAAG,QAAQ,CAAC,MAAM;AAChB,aAAK,eAAe,CAAC;AAAA,MAC7B,CAAO;AAAA,IACF;AAAA,IACD,eAAe;AACb,MAAAA,GAAG,QAAQ,CAAC,MAAM;AAChB,aAAK,iBAAiB,CAAC;AAAA,MAC/B,CAAO;AAAA,IACF;AAAA,IACD,eAAe,GAAG;AAChB,YAAM,IAAI,KAAK,MAAM,QAAQ,IAAI,KAAK,MAAM;AAC5C,QAAE;AAAA,QACA;AAAA,QACA,CAAC,MAAM;AACL,gBAAM,iBAAiB,KAAK,cAAcC,GAAE,EAAE,QAAQ,IAAI,MAAM,iBAAiB,KAAK,mBAAmB,EAAE,cAAc,EAAE,WAAW,KAAK,EAAE,MAAM;AAAA,YACjJ;AAAA,YACA,KAAK,iBAAiB,SAAU;AAAA,UAC5C,IAAc,KAAK,MAAM,GAAG,EAAE,OAAO,GAAG,QAAQ,KAAI,CAAE;AAAA,QAC7C;AAAA,QACD;AAAA,MACR;AAAA,IACK;AAAA,IACD,iBAAiB,GAAG;AAClB,YAAM,IAAI,KAAK,MAAM,QAAQ,IAAI,KAAK,MAAM;AAC5C,QAAE;AAAA,QACA;AAAA,QACA,CAAC,MAAM;AACL,gBAAM,iBAAiB,KAAK,cAAcA,GAAE,EAAE,QAAQ,IAAI,MAAM,iBAAiB,KAAK,mBAAmB,EAAE,cAAc,EAAE,WAAW,KAAK,EAAE,MAAM;AAAA,YACjJ;AAAA,YACA,KAAK,iBAAiB,SAAU;AAAA,UAC5C,IAAc,KAAK,MAAM,GAAG,EAAE,OAAO,GAAG,QAAQ,KAAI,CAAE;AAAA,QAC7C;AAAA,QACD;AAAA,MACR;AAAA,IACK;AAAA,IACD,mBAAmB;AACjB,YAAM,IAAI,KAAK,MAAM;AACrB,YAAM,EAAE,YAAY,KAAK,WAAW,EAAE,GAAG,SAAS,iBAAiB,WAAW,KAAK,yBAAyB,GAAG,SAAS,iBAAiB,WAAW,KAAK,aAAa;AAAA,IACvK;AAAA,IACD,gBAAgB;AACd,aAAO,oBAAoB,WAAW,KAAK,aAAa,GAAG,SAAS,oBAAoB,WAAW,KAAK,yBAAyB;AAAA,IAClI;AAAA,IACD,4BAA4B;AAC1B,eAAS,qBAAqB,SAAS,2BAA2B,SAAS,wBAAwB,SAAS,uBAAuB,SAAS;AAAA,QAC1I;AAAA,QACA,KAAK;AAAA,MACN,GAAE,SAAS;AAAA,QACV;AAAA,QACA,KAAK;AAAA,MACN,GAAE,SAAS;AAAA,QACV;AAAA,QACA,KAAK;AAAA,MACN,GAAE,SAAS;AAAA,QACV;AAAA,QACA,KAAK;AAAA,MACb,KAAW,QAAQ,IAAI,kDAAkD;AAAA,IACpE;AAAA,IACD,gCAAgC;AAC9B,eAAS,qBAAqB,SAAS,2BAA2B,SAAS,wBAAwB,SAAS,uBAAuB,SAAS;AAAA,QAC1I;AAAA,QACA,KAAK;AAAA,MACN,GAAE,SAAS;AAAA,QACV;AAAA,QACA,KAAK;AAAA,MACN,GAAE,SAAS;AAAA,QACV;AAAA,QACA,KAAK;AAAA,MACN,GAAE,SAAS;AAAA,QACV;AAAA,QACA,KAAK;AAAA,MACb,KAAW,QAAQ,IAAI,kDAAkD;AAAA,IACpE;AAAA,IACD,yBAAyB;AACvB,WAAK,eAAe,SAAS,qBAAqB,SAAS,wBAAwB,SAAS,2BAA2B,SAAS,uBAAuB,OAAO,cAAc,OAAO,SAAS,OAAO,eAAe,OAAO;AAAA,IAC1N;AAAA,IACD,WAAW;AACT,aAAO,KAAK,MAAM,OAAO;AAAA,IAC1B;AAAA,IACD,0BAA0B,GAAG;AAC3B,WAAK,eAAe,KAAK,gBAAgB,CAAC;AAAA,IAC3C;AAAA,IACD,cAAc;AACZ,WAAK,aAAa,IAAI,KAAK,UAAU;AAAA,IACtC;AAAA,IACD,gBAAgB;AACd,WAAK,YAAY;AAAA,IAClB;AAAA,IACD,OAAO;AACL,YAAM,IAAI,KAAK,MAAM;AACrB,MAAK,KAEL,EAAE,KAAI,MAAO,UAAU,EAAE,KAAI,EAAG,KAAK,MAAM,KAAK,WAAW,EAAE,CAAC,EAAE,MAAM,QAAQ,KAAK;AAAA,IACpF;AAAA,IACD,QAAQ;AACN,YAAM,IAAI,KAAK,MAAM;AACrB,YAAM,EAAE,MAAO,GAAE,KAAK,WAAW,EAAE;AAAA,IACpC;AAAA,IACD,aAAa;AACX,WAAK,UAAU,KAAK,MAAK,IAAK,KAAK;IACpC;AAAA,IACD,WAAW,GAAG;AACZ,WAAK,UAAU;AAAA,IAChB;AAAA,IACD,iBAAiB,GAAG;AAClB,YAAM,IAAI,KAAK,MAAM;AACrB,UAAI,CAAC;AACH;AACF,YAAM,IAAI,IAAI,MAAM,EAAE;AACtB,QAAE,cAAc;AAAA,IACjB;AAAA,IACD,sBAAsB,GAAG;AACvB,aAAO,CAAC,SAAS,IAAI,KAAK,IAAI,EAAE,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,QAAQ,aAAa,KAAK;AAAA,IAC9F;AAAA,IACD,sBAAsB;AACpB,eAAS,sBAAsBH,GAAI,EAAC,KAAK,MAAM;AAC7C,aAAK,eAAe,IAAI,QAAQ,IAAI,mBAAmB;AAAA,MACxD,CAAA,GAAG,KAAK,eAAe;AAAA,IACzB;AAAA,IACD,qBAAqB;AACnB,YAAM,IAAI,KAAK,MAAM;AACrB,YAAMD,GAAG,CAAC,EAAE,KAAK,MAAM;AACrB,aAAK,eAAe;AAAA,MACrB,CAAA,GAAG,KAAK,eAAe;AAAA,IACzB;AAAA,IACD,uBAAuB;AACrB,WAAK,eAAe,KAAK,oBAAmB,IAAK,KAAK;IACvD;AAAA,IACD,cAAc;AACZ,YAAM,IAAI,KAAK,MAAM;AACrB,WAAK,cAAcI,GAAE,EAAE,QAAQ,GAAG,KAAK,gBAAgB,EAAE;AAAA,IAC1D;AAAA,IACD,mBAAmB;AACjB,YAAM,IAAI,KAAK,MAAM,QAAQ,IAAI,KAAK,MAAM;AAC5C,UAAI,CAAC,KAAK,CAAC;AACT;AACF,WAAK,cAAcA,GAAE,EAAE,WAAW,GAAG,KAAK,WAAW,EAAE;AACvD,YAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,aAAa;AAC3D,QAAE,MAAM;AAAA,QACN;AAAA,QACA,EAAE,SAAU;AAAA,MACpB;AAAA,IACK;AAAA,IACD,qBAAqB,GAAG;AACtB,YAAM,IAAI,KAAK,MAAM;AACrB,UAAI,CAAC,SAAS,KAAK,SAAS,CAAC;AAC3B;AACF,YAAM,IAAI,KAAK,MAAM,mBAAmB,IAAI,EAAE,sBAAuB,GAAE1U,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;AACzH,QAAE,MAAM;AAAA,QACN;AAAA,QACAA,EAAE,SAAU;AAAA,MACpB,GAAS,KAAK,gBAAgB,EAAE,eAAc,GAAI,EAAE,MAAM;AAAA,QAClD;AAAA,QACAA,EAAE,SAAU;AAAA,MACpB;AAAA,IACK;AAAA,IACD,KAAK,IAAI,GAAG;AACV,YAAM,IAAI,KAAK,MAAM;AACrB,QAAE,eAAe;AAAA,IAClB;AAAA,IACD,MAAM,gBAAgB,GAAG;AACvB,YAAM,IAAI,KAAK,MAAM,mBAAmB,IAAI,KAAK,MAAM,gBAAgB,IAAI,KAAK,MAAM;AACtF,UAAI,CAAC;AACH;AACF,YAAMA,IAAI,EAAE,sBAAuB,GAAE0P,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG,EAAE,IAAI1P,EAAE,CAAC,GAAGA,EAAE,KAAK,IAAIA,EAAE;AACvF,UAAI,KAAK,eAAe,EAAE,UAAU,OAAO,GAAG,EAAE,UAAU,OAAO,aAAa,KAAK,WAAW,GAAG,KAAK,aAAa;AACjH,aAAK,YAAY,EAAE,QAAQ,MAAM,EAAE,MAAK,GAAI,KAAK,qBAAqB,CAAC;AACvE;AAAA,MACD;AACD,UAAI,KAAK,WAAW0P,IAAI,KAAK,eAAe,EAAE,cAAcA,IAAI,KAAK,eAAe,KAAK;AACvF;AACF,YAAM,IAAI,EAAE;AACZ,YAAM,UAAU,EAAE,KAAK,MAAM,KAAK,qBAAqB,CAAC,CAAC,EAAE,MAAM,QAAQ,KAAK;AAAA,IAC/E;AAAA,IACD,cAAc,GAAG;AACf,UAAI7P;AACJ,YAAM6M,KAAK7M,IAAI,SAAS,kBAAkB,OAAO,SAASA,EAAE,QAAQ,YAAW;AAC/E,UAAI6M,MAAM;AACR,gBAAQ,EAAE,IAAI,YAAa,GAAA;AAAA,UACzB,KAAK;AACH,gBAAIA,MAAM;AACR;AACF,iBAAK,WAAU;AACf;AAAA,UACF,KAAK;AACH,iBAAK,WAAU;AACf;AAAA,UACF,KAAK;AACH,cAAE,eAAgB,GAAE,KAAK,oBAAqB,GAAE,KAAK,eAAe;AACpE;AAAA,UACF,KAAK;AACH,iBAAK,mBAAoB,GAAE,KAAK,eAAe;AAC/C;AAAA,QACH;AAAA,IACJ;AAAA,EACF;AACH,CAAC;AAyBI,MAAkBiI,KAAK,CAAC,MAAM;AACjC,QAAM,IAAI,EAAE,UAAU,KAAK,EAAE,CAAC,GAAGxF,IAAI;AAAA,IACnC,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACJ,EAAC,EAAE,OAAO,CAAC,CAAC,KAAK;AAClB,SAAO,GAAG,CAAC,GAAGA,CAAC;AACjB,GAAGyF,KAAK,CAAC,MAAM,IAAI;AAAA,EACjB,KAAK,IAAI,EAAE,kBAAkB,EAAE,YAAW,GAAI,EAAE,WAAY,IAAG,CAAC;AAClE,EAAE,WAAY,MAAK,IAAI,KAAK,EAAE,UAAU,KAAK,EAAE,CAAC,GAAGC,KAAI,CAAC,MAAM,CAAC,KAAK,MAAM,IAAI,EAAE,SAAS,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,GAAG,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,KAAKC,IAAI,CAAC,MAAM;AAC3J,QAAM,IAAI,EAAE,UAAU,OAAO,EAAE,CAAC;AAChC,SAAO,MAAM,UAAU,KAAK;AAC9B,GAAGC,KAAK,CAAC,MAAM,EAAE,UAAU,OAAO,EAAE,CAAC,GAAGC,KAAK,CAAC,MAAM,GAAG,EAAE,UAAU,QAAQ,EAAE,CAAC,CAAC,IAAIC,KAAK,CAAC,MAAM;AAC7F,QAAM,IAAIH,EAAE,CAAC,GAAG,IAAIH,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;AAClD,SAAO,KAAK,GAAG,CAAC,IAAI,CAAC;AACvB,GAAGO,KAAK,CAAC,MAAM;AACb,QAAM,IAAIJ,EAAE,CAAC,GAAG,IAAI,OAAO,SAAS,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,IAAIH,GAAG,CAAC,GAAG3U,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;AAC7F,SAAO,KAAK,IAAI,MAAM,IAAI,GAAGA,CAAC,IAAI,CAAC,IAAI,CAAC,KAAKiV,GAAG,CAAC;AACnD,GAAGE,KAAI,CAAC,MAAM,CAAC,MAAM;AACnB,QAAM,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;AAC7B,SAAO,EAAE,EAAE,UAAU,IAAI,EAAE,CAAC,MAAM,QAAQ,OAAO,SAAS,CAAC,IAAI,MAAM;AACvE,GAAGC,KAAK,CAAC,MAAM,CAAC,MAAM;AACpB,QAAM,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;AAC7B,SAAO,OAAO,SAAS,CAAC,IAAI,MAAM;AACpC,GAAGC,KAAK,CAAC,MAAM,CAAC,MAAM;AACpB,QAAM,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;AACvD,SAAO,OAAO,SAAS,CAAC,IAAI,MAAM,KAAK,OAAO,SAAS,CAAC,MAAM;AAChE,GAAGC,IAAI;AAAA,EACL,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,aAAa;AAAA,EACb,SAAS;AAAA,EACT,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AAAA,EACV,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,UAAU,IAAI;AAChB;AACA,IAAIC,IAAIC,IAAIC,IAAIC,IAAIC,IAAIC,IAAIC,IAAIC;AAC3B,MAACC,KAAK;AAAA,EACT,CAACzG,GAAG,QAAQ,GAAG;AAAA,IACb;AAAA,MACE,WAAWgG,EAAE;AAAA,MACb,UAAU,EAAE,UAAU,MAAM,CAAC;AAAA,MAC7B,QAAQN;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWM,EAAE;AAAA,MACb,UAAU,EAAE,UAAU,MAAM,CAAC;AAAA,MAC7B,QAAQN;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWM,EAAE;AAAA,MACb,UAAU,EAAE,UAAU,MAAM,EAAE;AAAA,MAC9B,QAAQL;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWK,EAAE;AAAA,MACb,UAAU,EAAE,UAAU,MAAM,EAAE;AAAA,MAC9B,QAAQJ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWI,EAAE;AAAA,MACb,UAAU,EAAE;AAAA,MACZ,QAAQJ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWI,EAAE;AAAA,MACb,UAAU,EAAE,QAAQ,MAAM,CAAC;AAAA,MAC3B,QAAQJ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWI,EAAE;AAAA,MACb,UAAU,EAAE,QAAQ,MAAM,CAAC;AAAA,MAC3B,QAAQ,CAAC,MAAM;AACb,cAAM,IAAIR,EAAE,CAAC,GAAG,IAAIH,GAAG,CAAC,GAAG,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;AAClD,eAAO,KAAK,GAAG,CAAC,IAAI,CAAC;AAAA,MACtB;AAAA,IACF;AAAA,IACD;AAAA,MACE,WAAWW,EAAE;AAAA,MACb,UAAU,EAAE,QAAQ,MAAM,EAAE;AAAA,MAC5B,QAAQL;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWK,EAAE;AAAA,MACb,UAAU,EAAE,QAAQ,MAAM,EAAE;AAAA,MAC5B,QAAQ,CAAC,MAAM;AACb,cAAM,IAAIX,GAAG,CAAC;AACd,eAAO,GAAG,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AAAA,MACpC;AAAA,IACF;AAAA,IACD;AAAA,MACE,WAAWW,EAAE;AAAA,MACb,UAAU,EAAE;AAAA,MACZ,QAAQ,CAAC,MAAM;AACb,cAAMzV,IAAI,EAAE,YAAW,MAAO,KAAK,EAAE,iBAAiB,IAAI,YAAY;AACtE,eAAO,EAAE,UAAUA,CAAC,EAAE,CAAC;AAAA,MACxB;AAAA,IACF;AAAA,IACD;AAAA,MACE,WAAWyV,EAAE;AAAA,MACb,UAAU,EAAE;AAAA,MACZ,QAAQ;AAAA,IACT;AAAA,EACF;AAAA,EACD,CAAChG,GAAG,QAAQ,GAAG;AAAA,IACb;AAAA,MACE,WAAWgG,EAAE;AAAA,MACb,UAAU,EAAE,UAAU,MAAM,EAAE;AAAA,MAC9B,QAAQP;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWO,EAAE;AAAA,MACb,WAAWC,KAAK,EAAE,UAAU,MAAM,EAAE,MAAM,OAAO,SAASA,GAAG,OAAOF,GAAG,CAAC,CAAC;AAAA,MACzE,QAAQN;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWO,EAAE;AAAA,MACb,WAAWE,KAAK,EAAE,UAAU,MAAM,EAAE,MAAM,OAAO,SAASA,GAAG,OAAOH,GAAG,CAAC,CAAC;AAAA,MACzE,QAAQN;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWO,EAAE;AAAA,MACb,UAAU,EAAE,UAAU,OAAOF,GAAG,CAAC,CAAC;AAAA,MAClC,QAAQN;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWQ,EAAE;AAAA,MACb,WAAWG,KAAK,EAAE,UAAU,MAAM,CAAC,MAAM,OAAO,SAASA,GAAG,OAAOL,GAAG,EAAE,CAAC;AAAA,MACzE,QAAQN;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWQ,EAAE;AAAA,MACb,WAAWI,KAAK,EAAE,UAAU,MAAM,CAAC,MAAM,OAAO,SAASA,GAAG,OAAON,GAAG,EAAE,CAAC;AAAA,MACzE,QAAQN;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWQ,EAAE;AAAA,MACb,WAAWK,KAAK,EAAE,UAAU,MAAM,EAAE,MAAM,OAAO,SAASA,GAAG,OAAOR,GAAE,CAAC,CAAC;AAAA,MACxE,QAAQL;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWQ,EAAE;AAAA,MACb,WAAWM,KAAK,EAAE,UAAU,MAAM,EAAE,MAAM,OAAO,SAASA,GAAG,OAAOT,GAAE,CAAC,CAAC;AAAA,MACxE,QAAQL;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWQ,EAAE;AAAA,MACb,UAAU,EAAE,QAAQ,OAAOH,GAAE,CAAC,CAAC;AAAA,MAC/B,QAAQN;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWS,EAAE;AAAA,MACb,WAAWO,KAAK,EAAE,QAAQ,MAAM,CAAC,MAAM,OAAO,SAASA,GAAG,OAAOV,GAAE,CAAC,CAAC;AAAA,MACrE,QAAQN;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWS,EAAE;AAAA,MACb,WAAWQ,KAAK,EAAE,QAAQ,MAAM,CAAC,MAAM,OAAO,SAASA,GAAG,OAAOX,GAAE,EAAE,CAAC;AAAA,MACtE,QAAQN;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWS,EAAE;AAAA,MACb,UAAU,EAAE,QAAQ,MAAM,CAAC;AAAA,MAC3B,QAAQT;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWS,EAAE;AAAA,MACb,UAAU,EAAE,QAAQ,MAAM,CAAC;AAAA,MAC3B,QAAQT;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWS,EAAE;AAAA,MACb,UAAU,EAAE;AAAA,MACZ,QAAQV;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWU,EAAE;AAAA,MACb,UAAU,EAAE,OAAO,MAAM,CAAC;AAAA,MAC1B,QAAQV;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWU,EAAE;AAAA,MACb,UAAU,EAAE;AAAA,MACZ,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE;AAAA,MACZ,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE;AAAA,MACZ,QAAQ,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC;AAAA,IAC7C;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,SAAS,MAAM,CAAC;AAAA,MAC5B,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,SAAS,MAAM,CAAC;AAAA,MAC5B,QAAQ;AAAA,IACT;AAAA,EACF;AAAA,EACD,CAAChG,GAAG,kBAAkB,GAAG;AAAA,IACvB;AAAA,MACE,WAAWgG,EAAE;AAAA,MACb,UAAU,EAAE;AAAA,MACZ,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,UAAU,MAAM,CAAC;AAAA,MAC7B,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,UAAU,MAAM,EAAE;AAAA,MAC9B,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,UAAU,MAAM,EAAE;AAAA,MAC9B,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,UAAU,MAAM,EAAE;AAAA,MAC9B,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE;AAAA,MACZ,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,UAAU,MAAM,CAAC;AAAA,MAC7B,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,UAAU,MAAM,CAAC;AAAA,MAC7B,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,UAAU,MAAM,EAAE;AAAA,MAC9B,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,UAAU,MAAM,EAAE;AAAA,MAC9B,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE;AAAA,MACZ,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE;AAAA,MACZ,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,UAAU,MAAM,GAAG;AAAA,MAC/B,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,QAAQ,MAAM,CAAC;AAAA,MAC3B,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,QAAQ,MAAM,EAAE;AAAA,MAC5B,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,OAAO,OAAO,CAAC,MAAM;AAC/B,cAAM,IAAI,EAAE,WAAU,GAAI,IAAI,IAAI;AAAA,UAChC,EAAE,eAAgB;AAAA,UAClB,EAAE,YAAW,IAAK;AAAA,UAClB;AAAA,QACV,EAAU,WAAY,GAAE,IAAI,KAAK,KAAK,IAAI,CAAC;AACnC,eAAO,MAAM,KAAK,MAAM,IAAI,KAAK,MAAM,IAAI,KAAK,MAAM,IAAI;AAAA,MAClE,CAAO;AAAA,MACD,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,OAAO,OAAO,CAAC,MAAM;AAC/B,cAAM,IAAI,EAAE,WAAU,GAAI,IAAI,IAAI;AAAA,UAChC,EAAE,eAAgB;AAAA,UAClB,EAAE,YAAW,IAAK;AAAA,UAClB;AAAA,QACV,EAAU,WAAY,GAAE,IAAI,KAAK,KAAK,IAAI,CAAC;AACnC,eAAO,MAAM,KAAK,MAAM,IAAI,KAAK,MAAM,IAAI;AAAA,MACnD,CAAO;AAAA,MACD,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE,OAAO,OAAO,CAAC,MAAM;AAC/B,cAAM,IAAI,EAAE,WAAU,GAAI,IAAI,IAAI;AAAA,UAChC,EAAE,eAAgB;AAAA,UAClB,EAAE,YAAW,IAAK;AAAA,UAClB;AAAA,QACV,EAAU,WAAY,GAAE,IAAI,KAAK,KAAK,IAAI,CAAC;AACnC,eAAO,MAAM;AAAA,MACrB,CAAO;AAAA,MACD,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE;AAAA,MACZ,QAAQ;AAAA,IACT;AAAA,IACD;AAAA,MACE,WAAWA,EAAE;AAAA,MACb,UAAU,EAAE;AAAA,MACZ,QAAQ;AAAA,IACT;AAAA,EACF;AACH,GAAGU,KAAK;AAAA,EACN,KAAK,GAAG,GAAG;AACT,UAAM,EAAE,OAAO,EAAG,IAAG;AACrB,QAAI,OAAO,KAAK,YAAY;AAC1B,cAAQ,MAAM,yDAAyD;AACvE;AAAA,IACD;AACD,UAAM,IAAI,IAAI;AAAA,MACZ,CAAChW,MAAM;AACL,QAAAA,EAAE,CAAC,KAAK,EAAEA,EAAE,CAAC,CAAC;AAAA,MACf;AAAA,IACP;AACI,MAAE,QAAQ,CAAC,GAAG,EAAE,qBAAqB;AAAA,EACtC;AAAA,EACD,OAAO,GAAG;AACR,MAAE,uBAAuB,EAAE,mBAAmB,WAAU,GAAI,OAAO,EAAE;AAAA,EACtE;AACH,GAKGiW,IAAI;AAAA,EACL,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,aAAa;AAAA,EACb,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,OAAO;AAAA,EACP,yBAAyB;AAAA,EACzB,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,cAAc;AAAA,EACd,SAAS;AACX,GAAGC,KAAI;AAAA,EACL,cAAc;AAAA,EACd,iBAAiB;AACnB;AAAQ1G,EAAE,OAAO;AAAA,EACf,MAAM;AAAA,EACN,YAAY;AAAA,IACV,gBAAgBwG;AAAA,EACjB;AAAA,EACD,OAAO;AAAA,IACL,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IACjB;AAAA,IACD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS,MAAMD;AAAA,IAChB;AAAA,IACD,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACD,iBAAiB;AAAA,MACf,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,SAAS;AAAA,IACV;AAAA,EACF;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,yBAAyB;AAAA,MACzB,KAAK;AAAA,MACL,eAAe;AAAA,MACf,OAAO,CAAE;AAAA,MACT,WAAW;AAAA,MACX,kBAAkB;AAAA,MAClB,yBAAyB;AAAA,MACzB,cAAc;AAAA,MACd,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,cAAc;AAAA,MACd,oBAAoB;AAAA,MACpB,kBAAkB;AAAA,MAClB,mBAAmB,CAAE;AAAA,MACrB,kBAAkB;AAAA,MAClB,WAAW;AAAA,MACX,eAAe,EAAE,GAAG,GAAG,GAAG,EAAG;AAAA,MAC7B,eAAe,EAAE,aAAa,GAAG,OAAO,EAAG;AAAA,MAC3C,QAAQ;AAAA,MACR,eAAe,CAAE;AAAA,MACjB,mBAAmB,CAAE;AAAA,MACrB,iBAAiB,CAAE;AAAA,MACnB,aAAa;AAAA,MACb,WAAW;AAAA,MACX,oBAAoB;AAAA,MACpB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACzB;AAAA,EACG;AAAA,EACD,UAAU;AAAA,IACR,UAAU;AACR,aAAO;AAAA,QACL,SAAS;AAAA,UACP,sCAAsC,KAAK;AAAA,UAC3C,qBAAqB,CAAC,KAAK;AAAA,UAC3B,wBAAwB,KAAK;AAAA,QAC9B;AAAA,QACD,YAAY,KAAK,OAAO,kBAAkB;AAAA,QAC1C,aAAa,KAAK,OAAO,iDAAiD;AAAA,QAC1E,kBAAkB,KAAK,OAAO,iDAAiD;AAAA,MACvF;AAAA,IACK;AAAA,IACD,kBAAkB;AAChB,aAAO,OAAO,QAAQ,KAAK,oBAAoB,EAAE;AAAA,QAC/C,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,cAAc,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,EAAG,IAAG;AAAA,QAChE,CAAE;AAAA,MACV;AAAA,IACK;AAAA,IACD,uBAAuB;AACrB,UAAI,CAAC,KAAK;AACR,eAAO,KAAK;AACd,YAAM,IAAI,OAAO,KAAK,KAAK,eAAe,EAAE,SAAS,KAAK;AAC1D,aAAO,KAAK,IAAI,KAAK,oBAAoB,CAAC;AAAA,IAC3C;AAAA,IACD,YAAY;AACV,aAAO,OAAO,QAAQ,KAAK,oBAAoB,EAAE;AAAA,QAC/C,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,cAAc,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,EAAG,IAAG;AAAA,QAChE,CAAE;AAAA,MACV;AAAA,IACK;AAAA,IACD,oBAAoB;AAClB,aAAO,OAAO,KAAK,KAAK,eAAe,EAAE,SAAS;AAAA,IACnD;AAAA,IACD,iBAAiB;AACf,aAAO,OAAO;AAAA,QACZ,KAAK;AAAA,MACb,EAAQ,OAAO,CAAClW,GAAGsP,MAAM;AACjB,YAAInP;AACJ,eAAO,KAAK,IAAIH,IAAIG,IAAImP,EAAE,UAAU,OAAO,SAASnP,EAAE,MAAM;AAAA,MACpE,GAAS,CAAC,IAAI,MAAM;AAAA,IACf;AAAA,IACD,sBAAsB;AACpB,YAAM,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,SAAS;AACjD,aAAO,KAAK,aAAa;AAAA,IAC1B;AAAA,IACD,iBAAiB;AACf,YAAM,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,QAAQ,IAAI,KAAK,oBAAoB,KAAK,uBAAuB,GAAG,IAAI,KAAK,qBAAqB,IAAI,IAAI,IAAI,KAAK,iBAAiB;AAC1K,aAAO,KAAK,sBAAsB,IAAI,IAAI;AAAA,IAC3C;AAAA,IACD,uBAAuB;AACrB,YAAM,IAAI,OAAO,QAAQ,KAAK,YAAY,EAAE;AAAA,QAC1C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AAAA,MACvB;AACM,aAAO,OAAO,YAAY,CAAC;AAAA,IAC5B;AAAA,IACD,kBAAkB;AAChB,aAAO,OAAO,OAAO,KAAK,oBAAoB,EAAE,IAAI,CAAC0M,MAAMA,EAAE,MAAM,EAAE,KAAM,EAAC;AAAA,QAC1E,CAACA,GAAG7M,MAAM,IAAI,KAAK6M,EAAE,aAAaA,EAAE,SAAS,IAAI,IAAI,KAAK7M,EAAE,aAAaA,EAAE,SAAS,IAAI,IAAI;AAAA,MACpG;AAAA,IACK;AAAA,IACD,cAAc;AACZ,UAAI;AACJ,aAAO,KAAK,gBAAgB,SAAS,IAAI,IAAI,KAAK,gBAAgB,CAAC,IAAI,IAAI;AAAA,QACzE,WAAW,IAAI,MAAsB,oBAAI,KAAI,GAAI,QAAS,IAAG,KAAK;AAAA,MACnE,GAAE;AAAA,IACJ;AAAA,IACD,cAAc;AACZ,UAAI;AACJ,aAAO,KAAK,gBAAgB,SAAS,IAAI,IAAI,KAAK,gBAAgB,KAAK,gBAAgB,SAAS,CAAC,IAAI,IAAI;AAAA,QACvG,WAA2B,oBAAI,KAAM;AAAA,MACtC,GAAE;AAAA,IACJ;AAAA,IACD,yBAAyB;AACvB,YAAM,IAAoB,oBAAI;AAC9B,aAAO,OAAO,OAAO,KAAK,eAAe,EAAE,QAAQ,CAAC,MAAM;AACxD,UAAE,OAAO,QAAQ,CAAC,MAAM;AACtB,YAAE,IAAI,EAAE,SAAS;AAAA,QAC3B,CAAS;AAAA,MACF,CAAA,GAAG,MAAM,KAAK,CAAC,EAAE,KAAI;AAAA,IACvB;AAAA,IACD,4BAA4B;AAC1B,aAAO,KAAK;AAAA,QACV,KAAK,uBAAuB,IAAI,CAAC,OAAO;AAAA,UACtC,WAAW;AAAA,UACX,OAAO;AAAA,QACjB,EAAU;AAAA,MACV;AAAA,IACK;AAAA,IACD,4BAA4B;AAC1B,aAAO,OAAO,QAAQ,KAAK,eAAe,EAAE;AAAA,QAC1C,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO;AAAA,UACd,GAAG;AAAA,UACH,CAAC,CAAC,GAAG;AAAA,YACH,GAAG;AAAA,YACH,QAAQ,KAAK,oBAAoB,EAAE,MAAM;AAAA,UAC1C;AAAA,QACX;AAAA,QACQ,CAAE;AAAA,MACV;AAAA,IACK;AAAA,IACD,2BAA2B;AACzB,aAAO,KAAK,qBAAqB,KAAK;AAAA,IACvC;AAAA,EACF;AAAA,EACD,OAAO;AAAA,IACL,OAAO;AACL,WAAK,qBAAoB;AAAA,IAC1B;AAAA,IACD,oBAAoB;AAClB,WAAK,kCAAiC;AAAA,IACvC;AAAA,IACD,YAAY;AACV,WAAK,uBAAsB;AAAA,IAC5B;AAAA,IACD,UAAU;AACR,WAAK,uBAAsB;AAAA,IAC5B;AAAA,IACD,eAAe;AACb,WAAK,wBAAuB;AAAA,IAC7B;AAAA,IACD,kBAAkB;AAChB,UAAI,KAAK,iBAAiB;AACxB,aAAK,mBAAmB,KAAK;AAC7B,cAAM,IAAI,KAAK,eAAe,KAAK,gBAAgB,GAAG,IAAI,KAAK,UAAU,CAAC;AAC1E,aAAK,OAAO,MAAM,OAAO,IAAI,MAAM,KAAK,qBAAqB;AAAA,MAC9D;AACC,aAAK,qBAAqB;AAAA,IAC7B;AAAA,EACF;AAAA,EACD,UAAU;AACR,SAAK,aAAY;AAAA,EAClB;AAAA,EACD,gBAAgB;AACd,aAAS,oBAAoB,WAAW,KAAK,qBAAqB;AAAA,EACnE;AAAA,EACD,SAAS;AAAA,IACP,aAAa,GAAG,GAAG;AACjB,UAAI,KAAK,SAAQ,GAAI,CAAC,KAAK,UAAU;AACnC,mBAAW,KAAK,cAAc,GAAG;AACjC;AAAA,MACD;AACD,WAAK,QAAO,GAAI,KAAK,SAAQ,GAAI,KAAK,iBAAiB,KAAK,cAAc,GAAG,CAAC,GAAG,KAAK,UAAW,GAAE,KAAK,WAAY,GAAE,KAAK,iBAAgB,GAAI,KAAK,iBAAgB,GAAI,KAAK,aAAc,GAAE,KAAK,kBAAmB,GAAE,KAAK,4BAA2B,GAAI,KAAK,wBAAuB,GAAI,KAAK;IACjS;AAAA,IACD,WAAW;AACT,WAAK,UAAU,KAAK,MAAM,SAAS,KAAK,SAAS,KAAK,MAAM,QAAQ,KAAK,WAAW,KAAK,MAAM,mBAAmB,KAAK,0BAA0B,KAAK,MAAM;AAAA,IAC7J;AAAA,IACD,UAAU;AACR,WAAK,MAAM,EAAE,OAAO,KAAK,QAAQ,EAAE,OAAO,KAAK,EAAE,KAAK,SAAS,KAAK,SAAS,WAAW,EAAE,KAAK,UAAU,KAAK,cAAc;AAAA,IAC7H;AAAA,IACD,WAAW;AACT,YAAM,IAAI,KAAK,IAAI,OAAO,MAAM;AAChC,aAAO,QAAQ,KAAK,oBAAoB,EAAE;AAAA,QACxC,CAAC,CAAC,GAAG,CAAC,MAAM;AACV,gBAAM,EAAE,OAAO,GAAG,WAAWG,EAAC,IAAK,GAAG0P,IAAI,EAAE,OAAO,gBAAgB,EAAE,KAAK,MAAM,GAAGwG,GAAE,eAAe,IAAI,CAAC,EAAE,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,MAAM,EAAE,KAAK,MAAM,IAAI;AACjL,cAAIxG,EAAE,OAAO,MAAM,EAAE,KAAK,UAAU,IAAI,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,gBAAgB,GAAG,GAAGA,EAAE,OAAO,MAAM,EAAE,KAAK,UAAU,KAAK,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,gBAAgB,KAAK,GAAGA,EAAE,OAAO,MAAM,EAAE,KAAK,UAAU,MAAM,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,gBAAgB,GAAG,GAAG1P,MAAM,aAAa;AAC/R,kBAAM,IAAI,EAAE,OAAO,gBAAgB,EAAE,KAAK,MAAM,GAAGkW,GAAE,YAAY,IAAI,CAAC,EAAE,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,MAAM;AAC9I,cAAE,OAAO,MAAM,EAAE,KAAK,UAAU,IAAI,EAAE,MAAM,cAAc,CAAC,EAAE,MAAM,gBAAgB,GAAG,GAAG,EAAE,OAAO,MAAM,EAAE,KAAK,UAAU,KAAK,EAAE,MAAM,cAAc,CAAC,EAAE,MAAM,gBAAgB,CAAC;AAAA,UAC/K;AAAA,QACF;AAAA,MACT;AAAA,IACK;AAAA,IACD,gBAAgB;AACd,YAAM,IAAI,KAAK,aAAa,KAAK,YAAY,aAAa,KAAK,YAAY;AAC3E,WAAK,YAAYC,GAAE,UAAU,CAAC,EAAE;IACjC;AAAA,IACD,cAAc,GAAG,GAAG;AAClB,YAAM,IAAI,KAAK,KAAK,aAAa,KAAK,YAAY,aAAa,KAAK,YAAY,WAAW,IAAI,KAAK,KAAK,WAAW,KAAK,YAAY,aAAa,KAAK,YAAY;AACnK,WAAK,YAAY,EAAE,UAAW,EAAC,OAAO,CAAC,KAAK,eAAe,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,SAAS,WAAW,CAAC,GAAG,KAAK,mBAAmB,KAAK,UAAU,KAAM,GAAE,KAAK,8BAA6B;AAAA,IACjN;AAAA,IACD,YAAY;AACV,UAAI,IAAI;AACR,YAAM,IAAI;AACV,iBAAW,KAAK,KAAK,aAAa;AAChC,cAAM,IAAI,KAAK,WAAW,CAAC;AAC3B,aAAK,MAAM,CAAC,IAAI,GAAG,KAAK,IAAI,OAAO,GAAG,EAAE,QAAQF,EAAE,OAAO,EAAE,EAAE,QAAQ,GAAGA,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,aAAa,gBAAgB,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,mBAAmB,CAAC,GAAG,KAAK,KAAK;AAAA,MACzL;AAAA,IACF;AAAA,IACD,aAAa;AACX,WAAK,SAAS,EAAE,YAAa,EAAC,MAAM,CAAC,KAAK,sBAAsB,CAAC,CAAC;AAClE,YAAM,IAAI,OAAO,OAAO,KAAK,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAM,GAAE,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK;AACtG,WAAK,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AAAA,IAC1B;AAAA,IACD,mBAAmB;AACjB,WAAK,gBAAgB,KAAK,eAAe,EAAE,KAAM,EAAC,GAAG,QAAQ,KAAK,UAAU,EAAE,YAAY,CAAC,KAAK,SAAS,KAAK,OAAO,CAAC,GAAG,KAAK,IAAI,KAAK,KAAK,YAAY;AAAA,IACzJ;AAAA,IACD,8BAA8B;AAC5B,WAAK,IAAI,OAAO,MAAM,EAAE,KAAK,SAASA,EAAE,uBAAuB,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM,gBAAgB,KAAK,EAAE,MAAM,WAAW,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,MAAM,KAAK,cAAc,GAAG,KAAK;IAC1N;AAAA,IACD,0BAA0B;AACxB,YAAM,EAAE,WAAW,GAAG,SAAS,MAAM,KAAK;AAC1C,WAAK,cAAa,GAAI,KAAK,aAAa,GAAG,CAAC;AAAA,IAC7C;AAAA,IACD,gBAAgB;AACd,WAAK,OAAO,KAAK,IAAI,OAAM,GAAI,KAAK,oBAAoB;IACzD;AAAA,IACD,oCAAoC;AAClC,YAAM,IAAI,KAAK,IAAI,OAAO,IAAIA,EAAE,uBAAuB,EAAE;AACzD,UAAI,CAAC,KAAK,mBAAmB;AAC3B,UAAE,MAAM,WAAW,CAAC;AACpB;AAAA,MACD;AACD,YAAM,IAAI,KAAK,eAAe,KAAK,iBAAiB,GAAG,IAAI,KAAK,UAAU,CAAC;AAC3E,YAAM,CAAC,IAAI,EAAE,MAAM,WAAW,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,MAAM,WAAW,GAAG;AAAA,IACtF;AAAA,IACD,gCAAgC;AAC9B,YAAM,IAAI,KAAK,UAAU,OAAO,CAAC,EAAE,WAAW,IAAI,KAAK,UAAU,OAAO,CAAC,EAAE,QAAS,GAAE,IAAI;AAC1F,WAAK,2BAA2B,IAAI,KAAK;AAAA,IAC1C;AAAA,IACD,0BAA0B;AACxB,eAAS,iBAAiB,WAAW,KAAK,qBAAqB,GAAG,KAAK,IAAI,GAAG,aAAa,KAAK,eAAe,GAAG,KAAK,IAAI,GAAG,aAAa,KAAK,eAAe,GAAG,KAAK,IAAI,GAAG,SAAS,KAAK,WAAW,GAAG,KAAK,IAAI,GAAG,cAAc,KAAK,gBAAgB;AAAA,IAC1P;AAAA,IACD,sBAAsB;AACpB,YAAM,IAAI,KAAK,UAAU,OAAO,CAAC,GAAG,IAAI,KAAK,UAAU,OAAO,KAAK,SAAS,WAAW;AACvF,UAAI,KAAK,eAAe,KAAK,YAAY,QAAS,MAAK,EAAE,QAAS,KAAI,KAAK,aAAa,KAAK,UAAU,QAAS,MAAK,EAAE,QAAS;AAC9H;AACF,WAAK,cAAc,GAAG,KAAK,YAAY;AACvC,YAAM,IAAI,KAAK,eAAe,KAAK,WAAW,GAAG,IAAI,KAAK,eAAe,KAAK,SAAS;AACvF,WAAK,MAAM,2BAA2B;AAAA,QACpC,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,WAAW,KAAK;AAAA,MACxB,CAAO;AAAA,IACF;AAAA,IACD,WAAW,GAAG;AACZ,YAAM,IAAI,KAAK,YAAY,CAAC,GAAG,IAAI,KAAK,mBAAmB,CAAC;AAC5D,aAAO,EAAE,WAAW,KAAK,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,cAAc,KAAK,cAAc;AAAA,IAChI;AAAA,IACD,mBAAmB,GAAG;AACpB,YAAM,EAAE,UAAU,GAAG,QAAQ,EAAC,IAAK,EAAE;AAAA,QACnC,CAACjW,MAAMA,EAAE,aAAa,KAAK,2BAA2BA,EAAE;AAAA,MAChE;AACM,aAAO;AAAA,QACL,UAAU,CAACA,MAAM,OAAO,KAAK,aAAa,EAAEA,CAAC,IAAI,EAAE,WAAW,CAAC,EAAEA,CAAC;AAAA,QAClE,UAAU;AAAA,MAClB;AAAA,IACK;AAAA,IACD,aAAa,EAAE,aAAa,KAAK;AAC/B,WAAK,QAAQ,KAAK,IAAI,KAAK,SAAS,EAAE,KAAK,GAAG,KAAK,uBAAuB,EAAE,KAAK;AAAA,IAClF;AAAA,IACD,uBAAuB;AACrB,UAAI,CAAC,KAAK;AACR;AACF,YAAM,IAAI;AACV,WAAK,IAAI,UAAU,IAAIiW,EAAE,OAAO,EAAE,EAAE,KAAK,WAAW;AAClD,UAAE,OAAO,IAAI,EAAE,MAAM,QAAQ,EAAE,OAAO,UAAU,OAAO;AAAA,MACxD,CAAA,GAAG,KAAK,IAAI,UAAU,IAAIA,EAAE,WAAW,EAAE,EAAE,KAAK,WAAW;AAC1D,cAAM,IAAI,EAAE,OAAO,IAAI,GAAG,IAAI,EAAE,KAAI,EAAG,QAAQ;AAC/C,UAAE,MAAM,QAAQ,EAAE,wBAAwB,CAAC,CAAC,EAAE,MAAM,UAAU,EAAE,iBAAiB,CAAC,CAAC,EAAE,MAAM,gBAAgB,IAAI;AAAA,MAChH,CAAA,GAAG,KAAK,IAAI,UAAU,IAAIA,EAAE,SAAS,EAAE,EAAE,KAAK,WAAW;AACxD,cAAM,IAAI,EAAE,OAAO,IAAI,GAAG,IAAI,EAAE,KAAI,EAAG,QAAQ;AAC/C,UAAE,MAAM,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAAA,MAC7C,CAAO;AAAA,IACF;AAAA,IACD,kBAAkB;AAChB,WAAK,cAAc;AAAA,IACpB;AAAA,IACD,wBAAwB;AACtB,WAAK,cAAc;AAAA,IACpB;AAAA,IACD,mBAAmB;AACjB,WAAK,qBAAqB,IAAI,KAAK,MAAM,qBAAqB,MAAM;AAAA,IACrE;AAAA,IACD,gBAAgB,GAAG;AACjB,UAAI,KAAK;AACP;AACF,YAAM,IAAI,EAAE,SAAS,IAAI,KAAK,UAAU,OAAO,CAAC;AAChD,WAAK,mBAAmB,KAAK,eAAe,CAAC,GAAG,KAAK,qBAAqB,IAAI,KAAK,MAAM,qBAAqB,KAAK,gBAAgB,GAAG,KAAK,OAAO,MAAM,OAAO,IAAI,MAAM,KAAK,YAAY,KAAK,oBAAoB;AAAA,QACjN,MAAM,GAAG,CAAC;AAAA,QACV,QAAQ,GAAG,KAAK,SAAS,sBAAuB,EAAC,MAAM;AAAA,MAC/D,GAAS,KAAK,kCAAiC;AAAA,IAC1C;AAAA,IACD,YAAY,GAAG;AACb,YAAM,IAAI,EAAE,SAAS,IAAI,KAAK,UAAU,OAAO,CAAC,GAAG,IAAI,KAAK,eAAe,CAAC;AAC5E,WAAK,MAAM,gBAAgB,CAAC,GAAG,KAAK,mBAAmB,KAAK,MAAM,iBAAiB;AAAA,QACjF,OAAO,KAAK;AAAA,QACZ,MAAM,KAAK;AAAA,MACnB,CAAO;AAAA,IACF;AAAA,IACD,oBAAoB,GAAG,GAAG,GAAG;AAC3B,WAAK,gBAAgB,OAAO;AAAA,QAC1B,KAAK,kBAAkB,GAAG,EAAE,SAAS,EAAE;AAAA,MAC/C,EAAQ,OAAO,CAAC,GAAGjW,MAAM;AACjB,cAAM,CAAC0P,GAAG,CAAC,IAAI1P;AACf,eAAO,CAAC,GAAG,GAAG,EAAE,MAAM0P,GAAG,OAAO,EAAC,CAAE;AAAA,MACpC,GAAE,EAAE,GAAG,KAAK,eAAe,GAAG,KAAK,kBAAkB,IAAI,KAAK,MAAM,mBAAmB;AAAA,QACtF,WAAW;AAAA,QACX,WAAW;AAAA,QACX,eAAe,KAAK;AAAA,MAC5B,CAAO;AAAA,IACF;AAAA,IACD,qBAAqB;AACnB,WAAK,kBAAkB,IAAI,KAAK,gBAAgB,CAAA,GAAI,KAAK,MAAM,gBAAgB;AAAA,IAChF;AAAA,IACD,mBAAmB,GAAG,GAAG,GAAG;AAC1B,WAAK,eAAe,GAAG,KAAK,mBAAmB,GAAG,KAAK,kBAAkB,IAAI,KAAK,MAAM,mBAAmB,EAAE,WAAW,GAAG,WAAW,EAAC,CAAE;AAAA,IAC1I;AAAA,IACD,oBAAoB;AAClB,WAAK,kBAAkB,IAAI,KAAK,eAAe,MAAM,KAAK,MAAM,gBAAgB;AAAA,IACjF;AAAA,IACD,qBAAqB,GAAG;AACtB,QAAE,UAAU,IAAIuG,EAAE,cAAc,IAAI,CAAC,EAAE,EAAE;AAAA,QACvC,GAAGA,EAAE,cAAc;AAAA,QACnB;AAAA,MACR,GAAS,EAAE,UAAU,IAAIA,EAAE,cAAc,QAAQ,EAAE;AAAA,QAC3C,GAAGA,EAAE,cAAc;AAAA,QACnB;AAAA,MACR;AAAA,IACK;AAAA,IACD,sBAAsB,GAAG;AACvB,QAAE,UAAU,IAAIA,EAAE,cAAc,IAAI,CAAC,EAAE,EAAE;AAAA,QACvC,GAAGA,EAAE,cAAc;AAAA,QACnB;AAAA,MACR,GAAS,EAAE,UAAU,IAAIA,EAAE,cAAc,QAAQ,EAAE;AAAA,QAC3C,GAAGA,EAAE,cAAc;AAAA,QACnB;AAAA,MACR;AAAA,IACK;AAAA,IACD,WAAW,GAAG;AACZ,YAAM,IAAI,EAAE,UAAU,SAAS,KAAK,gBAAgB;AACpD,WAAK,UAAU,OAAO,EAAE,OAAM,CAAE,GAAG,KAAK;AACxC,YAAM,IAAI,EAAE,UAAU,IAAI,KAAK,cAAc;AAC7C,WAAK,gBAAgB;AAAA,QACnB,OAAO;AAAA,QACP,aAAa,EAAE,UAAU,IAAI,KAAK,cAAc;AAAA,MACjD,GAAE,KAAK,gBAAgB,EAAE,GAAG,EAAE,UAAS;AACxC,iBAAW,KAAK,KAAK;AACnB,aAAK,YAAY,GAAG,CAAC,GAAG,KAAK,mBAAmB,CAAC;AACnD,WAAK,gBAAe,GAAI,KAAK,iBAAkB,GAAE,KAAK,0BAAyB,GAAI,KAAK,kCAAmC,GAAE,KAAK,oBAAmB,GAAI,KAAK;IAC/J;AAAA,IACD,oBAAoB;AAClB,YAAM,EAAE,WAAW,GAAG,SAAS,MAAM,KAAK;AAC1C,WAAK,MAAM,wBAAwB;AAAA,QACjC,WAAW,IAAI,KAAK,CAAC,EAAE,YAAa;AAAA,QACpC,SAAS,IAAI,KAAK,CAAC,EAAE,YAAa;AAAA,MAC1C,CAAO;AAAA,IACF;AAAA,IACD,iCAAiC;AAC/B,YAAM,IAAI,KAAK,SAAS,aAAa,IAAI,KAAK,UAAU,OAAM,GAAI,IAAI,EAAE,CAAC,EAAE,QAAO,IAAK,EAAE,CAAC,EAAE,QAAO,GAAI,KAAK,KAAK,mBAAmB,KAAK,qBAAqB,KAAK,IAAI,GAAGjW,KAAK,KAAK,oBAAoB,KAAK,qBAAqB,KAAK,IAAI,GAAG0P,IAAI,IAAI,KAAK,EAAE,CAAC,EAAE,QAAO,IAAK,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,EAAE,QAAS,IAAG1P,CAAC;AAC/S,aAAO,EAAE,WAAW0P,GAAG,SAAS,EAAC;AAAA,IAClC;AAAA,IACD,uBAAuB,GAAG;AACxB,YAAM,EAAE,WAAW,GAAG,SAAS,MAAM,KAAK,kCAAkC,IAAI,KAAK,UAAU,UAAU1P,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,QAAO,GAAI0P,IAAI,EAAE,QAAS,IAAG,EAAE,CAAC,EAAE,QAAO,GAAI,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE;AACvM,WAAK,mBAAmBA,IAAI1P,IAAI,GAAG,KAAK,oBAAoB,IAAIA,IAAI,GAAG,KAAK,IAAI,OAAO,IAAIiW,EAAE,OAAO,QAAQ,EAAE,KAAK,SAAS,KAAK,gBAAgB,GAAG,KAAK,IAAI,OAAO,IAAIA,EAAE,OAAO,SAAS,EAAE;AAAA,QAC1L;AAAA,QACA,IAAI,KAAK,oBAAoB,KAAK,qBAAqB;AAAA,MACxD,EAAC,KAAK,SAAS,KAAK,iBAAiB;AAAA,IACvC;AAAA,IACD,kBAAkB;AAChB,WAAK,oBAAoB;AAAA,IAC1B;AAAA,IACD,gBAAgB;AACd,WAAK,oBAAoB;AAAA,IAC1B;AAAA,IACD,eAAe,GAAG;AAChB,QAAE,YAAY;AACd,YAAM,IAAI,KAAK;AAAA,QACb,EAAE;AAAA,QACF,KAAK,SAAS,cAAc,KAAK;AAAA,MACzC;AACM,WAAK,mBAAmB,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,OAAO,IAAIA,EAAE,OAAO,QAAQ,EAAE,KAAK,SAAS,KAAK,gBAAgB,GAAG,KAAK;IAC3H;AAAA,IACD,gBAAgB,GAAG;AACjB,QAAE,YAAY;AACd,YAAM,IAAI,KAAK,SAAS,aAAa,IAAI,KAAK;AAAA,QAC5C,KAAK,SAAS,cAAc,EAAE;AAAA,QAC9B,KAAK,SAAS,cAAc,KAAK;AAAA,MACzC,GAAS,IAAI,IAAI;AACX,WAAK,oBAAoB,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,OAAO,IAAIA,EAAE,OAAO,SAAS,EAAE,KAAK,SAAS,KAAK,iBAAiB,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,kBAAiB;AAAA,IAC5J;AAAA,IACD,yBAAyB;AACvB,YAAM,IAAI,KAAK,aAAa,KAAK,YAAY,aAAa,KAAK,YAAY,WAAW,IAAI,KAAK,WAAW,KAAK,YAAY,aAAa,KAAK,YAAY,SAAS,IAAI,KAAK,eAAe,CAAC,GAAG,IAAI,KAAK,eAAe,CAAC,GAAGjW,IAAI,KAAK,SAAS,aAAa0P,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG1P,CAAC;AAC9Q,WAAK,YAAY,EAAE,UAAW,EAAC,OAAO0P,CAAC,EAAE,MAAM,CAAC,GAAG,KAAK,mBAAmB,KAAK,UAAU,QAAQ,KAAK;AACvG,iBAAW,KAAK,KAAK;AACnB,aAAK,YAAY,GAAG,KAAK,SAAS,GAAG,KAAK,mBAAmB,CAAC;AAChE,WAAK,mBAAmB,KAAK,iBAAgB,GAAI,KAAK,0BAA2B,GAAE,KAAK;IACzF;AAAA,IACD,YAAY,GAAG,GAAG;AAChB,YAAM,IAAI,KAAK,MAAM,CAAC,GAAG,IAAI,KAAK;AAAA,QAChC,KAAK,YAAY,CAAC;AAAA,MAC1B;AACM,QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,GAAG,KAAK,IAAI,OAAO,IAAIuG,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC;AAAA,IACjH;AAAA,IACD,mBAAmB,GAAG;AACpB,WAAK,IAAI,OAAO,IAAIA,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,UAAU,YAAY,EAAE,KAAK,WAAW;AAC1E,YAAI,IAAI,EAAE,OAAO,IAAI,GAAG,IAAI,EAAE,OAAO;AACrC,UAAE,KAAK,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,MAAM,eAAe,OAAO;AAAA,MAC3E,CAAO;AAAA,IACF;AAAA,IACD,kBAAkB;AAChB,YAAM,IAAI,IAAIA,EAAE,UAAU,WAAWA,EAAE,SAAS;AAChD,WAAK,IAAI,UAAU,CAAC,EAAE,KAAK,KAAK,KAAK,aAAa,EAAE,KAAK,SAAS,KAAK,iBAAiB,EAAE,KAAK,UAAU,KAAK,cAAc;AAAA,IAC7H;AAAA,IACD,mBAAmB;AACjB,aAAO,QAAQ,KAAK,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM;AACpD,cAAM,IAAI,EAAE,KAAI,EAAG,EAAE,CAAC,MAAM,KAAK,UAAU,KAAK,eAAe,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,KAAK,cAAc,EAAE,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc;AAC5J,aAAK,IAAI;AAAA,UACP,IAAIA,EAAE,aAAa,IAAI,CAAC;AAAA,QAClC,EAAU,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AAAA,MAC/B,CAAO;AAAA,IACF;AAAA,IACD,4BAA4B;AAC1B,aAAO,KAAK,KAAK,eAAe,EAAE,QAAQ,CAAC,MAAM;AAC/C,cAAM,IAAI;AACV,aAAK,IAAI;AAAA,UACP,IAAIA,EAAE,YAAY,IAAI,CAAC;AAAA,QACjC,EAAU,KAAK,SAAS,GAAG;AACjB,YAAE,OAAO,IAAI,EAAE,KAAK,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;AAAA,QAC5G,CAAS,GAAG,KAAK,IAAI;AAAA,UACX,IAAIA,EAAE,kBAAkB,IAAI,CAAC;AAAA,QACvC,EAAU,KAAK,SAAS,GAAG;AACjB,gBAAM,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,QAAS,CAAA,IAAI;AACjE,YAAE,OAAO,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,SAAS,EAAE,EAAE,KAAK,UAAU,EAAE,oBAAoB;AAAA,QAC1G,CAAS;AAAA,MACT,CAAO;AAAA,IACF;AAAA,IACD,cAAc,GAAG;AACf,aAAO,KAAK,UAAU,KAAK,eAAe,EAAE,aAAa,EAAE,SAAS,CAAC;AAAA,IACtE;AAAA,IACD,kBAAkB,GAAG;AACnB,UAAI,CAAC;AACH,eAAO;AACT,UAAI,EAAE,aAAa,EAAE,SAAS;AAC5B,cAAM,IAAI,IAAI,KAAK,EAAE,SAAS,GAAG,IAAI,IAAI,KAAK,EAAE,OAAO,GAAG,IAAI,KAAK,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC;AAClG,eAAO,KAAK,IAAI,GAAG,KAAK,YAAY;AAAA,MAC5C,OAAa;AACL,cAAM,IAAI,KAAK,KAAK,0BAA0B;AAC9C,eAAO,KAAK,IAAI,GAAG,KAAK,YAAY;AAAA,MACrC;AAAA,IACF;AAAA,IACD,eAAe;AACb,UAAI,CAAC,KAAK;AACR;AACF,YAAM,IAAI,KAAK,SAAS,aAAa,IAAI,KAAK;AAC9C,WAAK,IAAI,OAAO,MAAM,EAAE,QAAQ,GAAGA,EAAE,OAAO,IAAIA,EAAE,OAAO,UAAU,EAAE,EAAE,KAAK,SAAS,KAAK,gBAAgB,EAAE,KAAK,UAAU,IAAI,KAAK,qBAAqB,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,kBAAkB,EAAE,KAAK,KAAK,CAAC,KAAK,kBAAkB,EAAE,KAAK,QAAQ,oBAAoB,EAAE,GAAG,cAAc,MAAM,KAAK,oBAAoB,EAAE,EAAE,GAAG,cAAc,MAAM,KAAK,oBAAoB,EAAE,EAAE;AAAA,QAC7W,EAAE,KAAI,EAAG,GAAG,SAAS,KAAK,eAAe,EAAE,GAAG,QAAQ,KAAK,cAAc,EAAE,GAAG,OAAO,KAAK,aAAa;AAAA,MAC/G,GAAS,KAAK,IAAI,OAAO,MAAM,EAAE,QAAQ,GAAGA,EAAE,OAAO,IAAIA,EAAE,OAAO,WAAW,EAAE,EAAE;AAAA,QACzE;AAAA,QACA,IAAI,KAAK,oBAAoB,KAAK,qBAAqB;AAAA,MAC/D,EAAQ,KAAK,KAAK,CAAC,KAAK,kBAAkB,EAAE,KAAK,SAAS,KAAK,oBAAoB,KAAK,qBAAqB,CAAC,EAAE,KAAK,UAAU,IAAI,KAAK,qBAAqB,CAAC,EAAE,KAAK,QAAQ,oBAAoB,EAAE,GAAG,cAAc,MAAM,KAAK,oBAAoB,EAAE,EAAE,GAAG,cAAc,MAAM,KAAK,oBAAoB,EAAE,EAAE;AAAA,QACnS,EAAE,KAAI,EAAG,GAAG,SAAS,KAAK,eAAe,EAAE,GAAG,QAAQ,KAAK,eAAe,EAAE,GAAG,OAAO,KAAK,aAAa;AAAA,MAChH;AAAA,IACK;AAAA,IACD,mBAAmB;AACjB,WAAK,IAAI,UAAU,KAAKA,EAAE,UAAU,EAAE,EAAE,OAAM,GAAI,KAAK,0BAA2B,GAAE,KAAK,oBAAmB;AAAA,IAC7G;AAAA,IACD,4BAA4B;AAC1B,YAAM,IAAI,KAAK,qBAAqB,IAAI,KAAK,kBAAkB,KAAK,4BAA4B,KAAK;AACrG,aAAO,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM;AACpC,cAAMjW,IAAI,KAAK,IAAI,OAAO,GAAG,EAAE;AAAA,UAC7B,GAAGiW,EAAE,cAAc,IAAIA,EAAE,cAAc,IAAI,CAAC;AAAA,UAC5C;AAAA,QACD,EAAC,KAAK,aAAa,eAAe,CAAC,GAAG,GAAG,EAAE,OAAOvG,GAAG,QAAQ,EAAC,IAAK;AACpE,aAAK,cAAc;AAAA,UACjB,QAAQ;AAAA,UACR,UAAU1P;AAAA,UACV,OAAO0P;AAAA,UACP,MAAM;AAAA,QAChB,CAAS,GAAG,KAAK,wBAAwB;AAAA,UAC/B,QAAQ;AAAA,UACR,UAAU1P;AAAA,UACV,OAAO0P;AAAA,UACP,MAAM;AAAA,QAChB,CAAS;AAAA,MACF,CAAA,GAAG,OAAO,QAAQ,KAAK,eAAe,EAAE;AAAA,QACvC,CAAC,CAAC,GAAG,CAAC,GAAG1P,MAAM;AACb,gBAAM,EAAE,OAAO0P,GAAG,WAAW,GAAG,OAAO,EAAG,IAAG,GAAGC,IAAI,KAAK,uBAAuB,KAAK,kBAAkB3P,IAAI,IAAIlE,IAAI,IAAI,KAAK,uBAAuB,KAAK,gBAAgB+T,IAAI,KAAK,IAAI,OAAO,GAAG,EAAE,QAAQ,GAAGoG,EAAE,cAAc,UAAU,EAAE,EAAE,KAAK,aAAa,eAAe,CAAC,GAAG,EAAE,GAAG,aAAa,MAAM,KAAK,qBAAqB,CAAC,CAAC,EAAE,GAAG,cAAc,MAAM,KAAK,sBAAsB,CAAC,CAAC;AACzX,eAAK,sBAAsB;AAAA,YACzB,MAAM;AAAA,YACN,OAAOvG;AAAA,YACP,WAAW;AAAA,YACX,WAAW5T;AAAA,UACvB,CAAW,GAAG,KAAK,cAAc;AAAA,YACrB,OAAO4T;AAAA,YACP,OAAO;AAAA,YACP,WAAWC;AAAA,YACX,UAAUE;AAAA,UACtB,CAAW;AAAA,QACF;AAAA,MACT;AAAA,IACK;AAAA,IACD,cAAc;AAAA,MACZ,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,OAAO;AAAA,MACP,MAAM;AAAA,IACZ,GAAO;AACD,YAAM7P,IAAI,EAAE,KAAI,EAAG,EAAE,CAAC0P,MAAM,KAAK,UAAU,KAAK,eAAeA,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,KAAK,cAAc,EAAE,GAAG,CAACA,MAAM,KAAK,OAAOA,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc;AAC5J,QAAE,OAAO,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAGuG,EAAE,aAAa,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,QAAQ,QAAQC,GAAE,YAAY,IAAI,CAAC,GAAG,EAAE,KAAK,UAAU,CAAC,EAAE,KAAK,mBAAmB,OAAO,EAAE,KAAK,kBAAkB,OAAO,EAAE,KAAK,gBAAgB,CAAC,EAAE,KAAK,KAAK,CAACxG,MAAM1P,EAAE0P,CAAC,CAAC;AAAA,IAC/O;AAAA,IACD,wBAAwB;AAAA,MACtB,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,OAAO;AAAA,MACP,MAAM;AAAA,IACZ,GAAO;AACD,QAAE,QAAQ,CAAC1P,MAAM;AACf,cAAM0P,IAAI,GAAG1P,EAAE,SAAS;AACxB,aAAK,kBAAkB0P,CAAC,IAAI;AAAA,UAC1B,GAAG,KAAK,kBAAkBA,CAAC,KAAK,CAAE;AAAA,UAClC,CAAC,CAAC,GAAG1P,EAAE;AAAA,QACjB;AACQ,cAAM,IAAI,EAAE,OAAO,QAAQ,EAAE;AAAA,UAC3B,GAAGiW,EAAE,YAAY,IAAIA,EAAE,YAAY,IAAI,CAAC;AAAA,UACxC;AAAA,QACD,EAAC,KAAK,MAAM,KAAK,UAAU,KAAK,eAAejW,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,MAAM,KAAK,OAAOA,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,GAAG,EAAE,KAAK,QAAQ,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE,MAAMA,CAAC;AAC9J,aAAK,gBAAgB0P,CAAC,IAAI;AAAA,UACxB,GAAG,KAAK,gBAAgBA,CAAC,KAAK,CAAE;AAAA,UAChC;AAAA,QACV,GAAW,EAAE,OAAO,MAAM,EAAE,QAAQ,GAAGuG,EAAE,kBAAkB,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,KAAK,KAAK,UAAU,KAAK,eAAejW,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,SAAS,EAAE,EAAE,KAAK,UAAU,KAAK,oBAAoB,EAAE,KAAK,QAAQ,aAAa,EAAE,MAAMA,CAAC,EAAE,GAAG,aAAa,CAAC,MAAM;AACpQ,eAAK,oBAAoB,GAAGA,GAAG,CAAC,GAAG,KAAK,gBAAgB0P,CAAC,EAAE;AAAA,YACzD,CAACC,MAAMA,EAAE,QAAQ,GAAGsG,EAAE,YAAY,YAAY,EAAE;AAAA,UAC5D;AAAA,QACA,CAAS,EAAE,GAAG,YAAY,MAAM;AACtB,eAAK,mBAAkB,GAAI,KAAK,gBAAgBvG,CAAC,EAAE;AAAA,YACjD,CAAC,MAAM,EAAE,QAAQ,GAAGuG,EAAE,YAAY,YAAY,EAAE;AAAA,UAC5D;AAAA,QACA,CAAS;AAAA,MACT,CAAO;AAAA,IACF;AAAA,IACD,sBAAsB;AACpB,aAAO,QAAQ,KAAK,SAAS,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM;AACpD,cAAM,EAAE,OAAO,GAAG,OAAOjW,GAAG,QAAQ0P,GAAG,WAAW,EAAC,IAAK,GAAG,IAAI,MAAM,IAAI,IAAI,KAAK,mBAAmBC,IAAI,KAAK,oBAAoB,KAAK,uBAAuB,GAAG7T,IAAI,KAAK,KAAK,iBAAiB,KAAK,KAAK,sBAAsB6T;AAChO,aAAK,sBAAsB;AAAA,UACzB,WAAW7T;AAAA,UACX,MAAM;AAAA,UACN,OAAO;AAAA,UACP,WAAW;AAAA,QACrB,CAAS;AACD,cAAM+T,IAAI,KAAK,IAAI,OAAO,GAAG,EAAE,KAAK,cAAc,CAAC,EAAE,QAAQoG,EAAE,YAAY,EAAE,EAAE,QAAQ,GAAGA,EAAE,UAAU,IAAI,CAAC,IAAI,EAAE;AACjH,aAAK,eAAe;AAAA,UAClB,OAAO;AAAA,UACP,UAAUpG;AAAA,UACV,WAAW/T;AAAA,QACrB,CAAS,GAAG,KAAK,SAAS;AAAA,UAChB,QAAQ4T;AAAA,UACR,OAAO;AAAA,UACP,UAAUG;AAAA,UACV,WAAW/T;AAAA,UACX,MAAM;AAAA,QAChB,CAAS,GAAG,KAAK,cAAc;AAAA,UACrB,OAAO;AAAA,UACP,OAAOkE;AAAA,UACP,UAAU6P;AAAA,UACV,WAAW/T;AAAA,QACrB,CAAS;AAAA,MACT,CAAO;AAAA,IACF;AAAA,IACD,sBAAsB;AAAA,MACpB,WAAW;AAAA,MACX,MAAM;AAAA,MACN,WAAW;AAAA,IACjB,GAAO;AACD,WAAK,IAAI,OAAO,MAAM,EAAE;AAAA,QACtB,GAAGma,EAAE,gBAAgB,IAAIA,EAAE,gBAAgB,IAAI,CAAC;AAAA,QAChD;AAAA,MACR,EAAQ,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,SAAS,KAAK,SAAS,cAAc,CAAC,EAAE,KAAK,UAAU,KAAK,cAAc,EAAE,KAAK,QAAQ,QAAQC,GAAE,eAAe,IAAI,CAAC,GAAG,EAAE,MAAM,cAAc,IAAI,YAAY,QAAQ;AAAA,IAC1M;AAAA,IACD,eAAe;AAAA,MACb,OAAO;AAAA,MACP,WAAW;AAAA,MACX,UAAU;AAAA,IAChB,GAAO;AACD,QAAE,OAAO,MAAM,EAAE,KAAK,SAASD,EAAE,YAAY,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,SAAS,KAAK,SAAS,WAAW,EAAE,KAAK,UAAU,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,CAAC,EAAE,SAAQ,CAAE,EAAE,MAAM,WAAW,GAAG;AAAA,IAC/M;AAAA,IACD,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,MACX,OAAO;AAAA,MACP,MAAMjW;AAAA,IACZ,GAAO;AACD,YAAM0P,IAAI;AACV,QAAE,UAAUuG,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAK,EAAG,OAAO,MAAM,EAAE,QAAQA,EAAE,WAAW,EAAE,EAAE,KAAK,KAAK,KAAK,aAAa,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,MAAM,GAAG,EAAE,KAAK,MAAM,GAAG,EAAE,KAAK,SAAS,KAAK,iBAAiB,EAAE,KAAK,UAAU,KAAK,cAAc,EAAE,KAAK,gBAAgB,CAAC,EAAE,KAAK,UAAU,SAAS,EAAE,KAAK,UAAU,OAAO,EAAE,MAAM,QAAQ,CAAC,EAAE,GAAG,aAAa,SAAS,GAAG,GAAG;AAC9V,UAAE,OAAO,IAAI,EAAE,QAAQ,GAAGA,EAAE,SAAS,aAAa,EAAE,GAAGvG,EAAE,mBAAmB,GAAG,GAAG1P,CAAC;AAAA,MAC3F,CAAO,EAAE,GAAG,YAAY,WAAW;AAC3B,UAAE,OAAO,IAAI,EAAE,QAAQ,GAAGiW,EAAE,SAAS,aAAa,EAAE,GAAGvG,EAAE,kBAAiB;AAAA,MAClF,CAAO;AAAA,IACF;AAAA,IACD,cAAc;AAAA,MACZ,UAAU;AAAA,MACV,WAAW;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,IACb,GAAO;AACD,UAAI,CAAC,KAAK;AACR;AACF,YAAM1P,IAAI;AAAA,QACR,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG,KAAK,iBAAiB;AAAA,QACzB,GAAG,KAAK;AAAA,QACR,QAAQ;AAAA,MAChB;AACM,QAAE,OAAO,MAAM,EAAE,KAAK,SAASiW,EAAE,OAAO,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,KAAKjW,EAAE,CAAC,EAAE,KAAK,KAAKA,EAAE,CAAC,EAAE,KAAK,SAASA,EAAE,CAAC,EAAE,KAAK,UAAUA,EAAE,CAAC,EAAE,KAAK,MAAMA,EAAE,MAAM,EAAE,KAAK,MAAMA,EAAE,MAAM,EAAE,MAAM,QAAQ,KAAK,OAAO,YAAY,OAAO,GAAG,EAAE,OAAO,MAAM,EAAE,KAAK,SAASiW,EAAE,WAAW,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,KAAKjW,EAAE,CAAC,EAAE,KAAK,KAAKA,EAAE,CAAC,EAAE,KAAK,SAASA,EAAE,CAAC,EAAE,KAAK,UAAUA,EAAE,CAAC,EAAE,KAAK,MAAMA,EAAE,MAAM,EAAE,KAAK,MAAMA,EAAE,MAAM,EAAE,MAAM,QAAQ,KAAK,wBAAwB,CAAC,CAAC,EAAE,MAAM,UAAU,KAAK,iBAAiB,CAAC,CAAC,EAAE,MAAM,gBAAgB,IAAI,GAAG,EAAE,OAAO,MAAM,EAAE,KAAK,SAASiW,EAAE,SAAS,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,KAAK,iBAAiB,CAAC,EAAE,KAAK,MAAM,QAAQ,EAAE,MAAM,eAAe,OAAO,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,eAAe,GAAG,EAAE,MAAM,mBAAmB,OAAO,EAAE,MAAM,eAAe,QAAQ,EAAE,MAAM,QAAQ,KAAK,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC;AAAA,IACt1B;AAAA,IACD,iBAAiB,GAAG;AAClB,UAAI,GAAG;AACP,cAAQ,KAAK,QAAQ,IAAI,EAAE,MAAM,CAAC,MAAM,OAAO,SAAS,EAAE,SAAS,GAAG,KAAK,IAAI,EAAE,MAAM,CAAC,MAAM,OAAO,SAAS,EAAE,OAAO,CAAC,GAAG,SAAQ;AAAA,IACpI;AAAA,IACD,wBAAwB,GAAG;AACzB,UAAI,IAAI,EAAE,MAAM,CAAC;AACjB,aAAO,EAAE,UAAU,KAAK,OAAO,MAAM,KAAK,EAAE;IAC7C;AAAA,IACD,eAAe,GAAG;AAChB,aAAOE,GAAE,CAAC,EAAE,IAAI,KAAK,WAAW,SAAS,EAAE;IAC5C;AAAA,IACD,eAAe,GAAG;AAChB,YAAM,IAAI,IAAI,KAAK,CAAC,EAAE,kBAAiB;AACvC,aAAOA,GAAE,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,UAAU,KAAK,WAAW,EAAE,EAAE,OAAM;AAAA,IACnE;AAAA,IACD,uBAAuB;AACrB,YAAM,IAAI,KAAK,UAAU,OAAM;AAC/B,aAAO,EAAE,WAAW,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC;IACvC;AAAA,IACD,sBAAsB,GAAG;AACvB,aAAOA,GAAE,UAAU,CAAC,EAAE,OAAO,qBAAqB;AAAA,IACnD;AAAA,IACD,aAAa,GAAG;AACd,UAAI,EAAE,UAAU;AACd,eAAO;AACT,YAAM,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,IAAI,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,QAAO,IAAK,CAAC,GAAGnW,IAAI,EAAE;AAAA,QACtG,CAAC,GAAG,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,EAAE,SAAS,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,MACzE,EAAQ;AAAA,QACA,CAAC,GAAG,MAAM,KAAK,IAAI,GAAG,CAAC;AAAA,QACvB,IAAI;AAAA,MACZ;AACM,UAAI0P,IAAI,EAAE;AAAA,QACR,CAAC,GAAG,MAAM;AACR,gBAAMC,IAAI,EAAE,IAAI,CAAC;AACjB,cAAI,CAACA;AACH,gBAAI,KAAK,sBAAsB;AAC7B,oBAAMjR,IAAI;AAAA,gBACR,EAAE,EAAE,SAAS;AAAA,gBACbsB;AAAA,cAChB;AACc,qBAAO;AAAA,gBACL;AAAA,gBACA,EAAE,WAAWtB,EAAE,YAAW,GAAI,OAAO,EAAG;AAAA,cACxD;AAAA,YACa;AACC,qBAAO,CAAC,CAAC;AACb,gBAAM5C,IAAI,EAAE,EAAE,SAAS,GAAG+T,IAAI,EAAEF,EAAE,SAAS;AAC3C,cAAIE,EAAE,QAAS,IAAG/T,EAAE,QAAO,IAAKkE,GAAG;AACjC,kBAAMtB,IAAI,EAAEmR,GAAG,CAAC7P,CAAC,GAAG4P,IAAI,EAAE9T,GAAGkE,CAAC;AAC9B,mBAAO;AAAA,cACL;AAAA,cACA,EAAE,WAAW4P,EAAE,YAAW,GAAI,OAAO,EAAG;AAAA,cACxC,EAAE,WAAWlR,EAAE,YAAW,GAAI,OAAO,EAAG;AAAA,cACxCiR;AAAA,YACd;AAAA,UACW;AACC,mBAAO,CAAC,GAAGA,CAAC;AAAA,QACf;AAAA,MACT;AACM,aAAO,KAAK,yBAAyBD,IAAI;AAAA,QACvC,EAAE,WAAW;AAAA,UACX,EAAE,EAAE,CAAC,EAAE,SAAS;AAAA,UAChB,CAAC1P;AAAA,QACX,EAAU,YAAW,GAAI,OAAO,EAAG;AAAA,QAC3B,GAAG0P;AAAA,MACJ,IAAGA;AAAA,IACL;AAAA,IACD,oBAAoB,GAAG;AACrB,aAAO,KAAK,0BAA0B,IAAI,CAAC,MAAM,EAAE;AAAA,QACjD,CAACP,MAAMA,EAAE,cAAc,EAAE;AAAA,MAC1B,KAAI,CAAC;AAAA,IACP;AAAA,EACF;AACH,CAAC;ACtoLD,MAAMiH,KAAuB,IAAI,KAAK,aAAa,QAAW;AAAA,EAC5D,sBAAsB;AACxB,CAAC,GAGYC,KAAsB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEMC,KAAiB,CAACC,MAAiB;AACvC,QAAMC,IAAU,KAAK,MAAMD,IAAO,EAAE,GAC9BE,IAAU,KAAK,MAAMF,IAAO,EAAE,IAAI,IAClCG,IAAQ,KAAK,MAAMH,IAAO,IAAI;AACpC,SAAIG,MAAU,IACL,GAAGD,CAAO,IAAIL,GAAqB,OAAOI,CAAO,CAAC,KAElD,GAAGE,CAAK,IAAIN,GAAqB;AAAA,IACtCK;AAAA,EACD,CAAA,IAAIL,GAAqB,OAAOI,CAAO,CAAC;AAE7C,GAEexe,KAAAA,EAAI,OAAO;AAAA,EACxB,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,SAAS;AAAA,MACP,MAAM,CAAC,OAAO,MAAM;AAAA,MACpB,UAAU;AAAA,IACZ;AAAA,IACA,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,EACF;AAAA,EACA,OAAO;AACE,WAAA;AAAA,MACL,SAAS;AAAA,MACT,kBAAkB;AAAA,MAClB,aAAa;AAAA,MACb,UAAU;AAAA,MACV,eAAe;AAAA,MACf,aAAa;AAAA,MACb,UAAU;AAAA,MACV,aAAa;AAAA,MACb,WAAW;AAAA,MACX,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA,EACA,UAAU;AAAA,IACR,cAAc;AACZ,aACE,MAAM,QAAQ,KAAK,OAAO,IAAI,KAAK,UAAU,CAAC,EAAE,KAAK,KAAK,QAAS,CAAA;AAAA,IAEvE;AAAA,IACA,uBAAgC;AAE3B,cAAA,KAAK,cAAc,KAAK,YAAY,QACrC,CAAC,KAAK,aACN,CAAC,KAAK,SAAS;AAAA,IAEnB;AAAA,IACA,eAAe;AACb,YAAM2e,IAAe,KAAK;AAEnB,cAAAA,KAAA,gBAAAA,EAAc,cAAa,KAAQ,SAAS;AAAA,IACrD;AAAA,EACF;AAAA,EACA,UAAU;AACR,SAAK,WAAW,GAChB,KAAK,iBAAiB,GACtB,KAAK,8BAA8B;AAAA,EACrC;AAAA,EACA,YAAY;AACV,SAAK,aAAa,GAClB,KAAK,cAAc,GACnB,KAAK,0BAA0B;AAAA,EACjC;AAAA,EAEA,SAAS;AAAA,IACP,eAAe,GAAG;AAEZ,UADI,QAAA,IAAI,EAAE,EAAA,CAAG,GACb,KAAK,SAAS,UAAU;AAC1B,aAAK,cAAc;AAEnB;AAAA,MAAA;AAEA,aAAK,UAAU,IACf,KAAK,YAAY,IACjB,KAAK,UAAU;AAAA,IAEnB;AAAA,IACA,aAAa;AACS,MAAAN,GAAA,QAAQ,CAACO,MAAU;AACrC,aAAK,eAAeA,CAAK;AAAA,MAAA,CAC1B;AAAA,IACH;AAAA,IACA,eAAe;AACO,MAAAP,GAAA,QAAQ,CAACO,MAAU;AACrC,aAAK,iBAAiBA,CAAK;AAAA,MAAA,CAC5B;AAAA,IACH;AAAA,IACA,eAAeC,GAAe;AACtB,YAAAC,IAAS,KAAK,MAAM,QACpBC,IAAoB,KAAK,MAAM;AAC9B,MAAAD,EAAA;AAAA,QACLD;AAAA,QACA,CAACD,MAAU;AACT,UAAIC,MAAU,iBACP,KAAA,cAAcP,GAAeQ,EAAO,QAAQ,IAG/CD,MAAU,iBACZ,KAAK,mBAAoBC,EAAO,cAAcA,EAAO,WAAY,KACjEC,EAAkB,MAAM;AAAA,YACtB;AAAA,YACA,KAAK,iBAAiB,SAAS;AAAA,UAAA,IAInC,KAAK,MAAMF,GAAO,EAAE,OAAAD,GAAO,QAAQ,MAAM;AAAA,QAC3C;AAAA,QACA;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,iBAAiBC,GAAe;AACxB,YAAAC,IAAS,KAAK,MAAM,QACpBC,IAAoB,KAAK,MAAM;AAC9B,MAAAD,EAAA;AAAA,QACLD;AAAA,QACA,CAACD,MAAU;AACT,UAAIC,MAAU,iBACP,KAAA,cAAcP,GAAeQ,EAAO,QAAQ,IAG/CD,MAAU,iBACZ,KAAK,mBAAoBC,EAAO,cAAcA,EAAO,WAAY,KACjEC,EAAkB,MAAM;AAAA,YACtB;AAAA,YACA,KAAK,iBAAiB,SAAS;AAAA,UAAA,IAInC,KAAK,MAAMF,GAAO,EAAE,OAAAD,GAAO,QAAQ,MAAM;AAAA,QAC3C;AAAA,QACA;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,mBAAmB;AACX,YAAAI,IAAY,KAAK,MAAM;AAC7B,MAAKA,MAGDA,EAAU,YACZ,KAAK,WAAW,EAAI,GAEb,SAAA,iBAAiB,WAAW,KAAK,yBAAyB,GAC1D,SAAA,iBAAiB,WAAW,KAAK,aAAa;AAAA,IACzD;AAAA,IACA,gBAAgB;AACP,aAAA,oBAAoB,WAAW,KAAK,aAAa,GAC/C,SAAA,oBAAoB,WAAW,KAAK,yBAAyB;AAAA,IACxE;AAAA,IACA,4BAA4B;AAC1B,MACE,SAAS,qBACT,SAAS,2BACT,SAAS,wBACT,SAAS,uBAEA,SAAA;AAAA,QACP;AAAA,QACA,KAAK;AAAA,MAAA,GAEE,SAAA;AAAA,QACP;AAAA,QACA,KAAK;AAAA,MAAA,GAEE,SAAA;AAAA,QACP;AAAA,QACA,KAAK;AAAA,MAAA,GAEE,SAAA;AAAA,QACP;AAAA,QACA,KAAK;AAAA,MAAA,KAGP,QAAQ,IAAI,kDAAkD;AAAA,IAElE;AAAA,IACA,gCAAgC;AAC9B,MACE,SAAS,qBACT,SAAS,2BACT,SAAS,wBACT,SAAS,uBAEA,SAAA;AAAA,QACP;AAAA,QACA,KAAK;AAAA,MAAA,GAEE,SAAA;AAAA,QACP;AAAA,QACA,KAAK;AAAA,MAAA,GAEE,SAAA;AAAA,QACP;AAAA,QACA,KAAK;AAAA,MAAA,GAEE,SAAA;AAAA,QACP;AAAA,QACA,KAAK;AAAA,MAAA,KAGP,QAAQ,IAAI,kDAAkD;AAAA,IAElE;AAAA,IACA,yBAAyB;AACvB,WAAK,eACH,SAAS,qBACT,SAAS,wBACT,SAAS,2BACT,SAAS,uBACR,OAAO,cAAc,OAAO,SAC3B,OAAO,eAAe,OAAO;AAAA,IACnC;AAAA,IAEA,WAAW;AAGT,aAFe,KAAK,MAAM,OAEZ;AAAA,IAChB;AAAA,IACA,0BAA0B,GAAe;AACvC,MAAI,KAAK,eACP,KAAK,gBAAgB,CAAC;AAAA,IAE1B;AAAA,IACA,cAAc;AACZ,WAAK,aAAa,IAClB,KAAK,UAAU;AAAA,IACjB;AAAA,IACA,gBAAgB;AACd,WAAK,YAAY;AAAA,IACnB;AAAA,IACA,OAAO;AACC,YAAAA,IAAY,KAAK,MAAM;AAC7B,UAAI,CAACA;AACH;AAGF,MADoBA,EAAU,WACV,UAEfA,EAAA,KAAA,EACA,KAAK,MAAM,KAAK,WAAW,EAAI,CAAC,EAChC,MAAM,QAAQ,KAAK;AAAA,IAE1B;AAAA,IACA,QAAQ;AACA,YAAAA,IAAY,KAAK,MAAM;AAC7B,MAAKA,MAGLA,EAAU,MAAM,GAChB,KAAK,WAAW,EAAK;AAAA,IACvB;AAAA,IACA,aAAa;AACX,MAAI,KAAK,UACP,KAAK,MAAM,IAEX,KAAK,KAAK;AAAA,IAEd;AAAA,IACA,WAAWC,GAAgB;AACzB,WAAK,UAAUA;AAAA,IACjB;AAAA,IACA,iBAAiB1U,GAAoB;AAC7B,YAAAyU,IAAY,KAAK,MAAM;AAC7B,UAAI,CAACA;AACH;AAEI,YAAAE,IAAe3U,IAAa,MAAOyU,EAAU;AACnD,MAAAA,EAAU,cAAcE;AAAA,IAC1B;AAAA,IACA,sBAAsBV,GAAiB;AAErC,aAAO,CAAC,SAAUA,IAAU,KAAM,IAAI,EAAE,GAAG,SAASA,IAAU,IAAI,EAAE,CAAC,EAClE,KAAK,GAAG,EACR,QAAQ,aAAa,KAAK;AAAA,IAC/B;AAAA,IAEA,sBAAsB;AACpB,MAAI,SAAS,sBACIW,GAAA,EAAE,KAAK,MAAM;AAC1B,aAAK,eAAe,IACpB,QAAQ,IAAI,mBAAmB;AAAA,MAAA,CAChC,GAED,KAAK,eAAe;AAAA,IAExB;AAAA,IACA,qBAAqB;AACb,YAAAC,IAAU,KAAK,MAAM;AAC3B,MAAIA,MACaC,GAAAD,CAAO,EAAE,KAAK,MAAM;AACjC,aAAK,eAAe;AAAA,MAAA,CACrB,GACD,KAAK,eAAe;AAAA,IAExB;AAAA,IACA,uBAAuB;AACrB,MAAI,KAAK,eACP,KAAK,oBAAoB,IAEzB,KAAK,mBAAmB;AAAA,IAE5B;AAAA,IAEA,cAAc;AACN,YAAAN,IAAS,KAAK,MAAM;AACrB,WAAA,cAAcR,GAAeQ,EAAO,QAAQ,GACjD,KAAK,gBAAgBA,EAAO;AAAA,IAC9B;AAAA,IACA,mBAAmB;AACX,YAAAA,IAAS,KAAK,MAAM,QACpBC,IAAoB,KAAK,MAAM;AACjC,UAAA,CAACD,KAAU,CAACC;AACd;AAEG,WAAA,cAAcT,GAAeQ,EAAO,WAAW,GACpD,KAAK,WAAWA,EAAO;AACvB,YAAMQ,IAAU,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,aAAa;AACjE,MAAAP,EAAkB,MAAM;AAAA,QACtB;AAAA,QACAO,EAAQ,SAAS;AAAA,MAAA;AAAA,IAErB;AAAA,IACA,qBAAqB,GAAe;AAC5B,YAAAR,IAAS,KAAK,MAAM;AAC1B,UAAI,CAAC,SAAS,KAAK,SAASA,CAAM;AAChC;AAEI,YAAAC,IAAoB,KAAK,MAAM,mBAC/BQ,IAAOR,EAAkB,yBACzBO,IACJ,KAAK,IAAI,KAAK,IAAI,GAAG,EAAE,IAAIC,EAAK,CAAC,GAAGA,EAAK,KAAK,IAAIA,EAAK;AACzD,MAAAR,EAAkB,MAAM;AAAA,QACtB;AAAA,QACAO,EAAQ,SAAS;AAAA,MAAA,GAEf,KAAK,gBACP,EAAE,eAAe,GACjBP,EAAkB,MAAM;AAAA,QACtB;AAAA,QACAO,EAAQ,SAAS;AAAA,MAAA;AAAA,IAGvB;AAAA,IACA,KAAKE,IAAW,GAAG;AACX,YAAAV,IAAS,KAAK,MAAM;AAE1B,MAAAA,EAAO,eAAeU;AAAA,IACxB;AAAA,IACA,MAAM,gBAAgB,GAAe;AAC7B,YAAAT,IAAoB,KAAK,MAAM,mBAC/BU,IAAiB,KAAK,MAAM,gBAC5BX,IAAS,KAAK,MAAM;AAC1B,UAAI,CAACA;AACH;AAEI,YAAAS,IAAOR,EAAkB,yBACzBO,IACJ,KAAK,IAAI,KAAK,IAAI,GAAG,EAAE,IAAIC,EAAK,CAAC,GAAGA,EAAK,KAAK,IAAIA,EAAK;AAGzD,UAFK,KAAA,eAAe,EAAE,UAAU,OAAO,GACvCE,EAAe,UAAU,OAAO,aAAa,KAAK,WAAW,GACzD,KAAK,aAAa;AACpB,aAAK,YAAYX,EAAO,QACxB,MAAMA,EAAO,SACb,KAAK,qBAAqB,CAAC;AAE3B;AAAA,MACF;AAGA,UAFK,KAAA,WAAWQ,IAAU,KAAK,eACxBR,EAAA,cAAcQ,IAAU,KAAK,eAChC,KAAK;AACP;AAEI,YAAAI,IAAcZ,EAAO;AAE3B,MAAIY,MAAgB,UAEfA,EAAA,KAAK,MAAM,KAAK,qBAAqB,CAAC,CAAC,EACvC,MAAM,QAAQ,KAAK;AAAA,IAE1B;AAAA,IAEA,cAAc,GAAkB;;AAC9B,YAAMC,KAAU7I,IAAA,SAAS,kBAAT,gBAAAA,EAAwB,QAAQ;AAChD,UAAI6I,MAAY;AAGR,gBAAA,EAAE,IAAI,YAAe,GAAA;AAAA,UAC3B,KAAK;AACH,gBAAIA,MAAY;AACd;AAEF,iBAAK,WAAW;AAChB;AAAA,UACF,KAAK;AACH,iBAAK,WAAW;AAChB;AAAA,UACF,KAAK;AACH,cAAE,eAAe,GACjB,KAAK,oBAAoB,GACzB,KAAK,eAAe;AAEpB;AAAA,UACF,KAAK;AACH,iBAAK,mBAAmB,GACxB,KAAK,eAAe;AAEpB;AAAA,QACJ;AAAA,IACF;AAAA,EACF;AACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;uBCvcKC,KAAkB,CAAC/H,MAAY;AACnC,QAAMgI,IAAMC,EAAG,UAAU,KAAK,EAAEjI,CAAC,GAO3BkI,IANyC;AAAA,IAC5C,GAAM;AAAA,IACN,GAAM;AAAA,IACN,GAAM;AAAA,EAAA,EAGqBF,EAAI,OAAO,CAAC,CAAC,KAAK;AAEzC,SAAA,GAAGA,CAAG,GAAGE,CAAS;AAC3B,GAEMC,KAA8B,CAACnI,MACnB,IAAI;AAAA,EAClB,KAAK,IAAIA,EAAE,kBAAkBA,EAAE,YAAA,GAAeA,EAAE,WAAW,IAAI,CAAC;AAAA,EAElC,WAAA,MAAiB,IAGxC,KAGFiI,EAAG,UAAU,KAAK,EAAEjI,CAAC,GAGxBoI,KAAmB,CAACpI,MACjB,CAAC,KAAK,MAAM,IAAI,EAAE,SAASiI,EAAG,UAAU,IAAI,EAAEjI,CAAC,CAAC,IACnD,KACA,GAAGiI,EAAG,UAAU,IAAI,EAAEjI,CAAC,CAAC,KAGxBqI,KAAyB,CAACrI,MAAY;AAC1C,QAAMsI,IAAQL,EAAG,UAAU,OAAO,EAAEjI,CAAC;AAE9B,SAAAsI,MAAU,UAAU,KAAKA;AAClC,GAEMC,KAA2B,CAACvI,MACzBiI,EAAG,UAAU,OAAO,EAAEjI,CAAC,GAG1BwI,KAAmC,CAACxI,MAGjC,GAFUiI,EAAG,UAAU,QAAQ,EAAEjI,CAAC,CAEvB,IAGdyI,KAA2B,CAACzI,MAAY;AACtC,QAAA0I,IAAOL,GAAuBrI,CAAC,GAC/BgI,IAAMD,GAAgB/H,CAAC,GACvB2I,IAAQV,EAAG,UAAU,IAAI,EAAEjI,CAAC;AAElC,SAAO0I,KAAQ,GAAGC,CAAK,IAAIX,CAAG;AAChC,GAEMY,KAA4B,CAAC5I,MAAY;AACvC,QAAAsI,IAAQD,GAAuBrI,CAAC,GAChC0I,IAAO,OAAO,SAAST,EAAG,UAAU,IAAI,EAAEjI,CAAC,CAAC,GAC5CgI,IAAMD,GAAgB/H,CAAC,GACvB2I,IAAQV,EAAG,UAAU,IAAI,EAAEjI,CAAC;AAE9B,SAAAsI,KAASI,IAAO,MAAM,IACjB,GAAGC,CAAK,IAAIX,CAAG,IAAIM,CAAK,KAG1BG,GAAyBzI,CAAC;AACnC,GAEM6I,KAAwB,CAACvJ,MACtB,CAACU,MAAY;AAClB,QAAM0I,IAAOT,EAAG,UAAU,IAAI,EAAEjI,CAAC;AAGjC,SAAO,EAFQiI,EAAG,UAAU,IAAI,EAAEjI,CAAC,MAEf,QAAQ,OAAO,SAAS0I,CAAI,IAAIpJ,MAAM;AAAA,GAIxDwJ,KAA2B,CAACxJ,MACzB,CAACU,MAAY;AAClB,QAAM+I,IAASd,EAAG,UAAU,IAAI,EAAEjI,CAAC;AAEnC,SAAO,OAAO,SAAS+I,CAAM,IAAIzJ,MAAM;AAAA,GAIrC0J,KAAkC,CAAC1J,MAChC,CAACU,MAAY;AAClB,QAAM+I,IAASd,EAAG,UAAU,IAAI,EAAEjI,CAAC,GAC7BiJ,IAAShB,EAAG,UAAU,IAAI,EAAEjI,CAAC;AAE5B,SAAA,OAAO,SAAS+I,CAAM,IAAIzJ,MAAM,KAAK,OAAO,SAAS2J,CAAM,MAAM;AAAA,GAQtEC,IAAY;AAAA,EAChB,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,aAAa;AAAA,EACb,SAAS;AAAA,EACT,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,UAAU;AAAA,EACV,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,UAAU;AACZ;;AAKO,MAAMC,KAAwC;AAAA,EACnD,CAACjhB,GAAa,QAAQ,GAAG;AAAA,IACvB;AAAA,MACE,WAAWghB,EAAU;AAAA,MACrB,UAAUjB,EAAG,UAAU,MAAM,CAAC;AAAA,MAC9B,QAAQO;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWU,EAAU;AAAA,MACrB,UAAUjB,EAAG,UAAU,MAAM,CAAC;AAAA,MAC9B,QAAQO;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWU,EAAU;AAAA,MACrB,UAAUjB,EAAG,UAAU,MAAM,EAAE;AAAA,MAC/B,QAAQQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWS,EAAU;AAAA,MACrB,UAAUjB,EAAG,UAAU,MAAM,EAAE;AAAA,MAC/B,QAAQW;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWM,EAAU;AAAA,MACrB,UAAUjB,EAAG;AAAA,MACb,QAAQW;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWM,EAAU;AAAA,MACrB,UAAUjB,EAAG,QAAQ,MAAM,CAAC;AAAA,MAC5B,QAAQW;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWM,EAAU;AAAA,MACrB,UAAUjB,EAAG,QAAQ,MAAM,CAAC;AAAA,MAC5B,QAAQ,CAACjI,MAAY;AACb,cAAA0I,IAAOL,GAAuBrI,CAAC,GAC/BgI,IAAMD,GAAgB/H,CAAC,GACvB2I,IAAQV,EAAG,UAAU,IAAI,EAAEjI,CAAC;AAElC,eAAO0I,KAAQ,GAAGC,CAAK,IAAIX,CAAG;AAAA,MAChC;AAAA,IACF;AAAA,IACA;AAAA,MACE,WAAWkB,EAAU;AAAA,MACrB,UAAUjB,EAAG,QAAQ,MAAM,EAAE;AAAA,MAC7B,QAAQQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWS,EAAU;AAAA,MACrB,UAAUjB,EAAG,QAAQ,MAAM,EAAE;AAAA,MAC7B,QAAQ,CAACjI,MAAY;AACb,cAAAgI,IAAMD,GAAgB/H,CAAC;AAGtB,eAAA,GAFkBiI,EAAG,UAAU,IAAI,EAAEjI,CAAC,CAEnB,IAAIgI,CAAG;AAAA,MACnC;AAAA,IACF;AAAA,IACA;AAAA,MACE,WAAWkB,EAAU;AAAA,MACrB,UAAUjB,EAAG;AAAA,MACb,QAAQ,CAACjI,MAAY;AAEb,cAAAoJ,IADiBpJ,EAAE,kBAAkB,KAAKA,EAAE,WAAiB,MAAA,IACnC,YAAY;AAE5C,eAAOiI,EAAG,UAAUmB,CAAM,EAAEpJ,CAAC;AAAA,MAC/B;AAAA,IACF;AAAA,IACA;AAAA,MACE,WAAWkJ,EAAU;AAAA,MACrB,UAAUjB,EAAG;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,CAAC/f,GAAa,QAAQ,GAAG;AAAA,IACvB;AAAA,MACE,WAAWghB,EAAU;AAAA,MACrB,UAAUjB,EAAG,UAAU,MAAM,EAAE;AAAA,MAC/B,QAAQM;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWW,EAAU;AAAA,MACrB,WAAUjB,KAAAA,EAAG,UACV,MAAM,EAAE,MADDA,gBAAAA,GAEN,OAAOe,GAAgC,CAAC;AAAA,MAC5C,QAAQT;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWW,EAAU;AAAA,MACrB,WAAUjB,KAAAA,EAAG,UACV,MAAM,EAAE,MADDA,gBAAAA,GAEN,OAAOe,GAAgC,CAAC;AAAA,MAC5C,QAAQT;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWW,EAAU;AAAA,MACrB,UAAUjB,EAAG,UAAU,OAAOa,GAAyB,CAAC,CAAC;AAAA,MACzD,QAAQT;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWa,EAAU;AAAA,MACrB,WAAUjB,KAAAA,EAAG,UAAU,MAAM,CAAC,MAApBA,gBAAAA,GAAuB,OAAOa,GAAyB,EAAE;AAAA,MACnE,QAAQT;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWa,EAAU;AAAA,MACrB,WAAUjB,KAAAA,EAAG,UAAU,MAAM,CAAC,MAApBA,gBAAAA,GAAuB,OAAOa,GAAyB,EAAE;AAAA,MACnE,QAAQT;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWa,EAAU;AAAA,MACrB,WAAUjB,KAAAA,EAAG,UAAU,MAAM,EAAE,MAArBA,gBAAAA,GAAwB,OAAOY,GAAsB,CAAC;AAAA,MAChE,QAAQR;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWa,EAAU;AAAA,MACrB,WAAUjB,KAAAA,EAAG,UAAU,MAAM,EAAE,MAArBA,gBAAAA,GAAwB,OAAOY,GAAsB,CAAC;AAAA,MAChE,QAAQR;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWa,EAAU;AAAA,MACrB,UAAUjB,EAAG,QAAQ,OAAOY,GAAsB,CAAC,CAAC;AAAA,MACpD,QAAQT;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWc,EAAU;AAAA,MACrB,WAAUjB,KAAAA,EAAG,QAAQ,MAAM,CAAC,MAAlBA,gBAAAA,GAAqB,OAAOY,GAAsB,CAAC;AAAA,MAC7D,QAAQT;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWc,EAAU;AAAA,MACrB,WAAUjB,KAAAA,EAAG,QAAQ,MAAM,CAAC,MAAlBA,gBAAAA,GAAqB,OAAOY,GAAsB,EAAE;AAAA,MAC9D,QAAQT;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWc,EAAU;AAAA,MACrB,UAAUjB,EAAG,QAAQ,MAAM,CAAC;AAAA,MAC5B,QAAQG;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWc,EAAU;AAAA,MACrB,UAAUjB,EAAG,QAAQ,MAAM,CAAC;AAAA,MAC5B,QAAQG;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWc,EAAU;AAAA,MACrB,UAAUjB,EAAG;AAAA,MACb,QAAQE;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWe,EAAU;AAAA,MACrB,UAAUjB,EAAG,OAAO,MAAM,CAAC;AAAA,MAC3B,QAAQE;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWe,EAAU;AAAA,MACrB,UAAUjB,EAAG;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG;AAAA,MACb,QAAQ,CAACjI,MAAYiI,EAAG,UAAU,IAAI,EAAEjI,CAAC,EAAE,OAAO,CAAC;AAAA,IACrD;AAAA,IACA;AAAA,MACE,WAAWkJ,EAAU;AAAA,MACrB,UAAUjB,EAAG,SAAS,MAAM,CAAC;AAAA,MAC7B,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG,SAAS,MAAM,CAAC;AAAA,MAC7B,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EACA,CAAC/f,GAAa,kBAAkB,GAAG;AAAA,IACjC;AAAA,MACE,WAAWghB,EAAU;AAAA,MACrB,UAAUjB,EAAG;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG,UAAU,MAAM,CAAC;AAAA,MAC9B,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG,UAAU,MAAM,EAAE;AAAA,MAC/B,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG,UAAU,MAAM,EAAE;AAAA,MAC/B,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG,UAAU,MAAM,EAAE;AAAA,MAC/B,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG,UAAU,MAAM,CAAC;AAAA,MAC9B,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG,UAAU,MAAM,CAAC;AAAA,MAC9B,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG,UAAU,MAAM,EAAE;AAAA,MAC/B,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG,UAAU,MAAM,EAAE;AAAA,MAC/B,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG,UAAU,MAAM,GAAG;AAAA,MAChC,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG,QAAQ,MAAM,CAAC;AAAA,MAC5B,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG,QAAQ,MAAM,EAAE;AAAA,MAC7B,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG,OAAO,OAAO,CAACjI,MAAY;AAChC,cAAAqJ,IAAarJ,EAAE,cACfsJ,IAAc,IAAI;AAAA,UACtBtJ,EAAE,eAAe;AAAA,UACjBA,EAAE,gBAAgB;AAAA,UAClB;AAAA,UACA,WAAW,GACPuJ,IAAe,KAAK,KAAKD,IAAc,CAAC;AAG5C,eAAAD,MAAeE,KACfF,MAAe,IAAIE,KACnBF,MAAe,IAAIE,KACnBF,MAAe,IAAIE;AAAA,MAAA,CAEtB;AAAA,MACD,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWL,EAAU;AAAA,MACrB,UAAUjB,EAAG,OAAO,OAAO,CAACjI,MAAY;AAChC,cAAAqJ,IAAarJ,EAAE,cACfsJ,IAAc,IAAI;AAAA,UACtBtJ,EAAE,eAAe;AAAA,UACjBA,EAAE,gBAAgB;AAAA,UAClB;AAAA,UACA,WAAW,GACPwJ,IAAoB,KAAK,KAAKF,IAAc,CAAC;AAEnD,eACED,MAAeG,KACfH,MAAe,IAAIG,KACnBH,MAAe,IAAIG;AAAA,MAAA,CAEtB;AAAA,MACD,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWN,EAAU;AAAA,MACrB,UAAUjB,EAAG,OAAO,OAAO,CAACjI,MAAY;AAChC,cAAAqJ,IAAarJ,EAAE,cACfsJ,IAAc,IAAI;AAAA,UACtBtJ,EAAE,eAAe;AAAA,UACjBA,EAAE,gBAAgB;AAAA,UAClB;AAAA,UACA,WAAW,GACPyJ,IAAiB,KAAK,KAAKH,IAAc,CAAC;AAEhD,eAAOD,MAAeI;AAAA,MAAA,CACvB;AAAA,MACD,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWP,EAAU;AAAA,MACrB,UAAUjB,EAAG;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,IACA;AAAA,MACE,WAAWiB,EAAU;AAAA,MACrB,UAAUjB,EAAG;AAAA,MACb,QAAQ;AAAA,IACV;AAAA,EACF;AACF,GC3bMyB,KAA4C;AAAA,EAChD,KAAKC,GAAIC,GAAS;AACV,UAAA,EAAE,OAAOC,EAAa,IAAAD;AAExB,QAAA,OAAOC,KAAa,YAAY;AAClC,cAAQ,MAAM,yDAAyD;AAEvE;AAAA,IACF;AAEA,UAAMC,IAA2B,IAAI;AAAA,MACnC,CAACC,MAAmC;AAC9B,QAACA,EAAQ,CAAC,KAILF,EAAAE,EAAQ,CAAC,CAAC;AAAA,MACrB;AAAA,IAAA;AAGF,IAAAD,EAAS,QAAQH,CAAE,GACjBA,EAAuB,qBAAqBG;AAAA,EAChD;AAAA,EACA,OAAOH,GAAI;AACT,IAAKA,EAAuB,uBACxBA,EAAuB,mBAAoB,cAC7C,OAAQA,EAAuB;AAAA,EAEnC;AACF,GCjCaK,KAAgB;AAAA,EAC3B;AAAA,IACE,MAAM;AAAA,IACN,YAAYN;AAAA,EACd;AACF,GC+CMO,IAAU;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,WAAW;AAAA,EACX,SAAS;AAAA,EACT,aAAa;AAAA,EACb,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,OAAO;AAAA,EACP,yBAAyB;AAAA,EACzB,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,cAAc;AAAA,EACd,SAAS;AACX,GAEMC,KAAO;AAAA,EACX,cAAc;AAAA,EACd,iBAAiB;AACnB,GAEe/hB,KAAAA,EAAI,OAAO;AAAA,EACxB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,gBAAgBuhB;AAAA,EAClB;AAAA,EACA,OAAO;AAAA,IACL,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS,MAAMP;AAAA,IACjB;AAAA,IACA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM,CAAC,QAAQ,MAAS;AAAA,MACxB,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,OAAO;AACE,WAAA;AAAA,MACL,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,yBAAyB;AAAA,MACzB,KAAK;AAAA,MACL,eAAe;AAAA,MAMf,OAAO,CAAC;AAAA,MACR,WAAW;AAAA,MACX,kBAAkB;AAAA,MAClB,yBAAyB;AAAA,MACzB,cAAc;AAAA,MACd,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,cAAc;AAAA,MACd,oBAAoB;AAAA,MACpB,kBAAkB;AAAA,MAClB,mBAAmB,CAAC;AAAA,MACpB,kBAAkB;AAAA,MAClB,WAAW;AAAA,MACX,eAAe,EAAE,GAAG,GAAG,GAAG,EAAE;AAAA,MAC5B,eAAe,EAAE,aAAa,GAAG,OAAO,EAAE;AAAA,MAC1C,QAAQ;AAAA,MACR,eAAe,CAAC;AAAA,MAChB,mBAAmB,CAAC;AAAA,MACpB,iBAAiB,CAAC;AAAA,MAIlB,aAAa;AAAA,MACb,WAAW;AAAA,MACX,oBAAoB;AAAA,MACpB,kBAAkB;AAAA,MAClB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IAAA;AAAA,EAEvB;AAAA,EACA,UAAU;AAAA,IACR,UAA4D;AACnD,aAAA;AAAA,QACL,SAAS;AAAA,UACP,sCAAsC,KAAK;AAAA,UAC3C,qBAAqB,CAAC,KAAK;AAAA,UAC3B,wBAAwB,KAAK;AAAA,QAC/B;AAAA,QACA,YAAY,KAAK,OAAO,kBAAkB;AAAA,QAC1C,aAAa,KAAK,OACd,iDACA;AAAA,QACJ,kBAAkB,KAAK,OACnB,iDACA;AAAA,MAAA;AAAA,IAER;AAAA,IACA,kBAAwC;AACtC,aAAO,OAAO,QAAQ,KAAK,oBAAoB,EAAE;AAAA,QAC/C,CAACrK,GAAK,CAAC/U,GAAMogB,CAAW,MAClBA,EAAY,cAAc,cACrB,EAAE,GAAGrL,GAAK,CAAC/U,CAAI,GAAGogB,EAAY,IAE9BrL;AAAA,QAGX,CAAC;AAAA,MAAA;AAAA,IAEL;AAAA,IACA,uBAA+B;AACzB,UAAA,CAAC,KAAK;AACR,eAAO,KAAK;AAGd,YAAMsL,IACJ,OAAO,KAAK,KAAK,eAAe,EAAE,SAAS,KAAK;AAElD,aAAO,KAAK,IAAI,KAAK,oBAAoBA,CAAoB;AAAA,IAC/D;AAAA,IACA,YAAkC;AAChC,aAAO,OAAO,QAAQ,KAAK,oBAAoB,EAAE;AAAA,QAC/C,CAACtL,GAAK,CAAC/U,GAAMogB,CAAW,MAClBA,EAAY,cAAc,cACrB,EAAE,GAAGrL,GAAK,CAAC/U,CAAI,GAAGogB,EAAY,IAE9BrL;AAAA,QAGX,CAAC;AAAA,MAAA;AAAA,IAEL;AAAA,IACA,oBAA6B;AAC3B,aAAO,OAAO,KAAK,KAAK,eAAe,EAAE,SAAS;AAAA,IACpD;AAAA,IACA,iBAAyB;AAQvB,aAPqB,OAAO;AAAA,QAC1B,KAAK;AAAA,MAAA,EAE6B,OAAO,CAACA,GAAKqL,MAAgB;;AAC/D,eAAO,KAAK,IAAIrL,IAAKG,IAAAkL,EAAY,UAAZ,gBAAAlL,EAAmB,MAAM;AAAA,SAC7C,CAAC,IAEoB,MAAM;AAAA,IAChC;AAAA,IACA,sBAA8B;AAC5B,YAAMoL,IAAY,OAAO,KAAK,KAAK,WAAW,EAAE,SAAS;AAEzD,aAAO,KAAK,aAAaA;AAAA,IAC3B;AAAA,IACA,iBAAyB;AACvB,YAAMC,IAAiB,OAAO,KAAK,KAAK,SAAS,EAAE,QAC7CC,IAAuB,KAAK,oBAC9B,KAAK,uBACL,GACEC,IAAU,KAAK,qBAAqBF,IAAiB,IACrDG,IAAqB,KAAK,iBAAiBH;AAG/C,aAAA,KAAK,sBACLC,IACAE,IACAD;AAAA,IAEJ;AAAA,IACA,uBAA6C;AAC3C,YAAMT,IAAU,OAAO,QAAQ,KAAK,YAAY,EAAE;AAAA,QAChD,CAAC,CAACW,GAAOC,CAAK,MACL,CAAEA,EAA8B;AAAA,MACzC;AAGK,aAAA,OAAO,YAAYZ,CAAO;AAAA,IACnC;AAAA,IACA,kBAAmC;AAOjC,aALE,OAAO,OAAO,KAAK,oBAAoB,EAEtC,IAAI,CAAC3O,MAA2BA,EAAE,MAAM,EACxC,KAAK,EAEe;AAAA,QAAK,CAACjL,GAAGD,MAC9B,IAAI,KAAKC,EAAE,aAAaA,EAAE,SAAS,IACnC,IAAI,KAAKD,EAAE,aAAaA,EAAE,SAAS,IAC/B,IACA;AAAA,MAAA;AAAA,IAER;AAAA,IACA,cAA6B;AACvB,UAAA0a;AACA,aAAA,KAAK,gBAAgB,SAAS,IAClBA,IAAA,KAAK,gBAAgB,CAAC,IAKtBA,IAAA;AAAA,QACZ,WAHgB,IAAI,MAAK,oBAAI,QAAO,QAAA,IAAY,KAAG;AAAA,MAGxC,GAIRA;AAAA,IACT;AAAA,IACA,cAA6B;AACvB,UAAAC;AACA,aAAA,KAAK,gBAAgB,SAAS,IAChCA,IAAc,KAAK,gBAAgB,KAAK,gBAAgB,SAAS,CAAC,IAIpDA,IAAA;AAAA,QACZ,+BAHyB;MAGd,GAIRA;AAAA,IACT;AAAA,IACA,yBAAmC;AAC3B,YAAAC,wBAAoB;AAC1B,oBAAO,OAAO,KAAK,eAAe,EAAE,QAAQ,CAACH,MAAU;AAC/C,QAAAA,EAAA,OAAO,QAAQ,CAAC5D,MAAU;AAChB,UAAA+D,EAAA,IAAI/D,EAAM,SAAS;AAAA,QAAA,CAClC;AAAA,MAAA,CACF,GAEM,MAAM,KAAK+D,CAAa,EAAE,KAAK;AAAA,IACxC;AAAA,IACA,4BAA6C;AAC3C,aAAO,KAAK;AAAA,QACV,KAAK,uBAAuB,IAAI,CAACC,OAAe;AAAA,UAC9C,WAAAA;AAAA,UACA,OAAO;AAAA,QAAA,EACP;AAAA,MAAA;AAAA,IAEN;AAAA,IACA,4BAAkD;AAChD,aAAO,OAAO,QAAQ,KAAK,eAAe,EAAE;AAAA,QAC1C,CAACjM,GAAK,CAAC/U,GAAM4gB,CAAK,OACT;AAAA,UACL,GAAG7L;AAAA,UACH,CAAC/U,CAAI,GAAG;AAAA,YACN,GAAG4gB;AAAA,YACH,QAAQ,KAAK,oBAAoBA,EAAM,MAAM;AAAA,UAC/C;AAAA,QAAA;AAAA,QAGJ,CAAC;AAAA,MAAA;AAAA,IAEL;AAAA,IACA,2BAAoC;AAC3B,aAAA,KAAK,qBAAqB,KAAK;AAAA,IACxC;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,OAAO;AACL,WAAK,qBAAqB;AAAA,IAC5B;AAAA,IACA,oBAAoB;AAClB,WAAK,kCAAkC;AAAA,IACzC;AAAA,IACA,YAAY;AACV,WAAK,uBAAuB;AAAA,IAC9B;AAAA,IACA,UAAU;AACR,WAAK,uBAAuB;AAAA,IAC9B;AAAA,IACA,eAAe;AACb,WAAK,wBAAwB;AAAA,IAC/B;AAAA,IACA,kBAAkB;AAChB,UAAI,KAAK,iBAAiB;AACxB,aAAK,mBAAmB,KAAK;AAC7B,cAAMI,IAAY,KAAK,eAAe,KAAK,gBAAgB,GACrDC,IAAU,KAAK,UAAUD,CAAS;AACnC,aAAA,OAAO,MAAM,OAAOC,IAAU,MACnC,KAAK,qBAAqB;AAAA,MAAA;AAE1B,aAAK,qBAAqB;AAAA,IAE9B;AAAA,EACF;AAAA,EACA,UAAU;AACR,SAAK,aAAa;AAAA,EACpB;AAAA,EACA,gBAAgB;AACL,aAAA,oBAAoB,WAAW,KAAK,qBAAqB;AAAA,EACpE;AAAA,EACA,SAAS;AAAA,IACP,aAAaC,GAAoBC,GAAkB;AAG7C,UAFJ,KAAK,SAAS,GAEV,CAAC,KAAK,UAAU;AACP,mBAAA,KAAK,cAAc,GAAG;AAEjC;AAAA,MACF;AAEA,WAAK,QAAQ,GACb,KAAK,SAAS,GACd,KAAK,cAAc,GACd,KAAA,cAAcD,GAAWC,CAAO,GACrC,KAAK,UAAU,GACf,KAAK,WAAW,GAChB,KAAK,iBAAiB,GACtB,KAAK,iBAAiB,GACtB,KAAK,aAAa,GAClB,KAAK,kBAAkB,GACvB,KAAK,4BAA4B,GACjC,KAAK,wBAAwB,GAC7B,KAAK,oBAAoB;AAAA,IAC3B;AAAA,IACA,WAAW;AACJ,WAAA,UAAU,KAAK,MAAM,SACrB,KAAA,SAAS,KAAK,MAAM,QACpB,KAAA,WAAW,KAAK,MAAM,mBACtB,KAAA,0BAA0B,KAAK,MAAM;AAAA,IAC5C;AAAA,IACA,UAAU;AACR,WAAK,MAAMjD,EACR,OAAO,KAAK,QAAQ,EACpB,OAAO,KAAK,EACZ,KAAK,SAAS,KAAK,SAAS,WAAW,EACvC,KAAK,UAAU,KAAK,cAAc;AAAA,IAMvC;AAAA,IACA,WAAW;AACT,YAAMkD,IAAgB,KAAK,IAAI,OAAO,MAAM;AAErC,aAAA,QAAQ,KAAK,oBAAoB,EAAE;AAAA,QACxC,CAAC,CAACphB,GAAMogB,CAAW,MAAM;AACjB,gBAAA,EAAE,OAAA7Z,GAAO,WAAA8a,EAAc,IAAAjB,GACvBrX,IAAWqY,EACd,OAAO,gBAAgB,EACvB,KAAK,MAAM,GAAGjB,GAAK,eAAe,IAAIngB,CAAI,EAAE,EAC5C,KAAK,MAAM,IAAI,EACf,KAAK,MAAM,IAAI,EACf,KAAK,MAAM,MAAM,EACjB,KAAK,MAAM,IAAI;AAkBlB,cAhBA+I,EACG,OAAO,MAAM,EACb,KAAK,UAAU,IAAI,EACnB,KAAK,cAAcxC,CAAK,EACxB,KAAK,gBAAgB,GAAG,GAC3BwC,EACG,OAAO,MAAM,EACb,KAAK,UAAU,KAAK,EACpB,KAAK,cAAcxC,CAAK,EACxB,KAAK,gBAAgB,KAAK,GAC7BwC,EACG,OAAO,MAAM,EACb,KAAK,UAAU,MAAM,EACrB,KAAK,cAAcxC,CAAK,EACxB,KAAK,gBAAgB,GAAG,GAEvB8a,MAAc,aAA6B;AAC7C,kBAAMC,IAAeF,EAClB,OAAO,gBAAgB,EACvB,KAAK,MAAM,GAAGjB,GAAK,YAAY,IAAIngB,CAAI,EAAE,EACzC,KAAK,MAAM,IAAI,EACf,KAAK,MAAM,IAAI,EACf,KAAK,MAAM,IAAI,EACf,KAAK,MAAM,MAAM;AACpB,YAAAshB,EACG,OAAO,MAAM,EACb,KAAK,UAAU,IAAI,EACnB,MAAM,cAAc/a,CAAK,EACzB,MAAM,gBAAgB,GAAG,GAC5B+a,EACG,OAAO,MAAM,EACb,KAAK,UAAU,KAAK,EACpB,MAAM,cAAc/a,CAAK,EACzB,MAAM,gBAAgB,CAAC;AAAA,UAC5B;AAAA,QACF;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,gBAAgB;AACd,YAAMgb,IACJ,KAAK,aACL,KAAK,YAAY,aACjB,KAAK,YAAY;AACnB,WAAK,YAAYC,GAAO,UAAUD,CAAe,EAAE;IACrD;AAAA,IACA,cAAcE,GAAgBC,GAAc;AACpC,YAAAR,IACJO,KACA,KAAK,aACL,KAAK,YAAY,aACjB,KAAK,YAAY,WACbN,IACJO,KACA,KAAK,WACL,KAAK,YAAY,aACjB,KAAK,YAAY;AAEd,WAAA,YAAYxD,EACd,UAAU,EACV,OAAO,CAAC,KAAK,eAAegD,CAAS,GAAG,KAAK,eAAeC,CAAO,CAAC,CAAC,EACrE,MAAM,CAAC,GAAG,KAAK,SAAS,WAAW,CAAC,GAElC,KAAA,mBAAmB,KAAK,UAAU,KAAK,GAC5C,KAAK,8BAA8B;AAAA,IACrC;AAAA,IACA,YAAY;AACV,UAAIQ,IAAI;AACR,YAAMlB,IAAU;AACL,iBAAAmB,KAAY,KAAK,aAAa;AACjC,cAAAC,IAAO,KAAK,WAAWD,CAAwB;AAChD,aAAA,MAAMA,CAAwB,IAAIC,GAClC,KAAA,IACF,OAAO,GAAG,EACV,QAAQ3B,EAAQ,OAAO,EAAI,EAC3B,QAAQ,GAAGA,EAAQ,KAAK,IAAI0B,CAAQ,IAAI,EAAI,EAC5C,KAAK,aAAa,gBAAgBD,KAAKlB,CAAO,GAAG,EACjD,KAAKoB,CAAI,GAEZ,KAAK,mBAAmBD,CAAQ,GAChCD,KAAK,KAAK;AAAA,MACZ;AAAA,IACF;AAAA,IACA,aAAa;AACN,WAAA,SAASzD,EAAG,YAAY,EAAE,MAAM,CAAC,KAAK,sBAAsB,CAAC,CAAC;AACnE,YAAM4D,IAAkB,OAAO,OAAO,KAAK,eAAe,EACvD,IAAI,CAAC5b,MAAMA,EAAE,MAAM,EACnB,KAAK,GACF6b,IAAW7D,EAAG,IAAI4D,GAAiB,CAAC7L,MAAMA,EAAE,KAAK;AACvD,WAAK,OAAO,OAAO,CAAC,GAAG8L,CAAQ,CAAC;AAAA,IAClC;AAAA,IACA,mBAAmB;AACjB,MAAI,KAAK,gBAIT,KAAK,eAAe7D,EACjB,KAA6B,EAC7B,GAAG,QAAQ,KAAK,UAAU,EAC1B,YAAY,CAAC,KAAK,SAAS,KAAK,OAAO,CAAC,GAEtC,KAAA,IAAI,KAAK,KAAK,YAAY;AAAA,IACjC;AAAA,IACA,8BAA8B;AAC5B,WAAK,IACF,OAAO,MAAM,EACb,KAAK,SAASgC,EAAQ,uBAAuB,EAC7C,MAAM,UAAU,KAAK,EACrB,MAAM,gBAAgB,KAAK,EAC3B,MAAM,WAAW,CAAC,EAClB,KAAK,MAAM,CAAC,EACZ,KAAK,MAAM,CAAC,EACZ,KAAK,MAAM,CAAC,EACZ,KAAK,MAAM,KAAK,cAAc,GACjC,KAAK,kCAAkC;AAAA,IACzC;AAAA,IACA,0BAA0B;AACxB,YAAM,EAAE,WAAAgB,GAAW,SAAAC,EAAQ,IAAI,KAAK,qBAAqB;AACzD,WAAK,cAAc,GACd,KAAA,aAAaD,GAAWC,CAAO;AAAA,IACtC;AAAA,IACA,gBAAgB;AACd,MAAI,KAAK,OACP,KAAK,IAAI,UAEX,KAAK,oBAAoB;IAC3B;AAAA,IACA,oCAAoC;AAClC,YAAMa,IAAS,KAAK,IAAI,OAAO,IAAI9B,EAAQ,uBAAuB,EAAE;AAChE,UAAA,CAAC,KAAK,mBAAmB;AACpB,QAAA8B,EAAA,MAAM,WAAW,CAAC;AAEzB;AAAA,MACF;AACA,YAAMhB,IAAY,KAAK,eAAe,KAAK,iBAAiB,GACtDC,IAAU,KAAK,UAAUD,CAAS;AACpC,MAAC,MAAMC,CAAO,IAGTe,EAAA,MAAM,WAAW,CAAC,IAFlBA,EAAA,KAAK,MAAMf,CAAO,EAAE,KAAK,MAAMA,CAAO,EAAE,MAAM,WAAW,GAAG;AAAA,IAIvE;AAAA,IACA,gCAAgC;AAC9B,YAAMgB,IAAe,KAAK,UAAU,OAAO,CAAC,EAAE,WACxCC,IAAe,KAAK,UAAU,OAAO,CAAC,EAAE,WACxCC,IAAO;AAER,WAAA,2BAA2BD,IAAeD,KAAgBE;AAAA,IACjE;AAAA,IACA,0BAA0B;AACf,eAAA,iBAAiB,WAAW,KAAK,qBAAqB,GAC/D,KAAK,IAAI,GAAG,aAAa,KAAK,eAAe,GAC7C,KAAK,IAAI,GAAG,aAAa,KAAK,eAAe,GAC7C,KAAK,IAAI,GAAG,SAAS,KAAK,WAAW,GACrC,KAAK,IAAI,GAAG,cAAc,KAAK,gBAAgB;AAAA,IACjD;AAAA,IACA,sBAAsB;AACpB,YAAMC,IAAc,KAAK,UAAU,OAAO,CAAC,GACrCC,IAAY,KAAK,UAAU,OAAO,KAAK,SAAS,WAAW;AAEjE,UACE,KAAK,eACL,KAAK,YAAY,QAAA,MAAcD,EAAY,QAAA,KAC3C,KAAK,aACL,KAAK,UAAU,cAAcC,EAAU;AAEvC;AAGF,WAAK,cAAcD,GACnB,KAAK,YAAYC;AAEjB,YAAMC,IAAW,KAAK,eAAe,KAAK,WAAW,GAC/CC,IAAS,KAAK,eAAe,KAAK,SAAS;AAEjD,WAAK,MAAM,2BAA2B;AAAA,QACpC,UAAAD;AAAA,QACA,QAAAC;AAAA,QACA,WAAW,KAAK;AAAA,MAAA,CACjB;AAAA,IACH;AAAA,IACA,WAAWX,GAAwB;AAC3B,YAAAC,IAAO,KAAK,YAAYD,CAAwB,GAChDpgB,IAAS,KAAK,mBAAmBqgB,CAAI;AAE3C,aAAO3D,EACJ,WAAiB,KAAK,SAAS,EAC/B,MAAM1c,EAAO,QAAQ,EACrB,WAAWA,EAAO,QAAQ,EAC1B,cAAc,CAAC,EACf,cAAc,KAAK,cAAc;AAAA,IACtC;AAAA,IACA,mBAAmByQ,GAAgC;AACjD,YAAM,EAAE,UAAAuQ,GAAU,QAAAnD,EAAO,IAAIpN,EAAQ;AAAA,QACnC,CAACzQ,MACCA,EAAO,aAAa,KAAK,2BAA2BA,EAAO;AAAA,MAAA;AASxD,aAAA;AAAA,QACL,UAPe,CAACyU,MACT,OAAOoJ,KAAW,aACrBA,EAAOpJ,CAAC,IACRiI,EAAG,WAAWmB,CAAM,EAAEpJ,CAAC;AAAA,QAK3B,UAAAuM;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,aAAa,EAAE,aAAAC,KAAoC;AACjD,MAAI,KAAK,QACP,KAAK,IAAI,KAAK,SAASA,EAAY,KAAK,GACnC,KAAA,uBAAuBA,EAAY,KAAK;AAAA,IAEjD;AAAA,IACA,uBAAuB;AACjB,UAAA,CAAC,KAAK;AACR;AAGF,YAAMC,IAAO;AACR,WAAA,IAAI,UAAU,IAAIxC,EAAQ,OAAO,EAAE,EAAE,KAAK,WAAY;AAEzD,QADchC,EAAG,OAAO,IAAI,EACtB,MAAM,QAAQwE,EAAK,OAAO,UAAU,OAAO;AAAA,MAAA,CAClD,GACI,KAAA,IAAI,UAAU,IAAIxC,EAAQ,WAAW,EAAE,EAAE,KAAK,WAAY;AACvD,cAAAyC,IAASzE,EAAG,OAAO,IAAI,GACvB3X,IAASoc,EAAO,KAAK,EAAmB,QAAQ;AACtD,QAAAA,EACG,MAAM,QAAQD,EAAK,wBAAwBnc,CAAe,CAAC,EAC3D,MAAM,UAAUmc,EAAK,iBAAiBnc,CAAe,CAAC,EACtD,MAAM,gBAAgB,IAAI;AAAA,MAAA,CAC9B,GACI,KAAA,IAAI,UAAU,IAAI2Z,EAAQ,SAAS,EAAE,EAAE,KAAK,WAAY;AACrD,cAAA0C,IAAO1E,EAAG,OAAO,IAAI,GACrB3X,IAASqc,EAAK,KAAK,EAAmB,QAAQ;AACpD,QAAAA,EAAK,MAAM,QAAQF,EAAK,iBAAiBnc,CAAe,CAAC;AAAA,MAAA,CAC1D;AAAA,IACH;AAAA,IACA,kBAAkB;AAChB,WAAK,cAAc;AAAA,IACrB;AAAA,IACA,wBAAwB;AACtB,WAAK,cAAc;AAAA,IACrB;AAAA,IACA,mBAAmB;AACjB,WAAK,qBAAqB,IACrB,KAAA,MAAM,qBAAqB,MAAS;AAAA,IAC3C;AAAA,IACA,gBAAgByW,GAAmB;AACjC,UAAI,KAAK;AACP;AAEF,YAAM6F,IAAS7F,EAAM,SACf8F,IAAO,KAAK,UAAU,OAAOD,CAAM;AAMrC,MALC,KAAA,mBAAmB,KAAK,eAAeC,CAAI,GAChD,KAAK,qBAAqB,IACrB,KAAA,MAAM,qBAAqB,KAAK,gBAAgB,GAChD,KAAA,OAAO,MAAM,OAAOD,IAAS,MAE7B,KAAK,YAIV,KAAK,oBAAoB;AAAA,QACvB,MAAM,GAAGA,CAAM;AAAA,QACf,QAAQ,GAAG,KAAK,SAAS,wBAAwB,MAAM;AAAA,MAAA,GAEzD,KAAK,kCAAkC;AAAA,IACzC;AAAA,IACA,YAAY7F,GAAmB;AAC7B,YAAM6F,IAAS7F,EAAM,SACf8F,IAAO,KAAK,UAAU,OAAOD,CAAM,GACnCE,IAAkB,KAAK,eAAeD,CAAI;AAE3C,WAAA,MAAM,gBAAgBC,CAAe,GAEtC,KAAK,mBACP,KAAK,MAAM,iBAAiB;AAAA,QAC1B,OAAO,KAAK;AAAA,QACZ,MAAM,KAAK;AAAA,MAAA,CACZ;AAAA,IAEL;AAAA,IACA,oBACEC,GACAC,GACAC,GACA;AACA,WAAK,gBAAgB,OAAO;AAAA,QAC1B,KAAK,kBAAkB,GAAGD,EAAU,SAAS,EAAE;AAAA,MAAA,EAC/C,OAAO,CAAClO,GAAKoO,MAAU;AACjB,cAAA,CAACnjB,GAAMojB,CAAK,IAAID;AAEtB,eAAO,CAAC,GAAGpO,GAAK,EAAE,MAAA/U,GAAM,OAAAojB,EAAO,CAAA;AAAA,MACjC,GAAG,CAAuC,CAAA,GAC1C,KAAK,eAAeH,GACpB,KAAK,kBAAkB,IACvB,KAAK,MAAM,mBAAmB;AAAA,QAC5B,WAAAA;AAAA,QACA,WAAAC;AAAA,QACA,eAAe,KAAK;AAAA,MAAA,CACrB;AAAA,IACH;AAAA,IACA,qBAAqB;AACnB,WAAK,kBAAkB,IACvB,KAAK,gBAAgB,IACrB,KAAK,MAAM,gBAAgB;AAAA,IAC7B;AAAA,IACA,mBACEF,GACAC,GACAC,GACA;AACA,WAAK,eAAeD,GACpB,KAAK,mBAAmBC,GACxB,KAAK,kBAAkB,IACvB,KAAK,MAAM,mBAAmB,EAAE,WAAAD,GAAW,WAAAC,EAAW,CAAA;AAAA,IACxD;AAAA,IACA,oBAAoB;AAClB,WAAK,kBAAkB,IACvB,KAAK,eAAe,MACpB,KAAK,MAAM,gBAAgB;AAAA,IAC7B;AAAA,IACA,qBAAqBG,GAAmB;AACtCnF,QAAG,UAAU,IAAIgC,EAAQ,cAAc,IAAImD,CAAS,EAAE,EAAE;AAAA,QACtD,GAAGnD,EAAQ,cAAc;AAAA,QACzB;AAAA,MAAA,GAEFhC,EAAG,UAAU,IAAIgC,EAAQ,cAAc,QAAQ,EAAE;AAAA,QAC/C,GAAGA,EAAQ,cAAc;AAAA,QACzB;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,sBAAsBmD,GAAmB;AACvCnF,QAAG,UAAU,IAAIgC,EAAQ,cAAc,IAAImD,CAAS,EAAE,EAAE;AAAA,QACtD,GAAGnD,EAAQ,cAAc;AAAA,QACzB;AAAA,MAAA,GAEFhC,EAAG,UAAU,IAAIgC,EAAQ,cAAc,QAAQ,EAAE;AAAA,QAC/C,GAAGA,EAAQ,cAAc;AAAA,QACzB;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,WAAWlD,GAAwC;AACjD,YAAMsG,IAAWtG,EAAM,UAAU,SAAS,KAAK,gBAAgB;AAC/D,WAAK,UAAU,OAAOsG,EAAS,OAAQ,CAAA,GACvC,KAAK,8BAA8B;AACnC,YAAMrT,IAAQ+M,EAAM,UAAU,IAAI,KAAK,cAAc;AACrD,WAAK,gBAAgB;AAAA,QACnB,OAAA/M;AAAA,QACA,aAAa+M,EAAM,UAAU,IAAI,KAAK,cAAc;AAAA,MAAA,GAEtD,KAAK,gBAAgB,EAAE,GAAGA,EAAM,UAAU;AAE/B,iBAAA4E,KAAY,KAAK;AACrB,aAAA,YAAYA,GAAU0B,CAAQ,GACnC,KAAK,mBAAmB1B,CAAQ;AAElC,WAAK,gBAAgB,GACrB,KAAK,iBAAiB,GACtB,KAAK,0BAA0B,GAC/B,KAAK,kCAAkC,GACvC,KAAK,oBAAoB,GACzB,KAAK,kBAAkB;AAAA,IACzB;AAAA,IACA,oBAAoB;AAClB,YAAM,EAAE,WAAAV,GAAW,SAAAC,EAAQ,IAAI,KAAK,+BAA+B;AACnE,WAAK,MAAM,wBAAwB;AAAA,QACjC,WAAW,IAAI,KAAKD,CAAS,EAAE,YAAY;AAAA,QAC3C,SAAS,IAAI,KAAKC,CAAO,EAAE,YAAY;AAAA,MAAA,CACxC;AAAA,IACH;AAAA,IACA,iCAAiC;AACzB,YAAAoC,IAAgB,KAAK,SAAS,aAC9BC,IAAY,KAAK,UAAU,OAAO,GAClCC,IAAgBD,EAAU,CAAC,EAAE,QAAY,IAAAA,EAAU,CAAC,EAAE,WAEtDE,KACF,KAAK,mBAAmB,KAAK,qBAAqB,KAClDH,IACFE,GACIE,KACF,KAAK,oBAAoB,KAAK,qBAAqB,KACnDJ,IACFE,GAEIvC,IAAY,IAAI,KAAKsC,EAAU,CAAC,EAAE,QAAA,IAAYE,CAAY,GAC1DvC,IAAU,IAAI,KAAKqC,EAAU,CAAC,EAAE,QAAA,IAAYG,CAAa;AAExD,aAAA,EAAE,WAAAzC,GAAW,SAAAC;IACtB;AAAA,IACA,uBAAuBoC,GAAuB;AAC5C,YAAM,EAAE,WAAArC,GAAW,SAAAC,EAAQ,IAAI,KAAK,+BAA+B,GAC7DqC,IAAY,KAAK,UAAU,OAAO,GAClCC,IAAgBD,EAAU,CAAC,EAAE,QAAY,IAAAA,EAAU,CAAC,EAAE,WAEtDE,IAAexC,EAAU,QAAA,IAAYsC,EAAU,CAAC,EAAE,WAClDG,IAAgBH,EAAU,CAAC,EAAE,YAAYrC,EAAQ;AAElD,WAAA,mBAAoBuC,IAAeD,IAAiBF,GACpD,KAAA,oBAAqBI,IAAgBF,IAAiBF,GAEtD,KAAA,IACF,OAAO,IAAIrD,EAAQ,OAAO,QAAQ,EAClC,KAAK,SAAS,KAAK,gBAAgB,GACtC,KAAK,IACF,OAAO,IAAIA,EAAQ,OAAO,SAAS,EACnC;AAAA,QACC;AAAA,QACAqD,IAAgB,KAAK,oBAAoB,KAAK,qBAAqB;AAAA,MAEpE,EAAA,KAAK,SAAS,KAAK,iBAAiB;AAAA,IACzC;AAAA,IACA,kBAAkB;AAChB,WAAK,oBAAoB;AAAA,IAC3B;AAAA,IACA,gBAAgB;AACd,WAAK,oBAAoB;AAAA,IAC3B;AAAA,IACA,eAAevG,GAAiD;AAC9D,MAAAA,EAAM,YAAY;AAClB,YAAM4G,IAAW,KAAK;AAAA,QACpB5G,EAAM;AAAA,QACN,KAAK,SAAS,cAAc,KAAK;AAAA,MAAA;AAEnC,WAAK,mBAAmB,KAAK,IAAI,GAAG4G,CAAQ,GACvC,KAAA,IACF,OAAO,IAAI1D,EAAQ,OAAO,QAAQ,EAClC,KAAK,SAAS,KAAK,gBAAgB,GACtC,KAAK,kBAAkB;AAAA,IACzB;AAAA,IACA,gBAAgBlD,GAAiD;AAC/D,MAAAA,EAAM,YAAY;AAEZ,YAAAuG,IAAgB,KAAK,SAAS,aAC9BK,IAAW,KAAK;AAAA,QACpB,KAAK,SAAS,cAAc5G,EAAM;AAAA,QAClC,KAAK,SAAS,cAAc,KAAK;AAAA,MAAA,GAE7B6G,IAAON,IAAgBK;AAC7B,WAAK,oBAAoB,KAAK,IAAI,GAAGA,CAAQ,GAE7C,KAAK,IACF,OAAO,IAAI1D,EAAQ,OAAO,SAAS,EACnC,KAAK,SAAS,KAAK,iBAAiB,EACpC,KAAK,KAAK2D,CAAI,GAEjB,KAAK,kBAAkB;AAAA,IACzB;AAAA,IACA,yBAAyB;AACvB,YAAM3C,IACJ,KAAK,aACL,KAAK,YAAY,aACjB,KAAK,YAAY,WACbC,IACJ,KAAK,WAAW,KAAK,YAAY,aAAa,KAAK,YAAY,SAE3D2C,IAAY,KAAK,eAAe5C,CAAS,GACzC6C,IAAU,KAAK,eAAe5C,CAAO,GACrCoC,IAAgB,KAAK,SAAS,aAC9BS,IAAY,CAACF,GAAWC,CAAO,GAC/BE,IAAW,CAAC,GAAGV,CAAa;AAE7B,WAAA,YAAYrF,EAAG,UAAU,EAAE,OAAO8F,CAAS,EAAE,MAAMC,CAAQ,GAC3D,KAAA,mBAAmB,KAAK,UAAU,KAAK,GAE5C,KAAK,8BAA8B;AACxB,iBAAArC,KAAY,KAAK;AACrB,aAAA,YAAYA,GAAU,KAAK,SAAS,GACzC,KAAK,mBAAmBA,CAAQ;AAElC,WAAK,gBAAgB,GACrB,KAAK,iBAAiB,GACtB,KAAK,0BAA0B,GAC/B,KAAK,kCAAkC;AAAA,IACzC;AAAA,IACA,YAAYA,GAAkB0B,GAA2C;AACjE,YAAAzB,IAAmB,KAAK,MAAMD,CAAwB,GACtDsC,IAAc,KAAK;AAAA,QACvB,KAAK,YAAYtC,CAAwB;AAAA,MAAA;AAE3C,MAAAC,EACG,MAAMyB,CAAQ,EACd,MAAMY,EAAY,QAAQ,EAC1B,WAAWA,EAAY,QAAQ,EAC/B,cAAc,CAAC,GACb,KAAA,IAAI,OAAoB,IAAIhE,EAAQ,KAAK,IAAI0B,CAAQ,EAAE,EAAE,KAAKC,CAAI;AAAA,IACzE;AAAA,IACA,mBAAmBD,GAAkB;AACnC,WAAK,IACF,OAAoB,IAAI1B,EAAQ,KAAK,IAAI0B,CAAQ,EAAE,EACnD,UAAU,YAAY,EACtB,KAAK,WAAY;AACZ,YAAAuC,IAAcjG,EAAG,OAAO,IAAsB,GAC9CkG,IAAYD,EAAY,KAAK,EAAyB,QAAQ;AAClE,QAAAA,EACG,KAAK,KAAKC,EAAS,SAAS,CAAC,EAC7B,KAAK,KAAK,CAAC,EACX,MAAM,eAAe,OAAO;AAAA,MAAA,CAChC;AAAA,IACL;AAAA,IACA,kBAAkB;AAChB,YAAMC,IAAgB,IAAInE,EAAQ,UAAU,WAAWA,EAAQ,SAAS;AACxE,WAAK,IACF,UAAyCmE,CAAa,EACtD,KAAK,KAAK,KAAK,aAAa,EAC5B,KAAK,SAAS,KAAK,iBAAiB,EACpC,KAAK,UAAU,KAAK,cAAc;AAAA,IACvC;AAAA,IACA,mBAAmB;AACV,aAAA,QAAQ,KAAK,eAAe,EAAE,QAAQ,CAAC,CAACrkB,CAAI,MAAM;AACvD,cAAMskB,IAAOpG,EACV,KAAyB,EACzB,EAAE,CAACjI,MAAM,KAAK,UAAU,KAAK,eAAeA,EAAE,SAAS,CAAC,CAAC,EACzD,GAAG,KAAK,cAAc,EACtB,GAAG,CAACA,MAAM,KAAK,OAAOA,EAAE,KAAK,CAAC,EAC9B,MAAMiI,EAAG,cAAc;AAE1B,aAAK,IACF;AAAA,UACC,IAAIgC,EAAQ,aAAa,IAAIlgB,CAAI;AAAA,QAAA,EAElC,KAAK,KAAK,CAACiW,MAAMqO,EAAKrO,CAAC,CAAC;AAAA,MAAA,CAC5B;AAAA,IACH;AAAA,IACA,4BAA4B;AAC1B,aAAO,KAAK,KAAK,eAAe,EAAE,QAAQ,CAACjW,MAAS;AAClD,cAAM0iB,IAAO;AACb,aAAK,IACF;AAAA,UACC,IAAIxC,EAAQ,YAAY,IAAIlgB,CAAI;AAAA,QAAA,EAEjC,KAAK,SAAUiW,GAAG;AACdiI,YAAA,OAAO,IAAI,EACX,KAAK,MAAMwE,EAAK,UAAUA,EAAK,eAAezM,EAAE,SAAS,CAAC,CAAC,EAC3D,KAAK,MAAMyM,EAAK,OAAOzM,EAAE,KAAK,CAAC;AAAA,QAAA,CACnC,GAEH,KAAK,IACF;AAAA,UACC,IAAIiK,EAAQ,kBAAkB,IAAIlgB,CAAI;AAAA,QAAA,EAEvC,KAAK,SAAUiW,GAAG;AACX,gBAAA/W,IACJwjB,EAAK,UAAUA,EAAK,eAAezM,EAAE,SAAS,EAAE,QAAS,CAAA,IAAI;AAC/DiI,YAAG,OAAO,IAAI,EACX,KAAK,KAAKhf,CAAC,EACX,KAAK,KAAK,CAAC,EACX,KAAK,SAAS,EAAE,EAChB,KAAK,UAAUwjB,EAAK,oBAAoB;AAAA,QAAA,CAC5C;AAAA,MAAA,CACJ;AAAA,IACH;AAAA,IACA,cAAczM,GAAkB;AACvB,aAAA,KAAK,UAAU,KAAK,eAAeA,EAAE,aAAaA,EAAE,SAAS,CAAC;AAAA,IACvE;AAAA,IACA,kBAAkBA,GAAkB;AAClC,UAAI,CAACA;AACI,eAAA;AAEL,UAAAA,EAAE,aAAaA,EAAE,SAAS;AAC5B,cAAMsO,IAAiB,IAAI,KAAKtO,EAAE,SAAS,GACrCuO,IAAe,IAAI,KAAKvO,EAAE,OAAO,GACjCwO,IACJ,KAAK,UAAUD,CAAY,IAAI,KAAK,UAAUD,CAAc;AAE9D,eAAO,KAAK,IAAIE,GAAO,KAAK,YAAY;AAAA,MAAA,OACnC;AACC,cAAAC,IAAiB,KAAK,KAAK,0BAA0B;AAE3D,eAAO,KAAK,IAAIA,GAAgB,KAAK,YAAY;AAAA,MACnD;AAAA,IACF;AAAA,IACA,eAAe;AACT,UAAA,CAAC,KAAK;AACR;AAGI,YAAAnB,IAAgB,KAAK,SAAS,aAC9BoB,IAAiB,KAAK;AAEvB,WAAA,IACF,OAAO,MAAM,EACb,QAAQ,GAAGzE,EAAQ,OAAO,IAAIA,EAAQ,OAAO,UAAU,EAAI,EAC3D,KAAK,SAAS,KAAK,gBAAgB,EACnC,KAAK,UAAUyE,IAAiB,KAAK,qBAAqB,CAAC,EAC3D,KAAK,KAAK,CAAC,KAAK,kBAAkB,EAClC,KAAK,KAAK,CAAC,KAAK,kBAAkB,EAClC,KAAK,QAAQ,oBAAoB,EACjC,GAAG,cAAc,MAAO,KAAK,oBAAoB,EAAK,EACtD,GAAG,cAAc,MAAO,KAAK,oBAAoB,EAAM,EACvD;AAAA,QACCzG,EACG,KAA+B,EAC/B,GAAG,SAAS,KAAK,eAAe,EAChC,GAAG,QAAQ,KAAK,cAAc,EAC9B,GAAG,OAAO,KAAK,aAAa;AAAA,MAAA,GAGnC,KAAK,IACF,OAAO,MAAM,EACb,QAAQ,GAAGgC,EAAQ,OAAO,IAAIA,EAAQ,OAAO,WAAW,EAAI,EAC5D;AAAA,QACC;AAAA,QACAqD,IAAgB,KAAK,oBAAoB,KAAK,qBAAqB;AAAA,MAAA,EAEpE,KAAK,KAAK,CAAC,KAAK,kBAAkB,EAClC,KAAK,SAAS,KAAK,oBAAoB,KAAK,qBAAqB,CAAC,EAClE,KAAK,UAAUoB,IAAiB,KAAK,qBAAqB,CAAC,EAC3D,KAAK,QAAQ,oBAAoB,EACjC,GAAG,cAAc,MAAO,KAAK,oBAAoB,EAAK,EACtD,GAAG,cAAc,MAAO,KAAK,oBAAoB,EAAM,EACvD;AAAA,QACCzG,EACG,KAA+B,EAC/B,GAAG,SAAS,KAAK,eAAe,EAChC,GAAG,QAAQ,KAAK,eAAe,EAC/B,GAAG,OAAO,KAAK,aAAa;AAAA,MAAA;AAAA,IAErC;AAAA,IACA,mBAAmB;AACjB,WAAK,IAAI,UAAU,KAAKgC,EAAQ,UAAU,EAAE,EAAE,UAE9C,KAAK,0BAA0B,GAC/B,KAAK,oBAAoB;AAAA,IAC3B;AAAA,IACA,4BAA4B;AAC1B,YAAM0E,IAAU,KAAK,qBACfC,IAAe,KAAK,kBACtB,KAAK,4BACL,KAAK;AAEF,aAAA,QAAQA,CAAY,EAAE,QAAQ,CAAC,CAAC7kB,GAAMogB,CAAW,MAAM;AAC5D,cAAM0E,IAAW,KAAK,IACnB,OAAO,GAAG,EACV;AAAA,UACC,GAAG5E,EAAQ,cAAc,IAAIA,EAAQ,cAAc,IAAIlgB,CAAI;AAAA,UAC3D;AAAA,QAAA,EAED,KAAK,aAAa,eAAe4kB,CAAO,GAAG,GACxC,EAAE,OAAAre,GAAO,QAAAwe,EAAW,IAAA3E;AAE1B,aAAK,cAAc;AAAA,UACjB,QAAA2E;AAAA,UACA,UAAAD;AAAA,UACA,OAAAve;AAAA,UACA,MAAAvG;AAAA,QAAA,CACD,GACD,KAAK,wBAAwB;AAAA,UAC3B,QAAA+kB;AAAA,UACA,UAAAD;AAAA,UACA,OAAAve;AAAA,UACA,MAAAvG;AAAA,QAAA,CACD;AAAA,MAAA,CACF,GAEM,OAAA,QAAQ,KAAK,eAAe,EAAE;AAAA,QACnC,CAAC,CAACA,GAAMogB,CAAW,GAAGvO,MAAU;AAC9B,gBAAM,EAAE,OAAAtL,GAAO,WAAAye,GAAW,OAAAC,EAAA,IAAU7E,GAC9B8E,IACJ,KAAK,uBAAuB,KAAK,kBAAkBrT,IAAQ,IACvDsT,IACJP,IAAU,KAAK,uBAAuB,KAAK,gBACvCQ,IAAiB,KAAK,IACzB,OAAO,GAAG,EACV,QAAQ,GAAGlF,EAAQ,cAAc,UAAU,EAAI,EAC/C,KAAK,aAAa,eAAe0E,CAAO,GAAG,EAC3C,GAAG,aAAa,MAAM,KAAK,qBAAqB5kB,CAAI,CAAC,EACrD,GAAG,cAAc,MAAM,KAAK,sBAAsBA,CAAI,CAAC;AAE1D,eAAK,sBAAsB;AAAA,YACzB,MAAAA;AAAA,YACA,OAAAuG;AAAA,YACA,WAAAye;AAAA,YACA,WAAWG;AAAA,UAAA,CACZ,GACD,KAAK,cAAc;AAAA,YACjB,OAAA5e;AAAA,YACA,OAAA0e;AAAA,YACA,WAAWC;AAAA,YACX,UAAUE;AAAA,UAAA,CACX;AAAA,QACH;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,cAAc;AAAA,MACZ,QAAAL;AAAA,MACA,UAAAD;AAAA,MACA,OAAAve;AAAA,MACA,MAAAvG;AAAA,IAAA,GAMC;AACD,YAAMskB,IAAOpG,EACV,KAAyB,EACzB,EAAE,CAACjI,MAAM,KAAK,UAAU,KAAK,eAAeA,EAAE,SAAS,CAAC,CAAC,EACzD,GAAG,KAAK,cAAc,EACtB,GAAG,CAACA,MAAM,KAAK,OAAOA,EAAE,KAAK,CAAC,EAC9B,MAAMiI,EAAG,cAAc;AAGvB,MAAA4G,EAAA,OAAO,MAAM,EACb,MAAMC,CAA8B,EACpC,QAAQ,GAAG7E,EAAQ,aAAa,IAAIlgB,CAAI,IAAI,EAAI,EAChD,KAAK,QAAQ,QAAQmgB,GAAK,YAAY,IAAIngB,CAAI,GAAG,EACjD,KAAK,UAAUuG,CAAK,EACpB,KAAK,mBAAmB,OAAO,EAC/B,KAAK,kBAAkB,OAAO,EAC9B,KAAK,gBAAgB,CAAC,EACtB,KAAK,KAAK,CAAC0P,MAAMqO,EAAKrO,CAAC,CAAC;AAAA,IAC7B;AAAA,IACA,wBAAwB;AAAA,MACtB,QAAA8O;AAAA,MACA,UAAAD;AAAA,MACA,OAAAve;AAAA,MACA,MAAAvG;AAAA,IAAA,GAMC;AACM,MAAA+kB,EAAA,QAAQ,CAAC/H,MAA8B;AACtC,cAAAgE,IAAY,GAAGhE,EAAM,SAAS;AAC/B,aAAA,kBAAkBgE,CAAS,IAAI;AAAA,UAClC,GAAI,KAAK,kBAAkBA,CAAS,KAAK,CAAC;AAAA,UAC1C,CAAChhB,CAAI,GAAGgd,EAAM;AAAA,QAAA;AAGhB,cAAMqI,IAASP,EACZ,OAAO,QAAQ,EACf;AAAA,UACC,GAAG5E,EAAQ,YAAY,IAAIA,EAAQ,YAAY,IAAIlgB,CAAI;AAAA,UACvD;AAAA,QAED,EAAA,KAAK,MAAM,KAAK,UAAU,KAAK,eAAegd,EAAM,SAAS,CAAC,CAAC,EAC/D,KAAK,MAAM,KAAK,OAAOA,EAAM,KAAK,CAAC,EACnC,KAAK,KAAK,GAAG,EACb,KAAK,QAAQzW,CAAK,EAClB,KAAK,gBAAgB,CAAC,EACtB,MAAMyW,CAAK;AAET,aAAA,gBAAgBgE,CAAS,IAAI;AAAA,UAChC,GAAI,KAAK,gBAAgBA,CAAS,KAAK,CAAC;AAAA,UACxCqE;AAAA,QAAA,GAICP,EAAA,OAAO,MAAM,EACb,QAAQ,GAAG5E,EAAQ,kBAAkB,IAAIlgB,CAAI,IAAI,EAAI,EACrD,KAAK,KAAK,KAAK,UAAU,KAAK,eAAegd,EAAM,SAAS,CAAC,IAAI,EAAE,EACnE,KAAK,KAAK,CAAC,EACX,KAAK,SAAS,EAAE,EAChB,KAAK,UAAU,KAAK,oBAAoB,EACxC,KAAK,QAAQ,aAAa,EAC1B,MAAMA,CAAK,EACX,GAAG,aAAa,CAAC3L,MAAM;AACjB,eAAA,oBAAoBA,GAAG2L,GAAOhd,CAAI,GAClC,KAAA,gBAAgBghB,CAAS,EAAE;AAAA,YAAQ,CAAC/K,MACvCA,EAAE,QAAQ,GAAGiK,EAAQ,YAAY,YAAY,EAAI;AAAA,UAAA;AAAA,QACnD,CACD,EACA,GAAG,YAAY,MAAM;AACpB,eAAK,mBAAmB,GACnB,KAAA,gBAAgBc,CAAS,EAAE;AAAA,YAAQ,CAAC/K,MACvCA,EAAE,QAAQ,GAAGiK,EAAQ,YAAY,YAAY,EAAK;AAAA,UAAA;AAAA,QACpD,CACD;AAAA,MAAA,CACJ;AAAA,IACH;AAAA,IACA,sBAAsB;AACb,aAAA,QAAQ,KAAK,SAAS,EAAE,QAAQ,CAAC,CAAClgB,GAAMogB,CAAW,GAAGvO,MAAU;AACrE,cAAM,EAAE,OAAAtL,GAAO,OAAA0e,GAAO,QAAAF,GAAQ,WAAAC,MAC5B5E,GACIK,IAAU5O,MAAU,IAAI,IAAI,KAAK,mBACjC+S,IAAU,KAAK,oBAAoB,KAAK,uBAAuB,GAC/DU,IACJzT,KAAS,KAAK,iBAAiB4O,KAC/B,KAAK,sBACLmE;AAEF,aAAK,sBAAsB;AAAA,UACzB,WAAAU;AAAA,UACA,MAAAtlB;AAAA,UACA,OAAAuG;AAAA,UACA,WAAAye;AAAA,QAAA,CACD;AAEK,cAAAF,IAAW,KAAK,IACnB,OAAO,GAAG,EACV,KAAK,cAAcve,CAAK,EACxB,QAAQ2Z,EAAQ,YAAY,EAAI,EAChC,QAAQ,GAAGA,EAAQ,UAAU,IAAIlgB,CAAI,IAAI,EAAI;AAEhD,aAAK,eAAe;AAAA,UAClB,OAAAuG;AAAA,UACA,UAAAue;AAAA,UACA,WAAAQ;AAAA,QAAA,CACD,GACD,KAAK,SAAS;AAAA,UACZ,QAAAP;AAAA,UACA,OAAAxe;AAAA,UACA,UAAAue;AAAA,UACA,WAAAQ;AAAA,UACA,MAAAtlB;AAAA,QAAA,CACD,GACD,KAAK,cAAc;AAAA,UACjB,OAAAuG;AAAA,UACA,OAAA0e;AAAA,UACA,UAAAH;AAAA,UACA,WAAAQ;AAAA,QAAA,CACD;AAAA,MAAA,CACF;AAAA,IACH;AAAA,IACA,sBAAsB;AAAA,MACpB,WAAAA;AAAA,MACA,MAAAtlB;AAAA,MACA,WAAAglB;AAAA,IAAA,GAMC;AAaD,MAZa,KAAK,IACf,OAAO,MAAM,EACb;AAAA,QACC,GAAG9E,EAAQ,gBAAgB,IAAIA,EAAQ,gBAAgB,IAAIlgB,CAAI;AAAA,QAC/D;AAAA,MAED,EAAA,KAAK,KAAK,CAAC,EACX,KAAK,KAAKslB,CAAS,EACnB,KAAK,SAAS,KAAK,SAAS,cAAc,CAAC,EAC3C,KAAK,UAAU,KAAK,cAAc,EAClC,KAAK,QAAQ,QAAQnF,GAAK,eAAe,IAAIngB,CAAI,GAAG,EAElD,MAAM,cAAcglB,IAAY,YAAY,QAAQ;AAAA,IAC3D;AAAA,IACA,eAAe;AAAA,MACb,OAAAze;AAAA,MACA,WAAA+e;AAAA,MACA,UAAAR;AAAA,IAAA,GAKC;AACD,MAAAA,EACG,OAAO,MAAM,EACb,KAAK,SAAS5E,EAAQ,YAAY,EAClC,KAAK,KAAK,CAAC,EACX,KAAK,KAAKoF,CAAS,EACnB,KAAK,SAAS,KAAK,SAAS,WAAW,EACvC,KAAK,UAAU,KAAK,cAAc,EAClC,KAAK,QAAQpH,EAAG,MAAM3X,CAAK,EAAG,SAAA,CAAU,EACxC,MAAM,WAAW,GAAG;AAAA,IACzB;AAAA,IACA,SAAS;AAAA,MACP,QAAAwe;AAAA,MACA,UAAAD;AAAA,MACA,WAAAQ;AAAA,MACA,OAAA/e;AAAA,MACA,MAAAvG;AAAA,IAAA,GAOC;AACD,YAAM0iB,IAAO;AACb,MAAAoC,EACG,UAAU5E,EAAQ,SAAS,EAC3B,KAAK6E,CAAM,EACX,MACA,EAAA,OAAO,MAAM,EACb,QAAQ7E,EAAQ,WAAW,EAAI,EAC/B,KAAK,KAAK,KAAK,aAAa,EAC5B,KAAK,KAAKoF,CAAS,EACnB,KAAK,MAAM,GAAG,EACd,KAAK,MAAM,GAAG,EACd,KAAK,SAAS,KAAK,iBAAiB,EACpC,KAAK,UAAU,KAAK,cAAc,EAClC,KAAK,gBAAgB,CAAC,EACtB,KAAK,UAAU,SAAS,EACxB,KAAK,UAAU,OAAO,EACtB,MAAM,QAAQ/e,CAAK,EACnB,GAAG,aAAa,SAAUyW,GAAOiG,GAAW;AAE3C,QADa/E,EAAG,OAAO,IAAI,EACtB,QAAQ,GAAGgC,EAAQ,SAAS,aAAa,EAAI,GAC7CwC,EAAA,mBAAmB1F,GAAOiG,GAAWjjB,CAAI;AAAA,MAAA,CAC/C,EACA,GAAG,YAAY,WAAY;AAE1B,QADake,EAAG,OAAO,IAAI,EACtB,QAAQ,GAAGgC,EAAQ,SAAS,aAAa,EAAK,GACnDwC,EAAK,kBAAkB;AAAA,MAAA,CACxB;AAAA,IACL;AAAA,IACA,cAAc;AAAA,MACZ,UAAAoC;AAAA,MACA,WAAAQ;AAAA,MACA,OAAA/e;AAAA,MACA,OAAA0e;AAAA,IAAA,GAMC;AACG,UAAA,CAAC,KAAK;AACR;AAGF,YAAMM,IAAK;AAAA,QACT,GAAG;AAAA,QACH,GAAGD;AAAA,QACH,GAAG,KAAK,iBAAiB;AAAA,QACzB,GAAG,KAAK;AAAA,QACR,QAAQ;AAAA,MAAA;AAKP,MAAAR,EAAA,OAAO,MAAM,EACb,KAAK,SAAS5E,EAAQ,OAAO,EAC7B,KAAK,cAAc3Z,CAAK,EACxB,KAAK,KAAKgf,EAAG,CAAC,EACd,KAAK,KAAKA,EAAG,CAAC,EACd,KAAK,SAASA,EAAG,CAAC,EAClB,KAAK,UAAUA,EAAG,CAAC,EACnB,KAAK,MAAMA,EAAG,MAAM,EACpB,KAAK,MAAMA,EAAG,MAAM,EACpB,MAAM,QAAQ,KAAK,OAAO,YAAY,OAAO,GAI7CT,EAAA,OAAO,MAAM,EACb,KAAK,SAAS5E,EAAQ,WAAW,EACjC,KAAK,cAAc3Z,CAAK,EACxB,KAAK,KAAKgf,EAAG,CAAC,EACd,KAAK,KAAKA,EAAG,CAAC,EACd,KAAK,SAASA,EAAG,CAAC,EAClB,KAAK,UAAUA,EAAG,CAAC,EACnB,KAAK,MAAMA,EAAG,MAAM,EACpB,KAAK,MAAMA,EAAG,MAAM,EACpB,MAAM,QAAQ,KAAK,wBAAwBhf,CAAK,CAAC,EACjD,MAAM,UAAU,KAAK,iBAAiBA,CAAK,CAAC,EAC5C,MAAM,gBAAgB,IAAI,GAI1Bue,EAAA,OAAO,MAAM,EACb,KAAK,SAAS5E,EAAQ,SAAS,EAC/B,KAAK,cAAc3Z,CAAK,EACxB,KAAK,KAAK,CAAC,EACX,KAAK,KAAK+e,IAAY,KAAK,iBAAiB,CAAC,EAC7C,KAAK,MAAM,QAAQ,EACnB,MAAM,eAAe,OAAO,EAC5B,MAAM,aAAa,MAAM,EACzB,MAAM,eAAe,GAAG,EACxB,MAAM,mBAAmB,OAAO,EAChC,MAAM,eAAe,QAAQ,EAC7B,MAAM,QAAQ,KAAK,iBAAiB/e,CAAK,CAAC,EAC1C,KAAK0e,CAAK;AAAA,IACf;AAAA,IACA,iBAAiBO,GAAmB;;AAClC,cACE,KAAK,QACDtH,IAAAA,EAAG,MAAMsH,CAAS,MAAlBtH,gBAAAA,EAAqB,SAAS,QAC9BA,IAAAA,EAAG,MAAMsH,CAAS,MAAlBtH,gBAAAA,EAAqB,OAAO,IAC/B;IACL;AAAA,IACA,wBAAwBsH,GAAmB;AACrC,UAAAjf,IAAQ2X,EAAG,MAAMsH,CAAS;AACvB,aAAAjf,EAAA,UAAU,KAAK,OAAO,MAAM,KAE5BA,EAAO;IAChB;AAAA,IAEA,eAAeya,GAA4B;AAClC,aAAAQ,GAAOR,CAAS,EAAE,IAAI,KAAK,WAAW,SAAS,EAAE;IAC1D;AAAA,IACA,eAAe8B,GAAoB;AACjC,YAAM2C,IAAgB,IAAI,KAAK3C,CAAI,EAAE,kBAAkB;AAEvD,aAAOtB,GAAOsB,CAAI,EACf,IAAI2C,GAAe,SAAS,EAC5B,UAAU,KAAK,WAAW,EAAI,EAC9B,OAAO;AAAA,IACZ;AAAA,IACA,uBAAuB;AACf,YAAAC,IAAS,KAAK,UAAU,OAAO;AAE9B,aAAA,EAAE,WAAWA,EAAO,CAAC,GAAG,SAASA,EAAO,CAAC;IAClD;AAAA,IACA,sBAAsB1E,GAA8B;AAClD,aAAOQ,GAAO,UAAUR,CAAS,EAAE,OAAO,qBAAqB;AAAA,IACjE;AAAA,IACA,aAAa+D,GAAyB;AAChC,UAAAA,EAAO,UAAU;AACZ,eAAAA;AAGT,YAAMxC,IAAS,CAACzP,MAAc,IAAI,KAAKA,CAAC,GAClC6S,IAAiB,CAAC7S,MAAcyP,EAAOzP,CAAC,EAAE,WAC1C8S,IAAc,CAAC9C,GAAYN,MAC/B,IAAI,KAAKM,EAAK,YAAYN,CAAQ,GAE9BqD,IAAcd,EACjB;AAAA,QAAI,CAAC/H,GAAsBnL,MAC1BA,MAAU,IACN,QACA8T,EAAe3I,EAAM,SAAS,IAC9B2I,EAAeZ,EAAOlT,IAAQ,CAAC,EAAE,SAAS;AAAA,MAAA,EAE/C;AAAA,QACC,CAACiU,GAAatD,MAAqB,KAAK,IAAIsD,GAAKtD,CAAQ;AAAA,QACzD;AAAA,MAAA;AAGJ,UAAIuD,IAAehB,EAAO;AAAA,QACxB,CAAC/H,GAAsBnL,MAAkB;AACjC,gBAAAmU,IAAYjB,EAAOlT,IAAQ,CAAC;AAElC,cAAI,CAACmU;AACH,gBAAI,KAAK,sBAAsB;AAC7B,oBAAMC,IAAgBL;AAAA,gBACpBrD,EAAOvF,EAAM,SAAS;AAAA,gBACtB6I;AAAA,cAAA;AAGK,qBAAA;AAAA,gBACL7I;AAAA,gBACA,EAAE,WAAWiJ,EAAc,YAAY,GAAG,OAAO,EAAE;AAAA,cAAA;AAAA,YACrD;AAEA,qBAAO,CAACjJ,CAAK;AAIX,gBAAAiJ,IAAgB1D,EAAOvF,EAAM,SAAS,GACtCwH,IAAejC,EAAOyD,EAAU,SAAS;AAE/C,cAAIxB,EAAa,QAAQ,IAAIyB,EAAc,QAAA,IAAYJ,GAAa;AAClE,kBAAMK,IAAmBN,EAAYpB,GAAc,CAACqB,CAAW,GACzDM,IAAqBP,EAAYK,GAAeJ,CAAW;AAE1D,mBAAA;AAAA,cACL7I;AAAA,cACA,EAAE,WAAWmJ,EAAmB,YAAY,GAAG,OAAO,EAAE;AAAA,cACxD,EAAE,WAAWD,EAAiB,YAAY,GAAG,OAAO,EAAE;AAAA,cACtDF;AAAA,YAAA;AAAA,UACF;AAEO,mBAAA,CAAChJ,GAAOgJ,CAAS;AAAA,QAE5B;AAAA,MAAA;AAGF,aAAI,KAAK,yBAKQD,IAAA;AAAA,QACb,EAAE,WALmBH;AAAA,UACrBrD,EAAOwC,EAAO,CAAC,EAAE,SAAS;AAAA,UAC1B,CAACc;AAAA,QAAA,EAG2B,YAAY,GAAG,OAAO,EAAE;AAAA,QACpD,GAAGE;AAAA,MAAA,IAIAA;AAAA,IACT;AAAA,IACA,oBAAoBhB,GAA0C;AAC5D,aAAO,KAAK,0BAA0B,IAAI,CAACqB,MACrBrB,EAAO;AAAA,QACzB,CAAC/H,MAAUA,EAAM,cAAcoJ,EAAa;AAAA,MAAA,KAGxBA,CACvB;AAAA,IACH;AAAA,EACF;AACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;AC5gDM,SAASC,KAAe;AACtB,SAAA,CAAC,EACN,SAAS,qBACT,SAAS,wBACT,SAAS,2BACT,SAAS;AAEb;AAEO,SAAS5I,GAAeD,GAAsB;AACnD,MAAI6I;AACF,WAAO,IAAI,QAAQ,CAACC,MAAYA,EAAS,CAAA;AAG3C,MAAI9I,EAAQ;AACV,WAAOA,KAAA,gBAAAA,EAAS;AAClB,MAAWA,EAAQ;AACjB,WAAOA,KAAA,gBAAAA,EAAS;AAClB,MAAWA,EAAQ;AACjB,WAAOA,KAAA,gBAAAA,EAAS;AAClB,MAAWA,EAAQ;AACjB,WAAOA,KAAA,gBAAAA,EAAS;AAEpB;AAEO,SAASD,KAAiB;AAC3B,MAAA,CAAC8I;AACH,WAAO,IAAI,QAAQ,CAACC,MAAYA,EAAS,CAAA;AAG3C,MAAI,SAAS;AACX,WAAO,SAAS;AAClB,MAAW,SAAS;AAClB,WAAO,SAAS;AAClB,MAAW,SAAS;AAClB,WAAO,SAAS;AAClB,MAAW,SAAS;AAClB,WAAO,SAAS;AAEpB;ACxBO,MAAMC,KAAa;AAAA,EACxB,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC;AACF,GAEelV,KAAA;AAAA,EACb,QAAQzT,GAAqB;AAE3B,WAAO,KAAKmoB,EAAU,EAAE,QAAQ,CAAC/mB,MAAS;AAExC,MAAApB,EAAI,UAAUoB,GAAM+mB,GAAW/mB,CAAI,CAAC;AAAA,IAAA,CACrC,GAGDygB,GAAc,QAAQ,CAAC,EAAE,MAAAzgB,GAAM,YAAAwnB,QAAiB;AAC1C,MAAA5oB,EAAA,UAAUoB,GAAMwnB,CAAU;AAAA,IAAA,CAC/B;AAAA,EACH;AACF;","x_google_ignoreList":[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,37]}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/types.ts","../src/components/EBadge.vue?vue&type=script&lang.ts","../src/components/EAvatar.vue?vue&type=script&lang.ts","../node_modules/tailwindcss/lib/util/negateValue.js","../node_modules/tailwindcss/lib/corePluginList.js","../node_modules/tailwindcss/lib/util/configurePlugins.js","../node_modules/picocolors/picocolors.browser.js","../node_modules/tailwindcss/lib/util/log.js","../node_modules/tailwindcss/lib/public/colors.js","../node_modules/tailwindcss/lib/util/defaults.js","../node_modules/tailwindcss/lib/util/toPath.js","../node_modules/tailwindcss/lib/featureFlags.js","../node_modules/tailwindcss/lib/util/normalizeConfig.js","../node_modules/tailwindcss/lib/util/isPlainObject.js","../node_modules/tailwindcss/lib/util/cloneDeep.js","../node_modules/tailwindcss/lib/util/escapeCommas.js","../node_modules/tailwindcss/lib/util/colorNames.js","../node_modules/tailwindcss/lib/util/color.js","../node_modules/tailwindcss/lib/util/withAlphaVariable.js","../node_modules/tailwindcss/lib/util/splitAtTopLevelOnly.js","../node_modules/tailwindcss/lib/util/parseBoxShadowValue.js","../node_modules/tailwindcss/lib/util/dataTypes.js","../node_modules/tailwindcss/lib/util/validateFormalSyntax.js","../node_modules/tailwindcss/lib/util/pluginUtils.js","../node_modules/tailwindcss/lib/util/toColorValue.js","../node_modules/tailwindcss/lib/util/resolveConfig.js","../node_modules/tailwindcss/stubs/config.full.js","../node_modules/tailwindcss/lib/util/getAllConfigs.js","../node_modules/tailwindcss/lib/public/resolve-config.js","../node_modules/tailwindcss/resolveConfig.js","../node_modules/tailwindcss/colors.js","../config.ts","../src/constants.ts","../src/components/EIcon.vue?vue&type=script&lang.ts","../src/components/ESpinner.vue?vue&type=script&lang.ts","../src/components/ERow.vue?vue&type=script&lang.ts","../src/components/ECol.vue?vue&type=script&lang.ts","../src/utils.ts","../src/components/EVideoPlayer.vue?vue&type=script&lang.ts","../src/components/ETimeline.config.ts","../src/directives/resize-observer.ts","../src/directives/index.ts","../src/components/ETimeline.vue?vue&type=script&lang.ts","../src/components/EVideoEmbed.vue?vue&type=script&lang.ts","../src/index.ts"],"sourcesContent":["import { BadgeSizes, AvatarSizes, IconSizes, BadgeColors } from \"@/constants\"\n\nexport enum Size {\n dot = \"dot\",\n xs = \"xs\",\n sm = \"sm\",\n md = \"base\",\n base = \"base\",\n lg = \"lg\",\n xl = \"xl\",\n \"2xl\" = \"2xl\",\n \"3xl\" = \"3xl\",\n \"4xl\" = \"4xl\",\n \"5xl\" = \"5xl\",\n \"6xl\" = \"6xl\",\n \"7xl\" = \"7xl\",\n \"8xl\" = \"8xl\",\n \"9xl\" = \"9xl\",\n}\n\nexport enum BaseColor {\n warning = \"warning\",\n error = \"error\",\n info = \"info\",\n success = \"success\",\n primary = \"primary\",\n brand = \"brand\",\n default = \"default\",\n}\n\nexport type TBadgeSize = (typeof BadgeSizes)[number]\n\nexport type TAvatarSize = (typeof AvatarSizes)[number]\n\nexport type TIconSize = (typeof IconSizes)[number]\n\nexport type TBadgeColor = (typeof BadgeColors)[number]\n\nexport type TailwindColorClass = string\n\nexport type FlexJustifyContent =\n | \"around\"\n | \"between\"\n | \"center\"\n | \"end\"\n | \"evenly\"\n | \"normal\"\n | \"start\"\n | \"stretch\"\n\nexport type FlexAlignItems = \"start\" | \"center\" | \"end\" | \"baseline\" | \"stretch\"\n\nexport type FlexAlignContent =\n | \"around\"\n | \"baseline\"\n | \"between\"\n | \"center\"\n | \"end\"\n | \"evenly\"\n | \"normal\"\n | \"start\"\n | \"stretch\"\n\nexport type FlexAlignSelf =\n | \"auto\"\n | \"baseline\"\n | \"center\"\n | \"end\"\n | \"start\"\n | \"stretch\"\n\nexport enum TimelineAxis {\n overview = \"overview\",\n detailed = \"detailed\",\n detailedBackground = \"detailedBackground\",\n}\n\nexport type TimelineTicksConfig = {\n precision: number\n interval: any\n format: string | ((d: Date) => string)\n}\n\nexport type TimelineAxesConfig = {\n [key in TimelineAxis]: TimelineTicksConfig[]\n}\n\nexport type Timestamp = Date | string | number\n\nexport default {}\n","\nimport Vue, { PropType } from \"vue\"\nimport { BaseColor, Size, TBadgeColor, TBadgeSize } from \"@/types\"\n\nexport default Vue.extend({\n name: \"EBadge\",\n props: {\n text: {\n type: String,\n default: \"\",\n },\n color: {\n type: String as PropType<TBadgeColor>,\n default: BaseColor.default,\n },\n size: {\n type: String as PropType<TBadgeSize>,\n default: Size.base,\n },\n },\n data() {\n return {\n colors: {\n [BaseColor.error]: \"e-bg-rose-500 e-text-white\",\n [BaseColor.info]: \"e-bg-cyan-500 e-text-white\",\n [BaseColor.warning]: \"e-bg-amber-500 e-text-white\",\n [BaseColor.primary]: \"e-bg-sky-500 e-text-white\",\n [BaseColor.default]: \"e-bg-slate-300 e-text-white\",\n [BaseColor.success]: \"e-bg-lime-500 e-text-white\",\n },\n sizes: {\n [Size.dot]: \"e-w-2 e-h-2\",\n [Size.xs]: \"e-w-3 e-h-3\",\n [Size.sm]: \"e-w-4 e-h-4\",\n [Size.md]: \"e-w-5 e-h-5\",\n [Size.lg]:\n \"e-min-w-[2rem] e-max-w-[4rem] e-px-1 e-h-6 e-text-sm e-font-medium\",\n [Size.xl]:\n \"e-min-w-[3rem] e-max-w-[5rem] e-px-1 e-h-8 e-text-base e-font-medium\",\n },\n }\n },\n computed: {\n badgeClasses(): string[] {\n const colorClasses =\n this.colors[this.color] || this.colors[BaseColor.default]\n const sizeClasses = this.sizes[this.size] || this.sizes[Size.md]\n\n return [\n \"e-flex e-items-center e-justify-center e-rounded-full\",\n colorClasses,\n sizeClasses,\n ]\n },\n showText(): boolean {\n return [Size.lg, Size.xl].includes(this.size)\n },\n },\n})\n","\nimport Vue, { PropType } from \"vue\"\nimport Badge from \"@/components/EBadge.vue\"\nimport { BaseColor, Size, TAvatarSize, TBadgeColor, TBadgeSize } from \"@/types\"\n\nexport default Vue.extend({\n name: \"EAvatar\",\n components: {\n Badge,\n },\n props: {\n size: {\n type: String as PropType<TAvatarSize>,\n default: Size.md,\n },\n showBadge: {\n type: Boolean,\n default: false,\n },\n badgeColor: {\n type: String as PropType<TBadgeColor>,\n default: BaseColor.error,\n },\n badgeText: {\n type: String,\n default: \"\",\n },\n badgeSize: {\n type: String as PropType<TBadgeSize>,\n default: Size.md,\n },\n image: {\n type: String,\n default: \"\",\n },\n },\n data() {\n return {\n sizes: {\n [Size.xs]: \"e-w-8 e-h-8 e-text-xs\",\n [Size.sm]: \"e-w-10 e-h-10 e-text-sm\",\n [Size.md]: \"e-w-14 e-h-14 e-text-base\",\n [Size.lg]: \"e-w-20 e-h-20 e-text-2xl\",\n [Size.xl]: \"e-w-28 e-h-28 e-text-3xl\",\n [Size[\"2xl\"]]: \"e-w-36 e-h-36 e-text-5xl\",\n },\n }\n },\n computed: {\n avatarClasses(): string[] {\n const sizeClasses = this.sizes[this.size] || this.sizes[Size.xs]\n\n return [\n \"e-flex e-items-center e-justify-center e-rounded-full e-bg-purple-500 e-text-white e-font-medium\",\n sizeClasses,\n ]\n },\n },\n})\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return negateValue;\n }\n});\nfunction negateValue(value) {\n value = `${value}`;\n if (value === \"0\") {\n return \"0\";\n }\n // Flip sign of numbers\n if (/^[+-]?(\\d+|\\d*\\.\\d+)(e[+-]?\\d+)?(%|\\w+)?$/.test(value)) {\n return value.replace(/^[+-]?/, (sign)=>sign === \"-\" ? \"\" : \"-\");\n }\n // What functions we support negating numeric values for\n // var() isn't inherently a numeric function but we support it anyway\n // The trigonometric functions are omitted because you'll need to use calc(…) with them _anyway_\n // to produce generally useful results and that will be covered already\n let numericFunctions = [\n \"var\",\n \"calc\",\n \"min\",\n \"max\",\n \"clamp\"\n ];\n for (const fn of numericFunctions){\n if (value.includes(`${fn}(`)) {\n return `calc(${value} * -1)`;\n }\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _default = [\n \"preflight\",\n \"container\",\n \"accessibility\",\n \"pointerEvents\",\n \"visibility\",\n \"position\",\n \"inset\",\n \"isolation\",\n \"zIndex\",\n \"order\",\n \"gridColumn\",\n \"gridColumnStart\",\n \"gridColumnEnd\",\n \"gridRow\",\n \"gridRowStart\",\n \"gridRowEnd\",\n \"float\",\n \"clear\",\n \"margin\",\n \"boxSizing\",\n \"lineClamp\",\n \"display\",\n \"aspectRatio\",\n \"height\",\n \"maxHeight\",\n \"minHeight\",\n \"width\",\n \"minWidth\",\n \"maxWidth\",\n \"flex\",\n \"flexShrink\",\n \"flexGrow\",\n \"flexBasis\",\n \"tableLayout\",\n \"captionSide\",\n \"borderCollapse\",\n \"borderSpacing\",\n \"transformOrigin\",\n \"translate\",\n \"rotate\",\n \"skew\",\n \"scale\",\n \"transform\",\n \"animation\",\n \"cursor\",\n \"touchAction\",\n \"userSelect\",\n \"resize\",\n \"scrollSnapType\",\n \"scrollSnapAlign\",\n \"scrollSnapStop\",\n \"scrollMargin\",\n \"scrollPadding\",\n \"listStylePosition\",\n \"listStyleType\",\n \"listStyleImage\",\n \"appearance\",\n \"columns\",\n \"breakBefore\",\n \"breakInside\",\n \"breakAfter\",\n \"gridAutoColumns\",\n \"gridAutoFlow\",\n \"gridAutoRows\",\n \"gridTemplateColumns\",\n \"gridTemplateRows\",\n \"flexDirection\",\n \"flexWrap\",\n \"placeContent\",\n \"placeItems\",\n \"alignContent\",\n \"alignItems\",\n \"justifyContent\",\n \"justifyItems\",\n \"gap\",\n \"space\",\n \"divideWidth\",\n \"divideStyle\",\n \"divideColor\",\n \"divideOpacity\",\n \"placeSelf\",\n \"alignSelf\",\n \"justifySelf\",\n \"overflow\",\n \"overscrollBehavior\",\n \"scrollBehavior\",\n \"textOverflow\",\n \"hyphens\",\n \"whitespace\",\n \"wordBreak\",\n \"borderRadius\",\n \"borderWidth\",\n \"borderStyle\",\n \"borderColor\",\n \"borderOpacity\",\n \"backgroundColor\",\n \"backgroundOpacity\",\n \"backgroundImage\",\n \"gradientColorStops\",\n \"boxDecorationBreak\",\n \"backgroundSize\",\n \"backgroundAttachment\",\n \"backgroundClip\",\n \"backgroundPosition\",\n \"backgroundRepeat\",\n \"backgroundOrigin\",\n \"fill\",\n \"stroke\",\n \"strokeWidth\",\n \"objectFit\",\n \"objectPosition\",\n \"padding\",\n \"textAlign\",\n \"textIndent\",\n \"verticalAlign\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"textTransform\",\n \"fontStyle\",\n \"fontVariantNumeric\",\n \"lineHeight\",\n \"letterSpacing\",\n \"textColor\",\n \"textOpacity\",\n \"textDecoration\",\n \"textDecorationColor\",\n \"textDecorationStyle\",\n \"textDecorationThickness\",\n \"textUnderlineOffset\",\n \"fontSmoothing\",\n \"placeholderColor\",\n \"placeholderOpacity\",\n \"caretColor\",\n \"accentColor\",\n \"opacity\",\n \"backgroundBlendMode\",\n \"mixBlendMode\",\n \"boxShadow\",\n \"boxShadowColor\",\n \"outlineStyle\",\n \"outlineWidth\",\n \"outlineOffset\",\n \"outlineColor\",\n \"ringWidth\",\n \"ringColor\",\n \"ringOpacity\",\n \"ringOffsetWidth\",\n \"ringOffsetColor\",\n \"blur\",\n \"brightness\",\n \"contrast\",\n \"dropShadow\",\n \"grayscale\",\n \"hueRotate\",\n \"invert\",\n \"saturate\",\n \"sepia\",\n \"filter\",\n \"backdropBlur\",\n \"backdropBrightness\",\n \"backdropContrast\",\n \"backdropGrayscale\",\n \"backdropHueRotate\",\n \"backdropInvert\",\n \"backdropOpacity\",\n \"backdropSaturate\",\n \"backdropSepia\",\n \"backdropFilter\",\n \"transitionProperty\",\n \"transitionDelay\",\n \"transitionDuration\",\n \"transitionTimingFunction\",\n \"willChange\",\n \"content\"\n];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nfunction _default(pluginConfig, plugins) {\n if (pluginConfig === undefined) {\n return plugins;\n }\n const pluginNames = Array.isArray(pluginConfig) ? pluginConfig : [\n ...new Set(plugins.filter((pluginName)=>{\n return pluginConfig !== false && pluginConfig[pluginName] !== false;\n }).concat(Object.keys(pluginConfig).filter((pluginName)=>{\n return pluginConfig[pluginName] !== false;\n })))\n ];\n return pluginNames;\n}\n","var x=String;\nvar create=function() {return {isColorSupported:false,reset:x,bold:x,dim:x,italic:x,underline:x,inverse:x,hidden:x,strikethrough:x,black:x,red:x,green:x,yellow:x,blue:x,magenta:x,cyan:x,white:x,gray:x,bgBlack:x,bgRed:x,bgGreen:x,bgYellow:x,bgBlue:x,bgMagenta:x,bgCyan:x,bgWhite:x}};\nmodule.exports=create();\nmodule.exports.createColors = create;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n dim: function() {\n return dim;\n },\n default: function() {\n return _default;\n }\n});\nconst _picocolors = /*#__PURE__*/ _interop_require_default(require(\"picocolors\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nlet alreadyShown = new Set();\nfunction log(type, messages, key) {\n if (typeof process !== \"undefined\" && process.env.JEST_WORKER_ID) return;\n if (key && alreadyShown.has(key)) return;\n if (key) alreadyShown.add(key);\n console.warn(\"\");\n messages.forEach((message)=>console.warn(type, \"-\", message));\n}\nfunction dim(input) {\n return _picocolors.default.dim(input);\n}\nconst _default = {\n info (key, messages) {\n log(_picocolors.default.bold(_picocolors.default.cyan(\"info\")), ...Array.isArray(key) ? [\n key\n ] : [\n messages,\n key\n ]);\n },\n warn (key, messages) {\n log(_picocolors.default.bold(_picocolors.default.yellow(\"warn\")), ...Array.isArray(key) ? [\n key\n ] : [\n messages,\n key\n ]);\n },\n risk (key, messages) {\n log(_picocolors.default.bold(_picocolors.default.magenta(\"risk\")), ...Array.isArray(key) ? [\n key\n ] : [\n messages,\n key\n ]);\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _log = /*#__PURE__*/ _interop_require_default(require(\"../util/log\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction warn({ version , from , to }) {\n _log.default.warn(`${from}-color-renamed`, [\n `As of Tailwind CSS ${version}, \\`${from}\\` has been renamed to \\`${to}\\`.`,\n \"Update your configuration file to silence this warning.\"\n ]);\n}\nconst _default = {\n inherit: \"inherit\",\n current: \"currentColor\",\n transparent: \"transparent\",\n black: \"#000\",\n white: \"#fff\",\n slate: {\n 50: \"#f8fafc\",\n 100: \"#f1f5f9\",\n 200: \"#e2e8f0\",\n 300: \"#cbd5e1\",\n 400: \"#94a3b8\",\n 500: \"#64748b\",\n 600: \"#475569\",\n 700: \"#334155\",\n 800: \"#1e293b\",\n 900: \"#0f172a\",\n 950: \"#020617\"\n },\n gray: {\n 50: \"#f9fafb\",\n 100: \"#f3f4f6\",\n 200: \"#e5e7eb\",\n 300: \"#d1d5db\",\n 400: \"#9ca3af\",\n 500: \"#6b7280\",\n 600: \"#4b5563\",\n 700: \"#374151\",\n 800: \"#1f2937\",\n 900: \"#111827\",\n 950: \"#030712\"\n },\n zinc: {\n 50: \"#fafafa\",\n 100: \"#f4f4f5\",\n 200: \"#e4e4e7\",\n 300: \"#d4d4d8\",\n 400: \"#a1a1aa\",\n 500: \"#71717a\",\n 600: \"#52525b\",\n 700: \"#3f3f46\",\n 800: \"#27272a\",\n 900: \"#18181b\",\n 950: \"#09090b\"\n },\n neutral: {\n 50: \"#fafafa\",\n 100: \"#f5f5f5\",\n 200: \"#e5e5e5\",\n 300: \"#d4d4d4\",\n 400: \"#a3a3a3\",\n 500: \"#737373\",\n 600: \"#525252\",\n 700: \"#404040\",\n 800: \"#262626\",\n 900: \"#171717\",\n 950: \"#0a0a0a\"\n },\n stone: {\n 50: \"#fafaf9\",\n 100: \"#f5f5f4\",\n 200: \"#e7e5e4\",\n 300: \"#d6d3d1\",\n 400: \"#a8a29e\",\n 500: \"#78716c\",\n 600: \"#57534e\",\n 700: \"#44403c\",\n 800: \"#292524\",\n 900: \"#1c1917\",\n 950: \"#0c0a09\"\n },\n red: {\n 50: \"#fef2f2\",\n 100: \"#fee2e2\",\n 200: \"#fecaca\",\n 300: \"#fca5a5\",\n 400: \"#f87171\",\n 500: \"#ef4444\",\n 600: \"#dc2626\",\n 700: \"#b91c1c\",\n 800: \"#991b1b\",\n 900: \"#7f1d1d\",\n 950: \"#450a0a\"\n },\n orange: {\n 50: \"#fff7ed\",\n 100: \"#ffedd5\",\n 200: \"#fed7aa\",\n 300: \"#fdba74\",\n 400: \"#fb923c\",\n 500: \"#f97316\",\n 600: \"#ea580c\",\n 700: \"#c2410c\",\n 800: \"#9a3412\",\n 900: \"#7c2d12\",\n 950: \"#431407\"\n },\n amber: {\n 50: \"#fffbeb\",\n 100: \"#fef3c7\",\n 200: \"#fde68a\",\n 300: \"#fcd34d\",\n 400: \"#fbbf24\",\n 500: \"#f59e0b\",\n 600: \"#d97706\",\n 700: \"#b45309\",\n 800: \"#92400e\",\n 900: \"#78350f\",\n 950: \"#451a03\"\n },\n yellow: {\n 50: \"#fefce8\",\n 100: \"#fef9c3\",\n 200: \"#fef08a\",\n 300: \"#fde047\",\n 400: \"#facc15\",\n 500: \"#eab308\",\n 600: \"#ca8a04\",\n 700: \"#a16207\",\n 800: \"#854d0e\",\n 900: \"#713f12\",\n 950: \"#422006\"\n },\n lime: {\n 50: \"#f7fee7\",\n 100: \"#ecfccb\",\n 200: \"#d9f99d\",\n 300: \"#bef264\",\n 400: \"#a3e635\",\n 500: \"#84cc16\",\n 600: \"#65a30d\",\n 700: \"#4d7c0f\",\n 800: \"#3f6212\",\n 900: \"#365314\",\n 950: \"#1a2e05\"\n },\n green: {\n 50: \"#f0fdf4\",\n 100: \"#dcfce7\",\n 200: \"#bbf7d0\",\n 300: \"#86efac\",\n 400: \"#4ade80\",\n 500: \"#22c55e\",\n 600: \"#16a34a\",\n 700: \"#15803d\",\n 800: \"#166534\",\n 900: \"#14532d\",\n 950: \"#052e16\"\n },\n emerald: {\n 50: \"#ecfdf5\",\n 100: \"#d1fae5\",\n 200: \"#a7f3d0\",\n 300: \"#6ee7b7\",\n 400: \"#34d399\",\n 500: \"#10b981\",\n 600: \"#059669\",\n 700: \"#047857\",\n 800: \"#065f46\",\n 900: \"#064e3b\",\n 950: \"#022c22\"\n },\n teal: {\n 50: \"#f0fdfa\",\n 100: \"#ccfbf1\",\n 200: \"#99f6e4\",\n 300: \"#5eead4\",\n 400: \"#2dd4bf\",\n 500: \"#14b8a6\",\n 600: \"#0d9488\",\n 700: \"#0f766e\",\n 800: \"#115e59\",\n 900: \"#134e4a\",\n 950: \"#042f2e\"\n },\n cyan: {\n 50: \"#ecfeff\",\n 100: \"#cffafe\",\n 200: \"#a5f3fc\",\n 300: \"#67e8f9\",\n 400: \"#22d3ee\",\n 500: \"#06b6d4\",\n 600: \"#0891b2\",\n 700: \"#0e7490\",\n 800: \"#155e75\",\n 900: \"#164e63\",\n 950: \"#083344\"\n },\n sky: {\n 50: \"#f0f9ff\",\n 100: \"#e0f2fe\",\n 200: \"#bae6fd\",\n 300: \"#7dd3fc\",\n 400: \"#38bdf8\",\n 500: \"#0ea5e9\",\n 600: \"#0284c7\",\n 700: \"#0369a1\",\n 800: \"#075985\",\n 900: \"#0c4a6e\",\n 950: \"#082f49\"\n },\n blue: {\n 50: \"#eff6ff\",\n 100: \"#dbeafe\",\n 200: \"#bfdbfe\",\n 300: \"#93c5fd\",\n 400: \"#60a5fa\",\n 500: \"#3b82f6\",\n 600: \"#2563eb\",\n 700: \"#1d4ed8\",\n 800: \"#1e40af\",\n 900: \"#1e3a8a\",\n 950: \"#172554\"\n },\n indigo: {\n 50: \"#eef2ff\",\n 100: \"#e0e7ff\",\n 200: \"#c7d2fe\",\n 300: \"#a5b4fc\",\n 400: \"#818cf8\",\n 500: \"#6366f1\",\n 600: \"#4f46e5\",\n 700: \"#4338ca\",\n 800: \"#3730a3\",\n 900: \"#312e81\",\n 950: \"#1e1b4b\"\n },\n violet: {\n 50: \"#f5f3ff\",\n 100: \"#ede9fe\",\n 200: \"#ddd6fe\",\n 300: \"#c4b5fd\",\n 400: \"#a78bfa\",\n 500: \"#8b5cf6\",\n 600: \"#7c3aed\",\n 700: \"#6d28d9\",\n 800: \"#5b21b6\",\n 900: \"#4c1d95\",\n 950: \"#2e1065\"\n },\n purple: {\n 50: \"#faf5ff\",\n 100: \"#f3e8ff\",\n 200: \"#e9d5ff\",\n 300: \"#d8b4fe\",\n 400: \"#c084fc\",\n 500: \"#a855f7\",\n 600: \"#9333ea\",\n 700: \"#7e22ce\",\n 800: \"#6b21a8\",\n 900: \"#581c87\",\n 950: \"#3b0764\"\n },\n fuchsia: {\n 50: \"#fdf4ff\",\n 100: \"#fae8ff\",\n 200: \"#f5d0fe\",\n 300: \"#f0abfc\",\n 400: \"#e879f9\",\n 500: \"#d946ef\",\n 600: \"#c026d3\",\n 700: \"#a21caf\",\n 800: \"#86198f\",\n 900: \"#701a75\",\n 950: \"#4a044e\"\n },\n pink: {\n 50: \"#fdf2f8\",\n 100: \"#fce7f3\",\n 200: \"#fbcfe8\",\n 300: \"#f9a8d4\",\n 400: \"#f472b6\",\n 500: \"#ec4899\",\n 600: \"#db2777\",\n 700: \"#be185d\",\n 800: \"#9d174d\",\n 900: \"#831843\",\n 950: \"#500724\"\n },\n rose: {\n 50: \"#fff1f2\",\n 100: \"#ffe4e6\",\n 200: \"#fecdd3\",\n 300: \"#fda4af\",\n 400: \"#fb7185\",\n 500: \"#f43f5e\",\n 600: \"#e11d48\",\n 700: \"#be123c\",\n 800: \"#9f1239\",\n 900: \"#881337\",\n 950: \"#4c0519\"\n },\n get lightBlue () {\n warn({\n version: \"v2.2\",\n from: \"lightBlue\",\n to: \"sky\"\n });\n return this.sky;\n },\n get warmGray () {\n warn({\n version: \"v3.0\",\n from: \"warmGray\",\n to: \"stone\"\n });\n return this.stone;\n },\n get trueGray () {\n warn({\n version: \"v3.0\",\n from: \"trueGray\",\n to: \"neutral\"\n });\n return this.neutral;\n },\n get coolGray () {\n warn({\n version: \"v3.0\",\n from: \"coolGray\",\n to: \"gray\"\n });\n return this.gray;\n },\n get blueGray () {\n warn({\n version: \"v3.0\",\n from: \"blueGray\",\n to: \"slate\"\n });\n return this.slate;\n }\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"defaults\", {\n enumerable: true,\n get: function() {\n return defaults;\n }\n});\nfunction defaults(target, ...sources) {\n for (let source of sources){\n for(let k in source){\n var _target_hasOwnProperty;\n if (!(target === null || target === void 0 ? void 0 : (_target_hasOwnProperty = target.hasOwnProperty) === null || _target_hasOwnProperty === void 0 ? void 0 : _target_hasOwnProperty.call(target, k))) {\n target[k] = source[k];\n }\n }\n for (let k of Object.getOwnPropertySymbols(source)){\n var _target_hasOwnProperty1;\n if (!(target === null || target === void 0 ? void 0 : (_target_hasOwnProperty1 = target.hasOwnProperty) === null || _target_hasOwnProperty1 === void 0 ? void 0 : _target_hasOwnProperty1.call(target, k))) {\n target[k] = source[k];\n }\n }\n }\n return target;\n}\n","/**\n * Parse a path string into an array of path segments.\n *\n * Square bracket notation `a[b]` may be used to \"escape\" dots that would otherwise be interpreted as path separators.\n *\n * Example:\n * a -> ['a']\n * a.b.c -> ['a', 'b', 'c']\n * a[b].c -> ['a', 'b', 'c']\n * a[b.c].e.f -> ['a', 'b.c', 'e', 'f']\n * a[b][c][d] -> ['a', 'b', 'c', 'd']\n *\n * @param {string|string[]} path\n **/ \"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"toPath\", {\n enumerable: true,\n get: function() {\n return toPath;\n }\n});\nfunction toPath(path) {\n if (Array.isArray(path)) return path;\n let openBrackets = path.split(\"[\").length - 1;\n let closedBrackets = path.split(\"]\").length - 1;\n if (openBrackets !== closedBrackets) {\n throw new Error(`Path is invalid. Has unbalanced brackets: ${path}`);\n }\n return path.split(/\\.(?![^\\[]*\\])|[\\[\\]]/g).filter(Boolean);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n flagEnabled: function() {\n return flagEnabled;\n },\n issueFlagNotices: function() {\n return issueFlagNotices;\n },\n default: function() {\n return _default;\n }\n});\nconst _picocolors = /*#__PURE__*/ _interop_require_default(require(\"picocolors\"));\nconst _log = /*#__PURE__*/ _interop_require_default(require(\"./util/log\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nlet defaults = {\n optimizeUniversalDefaults: false,\n generalizedModifiers: true,\n get disableColorOpacityUtilitiesByDefault () {\n return false;\n },\n get relativeContentPathsByDefault () {\n return false;\n }\n};\nlet featureFlags = {\n future: [\n \"hoverOnlyWhenSupported\",\n \"respectDefaultRingColorOpacity\",\n \"disableColorOpacityUtilitiesByDefault\",\n \"relativeContentPathsByDefault\"\n ],\n experimental: [\n \"optimizeUniversalDefaults\",\n \"generalizedModifiers\"\n ]\n};\nfunction flagEnabled(config, flag) {\n if (featureFlags.future.includes(flag)) {\n var _config_future;\n var _config_future_flag, _ref;\n return config.future === \"all\" || ((_ref = (_config_future_flag = config === null || config === void 0 ? void 0 : (_config_future = config.future) === null || _config_future === void 0 ? void 0 : _config_future[flag]) !== null && _config_future_flag !== void 0 ? _config_future_flag : defaults[flag]) !== null && _ref !== void 0 ? _ref : false);\n }\n if (featureFlags.experimental.includes(flag)) {\n var _config_experimental;\n var _config_experimental_flag, _ref1;\n return config.experimental === \"all\" || ((_ref1 = (_config_experimental_flag = config === null || config === void 0 ? void 0 : (_config_experimental = config.experimental) === null || _config_experimental === void 0 ? void 0 : _config_experimental[flag]) !== null && _config_experimental_flag !== void 0 ? _config_experimental_flag : defaults[flag]) !== null && _ref1 !== void 0 ? _ref1 : false);\n }\n return false;\n}\nfunction experimentalFlagsEnabled(config) {\n if (config.experimental === \"all\") {\n return featureFlags.experimental;\n }\n var _config_experimental;\n return Object.keys((_config_experimental = config === null || config === void 0 ? void 0 : config.experimental) !== null && _config_experimental !== void 0 ? _config_experimental : {}).filter((flag)=>featureFlags.experimental.includes(flag) && config.experimental[flag]);\n}\nfunction issueFlagNotices(config) {\n if (process.env.JEST_WORKER_ID !== undefined) {\n return;\n }\n if (experimentalFlagsEnabled(config).length > 0) {\n let changes = experimentalFlagsEnabled(config).map((s)=>_picocolors.default.yellow(s)).join(\", \");\n _log.default.warn(\"experimental-flags-enabled\", [\n `You have enabled experimental features: ${changes}`,\n \"Experimental features in Tailwind CSS are not covered by semver, may introduce breaking changes, and can change at any time.\"\n ]);\n }\n}\nconst _default = featureFlags;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"normalizeConfig\", {\n enumerable: true,\n get: function() {\n return normalizeConfig;\n }\n});\nconst _featureFlags = require(\"../featureFlags\");\nconst _log = /*#__PURE__*/ _interop_require_wildcard(require(\"./log\"));\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\nfunction normalizeConfig(config) {\n // Quick structure validation\n /**\n * type FilePath = string\n * type RawFile = { raw: string, extension?: string }\n * type ExtractorFn = (content: string) => Array<string>\n * type TransformerFn = (content: string) => string\n *\n * type Content =\n * | Array<FilePath | RawFile>\n * | {\n * files: Array<FilePath | RawFile>,\n * extract?: ExtractorFn | { [extension: string]: ExtractorFn }\n * transform?: TransformerFn | { [extension: string]: TransformerFn }\n * }\n */ let valid = (()=>{\n // `config.purge` should not exist anymore\n if (config.purge) {\n return false;\n }\n // `config.content` should exist\n if (!config.content) {\n return false;\n }\n // `config.content` should be an object or an array\n if (!Array.isArray(config.content) && !(typeof config.content === \"object\" && config.content !== null)) {\n return false;\n }\n // When `config.content` is an array, it should consist of FilePaths or RawFiles\n if (Array.isArray(config.content)) {\n return config.content.every((path)=>{\n // `path` can be a string\n if (typeof path === \"string\") return true;\n // `path` can be an object { raw: string, extension?: string }\n // `raw` must be a string\n if (typeof (path === null || path === void 0 ? void 0 : path.raw) !== \"string\") return false;\n // `extension` (if provided) should also be a string\n if ((path === null || path === void 0 ? void 0 : path.extension) && typeof (path === null || path === void 0 ? void 0 : path.extension) !== \"string\") {\n return false;\n }\n return true;\n });\n }\n // When `config.content` is an object\n if (typeof config.content === \"object\" && config.content !== null) {\n // Only `files`, `relative`, `extract`, and `transform` can exist in `config.content`\n if (Object.keys(config.content).some((key)=>![\n \"files\",\n \"relative\",\n \"extract\",\n \"transform\"\n ].includes(key))) {\n return false;\n }\n // `config.content.files` should exist of FilePaths or RawFiles\n if (Array.isArray(config.content.files)) {\n if (!config.content.files.every((path)=>{\n // `path` can be a string\n if (typeof path === \"string\") return true;\n // `path` can be an object { raw: string, extension?: string }\n // `raw` must be a string\n if (typeof (path === null || path === void 0 ? void 0 : path.raw) !== \"string\") return false;\n // `extension` (if provided) should also be a string\n if ((path === null || path === void 0 ? void 0 : path.extension) && typeof (path === null || path === void 0 ? void 0 : path.extension) !== \"string\") {\n return false;\n }\n return true;\n })) {\n return false;\n }\n // `config.content.extract` is optional, and can be a Function or a Record<String, Function>\n if (typeof config.content.extract === \"object\") {\n for (let value of Object.values(config.content.extract)){\n if (typeof value !== \"function\") {\n return false;\n }\n }\n } else if (!(config.content.extract === undefined || typeof config.content.extract === \"function\")) {\n return false;\n }\n // `config.content.transform` is optional, and can be a Function or a Record<String, Function>\n if (typeof config.content.transform === \"object\") {\n for (let value of Object.values(config.content.transform)){\n if (typeof value !== \"function\") {\n return false;\n }\n }\n } else if (!(config.content.transform === undefined || typeof config.content.transform === \"function\")) {\n return false;\n }\n // `config.content.relative` is optional and can be a boolean\n if (typeof config.content.relative !== \"boolean\" && typeof config.content.relative !== \"undefined\") {\n return false;\n }\n }\n return true;\n }\n return false;\n })();\n if (!valid) {\n _log.default.warn(\"purge-deprecation\", [\n \"The `purge`/`content` options have changed in Tailwind CSS v3.0.\",\n \"Update your configuration file to eliminate this warning.\",\n \"https://tailwindcss.com/docs/upgrade-guide#configure-content-sources\"\n ]);\n }\n // Normalize the `safelist`\n config.safelist = (()=>{\n var _purge_options;\n let { content , purge , safelist } = config;\n if (Array.isArray(safelist)) return safelist;\n if (Array.isArray(content === null || content === void 0 ? void 0 : content.safelist)) return content.safelist;\n if (Array.isArray(purge === null || purge === void 0 ? void 0 : purge.safelist)) return purge.safelist;\n if (Array.isArray(purge === null || purge === void 0 ? void 0 : (_purge_options = purge.options) === null || _purge_options === void 0 ? void 0 : _purge_options.safelist)) return purge.options.safelist;\n return [];\n })();\n // Normalize the `blocklist`\n config.blocklist = (()=>{\n let { blocklist } = config;\n if (Array.isArray(blocklist)) {\n if (blocklist.every((item)=>typeof item === \"string\")) {\n return blocklist;\n }\n _log.default.warn(\"blocklist-invalid\", [\n \"The `blocklist` option must be an array of strings.\",\n \"https://tailwindcss.com/docs/content-configuration#discarding-classes\"\n ]);\n }\n return [];\n })();\n // Normalize prefix option\n if (typeof config.prefix === \"function\") {\n _log.default.warn(\"prefix-function\", [\n \"As of Tailwind CSS v3.0, `prefix` cannot be a function.\",\n \"Update `prefix` in your configuration to be a string to eliminate this warning.\",\n \"https://tailwindcss.com/docs/upgrade-guide#prefix-cannot-be-a-function\"\n ]);\n config.prefix = \"\";\n } else {\n var _config_prefix;\n config.prefix = (_config_prefix = config.prefix) !== null && _config_prefix !== void 0 ? _config_prefix : \"\";\n }\n // Normalize the `content`\n config.content = {\n relative: (()=>{\n let { content } = config;\n if (content === null || content === void 0 ? void 0 : content.relative) {\n return content.relative;\n }\n return (0, _featureFlags.flagEnabled)(config, \"relativeContentPathsByDefault\");\n })(),\n files: (()=>{\n let { content , purge } = config;\n if (Array.isArray(purge)) return purge;\n if (Array.isArray(purge === null || purge === void 0 ? void 0 : purge.content)) return purge.content;\n if (Array.isArray(content)) return content;\n if (Array.isArray(content === null || content === void 0 ? void 0 : content.content)) return content.content;\n if (Array.isArray(content === null || content === void 0 ? void 0 : content.files)) return content.files;\n return [];\n })(),\n extract: (()=>{\n let extract = (()=>{\n var _config_purge, _config_content, _config_purge1, _config_purge_extract, _config_content1, _config_content_extract, _config_purge2, _config_purge_options, _config_content2, _config_content_options;\n if ((_config_purge = config.purge) === null || _config_purge === void 0 ? void 0 : _config_purge.extract) return config.purge.extract;\n if ((_config_content = config.content) === null || _config_content === void 0 ? void 0 : _config_content.extract) return config.content.extract;\n if ((_config_purge1 = config.purge) === null || _config_purge1 === void 0 ? void 0 : (_config_purge_extract = _config_purge1.extract) === null || _config_purge_extract === void 0 ? void 0 : _config_purge_extract.DEFAULT) return config.purge.extract.DEFAULT;\n if ((_config_content1 = config.content) === null || _config_content1 === void 0 ? void 0 : (_config_content_extract = _config_content1.extract) === null || _config_content_extract === void 0 ? void 0 : _config_content_extract.DEFAULT) return config.content.extract.DEFAULT;\n if ((_config_purge2 = config.purge) === null || _config_purge2 === void 0 ? void 0 : (_config_purge_options = _config_purge2.options) === null || _config_purge_options === void 0 ? void 0 : _config_purge_options.extractors) return config.purge.options.extractors;\n if ((_config_content2 = config.content) === null || _config_content2 === void 0 ? void 0 : (_config_content_options = _config_content2.options) === null || _config_content_options === void 0 ? void 0 : _config_content_options.extractors) return config.content.options.extractors;\n return {};\n })();\n let extractors = {};\n let defaultExtractor = (()=>{\n var _config_purge, _config_purge_options, _config_content, _config_content_options;\n if ((_config_purge = config.purge) === null || _config_purge === void 0 ? void 0 : (_config_purge_options = _config_purge.options) === null || _config_purge_options === void 0 ? void 0 : _config_purge_options.defaultExtractor) {\n return config.purge.options.defaultExtractor;\n }\n if ((_config_content = config.content) === null || _config_content === void 0 ? void 0 : (_config_content_options = _config_content.options) === null || _config_content_options === void 0 ? void 0 : _config_content_options.defaultExtractor) {\n return config.content.options.defaultExtractor;\n }\n return undefined;\n })();\n if (defaultExtractor !== undefined) {\n extractors.DEFAULT = defaultExtractor;\n }\n // Functions\n if (typeof extract === \"function\") {\n extractors.DEFAULT = extract;\n } else if (Array.isArray(extract)) {\n for (let { extensions , extractor } of extract !== null && extract !== void 0 ? extract : []){\n for (let extension of extensions){\n extractors[extension] = extractor;\n }\n }\n } else if (typeof extract === \"object\" && extract !== null) {\n Object.assign(extractors, extract);\n }\n return extractors;\n })(),\n transform: (()=>{\n let transform = (()=>{\n var _config_purge, _config_content, _config_purge1, _config_purge_transform, _config_content1, _config_content_transform;\n if ((_config_purge = config.purge) === null || _config_purge === void 0 ? void 0 : _config_purge.transform) return config.purge.transform;\n if ((_config_content = config.content) === null || _config_content === void 0 ? void 0 : _config_content.transform) return config.content.transform;\n if ((_config_purge1 = config.purge) === null || _config_purge1 === void 0 ? void 0 : (_config_purge_transform = _config_purge1.transform) === null || _config_purge_transform === void 0 ? void 0 : _config_purge_transform.DEFAULT) return config.purge.transform.DEFAULT;\n if ((_config_content1 = config.content) === null || _config_content1 === void 0 ? void 0 : (_config_content_transform = _config_content1.transform) === null || _config_content_transform === void 0 ? void 0 : _config_content_transform.DEFAULT) return config.content.transform.DEFAULT;\n return {};\n })();\n let transformers = {};\n if (typeof transform === \"function\") {\n transformers.DEFAULT = transform;\n }\n if (typeof transform === \"object\" && transform !== null) {\n Object.assign(transformers, transform);\n }\n return transformers;\n })()\n };\n // Validate globs to prevent bogus globs.\n // E.g.: `./src/*.{html}` is invalid, the `{html}` should just be `html`\n for (let file of config.content.files){\n if (typeof file === \"string\" && /{([^,]*?)}/g.test(file)) {\n _log.default.warn(\"invalid-glob-braces\", [\n `The glob pattern ${(0, _log.dim)(file)} in your Tailwind CSS configuration is invalid.`,\n `Update it to ${(0, _log.dim)(file.replace(/{([^,]*?)}/g, \"$1\"))} to silence this warning.`\n ]);\n break;\n }\n }\n return config;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return isPlainObject;\n }\n});\nfunction isPlainObject(value) {\n if (Object.prototype.toString.call(value) !== \"[object Object]\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n return prototype === null || prototype === Object.prototype;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"cloneDeep\", {\n enumerable: true,\n get: function() {\n return cloneDeep;\n }\n});\nfunction cloneDeep(value) {\n if (Array.isArray(value)) {\n return value.map((child)=>cloneDeep(child));\n }\n if (typeof value === \"object\" && value !== null) {\n return Object.fromEntries(Object.entries(value).map(([k, v])=>[\n k,\n cloneDeep(v)\n ]));\n }\n return value;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return escapeCommas;\n }\n});\nfunction escapeCommas(className) {\n return className.replace(/\\\\,/g, \"\\\\2c \");\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _default = {\n aliceblue: [\n 240,\n 248,\n 255\n ],\n antiquewhite: [\n 250,\n 235,\n 215\n ],\n aqua: [\n 0,\n 255,\n 255\n ],\n aquamarine: [\n 127,\n 255,\n 212\n ],\n azure: [\n 240,\n 255,\n 255\n ],\n beige: [\n 245,\n 245,\n 220\n ],\n bisque: [\n 255,\n 228,\n 196\n ],\n black: [\n 0,\n 0,\n 0\n ],\n blanchedalmond: [\n 255,\n 235,\n 205\n ],\n blue: [\n 0,\n 0,\n 255\n ],\n blueviolet: [\n 138,\n 43,\n 226\n ],\n brown: [\n 165,\n 42,\n 42\n ],\n burlywood: [\n 222,\n 184,\n 135\n ],\n cadetblue: [\n 95,\n 158,\n 160\n ],\n chartreuse: [\n 127,\n 255,\n 0\n ],\n chocolate: [\n 210,\n 105,\n 30\n ],\n coral: [\n 255,\n 127,\n 80\n ],\n cornflowerblue: [\n 100,\n 149,\n 237\n ],\n cornsilk: [\n 255,\n 248,\n 220\n ],\n crimson: [\n 220,\n 20,\n 60\n ],\n cyan: [\n 0,\n 255,\n 255\n ],\n darkblue: [\n 0,\n 0,\n 139\n ],\n darkcyan: [\n 0,\n 139,\n 139\n ],\n darkgoldenrod: [\n 184,\n 134,\n 11\n ],\n darkgray: [\n 169,\n 169,\n 169\n ],\n darkgreen: [\n 0,\n 100,\n 0\n ],\n darkgrey: [\n 169,\n 169,\n 169\n ],\n darkkhaki: [\n 189,\n 183,\n 107\n ],\n darkmagenta: [\n 139,\n 0,\n 139\n ],\n darkolivegreen: [\n 85,\n 107,\n 47\n ],\n darkorange: [\n 255,\n 140,\n 0\n ],\n darkorchid: [\n 153,\n 50,\n 204\n ],\n darkred: [\n 139,\n 0,\n 0\n ],\n darksalmon: [\n 233,\n 150,\n 122\n ],\n darkseagreen: [\n 143,\n 188,\n 143\n ],\n darkslateblue: [\n 72,\n 61,\n 139\n ],\n darkslategray: [\n 47,\n 79,\n 79\n ],\n darkslategrey: [\n 47,\n 79,\n 79\n ],\n darkturquoise: [\n 0,\n 206,\n 209\n ],\n darkviolet: [\n 148,\n 0,\n 211\n ],\n deeppink: [\n 255,\n 20,\n 147\n ],\n deepskyblue: [\n 0,\n 191,\n 255\n ],\n dimgray: [\n 105,\n 105,\n 105\n ],\n dimgrey: [\n 105,\n 105,\n 105\n ],\n dodgerblue: [\n 30,\n 144,\n 255\n ],\n firebrick: [\n 178,\n 34,\n 34\n ],\n floralwhite: [\n 255,\n 250,\n 240\n ],\n forestgreen: [\n 34,\n 139,\n 34\n ],\n fuchsia: [\n 255,\n 0,\n 255\n ],\n gainsboro: [\n 220,\n 220,\n 220\n ],\n ghostwhite: [\n 248,\n 248,\n 255\n ],\n gold: [\n 255,\n 215,\n 0\n ],\n goldenrod: [\n 218,\n 165,\n 32\n ],\n gray: [\n 128,\n 128,\n 128\n ],\n green: [\n 0,\n 128,\n 0\n ],\n greenyellow: [\n 173,\n 255,\n 47\n ],\n grey: [\n 128,\n 128,\n 128\n ],\n honeydew: [\n 240,\n 255,\n 240\n ],\n hotpink: [\n 255,\n 105,\n 180\n ],\n indianred: [\n 205,\n 92,\n 92\n ],\n indigo: [\n 75,\n 0,\n 130\n ],\n ivory: [\n 255,\n 255,\n 240\n ],\n khaki: [\n 240,\n 230,\n 140\n ],\n lavender: [\n 230,\n 230,\n 250\n ],\n lavenderblush: [\n 255,\n 240,\n 245\n ],\n lawngreen: [\n 124,\n 252,\n 0\n ],\n lemonchiffon: [\n 255,\n 250,\n 205\n ],\n lightblue: [\n 173,\n 216,\n 230\n ],\n lightcoral: [\n 240,\n 128,\n 128\n ],\n lightcyan: [\n 224,\n 255,\n 255\n ],\n lightgoldenrodyellow: [\n 250,\n 250,\n 210\n ],\n lightgray: [\n 211,\n 211,\n 211\n ],\n lightgreen: [\n 144,\n 238,\n 144\n ],\n lightgrey: [\n 211,\n 211,\n 211\n ],\n lightpink: [\n 255,\n 182,\n 193\n ],\n lightsalmon: [\n 255,\n 160,\n 122\n ],\n lightseagreen: [\n 32,\n 178,\n 170\n ],\n lightskyblue: [\n 135,\n 206,\n 250\n ],\n lightslategray: [\n 119,\n 136,\n 153\n ],\n lightslategrey: [\n 119,\n 136,\n 153\n ],\n lightsteelblue: [\n 176,\n 196,\n 222\n ],\n lightyellow: [\n 255,\n 255,\n 224\n ],\n lime: [\n 0,\n 255,\n 0\n ],\n limegreen: [\n 50,\n 205,\n 50\n ],\n linen: [\n 250,\n 240,\n 230\n ],\n magenta: [\n 255,\n 0,\n 255\n ],\n maroon: [\n 128,\n 0,\n 0\n ],\n mediumaquamarine: [\n 102,\n 205,\n 170\n ],\n mediumblue: [\n 0,\n 0,\n 205\n ],\n mediumorchid: [\n 186,\n 85,\n 211\n ],\n mediumpurple: [\n 147,\n 112,\n 219\n ],\n mediumseagreen: [\n 60,\n 179,\n 113\n ],\n mediumslateblue: [\n 123,\n 104,\n 238\n ],\n mediumspringgreen: [\n 0,\n 250,\n 154\n ],\n mediumturquoise: [\n 72,\n 209,\n 204\n ],\n mediumvioletred: [\n 199,\n 21,\n 133\n ],\n midnightblue: [\n 25,\n 25,\n 112\n ],\n mintcream: [\n 245,\n 255,\n 250\n ],\n mistyrose: [\n 255,\n 228,\n 225\n ],\n moccasin: [\n 255,\n 228,\n 181\n ],\n navajowhite: [\n 255,\n 222,\n 173\n ],\n navy: [\n 0,\n 0,\n 128\n ],\n oldlace: [\n 253,\n 245,\n 230\n ],\n olive: [\n 128,\n 128,\n 0\n ],\n olivedrab: [\n 107,\n 142,\n 35\n ],\n orange: [\n 255,\n 165,\n 0\n ],\n orangered: [\n 255,\n 69,\n 0\n ],\n orchid: [\n 218,\n 112,\n 214\n ],\n palegoldenrod: [\n 238,\n 232,\n 170\n ],\n palegreen: [\n 152,\n 251,\n 152\n ],\n paleturquoise: [\n 175,\n 238,\n 238\n ],\n palevioletred: [\n 219,\n 112,\n 147\n ],\n papayawhip: [\n 255,\n 239,\n 213\n ],\n peachpuff: [\n 255,\n 218,\n 185\n ],\n peru: [\n 205,\n 133,\n 63\n ],\n pink: [\n 255,\n 192,\n 203\n ],\n plum: [\n 221,\n 160,\n 221\n ],\n powderblue: [\n 176,\n 224,\n 230\n ],\n purple: [\n 128,\n 0,\n 128\n ],\n rebeccapurple: [\n 102,\n 51,\n 153\n ],\n red: [\n 255,\n 0,\n 0\n ],\n rosybrown: [\n 188,\n 143,\n 143\n ],\n royalblue: [\n 65,\n 105,\n 225\n ],\n saddlebrown: [\n 139,\n 69,\n 19\n ],\n salmon: [\n 250,\n 128,\n 114\n ],\n sandybrown: [\n 244,\n 164,\n 96\n ],\n seagreen: [\n 46,\n 139,\n 87\n ],\n seashell: [\n 255,\n 245,\n 238\n ],\n sienna: [\n 160,\n 82,\n 45\n ],\n silver: [\n 192,\n 192,\n 192\n ],\n skyblue: [\n 135,\n 206,\n 235\n ],\n slateblue: [\n 106,\n 90,\n 205\n ],\n slategray: [\n 112,\n 128,\n 144\n ],\n slategrey: [\n 112,\n 128,\n 144\n ],\n snow: [\n 255,\n 250,\n 250\n ],\n springgreen: [\n 0,\n 255,\n 127\n ],\n steelblue: [\n 70,\n 130,\n 180\n ],\n tan: [\n 210,\n 180,\n 140\n ],\n teal: [\n 0,\n 128,\n 128\n ],\n thistle: [\n 216,\n 191,\n 216\n ],\n tomato: [\n 255,\n 99,\n 71\n ],\n turquoise: [\n 64,\n 224,\n 208\n ],\n violet: [\n 238,\n 130,\n 238\n ],\n wheat: [\n 245,\n 222,\n 179\n ],\n white: [\n 255,\n 255,\n 255\n ],\n whitesmoke: [\n 245,\n 245,\n 245\n ],\n yellow: [\n 255,\n 255,\n 0\n ],\n yellowgreen: [\n 154,\n 205,\n 50\n ]\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n parseColor: function() {\n return parseColor;\n },\n formatColor: function() {\n return formatColor;\n }\n});\nconst _colorNames = /*#__PURE__*/ _interop_require_default(require(\"./colorNames\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nlet HEX = /^#([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?$/i;\nlet SHORT_HEX = /^#([a-f\\d])([a-f\\d])([a-f\\d])([a-f\\d])?$/i;\nlet VALUE = /(?:\\d+|\\d*\\.\\d+)%?/;\nlet SEP = /(?:\\s*,\\s*|\\s+)/;\nlet ALPHA_SEP = /\\s*[,/]\\s*/;\nlet CUSTOM_PROPERTY = /var\\(--(?:[^ )]*?)\\)/;\nlet RGB = new RegExp(`^(rgba?)\\\\(\\\\s*(${VALUE.source}|${CUSTOM_PROPERTY.source})(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${ALPHA_SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?\\\\s*\\\\)$`);\nlet HSL = new RegExp(`^(hsla?)\\\\(\\\\s*((?:${VALUE.source})(?:deg|rad|grad|turn)?|${CUSTOM_PROPERTY.source})(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?(?:${ALPHA_SEP.source}(${VALUE.source}|${CUSTOM_PROPERTY.source}))?\\\\s*\\\\)$`);\nfunction parseColor(value, { loose =false } = {}) {\n var _match_, _match__toString;\n if (typeof value !== \"string\") {\n return null;\n }\n value = value.trim();\n if (value === \"transparent\") {\n return {\n mode: \"rgb\",\n color: [\n \"0\",\n \"0\",\n \"0\"\n ],\n alpha: \"0\"\n };\n }\n if (value in _colorNames.default) {\n return {\n mode: \"rgb\",\n color: _colorNames.default[value].map((v)=>v.toString())\n };\n }\n let hex = value.replace(SHORT_HEX, (_, r, g, b, a)=>[\n \"#\",\n r,\n r,\n g,\n g,\n b,\n b,\n a ? a + a : \"\"\n ].join(\"\")).match(HEX);\n if (hex !== null) {\n return {\n mode: \"rgb\",\n color: [\n parseInt(hex[1], 16),\n parseInt(hex[2], 16),\n parseInt(hex[3], 16)\n ].map((v)=>v.toString()),\n alpha: hex[4] ? (parseInt(hex[4], 16) / 255).toString() : undefined\n };\n }\n var _value_match;\n let match = (_value_match = value.match(RGB)) !== null && _value_match !== void 0 ? _value_match : value.match(HSL);\n if (match === null) {\n return null;\n }\n let color = [\n match[2],\n match[3],\n match[4]\n ].filter(Boolean).map((v)=>v.toString());\n // rgba(var(--my-color), 0.1)\n // hsla(var(--my-color), 0.1)\n if (color.length === 2 && color[0].startsWith(\"var(\")) {\n return {\n mode: match[1],\n color: [\n color[0]\n ],\n alpha: color[1]\n };\n }\n if (!loose && color.length !== 3) {\n return null;\n }\n if (color.length < 3 && !color.some((part)=>/^var\\(.*?\\)$/.test(part))) {\n return null;\n }\n return {\n mode: match[1],\n color,\n alpha: (_match_ = match[5]) === null || _match_ === void 0 ? void 0 : (_match__toString = _match_.toString) === null || _match__toString === void 0 ? void 0 : _match__toString.call(_match_)\n };\n}\nfunction formatColor({ mode , color , alpha }) {\n let hasAlpha = alpha !== undefined;\n if (mode === \"rgba\" || mode === \"hsla\") {\n return `${mode}(${color.join(\", \")}${hasAlpha ? `, ${alpha}` : \"\"})`;\n }\n return `${mode}(${color.join(\" \")}${hasAlpha ? ` / ${alpha}` : \"\"})`;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n withAlphaValue: function() {\n return withAlphaValue;\n },\n default: function() {\n return withAlphaVariable;\n }\n});\nconst _color = require(\"./color\");\nfunction withAlphaValue(color, alphaValue, defaultValue) {\n if (typeof color === \"function\") {\n return color({\n opacityValue: alphaValue\n });\n }\n let parsed = (0, _color.parseColor)(color, {\n loose: true\n });\n if (parsed === null) {\n return defaultValue;\n }\n return (0, _color.formatColor)({\n ...parsed,\n alpha: alphaValue\n });\n}\nfunction withAlphaVariable({ color , property , variable }) {\n let properties = [].concat(property);\n if (typeof color === \"function\") {\n return {\n [variable]: \"1\",\n ...Object.fromEntries(properties.map((p)=>{\n return [\n p,\n color({\n opacityVariable: variable,\n opacityValue: `var(${variable})`\n })\n ];\n }))\n };\n }\n const parsed = (0, _color.parseColor)(color);\n if (parsed === null) {\n return Object.fromEntries(properties.map((p)=>[\n p,\n color\n ]));\n }\n if (parsed.alpha !== undefined) {\n // Has an alpha value, return color as-is\n return Object.fromEntries(properties.map((p)=>[\n p,\n color\n ]));\n }\n return {\n [variable]: \"1\",\n ...Object.fromEntries(properties.map((p)=>{\n return [\n p,\n (0, _color.formatColor)({\n ...parsed,\n alpha: `var(${variable})`\n })\n ];\n }))\n };\n}\n","/**\n * This splits a string on a top-level character.\n *\n * Regex doesn't support recursion (at least not the JS-flavored version).\n * So we have to use a tiny state machine to keep track of paren placement.\n *\n * Expected behavior using commas:\n * var(--a, 0 0 1px rgb(0, 0, 0)), 0 0 1px rgb(0, 0, 0)\n * ─┬─ ┬ ┬ ┬\n * x x x ╰──────── Split because top-level\n * ╰──────────────┴──┴───────────── Ignored b/c inside >= 1 levels of parens\n *\n * @param {string} input\n * @param {string} separator\n */ \"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"splitAtTopLevelOnly\", {\n enumerable: true,\n get: function() {\n return splitAtTopLevelOnly;\n }\n});\nfunction splitAtTopLevelOnly(input, separator) {\n let stack = [];\n let parts = [];\n let lastPos = 0;\n let isEscaped = false;\n for(let idx = 0; idx < input.length; idx++){\n let char = input[idx];\n if (stack.length === 0 && char === separator[0] && !isEscaped) {\n if (separator.length === 1 || input.slice(idx, idx + separator.length) === separator) {\n parts.push(input.slice(lastPos, idx));\n lastPos = idx + separator.length;\n }\n }\n if (isEscaped) {\n isEscaped = false;\n } else if (char === \"\\\\\") {\n isEscaped = true;\n }\n if (char === \"(\" || char === \"[\" || char === \"{\") {\n stack.push(char);\n } else if (char === \")\" && stack[stack.length - 1] === \"(\" || char === \"]\" && stack[stack.length - 1] === \"[\" || char === \"}\" && stack[stack.length - 1] === \"{\") {\n stack.pop();\n }\n }\n parts.push(input.slice(lastPos));\n return parts;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n parseBoxShadowValue: function() {\n return parseBoxShadowValue;\n },\n formatBoxShadowValue: function() {\n return formatBoxShadowValue;\n }\n});\nconst _splitAtTopLevelOnly = require(\"./splitAtTopLevelOnly\");\nlet KEYWORDS = new Set([\n \"inset\",\n \"inherit\",\n \"initial\",\n \"revert\",\n \"unset\"\n]);\nlet SPACE = /\\ +(?![^(]*\\))/g // Similar to the one above, but with spaces instead.\n;\nlet LENGTH = /^-?(\\d+|\\.\\d+)(.*?)$/g;\nfunction parseBoxShadowValue(input) {\n let shadows = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(input, \",\");\n return shadows.map((shadow)=>{\n let value = shadow.trim();\n let result = {\n raw: value\n };\n let parts = value.split(SPACE);\n let seen = new Set();\n for (let part of parts){\n // Reset index, since the regex is stateful.\n LENGTH.lastIndex = 0;\n // Keyword\n if (!seen.has(\"KEYWORD\") && KEYWORDS.has(part)) {\n result.keyword = part;\n seen.add(\"KEYWORD\");\n } else if (LENGTH.test(part)) {\n if (!seen.has(\"X\")) {\n result.x = part;\n seen.add(\"X\");\n } else if (!seen.has(\"Y\")) {\n result.y = part;\n seen.add(\"Y\");\n } else if (!seen.has(\"BLUR\")) {\n result.blur = part;\n seen.add(\"BLUR\");\n } else if (!seen.has(\"SPREAD\")) {\n result.spread = part;\n seen.add(\"SPREAD\");\n }\n } else {\n if (!result.color) {\n result.color = part;\n } else {\n if (!result.unknown) result.unknown = [];\n result.unknown.push(part);\n }\n }\n }\n // Check if valid\n result.valid = result.x !== undefined && result.y !== undefined;\n return result;\n });\n}\nfunction formatBoxShadowValue(shadows) {\n return shadows.map((shadow)=>{\n if (!shadow.valid) {\n return shadow.raw;\n }\n return [\n shadow.keyword,\n shadow.x,\n shadow.y,\n shadow.blur,\n shadow.spread,\n shadow.color\n ].filter(Boolean).join(\" \");\n }).join(\", \");\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalize: function() {\n return normalize;\n },\n url: function() {\n return url;\n },\n number: function() {\n return number;\n },\n percentage: function() {\n return percentage;\n },\n length: function() {\n return length;\n },\n lineWidth: function() {\n return lineWidth;\n },\n shadow: function() {\n return shadow;\n },\n color: function() {\n return color;\n },\n image: function() {\n return image;\n },\n gradient: function() {\n return gradient;\n },\n position: function() {\n return position;\n },\n familyName: function() {\n return familyName;\n },\n genericName: function() {\n return genericName;\n },\n absoluteSize: function() {\n return absoluteSize;\n },\n relativeSize: function() {\n return relativeSize;\n }\n});\nconst _color = require(\"./color\");\nconst _parseBoxShadowValue = require(\"./parseBoxShadowValue\");\nconst _splitAtTopLevelOnly = require(\"./splitAtTopLevelOnly\");\nlet cssFunctions = [\n \"min\",\n \"max\",\n \"clamp\",\n \"calc\"\n];\n// Ref: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Types\nfunction isCSSFunction(value) {\n return cssFunctions.some((fn)=>new RegExp(`^${fn}\\\\(.*\\\\)`).test(value));\n}\nconst placeholder = \"--tw-placeholder\";\nconst placeholderRe = new RegExp(placeholder, \"g\");\nfunction normalize(value, isRoot = true) {\n if (value.startsWith(\"--\")) {\n return `var(${value})`;\n }\n // Keep raw strings if it starts with `url(`\n if (value.includes(\"url(\")) {\n return value.split(/(url\\(.*?\\))/g).filter(Boolean).map((part)=>{\n if (/^url\\(.*?\\)$/.test(part)) {\n return part;\n }\n return normalize(part, false);\n }).join(\"\");\n }\n // Convert `_` to ` `, except for escaped underscores `\\_`\n value = value.replace(/([^\\\\])_+/g, (fullMatch, characterBefore)=>characterBefore + \" \".repeat(fullMatch.length - 1)).replace(/^_/g, \" \").replace(/\\\\_/g, \"_\");\n // Remove leftover whitespace\n if (isRoot) {\n value = value.trim();\n }\n value = normalizeMathOperatorSpacing(value);\n return value;\n}\n/**\n * Add spaces around operators inside math functions\n * like calc() that do not follow an operator or '('.\n *\n * @param {string} value\n * @returns {string}\n */ function normalizeMathOperatorSpacing(value) {\n return value.replace(/(calc|min|max|clamp)\\(.+\\)/g, (match)=>{\n let vars = [];\n return match.replace(/var\\((--.+?)[,)]/g, (match, g1)=>{\n vars.push(g1);\n return match.replace(g1, placeholder);\n }).replace(/(-?\\d*\\.?\\d(?!\\b-\\d.+[,)](?![^+\\-/*])\\D)(?:%|[a-z]+)?|\\))([+\\-/*])/g, \"$1 $2 \").replace(placeholderRe, ()=>vars.shift());\n });\n}\nfunction url(value) {\n return value.startsWith(\"url(\");\n}\nfunction number(value) {\n return !isNaN(Number(value)) || isCSSFunction(value);\n}\nfunction percentage(value) {\n return value.endsWith(\"%\") && number(value.slice(0, -1)) || isCSSFunction(value);\n}\n// Please refer to MDN when updating this list:\n// https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units\n// https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Container_Queries#container_query_length_units\nlet lengthUnits = [\n \"cm\",\n \"mm\",\n \"Q\",\n \"in\",\n \"pc\",\n \"pt\",\n \"px\",\n \"em\",\n \"ex\",\n \"ch\",\n \"rem\",\n \"lh\",\n \"rlh\",\n \"vw\",\n \"vh\",\n \"vmin\",\n \"vmax\",\n \"vb\",\n \"vi\",\n \"svw\",\n \"svh\",\n \"lvw\",\n \"lvh\",\n \"dvw\",\n \"dvh\",\n \"cqw\",\n \"cqh\",\n \"cqi\",\n \"cqb\",\n \"cqmin\",\n \"cqmax\"\n];\nlet lengthUnitsPattern = `(?:${lengthUnits.join(\"|\")})`;\nfunction length(value) {\n return value === \"0\" || new RegExp(`^[+-]?[0-9]*\\.?[0-9]+(?:[eE][+-]?[0-9]+)?${lengthUnitsPattern}$`).test(value) || isCSSFunction(value);\n}\nlet lineWidths = new Set([\n \"thin\",\n \"medium\",\n \"thick\"\n]);\nfunction lineWidth(value) {\n return lineWidths.has(value);\n}\nfunction shadow(value) {\n let parsedShadows = (0, _parseBoxShadowValue.parseBoxShadowValue)(normalize(value));\n for (let parsedShadow of parsedShadows){\n if (!parsedShadow.valid) {\n return false;\n }\n }\n return true;\n}\nfunction color(value) {\n let colors = 0;\n let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, \"_\").every((part)=>{\n part = normalize(part);\n if (part.startsWith(\"var(\")) return true;\n if ((0, _color.parseColor)(part, {\n loose: true\n }) !== null) return colors++, true;\n return false;\n });\n if (!result) return false;\n return colors > 0;\n}\nfunction image(value) {\n let images = 0;\n let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, \",\").every((part)=>{\n part = normalize(part);\n if (part.startsWith(\"var(\")) return true;\n if (url(part) || gradient(part) || [\n \"element(\",\n \"image(\",\n \"cross-fade(\",\n \"image-set(\"\n ].some((fn)=>part.startsWith(fn))) {\n images++;\n return true;\n }\n return false;\n });\n if (!result) return false;\n return images > 0;\n}\nlet gradientTypes = new Set([\n \"conic-gradient\",\n \"linear-gradient\",\n \"radial-gradient\",\n \"repeating-conic-gradient\",\n \"repeating-linear-gradient\",\n \"repeating-radial-gradient\"\n]);\nfunction gradient(value) {\n value = normalize(value);\n for (let type of gradientTypes){\n if (value.startsWith(`${type}(`)) {\n return true;\n }\n }\n return false;\n}\nlet validPositions = new Set([\n \"center\",\n \"top\",\n \"right\",\n \"bottom\",\n \"left\"\n]);\nfunction position(value) {\n let positions = 0;\n let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, \"_\").every((part)=>{\n part = normalize(part);\n if (part.startsWith(\"var(\")) return true;\n if (validPositions.has(part) || length(part) || percentage(part)) {\n positions++;\n return true;\n }\n return false;\n });\n if (!result) return false;\n return positions > 0;\n}\nfunction familyName(value) {\n let fonts = 0;\n let result = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, \",\").every((part)=>{\n part = normalize(part);\n if (part.startsWith(\"var(\")) return true;\n // If it contains spaces, then it should be quoted\n if (part.includes(\" \")) {\n if (!/(['\"])([^\"']+)\\1/g.test(part)) {\n return false;\n }\n }\n // If it starts with a number, it's invalid\n if (/^\\d/g.test(part)) {\n return false;\n }\n fonts++;\n return true;\n });\n if (!result) return false;\n return fonts > 0;\n}\nlet genericNames = new Set([\n \"serif\",\n \"sans-serif\",\n \"monospace\",\n \"cursive\",\n \"fantasy\",\n \"system-ui\",\n \"ui-serif\",\n \"ui-sans-serif\",\n \"ui-monospace\",\n \"ui-rounded\",\n \"math\",\n \"emoji\",\n \"fangsong\"\n]);\nfunction genericName(value) {\n return genericNames.has(value);\n}\nlet absoluteSizes = new Set([\n \"xx-small\",\n \"x-small\",\n \"small\",\n \"medium\",\n \"large\",\n \"x-large\",\n \"x-large\",\n \"xxx-large\"\n]);\nfunction absoluteSize(value) {\n return absoluteSizes.has(value);\n}\nlet relativeSizes = new Set([\n \"larger\",\n \"smaller\"\n]);\nfunction relativeSize(value) {\n return relativeSizes.has(value);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"backgroundSize\", {\n enumerable: true,\n get: function() {\n return backgroundSize;\n }\n});\nconst _dataTypes = require(\"./dataTypes\");\nconst _splitAtTopLevelOnly = require(\"./splitAtTopLevelOnly\");\nfunction backgroundSize(value) {\n let keywordValues = [\n \"cover\",\n \"contain\"\n ];\n // the <length-percentage> type will probably be a css function\n // so we have to use `splitAtTopLevelOnly`\n return (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(value, \",\").every((part)=>{\n let sizes = (0, _splitAtTopLevelOnly.splitAtTopLevelOnly)(part, \"_\").filter(Boolean);\n if (sizes.length === 1 && keywordValues.includes(sizes[0])) return true;\n if (sizes.length !== 1 && sizes.length !== 2) return false;\n return sizes.every((size)=>(0, _dataTypes.length)(size) || (0, _dataTypes.percentage)(size) || size === \"auto\");\n });\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n updateAllClasses: function() {\n return updateAllClasses;\n },\n asValue: function() {\n return asValue;\n },\n parseColorFormat: function() {\n return parseColorFormat;\n },\n asColor: function() {\n return asColor;\n },\n asLookupValue: function() {\n return asLookupValue;\n },\n typeMap: function() {\n return typeMap;\n },\n coerceValue: function() {\n return coerceValue;\n },\n getMatchingTypes: function() {\n return getMatchingTypes;\n }\n});\nconst _escapeCommas = /*#__PURE__*/ _interop_require_default(require(\"./escapeCommas\"));\nconst _withAlphaVariable = require(\"./withAlphaVariable\");\nconst _dataTypes = require(\"./dataTypes\");\nconst _negateValue = /*#__PURE__*/ _interop_require_default(require(\"./negateValue\"));\nconst _validateFormalSyntax = require(\"./validateFormalSyntax\");\nconst _featureFlags = require(\"../featureFlags.js\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction updateAllClasses(selectors, updateClass) {\n selectors.walkClasses((sel)=>{\n sel.value = updateClass(sel.value);\n if (sel.raws && sel.raws.value) {\n sel.raws.value = (0, _escapeCommas.default)(sel.raws.value);\n }\n });\n}\nfunction resolveArbitraryValue(modifier, validate) {\n if (!isArbitraryValue(modifier)) {\n return undefined;\n }\n let value = modifier.slice(1, -1);\n if (!validate(value)) {\n return undefined;\n }\n return (0, _dataTypes.normalize)(value);\n}\nfunction asNegativeValue(modifier, lookup = {}, validate) {\n let positiveValue = lookup[modifier];\n if (positiveValue !== undefined) {\n return (0, _negateValue.default)(positiveValue);\n }\n if (isArbitraryValue(modifier)) {\n let resolved = resolveArbitraryValue(modifier, validate);\n if (resolved === undefined) {\n return undefined;\n }\n return (0, _negateValue.default)(resolved);\n }\n}\nfunction asValue(modifier, options = {}, { validate =()=>true } = {}) {\n var _options_values;\n let value = (_options_values = options.values) === null || _options_values === void 0 ? void 0 : _options_values[modifier];\n if (value !== undefined) {\n return value;\n }\n if (options.supportsNegativeValues && modifier.startsWith(\"-\")) {\n return asNegativeValue(modifier.slice(1), options.values, validate);\n }\n return resolveArbitraryValue(modifier, validate);\n}\nfunction isArbitraryValue(input) {\n return input.startsWith(\"[\") && input.endsWith(\"]\");\n}\nfunction splitUtilityModifier(modifier) {\n let slashIdx = modifier.lastIndexOf(\"/\");\n if (slashIdx === -1 || slashIdx === modifier.length - 1) {\n return [\n modifier,\n undefined\n ];\n }\n let arbitrary = isArbitraryValue(modifier);\n // The modifier could be of the form `[foo]/[bar]`\n // We want to handle this case properly\n // without affecting `[foo/bar]`\n if (arbitrary && !modifier.includes(\"]/[\")) {\n return [\n modifier,\n undefined\n ];\n }\n return [\n modifier.slice(0, slashIdx),\n modifier.slice(slashIdx + 1)\n ];\n}\nfunction parseColorFormat(value) {\n if (typeof value === \"string\" && value.includes(\"<alpha-value>\")) {\n let oldValue = value;\n return ({ opacityValue =1 })=>oldValue.replace(\"<alpha-value>\", opacityValue);\n }\n return value;\n}\nfunction unwrapArbitraryModifier(modifier) {\n return (0, _dataTypes.normalize)(modifier.slice(1, -1));\n}\nfunction asColor(modifier, options = {}, { tailwindConfig ={} } = {}) {\n var _options_values;\n if (((_options_values = options.values) === null || _options_values === void 0 ? void 0 : _options_values[modifier]) !== undefined) {\n var _options_values1;\n return parseColorFormat((_options_values1 = options.values) === null || _options_values1 === void 0 ? void 0 : _options_values1[modifier]);\n }\n // TODO: Hoist this up to getMatchingTypes or something\n // We do this here because we need the alpha value (if any)\n let [color, alpha] = splitUtilityModifier(modifier);\n if (alpha !== undefined) {\n var _options_values2, _tailwindConfig_theme, _tailwindConfig_theme_opacity;\n var _options_values_color;\n let normalizedColor = (_options_values_color = (_options_values2 = options.values) === null || _options_values2 === void 0 ? void 0 : _options_values2[color]) !== null && _options_values_color !== void 0 ? _options_values_color : isArbitraryValue(color) ? color.slice(1, -1) : undefined;\n if (normalizedColor === undefined) {\n return undefined;\n }\n normalizedColor = parseColorFormat(normalizedColor);\n if (isArbitraryValue(alpha)) {\n return (0, _withAlphaVariable.withAlphaValue)(normalizedColor, unwrapArbitraryModifier(alpha));\n }\n if (((_tailwindConfig_theme = tailwindConfig.theme) === null || _tailwindConfig_theme === void 0 ? void 0 : (_tailwindConfig_theme_opacity = _tailwindConfig_theme.opacity) === null || _tailwindConfig_theme_opacity === void 0 ? void 0 : _tailwindConfig_theme_opacity[alpha]) === undefined) {\n return undefined;\n }\n return (0, _withAlphaVariable.withAlphaValue)(normalizedColor, tailwindConfig.theme.opacity[alpha]);\n }\n return asValue(modifier, options, {\n validate: _dataTypes.color\n });\n}\nfunction asLookupValue(modifier, options = {}) {\n var _options_values;\n return (_options_values = options.values) === null || _options_values === void 0 ? void 0 : _options_values[modifier];\n}\nfunction guess(validate) {\n return (modifier, options)=>{\n return asValue(modifier, options, {\n validate\n });\n };\n}\nlet typeMap = {\n any: asValue,\n color: asColor,\n url: guess(_dataTypes.url),\n image: guess(_dataTypes.image),\n length: guess(_dataTypes.length),\n percentage: guess(_dataTypes.percentage),\n position: guess(_dataTypes.position),\n lookup: asLookupValue,\n \"generic-name\": guess(_dataTypes.genericName),\n \"family-name\": guess(_dataTypes.familyName),\n number: guess(_dataTypes.number),\n \"line-width\": guess(_dataTypes.lineWidth),\n \"absolute-size\": guess(_dataTypes.absoluteSize),\n \"relative-size\": guess(_dataTypes.relativeSize),\n shadow: guess(_dataTypes.shadow),\n size: guess(_validateFormalSyntax.backgroundSize)\n};\nlet supportedTypes = Object.keys(typeMap);\nfunction splitAtFirst(input, delim) {\n let idx = input.indexOf(delim);\n if (idx === -1) return [\n undefined,\n input\n ];\n return [\n input.slice(0, idx),\n input.slice(idx + 1)\n ];\n}\nfunction coerceValue(types, modifier, options, tailwindConfig) {\n if (options.values && modifier in options.values) {\n for (let { type } of types !== null && types !== void 0 ? types : []){\n let result = typeMap[type](modifier, options, {\n tailwindConfig\n });\n if (result === undefined) {\n continue;\n }\n return [\n result,\n type,\n null\n ];\n }\n }\n if (isArbitraryValue(modifier)) {\n let arbitraryValue = modifier.slice(1, -1);\n let [explicitType, value] = splitAtFirst(arbitraryValue, \":\");\n // It could be that this resolves to `url(https` which is not a valid\n // identifier. We currently only support \"simple\" words with dashes or\n // underscores. E.g.: family-name\n if (!/^[\\w-_]+$/g.test(explicitType)) {\n value = arbitraryValue;\n } else if (explicitType !== undefined && !supportedTypes.includes(explicitType)) {\n return [];\n }\n if (value.length > 0 && supportedTypes.includes(explicitType)) {\n return [\n asValue(`[${value}]`, options),\n explicitType,\n null\n ];\n }\n }\n let matches = getMatchingTypes(types, modifier, options, tailwindConfig);\n // Find first matching type\n for (let match of matches){\n return match;\n }\n return [];\n}\nfunction* getMatchingTypes(types, rawModifier, options, tailwindConfig) {\n let modifiersEnabled = (0, _featureFlags.flagEnabled)(tailwindConfig, \"generalizedModifiers\");\n let [modifier, utilityModifier] = splitUtilityModifier(rawModifier);\n let canUseUtilityModifier = modifiersEnabled && options.modifiers != null && (options.modifiers === \"any\" || typeof options.modifiers === \"object\" && (utilityModifier && isArbitraryValue(utilityModifier) || utilityModifier in options.modifiers));\n if (!canUseUtilityModifier) {\n modifier = rawModifier;\n utilityModifier = undefined;\n }\n if (utilityModifier !== undefined && modifier === \"\") {\n modifier = \"DEFAULT\";\n }\n // Check the full value first\n // TODO: Move to asValue… somehow\n if (utilityModifier !== undefined) {\n if (typeof options.modifiers === \"object\") {\n var _options_modifiers;\n var _options_modifiers_utilityModifier;\n let configValue = (_options_modifiers_utilityModifier = (_options_modifiers = options.modifiers) === null || _options_modifiers === void 0 ? void 0 : _options_modifiers[utilityModifier]) !== null && _options_modifiers_utilityModifier !== void 0 ? _options_modifiers_utilityModifier : null;\n if (configValue !== null) {\n utilityModifier = configValue;\n } else if (isArbitraryValue(utilityModifier)) {\n utilityModifier = unwrapArbitraryModifier(utilityModifier);\n }\n }\n }\n for (let { type } of types !== null && types !== void 0 ? types : []){\n let result = typeMap[type](modifier, options, {\n tailwindConfig\n });\n if (result === undefined) {\n continue;\n }\n yield [\n result,\n type,\n utilityModifier !== null && utilityModifier !== void 0 ? utilityModifier : null\n ];\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return toColorValue;\n }\n});\nfunction toColorValue(maybeFunction) {\n return typeof maybeFunction === \"function\" ? maybeFunction({}) : maybeFunction;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return resolveConfig;\n }\n});\nconst _negateValue = /*#__PURE__*/ _interop_require_default(require(\"./negateValue\"));\nconst _corePluginList = /*#__PURE__*/ _interop_require_default(require(\"../corePluginList\"));\nconst _configurePlugins = /*#__PURE__*/ _interop_require_default(require(\"./configurePlugins\"));\nconst _colors = /*#__PURE__*/ _interop_require_default(require(\"../public/colors\"));\nconst _defaults = require(\"./defaults\");\nconst _toPath = require(\"./toPath\");\nconst _normalizeConfig = require(\"./normalizeConfig\");\nconst _isPlainObject = /*#__PURE__*/ _interop_require_default(require(\"./isPlainObject\"));\nconst _cloneDeep = require(\"./cloneDeep\");\nconst _pluginUtils = require(\"./pluginUtils\");\nconst _withAlphaVariable = require(\"./withAlphaVariable\");\nconst _toColorValue = /*#__PURE__*/ _interop_require_default(require(\"./toColorValue\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction isFunction(input) {\n return typeof input === \"function\";\n}\nfunction mergeWith(target, ...sources) {\n let customizer = sources.pop();\n for (let source of sources){\n for(let k in source){\n let merged = customizer(target[k], source[k]);\n if (merged === undefined) {\n if ((0, _isPlainObject.default)(target[k]) && (0, _isPlainObject.default)(source[k])) {\n target[k] = mergeWith({}, target[k], source[k], customizer);\n } else {\n target[k] = source[k];\n }\n } else {\n target[k] = merged;\n }\n }\n }\n return target;\n}\nconst configUtils = {\n colors: _colors.default,\n negative (scale) {\n // TODO: Log that this function isn't really needed anymore?\n return Object.keys(scale).filter((key)=>scale[key] !== \"0\").reduce((negativeScale, key)=>{\n let negativeValue = (0, _negateValue.default)(scale[key]);\n if (negativeValue !== undefined) {\n negativeScale[`-${key}`] = negativeValue;\n }\n return negativeScale;\n }, {});\n },\n breakpoints (screens) {\n return Object.keys(screens).filter((key)=>typeof screens[key] === \"string\").reduce((breakpoints, key)=>({\n ...breakpoints,\n [`screen-${key}`]: screens[key]\n }), {});\n }\n};\nfunction value(valueToResolve, ...args) {\n return isFunction(valueToResolve) ? valueToResolve(...args) : valueToResolve;\n}\nfunction collectExtends(items) {\n return items.reduce((merged, { extend })=>{\n return mergeWith(merged, extend, (mergedValue, extendValue)=>{\n if (mergedValue === undefined) {\n return [\n extendValue\n ];\n }\n if (Array.isArray(mergedValue)) {\n return [\n extendValue,\n ...mergedValue\n ];\n }\n return [\n extendValue,\n mergedValue\n ];\n });\n }, {});\n}\nfunction mergeThemes(themes) {\n return {\n ...themes.reduce((merged, theme)=>(0, _defaults.defaults)(merged, theme), {}),\n // In order to resolve n config objects, we combine all of their `extend` properties\n // into arrays instead of objects so they aren't overridden.\n extend: collectExtends(themes)\n };\n}\nfunction mergeExtensionCustomizer(merged, value) {\n // When we have an array of objects, we do want to merge it\n if (Array.isArray(merged) && (0, _isPlainObject.default)(merged[0])) {\n return merged.concat(value);\n }\n // When the incoming value is an array, and the existing config is an object, prepend the existing object\n if (Array.isArray(value) && (0, _isPlainObject.default)(value[0]) && (0, _isPlainObject.default)(merged)) {\n return [\n merged,\n ...value\n ];\n }\n // Override arrays (for example for font-families, box-shadows, ...)\n if (Array.isArray(value)) {\n return value;\n }\n // Execute default behaviour\n return undefined;\n}\nfunction mergeExtensions({ extend , ...theme }) {\n return mergeWith(theme, extend, (themeValue, extensions)=>{\n // The `extend` property is an array, so we need to check if it contains any functions\n if (!isFunction(themeValue) && !extensions.some(isFunction)) {\n return mergeWith({}, themeValue, ...extensions, mergeExtensionCustomizer);\n }\n return (resolveThemePath, utils)=>mergeWith({}, ...[\n themeValue,\n ...extensions\n ].map((e)=>value(e, resolveThemePath, utils)), mergeExtensionCustomizer);\n });\n}\n/**\n *\n * @param {string} key\n * @return {Iterable<string[] & {alpha: string | undefined}>}\n */ function* toPaths(key) {\n let path = (0, _toPath.toPath)(key);\n if (path.length === 0) {\n return;\n }\n yield path;\n if (Array.isArray(key)) {\n return;\n }\n let pattern = /^(.*?)\\s*\\/\\s*([^/]+)$/;\n let matches = key.match(pattern);\n if (matches !== null) {\n let [, prefix, alpha] = matches;\n let newPath = (0, _toPath.toPath)(prefix);\n newPath.alpha = alpha;\n yield newPath;\n }\n}\nfunction resolveFunctionKeys(object) {\n // theme('colors.red.500 / 0.5') -> ['colors', 'red', '500 / 0', '5]\n const resolvePath = (key, defaultValue)=>{\n for (const path of toPaths(key)){\n let index = 0;\n let val = object;\n while(val !== undefined && val !== null && index < path.length){\n val = val[path[index++]];\n let shouldResolveAsFn = isFunction(val) && (path.alpha === undefined || index <= path.length - 1);\n val = shouldResolveAsFn ? val(resolvePath, configUtils) : val;\n }\n if (val !== undefined) {\n if (path.alpha !== undefined) {\n let normalized = (0, _pluginUtils.parseColorFormat)(val);\n return (0, _withAlphaVariable.withAlphaValue)(normalized, path.alpha, (0, _toColorValue.default)(normalized));\n }\n if ((0, _isPlainObject.default)(val)) {\n return (0, _cloneDeep.cloneDeep)(val);\n }\n return val;\n }\n }\n return defaultValue;\n };\n Object.assign(resolvePath, {\n theme: resolvePath,\n ...configUtils\n });\n return Object.keys(object).reduce((resolved, key)=>{\n resolved[key] = isFunction(object[key]) ? object[key](resolvePath, configUtils) : object[key];\n return resolved;\n }, {});\n}\nfunction extractPluginConfigs(configs) {\n let allConfigs = [];\n configs.forEach((config)=>{\n allConfigs = [\n ...allConfigs,\n config\n ];\n var _config_plugins;\n const plugins = (_config_plugins = config === null || config === void 0 ? void 0 : config.plugins) !== null && _config_plugins !== void 0 ? _config_plugins : [];\n if (plugins.length === 0) {\n return;\n }\n plugins.forEach((plugin)=>{\n if (plugin.__isOptionsFunction) {\n plugin = plugin();\n }\n var _plugin_config;\n allConfigs = [\n ...allConfigs,\n ...extractPluginConfigs([\n (_plugin_config = plugin === null || plugin === void 0 ? void 0 : plugin.config) !== null && _plugin_config !== void 0 ? _plugin_config : {}\n ])\n ];\n });\n });\n return allConfigs;\n}\nfunction resolveCorePlugins(corePluginConfigs) {\n const result = [\n ...corePluginConfigs\n ].reduceRight((resolved, corePluginConfig)=>{\n if (isFunction(corePluginConfig)) {\n return corePluginConfig({\n corePlugins: resolved\n });\n }\n return (0, _configurePlugins.default)(corePluginConfig, resolved);\n }, _corePluginList.default);\n return result;\n}\nfunction resolvePluginLists(pluginLists) {\n const result = [\n ...pluginLists\n ].reduceRight((resolved, pluginList)=>{\n return [\n ...resolved,\n ...pluginList\n ];\n }, []);\n return result;\n}\nfunction resolveConfig(configs) {\n let allConfigs = [\n ...extractPluginConfigs(configs),\n {\n prefix: \"\",\n important: false,\n separator: \":\"\n }\n ];\n var _t_theme, _c_plugins;\n return (0, _normalizeConfig.normalizeConfig)((0, _defaults.defaults)({\n theme: resolveFunctionKeys(mergeExtensions(mergeThemes(allConfigs.map((t)=>{\n return (_t_theme = t === null || t === void 0 ? void 0 : t.theme) !== null && _t_theme !== void 0 ? _t_theme : {};\n })))),\n corePlugins: resolveCorePlugins(allConfigs.map((c)=>c.corePlugins)),\n plugins: resolvePluginLists(configs.map((c)=>{\n return (_c_plugins = c === null || c === void 0 ? void 0 : c.plugins) !== null && _c_plugins !== void 0 ? _c_plugins : [];\n }))\n }, ...allConfigs));\n}\n","module.exports = {\n content: [],\n presets: [],\n darkMode: 'media', // or 'class'\n theme: {\n accentColor: ({ theme }) => ({\n ...theme('colors'),\n auto: 'auto',\n }),\n animation: {\n none: 'none',\n spin: 'spin 1s linear infinite',\n ping: 'ping 1s cubic-bezier(0, 0, 0.2, 1) infinite',\n pulse: 'pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite',\n bounce: 'bounce 1s infinite',\n },\n aria: {\n busy: 'busy=\"true\"',\n checked: 'checked=\"true\"',\n disabled: 'disabled=\"true\"',\n expanded: 'expanded=\"true\"',\n hidden: 'hidden=\"true\"',\n pressed: 'pressed=\"true\"',\n readonly: 'readonly=\"true\"',\n required: 'required=\"true\"',\n selected: 'selected=\"true\"',\n },\n aspectRatio: {\n auto: 'auto',\n square: '1 / 1',\n video: '16 / 9',\n },\n backdropBlur: ({ theme }) => theme('blur'),\n backdropBrightness: ({ theme }) => theme('brightness'),\n backdropContrast: ({ theme }) => theme('contrast'),\n backdropGrayscale: ({ theme }) => theme('grayscale'),\n backdropHueRotate: ({ theme }) => theme('hueRotate'),\n backdropInvert: ({ theme }) => theme('invert'),\n backdropOpacity: ({ theme }) => theme('opacity'),\n backdropSaturate: ({ theme }) => theme('saturate'),\n backdropSepia: ({ theme }) => theme('sepia'),\n backgroundColor: ({ theme }) => theme('colors'),\n backgroundImage: {\n none: 'none',\n 'gradient-to-t': 'linear-gradient(to top, var(--tw-gradient-stops))',\n 'gradient-to-tr': 'linear-gradient(to top right, var(--tw-gradient-stops))',\n 'gradient-to-r': 'linear-gradient(to right, var(--tw-gradient-stops))',\n 'gradient-to-br': 'linear-gradient(to bottom right, var(--tw-gradient-stops))',\n 'gradient-to-b': 'linear-gradient(to bottom, var(--tw-gradient-stops))',\n 'gradient-to-bl': 'linear-gradient(to bottom left, var(--tw-gradient-stops))',\n 'gradient-to-l': 'linear-gradient(to left, var(--tw-gradient-stops))',\n 'gradient-to-tl': 'linear-gradient(to top left, var(--tw-gradient-stops))',\n },\n backgroundOpacity: ({ theme }) => theme('opacity'),\n backgroundPosition: {\n bottom: 'bottom',\n center: 'center',\n left: 'left',\n 'left-bottom': 'left bottom',\n 'left-top': 'left top',\n right: 'right',\n 'right-bottom': 'right bottom',\n 'right-top': 'right top',\n top: 'top',\n },\n backgroundSize: {\n auto: 'auto',\n cover: 'cover',\n contain: 'contain',\n },\n blur: {\n 0: '0',\n none: '0',\n sm: '4px',\n DEFAULT: '8px',\n md: '12px',\n lg: '16px',\n xl: '24px',\n '2xl': '40px',\n '3xl': '64px',\n },\n borderColor: ({ theme }) => ({\n ...theme('colors'),\n DEFAULT: theme('colors.gray.200', 'currentColor'),\n }),\n borderOpacity: ({ theme }) => theme('opacity'),\n borderRadius: {\n none: '0px',\n sm: '0.125rem',\n DEFAULT: '0.25rem',\n md: '0.375rem',\n lg: '0.5rem',\n xl: '0.75rem',\n '2xl': '1rem',\n '3xl': '1.5rem',\n full: '9999px',\n },\n borderSpacing: ({ theme }) => ({\n ...theme('spacing'),\n }),\n borderWidth: {\n DEFAULT: '1px',\n 0: '0px',\n 2: '2px',\n 4: '4px',\n 8: '8px',\n },\n boxShadow: {\n sm: '0 1px 2px 0 rgb(0 0 0 / 0.05)',\n DEFAULT: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',\n md: '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',\n lg: '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',\n xl: '0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)',\n '2xl': '0 25px 50px -12px rgb(0 0 0 / 0.25)',\n inner: 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)',\n none: 'none',\n },\n boxShadowColor: ({ theme }) => theme('colors'),\n brightness: {\n 0: '0',\n 50: '.5',\n 75: '.75',\n 90: '.9',\n 95: '.95',\n 100: '1',\n 105: '1.05',\n 110: '1.1',\n 125: '1.25',\n 150: '1.5',\n 200: '2',\n },\n caretColor: ({ theme }) => theme('colors'),\n colors: ({ colors }) => ({\n inherit: colors.inherit,\n current: colors.current,\n transparent: colors.transparent,\n black: colors.black,\n white: colors.white,\n slate: colors.slate,\n gray: colors.gray,\n zinc: colors.zinc,\n neutral: colors.neutral,\n stone: colors.stone,\n red: colors.red,\n orange: colors.orange,\n amber: colors.amber,\n yellow: colors.yellow,\n lime: colors.lime,\n green: colors.green,\n emerald: colors.emerald,\n teal: colors.teal,\n cyan: colors.cyan,\n sky: colors.sky,\n blue: colors.blue,\n indigo: colors.indigo,\n violet: colors.violet,\n purple: colors.purple,\n fuchsia: colors.fuchsia,\n pink: colors.pink,\n rose: colors.rose,\n }),\n columns: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n '3xs': '16rem',\n '2xs': '18rem',\n xs: '20rem',\n sm: '24rem',\n md: '28rem',\n lg: '32rem',\n xl: '36rem',\n '2xl': '42rem',\n '3xl': '48rem',\n '4xl': '56rem',\n '5xl': '64rem',\n '6xl': '72rem',\n '7xl': '80rem',\n },\n container: {},\n content: {\n none: 'none',\n },\n contrast: {\n 0: '0',\n 50: '.5',\n 75: '.75',\n 100: '1',\n 125: '1.25',\n 150: '1.5',\n 200: '2',\n },\n cursor: {\n auto: 'auto',\n default: 'default',\n pointer: 'pointer',\n wait: 'wait',\n text: 'text',\n move: 'move',\n help: 'help',\n 'not-allowed': 'not-allowed',\n none: 'none',\n 'context-menu': 'context-menu',\n progress: 'progress',\n cell: 'cell',\n crosshair: 'crosshair',\n 'vertical-text': 'vertical-text',\n alias: 'alias',\n copy: 'copy',\n 'no-drop': 'no-drop',\n grab: 'grab',\n grabbing: 'grabbing',\n 'all-scroll': 'all-scroll',\n 'col-resize': 'col-resize',\n 'row-resize': 'row-resize',\n 'n-resize': 'n-resize',\n 'e-resize': 'e-resize',\n 's-resize': 's-resize',\n 'w-resize': 'w-resize',\n 'ne-resize': 'ne-resize',\n 'nw-resize': 'nw-resize',\n 'se-resize': 'se-resize',\n 'sw-resize': 'sw-resize',\n 'ew-resize': 'ew-resize',\n 'ns-resize': 'ns-resize',\n 'nesw-resize': 'nesw-resize',\n 'nwse-resize': 'nwse-resize',\n 'zoom-in': 'zoom-in',\n 'zoom-out': 'zoom-out',\n },\n divideColor: ({ theme }) => theme('borderColor'),\n divideOpacity: ({ theme }) => theme('borderOpacity'),\n divideWidth: ({ theme }) => theme('borderWidth'),\n dropShadow: {\n sm: '0 1px 1px rgb(0 0 0 / 0.05)',\n DEFAULT: ['0 1px 2px rgb(0 0 0 / 0.1)', '0 1px 1px rgb(0 0 0 / 0.06)'],\n md: ['0 4px 3px rgb(0 0 0 / 0.07)', '0 2px 2px rgb(0 0 0 / 0.06)'],\n lg: ['0 10px 8px rgb(0 0 0 / 0.04)', '0 4px 3px rgb(0 0 0 / 0.1)'],\n xl: ['0 20px 13px rgb(0 0 0 / 0.03)', '0 8px 5px rgb(0 0 0 / 0.08)'],\n '2xl': '0 25px 25px rgb(0 0 0 / 0.15)',\n none: '0 0 #0000',\n },\n fill: ({ theme }) => ({\n none: 'none',\n ...theme('colors'),\n }),\n flex: {\n 1: '1 1 0%',\n auto: '1 1 auto',\n initial: '0 1 auto',\n none: 'none',\n },\n flexBasis: ({ theme }) => ({\n auto: 'auto',\n ...theme('spacing'),\n '1/2': '50%',\n '1/3': '33.333333%',\n '2/3': '66.666667%',\n '1/4': '25%',\n '2/4': '50%',\n '3/4': '75%',\n '1/5': '20%',\n '2/5': '40%',\n '3/5': '60%',\n '4/5': '80%',\n '1/6': '16.666667%',\n '2/6': '33.333333%',\n '3/6': '50%',\n '4/6': '66.666667%',\n '5/6': '83.333333%',\n '1/12': '8.333333%',\n '2/12': '16.666667%',\n '3/12': '25%',\n '4/12': '33.333333%',\n '5/12': '41.666667%',\n '6/12': '50%',\n '7/12': '58.333333%',\n '8/12': '66.666667%',\n '9/12': '75%',\n '10/12': '83.333333%',\n '11/12': '91.666667%',\n full: '100%',\n }),\n flexGrow: {\n 0: '0',\n DEFAULT: '1',\n },\n flexShrink: {\n 0: '0',\n DEFAULT: '1',\n },\n fontFamily: {\n sans: [\n 'ui-sans-serif',\n 'system-ui',\n '-apple-system',\n 'BlinkMacSystemFont',\n '\"Segoe UI\"',\n 'Roboto',\n '\"Helvetica Neue\"',\n 'Arial',\n '\"Noto Sans\"',\n 'sans-serif',\n '\"Apple Color Emoji\"',\n '\"Segoe UI Emoji\"',\n '\"Segoe UI Symbol\"',\n '\"Noto Color Emoji\"',\n ],\n serif: ['ui-serif', 'Georgia', 'Cambria', '\"Times New Roman\"', 'Times', 'serif'],\n mono: [\n 'ui-monospace',\n 'SFMono-Regular',\n 'Menlo',\n 'Monaco',\n 'Consolas',\n '\"Liberation Mono\"',\n '\"Courier New\"',\n 'monospace',\n ],\n },\n fontSize: {\n xs: ['0.75rem', { lineHeight: '1rem' }],\n sm: ['0.875rem', { lineHeight: '1.25rem' }],\n base: ['1rem', { lineHeight: '1.5rem' }],\n lg: ['1.125rem', { lineHeight: '1.75rem' }],\n xl: ['1.25rem', { lineHeight: '1.75rem' }],\n '2xl': ['1.5rem', { lineHeight: '2rem' }],\n '3xl': ['1.875rem', { lineHeight: '2.25rem' }],\n '4xl': ['2.25rem', { lineHeight: '2.5rem' }],\n '5xl': ['3rem', { lineHeight: '1' }],\n '6xl': ['3.75rem', { lineHeight: '1' }],\n '7xl': ['4.5rem', { lineHeight: '1' }],\n '8xl': ['6rem', { lineHeight: '1' }],\n '9xl': ['8rem', { lineHeight: '1' }],\n },\n fontWeight: {\n thin: '100',\n extralight: '200',\n light: '300',\n normal: '400',\n medium: '500',\n semibold: '600',\n bold: '700',\n extrabold: '800',\n black: '900',\n },\n gap: ({ theme }) => theme('spacing'),\n gradientColorStops: ({ theme }) => theme('colors'),\n gradientColorStopPositions: {\n '0%': '0%',\n '5%': '5%',\n '10%': '10%',\n '15%': '15%',\n '20%': '20%',\n '25%': '25%',\n '30%': '30%',\n '35%': '35%',\n '40%': '40%',\n '45%': '45%',\n '50%': '50%',\n '55%': '55%',\n '60%': '60%',\n '65%': '65%',\n '70%': '70%',\n '75%': '75%',\n '80%': '80%',\n '85%': '85%',\n '90%': '90%',\n '95%': '95%',\n '100%': '100%',\n },\n grayscale: {\n 0: '0',\n DEFAULT: '100%',\n },\n gridAutoColumns: {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n },\n gridAutoRows: {\n auto: 'auto',\n min: 'min-content',\n max: 'max-content',\n fr: 'minmax(0, 1fr)',\n },\n gridColumn: {\n auto: 'auto',\n 'span-1': 'span 1 / span 1',\n 'span-2': 'span 2 / span 2',\n 'span-3': 'span 3 / span 3',\n 'span-4': 'span 4 / span 4',\n 'span-5': 'span 5 / span 5',\n 'span-6': 'span 6 / span 6',\n 'span-7': 'span 7 / span 7',\n 'span-8': 'span 8 / span 8',\n 'span-9': 'span 9 / span 9',\n 'span-10': 'span 10 / span 10',\n 'span-11': 'span 11 / span 11',\n 'span-12': 'span 12 / span 12',\n 'span-full': '1 / -1',\n },\n gridColumnEnd: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n 13: '13',\n },\n gridColumnStart: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n 13: '13',\n },\n gridRow: {\n auto: 'auto',\n 'span-1': 'span 1 / span 1',\n 'span-2': 'span 2 / span 2',\n 'span-3': 'span 3 / span 3',\n 'span-4': 'span 4 / span 4',\n 'span-5': 'span 5 / span 5',\n 'span-6': 'span 6 / span 6',\n 'span-full': '1 / -1',\n },\n gridRowEnd: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n },\n gridRowStart: {\n auto: 'auto',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n },\n gridTemplateColumns: {\n none: 'none',\n 1: 'repeat(1, minmax(0, 1fr))',\n 2: 'repeat(2, minmax(0, 1fr))',\n 3: 'repeat(3, minmax(0, 1fr))',\n 4: 'repeat(4, minmax(0, 1fr))',\n 5: 'repeat(5, minmax(0, 1fr))',\n 6: 'repeat(6, minmax(0, 1fr))',\n 7: 'repeat(7, minmax(0, 1fr))',\n 8: 'repeat(8, minmax(0, 1fr))',\n 9: 'repeat(9, minmax(0, 1fr))',\n 10: 'repeat(10, minmax(0, 1fr))',\n 11: 'repeat(11, minmax(0, 1fr))',\n 12: 'repeat(12, minmax(0, 1fr))',\n },\n gridTemplateRows: {\n none: 'none',\n 1: 'repeat(1, minmax(0, 1fr))',\n 2: 'repeat(2, minmax(0, 1fr))',\n 3: 'repeat(3, minmax(0, 1fr))',\n 4: 'repeat(4, minmax(0, 1fr))',\n 5: 'repeat(5, minmax(0, 1fr))',\n 6: 'repeat(6, minmax(0, 1fr))',\n },\n height: ({ theme }) => ({\n auto: 'auto',\n ...theme('spacing'),\n '1/2': '50%',\n '1/3': '33.333333%',\n '2/3': '66.666667%',\n '1/4': '25%',\n '2/4': '50%',\n '3/4': '75%',\n '1/5': '20%',\n '2/5': '40%',\n '3/5': '60%',\n '4/5': '80%',\n '1/6': '16.666667%',\n '2/6': '33.333333%',\n '3/6': '50%',\n '4/6': '66.666667%',\n '5/6': '83.333333%',\n full: '100%',\n screen: '100vh',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n }),\n hueRotate: {\n 0: '0deg',\n 15: '15deg',\n 30: '30deg',\n 60: '60deg',\n 90: '90deg',\n 180: '180deg',\n },\n inset: ({ theme }) => ({\n auto: 'auto',\n ...theme('spacing'),\n '1/2': '50%',\n '1/3': '33.333333%',\n '2/3': '66.666667%',\n '1/4': '25%',\n '2/4': '50%',\n '3/4': '75%',\n full: '100%',\n }),\n invert: {\n 0: '0',\n DEFAULT: '100%',\n },\n keyframes: {\n spin: {\n to: {\n transform: 'rotate(360deg)',\n },\n },\n ping: {\n '75%, 100%': {\n transform: 'scale(2)',\n opacity: '0',\n },\n },\n pulse: {\n '50%': {\n opacity: '.5',\n },\n },\n bounce: {\n '0%, 100%': {\n transform: 'translateY(-25%)',\n animationTimingFunction: 'cubic-bezier(0.8,0,1,1)',\n },\n '50%': {\n transform: 'none',\n animationTimingFunction: 'cubic-bezier(0,0,0.2,1)',\n },\n },\n },\n letterSpacing: {\n tighter: '-0.05em',\n tight: '-0.025em',\n normal: '0em',\n wide: '0.025em',\n wider: '0.05em',\n widest: '0.1em',\n },\n lineHeight: {\n none: '1',\n tight: '1.25',\n snug: '1.375',\n normal: '1.5',\n relaxed: '1.625',\n loose: '2',\n 3: '.75rem',\n 4: '1rem',\n 5: '1.25rem',\n 6: '1.5rem',\n 7: '1.75rem',\n 8: '2rem',\n 9: '2.25rem',\n 10: '2.5rem',\n },\n listStyleType: {\n none: 'none',\n disc: 'disc',\n decimal: 'decimal',\n },\n listStyleImage: {\n none: 'none',\n },\n margin: ({ theme }) => ({\n auto: 'auto',\n ...theme('spacing'),\n }),\n lineClamp: {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n },\n maxHeight: ({ theme }) => ({\n ...theme('spacing'),\n none: 'none',\n full: '100%',\n screen: '100vh',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n }),\n maxWidth: ({ theme, breakpoints }) => ({\n none: 'none',\n 0: '0rem',\n xs: '20rem',\n sm: '24rem',\n md: '28rem',\n lg: '32rem',\n xl: '36rem',\n '2xl': '42rem',\n '3xl': '48rem',\n '4xl': '56rem',\n '5xl': '64rem',\n '6xl': '72rem',\n '7xl': '80rem',\n full: '100%',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n prose: '65ch',\n ...breakpoints(theme('screens')),\n }),\n minHeight: {\n 0: '0px',\n full: '100%',\n screen: '100vh',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n },\n minWidth: {\n 0: '0px',\n full: '100%',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n },\n objectPosition: {\n bottom: 'bottom',\n center: 'center',\n left: 'left',\n 'left-bottom': 'left bottom',\n 'left-top': 'left top',\n right: 'right',\n 'right-bottom': 'right bottom',\n 'right-top': 'right top',\n top: 'top',\n },\n opacity: {\n 0: '0',\n 5: '0.05',\n 10: '0.1',\n 20: '0.2',\n 25: '0.25',\n 30: '0.3',\n 40: '0.4',\n 50: '0.5',\n 60: '0.6',\n 70: '0.7',\n 75: '0.75',\n 80: '0.8',\n 90: '0.9',\n 95: '0.95',\n 100: '1',\n },\n order: {\n first: '-9999',\n last: '9999',\n none: '0',\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 10: '10',\n 11: '11',\n 12: '12',\n },\n outlineColor: ({ theme }) => theme('colors'),\n outlineOffset: {\n 0: '0px',\n 1: '1px',\n 2: '2px',\n 4: '4px',\n 8: '8px',\n },\n outlineWidth: {\n 0: '0px',\n 1: '1px',\n 2: '2px',\n 4: '4px',\n 8: '8px',\n },\n padding: ({ theme }) => theme('spacing'),\n placeholderColor: ({ theme }) => theme('colors'),\n placeholderOpacity: ({ theme }) => theme('opacity'),\n ringColor: ({ theme }) => ({\n DEFAULT: theme('colors.blue.500', '#3b82f6'),\n ...theme('colors'),\n }),\n ringOffsetColor: ({ theme }) => theme('colors'),\n ringOffsetWidth: {\n 0: '0px',\n 1: '1px',\n 2: '2px',\n 4: '4px',\n 8: '8px',\n },\n ringOpacity: ({ theme }) => ({\n DEFAULT: '0.5',\n ...theme('opacity'),\n }),\n ringWidth: {\n DEFAULT: '3px',\n 0: '0px',\n 1: '1px',\n 2: '2px',\n 4: '4px',\n 8: '8px',\n },\n rotate: {\n 0: '0deg',\n 1: '1deg',\n 2: '2deg',\n 3: '3deg',\n 6: '6deg',\n 12: '12deg',\n 45: '45deg',\n 90: '90deg',\n 180: '180deg',\n },\n saturate: {\n 0: '0',\n 50: '.5',\n 100: '1',\n 150: '1.5',\n 200: '2',\n },\n scale: {\n 0: '0',\n 50: '.5',\n 75: '.75',\n 90: '.9',\n 95: '.95',\n 100: '1',\n 105: '1.05',\n 110: '1.1',\n 125: '1.25',\n 150: '1.5',\n },\n screens: {\n sm: '640px',\n md: '768px',\n lg: '1024px',\n xl: '1280px',\n '2xl': '1536px',\n },\n scrollMargin: ({ theme }) => ({\n ...theme('spacing'),\n }),\n scrollPadding: ({ theme }) => theme('spacing'),\n sepia: {\n 0: '0',\n DEFAULT: '100%',\n },\n skew: {\n 0: '0deg',\n 1: '1deg',\n 2: '2deg',\n 3: '3deg',\n 6: '6deg',\n 12: '12deg',\n },\n space: ({ theme }) => ({\n ...theme('spacing'),\n }),\n spacing: {\n px: '1px',\n 0: '0px',\n 0.5: '0.125rem',\n 1: '0.25rem',\n 1.5: '0.375rem',\n 2: '0.5rem',\n 2.5: '0.625rem',\n 3: '0.75rem',\n 3.5: '0.875rem',\n 4: '1rem',\n 5: '1.25rem',\n 6: '1.5rem',\n 7: '1.75rem',\n 8: '2rem',\n 9: '2.25rem',\n 10: '2.5rem',\n 11: '2.75rem',\n 12: '3rem',\n 14: '3.5rem',\n 16: '4rem',\n 20: '5rem',\n 24: '6rem',\n 28: '7rem',\n 32: '8rem',\n 36: '9rem',\n 40: '10rem',\n 44: '11rem',\n 48: '12rem',\n 52: '13rem',\n 56: '14rem',\n 60: '15rem',\n 64: '16rem',\n 72: '18rem',\n 80: '20rem',\n 96: '24rem',\n },\n stroke: ({ theme }) => ({\n none: 'none',\n ...theme('colors'),\n }),\n strokeWidth: {\n 0: '0',\n 1: '1',\n 2: '2',\n },\n supports: {},\n data: {},\n textColor: ({ theme }) => theme('colors'),\n textDecorationColor: ({ theme }) => theme('colors'),\n textDecorationThickness: {\n auto: 'auto',\n 'from-font': 'from-font',\n 0: '0px',\n 1: '1px',\n 2: '2px',\n 4: '4px',\n 8: '8px',\n },\n textIndent: ({ theme }) => ({\n ...theme('spacing'),\n }),\n textOpacity: ({ theme }) => theme('opacity'),\n textUnderlineOffset: {\n auto: 'auto',\n 0: '0px',\n 1: '1px',\n 2: '2px',\n 4: '4px',\n 8: '8px',\n },\n transformOrigin: {\n center: 'center',\n top: 'top',\n 'top-right': 'top right',\n right: 'right',\n 'bottom-right': 'bottom right',\n bottom: 'bottom',\n 'bottom-left': 'bottom left',\n left: 'left',\n 'top-left': 'top left',\n },\n transitionDelay: {\n 0: '0s',\n 75: '75ms',\n 100: '100ms',\n 150: '150ms',\n 200: '200ms',\n 300: '300ms',\n 500: '500ms',\n 700: '700ms',\n 1000: '1000ms',\n },\n transitionDuration: {\n DEFAULT: '150ms',\n 0: '0s',\n 75: '75ms',\n 100: '100ms',\n 150: '150ms',\n 200: '200ms',\n 300: '300ms',\n 500: '500ms',\n 700: '700ms',\n 1000: '1000ms',\n },\n transitionProperty: {\n none: 'none',\n all: 'all',\n DEFAULT:\n 'color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter',\n colors: 'color, background-color, border-color, text-decoration-color, fill, stroke',\n opacity: 'opacity',\n shadow: 'box-shadow',\n transform: 'transform',\n },\n transitionTimingFunction: {\n DEFAULT: 'cubic-bezier(0.4, 0, 0.2, 1)',\n linear: 'linear',\n in: 'cubic-bezier(0.4, 0, 1, 1)',\n out: 'cubic-bezier(0, 0, 0.2, 1)',\n 'in-out': 'cubic-bezier(0.4, 0, 0.2, 1)',\n },\n translate: ({ theme }) => ({\n ...theme('spacing'),\n '1/2': '50%',\n '1/3': '33.333333%',\n '2/3': '66.666667%',\n '1/4': '25%',\n '2/4': '50%',\n '3/4': '75%',\n full: '100%',\n }),\n width: ({ theme }) => ({\n auto: 'auto',\n ...theme('spacing'),\n '1/2': '50%',\n '1/3': '33.333333%',\n '2/3': '66.666667%',\n '1/4': '25%',\n '2/4': '50%',\n '3/4': '75%',\n '1/5': '20%',\n '2/5': '40%',\n '3/5': '60%',\n '4/5': '80%',\n '1/6': '16.666667%',\n '2/6': '33.333333%',\n '3/6': '50%',\n '4/6': '66.666667%',\n '5/6': '83.333333%',\n '1/12': '8.333333%',\n '2/12': '16.666667%',\n '3/12': '25%',\n '4/12': '33.333333%',\n '5/12': '41.666667%',\n '6/12': '50%',\n '7/12': '58.333333%',\n '8/12': '66.666667%',\n '9/12': '75%',\n '10/12': '83.333333%',\n '11/12': '91.666667%',\n full: '100%',\n screen: '100vw',\n min: 'min-content',\n max: 'max-content',\n fit: 'fit-content',\n }),\n willChange: {\n auto: 'auto',\n scroll: 'scroll-position',\n contents: 'contents',\n transform: 'transform',\n },\n zIndex: {\n auto: 'auto',\n 0: '0',\n 10: '10',\n 20: '20',\n 30: '30',\n 40: '40',\n 50: '50',\n },\n },\n plugins: [],\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return getAllConfigs;\n }\n});\nconst _configfull = /*#__PURE__*/ _interop_require_default(require(\"../../stubs/config.full.js\"));\nconst _featureFlags = require(\"../featureFlags\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction getAllConfigs(config) {\n var _config_presets;\n const configs = ((_config_presets = config === null || config === void 0 ? void 0 : config.presets) !== null && _config_presets !== void 0 ? _config_presets : [\n _configfull.default\n ]).slice().reverse().flatMap((preset)=>getAllConfigs(preset instanceof Function ? preset() : preset));\n const features = {\n // Add experimental configs here...\n respectDefaultRingColorOpacity: {\n theme: {\n ringColor: ({ theme })=>({\n DEFAULT: \"#3b82f67f\",\n ...theme(\"colors\")\n })\n }\n },\n disableColorOpacityUtilitiesByDefault: {\n corePlugins: {\n backgroundOpacity: false,\n borderOpacity: false,\n divideOpacity: false,\n placeholderOpacity: false,\n ringOpacity: false,\n textOpacity: false\n }\n }\n };\n const experimentals = Object.keys(features).filter((feature)=>(0, _featureFlags.flagEnabled)(config, feature)).map((feature)=>features[feature]);\n return [\n config,\n ...experimentals,\n ...configs\n ];\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return resolveConfig;\n }\n});\nconst _resolveConfig = /*#__PURE__*/ _interop_require_default(require(\"../util/resolveConfig\"));\nconst _getAllConfigs = /*#__PURE__*/ _interop_require_default(require(\"../util/getAllConfigs\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction resolveConfig(...configs) {\n let [, ...defaultConfigs] = (0, _getAllConfigs.default)(configs[0]);\n return (0, _resolveConfig.default)([\n ...configs,\n ...defaultConfigs\n ]);\n}\n","let resolveConfig = require('./lib/public/resolve-config')\nmodule.exports = (resolveConfig.__esModule ? resolveConfig : { default: resolveConfig }).default\n","let colors = require('./lib/public/colors')\nmodule.exports = (colors.__esModule ? colors : { default: colors }).default\n","import * as TailwindColors from \"tailwindcss/colors\"\n\nexport const BrandColors = {\n 50: \"#FCE3E4\",\n 100: \"#F9CDCE\",\n 200: \"#F39699\",\n 300: \"#ED6368\",\n 400: \"#E72C32\",\n 500: \"#C4161C\",\n 600: \"#9C1216\",\n 700: \"#770D11\",\n 800: \"#4E090B\",\n 900: \"#290506\",\n}\n\nconst customColors = {\n onprimary: TailwindColors.white,\n warning: TailwindColors.amber,\n error: TailwindColors.rose,\n info: TailwindColors.cyan,\n success: TailwindColors.lime,\n primary: TailwindColors.sky,\n brand: BrandColors,\n}\n\nexport const CustomColors = {\n ...customColors,\n // Warning\n warning: customColors.warning[\"500\"],\n \"warning-darken\": customColors.warning[\"600\"],\n \"warning-lighten\": customColors.warning[\"400\"],\n // Success\n success: customColors.success[\"500\"],\n \"success-darken\": customColors.success[\"600\"],\n \"success-lighten\": customColors.success[\"400\"],\n // Error\n error: customColors.error[\"500\"],\n \"error-darken\": customColors.error[\"600\"],\n \"error-lighten\": customColors.error[\"400\"],\n // Info\n info: customColors.info[\"500\"],\n \"info-darken\": customColors.info[\"600\"],\n \"info-lighten\": customColors.info[\"400\"],\n // Primary\n primary: customColors.primary[\"500\"],\n \"primary-darken\": customColors.primary[\"600\"],\n \"primary-lighten\": customColors.primary[\"400\"],\n // Surfaces\n onsurface: TailwindColors.slate[\"500\"],\n onbackground: TailwindColors.slate[\"700\"],\n surface: TailwindColors.slate[\"50\"],\n background: TailwindColors.white,\n}\n\nexport default {\n prefix: \"e-\",\n corePlugins: {\n preflight: false,\n },\n content: [\"./src/**/*.{html,js,vue,ts}\"],\n theme: {\n extend: {\n colors: CustomColors,\n maxWidth: {\n \"1/12\": \"8.333333333%\",\n \"2/12\": \"16.666666666%\",\n \"3/12\": \"25%\",\n \"4/12\": \"33.333333333%\",\n \"5/12\": \"41.666666667%\",\n \"6/12\": \"50%\",\n \"7/12\": \"58.333333334%\",\n \"8/12\": \"66.666666666%\",\n \"9/12\": \"75%\",\n \"10/12\": \"83.333333334%\",\n \"11/12\": \"91.666666666%\",\n \"12/12\": \"100%\",\n },\n },\n fontSize: {\n xs: \"0.75rem\",\n sm: \"0.875rem\",\n base: \"1rem\",\n lg: \"1.125rem\",\n xl: \"1.25rem\",\n \"2xl\": \"1.5rem\",\n \"3xl\": \"1.875rem\",\n \"4xl\": \"2.25rem\",\n \"5xl\": \"3rem\",\n \"6xl\": \"3.75rem\",\n \"7xl\": \"4.5rem\",\n \"8xl\": \"6rem\",\n \"9xl\": \"8rem\",\n },\n },\n plugins: [],\n safelist: [\n {\n pattern: /e-w-(full|auto)/,\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"],\n },\n {\n pattern: /e-grow/,\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"],\n },\n {\n pattern: /e-basis-(\\d{1,2}\\/\\d{1,2}|full|auto|0)/,\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"],\n },\n {\n pattern: /^!?e-max-w-(\\d{1,2}\\/\\d{1,2})/,\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"],\n },\n {\n pattern: /e-offset-(1[0-2]|[1-9])/,\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"],\n },\n {\n pattern: /e-items-(start|center|end|baseline|stretch)/,\n },\n {\n pattern: /e-self-(start|center|end|baseline|stretch)/,\n },\n {\n pattern:\n /e-justify-(around|between|center|end|evenly|normal|start|stretch)/,\n variants: [\"lg\", \"md\", \"sm\", \"xs\", \"xl\"],\n },\n {\n pattern:\n /e-content-(around|baseline|between|center|end|evenly|normal|start|stretch)/,\n },\n ],\n}\n","import resolveConfig from \"tailwindcss/resolveConfig\"\nimport tailwindConfig from \"../config\"\nimport { Size, BaseColor } from \"@/types\"\n\nexport const fullConfig = resolveConfig(tailwindConfig) as any\n\nexport const TextSizes = fullConfig.theme.fontSize\n\nexport const Colors = fullConfig.theme.colors\n\nexport const BadgeSizes = [\n Size.dot,\n Size.xs,\n Size.sm,\n Size.md,\n Size.lg,\n Size.xl,\n] as const\n\nexport const AvatarSizes = [\n Size.xs,\n Size.sm,\n Size.md,\n Size.lg,\n Size.xl,\n Size[\"2xl\"],\n] as const\n\nexport const IconSizes = [\n Size.xs,\n Size.sm,\n Size.md,\n Size.base,\n Size.lg,\n Size.xl,\n Size[\"2xl\"],\n Size[\"3xl\"],\n Size[\"4xl\"],\n Size[\"5xl\"],\n Size[\"6xl\"],\n Size[\"7xl\"],\n Size[\"8xl\"],\n Size[\"9xl\"],\n] as const\n\nexport const BadgeColors = [\n BaseColor.warning,\n BaseColor.error,\n BaseColor.info,\n BaseColor.success,\n BaseColor.primary,\n BaseColor.default,\n] as const\n\nexport const EVENTS = [\n \"play\",\n \"pause\",\n \"ended\",\n \"loadeddata\",\n \"waiting\",\n \"playing\",\n \"timeupdate\",\n \"canplay\",\n \"canplaythrough\",\n \"statechanged\",\n]\n\nexport default {}\n","\nimport Vue, { PropType } from \"vue\"\nimport { IconSizes } from \"@/constants\"\nimport { BaseColor, Size, TailwindColorClass, TIconSize } from \"@/types\"\n\nexport default Vue.extend({\n name: \"EIcon\",\n props: {\n icon: {\n type: String,\n default: \"\",\n },\n color: {\n type: String as PropType<TailwindColorClass>,\n default: BaseColor.default,\n },\n size: {\n type: String as PropType<TIconSize>,\n default: Size.sm,\n },\n },\n computed: {\n sizes(): Record<Size, string> {\n return IconSizes.reduce((acc, s) => {\n return {\n ...acc,\n [s]: `e-text-${s}`,\n }\n }, {}) as Record<Size, string>\n },\n iconClasses(): string[] {\n const sizeClasses = this.sizes[this.size] || this.sizes[Size.sm]\n const iconClasses = `${\n this.icon?.split(\" \")?.length > 1 ? this.icon : `fa fa-${this.icon}`\n }`\n const color = this.color\n\n return [\n \"e-inline-flex e-items-center e-justify-center e-rounded-full\",\n color,\n iconClasses,\n sizeClasses,\n ]\n },\n },\n})\n","\nimport Vue, { PropType } from \"vue\"\nimport { Size } from \"@/types\"\nimport { TextSizes, Colors } from \"@/constants\"\n\nexport default Vue.extend({\n name: \"ESpinner\",\n props: {\n dark: {\n type: Boolean,\n default: false,\n },\n color: {\n type: Boolean,\n default: true,\n },\n animationDuration: {\n type: [Number, String],\n default: 1000,\n },\n size: {\n type: String as PropType<Size>,\n default: Size.base,\n },\n opacity: {\n type: [String, Number],\n default: 1,\n },\n },\n data() {\n return {\n sizes: TextSizes,\n colors: Colors,\n }\n },\n computed: {\n computedSize(): number {\n return this.sizes[Size[this.size]] || this.size || this.sizes[Size.base]\n },\n fill(): { primary: string; secondary: string } {\n let fill = {\n primary: this.colors.brand[500],\n secondary: this.colors.neutral[300],\n }\n\n if (this.dark && !this.color) {\n fill = {\n primary: this.colors.neutral[100],\n secondary: this.colors.neutral[100],\n }\n }\n\n if (!this.dark && this.color) {\n fill = {\n primary: this.colors.brand[500],\n secondary: this.colors.neutral[950],\n }\n }\n\n if (!this.dark && !this.color) {\n fill = {\n primary: this.colors.neutral[200],\n secondary: this.colors.neutral[200],\n }\n }\n\n return fill\n },\n },\n methods: {\n getNthPathStyle(index: number) {\n const animationDuration =\n typeof this.animationDuration === \"string\"\n ? Number.parseInt(this.animationDuration)\n : this.animationDuration\n\n return {\n animationDuration: `${this.animationDuration}ms`,\n animationDelay: `${(index / 10) * animationDuration}ms`,\n fill: `${this.fill[index % 2 === 0 ? \"primary\" : \"secondary\"]}`,\n }\n },\n },\n})\n","\nimport Vue, { PropType } from \"vue\"\nimport { FlexAlignContent, FlexAlignItems, FlexJustifyContent } from \"@/types\"\n\nexport default Vue.extend({\n props: {\n align: {\n type: String as PropType<FlexAlignItems>,\n default: undefined,\n },\n alignContent: {\n type: String as PropType<FlexAlignContent>,\n default: undefined,\n },\n justify: {\n type: String as PropType<FlexJustifyContent>,\n default: undefined,\n },\n justifyXs: {\n type: String as PropType<FlexJustifyContent>,\n default: undefined,\n },\n justifySm: {\n type: String as PropType<FlexJustifyContent>,\n default: undefined,\n },\n justifyMd: {\n type: String as PropType<FlexJustifyContent>,\n default: undefined,\n },\n justifyLg: {\n type: String as PropType<FlexJustifyContent>,\n default: undefined,\n },\n justifyXl: {\n type: String as PropType<FlexJustifyContent>,\n default: undefined,\n },\n noGutters: {\n type: Boolean as PropType<boolean>,\n default: false,\n },\n },\n computed: {\n justifyClasses(): Record<string, boolean> {\n return {\n [`e-justify-${this.justify}`]: !!this.justify,\n [`xs:e-justify-${this.justifySm}`]: !!this.justifySm,\n [`sm:e-justify-${this.justifySm}`]: !!this.justifySm,\n [`md:e-justify-${this.justifyMd}`]: !!this.justifyMd,\n [`lg:e-justify-${this.justifyLg}`]: !!this.justifyLg,\n [`xl:e-justify-${this.justifyXl}`]: !!this.justifyXl,\n }\n },\n rowClasses(): Record<string, boolean> {\n return {\n ...(this.align ? { [`e-items-${this.align}`]: true } : {}),\n ...(this.alignContent\n ? { [`e-content-${this.alignContent}`]: true }\n : {}),\n ...(this.noGutters ? { [\"e-row--no-gutters\"]: true } : {}),\n ...this.justifyClasses,\n }\n },\n },\n})\n","\nimport Vue, { PropType } from \"vue\"\nimport { FlexAlignSelf } from \"@/types\"\n\nexport default Vue.extend({\n props: {\n alignSelf: {\n type: String as PropType<FlexAlignSelf>,\n default: \"auto\",\n },\n cols: {\n type: [Boolean, String, Number] as PropType<boolean | string | number>,\n default: undefined,\n },\n lg: {\n type: [Boolean, String, Number] as PropType<boolean | string | number>,\n default: undefined,\n },\n md: {\n type: [Boolean, String, Number] as PropType<boolean | string | number>,\n default: undefined,\n },\n offset: {\n type: [String, Number] as PropType<string | number>,\n default: undefined,\n },\n offsetLg: {\n type: [String, Number] as PropType<string | number>,\n default: undefined,\n },\n offsetMd: {\n type: [String, Number] as PropType<string | number>,\n default: undefined,\n },\n offsetSm: {\n type: [String, Number] as PropType<string | number>,\n default: undefined,\n },\n offsetXs: {\n type: [String, Number] as PropType<string | number>,\n default: undefined,\n },\n offsetXl: {\n type: [String, Number] as PropType<string | number>,\n default: undefined,\n },\n sm: {\n type: [Boolean, String, Number] as PropType<boolean | string | number>,\n default: undefined,\n },\n xs: {\n type: [Boolean, String, Number] as PropType<boolean | string | number>,\n default: undefined,\n },\n xl: {\n type: [Boolean, String, Number] as PropType<boolean | string | number>,\n default: undefined,\n },\n },\n computed: {\n colClasses(): Record<string, boolean> {\n return {\n // Align self\n ...(this.alignSelf ? { [`e-self-${this.alignSelf}`]: true } : {}),\n\n // cols=\"auto\"\n [this.autoClasses(\"xs:\", this.xs)]: this.isSizePropAuto(this.xs),\n [this.autoClasses(\"sm:\", this.sm)]: this.isSizePropAuto(this.sm),\n [this.autoClasses(\"md:\", this.md)]: this.isSizePropAuto(this.md),\n [this.autoClasses(\"lg:\", this.lg)]: this.isSizePropAuto(this.lg),\n [this.autoClasses(\"xl:e\", this.xl)]: this.isSizePropAuto(this.xl),\n [this.autoClasses(\"\", this.cols)]: this.isSizePropAuto(this.cols, true),\n\n // cols=\"12\"\n \"xs:e-basis-full xs:!e-max-w-12/12\": this.xs === 12 || this.xs === \"12\",\n \"sm:e-basis-full sm:!e-max-w-12/12\": this.sm === 12 || this.sm === \"12\",\n \"md:e-basis-full md:!e-max-w-12/12\": this.md === 12 || this.md === \"12\",\n \"lg:e-basis-full lg:!e-max-w-12/12\": this.lg === 12 || this.lg === \"12\",\n \"xl:e-basis-full xl:!e-max-w-12/12\": this.xl === 12 || this.xl === \"12\",\n \"e-basis-full e-max-w-12/12\": this.cols === 12 || this.cols === \"12\",\n\n // cols=\"n\"\n [`xs:e-basis-${this.xs}/12 xs:!e-max-w-${this.xs}/12`]:\n this.isSizePropertyNumeric(this.xs),\n [`sm:e-basis-${this.sm}/12 sm:!e-max-w-${this.sm}/12`]:\n this.isSizePropertyNumeric(this.sm),\n [`md:e-basis-${this.md}/12 md:!e-max-w-${this.md}/12`]:\n this.isSizePropertyNumeric(this.md),\n [`lg:e-basis-${this.lg}/12 lg:!e-max-w-${this.lg}/12`]:\n this.isSizePropertyNumeric(this.lg),\n [`xl:e-basis-${this.xl}/12 xl:!e-max-w-${this.xl}/12`]:\n this.isSizePropertyNumeric(this.xl),\n [`e-basis-${this.cols}/12 !e-max-w-${this.cols}/12`]:\n this.isSizePropertyNumeric(this.cols),\n\n // offset=\"n\"\n [`xs:e-offset-${this.offsetXs}`]: this.offsetXs !== undefined,\n [`sm:e-offset-${this.offsetSm}`]: this.offsetSm !== undefined,\n [`md:e-offset-${this.offsetMd}`]: this.offsetMd !== undefined,\n [`lg:e-offset-${this.offsetLg}`]: this.offsetLg !== undefined,\n [`xl:e-offset-${this.offsetXl}`]: this.offsetXl !== undefined,\n [`e-offset-${this.offset}`]: this.offset !== undefined,\n }\n },\n },\n methods: {\n autoClasses(prefix: string, value: boolean | string | number) {\n const basis = value === \"auto\" ? \"auto\" : \"0\"\n const grow = value === \"auto\" ? \"-0\" : \"\"\n const width = value === \"auto\" ? \"auto\" : \"full\"\n\n return `${prefix}e-basis-${basis} ${prefix}e-grow${grow} ${prefix}e-w-${width}`\n },\n isSizePropAuto(\n prop: boolean | string | number | undefined,\n acceptUndefined = false\n ) {\n return (\n prop === \"auto\" ||\n prop === 0 ||\n prop === \"0\" ||\n (acceptUndefined && !prop)\n )\n },\n isSizePropertyNumeric(prop: boolean | string | number | undefined) {\n const n = Number.parseInt(prop as string)\n\n return prop !== \"auto\" && !isNaN(n) && n >= 1 && n < 12\n },\n },\n})\n","export function isFullScreen() {\n return !!(\n document.fullscreenElement ||\n document.mozFullScreenElement ||\n document.webkitFullscreenElement ||\n document.msFullscreenElement\n )\n}\n\nexport function makeFullScreen(element: HTMLElement) {\n if (isFullScreen()) {\n return new Promise((resolve) => resolve())\n }\n\n if (element.requestFullscreen) {\n return element?.requestFullscreen()\n } else if (element.mozRequestFullScreen) {\n return element?.mozRequestFullScreen()\n } else if (element.webkitRequestFullScreen) {\n return element?.webkitRequestFullScreen()\n } else if (element.msRequestFullscreen) {\n return element?.msRequestFullscreen()\n }\n}\n\nexport function exitFullScreen() {\n if (!isFullScreen()) {\n return new Promise((resolve) => resolve())\n }\n\n if (document.exitFullscreen) {\n return document.exitFullscreen()\n } else if (document.mozCancelFullScreen) {\n return document.mozCancelFullScreen()\n } else if (document.webkitCancelFullScreen) {\n return document.webkitCancelFullScreen()\n } else if (document.msExitFullscreen) {\n return document.msExitFullscreen()\n }\n}\n","\nimport Vue, { PropType } from \"vue\"\nimport { makeFullScreen, exitFullScreen } from \"@/utils\"\nimport ESpinner from \"@/components/ESpinner.vue\"\n// types:\nexport type VideoSource = {\n type: string\n src: string\n}\n\n// Helper functions\nconst leadingZeroFormatter = new Intl.NumberFormat(undefined, {\n minimumIntegerDigits: 2,\n})\n\n// List of events so we can bind them on mount\nexport const VIDEO_PLAYER_EVENTS = [\n \"play\",\n \"pause\",\n \"ended\",\n \"loadeddata\",\n \"waiting\",\n \"playing\",\n \"timeupdate\",\n \"canplay\",\n \"canplaythrough\",\n \"statechanged\",\n \"error\",\n]\n\nconst formatDuration = (time: number) => {\n const seconds = Math.floor(time % 60)\n const minutes = Math.floor(time / 60) % 60\n const hours = Math.floor(time / 3600)\n if (hours === 0) {\n return `${minutes}:${leadingZeroFormatter.format(seconds)}`\n } else {\n return `${hours}:${leadingZeroFormatter.format(\n minutes\n )}:${leadingZeroFormatter.format(seconds)}`\n }\n}\n\nexport default Vue.extend({\n name: \"VideoPlayer\",\n components: {\n ESpinner,\n },\n props: {\n sources: {\n type: [Array, String] as PropType<VideoSource[] | string>,\n required: true,\n },\n videoListeners: {\n type: Object as PropType<Partial<HTMLVideoElement>>,\n default: () => ({}),\n },\n videoOptions: {\n type: Object as PropType<Partial<HTMLVideoElement>>,\n default: () => ({}),\n },\n },\n data() {\n return {\n playing: false,\n percentagePlayed: 0,\n videoLength: \"0:00\",\n duration: 0,\n videoDuration: 0,\n currentTime: \"0:00\",\n realtime: 0,\n isScrubbing: false,\n wasPaused: false,\n isFullscreen: false,\n isFinished: false,\n isLoading: true,\n isError: false,\n }\n },\n computed: {\n sourceItems() {\n return (\n Array.isArray(this.sources) ? this.sources : [{ src: this.sources }]\n ) as VideoSource[]\n },\n hasStartedOrFinished(): boolean {\n return (\n (this.isFinished || this.realtime <= 0.1) &&\n !this.isLoading &&\n !this.isLooped()\n )\n },\n withControls() {\n const videoOptions = this.videoOptions as Partial<HTMLVideoElement>\n\n return videoOptions?.controls === false ? \"hide\" : \"\"\n },\n },\n mounted() {\n this.bindEvents()\n this.initializePlayer()\n this.initializeFullscreenListeners()\n },\n destroyed() {\n this.unbindEvents()\n this.destroyPlayer()\n this.removeFullscreenListeners()\n },\n\n methods: {\n handle404Error() {\n this.isError = true\n this.isLoading = false\n this.playing = false\n },\n bindEvents() {\n VIDEO_PLAYER_EVENTS.forEach((event) => {\n this.bindVideoEvent(event)\n })\n },\n unbindEvents() {\n VIDEO_PLAYER_EVENTS.forEach((event) => {\n this.unbindVideoEvent(event)\n })\n },\n bindVideoEvent(which: string) {\n const player = this.$refs.player as HTMLVideoElement\n const timelineContainer = this.$refs.timelineContainer as HTMLDivElement\n player.addEventListener(\n which,\n (event) => {\n if (which === \"loadeddata\") {\n this.videoLength = formatDuration(player.duration)\n }\n\n if (which === \"timeupdate\") {\n this.percentagePlayed = (player.currentTime / player.duration) * 100\n timelineContainer.style.setProperty(\n \"--progress-position\",\n this.percentagePlayed.toString()\n )\n }\n\n this.$emit(which, { event, player: this })\n },\n true\n )\n },\n unbindVideoEvent(which: string) {\n const player = this.$refs.player as HTMLVideoElement\n const timelineContainer = this.$refs.timelineContainer as HTMLDivElement\n player.addEventListener(\n which,\n (event) => {\n if (which === \"loadeddata\") {\n this.videoLength = formatDuration(player.duration)\n }\n\n if (which === \"timeupdate\") {\n this.percentagePlayed = (player.currentTime / player.duration) * 100\n timelineContainer.style.setProperty(\n \"--progress-position\",\n this.percentagePlayed.toString()\n )\n }\n\n this.$emit(which, { event, player: this })\n },\n true\n )\n },\n initializePlayer() {\n const playerRef = this.$refs.player as HTMLVideoElement\n if (!playerRef) {\n return\n }\n if (playerRef.autoplay) {\n this.setPlaying(true)\n }\n document.addEventListener(\"mouseup\", this.handleScrubbingOnMouseEnd)\n document.addEventListener(\"keydown\", this.handleKeyDown)\n },\n destroyPlayer() {\n window.removeEventListener(\"keydown\", this.handleKeyDown)\n document.removeEventListener(\"mouseup\", this.handleScrubbingOnMouseEnd)\n },\n removeFullscreenListeners() {\n if (\n document.fullscreenEnabled ||\n document.webkitFullscreenEnabled ||\n document.mozFullScreenEnabled ||\n document.msFullscreenEnabled\n ) {\n document.removeEventListener(\n \"fullscreenchange\",\n this.handleFullscreenChange\n )\n document.removeEventListener(\n \"webkitfullscreenchange\",\n this.handleFullscreenChange\n )\n document.removeEventListener(\n \"mozfullscreenchange\",\n this.handleFullscreenChange\n )\n document.removeEventListener(\n \"MSFullscreenChange\",\n this.handleFullscreenChange\n )\n } else {\n console.log(\"Fullscreen API is not supported in this browser.\")\n }\n },\n initializeFullscreenListeners() {\n if (\n document.fullscreenEnabled ||\n document.webkitFullscreenEnabled ||\n document.mozFullScreenEnabled ||\n document.msFullscreenEnabled\n ) {\n document.addEventListener(\n \"fullscreenchange\",\n this.handleFullscreenChange\n )\n document.addEventListener(\n \"webkitfullscreenchange\",\n this.handleFullscreenChange\n )\n document.addEventListener(\n \"mozfullscreenchange\",\n this.handleFullscreenChange\n )\n document.addEventListener(\n \"MSFullscreenChange\",\n this.handleFullscreenChange\n )\n } else {\n console.log(\"Fullscreen API is not supported in this browser.\")\n }\n },\n handleFullscreenChange() {\n this.isFullscreen =\n document.fullscreenElement ||\n document.mozFullScreenElement ||\n document.webkitFullscreenElement ||\n document.msFullscreenElement ||\n (window.innerWidth == screen.width &&\n window.innerHeight == screen.height)\n },\n\n isLooped() {\n const player = this.$refs.player as HTMLVideoElement\n\n return player.loop\n },\n handleScrubbingOnMouseEnd(e: MouseEvent) {\n if (this.isScrubbing) {\n this.toggleScrubbing(e)\n }\n },\n handleEnded() {\n this.isFinished = true\n this.playing = false\n },\n handleLoading() {\n this.isLoading = false\n },\n play() {\n const playerRef = this.$refs.player as HTMLVideoElement\n if (!playerRef) {\n return\n }\n const playPromise = playerRef.play()\n if (playPromise !== undefined) {\n playerRef\n .play()\n .then(() => this.setPlaying(true))\n .catch(console.error)\n }\n },\n pause() {\n const playerRef = this.$refs.player as HTMLVideoElement\n if (!playerRef) {\n return\n }\n playerRef.pause()\n this.setPlaying(false)\n },\n togglePlay() {\n if (this.playing) {\n this.pause()\n } else {\n this.play()\n }\n },\n setPlaying(state: boolean) {\n this.playing = state\n },\n seekToPercentage(percentage: number) {\n const playerRef = this.$refs.player as HTMLVideoElement\n if (!playerRef) {\n return\n }\n const currentTime = (percentage / 100) * playerRef.duration\n playerRef.currentTime = currentTime\n },\n convertTimeToDuration(seconds: number) {\n // @ts-ignore\n return [parseInt((seconds / 60) % 60, 10), parseInt(seconds % 60, 10)]\n .join(\":\")\n .replace(/\\b(\\d)\\b/g, \"0$1\")\n },\n\n closeFullscreenMode() {\n if (document.fullscreenElement) {\n exitFullScreen().then(() => {\n this.isFullscreen = false\n console.log(\"Exited fullscreen\")\n })\n\n this.isFullscreen = false\n }\n },\n openFullscreenMode() {\n const element = this.$refs.videoContainer as HTMLDivElement\n if (element) {\n makeFullScreen(element).then(() => {\n this.isFullscreen = true\n })\n this.isFullscreen = true\n }\n },\n toggleFullscreenMode() {\n if (this.isFullscreen) {\n this.closeFullscreenMode()\n } else {\n this.openFullscreenMode()\n }\n },\n\n getDuration() {\n const player = this.$refs.player as HTMLVideoElement\n this.videoLength = formatDuration(player.duration)\n this.videoDuration = player.duration\n },\n handleTimeUpdate() {\n const player = this.$refs.player as HTMLVideoElement\n const timelineContainer = this.$refs.timelineContainer as HTMLDivElement\n if (!player || !timelineContainer) {\n return\n }\n this.currentTime = formatDuration(player.currentTime)\n this.realtime = player.currentTime\n const percent = Number(this.realtime) / Number(this.videoDuration)\n timelineContainer.style.setProperty(\n \"--progress-position\",\n percent.toString()\n )\n },\n handleTimelineUpdate(e: MouseEvent) {\n const player = this.$refs.player as HTMLVideoElement\n if (!document.body.contains(player)) {\n return\n }\n const timelineContainer = this.$refs.timelineContainer as HTMLDivElement\n const rect = timelineContainer.getBoundingClientRect()\n const percent =\n Math.min(Math.max(0, e.x - rect.x), rect.width) / rect.width\n timelineContainer.style.setProperty(\n \"--preview-position\",\n percent.toString()\n )\n if (this.isScrubbing) {\n e.preventDefault()\n timelineContainer.style.setProperty(\n \"--progress-position\",\n percent.toString()\n )\n }\n },\n skip(duration = 5) {\n const player = this.$refs.player as HTMLVideoElement\n\n player.currentTime += duration\n },\n async toggleScrubbing(e: MouseEvent) {\n const timelineContainer = this.$refs.timelineContainer as HTMLDivElement\n const videoContainer = this.$refs.videoContainer as HTMLDivElement\n const player = this.$refs.player as HTMLVideoElement\n if (!player) {\n return\n }\n const rect = timelineContainer.getBoundingClientRect()\n const percent =\n Math.min(Math.max(0, e.x - rect.x), rect.width) / rect.width\n this.isScrubbing = (e.buttons & 1) === 1\n videoContainer.classList.toggle(\"scrubbing\", this.isScrubbing)\n if (this.isScrubbing) {\n this.wasPaused = player.paused\n await player.pause()\n this.handleTimelineUpdate(e)\n\n return\n }\n this.realtime = percent * this.videoDuration\n player.currentTime = percent * this.videoDuration\n if (this.wasPaused) {\n return\n }\n const playPromise = player.play()\n // @see issue: https://developer.chrome.com/blog/play-request-was-interrupted/\n if (playPromise !== undefined) {\n playPromise\n .then(() => this.handleTimelineUpdate(e))\n .catch(console.error)\n }\n },\n\n handleKeyDown(e: KeyboardEvent) {\n const tagName = document.activeElement?.tagName.toLowerCase()\n if (tagName === \"input\") {\n return\n }\n switch (e.key.toLowerCase()) {\n case \" \":\n if (tagName === \"button\") {\n return\n }\n this.togglePlay()\n break\n case \"k\":\n this.togglePlay()\n break\n case \"escape\":\n e.preventDefault()\n this.closeFullscreenMode()\n this.isFullscreen = false\n\n break\n case \"f\":\n this.openFullscreenMode()\n this.isFullscreen = true\n\n break\n }\n },\n },\n})\n","import * as d3 from \"d3\"\nimport { TimelineAxis, TimelineAxesConfig } from \"@/types\"\n\nconst getFormattedDay = (d: Date) => {\n const day = d3.utcFormat(\"%_d\")(d)\n const daySuffixes: { [key: string]: string } = {\n [\"1\"]: \"st\",\n [\"2\"]: \"nd\",\n [\"3\"]: \"rd\",\n }\n\n const daySuffix = daySuffixes[day.charAt(1)] || \"th\"\n\n return `${day}${daySuffix}`\n}\n\nconst getFormattedDayNoEndOfMonth = (d: Date) => {\n const nextDay = new Date(\n Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate() + 1)\n )\n const isEndOfTheMonth = nextDay.getUTCDate() === 1\n\n if (isEndOfTheMonth) {\n return \"\"\n }\n\n return d3.utcFormat(\"%-d\")(d)\n}\n\nconst getFormattedHour = (d: Date) => {\n return [\"0\", \" 0\", \"00\"].includes(d3.utcFormat(\"%H\")(d))\n ? \"\"\n : `${d3.utcFormat(\"%H\")(d)}h`\n}\n\nconst getFormattedHourMinute = (d: Date) => {\n const HH_MM = d3.utcFormat(\"%H:%M\")(d)\n\n return HH_MM === \"00:00\" ? \"\" : HH_MM\n}\n\nconst getFormattedMinuteSecond = (d: Date) => {\n return d3.utcFormat(\"%M:%S\")(d)\n}\n\nconst getFormattedOverviewMinuteSecond = (d: Date) => {\n const HH_MM_SS = d3.utcFormat(\"%Hh%Mm\")(d)\n\n return `${HH_MM_SS}`\n}\n\nconst getFormattedOverviewHour = (d: Date) => {\n const hour = getFormattedHourMinute(d)\n const day = getFormattedDay(d)\n const month = d3.utcFormat(\"%B\")(d)\n\n return hour || `${month} ${day}`\n}\n\nconst getFormattedDayHourMinute = (d: Date) => {\n const HH_MM = getFormattedHourMinute(d)\n const hour = Number.parseInt(d3.utcFormat(\"%H\")(d))\n const day = getFormattedDay(d)\n const month = d3.utcFormat(\"%B\")(d)\n\n if (HH_MM && hour % 6 === 0) {\n return `${month} ${day} ${HH_MM}`\n }\n\n return getFormattedOverviewHour(d)\n}\n\nconst filterHourDivisibleBy = (n: number) => {\n return (d: Date) => {\n const hour = d3.utcFormat(\"%H\")(d)\n const minute = d3.utcFormat(\"%M\")(d)\n\n return !(minute === \"00\" && Number.parseInt(hour) % n === 0)\n }\n}\n\nconst filterMinutesDivisibleBy = (n: number) => {\n return (d: Date) => {\n const minute = d3.utcFormat(\"%M\")(d)\n\n return Number.parseInt(minute) % n !== 0\n }\n}\n\nconst filterMinutesSecondsDivisibleBy = (n: number) => {\n return (d: Date) => {\n const minute = d3.utcFormat(\"%M\")(d)\n const second = d3.utcFormat(\"%S\")(d)\n\n return Number.parseInt(minute) % n !== 0 && Number.parseInt(second) === 0\n }\n}\n\n/**\n * Precision of the timeline ticks\n * (measured in Hours per Pixel)\n */\nconst Precision = {\n _10_seconds: 0.000025,\n _20_seconds: 0.0001,\n _30_seconds: 0.00015,\n _1_minute: 0.0003,\n _2_minutes: 0.00075,\n _5_minutes: 0.002,\n _15_minutes: 0.005,\n _30_minutes: 0.01,\n _1_hour: 0.025,\n _2_hours: 0.05,\n _3_hours: 0.1,\n _4_hours: 0.15,\n _6_hours: 0.25,\n _1_day: 1,\n _2_days: 2,\n _1_month: 8,\n _1_month_abbr: 13,\n _1_month_letter: 22,\n _3_months: 33,\n infinity: Infinity,\n}\n\n/**\n * Map of formats and ticks intervals for the Timeline axis(s) by type.\n */\nexport const defaultAxesConfig: TimelineAxesConfig = {\n [TimelineAxis.overview]: [\n {\n precision: Precision._30_seconds,\n interval: d3.utcMinute.every(2),\n format: getFormattedOverviewMinuteSecond,\n },\n {\n precision: Precision._1_minute,\n interval: d3.utcMinute.every(5),\n format: getFormattedOverviewMinuteSecond,\n },\n {\n precision: Precision._2_minutes,\n interval: d3.utcMinute.every(10),\n format: getFormattedOverviewHour,\n },\n {\n precision: Precision._5_minutes,\n interval: d3.utcMinute.every(20),\n format: getFormattedDayHourMinute,\n },\n {\n precision: Precision._15_minutes,\n interval: d3.utcHour,\n format: getFormattedDayHourMinute,\n },\n {\n precision: Precision._30_minutes,\n interval: d3.utcHour.every(2),\n format: getFormattedDayHourMinute,\n },\n {\n precision: Precision._2_hours,\n interval: d3.utcHour.every(6),\n format: (d: Date) => {\n const hour = getFormattedHourMinute(d)\n const day = getFormattedDay(d)\n const month = d3.utcFormat(\"%B\")(d)\n\n return hour || `${month} ${day}`\n },\n },\n {\n precision: Precision._3_hours,\n interval: d3.utcHour.every(12),\n format: getFormattedOverviewHour,\n },\n {\n precision: Precision._6_hours,\n interval: d3.utcHour.every(24),\n format: (d: Date) => {\n const day = getFormattedDay(d)\n const abbreviatedMonth = d3.utcFormat(\"%b\")(d)\n\n return `${abbreviatedMonth} ${day}`\n },\n },\n {\n precision: Precision._2_days,\n interval: d3.utcMonth,\n format: (d: Date) => {\n const startOfTheYear = d.getUTCMonth() === 0 && d.getUTCDate() === 1\n const format = startOfTheYear ? \"%Y – %B\" : \"%B\"\n\n return d3.utcFormat(format)(d)\n },\n },\n {\n precision: Precision.infinity,\n interval: d3.utcYear,\n format: \"%Y\",\n },\n ],\n [TimelineAxis.detailed]: [\n {\n precision: Precision._10_seconds,\n interval: d3.utcSecond.every(10),\n format: getFormattedMinuteSecond,\n },\n {\n precision: Precision._20_seconds,\n interval: d3.utcSecond\n .every(20)\n ?.filter(filterMinutesSecondsDivisibleBy(2)),\n format: getFormattedMinuteSecond,\n },\n {\n precision: Precision._30_seconds,\n interval: d3.utcSecond\n .every(30)\n ?.filter(filterMinutesSecondsDivisibleBy(2)),\n format: getFormattedMinuteSecond,\n },\n {\n precision: Precision._1_minute,\n interval: d3.utcMinute.filter(filterMinutesDivisibleBy(5)),\n format: getFormattedHourMinute,\n },\n {\n precision: Precision._2_minutes,\n interval: d3.utcMinute.every(2)?.filter(filterMinutesDivisibleBy(10)),\n format: getFormattedHourMinute,\n },\n {\n precision: Precision._5_minutes,\n interval: d3.utcMinute.every(5)?.filter(filterMinutesDivisibleBy(20)),\n format: getFormattedHourMinute,\n },\n {\n precision: Precision._15_minutes,\n interval: d3.utcMinute.every(15)?.filter(filterHourDivisibleBy(1)),\n format: getFormattedHourMinute,\n },\n {\n precision: Precision._30_minutes,\n interval: d3.utcMinute.every(30)?.filter(filterHourDivisibleBy(2)),\n format: getFormattedHourMinute,\n },\n {\n precision: Precision._1_hour,\n interval: d3.utcHour.filter(filterHourDivisibleBy(6)),\n format: getFormattedHour,\n },\n {\n precision: Precision._2_hours,\n interval: d3.utcHour.every(2)?.filter(filterHourDivisibleBy(6)),\n format: getFormattedHour,\n },\n {\n precision: Precision._3_hours,\n interval: d3.utcHour.every(3)?.filter(filterHourDivisibleBy(12)),\n format: getFormattedHour,\n },\n {\n precision: Precision._4_hours,\n interval: d3.utcHour.every(4),\n format: getFormattedHour,\n },\n {\n precision: Precision._6_hours,\n interval: d3.utcHour.every(6),\n format: getFormattedHour,\n },\n {\n precision: Precision._1_day,\n interval: d3.utcDay,\n format: getFormattedDayNoEndOfMonth,\n },\n {\n precision: Precision._2_days,\n interval: d3.utcDay.every(2),\n format: getFormattedDayNoEndOfMonth,\n },\n {\n precision: Precision._1_month,\n interval: d3.utcMonth,\n format: \"%B\",\n },\n {\n precision: Precision._1_month_abbr,\n interval: d3.utcMonth,\n format: \"%b\",\n },\n {\n precision: Precision._1_month_letter,\n interval: d3.utcMonth,\n format: (d: Date) => d3.utcFormat(\"%B\")(d).charAt(0),\n },\n {\n precision: Precision._3_months,\n interval: d3.utcMonth.every(3),\n format: \"Q%q\",\n },\n {\n precision: Precision.infinity,\n interval: d3.utcMonth.every(3),\n format: \"\",\n },\n ],\n [TimelineAxis.detailedBackground]: [\n {\n precision: Precision._10_seconds,\n interval: d3.utcSecond,\n format: \"\",\n },\n {\n precision: Precision._20_seconds,\n interval: d3.utcSecond.every(5),\n format: \"\",\n },\n {\n precision: Precision._30_seconds,\n interval: d3.utcSecond.every(10),\n format: \"\",\n },\n {\n precision: Precision._1_minute,\n interval: d3.utcSecond.every(20),\n format: \"\",\n },\n {\n precision: Precision._2_minutes,\n interval: d3.utcSecond.every(30),\n format: \"\",\n },\n {\n precision: Precision._5_minutes,\n interval: d3.utcMinute,\n format: \"\",\n },\n {\n precision: Precision._15_minutes,\n interval: d3.utcMinute.every(3),\n format: \"\",\n },\n {\n precision: Precision._30_minutes,\n interval: d3.utcMinute.every(6),\n format: \"\",\n },\n {\n precision: Precision._1_hour,\n interval: d3.utcMinute.every(15),\n format: \"\",\n },\n {\n precision: Precision._2_hours,\n interval: d3.utcMinute.every(30),\n format: \"\",\n },\n {\n precision: Precision._3_hours,\n interval: d3.utcHour,\n format: \"\",\n },\n {\n precision: Precision._4_hours,\n interval: d3.utcHour,\n format: \"\",\n },\n {\n precision: Precision._6_hours,\n interval: d3.utcMinute.every(120),\n format: \"\",\n },\n {\n precision: Precision._1_day,\n interval: d3.utcHour.every(8),\n format: \"\",\n },\n {\n precision: Precision._2_days,\n interval: d3.utcHour.every(12),\n format: \"\",\n },\n {\n precision: Precision._1_month,\n interval: d3.utcDay.filter((d: Date) => {\n const dayOfMonth = d.getUTCDate()\n const daysInMonth = new Date(\n d.getUTCFullYear(),\n d.getUTCMonth() + 1,\n 0\n ).getUTCDate()\n const fifthOfMonth = Math.ceil(daysInMonth / 5) // 1/4 of the month\n\n return (\n dayOfMonth === fifthOfMonth ||\n dayOfMonth === 2 * fifthOfMonth ||\n dayOfMonth === 3 * fifthOfMonth ||\n dayOfMonth === 4 * fifthOfMonth\n )\n }),\n format: \"\",\n },\n {\n precision: Precision._1_month_abbr,\n interval: d3.utcDay.filter((d: Date) => {\n const dayOfMonth = d.getUTCDate()\n const daysInMonth = new Date(\n d.getUTCFullYear(),\n d.getUTCMonth() + 1,\n 0\n ).getUTCDate()\n const quarterOfTheMonth = Math.ceil(daysInMonth / 4) // 1/4 of the month\n\n return (\n dayOfMonth === quarterOfTheMonth ||\n dayOfMonth === 2 * quarterOfTheMonth ||\n dayOfMonth === 3 * quarterOfTheMonth\n )\n }),\n format: \"\",\n },\n {\n precision: Precision._1_month_letter,\n interval: d3.utcDay.filter((d: Date) => {\n const dayOfMonth = d.getUTCDate()\n const daysInMonth = new Date(\n d.getUTCFullYear(),\n d.getUTCMonth() + 1,\n 0\n ).getUTCDate()\n const halfOfTheMonth = Math.ceil(daysInMonth / 2) // 1/4 of the month\n\n return dayOfMonth === halfOfTheMonth\n }),\n format: \"\",\n },\n {\n precision: Precision._3_months,\n interval: d3.utcMonth,\n format: \"\",\n },\n {\n precision: Precision.infinity,\n interval: d3.utcMonth,\n format: \"\",\n },\n ],\n}\n","import { DirectiveOptions } from \"vue\"\n\nexport interface ObservedElement extends HTMLElement {\n __resizeObserver__?: ResizeObserver\n}\n\nconst ResizeObserverDirective: DirectiveOptions = {\n bind(el, binding) {\n const { value: callback } = binding\n\n if (typeof callback !== \"function\") {\n console.error(\"Invalid callback function provided to v-resize-observer\")\n\n return\n }\n\n const observer: ResizeObserver = new ResizeObserver(\n (entries: ResizeObserverEntry[]) => {\n if (!entries[0]) {\n return\n }\n\n callback(entries[0])\n }\n )\n\n observer.observe(el)\n ;(el as ObservedElement).__resizeObserver__ = observer\n },\n unbind(el) {\n if ((el as ObservedElement).__resizeObserver__) {\n ;(el as ObservedElement).__resizeObserver__!.disconnect()\n delete (el as ObservedElement).__resizeObserver__\n }\n },\n}\n\nexport default ResizeObserverDirective\n","import ResizeObserverDirective from \"@/directives/resize-observer\"\n\nexport const DirectivesMap = [\n {\n name: \"resize-observer\",\n definition: ResizeObserverDirective,\n },\n]\n\nexport { ResizeObserverDirective }\n","\nimport * as d3 from \"d3\"\nimport Vue, { PropType } from \"vue\"\nimport { D3ZoomEvent, Axis, ZoomBehavior } from \"d3\"\nimport { defaultAxesConfig } from \"@/components/ETimeline.config\"\nimport {\n TimelineAxesConfig,\n TimelineAxis,\n TimelineTicksConfig,\n Timestamp,\n} from \"@/types\"\nimport { ResizeObserverDirective } from \"@/directives\"\nimport moment from \"moment-timezone\"\n\nexport type TimelineBarEvent = {\n timestamp: string | Date\n color?: string\n text?: string\n [key: string]: any\n}\n\nexport type TimelineRangeEvent = {\n startDate: string | Date\n endDate: string | Date\n [key: string]: any\n}\n\nexport type TimelineCountEvent = {\n timestamp: string | Date\n count: number\n [key: string]: any\n}\n\nexport type TimelineEvent =\n | TimelineBarEvent\n | TimelineRangeEvent\n | TimelineCountEvent\n\nexport enum TimelineChartType {\n bars = \"bars\",\n lineGraph = \"lineGraph\",\n}\n\nexport type TimelineEventsGroup = {\n label: string\n color: string\n bgColor?: string\n isLoading?: Boolean\n isHidden?: Boolean\n chartType?: TimelineChartType\n events: Array<TimelineEvent>\n}\n\nexport type TimelineEventsByType = {\n [eventsType: string]: TimelineEventsGroup\n}\n\nconst classes = {\n eventGroup: \"event-group\",\n eventGroupBg: \"event-group-bg\",\n eventRect: \"event-rect\",\n eventRectText: \"event-rect-text\",\n labelBg: \"label-bg\",\n labelBgFill: \"label-bg-fill\",\n labelText: \"label-text\",\n loadingIndicator: \"loading-indicator\",\n xAxis: \"x-axis\",\n selectedTimestampCursor: \"selected-timestamp-cursor\",\n lineGraphGroup: \"line-graph-group\",\n lineGraphPath: \"line-graph-path\",\n lineGraphHoverZone: \"line-graph-hover-zone\",\n lineGraphDot: \"line-graph-dot\",\n curtain: \"curtain\",\n}\n\nconst defs = {\n areaGradient: \"area-gradient\",\n loadingGradient: \"loading-gradient\",\n}\n\nexport default Vue.extend({\n name: \"ETimeline\",\n directives: {\n resizeObserver: ResizeObserverDirective,\n },\n props: {\n eventsGroups: {\n type: Object as PropType<TimelineEventsByType>,\n default: () => ({}),\n },\n xAxesConfig: {\n type: Object as PropType<TimelineAxesConfig>,\n default: () => defaultAxesConfig,\n },\n dark: {\n type: Boolean,\n default: false,\n },\n startDate: {\n type: String,\n default: undefined,\n },\n endDate: {\n type: String,\n default: undefined,\n },\n selectedTimestamp: {\n type: String,\n default: undefined,\n },\n showEventTooltip: {\n type: Boolean,\n default: true,\n },\n disableZoom: {\n type: Boolean,\n default: false,\n },\n normalizeEvents: {\n type: Boolean,\n default: true,\n },\n flattenLineGraphEnds: {\n type: Boolean,\n default: true,\n },\n curtains: {\n type: Boolean,\n default: false,\n },\n showLabels: {\n type: Boolean,\n default: true,\n },\n rectMinWidth: {\n type: Number,\n default: 1,\n },\n barHeight: {\n type: Number,\n default: 18,\n },\n barYPadding: {\n type: Number,\n default: 0,\n },\n lineGraphMinHeight: {\n type: Number,\n default: 60,\n },\n minZoom: {\n type: Number,\n default: 0.0001,\n },\n maxZoom: {\n type: Number,\n default: 850_000,\n },\n cursorTimestamp: {\n type: [String, undefined] as PropType<string | undefined>,\n default: undefined,\n },\n },\n data() {\n return {\n tooltip: null as unknown as HTMLElement,\n cursor: null as unknown as HTMLElement,\n timeline: null as unknown as HTMLElement,\n selectedTimestampCursor: null as unknown as HTMLElement,\n svg: null as unknown as d3.Selection<SVGSVGElement, any, any, any>,\n axesContainer: null as unknown as d3.Selection<\n SVGGElement,\n any,\n any,\n any\n >,\n xAxes: {} as unknown as Record<TimelineAxis, Axis<Date>>,\n timeScale: null as unknown as d3.ScaleTime<any, any, unknown>,\n initialTimeScale: null as unknown as d3.ScaleTime<any, any, unknown>,\n currentTimeScaleDensity: null as unknown as number,\n zoomBehavior: null as unknown as ZoomBehavior<SVGSVGElement, unknown>,\n isMouseDown: false,\n axisHeight: 22,\n isHoveringEvent: false,\n hoveredEvent: null as unknown as TimelineEvent,\n isHoveringTimeline: false,\n hoveredTimestamp: null as unknown as string,\n eventTooltipStyle: {},\n hoveredEventType: null as unknown as string,\n utcOffset: 0,\n lastTransform: { x: 0, k: 1 },\n transformDiff: { translation: 0, scale: 1 },\n yScale: null as unknown as d3.ScaleLinear<any, any>,\n hoveredCounts: [] as { count: number; type: string }[],\n countsByTimestamp: {} as Record<string, Record<string, number>>,\n dotsByTimestamp: {} as Record<\n string,\n d3.Selection<SVGCircleElement, any, any, any>[]\n >,\n visibleFrom: null as unknown as Date,\n visibleTo: null as unknown as Date,\n curtainHandleWidth: 5,\n leftCurtainWidth: 50,\n rightCurtainWidth: 50,\n isHoveringCurtain: false,\n isDraggingCurtain: false,\n characterWidth: 7.5,\n textPadding: 5,\n }\n },\n computed: {\n barChartHeight(): number {\n return this.barHeight + this.barYPadding\n },\n classes(): Record<string, string | Record<string, boolean>> {\n return {\n wrapper: {\n \"e-border-gray-700 e-timeline--dark\": this.dark,\n \"e-border-gray-300\": !this.dark,\n \"e-timeline--dragging\": this.isInteractingWithCurtain,\n },\n background: this.dark ? \"e-bg-gray-900\" : \"e-bg-gray-50\",\n tooltipSlot: this.dark\n ? \"e-bg-gray-900 e-text-white e-border-gray-700\"\n : \"e-bg-gray-100 e-text-gray-700 e-border-gray-300\",\n eventTooltipSlot: this.dark\n ? \"e-bg-gray-900 e-text-white e-border-gray-700\"\n : \"e-bg-gray-100 e-text-gray-700 e-border-gray-300\",\n }\n },\n lineGraphGroups(): TimelineEventsByType {\n return Object.entries(this.filteredEventsGroups).reduce(\n (acc, [type, eventsGroup]) => {\n if (eventsGroup.chartType === TimelineChartType.lineGraph) {\n return { ...acc, [type]: eventsGroup }\n } else {\n return acc\n }\n },\n {}\n )\n },\n lineGraphChartHeight(): number {\n if (!this.showLabels) {\n return this.lineGraphMinHeight\n }\n\n const combinedLabelsHeight =\n Object.keys(this.lineGraphGroups).length * this.barChartHeight\n\n return Math.max(this.lineGraphMinHeight, combinedLabelsHeight)\n },\n barGroups(): TimelineEventsByType {\n return Object.entries(this.filteredEventsGroups).reduce(\n (acc, [type, eventsGroup]) => {\n if (eventsGroup.chartType !== TimelineChartType.lineGraph) {\n return { ...acc, [type]: eventsGroup }\n } else {\n return acc\n }\n },\n {}\n )\n },\n hasLineGraphChart(): boolean {\n return Object.keys(this.lineGraphGroups).length > 0\n },\n labelRectWidth(): number {\n const eventsGroups = Object.values(\n this.eventsGroups\n ) as TimelineEventsGroup[]\n const maxLabelLength = eventsGroups.reduce((acc, eventsGroup) => {\n return Math.max(acc, eventsGroup.label?.length)\n }, 0)\n\n return maxLabelLength * this.characterWidth + 2 * this.textPadding\n },\n combinedXAxesHeight(): number {\n const axesCount = Object.keys(this.xAxesConfig).length - 1\n\n return this.axisHeight * axesCount\n },\n timelineHeight(): number {\n const barGroupsCount = Object.keys(this.barGroups).length\n const lineGraphChartHeight = this.hasLineGraphChart\n ? this.lineGraphChartHeight\n : 0\n const eventsGouprsHeight = this.barChartHeight * barGroupsCount\n\n return (\n this.combinedXAxesHeight + lineGraphChartHeight + eventsGouprsHeight\n )\n },\n filteredEventsGroups(): TimelineEventsByType {\n const entries = Object.entries(this.eventsGroups).filter(\n ([_type, group]) => {\n return !(group as TimelineEventsGroup).isHidden\n }\n )\n\n return Object.fromEntries(entries) as TimelineEventsByType\n },\n allEventsSorted(): TimelineEvent[] {\n const flattenedEvents = (\n Object.values(this.filteredEventsGroups) as TimelineEventsGroup[]\n )\n .map((e: TimelineEventsGroup) => e.events)\n .flat()\n\n return flattenedEvents.sort((a, b) =>\n new Date(a.timestamp || a.startDate) >\n new Date(b.timestamp || b.startDate)\n ? 1\n : -1\n )\n },\n oldestEvent(): TimelineEvent {\n let oldestEvent\n if (this.allEventsSorted.length > 1) {\n oldestEvent = this.allEventsSorted[0]\n } else {\n const DAY = 86_400_000\n const yesterday = new Date(new Date().getTime() - DAY)\n\n oldestEvent = {\n timestamp: yesterday,\n }\n }\n\n return oldestEvent\n },\n latestEvent(): TimelineEvent {\n let latestEvent\n if (this.allEventsSorted.length > 1) {\n latestEvent = this.allEventsSorted[this.allEventsSorted.length - 1]\n } else {\n const defaultMaxDate = new Date()\n\n latestEvent = {\n timestamp: defaultMaxDate,\n }\n }\n\n return latestEvent\n },\n allLineChartTimestamps(): string[] {\n const allTimestamps = new Set()\n Object.values(this.lineGraphGroups).forEach((group) => {\n group.events.forEach((event) => {\n allTimestamps.add(event.timestamp)\n })\n })\n\n return Array.from(allTimestamps).sort() as unknown as string[]\n },\n placeholderLineChartGroup(): TimelineEvent[] {\n return this.fillTimeGaps(\n this.allLineChartTimestamps.map((timestamp) => ({\n timestamp,\n count: 0,\n }))\n )\n },\n normalizedLineGraphGroups(): TimelineEventsByType {\n return Object.entries(this.lineGraphGroups).reduce(\n (acc, [type, group]) => {\n return {\n ...acc,\n [type]: {\n ...group,\n events: this.getNormalizedEvents(group.events),\n },\n }\n },\n {}\n )\n },\n isInteractingWithCurtain(): boolean {\n return this.isHoveringCurtain || this.isDraggingCurtain\n },\n },\n watch: {\n dark() {\n this.handleDarkModeChange()\n },\n selectedTimestamp() {\n this.repositionSelectedTimestampCursor()\n },\n startDate() {\n this.zoomToStartAndEndDates()\n },\n endDate() {\n this.zoomToStartAndEndDates()\n },\n eventsGroups() {\n this.updateAndRedrawTimeline()\n },\n cursorTimestamp() {\n if (this.cursorTimestamp) {\n this.hoveredTimestamp = this.cursorTimestamp\n const timestamp = this.tzStringToDate(this.hoveredTimestamp)\n const cursorX = this.timeScale(timestamp)\n this.cursor.style.left = cursorX + \"px\"\n this.isHoveringTimeline = true\n } else {\n this.isHoveringTimeline = false\n }\n },\n },\n mounted() {\n this.initTimeline()\n },\n beforeDestroy() {\n document.removeEventListener(\"mouseup\", this.handleDocumentMouseUp)\n },\n methods: {\n initTimeline(startDate?: string, endDate?: string) {\n this.initRefs()\n\n if (!this.timeline) {\n setTimeout(this.initTimeline, 500)\n\n return\n }\n\n this.initSvg()\n this.initDefs()\n this.initUtcOffset()\n this.initTimeScale(startDate, endDate)\n this.initXAxes()\n this.initYScale()\n this.initZoomBehavior()\n this.drawEventsGroups()\n this.initCurtains()\n this.emitCurtainChange()\n this.initSelectedTimestampCursor()\n this.registerEventsListeners()\n this.emitVisibleInterval()\n },\n initRefs() {\n this.tooltip = this.$refs.tooltip as HTMLElement\n this.cursor = this.$refs.cursor as HTMLElement\n this.timeline = this.$refs.timelineContainer as HTMLElement\n this.selectedTimestampCursor = this.$refs.selectedTimestamp as HTMLElement\n },\n initSvg() {\n this.svg = d3\n .select(this.timeline)\n .append(\"svg\")\n .attr(\"width\", this.timeline.offsetWidth)\n .attr(\"height\", this.timelineHeight) as d3.Selection<\n SVGSVGElement,\n any,\n any,\n any\n >\n },\n initDefs() {\n const defsSelection = this.svg.append(\"defs\")\n\n Object.entries(this.filteredEventsGroups).forEach(\n ([type, eventsGroup]) => {\n const { color, chartType } = eventsGroup\n const gradient = defsSelection\n .append(\"linearGradient\")\n .attr(\"id\", `${defs.loadingGradient}-${type}`)\n .attr(\"x1\", \"0%\")\n .attr(\"y1\", \"0%\")\n .attr(\"x2\", \"100%\")\n .attr(\"y2\", \"0%\")\n\n gradient\n .append(\"stop\")\n .attr(\"offset\", \"0%\")\n .attr(\"stop-color\", color)\n .attr(\"stop-opacity\", \"0\")\n gradient\n .append(\"stop\")\n .attr(\"offset\", \"50%\")\n .attr(\"stop-color\", color)\n .attr(\"stop-opacity\", \"0.6\")\n gradient\n .append(\"stop\")\n .attr(\"offset\", \"100%\")\n .attr(\"stop-color\", color)\n .attr(\"stop-opacity\", \"0\")\n\n if (chartType === TimelineChartType.lineGraph) {\n const areaGradient = defsSelection\n .append(\"linearGradient\")\n .attr(\"id\", `${defs.areaGradient}-${type}`)\n .attr(\"x1\", \"0%\")\n .attr(\"x2\", \"0%\")\n .attr(\"y1\", \"0%\")\n .attr(\"y2\", \"100%\")\n areaGradient\n .append(\"stop\")\n .attr(\"offset\", \"0%\")\n .style(\"stop-color\", color)\n .style(\"stop-opacity\", 0.3)\n areaGradient\n .append(\"stop\")\n .attr(\"offset\", \"38%\")\n .style(\"stop-color\", color)\n .style(\"stop-opacity\", 0)\n }\n }\n )\n },\n initUtcOffset() {\n const sampleTimestamp =\n this.startDate ||\n this.oldestEvent.timestamp ||\n this.oldestEvent.startDate\n this.utcOffset = moment.parseZone(sampleTimestamp).utcOffset()\n },\n initTimeScale(start?: string, end?: string) {\n const startDate =\n start ||\n this.startDate ||\n this.oldestEvent.timestamp ||\n this.oldestEvent.startDate\n const endDate =\n end ||\n this.endDate ||\n this.latestEvent.timestamp ||\n this.latestEvent.endDate\n\n this.timeScale = d3\n .scaleTime()\n .domain([this.tzStringToDate(startDate), this.tzStringToDate(endDate)])\n .range([0, this.timeline.offsetWidth])\n\n this.initialTimeScale = this.timeScale.copy()\n this.updateCurrentTimeScaleDensity()\n },\n initXAxes() {\n let i = 0\n const padding = 5\n for (const axisName in this.xAxesConfig) {\n const axis = this.createAxis(axisName as TimelineAxis)\n this.xAxes[axisName as TimelineAxis] = axis\n this.svg\n .append(\"g\")\n .classed(classes.xAxis, true)\n .classed(`${classes.xAxis}-${axisName}`, true)\n .attr(\"transform\", `translate(0, ${i || padding})`)\n .call(axis)\n\n this.translateTicksText(axisName)\n i += this.axisHeight\n }\n },\n initYScale() {\n this.yScale = d3.scaleLinear().range([this.lineGraphChartHeight, 0])\n const flattenedCounts = Object.values(this.lineGraphGroups)\n .map((g) => g.events)\n .flat()\n const maxCount = d3.max(flattenedCounts, (d) => d.count)\n this.yScale.domain([0, maxCount])\n },\n initZoomBehavior() {\n if (this.disableZoom) {\n return\n }\n\n this.zoomBehavior = d3\n .zoom<SVGSVGElement, unknown>()\n .on(\"zoom\", this.handleZoom)\n .scaleExtent([this.minZoom, this.maxZoom])\n\n this.svg.call(this.zoomBehavior)\n },\n initSelectedTimestampCursor() {\n this.svg\n .append(\"line\")\n .attr(\"class\", classes.selectedTimestampCursor)\n .style(\"stroke\", \"red\")\n .style(\"stroke-width\", \"1px\")\n .style(\"opacity\", 0)\n .attr(\"x1\", 0)\n .attr(\"x2\", 0)\n .attr(\"y1\", 0)\n .attr(\"y2\", this.timelineHeight)\n this.repositionSelectedTimestampCursor()\n },\n updateAndRedrawTimeline() {\n const { startDate, endDate } = this.getCurrentTimeBounds()\n this.clearTimeline()\n this.initTimeline(startDate, endDate)\n },\n clearTimeline() {\n if (this.svg) {\n this.svg.remove()\n }\n this.countsByTimestamp = {}\n },\n repositionSelectedTimestampCursor() {\n const cursor = this.svg.select(`.${classes.selectedTimestampCursor}`)\n if (!this.selectedTimestamp) {\n cursor.style(\"opacity\", 0)\n\n return\n }\n const timestamp = this.tzStringToDate(this.selectedTimestamp)\n const cursorX = this.timeScale(timestamp)\n if (!isNaN(cursorX)) {\n cursor.attr(\"x1\", cursorX).attr(\"x2\", cursorX).style(\"opacity\", 0.5)\n } else {\n cursor.style(\"opacity\", 0)\n }\n },\n updateCurrentTimeScaleDensity() {\n const timeAtPixel0 = this.timeScale.invert(0).getTime()\n const timeAtPixel1 = this.timeScale.invert(1).getTime()\n const HOUR = 3_600_000\n\n this.currentTimeScaleDensity = (timeAtPixel1 - timeAtPixel0) / HOUR\n },\n registerEventsListeners() {\n document.addEventListener(\"mouseup\", this.handleDocumentMouseUp)\n this.svg.on(\"mousedown\", this.handleMouseDown)\n this.svg.on(\"mousemove\", this.handleMouseMove)\n this.svg.on(\"click\", this.handleClick)\n this.svg.on(\"mouseleave\", this.handleMouseLeave)\n },\n emitVisibleInterval() {\n const visibleFrom = this.timeScale.invert(0)\n const visibleTo = this.timeScale.invert(this.timeline.offsetWidth)\n\n if (\n this.visibleFrom &&\n this.visibleFrom.getTime() === visibleFrom.getTime() &&\n this.visibleTo &&\n this.visibleTo.getTime() === visibleTo.getTime()\n ) {\n return\n }\n\n this.visibleFrom = visibleFrom\n this.visibleTo = visibleTo\n\n const fromDate = this.dateToTzString(this.visibleFrom)\n const toDate = this.dateToTzString(this.visibleTo)\n\n this.$emit(\"visible-interval-change\", {\n fromDate,\n toDate,\n transform: this.transformDiff,\n })\n },\n createAxis(axisName: TimelineAxis) {\n const axis = this.xAxesConfig[axisName as TimelineAxis]\n const config = this.getAxisTicksConfig(axis)\n\n return d3\n .axisBottom<Date>(this.timeScale)\n .ticks(config.interval)\n .tickFormat(config.formatFn)\n .tickSizeOuter(0)\n .tickSizeInner(this.timelineHeight)\n },\n getAxisTicksConfig(configs: TimelineTicksConfig[]) {\n const { interval, format } = configs.find(\n (config) =>\n config.precision >= this.currentTimeScaleDensity && config.interval\n ) as TimelineTicksConfig\n\n const formatFn = (d: Date): string => {\n return typeof format === \"function\"\n ? format(d)\n : d3.timeFormat(format)(d)\n }\n\n return {\n formatFn,\n interval,\n }\n },\n handleResize({ contentRect }: ResizeObserverEntry) {\n if (this.svg) {\n this.svg.attr(\"width\", contentRect.width)\n this.updateCurtainsOnResize(contentRect.width)\n }\n },\n handleDarkModeChange() {\n if (!this.showLabels) {\n return\n }\n\n const that = this\n this.svg.selectAll(`.${classes.labelBg}`).each(function () {\n const label = d3.select(this)\n label.style(\"fill\", that.dark ? \"black\" : \"white\")\n })\n this.svg.selectAll(`.${classes.labelBgFill}`).each(function () {\n const bgFill = d3.select(this)\n const color = (bgFill.node()! as HTMLElement).dataset.color\n bgFill\n .style(\"fill\", that.getLabelBackgroundColor(color as string))\n .style(\"stroke\", that.getTextFillColor(color as string))\n .style(\"stroke-width\", 0.25)\n })\n this.svg.selectAll(`.${classes.labelText}`).each(function () {\n const text = d3.select(this)\n const color = (text.node()! as HTMLElement).dataset.color\n text.style(\"fill\", that.getTextFillColor(color as string))\n })\n },\n handleMouseDown() {\n this.isMouseDown = true\n },\n handleDocumentMouseUp() {\n this.isMouseDown = false\n },\n handleMouseLeave() {\n this.isHoveringTimeline = false\n this.$emit(\"hovered-timestamp\", undefined)\n },\n handleMouseMove(event: MouseEvent) {\n if (this.isMouseDown) {\n return\n }\n const mouseX = event.offsetX\n const date = this.timeScale.invert(mouseX)\n this.hoveredTimestamp = this.dateToTzString(date)\n this.isHoveringTimeline = true\n this.$emit(\"hovered-timestamp\", this.hoveredTimestamp)\n this.cursor.style.left = mouseX + \"px\"\n\n if (!this.tooltip) {\n return\n }\n\n this.eventTooltipStyle = {\n left: `${mouseX}px`,\n bottom: `${this.timeline.getBoundingClientRect().height}px`,\n zIndex: 100,\n }\n this.repositionSelectedTimestampCursor()\n },\n handleClick(event: MouseEvent) {\n const mouseX = event.offsetX\n const date = this.timeScale.invert(mouseX)\n const formattedDateTz = this.dateToTzString(date)\n\n this.$emit(\"date-clicked\", formattedDateTz)\n\n if (this.isHoveringEvent) {\n this.$emit(\"event-clicked\", {\n event: this.hoveredEvent,\n type: this.hoveredEventType,\n })\n }\n },\n handleLineMouseOver(\n _event: MouseEvent,\n eventData: TimelineCountEvent,\n eventType: string\n ) {\n this.hoveredCounts = Object.entries(\n this.countsByTimestamp[`${eventData.timestamp}`]\n ).reduce((acc, entry) => {\n const [type, count] = entry\n\n return [...acc, { type, count }]\n }, [] as { type: string; count: number }[])\n this.hoveredEvent = eventData\n this.isHoveringEvent = true\n this.$emit(\"event-mouseover\", {\n eventData,\n eventType,\n hoveredCounts: this.hoveredCounts,\n })\n },\n handleLineMouseOut() {\n this.isHoveringEvent = false\n this.hoveredCounts = []\n this.$emit(\"event-mouseout\")\n },\n handleBarMouseOver(\n _event: MouseEvent,\n eventData: TimelineEvent,\n eventType: string\n ) {\n this.hoveredEvent = eventData\n this.hoveredEventType = eventType\n this.isHoveringEvent = true\n this.$emit(\"event-mouseover\", { eventData, eventType })\n },\n handleBarMouseOut() {\n this.isHoveringEvent = false\n this.hoveredEvent = null as unknown as TimelineEvent\n this.$emit(\"event-mouseout\")\n },\n handleLabelMouseOver(groupType: string) {\n d3.selectAll(`.${classes.lineGraphGroup}-${groupType}`).classed(\n `${classes.lineGraphGroup}--highlighted`,\n true\n )\n d3.selectAll(`.${classes.lineGraphGroup}-label`).classed(\n `${classes.lineGraphGroup}-label--highlighted`,\n true\n )\n },\n handleLabelMouseLeave(groupType: string) {\n d3.selectAll(`.${classes.lineGraphGroup}-${groupType}`).classed(\n `${classes.lineGraphGroup}--highlighted`,\n false\n )\n d3.selectAll(`.${classes.lineGraphGroup}-label`).classed(\n `${classes.lineGraphGroup}-label--highlighted`,\n false\n )\n },\n handleZoom(event: D3ZoomEvent<SVGSVGElement, any>) {\n const newScale = event.transform.rescaleX(this.initialTimeScale)\n this.timeScale.domain(newScale.domain())\n this.updateCurrentTimeScaleDensity()\n const scale = event.transform.k / this.lastTransform.k\n this.transformDiff = {\n scale: scale,\n translation: event.transform.x - this.lastTransform.x,\n }\n this.lastTransform = { ...event.transform }\n\n for (const axisName in this.xAxes) {\n this.rescaleAxis(axisName, newScale)\n this.translateTicksText(axisName)\n }\n this.updateBarCharts()\n this.updateLineGraphs()\n this.updateLineGraphHoverZones()\n this.repositionSelectedTimestampCursor()\n this.emitVisibleInterval()\n this.emitCurtainChange()\n },\n emitCurtainChange() {\n const { startDate, endDate } = this.calculateDateRangeFromCurtains()\n this.$emit(\"curtain-range-change\", {\n startDate: new Date(startDate).toISOString(),\n endDate: new Date(endDate).toISOString(),\n })\n },\n calculateDateRangeFromCurtains() {\n const timelineWidth = this.timeline.offsetWidth\n const fullRange = this.timeScale.domain()\n const totalDuration = fullRange[1].getTime() - fullRange[0].getTime()\n\n const leftDuration =\n ((this.leftCurtainWidth - this.curtainHandleWidth * 2) /\n timelineWidth) *\n totalDuration\n const rightDuration =\n ((this.rightCurtainWidth + this.curtainHandleWidth * 2) /\n timelineWidth) *\n totalDuration\n\n const startDate = new Date(fullRange[0].getTime() + leftDuration)\n const endDate = new Date(fullRange[1].getTime() - rightDuration)\n\n return { startDate, endDate }\n },\n updateCurtainsOnResize(timelineWidth: number) {\n const { startDate, endDate } = this.calculateDateRangeFromCurtains()\n const fullRange = this.timeScale.domain()\n const totalDuration = fullRange[1].getTime() - fullRange[0].getTime()\n\n const leftDuration = startDate.getTime() - fullRange[0].getTime()\n const rightDuration = fullRange[1].getTime() - endDate.getTime()\n\n this.leftCurtainWidth = (leftDuration / totalDuration) * timelineWidth\n this.rightCurtainWidth = (rightDuration / totalDuration) * timelineWidth\n\n this.svg\n .select(`.${classes.curtain}--left`)\n .attr(\"width\", this.leftCurtainWidth)\n this.svg\n .select(`.${classes.curtain}--right`)\n .attr(\n \"x\",\n timelineWidth - this.rightCurtainWidth + this.curtainHandleWidth * 2\n )\n .attr(\"width\", this.rightCurtainWidth)\n },\n handleDragStart() {\n this.isDraggingCurtain = true\n },\n handleDragEnd() {\n this.isDraggingCurtain = false\n },\n handleLeftDrag(event: d3.D3DragEvent<SVGRectElement, any, any>) {\n event.sourceEvent.stopPropagation()\n const newWidth = Math.min(\n event.x,\n this.timeline.offsetWidth - this.rightCurtainWidth\n )\n this.leftCurtainWidth = Math.max(0, newWidth)\n this.svg\n .select(`.${classes.curtain}--left`)\n .attr(\"width\", this.leftCurtainWidth)\n this.emitCurtainChange()\n },\n handleRightDrag(event: d3.D3DragEvent<SVGRectElement, any, any>) {\n event.sourceEvent.stopPropagation()\n\n const timelineWidth = this.timeline.offsetWidth\n const newWidth = Math.min(\n this.timeline.offsetWidth - event.x,\n this.timeline.offsetWidth - this.leftCurtainWidth\n )\n const newX = timelineWidth - newWidth\n this.rightCurtainWidth = Math.max(0, newWidth)\n\n this.svg\n .select(`.${classes.curtain}--right`)\n .attr(\"width\", this.rightCurtainWidth)\n .attr(\"x\", newX)\n\n this.emitCurtainChange()\n },\n zoomToStartAndEndDates() {\n const startDate =\n this.startDate ||\n this.oldestEvent.timestamp ||\n this.oldestEvent.startDate\n const endDate =\n this.endDate || this.latestEvent.timestamp || this.latestEvent.endDate\n\n const startTime = this.tzStringToDate(startDate)\n const endTime = this.tzStringToDate(endDate)\n const timelineWidth = this.timeline.offsetWidth\n const newDomain = [startTime, endTime]\n const newRange = [0, timelineWidth]\n\n this.timeScale = d3.scaleTime().domain(newDomain).range(newRange)\n this.initialTimeScale = this.timeScale.copy()\n\n this.updateCurrentTimeScaleDensity()\n for (const axisName in this.xAxes) {\n this.rescaleAxis(axisName, this.timeScale)\n this.translateTicksText(axisName)\n }\n this.updateBarCharts()\n this.updateLineGraphs()\n this.updateLineGraphHoverZones()\n this.repositionSelectedTimestampCursor()\n },\n rescaleAxis(axisName: string, newScale: d3.ScaleTime<any, any, unknown>) {\n const axis: Axis<Date> = this.xAxes[axisName as TimelineAxis]\n const ticksConfig = this.getAxisTicksConfig(\n this.xAxesConfig[axisName as TimelineAxis]\n )\n axis\n .scale(newScale)\n .ticks(ticksConfig.interval)\n .tickFormat(ticksConfig.formatFn)\n .tickSizeOuter(0)\n this.svg.select<SVGGElement>(`.${classes.xAxis}-${axisName}`).call(axis)\n },\n translateTicksText(axisName: string) {\n this.svg\n .select<SVGGElement>(`.${classes.xAxis}-${axisName}`)\n .selectAll(\".tick text\")\n .each(function () {\n let textElement = d3.select(this as SVGTextElement)\n let textBBox = (textElement.node() as SVGGraphicsElement).getBBox()\n textElement\n .attr(\"x\", textBBox.height / 2)\n .attr(\"y\", 0)\n .style(\"text-anchor\", \"start\")\n })\n },\n updateBarCharts() {\n // Update rects x position & width\n const rectsSelector = `.${classes.eventGroup} > rect.${classes.eventRect}`\n this.svg\n .selectAll<SVGRectElement, TimelineEvent>(rectsSelector)\n .attr(\"x\", this.getEventRectX)\n .attr(\"width\", this.getEventRectWidth)\n\n // Update events texts x position & ellipsis\n const eventTextSelector = `.${classes.eventGroup} > text.${classes.eventRectText}`\n this.svg\n .selectAll<SVGRectElement, TimelineEvent>(eventTextSelector)\n .attr(\"x\", (e) => this.getEventRectX(e) + this.textPadding)\n .text(this.getEventText)\n },\n updateLineGraphs() {\n Object.entries(this.lineGraphGroups).forEach(([type]) => {\n const area = d3\n .area<TimelineCountEvent>()\n .x((d) => this.timeScale(this.tzStringToDate(d.timestamp)))\n .y0(this.timelineHeight)\n .y1((d) => this.yScale(d.count))\n .curve(d3.curveMonotoneX)\n\n this.svg\n .selectAll<SVGPathElement, TimelineCountEvent[]>(\n `.${classes.lineGraphPath}-${type}`\n )\n .attr(\"d\", (d) => area(d))\n })\n },\n updateLineGraphHoverZones() {\n Object.keys(this.lineGraphGroups).forEach((type) => {\n const that = this\n this.svg\n .selectAll<SVGCircleElement, TimelineCountEvent>(\n `.${classes.lineGraphDot}-${type}`\n )\n .each(function (d) {\n d3.select(this)\n .attr(\"cx\", that.timeScale(that.tzStringToDate(d.timestamp)))\n .attr(\"cy\", that.yScale(d.count))\n })\n\n this.svg\n .selectAll<SVGRectElement, TimelineCountEvent>(\n `.${classes.lineGraphHoverZone}-${type}`\n )\n .each(function (d) {\n const x =\n that.timeScale(that.tzStringToDate(d.timestamp).getTime()) - 15\n d3.select(this)\n .attr(\"x\", x)\n .attr(\"y\", 0)\n .attr(\"width\", 30)\n .attr(\"height\", that.lineGraphChartHeight)\n })\n })\n },\n getEventRectX(d: TimelineEvent) {\n return this.timeScale(this.tzStringToDate(d.startDate || d.timestamp))\n },\n getEventRectWidth(d: TimelineEvent) {\n if (!d) {\n return 0\n }\n if (d.startDate && d.endDate) {\n const startTimestamp = new Date(d.startDate)\n const endTimestamp = new Date(d.endDate)\n const width =\n this.timeScale(endTimestamp) - this.timeScale(startTimestamp)\n\n return Math.max(width, this.rectMinWidth)\n } else {\n const oneSecondWidth = 1 / (this.currentTimeScaleDensity * 3600)\n\n return Math.max(oneSecondWidth, this.rectMinWidth)\n }\n },\n getEventText(e: TimelineEvent): string {\n const rectWidth = this.getEventRectWidth(e)\n const maxCharacters = (rectWidth - this.textPadding) / this.characterWidth\n\n if (maxCharacters < 4) {\n return \"\"\n } else if (e.text?.length <= maxCharacters) {\n return e.text\n } else {\n return `${e.text.slice(0, maxCharacters - 3)}...`\n }\n },\n initCurtains() {\n if (!this.curtains) {\n return\n }\n\n const timelineWidth = this.timeline.offsetWidth\n const timelineHeight = this.timelineHeight\n\n this.svg\n .append(\"rect\")\n .classed(`${classes.curtain} ${classes.curtain}--left`, true)\n .attr(\"width\", this.leftCurtainWidth)\n .attr(\"height\", timelineHeight + this.curtainHandleWidth * 2)\n .attr(\"y\", -this.curtainHandleWidth)\n .attr(\"x\", -this.curtainHandleWidth)\n .attr(\"fill\", \"rgba(0, 0, 0, 0.5)\")\n .on(\"mouseenter\", () => (this.isHoveringCurtain = true))\n .on(\"mouseleave\", () => (this.isHoveringCurtain = false))\n .call(\n d3\n .drag<SVGRectElement, any, any>()\n .on(\"start\", this.handleDragStart)\n .on(\"drag\", this.handleLeftDrag)\n .on(\"end\", this.handleDragEnd)\n )\n\n this.svg\n .append(\"rect\")\n .classed(`${classes.curtain} ${classes.curtain}--right`, true)\n .attr(\n \"x\",\n timelineWidth - this.rightCurtainWidth + this.curtainHandleWidth * 2\n )\n .attr(\"y\", -this.curtainHandleWidth)\n .attr(\"width\", this.rightCurtainWidth + this.curtainHandleWidth * 2)\n .attr(\"height\", timelineHeight + this.curtainHandleWidth * 2)\n .attr(\"fill\", \"rgba(0, 0, 0, 0.5)\")\n .on(\"mouseenter\", () => (this.isHoveringCurtain = true))\n .on(\"mouseleave\", () => (this.isHoveringCurtain = false))\n .call(\n d3\n .drag<SVGRectElement, any, any>()\n .on(\"start\", this.handleDragStart)\n .on(\"drag\", this.handleRightDrag)\n .on(\"end\", this.handleDragEnd)\n )\n },\n drawEventsGroups() {\n this.svg.selectAll(`g.${classes.eventGroup}`).remove()\n\n this.drawLineGraphEventsGroups()\n this.drawBarEventsGroups()\n },\n drawLineGraphEventsGroups() {\n const yOffset = this.combinedXAxesHeight\n const eventsGroups = this.normalizeEvents\n ? this.normalizedLineGraphGroups\n : this.lineGraphGroups\n\n Object.entries(eventsGroups).forEach(([type, eventsGroup]) => {\n const gElement = this.svg\n .append(\"g\")\n .classed(\n `${classes.lineGraphGroup} ${classes.lineGraphGroup}-${type}`,\n true\n )\n .attr(\"transform\", `translate(0,${yOffset})`)\n const { color, events } = eventsGroup\n\n this.drawLineGraph({\n events,\n gElement,\n color,\n type,\n })\n this.drawLineGraphHoverZones({\n events: events as TimelineCountEvent[],\n gElement,\n color,\n type,\n })\n })\n\n Object.entries(this.lineGraphGroups).forEach(\n ([type, eventsGroup], index) => {\n const { color, isLoading, label } = eventsGroup\n const labelYPosition =\n this.lineGraphChartHeight - this.barChartHeight * (index + 1)\n const loadingIndicatorYPosition =\n yOffset + this.lineGraphChartHeight - this.barChartHeight\n const labelsGElement = this.svg\n .append(\"g\")\n .classed(`${classes.lineGraphGroup}-label`, true)\n .attr(\"transform\", `translate(0,${yOffset})`)\n .on(\"mouseover\", () => this.handleLabelMouseOver(type))\n .on(\"mouseleave\", () => this.handleLabelMouseLeave(type))\n\n this.drawProgressIndicator({\n type,\n color,\n isLoading,\n yPosition: loadingIndicatorYPosition,\n })\n this.drawTextLabel({\n color,\n label,\n yPosition: labelYPosition,\n gElement: labelsGElement,\n })\n }\n )\n },\n drawLineGraph({\n events,\n gElement,\n color,\n type,\n }: {\n events: TimelineEvent[]\n gElement: d3.Selection<SVGGElement, any, any, any>\n color: string\n type: string\n }) {\n const area = d3\n .area<TimelineCountEvent>()\n .x((d) => this.timeScale(this.tzStringToDate(d.timestamp)))\n .y0(this.timelineHeight)\n .y1((d) => this.yScale(d.count))\n .curve(d3.curveMonotoneX)\n\n gElement\n .append(\"path\")\n .datum(events as TimelineCountEvent[])\n .classed(`${classes.lineGraphPath}-${type}`, true)\n .attr(\"fill\", `url(#${defs.areaGradient}-${type})`)\n .attr(\"stroke\", color)\n .attr(\"stroke-linejoin\", \"round\")\n .attr(\"stroke-linecap\", \"round\")\n .attr(\"stroke-width\", 1)\n .attr(\"d\", (d) => area(d))\n },\n drawLineGraphHoverZones({\n events,\n gElement,\n color,\n type,\n }: {\n events: TimelineCountEvent[]\n gElement: d3.Selection<SVGGElement, any, any, any>\n color: string\n type: string\n }) {\n events.forEach((event: TimelineCountEvent) => {\n const timestamp = `${event.timestamp}`\n this.countsByTimestamp[timestamp] = {\n ...(this.countsByTimestamp[timestamp] || {}),\n [type]: event.count,\n }\n\n const circle = gElement\n .append(\"circle\")\n .classed(\n `${classes.lineGraphDot} ${classes.lineGraphDot}-${type}`,\n true\n )\n .attr(\"cx\", this.timeScale(this.tzStringToDate(event.timestamp)))\n .attr(\"cy\", this.yScale(event.count))\n .attr(\"r\", 1.5)\n .attr(\"fill\", color)\n .attr(\"stroke-width\", 0)\n .datum(event)\n\n this.dotsByTimestamp[timestamp] = [\n ...(this.dotsByTimestamp[timestamp] || []),\n circle,\n ]\n\n gElement\n .append(\"rect\")\n .classed(`${classes.lineGraphHoverZone}-${type}`, true)\n .attr(\"x\", this.timeScale(this.tzStringToDate(event.timestamp)) - 15)\n .attr(\"y\", 0)\n .attr(\"width\", 30)\n .attr(\"height\", this.lineGraphChartHeight)\n .attr(\"fill\", \"transparent\")\n .datum(event)\n .on(\"mouseover\", (e) => {\n this.handleLineMouseOver(e, event, type)\n this.dotsByTimestamp[timestamp].forEach((d) =>\n d.classed(`${classes.lineGraphDot}--active`, true)\n )\n })\n .on(\"mouseout\", () => {\n this.handleLineMouseOut()\n this.dotsByTimestamp[timestamp].forEach((d) =>\n d.classed(`${classes.lineGraphDot}--active`, false)\n )\n })\n })\n },\n drawBarEventsGroups() {\n Object.entries(this.barGroups).forEach(([type, eventsGroup], index) => {\n const { color, bgColor, label, events, isLoading } =\n eventsGroup as TimelineEventsGroup\n const yOffset = this.hasLineGraphChart ? this.lineGraphChartHeight : 0\n const yPosition =\n index * this.barChartHeight + this.combinedXAxesHeight + yOffset\n\n this.drawProgressIndicator({\n yPosition,\n type,\n color,\n isLoading,\n })\n\n const gElement = this.svg\n .append(\"g\")\n .attr(\"data-color\", color)\n .classed(classes.eventGroup, true)\n .classed(`${classes.eventGroup}-${type}`, true)\n\n this.drawBackground({\n color: bgColor || color,\n gElement,\n yPosition,\n })\n this.drawBars({\n events,\n color,\n gElement,\n yPosition,\n type,\n })\n this.drawTextLabel({\n color,\n label,\n gElement,\n yPosition,\n })\n })\n },\n drawProgressIndicator({\n yPosition,\n type,\n isLoading,\n }: {\n yPosition: number\n type: string\n color: string\n isLoading: Boolean | undefined\n }) {\n const rect = this.svg\n .append(\"rect\")\n .classed(\n `${classes.loadingIndicator} ${classes.loadingIndicator}-${type}`,\n true\n )\n .attr(\"x\", 0)\n .attr(\"y\", yPosition)\n .attr(\"width\", this.timeline.offsetWidth / 3)\n .attr(\"height\", this.barChartHeight)\n .attr(\"fill\", `url(#${defs.loadingGradient}-${type})`)\n\n rect.style(\"visibility\", isLoading ? \"visible\" : \"hidden\")\n },\n drawBackground({\n color,\n yPosition,\n gElement,\n }: {\n gElement: d3.Selection<SVGGElement, any, any, any>\n yPosition: number\n color: string\n }) {\n gElement\n .append(\"rect\")\n .attr(\"class\", classes.eventGroupBg)\n .attr(\"x\", 0)\n .attr(\"y\", yPosition)\n .attr(\"width\", this.timeline.offsetWidth)\n .attr(\"height\", this.barChartHeight)\n .attr(\"fill\", d3.color(color)!.toString())\n .style(\"opacity\", 0.1)\n },\n drawBars({\n events,\n gElement,\n yPosition,\n color,\n type,\n }: {\n events: TimelineEvent[]\n gElement: d3.Selection<SVGGElement, any, any, any>\n yPosition: number\n color: string\n type: string\n }) {\n const that = this\n\n gElement\n .selectAll(classes.eventRect)\n .data(events)\n .enter()\n .append(\"rect\")\n .classed(classes.eventRect, true)\n .attr(\"x\", this.getEventRectX)\n .attr(\"y\", yPosition + this.barYPadding / 2)\n .attr(\"ry\", 1.5)\n .attr(\"rx\", 1.5)\n .attr(\"width\", this.getEventRectWidth)\n .attr(\"height\", this.barChartHeight - this.barYPadding)\n .attr(\"stroke-width\", 5)\n .attr(\"cursor\", \"pointer\")\n .attr(\"stroke\", \"#0000\")\n .style(\"fill\", (event: TimelineEvent) => event.color || color)\n .on(\"mouseover\", function (event, eventData) {\n const rect = d3.select(this)\n rect.classed(`${classes.eventRect}--hovered`, true)\n that.handleBarMouseOver(event, eventData, type)\n })\n .on(\"mouseout\", function () {\n const rect = d3.select(this)\n rect.classed(`${classes.eventRect}--hovered`, false)\n that.handleBarMouseOut()\n })\n\n // Label text\n gElement\n .selectAll(classes.eventRectText)\n .data(events.filter((e) => !!e.text))\n .enter()\n .append(\"text\")\n .attr(\"class\", classes.eventRectText)\n .attr(\"x\", (e) => this.getEventRectX(e) + this.textPadding)\n .attr(\"y\", yPosition + this.barChartHeight / 2)\n .attr(\"dy\", \"0.35em\")\n .style(\"text-anchor\", \"start\")\n .style(\"font-size\", \"12px\")\n .style(\"font-weight\", 600)\n .style(\"stroke-linejoin\", \"round\")\n .style(\"paint-order\", \"stroke\")\n .style(\"pointer-events\", \"none\")\n .style(\"fill\", (event: TimelineEvent) =>\n this.getTextFillColor(event.color || color, 0.75)\n )\n .text(this.getEventText)\n },\n drawTextLabel({\n gElement,\n yPosition,\n color,\n label,\n }: {\n gElement: d3.Selection<SVGGElement, any, any, any>\n yPosition: number\n color: string\n label: string\n }) {\n if (!this.showLabels) {\n return\n }\n\n const bg = {\n x: -5,\n y: yPosition,\n w: this.labelRectWidth,\n h: this.barChartHeight,\n radius: 3,\n }\n\n // Label rect background\n gElement\n .append(\"rect\")\n .attr(\"class\", classes.labelBg)\n .attr(\"data-color\", color)\n .attr(\"x\", bg.x)\n .attr(\"y\", bg.y)\n .attr(\"width\", bg.w)\n .attr(\"height\", bg.h)\n .attr(\"rx\", bg.radius)\n .attr(\"ry\", bg.radius)\n .style(\"fill\", this.dark ? \"#131a29\" : \"white\")\n\n // Label rect fill\n gElement\n .append(\"rect\")\n .attr(\"class\", classes.labelBgFill)\n .attr(\"data-color\", color)\n .attr(\"x\", bg.x)\n .attr(\"y\", bg.y)\n .attr(\"width\", bg.w)\n .attr(\"height\", bg.h)\n .attr(\"rx\", bg.radius)\n .attr(\"ry\", bg.radius)\n .style(\"fill\", this.getLabelBackgroundColor(color))\n .style(\"stroke\", this.getTextFillColor(color))\n .style(\"stroke-width\", 0.25)\n\n // Label text\n gElement\n .append(\"text\")\n .attr(\"class\", classes.labelText)\n .attr(\"data-color\", color)\n .attr(\"x\", 5)\n .attr(\"y\", yPosition + this.barChartHeight / 2)\n .attr(\"dy\", \"0.35em\")\n .style(\"text-anchor\", \"start\")\n .style(\"font-size\", \"12px\")\n .style(\"font-weight\", 500)\n .style(\"stroke-linejoin\", \"round\")\n .style(\"paint-order\", \"stroke\")\n .style(\"fill\", this.getTextFillColor(color))\n .text(label)\n },\n getTextFillColor(baseColor: string, k=0) {\n return (\n this.dark\n ? d3.color(baseColor)?.brighter(1.5 + k)\n : d3.color(baseColor)?.darker(2 + k)\n )!.toString()\n },\n getLabelBackgroundColor(baseColor: string) {\n let color = d3.color(baseColor)\n color!.opacity = this.dark ? 0.2 : 0.5\n\n return color!.toString()\n },\n\n tzStringToDate(timestamp: Timestamp): Date {\n return moment(timestamp).add(this.utcOffset, \"minutes\").toDate()\n },\n dateToTzString(date: Date): string {\n const userUtcOffset = new Date(date).getTimezoneOffset()\n\n return moment(date)\n .add(userUtcOffset, \"minutes\")\n .utcOffset(this.utcOffset, true)\n .format()\n },\n getCurrentTimeBounds() {\n const bounds = this.timeScale.domain() as unknown as [string, string]\n\n return { startDate: bounds[0], endDate: bounds[1] }\n },\n getFormattedTimestamp(timestamp: Timestamp): string {\n return moment.parseZone(timestamp).format(\"YYYY-MM-DDTHH:mm:ss\")\n },\n fillTimeGaps(events: TimelineEvent[]) {\n if (events.length <= 1) {\n return events\n }\n\n const toDate = (t: string) => new Date(t)\n const toMilliseconds = (t: string) => toDate(t).getTime()\n const addInterval = (date: Date, interval: number) =>\n new Date(date.getTime() + interval)\n\n const minInterval = events\n .map((event: TimelineEvent, index: number) =>\n index === 0\n ? Infinity\n : toMilliseconds(event.timestamp) -\n toMilliseconds(events[index - 1].timestamp)\n )\n .reduce(\n (min: number, interval: number) => Math.min(min, interval),\n Infinity\n )\n\n let filledEvents = events.flatMap(\n (event: TimelineEvent, index: number) => {\n const nextEvent = events[index + 1]\n\n if (!nextEvent) {\n if (this.flattenLineGraphEnds) {\n const nextTimestamp = addInterval(\n toDate(event.timestamp),\n minInterval\n )\n\n return [\n event,\n { timestamp: nextTimestamp.toISOString(), count: 0 },\n ]\n } else {\n return [event]\n }\n }\n\n const nextTimestamp = toDate(event.timestamp)\n const endTimestamp = toDate(nextEvent.timestamp)\n\n if (endTimestamp.getTime() - nextTimestamp.getTime() > minInterval) {\n const fillerBeforeNext = addInterval(endTimestamp, -minInterval)\n const fillerAfterCurrent = addInterval(nextTimestamp, minInterval)\n\n return [\n event,\n { timestamp: fillerAfterCurrent.toISOString(), count: 0 },\n { timestamp: fillerBeforeNext.toISOString(), count: 0 },\n nextEvent,\n ]\n } else {\n return [event, nextEvent]\n }\n }\n )\n\n if (this.flattenLineGraphEnds) {\n const firstTimestamp = addInterval(\n toDate(events[0].timestamp),\n -minInterval\n )\n filledEvents = [\n { timestamp: firstTimestamp.toISOString(), count: 0 },\n ...filledEvents,\n ]\n }\n\n return filledEvents\n },\n getNormalizedEvents(events: TimelineEvent[]): TimelineEvent[] {\n return this.placeholderLineChartGroup.map((defaultEvent) => {\n const actualEvent = events.find(\n (event) => event.timestamp === defaultEvent.timestamp\n )\n\n return actualEvent || defaultEvent\n })\n },\n },\n})\n","\nimport { PropType } from \"vue\"\n\nexport default {\n name: \"EVideoEmbed\",\n props: {\n videoUrl: {\n type: String,\n required: true,\n },\n platform: {\n type: String as PropType<\"youtube\" | \"vimeo\">,\n required: true,\n validator: (value: string) => [\"youtube\", \"vimeo\"].includes(value),\n },\n iframeListeners: {\n type: Object as PropType<Partial<HTMLIFrameElement>>,\n default: () => ({}),\n },\n iframeOptions: {\n type: Object,\n default: () => ({}),\n },\n },\n computed: {\n videoId(): string | undefined {\n if (this.platform === \"youtube\") {\n const regExp =\n // eslint-disable-next-line no-useless-escape\n /^.*(?:youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#\\&\\?]*).*/\n\n const match = this.videoUrl.match(regExp)\n\n return match && match[1].length === 11 ? match[1] : undefined\n } else if (this.platform === \"vimeo\") {\n const match = this.videoUrl.match(/vimeo\\.com\\/(\\d+)/)\n\n return match ? match[1] : undefined\n }\n\n return undefined\n },\n embedUrl(): string {\n if (this.platform === \"youtube\") {\n const params = new URLSearchParams({\n quality: \"1080p\",\n ...this.iframeOptions,\n })\n\n return `https://www.youtube.com/embed/${\n this.videoId\n }?${params.toString()}`\n } else if (this.platform === \"vimeo\" && this.videoId) {\n const token = this.videoUrl.split(\"/\").pop()?.split(\"?\")[0]\n const params = new URLSearchParams({\n h: token || \"\",\n quality: \"1080p\",\n ...this.iframeOptions,\n })\n\n return `https://player.vimeo.com/video/${\n this.videoId\n }?${params.toString()}`\n }\n\n return \"\"\n },\n },\n}\n","// Components\nimport EAvatar from \"@/components/EAvatar.vue\"\nimport EBadge from \"@/components/EBadge.vue\"\nimport EIcon from \"@/components/EIcon.vue\"\nimport ESpinner from \"@/components/ESpinner.vue\"\nimport ERow from \"@/components/ERow.vue\"\nimport ECol from \"@/components/ECol.vue\"\nimport EVideoPlayer from \"@/components/EVideoPlayer.vue\"\nimport ETimeline from \"@/components/ETimeline.vue\"\nimport EVideoEmbed from \"@/components/EVideoEmbed.vue\"\n// Directives\nimport { DirectivesMap } from \"@/directives\"\n\nimport { VueConstructor } from \"vue\"\n\nexport const components = {\n EAvatar,\n EBadge,\n EIcon,\n ESpinner,\n ERow,\n ECol,\n EVideoPlayer,\n ETimeline,\n EVideoEmbed,\n}\n\nexport default {\n install(Vue: VueConstructor) {\n // Register components\n Object.keys(components).forEach((name) => {\n // @ts-ignore\n Vue.component(name, components[name])\n })\n\n // Register directives\n DirectivesMap.forEach(({ name, definition }) => {\n Vue.directive(name, definition)\n })\n },\n}\n\nexport {\n EAvatar,\n EBadge,\n EIcon,\n ESpinner,\n ERow,\n ECol,\n EVideoPlayer,\n ETimeline,\n EVideoEmbed,\n}\n\nexport * from \"@/constants\"\n\nexport * from \"@/types\"\n\nexport * from \"@/utils\"\n\nexport * from \"@/directives\"\n"],"names":["Size","BaseColor","TimelineAxis","_sfc_main$8","Vue","colorClasses","sizeClasses","_sfc_main$7","Badge","exports","negateValue","value","sign","numericFunctions","fn","_default","pluginConfig","plugins","pluginName","x","create","picocolors_browserModule","_export","target","all","name","dim","_picocolors","_interop_require_default","require$$0","obj","alreadyShown","log","type","messages","key","message","input","_log","warn","version","from","to","defaults","sources","source","k","_target_hasOwnProperty","_target_hasOwnProperty1","toPath","path","openBrackets","closedBrackets","flagEnabled","issueFlagNotices","require$$1","featureFlags","config","flag","_config_future","_config_future_flag","_ref","_config_experimental","_config_experimental_flag","_ref1","experimentalFlagsEnabled","changes","s","normalizeConfig","_featureFlags","_interop_require_wildcard","_getRequireWildcardCache","nodeInterop","cacheBabelInterop","cacheNodeInterop","cache","newObj","hasPropertyDescriptor","desc","_purge_options","content","purge","safelist","blocklist","item","_config_prefix","extract","_config_purge","_config_content","_config_purge1","_config_purge_extract","_config_content1","_config_content_extract","_config_purge2","_config_purge_options","_config_content2","_config_content_options","extractors","defaultExtractor","extensions","extractor","extension","transform","_config_purge_transform","_config_content_transform","transformers","file","isPlainObject","prototype","cloneDeep","child","v","escapeCommas","className","parseColor","formatColor","_colorNames","HEX","SHORT_HEX","VALUE","SEP","ALPHA_SEP","CUSTOM_PROPERTY","RGB","HSL","loose","_match_","_match__toString","hex","_","r","g","b","a","_value_match","match","color","part","mode","alpha","hasAlpha","withAlphaValue","withAlphaVariable","_color","alphaValue","defaultValue","parsed","property","variable","properties","p","splitAtTopLevelOnly","separator","stack","parts","lastPos","isEscaped","idx","char","parseBoxShadowValue","formatBoxShadowValue","_splitAtTopLevelOnly","KEYWORDS","SPACE","LENGTH","shadow","result","seen","shadows","normalize","url","number","percentage","length","lineWidth","image","gradient","position","familyName","genericName","absoluteSize","relativeSize","_parseBoxShadowValue","require$$2","cssFunctions","isCSSFunction","placeholder","placeholderRe","isRoot","fullMatch","characterBefore","normalizeMathOperatorSpacing","vars","g1","lengthUnitsPattern","lineWidths","parsedShadows","parsedShadow","colors","images","gradientTypes","validPositions","positions","fonts","genericNames","absoluteSizes","relativeSizes","backgroundSize","_dataTypes","keywordValues","sizes","size","updateAllClasses","asValue","parseColorFormat","asColor","asLookupValue","typeMap","coerceValue","getMatchingTypes","_escapeCommas","_withAlphaVariable","_negateValue","require$$3","_validateFormalSyntax","require$$4","require$$5","selectors","updateClass","sel","resolveArbitraryValue","modifier","validate","isArbitraryValue","asNegativeValue","lookup","positiveValue","resolved","options","_options_values","splitUtilityModifier","slashIdx","oldValue","opacityValue","unwrapArbitraryModifier","tailwindConfig","_options_values1","_options_values2","_tailwindConfig_theme","_tailwindConfig_theme_opacity","_options_values_color","normalizedColor","guess","supportedTypes","splitAtFirst","delim","types","arbitraryValue","explicitType","matches","rawModifier","modifiersEnabled","utilityModifier","_options_modifiers","_options_modifiers_utilityModifier","configValue","toColorValue","maybeFunction","resolveConfig","_corePluginList","_configurePlugins","_colors","_defaults","_toPath","_normalizeConfig","require$$6","_isPlainObject","require$$7","_cloneDeep","require$$8","_pluginUtils","require$$9","require$$10","_toColorValue","require$$11","isFunction","mergeWith","customizer","merged","configUtils","scale","negativeScale","negativeValue","screens","breakpoints","valueToResolve","args","collectExtends","items","extend","mergedValue","extendValue","mergeThemes","themes","theme","mergeExtensionCustomizer","mergeExtensions","themeValue","resolveThemePath","utils","e","toPaths","pattern","prefix","newPath","resolveFunctionKeys","object","resolvePath","index","val","normalized","extractPluginConfigs","configs","allConfigs","_config_plugins","plugin","_plugin_config","resolveCorePlugins","corePluginConfigs","corePluginConfig","resolvePluginLists","pluginLists","pluginList","_t_theme","_c_plugins","t","c","config_full","getAllConfigs","_configfull","_config_presets","preset","features","experimentals","feature","_resolveConfig","_getAllConfigs","defaultConfigs","resolveConfig_1","colors_1","BrandColors","customColors","TailwindColors.white","TailwindColors.amber","TailwindColors.rose","TailwindColors.cyan","TailwindColors.lime","TailwindColors.sky","CustomColors","TailwindColors.slate","fullConfig","TextSizes","Colors","BadgeSizes","AvatarSizes","IconSizes","BadgeColors","EVENTS","_sfc_main$6","acc","iconClasses","_b","_a","_sfc_main$5","fill","animationDuration","_sfc_main$4","_sfc_main$3","prop","acceptUndefined","n","isFullScreen","makeFullScreen","element","resolve","exitFullScreen","leadingZeroFormatter","VIDEO_PLAYER_EVENTS","formatDuration","time","seconds","minutes","hours","_sfc_main$2","ESpinner","videoOptions","event","which","player","timelineContainer","playerRef","state","currentTime","percent","rect","duration","videoContainer","playPromise","tagName","getFormattedDay","d","day","d3","daySuffix","getFormattedDayNoEndOfMonth","getFormattedHour","getFormattedHourMinute","HH_MM","getFormattedMinuteSecond","getFormattedOverviewMinuteSecond","getFormattedOverviewHour","hour","month","getFormattedDayHourMinute","filterHourDivisibleBy","filterMinutesDivisibleBy","minute","filterMinutesSecondsDivisibleBy","second","Precision","defaultAxesConfig","format","_c","_d","_e","_f","_g","_h","dayOfMonth","daysInMonth","fifthOfMonth","quarterOfTheMonth","halfOfTheMonth","ResizeObserverDirective","el","binding","callback","observer","entries","DirectivesMap","classes","defs","_sfc_main$1","eventsGroup","combinedLabelsHeight","axesCount","barGroupsCount","lineGraphChartHeight","eventsGouprsHeight","_type","group","oldestEvent","latestEvent","allTimestamps","timestamp","cursorX","startDate","endDate","defsSelection","chartType","areaGradient","sampleTimestamp","moment","start","end","i","padding","axisName","axis","flattenedCounts","maxCount","cursor","timeAtPixel0","timeAtPixel1","HOUR","visibleFrom","visibleTo","fromDate","toDate","interval","contentRect","that","bgFill","text","mouseX","date","formattedDateTz","_event","eventData","eventType","entry","count","groupType","newScale","timelineWidth","fullRange","totalDuration","leftDuration","rightDuration","newWidth","newX","startTime","endTime","newDomain","newRange","ticksConfig","textElement","textBBox","rectsSelector","eventTextSelector","area","startTimestamp","endTimestamp","width","oneSecondWidth","maxCharacters","timelineHeight","yOffset","eventsGroups","gElement","events","isLoading","label","labelYPosition","loadingIndicatorYPosition","labelsGElement","circle","bgColor","yPosition","bg","baseColor","userUtcOffset","bounds","toMilliseconds","addInterval","minInterval","min","filledEvents","nextEvent","nextTimestamp","fillerBeforeNext","fillerAfterCurrent","defaultEvent","_sfc_main","regExp","params","token","components","EAvatar","EBadge","EIcon","ERow","ECol","EVideoPlayer","ETimeline","EVideoEmbed","definition"],"mappings":"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,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA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","x_google_ignoreList":[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]}
|