@fluidframework/sequence 2.30.0 → 2.31.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.
Files changed (189) hide show
  1. package/CHANGELOG.md +506 -495
  2. package/api-report/sequence.legacy.alpha.api.md +67 -5
  3. package/dist/IntervalCollectionValues.d.ts +3 -51
  4. package/dist/IntervalCollectionValues.d.ts.map +1 -1
  5. package/dist/IntervalCollectionValues.js +6 -49
  6. package/dist/IntervalCollectionValues.js.map +1 -1
  7. package/dist/index.d.ts +4 -4
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -8
  10. package/dist/index.js.map +1 -1
  11. package/dist/intervalCollection.d.ts +292 -63
  12. package/dist/intervalCollection.d.ts.map +1 -1
  13. package/dist/intervalCollection.js +111 -193
  14. package/dist/intervalCollection.js.map +1 -1
  15. package/dist/intervalCollectionMap.d.ts +11 -32
  16. package/dist/intervalCollectionMap.d.ts.map +1 -1
  17. package/dist/intervalCollectionMap.js +37 -90
  18. package/dist/intervalCollectionMap.js.map +1 -1
  19. package/dist/intervalCollectionMapInterfaces.d.ts +10 -83
  20. package/dist/intervalCollectionMapInterfaces.d.ts.map +1 -1
  21. package/dist/intervalCollectionMapInterfaces.js.map +1 -1
  22. package/dist/intervalIndex/endpointInRangeIndex.d.ts +10 -11
  23. package/dist/intervalIndex/endpointInRangeIndex.d.ts.map +1 -1
  24. package/dist/intervalIndex/endpointInRangeIndex.js +4 -5
  25. package/dist/intervalIndex/endpointInRangeIndex.js.map +1 -1
  26. package/dist/intervalIndex/endpointIndex.d.ts +12 -13
  27. package/dist/intervalIndex/endpointIndex.d.ts.map +1 -1
  28. package/dist/intervalIndex/endpointIndex.js +4 -5
  29. package/dist/intervalIndex/endpointIndex.js.map +1 -1
  30. package/dist/intervalIndex/idIntervalIndex.d.ts +6 -12
  31. package/dist/intervalIndex/idIntervalIndex.d.ts.map +1 -1
  32. package/dist/intervalIndex/idIntervalIndex.js +0 -3
  33. package/dist/intervalIndex/idIntervalIndex.js.map +1 -1
  34. package/dist/intervalIndex/index.d.ts +2 -2
  35. package/dist/intervalIndex/index.d.ts.map +1 -1
  36. package/dist/intervalIndex/index.js.map +1 -1
  37. package/dist/intervalIndex/intervalIndex.d.ts +28 -1
  38. package/dist/intervalIndex/intervalIndex.d.ts.map +1 -1
  39. package/dist/intervalIndex/intervalIndex.js.map +1 -1
  40. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +30 -13
  41. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
  42. package/dist/intervalIndex/overlappingIntervalsIndex.js +4 -5
  43. package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  44. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.d.ts.map +1 -1
  45. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js +1 -1
  46. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  47. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts +2 -2
  48. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  49. package/dist/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  50. package/dist/intervalIndex/startpointInRangeIndex.d.ts +10 -11
  51. package/dist/intervalIndex/startpointInRangeIndex.d.ts.map +1 -1
  52. package/dist/intervalIndex/startpointInRangeIndex.js +4 -5
  53. package/dist/intervalIndex/startpointInRangeIndex.js.map +1 -1
  54. package/dist/intervals/index.d.ts +2 -3
  55. package/dist/intervals/index.d.ts.map +1 -1
  56. package/dist/intervals/index.js +1 -6
  57. package/dist/intervals/index.js.map +1 -1
  58. package/dist/intervals/intervalUtils.d.ts +3 -25
  59. package/dist/intervals/intervalUtils.d.ts.map +1 -1
  60. package/dist/intervals/intervalUtils.js.map +1 -1
  61. package/dist/intervals/sequenceInterval.d.ts +3 -8
  62. package/dist/intervals/sequenceInterval.d.ts.map +1 -1
  63. package/dist/intervals/sequenceInterval.js +1 -9
  64. package/dist/intervals/sequenceInterval.js.map +1 -1
  65. package/dist/legacy.d.ts +4 -0
  66. package/dist/packageVersion.d.ts +1 -1
  67. package/dist/packageVersion.js +1 -1
  68. package/dist/packageVersion.js.map +1 -1
  69. package/dist/sequence.d.ts +4 -6
  70. package/dist/sequence.d.ts.map +1 -1
  71. package/dist/sequence.js +3 -5
  72. package/dist/sequence.js.map +1 -1
  73. package/dist/sharedIntervalCollection.d.ts +2 -63
  74. package/dist/sharedIntervalCollection.d.ts.map +1 -1
  75. package/dist/sharedIntervalCollection.js +0 -113
  76. package/dist/sharedIntervalCollection.js.map +1 -1
  77. package/dist/sharedString.d.ts.map +1 -1
  78. package/dist/sharedString.js +6 -6
  79. package/dist/sharedString.js.map +1 -1
  80. package/lib/IntervalCollectionValues.d.ts +3 -51
  81. package/lib/IntervalCollectionValues.d.ts.map +1 -1
  82. package/lib/IntervalCollectionValues.js +5 -47
  83. package/lib/IntervalCollectionValues.js.map +1 -1
  84. package/lib/index.d.ts +4 -4
  85. package/lib/index.d.ts.map +1 -1
  86. package/lib/index.js +2 -3
  87. package/lib/index.js.map +1 -1
  88. package/lib/intervalCollection.d.ts +292 -63
  89. package/lib/intervalCollection.d.ts.map +1 -1
  90. package/lib/intervalCollection.js +113 -191
  91. package/lib/intervalCollection.js.map +1 -1
  92. package/lib/intervalCollectionMap.d.ts +11 -32
  93. package/lib/intervalCollectionMap.d.ts.map +1 -1
  94. package/lib/intervalCollectionMap.js +39 -92
  95. package/lib/intervalCollectionMap.js.map +1 -1
  96. package/lib/intervalCollectionMapInterfaces.d.ts +10 -83
  97. package/lib/intervalCollectionMapInterfaces.d.ts.map +1 -1
  98. package/lib/intervalCollectionMapInterfaces.js.map +1 -1
  99. package/lib/intervalIndex/endpointInRangeIndex.d.ts +10 -11
  100. package/lib/intervalIndex/endpointInRangeIndex.d.ts.map +1 -1
  101. package/lib/intervalIndex/endpointInRangeIndex.js +5 -6
  102. package/lib/intervalIndex/endpointInRangeIndex.js.map +1 -1
  103. package/lib/intervalIndex/endpointIndex.d.ts +12 -13
  104. package/lib/intervalIndex/endpointIndex.d.ts.map +1 -1
  105. package/lib/intervalIndex/endpointIndex.js +5 -6
  106. package/lib/intervalIndex/endpointIndex.js.map +1 -1
  107. package/lib/intervalIndex/idIntervalIndex.d.ts +6 -12
  108. package/lib/intervalIndex/idIntervalIndex.d.ts.map +1 -1
  109. package/lib/intervalIndex/idIntervalIndex.js +0 -3
  110. package/lib/intervalIndex/idIntervalIndex.js.map +1 -1
  111. package/lib/intervalIndex/index.d.ts +2 -2
  112. package/lib/intervalIndex/index.d.ts.map +1 -1
  113. package/lib/intervalIndex/index.js.map +1 -1
  114. package/lib/intervalIndex/intervalIndex.d.ts +28 -1
  115. package/lib/intervalIndex/intervalIndex.d.ts.map +1 -1
  116. package/lib/intervalIndex/intervalIndex.js.map +1 -1
  117. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts +30 -13
  118. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
  119. package/lib/intervalIndex/overlappingIntervalsIndex.js +5 -6
  120. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  121. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.ts.map +1 -1
  122. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js +2 -2
  123. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  124. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts +2 -2
  125. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  126. package/lib/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  127. package/lib/intervalIndex/startpointInRangeIndex.d.ts +10 -11
  128. package/lib/intervalIndex/startpointInRangeIndex.d.ts.map +1 -1
  129. package/lib/intervalIndex/startpointInRangeIndex.js +5 -6
  130. package/lib/intervalIndex/startpointInRangeIndex.js.map +1 -1
  131. package/lib/intervals/index.d.ts +2 -3
  132. package/lib/intervals/index.d.ts.map +1 -1
  133. package/lib/intervals/index.js +1 -2
  134. package/lib/intervals/index.js.map +1 -1
  135. package/lib/intervals/intervalUtils.d.ts +3 -25
  136. package/lib/intervals/intervalUtils.d.ts.map +1 -1
  137. package/lib/intervals/intervalUtils.js.map +1 -1
  138. package/lib/intervals/sequenceInterval.d.ts +3 -8
  139. package/lib/intervals/sequenceInterval.d.ts.map +1 -1
  140. package/lib/intervals/sequenceInterval.js +0 -8
  141. package/lib/intervals/sequenceInterval.js.map +1 -1
  142. package/lib/legacy.d.ts +4 -0
  143. package/lib/packageVersion.d.ts +1 -1
  144. package/lib/packageVersion.js +1 -1
  145. package/lib/packageVersion.js.map +1 -1
  146. package/lib/sequence.d.ts +4 -6
  147. package/lib/sequence.d.ts.map +1 -1
  148. package/lib/sequence.js +3 -5
  149. package/lib/sequence.js.map +1 -1
  150. package/lib/sharedIntervalCollection.d.ts +2 -63
  151. package/lib/sharedIntervalCollection.d.ts.map +1 -1
  152. package/lib/sharedIntervalCollection.js +1 -110
  153. package/lib/sharedIntervalCollection.js.map +1 -1
  154. package/lib/sharedString.d.ts.map +1 -1
  155. package/lib/sharedString.js +6 -6
  156. package/lib/sharedString.js.map +1 -1
  157. package/lib/tsdoc-metadata.json +1 -1
  158. package/package.json +19 -22
  159. package/src/IntervalCollectionValues.ts +10 -93
  160. package/src/index.ts +6 -17
  161. package/src/intervalCollection.ts +524 -343
  162. package/src/intervalCollectionMap.ts +72 -140
  163. package/src/intervalCollectionMapInterfaces.ts +13 -104
  164. package/src/intervalIndex/endpointInRangeIndex.ts +17 -29
  165. package/src/intervalIndex/endpointIndex.ts +19 -31
  166. package/src/intervalIndex/idIntervalIndex.ts +15 -25
  167. package/src/intervalIndex/index.ts +2 -1
  168. package/src/intervalIndex/intervalIndex.ts +30 -1
  169. package/src/intervalIndex/overlappingIntervalsIndex.ts +50 -27
  170. package/src/intervalIndex/overlappingSequenceIntervalsIndex.ts +2 -3
  171. package/src/intervalIndex/sequenceIntervalIndexes.ts +2 -2
  172. package/src/intervalIndex/startpointInRangeIndex.ts +17 -29
  173. package/src/intervals/index.ts +0 -3
  174. package/src/intervals/intervalUtils.ts +3 -38
  175. package/src/intervals/sequenceInterval.ts +2 -12
  176. package/src/packageVersion.ts +1 -1
  177. package/src/sequence.ts +8 -20
  178. package/src/sharedIntervalCollection.ts +5 -183
  179. package/src/sharedString.ts +6 -24
  180. package/dist/intervals/interval.d.ts +0 -76
  181. package/dist/intervals/interval.d.ts.map +0 -1
  182. package/dist/intervals/interval.js +0 -167
  183. package/dist/intervals/interval.js.map +0 -1
  184. package/lib/intervals/interval.d.ts +0 -76
  185. package/lib/intervals/interval.d.ts.map +0 -1
  186. package/lib/intervals/interval.js +0 -162
  187. package/lib/intervals/interval.js.map +0 -1
  188. package/prettier.config.cjs +0 -8
  189. package/src/intervals/interval.ts +0 -226
