@sanity/hierarchical-document-list 2.0.1 → 2.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.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/DeskWarning.tsx","../src/utils/idUtils.ts","../src/hooks/useAllItems.ts","../src/hooks/useTreeOperations.ts","../src/components/DocumentPreviewStatus.tsx","../src/components/DocumentInNode.tsx","../src/components/NodeActions.tsx","../src/utils/flatDataToTree.ts","../src/utils/injectNodeTypeInPatches.ts","../src/utils/treeData.tsx","../src/utils/getAdjescentNodes.ts","../src/utils/treePatches.ts","../src/utils/moveItemInArray.ts","../src/hooks/useTreeOperationsProvider.ts","../node_modules/@sanity/color/dist/index.js","../node_modules/tslib/tslib.es6.mjs","../node_modules/styled-components/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/styled-components/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Parser.js","../node_modules/stylis/src/Prefixer.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/styled-components/dist/styled-components.esm.js","../src/components/NodeContentRenderer.tsx","../src/components/PlaceholderDropzone.tsx","../src/components/TreeNodeRendererScaffold.tsx","../src/components/TreeNodeRenderer.tsx","../src/components/TreeEditorErrorBoundary.tsx","../src/components/TreeEditor.tsx","../src/hooks/useLocalTree.ts","../src/utils/getCommonTreeProps.tsx","../src/utils/getTreeHeight.ts","../src/utils/gradientPatchAdapter.ts","../src/TreeDeskStructure.tsx","../src/utils/throwError.ts","../src/createDeskHierarchy.tsx","../src/TreeInputComponent.tsx","../src/createHierarchicalSchemas.tsx","../src/schemas/hierarchy.tree.ts","../src/index.ts"],"sourcesContent":["import {Box, Card, Container, Heading, Stack, Text} from '@sanity/ui'\nimport * as React from 'react'\n\n// React component that wraps text between two delimiters in a <pre> tag\n\nconst WrapCodeBlocks: React.FC<{text: string}> = ({text}) => {\n return (\n <>\n {text.split('`').map((part, i) => (\n <React.Fragment key={i}>{i % 2 === 0 ? part : <code>{part}</code>}</React.Fragment>\n ))}\n </>\n )\n}\n\nconst DeskWarning: React.FC<\n React.PropsWithChildren<{\n title: string\n subtitle?: string\n }>\n> = (props) => {\n return (\n <Container padding={5} style={{maxWidth: '25rem'}} sizing={'content'}>\n <Card padding={4} border radius={2} width={0} tone=\"caution\">\n <Stack space={3}>\n <Heading size={1}>{props.title}</Heading>\n {props.subtitle &&\n props.subtitle.split('\\\\n').map((line: string) => (\n <Text size={1}>\n <WrapCodeBlocks text={line} />\n </Text>\n ))}\n {props.children && <Box marginTop={2}>{props.children}</Box>}\n </Stack>\n </Card>\n </Container>\n )\n}\n\nexport default DeskWarning\n","export function unprefixId(_id = ''): string {\n return _id.replace('drafts.', '')\n}\n\nexport function isDraft(_id = ''): boolean {\n return _id.startsWith('drafts.')\n}\n","import * as React from 'react'\nimport {SanityDocument, useClient} from 'sanity'\nimport {AllItems, TreeInputOptions} from '../types'\nimport {isDraft, unprefixId} from '../utils/idUtils'\n\nfunction getDeskFilter({referenceTo, referenceOptions}: TreeInputOptions): {\n filter: string\n params: Record<string, unknown>\n} {\n const filterParts: string[] = ['_type in $docTypes']\n\n if (referenceOptions?.filter) {\n filterParts.push(referenceOptions.filter)\n }\n\n return {\n filter: filterParts.join(' && '),\n params: {\n ...(referenceOptions?.filterParams || {}),\n docTypes: referenceTo.map((schemaType) => schemaType)\n }\n }\n}\n\ntype Status = 'loading' | 'success' | 'error'\n\ntype ACTIONTYPE =\n | {type: 'addOrEditItem'; item: SanityDocument}\n | {type: 'removeItem'; itemId: string}\n | {type: 'setInitialData'; items: SanityDocument[]}\n\nfunction updateItemInState(state: AllItems, item: SanityDocument): AllItems {\n const newState = {...state}\n const publishedId = unprefixId(item._id)\n newState[publishedId] = {\n ...(newState[publishedId] || {}),\n [isDraft(item._id) ? 'draft' : 'published']: item\n }\n return newState\n}\n\nfunction allItemsReducer(state: AllItems, action: ACTIONTYPE): AllItems {\n if (action.type === 'addOrEditItem' && action.item?._id) {\n return updateItemInState(state, action.item)\n }\n\n if (action.type === 'removeItem') {\n const publishedId = unprefixId(action.itemId)\n return {\n ...state,\n [publishedId]: isDraft(action.itemId)\n ? // If a draft, keep only published\n {\n published: state[publishedId]?.published\n }\n : {\n draft: state[publishedId]?.draft\n }\n }\n }\n\n if (action.type === 'setInitialData') {\n return action.items.reduce(updateItemInState, {} as AllItems)\n }\n return state\n}\n\nexport default function useAllItems(options: TreeInputOptions): {\n status: Status\n allItems: AllItems\n} {\n const client = useClient({\n apiVersion: '2021-09-01'\n })\n const [status, setStatus] = React.useState<Status>('loading')\n const [allItems, dispatch] = React.useReducer(allItemsReducer, {})\n\n function handleListener(event: any) {\n if (event.type !== 'mutation') {\n return\n }\n\n if (event.result) {\n dispatch({type: 'addOrEditItem', item: event.result})\n } else {\n dispatch({type: 'removeItem', itemId: event.documentId})\n }\n }\n\n function handleFirstLoad(items: SanityDocument[]) {\n dispatch({type: 'setInitialData', items})\n setStatus('success')\n }\n\n React.useEffect(() => {\n const {filter, params} = getDeskFilter(options)\n const query = `*[${filter}] {\n _id,\n _type,\n _updatedAt,\n }`\n client\n .fetch<SanityDocument[]>(query, params)\n .then(handleFirstLoad)\n .catch(() => {\n setStatus('error')\n })\n\n const listener = client.listen(query, params).subscribe(handleListener)\n return () => {\n listener.unsubscribe()\n }\n }, [])\n\n return {\n status,\n allItems\n }\n}\n","import * as React from 'react'\nimport useAllItems from './useAllItems'\nimport useTreeOperationsProvider from './useTreeOperationsProvider'\n\ntype ContextValue = ReturnType<typeof useTreeOperationsProvider> & {\n allItemsStatus: ReturnType<typeof useAllItems>['status']\n}\n\nfunction placeholder() {\n // no-op\n}\n\nexport const TreeOperationsContext = React.createContext<ContextValue>({\n addItem: placeholder,\n duplicateItem: placeholder,\n removeItem: placeholder,\n handleMovedNode: placeholder,\n moveItemDown: placeholder,\n moveItemUp: placeholder,\n allItemsStatus: 'loading',\n})\n\nexport default function useTreeOperations(): ContextValue {\n return React.useContext(TreeOperationsContext)\n}\n","import {EditIcon, PublishIcon} from '@sanity/icons'\nimport {Box, Inline, Text, Tooltip} from '@sanity/ui'\nimport * as React from 'react'\nimport {SanityDocument, TextWithTone, useTimeAgo} from 'sanity'\nimport {DocumentPair} from '../types'\n\nexport function TimeAgo({time}: {time: string | Date}) {\n const timeAgo = useTimeAgo(time)\n\n return (\n <span title={timeAgo}>\n {timeAgo}\n {timeAgo.toLowerCase().trim().startsWith('just now') ? '' : ' ago'}\n </span>\n )\n}\n\nconst PublishedStatus = ({document}: {document?: SanityDocument | null}) => (\n <Tooltip\n portal\n content={\n <Box padding={2}>\n <Text size={1}>\n {document ? (\n <>Published {document._updatedAt && <TimeAgo time={document._updatedAt} />}</>\n ) : (\n <>Not published</>\n )}\n </Text>\n </Box>\n }\n >\n <TextWithTone tone=\"positive\" dimmed={!document} muted={!document} size={1}>\n <PublishIcon />\n </TextWithTone>\n </Tooltip>\n)\n\nconst DraftStatus = ({document}: {document?: SanityDocument | null}) => (\n <Tooltip\n portal\n content={\n <Box padding={2}>\n <Text size={1}>\n {document ? (\n <>Edited {document?._updatedAt && <TimeAgo time={document?._updatedAt} />}</>\n ) : (\n <>No unpublished edits</>\n )}\n </Text>\n </Box>\n }\n >\n <TextWithTone tone=\"caution\" dimmed={!document} muted={!document} size={1}>\n <EditIcon />\n </TextWithTone>\n </Tooltip>\n)\n\n// Adapted from @sanity\\desk-tool\\src\\components\\paneItem\\helpers.tsx\nconst DocumentPreviewStatus: React.FC<DocumentPair> = ({draft, published}) => {\n return (\n <Inline space={4}>\n <PublishedStatus document={published} />\n <DraftStatus document={draft} />\n </Inline>\n )\n}\n\nexport default DocumentPreviewStatus\n","import {HelpCircleIcon} from '@sanity/icons'\nimport {Box, Card, Flex, Stack, Text, Tooltip} from '@sanity/ui'\nimport * as React from 'react'\nimport {Preview, SanityDocument, SchemaType, TextWithTone, useSchema} from 'sanity'\nimport {RouterPaneGroup, usePaneRouter} from 'sanity/desk'\nimport useTreeOperations from '../hooks/useTreeOperations'\nimport {LocalTreeItem} from '../types'\nimport DocumentPreviewStatus from './DocumentPreviewStatus'\n\n/**\n * Renders a preview for each referenced document.\n * Nested inside TreeNode.tsx\n */\nconst DocumentInNode: React.FC<{\n item: LocalTreeItem\n action?: React.ReactNode\n}> = (props) => {\n const {value: {reference, docType} = {}, draftId, publishedId} = props.item\n const {routerPanesState, ChildLink} = usePaneRouter()\n const {allItemsStatus} = useTreeOperations()\n const schema = useSchema()\n const isActive = React.useMemo(() => {\n // If some pane is active with the current document `_id`, it's active\n return routerPanesState.some((pane: RouterPaneGroup) =>\n pane.some((group) => group.id === reference?._ref)\n )\n }, [routerPanesState])\n\n const type = React.useMemo(() => {\n return docType ? schema.get(docType) : undefined\n }, [docType])\n\n const LinkComponent = React.useMemo(\n () =>\n React.forwardRef((linkProps: any, ref: any) => (\n <ChildLink\n {...linkProps}\n childId={reference?._ref}\n ref={ref}\n childParameters={{\n type: docType\n }}\n />\n )),\n [ChildLink, reference?._ref]\n )\n\n if (!reference?._ref) {\n return null\n }\n\n return (\n <Flex gap={2} align=\"center\" style={{flex: 1}}>\n {/* Show loading preview while allItems aren't ready */}\n {publishedId || allItemsStatus !== 'success' ? (\n /* Card loosely copied from @sanity/desk-tool's PaneItem.tsx */\n <Card\n __unstable_focusRing\n as={LinkComponent}\n tone={isActive ? 'primary' : 'default'}\n padding={1}\n radius={2}\n flex={1}\n data-as=\"a\"\n data-ui=\"PaneItem\"\n >\n <Preview\n layout=\"default\"\n schemaType={type as SchemaType}\n value={{_ref: draftId || reference?._ref}}\n status={\n <DocumentPreviewStatus\n draft={\n draftId\n ? ({\n _id: draftId,\n _type: docType,\n _updatedAt: props.item.draftUpdatedAt\n } as SanityDocument)\n : undefined\n }\n published={\n {\n _id: reference?._ref,\n _type: docType,\n _updatedAt: props.item.publishedUpdatedAt\n } as SanityDocument\n }\n />\n }\n />\n </Card>\n ) : (\n <Card padding={3} radius={1} flex={1}>\n <Flex align=\"center\">\n <Text size={2} muted style={{flex: 1}}>\n Invalid document\n </Text>\n <Tooltip\n placement=\"left\"\n portal\n content={\n <Box padding={3}>\n <Flex align=\"flex-start\" gap={3}>\n <TextWithTone tone=\"default\" size={3}>\n <HelpCircleIcon />\n </TextWithTone>\n <Stack space={3}>\n <Text as=\"h2\" size={1} weight=\"semibold\">\n This document is not valid\n </Text>\n {/* <Text size={1}>\n It was deleted or it doesn't match the filters set by this hierarchy.\n </Text> */}\n <Text size={1}>ID: {reference?._ref}</Text>\n </Stack>\n </Flex>\n </Box>\n }\n >\n <TextWithTone tone=\"default\" size={2}>\n <HelpCircleIcon />\n </TextWithTone>\n </Tooltip>\n </Flex>\n </Card>\n )}\n {props.action}\n </Flex>\n )\n}\n\nexport default DocumentInNode\n","import {CopyIcon, EllipsisVerticalIcon, LaunchIcon, RemoveCircleIcon} from '@sanity/icons'\nimport {Button, Menu, MenuButton, MenuDivider, MenuItem} from '@sanity/ui'\nimport * as React from 'react'\nimport {IntentButton as IntentLink} from 'sanity'\nimport useTreeOperations from '../hooks/useTreeOperations'\nimport {NodeProps} from '../types'\n\n/**\n * Applicable only to nodes inside the main tree.\n * Unadded items have their actions defined in TreeEditor.\n */\nconst NodeActions: React.FC<{nodeProps: NodeProps}> = ({nodeProps}) => {\n const operations = useTreeOperations()\n const {node} = nodeProps\n const {reference, docType} = node?.value || {}\n\n // Adapted from @sanity\\form-builder\\src\\inputs\\ReferenceInput\\ArrayItemReferenceInput.tsx\n const OpenLink = React.useMemo(\n () =>\n // eslint-disable-next-line @typescript-eslint/no-shadow\n React.forwardRef(function OpenLinkInner(\n restProps: React.ComponentProps<typeof IntentLink>,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _ref: React.ForwardedRef<HTMLAnchorElement>\n ) {\n return (\n <IntentLink\n {...restProps}\n intent=\"edit\"\n params={{id: reference?._ref, type: docType}}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n />\n )\n }),\n [reference?._ref, docType]\n )\n\n const isValid = !!node.publishedId\n return (\n <MenuButton\n button={<Button padding={2} mode=\"bleed\" icon={EllipsisVerticalIcon} />}\n id={`hiearchical-doc-list--${node._key}-menuButton`}\n menu={\n <Menu>\n <MenuItem\n text=\"Remove from list\"\n tone=\"critical\"\n icon={RemoveCircleIcon}\n onClick={() => operations.removeItem(nodeProps)}\n />\n <MenuItem\n text=\"Duplicate item\"\n icon={CopyIcon}\n disabled={!isValid}\n onClick={() => operations.duplicateItem(nodeProps)}\n />\n {/* <MenuItem\n text=\"Move up\"\n icon={ArrowUpIcon}\n disabled={!isValid}\n onClick={() => operations.moveItemUp(nodeProps)}\n />\n <MenuItem\n text=\"Move down\"\n icon={ArrowDownIcon}\n disabled={!isValid}\n onClick={() => operations.moveItemDown(nodeProps)}\n /> */}\n <MenuDivider />\n <MenuItem\n text=\"Open in new tab\"\n icon={LaunchIcon}\n disabled={!isValid}\n as={OpenLink}\n data-as=\"a\"\n />\n </Menu>\n }\n popover={{portal: true, tone: 'default', placement: 'right'}}\n />\n )\n}\n\nexport default NodeActions\n","import {getTreeFromFlatData} from '@nosferatu500/react-sortable-tree'\nimport {StoredTreeItem} from '../types'\n\ninterface TreeItemWithChildren extends StoredTreeItem {\n children?: TreeItemWithChildren[]\n}\n\nexport default function flatDataToTree(data: StoredTreeItem[]): TreeItemWithChildren[] {\n return getTreeFromFlatData({\n flatData: data.map((item) => ({\n ...item,\n // if parent: undefined, the tree won't be constructed\n parent: item.parent || null,\n })),\n getKey: (item) => item._key,\n getParentKey: (item) => item.parent,\n // without rootKey, the tree won't be constructed\n rootKey: null as any,\n }) as TreeItemWithChildren[]\n}\n","export function getSchemaTypeName(\n documentType: string,\n type: 'document' | 'node' | 'nodeValue' | 'array'\n): string {\n switch (type) {\n case 'document':\n return documentType\n case 'array':\n return `${documentType}.array`\n case 'node':\n return `${documentType}.node`\n case 'nodeValue':\n return `${documentType}.nodeValue`\n default:\n return documentType\n }\n}\n\n/**\n * Temporary value of nodes' `_type` before they are normalized and persisted as the user-defined choice.\n */\nexport const DEFAULT_DOC_TYPE = 'hierarchy.tree'\nexport const INTERNAL_NODE_TYPE = getSchemaTypeName(DEFAULT_DOC_TYPE, 'node')\nexport const INTERNAL_NODE_VALUE_TYPE = getSchemaTypeName(DEFAULT_DOC_TYPE, 'nodeValue')\nexport const INTERNAL_NODE_ARRAY_TYPE = getSchemaTypeName(DEFAULT_DOC_TYPE, 'array')\n\n/**\n * Barebones recursive utility to inject the desired nodeObjectType in patches generated in deeply nested components and utilities.\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport default function injectNodeTypeInPatches(patchData: any, documentType: string): any {\n if (Array.isArray(patchData)) {\n return patchData.map((child) => injectNodeTypeInPatches(child, documentType))\n }\n if (typeof patchData === 'object' && patchData !== null) {\n return Object.keys(patchData).reduce((newObject, key) => {\n const value = patchData[key as keyof typeof patchData]\n\n if (\n key === '_type' &&\n typeof value === 'string' &&\n [INTERNAL_NODE_TYPE, INTERNAL_NODE_VALUE_TYPE].includes(value)\n ) {\n return {\n ...newObject,\n [key]: getSchemaTypeName(\n documentType,\n value === INTERNAL_NODE_TYPE ? 'node' : 'nodeValue'\n ),\n }\n }\n\n return {\n ...newObject,\n [key]: injectNodeTypeInPatches(value, documentType),\n }\n }, {})\n }\n return patchData\n}\n","import {TreeItem} from '@nosferatu500/react-sortable-tree'\nimport {randomKey} from '@sanity/util/content'\nimport {SanityDocument} from 'sanity'\nimport DocumentInNode from '../components/DocumentInNode'\nimport NodeActions from '../components/NodeActions'\nimport {\n AllItems,\n DocumentPair,\n EnhancedTreeItem,\n LocalTreeItem,\n NodeProps,\n StoredTreeItem,\n VisibilityMap\n} from '../types'\nimport flatDataToTree from './flatDataToTree'\nimport {INTERNAL_NODE_TYPE, INTERNAL_NODE_VALUE_TYPE} from './injectNodeTypeInPatches'\n\nexport const dataToEditorTree = ({\n tree,\n allItems,\n visibilityMap\n}: {\n tree: StoredTreeItem[]\n allItems: AllItems\n visibilityMap: VisibilityMap\n}): LocalTreeItem[] => {\n const itemsWithTitle = tree\n .filter((item) => item?.value?.reference?._ref)\n .map((item) => {\n const refId = item.value?.reference?._ref\n const docPair = refId ? allItems[refId] : undefined\n const draftDoc = docPair?.draft\n const publishedDoc = docPair?.published\n\n const enhancedItem: LocalTreeItem = {\n ...item,\n expanded: visibilityMap[item._key] !== false,\n draftId: draftDoc?._id,\n publishedId: publishedDoc?._id,\n draftUpdatedAt: draftDoc?._updatedAt,\n publishedUpdatedAt: publishedDoc?._updatedAt\n }\n\n return {\n ...enhancedItem,\n title: (nodeProps: NodeProps) => (\n <DocumentInNode item={enhancedItem} action={<NodeActions nodeProps={nodeProps} />} />\n ),\n children: []\n }\n })\n return flatDataToTree(itemsWithTitle)\n}\n\nconst documentPairToNode = (doc?: DocumentPair): EnhancedTreeItem | undefined => {\n if (!doc?.published?._id) {\n return undefined\n }\n\n return {\n _key: randomKey(12),\n _type: INTERNAL_NODE_TYPE,\n draftId: doc.draft?._id,\n draftUpdatedAt: doc.draft?._updatedAt,\n publishedId: doc.published._id,\n publishedUpdatedAt: doc.published?._updatedAt,\n value: {\n _type: INTERNAL_NODE_VALUE_TYPE,\n reference: {\n _ref: doc.published._id,\n _type: 'reference',\n _weak: true\n },\n docType: doc.published._type\n }\n }\n}\n\nexport const flatTree = (tree: TreeItem[]): TreeItem[] => {\n return tree.reduce((flattened, item) => {\n const {children, ...node} = item\n return [...flattened, node, ...(Array.isArray(children) ? flatTree(children) : [])]\n }, [] as TreeItem[])\n}\n\nexport interface FetchData {\n mainTree?: LocalTreeItem[]\n allItems?: SanityDocument[]\n}\n\nexport const getUnaddedItems = (data: {\n allItems: AllItems\n tree: StoredTreeItem[]\n}): EnhancedTreeItem[] => {\n if (!data.tree) {\n return Object.entries(data.allItems)\n .map((value) => documentPairToNode(value[1]))\n .filter(Boolean) as EnhancedTreeItem[]\n }\n\n return Object.entries(data.allItems)\n .filter(\n ([publishedId]) =>\n publishedId &&\n // unadded items shouldn't be in the tree\n !data.tree.some((treeItem) => treeItem?.value?.reference?._ref === publishedId)\n )\n .map(([, documentPair]) => documentPairToNode(documentPair))\n .filter(Boolean) as EnhancedTreeItem[]\n}\n\nexport function normalizeNodeForStorage(item: LocalTreeItem): StoredTreeItem {\n return {\n _key: item._key,\n _type: item._type || INTERNAL_NODE_TYPE,\n value: item.value,\n parent: item.parent\n }\n}\n","import {FlatDataItem, TreeItem} from '@nosferatu500/react-sortable-tree'\n\n/**\n * Gets adjescent non-children nodes of a given treeIndex.\n */\nexport default function getAdjescentNodes({\n flatTree,\n node,\n treeIndex,\n}: {\n flatTree: FlatDataItem[]\n node: TreeItem\n treeIndex: number\n}): {\n leadingNode?: FlatDataItem\n followingNode?: FlatDataItem\n} {\n const leadingNode = flatTree\n .slice(0, treeIndex)\n .reverse()\n // Disregard children nodes - these include the current node's key in their `path` array\n .find((item) => !item.path.includes(node._key))\n\n const followingNode = flatTree.slice(treeIndex + 1).find((item) => !item.path.includes(node._key))\n\n return {\n leadingNode,\n followingNode,\n }\n}\n","import {\n FlatDataItem,\n FullTree,\n getFlatDataFromTree,\n NodeData,\n TreeItem\n} from '@nosferatu500/react-sortable-tree'\nimport {randomKey} from '@sanity/util/content'\nimport * as Patch from 'sanity'\nimport {LocalTreeItem, NodeProps} from '../types'\nimport getAdjescentNodes from './getAdjescentNodes'\nimport moveItemInArray from './moveItemInArray'\nimport {normalizeNodeForStorage} from './treeData'\n\nexport type HandleMovedNodeData = Omit<\n NodeData & FullTree & any,\n 'prevPath' | 'prevTreeIndex' | 'path' | 'treeIndex' | 'node'\n> & {node: LocalTreeItem}\n\nexport type HandleMovedNode = (moveData: HandleMovedNodeData) => void\n\nexport function getAddItemPatch(item: LocalTreeItem): unknown[] {\n const normalizedNode = normalizeNodeForStorage(item)\n\n return [\n // Add the node to the end of the tree\n Patch.insert([normalizedNode], 'after', [-1])\n ]\n}\n\nexport function getDuplicateItemPatch(nodeProps: NodeProps): unknown[] {\n const newItem = {\n ...nodeProps.node,\n _key: randomKey(12)\n }\n const normalizedNode = normalizeNodeForStorage(newItem)\n\n return [\n // Add duplicated node before the existing one\n Patch.insert([normalizedNode], 'before', [{_key: nodeProps.node._key}])\n ]\n}\n\nexport function getRemoveItemPatch({node}: Pick<NodeProps, 'node'>): unknown[] {\n const keyPath = {_key: node._key}\n const children = getChildrenPaths(node)\n\n return [\n // 1. Unset the removed node\n Patch.unset([keyPath]),\n\n // 2. Unset its children\n ...children.map((path) => Patch.unset([{_key: path}]))\n ]\n}\n\nexport function getMovedNodePatch(data: HandleMovedNodeData): unknown[] {\n const {nextParentNode} = data\n const keyPath = {_key: data.node._key}\n\n // === REMOVING NODE FROM TREE ===\n // `nextPath` will be null if the item is removed from tree\n if (!Array.isArray(data.nextPath)) {\n return getRemoveItemPatch({node: data.node})\n }\n\n const nextFlatTree = getFlatDataFromTree({\n treeData: data.treeData,\n getNodeKey: (t) => t.node._key\n })\n const normalizedNode = normalizeNodeForStorage(data.node)\n\n const {leadingNode, followingNode} = getAdjescentNodes({\n flatTree: nextFlatTree,\n node: data.node,\n treeIndex: data.nextTreeIndex\n })\n\n return [\n // 1. Unset the moved node\n // (will be ignored by Content Lake on new nodes with _key not yet in tree)\n Patch.unset([keyPath]),\n\n // 2. SIBLING-BASED PLACEMENT\n // If we were to place solely based on nextTreeIndex, concurrent changes from other editors could put the new node in an unexpected position.\n // Let's instead anchor it to the _key of the sibling coming before or after it.\n leadingNode?.node?._key\n ? // After the sibling before it\n Patch.insert([normalizedNode], 'after', [{_key: leadingNode.node._key}])\n : // Or before the sibling right after it, in case there's no leading sibling node\n // prettier-ignore\n Patch.insert([normalizedNode], 'before', [followingNode?.node?._key ? {_key: followingNode.node._key} : data.nextTreeIndex]),\n\n // 3. Patch the new node with its new `parent`\n nextParentNode\n ? // If it has a parent node, set that parent's _key\n Patch.set(nextParentNode._key, [keyPath, 'parent'])\n : // Else remove the parent key entirely\n Patch.unset([keyPath, 'parent'])\n ]\n}\n\nfunction getChildrenPaths(node: TreeItem): string[] {\n if (!Array.isArray(node.children)) {\n return []\n }\n\n return node.children\n .reduce(\n (keyPaths, child) => [...keyPaths, child._key, ...getChildrenPaths(child)],\n [] as string[]\n )\n .filter(Boolean)\n}\n\nexport function getMoveItemPatch({\n nodeProps: {node, treeIndex},\n localTree,\n direction = 'up'\n}: {\n nodeProps: any\n localTree: TreeItem[]\n direction: 'up' | 'down'\n}): unknown[] {\n const keyPath = {_key: node._key}\n\n const nextTreeIndex = treeIndex + (direction === 'up' ? -1 : 1)\n\n const flatTree = getFlatDataFromTree({\n treeData: localTree,\n getNodeKey: (t) => t.node._key\n })\n const nextFlatTree = moveItemInArray<FlatDataItem>({\n array: flatTree,\n fromIndex: treeIndex,\n toIndex: nextTreeIndex\n })\n const {leadingNode, followingNode} = getAdjescentNodes({\n flatTree: nextFlatTree,\n node,\n treeIndex: nextTreeIndex\n })\n\n const normalizedNode = normalizeNodeForStorage(node)\n\n // When moving up, look at following node to figure out what is the next parent.\n const nodeToInheritParent = direction === 'up' ? followingNode : leadingNode\n const nextParentNode = nodeToInheritParent?.parentNode\n\n return [\n // 1. Unset the moved node\n // (will be ignored by Content Lake on new nodes with _key not yet in tree)\n Patch.unset([keyPath]),\n\n // 2. SIBLING-BASED PLACEMENT\n leadingNode?.node?._key\n ? // After the sibling before it\n Patch.insert([normalizedNode], 'after', [{_key: leadingNode.node._key}])\n : // Or before the sibling right after it, in case there's no leading sibling node\n Patch.insert([normalizedNode], 'before', [\n followingNode?.node?._key ? {_key: followingNode.node._key} : nextTreeIndex\n ]),\n\n // 3. Patch the new node with its new `parent`\n nextParentNode\n ? // If it has a parent node, set that parent's _key\n Patch.set(nextParentNode._key, [keyPath, 'parent'])\n : // Else remove the parent key entirely\n Patch.unset([keyPath, 'parent'])\n ]\n}\n","export default function moveItemInArray<ItemType = unknown>({\n array,\n fromIndex,\n toIndex,\n}: {\n array: ItemType[]\n fromIndex: number\n toIndex: number\n}): ItemType[] {\n if (fromIndex === toIndex) {\n return array\n }\n\n const newArray = [...array]\n\n const target = newArray[fromIndex]\n const inc = toIndex < fromIndex ? -1 : 1\n\n for (let i = fromIndex; i !== toIndex; i += inc) {\n newArray[i] = newArray[i + inc]\n }\n\n newArray[toIndex] = target\n\n return newArray\n}\n","import {PatchEvent, PathSegment, prefixPath, setIfMissing} from 'sanity'\nimport {LocalTreeItem, NodeProps} from '../types'\nimport {\n HandleMovedNode,\n HandleMovedNodeData,\n getAddItemPatch,\n getDuplicateItemPatch,\n getMoveItemPatch,\n getMovedNodePatch,\n getRemoveItemPatch\n} from '../utils/treePatches'\n\nexport default function useTreeOperationsProvider(props: {\n patchPrefix?: PathSegment\n onChange: (patch: PatchEvent) => void\n localTree: LocalTreeItem[]\n}): {\n handleMovedNode: HandleMovedNode\n addItem: (item: LocalTreeItem) => void\n duplicateItem: (nodeProps: NodeProps) => void\n removeItem: (nodeProps: NodeProps) => void\n moveItemUp: (nodeProps: NodeProps) => void\n moveItemDown: (nodeProps: NodeProps) => void\n} {\n const {localTree} = props\n\n function runPatches(patches: any) {\n const finalPatches = [\n // Ensure tree array exists before any operation\n setIfMissing([]),\n ...(patches || [])\n ]\n let patchEvent = PatchEvent.from(finalPatches)\n if (props.patchPrefix) {\n patchEvent = PatchEvent.from(\n finalPatches.map((patch) => prefixPath(patch, props.patchPrefix as PathSegment))\n )\n }\n props.onChange(patchEvent)\n }\n\n function handleMovedNode(data: HandleMovedNodeData & {node: LocalTreeItem}) {\n runPatches(getMovedNodePatch(data))\n }\n\n function addItem(item: LocalTreeItem) {\n runPatches(getAddItemPatch(item))\n }\n\n function duplicateItem(nodeProps: NodeProps & {node: LocalTreeItem}) {\n runPatches(getDuplicateItemPatch(nodeProps))\n }\n\n function removeItem(nodeProps: NodeProps) {\n runPatches(getRemoveItemPatch(nodeProps))\n }\n\n function moveItemUp(nodeProps: NodeProps) {\n runPatches(\n getMoveItemPatch({\n nodeProps,\n localTree,\n direction: 'up'\n })\n )\n }\n\n function moveItemDown(nodeProps: NodeProps) {\n runPatches(\n getMoveItemPatch({\n nodeProps,\n localTree,\n direction: 'down'\n })\n )\n }\n\n return {\n handleMovedNode,\n addItem,\n removeItem,\n moveItemUp,\n moveItemDown,\n duplicateItem\n }\n}\n","const COLOR_HUES = [\n \"gray\",\n \"blue\",\n \"purple\",\n \"magenta\",\n \"red\",\n \"orange\",\n \"yellow\",\n \"green\",\n \"cyan\"\n], COLOR_TINTS = [\n \"50\",\n \"100\",\n \"200\",\n \"300\",\n \"400\",\n \"500\",\n \"600\",\n \"700\",\n \"800\",\n \"900\",\n \"950\"\n];\nfunction hslToRgb(hsl) {\n const h = hsl[0], s = hsl[1] / 100, l = hsl[2] / 100, k = (n) => (n + h / 30) % 12, a = s * Math.min(l, 1 - l), f = (n) => l - a * Math.max(-1, Math.min(k(n) - 3, Math.min(9 - k(n), 1)));\n return [255 * f(0), 255 * f(8), 255 * f(4)];\n}\nfunction rgbToHex([r, g, b]) {\n const _r = Math.round(r), _g = Math.round(g), _b = Math.round(b);\n return \"#\" + ((1 << 24) + (_r << 16) + (_g << 8) + _b).toString(16).slice(1);\n}\nfunction buildTints(options) {\n const { hueKey, color: color2 } = options;\n return COLOR_TINTS.reduce((acc, tintKey) => {\n const tint = Number(tintKey), rgb = hslToRgb(color2.tints[tintKey].hsl), hex = rgbToHex([Math.round(rgb[0]), Math.round(rgb[1]), Math.round(rgb[2])]);\n return acc[tintKey] = {\n title: `${hueKey.slice(0, 1).toUpperCase()}${hueKey.slice(1)} ${tint}`,\n hex\n }, acc;\n }, {});\n}\nconst black = {\n title: \"Black\",\n hex: \"#0d0e12\"\n}, white = {\n title: \"White\",\n hex: \"#ffffff\"\n}, gray = {\n 50: {\n title: \"Gray 50\",\n hex: \"#f6f6f8\"\n },\n 100: {\n title: \"Gray 100\",\n hex: \"#eeeef1\"\n },\n 200: {\n title: \"Gray 200\",\n hex: \"#e3e4e8\"\n },\n 300: {\n title: \"Gray 300\",\n hex: \"#bbbdc9\"\n },\n 400: {\n title: \"Gray 400\",\n hex: \"#9499ad\"\n },\n 500: {\n title: \"Gray 500\",\n hex: \"#727892\"\n },\n 600: {\n title: \"Gray 600\",\n hex: \"#515870\"\n },\n 700: {\n title: \"Gray 700\",\n hex: \"#383d51\"\n },\n 800: {\n title: \"Gray 800\",\n hex: \"#252837\"\n },\n 900: {\n title: \"Gray 900\",\n hex: \"#1b1d27\"\n },\n 950: {\n title: \"Gray 950\",\n hex: \"#13141b\"\n }\n}, blue = {\n 50: {\n title: \"Blue 50\",\n hex: \"#f5f8ff\"\n },\n 100: {\n title: \"Blue 100\",\n hex: \"#e5edff\"\n },\n 200: {\n title: \"Blue 200\",\n hex: \"#dbe5ff\"\n },\n 300: {\n title: \"Blue 300\",\n hex: \"#a8bfff\"\n },\n 400: {\n title: \"Blue 400\",\n hex: \"#7595ff\"\n },\n 500: {\n title: \"Blue 500\",\n hex: \"#556bfc\"\n },\n 600: {\n title: \"Blue 600\",\n hex: \"#4043e7\"\n },\n 700: {\n title: \"Blue 700\",\n hex: \"#2927aa\"\n },\n 800: {\n title: \"Blue 800\",\n hex: \"#192457\"\n },\n 900: {\n title: \"Blue 900\",\n hex: \"#161a41\"\n },\n 950: {\n title: \"Blue 950\",\n hex: \"#101228\"\n }\n}, purple = {\n 50: {\n title: \"Purple 50\",\n hex: \"#f8f5ff\"\n },\n 100: {\n title: \"Purple 100\",\n hex: \"#f1ebff\"\n },\n 200: {\n title: \"Purple 200\",\n hex: \"#ece1fe\"\n },\n 300: {\n title: \"Purple 300\",\n hex: \"#ccb1fc\"\n },\n 400: {\n title: \"Purple 400\",\n hex: \"#b087f7\"\n },\n 500: {\n title: \"Purple 500\",\n hex: \"#8f57ef\"\n },\n 600: {\n title: \"Purple 600\",\n hex: \"#721fe5\"\n },\n 700: {\n title: \"Purple 700\",\n hex: \"#4c1a9e\"\n },\n 800: {\n title: \"Purple 800\",\n hex: \"#2f1862\"\n },\n 900: {\n title: \"Purple 900\",\n hex: \"#23173f\"\n },\n 950: {\n title: \"Purple 950\",\n hex: \"#181128\"\n }\n}, magenta = {\n 50: {\n title: \"Magenta 50\",\n hex: \"#fef6f9\"\n },\n 100: {\n title: \"Magenta 100\",\n hex: \"#fde8ef\"\n },\n 200: {\n title: \"Magenta 200\",\n hex: \"#fcdee9\"\n },\n 300: {\n title: \"Magenta 300\",\n hex: \"#f7abc5\"\n },\n 400: {\n title: \"Magenta 400\",\n hex: \"#f0709b\"\n },\n 500: {\n title: \"Magenta 500\",\n hex: \"#e72767\"\n },\n 600: {\n title: \"Magenta 600\",\n hex: \"#b11651\"\n },\n 700: {\n title: \"Magenta 700\",\n hex: \"#7c1342\"\n },\n 800: {\n title: \"Magenta 800\",\n hex: \"#4b1130\"\n },\n 900: {\n title: \"Magenta 900\",\n hex: \"#341325\"\n },\n 950: {\n title: \"Magenta 950\",\n hex: \"#1f0f14\"\n }\n}, red = {\n 50: {\n title: \"Red 50\",\n hex: \"#fff6f5\"\n },\n 100: {\n title: \"Red 100\",\n hex: \"#ffe7e5\"\n },\n 200: {\n title: \"Red 200\",\n hex: \"#ffdedc\"\n },\n 300: {\n title: \"Red 300\",\n hex: \"#fdada5\"\n },\n 400: {\n title: \"Red 400\",\n hex: \"#f77769\"\n },\n 500: {\n title: \"Red 500\",\n hex: \"#ef4434\"\n },\n 600: {\n title: \"Red 600\",\n hex: \"#cc2819\"\n },\n 700: {\n title: \"Red 700\",\n hex: \"#8b2018\"\n },\n 800: {\n title: \"Red 800\",\n hex: \"#4d1714\"\n },\n 900: {\n title: \"Red 900\",\n hex: \"#321615\"\n },\n 950: {\n title: \"Red 950\",\n hex: \"#1e1011\"\n }\n}, orange = {\n 50: {\n title: \"Orange 50\",\n hex: \"#fff7f0\"\n },\n 100: {\n title: \"Orange 100\",\n hex: \"#ffeadb\"\n },\n 200: {\n title: \"Orange 200\",\n hex: \"#ffddc7\"\n },\n 300: {\n title: \"Orange 300\",\n hex: \"#ffb685\"\n },\n 400: {\n title: \"Orange 400\",\n hex: \"#ff8e42\"\n },\n 500: {\n title: \"Orange 500\",\n hex: \"#fa6400\"\n },\n 600: {\n title: \"Orange 600\",\n hex: \"#b14802\"\n },\n 700: {\n title: \"Orange 700\",\n hex: \"#7c3404\"\n },\n 800: {\n title: \"Orange 800\",\n hex: \"#461e07\"\n },\n 900: {\n title: \"Orange 900\",\n hex: \"#32160b\"\n },\n 950: {\n title: \"Orange 950\",\n hex: \"#21120d\"\n }\n}, yellow = {\n 50: {\n title: \"Yellow 50\",\n hex: \"#fefae1\"\n },\n 100: {\n title: \"Yellow 100\",\n hex: \"#fcf3bb\"\n },\n 200: {\n title: \"Yellow 200\",\n hex: \"#f9e994\"\n },\n 300: {\n title: \"Yellow 300\",\n hex: \"#f7d455\"\n },\n 400: {\n title: \"Yellow 400\",\n hex: \"#f9bc15\"\n },\n 500: {\n title: \"Yellow 500\",\n hex: \"#d28a04\"\n },\n 600: {\n title: \"Yellow 600\",\n hex: \"#965908\"\n },\n 700: {\n title: \"Yellow 700\",\n hex: \"#653a0b\"\n },\n 800: {\n title: \"Yellow 800\",\n hex: \"#3b220c\"\n },\n 900: {\n title: \"Yellow 900\",\n hex: \"#271a11\"\n },\n 950: {\n title: \"Yellow 950\",\n hex: \"#181410\"\n }\n}, green = {\n 50: {\n title: \"Green 50\",\n hex: \"#e7fef5\"\n },\n 100: {\n title: \"Green 100\",\n hex: \"#c5fce8\"\n },\n 200: {\n title: \"Green 200\",\n hex: \"#a9f9dc\"\n },\n 300: {\n title: \"Green 300\",\n hex: \"#59f3ba\"\n },\n 400: {\n title: \"Green 400\",\n hex: \"#0ff0a1\"\n },\n 500: {\n title: \"Green 500\",\n hex: \"#04b97a\"\n },\n 600: {\n title: \"Green 600\",\n hex: \"#01794f\"\n },\n 700: {\n title: \"Green 700\",\n hex: \"#015133\"\n },\n 800: {\n title: \"Green 800\",\n hex: \"#023120\"\n },\n 900: {\n title: \"Green 900\",\n hex: \"#06231a\"\n },\n 950: {\n title: \"Green 950\",\n hex: \"#071715\"\n }\n}, cyan = {\n 50: {\n title: \"Cyan 50\",\n hex: \"#e7fefe\"\n },\n 100: {\n title: \"Cyan 100\",\n hex: \"#c5fcfc\"\n },\n 200: {\n title: \"Cyan 200\",\n hex: \"#96f8f8\"\n },\n 300: {\n title: \"Cyan 300\",\n hex: \"#62efef\"\n },\n 400: {\n title: \"Cyan 400\",\n hex: \"#18e2e2\"\n },\n 500: {\n title: \"Cyan 500\",\n hex: \"#04b8be\"\n },\n 600: {\n title: \"Cyan 600\",\n hex: \"#037782\"\n },\n 700: {\n title: \"Cyan 700\",\n hex: \"#024950\"\n },\n 800: {\n title: \"Cyan 800\",\n hex: \"#042f34\"\n },\n 900: {\n title: \"Cyan 900\",\n hex: \"#072227\"\n },\n 950: {\n title: \"Cyan 950\",\n hex: \"#0d181c\"\n }\n}, hues = { gray, blue, purple, magenta, red, orange, yellow, green, cyan }, color = { black, white, ...hues }, config = {\n black: {\n title: \"Black\",\n hsl: [225, 16, 6]\n },\n white: {\n title: \"White\",\n hsl: [0, 0, 100]\n },\n gray: {\n title: \"Gray\",\n tints: {\n 50: {\n title: \"Gray 50\",\n hsl: [240, 12, 97]\n },\n 100: {\n title: \"Gray 100\",\n hsl: [240, 10, 94]\n },\n 200: {\n title: \"Gray 200\",\n hsl: [231, 10, 90]\n },\n 300: {\n title: \"Gray 300\",\n hsl: [232, 11, 76]\n },\n 400: {\n title: \"Gray 400\",\n hsl: [228, 13, 63]\n },\n 500: {\n title: \"Gray 500\",\n hsl: [229, 13, 51]\n },\n 600: {\n title: \"Gray 600\",\n hsl: [228, 16, 38]\n },\n 700: {\n title: \"Gray 700\",\n hsl: [229, 18, 27]\n },\n 800: {\n title: \"Gray 800\",\n hsl: [229, 19, 18]\n },\n 900: {\n title: \"Gray 900\",\n hsl: [228, 19, 13]\n },\n 950: {\n title: \"Gray 950\",\n hsl: [233, 17, 9]\n }\n }\n },\n blue: {\n title: \"Blue\",\n tints: {\n 50: {\n title: \"Blue 50\",\n hsl: [222, 100, 98]\n },\n 100: {\n title: \"Blue 100\",\n hsl: [222, 100, 95]\n },\n 200: {\n title: \"Blue 200\",\n hsl: [223, 100, 93]\n },\n 300: {\n title: \"Blue 300\",\n hsl: [224, 100, 83]\n },\n 400: {\n title: \"Blue 400\",\n hsl: [226, 100, 73]\n },\n 500: {\n title: \"Blue 500\",\n hsl: [232, 96, 66]\n },\n 600: {\n title: \"Blue 600\",\n hsl: [239, 78, 58]\n },\n 700: {\n title: \"Blue 700\",\n hsl: [241, 63, 41]\n },\n 800: {\n title: \"Blue 800\",\n hsl: [230, 55, 22]\n },\n 900: {\n title: \"Blue 900\",\n hsl: [234, 49, 17]\n },\n 950: {\n title: \"Blue 950\",\n hsl: [235, 43, 11]\n }\n }\n },\n purple: {\n title: \"Purple\",\n tints: {\n 50: {\n title: \"Purple 50\",\n hsl: [260, 95, 98]\n },\n 100: {\n title: \"Purple 100\",\n hsl: [260, 98, 96]\n },\n 200: {\n title: \"Purple 200\",\n hsl: [263, 96, 94]\n },\n 300: {\n title: \"Purple 300\",\n hsl: [262, 92, 84]\n },\n 400: {\n title: \"Purple 400\",\n hsl: [262, 88, 75]\n },\n 500: {\n title: \"Purple 500\",\n hsl: [262, 83, 64]\n },\n 600: {\n title: \"Purple 600\",\n hsl: [265, 79, 51]\n },\n 700: {\n title: \"Purple 700\",\n hsl: [263, 72, 36]\n },\n 800: {\n title: \"Purple 800\",\n hsl: [258, 60, 24]\n },\n 900: {\n title: \"Purple 900\",\n hsl: [257, 46, 17]\n },\n 950: {\n title: \"Purple 950\",\n hsl: [260, 41, 11]\n }\n }\n },\n magenta: {\n title: \"Magenta\",\n tints: {\n 50: {\n title: \"Magenta 50\",\n hsl: [340, 82, 98]\n },\n 100: {\n title: \"Magenta 100\",\n hsl: [339, 83, 95]\n },\n 200: {\n title: \"Magenta 200\",\n hsl: [339, 83, 93]\n },\n 300: {\n title: \"Magenta 300\",\n hsl: [340, 82, 82]\n },\n 400: {\n title: \"Magenta 400\",\n hsl: [340, 81, 69]\n },\n 500: {\n title: \"Magenta 500\",\n hsl: [340, 80, 53]\n },\n 600: {\n title: \"Magenta 600\",\n hsl: [337, 78, 39]\n },\n 700: {\n title: \"Magenta 700\",\n hsl: [333, 73, 28]\n },\n 800: {\n title: \"Magenta 800\",\n hsl: [328, 63, 18]\n },\n 900: {\n title: \"Magenta 900\",\n hsl: [327, 46, 14]\n },\n 950: {\n title: \"Magenta 950\",\n hsl: [341, 35, 9]\n }\n }\n },\n red: {\n title: \"Red\",\n tints: {\n 50: {\n title: \"Red 50\",\n hsl: [5, 100, 98]\n },\n 100: {\n title: \"Red 100\",\n hsl: [4, 100, 95]\n },\n 200: {\n title: \"Red 200\",\n hsl: [4, 98, 93]\n },\n 300: {\n title: \"Red 300\",\n hsl: [5, 95, 82]\n },\n 400: {\n title: \"Red 400\",\n hsl: [6, 90, 69]\n },\n 500: {\n title: \"Red 500\",\n hsl: [5, 85, 57]\n },\n 600: {\n title: \"Red 600\",\n hsl: [5, 78, 45]\n },\n 700: {\n title: \"Red 700\",\n hsl: [4, 70, 32]\n },\n 800: {\n title: \"Red 800\",\n hsl: [3, 58, 19]\n },\n 900: {\n title: \"Red 900\",\n hsl: [2, 41, 14]\n },\n 950: {\n title: \"Red 950\",\n hsl: [356, 30, 9]\n }\n }\n },\n orange: {\n title: \"Orange\",\n tints: {\n 50: {\n title: \"Orange 50\",\n hsl: [28, 100, 97]\n },\n 100: {\n title: \"Orange 100\",\n hsl: [25, 100, 93]\n },\n 200: {\n title: \"Orange 200\",\n hsl: [24, 100, 89]\n },\n 300: {\n title: \"Orange 300\",\n hsl: [24, 100, 76]\n },\n 400: {\n title: \"Orange 400\",\n hsl: [24, 100, 63]\n },\n 500: {\n title: \"Orange 500\",\n hsl: [24, 100, 49]\n },\n 600: {\n title: \"Orange 600\",\n hsl: [24, 98, 35]\n },\n 700: {\n title: \"Orange 700\",\n hsl: [24, 94, 25]\n },\n 800: {\n title: \"Orange 800\",\n hsl: [22, 82, 15]\n },\n 900: {\n title: \"Orange 900\",\n hsl: [17, 65, 12]\n },\n 950: {\n title: \"Orange 950\",\n hsl: [14, 43, 9]\n }\n }\n },\n yellow: {\n title: \"Yellow\",\n tints: {\n 50: {\n title: \"Yellow 50\",\n hsl: [51, 94, 94]\n },\n 100: {\n title: \"Yellow 100\",\n hsl: [52, 91, 86]\n },\n 200: {\n title: \"Yellow 200\",\n hsl: [50, 90, 78]\n },\n 300: {\n title: \"Yellow 300\",\n hsl: [47, 91, 65]\n },\n 400: {\n title: \"Yellow 400\",\n hsl: [44, 95, 53]\n },\n 500: {\n title: \"Yellow 500\",\n hsl: [39, 96, 42]\n },\n 600: {\n title: \"Yellow 600\",\n hsl: [34, 90, 31]\n },\n 700: {\n title: \"Yellow 700\",\n hsl: [31, 80, 22]\n },\n 800: {\n title: \"Yellow 800\",\n hsl: [28, 66, 14]\n },\n 900: {\n title: \"Yellow 900\",\n hsl: [24, 40, 11]\n },\n 950: {\n title: \"Yellow 950\",\n hsl: [24, 20, 8]\n }\n }\n },\n green: {\n title: \"Green\",\n tints: {\n 50: {\n title: \"Green 50\",\n hsl: [157, 89, 95]\n },\n 100: {\n title: \"Green 100\",\n hsl: [158, 89, 88]\n },\n 200: {\n title: \"Green 200\",\n hsl: [158, 87, 82]\n },\n 300: {\n title: \"Green 300\",\n hsl: [158, 86, 65]\n },\n 400: {\n title: \"Green 400\",\n hsl: [159, 88, 50]\n },\n 500: {\n title: \"Green 500\",\n hsl: [159, 96, 37]\n },\n 600: {\n title: \"Green 600\",\n hsl: [159, 98, 24]\n },\n 700: {\n title: \"Green 700\",\n hsl: [158, 98, 16]\n },\n 800: {\n title: \"Green 800\",\n hsl: [158, 91, 10]\n },\n 900: {\n title: \"Green 900\",\n hsl: [162, 72, 8]\n },\n 950: {\n title: \"Green 950\",\n hsl: [172, 51, 6]\n }\n }\n },\n cyan: {\n title: \"Cyan\",\n tints: {\n 50: {\n title: \"Cyan 50\",\n hsl: [180, 92, 95]\n },\n 100: {\n title: \"Cyan 100\",\n hsl: [180, 91, 88]\n },\n 200: {\n title: \"Cyan 200\",\n hsl: [180, 87, 78]\n },\n 300: {\n title: \"Cyan 300\",\n hsl: [180, 81, 66]\n },\n 400: {\n title: \"Cyan 400\",\n hsl: [180, 81, 49]\n },\n 500: {\n title: \"Cyan 500\",\n hsl: [182, 96, 38]\n },\n 600: {\n title: \"Cyan 600\",\n hsl: [185, 96, 26]\n },\n 700: {\n title: \"Cyan 700\",\n hsl: [185, 95, 16]\n },\n 800: {\n title: \"Cyan 800\",\n hsl: [187, 86, 11]\n },\n 900: {\n title: \"Cyan 900\",\n hsl: [188, 68, 9]\n },\n 950: {\n title: \"Cyan 950\",\n hsl: [196, 37, 8]\n }\n }\n }\n};\nfunction hexToRgb(hex) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n if (!result)\n throw new Error(\"input is not valid hex\");\n return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)];\n}\nfunction rgbToHsl([r, g, b]) {\n r /= 255, g /= 255, b /= 255;\n const cmin = Math.min(r, g, b), cmax = Math.max(r, g, b), delta = cmax - cmin;\n let h = 0, s = 0, l = 0;\n return delta == 0 ? h = 0 : cmax == r ? h = (g - b) / delta % 6 : cmax == g ? h = (b - r) / delta + 2 : h = (r - g) / delta + 4, h = Math.round(h * 60), h < 0 && (h += 360), l = (cmax + cmin) / 2, s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1)), s = +(s * 100).toFixed(0), l = +(l * 100).toFixed(0), [h, s, l];\n}\nfunction clamp(num) {\n return Math.max(Math.min(num, 255), 0);\n}\nfunction darkenChannel(backdrop, source) {\n return Math.min(backdrop, source);\n}\nfunction darken(b, s) {\n return [\n Math.round(clamp(darkenChannel(b[0] / 255, s[0] / 255) * 255)),\n Math.round(clamp(darkenChannel(b[1] / 255, s[1] / 255) * 255)),\n Math.round(clamp(darkenChannel(b[2] / 255, s[2] / 255) * 255))\n ];\n}\nfunction interpolate(min, max, val) {\n const size = max - min;\n return min + size * val;\n}\nfunction limit(darkest, lightest, source) {\n const r = Math.round(interpolate(darkest[0], lightest[0], source[0] / 255)), g = Math.round(interpolate(darkest[1], lightest[1], source[1] / 255)), b = Math.round(interpolate(darkest[2], lightest[2], source[2] / 255));\n return [r, g, b];\n}\nfunction screenChannel(backdrop, source) {\n return backdrop + source - backdrop * source;\n}\nfunction screen(b, s) {\n return [\n Math.round(clamp(screenChannel(b[0] / 255, s[0] / 255) * 255)),\n Math.round(clamp(screenChannel(b[1] / 255, s[1] / 255) * 255)),\n Math.round(clamp(screenChannel(b[2] / 255, s[2] / 255) * 255))\n ];\n}\nexport {\n COLOR_HUES,\n COLOR_TINTS,\n black,\n blue,\n buildTints,\n color,\n config,\n cyan,\n darken,\n gray,\n green,\n hexToRgb,\n hslToRgb,\n hues,\n limit,\n magenta,\n orange,\n purple,\n red,\n rgbToHex,\n rgbToHsl,\n screen,\n white,\n yellow\n};\n//# sourceMappingURL=index.js.map\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nexport function prefix (value, length, children) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// tab-size\n\t\tcase 4789:\n\t\t\treturn MOZ + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/g, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// justify-self\n\t\tcase 4200:\n\t\t\tif (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn MS + replace(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~indexof(value + (children = children[length].value), 'span', 0) ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span', 0) ? match(children, /\\d+/) : +match(children, /\\d+/) - +match(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn MS + replace(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return match(element.props, /grid-\\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch', 0) ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn replace(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif (charat(value, length + 6) === 121)\n\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn replace(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn replace(value, ':', ':' + MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn replace(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import{__spreadArray as e,__assign as t}from\"tslib\";import n from\"@emotion/is-prop-valid\";import r,{useRef as o,useState as s,useMemo as i,useEffect as a,useContext as c,useDebugValue as l,createElement as u}from\"react\";import p from\"shallowequal\";import*as d from\"stylis\";import h from\"@emotion/unitless\";var f=\"undefined\"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||\"data-styled\",m=\"active\",y=\"data-styled-version\",v=\"6.1.15\",g=\"/*!sc*/\\n\",S=\"undefined\"!=typeof window&&\"HTMLElement\"in window,w=Boolean(\"boolean\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&\"\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY?\"false\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&\"\"!==process.env.SC_DISABLE_SPEEDY?\"false\"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:\"production\"!==process.env.NODE_ENV),b={},E=/invalid hook call/i,N=new Set,P=function(t,n){if(\"production\"!==process.env.NODE_ENV){var r=n?' with the id of \"'.concat(n,'\"'):\"\",s=\"The component \".concat(t).concat(r,\" has been created dynamically.\\n\")+\"You may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",i=console.error;try{var a=!0;console.error=function(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];E.test(t)?(a=!1,N.delete(s)):i.apply(void 0,e([t],n,!1))},o(),a&&!N.has(s)&&(console.warn(s),N.add(s))}catch(e){E.test(e.message)&&N.delete(s)}finally{console.error=i}}},_=Object.freeze([]),C=Object.freeze({});function I(e,t,n){return void 0===n&&(n=C),e.theme!==n.theme&&e.theme||t||n.theme}var A=new Set([\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"u\",\"ul\",\"use\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"tspan\"]),O=/[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,D=/(^-|-$)/g;function R(e){return e.replace(O,\"-\").replace(D,\"\")}var T=/(a)(d)/gi,k=52,j=function(e){return String.fromCharCode(e+(e>25?39:97))};function x(e){var t,n=\"\";for(t=Math.abs(e);t>k;t=t/k|0)n=j(t%k)+n;return(j(t%k)+n).replace(T,\"$1-$2\")}var V,F=5381,M=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},z=function(e){return M(F,e)};function $(e){return x(z(e)>>>0)}function B(e){return\"production\"!==process.env.NODE_ENV&&\"string\"==typeof e&&e||e.displayName||e.name||\"Component\"}function L(e){return\"string\"==typeof e&&(\"production\"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var G=\"function\"==typeof Symbol&&Symbol.for,Y=G?Symbol.for(\"react.memo\"):60115,q=G?Symbol.for(\"react.forward_ref\"):60112,W={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},H={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},U={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},J=((V={})[q]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},V[Y]=U,V);function X(e){return(\"type\"in(t=e)&&t.type.$$typeof)===Y?U:\"$$typeof\"in e?J[e.$$typeof]:W;var t}var Z=Object.defineProperty,K=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,ee=Object.getOwnPropertyDescriptor,te=Object.getPrototypeOf,ne=Object.prototype;function re(e,t,n){if(\"string\"!=typeof t){if(ne){var r=te(t);r&&r!==ne&&re(e,r,n)}var o=K(t);Q&&(o=o.concat(Q(t)));for(var s=X(e),i=X(t),a=0;a<o.length;++a){var c=o[a];if(!(c in H||n&&n[c]||i&&c in i||s&&c in s)){var l=ee(t,c);try{Z(e,c,l)}catch(e){}}}}return e}function oe(e){return\"function\"==typeof e}function se(e){return\"object\"==typeof e&&\"styledComponentId\"in e}function ie(e,t){return e&&t?\"\".concat(e,\" \").concat(t):e||t||\"\"}function ae(e,t){if(0===e.length)return\"\";for(var n=e[0],r=1;r<e.length;r++)n+=t?t+e[r]:e[r];return n}function ce(e){return null!==e&&\"object\"==typeof e&&e.constructor.name===Object.name&&!(\"props\"in e&&e.$$typeof)}function le(e,t,n){if(void 0===n&&(n=!1),!n&&!ce(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=le(e[r],t[r]);else if(ce(t))for(var r in t)e[r]=le(e[r],t[r]);return e}function ue(e,t){Object.defineProperty(e,\"toString\",{value:t})}var pe=\"production\"!==process.env.NODE_ENV?{1:\"Cannot create styled-component for component: %s.\\n\\n\",2:\"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",3:\"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",4:\"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",5:\"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",6:\"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",7:'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document `<head>`\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\",18:\"ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`\"}:{};function de(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=e[0],r=[],o=1,s=e.length;o<s;o+=1)r.push(e[o]);return r.forEach(function(e){n=n.replace(/%[a-z]/,e)}),n}function he(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return\"production\"===process.env.NODE_ENV?new Error(\"An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#\".concat(t,\" for more information.\").concat(n.length>0?\" Args: \".concat(n.join(\", \")):\"\")):new Error(de.apply(void 0,e([pe[t]],n,!1)).trim())}var fe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)if((o<<=1)<0)throw he(16,\"\".concat(e));this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s<o;s++)this.groupSizes[s]=0}for(var i=this.indexOfGroup(e+1),a=(s=0,t.length);s<a;s++)this.tag.insertRule(i,t[s])&&(this.groupSizes[e]++,i++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t=\"\";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s<o;s++)t+=\"\".concat(this.tag.getRule(s)).concat(g);return t},e}(),me=1<<30,ye=new Map,ve=new Map,ge=1,Se=function(e){if(ye.has(e))return ye.get(e);for(;ve.has(ge);)ge++;var t=ge++;if(\"production\"!==process.env.NODE_ENV&&((0|t)<0||t>me))throw he(16,\"\".concat(t));return ye.set(e,t),ve.set(t,e),t},we=function(e,t){ge=t+1,ye.set(e,t),ve.set(t,e)},be=\"style[\".concat(f,\"][\").concat(y,'=\"').concat(v,'\"]'),Ee=new RegExp(\"^\".concat(f,'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)')),Ne=function(e,t,n){for(var r,o=n.split(\",\"),s=0,i=o.length;s<i;s++)(r=o[s])&&e.registerName(t,r)},Pe=function(e,t){for(var n,r=(null!==(n=t.textContent)&&void 0!==n?n:\"\").split(g),o=[],s=0,i=r.length;s<i;s++){var a=r[s].trim();if(a){var c=a.match(Ee);if(c){var l=0|parseInt(c[1],10),u=c[2];0!==l&&(we(u,l),Ne(e,u,c[3]),e.getTag().insertRules(l,o)),o.length=0}else o.push(a)}}},_e=function(e){for(var t=document.querySelectorAll(be),n=0,r=t.length;n<r;n++){var o=t[n];o&&o.getAttribute(f)!==m&&(Pe(e,o),o.parentNode&&o.parentNode.removeChild(o))}};function Ce(){return\"undefined\"!=typeof __webpack_nonce__?__webpack_nonce__:null}var Ie=function(e){var t=document.head,n=e||t,r=document.createElement(\"style\"),o=function(e){var t=Array.from(e.querySelectorAll(\"style[\".concat(f,\"]\")));return t[t.length-1]}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(f,m),r.setAttribute(y,v);var i=Ce();return i&&r.setAttribute(\"nonce\",i),n.insertBefore(r,s),r},Ae=function(){function e(e){this.element=Ie(e),this.element.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}throw he(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:\"\"},e}(),Oe=function(){function e(e){this.element=Ie(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:\"\"},e}(),De=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:\"\"},e}(),Re=S,Te={isServer:!S,useCSSOMInjection:!w},ke=function(){function e(e,n,r){void 0===e&&(e=C),void 0===n&&(n={});var o=this;this.options=t(t({},Te),e),this.gs=n,this.names=new Map(r),this.server=!!e.isServer,!this.server&&S&&Re&&(Re=!1,_e(this)),ue(this,function(){return function(e){for(var t=e.getTag(),n=t.length,r=\"\",o=function(n){var o=function(e){return ve.get(e)}(n);if(void 0===o)return\"continue\";var s=e.names.get(o),i=t.getGroup(n);if(void 0===s||!s.size||0===i.length)return\"continue\";var a=\"\".concat(f,\".g\").concat(n,'[id=\"').concat(o,'\"]'),c=\"\";void 0!==s&&s.forEach(function(e){e.length>0&&(c+=\"\".concat(e,\",\"))}),r+=\"\".concat(i).concat(a,'{content:\"').concat(c,'\"}').concat(g)},s=0;s<n;s++)o(s);return r}(o)})}return e.registerId=function(e){return Se(e)},e.prototype.rehydrate=function(){!this.server&&S&&_e(this)},e.prototype.reconstructWithOptions=function(n,r){return void 0===r&&(r=!0),new e(t(t({},this.options),n),this.gs,r&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new De(n):t?new Ae(n):new Oe(n)}(this.options),new fe(e)));var e},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Se(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Se(e),n)},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},e.prototype.clearRules=function(e){this.getTag().clearGroup(Se(e)),this.clearNames(e)},e.prototype.clearTag=function(){this.tag=void 0},e}(),je=/&/g,xe=/^\\s*\\/\\/.*$/gm;function Ve(e,t){return e.map(function(e){return\"rule\"===e.type&&(e.value=\"\".concat(t,\" \").concat(e.value),e.value=e.value.replaceAll(\",\",\",\".concat(t,\" \")),e.props=e.props.map(function(e){return\"\".concat(t,\" \").concat(e)})),Array.isArray(e.children)&&\"@keyframes\"!==e.type&&(e.children=Ve(e.children,t)),e})}function Fe(e){var t,n,r,o=void 0===e?C:e,s=o.options,i=void 0===s?C:s,a=o.plugins,c=void 0===a?_:a,l=function(e,r,o){return o.startsWith(n)&&o.endsWith(n)&&o.replaceAll(n,\"\").length>0?\".\".concat(t):e},u=c.slice();u.push(function(e){e.type===d.RULESET&&e.value.includes(\"&\")&&(e.props[0]=e.props[0].replace(je,n).replace(r,l))}),i.prefix&&u.push(d.prefixer),u.push(d.stringify);var p=function(e,o,s,a){void 0===o&&(o=\"\"),void 0===s&&(s=\"\"),void 0===a&&(a=\"&\"),t=a,n=o,r=new RegExp(\"\\\\\".concat(n,\"\\\\b\"),\"g\");var c=e.replace(xe,\"\"),l=d.compile(s||o?\"\".concat(s,\" \").concat(o,\" { \").concat(c,\" }\"):c);i.namespace&&(l=Ve(l,i.namespace));var p=[];return d.serialize(l,d.middleware(u.concat(d.rulesheet(function(e){return p.push(e)})))),p};return p.hash=c.length?c.reduce(function(e,t){return t.name||he(15),M(e,t.name)},F).toString():\"\",p}var Me=new ke,ze=Fe(),$e=r.createContext({shouldForwardProp:void 0,styleSheet:Me,stylis:ze}),Be=$e.Consumer,Le=r.createContext(void 0);function Ge(){return c($e)}function Ye(e){var t=s(e.stylisPlugins),n=t[0],o=t[1],c=Ge().styleSheet,l=i(function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.sheet,e.target,c]),u=i(function(){return Fe({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})},[e.enableVendorPrefixes,e.namespace,n]);a(function(){p(n,e.stylisPlugins)||o(e.stylisPlugins)},[e.stylisPlugins]);var d=i(function(){return{shouldForwardProp:e.shouldForwardProp,styleSheet:l,stylis:u}},[e.shouldForwardProp,l,u]);return r.createElement($e.Provider,{value:d},r.createElement(Le.Provider,{value:u},e.children))}var qe=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=ze);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,\"@keyframes\"))},this.name=e,this.id=\"sc-keyframes-\".concat(e),this.rules=t,ue(this,function(){throw he(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=ze),this.name+e.hash},e}(),We=function(e){return e>=\"A\"&&e<=\"Z\"};function He(e){for(var t=\"\",n=0;n<e.length;n++){var r=e[n];if(1===n&&\"-\"===r&&\"-\"===e[0])return e;We(r)?t+=\"-\"+r.toLowerCase():t+=r}return t.startsWith(\"ms-\")?\"-\"+t:t}var Ue=function(e){return null==e||!1===e||\"\"===e},Je=function(t){var n,r,o=[];for(var s in t){var i=t[s];t.hasOwnProperty(s)&&!Ue(i)&&(Array.isArray(i)&&i.isCss||oe(i)?o.push(\"\".concat(He(s),\":\"),i,\";\"):ce(i)?o.push.apply(o,e(e([\"\".concat(s,\" {\")],Je(i),!1),[\"}\"],!1)):o.push(\"\".concat(He(s),\": \").concat((n=s,null==(r=i)||\"boolean\"==typeof r||\"\"===r?\"\":\"number\"!=typeof r||0===r||n in h||n.startsWith(\"--\")?String(r).trim():\"\".concat(r,\"px\")),\";\")))}return o};function Xe(e,t,n,r){if(Ue(e))return[];if(se(e))return[\".\".concat(e.styledComponentId)];if(oe(e)){if(!oe(s=e)||s.prototype&&s.prototype.isReactComponent||!t)return[e];var o=e(t);return\"production\"===process.env.NODE_ENV||\"object\"!=typeof o||Array.isArray(o)||o instanceof qe||ce(o)||null===o||console.error(\"\".concat(B(e),\" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\")),Xe(o,t,n,r)}var s;return e instanceof qe?n?(e.inject(n,r),[e.getName(r)]):[e]:ce(e)?Je(e):Array.isArray(e)?Array.prototype.concat.apply(_,e.map(function(e){return Xe(e,t,n,r)})):[e.toString()]}function Ze(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(oe(n)&&!se(n))return!1}return!0}var Ke=z(v),Qe=function(){function e(e,t,n){this.rules=e,this.staticRulesId=\"\",this.isStatic=\"production\"===process.env.NODE_ENV&&(void 0===n||n.isStatic)&&Ze(e),this.componentId=t,this.baseHash=M(Ke,t),this.baseStyle=n,ke.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):\"\";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))r=ie(r,this.staticRulesId);else{var o=ae(Xe(this.rules,e,t,n)),s=x(M(this.baseHash,o)>>>0);if(!t.hasNameForId(this.componentId,s)){var i=n(o,\".\".concat(s),void 0,this.componentId);t.insertRules(this.componentId,s,i)}r=ie(r,s),this.staticRulesId=s}else{for(var a=M(this.baseHash,n.hash),c=\"\",l=0;l<this.rules.length;l++){var u=this.rules[l];if(\"string\"==typeof u)c+=u,\"production\"!==process.env.NODE_ENV&&(a=M(a,u));else if(u){var p=ae(Xe(u,e,t,n));a=M(a,p+l),c+=p}}if(c){var d=x(a>>>0);t.hasNameForId(this.componentId,d)||t.insertRules(this.componentId,d,n(c,\".\".concat(d),void 0,this.componentId)),r=ie(r,d)}}return r},e}(),et=r.createContext(void 0),tt=et.Consumer;function nt(){var e=c(et);if(!e)throw he(18);return e}function rt(e){var n=r.useContext(et),o=i(function(){return function(e,n){if(!e)throw he(14);if(oe(e)){var r=e(n);if(\"production\"!==process.env.NODE_ENV&&(null===r||Array.isArray(r)||\"object\"!=typeof r))throw he(7);return r}if(Array.isArray(e)||\"object\"!=typeof e)throw he(8);return n?t(t({},n),e):e}(e.theme,n)},[e.theme,n]);return e.children?r.createElement(et.Provider,{value:o},e.children):null}var ot={},st=new Set;function it(e,o,s){var i=se(e),a=e,c=!L(e),p=o.attrs,d=void 0===p?_:p,h=o.componentId,f=void 0===h?function(e,t){var n=\"string\"!=typeof e?\"sc\":R(e);ot[n]=(ot[n]||0)+1;var r=\"\".concat(n,\"-\").concat($(v+n+ot[n]));return t?\"\".concat(t,\"-\").concat(r):r}(o.displayName,o.parentComponentId):h,m=o.displayName,y=void 0===m?function(e){return L(e)?\"styled.\".concat(e):\"Styled(\".concat(B(e),\")\")}(e):m,g=o.displayName&&o.componentId?\"\".concat(R(o.displayName),\"-\").concat(o.componentId):o.componentId||f,S=i&&a.attrs?a.attrs.concat(d).filter(Boolean):d,w=o.shouldForwardProp;if(i&&a.shouldForwardProp){var b=a.shouldForwardProp;if(o.shouldForwardProp){var E=o.shouldForwardProp;w=function(e,t){return b(e,t)&&E(e,t)}}else w=b}var N=new Qe(s,g,i?a.componentStyle:void 0);function O(e,o){return function(e,o,s){var i=e.attrs,a=e.componentStyle,c=e.defaultProps,p=e.foldedComponentIds,d=e.styledComponentId,h=e.target,f=r.useContext(et),m=Ge(),y=e.shouldForwardProp||m.shouldForwardProp;\"production\"!==process.env.NODE_ENV&&l(d);var v=I(o,f,c)||C,g=function(e,n,r){for(var o,s=t(t({},n),{className:void 0,theme:r}),i=0;i<e.length;i+=1){var a=oe(o=e[i])?o(s):o;for(var c in a)s[c]=\"className\"===c?ie(s[c],a[c]):\"style\"===c?t(t({},s[c]),a[c]):a[c]}return n.className&&(s.className=ie(s.className,n.className)),s}(i,o,v),S=g.as||h,w={};for(var b in g)void 0===g[b]||\"$\"===b[0]||\"as\"===b||\"theme\"===b&&g.theme===v||(\"forwardedAs\"===b?w.as=g.forwardedAs:y&&!y(b,S)||(w[b]=g[b],y||\"development\"!==process.env.NODE_ENV||n(b)||st.has(b)||!A.has(S)||(st.add(b),console.warn('styled-components: it looks like an unknown prop \"'.concat(b,'\" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));var E=function(e,t){var n=Ge(),r=e.generateAndInjectStyles(t,n.styleSheet,n.stylis);return\"production\"!==process.env.NODE_ENV&&l(r),r}(a,g);\"production\"!==process.env.NODE_ENV&&e.warnTooManyClasses&&e.warnTooManyClasses(E);var N=ie(p,d);return E&&(N+=\" \"+E),g.className&&(N+=\" \"+g.className),w[L(S)&&!A.has(S)?\"class\":\"className\"]=N,s&&(w.ref=s),u(S,w)}(D,e,o)}O.displayName=y;var D=r.forwardRef(O);return D.attrs=S,D.componentStyle=N,D.displayName=y,D.shouldForwardProp=w,D.foldedComponentIds=i?ie(a.foldedComponentIds,a.styledComponentId):\"\",D.styledComponentId=g,D.target=i?a.target:e,Object.defineProperty(D,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=i?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,o=t;r<o.length;r++)le(e,o[r],!0);return e}({},a.defaultProps,e):e}}),\"production\"!==process.env.NODE_ENV&&(P(y,g),D.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var s=t?' with the id of \"'.concat(t,'\"'):\"\";console.warn(\"Over \".concat(200,\" classes were generated for component \").concat(e).concat(s,\".\\n\")+\"Consider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n <Component />\"),r=!0,n={}}}}(y,g)),ue(D,function(){return\".\".concat(D.styledComponentId)}),c&&re(D,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),D}function at(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n}var ct=function(e){return Object.assign(e,{isCss:!0})};function lt(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];if(oe(t)||ce(t))return ct(Xe(at(_,e([t],n,!0))));var o=t;return 0===n.length&&1===o.length&&\"string\"==typeof o[0]?Xe(o):ct(Xe(at(o,n)))}function ut(n,r,o){if(void 0===o&&(o=C),!r)throw he(1,r);var s=function(t){for(var s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];return n(r,o,lt.apply(void 0,e([t],s,!1)))};return s.attrs=function(e){return ut(n,r,t(t({},o),{attrs:Array.prototype.concat(o.attrs,e).filter(Boolean)}))},s.withConfig=function(e){return ut(n,r,t(t({},o),e))},s}var pt=function(e){return ut(it,e)},dt=pt;A.forEach(function(e){dt[e]=pt(e)});var ht=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Ze(e),ke.registerId(this.componentId+1)}return e.prototype.createStyles=function(e,t,n,r){var o=r(ae(Xe(this.rules,t,n,r)),\"\"),s=this.componentId+e;n.insertRules(s,s,o)},e.prototype.removeStyles=function(e,t){t.clearRules(this.componentId+e)},e.prototype.renderStyles=function(e,t,n,r){e>2&&ke.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();function ft(n){for(var o=[],s=1;s<arguments.length;s++)o[s-1]=arguments[s];var i=lt.apply(void 0,e([n],o,!1)),a=\"sc-global-\".concat($(JSON.stringify(i))),c=new ht(i,a);\"production\"!==process.env.NODE_ENV&&P(a);var l=function(e){var n=Ge(),o=r.useContext(et),s=r.useRef(n.styleSheet.allocateGSInstance(a)).current;return\"production\"!==process.env.NODE_ENV&&r.Children.count(e.children)&&console.warn(\"The global style component \".concat(a,\" was given child JSX. createGlobalStyle does not render children.\")),\"production\"!==process.env.NODE_ENV&&i.some(function(e){return\"string\"==typeof e&&-1!==e.indexOf(\"@import\")})&&console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app.\"),n.styleSheet.server&&function(e,n,r,o,s){if(c.isStatic)c.renderStyles(e,b,r,s);else{var i=t(t({},n),{theme:I(n,o,l.defaultProps)});c.renderStyles(e,i,r,s)}}(s,e,n.styleSheet,o,n.stylis),null};return r.memo(l)}function mt(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");var o=ae(lt.apply(void 0,e([t],n,!1))),s=$(o);return new qe(s,o)}function yt(e){var n=r.forwardRef(function(n,o){var s=I(n,r.useContext(et),e.defaultProps);return\"production\"!==process.env.NODE_ENV&&void 0===s&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"'.concat(B(e),'\"')),r.createElement(e,t({},n,{theme:s,ref:o}))});return n.displayName=\"WithTheme(\".concat(B(e),\")\"),re(n,e)}var vt=/^\\s*<\\/[a-z]/i,gt=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return\"\";var n=Ce(),r=ae([n&&'nonce=\"'.concat(n,'\"'),\"\".concat(f,'=\"true\"'),\"\".concat(y,'=\"').concat(v,'\"')].filter(Boolean),\" \");return\"<style \".concat(r,\">\").concat(t,\"</style>\")},this.getStyleTags=function(){if(e.sealed)throw he(2);return e._emitSheetCSS()},this.getStyleElement=function(){var n;if(e.sealed)throw he(2);var o=e.instance.toString();if(!o)return[];var s=((n={})[f]=\"\",n[y]=v,n.dangerouslySetInnerHTML={__html:o},n),i=Ce();return i&&(s.nonce=i),[r.createElement(\"style\",t({},s,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new ke({isServer:!0}),this.sealed=!1}return e.prototype.collectStyles=function(e){if(this.sealed)throw he(2);return r.createElement(Ye,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){if(S)throw he(3);if(this.sealed)throw he(2);this.seal();var t=require(\"stream\").Transform,n=e,r=this.instance,o=this._emitSheetCSS,s=new t({transform:function(e,t,n){var s=e.toString(),i=o();if(r.clearTag(),vt.test(s)){var a=s.indexOf(\">\")+1,c=s.slice(0,a),l=s.slice(a);this.push(c+i+l)}else this.push(i+s);n()}});return n.on(\"error\",function(e){s.emit(\"error\",e)}),n.pipe(s)},e}(),St={StyleSheet:ke,mainSheet:Me};\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\");var wt=\"__sc-\".concat(f,\"__\");\"production\"!==process.env.NODE_ENV&&\"test\"!==process.env.NODE_ENV&&\"undefined\"!=typeof window&&(window[wt]||(window[wt]=0),1===window[wt]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[wt]+=1);export{gt as ServerStyleSheet,Be as StyleSheetConsumer,$e as StyleSheetContext,Ye as StyleSheetManager,tt as ThemeConsumer,et as ThemeContext,rt as ThemeProvider,St as __PRIVATE__,ft as createGlobalStyle,lt as css,dt as default,se as isStyledComponent,mt as keyframes,dt as styled,nt as useTheme,v as version,yt as withTheme};\n//# sourceMappingURL=styled-components.esm.js.map\n","import {isDescendant} from '@nosferatu500/react-sortable-tree'\nimport {cyan, gray, red} from '@sanity/color'\nimport {ChevronDownIcon, ChevronRightIcon, DragHandleIcon} from '@sanity/icons'\nimport {Box, Button, Flex, Spinner} from '@sanity/ui'\nimport * as React from 'react'\nimport styled from 'styled-components'\n\nconst Root = styled.div`\n // Adapted from react-sortable-tree/style.css\n &[data-landing='true'] > *,\n &[data-cancel='true'] > * {\n opacity: 0 !important;\n }\n &[data-landing='true']::before,\n &[data-cancel='true']::before {\n background-color: ${cyan[50].hex};\n border: 2px dashed ${gray[400].hex};\n border-radius: 3px;\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n }\n\n &[data-cancel='true']::before {\n background-color: ${red[50].hex};\n }\n`\n\n/**\n * Customization of react-sortable-tree's default node.\n * Created in order to use Sanity UI for styles.\n * Reference: https://github.com/frontend-collective/react-sortable-tree/blob/master/src/node-renderer-default.js\n */\nconst NodeContentRenderer: any = (props: any) => {\n const {node, path, treeIndex, canDrag = false} = props\n const nodeTitle = node.title\n const Handle = React.useMemo(() => {\n if (!canDrag) {\n return null\n }\n if (typeof node.children === 'function' && node.expanded) {\n // Show a loading symbol on the handle when the children are expanded\n // and yet still defined by a function (a callback to fetch the children)\n return <Spinner />\n }\n\n const BtnElement = (\n <div>\n <Button\n mode=\"bleed\"\n paddingX={0}\n paddingY={1}\n style={{\n cursor: node.publishedId ? 'grab' : 'default',\n fontSize: '1.5625rem'\n }}\n data-ui=\"DragHandleButton\"\n data-drag-handle={canDrag}\n disabled={!node.publishedId}\n >\n <DragHandleIcon style={{marginBottom: '-0.1em'}} />\n </Button>\n </div>\n )\n\n // Don't allow editors to drag invalid documents\n if (!node.publishedId) {\n return BtnElement\n }\n\n // Show the handle used to initiate a drag-and-drop\n return props.connectDragSource(BtnElement, {\n dropEffect: 'copy'\n })\n }, [canDrag, node, typeof node.children === 'function'])\n\n const isDraggedDescendant = props.draggedNode && isDescendant(props.draggedNode, node)\n const isLandingPadActive = !props.didDrop && props.isDragging\n\n return (\n <Box style={{position: 'relative'}}>\n {props.toggleChildrenVisibility &&\n node.children &&\n (node.children.length > 0 || typeof node.children === 'function') && (\n <div\n style={{\n position: 'absolute',\n left: '-2px',\n top: '40%',\n transform: 'translate(-100%, -50%)'\n }}\n >\n <Button\n aria-label={node.expanded ? 'Collapse' : 'Expand'}\n icon={\n node.expanded ? (\n <ChevronDownIcon color={gray[200].hex} />\n ) : (\n <ChevronRightIcon color={gray[200].hex} />\n )\n }\n mode=\"bleed\"\n fontSize={2}\n padding={1}\n type=\"button\"\n onClick={() =>\n props.toggleChildrenVisibility?.({\n node,\n path,\n treeIndex\n })\n }\n />\n </div>\n )}\n\n {props.connectDragPreview(\n <div>\n <Root\n data-landing={isLandingPadActive}\n data-cancel={isLandingPadActive && !props.canDrop}\n style={{\n opacity: isDraggedDescendant ? 0.5 : 1\n }}\n >\n <Flex align=\"center\">\n {Handle}\n {typeof nodeTitle === 'function' ? nodeTitle(props) : nodeTitle}\n </Flex>\n </Root>\n </div>\n )}\n </Box>\n )\n}\n\nexport default NodeContentRenderer\n","import {Box, Card, CardTone, Stack, Text} from '@sanity/ui'\nimport * as React from 'react'\n\nconst PlaceholderDropzone: React.FC<\n {\n tone?: CardTone\n title: string\n subtitle?: string\n } & any\n> = (props) => {\n const isValid = props.isOver && props.canDrop\n const isInvalid = props.isOver && !props.canDrop\n let tone: CardTone = 'transparent'\n if (isValid) {\n tone = 'positive'\n }\n if (isInvalid) {\n tone = 'caution'\n }\n return (\n <Box padding={3}>\n <Card\n padding={5}\n radius={2}\n border\n tone={tone}\n style={{\n borderStyle: props.isOver ? undefined : 'dashed',\n }}\n >\n <Stack space={2} style={{textAlign: 'center'}}>\n <Text size={2} as=\"h2\" muted>\n {!props.isOver && props.title}\n {isValid && 'Drop here'}\n {isInvalid && 'Invalid location or element'}\n </Text>\n {props.subtitle && <Text size={1}>{props.subtitle}</Text>}\n {props.children}\n </Stack>\n </Card>\n </Box>\n )\n}\n\nexport default PlaceholderDropzone\n","import {blue} from '@sanity/color'\nimport * as React from 'react'\nimport {createGlobalStyle} from 'styled-components'\n\n// Adapted from react-sortable-tree/src/tree-node.js\nconst ScaffoldStyles = createGlobalStyle`\n .rst__lineBlock,\n .rst__absoluteLineBlock {\n height: 100%;\n position: relative;\n display: inline-block;\n --stroke-width: 3px;\n }\n\n .rst__absoluteLineBlock {\n position: absolute;\n top: 0;\n }\n\n /* Highlight line for pointing to dragged row destination\n ========================================================================== */\n /**\n * +--+--+\n * | | |\n * | | |\n * | | |\n * +--+--+\n */\n .rst__highlightLineVertical {\n z-index: 3;\n }\n .rst__highlightLineVertical::before {\n position: absolute;\n content: '';\n background-color: ${blue[400].hex};\n width: calc(var(--stroke-width) * 2);\n margin-left: calc(var(--stroke-width) * -1);\n left: 50%;\n top: 0;\n height: 100%;\n }\n\n @keyframes arrow-pulse {\n 0% {\n transform: translate(0, 0);\n opacity: 0;\n }\n 30% {\n transform: translate(0, 300%);\n opacity: 1;\n }\n 70% {\n transform: translate(0, 700%);\n opacity: 1;\n }\n 100% {\n transform: translate(0, 1000%);\n opacity: 0;\n }\n }\n .rst__highlightLineVertical::after {\n content: '';\n position: absolute;\n height: 0;\n margin-left: calc(var(--stroke-width) * -1);\n left: 50%;\n top: 0;\n border-left: var(--stroke-width) solid transparent;\n border-right: var(--stroke-width) solid transparent;\n border-top: var(--stroke-width) solid white;\n animation: arrow-pulse 1s infinite linear both;\n }\n\n /**\n * +-----+\n * | |\n * | +--+\n * | | |\n * +--+--+\n */\n .rst__highlightTopLeftCorner::before {\n z-index: 3;\n content: '';\n position: absolute;\n border-top: solid calc(var(--stroke-width) * 2) ${blue[400].hex};\n border-left: solid calc(var(--stroke-width) * 2) ${blue[400].hex};\n box-sizing: border-box;\n height: calc(50% + var(--stroke-width));\n top: 50%;\n margin-top: calc(var(--stroke-width) * -1);\n right: 0;\n width: calc(50% + var(--stroke-width));\n }\n\n /**\n * +--+--+\n * | | |\n * | | |\n * | +->|\n * +-----+\n */\n .rst__highlightBottomLeftCorner {\n z-index: 3;\n }\n .rst__highlightBottomLeftCorner::before {\n content: '';\n position: absolute;\n border-bottom: solid calc(var(--stroke-width) * 2) ${blue[400].hex};\n border-left: solid calc(var(--stroke-width) * 2) ${blue[400].hex};\n box-sizing: border-box;\n height: calc(100% + var(--stroke-width));\n top: 0;\n right: calc(var(--stroke-width) * 3);\n width: calc(50% - calc(var(--stroke-width) * 2));\n }\n\n .rst__highlightBottomLeftCorner::after {\n content: '';\n position: absolute;\n height: 0;\n right: 0;\n top: 100%;\n margin-top: calc(var(--stroke-width) * -3);\n border-top: calc(var(--stroke-width) * 3) solid transparent;\n border-bottom: calc(var(--stroke-width) * 3) solid transparent;\n border-left: calc(var(--stroke-width) * 3) solid ${blue[400].hex};\n }\n\n .rst__unclickable {\n pointer-events: none;\n margin-top: -calc(var(--stroke-width) * 3);\n }\n`\n\nconst TreeNodeRendererScaffold: React.FC<any> = (props) => {\n const {\n lowerSiblingCounts,\n scaffoldBlockPxWidth,\n listIndex,\n swapDepth,\n swapFrom,\n swapLength,\n treeIndex,\n } = props\n\n // Construct the scaffold representing the structure of the tree\n const scaffold: React.ReactNode[] = lowerSiblingCounts.map(\n (lowerSiblingCount: number, i: any) => {\n if (lowerSiblingCount < 0 || treeIndex === listIndex || i !== swapDepth) {\n return null\n }\n\n // This row has been shifted, and is at the depth of\n // the line pointing to the new destination\n let highlightLineClass = ''\n\n if (listIndex === (swapFrom || 0) + (swapLength || 0) - 1) {\n // This block is on the bottom (target) line\n // This block points at the target block (where the row will go when released)\n highlightLineClass = 'rst__highlightBottomLeftCorner'\n } else if (treeIndex === swapFrom) {\n // This block is on the top (source) line\n highlightLineClass = 'rst__highlightTopLeftCorner'\n } else {\n // This block is between the bottom and top\n highlightLineClass = 'rst__highlightLineVertical'\n }\n\n const style = {\n width: scaffoldBlockPxWidth,\n left: scaffoldBlockPxWidth * i,\n }\n\n return (\n <div\n key={i}\n style={style}\n className={`rst__unclickable rst__absoluteLineBlock ${highlightLineClass || ''}`}\n tabIndex={-1}\n />\n )\n }\n )\n\n return (\n <>\n {scaffold}\n <ScaffoldStyles />\n </>\n )\n}\n\nexport default TreeNodeRendererScaffold\n","import * as React from 'react'\nimport TreeNodeRendererScaffold from './TreeNodeRendererScaffold'\n\n/**\n * To prevent expand buttons from overflowing on the left, we add a minimum left padding to all entries\n */\nconst BASE_LEFT_PADDING = 10\nconst NESTING_PADDING = 14\n\nconst TreeNodeRenderer: any = (props: any) => {\n const {children, lowerSiblingCounts, connectDropTarget, isOver, draggedNode, canDrop} = props\n\n // Construct the scaffold representing the structure of the tree\n const scaffoldBlockCount = lowerSiblingCounts.length\n\n return connectDropTarget(\n <div style={props.style}>\n <div\n style={{\n // prettier-ignore\n paddingLeft: `${BASE_LEFT_PADDING + (NESTING_PADDING * scaffoldBlockCount)}px`\n }}\n >\n {React.Children.map(children, (child) =>\n React.cloneElement(child as React.ReactElement<any>, {\n isOver,\n canDrop,\n draggedNode\n })\n )}\n </div>\n <TreeNodeRendererScaffold {...props} />\n </div>\n )\n}\n\nexport default TreeNodeRenderer\n","/**\n * react-sortable-tree emits a lot of random errors when dragging to invalid states,\n * even when drag-targets are disabled.\n *\n * This boundary is a workaround so users are not pestered with error-toasts for things\n * that have no functional impact.\n *\n * This boundry does NOT handle errors that happen in the React dnd\n * event handlers, so there is addtional workarounds in the\n * DnDManager.\n * */\nexport const TreeEditorErrorBoundary = (props: any) => {\n return props.children\n}\n","import SortableTree, {FullTree, NodeData} from '@nosferatu500/react-sortable-tree'\nimport {AddCircleIcon} from '@sanity/icons'\nimport {Box, Button, Card, Flex, Spinner, Stack, Text, Tooltip} from '@sanity/ui'\nimport * as React from 'react'\nimport {useCallback, useMemo} from 'react'\nimport {DndProvider} from 'react-dnd'\nimport {HTML5Backend} from 'react-dnd-html5-backend'\nimport {PatchEvent} from 'sanity'\nimport useAllItems from '../hooks/useAllItems'\nimport useLocalTree from '../hooks/useLocalTree'\nimport {TreeOperationsContext} from '../hooks/useTreeOperations'\nimport useTreeOperationsProvider from '../hooks/useTreeOperationsProvider'\nimport {Optional, StoredTreeItem, TreeDeskStructureProps} from '../types'\nimport getCommonTreeProps from '../utils/getCommonTreeProps'\nimport getTreeHeight from '../utils/getTreeHeight'\nimport {getUnaddedItems} from '../utils/treeData'\nimport {HandleMovedNodeData} from '../utils/treePatches'\nimport DocumentInNode from './DocumentInNode'\nimport {TreeEditorErrorBoundary} from './TreeEditorErrorBoundary'\n\n/**\n * The loaded tree users interact with\n */\nconst TreeEditor: React.FC<{\n tree: StoredTreeItem[]\n onChange: (patch: PatchEvent) => void\n options: Optional<TreeDeskStructureProps, 'documentId'>\n patchPrefix?: string\n}> = (props) => {\n const {status: allItemsStatus, allItems} = useAllItems(props.options)\n const unAddedItems = getUnaddedItems({tree: props.tree, allItems})\n\n const {localTree, handleVisibilityToggle} = useLocalTree({\n tree: props.tree,\n allItems\n })\n\n const operations = useTreeOperationsProvider({\n patchPrefix: props.patchPrefix,\n onChange: props.onChange,\n localTree\n })\n\n const [context, setContext] = React.useState<HTMLElement | null>(null)\n\n React.useEffect(() => {\n if (props.options.documentId) {\n setContext(document.getElementById(props.options.documentId))\n }\n }, [props.options.documentId])\n\n const onMoveNode = useCallback(\n (data: NodeData & FullTree & any) =>\n operations.handleMovedNode(data as unknown as HandleMovedNodeData),\n [operations]\n )\n\n const treeProps = useMemo(\n () =>\n getCommonTreeProps({\n placeholder: {\n title: 'Add items from the list below'\n }\n }),\n []\n )\n\n const operationContext = useMemo(\n () => ({...operations, allItemsStatus}),\n [operations, allItemsStatus]\n )\n\n return (\n <TreeEditorErrorBoundary>\n {/*Use this Box-wrapper to get a context Element to prevent DndProvider to have to HTML% backend at the same time https://github.com/react-dnd/react-dnd/issues/186#issuecomment-978206387 */}\n <Box id={props.options.documentId}>\n {context ? (\n <DndProvider backend={HTML5Backend} options={{rootElement: context}}>\n <TreeOperationsContext.Provider value={operationContext}>\n <Stack space={4} paddingTop={4}>\n <Card\n style={{minHeight: getTreeHeight(localTree)}}\n // Only include borderBottom if there's something to show in unadded items\n borderBottom={allItemsStatus !== 'success' || unAddedItems?.length > 0}\n >\n <SortableTree\n maxDepth={props.options.maxDepth}\n onChange={doNothingOnChange}\n onVisibilityToggle={handleVisibilityToggle}\n canDrop={canDrop}\n onMoveNode={onMoveNode}\n treeData={localTree}\n {...treeProps}\n />\n </Card>\n\n {allItemsStatus === 'success' && unAddedItems?.length > 0 && (\n <Stack space={1} paddingX={2} paddingTop={3}>\n <Stack space={2} paddingX={2} paddingBottom={3}>\n <Text size={2} as=\"h2\" weight=\"semibold\">\n Add more items\n </Text>\n <Text size={1} muted>\n Only published documents are shown.\n </Text>\n </Stack>\n {unAddedItems.map((item) => (\n <DocumentInNode\n key={item.publishedId || item.draftId}\n item={item}\n action={\n <Tooltip\n portal\n placement=\"left\"\n content={\n <Box padding={2}>\n <Text size={1}>Add to list</Text>\n </Box>\n }\n >\n <Button\n onClick={() => {\n operations.addItem(item)\n }}\n mode=\"bleed\"\n icon={AddCircleIcon}\n style={{cursor: 'pointer'}}\n />\n </Tooltip>\n }\n />\n ))}\n </Stack>\n )}\n {allItemsStatus === 'loading' && (\n <Flex padding={4} align={'center'} justify={'center'}>\n <Spinner size={3} muted />\n </Flex>\n )}\n {allItemsStatus === 'error' && (\n <Flex padding={4} align={'center'} justify={'center'}>\n <Text size={2} weight=\"semibold\">\n Something went wrong when loading documents\n </Text>\n </Flex>\n )}\n </Stack>\n </TreeOperationsContext.Provider>\n </DndProvider>\n ) : null}\n </Box>\n </TreeEditorErrorBoundary>\n )\n}\n\nfunction canDrop({nextPath, prevPath}: any & NodeData) {\n const insideItself =\n nextPath.length >= prevPath.length &&\n prevPath.every((pathIndex: any, index: string | number) => nextPath[index] === pathIndex)\n return !insideItself\n}\n\nconst doNothingOnChange = () => {\n // Do nothing. onMoveNode will do all the work\n}\n\nexport default TreeEditor\n","import * as React from 'react'\nimport {AllItems, LocalTreeItem, StoredTreeItem, VisibilityMap} from '../types'\nimport {dataToEditorTree} from '../utils/treeData'\n\n/**\n * Enhances tree data with information on:\n * - `expanded` - native property of react-sortable-tree to determine collapsing & expanding of a node's children\n * - `draftId` & `publishedId` - refer to LocalTreeItem's type annotations\n *\n * Doesn't modify the main tree or has side-effects on data.\n * Has the added benefit of being local to the user, so external changes won't affect local visibility.\n */\nexport default function useLocalTree({\n tree,\n allItems,\n}: {\n tree: StoredTreeItem[]\n allItems: AllItems\n}): {\n handleVisibilityToggle: (data: any) => void\n localTree: LocalTreeItem[]\n} {\n const [visibilityMap, setVisibilityMap] = React.useState<VisibilityMap>({})\n\n function handleVisibilityToggle(data: any) {\n setVisibilityMap({\n ...visibilityMap,\n [data.node._key]: data.expanded,\n })\n }\n\n return {\n localTree: dataToEditorTree({\n tree,\n allItems,\n visibilityMap,\n }),\n handleVisibilityToggle,\n }\n}\n","import {ReactSortableTreeProps} from '@nosferatu500/react-sortable-tree/react-sortable-tree'\nimport React from 'react'\nimport NodeContentRenderer from '../components/NodeContentRenderer'\nimport PlaceholderDropzone from '../components/PlaceholderDropzone'\nimport TreeNodeRenderer from '../components/TreeNodeRenderer'\n// import {ROW_HEIGHT} from './getTreeHeight'\n\nexport default function getCommonTreeProps({\n placeholder\n}: {\n placeholder: {\n title: string\n subtitle?: string\n }\n}): Partial<ReactSortableTreeProps> {\n return {\n theme: {\n nodeContentRenderer: NodeContentRenderer,\n placeholderRenderer: (props: any) => <PlaceholderDropzone {...placeholder} {...props} />,\n treeNodeRenderer: TreeNodeRenderer,\n style: {height: '100%'},\n innerStyle: undefined,\n scaffoldBlockPxWidth: 44,\n slideRegionSize: 100\n // rowHeight: ROW_HEIGHT,\n }\n }\n}\n","import {getVisibleNodeCount, TreeItem} from '@nosferatu500/react-sortable-tree'\n\nexport const ROW_HEIGHT = 51\n\nexport default function getTreeHeight(treeData: TreeItem[]): string {\n const visibleNodeCount = getVisibleNodeCount({treeData})\n\n // prettier-ignore\n return `${50 + (ROW_HEIGHT * visibleNodeCount)}px`\n}\n","// Adapted from @sanity/form-builder/src/sanity/utils/gradientPatchAdapter.ts\nimport {arrayToJSONMatchPath} from '@sanity/mutator'\n\ntype Patch = Record<string, any>\n\ntype GradientPatch = Record<string, any>\n\nexport function toGradient(patches: Patch[]): GradientPatch[] {\n return patches.map(toGradientPatch)\n}\n\nfunction toGradientPatch(patch: Patch): GradientPatch {\n const matchPath = arrayToJSONMatchPath(patch.path || [])\n if (patch.type === 'insert') {\n const {position, items} = patch\n return {\n insert: {\n [position]: matchPath,\n items: items,\n },\n }\n }\n\n if (patch.type === 'unset') {\n return {\n unset: [matchPath],\n }\n }\n\n if (!patch.type) {\n throw new Error(`Missing patch type in patch ${JSON.stringify(patch)}`)\n }\n if (matchPath) {\n return {\n [patch.type]: {\n [matchPath]: patch.value,\n },\n }\n }\n return {\n [patch.type]: patch.value,\n }\n}\n","import {Box, Flex, Spinner} from '@sanity/ui'\nimport * as React from 'react'\nimport {PatchEvent, useDocumentOperation, useEditState} from 'sanity'\nimport DeskWarning from './components/DeskWarning'\nimport TreeEditor from './components/TreeEditor'\nimport {DocumentOperations, StoredTreeItem, TreeDeskStructureProps} from './types'\nimport {toGradient} from './utils/gradientPatchAdapter'\nimport injectNodeTypeInPatches, {DEFAULT_DOC_TYPE} from './utils/injectNodeTypeInPatches'\n\ninterface ComponentProps {\n options: TreeDeskStructureProps\n}\n\nexport const DEFAULT_FIELD_KEY = 'tree'\n\nconst TreeDeskStructure: React.FC<ComponentProps> = (props) => {\n const treeDocType = props.options.documentType || DEFAULT_DOC_TYPE\n const treeFieldKey = props.options.fieldKeyInDocument || DEFAULT_FIELD_KEY\n const {published, draft, liveEdit} = useEditState(props.options.documentId, treeDocType)\n const {patch} = useDocumentOperation(props.options.documentId, treeDocType) as DocumentOperations\n\n const treeValue = (published?.[treeFieldKey] || []) as StoredTreeItem[]\n\n const handleChange = React.useCallback(\n (patchEvent: PatchEvent) => {\n if (!patch?.execute) {\n return\n }\n patch.execute(toGradient(injectNodeTypeInPatches(patchEvent.patches, treeDocType)))\n },\n [patch]\n )\n\n React.useEffect(() => {\n if (!published?._id && patch?.execute && !patch?.disabled) {\n // If no published document, create it\n patch.execute([{setIfMissing: {[treeFieldKey]: []}}])\n }\n }, [published?._id, patch])\n\n if (!liveEdit) {\n return (\n <DeskWarning\n title=\"Invalid configuration\"\n subtitle=\"The `documentType` passed to `createDeskHiearchy` isn't live editable. \\nTo continue using this plugin, add `liveEdit: true` to your custom schema type or unset `documentType` in your hierarchy configuration.\"\n />\n )\n }\n\n if (draft?._id) {\n return (\n <DeskWarning\n title=\"This hierarchy tree contains a draft\"\n subtitle=\"Click on the button below to publish your draft in order to continue editing the live\n published document.\"\n />\n )\n }\n\n if (!published?._id) {\n return (\n <Flex padding={5} align={'center'} justify={'center'} height={'fill'}>\n <Spinner width={4} muted />\n </Flex>\n )\n }\n\n return (\n <Box paddingBottom={5} paddingRight={2}>\n <TreeEditor\n options={props.options}\n tree={treeValue}\n onChange={handleChange}\n patchPrefix={treeFieldKey}\n />\n </Box>\n )\n}\n\nexport default TreeDeskStructure\n","const ERROR_MESSAGES = {\n invalidDocumentId: 'Please add a documentId to your tree',\n invalidDocumentType: 'Please add a valid documentType to createHierarchicalSchemas',\n invalidReferenceTo: \"Missing valid 'referenceTo' value\",\n}\n\nexport default function throwError(message: keyof typeof ERROR_MESSAGES, extraContext = ''): void {\n throw new Error(`[hierarchical input] ${ERROR_MESSAGES[message]} ${extraContext}`)\n}\n","import {AddIcon} from '@sanity/icons'\nimport * as React from 'react'\nimport type {ConfigContext} from 'sanity'\nimport {StructureBuilder} from 'sanity/desk'\n\nimport TreeDeskStructure from './TreeDeskStructure'\nimport {TreeDeskStructureProps} from './types'\nimport throwError from './utils/throwError'\n\nexport interface TreeProps extends TreeDeskStructureProps {\n /**\n * Visible title above the tree.\n * Also used as the label in the desk list item.\n */\n title: string\n\n /**\n * Optional icon for rendering the item in the desk structure.\n */\n icon?: any\n\n context?: ConfigContext | any\n S?: StructureBuilder | any\n /**\n * Restrict document types that can be created.\n */\n creatableTypes?: string[]\n}\n\nconst deskTreeValidator = (props: TreeProps): React.FC => {\n const {documentId, referenceTo} = props\n if (typeof documentId !== 'string' && !documentId) {\n throwError('invalidDocumentId')\n }\n if (!Array.isArray(referenceTo)) {\n throwError('invalidReferenceTo', `(documentId \"${documentId}\")`)\n }\n\n return (deskProps) => <TreeDeskStructure {...deskProps} options={props} />\n}\n\nexport default function createDeskHierarchy(props: TreeProps) {\n const {documentId, referenceTo, referenceOptions, context, S, creatableTypes} = props\n if (!S || !context) {\n throw new Error('Invalid configuration. S or context props are undefined. ' +\n 'These props are available as function parameters when configuring structure, and must be passed along to createDeskHierarchy. ' +\n 'Confer the plugin README for example usage.')\n }\n\n const {schema} = context\n\n const safelyCreatableTypes =\n creatableTypes && !creatableTypes.some((type) => referenceTo.indexOf(type))\n ? creatableTypes\n : referenceTo\n\n let mainList = (\n referenceTo?.length === 1\n ? S.documentTypeList(referenceTo[0]).schemaType(referenceTo[0])\n : S.documentList().filter('_type in $types').params({types: referenceTo})\n )\n .id(documentId)\n .menuItems(\n (safelyCreatableTypes || []).map((schemaType) =>\n S.menuItem()\n .intent({\n type: 'create',\n params: {type: schemaType}\n })\n .title(`Create ${schema.get(schemaType)?.title}`)\n .icon(schema.get(schemaType)?.icon || AddIcon)\n )\n )\n .canHandleIntent((intent: string, c: Record<string, unknown>) => {\n // Can edit itself\n if (intent === 'edit' && c.id === props.documentId) {\n return true\n }\n // Can create & edit referenced document types\n if (safelyCreatableTypes.includes(c.type as string)) {\n return true\n }\n return false\n })\n\n if (referenceOptions?.filter) {\n mainList = mainList.filter(referenceOptions.filter)\n }\n\n if (referenceOptions?.filterParams) {\n mainList = mainList.params(referenceOptions.filterParams)\n }\n\n return S.listItem()\n .id(documentId)\n .title(props.title || documentId)\n .icon(props.icon)\n .child(\n Object.assign(\n mainList.serialize(),\n {\n type: 'component',\n component: deskTreeValidator(props),\n options: props,\n __preserveInstance: true\n },\n props.title ? {title: props.title} : {}\n )\n )\n}\n","import * as React from 'react'\nimport {FormField, FormNodePresence, PatchEvent, Path} from 'sanity'\nimport TreeEditor from './components/TreeEditor'\nimport {StoredTreeItem, TreeFieldSchema} from './types'\nimport injectNodeTypeInPatches, {DEFAULT_DOC_TYPE} from './utils/injectNodeTypeInPatches'\n\nexport interface TreeInputComponentProps {\n type: TreeFieldSchema\n value: StoredTreeItem[]\n level: number\n onChange: (event: unknown) => void\n onFocus: (path: Path) => void\n onBlur: () => void\n focusPath: Path\n readOnly: boolean\n presence: FormNodePresence[]\n}\n\nconst TreeInputComponent: React.FC<TreeInputComponentProps> = (props) => {\n const documentType = props.type.options.documentType || DEFAULT_DOC_TYPE\n\n const onChange = React.useCallback(\n (patch: any) => {\n const patches = injectNodeTypeInPatches(patch?.patches, documentType)\n props.onChange(new PatchEvent(patches))\n },\n [props.onChange]\n )\n\n return (\n <FormField\n description={props.type.description} // Creates description from schema\n title={props.type.title} // Creates label from schema title\n __unstable_presence={props.presence} // Handles presence avatars\n >\n <TreeEditor options={props.type.options} tree={props.value || []} onChange={onChange} />\n </FormField>\n )\n}\n\nexport default TreeInputComponent\n","import * as React from 'react'\nimport {ArraySchemaType} from 'sanity'\nimport {DEFAULT_FIELD_KEY} from './TreeDeskStructure'\nimport TreeInputComponent from './TreeInputComponent'\nimport {TreeDeskStructureProps, TreeFieldSchema} from './types'\nimport {\n INTERNAL_NODE_ARRAY_TYPE,\n INTERNAL_NODE_TYPE,\n INTERNAL_NODE_VALUE_TYPE,\n getSchemaTypeName\n} from './utils/injectNodeTypeInPatches'\nimport throwError from './utils/throwError'\n\ntype SchemaOptions = Omit<TreeDeskStructureProps, 'documentId' | 'maxDepth'>\n\nfunction createHierarchicalNodeValueType({\n referenceTo,\n referenceOptions,\n documentType\n}: SchemaOptions) {\n return {\n // when used inside the field, name & type are overwritten by createHierarchicalNodeType\n name: documentType ? getSchemaTypeName(documentType, 'nodeValue') : INTERNAL_NODE_VALUE_TYPE,\n type: 'object',\n title: `Hierarchical node value (${documentType})`,\n\n fields: [\n {name: 'docType', type: 'string'},\n {\n name: 'reference',\n type: 'reference',\n weak: true,\n to: referenceTo.map((type) => ({type})),\n options: referenceOptions\n }\n ]\n }\n}\n\nfunction createHierarchicalNodeType(options: SchemaOptions) {\n return {\n // name & type are overwritten by createHierarchicalField\n name: options.documentType\n ? getSchemaTypeName(options.documentType, 'node')\n : INTERNAL_NODE_TYPE,\n title: `Hierarchical node (${options.documentType})`,\n type: 'object',\n fields: [\n {name: 'parent', type: 'string'},\n\n options.documentType\n ? {name: 'value', type: getSchemaTypeName(options.documentType, 'nodeValue')}\n : // If no documentType is defined, use an anonymized inline object to avoid\n // having to define another custom schema type through the plugin\n {\n ...createHierarchicalNodeValueType(options),\n name: 'value',\n type: 'object'\n }\n ]\n }\n}\n\nfunction createHierarchicalArrayType(options: SchemaOptions) {\n return {\n // name & type are overwritten by createHierarchicalField\n name: options.documentType\n ? getSchemaTypeName(options.documentType, 'array')\n : INTERNAL_NODE_ARRAY_TYPE,\n title: `Hierarchical array of nodes (${options.documentType})`,\n type: 'array',\n of: [\n options.documentType\n ? {type: getSchemaTypeName(options.documentType, 'node')}\n : createHierarchicalNodeType(options)\n ]\n }\n}\n\nexport function createHierarchicalField({name, title, options, ...rest}: TreeFieldSchema): Omit<\n ArraySchemaType,\n 'type' | 'jsonType' | 'of'\n> & {\n type: string\n inputComponent: React.FC<any>\n of?: any[]\n} {\n if (!Array.isArray(options?.referenceTo)) {\n throwError('invalidReferenceTo', `(field of name \"${name}\")`)\n }\n\n return {\n ...rest,\n name,\n title,\n inputComponent: TreeInputComponent,\n options,\n ...(options.documentType\n ? {type: getSchemaTypeName(options.documentType, 'array')}\n : {\n ...createHierarchicalArrayType(options),\n name\n })\n }\n}\n\nfunction createHierarchicalDocType(options: SchemaOptions) {\n return {\n name: options.documentType,\n title: 'Hierarchical tree',\n type: 'document',\n // The plugin needs to define a `schemaType` with liveEdit enabled so that\n // `useDocumentOperation` in TreeDeskStructure.tsx doesn't create drafts at every patch.\n liveEdit: true,\n fields: [\n createHierarchicalField({\n name: options.fieldKeyInDocument || DEFAULT_FIELD_KEY,\n title: 'Hierarchical Tree',\n options\n })\n ],\n preview: {\n select: {\n id: '_id',\n tree: 'tree'\n },\n prepare({id, tree}: {id: string; tree: unknown[]}): Record<string, string> {\n return {\n title: `Hierarchical documents (ID: ${id})`,\n subtitle: `${tree?.length || 0} document(s) in its list.`\n }\n }\n }\n }\n}\n\nexport default function createHierarchicalSchemas(options: SchemaOptions) {\n if (!Array.isArray(options.referenceTo) || options.referenceTo.length <= 0) {\n throwError('invalidReferenceTo')\n }\n if (!options.documentType) {\n throwError('invalidDocumentType')\n }\n\n return [\n createHierarchicalDocType(options),\n createHierarchicalArrayType(options),\n createHierarchicalNodeType(options),\n createHierarchicalNodeValueType(options)\n ]\n}\n","import {defineType} from 'sanity'\n\nexport default defineType({\n name: 'hierarchy.tree',\n title: 'Hierarchical tree',\n type: 'document',\n // The plugin needs to define a `schemaType` with liveEdit enabled so that\n // `useDocumentOperation` in TreeDeskStructure.tsx doesn't create drafts at every patch.\n liveEdit: true,\n // Let's avoid defining the actual hierarchical field, else GraphQL users won't be able to deploy schemas\n fields: [\n {\n name: 'unusedField',\n title: 'Unused field',\n type: 'string',\n hidden: true,\n },\n ],\n})\n","import {definePlugin} from 'sanity'\nimport {default as createDeskHierarchy, type TreeProps} from './createDeskHierarchy'\nimport {default as createHierarchicalSchemas} from './createHierarchicalSchemas'\nimport {default as hierarchyTree} from './schemas/hierarchy.tree'\nimport {default as flatDataToTree} from './utils/flatDataToTree'\n\nexport {createDeskHierarchy, createHierarchicalSchemas, flatDataToTree, hierarchyTree, TreeProps}\n\n/**\n * Usage in `sanity.config.ts` (or .js)\n *\n * ```ts\n * import {defineConfig} from 'sanity'\n * import {hierarchicalDocumentList} from '@sanity/hierarchical-document-list'\n *\n * export default defineConfig({\n * // ...\n * plugins: [hierarchicalDocumentList()],\n * })\n * ```\n */\n\nexport const hierarchicalDocumentList = definePlugin({\n name: 'sanity-plugin-hierarchical-document-list'\n})\n"],"names":["Object","defineProperty","exports","value","Patch","require","jsxRuntime","icons","ui","React","SortableTree","reactDnd","reactDndHtml5Backend","content","desk","mutator","_interopDefaultCompat","e","default","_interopNamespaceCompat","n","create","keys","forEach","k","d","getOwnPropertyDescriptor","get","enumerable","freeze","Patch__namespace","React__namespace","SortableTree__default","WrapCodeBlocks","_ref2","text","jsx","Fragment","children","split","map","part","i","DeskWarning","props","Container","padding","style","maxWidth","sizing","Card","border","radius","width","tone","jsxs","Stack","space","Heading","size","title","subtitle","line","Text","Box","marginTop","unprefixId","replace","isDraft","startsWith","updateItemInState","state","item","newState","publishedId","_id","allItemsReducer","action","type","itemId","published","draft","items","reduce","placeholder","TreeOperationsContext","createContext","addItem","duplicateItem","removeItem","handleMovedNode","moveItemDown","moveItemUp","allItemsStatus","useTreeOperations","useContext","TimeAgo","_ref4","time","timeAgo","useTimeAgo","toLowerCase","trim","PublishedStatus","_ref5","document","Tooltip","portal","_updatedAt","TextWithTone","dimmed","muted","PublishIcon","DraftStatus","_ref6","EditIcon","DocumentPreviewStatus","_ref7","Inline","DocumentInNode","reference","docType","draftId","routerPanesState","ChildLink","usePaneRouter","schema","useSchema","isActive","useMemo","some","pane","group","id","_ref","LinkComponent","forwardRef","linkProps","ref","childId","childParameters","Flex","gap","align","flex","__unstable_focusRing","as","Preview","layout","schemaType","status","_type","draftUpdatedAt","publishedUpdatedAt","placement","HelpCircleIcon","weight","NodeActions","_ref8","nodeProps","operations","node","OpenLink","restProps","IntentLink","IntentButton","intent","params","target","rel","isValid","MenuButton","button","Button","mode","icon","EllipsisVerticalIcon","_key","menu","Menu","MenuItem","RemoveCircleIcon","onClick","CopyIcon","disabled","MenuDivider","LaunchIcon","popover","flatDataToTree","data","getTreeFromFlatData","flatData","parent","getKey","getParentKey","rootKey","getSchemaTypeName","documentType","DEFAULT_DOC_TYPE","INTERNAL_NODE_TYPE","INTERNAL_NODE_VALUE_TYPE","INTERNAL_NODE_ARRAY_TYPE","injectNodeTypeInPatches","patchData","Array","isArray","child","newObject","key","includes","dataToEditorTree","_ref9","tree","allItems","visibilityMap","filter","refId","docPair","draftDoc","publishedDoc","enhancedItem","expanded","documentPairToNode","doc","randomKey","_weak","normalizeNodeForStorage","getAdjescentNodes","_ref13","flatTree","treeIndex","leadingNode","slice","reverse","find","path","followingNode","getRemoveItemPatch","_ref15","keyPath","getChildrenPaths","unset","keyPaths","Boolean","getMoveItemPatch","_ref16","localTree","direction","nextTreeIndex","nextFlatTree","_ref14","array","fromIndex","toIndex","newArray","inc","moveItemInArray","getFlatDataFromTree","treeData","getNodeKey","t","normalizedNode","nodeToInheritParent","nextParentNode","parentNode","insert","set","useTreeOperationsProvider","runPatches","patches","finalPatches","setIfMissing","patchEvent","PatchEvent","from","patchPrefix","patch","prefixPath","onChange","nextPath","getMovedNodePatch","getAddItemPatch","getDuplicateItemPatch","gray","hex","blue","__assign","assign","s","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__spreadArray","to","pack","ar","l","concat","memoize","fn","cache","arg","undefined","SuppressedError","reactPropsRegex","isPropValid","prop","test","charCodeAt","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","LAYER","abs","Math","String","fromCharCode","match","pattern","exec","replacement","indexof","search","position","indexOf","charat","index","substr","begin","end","strlen","sizeof","append","push","column","character","characters","root","siblings","return","copy","lift","prev","next","peek","caret","token","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","dealloc","parse","alloc","rule","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","comment","declaration","ruleset","post","j","x","y","z","prefix","hash","element","_","a","b","c","f","serialize","callback","output","stringify","join","prefixer","combine","unitlessKeys","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","process","env","REACT_APP_SC_ATTR","SC_ATTR","m","v","g","S","window","w","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","NODE_ENV","E","N","Set","P","r","console","error","delete","o","has","warn","add","message","C","I","theme","A","O","D","R","T","V","M","$","B","displayName","name","L","charAt","G","Symbol","for","Y","q","W","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","H","caller","callee","arity","U","$$typeof","compare","J","render","X","Z","K","getOwnPropertyNames","Q","getOwnPropertySymbols","ee","te","getPrototypeOf","ne","re","oe","se","ie","ae","ce","constructor","le","ue","pe","de","he","Error","fe","groupSizes","Uint32Array","tag","indexOfGroup","insertRules","insertRule","clearGroup","deleteRule","getGroup","getRule","ye","Map","ve","ge","Se","we","be","Ee","RegExp","Ne","registerName","Pe","textContent","parseInt","u","getTag","_e","querySelectorAll","getAttribute","removeChild","Ie","head","createElement","nextSibling","setAttribute","__webpack_nonce__","insertBefore","Ae","appendChild","createTextNode","sheet","styleSheets","ownerNode","cssRules","cssText","Oe","nodes","childNodes","De","splice","Re","Te","isServer","useCSSOMInjection","ke","options","gs","names","server","registerId","rehydrate","reconstructWithOptions","allocateGSInstance","hasNameForId","clearNames","clear","clearRules","clearTag","je","xe","Ve","replaceAll","Me","ze","plugins","endsWith","d.RULESET","d.prefixer","d.stringify","d.compile","namespace","d.serialize","collection","d.middleware","toString","Fe","$e","shouldForwardProp","styleSheet","stylis","Ge","qe","inject","getName","We","He","Ue","Je","isCss","h","Xe","styledComponentId","isReactComponent","Ze","Ke","Qe","staticRulesId","isStatic","componentId","baseHash","baseStyle","generateAndInjectStyles","et","ot","st","it","attrs","parentComponentId","componentStyle","foldedComponentIds","className","forwardedAs","warnTooManyClasses","_foldedDefaultProps","at","ct","lt","ut","withConfig","pt","dt","ht","createStyles","removeStyles","renderStyles","navigator","product","wt","Root","styled","div","NodeContentRenderer","canDrag","nodeTitle","Handle","Spinner","BtnElement","paddingX","paddingY","cursor","fontSize","DragHandleIcon","marginBottom","connectDragSource","dropEffect","isDraggedDescendant","draggedNode","isDescendant","isLandingPadActive","didDrop","isDragging","toggleChildrenVisibility","left","top","transform","ChevronDownIcon","color","ChevronRightIcon","connectDragPreview","canDrop","PlaceholderDropzone","isOver","isInvalid","borderStyle","textAlign","ScaffoldStyles","JSON","useRef","current","Children","memo","TreeNodeRendererScaffold","lowerSiblingCounts","scaffoldBlockPxWidth","listIndex","swapDepth","swapFrom","swapLength","scaffold","lowerSiblingCount","highlightLineClass","tabIndex","TreeNodeRenderer","connectDropTarget","scaffoldBlockCount","paddingLeft","cloneElement","TreeEditorErrorBoundary","TreeEditor","client","useClient","apiVersion","setStatus","useState","dispatch","useReducer","handleListener","event","result","documentId","handleFirstLoad","useEffect","_ref3","referenceTo","referenceOptions","filterParts","filterParams","docTypes","getDeskFilter","query","fetch","then","catch","listener","listen","subscribe","unsubscribe","useAllItems","unAddedItems","entries","_ref10","treeItem","_ref11","documentPair","handleVisibilityToggle","_ref12","setVisibilityMap","useLocalTree","context","setContext","getElementById","onMoveNode","useCallback","treeProps","_ref17","nodeContentRenderer","placeholderRenderer","treeNodeRenderer","height","innerStyle","slideRegionSize","getCommonTreeProps","operationContext","DndProvider","backend","HTML5Backend","rootElement","Provider","paddingTop","minHeight","getVisibleNodeCount","borderBottom","maxDepth","doNothingOnChange","onVisibilityToggle","paddingBottom","AddCircleIcon","justify","_ref18","prevPath","every","pathIndex","toGradientPatch","matchPath","arrayToJSONMatchPath","DEFAULT_FIELD_KEY","TreeDeskStructure","treeDocType","treeFieldKey","fieldKeyInDocument","liveEdit","useEditState","useDocumentOperation","treeValue","handleChange","execute","paddingRight","ERROR_MESSAGES","invalidDocumentId","invalidDocumentType","invalidReferenceTo","throwError","extraContext","deskTreeValidator","deskProps","TreeInputComponent","FormField","description","__unstable_presence","presence","createHierarchicalNodeValueType","_ref19","fields","weak","createHierarchicalNodeType","createHierarchicalArrayType","of","createHierarchicalField","rest","_ref20","inputComponent","createHierarchicalDocType","preview","select","prepare","_ref21","hierarchy_tree","defineType","hidden","hierarchicalDocumentList","definePlugin","createDeskHierarchy","creatableTypes","safelyCreatableTypes","mainList","documentTypeList","documentList","types","menuItems","menuItem","AddIcon","canHandleIntent","listItem","component","__preserveInstance","createHierarchicalSchemas","hierarchyTree"],"mappings":"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","x_google_ignoreList":[14,15,16,17,18,19,20,21,22,23,24,25,26]}
1
+ {"version":3,"file":"index.js","sources":["../src/components/DeskWarning.tsx","../src/utils/idUtils.ts","../src/hooks/useAllItems.ts","../src/hooks/useTreeOperations.ts","../src/components/DocumentPreviewStatus.tsx","../src/components/DocumentInNode.tsx","../src/components/NodeActions.tsx","../src/utils/flatDataToTree.ts","../src/utils/injectNodeTypeInPatches.ts","../src/utils/treeData.tsx","../src/utils/getAdjescentNodes.ts","../src/utils/treePatches.ts","../src/utils/moveItemInArray.ts","../src/hooks/useTreeOperationsProvider.ts","../node_modules/@sanity/color/dist/index.js","../node_modules/tslib/tslib.es6.mjs","../node_modules/styled-components/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/styled-components/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Parser.js","../node_modules/stylis/src/Prefixer.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/styled-components/dist/styled-components.esm.js","../src/components/NodeContentRenderer.tsx","../src/components/PlaceholderDropzone.tsx","../src/components/TreeNodeRendererScaffold.tsx","../src/components/TreeNodeRenderer.tsx","../src/components/TreeEditorErrorBoundary.tsx","../src/components/TreeEditor.tsx","../src/hooks/useLocalTree.ts","../src/utils/getTreeHeight.ts","../src/utils/getCommonTreeProps.tsx","../src/utils/gradientPatchAdapter.ts","../src/TreeDeskStructure.tsx","../src/utils/throwError.ts","../src/createDeskHierarchy.tsx","../src/TreeInputComponent.tsx","../src/createHierarchicalSchemas.tsx","../src/schemas/hierarchy.tree.ts","../src/index.ts"],"sourcesContent":["import {Box, Card, Container, Heading, Stack, Text} from '@sanity/ui'\nimport * as React from 'react'\n\n// React component that wraps text between two delimiters in a <pre> tag\n\nconst WrapCodeBlocks: React.FC<{text: string}> = ({text}) => {\n return (\n <>\n {text.split('`').map((part, i) => (\n <React.Fragment key={i}>{i % 2 === 0 ? part : <code>{part}</code>}</React.Fragment>\n ))}\n </>\n )\n}\n\nconst DeskWarning: React.FC<\n React.PropsWithChildren<{\n title: string\n subtitle?: string\n }>\n> = (props) => {\n return (\n <Container padding={5} style={{maxWidth: '25rem'}} sizing={'content'}>\n <Card padding={4} border radius={2} width={0} tone=\"caution\">\n <Stack space={3}>\n <Heading size={1}>{props.title}</Heading>\n {props.subtitle &&\n props.subtitle.split('\\\\n').map((line: string) => (\n <Text size={1}>\n <WrapCodeBlocks text={line} />\n </Text>\n ))}\n {props.children && <Box marginTop={2}>{props.children}</Box>}\n </Stack>\n </Card>\n </Container>\n )\n}\n\nexport default DeskWarning\n","export function unprefixId(_id = ''): string {\n return _id.replace('drafts.', '')\n}\n\nexport function isDraft(_id = ''): boolean {\n return _id.startsWith('drafts.')\n}\n","import * as React from 'react'\nimport {SanityDocument, useClient} from 'sanity'\nimport {AllItems, TreeInputOptions} from '../types'\nimport {isDraft, unprefixId} from '../utils/idUtils'\n\nfunction getDeskFilter({referenceTo, referenceOptions}: TreeInputOptions): {\n filter: string\n params: Record<string, unknown>\n} {\n const filterParts: string[] = ['_type in $docTypes']\n\n if (referenceOptions?.filter) {\n filterParts.push(referenceOptions.filter)\n }\n\n return {\n filter: filterParts.join(' && '),\n params: {\n ...(referenceOptions?.filterParams || {}),\n docTypes: referenceTo.map((schemaType) => schemaType)\n }\n }\n}\n\ntype Status = 'loading' | 'success' | 'error'\n\ntype ACTIONTYPE =\n | {type: 'addOrEditItem'; item: SanityDocument}\n | {type: 'removeItem'; itemId: string}\n | {type: 'setInitialData'; items: SanityDocument[]}\n\nfunction updateItemInState(state: AllItems, item: SanityDocument): AllItems {\n const newState = {...state}\n const publishedId = unprefixId(item._id)\n newState[publishedId] = {\n ...(newState[publishedId] || {}),\n [isDraft(item._id) ? 'draft' : 'published']: item\n }\n return newState\n}\n\nfunction allItemsReducer(state: AllItems, action: ACTIONTYPE): AllItems {\n if (action.type === 'addOrEditItem' && action.item?._id) {\n return updateItemInState(state, action.item)\n }\n\n if (action.type === 'removeItem') {\n const publishedId = unprefixId(action.itemId)\n return {\n ...state,\n [publishedId]: isDraft(action.itemId)\n ? // If a draft, keep only published\n {\n published: state[publishedId]?.published\n }\n : {\n draft: state[publishedId]?.draft\n }\n }\n }\n\n if (action.type === 'setInitialData') {\n return action.items.reduce(updateItemInState, {} as AllItems)\n }\n return state\n}\n\nexport default function useAllItems(options: TreeInputOptions): {\n status: Status\n allItems: AllItems\n} {\n const client = useClient({\n apiVersion: '2021-09-01'\n })\n const [status, setStatus] = React.useState<Status>('loading')\n const [allItems, dispatch] = React.useReducer(allItemsReducer, {})\n\n function handleListener(event: any) {\n if (event.type !== 'mutation') {\n return\n }\n\n if (event.result) {\n dispatch({type: 'addOrEditItem', item: event.result})\n } else {\n dispatch({type: 'removeItem', itemId: event.documentId})\n }\n }\n\n function handleFirstLoad(items: SanityDocument[]) {\n dispatch({type: 'setInitialData', items})\n setStatus('success')\n }\n\n React.useEffect(() => {\n const {filter, params} = getDeskFilter(options)\n const query = `*[${filter}] {\n _id,\n _type,\n _updatedAt,\n }`\n client\n .fetch<SanityDocument[]>(query, params)\n .then(handleFirstLoad)\n .catch(() => {\n setStatus('error')\n })\n\n const listener = client.listen(query, params).subscribe(handleListener)\n return () => {\n listener.unsubscribe()\n }\n }, [])\n\n return {\n status,\n allItems\n }\n}\n","import * as React from 'react'\nimport useAllItems from './useAllItems'\nimport useTreeOperationsProvider from './useTreeOperationsProvider'\n\ntype ContextValue = ReturnType<typeof useTreeOperationsProvider> & {\n allItemsStatus: ReturnType<typeof useAllItems>['status']\n}\n\nfunction placeholder() {\n // no-op\n}\n\nexport const TreeOperationsContext = React.createContext<ContextValue>({\n addItem: placeholder,\n duplicateItem: placeholder,\n removeItem: placeholder,\n handleMovedNode: placeholder,\n moveItemDown: placeholder,\n moveItemUp: placeholder,\n allItemsStatus: 'loading',\n})\n\nexport default function useTreeOperations(): ContextValue {\n return React.useContext(TreeOperationsContext)\n}\n","import {EditIcon, PublishIcon} from '@sanity/icons'\nimport {Box, Inline, Text, Tooltip} from '@sanity/ui'\nimport * as React from 'react'\nimport {SanityDocument, TextWithTone, useTimeAgo} from 'sanity'\nimport {DocumentPair} from '../types'\n\nexport function TimeAgo({time}: {time: string | Date}) {\n const timeAgo = useTimeAgo(time)\n\n return (\n <span title={timeAgo}>\n {timeAgo}\n {timeAgo.toLowerCase().trim().startsWith('just now') ? '' : ' ago'}\n </span>\n )\n}\n\nconst PublishedStatus = ({document}: {document?: SanityDocument | null}) => (\n <Tooltip\n portal\n content={\n <Box padding={2}>\n <Text size={1}>\n {document ? (\n <>Published {document._updatedAt && <TimeAgo time={document._updatedAt} />}</>\n ) : (\n <>Not published</>\n )}\n </Text>\n </Box>\n }\n >\n <TextWithTone tone=\"positive\" dimmed={!document} muted={!document} size={1}>\n <PublishIcon />\n </TextWithTone>\n </Tooltip>\n)\n\nconst DraftStatus = ({document}: {document?: SanityDocument | null}) => (\n <Tooltip\n portal\n content={\n <Box padding={2}>\n <Text size={1}>\n {document ? (\n <>Edited {document?._updatedAt && <TimeAgo time={document?._updatedAt} />}</>\n ) : (\n <>No unpublished edits</>\n )}\n </Text>\n </Box>\n }\n >\n <TextWithTone tone=\"caution\" dimmed={!document} muted={!document} size={1}>\n <EditIcon />\n </TextWithTone>\n </Tooltip>\n)\n\n// Adapted from @sanity\\desk-tool\\src\\components\\paneItem\\helpers.tsx\nconst DocumentPreviewStatus: React.FC<DocumentPair> = ({draft, published}) => {\n return (\n <Inline space={4}>\n <PublishedStatus document={published} />\n <DraftStatus document={draft} />\n </Inline>\n )\n}\n\nexport default DocumentPreviewStatus\n","import {HelpCircleIcon} from '@sanity/icons'\nimport {Box, Card, Flex, Stack, Text, Tooltip} from '@sanity/ui'\nimport * as React from 'react'\nimport {Preview, SanityDocument, SchemaType, TextWithTone, useSchema} from 'sanity'\nimport {RouterPaneGroup, usePaneRouter} from 'sanity/desk'\nimport useTreeOperations from '../hooks/useTreeOperations'\nimport {LocalTreeItem} from '../types'\nimport DocumentPreviewStatus from './DocumentPreviewStatus'\n\n/**\n * Renders a preview for each referenced document.\n * Nested inside TreeNode.tsx\n */\nconst DocumentInNode: React.FC<{\n item: LocalTreeItem\n action?: React.ReactNode\n}> = (props) => {\n const {value: {reference, docType} = {}, draftId, publishedId} = props.item\n const {routerPanesState, ChildLink} = usePaneRouter()\n const {allItemsStatus} = useTreeOperations()\n const schema = useSchema()\n const isActive = React.useMemo(() => {\n // If some pane is active with the current document `_id`, it's active\n return routerPanesState.some((pane: RouterPaneGroup) =>\n pane.some((group) => group.id === reference?._ref)\n )\n }, [routerPanesState])\n\n const type = React.useMemo(() => {\n return docType ? schema.get(docType) : undefined\n }, [docType])\n\n const LinkComponent = React.useMemo(\n () =>\n React.forwardRef((linkProps: any, ref: any) => (\n <ChildLink\n {...linkProps}\n childId={reference?._ref}\n ref={ref}\n childParameters={{\n type: docType\n }}\n />\n )),\n [ChildLink, reference?._ref]\n )\n\n if (!reference?._ref) {\n return null\n }\n\n return (\n <Flex gap={2} align=\"center\" style={{flex: 1}}>\n {/* Show loading preview while allItems aren't ready */}\n {publishedId || allItemsStatus !== 'success' ? (\n /* Card loosely copied from @sanity/desk-tool's PaneItem.tsx */\n <Card\n __unstable_focusRing\n as={LinkComponent}\n tone={isActive ? 'primary' : 'default'}\n padding={1}\n radius={2}\n flex={1}\n data-as=\"a\"\n data-ui=\"PaneItem\"\n >\n <Preview\n layout=\"default\"\n schemaType={type as SchemaType}\n value={{_ref: draftId || reference?._ref}}\n status={\n <DocumentPreviewStatus\n draft={\n draftId\n ? ({\n _id: draftId,\n _type: docType,\n _updatedAt: props.item.draftUpdatedAt\n } as SanityDocument)\n : undefined\n }\n published={\n {\n _id: reference?._ref,\n _type: docType,\n _updatedAt: props.item.publishedUpdatedAt\n } as SanityDocument\n }\n />\n }\n />\n </Card>\n ) : (\n <Card padding={3} radius={1} flex={1}>\n <Flex align=\"center\">\n <Text size={2} muted style={{flex: 1}}>\n Invalid document\n </Text>\n <Tooltip\n placement=\"left\"\n portal\n content={\n <Box padding={3}>\n <Flex align=\"flex-start\" gap={3}>\n <TextWithTone tone=\"default\" size={3}>\n <HelpCircleIcon />\n </TextWithTone>\n <Stack space={3}>\n <Text as=\"h2\" size={1} weight=\"semibold\">\n This document is not valid\n </Text>\n {/* <Text size={1}>\n It was deleted or it doesn't match the filters set by this hierarchy.\n </Text> */}\n <Text size={1}>ID: {reference?._ref}</Text>\n </Stack>\n </Flex>\n </Box>\n }\n >\n <TextWithTone tone=\"default\" size={2}>\n <HelpCircleIcon />\n </TextWithTone>\n </Tooltip>\n </Flex>\n </Card>\n )}\n {props.action}\n </Flex>\n )\n}\n\nexport default DocumentInNode\n","import {CopyIcon, EllipsisVerticalIcon, LaunchIcon, RemoveCircleIcon} from '@sanity/icons'\nimport {Button, Menu, MenuButton, MenuDivider, MenuItem} from '@sanity/ui'\nimport * as React from 'react'\nimport {IntentButton as IntentLink} from 'sanity'\nimport useTreeOperations from '../hooks/useTreeOperations'\nimport {NodeProps} from '../types'\n\n/**\n * Applicable only to nodes inside the main tree.\n * Unadded items have their actions defined in TreeEditor.\n */\nconst NodeActions: React.FC<{nodeProps: NodeProps}> = ({nodeProps}) => {\n const operations = useTreeOperations()\n const {node} = nodeProps\n const {reference, docType} = node?.value || {}\n\n // Adapted from @sanity\\form-builder\\src\\inputs\\ReferenceInput\\ArrayItemReferenceInput.tsx\n const OpenLink = React.useMemo(\n () =>\n // eslint-disable-next-line @typescript-eslint/no-shadow\n React.forwardRef(function OpenLinkInner(\n restProps: React.ComponentProps<typeof IntentLink>,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _ref: React.ForwardedRef<HTMLAnchorElement>\n ) {\n return (\n <IntentLink\n {...restProps}\n intent=\"edit\"\n params={{id: reference?._ref, type: docType}}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n />\n )\n }),\n [reference?._ref, docType]\n )\n\n const isValid = !!node.publishedId\n return (\n <MenuButton\n button={<Button padding={2} mode=\"bleed\" icon={EllipsisVerticalIcon} />}\n id={`hiearchical-doc-list--${node._key}-menuButton`}\n menu={\n <Menu>\n <MenuItem\n text=\"Remove from list\"\n tone=\"critical\"\n icon={RemoveCircleIcon}\n onClick={() => operations.removeItem(nodeProps)}\n />\n <MenuItem\n text=\"Duplicate item\"\n icon={CopyIcon}\n disabled={!isValid}\n onClick={() => operations.duplicateItem(nodeProps)}\n />\n {/* <MenuItem\n text=\"Move up\"\n icon={ArrowUpIcon}\n disabled={!isValid}\n onClick={() => operations.moveItemUp(nodeProps)}\n />\n <MenuItem\n text=\"Move down\"\n icon={ArrowDownIcon}\n disabled={!isValid}\n onClick={() => operations.moveItemDown(nodeProps)}\n /> */}\n <MenuDivider />\n <MenuItem\n text=\"Open in new tab\"\n icon={LaunchIcon}\n disabled={!isValid}\n as={OpenLink}\n data-as=\"a\"\n />\n </Menu>\n }\n popover={{portal: true, tone: 'default', placement: 'right'}}\n />\n )\n}\n\nexport default NodeActions\n","import {getTreeFromFlatData} from '@nosferatu500/react-sortable-tree'\nimport {StoredTreeItem} from '../types'\n\ninterface TreeItemWithChildren extends StoredTreeItem {\n children?: TreeItemWithChildren[]\n}\n\nexport default function flatDataToTree(data: StoredTreeItem[]): TreeItemWithChildren[] {\n return getTreeFromFlatData({\n flatData: data.map((item) => ({\n ...item,\n // if parent: undefined, the tree won't be constructed\n parent: item.parent || null,\n })),\n getKey: (item) => item._key,\n getParentKey: (item) => item.parent,\n // without rootKey, the tree won't be constructed\n rootKey: null as any,\n }) as TreeItemWithChildren[]\n}\n","export function getSchemaTypeName(\n documentType: string,\n type: 'document' | 'node' | 'nodeValue' | 'array'\n): string {\n switch (type) {\n case 'document':\n return documentType\n case 'array':\n return `${documentType}.array`\n case 'node':\n return `${documentType}.node`\n case 'nodeValue':\n return `${documentType}.nodeValue`\n default:\n return documentType\n }\n}\n\n/**\n * Temporary value of nodes' `_type` before they are normalized and persisted as the user-defined choice.\n */\nexport const DEFAULT_DOC_TYPE = 'hierarchy.tree'\nexport const INTERNAL_NODE_TYPE = getSchemaTypeName(DEFAULT_DOC_TYPE, 'node')\nexport const INTERNAL_NODE_VALUE_TYPE = getSchemaTypeName(DEFAULT_DOC_TYPE, 'nodeValue')\nexport const INTERNAL_NODE_ARRAY_TYPE = getSchemaTypeName(DEFAULT_DOC_TYPE, 'array')\n\n/**\n * Barebones recursive utility to inject the desired nodeObjectType in patches generated in deeply nested components and utilities.\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport default function injectNodeTypeInPatches(patchData: any, documentType: string): any {\n if (Array.isArray(patchData)) {\n return patchData.map((child) => injectNodeTypeInPatches(child, documentType))\n }\n if (typeof patchData === 'object' && patchData !== null) {\n return Object.keys(patchData).reduce((newObject, key) => {\n const value = patchData[key as keyof typeof patchData]\n\n if (\n key === '_type' &&\n typeof value === 'string' &&\n [INTERNAL_NODE_TYPE, INTERNAL_NODE_VALUE_TYPE].includes(value)\n ) {\n return {\n ...newObject,\n [key]: getSchemaTypeName(\n documentType,\n value === INTERNAL_NODE_TYPE ? 'node' : 'nodeValue'\n ),\n }\n }\n\n return {\n ...newObject,\n [key]: injectNodeTypeInPatches(value, documentType),\n }\n }, {})\n }\n return patchData\n}\n","import {TreeItem} from '@nosferatu500/react-sortable-tree'\nimport {randomKey} from '@sanity/util/content'\nimport {SanityDocument} from 'sanity'\nimport DocumentInNode from '../components/DocumentInNode'\nimport NodeActions from '../components/NodeActions'\nimport {\n AllItems,\n DocumentPair,\n EnhancedTreeItem,\n LocalTreeItem,\n NodeProps,\n StoredTreeItem,\n VisibilityMap\n} from '../types'\nimport flatDataToTree from './flatDataToTree'\nimport {INTERNAL_NODE_TYPE, INTERNAL_NODE_VALUE_TYPE} from './injectNodeTypeInPatches'\n\nexport const dataToEditorTree = ({\n tree,\n allItems,\n visibilityMap\n}: {\n tree: StoredTreeItem[]\n allItems: AllItems\n visibilityMap: VisibilityMap\n}): LocalTreeItem[] => {\n const itemsWithTitle = tree\n .filter((item) => item?.value?.reference?._ref)\n .map((item) => {\n const refId = item.value?.reference?._ref\n const docPair = refId ? allItems[refId] : undefined\n const draftDoc = docPair?.draft\n const publishedDoc = docPair?.published\n\n const enhancedItem: LocalTreeItem = {\n ...item,\n expanded: visibilityMap[item._key] !== false,\n draftId: draftDoc?._id,\n publishedId: publishedDoc?._id,\n draftUpdatedAt: draftDoc?._updatedAt,\n publishedUpdatedAt: publishedDoc?._updatedAt\n }\n\n return {\n ...enhancedItem,\n title: (nodeProps: NodeProps) => (\n <DocumentInNode item={enhancedItem} action={<NodeActions nodeProps={nodeProps} />} />\n ),\n children: []\n }\n })\n return flatDataToTree(itemsWithTitle)\n}\n\nconst documentPairToNode = (doc?: DocumentPair): EnhancedTreeItem | undefined => {\n if (!doc?.published?._id) {\n return undefined\n }\n\n return {\n _key: randomKey(12),\n _type: INTERNAL_NODE_TYPE,\n draftId: doc.draft?._id,\n draftUpdatedAt: doc.draft?._updatedAt,\n publishedId: doc.published._id,\n publishedUpdatedAt: doc.published?._updatedAt,\n value: {\n _type: INTERNAL_NODE_VALUE_TYPE,\n reference: {\n _ref: doc.published._id,\n _type: 'reference',\n _weak: true\n },\n docType: doc.published._type\n }\n }\n}\n\nexport const flatTree = (tree: TreeItem[]): TreeItem[] => {\n return tree.reduce((flattened, item) => {\n const {children, ...node} = item\n return [...flattened, node, ...(Array.isArray(children) ? flatTree(children) : [])]\n }, [] as TreeItem[])\n}\n\nexport interface FetchData {\n mainTree?: LocalTreeItem[]\n allItems?: SanityDocument[]\n}\n\nexport const getUnaddedItems = (data: {\n allItems: AllItems\n tree: StoredTreeItem[]\n}): EnhancedTreeItem[] => {\n if (!data.tree) {\n return Object.entries(data.allItems)\n .map((value) => documentPairToNode(value[1]))\n .filter(Boolean) as EnhancedTreeItem[]\n }\n\n return Object.entries(data.allItems)\n .filter(\n ([publishedId]) =>\n publishedId &&\n // unadded items shouldn't be in the tree\n !data.tree.some((treeItem) => treeItem?.value?.reference?._ref === publishedId)\n )\n .map(([, documentPair]) => documentPairToNode(documentPair))\n .filter(Boolean) as EnhancedTreeItem[]\n}\n\nexport function normalizeNodeForStorage(item: LocalTreeItem): StoredTreeItem {\n return {\n _key: item._key,\n _type: item._type || INTERNAL_NODE_TYPE,\n value: item.value,\n parent: item.parent\n }\n}\n","import {FlatDataItem, TreeItem} from '@nosferatu500/react-sortable-tree'\n\n/**\n * Gets adjescent non-children nodes of a given treeIndex.\n */\nexport default function getAdjescentNodes({\n flatTree,\n node,\n treeIndex,\n}: {\n flatTree: FlatDataItem[]\n node: TreeItem\n treeIndex: number\n}): {\n leadingNode?: FlatDataItem\n followingNode?: FlatDataItem\n} {\n const leadingNode = flatTree\n .slice(0, treeIndex)\n .reverse()\n // Disregard children nodes - these include the current node's key in their `path` array\n .find((item) => !item.path.includes(node._key))\n\n const followingNode = flatTree.slice(treeIndex + 1).find((item) => !item.path.includes(node._key))\n\n return {\n leadingNode,\n followingNode,\n }\n}\n","import {\n FlatDataItem,\n FullTree,\n getFlatDataFromTree,\n NodeData,\n TreeItem\n} from '@nosferatu500/react-sortable-tree'\nimport {randomKey} from '@sanity/util/content'\nimport * as Patch from 'sanity'\nimport {LocalTreeItem, NodeProps} from '../types'\nimport getAdjescentNodes from './getAdjescentNodes'\nimport moveItemInArray from './moveItemInArray'\nimport {normalizeNodeForStorage} from './treeData'\n\nexport type HandleMovedNodeData = Omit<\n NodeData & FullTree & any,\n 'prevPath' | 'prevTreeIndex' | 'path' | 'treeIndex' | 'node'\n> & {node: LocalTreeItem}\n\nexport type HandleMovedNode = (moveData: HandleMovedNodeData) => void\n\nexport function getAddItemPatch(item: LocalTreeItem): unknown[] {\n const normalizedNode = normalizeNodeForStorage(item)\n\n return [\n // Add the node to the end of the tree\n Patch.insert([normalizedNode], 'after', [-1])\n ]\n}\n\nexport function getDuplicateItemPatch(nodeProps: NodeProps): unknown[] {\n const newItem = {\n ...nodeProps.node,\n _key: randomKey(12)\n }\n const normalizedNode = normalizeNodeForStorage(newItem)\n\n return [\n // Add duplicated node before the existing one\n Patch.insert([normalizedNode], 'before', [{_key: nodeProps.node._key}])\n ]\n}\n\nexport function getRemoveItemPatch({node}: Pick<NodeProps, 'node'>): unknown[] {\n const keyPath = {_key: node._key}\n const children = getChildrenPaths(node)\n\n return [\n // 1. Unset the removed node\n Patch.unset([keyPath]),\n\n // 2. Unset its children\n ...children.map((path) => Patch.unset([{_key: path}]))\n ]\n}\n\nexport function getMovedNodePatch(data: HandleMovedNodeData): unknown[] {\n const {nextParentNode} = data\n const keyPath = {_key: data.node._key}\n\n // === REMOVING NODE FROM TREE ===\n // `nextPath` will be null if the item is removed from tree\n if (!Array.isArray(data.nextPath)) {\n return getRemoveItemPatch({node: data.node})\n }\n\n const nextFlatTree = getFlatDataFromTree({\n treeData: data.treeData,\n getNodeKey: (t) => t.node._key\n })\n const normalizedNode = normalizeNodeForStorage(data.node)\n\n const {leadingNode, followingNode} = getAdjescentNodes({\n flatTree: nextFlatTree,\n node: data.node,\n treeIndex: data.nextTreeIndex\n })\n\n return [\n // 1. Unset the moved node\n // (will be ignored by Content Lake on new nodes with _key not yet in tree)\n Patch.unset([keyPath]),\n\n // 2. SIBLING-BASED PLACEMENT\n // If we were to place solely based on nextTreeIndex, concurrent changes from other editors could put the new node in an unexpected position.\n // Let's instead anchor it to the _key of the sibling coming before or after it.\n leadingNode?.node?._key\n ? // After the sibling before it\n Patch.insert([normalizedNode], 'after', [{_key: leadingNode.node._key}])\n : // Or before the sibling right after it, in case there's no leading sibling node\n // prettier-ignore\n Patch.insert([normalizedNode], 'before', [followingNode?.node?._key ? {_key: followingNode.node._key} : data.nextTreeIndex]),\n\n // 3. Patch the new node with its new `parent`\n nextParentNode\n ? // If it has a parent node, set that parent's _key\n Patch.set(nextParentNode._key, [keyPath, 'parent'])\n : // Else remove the parent key entirely\n Patch.unset([keyPath, 'parent'])\n ]\n}\n\nfunction getChildrenPaths(node: TreeItem): string[] {\n if (!Array.isArray(node.children)) {\n return []\n }\n\n return node.children\n .reduce(\n (keyPaths, child) => [...keyPaths, child._key, ...getChildrenPaths(child)],\n [] as string[]\n )\n .filter(Boolean)\n}\n\nexport function getMoveItemPatch({\n nodeProps: {node, treeIndex},\n localTree,\n direction = 'up'\n}: {\n nodeProps: any\n localTree: TreeItem[]\n direction: 'up' | 'down'\n}): unknown[] {\n const keyPath = {_key: node._key}\n\n const nextTreeIndex = treeIndex + (direction === 'up' ? -1 : 1)\n\n const flatTree = getFlatDataFromTree({\n treeData: localTree,\n getNodeKey: (t) => t.node._key\n })\n const nextFlatTree = moveItemInArray<FlatDataItem>({\n array: flatTree,\n fromIndex: treeIndex,\n toIndex: nextTreeIndex\n })\n const {leadingNode, followingNode} = getAdjescentNodes({\n flatTree: nextFlatTree,\n node,\n treeIndex: nextTreeIndex\n })\n\n const normalizedNode = normalizeNodeForStorage(node)\n\n // When moving up, look at following node to figure out what is the next parent.\n const nodeToInheritParent = direction === 'up' ? followingNode : leadingNode\n const nextParentNode = nodeToInheritParent?.parentNode\n\n return [\n // 1. Unset the moved node\n // (will be ignored by Content Lake on new nodes with _key not yet in tree)\n Patch.unset([keyPath]),\n\n // 2. SIBLING-BASED PLACEMENT\n leadingNode?.node?._key\n ? // After the sibling before it\n Patch.insert([normalizedNode], 'after', [{_key: leadingNode.node._key}])\n : // Or before the sibling right after it, in case there's no leading sibling node\n Patch.insert([normalizedNode], 'before', [\n followingNode?.node?._key ? {_key: followingNode.node._key} : nextTreeIndex\n ]),\n\n // 3. Patch the new node with its new `parent`\n nextParentNode\n ? // If it has a parent node, set that parent's _key\n Patch.set(nextParentNode._key, [keyPath, 'parent'])\n : // Else remove the parent key entirely\n Patch.unset([keyPath, 'parent'])\n ]\n}\n","export default function moveItemInArray<ItemType = unknown>({\n array,\n fromIndex,\n toIndex,\n}: {\n array: ItemType[]\n fromIndex: number\n toIndex: number\n}): ItemType[] {\n if (fromIndex === toIndex) {\n return array\n }\n\n const newArray = [...array]\n\n const target = newArray[fromIndex]\n const inc = toIndex < fromIndex ? -1 : 1\n\n for (let i = fromIndex; i !== toIndex; i += inc) {\n newArray[i] = newArray[i + inc]\n }\n\n newArray[toIndex] = target\n\n return newArray\n}\n","import {PatchEvent, PathSegment, prefixPath, setIfMissing} from 'sanity'\nimport {LocalTreeItem, NodeProps} from '../types'\nimport {\n HandleMovedNode,\n HandleMovedNodeData,\n getAddItemPatch,\n getDuplicateItemPatch,\n getMoveItemPatch,\n getMovedNodePatch,\n getRemoveItemPatch\n} from '../utils/treePatches'\n\nexport default function useTreeOperationsProvider(props: {\n patchPrefix?: PathSegment\n onChange: (patch: PatchEvent) => void\n localTree: LocalTreeItem[]\n}): {\n handleMovedNode: HandleMovedNode\n addItem: (item: LocalTreeItem) => void\n duplicateItem: (nodeProps: NodeProps) => void\n removeItem: (nodeProps: NodeProps) => void\n moveItemUp: (nodeProps: NodeProps) => void\n moveItemDown: (nodeProps: NodeProps) => void\n} {\n const {localTree} = props\n\n function runPatches(patches: any) {\n const finalPatches = [\n // Ensure tree array exists before any operation\n setIfMissing([]),\n ...(patches || [])\n ]\n let patchEvent = PatchEvent.from(finalPatches)\n if (props.patchPrefix) {\n patchEvent = PatchEvent.from(\n finalPatches.map((patch) => prefixPath(patch, props.patchPrefix as PathSegment))\n )\n }\n props.onChange(patchEvent)\n }\n\n function handleMovedNode(data: HandleMovedNodeData & {node: LocalTreeItem}) {\n runPatches(getMovedNodePatch(data))\n }\n\n function addItem(item: LocalTreeItem) {\n runPatches(getAddItemPatch(item))\n }\n\n function duplicateItem(nodeProps: NodeProps & {node: LocalTreeItem}) {\n runPatches(getDuplicateItemPatch(nodeProps))\n }\n\n function removeItem(nodeProps: NodeProps) {\n runPatches(getRemoveItemPatch(nodeProps))\n }\n\n function moveItemUp(nodeProps: NodeProps) {\n runPatches(\n getMoveItemPatch({\n nodeProps,\n localTree,\n direction: 'up'\n })\n )\n }\n\n function moveItemDown(nodeProps: NodeProps) {\n runPatches(\n getMoveItemPatch({\n nodeProps,\n localTree,\n direction: 'down'\n })\n )\n }\n\n return {\n handleMovedNode,\n addItem,\n removeItem,\n moveItemUp,\n moveItemDown,\n duplicateItem\n }\n}\n","const COLOR_HUES = [\n \"gray\",\n \"blue\",\n \"purple\",\n \"magenta\",\n \"red\",\n \"orange\",\n \"yellow\",\n \"green\",\n \"cyan\"\n], COLOR_TINTS = [\n \"50\",\n \"100\",\n \"200\",\n \"300\",\n \"400\",\n \"500\",\n \"600\",\n \"700\",\n \"800\",\n \"900\",\n \"950\"\n];\nfunction hslToRgb(hsl) {\n const h = hsl[0], s = hsl[1] / 100, l = hsl[2] / 100, k = (n) => (n + h / 30) % 12, a = s * Math.min(l, 1 - l), f = (n) => l - a * Math.max(-1, Math.min(k(n) - 3, Math.min(9 - k(n), 1)));\n return [255 * f(0), 255 * f(8), 255 * f(4)];\n}\nfunction rgbToHex([r, g, b]) {\n const _r = Math.round(r), _g = Math.round(g), _b = Math.round(b);\n return \"#\" + ((1 << 24) + (_r << 16) + (_g << 8) + _b).toString(16).slice(1);\n}\nfunction buildTints(options) {\n const { hueKey, color: color2 } = options;\n return COLOR_TINTS.reduce((acc, tintKey) => {\n const tint = Number(tintKey), rgb = hslToRgb(color2.tints[tintKey].hsl), hex = rgbToHex([Math.round(rgb[0]), Math.round(rgb[1]), Math.round(rgb[2])]);\n return acc[tintKey] = {\n title: `${hueKey.slice(0, 1).toUpperCase()}${hueKey.slice(1)} ${tint}`,\n hex\n }, acc;\n }, {});\n}\nconst black = {\n title: \"Black\",\n hex: \"#0d0e12\"\n}, white = {\n title: \"White\",\n hex: \"#ffffff\"\n}, gray = {\n 50: {\n title: \"Gray 50\",\n hex: \"#f6f6f8\"\n },\n 100: {\n title: \"Gray 100\",\n hex: \"#eeeef1\"\n },\n 200: {\n title: \"Gray 200\",\n hex: \"#e3e4e8\"\n },\n 300: {\n title: \"Gray 300\",\n hex: \"#bbbdc9\"\n },\n 400: {\n title: \"Gray 400\",\n hex: \"#9499ad\"\n },\n 500: {\n title: \"Gray 500\",\n hex: \"#727892\"\n },\n 600: {\n title: \"Gray 600\",\n hex: \"#515870\"\n },\n 700: {\n title: \"Gray 700\",\n hex: \"#383d51\"\n },\n 800: {\n title: \"Gray 800\",\n hex: \"#252837\"\n },\n 900: {\n title: \"Gray 900\",\n hex: \"#1b1d27\"\n },\n 950: {\n title: \"Gray 950\",\n hex: \"#13141b\"\n }\n}, blue = {\n 50: {\n title: \"Blue 50\",\n hex: \"#f5f8ff\"\n },\n 100: {\n title: \"Blue 100\",\n hex: \"#e5edff\"\n },\n 200: {\n title: \"Blue 200\",\n hex: \"#dbe5ff\"\n },\n 300: {\n title: \"Blue 300\",\n hex: \"#a8bfff\"\n },\n 400: {\n title: \"Blue 400\",\n hex: \"#7595ff\"\n },\n 500: {\n title: \"Blue 500\",\n hex: \"#556bfc\"\n },\n 600: {\n title: \"Blue 600\",\n hex: \"#4043e7\"\n },\n 700: {\n title: \"Blue 700\",\n hex: \"#2927aa\"\n },\n 800: {\n title: \"Blue 800\",\n hex: \"#192457\"\n },\n 900: {\n title: \"Blue 900\",\n hex: \"#161a41\"\n },\n 950: {\n title: \"Blue 950\",\n hex: \"#101228\"\n }\n}, purple = {\n 50: {\n title: \"Purple 50\",\n hex: \"#f8f5ff\"\n },\n 100: {\n title: \"Purple 100\",\n hex: \"#f1ebff\"\n },\n 200: {\n title: \"Purple 200\",\n hex: \"#ece1fe\"\n },\n 300: {\n title: \"Purple 300\",\n hex: \"#ccb1fc\"\n },\n 400: {\n title: \"Purple 400\",\n hex: \"#b087f7\"\n },\n 500: {\n title: \"Purple 500\",\n hex: \"#8f57ef\"\n },\n 600: {\n title: \"Purple 600\",\n hex: \"#721fe5\"\n },\n 700: {\n title: \"Purple 700\",\n hex: \"#4c1a9e\"\n },\n 800: {\n title: \"Purple 800\",\n hex: \"#2f1862\"\n },\n 900: {\n title: \"Purple 900\",\n hex: \"#23173f\"\n },\n 950: {\n title: \"Purple 950\",\n hex: \"#181128\"\n }\n}, magenta = {\n 50: {\n title: \"Magenta 50\",\n hex: \"#fef6f9\"\n },\n 100: {\n title: \"Magenta 100\",\n hex: \"#fde8ef\"\n },\n 200: {\n title: \"Magenta 200\",\n hex: \"#fcdee9\"\n },\n 300: {\n title: \"Magenta 300\",\n hex: \"#f7abc5\"\n },\n 400: {\n title: \"Magenta 400\",\n hex: \"#f0709b\"\n },\n 500: {\n title: \"Magenta 500\",\n hex: \"#e72767\"\n },\n 600: {\n title: \"Magenta 600\",\n hex: \"#b11651\"\n },\n 700: {\n title: \"Magenta 700\",\n hex: \"#7c1342\"\n },\n 800: {\n title: \"Magenta 800\",\n hex: \"#4b1130\"\n },\n 900: {\n title: \"Magenta 900\",\n hex: \"#341325\"\n },\n 950: {\n title: \"Magenta 950\",\n hex: \"#1f0f14\"\n }\n}, red = {\n 50: {\n title: \"Red 50\",\n hex: \"#fff6f5\"\n },\n 100: {\n title: \"Red 100\",\n hex: \"#ffe7e5\"\n },\n 200: {\n title: \"Red 200\",\n hex: \"#ffdedc\"\n },\n 300: {\n title: \"Red 300\",\n hex: \"#fdada5\"\n },\n 400: {\n title: \"Red 400\",\n hex: \"#f77769\"\n },\n 500: {\n title: \"Red 500\",\n hex: \"#ef4434\"\n },\n 600: {\n title: \"Red 600\",\n hex: \"#cc2819\"\n },\n 700: {\n title: \"Red 700\",\n hex: \"#8b2018\"\n },\n 800: {\n title: \"Red 800\",\n hex: \"#4d1714\"\n },\n 900: {\n title: \"Red 900\",\n hex: \"#321615\"\n },\n 950: {\n title: \"Red 950\",\n hex: \"#1e1011\"\n }\n}, orange = {\n 50: {\n title: \"Orange 50\",\n hex: \"#fff7f0\"\n },\n 100: {\n title: \"Orange 100\",\n hex: \"#ffeadb\"\n },\n 200: {\n title: \"Orange 200\",\n hex: \"#ffddc7\"\n },\n 300: {\n title: \"Orange 300\",\n hex: \"#ffb685\"\n },\n 400: {\n title: \"Orange 400\",\n hex: \"#ff8e42\"\n },\n 500: {\n title: \"Orange 500\",\n hex: \"#fa6400\"\n },\n 600: {\n title: \"Orange 600\",\n hex: \"#b14802\"\n },\n 700: {\n title: \"Orange 700\",\n hex: \"#7c3404\"\n },\n 800: {\n title: \"Orange 800\",\n hex: \"#461e07\"\n },\n 900: {\n title: \"Orange 900\",\n hex: \"#32160b\"\n },\n 950: {\n title: \"Orange 950\",\n hex: \"#21120d\"\n }\n}, yellow = {\n 50: {\n title: \"Yellow 50\",\n hex: \"#fefae1\"\n },\n 100: {\n title: \"Yellow 100\",\n hex: \"#fcf3bb\"\n },\n 200: {\n title: \"Yellow 200\",\n hex: \"#f9e994\"\n },\n 300: {\n title: \"Yellow 300\",\n hex: \"#f7d455\"\n },\n 400: {\n title: \"Yellow 400\",\n hex: \"#f9bc15\"\n },\n 500: {\n title: \"Yellow 500\",\n hex: \"#d28a04\"\n },\n 600: {\n title: \"Yellow 600\",\n hex: \"#965908\"\n },\n 700: {\n title: \"Yellow 700\",\n hex: \"#653a0b\"\n },\n 800: {\n title: \"Yellow 800\",\n hex: \"#3b220c\"\n },\n 900: {\n title: \"Yellow 900\",\n hex: \"#271a11\"\n },\n 950: {\n title: \"Yellow 950\",\n hex: \"#181410\"\n }\n}, green = {\n 50: {\n title: \"Green 50\",\n hex: \"#e7fef5\"\n },\n 100: {\n title: \"Green 100\",\n hex: \"#c5fce8\"\n },\n 200: {\n title: \"Green 200\",\n hex: \"#a9f9dc\"\n },\n 300: {\n title: \"Green 300\",\n hex: \"#59f3ba\"\n },\n 400: {\n title: \"Green 400\",\n hex: \"#0ff0a1\"\n },\n 500: {\n title: \"Green 500\",\n hex: \"#04b97a\"\n },\n 600: {\n title: \"Green 600\",\n hex: \"#01794f\"\n },\n 700: {\n title: \"Green 700\",\n hex: \"#015133\"\n },\n 800: {\n title: \"Green 800\",\n hex: \"#023120\"\n },\n 900: {\n title: \"Green 900\",\n hex: \"#06231a\"\n },\n 950: {\n title: \"Green 950\",\n hex: \"#071715\"\n }\n}, cyan = {\n 50: {\n title: \"Cyan 50\",\n hex: \"#e7fefe\"\n },\n 100: {\n title: \"Cyan 100\",\n hex: \"#c5fcfc\"\n },\n 200: {\n title: \"Cyan 200\",\n hex: \"#96f8f8\"\n },\n 300: {\n title: \"Cyan 300\",\n hex: \"#62efef\"\n },\n 400: {\n title: \"Cyan 400\",\n hex: \"#18e2e2\"\n },\n 500: {\n title: \"Cyan 500\",\n hex: \"#04b8be\"\n },\n 600: {\n title: \"Cyan 600\",\n hex: \"#037782\"\n },\n 700: {\n title: \"Cyan 700\",\n hex: \"#024950\"\n },\n 800: {\n title: \"Cyan 800\",\n hex: \"#042f34\"\n },\n 900: {\n title: \"Cyan 900\",\n hex: \"#072227\"\n },\n 950: {\n title: \"Cyan 950\",\n hex: \"#0d181c\"\n }\n}, hues = { gray, blue, purple, magenta, red, orange, yellow, green, cyan }, color = { black, white, ...hues }, config = {\n black: {\n title: \"Black\",\n hsl: [225, 16, 6]\n },\n white: {\n title: \"White\",\n hsl: [0, 0, 100]\n },\n gray: {\n title: \"Gray\",\n tints: {\n 50: {\n title: \"Gray 50\",\n hsl: [240, 12, 97]\n },\n 100: {\n title: \"Gray 100\",\n hsl: [240, 10, 94]\n },\n 200: {\n title: \"Gray 200\",\n hsl: [231, 10, 90]\n },\n 300: {\n title: \"Gray 300\",\n hsl: [232, 11, 76]\n },\n 400: {\n title: \"Gray 400\",\n hsl: [228, 13, 63]\n },\n 500: {\n title: \"Gray 500\",\n hsl: [229, 13, 51]\n },\n 600: {\n title: \"Gray 600\",\n hsl: [228, 16, 38]\n },\n 700: {\n title: \"Gray 700\",\n hsl: [229, 18, 27]\n },\n 800: {\n title: \"Gray 800\",\n hsl: [229, 19, 18]\n },\n 900: {\n title: \"Gray 900\",\n hsl: [228, 19, 13]\n },\n 950: {\n title: \"Gray 950\",\n hsl: [233, 17, 9]\n }\n }\n },\n blue: {\n title: \"Blue\",\n tints: {\n 50: {\n title: \"Blue 50\",\n hsl: [222, 100, 98]\n },\n 100: {\n title: \"Blue 100\",\n hsl: [222, 100, 95]\n },\n 200: {\n title: \"Blue 200\",\n hsl: [223, 100, 93]\n },\n 300: {\n title: \"Blue 300\",\n hsl: [224, 100, 83]\n },\n 400: {\n title: \"Blue 400\",\n hsl: [226, 100, 73]\n },\n 500: {\n title: \"Blue 500\",\n hsl: [232, 96, 66]\n },\n 600: {\n title: \"Blue 600\",\n hsl: [239, 78, 58]\n },\n 700: {\n title: \"Blue 700\",\n hsl: [241, 63, 41]\n },\n 800: {\n title: \"Blue 800\",\n hsl: [230, 55, 22]\n },\n 900: {\n title: \"Blue 900\",\n hsl: [234, 49, 17]\n },\n 950: {\n title: \"Blue 950\",\n hsl: [235, 43, 11]\n }\n }\n },\n purple: {\n title: \"Purple\",\n tints: {\n 50: {\n title: \"Purple 50\",\n hsl: [260, 95, 98]\n },\n 100: {\n title: \"Purple 100\",\n hsl: [260, 98, 96]\n },\n 200: {\n title: \"Purple 200\",\n hsl: [263, 96, 94]\n },\n 300: {\n title: \"Purple 300\",\n hsl: [262, 92, 84]\n },\n 400: {\n title: \"Purple 400\",\n hsl: [262, 88, 75]\n },\n 500: {\n title: \"Purple 500\",\n hsl: [262, 83, 64]\n },\n 600: {\n title: \"Purple 600\",\n hsl: [265, 79, 51]\n },\n 700: {\n title: \"Purple 700\",\n hsl: [263, 72, 36]\n },\n 800: {\n title: \"Purple 800\",\n hsl: [258, 60, 24]\n },\n 900: {\n title: \"Purple 900\",\n hsl: [257, 46, 17]\n },\n 950: {\n title: \"Purple 950\",\n hsl: [260, 41, 11]\n }\n }\n },\n magenta: {\n title: \"Magenta\",\n tints: {\n 50: {\n title: \"Magenta 50\",\n hsl: [340, 82, 98]\n },\n 100: {\n title: \"Magenta 100\",\n hsl: [339, 83, 95]\n },\n 200: {\n title: \"Magenta 200\",\n hsl: [339, 83, 93]\n },\n 300: {\n title: \"Magenta 300\",\n hsl: [340, 82, 82]\n },\n 400: {\n title: \"Magenta 400\",\n hsl: [340, 81, 69]\n },\n 500: {\n title: \"Magenta 500\",\n hsl: [340, 80, 53]\n },\n 600: {\n title: \"Magenta 600\",\n hsl: [337, 78, 39]\n },\n 700: {\n title: \"Magenta 700\",\n hsl: [333, 73, 28]\n },\n 800: {\n title: \"Magenta 800\",\n hsl: [328, 63, 18]\n },\n 900: {\n title: \"Magenta 900\",\n hsl: [327, 46, 14]\n },\n 950: {\n title: \"Magenta 950\",\n hsl: [341, 35, 9]\n }\n }\n },\n red: {\n title: \"Red\",\n tints: {\n 50: {\n title: \"Red 50\",\n hsl: [5, 100, 98]\n },\n 100: {\n title: \"Red 100\",\n hsl: [4, 100, 95]\n },\n 200: {\n title: \"Red 200\",\n hsl: [4, 98, 93]\n },\n 300: {\n title: \"Red 300\",\n hsl: [5, 95, 82]\n },\n 400: {\n title: \"Red 400\",\n hsl: [6, 90, 69]\n },\n 500: {\n title: \"Red 500\",\n hsl: [5, 85, 57]\n },\n 600: {\n title: \"Red 600\",\n hsl: [5, 78, 45]\n },\n 700: {\n title: \"Red 700\",\n hsl: [4, 70, 32]\n },\n 800: {\n title: \"Red 800\",\n hsl: [3, 58, 19]\n },\n 900: {\n title: \"Red 900\",\n hsl: [2, 41, 14]\n },\n 950: {\n title: \"Red 950\",\n hsl: [356, 30, 9]\n }\n }\n },\n orange: {\n title: \"Orange\",\n tints: {\n 50: {\n title: \"Orange 50\",\n hsl: [28, 100, 97]\n },\n 100: {\n title: \"Orange 100\",\n hsl: [25, 100, 93]\n },\n 200: {\n title: \"Orange 200\",\n hsl: [24, 100, 89]\n },\n 300: {\n title: \"Orange 300\",\n hsl: [24, 100, 76]\n },\n 400: {\n title: \"Orange 400\",\n hsl: [24, 100, 63]\n },\n 500: {\n title: \"Orange 500\",\n hsl: [24, 100, 49]\n },\n 600: {\n title: \"Orange 600\",\n hsl: [24, 98, 35]\n },\n 700: {\n title: \"Orange 700\",\n hsl: [24, 94, 25]\n },\n 800: {\n title: \"Orange 800\",\n hsl: [22, 82, 15]\n },\n 900: {\n title: \"Orange 900\",\n hsl: [17, 65, 12]\n },\n 950: {\n title: \"Orange 950\",\n hsl: [14, 43, 9]\n }\n }\n },\n yellow: {\n title: \"Yellow\",\n tints: {\n 50: {\n title: \"Yellow 50\",\n hsl: [51, 94, 94]\n },\n 100: {\n title: \"Yellow 100\",\n hsl: [52, 91, 86]\n },\n 200: {\n title: \"Yellow 200\",\n hsl: [50, 90, 78]\n },\n 300: {\n title: \"Yellow 300\",\n hsl: [47, 91, 65]\n },\n 400: {\n title: \"Yellow 400\",\n hsl: [44, 95, 53]\n },\n 500: {\n title: \"Yellow 500\",\n hsl: [39, 96, 42]\n },\n 600: {\n title: \"Yellow 600\",\n hsl: [34, 90, 31]\n },\n 700: {\n title: \"Yellow 700\",\n hsl: [31, 80, 22]\n },\n 800: {\n title: \"Yellow 800\",\n hsl: [28, 66, 14]\n },\n 900: {\n title: \"Yellow 900\",\n hsl: [24, 40, 11]\n },\n 950: {\n title: \"Yellow 950\",\n hsl: [24, 20, 8]\n }\n }\n },\n green: {\n title: \"Green\",\n tints: {\n 50: {\n title: \"Green 50\",\n hsl: [157, 89, 95]\n },\n 100: {\n title: \"Green 100\",\n hsl: [158, 89, 88]\n },\n 200: {\n title: \"Green 200\",\n hsl: [158, 87, 82]\n },\n 300: {\n title: \"Green 300\",\n hsl: [158, 86, 65]\n },\n 400: {\n title: \"Green 400\",\n hsl: [159, 88, 50]\n },\n 500: {\n title: \"Green 500\",\n hsl: [159, 96, 37]\n },\n 600: {\n title: \"Green 600\",\n hsl: [159, 98, 24]\n },\n 700: {\n title: \"Green 700\",\n hsl: [158, 98, 16]\n },\n 800: {\n title: \"Green 800\",\n hsl: [158, 91, 10]\n },\n 900: {\n title: \"Green 900\",\n hsl: [162, 72, 8]\n },\n 950: {\n title: \"Green 950\",\n hsl: [172, 51, 6]\n }\n }\n },\n cyan: {\n title: \"Cyan\",\n tints: {\n 50: {\n title: \"Cyan 50\",\n hsl: [180, 92, 95]\n },\n 100: {\n title: \"Cyan 100\",\n hsl: [180, 91, 88]\n },\n 200: {\n title: \"Cyan 200\",\n hsl: [180, 87, 78]\n },\n 300: {\n title: \"Cyan 300\",\n hsl: [180, 81, 66]\n },\n 400: {\n title: \"Cyan 400\",\n hsl: [180, 81, 49]\n },\n 500: {\n title: \"Cyan 500\",\n hsl: [182, 96, 38]\n },\n 600: {\n title: \"Cyan 600\",\n hsl: [185, 96, 26]\n },\n 700: {\n title: \"Cyan 700\",\n hsl: [185, 95, 16]\n },\n 800: {\n title: \"Cyan 800\",\n hsl: [187, 86, 11]\n },\n 900: {\n title: \"Cyan 900\",\n hsl: [188, 68, 9]\n },\n 950: {\n title: \"Cyan 950\",\n hsl: [196, 37, 8]\n }\n }\n }\n};\nfunction hexToRgb(hex) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n if (!result)\n throw new Error(\"input is not valid hex\");\n return [parseInt(result[1], 16), parseInt(result[2], 16), parseInt(result[3], 16)];\n}\nfunction rgbToHsl([r, g, b]) {\n r /= 255, g /= 255, b /= 255;\n const cmin = Math.min(r, g, b), cmax = Math.max(r, g, b), delta = cmax - cmin;\n let h = 0, s = 0, l = 0;\n return delta == 0 ? h = 0 : cmax == r ? h = (g - b) / delta % 6 : cmax == g ? h = (b - r) / delta + 2 : h = (r - g) / delta + 4, h = Math.round(h * 60), h < 0 && (h += 360), l = (cmax + cmin) / 2, s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1)), s = +(s * 100).toFixed(0), l = +(l * 100).toFixed(0), [h, s, l];\n}\nfunction clamp(num) {\n return Math.max(Math.min(num, 255), 0);\n}\nfunction darkenChannel(backdrop, source) {\n return Math.min(backdrop, source);\n}\nfunction darken(b, s) {\n return [\n Math.round(clamp(darkenChannel(b[0] / 255, s[0] / 255) * 255)),\n Math.round(clamp(darkenChannel(b[1] / 255, s[1] / 255) * 255)),\n Math.round(clamp(darkenChannel(b[2] / 255, s[2] / 255) * 255))\n ];\n}\nfunction interpolate(min, max, val) {\n const size = max - min;\n return min + size * val;\n}\nfunction limit(darkest, lightest, source) {\n const r = Math.round(interpolate(darkest[0], lightest[0], source[0] / 255)), g = Math.round(interpolate(darkest[1], lightest[1], source[1] / 255)), b = Math.round(interpolate(darkest[2], lightest[2], source[2] / 255));\n return [r, g, b];\n}\nfunction screenChannel(backdrop, source) {\n return backdrop + source - backdrop * source;\n}\nfunction screen(b, s) {\n return [\n Math.round(clamp(screenChannel(b[0] / 255, s[0] / 255) * 255)),\n Math.round(clamp(screenChannel(b[1] / 255, s[1] / 255) * 255)),\n Math.round(clamp(screenChannel(b[2] / 255, s[2] / 255) * 255))\n ];\n}\nexport {\n COLOR_HUES,\n COLOR_TINTS,\n black,\n blue,\n buildTints,\n color,\n config,\n cyan,\n darken,\n gray,\n green,\n hexToRgb,\n hslToRgb,\n hues,\n limit,\n magenta,\n orange,\n purple,\n red,\n rgbToHex,\n rgbToHsl,\n screen,\n white,\n yellow\n};\n//# sourceMappingURL=index.js.map\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\nexport var SCOPE = '@scope'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @param {number} position\n * @return {number}\n */\nexport function indexof (value, search, position) {\n\treturn value.indexOf(search, position)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n\n/**\n * @param {string[]} array\n * @param {RegExp} pattern\n * @return {string[]}\n */\nexport function filter (array, pattern) {\n\treturn array.filter(function (value) { return !match(value, pattern) })\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {object[]} siblings\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length, siblings) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: '', siblings: siblings}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0, root.siblings), root, {length: -root.length}, props)\n}\n\n/**\n * @param {object} root\n */\nexport function lift (root) {\n\twhile (root.root)\n\t\troot = copy(root.root, {children: [root]})\n\n\tappend(root, root.siblings)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f', abs(index ? points[index - 1] : 0)) != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1, declarations) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2, declarations), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length, rulesets), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length, children), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length, siblings) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length, siblings)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @param {object[]} siblings\n * @return {object}\n */\nexport function comment (value, root, parent, siblings) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @param {object[]} siblings\n * @return {object}\n */\nexport function declaration (value, root, parent, length, siblings) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length, siblings)\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace, substr, match} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @param {object[]} children\n * @return {string}\n */\nexport function prefix (value, length, children) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// tab-size\n\t\tcase 4789:\n\t\t\treturn MOZ + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t\t// default: fallthrough to below\n\t\t\t}\n\t\t// flex, flex-direction, scroll-snap-type, writing-mode\n\t\tcase 6828: case 4268: case 2903:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/g, '') + (!match(value, /flex-|baseline/) ? MS + 'grid-row-' + replace(value, /flex-|-self/g, '') : '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/g, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// justify-self\n\t\tcase 4200:\n\t\t\tif (!match(value, /flex-|baseline/)) return MS + 'grid-column-align' + substr(value, length) + value\n\t\t\tbreak\n\t\t// grid-template-(columns|rows)\n\t\tcase 2592: case 3360:\n\t\t\treturn MS + replace(value, 'template-', '') + value\n\t\t// grid-(row|column)-start\n\t\tcase 4384: case 3616:\n\t\t\tif (children && children.some(function (element, index) { return length = index, match(element.props, /grid-\\w+-end/) })) {\n\t\t\t\treturn ~indexof(value + (children = children[length].value), 'span', 0) ? value : (MS + replace(value, '-start', '') + value + MS + 'grid-row-span:' + (~indexof(children, 'span', 0) ? match(children, /\\d+/) : +match(children, /\\d+/) - +match(value, /\\d+/)) + ';')\n\t\t\t}\n\t\t\treturn MS + replace(value, '-start', '') + value\n\t\t// grid-(row|column)-end\n\t\tcase 4896: case 4128:\n\t\t\treturn (children && children.some(function (element) { return match(element.props, /grid-\\w+-start/) })) ? value : MS + replace(replace(value, '-end', '-span'), 'span ', '') + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch', 0) ? prefix(replace(value, 'stretch', 'fill-available'), length, children) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// grid-(column|row)\n\t\tcase 5152: case 5920:\n\t\t\treturn replace(value, /(.+?):(\\d+)(\\s*\\/\\s*(span)?\\s*(\\d+))?(.*)/, function (_, a, b, c, d, e, f) { return (MS + a + ':' + b + f) + (c ? (MS + a + '-span:' + (d ? e : +e - +b)) + f : '') + value })\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// stick(y)?\n\t\t\tif (charat(value, length + 6) === 121)\n\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\tbreak\n\t\t// display: (flex|inline-flex|grid|inline-grid)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {\n\t\t\t\t// (inline-)?fle(x)\n\t\t\t\tcase 120:\n\t\t\t\t\treturn replace(value, /(.+:)([^;\\s!]+)(;|(\\s+)?!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t\t// (inline-)?gri(d)\n\t\t\t\tcase 100:\n\t\t\t\t\treturn replace(value, ':', ':' + MS) + value\n\t\t\t}\n\t\t\tbreak\n\t\t// scroll-margin, scroll-margin-(top|right|bottom|left)\n\t\tcase 5719: case 2647: case 2135: case 3927: case 2391:\n\t\t\treturn replace(value, 'scroll-', 'scroll-snap-') + value\n\t}\n\n\treturn value\n}\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\n\tfor (var i = 0; i < children.length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: if (!strlen(element.value = element.props.join(','))) return ''\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine, filter, assign} from './Utility.js'\nimport {copy, lift, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(children = element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, callback = /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]}))\n\t\t\t\t\t\t\t\t\tlift(copy(element, {props: [value]}))\n\t\t\t\t\t\t\t\t\tassign(element, {props: filter(children, callback)})\n\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","import{__spreadArray as e,__assign as t}from\"tslib\";import n from\"@emotion/is-prop-valid\";import r,{useRef as o,useState as s,useMemo as i,useEffect as a,useContext as c,useDebugValue as l,createElement as u}from\"react\";import p from\"shallowequal\";import*as d from\"stylis\";import h from\"@emotion/unitless\";var f=\"undefined\"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||\"data-styled\",m=\"active\",y=\"data-styled-version\",v=\"6.1.15\",g=\"/*!sc*/\\n\",S=\"undefined\"!=typeof window&&\"HTMLElement\"in window,w=Boolean(\"boolean\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&\"\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY?\"false\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&\"\"!==process.env.SC_DISABLE_SPEEDY?\"false\"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:\"production\"!==process.env.NODE_ENV),b={},E=/invalid hook call/i,N=new Set,P=function(t,n){if(\"production\"!==process.env.NODE_ENV){var r=n?' with the id of \"'.concat(n,'\"'):\"\",s=\"The component \".concat(t).concat(r,\" has been created dynamically.\\n\")+\"You may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",i=console.error;try{var a=!0;console.error=function(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];E.test(t)?(a=!1,N.delete(s)):i.apply(void 0,e([t],n,!1))},o(),a&&!N.has(s)&&(console.warn(s),N.add(s))}catch(e){E.test(e.message)&&N.delete(s)}finally{console.error=i}}},_=Object.freeze([]),C=Object.freeze({});function I(e,t,n){return void 0===n&&(n=C),e.theme!==n.theme&&e.theme||t||n.theme}var A=new Set([\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"tr\",\"track\",\"u\",\"ul\",\"use\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"tspan\"]),O=/[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,D=/(^-|-$)/g;function R(e){return e.replace(O,\"-\").replace(D,\"\")}var T=/(a)(d)/gi,k=52,j=function(e){return String.fromCharCode(e+(e>25?39:97))};function x(e){var t,n=\"\";for(t=Math.abs(e);t>k;t=t/k|0)n=j(t%k)+n;return(j(t%k)+n).replace(T,\"$1-$2\")}var V,F=5381,M=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},z=function(e){return M(F,e)};function $(e){return x(z(e)>>>0)}function B(e){return\"production\"!==process.env.NODE_ENV&&\"string\"==typeof e&&e||e.displayName||e.name||\"Component\"}function L(e){return\"string\"==typeof e&&(\"production\"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var G=\"function\"==typeof Symbol&&Symbol.for,Y=G?Symbol.for(\"react.memo\"):60115,q=G?Symbol.for(\"react.forward_ref\"):60112,W={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},H={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},U={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},J=((V={})[q]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},V[Y]=U,V);function X(e){return(\"type\"in(t=e)&&t.type.$$typeof)===Y?U:\"$$typeof\"in e?J[e.$$typeof]:W;var t}var Z=Object.defineProperty,K=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,ee=Object.getOwnPropertyDescriptor,te=Object.getPrototypeOf,ne=Object.prototype;function re(e,t,n){if(\"string\"!=typeof t){if(ne){var r=te(t);r&&r!==ne&&re(e,r,n)}var o=K(t);Q&&(o=o.concat(Q(t)));for(var s=X(e),i=X(t),a=0;a<o.length;++a){var c=o[a];if(!(c in H||n&&n[c]||i&&c in i||s&&c in s)){var l=ee(t,c);try{Z(e,c,l)}catch(e){}}}}return e}function oe(e){return\"function\"==typeof e}function se(e){return\"object\"==typeof e&&\"styledComponentId\"in e}function ie(e,t){return e&&t?\"\".concat(e,\" \").concat(t):e||t||\"\"}function ae(e,t){if(0===e.length)return\"\";for(var n=e[0],r=1;r<e.length;r++)n+=t?t+e[r]:e[r];return n}function ce(e){return null!==e&&\"object\"==typeof e&&e.constructor.name===Object.name&&!(\"props\"in e&&e.$$typeof)}function le(e,t,n){if(void 0===n&&(n=!1),!n&&!ce(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=le(e[r],t[r]);else if(ce(t))for(var r in t)e[r]=le(e[r],t[r]);return e}function ue(e,t){Object.defineProperty(e,\"toString\",{value:t})}var pe=\"production\"!==process.env.NODE_ENV?{1:\"Cannot create styled-component for component: %s.\\n\\n\",2:\"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",3:\"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",4:\"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",5:\"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",6:\"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",7:'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document `<head>`\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\",18:\"ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`\"}:{};function de(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=e[0],r=[],o=1,s=e.length;o<s;o+=1)r.push(e[o]);return r.forEach(function(e){n=n.replace(/%[a-z]/,e)}),n}function he(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];return\"production\"===process.env.NODE_ENV?new Error(\"An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#\".concat(t,\" for more information.\").concat(n.length>0?\" Args: \".concat(n.join(\", \")):\"\")):new Error(de.apply(void 0,e([pe[t]],n,!1)).trim())}var fe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)if((o<<=1)<0)throw he(16,\"\".concat(e));this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s<o;s++)this.groupSizes[s]=0}for(var i=this.indexOfGroup(e+1),a=(s=0,t.length);s<a;s++)this.tag.insertRule(i,t[s])&&(this.groupSizes[e]++,i++)},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},e.prototype.getGroup=function(e){var t=\"\";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s<o;s++)t+=\"\".concat(this.tag.getRule(s)).concat(g);return t},e}(),me=1<<30,ye=new Map,ve=new Map,ge=1,Se=function(e){if(ye.has(e))return ye.get(e);for(;ve.has(ge);)ge++;var t=ge++;if(\"production\"!==process.env.NODE_ENV&&((0|t)<0||t>me))throw he(16,\"\".concat(t));return ye.set(e,t),ve.set(t,e),t},we=function(e,t){ge=t+1,ye.set(e,t),ve.set(t,e)},be=\"style[\".concat(f,\"][\").concat(y,'=\"').concat(v,'\"]'),Ee=new RegExp(\"^\".concat(f,'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)')),Ne=function(e,t,n){for(var r,o=n.split(\",\"),s=0,i=o.length;s<i;s++)(r=o[s])&&e.registerName(t,r)},Pe=function(e,t){for(var n,r=(null!==(n=t.textContent)&&void 0!==n?n:\"\").split(g),o=[],s=0,i=r.length;s<i;s++){var a=r[s].trim();if(a){var c=a.match(Ee);if(c){var l=0|parseInt(c[1],10),u=c[2];0!==l&&(we(u,l),Ne(e,u,c[3]),e.getTag().insertRules(l,o)),o.length=0}else o.push(a)}}},_e=function(e){for(var t=document.querySelectorAll(be),n=0,r=t.length;n<r;n++){var o=t[n];o&&o.getAttribute(f)!==m&&(Pe(e,o),o.parentNode&&o.parentNode.removeChild(o))}};function Ce(){return\"undefined\"!=typeof __webpack_nonce__?__webpack_nonce__:null}var Ie=function(e){var t=document.head,n=e||t,r=document.createElement(\"style\"),o=function(e){var t=Array.from(e.querySelectorAll(\"style[\".concat(f,\"]\")));return t[t.length-1]}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(f,m),r.setAttribute(y,v);var i=Ce();return i&&r.setAttribute(\"nonce\",i),n.insertBefore(r,s),r},Ae=function(){function e(e){this.element=Ie(e),this.element.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}throw he(17)}(this.element),this.length=0}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:\"\"},e}(),Oe=function(){function e(e){this.element=Ie(e),this.nodes=this.element.childNodes,this.length=0}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:\"\"},e}(),De=function(){function e(e){this.rules=[],this.length=0}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:\"\"},e}(),Re=S,Te={isServer:!S,useCSSOMInjection:!w},ke=function(){function e(e,n,r){void 0===e&&(e=C),void 0===n&&(n={});var o=this;this.options=t(t({},Te),e),this.gs=n,this.names=new Map(r),this.server=!!e.isServer,!this.server&&S&&Re&&(Re=!1,_e(this)),ue(this,function(){return function(e){for(var t=e.getTag(),n=t.length,r=\"\",o=function(n){var o=function(e){return ve.get(e)}(n);if(void 0===o)return\"continue\";var s=e.names.get(o),i=t.getGroup(n);if(void 0===s||!s.size||0===i.length)return\"continue\";var a=\"\".concat(f,\".g\").concat(n,'[id=\"').concat(o,'\"]'),c=\"\";void 0!==s&&s.forEach(function(e){e.length>0&&(c+=\"\".concat(e,\",\"))}),r+=\"\".concat(i).concat(a,'{content:\"').concat(c,'\"}').concat(g)},s=0;s<n;s++)o(s);return r}(o)})}return e.registerId=function(e){return Se(e)},e.prototype.rehydrate=function(){!this.server&&S&&_e(this)},e.prototype.reconstructWithOptions=function(n,r){return void 0===r&&(r=!0),new e(t(t({},this.options),n),this.gs,r&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new De(n):t?new Ae(n):new Oe(n)}(this.options),new fe(e)));var e},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Se(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Se(e),n)},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},e.prototype.clearRules=function(e){this.getTag().clearGroup(Se(e)),this.clearNames(e)},e.prototype.clearTag=function(){this.tag=void 0},e}(),je=/&/g,xe=/^\\s*\\/\\/.*$/gm;function Ve(e,t){return e.map(function(e){return\"rule\"===e.type&&(e.value=\"\".concat(t,\" \").concat(e.value),e.value=e.value.replaceAll(\",\",\",\".concat(t,\" \")),e.props=e.props.map(function(e){return\"\".concat(t,\" \").concat(e)})),Array.isArray(e.children)&&\"@keyframes\"!==e.type&&(e.children=Ve(e.children,t)),e})}function Fe(e){var t,n,r,o=void 0===e?C:e,s=o.options,i=void 0===s?C:s,a=o.plugins,c=void 0===a?_:a,l=function(e,r,o){return o.startsWith(n)&&o.endsWith(n)&&o.replaceAll(n,\"\").length>0?\".\".concat(t):e},u=c.slice();u.push(function(e){e.type===d.RULESET&&e.value.includes(\"&\")&&(e.props[0]=e.props[0].replace(je,n).replace(r,l))}),i.prefix&&u.push(d.prefixer),u.push(d.stringify);var p=function(e,o,s,a){void 0===o&&(o=\"\"),void 0===s&&(s=\"\"),void 0===a&&(a=\"&\"),t=a,n=o,r=new RegExp(\"\\\\\".concat(n,\"\\\\b\"),\"g\");var c=e.replace(xe,\"\"),l=d.compile(s||o?\"\".concat(s,\" \").concat(o,\" { \").concat(c,\" }\"):c);i.namespace&&(l=Ve(l,i.namespace));var p=[];return d.serialize(l,d.middleware(u.concat(d.rulesheet(function(e){return p.push(e)})))),p};return p.hash=c.length?c.reduce(function(e,t){return t.name||he(15),M(e,t.name)},F).toString():\"\",p}var Me=new ke,ze=Fe(),$e=r.createContext({shouldForwardProp:void 0,styleSheet:Me,stylis:ze}),Be=$e.Consumer,Le=r.createContext(void 0);function Ge(){return c($e)}function Ye(e){var t=s(e.stylisPlugins),n=t[0],o=t[1],c=Ge().styleSheet,l=i(function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t},[e.disableCSSOMInjection,e.sheet,e.target,c]),u=i(function(){return Fe({options:{namespace:e.namespace,prefix:e.enableVendorPrefixes},plugins:n})},[e.enableVendorPrefixes,e.namespace,n]);a(function(){p(n,e.stylisPlugins)||o(e.stylisPlugins)},[e.stylisPlugins]);var d=i(function(){return{shouldForwardProp:e.shouldForwardProp,styleSheet:l,stylis:u}},[e.shouldForwardProp,l,u]);return r.createElement($e.Provider,{value:d},r.createElement(Le.Provider,{value:u},e.children))}var qe=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=ze);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,\"@keyframes\"))},this.name=e,this.id=\"sc-keyframes-\".concat(e),this.rules=t,ue(this,function(){throw he(12,String(n.name))})}return e.prototype.getName=function(e){return void 0===e&&(e=ze),this.name+e.hash},e}(),We=function(e){return e>=\"A\"&&e<=\"Z\"};function He(e){for(var t=\"\",n=0;n<e.length;n++){var r=e[n];if(1===n&&\"-\"===r&&\"-\"===e[0])return e;We(r)?t+=\"-\"+r.toLowerCase():t+=r}return t.startsWith(\"ms-\")?\"-\"+t:t}var Ue=function(e){return null==e||!1===e||\"\"===e},Je=function(t){var n,r,o=[];for(var s in t){var i=t[s];t.hasOwnProperty(s)&&!Ue(i)&&(Array.isArray(i)&&i.isCss||oe(i)?o.push(\"\".concat(He(s),\":\"),i,\";\"):ce(i)?o.push.apply(o,e(e([\"\".concat(s,\" {\")],Je(i),!1),[\"}\"],!1)):o.push(\"\".concat(He(s),\": \").concat((n=s,null==(r=i)||\"boolean\"==typeof r||\"\"===r?\"\":\"number\"!=typeof r||0===r||n in h||n.startsWith(\"--\")?String(r).trim():\"\".concat(r,\"px\")),\";\")))}return o};function Xe(e,t,n,r){if(Ue(e))return[];if(se(e))return[\".\".concat(e.styledComponentId)];if(oe(e)){if(!oe(s=e)||s.prototype&&s.prototype.isReactComponent||!t)return[e];var o=e(t);return\"production\"===process.env.NODE_ENV||\"object\"!=typeof o||Array.isArray(o)||o instanceof qe||ce(o)||null===o||console.error(\"\".concat(B(e),\" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\")),Xe(o,t,n,r)}var s;return e instanceof qe?n?(e.inject(n,r),[e.getName(r)]):[e]:ce(e)?Je(e):Array.isArray(e)?Array.prototype.concat.apply(_,e.map(function(e){return Xe(e,t,n,r)})):[e.toString()]}function Ze(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(oe(n)&&!se(n))return!1}return!0}var Ke=z(v),Qe=function(){function e(e,t,n){this.rules=e,this.staticRulesId=\"\",this.isStatic=\"production\"===process.env.NODE_ENV&&(void 0===n||n.isStatic)&&Ze(e),this.componentId=t,this.baseHash=M(Ke,t),this.baseStyle=n,ke.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):\"\";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))r=ie(r,this.staticRulesId);else{var o=ae(Xe(this.rules,e,t,n)),s=x(M(this.baseHash,o)>>>0);if(!t.hasNameForId(this.componentId,s)){var i=n(o,\".\".concat(s),void 0,this.componentId);t.insertRules(this.componentId,s,i)}r=ie(r,s),this.staticRulesId=s}else{for(var a=M(this.baseHash,n.hash),c=\"\",l=0;l<this.rules.length;l++){var u=this.rules[l];if(\"string\"==typeof u)c+=u,\"production\"!==process.env.NODE_ENV&&(a=M(a,u));else if(u){var p=ae(Xe(u,e,t,n));a=M(a,p+l),c+=p}}if(c){var d=x(a>>>0);t.hasNameForId(this.componentId,d)||t.insertRules(this.componentId,d,n(c,\".\".concat(d),void 0,this.componentId)),r=ie(r,d)}}return r},e}(),et=r.createContext(void 0),tt=et.Consumer;function nt(){var e=c(et);if(!e)throw he(18);return e}function rt(e){var n=r.useContext(et),o=i(function(){return function(e,n){if(!e)throw he(14);if(oe(e)){var r=e(n);if(\"production\"!==process.env.NODE_ENV&&(null===r||Array.isArray(r)||\"object\"!=typeof r))throw he(7);return r}if(Array.isArray(e)||\"object\"!=typeof e)throw he(8);return n?t(t({},n),e):e}(e.theme,n)},[e.theme,n]);return e.children?r.createElement(et.Provider,{value:o},e.children):null}var ot={},st=new Set;function it(e,o,s){var i=se(e),a=e,c=!L(e),p=o.attrs,d=void 0===p?_:p,h=o.componentId,f=void 0===h?function(e,t){var n=\"string\"!=typeof e?\"sc\":R(e);ot[n]=(ot[n]||0)+1;var r=\"\".concat(n,\"-\").concat($(v+n+ot[n]));return t?\"\".concat(t,\"-\").concat(r):r}(o.displayName,o.parentComponentId):h,m=o.displayName,y=void 0===m?function(e){return L(e)?\"styled.\".concat(e):\"Styled(\".concat(B(e),\")\")}(e):m,g=o.displayName&&o.componentId?\"\".concat(R(o.displayName),\"-\").concat(o.componentId):o.componentId||f,S=i&&a.attrs?a.attrs.concat(d).filter(Boolean):d,w=o.shouldForwardProp;if(i&&a.shouldForwardProp){var b=a.shouldForwardProp;if(o.shouldForwardProp){var E=o.shouldForwardProp;w=function(e,t){return b(e,t)&&E(e,t)}}else w=b}var N=new Qe(s,g,i?a.componentStyle:void 0);function O(e,o){return function(e,o,s){var i=e.attrs,a=e.componentStyle,c=e.defaultProps,p=e.foldedComponentIds,d=e.styledComponentId,h=e.target,f=r.useContext(et),m=Ge(),y=e.shouldForwardProp||m.shouldForwardProp;\"production\"!==process.env.NODE_ENV&&l(d);var v=I(o,f,c)||C,g=function(e,n,r){for(var o,s=t(t({},n),{className:void 0,theme:r}),i=0;i<e.length;i+=1){var a=oe(o=e[i])?o(s):o;for(var c in a)s[c]=\"className\"===c?ie(s[c],a[c]):\"style\"===c?t(t({},s[c]),a[c]):a[c]}return n.className&&(s.className=ie(s.className,n.className)),s}(i,o,v),S=g.as||h,w={};for(var b in g)void 0===g[b]||\"$\"===b[0]||\"as\"===b||\"theme\"===b&&g.theme===v||(\"forwardedAs\"===b?w.as=g.forwardedAs:y&&!y(b,S)||(w[b]=g[b],y||\"development\"!==process.env.NODE_ENV||n(b)||st.has(b)||!A.has(S)||(st.add(b),console.warn('styled-components: it looks like an unknown prop \"'.concat(b,'\" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));var E=function(e,t){var n=Ge(),r=e.generateAndInjectStyles(t,n.styleSheet,n.stylis);return\"production\"!==process.env.NODE_ENV&&l(r),r}(a,g);\"production\"!==process.env.NODE_ENV&&e.warnTooManyClasses&&e.warnTooManyClasses(E);var N=ie(p,d);return E&&(N+=\" \"+E),g.className&&(N+=\" \"+g.className),w[L(S)&&!A.has(S)?\"class\":\"className\"]=N,s&&(w.ref=s),u(S,w)}(D,e,o)}O.displayName=y;var D=r.forwardRef(O);return D.attrs=S,D.componentStyle=N,D.displayName=y,D.shouldForwardProp=w,D.foldedComponentIds=i?ie(a.foldedComponentIds,a.styledComponentId):\"\",D.styledComponentId=g,D.target=i?a.target:e,Object.defineProperty(D,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=i?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var r=0,o=t;r<o.length;r++)le(e,o[r],!0);return e}({},a.defaultProps,e):e}}),\"production\"!==process.env.NODE_ENV&&(P(y,g),D.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var s=t?' with the id of \"'.concat(t,'\"'):\"\";console.warn(\"Over \".concat(200,\" classes were generated for component \").concat(e).concat(s,\".\\n\")+\"Consider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n <Component />\"),r=!0,n={}}}}(y,g)),ue(D,function(){return\".\".concat(D.styledComponentId)}),c&&re(D,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),D}function at(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n}var ct=function(e){return Object.assign(e,{isCss:!0})};function lt(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];if(oe(t)||ce(t))return ct(Xe(at(_,e([t],n,!0))));var o=t;return 0===n.length&&1===o.length&&\"string\"==typeof o[0]?Xe(o):ct(Xe(at(o,n)))}function ut(n,r,o){if(void 0===o&&(o=C),!r)throw he(1,r);var s=function(t){for(var s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];return n(r,o,lt.apply(void 0,e([t],s,!1)))};return s.attrs=function(e){return ut(n,r,t(t({},o),{attrs:Array.prototype.concat(o.attrs,e).filter(Boolean)}))},s.withConfig=function(e){return ut(n,r,t(t({},o),e))},s}var pt=function(e){return ut(it,e)},dt=pt;A.forEach(function(e){dt[e]=pt(e)});var ht=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=Ze(e),ke.registerId(this.componentId+1)}return e.prototype.createStyles=function(e,t,n,r){var o=r(ae(Xe(this.rules,t,n,r)),\"\"),s=this.componentId+e;n.insertRules(s,s,o)},e.prototype.removeStyles=function(e,t){t.clearRules(this.componentId+e)},e.prototype.renderStyles=function(e,t,n,r){e>2&&ke.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();function ft(n){for(var o=[],s=1;s<arguments.length;s++)o[s-1]=arguments[s];var i=lt.apply(void 0,e([n],o,!1)),a=\"sc-global-\".concat($(JSON.stringify(i))),c=new ht(i,a);\"production\"!==process.env.NODE_ENV&&P(a);var l=function(e){var n=Ge(),o=r.useContext(et),s=r.useRef(n.styleSheet.allocateGSInstance(a)).current;return\"production\"!==process.env.NODE_ENV&&r.Children.count(e.children)&&console.warn(\"The global style component \".concat(a,\" was given child JSX. createGlobalStyle does not render children.\")),\"production\"!==process.env.NODE_ENV&&i.some(function(e){return\"string\"==typeof e&&-1!==e.indexOf(\"@import\")})&&console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app.\"),n.styleSheet.server&&function(e,n,r,o,s){if(c.isStatic)c.renderStyles(e,b,r,s);else{var i=t(t({},n),{theme:I(n,o,l.defaultProps)});c.renderStyles(e,i,r,s)}}(s,e,n.styleSheet,o,n.stylis),null};return r.memo(l)}function mt(t){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");var o=ae(lt.apply(void 0,e([t],n,!1))),s=$(o);return new qe(s,o)}function yt(e){var n=r.forwardRef(function(n,o){var s=I(n,r.useContext(et),e.defaultProps);return\"production\"!==process.env.NODE_ENV&&void 0===s&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"'.concat(B(e),'\"')),r.createElement(e,t({},n,{theme:s,ref:o}))});return n.displayName=\"WithTheme(\".concat(B(e),\")\"),re(n,e)}var vt=/^\\s*<\\/[a-z]/i,gt=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return\"\";var n=Ce(),r=ae([n&&'nonce=\"'.concat(n,'\"'),\"\".concat(f,'=\"true\"'),\"\".concat(y,'=\"').concat(v,'\"')].filter(Boolean),\" \");return\"<style \".concat(r,\">\").concat(t,\"</style>\")},this.getStyleTags=function(){if(e.sealed)throw he(2);return e._emitSheetCSS()},this.getStyleElement=function(){var n;if(e.sealed)throw he(2);var o=e.instance.toString();if(!o)return[];var s=((n={})[f]=\"\",n[y]=v,n.dangerouslySetInnerHTML={__html:o},n),i=Ce();return i&&(s.nonce=i),[r.createElement(\"style\",t({},s,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new ke({isServer:!0}),this.sealed=!1}return e.prototype.collectStyles=function(e){if(this.sealed)throw he(2);return r.createElement(Ye,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){if(S)throw he(3);if(this.sealed)throw he(2);this.seal();var t=require(\"stream\").Transform,n=e,r=this.instance,o=this._emitSheetCSS,s=new t({transform:function(e,t,n){var s=e.toString(),i=o();if(r.clearTag(),vt.test(s)){var a=s.indexOf(\">\")+1,c=s.slice(0,a),l=s.slice(a);this.push(c+i+l)}else this.push(i+s);n()}});return n.on(\"error\",function(e){s.emit(\"error\",e)}),n.pipe(s)},e}(),St={StyleSheet:ke,mainSheet:Me};\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\");var wt=\"__sc-\".concat(f,\"__\");\"production\"!==process.env.NODE_ENV&&\"test\"!==process.env.NODE_ENV&&\"undefined\"!=typeof window&&(window[wt]||(window[wt]=0),1===window[wt]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[wt]+=1);export{gt as ServerStyleSheet,Be as StyleSheetConsumer,$e as StyleSheetContext,Ye as StyleSheetManager,tt as ThemeConsumer,et as ThemeContext,rt as ThemeProvider,St as __PRIVATE__,ft as createGlobalStyle,lt as css,dt as default,se as isStyledComponent,mt as keyframes,dt as styled,nt as useTheme,v as version,yt as withTheme};\n//# sourceMappingURL=styled-components.esm.js.map\n","import {isDescendant} from '@nosferatu500/react-sortable-tree'\nimport {cyan, gray, red} from '@sanity/color'\nimport {ChevronDownIcon, ChevronRightIcon, DragHandleIcon} from '@sanity/icons'\nimport {Box, Button, Flex, Spinner} from '@sanity/ui'\nimport * as React from 'react'\nimport styled from 'styled-components'\n\nconst Root = styled.div`\n // Adapted from react-sortable-tree/style.css\n &[data-landing='true'] > *,\n &[data-cancel='true'] > * {\n opacity: 0 !important;\n }\n &[data-landing='true']::before,\n &[data-cancel='true']::before {\n background-color: ${cyan[50].hex};\n border: 2px dashed ${gray[400].hex};\n border-radius: 3px;\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: -1;\n }\n\n &[data-cancel='true']::before {\n background-color: ${red[50].hex};\n }\n`\n\n/**\n * Customization of react-sortable-tree's default node.\n * Created in order to use Sanity UI for styles.\n * Reference: https://github.com/frontend-collective/react-sortable-tree/blob/master/src/node-renderer-default.js\n */\nconst NodeContentRenderer: any = (props: any) => {\n const {node, path, treeIndex, canDrag = false} = props\n const nodeTitle = node.title\n const Handle = React.useMemo(() => {\n if (!canDrag) {\n return null\n }\n if (typeof node.children === 'function' && node.expanded) {\n // Show a loading symbol on the handle when the children are expanded\n // and yet still defined by a function (a callback to fetch the children)\n return <Spinner />\n }\n\n const BtnElement = (\n <div>\n <Button\n mode=\"bleed\"\n paddingX={0}\n paddingY={1}\n style={{\n cursor: node.publishedId ? 'grab' : 'default',\n fontSize: '1.5625rem'\n }}\n data-ui=\"DragHandleButton\"\n data-drag-handle={canDrag}\n disabled={!node.publishedId}\n >\n <DragHandleIcon style={{marginBottom: '-0.1em'}} />\n </Button>\n </div>\n )\n\n // Don't allow editors to drag invalid documents\n if (!node.publishedId) {\n return BtnElement\n }\n\n // Show the handle used to initiate a drag-and-drop\n return props.connectDragSource(BtnElement, {\n dropEffect: 'copy'\n })\n }, [canDrag, node, typeof node.children === 'function'])\n\n const isDraggedDescendant = props.draggedNode && isDescendant(props.draggedNode, node)\n const isLandingPadActive = !props.didDrop && props.isDragging\n\n return (\n <Box style={{position: 'relative'}}>\n {props.toggleChildrenVisibility &&\n node.children &&\n (node.children.length > 0 || typeof node.children === 'function') && (\n <div\n style={{\n position: 'absolute',\n left: '-2px',\n top: '40%',\n transform: 'translate(-100%, -50%)'\n }}\n >\n <Button\n aria-label={node.expanded ? 'Collapse' : 'Expand'}\n icon={\n node.expanded ? (\n <ChevronDownIcon color={gray[200].hex} />\n ) : (\n <ChevronRightIcon color={gray[200].hex} />\n )\n }\n mode=\"bleed\"\n fontSize={2}\n padding={1}\n type=\"button\"\n onClick={() =>\n props.toggleChildrenVisibility?.({\n node,\n path,\n treeIndex\n })\n }\n />\n </div>\n )}\n\n {props.connectDragPreview(\n <div>\n <Root\n data-landing={isLandingPadActive}\n data-cancel={isLandingPadActive && !props.canDrop}\n style={{\n opacity: isDraggedDescendant ? 0.5 : 1\n }}\n >\n <Flex align=\"center\">\n {Handle}\n {typeof nodeTitle === 'function' ? nodeTitle(props) : nodeTitle}\n </Flex>\n </Root>\n </div>\n )}\n </Box>\n )\n}\n\nexport default NodeContentRenderer\n","import {Box, Card, CardTone, Stack, Text} from '@sanity/ui'\nimport * as React from 'react'\n\nconst PlaceholderDropzone: React.FC<\n {\n tone?: CardTone\n title: string\n subtitle?: string\n } & any\n> = (props) => {\n const isValid = props.isOver && props.canDrop\n const isInvalid = props.isOver && !props.canDrop\n let tone: CardTone = 'transparent'\n if (isValid) {\n tone = 'positive'\n }\n if (isInvalid) {\n tone = 'caution'\n }\n return (\n <Box padding={3}>\n <Card\n padding={5}\n radius={2}\n border\n tone={tone}\n style={{\n borderStyle: props.isOver ? undefined : 'dashed',\n }}\n >\n <Stack space={2} style={{textAlign: 'center'}}>\n <Text size={2} as=\"h2\" muted>\n {!props.isOver && props.title}\n {isValid && 'Drop here'}\n {isInvalid && 'Invalid location or element'}\n </Text>\n {props.subtitle && <Text size={1}>{props.subtitle}</Text>}\n {props.children}\n </Stack>\n </Card>\n </Box>\n )\n}\n\nexport default PlaceholderDropzone\n","import {blue} from '@sanity/color'\nimport * as React from 'react'\nimport {createGlobalStyle} from 'styled-components'\n\n// Adapted from react-sortable-tree/src/tree-node.js\nconst ScaffoldStyles = createGlobalStyle`\n .rst__lineBlock,\n .rst__absoluteLineBlock {\n height: 100%;\n position: relative;\n display: inline-block;\n --stroke-width: 3px;\n }\n\n .rst__absoluteLineBlock {\n position: absolute;\n top: 0;\n }\n\n /* Highlight line for pointing to dragged row destination\n ========================================================================== */\n /**\n * +--+--+\n * | | |\n * | | |\n * | | |\n * +--+--+\n */\n .rst__highlightLineVertical {\n z-index: 3;\n }\n .rst__highlightLineVertical::before {\n position: absolute;\n content: '';\n background-color: ${blue[400].hex};\n width: calc(var(--stroke-width) * 2);\n margin-left: calc(var(--stroke-width) * -1);\n left: 50%;\n top: 0;\n height: 100%;\n }\n\n @keyframes arrow-pulse {\n 0% {\n transform: translate(0, 0);\n opacity: 0;\n }\n 30% {\n transform: translate(0, 300%);\n opacity: 1;\n }\n 70% {\n transform: translate(0, 700%);\n opacity: 1;\n }\n 100% {\n transform: translate(0, 1000%);\n opacity: 0;\n }\n }\n .rst__highlightLineVertical::after {\n content: '';\n position: absolute;\n height: 0;\n margin-left: calc(var(--stroke-width) * -1);\n left: 50%;\n top: 0;\n border-left: var(--stroke-width) solid transparent;\n border-right: var(--stroke-width) solid transparent;\n border-top: var(--stroke-width) solid white;\n animation: arrow-pulse 1s infinite linear both;\n }\n\n /**\n * +-----+\n * | |\n * | +--+\n * | | |\n * +--+--+\n */\n .rst__highlightTopLeftCorner::before {\n z-index: 3;\n content: '';\n position: absolute;\n border-top: solid calc(var(--stroke-width) * 2) ${blue[400].hex};\n border-left: solid calc(var(--stroke-width) * 2) ${blue[400].hex};\n box-sizing: border-box;\n height: calc(50% + var(--stroke-width));\n top: 50%;\n margin-top: calc(var(--stroke-width) * -1);\n right: 0;\n width: calc(50% + var(--stroke-width));\n }\n\n /**\n * +--+--+\n * | | |\n * | | |\n * | +->|\n * +-----+\n */\n .rst__highlightBottomLeftCorner {\n z-index: 3;\n }\n .rst__highlightBottomLeftCorner::before {\n content: '';\n position: absolute;\n border-bottom: solid calc(var(--stroke-width) * 2) ${blue[400].hex};\n border-left: solid calc(var(--stroke-width) * 2) ${blue[400].hex};\n box-sizing: border-box;\n height: calc(100% + var(--stroke-width));\n top: 0;\n right: calc(var(--stroke-width) * 3);\n width: calc(50% - calc(var(--stroke-width) * 2));\n }\n\n .rst__highlightBottomLeftCorner::after {\n content: '';\n position: absolute;\n height: 0;\n right: 0;\n top: 100%;\n margin-top: calc(var(--stroke-width) * -3);\n border-top: calc(var(--stroke-width) * 3) solid transparent;\n border-bottom: calc(var(--stroke-width) * 3) solid transparent;\n border-left: calc(var(--stroke-width) * 3) solid ${blue[400].hex};\n }\n\n .rst__unclickable {\n pointer-events: none;\n margin-top: -calc(var(--stroke-width) * 3);\n }\n`\n\nconst TreeNodeRendererScaffold: React.FC<any> = (props) => {\n const {\n lowerSiblingCounts,\n scaffoldBlockPxWidth,\n listIndex,\n swapDepth,\n swapFrom,\n swapLength,\n treeIndex,\n } = props\n\n // Construct the scaffold representing the structure of the tree\n const scaffold: React.ReactNode[] = lowerSiblingCounts.map(\n (lowerSiblingCount: number, i: any) => {\n if (lowerSiblingCount < 0 || treeIndex === listIndex || i !== swapDepth) {\n return null\n }\n\n // This row has been shifted, and is at the depth of\n // the line pointing to the new destination\n let highlightLineClass = ''\n\n if (listIndex === (swapFrom || 0) + (swapLength || 0) - 1) {\n // This block is on the bottom (target) line\n // This block points at the target block (where the row will go when released)\n highlightLineClass = 'rst__highlightBottomLeftCorner'\n } else if (treeIndex === swapFrom) {\n // This block is on the top (source) line\n highlightLineClass = 'rst__highlightTopLeftCorner'\n } else {\n // This block is between the bottom and top\n highlightLineClass = 'rst__highlightLineVertical'\n }\n\n const style = {\n width: scaffoldBlockPxWidth,\n left: scaffoldBlockPxWidth * i,\n }\n\n return (\n <div\n key={i}\n style={style}\n className={`rst__unclickable rst__absoluteLineBlock ${highlightLineClass || ''}`}\n tabIndex={-1}\n />\n )\n }\n )\n\n return (\n <>\n {scaffold}\n <ScaffoldStyles />\n </>\n )\n}\n\nexport default TreeNodeRendererScaffold\n","import * as React from 'react'\nimport TreeNodeRendererScaffold from './TreeNodeRendererScaffold'\n\n/**\n * To prevent expand buttons from overflowing on the left, we add a minimum left padding to all entries\n */\nconst BASE_LEFT_PADDING = 10\nconst NESTING_PADDING = 14\n\nconst TreeNodeRenderer: any = (props: any) => {\n const {children, lowerSiblingCounts, connectDropTarget, isOver, draggedNode, canDrop} = props\n\n // Construct the scaffold representing the structure of the tree\n const scaffoldBlockCount = lowerSiblingCounts.length\n\n return connectDropTarget(\n <div style={props.style}>\n <div\n style={{\n // prettier-ignore\n paddingLeft: `${BASE_LEFT_PADDING + (NESTING_PADDING * scaffoldBlockCount)}px`\n }}\n >\n {React.Children.map(children, (child) =>\n React.cloneElement(child as React.ReactElement<any>, {\n isOver,\n canDrop,\n draggedNode\n })\n )}\n </div>\n <TreeNodeRendererScaffold {...props} />\n </div>\n )\n}\n\nexport default TreeNodeRenderer\n","/**\n * react-sortable-tree emits a lot of random errors when dragging to invalid states,\n * even when drag-targets are disabled.\n *\n * This boundary is a workaround so users are not pestered with error-toasts for things\n * that have no functional impact.\n *\n * This boundry does NOT handle errors that happen in the React dnd\n * event handlers, so there is addtional workarounds in the\n * DnDManager.\n * */\nexport const TreeEditorErrorBoundary = (props: any) => {\n return props.children\n}\n","import SortableTree, {FullTree, NodeData} from '@nosferatu500/react-sortable-tree'\nimport {AddCircleIcon} from '@sanity/icons'\nimport {Box, Button, Card, Flex, Spinner, Stack, Text, Tooltip} from '@sanity/ui'\nimport * as React from 'react'\nimport {useCallback, useMemo} from 'react'\nimport {DndProvider} from 'react-dnd'\nimport {HTML5Backend} from 'react-dnd-html5-backend'\nimport {PatchEvent} from 'sanity'\nimport useAllItems from '../hooks/useAllItems'\nimport useLocalTree from '../hooks/useLocalTree'\nimport {TreeOperationsContext} from '../hooks/useTreeOperations'\nimport useTreeOperationsProvider from '../hooks/useTreeOperationsProvider'\nimport {Optional, StoredTreeItem, TreeDeskStructureProps} from '../types'\nimport getCommonTreeProps from '../utils/getCommonTreeProps'\nimport getTreeHeight from '../utils/getTreeHeight'\nimport {getUnaddedItems} from '../utils/treeData'\nimport {HandleMovedNodeData} from '../utils/treePatches'\nimport DocumentInNode from './DocumentInNode'\nimport {TreeEditorErrorBoundary} from './TreeEditorErrorBoundary'\n\n/**\n * The loaded tree users interact with\n */\nconst TreeEditor: React.FC<{\n tree: StoredTreeItem[]\n onChange: (patch: PatchEvent) => void\n options: Optional<TreeDeskStructureProps, 'documentId'>\n patchPrefix?: string\n}> = (props) => {\n const {status: allItemsStatus, allItems} = useAllItems(props.options)\n const unAddedItems = getUnaddedItems({tree: props.tree, allItems})\n\n const {localTree, handleVisibilityToggle} = useLocalTree({\n tree: props.tree,\n allItems\n })\n\n const operations = useTreeOperationsProvider({\n patchPrefix: props.patchPrefix,\n onChange: props.onChange,\n localTree\n })\n\n const [context, setContext] = React.useState<HTMLElement | null>(null)\n const [treeViewHeight, setTreeViewHeight] = React.useState<string>('')\n\n const updateTreeViewHeight = () => {\n const el = document.querySelector(`#${props.options.documentId} [data-known-size]`) as HTMLElement | null\n const rowHeight = Number(el?.dataset.knownSize || 51)\n setTreeViewHeight(getTreeHeight(localTree, rowHeight))\n }\n\n React.useEffect(() => {\n if (props.options.documentId) {\n setContext(document.getElementById(props.options.documentId))\n }\n }, [props.options.documentId])\n\n React.useEffect(() => {\n // Wait for dom to load before initial execution.\n setTimeout(updateTreeViewHeight)\n }, [])\n\n React.useEffect(() => {\n // Immediately update when changes are detected.\n updateTreeViewHeight()\n }, [props.options.documentId, localTree])\n\n const onMoveNode = useCallback(\n (data: NodeData & FullTree & any) =>\n operations.handleMovedNode(data as unknown as HandleMovedNodeData),\n [operations]\n )\n\n const treeProps = useMemo(\n () =>\n getCommonTreeProps({\n placeholder: {\n title: 'Add items from the list below'\n }\n }),\n []\n )\n\n const operationContext = useMemo(\n () => ({...operations, allItemsStatus}),\n [operations, allItemsStatus]\n )\n\n return (\n <TreeEditorErrorBoundary>\n {/*Use this Box-wrapper to get a context Element to prevent DndProvider to have to HTML% backend at the same time https://github.com/react-dnd/react-dnd/issues/186#issuecomment-978206387 */}\n <Box id={props.options.documentId}>\n {context ? (\n <DndProvider backend={HTML5Backend} options={{rootElement: context}}>\n <TreeOperationsContext.Provider value={operationContext}>\n <Stack space={4} paddingTop={4}>\n <Card\n style={{minHeight: treeViewHeight}}\n // Only include borderBottom if there's something to show in unadded items\n borderBottom={allItemsStatus !== 'success' || unAddedItems?.length > 0}\n >\n <SortableTree\n maxDepth={props.options.maxDepth}\n onChange={doNothingOnChange}\n onVisibilityToggle={handleVisibilityToggle}\n canDrop={canDrop}\n onMoveNode={onMoveNode}\n treeData={localTree}\n {...treeProps}\n />\n </Card>\n\n {allItemsStatus === 'success' && unAddedItems?.length > 0 && (\n <Stack space={1} paddingX={2} paddingTop={3}>\n <Stack space={2} paddingX={2} paddingBottom={3}>\n <Text size={2} as=\"h2\" weight=\"semibold\">\n Add more items\n </Text>\n <Text size={1} muted>\n Only published documents are shown.\n </Text>\n </Stack>\n {unAddedItems.map((item) => (\n <DocumentInNode\n key={item.publishedId || item.draftId}\n item={item}\n action={\n <Tooltip\n portal\n placement=\"left\"\n content={\n <Box padding={2}>\n <Text size={1}>Add to list</Text>\n </Box>\n }\n >\n <Button\n onClick={() => {\n operations.addItem(item)\n }}\n mode=\"bleed\"\n icon={AddCircleIcon}\n style={{cursor: 'pointer'}}\n />\n </Tooltip>\n }\n />\n ))}\n </Stack>\n )}\n {allItemsStatus === 'loading' && (\n <Flex padding={4} align={'center'} justify={'center'}>\n <Spinner size={3} muted />\n </Flex>\n )}\n {allItemsStatus === 'error' && (\n <Flex padding={4} align={'center'} justify={'center'}>\n <Text size={2} weight=\"semibold\">\n Something went wrong when loading documents\n </Text>\n </Flex>\n )}\n </Stack>\n </TreeOperationsContext.Provider>\n </DndProvider>\n ) : null}\n </Box>\n </TreeEditorErrorBoundary>\n )\n}\n\nfunction canDrop({nextPath, prevPath}: any & NodeData) {\n const insideItself =\n nextPath.length >= prevPath.length &&\n prevPath.every((pathIndex: any, index: string | number) => nextPath[index] === pathIndex)\n return !insideItself\n}\n\nconst doNothingOnChange = () => {\n // Do nothing. onMoveNode will do all the work\n}\n\nexport default TreeEditor\n","import * as React from 'react'\nimport {AllItems, LocalTreeItem, StoredTreeItem, VisibilityMap} from '../types'\nimport {dataToEditorTree} from '../utils/treeData'\n\n/**\n * Enhances tree data with information on:\n * - `expanded` - native property of react-sortable-tree to determine collapsing & expanding of a node's children\n * - `draftId` & `publishedId` - refer to LocalTreeItem's type annotations\n *\n * Doesn't modify the main tree or has side-effects on data.\n * Has the added benefit of being local to the user, so external changes won't affect local visibility.\n */\nexport default function useLocalTree({\n tree,\n allItems,\n}: {\n tree: StoredTreeItem[]\n allItems: AllItems\n}): {\n handleVisibilityToggle: (data: any) => void\n localTree: LocalTreeItem[]\n} {\n const [visibilityMap, setVisibilityMap] = React.useState<VisibilityMap>({})\n\n function handleVisibilityToggle(data: any) {\n setVisibilityMap({\n ...visibilityMap,\n [data.node._key]: data.expanded,\n })\n }\n\n return {\n localTree: dataToEditorTree({\n tree,\n allItems,\n visibilityMap,\n }),\n handleVisibilityToggle,\n }\n}\n","import {getVisibleNodeCount, TreeItem} from '@nosferatu500/react-sortable-tree'\n\nexport default function getTreeHeight(treeData: TreeItem[], rowHeight: number): string {\n const visibleNodeCount = getVisibleNodeCount({treeData})\n\n // prettier-ignore\n return `${50 + (rowHeight * visibleNodeCount)}px`\n}\n","import {ReactSortableTreeProps} from '@nosferatu500/react-sortable-tree/react-sortable-tree'\nimport React from 'react'\nimport NodeContentRenderer from '../components/NodeContentRenderer'\nimport PlaceholderDropzone from '../components/PlaceholderDropzone'\nimport TreeNodeRenderer from '../components/TreeNodeRenderer'\n// import {ROW_HEIGHT} from './getTreeHeight'\n\nexport default function getCommonTreeProps({\n placeholder\n}: {\n placeholder: {\n title: string\n subtitle?: string\n }\n}): Partial<ReactSortableTreeProps> {\n return {\n theme: {\n nodeContentRenderer: NodeContentRenderer,\n placeholderRenderer: (props: any) => <PlaceholderDropzone {...placeholder} {...props} />,\n treeNodeRenderer: TreeNodeRenderer,\n style: {height: '100%'},\n innerStyle: undefined,\n scaffoldBlockPxWidth: 44,\n slideRegionSize: 100\n // rowHeight: ROW_HEIGHT,\n }\n }\n}\n","// Adapted from @sanity/form-builder/src/sanity/utils/gradientPatchAdapter.ts\nimport {arrayToJSONMatchPath} from '@sanity/mutator'\n\ntype Patch = Record<string, any>\n\ntype GradientPatch = Record<string, any>\n\nexport function toGradient(patches: Patch[]): GradientPatch[] {\n return patches.map(toGradientPatch)\n}\n\nfunction toGradientPatch(patch: Patch): GradientPatch {\n const matchPath = arrayToJSONMatchPath(patch.path || [])\n if (patch.type === 'insert') {\n const {position, items} = patch\n return {\n insert: {\n [position]: matchPath,\n items: items,\n },\n }\n }\n\n if (patch.type === 'unset') {\n return {\n unset: [matchPath],\n }\n }\n\n if (!patch.type) {\n throw new Error(`Missing patch type in patch ${JSON.stringify(patch)}`)\n }\n if (matchPath) {\n return {\n [patch.type]: {\n [matchPath]: patch.value,\n },\n }\n }\n return {\n [patch.type]: patch.value,\n }\n}\n","import {Box, Flex, Spinner} from '@sanity/ui'\nimport * as React from 'react'\nimport {PatchEvent, useDocumentOperation, useEditState} from 'sanity'\nimport DeskWarning from './components/DeskWarning'\nimport TreeEditor from './components/TreeEditor'\nimport {DocumentOperations, StoredTreeItem, TreeDeskStructureProps} from './types'\nimport {toGradient} from './utils/gradientPatchAdapter'\nimport injectNodeTypeInPatches, {DEFAULT_DOC_TYPE} from './utils/injectNodeTypeInPatches'\n\ninterface ComponentProps {\n options: TreeDeskStructureProps\n}\n\nexport const DEFAULT_FIELD_KEY = 'tree'\n\nconst TreeDeskStructure: React.FC<ComponentProps> = (props) => {\n const treeDocType = props.options.documentType || DEFAULT_DOC_TYPE\n const treeFieldKey = props.options.fieldKeyInDocument || DEFAULT_FIELD_KEY\n const {published, draft, liveEdit} = useEditState(props.options.documentId, treeDocType)\n const {patch} = useDocumentOperation(props.options.documentId, treeDocType) as DocumentOperations\n\n const treeValue = (published?.[treeFieldKey] || []) as StoredTreeItem[]\n\n const handleChange = React.useCallback(\n (patchEvent: PatchEvent) => {\n if (!patch?.execute) {\n return\n }\n patch.execute(toGradient(injectNodeTypeInPatches(patchEvent.patches, treeDocType)))\n },\n [patch]\n )\n\n React.useEffect(() => {\n if (!published?._id && patch?.execute && !patch?.disabled) {\n // If no published document, create it\n patch.execute([{setIfMissing: {[treeFieldKey]: []}}])\n }\n }, [published?._id, patch])\n\n if (!liveEdit) {\n return (\n <DeskWarning\n title=\"Invalid configuration\"\n subtitle=\"The `documentType` passed to `createDeskHiearchy` isn't live editable. \\nTo continue using this plugin, add `liveEdit: true` to your custom schema type or unset `documentType` in your hierarchy configuration.\"\n />\n )\n }\n\n if (draft?._id) {\n return (\n <DeskWarning\n title=\"This hierarchy tree contains a draft\"\n subtitle=\"Click on the button below to publish your draft in order to continue editing the live\n published document.\"\n />\n )\n }\n\n if (!published?._id) {\n return (\n <Flex padding={5} align={'center'} justify={'center'} height={'fill'}>\n <Spinner width={4} muted />\n </Flex>\n )\n }\n\n return (\n <Box paddingBottom={5} paddingRight={2}>\n <TreeEditor\n options={props.options}\n tree={treeValue}\n onChange={handleChange}\n patchPrefix={treeFieldKey}\n />\n </Box>\n )\n}\n\nexport default TreeDeskStructure\n","const ERROR_MESSAGES = {\n invalidDocumentId: 'Please add a documentId to your tree',\n invalidDocumentType: 'Please add a valid documentType to createHierarchicalSchemas',\n invalidReferenceTo: \"Missing valid 'referenceTo' value\",\n}\n\nexport default function throwError(message: keyof typeof ERROR_MESSAGES, extraContext = ''): void {\n throw new Error(`[hierarchical input] ${ERROR_MESSAGES[message]} ${extraContext}`)\n}\n","import {AddIcon} from '@sanity/icons'\nimport * as React from 'react'\nimport type {ConfigContext} from 'sanity'\nimport {StructureBuilder} from 'sanity/desk'\n\nimport TreeDeskStructure from './TreeDeskStructure'\nimport {TreeDeskStructureProps} from './types'\nimport throwError from './utils/throwError'\n\nexport interface TreeProps extends TreeDeskStructureProps {\n /**\n * Visible title above the tree.\n * Also used as the label in the desk list item.\n */\n title: string\n\n /**\n * Optional icon for rendering the item in the desk structure.\n */\n icon?: any\n\n context?: ConfigContext | any\n S?: StructureBuilder | any\n /**\n * Restrict document types that can be created.\n */\n creatableTypes?: string[]\n}\n\nconst deskTreeValidator = (props: TreeProps): React.FC => {\n const {documentId, referenceTo} = props\n if (typeof documentId !== 'string' && !documentId) {\n throwError('invalidDocumentId')\n }\n if (!Array.isArray(referenceTo)) {\n throwError('invalidReferenceTo', `(documentId \"${documentId}\")`)\n }\n\n return (deskProps) => <TreeDeskStructure {...deskProps} options={props} />\n}\n\nexport default function createDeskHierarchy(props: TreeProps) {\n const {documentId, referenceTo, referenceOptions, context, S, creatableTypes} = props\n if (!S || !context) {\n throw new Error('Invalid configuration. S or context props are undefined. ' +\n 'These props are available as function parameters when configuring structure, and must be passed along to createDeskHierarchy. ' +\n 'Confer the plugin README for example usage.')\n }\n\n const {schema} = context\n\n const safelyCreatableTypes =\n creatableTypes && !creatableTypes.some((type) => referenceTo.indexOf(type))\n ? creatableTypes\n : referenceTo\n\n let mainList = (\n referenceTo?.length === 1\n ? S.documentTypeList(referenceTo[0]).schemaType(referenceTo[0])\n : S.documentList().filter('_type in $types').params({types: referenceTo})\n )\n .id(documentId)\n .menuItems(\n (safelyCreatableTypes || []).map((schemaType) =>\n S.menuItem()\n .intent({\n type: 'create',\n params: {type: schemaType}\n })\n .title(`Create ${schema.get(schemaType)?.title}`)\n .icon(schema.get(schemaType)?.icon || AddIcon)\n )\n )\n .canHandleIntent((intent: string, c: Record<string, unknown>) => {\n // Can edit itself\n if (intent === 'edit' && c.id === props.documentId) {\n return true\n }\n // Can create & edit referenced document types\n if (safelyCreatableTypes.includes(c.type as string)) {\n return true\n }\n return false\n })\n\n if (referenceOptions?.filter) {\n mainList = mainList.filter(referenceOptions.filter)\n }\n\n if (referenceOptions?.filterParams) {\n mainList = mainList.params(referenceOptions.filterParams)\n }\n\n return S.listItem()\n .id(documentId)\n .title(props.title || documentId)\n .icon(props.icon)\n .child(\n Object.assign(\n mainList.serialize(),\n {\n type: 'component',\n component: deskTreeValidator(props),\n options: props,\n __preserveInstance: true\n },\n props.title ? {title: props.title} : {}\n )\n )\n}\n","import * as React from 'react'\nimport {FormField, FormNodePresence, PatchEvent, Path} from 'sanity'\nimport TreeEditor from './components/TreeEditor'\nimport {StoredTreeItem, TreeFieldSchema} from './types'\nimport injectNodeTypeInPatches, {DEFAULT_DOC_TYPE} from './utils/injectNodeTypeInPatches'\n\nexport interface TreeInputComponentProps {\n type: TreeFieldSchema\n value: StoredTreeItem[]\n level: number\n onChange: (event: unknown) => void\n onFocus: (path: Path) => void\n onBlur: () => void\n focusPath: Path\n readOnly: boolean\n presence: FormNodePresence[]\n}\n\nconst TreeInputComponent: React.FC<TreeInputComponentProps> = (props) => {\n const documentType = props.type.options.documentType || DEFAULT_DOC_TYPE\n\n const onChange = React.useCallback(\n (patch: any) => {\n const patches = injectNodeTypeInPatches(patch?.patches, documentType)\n props.onChange(new PatchEvent(patches))\n },\n [props.onChange]\n )\n\n return (\n <FormField\n description={props.type.description} // Creates description from schema\n title={props.type.title} // Creates label from schema title\n __unstable_presence={props.presence} // Handles presence avatars\n >\n <TreeEditor options={props.type.options} tree={props.value || []} onChange={onChange} />\n </FormField>\n )\n}\n\nexport default TreeInputComponent\n","import * as React from 'react'\nimport {ArraySchemaType} from 'sanity'\nimport {DEFAULT_FIELD_KEY} from './TreeDeskStructure'\nimport TreeInputComponent from './TreeInputComponent'\nimport {TreeDeskStructureProps, TreeFieldSchema} from './types'\nimport {\n INTERNAL_NODE_ARRAY_TYPE,\n INTERNAL_NODE_TYPE,\n INTERNAL_NODE_VALUE_TYPE,\n getSchemaTypeName\n} from './utils/injectNodeTypeInPatches'\nimport throwError from './utils/throwError'\n\ntype SchemaOptions = Omit<TreeDeskStructureProps, 'documentId' | 'maxDepth'>\n\nfunction createHierarchicalNodeValueType({\n referenceTo,\n referenceOptions,\n documentType\n}: SchemaOptions) {\n return {\n // when used inside the field, name & type are overwritten by createHierarchicalNodeType\n name: documentType ? getSchemaTypeName(documentType, 'nodeValue') : INTERNAL_NODE_VALUE_TYPE,\n type: 'object',\n title: `Hierarchical node value (${documentType})`,\n\n fields: [\n {name: 'docType', type: 'string'},\n {\n name: 'reference',\n type: 'reference',\n weak: true,\n to: referenceTo.map((type) => ({type})),\n options: referenceOptions\n }\n ]\n }\n}\n\nfunction createHierarchicalNodeType(options: SchemaOptions) {\n return {\n // name & type are overwritten by createHierarchicalField\n name: options.documentType\n ? getSchemaTypeName(options.documentType, 'node')\n : INTERNAL_NODE_TYPE,\n title: `Hierarchical node (${options.documentType})`,\n type: 'object',\n fields: [\n {name: 'parent', type: 'string'},\n\n options.documentType\n ? {name: 'value', type: getSchemaTypeName(options.documentType, 'nodeValue')}\n : // If no documentType is defined, use an anonymized inline object to avoid\n // having to define another custom schema type through the plugin\n {\n ...createHierarchicalNodeValueType(options),\n name: 'value',\n type: 'object'\n }\n ]\n }\n}\n\nfunction createHierarchicalArrayType(options: SchemaOptions) {\n return {\n // name & type are overwritten by createHierarchicalField\n name: options.documentType\n ? getSchemaTypeName(options.documentType, 'array')\n : INTERNAL_NODE_ARRAY_TYPE,\n title: `Hierarchical array of nodes (${options.documentType})`,\n type: 'array',\n of: [\n options.documentType\n ? {type: getSchemaTypeName(options.documentType, 'node')}\n : createHierarchicalNodeType(options)\n ]\n }\n}\n\nexport function createHierarchicalField({name, title, options, ...rest}: TreeFieldSchema): Omit<\n ArraySchemaType,\n 'type' | 'jsonType' | 'of'\n> & {\n type: string\n inputComponent: React.FC<any>\n of?: any[]\n} {\n if (!Array.isArray(options?.referenceTo)) {\n throwError('invalidReferenceTo', `(field of name \"${name}\")`)\n }\n\n return {\n ...rest,\n name,\n title,\n inputComponent: TreeInputComponent,\n options,\n ...(options.documentType\n ? {type: getSchemaTypeName(options.documentType, 'array')}\n : {\n ...createHierarchicalArrayType(options),\n name\n })\n }\n}\n\nfunction createHierarchicalDocType(options: SchemaOptions) {\n return {\n name: options.documentType,\n title: 'Hierarchical tree',\n type: 'document',\n // The plugin needs to define a `schemaType` with liveEdit enabled so that\n // `useDocumentOperation` in TreeDeskStructure.tsx doesn't create drafts at every patch.\n liveEdit: true,\n fields: [\n createHierarchicalField({\n name: options.fieldKeyInDocument || DEFAULT_FIELD_KEY,\n title: 'Hierarchical Tree',\n options\n })\n ],\n preview: {\n select: {\n id: '_id',\n tree: 'tree'\n },\n prepare({id, tree}: {id: string; tree: unknown[]}): Record<string, string> {\n return {\n title: `Hierarchical documents (ID: ${id})`,\n subtitle: `${tree?.length || 0} document(s) in its list.`\n }\n }\n }\n }\n}\n\nexport default function createHierarchicalSchemas(options: SchemaOptions) {\n if (!Array.isArray(options.referenceTo) || options.referenceTo.length <= 0) {\n throwError('invalidReferenceTo')\n }\n if (!options.documentType) {\n throwError('invalidDocumentType')\n }\n\n return [\n createHierarchicalDocType(options),\n createHierarchicalArrayType(options),\n createHierarchicalNodeType(options),\n createHierarchicalNodeValueType(options)\n ]\n}\n","import {defineType} from 'sanity'\n\nexport default defineType({\n name: 'hierarchy.tree',\n title: 'Hierarchical tree',\n type: 'document',\n // The plugin needs to define a `schemaType` with liveEdit enabled so that\n // `useDocumentOperation` in TreeDeskStructure.tsx doesn't create drafts at every patch.\n liveEdit: true,\n // Let's avoid defining the actual hierarchical field, else GraphQL users won't be able to deploy schemas\n fields: [\n {\n name: 'unusedField',\n title: 'Unused field',\n type: 'string',\n hidden: true,\n },\n ],\n})\n","import {definePlugin} from 'sanity'\nimport {default as createDeskHierarchy, type TreeProps} from './createDeskHierarchy'\nimport {default as createHierarchicalSchemas} from './createHierarchicalSchemas'\nimport {default as hierarchyTree} from './schemas/hierarchy.tree'\nimport {default as flatDataToTree} from './utils/flatDataToTree'\n\nexport {createDeskHierarchy, createHierarchicalSchemas, flatDataToTree, hierarchyTree, TreeProps}\n\n/**\n * Usage in `sanity.config.ts` (or .js)\n *\n * ```ts\n * import {defineConfig} from 'sanity'\n * import {hierarchicalDocumentList} from '@sanity/hierarchical-document-list'\n *\n * export default defineConfig({\n * // ...\n * plugins: [hierarchicalDocumentList()],\n * })\n * ```\n */\n\nexport const hierarchicalDocumentList = definePlugin({\n name: 'sanity-plugin-hierarchical-document-list'\n})\n"],"names":["Object","defineProperty","exports","value","Patch","require","jsxRuntime","icons","ui","React","SortableTree","reactDnd","reactDndHtml5Backend","content","desk","mutator","_interopDefaultCompat","e","default","_interopNamespaceCompat","n","create","keys","forEach","k","d","getOwnPropertyDescriptor","get","enumerable","freeze","Patch__namespace","React__namespace","SortableTree__default","WrapCodeBlocks","_ref2","text","jsx","Fragment","children","split","map","part","i","DeskWarning","props","Container","padding","style","maxWidth","sizing","Card","border","radius","width","tone","jsxs","Stack","space","Heading","size","title","subtitle","line","Text","Box","marginTop","unprefixId","replace","isDraft","startsWith","updateItemInState","state","item","newState","publishedId","_id","allItemsReducer","action","type","itemId","published","draft","items","reduce","placeholder","TreeOperationsContext","createContext","addItem","duplicateItem","removeItem","handleMovedNode","moveItemDown","moveItemUp","allItemsStatus","useTreeOperations","useContext","TimeAgo","_ref4","time","timeAgo","useTimeAgo","toLowerCase","trim","PublishedStatus","_ref5","document","Tooltip","portal","_updatedAt","TextWithTone","dimmed","muted","PublishIcon","DraftStatus","_ref6","EditIcon","DocumentPreviewStatus","_ref7","Inline","DocumentInNode","reference","docType","draftId","routerPanesState","ChildLink","usePaneRouter","schema","useSchema","isActive","useMemo","some","pane","group","id","_ref","LinkComponent","forwardRef","linkProps","ref","childId","childParameters","Flex","gap","align","flex","__unstable_focusRing","as","Preview","layout","schemaType","status","_type","draftUpdatedAt","publishedUpdatedAt","placement","HelpCircleIcon","weight","NodeActions","_ref8","nodeProps","operations","node","OpenLink","restProps","IntentLink","IntentButton","intent","params","target","rel","isValid","MenuButton","button","Button","mode","icon","EllipsisVerticalIcon","_key","menu","Menu","MenuItem","RemoveCircleIcon","onClick","CopyIcon","disabled","MenuDivider","LaunchIcon","popover","flatDataToTree","data","getTreeFromFlatData","flatData","parent","getKey","getParentKey","rootKey","getSchemaTypeName","documentType","DEFAULT_DOC_TYPE","INTERNAL_NODE_TYPE","INTERNAL_NODE_VALUE_TYPE","INTERNAL_NODE_ARRAY_TYPE","injectNodeTypeInPatches","patchData","Array","isArray","child","newObject","key","includes","dataToEditorTree","_ref9","tree","allItems","visibilityMap","filter","refId","docPair","draftDoc","publishedDoc","enhancedItem","expanded","documentPairToNode","doc","randomKey","_weak","normalizeNodeForStorage","getAdjescentNodes","_ref13","flatTree","treeIndex","leadingNode","slice","reverse","find","path","followingNode","getRemoveItemPatch","_ref15","keyPath","getChildrenPaths","unset","keyPaths","Boolean","getMoveItemPatch","_ref16","localTree","direction","nextTreeIndex","nextFlatTree","_ref14","array","fromIndex","toIndex","newArray","inc","moveItemInArray","getFlatDataFromTree","treeData","getNodeKey","t","normalizedNode","nodeToInheritParent","nextParentNode","parentNode","insert","set","useTreeOperationsProvider","runPatches","patches","finalPatches","setIfMissing","patchEvent","PatchEvent","from","patchPrefix","patch","prefixPath","onChange","nextPath","getMovedNodePatch","getAddItemPatch","getDuplicateItemPatch","gray","hex","blue","__assign","assign","s","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__spreadArray","to","pack","ar","l","concat","memoize","fn","cache","arg","undefined","SuppressedError","reactPropsRegex","isPropValid","prop","test","charCodeAt","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","LAYER","abs","Math","String","fromCharCode","match","pattern","exec","replacement","indexof","search","position","indexOf","charat","index","substr","begin","end","strlen","sizeof","append","push","column","character","characters","root","siblings","return","copy","lift","prev","next","peek","caret","token","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","dealloc","parse","alloc","rule","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","comment","declaration","ruleset","post","j","x","y","z","prefix","hash","element","_","a","b","c","f","serialize","callback","output","stringify","join","prefixer","combine","unitlessKeys","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","process","env","REACT_APP_SC_ATTR","SC_ATTR","m","v","g","S","window","w","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","NODE_ENV","E","N","Set","P","r","console","error","delete","o","has","warn","add","message","C","I","theme","A","O","D","R","T","V","M","$","B","displayName","name","L","charAt","G","Symbol","for","Y","q","W","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","H","caller","callee","arity","U","$$typeof","compare","J","render","X","Z","K","getOwnPropertyNames","Q","getOwnPropertySymbols","ee","te","getPrototypeOf","ne","re","oe","se","ie","ae","ce","constructor","le","ue","pe","de","he","Error","fe","groupSizes","Uint32Array","tag","indexOfGroup","insertRules","insertRule","clearGroup","deleteRule","getGroup","getRule","ye","Map","ve","ge","Se","we","be","Ee","RegExp","Ne","registerName","Pe","textContent","parseInt","u","getTag","_e","querySelectorAll","getAttribute","removeChild","Ie","head","createElement","nextSibling","setAttribute","__webpack_nonce__","insertBefore","Ae","appendChild","createTextNode","sheet","styleSheets","ownerNode","cssRules","cssText","Oe","nodes","childNodes","De","splice","Re","Te","isServer","useCSSOMInjection","ke","options","gs","names","server","registerId","rehydrate","reconstructWithOptions","allocateGSInstance","hasNameForId","clearNames","clear","clearRules","clearTag","je","xe","Ve","replaceAll","Me","ze","plugins","endsWith","d.RULESET","d.prefixer","d.stringify","d.compile","namespace","d.serialize","collection","d.middleware","toString","Fe","$e","shouldForwardProp","styleSheet","stylis","Ge","qe","inject","getName","We","He","Ue","Je","isCss","h","Xe","styledComponentId","isReactComponent","Ze","Ke","Qe","staticRulesId","isStatic","componentId","baseHash","baseStyle","generateAndInjectStyles","et","ot","st","it","attrs","parentComponentId","componentStyle","foldedComponentIds","className","forwardedAs","warnTooManyClasses","_foldedDefaultProps","at","ct","lt","ut","withConfig","pt","dt","ht","createStyles","removeStyles","renderStyles","navigator","product","wt","Root","styled","div","NodeContentRenderer","canDrag","nodeTitle","Handle","Spinner","BtnElement","paddingX","paddingY","cursor","fontSize","DragHandleIcon","marginBottom","connectDragSource","dropEffect","isDraggedDescendant","draggedNode","isDescendant","isLandingPadActive","didDrop","isDragging","toggleChildrenVisibility","left","top","transform","ChevronDownIcon","color","ChevronRightIcon","connectDragPreview","canDrop","PlaceholderDropzone","isOver","isInvalid","borderStyle","textAlign","ScaffoldStyles","JSON","useRef","current","Children","memo","TreeNodeRendererScaffold","lowerSiblingCounts","scaffoldBlockPxWidth","listIndex","swapDepth","swapFrom","swapLength","scaffold","lowerSiblingCount","highlightLineClass","tabIndex","TreeNodeRenderer","connectDropTarget","scaffoldBlockCount","paddingLeft","cloneElement","TreeEditorErrorBoundary","TreeEditor","client","useClient","apiVersion","setStatus","useState","dispatch","useReducer","handleListener","event","result","documentId","handleFirstLoad","useEffect","_ref3","referenceTo","referenceOptions","filterParts","filterParams","docTypes","getDeskFilter","query","fetch","then","catch","listener","listen","subscribe","unsubscribe","useAllItems","unAddedItems","entries","_ref10","treeItem","_ref11","documentPair","handleVisibilityToggle","_ref12","setVisibilityMap","useLocalTree","context","setContext","treeViewHeight","setTreeViewHeight","updateTreeViewHeight","el","querySelector","rowHeight","Number","dataset","knownSize","getVisibleNodeCount","getTreeHeight","getElementById","setTimeout","onMoveNode","useCallback","treeProps","_ref17","nodeContentRenderer","placeholderRenderer","treeNodeRenderer","height","innerStyle","slideRegionSize","getCommonTreeProps","operationContext","DndProvider","backend","HTML5Backend","rootElement","Provider","paddingTop","minHeight","borderBottom","maxDepth","doNothingOnChange","onVisibilityToggle","paddingBottom","AddCircleIcon","justify","_ref18","prevPath","every","pathIndex","toGradientPatch","matchPath","arrayToJSONMatchPath","DEFAULT_FIELD_KEY","TreeDeskStructure","treeDocType","treeFieldKey","fieldKeyInDocument","liveEdit","useEditState","useDocumentOperation","treeValue","handleChange","execute","paddingRight","ERROR_MESSAGES","invalidDocumentId","invalidDocumentType","invalidReferenceTo","throwError","extraContext","deskTreeValidator","deskProps","TreeInputComponent","FormField","description","__unstable_presence","presence","createHierarchicalNodeValueType","_ref19","fields","weak","createHierarchicalNodeType","createHierarchicalArrayType","of","createHierarchicalField","rest","_ref20","inputComponent","createHierarchicalDocType","preview","select","prepare","_ref21","hierarchy_tree","defineType","hidden","hierarchicalDocumentList","definePlugin","createDeskHierarchy","creatableTypes","safelyCreatableTypes","mainList","documentTypeList","documentList","types","menuItems","menuItem","AddIcon","canHandleIntent","listItem","component","__preserveInstance","createHierarchicalSchemas","hierarchyTree"],"mappings":"AAKA,aAAAA,OAAAC,eAAAC,QAAA,aAAA,CAAAC,OAAA,IAAA,IAAAC,EAAAC,QAAA,UAAAC,EAAAD,QAAA,qBAAAE,EAAAF,QAAA,iBAAAG,EAAAH,QAAA,cAAAI,EAAAJ,QAAA,SAAAK,EAAAL,QAAA,qCAAAM,EAAAN,QAAA,aAAAO,EAAAP,QAAA,2BAAAQ,EAAAR,QAAA,wBAAAS,EAAAT,QAAA,eAAAU,EAAAV,QAAA,mBAAA,SAAAW,EAAAC,GAAA,OAAAA,GAAA,iBAAAA,GAAA,YAAAA,EAAAA,EAAA,CAAAC,QAAAD,EAAA,CAAA,SAAAE,EAAAF,GAAA,GAAAA,GAAA,iBAAAA,GAAA,YAAAA,EAAA,OAAAA,EAAA,IAAAG,EAAApB,OAAAqB,OAAA,MAAA,OAAAJ,GAAAjB,OAAAsB,KAAAL,GAAAM,SAAA,SAAAC,GAAA,GAAA,YAAAA,EAAA,CAAA,IAAAC,EAAAzB,OAAA0B,yBAAAT,EAAAO,GAAAxB,OAAAC,eAAAmB,EAAAI,EAAAC,EAAAE,IAAAF,EAAA,CAAAG,YAAA,EAAAD,IAAA,WAAA,OAAAV,EAAAO,EAAA,GAAA,CAAA,IAAAJ,EAAAF,QAAAD,EAAAjB,OAAA6B,OAAAT,EAAA,CAAA,IAAAU,EAAAX,EAAAf,GAAA2B,EAAAZ,EAAAV,GAAAuB,EAAAhB,EAAAN,GAAA,MAAMuB,EAA2CC,IAAY,IAAXC,KAACA,GAAUD,EAEzD,OAAAE,EAAAA,IAAAC,EAAAA,SAAA,CACGC,WAAKC,MAAM,KAAKC,KAAI,CAACC,EAAMC,IACzBN,EAAAA,IAAA3B,EAAM4B,SAAN,CAAwBC,SAAAI,EAAI,GAAM,EAAID,EAAOL,EAAAA,IAAC,QAAME,SAAKG,KAArCC,MAEzB,EAIEC,EAKDC,GAEDR,EAAAA,IAACS,EAAAA,UAAU,CAAAC,QAAS,EAAGC,MAAO,CAACC,SAAU,SAAUC,OAAQ,UACzDX,SAACF,EAAAA,IAAAc,EAAAA,KAAA,CAAKJ,QAAS,EAAGK,QAAM,EAACC,OAAQ,EAAGC,MAAO,EAAGC,KAAK,UACjDhB,SAAAiB,EAAAA,KAACC,EAAAA,MAAM,CAAAC,MAAO,EACZnB,SAAA,CAAAF,EAAAA,IAACsB,EAAQA,QAAA,CAAAC,KAAM,EAAIrB,SAAAM,EAAMgB,QACxBhB,EAAMiB,UACLjB,EAAMiB,SAAStB,MAAM,OAAOC,KAAKsB,GAC9B1B,EAAAA,IAAA2B,EAAAA,KAAA,CAAKJ,KAAM,EACVrB,SAAAF,EAAAA,IAACH,GAAeE,KAAM2B,QAG3BlB,EAAMN,UAAYF,EAAAA,IAAC4B,OAAIC,UAAW,EAAI3B,WAAMA,kBChCvC,SAAA4B,IACP,8DADwB,IACpBC,QAAQ,UAAW,GAChC,CAEgB,SAAAC,IACP,8DADqB,IACjBC,WAAW,UACxB,CCyBA,SAASC,EAAkBC,EAAiBC,GACpC,MAAAC,EAAW,IAAIF,GACfG,EAAcR,EAAWM,EAAKG,KAK7B,OAJPF,EAASC,GAAe,IAClBD,EAASC,IAAgB,CAAC,EAC9B,CAACN,EAAQI,EAAKG,KAAO,QAAU,aAAcH,GAExCC,CACT,CAEA,SAASG,EAAgBL,EAAiBM,GACxC,GAAoB,kBAAhBA,EAAOC,MAA4BD,EAAOL,MAAMG,IAC3C,OAAAL,EAAkBC,EAAOM,EAAOL,MAGrC,GAAgB,eAAhBK,EAAOC,KAAuB,CAC1B,MAAAJ,EAAcR,EAAWW,EAAOE,QAC/B,MAAA,IACFR,EACHG,CAACA,GAAcN,EAAQS,EAAOE,QAE1B,CACEC,UAAWT,EAAMG,IAAcM,WAEjC,CACEC,MAAOV,EAAMG,IAAcO,OAEnC,CAGE,MAAgB,mBAAhBJ,EAAOC,KACFD,EAAOK,MAAMC,OAAOb,EAAmB,CAAA,GAEzCC,CACT,CCzDA,SAASa,IAET,CAEa,MAAAC,EAAwB5E,EAAM6E,cAA4B,CACrEC,QAASH,EACTI,cAAeJ,EACfK,WAAYL,EACZM,gBAAiBN,EACjBO,aAAcP,EACdQ,WAAYR,EACZS,eAAgB,YAGlB,SAAwBC,IACf,OAAArF,EAAMsF,WAAWV,EAC1B,CClBgB,SAAAW,EAAAC,GAAuC,IAA/BC,KAACA,GAA8BD,EAC/C,MAAAE,EAAUC,aAAWF,GAGzB,OAAA3C,EAAAA,KAAC,OAAK,CAAAK,MAAOuC,EACV7D,SAAA,CAAA6D,EACAA,EAAQE,cAAcC,OAAOjC,WAAW,YAAc,GAAK,SAGlE,CAEA,MAAMkC,EAAkBC,IAAA,IAACC,SAACA,GACxBD,EAAA,OAAApE,EAAAA,IAACsE,EAAAA,QAAA,CACCC,QAAM,EACN9F,QACGuB,EAAAA,IAAA4B,MAAA,CAAIlB,QAAS,EACZR,eAACyB,EAAAA,KAAK,CAAAJ,KAAM,EACTrB,SAAAmE,EACGlD,EAAAA,KAAAlB,EAAAA,SAAA,CAAAC,SAAA,CAAA,aAAWmE,EAASG,YAAcxE,MAAC4D,EAAQ,CAAAE,KAAMO,EAASG,gBAE5DxE,EAAAA,IAAAC,WAAA,CAAEC,SAAa,sBAMvBA,SAACF,EAAAA,IAAAyE,eAAA,CAAavD,KAAK,WAAWwD,QAASL,EAAUM,OAAQN,EAAU9C,KAAM,EACvErB,SAAAF,MAAC4E,EAAAA,mBAEL,EAGIC,EAAcC,IAAA,IAACT,SAACA,GACpBS,EAAA,OAAA9E,EAAAA,IAACsE,EAAAA,QAAA,CACCC,QAAM,EACN9F,QACGuB,EAAAA,IAAA4B,MAAA,CAAIlB,QAAS,EACZR,eAACyB,EAAAA,KAAK,CAAAJ,KAAM,EACTrB,SAAAmE,EACGlD,EAAAA,KAAAlB,EAAAA,SAAA,CAAAC,SAAA,CAAA,UAAQmE,GAAUG,YAAcxE,MAAC4D,EAAQ,CAAAE,KAAMO,GAAUG,gBAE3DxE,EAAAA,IAAAC,WAAA,CAAEC,SAAoB,6BAM9BA,SAACF,EAAAA,IAAAyE,eAAA,CAAavD,KAAK,UAAUwD,QAASL,EAAUM,OAAQN,EAAU9C,KAAM,EACtErB,SAAAF,MAAC+E,EAAAA,gBAEL,EAIIC,EAAgDC,IAAwB,IAAvBpC,MAACA,EAAAD,UAAOA,GAAeqC,EAE1E,OAAA9D,EAAAA,KAAC+D,EAAOA,OAAA,CAAA7D,MAAO,EACbnB,SAAA,CAACF,EAAAA,IAAAmE,EAAA,CAAgBE,SAAUzB,IAC3B5C,EAAAA,IAAC6E,EAAY,CAAAR,SAAUxB,MACzB,ECpDEsC,EAGA3E,IACE,MAACzC,OAAOqH,UAACA,EAAWC,QAAAA,GAAW,CAAI,EAAAC,QAAAA,EAAAhD,YAASA,GAAe9B,EAAM4B,MACjEmD,iBAACA,EAAAC,UAAkBA,GAAaC,mBAChChC,eAACA,GAAkBC,IACnBgC,EAASC,EAAAA,YACTC,EAAWvH,EAAMwH,SAAQ,IAEtBN,EAAiBO,MAAMC,GAC5BA,EAAKD,MAAME,GAAUA,EAAMC,KAAOb,GAAWc,UAE9C,CAACX,IAEE7C,EAAOrE,EAAMwH,SAAQ,IAClBR,EAAUK,EAAOnG,IAAI8F,QAAW,GACtC,CAACA,IAEEc,EAAgB9H,EAAMwH,SAC1B,IACExH,EAAM+H,YAAW,CAACC,EAAgBC,IAChCtG,EAAAA,IAACwF,EAAA,IACKa,EACJE,QAASnB,GAAWc,KACpBI,MACAE,gBAAiB,CACf9D,KAAM2C,QAId,CAACG,EAAWJ,GAAWc,OAGrB,OAACd,GAAWc,KAKd/E,OAACsF,EAAAA,KAAK,CAAAC,IAAK,EAAGC,MAAM,SAAShG,MAAO,CAACiG,KAAM,GAExC1G,SAAA,CAAAoC,GAAkC,YAAnBmB,EAEdzD,EAAAA,IAACc,EAAAA,KAAA,CACC+F,sBAAoB,EACpBC,GAAIX,EACJjF,KAAM0E,EAAW,UAAY,UAC7BlF,QAAS,EACTM,OAAQ,EACR4F,KAAM,EACN,UAAQ,IACR,UAAQ,WAER1G,SAAAF,EAAAA,IAAC+G,EAAAA,QAAA,CACCC,OAAO,UACPC,WAAYvE,EACZ3E,MAAO,CAACmI,KAAMZ,GAAWF,GAAWc,MACpCgB,OACElH,EAAAA,IAACgF,EAAA,CACCnC,MACEyC,EACK,CACC/C,IAAK+C,EACL6B,MAAO9B,EACPb,WAAYhE,EAAM4B,KAAKgF,qBAEzB,EAENxE,UACE,CACEL,IAAK6C,GAAWc,KAChBiB,MAAO9B,EACPb,WAAYhE,EAAM4B,KAAKiF,0BAQnCrH,EAAAA,IAACc,EAAKA,KAAA,CAAAJ,QAAS,EAAGM,OAAQ,EAAG4F,KAAM,EACjC1G,SAAAiB,EAAAA,KAACsF,EAAAA,KAAK,CAAAE,MAAM,SACVzG,SAAA,CAACF,EAAAA,IAAA2B,EAAAA,KAAA,CAAKJ,KAAM,EAAGoD,OAAK,EAAChE,MAAO,CAACiG,KAAM,GAAI1G,SAEvC,qBACAF,EAAAA,IAACsE,EAAAA,QAAA,CACCgD,UAAU,OACV/C,QAAM,EACN9F,QACGuB,EAAAA,IAAA4B,EAAAA,IAAA,CAAIlB,QAAS,EACZR,gBAACuG,EAAKA,KAAA,CAAAE,MAAM,aAAaD,IAAK,EAC5BxG,SAAA,CAAAF,EAAAA,IAACyE,gBAAavD,KAAK,UAAUK,KAAM,EACjCrB,SAAAF,EAAAA,IAACuH,uBAEHpG,EAAAA,KAACC,EAAAA,MAAM,CAAAC,MAAO,EACZnB,SAAA,CAAAF,EAAAA,IAAC2B,QAAKmF,GAAG,KAAKvF,KAAM,EAAGiG,OAAO,WAAWtH,SAEzC,+BAIAiB,EAAAA,KAACQ,EAAAA,KAAK,CAAAJ,KAAM,EAAGrB,SAAA,CAAA,OAAKkF,GAAWc,gBAMvChG,SAAAF,EAAAA,IAACyE,gBAAavD,KAAK,UAAUK,KAAM,EACjCrB,SAAAF,EAAAA,IAACuH,kBAAe,YAMzB/G,EAAMiC,UA/EF,IAgFP,ECrHEgF,EAAgDC,IAAiB,IAAhBC,UAACA,GAAeD,EACrE,MAAME,EAAalE,KACbmE,KAACA,GAAQF,GACTvC,UAACA,EAAWC,QAAAA,GAAWwC,GAAM9J,OAAS,CAAC,EAGvC+J,EAAWzJ,EAAMwH,SACrB,IAEExH,EAAM+H,YAAW,SACf2B,EAEA7B,GAGE,OAAAlG,EAAAA,IAACgI,EAAAC,aAAA,IACKF,EACJG,OAAO,OACPC,OAAQ,CAAClC,GAAIb,GAAWc,KAAMxD,KAAM2C,GACpC+C,OAAO,SACPC,IAAI,uBAGT,KACH,CAACjD,GAAWc,KAAMb,IAGdiD,IAAYT,EAAKvF,YAErB,OAAAtC,EAAAA,IAACuI,EAAAA,WAAA,CACCC,aAASC,EAAOA,OAAA,CAAA/H,QAAS,EAAGgI,KAAK,QAAQC,KAAMC,EAAAA,uBAC/C3C,GAAI,yBAAyB4B,EAAKgB,kBAClCC,YACGC,OACC,CAAA7I,SAAA,CAAAF,EAAAA,IAACgJ,EAAAA,SAAA,CACCjJ,KAAK,mBACLmB,KAAK,WACLyH,KAAMM,EAAAA,iBACNC,QAASA,IAAMtB,EAAWvE,WAAWsE,KAEvC3H,EAAAA,IAACgJ,EAAAA,SAAA,CACCjJ,KAAK,iBACL4I,KAAMQ,EAAAA,SACNC,UAAWd,EACXY,QAASA,IAAMtB,EAAWxE,cAAcuE,WAczC0B,EAAYA,YAAA,IACbrJ,EAAAA,IAACgJ,EAAAA,SAAA,CACCjJ,KAAK,kBACL4I,KAAMW,EAAAA,WACNF,UAAWd,EACXxB,GAAIgB,EACJ,UAAQ,SAIdyB,QAAS,CAAChF,QAAQ,EAAMrD,KAAM,UAAWoG,UAAW,UACtD,ECzEJ,SAAwBkC,EAAeC,GACrC,OAAOC,sBAAoB,CACzBC,SAAUF,EAAKrJ,KAAKgC,IAAU,IACzBA,EAEHwH,OAAQxH,EAAKwH,QAAU,SAEzBC,OAASzH,GAASA,EAAKyG,KACvBiB,aAAe1H,GAASA,EAAKwH,OAE7BG,QAAS,MAEb,CCnBgB,SAAAC,EACdC,EACAvH,GAEA,OAAQA,GACN,IAAK,WAQL,QACS,OAAAuH,EAPT,IAAK,QACH,MAAO,GAAGA,UACZ,IAAK,OACH,MAAO,GAAGA,SACZ,IAAK,YACH,MAAO,GAAGA,cAIhB,CAKO,MAAMC,EAAmB,iBACnBC,EAAqBH,EAAkBE,EAAkB,QACzDE,EAA2BJ,EAAkBE,EAAkB,aAC/DG,EAA2BL,EAAkBE,EAAkB,SAMpD,SAAAI,EAAwBC,EAAgBN,GAC1D,OAAAO,MAAMC,QAAQF,GACTA,EAAUnK,KAAKsK,GAAUJ,EAAwBI,EAAOT,KAExC,iBAAdM,GAAwC,OAAdA,EAC5B3M,OAAOsB,KAAKqL,GAAWxH,QAAO,CAAC4H,EAAWC,KACzC,MAAA7M,EAAQwM,EAAUK,GAGtB,MAAQ,UAARA,GACiB,iBAAV7M,GACP,CAACoM,EAAoBC,GAA0BS,SAAS9M,GAEjD,IACF4M,EACHC,CAACA,GAAMZ,EACLC,EACAlM,IAAUoM,EAAqB,OAAS,cAKvC,IACFQ,EACHC,CAACA,GAAMN,EAAwBvM,EAAOkM,GACxC,GACC,IAEEM,CACT,CC1CO,MAAMO,EAAmBC,IAQT,IARUC,KAC/BA,EAAAC,SACAA,EAAAC,cACAA,GAKqBH,EA0BrB,OAAOvB,EAzBgBwB,EACpBG,QAAQ/I,GAASA,GAAMrE,OAAOqH,WAAWc,OACzC9F,KAAKgC,IACE,MAAAgJ,EAAQhJ,EAAKrE,OAAOqH,WAAWc,KAC/BmF,EAAUD,EAAQH,EAASG,QAAS,EACpCE,EAAWD,GAASxI,MACpB0I,EAAeF,GAASzI,UAExB4I,EAA8B,IAC/BpJ,EACHqJ,UAAuC,IAA7BP,EAAc9I,EAAKyG,MAC7BvD,QAASgG,GAAU/I,IACnBD,YAAaiJ,GAAchJ,IAC3B6E,eAAgBkE,GAAU9G,WAC1B6C,mBAAoBkE,GAAc/G,YAG7B,MAAA,IACFgH,EACHhK,MAAQmG,GACL3H,MAAAmF,EAAA,CAAe/C,KAAMoJ,EAAc/I,OAAQzC,EAAAA,IAACyH,EAAY,CAAAE,gBAE3DzH,SAAU,GACZ,IAEgC,EAGhCwL,EAAsBC,IACtB,GAACA,GAAK/I,WAAWL,IAId,MAAA,CACLsG,KAAM+C,YAAU,IAChBzE,MAAOgD,EACP7E,QAASqG,EAAI9I,OAAON,IACpB6E,eAAgBuE,EAAI9I,OAAO2B,WAC3BlC,YAAaqJ,EAAI/I,UAAUL,IAC3B8E,mBAAoBsE,EAAI/I,WAAW4B,WACnCzG,MAAO,CACLoJ,MAAOiD,EACPhF,UAAW,CACTc,KAAMyF,EAAI/I,UAAUL,IACpB4E,MAAO,YACP0E,OAAO,GAETxG,QAASsG,EAAI/I,UAAUuE,OAE3B,EAoCK,SAAS2E,EAAwB1J,GAC/B,MAAA,CACLyG,KAAMzG,EAAKyG,KACX1B,MAAO/E,EAAK+E,OAASgD,EACrBpM,MAAOqE,EAAKrE,MACZ6L,OAAQxH,EAAKwH,OAEjB,CCjHA,SAAwBmC,EAAkBC,GAWxC,IAXwCC,SACxCA,EAAApE,KACAA,EAAAqE,UACAA,GAQAF,EASO,MAAA,CACLG,YATkBF,EACjBG,MAAM,EAAGF,GACTG,UAEAC,MAAMlK,IAAUA,EAAKmK,KAAK1B,SAAShD,EAAKgB,QAMzC2D,cAJoBP,EAASG,MAAMF,EAAY,GAAGI,MAAMlK,IAAUA,EAAKmK,KAAK1B,SAAShD,EAAKgB,QAM9F,CCcgB,SAAA4D,EAAAC,GAA+D,IAA5C7E,KAACA,GAA2C6E,EAC7E,MAAMC,EAAU,CAAC9D,KAAMhB,EAAKgB,MACtB3I,EAAW0M,EAAiB/E,GAE3B,MAAA,CAEL7J,EAAM6O,MAAM,CAACF,OAGVzM,EAASE,KAAKmM,GAASvO,EAAM6O,MAAM,CAAC,CAAChE,KAAM0D,OAElD,CAgDA,SAASK,EAAiB/E,GACxB,OAAK2C,MAAMC,QAAQ5C,EAAK3H,UAIjB2H,EAAK3H,SACT6C,QACC,CAAC+J,EAAUpC,IAAU,IAAIoC,EAAUpC,EAAM7B,QAAS+D,EAAiBlC,KACnE,IAEDS,OAAO4B,SARD,EASX,CAEO,SAASC,EAAiBC,GAQnB,IAPZtF,WAAWE,KAACA,EAAAqE,UAAMA,GAASgB,UAC3BA,EAAAC,UACAA,EAAY,MAKAF,EACZ,MAAMN,EAAU,CAAC9D,KAAMhB,EAAKgB,MAEtBuE,EAAgBlB,GAA2B,OAAdiB,GAAqB,EAAK,GAMvDE,ECpIR,SAA4DC,GAQ7C,IAR6CC,MAC1DA,EAAAC,UACAA,EAAAC,QACAA,GAKaH,EACb,GAAIE,IAAcC,EACT,OAAAF,EAGH,MAAAG,EAAW,IAAIH,GAEfnF,EAASsF,EAASF,GAClBG,EAAMF,EAAUD,GAAiB,EAAA,EAEvC,IAAA,IAASlN,EAAIkN,EAAWlN,IAAMmN,EAASnN,GAAKqN,EAC1CD,EAASpN,GAAKoN,EAASpN,EAAIqN,GAKtB,OAFPD,EAASD,GAAWrF,EAEbsF,CACT,CD2GuBE,CAA8B,CACjDL,MALeM,EAAAA,oBAAoB,CACnCC,SAAUZ,EACVa,WAAaC,GAAMA,EAAEnG,KAAKgB,OAI1B2E,UAAWtB,EACXuB,QAASL,KAELjB,YAACA,EAAAK,cAAaA,GAAiBT,EAAkB,CACrDE,SAAUoB,EACVxF,OACAqE,UAAWkB,IAGPa,EAAiBnC,EAAwBjE,GAGzCqG,EAAoC,OAAdf,EAAqBX,EAAgBL,EAC3DgC,EAAiBD,GAAqBE,WAErC,MAAA,CAGLpQ,EAAM6O,MAAM,CAACF,IAGbR,GAAatE,MAAMgB,KAEf7K,EAAMqQ,OAAO,CAACJ,GAAiB,QAAS,CAAC,CAACpF,KAAMsD,EAAYtE,KAAKgB,QAEjE7K,EAAMqQ,OAAO,CAACJ,GAAiB,SAAU,CACvCzB,GAAe3E,MAAMgB,KAAO,CAACA,KAAM2D,EAAc3E,KAAKgB,MAAQuE,IAIpEe,EAEInQ,EAAMsQ,IAAIH,EAAetF,KAAM,CAAC8D,EAAS,WAEzC3O,EAAM6O,MAAM,CAACF,EAAS,WAE9B,CE9JA,SAAwB4B,EAA0B/N,GAY1C,MAAA0M,UAACA,GAAa1M,EAEpB,SAASgO,EAAWC,GAClB,MAAMC,EAAe,CAEnBC,EAAAA,aAAa,OACTF,GAAW,IAEb,IAAAG,EAAaC,EAAAA,WAAWC,KAAKJ,GAC7BlO,EAAMuO,cACRH,EAAaC,EAAWA,WAAAC,KACtBJ,EAAatO,KAAK4O,GAAUC,aAAWD,EAAOxO,EAAMuO,iBAGxDvO,EAAM0O,SAASN,EAAU,CAuCpB,MAAA,CACLtL,gBArCF,SAAyBmG,GACZ+E,EFcR,SAA2B/E,GAC1B,MAAA0E,eAACA,GAAkB1E,EACnBkD,EAAU,CAAC9D,KAAMY,EAAK5B,KAAKgB,MAIjC,IAAK2B,MAAMC,QAAQhB,EAAK0F,UACtB,OAAO1C,EAAmB,CAAC5E,KAAM4B,EAAK5B,OAGxC,MAAMwF,EAAeQ,EAAAA,oBAAoB,CACvCC,SAAUrE,EAAKqE,SACfC,WAAaC,GAAMA,EAAEnG,KAAKgB,OAEtBoF,EAAiBnC,EAAwBrC,EAAK5B,OAE9CsE,YAACA,EAAAK,cAAaA,GAAiBT,EAAkB,CACrDE,SAAUoB,EACVxF,KAAM4B,EAAK5B,KACXqE,UAAWzC,EAAK2D,gBAGX,MAAA,CAGLpP,EAAM6O,MAAM,CAACF,IAKbR,GAAatE,MAAMgB,KAEf7K,EAAMqQ,OAAO,CAACJ,GAAiB,QAAS,CAAC,CAACpF,KAAMsD,EAAYtE,KAAKgB,QAGjE7K,EAAMqQ,OAAO,CAACJ,GAAiB,SAAU,CAACzB,GAAe3E,MAAMgB,KAAO,CAACA,KAAM2D,EAAc3E,KAAKgB,MAAQY,EAAK2D,gBAGjHe,EAEInQ,EAAMsQ,IAAIH,EAAetF,KAAM,CAAC8D,EAAS,WAEzC3O,EAAM6O,MAAM,CAACF,EAAS,WAE9B,CE1DeyC,CAAkB3F,GAAK,EAqClCtG,QAlCF,SAAiBf,GACJoM,EFzBR,SAAyBpM,GACxB,MAAA6L,EAAiBnC,EAAwB1J,GAExC,MAAA,CAELpE,EAAMqQ,OAAO,CAACJ,GAAiB,QAAS,EAAC,IAE7C,CEkBeoB,CAAgBjN,GAAK,EAkChCiB,WA3BF,SAAoBsE,GACP6G,EAAA/B,EAAmB9E,GAAU,EA2BxCnE,WAxBF,SAAoBmE,GAClB6G,EACExB,EAAiB,CACfrF,YACAuF,YACAC,UAAW,OAEf,EAkBA5J,aAfF,SAAsBoE,GACpB6G,EACExB,EAAiB,CACfrF,YACAuF,YACAC,UAAW,SAEf,EASA/J,cAlCF,SAAuBuE,GACV6G,EFpBR,SAA+B7G,GACpC,MAIMsG,EAAiBnC,EAJP,IACXnE,EAAUE,KACbgB,KAAM+C,YAAU,MAIX,MAAA,CAEL5N,EAAMqQ,OAAO,CAACJ,GAAiB,SAAU,CAAC,CAACpF,KAAMlB,EAAUE,KAAKgB,QAEpE,CESeyG,CAAsB3H,GAAU,EAmC/C,CC5CK,MAMF4H,EASI,CAEHC,IAAK,WAXND,EAiBI,CAEHC,IAAK,WA0BNC,EAiBI,CAEHD,IAAK,WChFF,IAAIE,EAAW,WAQpB,OAPAA,EAAW9R,OAAO+R,QAAU,SAAkB3B,GAC1C,IAAK,IAAI4B,EAAGtP,EAAI,EAAGtB,EAAI6Q,UAAUC,OAAQxP,EAAItB,EAAGsB,IAE5C,IAAK,IAAIyP,KADTH,EAAIC,UAAUvP,GACO1C,OAAOoS,UAAUC,eAAeC,KAAKN,EAAGG,KAAI/B,EAAE+B,GAAKH,EAAEG,IAE9E,OAAO/B,CACb,EACS0B,EAASS,MAAMC,KAAMP,UAC9B,EA6KO,SAASQ,EAAcC,EAAIxB,EAAMyB,GACtC,GAAIA,GAA6B,IAArBV,UAAUC,OAAc,IAAK,IAA4BU,EAAxBlQ,EAAI,EAAGmQ,EAAI3B,EAAKgB,OAAYxP,EAAImQ,EAAGnQ,KACxEkQ,GAAQlQ,KAAKwO,IACR0B,IAAIA,EAAKhG,MAAMwF,UAAU5D,MAAM8D,KAAKpB,EAAM,EAAGxO,IAClDkQ,EAAGlQ,GAAKwO,EAAKxO,IAGrB,OAAOgQ,EAAGI,OAAOF,GAAMhG,MAAMwF,UAAU5D,MAAM8D,KAAKpB,GACpD,CC7NA,SAAS6B,EAAQC,GACf,IAAIC,EAAQjT,OAAOqB,OAAO,MAC1B,OAAO,SAAU6R,GAEf,YADmBC,IAAfF,EAAMC,KAAoBD,EAAMC,GAAOF,EAAGE,IACvCD,EAAMC,EACd,CACH,CDqTkD,mBAApBE,iBAAiCA,gBEzT/D,IAAIC,EAAkB,0+HAElBC,EAA6BP,GAAQ,SAAUQ,GACjD,OAAOF,EAAgBG,KAAKD,IAAgC,MAAvBA,EAAKE,WAAW,IAE3B,MAAvBF,EAAKE,WAAW,IAEhBF,EAAKE,WAAW,GAAK,EAC1B,ICVWC,GAAK,OACLC,GAAM,QACNC,GAAS,WAETC,GAAU,OACVC,GAAU,OACVC,GAAc,OAIdC,GAAS,UAMTC,GAAY,aAIZC,GAAQ,SChBRC,GAAMC,KAAKD,IAMXjD,GAAOmD,OAAOC,aAMdvC,GAAS/R,OAAO+R,OAepB,SAASzL,GAAMnG,GACrB,OAAOA,EAAMmG,MACd,CAOO,SAASiO,GAAOpU,EAAOqU,GAC7B,OAAQrU,EAAQqU,EAAQC,KAAKtU,IAAUA,EAAM,GAAKA,CACnD,CAQO,SAASgE,GAAShE,EAAOqU,EAASE,GACxC,OAAOvU,EAAMgE,QAAQqQ,EAASE,EAC/B,CAQO,SAASC,GAASxU,EAAOyU,EAAQC,GACvC,OAAO1U,EAAM2U,QAAQF,EAAQC,EAC9B,CAOO,SAASE,GAAQ5U,EAAO6U,GAC9B,OAAiC,EAA1B7U,EAAMsT,WAAWuB,EACzB,CAQO,SAASC,GAAQ9U,EAAO+U,EAAOC,GACrC,OAAOhV,EAAMqO,MAAM0G,EAAOC,EAC3B,CAMO,SAASC,GAAQjV,GACvB,OAAOA,EAAM+R,MACd,CAMO,SAASmD,GAAQlV,GACvB,OAAOA,EAAM+R,MACd,CAOO,SAASoD,GAAQnV,EAAOwP,GAC9B,OAAOA,EAAM4F,KAAKpV,GAAQA,CAC3B,CAgBO,SAASoN,GAAQoC,EAAO6E,GAC9B,OAAO7E,EAAMpC,QAAO,SAAUpN,GAAS,OAAQoU,GAAMpU,EAAOqU,EAAU,GACvE,CC1HO,IAAI1Q,GAAO,EACP0R,GAAS,EACTtD,GAAS,EACT2C,GAAW,EACXY,GAAY,EACZC,GAAa,GAYjB,SAASzL,GAAM9J,EAAOwV,EAAM3J,EAAQlH,EAAMlC,EAAON,EAAU4P,EAAQ0D,GACzE,MAAO,CAACzV,MAAOA,EAAOwV,KAAMA,EAAM3J,OAAQA,EAAQlH,KAAMA,EAAMlC,MAAOA,EAAON,SAAUA,EAAUwB,KAAMA,GAAM0R,OAAQA,GAAQtD,OAAQA,EAAQ2D,OAAQ,GAAID,SAAUA,EACnK,CAOO,SAASE,GAAMH,EAAM/S,GAC3B,OAAOmP,GAAO9H,GAAK,GAAI,KAAM,KAAM,GAAI,KAAM,KAAM,EAAG0L,EAAKC,UAAWD,EAAM,CAACzD,QAASyD,EAAKzD,QAAStP,EACrG,CAKO,SAASmT,GAAMJ,GACrB,KAAOA,EAAKA,MACXA,EAAOG,GAAKH,EAAKA,KAAM,CAACrT,SAAU,CAACqT,KAEpCL,GAAOK,EAAMA,EAAKC,SACnB,CAYO,SAASI,KAMf,OALAP,GAAYZ,GAAW,EAAIE,GAAOW,KAAcb,IAAY,EAExDW,KAAwB,KAAdC,KACbD,GAAS,EAAG1R,MAEN2R,EACR,CAKO,SAASQ,KAMf,OALAR,GAAYZ,GAAW3C,GAAS6C,GAAOW,GAAYb,MAAc,EAE7DW,KAAwB,KAAdC,KACbD,GAAS,EAAG1R,MAEN2R,EACR,CAKO,SAASS,KACf,OAAOnB,GAAOW,GAAYb,GAC3B,CAKO,SAASsB,KACf,OAAOtB,EACR,CAOO,SAASrG,GAAO0G,EAAOC,GAC7B,OAAOF,GAAOS,GAAYR,EAAOC,EAClC,CAMO,SAASiB,GAAOtR,GACtB,OAAQA,GAEP,KAAK,EAAG,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GACtC,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,IAE3D,KAAK,GAAI,KAAK,IAAK,KAAK,IACvB,OAAO,EAER,KAAK,GACJ,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAC/B,OAAO,EAER,KAAK,GAAI,KAAK,GACb,OAAO,EAGT,OAAO,CACR,CAsBO,SAASuR,GAASvR,GACxB,OAAOwB,GAAKkI,GAAMqG,GAAW,EAAGyB,GAAmB,KAATxR,EAAcA,EAAO,EAAa,KAATA,EAAcA,EAAO,EAAIA,IAC7F,CAcO,SAASyR,GAAYzR,GAC3B,MAAO2Q,GAAYS,OACdT,GAAY,IACfQ,KAIF,OAAOG,GAAMtR,GAAQ,GAAKsR,GAAMX,IAAa,EAAI,GAAK,GACvD,CAwBO,SAASe,GAAUxB,EAAOyB,GAChC,OAASA,GAASR,QAEbR,GAAY,IAAMA,GAAY,KAAQA,GAAY,IAAMA,GAAY,IAAQA,GAAY,IAAMA,GAAY,MAG/G,OAAOjH,GAAMwG,EAAOmB,MAAWM,EAAQ,GAAe,IAAVP,MAA0B,IAAVD,MAC7D,CAMO,SAASK,GAAWxR,GAC1B,KAAOmR,aACER,IAEP,KAAK3Q,EACJ,OAAO+P,GAER,KAAK,GAAI,KAAK,GACA,KAAT/P,GAAwB,KAATA,GAClBwR,GAAUb,IACX,MAED,KAAK,GACS,KAAT3Q,GACHwR,GAAUxR,GACX,MAED,KAAK,GACJmR,KAIH,OAAOpB,EACR,CAOO,SAAS6B,GAAW5R,EAAMkQ,GAChC,KAAOiB,MAEFnR,EAAO2Q,KAAc,KAGhB3Q,EAAO2Q,KAAc,IAAsB,KAAXS,QAG1C,MAAO,KAAO1H,GAAMwG,EAAOH,GAAW,GAAK,IAAM3D,GAAc,KAATpM,EAAcA,EAAOmR,KAC5E,CAMO,SAASU,GAAY3B,GAC3B,MAAQoB,GAAMF,OACbD,KAED,OAAOzH,GAAMwG,EAAOH,GACrB,CCxPO,SAAS+B,GAASzW,GACxB,OD+HM,SAAkBA,GACxB,OAAOuV,GAAa,GAAIvV,CACzB,CCjIQ0W,CAAQC,GAAM,GAAI,KAAM,KAAM,KAAM,CAAC,IAAK3W,EDuH3C,SAAgBA,GACtB,OAAO2D,GAAO0R,GAAS,EAAGtD,GAASkD,GAAOM,GAAavV,GAAQ0U,GAAW,EAAG,EAC9E,CCzH0DkC,CAAM5W,GAAQ,EAAG,CAAC,GAAIA,GAChF,CAcO,SAAS2W,GAAO3W,EAAOwV,EAAM3J,EAAQgL,EAAMC,EAAOC,EAAUC,EAAQC,EAAQC,GAiBlF,IAhBA,IAAIrC,EAAQ,EACRsC,EAAS,EACTpF,EAASiF,EACTI,EAAS,EACTC,EAAW,EACXC,EAAW,EACXC,EAAW,EACXC,EAAW,EACXC,EAAY,EACZnC,EAAY,EACZ3Q,EAAO,GACPlC,EAAQqU,EACR3U,EAAW4U,EACX1P,EAAYwP,EACZtB,EAAa5Q,EAEV6S,UACEF,EAAWhC,EAAWA,EAAYQ,MAEzC,KAAK,GACJ,GAAgB,KAAZwB,GAAqD,IAAlC1C,GAAOW,EAAYxD,EAAS,GAAU,EACuD,GAA/GyC,GAAQe,GAAcvR,GAAQkS,GAAQZ,GAAY,IAAK,OAAQ,MAAOtB,GAAIa,EAAQoC,EAAOpC,EAAQ,GAAK,MACzG4C,GAAY,GACb,KACL,CAEG,KAAK,GAAI,KAAK,GAAI,KAAK,GACtBlC,GAAcW,GAAQZ,GACtB,MAED,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GAC9BC,GAAca,GAAWkB,GACzB,MAED,KAAK,GACJ/B,GAAcc,GAASL,KAAU,EAAG,GACpC,SAED,KAAK,GACJ,OAAQD,MACP,KAAK,GAAI,KAAK,GACbZ,GAAOuC,GAAQnB,GAAUT,KAAQE,MAAUR,EAAM3J,EAAQqL,GAAeA,GACxE,MACD,QACC3B,GAAc,IAEhB,MAED,KAAK,IAAMgC,EACVN,EAAOpC,KAAWI,GAAOM,GAAckC,EAExC,KAAK,IAAMF,EAAU,KAAK,GAAI,KAAK,EAClC,OAAQjC,GAEP,KAAK,EAAG,KAAK,IAAKkC,EAAW,EAE7B,KAAK,GAAKL,GAAyB,GAAbM,IAAiBlC,EAAavR,GAAQuR,EAAY,MAAO,KAC1E8B,EAAW,GAAMpC,GAAOM,GAAcxD,GACzCoD,GAAOkC,EAAW,GAAKM,GAAYpC,EAAa,IAAKsB,EAAMhL,EAAQkG,EAAS,EAAGmF,GAAgBS,GAAY3T,GAAQuR,EAAY,IAAK,IAAM,IAAKsB,EAAMhL,EAAQkG,EAAS,EAAGmF,GAAeA,GACzL,MAED,KAAK,GAAI3B,GAAc,IAEvB,QAGC,GAFAJ,GAAO9N,EAAYuQ,GAAQrC,EAAYC,EAAM3J,EAAQgJ,EAAOsC,EAAQL,EAAOG,EAAQtS,EAAMlC,EAAQ,GAAIN,EAAW,GAAI4P,EAAQgF,GAAWA,GAErH,MAAdzB,EACH,GAAe,IAAX6B,EACHR,GAAMpB,EAAYC,EAAMnO,EAAWA,EAAW5E,EAAOsU,EAAUhF,EAAQkF,EAAQ9U,QAE/E,OAAmB,KAAXiV,GAA2C,MAA1BxC,GAAOW,EAAY,GAAa,IAAM6B,GAE9D,KAAK,IAAK,KAAK,IAAK,KAAK,IAAK,KAAK,IAClCT,GAAM3W,EAAOqH,EAAWA,EAAWwP,GAAQ1B,GAAOyC,GAAQ5X,EAAOqH,EAAWA,EAAW,EAAG,EAAGyP,EAAOG,EAAQtS,EAAMmS,EAAOrU,EAAQ,GAAIsP,EAAQ5P,GAAWA,GAAW2U,EAAO3U,EAAU4P,EAAQkF,EAAQJ,EAAOpU,EAAQN,GACnN,MACD,QACCwU,GAAMpB,EAAYlO,EAAWA,EAAWA,EAAW,CAAC,IAAKlF,EAAU,EAAG8U,EAAQ9U,IAIpF0S,EAAQsC,EAASE,EAAW,EAAGE,EAAWE,EAAY,EAAG9S,EAAO4Q,EAAa,GAAIxD,EAASiF,EAC1F,MAED,KAAK,GACJjF,EAAS,EAAIkD,GAAOM,GAAa8B,EAAWC,EAC7C,QACC,GAAIC,EAAW,EACd,GAAiB,KAAbjC,IACDiC,OACE,GAAiB,KAAbjC,GAAkC,GAAdiC,KAA6B,KAAV1B,KAC/C,SAEF,OAAQN,GAAcxE,GAAKuE,GAAYA,EAAYiC,GAElD,KAAK,GACJE,EAAYN,EAAS,EAAI,GAAK5B,GAAc,MAAQ,GACpD,MAED,KAAK,GACJ0B,EAAOpC,MAAYI,GAAOM,GAAc,GAAKkC,EAAWA,EAAY,EACpE,MAED,KAAK,GAEW,KAAX1B,OACHR,GAAcW,GAAQJ,OAEvBsB,EAASrB,KAAQoB,EAASpF,EAASkD,GAAOtQ,EAAO4Q,GAAciB,GAAWR,OAAWV,IACrF,MAED,KAAK,GACa,KAAbgC,GAAyC,GAAtBrC,GAAOM,KAC7BgC,EAAW,IAIjB,OAAOR,CACR,CAiBO,SAASa,GAAS5X,EAAOwV,EAAM3J,EAAQgJ,EAAOsC,EAAQL,EAAOG,EAAQtS,EAAMlC,EAAON,EAAU4P,EAAQ0D,GAK1G,IAJA,IAAIoC,EAAOV,EAAS,EAChBN,EAAkB,IAAXM,EAAeL,EAAQ,CAAC,IAC/BtT,EAAO0R,GAAO2B,GAETtU,EAAI,EAAGuV,EAAI,EAAGzW,EAAI,EAAGkB,EAAIsS,IAAStS,EAC1C,IAAK,IAAIwV,EAAI,EAAGC,EAAIlD,GAAO9U,EAAO6X,EAAO,EAAGA,EAAO7D,GAAI8D,EAAIb,EAAO1U,KAAM0V,EAAIjY,EAAO+X,EAAIvU,IAAQuU,GAC1FE,EAAI9R,GAAK2R,EAAI,EAAIjB,EAAKkB,GAAK,IAAMC,EAAIhU,GAAQgU,EAAG,OAAQnB,EAAKkB,QAChEtV,EAAMpB,KAAO4W,GAEhB,OAAOnO,GAAK9J,EAAOwV,EAAM3J,EAAmB,IAAXsL,EAAexD,GAAUhP,EAAMlC,EAAON,EAAU4P,EAAQ0D,EAC1F,CASO,SAASiC,GAAS1X,EAAOwV,EAAM3J,EAAQ4J,GAC7C,OAAO3L,GAAK9J,EAAOwV,EAAM3J,EAAQ6H,GAAS3C,GDtInCuE,ICsIiDR,GAAO9U,EAAO,GAAG,GAAK,EAAGyV,EAClF,CAUO,SAASkC,GAAa3X,EAAOwV,EAAM3J,EAAQkG,EAAQ0D,GACzD,OAAO3L,GAAK9J,EAAOwV,EAAM3J,EAAQ+H,GAAakB,GAAO9U,EAAO,EAAG+R,GAAS+C,GAAO9U,EAAO+R,EAAS,GAAK,GAAGA,EAAQ0D,EAChH,CCxLO,SAASyC,GAAQlY,EAAO+R,EAAQ5P,GACtC,OHaM,SAAenC,EAAO+R,GAC5B,OAA0B,GAAnB6C,GAAO5U,EAAO,MAAiB+R,GAAU,EAAK6C,GAAO5U,EAAO,KAAO,EAAK4U,GAAO5U,EAAO,KAAO,EAAK4U,GAAO5U,EAAO,KAAO,EAAK4U,GAAO5U,EAAO,GAAK,CACvJ,CGfSmY,CAAKnY,EAAO+R,IAEnB,KAAK,KACJ,OAAO0B,GAAS,SAAWzT,EAAQA,EAEpC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAEvE,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAE5D,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAE5D,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAC3D,OAAOyT,GAASzT,EAAQA,EAEzB,KAAK,KACJ,OAAOwT,GAAMxT,EAAQA,EAEtB,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAChD,OAAOyT,GAASzT,EAAQwT,GAAMxT,EAAQuT,GAAKvT,EAAQA,EAEpD,KAAK,KACJ,OAAQ4U,GAAO5U,EAAO+R,EAAS,KAE9B,KAAK,IACJ,OAAO0B,GAASzT,EAAQuT,GAAKvP,GAAQhE,EAAO,qBAAsB,MAAQA,EAE3E,KAAK,IACJ,OAAOyT,GAASzT,EAAQuT,GAAKvP,GAAQhE,EAAO,qBAAsB,SAAWA,EAE9E,KAAK,GACJ,OAAOyT,GAASzT,EAAQuT,GAAKvP,GAAQhE,EAAO,qBAAsB,MAAQA,EAI7E,KAAK,KAAM,KAAK,KAAM,KAAK,KAC1B,OAAOyT,GAASzT,EAAQuT,GAAKvT,EAAQA,EAEtC,KAAK,KACJ,OAAOyT,GAASzT,EAAQuT,GAAK,QAAUvT,EAAQA,EAEhD,KAAK,KACJ,OAAOyT,GAASzT,EAAQgE,GAAQhE,EAAO,iBAAkByT,GAAS,WAAaF,GAAK,aAAevT,EAEpG,KAAK,KACJ,OAAOyT,GAASzT,EAAQuT,GAAK,aAAevP,GAAQhE,EAAO,eAAgB,KAAQoU,GAAMpU,EAAO,kBAA4E,GAAxDuT,GAAK,YAAcvP,GAAQhE,EAAO,eAAgB,KAAYA,EAEnL,KAAK,KACJ,OAAOyT,GAASzT,EAAQuT,GAAK,iBAAmBvP,GAAQhE,EAAO,6BAA8B,IAAMA,EAEpG,KAAK,KACJ,OAAOyT,GAASzT,EAAQuT,GAAKvP,GAAQhE,EAAO,SAAU,YAAcA,EAErE,KAAK,KACJ,OAAOyT,GAASzT,EAAQuT,GAAKvP,GAAQhE,EAAO,QAAS,kBAAoBA,EAE1E,KAAK,KACJ,OAAOyT,GAAS,OAASzP,GAAQhE,EAAO,QAAS,IAAMyT,GAASzT,EAAQuT,GAAKvP,GAAQhE,EAAO,OAAQ,YAAcA,EAEnH,KAAK,KACJ,OAAOyT,GAASzP,GAAQhE,EAAO,qBAAsB,KAAOyT,GAAS,MAAQzT,EAE9E,KAAK,KACJ,OAAOgE,GAAQA,GAAQA,GAAQhE,EAAO,eAAgByT,GAAS,MAAO,cAAeA,GAAS,MAAOzT,EAAO,IAAMA,EAEnH,KAAK,KAAM,KAAK,KACf,OAAOgE,GAAQhE,EAAO,oBAAqByT,aAE5C,KAAK,KACJ,OAAOzP,GAAQA,GAAQhE,EAAO,oBAAqByT,GAAS,cAAgBF,GAAK,gBAAiB,aAAc,WAAaE,GAASzT,EAAQA,EAE/I,KAAK,KACJ,IAAKoU,GAAMpU,EAAO,kBAAmB,OAAOuT,GAAK,oBAAsBuB,GAAO9U,EAAO+R,GAAU/R,EAC/F,MAED,KAAK,KAAM,KAAK,KACf,OAAOuT,GAAKvP,GAAQhE,EAAO,YAAa,IAAMA,EAE/C,KAAK,KAAM,KAAK,KACf,OAAImC,GAAYA,EAAS4F,MAAK,SAAUqQ,EAASvD,GAAS,OAAO9C,EAAS8C,EAAOT,GAAMgE,EAAQ3V,MAAO,eAAiB,KAC9G+R,GAAQxU,GAASmC,EAAWA,EAAS4P,GAAQ/R,OAAQ,OAAQ,GAAKA,EAASuT,GAAKvP,GAAQhE,EAAO,SAAU,IAAMA,EAAQuT,GAAK,mBAAqBiB,GAAQrS,EAAU,OAAQ,GAAKiS,GAAMjS,EAAU,QAAUiS,GAAMjS,EAAU,QAAUiS,GAAMpU,EAAO,QAAU,IAE7PuT,GAAKvP,GAAQhE,EAAO,SAAU,IAAMA,EAE5C,KAAK,KAAM,KAAK,KACf,OAAQmC,GAAYA,EAAS4F,MAAK,SAAUqQ,GAAW,OAAOhE,GAAMgE,EAAQ3V,MAAO,qBAAwBzC,EAAQuT,GAAKvP,GAAQA,GAAQhE,EAAO,OAAQ,SAAU,QAAS,IAAMA,EAEjL,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KACrC,OAAOgE,GAAQhE,EAAO,kBAAmByT,GAAS,QAAUzT,EAE7D,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KACtC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KACtC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAErC,GAAIiV,GAAOjV,GAAS,EAAI+R,EAAS,EAChC,OAAQ6C,GAAO5U,EAAO+R,EAAS,IAE9B,KAAK,IAEJ,GAAkC,KAA9B6C,GAAO5U,EAAO+R,EAAS,GAC1B,MAEF,KAAK,IACJ,OAAO/N,GAAQhE,EAAO,mBAAoB,KAAOyT,GAAP,UAAiCD,IAAoC,KAA7BoB,GAAO5U,EAAO+R,EAAS,GAAY,KAAO,UAAY/R,EAEzI,KAAK,IACJ,OAAQwU,GAAQxU,EAAO,UAAW,GAAKkY,GAAOlU,GAAQhE,EAAO,UAAW,kBAAmB+R,EAAQ5P,GAAYnC,EAAQA,EAE1H,MAED,KAAK,KAAM,KAAK,KACf,OAAOgE,GAAQhE,EAAO,6CAA6C,SAAUqY,EAAGC,EAAGC,EAAGC,EAAGlX,EAAGR,EAAG2X,GAAK,OAAQlF,GAAK+E,EAAI,IAAMC,EAAIE,GAAMD,EAAKjF,GAAK+E,EAAI,UAAYhX,EAAIR,GAAKA,GAAKyX,GAAME,EAAI,IAAMzY,CAAO,IAErM,KAAK,KAEJ,GAAkC,MAA9B4U,GAAO5U,EAAO+R,EAAS,GAC1B,OAAO/N,GAAQhE,EAAO,IAAK,IAAMyT,IAAUzT,EAC5C,MAED,KAAK,KACJ,OAAQ4U,GAAO5U,EAA6B,KAAtB4U,GAAO5U,EAAO,IAAa,GAAK,KAErD,KAAK,IACJ,OAAOgE,GAAQhE,EAAO,gCAAiC,KAAOyT,IAAgC,KAAtBmB,GAAO5U,EAAO,IAAa,UAAY,IAAxD,UAA+EyT,GAA/E,SAAwGF,GAAK,WAAavT,EAElL,KAAK,IACJ,OAAOgE,GAAQhE,EAAO,IAAK,IAAMuT,IAAMvT,EAEzC,MAED,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAChD,OAAOgE,GAAQhE,EAAO,UAAW,gBAAkBA,EAGrD,OAAOA,CACR,CCxIO,SAAS0Y,GAAWvW,EAAUwW,GAGpC,IAFA,IAAIC,EAAS,GAEJrW,EAAI,EAAGA,EAAIJ,EAAS4P,OAAQxP,IACpCqW,GAAUD,EAASxW,EAASI,GAAIA,EAAGJ,EAAUwW,IAAa,GAE3D,OAAOC,CACR,CASO,SAASC,GAAWT,EAASvD,EAAO1S,EAAUwW,GACpD,OAAQP,EAAQzT,MACf,KAAKoP,GAAO,GAAIqE,EAAQjW,SAAS4P,OAAQ,MACzC,KAAK8B,GAAQ,KAAKD,GAAa,OAAOwE,EAAQ1C,OAAS0C,EAAQ1C,QAAU0C,EAAQpY,MACjF,KAAK0T,GAAS,MAAO,GACrB,KAAKI,GAAW,OAAOsE,EAAQ1C,OAAS0C,EAAQpY,MAAQ,IAAM0Y,GAAUN,EAAQjW,SAAUwW,GAAY,IACtG,KAAKhF,GAAS,IAAKsB,GAAOmD,EAAQpY,MAAQoY,EAAQ3V,MAAMqW,KAAK,MAAO,MAAO,GAG5E,OAAO7D,GAAO9S,EAAWuW,GAAUN,EAAQjW,SAAUwW,IAAaP,EAAQ1C,OAAS0C,EAAQpY,MAAQ,IAAMmC,EAAW,IAAM,EAC3H,CCOO,SAAS4W,GAAUX,EAASvD,EAAO1S,EAAUwW,GACnD,GAAIP,EAAQrG,QAAW,IACjBqG,EAAQ1C,OACZ,OAAQ0C,EAAQzT,MACf,KAAKiP,GACJ,YADiBwE,EAAQ1C,OAASwC,GAAOE,EAAQpY,MAAOoY,EAAQrG,OAAQ5P,IAEzE,KAAK2R,GACJ,OAAO4E,GAAU,CAAC/C,GAAKyC,EAAS,CAACpY,MAAOgE,GAAQoU,EAAQpY,MAAO,IAAK,IAAMyT,OAAYkF,GACvF,KAAKhF,GACJ,GAAIyE,EAAQrG,OACX,OL8DC,SAAkBvC,EAAOmJ,GAC/B,OAAOnJ,EAAMnN,IAAIsW,GAAUG,KAAK,GACjC,CKhEaE,CAAQ7W,EAAWiW,EAAQ3V,OAAO,SAAUzC,GAClD,OAAQoU,GAAMpU,EAAO2Y,EAAW,0BAE/B,IAAK,aAAc,IAAK,cACvB/C,GAAKD,GAAKyC,EAAS,CAAC3V,MAAO,CAACuB,GAAQhE,EAAO,cAAe,IAAMwT,GAAM,UACtEoC,GAAKD,GAAKyC,EAAS,CAAC3V,MAAO,CAACzC,MAC5B4R,GAAOwG,EAAS,CAAC3V,MAAO2K,GAAOjL,EAAUwW,KACzC,MAED,IAAK,gBACJ/C,GAAKD,GAAKyC,EAAS,CAAC3V,MAAO,CAACuB,GAAQhE,EAAO,aAAc,IAAMyT,GAAS,gBACxEmC,GAAKD,GAAKyC,EAAS,CAAC3V,MAAO,CAACuB,GAAQhE,EAAO,aAAc,IAAMwT,GAAM,UACrEoC,GAAKD,GAAKyC,EAAS,CAAC3V,MAAO,CAACuB,GAAQhE,EAAO,aAAcuT,GAAK,gBAC9DqC,GAAKD,GAAKyC,EAAS,CAAC3V,MAAO,CAACzC,MAC5B4R,GAAOwG,EAAS,CAAC3V,MAAO2K,GAAOjL,EAAUwW,KAI3C,MAAO,EACP,IAEP,CCxEA,IAAIM,GAAe,CACjBC,wBAAyB,EACzBC,YAAa,EACbC,kBAAmB,EACnBC,iBAAkB,EAClBC,iBAAkB,EAClBC,QAAS,EACTC,aAAc,EACdC,gBAAiB,EACjBC,YAAa,EACbC,QAAS,EACT9Q,KAAM,EACN+Q,SAAU,EACVC,aAAc,EACdC,WAAY,EACZC,aAAc,EACdC,UAAW,EACXC,QAAS,EACTC,WAAY,EACZC,YAAa,EACbC,aAAc,EACdC,WAAY,EACZC,cAAe,EACfC,eAAgB,EAChBC,gBAAiB,EACjBC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,iBAAkB,EAClBC,WAAY,EACZC,WAAY,EACZC,QAAS,EACTC,MAAO,EACPC,QAAS,EACTC,QAAS,EACTC,OAAQ,EACRC,OAAQ,EACRC,KAAM,EACNC,gBAAiB,EAEjBC,YAAa,EACbC,aAAc,EACdC,YAAa,EACbC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,cAAe,EACfC,YAAa,GC/CuSrD,GAAE,oBAAoBsD,cAAS,IAASA,QAAQC,MAAMD,QAAQC,IAAIC,mBAAmBF,QAAQC,IAAIE,UAAU,cAAcC,GAAE,SAASnE,GAAE,sBAAsBoE,GAAE,SAASC,GAAE,YAAYC,GAAE,oBAAoBC,QAAQ,gBAAgBA,OAAOC,GAAExN,QAAQ,kBAAkByN,kBAAkBA,kBAAkB,oBAAoBV,cAAS,IAASA,QAAQC,UAAK,IAASD,QAAQC,IAAIU,6BAA6B,KAAKX,QAAQC,IAAIU,4BAA4B,UAAUX,QAAQC,IAAIU,6BAA6BX,QAAQC,IAAIU,4BAA4B,oBAAoBX,cAAS,IAASA,QAAQC,UAAK,IAASD,QAAQC,IAAIS,mBAAmB,KAAKV,QAAQC,IAAIS,kBAAkB,UAAUV,QAAQC,IAAIS,mBAAmBV,QAAQC,IAAIS,kBAAkB,eAAeV,QAAQC,IAAIW,UAAUpE,GAAE,CAAE,EAACqE,GAAE,qBAAqBC,GAAE,IAAIC,IAAIC,GAAE,SAAS9M,EAAEhP,GAAG,GAAG,eAAe8a,QAAQC,IAAIW,SAAS,CAAC,IAAIK,EAAE/b,EAAE,oBAAoB0R,OAAO1R,EAAE,KAAK,GAAG4Q,EAAE,iBAAiBc,OAAO1C,GAAG0C,OAAOqK,EAAE,oCAAoC,yLAAyLza,EAAE0a,QAAQC,MAAM,IAAI,IAAI5E,GAAE,EAAG2E,QAAQC,MAAM,SAASjN,GAAG,IAAI,IAAIhP,EAAE,GAAG+b,EAAE,EAAEA,EAAElL,UAAUC,OAAOiL,IAAI/b,EAAE+b,EAAE,GAAGlL,UAAUkL,GAAGJ,GAAEvJ,KAAKpD,IAAIqI,GAAE,EAAGuE,GAAEM,OAAOtL,IAAItP,EAAE6P,WAAM,EAAOtR,EAAE,CAACmP,GAAGhP,GAAE,GAAI,EAAEmc,EAAAA,SAAI9E,IAAIuE,GAAEQ,IAAIxL,KAAKoL,QAAQK,KAAKzL,GAAGgL,GAAEU,IAAI1L,GAAG,CAAC,MAAM/Q,GAAG8b,GAAEvJ,KAAKvS,EAAE0c,UAAUX,GAAEM,OAAOtL,EAAE,CAAQ,QAACoL,QAAQC,MAAM3a,CAAC,CAAC,CAAC,EAAE8V,GAAExY,OAAO6B,OAAO,IAAI+b,GAAE5d,OAAO6B,OAAO,CAAE,GAAE,SAASgc,GAAE5c,EAAEmP,EAAEhP,GAAG,YAAO,IAASA,IAAIA,EAAEwc,IAAG3c,EAAE6c,QAAQ1c,EAAE0c,OAAO7c,EAAE6c,OAAO1N,GAAGhP,EAAE0c,KAAK,CAAC,IAAIC,GAAE,IAAId,IAAI,CAAC,IAAI,OAAO,UAAU,OAAO,UAAU,QAAQ,QAAQ,IAAI,OAAO,MAAM,MAAM,MAAM,aAAa,OAAO,KAAK,SAAS,SAAS,UAAU,OAAO,OAAO,MAAM,WAAW,OAAO,WAAW,KAAK,MAAM,UAAU,MAAM,SAAS,MAAM,KAAK,KAAK,KAAK,QAAQ,WAAW,aAAa,SAAS,SAAS,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,SAAS,SAAS,KAAK,OAAO,IAAI,SAAS,MAAM,QAAQ,MAAM,MAAM,SAAS,QAAQ,SAAS,KAAK,OAAO,OAAO,MAAM,OAAO,OAAO,WAAW,OAAO,QAAQ,MAAM,WAAW,SAAS,KAAK,WAAW,SAAS,SAAS,IAAI,QAAQ,UAAU,MAAM,WAAW,IAAI,KAAK,KAAK,OAAO,IAAI,OAAO,SAAS,UAAU,SAAS,QAAQ,SAAS,OAAO,SAAS,QAAQ,MAAM,UAAU,MAAM,QAAQ,QAAQ,KAAK,WAAW,QAAQ,KAAK,QAAQ,OAAO,KAAK,QAAQ,IAAI,KAAK,MAAM,MAAM,QAAQ,MAAM,SAAS,WAAW,OAAO,UAAU,gBAAgB,IAAI,QAAQ,OAAO,iBAAiB,SAAS,OAAO,OAAO,UAAU,UAAU,WAAW,iBAAiB,OAAO,OAAO,MAAM,OAAO,UAAUe,GAAE,wCAAwCC,GAAE,WAAW,SAASC,GAAEjd,GAAG,OAAOA,EAAEkD,QAAQ6Z,GAAE,KAAK7Z,QAAQ8Z,GAAE,GAAG,CAAC,IAAIE,GAAE,WAAW3c,GAAE,GAAGyW,GAAE,SAAShX,GAAG,OAAOoT,OAAOC,aAAarT,GAAGA,EAAE,GAAG,GAAG,IAAI,EAAE,SAASiX,GAAEjX,GAAG,IAAImP,EAAEhP,EAAE,GAAG,IAAIgP,EAAEgE,KAAKD,IAAIlT,GAAGmP,EAAE5O,GAAE4O,EAAEA,EAAE5O,GAAE,EAAEJ,EAAE6W,GAAE7H,EAAE5O,IAAGJ,EAAE,OAAO6W,GAAE7H,EAAE5O,IAAGJ,GAAG+C,QAAQga,GAAE,QAAQ,CAAC,IAAIC,GAASC,GAAE,SAASpd,EAAEmP,GAAG,IAAI,IAAIhP,EAAEgP,EAAE8B,OAAO9Q,GAAGH,EAAE,GAAGA,EAAEmP,EAAEqD,aAAarS,GAAG,OAAOH,CAAC,EAAEmX,GAAE,SAASnX,GAAG,OAAOod,GAAnG,KAAuGpd,EAAE,EAAE,SAASqd,GAAErd,GAAG,OAAOiX,GAAEE,GAAEnX,KAAK,EAAE,CAAC,SAASsd,GAAEtd,GAAG,MAAM,eAAeib,QAAQC,IAAIW,UAAU,iBAAiB7b,GAAGA,GAAGA,EAAEud,aAAavd,EAAEwd,MAAM,WAAW,CAAC,SAASC,GAAEzd,GAAG,MAAM,iBAAiBA,IAAI,eAAeib,QAAQC,IAAIW,UAAU7b,EAAE0d,OAAO,KAAK1d,EAAE0d,OAAO,GAAGtY,cAAc,CAAC,IAAIuY,GAAE,mBAAmBC,QAAQA,OAAOC,IAAIC,GAAEH,GAAEC,OAAOC,IAAI,cAAc,MAAME,GAAEJ,GAAEC,OAAOC,IAAI,qBAAqB,MAAMG,GAAE,CAACC,mBAAkB,EAAGC,aAAY,EAAGC,cAAa,EAAGC,cAAa,EAAGb,aAAY,EAAGc,iBAAgB,EAAGC,0BAAyB,EAAGC,0BAAyB,EAAGC,QAAO,EAAGC,WAAU,EAAG5a,MAAK,GAAI6a,GAAE,CAAClB,MAAK,EAAGvM,QAAO,EAAGE,WAAU,EAAGwN,QAAO,EAAGC,QAAO,EAAG5N,WAAU,EAAG6N,OAAM,GAAIC,GAAE,CAACC,UAAS,EAAGC,SAAQ,EAAGZ,cAAa,EAAGb,aAAY,EAAGkB,WAAU,EAAG5a,MAAK,GAAIob,KAAI9B,GAAE,CAAE,GAAEY,IAAG,CAACgB,UAAS,EAAGG,QAAO,EAAGd,cAAa,EAAGb,aAAY,EAAGkB,WAAU,GAAItB,GAAEW,IAAGgB,GAAE3B,IAAG,SAASgC,GAAEnf,GAAG,OAAO,SAASmP,EAAEnP,IAAImP,EAAEtL,KAAKkb,YAAYjB,GAAEgB,GAAE,aAAa9e,EAAEif,GAAEjf,EAAE+e,UAAUf,GAAE,IAAI7O,CAAC,CAAC,IAAIiQ,GAAErgB,OAAOC,eAAeqgB,GAAEtgB,OAAOugB,oBAAoBC,GAAExgB,OAAOygB,sBAAsBC,GAAG1gB,OAAO0B,yBAAyBif,GAAG3gB,OAAO4gB,eAAeC,GAAG7gB,OAAOoS,UAAU,SAAS0O,GAAG7f,EAAEmP,EAAEhP,GAAG,GAAG,iBAAiBgP,EAAE,CAAC,GAAGyQ,GAAG,CAAC,IAAI1D,EAAEwD,GAAGvQ,GAAG+M,GAAGA,IAAI0D,IAAIC,GAAG7f,EAAEkc,EAAE/b,EAAE,CAAC,IAAImc,EAAE+C,GAAElQ,GAAGoQ,KAAIjD,EAAEA,EAAEzK,OAAO0N,GAAEpQ,KAAK,IAAI,IAAI4B,EAAEoO,GAAEnf,GAAGyB,EAAE0d,GAAEhQ,GAAGqI,EAAE,EAAEA,EAAE8E,EAAErL,SAASuG,EAAE,CAAC,IAAIE,EAAE4E,EAAE9E,GAAG,KAAKE,KAAKgH,IAAGve,GAAGA,EAAEuX,IAAIjW,GAAGiW,KAAKjW,GAAGsP,GAAG2G,KAAK3G,GAAG,CAAC,IAAIa,EAAE6N,GAAGtQ,EAAEuI,GAAG,IAAI0H,GAAEpf,EAAE0X,EAAE9F,EAAE,CAAC,MAAM5R,GAAE,CAAE,CAAC,CAAC,CAAC,OAAOA,CAAC,CAAC,SAAS8f,GAAG9f,GAAG,MAAM,mBAAmBA,CAAC,CAAC,SAAS+f,GAAG/f,GAAG,MAAM,iBAAiBA,GAAG,sBAAsBA,CAAC,CAAC,SAASggB,GAAGhgB,EAAEmP,GAAG,OAAOnP,GAAGmP,EAAE,GAAG0C,OAAO7R,EAAE,KAAK6R,OAAO1C,GAAGnP,GAAGmP,GAAG,EAAE,CAAC,SAAS8Q,GAAGjgB,EAAEmP,GAAG,GAAG,IAAInP,EAAEiR,OAAO,MAAM,GAAG,IAAI,IAAI9Q,EAAEH,EAAE,GAAGkc,EAAE,EAAEA,EAAElc,EAAEiR,OAAOiL,IAAI/b,GAAYH,EAAEkc,GAAG,OAAO/b,CAAC,CAAC,SAAS+f,GAAGlgB,GAAG,OAAO,OAAOA,GAAG,iBAAiBA,GAAGA,EAAEmgB,YAAY3C,OAAOze,OAAOye,QAAQ,UAAUxd,GAAGA,EAAE+e,SAAS,CAAC,SAASqB,GAAGpgB,EAAEmP,EAAEhP,GAAG,QAAG,IAASA,IAAIA,GAAE,IAAKA,IAAI+f,GAAGlgB,KAAK2L,MAAMC,QAAQ5L,GAAG,OAAOmP,EAAE,GAAGxD,MAAMC,QAAQuD,GAAG,IAAI,IAAI+M,EAAE,EAAEA,EAAE/M,EAAE8B,OAAOiL,IAAIlc,EAAEkc,GAAGkE,GAAGpgB,EAAEkc,GAAG/M,EAAE+M,SAAS,GAAGgE,GAAG/Q,GAAG,IAAI,IAAI+M,KAAK/M,EAAEnP,EAAEkc,GAAGkE,GAAGpgB,EAAEkc,GAAG/M,EAAE+M,IAAI,OAAOlc,CAAC,CAAC,SAASqgB,GAAGrgB,EAAEmP,GAAGpQ,OAAOC,eAAegB,EAAE,WAAW,CAACd,MAAMiQ,GAAG,CAAC,IAAImR,GAAG,eAAerF,QAAQC,IAAIW,SAAS,CAAC,EAAE,wDAAwD,EAAE,gQAAgQ,EAAE,sHAAsH,EAAE,sMAAsM,EAAE,kKAAkK,EAAE,4OAA4O,EAAE,qHAAqH,EAAE,8DAA8D,EAAE,gCAAgC,GAAG,iUAAiU,GAAG,wNAAwN,GAAG,qWAAqW,GAAG,yLAAyL,GAAG,+CAA+C,GAAG,2ZAA2Z,GAAG,uQAAuQ,GAAG,yIAAyI,GAAG,oFAAoF,CAAA,EAAG,SAAS0E,KAAK,IAAI,IAAIvgB,EAAE,GAAGmP,EAAE,EAAEA,EAAE6B,UAAUC,OAAO9B,IAAInP,EAAEmP,GAAG6B,UAAU7B,GAAG,IAAI,IAAIhP,EAAEH,EAAE,GAAGkc,EAAE,GAAGI,EAAE,EAAEvL,EAAE/Q,EAAEiR,OAAOqL,EAAEvL,EAAEuL,GAAG,EAAEJ,EAAE5H,KAAKtU,EAAEsc,IAAI,OAAOJ,EAAE5b,SAAQ,SAASN,GAAGG,EAAEA,EAAE+C,QAAQ,SAASlD,EAAE,IAAGG,CAAC,CAAC,SAASqgB,GAAGrR,GAAG,IAAI,IAAIhP,EAAE,GAAG+b,EAAE,EAAEA,EAAElL,UAAUC,OAAOiL,IAAI/b,EAAE+b,EAAE,GAAGlL,UAAUkL,GAAG,MAAM,eAAejB,QAAQC,IAAIW,SAAS,IAAI4E,MAAM,0IAA0I5O,OAAO1C,EAAE,0BAA0B0C,OAAO1R,EAAE8Q,OAAO,EAAE,UAAUY,OAAO1R,EAAE6X,KAAK,OAAO,KAAK,IAAIyI,MAAMF,GAAGjP,WAAM,EAAOtR,EAAE,CAACsgB,GAAGnR,IAAIhP,GAAE,IAAKkF,OAAO,CAAC,IAAIqb,GAAG,WAAW,SAAS1gB,EAAEA,GAAGuR,KAAKoP,WAAW,IAAIC,YAAY,KAAKrP,KAAKN,OAAO,IAAIM,KAAKsP,IAAI7gB,CAAC,CAAC,OAAOA,EAAEmR,UAAU2P,aAAa,SAAS9gB,GAAG,IAAI,IAAImP,EAAE,EAAEhP,EAAE,EAAEA,EAAEH,EAAEG,IAAIgP,GAAGoC,KAAKoP,WAAWxgB,GAAG,OAAOgP,CAAC,EAAEnP,EAAEmR,UAAU4P,YAAY,SAAS/gB,EAAEmP,GAAG,GAAGnP,GAAGuR,KAAKoP,WAAW1P,OAAO,CAAC,IAAI,IAAI9Q,EAAEoR,KAAKoP,WAAWzE,EAAE/b,EAAE8Q,OAAOqL,EAAEJ,EAAElc,GAAGsc,GAAG,IAAIA,IAAI,GAAG,EAAE,MAAMkE,GAAG,GAAG,GAAG3O,OAAO7R,IAAIuR,KAAKoP,WAAW,IAAIC,YAAYtE,GAAG/K,KAAKoP,WAAWlR,IAAItP,GAAGoR,KAAKN,OAAOqL,EAAE,IAAI,IAAIvL,EAAEmL,EAAEnL,EAAEuL,EAAEvL,IAAIQ,KAAKoP,WAAW5P,GAAG,CAAC,CAAC,IAAI,IAAItP,EAAE8P,KAAKuP,aAAa9gB,EAAE,GAAGwX,GAAGzG,EAAE,EAAE5B,EAAE8B,QAAQF,EAAEyG,EAAEzG,IAAIQ,KAAKsP,IAAIG,WAAWvf,EAAE0N,EAAE4B,MAAMQ,KAAKoP,WAAW3gB,KAAKyB,IAAI,EAAEzB,EAAEmR,UAAU8P,WAAW,SAASjhB,GAAG,GAAGA,EAAEuR,KAAKN,OAAO,CAAC,IAAI9B,EAAEoC,KAAKoP,WAAW3gB,GAAGG,EAAEoR,KAAKuP,aAAa9gB,GAAGkc,EAAE/b,EAAEgP,EAAEoC,KAAKoP,WAAW3gB,GAAG,EAAE,IAAI,IAAIsc,EAAEnc,EAAEmc,EAAEJ,EAAEI,IAAI/K,KAAKsP,IAAIK,WAAW/gB,EAAE,CAAC,EAAEH,EAAEmR,UAAUgQ,SAAS,SAASnhB,GAAG,IAAImP,EAAE,GAAG,GAAGnP,GAAGuR,KAAKN,QAAQ,IAAIM,KAAKoP,WAAW3gB,GAAG,OAAOmP,EAAE,IAAI,IAAIhP,EAAEoR,KAAKoP,WAAW3gB,GAAGkc,EAAE3K,KAAKuP,aAAa9gB,GAAGsc,EAAEJ,EAAE/b,EAAE4Q,EAAEmL,EAAEnL,EAAEuL,EAAEvL,IAAI5B,GAAG,GAAG0C,OAAON,KAAKsP,IAAIO,QAAQrQ,IAAIc,OAAO0J,IAAG,OAAOpM,CAAC,EAAEnP,CAAC,CAAl8B,GAA+8BqhB,GAAG,IAAIC,IAAIC,GAAG,IAAID,IAAIE,GAAG,EAAEC,GAAG,SAASzhB,GAAG,GAAGqhB,GAAG9E,IAAIvc,GAAG,OAAOqhB,GAAG3gB,IAAIV,GAAG,KAAKuhB,GAAGhF,IAAIiF,KAAKA,KAAK,IAAIrS,EAAEqS,KAAK,GAAG,eAAevG,QAAQC,IAAIW,YAAY,EAAE1M,GAAG,GAAGA,EAAjK,YAAuK,MAAMqR,GAAG,GAAG,GAAG3O,OAAO1C,IAAI,OAAOkS,GAAG5R,IAAIzP,EAAEmP,GAAGoS,GAAG9R,IAAIN,EAAEnP,GAAGmP,CAAC,EAAEuS,GAAG,SAAS1hB,EAAEmP,GAAGqS,GAAGrS,EAAE,EAAEkS,GAAG5R,IAAIzP,EAAEmP,GAAGoS,GAAG9R,IAAIN,EAAEnP,EAAE,EAAE2hB,GAAG,SAAS9P,OAAO8F,GAAE,MAAM9F,OAAOqF,GAAE,MAAMrF,OAAOyJ,GAAE,MAAMsG,GAAG,IAAIC,OAAO,IAAIhQ,OAAO8F,GAAE,iDAAiDmK,GAAG,SAAS9hB,EAAEmP,EAAEhP,GAAG,IAAI,IAAI+b,EAAEI,EAAEnc,EAAEmB,MAAM,KAAKyP,EAAE,EAAEtP,EAAE6a,EAAErL,OAAOF,EAAEtP,EAAEsP,KAAKmL,EAAEI,EAAEvL,KAAK/Q,EAAE+hB,aAAa5S,EAAE+M,EAAE,EAAE8F,GAAG,SAAShiB,EAAEmP,GAAG,IAAI,IAAIhP,EAAE+b,GAAG,QAAQ/b,EAAEgP,EAAE8S,mBAAc,IAAS9hB,EAAEA,EAAE,IAAImB,MAAMia,IAAGe,EAAE,GAAGvL,EAAE,EAAEtP,EAAEya,EAAEjL,OAAOF,EAAEtP,EAAEsP,IAAI,CAAC,IAAIyG,EAAE0E,EAAEnL,GAAG1L,OAAO,GAAGmS,EAAE,CAAC,IAAIE,EAAEF,EAAElE,MAAMsO,IAAI,GAAGlK,EAAE,CAAC,IAAI9F,EAAE,EAAEsQ,SAASxK,EAAE,GAAG,IAAIyK,EAAEzK,EAAE,GAAG,IAAI9F,IAAI8P,GAAGS,EAAEvQ,GAAGkQ,GAAG9hB,EAAEmiB,EAAEzK,EAAE,IAAI1X,EAAEoiB,SAASrB,YAAYnP,EAAE0K,IAAIA,EAAErL,OAAO,CAAC,MAAMqL,EAAEhI,KAAKkD,EAAE,CAAC,CAAC,EAAE6K,GAAG,SAASriB,GAAG,IAAI,IAAImP,EAAE3J,SAAS8c,iBAAiBX,IAAIxhB,EAAE,EAAE+b,EAAE/M,EAAE8B,OAAO9Q,EAAE+b,EAAE/b,IAAI,CAAC,IAAImc,EAAEnN,EAAEhP,GAAGmc,GAAGA,EAAEiG,aAAa5K,MAAK0D,KAAI2G,GAAGhiB,EAAEsc,GAAGA,EAAE/M,YAAY+M,EAAE/M,WAAWiT,YAAYlG,GAAG,CAAC,EAAmF,IAAImG,GAAG,SAASziB,GAAG,IAAImP,EAAE3J,SAASkd,KAAKviB,EAAEH,GAAGmP,EAAE+M,EAAE1W,SAASmd,cAAc,SAASrG,EAAE,SAAStc,GAAG,IAAImP,EAAExD,MAAMsE,KAAKjQ,EAAEsiB,iBAAiB,SAASzQ,OAAO8F,GAAE,OAAO,OAAOxI,EAAEA,EAAE8B,OAAO,EAAE,CAA7F,CAA+F9Q,GAAG4Q,OAAE,IAASuL,EAAEA,EAAEsG,YAAY,KAAK1G,EAAE2G,aAAalL,GAAE0D,IAAGa,EAAE2G,aAAa3L,GAAEoE,IAAG,IAAI7Z,EAA7T,oBAAoBqhB,kBAAkBA,kBAAkB,KAA4Q,OAAOrhB,GAAGya,EAAE2G,aAAa,QAAQphB,GAAGtB,EAAE4iB,aAAa7G,EAAEnL,GAAGmL,CAAC,EAAE8G,GAAG,WAAW,SAAShjB,EAAEA,GAAGuR,KAAK+F,QAAQmL,GAAGziB,GAAGuR,KAAK+F,QAAQ2L,YAAYzd,SAAS0d,eAAe,KAAK3R,KAAK4R,MAAM,SAASnjB,GAAG,GAAGA,EAAEmjB,MAAM,OAAOnjB,EAAEmjB,MAAM,IAAI,IAAIhU,EAAE3J,SAAS4d,YAAYjjB,EAAE,EAAE+b,EAAE/M,EAAE8B,OAAO9Q,EAAE+b,EAAE/b,IAAI,CAAC,IAAImc,EAAEnN,EAAEhP,GAAG,GAAGmc,EAAE+G,YAAYrjB,EAAE,OAAOsc,CAAC,CAAC,MAAMkE,GAAG,GAAG,CAAhJ,CAAkJjP,KAAK+F,SAAS/F,KAAKN,OAAO,CAAC,CAAC,OAAOjR,EAAEmR,UAAU6P,WAAW,SAAShhB,EAAEmP,GAAG,IAAI,OAAOoC,KAAK4R,MAAMnC,WAAW7R,EAAEnP,GAAGuR,KAAKN,UAAS,CAAE,CAAC,MAAMjR,GAAG,OAAM,CAAE,CAAC,EAAEA,EAAEmR,UAAU+P,WAAW,SAASlhB,GAAGuR,KAAK4R,MAAMjC,WAAWlhB,GAAGuR,KAAKN,QAAQ,EAAEjR,EAAEmR,UAAUiQ,QAAQ,SAASphB,GAAG,IAAImP,EAAEoC,KAAK4R,MAAMG,SAAStjB,GAAG,OAAOmP,GAAGA,EAAEoU,QAAQpU,EAAEoU,QAAQ,EAAE,EAAEvjB,CAAC,CAA7jB,GAAikBwjB,GAAG,WAAW,SAASxjB,EAAEA,GAAGuR,KAAK+F,QAAQmL,GAAGziB,GAAGuR,KAAKkS,MAAMlS,KAAK+F,QAAQoM,WAAWnS,KAAKN,OAAO,CAAC,CAAC,OAAOjR,EAAEmR,UAAU6P,WAAW,SAAShhB,EAAEmP,GAAG,GAAGnP,GAAGuR,KAAKN,QAAQjR,GAAG,EAAE,CAAC,IAAIG,EAAEqF,SAAS0d,eAAe/T,GAAG,OAAOoC,KAAK+F,QAAQyL,aAAa5iB,EAAEoR,KAAKkS,MAAMzjB,IAAI,MAAMuR,KAAKN,UAAS,CAAE,CAAC,OAAM,CAAE,EAAEjR,EAAEmR,UAAU+P,WAAW,SAASlhB,GAAGuR,KAAK+F,QAAQkL,YAAYjR,KAAKkS,MAAMzjB,IAAIuR,KAAKN,QAAQ,EAAEjR,EAAEmR,UAAUiQ,QAAQ,SAASphB,GAAG,OAAOA,EAAEuR,KAAKN,OAAOM,KAAKkS,MAAMzjB,GAAGiiB,YAAY,EAAE,EAAEjiB,CAAC,CAApc,GAAwc2jB,GAAG,WAAW,SAAS3jB,EAAEA,GAAGuR,KAAKyE,MAAM,GAAGzE,KAAKN,OAAO,CAAC,CAAC,OAAOjR,EAAEmR,UAAU6P,WAAW,SAAShhB,EAAEmP,GAAG,OAAOnP,GAAGuR,KAAKN,SAASM,KAAKyE,MAAM4N,OAAO5jB,EAAE,EAAEmP,GAAGoC,KAAKN,UAAS,EAAG,EAAEjR,EAAEmR,UAAU+P,WAAW,SAASlhB,GAAGuR,KAAKyE,MAAM4N,OAAO5jB,EAAE,GAAGuR,KAAKN,QAAQ,EAAEjR,EAAEmR,UAAUiQ,QAAQ,SAASphB,GAAG,OAAOA,EAAEuR,KAAKN,OAAOM,KAAKyE,MAAMhW,GAAG,EAAE,EAAEA,CAAC,CAAtT,GAA0T6jB,GAAGrI,GAAEsI,GAAG,CAACC,UAAUvI,GAAEwI,mBAAmBtI,IAAGuI,GAAG,WAAW,SAASjkB,EAAEA,EAAEG,EAAE+b,QAAG,IAASlc,IAAIA,EAAE2c,SAAG,IAASxc,IAAIA,EAAE,CAAE,GAAE,IAAImc,EAAE/K,KAAKA,KAAK2S,QAAQ/U,EAAEA,EAAE,CAAA,EAAG2U,IAAI9jB,GAAGuR,KAAK4S,GAAGhkB,EAAEoR,KAAK6S,MAAM,IAAI9C,IAAIpF,GAAG3K,KAAK8S,SAASrkB,EAAE+jB,UAAUxS,KAAK8S,QAAQ7I,IAAGqI,KAAKA,IAAG,EAAGxB,GAAG9Q,OAAO8O,GAAG9O,MAAK,WAAW,OAAO,SAASvR,GAAG,IAAI,IAAImP,EAAEnP,EAAEoiB,SAASjiB,EAAEgP,EAAE8B,OAAOiL,EAAE,GAAGI,EAAE,SAASnc,GAAG,IAAImc,EAAE,SAAStc,GAAG,OAAOuhB,GAAG7gB,IAAIV,EAAE,CAA5B,CAA8BG,GAAG,QAAG,IAASmc,EAAE,MAAM,WAAW,IAAIvL,EAAE/Q,EAAEokB,MAAM1jB,IAAI4b,GAAG7a,EAAE0N,EAAEgS,SAAShhB,GAAG,QAAG,IAAS4Q,IAAIA,EAAErO,MAAM,IAAIjB,EAAEwP,OAAO,MAAM,WAAW,IAAIuG,EAAE,GAAG3F,OAAO8F,GAAE,MAAM9F,OAAO1R,EAAE,SAAS0R,OAAOyK,EAAE,MAAM5E,EAAE,QAAG,IAAS3G,GAAGA,EAAEzQ,SAAQ,SAASN,GAAGA,EAAEiR,OAAO,IAAIyG,GAAG,GAAG7F,OAAO7R,EAAE,KAAK,IAAGkc,GAAG,GAAGrK,OAAOpQ,GAAGoQ,OAAO2F,EAAE,cAAc3F,OAAO6F,EAAE,MAAM7F,OAAO0J,GAAE,EAAExK,EAAE,EAAEA,EAAE5Q,EAAE4Q,IAAIuL,EAAEvL,GAAG,OAAOmL,CAAC,CAA9b,CAAgcI,EAAE,GAAE,CAAC,OAAOtc,EAAEskB,WAAW,SAAStkB,GAAG,OAAOyhB,GAAGzhB,EAAE,EAAEA,EAAEmR,UAAUoT,UAAU,YAAYhT,KAAK8S,QAAQ7I,IAAG6G,GAAG9Q,KAAK,EAAEvR,EAAEmR,UAAUqT,uBAAuB,SAASrkB,EAAE+b,GAAG,YAAO,IAASA,IAAIA,GAAE,GAAI,IAAIlc,EAAEmP,EAAEA,EAAE,CAAE,EAACoC,KAAK2S,SAAS/jB,GAAGoR,KAAK4S,GAAGjI,GAAG3K,KAAK6S,YAAO,EAAO,EAAEpkB,EAAEmR,UAAUsT,mBAAmB,SAASzkB,GAAG,OAAOuR,KAAK4S,GAAGnkB,IAAIuR,KAAK4S,GAAGnkB,IAAI,GAAG,CAAC,EAAEA,EAAEmR,UAAUiR,OAAO,WAAW,OAAO7Q,KAAKsP,MAAMtP,KAAKsP,KAAK7gB,EAAE,SAASA,GAAG,IAAImP,EAAEnP,EAAEgkB,kBAAkB7jB,EAAEH,EAAEuJ,OAAO,OAAOvJ,EAAE+jB,SAAS,IAAIJ,GAAGxjB,GAAGgP,EAAE,IAAI6T,GAAG7iB,GAAG,IAAIqjB,GAAGrjB,EAAE,CAAlG,CAAoGoR,KAAK2S,SAAS,IAAIxD,GAAG1gB,KAAK,IAAIA,CAAC,EAAEA,EAAEmR,UAAUuT,aAAa,SAAS1kB,EAAEmP,GAAG,OAAOoC,KAAK6S,MAAM7H,IAAIvc,IAAIuR,KAAK6S,MAAM1jB,IAAIV,GAAGuc,IAAIpN,EAAE,EAAEnP,EAAEmR,UAAU4Q,aAAa,SAAS/hB,EAAEmP,GAAG,GAAGsS,GAAGzhB,GAAGuR,KAAK6S,MAAM7H,IAAIvc,GAAGuR,KAAK6S,MAAM1jB,IAAIV,GAAGyc,IAAItN,OAAO,CAAC,IAAIhP,EAAE,IAAI6b,IAAI7b,EAAEsc,IAAItN,GAAGoC,KAAK6S,MAAM3U,IAAIzP,EAAEG,EAAE,CAAC,EAAEH,EAAEmR,UAAU4P,YAAY,SAAS/gB,EAAEmP,EAAEhP,GAAGoR,KAAKwQ,aAAa/hB,EAAEmP,GAAGoC,KAAK6Q,SAASrB,YAAYU,GAAGzhB,GAAGG,EAAE,EAAEH,EAAEmR,UAAUwT,WAAW,SAAS3kB,GAAGuR,KAAK6S,MAAM7H,IAAIvc,IAAIuR,KAAK6S,MAAM1jB,IAAIV,GAAG4kB,OAAO,EAAE5kB,EAAEmR,UAAU0T,WAAW,SAAS7kB,GAAGuR,KAAK6Q,SAASnB,WAAWQ,GAAGzhB,IAAIuR,KAAKoT,WAAW3kB,EAAE,EAAEA,EAAEmR,UAAU2T,SAAS,WAAWvT,KAAKsP,SAAI,CAAM,EAAE7gB,CAAC,CAA/sD,GAAmtD+kB,GAAG,KAAKC,GAAG,gBAAgB,SAASC,GAAGjlB,EAAEmP,GAAG,OAAOnP,EAAEuB,KAAI,SAASvB,GAAG,MAAM,SAASA,EAAE6D,OAAO7D,EAAEd,MAAM,GAAG2S,OAAO1C,EAAE,KAAK0C,OAAO7R,EAAEd,OAAOc,EAAEd,MAAMc,EAAEd,MAAMgmB,WAAW,IAAI,IAAIrT,OAAO1C,EAAE,MAAMnP,EAAE2B,MAAM3B,EAAE2B,MAAMJ,KAAI,SAASvB,GAAG,MAAM,GAAG6R,OAAO1C,EAAE,KAAK0C,OAAO7R,EAAE,KAAI2L,MAAMC,QAAQ5L,EAAEqB,WAAW,eAAerB,EAAE6D,OAAO7D,EAAEqB,SAAS4jB,GAAGjlB,EAAEqB,SAAS8N,IAAInP,CAAC,GAAE,CAAs0B,IAACmlB,GAAG,IAAIlB,GAAGmB,GAAh1B,SAAYplB,GAAG,IAAImP,EAAEhP,EAAE+b,EAAEI,EAAaK,GAAI5L,EAAEuL,EAAE4H,QAAQziB,OAAE,IAASsP,EAAE4L,GAAE5L,EAAEyG,EAAE8E,EAAE+I,QAAQ3N,OAAE,IAASF,EAAED,GAAEC,EAAE5F,EAAE,SAAS5R,EAAEkc,EAAEI,GAAG,OAAOA,EAAElZ,WAAWjD,IAAImc,EAAEgJ,SAASnlB,IAAImc,EAAE4I,WAAW/kB,EAAE,IAAI8Q,OAAO,EAAE,IAAIY,OAAO1C,GAAGnP,CAAC,EAAEmiB,EAAEzK,EAAEnK,QAAQ4U,EAAE7N,MAAK,SAAStU,GAAGA,EAAE6D,OAAO0hB,IAAWvlB,EAAEd,MAAM8M,SAAS,OAAOhM,EAAE2B,MAAM,GAAG3B,EAAE2B,MAAM,GAAGuB,QAAQ6hB,GAAG5kB,GAAG+C,QAAQgZ,EAAEtK,GAAG,IAAGnQ,EAAE2V,QAAQ+K,EAAE7N,KAAKkR,IAAYrD,EAAE7N,KAAKmR,IAAa,IAAIvU,EAAE,SAASlR,EAAEsc,EAAEvL,EAAEyG,QAAS,IAAG8E,IAAIA,EAAE,SAAI,IAASvL,IAAIA,EAAE,SAAI,IAASyG,IAAIA,EAAE,KAAKrI,EAAEqI,EAAErX,EAAEmc,EAAEJ,EAAE,IAAI2F,OAAO,KAAKhQ,OAAO1R,EAAE,OAAO,KAAK,IAAIuX,EAAE1X,EAAEkD,QAAQ8hB,GAAG,IAAIpT,EAAE8T,GAAU3U,GAAGuL,EAAE,GAAGzK,OAAOd,EAAE,KAAKc,OAAOyK,EAAE,OAAOzK,OAAO6F,EAAE,MAAMA,GAAGjW,EAAEkkB,YAAY/T,EAAEqT,GAAGrT,EAAEnQ,EAAEkkB,YAAY,IF2B70e9N,EE3Bi1e3G,EAAE,GAAG,OAAO0U,GAAYhU,EFU73e,SAAqBiU,GAC3B,IAAI5U,EAASmD,GAAOyR,GAEpB,OAAO,SAAUvO,EAASvD,EAAO1S,EAAUwW,GAG1C,IAFA,IAAIC,EAAS,GAEJrW,EAAI,EAAGA,EAAIwP,EAAQxP,IAC3BqW,GAAU+N,EAAWpkB,GAAG6V,EAASvD,EAAO1S,EAAUwW,IAAa,GAEhE,OAAOC,CACT,CACA,CErBs4egO,CAAa3D,EAAEtQ,QF2B13egG,EE3B64e,SAAS7X,GAAG,OAAOkR,EAAEoD,KAAKtU,EAAE,EF4B57e,SAAUsX,GACXA,EAAQ5C,OACR4C,EAAUA,EAAQ1C,SACrBiD,EAASP,EACb,MEhC08epG,CAAC,EAAE,OAAOA,EAAEmG,KAAKK,EAAEzG,OAAOyG,EAAExT,QAAO,SAASlE,EAAEmP,GAAG,OAAOA,EAAEqO,MAAMgD,GAAG,IAAIpD,GAAEpd,EAAEmP,EAAEqO,KAAK,GAAh5Y,MAAq5YuI,WAAW,GAAG7U,CAAC,CAAkB8U,GAAKC,GAAG/J,EAAAA,QAAE7X,cAAc,CAAC6hB,uBAAkB,EAAOC,WAAWhB,GAAGiB,OAAOhB,KAA+C,SAASiB,KAAK,OAAO3O,EAAC5S,WAACmhB,GAAG,CAAlD/J,EAAAA,QAAE7X,mBAAc,GAAiwB,IAAIiiB,GAAG,WAAW,SAAStmB,EAAEA,EAAEmP,GAAG,IAAIhP,EAAEoR,KAAKA,KAAKgV,OAAO,SAASvmB,EAAEmP,QAAS,IAAGA,IAAIA,EAAEiW,IAAI,IAAIlJ,EAAE/b,EAAEqd,KAAKrO,EAAEkI,KAAKrX,EAAE0kB,aAAavkB,EAAEiH,GAAG8U,IAAIlc,EAAE+gB,YAAY5gB,EAAEiH,GAAG8U,EAAE/M,EAAEhP,EAAE6V,MAAMkG,EAAE,cAAc,EAAE3K,KAAKiM,KAAKxd,EAAEuR,KAAKnK,GAAG,gBAAgByK,OAAO7R,GAAGuR,KAAKyE,MAAM7G,EAAEkR,GAAG9O,MAAK,WAAW,MAAMiP,GAAG,GAAGpN,OAAOjT,EAAEqd,MAAM,GAAE,CAAC,OAAOxd,EAAEmR,UAAUqV,QAAQ,SAASxmB,GAAG,YAAO,IAASA,IAAIA,EAAEolB,IAAI7T,KAAKiM,KAAKxd,EAAEqX,IAAI,EAAErX,CAAC,CAAhX,GAAoXymB,GAAG,SAASzmB,GAAG,OAAOA,GAAG,KAAKA,GAAG,GAAG,EAAE,SAAS0mB,GAAG1mB,GAAG,IAAI,IAAImP,EAAE,GAAGhP,EAAE,EAAEA,EAAEH,EAAEiR,OAAO9Q,IAAI,CAAC,IAAI+b,EAAElc,EAAEG,GAAG,GAAG,IAAIA,GAAG,MAAM+b,GAAG,MAAMlc,EAAE,GAAG,OAAOA,EAAEymB,GAAGvK,GAAG/M,GAAG,IAAI+M,EAAE9W,cAAc+J,GAAG+M,CAAC,CAAC,OAAO/M,EAAE/L,WAAW,OAAO,IAAI+L,EAAEA,CAAC,CAAC,IAAIwX,GAAG,SAAS3mB,GAAG,OAAO,MAAMA,IAAG,IAAKA,GAAG,KAAKA,CAAC,EAAE4mB,GAAG,SAASzX,GAAG,IAAIhP,EAAE+b,EAAEI,EAAE,GAAG,IAAI,IAAIvL,KAAK5B,EAAE,CAAC,IAAI1N,EAAE0N,EAAE4B,GAAG5B,EAAEiC,eAAeL,KAAK4V,GAAGllB,KAAKkK,MAAMC,QAAQnK,IAAIA,EAAEolB,OAAO/G,GAAGre,GAAG6a,EAAEhI,KAAK,GAAGzC,OAAO6U,GAAG3V,GAAG,KAAKtP,EAAE,KAAKye,GAAGze,GAAG6a,EAAEhI,KAAKhD,MAAMgL,EAAEtc,EAAEA,EAAE,CAAC,GAAG6R,OAAOd,EAAE,OAAO6V,GAAGnlB,IAAG,GAAI,CAAC,MAAK,IAAK6a,EAAEhI,KAAK,GAAGzC,OAAO6U,GAAG3V,GAAG,MAAMc,QAAQ1R,EAAE4Q,EAAE,OAAOmL,EAAEza,IAAI,kBAAkBya,GAAG,KAAKA,EAAE,GAAG,iBAAiBA,GAAG,IAAIA,GAAG/b,KAAK2mB,IAAG3mB,EAAEiD,WAAW,MAAMgQ,OAAO8I,GAAG7W,OAAO,GAAGwM,OAAOqK,EAAE,OAAO,MAAM,CAAC,OAAOI,CAAC,EAAE,SAASyK,GAAG/mB,EAAEmP,EAAEhP,EAAE+b,GAAG,GAAGyK,GAAG3mB,GAAG,MAAM,GAAG,GAAG+f,GAAG/f,GAAG,MAAM,CAAC,IAAI6R,OAAO7R,EAAEgnB,oBAAoB,GAAGlH,GAAG9f,GAAG,CAAC,IAAI8f,GAAG/O,EAAE/Q,IAAI+Q,EAAEI,WAAWJ,EAAEI,UAAU8V,mBAAmB9X,EAAE,MAAM,CAACnP,GAAG,IAAIsc,EAAEtc,EAAEmP,GAAG,MAAM,eAAe8L,QAAQC,IAAIW,UAAU,iBAAiBS,GAAG3Q,MAAMC,QAAQ0Q,IAAIA,aAAagK,IAAIpG,GAAG5D,IAAI,OAAOA,GAAGH,QAAQC,MAAM,GAAGvK,OAAOyL,GAAEtd,GAAG,qLAAqL+mB,GAAGzK,EAAEnN,EAAEhP,EAAE+b,EAAE,CAAC,IAAInL,EAAE,OAAO/Q,aAAasmB,GAAGnmB,GAAGH,EAAEumB,OAAOpmB,EAAE+b,GAAG,CAAClc,EAAEwmB,QAAQtK,KAAK,CAAClc,GAAGkgB,GAAGlgB,GAAG4mB,GAAG5mB,GAAG2L,MAAMC,QAAQ5L,GAAG2L,MAAMwF,UAAUU,OAAOP,MAAMiG,GAAEvX,EAAEuB,KAAI,SAASvB,GAAG,OAAO+mB,GAAG/mB,EAAEmP,EAAEhP,EAAE+b,EAAE,KAAI,CAAClc,EAAE+lB,WAAW,CAAC,SAASmB,GAAGlnB,GAAG,IAAI,IAAImP,EAAE,EAAEA,EAAEnP,EAAEiR,OAAO9B,GAAG,EAAE,CAAC,IAAIhP,EAAEH,EAAEmP,GAAG,GAAG2Q,GAAG3f,KAAK4f,GAAG5f,GAAG,OAAM,CAAE,CAAC,OAAQ,CAAA,CAAI,IAACgnB,GAAGhQ,GAAEmE,IAAG8L,GAAG,WAAW,SAASpnB,EAAEA,EAAEmP,EAAEhP,GAAGoR,KAAKyE,MAAMhW,EAAEuR,KAAK8V,cAAc,GAAG9V,KAAK+V,SAAS,eAAerM,QAAQC,IAAIW,gBAAW,IAAS1b,GAAGA,EAAEmnB,WAAWJ,GAAGlnB,GAAGuR,KAAKgW,YAAYpY,EAAEoC,KAAKiW,SAASpK,GAAE+J,GAAGhY,GAAGoC,KAAKkW,UAAUtnB,EAAE8jB,GAAGK,WAAWnV,EAAE,CAAC,OAAOnP,EAAEmR,UAAUuW,wBAAwB,SAAS1nB,EAAEmP,EAAEhP,GAAG,IAAI+b,EAAE3K,KAAKkW,UAAUlW,KAAKkW,UAAUC,wBAAwB1nB,EAAEmP,EAAEhP,GAAG,GAAG,GAAGoR,KAAK+V,WAAWnnB,EAAEkX,KAAK,GAAG9F,KAAK8V,eAAelY,EAAEuV,aAAanT,KAAKgW,YAAYhW,KAAK8V,eAAenL,EAAE8D,GAAG9D,EAAE3K,KAAK8V,mBAAmB,CAAC,IAAI/K,EAAE2D,GAAG8G,GAAGxV,KAAKyE,MAAMhW,EAAEmP,EAAEhP,IAAI4Q,EAAEkG,GAAEmG,GAAE7L,KAAKiW,SAASlL,KAAK,GAAG,IAAInN,EAAEuV,aAAanT,KAAKgW,YAAYxW,GAAG,CAAC,IAAItP,EAAEtB,EAAEmc,EAAE,IAAIzK,OAAOd,QAAG,EAAOQ,KAAKgW,aAAapY,EAAE4R,YAAYxP,KAAKgW,YAAYxW,EAAEtP,EAAE,CAACya,EAAE8D,GAAG9D,EAAEnL,GAAGQ,KAAK8V,cAActW,CAAC,KAAK,CAAC,IAAI,IAAIyG,EAAE4F,GAAE7L,KAAKiW,SAASrnB,EAAEkX,MAAMK,EAAE,GAAG9F,EAAE,EAAEA,EAAEL,KAAKyE,MAAM/E,OAAOW,IAAI,CAAC,IAAIuQ,EAAE5Q,KAAKyE,MAAMpE,GAAG,GAAG,iBAAiBuQ,EAAEzK,GAAGyK,EAAE,eAAelH,QAAQC,IAAIW,WAAWrE,EAAE4F,GAAE5F,EAAE2K,SAAS,GAAGA,EAAE,CAAC,IAAIjR,EAAE+O,GAAG8G,GAAG5E,EAAEniB,EAAEmP,EAAEhP,IAAIqX,EAAE4F,GAAE5F,EAAEtG,EAAEU,GAAG8F,GAAGxG,CAAC,CAAC,CAAC,GAAGwG,EAAE,CAAC,IAAIlX,EAAEyW,GAAEO,IAAI,GAAGrI,EAAEuV,aAAanT,KAAKgW,YAAY/mB,IAAI2O,EAAE4R,YAAYxP,KAAKgW,YAAY/mB,EAAEL,EAAEuX,EAAE,IAAI7F,OAAOrR,QAAG,EAAO+Q,KAAKgW,cAAcrL,EAAE8D,GAAG9D,EAAE1b,EAAE,CAAC,CAAC,OAAO0b,CAAC,EAAElc,CAAC,CAAjjC,GAAqjC2nB,GAAGzL,EAAAA,QAAE7X,mBAAc,GAAgeujB,GAAG,CAAA,EAAGC,GAAG,IAAI7L,IAAI,SAAS8L,GAAG9nB,EAAEsc,EAAEvL,GAAG,IAAItP,EAAEse,GAAG/f,GAAGwX,EAAExX,EAAE0X,GAAG+F,GAAEzd,GAAGkR,EAAEoL,EAAEyL,MAAMvnB,OAAE,IAAS0Q,EAAEqG,GAAErG,EAAE4V,EAAExK,EAAEiL,YAAY5P,OAAE,IAASmP,EAAE,SAAS9mB,EAAEmP,GAAG,IAAIhP,EAAE,iBAAiBH,EAAE,KAAKid,GAAEjd,GAAG4nB,GAAGznB,IAAIynB,GAAGznB,IAAI,GAAG,EAAE,IAAI+b,EAAE,GAAGrK,OAAO1R,EAAE,KAAK0R,OAAOwL,GAAE/B,GAAEnb,EAAEynB,GAAGznB,KAAK,OAAOgP,EAAE,GAAG0C,OAAO1C,EAAE,KAAK0C,OAAOqK,GAAGA,CAAC,CAArJ,CAAuJI,EAAEiB,YAAYjB,EAAE0L,mBAAmBlB,EAAEzL,EAAEiB,EAAEiB,YAAYrG,OAAE,IAASmE,EAAE,SAASrb,GAAG,OAAOyd,GAAEzd,GAAG,UAAU6R,OAAO7R,GAAG,UAAU6R,OAAOyL,GAAEtd,GAAG,IAAI,CAAtE,CAAwEA,GAAGqb,EAAEE,EAAEe,EAAEiB,aAAajB,EAAEiL,YAAY,GAAG1V,OAAOoL,GAAEX,EAAEiB,aAAa,KAAK1L,OAAOyK,EAAEiL,aAAajL,EAAEiL,aAAa5P,EAAE6D,EAAE/Z,GAAG+V,EAAEuQ,MAAMvQ,EAAEuQ,MAAMlW,OAAOrR,GAAG8L,OAAO4B,SAAS1N,EAAEkb,EAAEY,EAAE4J,kBAAkB,GAAGzkB,GAAG+V,EAAE0O,kBAAkB,CAAC,IAAIzO,EAAED,EAAE0O,kBAAkB,GAAG5J,EAAE4J,kBAAkB,CAAC,IAAIpK,EAAEQ,EAAE4J,kBAAkBxK,EAAE,SAAS1b,EAAEmP,GAAG,OAAOsI,EAAEzX,EAAEmP,IAAI2M,EAAE9b,EAAEmP,EAAE,CAAC,MAAMuM,EAAEjE,CAAC,CAAC,IAAIsE,EAAE,IAAIqL,GAAGrW,EAAEwK,EAAE9Z,EAAE+V,EAAEyQ,oBAAe,GAAQ,SAASlL,EAAE/c,EAAEsc,GAAG,OAAO,SAAStc,EAAEsc,EAAEvL,GAAG,IAAItP,EAAEzB,EAAE+nB,MAAMvQ,EAAExX,EAAEioB,eAAevQ,EAAE1X,EAAEoe,aAAalN,EAAElR,EAAEkoB,mBAAmB1nB,EAAER,EAAEgnB,kBAAkBF,EAAE9mB,EAAEuJ,OAAOoO,EAAEuE,EAACjc,QAAC6E,WAAW6iB,IAAItM,EAAEgL,KAAKnP,EAAElX,EAAEkmB,mBAAmB7K,EAAE6K,kBAAkB,eAAejL,QAAQC,IAAIW,UAAUjK,EAAAA,cAAEpR,GAAG,IAAI8a,EAAEsB,GAAEN,EAAE3E,EAAED,IAAIiF,GAAEpB,EAAE,SAASvb,EAAEG,EAAE+b,GAAG,IAAI,IAAII,EAAEvL,EAAE5B,EAAEA,EAAE,CAAA,EAAGhP,GAAG,CAACgoB,eAAU,EAAOtL,MAAMX,IAAIza,EAAE,EAAEA,EAAEzB,EAAEiR,OAAOxP,GAAG,EAAE,CAAC,IAAI+V,EAAEsI,GAAGxD,EAAEtc,EAAEyB,IAAI6a,EAAEvL,GAAGuL,EAAE,IAAI,IAAI5E,KAAKF,EAAEzG,EAAE2G,GAAG,cAAcA,EAAEsI,GAAGjP,EAAE2G,GAAGF,EAAEE,IAAI,UAAUA,EAAEvI,EAAEA,EAAE,CAAE,EAAC4B,EAAE2G,IAAIF,EAAEE,IAAIF,EAAEE,EAAE,CAAC,OAAOvX,EAAEgoB,YAAYpX,EAAEoX,UAAUnI,GAAGjP,EAAEoX,UAAUhoB,EAAEgoB,YAAYpX,CAAC,CAApQ,CAAsQtP,EAAE6a,EAAEhB,GAAGE,EAAED,EAAEtT,IAAI6e,EAAEpL,EAAE,CAAE,EAAC,IAAI,IAAIjE,KAAK8D,OAAQ,IAAGA,EAAE9D,IAAI,MAAMA,EAAE,IAAI,OAAOA,GAAG,UAAUA,GAAG8D,EAAEsB,QAAQvB,IAAI,gBAAgB7D,EAAEiE,EAAEzT,GAAGsT,EAAE6M,YAAYlR,IAAIA,EAAEO,EAAE+D,KAAKE,EAAEjE,GAAG8D,EAAE9D,GAAGP,GAAG,gBAAgB+D,QAAQC,IAAIW,UAAU1b,EAAEsX,IAAIoQ,GAAGtL,IAAI9E,KAAKqF,GAAEP,IAAIf,KAAKqM,GAAGpL,IAAIhF,GAAG0E,QAAQK,KAAK,qDAAqD3K,OAAO4F,EAAE,4VAA4V,IAAIqE,EAAE,SAAS9b,EAAEmP,GAAG,IAAIhP,EAAEkmB,KAAKnK,EAAElc,EAAE0nB,wBAAwBvY,EAAEhP,EAAEgmB,WAAWhmB,EAAEimB,QAAQ,MAAM,eAAenL,QAAQC,IAAIW,UAAUjK,EAAAA,cAAEsK,GAAGA,CAAC,CAA/H,CAAiI1E,EAAE+D,GAAG,eAAeN,QAAQC,IAAIW,UAAU7b,EAAEqoB,oBAAoBroB,EAAEqoB,mBAAmBvM,GAAG,IAAIC,EAAEiE,GAAG9O,EAAE1Q,GAAG,OAAOsb,IAAIC,GAAG,IAAID,GAAGP,EAAE4M,YAAYpM,GAAG,IAAIR,EAAE4M,WAAWzM,EAAE+B,GAAEjC,KAAKsB,GAAEP,IAAIf,GAAG,QAAQ,aAAaO,EAAEhL,IAAI2K,EAAEjU,IAAIsJ,GAAGoR,EAACQ,cAACnH,EAAEE,EAAE,CAA3/C,CAA6/CsB,EAAEhd,EAAEsc,EAAE,CAACS,EAAEQ,YAAYrG,EAAE,IAAI8F,EAAEd,EAAAA,QAAE3U,WAAWwV,GAAG,OAAOC,EAAE+K,MAAMvM,EAAEwB,EAAEiL,eAAelM,EAAEiB,EAAEO,YAAYrG,EAAE8F,EAAEkJ,kBAAkBxK,EAAEsB,EAAEkL,mBAAmBzmB,EAAEue,GAAGxI,EAAE0Q,mBAAmB1Q,EAAEwP,mBAAmB,GAAGhK,EAAEgK,kBAAkBzL,EAAEyB,EAAEzT,OAAO9H,EAAE+V,EAAEjO,OAAOvJ,EAAEjB,OAAOC,eAAege,EAAE,eAAe,CAACtc,IAAI,WAAW,OAAO6Q,KAAK+W,mBAAmB,EAAE7Y,IAAI,SAASzP,GAAGuR,KAAK+W,oBAAoB7mB,EAAE,SAASzB,GAAG,IAAI,IAAImP,EAAE,GAAGhP,EAAE,EAAEA,EAAE6Q,UAAUC,OAAO9Q,IAAIgP,EAAEhP,EAAE,GAAG6Q,UAAU7Q,GAAG,IAAI,IAAI+b,EAAE,EAAEI,EAAEnN,EAAE+M,EAAEI,EAAErL,OAAOiL,IAAIkE,GAAGpgB,EAAEsc,EAAEJ,IAAG,GAAI,OAAOlc,CAAC,CAA7H,CAA+H,CAAA,EAAGwX,EAAE4G,aAAape,GAAGA,CAAC,IAAI,eAAeib,QAAQC,IAAIW,WAAWI,GAAE/E,EAAEqE,GAAGyB,EAAEqL,mBAAmB,SAASroB,EAAEmP,GAAG,IAAIhP,EAAE,CAAE,EAAC+b,GAAE,EAAG,OAAO,SAASI,GAAG,IAAIJ,IAAI/b,EAAEmc,IAAG,EAAGvd,OAAOsB,KAAKF,GAAG8Q,QAAQ,KAAK,CAAC,IAAIF,EAAE5B,EAAE,oBAAoB0C,OAAO1C,EAAE,KAAK,GAAGgN,QAAQK,KAAK,QAAQ3K,OAAO,IAAI,0CAA0CA,OAAO7R,GAAG6R,OAAOd,EAAE,OAAO,+PAA+PmL,GAAE,EAAG/b,EAAE,CAAE,CAAA,CAAC,CAAC,CAAvf,CAAyf+W,EAAEqE,IAAI8E,GAAGrD,GAAE,WAAW,MAAM,IAAInL,OAAOmL,EAAEgK,kBAAkB,IAAGtP,GAAGmI,GAAG7C,EAAEhd,EAAE,CAAC+nB,OAAM,EAAGE,gBAAe,EAAG1K,aAAY,EAAG2K,oBAAmB,EAAGhC,mBAAkB,EAAGc,mBAAkB,EAAGzd,QAAO,IAAKyT,CAAC,CAAC,SAASuL,GAAGvoB,EAAEmP,GAAG,IAAI,IAAIhP,EAAE,CAACH,EAAE,IAAIkc,EAAE,EAAEI,EAAEnN,EAAE8B,OAAOiL,EAAEI,EAAEJ,GAAG,EAAE/b,EAAEmU,KAAKnF,EAAE+M,GAAGlc,EAAEkc,EAAE,IAAI,OAAO/b,CAAC,CAAC,IAAIqoB,GAAG,SAASxoB,GAAG,OAAOjB,OAAO+R,OAAO9Q,EAAE,CAAC6mB,OAAM,GAAI,EAAE,SAAS4B,GAAGtZ,GAAG,IAAI,IAAIhP,EAAE,GAAG+b,EAAE,EAAEA,EAAElL,UAAUC,OAAOiL,IAAI/b,EAAE+b,EAAE,GAAGlL,UAAUkL,GAAG,GAAG4D,GAAG3Q,IAAI+Q,GAAG/Q,GAAG,OAAOqZ,GAAGzB,GAAGwB,GAAGhR,GAAEvX,EAAE,CAACmP,GAAGhP,GAAE,MAAO,IAAImc,EAAEnN,EAAE,OAAO,IAAIhP,EAAE8Q,QAAQ,IAAIqL,EAAErL,QAAQ,iBAAiBqL,EAAE,GAAGyK,GAAGzK,GAAGkM,GAAGzB,GAAGwB,GAAGjM,EAAEnc,IAAI,CAAC,SAASuoB,GAAGvoB,EAAE+b,EAAEI,GAAG,QAAG,IAASA,IAAIA,EAAEK,KAAIT,EAAE,MAAMsE,GAAG,EAAEtE,GAAG,IAAInL,EAAE,SAAS5B,GAAG,IAAI,IAAI4B,EAAE,GAAGtP,EAAE,EAAEA,EAAEuP,UAAUC,OAAOxP,IAAIsP,EAAEtP,EAAE,GAAGuP,UAAUvP,GAAG,OAAOtB,EAAE+b,EAAEI,EAAEmM,GAAGnX,WAAM,EAAOtR,EAAE,CAACmP,GAAG4B,GAAE,IAAK,EAAE,OAAOA,EAAEgX,MAAM,SAAS/nB,GAAG,OAAO0oB,GAAGvoB,EAAE+b,EAAE/M,EAAEA,EAAE,CAAE,EAACmN,GAAG,CAACyL,MAAMpc,MAAMwF,UAAUU,OAAOyK,EAAEyL,MAAM/nB,GAAGsM,OAAO4B,WAAW,EAAE6C,EAAE4X,WAAW,SAAS3oB,GAAG,OAAO0oB,GAAGvoB,EAAE+b,EAAE/M,EAAEA,EAAE,CAAA,EAAGmN,GAAGtc,GAAG,EAAE+Q,CAAC,CAAC,IAAI6X,GAAG,SAAS5oB,GAAG,OAAO0oB,GAAGZ,GAAG9nB,EAAE,EAAE6oB,GAAGD,GAAG9L,GAAExc,SAAQ,SAASN,GAAG6oB,GAAG7oB,GAAG4oB,GAAG5oB,EAAE,IAAG,IAAI8oB,GAAG,WAAW,SAAS9oB,EAAEA,EAAEmP,GAAGoC,KAAKyE,MAAMhW,EAAEuR,KAAKgW,YAAYpY,EAAEoC,KAAK+V,SAASJ,GAAGlnB,GAAGikB,GAAGK,WAAW/S,KAAKgW,YAAY,EAAE,CAAC,OAAOvnB,EAAEmR,UAAU4X,aAAa,SAAS/oB,EAAEmP,EAAEhP,EAAE+b,GAAG,IAAII,EAAEJ,EAAE+D,GAAG8G,GAAGxV,KAAKyE,MAAM7G,EAAEhP,EAAE+b,IAAI,IAAInL,EAAEQ,KAAKgW,YAAYvnB,EAAEG,EAAE4gB,YAAYhQ,EAAEA,EAAEuL,EAAE,EAAEtc,EAAEmR,UAAU6X,aAAa,SAAShpB,EAAEmP,GAAGA,EAAE0V,WAAWtT,KAAKgW,YAAYvnB,EAAE,EAAEA,EAAEmR,UAAU8X,aAAa,SAASjpB,EAAEmP,EAAEhP,EAAE+b,GAAGlc,EAAE,GAAGikB,GAAGK,WAAW/S,KAAKgW,YAAYvnB,GAAGuR,KAAKyX,aAAahpB,EAAEG,GAAGoR,KAAKwX,aAAa/oB,EAAEmP,EAAEhP,EAAE+b,EAAE,EAAElc,CAAC,CAAlc,GAAkoH,eAAeib,QAAQC,IAAIW,UAAU,oBAAoBqN,WAAW,gBAAgBA,UAAUC,SAAShN,QAAQK,KAAK,wNAAwN,IAAI4M,GAAG,QAAQvX,OAAO8F,GAAE,MAAM,eAAesD,QAAQC,IAAIW,UAAU,SAASZ,QAAQC,IAAIW,UAAU,oBAAoBJ,SAASA,OAAO2N,MAAM3N,OAAO2N,IAAI,GAAG,IAAI3N,OAAO2N,KAAKjN,QAAQK,KAAK,4TAA4Tf,OAAO2N,KAAK,GCO9g5B,MAAMC,GAAOC,GAAOC,GAAA;;;;;;;;wBbmZX;yBa1YgB7Y,EAAUC;;;;;;;;;;;;wBbsN1B;;EajMH6Y,GAA4B7nB,IAChC,MAAMqH,KAACA,EAAM0E,KAAAA,EAAAL,UAAMA,EAAWoc,QAAAA,GAAU,GAAS9nB,EAC3C+nB,EAAY1gB,EAAKrG,MACjBgnB,EAASnqB,EAAMwH,SAAQ,KAC3B,IAAKyiB,EACI,OAAA,KAET,GAA6B,mBAAlBzgB,EAAK3H,UAA2B2H,EAAK4D,SAG9C,aAAQgd,EAAQA,QAAA,IAGZ,MAAAC,QACH,MACC,CAAAxoB,SAAAF,EAAAA,IAACyI,EAAAA,OAAA,CACCC,KAAK,QACLigB,SAAU,EACVC,SAAU,EACVjoB,MAAO,CACLkoB,OAAQhhB,EAAKvF,YAAc,OAAS,UACpCwmB,SAAU,aAEZ,UAAQ,mBACR,mBAAkBR,EAClBlf,UAAWvB,EAAKvF,YAEhBpC,eAAC6oB,iBAAe,CAAApoB,MAAO,CAACqoB,aAAc,gBAMxC,OAACnhB,EAAKvF,YAKH9B,EAAMyoB,kBAAkBP,EAAY,CACzCQ,WAAY,SALLR,CAMR,GACA,CAACJ,EAASzgB,EAA+B,mBAAlBA,EAAK3H,WAEzBipB,EAAsB3oB,EAAM4oB,aAAeC,EAAaA,aAAA7oB,EAAM4oB,YAAavhB,GAC3EyhB,GAAsB9oB,EAAM+oB,SAAW/oB,EAAMgpB,WAEnD,cACG5nB,EAAAA,IAAI,CAAAjB,MAAO,CAAC8R,SAAU,YACpBvS,SAAA,CAAMM,EAAAipB,0BACL5hB,EAAK3H,WACJ2H,EAAK3H,SAAS4P,OAAS,GAA8B,mBAAlBjI,EAAK3H,WACvCF,EAAAA,IAAC,MAAA,CACCW,MAAO,CACL8R,SAAU,WACViX,KAAM,OACNC,IAAK,MACLC,UAAW,0BAGb1pB,SAAAF,EAAAA,IAACyI,EAAAA,OAAA,CACC,aAAYZ,EAAK4D,SAAW,WAAa,SACzC9C,KACEd,EAAK4D,SACFzL,EAAAA,IAAA6pB,EAAAA,gBAAA,CAAgBC,MAAOva,EAAUC,MAEjCxP,EAAAA,IAAA+pB,EAAAA,iBAAA,CAAiBD,MAAOva,EAAUC,MAGvC9G,KAAK,QACLogB,SAAU,EACVpoB,QAAS,EACTgC,KAAK,SACLwG,QAASA,IACP1I,EAAMipB,2BAA2B,CAC/B5hB,OACA0E,OACAL,kBAOX1L,EAAMwpB,yBACJ,MACC,CAAA9pB,SAAAF,EAAAA,IAACkoB,GAAA,CACC,eAAcoB,EACd,cAAaA,IAAuB9oB,EAAMypB,QAC1CtpB,MAAO,CACLmY,QAASqQ,EAAsB,GAAM,GAGvCjpB,SAAAiB,EAAAA,KAACsF,EAAKA,KAAA,CAAAE,MAAM,SACTzG,SAAA,CAAAsoB,EACqB,mBAAdD,EAA2BA,EAAU/nB,GAAS+nB,YAKhE,ECrIE2B,GAMD1pB,IACG,MAAA8H,EAAU9H,EAAM2pB,QAAU3pB,EAAMypB,QAChCG,EAAY5pB,EAAM2pB,SAAW3pB,EAAMypB,QACzC,IAAI/oB,EAAiB,cAQnB,OAPEoH,IACKpH,EAAA,YAELkpB,IACKlpB,EAAA,WAGPlB,EAAAA,IAAC4B,EAAAA,IAAI,CAAAlB,QAAS,EACZR,SAAAF,EAAAA,IAACc,EAAAA,KAAA,CACCJ,QAAS,EACTM,OAAQ,EACRD,QAAM,EACNG,OACAP,MAAO,CACL0pB,YAAa7pB,EAAM2pB,YAAS,EAAY,UAG1CjqB,SAAAiB,EAAAA,KAACC,SAAMC,MAAO,EAAGV,MAAO,CAAC2pB,UAAW,UAClCpqB,SAAA,CAAAiB,OAACQ,EAAAA,MAAKJ,KAAM,EAAGuF,GAAG,KAAKnC,OAAK,EACzBzE,SAAA,EAACM,EAAM2pB,QAAU3pB,EAAMgB,MACvB8G,GAAW,YACX8hB,GAAa,iCAEf5pB,EAAMiB,UAAYzB,EAAAA,IAAC2B,QAAKJ,KAAM,EAAIrB,WAAMuB,WACxCjB,EAAMN,eAGb,ECnCEqqB,IHLigxB,SAAYvrB,GAAG,IAAI,IAAImc,EAAE,GAAGvL,EAAE,EAAEA,EAAEC,UAAUC,OAAOF,IAAIuL,EAAEvL,EAAE,GAAGC,UAAUD,GAAG,IAAItP,EAAEgnB,GAAGnX,WAAM,EAAOtR,EAAE,CAACG,GAAGmc,GAAE,IAAK9E,EAAE,aAAa3F,OAAOwL,GAAEsO,KAAK5T,UAAUtW,KAAKiW,EAAE,IAAIoR,GAAGrnB,EAAE+V,GAAG,eAAeyD,QAAQC,IAAIW,UAAUI,GAAEzE,GAAG,IAAI5F,EAAE,SAAS5R,GAAG,IAAIG,EAAEkmB,KAAK/J,EAAEJ,EAAAA,QAAEpX,WAAW6iB,IAAI5W,EAAEmL,EAAAA,QAAE0P,OAAOzrB,EAAEgmB,WAAW1B,mBAAmBjN,IAAIqU,QAAQ,MAAM,eAAe5Q,QAAQC,IAAIW,UAAUK,UAAE4P,SAAStW,MAAMxV,EAAEqB,WAAW8a,QAAQK,KAAK,8BAA8B3K,OAAO2F,EAAE,sEAAsE,eAAeyD,QAAQC,IAAIW,UAAUpa,EAAEwF,MAAK,SAASjH,GAAG,MAAM,iBAAiBA,IAAK,IAAGA,EAAE6T,QAAQ,UAAU,KAAIsI,QAAQK,KAAK,gVAAgVrc,EAAEgmB,WAAW9B,QAAQ,SAASrkB,EAAEG,EAAE+b,EAAEI,EAAEvL,GAAG,GAAG2G,EAAE4P,SAAS5P,EAAEuR,aAAajpB,EAAEyX,GAAEyE,EAAEnL,OAAO,CAAC,IAAItP,EAAE0N,EAAEA,EAAE,CAAA,EAAGhP,GAAG,CAAC0c,MAAMD,GAAEzc,EAAEmc,EAAE1K,EAAEwM,gBAAgB1G,EAAEuR,aAAajpB,EAAEyB,EAAEya,EAAEnL,EAAE,CAAC,CAAtI,CAAwIA,EAAE/Q,EAAEG,EAAEgmB,WAAW7J,EAAEnc,EAAEimB,QAAQ,IAAI,EAAE,OAAOlK,EAACjc,QAAC8rB,KAAKna,EAAE,EGKxozB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA6BChB,EAAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDAkDoBC,EAAUD;uDACTC,EAAUD;;;;;;;;;;;;;;;;;;;;;;yDAsBRC,EAAUD;uDACZC,EAAUD;;;;;;;;;;;;;;;;;uDAiBVC,EAAUD;;;;;;;EAS3Dqb,GAA2CrqB,IACzC,MAAAsqB,mBACJA,EAAAC,qBACAA,EAAAC,UACAA,EAAAC,UACAA,EAAAC,SACAA,EAAAC,WACAA,EAAAjf,UACAA,GACE1L,EAGE4qB,EAA8BN,EAAmB1qB,KACrD,CAACirB,EAA2B/qB,KAC1B,GAAI+qB,EAAoB,GAAKnf,IAAc8e,GAAa1qB,IAAM2qB,EACrD,OAAA,KAKT,IAAIK,EAAqB,GAKFA,EAHnBN,KAAeE,GAAY,IAAMC,GAAc,GAAK,EAGjC,iCACZjf,IAAcgf,EAEF,8BAGA,6BAGvB,MAAMvqB,EAAQ,CACZM,MAAO8pB,EACPrB,KAAMqB,EAAuBzqB,GAI7B,OAAAN,EAAAA,IAAC,MAAA,CAECW,QACAqmB,UAAW,2CAA2CsE,GAAsB,KAC5EC,UAAU,GAHLjrB,EAIP,IAKN,OAEKa,EAAAA,KAAAlB,WAAA,CAAAC,SAAA,CAAAkrB,QACAb,GAAe,CAAA,KAClB,ECnLEiB,GAAyBhrB,IAC7B,MAAMN,SAACA,EAAU4qB,mBAAAA,EAAAW,kBAAoBA,SAAmBtB,EAAQf,YAAAA,EAAAa,QAAaA,GAAWzpB,EAGlFkrB,EAAqBZ,EAAmBhb,OAEvC,OAAA2b,EACJtqB,EAAAA,KAAA,MAAA,CAAIR,MAAOH,EAAMG,MAChBT,SAAA,CAAAF,EAAAA,IAAC,MAAA,CACCW,MAAO,CAELgrB,YAdgB,GACF,GAayCD,EAA1C,MAGdxrB,WAAMyqB,SAASvqB,IAAIF,GAAWwK,GAC7BrM,EAAMutB,aAAalhB,EAAkC,CACnDyf,SACAF,UACAb,oBAINppB,MAAC6qB,GAA0B,IAAGrqB,OAElC,ECtBW,MAAAqrB,GAA2BrrB,GAC/BA,EAAMN,SCWT4rB,GAKAtrB,IACJ,MAAO0G,OAAQzD,EAAAwH,SAAgBA,G9BsCjC,SAAoC8X,GAIlC,MAAMgJ,EAASC,EAAAA,UAAU,CACvBC,WAAY,gBAEP/kB,EAAQglB,GAAa7tB,EAAM8tB,SAAiB,YAC5ClhB,EAAUmhB,GAAY/tB,EAAMguB,WAAW7pB,EAAiB,IAE/D,SAAS8pB,EAAeC,GACH,aAAfA,EAAM7pB,OAIN6pB,EAAMC,OACRJ,EAAS,CAAC1pB,KAAM,gBAAiBN,KAAMmqB,EAAMC,SAE7CJ,EAAS,CAAC1pB,KAAM,aAAcC,OAAQ4pB,EAAME,aAC9C,CAGF,SAASC,EAAgB5pB,GACvBspB,EAAS,CAAC1pB,KAAM,iBAAkBI,UAClCopB,EAAU,UAAS,CAuBd,OApBP7tB,EAAMsuB,WAAU,KACd,MAAMxhB,OAACA,EAAAhD,OAAQA,GA1FnB,SAAuBykB,GAGrB,IAHqBC,YAACA,EAAaC,iBAAAA,GAGnCF,EACM,MAAAG,EAAwB,CAAC,sBAMxB,OAJHD,GAAkB3hB,QACR4hB,EAAA5Z,KAAK2Z,EAAiB3hB,QAG7B,CACLA,OAAQ4hB,EAAYlW,KAAK,QACzB1O,OAAQ,IACF2kB,GAAkBE,cAAgB,CAAC,EACvCC,SAAUJ,EAAYzsB,KAAK6G,GAAeA,KAGhD,CAyE6BimB,CAAcnK,GACjCoK,EAAQ,KAAKhiB,2DAMhB4gB,EAAAqB,MAAwBD,EAAOhlB,GAC/BklB,KAAKX,GACLY,OAAM,KACLpB,EAAU,QAAO,IAGrB,MAAMqB,EAAWxB,EAAOyB,OAAOL,EAAOhlB,GAAQslB,UAAUnB,GACxD,MAAO,KACLiB,EAASG,aAAY,CACvB,GACC,IAEI,CACLxmB,SACA+D,WAEJ,C8BzF6C0iB,CAAYntB,EAAMuiB,SACvD6K,GvB4DwBnkB,EuB5DO,CAACuB,KAAMxK,EAAMwK,KAAMC,avBgE9CD,KAMHpN,OAAOiwB,QAAQpkB,EAAKwB,UACxBE,QACC2iB,IAAA,IAAExrB,GACAwrB,EAAA,OAAAxrB,IAECmH,EAAKuB,KAAKlF,MAAMioB,GAAaA,GAAUhwB,OAAOqH,WAAWc,OAAS5D,GAAW,IAEjFlC,KAAI4tB,IAAA,IAAIC,CAAAA,GAAkBD,EAAA,OAAAtiB,EAAmBuiB,EAAa,IAC1D9iB,OAAO4B,SAbDnP,OAAOiwB,QAAQpkB,EAAKwB,UACxB7K,KAAKrC,GAAU2N,EAAmB3N,EAAM,MACxCoN,OAAO4B,SAPkBtD,MuB1D9B,MAAMyD,UAACA,EAAAghB,uBAAWA,GCpBpB,SAAqCC,GASnC,IATmCnjB,KACnCA,EAAAC,SACAA,GAOAkjB,EACA,MAAOjjB,EAAekjB,GAAoB/vB,EAAM8tB,SAAwB,CAAA,GASjE,MAAA,CACLjf,UAAWpC,EAAiB,CAC1BE,OACAC,WACAC,kBAEFgjB,uBAbF,SAAgCzkB,GACb2kB,EAAA,IACZljB,EACH,CAACzB,EAAK5B,KAAKgB,MAAOY,EAAKgC,UACxB,EAWL,CDP8C4iB,CAAa,CACvDrjB,KAAMxK,EAAMwK,KACZC,aAGIrD,EAAa2G,EAA0B,CAC3CQ,YAAavO,EAAMuO,YACnBG,SAAU1O,EAAM0O,SAChBhC,eAGKohB,EAASC,GAAclwB,EAAM8tB,SAA6B,OAC1DqC,EAAgBC,GAAqBpwB,EAAM8tB,SAAiB,IAE7DuC,EAAuBA,KAC3B,MAAMC,EAAKtqB,SAASuqB,cAAc,IAAIpuB,EAAMuiB,QAAQ0J,gCAC9CoC,EAAYC,OAAOH,GAAII,QAAQC,WAAa,IAChCP,EE/CE,SAAc3gB,EAAsB+gB,GAInD,OAAG,GAAMA,EAHSI,EAAAA,oBAAoB,CAACnhB,aAGvC,IACT,CF0CsBohB,CAAchiB,EAAW2hB,GAAU,EAGvDxwB,EAAMsuB,WAAU,KACVnsB,EAAMuiB,QAAQ0J,YAChB8B,EAAWlqB,SAAS8qB,eAAe3uB,EAAMuiB,QAAQ0J,YAAW,GAE7D,CAACjsB,EAAMuiB,QAAQ0J,aAElBpuB,EAAMsuB,WAAU,KAEdyC,WAAWV,EAAoB,GAC9B,IAEHrwB,EAAMsuB,WAAU,KAEO+B,GAAA,GACpB,CAACluB,EAAMuiB,QAAQ0J,WAAYvf,IAE9B,MAAMmiB,EAAaC,EAAAA,aAChB7lB,GACC7B,EAAWtE,gBAAgBmG,IAC7B,CAAC7B,IAGG2nB,EAAY1pB,EAAAA,SAChB,IGpEJ,SAA2C2pB,GAOP,IAPOxsB,YACzCA,GAMkCwsB,EAC3B,MAAA,CACL9T,MAAO,CACL+T,oBAAqBpH,GACrBqH,oBAAsBlvB,GAAeR,MAACkqB,OAAwBlnB,KAAiBxC,IAC/EmvB,iBAAkBnE,GAClB7qB,MAAO,CAACivB,OAAQ,QAChBC,gBAAY,EACZ9E,qBAAsB,GACtB+E,gBAAiB,KAIvB,CHiDMC,CAAmB,CACjB/sB,YAAa,CACXxB,MAAO,oCAGb,IAGIwuB,EAAmBnqB,EAAAA,SACvB,KAAO,IAAI+B,EAAYnE,oBACvB,CAACmE,EAAYnE,IAGf,OACGzD,EAAAA,IAAA6rB,GAAA,CAEC3rB,SAACF,EAAAA,IAAA4B,EAAAA,IAAA,CAAIqE,GAAIzF,EAAMuiB,QAAQ0J,WACpBvsB,SACCouB,EAAAtuB,EAAAA,IAACiwB,cAAY,CAAAC,QAASC,eAAcpN,QAAS,CAACqN,YAAa9B,GACzDpuB,SAACF,EAAAA,IAAAiD,EAAsBotB,SAAtB,CAA+BtyB,MAAOiyB,EACrC9vB,SAACiB,EAAAA,KAAAC,EAAAA,MAAA,CAAMC,MAAO,EAAGivB,WAAY,EAC3BpwB,SAAA,CAAAF,EAAAA,IAACc,EAAAA,KAAA,CACCH,MAAO,CAAC4vB,UAAW/B,GAEnBgC,aAAiC,YAAnB/sB,GAAgCmqB,GAAc9d,OAAS,EAErE5P,SAAAF,EAAAA,IAAC1B,EAAAQ,QAAA,CACC2xB,SAAUjwB,EAAMuiB,QAAQ0N,SACxBvhB,SAAUwhB,GACVC,mBAAoBzC,EACpBjE,WACAoF,aACAvhB,SAAUZ,KACNqiB,MAIY,YAAnB9rB,GAAgCmqB,GAAc9d,OAAS,GACtD3O,EAAAA,KAACC,EAAMA,MAAA,CAAAC,MAAO,EAAGsnB,SAAU,EAAG2H,WAAY,EACxCpwB,SAAA,CAAAiB,OAACC,EAAAA,OAAMC,MAAO,EAAGsnB,SAAU,EAAGiI,cAAe,EAC3C1wB,SAAA,CAAAF,EAAAA,IAAC2B,QAAKJ,KAAM,EAAGuF,GAAG,KAAKU,OAAO,WAAWtH,SAEzC,yBACCyB,EAAAA,KAAK,CAAAJ,KAAM,EAAGoD,OAAK,EAACzE,SAErB,2CAED0tB,EAAaxtB,KAAKgC,GACjBpC,EAAAA,IAACmF,EAAA,CAEC/C,OACAK,OACEzC,EAAAA,IAACsE,EAAAA,QAAA,CACCC,QAAM,EACN+C,UAAU,OACV7I,QACGuB,EAAAA,IAAA4B,EAAAA,IAAA,CAAIlB,QAAS,EACZR,eAACyB,EAAAA,KAAK,CAAAJ,KAAM,EAAGrB,SAAA,kBAInBA,SAAAF,EAAAA,IAACyI,EAAAA,OAAA,CACCS,QAASA,KACPtB,EAAWzE,QAAQf,EAAI,EAEzBsG,KAAK,QACLC,KAAMkoB,EAAAA,cACNlwB,MAAO,CAACkoB,OAAQ,gBAlBjBzmB,EAAKE,aAAeF,EAAKkD,cA0BlB,YAAnB7B,GACCzD,EAAAA,IAACyG,EAAKA,KAAA,CAAA/F,QAAS,EAAGiG,MAAO,SAAUmqB,QAAS,SAC1C5wB,eAACuoB,EAAAA,QAAQ,CAAAlnB,KAAM,EAAGoD,OAAK,MAGP,UAAnBlB,GACCzD,EAAAA,IAACyG,OAAK,CAAA/F,QAAS,EAAGiG,MAAO,SAAUmqB,QAAS,SAC1C5wB,eAACyB,OAAK,CAAAJ,KAAM,EAAGiG,OAAO,WAAWtH,kEAQzC,QAER,EAIJ,SAAS+pB,GAAQ8G,GAAsC,IAAtC5hB,SAACA,EAAU6hB,SAAAA,GAA2BD,EAIrD,QAFE5hB,EAASW,QAAUkhB,EAASlhB,QAC5BkhB,EAASC,OAAM,CAACC,EAAgBte,IAA2BzD,EAASyD,KAAWse,IAEnF,CAEA,MAAMR,GAAoBA,OIxK1B,SAASS,GAAgBniB,GACvB,MAAMoiB,EAAYC,EAAAA,qBAAqBriB,EAAMzC,MAAQ,IACjD,GAAe,WAAfyC,EAAMtM,KAAmB,CACrB,MAAA+P,SAACA,EAAU3P,MAAAA,GAASkM,EACnB,MAAA,CACLX,OAAQ,CACNoE,CAACA,GAAW2e,EACZtuB,SAEJ,CAGE,GAAe,UAAfkM,EAAMtM,KACD,MAAA,CACLmK,MAAO,CAACukB,IAIR,IAACpiB,EAAMtM,KACT,MAAM,IAAI4c,MAAM,+BAA+BkL,KAAK5T,UAAU5H,MAEhE,OAAIoiB,EACK,CACL,CAACpiB,EAAMtM,MAAO,CACZ0uB,CAACA,GAAYpiB,EAAMjR,QAIlB,CACL,CAACiR,EAAMtM,MAAOsM,EAAMjR,MAExB,CC7BO,MAAMuzB,GAAoB,OAE3BC,GAA+C/wB,IAC7C,MAAAgxB,EAAchxB,EAAMuiB,QAAQ9Y,cAAgBC,EAC5CunB,EAAejxB,EAAMuiB,QAAQ2O,oBAAsBJ,IACnD1uB,UAACA,QAAWC,EAAO8uB,SAAAA,GAAYC,EAAaA,aAAApxB,EAAMuiB,QAAQ0J,WAAY+E,IACtExiB,MAACA,GAAS6iB,uBAAqBrxB,EAAMuiB,QAAQ0J,WAAY+E,GAEzDM,EAAalvB,IAAY6uB,IAAiB,GAE1CM,EAAe1zB,EAAMixB,aACxB1gB,IACMI,GAAOgjB,SAGZhjB,EAAMgjB,QAAmB1nB,EAAwBsE,EAAWH,QAAS+iB,GDpB1DpxB,IAAI+wB,ICoBmE,GAEpF,CAACniB,IAUH,OAPA3Q,EAAMsuB,WAAU,KACT/pB,GAAWL,MAAOyM,GAAOgjB,SAAYhjB,GAAO5F,UAE/C4F,EAAMgjB,QAAQ,CAAC,CAACrjB,aAAc,CAAC8iB,CAACA,GAAe,MAAK,GAErD,CAAC7uB,GAAWL,IAAKyM,IAEf2iB,EASD9uB,GAAON,IAEPvC,EAAAA,IAACO,EAAA,CACCiB,MAAM,uCACNC,SAAS,qHAMVmB,GAAWL,IASbvC,EAAAA,IAAA4B,EAAAA,IAAA,CAAIgvB,cAAe,EAAGqB,aAAc,EACnC/xB,SAAAF,EAAAA,IAAC8rB,GAAA,CACC/I,QAASviB,EAAMuiB,QACf/X,KAAM8mB,EACN5iB,SAAU6iB,EACVhjB,YAAa0iB,YAZdhrB,EAAKA,KAAA,CAAA/F,QAAS,EAAGiG,MAAO,SAAUmqB,QAAS,SAAUlB,OAAQ,OAC5D1vB,eAACuoB,EAAAA,QAAQ,CAAAxnB,MAAO,EAAG0D,OAAK,MApB1B3E,EAAAA,IAACO,EAAA,CACCiB,MAAM,wBACNC,SAAS,qNA+Bb,EC3EEywB,GAAiB,CACrBC,kBAAmB,uCACnBC,oBAAqB,+DACrBC,mBAAoB,qCAGE,SAAAC,GAAW/W,GAA+D,IAAzBgX,EAAA1iB,UAAAC,OAAA,QAAAiB,IAAAlB,UAAA,GAAAA,UAAA,GAAe,GAChF,MAAA,IAAIyP,MAAM,wBAAwB4S,GAAe3W,MAAYgX,IACrE,CCqBA,MAAMC,GAAqBhyB,IACnB,MAAAisB,WAACA,EAAYI,YAAAA,GAAersB,EAQlC,MAP0B,iBAAfisB,GAA4BA,GACrC6F,GAAW,qBAER9nB,MAAMC,QAAQoiB,IACNyF,GAAA,qBAAsB,gBAAgB7F,OAG3CgG,GAAczyB,EAAAA,IAACuxB,OAAsBkB,EAAW1P,QAASviB,GAAO,ECpB1E,MAAMkyB,GAAyDlyB,IAC7D,MAAMyJ,EAAezJ,EAAMkC,KAAKqgB,QAAQ9Y,cAAgBC,EAElDgF,EAAW7Q,EAAMixB,aACpBtgB,IACC,MAAMP,EAAUnE,EAAwB0E,GAAOP,QAASxE,GACxDzJ,EAAM0O,SAAS,IAAIL,EAAWA,WAAAJ,GAAQ,GAExC,CAACjO,EAAM0O,WAIP,OAAAlP,EAAAA,IAAC2yB,EAAAA,UAAA,CACCC,YAAapyB,EAAMkC,KAAKkwB,YACxBpxB,MAAOhB,EAAMkC,KAAKlB,MAClBqxB,oBAAqBryB,EAAMsyB,SAE3B5yB,SAAAF,EAAAA,IAAC8rB,GAAW,CAAA/I,QAASviB,EAAMkC,KAAKqgB,QAAS/X,KAAMxK,EAAMzC,OAAS,GAAImR,cACpE,ECrBJ,SAAS6jB,GAAgCC,GAIvB,IAJuBnG,YACvCA,EAAAC,iBACAA,EAAA7iB,aACAA,GACgB+oB,EACT,MAAA,CAEL3W,KAAMpS,EAAeD,EAAkBC,EAAc,aAAeG,EACpE1H,KAAM,SACNlB,MAAO,4BAA4ByI,KAEnCgpB,OAAQ,CACN,CAAC5W,KAAM,UAAW3Z,KAAM,UACxB,CACE2Z,KAAM,YACN3Z,KAAM,YACNwwB,MAAM,EACN5iB,GAAIuc,EAAYzsB,KAAKsC,IAAU,CAACA,WAChCqgB,QAAS+J,IAIjB,CAEA,SAASqG,GAA2BpQ,GAC3B,MAAA,CAEL1G,KAAM0G,EAAQ9Y,aACVD,EAAkB+Y,EAAQ9Y,aAAc,QACxCE,EACJ3I,MAAO,sBAAsBuhB,EAAQ9Y,gBACrCvH,KAAM,SACNuwB,OAAQ,CACN,CAAC5W,KAAM,SAAU3Z,KAAM,UAEvBqgB,EAAQ9Y,aACJ,CAACoS,KAAM,QAAS3Z,KAAMsH,EAAkB+Y,EAAQ9Y,aAAc,cAG9D,IACK8oB,GAAgChQ,GACnC1G,KAAM,QACN3Z,KAAM,WAIlB,CAEA,SAAS0wB,GAA4BrQ,GAC5B,MAAA,CAEL1G,KAAM0G,EAAQ9Y,aACVD,EAAkB+Y,EAAQ9Y,aAAc,SACxCI,EACJ7I,MAAO,gCAAgCuhB,EAAQ9Y,gBAC/CvH,KAAM,QACN2wB,GAAI,CACFtQ,EAAQ9Y,aACJ,CAACvH,KAAMsH,EAAkB+Y,EAAQ9Y,aAAc,SAC/CkpB,GAA2BpQ,IAGrC,CAEO,SAASuQ,MAOd,IAPsCjX,KAACA,EAAA7a,MAAMA,UAAOuhB,KAAYwQ,GAOhEC,EAKO,OAJFhpB,MAAMC,QAAQsY,GAAS8J,cACfyF,GAAA,qBAAsB,mBAAmBjW,OAG/C,IACFkX,EACHlX,OACA7a,QACAiyB,eAAgBf,GAChB3P,aACIA,EAAQ9Y,aACR,CAACvH,KAAMsH,EAAkB+Y,EAAQ9Y,aAAc,UAC/C,IACKmpB,GAA4BrQ,GAC/B1G,QAGV,CAEA,SAASqX,GAA0B3Q,GAC1B,MAAA,CACL1G,KAAM0G,EAAQ9Y,aACdzI,MAAO,oBACPkB,KAAM,WAGNivB,UAAU,EACVsB,OAAQ,CACNK,GAAwB,CACtBjX,KAAM0G,EAAQ2O,oBAAsBJ,GACpC9vB,MAAO,oBACPuhB,aAGJ4Q,QAAS,CACPC,OAAQ,CACN3tB,GAAI,MACJ+E,KAAM,QAER6oB,OAAAA,CAAQC,GAAmE,IAAnE7tB,GAACA,EAAI+E,KAAAA,GAA8D8oB,EAClE,MAAA,CACLtyB,MAAO,+BAA+ByE,KACtCxE,SAAU,GAAGuJ,GAAM8E,QAAU,6BAC/B,GAIR,CCpIA,IAAAikB,GAAeC,aAAW,CACxB3X,KAAM,iBACN7a,MAAO,oBACPkB,KAAM,WAGNivB,UAAU,EAEVsB,OAAQ,CACN,CACE5W,KAAM,cACN7a,MAAO,eACPkB,KAAM,SACNuxB,QAAQ,MCOP,MAAMC,GAA2BC,eAAa,CACnD9X,KAAM,6CACPve,QAAAs2B,oBJiBD,SAA4C5zB,GAC1C,MAAMisB,WAACA,EAAYI,YAAAA,EAAAC,iBAAaA,UAAkBwB,EAASjU,EAAAA,EAAAga,eAAGA,GAAkB7zB,EAC5E,IAAC6Z,IAAMiU,EACH,MAAA,IAAIhP,MAAM,sOAKZ,MAAA5Z,OAACA,GAAU4oB,EAEXgG,EACJD,IAAmBA,EAAevuB,MAAMpD,GAASmqB,EAAYna,QAAQhQ,KACjE2xB,EACAxH,EAEN,IAAI0H,GACsB,IAAxB1H,GAAa/c,OACTuK,EAAEma,iBAAiB3H,EAAY,IAAI5lB,WAAW4lB,EAAY,IAC1DxS,EAAEoa,eAAetpB,OAAO,mBAAmBhD,OAAO,CAACusB,MAAO7H,KAE7D5mB,GAAGwmB,GACHkI,WACEL,GAAwB,IAAIl0B,KAAK6G,GAChCoT,EAAEua,WACC1sB,OAAO,CACNxF,KAAM,SACNyF,OAAQ,CAACzF,KAAMuE,KAEhBzF,MAAM,UAAUkE,EAAOnG,IAAI0H,IAAazF,SACxCmH,KAAKjD,EAAOnG,IAAI0H,IAAa0B,MAAQksB,EAAOA,YAGlDC,iBAAgB,CAAC5sB,EAAgBqO,IAEjB,SAAXrO,GAAqBqO,EAAEtQ,KAAOzF,EAAMisB,cAIpC6H,EAAqBzpB,SAAS0L,EAAE7T,QAcxC,OARIoqB,GAAkB3hB,SACTopB,EAAAA,EAASppB,OAAO2hB,EAAiB3hB,SAG1C2hB,GAAkBE,eACTuH,EAAAA,EAASpsB,OAAO2kB,EAAiBE,eAGvC3S,EAAE0a,WACN9uB,GAAGwmB,GACHjrB,MAAMhB,EAAMgB,OAASirB,GACrB9jB,KAAKnI,EAAMmI,MACX+B,MACC9M,OAAO+R,OACL4kB,EAAS9d,YACT,CACE/T,KAAM,YACNsyB,UAAWxC,GAAkBhyB,GAC7BuiB,QAASviB,EACTy0B,oBAAoB,GAEtBz0B,EAAMgB,MAAQ,CAACA,MAAOhB,EAAMgB,OAAS,CAAA,GAG7C,EIrFC1D,QAAAo3B,0BFgHD,SAAkDnS,GAQzC,QAPFvY,MAAMC,QAAQsY,EAAQ8J,cAAgB9J,EAAQ8J,YAAY/c,QAAU,IACvEwiB,GAAW,sBAERvP,EAAQ9Y,cACXqoB,GAAW,uBAGN,CACLoB,GAA0B3Q,GAC1BqQ,GAA4BrQ,GAC5BoQ,GAA2BpQ,GAC3BgQ,GAAgChQ,GAEpC,EE9HCjlB,QAAA0L,eAAAA,EAAA1L,QAAAo2B,yBAAAA,GAAAp2B,QAAAq3B,cAAApB","x_google_ignoreList":[14,15,16,17,18,19,20,21,22,23,24,25,26]}