@portabletext/editor 7.10.15 → 7.10.17

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.
Files changed (63) hide show
  1. package/lib/{_chunks-dts/behavior.types.action.d.ts → behavior.types.action-CYtiRDck.d.ts} +260 -59
  2. package/lib/behavior.types.action-CYtiRDck.d.ts.map +1 -0
  3. package/lib/behavior.types.behavior-B_77VtQR.js +159 -0
  4. package/lib/behavior.types.behavior-B_77VtQR.js.map +1 -0
  5. package/lib/behaviors/index.d.ts +1 -1
  6. package/lib/behaviors/index.js +2 -35
  7. package/lib/get-container-BeXYKpoi.js +222 -0
  8. package/lib/get-container-BeXYKpoi.js.map +1 -0
  9. package/lib/get-parent-51Kzgaf9.js +237 -0
  10. package/lib/get-parent-51Kzgaf9.js.map +1 -0
  11. package/lib/get-path-sub-schema--2I4NJbG.js +513 -0
  12. package/lib/get-path-sub-schema--2I4NJbG.js.map +1 -0
  13. package/lib/index.d.ts +2 -67
  14. package/lib/index.js +16743 -18963
  15. package/lib/index.js.map +1 -1
  16. package/lib/plugins/index.d.ts +1 -2
  17. package/lib/plugins/index.d.ts.map +1 -1
  18. package/lib/plugins/index.js +103 -41
  19. package/lib/plugins/index.js.map +1 -1
  20. package/lib/selector.is-at-the-start-of-block-gJIMWRpU.js +822 -0
  21. package/lib/selector.is-at-the-start-of-block-gJIMWRpU.js.map +1 -0
  22. package/lib/selectors/index.d.ts +1 -3
  23. package/lib/selectors/index.d.ts.map +1 -1
  24. package/lib/selectors/index.js +256 -215
  25. package/lib/selectors/index.js.map +1 -1
  26. package/lib/traversal/index.d.ts +1 -1
  27. package/lib/traversal/index.d.ts.map +1 -1
  28. package/lib/traversal/index.js +33 -52
  29. package/lib/traversal/index.js.map +1 -1
  30. package/lib/use-editor-CwNeVwVC.js +47 -0
  31. package/lib/use-editor-CwNeVwVC.js.map +1 -0
  32. package/lib/util.is-equal-selections-BF4WJtz5.js +25 -0
  33. package/lib/util.is-equal-selections-BF4WJtz5.js.map +1 -0
  34. package/lib/util.slice-blocks-DQnr9X2s.js +633 -0
  35. package/lib/util.slice-blocks-DQnr9X2s.js.map +1 -0
  36. package/lib/utils/index.d.ts +11 -39
  37. package/lib/utils/index.d.ts.map +1 -1
  38. package/lib/utils/index.js +87 -123
  39. package/lib/utils/index.js.map +1 -1
  40. package/package.json +18 -15
  41. package/lib/_chunks-dts/behavior.types.action.d.ts.map +0 -1
  42. package/lib/_chunks-dts/block-offset.d.ts +0 -10
  43. package/lib/_chunks-dts/block-offset.d.ts.map +0 -1
  44. package/lib/_chunks-dts/editor-selector.d.ts +0 -33
  45. package/lib/_chunks-dts/editor-selector.d.ts.map +0 -1
  46. package/lib/_chunks-dts/editor.d.ts +0 -99
  47. package/lib/_chunks-dts/editor.d.ts.map +0 -1
  48. package/lib/_chunks-es/get-container.js +0 -187
  49. package/lib/_chunks-es/get-container.js.map +0 -1
  50. package/lib/_chunks-es/get-parent.js +0 -195
  51. package/lib/_chunks-es/get-parent.js.map +0 -1
  52. package/lib/_chunks-es/get-path-sub-schema.js +0 -399
  53. package/lib/_chunks-es/get-path-sub-schema.js.map +0 -1
  54. package/lib/_chunks-es/selector.is-at-the-start-of-block.js +0 -947
  55. package/lib/_chunks-es/selector.is-at-the-start-of-block.js.map +0 -1
  56. package/lib/_chunks-es/use-editor.js +0 -20
  57. package/lib/_chunks-es/use-editor.js.map +0 -1
  58. package/lib/_chunks-es/util.is-equal-selections.js +0 -20
  59. package/lib/_chunks-es/util.is-equal-selections.js.map +0 -1
  60. package/lib/_chunks-es/util.slice-blocks.js +0 -720
  61. package/lib/_chunks-es/util.slice-blocks.js.map +0 -1
  62. package/lib/behaviors/index.js.map +0 -1
  63. package/lib/index.d.ts.map +0 -1
@@ -1,15 +1,7 @@
1
- import { AnnotationSchemaType, BlockObjectSchemaType, DecoratorSchemaType, FieldDefinition, InlineObjectSchemaType, ListSchemaType, OfDefinition, PortableTextBlock, PortableTextChild, PortableTextObject, PortableTextSpan, PortableTextTextBlock, Schema, StyleSchemaType, TypedObject } from "@portabletext/schema";
2
- import { Patch } from "@portabletext/patches";
1
+ import React$1, { BaseSyntheticEvent, ClipboardEvent as ClipboardEvent$1, FocusEvent, JSX, PropsWithChildren, ReactElement, RefObject, TextareaHTMLAttributes } from "react";
2
+ import { AnnotationDefinition, AnnotationSchemaType, AnnotationSchemaType as AnnotationSchemaType$1, BaseDefinition, BlockObjectDefinition, BlockObjectSchemaType, BlockObjectSchemaType as BlockObjectSchemaType$1, DecoratorDefinition, DecoratorSchemaType, DecoratorSchemaType as DecoratorSchemaType$1, FieldDefinition, FieldDefinition as FieldDefinition$1, InlineObjectDefinition, InlineObjectSchemaType, InlineObjectSchemaType as InlineObjectSchemaType$1, ListDefinition, ListSchemaType, ListSchemaType as ListSchemaType$1, OfDefinition, PortableTextBlock, PortableTextBlock as PortableTextBlock$1, PortableTextChild, PortableTextChild as PortableTextChild$1, PortableTextObject, PortableTextObject as PortableTextObject$1, PortableTextSpan, PortableTextSpan as PortableTextSpan$1, PortableTextTextBlock, PortableTextTextBlock as PortableTextTextBlock$1, Schema, SchemaDefinition, SchemaDefinition as SchemaDefinition$1, StyleDefinition, StyleSchemaType, StyleSchemaType as StyleSchemaType$1, TypedObject, defineSchema } from "@portabletext/schema";
3
3
  import { ActorRefFrom } from "xstate";
4
- import { BaseSyntheticEvent, ClipboardEvent as ClipboardEvent$1, FocusEvent, JSX, PropsWithChildren, ReactElement, RefObject, TextareaHTMLAttributes } from "react";
5
- type EditorPriority = {
6
- id: string;
7
- name?: string;
8
- reference?: {
9
- priority: EditorPriority;
10
- importance: 'higher' | 'lower';
11
- };
12
- };
4
+ import { Patch, Patch as Patch$1 } from "@portabletext/patches";
13
5
  type MIMEType = `${string}/${string}`;
14
6
  /**
15
7
  * @internal
@@ -17,7 +9,7 @@ type MIMEType = `${string}/${string}`;
17
9
  type PickFromUnion<TUnion, TTagKey extends keyof TUnion, TPickedTags extends TUnion[TTagKey]> = TUnion extends Record<TTagKey, TPickedTags> ? TUnion : never;
18
10
  type NamespaceEvent<TEvent, TNamespace extends string> = TEvent extends {
19
11
  type: infer TEventType;
20
- } ? { [K in keyof TEvent]: K extends 'type' ? `${TNamespace}.${TEventType & string}` : TEvent[K] } : never;
12
+ } ? { [K in keyof TEvent]: K extends 'type' ? `${TNamespace}.${TEventType & string}` : TEvent[K]; } : never;
21
13
  type StrictExtract<T, U extends T> = U;
22
14
  type Converter<TMIMEType extends MIMEType = MIMEType> = {
23
15
  mimeType: TMIMEType;
@@ -49,17 +41,11 @@ type ConverterEvent<TMIMEType extends MIMEType = MIMEType> = {
49
41
  data: Array<PortableTextBlock>;
50
42
  mimeType: TMIMEType;
51
43
  };
52
- type Serializer<TMIMEType extends MIMEType> = ({
53
- snapshot,
54
- event
55
- }: {
44
+ type Serializer<TMIMEType extends MIMEType> = ({ snapshot, event }: {
56
45
  snapshot: EditorSnapshot;
57
46
  event: PickFromUnion<ConverterEvent<TMIMEType>, 'type', 'serialize'>;
58
47
  }) => PickFromUnion<ConverterEvent<TMIMEType>, 'type', 'serialization.success' | 'serialization.failure'>;
59
- type Deserializer<TMIMEType extends MIMEType> = ({
60
- snapshot,
61
- event
62
- }: {
48
+ type Deserializer<TMIMEType extends MIMEType> = ({ snapshot, event }: {
63
49
  snapshot: EditorSnapshot;
64
50
  event: PickFromUnion<ConverterEvent<TMIMEType>, 'type', 'deserialize'>;
65
51
  }) => PickFromUnion<ConverterEvent<TMIMEType>, 'type', 'deserialization.success' | 'deserialization.failure'>;
@@ -1701,17 +1687,13 @@ interface BaseEditor {
1701
1687
  pointRefs: Set<PointRef>;
1702
1688
  rangeRefs: Set<RangeRef>;
1703
1689
  apply: (operation: EngineOperation) => void;
1704
- normalizeNode: (entry: [Editor | Node$1, Path], options?: {
1690
+ normalizeNode: (entry: [Editor$1 | Node$1, Path], options?: {
1705
1691
  operation?: EngineOperation;
1706
1692
  }) => void;
1707
1693
  onChange: (options?: {
1708
1694
  operation?: EngineOperation;
1709
1695
  }) => void;
1710
- shouldNormalize: ({
1711
- iteration,
1712
- dirtyPaths,
1713
- operation
1714
- }: {
1696
+ shouldNormalize: ({ iteration, dirtyPaths, operation }: {
1715
1697
  iteration: number;
1716
1698
  initialDirtyPathsLength: number;
1717
1699
  dirtyPaths: Path[];
@@ -1720,7 +1702,7 @@ interface BaseEditor {
1720
1702
  select: (target: Location) => void;
1721
1703
  setSelection: (props: Partial<Range>) => void;
1722
1704
  }
1723
- type Editor = BaseEditor & DOMEditor & PortableTextEditorEngine;
1705
+ type Editor$1 = BaseEditor & DOMEditor & PortableTextEditorEngine;
1724
1706
  type StringDiff = {
1725
1707
  start: number;
1726
1708
  end: number;
@@ -1754,11 +1736,11 @@ type Action = {
1754
1736
  * A DOM-specific version of the `Editor` interface.
1755
1737
  */