@@ -6,10 +6,11 @@ import { TypedEventEmitter } from "@fluid-internal/client-utils";
6
6
  import { IEvent } from "@fluidframework/core-interfaces";
7
7
  import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
8
8
  import { Client, LocalReferencePosition, PropertySet, Side, SequencePlace } from "@fluidframework/merge-tree/internal";
9
- import { IIntervalCollectionFactory, IIntervalCollectionOperation, IIntervalCollectionType, IMapMessageLocalMetadata, IValueOpEmitter, SequenceOptions } from "./intervalCollectionMapInterfaces.js";
10
- import { IEndpointIndex, IIdIntervalIndex, IOverlappingIntervalsIndex, IntervalIndex } from "./intervalIndex/index.js";
11
- import { CompressedSerializedInterval, IIntervalHelpers, ISerializableInterval, ISerializedInterval, Interval, IntervalOpType, IntervalStickiness, IntervalType, SequenceInterval, SerializedIntervalDelta, type ISerializableIntervalPrivate } from "./intervals/index.js";
9
+ import { IIntervalCollectionOperation, IMapMessageLocalMetadata, SequenceOptions, type IIntervalCollectionTypeOperationValue } from "./intervalCollectionMapInterfaces.js";
10
+ import { type IEndpointIndex, type IIdIntervalIndex, type IntervalIndex, type ISequenceOverlappingIntervalsIndex, type SequenceIntervalIndex } from "./intervalIndex/index.js";
11
+ import { CompressedSerializedInterval, ISerializedInterval, IntervalDeltaOpType, IntervalStickiness, IntervalType, SequenceInterval, SequenceIntervalClass, SerializedIntervalDelta, type ISerializableInterval, type ISerializableIntervalPrivate } from "./intervals/index.js";
12
12
  export declare const reservedIntervalIdKey = "intervalId";
