@commercetools-demo/puck-theme-manager 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +43 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.js +1923 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +1880 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/components/theme-editor.tsx","../src/constants.ts","../src/components/theme-preset-selector.tsx","../src/presets.ts","../src/components/import-content-types.tsx"],"sourcesContent":["export { default as ThemeManager } from './components/theme-editor';\nexport type { ThemeManagerProps } from './components/theme-editor';\n\nexport { default as ImportContentTypes } from './components/import-content-types';\nexport type { ImportContentTypesProps } from './components/import-content-types';\n\nexport { DEFAULT_THEME } from './constants';\nexport {\n themePresets,\n paradigmLabels,\n PRESET_KEYS_SELECTOR,\n buildCssVars,\n} from './presets';\nexport type { DesignParadigm } from './presets';\n\nexport type { ThemeTokens, ImportResult } from '@commercetools-demo/puck-types';\n","import React, { useEffect, useState, useCallback } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { PuckApiProvider, usePuckConfiguration } from '@commercetools-demo/puck-api';\nimport type { ThemeTokens } from '@commercetools-demo/puck-types';\nimport Card from '@commercetools-uikit/card';\nimport FlatButton from '@commercetools-uikit/flat-button';\nimport PrimaryButton from '@commercetools-uikit/primary-button';\nimport SecondaryButton from '@commercetools-uikit/secondary-button';\nimport FieldLabel from '@commercetools-uikit/field-label';\nimport NumberInput from '@commercetools-uikit/number-input';\nimport SelectInput from '@commercetools-uikit/select-input';\nimport Spacings from '@commercetools-uikit/spacings';\nimport Text from '@commercetools-uikit/text';\nimport TextInput from '@commercetools-uikit/text-input';\nimport LoadingSpinner from '@commercetools-uikit/loading-spinner';\nimport Grid from '@commercetools-uikit/grid';\nimport { DEFAULT_THEME } from '../constants';\nimport ThemePresetSelector from './theme-preset-selector';\n\nconst BORDER_RADIUS_OPTIONS = [\n { value: 'none', label: 'None' },\n { value: 'sm', label: 'Small' },\n { value: 'md', label: 'Medium' },\n { value: 'lg', label: 'Large' },\n { value: 'full', label: 'Full' },\n];\n\nconst BORDER_WIDTH_OPTIONS = [\n { value: '0', label: '0' },\n { value: '1', label: '1' },\n { value: '2', label: '2' },\n];\n\nconst BUTTON_STYLE_OPTIONS = [\n { value: 'solid', label: 'Solid' },\n { value: 'outline', label: 'Outline' },\n { value: 'ghost', label: 'Ghost' },\n];\n\nconst CARD_SHADOW_OPTIONS = [\n { value: 'none', label: 'None' },\n { value: 'sm', label: 'Small' },\n { value: 'md', label: 'Medium' },\n { value: 'lg', label: 'Large' },\n];\n\nconst HEADER_STYLE_OPTIONS = [\n { value: 'transparent', label: 'Transparent' },\n { value: 'solid', label: 'Solid' },\n { value: 'minimal', label: 'Minimal' },\n];\n\nconst SHADOW_STYLE_OPTIONS = [\n { value: 'none', label: 'None' },\n { value: 'soft', label: 'Soft' },\n { value: 'hard-offset', label: 'Hard offset' },\n { value: 'neumorphic', label: 'Neumorphic' },\n { value: 'clay', label: 'Clay' },\n { value: 'glow', label: 'Glow' },\n];\n\nconst SURFACE_BLUR_OPTIONS = [\n { value: 'none', label: 'None' },\n { value: 'sm', label: 'Small' },\n { value: 'md', label: 'Medium' },\n { value: 'lg', label: 'Large' },\n];\n\nconst FONT_WEIGHT_BASE_OPTIONS = [\n { value: '300', label: '300' },\n { value: '400', label: '400' },\n { value: '500', label: '500' },\n];\n\nconst FONT_WEIGHT_HEADING_OPTIONS = [\n { value: '400', label: '400' },\n { value: '500', label: '500' },\n { value: '700', label: '700' },\n { value: '900', label: '900' },\n];\n\nconst LETTER_SPACING_OPTIONS = [\n { value: 'tight', label: 'Tight' },\n { value: 'normal', label: 'Normal' },\n { value: 'wide', label: 'Wide' },\n { value: 'wider', label: 'Wider' },\n];\n\nconst TEXT_TRANSFORM_OPTIONS = [\n { value: 'none', label: 'None' },\n { value: 'uppercase', label: 'Uppercase' },\n];\n\nconst BORDER_STYLE_OPTIONS = [\n { value: 'solid', label: 'Solid' },\n { value: 'dashed', label: 'Dashed' },\n { value: 'double', label: 'Double' },\n];\n\nconst BACKGROUND_STYLE_OPTIONS = [\n { value: 'solid', label: 'Solid' },\n { value: 'gradient', label: 'Gradient' },\n { value: 'noise', label: 'Noise' },\n];\n\ninterface InnerProps {\n backButton?: {\n label: string;\n onClick: () => void;\n icon: React.ReactElement;\n };\n}\n\nexport interface ThemeManagerProps extends InnerProps {\n baseURL: string;\n projectKey: string;\n businessUnitKey: string;\n jwtToken: string;\n}\n\nconst ThemeEditorInner: React.FC<InnerProps> = ({ backButton }) => {\n const history = useHistory();\n const {\n theme,\n loading,\n error,\n fetchTheme,\n saveTheme,\n updateTheme,\n clearError,\n } = usePuckConfiguration();\n\n const [formValues, setFormValues] = useState<ThemeTokens>(DEFAULT_THEME);\n const [saving, setSaving] = useState(false);\n const [saveSuccess, setSaveSuccess] = useState(false);\n const [isConfigExpanded, setIsConfigExpanded] = useState(false);\n\n const applyThemeToForm = useCallback((t: ThemeTokens | null | undefined) => {\n if (t == null || typeof t !== 'object') {\n setFormValues(DEFAULT_THEME);\n return;\n }\n setFormValues({\n ...DEFAULT_THEME,\n ...t,\n colorPrimary: t.colorPrimary ?? DEFAULT_THEME.colorPrimary,\n colorPrimaryHover: t.colorPrimaryHover ?? DEFAULT_THEME.colorPrimaryHover,\n colorSecondary: t.colorSecondary ?? DEFAULT_THEME.colorSecondary,\n colorBackground: t.colorBackground ?? DEFAULT_THEME.colorBackground,\n colorSurface: t.colorSurface ?? DEFAULT_THEME.colorSurface,\n colorText: t.colorText ?? DEFAULT_THEME.colorText,\n colorTextMuted: t.colorTextMuted ?? DEFAULT_THEME.colorTextMuted,\n borderRadius: t.borderRadius ?? DEFAULT_THEME.borderRadius,\n borderWidth: t.borderWidth ?? DEFAULT_THEME.borderWidth,\n fontFamily: t.fontFamily ?? DEFAULT_THEME.fontFamily,\n fontHeading: t.fontHeading ?? DEFAULT_THEME.fontHeading,\n spacingScale:\n typeof t.spacingScale === 'number'\n ? t.spacingScale\n : DEFAULT_THEME.spacingScale,\n buttonStyle: t.buttonStyle ?? DEFAULT_THEME.buttonStyle,\n cardShadow: t.cardShadow ?? DEFAULT_THEME.cardShadow,\n headerStyle: t.headerStyle ?? DEFAULT_THEME.headerStyle,\n colorPrimaryForeground: t.colorPrimaryForeground ?? undefined,\n colorSecondaryForeground: t.colorSecondaryForeground ?? undefined,\n colorForeground: t.colorForeground ?? undefined,\n colorMuted: t.colorMuted ?? undefined,\n colorMutedForeground: t.colorMutedForeground ?? undefined,\n colorDestructive: t.colorDestructive ?? undefined,\n colorDestructiveForeground: t.colorDestructiveForeground ?? undefined,\n colorAccent: t.colorAccent ?? undefined,\n colorAccentForeground: t.colorAccentForeground ?? undefined,\n colorBorder: t.colorBorder ?? undefined,\n colorInput: t.colorInput ?? undefined,\n colorRing: t.colorRing ?? undefined,\n colorShadowLight: t.colorShadowLight ?? DEFAULT_THEME.colorShadowLight,\n colorShadowDark: t.colorShadowDark ?? DEFAULT_THEME.colorShadowDark,\n colorSurfaceGlass: t.colorSurfaceGlass ?? DEFAULT_THEME.colorSurfaceGlass,\n shadowStyle: t.shadowStyle ?? DEFAULT_THEME.shadowStyle,\n surfaceBlur: t.surfaceBlur ?? DEFAULT_THEME.surfaceBlur,\n surfaceOpacity:\n typeof t.surfaceOpacity === 'number'\n ? t.surfaceOpacity\n : DEFAULT_THEME.surfaceOpacity,\n fontWeightBase: t.fontWeightBase ?? DEFAULT_THEME.fontWeightBase,\n fontWeightHeading: t.fontWeightHeading ?? DEFAULT_THEME.fontWeightHeading,\n letterSpacing: t.letterSpacing ?? DEFAULT_THEME.letterSpacing,\n textTransform: t.textTransform ?? DEFAULT_THEME.textTransform,\n borderStyle: t.borderStyle ?? DEFAULT_THEME.borderStyle,\n backgroundStyle: t.backgroundStyle ?? DEFAULT_THEME.backgroundStyle,\n });\n }, []);\n\n useEffect(() => {\n void fetchTheme();\n }, [fetchTheme]);\n\n useEffect(() => {\n applyThemeToForm(theme);\n }, [theme, applyThemeToForm]);\n\n const handleChange = useCallback(\n <K extends keyof ThemeTokens>(key: K, value: ThemeTokens[K]) => {\n setFormValues((prev) => ({ ...prev, [key]: value }));\n setSaveSuccess(false);\n },\n []\n );\n\n const handleSave = useCallback(async () => {\n setSaving(true);\n setSaveSuccess(false);\n clearError();\n try {\n await saveTheme(formValues);\n setSaveSuccess(true);\n } finally {\n setSaving(false);\n }\n }, [formValues, saveTheme, clearError]);\n\n const handleResetToDefault = useCallback(async () => {\n setFormValues(DEFAULT_THEME);\n setSaveSuccess(false);\n if (theme != null) {\n setSaving(true);\n clearError();\n try {\n await updateTheme(DEFAULT_THEME);\n setSaveSuccess(true);\n } finally {\n setSaving(false);\n }\n }\n }, [theme, updateTheme, clearError]);\n\n if (loading && theme == null) {\n return (\n <div style={{ display: 'flex', justifyContent: 'center', alignItems: 'center' }}>\n <LoadingSpinner />\n </div>\n );\n }\n\n return (\n <Spacings.Stack scale=\"l\">\n {backButton && (\n <FlatButton\n onClick={() => history.push('/')}\n label={backButton.label}\n icon={backButton.icon as any}\n >\n {backButton.label}\n </FlatButton>\n )}\n <div style={{ padding: '0 20px' }}>\n <Spacings.Stack scale=\"l\" alignItems=\"flex-start\">\n <Text.Headline as=\"h1\">Theme</Text.Headline>\n <Text.Body tone=\"secondary\">\n Customize colors, typography, spacing, and component styles.\n </Text.Body>\n </Spacings.Stack>\n </div>\n {error && (\n <Card>\n <Spacings.Stack scale=\"m\">\n <Text.Headline as=\"h2\">Error</Text.Headline>\n <Text.Body tone=\"critical\">{error}</Text.Body>\n </Spacings.Stack>\n </Card>\n )}\n\n {saveSuccess && (\n <Text.Body tone=\"positive\">Theme saved successfully.</Text.Body>\n )}\n\n <Spacings.Stack scale=\"l\">\n <div style={{ padding: '0 20px' }}>\n <Spacings.Inline scale=\"s\">\n <ThemePresetSelector onSelectPreset={applyThemeToForm} />\n </Spacings.Inline>\n </div>\n <Spacings.Stack scale=\"s\">\n <div style={{ padding: '0 20px' }}>\n <button\n type=\"button\"\n onClick={() => setIsConfigExpanded((prev) => !prev)}\n aria-expanded={isConfigExpanded}\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n padding: '12px 16px',\n margin: 0,\n border: 'none',\n borderRadius: '4px',\n cursor: 'pointer',\n font: 'inherit',\n textAlign: 'left',\n background: 'transparent',\n }}\n >\n <Text.Headline as=\"h2\">Theme configuration</Text.Headline>\n <span\n style={{\n display: 'inline-block',\n width: 0,\n height: 0,\n borderLeft: '5px solid transparent',\n borderRight: '5px solid transparent',\n borderTop: '6px solid currentColor',\n transform: isConfigExpanded ? 'rotate(180deg)' : 'none',\n opacity: 0.7,\n }}\n />\n </button>\n </div>\n {isConfigExpanded && (\n <div style={{ padding: '0 20px' }}>\n <Spacings.Stack scale=\"l\">\n <Spacings.Stack scale=\"xl\">\n <Text.Headline as=\"h2\">Colors</Text.Headline>\n <Grid\n gridGap=\"16px\"\n gridAutoColumns=\"1fr\"\n gridTemplateColumns=\"repeat(auto-fill, minmax(300px, 1fr))\"\n >\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Primary\" htmlFor=\"colorPrimary\" />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorPrimary\"\n value={formValues.colorPrimary}\n onChange={(e) =>\n handleChange('colorPrimary', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n value={formValues.colorPrimary}\n onChange={(e) =>\n handleChange('colorPrimary', e.target.value)\n }\n horizontalConstraint={3}\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel\n title=\"Primary Hover\"\n htmlFor=\"colorPrimaryHover\"\n />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorPrimaryHover\"\n value={formValues.colorPrimaryHover}\n onChange={(e) =>\n handleChange('colorPrimaryHover', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorPrimaryHover}\n onChange={(e) =>\n handleChange('colorPrimaryHover', e.target.value)\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Secondary\" htmlFor=\"colorSecondary\" />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorSecondary\"\n value={formValues.colorSecondary}\n onChange={(e) =>\n handleChange('colorSecondary', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorSecondary}\n onChange={(e) =>\n handleChange('colorSecondary', e.target.value)\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel\n title=\"Background\"\n htmlFor=\"colorBackground\"\n />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorBackground\"\n value={formValues.colorBackground}\n onChange={(e) =>\n handleChange('colorBackground', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorBackground}\n onChange={(e) =>\n handleChange('colorBackground', e.target.value)\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Surface\" htmlFor=\"colorSurface\" />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorSurface\"\n value={formValues.colorSurface}\n onChange={(e) =>\n handleChange('colorSurface', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorSurface}\n onChange={(e) =>\n handleChange('colorSurface', e.target.value)\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Text\" htmlFor=\"colorText\" />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorText\"\n value={formValues.colorText}\n onChange={(e) =>\n handleChange('colorText', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorText}\n onChange={(e) =>\n handleChange('colorText', e.target.value)\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Text Muted\" htmlFor=\"colorTextMuted\" />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorTextMuted\"\n value={formValues.colorTextMuted}\n onChange={(e) =>\n handleChange('colorTextMuted', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorTextMuted}\n onChange={(e) =>\n handleChange('colorTextMuted', e.target.value)\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n </Grid>\n\n <Text.Headline as=\"h2\">Extended colors</Text.Headline>\n <Text.Body tone=\"secondary\">\n Optional theme tokens for foregrounds, muted, destructive,\n accent, border, input, and ring.\n </Text.Body>\n <Grid\n gridGap=\"16px\"\n gridAutoColumns=\"1fr\"\n gridTemplateColumns=\"repeat(auto-fill, minmax(300px, 1fr))\"\n >\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel\n title=\"Primary Foreground\"\n htmlFor=\"colorPrimaryForeground\"\n />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorPrimaryForeground\"\n value={formValues.colorPrimaryForeground || '#000000'}\n onChange={(e) =>\n handleChange('colorPrimaryForeground', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorPrimaryForeground ?? ''}\n onChange={(e) =>\n handleChange(\n 'colorPrimaryForeground',\n (e.target as HTMLInputElement).value\n )\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel\n title=\"Secondary Foreground\"\n htmlFor=\"colorSecondaryForeground\"\n />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorSecondaryForeground\"\n value={formValues.colorSecondaryForeground || '#000000'}\n onChange={(e) =>\n handleChange('colorSecondaryForeground', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorSecondaryForeground ?? ''}\n onChange={(e) =>\n handleChange(\n 'colorSecondaryForeground',\n (e.target as HTMLInputElement).value\n )\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Foreground\" htmlFor=\"colorForeground\" />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorForeground\"\n value={formValues.colorForeground || '#000000'}\n onChange={(e) =>\n handleChange('colorForeground', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorForeground ?? ''}\n onChange={(e) =>\n handleChange(\n 'colorForeground',\n (e.target as HTMLInputElement).value\n )\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Muted\" htmlFor=\"colorMuted\" />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorMuted\"\n value={formValues.colorMuted || '#000000'}\n onChange={(e) =>\n handleChange('colorMuted', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorMuted ?? ''}\n onChange={(e) =>\n handleChange(\n 'colorMuted',\n (e.target as HTMLInputElement).value\n )\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel\n title=\"Muted Foreground\"\n htmlFor=\"colorMutedForeground\"\n />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorMutedForeground\"\n value={formValues.colorMutedForeground || '#000000'}\n onChange={(e) =>\n handleChange('colorMutedForeground', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorMutedForeground ?? ''}\n onChange={(e) =>\n handleChange(\n 'colorMutedForeground',\n (e.target as HTMLInputElement).value\n )\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Destructive\" htmlFor=\"colorDestructive\" />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorDestructive\"\n value={formValues.colorDestructive || '#000000'}\n onChange={(e) =>\n handleChange('colorDestructive', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorDestructive ?? ''}\n onChange={(e) =>\n handleChange(\n 'colorDestructive',\n (e.target as HTMLInputElement).value\n )\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel\n title=\"Destructive Foreground\"\n htmlFor=\"colorDestructiveForeground\"\n />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorDestructiveForeground\"\n value={formValues.colorDestructiveForeground || '#000000'}\n onChange={(e) =>\n handleChange('colorDestructiveForeground', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorDestructiveForeground ?? ''}\n onChange={(e) =>\n handleChange(\n 'colorDestructiveForeground',\n (e.target as HTMLInputElement).value\n )\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Accent\" htmlFor=\"colorAccent\" />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorAccent\"\n value={formValues.colorAccent || '#000000'}\n onChange={(e) =>\n handleChange('colorAccent', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorAccent ?? ''}\n onChange={(e) =>\n handleChange(\n 'colorAccent',\n (e.target as HTMLInputElement).value\n )\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel\n title=\"Accent Foreground\"\n htmlFor=\"colorAccentForeground\"\n />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorAccentForeground\"\n value={formValues.colorAccentForeground || '#000000'}\n onChange={(e) =>\n handleChange('colorAccentForeground', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorAccentForeground ?? ''}\n onChange={(e) =>\n handleChange(\n 'colorAccentForeground',\n (e.target as HTMLInputElement).value\n )\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Border\" htmlFor=\"colorBorder\" />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorBorder\"\n value={formValues.colorBorder || '#000000'}\n onChange={(e) =>\n handleChange('colorBorder', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorBorder ?? ''}\n onChange={(e) =>\n handleChange(\n 'colorBorder',\n (e.target as HTMLInputElement).value\n )\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Input\" htmlFor=\"colorInput\" />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorInput\"\n value={formValues.colorInput || '#000000'}\n onChange={(e) =>\n handleChange('colorInput', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorInput ?? ''}\n onChange={(e) =>\n handleChange(\n 'colorInput',\n (e.target as HTMLInputElement).value\n )\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Ring\" htmlFor=\"colorRing\" />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorRing\"\n value={formValues.colorRing || '#000000'}\n onChange={(e) =>\n handleChange('colorRing', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorRing ?? ''}\n onChange={(e) =>\n handleChange(\n 'colorRing',\n (e.target as HTMLInputElement).value\n )\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n </Grid>\n\n <Text.Headline as=\"h2\">Typography</Text.Headline>\n <Grid\n gridGap=\"16px\"\n gridAutoColumns=\"1fr\"\n gridTemplateColumns=\"repeat(auto-fill, minmax(300px, 1fr))\"\n >\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Font Family\" htmlFor=\"fontFamily\" />\n <TextInput\n horizontalConstraint={4}\n id=\"fontFamily\"\n value={formValues.fontFamily}\n onChange={(e) =>\n handleChange('fontFamily', e.target.value)\n }\n />\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Heading Font\" htmlFor=\"fontHeading\" />\n <TextInput\n horizontalConstraint={4}\n id=\"fontHeading\"\n value={formValues.fontHeading}\n onChange={(e) =>\n handleChange('fontHeading', e.target.value)\n }\n />\n </div>\n </Grid.Item>\n </Grid>\n\n <Text.Headline as=\"h2\">Layout & Components</Text.Headline>\n <Grid\n gridGap=\"16px\"\n gridAutoColumns=\"1fr\"\n gridTemplateColumns=\"repeat(auto-fill, minmax(300px, 1fr))\"\n >\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Spacing Scale\" htmlFor=\"spacingScale\" />\n <NumberInput\n id=\"spacingScale\"\n horizontalConstraint={3}\n value={formValues.spacingScale}\n onChange={(e) =>\n handleChange(\n 'spacingScale',\n e.target.value === '' ? 0 : Number(e.target.value)\n )\n }\n />\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Border Radius\" htmlFor=\"borderRadius\" />\n <SelectInput\n id=\"borderRadius\"\n horizontalConstraint={3}\n value={formValues.borderRadius}\n onChange={(e) =>\n handleChange(\n 'borderRadius',\n e.target.value as ThemeTokens['borderRadius']\n )\n }\n options={BORDER_RADIUS_OPTIONS}\n />\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Border Width\" htmlFor=\"borderWidth\" />\n <SelectInput\n id=\"borderWidth\"\n horizontalConstraint={3}\n value={formValues.borderWidth}\n onChange={(e) =>\n handleChange(\n 'borderWidth',\n e.target.value as ThemeTokens['borderWidth']\n )\n }\n options={BORDER_WIDTH_OPTIONS}\n />\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Button Style\" htmlFor=\"buttonStyle\" />\n <SelectInput\n id=\"buttonStyle\"\n horizontalConstraint={3}\n value={formValues.buttonStyle}\n onChange={(e) =>\n handleChange(\n 'buttonStyle',\n e.target.value as ThemeTokens['buttonStyle']\n )\n }\n options={BUTTON_STYLE_OPTIONS}\n />\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Card Shadow\" htmlFor=\"cardShadow\" />\n <SelectInput\n id=\"cardShadow\"\n horizontalConstraint={3}\n value={formValues.cardShadow}\n onChange={(e) =>\n handleChange(\n 'cardShadow',\n e.target.value as ThemeTokens['cardShadow']\n )\n }\n options={CARD_SHADOW_OPTIONS}\n />\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Header Style\" htmlFor=\"headerStyle\" />\n <SelectInput\n id=\"headerStyle\"\n horizontalConstraint={3}\n value={formValues.headerStyle}\n onChange={(e) =>\n handleChange(\n 'headerStyle',\n e.target.value as ThemeTokens['headerStyle']\n )\n }\n options={HEADER_STYLE_OPTIONS}\n />\n </div>\n </Grid.Item>\n </Grid>\n\n <Text.Headline as=\"h2\">Shadow & surface</Text.Headline>\n <Grid\n gridGap=\"16px\"\n gridAutoColumns=\"1fr\"\n gridTemplateColumns=\"repeat(auto-fill, minmax(300px, 1fr))\"\n >\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Shadow Light\" htmlFor=\"colorShadowLight\" />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorShadowLight\"\n value={formValues.colorShadowLight ?? '#ffffff'}\n onChange={(e) =>\n handleChange('colorShadowLight', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorShadowLight ?? ''}\n onChange={(e) =>\n handleChange(\n 'colorShadowLight',\n (e.target as HTMLInputElement).value\n )\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Shadow Dark\" htmlFor=\"colorShadowDark\" />\n <Spacings.Inline alignItems=\"center\" scale=\"s\">\n <input\n type=\"color\"\n id=\"colorShadowDark\"\n value={formValues.colorShadowDark ?? '#b8bec7'}\n onChange={(e) =>\n handleChange('colorShadowDark', e.target.value)\n }\n style={{ width: 40, height: 32, cursor: 'pointer' }}\n />\n <TextInput\n horizontalConstraint={3}\n value={formValues.colorShadowDark ?? ''}\n onChange={(e) =>\n handleChange(\n 'colorShadowDark',\n (e.target as HTMLInputElement).value\n )\n }\n />\n </Spacings.Inline>\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Surface Glass\" htmlFor=\"colorSurfaceGlass\" />\n <TextInput\n horizontalConstraint={3}\n id=\"colorSurfaceGlass\"\n value={formValues.colorSurfaceGlass ?? ''}\n onChange={(e) =>\n handleChange(\n 'colorSurfaceGlass',\n (e.target as HTMLInputElement).value\n )\n }\n />\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Shadow Style\" htmlFor=\"shadowStyle\" />\n <SelectInput\n id=\"shadowStyle\"\n horizontalConstraint={3}\n value={formValues.shadowStyle ?? DEFAULT_THEME.shadowStyle}\n onChange={(e) =>\n handleChange(\n 'shadowStyle',\n e.target.value as ThemeTokens['shadowStyle']\n )\n }\n options={SHADOW_STYLE_OPTIONS}\n />\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Surface Blur\" htmlFor=\"surfaceBlur\" />\n <SelectInput\n id=\"surfaceBlur\"\n horizontalConstraint={3}\n value={formValues.surfaceBlur ?? DEFAULT_THEME.surfaceBlur}\n onChange={(e) =>\n handleChange(\n 'surfaceBlur',\n e.target.value as ThemeTokens['surfaceBlur']\n )\n }\n options={SURFACE_BLUR_OPTIONS}\n />\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Surface Opacity\" htmlFor=\"surfaceOpacity\" />\n <NumberInput\n id=\"surfaceOpacity\"\n horizontalConstraint={3}\n value={formValues.surfaceOpacity ?? 1}\n onChange={(e) =>\n handleChange(\n 'surfaceOpacity',\n e.target.value === ''\n ? 0\n : Math.min(1, Math.max(0, Number(e.target.value)))\n )\n }\n />\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Border Style\" htmlFor=\"borderStyle\" />\n <SelectInput\n id=\"borderStyle\"\n horizontalConstraint={3}\n value={formValues.borderStyle ?? DEFAULT_THEME.borderStyle}\n onChange={(e) =>\n handleChange(\n 'borderStyle',\n e.target.value as ThemeTokens['borderStyle']\n )\n }\n options={BORDER_STYLE_OPTIONS}\n />\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Background Style\" htmlFor=\"backgroundStyle\" />\n <SelectInput\n id=\"backgroundStyle\"\n horizontalConstraint={3}\n value={formValues.backgroundStyle ?? DEFAULT_THEME.backgroundStyle}\n onChange={(e) =>\n handleChange(\n 'backgroundStyle',\n e.target.value as ThemeTokens['backgroundStyle']\n )\n }\n options={BACKGROUND_STYLE_OPTIONS}\n />\n </div>\n </Grid.Item>\n </Grid>\n\n <Text.Headline as=\"h2\">\n Typography (weight & transform)\n </Text.Headline>\n <Grid\n gridGap=\"16px\"\n gridAutoColumns=\"1fr\"\n gridTemplateColumns=\"repeat(auto-fill, minmax(300px, 1fr))\"\n >\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Font Weight Base\" htmlFor=\"fontWeightBase\" />\n <SelectInput\n id=\"fontWeightBase\"\n horizontalConstraint={3}\n value={formValues.fontWeightBase ?? DEFAULT_THEME.fontWeightBase}\n onChange={(e) =>\n handleChange(\n 'fontWeightBase',\n e.target.value as ThemeTokens['fontWeightBase']\n )\n }\n options={FONT_WEIGHT_BASE_OPTIONS}\n />\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Font Weight Heading\" htmlFor=\"fontWeightHeading\" />\n <SelectInput\n id=\"fontWeightHeading\"\n horizontalConstraint={3}\n value={formValues.fontWeightHeading ?? DEFAULT_THEME.fontWeightHeading}\n onChange={(e) =>\n handleChange(\n 'fontWeightHeading',\n e.target.value as ThemeTokens['fontWeightHeading']\n )\n }\n options={FONT_WEIGHT_HEADING_OPTIONS}\n />\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Letter Spacing\" htmlFor=\"letterSpacing\" />\n <SelectInput\n id=\"letterSpacing\"\n horizontalConstraint={3}\n value={formValues.letterSpacing ?? DEFAULT_THEME.letterSpacing}\n onChange={(e) =>\n handleChange(\n 'letterSpacing',\n e.target.value as ThemeTokens['letterSpacing']\n )\n }\n options={LETTER_SPACING_OPTIONS}\n />\n </div>\n </Grid.Item>\n <Grid.Item>\n <div style={{ marginBottom: '1.5rem' }}>\n <FieldLabel title=\"Text Transform\" htmlFor=\"textTransform\" />\n <SelectInput\n id=\"textTransform\"\n horizontalConstraint={3}\n value={formValues.textTransform ?? DEFAULT_THEME.textTransform}\n onChange={(e) =>\n handleChange(\n 'textTransform',\n e.target.value as ThemeTokens['textTransform']\n )\n }\n options={TEXT_TRANSFORM_OPTIONS}\n />\n </div>\n </Grid.Item>\n </Grid>\n\n <Spacings.Inline>\n <PrimaryButton\n label={saving ? 'Saving…' : 'Save'}\n onClick={handleSave}\n isDisabled={saving}\n />\n <SecondaryButton\n label=\"Reset to default\"\n onClick={handleResetToDefault}\n isDisabled={saving}\n />\n </Spacings.Inline>\n </Spacings.Stack>\n </Spacings.Stack>\n </div>\n )}\n </Spacings.Stack>\n </Spacings.Stack>\n </Spacings.Stack>\n );\n};\n\nconst ThemeManager: React.FC<ThemeManagerProps> = ({\n baseURL,\n projectKey,\n businessUnitKey,\n jwtToken,\n ...innerProps\n}) => (\n <PuckApiProvider\n baseURL={baseURL}\n projectKey={projectKey}\n businessUnitKey={businessUnitKey}\n jwtToken={jwtToken}\n >\n <ThemeEditorInner {...innerProps} />\n </PuckApiProvider>\n);\n\nexport default ThemeManager;\n","import type { ThemeTokens } from '@commercetools-demo/puck-types';\n\nexport const DEFAULT_THEME: ThemeTokens = {\n colorPrimary: '#0f766e',\n colorPrimaryHover: '#0d9488',\n colorSecondary: '#64748b',\n colorBackground: '#ffffff',\n colorSurface: '#f8fafc',\n colorText: '#0f172a',\n colorTextMuted: '#64748b',\n borderRadius: 'md',\n borderWidth: '1',\n fontFamily: 'system-ui, sans-serif',\n fontHeading: 'system-ui, sans-serif',\n spacingScale: 8,\n buttonStyle: 'solid',\n cardShadow: 'md',\n headerStyle: 'solid',\n colorShadowLight: '#ffffff',\n colorShadowDark: '#b8bec7',\n colorSurfaceGlass: 'rgba(255,255,255,0.18)',\n shadowStyle: 'none',\n surfaceBlur: 'none',\n surfaceOpacity: 1,\n fontWeightBase: '400',\n fontWeightHeading: '700',\n letterSpacing: 'normal',\n textTransform: 'none',\n borderStyle: 'solid',\n backgroundStyle: 'solid',\n};\n","import React, { useState } from 'react';\nimport type { ThemeTokens } from '@commercetools-demo/puck-types';\nimport PrimaryButton from '@commercetools-uikit/primary-button';\nimport SelectInput from '@commercetools-uikit/select-input';\nimport Spacings from '@commercetools-uikit/spacings';\nimport FieldLabel from '@commercetools-uikit/field-label';\nimport {\n themePresets,\n paradigmLabels,\n PRESET_KEYS_SELECTOR,\n type DesignParadigm,\n} from '../presets';\n\nconst PRESET_OPTIONS = [\n { value: '', label: 'Choose a preset…' },\n ...PRESET_KEYS_SELECTOR.map((key: DesignParadigm) => ({\n value: key,\n label: paradigmLabels[key],\n })),\n];\n\ninterface ThemePresetSelectorProps {\n onSelectPreset: (tokens: ThemeTokens) => void;\n}\n\nconst ThemePresetSelector: React.FC<ThemePresetSelectorProps> = ({\n onSelectPreset,\n}) => {\n const [selectedKey, setSelectedKey] = useState<string>('');\n\n const handleApply = () => {\n if (selectedKey && selectedKey in themePresets) {\n onSelectPreset(themePresets[selectedKey as DesignParadigm]);\n }\n };\n\n return (\n <Spacings.Stack scale=\"s\">\n <FieldLabel title=\"Quick apply preset\" htmlFor=\"theme-preset-select\" />\n <Spacings.Inline scale=\"s\" alignItems=\"center\">\n <SelectInput\n id=\"theme-preset-select\"\n value={selectedKey}\n onChange={(e) => {\n const v = e.target.value;\n setSelectedKey(typeof v === 'string' ? v : Array.isArray(v) ? v[0] ?? '' : '');\n }}\n options={PRESET_OPTIONS}\n />\n <PrimaryButton\n label=\"Apply\"\n onClick={handleApply}\n isDisabled={!selectedKey}\n />\n </Spacings.Inline>\n </Spacings.Stack>\n );\n};\n\nexport default ThemePresetSelector;\n","\n// ─────────────────────────────────────────────\n// 1. FLAT DESIGN\n// Solid fills, no depth, no effects.\n// Influenced by Windows 8 Metro + iOS 7.\n\nimport type { ThemeTokens } from '@commercetools-demo/puck-types';\n\n// ─────────────────────────────────────────────\nexport const flatTheme: ThemeTokens = {\n colorPrimary: '#2563EB',\n colorPrimaryHover: '#1D4ED8',\n colorPrimaryForeground: '#FFFFFF',\n colorSecondary: '#64748B',\n colorSecondaryForeground: '#FFFFFF',\n colorBackground: '#F8FAFC',\n colorSurface: '#FFFFFF',\n colorText: '#0F172A',\n colorTextMuted: '#64748B',\n colorForeground: '#0F172A',\n colorMuted: '#F1F5F9',\n colorMutedForeground: '#64748B',\n colorDestructive: '#EF4444',\n colorDestructiveForeground:'#FFFFFF',\n colorAccent: '#0EA5E9',\n colorAccentForeground: '#FFFFFF',\n colorBorder: '#E2E8F0',\n colorInput: '#FFFFFF',\n colorRing: '#2563EB',\n colorShadowLight: '#FFFFFF',\n colorShadowDark: '#CBD5E1',\n colorSurfaceGlass: 'rgba(255,255,255,0.9)',\n\n borderRadius: 'sm',\n borderWidth: '1',\n borderStyle: 'solid',\n\n fontFamily: 'Inter, system-ui, sans-serif',\n fontHeading: 'Inter, system-ui, sans-serif',\n fontWeightBase: '400',\n fontWeightHeading: '700',\n letterSpacing: 'normal',\n textTransform: 'none',\n\n spacingScale: 1,\n buttonStyle: 'solid',\n cardShadow: 'none',\n shadowStyle: 'none',\n surfaceBlur: 'none',\n surfaceOpacity: 1,\n backgroundStyle: 'solid',\n headerStyle: 'solid',\n animationStyle: 'subtle',\n};\n\n// ─────────────────────────────────────────────\n// 2. SKEUOMORPHISM\n// Mimics real-world materials and surfaces.\n// Warm parchment tones, textured backgrounds.\n// ─────────────────────────────────────────────\nexport const skeuomorphismTheme: ThemeTokens = {\n colorPrimary: '#B8860B',\n colorPrimaryHover: '#9A7209',\n colorPrimaryForeground: '#FFFBEA',\n colorSecondary: '#8B6914',\n colorSecondaryForeground: '#FFFBEA',\n colorBackground: '#C8B97D',\n colorSurface: '#EDE0B0',\n colorText: '#2C1A00',\n colorTextMuted: '#6B4F1A',\n colorForeground: '#2C1A00',\n colorMuted: '#D9C98A',\n colorMutedForeground: '#6B4F1A',\n colorDestructive: '#C0392B',\n colorDestructiveForeground:'#FFF8F0',\n colorAccent: '#D4A017',\n colorAccentForeground: '#2C1A00',\n colorBorder: '#8B6914',\n colorInput: '#F5EBD0',\n colorRing: '#B8860B',\n colorShadowLight: 'rgba(255,255,255,0.5)',\n colorShadowDark: 'rgba(0,0,0,0.4)',\n colorSurfaceGlass: 'rgba(237,224,176,0.95)',\n\n borderRadius: 'sm',\n borderWidth: '1',\n borderStyle: 'solid',\n\n fontFamily: 'Georgia, \"Times New Roman\", serif',\n fontHeading: 'Georgia, \"Times New Roman\", serif',\n fontWeightBase: '400',\n fontWeightHeading: '700',\n letterSpacing: 'normal',\n textTransform: 'none',\n\n spacingScale: 1,\n buttonStyle: 'solid',\n cardShadow: 'lg',\n shadowStyle: 'soft',\n surfaceBlur: 'none',\n surfaceOpacity: 1,\n backgroundStyle: 'noise',\n headerStyle: 'solid',\n animationStyle: 'subtle',\n};\n\n// ─────────────────────────────────────────────\n// 3. MATERIAL DESIGN\n// Layered surfaces, elevation via shadow,\n// deep purple + teal palette. Google's system.\n// ─────────────────────────────────────────────\nexport const materialTheme: ThemeTokens = {\n colorPrimary: '#6200EE',\n colorPrimaryHover: '#3700B3',\n colorPrimaryForeground: '#FFFFFF',\n colorSecondary: '#03DAC6',\n colorSecondaryForeground: '#000000',\n colorBackground: '#FAFAFA',\n colorSurface: '#FFFFFF',\n colorText: '#000000',\n colorTextMuted: '#757575',\n colorForeground: '#000000',\n colorMuted: '#F5F5F5',\n colorMutedForeground: '#757575',\n colorDestructive: '#B00020',\n colorDestructiveForeground:'#FFFFFF',\n colorAccent: '#03DAC6',\n colorAccentForeground: '#000000',\n colorBorder: '#E0E0E0',\n colorInput: '#FFFFFF',\n colorRing: '#6200EE',\n colorShadowLight: 'rgba(255,255,255,0.1)',\n colorShadowDark: 'rgba(0,0,0,0.2)',\n colorSurfaceGlass: 'rgba(255,255,255,0.95)',\n\n borderRadius: 'sm',\n borderWidth: '0',\n borderStyle: 'solid',\n\n fontFamily: '\"Roboto\", system-ui, sans-serif',\n fontHeading: '\"Roboto\", system-ui, sans-serif',\n fontWeightBase: '400',\n fontWeightHeading: '500',\n letterSpacing: 'normal',\n textTransform: 'none',\n\n spacingScale: 1,\n buttonStyle: 'solid',\n cardShadow: 'md',\n shadowStyle: 'soft',\n surfaceBlur: 'none',\n surfaceOpacity: 1,\n backgroundStyle: 'solid',\n headerStyle: 'solid',\n animationStyle: 'material-ripple',\n};\n\n// ─────────────────────────────────────────────\n// 4. NEUMORPHISM\n// Elements extruded from the background.\n// Matched bg color, dual inset/outset shadows.\n// ─────────────────────────────────────────────\nexport const neumorphismTheme: ThemeTokens = {\n colorPrimary: '#5B8DEF',\n colorPrimaryHover: '#3D6ECC',\n colorPrimaryForeground: '#FFFFFF',\n colorSecondary: '#8B8FA8',\n colorSecondaryForeground: '#FFFFFF',\n colorBackground: '#E0E5EC',\n colorSurface: '#E0E5EC',\n colorText: '#31344B',\n colorTextMuted: '#6B7280',\n colorForeground: '#31344B',\n colorMuted: '#E0E5EC',\n colorMutedForeground: '#6B7280',\n colorDestructive: '#E74C3C',\n colorDestructiveForeground:'#FFFFFF',\n colorAccent: '#5B8DEF',\n colorAccentForeground: '#FFFFFF',\n colorBorder: '#E0E5EC',\n colorInput: '#E0E5EC',\n colorRing: '#5B8DEF',\n colorShadowLight: '#FFFFFF',\n colorShadowDark: '#A3B1C6',\n colorSurfaceGlass: 'rgba(224,229,236,0.95)',\n\n borderRadius: 'lg',\n borderWidth: '0',\n borderStyle: 'solid',\n\n fontFamily: '\"Nunito\", system-ui, sans-serif',\n fontHeading: '\"Nunito\", system-ui, sans-serif',\n fontWeightBase: '400',\n fontWeightHeading: '700',\n letterSpacing: 'normal',\n textTransform: 'none',\n\n spacingScale: 1.1,\n buttonStyle: 'solid',\n cardShadow: 'lg',\n shadowStyle: 'neumorphic',\n surfaceBlur: 'none',\n surfaceOpacity: 1,\n backgroundStyle: 'solid',\n headerStyle: 'solid',\n animationStyle: 'subtle',\n};\n\n// ─────────────────────────────────────────────\n// 5. GLASSMORPHISM\n// Frosted panels over colorful gradients.\n// backdrop-filter blur, semi-transparent surfaces.\n// ─────────────────────────────────────────────\nexport const glassmorphismTheme: ThemeTokens = {\n colorPrimary: '#818CF8',\n colorPrimaryHover: '#6366F1',\n colorPrimaryForeground: '#FFFFFF',\n colorSecondary: '#C084FC',\n colorSecondaryForeground: '#FFFFFF',\n colorBackground: '#4F46E5',\n colorSurface: '#6366F1',\n colorText: '#FFFFFF',\n colorTextMuted: 'rgba(255,255,255,0.65)',\n colorForeground: '#FFFFFF',\n colorMuted: 'rgba(255,255,255,0.1)',\n colorMutedForeground: 'rgba(255,255,255,0.55)',\n colorDestructive: '#F87171',\n colorDestructiveForeground:'#FFFFFF',\n colorAccent: '#E879F9',\n colorAccentForeground: '#FFFFFF',\n colorBorder: 'rgba(255,255,255,0.25)',\n colorInput: 'rgba(255,255,255,0.15)',\n colorRing: 'rgba(255,255,255,0.5)',\n colorShadowLight: 'rgba(255,255,255,0.25)',\n colorShadowDark: 'rgba(0,0,0,0.15)',\n colorSurfaceGlass: 'rgba(255,255,255,0.15)',\n\n borderRadius: 'lg',\n borderWidth: '1',\n borderStyle: 'solid',\n\n fontFamily: '\"Inter\", system-ui, sans-serif',\n fontHeading: '\"Inter\", system-ui, sans-serif',\n fontWeightBase: '300',\n fontWeightHeading: '500',\n letterSpacing: 'wide',\n textTransform: 'none',\n\n spacingScale: 1.1,\n buttonStyle: 'outline',\n cardShadow: 'sm',\n shadowStyle: 'soft',\n surfaceBlur: 'md',\n surfaceOpacity: 0.15,\n backgroundStyle: 'gradient',\n headerStyle: 'transparent',\n animationStyle: 'subtle',\n};\n\n// ─────────────────────────────────────────────\n// 6. BRUTALISM\n// Raw, intentionally rough. Thick borders,\n// hard offset shadows, heavy type, no radius.\n// ─────────────────────────────────────────────\nexport const brutalismTheme: ThemeTokens = {\n colorPrimary: '#FF3C00',\n colorPrimaryHover: '#CC3000',\n colorPrimaryForeground: '#FFFFFF',\n colorSecondary: '#FFEE00',\n colorSecondaryForeground: '#000000',\n colorBackground: '#FFFFFF',\n colorSurface: '#FFFFFF',\n colorText: '#000000',\n colorTextMuted: '#333333',\n colorForeground: '#000000',\n colorMuted: '#F5F5F5',\n colorMutedForeground: '#333333',\n colorDestructive: '#FF0000',\n colorDestructiveForeground:'#FFFFFF',\n colorAccent: '#FFEE00',\n colorAccentForeground: '#000000',\n colorBorder: '#000000',\n colorInput: '#FFFFFF',\n colorRing: '#000000',\n colorShadowLight: '#FFFFFF',\n colorShadowDark: '#000000',\n colorSurfaceGlass: 'rgba(255,255,255,0.95)',\n\n borderRadius: 'none',\n borderWidth: '2',\n borderStyle: 'solid',\n\n fontFamily: '\"Space Mono\", \"Courier New\", monospace',\n fontHeading: '\"Space Grotesk\", \"Arial Black\", sans-serif',\n fontWeightBase: '400',\n fontWeightHeading: '900',\n letterSpacing: 'tight',\n textTransform: 'uppercase',\n\n spacingScale: 1,\n buttonStyle: 'solid',\n cardShadow: 'md',\n shadowStyle: 'hard-offset',\n surfaceBlur: 'none',\n surfaceOpacity: 1,\n backgroundStyle: 'solid',\n headerStyle: 'solid',\n animationStyle: 'none',\n};\n\n// ─────────────────────────────────────────────\n// 7. CLAYMORPHISM\n// Inflated 3D clay shapes, thick bottom\n// offset shadows, rounded full, pastel palette.\n// ─────────────────────────────────────────────\nexport const claymorphismTheme: ThemeTokens = {\n colorPrimary: '#A855F7',\n colorPrimaryHover: '#9333EA',\n colorPrimaryForeground: '#FFFFFF',\n colorSecondary: '#EC4899',\n colorSecondaryForeground: '#FFFFFF',\n colorBackground: '#F3E8FF',\n colorSurface: '#FFFFFF',\n colorText: '#1E1033',\n colorTextMuted: '#7C3AED',\n colorForeground: '#1E1033',\n colorMuted: '#FAF5FF',\n colorMutedForeground: '#9061C2',\n colorDestructive: '#F43F5E',\n colorDestructiveForeground:'#FFFFFF',\n colorAccent: '#F0ABFC',\n colorAccentForeground: '#701A75',\n colorBorder: '#E9D5FF',\n colorInput: '#FAF5FF',\n colorRing: '#A855F7',\n colorShadowLight: 'rgba(255,255,255,0.8)',\n colorShadowDark: '#7E22CE',\n colorSurfaceGlass: 'rgba(255,255,255,0.8)',\n\n borderRadius: 'lg',\n borderWidth: '0',\n borderStyle: 'solid',\n\n fontFamily: '\"Nunito\", \"Poppins\", system-ui, sans-serif',\n fontHeading: '\"Nunito\", \"Poppins\", system-ui, sans-serif',\n fontWeightBase: '400',\n fontWeightHeading: '700',\n letterSpacing: 'normal',\n textTransform: 'none',\n\n spacingScale: 1.15,\n buttonStyle: 'solid',\n cardShadow: 'lg',\n shadowStyle: 'clay',\n surfaceBlur: 'none',\n surfaceOpacity: 1,\n backgroundStyle: 'solid',\n headerStyle: 'solid',\n animationStyle: 'bouncy',\n};\n\n// ─────────────────────────────────────────────\n// 8. MINIMALISM\n// Maximum whitespace, sparse type, near-zero\n// decoration. Luxury brands, editorial, portfolio.\n// ─────────────────────────────────────────────\nexport const minimalismTheme: ThemeTokens = {\n colorPrimary: '#111111',\n colorPrimaryHover: '#333333',\n colorPrimaryForeground: '#FFFFFF',\n colorSecondary: '#666666',\n colorSecondaryForeground: '#FFFFFF',\n colorBackground: '#FFFFFF',\n colorSurface: '#FAFAFA',\n colorText: '#111111',\n colorTextMuted: '#999999',\n colorForeground: '#111111',\n colorMuted: '#F5F5F5',\n colorMutedForeground: '#999999',\n colorDestructive: '#CC0000',\n colorDestructiveForeground:'#FFFFFF',\n colorAccent: '#111111',\n colorAccentForeground: '#FFFFFF',\n colorBorder: '#E5E5E5',\n colorInput: '#FFFFFF',\n colorRing: '#111111',\n colorShadowLight: '#FFFFFF',\n colorShadowDark: '#E5E5E5',\n colorSurfaceGlass: 'rgba(255,255,255,0.95)',\n\n borderRadius: 'none',\n borderWidth: '1',\n borderStyle: 'solid',\n\n fontFamily: '\"DM Sans\", \"Helvetica Neue\", sans-serif',\n fontHeading: '\"DM Serif Display\", Georgia, serif',\n fontWeightBase: '300',\n fontWeightHeading: '400',\n letterSpacing: 'wider',\n textTransform: 'none',\n\n spacingScale: 1.4,\n buttonStyle: 'outline',\n cardShadow: 'none',\n shadowStyle: 'none',\n surfaceBlur: 'none',\n surfaceOpacity: 1,\n backgroundStyle: 'solid',\n headerStyle: 'minimal',\n animationStyle: 'subtle',\n};\n\n// ─────────────────────────────────────────────\n// 9. DARK / MOODY UI\n// Deep surfaces, indigo/violet accents,\n// glowing colored shadows. SaaS & dev tools.\n// ─────────────────────────────────────────────\nexport const darkMoodyTheme: ThemeTokens = {\n colorPrimary: '#818CF8',\n colorPrimaryHover: '#6366F1',\n colorPrimaryForeground: '#FFFFFF',\n colorSecondary: '#334155',\n colorSecondaryForeground: '#E2E8F0',\n colorBackground: '#0F1117',\n colorSurface: '#1A1D28',\n colorText: '#E2E8F0',\n colorTextMuted: '#94A3B8',\n colorForeground: '#E2E8F0',\n colorMuted: '#1E2235',\n colorMutedForeground: '#64748B',\n colorDestructive: '#F87171',\n colorDestructiveForeground:'#FFFFFF',\n colorAccent: '#818CF8',\n colorAccentForeground: '#FFFFFF',\n colorBorder: '#2D3148',\n colorInput: '#1A1D28',\n colorRing: '#6366F1',\n colorShadowLight: 'rgba(129,140,248,0.25)',\n colorShadowDark: 'rgba(0,0,0,0.5)',\n colorSurfaceGlass: 'rgba(26,29,40,0.85)',\n\n borderRadius: 'md',\n borderWidth: '1',\n borderStyle: 'solid',\n\n fontFamily: '\"Inter\", system-ui, sans-serif',\n fontHeading: '\"Inter\", system-ui, sans-serif',\n fontWeightBase: '400',\n fontWeightHeading: '500',\n letterSpacing: 'normal',\n textTransform: 'none',\n\n spacingScale: 1,\n buttonStyle: 'solid',\n cardShadow: 'sm',\n shadowStyle: 'glow',\n surfaceBlur: 'none',\n surfaceOpacity: 1,\n backgroundStyle: 'solid',\n headerStyle: 'solid',\n animationStyle: 'subtle',\n};\n\n// ─────────────────────────────────────────────\n// PRESETS MAP\n// ─────────────────────────────────────────────\nexport type DesignParadigm =\n | 'flat'\n | 'skeuomorphism'\n | 'material'\n | 'neumorphism'\n | 'glassmorphism'\n | 'brutalism'\n | 'claymorphism'\n | 'minimalism'\n | 'dark-moody';\n\nexport const themePresets: Record<DesignParadigm, ThemeTokens> = {\n flat: flatTheme,\n skeuomorphism: skeuomorphismTheme,\n material: materialTheme,\n neumorphism: neumorphismTheme,\n glassmorphism: glassmorphismTheme,\n brutalism: brutalismTheme,\n claymorphism: claymorphismTheme,\n minimalism: minimalismTheme,\n 'dark-moody': darkMoodyTheme,\n};\n\nexport const paradigmLabels: Record<DesignParadigm, string> = {\n flat: 'Flat design',\n skeuomorphism: 'Skeuomorphism',\n material: 'Material design',\n neumorphism: 'Neumorphism',\n glassmorphism: 'Glassmorphism',\n brutalism: 'Brutalism',\n claymorphism: 'Claymorphism',\n minimalism: 'Minimalism',\n 'dark-moody': 'Dark / moody',\n};\n\nexport const PRESET_KEYS_SELECTOR: DesignParadigm[] = [\n 'flat',\n 'material',\n 'neumorphism',\n 'glassmorphism',\n 'brutalism',\n 'dark-moody',\n];\n\n// ─────────────────────────────────────────────\n// CSS VAR RESOLVER\n// ─────────────────────────────────────────────\ntype ShadowStyle = NonNullable<ThemeTokens['shadowStyle']>;\ntype SurfaceBlur = NonNullable<ThemeTokens['surfaceBlur']>;\ntype LetterSpacing = NonNullable<ThemeTokens['letterSpacing']>;\ntype BorderRadius = NonNullable<ThemeTokens['borderRadius']>;\n\nconst shadowMap: Record<ShadowStyle, string> = {\n none: 'none',\n soft: '0 2px 8px 0 var(--color-shadow-dark)',\n 'hard-offset': '4px 4px 0px 0px var(--color-shadow-dark)',\n neumorphic: '6px 6px 14px var(--color-shadow-dark), -6px -6px 14px var(--color-shadow-light)',\n clay: '0 8px 0 var(--color-shadow-dark), 0 12px 28px var(--color-shadow-dark)',\n glow: '0 0 24px var(--color-shadow-light)',\n};\n\nconst blurMap: Record<SurfaceBlur, string> = {\n none: '0px',\n sm: '4px',\n md: '12px',\n lg: '24px',\n};\n\nconst letterSpacingMap: Record<LetterSpacing, string> = {\n tight: '-0.025em',\n normal: '0em',\n wide: '0.05em',\n wider: '0.15em',\n};\n\nconst borderRadiusMap: Record<BorderRadius, string> = {\n none: '0px',\n sm: '4px',\n md: '8px',\n lg: '16px',\n full: '9999px',\n};\n\nexport function buildCssVars(tokens: ThemeTokens): Record<string, string> {\n return {\n '--color-primary': tokens.colorPrimary,\n '--color-primary-hover': tokens.colorPrimaryHover,\n '--color-primary-foreground': tokens.colorPrimaryForeground ?? '#ffffff',\n '--color-secondary': tokens.colorSecondary,\n '--color-secondary-foreground': tokens.colorSecondaryForeground ?? '#ffffff',\n '--color-background': tokens.colorBackground,\n '--color-surface': tokens.colorSurface,\n '--color-text': tokens.colorText,\n '--color-text-muted': tokens.colorTextMuted,\n '--color-foreground': tokens.colorForeground ?? tokens.colorText,\n '--color-muted': tokens.colorMuted ?? tokens.colorSurface,\n '--color-muted-foreground': tokens.colorMutedForeground ?? tokens.colorTextMuted,\n '--color-destructive': tokens.colorDestructive ?? '#ef4444',\n '--color-destructive-foreground':tokens.colorDestructiveForeground ?? '#ffffff',\n '--color-accent': tokens.colorAccent ?? tokens.colorPrimary,\n '--color-accent-foreground': tokens.colorAccentForeground ?? '#ffffff',\n '--color-border': tokens.colorBorder ?? '#e2e8f0',\n '--color-input': tokens.colorInput ?? tokens.colorSurface,\n '--color-ring': tokens.colorRing ?? tokens.colorPrimary,\n '--color-shadow-light': tokens.colorShadowLight ?? '#ffffff',\n '--color-shadow-dark': tokens.colorShadowDark ?? '#b8bec7',\n '--color-surface-glass': tokens.colorSurfaceGlass ?? 'rgba(255,255,255,0.15)',\n '--shadow-card': shadowMap[tokens.shadowStyle ?? 'none'],\n '--surface-blur': blurMap[tokens.surfaceBlur ?? 'none'],\n '--surface-opacity': String(tokens.surfaceOpacity),\n '--letter-spacing': letterSpacingMap[tokens.letterSpacing ?? 'normal'],\n '--border-radius': borderRadiusMap[tokens.borderRadius],\n '--border-width': `${tokens.borderWidth}px`,\n '--border-style': tokens.borderStyle ?? '',\n '--font-family': tokens.fontFamily,\n '--font-heading': tokens.fontHeading,\n '--font-weight-base': tokens.fontWeightBase ?? '300',\n '--font-weight-heading': tokens.fontWeightHeading ?? '700',\n '--text-transform': tokens.textTransform ?? 'none',\n '--spacing-scale': String(tokens.spacingScale),\n };\n}\n","import React, { useState, useCallback } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { PuckApiProvider, usePuckContentType } from '@commercetools-demo/puck-api';\nimport type { ImportResult } from '@commercetools-demo/puck-types';\nimport Card from '@commercetools-uikit/card';\nimport FlatButton from '@commercetools-uikit/flat-button';\nimport PrimaryButton from '@commercetools-uikit/primary-button';\nimport Spacings from '@commercetools-uikit/spacings';\nimport Text from '@commercetools-uikit/text';\n\ninterface InnerProps {\n backButton?: {\n label: string;\n onClick: () => void;\n icon: React.ReactElement;\n };\n}\n\nexport interface ImportContentTypesProps extends InnerProps {\n baseURL: string;\n projectKey: string;\n businessUnitKey: string;\n jwtToken: string;\n}\n\nconst ImportContentTypesInner: React.FC<InnerProps> = ({ backButton }) => {\n const history = useHistory();\n const { importDefaultContentTypes, loading, error, clearError } =\n usePuckContentType();\n const [result, setResult] = useState<ImportResult | null>(null);\n\n const handleBack = useCallback(() => {\n if (backButton?.onClick) {\n backButton.onClick();\n } else {\n history.push('/');\n }\n }, [backButton, history]);\n\n const handleImport = useCallback(async () => {\n clearError();\n setResult(null);\n try {\n const importResult = await importDefaultContentTypes();\n setResult(importResult);\n } catch {\n // Error is set by the hook\n }\n }, [importDefaultContentTypes, clearError]);\n\n return (\n <Spacings.Stack scale=\"l\">\n {backButton && (\n <FlatButton\n onClick={handleBack}\n label={backButton.label}\n icon={backButton.icon as any}\n >\n {backButton.label}\n </FlatButton>\n )}\n <Text.Headline as=\"h1\">Import default content types</Text.Headline>\n <Text.Body tone=\"secondary\">\n Import default content type definitions from samples. Existing content\n types with the same key may be skipped or cause errors.\n </Text.Body>\n\n {error && (\n <Card>\n <Spacings.Stack scale=\"m\">\n <Text.Headline as=\"h2\">Error</Text.Headline>\n <Text.Body tone=\"critical\">{error}</Text.Body>\n </Spacings.Stack>\n </Card>\n )}\n\n <Spacings.Inline scale=\"m\" justifyContent=\"center\">\n <PrimaryButton\n label={loading ? 'Importing…' : 'Import default content types'}\n onClick={handleImport}\n isDisabled={loading}\n />\n </Spacings.Inline>\n {result && (\n <Card>\n <Spacings.Stack scale=\"m\">\n <Text.Headline as=\"h2\">Result</Text.Headline>\n <Text.Body>\n Imported: {result.imported.length} content type\n {result.imported.length !== 1 ? 's' : ''}.\n </Text.Body>\n {result.imported.length > 0 && (\n <Text.Body tone=\"secondary\">\n {result.imported.join(', ')}\n </Text.Body>\n )}\n {result.failed.length > 0 && (\n <>\n <Text.Body tone=\"critical\">\n Failed: {result.failed.length} content type\n {result.failed.length !== 1 ? 's' : ''}.\n </Text.Body>\n <Spacings.Stack scale=\"s\">\n {result.failed.map(({ key, error: err }) => (\n <Text.Body key={key} tone=\"critical\">\n {key}: {err}\n </Text.Body>\n ))}\n </Spacings.Stack>\n </>\n )}\n </Spacings.Stack>\n </Card>\n )}\n </Spacings.Stack>\n );\n};\n\nconst ImportContentTypes: React.FC<ImportContentTypesProps> = ({\n baseURL,\n projectKey,\n businessUnitKey,\n jwtToken,\n ...innerProps\n}) => (\n <PuckApiProvider\n baseURL={baseURL}\n projectKey={projectKey}\n businessUnitKey={businessUnitKey}\n jwtToken={jwtToken}\n >\n <ImportContentTypesInner {...innerProps} />\n </PuckApiProvider>\n);\n\nexport default ImportContentTypes;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,gBAAwD;AACxD,8BAA2B;AAC3B,sBAAsD;AAEtD,kBAAiB;AACjB,yBAAuB;AACvB,IAAAC,yBAA0B;AAC1B,8BAA4B;AAC5B,IAAAC,sBAAuB;AACvB,0BAAwB;AACxB,IAAAC,uBAAwB;AACxB,IAAAC,mBAAqB;AACrB,kBAAiB;AACjB,wBAAsB;AACtB,6BAA2B;AAC3B,kBAAiB;;;ACbV,IAAM,gBAA6B;AAAA,EACxC,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,aAAa;AAAA,EACb,iBAAiB;AACnB;;;AC9BA,mBAAgC;AAEhC,4BAA0B;AAC1B,0BAAwB;AACxB,sBAAqB;AACrB,yBAAuB;;;ACIhB,IAAM,YAAyB;AAAA,EACpC,cAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,wBAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,0BAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,cAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,sBAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,4BAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,uBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAE3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,eAA2B;AAAA,EAC3B,eAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAC7B;AAOO,IAAM,qBAAkC;AAAA,EAC7C,cAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,wBAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,0BAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,cAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,sBAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,4BAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,uBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAE3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,eAA2B;AAAA,EAC3B,eAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAC7B;AAOO,IAAM,gBAA6B;AAAA,EACxC,cAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,wBAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,0BAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,cAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,sBAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,4BAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,uBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAE3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,eAA2B;AAAA,EAC3B,eAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAC7B;AAOO,IAAM,mBAAgC;AAAA,EAC3C,cAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,wBAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,0BAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,cAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,sBAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,4BAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,uBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAE3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,eAA2B;AAAA,EAC3B,eAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAC7B;AAOO,IAAM,qBAAkC;AAAA,EAC7C,cAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,wBAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,0BAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,cAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,sBAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,4BAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,uBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAE3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,eAA2B;AAAA,EAC3B,eAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAC7B;AAOO,IAAM,iBAA8B;AAAA,EACzC,cAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,wBAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,0BAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,cAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,sBAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,4BAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,uBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAE3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,eAA2B;AAAA,EAC3B,eAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAC7B;AAOO,IAAM,oBAAiC;AAAA,EAC5C,cAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,wBAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,0BAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,cAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,sBAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,4BAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,uBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAE3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,eAA2B;AAAA,EAC3B,eAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAC7B;AAOO,IAAM,kBAA+B;AAAA,EAC1C,cAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,wBAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,0BAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,cAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,sBAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,4BAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,uBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAE3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,eAA2B;AAAA,EAC3B,eAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAC7B;AAOO,IAAM,iBAA8B;AAAA,EACzC,cAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,wBAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,0BAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,cAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,sBAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,4BAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,uBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,WAA2B;AAAA,EAC3B,kBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAE3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,mBAA2B;AAAA,EAC3B,eAA2B;AAAA,EAC3B,eAA2B;AAAA,EAE3B,cAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,YAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAAA,EAC3B,iBAA2B;AAAA,EAC3B,aAA2B;AAAA,EAC3B,gBAA2B;AAC7B;AAgBO,IAAM,eAAoD;AAAA,EAC/D,MAAiB;AAAA,EACjB,eAAiB;AAAA,EACjB,UAAiB;AAAA,EACjB,aAAiB;AAAA,EACjB,eAAiB;AAAA,EACjB,WAAiB;AAAA,EACjB,cAAiB;AAAA,EACjB,YAAiB;AAAA,EACjB,cAAiB;AACnB;AAEO,IAAM,iBAAiD;AAAA,EAC5D,MAAiB;AAAA,EACjB,eAAiB;AAAA,EACjB,UAAiB;AAAA,EACjB,aAAiB;AAAA,EACjB,eAAiB;AAAA,EACjB,WAAiB;AAAA,EACjB,cAAiB;AAAA,EACjB,YAAiB;AAAA,EACjB,cAAiB;AACnB;AAEO,IAAM,uBAAyC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAUA,IAAM,YAAyC;AAAA,EAC7C,MAAe;AAAA,EACf,MAAe;AAAA,EACf,eAAe;AAAA,EACf,YAAe;AAAA,EACf,MAAe;AAAA,EACf,MAAe;AACjB;AAEA,IAAM,UAAuC;AAAA,EAC3C,MAAM;AAAA,EACN,IAAM;AAAA,EACN,IAAM;AAAA,EACN,IAAM;AACR;AAEA,IAAM,mBAAkD;AAAA,EACtD,OAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAQ;AAAA,EACR,OAAQ;AACV;AAEA,IAAM,kBAAgD;AAAA,EACpD,MAAM;AAAA,EACN,IAAM;AAAA,EACN,IAAM;AAAA,EACN,IAAM;AAAA,EACN,MAAM;AACR;AAEO,SAAS,aAAa,QAA6C;AACxE,SAAO;AAAA,IACL,mBAAgC,OAAO;AAAA,IACvC,yBAAgC,OAAO;AAAA,IACvC,8BAAgC,OAAO,0BAA2B;AAAA,IAClE,qBAAgC,OAAO;AAAA,IACvC,gCAAgC,OAAO,4BAA4B;AAAA,IACnE,sBAAgC,OAAO;AAAA,IACvC,mBAAgC,OAAO;AAAA,IACvC,gBAAgC,OAAO;AAAA,IACvC,sBAAgC,OAAO;AAAA,IACvC,sBAAgC,OAAO,mBAA4B,OAAO;AAAA,IAC1E,iBAAgC,OAAO,cAA4B,OAAO;AAAA,IAC1E,4BAAgC,OAAO,wBAA4B,OAAO;AAAA,IAC1E,uBAAgC,OAAO,oBAA4B;AAAA,IACnE,kCAAiC,OAAO,8BAA8B;AAAA,IACtE,kBAAgC,OAAO,eAA4B,OAAO;AAAA,IAC1E,6BAAgC,OAAO,yBAA4B;AAAA,IACnE,kBAAgC,OAAO,eAA4B;AAAA,IACnE,iBAAgC,OAAO,cAA4B,OAAO;AAAA,IAC1E,gBAAgC,OAAO,aAA4B,OAAO;AAAA,IAC1E,wBAAgC,OAAO,oBAA4B;AAAA,IACnE,uBAAgC,OAAO,mBAA4B;AAAA,IACnE,yBAAgC,OAAO,qBAA4B;AAAA,IACnE,iBAAgC,UAAU,OAAO,eAAe,MAAM;AAAA,IACtE,kBAAgC,QAAQ,OAAO,eAAe,MAAM;AAAA,IACpE,qBAAgC,OAAO,OAAO,cAAc;AAAA,IAC5D,oBAAgC,iBAAiB,OAAO,iBAAiB,QAAQ;AAAA,IACjF,mBAAgC,gBAAgB,OAAO,YAAY;AAAA,IACnE,kBAAgC,GAAG,OAAO,WAAW;AAAA,IACrD,kBAAgC,OAAO,eAAe;AAAA,IACtD,iBAAgC,OAAO;AAAA,IACvC,kBAAgC,OAAO;AAAA,IACvC,sBAAgC,OAAO,kBAAkB;AAAA,IACzD,yBAAgC,OAAO,qBAAqB;AAAA,IAC5D,oBAAgC,OAAO,iBAAiB;AAAA,IACxD,mBAAgC,OAAO,OAAO,YAAY;AAAA,EAC5D;AACF;;;ADriBM;AAzBN,IAAM,iBAAiB;AAAA,EACrB,EAAE,OAAO,IAAI,OAAO,wBAAmB;AAAA,EACvC,GAAG,qBAAqB,IAAI,CAAC,SAAyB;AAAA,IACpD,OAAO;AAAA,IACP,OAAO,eAAe,GAAG;AAAA,EAC3B,EAAE;AACJ;AAMA,IAAM,sBAA0D,CAAC;AAAA,EAC/D;AACF,MAAM;AACJ,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAiB,EAAE;AAEzD,QAAM,cAAc,MAAM;AACxB,QAAI,eAAe,eAAe,cAAc;AAC9C,qBAAe,aAAa,WAA6B,CAAC;AAAA,IAC5D;AAAA,EACF;AAEA,SACE,6CAAC,gBAAAC,QAAS,OAAT,EAAe,OAAM,KACpB;AAAA,gDAAC,mBAAAC,SAAA,EAAW,OAAM,sBAAqB,SAAQ,uBAAsB;AAAA,IACrE,6CAAC,gBAAAD,QAAS,QAAT,EAAgB,OAAM,KAAI,YAAW,UACpC;AAAA;AAAA,QAAC,oBAAAE;AAAA,QAAA;AAAA,UACC,IAAG;AAAA,UACH,OAAO;AAAA,UACP,UAAU,CAAC,MAAM;AACf,kBAAM,IAAI,EAAE,OAAO;AACnB,2BAAe,OAAO,MAAM,WAAW,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE;AAAA,UAC/E;AAAA,UACA,SAAS;AAAA;AAAA,MACX;AAAA,MACA;AAAA,QAAC,sBAAAC;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,SAAS;AAAA,UACT,YAAY,CAAC;AAAA;AAAA,MACf;AAAA,OACF;AAAA,KACF;AAEJ;AAEA,IAAO,gCAAQ;;;AFoLP,IAAAC,sBAAA;AA5NR,IAAM,wBAAwB;AAAA,EAC5B,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,EAC/B,EAAE,OAAO,MAAM,OAAO,QAAQ;AAAA,EAC9B,EAAE,OAAO,MAAM,OAAO,SAAS;AAAA,EAC/B,EAAE,OAAO,MAAM,OAAO,QAAQ;AAAA,EAC9B,EAAE,OAAO,QAAQ,OAAO,OAAO;AACjC;AAEA,IAAM,uBAAuB;AAAA,EAC3B,EAAE,OAAO,KAAK,OAAO,IAAI;AAAA,EACzB,EAAE,OAAO,KAAK,OAAO,IAAI;AAAA,EACzB,EAAE,OAAO,KAAK,OAAO,IAAI;AAC3B;AAEA,IAAM,uBAAuB;AAAA,EAC3B,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,EACjC,EAAE,OAAO,WAAW,OAAO,UAAU;AAAA,EACrC,EAAE,OAAO,SAAS,OAAO,QAAQ;AACnC;AAEA,IAAM,sBAAsB;AAAA,EAC1B,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,EAC/B,EAAE,OAAO,MAAM,OAAO,QAAQ;AAAA,EAC9B,EAAE,OAAO,MAAM,OAAO,SAAS;AAAA,EAC/B,EAAE,OAAO,MAAM,OAAO,QAAQ;AAChC;AAEA,IAAM,uBAAuB;AAAA,EAC3B,EAAE,OAAO,eAAe,OAAO,cAAc;AAAA,EAC7C,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,EACjC,EAAE,OAAO,WAAW,OAAO,UAAU;AACvC;AAEA,IAAM,uBAAuB;AAAA,EAC3B,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,EAC/B,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,EAC/B,EAAE,OAAO,eAAe,OAAO,cAAc;AAAA,EAC7C,EAAE,OAAO,cAAc,OAAO,aAAa;AAAA,EAC3C,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,EAC/B,EAAE,OAAO,QAAQ,OAAO,OAAO;AACjC;AAEA,IAAM,uBAAuB;AAAA,EAC3B,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,EAC/B,EAAE,OAAO,MAAM,OAAO,QAAQ;AAAA,EAC9B,EAAE,OAAO,MAAM,OAAO,SAAS;AAAA,EAC/B,EAAE,OAAO,MAAM,OAAO,QAAQ;AAChC;AAEA,IAAM,2BAA2B;AAAA,EAC/B,EAAE,OAAO,OAAO,OAAO,MAAM;AAAA,EAC7B,EAAE,OAAO,OAAO,OAAO,MAAM;AAAA,EAC7B,EAAE,OAAO,OAAO,OAAO,MAAM;AAC/B;AAEA,IAAM,8BAA8B;AAAA,EAClC,EAAE,OAAO,OAAO,OAAO,MAAM;AAAA,EAC7B,EAAE,OAAO,OAAO,OAAO,MAAM;AAAA,EAC7B,EAAE,OAAO,OAAO,OAAO,MAAM;AAAA,EAC7B,EAAE,OAAO,OAAO,OAAO,MAAM;AAC/B;AAEA,IAAM,yBAAyB;AAAA,EAC7B,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,EACjC,EAAE,OAAO,UAAU,OAAO,SAAS;AAAA,EACnC,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,EAC/B,EAAE,OAAO,SAAS,OAAO,QAAQ;AACnC;AAEA,IAAM,yBAAyB;AAAA,EAC7B,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,EAC/B,EAAE,OAAO,aAAa,OAAO,YAAY;AAC3C;AAEA,IAAM,uBAAuB;AAAA,EAC3B,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,EACjC,EAAE,OAAO,UAAU,OAAO,SAAS;AAAA,EACnC,EAAE,OAAO,UAAU,OAAO,SAAS;AACrC;AAEA,IAAM,2BAA2B;AAAA,EAC/B,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,EACjC,EAAE,OAAO,YAAY,OAAO,WAAW;AAAA,EACvC,EAAE,OAAO,SAAS,OAAO,QAAQ;AACnC;AAiBA,IAAM,mBAAyC,CAAC,EAAE,WAAW,MAAM;AACjE,QAAM,cAAU,oCAAW;AAC3B,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,sCAAqB;AAEzB,QAAM,CAAC,YAAY,aAAa,QAAI,wBAAsB,aAAa;AACvE,QAAM,CAAC,QAAQ,SAAS,QAAI,wBAAS,KAAK;AAC1C,QAAM,CAAC,aAAa,cAAc,QAAI,wBAAS,KAAK;AACpD,QAAM,CAAC,kBAAkB,mBAAmB,QAAI,wBAAS,KAAK;AAE9D,QAAM,uBAAmB,2BAAY,CAAC,MAAsC;AAC1E,QAAI,KAAK,QAAQ,OAAO,MAAM,UAAU;AACtC,oBAAc,aAAa;AAC3B;AAAA,IACF;AACA,kBAAc;AAAA,MACZ,GAAG;AAAA,MACH,GAAG;AAAA,MACH,cAAc,EAAE,gBAAgB,cAAc;AAAA,MAC9C,mBAAmB,EAAE,qBAAqB,cAAc;AAAA,MACxD,gBAAgB,EAAE,kBAAkB,cAAc;AAAA,MAClD,iBAAiB,EAAE,mBAAmB,cAAc;AAAA,MACpD,cAAc,EAAE,gBAAgB,cAAc;AAAA,MAC9C,WAAW,EAAE,aAAa,cAAc;AAAA,MACxC,gBAAgB,EAAE,kBAAkB,cAAc;AAAA,MAClD,cAAc,EAAE,gBAAgB,cAAc;AAAA,MAC9C,aAAa,EAAE,eAAe,cAAc;AAAA,MAC5C,YAAY,EAAE,cAAc,cAAc;AAAA,MAC1C,aAAa,EAAE,eAAe,cAAc;AAAA,MAC5C,cACE,OAAO,EAAE,iBAAiB,WACtB,EAAE,eACF,cAAc;AAAA,MACpB,aAAa,EAAE,eAAe,cAAc;AAAA,MAC5C,YAAY,EAAE,cAAc,cAAc;AAAA,MAC1C,aAAa,EAAE,eAAe,cAAc;AAAA,MAC5C,wBAAwB,EAAE,0BAA0B;AAAA,MACpD,0BAA0B,EAAE,4BAA4B;AAAA,MACxD,iBAAiB,EAAE,mBAAmB;AAAA,MACtC,YAAY,EAAE,cAAc;AAAA,MAC5B,sBAAsB,EAAE,wBAAwB;AAAA,MAChD,kBAAkB,EAAE,oBAAoB;AAAA,MACxC,4BAA4B,EAAE,8BAA8B;AAAA,MAC5D,aAAa,EAAE,eAAe;AAAA,MAC9B,uBAAuB,EAAE,yBAAyB;AAAA,MAClD,aAAa,EAAE,eAAe;AAAA,MAC9B,YAAY,EAAE,cAAc;AAAA,MAC5B,WAAW,EAAE,aAAa;AAAA,MAC1B,kBAAkB,EAAE,oBAAoB,cAAc;AAAA,MACtD,iBAAiB,EAAE,mBAAmB,cAAc;AAAA,MACpD,mBAAmB,EAAE,qBAAqB,cAAc;AAAA,MACxD,aAAa,EAAE,eAAe,cAAc;AAAA,MAC5C,aAAa,EAAE,eAAe,cAAc;AAAA,MAC5C,gBACE,OAAO,EAAE,mBAAmB,WACxB,EAAE,iBACF,cAAc;AAAA,MACpB,gBAAgB,EAAE,kBAAkB,cAAc;AAAA,MAClD,mBAAmB,EAAE,qBAAqB,cAAc;AAAA,MACxD,eAAe,EAAE,iBAAiB,cAAc;AAAA,MAChD,eAAe,EAAE,iBAAiB,cAAc;AAAA,MAChD,aAAa,EAAE,eAAe,cAAc;AAAA,MAC5C,iBAAiB,EAAE,mBAAmB,cAAc;AAAA,IACtD,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,+BAAU,MAAM;AACd,SAAK,WAAW;AAAA,EAClB,GAAG,CAAC,UAAU,CAAC;AAEf,+BAAU,MAAM;AACd,qBAAiB,KAAK;AAAA,EACxB,GAAG,CAAC,OAAO,gBAAgB,CAAC;AAE5B,QAAM,mBAAe;AAAA,IACnB,CAA8B,KAAQ,UAA0B;AAC9D,oBAAc,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,EAAE;AACnD,qBAAe,KAAK;AAAA,IACtB;AAAA,IACA,CAAC;AAAA,EACH;AAEA,QAAM,iBAAa,2BAAY,YAAY;AACzC,cAAU,IAAI;AACd,mBAAe,KAAK;AACpB,eAAW;AACX,QAAI;AACF,YAAM,UAAU,UAAU;AAC1B,qBAAe,IAAI;AAAA,IACrB,UAAE;AACA,gBAAU,KAAK;AAAA,IACjB;AAAA,EACF,GAAG,CAAC,YAAY,WAAW,UAAU,CAAC;AAEtC,QAAM,2BAAuB,2BAAY,YAAY;AACnD,kBAAc,aAAa;AAC3B,mBAAe,KAAK;AACpB,QAAI,SAAS,MAAM;AACjB,gBAAU,IAAI;AACd,iBAAW;AACX,UAAI;AACF,cAAM,YAAY,aAAa;AAC/B,uBAAe,IAAI;AAAA,MACrB,UAAE;AACA,kBAAU,KAAK;AAAA,MACjB;AAAA,IACF;AAAA,EACF,GAAG,CAAC,OAAO,aAAa,UAAU,CAAC;AAEnC,MAAI,WAAW,SAAS,MAAM;AAC5B,WACE,6CAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,gBAAgB,UAAU,YAAY,SAAS,GAC5E,uDAAC,uBAAAC,SAAA,EAAe,GAClB;AAAA,EAEJ;AAEA,SACE,8CAAC,iBAAAC,QAAS,OAAT,EAAe,OAAM,KACnB;AAAA,kBACC;AAAA,MAAC,mBAAAC;AAAA,MAAA;AAAA,QACC,SAAS,MAAM,QAAQ,KAAK,GAAG;AAAA,QAC/B,OAAO,WAAW;AAAA,QAClB,MAAM,WAAW;AAAA,QAEhB,qBAAW;AAAA;AAAA,IACd;AAAA,IAEF,6CAAC,SAAI,OAAO,EAAE,SAAS,SAAS,GAC9B,wDAAC,iBAAAD,QAAS,OAAT,EAAe,OAAM,KAAI,YAAW,cACnC;AAAA,mDAAC,YAAAE,QAAK,UAAL,EAAc,IAAG,MAAK,mBAAK;AAAA,MAC5B,6CAAC,YAAAA,QAAK,MAAL,EAAU,MAAK,aAAY,0EAE5B;AAAA,OACF,GACF;AAAA,IACC,SACC,6CAAC,YAAAC,SAAA,EACC,wDAAC,iBAAAH,QAAS,OAAT,EAAe,OAAM,KACpB;AAAA,mDAAC,YAAAE,QAAK,UAAL,EAAc,IAAG,MAAK,mBAAK;AAAA,MAC5B,6CAAC,YAAAA,QAAK,MAAL,EAAU,MAAK,YAAY,iBAAM;AAAA,OACpC,GACF;AAAA,IAGD,eACC,6CAAC,YAAAA,QAAK,MAAL,EAAU,MAAK,YAAW,uCAAyB;AAAA,IAGtD,8CAAC,iBAAAF,QAAS,OAAT,EAAe,OAAM,KACpB;AAAA,mDAAC,SAAI,OAAO,EAAE,SAAS,SAAS,GAC9B,uDAAC,iBAAAA,QAAS,QAAT,EAAgB,OAAM,KACrB,uDAAC,iCAAoB,gBAAgB,kBAAkB,GACzD,GACF;AAAA,MACA,8CAAC,iBAAAA,QAAS,OAAT,EAAe,OAAM,KACpB;AAAA,qDAAC,SAAI,OAAO,EAAE,SAAS,SAAS,GAC9B;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS,MAAM,oBAAoB,CAAC,SAAS,CAAC,IAAI;AAAA,YAClD,iBAAe;AAAA,YACf,OAAO;AAAA,cACL,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,gBAAgB;AAAA,cAChB,OAAO;AAAA,cACP,SAAS;AAAA,cACT,QAAQ;AAAA,cACR,QAAQ;AAAA,cACR,cAAc;AAAA,cACd,QAAQ;AAAA,cACR,MAAM;AAAA,cACN,WAAW;AAAA,cACX,YAAY;AAAA,YACd;AAAA,YAEA;AAAA,2DAAC,YAAAE,QAAK,UAAL,EAAc,IAAG,MAAK,iCAAmB;AAAA,cAC1C;AAAA,gBAAC;AAAA;AAAA,kBACC,OAAO;AAAA,oBACL,SAAS;AAAA,oBACT,OAAO;AAAA,oBACP,QAAQ;AAAA,oBACR,YAAY;AAAA,oBACZ,aAAa;AAAA,oBACb,WAAW;AAAA,oBACX,WAAW,mBAAmB,mBAAmB;AAAA,oBACjD,SAAS;AAAA,kBACX;AAAA;AAAA,cACF;AAAA;AAAA;AAAA,QACF,GACF;AAAA,QACC,oBACC,6CAAC,SAAI,OAAO,EAAE,SAAS,SAAS,GAC9B,uDAAC,iBAAAF,QAAS,OAAT,EAAe,OAAM,KACpB,wDAAC,iBAAAA,QAAS,OAAT,EAAe,OAAM,MACpB;AAAA,uDAAC,YAAAE,QAAK,UAAL,EAAc,IAAG,MAAK,oBAAM;AAAA,UAC7B;AAAA,YAAC,YAAAE;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,iBAAgB;AAAA,cAChB,qBAAoB;AAAA,cAEpB;AAAA,6DAAC,YAAAA,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,WAAU,SAAQ,gBAAe;AAAA,kBACnD,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW;AAAA,wBAClB,UAAU,CAAC,MACT,aAAa,gBAAgB,EAAE,OAAO,KAAK;AAAA,wBAE7C,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,OAAO,WAAW;AAAA,wBAClB,UAAU,CAAC,MACT,aAAa,gBAAgB,EAAE,OAAO,KAAK;AAAA,wBAE7C,sBAAsB;AAAA;AAAA,oBACxB;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA;AAAA,oBAAC,oBAAAC;AAAA,oBAAA;AAAA,sBACC,OAAM;AAAA,sBACN,SAAQ;AAAA;AAAA,kBACV;AAAA,kBACA,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW;AAAA,wBAClB,UAAU,CAAC,MACT,aAAa,qBAAqB,EAAE,OAAO,KAAK;AAAA,wBAElD,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW;AAAA,wBAClB,UAAU,CAAC,MACT,aAAa,qBAAqB,EAAE,OAAO,KAAK;AAAA;AAAA,oBAEpD;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,aAAY,SAAQ,kBAAiB;AAAA,kBACvD,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW;AAAA,wBAClB,UAAU,CAAC,MACT,aAAa,kBAAkB,EAAE,OAAO,KAAK;AAAA,wBAE/C,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW;AAAA,wBAClB,UAAU,CAAC,MACT,aAAa,kBAAkB,EAAE,OAAO,KAAK;AAAA;AAAA,oBAEjD;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA;AAAA,oBAAC,oBAAAC;AAAA,oBAAA;AAAA,sBACC,OAAM;AAAA,sBACN,SAAQ;AAAA;AAAA,kBACV;AAAA,kBACA,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW;AAAA,wBAClB,UAAU,CAAC,MACT,aAAa,mBAAmB,EAAE,OAAO,KAAK;AAAA,wBAEhD,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW;AAAA,wBAClB,UAAU,CAAC,MACT,aAAa,mBAAmB,EAAE,OAAO,KAAK;AAAA;AAAA,oBAElD;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,WAAU,SAAQ,gBAAe;AAAA,kBACnD,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW;AAAA,wBAClB,UAAU,CAAC,MACT,aAAa,gBAAgB,EAAE,OAAO,KAAK;AAAA,wBAE7C,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW;AAAA,wBAClB,UAAU,CAAC,MACT,aAAa,gBAAgB,EAAE,OAAO,KAAK;AAAA;AAAA,oBAE/C;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,QAAO,SAAQ,aAAY;AAAA,kBAC7C,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW;AAAA,wBAClB,UAAU,CAAC,MACT,aAAa,aAAa,EAAE,OAAO,KAAK;AAAA,wBAE1C,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW;AAAA,wBAClB,UAAU,CAAC,MACT,aAAa,aAAa,EAAE,OAAO,KAAK;AAAA;AAAA,oBAE5C;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,cAAa,SAAQ,kBAAiB;AAAA,kBACxD,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW;AAAA,wBAClB,UAAU,CAAC,MACT,aAAa,kBAAkB,EAAE,OAAO,KAAK;AAAA,wBAE/C,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW;AAAA,wBAClB,UAAU,CAAC,MACT,aAAa,kBAAkB,EAAE,OAAO,KAAK;AAAA;AAAA,oBAEjD;AAAA,qBACF;AAAA,mBACF,GACF;AAAA;AAAA;AAAA,UACF;AAAA,UAEA,6CAAC,YAAAJ,QAAK,UAAL,EAAc,IAAG,MAAK,6BAAe;AAAA,UACtC,6CAAC,YAAAA,QAAK,MAAL,EAAU,MAAK,aAAY,yGAG5B;AAAA,UACA;AAAA,YAAC,YAAAE;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,iBAAgB;AAAA,cAChB,qBAAoB;AAAA,cAEpB;AAAA,6DAAC,YAAAA,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA;AAAA,oBAAC,oBAAAC;AAAA,oBAAA;AAAA,sBACC,OAAM;AAAA,sBACN,SAAQ;AAAA;AAAA,kBACV;AAAA,kBACA,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW,0BAA0B;AAAA,wBAC5C,UAAU,CAAC,MACT,aAAa,0BAA0B,EAAE,OAAO,KAAK;AAAA,wBAEvD,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW,0BAA0B;AAAA,wBAC5C,UAAU,CAAC,MACT;AAAA,0BACE;AAAA,0BACC,EAAE,OAA4B;AAAA,wBACjC;AAAA;AAAA,oBAEJ;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA;AAAA,oBAAC,oBAAAC;AAAA,oBAAA;AAAA,sBACC,OAAM;AAAA,sBACN,SAAQ;AAAA;AAAA,kBACV;AAAA,kBACA,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW,4BAA4B;AAAA,wBAC9C,UAAU,CAAC,MACT,aAAa,4BAA4B,EAAE,OAAO,KAAK;AAAA,wBAEzD,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW,4BAA4B;AAAA,wBAC9C,UAAU,CAAC,MACT;AAAA,0BACE;AAAA,0BACC,EAAE,OAA4B;AAAA,wBACjC;AAAA;AAAA,oBAEJ;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,cAAa,SAAQ,mBAAkB;AAAA,kBACzD,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW,mBAAmB;AAAA,wBACrC,UAAU,CAAC,MACT,aAAa,mBAAmB,EAAE,OAAO,KAAK;AAAA,wBAEhD,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW,mBAAmB;AAAA,wBACrC,UAAU,CAAC,MACT;AAAA,0BACE;AAAA,0BACC,EAAE,OAA4B;AAAA,wBACjC;AAAA;AAAA,oBAEJ;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,SAAQ,SAAQ,cAAa;AAAA,kBAC/C,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW,cAAc;AAAA,wBAChC,UAAU,CAAC,MACT,aAAa,cAAc,EAAE,OAAO,KAAK;AAAA,wBAE3C,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW,cAAc;AAAA,wBAChC,UAAU,CAAC,MACT;AAAA,0BACE;AAAA,0BACC,EAAE,OAA4B;AAAA,wBACjC;AAAA;AAAA,oBAEJ;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA;AAAA,oBAAC,oBAAAC;AAAA,oBAAA;AAAA,sBACC,OAAM;AAAA,sBACN,SAAQ;AAAA;AAAA,kBACV;AAAA,kBACA,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW,wBAAwB;AAAA,wBAC1C,UAAU,CAAC,MACT,aAAa,wBAAwB,EAAE,OAAO,KAAK;AAAA,wBAErD,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW,wBAAwB;AAAA,wBAC1C,UAAU,CAAC,MACT;AAAA,0BACE;AAAA,0BACC,EAAE,OAA4B;AAAA,wBACjC;AAAA;AAAA,oBAEJ;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,eAAc,SAAQ,oBAAmB;AAAA,kBAC3D,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW,oBAAoB;AAAA,wBACtC,UAAU,CAAC,MACT,aAAa,oBAAoB,EAAE,OAAO,KAAK;AAAA,wBAEjD,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW,oBAAoB;AAAA,wBACtC,UAAU,CAAC,MACT;AAAA,0BACE;AAAA,0BACC,EAAE,OAA4B;AAAA,wBACjC;AAAA;AAAA,oBAEJ;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA;AAAA,oBAAC,oBAAAC;AAAA,oBAAA;AAAA,sBACC,OAAM;AAAA,sBACN,SAAQ;AAAA;AAAA,kBACV;AAAA,kBACA,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW,8BAA8B;AAAA,wBAChD,UAAU,CAAC,MACT,aAAa,8BAA8B,EAAE,OAAO,KAAK;AAAA,wBAE3D,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW,8BAA8B;AAAA,wBAChD,UAAU,CAAC,MACT;AAAA,0BACE;AAAA,0BACC,EAAE,OAA4B;AAAA,wBACjC;AAAA;AAAA,oBAEJ;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,UAAS,SAAQ,eAAc;AAAA,kBACjD,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW,eAAe;AAAA,wBACjC,UAAU,CAAC,MACT,aAAa,eAAe,EAAE,OAAO,KAAK;AAAA,wBAE5C,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW,eAAe;AAAA,wBACjC,UAAU,CAAC,MACT;AAAA,0BACE;AAAA,0BACC,EAAE,OAA4B;AAAA,wBACjC;AAAA;AAAA,oBAEJ;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA;AAAA,oBAAC,oBAAAC;AAAA,oBAAA;AAAA,sBACC,OAAM;AAAA,sBACN,SAAQ;AAAA;AAAA,kBACV;AAAA,kBACA,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW,yBAAyB;AAAA,wBAC3C,UAAU,CAAC,MACT,aAAa,yBAAyB,EAAE,OAAO,KAAK;AAAA,wBAEtD,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW,yBAAyB;AAAA,wBAC3C,UAAU,CAAC,MACT;AAAA,0BACE;AAAA,0BACC,EAAE,OAA4B;AAAA,wBACjC;AAAA;AAAA,oBAEJ;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,UAAS,SAAQ,eAAc;AAAA,kBACjD,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW,eAAe;AAAA,wBACjC,UAAU,CAAC,MACT,aAAa,eAAe,EAAE,OAAO,KAAK;AAAA,wBAE5C,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW,eAAe;AAAA,wBACjC,UAAU,CAAC,MACT;AAAA,0BACE;AAAA,0BACC,EAAE,OAA4B;AAAA,wBACjC;AAAA;AAAA,oBAEJ;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,SAAQ,SAAQ,cAAa;AAAA,kBAC/C,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW,cAAc;AAAA,wBAChC,UAAU,CAAC,MACT,aAAa,cAAc,EAAE,OAAO,KAAK;AAAA,wBAE3C,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW,cAAc;AAAA,wBAChC,UAAU,CAAC,MACT;AAAA,0BACE;AAAA,0BACC,EAAE,OAA4B;AAAA,wBACjC;AAAA;AAAA,oBAEJ;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,QAAO,SAAQ,aAAY;AAAA,kBAC7C,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW,aAAa;AAAA,wBAC/B,UAAU,CAAC,MACT,aAAa,aAAa,EAAE,OAAO,KAAK;AAAA,wBAE1C,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW,aAAa;AAAA,wBAC/B,UAAU,CAAC,MACT;AAAA,0BACE;AAAA,0BACC,EAAE,OAA4B;AAAA,wBACjC;AAAA;AAAA,oBAEJ;AAAA,qBACF;AAAA,mBACF,GACF;AAAA;AAAA;AAAA,UACF;AAAA,UAEA,6CAAC,YAAAJ,QAAK,UAAL,EAAc,IAAG,MAAK,wBAAU;AAAA,UACjC;AAAA,YAAC,YAAAE;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,iBAAgB;AAAA,cAChB,qBAAoB;AAAA,cAEpB;AAAA,6DAAC,YAAAA,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,eAAc,SAAQ,cAAa;AAAA,kBACrD;AAAA,oBAAC,kBAAAC;AAAA,oBAAA;AAAA,sBACC,sBAAsB;AAAA,sBACtB,IAAG;AAAA,sBACH,OAAO,WAAW;AAAA,sBAClB,UAAU,CAAC,MACT,aAAa,cAAc,EAAE,OAAO,KAAK;AAAA;AAAA,kBAE7C;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,gBAAe,SAAQ,eAAc;AAAA,kBACvD;AAAA,oBAAC,kBAAAC;AAAA,oBAAA;AAAA,sBACC,sBAAsB;AAAA,sBACtB,IAAG;AAAA,sBACH,OAAO,WAAW;AAAA,sBAClB,UAAU,CAAC,MACT,aAAa,eAAe,EAAE,OAAO,KAAK;AAAA;AAAA,kBAE9C;AAAA,mBACF,GACF;AAAA;AAAA;AAAA,UACF;AAAA,UAEA,6CAAC,YAAAJ,QAAK,UAAL,EAAc,IAAG,MAAK,iCAAuB;AAAA,UAC9C;AAAA,YAAC,YAAAE;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,iBAAgB;AAAA,cAChB,qBAAoB;AAAA,cAEpB;AAAA,6DAAC,YAAAA,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,iBAAgB,SAAQ,gBAAe;AAAA,kBACzD;AAAA,oBAAC,oBAAAE;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,sBAAsB;AAAA,sBACtB,OAAO,WAAW;AAAA,sBAClB,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACA,EAAE,OAAO,UAAU,KAAK,IAAI,OAAO,EAAE,OAAO,KAAK;AAAA,sBACnD;AAAA;AAAA,kBAEJ;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAH,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,iBAAgB,SAAQ,gBAAe;AAAA,kBACzD;AAAA,oBAAC,qBAAAG;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,sBAAsB;AAAA,sBACtB,OAAO,WAAW;AAAA,sBAClB,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACA,EAAE,OAAO;AAAA,sBACX;AAAA,sBAEF,SAAS;AAAA;AAAA,kBACX;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAJ,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,gBAAe,SAAQ,eAAc;AAAA,kBACvD;AAAA,oBAAC,qBAAAG;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,sBAAsB;AAAA,sBACtB,OAAO,WAAW;AAAA,sBAClB,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACA,EAAE,OAAO;AAAA,sBACX;AAAA,sBAEF,SAAS;AAAA;AAAA,kBACX;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAJ,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,gBAAe,SAAQ,eAAc;AAAA,kBACvD;AAAA,oBAAC,qBAAAG;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,sBAAsB;AAAA,sBACtB,OAAO,WAAW;AAAA,sBAClB,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACA,EAAE,OAAO;AAAA,sBACX;AAAA,sBAEF,SAAS;AAAA;AAAA,kBACX;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAJ,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,eAAc,SAAQ,cAAa;AAAA,kBACrD;AAAA,oBAAC,qBAAAG;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,sBAAsB;AAAA,sBACtB,OAAO,WAAW;AAAA,sBAClB,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACA,EAAE,OAAO;AAAA,sBACX;AAAA,sBAEF,SAAS;AAAA;AAAA,kBACX;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAJ,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,gBAAe,SAAQ,eAAc;AAAA,kBACvD;AAAA,oBAAC,qBAAAG;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,sBAAsB;AAAA,sBACtB,OAAO,WAAW;AAAA,sBAClB,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACA,EAAE,OAAO;AAAA,sBACX;AAAA,sBAEF,SAAS;AAAA;AAAA,kBACX;AAAA,mBACF,GACF;AAAA;AAAA;AAAA,UACF;AAAA,UAEA,6CAAC,YAAAN,QAAK,UAAL,EAAc,IAAG,MAAK,8BAAoB;AAAA,UAC3C;AAAA,YAAC,YAAAE;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,iBAAgB;AAAA,cAChB,qBAAoB;AAAA,cAEpB;AAAA,6DAAC,YAAAA,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,gBAAe,SAAQ,oBAAmB;AAAA,kBAC5D,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW,oBAAoB;AAAA,wBACtC,UAAU,CAAC,MACT,aAAa,oBAAoB,EAAE,OAAO,KAAK;AAAA,wBAEjD,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW,oBAAoB;AAAA,wBACtC,UAAU,CAAC,MACT;AAAA,0BACE;AAAA,0BACC,EAAE,OAA4B;AAAA,wBACjC;AAAA;AAAA,oBAEJ;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,eAAc,SAAQ,mBAAkB;AAAA,kBAC1D,8CAAC,iBAAAL,QAAS,QAAT,EAAgB,YAAW,UAAS,OAAM,KACzC;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACC,MAAK;AAAA,wBACL,IAAG;AAAA,wBACH,OAAO,WAAW,mBAAmB;AAAA,wBACrC,UAAU,CAAC,MACT,aAAa,mBAAmB,EAAE,OAAO,KAAK;AAAA,wBAEhD,OAAO,EAAE,OAAO,IAAI,QAAQ,IAAI,QAAQ,UAAU;AAAA;AAAA,oBACpD;AAAA,oBACA;AAAA,sBAAC,kBAAAM;AAAA,sBAAA;AAAA,wBACC,sBAAsB;AAAA,wBACtB,OAAO,WAAW,mBAAmB;AAAA,wBACrC,UAAU,CAAC,MACT;AAAA,0BACE;AAAA,0BACC,EAAE,OAA4B;AAAA,wBACjC;AAAA;AAAA,oBAEJ;AAAA,qBACF;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,iBAAgB,SAAQ,qBAAoB;AAAA,kBAC9D;AAAA,oBAAC,kBAAAC;AAAA,oBAAA;AAAA,sBACC,sBAAsB;AAAA,sBACtB,IAAG;AAAA,sBACH,OAAO,WAAW,qBAAqB;AAAA,sBACvC,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACC,EAAE,OAA4B;AAAA,sBACjC;AAAA;AAAA,kBAEJ;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAF,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,gBAAe,SAAQ,eAAc;AAAA,kBACvD;AAAA,oBAAC,qBAAAG;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,sBAAsB;AAAA,sBACtB,OAAO,WAAW,eAAe,cAAc;AAAA,sBAC/C,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACA,EAAE,OAAO;AAAA,sBACX;AAAA,sBAEF,SAAS;AAAA;AAAA,kBACX;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAJ,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,gBAAe,SAAQ,eAAc;AAAA,kBACvD;AAAA,oBAAC,qBAAAG;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,sBAAsB;AAAA,sBACtB,OAAO,WAAW,eAAe,cAAc;AAAA,sBAC/C,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACA,EAAE,OAAO;AAAA,sBACX;AAAA,sBAEF,SAAS;AAAA;AAAA,kBACX;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAJ,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,mBAAkB,SAAQ,kBAAiB;AAAA,kBAC7D;AAAA,oBAAC,oBAAAE;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,sBAAsB;AAAA,sBACtB,OAAO,WAAW,kBAAkB;AAAA,sBACpC,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACA,EAAE,OAAO,UAAU,KACf,IACA,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,OAAO,EAAE,OAAO,KAAK,CAAC,CAAC;AAAA,sBACrD;AAAA;AAAA,kBAEJ;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAH,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,gBAAe,SAAQ,eAAc;AAAA,kBACvD;AAAA,oBAAC,qBAAAG;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,sBAAsB;AAAA,sBACtB,OAAO,WAAW,eAAe,cAAc;AAAA,sBAC/C,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACA,EAAE,OAAO;AAAA,sBACX;AAAA,sBAEF,SAAS;AAAA;AAAA,kBACX;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAJ,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,oBAAmB,SAAQ,mBAAkB;AAAA,kBAC/D;AAAA,oBAAC,qBAAAG;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,sBAAsB;AAAA,sBACtB,OAAO,WAAW,mBAAmB,cAAc;AAAA,sBACnD,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACA,EAAE,OAAO;AAAA,sBACX;AAAA,sBAEF,SAAS;AAAA;AAAA,kBACX;AAAA,mBACF,GACF;AAAA;AAAA;AAAA,UACF;AAAA,UAEA,6CAAC,YAAAN,QAAK,UAAL,EAAc,IAAG,MAAK,6CAEvB;AAAA,UACA;AAAA,YAAC,YAAAE;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,iBAAgB;AAAA,cAChB,qBAAoB;AAAA,cAEpB;AAAA,6DAAC,YAAAA,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,oBAAmB,SAAQ,kBAAiB;AAAA,kBAC9D;AAAA,oBAAC,qBAAAG;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,sBAAsB;AAAA,sBACtB,OAAO,WAAW,kBAAkB,cAAc;AAAA,sBAClD,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACA,EAAE,OAAO;AAAA,sBACX;AAAA,sBAEF,SAAS;AAAA;AAAA,kBACX;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAJ,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,uBAAsB,SAAQ,qBAAoB;AAAA,kBACpE;AAAA,oBAAC,qBAAAG;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,sBAAsB;AAAA,sBACtB,OAAO,WAAW,qBAAqB,cAAc;AAAA,sBACrD,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACA,EAAE,OAAO;AAAA,sBACX;AAAA,sBAEF,SAAS;AAAA;AAAA,kBACX;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAJ,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,kBAAiB,SAAQ,iBAAgB;AAAA,kBAC3D;AAAA,oBAAC,qBAAAG;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,sBAAsB;AAAA,sBACtB,OAAO,WAAW,iBAAiB,cAAc;AAAA,sBACjD,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACA,EAAE,OAAO;AAAA,sBACX;AAAA,sBAEF,SAAS;AAAA;AAAA,kBACX;AAAA,mBACF,GACF;AAAA,gBACA,6CAAC,YAAAJ,QAAK,MAAL,EACC,wDAAC,SAAI,OAAO,EAAE,cAAc,SAAS,GACnC;AAAA,+DAAC,oBAAAC,SAAA,EAAW,OAAM,kBAAiB,SAAQ,iBAAgB;AAAA,kBAC3D;AAAA,oBAAC,qBAAAG;AAAA,oBAAA;AAAA,sBACC,IAAG;AAAA,sBACH,sBAAsB;AAAA,sBACtB,OAAO,WAAW,iBAAiB,cAAc;AAAA,sBACjD,UAAU,CAAC,MACT;AAAA,wBACE;AAAA,wBACA,EAAE,OAAO;AAAA,sBACX;AAAA,sBAEF,SAAS;AAAA;AAAA,kBACX;AAAA,mBACF,GACF;AAAA;AAAA;AAAA,UACF;AAAA,UAEA,8CAAC,iBAAAR,QAAS,QAAT,EACC;AAAA;AAAA,cAAC,uBAAAS;AAAA,cAAA;AAAA,gBACC,OAAO,SAAS,iBAAY;AAAA,gBAC5B,SAAS;AAAA,gBACT,YAAY;AAAA;AAAA,YACd;AAAA,YACA;AAAA,cAAC,wBAAAC;AAAA,cAAA;AAAA,gBACC,OAAM;AAAA,gBACN,SAAS;AAAA,gBACT,YAAY;AAAA;AAAA,YACd;AAAA,aACF;AAAA,WACF,GACF,GACF;AAAA,SAEJ;AAAA,OACF;AAAA,KACF;AAEJ;AAEA,IAAM,eAA4C,CAAC;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACE;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA,uDAAC,oBAAkB,GAAG,YAAY;AAAA;AACpC;AAGF,IAAO,uBAAQ;;;AI1uCf,IAAAC,gBAA6C;AAC7C,IAAAC,2BAA2B;AAC3B,IAAAC,mBAAoD;AAEpD,IAAAC,eAAiB;AACjB,IAAAC,sBAAuB;AACvB,IAAAC,yBAA0B;AAC1B,IAAAC,mBAAqB;AACrB,IAAAC,eAAiB;AA6CT,IAAAC,sBAAA;AA5BR,IAAM,0BAAgD,CAAC,EAAE,WAAW,MAAM;AACxE,QAAM,cAAU,qCAAW;AAC3B,QAAM,EAAE,2BAA2B,SAAS,OAAO,WAAW,QAC5D,qCAAmB;AACrB,QAAM,CAAC,QAAQ,SAAS,QAAI,wBAA8B,IAAI;AAE9D,QAAM,iBAAa,2BAAY,MAAM;AACnC,QAAI,YAAY,SAAS;AACvB,iBAAW,QAAQ;AAAA,IACrB,OAAO;AACL,cAAQ,KAAK,GAAG;AAAA,IAClB;AAAA,EACF,GAAG,CAAC,YAAY,OAAO,CAAC;AAExB,QAAM,mBAAe,2BAAY,YAAY;AAC3C,eAAW;AACX,cAAU,IAAI;AACd,QAAI;AACF,YAAM,eAAe,MAAM,0BAA0B;AACrD,gBAAU,YAAY;AAAA,IACxB,QAAQ;AAAA,IAER;AAAA,EACF,GAAG,CAAC,2BAA2B,UAAU,CAAC;AAE1C,SACE,8CAAC,iBAAAC,QAAS,OAAT,EAAe,OAAM,KACnB;AAAA,kBACC;AAAA,MAAC,oBAAAC;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,OAAO,WAAW;AAAA,QAClB,MAAM,WAAW;AAAA,QAEhB,qBAAW;AAAA;AAAA,IACd;AAAA,IAEF,6CAAC,aAAAC,QAAK,UAAL,EAAc,IAAG,MAAK,0CAA4B;AAAA,IACnD,6CAAC,aAAAA,QAAK,MAAL,EAAU,MAAK,aAAY,4IAG5B;AAAA,IAEC,SACC,6CAAC,aAAAC,SAAA,EACC,wDAAC,iBAAAH,QAAS,OAAT,EAAe,OAAM,KACpB;AAAA,mDAAC,aAAAE,QAAK,UAAL,EAAc,IAAG,MAAK,mBAAK;AAAA,MAC5B,6CAAC,aAAAA,QAAK,MAAL,EAAU,MAAK,YAAY,iBAAM;AAAA,OACpC,GACF;AAAA,IAGF,6CAAC,iBAAAF,QAAS,QAAT,EAAgB,OAAM,KAAI,gBAAe,UACxC;AAAA,MAAC,uBAAAI;AAAA,MAAA;AAAA,QACC,OAAO,UAAU,oBAAe;AAAA,QAChC,SAAS;AAAA,QACT,YAAY;AAAA;AAAA,IACd,GACF;AAAA,IACC,UACC,6CAAC,aAAAD,SAAA,EACC,wDAAC,iBAAAH,QAAS,OAAT,EAAe,OAAM,KACpB;AAAA,mDAAC,aAAAE,QAAK,UAAL,EAAc,IAAG,MAAK,oBAAM;AAAA,MAC7B,8CAAC,aAAAA,QAAK,MAAL,EAAU;AAAA;AAAA,QACE,OAAO,SAAS;AAAA,QAAO;AAAA,QACjC,OAAO,SAAS,WAAW,IAAI,MAAM;AAAA,QAAG;AAAA,SAC3C;AAAA,MACC,OAAO,SAAS,SAAS,KACxB,6CAAC,aAAAA,QAAK,MAAL,EAAU,MAAK,aACb,iBAAO,SAAS,KAAK,IAAI,GAC5B;AAAA,MAED,OAAO,OAAO,SAAS,KACtB,8EACE;AAAA,sDAAC,aAAAA,QAAK,MAAL,EAAU,MAAK,YAAW;AAAA;AAAA,UAChB,OAAO,OAAO;AAAA,UAAO;AAAA,UAC7B,OAAO,OAAO,WAAW,IAAI,MAAM;AAAA,UAAG;AAAA,WACzC;AAAA,QACA,6CAAC,iBAAAF,QAAS,OAAT,EAAe,OAAM,KACnB,iBAAO,OAAO,IAAI,CAAC,EAAE,KAAK,OAAO,IAAI,MACpC,8CAAC,aAAAE,QAAK,MAAL,EAAoB,MAAK,YACvB;AAAA;AAAA,UAAI;AAAA,UAAG;AAAA,aADM,GAEhB,CACD,GACH;AAAA,SACF;AAAA,OAEJ,GACF;AAAA,KAEJ;AAEJ;AAEA,IAAM,qBAAwD,CAAC;AAAA,EAC7D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACE;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA,uDAAC,2BAAyB,GAAG,YAAY;AAAA;AAC3C;AAGF,IAAO,+BAAQ;","names":["import_react","import_primary_button","import_field_label","import_select_input","import_spacings","Spacings","FieldLabel","SelectInput","PrimaryButton","import_jsx_runtime","LoadingSpinner","Spacings","FlatButton","Text","Card","Grid","FieldLabel","TextInput","NumberInput","SelectInput","PrimaryButton","SecondaryButton","import_react","import_react_router_dom","import_puck_api","import_card","import_flat_button","import_primary_button","import_spacings","import_text","import_jsx_runtime","Spacings","FlatButton","Text","Card","PrimaryButton"]}
|