1756
1738
  interface DOMEditor extends BaseEditor {
1757
- hasEditableTarget: (editor: Editor, target: EventTarget | null) => target is DOMNode;
1758
- hasRange: (editor: Editor, range: Range) => boolean;
1759
- hasSelectableTarget: (editor: Editor, target: EventTarget | null) => boolean;
1760
- hasTarget: (editor: Editor, target: EventTarget | null) => target is DOMNode;
1761
- isTargetInsideNonReadonlyVoid: (editor: Editor, target: EventTarget | null) => boolean;
1739
+ hasEditableTarget: (editor: Editor$1, target: EventTarget | null) => target is DOMNode;
1740
+ hasRange: (editor: Editor$1, range: Range) => boolean;
1741
+ hasSelectableTarget: (editor: Editor$1, target: EventTarget | null) => boolean;
1742
+ hasTarget: (editor: Editor$1, target: EventTarget | null) => target is DOMNode;
1743
+ isTargetInsideNonReadonlyVoid: (editor: Editor$1, target: EventTarget | null) => boolean;
1762
1744
  isNodeMapDirty: boolean;
1763
1745
  domWindow: Window | null;
1764
1746
  domElement: HTMLElement | null;
@@ -1779,51 +1761,51 @@ interface DOMEditorInterface {
1779
1761
  /**
1780
1762
  * Blur the editor.
1781
1763
  */
1782
- blur: (editor: Editor) => void;
1764
+ blur: (editor: Editor$1) => void;
1783
1765
  /**
1784
1766
  * Find the DOM node that implements DocumentOrShadowRoot for the editor.
1785
1767
  */
1786
- findDocumentOrShadowRoot: (editor: Editor) => Document | ShadowRoot;
1768
+ findDocumentOrShadowRoot: (editor: Editor$1) => Document | ShadowRoot;
1787
1769
  /**
1788
1770
  * Focus the editor.
1789
1771
  */
1790
- focus: (editor: Editor, options?: {
1772
+ focus: (editor: Editor$1, options?: {
1791
1773
  retries: number;
1792
1774
  }) => void;
1793
1775
  /**
1794
1776
  * Return the host window of the current editor.
1795
1777
  */
1796
- getWindow: (editor: Editor) => Window;
1778
+ getWindow: (editor: Editor$1) => Window;
1797
1779
  /**
1798
1780
  * Check if a DOM node is within the editor.
1799
1781
  */
1800
- hasDOMNode: (editor: Editor, target: DOMNode, options?: {
1782
+ hasDOMNode: (editor: Editor$1, target: DOMNode, options?: {
1801
1783
  editable?: boolean;
1802
1784
  }) => boolean;
1803
1785
  /**
1804
1786
  * Check if the target is editable and in the editor.
1805
1787
  */
1806
- hasEditableTarget: (editor: Editor, target: EventTarget | null) => target is DOMNode;
1788
+ hasEditableTarget: (editor: Editor$1, target: EventTarget | null) => target is DOMNode;
1807
1789
  /**
1808
1790
  *
1809
1791
  */
1810
- hasRange: (editor: Editor, range: Range) => boolean;
1792
+ hasRange: (editor: Editor$1, range: Range) => boolean;
1811
1793
  /**
1812
1794
  * Check if the target can be selectable
1813
1795
  */
1814
- hasSelectableTarget: (editor: Editor, target: EventTarget | null) => boolean;
1796
+ hasSelectableTarget: (editor: Editor$1, target: EventTarget | null) => boolean;
1815
1797
  /**
1816
1798
  * Check if the target is in the editor.
1817
1799
  */
1818
- hasTarget: (editor: Editor, target: EventTarget | null) => target is DOMNode;
1800
+ hasTarget: (editor: Editor$1, target: EventTarget | null) => target is DOMNode;
1819
1801
  /**
1820
1802
  * Check if the target is inside void and in an non-readonly editor.
1821
1803
  */
1822
- isTargetInsideNonReadonlyVoid: (editor: Editor, target: EventTarget | null) => boolean;
1804
+ isTargetInsideNonReadonlyVoid: (editor: Editor$1, target: EventTarget | null) => boolean;
1823
1805
  /**
1824
1806
  * Find a native DOM selection point from a point.
1825
1807
  */
1826
- toDOMPoint: (editor: Editor, point: Point) => DOMPoint;
1808
+ toDOMPoint: (editor: Editor$1, point: Point) => DOMPoint;
1827
1809
  /**
1828
1810
  * Find a native DOM range from a `range`.
1829
1811
  *
@@ -1832,11 +1814,11 @@ interface DOMEditorInterface {
1832
1814
  * there is no way to create a reverse DOM Range using Range.setStart/setEnd
1833
1815
  * according to https://dom.spec.whatwg.org/#concept-range-bp-set.
1834
1816
  */
1835
- toDOMRange: (editor: Editor, range: Range) => DOMRange;
1817
+ toDOMRange: (editor: Editor$1, range: Range) => DOMRange;
1836
1818
  /**
1837
1819
  * Find a point from a DOM selection's `domNode` and `domOffset`.
1838
1820
  */
1839
- toSelectionPoint: <T extends boolean>(editor: Editor, domPoint: DOMPoint, options: {
1821
+ toSelectionPoint: <T extends boolean>(editor: Editor$1, domPoint: DOMPoint, options: {
1840
1822
  exactMatch: boolean;
1841
1823
  suppressThrow: T;
1842
1824
  /**
@@ -1848,7 +1830,7 @@ interface DOMEditorInterface {
1848
1830
  /**
1849
1831
  * Find a range from a DOM range or selection.
1850
1832
  */
1851
- toEditorSelection: <T extends boolean>(editor: Editor, domRange: DOMRange | DOMStaticRange | DOMSelection, options: {
1833
+ toEditorSelection: <T extends boolean>(editor: Editor$1, domRange: DOMRange | DOMStaticRange | DOMSelection, options: {
1852
1834
  exactMatch: boolean;
1853
1835
  suppressThrow: T;
1854
1836
  }) => T extends true ? Range | null : Range;
@@ -1918,6 +1900,11 @@ interface PortableTextEditorEngine extends DOMEditor {
1918
1900
  remotePatches: Array<RemotePatch>;
1919
1901
  undoStepId: string | undefined;
1920
1902
  isDeferringMutations: boolean;
1903
+ /**
1904
+ * The last host value written in by value sync. A pristine block equal
1905
+ * to it is persisted content, not the local placeholder.
1906
+ */
1907
+ lastSyncedValue: Array<PortableTextBlock> | undefined;
1921
1908
  isNormalizingNode: boolean;
1922
1909
  isPatching: boolean;
1923
1910
  isPerformingBehaviorOperation: boolean;
@@ -2031,10 +2018,6 @@ type Behavior<TBehaviorEventType extends '*' | `${BehaviorEventTypeNamespace}.*`
2031
2018
  *
2032
2019
  */
2033
2020
  declare function defineBehavior<TPayload extends Record<string, unknown>, TBehaviorEventType extends '*' | `${BehaviorEventTypeNamespace}.*` | BehaviorEvent['type'] = CustomBehaviorEvent['type'], TGuardResponse = true>(behavior: Behavior<TBehaviorEventType, TGuardResponse, ResolveBehaviorEvent<TBehaviorEventType, TPayload>>): Behavior;
2034
- type BehaviorConfig = {
2035
- behavior: Behavior;
2036
- priority: EditorPriority;
2037
- };
2038
2021
  /**
2039
2022
  * The document-changing operations emitted through
2040
2023
  * `editor.on('operation', ...)`. Every change to the editor (local edits,
@@ -2147,6 +2130,227 @@ type PatchEvent = {
2147
2130
  type: 'patch';
2148
2131
  patch: Patch;
2149
2132
  };
2133
+ /**
2134
+ * @public
2135
+ */
2136
+ type EditorConfig = {
2137
+ /**
2138
+ * @beta
2139
+ */
2140
+ keyGenerator?: () => string;
2141
+ readOnly?: boolean;
2142
+ initialValue?: Array<PortableTextBlock>;
2143
+ schemaDefinition: SchemaDefinition;
2144
+ };
2145
+ /**
2146
+ * @public
2147
+ */
2148
+ type EditorEvent = ExternalEditorEvent | ExternalBehaviorEvent | {
2149
+ /**
2150
+ * Hands the editor the host's latest snapshot of the value so it can
2151
+ * reconcile. This is not a setter: the snapshot is compared against
2152
+ * the previous snapshot the host sent, not against the editor's
2153
+ * current content, and only the remote change that comparison implies
2154
+ * is applied. A snapshot equal to the previous one is ignored, even
2155
+ * if the editor's content has since diverged from it through local
2156
+ * edits.
2157
+ *
2158
+ * Reconciliation is not an edit: it emits no `patch` or `mutation`
2159
+ * events and adds no history step. While local changes are in
2160
+ * flight, it is deferred until they have flushed. `undefined` and
2161
+ * `[]` are the same empty snapshot: sending either when the previous
2162
+ * snapshot was also empty is a no-op and never clears locally typed
2163
+ * content.
2164
+ *
2165
+ * To change content programmatically, use editing events so the
2166
+ * change flows through behaviors and emits patches; to reset the
2167
+ * editor wholesale, remount it with a fresh `initialValue`.
2168
+ */
2169
+ type: 'update value';
2170
+ value: Array<PortableTextBlock> | undefined;
2171
+ };
2172
+ /**
2173
+ * @public
2174
+ */
2175
+ type Editor = {
2176
+ dom: EditorDom;
2177
+ getSnapshot: () => EditorSnapshot;
2178
+ /**
2179
+ * @beta
2180
+ */
2181
+ registerBehavior: (config: {
2182
+ behavior: Behavior;
2183
+ }) => () => void;
2184
+ /**
2185
+ * Register a node renderer. The `node` argument is the result of one
2186
+ * of the `defineX` factories (`defineContainer`, `defineTextBlock`,
2187
+ * `defineSpan`, `defineBlockObject`, `defineInlineObject`). Returns
2188
+ * a function that unregisters the node when called.
2189
+ *
2190
+ * @alpha
2191
+ */
2192
+ registerNode: (config: {
2193
+ node: RegistrableNode;
2194
+ }) => () => void;
2195
+ send: (event: EditorEvent) => void;
2196
+ /**
2197
+ * Register an event listener.
2198
+ *
2199
+ * With `{batch: true}` the listener is called once per burst with
2200
+ * `Array<Event>`, every matching event emitted before control returns to the
2201
+ * event loop (one synchronous `editor.send` worth, normalization included),
2202
+ * in delivery order, on the trailing microtask. That is the same boundary at
2203
+ * which the editor settles its own state, so each call is one fully-applied,
2204
+ * normalized change. Without it (the default), the listener runs
2205
+ * synchronously for every event and receives a single event.
2206
+ */
2207
+ on: {
2208
+ <TType extends EditorEmittedEvent['type'] | '*'>(type: TType, listener: (events: Array<EditorEmittedEvent & (TType extends '*' ? unknown : {
2209
+ type: TType;
2210
+ })>) => void, options: {
2211
+ batch: true;
2212
+ }): {
2213
+ unsubscribe: () => void;
2214
+ };
2215
+ <TType extends EditorEmittedEvent['type'] | '*'>(type: TType, listener: (event: EditorEmittedEvent & (TType extends '*' ? unknown : {
2216
+ type: TType;
2217
+ })) => void, options?: {
2218
+ batch?: false;
2219
+ }): {
2220
+ unsubscribe: () => void;
2221
+ };
2222
+ };
2223
+ /**
2224
+ * Subscribe to editor state changes. The observer's `next` callback fires
2225
+ * with the current `EditorSnapshot` on relevant transitions (selection
2226
+ * updates, content mutations, behavior dispatch, configuration changes).
2227
+ *
2228
+ * Notifications are coalesced: a synchronous burst of transitions (e.g. the
2229
+ * many operations one action applies, like undoing a large delete) delivers
2230
+ * a single `next` with the settled snapshot on the next microtask, rather
2231
+ * than one `next` per transition. The snapshot is cumulative, so only
2232
+ * intermediate per-transition states are skipped. To observe every
2233
+ * operation, use `editor.on('operation', ...)`.
2234
+ *
2235
+ * The editor has no terminal state and no error path, so `error` and
2236
+ * `complete` are part of the observable contract but never fire. They are
2237
+ * kept for structural compatibility with `useSyncExternalStore`,
2238
+ * `@xstate/react`'s `useSelector`, and other observer-shaped consumers.
2239
+ */
2240
+ subscribe(observer: {
2241
+ next?: (snapshot: EditorSnapshot) => void;
2242
+ error?: (err: unknown) => void;
2243
+ complete?: () => void;
2244
+ }): {
2245
+ unsubscribe: () => void;
2246
+ };
2247
+ };
2248
+ /**
2249
+ * @public
2250
+ */
2251
+ type EditorProviderProps = {
2252
+ initialConfig: EditorConfig;
2253
+ children?: React$1.ReactNode;
2254
+ };
2255
+ /**
2256
+ * @public
2257
+ * The EditorProvider component is used to set up the editor context and configure the Portable Text Editor.
2258
+ * @example
2259
+ * ```tsx
2260
+ * import {EditorProvider} from '@portabletext/editor'
2261
+ *
2262
+ * function App() {
2263
+ * return (
2264
+ * <EditorProvider initialConfig={{ ... }} >
2265
+ * ...
2266
+ * </EditorProvider>
2267
+ * )
2268
+ * }
2269
+ *
2270
+ * ```
2271
+ * @group Components
2272
+ */
2273
+ declare function EditorProvider(props: EditorProviderProps): React$1.JSX.Element;
2274
+ /**
2275
+ * @public
2276
+ */
2277
+ type EditorSelector<TSelected> = (snapshot: EditorSnapshot) => TSelected;
2278
+ /**
2279
+ * @public
2280
+ * Hook to select a value from the editor state.
2281
+ * @example
2282
+ * Pass a selector as the second argument
2283
+ * ```tsx
2284
+ * import { useEditorSelector } from '@portabletext/editor'
2285
+ *
2286
+ * function MyComponent(editor) {
2287
+ * const value = useEditorSelector(editor, selector)
2288
+ * }
2289
+ * ```
2290
+ * @example
2291
+ * Pass an inline selector as the second argument.
2292
+ * In this case, use the editor context to obtain the schema.
2293
+ * ```tsx
2294
+ * import { useEditorSelector } from '@portabletext/editor'
2295
+ *
2296
+ * function MyComponent(editor) {
2297
+ * const schema = useEditorSelector(editor, (snapshot) => snapshot.context.schema)
2298
+ * }
2299
+ * ```
2300
+ * @group Hooks
2301
+ */
2302
+ declare function useEditorSelector<TSelected>(editor: Editor, selector: EditorSelector<TSelected>, compare?: (a: TSelected, b: TSelected) => boolean): TSelected;
2303
+ /**
2304
+ * @deprecated Use `useEditor` to get the current editor instance.
2305
+ * @public
2306
+ * Get the current editor object from the React context.
2307
+ */
2308
+ declare const usePortableTextEditor: () => PortableTextEditor;
2309
+ /**
2310
+ * @deprecated Use `useEditorSelector` to get the current editor selection.
2311
+ * @public
2312
+ * Get the current editor selection from the React context.
2313
+ */
2314
+ declare const usePortableTextEditorSelection: () => EditorSelection;
2315
+ /**
2316
+ * @public
2317
+ */
2318
+ declare const defaultKeyGenerator: () => string;
2319
+ /**
2320
+ * @public
2321
+ * Get the current editor context from the `EditorProvider`.
2322
+ * Must be used inside the `EditorProvider` component.
2323
+ * @returns The current editor object.
2324
+ * @example
2325
+ * ```tsx
2326
+ * import { useEditor } from '@portabletext/editor'
2327
+ *
2328
+ * function MyComponent() {
2329
+ * const editor = useEditor()
2330
+ * }
2331
+ * ```
2332
+ * @group Hooks
2333
+ */
2334
+ declare function useEditor(): Editor;
2335
+ /**
2336
+ * @beta
2337
+ */
2338
+ type BlockOffset = {
2339
+ path: BlockPath;
2340
+ offset: number;
2341
+ };
2342
+ type EditorPriority = {
2343
+ id: string;
2344
+ name?: string;
2345
+ reference?: {
2346
+ priority: EditorPriority;
2347
+ importance: 'higher' | 'lower';
2348
+ };
2349
+ };
2350
+ type BehaviorConfig = {
2351
+ behavior: Behavior;
2352
+ priority: EditorPriority;
2353
+ };
2150
2354
  /**
2151
2355
  * @public
2152
2356
  */
@@ -2352,13 +2556,13 @@ declare const editorMachine: import("xstate").StateMachine<{
2352
2556
  event: import("react").FocusEvent<HTMLDivElement, Element>;
2353
2557
  } | {
2354
2558
  type: "invalid value";
2355
- resolution: import("..").InvalidValueResolution | null;
2559
+ resolution: InvalidValueResolution | null;
2356
2560
  value: Array<PortableTextBlock> | undefined;
2357
2561
  } | {
2358
2562
  type: "loading";
2359
2563
  } | {
2360
2564
  type: "operation";
2361
- operation: import("..").Operation;
2565
+ operation: Operation;
2362
2566
  } | {
2363
2567
  type: "read only";
2364
2568
  } | {
@@ -2975,10 +3179,7 @@ type EditorDom = {
2975
3179
  * Let the Editor set the drag ghost. This is to be sure that it will get
2976
3180
  * properly removed again when the drag ends.
2977
3181
  */
2978
- setDragGhost: ({
2979
- event,
2980
- ghost
2981
- }: {
3182
+ setDragGhost: ({ event, ghost }: {
2982
3183
  event: PickFromUnion<BehaviorEvent, 'type', 'drag.dragstart'>;
2983
3184
  ghost: {
2984
3185
  element: HTMLElement;
@@ -3116,7 +3317,7 @@ declare function forward(event: NativeBehaviorEvent | SyntheticBehaviorEvent | C
3116
3317
  *
3117
3318
  * @beta
3118
3319
  */
3119
- declare function raise(event: SyntheticBehaviorEvent | CustomBehaviorEvent): PickFromUnion<BehaviorAction, 'type', 'raise'>;
3320
+ declare function raise$1(event: SyntheticBehaviorEvent | CustomBehaviorEvent): PickFromUnion<BehaviorAction, 'type', 'raise'>;
3120
3321
  /**
3121
3322
  * Performs a side effect.
3122
3323
  *
@@ -3168,5 +3369,5 @@ type BehaviorActionSet<TBehaviorEvent, TGuardResponse> = (payload: {
3168
3369
  event: TBehaviorEvent;
3169
3370
  dom: EditorDom;
3170
3371
  }, guardResponse: TGuardResponse) => Array<BehaviorAction>;
3171
- export { HotkeyOptions as $, BlockStyleRenderProps as A, defineSpan as At, RangeDecoration as B, EditorSnapshot as C, SpanRenderProps as Ct, BlockDecoratorRenderProps as D, defineBlockObject as Dt, BlockChildRenderProps as E, TextBlockRenderProps as Et, OnCopyFn as F, KeyedSegment as Ft, RenderDecoratorFunction as G, RenderAnnotationFunction as H, OnPasteFn as I, Path as It, RenderPlaceholderFunction as J, RenderEditableFunction as K, OnPasteResult as L, PathSegment as Lt, EditorSelection as M, AnnotationPath as Mt, EditorSelectionPoint as N, BlockPath as Nt, BlockListItemRenderProps as O, defineContainer as Ot, InvalidValueResolution as P, ChildPath as Pt, PortableTextEditableProps as Q, OnPasteResultOrPromise as R, EditorContext as S, SpanRender as St, BlockAnnotationRenderProps as T, TextBlockRender as Tt, RenderBlockFunction as U, RangeDecorationOnMovedDetails as V, RenderChildFunction as W, ScrollSelectionIntoViewFunction as X, RenderStyleFunction as Y, PortableTextEditable as Z, MutationEvent as _, InlineObject as _t, forward as a, Containers as at, defineBehavior as b, RegistrableNode as bt, BehaviorEvent as c, RegisteredInlineObject as ct, InsertPlacement as d, BlockObject as dt, PortableTextEditor as et, NativeBehaviorEvent as f, BlockObjectRender as ft, EditorEmittedEvent as g, ContainerRenderProps as gt, PatchesEvent as h, ContainerRender as ht, execute as i, EditorSchema as it, EditableAPIDeleteOptions as j, defineTextBlock as jt, BlockRenderProps as k, defineInlineObject as kt, CustomBehaviorEvent as l, RegisteredPositional as lt, ExternalEditorEvent as m, Container as mt, BehaviorActionSet as n, TraversalSnapshot as nt, raise as o, RegisteredBlockObject as ot, SyntheticBehaviorEvent as p, BlockObjectRenderProps as pt, RenderListItemFunction as q, effect as r, Node$1 as rt, EditorDom as s, RegisteredContainer as st, BehaviorAction as t, resolveContainerAt as tt, ExternalBehaviorEvent as u, RegisteredSpan as ut, Operation as v, InlineObjectRender as vt, AddedAnnotationPaths as w, TextBlock as wt, BehaviorGuard as x, Span as xt, Behavior as y, InlineObjectRenderProps as yt, PasteData as z };
3172
- //# sourceMappingURL=behavior.types.action.d.ts.map
3372
+ export { EditorContext as $, SpanRender as $t, PortableTextTextBlock$1 as A, HotkeyOptions as At, EditorSelector as B, RegisteredPositional as Bt, ListDefinition as C, RenderEditableFunction as Ct, PortableTextChild$1 as D, ScrollSelectionIntoViewFunction as Dt, PortableTextBlock$1 as E, RenderStyleFunction as Et, BlockOffset as F, EditorSchema as Ft, EditorConfig as G, Container as Gt, EditorProvider as H, BlockObject as Ht, useEditor as I, Containers as It, MutationEvent as J, InlineObject as Jt, EditorEvent as K, ContainerRender as Kt, defaultKeyGenerator as L, RegisteredBlockObject as Lt, StyleDefinition as M, resolveContainerAt as Mt, StyleSchemaType$1 as N, TraversalSnapshot as Nt, PortableTextObject$1 as O, PortableTextEditable as Ot, defineSchema as P, Node$1 as Pt, BehaviorGuard as Q, Span as Qt, usePortableTextEditorSelection as R, RegisteredContainer as Rt, InlineObjectSchemaType$1 as S, RenderDecoratorFunction as St, Patch$1 as T, RenderPlaceholderFunction as Tt, EditorProviderProps as U, BlockObjectRender as Ut, useEditorSelector as V, RegisteredSpan as Vt, Editor as W, BlockObjectRenderProps as Wt, Behavior as X, InlineObjectRenderProps as Xt, Operation as Y, InlineObjectRender as Yt, defineBehavior as Z, RegistrableNode as Zt, BlockObjectSchemaType$1 as _, RangeDecoration as _t, forward as a, defineContainer as an, BlockListItemRenderProps as at, FieldDefinition$1 as b, RenderBlockFunction as bt, CustomBehaviorEvent as c, defineTextBlock as cn, EditableAPIDeleteOptions as ct, SyntheticBehaviorEvent as d, ChildPath as dn, InvalidValueResolution as dt, SpanRenderProps as en, EditorSnapshot as et, PatchesEvent as f, KeyedSegment as fn, OnCopyFn as ft, BlockObjectDefinition as g, PasteData as gt, BaseDefinition as h, OnPasteResultOrPromise as ht, execute as i, defineBlockObject as in, BlockDecoratorRenderProps as it, SchemaDefinition$1 as j, PortableTextEditor as jt, PortableTextSpan$1 as k, PortableTextEditableProps as kt, InsertPlacement as l, AnnotationPath as ln, EditorSelection as lt, AnnotationSchemaType$1 as m, PathSegment as mn, OnPasteResult as mt, BehaviorActionSet as n, TextBlockRender as nn, BlockAnnotationRenderProps as nt, raise$1 as o, defineInlineObject as on, BlockRenderProps as ot, AnnotationDefinition as p, Path as pn, OnPasteFn as pt, EditorEmittedEvent as q, ContainerRenderProps as qt, effect as r, TextBlockRenderProps as rn, BlockChildRenderProps as rt, BehaviorEvent as s, defineSpan as sn, BlockStyleRenderProps as st, BehaviorAction as t, TextBlock as tn, AddedAnnotationPaths as tt, NativeBehaviorEvent as u, BlockPath as un, EditorSelectionPoint as ut, DecoratorDefinition as v, RangeDecorationOnMovedDetails as vt, ListSchemaType$1 as w, RenderListItemFunction as wt, InlineObjectDefinition as x, RenderChildFunction as xt, DecoratorSchemaType$1 as y, RenderAnnotationFunction as yt, usePortableTextEditor as z, RegisteredInlineObject as zt };
3373
+ //# sourceMappingURL=behavior.types.action-CYtiRDck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"behavior.types.action-CYtiRDck.d.ts","names":[],"sources":["../src/internal-utils/mime-type.ts","../src/type-utils.ts","../src/converters/converter.types.ts","../src/types/paths.ts","../src/renderers/renderer.types.ts","../src/schema/container-types.ts","../src/editor/editor-schema.ts","../src/engine/interfaces/node.ts","../src/traversal/traversal-snapshot.ts","../src/schema/resolve-container-at.ts","../src/editor/PortableTextEditor.tsx","../src/types/options.ts","../src/editor/Editable.tsx","../src/types/editor.ts","../src/engine/types/types.ts","../src/engine/interfaces/point.ts","../src/engine/interfaces/range.ts","../src/engine/interfaces/operation.ts","../src/editor/range-decorations-machine.ts","../src/engine/core/operation-channel.ts","../src/engine/interfaces/location.ts","../src/engine/interfaces/path-ref.ts","../src/engine/interfaces/point-ref.ts","../src/engine/interfaces/range-ref.ts","../src/engine/interfaces/editor.ts","../src/engine/dom/utils/diff-text.ts","../src/engine/dom/utils/dom.ts","../src/engine/dom/plugin/dom-editor.ts","../src/types/editor-engine.ts","../src/editor/editor-snapshot.ts","../src/behaviors/behavior.types.guard.ts","../src/behaviors/behavior.types.behavior.ts","../src/types/operation.ts","../src/editor/relay.ts","../src/editor.ts","../src/editor/editor-provider.tsx","../src/editor/editor-selector.ts","../src/editor/usePortableTextEditor.ts","../src/editor/usePortableTextEditorSelection.tsx","../src/utils/key-generator.ts","../src/editor/use-editor.ts","../src/types/block-offset.ts","../src/priority/priority.types.ts","../src/behaviors/behavior.config.ts","../src/editor/editor-machine.ts","../src/internal-utils/event-position.ts","../src/types/block-with-optional-key.ts","../src/behaviors/behavior.types.event.ts","../src/editor/editor-dom.ts","../src/behaviors/behavior.types.action.ts"],"mappings":";;;;KAAY;;;;KCGA,cACV,QACA,sBAAsB,QACtB,oBAAoB,OAAO,YACzB,eAAe,OAAO,SAAS,eAAe;KAWtC,eAAe,QAAQ,6BAA6B;EAC9D,YAAY;OAGP,WAAW,SAAS,sBACd,cAAc,wBACjB,OAAO;KAIL,cAAc,GAAG,UAAU,KAAK;KCvBhC,UAAU,kBAAkB,WAAW;EACjD,UAAU;EACV,WAAW,WAAW;EACtB,aAAa,aAAa;;KASvB,eAAe,kBAAkB,WAAW;EAE3C;EACA;;EAGA;EACA,UAAU;EACV;EACA;;EAGA;EACA;EACA,UAAU;EACV;;EAGA;EACA;;EAGA;EACA,UAAU;EACV;;EAGA;EACA,MAAM,MAAM;EACZ,UAAU;;KAGJ,WAAW,kBAAkB,eACvC,UACA;EAEA,UAAU;EACV,OAAO,cAAc,eAAe;MAChC,cACJ,eAAe;KAKL,aAAa,kBAAkB,eACzC,UACA;EAEA,UAAU;EACV,OAAO,cAAc,eAAe;MAChC,cACJ,eAAe;;;;;UChEA;EACf;;;;;;KAOU;;;;;;;;;KAUA,gCAAgC,eAAe;;;;;KAM/C,OAAO;;;;;;KAOP,YAAY;;;;;;KAOZ,iBAAiB;;;;;;KAOjB,YAAY;;;;;;;;KCjCZ,qBAAqB,wBAAwB,yCAIrD;;;;;;;;;;;;KAaQ;EACV,YAAY;EACZ,UAAU;EACV;EACA,MAAM;EACN,MAAM;EACN;EACA;;;;;;;;;;;;;;EAcA,gBAAgB,OAAO,yBAAyB;;;;;KAKtC,mBAAmB,OAAO,yBAAyB;;;;;;;;KASnD;EACV,YAAY;EACZ,UAAU;EACV;EACA,MAAM;EACN,MAAM;EACN;EACA;;;;;EAKA,gBAAgB,OAAO,oBAAoB;;;;;KAKjC,cAAc,OAAO,oBAAoB;;;;;;;;;;KAWzC;EACV,YAAY;EACZ,UAAU;EACV;EACA,MAAM;EACN,MAAM;EACN;EACA;;;;;EAKA,gBAAgB,OAAO,2BAA2B;;;;;KAKxC,qBAAqB,OAAO,2BAA2B;;;;;;;;;;KAWvD;EACV,YAAY;EACZ,UAAU;EACV;EACA,MAAM;EACN,MAAM;EACN;EACA;;;;;EAKA,gBAAgB,OAAO,4BAA4B;;;;;KAKzC,sBACV,OAAO,4BACJ;;;;;;;;;;;;;;;KAgBO;EACV;EACA;EACA;;;;;;;EAOA,SAAS;;;;;EAKT,KAAK,cAAc,YAAY,YAAY;;;;;;;;;;;;;;;;;;;;;KAsBjC;EACV;EACA;;;;;;;EAOA,SAAS;;;;;;EAMT,KAAK,cAAc,OAAO;;;;;;;;;;;KAYhB;EACV,YAAY;EACZ,UAAU;EACV;EACA,MAAM;EACN,MAAM;EACN;EACA;;;;;EAKA,gBAAgB,OAAO,yBAAyB;;;;;KAKtC,mBAAmB,OAAO,yBAAyB;;;;;;;;;KAUnD;EACV;EACA;;;;;;;EAOA,SAAS;;;;;;;;KASC;EACV;EACA;;;;;;;EAOA,SAAS;;;;;;;;KASC;EACV;EACA;;;;;;;EAOA,SAAS;;;;;;;;KASC,kBACR,YACA,YACA,OACA,cACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkCY,sBAAsB,sBAAsB;EAC1D,MAAM,0HAEF,wIAEE,wHAEE;EACR;EACA,UAAU;IACR,YAAY;IACZ,UAAU;IACV;IACA,MAAM,qBAAqB;IAC3B,MAAM;IACN;IACA;IACA,gBAAgB,OAAO,yBAAyB;QAC5C;EACN,KAAK,cAAc,YAAY,YAAY;IACzC;;;;;;;;;;;;;;;;;;;;;;;iBA0BY,iBAAiB,sBAAsB;EACrD,MAAM,mIAEF;EACJ,SAAS;IACP;;;;;;;;;;;;;;;;;;;;;;;;;iBA4BY,wBAAwB,sBAAsB;EAC5D,MAAM,0IAEF,4HAEE;EACN,SAAS;IACP;;;;;;;;;;;;;;;;;;;;;;;;;iBA4BY,yBAAyB,sBAAsB;EAC7D,MAAM,2IAEF,6HAEE;EACN,SAAS;IACP;;;;;;;;;;;;;;;;;;;;;;;iBA0BY,sBAAsB,sBAAsB;EAC1D,MAAM,0HAEF;EACJ,SAAS;EACT,KAAK,cAAc,OAAO;IACxB;;;;;;KASQ;EACV,MAAM;;;;;;;KAQI;EACV,aAAa;;;;;;;KAQH;EACV,cAAc;;;;;;;;;KAUJ;EACV,WAAW;EACX,OAAO;EACP,KAAK,cAAc,kBAAkB,oBAAoB;;;;;;;;;KAU/C;EACV,WAAW;EACX,KAAK,cAAc,aAAa;;KCliBtB,kBAAkB;EAC5B;EACA,IAAI,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgCR;EACV;EACA;EACA,OAAO;EACP,KAAK,cAAc,sBAAsB;;;;;;;;;KAU/B;EACV;EACA;;;;;;;;;KAUU;EACV;EACA;;;;;;;;;KAUU;EACV;EACA;;;;;;;;;;KAWU,uBACR,iBACA,wBACA;;;;;;;;;;;;;;;;;;;;KAqBQ,aAAa,oBAAoB;;;;;;;;;KAUjC,qBAAqB,YAAY;;;;KCrHjC,eAAe;KCEf,SAAO,wBAAwB,qBAAqB;;;;;;;KCGpD;EACV;IACE,QAAQ;IACR,YAAY;IACZ,OAAO,MAAM;;EAEf,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBCoBD,mBACd,YAAY,YACZ,OAAO,cAAc,SACrB,MAAM,OACL,sBAAsB;;;;;;;;;;;;;;;;;;cCRZ;;;;EAIJ,aAAa;UAIZ;EAEI,YAAA;IAAS,UAAU;IAAa,aAAa;;EAKlD,cAAe,UAAU;;;;;;;;;;;SAiBzB,oBACL,QAAQ,uBACP;;;;;;;;;;;SAcI,qBACL,QAAQ,oBACR,gBAAgB;;;;;;;;;;;;;;;;SAsBX,gBAAiB;IAAqB;KAC3C,QAAQ,oBACR,MAAM,aACN;KAAU;QACT;;;;;;;;;;;;SAcI,OAAQ,QAAQ;;;;;;;;;;;;;;;SAkBhB,SACL,QAAQ,oBACR,WAAW,iBACX,UAAU;SAGL,cACL,QAAQ,oBACR,SAAS,oBAAoB,sBAAiB;SAKzC,aAAc,QAAQ,oBAAoB,MAAM,yCAAI,sBAAA,oDAAA,oBAAA,oDAAA,8BAAA;;;;;;;;;;;;SAepD,QAAS,QAAQ;;;;;;;;;;;SAcjB,aAAc,QAAQ,uBAAkB;;;;;;;;;;;SAcxC,aACL,QAAQ,uBACP;;;;;;;;;;;SAcI,eAAgB,QAAQ,uBAAkB;;;;;;;;;;;SAc1C,WAAY,QAAQ,uBAAkB;;;;;;;;;;;SActC,gBAAiB,QAAQ,oBAAoB;;;;;;;;;;;SAc7C,eAAgB,QAAQ,oBAAoB;;;;;;;;;;;SAc5C,uBAAwB,QAAQ;;;;;;;;;;;SAahC,sBAAuB,QAAQ;;;;;;;;;;;SAa/B,eAAgB,QAAQ,oBAAoB;;;;;;;;;;;;;;;;;;;;;;SAwB5C,cAAe;IAAqB;KACzC,QAAQ,oBACR,MAAM,aACN;KAAU;QACT;;;;;;;;;;;;;;;;;SAoBI,cAAe;IAAqB;KACzC,QAAQ,oBACR,MAAM,aACN;KAAU;QACT;;;;;;;;;;;;SAeI,cAAe,QAAQ;SAIvB,SACL,QAAQ,oBACR,SAAS,oBAAoB;SAKxB,eAAgB,SAAS,oBAAoB,MAAM;SASnD,QAAS,QAAQ;;;;;;;;;;;;;SAgBjB,SACL,QAAQ,oBACR,WAAW;;;;;;;;;;;;;;;SAmBN,mBAAoB;IAAqB;KAC9C,QAAQ,oBACR,MAAM;;;;;;;;;;;;;SAeD,mBACL,QAAQ,oBACR;;;;;;;;;;;;;SAiBK,aAAc,QAAQ,oBAAoB;;;;;;;;;;;;;SAgB1C,aAAc,QAAQ,oBAAoB;;;;;;;;;;;SAc1C,cACL,QAAQ,uBACP;;;;;;;;;;;;SAeI,OAAQ,QAAQ;;;;;;;;;;;;SAehB,OAAQ,QAAQ;;;;;;;;;;;SAchB,0BACL,QAAQ,oBACR,YAAY,iBACZ,YAAY;;;;;KC/gBJ;EACV,QAAQ;EACR,SAAS,gBAEN,OAAO,oBAAoB,QAAQ;;;;;KCiD5B,4BAA4B,KACtC,uBAAuB;EAGvB,MAAM,MAAM,IAAI;EAChB,UAAU;EACV,iBAAiB,OAAO;EACxB,UAAU;EACV,SAAS;EACT,mBAAmB;EACnB,mBAAmB;EACnB,cAAc;EACd,cAAc;EACd,kBAAkB;EAClB,iBAAiB;EACjB,oBAAoB;EACpB,cAAc;EACd,0BAA0B;EAC1B,YAAY;EACZ;;;;;;;;;;;;;;;;;;;;;;cAuBW,sCAAoB,0BAAA,KAAA,oDAAA,cAAA,KAAA;;UC1EhB;EACf;;;;;KAMU;;;;;EAKV,aAAa;EACb,cAAc,MAAM;;;;;;EAMpB,UAAU;;;UAIK;EACf,yBAAyB;EACzB,qBAAqB,gBAAgB;EACrC,gBAAgB;IAAqB;KACnC,MAAM,aACN;KAAU;QACP;EACL;EACA,SACE,WAAW,iBACX,UAAU;EAEZ,aACE,MAAM,UACF,oBAAoB,+BAA+B;EACzD,cACE,SAAS,oBAAoB,sBAC1B;EACL;EACA,kBAAkB;EAClB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;EAChB,gBAAgB;EAChB,eAAe;EACf,cAAc;IAAqB;KACjC,MAAM,aACN;KAAU;QACP;EACL,cAAc;IAAqB;KACjC,MAAM,aACN;KAAU;QACP;EACL;EACA;EACA;EACA,eAAe;EACf,SAAS,SAAS,oBAAoB;EACtC,0BACE,YAAY,iBACZ,YAAY;EAEd;EACA;EACA,mBAAmB;IAAqB;KACtC,MAAM;EAER,SAAS,WAAW;EACpB,mBAAmB;EACnB,aAAa;EACb,aAAa;EACb;;;KAIU;EAAwB,MAAM;EAAM;;;KAEpC;EACV,QAAQ;EACR,OAAO;EACP;;;;;KAMU;EACV;EACA,SAAS;EACT;EACA;EACA,MAAM,sBAAsB,oBAAoB;;;;;;;;EAShD;IACE,mDAAmD;IACnD,8CAA8C;IAC9C,SAAS;;;;KAKD;EAEN,SAAS;EACT,OAAO;;;;;KAOD,yBAAyB,gBAAgB,QAAQ;;UAG5C;EACf,OAAO;EACP,MAAM;EACN,aAAa;EACb,OAAO;;;;;;;;KASG,aAAa,MAAM,cAAc;;KAGjC,YACV,OAAO,iBAAe,iBAAiB;;UAIxB;EACf,UAAU;EACV,kBAAkB,UAAU;EAC5B;EACA;EACA;EACA,MAAM;EACN;EACA;EACA,YAAY;EACZ,OAAO;;;UAIQ;EACf,aAAa;EACb,UAAU;EACV,kBAAkB,UAAU;EAC5B;EACA,MAAM;EACN;EACA,YAAY;EACZ,OAAO;;;UAIQ;EACf,OAAO;EACP,UAAU;EACV,kBAAkB,UAAU;EAC5B;EACA,MAAM;EACN,YAAY;EACZ;EACA,OAAO;;;UAGQ;EACf,UAAU;EACV,kBAAkB,UAAU;EAC5B;EACA,MAAM;EACN,YAAY;EACZ;EACA;;;UAGe;EACf,OAAO;EACP,UAAU;EACV,kBAAkB,UAAU;EAC5B;EACA;EACA,MAAM;EACN,YAAY;EACZ;EACA;;;KAIU,uBAAuB,OAAO,qBAAqB,IAAI;;KAGvD,uBAAuB,OAAO,0BAA0B,IAAI;;KAG5D,0BACV,OAAO,8BACJ,IAAI;;KAGG,4BACV,OAAO,+BACJ,IAAI;;KAGG,kCAAkC,MAAM;;KAGxC,uBAAuB,OAAO,0BAA0B,IAAI;;UAGvD;EACf,OAAO;EACP,UAAU;EACV,kBAAkB,UAAU;EAC5B;EACA,MAAM;EACN;EACA,YAAY;EACZ;;;KAIU,0BACV,OAAO,6BACJ,IAAI;;KAGG,2BACV,OAAO,8BACJ,IAAI;;KAGG,mCACV,QAAQ,oBACR,UAAU,WAAW;;;;UAMN;EACf,iBAAiB;EACjB,cAAc;EACd;;;;;;;UAOe;;;;;;;;;;;;;;EAcf,YAAY,OAAO,sBAAsB;;;;EAIzC,WAAW;;;;EAIX,WAAW,SAAS;;;;EAIpB,UAAU;;KCzTA;;;;;;;UCEK;EACf,MAAM;EACN;;;;;;;UCHe;EACf,QAAQ;EACR,OAAO;;;;;;;KCFG;EACV;EACA,MAAM;EACN,MAAM;EACN;EACA,UAAU;;;;;;;KAQA;EACV;EACA,MAAM;EACN;EACA;;;;;;;KAQU;EACV;EACA,MAAM;EACN;EACA;;;;;;;KAQU;EACV;EACA,MAAM;EACN;;;;;;;KAQU;EACV;EACA,MAAM;EACN,MAAM;EACN;;;;;;;KAQU;EACV;EACA,MAAM;;;;;;;;;;;KAYI;EACV;EACA,MAAM;EACN;EACA,UAAU,mBAAmB;;;;;;;;;;;;;;KAenB;EACV;EACA,MAAM;EACN,UAAU,mBAAmB;;KAG1B;EAEC;EACA;EACA,eAAe;;EAGf;EACA,YAAY,QAAQ;EACpB,eAAe,QAAQ;;EAGvB;EACA,YAAY;EACZ;;;;;;;;;;;;;;;;KAiBM,kBACR,kBACA,eACA,iBACA,wBACA,sBACA;KCpGQ,iBAAiB;EAAS,iBAAiB;;;;;;;;;;;;;;;;;KCzB3C;KAOA;;;;;;EAMV,WAAW;;;;;;EAMX,aAAa,MAAM;;;;;EAKnB,iBAAiB;;;;;EAKjB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;EAIA,QAAQ;;KAGE,qBAAqB,OAAO;;;;;;;;;KClD5B,WAAW,OAAO,QAAQ;;;;;;UCHrB;EACf,SAAS;EACT;EACA,SAAS;;UAGD;EACR,YAAY,KAAK,SAAS,IAAI;;cAInB,SAAS;;;;;;UCVL;EACf,SAAS;EACT,UAAU;EACV,SAAS;;UAGD;EACR,YAAY,KAAK,UAAU,IAAI;;cAIpB,UAAU;;;;;;UCdN;EACf,SAAS;EACT;EACA,SAAS;;;;;;UCKM;EAGf,YAAY;EACZ;IACE,QAAQ,MAAM;IACd,OAAO,MAAM;;EAEf,YAAY;EACZ,eAAe;EACf;EACA;EACA,UAAU,IAAI;EACd,WAAW,IAAI;EACf,WAAW,IAAI;EAIf,QAAQ,WAAW;EACnB,gBACE,QAAQ,WAAS,QAAM,OACvB;IACE,YAAY;;EAGhB,WAAW;IAAW,YAAY;;EAClC,oBACE,WACA,YACA;IAEA;IACA;IACA,YAAY;IACZ,YAAY;;EAKd,SAAS,QAAQ;EACjB,eAAe,OAAO,QAAQ;;KAGpB,WAAS,aAAa,YAAY;KCzClC;EACV;EACA;EACA;;KAGU;EACV;EACA,MAAM;EACN,MAAM;;;;;KCjBH,UAAU,WAAW;KAOrB,WAAW,WAAW;KACtB,eAAe,WAAW;KAC1B,iBAAiB,WAAW;QAWzB;YACI;IACR,mBAAmB;IACnB,sBAAsB;IACtB,cAAc;;;KAIN,YAAY;KCDZ;EAAU,KAAK,QAAQ;EAAO;;;;;UAMzB,kBAAkB;EACjC,oBACE,QAAQ,UACR,QAAQ,uBACL,UAAU;EACf,WAAW,QAAQ,UAAQ,OAAO;EAClC,sBAAsB,QAAQ,UAAQ,QAAQ;EAC9C,YAAY,QAAQ,UAAQ,QAAQ,uBAAuB,UAAU;EACrE,gCACE,QAAQ,UACR,QAAQ;EAGV;EACA,WAAW;EACX,YAAY;EAEZ;EACA;EACA;EACA,eAAe;EACf,mBAAmB;IAAW,YAAY;;EAC1C;EACA,cAAc;EACd,eAAe;EACf,kBAAkB;EAClB;;UAGQ;;;;EAIR,OAAO,QAAQ;;;;EAIf,2BAA2B,QAAQ,aAAW,WAAW;;;;EAKzD,QAAQ,QAAQ,UAAQ;IAAW;;;;;EAKnC,YAAY,QAAQ,aAAW;;;;EAK/B,aACE,QAAQ,UACR,QAAQ,SACR;IAAW;;;;;EAMb,oBACE,QAAQ,UACR,QAAQ,uBACL,UAAU;;;;EAKf,WAAW,QAAQ,UAAQ,OAAO;;;;EAKlC,sBAAsB,QAAQ,UAAQ,QAAQ;;;;EAK9C,YAAY,QAAQ,UAAQ,QAAQ,uBAAuB,UAAU;;;;EAKrE,gCACE,QAAQ,UACR,QAAQ;;;;EAMV,aAAa,QAAQ,UAAQ,OAAO,UAAU;;;;;;;;;EAU9C,aAAa,QAAQ,UAAQ,OAAO,UAAU;;;;EAK9C,mBAAmB,mBACjB,QAAQ,UACR,UAAU,UACV;IACE;IACA,eAAe;;;;;IAKf;QAEC,iBAAiB,eAAe;;;;EAKrC,oBAAoB,mBAClB,QAAQ,UACR,UAAU,WAAW,iBAAiB,cACtC;IACE;IACA,eAAe;QAEd,iBAAiB,eAAe;;cAI1B,WAAW;KCpKnB;EACH,YAAY;EACZ,WAAW;;UAGH;EACR,OAAO;EACP,OAAO;;KAGG;EACV,OAAO;EACP,MAAM;EACN,UAAU;EACV,kBAAkB;;UAGH,iCAAiC;EAChD;EACA;EAEA,YAAY;EACZ,cAAc,YAAY;EAC1B,eAAe,YAAY;EAC3B,OAAO,YAAY;EACnB,YAAY,YAAY;EAExB,iBAAiB,MAAM;EACvB,eAAe;EACf,SAAS;EACT,cAAc;;;;;;;;;EASd;;;;;;;;;;EAUA;IAA0B;IAAwB;;;;;;;;;;;;;;EAalD,2BAA2B;EAC3B,eAAe,MAAM;EACrB;EAEA;;;;;EAKA,iBAAiB,MAAM;EACvB;EACA;EACA;;;;;;;;;;;EAWA;EACA;EACA;EACA;;;;;;;;;;EAWA,UAAU;;;;;KCvGA;EACV,YAAY,MAAM;EAClB;EACA;EACA,QAAQ;EACR,WAAW;EACX,OAAO,MAAM;;;;;;;;;;;;;;;;;;;EAmBb,YAAY;;;;;KAMF;EACV,SAAS;EACT,eAAe;;;;;EAKf,gBAAgB;;;;;KC1CN,cAAc,gBAAgB,mBAAmB;EAC3D,UAAU;EACV,OAAO;EACP,KAAK;MACD;;;;KCEM,SACV,oCAEO,iCACH,iCAEG,iCACH,uBACJ,uBACA,uBAAuB,qBAAqB,sBAC1C,qBAAqB;;;;EAKvB,IAAI;;;;;;EAMJ,QAAQ,cAAc,gBAAgB;;;;;EAKtC,SAAS,MAAM,kBAAkB,gBAAgB;;;;;;;;;;;;;;;;iBAiBnC,eACd,iBAAiB,yBACjB,oCAEO,iCACH,wBAAwB,6BAC5B,uBAEA,UAAU,SACR,oBACA,gBACA,qBAAqB,oBAAoB,aAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KC5BS,YACR,kBACA,sBACA,sBACA,eACA;;;;KCpCQ;EAEN;EACA,OAAO,WAAW,gBAAgB;;;;;EAMlC;;EAGA;IAEF;EAEE;EACA,OAAO,WAAW,gBAAgB;;EAGlC;EACA,YAAY;EACZ,OAAO,MAAM;;;;;EAMb;IAEF;;;;;;;;;;;;;;;;;;;;EAqBE;EACA,WAAW;IAEb;EAEE;;EAGA;;EAGA;EACA,WAAW;;EAGX;EACA,OAAO,MAAM;;;;;KAMd;EACH;EACA;EACA;EACA;;;;;KAMU;EACV;EACA,SAAS,MAAM;EACf,OAAO,MAAM;;KAGH;EACV;EACA,OAAO;;;;;KCxFG;;;;EAIV;EACA;EACA,eAAe,MAAM;EACrB,kBAAkB;;;;;KAMR,cACR,sBACA;;;;;;;;;;;;;;;;;;;;;EAsBE;EACA,OAAO,MAAM;;;;;KAMP;EACV,KAAK;EACL,mBAAmB;;;;EAInB,mBAAmB;IAAS,UAAU;;;;;;;;;;EAStC,eAAe;IAAS,MAAM;;EAC9B,OAAO,OAAO;;;;;;;;;;;;EAYd;KACG,cAAc,kCACb,MAAM,OACN,WACE,QAAQ,MACN,sBAAsB;MAA+B,MAAM;kBAG/D;MAAU;;MACR;;KACH,cAAc,kCACb,MAAM,OACN,WACE,OAAO,sBACJ;MAA+B,MAAM;iBAE1C;MAAW;;MACT;;;;;;;;;;;;;;;;;;;;EAmBN,UAAU;IACR,QAAQ,UAAU;IAClB,SAAS;IACT;;IACG;;;;;;KC7GK;EACV,eAAe;EACf,WAAW,QAAM;;;;;;;;;;;;;;;;;;;;iBAqBH,eAAe,OAAO,sBAAmB,QAAA,IAAA;;;;KC1B7C,eAAe,cAAc,UAAU,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BtD,kBAAkB,WAChC,QAAQ,QACR,UAAU,eAAe,YACzB,WAAU,GAAG,WAAW,GAAG,wBAAsC;;;;;;cC3BtD,6BAA4B;;;;;;cCJ5B,sCAAqC;;;;cCPrC;;;;;;;;;;;;;;;;iBCeG,aAAA;;;;KCbJ;EACV,MAAM;EACN;;KCLU;EACV;EACA;EACA;IACE,UAAU;IACV;;;KCJQ;EACV,UAAU;EACV,UAAU;;;;;KCmCA;EACV;EACA,SAAS,MAAM;EACf,UAAU,MAAM;;;;;KAMN;EAEN;EACA;IAEF;KAEC,qBAAqB,eAAe;EACvC;EACA,OAAO,MAAM;;;;;KAMH,cAAc,oBAAoB;;;;cAoHjC,gCAAa;EAGT,WAAA,IAAI;EACE;EACE,mBAAA,MAAM;EACX;EACC,eAAA,MAAM,qBAAqB;EACZ,8BAAA,MAAM;EACd,sBAAA,MAAM;EACpB,QAAA;EACS;EACH,cAAA,MAAM;EACL;IACb,QAAQ,KAAK;;EAEH,YAAA;EACG,eAAA;;EAlJT;EACI;;EAoBJ;EACU,gBAAA;;EAGV;EACU,gBAAA;;EAGV;EACE,QAAA;;EAGF;EACE,QAAA;;EAGF;EACK,WAAA;;EAGL;;EAGA;;EAGA;EACS,eAAA;EACP,QAAA;EACM;IAAC;;;EAKT;EACC,OAAA;;EAGD;EACE,QAAA;EACA,QAAA,KAAK;;EAER;;EACA;;EAEC;EACA,MAAA;;EAGA;EACA,MAAA;;EAED;EAA6B,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8ErB,aAAA,MAAM;EACL;EACH;EACH,QAAA;EACO,eAAA,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KC1Lf;EACV;;;;;EAKA;;;;;;EAMA;EACA,WAAW,YAAY;;KC3Bb,2BAA2B,KAAK;EAC1C,OAAO;;KAGG,6BAA6B,KAAK;EAC5C,OAAO;;KAGG,uBACR,2BACA;KAEQ,sBAAsB,KAAK;EACrC,OAAO;;KAGG,uBACR,sBACA;;;;KCLQ,gBACR,yBACA,sBACA;KAEQ,6BACR,kCACA,+BACA;KAEC,4BACH,mBAAmB,mCACjB,wBACA,wBACA,QAAQ,uBAAuB,gBAAgB;;;;KAM9C;KAEA,0BACH,mBAAmB,gCACnB,6BACE,sBAAsB,kBAAkB,cAAc;KAE9C;EAEN,MAAM;;EAGN,MAAM;;EAGN,MAAM;EACN,WAAW;EACX;IACE;IACA;OAAU;;;IAGd;;;;cAME;KAwBD,qCACO,+CACA;KAEP,kCACH,iBAAiB;;;;KAKP;EAEN,MAAM,cAAc;EACpB;IACE;IACA;IACA;OAAS;;;EAEX,KAAK,YAAY;;EAGjB,MAAM,cAAc;EACpB;IACE;;EAEF,KAAK,YAAY;;EAGjB,MAAM,cAAc;EACpB,IAAI;EACJ,OAAO;;EAGP,MAAM,cAAc;EACpB,IAAI;EACJ,OAAO;;EAGP,MAAM,cAAc;EACpB,IAAI;EACJ;KAAS;;;EAGT,MAAM,cAAc;EACpB,IAAI;EACJ,OAAO;;EAGP,MAAM,cAAc;EACpB;EACA,KAAK,YAAY;;EAGjB,MAAM,cAAc;EACpB;EACA,KAAK,YAAY;;EAGjB,MAAM,cAAc;EACpB,KAAK,YAAY;;;;EAIjB;;;;EAIA;;EAGA,MAAM,cAAc;;EAGpB,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;EAyBpB,MAAM,cAAc;EACpB,IAAI;EACJ,OAAO,wBAAwB,qBAAqB;EACpD;;EAGA,MAAM,cAAc;EACpB,OAAO;EACP,WAAW;EACX;EACA,KAAK,YAAY;;EAGjB,MAAM,cAAc;EACpB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BP,MAAM,cAAc;EACpB,KAAK;EACL;EACA;;EAGA,MAAM,cAAc;EACpB;;EAGA,MAAM,cAAc;EACpB;;;;;;;;;;;;;;;;;;;;;;;;EAyBA,MAAM,cAAc;EACpB,IAAI;EACJ;EACA;;EAGA,MAAM,cAAc;EACpB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;EAyBJ,MAAM,cAAc;EACpB,IAAI;EACJ;;;;;;;;;;;;;;;;;;;;;EAsBA,MAAM,cAAc;EACpB,IAAI;IAEN;;;;KAKQ;;;;cAoBN;KAwCD;EAEC,MAAM,cAAc;EACpB,IAAI;EACJ,OAAO;;EAGP,MAAM,cAAc;EACpB;IACE;IACA;OAAS;;;EAEX,KAAK,YAAY;;EAGjB,MAAM,cAAc;EACpB;EACA,KAAK,YAAY;;EAGjB,MAAM,cAAc;EACpB;;EAGA,MAAM,cAAc;EACpB,IAAI;;EAGJ,MAAM,cAAc;EACpB,IAAI;;EAGJ,MAAM,cAAc;EACpB;;EAGA,MAAM,cAAc;EACpB,IAAI,YAAY;;EAGhB,MAAM,cAAc;EACpB,aACI,cACE,gEAIF;;EAGJ,MAAM,cAAc;EACpB,UAAU;EACV;EACA,aACI,cACE,gEAIF;;EAGJ,MAAM,cAAc;EACpB,aAAa,cACX;;EAMF,MAAM,cAAc;EACpB,UAAU;EACV,aAAa,cACX;;EAMF,MAAM,cAAc;EACpB,UAAU;EACV,MAAM,MAAM;EACZ,aACI,cACE,gEAIF;;EAGJ,MAAM,cAAc;EACpB,UAAU;EACV;EACA,aACI,cACE,gEAIF;;EAGJ,MAAM,cAAc;EACpB,UAAU;EACV;EACA,aAAa,cACX;;EAMF,MAAM,cAAc;EACpB,UAAU;EACV;EACA,aAAa,cACX;;EAMF,MAAM,cAAc;EACpB,QAAQ,MAAM;EACd,WAAW;EACX;EACA,KAAK,YAAY;;EAGjB,MAAM,cAAc;;EAGpB,MAAM,cAAc;EACpB;IACE;IACA;OAAU;;;;EAIZ,MAAM,cAAc;;EAGpB,MAAM,cAAc;EACpB;EACA,cAAc;IACZ;IACA;OAAS;;;EAEX,aAAa;;EAGb,MAAM,cAAc;EACpB;;EAGA,MAAM,cAAc;EACpB;;EAGA,MAAM,cAAc;EACpB;;EAGA,MAAM,cAAc;EACpB,IAAI;EACJ,IAAI;;EAGJ,MAAM,cAAc;EACpB,IAAI;;EAGJ,MAAM,cAAc;EACpB,IAAI;;EAGJ,MAAM,cAAc;EACpB,IAAI;EACJ;;EAGA,MAAM,cAAc;EACpB;;EAGA,MAAM,cAAc;EACpB;;EAGA,MAAM,cAAc;;EAGpB,MAAM,cAAc;EACpB;;EAGA,MAAM,cAAc;EACpB;;EAGA,MAAM,cAAc;EACpB;;;;;cAaA;KAiBD,kCAAkC;KAElC,+BAA+B,iBAAiB;;;;KAWzC,sBACR,yBACA,oBACA,qBACA,wBACA;KAEC;EAEC,MAAM,cAAc;EACpB;IACE,cAAc;;EAEhB,UAAU,KAAK;;EAGf,MAAM,cAAc;EACpB;IACE,cAAc;;EAEhB,UAAU,KAAK;;EAGf,MAAM,cAAc;EACpB;IACE,cAAc;;EAEhB,UAAU,KAAK;;KAGhB;EAEC,MAAM,cAAc;EACpB;IACE;IACA;IACA,cAAc;;EAEhB,UAAU,KAAK;;EAGf,MAAM,cAAc;EACpB;IACE,cAAc;;;EAIhB,MAAM,cAAc;EACpB;IACE,cAAc;;;EAIhB,MAAM,cAAc;EACpB;IACE,cAAc;;EAEhB,UAAU;;EAGV,MAAM,cAAc;EACpB;IACE,cAAc;;EAEhB,aAAa,KAAK;EAClB,UAAU;;EAGV,MAAM,cAAc;EACpB;IACE,cAAc;;EAEhB,aAAa,KAAK;EAClB,UAAU;;EAGV,MAAM,cAAc;EACpB;IACE,cAAc;;;;;;;;;;;;;;KAeV;EACV,MAAM,cAAc;EACpB;IACE,cAAc;;;KAIN;EAEN,MAAM,cAAc;EACpB,aAAa,KACX;;EAKF,MAAM,cAAc;EACpB,aAAa,KACX;;KAKI;EACV,MAAM,cAAc;EACpB,UAAU;;;;;KAOP;KAEA,wBACH,mBAAmB,8BACnB,6BACE,sBAAsB,kBAAkB,cAAc;;;;KAK9C,oBACV,iBAAiB,0BAA0B,yBAC3C,+BACA,sBAAsB,kCAAkC,SACtD,kCAAkC;EAEpC,MAAM;IACJ;;;;KAYQ,qBACV,oCAEO,iCACH,uBACJ,iBAAiB,0BAA0B,2BACzC,iCACA,gBACA,oCAAoC,iBAClC,mBAAmB,6BACjB,cACE,uBAEA,4BAA4B,uBAGhC,2CAA2C,UACzC,oBAAoB,UAAU,SAC9B,2BAA2B,wBACzB,cAAc,uBAAuB;KAG1C,iBAAiB,wBACpB,uBAAuB,wBAAwB,YAAY;KC5xBjD;EACV,gBAAgB,UAAU,mBAAmB,MAAM;EACnD,gBAAgB,UAAU,mBAAmB,MAAM;EACnD,wBAAwB;;;;;EAKxB,mBAAmB,UAAU,mBAAmB;;;;;;;;EAQhD,wBAAwB;IACtB;IACA;QACI;EACN,uBAAuB,UAAU,mBAAmB;EACpD,qBAAqB,UAAU,mBAAmB;;;;;EAKlD,iBACE,OACA;IAEA,OAAO,cAAc;IACrB;MACE,SAAS;MACT;MACA;;;;;;;KCrCM;EAEN;EACA,OAAO;;EAGP;EACA,OAAO,sBAAsB,yBAAyB;;EAGtD;EACA,OAAO,yBAAyB;;EAGhC;EACA,SAAS;;;;;;;;;;;;;;;;;;;;;;;IAuBP,OAAO,OAAO;;;;;;;;;;;;;;;;;;;;iBAqBN,QACd,OAAO,yBACN,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyCD,QACd,OAAO,sBAAsB,yBAAyB,sBACrD,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqCD,QACd,OAAO,yBAAyB,sBAC/B,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8CD,OACd,QAAQ,cAAc,8CACrB,cAAc;;;;KAOL,kBAAkB,gBAAgB,mBAC5C;EACE,UAAU;EACV,OAAO;EACP,KAAK;GAEP,eAAe,mBACZ,MAAM"}