13
+ export type ISerializedIntervalCollectionV1 = ISerializedInterval[];
13
14
  export interface ISerializedIntervalCollectionV2 {
14
15
  label: string;
15
16
  version: 2;
@@ -22,22 +23,20 @@ export declare function sidesFromStickiness(stickiness: IntervalStickiness): {
22
23
  export declare function toSequencePlace(pos: number | "start" | "end", side: Side | undefined): SequencePlace;
23
24
  export declare function toOptionalSequencePlace(pos: number | "start" | "end" | undefined, side: Side | undefined): SequencePlace | undefined;
24
25
  export declare function computeStickinessFromSide(startPos?: number | "start" | "end" | undefined, startSide?: Side, endPos?: number | "start" | "end" | undefined, endSide?: Side): IntervalStickiness;
25
- export declare function createIntervalIndex(): LocalIntervalCollection<Interval>;
26
- export declare class LocalIntervalCollection<TInterval extends ISerializableInterval> {
26
+ export declare class LocalIntervalCollection {
27
27
  private readonly client;
28
28
  private readonly label;
29
- private readonly helpers;
30
29
  private readonly options;
31
30
  /** Callback invoked each time one of the endpoints of an interval slides. */
32
31
  private readonly onPositionChange?;
33
32
  private static readonly legacyIdPrefix;
34
- readonly overlappingIntervalsIndex: IOverlappingIntervalsIndex<TInterval>;
35
- readonly idIntervalIndex: IIdIntervalIndex<TInterval>;
36
- readonly endIntervalIndex: IEndpointIndex<TInterval>;
33
+ readonly overlappingIntervalsIndex: ISequenceOverlappingIntervalsIndex;
34
+ readonly idIntervalIndex: IIdIntervalIndex;
35
+ readonly endIntervalIndex: IEndpointIndex;
37
36
  private readonly indexes;
38
- constructor(client: Client, label: string, helpers: IIntervalHelpers<TInterval>, options: Partial<SequenceOptions>,
37
+ constructor(client: Client, label: string, options: Partial<SequenceOptions>,
39
38
  /** Callback invoked each time one of the endpoints of an interval slides. */
40
- onPositionChange?: ((interval: TInterval, previousInterval: TInterval) => void) | undefined);
39
+ onPositionChange?: ((interval: SequenceIntervalClass, previousInterval: SequenceIntervalClass) => void) | undefined);
41
40
  createLegacyId(start: number | "start" | "end", end: number | "start" | "end"): string;
42
41
  /**
43
42
  * Validates that a serialized interval has the ID property. Creates an ID
@@ -48,51 +47,36 @@ export declare class LocalIntervalCollection<TInterval extends ISerializableInte
48
47
  */
49
48
  ensureSerializedId(serializedInterval: ISerializedInterval): string;
50
49
  private removeIntervalFromIndexes;
51
- appendIndex(index: IntervalIndex<TInterval>): void;
52
- removeIndex(index: IntervalIndex<TInterval>): boolean;
53
- removeExistingInterval(interval: TInterval): void;
54
- createInterval(start: SequencePlace, end: SequencePlace, intervalType: IntervalType, op?: ISequencedDocumentMessage): TInterval;
55
- addInterval(start: SequencePlace, end: SequencePlace, intervalType: IntervalType, props?: PropertySet, op?: ISequencedDocumentMessage): TInterval;
50
+ appendIndex(index: SequenceIntervalIndex): void;
51
+ removeIndex(index: SequenceIntervalIndex): boolean;
52
+ removeExistingInterval(interval: SequenceIntervalClass): void;
53
+ createInterval(start: SequencePlace, end: SequencePlace, intervalType: IntervalType, op?: ISequencedDocumentMessage): SequenceIntervalClass;
54
+ addInterval(start: SequencePlace, end: SequencePlace, intervalType: IntervalType, props?: PropertySet, op?: ISequencedDocumentMessage): SequenceIntervalClass;
56
55
  private linkEndpointsToInterval;
57
56
  private addIntervalToIndexes;
58
- add(interval: TInterval): void;
59
- changeInterval(interval: TInterval, start: SequencePlace | undefined, end: SequencePlace | undefined, op?: ISequencedDocumentMessage, localSeq?: number): TInterval | undefined;
60
- serialize(): ISerializedIntervalCollectionV2;
57
+ add(interval: SequenceIntervalClass): void;
58
+ changeInterval(interval: SequenceIntervalClass, start: SequencePlace | undefined, end: SequencePlace | undefined, op?: ISequencedDocumentMessage, localSeq?: number): SequenceIntervalClass;
59
+ serialize(version: "1" | "2"): ISerializedIntervalCollectionV1 | ISerializedIntervalCollectionV2;
61
60
  private addIntervalListeners;
62
61
  private removeIntervalListeners;
63
62
  }
64
- export declare class SequenceIntervalCollectionValueType implements IIntervalCollectionType<SequenceInterval> {
65
- static Name: string;
66
- get name(): string;
67
- get factory(): IIntervalCollectionFactory<SequenceInterval>;
68
- get ops(): Map<IntervalOpType, IIntervalCollectionOperation<SequenceInterval>>;
69
- private static readonly _factory;
70
- private static readonly _ops;
71
- }
72
- export declare class IntervalCollectionValueType implements IIntervalCollectionType<Interval> {
73
- static Name: string;
74
- get name(): string;
75
- get factory(): IIntervalCollectionFactory<Interval>;
76
- get ops(): Map<IntervalOpType, IIntervalCollectionOperation<Interval>>;
77
- private static readonly _factory;
78
- private static readonly _ops;
79
- }
80
- export declare function makeOpsMap<T extends ISerializableInterval>(): Map<IntervalOpType, IIntervalCollectionOperation<T>>;
63
+ export declare const opsMap: Record<IntervalDeltaOpType, IIntervalCollectionOperation>;
81
64
  /**
82
65
  * @legacy
83
66
  * @alpha
84
67
  */
85
68
  export type DeserializeCallback = (properties: PropertySet) => void;
86
- declare class IntervalCollectionIterator<TInterval extends ISerializableInterval> implements Iterator<TInterval> {
69
+ declare class IntervalCollectionIterator implements Iterator<SequenceIntervalClass> {
87
70
  private readonly results;
88
71
  private index;
89
- constructor(collection: IntervalCollection<TInterval>, iteratesForward?: boolean, start?: number, end?: number);
90
- next(): IteratorResult<TInterval>;
72
+ constructor(collection: IntervalCollection, iteratesForward?: boolean, start?: number, end?: number);
73
+ next(): IteratorResult<SequenceIntervalClass>;
91
74
  }
92
75
  /**
93
76
  * Change events emitted by `IntervalCollection`s
94
77
  * @legacy
95
78
  * @alpha
79
+ * @remarks The generic version of this interface is no longer used and will be removed. Use {@link ISequenceIntervalCollectionEvents} instead.
96
80
  */
97
81
  export interface IIntervalCollectionEvent<TInterval extends ISerializableInterval> extends IEvent {
98
82
  /**
@@ -139,11 +123,62 @@ export interface IIntervalCollectionEvent<TInterval extends ISerializableInterva
139
123
  */
140
124
  (event: "changed", listener: (interval: TInterval, propertyDeltas: PropertySet, previousInterval: TInterval | undefined, local: boolean, slide: boolean) => void): void;
141
125
  }
126
+ /**
127
+ * Change events emitted by `IntervalCollection`s
128
+ * @legacy
129
+ * @alpha
130
+ */
131
+ export interface ISequenceIntervalCollectionEvents extends IEvent {
132
+ /**
133
+ * This event is invoked whenever the endpoints of an interval may have changed.
134
+ * This can happen on:
135
+ * - local endpoint modification
136
+ * - ack of a remote endpoint modification
137
+ * - position change due to segment sliding (slides due to mergeTree segment deletion will always appear local)
138
+ * The `interval` argument reflects the new values.
139
+ * `previousInterval` contains transient `ReferencePosition`s at the same location as the interval's original
140
+ * endpoints. These references should be used for position information only.
141
+ * `local` reflects whether the change originated locally.
142
+ * `op` is defined if and only if the server has acked this change.
143
+ * `slide` is true if the change is due to sliding on removal of position
144
+ */
145
+ (event: "changeInterval", listener: (interval: SequenceInterval, previousInterval: SequenceInterval, local: boolean, op: ISequencedDocumentMessage | undefined, slide: boolean) => void): void;
146
+ /**
147
+ * This event is invoked whenever an interval is added or removed from the collection.
148
+ * `local` reflects whether the change originated locally.
149
+ * `op` is defined if and only if the server has acked this change.
150
+ */
151
+ (event: "addInterval" | "deleteInterval", listener: (interval: SequenceInterval, local: boolean, op: ISequencedDocumentMessage | undefined) => void): void;
152
+ /**
153
+ * This event is invoked whenever an interval's properties have changed.
154
+ * `interval` reflects the state of the updated properties.
155
+ * `propertyDeltas` is a map-like whose keys contain all values that were changed, and whose
156
+ * values contain all previous values of the property set.
157
+ * This object can be used directly in a call to `changeProperties` to revert the property change if desired.
158
+ * `local` reflects whether the change originated locally.
159
+ * `op` is defined if and only if the server has acked this change.
160
+ */
161
+ (event: "propertyChanged", listener: (interval: SequenceInterval, propertyDeltas: PropertySet, local: boolean, op: ISequencedDocumentMessage | undefined) => void): void;
162
+ /**
163
+ * This event is invoked whenever an interval's endpoints or properties (or both) have changed.
164
+ * `interval` reflects the state of the updated endpoints or properties.
165
+ * `propertyDeltas` is a map-like whose keys contain all values that were changed, and whose
166
+ * values contain all previous values of the property set.
167
+ * This object can be used directly in a call to `changeProperties` to revert the property change if desired.
168
+ * 'previousInterval' contains transient `ReferencePosition`s at the same location as the interval's original
169
+ * endpoints. These references should be used for position information only. In the case of a property change
170
+ * only, this argument should be undefined.
171
+ * `local` reflects whether the change originated locally.
172
+ * `slide` is true if the change is due to sliding on removal of position.
173
+ */
174
+ (event: "changed", listener: (interval: SequenceInterval, propertyDeltas: PropertySet, previousInterval: SequenceInterval | undefined, local: boolean, slide: boolean) => void): void;
175
+ }
142
176
  /**
143
177
  * Collection of intervals that supports addition, modification, removal, and efficient spatial querying.
144
178
  * Changes to this collection will be incur updates on collaborating clients (i.e. they are not local-only).
145
179
  * @legacy
146
180
  * @alpha
181
+ * @deprecated The generic version of this interface is no longer used and will be removed. Use {@link ISequenceIntervalCollection} instead.
147
182
  */
148
183
  export interface IIntervalCollection<TInterval extends ISerializableInterval> extends TypedEventEmitter<IIntervalCollectionEvent<TInterval>> {
149
184
  readonly attached: boolean;
@@ -335,13 +370,207 @@ export interface IIntervalCollection<TInterval extends ISerializableInterval> ex
335
370
  */
336
371
  nextInterval(pos: number): TInterval | undefined;
337
372
  }
373
+ /**
374
+ * Collection of intervals that supports addition, modification, removal, and efficient spatial querying.
375
+ * Changes to this collection will be incur updates on collaborating clients (i.e. they are not local-only).
376
+ * @legacy
377
+ * @alpha
378
+ */
379
+ export interface ISequenceIntervalCollection extends TypedEventEmitter<ISequenceIntervalCollectionEvents> {
380
+ readonly attached: boolean;
381
+ /**
382
+ * Attaches an index to this collection.
383
+ * All intervals which are part of this collection will be added to the index, and the index will automatically
384
+ * be updated when this collection updates due to local or remote changes.
385
+ *
386
+ * @remarks After attaching an index to an interval collection, applications should typically store this
387
+ * index somewhere in their in-memory data model for future reference and querying.
388
+ */
389
+ attachIndex(index: SequenceIntervalIndex): void;
390
+ /**
391
+ * Detaches an index from this collection.
392
+ * All intervals which are part of this collection will be removed from the index, and updates to this collection
393
+ * due to local or remote changes will no longer incur updates to the index.
394
+ *
395
+ * @returns `false` if the target index cannot be found in the indexes, otherwise remove all intervals in the index and return `true`.
396
+ */
397
+ detachIndex(index: SequenceIntervalIndex): boolean;
398
+ /**
399
+ * @returns the interval in this collection that has the provided `id`.
400
+ * If no interval in the collection has this `id`, returns `undefined`.
401
+ */
402
+ getIntervalById(id: string): SequenceInterval | undefined;
403
+ /**
404
+ * Creates a new interval and add it to the collection.
405
+ * @param start - interval start position (inclusive)
406
+ * @param end - interval end position (exclusive)
407
+ * @param props - properties of the interval
408
+ * @returns - the created interval
409
+ * @remarks See documentation on {@link SequenceInterval} for comments on
410
+ * interval endpoint semantics: there are subtleties with how the current
411
+ * half-open behavior is represented.
412
+ *
413
+ * Note that intervals may behave unexpectedly if the entire contents
414
+ * of the string are deleted. In this case, it is possible for one endpoint
415
+ * of the interval to become detached, while the other remains on the string.
416
+ *
417
+ * By adjusting the `side` and `pos` values of the `start` and `end` parameters,
418
+ * it is possible to control whether the interval expands to include content
419
+ * inserted at its start or end.
420
+ *
421
+ * See {@link @fluidframework/merge-tree#SequencePlace} for more details on the model.
422
+ *
423
+ * @example
424
+ *
425
+ * Given the string "ABCD":
426
+ *
427
+ *```typescript
428
+ * // Refers to "BC". If any content is inserted before B or after C, this
429
+ * // interval will include that content
430
+ * //
431
+ * // Picture:
432
+ * // \{start\} - A[- B - C -]D - \{end\}
433
+ * // \{start\} - A - B - C - D - \{end\}
434
+ * collection.add(\{ pos: 0, side: Side.After \}, \{ pos: 3, side: Side.Before \}, IntervalType.SlideOnRemove);
435
+ * // Equivalent to specifying the same positions and Side.Before.
436
+ * // Refers to "ABC". Content inserted after C will be included in the
437
+ * // interval, but content inserted before A will not.
438
+ * // \{start\} -[A - B - C -]D - \{end\}
439
+ * // \{start\} - A - B - C - D - \{end\}
440
+ * collection.add(0, 3, IntervalType.SlideOnRemove);
441
+ *```
442
+ *
443
+ * In the case of the first example, if text is deleted,
444
+ *
445
+ * ```typescript
446
+ * // Delete the character "B"
447
+ * string.removeRange(1, 2);
448
+ * ```
449
+ *
450
+ * The start point of the interval will slide to the position immediately
451
+ * before "C", and the same will be true.
452
+ *
453
+ * ```
454
+ * \{start\} - A[- C -]D - \{end\}
455
+ * ```
456
+ *
457
+ * In this case, text inserted immediately before "C" would be included in
458
+ * the interval.
459
+ *
460
+ * ```typescript
461
+ * string.insertText(1, "EFG");
462
+ * ```
463
+ *
464
+ * With the string now being,
465
+ *
466
+ * ```
467
+ * \{start\} - A[- E - F - G - C -]D - \{end\}
468
+ * ```
469
+ *
470
+ * @privateRemarks TODO: ADO:5205 the above comment regarding behavior in
471
+ * the case that the entire interval has been deleted should be resolved at
472
+ * the same time as this ticket
473
+ */
474
+ add({ start, end, props, }: {
475
+ start: SequencePlace;
476
+ end: SequencePlace;
477
+ props?: PropertySet;
478
+ }): SequenceInterval;
479
+ /**
480
+ * Removes an interval from the collection.
481
+ * @param id - Id of the interval to remove
482
+ * @returns the removed interval
483
+ */
484
+ removeIntervalById(id: string): SequenceInterval | undefined;
485
+ /**
486
+ * Changes the endpoints, properties, or both of an existing interval.
487
+ * @param id - Id of the Interval to change
488
+ * @returns the interval that was changed, if it existed in the collection.
489
+ * Pass the desired new start position, end position, and/or properties in an object. Start and end positions must be changed
490
+ * simultaneously - they must either both be specified or both undefined. To only change the properties, leave both endpoints
491
+ * undefined. To only change the endpoints, leave the properties undefined.
492
+ */
493
+ change(id: string, { start, end, props }: {
494
+ start?: SequencePlace;
495
+ end?: SequencePlace;
496
+ props?: PropertySet;
497
+ }): SequenceInterval | undefined;
498
+ attachDeserializer(onDeserialize: DeserializeCallback): void;
499
+ /**
500
+ * @returns an iterator over all intervals in this collection.
501
+ */
502
+ [Symbol.iterator](): Iterator<SequenceInterval>;
503
+ /**
504
+ * @returns a forward iterator over all intervals in this collection with start point equal to `startPosition`.
505
+ */
506
+ CreateForwardIteratorWithStartPosition(startPosition: number): Iterator<SequenceInterval>;
507
+ /**
508
+ * @returns a backward iterator over all intervals in this collection with start point equal to `startPosition`.
509
+ */
510
+ CreateBackwardIteratorWithStartPosition(startPosition: number): Iterator<SequenceInterval>;
511
+ /**
512
+ * @returns a forward iterator over all intervals in this collection with end point equal to `endPosition`.
513
+ */
514
+ CreateForwardIteratorWithEndPosition(endPosition: number): Iterator<SequenceInterval>;
515
+ /**
516
+ * @returns a backward iterator over all intervals in this collection with end point equal to `endPosition`.
517
+ */
518
+ CreateBackwardIteratorWithEndPosition(endPosition: number): Iterator<SequenceInterval>;
519
+ /**
520
+ * Gathers iteration results that optionally match a start/end criteria into the provided array.
521
+ * @param results - Array to gather the results into. In lieu of a return value, this array will be populated with
522
+ * intervals matching the query upon edit.
523
+ * @param iteratesForward - whether or not iteration should be in the forward direction
524
+ * @param start - If provided, only match intervals whose start point is equal to `start`.
525
+ * @param end - If provided, only match intervals whose end point is equal to `end`.
526
+ */
527
+ gatherIterationResults(results: SequenceInterval[], iteratesForward: boolean, start?: number, end?: number): void;
528
+ /**
529
+ * @deprecated - Users must manually attach the corresponding interval index to utilize this functionality, for instance:
530
+ *
531
+ * ```typescript
532
+ * const overlappingIntervalsIndex = createOverlappingIntervalsIndex(sharedString);
533
+ * collection.attachIndex(overlappingIntervalsIndex)
534
+ * const result = overlappingIntervalsIndex.findOverlappingIntervals(start, end);
535
+ * ```
536
+ *
537
+ * @returns an array of all intervals in this collection that overlap with the interval
538
+ * `[startPosition, endPosition]`.
539
+ */
540
+ findOverlappingIntervals(startPosition: number, endPosition: number): SequenceInterval[];
541
+ /**
542
+ * Applies a function to each interval in this collection.
543
+ */
544
+ map(fn: (interval: SequenceInterval) => void): void;
545
+ /**
546
+ * @deprecated - due to the forthcoming change where the endpointIndex will no longer be
547
+ * automatically added to the collection. Users are advised to independently attach the
548
+ * index to the collection and utilize the API accordingly, for instance:
549
+ * ```typescript
550
+ * const endpointIndex = createEndpointIndex(sharedString);
551
+ * collection.attachIndex(endpointIndex);
552
+ * const result1 = endpointIndex.previousInterval(pos);
553
+ * ```
554
+ * If an index is used repeatedly, applications should generally attach it once and store it in memory.
555
+ */
556
+ previousInterval(pos: number): SequenceInterval | undefined;
557
+ /**
558
+ * @deprecated - due to the forthcoming change where the endpointIndex will no longer be
559
+ * automatically added to the collection. Users are advised to independently attach the
560
+ * index to the collection and utilize the API accordingly, for instance:
561
+ * ```typescript
562
+ * const endpointIndex = createEndpointIndex(sharedString);
563
+ * collection.attachIndex(endpointIndex);
564
+ * const result2 = endpointIndex.nextInterval(pos);
565
+ * ```
566
+ */
567
+ nextInterval(pos: number): SequenceInterval | undefined;
568
+ }
338
569
  /**
339
570
  * {@inheritdoc IIntervalCollection}
340
571
  */
341
- export declare class IntervalCollection<TInterval extends ISerializableInterval> extends TypedEventEmitter<IIntervalCollectionEvent<TInterval>> implements IIntervalCollection<TInterval> {
342
- private readonly helpers;
343
- private readonly requiresClient;
344
- private readonly emitter;
572
+ export declare class IntervalCollection extends TypedEventEmitter<ISequenceIntervalCollectionEvents> implements ISequenceIntervalCollection {
573
+ private readonly submitDelta;
345
574
  private readonly options;
346
575
  private savedSerializedIntervals?;
347
576
  private localCollection;
@@ -352,15 +581,15 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
352
581
  private readonly pendingChangesStart;
353
582
  private readonly pendingChangesEnd;
354
583
  get attached(): boolean;
355
- constructor(helpers: IIntervalHelpers<TInterval>, requiresClient: boolean, emitter: IValueOpEmitter, serializedIntervals: ISerializedInterval[] | ISerializedIntervalCollectionV2, options?: Partial<SequenceOptions>);
584
+ constructor(submitDelta: (op: IIntervalCollectionTypeOperationValue, md: IMapMessageLocalMetadata) => void, serializedIntervals: ISerializedIntervalCollectionV1 | ISerializedIntervalCollectionV2, options?: Partial<SequenceOptions>);
356
585
  /**
357
586
  * {@inheritdoc IIntervalCollection.attachIndex}
358
587
  */
359
- attachIndex(index: IntervalIndex<TInterval>): void;
588
+ attachIndex(index: SequenceIntervalIndex): void;
360
589
  /**
361
590
  * {@inheritdoc IIntervalCollection.detachIndex}
362
591
  */
363
- detachIndex(index: IntervalIndex<TInterval>): boolean;
592
+ detachIndex(index: SequenceIntervalIndex): boolean;
364
593
  private rebasePositionWithSegmentSlide;
365
594
  private computeRebasedPositions;
366
595
  attachGraph(client: Client, label: string): void;
@@ -372,7 +601,7 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
372
601
  /**
373
602
  * {@inheritdoc IIntervalCollection.getIntervalById}
374
603
  */
375
- getIntervalById(id: string): ISerializableIntervalPrivate<TInterval> | undefined;
604
+ getIntervalById(id: string): ISerializableIntervalPrivate | undefined;
376
605
  private assertStickinessEnabled;
377
606
  /**
378
607
  * {@inheritdoc IIntervalCollection.add}
@@ -381,12 +610,12 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
381
610
  start: SequencePlace;
382
611
  end: SequencePlace;
383
612
  props?: PropertySet;
384
- }): TInterval;
613
+ }): SequenceIntervalClass;
385
614
  private deleteExistingInterval;
386
615
  /**
387
616
  * {@inheritdoc IIntervalCollection.removeIntervalById}
388
617
  */
389
- removeIntervalById(id: string): TInterval | undefined;
618
+ removeIntervalById(id: string): SequenceIntervalClass | undefined;
390
619
  /**
391
620
  * {@inheritdoc IIntervalCollection.change}
392
621
  */
@@ -394,7 +623,7 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
394
623
  start?: SequencePlace;
395
624
  end?: SequencePlace;
396
625
  props?: PropertySet;
397
- }): TInterval | undefined;
626
+ }): SequenceIntervalClass | undefined;
398
627
  private get isCollaborating();
399
628
  private addPendingChange;
400
629
  private addPendingChangeHelper;
@@ -416,49 +645,49 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
416
645
  rebaseLocalInterval(opName: string, serializedInterval: SerializedIntervalDelta, localSeq: number): SerializedIntervalDelta | undefined;
417
646
  private getSlideToSegment;
418
647
  private ackInterval;
419
- ackAdd(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage, localOpMetadata: IMapMessageLocalMetadata | undefined): TInterval | undefined;
648
+ ackAdd(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage, localOpMetadata: IMapMessageLocalMetadata | undefined): SequenceIntervalClass | undefined;
420
649
  ackDelete(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): void;
421
- serializeInternal(): ISerializedIntervalCollectionV2;
650
+ serializeInternal(version: "1" | "2"): ISerializedIntervalCollectionV1 | ISerializedIntervalCollectionV2;
422
651
  /**
423
652
  * @returns an iterator over all intervals in this collection.
424
653
  */
425
- [Symbol.iterator](): IntervalCollectionIterator<TInterval>;
654
+ [Symbol.iterator](): IntervalCollectionIterator;
426
655
  /**
427
656
  * {@inheritdoc IIntervalCollection.CreateForwardIteratorWithStartPosition}
428
657
  */
429
- CreateForwardIteratorWithStartPosition(startPosition: number): IntervalCollectionIterator<TInterval>;
658
+ CreateForwardIteratorWithStartPosition(startPosition: number): IntervalCollectionIterator;
430
659
  /**
431
660
  * {@inheritdoc IIntervalCollection.CreateBackwardIteratorWithStartPosition}
432
661
  */
433
- CreateBackwardIteratorWithStartPosition(startPosition: number): IntervalCollectionIterator<TInterval>;
662
+ CreateBackwardIteratorWithStartPosition(startPosition: number): IntervalCollectionIterator;
434
663
  /**
435
664
  * {@inheritdoc IIntervalCollection.CreateForwardIteratorWithEndPosition}
436
665
  */
437
- CreateForwardIteratorWithEndPosition(endPosition: number): IntervalCollectionIterator<TInterval>;
666
+ CreateForwardIteratorWithEndPosition(endPosition: number): IntervalCollectionIterator;
438
667
  /**
439
668
  * {@inheritdoc IIntervalCollection.CreateBackwardIteratorWithEndPosition}
440
669
  */
441
- CreateBackwardIteratorWithEndPosition(endPosition: number): IntervalCollectionIterator<TInterval>;
670
+ CreateBackwardIteratorWithEndPosition(endPosition: number): IntervalCollectionIterator;
442
671
  /**
443
672
  * {@inheritdoc IIntervalCollection.gatherIterationResults}
444
673
  */
445
- gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: number, end?: number): void;
674
+ gatherIterationResults(results: SequenceIntervalClass[], iteratesForward: boolean, start?: number, end?: number): void;
446
675
  /**
447
676
  * {@inheritdoc IIntervalCollection.findOverlappingIntervals}
448
677
  */
449
- findOverlappingIntervals(startPosition: number, endPosition: number): TInterval[];
678
+ findOverlappingIntervals(startPosition: number, endPosition: number): SequenceInterval[];
450
679
  /**
451
680
  * {@inheritdoc IIntervalCollection.map}
452
681
  */
453
- map(fn: (interval: TInterval) => void): void;
682
+ map(fn: (interval: SequenceIntervalClass) => void): void;
454
683
  /**
455
684
  * {@inheritdoc IIntervalCollection.previousInterval}
456
685
  */
457
- previousInterval(pos: number): TInterval | undefined;
686
+ previousInterval(pos: number): SequenceInterval | undefined;
458
687
  /**
459
688
  * {@inheritdoc IIntervalCollection.nextInterval}
460
689
  */
461
- nextInterval(pos: number): TInterval | undefined;
690
+ nextInterval(pos: number): SequenceInterval | undefined;
462
691
  }
463
692
  /**
464
693
  * Information that identifies an interval within a `Sequence`.
@@ -472,7 +701,7 @@ export interface IntervalLocator {
472
701
  /**
473
702
  * Interval within that collection
474
703
  */
475
- interval: SequenceInterval;
704
+ interval: SequenceIntervalClass;
476
705
  }
477
706
  /**
478
707
  * Returns an object that can be used to find the interval a given LocalReferencePosition belongs to.
@@ -1 +1 @@
1
- {"version":3,"file":"intervalCollection.d.ts","sourceRoot":"","sources":["../src/intervalCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intervalCollection.d.ts","sourceRoot":"","sources":["../src/intervalCollection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAEzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EACN,MAAM,EAGN,sBAAsB,EACtB,WAAW,EASX,IAAI,EACJ,aAAa,EAKb,MAAM,qCAAqC,CAAC;AAI7C,OAAO,EACN,4BAA4B,EAC5B,wBAAwB,EACxB,eAAe,EACf,KAAK,qCAAqC,EAC1C,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAIN,KAAK,cAAc,EACnB,KAAK,gBAAgB,EAErB,KAAK,aAAa,EAClB,KAAK,kCAAkC,EACvC,KAAK,qBAAqB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,4BAA4B,EAC5B,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EAKvB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,MAAM,MAAM,+BAA+B,GAAG,mBAAmB,EAAE,CAAC;AAEpE,MAAM,WAAW,+BAA+B;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,4BAA4B,EAAE,CAAC;CAC1C;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,kBAAkB;;;EAKjE;AAiDD,wBAAgB,eAAe,CAC9B,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,EAC7B,IAAI,EAAE,IAAI,GAAG,SAAS,GACpB,aAAa,CAEf;AAED,wBAAgB,uBAAuB,CACtC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,EACzC,IAAI,EAAE,IAAI,GAAG,SAAS,GACpB,aAAa,GAAG,SAAS,CAE3B;AAED,wBAAgB,yBAAyB,CACxC,QAAQ,GAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,SAAc,EACnD,SAAS,GAAE,IAAkB,EAC7B,MAAM,GAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,SAAc,EACjD,OAAO,GAAE,IAAkB,GACzB,kBAAkB,CAYpB;AAED,qBAAa,uBAAuB;IAQlC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAXnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAY;IAClD,SAAgB,yBAAyB,EAAE,kCAAkC,CAAC;IAC9E,SAAgB,eAAe,EAAE,gBAAgB,CAAC;IAClD,SAAgB,gBAAgB,EAAE,cAAc,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;gBAGnC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC;IAClD,6EAA6E;IAC5D,gBAAgB,CAAC,cACvB,qBAAqB,oBACb,qBAAqB,KACnC,IAAI,aAAA;IAYH,cAAc,CACpB,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,EAC/B,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAC3B,MAAM;IAMT;;;;;;OAMG;IACI,kBAAkB,CAAC,kBAAkB,EAAE,mBAAmB,GAAG,MAAM;IAsB1E,OAAO,CAAC,yBAAyB;IAM1B,WAAW,CAAC,KAAK,EAAE,qBAAqB;IAIxC,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO;IAIlD,sBAAsB,CAAC,QAAQ,EAAE,qBAAqB;IAKtD,cAAc,CACpB,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,aAAa,EAClB,YAAY,EAAE,YAAY,EAC1B,EAAE,CAAC,EAAE,yBAAyB,GAC5B,qBAAqB;IAajB,WAAW,CACjB,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,aAAa,EAClB,YAAY,EAAE,YAAY,EAC1B,KAAK,CAAC,EAAE,WAAW,EACnB,EAAE,CAAC,EAAE,yBAAyB;IA4B/B,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,oBAAoB;IAMrB,GAAG,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;IAM1C,cAAc,CACpB,QAAQ,EAAE,qBAAqB,EAC/B,KAAK,EAAE,aAAa,GAAG,SAAS,EAChC,GAAG,EAAE,aAAa,GAAG,SAAS,EAC9B,EAAE,CAAC,EAAE,yBAAyB,EAC9B,QAAQ,CAAC,EAAE,MAAM;IAiBX,SAAS,CACf,OAAO,EAAE,GAAG,GAAG,GAAG,GAChB,+BAA+B,GAAG,+BAA+B;IAapE,OAAO,CAAC,oBAAoB;IA+C5B,OAAO,CAAC,uBAAuB;CAG/B;AAYD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,mBAAmB,EAAE,4BAA4B,CAqC5E,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,CAAC;AAEpE,cAAM,0BAA2B,YAAW,QAAQ,CAAC,qBAAqB,CAAC;IAC1E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,KAAK,CAAS;gBAGrB,UAAU,EAAE,kBAAkB,EAC9B,eAAe,GAAE,OAAc,EAC/B,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM;IAQN,IAAI,IAAI,cAAc,CAAC,qBAAqB,CAAC;CAapD;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB,CAAC,SAAS,SAAS,qBAAqB,CAChF,SAAQ,MAAM;IACd;;;;;;;;;;;;OAYG;IACH,CACC,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,CACT,QAAQ,EAAE,SAAS,EACnB,gBAAgB,EAAE,SAAS,EAC3B,KAAK,EAAE,OAAO,EACd,EAAE,EAAE,yBAAyB,GAAG,SAAS,EACzC,KAAK,EAAE,OAAO,KACV,IAAI,GACP,IAAI,CAAC;IACR;;;;OAIG;IACH,CACC,KAAK,EAAE,aAAa,GAAG,gBAAgB,EACvC,QAAQ,EAAE,CACT,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,OAAO,EACd,EAAE,EAAE,yBAAyB,GAAG,SAAS,KACrC,IAAI,GACP,IAAI,CAAC;IACR;;;;;;;;OAQG;IACH,CACC,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,CACT,QAAQ,EAAE,SAAS,EACnB,cAAc,EAAE,WAAW,EAC3B,KAAK,EAAE,OAAO,EACd,EAAE,EAAE,yBAAyB,GAAG,SAAS,KACrC,IAAI,GACP,IAAI,CAAC;IACR;;;;;;;;;;;OAWG;IACH,CACC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CACT,QAAQ,EAAE,SAAS,EACnB,cAAc,EAAE,WAAW,EAC3B,gBAAgB,EAAE,SAAS,GAAG,SAAS,EACvC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,KACV,IAAI,GACP,IAAI,CAAC;CACR;AAED;;;;GAIG;AACH,MAAM,WAAW,iCAAkC,SAAQ,MAAM;IAChE;;;;;;;;;;;;OAYG;IACH,CACC,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,CACT,QAAQ,EAAE,gBAAgB,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,OAAO,EACd,EAAE,EAAE,yBAAyB,GAAG,SAAS,EACzC,KAAK,EAAE,OAAO,KACV,IAAI,GACP,IAAI,CAAC;IACR;;;;OAIG;IACH,CACC,KAAK,EAAE,aAAa,GAAG,gBAAgB,EACvC,QAAQ,EAAE,CACT,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,OAAO,EACd,EAAE,EAAE,yBAAyB,GAAG,SAAS,KACrC,IAAI,GACP,IAAI,CAAC;IACR;;;;;;;;OAQG;IACH,CACC,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,CACT,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,WAAW,EAC3B,KAAK,EAAE,OAAO,EACd,EAAE,EAAE,yBAAyB,GAAG,SAAS,KACrC,IAAI,GACP,IAAI,CAAC;IACR;;;;;;;;;;;OAWG;IACH,CACC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,CACT,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,WAAW,EAC3B,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,EAC9C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,KACV,IAAI,GACP,IAAI,CAAC;CACR;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB,CAAC,SAAS,SAAS,qBAAqB,CAC3E,SAAQ,iBAAiB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAC9D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;;;;;OAOG;IAEH,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACnD;;;;;;OAMG;IAEH,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IACtD;;;OAGG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsEG;IACH,GAAG,CAAC,EACH,KAAK,EACL,GAAG,EACH,KAAK,GACL,EAAE;QACF,KAAK,EAAE,aAAa,CAAC;QACrB,GAAG,EAAE,aAAa,CAAC;QACnB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,GAAG,SAAS,CAAC;IACd;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACtD;;;;;;;OAOG;IACH,MAAM,CACL,EAAE,EAAE,MAAM,EACV,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,aAAa,CAAC;QAAC,GAAG,CAAC,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE,WAAW,CAAA;KAAE,GACxF,SAAS,GAAG,SAAS,CAAC;IAEzB,kBAAkB,CAAC,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC7D;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEzC;;OAEG;IACH,sCAAsC,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEnF;;OAEG;IACH,uCAAuC,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEpF;;OAEG;IACH,oCAAoC,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE/E;;OAEG;IACH,qCAAqC,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEhF;;;;;;;OAOG;IACH,sBAAsB,CACrB,OAAO,EAAE,SAAS,EAAE,EACpB,eAAe,EAAE,OAAO,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACV,IAAI,CAAC;IAER;;;;;;;;;;;OAWG;IACH,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;IAElF;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,CAAC;IAE7C;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAErD;;;;;;;;;OASG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACjD;AAED;;;;;GAKG;AACH,MAAM,WAAW,2BAChB,SAAQ,iBAAiB,CAAC,iCAAiC,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC;IACnD;;;OAGG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IAC1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsEG;IACH,GAAG,CAAC,EACH,KAAK,EACL,GAAG,EACH,KAAK,GACL,EAAE;QACF,KAAK,EAAE,aAAa,CAAC;QACrB,GAAG,EAAE,aAAa,CAAC;QACnB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,GAAG,gBAAgB,CAAC;IACrB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IAC7D;;;;;;;OAOG;IACH,MAAM,CACL,EAAE,EAAE,MAAM,EACV,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,aAAa,CAAC;QAAC,GAAG,CAAC,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE,WAAW,CAAA;KAAE,GACxF,gBAAgB,GAAG,SAAS,CAAC;IAEhC,kBAAkB,CAAC,aAAa,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC7D;;OAEG;IACH,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAEhD;;OAEG;IACH,sCAAsC,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAE1F;;OAEG;IACH,uCAAuC,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAE3F;;OAEG;IACH,oCAAoC,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAEtF;;OAEG;IACH,qCAAqC,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAEvF;;;;;;;OAOG;IACH,sBAAsB,CACrB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,eAAe,EAAE,OAAO,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACV,IAAI,CAAC;IAER;;;;;;;;;;;OAWG;IACH,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAEzF;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI,CAAC;IAEpD;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IAE5D;;;;;;;;;OASG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;CACxD;AAED;;GAEG;AACH,qBAAa,kBACZ,SAAQ,iBAAiB,CAAC,iCAAiC,CAC3D,YAAW,2BAA2B;IA4BrC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAK5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IA/BzB,OAAO,CAAC,wBAAwB,CAAC,CAAkC;IACnE,OAAO,CAAC,eAAe,CAAsC;IAC7D,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAGzC;IACJ,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAGtC;IACJ,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAGhC;IACJ,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAG9B;IAEJ,IAAW,QAAQ,IAAI,OAAO,CAE7B;gBAGiB,WAAW,EAAE,CAC7B,EAAE,EAAE,qCAAqC,EACzC,EAAE,EAAE,wBAAwB,KACxB,IAAI,EACT,mBAAmB,EAAE,+BAA+B,GAAG,+BAA+B,EACrE,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM;IAWxD;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI;IAWtD;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO;IAiBzD,OAAO,CAAC,8BAA8B;IA6CtC,OAAO,CAAC,uBAAuB;IAuBxB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IA+DhD;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,UAAU;IAqBlB;;OAEG;IACI,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,4BAA4B,GAAG,SAAS;IAO5E,OAAO,CAAC,uBAAuB;IAW/B;;OAEG;IACI,GAAG,CAAC,EACV,KAAK,EACL,GAAG,EACH,KAAK,GACL,EAAE;QACF,KAAK,EAAE,aAAa,CAAC;QACrB,GAAG,EAAE,aAAa,CAAC;QACnB,KAAK,CAAC,EAAE,WAAW,CAAC;KACpB,GAAG,qBAAqB;IA8DzB,OAAO,CAAC,sBAAsB;IAiC9B;;OAEG;IACI,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAUxE;;OAEG;IACI,MAAM,CACZ,EAAE,EAAE,MAAM,EACV,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,aAAa,CAAC;QAAC,GAAG,CAAC,EAAE,aAAa,CAAC;QAAC,KAAK,CAAC,EAAE,WAAW,CAAA;KAAE,GACxF,qBAAqB,GAAG,SAAS;IAgGpC,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,yBAAyB;IAoBjC,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,mBAAmB;IAKpB,SAAS,CACf,kBAAkB,EAAE,mBAAmB,EACvC,KAAK,EAAE,OAAO,EACd,EAAE,EAAE,yBAAyB,EAC7B,eAAe,EAAE,wBAAwB,GAAG,SAAS;IAoFtD;;OAEG;IACI,kBAAkB,CAAC,aAAa,EAAE,mBAAmB,GAAG,IAAI;IAenE;;;;;OAKG;IACI,mBAAmB,CACzB,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,uBAAuB,EAC3C,QAAQ,EAAE,MAAM,GACd,uBAAuB,GAAG,SAAS;IA+DtC,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,WAAW;IA+FZ,MAAM,CACZ,kBAAkB,EAAE,mBAAmB,EACvC,KAAK,EAAE,OAAO,EACd,EAAE,EAAE,yBAAyB,EAC7B,eAAe,EAAE,wBAAwB,GAAG,SAAS;IAyC/C,SAAS,CACf,kBAAkB,EAAE,mBAAmB,EACvC,KAAK,EAAE,OAAO,EACd,EAAE,EAAE,yBAAyB,GAC3B,IAAI;IAmBA,iBAAiB,CACvB,OAAO,EAAE,GAAG,GAAG,GAAG,GAChB,+BAA+B,GAAG,+BAA+B;IAQpE;;OAEG;IACI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,0BAA0B;IAKtD;;OAEG;IACI,sCAAsC,CAC5C,aAAa,EAAE,MAAM,GACnB,0BAA0B;IAK7B;;OAEG;IACI,uCAAuC,CAC7C,aAAa,EAAE,MAAM,GACnB,0BAA0B;IAK7B;;OAEG;IACI,oCAAoC,CAC1C,WAAW,EAAE,MAAM,GACjB,0BAA0B;IAK7B;;OAEG;IACI,qCAAqC,CAC3C,WAAW,EAAE,MAAM,GACjB,0BAA0B;IAK7B;;OAEG;IACI,sBAAsB,CAC5B,OAAO,EAAE,qBAAqB,EAAE,EAChC,eAAe,EAAE,OAAO,EACxB,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM;IAcb;;OAEG;IACI,wBAAwB,CAC9B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GACjB,gBAAgB,EAAE;IAWrB;;OAEG;IACI,GAAG,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,IAAI;IAUxD;;OAEG;IACI,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAQlE;;OAEG;IACI,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;CAO9D;AASD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,qBAAqB,CAAC;CAChC;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAC1C,iBAAiB,EAAE,sBAAsB,GACvC,eAAe,GAAG,SAAS,CAM7B"}